{"version":3,"file":"static/js/main.74396249.js","mappings":"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","sources":["../node_modules/@aws-crypto/sha256-js/src/RawSha256.ts","../node_modules/@aws-crypto/sha256-js/src/constants.ts","../node_modules/@aws-crypto/sha256-js/src/index.ts","../node_modules/@aws-crypto/sha256-js/src/jsSha256.ts","../node_modules/@aws-crypto/sha256-js/node_modules/@aws-crypto/util/src/convertToBuffer.ts","../node_modules/@aws-crypto/sha256-js/node_modules/@aws-crypto/util/src/index.ts","../node_modules/@aws-crypto/sha256-js/node_modules/@aws-crypto/util/src/isEmptyData.ts","../node_modules/@aws-crypto/sha256-js/node_modules/@aws-crypto/util/src/numToUint8.ts","../node_modules/@aws-crypto/sha256-js/node_modules/@aws-crypto/util/src/uint32ArrayFrom.ts","../node_modules/@aws-crypto/sha256-js/node_modules/@aws-sdk/util-utf8-browser/dist-es/index.js","../node_modules/@aws-crypto/sha256-js/node_modules/@aws-sdk/util-utf8-browser/dist-es/whatwgEncodingApi.js","../node_modules/@aws-crypto/sha256-js/node_modules/@aws-sdk/util-utf8-browser/dist-es/pureJs.js","../node_modules/@emotion/is-prop-valid/dist/is-prop-valid.browser.esm.js","../node_modules/@emotion/memoize/dist/memoize.browser.esm.js","../node_modules/@hypnosphi/create-react-context/lib/implementation.js","../node_modules/@hypnosphi/create-react-context/lib/index.js","../node_modules/@mariusmarais/tailwind-cascade/index.js","../node_modules/@mariusmarais/tailwind-cascade/rules.js","../node_modules/base64-js/index.js","../node_modules/buffer/index.js","../node_modules/bytes/index.js","../node_modules/call-bind/callBound.js","../node_modules/call-bind/index.js","../node_modules/can-use-dom/index.js","../node_modules/cleave.js/dist/addons/cleave-phone.us.js","../node_modules/cleave.js/dist/cleave-react-node.js","../node_modules/cleave.js/react.js","../node_modules/clsx/dist/clsx.m.js","../node_modules/cookie/index.js","../node_modules/date-fns/esm/locale/en-US/_lib/formatDistance/index.js","../node_modules/date-fns/esm/locale/_lib/buildFormatLongFn/index.js","../node_modules/date-fns/esm/locale/en-US/_lib/formatLong/index.js","../node_modules/date-fns/esm/locale/en-US/_lib/formatRelative/index.js","../node_modules/date-fns/esm/locale/_lib/buildLocalizeFn/index.js","../node_modules/date-fns/esm/locale/_lib/buildMatchFn/index.js","../node_modules/date-fns/esm/locale/en-US/_lib/match/index.js","../node_modules/date-fns/esm/locale/_lib/buildMatchPatternFn/index.js","../node_modules/date-fns/esm/locale/en-US/index.js","../node_modules/date-fns/esm/_lib/defaultLocale/index.js","../node_modules/date-fns/esm/locale/en-US/_lib/localize/index.js","../node_modules/date-fns/esm/_lib/defaultOptions/index.js","../node_modules/date-fns/esm/_lib/format/longFormatters/index.js","../node_modules/date-fns/esm/_lib/getTimezoneOffsetInMilliseconds/index.js","../node_modules/date-fns/esm/_lib/getUTCISOWeek/index.js","../node_modules/date-fns/esm/_lib/startOfUTCISOWeekYear/index.js","../node_modules/date-fns/esm/_lib/getUTCISOWeekYear/index.js","../node_modules/date-fns/esm/_lib/getUTCWeek/index.js","../node_modules/date-fns/esm/_lib/startOfUTCWeekYear/index.js","../node_modules/date-fns/esm/_lib/getUTCWeekYear/index.js","../node_modules/date-fns/esm/_lib/protectedTokens/index.js","../node_modules/date-fns/esm/_lib/requiredArgs/index.js","../node_modules/date-fns/esm/_lib/startOfUTCISOWeek/index.js","../node_modules/date-fns/esm/_lib/startOfUTCWeek/index.js","../node_modules/date-fns/esm/_lib/toInteger/index.js","../node_modules/date-fns/esm/addDays/index.js","../node_modules/date-fns/esm/addHours/index.js","../node_modules/date-fns/esm/addMilliseconds/index.js","../node_modules/date-fns/esm/addMinutes/index.js","../node_modules/date-fns/esm/addMonths/index.js","../node_modules/date-fns/esm/addWeeks/index.js","../node_modules/date-fns/esm/addYears/index.js","../node_modules/date-fns/esm/constants/index.js","../node_modules/date-fns/esm/differenceInCalendarDays/index.js","../node_modules/date-fns/esm/differenceInCalendarMonths/index.js","../node_modules/date-fns/esm/differenceInCalendarWeeks/index.js","../node_modules/date-fns/esm/differenceInCalendarYears/index.js","../node_modules/date-fns/esm/endOfDay/index.js","../node_modules/date-fns/esm/endOfMonth/index.js","../node_modules/date-fns/esm/endOfWeek/index.js","../node_modules/date-fns/esm/_lib/addLeadingZeros/index.js","../node_modules/date-fns/esm/_lib/format/lightFormatters/index.js","../node_modules/date-fns/esm/_lib/format/formatters/index.js","../node_modules/date-fns/esm/_lib/getUTCDayOfYear/index.js","../node_modules/date-fns/esm/format/index.js","../node_modules/date-fns/esm/getDate/index.js","../node_modules/date-fns/esm/getDay/index.js","../node_modules/date-fns/esm/getHours/index.js","../node_modules/date-fns/esm/startOfISOWeek/index.js","../node_modules/date-fns/esm/startOfISOWeekYear/index.js","../node_modules/date-fns/esm/getISOWeekYear/index.js","../node_modules/date-fns/esm/getISOWeek/index.js","../node_modules/date-fns/esm/getMinutes/index.js","../node_modules/date-fns/esm/getMonth/index.js","../node_modules/date-fns/esm/getQuarter/index.js","../node_modules/date-fns/esm/getSeconds/index.js","../node_modules/date-fns/esm/getTime/index.js","../node_modules/date-fns/esm/getYear/index.js","../node_modules/date-fns/esm/isAfter/index.js","../node_modules/date-fns/esm/isBefore/index.js","../node_modules/date-fns/esm/isDate/index.js","../node_modules/date-fns/esm/isEqual/index.js","../node_modules/date-fns/esm/isSameDay/index.js","../node_modules/date-fns/esm/isSameMonth/index.js","../node_modules/date-fns/esm/isSameQuarter/index.js","../node_modules/date-fns/esm/isSameYear/index.js","../node_modules/date-fns/esm/isValid/index.js","../node_modules/date-fns/esm/isWithinInterval/index.js","../node_modules/date-fns/esm/max/index.js","../node_modules/date-fns/esm/min/index.js","../node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","../node_modules/date-fns/esm/_lib/assign/index.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../node_modules/@babel/runtime/helpers/esm/createSuper.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/date-fns/esm/parse/_lib/Setter.js","../node_modules/date-fns/esm/parse/_lib/Parser.js","../node_modules/date-fns/esm/parse/_lib/parsers/EraParser.js","../node_modules/date-fns/esm/parse/_lib/constants.js","../node_modules/date-fns/esm/parse/_lib/utils.js","../node_modules/date-fns/esm/parse/_lib/parsers/YearParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/LocalWeekYearParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/ISOWeekYearParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/ExtendedYearParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/QuarterParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/StandAloneQuarterParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/MonthParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/StandAloneMonthParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/LocalWeekParser.js","../node_modules/date-fns/esm/_lib/setUTCWeek/index.js","../node_modules/date-fns/esm/parse/_lib/parsers/ISOWeekParser.js","../node_modules/date-fns/esm/_lib/setUTCISOWeek/index.js","../node_modules/date-fns/esm/parse/_lib/parsers/DateParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/DayOfYearParser.js","../node_modules/date-fns/esm/_lib/setUTCDay/index.js","../node_modules/date-fns/esm/parse/_lib/parsers/DayParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/LocalDayParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/StandAloneLocalDayParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/ISODayParser.js","../node_modules/date-fns/esm/_lib/setUTCISODay/index.js","../node_modules/date-fns/esm/parse/_lib/parsers/AMPMParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/AMPMMidnightParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/DayPeriodParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/Hour1to12Parser.js","../node_modules/date-fns/esm/parse/_lib/parsers/Hour0to23Parser.js","../node_modules/date-fns/esm/parse/_lib/parsers/Hour0To11Parser.js","../node_modules/date-fns/esm/parse/_lib/parsers/Hour1To24Parser.js","../node_modules/date-fns/esm/parse/_lib/parsers/MinuteParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/SecondParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/FractionOfSecondParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/ISOTimezoneWithZParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/ISOTimezoneParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/TimestampSecondsParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/TimestampMillisecondsParser.js","../node_modules/date-fns/esm/parse/_lib/parsers/index.js","../node_modules/date-fns/esm/parse/index.js","../node_modules/date-fns/esm/parseISO/index.js","../node_modules/date-fns/esm/setHours/index.js","../node_modules/date-fns/esm/setMinutes/index.js","../node_modules/date-fns/esm/setMonth/index.js","../node_modules/date-fns/esm/getDaysInMonth/index.js","../node_modules/date-fns/esm/setQuarter/index.js","../node_modules/date-fns/esm/setSeconds/index.js","../node_modules/date-fns/esm/setYear/index.js","../node_modules/date-fns/esm/startOfDay/index.js","../node_modules/date-fns/esm/startOfMonth/index.js","../node_modules/date-fns/esm/startOfQuarter/index.js","../node_modules/date-fns/esm/startOfWeek/index.js","../node_modules/date-fns/esm/startOfYear/index.js","../node_modules/date-fns/esm/subDays/index.js","../node_modules/date-fns/esm/subHours/index.js","../node_modules/date-fns/esm/subMilliseconds/index.js","../node_modules/date-fns/esm/subMinutes/index.js","../node_modules/date-fns/esm/subMonths/index.js","../node_modules/date-fns/esm/subWeeks/index.js","../node_modules/date-fns/esm/subYears/index.js","../node_modules/date-fns/esm/toDate/index.js","../node_modules/define-data-property/index.js","../node_modules/define-properties/index.js","../node_modules/es-define-property/index.js","../node_modules/es-errors/eval.js","../node_modules/es-errors/index.js","../node_modules/es-errors/range.js","../node_modules/es-errors/ref.js","../node_modules/es-errors/syntax.js","../node_modules/es-errors/type.js","../node_modules/es-errors/uri.js","../node_modules/escape-regex-string/index.js","../node_modules/events/events.js","../node_modules/fast-equals/src/utils.ts","../node_modules/fast-equals/src/comparator.ts","../node_modules/fast-equals/src/arrays.ts","../node_modules/fast-equals/src/dates.ts","../node_modules/fast-equals/src/maps.ts","../node_modules/fast-equals/src/objects.ts","../node_modules/fast-equals/src/regexps.ts","../node_modules/fast-equals/src/sets.ts","../node_modules/fast-equals/src/index.ts","../node_modules/function-bind/implementation.js","../node_modules/function-bind/index.js","../node_modules/functions-have-names/index.js","../node_modules/get-intrinsic/index.js","../node_modules/gopd/index.js","../node_modules/gud/index.js","../node_modules/has-property-descriptors/index.js","../node_modules/has-proto/index.js","../node_modules/has-symbols/index.js","../node_modules/has-symbols/shams.js","../node_modules/has-tostringtag/shams.js","../node_modules/hasown/index.js","../../../../../../webpack/universalModuleDefinition","../../../../../../webpack/bootstrap 06abc0fd1cd6e6cc78b4","../../../../../../highcharts-react.min.js","../../../../../../src/HighchartsReact.js","../../../../../../external {\"root\":\"React\",\"commonjs\":\"react\",\"commonjs2\":\"react\",\"amd\":\"react\"}","../node_modules/highcharts/highcharts.src.js","../node_modules/highcharts/modules/boost.src.js","../node_modules/highcharts/modules/exporting.src.js","../node_modules/highcharts/modules/no-data-to-display.src.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/ieee754/index.js","../node_modules/is-arguments/index.js","../node_modules/is-date-object/index.js","../node_modules/is-number/index.js","../node_modules/is-regex/index.js","../node_modules/isarray/index.js","../node_modules/isomorphic-unfetch/browser.js","../node_modules/js-cookie/src/js.cookie.js","../node_modules/lodash.debounce/index.js","../node_modules/lodash.memoize/index.js","../node_modules/lodash.throttle/index.js","../node_modules/luxon/src/errors.js","../node_modules/luxon/src/impl/formats.js","../node_modules/luxon/src/impl/util.js","../node_modules/luxon/src/impl/english.js","../node_modules/luxon/src/impl/formatter.js","../node_modules/luxon/src/impl/invalid.js","../node_modules/luxon/src/zone.js","../node_modules/luxon/src/zones/localZone.js","../node_modules/luxon/src/zones/IANAZone.js","../node_modules/luxon/src/zones/fixedOffsetZone.js","../node_modules/luxon/src/zones/invalidZone.js","../node_modules/luxon/src/impl/zoneUtil.js","../node_modules/luxon/src/settings.js","../node_modules/luxon/src/impl/locale.js","../node_modules/luxon/src/impl/regexParser.js","../node_modules/luxon/src/duration.js","../node_modules/luxon/src/interval.js","../node_modules/luxon/src/info.js","../node_modules/luxon/src/impl/diff.js","../node_modules/luxon/src/impl/digits.js","../node_modules/luxon/src/impl/tokenParser.js","../node_modules/luxon/src/impl/conversions.js","../node_modules/luxon/src/datetime.js","../node_modules/moment-timezone/index.js","../node_modules/moment-timezone/moment-timezone.js","../node_modules/moment/moment.js","../node_modules/object-assign/index.js","../node_modules/object-is/implementation.js","../node_modules/object-is/index.js","../node_modules/object-is/polyfill.js","../node_modules/object-is/shim.js","../node_modules/object-keys/implementation.js","../node_modules/object-keys/index.js","../node_modules/object-keys/isArguments.js","../node_modules/path-to-regexp/index.js","../node_modules/path-to-regexp/node_modules/isarray/index.js","../node_modules/pica/dist/pica.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/qr.js/lib/8BitByte.js","../node_modules/qr.js/lib/BitBuffer.js","../node_modules/qr.js/lib/ErrorCorrectLevel.js","../node_modules/qr.js/lib/Polynomial.js","../node_modules/qr.js/lib/QRCode.js","../node_modules/qr.js/lib/RSBlock.js","../node_modules/qr.js/lib/math.js","../node_modules/qr.js/lib/mode.js","../node_modules/qr.js/lib/util.js","../node_modules/qrcode.react/lib/index.js","../node_modules/querystring/decode.js","../node_modules/querystring/encode.js","../node_modules/querystring/index.js","../node_modules/react-avatar-editor/dist/index.js","../node_modules/react-datepicker/dist/react-datepicker.min.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/index.js","../node_modules/react-draggable/build/cjs/Draggable.js","../node_modules/react-draggable/build/cjs/DraggableCore.js","../node_modules/react-draggable/build/cjs/cjs.js","../node_modules/react-draggable/build/cjs/utils/domFns.js","../node_modules/react-draggable/build/cjs/utils/getPrefix.js","../node_modules/react-draggable/build/cjs/utils/log.js","../node_modules/react-draggable/build/cjs/utils/positionFns.js","../node_modules/react-draggable/build/cjs/utils/shims.js","../node_modules/react-grid-layout/build/GridItem.js","../node_modules/react-grid-layout/build/ReactGridLayout.js","../node_modules/react-grid-layout/build/ReactGridLayoutPropTypes.js","../node_modules/react-grid-layout/build/ResponsiveReactGridLayout.js","../node_modules/react-grid-layout/build/calculateUtils.js","../node_modules/react-grid-layout/build/components/WidthProvider.js","../node_modules/react-grid-layout/build/fastRGLPropsEqual.js","../node_modules/react-grid-layout/build/responsiveUtils.js","../node_modules/react-grid-layout/build/utils.js","../node_modules/react-grid-layout/index.js","../node_modules/react-grid-layout/node_modules/clsx/dist/clsx.js","../node_modules/react-input-autosize/lib/AutosizeInput.js","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-is/index.js","../node_modules/react-onclickoutside/dist/react-onclickoutside.es.js","../node_modules/popper.js/src/utils/isBrowser.js","../node_modules/popper.js/src/utils/debounce.js","../node_modules/popper.js/src/utils/isFunction.js","../node_modules/popper.js/src/utils/getStyleComputedProperty.js","../node_modules/popper.js/src/utils/getParentNode.js","../node_modules/popper.js/src/utils/getScrollParent.js","../node_modules/popper.js/src/utils/getReferenceNode.js","../node_modules/popper.js/src/utils/isIE.js","../node_modules/popper.js/src/utils/getOffsetParent.js","../node_modules/popper.js/src/utils/getRoot.js","../node_modules/popper.js/src/utils/findCommonOffsetParent.js","../node_modules/popper.js/src/utils/isOffsetContainer.js","../node_modules/popper.js/src/utils/getScroll.js","../node_modules/popper.js/src/utils/getBordersSize.js","../node_modules/popper.js/src/utils/getWindowSizes.js","../node_modules/popper.js/src/utils/getClientRect.js","../node_modules/popper.js/src/utils/getBoundingClientRect.js","../node_modules/popper.js/src/utils/getOffsetRectRelativeToArbitraryNode.js","../node_modules/popper.js/src/utils/includeScroll.js","../node_modules/popper.js/src/utils/isFixed.js","../node_modules/popper.js/src/utils/getFixedPositionOffsetParent.js","../node_modules/popper.js/src/utils/getBoundaries.js","../node_modules/popper.js/src/utils/getViewportOffsetRectRelativeToArtbitraryNode.js","../node_modules/popper.js/src/utils/computeAutoPlacement.js","../node_modules/popper.js/src/utils/getReferenceOffsets.js","../node_modules/popper.js/src/utils/getOuterSizes.js","../node_modules/popper.js/src/utils/getOppositePlacement.js","../node_modules/popper.js/src/utils/getPopperOffsets.js","../node_modules/popper.js/src/utils/find.js","../node_modules/popper.js/src/utils/runModifiers.js","../node_modules/popper.js/src/utils/findIndex.js","../node_modules/popper.js/src/methods/update.js","../node_modules/popper.js/src/utils/isModifierEnabled.js","../node_modules/popper.js/src/utils/getSupportedPropertyName.js","../node_modules/popper.js/src/methods/destroy.js","../node_modules/popper.js/src/utils/getWindow.js","../node_modules/popper.js/src/utils/setupEventListeners.js","../node_modules/popper.js/src/methods/enableEventListeners.js","../node_modules/popper.js/src/methods/disableEventListeners.js","../node_modules/popper.js/src/utils/removeEventListeners.js","../node_modules/popper.js/src/utils/isNumeric.js","../node_modules/popper.js/src/utils/setStyles.js","../node_modules/popper.js/src/modifiers/computeStyle.js","../node_modules/popper.js/src/utils/isModifierRequired.js","../node_modules/popper.js/src/methods/placements.js","../node_modules/popper.js/src/utils/clockwise.js","../node_modules/popper.js/src/modifiers/flip.js","../node_modules/popper.js/src/modifiers/offset.js","../node_modules/popper.js/src/modifiers/index.js","../node_modules/popper.js/src/modifiers/shift.js","../node_modules/popper.js/src/modifiers/preventOverflow.js","../node_modules/popper.js/src/modifiers/keepTogether.js","../node_modules/popper.js/src/modifiers/arrow.js","../node_modules/popper.js/src/utils/getOppositeVariation.js","../node_modules/popper.js/src/modifiers/inner.js","../node_modules/popper.js/src/modifiers/hide.js","../node_modules/popper.js/src/utils/getRoundedOffsets.js","../node_modules/popper.js/src/modifiers/applyStyle.js","../node_modules/popper.js/src/utils/setAttributes.js","../node_modules/popper.js/src/methods/defaults.js","../node_modules/popper.js/src/index.js","../node_modules/react-popper/lib/esm/Manager.js","../node_modules/react-popper/lib/esm/utils.js","../node_modules/react-popper/lib/esm/Popper.js","../node_modules/react-popper/lib/esm/Reference.js","../node_modules/react-popper/node_modules/deep-equal/index.js","../node_modules/react-resizable/build/Resizable.js","../node_modules/react-resizable/build/ResizableBox.js","../node_modules/react-resizable/build/propTypes.js","../node_modules/react-resizable/build/utils.js","../node_modules/react-resizable/index.js","../node_modules/react-table/src/publicUtils.js","../node_modules/react-table/src/utils.js","../node_modules/react-table/src/makeDefaultPluginHooks.js","../node_modules/react-table/src/hooks/useColumnVisibility.js","../node_modules/react-table/src/hooks/useTable.js","../node_modules/react-table/src/plugin-hooks/useExpanded.js","../node_modules/react-table/src/filterTypes.js","../node_modules/react-table/src/plugin-hooks/useFilters.js","../node_modules/react-table/src/plugin-hooks/useGlobalFilter.js","../node_modules/react-table/src/aggregations.js","../node_modules/react-table/src/plugin-hooks/useGroupBy.js","../node_modules/react-table/src/sortTypes.js","../node_modules/react-table/src/plugin-hooks/useSortBy.js","../node_modules/react-table/src/plugin-hooks/usePagination.js","../node_modules/react-table/src/plugin-hooks/_UNSTABLE_usePivotColumns.js","../node_modules/react-table/src/plugin-hooks/useRowSelect.js","../node_modules/react-table/src/plugin-hooks/useRowState.js","../node_modules/react-table/src/plugin-hooks/useColumnOrder.js","../node_modules/react-table/src/plugin-hooks/useResizeColumns.js","../node_modules/react-table/src/plugin-hooks/useAbsoluteLayout.js","../node_modules/react-table/src/plugin-hooks/useBlockLayout.js","../node_modules/react-table/src/plugin-hooks/useFlexLayout.js","../node_modules/react-table/src/plugin-hooks/useGridLayout.js","../node_modules/react-table/index.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/react/jsx-runtime.js","../node_modules/regexp.prototype.flags/implementation.js","../node_modules/regexp.prototype.flags/index.js","../node_modules/regexp.prototype.flags/polyfill.js","../node_modules/regexp.prototype.flags/shim.js","../node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/set-function-length/index.js","../node_modules/set-function-name/index.js","../node_modules/string-mask/src/string-mask.js","../node_modules/tslib/tslib.es6.js","../node_modules/unfetch/src/index.mjs","../node_modules/url/node_modules/punycode/punycode.js","../node_modules/url/url.js","../node_modules/url/util.js","../node_modules/uuid/index.js","../node_modules/uuid/lib/bytesToUuid.js","../node_modules/uuid/lib/rng-browser.js","../node_modules/uuid/v1.js","../node_modules/uuid/v4.js","../node_modules/warning/warning.js","../node_modules/zen-observable/index.js","../node_modules/zen-observable/lib/Observable.js","../node_modules/@babel/runtime/helpers/regeneratorRuntime.js","../node_modules/@babel/runtime/helpers/typeof.js","../node_modules/@babel/runtime/regenerator/index.js","../node_modules/classnames/index.js","../node_modules/core-js/internals/a-callable.js","../node_modules/core-js/internals/a-possible-prototype.js","../node_modules/core-js/internals/add-to-unscopables.js","../node_modules/core-js/internals/advance-string-index.js","../node_modules/core-js/internals/an-object.js","../node_modules/core-js/internals/array-includes.js","../node_modules/core-js/internals/classof-raw.js","../node_modules/core-js/internals/classof.js","../node_modules/core-js/internals/copy-constructor-properties.js","../node_modules/core-js/internals/correct-prototype-getter.js","../node_modules/core-js/internals/create-iter-result-object.js","../node_modules/core-js/internals/create-non-enumerable-property.js","../node_modules/core-js/internals/create-property-descriptor.js","../node_modules/core-js/internals/define-built-in.js","../node_modules/core-js/internals/define-global-property.js","../node_modules/core-js/internals/descriptors.js","../node_modules/core-js/internals/document-create-element.js","../node_modules/core-js/internals/dom-iterables.js","../node_modules/core-js/internals/dom-token-list-prototype.js","../node_modules/core-js/internals/engine-user-agent.js","../node_modules/core-js/internals/engine-v8-version.js","../node_modules/core-js/internals/enum-bug-keys.js","../node_modules/core-js/internals/export.js","../node_modules/core-js/internals/fails.js","../node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","../node_modules/core-js/internals/function-apply.js","../node_modules/core-js/internals/function-bind-native.js","../node_modules/core-js/internals/function-call.js","../node_modules/core-js/internals/function-name.js","../node_modules/core-js/internals/function-uncurry-this-accessor.js","../node_modules/core-js/internals/function-uncurry-this.js","../node_modules/core-js/internals/get-built-in.js","../node_modules/core-js/internals/get-method.js","../node_modules/core-js/internals/get-substitution.js","../node_modules/core-js/internals/global.js","../node_modules/core-js/internals/has-own-property.js","../node_modules/core-js/internals/hidden-keys.js","../node_modules/core-js/internals/html.js","../node_modules/core-js/internals/ie8-dom-define.js","../node_modules/core-js/internals/indexed-object.js","../node_modules/core-js/internals/inspect-source.js","../node_modules/core-js/internals/internal-state.js","../node_modules/core-js/internals/is-callable.js","../node_modules/core-js/internals/is-forced.js","../node_modules/core-js/internals/is-null-or-undefined.js","../node_modules/core-js/internals/is-object.js","../node_modules/core-js/internals/is-possible-prototype.js","../node_modules/core-js/internals/is-pure.js","../node_modules/core-js/internals/is-symbol.js","../node_modules/core-js/internals/iterator-create-constructor.js","../node_modules/core-js/internals/iterator-define.js","../node_modules/core-js/internals/iterators-core.js","../node_modules/core-js/internals/iterators.js","../node_modules/core-js/internals/length-of-array-like.js","../node_modules/core-js/internals/make-built-in.js","../node_modules/core-js/internals/math-trunc.js","../node_modules/core-js/internals/object-create.js","../node_modules/core-js/internals/object-define-properties.js","../node_modules/core-js/internals/object-define-property.js","../node_modules/core-js/internals/object-get-own-property-descriptor.js","../node_modules/core-js/internals/object-get-own-property-names.js","../node_modules/core-js/internals/object-get-own-property-symbols.js","../node_modules/core-js/internals/object-get-prototype-of.js","../node_modules/core-js/internals/object-is-prototype-of.js","../node_modules/core-js/internals/object-keys-internal.js","../node_modules/core-js/internals/object-keys.js","../node_modules/core-js/internals/object-property-is-enumerable.js","../node_modules/core-js/internals/object-set-prototype-of.js","../node_modules/core-js/internals/ordinary-to-primitive.js","../node_modules/core-js/internals/own-keys.js","../node_modules/core-js/internals/regexp-exec-abstract.js","../node_modules/core-js/internals/regexp-exec.js","../node_modules/core-js/internals/regexp-flags.js","../node_modules/core-js/internals/regexp-sticky-helpers.js","../node_modules/core-js/internals/regexp-unsupported-dot-all.js","../node_modules/core-js/internals/regexp-unsupported-ncg.js","../node_modules/core-js/internals/require-object-coercible.js","../node_modules/core-js/internals/set-to-string-tag.js","../node_modules/core-js/internals/shared-key.js","../node_modules/core-js/internals/shared-store.js","../node_modules/core-js/internals/shared.js","../node_modules/core-js/internals/string-multibyte.js","../node_modules/core-js/internals/symbol-constructor-detection.js","../node_modules/core-js/internals/to-absolute-index.js","../node_modules/core-js/internals/to-indexed-object.js","../node_modules/core-js/internals/to-integer-or-infinity.js","../node_modules/core-js/internals/to-length.js","../node_modules/core-js/internals/to-object.js","../node_modules/core-js/internals/to-primitive.js","../node_modules/core-js/internals/to-property-key.js","../node_modules/core-js/internals/to-string-tag-support.js","../node_modules/core-js/internals/to-string.js","../node_modules/core-js/internals/try-to-string.js","../node_modules/core-js/internals/uid.js","../node_modules/core-js/internals/use-symbol-as-uid.js","../node_modules/core-js/internals/v8-prototype-define-bug.js","../node_modules/core-js/internals/weak-map-basic-detection.js","../node_modules/core-js/internals/well-known-symbol.js","../node_modules/core-js/modules/es.array.iterator.js","../node_modules/core-js/modules/es.regexp.exec.js","../node_modules/core-js/modules/es.string.replace.js","../node_modules/core-js/modules/web.dom-collections.iterator.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../webpack/bootstrap","../webpack/runtime/compat get default export","../webpack/runtime/create fake namespace object","../webpack/runtime/define property getters","../webpack/runtime/global","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/make namespace object","../webpack/runtime/node module decorator","../webpack/runtime/publicPath","../node_modules/@aws-amplify/core/lib-esm/Logger/ConsoleLogger.js","../node_modules/@aws-amplify/core/lib-esm/Util/Constants.js","../node_modules/@aws-amplify/core/lib-esm/Amplify.js","../node_modules/react-ga/dist/esm/utils/console/warn.js","../node_modules/react-ga/dist/esm/components/OutboundLink.js","../node_modules/react-ga/dist/esm/utils/redactEmail.js","../node_modules/react-ga/dist/esm/utils/trim.js","../node_modules/react-ga/dist/esm/utils/toTitleCase.js","../node_modules/react-ga/dist/esm/utils/format.js","../node_modules/react-ga/dist/esm/utils/mightBeEmail.js","../node_modules/react-ga/dist/esm/utils/loadGA.js","../node_modules/react-ga/dist/esm/utils/console/log.js","../node_modules/react-ga/dist/esm/utils/testModeAPI.js","../node_modules/react-ga/dist/esm/core.js","../node_modules/react-ga/dist/esm/utils/removeLeadingSlash.js","../node_modules/react-ga/dist/esm/index.js","../node_modules/resolve-pathname/esm/resolve-pathname.js","../node_modules/value-equal/esm/value-equal.js","../node_modules/tiny-invariant/dist/esm/tiny-invariant.js","../node_modules/history/esm/history.js","../node_modules/react-router/modules/miniCreateReactContext.js","../node_modules/react-router/modules/createContext.js","../node_modules/react-router/modules/createNamedContext.js","../node_modules/react-router/modules/HistoryContext.js","../node_modules/react-router/modules/RouterContext.js","../node_modules/react-router/modules/Router.js","../node_modules/react-router/modules/MemoryRouter.js","../node_modules/react-router/modules/Lifecycle.js","../node_modules/react-router/modules/generatePath.js","../node_modules/react-router/modules/Redirect.js","../node_modules/react-router/modules/matchPath.js","../node_modules/react-router/modules/Route.js","../node_modules/react-router/modules/StaticRouter.js","../node_modules/react-router/modules/Switch.js","../node_modules/react-router/modules/withRouter.js","../node_modules/react-router/modules/hooks.js","../node_modules/react-router-dom/modules/BrowserRouter.js","../node_modules/react-router-dom/modules/HashRouter.js","../node_modules/react-router-dom/modules/utils/locationUtils.js","../node_modules/react-router-dom/modules/Link.js","../node_modules/react-router-dom/modules/NavLink.js","../node_modules/@aws-amplify/auth/src/types/Auth.ts","../node_modules/@aws-amplify/core/lib-esm/Hub.js","../node_modules/@aws-amplify/core/lib-esm/StorageHelper/index.js","../node_modules/@aws-amplify/core/lib-esm/JS.js","../node_modules/@aws-amplify/core/lib-esm/Util/Retry.js","../node_modules/@aws-amplify/core/lib-esm/Platform/types.js","../node_modules/@aws-amplify/core/lib-esm/OAuthHelper/GoogleOAuth.js","../node_modules/@aws-amplify/core/lib-esm/OAuthHelper/FacebookOAuth.js","../node_modules/@aws-amplify/core/lib-esm/OAuthHelper/index.js","../node_modules/@aws-amplify/core/lib-esm/clients/endpoints/partitions.js","../node_modules/@aws-amplify/core/lib-esm/clients/endpoints/getDnsSuffix.js","../node_modules/@aws-amplify/core/lib-esm/clients/middleware/retry/middleware.js","../node_modules/@aws-amplify/core/lib-esm/clients/middleware/userAgent/middleware.js","../node_modules/@aws-amplify/core/lib-esm/clients/internal/composeTransferHandler.js","../node_modules/@aws-amplify/core/lib-esm/clients/utils/memoization.js","../node_modules/@aws-amplify/core/lib-esm/clients/handlers/fetch.js","../node_modules/@aws-amplify/core/lib-esm/clients/handlers/unauthenticated.js","../node_modules/@aws-amplify/core/lib-esm/clients/serde/responseInfo.js","../node_modules/@aws-amplify/core/lib-esm/clients/serde/json.js","../node_modules/@aws-amplify/core/lib-esm/clients/middleware/retry/isClockSkewError.js","../node_modules/@aws-amplify/core/lib-esm/clients/middleware/retry/defaultRetryDecider.js","../node_modules/@aws-amplify/core/lib-esm/clients/middleware/retry/jitteredBackoff.js","../node_modules/@aws-amplify/core/lib-esm/Platform/version.js","../node_modules/@aws-amplify/core/lib-esm/Platform/detection/helpers.js","../node_modules/@aws-amplify/core/lib-esm/Platform/detection/index.js","../node_modules/@aws-amplify/core/lib-esm/Platform/detectFramework.js","../node_modules/@aws-amplify/core/lib-esm/Platform/detection/Expo.js","../node_modules/@aws-amplify/core/lib-esm/Platform/detection/ReactNative.js","../node_modules/@aws-amplify/core/lib-esm/Platform/detection/Next.js","../node_modules/@aws-amplify/core/lib-esm/Platform/detection/Nuxt.js","../node_modules/@aws-amplify/core/lib-esm/Platform/detection/Angular.js","../node_modules/@aws-amplify/core/lib-esm/Platform/detection/React.js","../node_modules/@aws-amplify/core/lib-esm/Platform/detection/Vue.js","../node_modules/@aws-amplify/core/lib-esm/Platform/detection/Svelte.js","../node_modules/@aws-amplify/core/lib-esm/Platform/detection/Web.js","../node_modules/@aws-amplify/core/lib-esm/Platform/index.js","../node_modules/@aws-amplify/core/lib-esm/AwsClients/CognitoIdentity/base.js","../node_modules/@aws-amplify/core/lib-esm/clients/internal/composeServiceApi.js","../node_modules/@aws-amplify/core/lib-esm/AwsClients/CognitoIdentity/getId.js","../node_modules/@aws-amplify/core/lib-esm/AwsClients/CognitoIdentity/getCredentialsForIdentity.js","../node_modules/@aws-amplify/core/lib-esm/parseAWSExports.js","../node_modules/@aws-amplify/core/lib-esm/Credentials.js","../node_modules/universal-cookie/es6/utils.js","../node_modules/universal-cookie/es6/Cookies.js","../node_modules/universal-cookie/es6/index.js","../node_modules/@aws-amplify/core/lib-esm/UniversalStorage/index.js","../node_modules/amazon-cognito-identity-js/es/AuthenticationDetails.js","../node_modules/amazon-cognito-identity-js/es/utils/cryptoSecureRandomInt.web.js","../node_modules/amazon-cognito-identity-js/es/utils/WordArray.js","../node_modules/amazon-cognito-identity-js/es/BigInteger.js","../node_modules/amazon-cognito-identity-js/es/AuthenticationHelper.js","../node_modules/amazon-cognito-identity-js/es/CognitoJwtToken.js","../node_modules/amazon-cognito-identity-js/es/CognitoAccessToken.js","../node_modules/amazon-cognito-identity-js/es/CognitoIdToken.js","../node_modules/amazon-cognito-identity-js/es/CognitoRefreshToken.js","../node_modules/amazon-cognito-identity-js/es/Platform/index.js","../node_modules/amazon-cognito-identity-js/es/CognitoUserSession.js","../node_modules/amazon-cognito-identity-js/es/DateHelper.js","../node_modules/amazon-cognito-identity-js/es/CognitoUserAttribute.js","../node_modules/amazon-cognito-identity-js/es/StorageHelper.js","../node_modules/amazon-cognito-identity-js/es/CognitoUser.js","../node_modules/amazon-cognito-identity-js/es/UserAgent.js","../node_modules/amazon-cognito-identity-js/es/Client.js","../node_modules/amazon-cognito-identity-js/es/CognitoUserPool.js","../node_modules/amazon-cognito-identity-js/es/CookieStorage.js","../node_modules/@aws-amplify/auth/src/OAuth/urlOpener.ts","../node_modules/@aws-amplify/core/lib-esm/constants.js","../node_modules/@aws-amplify/auth/src/OAuth/OAuth.ts","../node_modules/@aws-amplify/core/lib-esm/Util/StringUtils.js","../node_modules/@aws-amplify/auth/src/OAuth/oauthStorage.ts","../node_modules/@aws-amplify/auth/src/common/AuthErrorStrings.ts","../node_modules/@aws-amplify/auth/src/Errors.ts","../node_modules/@aws-amplify/auth/src/Auth.ts","../node_modules/amazon-cognito-identity-js/es/Platform/constants.js","../node_modules/@aws-amplify/auth/src/urlListener.ts","../node_modules/@aws-amplify/api-graphql/node_modules/graphql/jsutils/isObjectLike.mjs","../node_modules/@aws-amplify/api-graphql/node_modules/graphql/polyfills/symbols.mjs","../node_modules/@aws-amplify/api-graphql/node_modules/graphql/language/location.mjs","../node_modules/@aws-amplify/api-graphql/node_modules/graphql/language/printLocation.mjs","../node_modules/@aws-amplify/api-graphql/node_modules/graphql/error/GraphQLError.mjs","../node_modules/@aws-amplify/api-graphql/node_modules/graphql/error/syntaxError.mjs","../node_modules/@aws-amplify/api-graphql/node_modules/graphql/language/kinds.mjs","../node_modules/@aws-amplify/api-graphql/node_modules/graphql/jsutils/nodejsCustomInspectSymbol.mjs","../node_modules/@aws-amplify/api-graphql/node_modules/graphql/jsutils/defineInspect.mjs","../node_modules/@aws-amplify/api-graphql/node_modules/graphql/jsutils/invariant.mjs","../node_modules/@aws-amplify/api-graphql/node_modules/graphql/language/ast.mjs","../node_modules/@aws-amplify/api-graphql/node_modules/graphql/language/tokenKind.mjs","../node_modules/@aws-amplify/api-graphql/node_modules/graphql/jsutils/inspect.mjs","../node_modules/@aws-amplify/api-graphql/node_modules/graphql/jsutils/devAssert.mjs","../node_modules/@aws-amplify/api-graphql/node_modules/graphql/jsutils/instanceOf.mjs","../node_modules/@aws-amplify/api-graphql/node_modules/graphql/language/source.mjs","../node_modules/@aws-amplify/api-graphql/node_modules/graphql/language/directiveLocation.mjs","../node_modules/@aws-amplify/api-graphql/node_modules/graphql/language/blockString.mjs","../node_modules/@aws-amplify/api-graphql/node_modules/graphql/language/lexer.mjs","../node_modules/@aws-amplify/api-graphql/node_modules/graphql/language/parser.mjs","../node_modules/@aws-amplify/api-graphql/node_modules/graphql/language/visitor.mjs","../node_modules/@aws-amplify/api-graphql/node_modules/graphql/language/printer.mjs","../node_modules/zen-observable-ts/src/zenObservable.ts","../node_modules/@aws-amplify/pubsub/node_modules/graphql/jsutils/isObjectLike.mjs","../node_modules/@aws-amplify/pubsub/node_modules/graphql/polyfills/symbols.mjs","../node_modules/@aws-amplify/pubsub/node_modules/graphql/language/location.mjs","../node_modules/@aws-amplify/pubsub/node_modules/graphql/language/printLocation.mjs","../node_modules/@aws-amplify/pubsub/node_modules/graphql/error/GraphQLError.mjs","../node_modules/@aws-amplify/core/node_modules/@aws-sdk/util-hex-encoding/src/index.ts","../node_modules/@aws-amplify/core/lib-esm/Util/DateUtils.js","../node_modules/@aws-amplify/core/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getSignedHeaders.js","../node_modules/@aws-amplify/core/lib-esm/clients/middleware/signing/signer/signatureV4/constants.js","../node_modules/@aws-amplify/core/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getSigningValues.js","../node_modules/@aws-amplify/core/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getCredentialScope.js","../node_modules/@aws-amplify/core/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getFormattedDates.js","../node_modules/@aws-amplify/core/lib-esm/clients/middleware/signing/signer/signatureV4/utils/dataHashHelpers.js","../node_modules/@aws-amplify/core/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getCanonicalHeaders.js","../node_modules/@aws-amplify/core/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getCanonicalQueryString.js","../node_modules/@aws-amplify/core/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getCanonicalUri.js","../node_modules/@aws-amplify/core/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getHashedPayload.js","../node_modules/@aws-amplify/core/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getSignature.js","../node_modules/@aws-amplify/core/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getCanonicalRequest.js","../node_modules/@aws-amplify/core/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getStringToSign.js","../node_modules/@aws-amplify/core/lib-esm/clients/middleware/signing/signer/signatureV4/utils/getSigningKey.js","../node_modules/@aws-amplify/core/lib-esm/clients/middleware/signing/signer/signatureV4/signRequest.js","../node_modules/@aws-amplify/core/lib-esm/clients/middleware/signing/signer/signatureV4/presignUrl.js","../node_modules/@aws-amplify/core/lib-esm/Signer.js","../node_modules/@aws-amplify/cache/src/Utils/CacheUtils.ts","../node_modules/@aws-amplify/cache/src/StorageCache.ts","../node_modules/@aws-amplify/cache/src/BrowserStorageCache.ts","../node_modules/@aws-amplify/pubsub/src/Providers/PubSubProvider.ts","../node_modules/@aws-amplify/pubsub/src/types/PubSub.ts","../node_modules/@aws-amplify/pubsub/src/Providers/constants.ts","../node_modules/@aws-amplify/core/lib-esm/Util/Reachability.js","../node_modules/@aws-amplify/pubsub/src/utils/ReachabilityMonitor/index.ts","../node_modules/@aws-amplify/pubsub/src/utils/ReconnectionMonitor.ts","../node_modules/@aws-amplify/pubsub/src/utils/ConnectionStateMonitor.ts","../node_modules/@aws-amplify/api-graphql/lib-esm/types/index.js","../node_modules/@aws-amplify/pubsub/src/Providers/AWSAppSyncRealTimeProvider/index.ts","../node_modules/@aws-amplify/pubsub/src/internals/InternalPubSub.ts","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/utils.js","../node_modules/axios/lib/core/AxiosError.js","../node_modules/axios/lib/helpers/toFormData.js","../node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/defaults/transitional.js","../node_modules/axios/lib/platform/browser/index.js","../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../node_modules/axios/lib/platform/browser/classes/FormData.js","../node_modules/axios/lib/platform/browser/classes/Blob.js","../node_modules/axios/lib/platform/common/utils.js","../node_modules/axios/lib/platform/index.js","../node_modules/axios/lib/helpers/formDataToJSON.js","../node_modules/axios/lib/defaults/index.js","../node_modules/axios/lib/helpers/toURLEncodedForm.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/core/AxiosHeaders.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/cancel/CanceledError.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/helpers/speedometer.js","../node_modules/axios/lib/helpers/throttle.js","../node_modules/axios/lib/helpers/progressEventReducer.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/core/buildFullPath.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/core/mergeConfig.js","../node_modules/axios/lib/helpers/resolveConfig.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/helpers/parseProtocol.js","../node_modules/axios/lib/helpers/composeSignals.js","../node_modules/axios/lib/helpers/trackStream.js","../node_modules/axios/lib/adapters/fetch.js","../node_modules/axios/lib/adapters/adapters.js","../node_modules/axios/lib/helpers/null.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/env/data.js","../node_modules/axios/lib/helpers/validator.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/helpers/HttpStatusCode.js","../node_modules/axios/lib/axios.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/helpers/isAxiosError.js","../node_modules/@aws-amplify/api-rest/lib-esm/RestClient.js","../node_modules/@aws-amplify/api-graphql/lib-esm/internals/InternalGraphQLAPI.js","../node_modules/@aws-amplify/api-rest/lib-esm/RestAPI.js","../node_modules/@aws-amplify/api/lib-esm/internals/InternalAPI.js","../node_modules/@aws-amplify/api/lib-esm/API.js","../node_modules/@aws-amplify/api-graphql/lib-esm/GraphQLAPI.js","../node_modules/react-transition-group/esm/config.js","../node_modules/react-transition-group/esm/TransitionGroupContext.js","../node_modules/react-transition-group/esm/utils/reflow.js","../node_modules/react-transition-group/esm/Transition.js","../node_modules/react-toastify/src/utils/propValidator.ts","../node_modules/react-toastify/src/utils/constant.ts","../node_modules/react-toastify/src/utils/cssTransition.tsx","../node_modules/react-toastify/src/utils/collapseToast.ts","../node_modules/react-toastify/src/core/eventManager.ts","../node_modules/react-toastify/src/hooks/useKeeper.ts","../node_modules/react-toastify/src/hooks/toastContainerReducer.ts","../node_modules/react-toastify/src/hooks/useToastContainer.ts","../node_modules/react-toastify/src/hooks/useToast.ts","../node_modules/react-toastify/src/components/CloseButton.tsx","../node_modules/react-toastify/src/components/ProgressBar.tsx","../node_modules/react-toastify/src/components/Toast.tsx","../node_modules/react-toastify/src/components/Transitions.tsx","../node_modules/react-toastify/src/components/ToastPositioner.tsx","../node_modules/react-toastify/src/components/ToastContainer.tsx","../node_modules/react-toastify/src/core/toast.tsx","graphql/queries.ts","../node_modules/framer-motion/dist/es/components/AnimateSharedLayout/types.js","../node_modules/framer-motion/dist/es/components/AnimateSharedLayout/utils/batcher.js","../node_modules/framer-motion/dist/es/context/SharedLayoutContext.js","../node_modules/framer-motion/dist/es/utils/use-unmount-effect.js","../node_modules/framer-motion/dist/es/context/PresenceContext.js","../node_modules/framer-motion/dist/es/utils/use-constant.js","../node_modules/framer-motion/dist/es/components/AnimatePresence/PresenceChild.js","../node_modules/framer-motion/dist/es/components/AnimatePresence/index.js","../node_modules/framer-motion/dist/es/utils/use-force-update.js","shared/groupsHelper.ts","context/UserContext.tsx","../node_modules/framer-motion/dist/es/context/MotionConfigContext.js","../node_modules/framer-motion/dist/es/utils/is-ref-object.js","../node_modules/hey-listen/dist/hey-listen.es.js","../node_modules/popmotion/dist/es/utils/progress.js","../node_modules/framer-motion/dist/es/gestures/utils/event-type.js","../node_modules/framer-motion/dist/es/events/event-info.js","../node_modules/framer-motion/dist/es/events/use-dom-event.js","../node_modules/framer-motion/dist/es/events/utils.js","../node_modules/framer-motion/dist/es/events/use-pointer-event.js","../node_modules/popmotion/dist/es/utils/is-point.js","../node_modules/popmotion/dist/es/utils/is-point-3d.js","../node_modules/popmotion/dist/es/utils/inc.js","../node_modules/popmotion/dist/es/utils/distance.js","../node_modules/popmotion/dist/es/utils/pipe.js","../node_modules/framesync/dist/es/on-next-frame.js","../node_modules/framesync/dist/es/index.js","../node_modules/framesync/dist/es/create-render-step.js","../node_modules/framer-motion/dist/es/utils/time-conversion.js","../node_modules/framer-motion/dist/es/gestures/PanSession.js","../node_modules/framer-motion/dist/es/gestures/drag/utils/lock.js","../node_modules/framer-motion/dist/es/utils/noop.js","../node_modules/framer-motion/dist/es/utils/geometry/index.js","../node_modules/framer-motion/dist/es/utils/each-axis.js","../node_modules/popmotion/dist/es/utils/clamp.js","../node_modules/popmotion/dist/es/utils/mix.js","../node_modules/framer-motion/dist/es/utils/geometry/delta-calc.js","../node_modules/framer-motion/dist/es/gestures/drag/utils/constraints.js","../node_modules/framer-motion/dist/es/render/dom/projection/measure.js","../node_modules/popmotion/dist/es/animations/utils/find-spring.js","../node_modules/popmotion/dist/es/animations/generators/spring.js","../node_modules/style-value-types/dist/es/utils.js","../node_modules/style-value-types/dist/es/numbers/index.js","../node_modules/style-value-types/dist/es/color/utils.js","../node_modules/style-value-types/dist/es/color/rgba.js","../node_modules/style-value-types/dist/es/color/hex.js","../node_modules/style-value-types/dist/es/numbers/units.js","../node_modules/style-value-types/dist/es/color/hsla.js","../node_modules/popmotion/dist/es/utils/mix-color.js","../node_modules/style-value-types/dist/es/color/index.js","../node_modules/style-value-types/dist/es/complex/index.js","../node_modules/popmotion/dist/es/utils/mix-complex.js","../node_modules/popmotion/dist/es/utils/interpolate.js","../node_modules/popmotion/dist/es/easing/utils.js","../node_modules/popmotion/dist/es/easing/index.js","../node_modules/popmotion/dist/es/animations/generators/keyframes.js","../node_modules/popmotion/dist/es/animations/utils/detect-animation-from-options.js","../node_modules/popmotion/dist/es/animations/generators/decay.js","../node_modules/popmotion/dist/es/animations/utils/elapsed.js","../node_modules/popmotion/dist/es/animations/index.js","../node_modules/popmotion/dist/es/utils/velocity-per-second.js","../node_modules/popmotion/dist/es/easing/cubic-bezier.js","../node_modules/framer-motion/dist/es/animation/utils/easing.js","../node_modules/framer-motion/dist/es/animation/utils/is-animatable.js","../node_modules/framer-motion/dist/es/animation/utils/is-keyframes-target.js","../node_modules/framer-motion/dist/es/animation/utils/default-transitions.js","../node_modules/style-value-types/dist/es/complex/filter.js","../node_modules/framer-motion/dist/es/render/dom/utils/value-types.js","../node_modules/framer-motion/dist/es/animation/utils/transitions.js","../node_modules/framer-motion/dist/es/render/utils/types.js","../node_modules/popmotion/dist/es/animations/inertia.js","../node_modules/framer-motion/dist/es/gestures/drag/VisualElementDragControls.js","../node_modules/framer-motion/dist/es/motion/utils/make-renderless-component.js","../node_modules/framer-motion/dist/es/motion/features/drag.js","../node_modules/framer-motion/dist/es/gestures/drag/use-drag.js","../node_modules/framer-motion/dist/es/gestures/utils/is-node-or-child.js","../node_modules/framer-motion/dist/es/gestures/use-tap-gesture.js","../node_modules/framer-motion/dist/es/gestures/use-hover-gesture.js","../node_modules/framer-motion/dist/es/gestures/use-gestures.js","../node_modules/framer-motion/dist/es/gestures/use-pan-gesture.js","../node_modules/framer-motion/dist/es/gestures/use-focus-gesture.js","../node_modules/framer-motion/dist/es/gestures/types.js","../node_modules/framer-motion/dist/es/motion/features/gestures.js","../node_modules/framer-motion/dist/es/components/AnimatePresence/use-presence.js","../node_modules/framer-motion/dist/es/motion/features/exit.js","../node_modules/framer-motion/dist/es/motion/utils/should-inherit-variant.js","../node_modules/framer-motion/dist/es/animation/animation-controls.js","../node_modules/framer-motion/dist/es/render/utils/variants.js","../node_modules/framer-motion/dist/es/utils/is-numerical-string.js","../node_modules/framer-motion/dist/es/utils/resolve-value.js","../node_modules/framer-motion/dist/es/utils/subscription-manager.js","../node_modules/framer-motion/dist/es/utils/array.js","../node_modules/framer-motion/dist/es/value/index.js","../node_modules/framer-motion/dist/es/render/utils/setters.js","../node_modules/framer-motion/dist/es/render/utils/animation.js","../node_modules/framer-motion/dist/es/utils/shallow-compare.js","../node_modules/framer-motion/dist/es/render/utils/animation-state.js","../node_modules/framer-motion/dist/es/motion/features/animation.js","../node_modules/framer-motion/dist/es/motion/features/layout/Animate.js","../node_modules/framer-motion/dist/es/motion/features/layout/utils.js","../node_modules/framer-motion/dist/es/motion/features/layout/Measure.js","../node_modules/framer-motion/dist/es/context/MotionContext/index.js","../node_modules/framer-motion/dist/es/context/LayoutGroupContext.js","../node_modules/framer-motion/dist/es/utils/use-isomorphic-effect.js","../node_modules/framer-motion/dist/es/motion/utils/use-visual-element.js","../node_modules/framer-motion/dist/es/motion/features/layout/use-snapshot-on-unmount.js","../node_modules/framer-motion/dist/es/context/MotionContext/create.js","../node_modules/framer-motion/dist/es/context/MotionContext/utils.js","../node_modules/framer-motion/dist/es/motion/index.js","../node_modules/framer-motion/dist/es/motion/features/use-features.js","../node_modules/framer-motion/dist/es/motion/utils/use-motion-ref.js","../node_modules/framer-motion/dist/es/render/svg/supported-elements.js","../node_modules/framer-motion/dist/es/render/dom/utils/is-svg-component.js","../node_modules/framer-motion/dist/es/render/dom/utils/css-variables-conversion.js","../node_modules/framer-motion/dist/es/render/dom/projection/scale-correction.js","../node_modules/framer-motion/dist/es/render/html/utils/transform.js","../node_modules/framer-motion/dist/es/motion/utils/is-forced-motion-value.js","../node_modules/framer-motion/dist/es/value/utils/is-motion-value.js","../node_modules/framer-motion/dist/es/render/utils/state.js","../node_modules/framer-motion/dist/es/render/html/utils/build-transform.js","../node_modules/framer-motion/dist/es/render/dom/utils/is-css-variable.js","../node_modules/framer-motion/dist/es/render/html/utils/build-styles.js","../node_modules/framer-motion/dist/es/render/html/utils/create-render-state.js","../node_modules/framer-motion/dist/es/render/html/use-props.js","../node_modules/framer-motion/dist/es/motion/utils/valid-prop.js","../node_modules/framer-motion/dist/es/render/dom/utils/filter-props.js","../node_modules/framer-motion/dist/es/render/svg/utils/transform-origin.js","../node_modules/framer-motion/dist/es/render/svg/utils/path.js","../node_modules/framer-motion/dist/es/render/svg/utils/build-attrs.js","../node_modules/framer-motion/dist/es/render/svg/utils/create-render-state.js","../node_modules/framer-motion/dist/es/render/svg/use-props.js","../node_modules/framer-motion/dist/es/render/dom/use-render.js","../node_modules/framer-motion/dist/es/render/html/utils/scrape-motion-values.js","../node_modules/framer-motion/dist/es/render/svg/utils/scrape-motion-values.js","../node_modules/framer-motion/dist/es/utils/geometry/delta-apply.js","../node_modules/framer-motion/dist/es/render/utils/lifecycles.js","../node_modules/framer-motion/dist/es/render/utils/projection.js","../node_modules/framer-motion/dist/es/render/index.js","../node_modules/framer-motion/dist/es/render/utils/motion-values.js","../node_modules/framer-motion/dist/es/render/dom/utils/unit-conversion.js","../node_modules/framer-motion/dist/es/render/dom/utils/parse-dom-variant.js","../node_modules/framer-motion/dist/es/render/html/visual-element.js","../node_modules/framer-motion/dist/es/render/dom/utils/camel-to-dash.js","../node_modules/framer-motion/dist/es/render/svg/utils/camel-case-attrs.js","../node_modules/framer-motion/dist/es/render/svg/visual-element.js","../node_modules/framer-motion/dist/es/value/utils/resolve-motion-value.js","../node_modules/framer-motion/dist/es/motion/utils/use-visual-state.js","../node_modules/framer-motion/dist/es/render/svg/config-motion.js","../node_modules/framer-motion/dist/es/render/html/config-motion.js","../node_modules/framer-motion/dist/es/render/dom/motion-proxy.js","../node_modules/framer-motion/dist/es/render/dom/utils/create-config.js","../node_modules/framer-motion/dist/es/render/dom/motion.js","components/errors/ErrorBoundary.tsx","assets/unableToLoadPageGraphic.svg","components/unableToLoadPage/UnableToLoadPage.tsx","assets/unauthorizedGraphic.svg","pages/errors/Unauthorized.tsx","routes/PrivateRoute.tsx","../node_modules/@fortawesome/fontawesome-svg-core/index.mjs","../node_modules/@fortawesome/react-fontawesome/index.es.js","../node_modules/@fortawesome/pro-solid-svg-icons/index.mjs","components/impersonationBanner/ImpersonationBanner.tsx","../node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js","../node_modules/@aws-amplify/storage/lib-esm/AwsClients/S3/runtime/xmlParser/dom.js","../node_modules/@aws-amplify/storage/lib-esm/AwsClients/S3/utils/parsePayload.js","../node_modules/@aws-amplify/storage/lib-esm/AwsClients/S3/base.js","../node_modules/@aws-sdk/util-utf8-browser/src/index.ts","../node_modules/@aws-sdk/util-utf8-browser/src/whatwgEncodingApi.ts","../node_modules/@aws-sdk/util-utf8-browser/src/pureJs.ts","../node_modules/@aws-sdk/md5-js/src/constants.ts","../node_modules/@aws-sdk/md5-js/src/index.ts","../node_modules/@aws-amplify/core/lib-esm/clients/middleware/signing/utils/extendedEncodeURIComponent.js","../node_modules/@aws-amplify/storage/lib-esm/AwsClients/S3/runtime/base64/index.browser.js","../node_modules/@aws-amplify/storage/lib-esm/AwsClients/S3/utils/serializeHelpers.js","../node_modules/@aws-amplify/storage/lib-esm/common/StorageErrorStrings.js","../node_modules/@aws-amplify/core/lib-esm/clients/middleware/signing/utils/getSkewCorrectedDate.js","../node_modules/@aws-amplify/core/lib-esm/clients/middleware/signing/utils/getUpdatedSystemClockOffset.js","../node_modules/@aws-amplify/core/lib-esm/clients/middleware/signing/utils/isClockSkewed.js","../node_modules/@aws-amplify/core/lib-esm/clients/middleware/signing/middleware.js","../node_modules/@aws-amplify/storage/lib-esm/AwsClients/S3/runtime/constants.js","../node_modules/@aws-amplify/storage/lib-esm/AwsClients/S3/runtime/contentSha256middleware.js","../node_modules/@aws-amplify/storage/lib-esm/AwsClients/S3/runtime/xhrTransferHandler.js","../node_modules/@aws-amplify/storage/lib-esm/AwsClients/S3/runtime/s3TransferHandler/xhr.js","../node_modules/@aws-amplify/storage/lib-esm/AwsClients/S3/copyObject.js","../node_modules/@aws-amplify/storage/lib-esm/AwsClients/S3/utils/deserializeHelpers.js","../node_modules/@aws-amplify/storage/lib-esm/AwsClients/S3/getObject.js","../node_modules/@aws-amplify/storage/lib-esm/AwsClients/S3/headObject.js","../node_modules/@aws-amplify/storage/lib-esm/AwsClients/S3/deleteObject.js","../node_modules/@aws-amplify/storage/lib-esm/AwsClients/S3/listObjectsV2.js","../node_modules/@aws-amplify/storage/lib-esm/common/StorageConstants.js","../node_modules/@aws-amplify/storage/lib-esm/providers/AWSS3UploadTask.js","../node_modules/@aws-amplify/storage/lib-esm/common/StorageUtils.js","../node_modules/@aws-amplify/storage/lib-esm/common/S3ClientUtils.js","../node_modules/@aws-amplify/storage/lib-esm/AwsClients/S3/putObject.js","../node_modules/@aws-amplify/storage/lib-esm/AwsClients/S3/createMultipartUpload.js","../node_modules/@aws-amplify/storage/lib-esm/AwsClients/S3/uploadPart.js","../node_modules/@aws-amplify/storage/lib-esm/AwsClients/S3/completeMultipartUpload.js","../node_modules/@aws-amplify/storage/lib-esm/AwsClients/S3/abortMultipartUpload.js","../node_modules/@aws-amplify/storage/lib-esm/AwsClients/S3/listParts.js","../node_modules/@aws-amplify/storage/lib-esm/common/MD5utils.js","../node_modules/@aws-amplify/storage/lib-esm/providers/AWSS3ProviderManagedUpload.js","../node_modules/@aws-amplify/storage/lib-esm/providers/AWSS3Provider.js","../node_modules/@aws-amplify/storage/lib-esm/Storage.js","../node_modules/@fortawesome/pro-regular-svg-icons/index.mjs","../node_modules/graphql-tag/node_modules/tslib/tslib.es6.mjs","../node_modules/graphql/jsutils/invariant.mjs","../node_modules/graphql/language/location.mjs","../node_modules/graphql/language/printLocation.mjs","../node_modules/graphql/error/GraphQLError.mjs","../node_modules/graphql/jsutils/isObjectLike.mjs","../node_modules/graphql/error/syntaxError.mjs","../node_modules/graphql/language/ast.mjs","../node_modules/graphql/language/directiveLocation.mjs","../node_modules/graphql/language/kinds.mjs","../node_modules/graphql/language/tokenKind.mjs","../node_modules/graphql/language/characterClasses.mjs","../node_modules/graphql/language/blockString.mjs","../node_modules/graphql/language/lexer.mjs","../node_modules/graphql/jsutils/devAssert.mjs","../node_modules/graphql/jsutils/inspect.mjs","../node_modules/graphql/jsutils/instanceOf.mjs","../node_modules/graphql/language/source.mjs","../node_modules/graphql/language/parser.mjs","../node_modules/graphql-tag/src/index.ts","assets/logoEffectual.svg","shared/helper.ts","components/leftNav/NavItem.tsx","components/leftNav/Nav.tsx","assets/logo.svg","shared/dateHelpers.ts","components/header/Header.tsx","graphql/subscriptions.ts","components/leftNav/LeftNav.tsx","pages/Layout.tsx","components/animations/Spinner.tsx","components/buttons/Button.tsx","components/modal/Modal.tsx","components/tour/IntroTour.tsx","components/cloudSupportEscalationPlanLink/CloudSupportEscalationPlanLink.tsx","graphql/mutations.ts","context/SiteContext.tsx","../node_modules/react-hook-form/src/utils/isHTMLElement.ts","../node_modules/react-hook-form/src/constants.ts","../node_modules/react-hook-form/src/utils/isNullOrUndefined.ts","../node_modules/react-hook-form/src/utils/isObject.ts","../node_modules/react-hook-form/src/utils/isKey.ts","../node_modules/react-hook-form/src/utils/compact.ts","../node_modules/react-hook-form/src/utils/stringToPath.ts","../node_modules/react-hook-form/src/utils/set.ts","../node_modules/react-hook-form/src/logic/transformToNestObject.ts","../node_modules/react-hook-form/src/utils/isUndefined.ts","../node_modules/react-hook-form/src/utils/get.ts","../node_modules/react-hook-form/src/logic/removeAllEventListeners.ts","../node_modules/react-hook-form/src/logic/getRadioValue.ts","../node_modules/react-hook-form/src/logic/getMultipleSelectValue.ts","../node_modules/react-hook-form/src/utils/isRadioInput.ts","../node_modules/react-hook-form/src/utils/isFileInput.ts","../node_modules/react-hook-form/src/utils/isCheckBoxInput.ts","../node_modules/react-hook-form/src/utils/isMultipleSelect.ts","../node_modules/react-hook-form/src/logic/getCheckboxValue.ts","../node_modules/react-hook-form/src/logic/getFieldValue.ts","../node_modules/react-hook-form/src/utils/isDetached.ts","../node_modules/react-hook-form/src/utils/isEmptyObject.ts","../node_modules/react-hook-form/src/utils/isBoolean.ts","../node_modules/react-hook-form/src/utils/unset.ts","../node_modules/react-hook-form/src/logic/findRemovedFieldAndRemoveListener.ts","../node_modules/react-hook-form/src/utils/isPrimitive.ts","../node_modules/react-hook-form/src/utils/deepMerge.ts","../node_modules/react-hook-form/src/utils/deepEqual.ts","../node_modules/react-hook-form/src/logic/setFieldArrayDirtyFields.ts","../node_modules/react-hook-form/src/utils/isString.ts","../node_modules/react-hook-form/src/logic/getFieldsValues.ts","../node_modules/react-hook-form/src/utils/isRegex.ts","../node_modules/react-hook-form/src/logic/getValueAndMessage.ts","../node_modules/react-hook-form/src/utils/isFunction.ts","../node_modules/react-hook-form/src/utils/isMessage.ts","../node_modules/react-hook-form/src/logic/getValidateError.ts","../node_modules/react-hook-form/src/logic/appendErrors.ts","../node_modules/react-hook-form/src/logic/validateField.ts","../node_modules/react-hook-form/src/utils/getPath.ts","../node_modules/react-hook-form/src/logic/assignWatchFields.ts","../node_modules/react-hook-form/src/logic/skipValidation.ts","../node_modules/react-hook-form/src/logic/getNodeParentName.ts","../node_modules/react-hook-form/src/logic/isNameInFieldArray.ts","../node_modules/react-hook-form/src/utils/isWeb.ts","../node_modules/react-hook-form/src/utils/cloneObject.ts","../node_modules/react-hook-form/src/utils/validationModeChecker.ts","../node_modules/react-hook-form/src/utils/isRadioOrCheckbox.ts","../node_modules/react-hook-form/src/useForm.ts","../node_modules/react-hook-form/src/logic/isErrorStateChanged.ts","../node_modules/react-hook-form/src/logic/attachEventListeners.ts","../node_modules/react-hook-form/src/utils/isSelectInput.ts","../node_modules/react-hook-form/src/logic/focusOnErrorField.ts","../node_modules/react-hook-form/src/utils/onDomRemove.ts","../node_modules/react-hook-form/src/useFormContext.tsx","../node_modules/react-hook-form/src/logic/getInputValue.ts","../node_modules/react-hook-form/src/useController.ts","../node_modules/@fortawesome/pro-light-svg-icons/index.mjs","components/inputs/DatePicker.tsx","../node_modules/@vvo/tzdb/lib/formatTimeZone.js","../node_modules/@vvo/tzdb/lib/utils/timeZone.js","../node_modules/@vvo/tzdb/lib/getTimeZones.js","components/inputs/utils.ts","components/inputs/SelectInput.tsx","components/inputs/TextAreaInput.tsx","components/inputs/TextInput.tsx","components/inputs/TextInputNoControl.tsx","components/inputs/MaskInput.tsx","../node_modules/@emotion/cache/node_modules/@emotion/sheet/dist/emotion-sheet.browser.esm.js","../node_modules/stylis/src/Utility.js","../node_modules/stylis/src/Tokenizer.js","../node_modules/stylis/src/Enum.js","../node_modules/stylis/src/Serializer.js","../node_modules/stylis/src/Parser.js","../node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js","../node_modules/stylis/src/Middleware.js","../node_modules/@emotion/react/node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","../node_modules/@emotion/react/node_modules/@emotion/unitless/dist/emotion-unitless.esm.js","../node_modules/@emotion/react/node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","../node_modules/@emotion/react/node_modules/@emotion/serialize/dist/emotion-serialize.browser.esm.js","../node_modules/@emotion/react/node_modules/@emotion/hash/dist/emotion-hash.esm.js","../node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js","../node_modules/@emotion/react/dist/emotion-element-43c6fea0.browser.esm.js","../node_modules/@emotion/react/dist/emotion-react.browser.esm.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/memoize-one/dist/memoize-one.esm.js","../node_modules/react-select/dist/stateManager-845a3300.esm.js","../node_modules/react-select/dist/react-select.esm.js","components/inputs/Select.tsx","components/inputs/FormSelect.tsx","components/inputs/FormDatePicker.tsx","components/inputs/Checkbox.tsx","components/inputs/TimePicker.tsx","components/inputs/FormTimePicker.tsx","components/inputs/RadioGroup.tsx","../node_modules/@popperjs/core/lib/dom-utils/getWindow.js","../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","../node_modules/@popperjs/core/lib/utils/math.js","../node_modules/@popperjs/core/lib/utils/userAgent.js","../node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","../node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","../node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","../node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","../node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","../node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","../node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","../node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","../node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","../node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","../node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","../node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","../node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","../node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","../node_modules/@popperjs/core/lib/enums.js","../node_modules/@popperjs/core/lib/utils/orderModifiers.js","../node_modules/@popperjs/core/lib/utils/debounce.js","../node_modules/@popperjs/core/lib/createPopper.js","../node_modules/@popperjs/core/lib/utils/mergeByName.js","../node_modules/@popperjs/core/lib/modifiers/eventListeners.js","../node_modules/@popperjs/core/lib/utils/getBasePlacement.js","../node_modules/@popperjs/core/lib/utils/getVariation.js","../node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","../node_modules/@popperjs/core/lib/utils/computeOffsets.js","../node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","../node_modules/@popperjs/core/lib/modifiers/computeStyles.js","../node_modules/@popperjs/core/lib/modifiers/applyStyles.js","../node_modules/@popperjs/core/lib/modifiers/offset.js","../node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","../node_modules/@popperjs/core/lib/dom-utils/contains.js","../node_modules/@popperjs/core/lib/utils/rectToClientRect.js","../node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","../node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","../node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","../node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","../node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","../node_modules/@popperjs/core/lib/utils/expandToHashMap.js","../node_modules/@popperjs/core/lib/utils/detectOverflow.js","../node_modules/@popperjs/core/lib/modifiers/flip.js","../node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","../node_modules/@popperjs/core/lib/utils/within.js","../node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","../node_modules/@popperjs/core/lib/utils/getAltAxis.js","../node_modules/@popperjs/core/lib/modifiers/arrow.js","../node_modules/@popperjs/core/lib/modifiers/hide.js","../node_modules/@popperjs/core/lib/popper.js","../node_modules/tippy.js/src/constants.ts","../node_modules/tippy.js/src/utils.ts","../node_modules/tippy.js/src/dom-utils.ts","../node_modules/tippy.js/src/bindGlobalEventListeners.ts","../node_modules/tippy.js/src/browser.ts","../node_modules/tippy.js/src/props.ts","../node_modules/tippy.js/src/template.ts","../node_modules/tippy.js/src/createTippy.ts","../node_modules/tippy.js/src/index.ts","../node_modules/tippy.js/src/addons/createSingleton.ts","../node_modules/tippy.js/build/base.js","../node_modules/@tippyjs/react/src/utils.js","../node_modules/@tippyjs/react/src/util-hooks.js","../node_modules/@tippyjs/react/src/className-plugin.js","../node_modules/@tippyjs/react/src/Tippy.js","../node_modules/@tippyjs/react/src/forwardRef.js","../node_modules/@tippyjs/react/src/index.js","pages/support/SupportToolTip.tsx","shared/toast.tsx","shared/constants.ts","components/modal/SupportTicketModal.tsx","components/header/PageHeader.tsx","../node_modules/@juggle/resize-observer/lib/ResizeObserverBoxOptions.js","../node_modules/@juggle/resize-observer/lib/utils/resizeObservers.js","../node_modules/@juggle/resize-observer/lib/algorithms/deliverResizeLoopError.js","../node_modules/@juggle/resize-observer/lib/utils/freeze.js","../node_modules/@juggle/resize-observer/lib/utils/queueMicroTask.js","../node_modules/@juggle/resize-observer/lib/ResizeObserverSize.js","../node_modules/@juggle/resize-observer/lib/DOMRectReadOnly.js","../node_modules/@juggle/resize-observer/lib/utils/element.js","../node_modules/@juggle/resize-observer/lib/utils/global.js","../node_modules/@juggle/resize-observer/lib/algorithms/calculateBoxSize.js","../node_modules/@juggle/resize-observer/lib/ResizeObserverEntry.js","../node_modules/@juggle/resize-observer/lib/algorithms/calculateDepthForNode.js","../node_modules/@juggle/resize-observer/lib/algorithms/broadcastActiveObservations.js","../node_modules/@juggle/resize-observer/lib/algorithms/gatherActiveObservationsAtDepth.js","../node_modules/@juggle/resize-observer/lib/utils/process.js","../node_modules/@juggle/resize-observer/lib/algorithms/hasActiveObservations.js","../node_modules/@juggle/resize-observer/lib/algorithms/hasSkippedObservations.js","../node_modules/@juggle/resize-observer/lib/utils/scheduler.js","../node_modules/@juggle/resize-observer/lib/utils/queueResizeObserver.js","../node_modules/@juggle/resize-observer/lib/ResizeObservation.js","../node_modules/@juggle/resize-observer/lib/ResizeObserverDetail.js","../node_modules/@juggle/resize-observer/lib/ResizeObserverController.js","../node_modules/@juggle/resize-observer/lib/ResizeObserver.js","../node_modules/simplebar/src/helpers.js","../node_modules/simplebar/src/scrollbar-width.js","../node_modules/simplebar/src/simplebar.js","../node_modules/simplebar-react/dist/simplebar-react.esm.js","components/loader/ComponentDataLoader.tsx","components/tables/GlobalFilter.tsx","components/errors/ComponentError.tsx","components/tables/EmpathTable.tsx","components/tables/EmpathTableWithErrorBoundry.tsx","../node_modules/@fortawesome/pro-duotone-svg-icons/index.mjs","components/tables/tableActions.ts","components/tables/IncidentTable.tsx","pages/support/helpers.ts","components/tables/ChangeRequestTable.tsx","components/tables/CaseTable.tsx","components/tabs/Tabs.tsx","components/loader/Loader.tsx","components/loader/AbsoluteLoader.tsx","components/loader/FlexLoader.tsx","components/loader/SplashLoader.tsx","components/cards/Card.tsx","components/charts/LineChart.tsx","components/cards/EC2CPUCard.tsx","components/cards/RDSMemoryCard.tsx","components/cards/ResourceStatusMonitorCard.tsx","components/cards/DashboardLayout.tsx","pages/home/CustomerDashboard.tsx","pages/security/SecurityDashboard.tsx","components/tooltip/Tooltip.tsx","components/tooltip/TagsToolTip.tsx","components/breadcrumbs/Breadcrumbs.tsx","pages/mycloud/MonitorDetail.tsx","pages/mycloud/Monitoring.tsx","pages/mycloud/MyCloudDashboard.tsx","components/user/Details.tsx","pages/admin/UserDetails.tsx","components/tables/UsersTable.tsx","pages/admin/UserList.tsx","assets/404Graphic.svg","pages/errors/PageNotFound.tsx","aws-exports.js","pages/admin/Sso.tsx","pages/settings/Settings.tsx","assets/placeholderUserIcon.svg","components/cards/TeamMemberCard.tsx","pages/myTeam/MyTeam.tsx","assets/scheduleMaintenanceGraphic.svg","pages/errors/ScheduleMaintenance.tsx","pages/support/Cases.tsx","pages/support/Case.tsx","pages/support/Incident.tsx","pages/support/Incidents.tsx","pages/support/ChangeRequest.tsx","pages/support/ChangeRequests.tsx","routes/CustomerRoutes.tsx","pages/home/EffectualDashboard.tsx","assets/gears.svg","assets/homeUser.svg","pages/customers/Customers.tsx","pages/customers/CustomerDetails.tsx","pages/empath/EmpathUserList.tsx","pages/empath/EmpathUserDetails.tsx","pages/myTeam/TeamMemberDetails.tsx","pages/empath/EmpathAdminUserList.tsx","pages/empath/EmpathAdminUserDetails.tsx","routes/EmpathRoutes.tsx","pages/user/forms/LoginForm.tsx","pages/user/forms/CompletePasswordForm.tsx","pages/user/forms/CompleteMfaSetupForm.tsx","pages/user/forms/MfaForm.tsx","pages/user/Login.tsx","pages/user/Logout.tsx","pages/user/forms/RequestPasswordResetForm.tsx","pages/user/forms/PasswordResetForm.tsx","pages/user/ResetPassword.tsx","routes/BaseRoutes.tsx","assets/unavailableGraphic.svg","pages/errors/Unavailable.tsx","App.tsx","serviceWorker.ts","index.tsx"],"sourcesContent":["import {\n BLOCK_SIZE,\n DIGEST_LENGTH,\n INIT,\n KEY,\n MAX_HASHABLE_LENGTH\n} from \"./constants\";\n\n/**\n * @internal\n */\nexport class RawSha256 {\n private state: Int32Array = Int32Array.from(INIT);\n private temp: Int32Array = new Int32Array(64);\n private buffer: Uint8Array = new Uint8Array(64);\n private bufferLength: number = 0;\n private bytesHashed: number = 0;\n\n /**\n * @internal\n */\n finished: boolean = false;\n\n update(data: Uint8Array): void {\n if (this.finished) {\n throw new Error(\"Attempted to update an already finished hash.\");\n }\n\n let position = 0;\n let { byteLength } = data;\n this.bytesHashed += byteLength;\n\n if (this.bytesHashed * 8 > MAX_HASHABLE_LENGTH) {\n throw new Error(\"Cannot hash more than 2^53 - 1 bits\");\n }\n\n while (byteLength > 0) {\n this.buffer[this.bufferLength++] = data[position++];\n byteLength--;\n\n if (this.bufferLength === BLOCK_SIZE) {\n this.hashBuffer();\n this.bufferLength = 0;\n }\n }\n }\n\n digest(): Uint8Array {\n if (!this.finished) {\n const bitsHashed = this.bytesHashed * 8;\n const bufferView = new DataView(\n this.buffer.buffer,\n this.buffer.byteOffset,\n this.buffer.byteLength\n );\n\n const undecoratedLength = this.bufferLength;\n bufferView.setUint8(this.bufferLength++, 0x80);\n\n // Ensure the final block has enough room for the hashed length\n if (undecoratedLength % BLOCK_SIZE >= BLOCK_SIZE - 8) {\n for (let i = this.bufferLength; i < BLOCK_SIZE; i++) {\n bufferView.setUint8(i, 0);\n }\n this.hashBuffer();\n this.bufferLength = 0;\n }\n\n for (let i = this.bufferLength; i < BLOCK_SIZE - 8; i++) {\n bufferView.setUint8(i, 0);\n }\n bufferView.setUint32(\n BLOCK_SIZE - 8,\n Math.floor(bitsHashed / 0x100000000),\n true\n );\n bufferView.setUint32(BLOCK_SIZE - 4, bitsHashed);\n\n this.hashBuffer();\n\n this.finished = true;\n }\n\n // The value in state is little-endian rather than big-endian, so flip\n // each word into a new Uint8Array\n const out = new Uint8Array(DIGEST_LENGTH);\n for (let i = 0; i < 8; i++) {\n out[i * 4] = (this.state[i] >>> 24) & 0xff;\n out[i * 4 + 1] = (this.state[i] >>> 16) & 0xff;\n out[i * 4 + 2] = (this.state[i] >>> 8) & 0xff;\n out[i * 4 + 3] = (this.state[i] >>> 0) & 0xff;\n }\n\n return out;\n }\n\n private hashBuffer(): void {\n const { buffer, state } = this;\n\n let state0 = state[0],\n state1 = state[1],\n state2 = state[2],\n state3 = state[3],\n state4 = state[4],\n state5 = state[5],\n state6 = state[6],\n state7 = state[7];\n\n for (let i = 0; i < BLOCK_SIZE; i++) {\n if (i < 16) {\n this.temp[i] =\n ((buffer[i * 4] & 0xff) << 24) |\n ((buffer[i * 4 + 1] & 0xff) << 16) |\n ((buffer[i * 4 + 2] & 0xff) << 8) |\n (buffer[i * 4 + 3] & 0xff);\n } else {\n let u = this.temp[i - 2];\n const t1 =\n ((u >>> 17) | (u << 15)) ^ ((u >>> 19) | (u << 13)) ^ (u >>> 10);\n\n u = this.temp[i - 15];\n const t2 =\n ((u >>> 7) | (u << 25)) ^ ((u >>> 18) | (u << 14)) ^ (u >>> 3);\n\n this.temp[i] =\n ((t1 + this.temp[i - 7]) | 0) + ((t2 + this.temp[i - 16]) | 0);\n }\n\n const t1 =\n ((((((state4 >>> 6) | (state4 << 26)) ^\n ((state4 >>> 11) | (state4 << 21)) ^\n ((state4 >>> 25) | (state4 << 7))) +\n ((state4 & state5) ^ (~state4 & state6))) |\n 0) +\n ((state7 + ((KEY[i] + this.temp[i]) | 0)) | 0)) |\n 0;\n\n const t2 =\n ((((state0 >>> 2) | (state0 << 30)) ^\n ((state0 >>> 13) | (state0 << 19)) ^\n ((state0 >>> 22) | (state0 << 10))) +\n ((state0 & state1) ^ (state0 & state2) ^ (state1 & state2))) |\n 0;\n\n state7 = state6;\n state6 = state5;\n state5 = state4;\n state4 = (state3 + t1) | 0;\n state3 = state2;\n state2 = state1;\n state1 = state0;\n state0 = (t1 + t2) | 0;\n }\n\n state[0] += state0;\n state[1] += state1;\n state[2] += state2;\n state[3] += state3;\n state[4] += state4;\n state[5] += state5;\n state[6] += state6;\n state[7] += state7;\n }\n}\n","/**\n * @internal\n */\nexport const BLOCK_SIZE: number = 64;\n\n/**\n * @internal\n */\nexport const DIGEST_LENGTH: number = 32;\n\n/**\n * @internal\n */\nexport const KEY = new Uint32Array([\n 0x428a2f98,\n 0x71374491,\n 0xb5c0fbcf,\n 0xe9b5dba5,\n 0x3956c25b,\n 0x59f111f1,\n 0x923f82a4,\n 0xab1c5ed5,\n 0xd807aa98,\n 0x12835b01,\n 0x243185be,\n 0x550c7dc3,\n 0x72be5d74,\n 0x80deb1fe,\n 0x9bdc06a7,\n 0xc19bf174,\n 0xe49b69c1,\n 0xefbe4786,\n 0x0fc19dc6,\n 0x240ca1cc,\n 0x2de92c6f,\n 0x4a7484aa,\n 0x5cb0a9dc,\n 0x76f988da,\n 0x983e5152,\n 0xa831c66d,\n 0xb00327c8,\n 0xbf597fc7,\n 0xc6e00bf3,\n 0xd5a79147,\n 0x06ca6351,\n 0x14292967,\n 0x27b70a85,\n 0x2e1b2138,\n 0x4d2c6dfc,\n 0x53380d13,\n 0x650a7354,\n 0x766a0abb,\n 0x81c2c92e,\n 0x92722c85,\n 0xa2bfe8a1,\n 0xa81a664b,\n 0xc24b8b70,\n 0xc76c51a3,\n 0xd192e819,\n 0xd6990624,\n 0xf40e3585,\n 0x106aa070,\n 0x19a4c116,\n 0x1e376c08,\n 0x2748774c,\n 0x34b0bcb5,\n 0x391c0cb3,\n 0x4ed8aa4a,\n 0x5b9cca4f,\n 0x682e6ff3,\n 0x748f82ee,\n 0x78a5636f,\n 0x84c87814,\n 0x8cc70208,\n 0x90befffa,\n 0xa4506ceb,\n 0xbef9a3f7,\n 0xc67178f2\n]);\n\n/**\n * @internal\n */\nexport const INIT = [\n 0x6a09e667,\n 0xbb67ae85,\n 0x3c6ef372,\n 0xa54ff53a,\n 0x510e527f,\n 0x9b05688c,\n 0x1f83d9ab,\n 0x5be0cd19\n];\n\n/**\n * @internal\n */\nexport const MAX_HASHABLE_LENGTH = 2 ** 53 - 1;\n","export * from \"./jsSha256\";\n","import { BLOCK_SIZE } from \"./constants\";\nimport { RawSha256 } from \"./RawSha256\";\nimport { Hash, SourceData } from \"@aws-sdk/types\";\nimport { isEmptyData, convertToBuffer } from \"@aws-crypto/util\";\n\nexport class Sha256 implements Hash {\n private readonly hash = new RawSha256();\n private readonly outer?: RawSha256;\n private error: any;\n\n constructor(secret?: SourceData) {\n if (secret) {\n this.outer = new RawSha256();\n const inner = bufferFromSecret(secret);\n const outer = new Uint8Array(BLOCK_SIZE);\n outer.set(inner);\n\n for (let i = 0; i < BLOCK_SIZE; i++) {\n inner[i] ^= 0x36;\n outer[i] ^= 0x5c;\n }\n\n this.hash.update(inner);\n this.outer.update(outer);\n\n // overwrite the copied key in memory\n for (let i = 0; i < inner.byteLength; i++) {\n inner[i] = 0;\n }\n }\n }\n\n update(toHash: SourceData): void {\n if (isEmptyData(toHash) || this.error) {\n return;\n }\n\n try {\n this.hash.update(convertToBuffer(toHash));\n } catch (e) {\n this.error = e;\n }\n }\n\n /* This synchronous method keeps compatibility\n * with the v2 aws-sdk.\n */\n digestSync(): Uint8Array {\n if (this.error) {\n throw this.error;\n }\n\n if (this.outer) {\n if (!this.outer.finished) {\n this.outer.update(this.hash.digest());\n }\n\n return this.outer.digest();\n }\n\n return this.hash.digest();\n }\n\n /* The underlying digest method here is synchronous.\n * To keep the same interface with the other hash functions\n * the default is to expose this as an async method.\n * However, it can sometimes be useful to have a sync method.\n */\n async digest(): Promise {\n return this.digestSync();\n }\n}\n\nfunction bufferFromSecret(secret: SourceData): Uint8Array {\n let input = convertToBuffer(secret);\n\n if (input.byteLength > BLOCK_SIZE) {\n const bufferHash = new RawSha256();\n bufferHash.update(input);\n input = bufferHash.digest();\n }\n\n const buffer = new Uint8Array(BLOCK_SIZE);\n buffer.set(input);\n return buffer;\n}\n","// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { SourceData } from \"@aws-sdk/types\";\nimport { fromUtf8 as fromUtf8Browser } from \"@aws-sdk/util-utf8-browser\";\n\n// Quick polyfill\nconst fromUtf8 =\n typeof Buffer !== \"undefined\" && Buffer.from\n ? (input: string) => Buffer.from(input, \"utf8\")\n : fromUtf8Browser;\n\nexport function convertToBuffer(data: SourceData): Uint8Array {\n // Already a Uint8, do nothing\n if (data instanceof Uint8Array) return data;\n\n if (typeof data === \"string\") {\n return fromUtf8(data);\n }\n\n if (ArrayBuffer.isView(data)) {\n return new Uint8Array(\n data.buffer,\n data.byteOffset,\n data.byteLength / Uint8Array.BYTES_PER_ELEMENT\n );\n }\n\n return new Uint8Array(data);\n}\n","// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nexport { convertToBuffer } from \"./convertToBuffer\";\nexport { isEmptyData } from \"./isEmptyData\";\nexport { numToUint8 } from \"./numToUint8\";\nexport {uint32ArrayFrom} from './uint32ArrayFrom';\n","// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { SourceData } from \"@aws-sdk/types\";\n\nexport function isEmptyData(data: SourceData): boolean {\n if (typeof data === \"string\") {\n return data.length === 0;\n }\n\n return data.byteLength === 0;\n}\n","// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nexport function numToUint8(num: number) {\n return new Uint8Array([\n (num & 0xff000000) >> 24,\n (num & 0x00ff0000) >> 16,\n (num & 0x0000ff00) >> 8,\n num & 0x000000ff,\n ]);\n}\n","// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\n// IE 11 does not support Array.from, so we do it manually\nexport function uint32ArrayFrom(a_lookUpTable: Array): Uint32Array {\n if (!Array.from) {\n const return_array = new Uint32Array(a_lookUpTable.length)\n let a_index = 0\n while (a_index < a_lookUpTable.length) {\n return_array[a_index] = a_lookUpTable[a_index]\n }\n return return_array\n }\n return Uint32Array.from(a_lookUpTable)\n}\n","import { fromUtf8 as jsFromUtf8, toUtf8 as jsToUtf8 } from \"./pureJs\";\nimport { fromUtf8 as textEncoderFromUtf8, toUtf8 as textEncoderToUtf8 } from \"./whatwgEncodingApi\";\nexport const fromUtf8 = (input) => typeof TextEncoder === \"function\" ? textEncoderFromUtf8(input) : jsFromUtf8(input);\nexport const toUtf8 = (input) => typeof TextDecoder === \"function\" ? textEncoderToUtf8(input) : jsToUtf8(input);\n","export function fromUtf8(input) {\n return new TextEncoder().encode(input);\n}\nexport function toUtf8(input) {\n return new TextDecoder(\"utf-8\").decode(input);\n}\n","export const fromUtf8 = (input) => {\n const bytes = [];\n for (let i = 0, len = input.length; i < len; i++) {\n const value = input.charCodeAt(i);\n if (value < 0x80) {\n bytes.push(value);\n }\n else if (value < 0x800) {\n bytes.push((value >> 6) | 0b11000000, (value & 0b111111) | 0b10000000);\n }\n else if (i + 1 < input.length && (value & 0xfc00) === 0xd800 && (input.charCodeAt(i + 1) & 0xfc00) === 0xdc00) {\n const surrogatePair = 0x10000 + ((value & 0b1111111111) << 10) + (input.charCodeAt(++i) & 0b1111111111);\n bytes.push((surrogatePair >> 18) | 0b11110000, ((surrogatePair >> 12) & 0b111111) | 0b10000000, ((surrogatePair >> 6) & 0b111111) | 0b10000000, (surrogatePair & 0b111111) | 0b10000000);\n }\n else {\n bytes.push((value >> 12) | 0b11100000, ((value >> 6) & 0b111111) | 0b10000000, (value & 0b111111) | 0b10000000);\n }\n }\n return Uint8Array.from(bytes);\n};\nexport const toUtf8 = (input) => {\n let decoded = \"\";\n for (let i = 0, len = input.length; i < len; i++) {\n const byte = input[i];\n if (byte < 0x80) {\n decoded += String.fromCharCode(byte);\n }\n else if (0b11000000 <= byte && byte < 0b11100000) {\n const nextByte = input[++i];\n decoded += String.fromCharCode(((byte & 0b11111) << 6) | (nextByte & 0b111111));\n }\n else if (0b11110000 <= byte && byte < 0b101101101) {\n const surrogatePair = [byte, input[++i], input[++i], input[++i]];\n const encoded = \"%\" + surrogatePair.map((byteValue) => byteValue.toString(16)).join(\"%\");\n decoded += decodeURIComponent(encoded);\n }\n else {\n decoded += String.fromCharCode(((byte & 0b1111) << 12) | ((input[++i] & 0b111111) << 6) | (input[++i] & 0b111111));\n }\n }\n return decoded;\n};\n","import memoize from '@emotion/memoize';\n\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|inert|itemProp|itemScope|itemType|itemID|itemRef|on|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar index = memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\nexport default index;\n","function memoize(fn) {\n var cache = {};\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport default memoize;\n","'use strict';\n\nexports.__esModule = true;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _gud = require('gud');\n\nvar _gud2 = _interopRequireDefault(_gud);\n\nvar _warning = require('warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\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; }\n\nvar MAX_SIGNED_31_BIT_INT = 1073741823;\n\n// Inlined Object.is polyfill.\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\nfunction objectIs(x, y) {\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\n\nfunction createEventEmitter(value) {\n var handlers = [];\n return {\n on: function on(handler) {\n handlers.push(handler);\n },\n off: function off(handler) {\n handlers = handlers.filter(function (h) {\n return h !== handler;\n });\n },\n get: function get() {\n return value;\n },\n set: function set(newValue, changedBits) {\n value = newValue;\n handlers.forEach(function (handler) {\n return handler(value, changedBits);\n });\n }\n };\n}\n\nfunction onlyChild(children) {\n return Array.isArray(children) ? children[0] : children;\n}\n\nfunction createReactContext(defaultValue, calculateChangedBits) {\n var _Provider$childContex, _Consumer$contextType;\n\n var contextProp = '__create-react-context-' + (0, _gud2.default)() + '__';\n\n var Provider = function (_Component) {\n _inherits(Provider, _Component);\n\n function Provider() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Provider);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _Component.call.apply(_Component, [this].concat(args))), _this), _this.emitter = createEventEmitter(_this.props.value), _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Provider.prototype.getChildContext = function getChildContext() {\n var _ref;\n\n return _ref = {}, _ref[contextProp] = this.emitter, _ref;\n };\n\n Provider.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (this.props.value !== nextProps.value) {\n var oldValue = this.props.value;\n var newValue = nextProps.value;\n var changedBits = void 0;\n\n if (objectIs(oldValue, newValue)) {\n changedBits = 0; // No change\n } else {\n changedBits = typeof calculateChangedBits === 'function' ? calculateChangedBits(oldValue, newValue) : MAX_SIGNED_31_BIT_INT;\n if (process.env.NODE_ENV !== 'production') {\n (0, _warning2.default)((changedBits & MAX_SIGNED_31_BIT_INT) === changedBits, 'calculateChangedBits: Expected the return value to be a ' + '31-bit integer. Instead received: %s', changedBits);\n }\n\n changedBits |= 0;\n\n if (changedBits !== 0) {\n this.emitter.set(nextProps.value, changedBits);\n }\n }\n }\n };\n\n Provider.prototype.render = function render() {\n return this.props.children;\n };\n\n return Provider;\n }(_react.Component);\n\n Provider.childContextTypes = (_Provider$childContex = {}, _Provider$childContex[contextProp] = _propTypes2.default.object.isRequired, _Provider$childContex);\n\n var Consumer = function (_Component2) {\n _inherits(Consumer, _Component2);\n\n function Consumer() {\n var _temp2, _this2, _ret2;\n\n _classCallCheck(this, Consumer);\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _ret2 = (_temp2 = (_this2 = _possibleConstructorReturn(this, _Component2.call.apply(_Component2, [this].concat(args))), _this2), _this2.state = {\n value: _this2.getValue()\n }, _this2.onUpdate = function (newValue, changedBits) {\n var observedBits = _this2.observedBits | 0;\n if ((observedBits & changedBits) !== 0) {\n _this2.setState({ value: _this2.getValue() });\n }\n }, _temp2), _possibleConstructorReturn(_this2, _ret2);\n }\n\n Consumer.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n var observedBits = nextProps.observedBits;\n\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT // Subscribe to all changes by default\n : observedBits;\n };\n\n Consumer.prototype.componentDidMount = function componentDidMount() {\n if (this.context[contextProp]) {\n this.context[contextProp].on(this.onUpdate);\n }\n var observedBits = this.props.observedBits;\n\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT // Subscribe to all changes by default\n : observedBits;\n };\n\n Consumer.prototype.componentWillUnmount = function componentWillUnmount() {\n if (this.context[contextProp]) {\n this.context[contextProp].off(this.onUpdate);\n }\n };\n\n Consumer.prototype.getValue = function getValue() {\n if (this.context[contextProp]) {\n return this.context[contextProp].get();\n } else {\n return defaultValue;\n }\n };\n\n Consumer.prototype.render = function render() {\n return onlyChild(this.props.children)(this.state.value);\n };\n\n return Consumer;\n }(_react.Component);\n\n Consumer.contextTypes = (_Consumer$contextType = {}, _Consumer$contextType[contextProp] = _propTypes2.default.object, _Consumer$contextType);\n\n\n return {\n Provider: Provider,\n Consumer: Consumer\n };\n}\n\nexports.default = createReactContext;\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _implementation = require('./implementation');\n\nvar _implementation2 = _interopRequireDefault(_implementation);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _react2.default.createContext || _implementation2.default;\nmodule.exports = exports['default'];","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.twCascade = exports.createTailwindCascader = void 0;\nvar classnames_1 = __importDefault(require(\"classnames\"));\nvar rules_1 = require(\"./rules\");\n/** Create cascader\n * @param prefix: Optional classname prefix\n * @returns Cascader function\n */\nfunction createTailwindCascader(_a) {\n var prefix = (_a === void 0 ? {} : _a).prefix;\n var classify = rules_1.createClassifier(prefix);\n /** TailwindCSS cascader\n * Like Classnames, but overrides according to TailwindCSS cascade groups\n */\n return function twcx() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var memo = {};\n for (var _a = 0, _b = classnames_1.default.apply(void 0, args).split(\" \"); _a < _b.length; _a++) {\n var className = _b[_a];\n var result = classify(className);\n if (!result) {\n // prefix doesn't match, no group\n memo[className] = className;\n }\n else {\n var variant = result.variant, group = result.group, overrides = result.overrides;\n for (var _c = 0, overrides_1 = overrides; _c < overrides_1.length; _c++) {\n var ov = overrides_1[_c];\n delete memo[\"\" + variant + ov];\n }\n memo[\"\" + variant + group] = className;\n }\n }\n return Object.values(memo).join(\" \");\n };\n}\nexports.createTailwindCascader = createTailwindCascader;\n/** TailwindCSS cascader\n * Like Classnames, but overrides according to TailwindCSS cascade groups\n */\nexports.twCascade = createTailwindCascader();\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createClassifier = void 0;\nvar escape_regex_string_1 = __importDefault(require(\"escape-regex-string\"));\nvar _a = require(\"./generated-rules.json\"), DEFINITIONS = _a.definitions, OVERRIDES = _a.overrides;\nfunction createClassifier(prefix) {\n if (prefix === void 0) { prefix = \"\"; }\n var extractRegex = new RegExp(\"^([^:]+:)?\" + escape_regex_string_1.default(prefix || \"\") + \"(.*)$\");\n return function classify(className) {\n var m = extractRegex.exec(className);\n if (!m) {\n return undefined;\n }\n var _a = m[1], variant = _a === void 0 ? \"\" : _a, key = m[2];\n var group = DEFINITIONS[key];\n if (!group) {\n return undefined;\n }\n var overrides = OVERRIDES[group] || [];\n return { variant: variant, group: group, overrides: overrides };\n };\n}\nexports.createClassifier = createClassifier;\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","/*!\n * bytes\n * Copyright(c) 2012-2014 TJ Holowaychuk\n * Copyright(c) 2015 Jed Watson\n * MIT Licensed\n */\n\n'use strict';\n\n/**\n * Module exports.\n * @public\n */\n\nmodule.exports = bytes;\nmodule.exports.format = format;\nmodule.exports.parse = parse;\n\n/**\n * Module variables.\n * @private\n */\n\nvar formatThousandsRegExp = /\\B(?=(\\d{3})+(?!\\d))/g;\n\nvar formatDecimalsRegExp = /(?:\\.0*|(\\.[^0]+)0+)$/;\n\nvar map = {\n b: 1,\n kb: 1 << 10,\n mb: 1 << 20,\n gb: 1 << 30,\n tb: Math.pow(1024, 4),\n pb: Math.pow(1024, 5),\n};\n\nvar parseRegExp = /^((-|\\+)?(\\d+(?:\\.\\d+)?)) *(kb|mb|gb|tb|pb)$/i;\n\n/**\n * Convert the given value in bytes into a string or parse to string to an integer in bytes.\n *\n * @param {string|number} value\n * @param {{\n * case: [string],\n * decimalPlaces: [number]\n * fixedDecimals: [boolean]\n * thousandsSeparator: [string]\n * unitSeparator: [string]\n * }} [options] bytes options.\n *\n * @returns {string|number|null}\n */\n\nfunction bytes(value, options) {\n if (typeof value === 'string') {\n return parse(value);\n }\n\n if (typeof value === 'number') {\n return format(value, options);\n }\n\n return null;\n}\n\n/**\n * Format the given value in bytes into a string.\n *\n * If the value is negative, it is kept as such. If it is a float,\n * it is rounded.\n *\n * @param {number} value\n * @param {object} [options]\n * @param {number} [options.decimalPlaces=2]\n * @param {number} [options.fixedDecimals=false]\n * @param {string} [options.thousandsSeparator=]\n * @param {string} [options.unit=]\n * @param {string} [options.unitSeparator=]\n *\n * @returns {string|null}\n * @public\n */\n\nfunction format(value, options) {\n if (!Number.isFinite(value)) {\n return null;\n }\n\n var mag = Math.abs(value);\n var thousandsSeparator = (options && options.thousandsSeparator) || '';\n var unitSeparator = (options && options.unitSeparator) || '';\n var decimalPlaces = (options && options.decimalPlaces !== undefined) ? options.decimalPlaces : 2;\n var fixedDecimals = Boolean(options && options.fixedDecimals);\n var unit = (options && options.unit) || '';\n\n if (!unit || !map[unit.toLowerCase()]) {\n if (mag >= map.pb) {\n unit = 'PB';\n } else if (mag >= map.tb) {\n unit = 'TB';\n } else if (mag >= map.gb) {\n unit = 'GB';\n } else if (mag >= map.mb) {\n unit = 'MB';\n } else if (mag >= map.kb) {\n unit = 'KB';\n } else {\n unit = 'B';\n }\n }\n\n var val = value / map[unit.toLowerCase()];\n var str = val.toFixed(decimalPlaces);\n\n if (!fixedDecimals) {\n str = str.replace(formatDecimalsRegExp, '$1');\n }\n\n if (thousandsSeparator) {\n str = str.split('.').map(function (s, i) {\n return i === 0\n ? s.replace(formatThousandsRegExp, thousandsSeparator)\n : s\n }).join('.');\n }\n\n return str + unitSeparator + unit;\n}\n\n/**\n * Parse the string value into an integer in bytes.\n *\n * If no unit is given, it is assumed the value is in bytes.\n *\n * @param {number|string} val\n *\n * @returns {number|null}\n * @public\n */\n\nfunction parse(val) {\n if (typeof val === 'number' && !isNaN(val)) {\n return val;\n }\n\n if (typeof val !== 'string') {\n return null;\n }\n\n // Test if the string passed is valid\n var results = parseRegExp.exec(val);\n var floatValue;\n var unit = 'b';\n\n if (!results) {\n // Nothing could be extracted from the given string\n floatValue = parseInt(val, 10);\n unit = 'b'\n } else {\n // Retrieve the value and the unit\n floatValue = parseFloat(results[1]);\n unit = results[4].toLowerCase();\n }\n\n if (isNaN(floatValue)) {\n return null;\n }\n\n return Math.floor(map[unit] * floatValue);\n}\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBind = require('./');\n\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\n\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\tvar intrinsic = GetIntrinsic(name, !!allowMissing);\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBind(intrinsic);\n\t}\n\treturn intrinsic;\n};\n","'use strict';\n\nvar bind = require('function-bind');\nvar GetIntrinsic = require('get-intrinsic');\nvar setFunctionLength = require('set-function-length');\n\nvar $TypeError = require('es-errors/type');\nvar $apply = GetIntrinsic('%Function.prototype.apply%');\nvar $call = GetIntrinsic('%Function.prototype.call%');\nvar $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);\n\nvar $defineProperty = require('es-define-property');\nvar $max = GetIntrinsic('%Math.max%');\n\nmodule.exports = function callBind(originalFunction) {\n\tif (typeof originalFunction !== 'function') {\n\t\tthrow new $TypeError('a function is required');\n\t}\n\tvar func = $reflectApply(bind, $call, arguments);\n\treturn setFunctionLength(\n\t\tfunc,\n\t\t1 + $max(0, originalFunction.length - (arguments.length - 1)),\n\t\ttrue\n\t);\n};\n\nvar applyBind = function applyBind() {\n\treturn $reflectApply(bind, $apply, arguments);\n};\n\nif ($defineProperty) {\n\t$defineProperty(module.exports, 'apply', { value: applyBind });\n} else {\n\tmodule.exports.apply = applyBind;\n}\n","var canUseDOM = !!(\n typeof window !== 'undefined' &&\n window.document &&\n window.document.createElement\n);\n\nmodule.exports = canUseDOM;","!function(){function l(l,n){var u=l.split(\".\"),t=Y;u[0]in t||!t.execScript||t.execScript(\"var \"+u[0]);for(var e;u.length&&(e=u.shift());)u.length||void 0===n?t=t[e]?t[e]:t[e]={}:t[e]=n}function n(l,n){function u(){}u.prototype=n.prototype,l.M=n.prototype,l.prototype=new u,l.prototype.constructor=l,l.N=function(l,u,t){for(var e=Array(arguments.length-2),r=2;rn?1:l=a&&a<=i;++a)if(r=parseInt(n.substring(0,a),10),r in ll){e.a(n.substring(a)),n=r;break l}n=0}return 0!=n&&(t(l.a),l.a.a(e.toString()),e=M(n),\"001\"==e?l.g=C(l.G,\"\"+n):e!=l.D&&(l.g=D(l,e)),l.b.a(\"\"+n).a(\" \"),l.h=\"\",!0)}function K(l,n){var u=l.m.toString();if(0<=u.substring(l.s).search(l.H)){var e=u.search(l.H),u=u.replace(l.H,n);return t(l.m),l.m.a(u),l.s=e,u.substring(0,l.s+1)}return 1==l.f.length&&(l.l=!1),l.w=\"\",l.i.toString()}var Y=this;u.prototype.b=\"\",u.prototype.set=function(l){this.b=\"\"+l},u.prototype.a=function(l,n,u){if(this.b+=String(l),null!=n)for(var t=1;t= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\n\tvar React = __webpack_require__(1); // eslint-disable-line no-unused-vars\n\tvar CreateReactClass = __webpack_require__(2);\n\n\tvar NumeralFormatter = __webpack_require__(9);\n\tvar DateFormatter = __webpack_require__(10);\n\tvar TimeFormatter = __webpack_require__(11);\n\tvar PhoneFormatter = __webpack_require__(12);\n\tvar CreditCardDetector = __webpack_require__(13);\n\tvar Util = __webpack_require__(14);\n\tvar DefaultProperties = __webpack_require__(15);\n\n\tvar cleaveReactClass = CreateReactClass({\n\t componentDidMount: function componentDidMount() {\n\t this.init();\n\t },\n\n\t componentDidUpdate: function componentDidUpdate(prevProps) {\n\t var owner = this,\n\t phoneRegionCode = (owner.props.options || {}).phoneRegionCode,\n\t newValue = owner.props.value,\n\t pps = owner.properties;\n\n\t owner.updateRegisteredEvents(owner.props);\n\t if (prevProps.value !== newValue && newValue !== undefined && newValue !== null) {\n\t newValue = newValue.toString();\n\n\t if (newValue !== owner.properties.result) {\n\t owner.properties.initValue = newValue;\n\t owner.onInput(newValue, true);\n\t }\n\t }\n\n\t // update phone region code\n\t var prevPhoneRegionCode = (prevProps.options || {}).phoneRegionCode;\n\t if (prevPhoneRegionCode !== phoneRegionCode && phoneRegionCode && phoneRegionCode !== owner.properties.phoneRegionCode) {\n\t owner.properties.phoneRegionCode = phoneRegionCode;\n\t owner.initPhoneFormatter();\n\t owner.onInput(owner.properties.result);\n\t }\n\n\t Util.setSelection(owner.element, owner.state.cursorPosition, pps.document);\n\t },\n\n\t updateRegisteredEvents: function updateRegisteredEvents(props) {\n\t var owner = this,\n\t _owner$registeredEven = owner.registeredEvents,\n\t onKeyDown = _owner$registeredEven.onKeyDown,\n\t onChange = _owner$registeredEven.onChange,\n\t onFocus = _owner$registeredEven.onFocus,\n\t onBlur = _owner$registeredEven.onBlur,\n\t onInit = _owner$registeredEven.onInit;\n\n\n\t if (props.onInit && props.onInit !== onInit) owner.registeredEvents.onInit = props.onInit;\n\t if (props.onChange && props.onChange !== onChange) owner.registeredEvents.onChange = props.onChange;\n\t if (props.onFocus && props.onFocus !== onFocus) owner.registeredEvents.onFocus = props.onFocus;\n\t if (props.onBlur && props.onBlur !== onBlur) owner.registeredEvents.onBlur = props.onBlur;\n\t if (props.onKeyDown && props.onKeyDown !== onKeyDown) owner.registeredEvents.onKeyDown = props.onKeyDown;\n\t },\n\n\t getInitialState: function getInitialState() {\n\t var owner = this,\n\t _owner$props = owner.props,\n\t value = _owner$props.value,\n\t options = _owner$props.options,\n\t onKeyDown = _owner$props.onKeyDown,\n\t onChange = _owner$props.onChange,\n\t onFocus = _owner$props.onFocus,\n\t onBlur = _owner$props.onBlur,\n\t onInit = _owner$props.onInit;\n\n\n\t owner.registeredEvents = {\n\t onInit: onInit || Util.noop,\n\t onChange: onChange || Util.noop,\n\t onFocus: onFocus || Util.noop,\n\t onBlur: onBlur || Util.noop,\n\t onKeyDown: onKeyDown || Util.noop\n\t };\n\n\t if (!options) {\n\t options = {};\n\t }\n\n\t options.initValue = value;\n\n\t owner.properties = DefaultProperties.assign({}, options);\n\n\t return {\n\t value: owner.properties.result,\n\t cursorPosition: 0\n\t };\n\t },\n\n\t init: function init() {\n\t var owner = this,\n\t pps = owner.properties;\n\n\t // so no need for this lib at all\n\t if (!pps.numeral && !pps.phone && !pps.creditCard && !pps.time && !pps.date && pps.blocksLength === 0 && !pps.prefix) {\n\t owner.onInput(pps.initValue);\n\t owner.registeredEvents.onInit(owner);\n\n\t return;\n\t }\n\n\t pps.maxLength = Util.getMaxLength(pps.blocks);\n\n\t owner.isAndroid = Util.isAndroid();\n\n\t owner.initPhoneFormatter();\n\t owner.initDateFormatter();\n\t owner.initTimeFormatter();\n\t owner.initNumeralFormatter();\n\n\t // avoid touch input field if value is null\n\t // otherwise Firefox will add red box-shadow for \n\t if (pps.initValue || pps.prefix && !pps.noImmediatePrefix) {\n\t owner.onInput(pps.initValue);\n\t }\n\n\t owner.registeredEvents.onInit(owner);\n\t },\n\n\t initNumeralFormatter: function initNumeralFormatter() {\n\t var owner = this,\n\t pps = owner.properties;\n\n\t if (!pps.numeral) {\n\t return;\n\t }\n\n\t pps.numeralFormatter = new NumeralFormatter(pps.numeralDecimalMark, pps.numeralIntegerScale, pps.numeralDecimalScale, pps.numeralThousandsGroupStyle, pps.numeralPositiveOnly, pps.stripLeadingZeroes, pps.prefix, pps.signBeforePrefix, pps.tailPrefix, pps.delimiter);\n\t },\n\n\t initTimeFormatter: function initTimeFormatter() {\n\t var owner = this,\n\t pps = owner.properties;\n\n\t if (!pps.time) {\n\t return;\n\t }\n\n\t pps.timeFormatter = new TimeFormatter(pps.timePattern, pps.timeFormat);\n\t pps.blocks = pps.timeFormatter.getBlocks();\n\t pps.blocksLength = pps.blocks.length;\n\t pps.maxLength = Util.getMaxLength(pps.blocks);\n\t },\n\n\t initDateFormatter: function initDateFormatter() {\n\t var owner = this,\n\t pps = owner.properties;\n\n\t if (!pps.date) {\n\t return;\n\t }\n\n\t pps.dateFormatter = new DateFormatter(pps.datePattern, pps.dateMin, pps.dateMax);\n\t pps.blocks = pps.dateFormatter.getBlocks();\n\t pps.blocksLength = pps.blocks.length;\n\t pps.maxLength = Util.getMaxLength(pps.blocks);\n\t },\n\n\t initPhoneFormatter: function initPhoneFormatter() {\n\t var owner = this,\n\t pps = owner.properties;\n\n\t if (!pps.phone) {\n\t return;\n\t }\n\n\t // Cleave.AsYouTypeFormatter should be provided by\n\t // external google closure lib\n\t try {\n\t pps.phoneFormatter = new PhoneFormatter(new pps.root.Cleave.AsYouTypeFormatter(pps.phoneRegionCode), pps.delimiter);\n\t } catch (ex) {\n\t throw new Error('Please include phone-type-formatter.{country}.js lib');\n\t }\n\t },\n\n\t setRawValue: function setRawValue(value) {\n\t var owner = this,\n\t pps = owner.properties;\n\n\t value = value !== undefined && value !== null ? value.toString() : '';\n\n\t if (pps.numeral) {\n\t value = value.replace('.', pps.numeralDecimalMark);\n\t }\n\n\t pps.postDelimiterBackspace = false;\n\n\t owner.onChange({\n\t target: { value: value },\n\n\t // Methods to better resemble a SyntheticEvent\n\t stopPropagation: Util.noop,\n\t preventDefault: Util.noop,\n\t persist: Util.noop\n\t });\n\t },\n\n\t getRawValue: function getRawValue() {\n\t var owner = this,\n\t pps = owner.properties,\n\t rawValue = pps.result;\n\n\t if (pps.rawValueTrimPrefix) {\n\t rawValue = Util.getPrefixStrippedValue(rawValue, pps.prefix, pps.prefixLength, pps.result, pps.delimiter, pps.delimiters, pps.noImmediatePrefix, pps.tailPrefix, pps.signBeforePrefix);\n\t }\n\n\t if (pps.numeral) {\n\t rawValue = pps.numeralFormatter ? pps.numeralFormatter.getRawValue(rawValue) : '';\n\t } else {\n\t rawValue = Util.stripDelimiters(rawValue, pps.delimiter, pps.delimiters);\n\t }\n\n\t return rawValue;\n\t },\n\n\t getISOFormatDate: function getISOFormatDate() {\n\t var owner = this,\n\t pps = owner.properties;\n\n\t return pps.date ? pps.dateFormatter.getISOFormatDate() : '';\n\t },\n\n\t getISOFormatTime: function getISOFormatTime() {\n\t var owner = this,\n\t pps = owner.properties;\n\n\t return pps.time ? pps.timeFormatter.getISOFormatTime() : '';\n\t },\n\n\t onInit: function onInit(owner) {\n\t return owner;\n\t },\n\n\t onKeyDown: function onKeyDown(event) {\n\t var owner = this,\n\t pps = owner.properties,\n\t charCode = event.which || event.keyCode;\n\n\t owner.lastInputValue = pps.result;\n\t owner.isBackward = charCode === 8;\n\n\t owner.registeredEvents.onKeyDown(event);\n\t },\n\n\t onFocus: function onFocus(event) {\n\t var owner = this,\n\t pps = owner.properties;\n\n\t if (pps.prefix && pps.noImmediatePrefix && !event.target.value) {\n\t owner.onInput(pps.prefix);\n\t }\n\n\t event.target.rawValue = owner.getRawValue();\n\t event.target.value = pps.result;\n\n\t owner.registeredEvents.onFocus(event);\n\n\t Util.fixPrefixCursor(owner.element, pps.prefix, pps.delimiter, pps.delimiters);\n\t },\n\n\t onBlur: function onBlur(event) {\n\t var owner = this,\n\t pps = owner.properties;\n\n\t event.target.rawValue = owner.getRawValue();\n\t event.target.value = pps.result;\n\n\t owner.registeredEvents.onBlur(event);\n\t },\n\n\t onChange: function onChange(event) {\n\t var owner = this,\n\t pps = owner.properties;\n\n\t owner.isBackward = owner.isBackward || event.inputType === 'deleteContentBackward';\n\t // hit backspace when last character is delimiter\n\t var postDelimiter = Util.getPostDelimiter(owner.lastInputValue, pps.delimiter, pps.delimiters);\n\n\t if (owner.isBackward && postDelimiter) {\n\t pps.postDelimiterBackspace = postDelimiter;\n\t } else {\n\t pps.postDelimiterBackspace = false;\n\t }\n\n\t owner.onInput(event.target.value);\n\n\t event.target.rawValue = owner.getRawValue();\n\t event.target.value = pps.result;\n\n\t owner.registeredEvents.onChange(event);\n\t },\n\n\t onInput: function onInput(value, fromProps) {\n\t var owner = this,\n\t pps = owner.properties;\n\n\t // case 1: delete one more character \"4\"\n\t // 1234*| -> hit backspace -> 123|\n\t // case 2: last character is not delimiter which is:\n\t // 12|34* -> hit backspace -> 1|34*\n\t var postDelimiterAfter = Util.getPostDelimiter(value, pps.delimiter, pps.delimiters);\n\t if (!fromProps && !pps.numeral && pps.postDelimiterBackspace && !postDelimiterAfter) {\n\t value = Util.headStr(value, value.length - pps.postDelimiterBackspace.length);\n\t }\n\n\t // phone formatter\n\t if (pps.phone) {\n\t if (pps.prefix && (!pps.noImmediatePrefix || value.length)) {\n\t pps.result = pps.prefix + pps.phoneFormatter.format(value).slice(pps.prefix.length);\n\t } else {\n\t pps.result = pps.phoneFormatter.format(value);\n\t }\n\t owner.updateValueState();\n\n\t return;\n\t }\n\n\t // numeral formatter\n\t if (pps.numeral) {\n\t // Do not show prefix when noImmediatePrefix is specified\n\t // This mostly because we need to show user the native input placeholder\n\t if (pps.prefix && pps.noImmediatePrefix && value.length === 0) {\n\t pps.result = '';\n\t } else {\n\t pps.result = pps.numeralFormatter.format(value);\n\t }\n\t owner.updateValueState();\n\n\t return;\n\t }\n\n\t // date\n\t if (pps.date) {\n\t value = pps.dateFormatter.getValidatedDate(value);\n\t }\n\n\t // time\n\t if (pps.time) {\n\t value = pps.timeFormatter.getValidatedTime(value);\n\t }\n\n\t // strip delimiters\n\t value = Util.stripDelimiters(value, pps.delimiter, pps.delimiters);\n\n\t // strip prefix\n\t value = Util.getPrefixStrippedValue(value, pps.prefix, pps.prefixLength, pps.result, pps.delimiter, pps.delimiters, pps.noImmediatePrefix, pps.tailPrefix, pps.signBeforePrefix);\n\n\t // strip non-numeric characters\n\t value = pps.numericOnly ? Util.strip(value, /[^\\d]/g) : value;\n\n\t // convert case\n\t value = pps.uppercase ? value.toUpperCase() : value;\n\t value = pps.lowercase ? value.toLowerCase() : value;\n\n\t // prevent from showing prefix when no immediate option enabled with empty input value\n\t if (pps.prefix) {\n\t if (pps.tailPrefix) {\n\t value = value + pps.prefix;\n\t } else {\n\t value = pps.prefix + value;\n\t }\n\n\t // no blocks specified, no need to do formatting\n\t if (pps.blocksLength === 0) {\n\t pps.result = value;\n\t owner.updateValueState();\n\n\t return;\n\t }\n\t }\n\n\t // update credit card props\n\t if (pps.creditCard) {\n\t owner.updateCreditCardPropsByValue(value);\n\t }\n\n\t // strip over length characters\n\t value = pps.maxLength > 0 ? Util.headStr(value, pps.maxLength) : value;\n\n\t // apply blocks\n\t pps.result = Util.getFormattedValue(value, pps.blocks, pps.blocksLength, pps.delimiter, pps.delimiters, pps.delimiterLazyShow);\n\n\t owner.updateValueState();\n\t },\n\n\t updateCreditCardPropsByValue: function updateCreditCardPropsByValue(value) {\n\t var owner = this,\n\t pps = owner.properties,\n\t creditCardInfo;\n\n\t // At least one of the first 4 characters has changed\n\t if (Util.headStr(pps.result, 4) === Util.headStr(value, 4)) {\n\t return;\n\t }\n\n\t creditCardInfo = CreditCardDetector.getInfo(value, pps.creditCardStrictMode);\n\n\t pps.blocks = creditCardInfo.blocks;\n\t pps.blocksLength = pps.blocks.length;\n\t pps.maxLength = Util.getMaxLength(pps.blocks);\n\n\t // credit card type changed\n\t if (pps.creditCardType !== creditCardInfo.type) {\n\t pps.creditCardType = creditCardInfo.type;\n\n\t pps.onCreditCardTypeChanged.call(owner, pps.creditCardType);\n\t }\n\t },\n\n\t updateValueState: function updateValueState() {\n\t var owner = this,\n\t pps = owner.properties;\n\n\t if (!owner.element) {\n\t owner.setState({ value: pps.result });\n\t return;\n\t }\n\n\t var endPos = owner.element.selectionEnd;\n\t var oldValue = owner.element.value;\n\t var newValue = pps.result;\n\n\t owner.lastInputValue = newValue;\n\n\t endPos = Util.getNextCursorPosition(endPos, oldValue, newValue, pps.delimiter, pps.delimiters);\n\n\t if (owner.isAndroid) {\n\t window.setTimeout(function () {\n\t owner.setState({ value: newValue, cursorPosition: endPos });\n\t }, 1);\n\n\t return;\n\t }\n\n\t owner.setState({ value: newValue, cursorPosition: endPos });\n\t },\n\n\t render: function render() {\n\t var owner = this;\n\t // eslint-disable-next-line\n\n\t var _owner$props2 = owner.props,\n\t value = _owner$props2.value,\n\t options = _owner$props2.options,\n\t onKeyDown = _owner$props2.onKeyDown,\n\t onFocus = _owner$props2.onFocus,\n\t onBlur = _owner$props2.onBlur,\n\t onChange = _owner$props2.onChange,\n\t onInit = _owner$props2.onInit,\n\t htmlRef = _owner$props2.htmlRef,\n\t propsToTransfer = _objectWithoutProperties(_owner$props2, ['value', 'options', 'onKeyDown', 'onFocus', 'onBlur', 'onChange', 'onInit', 'htmlRef']);\n\n\t return React.createElement('input', _extends({\n\t type: 'text',\n\t ref: function ref(_ref) {\n\t owner.element = _ref;\n\n\t if (!htmlRef) {\n\t return;\n\t }\n\n\t htmlRef.apply(this, arguments);\n\t },\n\t value: owner.state.value,\n\t onKeyDown: owner.onKeyDown,\n\t onChange: owner.onChange,\n\t onFocus: owner.onFocus,\n\t onBlur: owner.onBlur\n\t }, propsToTransfer));\n\t }\n\t});\n\n\tmodule.exports = cleaveReactClass;\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\n\tmodule.exports = __WEBPACK_EXTERNAL_MODULE_1__;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t *\n\t * This source code is licensed under the MIT license found in the\n\t * LICENSE file in the root directory of this source tree.\n\t *\n\t */\n\n\t'use strict';\n\n\tvar React = __webpack_require__(1);\n\tvar factory = __webpack_require__(3);\n\n\tif (typeof React === 'undefined') {\n\t throw Error(\n\t 'create-react-class could not find the React object. If you are using script tags, ' +\n\t 'make sure that React is being loaded before create-react-class.'\n\t );\n\t}\n\n\t// Hack to grab NoopUpdateQueue from isomorphic React\n\tvar ReactNoopUpdateQueue = new React.Component().updater;\n\n\tmodule.exports = factory(\n\t React.Component,\n\t React.isValidElement,\n\t ReactNoopUpdateQueue\n\t);\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t *\n\t * This source code is licensed under the MIT license found in the\n\t * LICENSE file in the root directory of this source tree.\n\t *\n\t */\n\n\t'use strict';\n\n\tvar _assign = __webpack_require__(4);\n\n\tvar emptyObject = __webpack_require__(5);\n\tvar _invariant = __webpack_require__(6);\n\n\tif (process.env.NODE_ENV !== 'production') {\n\t var warning = __webpack_require__(7);\n\t}\n\n\tvar MIXINS_KEY = 'mixins';\n\n\t// Helper function to allow the creation of anonymous functions which do not\n\t// have .name set to the name of the variable being assigned to.\n\tfunction identity(fn) {\n\t return fn;\n\t}\n\n\tvar ReactPropTypeLocationNames;\n\tif (process.env.NODE_ENV !== 'production') {\n\t ReactPropTypeLocationNames = {\n\t prop: 'prop',\n\t context: 'context',\n\t childContext: 'child context'\n\t };\n\t} else {\n\t ReactPropTypeLocationNames = {};\n\t}\n\n\tfunction factory(ReactComponent, isValidElement, ReactNoopUpdateQueue) {\n\t /**\n\t * Policies that describe methods in `ReactClassInterface`.\n\t */\n\n\t var injectedMixins = [];\n\n\t /**\n\t * Composite components are higher-level components that compose other composite\n\t * or host components.\n\t *\n\t * To create a new type of `ReactClass`, pass a specification of\n\t * your new class to `React.createClass`. The only requirement of your class\n\t * specification is that you implement a `render` method.\n\t *\n\t * var MyComponent = React.createClass({\n\t * render: function() {\n\t * return
Hello World
;\n\t * }\n\t * });\n\t *\n\t * The class specification supports a specific protocol of methods that have\n\t * special meaning (e.g. `render`). See `ReactClassInterface` for\n\t * more the comprehensive protocol. Any other properties and methods in the\n\t * class specification will be available on the prototype.\n\t *\n\t * @interface ReactClassInterface\n\t * @internal\n\t */\n\t var ReactClassInterface = {\n\t /**\n\t * An array of Mixin objects to include when defining your component.\n\t *\n\t * @type {array}\n\t * @optional\n\t */\n\t mixins: 'DEFINE_MANY',\n\n\t /**\n\t * An object containing properties and methods that should be defined on\n\t * the component's constructor instead of its prototype (static methods).\n\t *\n\t * @type {object}\n\t * @optional\n\t */\n\t statics: 'DEFINE_MANY',\n\n\t /**\n\t * Definition of prop types for this component.\n\t *\n\t * @type {object}\n\t * @optional\n\t */\n\t propTypes: 'DEFINE_MANY',\n\n\t /**\n\t * Definition of context types for this component.\n\t *\n\t * @type {object}\n\t * @optional\n\t */\n\t contextTypes: 'DEFINE_MANY',\n\n\t /**\n\t * Definition of context types this component sets for its children.\n\t *\n\t * @type {object}\n\t * @optional\n\t */\n\t childContextTypes: 'DEFINE_MANY',\n\n\t // ==== Definition methods ====\n\n\t /**\n\t * Invoked when the component is mounted. Values in the mapping will be set on\n\t * `this.props` if that prop is not specified (i.e. using an `in` check).\n\t *\n\t * This method is invoked before `getInitialState` and therefore cannot rely\n\t * on `this.state` or use `this.setState`.\n\t *\n\t * @return {object}\n\t * @optional\n\t */\n\t getDefaultProps: 'DEFINE_MANY_MERGED',\n\n\t /**\n\t * Invoked once before the component is mounted. The return value will be used\n\t * as the initial value of `this.state`.\n\t *\n\t * getInitialState: function() {\n\t * return {\n\t * isOn: false,\n\t * fooBaz: new BazFoo()\n\t * }\n\t * }\n\t *\n\t * @return {object}\n\t * @optional\n\t */\n\t getInitialState: 'DEFINE_MANY_MERGED',\n\n\t /**\n\t * @return {object}\n\t * @optional\n\t */\n\t getChildContext: 'DEFINE_MANY_MERGED',\n\n\t /**\n\t * Uses props from `this.props` and state from `this.state` to render the\n\t * structure of the component.\n\t *\n\t * No guarantees are made about when or how often this method is invoked, so\n\t * it must not have side effects.\n\t *\n\t * render: function() {\n\t * var name = this.props.name;\n\t * return
Hello, {name}!
;\n\t * }\n\t *\n\t * @return {ReactComponent}\n\t * @required\n\t */\n\t render: 'DEFINE_ONCE',\n\n\t // ==== Delegate methods ====\n\n\t /**\n\t * Invoked when the component is initially created and about to be mounted.\n\t * This may have side effects, but any external subscriptions or data created\n\t * by this method must be cleaned up in `componentWillUnmount`.\n\t *\n\t * @optional\n\t */\n\t componentWillMount: 'DEFINE_MANY',\n\n\t /**\n\t * Invoked when the component has been mounted and has a DOM representation.\n\t * However, there is no guarantee that the DOM node is in the document.\n\t *\n\t * Use this as an opportunity to operate on the DOM when the component has\n\t * been mounted (initialized and rendered) for the first time.\n\t *\n\t * @param {DOMElement} rootNode DOM element representing the component.\n\t * @optional\n\t */\n\t componentDidMount: 'DEFINE_MANY',\n\n\t /**\n\t * Invoked before the component receives new props.\n\t *\n\t * Use this as an opportunity to react to a prop transition by updating the\n\t * state using `this.setState`. Current props are accessed via `this.props`.\n\t *\n\t * componentWillReceiveProps: function(nextProps, nextContext) {\n\t * this.setState({\n\t * likesIncreasing: nextProps.likeCount > this.props.likeCount\n\t * });\n\t * }\n\t *\n\t * NOTE: There is no equivalent `componentWillReceiveState`. An incoming prop\n\t * transition may cause a state change, but the opposite is not true. If you\n\t * need it, you are probably looking for `componentWillUpdate`.\n\t *\n\t * @param {object} nextProps\n\t * @optional\n\t */\n\t componentWillReceiveProps: 'DEFINE_MANY',\n\n\t /**\n\t * Invoked while deciding if the component should be updated as a result of\n\t * receiving new props, state and/or context.\n\t *\n\t * Use this as an opportunity to `return false` when you're certain that the\n\t * transition to the new props/state/context will not require a component\n\t * update.\n\t *\n\t * shouldComponentUpdate: function(nextProps, nextState, nextContext) {\n\t * return !equal(nextProps, this.props) ||\n\t * !equal(nextState, this.state) ||\n\t * !equal(nextContext, this.context);\n\t * }\n\t *\n\t * @param {object} nextProps\n\t * @param {?object} nextState\n\t * @param {?object} nextContext\n\t * @return {boolean} True if the component should update.\n\t * @optional\n\t */\n\t shouldComponentUpdate: 'DEFINE_ONCE',\n\n\t /**\n\t * Invoked when the component is about to update due to a transition from\n\t * `this.props`, `this.state` and `this.context` to `nextProps`, `nextState`\n\t * and `nextContext`.\n\t *\n\t * Use this as an opportunity to perform preparation before an update occurs.\n\t *\n\t * NOTE: You **cannot** use `this.setState()` in this method.\n\t *\n\t * @param {object} nextProps\n\t * @param {?object} nextState\n\t * @param {?object} nextContext\n\t * @param {ReactReconcileTransaction} transaction\n\t * @optional\n\t */\n\t componentWillUpdate: 'DEFINE_MANY',\n\n\t /**\n\t * Invoked when the component's DOM representation has been updated.\n\t *\n\t * Use this as an opportunity to operate on the DOM when the component has\n\t * been updated.\n\t *\n\t * @param {object} prevProps\n\t * @param {?object} prevState\n\t * @param {?object} prevContext\n\t * @param {DOMElement} rootNode DOM element representing the component.\n\t * @optional\n\t */\n\t componentDidUpdate: 'DEFINE_MANY',\n\n\t /**\n\t * Invoked when the component is about to be removed from its parent and have\n\t * its DOM representation destroyed.\n\t *\n\t * Use this as an opportunity to deallocate any external resources.\n\t *\n\t * NOTE: There is no `componentDidUnmount` since your component will have been\n\t * destroyed by that point.\n\t *\n\t * @optional\n\t */\n\t componentWillUnmount: 'DEFINE_MANY',\n\n\t /**\n\t * Replacement for (deprecated) `componentWillMount`.\n\t *\n\t * @optional\n\t */\n\t UNSAFE_componentWillMount: 'DEFINE_MANY',\n\n\t /**\n\t * Replacement for (deprecated) `componentWillReceiveProps`.\n\t *\n\t * @optional\n\t */\n\t UNSAFE_componentWillReceiveProps: 'DEFINE_MANY',\n\n\t /**\n\t * Replacement for (deprecated) `componentWillUpdate`.\n\t *\n\t * @optional\n\t */\n\t UNSAFE_componentWillUpdate: 'DEFINE_MANY',\n\n\t // ==== Advanced methods ====\n\n\t /**\n\t * Updates the component's currently mounted DOM representation.\n\t *\n\t * By default, this implements React's rendering and reconciliation algorithm.\n\t * Sophisticated clients may wish to override this.\n\t *\n\t * @param {ReactReconcileTransaction} transaction\n\t * @internal\n\t * @overridable\n\t */\n\t updateComponent: 'OVERRIDE_BASE'\n\t };\n\n\t /**\n\t * Similar to ReactClassInterface but for static methods.\n\t */\n\t var ReactClassStaticInterface = {\n\t /**\n\t * This method is invoked after a component is instantiated and when it\n\t * receives new props. Return an object to update state in response to\n\t * prop changes. Return null to indicate no change to state.\n\t *\n\t * If an object is returned, its keys will be merged into the existing state.\n\t *\n\t * @return {object || null}\n\t * @optional\n\t */\n\t getDerivedStateFromProps: 'DEFINE_MANY_MERGED'\n\t };\n\n\t /**\n\t * Mapping from class specification keys to special processing functions.\n\t *\n\t * Although these are declared like instance properties in the specification\n\t * when defining classes using `React.createClass`, they are actually static\n\t * and are accessible on the constructor instead of the prototype. Despite\n\t * being static, they must be defined outside of the \"statics\" key under\n\t * which all other static methods are defined.\n\t */\n\t var RESERVED_SPEC_KEYS = {\n\t displayName: function(Constructor, displayName) {\n\t Constructor.displayName = displayName;\n\t },\n\t mixins: function(Constructor, mixins) {\n\t if (mixins) {\n\t for (var i = 0; i < mixins.length; i++) {\n\t mixSpecIntoComponent(Constructor, mixins[i]);\n\t }\n\t }\n\t },\n\t childContextTypes: function(Constructor, childContextTypes) {\n\t if (process.env.NODE_ENV !== 'production') {\n\t validateTypeDef(Constructor, childContextTypes, 'childContext');\n\t }\n\t Constructor.childContextTypes = _assign(\n\t {},\n\t Constructor.childContextTypes,\n\t childContextTypes\n\t );\n\t },\n\t contextTypes: function(Constructor, contextTypes) {\n\t if (process.env.NODE_ENV !== 'production') {\n\t validateTypeDef(Constructor, contextTypes, 'context');\n\t }\n\t Constructor.contextTypes = _assign(\n\t {},\n\t Constructor.contextTypes,\n\t contextTypes\n\t );\n\t },\n\t /**\n\t * Special case getDefaultProps which should move into statics but requires\n\t * automatic merging.\n\t */\n\t getDefaultProps: function(Constructor, getDefaultProps) {\n\t if (Constructor.getDefaultProps) {\n\t Constructor.getDefaultProps = createMergedResultFunction(\n\t Constructor.getDefaultProps,\n\t getDefaultProps\n\t );\n\t } else {\n\t Constructor.getDefaultProps = getDefaultProps;\n\t }\n\t },\n\t propTypes: function(Constructor, propTypes) {\n\t if (process.env.NODE_ENV !== 'production') {\n\t validateTypeDef(Constructor, propTypes, 'prop');\n\t }\n\t Constructor.propTypes = _assign({}, Constructor.propTypes, propTypes);\n\t },\n\t statics: function(Constructor, statics) {\n\t mixStaticSpecIntoComponent(Constructor, statics);\n\t },\n\t autobind: function() {}\n\t };\n\n\t function validateTypeDef(Constructor, typeDef, location) {\n\t for (var propName in typeDef) {\n\t if (typeDef.hasOwnProperty(propName)) {\n\t // use a warning instead of an _invariant so components\n\t // don't show up in prod but only in __DEV__\n\t if (process.env.NODE_ENV !== 'production') {\n\t warning(\n\t typeof typeDef[propName] === 'function',\n\t '%s: %s type `%s` is invalid; it must be a function, usually from ' +\n\t 'React.PropTypes.',\n\t Constructor.displayName || 'ReactClass',\n\t ReactPropTypeLocationNames[location],\n\t propName\n\t );\n\t }\n\t }\n\t }\n\t }\n\n\t function validateMethodOverride(isAlreadyDefined, name) {\n\t var specPolicy = ReactClassInterface.hasOwnProperty(name)\n\t ? ReactClassInterface[name]\n\t : null;\n\n\t // Disallow overriding of base class methods unless explicitly allowed.\n\t if (ReactClassMixin.hasOwnProperty(name)) {\n\t _invariant(\n\t specPolicy === 'OVERRIDE_BASE',\n\t 'ReactClassInterface: You are attempting to override ' +\n\t '`%s` from your class specification. Ensure that your method names ' +\n\t 'do not overlap with React methods.',\n\t name\n\t );\n\t }\n\n\t // Disallow defining methods more than once unless explicitly allowed.\n\t if (isAlreadyDefined) {\n\t _invariant(\n\t specPolicy === 'DEFINE_MANY' || specPolicy === 'DEFINE_MANY_MERGED',\n\t 'ReactClassInterface: You are attempting to define ' +\n\t '`%s` on your component more than once. This conflict may be due ' +\n\t 'to a mixin.',\n\t name\n\t );\n\t }\n\t }\n\n\t /**\n\t * Mixin helper which handles policy validation and reserved\n\t * specification keys when building React classes.\n\t */\n\t function mixSpecIntoComponent(Constructor, spec) {\n\t if (!spec) {\n\t if (process.env.NODE_ENV !== 'production') {\n\t var typeofSpec = typeof spec;\n\t var isMixinValid = typeofSpec === 'object' && spec !== null;\n\n\t if (process.env.NODE_ENV !== 'production') {\n\t warning(\n\t isMixinValid,\n\t \"%s: You're attempting to include a mixin that is either null \" +\n\t 'or not an object. Check the mixins included by the component, ' +\n\t 'as well as any mixins they include themselves. ' +\n\t 'Expected object but got %s.',\n\t Constructor.displayName || 'ReactClass',\n\t spec === null ? null : typeofSpec\n\t );\n\t }\n\t }\n\n\t return;\n\t }\n\n\t _invariant(\n\t typeof spec !== 'function',\n\t \"ReactClass: You're attempting to \" +\n\t 'use a component class or function as a mixin. Instead, just use a ' +\n\t 'regular object.'\n\t );\n\t _invariant(\n\t !isValidElement(spec),\n\t \"ReactClass: You're attempting to \" +\n\t 'use a component as a mixin. Instead, just use a regular object.'\n\t );\n\n\t var proto = Constructor.prototype;\n\t var autoBindPairs = proto.__reactAutoBindPairs;\n\n\t // By handling mixins before any other properties, we ensure the same\n\t // chaining order is applied to methods with DEFINE_MANY policy, whether\n\t // mixins are listed before or after these methods in the spec.\n\t if (spec.hasOwnProperty(MIXINS_KEY)) {\n\t RESERVED_SPEC_KEYS.mixins(Constructor, spec.mixins);\n\t }\n\n\t for (var name in spec) {\n\t if (!spec.hasOwnProperty(name)) {\n\t continue;\n\t }\n\n\t if (name === MIXINS_KEY) {\n\t // We have already handled mixins in a special case above.\n\t continue;\n\t }\n\n\t var property = spec[name];\n\t var isAlreadyDefined = proto.hasOwnProperty(name);\n\t validateMethodOverride(isAlreadyDefined, name);\n\n\t if (RESERVED_SPEC_KEYS.hasOwnProperty(name)) {\n\t RESERVED_SPEC_KEYS[name](Constructor, property);\n\t } else {\n\t // Setup methods on prototype:\n\t // The following member methods should not be automatically bound:\n\t // 1. Expected ReactClass methods (in the \"interface\").\n\t // 2. Overridden methods (that were mixed in).\n\t var isReactClassMethod = ReactClassInterface.hasOwnProperty(name);\n\t var isFunction = typeof property === 'function';\n\t var shouldAutoBind =\n\t isFunction &&\n\t !isReactClassMethod &&\n\t !isAlreadyDefined &&\n\t spec.autobind !== false;\n\n\t if (shouldAutoBind) {\n\t autoBindPairs.push(name, property);\n\t proto[name] = property;\n\t } else {\n\t if (isAlreadyDefined) {\n\t var specPolicy = ReactClassInterface[name];\n\n\t // These cases should already be caught by validateMethodOverride.\n\t _invariant(\n\t isReactClassMethod &&\n\t (specPolicy === 'DEFINE_MANY_MERGED' ||\n\t specPolicy === 'DEFINE_MANY'),\n\t 'ReactClass: Unexpected spec policy %s for key %s ' +\n\t 'when mixing in component specs.',\n\t specPolicy,\n\t name\n\t );\n\n\t // For methods which are defined more than once, call the existing\n\t // methods before calling the new property, merging if appropriate.\n\t if (specPolicy === 'DEFINE_MANY_MERGED') {\n\t proto[name] = createMergedResultFunction(proto[name], property);\n\t } else if (specPolicy === 'DEFINE_MANY') {\n\t proto[name] = createChainedFunction(proto[name], property);\n\t }\n\t } else {\n\t proto[name] = property;\n\t if (process.env.NODE_ENV !== 'production') {\n\t // Add verbose displayName to the function, which helps when looking\n\t // at profiling tools.\n\t if (typeof property === 'function' && spec.displayName) {\n\t proto[name].displayName = spec.displayName + '_' + name;\n\t }\n\t }\n\t }\n\t }\n\t }\n\t }\n\t }\n\n\t function mixStaticSpecIntoComponent(Constructor, statics) {\n\t if (!statics) {\n\t return;\n\t }\n\n\t for (var name in statics) {\n\t var property = statics[name];\n\t if (!statics.hasOwnProperty(name)) {\n\t continue;\n\t }\n\n\t var isReserved = name in RESERVED_SPEC_KEYS;\n\t _invariant(\n\t !isReserved,\n\t 'ReactClass: You are attempting to define a reserved ' +\n\t 'property, `%s`, that shouldn\\'t be on the \"statics\" key. Define it ' +\n\t 'as an instance property instead; it will still be accessible on the ' +\n\t 'constructor.',\n\t name\n\t );\n\n\t var isAlreadyDefined = name in Constructor;\n\t if (isAlreadyDefined) {\n\t var specPolicy = ReactClassStaticInterface.hasOwnProperty(name)\n\t ? ReactClassStaticInterface[name]\n\t : null;\n\n\t _invariant(\n\t specPolicy === 'DEFINE_MANY_MERGED',\n\t 'ReactClass: You are attempting to define ' +\n\t '`%s` on your component more than once. This conflict may be ' +\n\t 'due to a mixin.',\n\t name\n\t );\n\n\t Constructor[name] = createMergedResultFunction(Constructor[name], property);\n\n\t return;\n\t }\n\n\t Constructor[name] = property;\n\t }\n\t }\n\n\t /**\n\t * Merge two objects, but throw if both contain the same key.\n\t *\n\t * @param {object} one The first object, which is mutated.\n\t * @param {object} two The second object\n\t * @return {object} one after it has been mutated to contain everything in two.\n\t */\n\t function mergeIntoWithNoDuplicateKeys(one, two) {\n\t _invariant(\n\t one && two && typeof one === 'object' && typeof two === 'object',\n\t 'mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.'\n\t );\n\n\t for (var key in two) {\n\t if (two.hasOwnProperty(key)) {\n\t _invariant(\n\t one[key] === undefined,\n\t 'mergeIntoWithNoDuplicateKeys(): ' +\n\t 'Tried to merge two objects with the same key: `%s`. This conflict ' +\n\t 'may be due to a mixin; in particular, this may be caused by two ' +\n\t 'getInitialState() or getDefaultProps() methods returning objects ' +\n\t 'with clashing keys.',\n\t key\n\t );\n\t one[key] = two[key];\n\t }\n\t }\n\t return one;\n\t }\n\n\t /**\n\t * Creates a function that invokes two functions and merges their return values.\n\t *\n\t * @param {function} one Function to invoke first.\n\t * @param {function} two Function to invoke second.\n\t * @return {function} Function that invokes the two argument functions.\n\t * @private\n\t */\n\t function createMergedResultFunction(one, two) {\n\t return function mergedResult() {\n\t var a = one.apply(this, arguments);\n\t var b = two.apply(this, arguments);\n\t if (a == null) {\n\t return b;\n\t } else if (b == null) {\n\t return a;\n\t }\n\t var c = {};\n\t mergeIntoWithNoDuplicateKeys(c, a);\n\t mergeIntoWithNoDuplicateKeys(c, b);\n\t return c;\n\t };\n\t }\n\n\t /**\n\t * Creates a function that invokes two functions and ignores their return vales.\n\t *\n\t * @param {function} one Function to invoke first.\n\t * @param {function} two Function to invoke second.\n\t * @return {function} Function that invokes the two argument functions.\n\t * @private\n\t */\n\t function createChainedFunction(one, two) {\n\t return function chainedFunction() {\n\t one.apply(this, arguments);\n\t two.apply(this, arguments);\n\t };\n\t }\n\n\t /**\n\t * Binds a method to the component.\n\t *\n\t * @param {object} component Component whose method is going to be bound.\n\t * @param {function} method Method to be bound.\n\t * @return {function} The bound method.\n\t */\n\t function bindAutoBindMethod(component, method) {\n\t var boundMethod = method.bind(component);\n\t if (process.env.NODE_ENV !== 'production') {\n\t boundMethod.__reactBoundContext = component;\n\t boundMethod.__reactBoundMethod = method;\n\t boundMethod.__reactBoundArguments = null;\n\t var componentName = component.constructor.displayName;\n\t var _bind = boundMethod.bind;\n\t boundMethod.bind = function(newThis) {\n\t for (\n\t var _len = arguments.length,\n\t args = Array(_len > 1 ? _len - 1 : 0),\n\t _key = 1;\n\t _key < _len;\n\t _key++\n\t ) {\n\t args[_key - 1] = arguments[_key];\n\t }\n\n\t // User is trying to bind() an autobound method; we effectively will\n\t // ignore the value of \"this\" that the user is trying to use, so\n\t // let's warn.\n\t if (newThis !== component && newThis !== null) {\n\t if (process.env.NODE_ENV !== 'production') {\n\t warning(\n\t false,\n\t 'bind(): React component methods may only be bound to the ' +\n\t 'component instance. See %s',\n\t componentName\n\t );\n\t }\n\t } else if (!args.length) {\n\t if (process.env.NODE_ENV !== 'production') {\n\t warning(\n\t false,\n\t 'bind(): You are binding a component method to the component. ' +\n\t 'React does this for you automatically in a high-performance ' +\n\t 'way, so you can safely remove this call. See %s',\n\t componentName\n\t );\n\t }\n\t return boundMethod;\n\t }\n\t var reboundMethod = _bind.apply(boundMethod, arguments);\n\t reboundMethod.__reactBoundContext = component;\n\t reboundMethod.__reactBoundMethod = method;\n\t reboundMethod.__reactBoundArguments = args;\n\t return reboundMethod;\n\t };\n\t }\n\t return boundMethod;\n\t }\n\n\t /**\n\t * Binds all auto-bound methods in a component.\n\t *\n\t * @param {object} component Component whose method is going to be bound.\n\t */\n\t function bindAutoBindMethods(component) {\n\t var pairs = component.__reactAutoBindPairs;\n\t for (var i = 0; i < pairs.length; i += 2) {\n\t var autoBindKey = pairs[i];\n\t var method = pairs[i + 1];\n\t component[autoBindKey] = bindAutoBindMethod(component, method);\n\t }\n\t }\n\n\t var IsMountedPreMixin = {\n\t componentDidMount: function() {\n\t this.__isMounted = true;\n\t }\n\t };\n\n\t var IsMountedPostMixin = {\n\t componentWillUnmount: function() {\n\t this.__isMounted = false;\n\t }\n\t };\n\n\t /**\n\t * Add more to the ReactClass base class. These are all legacy features and\n\t * therefore not already part of the modern ReactComponent.\n\t */\n\t var ReactClassMixin = {\n\t /**\n\t * TODO: This will be deprecated because state should always keep a consistent\n\t * type signature and the only use case for this, is to avoid that.\n\t */\n\t replaceState: function(newState, callback) {\n\t this.updater.enqueueReplaceState(this, newState, callback);\n\t },\n\n\t /**\n\t * Checks whether or not this composite component is mounted.\n\t * @return {boolean} True if mounted, false otherwise.\n\t * @protected\n\t * @final\n\t */\n\t isMounted: function() {\n\t if (process.env.NODE_ENV !== 'production') {\n\t warning(\n\t this.__didWarnIsMounted,\n\t '%s: isMounted is deprecated. Instead, make sure to clean up ' +\n\t 'subscriptions and pending requests in componentWillUnmount to ' +\n\t 'prevent memory leaks.',\n\t (this.constructor && this.constructor.displayName) ||\n\t this.name ||\n\t 'Component'\n\t );\n\t this.__didWarnIsMounted = true;\n\t }\n\t return !!this.__isMounted;\n\t }\n\t };\n\n\t var ReactClassComponent = function() {};\n\t _assign(\n\t ReactClassComponent.prototype,\n\t ReactComponent.prototype,\n\t ReactClassMixin\n\t );\n\n\t /**\n\t * Creates a composite component class given a class specification.\n\t * See https://facebook.github.io/react/docs/top-level-api.html#react.createclass\n\t *\n\t * @param {object} spec Class specification (which must define `render`).\n\t * @return {function} Component constructor function.\n\t * @public\n\t */\n\t function createClass(spec) {\n\t // To keep our warnings more understandable, we'll use a little hack here to\n\t // ensure that Constructor.name !== 'Constructor'. This makes sure we don't\n\t // unnecessarily identify a class without displayName as 'Constructor'.\n\t var Constructor = identity(function(props, context, updater) {\n\t // This constructor gets overridden by mocks. The argument is used\n\t // by mocks to assert on what gets mounted.\n\n\t if (process.env.NODE_ENV !== 'production') {\n\t warning(\n\t this instanceof Constructor,\n\t 'Something is calling a React component directly. Use a factory or ' +\n\t 'JSX instead. See: https://fb.me/react-legacyfactory'\n\t );\n\t }\n\n\t // Wire up auto-binding\n\t if (this.__reactAutoBindPairs.length) {\n\t bindAutoBindMethods(this);\n\t }\n\n\t this.props = props;\n\t this.context = context;\n\t this.refs = emptyObject;\n\t this.updater = updater || ReactNoopUpdateQueue;\n\n\t this.state = null;\n\n\t // ReactClasses doesn't have constructors. Instead, they use the\n\t // getInitialState and componentWillMount methods for initialization.\n\n\t var initialState = this.getInitialState ? this.getInitialState() : null;\n\t if (process.env.NODE_ENV !== 'production') {\n\t // We allow auto-mocks to proceed as if they're returning null.\n\t if (\n\t initialState === undefined &&\n\t this.getInitialState._isMockFunction\n\t ) {\n\t // This is probably bad practice. Consider warning here and\n\t // deprecating this convenience.\n\t initialState = null;\n\t }\n\t }\n\t _invariant(\n\t typeof initialState === 'object' && !Array.isArray(initialState),\n\t '%s.getInitialState(): must return an object or null',\n\t Constructor.displayName || 'ReactCompositeComponent'\n\t );\n\n\t this.state = initialState;\n\t });\n\t Constructor.prototype = new ReactClassComponent();\n\t Constructor.prototype.constructor = Constructor;\n\t Constructor.prototype.__reactAutoBindPairs = [];\n\n\t injectedMixins.forEach(mixSpecIntoComponent.bind(null, Constructor));\n\n\t mixSpecIntoComponent(Constructor, IsMountedPreMixin);\n\t mixSpecIntoComponent(Constructor, spec);\n\t mixSpecIntoComponent(Constructor, IsMountedPostMixin);\n\n\t // Initialize the defaultProps property after all mixins have been merged.\n\t if (Constructor.getDefaultProps) {\n\t Constructor.defaultProps = Constructor.getDefaultProps();\n\t }\n\n\t if (process.env.NODE_ENV !== 'production') {\n\t // This is a tag to indicate that the use of these method names is ok,\n\t // since it's used with createClass. If it's not, then it's likely a\n\t // mistake so we'll warn you to use the static property, property\n\t // initializer or constructor respectively.\n\t if (Constructor.getDefaultProps) {\n\t Constructor.getDefaultProps.isReactClassApproved = {};\n\t }\n\t if (Constructor.prototype.getInitialState) {\n\t Constructor.prototype.getInitialState.isReactClassApproved = {};\n\t }\n\t }\n\n\t _invariant(\n\t Constructor.prototype.render,\n\t 'createClass(...): Class specification must implement a `render` method.'\n\t );\n\n\t if (process.env.NODE_ENV !== 'production') {\n\t warning(\n\t !Constructor.prototype.componentShouldUpdate,\n\t '%s has a method called ' +\n\t 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' +\n\t 'The name is phrased as a question because the function is ' +\n\t 'expected to return a value.',\n\t spec.displayName || 'A component'\n\t );\n\t warning(\n\t !Constructor.prototype.componentWillRecieveProps,\n\t '%s has a method called ' +\n\t 'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?',\n\t spec.displayName || 'A component'\n\t );\n\t warning(\n\t !Constructor.prototype.UNSAFE_componentWillRecieveProps,\n\t '%s has a method called UNSAFE_componentWillRecieveProps(). ' +\n\t 'Did you mean UNSAFE_componentWillReceiveProps()?',\n\t spec.displayName || 'A component'\n\t );\n\t }\n\n\t // Reduce time spent doing lookups by setting these on the prototype.\n\t for (var methodName in ReactClassInterface) {\n\t if (!Constructor.prototype[methodName]) {\n\t Constructor.prototype[methodName] = null;\n\t }\n\t }\n\n\t return Constructor;\n\t }\n\n\t return createClass;\n\t}\n\n\tmodule.exports = factory;\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports) {\n\n\t/*\n\tobject-assign\n\t(c) Sindre Sorhus\n\t@license MIT\n\t*/\n\n\t'use strict';\n\t/* eslint-disable no-unused-vars */\n\tvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\n\tvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\tvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\n\tfunction toObject(val) {\n\t\tif (val === null || val === undefined) {\n\t\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t\t}\n\n\t\treturn Object(val);\n\t}\n\n\tfunction shouldUseNative() {\n\t\ttry {\n\t\t\tif (!Object.assign) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\t\ttest1[5] = 'de';\n\t\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\t\tvar test2 = {};\n\t\t\tfor (var i = 0; i < 10; i++) {\n\t\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t\t}\n\t\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\t\treturn test2[n];\n\t\t\t});\n\t\t\tif (order2.join('') !== '0123456789') {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\t\tvar test3 = {};\n\t\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\t\ttest3[letter] = letter;\n\t\t\t});\n\t\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn true;\n\t\t} catch (err) {\n\t\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\t\tvar from;\n\t\tvar to = toObject(target);\n\t\tvar symbols;\n\n\t\tfor (var s = 1; s < arguments.length; s++) {\n\t\t\tfrom = Object(arguments[s]);\n\n\t\t\tfor (var key in from) {\n\t\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\t\tto[key] = from[key];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (getOwnPropertySymbols) {\n\t\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn to;\n\t};\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports) {\n\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t *\n\t * This source code is licensed under the MIT license found in the\n\t * LICENSE file in the root directory of this source tree.\n\t *\n\t */\n\n\t'use strict';\n\n\tvar emptyObject = {};\n\n\tif (process.env.NODE_ENV !== 'production') {\n\t Object.freeze(emptyObject);\n\t}\n\n\tmodule.exports = emptyObject;\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports) {\n\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t *\n\t * This source code is licensed under the MIT license found in the\n\t * LICENSE file in the root directory of this source tree.\n\t *\n\t */\n\n\t'use strict';\n\n\t/**\n\t * Use invariant() to assert state which your program assumes to be true.\n\t *\n\t * Provide sprintf-style format (only %s is supported) and arguments\n\t * to provide information about what broke and what you were\n\t * expecting.\n\t *\n\t * The invariant message will be stripped in production, but the invariant\n\t * will remain to ensure logic does not differ in production.\n\t */\n\n\tvar validateFormat = function validateFormat(format) {};\n\n\tif (process.env.NODE_ENV !== 'production') {\n\t validateFormat = function validateFormat(format) {\n\t if (format === undefined) {\n\t throw new Error('invariant requires an error message argument');\n\t }\n\t };\n\t}\n\n\tfunction invariant(condition, format, a, b, c, d, e, f) {\n\t validateFormat(format);\n\n\t if (!condition) {\n\t var error;\n\t if (format === undefined) {\n\t error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n\t } else {\n\t var args = [a, b, c, d, e, f];\n\t var argIndex = 0;\n\t error = new Error(format.replace(/%s/g, function () {\n\t return args[argIndex++];\n\t }));\n\t error.name = 'Invariant Violation';\n\t }\n\n\t error.framesToPop = 1; // we don't care about invariant's own frame\n\t throw error;\n\t }\n\t}\n\n\tmodule.exports = invariant;\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Copyright (c) 2014-present, Facebook, Inc.\n\t *\n\t * This source code is licensed under the MIT license found in the\n\t * LICENSE file in the root directory of this source tree.\n\t *\n\t */\n\n\t'use strict';\n\n\tvar emptyFunction = __webpack_require__(8);\n\n\t/**\n\t * Similar to invariant but only logs a warning if the condition is not met.\n\t * This can be used to log issues in development environments in critical\n\t * paths. Removing the logging code for production environments will keep the\n\t * same logic and follow the same code paths.\n\t */\n\n\tvar warning = emptyFunction;\n\n\tif (process.env.NODE_ENV !== 'production') {\n\t var printWarning = function printWarning(format) {\n\t for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n\t args[_key - 1] = arguments[_key];\n\t }\n\n\t var argIndex = 0;\n\t var message = 'Warning: ' + format.replace(/%s/g, function () {\n\t return args[argIndex++];\n\t });\n\t if (typeof console !== 'undefined') {\n\t console.error(message);\n\t }\n\t try {\n\t // --- Welcome to debugging React ---\n\t // This error was thrown as a convenience so that you can use this stack\n\t // to find the callsite that caused this warning to fire.\n\t throw new Error(message);\n\t } catch (x) {}\n\t };\n\n\t warning = function warning(condition, format) {\n\t if (format === undefined) {\n\t throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');\n\t }\n\n\t if (format.indexOf('Failed Composite propType: ') === 0) {\n\t return; // Ignore CompositeComponent proptype check.\n\t }\n\n\t if (!condition) {\n\t for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n\t args[_key2 - 2] = arguments[_key2];\n\t }\n\n\t printWarning.apply(undefined, [format].concat(args));\n\t }\n\t };\n\t}\n\n\tmodule.exports = warning;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports) {\n\n\t\"use strict\";\n\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t *\n\t * This source code is licensed under the MIT license found in the\n\t * LICENSE file in the root directory of this source tree.\n\t *\n\t * \n\t */\n\n\tfunction makeEmptyFunction(arg) {\n\t return function () {\n\t return arg;\n\t };\n\t}\n\n\t/**\n\t * This function accepts and discards inputs; it has no side effects. This is\n\t * primarily useful idiomatically for overridable function endpoints which\n\t * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n\t */\n\tvar emptyFunction = function emptyFunction() {};\n\n\temptyFunction.thatReturns = makeEmptyFunction;\n\temptyFunction.thatReturnsFalse = makeEmptyFunction(false);\n\temptyFunction.thatReturnsTrue = makeEmptyFunction(true);\n\temptyFunction.thatReturnsNull = makeEmptyFunction(null);\n\temptyFunction.thatReturnsThis = function () {\n\t return this;\n\t};\n\temptyFunction.thatReturnsArgument = function (arg) {\n\t return arg;\n\t};\n\n\tmodule.exports = emptyFunction;\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\n\tvar NumeralFormatter = function NumeralFormatter(numeralDecimalMark, numeralIntegerScale, numeralDecimalScale, numeralThousandsGroupStyle, numeralPositiveOnly, stripLeadingZeroes, prefix, signBeforePrefix, tailPrefix, delimiter) {\n\t var owner = this;\n\n\t owner.numeralDecimalMark = numeralDecimalMark || '.';\n\t owner.numeralIntegerScale = numeralIntegerScale > 0 ? numeralIntegerScale : 0;\n\t owner.numeralDecimalScale = numeralDecimalScale >= 0 ? numeralDecimalScale : 2;\n\t owner.numeralThousandsGroupStyle = numeralThousandsGroupStyle || NumeralFormatter.groupStyle.thousand;\n\t owner.numeralPositiveOnly = !!numeralPositiveOnly;\n\t owner.stripLeadingZeroes = stripLeadingZeroes !== false;\n\t owner.prefix = prefix || prefix === '' ? prefix : '';\n\t owner.signBeforePrefix = !!signBeforePrefix;\n\t owner.tailPrefix = !!tailPrefix;\n\t owner.delimiter = delimiter || delimiter === '' ? delimiter : ',';\n\t owner.delimiterRE = delimiter ? new RegExp('\\\\' + delimiter, 'g') : '';\n\t};\n\n\tNumeralFormatter.groupStyle = {\n\t thousand: 'thousand',\n\t lakh: 'lakh',\n\t wan: 'wan',\n\t none: 'none'\n\t};\n\n\tNumeralFormatter.prototype = {\n\t getRawValue: function getRawValue(value) {\n\t return value.replace(this.delimiterRE, '').replace(this.numeralDecimalMark, '.');\n\t },\n\n\t format: function format(value) {\n\t var owner = this,\n\t parts,\n\t partSign,\n\t partSignAndPrefix,\n\t partInteger,\n\t partDecimal = '';\n\n\t // strip alphabet letters\n\t value = value.replace(/[A-Za-z]/g, '')\n\t // replace the first decimal mark with reserved placeholder\n\t .replace(owner.numeralDecimalMark, 'M')\n\n\t // strip non numeric letters except minus and \"M\"\n\t // this is to ensure prefix has been stripped\n\t .replace(/[^\\dM-]/g, '')\n\n\t // replace the leading minus with reserved placeholder\n\t .replace(/^\\-/, 'N')\n\n\t // strip the other minus sign (if present)\n\t .replace(/\\-/g, '')\n\n\t // replace the minus sign (if present)\n\t .replace('N', owner.numeralPositiveOnly ? '' : '-')\n\n\t // replace decimal mark\n\t .replace('M', owner.numeralDecimalMark);\n\n\t // strip any leading zeros\n\t if (owner.stripLeadingZeroes) {\n\t value = value.replace(/^(-)?0+(?=\\d)/, '$1');\n\t }\n\n\t partSign = value.slice(0, 1) === '-' ? '-' : '';\n\t if (typeof owner.prefix != 'undefined') {\n\t if (owner.signBeforePrefix) {\n\t partSignAndPrefix = partSign + owner.prefix;\n\t } else {\n\t partSignAndPrefix = owner.prefix + partSign;\n\t }\n\t } else {\n\t partSignAndPrefix = partSign;\n\t }\n\n\t partInteger = value;\n\n\t if (value.indexOf(owner.numeralDecimalMark) >= 0) {\n\t parts = value.split(owner.numeralDecimalMark);\n\t partInteger = parts[0];\n\t partDecimal = owner.numeralDecimalMark + parts[1].slice(0, owner.numeralDecimalScale);\n\t }\n\n\t if (partSign === '-') {\n\t partInteger = partInteger.slice(1);\n\t }\n\n\t if (owner.numeralIntegerScale > 0) {\n\t partInteger = partInteger.slice(0, owner.numeralIntegerScale);\n\t }\n\n\t switch (owner.numeralThousandsGroupStyle) {\n\t case NumeralFormatter.groupStyle.lakh:\n\t partInteger = partInteger.replace(/(\\d)(?=(\\d\\d)+\\d$)/g, '$1' + owner.delimiter);\n\n\t break;\n\n\t case NumeralFormatter.groupStyle.wan:\n\t partInteger = partInteger.replace(/(\\d)(?=(\\d{4})+$)/g, '$1' + owner.delimiter);\n\n\t break;\n\n\t case NumeralFormatter.groupStyle.thousand:\n\t partInteger = partInteger.replace(/(\\d)(?=(\\d{3})+$)/g, '$1' + owner.delimiter);\n\n\t break;\n\t }\n\n\t if (owner.tailPrefix) {\n\t return partSign + partInteger.toString() + (owner.numeralDecimalScale > 0 ? partDecimal.toString() : '') + owner.prefix;\n\t }\n\n\t return partSignAndPrefix + partInteger.toString() + (owner.numeralDecimalScale > 0 ? partDecimal.toString() : '');\n\t }\n\t};\n\n\tmodule.exports = NumeralFormatter;\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\n\tvar DateFormatter = function DateFormatter(datePattern, dateMin, dateMax) {\n\t var owner = this;\n\n\t owner.date = [];\n\t owner.blocks = [];\n\t owner.datePattern = datePattern;\n\t owner.dateMin = dateMin.split('-').reverse().map(function (x) {\n\t return parseInt(x, 10);\n\t });\n\t if (owner.dateMin.length === 2) owner.dateMin.unshift(0);\n\n\t owner.dateMax = dateMax.split('-').reverse().map(function (x) {\n\t return parseInt(x, 10);\n\t });\n\t if (owner.dateMax.length === 2) owner.dateMax.unshift(0);\n\n\t owner.initBlocks();\n\t};\n\n\tDateFormatter.prototype = {\n\t initBlocks: function initBlocks() {\n\t var owner = this;\n\t owner.datePattern.forEach(function (value) {\n\t if (value === 'Y') {\n\t owner.blocks.push(4);\n\t } else {\n\t owner.blocks.push(2);\n\t }\n\t });\n\t },\n\n\t getISOFormatDate: function getISOFormatDate() {\n\t var owner = this,\n\t date = owner.date;\n\n\t return date[2] ? date[2] + '-' + owner.addLeadingZero(date[1]) + '-' + owner.addLeadingZero(date[0]) : '';\n\t },\n\n\t getBlocks: function getBlocks() {\n\t return this.blocks;\n\t },\n\n\t getValidatedDate: function getValidatedDate(value) {\n\t var owner = this,\n\t result = '';\n\n\t value = value.replace(/[^\\d]/g, '');\n\n\t owner.blocks.forEach(function (length, index) {\n\t if (value.length > 0) {\n\t var sub = value.slice(0, length),\n\t sub0 = sub.slice(0, 1),\n\t rest = value.slice(length);\n\n\t switch (owner.datePattern[index]) {\n\t case 'd':\n\t if (sub === '00') {\n\t sub = '01';\n\t } else if (parseInt(sub0, 10) > 3) {\n\t sub = '0' + sub0;\n\t } else if (parseInt(sub, 10) > 31) {\n\t sub = '31';\n\t }\n\n\t break;\n\n\t case 'm':\n\t if (sub === '00') {\n\t sub = '01';\n\t } else if (parseInt(sub0, 10) > 1) {\n\t sub = '0' + sub0;\n\t } else if (parseInt(sub, 10) > 12) {\n\t sub = '12';\n\t }\n\n\t break;\n\t }\n\n\t result += sub;\n\n\t // update remaining string\n\t value = rest;\n\t }\n\t });\n\n\t return this.getFixedDateString(result);\n\t },\n\n\t getFixedDateString: function getFixedDateString(value) {\n\t var owner = this,\n\t datePattern = owner.datePattern,\n\t date = [],\n\t dayIndex = 0,\n\t monthIndex = 0,\n\t yearIndex = 0,\n\t dayStartIndex = 0,\n\t monthStartIndex = 0,\n\t yearStartIndex = 0,\n\t day,\n\t month,\n\t year,\n\t fullYearDone = false;\n\n\t // mm-dd || dd-mm\n\t if (value.length === 4 && datePattern[0].toLowerCase() !== 'y' && datePattern[1].toLowerCase() !== 'y') {\n\t dayStartIndex = datePattern[0] === 'd' ? 0 : 2;\n\t monthStartIndex = 2 - dayStartIndex;\n\t day = parseInt(value.slice(dayStartIndex, dayStartIndex + 2), 10);\n\t month = parseInt(value.slice(monthStartIndex, monthStartIndex + 2), 10);\n\n\t date = this.getFixedDate(day, month, 0);\n\t }\n\n\t // yyyy-mm-dd || yyyy-dd-mm || mm-dd-yyyy || dd-mm-yyyy || dd-yyyy-mm || mm-yyyy-dd\n\t if (value.length === 8) {\n\t datePattern.forEach(function (type, index) {\n\t switch (type) {\n\t case 'd':\n\t dayIndex = index;\n\t break;\n\t case 'm':\n\t monthIndex = index;\n\t break;\n\t default:\n\t yearIndex = index;\n\t break;\n\t }\n\t });\n\n\t yearStartIndex = yearIndex * 2;\n\t dayStartIndex = dayIndex <= yearIndex ? dayIndex * 2 : dayIndex * 2 + 2;\n\t monthStartIndex = monthIndex <= yearIndex ? monthIndex * 2 : monthIndex * 2 + 2;\n\n\t day = parseInt(value.slice(dayStartIndex, dayStartIndex + 2), 10);\n\t month = parseInt(value.slice(monthStartIndex, monthStartIndex + 2), 10);\n\t year = parseInt(value.slice(yearStartIndex, yearStartIndex + 4), 10);\n\n\t fullYearDone = value.slice(yearStartIndex, yearStartIndex + 4).length === 4;\n\n\t date = this.getFixedDate(day, month, year);\n\t }\n\n\t // mm-yy || yy-mm\n\t if (value.length === 4 && (datePattern[0] === 'y' || datePattern[1] === 'y')) {\n\t monthStartIndex = datePattern[0] === 'm' ? 0 : 2;\n\t yearStartIndex = 2 - monthStartIndex;\n\t month = parseInt(value.slice(monthStartIndex, monthStartIndex + 2), 10);\n\t year = parseInt(value.slice(yearStartIndex, yearStartIndex + 2), 10);\n\n\t fullYearDone = value.slice(yearStartIndex, yearStartIndex + 2).length === 2;\n\n\t date = [0, month, year];\n\t }\n\n\t // mm-yyyy || yyyy-mm\n\t if (value.length === 6 && (datePattern[0] === 'Y' || datePattern[1] === 'Y')) {\n\t monthStartIndex = datePattern[0] === 'm' ? 0 : 4;\n\t yearStartIndex = 2 - 0.5 * monthStartIndex;\n\t month = parseInt(value.slice(monthStartIndex, monthStartIndex + 2), 10);\n\t year = parseInt(value.slice(yearStartIndex, yearStartIndex + 4), 10);\n\n\t fullYearDone = value.slice(yearStartIndex, yearStartIndex + 4).length === 4;\n\n\t date = [0, month, year];\n\t }\n\n\t date = owner.getRangeFixedDate(date);\n\t owner.date = date;\n\n\t var result = date.length === 0 ? value : datePattern.reduce(function (previous, current) {\n\t switch (current) {\n\t case 'd':\n\t return previous + (date[0] === 0 ? '' : owner.addLeadingZero(date[0]));\n\t case 'm':\n\t return previous + (date[1] === 0 ? '' : owner.addLeadingZero(date[1]));\n\t case 'y':\n\t return previous + (fullYearDone ? owner.addLeadingZeroForYear(date[2], false) : '');\n\t case 'Y':\n\t return previous + (fullYearDone ? owner.addLeadingZeroForYear(date[2], true) : '');\n\t }\n\t }, '');\n\n\t return result;\n\t },\n\n\t getRangeFixedDate: function getRangeFixedDate(date) {\n\t var owner = this,\n\t datePattern = owner.datePattern,\n\t dateMin = owner.dateMin || [],\n\t dateMax = owner.dateMax || [];\n\n\t if (!date.length || dateMin.length < 3 && dateMax.length < 3) return date;\n\n\t if (datePattern.find(function (x) {\n\t return x.toLowerCase() === 'y';\n\t }) && date[2] === 0) return date;\n\n\t if (dateMax.length && (dateMax[2] < date[2] || dateMax[2] === date[2] && (dateMax[1] < date[1] || dateMax[1] === date[1] && dateMax[0] < date[0]))) return dateMax;\n\n\t if (dateMin.length && (dateMin[2] > date[2] || dateMin[2] === date[2] && (dateMin[1] > date[1] || dateMin[1] === date[1] && dateMin[0] > date[0]))) return dateMin;\n\n\t return date;\n\t },\n\n\t getFixedDate: function getFixedDate(day, month, year) {\n\t day = Math.min(day, 31);\n\t month = Math.min(month, 12);\n\t year = parseInt(year || 0, 10);\n\n\t if (month < 7 && month % 2 === 0 || month > 8 && month % 2 === 1) {\n\t day = Math.min(day, month === 2 ? this.isLeapYear(year) ? 29 : 28 : 30);\n\t }\n\n\t return [day, month, year];\n\t },\n\n\t isLeapYear: function isLeapYear(year) {\n\t return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0;\n\t },\n\n\t addLeadingZero: function addLeadingZero(number) {\n\t return (number < 10 ? '0' : '') + number;\n\t },\n\n\t addLeadingZeroForYear: function addLeadingZeroForYear(number, fullYearMode) {\n\t if (fullYearMode) {\n\t return (number < 10 ? '000' : number < 100 ? '00' : number < 1000 ? '0' : '') + number;\n\t }\n\n\t return (number < 10 ? '0' : '') + number;\n\t }\n\t};\n\n\tmodule.exports = DateFormatter;\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\n\tvar TimeFormatter = function TimeFormatter(timePattern, timeFormat) {\n\t var owner = this;\n\n\t owner.time = [];\n\t owner.blocks = [];\n\t owner.timePattern = timePattern;\n\t owner.timeFormat = timeFormat;\n\t owner.initBlocks();\n\t};\n\n\tTimeFormatter.prototype = {\n\t initBlocks: function initBlocks() {\n\t var owner = this;\n\t owner.timePattern.forEach(function () {\n\t owner.blocks.push(2);\n\t });\n\t },\n\n\t getISOFormatTime: function getISOFormatTime() {\n\t var owner = this,\n\t time = owner.time;\n\n\t return time[2] ? owner.addLeadingZero(time[0]) + ':' + owner.addLeadingZero(time[1]) + ':' + owner.addLeadingZero(time[2]) : '';\n\t },\n\n\t getBlocks: function getBlocks() {\n\t return this.blocks;\n\t },\n\n\t getTimeFormatOptions: function getTimeFormatOptions() {\n\t var owner = this;\n\t if (String(owner.timeFormat) === '12') {\n\t return {\n\t maxHourFirstDigit: 1,\n\t maxHours: 12,\n\t maxMinutesFirstDigit: 5,\n\t maxMinutes: 60\n\t };\n\t }\n\n\t return {\n\t maxHourFirstDigit: 2,\n\t maxHours: 23,\n\t maxMinutesFirstDigit: 5,\n\t maxMinutes: 60\n\t };\n\t },\n\n\t getValidatedTime: function getValidatedTime(value) {\n\t var owner = this,\n\t result = '';\n\n\t value = value.replace(/[^\\d]/g, '');\n\n\t var timeFormatOptions = owner.getTimeFormatOptions();\n\n\t owner.blocks.forEach(function (length, index) {\n\t if (value.length > 0) {\n\t var sub = value.slice(0, length),\n\t sub0 = sub.slice(0, 1),\n\t rest = value.slice(length);\n\n\t switch (owner.timePattern[index]) {\n\n\t case 'h':\n\t if (parseInt(sub0, 10) > timeFormatOptions.maxHourFirstDigit) {\n\t sub = '0' + sub0;\n\t } else if (parseInt(sub, 10) > timeFormatOptions.maxHours) {\n\t sub = timeFormatOptions.maxHours + '';\n\t }\n\n\t break;\n\n\t case 'm':\n\t case 's':\n\t if (parseInt(sub0, 10) > timeFormatOptions.maxMinutesFirstDigit) {\n\t sub = '0' + sub0;\n\t } else if (parseInt(sub, 10) > timeFormatOptions.maxMinutes) {\n\t sub = timeFormatOptions.maxMinutes + '';\n\t }\n\t break;\n\t }\n\n\t result += sub;\n\n\t // update remaining string\n\t value = rest;\n\t }\n\t });\n\n\t return this.getFixedTimeString(result);\n\t },\n\n\t getFixedTimeString: function getFixedTimeString(value) {\n\t var owner = this,\n\t timePattern = owner.timePattern,\n\t time = [],\n\t secondIndex = 0,\n\t minuteIndex = 0,\n\t hourIndex = 0,\n\t secondStartIndex = 0,\n\t minuteStartIndex = 0,\n\t hourStartIndex = 0,\n\t second,\n\t minute,\n\t hour;\n\n\t if (value.length === 6) {\n\t timePattern.forEach(function (type, index) {\n\t switch (type) {\n\t case 's':\n\t secondIndex = index * 2;\n\t break;\n\t case 'm':\n\t minuteIndex = index * 2;\n\t break;\n\t case 'h':\n\t hourIndex = index * 2;\n\t break;\n\t }\n\t });\n\n\t hourStartIndex = hourIndex;\n\t minuteStartIndex = minuteIndex;\n\t secondStartIndex = secondIndex;\n\n\t second = parseInt(value.slice(secondStartIndex, secondStartIndex + 2), 10);\n\t minute = parseInt(value.slice(minuteStartIndex, minuteStartIndex + 2), 10);\n\t hour = parseInt(value.slice(hourStartIndex, hourStartIndex + 2), 10);\n\n\t time = this.getFixedTime(hour, minute, second);\n\t }\n\n\t if (value.length === 4 && owner.timePattern.indexOf('s') < 0) {\n\t timePattern.forEach(function (type, index) {\n\t switch (type) {\n\t case 'm':\n\t minuteIndex = index * 2;\n\t break;\n\t case 'h':\n\t hourIndex = index * 2;\n\t break;\n\t }\n\t });\n\n\t hourStartIndex = hourIndex;\n\t minuteStartIndex = minuteIndex;\n\n\t second = 0;\n\t minute = parseInt(value.slice(minuteStartIndex, minuteStartIndex + 2), 10);\n\t hour = parseInt(value.slice(hourStartIndex, hourStartIndex + 2), 10);\n\n\t time = this.getFixedTime(hour, minute, second);\n\t }\n\n\t owner.time = time;\n\n\t return time.length === 0 ? value : timePattern.reduce(function (previous, current) {\n\t switch (current) {\n\t case 's':\n\t return previous + owner.addLeadingZero(time[2]);\n\t case 'm':\n\t return previous + owner.addLeadingZero(time[1]);\n\t case 'h':\n\t return previous + owner.addLeadingZero(time[0]);\n\t }\n\t }, '');\n\t },\n\n\t getFixedTime: function getFixedTime(hour, minute, second) {\n\t second = Math.min(parseInt(second || 0, 10), 60);\n\t minute = Math.min(minute, 60);\n\t hour = Math.min(hour, 60);\n\n\t return [hour, minute, second];\n\t },\n\n\t addLeadingZero: function addLeadingZero(number) {\n\t return (number < 10 ? '0' : '') + number;\n\t }\n\t};\n\n\tmodule.exports = TimeFormatter;\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\n\tvar PhoneFormatter = function PhoneFormatter(formatter, delimiter) {\n\t var owner = this;\n\n\t owner.delimiter = delimiter || delimiter === '' ? delimiter : ' ';\n\t owner.delimiterRE = delimiter ? new RegExp('\\\\' + delimiter, 'g') : '';\n\n\t owner.formatter = formatter;\n\t};\n\n\tPhoneFormatter.prototype = {\n\t setFormatter: function setFormatter(formatter) {\n\t this.formatter = formatter;\n\t },\n\n\t format: function format(phoneNumber) {\n\t var owner = this;\n\n\t owner.formatter.clear();\n\n\t // only keep number and +\n\t phoneNumber = phoneNumber.replace(/[^\\d+]/g, '');\n\n\t // strip non-leading +\n\t phoneNumber = phoneNumber.replace(/^\\+/, 'B').replace(/\\+/g, '').replace('B', '+');\n\n\t // strip delimiter\n\t phoneNumber = phoneNumber.replace(owner.delimiterRE, '');\n\n\t var result = '',\n\t current,\n\t validated = false;\n\n\t for (var i = 0, iMax = phoneNumber.length; i < iMax; i++) {\n\t current = owner.formatter.inputDigit(phoneNumber.charAt(i));\n\n\t // has ()- or space inside\n\t if (/[\\s()-]/g.test(current)) {\n\t result = current;\n\n\t validated = true;\n\t } else {\n\t if (!validated) {\n\t result = current;\n\t }\n\t // else: over length input\n\t // it turns to invalid number again\n\t }\n\t }\n\n\t // strip ()\n\t // e.g. US: 7161234567 returns (716) 123-4567\n\t result = result.replace(/[()]/g, '');\n\t // replace library delimiter with user customized delimiter\n\t result = result.replace(/[\\s-]/g, owner.delimiter);\n\n\t return result;\n\t }\n\t};\n\n\tmodule.exports = PhoneFormatter;\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\n\tvar CreditCardDetector = {\n\t blocks: {\n\t uatp: [4, 5, 6],\n\t amex: [4, 6, 5],\n\t diners: [4, 6, 4],\n\t discover: [4, 4, 4, 4],\n\t mastercard: [4, 4, 4, 4],\n\t dankort: [4, 4, 4, 4],\n\t instapayment: [4, 4, 4, 4],\n\t jcb15: [4, 6, 5],\n\t jcb: [4, 4, 4, 4],\n\t maestro: [4, 4, 4, 4],\n\t visa: [4, 4, 4, 4],\n\t mir: [4, 4, 4, 4],\n\t unionPay: [4, 4, 4, 4],\n\t general: [4, 4, 4, 4]\n\t },\n\n\t re: {\n\t // starts with 1; 15 digits, not starts with 1800 (jcb card)\n\t uatp: /^(?!1800)1\\d{0,14}/,\n\n\t // starts with 34/37; 15 digits\n\t amex: /^3[47]\\d{0,13}/,\n\n\t // starts with 6011/65/644-649; 16 digits\n\t discover: /^(?:6011|65\\d{0,2}|64[4-9]\\d?)\\d{0,12}/,\n\n\t // starts with 300-305/309 or 36/38/39; 14 digits\n\t diners: /^3(?:0([0-5]|9)|[689]\\d?)\\d{0,11}/,\n\n\t // starts with 51-55/2221–2720; 16 digits\n\t mastercard: /^(5[1-5]\\d{0,2}|22[2-9]\\d{0,1}|2[3-7]\\d{0,2})\\d{0,12}/,\n\n\t // starts with 5019/4175/4571; 16 digits\n\t dankort: /^(5019|4175|4571)\\d{0,12}/,\n\n\t // starts with 637-639; 16 digits\n\t instapayment: /^63[7-9]\\d{0,13}/,\n\n\t // starts with 2131/1800; 15 digits\n\t jcb15: /^(?:2131|1800)\\d{0,11}/,\n\n\t // starts with 2131/1800/35; 16 digits\n\t jcb: /^(?:35\\d{0,2})\\d{0,12}/,\n\n\t // starts with 50/56-58/6304/67; 16 digits\n\t maestro: /^(?:5[0678]\\d{0,2}|6304|67\\d{0,2})\\d{0,12}/,\n\n\t // starts with 22; 16 digits\n\t mir: /^220[0-4]\\d{0,12}/,\n\n\t // starts with 4; 16 digits\n\t visa: /^4\\d{0,15}/,\n\n\t // starts with 62/81; 16 digits\n\t unionPay: /^(62|81)\\d{0,14}/\n\t },\n\n\t getStrictBlocks: function getStrictBlocks(block) {\n\t var total = block.reduce(function (prev, current) {\n\t return prev + current;\n\t }, 0);\n\n\t return block.concat(19 - total);\n\t },\n\n\t getInfo: function getInfo(value, strictMode) {\n\t var blocks = CreditCardDetector.blocks,\n\t re = CreditCardDetector.re;\n\n\t // Some credit card can have up to 19 digits number.\n\t // Set strictMode to true will remove the 16 max-length restrain,\n\t // however, I never found any website validate card number like\n\t // this, hence probably you don't want to enable this option.\n\t strictMode = !!strictMode;\n\n\t for (var key in re) {\n\t if (re[key].test(value)) {\n\t var matchedBlocks = blocks[key];\n\t return {\n\t type: key,\n\t blocks: strictMode ? this.getStrictBlocks(matchedBlocks) : matchedBlocks\n\t };\n\t }\n\t }\n\n\t return {\n\t type: 'unknown',\n\t blocks: strictMode ? this.getStrictBlocks(blocks.general) : blocks.general\n\t };\n\t }\n\t};\n\n\tmodule.exports = CreditCardDetector;\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\n\tvar Util = {\n\t noop: function noop() {},\n\n\t strip: function strip(value, re) {\n\t return value.replace(re, '');\n\t },\n\n\t getPostDelimiter: function getPostDelimiter(value, delimiter, delimiters) {\n\t // single delimiter\n\t if (delimiters.length === 0) {\n\t return value.slice(-delimiter.length) === delimiter ? delimiter : '';\n\t }\n\n\t // multiple delimiters\n\t var matchedDelimiter = '';\n\t delimiters.forEach(function (current) {\n\t if (value.slice(-current.length) === current) {\n\t matchedDelimiter = current;\n\t }\n\t });\n\n\t return matchedDelimiter;\n\t },\n\n\t getDelimiterREByDelimiter: function getDelimiterREByDelimiter(delimiter) {\n\t return new RegExp(delimiter.replace(/([.?*+^$[\\]\\\\(){}|-])/g, '\\\\$1'), 'g');\n\t },\n\n\t getNextCursorPosition: function getNextCursorPosition(prevPos, oldValue, newValue, delimiter, delimiters) {\n\t // If cursor was at the end of value, just place it back.\n\t // Because new value could contain additional chars.\n\t if (oldValue.length === prevPos) {\n\t return newValue.length;\n\t }\n\n\t return prevPos + this.getPositionOffset(prevPos, oldValue, newValue, delimiter, delimiters);\n\t },\n\n\t getPositionOffset: function getPositionOffset(prevPos, oldValue, newValue, delimiter, delimiters) {\n\t var oldRawValue, newRawValue, lengthOffset;\n\n\t oldRawValue = this.stripDelimiters(oldValue.slice(0, prevPos), delimiter, delimiters);\n\t newRawValue = this.stripDelimiters(newValue.slice(0, prevPos), delimiter, delimiters);\n\t lengthOffset = oldRawValue.length - newRawValue.length;\n\n\t return lengthOffset !== 0 ? lengthOffset / Math.abs(lengthOffset) : 0;\n\t },\n\n\t stripDelimiters: function stripDelimiters(value, delimiter, delimiters) {\n\t var owner = this;\n\n\t // single delimiter\n\t if (delimiters.length === 0) {\n\t var delimiterRE = delimiter ? owner.getDelimiterREByDelimiter(delimiter) : '';\n\n\t return value.replace(delimiterRE, '');\n\t }\n\n\t // multiple delimiters\n\t delimiters.forEach(function (current) {\n\t current.split('').forEach(function (letter) {\n\t value = value.replace(owner.getDelimiterREByDelimiter(letter), '');\n\t });\n\t });\n\n\t return value;\n\t },\n\n\t headStr: function headStr(str, length) {\n\t return str.slice(0, length);\n\t },\n\n\t getMaxLength: function getMaxLength(blocks) {\n\t return blocks.reduce(function (previous, current) {\n\t return previous + current;\n\t }, 0);\n\t },\n\n\t // strip prefix\n\t // Before type | After type | Return value\n\t // PEFIX-... | PEFIX-... | ''\n\t // PREFIX-123 | PEFIX-123 | 123\n\t // PREFIX-123 | PREFIX-23 | 23\n\t // PREFIX-123 | PREFIX-1234 | 1234\n\t getPrefixStrippedValue: function getPrefixStrippedValue(value, prefix, prefixLength, prevResult, delimiter, delimiters, noImmediatePrefix, tailPrefix, signBeforePrefix) {\n\t // No prefix\n\t if (prefixLength === 0) {\n\t return value;\n\t }\n\n\t // Value is prefix\n\t if (value === prefix && value !== '') {\n\t return '';\n\t }\n\n\t if (signBeforePrefix && value.slice(0, 1) == '-') {\n\t var prev = prevResult.slice(0, 1) == '-' ? prevResult.slice(1) : prevResult;\n\t return '-' + this.getPrefixStrippedValue(value.slice(1), prefix, prefixLength, prev, delimiter, delimiters, noImmediatePrefix, tailPrefix, signBeforePrefix);\n\t }\n\n\t // Pre result prefix string does not match pre-defined prefix\n\t if (prevResult.slice(0, prefixLength) !== prefix && !tailPrefix) {\n\t // Check if the first time user entered something\n\t if (noImmediatePrefix && !prevResult && value) return value;\n\t return '';\n\t } else if (prevResult.slice(-prefixLength) !== prefix && tailPrefix) {\n\t // Check if the first time user entered something\n\t if (noImmediatePrefix && !prevResult && value) return value;\n\t return '';\n\t }\n\n\t var prevValue = this.stripDelimiters(prevResult, delimiter, delimiters);\n\n\t // New value has issue, someone typed in between prefix letters\n\t // Revert to pre value\n\t if (value.slice(0, prefixLength) !== prefix && !tailPrefix) {\n\t return prevValue.slice(prefixLength);\n\t } else if (value.slice(-prefixLength) !== prefix && tailPrefix) {\n\t return prevValue.slice(0, -prefixLength - 1);\n\t }\n\n\t // No issue, strip prefix for new value\n\t return tailPrefix ? value.slice(0, -prefixLength) : value.slice(prefixLength);\n\t },\n\n\t getFirstDiffIndex: function getFirstDiffIndex(prev, current) {\n\t var index = 0;\n\n\t while (prev.charAt(index) === current.charAt(index)) {\n\t if (prev.charAt(index++) === '') {\n\t return -1;\n\t }\n\t }\n\n\t return index;\n\t },\n\n\t getFormattedValue: function getFormattedValue(value, blocks, blocksLength, delimiter, delimiters, delimiterLazyShow) {\n\t var result = '',\n\t multipleDelimiters = delimiters.length > 0,\n\t currentDelimiter = '';\n\n\t // no options, normal input\n\t if (blocksLength === 0) {\n\t return value;\n\t }\n\n\t blocks.forEach(function (length, index) {\n\t if (value.length > 0) {\n\t var sub = value.slice(0, length),\n\t rest = value.slice(length);\n\n\t if (multipleDelimiters) {\n\t currentDelimiter = delimiters[delimiterLazyShow ? index - 1 : index] || currentDelimiter;\n\t } else {\n\t currentDelimiter = delimiter;\n\t }\n\n\t if (delimiterLazyShow) {\n\t if (index > 0) {\n\t result += currentDelimiter;\n\t }\n\n\t result += sub;\n\t } else {\n\t result += sub;\n\n\t if (sub.length === length && index < blocksLength - 1) {\n\t result += currentDelimiter;\n\t }\n\t }\n\n\t // update remaining string\n\t value = rest;\n\t }\n\t });\n\n\t return result;\n\t },\n\n\t // move cursor to the end\n\t // the first time user focuses on an input with prefix\n\t fixPrefixCursor: function fixPrefixCursor(el, prefix, delimiter, delimiters) {\n\t if (!el) {\n\t return;\n\t }\n\n\t var val = el.value,\n\t appendix = delimiter || delimiters[0] || ' ';\n\n\t if (!el.setSelectionRange || !prefix || prefix.length + appendix.length <= val.length) {\n\t return;\n\t }\n\n\t var len = val.length * 2;\n\n\t // set timeout to avoid blink\n\t setTimeout(function () {\n\t el.setSelectionRange(len, len);\n\t }, 1);\n\t },\n\n\t // Check if input field is fully selected\n\t checkFullSelection: function checkFullSelection(value) {\n\t try {\n\t var selection = window.getSelection() || document.getSelection() || {};\n\t return selection.toString().length === value.length;\n\t } catch (ex) {\n\t // Ignore\n\t }\n\n\t return false;\n\t },\n\n\t setSelection: function setSelection(element, position, doc) {\n\t if (element !== this.getActiveElement(doc)) {\n\t return;\n\t }\n\n\t // cursor is already in the end\n\t if (element && element.value.length <= position) {\n\t return;\n\t }\n\n\t if (element.createTextRange) {\n\t var range = element.createTextRange();\n\n\t range.move('character', position);\n\t range.select();\n\t } else {\n\t try {\n\t element.setSelectionRange(position, position);\n\t } catch (e) {\n\t // eslint-disable-next-line\n\t console.warn('The input element type does not support selection');\n\t }\n\t }\n\t },\n\n\t getActiveElement: function getActiveElement(parent) {\n\t var activeElement = parent.activeElement;\n\t if (activeElement && activeElement.shadowRoot) {\n\t return this.getActiveElement(activeElement.shadowRoot);\n\t }\n\t return activeElement;\n\t },\n\n\t isAndroid: function isAndroid() {\n\t return navigator && /android/i.test(navigator.userAgent);\n\t },\n\n\t // On Android chrome, the keyup and keydown events\n\t // always return key code 229 as a composition that\n\t // buffers the user’s keystrokes\n\t // see https://github.com/nosir/cleave.js/issues/147\n\t isAndroidBackspaceKeydown: function isAndroidBackspaceKeydown(lastInputValue, currentInputValue) {\n\t if (!this.isAndroid() || !lastInputValue || !currentInputValue) {\n\t return false;\n\t }\n\n\t return currentInputValue === lastInputValue.slice(0, -1);\n\t }\n\t};\n\n\tmodule.exports = Util;\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\n\t/**\n\t * Props Assignment\n\t *\n\t * Separate this, so react module can share the usage\n\t */\n\n\tvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n\tvar DefaultProperties = {\n\t // Maybe change to object-assign\n\t // for now just keep it as simple\n\t assign: function assign(target, opts) {\n\t target = target || {};\n\t opts = opts || {};\n\n\t // credit card\n\t target.creditCard = !!opts.creditCard;\n\t target.creditCardStrictMode = !!opts.creditCardStrictMode;\n\t target.creditCardType = '';\n\t target.onCreditCardTypeChanged = opts.onCreditCardTypeChanged || function () {};\n\n\t // phone\n\t target.phone = !!opts.phone;\n\t target.phoneRegionCode = opts.phoneRegionCode || 'AU';\n\t target.phoneFormatter = {};\n\n\t // time\n\t target.time = !!opts.time;\n\t target.timePattern = opts.timePattern || ['h', 'm', 's'];\n\t target.timeFormat = opts.timeFormat || '24';\n\t target.timeFormatter = {};\n\n\t // date\n\t target.date = !!opts.date;\n\t target.datePattern = opts.datePattern || ['d', 'm', 'Y'];\n\t target.dateMin = opts.dateMin || '';\n\t target.dateMax = opts.dateMax || '';\n\t target.dateFormatter = {};\n\n\t // numeral\n\t target.numeral = !!opts.numeral;\n\t target.numeralIntegerScale = opts.numeralIntegerScale > 0 ? opts.numeralIntegerScale : 0;\n\t target.numeralDecimalScale = opts.numeralDecimalScale >= 0 ? opts.numeralDecimalScale : 2;\n\t target.numeralDecimalMark = opts.numeralDecimalMark || '.';\n\t target.numeralThousandsGroupStyle = opts.numeralThousandsGroupStyle || 'thousand';\n\t target.numeralPositiveOnly = !!opts.numeralPositiveOnly;\n\t target.stripLeadingZeroes = opts.stripLeadingZeroes !== false;\n\t target.signBeforePrefix = !!opts.signBeforePrefix;\n\t target.tailPrefix = !!opts.tailPrefix;\n\n\t // others\n\t target.swapHiddenInput = !!opts.swapHiddenInput;\n\n\t target.numericOnly = target.creditCard || target.date || !!opts.numericOnly;\n\n\t target.uppercase = !!opts.uppercase;\n\t target.lowercase = !!opts.lowercase;\n\n\t target.prefix = target.creditCard || target.date ? '' : opts.prefix || '';\n\t target.noImmediatePrefix = !!opts.noImmediatePrefix;\n\t target.prefixLength = target.prefix.length;\n\t target.rawValueTrimPrefix = !!opts.rawValueTrimPrefix;\n\t target.copyDelimiter = !!opts.copyDelimiter;\n\n\t target.initValue = opts.initValue !== undefined && opts.initValue !== null ? opts.initValue.toString() : '';\n\n\t target.delimiter = opts.delimiter || opts.delimiter === '' ? opts.delimiter : opts.date ? '/' : opts.time ? ':' : opts.numeral ? ',' : opts.phone ? ' ' : ' ';\n\t target.delimiterLength = target.delimiter.length;\n\t target.delimiterLazyShow = !!opts.delimiterLazyShow;\n\t target.delimiters = opts.delimiters || [];\n\n\t target.blocks = opts.blocks || [];\n\t target.blocksLength = target.blocks.length;\n\n\t target.root = (typeof global === 'undefined' ? 'undefined' : _typeof(global)) === 'object' && global ? global : window;\n\t target.document = opts.document || target.root.document;\n\n\t target.maxLength = 0;\n\n\t target.backspace = false;\n\t target.result = '';\n\n\t target.onValueChanged = opts.onValueChanged || function () {};\n\n\t return target;\n\t }\n\t};\n\n\tmodule.exports = DefaultProperties;\n\n/***/ })\n/******/ ])\n});\n;","module.exports = require('./dist/cleave-react-node.js');\n","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e))for(t=0;t values\n *\n * @param {string} str\n * @param {object} [options]\n * @return {object}\n * @public\n */\n\nfunction parse(str, options) {\n if (typeof str !== 'string') {\n throw new TypeError('argument str must be a string');\n }\n\n var obj = {}\n var opt = options || {};\n var pairs = str.split(';')\n var dec = opt.decode || decode;\n\n for (var i = 0; i < pairs.length; i++) {\n var pair = pairs[i];\n var index = pair.indexOf('=')\n\n // skip things that don't look like key=value\n if (index < 0) {\n continue;\n }\n\n var key = pair.substring(0, index).trim()\n\n // only assign once\n if (undefined == obj[key]) {\n var val = pair.substring(index + 1, pair.length).trim()\n\n // quoted values\n if (val[0] === '\"') {\n val = val.slice(1, -1)\n }\n\n obj[key] = tryDecode(val, dec);\n }\n }\n\n return obj;\n}\n\n/**\n * Serialize data into a cookie header.\n *\n * Serialize the a name value pair into a cookie string suitable for\n * http headers. An optional options object specified cookie parameters.\n *\n * serialize('foo', 'bar', { httpOnly: true })\n * => \"foo=bar; httpOnly\"\n *\n * @param {string} name\n * @param {string} val\n * @param {object} [options]\n * @return {string}\n * @public\n */\n\nfunction serialize(name, val, options) {\n var opt = options || {};\n var enc = opt.encode || encode;\n\n if (typeof enc !== 'function') {\n throw new TypeError('option encode is invalid');\n }\n\n if (!fieldContentRegExp.test(name)) {\n throw new TypeError('argument name is invalid');\n }\n\n var value = enc(val);\n\n if (value && !fieldContentRegExp.test(value)) {\n throw new TypeError('argument val is invalid');\n }\n\n var str = name + '=' + value;\n\n if (null != opt.maxAge) {\n var maxAge = opt.maxAge - 0;\n\n if (isNaN(maxAge) || !isFinite(maxAge)) {\n throw new TypeError('option maxAge is invalid')\n }\n\n str += '; Max-Age=' + Math.floor(maxAge);\n }\n\n if (opt.domain) {\n if (!fieldContentRegExp.test(opt.domain)) {\n throw new TypeError('option domain is invalid');\n }\n\n str += '; Domain=' + opt.domain;\n }\n\n if (opt.path) {\n if (!fieldContentRegExp.test(opt.path)) {\n throw new TypeError('option path is invalid');\n }\n\n str += '; Path=' + opt.path;\n }\n\n if (opt.expires) {\n if (typeof opt.expires.toUTCString !== 'function') {\n throw new TypeError('option expires is invalid');\n }\n\n str += '; Expires=' + opt.expires.toUTCString();\n }\n\n if (opt.httpOnly) {\n str += '; HttpOnly';\n }\n\n if (opt.secure) {\n str += '; Secure';\n }\n\n if (opt.sameSite) {\n var sameSite = typeof opt.sameSite === 'string'\n ? opt.sameSite.toLowerCase() : opt.sameSite;\n\n switch (sameSite) {\n case true:\n str += '; SameSite=Strict';\n break;\n case 'lax':\n str += '; SameSite=Lax';\n break;\n case 'strict':\n str += '; SameSite=Strict';\n break;\n case 'none':\n str += '; SameSite=None';\n break;\n default:\n throw new TypeError('option sameSite is invalid');\n }\n }\n\n return str;\n}\n\n/**\n * Try decoding a string using a decoding function.\n *\n * @param {string} str\n * @param {function} decode\n * @private\n */\n\nfunction tryDecode(str, decode) {\n try {\n return decode(str);\n } catch (e) {\n return str;\n }\n}\n","var formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'less than a second',\n other: 'less than {{count}} seconds'\n },\n xSeconds: {\n one: '1 second',\n other: '{{count}} seconds'\n },\n halfAMinute: 'half a minute',\n lessThanXMinutes: {\n one: 'less than a minute',\n other: 'less than {{count}} minutes'\n },\n xMinutes: {\n one: '1 minute',\n other: '{{count}} minutes'\n },\n aboutXHours: {\n one: 'about 1 hour',\n other: 'about {{count}} hours'\n },\n xHours: {\n one: '1 hour',\n other: '{{count}} hours'\n },\n xDays: {\n one: '1 day',\n other: '{{count}} days'\n },\n aboutXWeeks: {\n one: 'about 1 week',\n other: 'about {{count}} weeks'\n },\n xWeeks: {\n one: '1 week',\n other: '{{count}} weeks'\n },\n aboutXMonths: {\n one: 'about 1 month',\n other: 'about {{count}} months'\n },\n xMonths: {\n one: '1 month',\n other: '{{count}} months'\n },\n aboutXYears: {\n one: 'about 1 year',\n other: 'about {{count}} years'\n },\n xYears: {\n one: '1 year',\n other: '{{count}} years'\n },\n overXYears: {\n one: 'over 1 year',\n other: 'over {{count}} years'\n },\n almostXYears: {\n one: 'almost 1 year',\n other: 'almost {{count}} years'\n }\n};\nvar formatDistance = function formatDistance(token, count, options) {\n var result;\n var tokenValue = formatDistanceLocale[token];\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace('{{count}}', count.toString());\n }\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return 'in ' + result;\n } else {\n return result + ' ago';\n }\n }\n return result;\n};\nexport default formatDistance;","export default function buildFormatLongFn(args) {\n return function () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n // TODO: Remove String()\n var width = options.width ? String(options.width) : args.defaultWidth;\n var format = args.formats[width] || args.formats[args.defaultWidth];\n return format;\n };\n}","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE, MMMM do, y',\n long: 'MMMM do, y',\n medium: 'MMM d, y',\n short: 'MM/dd/yyyy'\n};\nvar timeFormats = {\n full: 'h:mm:ss a zzzz',\n long: 'h:mm:ss a z',\n medium: 'h:mm:ss a',\n short: 'h:mm a'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'at' {{time}}\",\n long: \"{{date}} 'at' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: \"'last' eeee 'at' p\",\n yesterday: \"'yesterday at' p\",\n today: \"'today at' p\",\n tomorrow: \"'tomorrow at' p\",\n nextWeek: \"eeee 'at' p\",\n other: 'P'\n};\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n};\nexport default formatRelative;","export default function buildLocalizeFn(args) {\n return function (dirtyIndex, options) {\n var context = options !== null && options !== void 0 && options.context ? String(options.context) : 'standalone';\n var valuesArray;\n if (context === 'formatting' && args.formattingValues) {\n var defaultWidth = args.defaultFormattingWidth || args.defaultWidth;\n var width = options !== null && options !== void 0 && options.width ? String(options.width) : defaultWidth;\n valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];\n } else {\n var _defaultWidth = args.defaultWidth;\n var _width = options !== null && options !== void 0 && options.width ? String(options.width) : args.defaultWidth;\n valuesArray = args.values[_width] || args.values[_defaultWidth];\n }\n var index = args.argumentCallback ? args.argumentCallback(dirtyIndex) : dirtyIndex;\n // @ts-ignore: For some reason TypeScript just don't want to match it, no matter how hard we try. I challenge you to try to remove it!\n return valuesArray[index];\n };\n}","export default function buildMatchFn(args) {\n return function (string) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var width = options.width;\n var matchPattern = width && args.matchPatterns[width] || args.matchPatterns[args.defaultMatchWidth];\n var matchResult = string.match(matchPattern);\n if (!matchResult) {\n return null;\n }\n var matchedString = matchResult[0];\n var parsePatterns = width && args.parsePatterns[width] || args.parsePatterns[args.defaultParseWidth];\n var key = Array.isArray(parsePatterns) ? findIndex(parsePatterns, function (pattern) {\n return pattern.test(matchedString);\n }) : findKey(parsePatterns, function (pattern) {\n return pattern.test(matchedString);\n });\n var value;\n value = args.valueCallback ? args.valueCallback(key) : key;\n value = options.valueCallback ? options.valueCallback(value) : value;\n var rest = string.slice(matchedString.length);\n return {\n value: value,\n rest: rest\n };\n };\n}\nfunction findKey(object, predicate) {\n for (var key in object) {\n if (object.hasOwnProperty(key) && predicate(object[key])) {\n return key;\n }\n }\n return undefined;\n}\nfunction findIndex(array, predicate) {\n for (var key = 0; key < array.length; key++) {\n if (predicate(array[key])) {\n return key;\n }\n }\n return undefined;\n}","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(th|st|nd|rd)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(b|a)/i,\n abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n wide: /^(before christ|before common era|anno domini|common era)/i\n};\nvar parseEraPatterns = {\n any: [/^b/i, /^(a|c)/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](th|st|nd|rd)? quarter/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\n wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^may/i, /^jun/i, /^jul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n narrow: /^[smtwf]/i,\n short: /^(su|mo|tu|we|th|fr|sa)/i,\n abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,\n wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i\n};\nvar parseDayPatterns = {\n narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mi/i,\n noon: /^no/i,\n morning: /morning/i,\n afternoon: /afternoon/i,\n evening: /evening/i,\n night: /night/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","export default function buildMatchPatternFn(args) {\n return function (string) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var matchResult = string.match(args.matchPattern);\n if (!matchResult) return null;\n var matchedString = matchResult[0];\n var parseResult = string.match(args.parsePattern);\n if (!parseResult) return null;\n var value = args.valueCallback ? args.valueCallback(parseResult[0]) : parseResult[0];\n value = options.valueCallback ? options.valueCallback(value) : value;\n var rest = string.slice(matchedString.length);\n return {\n value: value,\n rest: rest\n };\n };\n}","import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary English locale (United States).\n * @language English\n * @iso-639-2 eng\n * @author Sasha Koss [@kossnocorp]{@link https://github.com/kossnocorp}\n * @author Lesha Koss [@leshakoss]{@link https://github.com/leshakoss}\n */\nvar locale = {\n code: 'en-US',\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 0 /* Sunday */,\n firstWeekContainsDate: 1\n }\n};\nexport default locale;","import defaultLocale from \"../../locale/en-US/index.js\";\nexport default defaultLocale;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['B', 'A'],\n abbreviated: ['BC', 'AD'],\n wide: ['Before Christ', 'Anno Domini']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],\n wide: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter']\n};\n\n// Note: in English, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\nvar monthValues = {\n narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],\n abbreviated: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n wide: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']\n};\nvar dayValues = {\n narrow: ['S', 'M', 'T', 'W', 'T', 'F', 'S'],\n short: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n abbreviated: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n wide: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'mi',\n noon: 'n',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'mi',\n noon: 'n',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n }\n};\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n var number = Number(dirtyNumber);\n\n // If ordinal numbers depend on context, for example,\n // if they are different for different grammatical genders,\n // use `options.unit`.\n //\n // `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear',\n // 'day', 'hour', 'minute', 'second'.\n\n var rem100 = number % 100;\n if (rem100 > 20 || rem100 < 10) {\n switch (rem100 % 10) {\n case 1:\n return number + 'st';\n case 2:\n return number + 'nd';\n case 3:\n return number + 'rd';\n }\n }\n return number + 'th';\n};\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","var defaultOptions = {};\nexport function getDefaultOptions() {\n return defaultOptions;\n}\nexport function setDefaultOptions(newOptions) {\n defaultOptions = newOptions;\n}","var dateLongFormatter = function dateLongFormatter(pattern, formatLong) {\n switch (pattern) {\n case 'P':\n return formatLong.date({\n width: 'short'\n });\n case 'PP':\n return formatLong.date({\n width: 'medium'\n });\n case 'PPP':\n return formatLong.date({\n width: 'long'\n });\n case 'PPPP':\n default:\n return formatLong.date({\n width: 'full'\n });\n }\n};\nvar timeLongFormatter = function timeLongFormatter(pattern, formatLong) {\n switch (pattern) {\n case 'p':\n return formatLong.time({\n width: 'short'\n });\n case 'pp':\n return formatLong.time({\n width: 'medium'\n });\n case 'ppp':\n return formatLong.time({\n width: 'long'\n });\n case 'pppp':\n default:\n return formatLong.time({\n width: 'full'\n });\n }\n};\nvar dateTimeLongFormatter = function dateTimeLongFormatter(pattern, formatLong) {\n var matchResult = pattern.match(/(P+)(p+)?/) || [];\n var datePattern = matchResult[1];\n var timePattern = matchResult[2];\n if (!timePattern) {\n return dateLongFormatter(pattern, formatLong);\n }\n var dateTimeFormat;\n switch (datePattern) {\n case 'P':\n dateTimeFormat = formatLong.dateTime({\n width: 'short'\n });\n break;\n case 'PP':\n dateTimeFormat = formatLong.dateTime({\n width: 'medium'\n });\n break;\n case 'PPP':\n dateTimeFormat = formatLong.dateTime({\n width: 'long'\n });\n break;\n case 'PPPP':\n default:\n dateTimeFormat = formatLong.dateTime({\n width: 'full'\n });\n break;\n }\n return dateTimeFormat.replace('{{date}}', dateLongFormatter(datePattern, formatLong)).replace('{{time}}', timeLongFormatter(timePattern, formatLong));\n};\nvar longFormatters = {\n p: timeLongFormatter,\n P: dateTimeLongFormatter\n};\nexport default longFormatters;","/**\n * Google Chrome as of 67.0.3396.87 introduced timezones with offset that includes seconds.\n * They usually appear for dates that denote time before the timezones were introduced\n * (e.g. for 'Europe/Prague' timezone the offset is GMT+00:57:44 before 1 October 1891\n * and GMT+01:00:00 after that date)\n *\n * Date#getTimezoneOffset returns the offset in minutes and would return 57 for the example above,\n * which would lead to incorrect calculations.\n *\n * This function returns the timezone offset in milliseconds that takes seconds in account.\n */\nexport default function getTimezoneOffsetInMilliseconds(date) {\n var utcDate = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds()));\n utcDate.setUTCFullYear(date.getFullYear());\n return date.getTime() - utcDate.getTime();\n}","import toDate from \"../../toDate/index.js\";\nimport startOfUTCISOWeek from \"../startOfUTCISOWeek/index.js\";\nimport startOfUTCISOWeekYear from \"../startOfUTCISOWeekYear/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nvar MILLISECONDS_IN_WEEK = 604800000;\nexport default function getUTCISOWeek(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var diff = startOfUTCISOWeek(date).getTime() - startOfUTCISOWeekYear(date).getTime();\n\n // Round the number of days to the nearest integer\n // because the number of milliseconds in a week is not constant\n // (e.g. it's different in the week of the daylight saving time clock shift)\n return Math.round(diff / MILLISECONDS_IN_WEEK) + 1;\n}","import getUTCISOWeekYear from \"../getUTCISOWeekYear/index.js\";\nimport startOfUTCISOWeek from \"../startOfUTCISOWeek/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nexport default function startOfUTCISOWeekYear(dirtyDate) {\n requiredArgs(1, arguments);\n var year = getUTCISOWeekYear(dirtyDate);\n var fourthOfJanuary = new Date(0);\n fourthOfJanuary.setUTCFullYear(year, 0, 4);\n fourthOfJanuary.setUTCHours(0, 0, 0, 0);\n var date = startOfUTCISOWeek(fourthOfJanuary);\n return date;\n}","import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport startOfUTCISOWeek from \"../startOfUTCISOWeek/index.js\";\nexport default function getUTCISOWeekYear(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var year = date.getUTCFullYear();\n var fourthOfJanuaryOfNextYear = new Date(0);\n fourthOfJanuaryOfNextYear.setUTCFullYear(year + 1, 0, 4);\n fourthOfJanuaryOfNextYear.setUTCHours(0, 0, 0, 0);\n var startOfNextYear = startOfUTCISOWeek(fourthOfJanuaryOfNextYear);\n var fourthOfJanuaryOfThisYear = new Date(0);\n fourthOfJanuaryOfThisYear.setUTCFullYear(year, 0, 4);\n fourthOfJanuaryOfThisYear.setUTCHours(0, 0, 0, 0);\n var startOfThisYear = startOfUTCISOWeek(fourthOfJanuaryOfThisYear);\n if (date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}","import toDate from \"../../toDate/index.js\";\nimport startOfUTCWeek from \"../startOfUTCWeek/index.js\";\nimport startOfUTCWeekYear from \"../startOfUTCWeekYear/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nvar MILLISECONDS_IN_WEEK = 604800000;\nexport default function getUTCWeek(dirtyDate, options) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var diff = startOfUTCWeek(date, options).getTime() - startOfUTCWeekYear(date, options).getTime();\n\n // Round the number of days to the nearest integer\n // because the number of milliseconds in a week is not constant\n // (e.g. it's different in the week of the daylight saving time clock shift)\n return Math.round(diff / MILLISECONDS_IN_WEEK) + 1;\n}","import getUTCWeekYear from \"../getUTCWeekYear/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport startOfUTCWeek from \"../startOfUTCWeek/index.js\";\nimport toInteger from \"../toInteger/index.js\";\nimport { getDefaultOptions } from \"../defaultOptions/index.js\";\nexport default function startOfUTCWeekYear(dirtyDate, options) {\n var _ref, _ref2, _ref3, _options$firstWeekCon, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n requiredArgs(1, arguments);\n var defaultOptions = getDefaultOptions();\n var firstWeekContainsDate = toInteger((_ref = (_ref2 = (_ref3 = (_options$firstWeekCon = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon !== void 0 ? _options$firstWeekCon : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.firstWeekContainsDate) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.firstWeekContainsDate) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.firstWeekContainsDate) !== null && _ref !== void 0 ? _ref : 1);\n var year = getUTCWeekYear(dirtyDate, options);\n var firstWeek = new Date(0);\n firstWeek.setUTCFullYear(year, 0, firstWeekContainsDate);\n firstWeek.setUTCHours(0, 0, 0, 0);\n var date = startOfUTCWeek(firstWeek, options);\n return date;\n}","import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport startOfUTCWeek from \"../startOfUTCWeek/index.js\";\nimport toInteger from \"../toInteger/index.js\";\nimport { getDefaultOptions } from \"../defaultOptions/index.js\";\nexport default function getUTCWeekYear(dirtyDate, options) {\n var _ref, _ref2, _ref3, _options$firstWeekCon, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var year = date.getUTCFullYear();\n var defaultOptions = getDefaultOptions();\n var firstWeekContainsDate = toInteger((_ref = (_ref2 = (_ref3 = (_options$firstWeekCon = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon !== void 0 ? _options$firstWeekCon : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.firstWeekContainsDate) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.firstWeekContainsDate) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.firstWeekContainsDate) !== null && _ref !== void 0 ? _ref : 1);\n\n // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively');\n }\n var firstWeekOfNextYear = new Date(0);\n firstWeekOfNextYear.setUTCFullYear(year + 1, 0, firstWeekContainsDate);\n firstWeekOfNextYear.setUTCHours(0, 0, 0, 0);\n var startOfNextYear = startOfUTCWeek(firstWeekOfNextYear, options);\n var firstWeekOfThisYear = new Date(0);\n firstWeekOfThisYear.setUTCFullYear(year, 0, firstWeekContainsDate);\n firstWeekOfThisYear.setUTCHours(0, 0, 0, 0);\n var startOfThisYear = startOfUTCWeek(firstWeekOfThisYear, options);\n if (date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}","var protectedDayOfYearTokens = ['D', 'DD'];\nvar protectedWeekYearTokens = ['YY', 'YYYY'];\nexport function isProtectedDayOfYearToken(token) {\n return protectedDayOfYearTokens.indexOf(token) !== -1;\n}\nexport function isProtectedWeekYearToken(token) {\n return protectedWeekYearTokens.indexOf(token) !== -1;\n}\nexport function throwProtectedError(token, format, input) {\n if (token === 'YYYY') {\n throw new RangeError(\"Use `yyyy` instead of `YYYY` (in `\".concat(format, \"`) for formatting years to the input `\").concat(input, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n } else if (token === 'YY') {\n throw new RangeError(\"Use `yy` instead of `YY` (in `\".concat(format, \"`) for formatting years to the input `\").concat(input, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n } else if (token === 'D') {\n throw new RangeError(\"Use `d` instead of `D` (in `\".concat(format, \"`) for formatting days of the month to the input `\").concat(input, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n } else if (token === 'DD') {\n throw new RangeError(\"Use `dd` instead of `DD` (in `\".concat(format, \"`) for formatting days of the month to the input `\").concat(input, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n }\n}","export default function requiredArgs(required, args) {\n if (args.length < required) {\n throw new TypeError(required + ' argument' + (required > 1 ? 's' : '') + ' required, but only ' + args.length + ' present');\n }\n}","import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nexport default function startOfUTCISOWeek(dirtyDate) {\n requiredArgs(1, arguments);\n var weekStartsOn = 1;\n var date = toDate(dirtyDate);\n var day = date.getUTCDay();\n var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n date.setUTCDate(date.getUTCDate() - diff);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n}","import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport toInteger from \"../toInteger/index.js\";\nimport { getDefaultOptions } from \"../defaultOptions/index.js\";\nexport default function startOfUTCWeek(dirtyDate, options) {\n var _ref, _ref2, _ref3, _options$weekStartsOn, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n requiredArgs(1, arguments);\n var defaultOptions = getDefaultOptions();\n var weekStartsOn = toInteger((_ref = (_ref2 = (_ref3 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.weekStartsOn) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.weekStartsOn) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.weekStartsOn) !== null && _ref !== void 0 ? _ref : 0);\n\n // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n var date = toDate(dirtyDate);\n var day = date.getUTCDay();\n var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n date.setUTCDate(date.getUTCDate() - diff);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n}","export default function toInteger(dirtyNumber) {\n if (dirtyNumber === null || dirtyNumber === true || dirtyNumber === false) {\n return NaN;\n }\n var number = Number(dirtyNumber);\n if (isNaN(number)) {\n return number;\n }\n return number < 0 ? Math.ceil(number) : Math.floor(number);\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name addDays\n * @category Day Helpers\n * @summary Add the specified number of days to the given date.\n *\n * @description\n * Add the specified number of days to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of days to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} - the new date with the days added\n * @throws {TypeError} - 2 arguments required\n *\n * @example\n * // Add 10 days to 1 September 2014:\n * const result = addDays(new Date(2014, 8, 1), 10)\n * //=> Thu Sep 11 2014 00:00:00\n */\nexport default function addDays(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var amount = toInteger(dirtyAmount);\n if (isNaN(amount)) {\n return new Date(NaN);\n }\n if (!amount) {\n // If 0 days, no-op to avoid changing times in the hour before end of DST\n return date;\n }\n date.setDate(date.getDate() + amount);\n return date;\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport addMilliseconds from \"../addMilliseconds/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nvar MILLISECONDS_IN_HOUR = 3600000;\n\n/**\n * @name addHours\n * @category Hour Helpers\n * @summary Add the specified number of hours to the given date.\n *\n * @description\n * Add the specified number of hours to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of hours to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the hours added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 2 hours to 10 July 2014 23:00:00:\n * const result = addHours(new Date(2014, 6, 10, 23, 0), 2)\n * //=> Fri Jul 11 2014 01:00:00\n */\nexport default function addHours(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addMilliseconds(dirtyDate, amount * MILLISECONDS_IN_HOUR);\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name addMilliseconds\n * @category Millisecond Helpers\n * @summary Add the specified number of milliseconds to the given date.\n *\n * @description\n * Add the specified number of milliseconds to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of milliseconds to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the milliseconds added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 750 milliseconds to 10 July 2014 12:45:30.000:\n * const result = addMilliseconds(new Date(2014, 6, 10, 12, 45, 30, 0), 750)\n * //=> Thu Jul 10 2014 12:45:30.750\n */\nexport default function addMilliseconds(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var timestamp = toDate(dirtyDate).getTime();\n var amount = toInteger(dirtyAmount);\n return new Date(timestamp + amount);\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport addMilliseconds from \"../addMilliseconds/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nvar MILLISECONDS_IN_MINUTE = 60000;\n\n/**\n * @name addMinutes\n * @category Minute Helpers\n * @summary Add the specified number of minutes to the given date.\n *\n * @description\n * Add the specified number of minutes to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of minutes to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the minutes added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 30 minutes to 10 July 2014 12:00:00:\n * const result = addMinutes(new Date(2014, 6, 10, 12, 0), 30)\n * //=> Thu Jul 10 2014 12:30:00\n */\nexport default function addMinutes(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addMilliseconds(dirtyDate, amount * MILLISECONDS_IN_MINUTE);\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name addMonths\n * @category Month Helpers\n * @summary Add the specified number of months to the given date.\n *\n * @description\n * Add the specified number of months to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of months to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the months added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 5 months to 1 September 2014:\n * const result = addMonths(new Date(2014, 8, 1), 5)\n * //=> Sun Feb 01 2015 00:00:00\n */\nexport default function addMonths(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var amount = toInteger(dirtyAmount);\n if (isNaN(amount)) {\n return new Date(NaN);\n }\n if (!amount) {\n // If 0 months, no-op to avoid changing times in the hour before end of DST\n return date;\n }\n var dayOfMonth = date.getDate();\n\n // The JS Date object supports date math by accepting out-of-bounds values for\n // month, day, etc. For example, new Date(2020, 0, 0) returns 31 Dec 2019 and\n // new Date(2020, 13, 1) returns 1 Feb 2021. This is *almost* the behavior we\n // want except that dates will wrap around the end of a month, meaning that\n // new Date(2020, 13, 31) will return 3 Mar 2021 not 28 Feb 2021 as desired. So\n // we'll default to the end of the desired month by adding 1 to the desired\n // month and using a date of 0 to back up one day to the end of the desired\n // month.\n var endOfDesiredMonth = new Date(date.getTime());\n endOfDesiredMonth.setMonth(date.getMonth() + amount + 1, 0);\n var daysInMonth = endOfDesiredMonth.getDate();\n if (dayOfMonth >= daysInMonth) {\n // If we're already at the end of the month, then this is the correct date\n // and we're done.\n return endOfDesiredMonth;\n } else {\n // Otherwise, we now know that setting the original day-of-month value won't\n // cause an overflow, so set the desired day-of-month. Note that we can't\n // just set the date of `endOfDesiredMonth` because that object may have had\n // its time changed in the unusual case where where a DST transition was on\n // the last day of the month and its local time was in the hour skipped or\n // repeated next to a DST transition. So we use `date` instead which is\n // guaranteed to still have the original time.\n date.setFullYear(endOfDesiredMonth.getFullYear(), endOfDesiredMonth.getMonth(), dayOfMonth);\n return date;\n }\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport addDays from \"../addDays/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name addWeeks\n * @category Week Helpers\n * @summary Add the specified number of weeks to the given date.\n *\n * @description\n * Add the specified number of week to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of weeks to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the weeks added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 4 weeks to 1 September 2014:\n * const result = addWeeks(new Date(2014, 8, 1), 4)\n * //=> Mon Sep 29 2014 00:00:00\n */\nexport default function addWeeks(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n var days = amount * 7;\n return addDays(dirtyDate, days);\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport addMonths from \"../addMonths/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name addYears\n * @category Year Helpers\n * @summary Add the specified number of years to the given date.\n *\n * @description\n * Add the specified number of years to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of years to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the years added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 5 years to 1 September 2014:\n * const result = addYears(new Date(2014, 8, 1), 5)\n * //=> Sun Sep 01 2019 00:00:00\n */\nexport default function addYears(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addMonths(dirtyDate, amount * 12);\n}","/**\n * Days in 1 week.\n *\n * @name daysInWeek\n * @constant\n * @type {number}\n * @default\n */\nexport var daysInWeek = 7;\n\n/**\n * Days in 1 year\n * One years equals 365.2425 days according to the formula:\n *\n * > Leap year occures every 4 years, except for years that are divisable by 100 and not divisable by 400.\n * > 1 mean year = (365+1/4-1/100+1/400) days = 365.2425 days\n *\n * @name daysInYear\n * @constant\n * @type {number}\n * @default\n */\nexport var daysInYear = 365.2425;\n\n/**\n * Maximum allowed time.\n *\n * @name maxTime\n * @constant\n * @type {number}\n * @default\n */\nexport var maxTime = Math.pow(10, 8) * 24 * 60 * 60 * 1000;\n\n/**\n * Milliseconds in 1 minute\n *\n * @name millisecondsInMinute\n * @constant\n * @type {number}\n * @default\n */\nexport var millisecondsInMinute = 60000;\n\n/**\n * Milliseconds in 1 hour\n *\n * @name millisecondsInHour\n * @constant\n * @type {number}\n * @default\n */\nexport var millisecondsInHour = 3600000;\n\n/**\n * Milliseconds in 1 second\n *\n * @name millisecondsInSecond\n * @constant\n * @type {number}\n * @default\n */\nexport var millisecondsInSecond = 1000;\n\n/**\n * Minimum allowed time.\n *\n * @name minTime\n * @constant\n * @type {number}\n * @default\n */\nexport var minTime = -maxTime;\n\n/**\n * Minutes in 1 hour\n *\n * @name minutesInHour\n * @constant\n * @type {number}\n * @default\n */\nexport var minutesInHour = 60;\n\n/**\n * Months in 1 quarter\n *\n * @name monthsInQuarter\n * @constant\n * @type {number}\n * @default\n */\nexport var monthsInQuarter = 3;\n\n/**\n * Months in 1 year\n *\n * @name monthsInYear\n * @constant\n * @type {number}\n * @default\n */\nexport var monthsInYear = 12;\n\n/**\n * Quarters in 1 year\n *\n * @name quartersInYear\n * @constant\n * @type {number}\n * @default\n */\nexport var quartersInYear = 4;\n\n/**\n * Seconds in 1 hour\n *\n * @name secondsInHour\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInHour = 3600;\n\n/**\n * Seconds in 1 minute\n *\n * @name secondsInMinute\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInMinute = 60;\n\n/**\n * Seconds in 1 day\n *\n * @name secondsInDay\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInDay = secondsInHour * 24;\n\n/**\n * Seconds in 1 week\n *\n * @name secondsInWeek\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInWeek = secondsInDay * 7;\n\n/**\n * Seconds in 1 year\n *\n * @name secondsInYear\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInYear = secondsInDay * daysInYear;\n\n/**\n * Seconds in 1 month\n *\n * @name secondsInMonth\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInMonth = secondsInYear / 12;\n\n/**\n * Seconds in 1 quarter\n *\n * @name secondsInQuarter\n * @constant\n * @type {number}\n * @default\n */\nexport var secondsInQuarter = secondsInMonth * 3;","import getTimezoneOffsetInMilliseconds from \"../_lib/getTimezoneOffsetInMilliseconds/index.js\";\nimport startOfDay from \"../startOfDay/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nvar MILLISECONDS_IN_DAY = 86400000;\n\n/**\n * @name differenceInCalendarDays\n * @category Day Helpers\n * @summary Get the number of calendar days between the given dates.\n *\n * @description\n * Get the number of calendar days between the given dates. This means that the times are removed\n * from the dates and then the difference in days is calculated.\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @returns {Number} the number of calendar days\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many calendar days are between\n * // 2 July 2011 23:00:00 and 2 July 2012 00:00:00?\n * const result = differenceInCalendarDays(\n * new Date(2012, 6, 2, 0, 0),\n * new Date(2011, 6, 2, 23, 0)\n * )\n * //=> 366\n * // How many calendar days are between\n * // 2 July 2011 23:59:00 and 3 July 2011 00:01:00?\n * const result = differenceInCalendarDays(\n * new Date(2011, 6, 3, 0, 1),\n * new Date(2011, 6, 2, 23, 59)\n * )\n * //=> 1\n */\nexport default function differenceInCalendarDays(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var startOfDayLeft = startOfDay(dirtyDateLeft);\n var startOfDayRight = startOfDay(dirtyDateRight);\n var timestampLeft = startOfDayLeft.getTime() - getTimezoneOffsetInMilliseconds(startOfDayLeft);\n var timestampRight = startOfDayRight.getTime() - getTimezoneOffsetInMilliseconds(startOfDayRight);\n\n // Round the number of days to the nearest integer\n // because the number of milliseconds in a day is not constant\n // (e.g. it's different in the day of the daylight saving time clock shift)\n return Math.round((timestampLeft - timestampRight) / MILLISECONDS_IN_DAY);\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name differenceInCalendarMonths\n * @category Month Helpers\n * @summary Get the number of calendar months between the given dates.\n *\n * @description\n * Get the number of calendar months between the given dates.\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @returns {Number} the number of calendar months\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many calendar months are between 31 January 2014 and 1 September 2014?\n * const result = differenceInCalendarMonths(\n * new Date(2014, 8, 1),\n * new Date(2014, 0, 31)\n * )\n * //=> 8\n */\nexport default function differenceInCalendarMonths(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeft = toDate(dirtyDateLeft);\n var dateRight = toDate(dirtyDateRight);\n var yearDiff = dateLeft.getFullYear() - dateRight.getFullYear();\n var monthDiff = dateLeft.getMonth() - dateRight.getMonth();\n return yearDiff * 12 + monthDiff;\n}","import startOfWeek from \"../startOfWeek/index.js\";\nimport getTimezoneOffsetInMilliseconds from \"../_lib/getTimezoneOffsetInMilliseconds/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nvar MILLISECONDS_IN_WEEK = 604800000;\n\n/**\n * @name differenceInCalendarWeeks\n * @category Week Helpers\n * @summary Get the number of calendar weeks between the given dates.\n *\n * @description\n * Get the number of calendar weeks between the given dates.\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @returns {Number} the number of calendar weeks\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n *\n * @example\n * // How many calendar weeks are between 5 July 2014 and 20 July 2014?\n * const result = differenceInCalendarWeeks(\n * new Date(2014, 6, 20),\n * new Date(2014, 6, 5)\n * )\n * //=> 3\n *\n * @example\n * // If the week starts on Monday,\n * // how many calendar weeks are between 5 July 2014 and 20 July 2014?\n * const result = differenceInCalendarWeeks(\n * new Date(2014, 6, 20),\n * new Date(2014, 6, 5),\n * { weekStartsOn: 1 }\n * )\n * //=> 2\n */\nexport default function differenceInCalendarWeeks(dirtyDateLeft, dirtyDateRight, options) {\n requiredArgs(2, arguments);\n var startOfWeekLeft = startOfWeek(dirtyDateLeft, options);\n var startOfWeekRight = startOfWeek(dirtyDateRight, options);\n var timestampLeft = startOfWeekLeft.getTime() - getTimezoneOffsetInMilliseconds(startOfWeekLeft);\n var timestampRight = startOfWeekRight.getTime() - getTimezoneOffsetInMilliseconds(startOfWeekRight);\n\n // Round the number of days to the nearest integer\n // because the number of milliseconds in a week is not constant\n // (e.g. it's different in the week of the daylight saving time clock shift)\n return Math.round((timestampLeft - timestampRight) / MILLISECONDS_IN_WEEK);\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name differenceInCalendarYears\n * @category Year Helpers\n * @summary Get the number of calendar years between the given dates.\n *\n * @description\n * Get the number of calendar years between the given dates.\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @returns {Number} the number of calendar years\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many calendar years are between 31 December 2013 and 11 February 2015?\n * const result = differenceInCalendarYears(\n * new Date(2015, 1, 11),\n * new Date(2013, 11, 31)\n * )\n * //=> 2\n */\nexport default function differenceInCalendarYears(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeft = toDate(dirtyDateLeft);\n var dateRight = toDate(dirtyDateRight);\n return dateLeft.getFullYear() - dateRight.getFullYear();\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name endOfDay\n * @category Day Helpers\n * @summary Return the end of a day for the given date.\n *\n * @description\n * Return the end of a day for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the end of a day\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The end of a day for 2 September 2014 11:55:00:\n * const result = endOfDay(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 02 2014 23:59:59.999\n */\nexport default function endOfDay(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n date.setHours(23, 59, 59, 999);\n return date;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name endOfMonth\n * @category Month Helpers\n * @summary Return the end of a month for the given date.\n *\n * @description\n * Return the end of a month for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the end of a month\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The end of a month for 2 September 2014 11:55:00:\n * const result = endOfMonth(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 30 2014 23:59:59.999\n */\nexport default function endOfMonth(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var month = date.getMonth();\n date.setFullYear(date.getFullYear(), month + 1, 0);\n date.setHours(23, 59, 59, 999);\n return date;\n}","import { getDefaultOptions } from \"../_lib/defaultOptions/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name endOfWeek\n * @category Week Helpers\n * @summary Return the end of a week for the given date.\n *\n * @description\n * Return the end of a week for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @returns {Date} the end of a week\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n *\n * @example\n * // The end of a week for 2 September 2014 11:55:00:\n * const result = endOfWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Sat Sep 06 2014 23:59:59.999\n *\n * @example\n * // If the week starts on Monday, the end of the week for 2 September 2014 11:55:00:\n * const result = endOfWeek(new Date(2014, 8, 2, 11, 55, 0), { weekStartsOn: 1 })\n * //=> Sun Sep 07 2014 23:59:59.999\n */\nexport default function endOfWeek(dirtyDate, options) {\n var _ref, _ref2, _ref3, _options$weekStartsOn, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n requiredArgs(1, arguments);\n var defaultOptions = getDefaultOptions();\n var weekStartsOn = toInteger((_ref = (_ref2 = (_ref3 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.weekStartsOn) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.weekStartsOn) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.weekStartsOn) !== null && _ref !== void 0 ? _ref : 0);\n\n // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n var date = toDate(dirtyDate);\n var day = date.getDay();\n var diff = (day < weekStartsOn ? -7 : 0) + 6 - (day - weekStartsOn);\n date.setDate(date.getDate() + diff);\n date.setHours(23, 59, 59, 999);\n return date;\n}","export default function addLeadingZeros(number, targetLength) {\n var sign = number < 0 ? '-' : '';\n var output = Math.abs(number).toString();\n while (output.length < targetLength) {\n output = '0' + output;\n }\n return sign + output;\n}","import addLeadingZeros from \"../../addLeadingZeros/index.js\";\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | |\n * | d | Day of month | D | |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | m | Minute | M | Month |\n * | s | Second | S | Fraction of second |\n * | y | Year (abs) | Y | |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n */\nvar formatters = {\n // Year\n y: function y(date, token) {\n // From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_tokens\n // | Year | y | yy | yyy | yyyy | yyyyy |\n // |----------|-------|----|-------|-------|-------|\n // | AD 1 | 1 | 01 | 001 | 0001 | 00001 |\n // | AD 12 | 12 | 12 | 012 | 0012 | 00012 |\n // | AD 123 | 123 | 23 | 123 | 0123 | 00123 |\n // | AD 1234 | 1234 | 34 | 1234 | 1234 | 01234 |\n // | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |\n\n var signedYear = date.getUTCFullYear();\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n var year = signedYear > 0 ? signedYear : 1 - signedYear;\n return addLeadingZeros(token === 'yy' ? year % 100 : year, token.length);\n },\n // Month\n M: function M(date, token) {\n var month = date.getUTCMonth();\n return token === 'M' ? String(month + 1) : addLeadingZeros(month + 1, 2);\n },\n // Day of the month\n d: function d(date, token) {\n return addLeadingZeros(date.getUTCDate(), token.length);\n },\n // AM or PM\n a: function a(date, token) {\n var dayPeriodEnumValue = date.getUTCHours() / 12 >= 1 ? 'pm' : 'am';\n switch (token) {\n case 'a':\n case 'aa':\n return dayPeriodEnumValue.toUpperCase();\n case 'aaa':\n return dayPeriodEnumValue;\n case 'aaaaa':\n return dayPeriodEnumValue[0];\n case 'aaaa':\n default:\n return dayPeriodEnumValue === 'am' ? 'a.m.' : 'p.m.';\n }\n },\n // Hour [1-12]\n h: function h(date, token) {\n return addLeadingZeros(date.getUTCHours() % 12 || 12, token.length);\n },\n // Hour [0-23]\n H: function H(date, token) {\n return addLeadingZeros(date.getUTCHours(), token.length);\n },\n // Minute\n m: function m(date, token) {\n return addLeadingZeros(date.getUTCMinutes(), token.length);\n },\n // Second\n s: function s(date, token) {\n return addLeadingZeros(date.getUTCSeconds(), token.length);\n },\n // Fraction of second\n S: function S(date, token) {\n var numberOfDigits = token.length;\n var milliseconds = date.getUTCMilliseconds();\n var fractionalSeconds = Math.floor(milliseconds * Math.pow(10, numberOfDigits - 3));\n return addLeadingZeros(fractionalSeconds, token.length);\n }\n};\nexport default formatters;","import getUTCDayOfYear from \"../../../_lib/getUTCDayOfYear/index.js\";\nimport getUTCISOWeek from \"../../../_lib/getUTCISOWeek/index.js\";\nimport getUTCISOWeekYear from \"../../../_lib/getUTCISOWeekYear/index.js\";\nimport getUTCWeek from \"../../../_lib/getUTCWeek/index.js\";\nimport getUTCWeekYear from \"../../../_lib/getUTCWeekYear/index.js\";\nimport addLeadingZeros from \"../../addLeadingZeros/index.js\";\nimport lightFormatters from \"../lightFormatters/index.js\";\nvar dayPeriodEnum = {\n am: 'am',\n pm: 'pm',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n};\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | Milliseconds in day |\n * | b | AM, PM, noon, midnight | B | Flexible day period |\n * | c | Stand-alone local day of week | C* | Localized hour w/ day period |\n * | d | Day of month | D | Day of year |\n * | e | Local day of week | E | Day of week |\n * | f | | F* | Day of week in month |\n * | g* | Modified Julian day | G | Era |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | i! | ISO day of week | I! | ISO week of year |\n * | j* | Localized hour w/ day period | J* | Localized hour w/o day period |\n * | k | Hour [1-24] | K | Hour [0-11] |\n * | l* | (deprecated) | L | Stand-alone month |\n * | m | Minute | M | Month |\n * | n | | N | |\n * | o! | Ordinal number modifier | O | Timezone (GMT) |\n * | p! | Long localized time | P! | Long localized date |\n * | q | Stand-alone quarter | Q | Quarter |\n * | r* | Related Gregorian year | R! | ISO week-numbering year |\n * | s | Second | S | Fraction of second |\n * | t! | Seconds timestamp | T! | Milliseconds timestamp |\n * | u | Extended year | U* | Cyclic year |\n * | v* | Timezone (generic non-locat.) | V* | Timezone (location) |\n * | w | Local week of year | W* | Week of month |\n * | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) |\n * | y | Year (abs) | Y | Local week-numbering year |\n * | z | Timezone (specific non-locat.) | Z* | Timezone (aliases) |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n *\n * Letters marked by ! are non-standard, but implemented by date-fns:\n * - `o` modifies the previous token to turn it into an ordinal (see `format` docs)\n * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,\n * i.e. 7 for Sunday, 1 for Monday, etc.\n * - `I` is ISO week of year, as opposed to `w` which is local week of year.\n * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.\n * `R` is supposed to be used in conjunction with `I` and `i`\n * for universal ISO week-numbering date, whereas\n * `Y` is supposed to be used in conjunction with `w` and `e`\n * for week-numbering date specific to the locale.\n * - `P` is long localized date format\n * - `p` is long localized time format\n */\n\nvar formatters = {\n // Era\n G: function G(date, token, localize) {\n var era = date.getUTCFullYear() > 0 ? 1 : 0;\n switch (token) {\n // AD, BC\n case 'G':\n case 'GG':\n case 'GGG':\n return localize.era(era, {\n width: 'abbreviated'\n });\n // A, B\n case 'GGGGG':\n return localize.era(era, {\n width: 'narrow'\n });\n // Anno Domini, Before Christ\n case 'GGGG':\n default:\n return localize.era(era, {\n width: 'wide'\n });\n }\n },\n // Year\n y: function y(date, token, localize) {\n // Ordinal number\n if (token === 'yo') {\n var signedYear = date.getUTCFullYear();\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n var year = signedYear > 0 ? signedYear : 1 - signedYear;\n return localize.ordinalNumber(year, {\n unit: 'year'\n });\n }\n return lightFormatters.y(date, token);\n },\n // Local week-numbering year\n Y: function Y(date, token, localize, options) {\n var signedWeekYear = getUTCWeekYear(date, options);\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n var weekYear = signedWeekYear > 0 ? signedWeekYear : 1 - signedWeekYear;\n\n // Two digit year\n if (token === 'YY') {\n var twoDigitYear = weekYear % 100;\n return addLeadingZeros(twoDigitYear, 2);\n }\n\n // Ordinal number\n if (token === 'Yo') {\n return localize.ordinalNumber(weekYear, {\n unit: 'year'\n });\n }\n\n // Padding\n return addLeadingZeros(weekYear, token.length);\n },\n // ISO week-numbering year\n R: function R(date, token) {\n var isoWeekYear = getUTCISOWeekYear(date);\n\n // Padding\n return addLeadingZeros(isoWeekYear, token.length);\n },\n // Extended year. This is a single number designating the year of this calendar system.\n // The main difference between `y` and `u` localizers are B.C. years:\n // | Year | `y` | `u` |\n // |------|-----|-----|\n // | AC 1 | 1 | 1 |\n // | BC 1 | 1 | 0 |\n // | BC 2 | 2 | -1 |\n // Also `yy` always returns the last two digits of a year,\n // while `uu` pads single digit years to 2 characters and returns other years unchanged.\n u: function u(date, token) {\n var year = date.getUTCFullYear();\n return addLeadingZeros(year, token.length);\n },\n // Quarter\n Q: function Q(date, token, localize) {\n var quarter = Math.ceil((date.getUTCMonth() + 1) / 3);\n switch (token) {\n // 1, 2, 3, 4\n case 'Q':\n return String(quarter);\n // 01, 02, 03, 04\n case 'QQ':\n return addLeadingZeros(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n case 'Qo':\n return localize.ordinalNumber(quarter, {\n unit: 'quarter'\n });\n // Q1, Q2, Q3, Q4\n case 'QQQ':\n return localize.quarter(quarter, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case 'QQQQQ':\n return localize.quarter(quarter, {\n width: 'narrow',\n context: 'formatting'\n });\n // 1st quarter, 2nd quarter, ...\n case 'QQQQ':\n default:\n return localize.quarter(quarter, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Stand-alone quarter\n q: function q(date, token, localize) {\n var quarter = Math.ceil((date.getUTCMonth() + 1) / 3);\n switch (token) {\n // 1, 2, 3, 4\n case 'q':\n return String(quarter);\n // 01, 02, 03, 04\n case 'qq':\n return addLeadingZeros(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n case 'qo':\n return localize.ordinalNumber(quarter, {\n unit: 'quarter'\n });\n // Q1, Q2, Q3, Q4\n case 'qqq':\n return localize.quarter(quarter, {\n width: 'abbreviated',\n context: 'standalone'\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case 'qqqqq':\n return localize.quarter(quarter, {\n width: 'narrow',\n context: 'standalone'\n });\n // 1st quarter, 2nd quarter, ...\n case 'qqqq':\n default:\n return localize.quarter(quarter, {\n width: 'wide',\n context: 'standalone'\n });\n }\n },\n // Month\n M: function M(date, token, localize) {\n var month = date.getUTCMonth();\n switch (token) {\n case 'M':\n case 'MM':\n return lightFormatters.M(date, token);\n // 1st, 2nd, ..., 12th\n case 'Mo':\n return localize.ordinalNumber(month + 1, {\n unit: 'month'\n });\n // Jan, Feb, ..., Dec\n case 'MMM':\n return localize.month(month, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // J, F, ..., D\n case 'MMMMM':\n return localize.month(month, {\n width: 'narrow',\n context: 'formatting'\n });\n // January, February, ..., December\n case 'MMMM':\n default:\n return localize.month(month, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Stand-alone month\n L: function L(date, token, localize) {\n var month = date.getUTCMonth();\n switch (token) {\n // 1, 2, ..., 12\n case 'L':\n return String(month + 1);\n // 01, 02, ..., 12\n case 'LL':\n return addLeadingZeros(month + 1, 2);\n // 1st, 2nd, ..., 12th\n case 'Lo':\n return localize.ordinalNumber(month + 1, {\n unit: 'month'\n });\n // Jan, Feb, ..., Dec\n case 'LLL':\n return localize.month(month, {\n width: 'abbreviated',\n context: 'standalone'\n });\n // J, F, ..., D\n case 'LLLLL':\n return localize.month(month, {\n width: 'narrow',\n context: 'standalone'\n });\n // January, February, ..., December\n case 'LLLL':\n default:\n return localize.month(month, {\n width: 'wide',\n context: 'standalone'\n });\n }\n },\n // Local week of year\n w: function w(date, token, localize, options) {\n var week = getUTCWeek(date, options);\n if (token === 'wo') {\n return localize.ordinalNumber(week, {\n unit: 'week'\n });\n }\n return addLeadingZeros(week, token.length);\n },\n // ISO week of year\n I: function I(date, token, localize) {\n var isoWeek = getUTCISOWeek(date);\n if (token === 'Io') {\n return localize.ordinalNumber(isoWeek, {\n unit: 'week'\n });\n }\n return addLeadingZeros(isoWeek, token.length);\n },\n // Day of the month\n d: function d(date, token, localize) {\n if (token === 'do') {\n return localize.ordinalNumber(date.getUTCDate(), {\n unit: 'date'\n });\n }\n return lightFormatters.d(date, token);\n },\n // Day of year\n D: function D(date, token, localize) {\n var dayOfYear = getUTCDayOfYear(date);\n if (token === 'Do') {\n return localize.ordinalNumber(dayOfYear, {\n unit: 'dayOfYear'\n });\n }\n return addLeadingZeros(dayOfYear, token.length);\n },\n // Day of week\n E: function E(date, token, localize) {\n var dayOfWeek = date.getUTCDay();\n switch (token) {\n // Tue\n case 'E':\n case 'EE':\n case 'EEE':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // T\n case 'EEEEE':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n case 'EEEEEE':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'formatting'\n });\n // Tuesday\n case 'EEEE':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Local day of week\n e: function e(date, token, localize, options) {\n var dayOfWeek = date.getUTCDay();\n var localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n switch (token) {\n // Numerical value (Nth day of week with current locale or weekStartsOn)\n case 'e':\n return String(localDayOfWeek);\n // Padded numerical value\n case 'ee':\n return addLeadingZeros(localDayOfWeek, 2);\n // 1st, 2nd, ..., 7th\n case 'eo':\n return localize.ordinalNumber(localDayOfWeek, {\n unit: 'day'\n });\n case 'eee':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // T\n case 'eeeee':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n case 'eeeeee':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'formatting'\n });\n // Tuesday\n case 'eeee':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Stand-alone local day of week\n c: function c(date, token, localize, options) {\n var dayOfWeek = date.getUTCDay();\n var localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n switch (token) {\n // Numerical value (same as in `e`)\n case 'c':\n return String(localDayOfWeek);\n // Padded numerical value\n case 'cc':\n return addLeadingZeros(localDayOfWeek, token.length);\n // 1st, 2nd, ..., 7th\n case 'co':\n return localize.ordinalNumber(localDayOfWeek, {\n unit: 'day'\n });\n case 'ccc':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'standalone'\n });\n // T\n case 'ccccc':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'standalone'\n });\n // Tu\n case 'cccccc':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'standalone'\n });\n // Tuesday\n case 'cccc':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'standalone'\n });\n }\n },\n // ISO day of week\n i: function i(date, token, localize) {\n var dayOfWeek = date.getUTCDay();\n var isoDayOfWeek = dayOfWeek === 0 ? 7 : dayOfWeek;\n switch (token) {\n // 2\n case 'i':\n return String(isoDayOfWeek);\n // 02\n case 'ii':\n return addLeadingZeros(isoDayOfWeek, token.length);\n // 2nd\n case 'io':\n return localize.ordinalNumber(isoDayOfWeek, {\n unit: 'day'\n });\n // Tue\n case 'iii':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // T\n case 'iiiii':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n case 'iiiiii':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'formatting'\n });\n // Tuesday\n case 'iiii':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // AM or PM\n a: function a(date, token, localize) {\n var hours = date.getUTCHours();\n var dayPeriodEnumValue = hours / 12 >= 1 ? 'pm' : 'am';\n switch (token) {\n case 'a':\n case 'aa':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n });\n case 'aaa':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n }).toLowerCase();\n case 'aaaaa':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'narrow',\n context: 'formatting'\n });\n case 'aaaa':\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // AM, PM, midnight, noon\n b: function b(date, token, localize) {\n var hours = date.getUTCHours();\n var dayPeriodEnumValue;\n if (hours === 12) {\n dayPeriodEnumValue = dayPeriodEnum.noon;\n } else if (hours === 0) {\n dayPeriodEnumValue = dayPeriodEnum.midnight;\n } else {\n dayPeriodEnumValue = hours / 12 >= 1 ? 'pm' : 'am';\n }\n switch (token) {\n case 'b':\n case 'bb':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n });\n case 'bbb':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n }).toLowerCase();\n case 'bbbbb':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'narrow',\n context: 'formatting'\n });\n case 'bbbb':\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // in the morning, in the afternoon, in the evening, at night\n B: function B(date, token, localize) {\n var hours = date.getUTCHours();\n var dayPeriodEnumValue;\n if (hours >= 17) {\n dayPeriodEnumValue = dayPeriodEnum.evening;\n } else if (hours >= 12) {\n dayPeriodEnumValue = dayPeriodEnum.afternoon;\n } else if (hours >= 4) {\n dayPeriodEnumValue = dayPeriodEnum.morning;\n } else {\n dayPeriodEnumValue = dayPeriodEnum.night;\n }\n switch (token) {\n case 'B':\n case 'BB':\n case 'BBB':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n });\n case 'BBBBB':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'narrow',\n context: 'formatting'\n });\n case 'BBBB':\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Hour [1-12]\n h: function h(date, token, localize) {\n if (token === 'ho') {\n var hours = date.getUTCHours() % 12;\n if (hours === 0) hours = 12;\n return localize.ordinalNumber(hours, {\n unit: 'hour'\n });\n }\n return lightFormatters.h(date, token);\n },\n // Hour [0-23]\n H: function H(date, token, localize) {\n if (token === 'Ho') {\n return localize.ordinalNumber(date.getUTCHours(), {\n unit: 'hour'\n });\n }\n return lightFormatters.H(date, token);\n },\n // Hour [0-11]\n K: function K(date, token, localize) {\n var hours = date.getUTCHours() % 12;\n if (token === 'Ko') {\n return localize.ordinalNumber(hours, {\n unit: 'hour'\n });\n }\n return addLeadingZeros(hours, token.length);\n },\n // Hour [1-24]\n k: function k(date, token, localize) {\n var hours = date.getUTCHours();\n if (hours === 0) hours = 24;\n if (token === 'ko') {\n return localize.ordinalNumber(hours, {\n unit: 'hour'\n });\n }\n return addLeadingZeros(hours, token.length);\n },\n // Minute\n m: function m(date, token, localize) {\n if (token === 'mo') {\n return localize.ordinalNumber(date.getUTCMinutes(), {\n unit: 'minute'\n });\n }\n return lightFormatters.m(date, token);\n },\n // Second\n s: function s(date, token, localize) {\n if (token === 'so') {\n return localize.ordinalNumber(date.getUTCSeconds(), {\n unit: 'second'\n });\n }\n return lightFormatters.s(date, token);\n },\n // Fraction of second\n S: function S(date, token) {\n return lightFormatters.S(date, token);\n },\n // Timezone (ISO-8601. If offset is 0, output is always `'Z'`)\n X: function X(date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n if (timezoneOffset === 0) {\n return 'Z';\n }\n switch (token) {\n // Hours and optional minutes\n case 'X':\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XX`\n case 'XXXX':\n case 'XX':\n // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XXX`\n case 'XXXXX':\n case 'XXX': // Hours and minutes with `:` delimiter\n default:\n return formatTimezone(timezoneOffset, ':');\n }\n },\n // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)\n x: function x(date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n switch (token) {\n // Hours and optional minutes\n case 'x':\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xx`\n case 'xxxx':\n case 'xx':\n // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xxx`\n case 'xxxxx':\n case 'xxx': // Hours and minutes with `:` delimiter\n default:\n return formatTimezone(timezoneOffset, ':');\n }\n },\n // Timezone (GMT)\n O: function O(date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n switch (token) {\n // Short\n case 'O':\n case 'OO':\n case 'OOO':\n return 'GMT' + formatTimezoneShort(timezoneOffset, ':');\n // Long\n case 'OOOO':\n default:\n return 'GMT' + formatTimezone(timezoneOffset, ':');\n }\n },\n // Timezone (specific non-location)\n z: function z(date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n switch (token) {\n // Short\n case 'z':\n case 'zz':\n case 'zzz':\n return 'GMT' + formatTimezoneShort(timezoneOffset, ':');\n // Long\n case 'zzzz':\n default:\n return 'GMT' + formatTimezone(timezoneOffset, ':');\n }\n },\n // Seconds timestamp\n t: function t(date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timestamp = Math.floor(originalDate.getTime() / 1000);\n return addLeadingZeros(timestamp, token.length);\n },\n // Milliseconds timestamp\n T: function T(date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timestamp = originalDate.getTime();\n return addLeadingZeros(timestamp, token.length);\n }\n};\nfunction formatTimezoneShort(offset, dirtyDelimiter) {\n var sign = offset > 0 ? '-' : '+';\n var absOffset = Math.abs(offset);\n var hours = Math.floor(absOffset / 60);\n var minutes = absOffset % 60;\n if (minutes === 0) {\n return sign + String(hours);\n }\n var delimiter = dirtyDelimiter || '';\n return sign + String(hours) + delimiter + addLeadingZeros(minutes, 2);\n}\nfunction formatTimezoneWithOptionalMinutes(offset, dirtyDelimiter) {\n if (offset % 60 === 0) {\n var sign = offset > 0 ? '-' : '+';\n return sign + addLeadingZeros(Math.abs(offset) / 60, 2);\n }\n return formatTimezone(offset, dirtyDelimiter);\n}\nfunction formatTimezone(offset, dirtyDelimiter) {\n var delimiter = dirtyDelimiter || '';\n var sign = offset > 0 ? '-' : '+';\n var absOffset = Math.abs(offset);\n var hours = addLeadingZeros(Math.floor(absOffset / 60), 2);\n var minutes = addLeadingZeros(absOffset % 60, 2);\n return sign + hours + delimiter + minutes;\n}\nexport default formatters;","import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nvar MILLISECONDS_IN_DAY = 86400000;\nexport default function getUTCDayOfYear(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var timestamp = date.getTime();\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n var startOfYearTimestamp = date.getTime();\n var difference = timestamp - startOfYearTimestamp;\n return Math.floor(difference / MILLISECONDS_IN_DAY) + 1;\n}","import isValid from \"../isValid/index.js\";\nimport subMilliseconds from \"../subMilliseconds/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport formatters from \"../_lib/format/formatters/index.js\";\nimport longFormatters from \"../_lib/format/longFormatters/index.js\";\nimport getTimezoneOffsetInMilliseconds from \"../_lib/getTimezoneOffsetInMilliseconds/index.js\";\nimport { isProtectedDayOfYearToken, isProtectedWeekYearToken, throwProtectedError } from \"../_lib/protectedTokens/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { getDefaultOptions } from \"../_lib/defaultOptions/index.js\";\nimport defaultLocale from \"../_lib/defaultLocale/index.js\"; // This RegExp consists of three parts separated by `|`:\n// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token\n// (one of the certain letters followed by `o`)\n// - (\\w)\\1* matches any sequences of the same letter\n// - '' matches two quote characters in a row\n// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),\n// except a single quote symbol, which ends the sequence.\n// Two quote characters do not end the sequence.\n// If there is no matching single quote\n// then the sequence will continue until the end of the string.\n// - . matches any single character unmatched by previous parts of the RegExps\nvar formattingTokensRegExp = /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g;\n\n// This RegExp catches symbols escaped by quotes, and also\n// sequences of symbols P, p, and the combinations like `PPPPPPPppppp`\nvar longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;\nvar escapedStringRegExp = /^'([^]*?)'?$/;\nvar doubleQuoteRegExp = /''/g;\nvar unescapedLatinCharacterRegExp = /[a-zA-Z]/;\n\n/**\n * @name format\n * @category Common Helpers\n * @summary Format the date.\n *\n * @description\n * Return the formatted date string in the given format. The result may vary by locale.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * The characters wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n * (see the last example)\n *\n * Format of the string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 7 below the table).\n *\n * Accepted patterns:\n * | Unit | Pattern | Result examples | Notes |\n * |---------------------------------|---------|-----------------------------------|-------|\n * | Era | G..GGG | AD, BC | |\n * | | GGGG | Anno Domini, Before Christ | 2 |\n * | | GGGGG | A, B | |\n * | Calendar year | y | 44, 1, 1900, 2017 | 5 |\n * | | yo | 44th, 1st, 0th, 17th | 5,7 |\n * | | yy | 44, 01, 00, 17 | 5 |\n * | | yyy | 044, 001, 1900, 2017 | 5 |\n * | | yyyy | 0044, 0001, 1900, 2017 | 5 |\n * | | yyyyy | ... | 3,5 |\n * | Local week-numbering year | Y | 44, 1, 1900, 2017 | 5 |\n * | | Yo | 44th, 1st, 1900th, 2017th | 5,7 |\n * | | YY | 44, 01, 00, 17 | 5,8 |\n * | | YYY | 044, 001, 1900, 2017 | 5 |\n * | | YYYY | 0044, 0001, 1900, 2017 | 5,8 |\n * | | YYYYY | ... | 3,5 |\n * | ISO week-numbering year | R | -43, 0, 1, 1900, 2017 | 5,7 |\n * | | RR | -43, 00, 01, 1900, 2017 | 5,7 |\n * | | RRR | -043, 000, 001, 1900, 2017 | 5,7 |\n * | | RRRR | -0043, 0000, 0001, 1900, 2017 | 5,7 |\n * | | RRRRR | ... | 3,5,7 |\n * | Extended year | u | -43, 0, 1, 1900, 2017 | 5 |\n * | | uu | -43, 01, 1900, 2017 | 5 |\n * | | uuu | -043, 001, 1900, 2017 | 5 |\n * | | uuuu | -0043, 0001, 1900, 2017 | 5 |\n * | | uuuuu | ... | 3,5 |\n * | Quarter (formatting) | Q | 1, 2, 3, 4 | |\n * | | Qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | QQ | 01, 02, 03, 04 | |\n * | | QQQ | Q1, Q2, Q3, Q4 | |\n * | | QQQQ | 1st quarter, 2nd quarter, ... | 2 |\n * | | QQQQQ | 1, 2, 3, 4 | 4 |\n * | Quarter (stand-alone) | q | 1, 2, 3, 4 | |\n * | | qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | qq | 01, 02, 03, 04 | |\n * | | qqq | Q1, Q2, Q3, Q4 | |\n * | | qqqq | 1st quarter, 2nd quarter, ... | 2 |\n * | | qqqqq | 1, 2, 3, 4 | 4 |\n * | Month (formatting) | M | 1, 2, ..., 12 | |\n * | | Mo | 1st, 2nd, ..., 12th | 7 |\n * | | MM | 01, 02, ..., 12 | |\n * | | MMM | Jan, Feb, ..., Dec | |\n * | | MMMM | January, February, ..., December | 2 |\n * | | MMMMM | J, F, ..., D | |\n * | Month (stand-alone) | L | 1, 2, ..., 12 | |\n * | | Lo | 1st, 2nd, ..., 12th | 7 |\n * | | LL | 01, 02, ..., 12 | |\n * | | LLL | Jan, Feb, ..., Dec | |\n * | | LLLL | January, February, ..., December | 2 |\n * | | LLLLL | J, F, ..., D | |\n * | Local week of year | w | 1, 2, ..., 53 | |\n * | | wo | 1st, 2nd, ..., 53th | 7 |\n * | | ww | 01, 02, ..., 53 | |\n * | ISO week of year | I | 1, 2, ..., 53 | 7 |\n * | | Io | 1st, 2nd, ..., 53th | 7 |\n * | | II | 01, 02, ..., 53 | 7 |\n * | Day of month | d | 1, 2, ..., 31 | |\n * | | do | 1st, 2nd, ..., 31st | 7 |\n * | | dd | 01, 02, ..., 31 | |\n * | Day of year | D | 1, 2, ..., 365, 366 | 9 |\n * | | Do | 1st, 2nd, ..., 365th, 366th | 7 |\n * | | DD | 01, 02, ..., 365, 366 | 9 |\n * | | DDD | 001, 002, ..., 365, 366 | |\n * | | DDDD | ... | 3 |\n * | Day of week (formatting) | E..EEE | Mon, Tue, Wed, ..., Sun | |\n * | | EEEE | Monday, Tuesday, ..., Sunday | 2 |\n * | | EEEEE | M, T, W, T, F, S, S | |\n * | | EEEEEE | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | ISO day of week (formatting) | i | 1, 2, 3, ..., 7 | 7 |\n * | | io | 1st, 2nd, ..., 7th | 7 |\n * | | ii | 01, 02, ..., 07 | 7 |\n * | | iii | Mon, Tue, Wed, ..., Sun | 7 |\n * | | iiii | Monday, Tuesday, ..., Sunday | 2,7 |\n * | | iiiii | M, T, W, T, F, S, S | 7 |\n * | | iiiiii | Mo, Tu, We, Th, Fr, Sa, Su | 7 |\n * | Local day of week (formatting) | e | 2, 3, 4, ..., 1 | |\n * | | eo | 2nd, 3rd, ..., 1st | 7 |\n * | | ee | 02, 03, ..., 01 | |\n * | | eee | Mon, Tue, Wed, ..., Sun | |\n * | | eeee | Monday, Tuesday, ..., Sunday | 2 |\n * | | eeeee | M, T, W, T, F, S, S | |\n * | | eeeeee | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | Local day of week (stand-alone) | c | 2, 3, 4, ..., 1 | |\n * | | co | 2nd, 3rd, ..., 1st | 7 |\n * | | cc | 02, 03, ..., 01 | |\n * | | ccc | Mon, Tue, Wed, ..., Sun | |\n * | | cccc | Monday, Tuesday, ..., Sunday | 2 |\n * | | ccccc | M, T, W, T, F, S, S | |\n * | | cccccc | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | AM, PM | a..aa | AM, PM | |\n * | | aaa | am, pm | |\n * | | aaaa | a.m., p.m. | 2 |\n * | | aaaaa | a, p | |\n * | AM, PM, noon, midnight | b..bb | AM, PM, noon, midnight | |\n * | | bbb | am, pm, noon, midnight | |\n * | | bbbb | a.m., p.m., noon, midnight | 2 |\n * | | bbbbb | a, p, n, mi | |\n * | Flexible day period | B..BBB | at night, in the morning, ... | |\n * | | BBBB | at night, in the morning, ... | 2 |\n * | | BBBBB | at night, in the morning, ... | |\n * | Hour [1-12] | h | 1, 2, ..., 11, 12 | |\n * | | ho | 1st, 2nd, ..., 11th, 12th | 7 |\n * | | hh | 01, 02, ..., 11, 12 | |\n * | Hour [0-23] | H | 0, 1, 2, ..., 23 | |\n * | | Ho | 0th, 1st, 2nd, ..., 23rd | 7 |\n * | | HH | 00, 01, 02, ..., 23 | |\n * | Hour [0-11] | K | 1, 2, ..., 11, 0 | |\n * | | Ko | 1st, 2nd, ..., 11th, 0th | 7 |\n * | | KK | 01, 02, ..., 11, 00 | |\n * | Hour [1-24] | k | 24, 1, 2, ..., 23 | |\n * | | ko | 24th, 1st, 2nd, ..., 23rd | 7 |\n * | | kk | 24, 01, 02, ..., 23 | |\n * | Minute | m | 0, 1, ..., 59 | |\n * | | mo | 0th, 1st, ..., 59th | 7 |\n * | | mm | 00, 01, ..., 59 | |\n * | Second | s | 0, 1, ..., 59 | |\n * | | so | 0th, 1st, ..., 59th | 7 |\n * | | ss | 00, 01, ..., 59 | |\n * | Fraction of second | S | 0, 1, ..., 9 | |\n * | | SS | 00, 01, ..., 99 | |\n * | | SSS | 000, 001, ..., 999 | |\n * | | SSSS | ... | 3 |\n * | Timezone (ISO-8601 w/ Z) | X | -08, +0530, Z | |\n * | | XX | -0800, +0530, Z | |\n * | | XXX | -08:00, +05:30, Z | |\n * | | XXXX | -0800, +0530, Z, +123456 | 2 |\n * | | XXXXX | -08:00, +05:30, Z, +12:34:56 | |\n * | Timezone (ISO-8601 w/o Z) | x | -08, +0530, +00 | |\n * | | xx | -0800, +0530, +0000 | |\n * | | xxx | -08:00, +05:30, +00:00 | 2 |\n * | | xxxx | -0800, +0530, +0000, +123456 | |\n * | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | |\n * | Timezone (GMT) | O...OOO | GMT-8, GMT+5:30, GMT+0 | |\n * | | OOOO | GMT-08:00, GMT+05:30, GMT+00:00 | 2 |\n * | Timezone (specific non-locat.) | z...zzz | GMT-8, GMT+5:30, GMT+0 | 6 |\n * | | zzzz | GMT-08:00, GMT+05:30, GMT+00:00 | 2,6 |\n * | Seconds timestamp | t | 512969520 | 7 |\n * | | tt | ... | 3,7 |\n * | Milliseconds timestamp | T | 512969520900 | 7 |\n * | | TT | ... | 3,7 |\n * | Long localized date | P | 04/29/1453 | 7 |\n * | | PP | Apr 29, 1453 | 7 |\n * | | PPP | April 29th, 1453 | 7 |\n * | | PPPP | Friday, April 29th, 1453 | 2,7 |\n * | Long localized time | p | 12:00 AM | 7 |\n * | | pp | 12:00:00 AM | 7 |\n * | | ppp | 12:00:00 AM GMT+2 | 7 |\n * | | pppp | 12:00:00 AM GMT+02:00 | 2,7 |\n * | Combination of date and time | Pp | 04/29/1453, 12:00 AM | 7 |\n * | | PPpp | Apr 29, 1453, 12:00:00 AM | 7 |\n * | | PPPppp | April 29th, 1453 at ... | 7 |\n * | | PPPPpppp| Friday, April 29th, 1453 at ... | 2,7 |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n * are the same as \"stand-alone\" units, but are different in some languages.\n * \"Formatting\" units are declined according to the rules of the language\n * in the context of a date. \"Stand-alone\" units are always nominative singular:\n *\n * `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n * `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n * the single quote characters (see below).\n * If the sequence is longer than listed in table (e.g. `EEEEEEEEEEE`)\n * the output will be the same as default pattern for this unit, usually\n * the longest one (in case of ISO weekdays, `EEEE`). Default patterns for units\n * are marked with \"2\" in the last column of the table.\n *\n * `format(new Date(2017, 10, 6), 'MMM') //=> 'Nov'`\n *\n * `format(new Date(2017, 10, 6), 'MMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMM') //=> 'N'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMMM') //=> 'November'`\n *\n * 3. Some patterns could be unlimited length (such as `yyyyyyyy`).\n * The output will be padded with zeros to match the length of the pattern.\n *\n * `format(new Date(2017, 10, 6), 'yyyyyyyy') //=> '00002017'`\n *\n * 4. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n * These tokens represent the shortest form of the quarter.\n *\n * 5. The main difference between `y` and `u` patterns are B.C. years:\n *\n * | Year | `y` | `u` |\n * |------|-----|-----|\n * | AC 1 | 1 | 1 |\n * | BC 1 | 1 | 0 |\n * | BC 2 | 2 | -1 |\n *\n * Also `yy` always returns the last two digits of a year,\n * while `uu` pads single digit years to 2 characters and returns other years unchanged:\n *\n * | Year | `yy` | `uu` |\n * |------|------|------|\n * | 1 | 01 | 01 |\n * | 14 | 14 | 14 |\n * | 376 | 76 | 376 |\n * | 1453 | 53 | 1453 |\n *\n * The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n * except local week-numbering years are dependent on `options.weekStartsOn`\n * and `options.firstWeekContainsDate` (compare [getISOWeekYear]{@link https://date-fns.org/docs/getISOWeekYear}\n * and [getWeekYear]{@link https://date-fns.org/docs/getWeekYear}).\n *\n * 6. Specific non-location timezones are currently unavailable in `date-fns`,\n * so right now these tokens fall back to GMT timezones.\n *\n * 7. These patterns are not in the Unicode Technical Standard #35:\n * - `i`: ISO day of week\n * - `I`: ISO week of year\n * - `R`: ISO week-numbering year\n * - `t`: seconds timestamp\n * - `T`: milliseconds timestamp\n * - `o`: ordinal number modifier\n * - `P`: long localized date\n * - `p`: long localized time\n *\n * 8. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years.\n * You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 9. `D` and `DD` tokens represent days of the year but they are often confused with days of the month.\n * You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * @param {Date|Number} date - the original date\n * @param {String} format - the string of tokens\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @param {Number} [options.firstWeekContainsDate=1] - the day of January, which is\n * @param {Boolean} [options.useAdditionalWeekYearTokens=false] - if true, allows usage of the week-numbering year tokens `YY` and `YYYY`;\n * see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @param {Boolean} [options.useAdditionalDayOfYearTokens=false] - if true, allows usage of the day of year tokens `D` and `DD`;\n * see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @returns {String} the formatted date string\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `date` must not be Invalid Date\n * @throws {RangeError} `options.locale` must contain `localize` property\n * @throws {RangeError} `options.locale` must contain `formatLong` property\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7\n * @throws {RangeError} use `yyyy` instead of `YYYY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `yy` instead of `YY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `d` instead of `D` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `dd` instead of `DD` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} format string contains an unescaped latin alphabet character\n *\n * @example\n * // Represent 11 February 2014 in middle-endian format:\n * const result = format(new Date(2014, 1, 11), 'MM/dd/yyyy')\n * //=> '02/11/2014'\n *\n * @example\n * // Represent 2 July 2014 in Esperanto:\n * import { eoLocale } from 'date-fns/locale/eo'\n * const result = format(new Date(2014, 6, 2), \"do 'de' MMMM yyyy\", {\n * locale: eoLocale\n * })\n * //=> '2-a de julio 2014'\n *\n * @example\n * // Escape string by single quote characters:\n * const result = format(new Date(2014, 6, 2, 15), \"h 'o''clock'\")\n * //=> \"3 o'clock\"\n */\n\nexport default function format(dirtyDate, dirtyFormatStr, options) {\n var _ref, _options$locale, _ref2, _ref3, _ref4, _options$firstWeekCon, _options$locale2, _options$locale2$opti, _defaultOptions$local, _defaultOptions$local2, _ref5, _ref6, _ref7, _options$weekStartsOn, _options$locale3, _options$locale3$opti, _defaultOptions$local3, _defaultOptions$local4;\n requiredArgs(2, arguments);\n var formatStr = String(dirtyFormatStr);\n var defaultOptions = getDefaultOptions();\n var locale = (_ref = (_options$locale = options === null || options === void 0 ? void 0 : options.locale) !== null && _options$locale !== void 0 ? _options$locale : defaultOptions.locale) !== null && _ref !== void 0 ? _ref : defaultLocale;\n var firstWeekContainsDate = toInteger((_ref2 = (_ref3 = (_ref4 = (_options$firstWeekCon = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon !== void 0 ? _options$firstWeekCon : options === null || options === void 0 ? void 0 : (_options$locale2 = options.locale) === null || _options$locale2 === void 0 ? void 0 : (_options$locale2$opti = _options$locale2.options) === null || _options$locale2$opti === void 0 ? void 0 : _options$locale2$opti.firstWeekContainsDate) !== null && _ref4 !== void 0 ? _ref4 : defaultOptions.firstWeekContainsDate) !== null && _ref3 !== void 0 ? _ref3 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.firstWeekContainsDate) !== null && _ref2 !== void 0 ? _ref2 : 1);\n\n // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively');\n }\n var weekStartsOn = toInteger((_ref5 = (_ref6 = (_ref7 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale3 = options.locale) === null || _options$locale3 === void 0 ? void 0 : (_options$locale3$opti = _options$locale3.options) === null || _options$locale3$opti === void 0 ? void 0 : _options$locale3$opti.weekStartsOn) !== null && _ref7 !== void 0 ? _ref7 : defaultOptions.weekStartsOn) !== null && _ref6 !== void 0 ? _ref6 : (_defaultOptions$local3 = defaultOptions.locale) === null || _defaultOptions$local3 === void 0 ? void 0 : (_defaultOptions$local4 = _defaultOptions$local3.options) === null || _defaultOptions$local4 === void 0 ? void 0 : _defaultOptions$local4.weekStartsOn) !== null && _ref5 !== void 0 ? _ref5 : 0);\n\n // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n if (!locale.localize) {\n throw new RangeError('locale must contain localize property');\n }\n if (!locale.formatLong) {\n throw new RangeError('locale must contain formatLong property');\n }\n var originalDate = toDate(dirtyDate);\n if (!isValid(originalDate)) {\n throw new RangeError('Invalid time value');\n }\n\n // Convert the date in system timezone to the same date in UTC+00:00 timezone.\n // This ensures that when UTC functions will be implemented, locales will be compatible with them.\n // See an issue about UTC functions: https://github.com/date-fns/date-fns/issues/376\n var timezoneOffset = getTimezoneOffsetInMilliseconds(originalDate);\n var utcDate = subMilliseconds(originalDate, timezoneOffset);\n var formatterOptions = {\n firstWeekContainsDate: firstWeekContainsDate,\n weekStartsOn: weekStartsOn,\n locale: locale,\n _originalDate: originalDate\n };\n var result = formatStr.match(longFormattingTokensRegExp).map(function (substring) {\n var firstCharacter = substring[0];\n if (firstCharacter === 'p' || firstCharacter === 'P') {\n var longFormatter = longFormatters[firstCharacter];\n return longFormatter(substring, locale.formatLong);\n }\n return substring;\n }).join('').match(formattingTokensRegExp).map(function (substring) {\n // Replace two single quote characters with one single quote character\n if (substring === \"''\") {\n return \"'\";\n }\n var firstCharacter = substring[0];\n if (firstCharacter === \"'\") {\n return cleanEscapedString(substring);\n }\n var formatter = formatters[firstCharacter];\n if (formatter) {\n if (!(options !== null && options !== void 0 && options.useAdditionalWeekYearTokens) && isProtectedWeekYearToken(substring)) {\n throwProtectedError(substring, dirtyFormatStr, String(dirtyDate));\n }\n if (!(options !== null && options !== void 0 && options.useAdditionalDayOfYearTokens) && isProtectedDayOfYearToken(substring)) {\n throwProtectedError(substring, dirtyFormatStr, String(dirtyDate));\n }\n return formatter(utcDate, substring, locale.localize, formatterOptions);\n }\n if (firstCharacter.match(unescapedLatinCharacterRegExp)) {\n throw new RangeError('Format string contains an unescaped latin alphabet character `' + firstCharacter + '`');\n }\n return substring;\n }).join('');\n return result;\n}\nfunction cleanEscapedString(input) {\n var matched = input.match(escapedStringRegExp);\n if (!matched) {\n return input;\n }\n return matched[1].replace(doubleQuoteRegExp, \"'\");\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getDate\n * @category Day Helpers\n * @summary Get the day of the month of the given date.\n *\n * @description\n * Get the day of the month of the given date.\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the day of month\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Which day of the month is 29 February 2012?\n * const result = getDate(new Date(2012, 1, 29))\n * //=> 29\n */\nexport default function getDate(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var dayOfMonth = date.getDate();\n return dayOfMonth;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getDay\n * @category Weekday Helpers\n * @summary Get the day of the week of the given date.\n *\n * @description\n * Get the day of the week of the given date.\n *\n * @param {Date|Number} date - the given date\n * @returns {0|1|2|3|4|5|6} the day of week, 0 represents Sunday\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Which day of the week is 29 February 2012?\n * const result = getDay(new Date(2012, 1, 29))\n * //=> 3\n */\nexport default function getDay(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var day = date.getDay();\n return day;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getHours\n * @category Hour Helpers\n * @summary Get the hours of the given date.\n *\n * @description\n * Get the hours of the given date.\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the hours\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Get the hours of 29 February 2012 11:45:00:\n * const result = getHours(new Date(2012, 1, 29, 11, 45))\n * //=> 11\n */\nexport default function getHours(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var hours = date.getHours();\n return hours;\n}","import startOfWeek from \"../startOfWeek/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name startOfISOWeek\n * @category ISO Week Helpers\n * @summary Return the start of an ISO week for the given date.\n *\n * @description\n * Return the start of an ISO week for the given date.\n * The result will be in the local timezone.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of an ISO week\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of an ISO week for 2 September 2014 11:55:00:\n * const result = startOfISOWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport default function startOfISOWeek(dirtyDate) {\n requiredArgs(1, arguments);\n return startOfWeek(dirtyDate, {\n weekStartsOn: 1\n });\n}","import getISOWeekYear from \"../getISOWeekYear/index.js\";\nimport startOfISOWeek from \"../startOfISOWeek/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name startOfISOWeekYear\n * @category ISO Week-Numbering Year Helpers\n * @summary Return the start of an ISO week-numbering year for the given date.\n *\n * @description\n * Return the start of an ISO week-numbering year,\n * which always starts 3 days before the year's first Thursday.\n * The result will be in the local timezone.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of an ISO week-numbering year\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of an ISO week-numbering year for 2 July 2005:\n * const result = startOfISOWeekYear(new Date(2005, 6, 2))\n * //=> Mon Jan 03 2005 00:00:00\n */\nexport default function startOfISOWeekYear(dirtyDate) {\n requiredArgs(1, arguments);\n var year = getISOWeekYear(dirtyDate);\n var fourthOfJanuary = new Date(0);\n fourthOfJanuary.setFullYear(year, 0, 4);\n fourthOfJanuary.setHours(0, 0, 0, 0);\n var date = startOfISOWeek(fourthOfJanuary);\n return date;\n}","import toDate from \"../toDate/index.js\";\nimport startOfISOWeek from \"../startOfISOWeek/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getISOWeekYear\n * @category ISO Week-Numbering Year Helpers\n * @summary Get the ISO week-numbering year of the given date.\n *\n * @description\n * Get the ISO week-numbering year of the given date,\n * which always starts 3 days before the year's first Thursday.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the ISO week-numbering year\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Which ISO-week numbering year is 2 January 2005?\n * const result = getISOWeekYear(new Date(2005, 0, 2))\n * //=> 2004\n */\nexport default function getISOWeekYear(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var year = date.getFullYear();\n var fourthOfJanuaryOfNextYear = new Date(0);\n fourthOfJanuaryOfNextYear.setFullYear(year + 1, 0, 4);\n fourthOfJanuaryOfNextYear.setHours(0, 0, 0, 0);\n var startOfNextYear = startOfISOWeek(fourthOfJanuaryOfNextYear);\n var fourthOfJanuaryOfThisYear = new Date(0);\n fourthOfJanuaryOfThisYear.setFullYear(year, 0, 4);\n fourthOfJanuaryOfThisYear.setHours(0, 0, 0, 0);\n var startOfThisYear = startOfISOWeek(fourthOfJanuaryOfThisYear);\n if (date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}","import toDate from \"../toDate/index.js\";\nimport startOfISOWeek from \"../startOfISOWeek/index.js\";\nimport startOfISOWeekYear from \"../startOfISOWeekYear/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nvar MILLISECONDS_IN_WEEK = 604800000;\n\n/**\n * @name getISOWeek\n * @category ISO Week Helpers\n * @summary Get the ISO week of the given date.\n *\n * @description\n * Get the ISO week of the given date.\n *\n * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the ISO week\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Which week of the ISO-week numbering year is 2 January 2005?\n * const result = getISOWeek(new Date(2005, 0, 2))\n * //=> 53\n */\nexport default function getISOWeek(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var diff = startOfISOWeek(date).getTime() - startOfISOWeekYear(date).getTime();\n\n // Round the number of days to the nearest integer\n // because the number of milliseconds in a week is not constant\n // (e.g. it's different in the week of the daylight saving time clock shift)\n return Math.round(diff / MILLISECONDS_IN_WEEK) + 1;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getMinutes\n * @category Minute Helpers\n * @summary Get the minutes of the given date.\n *\n * @description\n * Get the minutes of the given date.\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the minutes\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Get the minutes of 29 February 2012 11:45:05:\n * const result = getMinutes(new Date(2012, 1, 29, 11, 45, 5))\n * //=> 45\n */\nexport default function getMinutes(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var minutes = date.getMinutes();\n return minutes;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getMonth\n * @category Month Helpers\n * @summary Get the month of the given date.\n *\n * @description\n * Get the month of the given date.\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the month\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Which month is 29 February 2012?\n * const result = getMonth(new Date(2012, 1, 29))\n * //=> 1\n */\nexport default function getMonth(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var month = date.getMonth();\n return month;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getQuarter\n * @category Quarter Helpers\n * @summary Get the year quarter of the given date.\n *\n * @description\n * Get the year quarter of the given date.\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the quarter\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Which quarter is 2 July 2014?\n * const result = getQuarter(new Date(2014, 6, 2))\n * //=> 3\n */\nexport default function getQuarter(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var quarter = Math.floor(date.getMonth() / 3) + 1;\n return quarter;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getSeconds\n * @category Second Helpers\n * @summary Get the seconds of the given date.\n *\n * @description\n * Get the seconds of the given date.\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the seconds\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Get the seconds of 29 February 2012 11:45:05.123:\n * const result = getSeconds(new Date(2012, 1, 29, 11, 45, 5, 123))\n * //=> 5\n */\nexport default function getSeconds(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var seconds = date.getSeconds();\n return seconds;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getTime\n * @category Timestamp Helpers\n * @summary Get the milliseconds timestamp of the given date.\n *\n * @description\n * Get the milliseconds timestamp of the given date.\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the timestamp\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Get the timestamp of 29 February 2012 11:45:05.123:\n * const result = getTime(new Date(2012, 1, 29, 11, 45, 5, 123))\n * //=> 1330515905123\n */\nexport default function getTime(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var timestamp = date.getTime();\n return timestamp;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getYear\n * @category Year Helpers\n * @summary Get the year of the given date.\n *\n * @description\n * Get the year of the given date.\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the year\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Which year is 2 July 2014?\n * const result = getYear(new Date(2014, 6, 2))\n * //=> 2014\n */\nexport default function getYear(dirtyDate) {\n requiredArgs(1, arguments);\n return toDate(dirtyDate).getFullYear();\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isAfter\n * @category Common Helpers\n * @summary Is the first date after the second one?\n *\n * @description\n * Is the first date after the second one?\n *\n * @param {Date|Number} date - the date that should be after the other one to return true\n * @param {Date|Number} dateToCompare - the date to compare with\n * @returns {Boolean} the first date is after the second date\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Is 10 July 1989 after 11 February 1987?\n * const result = isAfter(new Date(1989, 6, 10), new Date(1987, 1, 11))\n * //=> true\n */\nexport default function isAfter(dirtyDate, dirtyDateToCompare) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var dateToCompare = toDate(dirtyDateToCompare);\n return date.getTime() > dateToCompare.getTime();\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isBefore\n * @category Common Helpers\n * @summary Is the first date before the second one?\n *\n * @description\n * Is the first date before the second one?\n *\n * @param {Date|Number} date - the date that should be before the other one to return true\n * @param {Date|Number} dateToCompare - the date to compare with\n * @returns {Boolean} the first date is before the second date\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Is 10 July 1989 before 11 February 1987?\n * const result = isBefore(new Date(1989, 6, 10), new Date(1987, 1, 11))\n * //=> false\n */\nexport default function isBefore(dirtyDate, dirtyDateToCompare) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var dateToCompare = toDate(dirtyDateToCompare);\n return date.getTime() < dateToCompare.getTime();\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isDate\n * @category Common Helpers\n * @summary Is the given value a date?\n *\n * @description\n * Returns true if the given value is an instance of Date. The function works for dates transferred across iframes.\n *\n * @param {*} value - the value to check\n * @returns {boolean} true if the given value is a date\n * @throws {TypeError} 1 arguments required\n *\n * @example\n * // For a valid date:\n * const result = isDate(new Date())\n * //=> true\n *\n * @example\n * // For an invalid date:\n * const result = isDate(new Date(NaN))\n * //=> true\n *\n * @example\n * // For some value:\n * const result = isDate('2014-02-31')\n * //=> false\n *\n * @example\n * // For an object:\n * const result = isDate({})\n * //=> false\n */\nexport default function isDate(value) {\n requiredArgs(1, arguments);\n return value instanceof Date || _typeof(value) === 'object' && Object.prototype.toString.call(value) === '[object Date]';\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isEqual\n * @category Common Helpers\n * @summary Are the given dates equal?\n *\n * @description\n * Are the given dates equal?\n *\n * @param {Date|Number} dateLeft - the first date to compare\n * @param {Date|Number} dateRight - the second date to compare\n * @returns {Boolean} the dates are equal\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Are 2 July 2014 06:30:45.000 and 2 July 2014 06:30:45.500 equal?\n * const result = isEqual(\n * new Date(2014, 6, 2, 6, 30, 45, 0),\n * new Date(2014, 6, 2, 6, 30, 45, 500)\n * )\n * //=> false\n */\nexport default function isEqual(dirtyLeftDate, dirtyRightDate) {\n requiredArgs(2, arguments);\n var dateLeft = toDate(dirtyLeftDate);\n var dateRight = toDate(dirtyRightDate);\n return dateLeft.getTime() === dateRight.getTime();\n}","import startOfDay from \"../startOfDay/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isSameDay\n * @category Day Helpers\n * @summary Are the given dates in the same day (and year and month)?\n *\n * @description\n * Are the given dates in the same day (and year and month)?\n *\n * @param {Date|Number} dateLeft - the first date to check\n * @param {Date|Number} dateRight - the second date to check\n * @returns {Boolean} the dates are in the same day (and year and month)\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Are 4 September 06:00:00 and 4 September 18:00:00 in the same day?\n * const result = isSameDay(new Date(2014, 8, 4, 6, 0), new Date(2014, 8, 4, 18, 0))\n * //=> true\n *\n * @example\n * // Are 4 September and 4 October in the same day?\n * const result = isSameDay(new Date(2014, 8, 4), new Date(2014, 9, 4))\n * //=> false\n *\n * @example\n * // Are 4 September, 2014 and 4 September, 2015 in the same day?\n * const result = isSameDay(new Date(2014, 8, 4), new Date(2015, 8, 4))\n * //=> false\n */\nexport default function isSameDay(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeftStartOfDay = startOfDay(dirtyDateLeft);\n var dateRightStartOfDay = startOfDay(dirtyDateRight);\n return dateLeftStartOfDay.getTime() === dateRightStartOfDay.getTime();\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isSameMonth\n * @category Month Helpers\n * @summary Are the given dates in the same month (and year)?\n *\n * @description\n * Are the given dates in the same month (and year)?\n *\n * @param {Date|Number} dateLeft - the first date to check\n * @param {Date|Number} dateRight - the second date to check\n * @returns {Boolean} the dates are in the same month (and year)\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Are 2 September 2014 and 25 September 2014 in the same month?\n * const result = isSameMonth(new Date(2014, 8, 2), new Date(2014, 8, 25))\n * //=> true\n *\n * @example\n * // Are 2 September 2014 and 25 September 2015 in the same month?\n * const result = isSameMonth(new Date(2014, 8, 2), new Date(2015, 8, 25))\n * //=> false\n */\nexport default function isSameMonth(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeft = toDate(dirtyDateLeft);\n var dateRight = toDate(dirtyDateRight);\n return dateLeft.getFullYear() === dateRight.getFullYear() && dateLeft.getMonth() === dateRight.getMonth();\n}","import startOfQuarter from \"../startOfQuarter/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isSameQuarter\n * @category Quarter Helpers\n * @summary Are the given dates in the same quarter (and year)?\n *\n * @description\n * Are the given dates in the same quarter (and year)?\n *\n * @param {Date|Number} dateLeft - the first date to check\n * @param {Date|Number} dateRight - the second date to check\n * @returns {Boolean} the dates are in the same quarter (and year)\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Are 1 January 2014 and 8 March 2014 in the same quarter?\n * const result = isSameQuarter(new Date(2014, 0, 1), new Date(2014, 2, 8))\n * //=> true\n *\n * @example\n * // Are 1 January 2014 and 1 January 2015 in the same quarter?\n * const result = isSameQuarter(new Date(2014, 0, 1), new Date(2015, 0, 1))\n * //=> false\n */\nexport default function isSameQuarter(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeftStartOfQuarter = startOfQuarter(dirtyDateLeft);\n var dateRightStartOfQuarter = startOfQuarter(dirtyDateRight);\n return dateLeftStartOfQuarter.getTime() === dateRightStartOfQuarter.getTime();\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isSameYear\n * @category Year Helpers\n * @summary Are the given dates in the same year?\n *\n * @description\n * Are the given dates in the same year?\n *\n * @param {Date|Number} dateLeft - the first date to check\n * @param {Date|Number} dateRight - the second date to check\n * @returns {Boolean} the dates are in the same year\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Are 2 September 2014 and 25 September 2014 in the same year?\n * const result = isSameYear(new Date(2014, 8, 2), new Date(2014, 8, 25))\n * //=> true\n */\nexport default function isSameYear(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeft = toDate(dirtyDateLeft);\n var dateRight = toDate(dirtyDateRight);\n return dateLeft.getFullYear() === dateRight.getFullYear();\n}","import isDate from \"../isDate/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isValid\n * @category Common Helpers\n * @summary Is the given date valid?\n *\n * @description\n * Returns false if argument is Invalid Date and true otherwise.\n * Argument is converted to Date using `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\n * Invalid Date is a Date, whose time value is NaN.\n *\n * Time value of Date: http://es5.github.io/#x15.9.1.1\n *\n * @param {*} date - the date to check\n * @returns {Boolean} the date is valid\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // For the valid date:\n * const result = isValid(new Date(2014, 1, 31))\n * //=> true\n *\n * @example\n * // For the value, convertable into a date:\n * const result = isValid(1393804800000)\n * //=> true\n *\n * @example\n * // For the invalid date:\n * const result = isValid(new Date(''))\n * //=> false\n */\nexport default function isValid(dirtyDate) {\n requiredArgs(1, arguments);\n if (!isDate(dirtyDate) && typeof dirtyDate !== 'number') {\n return false;\n }\n var date = toDate(dirtyDate);\n return !isNaN(Number(date));\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isWithinInterval\n * @category Interval Helpers\n * @summary Is the given date within the interval?\n *\n * @description\n * Is the given date within the interval? (Including start and end.)\n *\n * @param {Date|Number} date - the date to check\n * @param {Interval} interval - the interval to check\n * @returns {Boolean} the date is within the interval\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} The start of an interval cannot be after its end\n * @throws {RangeError} Date in interval cannot be `Invalid Date`\n *\n * @example\n * // For the date within the interval:\n * isWithinInterval(new Date(2014, 0, 3), {\n * start: new Date(2014, 0, 1),\n * end: new Date(2014, 0, 7)\n * })\n * //=> true\n *\n * @example\n * // For the date outside of the interval:\n * isWithinInterval(new Date(2014, 0, 10), {\n * start: new Date(2014, 0, 1),\n * end: new Date(2014, 0, 7)\n * })\n * //=> false\n *\n * @example\n * // For date equal to interval start:\n * isWithinInterval(date, { start, end: date }) // => true\n *\n * @example\n * // For date equal to interval end:\n * isWithinInterval(date, { start: date, end }) // => true\n */\nexport default function isWithinInterval(dirtyDate, interval) {\n requiredArgs(2, arguments);\n var time = toDate(dirtyDate).getTime();\n var startTime = toDate(interval.start).getTime();\n var endTime = toDate(interval.end).getTime();\n\n // Throw an exception if start date is after end date or if any date is `Invalid Date`\n if (!(startTime <= endTime)) {\n throw new RangeError('Invalid interval');\n }\n return time >= startTime && time <= endTime;\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name max\n * @category Common Helpers\n * @summary Return the latest of the given dates.\n *\n * @description\n * Return the latest of the given dates.\n *\n * @param {Date[]|Number[]} datesArray - the dates to compare\n * @returns {Date} the latest of the dates\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Which of these dates is the latest?\n * const result = max([\n * new Date(1989, 6, 10),\n * new Date(1987, 1, 11),\n * new Date(1995, 6, 2),\n * new Date(1990, 0, 1)\n * ])\n * //=> Sun Jul 02 1995 00:00:00\n */\nexport default function max(dirtyDatesArray) {\n requiredArgs(1, arguments);\n var datesArray;\n // `dirtyDatesArray` is Array, Set or Map, or object with custom `forEach` method\n if (dirtyDatesArray && typeof dirtyDatesArray.forEach === 'function') {\n datesArray = dirtyDatesArray;\n\n // If `dirtyDatesArray` is Array-like Object, convert to Array.\n } else if (_typeof(dirtyDatesArray) === 'object' && dirtyDatesArray !== null) {\n datesArray = Array.prototype.slice.call(dirtyDatesArray);\n } else {\n // `dirtyDatesArray` is non-iterable, return Invalid Date\n return new Date(NaN);\n }\n var result;\n datesArray.forEach(function (dirtyDate) {\n var currentDate = toDate(dirtyDate);\n if (result === undefined || result < currentDate || isNaN(Number(currentDate))) {\n result = currentDate;\n }\n });\n return result || new Date(NaN);\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name min\n * @category Common Helpers\n * @summary Returns the earliest of the given dates.\n *\n * @description\n * Returns the earliest of the given dates.\n *\n * @param {Date[]|Number[]} datesArray - the dates to compare\n * @returns {Date} - the earliest of the dates\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Which of these dates is the earliest?\n * const result = min([\n * new Date(1989, 6, 10),\n * new Date(1987, 1, 11),\n * new Date(1995, 6, 2),\n * new Date(1990, 0, 1)\n * ])\n * //=> Wed Feb 11 1987 00:00:00\n */\nexport default function min(dirtyDatesArray) {\n requiredArgs(1, arguments);\n var datesArray;\n // `dirtyDatesArray` is Array, Set or Map, or object with custom `forEach` method\n if (dirtyDatesArray && typeof dirtyDatesArray.forEach === 'function') {\n datesArray = dirtyDatesArray;\n // If `dirtyDatesArray` is Array-like Object, convert to Array.\n } else if (_typeof(dirtyDatesArray) === 'object' && dirtyDatesArray !== null) {\n datesArray = Array.prototype.slice.call(dirtyDatesArray);\n } else {\n // `dirtyDatesArray` is non-iterable, return Invalid Date\n return new Date(NaN);\n }\n var result;\n datesArray.forEach(function (dirtyDate) {\n var currentDate = toDate(dirtyDate);\n if (result === undefined || result > currentDate || isNaN(currentDate.getDate())) {\n result = currentDate;\n }\n });\n return result || new Date(NaN);\n}","import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nfunction _createForOfIteratorHelper(r, e) {\n var t = \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (!t) {\n if (Array.isArray(r) || (t = unsupportedIterableToArray(r)) || e && r && \"number\" == typeof r.length) {\n t && (r = t);\n var _n = 0,\n F = function F() {};\n return {\n s: F,\n n: function n() {\n return _n >= r.length ? {\n done: !0\n } : {\n done: !1,\n value: r[_n++]\n };\n },\n e: function e(r) {\n throw r;\n },\n f: F\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n var o,\n a = !0,\n u = !1;\n return {\n s: function s() {\n t = t.call(r);\n },\n n: function n() {\n var r = t.next();\n return a = r.done, r;\n },\n e: function e(r) {\n u = !0, o = r;\n },\n f: function f() {\n try {\n a || null == t[\"return\"] || t[\"return\"]();\n } finally {\n if (u) throw o;\n }\n }\n };\n}\nexport { _createForOfIteratorHelper as default };","export default function assign(target, object) {\n if (target == null) {\n throw new TypeError('assign requires that input parameter not be null or undefined');\n }\n for (var property in object) {\n if (Object.prototype.hasOwnProperty.call(object, property)) {\n ;\n target[property] = object[property];\n }\n }\n return target;\n}","function _getPrototypeOf(t) {\n return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {\n return t.__proto__ || Object.getPrototypeOf(t);\n }, _getPrototypeOf(t);\n}\nexport { _getPrototypeOf as default };","function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n })();\n}\nexport { _isNativeReflectConstruct as default };","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport possibleConstructorReturn from \"./possibleConstructorReturn.js\";\nfunction _createSuper(t) {\n var r = isNativeReflectConstruct();\n return function () {\n var e,\n o = getPrototypeOf(t);\n if (r) {\n var s = getPrototypeOf(this).constructor;\n e = Reflect.construct(o, arguments, s);\n } else e = o.apply(this, arguments);\n return possibleConstructorReturn(this, e);\n };\n}\nexport { _createSuper as default };","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nfunction _possibleConstructorReturn(t, e) {\n if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e;\n if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\");\n return assertThisInitialized(t);\n}\nexport { _possibleConstructorReturn as default };","import _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nvar TIMEZONE_UNIT_PRIORITY = 10;\nexport var Setter = /*#__PURE__*/function () {\n function Setter() {\n _classCallCheck(this, Setter);\n _defineProperty(this, \"priority\", void 0);\n _defineProperty(this, \"subPriority\", 0);\n }\n _createClass(Setter, [{\n key: \"validate\",\n value: function validate(_utcDate, _options) {\n return true;\n }\n }]);\n return Setter;\n}();\nexport var ValueSetter = /*#__PURE__*/function (_Setter) {\n _inherits(ValueSetter, _Setter);\n var _super = _createSuper(ValueSetter);\n function ValueSetter(value, validateValue, setValue, priority, subPriority) {\n var _this;\n _classCallCheck(this, ValueSetter);\n _this = _super.call(this);\n _this.value = value;\n _this.validateValue = validateValue;\n _this.setValue = setValue;\n _this.priority = priority;\n if (subPriority) {\n _this.subPriority = subPriority;\n }\n return _this;\n }\n _createClass(ValueSetter, [{\n key: \"validate\",\n value: function validate(utcDate, options) {\n return this.validateValue(utcDate, this.value, options);\n }\n }, {\n key: \"set\",\n value: function set(utcDate, flags, options) {\n return this.setValue(utcDate, flags, this.value, options);\n }\n }]);\n return ValueSetter;\n}(Setter);\nexport var DateToSystemTimezoneSetter = /*#__PURE__*/function (_Setter2) {\n _inherits(DateToSystemTimezoneSetter, _Setter2);\n var _super2 = _createSuper(DateToSystemTimezoneSetter);\n function DateToSystemTimezoneSetter() {\n var _this2;\n _classCallCheck(this, DateToSystemTimezoneSetter);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this2 = _super2.call.apply(_super2, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this2), \"priority\", TIMEZONE_UNIT_PRIORITY);\n _defineProperty(_assertThisInitialized(_this2), \"subPriority\", -1);\n return _this2;\n }\n _createClass(DateToSystemTimezoneSetter, [{\n key: \"set\",\n value: function set(date, flags) {\n if (flags.timestampIsSet) {\n return date;\n }\n var convertedDate = new Date(0);\n convertedDate.setFullYear(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate());\n convertedDate.setHours(date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds(), date.getUTCMilliseconds());\n return convertedDate;\n }\n }]);\n return DateToSystemTimezoneSetter;\n}(Setter);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { ValueSetter } from \"./Setter.js\";\nexport var Parser = /*#__PURE__*/function () {\n function Parser() {\n _classCallCheck(this, Parser);\n _defineProperty(this, \"incompatibleTokens\", void 0);\n _defineProperty(this, \"priority\", void 0);\n _defineProperty(this, \"subPriority\", void 0);\n }\n _createClass(Parser, [{\n key: \"run\",\n value: function run(dateString, token, match, options) {\n var result = this.parse(dateString, token, match, options);\n if (!result) {\n return null;\n }\n return {\n setter: new ValueSetter(result.value, this.validate, this.set, this.priority, this.subPriority),\n rest: result.rest\n };\n }\n }, {\n key: \"validate\",\n value: function validate(_utcDate, _value, _options) {\n return true;\n }\n }]);\n return Parser;\n}();","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nexport var EraParser = /*#__PURE__*/function (_Parser) {\n _inherits(EraParser, _Parser);\n var _super = _createSuper(EraParser);\n function EraParser() {\n var _this;\n _classCallCheck(this, EraParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 140);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['R', 'u', 't', 'T']);\n return _this;\n }\n _createClass(EraParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n // AD, BC\n case 'G':\n case 'GG':\n case 'GGG':\n return match.era(dateString, {\n width: 'abbreviated'\n }) || match.era(dateString, {\n width: 'narrow'\n });\n // A, B\n case 'GGGGG':\n return match.era(dateString, {\n width: 'narrow'\n });\n // Anno Domini, Before Christ\n case 'GGGG':\n default:\n return match.era(dateString, {\n width: 'wide'\n }) || match.era(dateString, {\n width: 'abbreviated'\n }) || match.era(dateString, {\n width: 'narrow'\n });\n }\n }\n }, {\n key: \"set\",\n value: function set(date, flags, value) {\n flags.era = value;\n date.setUTCFullYear(value, 0, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n return EraParser;\n}(Parser);","export var numericPatterns = {\n month: /^(1[0-2]|0?\\d)/,\n // 0 to 12\n date: /^(3[0-1]|[0-2]?\\d)/,\n // 0 to 31\n dayOfYear: /^(36[0-6]|3[0-5]\\d|[0-2]?\\d?\\d)/,\n // 0 to 366\n week: /^(5[0-3]|[0-4]?\\d)/,\n // 0 to 53\n hour23h: /^(2[0-3]|[0-1]?\\d)/,\n // 0 to 23\n hour24h: /^(2[0-4]|[0-1]?\\d)/,\n // 0 to 24\n hour11h: /^(1[0-1]|0?\\d)/,\n // 0 to 11\n hour12h: /^(1[0-2]|0?\\d)/,\n // 0 to 12\n minute: /^[0-5]?\\d/,\n // 0 to 59\n second: /^[0-5]?\\d/,\n // 0 to 59\n\n singleDigit: /^\\d/,\n // 0 to 9\n twoDigits: /^\\d{1,2}/,\n // 0 to 99\n threeDigits: /^\\d{1,3}/,\n // 0 to 999\n fourDigits: /^\\d{1,4}/,\n // 0 to 9999\n\n anyDigitsSigned: /^-?\\d+/,\n singleDigitSigned: /^-?\\d/,\n // 0 to 9, -0 to -9\n twoDigitsSigned: /^-?\\d{1,2}/,\n // 0 to 99, -0 to -99\n threeDigitsSigned: /^-?\\d{1,3}/,\n // 0 to 999, -0 to -999\n fourDigitsSigned: /^-?\\d{1,4}/ // 0 to 9999, -0 to -9999\n};\n\nexport var timezonePatterns = {\n basicOptionalMinutes: /^([+-])(\\d{2})(\\d{2})?|Z/,\n basic: /^([+-])(\\d{2})(\\d{2})|Z/,\n basicOptionalSeconds: /^([+-])(\\d{2})(\\d{2})((\\d{2}))?|Z/,\n extended: /^([+-])(\\d{2}):(\\d{2})|Z/,\n extendedOptionalSeconds: /^([+-])(\\d{2}):(\\d{2})(:(\\d{2}))?|Z/\n};","import { millisecondsInHour, millisecondsInMinute, millisecondsInSecond } from \"../../constants/index.js\";\nimport { numericPatterns } from \"./constants.js\";\nexport function mapValue(parseFnResult, mapFn) {\n if (!parseFnResult) {\n return parseFnResult;\n }\n return {\n value: mapFn(parseFnResult.value),\n rest: parseFnResult.rest\n };\n}\nexport function parseNumericPattern(pattern, dateString) {\n var matchResult = dateString.match(pattern);\n if (!matchResult) {\n return null;\n }\n return {\n value: parseInt(matchResult[0], 10),\n rest: dateString.slice(matchResult[0].length)\n };\n}\nexport function parseTimezonePattern(pattern, dateString) {\n var matchResult = dateString.match(pattern);\n if (!matchResult) {\n return null;\n }\n\n // Input is 'Z'\n if (matchResult[0] === 'Z') {\n return {\n value: 0,\n rest: dateString.slice(1)\n };\n }\n var sign = matchResult[1] === '+' ? 1 : -1;\n var hours = matchResult[2] ? parseInt(matchResult[2], 10) : 0;\n var minutes = matchResult[3] ? parseInt(matchResult[3], 10) : 0;\n var seconds = matchResult[5] ? parseInt(matchResult[5], 10) : 0;\n return {\n value: sign * (hours * millisecondsInHour + minutes * millisecondsInMinute + seconds * millisecondsInSecond),\n rest: dateString.slice(matchResult[0].length)\n };\n}\nexport function parseAnyDigitsSigned(dateString) {\n return parseNumericPattern(numericPatterns.anyDigitsSigned, dateString);\n}\nexport function parseNDigits(n, dateString) {\n switch (n) {\n case 1:\n return parseNumericPattern(numericPatterns.singleDigit, dateString);\n case 2:\n return parseNumericPattern(numericPatterns.twoDigits, dateString);\n case 3:\n return parseNumericPattern(numericPatterns.threeDigits, dateString);\n case 4:\n return parseNumericPattern(numericPatterns.fourDigits, dateString);\n default:\n return parseNumericPattern(new RegExp('^\\\\d{1,' + n + '}'), dateString);\n }\n}\nexport function parseNDigitsSigned(n, dateString) {\n switch (n) {\n case 1:\n return parseNumericPattern(numericPatterns.singleDigitSigned, dateString);\n case 2:\n return parseNumericPattern(numericPatterns.twoDigitsSigned, dateString);\n case 3:\n return parseNumericPattern(numericPatterns.threeDigitsSigned, dateString);\n case 4:\n return parseNumericPattern(numericPatterns.fourDigitsSigned, dateString);\n default:\n return parseNumericPattern(new RegExp('^-?\\\\d{1,' + n + '}'), dateString);\n }\n}\nexport function dayPeriodEnumToHours(dayPeriod) {\n switch (dayPeriod) {\n case 'morning':\n return 4;\n case 'evening':\n return 17;\n case 'pm':\n case 'noon':\n case 'afternoon':\n return 12;\n case 'am':\n case 'midnight':\n case 'night':\n default:\n return 0;\n }\n}\nexport function normalizeTwoDigitYear(twoDigitYear, currentYear) {\n var isCommonEra = currentYear > 0;\n // Absolute number of the current year:\n // 1 -> 1 AC\n // 0 -> 1 BC\n // -1 -> 2 BC\n var absCurrentYear = isCommonEra ? currentYear : 1 - currentYear;\n var result;\n if (absCurrentYear <= 50) {\n result = twoDigitYear || 100;\n } else {\n var rangeEnd = absCurrentYear + 50;\n var rangeEndCentury = Math.floor(rangeEnd / 100) * 100;\n var isPreviousCentury = twoDigitYear >= rangeEnd % 100;\n result = twoDigitYear + rangeEndCentury - (isPreviousCentury ? 100 : 0);\n }\n return isCommonEra ? result : 1 - result;\n}\nexport function isLeapYearIndex(year) {\n return year % 400 === 0 || year % 4 === 0 && year % 100 !== 0;\n}","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { mapValue, normalizeTwoDigitYear, parseNDigits } from \"../utils.js\";\n// From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_Patterns\n// | Year | y | yy | yyy | yyyy | yyyyy |\n// |----------|-------|----|-------|-------|-------|\n// | AD 1 | 1 | 01 | 001 | 0001 | 00001 |\n// | AD 12 | 12 | 12 | 012 | 0012 | 00012 |\n// | AD 123 | 123 | 23 | 123 | 0123 | 00123 |\n// | AD 1234 | 1234 | 34 | 1234 | 1234 | 01234 |\n// | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |\nexport var YearParser = /*#__PURE__*/function (_Parser) {\n _inherits(YearParser, _Parser);\n var _super = _createSuper(YearParser);\n function YearParser() {\n var _this;\n _classCallCheck(this, YearParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 130);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['Y', 'R', 'u', 'w', 'I', 'i', 'e', 'c', 't', 'T']);\n return _this;\n }\n _createClass(YearParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n var valueCallback = function valueCallback(year) {\n return {\n year: year,\n isTwoDigitYear: token === 'yy'\n };\n };\n switch (token) {\n case 'y':\n return mapValue(parseNDigits(4, dateString), valueCallback);\n case 'yo':\n return mapValue(match.ordinalNumber(dateString, {\n unit: 'year'\n }), valueCallback);\n default:\n return mapValue(parseNDigits(token.length, dateString), valueCallback);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value.isTwoDigitYear || value.year > 0;\n }\n }, {\n key: \"set\",\n value: function set(date, flags, value) {\n var currentYear = date.getUTCFullYear();\n if (value.isTwoDigitYear) {\n var normalizedTwoDigitYear = normalizeTwoDigitYear(value.year, currentYear);\n date.setUTCFullYear(normalizedTwoDigitYear, 0, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n var year = !('era' in flags) || flags.era === 1 ? value.year : 1 - value.year;\n date.setUTCFullYear(year, 0, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n return YearParser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { parseNDigits, normalizeTwoDigitYear, mapValue } from \"../utils.js\";\nimport getUTCWeekYear from \"../../../_lib/getUTCWeekYear/index.js\";\nimport startOfUTCWeek from \"../../../_lib/startOfUTCWeek/index.js\";\n// Local week-numbering year\nexport var LocalWeekYearParser = /*#__PURE__*/function (_Parser) {\n _inherits(LocalWeekYearParser, _Parser);\n var _super = _createSuper(LocalWeekYearParser);\n function LocalWeekYearParser() {\n var _this;\n _classCallCheck(this, LocalWeekYearParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 130);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['y', 'R', 'u', 'Q', 'q', 'M', 'L', 'I', 'd', 'D', 'i', 't', 'T']);\n return _this;\n }\n _createClass(LocalWeekYearParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n var valueCallback = function valueCallback(year) {\n return {\n year: year,\n isTwoDigitYear: token === 'YY'\n };\n };\n switch (token) {\n case 'Y':\n return mapValue(parseNDigits(4, dateString), valueCallback);\n case 'Yo':\n return mapValue(match.ordinalNumber(dateString, {\n unit: 'year'\n }), valueCallback);\n default:\n return mapValue(parseNDigits(token.length, dateString), valueCallback);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value.isTwoDigitYear || value.year > 0;\n }\n }, {\n key: \"set\",\n value: function set(date, flags, value, options) {\n var currentYear = getUTCWeekYear(date, options);\n if (value.isTwoDigitYear) {\n var normalizedTwoDigitYear = normalizeTwoDigitYear(value.year, currentYear);\n date.setUTCFullYear(normalizedTwoDigitYear, 0, options.firstWeekContainsDate);\n date.setUTCHours(0, 0, 0, 0);\n return startOfUTCWeek(date, options);\n }\n var year = !('era' in flags) || flags.era === 1 ? value.year : 1 - value.year;\n date.setUTCFullYear(year, 0, options.firstWeekContainsDate);\n date.setUTCHours(0, 0, 0, 0);\n return startOfUTCWeek(date, options);\n }\n }]);\n return LocalWeekYearParser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { parseNDigitsSigned } from \"../utils.js\";\nimport startOfUTCISOWeek from \"../../../_lib/startOfUTCISOWeek/index.js\"; // ISO week-numbering year\nexport var ISOWeekYearParser = /*#__PURE__*/function (_Parser) {\n _inherits(ISOWeekYearParser, _Parser);\n var _super = _createSuper(ISOWeekYearParser);\n function ISOWeekYearParser() {\n var _this;\n _classCallCheck(this, ISOWeekYearParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 130);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['G', 'y', 'Y', 'u', 'Q', 'q', 'M', 'L', 'w', 'd', 'D', 'e', 'c', 't', 'T']);\n return _this;\n }\n _createClass(ISOWeekYearParser, [{\n key: \"parse\",\n value: function parse(dateString, token) {\n if (token === 'R') {\n return parseNDigitsSigned(4, dateString);\n }\n return parseNDigitsSigned(token.length, dateString);\n }\n }, {\n key: \"set\",\n value: function set(_date, _flags, value) {\n var firstWeekOfYear = new Date(0);\n firstWeekOfYear.setUTCFullYear(value, 0, 4);\n firstWeekOfYear.setUTCHours(0, 0, 0, 0);\n return startOfUTCISOWeek(firstWeekOfYear);\n }\n }]);\n return ISOWeekYearParser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { parseNDigitsSigned } from \"../utils.js\";\nexport var ExtendedYearParser = /*#__PURE__*/function (_Parser) {\n _inherits(ExtendedYearParser, _Parser);\n var _super = _createSuper(ExtendedYearParser);\n function ExtendedYearParser() {\n var _this;\n _classCallCheck(this, ExtendedYearParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 130);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['G', 'y', 'Y', 'R', 'w', 'I', 'i', 'e', 'c', 't', 'T']);\n return _this;\n }\n _createClass(ExtendedYearParser, [{\n key: \"parse\",\n value: function parse(dateString, token) {\n if (token === 'u') {\n return parseNDigitsSigned(4, dateString);\n }\n return parseNDigitsSigned(token.length, dateString);\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCFullYear(value, 0, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n return ExtendedYearParser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { parseNDigits } from \"../utils.js\";\nexport var QuarterParser = /*#__PURE__*/function (_Parser) {\n _inherits(QuarterParser, _Parser);\n var _super = _createSuper(QuarterParser);\n function QuarterParser() {\n var _this;\n _classCallCheck(this, QuarterParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 120);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['Y', 'R', 'q', 'M', 'L', 'w', 'I', 'd', 'D', 'i', 'e', 'c', 't', 'T']);\n return _this;\n }\n _createClass(QuarterParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n // 1, 2, 3, 4\n case 'Q':\n case 'QQ':\n // 01, 02, 03, 04\n return parseNDigits(token.length, dateString);\n // 1st, 2nd, 3rd, 4th\n case 'Qo':\n return match.ordinalNumber(dateString, {\n unit: 'quarter'\n });\n // Q1, Q2, Q3, Q4\n case 'QQQ':\n return match.quarter(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.quarter(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case 'QQQQQ':\n return match.quarter(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n // 1st quarter, 2nd quarter, ...\n case 'QQQQ':\n default:\n return match.quarter(dateString, {\n width: 'wide',\n context: 'formatting'\n }) || match.quarter(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.quarter(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 1 && value <= 4;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCMonth((value - 1) * 3, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n return QuarterParser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { parseNDigits } from \"../utils.js\";\nexport var StandAloneQuarterParser = /*#__PURE__*/function (_Parser) {\n _inherits(StandAloneQuarterParser, _Parser);\n var _super = _createSuper(StandAloneQuarterParser);\n function StandAloneQuarterParser() {\n var _this;\n _classCallCheck(this, StandAloneQuarterParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 120);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['Y', 'R', 'Q', 'M', 'L', 'w', 'I', 'd', 'D', 'i', 'e', 'c', 't', 'T']);\n return _this;\n }\n _createClass(StandAloneQuarterParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n // 1, 2, 3, 4\n case 'q':\n case 'qq':\n // 01, 02, 03, 04\n return parseNDigits(token.length, dateString);\n // 1st, 2nd, 3rd, 4th\n case 'qo':\n return match.ordinalNumber(dateString, {\n unit: 'quarter'\n });\n // Q1, Q2, Q3, Q4\n case 'qqq':\n return match.quarter(dateString, {\n width: 'abbreviated',\n context: 'standalone'\n }) || match.quarter(dateString, {\n width: 'narrow',\n context: 'standalone'\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case 'qqqqq':\n return match.quarter(dateString, {\n width: 'narrow',\n context: 'standalone'\n });\n // 1st quarter, 2nd quarter, ...\n case 'qqqq':\n default:\n return match.quarter(dateString, {\n width: 'wide',\n context: 'standalone'\n }) || match.quarter(dateString, {\n width: 'abbreviated',\n context: 'standalone'\n }) || match.quarter(dateString, {\n width: 'narrow',\n context: 'standalone'\n });\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 1 && value <= 4;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCMonth((value - 1) * 3, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n return StandAloneQuarterParser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { mapValue, parseNDigits, parseNumericPattern } from \"../utils.js\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nexport var MonthParser = /*#__PURE__*/function (_Parser) {\n _inherits(MonthParser, _Parser);\n var _super = _createSuper(MonthParser);\n function MonthParser() {\n var _this;\n _classCallCheck(this, MonthParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['Y', 'R', 'q', 'Q', 'L', 'w', 'I', 'D', 'i', 'e', 'c', 't', 'T']);\n _defineProperty(_assertThisInitialized(_this), \"priority\", 110);\n return _this;\n }\n _createClass(MonthParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n var valueCallback = function valueCallback(value) {\n return value - 1;\n };\n switch (token) {\n // 1, 2, ..., 12\n case 'M':\n return mapValue(parseNumericPattern(numericPatterns.month, dateString), valueCallback);\n // 01, 02, ..., 12\n case 'MM':\n return mapValue(parseNDigits(2, dateString), valueCallback);\n // 1st, 2nd, ..., 12th\n case 'Mo':\n return mapValue(match.ordinalNumber(dateString, {\n unit: 'month'\n }), valueCallback);\n // Jan, Feb, ..., Dec\n case 'MMM':\n return match.month(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.month(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n // J, F, ..., D\n case 'MMMMM':\n return match.month(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n // January, February, ..., December\n case 'MMMM':\n default:\n return match.month(dateString, {\n width: 'wide',\n context: 'formatting'\n }) || match.month(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.month(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 0 && value <= 11;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCMonth(value, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n return MonthParser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { parseNumericPattern, parseNDigits, mapValue } from \"../utils.js\";\nexport var StandAloneMonthParser = /*#__PURE__*/function (_Parser) {\n _inherits(StandAloneMonthParser, _Parser);\n var _super = _createSuper(StandAloneMonthParser);\n function StandAloneMonthParser() {\n var _this;\n _classCallCheck(this, StandAloneMonthParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 110);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['Y', 'R', 'q', 'Q', 'M', 'w', 'I', 'D', 'i', 'e', 'c', 't', 'T']);\n return _this;\n }\n _createClass(StandAloneMonthParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n var valueCallback = function valueCallback(value) {\n return value - 1;\n };\n switch (token) {\n // 1, 2, ..., 12\n case 'L':\n return mapValue(parseNumericPattern(numericPatterns.month, dateString), valueCallback);\n // 01, 02, ..., 12\n case 'LL':\n return mapValue(parseNDigits(2, dateString), valueCallback);\n // 1st, 2nd, ..., 12th\n case 'Lo':\n return mapValue(match.ordinalNumber(dateString, {\n unit: 'month'\n }), valueCallback);\n // Jan, Feb, ..., Dec\n case 'LLL':\n return match.month(dateString, {\n width: 'abbreviated',\n context: 'standalone'\n }) || match.month(dateString, {\n width: 'narrow',\n context: 'standalone'\n });\n // J, F, ..., D\n case 'LLLLL':\n return match.month(dateString, {\n width: 'narrow',\n context: 'standalone'\n });\n // January, February, ..., December\n case 'LLLL':\n default:\n return match.month(dateString, {\n width: 'wide',\n context: 'standalone'\n }) || match.month(dateString, {\n width: 'abbreviated',\n context: 'standalone'\n }) || match.month(dateString, {\n width: 'narrow',\n context: 'standalone'\n });\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 0 && value <= 11;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCMonth(value, 1);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n return StandAloneMonthParser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { parseNumericPattern, parseNDigits } from \"../utils.js\";\nimport setUTCWeek from \"../../../_lib/setUTCWeek/index.js\";\nimport startOfUTCWeek from \"../../../_lib/startOfUTCWeek/index.js\"; // Local week of year\nexport var LocalWeekParser = /*#__PURE__*/function (_Parser) {\n _inherits(LocalWeekParser, _Parser);\n var _super = _createSuper(LocalWeekParser);\n function LocalWeekParser() {\n var _this;\n _classCallCheck(this, LocalWeekParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 100);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['y', 'R', 'u', 'q', 'Q', 'M', 'L', 'I', 'd', 'D', 'i', 't', 'T']);\n return _this;\n }\n _createClass(LocalWeekParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 'w':\n return parseNumericPattern(numericPatterns.week, dateString);\n case 'wo':\n return match.ordinalNumber(dateString, {\n unit: 'week'\n });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 1 && value <= 53;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value, options) {\n return startOfUTCWeek(setUTCWeek(date, value, options), options);\n }\n }]);\n return LocalWeekParser;\n}(Parser);","import toInteger from \"../toInteger/index.js\";\nimport toDate from \"../../toDate/index.js\";\nimport getUTCWeek from \"../getUTCWeek/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nexport default function setUTCWeek(dirtyDate, dirtyWeek, options) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var week = toInteger(dirtyWeek);\n var diff = getUTCWeek(date, options) - week;\n date.setUTCDate(date.getUTCDate() - diff * 7);\n return date;\n}","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { parseNumericPattern, parseNDigits } from \"../utils.js\";\nimport setUTCISOWeek from \"../../../_lib/setUTCISOWeek/index.js\";\nimport startOfUTCISOWeek from \"../../../_lib/startOfUTCISOWeek/index.js\"; // ISO week of year\nexport var ISOWeekParser = /*#__PURE__*/function (_Parser) {\n _inherits(ISOWeekParser, _Parser);\n var _super = _createSuper(ISOWeekParser);\n function ISOWeekParser() {\n var _this;\n _classCallCheck(this, ISOWeekParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 100);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['y', 'Y', 'u', 'q', 'Q', 'M', 'L', 'w', 'd', 'D', 'e', 'c', 't', 'T']);\n return _this;\n }\n _createClass(ISOWeekParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 'I':\n return parseNumericPattern(numericPatterns.week, dateString);\n case 'Io':\n return match.ordinalNumber(dateString, {\n unit: 'week'\n });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 1 && value <= 53;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n return startOfUTCISOWeek(setUTCISOWeek(date, value));\n }\n }]);\n return ISOWeekParser;\n}(Parser);","import toInteger from \"../toInteger/index.js\";\nimport toDate from \"../../toDate/index.js\";\nimport getUTCISOWeek from \"../getUTCISOWeek/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nexport default function setUTCISOWeek(dirtyDate, dirtyISOWeek) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var isoWeek = toInteger(dirtyISOWeek);\n var diff = getUTCISOWeek(date) - isoWeek;\n date.setUTCDate(date.getUTCDate() - diff * 7);\n return date;\n}","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { isLeapYearIndex, parseNDigits, parseNumericPattern } from \"../utils.js\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nvar DAYS_IN_MONTH = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nvar DAYS_IN_MONTH_LEAP_YEAR = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n\n// Day of the month\nexport var DateParser = /*#__PURE__*/function (_Parser) {\n _inherits(DateParser, _Parser);\n var _super = _createSuper(DateParser);\n function DateParser() {\n var _this;\n _classCallCheck(this, DateParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 90);\n _defineProperty(_assertThisInitialized(_this), \"subPriority\", 1);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['Y', 'R', 'q', 'Q', 'w', 'I', 'D', 'i', 'e', 'c', 't', 'T']);\n return _this;\n }\n _createClass(DateParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 'd':\n return parseNumericPattern(numericPatterns.date, dateString);\n case 'do':\n return match.ordinalNumber(dateString, {\n unit: 'date'\n });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(date, value) {\n var year = date.getUTCFullYear();\n var isLeapYear = isLeapYearIndex(year);\n var month = date.getUTCMonth();\n if (isLeapYear) {\n return value >= 1 && value <= DAYS_IN_MONTH_LEAP_YEAR[month];\n } else {\n return value >= 1 && value <= DAYS_IN_MONTH[month];\n }\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCDate(value);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n return DateParser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { parseNumericPattern, parseNDigits, isLeapYearIndex } from \"../utils.js\";\nexport var DayOfYearParser = /*#__PURE__*/function (_Parser) {\n _inherits(DayOfYearParser, _Parser);\n var _super = _createSuper(DayOfYearParser);\n function DayOfYearParser() {\n var _this;\n _classCallCheck(this, DayOfYearParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 90);\n _defineProperty(_assertThisInitialized(_this), \"subpriority\", 1);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['Y', 'R', 'q', 'Q', 'M', 'L', 'w', 'I', 'd', 'E', 'i', 'e', 'c', 't', 'T']);\n return _this;\n }\n _createClass(DayOfYearParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 'D':\n case 'DD':\n return parseNumericPattern(numericPatterns.dayOfYear, dateString);\n case 'Do':\n return match.ordinalNumber(dateString, {\n unit: 'date'\n });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(date, value) {\n var year = date.getUTCFullYear();\n var isLeapYear = isLeapYearIndex(year);\n if (isLeapYear) {\n return value >= 1 && value <= 366;\n } else {\n return value >= 1 && value <= 365;\n }\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCMonth(0, value);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n return DayOfYearParser;\n}(Parser);","import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport toInteger from \"../toInteger/index.js\";\nimport { getDefaultOptions } from \"../defaultOptions/index.js\";\nexport default function setUTCDay(dirtyDate, dirtyDay, options) {\n var _ref, _ref2, _ref3, _options$weekStartsOn, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n requiredArgs(2, arguments);\n var defaultOptions = getDefaultOptions();\n var weekStartsOn = toInteger((_ref = (_ref2 = (_ref3 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.weekStartsOn) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.weekStartsOn) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.weekStartsOn) !== null && _ref !== void 0 ? _ref : 0);\n\n // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n var date = toDate(dirtyDate);\n var day = toInteger(dirtyDay);\n var currentDay = date.getUTCDay();\n var remainder = day % 7;\n var dayIndex = (remainder + 7) % 7;\n var diff = (dayIndex < weekStartsOn ? 7 : 0) + day - currentDay;\n date.setUTCDate(date.getUTCDate() + diff);\n return date;\n}","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport setUTCDay from \"../../../_lib/setUTCDay/index.js\"; // Day of week\nexport var DayParser = /*#__PURE__*/function (_Parser) {\n _inherits(DayParser, _Parser);\n var _super = _createSuper(DayParser);\n function DayParser() {\n var _this;\n _classCallCheck(this, DayParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 90);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['D', 'i', 'e', 'c', 't', 'T']);\n return _this;\n }\n _createClass(DayParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n // Tue\n case 'E':\n case 'EE':\n case 'EEE':\n return match.day(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'short',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n // T\n case 'EEEEE':\n return match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n case 'EEEEEE':\n return match.day(dateString, {\n width: 'short',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tuesday\n case 'EEEE':\n default:\n return match.day(dateString, {\n width: 'wide',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'short',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 0 && value <= 6;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value, options) {\n date = setUTCDay(date, value, options);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n return DayParser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { mapValue, parseNDigits } from \"../utils.js\";\nimport setUTCDay from \"../../../_lib/setUTCDay/index.js\"; // Local day of week\nexport var LocalDayParser = /*#__PURE__*/function (_Parser) {\n _inherits(LocalDayParser, _Parser);\n var _super = _createSuper(LocalDayParser);\n function LocalDayParser() {\n var _this;\n _classCallCheck(this, LocalDayParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 90);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['y', 'R', 'u', 'q', 'Q', 'M', 'L', 'I', 'd', 'D', 'E', 'i', 'c', 't', 'T']);\n return _this;\n }\n _createClass(LocalDayParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match, options) {\n var valueCallback = function valueCallback(value) {\n var wholeWeekDays = Math.floor((value - 1) / 7) * 7;\n return (value + options.weekStartsOn + 6) % 7 + wholeWeekDays;\n };\n switch (token) {\n // 3\n case 'e':\n case 'ee':\n // 03\n return mapValue(parseNDigits(token.length, dateString), valueCallback);\n // 3rd\n case 'eo':\n return mapValue(match.ordinalNumber(dateString, {\n unit: 'day'\n }), valueCallback);\n // Tue\n case 'eee':\n return match.day(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'short',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n // T\n case 'eeeee':\n return match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n case 'eeeeee':\n return match.day(dateString, {\n width: 'short',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tuesday\n case 'eeee':\n default:\n return match.day(dateString, {\n width: 'wide',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'short',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 0 && value <= 6;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value, options) {\n date = setUTCDay(date, value, options);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n return LocalDayParser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { mapValue, parseNDigits } from \"../utils.js\";\nimport setUTCDay from \"../../../_lib/setUTCDay/index.js\"; // Stand-alone local day of week\nexport var StandAloneLocalDayParser = /*#__PURE__*/function (_Parser) {\n _inherits(StandAloneLocalDayParser, _Parser);\n var _super = _createSuper(StandAloneLocalDayParser);\n function StandAloneLocalDayParser() {\n var _this;\n _classCallCheck(this, StandAloneLocalDayParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 90);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['y', 'R', 'u', 'q', 'Q', 'M', 'L', 'I', 'd', 'D', 'E', 'i', 'e', 't', 'T']);\n return _this;\n }\n _createClass(StandAloneLocalDayParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match, options) {\n var valueCallback = function valueCallback(value) {\n var wholeWeekDays = Math.floor((value - 1) / 7) * 7;\n return (value + options.weekStartsOn + 6) % 7 + wholeWeekDays;\n };\n switch (token) {\n // 3\n case 'c':\n case 'cc':\n // 03\n return mapValue(parseNDigits(token.length, dateString), valueCallback);\n // 3rd\n case 'co':\n return mapValue(match.ordinalNumber(dateString, {\n unit: 'day'\n }), valueCallback);\n // Tue\n case 'ccc':\n return match.day(dateString, {\n width: 'abbreviated',\n context: 'standalone'\n }) || match.day(dateString, {\n width: 'short',\n context: 'standalone'\n }) || match.day(dateString, {\n width: 'narrow',\n context: 'standalone'\n });\n // T\n case 'ccccc':\n return match.day(dateString, {\n width: 'narrow',\n context: 'standalone'\n });\n // Tu\n case 'cccccc':\n return match.day(dateString, {\n width: 'short',\n context: 'standalone'\n }) || match.day(dateString, {\n width: 'narrow',\n context: 'standalone'\n });\n // Tuesday\n case 'cccc':\n default:\n return match.day(dateString, {\n width: 'wide',\n context: 'standalone'\n }) || match.day(dateString, {\n width: 'abbreviated',\n context: 'standalone'\n }) || match.day(dateString, {\n width: 'short',\n context: 'standalone'\n }) || match.day(dateString, {\n width: 'narrow',\n context: 'standalone'\n });\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 0 && value <= 6;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value, options) {\n date = setUTCDay(date, value, options);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n return StandAloneLocalDayParser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { mapValue, parseNDigits } from \"../utils.js\";\nimport setUTCISODay from \"../../../_lib/setUTCISODay/index.js\"; // ISO day of week\nexport var ISODayParser = /*#__PURE__*/function (_Parser) {\n _inherits(ISODayParser, _Parser);\n var _super = _createSuper(ISODayParser);\n function ISODayParser() {\n var _this;\n _classCallCheck(this, ISODayParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 90);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['y', 'Y', 'u', 'q', 'Q', 'M', 'L', 'w', 'd', 'D', 'E', 'e', 'c', 't', 'T']);\n return _this;\n }\n _createClass(ISODayParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n var valueCallback = function valueCallback(value) {\n if (value === 0) {\n return 7;\n }\n return value;\n };\n switch (token) {\n // 2\n case 'i':\n case 'ii':\n // 02\n return parseNDigits(token.length, dateString);\n // 2nd\n case 'io':\n return match.ordinalNumber(dateString, {\n unit: 'day'\n });\n // Tue\n case 'iii':\n return mapValue(match.day(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'short',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n }), valueCallback);\n // T\n case 'iiiii':\n return mapValue(match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n }), valueCallback);\n // Tu\n case 'iiiiii':\n return mapValue(match.day(dateString, {\n width: 'short',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n }), valueCallback);\n // Tuesday\n case 'iiii':\n default:\n return mapValue(match.day(dateString, {\n width: 'wide',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'short',\n context: 'formatting'\n }) || match.day(dateString, {\n width: 'narrow',\n context: 'formatting'\n }), valueCallback);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 1 && value <= 7;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date = setUTCISODay(date, value);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n }\n }]);\n return ISODayParser;\n}(Parser);","import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport toInteger from \"../toInteger/index.js\";\nexport default function setUTCISODay(dirtyDate, dirtyDay) {\n requiredArgs(2, arguments);\n var day = toInteger(dirtyDay);\n if (day % 7 === 0) {\n day = day - 7;\n }\n var weekStartsOn = 1;\n var date = toDate(dirtyDate);\n var currentDay = date.getUTCDay();\n var remainder = day % 7;\n var dayIndex = (remainder + 7) % 7;\n var diff = (dayIndex < weekStartsOn ? 7 : 0) + day - currentDay;\n date.setUTCDate(date.getUTCDate() + diff);\n return date;\n}","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { dayPeriodEnumToHours } from \"../utils.js\";\nexport var AMPMParser = /*#__PURE__*/function (_Parser) {\n _inherits(AMPMParser, _Parser);\n var _super = _createSuper(AMPMParser);\n function AMPMParser() {\n var _this;\n _classCallCheck(this, AMPMParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 80);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['b', 'B', 'H', 'k', 't', 'T']);\n return _this;\n }\n _createClass(AMPMParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 'a':\n case 'aa':\n case 'aaa':\n return match.dayPeriod(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.dayPeriod(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n case 'aaaaa':\n return match.dayPeriod(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n case 'aaaa':\n default:\n return match.dayPeriod(dateString, {\n width: 'wide',\n context: 'formatting'\n }) || match.dayPeriod(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.dayPeriod(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCHours(dayPeriodEnumToHours(value), 0, 0, 0);\n return date;\n }\n }]);\n return AMPMParser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { dayPeriodEnumToHours } from \"../utils.js\";\nexport var AMPMMidnightParser = /*#__PURE__*/function (_Parser) {\n _inherits(AMPMMidnightParser, _Parser);\n var _super = _createSuper(AMPMMidnightParser);\n function AMPMMidnightParser() {\n var _this;\n _classCallCheck(this, AMPMMidnightParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 80);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['a', 'B', 'H', 'k', 't', 'T']);\n return _this;\n }\n _createClass(AMPMMidnightParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 'b':\n case 'bb':\n case 'bbb':\n return match.dayPeriod(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.dayPeriod(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n case 'bbbbb':\n return match.dayPeriod(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n case 'bbbb':\n default:\n return match.dayPeriod(dateString, {\n width: 'wide',\n context: 'formatting'\n }) || match.dayPeriod(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.dayPeriod(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCHours(dayPeriodEnumToHours(value), 0, 0, 0);\n return date;\n }\n }]);\n return AMPMMidnightParser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { dayPeriodEnumToHours } from \"../utils.js\"; // in the morning, in the afternoon, in the evening, at night\nexport var DayPeriodParser = /*#__PURE__*/function (_Parser) {\n _inherits(DayPeriodParser, _Parser);\n var _super = _createSuper(DayPeriodParser);\n function DayPeriodParser() {\n var _this;\n _classCallCheck(this, DayPeriodParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 80);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['a', 'b', 't', 'T']);\n return _this;\n }\n _createClass(DayPeriodParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 'B':\n case 'BB':\n case 'BBB':\n return match.dayPeriod(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.dayPeriod(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n case 'BBBBB':\n return match.dayPeriod(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n case 'BBBB':\n default:\n return match.dayPeriod(dateString, {\n width: 'wide',\n context: 'formatting'\n }) || match.dayPeriod(dateString, {\n width: 'abbreviated',\n context: 'formatting'\n }) || match.dayPeriod(dateString, {\n width: 'narrow',\n context: 'formatting'\n });\n }\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCHours(dayPeriodEnumToHours(value), 0, 0, 0);\n return date;\n }\n }]);\n return DayPeriodParser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { parseNumericPattern, parseNDigits } from \"../utils.js\";\nexport var Hour1to12Parser = /*#__PURE__*/function (_Parser) {\n _inherits(Hour1to12Parser, _Parser);\n var _super = _createSuper(Hour1to12Parser);\n function Hour1to12Parser() {\n var _this;\n _classCallCheck(this, Hour1to12Parser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 70);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['H', 'K', 'k', 't', 'T']);\n return _this;\n }\n _createClass(Hour1to12Parser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 'h':\n return parseNumericPattern(numericPatterns.hour12h, dateString);\n case 'ho':\n return match.ordinalNumber(dateString, {\n unit: 'hour'\n });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 1 && value <= 12;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n var isPM = date.getUTCHours() >= 12;\n if (isPM && value < 12) {\n date.setUTCHours(value + 12, 0, 0, 0);\n } else if (!isPM && value === 12) {\n date.setUTCHours(0, 0, 0, 0);\n } else {\n date.setUTCHours(value, 0, 0, 0);\n }\n return date;\n }\n }]);\n return Hour1to12Parser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { parseNumericPattern, parseNDigits } from \"../utils.js\";\nexport var Hour0to23Parser = /*#__PURE__*/function (_Parser) {\n _inherits(Hour0to23Parser, _Parser);\n var _super = _createSuper(Hour0to23Parser);\n function Hour0to23Parser() {\n var _this;\n _classCallCheck(this, Hour0to23Parser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 70);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['a', 'b', 'h', 'K', 'k', 't', 'T']);\n return _this;\n }\n _createClass(Hour0to23Parser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 'H':\n return parseNumericPattern(numericPatterns.hour23h, dateString);\n case 'Ho':\n return match.ordinalNumber(dateString, {\n unit: 'hour'\n });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 0 && value <= 23;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCHours(value, 0, 0, 0);\n return date;\n }\n }]);\n return Hour0to23Parser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { parseNumericPattern, parseNDigits } from \"../utils.js\";\nexport var Hour0To11Parser = /*#__PURE__*/function (_Parser) {\n _inherits(Hour0To11Parser, _Parser);\n var _super = _createSuper(Hour0To11Parser);\n function Hour0To11Parser() {\n var _this;\n _classCallCheck(this, Hour0To11Parser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 70);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['h', 'H', 'k', 't', 'T']);\n return _this;\n }\n _createClass(Hour0To11Parser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 'K':\n return parseNumericPattern(numericPatterns.hour11h, dateString);\n case 'Ko':\n return match.ordinalNumber(dateString, {\n unit: 'hour'\n });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 0 && value <= 11;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n var isPM = date.getUTCHours() >= 12;\n if (isPM && value < 12) {\n date.setUTCHours(value + 12, 0, 0, 0);\n } else {\n date.setUTCHours(value, 0, 0, 0);\n }\n return date;\n }\n }]);\n return Hour0To11Parser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { parseNumericPattern, parseNDigits } from \"../utils.js\";\nexport var Hour1To24Parser = /*#__PURE__*/function (_Parser) {\n _inherits(Hour1To24Parser, _Parser);\n var _super = _createSuper(Hour1To24Parser);\n function Hour1To24Parser() {\n var _this;\n _classCallCheck(this, Hour1To24Parser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 70);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['a', 'b', 'h', 'H', 'K', 't', 'T']);\n return _this;\n }\n _createClass(Hour1To24Parser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 'k':\n return parseNumericPattern(numericPatterns.hour24h, dateString);\n case 'ko':\n return match.ordinalNumber(dateString, {\n unit: 'hour'\n });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 1 && value <= 24;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n var hours = value <= 24 ? value % 24 : value;\n date.setUTCHours(hours, 0, 0, 0);\n return date;\n }\n }]);\n return Hour1To24Parser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { parseNumericPattern, parseNDigits } from \"../utils.js\";\nexport var MinuteParser = /*#__PURE__*/function (_Parser) {\n _inherits(MinuteParser, _Parser);\n var _super = _createSuper(MinuteParser);\n function MinuteParser() {\n var _this;\n _classCallCheck(this, MinuteParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 60);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['t', 'T']);\n return _this;\n }\n _createClass(MinuteParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 'm':\n return parseNumericPattern(numericPatterns.minute, dateString);\n case 'mo':\n return match.ordinalNumber(dateString, {\n unit: 'minute'\n });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 0 && value <= 59;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCMinutes(value, 0, 0);\n return date;\n }\n }]);\n return MinuteParser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { numericPatterns } from \"../constants.js\";\nimport { parseNumericPattern, parseNDigits } from \"../utils.js\";\nexport var SecondParser = /*#__PURE__*/function (_Parser) {\n _inherits(SecondParser, _Parser);\n var _super = _createSuper(SecondParser);\n function SecondParser() {\n var _this;\n _classCallCheck(this, SecondParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 50);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['t', 'T']);\n return _this;\n }\n _createClass(SecondParser, [{\n key: \"parse\",\n value: function parse(dateString, token, match) {\n switch (token) {\n case 's':\n return parseNumericPattern(numericPatterns.second, dateString);\n case 'so':\n return match.ordinalNumber(dateString, {\n unit: 'second'\n });\n default:\n return parseNDigits(token.length, dateString);\n }\n }\n }, {\n key: \"validate\",\n value: function validate(_date, value) {\n return value >= 0 && value <= 59;\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCSeconds(value, 0);\n return date;\n }\n }]);\n return SecondParser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { mapValue, parseNDigits } from \"../utils.js\";\nexport var FractionOfSecondParser = /*#__PURE__*/function (_Parser) {\n _inherits(FractionOfSecondParser, _Parser);\n var _super = _createSuper(FractionOfSecondParser);\n function FractionOfSecondParser() {\n var _this;\n _classCallCheck(this, FractionOfSecondParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 30);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['t', 'T']);\n return _this;\n }\n _createClass(FractionOfSecondParser, [{\n key: \"parse\",\n value: function parse(dateString, token) {\n var valueCallback = function valueCallback(value) {\n return Math.floor(value * Math.pow(10, -token.length + 3));\n };\n return mapValue(parseNDigits(token.length, dateString), valueCallback);\n }\n }, {\n key: \"set\",\n value: function set(date, _flags, value) {\n date.setUTCMilliseconds(value);\n return date;\n }\n }]);\n return FractionOfSecondParser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { timezonePatterns } from \"../constants.js\";\nimport { parseTimezonePattern } from \"../utils.js\"; // Timezone (ISO-8601. +00:00 is `'Z'`)\nexport var ISOTimezoneWithZParser = /*#__PURE__*/function (_Parser) {\n _inherits(ISOTimezoneWithZParser, _Parser);\n var _super = _createSuper(ISOTimezoneWithZParser);\n function ISOTimezoneWithZParser() {\n var _this;\n _classCallCheck(this, ISOTimezoneWithZParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 10);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['t', 'T', 'x']);\n return _this;\n }\n _createClass(ISOTimezoneWithZParser, [{\n key: \"parse\",\n value: function parse(dateString, token) {\n switch (token) {\n case 'X':\n return parseTimezonePattern(timezonePatterns.basicOptionalMinutes, dateString);\n case 'XX':\n return parseTimezonePattern(timezonePatterns.basic, dateString);\n case 'XXXX':\n return parseTimezonePattern(timezonePatterns.basicOptionalSeconds, dateString);\n case 'XXXXX':\n return parseTimezonePattern(timezonePatterns.extendedOptionalSeconds, dateString);\n case 'XXX':\n default:\n return parseTimezonePattern(timezonePatterns.extended, dateString);\n }\n }\n }, {\n key: \"set\",\n value: function set(date, flags, value) {\n if (flags.timestampIsSet) {\n return date;\n }\n return new Date(date.getTime() - value);\n }\n }]);\n return ISOTimezoneWithZParser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { timezonePatterns } from \"../constants.js\";\nimport { parseTimezonePattern } from \"../utils.js\"; // Timezone (ISO-8601)\nexport var ISOTimezoneParser = /*#__PURE__*/function (_Parser) {\n _inherits(ISOTimezoneParser, _Parser);\n var _super = _createSuper(ISOTimezoneParser);\n function ISOTimezoneParser() {\n var _this;\n _classCallCheck(this, ISOTimezoneParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 10);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", ['t', 'T', 'X']);\n return _this;\n }\n _createClass(ISOTimezoneParser, [{\n key: \"parse\",\n value: function parse(dateString, token) {\n switch (token) {\n case 'x':\n return parseTimezonePattern(timezonePatterns.basicOptionalMinutes, dateString);\n case 'xx':\n return parseTimezonePattern(timezonePatterns.basic, dateString);\n case 'xxxx':\n return parseTimezonePattern(timezonePatterns.basicOptionalSeconds, dateString);\n case 'xxxxx':\n return parseTimezonePattern(timezonePatterns.extendedOptionalSeconds, dateString);\n case 'xxx':\n default:\n return parseTimezonePattern(timezonePatterns.extended, dateString);\n }\n }\n }, {\n key: \"set\",\n value: function set(date, flags, value) {\n if (flags.timestampIsSet) {\n return date;\n }\n return new Date(date.getTime() - value);\n }\n }]);\n return ISOTimezoneParser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { parseAnyDigitsSigned } from \"../utils.js\";\nexport var TimestampSecondsParser = /*#__PURE__*/function (_Parser) {\n _inherits(TimestampSecondsParser, _Parser);\n var _super = _createSuper(TimestampSecondsParser);\n function TimestampSecondsParser() {\n var _this;\n _classCallCheck(this, TimestampSecondsParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 40);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", '*');\n return _this;\n }\n _createClass(TimestampSecondsParser, [{\n key: \"parse\",\n value: function parse(dateString) {\n return parseAnyDigitsSigned(dateString);\n }\n }, {\n key: \"set\",\n value: function set(_date, _flags, value) {\n return [new Date(value * 1000), {\n timestampIsSet: true\n }];\n }\n }]);\n return TimestampSecondsParser;\n}(Parser);","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Parser } from \"../Parser.js\";\nimport { parseAnyDigitsSigned } from \"../utils.js\";\nexport var TimestampMillisecondsParser = /*#__PURE__*/function (_Parser) {\n _inherits(TimestampMillisecondsParser, _Parser);\n var _super = _createSuper(TimestampMillisecondsParser);\n function TimestampMillisecondsParser() {\n var _this;\n _classCallCheck(this, TimestampMillisecondsParser);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _super.call.apply(_super, [this].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"priority\", 20);\n _defineProperty(_assertThisInitialized(_this), \"incompatibleTokens\", '*');\n return _this;\n }\n _createClass(TimestampMillisecondsParser, [{\n key: \"parse\",\n value: function parse(dateString) {\n return parseAnyDigitsSigned(dateString);\n }\n }, {\n key: \"set\",\n value: function set(_date, _flags, value) {\n return [new Date(value), {\n timestampIsSet: true\n }];\n }\n }]);\n return TimestampMillisecondsParser;\n}(Parser);","import { EraParser } from \"./EraParser.js\";\nimport { YearParser } from \"./YearParser.js\";\nimport { LocalWeekYearParser } from \"./LocalWeekYearParser.js\";\nimport { ISOWeekYearParser } from \"./ISOWeekYearParser.js\";\nimport { ExtendedYearParser } from \"./ExtendedYearParser.js\";\nimport { QuarterParser } from \"./QuarterParser.js\";\nimport { StandAloneQuarterParser } from \"./StandAloneQuarterParser.js\";\nimport { MonthParser } from \"./MonthParser.js\";\nimport { StandAloneMonthParser } from \"./StandAloneMonthParser.js\";\nimport { LocalWeekParser } from \"./LocalWeekParser.js\";\nimport { ISOWeekParser } from \"./ISOWeekParser.js\";\nimport { DateParser } from \"./DateParser.js\";\nimport { DayOfYearParser } from \"./DayOfYearParser.js\";\nimport { DayParser } from \"./DayParser.js\";\nimport { LocalDayParser } from \"./LocalDayParser.js\";\nimport { StandAloneLocalDayParser } from \"./StandAloneLocalDayParser.js\";\nimport { ISODayParser } from \"./ISODayParser.js\";\nimport { AMPMParser } from \"./AMPMParser.js\";\nimport { AMPMMidnightParser } from \"./AMPMMidnightParser.js\";\nimport { DayPeriodParser } from \"./DayPeriodParser.js\";\nimport { Hour1to12Parser } from \"./Hour1to12Parser.js\";\nimport { Hour0to23Parser } from \"./Hour0to23Parser.js\";\nimport { Hour0To11Parser } from \"./Hour0To11Parser.js\";\nimport { Hour1To24Parser } from \"./Hour1To24Parser.js\";\nimport { MinuteParser } from \"./MinuteParser.js\";\nimport { SecondParser } from \"./SecondParser.js\";\nimport { FractionOfSecondParser } from \"./FractionOfSecondParser.js\";\nimport { ISOTimezoneWithZParser } from \"./ISOTimezoneWithZParser.js\";\nimport { ISOTimezoneParser } from \"./ISOTimezoneParser.js\";\nimport { TimestampSecondsParser } from \"./TimestampSecondsParser.js\";\nimport { TimestampMillisecondsParser } from \"./TimestampMillisecondsParser.js\";\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | Milliseconds in day |\n * | b | AM, PM, noon, midnight | B | Flexible day period |\n * | c | Stand-alone local day of week | C* | Localized hour w/ day period |\n * | d | Day of month | D | Day of year |\n * | e | Local day of week | E | Day of week |\n * | f | | F* | Day of week in month |\n * | g* | Modified Julian day | G | Era |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | i! | ISO day of week | I! | ISO week of year |\n * | j* | Localized hour w/ day period | J* | Localized hour w/o day period |\n * | k | Hour [1-24] | K | Hour [0-11] |\n * | l* | (deprecated) | L | Stand-alone month |\n * | m | Minute | M | Month |\n * | n | | N | |\n * | o! | Ordinal number modifier | O* | Timezone (GMT) |\n * | p | | P | |\n * | q | Stand-alone quarter | Q | Quarter |\n * | r* | Related Gregorian year | R! | ISO week-numbering year |\n * | s | Second | S | Fraction of second |\n * | t! | Seconds timestamp | T! | Milliseconds timestamp |\n * | u | Extended year | U* | Cyclic year |\n * | v* | Timezone (generic non-locat.) | V* | Timezone (location) |\n * | w | Local week of year | W* | Week of month |\n * | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) |\n * | y | Year (abs) | Y | Local week-numbering year |\n * | z* | Timezone (specific non-locat.) | Z* | Timezone (aliases) |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n *\n * Letters marked by ! are non-standard, but implemented by date-fns:\n * - `o` modifies the previous token to turn it into an ordinal (see `parse` docs)\n * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,\n * i.e. 7 for Sunday, 1 for Monday, etc.\n * - `I` is ISO week of year, as opposed to `w` which is local week of year.\n * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.\n * `R` is supposed to be used in conjunction with `I` and `i`\n * for universal ISO week-numbering date, whereas\n * `Y` is supposed to be used in conjunction with `w` and `e`\n * for week-numbering date specific to the locale.\n */\nexport var parsers = {\n G: new EraParser(),\n y: new YearParser(),\n Y: new LocalWeekYearParser(),\n R: new ISOWeekYearParser(),\n u: new ExtendedYearParser(),\n Q: new QuarterParser(),\n q: new StandAloneQuarterParser(),\n M: new MonthParser(),\n L: new StandAloneMonthParser(),\n w: new LocalWeekParser(),\n I: new ISOWeekParser(),\n d: new DateParser(),\n D: new DayOfYearParser(),\n E: new DayParser(),\n e: new LocalDayParser(),\n c: new StandAloneLocalDayParser(),\n i: new ISODayParser(),\n a: new AMPMParser(),\n b: new AMPMMidnightParser(),\n B: new DayPeriodParser(),\n h: new Hour1to12Parser(),\n H: new Hour0to23Parser(),\n K: new Hour0To11Parser(),\n k: new Hour1To24Parser(),\n m: new MinuteParser(),\n s: new SecondParser(),\n S: new FractionOfSecondParser(),\n X: new ISOTimezoneWithZParser(),\n x: new ISOTimezoneParser(),\n t: new TimestampSecondsParser(),\n T: new TimestampMillisecondsParser()\n};","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _createForOfIteratorHelper from \"@babel/runtime/helpers/esm/createForOfIteratorHelper\";\nimport defaultLocale from \"../_lib/defaultLocale/index.js\";\nimport subMilliseconds from \"../subMilliseconds/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport assign from \"../_lib/assign/index.js\";\nimport longFormatters from \"../_lib/format/longFormatters/index.js\";\nimport getTimezoneOffsetInMilliseconds from \"../_lib/getTimezoneOffsetInMilliseconds/index.js\";\nimport { isProtectedDayOfYearToken, isProtectedWeekYearToken, throwProtectedError } from \"../_lib/protectedTokens/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { DateToSystemTimezoneSetter } from \"./_lib/Setter.js\";\nimport { parsers } from \"./_lib/parsers/index.js\";\nimport { getDefaultOptions } from \"../_lib/defaultOptions/index.js\"; // This RegExp consists of three parts separated by `|`:\n// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token\n// (one of the certain letters followed by `o`)\n// - (\\w)\\1* matches any sequences of the same letter\n// - '' matches two quote characters in a row\n// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),\n// except a single quote symbol, which ends the sequence.\n// Two quote characters do not end the sequence.\n// If there is no matching single quote\n// then the sequence will continue until the end of the string.\n// - . matches any single character unmatched by previous parts of the RegExps\nvar formattingTokensRegExp = /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g;\n\n// This RegExp catches symbols escaped by quotes, and also\n// sequences of symbols P, p, and the combinations like `PPPPPPPppppp`\nvar longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;\nvar escapedStringRegExp = /^'([^]*?)'?$/;\nvar doubleQuoteRegExp = /''/g;\nvar notWhitespaceRegExp = /\\S/;\nvar unescapedLatinCharacterRegExp = /[a-zA-Z]/;\n\n/**\n * @name parse\n * @category Common Helpers\n * @summary Parse the date.\n *\n * @description\n * Return the date parsed from string using the given format string.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * The characters in the format string wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n *\n * Format of the format string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 5 below the table).\n *\n * Not all tokens are compatible. Combinations that don't make sense or could lead to bugs are prohibited\n * and will throw `RangeError`. For example usage of 24-hour format token with AM/PM token will throw an exception:\n *\n * ```javascript\n * parse('23 AM', 'HH a', new Date())\n * //=> RangeError: The format string mustn't contain `HH` and `a` at the same time\n * ```\n *\n * See the compatibility table: https://docs.google.com/spreadsheets/d/e/2PACX-1vQOPU3xUhplll6dyoMmVUXHKl_8CRDs6_ueLmex3SoqwhuolkuN3O05l4rqx5h1dKX8eb46Ul-CCSrq/pubhtml?gid=0&single=true\n *\n * Accepted format string patterns:\n * | Unit |Prior| Pattern | Result examples | Notes |\n * |---------------------------------|-----|---------|-----------------------------------|-------|\n * | Era | 140 | G..GGG | AD, BC | |\n * | | | GGGG | Anno Domini, Before Christ | 2 |\n * | | | GGGGG | A, B | |\n * | Calendar year | 130 | y | 44, 1, 1900, 2017, 9999 | 4 |\n * | | | yo | 44th, 1st, 1900th, 9999999th | 4,5 |\n * | | | yy | 44, 01, 00, 17 | 4 |\n * | | | yyy | 044, 001, 123, 999 | 4 |\n * | | | yyyy | 0044, 0001, 1900, 2017 | 4 |\n * | | | yyyyy | ... | 2,4 |\n * | Local week-numbering year | 130 | Y | 44, 1, 1900, 2017, 9000 | 4 |\n * | | | Yo | 44th, 1st, 1900th, 9999999th | 4,5 |\n * | | | YY | 44, 01, 00, 17 | 4,6 |\n * | | | YYY | 044, 001, 123, 999 | 4 |\n * | | | YYYY | 0044, 0001, 1900, 2017 | 4,6 |\n * | | | YYYYY | ... | 2,4 |\n * | ISO week-numbering year | 130 | R | -43, 1, 1900, 2017, 9999, -9999 | 4,5 |\n * | | | RR | -43, 01, 00, 17 | 4,5 |\n * | | | RRR | -043, 001, 123, 999, -999 | 4,5 |\n * | | | RRRR | -0043, 0001, 2017, 9999, -9999 | 4,5 |\n * | | | RRRRR | ... | 2,4,5 |\n * | Extended year | 130 | u | -43, 1, 1900, 2017, 9999, -999 | 4 |\n * | | | uu | -43, 01, 99, -99 | 4 |\n * | | | uuu | -043, 001, 123, 999, -999 | 4 |\n * | | | uuuu | -0043, 0001, 2017, 9999, -9999 | 4 |\n * | | | uuuuu | ... | 2,4 |\n * | Quarter (formatting) | 120 | Q | 1, 2, 3, 4 | |\n * | | | Qo | 1st, 2nd, 3rd, 4th | 5 |\n * | | | QQ | 01, 02, 03, 04 | |\n * | | | QQQ | Q1, Q2, Q3, Q4 | |\n * | | | QQQQ | 1st quarter, 2nd quarter, ... | 2 |\n * | | | QQQQQ | 1, 2, 3, 4 | 4 |\n * | Quarter (stand-alone) | 120 | q | 1, 2, 3, 4 | |\n * | | | qo | 1st, 2nd, 3rd, 4th | 5 |\n * | | | qq | 01, 02, 03, 04 | |\n * | | | qqq | Q1, Q2, Q3, Q4 | |\n * | | | qqqq | 1st quarter, 2nd quarter, ... | 2 |\n * | | | qqqqq | 1, 2, 3, 4 | 3 |\n * | Month (formatting) | 110 | M | 1, 2, ..., 12 | |\n * | | | Mo | 1st, 2nd, ..., 12th | 5 |\n * | | | MM | 01, 02, ..., 12 | |\n * | | | MMM | Jan, Feb, ..., Dec | |\n * | | | MMMM | January, February, ..., December | 2 |\n * | | | MMMMM | J, F, ..., D | |\n * | Month (stand-alone) | 110 | L | 1, 2, ..., 12 | |\n * | | | Lo | 1st, 2nd, ..., 12th | 5 |\n * | | | LL | 01, 02, ..., 12 | |\n * | | | LLL | Jan, Feb, ..., Dec | |\n * | | | LLLL | January, February, ..., December | 2 |\n * | | | LLLLL | J, F, ..., D | |\n * | Local week of year | 100 | w | 1, 2, ..., 53 | |\n * | | | wo | 1st, 2nd, ..., 53th | 5 |\n * | | | ww | 01, 02, ..., 53 | |\n * | ISO week of year | 100 | I | 1, 2, ..., 53 | 5 |\n * | | | Io | 1st, 2nd, ..., 53th | 5 |\n * | | | II | 01, 02, ..., 53 | 5 |\n * | Day of month | 90 | d | 1, 2, ..., 31 | |\n * | | | do | 1st, 2nd, ..., 31st | 5 |\n * | | | dd | 01, 02, ..., 31 | |\n * | Day of year | 90 | D | 1, 2, ..., 365, 366 | 7 |\n * | | | Do | 1st, 2nd, ..., 365th, 366th | 5 |\n * | | | DD | 01, 02, ..., 365, 366 | 7 |\n * | | | DDD | 001, 002, ..., 365, 366 | |\n * | | | DDDD | ... | 2 |\n * | Day of week (formatting) | 90 | E..EEE | Mon, Tue, Wed, ..., Sun | |\n * | | | EEEE | Monday, Tuesday, ..., Sunday | 2 |\n * | | | EEEEE | M, T, W, T, F, S, S | |\n * | | | EEEEEE | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | ISO day of week (formatting) | 90 | i | 1, 2, 3, ..., 7 | 5 |\n * | | | io | 1st, 2nd, ..., 7th | 5 |\n * | | | ii | 01, 02, ..., 07 | 5 |\n * | | | iii | Mon, Tue, Wed, ..., Sun | 5 |\n * | | | iiii | Monday, Tuesday, ..., Sunday | 2,5 |\n * | | | iiiii | M, T, W, T, F, S, S | 5 |\n * | | | iiiiii | Mo, Tu, We, Th, Fr, Sa, Su | 5 |\n * | Local day of week (formatting) | 90 | e | 2, 3, 4, ..., 1 | |\n * | | | eo | 2nd, 3rd, ..., 1st | 5 |\n * | | | ee | 02, 03, ..., 01 | |\n * | | | eee | Mon, Tue, Wed, ..., Sun | |\n * | | | eeee | Monday, Tuesday, ..., Sunday | 2 |\n * | | | eeeee | M, T, W, T, F, S, S | |\n * | | | eeeeee | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | Local day of week (stand-alone) | 90 | c | 2, 3, 4, ..., 1 | |\n * | | | co | 2nd, 3rd, ..., 1st | 5 |\n * | | | cc | 02, 03, ..., 01 | |\n * | | | ccc | Mon, Tue, Wed, ..., Sun | |\n * | | | cccc | Monday, Tuesday, ..., Sunday | 2 |\n * | | | ccccc | M, T, W, T, F, S, S | |\n * | | | cccccc | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | AM, PM | 80 | a..aaa | AM, PM | |\n * | | | aaaa | a.m., p.m. | 2 |\n * | | | aaaaa | a, p | |\n * | AM, PM, noon, midnight | 80 | b..bbb | AM, PM, noon, midnight | |\n * | | | bbbb | a.m., p.m., noon, midnight | 2 |\n * | | | bbbbb | a, p, n, mi | |\n * | Flexible day period | 80 | B..BBB | at night, in the morning, ... | |\n * | | | BBBB | at night, in the morning, ... | 2 |\n * | | | BBBBB | at night, in the morning, ... | |\n * | Hour [1-12] | 70 | h | 1, 2, ..., 11, 12 | |\n * | | | ho | 1st, 2nd, ..., 11th, 12th | 5 |\n * | | | hh | 01, 02, ..., 11, 12 | |\n * | Hour [0-23] | 70 | H | 0, 1, 2, ..., 23 | |\n * | | | Ho | 0th, 1st, 2nd, ..., 23rd | 5 |\n * | | | HH | 00, 01, 02, ..., 23 | |\n * | Hour [0-11] | 70 | K | 1, 2, ..., 11, 0 | |\n * | | | Ko | 1st, 2nd, ..., 11th, 0th | 5 |\n * | | | KK | 01, 02, ..., 11, 00 | |\n * | Hour [1-24] | 70 | k | 24, 1, 2, ..., 23 | |\n * | | | ko | 24th, 1st, 2nd, ..., 23rd | 5 |\n * | | | kk | 24, 01, 02, ..., 23 | |\n * | Minute | 60 | m | 0, 1, ..., 59 | |\n * | | | mo | 0th, 1st, ..., 59th | 5 |\n * | | | mm | 00, 01, ..., 59 | |\n * | Second | 50 | s | 0, 1, ..., 59 | |\n * | | | so | 0th, 1st, ..., 59th | 5 |\n * | | | ss | 00, 01, ..., 59 | |\n * | Seconds timestamp | 40 | t | 512969520 | |\n * | | | tt | ... | 2 |\n * | Fraction of second | 30 | S | 0, 1, ..., 9 | |\n * | | | SS | 00, 01, ..., 99 | |\n * | | | SSS | 000, 001, ..., 999 | |\n * | | | SSSS | ... | 2 |\n * | Milliseconds timestamp | 20 | T | 512969520900 | |\n * | | | TT | ... | 2 |\n * | Timezone (ISO-8601 w/ Z) | 10 | X | -08, +0530, Z | |\n * | | | XX | -0800, +0530, Z | |\n * | | | XXX | -08:00, +05:30, Z | |\n * | | | XXXX | -0800, +0530, Z, +123456 | 2 |\n * | | | XXXXX | -08:00, +05:30, Z, +12:34:56 | |\n * | Timezone (ISO-8601 w/o Z) | 10 | x | -08, +0530, +00 | |\n * | | | xx | -0800, +0530, +0000 | |\n * | | | xxx | -08:00, +05:30, +00:00 | 2 |\n * | | | xxxx | -0800, +0530, +0000, +123456 | |\n * | | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | |\n * | Long localized date | NA | P | 05/29/1453 | 5,8 |\n * | | | PP | May 29, 1453 | |\n * | | | PPP | May 29th, 1453 | |\n * | | | PPPP | Sunday, May 29th, 1453 | 2,5,8 |\n * | Long localized time | NA | p | 12:00 AM | 5,8 |\n * | | | pp | 12:00:00 AM | |\n * | Combination of date and time | NA | Pp | 05/29/1453, 12:00 AM | |\n * | | | PPpp | May 29, 1453, 12:00:00 AM | |\n * | | | PPPpp | May 29th, 1453 at ... | |\n * | | | PPPPpp | Sunday, May 29th, 1453 at ... | 2,5,8 |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n * are the same as \"stand-alone\" units, but are different in some languages.\n * \"Formatting\" units are declined according to the rules of the language\n * in the context of a date. \"Stand-alone\" units are always nominative singular.\n * In `format` function, they will produce different result:\n *\n * `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n * `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n * `parse` will try to match both formatting and stand-alone units interchangably.\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n * the single quote characters (see below).\n * If the sequence is longer than listed in table:\n * - for numerical units (`yyyyyyyy`) `parse` will try to match a number\n * as wide as the sequence\n * - for text units (`MMMMMMMM`) `parse` will try to match the widest variation of the unit.\n * These variations are marked with \"2\" in the last column of the table.\n *\n * 3. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n * These tokens represent the shortest form of the quarter.\n *\n * 4. The main difference between `y` and `u` patterns are B.C. years:\n *\n * | Year | `y` | `u` |\n * |------|-----|-----|\n * | AC 1 | 1 | 1 |\n * | BC 1 | 1 | 0 |\n * | BC 2 | 2 | -1 |\n *\n * Also `yy` will try to guess the century of two digit year by proximity with `referenceDate`:\n *\n * `parse('50', 'yy', new Date(2018, 0, 1)) //=> Sat Jan 01 2050 00:00:00`\n *\n * `parse('75', 'yy', new Date(2018, 0, 1)) //=> Wed Jan 01 1975 00:00:00`\n *\n * while `uu` will just assign the year as is:\n *\n * `parse('50', 'uu', new Date(2018, 0, 1)) //=> Sat Jan 01 0050 00:00:00`\n *\n * `parse('75', 'uu', new Date(2018, 0, 1)) //=> Tue Jan 01 0075 00:00:00`\n *\n * The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n * except local week-numbering years are dependent on `options.weekStartsOn`\n * and `options.firstWeekContainsDate` (compare [setISOWeekYear]{@link https://date-fns.org/docs/setISOWeekYear}\n * and [setWeekYear]{@link https://date-fns.org/docs/setWeekYear}).\n *\n * 5. These patterns are not in the Unicode Technical Standard #35:\n * - `i`: ISO day of week\n * - `I`: ISO week of year\n * - `R`: ISO week-numbering year\n * - `o`: ordinal number modifier\n * - `P`: long localized date\n * - `p`: long localized time\n *\n * 6. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years.\n * You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 7. `D` and `DD` tokens represent days of the year but they are ofthen confused with days of the month.\n * You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 8. `P+` tokens do not have a defined priority since they are merely aliases to other tokens based\n * on the given locale.\n *\n * using `en-US` locale: `P` => `MM/dd/yyyy`\n * using `en-US` locale: `p` => `hh:mm a`\n * using `pt-BR` locale: `P` => `dd/MM/yyyy`\n * using `pt-BR` locale: `p` => `HH:mm`\n *\n * Values will be assigned to the date in the descending order of its unit's priority.\n * Units of an equal priority overwrite each other in the order of appearance.\n *\n * If no values of higher priority are parsed (e.g. when parsing string 'January 1st' without a year),\n * the values will be taken from 3rd argument `referenceDate` which works as a context of parsing.\n *\n * `referenceDate` must be passed for correct work of the function.\n * If you're not sure which `referenceDate` to supply, create a new instance of Date:\n * `parse('02/11/2014', 'MM/dd/yyyy', new Date())`\n * In this case parsing will be done in the context of the current date.\n * If `referenceDate` is `Invalid Date` or a value not convertible to valid `Date`,\n * then `Invalid Date` will be returned.\n *\n * The result may vary by locale.\n *\n * If `formatString` matches with `dateString` but does not provides tokens, `referenceDate` will be returned.\n *\n * If parsing failed, `Invalid Date` will be returned.\n * Invalid Date is a Date, whose time value is NaN.\n * Time value of Date: http://es5.github.io/#x15.9.1.1\n *\n * @param {String} dateString - the string to parse\n * @param {String} formatString - the string of tokens\n * @param {Date|Number} referenceDate - defines values missing from the parsed dateString\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @param {1|2|3|4|5|6|7} [options.firstWeekContainsDate=1] - the day of January, which is always in the first week of the year\n * @param {Boolean} [options.useAdditionalWeekYearTokens=false] - if true, allows usage of the week-numbering year tokens `YY` and `YYYY`;\n * see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @param {Boolean} [options.useAdditionalDayOfYearTokens=false] - if true, allows usage of the day of year tokens `D` and `DD`;\n * see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @returns {Date} the parsed date\n * @throws {TypeError} 3 arguments required\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7\n * @throws {RangeError} `options.locale` must contain `match` property\n * @throws {RangeError} use `yyyy` instead of `YYYY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `yy` instead of `YY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `d` instead of `D` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `dd` instead of `DD` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} format string contains an unescaped latin alphabet character\n *\n * @example\n * // Parse 11 February 2014 from middle-endian format:\n * var result = parse('02/11/2014', 'MM/dd/yyyy', new Date())\n * //=> Tue Feb 11 2014 00:00:00\n *\n * @example\n * // Parse 28th of February in Esperanto locale in the context of 2010 year:\n * import eo from 'date-fns/locale/eo'\n * var result = parse('28-a de februaro', \"do 'de' MMMM\", new Date(2010, 0, 1), {\n * locale: eo\n * })\n * //=> Sun Feb 28 2010 00:00:00\n */\nexport default function parse(dirtyDateString, dirtyFormatString, dirtyReferenceDate, options) {\n var _ref, _options$locale, _ref2, _ref3, _ref4, _options$firstWeekCon, _options$locale2, _options$locale2$opti, _defaultOptions$local, _defaultOptions$local2, _ref5, _ref6, _ref7, _options$weekStartsOn, _options$locale3, _options$locale3$opti, _defaultOptions$local3, _defaultOptions$local4;\n requiredArgs(3, arguments);\n var dateString = String(dirtyDateString);\n var formatString = String(dirtyFormatString);\n var defaultOptions = getDefaultOptions();\n var locale = (_ref = (_options$locale = options === null || options === void 0 ? void 0 : options.locale) !== null && _options$locale !== void 0 ? _options$locale : defaultOptions.locale) !== null && _ref !== void 0 ? _ref : defaultLocale;\n if (!locale.match) {\n throw new RangeError('locale must contain match property');\n }\n var firstWeekContainsDate = toInteger((_ref2 = (_ref3 = (_ref4 = (_options$firstWeekCon = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon !== void 0 ? _options$firstWeekCon : options === null || options === void 0 ? void 0 : (_options$locale2 = options.locale) === null || _options$locale2 === void 0 ? void 0 : (_options$locale2$opti = _options$locale2.options) === null || _options$locale2$opti === void 0 ? void 0 : _options$locale2$opti.firstWeekContainsDate) !== null && _ref4 !== void 0 ? _ref4 : defaultOptions.firstWeekContainsDate) !== null && _ref3 !== void 0 ? _ref3 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.firstWeekContainsDate) !== null && _ref2 !== void 0 ? _ref2 : 1);\n\n // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively');\n }\n var weekStartsOn = toInteger((_ref5 = (_ref6 = (_ref7 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale3 = options.locale) === null || _options$locale3 === void 0 ? void 0 : (_options$locale3$opti = _options$locale3.options) === null || _options$locale3$opti === void 0 ? void 0 : _options$locale3$opti.weekStartsOn) !== null && _ref7 !== void 0 ? _ref7 : defaultOptions.weekStartsOn) !== null && _ref6 !== void 0 ? _ref6 : (_defaultOptions$local3 = defaultOptions.locale) === null || _defaultOptions$local3 === void 0 ? void 0 : (_defaultOptions$local4 = _defaultOptions$local3.options) === null || _defaultOptions$local4 === void 0 ? void 0 : _defaultOptions$local4.weekStartsOn) !== null && _ref5 !== void 0 ? _ref5 : 0);\n\n // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n if (formatString === '') {\n if (dateString === '') {\n return toDate(dirtyReferenceDate);\n } else {\n return new Date(NaN);\n }\n }\n var subFnOptions = {\n firstWeekContainsDate: firstWeekContainsDate,\n weekStartsOn: weekStartsOn,\n locale: locale\n };\n\n // If timezone isn't specified, it will be set to the system timezone\n var setters = [new DateToSystemTimezoneSetter()];\n var tokens = formatString.match(longFormattingTokensRegExp).map(function (substring) {\n var firstCharacter = substring[0];\n if (firstCharacter in longFormatters) {\n var longFormatter = longFormatters[firstCharacter];\n return longFormatter(substring, locale.formatLong);\n }\n return substring;\n }).join('').match(formattingTokensRegExp);\n var usedTokens = [];\n var _iterator = _createForOfIteratorHelper(tokens),\n _step;\n try {\n var _loop = function _loop() {\n var token = _step.value;\n if (!(options !== null && options !== void 0 && options.useAdditionalWeekYearTokens) && isProtectedWeekYearToken(token)) {\n throwProtectedError(token, formatString, dirtyDateString);\n }\n if (!(options !== null && options !== void 0 && options.useAdditionalDayOfYearTokens) && isProtectedDayOfYearToken(token)) {\n throwProtectedError(token, formatString, dirtyDateString);\n }\n var firstCharacter = token[0];\n var parser = parsers[firstCharacter];\n if (parser) {\n var incompatibleTokens = parser.incompatibleTokens;\n if (Array.isArray(incompatibleTokens)) {\n var incompatibleToken = usedTokens.find(function (usedToken) {\n return incompatibleTokens.includes(usedToken.token) || usedToken.token === firstCharacter;\n });\n if (incompatibleToken) {\n throw new RangeError(\"The format string mustn't contain `\".concat(incompatibleToken.fullToken, \"` and `\").concat(token, \"` at the same time\"));\n }\n } else if (parser.incompatibleTokens === '*' && usedTokens.length > 0) {\n throw new RangeError(\"The format string mustn't contain `\".concat(token, \"` and any other token at the same time\"));\n }\n usedTokens.push({\n token: firstCharacter,\n fullToken: token\n });\n var parseResult = parser.run(dateString, token, locale.match, subFnOptions);\n if (!parseResult) {\n return {\n v: new Date(NaN)\n };\n }\n setters.push(parseResult.setter);\n dateString = parseResult.rest;\n } else {\n if (firstCharacter.match(unescapedLatinCharacterRegExp)) {\n throw new RangeError('Format string contains an unescaped latin alphabet character `' + firstCharacter + '`');\n }\n\n // Replace two single quote characters with one single quote character\n if (token === \"''\") {\n token = \"'\";\n } else if (firstCharacter === \"'\") {\n token = cleanEscapedString(token);\n }\n\n // Cut token from string, or, if string doesn't match the token, return Invalid Date\n if (dateString.indexOf(token) === 0) {\n dateString = dateString.slice(token.length);\n } else {\n return {\n v: new Date(NaN)\n };\n }\n }\n };\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var _ret = _loop();\n if (_typeof(_ret) === \"object\") return _ret.v;\n }\n\n // Check if the remaining input contains something other than whitespace\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n if (dateString.length > 0 && notWhitespaceRegExp.test(dateString)) {\n return new Date(NaN);\n }\n var uniquePrioritySetters = setters.map(function (setter) {\n return setter.priority;\n }).sort(function (a, b) {\n return b - a;\n }).filter(function (priority, index, array) {\n return array.indexOf(priority) === index;\n }).map(function (priority) {\n return setters.filter(function (setter) {\n return setter.priority === priority;\n }).sort(function (a, b) {\n return b.subPriority - a.subPriority;\n });\n }).map(function (setterArray) {\n return setterArray[0];\n });\n var date = toDate(dirtyReferenceDate);\n if (isNaN(date.getTime())) {\n return new Date(NaN);\n }\n\n // Convert the date in system timezone to the same date in UTC+00:00 timezone.\n var utcDate = subMilliseconds(date, getTimezoneOffsetInMilliseconds(date));\n var flags = {};\n var _iterator2 = _createForOfIteratorHelper(uniquePrioritySetters),\n _step2;\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var setter = _step2.value;\n if (!setter.validate(utcDate, subFnOptions)) {\n return new Date(NaN);\n }\n var result = setter.set(utcDate, flags, subFnOptions);\n // Result is tuple (date, flags)\n if (Array.isArray(result)) {\n utcDate = result[0];\n assign(flags, result[1]);\n // Result is date\n } else {\n utcDate = result;\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n return utcDate;\n}\nfunction cleanEscapedString(input) {\n return input.match(escapedStringRegExp)[1].replace(doubleQuoteRegExp, \"'\");\n}","import { millisecondsInHour, millisecondsInMinute } from \"../constants/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\n/**\n * @name parseISO\n * @category Common Helpers\n * @summary Parse ISO string\n *\n * @description\n * Parse the given string in ISO 8601 format and return an instance of Date.\n *\n * Function accepts complete ISO 8601 formats as well as partial implementations.\n * ISO 8601: http://en.wikipedia.org/wiki/ISO_8601\n *\n * If the argument isn't a string, the function cannot parse the string or\n * the values are invalid, it returns Invalid Date.\n *\n * @param {String} argument - the value to convert\n * @param {Object} [options] - an object with options.\n * @param {0|1|2} [options.additionalDigits=2] - the additional number of digits in the extended year format\n * @returns {Date} the parsed date in the local time zone\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\n *\n * @example\n * // Convert string '2014-02-11T11:30:30' to date:\n * const result = parseISO('2014-02-11T11:30:30')\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert string '+02014101' to date,\n * // if the additional number of digits in the extended year format is 1:\n * const result = parseISO('+02014101', { additionalDigits: 1 })\n * //=> Fri Apr 11 2014 00:00:00\n */\nexport default function parseISO(argument, options) {\n var _options$additionalDi;\n requiredArgs(1, arguments);\n var additionalDigits = toInteger((_options$additionalDi = options === null || options === void 0 ? void 0 : options.additionalDigits) !== null && _options$additionalDi !== void 0 ? _options$additionalDi : 2);\n if (additionalDigits !== 2 && additionalDigits !== 1 && additionalDigits !== 0) {\n throw new RangeError('additionalDigits must be 0, 1 or 2');\n }\n if (!(typeof argument === 'string' || Object.prototype.toString.call(argument) === '[object String]')) {\n return new Date(NaN);\n }\n var dateStrings = splitDateString(argument);\n var date;\n if (dateStrings.date) {\n var parseYearResult = parseYear(dateStrings.date, additionalDigits);\n date = parseDate(parseYearResult.restDateString, parseYearResult.year);\n }\n if (!date || isNaN(date.getTime())) {\n return new Date(NaN);\n }\n var timestamp = date.getTime();\n var time = 0;\n var offset;\n if (dateStrings.time) {\n time = parseTime(dateStrings.time);\n if (isNaN(time)) {\n return new Date(NaN);\n }\n }\n if (dateStrings.timezone) {\n offset = parseTimezone(dateStrings.timezone);\n if (isNaN(offset)) {\n return new Date(NaN);\n }\n } else {\n var dirtyDate = new Date(timestamp + time);\n // js parsed string assuming it's in UTC timezone\n // but we need it to be parsed in our timezone\n // so we use utc values to build date in our timezone.\n // Year values from 0 to 99 map to the years 1900 to 1999\n // so set year explicitly with setFullYear.\n var result = new Date(0);\n result.setFullYear(dirtyDate.getUTCFullYear(), dirtyDate.getUTCMonth(), dirtyDate.getUTCDate());\n result.setHours(dirtyDate.getUTCHours(), dirtyDate.getUTCMinutes(), dirtyDate.getUTCSeconds(), dirtyDate.getUTCMilliseconds());\n return result;\n }\n return new Date(timestamp + time + offset);\n}\nvar patterns = {\n dateTimeDelimiter: /[T ]/,\n timeZoneDelimiter: /[Z ]/i,\n timezone: /([Z+-].*)$/\n};\nvar dateRegex = /^-?(?:(\\d{3})|(\\d{2})(?:-?(\\d{2}))?|W(\\d{2})(?:-?(\\d{1}))?|)$/;\nvar timeRegex = /^(\\d{2}(?:[.,]\\d*)?)(?::?(\\d{2}(?:[.,]\\d*)?))?(?::?(\\d{2}(?:[.,]\\d*)?))?$/;\nvar timezoneRegex = /^([+-])(\\d{2})(?::?(\\d{2}))?$/;\nfunction splitDateString(dateString) {\n var dateStrings = {};\n var array = dateString.split(patterns.dateTimeDelimiter);\n var timeString;\n\n // The regex match should only return at maximum two array elements.\n // [date], [time], or [date, time].\n if (array.length > 2) {\n return dateStrings;\n }\n if (/:/.test(array[0])) {\n timeString = array[0];\n } else {\n dateStrings.date = array[0];\n timeString = array[1];\n if (patterns.timeZoneDelimiter.test(dateStrings.date)) {\n dateStrings.date = dateString.split(patterns.timeZoneDelimiter)[0];\n timeString = dateString.substr(dateStrings.date.length, dateString.length);\n }\n }\n if (timeString) {\n var token = patterns.timezone.exec(timeString);\n if (token) {\n dateStrings.time = timeString.replace(token[1], '');\n dateStrings.timezone = token[1];\n } else {\n dateStrings.time = timeString;\n }\n }\n return dateStrings;\n}\nfunction parseYear(dateString, additionalDigits) {\n var regex = new RegExp('^(?:(\\\\d{4}|[+-]\\\\d{' + (4 + additionalDigits) + '})|(\\\\d{2}|[+-]\\\\d{' + (2 + additionalDigits) + '})$)');\n var captures = dateString.match(regex);\n // Invalid ISO-formatted year\n if (!captures) return {\n year: NaN,\n restDateString: ''\n };\n var year = captures[1] ? parseInt(captures[1]) : null;\n var century = captures[2] ? parseInt(captures[2]) : null;\n\n // either year or century is null, not both\n return {\n year: century === null ? year : century * 100,\n restDateString: dateString.slice((captures[1] || captures[2]).length)\n };\n}\nfunction parseDate(dateString, year) {\n // Invalid ISO-formatted year\n if (year === null) return new Date(NaN);\n var captures = dateString.match(dateRegex);\n // Invalid ISO-formatted string\n if (!captures) return new Date(NaN);\n var isWeekDate = !!captures[4];\n var dayOfYear = parseDateUnit(captures[1]);\n var month = parseDateUnit(captures[2]) - 1;\n var day = parseDateUnit(captures[3]);\n var week = parseDateUnit(captures[4]);\n var dayOfWeek = parseDateUnit(captures[5]) - 1;\n if (isWeekDate) {\n if (!validateWeekDate(year, week, dayOfWeek)) {\n return new Date(NaN);\n }\n return dayOfISOWeekYear(year, week, dayOfWeek);\n } else {\n var date = new Date(0);\n if (!validateDate(year, month, day) || !validateDayOfYearDate(year, dayOfYear)) {\n return new Date(NaN);\n }\n date.setUTCFullYear(year, month, Math.max(dayOfYear, day));\n return date;\n }\n}\nfunction parseDateUnit(value) {\n return value ? parseInt(value) : 1;\n}\nfunction parseTime(timeString) {\n var captures = timeString.match(timeRegex);\n if (!captures) return NaN; // Invalid ISO-formatted time\n\n var hours = parseTimeUnit(captures[1]);\n var minutes = parseTimeUnit(captures[2]);\n var seconds = parseTimeUnit(captures[3]);\n if (!validateTime(hours, minutes, seconds)) {\n return NaN;\n }\n return hours * millisecondsInHour + minutes * millisecondsInMinute + seconds * 1000;\n}\nfunction parseTimeUnit(value) {\n return value && parseFloat(value.replace(',', '.')) || 0;\n}\nfunction parseTimezone(timezoneString) {\n if (timezoneString === 'Z') return 0;\n var captures = timezoneString.match(timezoneRegex);\n if (!captures) return 0;\n var sign = captures[1] === '+' ? -1 : 1;\n var hours = parseInt(captures[2]);\n var minutes = captures[3] && parseInt(captures[3]) || 0;\n if (!validateTimezone(hours, minutes)) {\n return NaN;\n }\n return sign * (hours * millisecondsInHour + minutes * millisecondsInMinute);\n}\nfunction dayOfISOWeekYear(isoWeekYear, week, day) {\n var date = new Date(0);\n date.setUTCFullYear(isoWeekYear, 0, 4);\n var fourthOfJanuaryDay = date.getUTCDay() || 7;\n var diff = (week - 1) * 7 + day + 1 - fourthOfJanuaryDay;\n date.setUTCDate(date.getUTCDate() + diff);\n return date;\n}\n\n// Validation functions\n\n// February is null to handle the leap year (using ||)\nvar daysInMonths = [31, null, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nfunction isLeapYearIndex(year) {\n return year % 400 === 0 || year % 4 === 0 && year % 100 !== 0;\n}\nfunction validateDate(year, month, date) {\n return month >= 0 && month <= 11 && date >= 1 && date <= (daysInMonths[month] || (isLeapYearIndex(year) ? 29 : 28));\n}\nfunction validateDayOfYearDate(year, dayOfYear) {\n return dayOfYear >= 1 && dayOfYear <= (isLeapYearIndex(year) ? 366 : 365);\n}\nfunction validateWeekDate(_year, week, day) {\n return week >= 1 && week <= 53 && day >= 0 && day <= 6;\n}\nfunction validateTime(hours, minutes, seconds) {\n if (hours === 24) {\n return minutes === 0 && seconds === 0;\n }\n return seconds >= 0 && seconds < 60 && minutes >= 0 && minutes < 60 && hours >= 0 && hours < 25;\n}\nfunction validateTimezone(_hours, minutes) {\n return minutes >= 0 && minutes <= 59;\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name setHours\n * @category Hour Helpers\n * @summary Set the hours to the given date.\n *\n * @description\n * Set the hours to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} hours - the hours of the new date\n * @returns {Date} the new date with the hours set\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Set 4 hours to 1 September 2014 11:30:00:\n * const result = setHours(new Date(2014, 8, 1, 11, 30), 4)\n * //=> Mon Sep 01 2014 04:30:00\n */\nexport default function setHours(dirtyDate, dirtyHours) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var hours = toInteger(dirtyHours);\n date.setHours(hours);\n return date;\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name setMinutes\n * @category Minute Helpers\n * @summary Set the minutes to the given date.\n *\n * @description\n * Set the minutes to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} minutes - the minutes of the new date\n * @returns {Date} the new date with the minutes set\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Set 45 minutes to 1 September 2014 11:30:40:\n * const result = setMinutes(new Date(2014, 8, 1, 11, 30, 40), 45)\n * //=> Mon Sep 01 2014 11:45:40\n */\nexport default function setMinutes(dirtyDate, dirtyMinutes) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var minutes = toInteger(dirtyMinutes);\n date.setMinutes(minutes);\n return date;\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport getDaysInMonth from \"../getDaysInMonth/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name setMonth\n * @category Month Helpers\n * @summary Set the month to the given date.\n *\n * @description\n * Set the month to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} month - the month of the new date\n * @returns {Date} the new date with the month set\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Set February to 1 September 2014:\n * const result = setMonth(new Date(2014, 8, 1), 1)\n * //=> Sat Feb 01 2014 00:00:00\n */\nexport default function setMonth(dirtyDate, dirtyMonth) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var month = toInteger(dirtyMonth);\n var year = date.getFullYear();\n var day = date.getDate();\n var dateWithDesiredMonth = new Date(0);\n dateWithDesiredMonth.setFullYear(year, month, 15);\n dateWithDesiredMonth.setHours(0, 0, 0, 0);\n var daysInMonth = getDaysInMonth(dateWithDesiredMonth);\n // Set the last day of the new month\n // if the original date was the last day of the longer month\n date.setMonth(month, Math.min(day, daysInMonth));\n return date;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name getDaysInMonth\n * @category Month Helpers\n * @summary Get the number of days in a month of the given date.\n *\n * @description\n * Get the number of days in a month of the given date.\n *\n * @param {Date|Number} date - the given date\n * @returns {Number} the number of days in a month\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // How many days are in February 2000?\n * const result = getDaysInMonth(new Date(2000, 1))\n * //=> 29\n */\nexport default function getDaysInMonth(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var year = date.getFullYear();\n var monthIndex = date.getMonth();\n var lastDayOfMonth = new Date(0);\n lastDayOfMonth.setFullYear(year, monthIndex + 1, 0);\n lastDayOfMonth.setHours(0, 0, 0, 0);\n return lastDayOfMonth.getDate();\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport setMonth from \"../setMonth/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name setQuarter\n * @category Quarter Helpers\n * @summary Set the year quarter to the given date.\n *\n * @description\n * Set the year quarter to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} quarter - the quarter of the new date\n * @returns {Date} the new date with the quarter set\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Set the 2nd quarter to 2 July 2014:\n * const result = setQuarter(new Date(2014, 6, 2), 2)\n * //=> Wed Apr 02 2014 00:00:00\n */\nexport default function setQuarter(dirtyDate, dirtyQuarter) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var quarter = toInteger(dirtyQuarter);\n var oldQuarter = Math.floor(date.getMonth() / 3) + 1;\n var diff = quarter - oldQuarter;\n return setMonth(date, date.getMonth() + diff * 3);\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name setSeconds\n * @category Second Helpers\n * @summary Set the seconds to the given date.\n *\n * @description\n * Set the seconds to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} seconds - the seconds of the new date\n * @returns {Date} the new date with the seconds set\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Set 45 seconds to 1 September 2014 11:30:40:\n * const result = setSeconds(new Date(2014, 8, 1, 11, 30, 40), 45)\n * //=> Mon Sep 01 2014 11:30:45\n */\nexport default function setSeconds(dirtyDate, dirtySeconds) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var seconds = toInteger(dirtySeconds);\n date.setSeconds(seconds);\n return date;\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name setYear\n * @category Year Helpers\n * @summary Set the year to the given date.\n *\n * @description\n * Set the year to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} year - the year of the new date\n * @returns {Date} the new date with the year set\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Set year 2013 to 1 September 2014:\n * const result = setYear(new Date(2014, 8, 1), 2013)\n * //=> Sun Sep 01 2013 00:00:00\n */\nexport default function setYear(dirtyDate, dirtyYear) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var year = toInteger(dirtyYear);\n\n // Check if date is Invalid Date because Date.prototype.setFullYear ignores the value of Invalid Date\n if (isNaN(date.getTime())) {\n return new Date(NaN);\n }\n date.setFullYear(year);\n return date;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name startOfDay\n * @category Day Helpers\n * @summary Return the start of a day for the given date.\n *\n * @description\n * Return the start of a day for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of a day\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of a day for 2 September 2014 11:55:00:\n * const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 02 2014 00:00:00\n */\nexport default function startOfDay(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n date.setHours(0, 0, 0, 0);\n return date;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name startOfMonth\n * @category Month Helpers\n * @summary Return the start of a month for the given date.\n *\n * @description\n * Return the start of a month for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of a month\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of a month for 2 September 2014 11:55:00:\n * const result = startOfMonth(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport default function startOfMonth(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n date.setDate(1);\n date.setHours(0, 0, 0, 0);\n return date;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name startOfQuarter\n * @category Quarter Helpers\n * @summary Return the start of a year quarter for the given date.\n *\n * @description\n * Return the start of a year quarter for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of a quarter\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of a quarter for 2 September 2014 11:55:00:\n * const result = startOfQuarter(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Jul 01 2014 00:00:00\n */\nexport default function startOfQuarter(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var currentMonth = date.getMonth();\n var month = currentMonth - currentMonth % 3;\n date.setMonth(month, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n}","import toDate from \"../toDate/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { getDefaultOptions } from \"../_lib/defaultOptions/index.js\";\n/**\n * @name startOfWeek\n * @category Week Helpers\n * @summary Return the start of a week for the given date.\n *\n * @description\n * Return the start of a week for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @returns {Date} the start of a week\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n *\n * @example\n * // The start of a week for 2 September 2014 11:55:00:\n * const result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Sun Aug 31 2014 00:00:00\n *\n * @example\n * // If the week starts on Monday, the start of the week for 2 September 2014 11:55:00:\n * const result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0), { weekStartsOn: 1 })\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport default function startOfWeek(dirtyDate, options) {\n var _ref, _ref2, _ref3, _options$weekStartsOn, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n requiredArgs(1, arguments);\n var defaultOptions = getDefaultOptions();\n var weekStartsOn = toInteger((_ref = (_ref2 = (_ref3 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.weekStartsOn) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.weekStartsOn) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.weekStartsOn) !== null && _ref !== void 0 ? _ref : 0);\n\n // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n var date = toDate(dirtyDate);\n var day = date.getDay();\n var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n date.setDate(date.getDate() - diff);\n date.setHours(0, 0, 0, 0);\n return date;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name startOfYear\n * @category Year Helpers\n * @summary Return the start of a year for the given date.\n *\n * @description\n * Return the start of a year for the given date.\n * The result will be in the local timezone.\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of a year\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of a year for 2 September 2014 11:55:00:\n * const result = startOfYear(new Date(2014, 8, 2, 11, 55, 00))\n * //=> Wed Jan 01 2014 00:00:00\n */\nexport default function startOfYear(dirtyDate) {\n requiredArgs(1, arguments);\n var cleanDate = toDate(dirtyDate);\n var date = new Date(0);\n date.setFullYear(cleanDate.getFullYear(), 0, 1);\n date.setHours(0, 0, 0, 0);\n return date;\n}","import addDays from \"../addDays/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\n/**\n * @name subDays\n * @category Day Helpers\n * @summary Subtract the specified number of days from the given date.\n *\n * @description\n * Subtract the specified number of days from the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of days to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the days subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 10 days from 1 September 2014:\n * const result = subDays(new Date(2014, 8, 1), 10)\n * //=> Fri Aug 22 2014 00:00:00\n */\nexport default function subDays(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addDays(dirtyDate, -amount);\n}","import addHours from \"../addHours/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\n/**\n * @name subHours\n * @category Hour Helpers\n * @summary Subtract the specified number of hours from the given date.\n *\n * @description\n * Subtract the specified number of hours from the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of hours to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the hours subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 2 hours from 11 July 2014 01:00:00:\n * const result = subHours(new Date(2014, 6, 11, 1, 0), 2)\n * //=> Thu Jul 10 2014 23:00:00\n */\nexport default function subHours(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addHours(dirtyDate, -amount);\n}","import addMilliseconds from \"../addMilliseconds/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\n/**\n * @name subMilliseconds\n * @category Millisecond Helpers\n * @summary Subtract the specified number of milliseconds from the given date.\n *\n * @description\n * Subtract the specified number of milliseconds from the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of milliseconds to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the milliseconds subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 750 milliseconds from 10 July 2014 12:45:30.000:\n * const result = subMilliseconds(new Date(2014, 6, 10, 12, 45, 30, 0), 750)\n * //=> Thu Jul 10 2014 12:45:29.250\n */\nexport default function subMilliseconds(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addMilliseconds(dirtyDate, -amount);\n}","import addMinutes from \"../addMinutes/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\n/**\n * @name subMinutes\n * @category Minute Helpers\n * @summary Subtract the specified number of minutes from the given date.\n *\n * @description\n * Subtract the specified number of minutes from the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of minutes to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the minutes subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 30 minutes from 10 July 2014 12:00:00:\n * const result = subMinutes(new Date(2014, 6, 10, 12, 0), 30)\n * //=> Thu Jul 10 2014 11:30:00\n */\nexport default function subMinutes(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addMinutes(dirtyDate, -amount);\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport addMonths from \"../addMonths/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name subMonths\n * @category Month Helpers\n * @summary Subtract the specified number of months from the given date.\n *\n * @description\n * Subtract the specified number of months from the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of months to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the months subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 5 months from 1 February 2015:\n * const result = subMonths(new Date(2015, 1, 1), 5)\n * //=> Mon Sep 01 2014 00:00:00\n */\nexport default function subMonths(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addMonths(dirtyDate, -amount);\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport addWeeks from \"../addWeeks/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name subWeeks\n * @category Week Helpers\n * @summary Subtract the specified number of weeks from the given date.\n *\n * @description\n * Subtract the specified number of weeks from the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of weeks to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the weeks subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 4 weeks from 1 September 2014:\n * const result = subWeeks(new Date(2014, 8, 1), 4)\n * //=> Mon Aug 04 2014 00:00:00\n */\nexport default function subWeeks(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addWeeks(dirtyDate, -amount);\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport addYears from \"../addYears/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name subYears\n * @category Year Helpers\n * @summary Subtract the specified number of years from the given date.\n *\n * @description\n * Subtract the specified number of years from the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of years to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the years subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 5 years from 1 September 2014:\n * const result = subYears(new Date(2014, 8, 1), 5)\n * //=> Tue Sep 01 2009 00:00:00\n */\nexport default function subYears(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addYears(dirtyDate, -amount);\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name toDate\n * @category Common Helpers\n * @summary Convert the given argument to an instance of Date.\n *\n * @description\n * Convert the given argument to an instance of Date.\n *\n * If the argument is an instance of Date, the function returns its clone.\n *\n * If the argument is a number, it is treated as a timestamp.\n *\n * If the argument is none of the above, the function returns Invalid Date.\n *\n * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.\n *\n * @param {Date|Number} argument - the value to convert\n * @returns {Date} the parsed date in the local time zone\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Clone the date:\n * const result = toDate(new Date(2014, 1, 11, 11, 30, 30))\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert the timestamp to date:\n * const result = toDate(1392098430000)\n * //=> Tue Feb 11 2014 11:30:30\n */\nexport default function toDate(argument) {\n requiredArgs(1, arguments);\n var argStr = Object.prototype.toString.call(argument);\n\n // Clone the date\n if (argument instanceof Date || _typeof(argument) === 'object' && argStr === '[object Date]') {\n // Prevent the date to lose the milliseconds when passed to new Date() in IE10\n return new Date(argument.getTime());\n } else if (typeof argument === 'number' || argStr === '[object Number]') {\n return new Date(argument);\n } else {\n if ((typeof argument === 'string' || argStr === '[object String]') && typeof console !== 'undefined') {\n // eslint-disable-next-line no-console\n console.warn(\"Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments\");\n // eslint-disable-next-line no-console\n console.warn(new Error().stack);\n }\n return new Date(NaN);\n }\n}","'use strict';\n\nvar $defineProperty = require('es-define-property');\n\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\n\nvar gopd = require('gopd');\n\n/** @type {import('.')} */\nmodule.exports = function defineDataProperty(\n\tobj,\n\tproperty,\n\tvalue\n) {\n\tif (!obj || (typeof obj !== 'object' && typeof obj !== 'function')) {\n\t\tthrow new $TypeError('`obj` must be an object or a function`');\n\t}\n\tif (typeof property !== 'string' && typeof property !== 'symbol') {\n\t\tthrow new $TypeError('`property` must be a string or a symbol`');\n\t}\n\tif (arguments.length > 3 && typeof arguments[3] !== 'boolean' && arguments[3] !== null) {\n\t\tthrow new $TypeError('`nonEnumerable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 4 && typeof arguments[4] !== 'boolean' && arguments[4] !== null) {\n\t\tthrow new $TypeError('`nonWritable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 5 && typeof arguments[5] !== 'boolean' && arguments[5] !== null) {\n\t\tthrow new $TypeError('`nonConfigurable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 6 && typeof arguments[6] !== 'boolean') {\n\t\tthrow new $TypeError('`loose`, if provided, must be a boolean');\n\t}\n\n\tvar nonEnumerable = arguments.length > 3 ? arguments[3] : null;\n\tvar nonWritable = arguments.length > 4 ? arguments[4] : null;\n\tvar nonConfigurable = arguments.length > 5 ? arguments[5] : null;\n\tvar loose = arguments.length > 6 ? arguments[6] : false;\n\n\t/* @type {false | TypedPropertyDescriptor} */\n\tvar desc = !!gopd && gopd(obj, property);\n\n\tif ($defineProperty) {\n\t\t$defineProperty(obj, property, {\n\t\t\tconfigurable: nonConfigurable === null && desc ? desc.configurable : !nonConfigurable,\n\t\t\tenumerable: nonEnumerable === null && desc ? desc.enumerable : !nonEnumerable,\n\t\t\tvalue: value,\n\t\t\twritable: nonWritable === null && desc ? desc.writable : !nonWritable\n\t\t});\n\t} else if (loose || (!nonEnumerable && !nonWritable && !nonConfigurable)) {\n\t\t// must fall back to [[Set]], and was not explicitly asked to make non-enumerable, non-writable, or non-configurable\n\t\tobj[property] = value; // eslint-disable-line no-param-reassign\n\t} else {\n\t\tthrow new $SyntaxError('This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.');\n\t}\n};\n","'use strict';\n\nvar keys = require('object-keys');\nvar hasSymbols = typeof Symbol === 'function' && typeof Symbol('foo') === 'symbol';\n\nvar toStr = Object.prototype.toString;\nvar concat = Array.prototype.concat;\nvar defineDataProperty = require('define-data-property');\n\nvar isFunction = function (fn) {\n\treturn typeof fn === 'function' && toStr.call(fn) === '[object Function]';\n};\n\nvar supportsDescriptors = require('has-property-descriptors')();\n\nvar defineProperty = function (object, name, value, predicate) {\n\tif (name in object) {\n\t\tif (predicate === true) {\n\t\t\tif (object[name] === value) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t} else if (!isFunction(predicate) || !predicate()) {\n\t\t\treturn;\n\t\t}\n\t}\n\n\tif (supportsDescriptors) {\n\t\tdefineDataProperty(object, name, value, true);\n\t} else {\n\t\tdefineDataProperty(object, name, value);\n\t}\n};\n\nvar defineProperties = function (object, map) {\n\tvar predicates = arguments.length > 2 ? arguments[2] : {};\n\tvar props = keys(map);\n\tif (hasSymbols) {\n\t\tprops = concat.call(props, Object.getOwnPropertySymbols(map));\n\t}\n\tfor (var i = 0; i < props.length; i += 1) {\n\t\tdefineProperty(object, props[i], map[props[i]], predicates[props[i]]);\n\t}\n};\n\ndefineProperties.supportsDescriptors = !!supportsDescriptors;\n\nmodule.exports = defineProperties;\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\n/** @type {import('.')} */\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true) || false;\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = false;\n\t}\n}\n\nmodule.exports = $defineProperty;\n","'use strict';\n\n/** @type {import('./eval')} */\nmodule.exports = EvalError;\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Error;\n","'use strict';\n\n/** @type {import('./range')} */\nmodule.exports = RangeError;\n","'use strict';\n\n/** @type {import('./ref')} */\nmodule.exports = ReferenceError;\n","'use strict';\n\n/** @type {import('./syntax')} */\nmodule.exports = SyntaxError;\n","'use strict';\n\n/** @type {import('./type')} */\nmodule.exports = TypeError;\n","'use strict';\n\n/** @type {import('./uri')} */\nmodule.exports = URIError;\n","/**\n * @file Exports a simple function that will escape a string literal for use as an argument in the standard JS RegExp\n * constructor.\n * @module escape-regex-string\n * @author monotonee \n * @license MIT\n */\n\n'use strict';\n\n// This is temporarily declared with \"var\" instead of \"const\" to maintain the absolute broadest compatibility.\nvar defaultEscapeCharsRegex = /[-|\\\\{}()[\\]^$+*?.]/g;\n\n/**\n * Escape a string literal for use as an argument in the standard RegExp constructor.\n * @alias module:escape-regex-string\n * @param {string} unescapedString - The string containing a regex pattern to be escaped.\n * @param {RegExp} [escapeCharsRegex] - An optional RegEx pattern containing a set of characters to escape. If not\n * passed, value will be set to default.\n * @return {string} - The escaped regex pattern string.\n * @throws {TypeError} - Arguments must be correct type.\n * @property {RegExp} defaultEscapeCharsRegex - A read-only property that contains the default escape character RegExp\n * instance. The value of this property is the value used when the optional second argument is omitted in a call to\n * {@link module:escape-regex-string}.\n */\nfunction escapeRegexString(unescapedString, escapeCharsRegex) {\n // Validate arguments.\n if (Object.prototype.toString.call(unescapedString) !== '[object String]') {\n throw new TypeError('Argument 1 should be a string.');\n }\n if (escapeCharsRegex === undefined) {\n escapeCharsRegex = defaultEscapeCharsRegex;\n } else if (Object.prototype.toString.call(escapeCharsRegex) !== '[object RegExp]') {\n throw new TypeError('Argument 2 should be a RegExp object.');\n }\n\n // Escape the string.\n return unescapedString.replace(escapeCharsRegex, '\\\\$&');\n}\n\n/***\n * JSDoc STILL fails to parse this properly due to the use of Object.defineProperty. It has been documented as a\n * property of escapeRegexString. Note the three asterisks at the beginning of this comment to disable JSDoc parsing.\n * @readonly\n * @static\n * @type {RegExp}\n */\nObject.defineProperty(\n escapeRegexString,\n 'defaultEscapeCharsRegex',\n {\n configurable: false,\n enumerable: true,\n value: defaultEscapeCharsRegex,\n writable: false\n }\n);\n\nmodule.exports = escapeRegexString;\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// 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 permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n\n function resolver() {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== 'error') {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n}\n\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === 'function') {\n eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n }\n}\n\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === 'function') {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters, we do not listen for `error` events here.\n emitter.addEventListener(name, function wrapListener(arg) {\n // IE does not have builtin `{ once: true }` support so we\n // have to do it manually.\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n }\n}\n","import {\n EqualityComparator,\n InternalEqualityComparator,\n TypeEqualityComparator,\n} from '../index.d';\n\n/**\n * Default equality comparator pass-through, used as the standard `isEqual` creator for\n * use inside the built comparator.\n */\nexport function createDefaultIsNestedEqual(\n comparator: EqualityComparator,\n): InternalEqualityComparator {\n return function isEqual(\n a: A,\n b: B,\n _indexOrKeyA: any,\n _indexOrKeyB: any,\n _parentA: any,\n _parentB: any,\n meta: Meta,\n ) {\n return comparator(a, b, meta);\n };\n}\n\n/**\n * Wrap the provided `areItemsEqual` method to manage the circular cache, allowing\n * for circular references to be safely included in the comparison without creating\n * stack overflows.\n */\nexport function createIsCircular<\n AreItemsEqual extends TypeEqualityComparator,\n>(areItemsEqual: AreItemsEqual): AreItemsEqual {\n return function isCircular(\n a: any,\n b: any,\n isEqual: InternalEqualityComparator>,\n cache: WeakMap,\n ) {\n if (!a || !b || typeof a !== 'object' || typeof b !== 'object') {\n return areItemsEqual(a, b, isEqual, cache);\n }\n\n const cachedA = cache.get(a);\n const cachedB = cache.get(b);\n\n if (cachedA && cachedB) {\n return cachedA === b && cachedB === a;\n }\n\n cache.set(a, b);\n cache.set(b, a);\n\n const result = areItemsEqual(a, b, isEqual, cache);\n\n cache.delete(a);\n cache.delete(b);\n\n return result;\n } as AreItemsEqual;\n}\n\n/**\n * Targeted shallow merge of two objects.\n *\n * @NOTE\n * This exists as a tinier compiled version of the `__assign` helper that\n * `tsc` injects in case of `Object.assign` not being present.\n */\nexport function merge(a: A, b: B): A & B {\n const merged: Record = {};\n\n for (const key in a) {\n merged[key] = a[key];\n }\n\n for (const key in b) {\n merged[key] = b[key];\n }\n\n return merged as A & B;\n}\n\n/**\n * Whether the value is a plain object.\n *\n * @NOTE\n * This is a same-realm compariosn only.\n */\nexport function isPlainObject(value: any): boolean {\n return value.constructor === Object || value.constructor == null;\n}\n\n/**\n * When the value is `Promise`-like, aka \"then-able\".\n */\nexport function isPromiseLike(value: any): boolean {\n return typeof value.then === 'function';\n}\n\n/**\n * Whether the values passed are strictly equal or both NaN.\n */\nexport function sameValueZeroEqual(a: any, b: any): boolean {\n return a === b || (a !== a && b !== b);\n}\n","import { isPlainObject, isPromiseLike, sameValueZeroEqual } from './utils';\n\nimport type {\n CreateComparatorCreatorOptions,\n EqualityComparator,\n} from '../index.d';\n\nconst ARGUMENTS_TAG = '[object Arguments]';\nconst BOOLEAN_TAG = '[object Boolean]';\nconst DATE_TAG = '[object Date]';\nconst REG_EXP_TAG = '[object RegExp]';\nconst MAP_TAG = '[object Map]';\nconst NUMBER_TAG = '[object Number]';\nconst OBJECT_TAG = '[object Object]';\nconst SET_TAG = '[object Set]';\nconst STRING_TAG = '[object String]';\n\nconst { toString } = Object.prototype;\n\nexport function createComparator({\n areArraysEqual,\n areDatesEqual,\n areMapsEqual,\n areObjectsEqual,\n areRegExpsEqual,\n areSetsEqual,\n createIsNestedEqual,\n}: CreateComparatorCreatorOptions): EqualityComparator {\n const isEqual = createIsNestedEqual(comparator as EqualityComparator);\n\n /**\n * compare the value of the two objects and return true if they are equivalent in values\n */\n function comparator(a: any, b: any, meta: Meta): boolean {\n // If the items are strictly equal, no need to do a value comparison.\n if (a === b) {\n return true;\n }\n\n // If the items are not non-nullish objects, then the only possibility\n // of them being equal but not strictly is if they are both `NaN`. Since\n // `NaN` is uniquely not equal to itself, we can use self-comparison of\n // both objects, which is faster than `isNaN()`.\n if (!a || !b || typeof a !== 'object' || typeof b !== 'object') {\n return a !== a && b !== b;\n }\n\n // Checks are listed in order of commonality of use-case:\n // 1. Common complex object types (plain object, array)\n // 2. Common data values (date, regexp)\n // 3. Less-common complex object types (map, set)\n // 4. Less-common data values (promise, primitive wrappers)\n // Inherently this is both subjective and assumptive, however\n // when reviewing comparable libraries in the wild this order\n // appears to be generally consistent.\n\n // `isPlainObject` only checks against the object's own realm. Cross-realm\n // comparisons are rare, and will be handled in the ultimate fallback, so\n // we can avoid the `toString.call()` cost unless necessary.\n if (isPlainObject(a) && isPlainObject(b)) {\n return areObjectsEqual(a, b, isEqual, meta);\n }\n\n // `isArray()` works on subclasses and is cross-realm, so we can again avoid\n // the `toString.call()` cost unless necessary by just checking if either\n // and then both are arrays.\n const aArray = Array.isArray(a);\n const bArray = Array.isArray(b);\n\n if (aArray || bArray) {\n return aArray === bArray && areArraysEqual(a, b, isEqual, meta);\n }\n\n // Since this is a custom object, use the classic `toString.call()` to get its\n // type. This is reasonably performant in modern environments like v8 and\n // SpiderMonkey, and allows for cross-realm comparison when other checks like\n // `instanceof` do not.\n const aTag = toString.call(a);\n\n if (aTag !== toString.call(b)) {\n return false;\n }\n\n if (aTag === DATE_TAG) {\n // `getTime()` showed better results compared to alternatives like `valueOf()`\n // or the unary `+` operator.\n return areDatesEqual(a, b, isEqual, meta);\n }\n\n if (aTag === REG_EXP_TAG) {\n return areRegExpsEqual(a, b, isEqual, meta);\n }\n\n if (aTag === MAP_TAG) {\n return areMapsEqual(a, b, isEqual, meta);\n }\n\n if (aTag === SET_TAG) {\n return areSetsEqual(a, b, isEqual, meta);\n }\n\n // If a simple object tag, then we can prioritize a simple object comparison because\n // it is likely a custom class. If an arguments tag, it should be treated as a standard\n // object.\n if (aTag === OBJECT_TAG || aTag === ARGUMENTS_TAG) {\n // The exception for value comparison is `Promise`-like contracts. These should be\n // treated the same as standard `Promise` objects, which means strict equality.\n return isPromiseLike(a) || isPromiseLike(b)\n ? false\n : areObjectsEqual(a, b, isEqual, meta);\n }\n\n // As the penultimate fallback, check if the values passed are primitive wrappers. This\n // is very rare in modern JS, which is why it is deprioritized compared to all other object\n // types.\n if (aTag === BOOLEAN_TAG || aTag === NUMBER_TAG || aTag === STRING_TAG) {\n return sameValueZeroEqual(a.valueOf(), b.valueOf());\n }\n\n // If not matching any tags that require a specific type of comparison, then we hard-code false because\n // the only thing remaining is strict equality, which has already been compared. This is for a few reasons:\n // - Certain types that cannot be introspected (e.g., `WeakMap`). For these types, this is the only\n // comparison that can be made.\n // - For types that can be introspected, but rarely have requirements to be compared\n // (`ArrayBuffer`, `DataView`, etc.), the cost is avoided to prioritize the common\n // use-cases (may be included in a future release, if requested enough).\n // - For types that can be introspected but do not have an objective definition of what\n // equality is (`Error`, etc.), the subjective decision is to be conservative and strictly compare.\n // In all cases, these decisions should be reevaluated based on changes to the language and\n // common development practices.\n return false;\n }\n\n return comparator as EqualityComparator;\n}\n","import { createIsCircular } from './utils';\n\nimport type { InternalEqualityComparator } from '../index.d';\n\n/**\n * Whether the arrays are equal in value.\n */\nexport function areArraysEqual(\n a: any[],\n b: any[],\n isEqual: InternalEqualityComparator,\n meta: any,\n): boolean {\n let index = a.length;\n\n if (b.length !== index) {\n return false;\n }\n\n // Decrementing `while` showed faster results than either incrementing or\n // decrementing `for` loop and than an incrementing `while` loop. Declarative\n // methods like `some` / `every` were not used to avoid incurring the garbage\n // cost of anonymous callbacks.\n while (index-- > 0) {\n if (!isEqual(a[index], b[index], index, index, a, b, meta)) {\n return false;\n }\n }\n\n return true;\n}\n\n/**\n * Whether the arrays are equal in value, including circular references.\n */\nexport const areArraysEqualCircular = createIsCircular(areArraysEqual);\n","import { sameValueZeroEqual } from './utils';\n\n/**\n * Whether the dates passed are equal in value.\n *\n * @NOTE\n * This is a standalone function instead of done inline in the comparator\n * to allow for overrides.\n */\nexport function areDatesEqual(a: Date, b: Date): boolean {\n return sameValueZeroEqual(a.valueOf(), b.valueOf());\n}\n","import { createIsCircular } from './utils';\n\nimport type { InternalEqualityComparator } from '../index.d';\n\n/**\n * Whether the `Map`s are equal in value.\n */\nexport function areMapsEqual(\n a: Map,\n b: Map,\n isEqual: InternalEqualityComparator,\n meta: any,\n): boolean {\n let isValueEqual = a.size === b.size;\n\n if (!isValueEqual) {\n return false;\n }\n\n if (!a.size) {\n return true;\n }\n\n // The use of `forEach()` is to avoid the transpilation cost of `for...of` comparisons, and\n // the inability to control the performance of the resulting code. It also avoids excessive\n // iteration compared to doing comparisons of `keys()` and `values()`. As a result, though,\n // we cannot short-circuit the iterations; bookkeeping must be done to short-circuit the\n // equality checks themselves.\n\n const matchedIndices: Record = {};\n\n let indexA = 0;\n\n a.forEach((aValue, aKey) => {\n if (!isValueEqual) {\n return;\n }\n\n let hasMatch = false;\n let matchIndexB = 0;\n\n b.forEach((bValue, bKey) => {\n if (\n !hasMatch &&\n !matchedIndices[matchIndexB] &&\n (hasMatch =\n isEqual(aKey, bKey, indexA, matchIndexB, a, b, meta) &&\n isEqual(aValue, bValue, aKey, bKey, a, b, meta))\n ) {\n matchedIndices[matchIndexB] = true;\n }\n\n matchIndexB++;\n });\n\n indexA++;\n isValueEqual = hasMatch;\n });\n\n return isValueEqual;\n}\n\n/**\n * Whether the `Map`s are equal in value, including circular references.\n */\nexport const areMapsEqualCircular = createIsCircular(areMapsEqual);\n","import { createIsCircular } from './utils';\n\nimport type { InternalEqualityComparator } from '../index.d';\n\ninterface Dictionary {\n [key: string]: Value;\n $$typeof?: any;\n}\n\nconst OWNER = '_owner';\nconst { hasOwnProperty } = Object.prototype;\n\n/**\n * Whether the objects are equal in value.\n */\nexport function areObjectsEqual(\n a: Dictionary,\n b: Dictionary,\n isEqual: InternalEqualityComparator,\n meta: any,\n): boolean {\n const keysA = Object.keys(a);\n\n let index = keysA.length;\n\n if (Object.keys(b).length !== index) {\n return false;\n }\n\n let key: string;\n\n // Decrementing `while` showed faster results than either incrementing or\n // decrementing `for` loop and than an incrementing `while` loop. Declarative\n // methods like `some` / `every` were not used to avoid incurring the garbage\n // cost of anonymous callbacks.\n while (index-- > 0) {\n key = keysA[index];\n\n if (key === OWNER) {\n const reactElementA = !!a.$$typeof;\n const reactElementB = !!b.$$typeof;\n\n if ((reactElementA || reactElementB) && reactElementA !== reactElementB) {\n return false;\n }\n }\n\n if (\n !hasOwnProperty.call(b, key) ||\n !isEqual(a[key], b[key], key, key, a, b, meta)\n ) {\n return false;\n }\n }\n\n return true;\n}\n\n/**\n * Whether the objects are equal in value, including circular references.\n */\nexport const areObjectsEqualCircular = createIsCircular(areObjectsEqual);\n","/**\n * Whether the regexps passed are equal in value.\n *\n * @NOTE\n * This is a standalone function instead of done inline in the comparator\n * to allow for overrides. An example of this would be supporting a\n * pre-ES2015 environment where the `flags` property is not available.\n */\nexport function areRegExpsEqual(a: RegExp, b: RegExp): boolean {\n return a.source === b.source && a.flags === b.flags;\n}\n","import { createIsCircular } from './utils';\n\nimport type { InternalEqualityComparator } from '../index.d';\n\n/**\n * Whether the `Set`s are equal in value.\n */\nexport function areSetsEqual(\n a: Set,\n b: Set,\n isEqual: InternalEqualityComparator,\n meta: any,\n): boolean {\n let isValueEqual = a.size === b.size;\n\n if (!isValueEqual) {\n return false;\n }\n\n if (!a.size) {\n return true;\n }\n\n // The use of `forEach()` is to avoid the transpilation cost of `for...of` comparisons, and\n // the inability to control the performance of the resulting code. It also avoids excessive\n // iteration compared to doing comparisons of `keys()` and `values()`. As a result, though,\n // we cannot short-circuit the iterations; bookkeeping must be done to short-circuit the\n // equality checks themselves.\n\n const matchedIndices: Record = {};\n\n a.forEach((aValue, aKey) => {\n if (!isValueEqual) {\n return;\n }\n\n let hasMatch = false;\n let matchIndex = 0;\n\n b.forEach((bValue, bKey) => {\n if (\n !hasMatch &&\n !matchedIndices[matchIndex] &&\n (hasMatch = isEqual(aValue, bValue, aKey, bKey, a, b, meta))\n ) {\n matchedIndices[matchIndex] = true;\n }\n\n matchIndex++;\n });\n\n isValueEqual = hasMatch;\n });\n\n return isValueEqual;\n}\n\n/**\n * Whether the `Set`s are equal in value, including circular references.\n */\nexport const areSetsEqualCircular = createIsCircular(areSetsEqual);\n","import { createComparator } from './comparator';\nimport { areArraysEqual, areArraysEqualCircular } from './arrays';\nimport { areDatesEqual } from './dates';\nimport { areMapsEqual, areMapsEqualCircular } from './maps';\nimport { areObjectsEqual, areObjectsEqualCircular } from './objects';\nimport { areRegExpsEqual } from './regexps';\nimport { areSetsEqual, areSetsEqualCircular } from './sets';\nimport { createDefaultIsNestedEqual, merge, sameValueZeroEqual } from './utils';\n\nimport type {\n BaseCircularMeta,\n CreateComparatorCreatorOptions,\n EqualityComparator,\n GetComparatorOptions,\n} from '../index.d';\n\nexport { sameValueZeroEqual };\n\nconst DEFAULT_CONFIG: CreateComparatorCreatorOptions = Object.freeze(\n {\n areArraysEqual,\n areDatesEqual,\n areMapsEqual,\n areObjectsEqual,\n areRegExpsEqual,\n areSetsEqual,\n createIsNestedEqual: createDefaultIsNestedEqual,\n },\n);\nconst DEFAULT_CIRCULAR_CONFIG: CreateComparatorCreatorOptions =\n Object.freeze({\n areArraysEqual: areArraysEqualCircular,\n areDatesEqual,\n areMapsEqual: areMapsEqualCircular,\n areObjectsEqual: areObjectsEqualCircular,\n areRegExpsEqual,\n areSetsEqual: areSetsEqualCircular,\n createIsNestedEqual: createDefaultIsNestedEqual,\n });\n\nconst isDeepEqual = createComparator(DEFAULT_CONFIG);\n\n/**\n * Whether the items passed are deeply-equal in value.\n */\nexport function deepEqual(a: A, b: B): boolean {\n return isDeepEqual(a, b, undefined);\n}\n\nconst isShallowEqual = createComparator(\n merge(DEFAULT_CONFIG, { createIsNestedEqual: () => sameValueZeroEqual }),\n);\n\n/**\n * Whether the items passed are shallowly-equal in value.\n */\nexport function shallowEqual(a: A, b: B): boolean {\n return isShallowEqual(a, b, undefined);\n}\n\nconst isCircularDeepEqual = createComparator(DEFAULT_CIRCULAR_CONFIG);\n\n/**\n * Whether the items passed are deeply-equal in value, including circular references.\n */\nexport function circularDeepEqual(a: A, b: B): boolean {\n return isCircularDeepEqual(a, b, new WeakMap());\n}\n\nconst isCircularShallowEqual = createComparator(\n merge(DEFAULT_CIRCULAR_CONFIG, {\n createIsNestedEqual: () => sameValueZeroEqual,\n }),\n);\n\n/**\n * Whether the items passed are shallowly-equal in value, including circular references.\n */\nexport function circularShallowEqual(a: A, b: B): boolean {\n return isCircularShallowEqual(a, b, new WeakMap());\n}\n\n/**\n * Create a custom equality comparison method.\n *\n * This can be done to create very targeted comparisons in extreme hot-path scenarios\n * where the standard methods are not performant enough, but can also be used to provide\n * support for legacy environments that do not support expected features like\n * `RegExp.prototype.flags` out of the box.\n */\nexport function createCustomEqual(\n getComparatorOptions: GetComparatorOptions,\n): EqualityComparator {\n return createComparator(\n merge(DEFAULT_CONFIG, getComparatorOptions(DEFAULT_CONFIG as any)),\n );\n}\n\n/**\n * Create a custom equality comparison method that handles circular references. This is very\n * similar to `createCustomEqual`, with the only difference being that `meta` expects to be\n * populated with a `WeakMap`-like contract.\n *\n * This can be done to create very targeted comparisons in extreme hot-path scenarios\n * where the standard methods are not performant enough, but can also be used to provide\n * support for legacy environments that do not support expected features like\n * `WeakMap` out of the box.\n */\nexport function createCustomCircularEqual<\n Meta extends BaseCircularMeta = WeakMap,\n>(getComparatorOptions: GetComparatorOptions): EqualityComparator {\n const comparator = createComparator(\n merge(\n DEFAULT_CIRCULAR_CONFIG,\n getComparatorOptions(DEFAULT_CIRCULAR_CONFIG as any),\n ),\n );\n\n return ((a: any, b: any, meta: any = new WeakMap()) =>\n comparator(a, b, meta)) as EqualityComparator;\n}\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar toStr = Object.prototype.toString;\nvar max = Math.max;\nvar funcType = '[object Function]';\n\nvar concatty = function concatty(a, b) {\n var arr = [];\n\n for (var i = 0; i < a.length; i += 1) {\n arr[i] = a[i];\n }\n for (var j = 0; j < b.length; j += 1) {\n arr[j + a.length] = b[j];\n }\n\n return arr;\n};\n\nvar slicy = function slicy(arrLike, offset) {\n var arr = [];\n for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {\n arr[j] = arrLike[i];\n }\n return arr;\n};\n\nvar joiny = function (arr, joiner) {\n var str = '';\n for (var i = 0; i < arr.length; i += 1) {\n str += arr[i];\n if (i + 1 < arr.length) {\n str += joiner;\n }\n }\n return str;\n};\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.apply(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slicy(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n concatty(args, arguments)\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n }\n return target.apply(\n that,\n concatty(args, arguments)\n );\n\n };\n\n var boundLength = max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs[i] = '$' + i;\n }\n\n bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\nvar functionsHaveNames = function functionsHaveNames() {\n\treturn typeof function f() {}.name === 'string';\n};\n\nvar gOPD = Object.getOwnPropertyDescriptor;\nif (gOPD) {\n\ttry {\n\t\tgOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\tgOPD = null;\n\t}\n}\n\nfunctionsHaveNames.functionsHaveConfigurableNames = function functionsHaveConfigurableNames() {\n\tif (!functionsHaveNames() || !gOPD) {\n\t\treturn false;\n\t}\n\tvar desc = gOPD(function () {}, 'name');\n\treturn !!desc && !!desc.configurable;\n};\n\nvar $bind = Function.prototype.bind;\n\nfunctionsHaveNames.boundFunctionsHaveNames = function boundFunctionsHaveNames() {\n\treturn functionsHaveNames() && typeof $bind === 'function' && function f() {}.bind().name !== '';\n};\n\nmodule.exports = functionsHaveNames;\n","'use strict';\n\nvar undefined;\n\nvar $Error = require('es-errors');\nvar $EvalError = require('es-errors/eval');\nvar $RangeError = require('es-errors/range');\nvar $ReferenceError = require('es-errors/ref');\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\nvar $URIError = require('es-errors/uri');\n\nvar $Function = Function;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\nvar hasProto = require('has-proto')();\n\nvar getProto = Object.getPrototypeOf || (\n\thasProto\n\t\t? function (x) { return x.__proto__; } // eslint-disable-line no-proto\n\t\t: null\n);\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t__proto__: null,\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array,\n\t'%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': $Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': $EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': $RangeError,\n\t'%ReferenceError%': $ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols && getProto ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': $URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nif (getProto) {\n\ttry {\n\t\tnull.error; // eslint-disable-line no-unused-expressions\n\t} catch (e) {\n\t\t// https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229\n\t\tvar errorProto = getProto(getProto(e));\n\t\tINTRINSICS['%Error.prototype%'] = errorProto;\n\t}\n}\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen && getProto) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t__proto__: null,\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('hasown');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\nvar $exec = bind.call(Function.call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\n\nif ($gOPD) {\n\ttry {\n\t\t$gOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\t$gOPD = null;\n\t}\n}\n\nmodule.exports = $gOPD;\n","// @flow\n'use strict';\n\nvar key = '__global_unique_id__';\n\nmodule.exports = function() {\n return global[key] = (global[key] || 0) + 1;\n};\n","'use strict';\n\nvar $defineProperty = require('es-define-property');\n\nvar hasPropertyDescriptors = function hasPropertyDescriptors() {\n\treturn !!$defineProperty;\n};\n\nhasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {\n\t// node v0.6 has a bug where array lengths can be Set but not Defined\n\tif (!$defineProperty) {\n\t\treturn null;\n\t}\n\ttry {\n\t\treturn $defineProperty([], 'length', { value: 1 }).length !== 1;\n\t} catch (e) {\n\t\t// In Firefox 4-22, defining length on an array throws an exception.\n\t\treturn true;\n\t}\n};\n\nmodule.exports = hasPropertyDescriptors;\n","'use strict';\n\nvar test = {\n\t__proto__: null,\n\tfoo: {}\n};\n\nvar $Object = Object;\n\n/** @type {import('.')} */\nmodule.exports = function hasProto() {\n\t// @ts-expect-error: TS errors on an inherited property for some reason\n\treturn { __proto__: test }.foo === test.foo\n\t\t&& !(test instanceof $Object);\n};\n","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\tvar descriptor = Object.getOwnPropertyDescriptor(obj, sym);\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","'use strict';\n\nvar hasSymbols = require('has-symbols/shams');\n\n/** @type {import('.')} */\nmodule.exports = function hasToStringTagShams() {\n\treturn hasSymbols() && !!Symbol.toStringTag;\n};\n","'use strict';\n\nvar call = Function.prototype.call;\nvar $hasOwn = Object.prototype.hasOwnProperty;\nvar bind = require('function-bind');\n\n/** @type {import('.')} */\nmodule.exports = bind.call(call, $hasOwn);\n","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"HighchartsReact\"] = factory(require(\"react\"));\n\telse\n\t\troot[\"HighchartsReact\"] = factory(root[\"React\"]);\n})(typeof self !== 'undefined' ? self : this, function(__WEBPACK_EXTERNAL_MODULE_1__) {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 06abc0fd1cd6e6cc78b4","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"HighchartsReact\"] = factory(require(\"react\"));\n\telse\n\t\troot[\"HighchartsReact\"] = factory(root[\"React\"]);\n})(typeof self !== 'undefined' ? self : this, function(__WEBPACK_EXTERNAL_MODULE_1__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"HighchartsReact\", function() { return HighchartsReact; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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; }; return _extends.apply(this, arguments); }\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\n\n// React currently throws a warning when using `useLayoutEffect` on the server.\n// To get around it, we can conditionally `useEffect` on the server (no-op) and\n// `useLayoutEffect` in the browser. We need `useLayoutEffect` to ensure the\n// `Highcharts` ref is available in the layout phase. This makes it available\n// in a parent component's `componentDidMount`.\nvar useIsomorphicLayoutEffect = typeof window !== 'undefined' ? __WEBPACK_IMPORTED_MODULE_0_react__[\"useLayoutEffect\"] : __WEBPACK_IMPORTED_MODULE_0_react__[\"useEffect\"];\nvar HighchartsReact = /*#__PURE__*/Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"memo\"])( /*#__PURE__*/Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"forwardRef\"])(function HighchartsReact(props, ref) {\n var containerRef = Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"useRef\"])();\n var chartRef = Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"useRef\"])();\n var constructorType = Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"useRef\"])(props.constructorType);\n var highcharts = Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"useRef\"])(props.highcharts);\n useIsomorphicLayoutEffect(function () {\n function createChart() {\n var H = props.highcharts || (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) === 'object' && window.Highcharts;\n var constructorType = props.constructorType || 'chart';\n if (!H) {\n console.warn('The \"highcharts\" property was not passed.');\n } else if (!H[constructorType]) {\n console.warn('The \"constructorType\" property is incorrect or some ' + 'required module is not imported.');\n } else if (!props.options) {\n console.warn('The \"options\" property was not passed.');\n } else {\n // Create a chart\n chartRef.current = H[constructorType](containerRef.current, props.options, props.callback);\n }\n }\n if (!chartRef.current) {\n createChart();\n } else {\n if (props.allowChartUpdate !== false) {\n // Reacreate chart on Highcharts or constructor type change\n if (props.constructorType !== constructorType.current || props.highcharts !== highcharts.current) {\n constructorType.current = props.constructorType;\n highcharts.current = props.highcharts;\n createChart();\n // Use `chart.update` to apply changes\n } else if (!props.immutable && chartRef.current) {\n var _chartRef$current;\n (_chartRef$current = chartRef.current).update.apply(_chartRef$current, [props.options].concat(_toConsumableArray(props.updateArgs || [true, true])));\n } else {\n createChart();\n }\n }\n }\n }, [props.options, props.allowChartUpdate, props.updateArgs, props.containerProps, props.highcharts, props.constructorType]);\n\n // Destroy the chart on unmount\n useIsomorphicLayoutEffect(function () {\n return function () {\n if (chartRef.current) {\n chartRef.current.destroy();\n chartRef.current = null;\n }\n };\n }, []);\n Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"useImperativeHandle\"])(ref, function () {\n return {\n get chart() {\n return chartRef.current;\n },\n container: containerRef\n };\n }, []);\n\n // Create container for the chart\n return /*#__PURE__*/__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"div\", _extends({}, props.containerProps, {\n ref: containerRef\n }));\n}));\n/* harmony default export */ __webpack_exports__[\"default\"] = (HighchartsReact);\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_1__;\n\n/***/ })\n/******/ ]);\n});\n\n\n// WEBPACK FOOTER //\n// highcharts-react.min.js","import React, {\n forwardRef,\n memo,\n useEffect,\n useImperativeHandle,\n useLayoutEffect,\n useRef\n} from 'react';\n\n// React currently throws a warning when using `useLayoutEffect` on the server.\n// To get around it, we can conditionally `useEffect` on the server (no-op) and\n// `useLayoutEffect` in the browser. We need `useLayoutEffect` to ensure the\n// `Highcharts` ref is available in the layout phase. This makes it available\n// in a parent component's `componentDidMount`.\nconst useIsomorphicLayoutEffect =\n typeof window !== 'undefined' ? useLayoutEffect : useEffect;\n\nexport const HighchartsReact = memo(forwardRef(\n function HighchartsReact(props, ref) {\n const containerRef = useRef();\n const chartRef = useRef();\n const constructorType = useRef(props.constructorType);\n const highcharts = useRef(props.highcharts);\n\n useIsomorphicLayoutEffect(() => {\n function createChart() {\n const H = props.highcharts || (\n typeof window === 'object' && window.Highcharts\n );\n const constructorType = props.constructorType || 'chart';\n \n if (!H) {\n console.warn('The \"highcharts\" property was not passed.');\n \n } else if (!H[constructorType]) {\n console.warn(\n 'The \"constructorType\" property is incorrect or some ' +\n 'required module is not imported.'\n );\n } else if (!props.options) {\n console.warn('The \"options\" property was not passed.');\n \n } else {\n // Create a chart\n chartRef.current = H[constructorType](\n containerRef.current,\n props.options,\n props.callback\n );\n }\n }\n\n if (!chartRef.current) {\n createChart();\n } else {\n if (props.allowChartUpdate !== false) {\n // Reacreate chart on Highcharts or constructor type change\n if (\n props.constructorType !== constructorType.current ||\n props.highcharts !== highcharts.current\n ) {\n constructorType.current = props.constructorType;\n highcharts.current = props.highcharts;\n createChart();\n // Use `chart.update` to apply changes\n } else if (!props.immutable && chartRef.current) {\n chartRef.current.update(\n props.options,\n ...(props.updateArgs || [true, true])\n );\n } else {\n createChart();\n }\n }\n }\n }, [\n props.options,\n props.allowChartUpdate,\n props.updateArgs,\n props.containerProps,\n props.highcharts,\n props.constructorType\n ]);\n\n // Destroy the chart on unmount\n useIsomorphicLayoutEffect(() => {\n return () => {\n if (chartRef.current) {\n chartRef.current.destroy();\n chartRef.current = null;\n }\n };\n }, []);\n\n useImperativeHandle(\n ref,\n () => ({\n get chart() {\n return chartRef.current;\n },\n container: containerRef\n }),\n []\n );\n\n // Create container for the chart\n return
;\n }\n));\n\nexport default HighchartsReact;\n\n\n\n// WEBPACK FOOTER //\n// ./src/HighchartsReact.js","module.exports = __WEBPACK_EXTERNAL_MODULE_1__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external {\"root\":\"React\",\"commonjs\":\"react\",\"commonjs2\":\"react\",\"amd\":\"react\"}\n// module id = 1\n// module chunks = 0 1","/**\n * @license Highcharts JS v8.2.2 (2020-10-22)\n *\n * (c) 2009-2018 Torstein Honsi\n *\n * License: www.highcharts.com/license\n */\n'use strict';\n(function (root, factory) {\n if (typeof module === 'object' && module.exports) {\n factory['default'] = factory;\n module.exports = root.document ?\n factory(root) :\n factory;\n } else if (typeof define === 'function' && define.amd) {\n define('highcharts/highcharts', function () {\n return factory(root);\n });\n } else {\n if (root.Highcharts) {\n root.Highcharts.error(16, true);\n }\n root.Highcharts = factory(root);\n }\n}(typeof window !== 'undefined' ? window : this, function (win) {\n var _modules = {};\n function _registerModule(obj, path, args, fn) {\n if (!obj.hasOwnProperty(path)) {\n obj[path] = fn.apply(null, args);\n }\n }\n _registerModule(_modules, 'Core/Globals.js', [], function () {\n /* *\n *\n * (c) 2010-2020 Torstein Honsi\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n /* globals Image, window */\n /**\n * Reference to the global SVGElement class as a workaround for a name conflict\n * in the Highcharts namespace.\n *\n * @global\n * @typedef {global.SVGElement} GlobalSVGElement\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/SVGElement\n */\n // glob is a temporary fix to allow our es-modules to work.\n var glob = ( // @todo UMD variable named `window`, and glob named `win`\n typeof win !== 'undefined' ?\n win :\n typeof window !== 'undefined' ?\n window :\n {}), doc = glob.document, SVG_NS = 'http://www.w3.org/2000/svg', userAgent = (glob.navigator && glob.navigator.userAgent) || '', svg = (doc &&\n doc.createElementNS &&\n !!doc.createElementNS(SVG_NS, 'svg').createSVGRect), isMS = /(edge|msie|trident)/i.test(userAgent) && !glob.opera, isFirefox = userAgent.indexOf('Firefox') !== -1, isChrome = userAgent.indexOf('Chrome') !== -1, hasBidiBug = (isFirefox &&\n parseInt(userAgent.split('Firefox/')[1], 10) < 4 // issue #38\n );\n var H = {\n product: 'Highcharts',\n version: '8.2.2',\n deg2rad: Math.PI * 2 / 360,\n doc: doc,\n hasBidiBug: hasBidiBug,\n hasTouch: !!glob.TouchEvent,\n isMS: isMS,\n isWebKit: userAgent.indexOf('AppleWebKit') !== -1,\n isFirefox: isFirefox,\n isChrome: isChrome,\n isSafari: !isChrome && userAgent.indexOf('Safari') !== -1,\n isTouchDevice: /(Mobile|Android|Windows Phone)/.test(userAgent),\n SVG_NS: SVG_NS,\n chartCount: 0,\n seriesTypes: {},\n symbolSizes: {},\n svg: svg,\n win: glob,\n marginNames: ['plotTop', 'marginRight', 'marginBottom', 'plotLeft'],\n noop: function () { },\n /**\n * Theme options that should get applied to the chart. In module mode it\n * might not be possible to change this property because of read-only\n * restrictions, instead use {@link Highcharts.setOptions}.\n *\n * @name Highcharts.theme\n * @type {Highcharts.Options}\n */\n /**\n * An array containing the current chart objects in the page. A chart's\n * position in the array is preserved throughout the page's lifetime. When\n * a chart is destroyed, the array item becomes `undefined`.\n *\n * @name Highcharts.charts\n * @type {Array}\n */\n charts: [],\n /**\n * A hook for defining additional date format specifiers. New\n * specifiers are defined as key-value pairs by using the\n * specifier as key, and a function which takes the timestamp as\n * value. This function returns the formatted portion of the\n * date.\n *\n * @sample highcharts/global/dateformats/\n * Adding support for week number\n *\n * @name Highcharts.dateFormats\n * @type {Highcharts.Dictionary}\n */\n dateFormats: {}\n };\n\n return H;\n });\n _registerModule(_modules, 'Core/Utilities.js', [_modules['Core/Globals.js']], function (H) {\n /* *\n *\n * (c) 2010-2020 Torstein Honsi\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n /**\n * An animation configuration. Animation configurations can also be defined as\n * booleans, where `false` turns off animation and `true` defaults to a duration\n * of 500ms and defer of 0ms.\n *\n * @interface Highcharts.AnimationOptionsObject\n */ /**\n * A callback function to exectute when the animation finishes.\n * @name Highcharts.AnimationOptionsObject#complete\n * @type {Function|undefined}\n */ /**\n * The animation defer in milliseconds.\n * @name Highcharts.AnimationOptionsObject#defer\n * @type {number|undefined}\n */ /**\n * The animation duration in milliseconds.\n * @name Highcharts.AnimationOptionsObject#duration\n * @type {number|undefined}\n */ /**\n * The name of an easing function as defined on the `Math` object.\n * @name Highcharts.AnimationOptionsObject#easing\n * @type {string|Function|undefined}\n */ /**\n * A callback function to execute on each step of each attribute or CSS property\n * that's being animated. The first argument contains information about the\n * animation and progress.\n * @name Highcharts.AnimationOptionsObject#step\n * @type {Function|undefined}\n */\n /**\n * Creates a frame for the animated SVG element.\n *\n * @callback Highcharts.AnimationStepCallbackFunction\n *\n * @param {Highcharts.SVGElement} this\n * The SVG element to animate.\n *\n * @return {void}\n */\n /**\n * Interface description for a class.\n *\n * @interface Highcharts.Class\n * @extends Function\n */ /**\n * Class costructor.\n * @function Highcharts.Class#new\n * @param {...Array<*>} args\n * Constructor arguments.\n * @return {T}\n * Class instance.\n */\n /**\n * A style object with camel case property names to define visual appearance of\n * a SVG element or HTML element. The properties can be whatever styles are\n * supported on the given SVG or HTML element.\n *\n * @example\n * {\n * fontFamily: 'monospace',\n * fontSize: '1.2em'\n * }\n *\n * @interface Highcharts.CSSObject\n */ /**\n * @name Highcharts.CSSObject#[key:string]\n * @type {boolean|number|string|undefined}\n */ /**\n * Background style for the element.\n * @name Highcharts.CSSObject#background\n * @type {string|undefined}\n */ /**\n * Background color of the element.\n * @name Highcharts.CSSObject#backgroundColor\n * @type {Highcharts.ColorString|undefined}\n */ /**\n * Border style for the element.\n * @name Highcharts.CSSObject#border\n * @type {string|undefined}\n */ /**\n * Radius of the element border.\n * @name Highcharts.CSSObject#borderRadius\n * @type {number|undefined}\n */ /**\n * Color used in the element. The 'contrast' option is a Highcharts custom\n * property that results in black or white, depending on the background of the\n * element.\n * @name Highcharts.CSSObject#color\n * @type {'contrast'|Highcharts.ColorString|undefined}\n */ /**\n * Style of the mouse cursor when resting over the element.\n * @name Highcharts.CSSObject#cursor\n * @type {Highcharts.CursorValue|undefined}\n */ /**\n * Font family of the element text. Multiple values have to be in decreasing\n * preference order and separated by comma.\n * @name Highcharts.CSSObject#fontFamily\n * @type {string|undefined}\n */ /**\n * Font size of the element text.\n * @name Highcharts.CSSObject#fontSize\n * @type {string|undefined}\n */ /**\n * Font weight of the element text.\n * @name Highcharts.CSSObject#fontWeight\n * @type {string|undefined}\n */ /**\n * Height of the element.\n * @name Highcharts.CSSObject#height\n * @type {number|undefined}\n */ /**\n * Width of the element border.\n * @name Highcharts.CSSObject#lineWidth\n * @type {number|undefined}\n */ /**\n * Opacity of the element.\n * @name Highcharts.CSSObject#opacity\n * @type {number|undefined}\n */ /**\n * Space around the element content.\n * @name Highcharts.CSSObject#padding\n * @type {string|undefined}\n */ /**\n * Behaviour of the element when the mouse cursor rests over it.\n * @name Highcharts.CSSObject#pointerEvents\n * @type {string|undefined}\n */ /**\n * Positioning of the element.\n * @name Highcharts.CSSObject#position\n * @type {string|undefined}\n */ /**\n * Alignment of the element text.\n * @name Highcharts.CSSObject#textAlign\n * @type {string|undefined}\n */ /**\n * Additional decoration of the element text.\n * @name Highcharts.CSSObject#textDecoration\n * @type {string|undefined}\n */ /**\n * Outline style of the element text.\n * @name Highcharts.CSSObject#textOutline\n * @type {string|undefined}\n */ /**\n * Line break style of the element text. Highcharts SVG elements support\n * `ellipsis` when a `width` is set.\n * @name Highcharts.CSSObject#textOverflow\n * @type {string|undefined}\n */ /**\n * Top spacing of the element relative to the parent element.\n * @name Highcharts.CSSObject#top\n * @type {string|undefined}\n */ /**\n * Animated transition of selected element properties.\n * @name Highcharts.CSSObject#transition\n * @type {string|undefined}\n */ /**\n * Line break style of the element text.\n * @name Highcharts.CSSObject#whiteSpace\n * @type {string|undefined}\n */ /**\n * Width of the element.\n * @name Highcharts.CSSObject#width\n * @type {number|undefined}\n */\n /**\n * All possible cursor styles.\n *\n * @typedef {'alias'|'all-scroll'|'auto'|'cell'|'col-resize'|'context-menu'|'copy'|'crosshair'|'default'|'e-resize'|'ew-resize'|'grab'|'grabbing'|'help'|'move'|'n-resize'|'ne-resize'|'nesw-resize'|'no-drop'|'none'|'not-allowed'|'ns-resize'|'nw-resize'|'nwse-resize'|'pointer'|'progress'|'row-resize'|'s-resize'|'se-resize'|'sw-resize'|'text'|'vertical-text'|'w-resize'|'wait'|'zoom-in'|'zoom-out'} Highcharts.CursorValue\n */\n /**\n * All possible dash styles.\n *\n * @typedef {'Dash'|'DashDot'|'Dot'|'LongDash'|'LongDashDot'|'LongDashDotDot'|'ShortDash'|'ShortDashDot'|'ShortDashDotDot'|'ShortDot'|'Solid'} Highcharts.DashStyleValue\n */\n /**\n * Generic dictionary in TypeScript notation.\n * Use the native `Record` instead.\n *\n * @deprecated\n * @interface Highcharts.Dictionary\n */ /**\n * @name Highcharts.Dictionary#[key:string]\n * @type {T}\n */\n /**\n * The function callback to execute when the event is fired. The `this` context\n * contains the instance, that fired the event.\n *\n * @callback Highcharts.EventCallbackFunction\n *\n * @param {T} this\n *\n * @param {Highcharts.Dictionary<*>|Event} [eventArguments]\n * Event arguments.\n *\n * @return {boolean|void}\n */\n /**\n * The event options for adding function callback.\n *\n * @interface Highcharts.EventOptionsObject\n */ /**\n * The order the event handler should be called. This opens for having one\n * handler be called before another, independent of in which order they were\n * added.\n * @name Highcharts.EventOptionsObject#order\n * @type {number}\n */\n /**\n * Formats data as a string. Usually the data is accessible throught the `this`\n * keyword.\n *\n * @callback Highcharts.FormatterCallbackFunction\n *\n * @param {T} this\n * Context to format\n *\n * @return {string}\n * Formatted text\n */\n /**\n * An object of key-value pairs for HTML attributes.\n *\n * @typedef {Highcharts.Dictionary} Highcharts.HTMLAttributes\n */\n /**\n * An HTML DOM element. The type is a reference to the regular HTMLElement in\n * the global scope.\n *\n * @typedef {global.HTMLElement} Highcharts.HTMLDOMElement\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement\n */\n /**\n * The iterator callback.\n *\n * @callback Highcharts.ObjectEachCallbackFunction\n *\n * @param {T} this\n * The context.\n *\n * @param {*} value\n * The property value.\n *\n * @param {string} key\n * The property key.\n *\n * @param {*} obj\n * The object that objectEach is being applied to.\n */\n /**\n * An object containing `left` and `top` properties for the position in the\n * page.\n *\n * @interface Highcharts.OffsetObject\n */ /**\n * Left distance to the page border.\n * @name Highcharts.OffsetObject#left\n * @type {number}\n */ /**\n * Top distance to the page border.\n * @name Highcharts.OffsetObject#top\n * @type {number}\n */\n /**\n * Describes a range.\n *\n * @interface Highcharts.RangeObject\n */ /**\n * Maximum number of the range.\n * @name Highcharts.RangeObject#max\n * @type {number}\n */ /**\n * Minimum number of the range.\n * @name Highcharts.RangeObject#min\n * @type {number}\n */\n /**\n * If a number is given, it defines the pixel length. If a percentage string is\n * given, like for example `'50%'`, the setting defines a length relative to a\n * base size, for example the size of a container.\n *\n * @typedef {number|string} Highcharts.RelativeSize\n */\n /**\n * Proceed function to call original (wrapped) function.\n *\n * @callback Highcharts.WrapProceedFunction\n *\n * @param {*} [arg1]\n * Optional argument. Without any arguments defaults to first argument of\n * the wrapping function.\n *\n * @param {*} [arg2]\n * Optional argument. Without any arguments defaults to second argument\n * of the wrapping function.\n *\n * @param {*} [arg3]\n * Optional argument. Without any arguments defaults to third argument of\n * the wrapping function.\n *\n * @return {*}\n * Return value of the original function.\n */\n /**\n * The Highcharts object is the placeholder for all other members, and various\n * utility functions. The most important member of the namespace would be the\n * chart constructor.\n *\n * @example\n * var chart = Highcharts.chart('container', { ... });\n *\n * @namespace Highcharts\n */\n H.timers = [];\n var charts = H.charts,\n doc = H.doc,\n win = H.win;\n /**\n * Provide error messages for debugging, with links to online explanation. This\n * function can be overridden to provide custom error handling.\n *\n * @sample highcharts/chart/highcharts-error/\n * Custom error handler\n *\n * @function Highcharts.error\n *\n * @param {number|string} code\n * The error code. See\n * [errors.xml](https://github.com/highcharts/highcharts/blob/master/errors/errors.xml)\n * for available codes. If it is a string, the error message is printed\n * directly in the console.\n *\n * @param {boolean} [stop=false]\n * Whether to throw an error or just log a warning in the console.\n *\n * @param {Highcharts.Chart} [chart]\n * Reference to the chart that causes the error. Used in 'debugger'\n * module to display errors directly on the chart.\n * Important note: This argument is undefined for errors that lack\n * access to the Chart instance.\n *\n * @param {Highcharts.Dictionary} [params]\n * Additional parameters for the generated message.\n *\n * @return {void}\n */\n function error(code, stop, chart, params) {\n var severity = stop ? 'Highcharts error' : 'Highcharts warning';\n if (code === 32) {\n code = severity + \": Deprecated member\";\n }\n var isCode = isNumber(code),\n message = isCode ?\n severity + \" #\" + code + \": www.highcharts.com/errors/\" + code + \"/\" :\n code.toString(),\n defaultHandler = function () {\n if (stop) {\n throw new Error(message);\n }\n // else ...\n if (win.console &&\n error.messages.indexOf(message) === -1 // prevent console flooting\n ) {\n console.log(message); // eslint-disable-line no-console\n }\n };\n if (typeof params !== 'undefined') {\n var additionalMessages_1 = '';\n if (isCode) {\n message += '?';\n }\n objectEach(params, function (value, key) {\n additionalMessages_1 += \"\\n - \" + key + \": \" + value;\n if (isCode) {\n message += encodeURI(key) + '=' + encodeURI(value);\n }\n });\n message += additionalMessages_1;\n }\n if (chart) {\n fireEvent(chart, 'displayError', { code: code, message: message, params: params }, defaultHandler);\n }\n else {\n defaultHandler();\n }\n error.messages.push(message);\n }\n (function (error) {\n error.messages = [];\n })(error || (error = {}));\n H.error = error;\n /* eslint-disable valid-jsdoc */\n /**\n * Utility function to deep merge two or more objects and return a third object.\n * If the first argument is true, the contents of the second object is copied\n * into the first object. The merge function can also be used with a single\n * object argument to create a deep copy of an object.\n *\n * @function Highcharts.merge\n *\n * @param {boolean} extend\n * Whether to extend the left-side object (a) or return a whole new\n * object.\n *\n * @param {T|undefined} a\n * The first object to extend. When only this is given, the function\n * returns a deep copy.\n *\n * @param {...Array} [n]\n * An object to merge into the previous one.\n *\n * @return {T}\n * The merged object. If the first argument is true, the return is the\n * same as the second argument.\n */ /**\n * Utility function to deep merge two or more objects and return a third object.\n * The merge function can also be used with a single object argument to create a\n * deep copy of an object.\n *\n * @function Highcharts.merge\n *\n * @param {T|undefined} a\n * The first object to extend. When only this is given, the function\n * returns a deep copy.\n *\n * @param {...Array} [n]\n * An object to merge into the previous one.\n *\n * @return {T}\n * The merged object. If the first argument is true, the return is the\n * same as the second argument.\n */\n function merge() {\n /* eslint-enable valid-jsdoc */\n var i,\n args = arguments,\n len,\n ret = {},\n doCopy = function (copy,\n original) {\n // An object is replacing a primitive\n if (typeof copy !== 'object') {\n copy = {};\n }\n objectEach(original, function (value, key) {\n // Copy the contents of objects, but not arrays or DOM nodes\n if (isObject(value, true) &&\n !isClass(value) &&\n !isDOMElement(value)) {\n copy[key] = doCopy(copy[key] || {}, value);\n // Primitives and arrays are copied over directly\n }\n else {\n copy[key] = original[key];\n }\n });\n return copy;\n };\n // If first argument is true, copy into the existing object. Used in\n // setOptions.\n if (args[0] === true) {\n ret = args[1];\n args = Array.prototype.slice.call(args, 2);\n }\n // For each argument, extend the return\n len = args.length;\n for (i = 0; i < len; i++) {\n ret = doCopy(ret, args[i]);\n }\n return ret;\n }\n H.merge = merge;\n /**\n * Constrain a value to within a lower and upper threshold.\n *\n * @private\n * @param {number} value The initial value\n * @param {number} min The lower threshold\n * @param {number} max The upper threshold\n * @return {number} Returns a number value within min and max.\n */\n function clamp(value, min, max) {\n return value > min ? value < max ? value : max : min;\n }\n /**\n * Shortcut for parseInt\n *\n * @private\n * @function Highcharts.pInt\n *\n * @param {*} s\n * any\n *\n * @param {number} [mag]\n * Magnitude\n *\n * @return {number}\n * number\n */\n var pInt = H.pInt = function pInt(s,\n mag) {\n return parseInt(s,\n mag || 10);\n };\n /**\n * Utility function to check for string type.\n *\n * @function Highcharts.isString\n *\n * @param {*} s\n * The item to check.\n *\n * @return {boolean}\n * True if the argument is a string.\n */\n var isString = H.isString = function isString(s) {\n return typeof s === 'string';\n };\n /**\n * Utility function to check if an item is an array.\n *\n * @function Highcharts.isArray\n *\n * @param {*} obj\n * The item to check.\n *\n * @return {boolean}\n * True if the argument is an array.\n */\n var isArray = H.isArray = function isArray(obj) {\n var str = Object.prototype.toString.call(obj);\n return str === '[object Array]' || str === '[object Array Iterator]';\n };\n /**\n * Utility function to check if an item is of type object.\n *\n * @function Highcharts.isObject\n *\n * @param {*} obj\n * The item to check.\n *\n * @param {boolean} [strict=false]\n * Also checks that the object is not an array.\n *\n * @return {boolean}\n * True if the argument is an object.\n */\n function isObject(obj, strict) {\n return (!!obj &&\n typeof obj === 'object' &&\n (!strict || !isArray(obj))); // eslint-disable-line @typescript-eslint/no-explicit-any\n }\n H.isObject = isObject;\n /**\n * Utility function to check if an Object is a HTML Element.\n *\n * @function Highcharts.isDOMElement\n *\n * @param {*} obj\n * The item to check.\n *\n * @return {boolean}\n * True if the argument is a HTML Element.\n */\n var isDOMElement = H.isDOMElement = function isDOMElement(obj) {\n return isObject(obj) && typeof obj.nodeType === 'number';\n };\n /**\n * Utility function to check if an Object is a class.\n *\n * @function Highcharts.isClass\n *\n * @param {object|undefined} obj\n * The item to check.\n *\n * @return {boolean}\n * True if the argument is a class.\n */\n var isClass = H.isClass = function isClass(obj) {\n var c = obj && obj.constructor;\n return !!(isObject(obj, true) &&\n !isDOMElement(obj) &&\n (c && c.name && c.name !== 'Object'));\n };\n /**\n * Utility function to check if an item is a number and it is finite (not NaN,\n * Infinity or -Infinity).\n *\n * @function Highcharts.isNumber\n *\n * @param {*} n\n * The item to check.\n *\n * @return {boolean}\n * True if the item is a finite number\n */\n var isNumber = H.isNumber = function isNumber(n) {\n return typeof n === 'number' && !isNaN(n) && n < Infinity && n > -Infinity;\n };\n /**\n * Remove the last occurence of an item from an array.\n *\n * @function Highcharts.erase\n *\n * @param {Array<*>} arr\n * The array.\n *\n * @param {*} item\n * The item to remove.\n *\n * @return {void}\n */\n var erase = H.erase = function erase(arr,\n item) {\n var i = arr.length;\n while (i--) {\n if (arr[i] === item) {\n arr.splice(i, 1);\n break;\n }\n }\n };\n /**\n * Check if an object is null or undefined.\n *\n * @function Highcharts.defined\n *\n * @param {*} obj\n * The object to check.\n *\n * @return {boolean}\n * False if the object is null or undefined, otherwise true.\n */\n var defined = H.defined = function defined(obj) {\n return typeof obj !== 'undefined' && obj !== null;\n };\n /**\n * Set or get an attribute or an object of attributes. To use as a setter, pass\n * a key and a value, or let the second argument be a collection of keys and\n * values. To use as a getter, pass only a string as the second argument.\n *\n * @function Highcharts.attr\n *\n * @param {Highcharts.HTMLDOMElement|Highcharts.SVGDOMElement} elem\n * The DOM element to receive the attribute(s).\n *\n * @param {string|Highcharts.HTMLAttributes|Highcharts.SVGAttributes} [prop]\n * The property or an object of key-value pairs.\n *\n * @param {number|string} [value]\n * The value if a single property is set.\n *\n * @return {string|null|undefined}\n * When used as a getter, return the value.\n */\n function attr(elem, prop, value) {\n var ret;\n // if the prop is a string\n if (isString(prop)) {\n // set the value\n if (defined(value)) {\n elem.setAttribute(prop, value);\n // get the value\n }\n else if (elem && elem.getAttribute) {\n ret = elem.getAttribute(prop);\n // IE7 and below cannot get class through getAttribute (#7850)\n if (!ret && prop === 'class') {\n ret = elem.getAttribute(prop + 'Name');\n }\n }\n // else if prop is defined, it is a hash of key/value pairs\n }\n else {\n objectEach(prop, function (val, key) {\n elem.setAttribute(key, val);\n });\n }\n return ret;\n }\n H.attr = attr;\n /**\n * Check if an element is an array, and if not, make it into an array.\n *\n * @function Highcharts.splat\n *\n * @param {*} obj\n * The object to splat.\n *\n * @return {Array}\n * The produced or original array.\n */\n var splat = H.splat = function splat(obj) {\n return isArray(obj) ? obj : [obj];\n };\n /**\n * Set a timeout if the delay is given, otherwise perform the function\n * synchronously.\n *\n * @function Highcharts.syncTimeout\n *\n * @param {Function} fn\n * The function callback.\n *\n * @param {number} delay\n * Delay in milliseconds.\n *\n * @param {*} [context]\n * An optional context to send to the function callback.\n *\n * @return {number}\n * An identifier for the timeout that can later be cleared with\n * Highcharts.clearTimeout. Returns -1 if there is no timeout.\n */\n var syncTimeout = H.syncTimeout = function syncTimeout(fn,\n delay,\n context) {\n if (delay > 0) {\n return setTimeout(fn,\n delay,\n context);\n }\n fn.call(0, context);\n return -1;\n };\n /**\n * Internal clear timeout. The function checks that the `id` was not removed\n * (e.g. by `chart.destroy()`). For the details see\n * [issue #7901](https://github.com/highcharts/highcharts/issues/7901).\n *\n * @function Highcharts.clearTimeout\n *\n * @param {number} id\n * Id of a timeout.\n *\n * @return {void}\n */\n var internalClearTimeout = H.clearTimeout = function (id) {\n if (defined(id)) {\n clearTimeout(id);\n }\n };\n /* eslint-disable valid-jsdoc */\n /**\n * Utility function to extend an object with the members of another.\n *\n * @function Highcharts.extend\n *\n * @param {T|undefined} a\n * The object to be extended.\n *\n * @param {object} b\n * The object to add to the first one.\n *\n * @return {T}\n * Object a, the original object.\n */\n var extend = H.extend = function extend(a,\n b) {\n /* eslint-enable valid-jsdoc */\n var n;\n if (!a) {\n a = {};\n }\n for (n in b) { // eslint-disable-line guard-for-in\n a[n] = b[n];\n }\n return a;\n };\n /* eslint-disable valid-jsdoc */\n /**\n * Return the first value that is not null or undefined.\n *\n * @function Highcharts.pick\n *\n * @param {...Array} items\n * Variable number of arguments to inspect.\n *\n * @return {T}\n * The value of the first argument that is not null or undefined.\n */\n function pick() {\n var args = arguments;\n var length = args.length;\n for (var i = 0; i < length; i++) {\n var arg = args[i];\n if (typeof arg !== 'undefined' && arg !== null) {\n return arg;\n }\n }\n }\n H.pick = pick;\n /**\n * Set CSS on a given element.\n *\n * @function Highcharts.css\n *\n * @param {Highcharts.HTMLDOMElement|Highcharts.SVGDOMElement} el\n * An HTML DOM element.\n *\n * @param {Highcharts.CSSObject} styles\n * Style object with camel case property names.\n *\n * @return {void}\n */\n var css = H.css = function css(el,\n styles) {\n if (H.isMS && !H.svg) { // #2686\n if (styles && typeof styles.opacity !== 'undefined') {\n styles.filter =\n 'alpha(opacity=' + (styles.opacity * 100) + ')';\n }\n }\n extend(el.style, styles);\n };\n /**\n * Utility function to create an HTML element with attributes and styles.\n *\n * @function Highcharts.createElement\n *\n * @param {string} tag\n * The HTML tag.\n *\n * @param {Highcharts.HTMLAttributes} [attribs]\n * Attributes as an object of key-value pairs.\n *\n * @param {Highcharts.CSSObject} [styles]\n * Styles as an object of key-value pairs.\n *\n * @param {Highcharts.HTMLDOMElement} [parent]\n * The parent HTML object.\n *\n * @param {boolean} [nopad=false]\n * If true, remove all padding, border and margin.\n *\n * @return {Highcharts.HTMLDOMElement}\n * The created DOM element.\n */\n var createElement = H.createElement = function createElement(tag,\n attribs,\n styles,\n parent,\n nopad) {\n var el = doc.createElement(tag);\n if (attribs) {\n extend(el, attribs);\n }\n if (nopad) {\n css(el, { padding: '0', border: 'none', margin: '0' });\n }\n if (styles) {\n css(el, styles);\n }\n if (parent) {\n parent.appendChild(el);\n }\n return el;\n };\n // eslint-disable-next-line valid-jsdoc\n /**\n * Extend a prototyped class by new members.\n *\n * @function Highcharts.extendClass\n *\n * @param {Highcharts.Class} parent\n * The parent prototype to inherit.\n *\n * @param {Highcharts.Dictionary<*>} members\n * A collection of prototype members to add or override compared to the\n * parent prototype.\n *\n * @return {Highcharts.Class}\n * A new prototype.\n */\n var extendClass = H.extendClass = function extendClass(parent,\n members) {\n var obj = (function () { });\n obj.prototype = new parent(); // eslint-disable-line new-cap\n extend(obj.prototype, members);\n return obj;\n };\n /**\n * Left-pad a string to a given length by adding a character repetetively.\n *\n * @function Highcharts.pad\n *\n * @param {number} number\n * The input string or number.\n *\n * @param {number} [length]\n * The desired string length.\n *\n * @param {string} [padder=0]\n * The character to pad with.\n *\n * @return {string}\n * The padded string.\n */\n var pad = H.pad = function pad(number, length, padder) {\n return new Array((length || 2) +\n 1 -\n String(number)\n .replace('-', '')\n .length).join(padder || '0') + number;\n };\n /**\n * Return a length based on either the integer value, or a percentage of a base.\n *\n * @function Highcharts.relativeLength\n *\n * @param {Highcharts.RelativeSize} value\n * A percentage string or a number.\n *\n * @param {number} base\n * The full length that represents 100%.\n *\n * @param {number} [offset=0]\n * A pixel offset to apply for percentage values. Used internally in\n * axis positioning.\n *\n * @return {number}\n * The computed length.\n */\n var relativeLength = H.relativeLength = function relativeLength(value,\n base,\n offset) {\n return (/%$/).test(value) ?\n (base * parseFloat(value) / 100) + (offset || 0) :\n parseFloat(value);\n };\n /**\n * Wrap a method with extended functionality, preserving the original function.\n *\n * @function Highcharts.wrap\n *\n * @param {*} obj\n * The context object that the method belongs to. In real cases, this is\n * often a prototype.\n *\n * @param {string} method\n * The name of the method to extend.\n *\n * @param {Highcharts.WrapProceedFunction} func\n * A wrapper function callback. This function is called with the same\n * arguments as the original function, except that the original function\n * is unshifted and passed as the first argument.\n */\n var wrap = H.wrap = function wrap(obj,\n method,\n func) {\n var proceed = obj[method];\n obj[method] = function () {\n var args = Array.prototype.slice.call(arguments),\n outerArgs = arguments,\n ctx = this,\n ret;\n ctx.proceed = function () {\n proceed.apply(ctx, arguments.length ? arguments : outerArgs);\n };\n args.unshift(proceed);\n ret = func.apply(this, args);\n ctx.proceed = null;\n return ret;\n };\n };\n /**\n * Format a string according to a subset of the rules of Python's String.format\n * method.\n *\n * @example\n * var s = Highcharts.format(\n * 'The {color} fox was {len:.2f} feet long',\n * { color: 'red', len: Math.PI }\n * );\n * // => The red fox was 3.14 feet long\n *\n * @function Highcharts.format\n *\n * @param {string} str\n * The string to format.\n *\n * @param {Record} ctx\n * The context, a collection of key-value pairs where each key is\n * replaced by its value.\n *\n * @param {Highcharts.Chart} [chart]\n * A `Chart` instance used to get numberFormatter and time.\n *\n * @return {string}\n * The formatted string.\n */\n var format = H.format = function (str,\n ctx,\n chart) {\n var splitter = '{',\n isInside = false,\n segment,\n valueAndFormat,\n ret = [],\n val,\n index;\n var floatRegex = /f$/;\n var decRegex = /\\.([0-9])/;\n var lang = H.defaultOptions.lang;\n var time = chart && chart.time || H.time;\n var numberFormatter = chart && chart.numberFormatter || numberFormat;\n while (str) {\n index = str.indexOf(splitter);\n if (index === -1) {\n break;\n }\n segment = str.slice(0, index);\n if (isInside) { // we're on the closing bracket looking back\n valueAndFormat = segment.split(':');\n val = getNestedProperty(valueAndFormat.shift() || '', ctx);\n // Format the replacement\n if (valueAndFormat.length && typeof val === 'number') {\n segment = valueAndFormat.join(':');\n if (floatRegex.test(segment)) { // float\n var decimals = parseInt((segment.match(decRegex) || ['', '-1'])[1], 10);\n if (val !== null) {\n val = numberFormatter(val, decimals, lang.decimalPoint, segment.indexOf(',') > -1 ? lang.thousandsSep : '');\n }\n }\n else {\n val = time.dateFormat(segment, val);\n }\n }\n // Push the result and advance the cursor\n ret.push(val);\n }\n else {\n ret.push(segment);\n }\n str = str.slice(index + 1); // the rest\n isInside = !isInside; // toggle\n splitter = isInside ? '}' : '{'; // now look for next matching bracket\n }\n ret.push(str);\n return ret.join('');\n };\n /**\n * Get the magnitude of a number.\n *\n * @function Highcharts.getMagnitude\n *\n * @param {number} num\n * The number.\n *\n * @return {number}\n * The magnitude, where 1-9 are magnitude 1, 10-99 magnitude 2 etc.\n */\n var getMagnitude = H.getMagnitude = function (num) {\n return Math.pow(10,\n Math.floor(Math.log(num) / Math.LN10));\n };\n /**\n * Take an interval and normalize it to multiples of round numbers.\n *\n * @deprecated\n * @function Highcharts.normalizeTickInterval\n *\n * @param {number} interval\n * The raw, un-rounded interval.\n *\n * @param {Array<*>} [multiples]\n * Allowed multiples.\n *\n * @param {number} [magnitude]\n * The magnitude of the number.\n *\n * @param {boolean} [allowDecimals]\n * Whether to allow decimals.\n *\n * @param {boolean} [hasTickAmount]\n * If it has tickAmount, avoid landing on tick intervals lower than\n * original.\n *\n * @return {number}\n * The normalized interval.\n *\n * @todo\n * Move this function to the Axis prototype. It is here only for historical\n * reasons.\n */\n var normalizeTickInterval = H.normalizeTickInterval = function (interval,\n multiples,\n magnitude,\n allowDecimals,\n hasTickAmount) {\n var normalized,\n i,\n retInterval = interval;\n // round to a tenfold of 1, 2, 2.5 or 5\n magnitude = pick(magnitude, 1);\n normalized = interval / magnitude;\n // multiples for a linear scale\n if (!multiples) {\n multiples = hasTickAmount ?\n // Finer grained ticks when the tick amount is hard set, including\n // when alignTicks is true on multiple axes (#4580).\n [1, 1.2, 1.5, 2, 2.5, 3, 4, 5, 6, 8, 10] :\n // Else, let ticks fall on rounder numbers\n [1, 2, 2.5, 5, 10];\n // the allowDecimals option\n if (allowDecimals === false) {\n if (magnitude === 1) {\n multiples = multiples.filter(function (num) {\n return num % 1 === 0;\n });\n }\n else if (magnitude <= 0.1) {\n multiples = [1 / magnitude];\n }\n }\n }\n // normalize the interval to the nearest multiple\n for (i = 0; i < multiples.length; i++) {\n retInterval = multiples[i];\n // only allow tick amounts smaller than natural\n if ((hasTickAmount &&\n retInterval * magnitude >= interval) ||\n (!hasTickAmount &&\n (normalized <=\n (multiples[i] +\n (multiples[i + 1] || multiples[i])) / 2))) {\n break;\n }\n }\n // Multiply back to the correct magnitude. Correct floats to appropriate\n // precision (#6085).\n retInterval = correctFloat(retInterval * magnitude, -Math.round(Math.log(0.001) / Math.LN10));\n return retInterval;\n };\n /**\n * Sort an object array and keep the order of equal items. The ECMAScript\n * standard does not specify the behaviour when items are equal.\n *\n * @function Highcharts.stableSort\n *\n * @param {Array<*>} arr\n * The array to sort.\n *\n * @param {Function} sortFunction\n * The function to sort it with, like with regular Array.prototype.sort.\n *\n * @return {void}\n */\n var stableSort = H.stableSort = function stableSort(arr,\n sortFunction) {\n // @todo It seems like Chrome since v70 sorts in a stable way internally,\n // plus all other browsers do it, so over time we may be able to remove this\n // function\n var length = arr.length,\n sortValue,\n i;\n // Add index to each item\n for (i = 0; i < length; i++) {\n arr[i].safeI = i; // stable sort index\n }\n arr.sort(function (a, b) {\n sortValue = sortFunction(a, b);\n return sortValue === 0 ? a.safeI - b.safeI : sortValue;\n });\n // Remove index from items\n for (i = 0; i < length; i++) {\n delete arr[i].safeI; // stable sort index\n }\n };\n /**\n * Non-recursive method to find the lowest member of an array. `Math.min` raises\n * a maximum call stack size exceeded error in Chrome when trying to apply more\n * than 150.000 points. This method is slightly slower, but safe.\n *\n * @function Highcharts.arrayMin\n *\n * @param {Array<*>} data\n * An array of numbers.\n *\n * @return {number}\n * The lowest number.\n */\n var arrayMin = H.arrayMin = function arrayMin(data) {\n var i = data.length,\n min = data[0];\n while (i--) {\n if (data[i] < min) {\n min = data[i];\n }\n }\n return min;\n };\n /**\n * Non-recursive method to find the lowest member of an array. `Math.max` raises\n * a maximum call stack size exceeded error in Chrome when trying to apply more\n * than 150.000 points. This method is slightly slower, but safe.\n *\n * @function Highcharts.arrayMax\n *\n * @param {Array<*>} data\n * An array of numbers.\n *\n * @return {number}\n * The highest number.\n */\n var arrayMax = H.arrayMax = function arrayMax(data) {\n var i = data.length,\n max = data[0];\n while (i--) {\n if (data[i] > max) {\n max = data[i];\n }\n }\n return max;\n };\n /**\n * Utility method that destroys any SVGElement instances that are properties on\n * the given object. It loops all properties and invokes destroy if there is a\n * destroy method. The property is then delete.\n *\n * @function Highcharts.destroyObjectProperties\n *\n * @param {*} obj\n * The object to destroy properties on.\n *\n * @param {*} [except]\n * Exception, do not destroy this property, only delete it.\n */\n var destroyObjectProperties = H.destroyObjectProperties =\n function destroyObjectProperties(obj,\n except) {\n objectEach(obj,\n function (val,\n n) {\n // If the object is non-null and destroy is defined\n if (val && val !== except && val.destroy) {\n // Invoke the destroy\n val.destroy();\n }\n // Delete the property from the object.\n delete obj[n];\n });\n };\n /**\n * Discard a HTML element by moving it to the bin and delete.\n *\n * @function Highcharts.discardElement\n *\n * @param {Highcharts.HTMLDOMElement} element\n * The HTML node to discard.\n */\n var discardElement = H.discardElement = function discardElement(element) {\n var garbageBin = H.garbageBin;\n // create a garbage bin element, not part of the DOM\n if (!garbageBin) {\n garbageBin = createElement('div');\n }\n // move the node and empty bin\n if (element) {\n garbageBin.appendChild(element);\n }\n garbageBin.innerHTML = '';\n };\n /**\n * Fix JS round off float errors.\n *\n * @function Highcharts.correctFloat\n *\n * @param {number} num\n * A float number to fix.\n *\n * @param {number} [prec=14]\n * The precision.\n *\n * @return {number}\n * The corrected float number.\n */\n var correctFloat = H.correctFloat = function correctFloat(num,\n prec) {\n return parseFloat(num.toPrecision(prec || 14));\n };\n /**\n * The time unit lookup\n *\n * @ignore\n */\n var timeUnits = H.timeUnits = {\n millisecond: 1,\n second: 1000,\n minute: 60000,\n hour: 3600000,\n day: 24 * 3600000,\n week: 7 * 24 * 3600000,\n month: 28 * 24 * 3600000,\n year: 364 * 24 * 3600000\n };\n /**\n * Format a number and return a string based on input settings.\n *\n * @sample highcharts/members/highcharts-numberformat/\n * Custom number format\n *\n * @function Highcharts.numberFormat\n *\n * @param {number} number\n * The input number to format.\n *\n * @param {number} decimals\n * The amount of decimals. A value of -1 preserves the amount in the\n * input number.\n *\n * @param {string} [decimalPoint]\n * The decimal point, defaults to the one given in the lang options, or\n * a dot.\n *\n * @param {string} [thousandsSep]\n * The thousands separator, defaults to the one given in the lang\n * options, or a space character.\n *\n * @return {string}\n * The formatted number.\n */\n var numberFormat = H.numberFormat = function numberFormat(number,\n decimals,\n decimalPoint,\n thousandsSep) {\n number = +number || 0;\n decimals = +decimals;\n var lang = H.defaultOptions.lang, origDec = (number.toString().split('.')[1] || '').split('e')[0].length, strinteger, thousands, ret, roundedNumber, exponent = number.toString().split('e'), fractionDigits;\n if (decimals === -1) {\n // Preserve decimals. Not huge numbers (#3793).\n decimals = Math.min(origDec, 20);\n }\n else if (!isNumber(decimals)) {\n decimals = 2;\n }\n else if (decimals && exponent[1] && exponent[1] < 0) {\n // Expose decimals from exponential notation (#7042)\n fractionDigits = decimals + +exponent[1];\n if (fractionDigits >= 0) {\n // remove too small part of the number while keeping the notation\n exponent[0] = (+exponent[0]).toExponential(fractionDigits)\n .split('e')[0];\n decimals = fractionDigits;\n }\n else {\n // fractionDigits < 0\n exponent[0] = exponent[0].split('.')[0] || 0;\n if (decimals < 20) {\n // use number instead of exponential notation (#7405)\n number = (exponent[0] * Math.pow(10, exponent[1]))\n .toFixed(decimals);\n }\n else {\n // or zero\n number = 0;\n }\n exponent[1] = 0;\n }\n }\n // Add another decimal to avoid rounding errors of float numbers. (#4573)\n // Then use toFixed to handle rounding.\n roundedNumber = (Math.abs(exponent[1] ? exponent[0] : number) +\n Math.pow(10, -Math.max(decimals, origDec) - 1)).toFixed(decimals);\n // A string containing the positive integer component of the number\n strinteger = String(pInt(roundedNumber));\n // Leftover after grouping into thousands. Can be 0, 1 or 2.\n thousands = strinteger.length > 3 ? strinteger.length % 3 : 0;\n // Language\n decimalPoint = pick(decimalPoint, lang.decimalPoint);\n thousandsSep = pick(thousandsSep, lang.thousandsSep);\n // Start building the return\n ret = number < 0 ? '-' : '';\n // Add the leftover after grouping into thousands. For example, in the\n // number 42 000 000, this line adds 42.\n ret += thousands ? strinteger.substr(0, thousands) + thousandsSep : '';\n // Add the remaining thousands groups, joined by the thousands separator\n ret += strinteger\n .substr(thousands)\n .replace(/(\\d{3})(?=\\d)/g, '$1' + thousandsSep);\n // Add the decimal point and the decimal component\n if (decimals) {\n // Get the decimal component\n ret += decimalPoint + roundedNumber.slice(-decimals);\n }\n if (exponent[1] && +ret !== 0) {\n ret += 'e' + exponent[1];\n }\n return ret;\n };\n /**\n * Easing definition\n *\n * @private\n * @function Math.easeInOutSine\n *\n * @param {number} pos\n * Current position, ranging from 0 to 1.\n *\n * @return {number}\n * Ease result\n */\n Math.easeInOutSine = function (pos) {\n return -0.5 * (Math.cos(Math.PI * pos) - 1);\n };\n /**\n * Returns the value of a property path on a given object.\n *\n * @private\n * @function getNestedProperty\n *\n * @param {string} path\n * Path to the property, for example `custom.myValue`.\n *\n * @param {unknown} obj\n * Instance containing the property on the specific path.\n *\n * @return {unknown}\n * The unknown property value.\n */\n function getNestedProperty(path, obj) {\n if (!path) {\n return obj;\n }\n var pathElements = path.split('.').reverse();\n var subProperty = obj;\n if (pathElements.length === 1) {\n return subProperty[path];\n }\n var pathElement = pathElements.pop();\n while (typeof pathElement !== 'undefined' &&\n typeof subProperty !== 'undefined' &&\n subProperty !== null) {\n subProperty = subProperty[pathElement];\n pathElement = pathElements.pop();\n }\n return subProperty;\n }\n /**\n * Get the computed CSS value for given element and property, only for numerical\n * properties. For width and height, the dimension of the inner box (excluding\n * padding) is returned. Used for fitting the chart within the container.\n *\n * @function Highcharts.getStyle\n *\n * @param {Highcharts.HTMLDOMElement} el\n * An HTML element.\n *\n * @param {string} prop\n * The property name.\n *\n * @param {boolean} [toInt=true]\n * Parse to integer.\n *\n * @return {number|string}\n * The numeric value.\n */\n var getStyle = H.getStyle = function (el,\n prop,\n toInt) {\n var style;\n // For width and height, return the actual inner pixel size (#4913)\n if (prop === 'width') {\n var offsetWidth = Math.min(el.offsetWidth,\n el.scrollWidth);\n // In flex boxes, we need to use getBoundingClientRect and floor it,\n // because scrollWidth doesn't support subpixel precision (#6427) ...\n var boundingClientRectWidth = el.getBoundingClientRect &&\n el.getBoundingClientRect().width;\n // ...unless if the containing div or its parents are transform-scaled\n // down, in which case the boundingClientRect can't be used as it is\n // also scaled down (#9871, #10498).\n if (boundingClientRectWidth < offsetWidth &&\n boundingClientRectWidth >= offsetWidth - 1) {\n offsetWidth = Math.floor(boundingClientRectWidth);\n }\n return Math.max(0, // #8377\n (offsetWidth -\n H.getStyle(el, 'padding-left') -\n H.getStyle(el, 'padding-right')));\n }\n if (prop === 'height') {\n return Math.max(0, // #8377\n Math.min(el.offsetHeight, el.scrollHeight) -\n H.getStyle(el, 'padding-top') -\n H.getStyle(el, 'padding-bottom'));\n }\n if (!win.getComputedStyle) {\n // SVG not supported, forgot to load oldie.js?\n error(27, true);\n }\n // Otherwise, get the computed style\n style = win.getComputedStyle(el, undefined); // eslint-disable-line no-undefined\n if (style) {\n style = style.getPropertyValue(prop);\n if (pick(toInt, prop !== 'opacity')) {\n style = pInt(style);\n }\n }\n return style;\n };\n /**\n * Search for an item in an array.\n *\n * @function Highcharts.inArray\n *\n * @deprecated\n *\n * @param {*} item\n * The item to search for.\n *\n * @param {Array<*>} arr\n * The array or node collection to search in.\n *\n * @param {number} [fromIndex=0]\n * The index to start searching from.\n *\n * @return {number}\n * The index within the array, or -1 if not found.\n */\n var inArray = H.inArray = function (item,\n arr,\n fromIndex) {\n error(32,\n false,\n void 0, { 'Highcharts.inArray': 'use Array.indexOf' });\n return arr.indexOf(item, fromIndex);\n };\n /* eslint-disable valid-jsdoc */\n /**\n * Return the value of the first element in the array that satisfies the\n * provided testing function.\n *\n * @function Highcharts.find\n *\n * @param {Array} arr\n * The array to test.\n *\n * @param {Function} callback\n * The callback function. The function receives the item as the first\n * argument. Return `true` if this item satisfies the condition.\n *\n * @return {T|undefined}\n * The value of the element.\n */\n var find = H.find = Array.prototype.find ?\n /* eslint-enable valid-jsdoc */\n function (arr,\n callback) {\n return arr.find(callback);\n } :\n // Legacy implementation. PhantomJS, IE <= 11 etc. #7223.\n function (arr, callback) {\n var i,\n length = arr.length;\n for (i = 0; i < length; i++) {\n if (callback(arr[i], i)) { // eslint-disable-line callback-return\n return arr[i];\n }\n }\n };\n /**\n * Returns an array of a given object's own properties.\n *\n * @function Highcharts.keys\n * @deprecated\n *\n * @param {*} obj\n * The object of which the properties are to be returned.\n *\n * @return {Array}\n * An array of strings that represents all the properties.\n */\n H.keys = function (obj) {\n error(32, false, void 0, { 'Highcharts.keys': 'use Object.keys' });\n return Object.keys(obj);\n };\n /**\n * Get the element's offset position, corrected for `overflow: auto`.\n *\n * @function Highcharts.offset\n *\n * @param {global.Element} el\n * The DOM element.\n *\n * @return {Highcharts.OffsetObject}\n * An object containing `left` and `top` properties for the position in\n * the page.\n */\n var offset = H.offset = function offset(el) {\n var docElem = doc.documentElement,\n box = (el.parentElement || el.parentNode) ?\n el.getBoundingClientRect() :\n { top: 0,\n left: 0 };\n return {\n top: box.top + (win.pageYOffset || docElem.scrollTop) -\n (docElem.clientTop || 0),\n left: box.left + (win.pageXOffset || docElem.scrollLeft) -\n (docElem.clientLeft || 0)\n };\n };\n /* eslint-disable valid-jsdoc */\n /**\n * Iterate over object key pairs in an object.\n *\n * @function Highcharts.objectEach\n *\n * @param {*} obj\n * The object to iterate over.\n *\n * @param {Highcharts.ObjectEachCallbackFunction} fn\n * The iterator callback. It passes three arguments:\n * * value - The property value.\n * * key - The property key.\n * * obj - The object that objectEach is being applied to.\n *\n * @param {T} [ctx]\n * The context.\n *\n * @return {void}\n */\n var objectEach = H.objectEach = function objectEach(obj,\n fn,\n ctx) {\n /* eslint-enable valid-jsdoc */\n for (var key in obj) {\n if (Object.hasOwnProperty.call(obj,\n key)) {\n fn.call(ctx || obj[key],\n obj[key],\n key,\n obj);\n }\n }\n };\n /**\n * Iterate over an array.\n *\n * @deprecated\n * @function Highcharts.each\n *\n * @param {Array<*>} arr\n * The array to iterate over.\n *\n * @param {Function} fn\n * The iterator callback. It passes three arguments:\n * - `item`: The array item.\n * - `index`: The item's index in the array.\n * - `arr`: The array that each is being applied to.\n *\n * @param {*} [ctx]\n * The context.\n *\n * @return {void}\n */\n /**\n * Filter an array by a callback.\n *\n * @deprecated\n * @function Highcharts.grep\n *\n * @param {Array<*>} arr\n * The array to filter.\n *\n * @param {Function} callback\n * The callback function. The function receives the item as the first\n * argument. Return `true` if the item is to be preserved.\n *\n * @return {Array<*>}\n * A new, filtered array.\n */\n /**\n * Map an array by a callback.\n *\n * @deprecated\n * @function Highcharts.map\n *\n * @param {Array<*>} arr\n * The array to map.\n *\n * @param {Function} fn\n * The callback function. Return the new value for the new array.\n *\n * @return {Array<*>}\n * A new array item with modified items.\n */\n /**\n * Reduce an array to a single value.\n *\n * @deprecated\n * @function Highcharts.reduce\n *\n * @param {Array<*>} arr\n * The array to reduce.\n *\n * @param {Function} fn\n * The callback function. Return the reduced value. Receives 4\n * arguments: Accumulated/reduced value, current value, current array\n * index, and the array.\n *\n * @param {*} initialValue\n * The initial value of the accumulator.\n *\n * @return {*}\n * The reduced value.\n */\n /**\n * Test whether at least one element in the array passes the test implemented by\n * the provided function.\n *\n * @deprecated\n * @function Highcharts.some\n *\n * @param {Array<*>} arr\n * The array to test\n *\n * @param {Function} fn\n * The function to run on each item. Return truty to pass the test.\n * Receives arguments `currentValue`, `index` and `array`.\n *\n * @param {*} ctx\n * The context.\n *\n * @return {boolean}\n */\n objectEach({\n map: 'map',\n each: 'forEach',\n grep: 'filter',\n reduce: 'reduce',\n some: 'some'\n }, function (val, key) {\n H[key] = function (arr) {\n var _a;\n error(32, false, void 0, (_a = {}, _a[\"Highcharts.\" + key] = \"use Array.\" + val, _a));\n return Array.prototype[val].apply(arr, [].slice.call(arguments, 1));\n };\n });\n /* eslint-disable valid-jsdoc */\n /**\n * Add an event listener.\n *\n * @function Highcharts.addEvent\n *\n * @param {Highcharts.Class|T} el\n * The element or object to add a listener to. It can be a\n * {@link HTMLDOMElement}, an {@link SVGElement} or any other object.\n *\n * @param {string} type\n * The event type.\n *\n * @param {Highcharts.EventCallbackFunction|Function} fn\n * The function callback to execute when the event is fired.\n *\n * @param {Highcharts.EventOptionsObject} [options]\n * Options for adding the event.\n *\n * @return {Function}\n * A callback function to remove the added event.\n */\n var addEvent = H.addEvent = function (el,\n type,\n fn,\n options) {\n if (options === void 0) { options = {}; }\n /* eslint-enable valid-jsdoc */\n var events,\n addEventListener = (el.addEventListener || H.addEventListenerPolyfill);\n // If we're setting events directly on the constructor, use a separate\n // collection, `protoEvents` to distinguish it from the item events in\n // `hcEvents`.\n if (typeof el === 'function' && el.prototype) {\n events = el.prototype.protoEvents = el.prototype.protoEvents || {};\n }\n else {\n events = el.hcEvents = el.hcEvents || {};\n }\n // Allow click events added to points, otherwise they will be prevented by\n // the TouchPointer.pinch function after a pinch zoom operation (#7091).\n if (H.Point &&\n el instanceof H.Point &&\n el.series &&\n el.series.chart) {\n el.series.chart.runTrackerClick = true;\n }\n // Handle DOM events\n if (addEventListener) {\n addEventListener.call(el, type, fn, false);\n }\n if (!events[type]) {\n events[type] = [];\n }\n var eventObject = {\n fn: fn,\n order: typeof options.order === 'number' ? options.order : Infinity\n };\n events[type].push(eventObject);\n // Order the calls\n events[type].sort(function (a, b) {\n return a.order - b.order;\n });\n // Return a function that can be called to remove this event.\n return function () {\n removeEvent(el, type, fn);\n };\n };\n /* eslint-disable valid-jsdoc */\n /**\n * Remove an event that was added with {@link Highcharts#addEvent}.\n *\n * @function Highcharts.removeEvent\n *\n * @param {Highcharts.Class|T} el\n * The element to remove events on.\n *\n * @param {string} [type]\n * The type of events to remove. If undefined, all events are removed\n * from the element.\n *\n * @param {Highcharts.EventCallbackFunction} [fn]\n * The specific callback to remove. If undefined, all events that match\n * the element and optionally the type are removed.\n *\n * @return {void}\n */\n var removeEvent = H.removeEvent = function removeEvent(el,\n type,\n fn) {\n /* eslint-enable valid-jsdoc */\n var events;\n /**\n * @private\n * @param {string} type - event type\n * @param {Highcharts.EventCallbackFunction} fn - callback\n * @return {void}\n */\n function removeOneEvent(type, fn) {\n var removeEventListener = (el.removeEventListener || H.removeEventListenerPolyfill);\n if (removeEventListener) {\n removeEventListener.call(el, type, fn, false);\n }\n }\n /**\n * @private\n * @param {any} eventCollection - collection\n * @return {void}\n */\n function removeAllEvents(eventCollection) {\n var types,\n len;\n if (!el.nodeName) {\n return; // break on non-DOM events\n }\n if (type) {\n types = {};\n types[type] = true;\n }\n else {\n types = eventCollection;\n }\n objectEach(types, function (_val, n) {\n if (eventCollection[n]) {\n len = eventCollection[n].length;\n while (len--) {\n removeOneEvent(n, eventCollection[n][len].fn);\n }\n }\n });\n }\n ['protoEvents', 'hcEvents'].forEach(function (coll, i) {\n var eventElem = i ? el : el.prototype;\n var eventCollection = eventElem && eventElem[coll];\n if (eventCollection) {\n if (type) {\n events = (eventCollection[type] || []);\n if (fn) {\n eventCollection[type] = events.filter(function (obj) {\n return fn !== obj.fn;\n });\n removeOneEvent(type, fn);\n }\n else {\n removeAllEvents(eventCollection);\n eventCollection[type] = [];\n }\n }\n else {\n removeAllEvents(eventCollection);\n eventElem[coll] = {};\n }\n }\n });\n };\n /* eslint-disable valid-jsdoc */\n /**\n * Fire an event that was registered with {@link Highcharts#addEvent}.\n *\n * @function Highcharts.fireEvent\n *\n * @param {T} el\n * The object to fire the event on. It can be a {@link HTMLDOMElement},\n * an {@link SVGElement} or any other object.\n *\n * @param {string} type\n * The type of event.\n *\n * @param {Highcharts.Dictionary<*>|Event} [eventArguments]\n * Custom event arguments that are passed on as an argument to the event\n * handler.\n *\n * @param {Highcharts.EventCallbackFunction|Function} [defaultFunction]\n * The default function to execute if the other listeners haven't\n * returned false.\n *\n * @return {void}\n */\n var fireEvent = H.fireEvent = function (el,\n type,\n eventArguments,\n defaultFunction) {\n /* eslint-enable valid-jsdoc */\n var e,\n i;\n eventArguments = eventArguments || {};\n if (doc.createEvent &&\n (el.dispatchEvent || el.fireEvent)) {\n e = doc.createEvent('Events');\n e.initEvent(type, true, true);\n extend(e, eventArguments);\n if (el.dispatchEvent) {\n el.dispatchEvent(e);\n }\n else {\n el.fireEvent(type, e);\n }\n }\n else {\n if (!eventArguments.target) {\n // We're running a custom event\n extend(eventArguments, {\n // Attach a simple preventDefault function to skip\n // default handler if called. The built-in\n // defaultPrevented property is not overwritable (#5112)\n preventDefault: function () {\n eventArguments.defaultPrevented = true;\n },\n // Setting target to native events fails with clicking\n // the zoom-out button in Chrome.\n target: el,\n // If the type is not set, we're running a custom event\n // (#2297). If it is set, we're running a browser event,\n // and setting it will cause en error in IE8 (#2465).\n type: type\n });\n }\n var fireInOrder = function (protoEvents,\n hcEvents) {\n if (protoEvents === void 0) { protoEvents = []; }\n if (hcEvents === void 0) { hcEvents = []; }\n var iA = 0;\n var iB = 0;\n var length = protoEvents.length + hcEvents.length;\n for (i = 0; i < length; i++) {\n var obj = (!protoEvents[iA] ?\n hcEvents[iB++] :\n !hcEvents[iB] ?\n protoEvents[iA++] :\n protoEvents[iA].order <= hcEvents[iB].order ?\n protoEvents[iA++] :\n hcEvents[iB++]);\n // If the event handler return false, prevent the default\n // handler from executing\n if (obj.fn.call(el, eventArguments) === false) {\n eventArguments.preventDefault();\n }\n }\n };\n fireInOrder(el.protoEvents && el.protoEvents[type], el.hcEvents && el.hcEvents[type]);\n }\n // Run the default if not prevented\n if (defaultFunction && !eventArguments.defaultPrevented) {\n defaultFunction.call(el, eventArguments);\n }\n };\n var serialMode;\n /**\n * Get a unique key for using in internal element id's and pointers. The key is\n * composed of a random hash specific to this Highcharts instance, and a\n * counter.\n *\n * @example\n * var id = uniqueKey(); // => 'highcharts-x45f6hp-0'\n *\n * @function Highcharts.uniqueKey\n *\n * @return {string}\n * A unique key.\n */\n var uniqueKey = H.uniqueKey = (function () {\n var hash = Math.random().toString(36).substring(2, 9) + '-';\n var id = 0;\n return function () {\n return 'highcharts-' + (serialMode ? '' : hash) + id++;\n };\n }());\n /**\n * Activates a serial mode for element IDs provided by\n * {@link Highcharts.uniqueKey}. This mode can be used in automated tests, where\n * a simple comparison of two rendered SVG graphics is needed.\n *\n * **Note:** This is only for testing purposes and will break functionality in\n * webpages with multiple charts.\n *\n * @example\n * if (\n * process &&\n * process.env.NODE_ENV === 'development'\n * ) {\n * Highcharts.useSerialIds(true);\n * }\n *\n * @function Highcharts.useSerialIds\n *\n * @param {boolean} [mode]\n * Changes the state of serial mode.\n *\n * @return {boolean|undefined}\n * State of the serial mode.\n */\n var useSerialIds = H.useSerialIds = function (mode) {\n return (serialMode = pick(mode,\n serialMode));\n };\n var isFunction = H.isFunction = function (obj) {\n return typeof obj === 'function';\n };\n /**\n * Get the updated default options. Until 3.0.7, merely exposing defaultOptions\n * for outside modules wasn't enough because the setOptions method created a new\n * object.\n *\n * @function Highcharts.getOptions\n *\n * @return {Highcharts.Options}\n */\n var getOptions = H.getOptions = function () {\n return H.defaultOptions;\n };\n /**\n * Merge the default options with custom options and return the new options\n * structure. Commonly used for defining reusable templates.\n *\n * @sample highcharts/global/useutc-false Setting a global option\n * @sample highcharts/members/setoptions Applying a global theme\n *\n * @function Highcharts.setOptions\n *\n * @param {Highcharts.Options} options\n * The new custom chart options.\n *\n * @return {Highcharts.Options}\n * Updated options.\n */\n var setOptions = H.setOptions = function (options) {\n // Copy in the default options\n H.defaultOptions = merge(true,\n H.defaultOptions,\n options);\n // Update the time object\n if (options.time || options.global) {\n H.time.update(merge(H.defaultOptions.global, H.defaultOptions.time, options.global, options.time));\n }\n return H.defaultOptions;\n };\n // Register Highcharts as a plugin in jQuery\n if (win.jQuery) {\n /**\n * Highcharts-extended JQuery.\n *\n * @external JQuery\n */\n /**\n * Helper function to return the chart of the current JQuery selector\n * element.\n *\n * @function external:JQuery#highcharts\n *\n * @return {Highcharts.Chart}\n * The chart that is linked to the JQuery selector element.\n */ /**\n * Factory function to create a chart in the current JQuery selector\n * element.\n *\n * @function external:JQuery#highcharts\n *\n * @param {'Chart'|'Map'|'StockChart'|string} [className]\n * Name of the factory class in the Highcharts namespace.\n *\n * @param {Highcharts.Options} [options]\n * The chart options structure.\n *\n * @param {Highcharts.ChartCallbackFunction} [callback]\n * Function to run when the chart has loaded and and all external\n * images are loaded. Defining a\n * [chart.events.load](https://api.highcharts.com/highcharts/chart.events.load)\n * handler is equivalent.\n *\n * @return {JQuery}\n * The current JQuery selector.\n */\n win.jQuery.fn.highcharts = function () {\n var args = [].slice.call(arguments);\n if (this[0]) { // this[0] is the renderTo div\n // Create the chart\n if (args[0]) {\n new H[ // eslint-disable-line computed-property-spacing, no-new\n // Constructor defaults to Chart\n isString(args[0]) ? args.shift() : 'Chart'](this[0], args[0], args[1]);\n return this;\n }\n // When called without parameters or with the return argument,\n // return an existing chart\n return charts[attr(this[0], 'data-highcharts-chart')];\n }\n };\n }\n // TODO use named exports when supported.\n var utilitiesModule = {\n addEvent: addEvent,\n arrayMax: arrayMax,\n arrayMin: arrayMin,\n attr: attr,\n clamp: clamp,\n clearTimeout: internalClearTimeout,\n correctFloat: correctFloat,\n createElement: createElement,\n css: css,\n defined: defined,\n destroyObjectProperties: destroyObjectProperties,\n discardElement: discardElement,\n erase: erase,\n error: error,\n extend: extend,\n extendClass: extendClass,\n find: find,\n fireEvent: fireEvent,\n format: format,\n getMagnitude: getMagnitude,\n getNestedProperty: getNestedProperty,\n getOptions: getOptions,\n getStyle: getStyle,\n inArray: inArray,\n isArray: isArray,\n isClass: isClass,\n isDOMElement: isDOMElement,\n isFunction: isFunction,\n isNumber: isNumber,\n isObject: isObject,\n isString: isString,\n merge: merge,\n normalizeTickInterval: normalizeTickInterval,\n numberFormat: numberFormat,\n objectEach: objectEach,\n offset: offset,\n pad: pad,\n pick: pick,\n pInt: pInt,\n relativeLength: relativeLength,\n removeEvent: removeEvent,\n setOptions: setOptions,\n splat: splat,\n stableSort: stableSort,\n syncTimeout: syncTimeout,\n timeUnits: timeUnits,\n uniqueKey: uniqueKey,\n useSerialIds: useSerialIds,\n wrap: wrap\n };\n\n return utilitiesModule;\n });\n _registerModule(_modules, 'Core/Color/Color.js', [_modules['Core/Globals.js'], _modules['Core/Utilities.js']], function (H, U) {\n /* *\n *\n * (c) 2010-2020 Torstein Honsi\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n var isNumber = U.isNumber,\n merge = U.merge,\n pInt = U.pInt;\n /**\n * A valid color to be parsed and handled by Highcharts. Highcharts internally\n * supports hex colors like `#ffffff`, rgb colors like `rgb(255,255,255)` and\n * rgba colors like `rgba(255,255,255,1)`. Other colors may be supported by the\n * browsers and displayed correctly, but Highcharts is not able to process them\n * and apply concepts like opacity and brightening.\n *\n * @typedef {string} Highcharts.ColorString\n */\n /**\n * A valid color type than can be parsed and handled by Highcharts. It can be a\n * color string, a gradient object, or a pattern object.\n *\n * @typedef {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject} Highcharts.ColorType\n */\n /**\n * Gradient options instead of a solid color.\n *\n * @example\n * // Linear gradient used as a color option\n * color: {\n * linearGradient: { x1: 0, x2: 0, y1: 0, y2: 1 },\n * stops: [\n * [0, '#003399'], // start\n * [0.5, '#ffffff'], // middle\n * [1, '#3366AA'] // end\n * ]\n * }\n *\n * @interface Highcharts.GradientColorObject\n */ /**\n * Holds an object that defines the start position and the end position relative\n * to the shape.\n * @name Highcharts.GradientColorObject#linearGradient\n * @type {Highcharts.LinearGradientColorObject|undefined}\n */ /**\n * Holds an object that defines the center position and the radius.\n * @name Highcharts.GradientColorObject#radialGradient\n * @type {Highcharts.RadialGradientColorObject|undefined}\n */ /**\n * The first item in each tuple is the position in the gradient, where 0 is the\n * start of the gradient and 1 is the end of the gradient. Multiple stops can be\n * applied. The second item is the color for each stop. This color can also be\n * given in the rgba format.\n * @name Highcharts.GradientColorObject#stops\n * @type {Array}\n */\n /**\n * Color stop tuple.\n *\n * @see Highcharts.GradientColorObject\n *\n * @interface Highcharts.GradientColorStopObject\n */ /**\n * @name Highcharts.GradientColorStopObject#0\n * @type {number}\n */ /**\n * @name Highcharts.GradientColorStopObject#1\n * @type {Highcharts.ColorString}\n */ /**\n * @name Highcharts.GradientColorStopObject#color\n * @type {Highcharts.Color|undefined}\n */\n /**\n * Defines the start position and the end position for a gradient relative\n * to the shape. Start position (x1, y1) and end position (x2, y2) are relative\n * to the shape, where 0 means top/left and 1 is bottom/right.\n *\n * @interface Highcharts.LinearGradientColorObject\n */ /**\n * Start horizontal position of the gradient. Float ranges 0-1.\n * @name Highcharts.LinearGradientColorObject#x1\n * @type {number}\n */ /**\n * End horizontal position of the gradient. Float ranges 0-1.\n * @name Highcharts.LinearGradientColorObject#x2\n * @type {number}\n */ /**\n * Start vertical position of the gradient. Float ranges 0-1.\n * @name Highcharts.LinearGradientColorObject#y1\n * @type {number}\n */ /**\n * End vertical position of the gradient. Float ranges 0-1.\n * @name Highcharts.LinearGradientColorObject#y2\n * @type {number}\n */\n /**\n * Defines the center position and the radius for a gradient.\n *\n * @interface Highcharts.RadialGradientColorObject\n */ /**\n * Center horizontal position relative to the shape. Float ranges 0-1.\n * @name Highcharts.RadialGradientColorObject#cx\n * @type {number}\n */ /**\n * Center vertical position relative to the shape. Float ranges 0-1.\n * @name Highcharts.RadialGradientColorObject#cy\n * @type {number}\n */ /**\n * Radius relative to the shape. Float ranges 0-1.\n * @name Highcharts.RadialGradientColorObject#r\n * @type {number}\n */\n ''; // detach doclets above\n /* *\n *\n * Class\n *\n * */\n /* eslint-disable no-invalid-this, valid-jsdoc */\n /**\n * Handle color operations. Some object methods are chainable.\n *\n * @class\n * @name Highcharts.Color\n *\n * @param {Highcharts.ColorType} input\n * The input color in either rbga or hex format\n */\n var Color = /** @class */ (function () {\n /* *\n *\n * Constructors\n *\n * */\n function Color(input) {\n // Collection of parsers. This can be extended from the outside by pushing\n // parsers to Highcharts.Color.prototype.parsers.\n this.parsers = [{\n // RGBA color\n // eslint-disable-next-line max-len\n regex: /rgba\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]?(?:\\.[0-9]+)?)\\s*\\)/,\n parse: function (result) {\n return [\n pInt(result[1]),\n pInt(result[2]),\n pInt(result[3]),\n parseFloat(result[4], 10)\n ];\n }\n }, {\n // RGB color\n regex: /rgb\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*\\)/,\n parse: function (result) {\n return [pInt(result[1]), pInt(result[2]), pInt(result[3]), 1];\n }\n }];\n this.rgba = [];\n // Backwards compatibility, allow class overwrite\n if (H.Color !== Color) {\n return new H.Color(input);\n }\n // Backwards compatibility, allow instanciation without new (#13053)\n if (!(this instanceof Color)) {\n return new Color(input);\n }\n this.init(input);\n }\n /* *\n *\n * Static Functions\n *\n * */\n /**\n * Creates a color instance out of a color string or object.\n *\n * @function Highcharts.Color.parse\n *\n * @param {Highcharts.ColorType} input\n * The input color in either rbga or hex format.\n *\n * @return {Highcharts.Color}\n * Color instance.\n */\n Color.parse = function (input) {\n return new Color(input);\n };\n /* *\n *\n * Functions\n *\n * */\n /**\n * Parse the input color to rgba array\n *\n * @private\n * @function Highcharts.Color#init\n *\n * @param {Highcharts.ColorType} input\n * The input color in either rbga or hex format\n *\n * @return {void}\n */\n Color.prototype.init = function (input) {\n var result,\n rgba,\n i,\n parser,\n len;\n this.input = input = Color.names[input && input.toLowerCase ?\n input.toLowerCase() :\n ''] || input;\n // Gradients\n if (input && input.stops) {\n this.stops = input.stops.map(function (stop) {\n return new Color(stop[1]);\n });\n // Solid colors\n }\n else {\n // Bitmasking as input[0] is not working for legacy IE.\n if (input &&\n input.charAt &&\n input.charAt() === '#') {\n len = input.length;\n input = parseInt(input.substr(1), 16);\n // Handle long-form, e.g. #AABBCC\n if (len === 7) {\n rgba = [\n (input & 0xFF0000) >> 16,\n (input & 0xFF00) >> 8,\n (input & 0xFF),\n 1\n ];\n // Handle short-form, e.g. #ABC\n // In short form, the value is assumed to be the same\n // for both nibbles for each component. e.g. #ABC = #AABBCC\n }\n else if (len === 4) {\n rgba = [\n (((input & 0xF00) >> 4) |\n (input & 0xF00) >> 8),\n (((input & 0xF0) >> 4) |\n (input & 0xF0)),\n ((input & 0xF) << 4) | (input & 0xF),\n 1\n ];\n }\n }\n // Otherwise, check regex parsers\n if (!rgba) {\n i = this.parsers.length;\n while (i-- && !rgba) {\n parser = this.parsers[i];\n result = parser.regex.exec(input);\n if (result) {\n rgba = parser.parse(result);\n }\n }\n }\n }\n this.rgba = rgba || [];\n };\n /**\n * Return the color or gradient stops in the specified format\n *\n * @function Highcharts.Color#get\n *\n * @param {string} [format]\n * Possible values are 'a', 'rgb', 'rgba' (default).\n *\n * @return {Highcharts.ColorType}\n * This color as a string or gradient stops.\n */\n Color.prototype.get = function (format) {\n var input = this.input,\n rgba = this.rgba,\n ret;\n if (typeof this.stops !== 'undefined') {\n ret = merge(input);\n ret.stops = [].concat(ret.stops);\n this.stops.forEach(function (stop, i) {\n ret.stops[i] = [\n ret.stops[i][0],\n stop.get(format)\n ];\n });\n // it's NaN if gradient colors on a column chart\n }\n else if (rgba && isNumber(rgba[0])) {\n if (format === 'rgb' || (!format && rgba[3] === 1)) {\n ret = 'rgb(' + rgba[0] + ',' + rgba[1] + ',' + rgba[2] + ')';\n }\n else if (format === 'a') {\n ret = rgba[3];\n }\n else {\n ret = 'rgba(' + rgba.join(',') + ')';\n }\n }\n else {\n ret = input;\n }\n return ret;\n };\n /**\n * Brighten the color instance.\n *\n * @function Highcharts.Color#brighten\n *\n * @param {number} alpha\n * The alpha value.\n *\n * @return {Highcharts.Color}\n * This color with modifications.\n */\n Color.prototype.brighten = function (alpha) {\n var i,\n rgba = this.rgba;\n if (this.stops) {\n this.stops.forEach(function (stop) {\n stop.brighten(alpha);\n });\n }\n else if (isNumber(alpha) && alpha !== 0) {\n for (i = 0; i < 3; i++) {\n rgba[i] += pInt(alpha * 255);\n if (rgba[i] < 0) {\n rgba[i] = 0;\n }\n if (rgba[i] > 255) {\n rgba[i] = 255;\n }\n }\n }\n return this;\n };\n /**\n * Set the color's opacity to a given alpha value.\n *\n * @function Highcharts.Color#setOpacity\n *\n * @param {number} alpha\n * Opacity between 0 and 1.\n *\n * @return {Highcharts.Color}\n * Color with modifications.\n */\n Color.prototype.setOpacity = function (alpha) {\n this.rgba[3] = alpha;\n return this;\n };\n /**\n * Return an intermediate color between two colors.\n *\n * @function Highcharts.Color#tweenTo\n *\n * @param {Highcharts.Color} to\n * The color object to tween to.\n *\n * @param {number} pos\n * The intermediate position, where 0 is the from color (current\n * color item), and 1 is the `to` color.\n *\n * @return {Highcharts.ColorString}\n * The intermediate color in rgba notation.\n */\n Color.prototype.tweenTo = function (to, pos) {\n // Check for has alpha, because rgba colors perform worse due to lack of\n // support in WebKit.\n var fromRgba = this.rgba,\n toRgba = to.rgba,\n hasAlpha,\n ret;\n // Unsupported color, return to-color (#3920, #7034)\n if (!toRgba.length || !fromRgba || !fromRgba.length) {\n ret = to.input || 'none';\n // Interpolate\n }\n else {\n hasAlpha = (toRgba[3] !== 1 || fromRgba[3] !== 1);\n ret = (hasAlpha ? 'rgba(' : 'rgb(') +\n Math.round(toRgba[0] + (fromRgba[0] - toRgba[0]) * (1 - pos)) +\n ',' +\n Math.round(toRgba[1] + (fromRgba[1] - toRgba[1]) * (1 - pos)) +\n ',' +\n Math.round(toRgba[2] + (fromRgba[2] - toRgba[2]) * (1 - pos)) +\n (hasAlpha ?\n (',' +\n (toRgba[3] + (fromRgba[3] - toRgba[3]) * (1 - pos))) :\n '') +\n ')';\n }\n return ret;\n };\n /* *\n *\n * Static Properties\n *\n * */\n // Collection of named colors. Can be extended from the outside by adding\n // colors to Highcharts.Color.names.\n Color.names = {\n white: '#ffffff',\n black: '#000000'\n };\n return Color;\n }());\n H.Color = Color;\n /**\n * Creates a color instance out of a color string.\n *\n * @function Highcharts.color\n *\n * @param {Highcharts.ColorType} input\n * The input color in either rbga or hex format\n *\n * @return {Highcharts.Color}\n * Color instance\n */\n H.color = Color.parse;\n /* *\n *\n * Export\n *\n * */\n\n return Color;\n });\n _registerModule(_modules, 'Core/Animation/Fx.js', [_modules['Core/Globals.js'], _modules['Core/Utilities.js']], function (H, U) {\n /* *\n *\n * (c) 2010-2020 Torstein Honsi\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n var win = H.win;\n var isNumber = U.isNumber,\n objectEach = U.objectEach;\n /* eslint-disable no-invalid-this, valid-jsdoc */\n /**\n * An animator object used internally. One instance applies to one property\n * (attribute or style prop) on one element. Animation is always initiated\n * through {@link SVGElement#animate}.\n *\n * @example\n * var rect = renderer.rect(0, 0, 10, 10).add();\n * rect.animate({ width: 100 });\n *\n * @private\n * @class\n * @name Highcharts.Fx\n */\n var Fx = /** @class */ (function () {\n /* *\n *\n * Constructors\n *\n * */\n /**\n *\n * @param {Highcharts.HTMLDOMElement|Highcharts.SVGElement} elem\n * The element to animate.\n *\n * @param {Partial} options\n * Animation options.\n *\n * @param {string} prop\n * The single attribute or CSS property to animate.\n */\n function Fx(elem, options, prop) {\n this.pos = NaN;\n this.options = options;\n this.elem = elem;\n this.prop = prop;\n }\n /* *\n *\n * Functions\n *\n * */\n /**\n * Set the current step of a path definition on SVGElement.\n *\n * @function Highcharts.Fx#dSetter\n *\n * @return {void}\n */\n Fx.prototype.dSetter = function () {\n var paths = this.paths,\n start = paths && paths[0],\n end = paths && paths[1],\n path = [],\n now = this.now || 0;\n // Land on the final path without adjustment points appended in the ends\n if (now === 1 || !start || !end) {\n path = this.toD || [];\n }\n else if (start.length === end.length && now < 1) {\n for (var i = 0; i < end.length; i++) {\n // Tween between the start segment and the end segment. Start\n // with a copy of the end segment and tween the appropriate\n // numerics\n var startSeg = start[i];\n var endSeg = end[i];\n var tweenSeg = [];\n for (var j = 0; j < endSeg.length; j++) {\n var startItem = startSeg[j];\n var endItem = endSeg[j];\n // Tween numbers\n if (typeof startItem === 'number' &&\n typeof endItem === 'number' &&\n // Arc boolean flags\n !(endSeg[0] === 'A' && (j === 4 || j === 5))) {\n tweenSeg[j] = startItem + now * (endItem - startItem);\n // Strings, take directly from the end segment\n }\n else {\n tweenSeg[j] = endItem;\n }\n }\n path.push(tweenSeg);\n }\n // If animation is finished or length not matching, land on right value\n }\n else {\n path = end;\n }\n this.elem.attr('d', path, void 0, true);\n };\n /**\n * Update the element with the current animation step.\n *\n * @function Highcharts.Fx#update\n *\n * @return {void}\n */\n Fx.prototype.update = function () {\n var elem = this.elem,\n prop = this.prop, // if destroyed, it is null\n now = this.now,\n step = this.options.step;\n // Animation setter defined from outside\n if (this[prop + 'Setter']) {\n this[prop + 'Setter']();\n // Other animations on SVGElement\n }\n else if (elem.attr) {\n if (elem.element) {\n elem.attr(prop, now, null, true);\n }\n // HTML styles, raw HTML content like container size\n }\n else {\n elem.style[prop] = now + this.unit;\n }\n if (step) {\n step.call(elem, now, this);\n }\n };\n /**\n * Run an animation.\n *\n * @function Highcharts.Fx#run\n *\n * @param {number} from\n * The current value, value to start from.\n *\n * @param {number} to\n * The end value, value to land on.\n *\n * @param {string} unit\n * The property unit, for example `px`.\n *\n * @return {void}\n */\n Fx.prototype.run = function (from, to, unit) {\n var self = this,\n options = self.options,\n timer = function (gotoEnd) {\n return timer.stopped ? false : self.step(gotoEnd);\n }, requestAnimationFrame = win.requestAnimationFrame ||\n function (step) {\n setTimeout(step, 13);\n }, step = function () {\n for (var i = 0; i < H.timers.length; i++) {\n if (!H.timers[i]()) {\n H.timers.splice(i--, 1);\n }\n }\n if (H.timers.length) {\n requestAnimationFrame(step);\n }\n };\n if (from === to && !this.elem['forceAnimate:' + this.prop]) {\n delete options.curAnim[this.prop];\n if (options.complete && Object.keys(options.curAnim).length === 0) {\n options.complete.call(this.elem);\n }\n }\n else { // #7166\n this.startTime = +new Date();\n this.start = from;\n this.end = to;\n this.unit = unit;\n this.now = this.start;\n this.pos = 0;\n timer.elem = this.elem;\n timer.prop = this.prop;\n if (timer() && H.timers.push(timer) === 1) {\n requestAnimationFrame(step);\n }\n }\n };\n /**\n * Run a single step in the animation.\n *\n * @function Highcharts.Fx#step\n *\n * @param {boolean} [gotoEnd]\n * Whether to go to the endpoint of the animation after abort.\n *\n * @return {boolean}\n * Returns `true` if animation continues.\n */\n Fx.prototype.step = function (gotoEnd) {\n var t = +new Date(),\n ret,\n done,\n options = this.options,\n elem = this.elem,\n complete = options.complete,\n duration = options.duration,\n curAnim = options.curAnim;\n if (elem.attr && !elem.element) { // #2616, element is destroyed\n ret = false;\n }\n else if (gotoEnd || t >= duration + this.startTime) {\n this.now = this.end;\n this.pos = 1;\n this.update();\n curAnim[this.prop] = true;\n done = true;\n objectEach(curAnim, function (val) {\n if (val !== true) {\n done = false;\n }\n });\n if (done && complete) {\n complete.call(elem);\n }\n ret = false;\n }\n else {\n this.pos = options.easing((t - this.startTime) / duration);\n this.now = this.start + ((this.end - this.start) * this.pos);\n this.update();\n ret = true;\n }\n return ret;\n };\n /**\n * Prepare start and end values so that the path can be animated one to one.\n *\n * @function Highcharts.Fx#initPath\n *\n * @param {Highcharts.SVGElement} elem\n * The SVGElement item.\n *\n * @param {Highcharts.SVGPathArray|undefined} fromD\n * Starting path definition.\n *\n * @param {Highcharts.SVGPathArray} toD\n * Ending path definition.\n *\n * @return {Array}\n * An array containing start and end paths in array form so that\n * they can be animated in parallel.\n */\n Fx.prototype.initPath = function (elem, fromD, toD) {\n var shift,\n startX = elem.startX,\n endX = elem.endX,\n fullLength,\n i,\n start = fromD && fromD.slice(), // copy\n end = toD.slice(), // copy\n isArea = elem.isArea,\n positionFactor = isArea ? 2 : 1,\n reverse;\n if (!start) {\n return [end, end];\n }\n /**\n * If shifting points, prepend a dummy point to the end path.\n * @private\n * @param {Highcharts.SVGPathArray} arr - array\n * @param {Highcharts.SVGPathArray} other - array\n * @return {void}\n */\n function prepend(arr, other) {\n while (arr.length < fullLength) {\n // Move to, line to or curve to?\n var moveSegment = arr[0],\n otherSegment = other[fullLength - arr.length];\n if (otherSegment && moveSegment[0] === 'M') {\n if (otherSegment[0] === 'C') {\n arr[0] = [\n 'C',\n moveSegment[1],\n moveSegment[2],\n moveSegment[1],\n moveSegment[2],\n moveSegment[1],\n moveSegment[2]\n ];\n }\n else {\n arr[0] = ['L', moveSegment[1], moveSegment[2]];\n }\n }\n // Prepend a copy of the first point\n arr.unshift(moveSegment);\n // For areas, the bottom path goes back again to the left, so we\n // need to append a copy of the last point.\n if (isArea) {\n arr.push(arr[arr.length - 1]);\n }\n }\n }\n /**\n * Copy and append last point until the length matches the end length.\n * @private\n * @param {Highcharts.SVGPathArray} arr - array\n * @param {Highcharts.SVGPathArray} other - array\n * @return {void}\n */\n function append(arr, other) {\n while (arr.length < fullLength) {\n // Pull out the slice that is going to be appended or inserted.\n // In a line graph, the positionFactor is 1, and the last point\n // is sliced out. In an area graph, the positionFactor is 2,\n // causing the middle two points to be sliced out, since an area\n // path starts at left, follows the upper path then turns and\n // follows the bottom back.\n var segmentToAdd = arr[arr.length / positionFactor - 1].slice();\n // Disable the first control point of curve segments\n if (segmentToAdd[0] === 'C') {\n segmentToAdd[1] = segmentToAdd[5];\n segmentToAdd[2] = segmentToAdd[6];\n }\n if (!isArea) {\n arr.push(segmentToAdd);\n }\n else {\n var lowerSegmentToAdd = arr[arr.length / positionFactor].slice();\n arr.splice(arr.length / 2, 0, segmentToAdd, lowerSegmentToAdd);\n }\n }\n }\n // For sideways animation, find out how much we need to shift to get the\n // start path Xs to match the end path Xs.\n if (startX && endX) {\n for (i = 0; i < startX.length; i++) {\n // Moving left, new points coming in on right\n if (startX[i] === endX[0]) {\n shift = i;\n break;\n // Moving right\n }\n else if (startX[0] ===\n endX[endX.length - startX.length + i]) {\n shift = i;\n reverse = true;\n break;\n // Fixed from the right side, \"scaling\" left\n }\n else if (startX[startX.length - 1] ===\n endX[endX.length - startX.length + i]) {\n shift = startX.length - i;\n break;\n }\n }\n if (typeof shift === 'undefined') {\n start = [];\n }\n }\n if (start.length && isNumber(shift)) {\n // The common target length for the start and end array, where both\n // arrays are padded in opposite ends\n fullLength = end.length + shift * positionFactor;\n if (!reverse) {\n prepend(end, start);\n append(start, end);\n }\n else {\n prepend(start, end);\n append(end, start);\n }\n }\n return [start, end];\n };\n /**\n * Handle animation of the color attributes directly.\n *\n * @function Highcharts.Fx#fillSetter\n *\n * @return {void}\n */\n Fx.prototype.fillSetter = function () {\n Fx.prototype.strokeSetter.apply(this, arguments);\n };\n /**\n * Handle animation of the color attributes directly.\n *\n * @function Highcharts.Fx#strokeSetter\n *\n * @return {void}\n */\n Fx.prototype.strokeSetter = function () {\n this.elem.attr(this.prop, H.color(this.start).tweenTo(H.color(this.end), this.pos), null, true);\n };\n return Fx;\n }());\n H.Fx = Fx;\n\n return Fx;\n });\n _registerModule(_modules, 'Core/Animation/AnimationUtilities.js', [_modules['Core/Animation/Fx.js'], _modules['Core/Globals.js'], _modules['Core/Utilities.js']], function (Fx, H, U) {\n /* *\n *\n * (c) 2010-2020 Torstein Honsi\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n var defined = U.defined,\n getStyle = U.getStyle,\n isArray = U.isArray,\n isNumber = U.isNumber,\n isObject = U.isObject,\n merge = U.merge,\n objectEach = U.objectEach,\n pick = U.pick;\n /**\n * Set the global animation to either a given value, or fall back to the given\n * chart's animation option.\n *\n * @function Highcharts.setAnimation\n *\n * @param {boolean|Partial|undefined} animation\n * The animation object.\n *\n * @param {Highcharts.Chart} chart\n * The chart instance.\n *\n * @todo\n * This function always relates to a chart, and sets a property on the renderer,\n * so it should be moved to the SVGRenderer.\n */\n var setAnimation = H.setAnimation = function setAnimation(animation,\n chart) {\n chart.renderer.globalAnimation = pick(animation,\n chart.options.chart.animation,\n true);\n };\n /**\n * Get the animation in object form, where a disabled animation is always\n * returned as `{ duration: 0 }`.\n *\n * @function Highcharts.animObject\n *\n * @param {boolean|Highcharts.AnimationOptionsObject} [animation=0]\n * An animation setting. Can be an object with duration, complete and\n * easing properties, or a boolean to enable or disable.\n *\n * @return {Highcharts.AnimationOptionsObject}\n * An object with at least a duration property.\n */\n var animObject = H.animObject = function animObject(animation) {\n return isObject(animation) ?\n H.merge({ duration: 500,\n defer: 0 },\n animation) :\n { duration: animation ? 500 : 0,\n defer: 0 };\n };\n /**\n * Get the defer as a number value from series animation options.\n *\n * @function Highcharts.getDeferredAnimation\n *\n * @param {Highcharts.Chart} chart\n * The chart instance.\n *\n * @param {boolean|Highcharts.AnimationOptionsObject} animation\n * An animation setting. Can be an object with duration, complete and\n * easing properties, or a boolean to enable or disable.\n *\n * @param {Highcharts.Series} [series]\n * Series to defer animation.\n *\n * @return {number}\n * The numeric value.\n */\n var getDeferredAnimation = H.getDeferredAnimation = function (chart,\n animation,\n series) {\n var labelAnimation = animObject(animation);\n var s = series ? [series] : chart.series;\n var defer = 0;\n var duration = 0;\n s.forEach(function (series) {\n var seriesAnim = animObject(series.options.animation);\n defer = animation && defined(animation.defer) ?\n labelAnimation.defer :\n Math.max(defer, seriesAnim.duration + seriesAnim.defer);\n duration = Math.min(labelAnimation.duration, seriesAnim.duration);\n });\n // Disable defer for exporting\n if (chart.renderer.forExport) {\n defer = 0;\n }\n var anim = {\n defer: Math.max(0,\n defer - duration),\n duration: Math.min(defer,\n duration)\n };\n return anim;\n };\n /**\n * The global animate method, which uses Fx to create individual animators.\n *\n * @function Highcharts.animate\n *\n * @param {Highcharts.HTMLDOMElement|Highcharts.SVGElement} el\n * The element to animate.\n *\n * @param {Highcharts.CSSObject|Highcharts.SVGAttributes} params\n * An object containing key-value pairs of the properties to animate.\n * Supports numeric as pixel-based CSS properties for HTML objects and\n * attributes for SVGElements.\n *\n * @param {Partial} [opt]\n * Animation options.\n *\n * @return {void}\n */\n var animate = H.animate = function (el,\n params,\n opt) {\n var start,\n unit = '',\n end,\n fx,\n args;\n if (!isObject(opt)) { // Number or undefined/null\n args = arguments;\n opt = {\n duration: args[2],\n easing: args[3],\n complete: args[4]\n };\n }\n if (!isNumber(opt.duration)) {\n opt.duration = 400;\n }\n opt.easing = typeof opt.easing === 'function' ?\n opt.easing :\n (Math[opt.easing] || Math.easeInOutSine);\n opt.curAnim = merge(params);\n objectEach(params, function (val, prop) {\n // Stop current running animation of this property\n stop(el, prop);\n fx = new Fx(el, opt, prop);\n end = null;\n if (prop === 'd' && isArray(params.d)) {\n fx.paths = fx.initPath(el, el.pathArray, params.d);\n fx.toD = params.d;\n start = 0;\n end = 1;\n }\n else if (el.attr) {\n start = el.attr(prop);\n }\n else {\n start = parseFloat(getStyle(el, prop)) || 0;\n if (prop !== 'opacity') {\n unit = 'px';\n }\n }\n if (!end) {\n end = val;\n }\n if (end && end.match && end.match('px')) {\n end = end.replace(/px/g, ''); // #4351\n }\n fx.run(start, end, unit);\n });\n };\n /**\n * Stop running animation.\n *\n * @function Highcharts.stop\n *\n * @param {Highcharts.SVGElement} el\n * The SVGElement to stop animation on.\n *\n * @param {string} [prop]\n * The property to stop animating. If given, the stop method will stop a\n * single property from animating, while others continue.\n *\n * @return {void}\n *\n * @todo\n * A possible extension to this would be to stop a single property, when\n * we want to continue animating others. Then assign the prop to the timer\n * in the Fx.run method, and check for the prop here. This would be an\n * improvement in all cases where we stop the animation from .attr. Instead of\n * stopping everything, we can just stop the actual attributes we're setting.\n */\n var stop = H.stop = function (el,\n prop) {\n var i = H.timers.length;\n // Remove timers related to this element (#4519)\n while (i--) {\n if (H.timers[i].elem === el && (!prop || prop === H.timers[i].prop)) {\n H.timers[i].stopped = true; // #4667\n }\n }\n };\n var animationExports = {\n animate: animate,\n animObject: animObject,\n getDeferredAnimation: getDeferredAnimation,\n setAnimation: setAnimation,\n stop: stop\n };\n\n return animationExports;\n });\n _registerModule(_modules, 'Core/Renderer/SVG/SVGElement.js', [_modules['Core/Animation/AnimationUtilities.js'], _modules['Core/Color/Color.js'], _modules['Core/Globals.js'], _modules['Core/Utilities.js']], function (A, Color, H, U) {\n /* *\n *\n * (c) 2010-2020 Torstein Honsi\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n var animate = A.animate,\n animObject = A.animObject,\n stop = A.stop;\n var deg2rad = H.deg2rad,\n doc = H.doc,\n hasTouch = H.hasTouch,\n isFirefox = H.isFirefox,\n noop = H.noop,\n svg = H.svg,\n SVG_NS = H.SVG_NS,\n win = H.win;\n var attr = U.attr,\n createElement = U.createElement,\n css = U.css,\n defined = U.defined,\n erase = U.erase,\n extend = U.extend,\n fireEvent = U.fireEvent,\n isArray = U.isArray,\n isFunction = U.isFunction,\n isNumber = U.isNumber,\n isString = U.isString,\n merge = U.merge,\n objectEach = U.objectEach,\n pick = U.pick,\n pInt = U.pInt,\n syncTimeout = U.syncTimeout,\n uniqueKey = U.uniqueKey;\n /**\n * The horizontal alignment of an element.\n *\n * @typedef {\"center\"|\"left\"|\"right\"} Highcharts.AlignValue\n */\n /**\n * Options to align the element relative to the chart or another box.\n *\n * @interface Highcharts.AlignObject\n */ /**\n * Horizontal alignment. Can be one of `left`, `center` and `right`.\n *\n * @name Highcharts.AlignObject#align\n * @type {Highcharts.AlignValue|undefined}\n *\n * @default left\n */ /**\n * Vertical alignment. Can be one of `top`, `middle` and `bottom`.\n *\n * @name Highcharts.AlignObject#verticalAlign\n * @type {Highcharts.VerticalAlignValue|undefined}\n *\n * @default top\n */ /**\n * Horizontal pixel offset from alignment.\n *\n * @name Highcharts.AlignObject#x\n * @type {number|undefined}\n *\n * @default 0\n */ /**\n * Vertical pixel offset from alignment.\n *\n * @name Highcharts.AlignObject#y\n * @type {number|undefined}\n *\n * @default 0\n */ /**\n * Use the `transform` attribute with translateX and translateY custom\n * attributes to align this elements rather than `x` and `y` attributes.\n *\n * @name Highcharts.AlignObject#alignByTranslate\n * @type {boolean|undefined}\n *\n * @default false\n */\n /**\n * Bounding box of an element.\n *\n * @interface Highcharts.BBoxObject\n * @extends Highcharts.PositionObject\n */ /**\n * Height of the bounding box.\n *\n * @name Highcharts.BBoxObject#height\n * @type {number}\n */ /**\n * Width of the bounding box.\n *\n * @name Highcharts.BBoxObject#width\n * @type {number}\n */ /**\n * Horizontal position of the bounding box.\n *\n * @name Highcharts.BBoxObject#x\n * @type {number}\n */ /**\n * Vertical position of the bounding box.\n *\n * @name Highcharts.BBoxObject#y\n * @type {number}\n */\n /**\n * An object of key-value pairs for SVG attributes. Attributes in Highcharts\n * elements for the most parts correspond to SVG, but some are specific to\n * Highcharts, like `zIndex`, `rotation`, `rotationOriginX`,\n * `rotationOriginY`, `translateX`, `translateY`, `scaleX` and `scaleY`. SVG\n * attributes containing a hyphen are _not_ camel-cased, they should be\n * quoted to preserve the hyphen.\n *\n * @example\n * {\n * 'stroke': '#ff0000', // basic\n * 'stroke-width': 2, // hyphenated\n * 'rotation': 45 // custom\n * 'd': ['M', 10, 10, 'L', 30, 30, 'z'] // path definition, note format\n * }\n *\n * @interface Highcharts.SVGAttributes\n */ /**\n * @name Highcharts.SVGAttributes#[key:string]\n * @type {*}\n */ /**\n * @name Highcharts.SVGAttributes#d\n * @type {string|Highcharts.SVGPathArray|undefined}\n */ /**\n * @name Highcharts.SVGAttributes#fill\n * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject|undefined}\n */ /**\n * @name Highcharts.SVGAttributes#inverted\n * @type {boolean|undefined}\n */ /**\n * @name Highcharts.SVGAttributes#matrix\n * @type {Array|undefined}\n */ /**\n * @name Highcharts.SVGAttributes#rotation\n * @type {number|undefined}\n */ /**\n * @name Highcharts.SVGAttributes#rotationOriginX\n * @type {number|undefined}\n */ /**\n * @name Highcharts.SVGAttributes#rotationOriginY\n * @type {number|undefined}\n */ /**\n * @name Highcharts.SVGAttributes#scaleX\n * @type {number|undefined}\n */ /**\n * @name Highcharts.SVGAttributes#scaleY\n * @type {number|undefined}\n */ /**\n * @name Highcharts.SVGAttributes#stroke\n * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject|undefined}\n */ /**\n * @name Highcharts.SVGAttributes#style\n * @type {string|Highcharts.CSSObject|undefined}\n */ /**\n * @name Highcharts.SVGAttributes#translateX\n * @type {number|undefined}\n */ /**\n * @name Highcharts.SVGAttributes#translateY\n * @type {number|undefined}\n */ /**\n * @name Highcharts.SVGAttributes#zIndex\n * @type {number|undefined}\n */\n /**\n * An SVG DOM element. The type is a reference to the regular SVGElement in the\n * global scope.\n *\n * @typedef {globals.GlobalSVGElement} Highcharts.SVGDOMElement\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/SVGElement\n */\n /**\n * The vertical alignment of an element.\n *\n * @typedef {\"bottom\"|\"middle\"|\"top\"} Highcharts.VerticalAlignValue\n */\n ''; // detach doclets above\n /* eslint-disable no-invalid-this, valid-jsdoc */\n /**\n * The SVGElement prototype is a JavaScript wrapper for SVG elements used in the\n * rendering layer of Highcharts. Combined with the\n * {@link Highcharts.SVGRenderer}\n * object, these prototypes allow freeform annotation in the charts or even in\n * HTML pages without instanciating a chart. The SVGElement can also wrap HTML\n * labels, when `text` or `label` elements are created with the `useHTML`\n * parameter.\n *\n * The SVGElement instances are created through factory functions on the\n * {@link Highcharts.SVGRenderer}\n * object, like\n * {@link Highcharts.SVGRenderer#rect|rect},\n * {@link Highcharts.SVGRenderer#path|path},\n * {@link Highcharts.SVGRenderer#text|text},\n * {@link Highcharts.SVGRenderer#label|label},\n * {@link Highcharts.SVGRenderer#g|g}\n * and more.\n *\n * @class\n * @name Highcharts.SVGElement\n */\n var SVGElement = /** @class */ (function () {\n function SVGElement() {\n /* *\n *\n * Properties\n *\n * */\n this.element = void 0;\n this.height = void 0;\n this.opacity = 1; // Default base for animation\n this.renderer = void 0;\n this.SVG_NS = SVG_NS;\n // Custom attributes used for symbols, these should be filtered out when\n // setting SVGElement attributes (#9375).\n this.symbolCustomAttribs = [\n 'x',\n 'y',\n 'width',\n 'height',\n 'r',\n 'start',\n 'end',\n 'innerR',\n 'anchorX',\n 'anchorY',\n 'rounded'\n ];\n this.width = void 0;\n }\n /* *\n *\n * Functions\n *\n * */\n /**\n * Get the current value of an attribute or pseudo attribute,\n * used mainly for animation. Called internally from\n * the {@link Highcharts.SVGRenderer#attr} function.\n *\n * @private\n * @function Highcharts.SVGElement#_defaultGetter\n *\n * @param {string} key\n * Property key.\n *\n * @return {number|string}\n * Property value.\n */\n SVGElement.prototype._defaultGetter = function (key) {\n var ret = pick(this[key + 'Value'], // align getter\n this[key],\n this.element ? this.element.getAttribute(key) : null, 0);\n if (/^[\\-0-9\\.]+$/.test(ret)) { // is numerical\n ret = parseFloat(ret);\n }\n return ret;\n };\n /**\n * @private\n * @function Highcharts.SVGElement#_defaultSetter\n *\n * @param {string} value\n *\n * @param {string} key\n *\n * @param {Highcharts.SVGDOMElement} element\n *\n * @return {void}\n */\n SVGElement.prototype._defaultSetter = function (value, key, element) {\n element.setAttribute(key, value);\n };\n /**\n * Add the element to the DOM. All elements must be added this way.\n *\n * @sample highcharts/members/renderer-g\n * Elements added to a group\n *\n * @function Highcharts.SVGElement#add\n *\n * @param {Highcharts.SVGElement} [parent]\n * The parent item to add it to. If undefined, the element is added\n * to the {@link Highcharts.SVGRenderer.box}.\n *\n * @return {Highcharts.SVGElement}\n * Returns the SVGElement for chaining.\n */\n SVGElement.prototype.add = function (parent) {\n var renderer = this.renderer,\n element = this.element,\n inserted;\n if (parent) {\n this.parentGroup = parent;\n }\n // Mark as inverted\n this.parentInverted = parent && parent.inverted;\n // Build formatted text\n if (typeof this.textStr !== 'undefined' &&\n this.element.nodeName === 'text' // Not for SVGLabel instances\n ) {\n renderer.buildText(this);\n }\n // Mark as added\n this.added = true;\n // If we're adding to renderer root, or other elements in the group\n // have a z index, we need to handle it\n if (!parent || parent.handleZ || this.zIndex) {\n inserted = this.zIndexSetter();\n }\n // If zIndex is not handled, append at the end\n if (!inserted) {\n (parent ?\n parent.element :\n renderer.box).appendChild(element);\n }\n // fire an event for internal hooks\n if (this.onAdd) {\n this.onAdd();\n }\n return this;\n };\n /**\n * Add a class name to an element.\n *\n * @function Highcharts.SVGElement#addClass\n *\n * @param {string} className\n * The new class name to add.\n *\n * @param {boolean} [replace=false]\n * When true, the existing class name(s) will be overwritten with the new\n * one. When false, the new one is added.\n *\n * @return {Highcharts.SVGElement}\n * Return the SVG element for chainability.\n */\n SVGElement.prototype.addClass = function (className, replace) {\n var currentClassName = replace ? '' : (this.attr('class') || '');\n // Trim the string and remove duplicates\n className = (className || '')\n .split(/ /g)\n .reduce(function (newClassName, name) {\n if (currentClassName.indexOf(name) === -1) {\n newClassName.push(name);\n }\n return newClassName;\n }, (currentClassName ?\n [currentClassName] :\n []))\n .join(' ');\n if (className !== currentClassName) {\n this.attr('class', className);\n }\n return this;\n };\n /**\n * This method is executed in the end of `attr()`, after setting all\n * attributes in the hash. In can be used to efficiently consolidate\n * multiple attributes in one SVG property -- e.g., translate, rotate and\n * scale are merged in one \"transform\" attribute in the SVG node.\n *\n * @private\n * @function Highcharts.SVGElement#afterSetters\n */\n SVGElement.prototype.afterSetters = function () {\n // Update transform. Do this outside the loop to prevent redundant\n // updating for batch setting of attributes.\n if (this.doTransform) {\n this.updateTransform();\n this.doTransform = false;\n }\n };\n /**\n * Align the element relative to the chart or another box.\n *\n * @function Highcharts.SVGElement#align\n *\n * @param {Highcharts.AlignObject} [alignOptions]\n * The alignment options. The function can be called without this\n * parameter in order to re-align an element after the box has been\n * updated.\n *\n * @param {boolean} [alignByTranslate]\n * Align element by translation.\n *\n * @param {string|Highcharts.BBoxObject} [box]\n * The box to align to, needs a width and height. When the box is a\n * string, it refers to an object in the Renderer. For example, when\n * box is `spacingBox`, it refers to `Renderer.spacingBox` which\n * holds `width`, `height`, `x` and `y` properties.\n *\n * @return {Highcharts.SVGElement} Returns the SVGElement for chaining.\n */\n SVGElement.prototype.align = function (alignOptions, alignByTranslate, box) {\n var align,\n vAlign,\n x,\n y,\n attribs = {},\n alignTo,\n renderer = this.renderer,\n alignedObjects = renderer.alignedObjects,\n alignFactor,\n vAlignFactor;\n // First call on instanciate\n if (alignOptions) {\n this.alignOptions = alignOptions;\n this.alignByTranslate = alignByTranslate;\n if (!box || isString(box)) {\n this.alignTo = alignTo = box || 'renderer';\n // prevent duplicates, like legendGroup after resize\n erase(alignedObjects, this);\n alignedObjects.push(this);\n box = void 0; // reassign it below\n }\n // When called on resize, no arguments are supplied\n }\n else {\n alignOptions = this.alignOptions;\n alignByTranslate = this.alignByTranslate;\n alignTo = this.alignTo;\n }\n box = pick(box, renderer[alignTo], renderer);\n // Assign variables\n align = alignOptions.align;\n vAlign = alignOptions.verticalAlign;\n // default: left align\n x = (box.x || 0) + (alignOptions.x || 0);\n // default: top align\n y = (box.y || 0) + (alignOptions.y || 0);\n // Align\n if (align === 'right') {\n alignFactor = 1;\n }\n else if (align === 'center') {\n alignFactor = 2;\n }\n if (alignFactor) {\n x += (box.width - (alignOptions.width || 0)) /\n alignFactor;\n }\n attribs[alignByTranslate ? 'translateX' : 'x'] = Math.round(x);\n // Vertical align\n if (vAlign === 'bottom') {\n vAlignFactor = 1;\n }\n else if (vAlign === 'middle') {\n vAlignFactor = 2;\n }\n if (vAlignFactor) {\n y += (box.height - (alignOptions.height || 0)) /\n vAlignFactor;\n }\n attribs[alignByTranslate ? 'translateY' : 'y'] = Math.round(y);\n // Animate only if already placed\n this[this.placed ? 'animate' : 'attr'](attribs);\n this.placed = true;\n this.alignAttr = attribs;\n return this;\n };\n /**\n * @private\n * @function Highcharts.SVGElement#alignSetter\n * @param {\"left\"|\"center\"|\"right\"} value\n */\n SVGElement.prototype.alignSetter = function (value) {\n var convert = {\n left: 'start',\n center: 'middle',\n right: 'end'\n };\n if (convert[value]) {\n this.alignValue = value;\n this.element.setAttribute('text-anchor', convert[value]);\n }\n };\n /**\n * Animate to given attributes or CSS properties.\n *\n * @sample highcharts/members/element-on/\n * Setting some attributes by animation\n *\n * @function Highcharts.SVGElement#animate\n *\n * @param {Highcharts.SVGAttributes} params\n * SVG attributes or CSS to animate.\n *\n * @param {boolean|Partial} [options]\n * Animation options.\n *\n * @param {Function} [complete]\n * Function to perform at the end of animation.\n *\n * @return {Highcharts.SVGElement}\n * Returns the SVGElement for chaining.\n */\n SVGElement.prototype.animate = function (params, options, complete) {\n var _this = this;\n var animOptions = animObject(pick(options,\n this.renderer.globalAnimation,\n true)),\n deferTime = animOptions.defer;\n // When the page is hidden save resources in the background by not\n // running animation at all (#9749).\n if (pick(doc.hidden, doc.msHidden, doc.webkitHidden, false)) {\n animOptions.duration = 0;\n }\n if (animOptions.duration !== 0) {\n // allows using a callback with the global animation without\n // overwriting it\n if (complete) {\n animOptions.complete = complete;\n }\n // If defer option is defined delay the animation #12901\n syncTimeout(function () {\n if (_this.element) {\n animate(_this, params, animOptions);\n }\n }, deferTime);\n }\n else {\n this.attr(params, void 0, complete);\n // Call the end step synchronously\n objectEach(params, function (val, prop) {\n if (animOptions.step) {\n animOptions.step.call(this, val, { prop: prop, pos: 1 });\n }\n }, this);\n }\n return this;\n };\n /**\n * Apply a text outline through a custom CSS property, by copying the text\n * element and apply stroke to the copy. Used internally. Contrast checks at\n * [example](https://jsfiddle.net/highcharts/43soe9m1/2/).\n *\n * @example\n * // Specific color\n * text.css({\n * textOutline: '1px black'\n * });\n * // Automatic contrast\n * text.css({\n * color: '#000000', // black text\n * textOutline: '1px contrast' // => white outline\n * });\n *\n * @private\n * @function Highcharts.SVGElement#applyTextOutline\n *\n * @param {string} textOutline\n * A custom CSS `text-outline` setting, defined by `width color`.\n */\n SVGElement.prototype.applyTextOutline = function (textOutline) {\n var elem = this.element,\n tspans,\n hasContrast = textOutline.indexOf('contrast') !== -1,\n styles = {},\n color,\n strokeWidth,\n firstRealChild;\n // When the text shadow is set to contrast, use dark stroke for light\n // text and vice versa.\n if (hasContrast) {\n styles.textOutline = textOutline = textOutline.replace(/contrast/g, this.renderer.getContrast(elem.style.fill));\n }\n // Extract the stroke width and color\n textOutline = textOutline.split(' ');\n color = textOutline[textOutline.length - 1];\n strokeWidth = textOutline[0];\n if (strokeWidth && strokeWidth !== 'none' && H.svg) {\n this.fakeTS = true; // Fake text shadow\n tspans = [].slice.call(elem.getElementsByTagName('tspan'));\n // In order to get the right y position of the clone,\n // copy over the y setter\n this.ySetter = this.xSetter;\n // Since the stroke is applied on center of the actual outline, we\n // need to double it to get the correct stroke-width outside the\n // glyphs.\n strokeWidth = strokeWidth.replace(/(^[\\d\\.]+)(.*?)$/g, function (match, digit, unit) {\n return (2 * digit) + unit;\n });\n // Remove shadows from previous runs.\n this.removeTextOutline(tspans);\n // Check if the element contains RTL characters.\n // Comparing against Hebrew and Arabic characters,\n // excluding Arabic digits. Source:\n // https://www.unicode.org/Public/UNIDATA/extracted/DerivedBidiClass.txt\n var isRTL_1 = elem.textContent ?\n /^[\\u0591-\\u065F\\u066A-\\u07FF\\uFB1D-\\uFDFD\\uFE70-\\uFEFC]/\n .test(elem.textContent) : false;\n // For each of the tspans, create a stroked copy behind it.\n firstRealChild = elem.firstChild;\n tspans.forEach(function (tspan, y) {\n var clone;\n // Let the first line start at the correct X position\n if (y === 0) {\n tspan.setAttribute('x', elem.getAttribute('x'));\n y = elem.getAttribute('y');\n tspan.setAttribute('y', y || 0);\n if (y === null) {\n elem.setAttribute('y', 0);\n }\n }\n // Create the clone and apply outline properties.\n // For RTL elements apply outline properties for orginal element\n // to prevent outline from overlapping the text.\n // For RTL in Firefox keep the orginal order (#10162).\n clone = tspan.cloneNode(true);\n attr((isRTL_1 && !isFirefox) ? tspan : clone, {\n 'class': 'highcharts-text-outline',\n fill: color,\n stroke: color,\n 'stroke-width': strokeWidth,\n 'stroke-linejoin': 'round'\n });\n elem.insertBefore(clone, firstRealChild);\n });\n // Create a whitespace between tspan and clone,\n // to fix the display of Arabic characters in Firefox.\n if (isRTL_1 && isFirefox && tspans[0]) {\n var whitespace = tspans[0].cloneNode(true);\n whitespace.textContent = ' ';\n elem.insertBefore(whitespace, firstRealChild);\n }\n }\n };\n /**\n * @function Highcharts.SVGElement#attr\n * @param {string} key\n * @return {number|string}\n */ /**\n * Apply native and custom attributes to the SVG elements.\n *\n * In order to set the rotation center for rotation, set x and y to 0 and\n * use `translateX` and `translateY` attributes to position the element\n * instead.\n *\n * Attributes frequently used in Highcharts are `fill`, `stroke`,\n * `stroke-width`.\n *\n * @sample highcharts/members/renderer-rect/\n * Setting some attributes\n *\n * @example\n * // Set multiple attributes\n * element.attr({\n * stroke: 'red',\n * fill: 'blue',\n * x: 10,\n * y: 10\n * });\n *\n * // Set a single attribute\n * element.attr('stroke', 'red');\n *\n * // Get an attribute\n * element.attr('stroke'); // => 'red'\n *\n * @function Highcharts.SVGElement#attr\n *\n * @param {string|Highcharts.SVGAttributes} [hash]\n * The native and custom SVG attributes.\n *\n * @param {number|string|Highcharts.SVGPathArray} [val]\n * If the type of the first argument is `string`, the second can be a\n * value, which will serve as a single attribute setter. If the first\n * argument is a string and the second is undefined, the function\n * serves as a getter and the current value of the property is\n * returned.\n *\n * @param {Function} [complete]\n * A callback function to execute after setting the attributes. This\n * makes the function compliant and interchangeable with the\n * {@link SVGElement#animate} function.\n *\n * @param {boolean} [continueAnimation=true]\n * Used internally when `.attr` is called as part of an animation\n * step. Otherwise, calling `.attr` for an attribute will stop\n * animation for that attribute.\n *\n * @return {Highcharts.SVGElement}\n * If used as a setter, it returns the current\n * {@link Highcharts.SVGElement} so the calls can be chained. If\n * used as a getter, the current value of the attribute is returned.\n */\n SVGElement.prototype.attr = function (hash, val, complete, continueAnimation) {\n var key,\n element = this.element,\n hasSetSymbolSize,\n ret = this,\n skipAttr,\n setter,\n symbolCustomAttribs = this.symbolCustomAttribs;\n // single key-value pair\n if (typeof hash === 'string' && typeof val !== 'undefined') {\n key = hash;\n hash = {};\n hash[key] = val;\n }\n // used as a getter: first argument is a string, second is undefined\n if (typeof hash === 'string') {\n ret = (this[hash + 'Getter'] ||\n this._defaultGetter).call(this, hash, element);\n // setter\n }\n else {\n objectEach(hash, function eachAttribute(val, key) {\n skipAttr = false;\n // Unless .attr is from the animator update, stop current\n // running animation of this property\n if (!continueAnimation) {\n stop(this, key);\n }\n // Special handling of symbol attributes\n if (this.symbolName &&\n symbolCustomAttribs.indexOf(key) !== -1) {\n if (!hasSetSymbolSize) {\n this.symbolAttr(hash);\n hasSetSymbolSize = true;\n }\n skipAttr = true;\n }\n if (this.rotation && (key === 'x' || key === 'y')) {\n this.doTransform = true;\n }\n if (!skipAttr) {\n setter = (this[key + 'Setter'] ||\n this._defaultSetter);\n setter.call(this, val, key, element);\n // Let the shadow follow the main element\n if (!this.styledMode &&\n this.shadows &&\n /^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(key)) {\n this.updateShadows(key, val, setter);\n }\n }\n }, this);\n this.afterSetters();\n }\n // In accordance with animate, run a complete callback\n if (complete) {\n complete.call(this);\n }\n return ret;\n };\n /**\n * Apply a clipping rectangle to this element.\n *\n * @function Highcharts.SVGElement#clip\n *\n * @param {Highcharts.ClipRectElement} [clipRect]\n * The clipping rectangle. If skipped, the current clip is removed.\n *\n * @return {Highcharts.SVGElement}\n * Returns the SVG element to allow chaining.\n */\n SVGElement.prototype.clip = function (clipRect) {\n return this.attr('clip-path', clipRect ?\n 'url(' + this.renderer.url + '#' + clipRect.id + ')' :\n 'none');\n };\n /**\n * Calculate the coordinates needed for drawing a rectangle crisply and\n * return the calculated attributes.\n *\n * @function Highcharts.SVGElement#crisp\n *\n * @param {Highcharts.RectangleObject} rect\n * Rectangle to crisp.\n *\n * @param {number} [strokeWidth]\n * The stroke width to consider when computing crisp positioning. It can\n * also be set directly on the rect parameter.\n *\n * @return {Highcharts.RectangleObject}\n * The modified rectangle arguments.\n */\n SVGElement.prototype.crisp = function (rect, strokeWidth) {\n var wrapper = this,\n normalizer;\n strokeWidth = strokeWidth || rect.strokeWidth || 0;\n // Math.round because strokeWidth can sometimes have roundoff errors\n normalizer = Math.round(strokeWidth) % 2 / 2;\n // normalize for crisp edges\n rect.x = Math.floor(rect.x || wrapper.x || 0) + normalizer;\n rect.y = Math.floor(rect.y || wrapper.y || 0) + normalizer;\n rect.width = Math.floor((rect.width || wrapper.width || 0) - 2 * normalizer);\n rect.height = Math.floor((rect.height || wrapper.height || 0) - 2 * normalizer);\n if (defined(rect.strokeWidth)) {\n rect.strokeWidth = strokeWidth;\n }\n return rect;\n };\n /**\n * Build and apply an SVG gradient out of a common JavaScript configuration\n * object. This function is called from the attribute setters. An event\n * hook is added for supporting other complex color types.\n *\n * @private\n * @function Highcharts.SVGElement#complexColor\n *\n * @param {Highcharts.GradientColorObject|Highcharts.PatternObject} colorOptions\n * The gradient or pattern options structure.\n *\n * @param {string} prop\n * The property to apply, can either be `fill` or `stroke`.\n *\n * @param {Highcharts.SVGDOMElement} elem\n * SVG element to apply the gradient on.\n */\n SVGElement.prototype.complexColor = function (colorOptions, prop, elem) {\n var renderer = this.renderer,\n colorObject,\n gradName,\n gradAttr,\n radAttr,\n gradients,\n stops,\n stopColor,\n stopOpacity,\n radialReference,\n id,\n key = [],\n value;\n fireEvent(this.renderer, 'complexColor', {\n args: arguments\n }, function () {\n // Apply linear or radial gradients\n if (colorOptions.radialGradient) {\n gradName = 'radialGradient';\n }\n else if (colorOptions.linearGradient) {\n gradName = 'linearGradient';\n }\n if (gradName) {\n gradAttr = colorOptions[gradName];\n gradients = renderer.gradients;\n stops = colorOptions.stops;\n radialReference = elem.radialReference;\n // Keep < 2.2 kompatibility\n if (isArray(gradAttr)) {\n colorOptions[gradName] = gradAttr = {\n x1: gradAttr[0],\n y1: gradAttr[1],\n x2: gradAttr[2],\n y2: gradAttr[3],\n gradientUnits: 'userSpaceOnUse'\n };\n }\n // Correct the radial gradient for the radial reference system\n if (gradName === 'radialGradient' &&\n radialReference &&\n !defined(gradAttr.gradientUnits)) {\n // Save the radial attributes for updating\n radAttr = gradAttr;\n gradAttr = merge(gradAttr, renderer.getRadialAttr(radialReference, radAttr), { gradientUnits: 'userSpaceOnUse' });\n }\n // Build the unique key to detect whether we need to create a\n // new element (#1282)\n objectEach(gradAttr, function (val, n) {\n if (n !== 'id') {\n key.push(n, val);\n }\n });\n objectEach(stops, function (val) {\n key.push(val);\n });\n key = key.join(',');\n // Check if a gradient object with the same config object is\n // created within this renderer\n if (gradients[key]) {\n id = gradients[key].attr('id');\n }\n else {\n // Set the id and create the element\n gradAttr.id = id = uniqueKey();\n var gradientObject_1 = gradients[key] =\n renderer.createElement(gradName)\n .attr(gradAttr)\n .add(renderer.defs);\n gradientObject_1.radAttr = radAttr;\n // The gradient needs to keep a list of stops to be able to\n // destroy them\n gradientObject_1.stops = [];\n stops.forEach(function (stop) {\n var stopObject;\n if (stop[1].indexOf('rgba') === 0) {\n colorObject = Color.parse(stop[1]);\n stopColor = colorObject.get('rgb');\n stopOpacity = colorObject.get('a');\n }\n else {\n stopColor = stop[1];\n stopOpacity = 1;\n }\n stopObject = renderer.createElement('stop').attr({\n offset: stop[0],\n 'stop-color': stopColor,\n 'stop-opacity': stopOpacity\n }).add(gradientObject_1);\n // Add the stop element to the gradient\n gradientObject_1.stops.push(stopObject);\n });\n }\n // Set the reference to the gradient object\n value = 'url(' + renderer.url + '#' + id + ')';\n elem.setAttribute(prop, value);\n elem.gradient = key;\n // Allow the color to be concatenated into tooltips formatters\n // etc. (#2995)\n colorOptions.toString = function () {\n return value;\n };\n }\n });\n };\n /**\n * Set styles for the element. In addition to CSS styles supported by\n * native SVG and HTML elements, there are also some custom made for\n * Highcharts, like `width`, `ellipsis` and `textOverflow` for SVG text\n * elements.\n *\n * @sample highcharts/members/renderer-text-on-chart/\n * Styled text\n *\n * @function Highcharts.SVGElement#css\n *\n * @param {Highcharts.CSSObject} styles\n * The new CSS styles.\n *\n * @return {Highcharts.SVGElement}\n * Return the SVG element for chaining.\n */\n SVGElement.prototype.css = function (styles) {\n var oldStyles = this.styles, newStyles = {}, elem = this.element, textWidth, serializedCss = '', hyphenate, hasNew = !oldStyles, \n // These CSS properties are interpreted internally by the SVG\n // renderer, but are not supported by SVG and should not be added to\n // the DOM. In styled mode, no CSS should find its way to the DOM\n // whatsoever (#6173, #6474).\n svgPseudoProps = ['textOutline', 'textOverflow', 'width'];\n // convert legacy\n if (styles && styles.color) {\n styles.fill = styles.color;\n }\n // Filter out existing styles to increase performance (#2640)\n if (oldStyles) {\n objectEach(styles, function (style, n) {\n if (oldStyles && oldStyles[n] !== style) {\n newStyles[n] = style;\n hasNew = true;\n }\n });\n }\n if (hasNew) {\n // Merge the new styles with the old ones\n if (oldStyles) {\n styles = extend(oldStyles, newStyles);\n }\n // Get the text width from style\n if (styles) {\n // Previously set, unset it (#8234)\n if (styles.width === null || styles.width === 'auto') {\n delete this.textWidth;\n // Apply new\n }\n else if (elem.nodeName.toLowerCase() === 'text' &&\n styles.width) {\n textWidth = this.textWidth = pInt(styles.width);\n }\n }\n // store object\n this.styles = styles;\n if (textWidth && (!svg && this.renderer.forExport)) {\n delete styles.width;\n }\n // Serialize and set style attribute\n if (elem.namespaceURI === this.SVG_NS) { // #7633\n hyphenate = function (a, b) {\n return '-' + b.toLowerCase();\n };\n objectEach(styles, function (style, n) {\n if (svgPseudoProps.indexOf(n) === -1) {\n serializedCss +=\n n.replace(/([A-Z])/g, hyphenate) + ':' +\n style + ';';\n }\n });\n if (serializedCss) {\n attr(elem, 'style', serializedCss); // #1881\n }\n }\n else {\n css(elem, styles);\n }\n if (this.added) {\n // Rebuild text after added. Cache mechanisms in the buildText\n // will prevent building if there are no significant changes.\n if (this.element.nodeName === 'text') {\n this.renderer.buildText(this);\n }\n // Apply text outline after added\n if (styles && styles.textOutline) {\n this.applyTextOutline(styles.textOutline);\n }\n }\n }\n return this;\n };\n /**\n * @private\n * @function Highcharts.SVGElement#dashstyleSetter\n * @param {string} value\n */\n SVGElement.prototype.dashstyleSetter = function (value) {\n var i,\n strokeWidth = this['stroke-width'];\n // If \"inherit\", like maps in IE, assume 1 (#4981). With HC5 and the new\n // strokeWidth function, we should be able to use that instead.\n if (strokeWidth === 'inherit') {\n strokeWidth = 1;\n }\n value = value && value.toLowerCase();\n if (value) {\n var v = value\n .replace('shortdashdotdot', '3,1,1,1,1,1,')\n .replace('shortdashdot', '3,1,1,1')\n .replace('shortdot', '1,1,')\n .replace('shortdash', '3,1,')\n .replace('longdash', '8,3,')\n .replace(/dot/g, '1,3,')\n .replace('dash', '4,3,')\n .replace(/,$/, '')\n .split(','); // ending comma\n i = v.length;\n while (i--) {\n v[i] = '' + (pInt(v[i]) * pick(strokeWidth, NaN));\n }\n value = v.join(',').replace(/NaN/g, 'none'); // #3226\n this.element.setAttribute('stroke-dasharray', value);\n }\n };\n /**\n * Destroy the element and element wrapper and clear up the DOM and event\n * hooks.\n *\n * @function Highcharts.SVGElement#destroy\n */\n SVGElement.prototype.destroy = function () {\n var wrapper = this,\n element = wrapper.element || {},\n renderer = wrapper.renderer,\n parentToClean = (renderer.isSVG &&\n element.nodeName === 'SPAN' &&\n wrapper.parentGroup ||\n void 0),\n grandParent,\n ownerSVGElement = element.ownerSVGElement,\n i;\n // remove events\n element.onclick = element.onmouseout = element.onmouseover =\n element.onmousemove = element.point = null;\n stop(wrapper); // stop running animations\n if (wrapper.clipPath && ownerSVGElement) {\n var clipPath_1 = wrapper.clipPath;\n // Look for existing references to this clipPath and remove them\n // before destroying the element (#6196).\n // The upper case version is for Edge\n [].forEach.call(ownerSVGElement.querySelectorAll('[clip-path],[CLIP-PATH]'), function (el) {\n var clipPathAttr = el.getAttribute('clip-path');\n if (clipPathAttr.indexOf(clipPath_1.element.id) > -1) {\n el.removeAttribute('clip-path');\n }\n });\n wrapper.clipPath = clipPath_1.destroy();\n }\n // Destroy stops in case this is a gradient object @todo old code?\n if (wrapper.stops) {\n for (i = 0; i < wrapper.stops.length; i++) {\n wrapper.stops[i].destroy();\n }\n wrapper.stops.length = 0;\n wrapper.stops = void 0;\n }\n // remove element\n wrapper.safeRemoveChild(element);\n if (!renderer.styledMode) {\n wrapper.destroyShadows();\n }\n // In case of useHTML, clean up empty containers emulating SVG groups\n // (#1960, #2393, #2697).\n while (parentToClean &&\n parentToClean.div &&\n parentToClean.div.childNodes.length === 0) {\n grandParent = parentToClean.parentGroup;\n wrapper.safeRemoveChild(parentToClean.div);\n delete parentToClean.div;\n parentToClean = grandParent;\n }\n // remove from alignObjects\n if (wrapper.alignTo) {\n erase(renderer.alignedObjects, wrapper);\n }\n objectEach(wrapper, function (val, key) {\n // Destroy child elements of a group\n if (wrapper[key] &&\n wrapper[key].parentGroup === wrapper &&\n wrapper[key].destroy) {\n wrapper[key].destroy();\n }\n // Delete all properties\n delete wrapper[key];\n });\n return;\n };\n /**\n * Destroy shadows on the element.\n *\n * @private\n * @function Highcharts.SVGElement#destroyShadows\n *\n * @return {void}\n */\n SVGElement.prototype.destroyShadows = function () {\n (this.shadows || []).forEach(function (shadow) {\n this.safeRemoveChild(shadow);\n }, this);\n this.shadows = void 0;\n };\n /**\n * @private\n */\n SVGElement.prototype.destroyTextPath = function (elem, path) {\n var textElement = elem.getElementsByTagName('text')[0];\n var tspans;\n if (textElement) {\n // Remove textPath attributes\n textElement.removeAttribute('dx');\n textElement.removeAttribute('dy');\n // Remove ID's:\n path.element.setAttribute('id', '');\n // Check if textElement includes textPath,\n if (this.textPathWrapper &&\n textElement.getElementsByTagName('textPath').length) {\n // Move nodes to \n tspans = this.textPathWrapper.element.childNodes;\n // Now move all 's to the node\n while (tspans.length) {\n textElement.appendChild(tspans[0]);\n }\n // Remove from the DOM\n textElement.removeChild(this.textPathWrapper.element);\n }\n }\n else if (elem.getAttribute('dx') || elem.getAttribute('dy')) {\n // Remove textPath attributes from elem\n // to get correct text-outline position\n elem.removeAttribute('dx');\n elem.removeAttribute('dy');\n }\n if (this.textPathWrapper) {\n // Set textPathWrapper to undefined and destroy it\n this.textPathWrapper = this.textPathWrapper.destroy();\n }\n };\n /**\n * @private\n * @function Highcharts.SVGElement#dSettter\n * @param {number|string|Highcharts.SVGPathArray} value\n * @param {string} key\n * @param {Highcharts.SVGDOMElement} element\n */\n SVGElement.prototype.dSetter = function (value, key, element) {\n if (isArray(value)) {\n // Backwards compatibility, convert one-dimensional array into an\n // array of segments\n if (typeof value[0] === 'string') {\n value = this.renderer.pathToSegments(value);\n }\n this.pathArray = value;\n value = value.reduce(function (acc, seg, i) {\n if (!seg || !seg.join) {\n return (seg || '').toString();\n }\n return (i ? acc + ' ' : '') + seg.join(' ');\n }, '');\n }\n if (/(NaN| {2}|^$)/.test(value)) {\n value = 'M 0 0';\n }\n // Check for cache before resetting. Resetting causes disturbance in the\n // DOM, causing flickering in some cases in Edge/IE (#6747). Also\n // possible performance gain.\n if (this[key] !== value) {\n element.setAttribute(key, value);\n this[key] = value;\n }\n };\n /**\n * Fade out an element by animating its opacity down to 0, and hide it on\n * complete. Used internally for the tooltip.\n *\n * @function Highcharts.SVGElement#fadeOut\n *\n * @param {number} [duration=150]\n * The fade duration in milliseconds.\n */\n SVGElement.prototype.fadeOut = function (duration) {\n var elemWrapper = this;\n elemWrapper.animate({\n opacity: 0\n }, {\n duration: pick(duration, 150),\n complete: function () {\n // #3088, assuming we're only using this for tooltips\n elemWrapper.attr({ y: -9999 }).hide();\n }\n });\n };\n /**\n * @private\n * @function Highcharts.SVGElement#fillSetter\n * @param {Highcharts.ColorType} value\n * @param {string} key\n * @param {Highcharts.SVGDOMElement} element\n */\n SVGElement.prototype.fillSetter = function (value, key, element) {\n if (typeof value === 'string') {\n element.setAttribute(key, value);\n }\n else if (value) {\n this.complexColor(value, key, element);\n }\n };\n /**\n * Get the bounding box (width, height, x and y) for the element. Generally\n * used to get rendered text size. Since this is called a lot in charts,\n * the results are cached based on text properties, in order to save DOM\n * traffic. The returned bounding box includes the rotation, so for example\n * a single text line of rotation 90 will report a greater height, and a\n * width corresponding to the line-height.\n *\n * @sample highcharts/members/renderer-on-chart/\n * Draw a rectangle based on a text's bounding box\n *\n * @function Highcharts.SVGElement#getBBox\n *\n * @param {boolean} [reload]\n * Skip the cache and get the updated DOM bouding box.\n *\n * @param {number} [rot]\n * Override the element's rotation. This is internally used on axis\n * labels with a value of 0 to find out what the bounding box would\n * be have been if it were not rotated.\n *\n * @return {Highcharts.BBoxObject}\n * The bounding box with `x`, `y`, `width` and `height` properties.\n */\n SVGElement.prototype.getBBox = function (reload, rot) {\n var wrapper = this,\n bBox, // = wrapper.bBox,\n renderer = wrapper.renderer,\n width,\n height,\n element = wrapper.element,\n styles = wrapper.styles,\n fontSize,\n textStr = wrapper.textStr,\n toggleTextShadowShim,\n cache = renderer.cache,\n cacheKeys = renderer.cacheKeys,\n isSVG = element.namespaceURI === wrapper.SVG_NS,\n cacheKey;\n var rotation = pick(rot,\n wrapper.rotation, 0);\n fontSize = renderer.styledMode ? (element &&\n SVGElement.prototype.getStyle.call(element, 'font-size')) : (styles && styles.fontSize);\n // Avoid undefined and null (#7316)\n if (defined(textStr)) {\n cacheKey = textStr.toString();\n // Since numbers are monospaced, and numerical labels appear a lot\n // in a chart, we assume that a label of n characters has the same\n // bounding box as others of the same length. Unless there is inner\n // HTML in the label. In that case, leave the numbers as is (#5899).\n if (cacheKey.indexOf('<') === -1) {\n cacheKey = cacheKey.replace(/[0-9]/g, '0');\n }\n // Properties that affect bounding box\n cacheKey += [\n '',\n rotation,\n fontSize,\n wrapper.textWidth,\n styles && styles.textOverflow,\n styles && styles.fontWeight // #12163\n ].join(',');\n }\n if (cacheKey && !reload) {\n bBox = cache[cacheKey];\n }\n // No cache found\n if (!bBox) {\n // SVG elements\n if (isSVG || renderer.forExport) {\n try { // Fails in Firefox if the container has display: none.\n // When the text shadow shim is used, we need to hide the\n // fake shadows to get the correct bounding box (#3872)\n toggleTextShadowShim = this.fakeTS && function (display) {\n [].forEach.call(element.querySelectorAll('.highcharts-text-outline'), function (tspan) {\n tspan.style.display = display;\n });\n };\n // Workaround for #3842, Firefox reporting wrong bounding\n // box for shadows\n if (isFunction(toggleTextShadowShim)) {\n toggleTextShadowShim('none');\n }\n bBox = element.getBBox ?\n // SVG: use extend because IE9 is not allowed to change\n // width and height in case of rotation (below)\n extend({}, element.getBBox()) : {\n // Legacy IE in export mode\n width: element.offsetWidth,\n height: element.offsetHeight\n };\n // #3842\n if (isFunction(toggleTextShadowShim)) {\n toggleTextShadowShim('');\n }\n }\n catch (e) {\n '';\n }\n // If the bBox is not set, the try-catch block above failed. The\n // other condition is for Opera that returns a width of\n // -Infinity on hidden elements.\n if (!bBox || bBox.width < 0) {\n bBox = { width: 0, height: 0 };\n }\n // VML Renderer or useHTML within SVG\n }\n else {\n bBox = wrapper.htmlGetBBox();\n }\n // True SVG elements as well as HTML elements in modern browsers\n // using the .useHTML option need to compensated for rotation\n if (renderer.isSVG) {\n width = bBox.width;\n height = bBox.height;\n // Workaround for wrong bounding box in IE, Edge and Chrome on\n // Windows. With Highcharts' default font, IE and Edge report\n // a box height of 16.899 and Chrome rounds it to 17. If this\n // stands uncorrected, it results in more padding added below\n // the text than above when adding a label border or background.\n // Also vertical positioning is affected.\n // https://jsfiddle.net/highcharts/em37nvuj/\n // (#1101, #1505, #1669, #2568, #6213).\n if (isSVG) {\n bBox.height = height = ({\n '11px,17': 14,\n '13px,20': 16\n }[styles &&\n styles.fontSize + ',' + Math.round(height)] ||\n height);\n }\n // Adjust for rotated text\n if (rotation) {\n var rad = rotation * deg2rad;\n bBox.width = Math.abs(height * Math.sin(rad)) +\n Math.abs(width * Math.cos(rad));\n bBox.height = Math.abs(height * Math.cos(rad)) +\n Math.abs(width * Math.sin(rad));\n }\n }\n // Cache it. When loading a chart in a hidden iframe in Firefox and\n // IE/Edge, the bounding box height is 0, so don't cache it (#5620).\n if (cacheKey && bBox.height > 0) {\n // Rotate (#4681)\n while (cacheKeys.length > 250) {\n delete cache[cacheKeys.shift()];\n }\n if (!cache[cacheKey]) {\n cacheKeys.push(cacheKey);\n }\n cache[cacheKey] = bBox;\n }\n }\n return bBox;\n };\n /**\n * Get the computed style. Only in styled mode.\n *\n * @example\n * chart.series[0].points[0].graphic.getStyle('stroke-width'); // => '1px'\n *\n * @function Highcharts.SVGElement#getStyle\n *\n * @param {string} prop\n * The property name to check for.\n *\n * @return {string}\n * The current computed value.\n */\n SVGElement.prototype.getStyle = function (prop) {\n return win\n .getComputedStyle(this.element || this, '')\n .getPropertyValue(prop);\n };\n /**\n * Check if an element has the given class name.\n *\n * @function Highcharts.SVGElement#hasClass\n *\n * @param {string} className\n * The class name to check for.\n *\n * @return {boolean}\n * Whether the class name is found.\n */\n SVGElement.prototype.hasClass = function (className) {\n return ('' + this.attr('class'))\n .split(' ')\n .indexOf(className) !== -1;\n };\n /**\n * Hide the element, similar to setting the `visibility` attribute to\n * `hidden`.\n *\n * @function Highcharts.SVGElement#hide\n *\n * @param {boolean} [hideByTranslation=false]\n * The flag to determine if element should be hidden by moving out\n * of the viewport. Used for example for dataLabels.\n *\n * @return {Highcharts.SVGElement}\n * Returns the SVGElement for chaining.\n */\n SVGElement.prototype.hide = function (hideByTranslation) {\n if (hideByTranslation) {\n this.attr({ y: -9999 });\n }\n else {\n this.attr({ visibility: 'hidden' });\n }\n return this;\n };\n /**\n * @private\n */\n SVGElement.prototype.htmlGetBBox = function () {\n return { height: 0, width: 0, x: 0, y: 0 };\n };\n /**\n * Initialize the SVG element. This function only exists to make the\n * initialization process overridable. It should not be called directly.\n *\n * @function Highcharts.SVGElement#init\n *\n * @param {Highcharts.SVGRenderer} renderer\n * The SVGRenderer instance to initialize to.\n *\n * @param {string} nodeName\n * The SVG node name.\n */\n SVGElement.prototype.init = function (renderer, nodeName) {\n /**\n * The primary DOM node. Each `SVGElement` instance wraps a main DOM\n * node, but may also represent more nodes.\n *\n * @name Highcharts.SVGElement#element\n * @type {Highcharts.SVGDOMElement|Highcharts.HTMLDOMElement}\n */\n this.element = nodeName === 'span' ?\n createElement(nodeName) :\n doc.createElementNS(this.SVG_NS, nodeName);\n /**\n * The renderer that the SVGElement belongs to.\n *\n * @name Highcharts.SVGElement#renderer\n * @type {Highcharts.SVGRenderer}\n */\n this.renderer = renderer;\n fireEvent(this, 'afterInit');\n };\n /**\n * Invert a group, rotate and flip. This is used internally on inverted\n * charts, where the points and graphs are drawn as if not inverted, then\n * the series group elements are inverted.\n *\n * @function Highcharts.SVGElement#invert\n *\n * @param {boolean} inverted\n * Whether to invert or not. An inverted shape can be un-inverted by\n * setting it to false.\n *\n * @return {Highcharts.SVGElement}\n * Return the SVGElement for chaining.\n */\n SVGElement.prototype.invert = function (inverted) {\n var wrapper = this;\n wrapper.inverted = inverted;\n wrapper.updateTransform();\n return wrapper;\n };\n /**\n * Add an event listener. This is a simple setter that replaces all other\n * events of the same type, opposed to the {@link Highcharts#addEvent}\n * function.\n *\n * @sample highcharts/members/element-on/\n * A clickable rectangle\n *\n * @function Highcharts.SVGElement#on\n *\n * @param {string} eventType\n * The event type. If the type is `click`, Highcharts will internally\n * translate it to a `touchstart` event on touch devices, to prevent the\n * browser from waiting for a click event from firing.\n *\n * @param {Function} handler\n * The handler callback.\n *\n * @return {Highcharts.SVGElement}\n * The SVGElement for chaining.\n */\n SVGElement.prototype.on = function (eventType, handler) {\n var svgElement = this,\n element = svgElement.element,\n touchStartPos,\n touchEventFired;\n // touch\n if (hasTouch && eventType === 'click') {\n element.ontouchstart = function (e) {\n // save touch position for later calculation\n touchStartPos = {\n clientX: e.touches[0].clientX,\n clientY: e.touches[0].clientY\n };\n };\n // Instead of ontouchstart, event handlers should be called\n // on touchend - similar to how current mouseup events are called\n element.ontouchend = function (e) {\n // hasMoved is a boolean variable containing logic if page\n // was scrolled, so if touch position changed more than\n // ~4px (value borrowed from general touch handler)\n var hasMoved = touchStartPos.clientX ? Math.sqrt(Math.pow(touchStartPos.clientX - e.changedTouches[0].clientX, 2) +\n Math.pow(touchStartPos.clientY - e.changedTouches[0].clientY, 2)) >= 4 : false;\n if (!hasMoved) { // only call handlers if page was not scrolled\n handler.call(element, e);\n }\n touchEventFired = true;\n if (e.cancelable !== false) {\n // prevent other events from being fired. #9682\n e.preventDefault();\n }\n };\n element.onclick = function (e) {\n // Do not call onclick handler if touch event was fired already.\n if (!touchEventFired) {\n handler.call(element, e);\n }\n };\n }\n else {\n // simplest possible event model for internal use\n element['on' + eventType] = handler;\n }\n return this;\n };\n /**\n * @private\n * @function Highcharts.SVGElement#opacitySetter\n * @param {string} value\n * @param {string} key\n * @param {Highcharts.SVGDOMElement} element\n */\n SVGElement.prototype.opacitySetter = function (value, key, element) {\n // Round off to avoid float errors, like tests where opacity lands on\n // 9.86957e-06 instead of 0\n var opacity = Number(Number(value).toFixed(3));\n this.opacity = opacity;\n element.setAttribute(key, opacity);\n };\n /**\n * Remove a class name from the element.\n *\n * @function Highcharts.SVGElement#removeClass\n *\n * @param {string|RegExp} className\n * The class name to remove.\n *\n * @return {Highcharts.SVGElement} Returns the SVG element for chainability.\n */\n SVGElement.prototype.removeClass = function (className) {\n return this.attr('class', ('' + this.attr('class'))\n .replace(isString(className) ?\n new RegExp(\"(^| )\" + className + \"( |$)\") : // #12064, #13590\n className, ' ')\n .replace(/ +/g, ' ')\n .trim());\n };\n /**\n * @private\n * @param {Array} tspans\n * Text spans.\n */\n SVGElement.prototype.removeTextOutline = function (tspans) {\n // Iterate from the end to\n // support removing items inside the cycle (#6472).\n var i = tspans.length,\n tspan;\n while (i--) {\n tspan = tspans[i];\n if (tspan.getAttribute('class') === 'highcharts-text-outline') {\n // Remove then erase\n erase(tspans, this.element.removeChild(tspan));\n }\n }\n };\n /**\n * Removes an element from the DOM.\n *\n * @private\n * @function Highcharts.SVGElement#safeRemoveChild\n *\n * @param {Highcharts.SVGDOMElement|Highcharts.HTMLDOMElement} element\n * The DOM node to remove.\n */\n SVGElement.prototype.safeRemoveChild = function (element) {\n var parentNode = element.parentNode;\n if (parentNode) {\n parentNode.removeChild(element);\n }\n };\n /**\n * Set the coordinates needed to draw a consistent radial gradient across\n * a shape regardless of positioning inside the chart. Used on pie slices\n * to make all the slices have the same radial reference point.\n *\n * @function Highcharts.SVGElement#setRadialReference\n *\n * @param {Array} coordinates\n * The center reference. The format is `[centerX, centerY, diameter]` in\n * pixels.\n *\n * @return {Highcharts.SVGElement}\n * Returns the SVGElement for chaining.\n */\n SVGElement.prototype.setRadialReference = function (coordinates) {\n var existingGradient = (this.element.gradient &&\n this.renderer.gradients[this.element.gradient]);\n this.element.radialReference = coordinates;\n // On redrawing objects with an existing gradient, the gradient needs\n // to be repositioned (#3801)\n if (existingGradient && existingGradient.radAttr) {\n existingGradient.animate(this.renderer.getRadialAttr(coordinates, existingGradient.radAttr));\n }\n return this;\n };\n /**\n * @private\n * @function Highcharts.SVGElement#setTextPath\n * @param {Highcharts.SVGElement} path\n * Path to follow.\n * @param {Highcharts.DataLabelsTextPathOptionsObject} textPathOptions\n * Options.\n * @return {Highcharts.SVGElement}\n * Returns the SVGElement for chaining.\n */\n SVGElement.prototype.setTextPath = function (path, textPathOptions) {\n var elem = this.element,\n attribsMap = {\n textAnchor: 'text-anchor'\n },\n attrs,\n adder = false,\n textPathElement,\n textPathId,\n textPathWrapper = this.textPathWrapper,\n tspans,\n firstTime = !textPathWrapper;\n // Defaults\n textPathOptions = merge(true, {\n enabled: true,\n attributes: {\n dy: -5,\n startOffset: '50%',\n textAnchor: 'middle'\n }\n }, textPathOptions);\n attrs = textPathOptions.attributes;\n if (path && textPathOptions && textPathOptions.enabled) {\n // In case of fixed width for a text, string is rebuilt\n // (e.g. ellipsis is applied), so we need to rebuild textPath too\n if (textPathWrapper &&\n textPathWrapper.element.parentNode === null) {\n // When buildText functionality was triggered again\n // and deletes textPathWrapper parentNode\n firstTime = true;\n textPathWrapper = textPathWrapper.destroy();\n }\n else if (textPathWrapper) {\n // Case after drillup when spans were added into\n // the DOM outside the textPathWrapper parentGroup\n this.removeTextOutline.call(textPathWrapper.parentGroup, [].slice.call(elem.getElementsByTagName('tspan')));\n }\n // label() has padding, text() doesn't\n if (this.options && this.options.padding) {\n attrs.dx = -this.options.padding;\n }\n if (!textPathWrapper) {\n // Create , defer the DOM adder\n this.textPathWrapper = textPathWrapper =\n this.renderer.createElement('textPath');\n adder = true;\n }\n textPathElement = textPathWrapper.element;\n // Set ID for the path\n textPathId = path.element.getAttribute('id');\n if (!textPathId) {\n path.element.setAttribute('id', textPathId = uniqueKey());\n }\n // Change DOM structure, by placing tag in \n if (firstTime) {\n tspans = elem.getElementsByTagName('tspan');\n // Now move all 's to the node\n while (tspans.length) {\n // Remove \"y\" from tspans, as Firefox translates them\n tspans[0].setAttribute('y', 0);\n // Remove \"x\" from tspans\n if (isNumber(attrs.dx)) {\n tspans[0].setAttribute('x', -attrs.dx);\n }\n textPathElement.appendChild(tspans[0]);\n }\n }\n // Add to the DOM\n if (adder &&\n textPathWrapper) {\n textPathWrapper.add({\n // label() is placed in a group, text() is standalone\n element: this.text ? this.text.element : elem\n });\n }\n // Set basic options:\n // Use `setAttributeNS` because Safari needs this..\n textPathElement.setAttributeNS('http://www.w3.org/1999/xlink', 'href', this.renderer.url + '#' + textPathId);\n // Presentation attributes:\n // dx/dy options must by set on (parent),\n // the rest should be set on \n if (defined(attrs.dy)) {\n textPathElement.parentNode\n .setAttribute('dy', attrs.dy);\n delete attrs.dy;\n }\n if (defined(attrs.dx)) {\n textPathElement.parentNode\n .setAttribute('dx', attrs.dx);\n delete attrs.dx;\n }\n // Additional attributes\n objectEach(attrs, function (val, key) {\n textPathElement.setAttribute(attribsMap[key] || key, val);\n });\n // Remove translation, text that follows path does not need that\n elem.removeAttribute('transform');\n // Remove shadows and text outlines\n this.removeTextOutline.call(textPathWrapper, [].slice.call(elem.getElementsByTagName('tspan')));\n // Remove background and border for label(), see #10545\n // Alternatively, we can disable setting background rects in\n // series.drawDataLabels()\n if (this.text && !this.renderer.styledMode) {\n this.attr({\n fill: 'none',\n 'stroke-width': 0\n });\n }\n // Disable some functions\n this.updateTransform = noop;\n this.applyTextOutline = noop;\n }\n else if (textPathWrapper) {\n // Reset to prototype\n delete this.updateTransform;\n delete this.applyTextOutline;\n // Restore DOM structure:\n this.destroyTextPath(elem, path);\n // Bring attributes back\n this.updateTransform();\n // Set textOutline back for text()\n if (this.options && this.options.rotation) {\n this.applyTextOutline(this.options.style.textOutline);\n }\n }\n return this;\n };\n /**\n * Add a shadow to the element. Must be called after the element is added to\n * the DOM. In styled mode, this method is not used, instead use `defs` and\n * filters.\n *\n * @example\n * renderer.rect(10, 100, 100, 100)\n * .attr({ fill: 'red' })\n * .shadow(true);\n *\n * @function Highcharts.SVGElement#shadow\n *\n * @param {boolean|Highcharts.ShadowOptionsObject} [shadowOptions]\n * The shadow options. If `true`, the default options are applied. If\n * `false`, the current shadow will be removed.\n *\n * @param {Highcharts.SVGElement} [group]\n * The SVG group element where the shadows will be applied. The\n * default is to add it to the same parent as the current element.\n * Internally, this is ised for pie slices, where all the shadows are\n * added to an element behind all the slices.\n *\n * @param {boolean} [cutOff]\n * Used internally for column shadows.\n *\n * @return {Highcharts.SVGElement}\n * Returns the SVGElement for chaining.\n */\n SVGElement.prototype.shadow = function (shadowOptions, group, cutOff) {\n var shadows = [],\n i,\n shadow,\n element = this.element,\n strokeWidth,\n shadowElementOpacity,\n update = false,\n oldShadowOptions = this.oldShadowOptions, \n // compensate for inverted plot area\n transform;\n var defaultShadowOptions = {\n color: '#000000',\n offsetX: 1,\n offsetY: 1,\n opacity: 0.15,\n width: 3\n };\n var options;\n if (shadowOptions === true) {\n options = defaultShadowOptions;\n }\n else if (typeof shadowOptions === 'object') {\n options = extend(defaultShadowOptions, shadowOptions);\n }\n // Update shadow when options change (#12091).\n if (options) {\n // Go over each key to look for change\n if (options && oldShadowOptions) {\n objectEach(options, function (value, key) {\n if (value !== oldShadowOptions[key]) {\n update = true;\n }\n });\n }\n if (update) {\n this.destroyShadows();\n }\n this.oldShadowOptions = options;\n }\n if (!options) {\n this.destroyShadows();\n }\n else if (!this.shadows) {\n shadowElementOpacity = options.opacity / options.width;\n transform = this.parentInverted ?\n 'translate(-1,-1)' :\n \"translate(\" + options.offsetX + \", \" + options.offsetY + \")\";\n for (i = 1; i <= options.width; i++) {\n shadow = element.cloneNode(false);\n strokeWidth = (options.width * 2) + 1 - (2 * i);\n attr(shadow, {\n stroke: (shadowOptions.color ||\n '#000000'),\n 'stroke-opacity': shadowElementOpacity * i,\n 'stroke-width': strokeWidth,\n transform: transform,\n fill: 'none'\n });\n shadow.setAttribute('class', (shadow.getAttribute('class') || '') + ' highcharts-shadow');\n if (cutOff) {\n attr(shadow, 'height', Math.max(attr(shadow, 'height') - strokeWidth, 0));\n shadow.cutHeight = strokeWidth;\n }\n if (group) {\n group.element.appendChild(shadow);\n }\n else if (element.parentNode) {\n element.parentNode.insertBefore(shadow, element);\n }\n shadows.push(shadow);\n }\n this.shadows = shadows;\n }\n return this;\n };\n /**\n * Show the element after it has been hidden.\n *\n * @function Highcharts.SVGElement#show\n *\n * @param {boolean} [inherit=false]\n * Set the visibility attribute to `inherit` rather than `visible`.\n * The difference is that an element with `visibility=\"visible\"`\n * will be visible even if the parent is hidden.\n *\n * @return {Highcharts.SVGElement}\n * Returns the SVGElement for chaining.\n */\n SVGElement.prototype.show = function (inherit) {\n return this.attr({ visibility: inherit ? 'inherit' : 'visible' });\n };\n /**\n * WebKit and Batik have problems with a stroke-width of zero, so in this\n * case we remove the stroke attribute altogether. #1270, #1369, #3065,\n * #3072.\n *\n * @private\n * @function Highcharts.SVGElement#strokeSetter\n * @param {number|string} value\n * @param {string} key\n * @param {Highcharts.SVGDOMElement} element\n */\n SVGElement.prototype.strokeSetter = function (value, key, element) {\n this[key] = value;\n // Only apply the stroke attribute if the stroke width is defined and\n // larger than 0\n if (this.stroke && this['stroke-width']) {\n // Use prototype as instance may be overridden\n SVGElement.prototype.fillSetter.call(this, this.stroke, 'stroke', element);\n element.setAttribute('stroke-width', this['stroke-width']);\n this.hasStroke = true;\n }\n else if (key === 'stroke-width' && value === 0 && this.hasStroke) {\n element.removeAttribute('stroke');\n this.hasStroke = false;\n }\n else if (this.renderer.styledMode && this['stroke-width']) {\n element.setAttribute('stroke-width', this['stroke-width']);\n this.hasStroke = true;\n }\n };\n /**\n * Get the computed stroke width in pixel values. This is used extensively\n * when drawing shapes to ensure the shapes are rendered crisp and\n * positioned correctly relative to each other. Using\n * `shape-rendering: crispEdges` leaves us less control over positioning,\n * for example when we want to stack columns next to each other, or position\n * things pixel-perfectly within the plot box.\n *\n * The common pattern when placing a shape is:\n * - Create the SVGElement and add it to the DOM. In styled mode, it will\n * now receive a stroke width from the style sheet. In classic mode we\n * will add the `stroke-width` attribute.\n * - Read the computed `elem.strokeWidth()`.\n * - Place it based on the stroke width.\n *\n * @function Highcharts.SVGElement#strokeWidth\n *\n * @return {number}\n * The stroke width in pixels. Even if the given stroke widtch (in CSS or by\n * attributes) is based on `em` or other units, the pixel size is returned.\n */\n SVGElement.prototype.strokeWidth = function () {\n // In non-styled mode, read the stroke width as set by .attr\n if (!this.renderer.styledMode) {\n return this['stroke-width'] || 0;\n }\n // In styled mode, read computed stroke width\n var val = this.getStyle('stroke-width'),\n ret = 0,\n dummy;\n // Read pixel values directly\n if (val.indexOf('px') === val.length - 2) {\n ret = pInt(val);\n // Other values like em, pt etc need to be measured\n }\n else if (val !== '') {\n dummy = doc.createElementNS(SVG_NS, 'rect');\n attr(dummy, {\n width: val,\n 'stroke-width': 0\n });\n this.element.parentNode.appendChild(dummy);\n ret = dummy.getBBox().width;\n dummy.parentNode.removeChild(dummy);\n }\n return ret;\n };\n /**\n * If one of the symbol size affecting parameters are changed,\n * check all the others only once for each call to an element's\n * .attr() method\n *\n * @private\n * @function Highcharts.SVGElement#symbolAttr\n *\n * @param {Highcharts.SVGAttributes} hash\n * The attributes to set.\n */\n SVGElement.prototype.symbolAttr = function (hash) {\n var wrapper = this;\n [\n 'x',\n 'y',\n 'r',\n 'start',\n 'end',\n 'width',\n 'height',\n 'innerR',\n 'anchorX',\n 'anchorY',\n 'clockwise'\n ].forEach(function (key) {\n wrapper[key] = pick(hash[key], wrapper[key]);\n });\n wrapper.attr({\n d: wrapper.renderer.symbols[wrapper.symbolName](wrapper.x, wrapper.y, wrapper.width, wrapper.height, wrapper)\n });\n };\n /**\n * @private\n * @function Highcharts.SVGElement#textSetter\n * @param {string} value\n */\n SVGElement.prototype.textSetter = function (value) {\n if (value !== this.textStr) {\n // Delete size caches when the text changes\n // delete this.bBox; // old code in series-label\n delete this.textPxLength;\n this.textStr = value;\n if (this.added) {\n this.renderer.buildText(this);\n }\n }\n };\n /**\n * @private\n * @function Highcharts.SVGElement#titleSetter\n * @param {string} value\n */\n SVGElement.prototype.titleSetter = function (value) {\n var titleNode = this.element.getElementsByTagName('title')[0];\n if (!titleNode) {\n titleNode = doc.createElementNS(this.SVG_NS, 'title');\n this.element.appendChild(titleNode);\n }\n // Remove text content if it exists\n if (titleNode.firstChild) {\n titleNode.removeChild(titleNode.firstChild);\n }\n titleNode.appendChild(doc.createTextNode(\n // #3276, #3895\n String(pick(value, ''))\n .replace(/<[^>]*>/g, '')\n .replace(/</g, '<')\n .replace(/>/g, '>')));\n };\n /**\n * Bring the element to the front. Alternatively, a new zIndex can be set.\n *\n * @sample highcharts/members/element-tofront/\n * Click an element to bring it to front\n *\n * @function Highcharts.SVGElement#toFront\n *\n * @return {Highcharts.SVGElement}\n * Returns the SVGElement for chaining.\n */\n SVGElement.prototype.toFront = function () {\n var element = this.element;\n element.parentNode.appendChild(element);\n return this;\n };\n /**\n * Move an object and its children by x and y values.\n *\n * @function Highcharts.SVGElement#translate\n *\n * @param {number} x\n * The x value.\n *\n * @param {number} y\n * The y value.\n *\n * @return {Highcharts.SVGElement}\n */\n SVGElement.prototype.translate = function (x, y) {\n return this.attr({\n translateX: x,\n translateY: y\n });\n };\n /**\n * Update the shadow elements with new attributes.\n *\n * @private\n * @function Highcharts.SVGElement#updateShadows\n *\n * @param {string} key\n * The attribute name.\n *\n * @param {number} value\n * The value of the attribute.\n *\n * @param {Function} setter\n * The setter function, inherited from the parent wrapper.\n */\n SVGElement.prototype.updateShadows = function (key, value, setter) {\n var shadows = this.shadows;\n if (shadows) {\n var i = shadows.length;\n while (i--) {\n setter.call(shadows[i], key === 'height' ?\n Math.max(value - (shadows[i].cutHeight || 0), 0) :\n key === 'd' ? this.d : value, key, shadows[i]);\n }\n }\n };\n /**\n * Update the transform attribute based on internal properties. Deals with\n * the custom `translateX`, `translateY`, `rotation`, `scaleX` and `scaleY`\n * attributes and updates the SVG `transform` attribute.\n *\n * @private\n * @function Highcharts.SVGElement#updateTransform\n */\n SVGElement.prototype.updateTransform = function () {\n var wrapper = this,\n translateX = wrapper.translateX || 0,\n translateY = wrapper.translateY || 0,\n scaleX = wrapper.scaleX,\n scaleY = wrapper.scaleY,\n inverted = wrapper.inverted,\n rotation = wrapper.rotation,\n matrix = wrapper.matrix,\n element = wrapper.element,\n transform;\n // Flipping affects translate as adjustment for flipping around the\n // group's axis\n if (inverted) {\n translateX += wrapper.width;\n translateY += wrapper.height;\n }\n // Apply translate. Nearly all transformed elements have translation,\n // so instead of checking for translate = 0, do it always (#1767,\n // #1846).\n transform = ['translate(' + translateX + ',' + translateY + ')'];\n // apply matrix\n if (defined(matrix)) {\n transform.push('matrix(' + matrix.join(',') + ')');\n }\n // apply rotation\n if (inverted) {\n transform.push('rotate(90) scale(-1,1)');\n }\n else if (rotation) { // text rotation\n transform.push('rotate(' + rotation + ' ' +\n pick(this.rotationOriginX, element.getAttribute('x'), 0) +\n ' ' +\n pick(this.rotationOriginY, element.getAttribute('y') || 0) + ')');\n }\n // apply scale\n if (defined(scaleX) || defined(scaleY)) {\n transform.push('scale(' + pick(scaleX, 1) + ' ' + pick(scaleY, 1) + ')');\n }\n if (transform.length) {\n element.setAttribute('transform', transform.join(' '));\n }\n };\n /**\n * @private\n * @function Highcharts.SVGElement#visibilitySetter\n *\n * @param {string} value\n *\n * @param {string} key\n *\n * @param {Highcharts.SVGDOMElement} element\n *\n * @return {void}\n */\n SVGElement.prototype.visibilitySetter = function (value, key, element) {\n // IE9-11 doesn't handle visibilty:inherit well, so we remove the\n // attribute instead (#2881, #3909)\n if (value === 'inherit') {\n element.removeAttribute(key);\n }\n else if (this[key] !== value) { // #6747\n element.setAttribute(key, value);\n }\n this[key] = value;\n };\n /**\n * @private\n * @function Highcharts.SVGElement#xGetter\n *\n * @param {string} key\n *\n * @return {number|string|null}\n */\n SVGElement.prototype.xGetter = function (key) {\n if (this.element.nodeName === 'circle') {\n if (key === 'x') {\n key = 'cx';\n }\n else if (key === 'y') {\n key = 'cy';\n }\n }\n return this._defaultGetter(key);\n };\n /**\n * @private\n * @function Highcharts.SVGElement#zIndexSetter\n * @param {number} [value]\n * @param {string} [key]\n * @return {boolean}\n */\n SVGElement.prototype.zIndexSetter = function (value, key) {\n var renderer = this.renderer,\n parentGroup = this.parentGroup,\n parentWrapper = parentGroup || renderer,\n parentNode = parentWrapper.element || renderer.box,\n childNodes,\n otherElement,\n otherZIndex,\n element = this.element,\n inserted = false,\n undefinedOtherZIndex,\n svgParent = parentNode === renderer.box,\n run = this.added,\n i;\n if (defined(value)) {\n // So we can read it for other elements in the group\n element.setAttribute('data-z-index', value);\n value = +value;\n if (this[key] === value) {\n // Only update when needed (#3865)\n run = false;\n }\n }\n else if (defined(this[key])) {\n element.removeAttribute('data-z-index');\n }\n this[key] = value;\n // Insert according to this and other elements' zIndex. Before .add() is\n // called, nothing is done. Then on add, or by later calls to\n // zIndexSetter, the node is placed on the right place in the DOM.\n if (run) {\n value = this.zIndex;\n if (value && parentGroup) {\n parentGroup.handleZ = true;\n }\n childNodes = parentNode.childNodes;\n for (i = childNodes.length - 1; i >= 0 && !inserted; i--) {\n otherElement = childNodes[i];\n otherZIndex = otherElement.getAttribute('data-z-index');\n undefinedOtherZIndex = !defined(otherZIndex);\n if (otherElement !== element) {\n if (\n // Negative zIndex versus no zIndex:\n // On all levels except the highest. If the parent is\n // , then we don't want to put items before \n // or \n value < 0 &&\n undefinedOtherZIndex &&\n !svgParent &&\n !i) {\n parentNode.insertBefore(element, childNodes[i]);\n inserted = true;\n }\n else if (\n // Insert after the first element with a lower zIndex\n pInt(otherZIndex) <= value ||\n // If negative zIndex, add this before first undefined\n // zIndex element\n (undefinedOtherZIndex &&\n (!defined(value) || value >= 0))) {\n parentNode.insertBefore(element, childNodes[i + 1] || null // null for oldIE export\n );\n inserted = true;\n }\n }\n }\n if (!inserted) {\n parentNode.insertBefore(element, childNodes[svgParent ? 3 : 0] || null // null for oldIE\n );\n inserted = true;\n }\n }\n return inserted;\n };\n return SVGElement;\n }());\n // Some shared setters and getters\n SVGElement.prototype['stroke-widthSetter'] = SVGElement.prototype.strokeSetter;\n SVGElement.prototype.yGetter = SVGElement.prototype.xGetter;\n SVGElement.prototype.matrixSetter =\n SVGElement.prototype.rotationOriginXSetter =\n SVGElement.prototype.rotationOriginYSetter =\n SVGElement.prototype.rotationSetter =\n SVGElement.prototype.scaleXSetter =\n SVGElement.prototype.scaleYSetter =\n SVGElement.prototype.translateXSetter =\n SVGElement.prototype.translateYSetter =\n SVGElement.prototype.verticalAlignSetter = function (value, key) {\n this[key] = value;\n this.doTransform = true;\n };\n H.SVGElement = SVGElement;\n\n return H.SVGElement;\n });\n _registerModule(_modules, 'Core/Renderer/SVG/SVGLabel.js', [_modules['Core/Renderer/SVG/SVGElement.js'], _modules['Core/Utilities.js']], function (SVGElement, U) {\n /* *\n *\n * (c) 2010-2020 Torstein Honsi\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d,\n b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d,\n b) { d.__proto__ = b; }) ||\n function (d,\n b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n })();\n var defined = U.defined,\n extend = U.extend,\n isNumber = U.isNumber,\n merge = U.merge,\n removeEvent = U.removeEvent;\n /**\n * SVG label to render text.\n * @private\n * @class\n * @name Highcharts.SVGLabel\n * @augments Highcharts.SVGElement\n */\n var SVGLabel = /** @class */ (function (_super) {\n __extends(SVGLabel, _super);\n /* *\n *\n * Constructors\n *\n * */\n function SVGLabel(renderer, str, x, y, shape, anchorX, anchorY, useHTML, baseline, className) {\n var _this = _super.call(this) || this;\n _this.init(renderer, 'g');\n _this.textStr = str;\n _this.x = x;\n _this.y = y;\n _this.anchorX = anchorX;\n _this.anchorY = anchorY;\n _this.baseline = baseline;\n _this.className = className;\n if (className !== 'button') {\n _this.addClass('highcharts-label');\n }\n if (className) {\n _this.addClass('highcharts-' + className);\n }\n _this.text = renderer.text('', 0, 0, useHTML)\n .attr({\n zIndex: 1\n });\n // Validate the shape argument\n var hasBGImage;\n if (typeof shape === 'string') {\n hasBGImage = /^url\\((.*?)\\)$/.test(shape);\n if (_this.renderer.symbols[shape] || hasBGImage) {\n _this.symbolKey = shape;\n }\n }\n _this.bBox = SVGLabel.emptyBBox;\n _this.padding = 3;\n _this.paddingLeft = 0;\n _this.baselineOffset = 0;\n _this.needsBox = renderer.styledMode || hasBGImage;\n _this.deferredAttr = {};\n _this.alignFactor = 0;\n return _this;\n }\n /* *\n *\n * Functions\n *\n * */\n SVGLabel.prototype.alignSetter = function (value) {\n var alignFactor = {\n left: 0,\n center: 0.5,\n right: 1\n }[value];\n if (alignFactor !== this.alignFactor) {\n this.alignFactor = alignFactor;\n // Bounding box exists, means we're dynamically changing\n if (this.bBox && isNumber(this.xSetting)) {\n this.attr({ x: this.xSetting }); // #5134\n }\n }\n };\n SVGLabel.prototype.anchorXSetter = function (value, key) {\n this.anchorX = value;\n this.boxAttr(key, Math.round(value) - this.getCrispAdjust() - this.xSetting);\n };\n SVGLabel.prototype.anchorYSetter = function (value, key) {\n this.anchorY = value;\n this.boxAttr(key, value - this.ySetting);\n };\n /*\n * Set a box attribute, or defer it if the box is not yet created\n */\n SVGLabel.prototype.boxAttr = function (key, value) {\n if (this.box) {\n this.box.attr(key, value);\n }\n else {\n this.deferredAttr[key] = value;\n }\n };\n /*\n * Pick up some properties and apply them to the text instead of the\n * wrapper.\n */\n SVGLabel.prototype.css = function (styles) {\n if (styles) {\n var textStyles = {},\n isWidth,\n isFontStyle;\n // Create a copy to avoid altering the original object\n // (#537)\n styles = merge(styles);\n SVGLabel.textProps.forEach(function (prop) {\n if (typeof styles[prop] !== 'undefined') {\n textStyles[prop] = styles[prop];\n delete styles[prop];\n }\n });\n this.text.css(textStyles);\n isWidth = 'width' in textStyles;\n isFontStyle = 'fontSize' in textStyles ||\n 'fontWeight' in textStyles;\n // Update existing text, box (#9400, #12163)\n if (isWidth || isFontStyle) {\n this.updateBoxSize();\n // Keep updated (#9400, #12163)\n if (isFontStyle) {\n this.updateTextPadding();\n }\n }\n }\n return SVGElement.prototype.css.call(this, styles);\n };\n /*\n * Destroy and release memory.\n */\n SVGLabel.prototype.destroy = function () {\n // Added by button implementation\n removeEvent(this.element, 'mouseenter');\n removeEvent(this.element, 'mouseleave');\n if (this.text) {\n this.text.destroy();\n }\n if (this.box) {\n this.box = this.box.destroy();\n }\n // Call base implementation to destroy the rest\n SVGElement.prototype.destroy.call(this);\n return void 0;\n };\n SVGLabel.prototype.fillSetter = function (value, key) {\n if (value) {\n this.needsBox = true;\n }\n // for animation getter (#6776)\n this.fill = value;\n this.boxAttr(key, value);\n };\n /*\n * Return the bounding box of the box, not the group.\n */\n SVGLabel.prototype.getBBox = function () {\n var bBox = this.bBox;\n var padding = this.padding;\n return {\n width: bBox.width + 2 * padding,\n height: bBox.height + 2 * padding,\n x: bBox.x - padding,\n y: bBox.y - padding\n };\n };\n SVGLabel.prototype.getCrispAdjust = function () {\n return this.renderer.styledMode && this.box ?\n this.box.strokeWidth() % 2 / 2 :\n (this['stroke-width'] ? parseInt(this['stroke-width'], 10) : 0) % 2 / 2;\n };\n SVGLabel.prototype.heightSetter = function (value) {\n this.heightSetting = value;\n };\n // Event handling. In case of useHTML, we need to make sure that events\n // are captured on the span as well, and that mouseenter/mouseleave\n // between the SVG group and the HTML span are not treated as real\n // enter/leave events. #13310.\n SVGLabel.prototype.on = function (eventType, handler) {\n var label = this;\n var text = label.text;\n var span = text && text.element.tagName === 'SPAN' ? text : void 0;\n var selectiveHandler;\n if (span) {\n selectiveHandler = function (e) {\n if ((eventType === 'mouseenter' ||\n eventType === 'mouseleave') &&\n e.relatedTarget instanceof Element &&\n (label.element.contains(e.relatedTarget) ||\n span.element.contains(e.relatedTarget))) {\n return;\n }\n handler.call(label.element, e);\n };\n span.on(eventType, selectiveHandler);\n }\n SVGElement.prototype.on.call(label, eventType, selectiveHandler || handler);\n return label;\n };\n /*\n * After the text element is added, get the desired size of the border\n * box and add it before the text in the DOM.\n */\n SVGLabel.prototype.onAdd = function () {\n var str = this.textStr;\n this.text.add(this);\n this.attr({\n // Alignment is available now (#3295, 0 not rendered if given\n // as a value)\n text: (defined(str) ? str : ''),\n x: this.x,\n y: this.y\n });\n if (this.box && defined(this.anchorX)) {\n this.attr({\n anchorX: this.anchorX,\n anchorY: this.anchorY\n });\n }\n };\n SVGLabel.prototype.paddingSetter = function (value) {\n if (defined(value) && value !== this.padding) {\n this.padding = value;\n this.updateTextPadding();\n }\n };\n SVGLabel.prototype.paddingLeftSetter = function (value) {\n if (defined(value) && value !== this.paddingLeft) {\n this.paddingLeft = value;\n this.updateTextPadding();\n }\n };\n SVGLabel.prototype.rSetter = function (value, key) {\n this.boxAttr(key, value);\n };\n SVGLabel.prototype.shadow = function (b) {\n if (b && !this.renderer.styledMode) {\n this.updateBoxSize();\n if (this.box) {\n this.box.shadow(b);\n }\n }\n return this;\n };\n SVGLabel.prototype.strokeSetter = function (value, key) {\n // for animation getter (#6776)\n this.stroke = value;\n this.boxAttr(key, value);\n };\n SVGLabel.prototype['stroke-widthSetter'] = function (value, key) {\n if (value) {\n this.needsBox = true;\n }\n this['stroke-width'] = value;\n this.boxAttr(key, value);\n };\n SVGLabel.prototype['text-alignSetter'] = function (value) {\n this.textAlign = value;\n };\n SVGLabel.prototype.textSetter = function (text) {\n if (typeof text !== 'undefined') {\n // Must use .attr to ensure transforms are done (#10009)\n this.text.attr({ text: text });\n }\n this.updateBoxSize();\n this.updateTextPadding();\n };\n /*\n * This function runs after the label is added to the DOM (when the bounding\n * box is available), and after the text of the label is updated to detect\n * the new bounding box and reflect it in the border box.\n */\n SVGLabel.prototype.updateBoxSize = function () {\n var style = this.text.element.style,\n crispAdjust,\n attribs = {};\n var padding = this.padding;\n var paddingLeft = this.paddingLeft;\n // #12165 error when width is null (auto)\n // #12163 when fontweight: bold, recalculate bBox withot cache\n // #3295 && 3514 box failure when string equals 0\n var bBox = ((!isNumber(this.widthSetting) || !isNumber(this.heightSetting) || this.textAlign) &&\n defined(this.text.textStr)) ?\n this.text.getBBox() : SVGLabel.emptyBBox;\n this.width = ((this.widthSetting || bBox.width || 0) +\n 2 * padding +\n paddingLeft);\n this.height = (this.heightSetting || bBox.height || 0) + 2 * padding;\n // Update the label-scoped y offset. Math.min because of inline\n // style (#9400)\n this.baselineOffset = padding + Math.min(this.renderer.fontMetrics(style && style.fontSize, this.text).b, \n // When the height is 0, there is no bBox, so go with the font\n // metrics. Highmaps CSS demos.\n bBox.height || Infinity);\n if (this.needsBox) {\n // Create the border box if it is not already present\n if (!this.box) {\n // Symbol definition exists (#5324)\n var box = this.box = this.symbolKey ?\n this.renderer.symbol(this.symbolKey) :\n this.renderer.rect();\n box.addClass(// Don't use label className for buttons\n (this.className === 'button' ? '' : 'highcharts-label-box') +\n (this.className ? ' highcharts-' + this.className + '-box' : ''));\n box.add(this);\n crispAdjust = this.getCrispAdjust();\n attribs.x = crispAdjust;\n attribs.y = (this.baseline ? -this.baselineOffset : 0) + crispAdjust;\n }\n // Apply the box attributes\n attribs.width = Math.round(this.width);\n attribs.height = Math.round(this.height);\n this.box.attr(extend(attribs, this.deferredAttr));\n this.deferredAttr = {};\n }\n this.bBox = bBox;\n };\n /*\n * This function runs after setting text or padding, but only if padding\n * is changed.\n */\n SVGLabel.prototype.updateTextPadding = function () {\n var text = this.text;\n // Determine y based on the baseline\n var textY = this.baseline ? 0 : this.baselineOffset;\n var textX = this.paddingLeft + this.padding;\n // compensate for alignment\n if (defined(this.widthSetting) &&\n this.bBox &&\n (this.textAlign === 'center' || this.textAlign === 'right')) {\n textX += { center: 0.5, right: 1 }[this.textAlign] *\n (this.widthSetting - this.bBox.width);\n }\n // update if anything changed\n if (textX !== text.x || textY !== text.y) {\n text.attr('x', textX);\n // #8159 - prevent misplaced data labels in treemap\n // (useHTML: true)\n if (text.hasBoxWidthChanged) {\n this.bBox = text.getBBox(true);\n this.updateBoxSize();\n }\n if (typeof textY !== 'undefined') {\n text.attr('y', textY);\n }\n }\n // record current values\n text.x = textX;\n text.y = textY;\n };\n SVGLabel.prototype.widthSetter = function (value) {\n // width:auto => null\n this.widthSetting = isNumber(value) ? value : void 0;\n };\n SVGLabel.prototype.xSetter = function (value) {\n this.x = value; // for animation getter\n if (this.alignFactor) {\n value -= this.alignFactor * ((this.widthSetting || this.bBox.width) +\n 2 * this.padding);\n // Force animation even when setting to the same value (#7898)\n this['forceAnimate:x'] = true;\n }\n this.xSetting = Math.round(value);\n this.attr('translateX', this.xSetting);\n };\n SVGLabel.prototype.ySetter = function (value) {\n this.ySetting = this.y = Math.round(value);\n this.attr('translateY', this.ySetting);\n };\n /* *\n *\n * Static Properties\n *\n * */\n SVGLabel.emptyBBox = { width: 0, height: 0, x: 0, y: 0 };\n /* *\n *\n * Properties\n *\n * */\n /**\n * For labels, these CSS properties are applied to the `text` node directly.\n *\n * @private\n * @name Highcharts.SVGLabel#textProps\n * @type {Array}\n */\n SVGLabel.textProps = [\n 'color', 'cursor', 'direction', 'fontFamily', 'fontSize', 'fontStyle',\n 'fontWeight', 'lineHeight', 'textAlign', 'textDecoration',\n 'textOutline', 'textOverflow', 'width'\n ];\n return SVGLabel;\n }(SVGElement));\n\n return SVGLabel;\n });\n _registerModule(_modules, 'Core/Renderer/SVG/SVGRenderer.js', [_modules['Core/Color/Color.js'], _modules['Core/Globals.js'], _modules['Core/Renderer/SVG/SVGElement.js'], _modules['Core/Renderer/SVG/SVGLabel.js'], _modules['Core/Utilities.js']], function (Color, H, SVGElement, SVGLabel, U) {\n /* *\n *\n * (c) 2010-2020 Torstein Honsi\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n var addEvent = U.addEvent,\n attr = U.attr,\n createElement = U.createElement,\n css = U.css,\n defined = U.defined,\n destroyObjectProperties = U.destroyObjectProperties,\n extend = U.extend,\n isArray = U.isArray,\n isNumber = U.isNumber,\n isObject = U.isObject,\n isString = U.isString,\n merge = U.merge,\n objectEach = U.objectEach,\n pick = U.pick,\n pInt = U.pInt,\n splat = U.splat,\n uniqueKey = U.uniqueKey;\n /**\n * A clipping rectangle that can be applied to one or more {@link SVGElement}\n * instances. It is instanciated with the {@link SVGRenderer#clipRect} function\n * and applied with the {@link SVGElement#clip} function.\n *\n * @example\n * var circle = renderer.circle(100, 100, 100)\n * .attr({ fill: 'red' })\n * .add();\n * var clipRect = renderer.clipRect(100, 100, 100, 100);\n *\n * // Leave only the lower right quarter visible\n * circle.clip(clipRect);\n *\n * @typedef {Highcharts.SVGElement} Highcharts.ClipRectElement\n */\n /**\n * The font metrics.\n *\n * @interface Highcharts.FontMetricsObject\n */ /**\n * The baseline relative to the top of the box.\n *\n * @name Highcharts.FontMetricsObject#b\n * @type {number}\n */ /**\n * The font size.\n *\n * @name Highcharts.FontMetricsObject#f\n * @type {number}\n */ /**\n * The line height.\n *\n * @name Highcharts.FontMetricsObject#h\n * @type {number}\n */\n /**\n * An object containing `x` and `y` properties for the position of an element.\n *\n * @interface Highcharts.PositionObject\n */ /**\n * X position of the element.\n * @name Highcharts.PositionObject#x\n * @type {number}\n */ /**\n * Y position of the element.\n * @name Highcharts.PositionObject#y\n * @type {number}\n */\n /**\n * A rectangle.\n *\n * @interface Highcharts.RectangleObject\n */ /**\n * Height of the rectangle.\n * @name Highcharts.RectangleObject#height\n * @type {number}\n */ /**\n * Width of the rectangle.\n * @name Highcharts.RectangleObject#width\n * @type {number}\n */ /**\n * Horizontal position of the rectangle.\n * @name Highcharts.RectangleObject#x\n * @type {number}\n */ /**\n * Vertical position of the rectangle.\n * @name Highcharts.RectangleObject#y\n * @type {number}\n */\n /**\n * The shadow options.\n *\n * @interface Highcharts.ShadowOptionsObject\n */ /**\n * The shadow color.\n * @name Highcharts.ShadowOptionsObject#color\n * @type {Highcharts.ColorString|undefined}\n * @default #000000\n */ /**\n * The horizontal offset from the element.\n *\n * @name Highcharts.ShadowOptionsObject#offsetX\n * @type {number|undefined}\n * @default 1\n */ /**\n * The vertical offset from the element.\n * @name Highcharts.ShadowOptionsObject#offsetY\n * @type {number|undefined}\n * @default 1\n */ /**\n * The shadow opacity.\n *\n * @name Highcharts.ShadowOptionsObject#opacity\n * @type {number|undefined}\n * @default 0.15\n */ /**\n * The shadow width or distance from the element.\n * @name Highcharts.ShadowOptionsObject#width\n * @type {number|undefined}\n * @default 3\n */\n /**\n * @interface Highcharts.SizeObject\n */ /**\n * @name Highcharts.SizeObject#height\n * @type {number}\n */ /**\n * @name Highcharts.SizeObject#width\n * @type {number}\n */\n /**\n * Serialized form of an SVG definition, including children. Some key\n * property names are reserved: tagName, textContent, and children.\n *\n * @interface Highcharts.SVGDefinitionObject\n */ /**\n * @name Highcharts.SVGDefinitionObject#[key:string]\n * @type {boolean|number|string|Array|undefined}\n */ /**\n * @name Highcharts.SVGDefinitionObject#children\n * @type {Array|undefined}\n */ /**\n * @name Highcharts.SVGDefinitionObject#tagName\n * @type {string|undefined}\n */ /**\n * @name Highcharts.SVGDefinitionObject#textContent\n * @type {string|undefined}\n */\n /**\n * Array of path commands, that will go into the `d` attribute of an SVG\n * element.\n *\n * @typedef {Array<(Array|Array|Array|Array|Array|Array)>} Highcharts.SVGPathArray\n */\n /**\n * Possible path commands in an SVG path array. Valid values are `A`, `C`, `H`,\n * `L`, `M`, `Q`, `S`, `T`, `V`, `Z`.\n *\n * @typedef {string} Highcharts.SVGPathCommand\n * @validvalue [\"a\",\"c\",\"h\",\"l\",\"m\",\"q\",\"s\",\"t\",\"v\",\"z\",\"A\",\"C\",\"H\",\"L\",\"M\",\"Q\",\"S\",\"T\",\"V\",\"Z\"]\n */\n /**\n * An extendable collection of functions for defining symbol paths. Symbols are\n * used internally for point markers, button and label borders and backgrounds,\n * or custom shapes. Extendable by adding to {@link SVGRenderer#symbols}.\n *\n * @interface Highcharts.SymbolDictionary\n */ /**\n * @name Highcharts.SymbolDictionary#[key:string]\n * @type {Function|undefined}\n */ /**\n * @name Highcharts.SymbolDictionary#arc\n * @type {Function|undefined}\n */ /**\n * @name Highcharts.SymbolDictionary#callout\n * @type {Function|undefined}\n */ /**\n * @name Highcharts.SymbolDictionary#circle\n * @type {Function|undefined}\n */ /**\n * @name Highcharts.SymbolDictionary#diamond\n * @type {Function|undefined}\n */ /**\n * @name Highcharts.SymbolDictionary#square\n * @type {Function|undefined}\n */ /**\n * @name Highcharts.SymbolDictionary#triangle\n * @type {Function|undefined}\n */\n /**\n * Can be one of `arc`, `callout`, `circle`, `diamond`, `square`, `triangle`,\n * and `triangle-down`. Symbols are used internally for point markers, button\n * and label borders and backgrounds, or custom shapes. Extendable by adding to\n * {@link SVGRenderer#symbols}.\n *\n * @typedef {\"arc\"|\"callout\"|\"circle\"|\"diamond\"|\"square\"|\"triangle\"|\"triangle-down\"} Highcharts.SymbolKeyValue\n */\n /**\n * Additional options, depending on the actual symbol drawn.\n *\n * @interface Highcharts.SymbolOptionsObject\n */ /**\n * The anchor X position for the `callout` symbol. This is where the chevron\n * points to.\n *\n * @name Highcharts.SymbolOptionsObject#anchorX\n * @type {number|undefined}\n */ /**\n * The anchor Y position for the `callout` symbol. This is where the chevron\n * points to.\n *\n * @name Highcharts.SymbolOptionsObject#anchorY\n * @type {number|undefined}\n */ /**\n * The end angle of an `arc` symbol.\n *\n * @name Highcharts.SymbolOptionsObject#end\n * @type {number|undefined}\n */ /**\n * Whether to draw `arc` symbol open or closed.\n *\n * @name Highcharts.SymbolOptionsObject#open\n * @type {boolean|undefined}\n */ /**\n * The radius of an `arc` symbol, or the border radius for the `callout` symbol.\n *\n * @name Highcharts.SymbolOptionsObject#r\n * @type {number|undefined}\n */ /**\n * The start angle of an `arc` symbol.\n *\n * @name Highcharts.SymbolOptionsObject#start\n * @type {number|undefined}\n */\n /* eslint-disable no-invalid-this, valid-jsdoc */\n var charts = H.charts,\n deg2rad = H.deg2rad,\n doc = H.doc,\n isFirefox = H.isFirefox,\n isMS = H.isMS,\n isWebKit = H.isWebKit,\n noop = H.noop,\n svg = H.svg,\n SVG_NS = H.SVG_NS,\n symbolSizes = H.symbolSizes,\n win = H.win;\n /**\n * Allows direct access to the Highcharts rendering layer in order to draw\n * primitive shapes like circles, rectangles, paths or text directly on a chart,\n * or independent from any chart. The SVGRenderer represents a wrapper object\n * for SVG in modern browsers. Through the VMLRenderer, part of the `oldie.js`\n * module, it also brings vector graphics to IE <= 8.\n *\n * An existing chart's renderer can be accessed through {@link Chart.renderer}.\n * The renderer can also be used completely decoupled from a chart.\n *\n * @sample highcharts/members/renderer-on-chart\n * Annotating a chart programmatically.\n * @sample highcharts/members/renderer-basic\n * Independent SVG drawing.\n *\n * @example\n * // Use directly without a chart object.\n * var renderer = new Highcharts.Renderer(parentNode, 600, 400);\n *\n * @class\n * @name Highcharts.SVGRenderer\n *\n * @param {Highcharts.HTMLDOMElement} container\n * Where to put the SVG in the web page.\n *\n * @param {number} width\n * The width of the SVG.\n *\n * @param {number} height\n * The height of the SVG.\n *\n * @param {Highcharts.CSSObject} [style]\n * The box style, if not in styleMode\n *\n * @param {boolean} [forExport=false]\n * Whether the rendered content is intended for export.\n *\n * @param {boolean} [allowHTML=true]\n * Whether the renderer is allowed to include HTML text, which will be\n * projected on top of the SVG.\n *\n * @param {boolean} [styledMode=false]\n * Whether the renderer belongs to a chart that is in styled mode.\n * If it does, it will avoid setting presentational attributes in\n * some cases, but not when set explicitly through `.attr` and `.css`\n * etc.\n */\n var SVGRenderer = /** @class */ (function () {\n /* *\n *\n * Constructors\n *\n * */\n function SVGRenderer(container, width, height, style, forExport, allowHTML, styledMode) {\n /* *\n *\n * Properties\n *\n * */\n this.alignedObjects = void 0;\n /**\n * The root `svg` node of the renderer.\n *\n * @name Highcharts.SVGRenderer#box\n * @type {Highcharts.SVGDOMElement}\n */\n this.box = void 0;\n /**\n * The wrapper for the root `svg` node of the renderer.\n *\n * @name Highcharts.SVGRenderer#boxWrapper\n * @type {Highcharts.SVGElement}\n */\n this.boxWrapper = void 0;\n this.cache = void 0;\n this.cacheKeys = void 0;\n this.chartIndex = void 0;\n /**\n * A pointer to the `defs` node of the root SVG.\n *\n * @name Highcharts.SVGRenderer#defs\n * @type {Highcharts.SVGElement}\n */\n this.defs = void 0;\n this.globalAnimation = void 0;\n this.gradients = void 0;\n this.height = void 0;\n this.imgCount = void 0;\n this.isSVG = void 0;\n this.style = void 0;\n /**\n * Page url used for internal references.\n *\n * @private\n * @name Highcharts.SVGRenderer#url\n * @type {string}\n */\n this.url = void 0;\n this.width = void 0;\n this.init(container, width, height, style, forExport, allowHTML, styledMode);\n }\n /* *\n *\n * Functions\n *\n * */\n /**\n * Initialize the SVGRenderer. Overridable initializer function that takes\n * the same parameters as the constructor.\n *\n * @function Highcharts.SVGRenderer#init\n *\n * @param {Highcharts.HTMLDOMElement} container\n * Where to put the SVG in the web page.\n *\n * @param {number} width\n * The width of the SVG.\n *\n * @param {number} height\n * The height of the SVG.\n *\n * @param {Highcharts.CSSObject} [style]\n * The box style, if not in styleMode\n *\n * @param {boolean} [forExport=false]\n * Whether the rendered content is intended for export.\n *\n * @param {boolean} [allowHTML=true]\n * Whether the renderer is allowed to include HTML text, which will be\n * projected on top of the SVG.\n *\n * @param {boolean} [styledMode=false]\n * Whether the renderer belongs to a chart that is in styled mode. If it\n * does, it will avoid setting presentational attributes in some cases, but\n * not when set explicitly through `.attr` and `.css` etc.\n */\n SVGRenderer.prototype.init = function (container, width, height, style, forExport, allowHTML, styledMode) {\n var renderer = this,\n boxWrapper,\n element,\n desc;\n boxWrapper = renderer.createElement('svg')\n .attr({\n version: '1.1',\n 'class': 'highcharts-root'\n });\n if (!styledMode) {\n boxWrapper.css(this.getStyle(style));\n }\n element = boxWrapper.element;\n container.appendChild(element);\n // Always use ltr on the container, otherwise text-anchor will be\n // flipped and text appear outside labels, buttons, tooltip etc (#3482)\n attr(container, 'dir', 'ltr');\n // For browsers other than IE, add the namespace attribute (#1978)\n if (container.innerHTML.indexOf('xmlns') === -1) {\n attr(element, 'xmlns', this.SVG_NS);\n }\n // object properties\n renderer.isSVG = true;\n this.box = element;\n this.boxWrapper = boxWrapper;\n renderer.alignedObjects = [];\n // #24, #672, #1070\n this.url = ((isFirefox || isWebKit) &&\n doc.getElementsByTagName('base').length) ?\n win.location.href\n .split('#')[0] // remove the hash\n .replace(/<[^>]*>/g, '') // wing cut HTML\n // escape parantheses and quotes\n .replace(/([\\('\\)])/g, '\\\\$1')\n // replace spaces (needed for Safari only)\n .replace(/ /g, '%20') :\n '';\n // Add description\n desc = this.createElement('desc').add();\n desc.element.appendChild(doc.createTextNode('Created with Highcharts 8.2.2'));\n renderer.defs = this.createElement('defs').add();\n renderer.allowHTML = allowHTML;\n renderer.forExport = forExport;\n renderer.styledMode = styledMode;\n renderer.gradients = {}; // Object where gradient SvgElements are stored\n renderer.cache = {}; // Cache for numerical bounding boxes\n renderer.cacheKeys = [];\n renderer.imgCount = 0;\n renderer.setSize(width, height, false);\n // Issue 110 workaround:\n // In Firefox, if a div is positioned by percentage, its pixel position\n // may land between pixels. The container itself doesn't display this,\n // but an SVG element inside this container will be drawn at subpixel\n // precision. In order to draw sharp lines, this must be compensated\n // for. This doesn't seem to work inside iframes though (like in\n // jsFiddle).\n var subPixelFix,\n rect;\n if (isFirefox && container.getBoundingClientRect) {\n subPixelFix = function () {\n css(container, { left: 0, top: 0 });\n rect = container.getBoundingClientRect();\n css(container, {\n left: (Math.ceil(rect.left) - rect.left) + 'px',\n top: (Math.ceil(rect.top) - rect.top) + 'px'\n });\n };\n // run the fix now\n subPixelFix();\n // run it on resize\n renderer.unSubPixelFix = addEvent(win, 'resize', subPixelFix);\n }\n };\n /**\n * General method for adding a definition to the SVG `defs` tag. Can be used\n * for gradients, fills, filters etc. Styled mode only. A hook for adding\n * general definitions to the SVG's defs tag. Definitions can be referenced\n * from the CSS by its `id`. Read more in\n * [gradients, shadows and patterns](https://www.highcharts.com/docs/chart-design-and-style/gradients-shadows-and-patterns).\n * Styled mode only.\n *\n * @function Highcharts.SVGRenderer#definition\n *\n * @param {Highcharts.SVGDefinitionObject} def\n * A serialized form of an SVG definition, including children.\n *\n * @return {Highcharts.SVGElement}\n * The inserted node.\n */\n SVGRenderer.prototype.definition = function (def) {\n var ren = this;\n /**\n * @private\n * @param {Highcharts.SVGDefinitionObject} config - SVG definition\n * @param {Highcharts.SVGElement} [parent] - parent node\n */\n function recurse(config, parent) {\n var ret;\n splat(config).forEach(function (item) {\n var node = ren.createElement(item.tagName),\n attr = {};\n // Set attributes\n objectEach(item, function (val, key) {\n if (key !== 'tagName' &&\n key !== 'children' &&\n key !== 'textContent') {\n attr[key] = val;\n }\n });\n node.attr(attr);\n // Add to the tree\n node.add(parent || ren.defs);\n // Add text content\n if (item.textContent) {\n node.element.appendChild(doc.createTextNode(item.textContent));\n }\n // Recurse\n recurse(item.children || [], node);\n ret = node;\n });\n // Return last node added (on top level it's the only one)\n return ret;\n }\n return recurse(def);\n };\n /**\n * Get the global style setting for the renderer.\n *\n * @private\n * @function Highcharts.SVGRenderer#getStyle\n *\n * @param {Highcharts.CSSObject} style\n * Style settings.\n *\n * @return {Highcharts.CSSObject}\n * The style settings mixed with defaults.\n */\n SVGRenderer.prototype.getStyle = function (style) {\n this.style = extend({\n fontFamily: '\"Lucida Grande\", \"Lucida Sans Unicode\", ' +\n 'Arial, Helvetica, sans-serif',\n fontSize: '12px'\n }, style);\n return this.style;\n };\n /**\n * Apply the global style on the renderer, mixed with the default styles.\n *\n * @function Highcharts.SVGRenderer#setStyle\n *\n * @param {Highcharts.CSSObject} style\n * CSS to apply.\n */\n SVGRenderer.prototype.setStyle = function (style) {\n this.boxWrapper.css(this.getStyle(style));\n };\n /**\n * Detect whether the renderer is hidden. This happens when one of the\n * parent elements has `display: none`. Used internally to detect when we\n * needto render preliminarily in another div to get the text bounding boxes\n * right.\n *\n * @function Highcharts.SVGRenderer#isHidden\n *\n * @return {boolean}\n * True if it is hidden.\n */\n SVGRenderer.prototype.isHidden = function () {\n return !this.boxWrapper.getBBox().width;\n };\n /**\n * Destroys the renderer and its allocated members.\n *\n * @function Highcharts.SVGRenderer#destroy\n *\n * @return {null}\n */\n SVGRenderer.prototype.destroy = function () {\n var renderer = this,\n rendererDefs = renderer.defs;\n renderer.box = null;\n renderer.boxWrapper = renderer.boxWrapper.destroy();\n // Call destroy on all gradient elements\n destroyObjectProperties(renderer.gradients || {});\n renderer.gradients = null;\n // Defs are null in VMLRenderer\n // Otherwise, destroy them here.\n if (rendererDefs) {\n renderer.defs = rendererDefs.destroy();\n }\n // Remove sub pixel fix handler (#982)\n if (renderer.unSubPixelFix) {\n renderer.unSubPixelFix();\n }\n renderer.alignedObjects = null;\n return null;\n };\n /**\n * Create a wrapper for an SVG element. Serves as a factory for\n * {@link SVGElement}, but this function is itself mostly called from\n * primitive factories like {@link SVGRenderer#path}, {@link\n * SVGRenderer#rect} or {@link SVGRenderer#text}.\n *\n * @function Highcharts.SVGRenderer#createElement\n *\n * @param {string} nodeName\n * The node name, for example `rect`, `g` etc.\n *\n * @return {Highcharts.SVGElement}\n * The generated SVGElement.\n */\n SVGRenderer.prototype.createElement = function (nodeName) {\n var wrapper = new this.Element();\n wrapper.init(this, nodeName);\n return wrapper;\n };\n /**\n * Get converted radial gradient attributes according to the radial\n * reference. Used internally from the {@link SVGElement#colorGradient}\n * function.\n *\n * @private\n * @function Highcharts.SVGRenderer#getRadialAttr\n */\n SVGRenderer.prototype.getRadialAttr = function (radialReference, gradAttr) {\n return {\n cx: (radialReference[0] - radialReference[2] / 2) +\n gradAttr.cx * radialReference[2],\n cy: (radialReference[1] - radialReference[2] / 2) +\n gradAttr.cy * radialReference[2],\n r: gradAttr.r * radialReference[2]\n };\n };\n /**\n * Truncate the text node contents to a given length. Used when the css\n * width is set. If the `textOverflow` is `ellipsis`, the text is truncated\n * character by character to the given length. If not, the text is\n * word-wrapped line by line.\n *\n * @private\n * @function Highcharts.SVGRenderer#truncate\n *\n * @return {boolean}\n * True if tspan is too long.\n */\n SVGRenderer.prototype.truncate = function (wrapper, tspan, text, words, startAt, width, getString) {\n var renderer = this,\n rotation = wrapper.rotation,\n str, \n // Word wrap can not be truncated to shorter than one word, ellipsis\n // text can be completely blank.\n minIndex = words ? 1 : 0,\n maxIndex = (text || words).length,\n currentIndex = maxIndex, \n // Cache the lengths to avoid checking the same twice\n lengths = [],\n updateTSpan = function (s) {\n if (tspan.firstChild) {\n tspan.removeChild(tspan.firstChild);\n }\n if (s) {\n tspan.appendChild(doc.createTextNode(s));\n }\n }, getSubStringLength = function (charEnd, concatenatedEnd) {\n // charEnd is useed when finding the character-by-character\n // break for ellipsis, concatenatedEnd is used for word-by-word\n // break for word wrapping.\n var end = concatenatedEnd || charEnd;\n if (typeof lengths[end] === 'undefined') {\n // Modern browsers\n if (tspan.getSubStringLength) {\n // Fails with DOM exception on unit-tests/legend/members\n // of unknown reason. Desired width is 0, text content\n // is \"5\" and end is 1.\n try {\n lengths[end] = startAt +\n tspan.getSubStringLength(0, words ? end + 1 : end);\n }\n catch (e) {\n '';\n }\n // Legacy\n }\n else if (renderer.getSpanWidth) { // #9058 jsdom\n updateTSpan(getString(text || words, charEnd));\n lengths[end] = startAt +\n renderer.getSpanWidth(wrapper, tspan);\n }\n }\n return lengths[end];\n }, actualWidth, truncated;\n wrapper.rotation = 0; // discard rotation when computing box\n actualWidth = getSubStringLength(tspan.textContent.length);\n truncated = startAt + actualWidth > width;\n if (truncated) {\n // Do a binary search for the index where to truncate the text\n while (minIndex <= maxIndex) {\n currentIndex = Math.ceil((minIndex + maxIndex) / 2);\n // When checking words for word-wrap, we need to build the\n // string and measure the subStringLength at the concatenated\n // word length.\n if (words) {\n str = getString(words, currentIndex);\n }\n actualWidth = getSubStringLength(currentIndex, str && str.length - 1);\n if (minIndex === maxIndex) {\n // Complete\n minIndex = maxIndex + 1;\n }\n else if (actualWidth > width) {\n // Too large. Set max index to current.\n maxIndex = currentIndex - 1;\n }\n else {\n // Within width. Set min index to current.\n minIndex = currentIndex;\n }\n }\n // If max index was 0 it means the shortest possible text was also\n // too large. For ellipsis that means only the ellipsis, while for\n // word wrap it means the whole first word.\n if (maxIndex === 0) {\n // Remove ellipsis\n updateTSpan('');\n // If the new text length is one less than the original, we don't\n // need the ellipsis\n }\n else if (!(text && maxIndex === text.length - 1)) {\n updateTSpan(str || getString(text || words, currentIndex));\n }\n }\n // When doing line wrapping, prepare for the next line by removing the\n // items from this line.\n if (words) {\n words.splice(0, currentIndex);\n }\n wrapper.actualWidth = actualWidth;\n wrapper.rotation = rotation; // Apply rotation again.\n return truncated;\n };\n /**\n * Parse a simple HTML string into SVG tspans. Called internally when text\n * is set on an SVGElement. The function supports a subset of HTML tags, CSS\n * text features like `width`, `text-overflow`, `white-space`, and also\n * attributes like `href` and `style`.\n *\n * @private\n * @function Highcharts.SVGRenderer#buildText\n *\n * @param {Highcharts.SVGElement} wrapper\n * The parent SVGElement.\n */\n SVGRenderer.prototype.buildText = function (wrapper) {\n var textNode = wrapper.element, renderer = this, forExport = renderer.forExport, textStr = pick(wrapper.textStr, '').toString(), hasMarkup = textStr.indexOf('<') !== -1, lines, childNodes = textNode.childNodes, truncated, parentX = attr(textNode, 'x'), textStyles = wrapper.styles, width = wrapper.textWidth, textLineHeight = textStyles && textStyles.lineHeight, textOutline = textStyles && textStyles.textOutline, ellipsis = textStyles && textStyles.textOverflow === 'ellipsis', noWrap = textStyles && textStyles.whiteSpace === 'nowrap', fontSize = textStyles && textStyles.fontSize, textCache, isSubsequentLine, i = childNodes.length, tempParent = width && !wrapper.added && this.box, getLineHeight = function (tspan) {\n var fontSizeStyle;\n if (!renderer.styledMode) {\n fontSizeStyle =\n /(px|em)$/.test(tspan && tspan.style.fontSize) ?\n tspan.style.fontSize :\n (fontSize || renderer.style.fontSize || 12);\n }\n return textLineHeight ?\n pInt(textLineHeight) :\n renderer.fontMetrics(fontSizeStyle, \n // Get the computed size from parent if not explicit\n (tspan.getAttribute('style') ? tspan : textNode)).h;\n }, unescapeEntities = function (inputStr, except) {\n objectEach(renderer.escapes, function (value, key) {\n if (!except || except.indexOf(value) === -1) {\n inputStr = inputStr.toString().replace(new RegExp(value, 'g'), key);\n }\n });\n return inputStr;\n }, parseAttribute = function (s, attr) {\n var start,\n delimiter;\n start = s.indexOf('<');\n s = s.substring(start, s.indexOf('>') - start);\n start = s.indexOf(attr + '=');\n if (start !== -1) {\n start = start + attr.length + 1;\n delimiter = s.charAt(start);\n if (delimiter === '\"' || delimiter === \"'\") { // eslint-disable-line quotes\n s = s.substring(start + 1);\n return s.substring(0, s.indexOf(delimiter));\n }\n }\n };\n var regexMatchBreaks = //g;\n // The buildText code is quite heavy, so if we're not changing something\n // that affects the text, skip it (#6113).\n textCache = [\n textStr,\n ellipsis,\n noWrap,\n textLineHeight,\n textOutline,\n fontSize,\n width\n ].join(',');\n if (textCache === wrapper.textCache) {\n return;\n }\n wrapper.textCache = textCache;\n // Remove old text\n while (i--) {\n textNode.removeChild(childNodes[i]);\n }\n // Skip tspans, add text directly to text node. The forceTSpan is a hook\n // used in text outline hack.\n if (!hasMarkup &&\n !textOutline &&\n !ellipsis &&\n !width &&\n (textStr.indexOf(' ') === -1 ||\n (noWrap && !regexMatchBreaks.test(textStr)))) {\n textNode.appendChild(doc.createTextNode(unescapeEntities(textStr)));\n // Complex strings, add more logic\n }\n else {\n if (tempParent) {\n // attach it to the DOM to read offset width\n tempParent.appendChild(textNode);\n }\n if (hasMarkup) {\n lines = renderer.styledMode ? (textStr\n .replace(/<(b|strong)>/g, '')\n .replace(/<(i|em)>/g, '')) : (textStr\n .replace(/<(b|strong)>/g, '')\n .replace(/<(i|em)>/g, ''));\n lines = lines\n .replace(//g, '')\n .split(regexMatchBreaks);\n }\n else {\n lines = [textStr];\n }\n // Trim empty lines (#5261)\n lines = lines.filter(function (line) {\n return line !== '';\n });\n // build the lines\n lines.forEach(function (line, lineNo) {\n var spans,\n spanNo = 0,\n lineLength = 0;\n line = line\n // Trim to prevent useless/costly process on the spaces\n // (#5258)\n .replace(/^\\s+|\\s+$/g, '')\n .replace(//g, '|||');\n spans = line.split('|||');\n spans.forEach(function buildTextSpans(span) {\n if (span !== '' || spans.length === 1) {\n var attributes = {},\n tspan = doc.createElementNS(renderer.SVG_NS, 'tspan'),\n a,\n classAttribute,\n styleAttribute, // #390\n hrefAttribute;\n classAttribute = parseAttribute(span, 'class');\n if (classAttribute) {\n attr(tspan, 'class', classAttribute);\n }\n styleAttribute = parseAttribute(span, 'style');\n if (styleAttribute) {\n styleAttribute = styleAttribute.replace(/(;| |^)color([ :])/, '$1fill$2');\n attr(tspan, 'style', styleAttribute);\n }\n // For anchors, wrap the tspan in an tag and apply\n // the href attribute as is (#13559). Not for export\n // (#1529)\n hrefAttribute = parseAttribute(span, 'href');\n if (hrefAttribute && !forExport) {\n if (\n // Stop JavaScript links, vulnerable to XSS\n hrefAttribute.split(':')[0].toLowerCase()\n .indexOf('javascript') === -1) {\n a = doc.createElementNS(renderer.SVG_NS, 'a');\n attr(a, 'href', hrefAttribute);\n attr(tspan, 'class', 'highcharts-anchor');\n a.appendChild(tspan);\n if (!renderer.styledMode) {\n css(tspan, { cursor: 'pointer' });\n }\n }\n }\n // Strip away unsupported HTML tags (#7126)\n span = unescapeEntities(span.replace(/<[a-zA-Z\\/](.|\\n)*?>/g, '') || ' ');\n // Nested tags aren't supported, and cause crash in\n // Safari (#1596)\n if (span !== ' ') {\n // add the text node\n tspan.appendChild(doc.createTextNode(span));\n // First span in a line, align it to the left\n if (!spanNo) {\n if (lineNo && parentX !== null) {\n attributes.x = parentX;\n }\n }\n else {\n attributes.dx = 0; // #16\n }\n // add attributes\n attr(tspan, attributes);\n // Append it\n textNode.appendChild(a || tspan);\n // first span on subsequent line, add the line\n // height\n if (!spanNo && isSubsequentLine) {\n // allow getting the right offset height in\n // exporting in IE\n if (!svg && forExport) {\n css(tspan, { display: 'block' });\n }\n // Set the line height based on the font size of\n // either the text element or the tspan element\n attr(tspan, 'dy', getLineHeight(tspan));\n }\n // Check width and apply soft breaks or ellipsis\n if (width) {\n var words = span.replace(/([^\\^])-/g, '$1- ').split(' '), // #1273\n hasWhiteSpace = !noWrap && (spans.length > 1 ||\n lineNo ||\n words.length > 1),\n wrapLineNo = 0,\n dy = getLineHeight(tspan);\n if (ellipsis) {\n truncated = renderer.truncate(wrapper, tspan, span, void 0, 0, \n // Target width\n Math.max(0, \n // Substract the font face to make\n // room for the ellipsis itself\n width - parseInt(fontSize || 12, 10)), \n // Build the text to test for\n function (text, currentIndex) {\n return text.substring(0, currentIndex) + '\\u2026';\n });\n }\n else if (hasWhiteSpace) {\n while (words.length) {\n // For subsequent lines, create tspans\n // with the same style attributes as the\n // parent text node.\n if (words.length &&\n !noWrap &&\n wrapLineNo > 0) {\n tspan = doc.createElementNS(SVG_NS, 'tspan');\n attr(tspan, {\n dy: dy,\n x: parentX\n });\n if (styleAttribute) { // #390\n attr(tspan, 'style', styleAttribute);\n }\n // Start by appending the full\n // remaining text\n tspan.appendChild(doc.createTextNode(words.join(' ')\n .replace(/- /g, '-')));\n textNode.appendChild(tspan);\n }\n // For each line, truncate the remaining\n // words into the line length.\n renderer.truncate(wrapper, tspan, null, words, wrapLineNo === 0 ? lineLength : 0, width, \n // Build the text to test for\n function (text, currentIndex) {\n return words\n .slice(0, currentIndex)\n .join(' ')\n .replace(/- /g, '-');\n });\n lineLength = wrapper.actualWidth;\n wrapLineNo++;\n }\n }\n }\n spanNo++;\n }\n }\n });\n // To avoid beginning lines that doesn't add to the textNode\n // (#6144)\n isSubsequentLine = (isSubsequentLine ||\n textNode.childNodes.length);\n });\n if (ellipsis && truncated) {\n wrapper.attr('title', unescapeEntities(wrapper.textStr || '', ['<', '>']) // #7179\n );\n }\n if (tempParent) {\n tempParent.removeChild(textNode);\n }\n // Apply the text outline\n if (isString(textOutline) && wrapper.applyTextOutline) {\n wrapper.applyTextOutline(textOutline);\n }\n }\n };\n /**\n * Returns white for dark colors and black for bright colors.\n *\n * @function Highcharts.SVGRenderer#getContrast\n *\n * @param {Highcharts.ColorString} rgba\n * The color to get the contrast for.\n *\n * @return {Highcharts.ColorString}\n * The contrast color, either `#000000` or `#FFFFFF`.\n */\n SVGRenderer.prototype.getContrast = function (rgba) {\n rgba = Color.parse(rgba).rgba;\n // The threshold may be discussed. Here's a proposal for adding\n // different weight to the color channels (#6216)\n rgba[0] *= 1; // red\n rgba[1] *= 1.2; // green\n rgba[2] *= 0.5; // blue\n return rgba[0] + rgba[1] + rgba[2] >\n 1.8 * 255 ?\n '#000000' :\n '#FFFFFF';\n };\n /**\n * Create a button with preset states.\n *\n * @function Highcharts.SVGRenderer#button\n *\n * @param {string} text\n * The text or HTML to draw.\n *\n * @param {number} x\n * The x position of the button's left side.\n *\n * @param {number} y\n * The y position of the button's top side.\n *\n * @param {Highcharts.EventCallbackFunction} callback\n * The function to execute on button click or touch.\n *\n * @param {Highcharts.SVGAttributes} [normalState]\n * SVG attributes for the normal state.\n *\n * @param {Highcharts.SVGAttributes} [hoverState]\n * SVG attributes for the hover state.\n *\n * @param {Highcharts.SVGAttributes} [pressedState]\n * SVG attributes for the pressed state.\n *\n * @param {Highcharts.SVGAttributes} [disabledState]\n * SVG attributes for the disabled state.\n *\n * @param {Highcharts.SymbolKeyValue} [shape=rect]\n * The shape type.\n *\n * @param {boolean} [useHTML=false]\n * Wether to use HTML to render the label.\n *\n * @return {Highcharts.SVGElement}\n * The button element.\n */\n SVGRenderer.prototype.button = function (text, x, y, callback, normalState, hoverState, pressedState, disabledState, shape, useHTML) {\n var label = this.label(text,\n x,\n y,\n shape,\n void 0,\n void 0,\n useHTML,\n void 0, 'button'),\n curState = 0,\n styledMode = this.styledMode, \n // Make a copy of normalState (#13798)\n // (reference to options.rangeSelector.buttonTheme)\n normalState = normalState ? merge(normalState) : normalState,\n userNormalStyle = normalState && normalState.style || {};\n // Remove stylable attributes\n if (normalState && normalState.style) {\n delete normalState.style;\n }\n // Default, non-stylable attributes\n label.attr(merge({ padding: 8, r: 2 }, normalState));\n if (!styledMode) {\n // Presentational\n var normalStyle,\n hoverStyle,\n pressedStyle,\n disabledStyle;\n // Normal state - prepare the attributes\n normalState = merge({\n fill: '#f7f7f7',\n stroke: '#cccccc',\n 'stroke-width': 1,\n style: {\n color: '#333333',\n cursor: 'pointer',\n fontWeight: 'normal'\n }\n }, {\n style: userNormalStyle\n }, normalState);\n normalStyle = normalState.style;\n delete normalState.style;\n // Hover state\n hoverState = merge(normalState, {\n fill: '#e6e6e6'\n }, hoverState);\n hoverStyle = hoverState.style;\n delete hoverState.style;\n // Pressed state\n pressedState = merge(normalState, {\n fill: '#e6ebf5',\n style: {\n color: '#000000',\n fontWeight: 'bold'\n }\n }, pressedState);\n pressedStyle = pressedState.style;\n delete pressedState.style;\n // Disabled state\n disabledState = merge(normalState, {\n style: {\n color: '#cccccc'\n }\n }, disabledState);\n disabledStyle = disabledState.style;\n delete disabledState.style;\n }\n // Add the events. IE9 and IE10 need mouseover and mouseout to funciton\n // (#667).\n addEvent(label.element, isMS ? 'mouseover' : 'mouseenter', function () {\n if (curState !== 3) {\n label.setState(1);\n }\n });\n addEvent(label.element, isMS ? 'mouseout' : 'mouseleave', function () {\n if (curState !== 3) {\n label.setState(curState);\n }\n });\n label.setState = function (state) {\n // Hover state is temporary, don't record it\n if (state !== 1) {\n label.state = curState = state;\n }\n // Update visuals\n label\n .removeClass(/highcharts-button-(normal|hover|pressed|disabled)/)\n .addClass('highcharts-button-' +\n ['normal', 'hover', 'pressed', 'disabled'][state || 0]);\n if (!styledMode) {\n label\n .attr([\n normalState,\n hoverState,\n pressedState,\n disabledState\n ][state || 0])\n .css([\n normalStyle,\n hoverStyle,\n pressedStyle,\n disabledStyle\n ][state || 0]);\n }\n };\n // Presentational attributes\n if (!styledMode) {\n label\n .attr(normalState)\n .css(extend({ cursor: 'default' }, normalStyle));\n }\n return label\n .on('click', function (e) {\n if (curState !== 3) {\n callback.call(label, e);\n }\n });\n };\n /**\n * Make a straight line crisper by not spilling out to neighbour pixels.\n *\n * @function Highcharts.SVGRenderer#crispLine\n *\n * @param {Highcharts.SVGPathArray} points\n * The original points on the format `[['M', 0, 0], ['L', 100, 0]]`.\n *\n * @param {number} width\n * The width of the line.\n *\n * @param {string} roundingFunction\n * The rounding function name on the `Math` object, can be one of\n * `round`, `floor` or `ceil`.\n *\n * @return {Highcharts.SVGPathArray}\n * The original points array, but modified to render crisply.\n */\n SVGRenderer.prototype.crispLine = function (points, width, roundingFunction) {\n if (roundingFunction === void 0) { roundingFunction = 'round'; }\n var start = points[0];\n var end = points[1];\n // Normalize to a crisp line\n if (start[1] === end[1]) {\n // Substract due to #1129. Now bottom and left axis gridlines behave\n // the same.\n start[1] = end[1] =\n Math[roundingFunction](start[1]) - (width % 2 / 2);\n }\n if (start[2] === end[2]) {\n start[2] = end[2] =\n Math[roundingFunction](start[2]) + (width % 2 / 2);\n }\n return points;\n };\n /**\n * Draw a path, wraps the SVG `path` element.\n *\n * @sample highcharts/members/renderer-path-on-chart/\n * Draw a path in a chart\n * @sample highcharts/members/renderer-path/\n * Draw a path independent from a chart\n *\n * @example\n * var path = renderer.path(['M', 10, 10, 'L', 30, 30, 'z'])\n * .attr({ stroke: '#ff00ff' })\n * .add();\n *\n * @function Highcharts.SVGRenderer#path\n *\n * @param {Highcharts.SVGPathArray} [path]\n * An SVG path definition in array form.\n *\n * @return {Highcharts.SVGElement}\n * The generated wrapper element.\n *\n */ /**\n * Draw a path, wraps the SVG `path` element.\n *\n * @function Highcharts.SVGRenderer#path\n *\n * @param {Highcharts.SVGAttributes} [attribs]\n * The initial attributes.\n *\n * @return {Highcharts.SVGElement}\n * The generated wrapper element.\n */\n SVGRenderer.prototype.path = function (path) {\n var attribs = (this.styledMode ? {} : {\n fill: 'none'\n });\n if (isArray(path)) {\n attribs.d = path;\n }\n else if (isObject(path)) { // attributes\n extend(attribs, path);\n }\n return this.createElement('path').attr(attribs);\n };\n /**\n * Draw a circle, wraps the SVG `circle` element.\n *\n * @sample highcharts/members/renderer-circle/\n * Drawing a circle\n *\n * @function Highcharts.SVGRenderer#circle\n *\n * @param {number} [x]\n * The center x position.\n *\n * @param {number} [y]\n * The center y position.\n *\n * @param {number} [r]\n * The radius.\n *\n * @return {Highcharts.SVGElement}\n * The generated wrapper element.\n */ /**\n * Draw a circle, wraps the SVG `circle` element.\n *\n * @function Highcharts.SVGRenderer#circle\n *\n * @param {Highcharts.SVGAttributes} [attribs]\n * The initial attributes.\n *\n * @return {Highcharts.SVGElement}\n * The generated wrapper element.\n */\n SVGRenderer.prototype.circle = function (x, y, r) {\n var attribs = (isObject(x) ?\n x :\n typeof x === 'undefined' ? {} : { x: x, y: y, r: r }), wrapper = this.createElement('circle');\n // Setting x or y translates to cx and cy\n wrapper.xSetter = wrapper.ySetter = function (value, key, element) {\n element.setAttribute('c' + key, value);\n };\n return wrapper.attr(attribs);\n };\n /**\n * Draw and return an arc.\n *\n * @sample highcharts/members/renderer-arc/\n * Drawing an arc\n *\n * @function Highcharts.SVGRenderer#arc\n *\n * @param {number} [x=0]\n * Center X position.\n *\n * @param {number} [y=0]\n * Center Y position.\n *\n * @param {number} [r=0]\n * The outer radius' of the arc.\n *\n * @param {number} [innerR=0]\n * Inner radius like used in donut charts.\n *\n * @param {number} [start=0]\n * The starting angle of the arc in radians, where 0 is to the right and\n * `-Math.PI/2` is up.\n *\n * @param {number} [end=0]\n * The ending angle of the arc in radians, where 0 is to the right and\n * `-Math.PI/2` is up.\n *\n * @return {Highcharts.SVGElement}\n * The generated wrapper element.\n */ /**\n * Draw and return an arc. Overloaded function that takes arguments object.\n *\n * @function Highcharts.SVGRenderer#arc\n *\n * @param {Highcharts.SVGAttributes} attribs\n * Initial SVG attributes.\n *\n * @return {Highcharts.SVGElement}\n * The generated wrapper element.\n */\n SVGRenderer.prototype.arc = function (x, y, r, innerR, start, end) {\n var arc,\n options;\n if (isObject(x)) {\n options = x;\n y = options.y;\n r = options.r;\n innerR = options.innerR;\n start = options.start;\n end = options.end;\n x = options.x;\n }\n else {\n options = {\n innerR: innerR,\n start: start,\n end: end\n };\n }\n // Arcs are defined as symbols for the ability to set\n // attributes in attr and animate\n arc = this.symbol('arc', x, y, r, r, options);\n arc.r = r; // #959\n return arc;\n };\n /**\n * Draw and return a rectangle.\n *\n * @function Highcharts.SVGRenderer#rect\n *\n * @param {number} [x]\n * Left position.\n *\n * @param {number} [y]\n * Top position.\n *\n * @param {number} [width]\n * Width of the rectangle.\n *\n * @param {number} [height]\n * Height of the rectangle.\n *\n * @param {number} [r]\n * Border corner radius.\n *\n * @param {number} [strokeWidth]\n * A stroke width can be supplied to allow crisp drawing.\n *\n * @return {Highcharts.SVGElement}\n * The generated wrapper element.\n */ /**\n * Draw and return a rectangle.\n *\n * @sample highcharts/members/renderer-rect-on-chart/\n * Draw a rectangle in a chart\n * @sample highcharts/members/renderer-rect/\n * Draw a rectangle independent from a chart\n *\n * @function Highcharts.SVGRenderer#rect\n *\n * @param {Highcharts.SVGAttributes} [attributes]\n * General SVG attributes for the rectangle.\n *\n * @return {Highcharts.SVGElement}\n * The generated wrapper element.\n */\n SVGRenderer.prototype.rect = function (x, y, width, height, r, strokeWidth) {\n r = isObject(x) ? x.r : r;\n var wrapper = this.createElement('rect'),\n attribs = isObject(x) ?\n x :\n typeof x === 'undefined' ?\n {} :\n {\n x: x,\n y: y,\n width: Math.max(width, 0),\n height: Math.max(height, 0)\n };\n if (!this.styledMode) {\n if (typeof strokeWidth !== 'undefined') {\n attribs.strokeWidth = strokeWidth;\n attribs = wrapper.crisp(attribs);\n }\n attribs.fill = 'none';\n }\n if (r) {\n attribs.r = r;\n }\n wrapper.rSetter = function (value, key, element) {\n wrapper.r = value;\n attr(element, {\n rx: value,\n ry: value\n });\n };\n wrapper.rGetter = function () {\n return wrapper.r;\n };\n return wrapper.attr(attribs);\n };\n /**\n * Resize the {@link SVGRenderer#box} and re-align all aligned child\n * elements.\n *\n * @sample highcharts/members/renderer-g/\n * Show and hide grouped objects\n *\n * @function Highcharts.SVGRenderer#setSize\n *\n * @param {number} width\n * The new pixel width.\n *\n * @param {number} height\n * The new pixel height.\n *\n * @param {boolean|Partial} [animate=true]\n * Whether and how to animate.\n */\n SVGRenderer.prototype.setSize = function (width, height, animate) {\n var renderer = this,\n alignedObjects = renderer.alignedObjects,\n i = alignedObjects.length;\n renderer.width = width;\n renderer.height = height;\n renderer.boxWrapper.animate({\n width: width,\n height: height\n }, {\n step: function () {\n this.attr({\n viewBox: '0 0 ' + this.attr('width') + ' ' +\n this.attr('height')\n });\n },\n duration: pick(animate, true) ? void 0 : 0\n });\n while (i--) {\n alignedObjects[i].align();\n }\n };\n /**\n * Create and return an svg group element. Child\n * {@link Highcharts.SVGElement} objects are added to the group by using the\n * group as the first parameter in {@link Highcharts.SVGElement#add|add()}.\n *\n * @function Highcharts.SVGRenderer#g\n *\n * @param {string} [name]\n * The group will be given a class name of `highcharts-{name}`. This\n * can be used for styling and scripting.\n *\n * @return {Highcharts.SVGElement}\n * The generated wrapper element.\n */\n SVGRenderer.prototype.g = function (name) {\n var elem = this.createElement('g');\n return name ?\n elem.attr({ 'class': 'highcharts-' + name }) :\n elem;\n };\n /**\n * Display an image.\n *\n * @sample highcharts/members/renderer-image-on-chart/\n * Add an image in a chart\n * @sample highcharts/members/renderer-image/\n * Add an image independent of a chart\n *\n * @function Highcharts.SVGRenderer#image\n *\n * @param {string} src\n * The image source.\n *\n * @param {number} [x]\n * The X position.\n *\n * @param {number} [y]\n * The Y position.\n *\n * @param {number} [width]\n * The image width. If omitted, it defaults to the image file width.\n *\n * @param {number} [height]\n * The image height. If omitted it defaults to the image file\n * height.\n *\n * @param {Function} [onload]\n * Event handler for image load.\n *\n * @return {Highcharts.SVGElement}\n * The generated wrapper element.\n */\n SVGRenderer.prototype.image = function (src, x, y, width, height, onload) {\n var attribs = { preserveAspectRatio: 'none' }, elemWrapper, dummy, setSVGImageSource = function (el, src) {\n // Set the href in the xlink namespace\n if (el.setAttributeNS) {\n el.setAttributeNS('http://www.w3.org/1999/xlink', 'href', src);\n }\n else {\n // could be exporting in IE\n // using href throws \"not supported\" in ie7 and under,\n // requries regex shim to fix later\n el.setAttribute('hc-svg-href', src);\n }\n }, onDummyLoad = function (e) {\n setSVGImageSource(elemWrapper.element, src);\n onload.call(elemWrapper, e);\n };\n // optional properties\n if (arguments.length > 1) {\n extend(attribs, {\n x: x,\n y: y,\n width: width,\n height: height\n });\n }\n elemWrapper = this.createElement('image').attr(attribs);\n // Add load event if supplied\n if (onload) {\n // We have to use a dummy HTML image since IE support for SVG image\n // load events is very buggy. First set a transparent src, wait for\n // dummy to load, and then add the real src to the SVG image.\n setSVGImageSource(elemWrapper.element, 'data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==' /* eslint-disable-line */);\n dummy = new win.Image();\n addEvent(dummy, 'load', onDummyLoad);\n dummy.src = src;\n if (dummy.complete) {\n onDummyLoad({});\n }\n }\n else {\n setSVGImageSource(elemWrapper.element, src);\n }\n return elemWrapper;\n };\n /**\n * Draw a symbol out of pre-defined shape paths from\n * {@link SVGRenderer#symbols}.\n * It is used in Highcharts for point makers, which cake a `symbol` option,\n * and label and button backgrounds like in the tooltip and stock flags.\n *\n * @function Highcharts.SVGRenderer#symbol\n *\n * @param {string} symbol\n * The symbol name.\n *\n * @param {number} [x]\n * The X coordinate for the top left position.\n *\n * @param {number} [y]\n * The Y coordinate for the top left position.\n *\n * @param {number} [width]\n * The pixel width.\n *\n * @param {number} [height]\n * The pixel height.\n *\n * @param {Highcharts.SymbolOptionsObject} [options]\n * Additional options, depending on the actual symbol drawn.\n *\n * @return {Highcharts.SVGElement}\n */\n SVGRenderer.prototype.symbol = function (symbol, x, y, width, height, options) {\n var ren = this,\n obj,\n imageRegex = /^url\\((.*?)\\)$/,\n isImage = imageRegex.test(symbol),\n sym = (!isImage && (this.symbols[symbol] ? symbol : 'circle')), \n // get the symbol definition function\n symbolFn = (sym && this.symbols[sym]),\n path,\n imageSrc,\n centerImage;\n if (symbolFn) {\n // Check if there's a path defined for this symbol\n if (typeof x === 'number') {\n path = symbolFn.call(this.symbols, Math.round(x || 0), Math.round(y || 0), width || 0, height || 0, options);\n }\n obj = this.path(path);\n if (!ren.styledMode) {\n obj.attr('fill', 'none');\n }\n // expando properties for use in animate and attr\n extend(obj, {\n symbolName: sym,\n x: x,\n y: y,\n width: width,\n height: height\n });\n if (options) {\n extend(obj, options);\n }\n // Image symbols\n }\n else if (isImage) {\n imageSrc = symbol.match(imageRegex)[1];\n // Create the image synchronously, add attribs async\n obj = this.image(imageSrc);\n // The image width is not always the same as the symbol width. The\n // image may be centered within the symbol, as is the case when\n // image shapes are used as label backgrounds, for example in flags.\n obj.imgwidth = pick(symbolSizes[imageSrc] && symbolSizes[imageSrc].width, options && options.width);\n obj.imgheight = pick(symbolSizes[imageSrc] && symbolSizes[imageSrc].height, options && options.height);\n /**\n * Set the size and position\n */\n centerImage = function () {\n obj.attr({\n width: obj.width,\n height: obj.height\n });\n };\n /**\n * Width and height setters that take both the image's physical size\n * and the label size into consideration, and translates the image\n * to center within the label.\n */\n ['width', 'height'].forEach(function (key) {\n obj[key + 'Setter'] = function (value, key) {\n var attribs = {}, imgSize = this['img' + key], trans = key === 'width' ? 'translateX' : 'translateY';\n this[key] = value;\n if (defined(imgSize)) {\n // Scale and center the image within its container.\n // The name `backgroundSize` is taken from the CSS spec,\n // but the value `within` is made up. Other possible\n // values in the spec, `cover` and `contain`, can be\n // implemented if needed.\n if (options &&\n options.backgroundSize === 'within' &&\n this.width &&\n this.height) {\n imgSize = Math.round(imgSize * Math.min(this.width / this.imgwidth, this.height / this.imgheight));\n }\n if (this.element) {\n this.element.setAttribute(key, imgSize);\n }\n if (!this.alignByTranslate) {\n attribs[trans] = ((this[key] || 0) - imgSize) / 2;\n this.attr(attribs);\n }\n }\n };\n });\n if (defined(x)) {\n obj.attr({\n x: x,\n y: y\n });\n }\n obj.isImg = true;\n if (defined(obj.imgwidth) && defined(obj.imgheight)) {\n centerImage();\n }\n else {\n // Initialize image to be 0 size so export will still function\n // if there's no cached sizes.\n obj.attr({ width: 0, height: 0 });\n // Create a dummy JavaScript image to get the width and height.\n createElement('img', {\n onload: function () {\n var chart = charts[ren.chartIndex];\n // Special case for SVGs on IE11, the width is not\n // accessible until the image is part of the DOM\n // (#2854).\n if (this.width === 0) {\n css(this, {\n position: 'absolute',\n top: '-999em'\n });\n doc.body.appendChild(this);\n }\n // Center the image\n symbolSizes[imageSrc] = {\n width: this.width,\n height: this.height\n };\n obj.imgwidth = this.width;\n obj.imgheight = this.height;\n if (obj.element) {\n centerImage();\n }\n // Clean up after #2854 workaround.\n if (this.parentNode) {\n this.parentNode.removeChild(this);\n }\n // Fire the load event when all external images are\n // loaded\n ren.imgCount--;\n if (!ren.imgCount && chart && !chart.hasLoaded) {\n chart.onload();\n }\n },\n src: imageSrc\n });\n this.imgCount++;\n }\n }\n return obj;\n };\n /**\n * Define a clipping rectangle. The clipping rectangle is later applied\n * to {@link SVGElement} objects through the {@link SVGElement#clip}\n * function.\n *\n * @example\n * var circle = renderer.circle(100, 100, 100)\n * .attr({ fill: 'red' })\n * .add();\n * var clipRect = renderer.clipRect(100, 100, 100, 100);\n *\n * // Leave only the lower right quarter visible\n * circle.clip(clipRect);\n *\n * @function Highcharts.SVGRenderer#clipRect\n *\n * @param {number} [x]\n *\n * @param {number} [y]\n *\n * @param {number} [width]\n *\n * @param {number} [height]\n *\n * @return {Highcharts.ClipRectElement}\n * A clipping rectangle.\n */\n SVGRenderer.prototype.clipRect = function (x, y, width, height) {\n var wrapper, \n // Add a hyphen at the end to avoid confusion in testing indexes\n // -1 and -10, -11 etc (#6550)\n id = uniqueKey() + '-', clipPath = this.createElement('clipPath').attr({\n id: id\n }).add(this.defs);\n wrapper = this.rect(x, y, width, height, 0).add(clipPath);\n wrapper.id = id;\n wrapper.clipPath = clipPath;\n wrapper.count = 0;\n return wrapper;\n };\n /**\n * Draw text. The text can contain a subset of HTML, like spans and anchors\n * and some basic text styling of these. For more advanced features like\n * border and background, use {@link Highcharts.SVGRenderer#label} instead.\n * To update the text after render, run `text.attr({ text: 'New text' })`.\n *\n * @sample highcharts/members/renderer-text-on-chart/\n * Annotate the chart freely\n * @sample highcharts/members/renderer-on-chart/\n * Annotate with a border and in response to the data\n * @sample highcharts/members/renderer-text/\n * Formatted text\n *\n * @function Highcharts.SVGRenderer#text\n *\n * @param {string} [str]\n * The text of (subset) HTML to draw.\n *\n * @param {number} [x]\n * The x position of the text's lower left corner.\n *\n * @param {number} [y]\n * The y position of the text's lower left corner.\n *\n * @param {boolean} [useHTML=false]\n * Use HTML to render the text.\n *\n * @return {Highcharts.SVGElement}\n * The text object.\n */\n SVGRenderer.prototype.text = function (str, x, y, useHTML) {\n // declare variables\n var renderer = this,\n wrapper,\n attribs = {};\n if (useHTML && (renderer.allowHTML || !renderer.forExport)) {\n return renderer.html(str, x, y);\n }\n attribs.x = Math.round(x || 0); // X always needed for line-wrap logic\n if (y) {\n attribs.y = Math.round(y);\n }\n if (defined(str)) {\n attribs.text = str;\n }\n wrapper = renderer.createElement('text')\n .attr(attribs);\n if (!useHTML) {\n wrapper.xSetter = function (value, key, element) {\n var tspans = element.getElementsByTagName('tspan'),\n tspan,\n parentVal = element.getAttribute(key),\n i;\n for (i = 0; i < tspans.length; i++) {\n tspan = tspans[i];\n // If the x values are equal, the tspan represents a\n // linebreak\n if (tspan.getAttribute(key) === parentVal) {\n tspan.setAttribute(key, value);\n }\n }\n element.setAttribute(key, value);\n };\n }\n return wrapper;\n };\n /**\n * Utility to return the baseline offset and total line height from the font\n * size.\n *\n * @function Highcharts.SVGRenderer#fontMetrics\n *\n * @param {number|string} [fontSize]\n * The current font size to inspect. If not given, the font size\n * will be found from the DOM element.\n *\n * @param {Highcharts.SVGElement|Highcharts.SVGDOMElement} [elem]\n * The element to inspect for a current font size.\n *\n * @return {Highcharts.FontMetricsObject}\n * The font metrics.\n */\n SVGRenderer.prototype.fontMetrics = function (fontSize, elem) {\n var lineHeight,\n baseline;\n if ((this.styledMode || !/px/.test(fontSize)) &&\n win.getComputedStyle // old IE doesn't support it\n ) {\n fontSize = elem && SVGElement.prototype.getStyle.call(elem, 'font-size');\n }\n else {\n fontSize = fontSize ||\n // When the elem is a DOM element (#5932)\n (elem && elem.style && elem.style.fontSize) ||\n // Fall back on the renderer style default\n (this.style && this.style.fontSize);\n }\n // Handle different units\n if (/px/.test(fontSize)) {\n fontSize = pInt(fontSize);\n }\n else {\n fontSize = 12;\n }\n // Empirical values found by comparing font size and bounding box\n // height. Applies to the default font family.\n // https://jsfiddle.net/highcharts/7xvn7/\n lineHeight = fontSize < 24 ? fontSize + 3 : Math.round(fontSize * 1.2);\n baseline = Math.round(lineHeight * 0.8);\n return {\n h: lineHeight,\n b: baseline,\n f: fontSize\n };\n };\n /**\n * Correct X and Y positioning of a label for rotation (#1764).\n *\n * @private\n * @function Highcharts.SVGRenderer#rotCorr\n *\n * @param {number} baseline\n *\n * @param {number} rotation\n *\n * @param {boolean} [alterY]\n *\n * @param {Highcharts.PositionObject}\n */\n SVGRenderer.prototype.rotCorr = function (baseline, rotation, alterY) {\n var y = baseline;\n if (rotation && alterY) {\n y = Math.max(y * Math.cos(rotation * deg2rad), 4);\n }\n return {\n x: (-baseline / 3) * Math.sin(rotation * deg2rad),\n y: y\n };\n };\n /**\n * Compatibility function to convert the legacy one-dimensional path array\n * into an array of segments.\n *\n * It is used in maps to parse the `path` option, and in SVGRenderer.dSetter\n * to support legacy paths from demos.\n *\n * @private\n * @function Highcharts.SVGRenderer#pathToSegments\n */\n SVGRenderer.prototype.pathToSegments = function (path) {\n var ret = [];\n var segment = [];\n var commandLength = {\n A: 8,\n C: 7,\n H: 2,\n L: 3,\n M: 3,\n Q: 5,\n S: 5,\n T: 3,\n V: 2\n };\n // Short, non-typesafe parsing of the one-dimensional array. It splits\n // the path on any string. This is not type checked against the tuple\n // types, but is shorter, and doesn't require specific checks for any\n // command type in SVG.\n for (var i = 0; i < path.length; i++) {\n // Command skipped, repeat previous or insert L/l for M/m\n if (isString(segment[0]) &&\n isNumber(path[i]) &&\n segment.length === commandLength[(segment[0].toUpperCase())]) {\n path.splice(i, 0, segment[0].replace('M', 'L').replace('m', 'l'));\n }\n // Split on string\n if (typeof path[i] === 'string') {\n if (segment.length) {\n ret.push(segment.slice(0));\n }\n segment.length = 0;\n }\n segment.push(path[i]);\n }\n ret.push(segment.slice(0));\n return ret;\n /*\n // Fully type-safe version where each tuple type is checked. The\n // downside is filesize and a lack of flexibility for unsupported\n // commands\n const ret: SVGPath = [],\n commands = {\n A: 7,\n C: 6,\n H: 1,\n L: 2,\n M: 2,\n Q: 4,\n S: 4,\n T: 2,\n V: 1,\n Z: 0\n };\n\n let i = 0,\n lastI = 0,\n lastCommand;\n\n while (i < path.length) {\n const item = path[i];\n\n let command;\n\n if (typeof item === 'string') {\n command = item;\n i += 1;\n } else {\n command = lastCommand || 'M';\n }\n\n // Upper case\n const commandUC = command.toUpperCase();\n\n if (commandUC in commands) {\n\n // No numeric parameters\n if (command === 'Z' || command === 'z') {\n ret.push([command]);\n\n // One numeric parameter\n } else {\n const val0 = path[i];\n if (typeof val0 === 'number') {\n\n // Horizontal line to\n if (command === 'H' || command === 'h') {\n ret.push([command, val0]);\n i += 1;\n\n // Vertical line to\n } else if (command === 'V' || command === 'v') {\n ret.push([command, val0]);\n i += 1;\n\n // Two numeric parameters\n } else {\n const val1 = path[i + 1];\n if (typeof val1 === 'number') {\n // lineTo\n if (command === 'L' || command === 'l') {\n ret.push([command, val0, val1]);\n i += 2;\n\n // moveTo\n } else if (command === 'M' || command === 'm') {\n ret.push([command, val0, val1]);\n i += 2;\n\n // Smooth quadratic bezier\n } else if (command === 'T' || command === 't') {\n ret.push([command, val0, val1]);\n i += 2;\n\n // Four numeric parameters\n } else {\n const val2 = path[i + 2],\n val3 = path[i + 3];\n if (\n typeof val2 === 'number' &&\n typeof val3 === 'number'\n ) {\n // Quadratic bezier to\n if (\n command === 'Q' ||\n command === 'q'\n ) {\n ret.push([\n command,\n val0,\n val1,\n val2,\n val3\n ]);\n i += 4;\n\n // Smooth cubic bezier to\n } else if (\n command === 'S' ||\n command === 's'\n ) {\n ret.push([\n command,\n val0,\n val1,\n val2,\n val3\n ]);\n i += 4;\n\n // Six numeric parameters\n } else {\n const val4 = path[i + 4],\n val5 = path[i + 5];\n\n if (\n typeof val4 === 'number' &&\n typeof val5 === 'number'\n ) {\n // Curve to\n if (\n command === 'C' ||\n command === 'c'\n ) {\n ret.push([\n command,\n val0,\n val1,\n val2,\n val3,\n val4,\n val5\n ]);\n i += 6;\n\n // Seven numeric parameters\n } else {\n const val6 = path[i + 6];\n\n // Arc to\n if (\n typeof val6 ===\n 'number' &&\n (\n command === 'A' ||\n command === 'a'\n )\n ) {\n ret.push([\n command,\n val0,\n val1,\n val2,\n val3,\n val4,\n val5,\n val6\n ]);\n i += 7;\n\n }\n\n }\n }\n }\n }\n }\n }\n\n }\n }\n }\n }\n\n // An unmarked command following a moveTo is a lineTo\n lastCommand = command === 'M' ? 'L' : command;\n\n if (i === lastI) {\n break;\n }\n lastI = i;\n }\n return ret;\n */\n };\n /**\n * Draw a label, which is an extended text element with support for border\n * and background. Highcharts creates a `g` element with a text and a `path`\n * or `rect` inside, to make it behave somewhat like a HTML div. Border and\n * background are set through `stroke`, `stroke-width` and `fill` attributes\n * using the {@link Highcharts.SVGElement#attr|attr} method. To update the\n * text after render, run `label.attr({ text: 'New text' })`.\n *\n * @sample highcharts/members/renderer-label-on-chart/\n * A label on the chart\n *\n * @function Highcharts.SVGRenderer#label\n *\n * @param {string} str\n * The initial text string or (subset) HTML to render.\n *\n * @param {number} x\n * The x position of the label's left side.\n *\n * @param {number} [y]\n * The y position of the label's top side or baseline, depending on\n * the `baseline` parameter.\n *\n * @param {string} [shape='rect']\n * The shape of the label's border/background, if any. Defaults to\n * `rect`. Other possible values are `callout` or other shapes\n * defined in {@link Highcharts.SVGRenderer#symbols}.\n *\n * @param {number} [anchorX]\n * In case the `shape` has a pointer, like a flag, this is the\n * coordinates it should be pinned to.\n *\n * @param {number} [anchorY]\n * In case the `shape` has a pointer, like a flag, this is the\n * coordinates it should be pinned to.\n *\n * @param {boolean} [useHTML=false]\n * Wether to use HTML to render the label.\n *\n * @param {boolean} [baseline=false]\n * Whether to position the label relative to the text baseline,\n * like {@link Highcharts.SVGRenderer#text|renderer.text}, or to the\n * upper border of the rectangle.\n *\n * @param {string} [className]\n * Class name for the group.\n *\n * @return {Highcharts.SVGElement}\n * The generated label.\n */\n SVGRenderer.prototype.label = function (str, x, y, shape, anchorX, anchorY, useHTML, baseline, className) {\n return new SVGLabel(this, str, x, y, shape, anchorX, anchorY, useHTML, baseline, className);\n };\n return SVGRenderer;\n }());\n /**\n * A pointer to the renderer's associated Element class. The VMLRenderer\n * will have a pointer to VMLElement here.\n *\n * @name Highcharts.SVGRenderer#Element\n * @type {Highcharts.SVGElement}\n */\n SVGRenderer.prototype.Element = SVGElement;\n /**\n * @private\n */\n SVGRenderer.prototype.SVG_NS = SVG_NS;\n /**\n * Dummy function for plugins, called every time the renderer is updated.\n * Prior to Highcharts 5, this was used for the canvg renderer.\n *\n * @deprecated\n * @function Highcharts.SVGRenderer#draw\n */\n SVGRenderer.prototype.draw = noop;\n /**\n * A collection of characters mapped to HTML entities. When `useHTML` on an\n * element is true, these entities will be rendered correctly by HTML. In\n * the SVG pseudo-HTML, they need to be unescaped back to simple characters,\n * so for example `<` will render as `<`.\n *\n * @example\n * // Add support for unescaping quotes\n * Highcharts.SVGRenderer.prototype.escapes['\"'] = '"';\n *\n * @name Highcharts.SVGRenderer#escapes\n * @type {Highcharts.Dictionary}\n */\n SVGRenderer.prototype.escapes = {\n '&': '&',\n '<': '<',\n '>': '>',\n \"'\": ''',\n '\"': '"'\n };\n /**\n * An extendable collection of functions for defining symbol paths.\n *\n * @name Highcharts.SVGRenderer#symbols\n * @type {Highcharts.SymbolDictionary}\n */\n SVGRenderer.prototype.symbols = {\n circle: function (x, y, w, h) {\n // Return a full arc\n return this.arc(x + w / 2, y + h / 2, w / 2, h / 2, {\n start: Math.PI * 0.5,\n end: Math.PI * 2.5,\n open: false\n });\n },\n square: function (x, y, w, h) {\n return [\n ['M', x, y],\n ['L', x + w, y],\n ['L', x + w, y + h],\n ['L', x, y + h],\n ['Z']\n ];\n },\n triangle: function (x, y, w, h) {\n return [\n ['M', x + w / 2, y],\n ['L', x + w, y + h],\n ['L', x, y + h],\n ['Z']\n ];\n },\n 'triangle-down': function (x, y, w, h) {\n return [\n ['M', x, y],\n ['L', x + w, y],\n ['L', x + w / 2, y + h],\n ['Z']\n ];\n },\n diamond: function (x, y, w, h) {\n return [\n ['M', x + w / 2, y],\n ['L', x + w, y + h / 2],\n ['L', x + w / 2, y + h],\n ['L', x, y + h / 2],\n ['Z']\n ];\n },\n arc: function (x, y, w, h, options) {\n var arc = [];\n if (options) {\n var start = options.start || 0,\n end = options.end || 0,\n rx = options.r || w,\n ry = options.r || h || w,\n proximity = 0.001,\n fullCircle = Math.abs(end - start - 2 * Math.PI) <\n proximity, \n // Substract a small number to prevent cos and sin of start and\n // end from becoming equal on 360 arcs (related: #1561)\n end = end - proximity,\n innerRadius = options.innerR,\n open = pick(options.open,\n fullCircle),\n cosStart = Math.cos(start),\n sinStart = Math.sin(start),\n cosEnd = Math.cos(end),\n sinEnd = Math.sin(end), \n // Proximity takes care of rounding errors around PI (#6971)\n longArc = pick(options.longArc,\n end - start - Math.PI < proximity ? 0 : 1);\n arc.push([\n 'M',\n x + rx * cosStart,\n y + ry * sinStart\n ], [\n 'A',\n rx,\n ry,\n 0,\n longArc,\n pick(options.clockwise, 1),\n x + rx * cosEnd,\n y + ry * sinEnd\n ]);\n if (defined(innerRadius)) {\n arc.push(open ?\n [\n 'M',\n x + innerRadius * cosEnd,\n y + innerRadius * sinEnd\n ] : [\n 'L',\n x + innerRadius * cosEnd,\n y + innerRadius * sinEnd\n ], [\n 'A',\n innerRadius,\n innerRadius,\n 0,\n longArc,\n // Clockwise - opposite to the outer arc clockwise\n defined(options.clockwise) ? 1 - options.clockwise : 0,\n x + innerRadius * cosStart,\n y + innerRadius * sinStart\n ]);\n }\n if (!open) {\n arc.push(['Z']);\n }\n }\n return arc;\n },\n /**\n * Callout shape used for default tooltips, also used for rounded\n * rectangles in VML\n */\n callout: function (x, y, w, h, options) {\n var arrowLength = 6,\n halfDistance = 6,\n r = Math.min((options && options.r) || 0,\n w,\n h),\n safeDistance = r + halfDistance,\n anchorX = options && options.anchorX || 0,\n anchorY = options && options.anchorY || 0,\n path;\n path = [\n ['M', x + r, y],\n ['L', x + w - r, y],\n ['C', x + w, y, x + w, y, x + w, y + r],\n ['L', x + w, y + h - r],\n ['C', x + w, y + h, x + w, y + h, x + w - r, y + h],\n ['L', x + r, y + h],\n ['C', x, y + h, x, y + h, x, y + h - r],\n ['L', x, y + r],\n ['C', x, y, x, y, x + r, y] // top-left corner\n ];\n // Anchor on right side\n if (anchorX && anchorX > w) {\n // Chevron\n if (anchorY > y + safeDistance &&\n anchorY < y + h - safeDistance) {\n path.splice(3, 1, ['L', x + w, anchorY - halfDistance], ['L', x + w + arrowLength, anchorY], ['L', x + w, anchorY + halfDistance], ['L', x + w, y + h - r]);\n // Simple connector\n }\n else {\n path.splice(3, 1, ['L', x + w, h / 2], ['L', anchorX, anchorY], ['L', x + w, h / 2], ['L', x + w, y + h - r]);\n }\n // Anchor on left side\n }\n else if (anchorX && anchorX < 0) {\n // Chevron\n if (anchorY > y + safeDistance &&\n anchorY < y + h - safeDistance) {\n path.splice(7, 1, ['L', x, anchorY + halfDistance], ['L', x - arrowLength, anchorY], ['L', x, anchorY - halfDistance], ['L', x, y + r]);\n // Simple connector\n }\n else {\n path.splice(7, 1, ['L', x, h / 2], ['L', anchorX, anchorY], ['L', x, h / 2], ['L', x, y + r]);\n }\n }\n else if ( // replace bottom\n anchorY &&\n anchorY > h &&\n anchorX > x + safeDistance &&\n anchorX < x + w - safeDistance) {\n path.splice(5, 1, ['L', anchorX + halfDistance, y + h], ['L', anchorX, y + h + arrowLength], ['L', anchorX - halfDistance, y + h], ['L', x + r, y + h]);\n }\n else if ( // replace top\n anchorY &&\n anchorY < 0 &&\n anchorX > x + safeDistance &&\n anchorX < x + w - safeDistance) {\n path.splice(1, 1, ['L', anchorX - halfDistance, y], ['L', anchorX, y - arrowLength], ['L', anchorX + halfDistance, y], ['L', w - r, y]);\n }\n return path;\n }\n };\n H.SVGRenderer = SVGRenderer;\n H.Renderer = H.SVGRenderer;\n\n return H.Renderer;\n });\n _registerModule(_modules, 'Core/Renderer/HTML/HTMLElement.js', [_modules['Core/Globals.js'], _modules['Core/Renderer/SVG/SVGElement.js'], _modules['Core/Utilities.js']], function (H, SVGElement, U) {\n /* *\n *\n * (c) 2010-2020 Torstein Honsi\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n var css = U.css,\n defined = U.defined,\n extend = U.extend,\n pick = U.pick,\n pInt = U.pInt;\n /**\n * Element placebo\n * @private\n */\n var HTMLElement = SVGElement;\n var isFirefox = H.isFirefox;\n /* eslint-disable valid-jsdoc */\n // Extend SvgElement for useHTML option.\n extend(HTMLElement.prototype, /** @lends SVGElement.prototype */ {\n /**\n * Apply CSS to HTML elements. This is used in text within SVG rendering and\n * by the VML renderer\n *\n * @private\n * @function Highcharts.SVGElement#htmlCss\n *\n * @param {Highcharts.CSSObject} styles\n *\n * @return {Highcharts.SVGElement}\n */\n htmlCss: function (styles) {\n var wrapper = this,\n element = wrapper.element, \n // When setting or unsetting the width style, we need to update\n // transform (#8809)\n isSettingWidth = (element.tagName === 'SPAN' &&\n styles &&\n 'width' in styles),\n textWidth = pick(isSettingWidth && styles.width,\n void 0),\n doTransform;\n if (isSettingWidth) {\n delete styles.width;\n wrapper.textWidth = textWidth;\n doTransform = true;\n }\n if (styles && styles.textOverflow === 'ellipsis') {\n styles.whiteSpace = 'nowrap';\n styles.overflow = 'hidden';\n }\n wrapper.styles = extend(wrapper.styles, styles);\n css(wrapper.element, styles);\n // Now that all styles are applied, to the transform\n if (doTransform) {\n wrapper.htmlUpdateTransform();\n }\n return wrapper;\n },\n /**\n * VML and useHTML method for calculating the bounding box based on offsets.\n *\n * @private\n * @function Highcharts.SVGElement#htmlGetBBox\n *\n * @param {boolean} refresh\n * Whether to force a fresh value from the DOM or to use the cached\n * value.\n *\n * @return {Highcharts.BBoxObject}\n * A hash containing values for x, y, width and height.\n */\n htmlGetBBox: function () {\n var wrapper = this,\n element = wrapper.element;\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: element.offsetWidth,\n height: element.offsetHeight\n };\n },\n /**\n * VML override private method to update elements based on internal\n * properties based on SVG transform.\n *\n * @private\n * @function Highcharts.SVGElement#htmlUpdateTransform\n * @return {void}\n */\n htmlUpdateTransform: function () {\n // aligning non added elements is expensive\n if (!this.added) {\n this.alignOnAdd = true;\n return;\n }\n var wrapper = this,\n renderer = wrapper.renderer,\n elem = wrapper.element,\n translateX = wrapper.translateX || 0,\n translateY = wrapper.translateY || 0,\n x = wrapper.x || 0,\n y = wrapper.y || 0,\n align = wrapper.textAlign || 'left',\n alignCorrection = {\n left: 0,\n center: 0.5,\n right: 1\n }[align],\n styles = wrapper.styles,\n whiteSpace = styles && styles.whiteSpace;\n /**\n * @private\n * @return {number}\n */\n function getTextPxLength() {\n // Reset multiline/ellipsis in order to read width (#4928,\n // #5417)\n css(elem, {\n width: '',\n whiteSpace: whiteSpace || 'nowrap'\n });\n return elem.offsetWidth;\n }\n // apply translate\n css(elem, {\n marginLeft: translateX,\n marginTop: translateY\n });\n if (!renderer.styledMode && wrapper.shadows) { // used in labels/tooltip\n wrapper.shadows.forEach(function (shadow) {\n css(shadow, {\n marginLeft: translateX + 1,\n marginTop: translateY + 1\n });\n });\n }\n // apply inversion\n if (wrapper.inverted) { // wrapper is a group\n [].forEach.call(elem.childNodes, function (child) {\n renderer.invertChild(child, elem);\n });\n }\n if (elem.tagName === 'SPAN') {\n var rotation = wrapper.rotation, baseline, textWidth = wrapper.textWidth && pInt(wrapper.textWidth), currentTextTransform = [\n rotation,\n align,\n elem.innerHTML,\n wrapper.textWidth,\n wrapper.textAlign\n ].join(',');\n // Update textWidth. Use the memoized textPxLength if possible, to\n // avoid the getTextPxLength function using elem.offsetWidth.\n // Calling offsetWidth affects rendering time as it forces layout\n // (#7656).\n if (textWidth !== wrapper.oldTextWidth &&\n ((textWidth > wrapper.oldTextWidth) ||\n (wrapper.textPxLength || getTextPxLength()) > textWidth) && (\n // Only set the width if the text is able to word-wrap, or\n // text-overflow is ellipsis (#9537)\n /[ \\-]/.test(elem.textContent || elem.innerText) ||\n elem.style.textOverflow === 'ellipsis')) { // #983, #1254\n css(elem, {\n width: textWidth + 'px',\n display: 'block',\n whiteSpace: whiteSpace || 'normal' // #3331\n });\n wrapper.oldTextWidth = textWidth;\n wrapper.hasBoxWidthChanged = true; // #8159\n }\n else {\n wrapper.hasBoxWidthChanged = false; // #8159\n }\n // Do the calculations and DOM access only if properties changed\n if (currentTextTransform !== wrapper.cTT) {\n baseline = renderer.fontMetrics(elem.style.fontSize, elem).b;\n // Renderer specific handling of span rotation, but only if we\n // have something to update.\n if (defined(rotation) &&\n ((rotation !== (wrapper.oldRotation || 0)) ||\n (align !== wrapper.oldAlign))) {\n wrapper.setSpanRotation(rotation, alignCorrection, baseline);\n }\n wrapper.getSpanCorrection(\n // Avoid elem.offsetWidth if we can, it affects rendering\n // time heavily (#7656)\n ((!defined(rotation) && wrapper.textPxLength) || // #7920\n elem.offsetWidth), baseline, alignCorrection, rotation, align);\n }\n // apply position with correction\n css(elem, {\n left: (x + (wrapper.xCorr || 0)) + 'px',\n top: (y + (wrapper.yCorr || 0)) + 'px'\n });\n // record current text transform\n wrapper.cTT = currentTextTransform;\n wrapper.oldRotation = rotation;\n wrapper.oldAlign = align;\n }\n },\n /**\n * Set the rotation of an individual HTML span.\n *\n * @private\n * @function Highcharts.SVGElement#setSpanRotation\n * @param {number} rotation\n * @param {number} alignCorrection\n * @param {number} baseline\n * @return {void}\n */\n setSpanRotation: function (rotation, alignCorrection, baseline) {\n var rotationStyle = {},\n cssTransformKey = this.renderer.getTransformKey();\n rotationStyle[cssTransformKey] = rotationStyle.transform =\n 'rotate(' + rotation + 'deg)';\n rotationStyle[cssTransformKey + (isFirefox ? 'Origin' : '-origin')] =\n rotationStyle.transformOrigin =\n (alignCorrection * 100) + '% ' + baseline + 'px';\n css(this.element, rotationStyle);\n },\n /**\n * Get the correction in X and Y positioning as the element is rotated.\n *\n * @private\n * @function Highcharts.SVGElement#getSpanCorrection\n * @param {number} width\n * @param {number} baseline\n * @param {number} alignCorrection\n * @return {void}\n */\n getSpanCorrection: function (width, baseline, alignCorrection) {\n this.xCorr = -width * alignCorrection;\n this.yCorr = -baseline;\n }\n });\n\n return HTMLElement;\n });\n _registerModule(_modules, 'Core/Renderer/HTML/HTMLRenderer.js', [_modules['Core/Globals.js'], _modules['Core/Renderer/SVG/SVGElement.js'], _modules['Core/Renderer/SVG/SVGRenderer.js'], _modules['Core/Utilities.js']], function (H, SVGElement, SVGRenderer, U) {\n /* *\n *\n * (c) 2010-2020 Torstein Honsi\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n var isFirefox = H.isFirefox,\n isMS = H.isMS,\n isWebKit = H.isWebKit,\n win = H.win;\n var attr = U.attr,\n createElement = U.createElement,\n extend = U.extend,\n pick = U.pick;\n /**\n * Renderer placebo\n * @private\n */\n var HTMLRenderer = SVGRenderer;\n /* eslint-disable valid-jsdoc */\n // Extend SvgRenderer for useHTML option.\n extend(SVGRenderer.prototype, /** @lends SVGRenderer.prototype */ {\n /**\n * @private\n * @function Highcharts.SVGRenderer#getTransformKey\n *\n * @return {string}\n */\n getTransformKey: function () {\n return isMS && !/Edge/.test(win.navigator.userAgent) ?\n '-ms-transform' :\n isWebKit ?\n '-webkit-transform' :\n isFirefox ?\n 'MozTransform' :\n win.opera ?\n '-o-transform' :\n '';\n },\n /**\n * Create HTML text node. This is used by the VML renderer as well as the\n * SVG renderer through the useHTML option.\n *\n * @private\n * @function Highcharts.SVGRenderer#html\n *\n * @param {string} str\n * The text of (subset) HTML to draw.\n *\n * @param {number} x\n * The x position of the text's lower left corner.\n *\n * @param {number} y\n * The y position of the text's lower left corner.\n *\n * @return {Highcharts.HTMLDOMElement}\n */\n html: function (str, x, y) {\n var wrapper = this.createElement('span'), element = wrapper.element, renderer = wrapper.renderer, isSVG = renderer.isSVG, addSetters = function (gWrapper, style) {\n // These properties are set as attributes on the SVG group, and\n // as identical CSS properties on the div. (#3542)\n ['opacity', 'visibility'].forEach(function (prop) {\n gWrapper[prop + 'Setter'] = function (value, key, elem) {\n var styleObject = gWrapper.div ?\n gWrapper.div.style :\n style;\n SVGElement.prototype[prop + 'Setter']\n .call(this, value, key, elem);\n if (styleObject) {\n styleObject[key] = value;\n }\n };\n });\n gWrapper.addedSetters = true;\n };\n // Text setter\n wrapper.textSetter = function (value) {\n if (value !== element.innerHTML) {\n delete this.bBox;\n delete this.oldTextWidth;\n }\n this.textStr = value;\n element.innerHTML = pick(value, '');\n wrapper.doTransform = true;\n };\n // Add setters for the element itself (#4938)\n if (isSVG) { // #4938, only for HTML within SVG\n addSetters(wrapper, wrapper.element.style);\n }\n // Various setters which rely on update transform\n wrapper.xSetter =\n wrapper.ySetter =\n wrapper.alignSetter =\n wrapper.rotationSetter =\n function (value, key) {\n if (key === 'align') {\n // Do not overwrite the SVGElement.align method. Same as VML.\n wrapper.alignValue = wrapper.textAlign = value;\n }\n else {\n wrapper[key] = value;\n }\n wrapper.doTransform = true;\n };\n // Runs at the end of .attr()\n wrapper.afterSetters = function () {\n // Update transform. Do this outside the loop to prevent redundant\n // updating for batch setting of attributes.\n if (this.doTransform) {\n this.htmlUpdateTransform();\n this.doTransform = false;\n }\n };\n // Set the default attributes\n wrapper\n .attr({\n text: str,\n x: Math.round(x),\n y: Math.round(y)\n })\n .css({\n position: 'absolute'\n });\n if (!renderer.styledMode) {\n wrapper.css({\n fontFamily: this.style.fontFamily,\n fontSize: this.style.fontSize\n });\n }\n // Keep the whiteSpace style outside the wrapper.styles collection\n element.style.whiteSpace = 'nowrap';\n // Use the HTML specific .css method\n wrapper.css = wrapper.htmlCss;\n // This is specific for HTML within SVG\n if (isSVG) {\n wrapper.add = function (svgGroupWrapper) {\n var htmlGroup,\n container = renderer.box.parentNode,\n parentGroup,\n parents = [];\n this.parentGroup = svgGroupWrapper;\n // Create a mock group to hold the HTML elements\n if (svgGroupWrapper) {\n htmlGroup = svgGroupWrapper.div;\n if (!htmlGroup) {\n // Read the parent chain into an array and read from top\n // down\n parentGroup = svgGroupWrapper;\n while (parentGroup) {\n parents.push(parentGroup);\n // Move up to the next parent group\n parentGroup = parentGroup.parentGroup;\n }\n // Ensure dynamically updating position when any parent\n // is translated\n parents.reverse().forEach(function (parentGroup) {\n var htmlGroupStyle,\n cls = attr(parentGroup.element, 'class');\n /**\n * Common translate setter for X and Y on the HTML\n * group. Reverted the fix for #6957 du to\n * positioning problems and offline export (#7254,\n * #7280, #7529)\n * @private\n * @param {*} value\n * @param {string} key\n * @return {void}\n */\n function translateSetter(value, key) {\n parentGroup[key] = value;\n if (key === 'translateX') {\n htmlGroupStyle.left = value + 'px';\n }\n else {\n htmlGroupStyle.top = value + 'px';\n }\n parentGroup.doTransform = true;\n }\n // Create a HTML div and append it to the parent div\n // to emulate the SVG group structure\n htmlGroup =\n parentGroup.div =\n parentGroup.div || createElement('div', cls ? { className: cls } : void 0, {\n position: 'absolute',\n left: (parentGroup.translateX || 0) + 'px',\n top: (parentGroup.translateY || 0) + 'px',\n display: parentGroup.display,\n opacity: parentGroup.opacity,\n pointerEvents: (parentGroup.styles &&\n parentGroup.styles.pointerEvents) // #5595\n // the top group is appended to container\n }, htmlGroup || container);\n // Shortcut\n htmlGroupStyle = htmlGroup.style;\n // Set listeners to update the HTML div's position\n // whenever the SVG group position is changed.\n extend(parentGroup, {\n // (#7287) Pass htmlGroup to use\n // the related group\n classSetter: (function (htmlGroup) {\n return function (value) {\n this.element.setAttribute('class', value);\n htmlGroup.className = value;\n };\n }(htmlGroup)),\n on: function () {\n if (parents[0].div) { // #6418\n wrapper.on.apply({ element: parents[0].div }, arguments);\n }\n return parentGroup;\n },\n translateXSetter: translateSetter,\n translateYSetter: translateSetter\n });\n if (!parentGroup.addedSetters) {\n addSetters(parentGroup);\n }\n });\n }\n }\n else {\n htmlGroup = container;\n }\n htmlGroup.appendChild(element);\n // Shared with VML:\n wrapper.added = true;\n if (wrapper.alignOnAdd) {\n wrapper.htmlUpdateTransform();\n }\n return wrapper;\n };\n }\n return wrapper;\n }\n });\n\n return HTMLRenderer;\n });\n _registerModule(_modules, 'Core/Axis/Tick.js', [_modules['Core/Globals.js'], _modules['Core/Utilities.js']], function (H, U) {\n /* *\n *\n * (c) 2010-2020 Torstein Honsi\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n /**\n * Optional parameters for the tick.\n * @private\n * @interface Highcharts.TickParametersObject\n */ /**\n * Set category for the tick.\n * @name Highcharts.TickParametersObject#category\n * @type {string|undefined}\n */ /**\n * @name Highcharts.TickParametersObject#options\n * @type {Highcharts.Dictionary|undefined}\n */ /**\n * Set tickmarkOffset for the tick.\n * @name Highcharts.TickParametersObject#tickmarkOffset\n * @type {number|undefined}\n */\n var clamp = U.clamp,\n correctFloat = U.correctFloat,\n defined = U.defined,\n destroyObjectProperties = U.destroyObjectProperties,\n extend = U.extend,\n fireEvent = U.fireEvent,\n isNumber = U.isNumber,\n merge = U.merge,\n objectEach = U.objectEach,\n pick = U.pick;\n var deg2rad = H.deg2rad;\n /* eslint-disable no-invalid-this, valid-jsdoc */\n /**\n * The Tick class.\n *\n * @class\n * @name Highcharts.Tick\n *\n * @param {Highcharts.Axis} axis\n * The axis of the tick.\n *\n * @param {number} pos\n * The position of the tick on the axis in terms of axis values.\n *\n * @param {string} [type]\n * The type of tick, either 'minor' or an empty string\n *\n * @param {boolean} [noLabel=false]\n * Whether to disable the label or not. Defaults to false.\n *\n * @param {object} [parameters]\n * Optional parameters for the tick.\n */\n var Tick = /** @class */ (function () {\n /* *\n *\n * Constructors\n *\n * */\n function Tick(axis, pos, type, noLabel, parameters) {\n this.isNew = true;\n this.isNewLabel = true;\n /**\n * The related axis of the tick.\n * @name Highcharts.Tick#axis\n * @type {Highcharts.Axis}\n */\n this.axis = axis;\n /**\n * The logical position of the tick on the axis in terms of axis values.\n * @name Highcharts.Tick#pos\n * @type {number}\n */\n this.pos = pos;\n /**\n * The tick type, which can be `\"minor\"`, or an empty string.\n * @name Highcharts.Tick#type\n * @type {string}\n */\n this.type = type || '';\n this.parameters = parameters || {};\n /**\n * The mark offset of the tick on the axis. Usually `undefined`, numeric\n * for grid axes.\n * @name Highcharts.Tick#tickmarkOffset\n * @type {number|undefined}\n */\n this.tickmarkOffset = this.parameters.tickmarkOffset;\n this.options = this.parameters.options;\n fireEvent(this, 'init');\n if (!type && !noLabel) {\n this.addLabel();\n }\n }\n /* *\n *\n * Functions\n *\n * */\n /**\n * Write the tick label.\n *\n * @private\n * @function Highcharts.Tick#addLabel\n * @return {void}\n */\n Tick.prototype.addLabel = function () {\n var tick = this,\n axis = tick.axis,\n options = axis.options,\n chart = axis.chart,\n categories = axis.categories,\n log = axis.logarithmic,\n names = axis.names,\n pos = tick.pos,\n labelOptions = pick(tick.options && tick.options.labels,\n options.labels),\n str,\n tickPositions = axis.tickPositions,\n isFirst = pos === tickPositions[0],\n isLast = pos === tickPositions[tickPositions.length - 1],\n value = this.parameters.category || (categories ?\n pick(categories[pos],\n names[pos],\n pos) :\n pos),\n label = tick.label,\n animateLabels = (!labelOptions.step || labelOptions.step === 1) &&\n axis.tickInterval === 1,\n tickPositionInfo = tickPositions.info,\n dateTimeLabelFormat,\n dateTimeLabelFormats,\n i,\n list;\n // Set the datetime label format. If a higher rank is set for this\n // position, use that. If not, use the general format.\n if (axis.dateTime && tickPositionInfo) {\n dateTimeLabelFormats = chart.time.resolveDTLFormat(options.dateTimeLabelFormats[(!options.grid &&\n tickPositionInfo.higherRanks[pos]) ||\n tickPositionInfo.unitName]);\n dateTimeLabelFormat = dateTimeLabelFormats.main;\n }\n // set properties for access in render method\n /**\n * True if the tick is the first one on the axis.\n * @name Highcharts.Tick#isFirst\n * @readonly\n * @type {boolean|undefined}\n */\n tick.isFirst = isFirst;\n /**\n * True if the tick is the last one on the axis.\n * @name Highcharts.Tick#isLast\n * @readonly\n * @type {boolean|undefined}\n */\n tick.isLast = isLast;\n // Get the string\n tick.formatCtx = {\n axis: axis,\n chart: chart,\n isFirst: isFirst,\n isLast: isLast,\n dateTimeLabelFormat: dateTimeLabelFormat,\n tickPositionInfo: tickPositionInfo,\n value: log ? correctFloat(log.lin2log(value)) : value,\n pos: pos\n };\n str = axis.labelFormatter.call(tick.formatCtx, this.formatCtx);\n // Set up conditional formatting based on the format list if existing.\n list = dateTimeLabelFormats && dateTimeLabelFormats.list;\n if (list) {\n tick.shortenLabel = function () {\n for (i = 0; i < list.length; i++) {\n label.attr({\n text: axis.labelFormatter.call(extend(tick.formatCtx, { dateTimeLabelFormat: list[i] }))\n });\n if (label.getBBox().width <\n axis.getSlotWidth(tick) - 2 *\n pick(labelOptions.padding, 5)) {\n return;\n }\n }\n label.attr({\n text: ''\n });\n };\n }\n // Call only after first render\n if (animateLabels && axis._addedPlotLB) {\n tick.moveLabel(str, labelOptions);\n }\n // First call\n if (!defined(label) && !tick.movedLabel) {\n /**\n * The rendered text label of the tick.\n * @name Highcharts.Tick#label\n * @type {Highcharts.SVGElement|undefined}\n */\n tick.label = label = tick.createLabel({ x: 0, y: 0 }, str, labelOptions);\n // Base value to detect change for new calls to getBBox\n tick.rotation = 0;\n // update\n }\n else if (label && label.textStr !== str && !animateLabels) {\n // When resetting text, also reset the width if dynamically set\n // (#8809)\n if (label.textWidth &&\n !(labelOptions.style && labelOptions.style.width) &&\n !label.styles.width) {\n label.css({ width: null });\n }\n label.attr({ text: str });\n label.textPxLength = label.getBBox().width;\n }\n };\n /**\n * Render and return the label of the tick.\n *\n * @private\n * @function Highcharts.Tick#createLabel\n * @param {Highcharts.PositionObject} xy\n * @param {string} str\n * @param {Highcharts.XAxisLabelsOptions} labelOptions\n * @return {Highcharts.SVGElement|undefined}\n */\n Tick.prototype.createLabel = function (xy, str, labelOptions) {\n var axis = this.axis,\n chart = axis.chart,\n label = defined(str) && labelOptions.enabled ?\n chart.renderer\n .text(str,\n xy.x,\n xy.y,\n labelOptions.useHTML)\n .add(axis.labelGroup) :\n null;\n // Un-rotated length\n if (label) {\n // Without position absolute, IE export sometimes is wrong\n if (!chart.styledMode) {\n label.css(merge(labelOptions.style));\n }\n label.textPxLength = label.getBBox().width;\n }\n return label;\n };\n /**\n * Destructor for the tick prototype\n *\n * @private\n * @function Highcharts.Tick#destroy\n * @return {void}\n */\n Tick.prototype.destroy = function () {\n destroyObjectProperties(this, this.axis);\n };\n /**\n * Gets the x and y positions for ticks in terms of pixels.\n *\n * @private\n * @function Highcharts.Tick#getPosition\n *\n * @param {boolean} horiz\n * Whether the tick is on an horizontal axis or not.\n *\n * @param {number} tickPos\n * Position of the tick.\n *\n * @param {number} tickmarkOffset\n * Tickmark offset for all ticks.\n *\n * @param {boolean} [old]\n * Whether the axis has changed or not.\n *\n * @return {Highcharts.PositionObject}\n * The tick position.\n *\n * @fires Highcharts.Tick#event:afterGetPosition\n */\n Tick.prototype.getPosition = function (horiz, tickPos, tickmarkOffset, old) {\n var axis = this.axis,\n chart = axis.chart,\n cHeight = (old && chart.oldChartHeight) || chart.chartHeight,\n pos;\n pos = {\n x: horiz ?\n correctFloat(axis.translate(tickPos + tickmarkOffset, null, null, old) +\n axis.transB) :\n (axis.left +\n axis.offset +\n (axis.opposite ?\n (((old && chart.oldChartWidth) ||\n chart.chartWidth) -\n axis.right -\n axis.left) :\n 0)),\n y: horiz ?\n (cHeight -\n axis.bottom +\n axis.offset -\n (axis.opposite ? axis.height : 0)) :\n correctFloat(cHeight -\n axis.translate(tickPos + tickmarkOffset, null, null, old) -\n axis.transB)\n };\n // Chrome workaround for #10516\n pos.y = clamp(pos.y, -1e5, 1e5);\n fireEvent(this, 'afterGetPosition', { pos: pos });\n return pos;\n };\n /**\n * Get the x, y position of the tick label\n *\n * @private\n * @return {Highcharts.PositionObject}\n */\n Tick.prototype.getLabelPosition = function (x, y, label, horiz, labelOptions, tickmarkOffset, index, step) {\n var axis = this.axis,\n transA = axis.transA,\n reversed = ( // #7911\n axis.isLinked && axis.linkedParent ?\n axis.linkedParent.reversed :\n axis.reversed),\n staggerLines = axis.staggerLines,\n rotCorr = axis.tickRotCorr || { x: 0,\n y: 0 },\n yOffset = labelOptions.y, \n // Adjust for label alignment if we use reserveSpace: true (#5286)\n labelOffsetCorrection = (!horiz && !axis.reserveSpaceDefault ?\n -axis.labelOffset * (axis.labelAlign === 'center' ? 0.5 : 1) :\n 0),\n line,\n pos = {};\n if (!defined(yOffset)) {\n if (axis.side === 0) {\n yOffset = label.rotation ? -8 : -label.getBBox().height;\n }\n else if (axis.side === 2) {\n yOffset = rotCorr.y + 8;\n }\n else {\n // #3140, #3140\n yOffset = Math.cos(label.rotation * deg2rad) *\n (rotCorr.y - label.getBBox(false, 0).height / 2);\n }\n }\n x = x +\n labelOptions.x +\n labelOffsetCorrection +\n rotCorr.x -\n (tickmarkOffset && horiz ?\n tickmarkOffset * transA * (reversed ? -1 : 1) :\n 0);\n y = y + yOffset - (tickmarkOffset && !horiz ?\n tickmarkOffset * transA * (reversed ? 1 : -1) : 0);\n // Correct for staggered labels\n if (staggerLines) {\n line = (index / (step || 1) % staggerLines);\n if (axis.opposite) {\n line = staggerLines - line - 1;\n }\n y += line * (axis.labelOffset / staggerLines);\n }\n pos.x = x;\n pos.y = Math.round(y);\n fireEvent(this, 'afterGetLabelPosition', { pos: pos, tickmarkOffset: tickmarkOffset, index: index });\n return pos;\n };\n /**\n * Get the offset height or width of the label\n *\n * @private\n * @function Highcharts.Tick#getLabelSize\n * @return {number}\n */\n Tick.prototype.getLabelSize = function () {\n return this.label ?\n this.label.getBBox()[this.axis.horiz ? 'height' : 'width'] :\n 0;\n };\n /**\n * Extendible method to return the path of the marker\n *\n * @private\n *\n */\n Tick.prototype.getMarkPath = function (x, y, tickLength, tickWidth, horiz, renderer) {\n return renderer.crispLine([[\n 'M',\n x,\n y\n ], [\n 'L',\n x + (horiz ? 0 : -tickLength),\n y + (horiz ? tickLength : 0)\n ]], tickWidth);\n };\n /**\n * Handle the label overflow by adjusting the labels to the left and right\n * edge, or hide them if they collide into the neighbour label.\n *\n * @private\n * @function Highcharts.Tick#handleOverflow\n * @param {Highcharts.PositionObject} xy\n * @return {void}\n */\n Tick.prototype.handleOverflow = function (xy) {\n var tick = this,\n axis = this.axis,\n labelOptions = axis.options.labels,\n pxPos = xy.x,\n chartWidth = axis.chart.chartWidth,\n spacing = axis.chart.spacing,\n leftBound = pick(axis.labelLeft,\n Math.min(axis.pos,\n spacing[3])),\n rightBound = pick(axis.labelRight,\n Math.max(!axis.isRadial ? axis.pos + axis.len : 0,\n chartWidth - spacing[1])),\n label = this.label,\n rotation = this.rotation,\n factor = {\n left: 0,\n center: 0.5,\n right: 1\n }[axis.labelAlign || label.attr('align')],\n labelWidth = label.getBBox().width,\n slotWidth = axis.getSlotWidth(tick),\n modifiedSlotWidth = slotWidth,\n xCorrection = factor,\n goRight = 1,\n leftPos,\n rightPos,\n textWidth,\n css = {};\n // Check if the label overshoots the chart spacing box. If it does, move\n // it. If it now overshoots the slotWidth, add ellipsis.\n if (!rotation &&\n pick(labelOptions.overflow, 'justify') === 'justify') {\n leftPos = pxPos - factor * labelWidth;\n rightPos = pxPos + (1 - factor) * labelWidth;\n if (leftPos < leftBound) {\n modifiedSlotWidth =\n xy.x + modifiedSlotWidth * (1 - factor) - leftBound;\n }\n else if (rightPos > rightBound) {\n modifiedSlotWidth =\n rightBound - xy.x + modifiedSlotWidth * factor;\n goRight = -1;\n }\n modifiedSlotWidth = Math.min(slotWidth, modifiedSlotWidth); // #4177\n if (modifiedSlotWidth < slotWidth && axis.labelAlign === 'center') {\n xy.x += (goRight *\n (slotWidth -\n modifiedSlotWidth -\n xCorrection * (slotWidth - Math.min(labelWidth, modifiedSlotWidth))));\n }\n // If the label width exceeds the available space, set a text width\n // to be picked up below. Also, if a width has been set before, we\n // need to set a new one because the reported labelWidth will be\n // limited by the box (#3938).\n if (labelWidth > modifiedSlotWidth ||\n (axis.autoRotation && (label.styles || {}).width)) {\n textWidth = modifiedSlotWidth;\n }\n // Add ellipsis to prevent rotated labels to be clipped against the edge\n // of the chart\n }\n else if (rotation < 0 &&\n pxPos - factor * labelWidth < leftBound) {\n textWidth = Math.round(pxPos / Math.cos(rotation * deg2rad) - leftBound);\n }\n else if (rotation > 0 &&\n pxPos + factor * labelWidth > rightBound) {\n textWidth = Math.round((chartWidth - pxPos) /\n Math.cos(rotation * deg2rad));\n }\n if (textWidth) {\n if (tick.shortenLabel) {\n tick.shortenLabel();\n }\n else {\n css.width = Math.floor(textWidth) + 'px';\n if (!(labelOptions.style || {}).textOverflow) {\n css.textOverflow = 'ellipsis';\n }\n label.css(css);\n }\n }\n };\n /**\n * Try to replace the label if the same one already exists.\n *\n * @private\n * @function Highcharts.Tick#moveLabel\n * @param {string} str\n * @param {Highcharts.XAxisLabelsOptions} labelOptions\n *\n * @return {void}\n */\n Tick.prototype.moveLabel = function (str, labelOptions) {\n var tick = this,\n label = tick.label,\n moved = false,\n axis = tick.axis,\n labelPos,\n reversed = axis.reversed,\n xPos,\n yPos;\n if (label && label.textStr === str) {\n tick.movedLabel = label;\n moved = true;\n delete tick.label;\n }\n else { // Find a label with the same string\n objectEach(axis.ticks, function (currentTick) {\n if (!moved &&\n !currentTick.isNew &&\n currentTick !== tick &&\n currentTick.label &&\n currentTick.label.textStr === str) {\n tick.movedLabel = currentTick.label;\n moved = true;\n currentTick.labelPos = tick.movedLabel.xy;\n delete currentTick.label;\n }\n });\n }\n // Create new label if the actual one is moved\n if (!moved && (tick.labelPos || label)) {\n labelPos = tick.labelPos || label.xy;\n xPos = axis.horiz ?\n (reversed ? 0 : axis.width + axis.left) : labelPos.x;\n yPos = axis.horiz ?\n labelPos.y : (reversed ? (axis.width + axis.left) : 0);\n tick.movedLabel = tick.createLabel({ x: xPos, y: yPos }, str, labelOptions);\n if (tick.movedLabel) {\n tick.movedLabel.attr({ opacity: 0 });\n }\n }\n };\n /**\n * Put everything in place\n *\n * @private\n * @param {number} index\n * @param {boolean} [old]\n * Use old coordinates to prepare an animation into new position\n * @param {number} [opacity]\n * @return {voids}\n */\n Tick.prototype.render = function (index, old, opacity) {\n var tick = this,\n axis = tick.axis,\n horiz = axis.horiz,\n pos = tick.pos,\n tickmarkOffset = pick(tick.tickmarkOffset,\n axis.tickmarkOffset),\n xy = tick.getPosition(horiz,\n pos,\n tickmarkOffset,\n old),\n x = xy.x,\n y = xy.y,\n reverseCrisp = ((horiz && x === axis.pos + axis.len) ||\n (!horiz && y === axis.pos)) ? -1 : 1; // #1480, #1687\n opacity = pick(opacity, 1);\n this.isActive = true;\n // Create the grid line\n this.renderGridLine(old, opacity, reverseCrisp);\n // create the tick mark\n this.renderMark(xy, opacity, reverseCrisp);\n // the label is created on init - now move it into place\n this.renderLabel(xy, old, opacity, index);\n tick.isNew = false;\n fireEvent(this, 'afterRender');\n };\n /**\n * Renders the gridLine.\n *\n * @private\n * @param {boolean} old Whether or not the tick is old\n * @param {number} opacity The opacity of the grid line\n * @param {number} reverseCrisp Modifier for avoiding overlapping 1 or -1\n * @return {void}\n */\n Tick.prototype.renderGridLine = function (old, opacity, reverseCrisp) {\n var tick = this, axis = tick.axis, options = axis.options, gridLine = tick.gridLine, gridLinePath, attribs = {}, pos = tick.pos, type = tick.type, tickmarkOffset = pick(tick.tickmarkOffset, axis.tickmarkOffset), renderer = axis.chart.renderer, gridPrefix = type ? type + 'Grid' : 'grid', gridLineWidth = options[gridPrefix + 'LineWidth'], gridLineColor = options[gridPrefix + 'LineColor'], dashStyle = options[gridPrefix + 'LineDashStyle'];\n if (!gridLine) {\n if (!axis.chart.styledMode) {\n attribs.stroke = gridLineColor;\n attribs['stroke-width'] = gridLineWidth;\n if (dashStyle) {\n attribs.dashstyle = dashStyle;\n }\n }\n if (!type) {\n attribs.zIndex = 1;\n }\n if (old) {\n opacity = 0;\n }\n /**\n * The rendered grid line of the tick.\n * @name Highcharts.Tick#gridLine\n * @type {Highcharts.SVGElement|undefined}\n */\n tick.gridLine = gridLine = renderer.path()\n .attr(attribs)\n .addClass('highcharts-' + (type ? type + '-' : '') + 'grid-line')\n .add(axis.gridGroup);\n }\n if (gridLine) {\n gridLinePath = axis.getPlotLinePath({\n value: pos + tickmarkOffset,\n lineWidth: gridLine.strokeWidth() * reverseCrisp,\n force: 'pass',\n old: old\n });\n // If the parameter 'old' is set, the current call will be followed\n // by another call, therefore do not do any animations this time\n if (gridLinePath) {\n gridLine[old || tick.isNew ? 'attr' : 'animate']({\n d: gridLinePath,\n opacity: opacity\n });\n }\n }\n };\n /**\n * Renders the tick mark.\n *\n * @private\n * @param {Highcharts.PositionObject} xy The position vector of the mark\n * @param {number} opacity The opacity of the mark\n * @param {number} reverseCrisp Modifier for avoiding overlapping 1 or -1\n * @return {void}\n */\n Tick.prototype.renderMark = function (xy, opacity, reverseCrisp) {\n var tick = this, axis = tick.axis, options = axis.options, renderer = axis.chart.renderer, type = tick.type, tickPrefix = type ? type + 'Tick' : 'tick', tickSize = axis.tickSize(tickPrefix), mark = tick.mark, isNewMark = !mark, x = xy.x, y = xy.y, tickWidth = pick(options[tickPrefix + 'Width'], !type && axis.isXAxis ? 1 : 0), // X axis defaults to 1\n tickColor = options[tickPrefix + 'Color'];\n if (tickSize) {\n // negate the length\n if (axis.opposite) {\n tickSize[0] = -tickSize[0];\n }\n // First time, create it\n if (isNewMark) {\n /**\n * The rendered mark of the tick.\n * @name Highcharts.Tick#mark\n * @type {Highcharts.SVGElement|undefined}\n */\n tick.mark = mark = renderer.path()\n .addClass('highcharts-' + (type ? type + '-' : '') + 'tick')\n .add(axis.axisGroup);\n if (!axis.chart.styledMode) {\n mark.attr({\n stroke: tickColor,\n 'stroke-width': tickWidth\n });\n }\n }\n mark[isNewMark ? 'attr' : 'animate']({\n d: tick.getMarkPath(x, y, tickSize[0], mark.strokeWidth() * reverseCrisp, axis.horiz, renderer),\n opacity: opacity\n });\n }\n };\n /**\n * Renders the tick label.\n * Note: The label should already be created in init(), so it should only\n * have to be moved into place.\n *\n * @private\n * @param {Highcharts.PositionObject} xy The position vector of the label\n * @param {boolean} old Whether or not the tick is old\n * @param {number} opacity The opacity of the label\n * @param {number} index The index of the tick\n * @return {void}\n */\n Tick.prototype.renderLabel = function (xy, old, opacity, index) {\n var tick = this,\n axis = tick.axis,\n horiz = axis.horiz,\n options = axis.options,\n label = tick.label,\n labelOptions = options.labels,\n step = labelOptions.step,\n tickmarkOffset = pick(tick.tickmarkOffset,\n axis.tickmarkOffset),\n show = true,\n x = xy.x,\n y = xy.y;\n if (label && isNumber(x)) {\n label.xy = xy = tick.getLabelPosition(x, y, label, horiz, labelOptions, tickmarkOffset, index, step);\n // Apply show first and show last. If the tick is both first and\n // last, it is a single centered tick, in which case we show the\n // label anyway (#2100).\n if ((tick.isFirst &&\n !tick.isLast &&\n !pick(options.showFirstLabel, 1)) ||\n (tick.isLast &&\n !tick.isFirst &&\n !pick(options.showLastLabel, 1))) {\n show = false;\n // Handle label overflow and show or hide accordingly\n }\n else if (horiz &&\n !labelOptions.step &&\n !labelOptions.rotation &&\n !old &&\n opacity !== 0) {\n tick.handleOverflow(xy);\n }\n // apply step\n if (step && index % step) {\n // show those indices dividable by step\n show = false;\n }\n // Set the new position, and show or hide\n if (show && isNumber(xy.y)) {\n xy.opacity = opacity;\n label[tick.isNewLabel ? 'attr' : 'animate'](xy);\n tick.isNewLabel = false;\n }\n else {\n label.attr('y', -9999); // #1338\n tick.isNewLabel = true;\n }\n }\n };\n /**\n * Replace labels with the moved ones to perform animation. Additionally\n * destroy unused labels.\n *\n * @private\n * @function Highcharts.Tick#replaceMovedLabel\n * @return {void}\n */\n Tick.prototype.replaceMovedLabel = function () {\n var tick = this,\n label = tick.label,\n axis = tick.axis,\n reversed = axis.reversed,\n x,\n y;\n // Animate and destroy\n if (label && !tick.isNew) {\n x = axis.horiz ? (reversed ? axis.left : axis.width + axis.left) : label.xy.x;\n y = axis.horiz ?\n label.xy.y :\n (reversed ? axis.width + axis.top : axis.top);\n label.animate({ x: x, y: y, opacity: 0 }, void 0, label.destroy);\n delete tick.label;\n }\n axis.isDirty = true;\n tick.label = tick.movedLabel;\n delete tick.movedLabel;\n };\n return Tick;\n }());\n H.Tick = Tick;\n\n return H.Tick;\n });\n _registerModule(_modules, 'Core/Time.js', [_modules['Core/Globals.js'], _modules['Core/Utilities.js']], function (Highcharts, U) {\n /* *\n *\n * (c) 2010-2020 Torstein Honsi\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n /**\n * Normalized interval.\n *\n * @interface Highcharts.TimeNormalizedObject\n */ /**\n * The count.\n *\n * @name Highcharts.TimeNormalizedObject#count\n * @type {number}\n */ /**\n * The interval in axis values (ms).\n *\n * @name Highcharts.TimeNormalizedObject#unitRange\n * @type {number}\n */\n /**\n * Function of an additional date format specifier.\n *\n * @callback Highcharts.TimeFormatCallbackFunction\n *\n * @param {number} timestamp\n * The time to format.\n *\n * @return {string}\n * The formatted portion of the date.\n */\n /**\n * Additonal time tick information.\n *\n * @interface Highcharts.TimeTicksInfoObject\n * @extends Highcharts.TimeNormalizedObject\n */ /**\n * @name Highcharts.TimeTicksInfoObject#higherRanks\n * @type {Array}\n */ /**\n * @name Highcharts.TimeTicksInfoObject#totalRange\n * @type {number}\n */\n /**\n * Time ticks.\n *\n * @interface Highcharts.AxisTickPositionsArray\n * @extends global.Array\n */ /**\n * @name Highcharts.AxisTickPositionsArray#info\n * @type {Highcharts.TimeTicksInfoObject|undefined}\n */\n /**\n * A callback to return the time zone offset for a given datetime. It\n * takes the timestamp in terms of milliseconds since January 1 1970,\n * and returns the timezone offset in minutes. This provides a hook\n * for drawing time based charts in specific time zones using their\n * local DST crossover dates, with the help of external libraries.\n *\n * @callback Highcharts.TimezoneOffsetCallbackFunction\n *\n * @param {number} timestamp\n * Timestamp in terms of milliseconds since January 1 1970.\n *\n * @return {number}\n * Timezone offset in minutes.\n */\n /**\n * Allows to manually load the `moment.js` library from Highcharts options\n * instead of the `window`.\n * In case of loading the library from a `script` tag,\n * this option is not needed, it will be loaded from there by default.\n *\n * @type {function}\n * @since 8.2.0\n * @apioption time.moment\n */\n var defined = U.defined,\n error = U.error,\n extend = U.extend,\n isObject = U.isObject,\n merge = U.merge,\n objectEach = U.objectEach,\n pad = U.pad,\n pick = U.pick,\n splat = U.splat,\n timeUnits = U.timeUnits;\n var H = Highcharts,\n win = H.win;\n /* eslint-disable no-invalid-this, valid-jsdoc */\n /**\n * The Time class. Time settings are applied in general for each page using\n * `Highcharts.setOptions`, or individually for each Chart item through the\n * [time](https://api.highcharts.com/highcharts/time) options set.\n *\n * The Time object is available from {@link Highcharts.Chart#time},\n * which refers to `Highcharts.time` if no individual time settings are\n * applied.\n *\n * @example\n * // Apply time settings globally\n * Highcharts.setOptions({\n * time: {\n * timezone: 'Europe/London'\n * }\n * });\n *\n * // Apply time settings by instance\n * var chart = Highcharts.chart('container', {\n * time: {\n * timezone: 'America/New_York'\n * },\n * series: [{\n * data: [1, 4, 3, 5]\n * }]\n * });\n *\n * // Use the Time object\n * console.log(\n * 'Current time in New York',\n * chart.time.dateFormat('%Y-%m-%d %H:%M:%S', Date.now())\n * );\n *\n * @since 6.0.5\n *\n * @class\n * @name Highcharts.Time\n *\n * @param {Highcharts.TimeOptions} options\n * Time options as defined in [chart.options.time](/highcharts/time).\n */\n var Time = /** @class */ (function () {\n /* *\n *\n * Constructors\n *\n * */\n function Time(options) {\n /* *\n *\n * Properties\n *\n * */\n this.options = {};\n this.useUTC = false;\n this.variableTimezone = false;\n this.Date = win.Date;\n /**\n * Get the time zone offset based on the current timezone information as\n * set in the global options.\n *\n * @function Highcharts.Time#getTimezoneOffset\n *\n * @param {number} timestamp\n * The JavaScript timestamp to inspect.\n *\n * @return {number}\n * The timezone offset in minutes compared to UTC.\n */\n this.getTimezoneOffset = this.timezoneOffsetFunction();\n this.update(options);\n }\n /* *\n *\n * Functions\n *\n * */\n /**\n * Time units used in `Time.get` and `Time.set`\n *\n * @typedef {\"Date\"|\"Day\"|\"FullYear\"|\"Hours\"|\"Milliseconds\"|\"Minutes\"|\"Month\"|\"Seconds\"} Highcharts.TimeUnitValue\n */\n /**\n * Get the value of a date object in given units, and subject to the Time\n * object's current timezone settings. This function corresponds directly to\n * JavaScripts `Date.getXXX / Date.getUTCXXX`, so instead of calling\n * `date.getHours()` or `date.getUTCHours()` we will call\n * `time.get('Hours')`.\n *\n * @function Highcharts.Time#get\n *\n * @param {Highcharts.TimeUnitValue} unit\n * @param {Date} date\n *\n * @return {number}\n * The given time unit\n */\n Time.prototype.get = function (unit, date) {\n if (this.variableTimezone || this.timezoneOffset) {\n var realMs = date.getTime();\n var ms = realMs - this.getTimezoneOffset(date);\n date.setTime(ms); // Temporary adjust to timezone\n var ret = date['getUTC' + unit]();\n date.setTime(realMs); // Reset\n return ret;\n }\n // UTC time with no timezone handling\n if (this.useUTC) {\n return date['getUTC' + unit]();\n }\n // Else, local time\n return date['get' + unit]();\n };\n /**\n * Set the value of a date object in given units, and subject to the Time\n * object's current timezone settings. This function corresponds directly to\n * JavaScripts `Date.setXXX / Date.setUTCXXX`, so instead of calling\n * `date.setHours(0)` or `date.setUTCHours(0)` we will call\n * `time.set('Hours', 0)`.\n *\n * @function Highcharts.Time#set\n *\n * @param {Highcharts.TimeUnitValue} unit\n * @param {Date} date\n * @param {number} value\n *\n * @return {number}\n * The epoch milliseconds of the updated date\n */\n Time.prototype.set = function (unit, date, value) {\n // UTC time with timezone handling\n if (this.variableTimezone || this.timezoneOffset) {\n // For lower order time units, just set it directly using UTC\n // time\n if (unit === 'Milliseconds' ||\n unit === 'Seconds' ||\n unit === 'Minutes') {\n return date['setUTC' + unit](value);\n }\n // Higher order time units need to take the time zone into\n // account\n // Adjust by timezone\n var offset = this.getTimezoneOffset(date);\n var ms = date.getTime() - offset;\n date.setTime(ms);\n date['setUTC' + unit](value);\n var newOffset = this.getTimezoneOffset(date);\n ms = date.getTime() + newOffset;\n return date.setTime(ms);\n }\n // UTC time with no timezone handling\n if (this.useUTC) {\n return date['setUTC' + unit](value);\n }\n // Else, local time\n return date['set' + unit](value);\n };\n /**\n * Update the Time object with current options. It is called internally on\n * initializing Highcharts, after running `Highcharts.setOptions` and on\n * `Chart.update`.\n *\n * @private\n * @function Highcharts.Time#update\n *\n * @param {Highcharts.TimeOptions} options\n *\n * @return {void}\n */\n Time.prototype.update = function (options) {\n var useUTC = pick(options && options.useUTC,\n true),\n time = this;\n this.options = options = merge(true, this.options || {}, options);\n // Allow using a different Date class\n this.Date = options.Date || win.Date || Date;\n this.useUTC = useUTC;\n this.timezoneOffset = (useUTC && options.timezoneOffset);\n this.getTimezoneOffset = this.timezoneOffsetFunction();\n /*\n * The time object has options allowing for variable time zones, meaning\n * the axis ticks or series data needs to consider this.\n */\n this.variableTimezone = !!(!useUTC ||\n options.getTimezoneOffset ||\n options.timezone);\n };\n /**\n * Make a time and returns milliseconds. Interprets the inputs as UTC time,\n * local time or a specific timezone time depending on the current time\n * settings.\n *\n * @function Highcharts.Time#makeTime\n *\n * @param {number} year\n * The year\n *\n * @param {number} month\n * The month. Zero-based, so January is 0.\n *\n * @param {number} [date=1]\n * The day of the month\n *\n * @param {number} [hours=0]\n * The hour of the day, 0-23.\n *\n * @param {number} [minutes=0]\n * The minutes\n *\n * @param {number} [seconds=0]\n * The seconds\n *\n * @return {number}\n * The time in milliseconds since January 1st 1970.\n */\n Time.prototype.makeTime = function (year, month, date, hours, minutes, seconds) {\n var d,\n offset,\n newOffset;\n if (this.useUTC) {\n d = this.Date.UTC.apply(0, arguments);\n offset = this.getTimezoneOffset(d);\n d += offset;\n newOffset = this.getTimezoneOffset(d);\n if (offset !== newOffset) {\n d += newOffset - offset;\n // A special case for transitioning from summer time to winter time.\n // When the clock is set back, the same time is repeated twice, i.e.\n // 02:30 am is repeated since the clock is set back from 3 am to\n // 2 am. We need to make the same time as local Date does.\n }\n else if (offset - 36e5 === this.getTimezoneOffset(d - 36e5) &&\n !H.isSafari) {\n d -= 36e5;\n }\n }\n else {\n d = new this.Date(year, month, pick(date, 1), pick(hours, 0), pick(minutes, 0), pick(seconds, 0)).getTime();\n }\n return d;\n };\n /**\n * Sets the getTimezoneOffset function. If the `timezone` option is set, a\n * default getTimezoneOffset function with that timezone is returned. If\n * a `getTimezoneOffset` option is defined, it is returned. If neither are\n * specified, the function using the `timezoneOffset` option or 0 offset is\n * returned.\n *\n * @private\n * @function Highcharts.Time#timezoneOffsetFunction\n *\n * @return {Function}\n * A getTimezoneOffset function\n */\n Time.prototype.timezoneOffsetFunction = function () {\n var time = this,\n options = this.options,\n moment = options.moment || win.moment;\n if (!this.useUTC) {\n return function (timestamp) {\n return new Date(timestamp.toString()).getTimezoneOffset() * 60000;\n };\n }\n if (options.timezone) {\n if (!moment) {\n // getTimezoneOffset-function stays undefined because it depends\n // on Moment.js\n error(25);\n }\n else {\n return function (timestamp) {\n return -moment.tz(timestamp, options.timezone).utcOffset() * 60000;\n };\n }\n }\n // If not timezone is set, look for the getTimezoneOffset callback\n if (this.useUTC && options.getTimezoneOffset) {\n return function (timestamp) {\n return options.getTimezoneOffset(timestamp.valueOf()) * 60000;\n };\n }\n // Last, use the `timezoneOffset` option if set\n return function () {\n return (time.timezoneOffset || 0) * 60000;\n };\n };\n /**\n * Formats a JavaScript date timestamp (milliseconds since Jan 1st 1970)\n * into a human readable date string. The available format keys are listed\n * below. Additional formats can be given in the\n * {@link Highcharts.dateFormats} hook.\n *\n * Supported format keys:\n * - `%a`: Short weekday, like 'Mon'\n * - `%A`: Long weekday, like 'Monday'\n * - `%d`: Two digit day of the month, 01 to 31\n * - `%e`: Day of the month, 1 through 31\n * - `%w`: Day of the week, 0 through 6\n * - `%b`: Short month, like 'Jan'\n * - `%B`: Long month, like 'January'\n * - `%m`: Two digit month number, 01 through 12\n * - `%y`: Two digits year, like 09 for 2009\n * - `%Y`: Four digits year, like 2009\n * - `%H`: Two digits hours in 24h format, 00 through 23\n * - `%k`: Hours in 24h format, 0 through 23\n * - `%I`: Two digits hours in 12h format, 00 through 11\n * - `%l`: Hours in 12h format, 1 through 12\n * - `%M`: Two digits minutes, 00 through 59\n * - `%p`: Upper case AM or PM\n * - `%P`: Lower case AM or PM\n * - `%S`: Two digits seconds, 00 through 59\n * - `%L`: Milliseconds (naming from Ruby)\n *\n * @example\n * const time = new Highcharts.Time();\n * const s = time.dateFormat('%Y-%m-%d %H:%M:%S', Date.UTC(2020, 0, 1));\n * console.log(s); // => 2020-01-01 00:00:00\n *\n * @function Highcharts.Time#dateFormat\n *\n * @param {string} format\n * The desired format where various time representations are\n * prefixed with %.\n *\n * @param {number} timestamp\n * The JavaScript timestamp.\n *\n * @param {boolean} [capitalize=false]\n * Upper case first letter in the return.\n *\n * @return {string}\n * The formatted date.\n */\n Time.prototype.dateFormat = function (format, timestamp, capitalize) {\n var _a;\n if (!defined(timestamp) || isNaN(timestamp)) {\n return ((_a = H.defaultOptions.lang) === null || _a === void 0 ? void 0 : _a.invalidDate) || '';\n }\n format = pick(format, '%Y-%m-%d %H:%M:%S');\n var time = this, date = new this.Date(timestamp), \n // get the basic time values\n hours = this.get('Hours', date), day = this.get('Day', date), dayOfMonth = this.get('Date', date), month = this.get('Month', date), fullYear = this.get('FullYear', date), lang = H.defaultOptions.lang, langWeekdays = lang === null || lang === void 0 ? void 0 : lang.weekdays, shortWeekdays = lang === null || lang === void 0 ? void 0 : lang.shortWeekdays, \n // List all format keys. Custom formats can be added from the\n // outside.\n replacements = extend({\n // Day\n // Short weekday, like 'Mon'\n a: shortWeekdays ?\n shortWeekdays[day] :\n langWeekdays[day].substr(0, 3),\n // Long weekday, like 'Monday'\n A: langWeekdays[day],\n // Two digit day of the month, 01 to 31\n d: pad(dayOfMonth),\n // Day of the month, 1 through 31\n e: pad(dayOfMonth, 2, ' '),\n // Day of the week, 0 through 6\n w: day,\n // Week (none implemented)\n // 'W': weekNumber(),\n // Month\n // Short month, like 'Jan'\n b: lang.shortMonths[month],\n // Long month, like 'January'\n B: lang.months[month],\n // Two digit month number, 01 through 12\n m: pad(month + 1),\n // Month number, 1 through 12 (#8150)\n o: month + 1,\n // Year\n // Two digits year, like 09 for 2009\n y: fullYear.toString().substr(2, 2),\n // Four digits year, like 2009\n Y: fullYear,\n // Time\n // Two digits hours in 24h format, 00 through 23\n H: pad(hours),\n // Hours in 24h format, 0 through 23\n k: hours,\n // Two digits hours in 12h format, 00 through 11\n I: pad((hours % 12) || 12),\n // Hours in 12h format, 1 through 12\n l: (hours % 12) || 12,\n // Two digits minutes, 00 through 59\n M: pad(this.get('Minutes', date)),\n // Upper case AM or PM\n p: hours < 12 ? 'AM' : 'PM',\n // Lower case AM or PM\n P: hours < 12 ? 'am' : 'pm',\n // Two digits seconds, 00 through 59\n S: pad(date.getSeconds()),\n // Milliseconds (naming from Ruby)\n L: pad(Math.floor(timestamp % 1000), 3)\n }, H.dateFormats);\n // Do the replaces\n objectEach(replacements, function (val, key) {\n // Regex would do it in one line, but this is faster\n while (format.indexOf('%' + key) !== -1) {\n format = format.replace('%' + key, typeof val === 'function' ? val.call(time, timestamp) : val);\n }\n });\n // Optionally capitalize the string and return\n return capitalize ?\n (format.substr(0, 1).toUpperCase() +\n format.substr(1)) :\n format;\n };\n /**\n * Resolve legacy formats of dateTimeLabelFormats (strings and arrays) into\n * an object.\n * @private\n * @param {string|Array|Highcharts.Dictionary} f - General format description\n * @return {Highcharts.Dictionary} - The object definition\n */\n Time.prototype.resolveDTLFormat = function (f) {\n if (!isObject(f, true)) { // check for string or array\n f = splat(f);\n return {\n main: f[0],\n from: f[1],\n to: f[2]\n };\n }\n return f;\n };\n /**\n * Return an array with time positions distributed on round time values\n * right and right after min and max. Used in datetime axes as well as for\n * grouping data on a datetime axis.\n *\n * @function Highcharts.Time#getTimeTicks\n *\n * @param {Highcharts.TimeNormalizedObject} normalizedInterval\n * The interval in axis values (ms) and the count\n *\n * @param {number} [min]\n * The minimum in axis values\n *\n * @param {number} [max]\n * The maximum in axis values\n *\n * @param {number} [startOfWeek=1]\n *\n * @return {Highcharts.AxisTickPositionsArray}\n */\n Time.prototype.getTimeTicks = function (normalizedInterval, min, max, startOfWeek) {\n var time = this,\n Date = time.Date,\n tickPositions = [],\n i,\n higherRanks = {},\n minYear, // used in months and years as a basis for Date.UTC()\n // When crossing DST, use the max. Resolves #6278.\n minDate = new Date(min),\n interval = normalizedInterval.unitRange,\n count = normalizedInterval.count || 1,\n variableDayLength,\n minDay;\n startOfWeek = pick(startOfWeek, 1);\n if (defined(min)) { // #1300\n time.set('Milliseconds', minDate, interval >= timeUnits.second ?\n 0 : // #3935\n count * Math.floor(time.get('Milliseconds', minDate) / count)); // #3652, #3654\n if (interval >= timeUnits.second) { // second\n time.set('Seconds', minDate, interval >= timeUnits.minute ?\n 0 : // #3935\n count * Math.floor(time.get('Seconds', minDate) / count));\n }\n if (interval >= timeUnits.minute) { // minute\n time.set('Minutes', minDate, interval >= timeUnits.hour ?\n 0 :\n count * Math.floor(time.get('Minutes', minDate) / count));\n }\n if (interval >= timeUnits.hour) { // hour\n time.set('Hours', minDate, interval >= timeUnits.day ?\n 0 :\n count * Math.floor(time.get('Hours', minDate) / count));\n }\n if (interval >= timeUnits.day) { // day\n time.set('Date', minDate, interval >= timeUnits.month ?\n 1 :\n Math.max(1, count * Math.floor(time.get('Date', minDate) / count)));\n }\n if (interval >= timeUnits.month) { // month\n time.set('Month', minDate, interval >= timeUnits.year ? 0 :\n count * Math.floor(time.get('Month', minDate) / count));\n minYear = time.get('FullYear', minDate);\n }\n if (interval >= timeUnits.year) { // year\n minYear -= minYear % count;\n time.set('FullYear', minDate, minYear);\n }\n // week is a special case that runs outside the hierarchy\n if (interval === timeUnits.week) {\n // get start of current week, independent of count\n minDay = time.get('Day', minDate);\n time.set('Date', minDate, (time.get('Date', minDate) -\n minDay + startOfWeek +\n // We don't want to skip days that are before\n // startOfWeek (#7051)\n (minDay < startOfWeek ? -7 : 0)));\n }\n // Get basics for variable time spans\n minYear = time.get('FullYear', minDate);\n var minMonth = time.get('Month', minDate), minDateDate = time.get('Date', minDate), minHours = time.get('Hours', minDate);\n // Redefine min to the floored/rounded minimum time (#7432)\n min = minDate.getTime();\n // Handle local timezone offset\n if (time.variableTimezone) {\n // Detect whether we need to take the DST crossover into\n // consideration. If we're crossing over DST, the day length may\n // be 23h or 25h and we need to compute the exact clock time for\n // each tick instead of just adding hours. This comes at a cost,\n // so first we find out if it is needed (#4951).\n variableDayLength = (\n // Long range, assume we're crossing over.\n max - min > 4 * timeUnits.month ||\n // Short range, check if min and max are in different time\n // zones.\n time.getTimezoneOffset(min) !==\n time.getTimezoneOffset(max));\n }\n // Iterate and add tick positions at appropriate values\n var t = minDate.getTime();\n i = 1;\n while (t < max) {\n tickPositions.push(t);\n // if the interval is years, use Date.UTC to increase years\n if (interval === timeUnits.year) {\n t = time.makeTime(minYear + i * count, 0);\n // if the interval is months, use Date.UTC to increase months\n }\n else if (interval === timeUnits.month) {\n t = time.makeTime(minYear, minMonth + i * count);\n // if we're using global time, the interval is not fixed as it\n // jumps one hour at the DST crossover\n }\n else if (variableDayLength &&\n (interval === timeUnits.day || interval === timeUnits.week)) {\n t = time.makeTime(minYear, minMonth, minDateDate +\n i * count * (interval === timeUnits.day ? 1 : 7));\n }\n else if (variableDayLength &&\n interval === timeUnits.hour &&\n count > 1) {\n // make sure higher ranks are preserved across DST (#6797,\n // #7621)\n t = time.makeTime(minYear, minMonth, minDateDate, minHours + i * count);\n // else, the interval is fixed and we use simple addition\n }\n else {\n t += interval * count;\n }\n i++;\n }\n // push the last time\n tickPositions.push(t);\n // Handle higher ranks. Mark new days if the time is on midnight\n // (#950, #1649, #1760, #3349). Use a reasonable dropout threshold\n // to prevent looping over dense data grouping (#6156).\n if (interval <= timeUnits.hour && tickPositions.length < 10000) {\n tickPositions.forEach(function (t) {\n if (\n // Speed optimization, no need to run dateFormat unless\n // we're on a full or half hour\n t % 1800000 === 0 &&\n // Check for local or global midnight\n time.dateFormat('%H%M%S%L', t) === '000000000') {\n higherRanks[t] = 'day';\n }\n });\n }\n }\n // record information on the chosen unit - for dynamic label formatter\n tickPositions.info = extend(normalizedInterval, {\n higherRanks: higherRanks,\n totalRange: interval * count\n });\n return tickPositions;\n };\n return Time;\n }());\n H.Time = Time;\n\n return H.Time;\n });\n _registerModule(_modules, 'Core/Options.js', [_modules['Core/Globals.js'], _modules['Core/Color/Color.js'], _modules['Core/Time.js'], _modules['Core/Utilities.js']], function (H, Color, Time, U) {\n /* *\n *\n * (c) 2010-2020 Torstein Honsi\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n var isTouchDevice = H.isTouchDevice,\n svg = H.svg;\n var color = Color.parse;\n var merge = U.merge;\n /**\n * @typedef {\"plotBox\"|\"spacingBox\"} Highcharts.ButtonRelativeToValue\n */\n /**\n * Gets fired when a series is added to the chart after load time, using the\n * `addSeries` method. Returning `false` prevents the series from being added.\n *\n * @callback Highcharts.ChartAddSeriesCallbackFunction\n *\n * @param {Highcharts.Chart} this\n * The chart on which the event occured.\n *\n * @param {Highcharts.ChartAddSeriesEventObject} event\n * The event that occured.\n */\n /**\n * Contains common event information. Through the `options` property you can\n * access the series options that were passed to the `addSeries` method.\n *\n * @interface Highcharts.ChartAddSeriesEventObject\n */ /**\n * The series options that were passed to the `addSeries` method.\n * @name Highcharts.ChartAddSeriesEventObject#options\n * @type {Highcharts.SeriesOptionsType}\n */ /**\n * Prevents the default behaviour of the event.\n * @name Highcharts.ChartAddSeriesEventObject#preventDefault\n * @type {Function}\n */ /**\n * The event target.\n * @name Highcharts.ChartAddSeriesEventObject#target\n * @type {Highcharts.Chart}\n */ /**\n * The event type.\n * @name Highcharts.ChartAddSeriesEventObject#type\n * @type {\"addSeries\"}\n */\n /**\n * Gets fired when clicking on the plot background.\n *\n * @callback Highcharts.ChartClickCallbackFunction\n *\n * @param {Highcharts.Chart} this\n * The chart on which the event occured.\n *\n * @param {Highcharts.PointerEventObject} event\n * The event that occured.\n */\n /**\n * Contains an axes of the clicked spot.\n *\n * @interface Highcharts.ChartClickEventAxisObject\n */ /**\n * Axis at the clicked spot.\n * @name Highcharts.ChartClickEventAxisObject#axis\n * @type {Highcharts.Axis}\n */ /**\n * Axis value at the clicked spot.\n * @name Highcharts.ChartClickEventAxisObject#value\n * @type {number}\n */\n /**\n * Contains information about the clicked spot on the chart. Remember the unit\n * of a datetime axis is milliseconds since 1970-01-01 00:00:00.\n *\n * @interface Highcharts.ChartClickEventObject\n * @extends Highcharts.PointerEventObject\n */ /**\n * Information about the x-axis on the clicked spot.\n * @name Highcharts.ChartClickEventObject#xAxis\n * @type {Array}\n */ /**\n * Information about the y-axis on the clicked spot.\n * @name Highcharts.ChartClickEventObject#yAxis\n * @type {Array}\n */ /**\n * Information about the z-axis on the clicked spot.\n * @name Highcharts.ChartClickEventObject#zAxis\n * @type {Array|undefined}\n */\n /**\n * Gets fired when the chart is finished loading.\n *\n * @callback Highcharts.ChartLoadCallbackFunction\n *\n * @param {Highcharts.Chart} this\n * The chart on which the event occured.\n *\n * @param {global.Event} event\n * The event that occured.\n */\n /**\n * Fires when the chart is redrawn, either after a call to `chart.redraw()` or\n * after an axis, series or point is modified with the `redraw` option set to\n * `true`.\n *\n * @callback Highcharts.ChartRedrawCallbackFunction\n *\n * @param {Highcharts.Chart} this\n * The chart on which the event occured.\n *\n * @param {global.Event} event\n * The event that occured.\n */\n /**\n * Gets fired after initial load of the chart (directly after the `load` event),\n * and after each redraw (directly after the `redraw` event).\n *\n * @callback Highcharts.ChartRenderCallbackFunction\n *\n * @param {Highcharts.Chart} this\n * The chart on which the event occured.\n *\n * @param {global.Event} event\n * The event that occured.\n */\n /**\n * Gets fired when an area of the chart has been selected. The default action\n * for the selection event is to zoom the chart to the selected area. It can be\n * prevented by calling `event.preventDefault()` or return false.\n *\n * @callback Highcharts.ChartSelectionCallbackFunction\n *\n * @param {Highcharts.Chart} this\n * The chart on which the event occured.\n *\n * @param {global.ChartSelectionContextObject} event\n * Event informations\n *\n * @return {boolean|undefined}\n * Return false to prevent the default action, usually zoom.\n */\n /**\n * The primary axes are `xAxis[0]` and `yAxis[0]`. Remember the unit of a\n * datetime axis is milliseconds since 1970-01-01 00:00:00.\n *\n * @interface Highcharts.ChartSelectionContextObject\n * @extends global.Event\n */ /**\n * Arrays containing the axes of each dimension and each axis' min and max\n * values.\n * @name Highcharts.ChartSelectionContextObject#xAxis\n * @type {Array}\n */ /**\n * Arrays containing the axes of each dimension and each axis' min and max\n * values.\n * @name Highcharts.ChartSelectionContextObject#yAxis\n * @type {Array}\n */\n /**\n * Axis context of the selection.\n *\n * @interface Highcharts.ChartSelectionAxisContextObject\n */ /**\n * The selected Axis.\n * @name Highcharts.ChartSelectionAxisContextObject#axis\n * @type {Highcharts.Axis}\n */ /**\n * The maximum axis value, either automatic or set manually.\n * @name Highcharts.ChartSelectionAxisContextObject#max\n * @type {number}\n */ /**\n * The minimum axis value, either automatic or set manually.\n * @name Highcharts.ChartSelectionAxisContextObject#min\n * @type {number}\n */\n ''; // detach doclets above\n /* ************************************************************************** *\n * Handle the options *\n * ************************************************************************** */\n /**\n * Global default settings.\n *\n * @name Highcharts.defaultOptions\n * @type {Highcharts.Options}\n */ /**\n * @optionparent\n */\n H.defaultOptions = {\n /**\n * An array containing the default colors for the chart's series. When\n * all colors are used, new colors are pulled from the start again.\n *\n * Default colors can also be set on a series or series.type basis,\n * see [column.colors](#plotOptions.column.colors),\n * [pie.colors](#plotOptions.pie.colors).\n *\n * In styled mode, the colors option doesn't exist. Instead, colors\n * are defined in CSS and applied either through series or point class\n * names, or through the [chart.colorCount](#chart.colorCount) option.\n *\n *\n * ### Legacy\n *\n * In Highcharts 3.x, the default colors were:\n * ```js\n * colors: ['#2f7ed8', '#0d233a', '#8bbc21', '#910000', '#1aadce',\n * '#492970', '#f28f43', '#77a1e5', '#c42525', '#a6c96a']\n * ```\n *\n * In Highcharts 2.x, the default colors were:\n * ```js\n * colors: ['#4572A7', '#AA4643', '#89A54E', '#80699B', '#3D96AE',\n * '#DB843D', '#92A8CD', '#A47D7C', '#B5CA92']\n * ```\n *\n * @sample {highcharts} highcharts/chart/colors/\n * Assign a global color theme\n *\n * @type {Array}\n * @default [\"#7cb5ec\", \"#434348\", \"#90ed7d\", \"#f7a35c\", \"#8085e9\",\n * \"#f15c80\", \"#e4d354\", \"#2b908f\", \"#f45b5b\", \"#91e8e1\"]\n */\n colors: '#7cb5ec #434348 #90ed7d #f7a35c #8085e9 #f15c80 #e4d354 #2b908f #f45b5b #91e8e1'.split(' '),\n /**\n * Styled mode only. Configuration object for adding SVG definitions for\n * reusable elements. See [gradients, shadows and\n * patterns](https://www.highcharts.com/docs/chart-design-and-style/gradients-shadows-and-patterns)\n * for more information and code examples.\n *\n * @type {*}\n * @since 5.0.0\n * @apioption defs\n */\n /**\n * @ignore-option\n */\n symbols: ['circle', 'diamond', 'square', 'triangle', 'triangle-down'],\n /**\n * The language object is global and it can't be set on each chart\n * initialization. Instead, use `Highcharts.setOptions` to set it before any\n * chart is initialized.\n *\n * ```js\n * Highcharts.setOptions({\n * lang: {\n * months: [\n * 'Janvier', 'Février', 'Mars', 'Avril',\n * 'Mai', 'Juin', 'Juillet', 'Août',\n * 'Septembre', 'Octobre', 'Novembre', 'Décembre'\n * ],\n * weekdays: [\n * 'Dimanche', 'Lundi', 'Mardi', 'Mercredi',\n * 'Jeudi', 'Vendredi', 'Samedi'\n * ]\n * }\n * });\n * ```\n */\n lang: {\n /**\n * The loading text that appears when the chart is set into the loading\n * state following a call to `chart.showLoading`.\n */\n loading: 'Loading...',\n /**\n * An array containing the months names. Corresponds to the `%B` format\n * in `Highcharts.dateFormat()`.\n *\n * @type {Array}\n * @default [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\",\n * \"July\", \"August\", \"September\", \"October\", \"November\",\n * \"December\"]\n */\n months: [\n 'January', 'February', 'March', 'April', 'May', 'June', 'July',\n 'August', 'September', 'October', 'November', 'December'\n ],\n /**\n * An array containing the months names in abbreviated form. Corresponds\n * to the `%b` format in `Highcharts.dateFormat()`.\n *\n * @type {Array}\n * @default [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\",\n * \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"]\n */\n shortMonths: [\n 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul',\n 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'\n ],\n /**\n * An array containing the weekday names.\n *\n * @type {Array}\n * @default [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\",\n * \"Friday\", \"Saturday\"]\n */\n weekdays: [\n 'Sunday', 'Monday', 'Tuesday', 'Wednesday',\n 'Thursday', 'Friday', 'Saturday'\n ],\n /**\n * Short week days, starting Sunday. If not specified, Highcharts uses\n * the first three letters of the `lang.weekdays` option.\n *\n * @sample highcharts/lang/shortweekdays/\n * Finnish two-letter abbreviations\n *\n * @type {Array}\n * @since 4.2.4\n * @apioption lang.shortWeekdays\n */\n /**\n * What to show in a date field for invalid dates. Defaults to an empty\n * string.\n *\n * @type {string}\n * @since 4.1.8\n * @product highcharts highstock\n * @apioption lang.invalidDate\n */\n /**\n * The title appearing on hovering the zoom in button. The text itself\n * defaults to \"+\" and can be changed in the button options.\n *\n * @type {string}\n * @default Zoom in\n * @product highmaps\n * @apioption lang.zoomIn\n */\n /**\n * The title appearing on hovering the zoom out button. The text itself\n * defaults to \"-\" and can be changed in the button options.\n *\n * @type {string}\n * @default Zoom out\n * @product highmaps\n * @apioption lang.zoomOut\n */\n /**\n * The default decimal point used in the `Highcharts.numberFormat`\n * method unless otherwise specified in the function arguments.\n *\n * @since 1.2.2\n */\n decimalPoint: '.',\n /**\n * [Metric prefixes](https://en.wikipedia.org/wiki/Metric_prefix) used\n * to shorten high numbers in axis labels. Replacing any of the\n * positions with `null` causes the full number to be written. Setting\n * `numericSymbols` to `null` disables shortening altogether.\n *\n * @sample {highcharts} highcharts/lang/numericsymbols/\n * Replacing the symbols with text\n * @sample {highstock} highcharts/lang/numericsymbols/\n * Replacing the symbols with text\n *\n * @type {Array}\n * @default [\"k\", \"M\", \"G\", \"T\", \"P\", \"E\"]\n * @since 2.3.0\n */\n numericSymbols: ['k', 'M', 'G', 'T', 'P', 'E'],\n /**\n * The magnitude of [numericSymbols](#lang.numericSymbol) replacements.\n * Use 10000 for Japanese, Korean and various Chinese locales, which\n * use symbols for 10^4, 10^8 and 10^12.\n *\n * @sample highcharts/lang/numericsymbolmagnitude/\n * 10000 magnitude for Japanese\n *\n * @type {number}\n * @default 1000\n * @since 5.0.3\n * @apioption lang.numericSymbolMagnitude\n */\n /**\n * The text for the label appearing when a chart is zoomed.\n *\n * @since 1.2.4\n */\n resetZoom: 'Reset zoom',\n /**\n * The tooltip title for the label appearing when a chart is zoomed.\n *\n * @since 1.2.4\n */\n resetZoomTitle: 'Reset zoom level 1:1',\n /**\n * The default thousands separator used in the `Highcharts.numberFormat`\n * method unless otherwise specified in the function arguments. Defaults\n * to a single space character, which is recommended in\n * [ISO 31-0](https://en.wikipedia.org/wiki/ISO_31-0#Numbers) and works\n * across Anglo-American and continental European languages.\n *\n * @default \\u0020\n * @since 1.2.2\n */\n thousandsSep: ' '\n },\n /**\n * Global options that don't apply to each chart. These options, like\n * the `lang` options, must be set using the `Highcharts.setOptions`\n * method.\n *\n * ```js\n * Highcharts.setOptions({\n * global: {\n * useUTC: false\n * }\n * });\n * ```\n */\n /**\n * _Canvg rendering for Android 2.x is removed as of Highcharts 5.0\\.\n * Use the [libURL](#exporting.libURL) option to configure exporting._\n *\n * The URL to the additional file to lazy load for Android 2.x devices.\n * These devices don't support SVG, so we download a helper file that\n * contains [canvg](https://github.com/canvg/canvg), its dependency\n * rbcolor, and our own CanVG Renderer class. To avoid hotlinking to\n * our site, you can install canvas-tools.js on your own server and\n * change this option accordingly.\n *\n * @deprecated\n *\n * @type {string}\n * @default https://code.highcharts.com/{version}/modules/canvas-tools.js\n * @product highcharts highmaps\n * @apioption global.canvasToolsURL\n */\n /**\n * This option is deprecated since v6.0.5. Instead, use\n * [time.useUTC](#time.useUTC) that supports individual time settings\n * per chart.\n *\n * @deprecated\n *\n * @type {boolean}\n * @apioption global.useUTC\n */\n /**\n * This option is deprecated since v6.0.5. Instead, use\n * [time.Date](#time.Date) that supports individual time settings\n * per chart.\n *\n * @deprecated\n *\n * @type {Function}\n * @product highcharts highstock\n * @apioption global.Date\n */\n /**\n * This option is deprecated since v6.0.5. Instead, use\n * [time.getTimezoneOffset](#time.getTimezoneOffset) that supports\n * individual time settings per chart.\n *\n * @deprecated\n *\n * @type {Function}\n * @product highcharts highstock\n * @apioption global.getTimezoneOffset\n */\n /**\n * This option is deprecated since v6.0.5. Instead, use\n * [time.timezone](#time.timezone) that supports individual time\n * settings per chart.\n *\n * @deprecated\n *\n * @type {string}\n * @product highcharts highstock\n * @apioption global.timezone\n */\n /**\n * This option is deprecated since v6.0.5. Instead, use\n * [time.timezoneOffset](#time.timezoneOffset) that supports individual\n * time settings per chart.\n *\n * @deprecated\n *\n * @type {number}\n * @product highcharts highstock\n * @apioption global.timezoneOffset\n */\n global: {},\n /**\n * Time options that can apply globally or to individual charts. These\n * settings affect how `datetime` axes are laid out, how tooltips are\n * formatted, how series\n * [pointIntervalUnit](#plotOptions.series.pointIntervalUnit) works and how\n * the Highstock range selector handles time.\n *\n * The common use case is that all charts in the same Highcharts object\n * share the same time settings, in which case the global settings are set\n * using `setOptions`.\n *\n * ```js\n * // Apply time settings globally\n * Highcharts.setOptions({\n * time: {\n * timezone: 'Europe/London'\n * }\n * });\n * // Apply time settings by instance\n * var chart = Highcharts.chart('container', {\n * time: {\n * timezone: 'America/New_York'\n * },\n * series: [{\n * data: [1, 4, 3, 5]\n * }]\n * });\n *\n * // Use the Time object\n * console.log(\n * 'Current time in New York',\n * chart.time.dateFormat('%Y-%m-%d %H:%M:%S', Date.now())\n * );\n * ```\n *\n * Since v6.0.5, the time options were moved from the `global` obect to the\n * `time` object, and time options can be set on each individual chart.\n *\n * @sample {highcharts|highstock}\n * highcharts/time/timezone/\n * Set the timezone globally\n * @sample {highcharts}\n * highcharts/time/individual/\n * Set the timezone per chart instance\n * @sample {highstock}\n * stock/time/individual/\n * Set the timezone per chart instance\n *\n * @since 6.0.5\n * @optionparent time\n */\n time: {\n /**\n * A custom `Date` class for advanced date handling. For example,\n * [JDate](https://github.com/tahajahangir/jdate) can be hooked in to\n * handle Jalali dates.\n *\n * @type {*}\n * @since 4.0.4\n * @product highcharts highstock gantt\n */\n Date: void 0,\n /**\n * A callback to return the time zone offset for a given datetime. It\n * takes the timestamp in terms of milliseconds since January 1 1970,\n * and returns the timezone offset in minutes. This provides a hook\n * for drawing time based charts in specific time zones using their\n * local DST crossover dates, with the help of external libraries.\n *\n * @see [global.timezoneOffset](#global.timezoneOffset)\n *\n * @sample {highcharts|highstock} highcharts/time/gettimezoneoffset/\n * Use moment.js to draw Oslo time regardless of browser locale\n *\n * @type {Highcharts.TimezoneOffsetCallbackFunction}\n * @since 4.1.0\n * @product highcharts highstock gantt\n */\n getTimezoneOffset: void 0,\n /**\n * Requires [moment.js](https://momentjs.com/). If the timezone option\n * is specified, it creates a default\n * [getTimezoneOffset](#time.getTimezoneOffset) function that looks\n * up the specified timezone in moment.js. If moment.js is not included,\n * this throws a Highcharts error in the console, but does not crash the\n * chart.\n *\n * @see [getTimezoneOffset](#time.getTimezoneOffset)\n *\n * @sample {highcharts|highstock} highcharts/time/timezone/\n * Europe/Oslo\n *\n * @type {string}\n * @since 5.0.7\n * @product highcharts highstock gantt\n */\n timezone: void 0,\n /**\n * The timezone offset in minutes. Positive values are west, negative\n * values are east of UTC, as in the ECMAScript\n * [getTimezoneOffset](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getTimezoneOffset)\n * method. Use this to display UTC based data in a predefined time zone.\n *\n * @see [time.getTimezoneOffset](#time.getTimezoneOffset)\n *\n * @sample {highcharts|highstock} highcharts/time/timezoneoffset/\n * Timezone offset\n *\n * @since 3.0.8\n * @product highcharts highstock gantt\n */\n timezoneOffset: 0,\n /**\n * Whether to use UTC time for axis scaling, tickmark placement and\n * time display in `Highcharts.dateFormat`. Advantages of using UTC\n * is that the time displays equally regardless of the user agent's\n * time zone settings. Local time can be used when the data is loaded\n * in real time or when correct Daylight Saving Time transitions are\n * required.\n *\n * @sample {highcharts} highcharts/time/useutc-true/\n * True by default\n * @sample {highcharts} highcharts/time/useutc-false/\n * False\n */\n useUTC: true\n },\n /**\n * General options for the chart.\n */\n chart: {\n /**\n * Default `mapData` for all series. If set to a string, it functions\n * as an index into the `Highcharts.maps` array. Otherwise it is\n * interpreted as map data.\n *\n * @see [mapData](#series.map.mapData)\n *\n * @sample maps/demo/geojson\n * Loading geoJSON data\n * @sample maps/chart/topojson\n * Loading topoJSON converted to geoJSON\n *\n * @type {string|Array<*>|Highcharts.GeoJSON}\n * @since 5.0.0\n * @product highmaps\n * @apioption chart.map\n */\n /**\n * Set lat/lon transformation definitions for the chart. If not defined,\n * these are extracted from the map data.\n *\n * @type {*}\n * @since 5.0.0\n * @product highmaps\n * @apioption chart.mapTransforms\n */\n /**\n * When using multiple axis, the ticks of two or more opposite axes\n * will automatically be aligned by adding ticks to the axis or axes\n * with the least ticks, as if `tickAmount` were specified.\n *\n * This can be prevented by setting `alignTicks` to false. If the grid\n * lines look messy, it's a good idea to hide them for the secondary\n * axis by setting `gridLineWidth` to 0.\n *\n * If `startOnTick` or `endOnTick` in an Axis options are set to false,\n * then the `alignTicks ` will be disabled for the Axis.\n *\n * Disabled for logarithmic axes.\n *\n * @sample {highcharts} highcharts/chart/alignticks-true/\n * True by default\n * @sample {highcharts} highcharts/chart/alignticks-false/\n * False\n * @sample {highstock} stock/chart/alignticks-true/\n * True by default\n * @sample {highstock} stock/chart/alignticks-false/\n * False\n *\n * @type {boolean}\n * @default true\n * @product highcharts highstock gantt\n * @apioption chart.alignTicks\n */\n /**\n * Set the overall animation for all chart updating. Animation can be\n * disabled throughout the chart by setting it to false here. It can\n * be overridden for each individual API method as a function parameter.\n * The only animation not affected by this option is the initial series\n * animation, see [plotOptions.series.animation](\n * #plotOptions.series.animation).\n *\n * The animation can either be set as a boolean or a configuration\n * object. If `true`, it will use the 'swing' jQuery easing and a\n * duration of 500 ms. If used as a configuration object, the following\n * properties are supported:\n *\n * - `defer`: The animation delay time in milliseconds.\n *\n * - `duration`: The duration of the animation in milliseconds.\n *\n * - `easing`: A string reference to an easing function set on the\n * `Math` object. See\n * [the easing demo](https://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/highcharts/plotoptions/series-animation-easing/).\n *\n * When zooming on a series with less than 100 points, the chart redraw\n * will be done with animation, but in case of more data points, it is\n * necessary to set this option to ensure animation on zoom.\n *\n * @sample {highcharts} highcharts/chart/animation-none/\n * Updating with no animation\n * @sample {highcharts} highcharts/chart/animation-duration/\n * With a longer duration\n * @sample {highcharts} highcharts/chart/animation-easing/\n * With a jQuery UI easing\n * @sample {highmaps} maps/chart/animation-none/\n * Updating with no animation\n * @sample {highmaps} maps/chart/animation-duration/\n * With a longer duration\n *\n * @type {boolean|Partial}\n * @default undefined\n * @apioption chart.animation\n */\n /**\n * A CSS class name to apply to the charts container `div`, allowing\n * unique CSS styling for each chart.\n *\n * @type {string}\n * @apioption chart.className\n */\n /**\n * Event listeners for the chart.\n *\n * @apioption chart.events\n */\n /**\n * Fires when a series is added to the chart after load time, using the\n * `addSeries` method. One parameter, `event`, is passed to the\n * function, containing common event information. Through\n * `event.options` you can access the series options that were passed to\n * the `addSeries` method. Returning false prevents the series from\n * being added.\n *\n * @sample {highcharts} highcharts/chart/events-addseries/\n * Alert on add series\n * @sample {highstock} stock/chart/events-addseries/\n * Alert on add series\n *\n * @type {Highcharts.ChartAddSeriesCallbackFunction}\n * @since 1.2.0\n * @context Highcharts.Chart\n * @apioption chart.events.addSeries\n */\n /**\n * Fires when clicking on the plot background. One parameter, `event`,\n * is passed to the function, containing common event information.\n *\n * Information on the clicked spot can be found through `event.xAxis`\n * and `event.yAxis`, which are arrays containing the axes of each\n * dimension and each axis' value at the clicked spot. The primary axes\n * are `event.xAxis[0]` and `event.yAxis[0]`. Remember the unit of a\n * datetime axis is milliseconds since 1970-01-01 00:00:00.\n *\n * ```js\n * click: function(e) {\n * console.log(\n * Highcharts.dateFormat('%Y-%m-%d %H:%M:%S', e.xAxis[0].value),\n * e.yAxis[0].value\n * )\n * }\n * ```\n *\n * @sample {highcharts} highcharts/chart/events-click/\n * Alert coordinates on click\n * @sample {highcharts} highcharts/chart/events-container/\n * Alternatively, attach event to container\n * @sample {highstock} stock/chart/events-click/\n * Alert coordinates on click\n * @sample {highstock} highcharts/chart/events-container/\n * Alternatively, attach event to container\n * @sample {highmaps} maps/chart/events-click/\n * Record coordinates on click\n * @sample {highmaps} highcharts/chart/events-container/\n * Alternatively, attach event to container\n *\n * @type {Highcharts.ChartClickCallbackFunction}\n * @since 1.2.0\n * @context Highcharts.Chart\n * @apioption chart.events.click\n */\n /**\n * Fires when the chart is finished loading. Since v4.2.2, it also waits\n * for images to be loaded, for example from point markers. One\n * parameter, `event`, is passed to the function, containing common\n * event information.\n *\n * There is also a second parameter to the chart constructor where a\n * callback function can be passed to be executed on chart.load.\n *\n * @sample {highcharts} highcharts/chart/events-load/\n * Alert on chart load\n * @sample {highstock} stock/chart/events-load/\n * Alert on chart load\n * @sample {highmaps} maps/chart/events-load/\n * Add series on chart load\n *\n * @type {Highcharts.ChartLoadCallbackFunction}\n * @context Highcharts.Chart\n * @apioption chart.events.load\n */\n /**\n * Fires when the chart is redrawn, either after a call to\n * `chart.redraw()` or after an axis, series or point is modified with\n * the `redraw` option set to `true`. One parameter, `event`, is passed\n * to the function, containing common event information.\n *\n * @sample {highcharts} highcharts/chart/events-redraw/\n * Alert on chart redraw\n * @sample {highstock} stock/chart/events-redraw/\n * Alert on chart redraw when adding a series or moving the\n * zoomed range\n * @sample {highmaps} maps/chart/events-redraw/\n * Set subtitle on chart redraw\n *\n * @type {Highcharts.ChartRedrawCallbackFunction}\n * @since 1.2.0\n * @context Highcharts.Chart\n * @apioption chart.events.redraw\n */\n /**\n * Fires after initial load of the chart (directly after the `load`\n * event), and after each redraw (directly after the `redraw` event).\n *\n * @type {Highcharts.ChartRenderCallbackFunction}\n * @since 5.0.7\n * @context Highcharts.Chart\n * @apioption chart.events.render\n */\n /**\n * Fires when an area of the chart has been selected. Selection is\n * enabled by setting the chart's zoomType. One parameter, `event`, is\n * passed to the function, containing common event information. The\n * default action for the selection event is to zoom the chart to the\n * selected area. It can be prevented by calling\n * `event.preventDefault()` or return false.\n *\n * Information on the selected area can be found through `event.xAxis`\n * and `event.yAxis`, which are arrays containing the axes of each\n * dimension and each axis' min and max values. The primary axes are\n * `event.xAxis[0]` and `event.yAxis[0]`. Remember the unit of a\n * datetime axis is milliseconds since 1970-01-01 00:00:00.\n *\n * ```js\n * selection: function(event) {\n * // log the min and max of the primary, datetime x-axis\n * console.log(\n * Highcharts.dateFormat(\n * '%Y-%m-%d %H:%M:%S',\n * event.xAxis[0].min\n * ),\n * Highcharts.dateFormat(\n * '%Y-%m-%d %H:%M:%S',\n * event.xAxis[0].max\n * )\n * );\n * // log the min and max of the y axis\n * console.log(event.yAxis[0].min, event.yAxis[0].max);\n * }\n * ```\n *\n * @sample {highcharts} highcharts/chart/events-selection/\n * Report on selection and reset\n * @sample {highcharts} highcharts/chart/events-selection-points/\n * Select a range of points through a drag selection\n * @sample {highstock} stock/chart/events-selection/\n * Report on selection and reset\n * @sample {highstock} highcharts/chart/events-selection-points/\n * Select a range of points through a drag selection\n * (Highcharts)\n *\n * @type {Highcharts.ChartSelectionCallbackFunction}\n * @apioption chart.events.selection\n */\n /**\n * The margin between the outer edge of the chart and the plot area.\n * The numbers in the array designate top, right, bottom and left\n * respectively. Use the options `marginTop`, `marginRight`,\n * `marginBottom` and `marginLeft` for shorthand setting of one option.\n *\n * By default there is no margin. The actual space is dynamically\n * calculated from the offset of axis labels, axis title, title,\n * subtitle and legend in addition to the `spacingTop`, `spacingRight`,\n * `spacingBottom` and `spacingLeft` options.\n *\n * @sample {highcharts} highcharts/chart/margins-zero/\n * Zero margins\n * @sample {highstock} stock/chart/margin-zero/\n * Zero margins\n *\n * @type {number|Array}\n * @apioption chart.margin\n */\n /**\n * The margin between the bottom outer edge of the chart and the plot\n * area. Use this to set a fixed pixel value for the margin as opposed\n * to the default dynamic margin. See also `spacingBottom`.\n *\n * @sample {highcharts} highcharts/chart/marginbottom/\n * 100px bottom margin\n * @sample {highstock} stock/chart/marginbottom/\n * 100px bottom margin\n * @sample {highmaps} maps/chart/margin/\n * 100px margins\n *\n * @type {number}\n * @since 2.0\n * @apioption chart.marginBottom\n */\n /**\n * The margin between the left outer edge of the chart and the plot\n * area. Use this to set a fixed pixel value for the margin as opposed\n * to the default dynamic margin. See also `spacingLeft`.\n *\n * @sample {highcharts} highcharts/chart/marginleft/\n * 150px left margin\n * @sample {highstock} stock/chart/marginleft/\n * 150px left margin\n * @sample {highmaps} maps/chart/margin/\n * 100px margins\n *\n * @type {number}\n * @since 2.0\n * @apioption chart.marginLeft\n */\n /**\n * The margin between the right outer edge of the chart and the plot\n * area. Use this to set a fixed pixel value for the margin as opposed\n * to the default dynamic margin. See also `spacingRight`.\n *\n * @sample {highcharts} highcharts/chart/marginright/\n * 100px right margin\n * @sample {highstock} stock/chart/marginright/\n * 100px right margin\n * @sample {highmaps} maps/chart/margin/\n * 100px margins\n *\n * @type {number}\n * @since 2.0\n * @apioption chart.marginRight\n */\n /**\n * The margin between the top outer edge of the chart and the plot area.\n * Use this to set a fixed pixel value for the margin as opposed to\n * the default dynamic margin. See also `spacingTop`.\n *\n * @sample {highcharts} highcharts/chart/margintop/ 100px top margin\n * @sample {highstock} stock/chart/margintop/\n * 100px top margin\n * @sample {highmaps} maps/chart/margin/\n * 100px margins\n *\n * @type {number}\n * @since 2.0\n * @apioption chart.marginTop\n */\n /**\n * Callback function to override the default function that formats all\n * the numbers in the chart. Returns a string with the formatted number.\n *\n * @sample highcharts/members/highcharts-numberformat\n * Arabic digits in Highcharts\n * @type {Highcharts.NumberFormatterCallbackFunction}\n * @since 8.0.0\n * @apioption chart.numberFormatter\n */\n /**\n * Allows setting a key to switch between zooming and panning. Can be\n * one of `alt`, `ctrl`, `meta` (the command key on Mac and Windows\n * key on Windows) or `shift`. The keys are mapped directly to the key\n * properties of the click event argument (`event.altKey`,\n * `event.ctrlKey`, `event.metaKey` and `event.shiftKey`).\n *\n * @type {string}\n * @since 4.0.3\n * @product highcharts gantt\n * @validvalue [\"alt\", \"ctrl\", \"meta\", \"shift\"]\n * @apioption chart.panKey\n */\n /**\n * Allow panning in a chart. Best used with [panKey](#chart.panKey)\n * to combine zooming and panning.\n *\n * On touch devices, when the [tooltip.followTouchMove](\n * #tooltip.followTouchMove) option is `true` (default), panning\n * requires two fingers. To allow panning with one finger, set\n * `followTouchMove` to `false`.\n *\n * @sample {highcharts} highcharts/chart/pankey/ Zooming and panning\n * @sample {highstock} stock/chart/panning/ Zooming and xy panning\n *\n * @product highcharts highstock gantt\n * @apioption chart.panning\n */\n /**\n * Enable or disable chart panning.\n *\n * @type {boolean}\n * @default {highcharts} false\n * @default {highstock} true\n * @apioption chart.panning.enabled\n */\n /**\n * Decides in what dimensions the user can pan the chart. Can be\n * one of `x`, `y`, or `xy`.\n *\n * @sample {highcharts} highcharts/chart/panning-type\n * Zooming and xy panning\n *\n * @type {string}\n * @validvalue [\"x\", \"y\", \"xy\"]\n * @default x\n * @apioption chart.panning.type\n */\n /**\n * Equivalent to [zoomType](#chart.zoomType), but for multitouch\n * gestures only. By default, the `pinchType` is the same as the\n * `zoomType` setting. However, pinching can be enabled separately in\n * some cases, for example in stock charts where a mouse drag pans the\n * chart, while pinching is enabled. When [tooltip.followTouchMove](\n * #tooltip.followTouchMove) is true, pinchType only applies to\n * two-finger touches.\n *\n * @type {string}\n * @default {highcharts} undefined\n * @default {highstock} x\n * @since 3.0\n * @product highcharts highstock gantt\n * @validvalue [\"x\", \"y\", \"xy\"]\n * @apioption chart.pinchType\n */\n /**\n * Whether to apply styled mode. When in styled mode, no presentational\n * attributes or CSS are applied to the chart SVG. Instead, CSS rules\n * are required to style the chart. The default style sheet is\n * available from `https://code.highcharts.com/css/highcharts.css`.\n *\n * @type {boolean}\n * @default false\n * @since 7.0\n * @apioption chart.styledMode\n */\n styledMode: false,\n /**\n * The corner radius of the outer chart border.\n *\n * @sample {highcharts} highcharts/chart/borderradius/\n * 20px radius\n * @sample {highstock} stock/chart/border/\n * 10px radius\n * @sample {highmaps} maps/chart/border/\n * Border options\n *\n */\n borderRadius: 0,\n /**\n * In styled mode, this sets how many colors the class names\n * should rotate between. With ten colors, series (or points) are\n * given class names like `highcharts-color-0`, `highcharts-color-0`\n * [...] `highcharts-color-9`. The equivalent in non-styled mode\n * is to set colors using the [colors](#colors) setting.\n *\n * @since 5.0.0\n */\n colorCount: 10,\n /**\n * Alias of `type`.\n *\n * @sample {highcharts} highcharts/chart/defaultseriestype/\n * Bar\n *\n * @deprecated\n *\n * @product highcharts\n */\n defaultSeriesType: 'line',\n /**\n * If true, the axes will scale to the remaining visible series once\n * one series is hidden. If false, hiding and showing a series will\n * not affect the axes or the other series. For stacks, once one series\n * within the stack is hidden, the rest of the stack will close in\n * around it even if the axis is not affected.\n *\n * @sample {highcharts} highcharts/chart/ignorehiddenseries-true/\n * True by default\n * @sample {highcharts} highcharts/chart/ignorehiddenseries-false/\n * False\n * @sample {highcharts} highcharts/chart/ignorehiddenseries-true-stacked/\n * True with stack\n * @sample {highstock} stock/chart/ignorehiddenseries-true/\n * True by default\n * @sample {highstock} stock/chart/ignorehiddenseries-false/\n * False\n *\n * @since 1.2.0\n * @product highcharts highstock gantt\n */\n ignoreHiddenSeries: true,\n /**\n * Whether to invert the axes so that the x axis is vertical and y axis\n * is horizontal. When `true`, the x axis is [reversed](#xAxis.reversed)\n * by default.\n *\n * @productdesc {highcharts}\n * If a bar series is present in the chart, it will be inverted\n * automatically. Inverting the chart doesn't have an effect if there\n * are no cartesian series in the chart, or if the chart is\n * [polar](#chart.polar).\n *\n * @sample {highcharts} highcharts/chart/inverted/\n * Inverted line\n * @sample {highstock} stock/navigator/inverted/\n * Inverted stock chart\n *\n * @type {boolean}\n * @default false\n * @product highcharts highstock gantt\n * @apioption chart.inverted\n */\n /**\n * The distance between the outer edge of the chart and the content,\n * like title or legend, or axis title and labels if present. The\n * numbers in the array designate top, right, bottom and left\n * respectively. Use the options spacingTop, spacingRight, spacingBottom\n * and spacingLeft options for shorthand setting of one option.\n *\n * @type {Array}\n * @see [chart.margin](#chart.margin)\n * @default [10, 10, 15, 10]\n * @since 3.0.6\n */\n spacing: [10, 10, 15, 10],\n /**\n * The button that appears after a selection zoom, allowing the user\n * to reset zoom.\n */\n resetZoomButton: {\n /**\n * What frame the button placement should be related to. Can be\n * either `plotBox` or `spacingBox`.\n *\n * @sample {highcharts} highcharts/chart/resetzoombutton-relativeto/\n * Relative to the chart\n * @sample {highstock} highcharts/chart/resetzoombutton-relativeto/\n * Relative to the chart\n *\n * @type {Highcharts.ButtonRelativeToValue}\n * @default plot\n * @since 2.2\n * @apioption chart.resetZoomButton.relativeTo\n */\n /**\n * A collection of attributes for the button. The object takes SVG\n * attributes like `fill`, `stroke`, `stroke-width` or `r`, the\n * border radius. The theme also supports `style`, a collection of\n * CSS properties for the text. Equivalent attributes for the hover\n * state are given in `theme.states.hover`.\n *\n * @sample {highcharts} highcharts/chart/resetzoombutton-theme/\n * Theming the button\n * @sample {highstock} highcharts/chart/resetzoombutton-theme/\n * Theming the button\n *\n * @type {Highcharts.SVGAttributes}\n * @since 2.2\n */\n theme: {\n /** @internal */\n zIndex: 6\n },\n /**\n * The position of the button.\n *\n * @sample {highcharts} highcharts/chart/resetzoombutton-position/\n * Above the plot area\n * @sample {highstock} highcharts/chart/resetzoombutton-position/\n * Above the plot area\n * @sample {highmaps} highcharts/chart/resetzoombutton-position/\n * Above the plot area\n *\n * @type {Highcharts.AlignObject}\n * @since 2.2\n */\n position: {\n /**\n * The horizontal alignment of the button.\n */\n align: 'right',\n /**\n * The horizontal offset of the button.\n */\n x: -10,\n /**\n * The vertical alignment of the button.\n *\n * @type {Highcharts.VerticalAlignValue}\n * @default top\n * @apioption chart.resetZoomButton.position.verticalAlign\n */\n /**\n * The vertical offset of the button.\n */\n y: 10\n }\n },\n /**\n * The pixel width of the plot area border.\n *\n * @sample {highcharts} highcharts/chart/plotborderwidth/\n * 1px border\n * @sample {highstock} stock/chart/plotborder/\n * 2px border\n * @sample {highmaps} maps/chart/plotborder/\n * Plot border options\n *\n * @type {number}\n * @default 0\n * @apioption chart.plotBorderWidth\n */\n /**\n * Whether to apply a drop shadow to the plot area. Requires that\n * plotBackgroundColor be set. The shadow can be an object configuration\n * containing `color`, `offsetX`, `offsetY`, `opacity` and `width`.\n *\n * @sample {highcharts} highcharts/chart/plotshadow/\n * Plot shadow\n * @sample {highstock} stock/chart/plotshadow/\n * Plot shadow\n * @sample {highmaps} maps/chart/plotborder/\n * Plot border options\n *\n * @type {boolean|Highcharts.CSSObject}\n * @default false\n * @apioption chart.plotShadow\n */\n /**\n * When true, cartesian charts like line, spline, area and column are\n * transformed into the polar coordinate system. This produces _polar\n * charts_, also known as _radar charts_.\n *\n * @sample {highcharts} highcharts/demo/polar/\n * Polar chart\n * @sample {highcharts} highcharts/demo/polar-wind-rose/\n * Wind rose, stacked polar column chart\n * @sample {highcharts} highcharts/demo/polar-spider/\n * Spider web chart\n * @sample {highcharts} highcharts/parallel-coordinates/polar/\n * Star plot, multivariate data in a polar chart\n *\n * @type {boolean}\n * @default false\n * @since 2.3.0\n * @product highcharts\n * @requires highcharts-more\n * @apioption chart.polar\n */\n /**\n * Whether to reflow the chart to fit the width of the container div\n * on resizing the window.\n *\n * @sample {highcharts} highcharts/chart/reflow-true/\n * True by default\n * @sample {highcharts} highcharts/chart/reflow-false/\n * False\n * @sample {highstock} stock/chart/reflow-true/\n * True by default\n * @sample {highstock} stock/chart/reflow-false/\n * False\n * @sample {highmaps} maps/chart/reflow-true/\n * True by default\n * @sample {highmaps} maps/chart/reflow-false/\n * False\n *\n * @type {boolean}\n * @default true\n * @since 2.1\n * @apioption chart.reflow\n */\n /**\n * The HTML element where the chart will be rendered. If it is a string,\n * the element by that id is used. The HTML element can also be passed\n * by direct reference, or as the first argument of the chart\n * constructor, in which case the option is not needed.\n *\n * @sample {highcharts} highcharts/chart/reflow-true/\n * String\n * @sample {highcharts} highcharts/chart/renderto-object/\n * Object reference\n * @sample {highcharts} highcharts/chart/renderto-jquery/\n * Object reference through jQuery\n * @sample {highstock} stock/chart/renderto-string/\n * String\n * @sample {highstock} stock/chart/renderto-object/\n * Object reference\n * @sample {highstock} stock/chart/renderto-jquery/\n * Object reference through jQuery\n *\n * @type {string|Highcharts.HTMLDOMElement}\n * @apioption chart.renderTo\n */\n /**\n * The background color of the marker square when selecting (zooming\n * in on) an area of the chart.\n *\n * @see In styled mode, the selection marker fill is set with the\n * `.highcharts-selection-marker` class.\n *\n * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}\n * @default rgba(51,92,173,0.25)\n * @since 2.1.7\n * @apioption chart.selectionMarkerFill\n */\n /**\n * Whether to apply a drop shadow to the outer chart area. Requires\n * that backgroundColor be set. The shadow can be an object\n * configuration containing `color`, `offsetX`, `offsetY`, `opacity` and\n * `width`.\n *\n * @sample {highcharts} highcharts/chart/shadow/\n * Shadow\n * @sample {highstock} stock/chart/shadow/\n * Shadow\n * @sample {highmaps} maps/chart/border/\n * Chart border and shadow\n *\n * @type {boolean|Highcharts.CSSObject}\n * @default false\n * @apioption chart.shadow\n */\n /**\n * Whether to show the axes initially. This only applies to empty charts\n * where series are added dynamically, as axes are automatically added\n * to cartesian series.\n *\n * @sample {highcharts} highcharts/chart/showaxes-false/\n * False by default\n * @sample {highcharts} highcharts/chart/showaxes-true/\n * True\n *\n * @type {boolean}\n * @since 1.2.5\n * @product highcharts gantt\n * @apioption chart.showAxes\n */\n /**\n * The space between the bottom edge of the chart and the content (plot\n * area, axis title and labels, title, subtitle or legend in top\n * position).\n *\n * @sample {highcharts} highcharts/chart/spacingbottom/\n * Spacing bottom set to 100\n * @sample {highstock} stock/chart/spacingbottom/\n * Spacing bottom set to 100\n * @sample {highmaps} maps/chart/spacing/\n * Spacing 100 all around\n *\n * @type {number}\n * @default 15\n * @since 2.1\n * @apioption chart.spacingBottom\n */\n /**\n * The space between the left edge of the chart and the content (plot\n * area, axis title and labels, title, subtitle or legend in top\n * position).\n *\n * @sample {highcharts} highcharts/chart/spacingleft/\n * Spacing left set to 100\n * @sample {highstock} stock/chart/spacingleft/\n * Spacing left set to 100\n * @sample {highmaps} maps/chart/spacing/\n * Spacing 100 all around\n *\n * @type {number}\n * @default 10\n * @since 2.1\n * @apioption chart.spacingLeft\n */\n /**\n * The space between the right edge of the chart and the content (plot\n * area, axis title and labels, title, subtitle or legend in top\n * position).\n *\n * @sample {highcharts} highcharts/chart/spacingright-100/\n * Spacing set to 100\n * @sample {highcharts} highcharts/chart/spacingright-legend/\n * Legend in right position with default spacing\n * @sample {highstock} stock/chart/spacingright/\n * Spacing set to 100\n * @sample {highmaps} maps/chart/spacing/\n * Spacing 100 all around\n *\n * @type {number}\n * @default 10\n * @since 2.1\n * @apioption chart.spacingRight\n */\n /**\n * The space between the top edge of the chart and the content (plot\n * area, axis title and labels, title, subtitle or legend in top\n * position).\n *\n * @sample {highcharts} highcharts/chart/spacingtop-100/\n * A top spacing of 100\n * @sample {highcharts} highcharts/chart/spacingtop-10/\n * Floating chart title makes the plot area align to the default\n * spacingTop of 10.\n * @sample {highstock} stock/chart/spacingtop/\n * A top spacing of 100\n * @sample {highmaps} maps/chart/spacing/\n * Spacing 100 all around\n *\n * @type {number}\n * @default 10\n * @since 2.1\n * @apioption chart.spacingTop\n */\n /**\n * Additional CSS styles to apply inline to the container `div`. Note\n * that since the default font styles are applied in the renderer, it\n * is ignorant of the individual chart options and must be set globally.\n *\n * @see In styled mode, general chart styles can be set with the\n * `.highcharts-root` class.\n * @sample {highcharts} highcharts/chart/style-serif-font/\n * Using a serif type font\n * @sample {highcharts} highcharts/css/em/\n * Styled mode with relative font sizes\n * @sample {highstock} stock/chart/style/\n * Using a serif type font\n * @sample {highmaps} maps/chart/style-serif-font/\n * Using a serif type font\n *\n * @type {Highcharts.CSSObject}\n * @default {\"fontFamily\": \"\\\"Lucida Grande\\\", \\\"Lucida Sans Unicode\\\", Verdana, Arial, Helvetica, sans-serif\",\"fontSize\":\"12px\"}\n * @apioption chart.style\n */\n /**\n * The default series type for the chart. Can be any of the chart types\n * listed under [plotOptions](#plotOptions) and [series](#series) or can\n * be a series provided by an additional module.\n *\n * In TypeScript this option has no effect in sense of typing and\n * instead the `type` option must always be set in the series.\n *\n * @sample {highcharts} highcharts/chart/type-bar/\n * Bar\n * @sample {highstock} stock/chart/type/\n * Areaspline\n * @sample {highmaps} maps/chart/type-mapline/\n * Mapline\n *\n * @type {string}\n * @default {highcharts} line\n * @default {highstock} line\n * @default {highmaps} map\n * @since 2.1.0\n * @apioption chart.type\n */\n /**\n * Decides in what dimensions the user can zoom by dragging the mouse.\n * Can be one of `x`, `y` or `xy`.\n *\n * @see [panKey](#chart.panKey)\n *\n * @sample {highcharts} highcharts/chart/zoomtype-none/\n * None by default\n * @sample {highcharts} highcharts/chart/zoomtype-x/\n * X\n * @sample {highcharts} highcharts/chart/zoomtype-y/\n * Y\n * @sample {highcharts} highcharts/chart/zoomtype-xy/\n * Xy\n * @sample {highstock} stock/demo/basic-line/\n * None by default\n * @sample {highstock} stock/chart/zoomtype-x/\n * X\n * @sample {highstock} stock/chart/zoomtype-y/\n * Y\n * @sample {highstock} stock/chart/zoomtype-xy/\n * Xy\n *\n * @type {string}\n * @product highcharts highstock gantt\n * @validvalue [\"x\", \"y\", \"xy\"]\n * @apioption chart.zoomType\n */\n /**\n * An explicit width for the chart. By default (when `null`) the width\n * is calculated from the offset width of the containing element.\n *\n * @sample {highcharts} highcharts/chart/width/\n * 800px wide\n * @sample {highstock} stock/chart/width/\n * 800px wide\n * @sample {highmaps} maps/chart/size/\n * Chart with explicit size\n *\n * @type {null|number|string}\n */\n width: null,\n /**\n * An explicit height for the chart. If a _number_, the height is\n * given in pixels. If given a _percentage string_ (for example\n * `'56%'`), the height is given as the percentage of the actual chart\n * width. This allows for preserving the aspect ratio across responsive\n * sizes.\n *\n * By default (when `null`) the height is calculated from the offset\n * height of the containing element, or 400 pixels if the containing\n * element's height is 0.\n *\n * @sample {highcharts} highcharts/chart/height/\n * 500px height\n * @sample {highstock} stock/chart/height/\n * 300px height\n * @sample {highmaps} maps/chart/size/\n * Chart with explicit size\n * @sample highcharts/chart/height-percent/\n * Highcharts with percentage height\n *\n * @type {null|number|string}\n */\n height: null,\n /**\n * The color of the outer chart border.\n *\n * @see In styled mode, the stroke is set with the\n * `.highcharts-background` class.\n *\n * @sample {highcharts} highcharts/chart/bordercolor/\n * Brown border\n * @sample {highstock} stock/chart/border/\n * Brown border\n * @sample {highmaps} maps/chart/border/\n * Border options\n *\n * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}\n */\n borderColor: '#335cad',\n /**\n * The pixel width of the outer chart border.\n *\n * @see In styled mode, the stroke is set with the\n * `.highcharts-background` class.\n *\n * @sample {highcharts} highcharts/chart/borderwidth/\n * 5px border\n * @sample {highstock} stock/chart/border/\n * 2px border\n * @sample {highmaps} maps/chart/border/\n * Border options\n *\n * @type {number}\n * @default 0\n * @apioption chart.borderWidth\n */\n /**\n * The background color or gradient for the outer chart area.\n *\n * @see In styled mode, the background is set with the\n * `.highcharts-background` class.\n *\n * @sample {highcharts} highcharts/chart/backgroundcolor-color/\n * Color\n * @sample {highcharts} highcharts/chart/backgroundcolor-gradient/\n * Gradient\n * @sample {highstock} stock/chart/backgroundcolor-color/\n * Color\n * @sample {highstock} stock/chart/backgroundcolor-gradient/\n * Gradient\n * @sample {highmaps} maps/chart/backgroundcolor-color/\n * Color\n * @sample {highmaps} maps/chart/backgroundcolor-gradient/\n * Gradient\n *\n * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}\n */\n backgroundColor: '#ffffff',\n /**\n * The background color or gradient for the plot area.\n *\n * @see In styled mode, the plot background is set with the\n * `.highcharts-plot-background` class.\n *\n * @sample {highcharts} highcharts/chart/plotbackgroundcolor-color/\n * Color\n * @sample {highcharts} highcharts/chart/plotbackgroundcolor-gradient/\n * Gradient\n * @sample {highstock} stock/chart/plotbackgroundcolor-color/\n * Color\n * @sample {highstock} stock/chart/plotbackgroundcolor-gradient/\n * Gradient\n * @sample {highmaps} maps/chart/plotbackgroundcolor-color/\n * Color\n * @sample {highmaps} maps/chart/plotbackgroundcolor-gradient/\n * Gradient\n *\n * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}\n * @apioption chart.plotBackgroundColor\n */\n /**\n * The URL for an image to use as the plot background. To set an image\n * as the background for the entire chart, set a CSS background image\n * to the container element. Note that for the image to be applied to\n * exported charts, its URL needs to be accessible by the export server.\n *\n * @see In styled mode, a plot background image can be set with the\n * `.highcharts-plot-background` class and a [custom pattern](\n * https://www.highcharts.com/docs/chart-design-and-style/\n * gradients-shadows-and-patterns).\n *\n * @sample {highcharts} highcharts/chart/plotbackgroundimage/\n * Skies\n * @sample {highstock} stock/chart/plotbackgroundimage/\n * Skies\n *\n * @type {string}\n * @apioption chart.plotBackgroundImage\n */\n /**\n * The color of the inner chart or plot area border.\n *\n * @see In styled mode, a plot border stroke can be set with the\n * `.highcharts-plot-border` class.\n *\n * @sample {highcharts} highcharts/chart/plotbordercolor/\n * Blue border\n * @sample {highstock} stock/chart/plotborder/\n * Blue border\n * @sample {highmaps} maps/chart/plotborder/\n * Plot border options\n *\n * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}\n */\n plotBorderColor: '#cccccc'\n },\n /**\n * The chart's main title.\n *\n * @sample {highmaps} maps/title/title/\n * Title options demonstrated\n */\n title: {\n /**\n * When the title is floating, the plot area will not move to make space\n * for it.\n *\n * @sample {highcharts} highcharts/chart/zoomtype-none/\n * False by default\n * @sample {highcharts} highcharts/title/floating/\n * True - title on top of the plot area\n * @sample {highstock} stock/chart/title-floating/\n * True - title on top of the plot area\n *\n * @type {boolean}\n * @default false\n * @since 2.1\n * @apioption title.floating\n */\n /**\n * CSS styles for the title. Use this for font styling, but use `align`,\n * `x` and `y` for text alignment.\n *\n * In styled mode, the title style is given in the `.highcharts-title`\n * class.\n *\n * @sample {highcharts} highcharts/title/style/\n * Custom color and weight\n * @sample {highstock} stock/chart/title-style/\n * Custom color and weight\n * @sample highcharts/css/titles/\n * Styled mode\n *\n * @type {Highcharts.CSSObject}\n * @default {highcharts|highmaps} { \"color\": \"#333333\", \"fontSize\": \"18px\" }\n * @default {highstock} { \"color\": \"#333333\", \"fontSize\": \"16px\" }\n * @apioption title.style\n */\n /**\n * Whether to\n * [use HTML](https://www.highcharts.com/docs/chart-concepts/labels-and-string-formatting#html)\n * to render the text.\n *\n * @type {boolean}\n * @default false\n * @apioption title.useHTML\n */\n /**\n * The vertical alignment of the title. Can be one of `\"top\"`,\n * `\"middle\"` and `\"bottom\"`. When a value is given, the title behaves\n * as if [floating](#title.floating) were `true`.\n *\n * @sample {highcharts} highcharts/title/verticalalign/\n * Chart title in bottom right corner\n * @sample {highstock} stock/chart/title-verticalalign/\n * Chart title in bottom right corner\n *\n * @type {Highcharts.VerticalAlignValue}\n * @since 2.1\n * @apioption title.verticalAlign\n */\n /**\n * The x position of the title relative to the alignment within\n * `chart.spacingLeft` and `chart.spacingRight`.\n *\n * @sample {highcharts} highcharts/title/align/\n * Aligned to the plot area (x = 70px = margin left - spacing\n * left)\n * @sample {highstock} stock/chart/title-align/\n * Aligned to the plot area (x = 50px = margin left - spacing\n * left)\n *\n * @type {number}\n * @default 0\n * @since 2.0\n * @apioption title.x\n */\n /**\n * The y position of the title relative to the alignment within\n * [chart.spacingTop](#chart.spacingTop) and [chart.spacingBottom](\n * #chart.spacingBottom). By default it depends on the font size.\n *\n * @sample {highcharts} highcharts/title/y/\n * Title inside the plot area\n * @sample {highstock} stock/chart/title-verticalalign/\n * Chart title in bottom right corner\n *\n * @type {number}\n * @since 2.0\n * @apioption title.y\n */\n /**\n * The title of the chart. To disable the title, set the `text` to\n * `undefined`.\n *\n * @sample {highcharts} highcharts/title/text/\n * Custom title\n * @sample {highstock} stock/chart/title-text/\n * Custom title\n *\n * @default {highcharts|highmaps} Chart title\n * @default {highstock} undefined\n */\n text: 'Chart title',\n /**\n * The horizontal alignment of the title. Can be one of \"left\", \"center\"\n * and \"right\".\n *\n * @sample {highcharts} highcharts/title/align/\n * Aligned to the plot area (x = 70px = margin left - spacing\n * left)\n * @sample {highstock} stock/chart/title-align/\n * Aligned to the plot area (x = 50px = margin left - spacing\n * left)\n *\n * @type {Highcharts.AlignValue}\n * @since 2.0\n */\n align: 'center',\n /**\n * The margin between the title and the plot area, or if a subtitle\n * is present, the margin between the subtitle and the plot area.\n *\n * @sample {highcharts} highcharts/title/margin-50/\n * A chart title margin of 50\n * @sample {highcharts} highcharts/title/margin-subtitle/\n * The same margin applied with a subtitle\n * @sample {highstock} stock/chart/title-margin/\n * A chart title margin of 50\n *\n * @since 2.1\n */\n margin: 15,\n /**\n * Adjustment made to the title width, normally to reserve space for\n * the exporting burger menu.\n *\n * @sample highcharts/title/widthadjust/\n * Wider menu, greater padding\n *\n * @since 4.2.5\n */\n widthAdjust: -44\n },\n /**\n * The chart's subtitle. This can be used both to display a subtitle below\n * the main title, and to display random text anywhere in the chart. The\n * subtitle can be updated after chart initialization through the\n * `Chart.setTitle` method.\n *\n * @sample {highmaps} maps/title/subtitle/\n * Subtitle options demonstrated\n */\n subtitle: {\n /**\n * When the subtitle is floating, the plot area will not move to make\n * space for it.\n *\n * @sample {highcharts} highcharts/subtitle/floating/\n * Floating title and subtitle\n * @sample {highstock} stock/chart/subtitle-footnote\n * Footnote floating at bottom right of plot area\n *\n * @type {boolean}\n * @default false\n * @since 2.1\n * @apioption subtitle.floating\n */\n /**\n * CSS styles for the title.\n *\n * In styled mode, the subtitle style is given in the\n * `.highcharts-subtitle` class.\n *\n * @sample {highcharts} highcharts/subtitle/style/\n * Custom color and weight\n * @sample {highcharts} highcharts/css/titles/\n * Styled mode\n * @sample {highstock} stock/chart/subtitle-style\n * Custom color and weight\n * @sample {highstock} highcharts/css/titles/\n * Styled mode\n * @sample {highmaps} highcharts/css/titles/\n * Styled mode\n *\n * @type {Highcharts.CSSObject}\n * @default {\"color\": \"#666666\"}\n * @apioption subtitle.style\n */\n /**\n * Whether to\n * [use HTML](https://www.highcharts.com/docs/chart-concepts/labels-and-string-formatting#html)\n * to render the text.\n *\n * @type {boolean}\n * @default false\n * @apioption subtitle.useHTML\n */\n /**\n * The vertical alignment of the title. Can be one of `\"top\"`,\n * `\"middle\"` and `\"bottom\"`. When middle, the subtitle behaves as\n * floating.\n *\n * @sample {highcharts} highcharts/subtitle/verticalalign/\n * Footnote at the bottom right of plot area\n * @sample {highstock} stock/chart/subtitle-footnote\n * Footnote at the bottom right of plot area\n *\n * @type {Highcharts.VerticalAlignValue}\n * @since 2.1\n * @apioption subtitle.verticalAlign\n */\n /**\n * The x position of the subtitle relative to the alignment within\n * `chart.spacingLeft` and `chart.spacingRight`.\n *\n * @sample {highcharts} highcharts/subtitle/align/\n * Footnote at right of plot area\n * @sample {highstock} stock/chart/subtitle-footnote\n * Footnote at the bottom right of plot area\n *\n * @type {number}\n * @default 0\n * @since 2.0\n * @apioption subtitle.x\n */\n /**\n * The y position of the subtitle relative to the alignment within\n * `chart.spacingTop` and `chart.spacingBottom`. By default the subtitle\n * is laid out below the title unless the title is floating.\n *\n * @sample {highcharts} highcharts/subtitle/verticalalign/\n * Footnote at the bottom right of plot area\n * @sample {highstock} stock/chart/subtitle-footnote\n * Footnote at the bottom right of plot area\n *\n * @type {number}\n * @since 2.0\n * @apioption subtitle.y\n */\n /**\n * The subtitle of the chart.\n *\n * @sample {highcharts|highstock} highcharts/subtitle/text/\n * Custom subtitle\n * @sample {highcharts|highstock} highcharts/subtitle/text-formatted/\n * Formatted and linked text.\n */\n text: '',\n /**\n * The horizontal alignment of the subtitle. Can be one of \"left\",\n * \"center\" and \"right\".\n *\n * @sample {highcharts} highcharts/subtitle/align/\n * Footnote at right of plot area\n * @sample {highstock} stock/chart/subtitle-footnote\n * Footnote at bottom right of plot area\n *\n * @type {Highcharts.AlignValue}\n * @since 2.0\n */\n align: 'center',\n /**\n * Adjustment made to the subtitle width, normally to reserve space\n * for the exporting burger menu.\n *\n * @see [title.widthAdjust](#title.widthAdjust)\n *\n * @sample highcharts/title/widthadjust/\n * Wider menu, greater padding\n *\n * @since 4.2.5\n */\n widthAdjust: -44\n },\n /**\n * The chart's caption, which will render below the chart and will be part\n * of exported charts. The caption can be updated after chart initialization\n * through the `Chart.update` or `Chart.caption.update` methods.\n *\n * @sample highcharts/caption/text/\n * A chart with a caption\n * @since 7.2.0\n */\n caption: {\n /**\n * When the caption is floating, the plot area will not move to make\n * space for it.\n *\n * @type {boolean}\n * @default false\n * @apioption caption.floating\n */\n /**\n * The margin between the caption and the plot area.\n */\n margin: 15,\n /**\n * CSS styles for the caption.\n *\n * In styled mode, the caption style is given in the\n * `.highcharts-caption` class.\n *\n * @sample {highcharts} highcharts/css/titles/\n * Styled mode\n *\n * @type {Highcharts.CSSObject}\n * @default {\"color\": \"#666666\"}\n * @apioption caption.style\n */\n /**\n * Whether to\n * [use HTML](https://www.highcharts.com/docs/chart-concepts/labels-and-string-formatting#html)\n * to render the text.\n *\n * @type {boolean}\n * @default false\n * @apioption caption.useHTML\n */\n /**\n * The x position of the caption relative to the alignment within\n * `chart.spacingLeft` and `chart.spacingRight`.\n *\n * @type {number}\n * @default 0\n * @apioption caption.x\n */\n /**\n * The y position of the caption relative to the alignment within\n * `chart.spacingTop` and `chart.spacingBottom`.\n *\n * @type {number}\n * @apioption caption.y\n */\n /**\n * The caption text of the chart.\n *\n * @sample {highcharts} highcharts/caption/text/\n * Custom caption\n */\n text: '',\n /**\n * The horizontal alignment of the caption. Can be one of \"left\",\n * \"center\" and \"right\".\n *\n * @type {Highcharts.AlignValue}\n */\n align: 'left',\n /**\n * The vertical alignment of the caption. Can be one of `\"top\"`,\n * `\"middle\"` and `\"bottom\"`. When middle, the caption behaves as\n * floating.\n *\n * @type {Highcharts.VerticalAlignValue}\n */\n verticalAlign: 'bottom'\n },\n /**\n * The plotOptions is a wrapper object for config objects for each series\n * type. The config objects for each series can also be overridden for\n * each series item as given in the series array.\n *\n * Configuration options for the series are given in three levels. Options\n * for all series in a chart are given in the [plotOptions.series](\n * #plotOptions.series) object. Then options for all series of a specific\n * type are given in the plotOptions of that type, for example\n * `plotOptions.line`. Next, options for one single series are given in\n * [the series array](#series).\n */\n plotOptions: {},\n /**\n * HTML labels that can be positioned anywhere in the chart area.\n *\n * This option is deprecated since v7.1.2. Instead, use\n * [annotations](#annotations) that support labels.\n *\n * @deprecated\n * @product highcharts highstock\n */\n labels: {\n /**\n * An HTML label that can be positioned anywhere in the chart area.\n *\n * @deprecated\n * @type {Array<*>}\n * @apioption labels.items\n */\n /**\n * Inner HTML or text for the label.\n *\n * @deprecated\n * @type {string}\n * @apioption labels.items.html\n */\n /**\n * CSS styles for each label. To position the label, use left and top\n * like this:\n * ```js\n * style: {\n * left: '100px',\n * top: '100px'\n * }\n * ```\n *\n * @deprecated\n * @type {Highcharts.CSSObject}\n * @apioption labels.items.style\n */\n /**\n * Shared CSS styles for all labels.\n *\n * @deprecated\n * @type {Highcharts.CSSObject}\n * @default {\"color\": \"#333333\", \"position\": \"absolute\"}\n */\n style: {\n /**\n * @ignore-option\n */\n position: 'absolute',\n /**\n * @ignore-option\n */\n color: '#333333'\n }\n },\n /**\n * The legend is a box containing a symbol and name for each series\n * item or point item in the chart. Each series (or points in case\n * of pie charts) is represented by a symbol and its name in the legend.\n *\n * It is possible to override the symbol creator function and create\n * [custom legend symbols](https://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/highcharts/studies/legend-custom-symbol/).\n *\n * @productdesc {highmaps}\n * A Highmaps legend by default contains one legend item per series, but if\n * a `colorAxis` is defined, the axis will be displayed in the legend.\n * Either as a gradient, or as multiple legend items for `dataClasses`.\n */\n legend: {\n /**\n * The background color of the legend.\n *\n * @see In styled mode, the legend background fill can be applied with\n * the `.highcharts-legend-box` class.\n *\n * @sample {highcharts} highcharts/legend/backgroundcolor/\n * Yellowish background\n * @sample {highstock} stock/legend/align/\n * Various legend options\n * @sample {highmaps} maps/legend/border-background/\n * Border and background options\n *\n * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}\n * @apioption legend.backgroundColor\n */\n /**\n * The width of the drawn border around the legend.\n *\n * @see In styled mode, the legend border stroke width can be applied\n * with the `.highcharts-legend-box` class.\n *\n * @sample {highcharts} highcharts/legend/borderwidth/\n * 2px border width\n * @sample {highstock} stock/legend/align/\n * Various legend options\n * @sample {highmaps} maps/legend/border-background/\n * Border and background options\n *\n * @type {number}\n * @default 0\n * @apioption legend.borderWidth\n */\n /**\n * Enable or disable the legend. There is also a series-specific option,\n * [showInLegend](#plotOptions.series.showInLegend), that can hide the\n * series from the legend. In some series types this is `false` by\n * default, so it must set to `true` in order to show the legend for the\n * series.\n *\n * @sample {highcharts} highcharts/legend/enabled-false/ Legend disabled\n * @sample {highstock} stock/legend/align/ Various legend options\n * @sample {highmaps} maps/legend/enabled-false/ Legend disabled\n *\n * @default {highstock} false\n * @default {highmaps} true\n * @default {gantt} false\n */\n enabled: true,\n /**\n * The horizontal alignment of the legend box within the chart area.\n * Valid values are `left`, `center` and `right`.\n *\n * In the case that the legend is aligned in a corner position, the\n * `layout` option will determine whether to place it above/below\n * or on the side of the plot area.\n *\n * @sample {highcharts} highcharts/legend/align/\n * Legend at the right of the chart\n * @sample {highstock} stock/legend/align/\n * Various legend options\n * @sample {highmaps} maps/legend/alignment/\n * Legend alignment\n *\n * @type {Highcharts.AlignValue}\n * @since 2.0\n */\n align: 'center',\n /**\n * If the [layout](legend.layout) is `horizontal` and the legend items\n * span over two lines or more, whether to align the items into vertical\n * columns. Setting this to `false` makes room for more items, but will\n * look more messy.\n *\n * @since 6.1.0\n */\n alignColumns: true,\n /**\n * When the legend is floating, the plot area ignores it and is allowed\n * to be placed below it.\n *\n * @sample {highcharts} highcharts/legend/floating-false/\n * False by default\n * @sample {highcharts} highcharts/legend/floating-true/\n * True\n * @sample {highmaps} maps/legend/alignment/\n * Floating legend\n *\n * @type {boolean}\n * @default false\n * @since 2.1\n * @apioption legend.floating\n */\n /**\n * The layout of the legend items. Can be one of `horizontal` or\n * `vertical` or `proximate`. When `proximate`, the legend items will be\n * placed as close as possible to the graphs they're representing,\n * except in inverted charts or when the legend position doesn't allow\n * it.\n *\n * @sample {highcharts} highcharts/legend/layout-horizontal/\n * Horizontal by default\n * @sample {highcharts} highcharts/legend/layout-vertical/\n * Vertical\n * @sample highcharts/legend/layout-proximate\n * Labels proximate to the data\n * @sample {highstock} stock/legend/layout-horizontal/\n * Horizontal by default\n * @sample {highmaps} maps/legend/padding-itemmargin/\n * Vertical with data classes\n * @sample {highmaps} maps/legend/layout-vertical/\n * Vertical with color axis gradient\n *\n * @validvalue [\"horizontal\", \"vertical\", \"proximate\"]\n */\n layout: 'horizontal',\n /**\n * In a legend with horizontal layout, the itemDistance defines the\n * pixel distance between each item.\n *\n * @sample {highcharts} highcharts/legend/layout-horizontal/\n * 50px item distance\n * @sample {highstock} highcharts/legend/layout-horizontal/\n * 50px item distance\n *\n * @type {number}\n * @default {highcharts} 20\n * @default {highstock} 20\n * @default {highmaps} 8\n * @since 3.0.3\n * @apioption legend.itemDistance\n */\n /**\n * The pixel bottom margin for each legend item.\n *\n * @sample {highcharts|highstock} highcharts/legend/padding-itemmargin/\n * Padding and item margins demonstrated\n * @sample {highmaps} maps/legend/padding-itemmargin/\n * Padding and item margins demonstrated\n *\n * @type {number}\n * @default 0\n * @since 2.2.0\n * @apioption legend.itemMarginBottom\n */\n /**\n * The pixel top margin for each legend item.\n *\n * @sample {highcharts|highstock} highcharts/legend/padding-itemmargin/\n * Padding and item margins demonstrated\n * @sample {highmaps} maps/legend/padding-itemmargin/\n * Padding and item margins demonstrated\n *\n * @type {number}\n * @default 0\n * @since 2.2.0\n * @apioption legend.itemMarginTop\n */\n /**\n * The width for each legend item. By default the items are laid out\n * successively. In a [horizontal layout](legend.layout), if the items\n * are laid out across two rows or more, they will be vertically aligned\n * depending on the [legend.alignColumns](legend.alignColumns) option.\n *\n * @sample {highcharts} highcharts/legend/itemwidth-default/\n * Undefined by default\n * @sample {highcharts} highcharts/legend/itemwidth-80/\n * 80 for aligned legend items\n *\n * @type {number}\n * @since 2.0\n * @apioption legend.itemWidth\n */\n /**\n * A [format string](https://www.highcharts.com/docs/chart-concepts/labels-and-string-formatting)\n * for each legend label. Available variables relates to properties on\n * the series, or the point in case of pies.\n *\n * @type {string}\n * @default {name}\n * @since 1.3\n * @apioption legend.labelFormat\n */\n /* eslint-disable valid-jsdoc */\n /**\n * Callback function to format each of the series' labels. The `this`\n * keyword refers to the series object, or the point object in case of\n * pie charts. By default the series or point name is printed.\n *\n * @productdesc {highmaps}\n * In Highmaps the context can also be a data class in case of a\n * `colorAxis`.\n *\n * @sample {highcharts} highcharts/legend/labelformatter/\n * Add text\n * @sample {highmaps} maps/legend/labelformatter/\n * Data classes with label formatter\n *\n * @type {Highcharts.FormatterCallbackFunction}\n */\n labelFormatter: function () {\n /** eslint-enable valid-jsdoc */\n return this.name;\n },\n /**\n * Line height for the legend items. Deprecated as of 2.1\\. Instead,\n * the line height for each item can be set using\n * `itemStyle.lineHeight`, and the padding between items using\n * `itemMarginTop` and `itemMarginBottom`.\n *\n * @sample {highcharts} highcharts/legend/lineheight/\n * Setting padding\n *\n * @deprecated\n *\n * @type {number}\n * @default 16\n * @since 2.0\n * @product highcharts gantt\n * @apioption legend.lineHeight\n */\n /**\n * If the plot area sized is calculated automatically and the legend is\n * not floating, the legend margin is the space between the legend and\n * the axis labels or plot area.\n *\n * @sample {highcharts} highcharts/legend/margin-default/\n * 12 pixels by default\n * @sample {highcharts} highcharts/legend/margin-30/\n * 30 pixels\n *\n * @type {number}\n * @default 12\n * @since 2.1\n * @apioption legend.margin\n */\n /**\n * Maximum pixel height for the legend. When the maximum height is\n * extended, navigation will show.\n *\n * @type {number}\n * @since 2.3.0\n * @apioption legend.maxHeight\n */\n /**\n * The color of the drawn border around the legend.\n *\n * @see In styled mode, the legend border stroke can be applied with the\n * `.highcharts-legend-box` class.\n *\n * @sample {highcharts} highcharts/legend/bordercolor/\n * Brown border\n * @sample {highstock} stock/legend/align/\n * Various legend options\n * @sample {highmaps} maps/legend/border-background/\n * Border and background options\n *\n * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}\n */\n borderColor: '#999999',\n /**\n * The border corner radius of the legend.\n *\n * @sample {highcharts} highcharts/legend/borderradius-default/\n * Square by default\n * @sample {highcharts} highcharts/legend/borderradius-round/\n * 5px rounded\n * @sample {highmaps} maps/legend/border-background/\n * Border and background options\n */\n borderRadius: 0,\n /**\n * Options for the paging or navigation appearing when the legend is\n * overflown. Navigation works well on screen, but not in static\n * exported images. One way of working around that is to\n * [increase the chart height in\n * export](https://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/highcharts/legend/navigation-enabled-false/).\n */\n navigation: {\n /**\n * How to animate the pages when navigating up or down. A value of\n * `true` applies the default navigation given in the\n * `chart.animation` option. Additional options can be given as an\n * object containing values for easing and duration.\n *\n * @sample {highcharts} highcharts/legend/navigation/\n * Legend page navigation demonstrated\n * @sample {highstock} highcharts/legend/navigation/\n * Legend page navigation demonstrated\n *\n * @type {boolean|Partial}\n * @default true\n * @since 2.2.4\n * @apioption legend.navigation.animation\n */\n /**\n * The pixel size of the up and down arrows in the legend paging\n * navigation.\n *\n * @sample {highcharts} highcharts/legend/navigation/\n * Legend page navigation demonstrated\n * @sample {highstock} highcharts/legend/navigation/\n * Legend page navigation demonstrated\n *\n * @type {number}\n * @default 12\n * @since 2.2.4\n * @apioption legend.navigation.arrowSize\n */\n /**\n * Whether to enable the legend navigation. In most cases, disabling\n * the navigation results in an unwanted overflow.\n *\n * See also the [adapt chart to legend](\n * https://www.highcharts.com/products/plugin-registry/single/8/Adapt-Chart-To-Legend)\n * plugin for a solution to extend the chart height to make room for\n * the legend, optionally in exported charts only.\n *\n * @type {boolean}\n * @default true\n * @since 4.2.4\n * @apioption legend.navigation.enabled\n */\n /**\n * Text styles for the legend page navigation.\n *\n * @see In styled mode, the navigation items are styled with the\n * `.highcharts-legend-navigation` class.\n *\n * @sample {highcharts} highcharts/legend/navigation/\n * Legend page navigation demonstrated\n * @sample {highstock} highcharts/legend/navigation/\n * Legend page navigation demonstrated\n *\n * @type {Highcharts.CSSObject}\n * @since 2.2.4\n * @apioption legend.navigation.style\n */\n /**\n * The color for the active up or down arrow in the legend page\n * navigation.\n *\n * @see In styled mode, the active arrow be styled with the\n * `.highcharts-legend-nav-active` class.\n *\n * @sample {highcharts} highcharts/legend/navigation/\n * Legend page navigation demonstrated\n * @sample {highstock} highcharts/legend/navigation/\n * Legend page navigation demonstrated\n *\n * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}\n * @since 2.2.4\n */\n activeColor: '#003399',\n /**\n * The color of the inactive up or down arrow in the legend page\n * navigation. .\n *\n * @see In styled mode, the inactive arrow be styled with the\n * `.highcharts-legend-nav-inactive` class.\n *\n * @sample {highcharts} highcharts/legend/navigation/\n * Legend page navigation demonstrated\n * @sample {highstock} highcharts/legend/navigation/\n * Legend page navigation demonstrated\n *\n * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}\n * @since 2.2.4\n */\n inactiveColor: '#cccccc'\n },\n /**\n * The inner padding of the legend box.\n *\n * @sample {highcharts|highstock} highcharts/legend/padding-itemmargin/\n * Padding and item margins demonstrated\n * @sample {highmaps} maps/legend/padding-itemmargin/\n * Padding and item margins demonstrated\n *\n * @type {number}\n * @default 8\n * @since 2.2.0\n * @apioption legend.padding\n */\n /**\n * Whether to reverse the order of the legend items compared to the\n * order of the series or points as defined in the configuration object.\n *\n * @see [yAxis.reversedStacks](#yAxis.reversedStacks),\n * [series.legendIndex](#series.legendIndex)\n *\n * @sample {highcharts} highcharts/legend/reversed/\n * Stacked bar with reversed legend\n *\n * @type {boolean}\n * @default false\n * @since 1.2.5\n * @apioption legend.reversed\n */\n /**\n * Whether to show the symbol on the right side of the text rather than\n * the left side. This is common in Arabic and Hebraic.\n *\n * @sample {highcharts} highcharts/legend/rtl/\n * Symbol to the right\n *\n * @type {boolean}\n * @default false\n * @since 2.2\n * @apioption legend.rtl\n */\n /**\n * CSS styles for the legend area. In the 1.x versions the position\n * of the legend area was determined by CSS. In 2.x, the position is\n * determined by properties like `align`, `verticalAlign`, `x` and `y`,\n * but the styles are still parsed for backwards compatibility.\n *\n * @deprecated\n *\n * @type {Highcharts.CSSObject}\n * @product highcharts highstock\n * @apioption legend.style\n */\n /**\n * CSS styles for each legend item. Only a subset of CSS is supported,\n * notably those options related to text. The default `textOverflow`\n * property makes long texts truncate. Set it to `undefined` to wrap\n * text instead. A `width` property can be added to control the text\n * width.\n *\n * @see In styled mode, the legend items can be styled with the\n * `.highcharts-legend-item` class.\n *\n * @sample {highcharts} highcharts/legend/itemstyle/\n * Bold black text\n * @sample {highmaps} maps/legend/itemstyle/\n * Item text styles\n *\n * @type {Highcharts.CSSObject}\n * @default {\"color\": \"#333333\", \"cursor\": \"pointer\", \"fontSize\": \"12px\", \"fontWeight\": \"bold\", \"textOverflow\": \"ellipsis\"}\n */\n itemStyle: {\n /**\n * @ignore\n */\n color: '#333333',\n /**\n * @ignore\n */\n cursor: 'pointer',\n /**\n * @ignore\n */\n fontSize: '12px',\n /**\n * @ignore\n */\n fontWeight: 'bold',\n /**\n * @ignore\n */\n textOverflow: 'ellipsis'\n },\n /**\n * CSS styles for each legend item in hover mode. Only a subset of\n * CSS is supported, notably those options related to text. Properties\n * are inherited from `style` unless overridden here.\n *\n * @see In styled mode, the hovered legend items can be styled with\n * the `.highcharts-legend-item:hover` pesudo-class.\n *\n * @sample {highcharts} highcharts/legend/itemhoverstyle/\n * Red on hover\n * @sample {highmaps} maps/legend/itemstyle/\n * Item text styles\n *\n * @type {Highcharts.CSSObject}\n * @default {\"color\": \"#000000\"}\n */\n itemHoverStyle: {\n /**\n * @ignore\n */\n color: '#000000'\n },\n /**\n * CSS styles for each legend item when the corresponding series or\n * point is hidden. Only a subset of CSS is supported, notably those\n * options related to text. Properties are inherited from `style`\n * unless overridden here.\n *\n * @see In styled mode, the hidden legend items can be styled with\n * the `.highcharts-legend-item-hidden` class.\n *\n * @sample {highcharts} highcharts/legend/itemhiddenstyle/\n * Darker gray color\n *\n * @type {Highcharts.CSSObject}\n * @default {\"color\": \"#cccccc\"}\n */\n itemHiddenStyle: {\n /**\n * @ignore\n */\n color: '#cccccc'\n },\n /**\n * Whether to apply a drop shadow to the legend. A `backgroundColor`\n * also needs to be applied for this to take effect. The shadow can be\n * an object configuration containing `color`, `offsetX`, `offsetY`,\n * `opacity` and `width`.\n *\n * @sample {highcharts} highcharts/legend/shadow/\n * White background and drop shadow\n * @sample {highstock} stock/legend/align/\n * Various legend options\n * @sample {highmaps} maps/legend/border-background/\n * Border and background options\n *\n * @type {boolean|Highcharts.CSSObject}\n */\n shadow: false,\n /**\n * Default styling for the checkbox next to a legend item when\n * `showCheckbox` is true.\n *\n * @type {Highcharts.CSSObject}\n * @default {\"width\": \"13px\", \"height\": \"13px\", \"position\":\"absolute\"}\n */\n itemCheckboxStyle: {\n /**\n * @ignore\n */\n position: 'absolute',\n /**\n * @ignore\n */\n width: '13px',\n /**\n * @ignore\n */\n height: '13px'\n },\n // itemWidth: undefined,\n /**\n * When this is true, the legend symbol width will be the same as\n * the symbol height, which in turn defaults to the font size of the\n * legend items.\n *\n * @since 5.0.0\n */\n squareSymbol: true,\n /**\n * The pixel height of the symbol for series types that use a rectangle\n * in the legend. Defaults to the font size of legend items.\n *\n * @productdesc {highmaps}\n * In Highmaps, when the symbol is the gradient of a vertical color\n * axis, the height defaults to 200.\n *\n * @sample {highmaps} maps/legend/layout-vertical-sized/\n * Sized vertical gradient\n * @sample {highmaps} maps/legend/padding-itemmargin/\n * No distance between data classes\n *\n * @type {number}\n * @since 3.0.8\n * @apioption legend.symbolHeight\n */\n /**\n * The border radius of the symbol for series types that use a rectangle\n * in the legend. Defaults to half the `symbolHeight`.\n *\n * @sample {highcharts} highcharts/legend/symbolradius/\n * Round symbols\n * @sample {highstock} highcharts/legend/symbolradius/\n * Round symbols\n * @sample {highmaps} highcharts/legend/symbolradius/\n * Round symbols\n *\n * @type {number}\n * @since 3.0.8\n * @apioption legend.symbolRadius\n */\n /**\n * The pixel width of the legend item symbol. When the `squareSymbol`\n * option is set, this defaults to the `symbolHeight`, otherwise 16.\n *\n * @productdesc {highmaps}\n * In Highmaps, when the symbol is the gradient of a horizontal color\n * axis, the width defaults to 200.\n *\n * @sample {highcharts} highcharts/legend/symbolwidth/\n * Greater symbol width and padding\n * @sample {highmaps} maps/legend/padding-itemmargin/\n * Padding and item margins demonstrated\n * @sample {highmaps} maps/legend/layout-vertical-sized/\n * Sized vertical gradient\n *\n * @type {number}\n * @apioption legend.symbolWidth\n */\n /**\n * Whether to [use HTML](https://www.highcharts.com/docs/chart-concepts/labels-and-string-formatting#html)\n * to render the legend item texts.\n *\n * Prior to 4.1.7, when using HTML, [legend.navigation](\n * #legend.navigation) was disabled.\n *\n * @type {boolean}\n * @default false\n * @apioption legend.useHTML\n */\n /**\n * The width of the legend box. If a number is set, it translates to\n * pixels. Since v7.0.2 it allows setting a percent string of the full\n * chart width, for example `40%`.\n *\n * Defaults to the full chart width for legends below or above the\n * chart, half the chart width for legends to the left and right.\n *\n * @sample {highcharts} highcharts/legend/width/\n * Aligned to the plot area\n * @sample {highcharts} highcharts/legend/width-percent/\n * A percent of the chart width\n *\n * @type {number|string}\n * @since 2.0\n * @apioption legend.width\n */\n /**\n * The pixel padding between the legend item symbol and the legend\n * item text.\n *\n * @sample {highcharts} highcharts/legend/symbolpadding/\n * Greater symbol width and padding\n */\n symbolPadding: 5,\n /**\n * The vertical alignment of the legend box. Can be one of `top`,\n * `middle` or `bottom`. Vertical position can be further determined\n * by the `y` option.\n *\n * In the case that the legend is aligned in a corner position, the\n * `layout` option will determine whether to place it above/below\n * or on the side of the plot area.\n *\n * When the [layout](#legend.layout) option is `proximate`, the\n * `verticalAlign` option doesn't apply.\n *\n * @sample {highcharts} highcharts/legend/verticalalign/\n * Legend 100px from the top of the chart\n * @sample {highstock} stock/legend/align/\n * Various legend options\n * @sample {highmaps} maps/legend/alignment/\n * Legend alignment\n *\n * @type {Highcharts.VerticalAlignValue}\n * @since 2.0\n */\n verticalAlign: 'bottom',\n // width: undefined,\n /**\n * The x offset of the legend relative to its horizontal alignment\n * `align` within chart.spacingLeft and chart.spacingRight. Negative\n * x moves it to the left, positive x moves it to the right.\n *\n * @sample {highcharts} highcharts/legend/width/\n * Aligned to the plot area\n *\n * @since 2.0\n */\n x: 0,\n /**\n * The vertical offset of the legend relative to it's vertical alignment\n * `verticalAlign` within chart.spacingTop and chart.spacingBottom.\n * Negative y moves it up, positive y moves it down.\n *\n * @sample {highcharts} highcharts/legend/verticalalign/\n * Legend 100px from the top of the chart\n * @sample {highstock} stock/legend/align/\n * Various legend options\n * @sample {highmaps} maps/legend/alignment/\n * Legend alignment\n *\n * @since 2.0\n */\n y: 0,\n /**\n * A title to be added on top of the legend.\n *\n * @sample {highcharts} highcharts/legend/title/\n * Legend title\n * @sample {highmaps} maps/legend/alignment/\n * Legend with title\n *\n * @since 3.0\n */\n title: {\n /**\n * A text or HTML string for the title.\n *\n * @type {string}\n * @since 3.0\n * @apioption legend.title.text\n */\n /**\n * Generic CSS styles for the legend title.\n *\n * @see In styled mode, the legend title is styled with the\n * `.highcharts-legend-title` class.\n *\n * @type {Highcharts.CSSObject}\n * @default {\"fontWeight\": \"bold\"}\n * @since 3.0\n */\n style: {\n /**\n * @ignore\n */\n fontWeight: 'bold'\n }\n }\n },\n /**\n * The loading options control the appearance of the loading screen\n * that covers the plot area on chart operations. This screen only\n * appears after an explicit call to `chart.showLoading()`. It is a\n * utility for developers to communicate to the end user that something\n * is going on, for example while retrieving new data via an XHR connection.\n * The \"Loading...\" text itself is not part of this configuration\n * object, but part of the `lang` object.\n */\n loading: {\n /**\n * The duration in milliseconds of the fade out effect.\n *\n * @sample highcharts/loading/hideduration/\n * Fade in and out over a second\n *\n * @type {number}\n * @default 100\n * @since 1.2.0\n * @apioption loading.hideDuration\n */\n /**\n * The duration in milliseconds of the fade in effect.\n *\n * @sample highcharts/loading/hideduration/\n * Fade in and out over a second\n *\n * @type {number}\n * @default 100\n * @since 1.2.0\n * @apioption loading.showDuration\n */\n /**\n * CSS styles for the loading label `span`.\n *\n * @see In styled mode, the loading label is styled with the\n * `.highcharts-loading-inner` class.\n *\n * @sample {highcharts|highmaps} highcharts/loading/labelstyle/\n * Vertically centered\n * @sample {highstock} stock/loading/general/\n * Label styles\n *\n * @type {Highcharts.CSSObject}\n * @default {\"fontWeight\": \"bold\", \"position\": \"relative\", \"top\": \"45%\"}\n * @since 1.2.0\n */\n labelStyle: {\n /**\n * @ignore\n */\n fontWeight: 'bold',\n /**\n * @ignore\n */\n position: 'relative',\n /**\n * @ignore\n */\n top: '45%'\n },\n /**\n * CSS styles for the loading screen that covers the plot area.\n *\n * In styled mode, the loading label is styled with the\n * `.highcharts-loading` class.\n *\n * @sample {highcharts|highmaps} highcharts/loading/style/\n * Gray plot area, white text\n * @sample {highstock} stock/loading/general/\n * Gray plot area, white text\n *\n * @type {Highcharts.CSSObject}\n * @default {\"position\": \"absolute\", \"backgroundColor\": \"#ffffff\", \"opacity\": 0.5, \"textAlign\": \"center\"}\n * @since 1.2.0\n */\n style: {\n /**\n * @ignore\n */\n position: 'absolute',\n /**\n * @ignore\n */\n backgroundColor: '#ffffff',\n /**\n * @ignore\n */\n opacity: 0.5,\n /**\n * @ignore\n */\n textAlign: 'center'\n }\n },\n /**\n * Options for the tooltip that appears when the user hovers over a\n * series or point.\n *\n * @declare Highcharts.TooltipOptions\n */\n tooltip: {\n /**\n * The color of the tooltip border. When `undefined`, the border takes\n * the color of the corresponding series or point.\n *\n * @sample {highcharts} highcharts/tooltip/bordercolor-default/\n * Follow series by default\n * @sample {highcharts} highcharts/tooltip/bordercolor-black/\n * Black border\n * @sample {highstock} stock/tooltip/general/\n * Styled tooltip\n * @sample {highmaps} maps/tooltip/background-border/\n * Background and border demo\n *\n * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}\n * @apioption tooltip.borderColor\n */\n /**\n * A CSS class name to apply to the tooltip's container div,\n * allowing unique CSS styling for each chart.\n *\n * @type {string}\n * @apioption tooltip.className\n */\n /**\n * Since 4.1, the crosshair definitions are moved to the Axis object\n * in order for a better separation from the tooltip. See\n * [xAxis.crosshair](#xAxis.crosshair).\n *\n * @sample {highcharts} highcharts/tooltip/crosshairs-x/\n * Enable a crosshair for the x value\n *\n * @deprecated\n *\n * @type {*}\n * @default true\n * @apioption tooltip.crosshairs\n */\n /**\n * Distance from point to tooltip in pixels.\n *\n * @type {number}\n * @default 16\n * @apioption tooltip.distance\n */\n /**\n * Whether the tooltip should follow the mouse as it moves across\n * columns, pie slices and other point types with an extent.\n * By default it behaves this way for pie, polygon, map, sankey\n * and wordcloud series by override in the `plotOptions`\n * for those series types.\n *\n * For touch moves to behave the same way, [followTouchMove](\n * #tooltip.followTouchMove) must be `true` also.\n *\n * @type {boolean}\n * @default {highcharts} false\n * @default {highstock} false\n * @default {highmaps} true\n * @since 3.0\n * @apioption tooltip.followPointer\n */\n /**\n * Whether the tooltip should update as the finger moves on a touch\n * device. If this is `true` and [chart.panning](#chart.panning) is\n * set,`followTouchMove` will take over one-finger touches, so the user\n * needs to use two fingers for zooming and panning.\n *\n * Note the difference to [followPointer](#tooltip.followPointer) that\n * only defines the _position_ of the tooltip. If `followPointer` is\n * false in for example a column series, the tooltip will show above or\n * below the column, but as `followTouchMove` is true, the tooltip will\n * jump from column to column as the user swipes across the plot area.\n *\n * @type {boolean}\n * @default {highcharts} true\n * @default {highstock} true\n * @default {highmaps} false\n * @since 3.0.1\n * @apioption tooltip.followTouchMove\n */\n /**\n * Callback function to format the text of the tooltip from scratch. In\n * case of single or [shared](#tooltip.shared) tooltips, a string should\n * be returned. In case of [split](#tooltip.split) tooltips, it should\n * return an array where the first item is the header, and subsequent\n * items are mapped to the points. Return `false` to disable tooltip for\n * a specific point on series.\n *\n * A subset of HTML is supported. Unless `useHTML` is true, the HTML of\n * the tooltip is parsed and converted to SVG, therefore this isn't a\n * complete HTML renderer. The following HTML tags are supported: `b`,\n * `br`, `em`, `i`, `span`, `strong`. Spans can be styled with a `style`\n * attribute, but only text-related CSS, that is shared with SVG, is\n * handled.\n *\n * The available data in the formatter differ a bit depending on whether\n * the tooltip is shared or split, or belongs to a single point. In a\n * shared/split tooltip, all properties except `x`, which is common for\n * all points, are kept in an array, `this.points`.\n *\n * Available data are:\n *\n * - **this.percentage (not shared) /**\n * **this.points[i].percentage (shared)**:\n * Stacked series and pies only. The point's percentage of the total.\n *\n * - **this.point (not shared) / this.points[i].point (shared)**:\n * The point object. The point name, if defined, is available through\n * `this.point.name`.\n *\n * - **this.points**:\n * In a shared tooltip, this is an array containing all other\n * properties for each point.\n *\n * - **this.series (not shared) / this.points[i].series (shared)**:\n * The series object. The series name is available through\n * `this.series.name`.\n *\n * - **this.total (not shared) / this.points[i].total (shared)**:\n * Stacked series only. The total value at this point's x value.\n *\n * - **this.x**:\n * The x value. This property is the same regardless of the tooltip\n * being shared or not.\n *\n * - **this.y (not shared) / this.points[i].y (shared)**:\n * The y value.\n *\n * @sample {highcharts} highcharts/tooltip/formatter-simple/\n * Simple string formatting\n * @sample {highcharts} highcharts/tooltip/formatter-shared/\n * Formatting with shared tooltip\n * @sample {highcharts|highstock} highcharts/tooltip/formatter-split/\n * Formatting with split tooltip\n * @sample highcharts/tooltip/formatter-conditional-default/\n * Extending default formatter\n * @sample {highstock} stock/tooltip/formatter/\n * Formatting with shared tooltip\n * @sample {highmaps} maps/tooltip/formatter/\n * String formatting\n *\n * @type {Highcharts.TooltipFormatterCallbackFunction}\n * @apioption tooltip.formatter\n */\n /**\n * Callback function to format the text of the tooltip for\n * visible null points.\n * Works analogously to [formatter](#tooltip.formatter).\n *\n * @sample highcharts/plotoptions/series-nullformat\n * Format data label and tooltip for null point.\n *\n * @type {Highcharts.TooltipFormatterCallbackFunction}\n * @apioption tooltip.nullFormatter\n */\n /**\n * The number of milliseconds to wait until the tooltip is hidden when\n * mouse out from a point or chart.\n *\n * @type {number}\n * @default 500\n * @since 3.0\n * @apioption tooltip.hideDelay\n */\n /**\n * Whether to allow the tooltip to render outside the chart's SVG\n * element box. By default (`false`), the tooltip is rendered within the\n * chart's SVG element, which results in the tooltip being aligned\n * inside the chart area. For small charts, this may result in clipping\n * or overlapping. When `true`, a separate SVG element is created and\n * overlaid on the page, allowing the tooltip to be aligned inside the\n * page itself.\n *\n * Defaults to `true` if `chart.scrollablePlotArea` is activated,\n * otherwise `false`.\n *\n * @sample highcharts/tooltip/outside\n * Small charts with tooltips outside\n *\n * @type {boolean|undefined}\n * @default undefined\n * @since 6.1.1\n * @apioption tooltip.outside\n */\n /**\n * A callback function for formatting the HTML output for a single point\n * in the tooltip. Like the `pointFormat` string, but with more\n * flexibility.\n *\n * @type {Highcharts.FormatterCallbackFunction}\n * @since 4.1.0\n * @context Highcharts.Point\n * @apioption tooltip.pointFormatter\n */\n /**\n * A callback function to place the tooltip in a default position. The\n * callback receives three parameters: `labelWidth`, `labelHeight` and\n * `point`, where point contains values for `plotX` and `plotY` telling\n * where the reference point is in the plot area. Add `chart.plotLeft`\n * and `chart.plotTop` to get the full coordinates.\n *\n * Since v7, when [tooltip.split](#tooltip.split) option is enabled,\n * positioner is called for each of the boxes separately, including\n * xAxis header. xAxis header is not a point, instead `point` argument\n * contains info:\n * `{ plotX: Number, plotY: Number, isHeader: Boolean }`\n *\n *\n * The return should be an object containing x and y values, for example\n * `{ x: 100, y: 100 }`.\n *\n * @sample {highcharts} highcharts/tooltip/positioner/\n * A fixed tooltip position\n * @sample {highstock} stock/tooltip/positioner/\n * A fixed tooltip position on top of the chart\n * @sample {highmaps} maps/tooltip/positioner/\n * A fixed tooltip position\n * @sample {highstock} stock/tooltip/split-positioner/\n * Split tooltip with fixed positions\n * @sample {highstock} stock/tooltip/positioner-scrollable-plotarea/\n * Scrollable plot area combined with tooltip positioner\n *\n * @type {Highcharts.TooltipPositionerCallbackFunction}\n * @since 2.2.4\n * @apioption tooltip.positioner\n */\n /**\n * The name of a symbol to use for the border around the tooltip. Can\n * be one of: `\"callout\"`, `\"circle\"`, or `\"square\"`. When\n * [tooltip.split](#tooltip.split)\n * option is enabled, shape is applied to all boxes except header, which\n * is controlled by\n * [tooltip.headerShape](#tooltip.headerShape).\n *\n * Custom callbacks for symbol path generation can also be added to\n * `Highcharts.SVGRenderer.prototype.symbols` the same way as for\n * [series.marker.symbol](plotOptions.line.marker.symbol).\n *\n * @type {Highcharts.TooltipShapeValue}\n * @default callout\n * @since 4.0\n * @apioption tooltip.shape\n */\n /**\n * The name of a symbol to use for the border around the tooltip\n * header. Applies only when [tooltip.split](#tooltip.split) is\n * enabled.\n *\n * Custom callbacks for symbol path generation can also be added to\n * `Highcharts.SVGRenderer.prototype.symbols` the same way as for\n * [series.marker.symbol](plotOptions.line.marker.symbol).\n *\n * @see [tooltip.shape](#tooltip.shape)\n *\n * @sample {highstock} stock/tooltip/split-positioner/\n * Different shapes for header and split boxes\n *\n * @type {Highcharts.TooltipShapeValue}\n * @default callout\n * @validvalue [\"callout\", \"square\"]\n * @since 7.0\n * @apioption tooltip.headerShape\n */\n /**\n * When the tooltip is shared, the entire plot area will capture mouse\n * movement or touch events. Tooltip texts for series types with ordered\n * data (not pie, scatter, flags etc) will be shown in a single bubble.\n * This is recommended for single series charts and for tablet/mobile\n * optimized charts.\n *\n * See also [tooltip.split](#tooltip.split), that is better suited for\n * charts with many series, especially line-type series. The\n * `tooltip.split` option takes precedence over `tooltip.shared`.\n *\n * @sample {highcharts} highcharts/tooltip/shared-false/\n * False by default\n * @sample {highcharts} highcharts/tooltip/shared-true/\n * True\n * @sample {highcharts} highcharts/tooltip/shared-x-crosshair/\n * True with x axis crosshair\n * @sample {highcharts} highcharts/tooltip/shared-true-mixed-types/\n * True with mixed series types\n *\n * @type {boolean}\n * @default false\n * @since 2.1\n * @product highcharts highstock\n * @apioption tooltip.shared\n */\n /**\n * Split the tooltip into one label per series, with the header close\n * to the axis. This is recommended over [shared](#tooltip.shared)\n * tooltips for charts with multiple line series, generally making them\n * easier to read. This option takes precedence over `tooltip.shared`.\n *\n * @productdesc {highstock} In Highstock, tooltips are split by default\n * since v6.0.0. Stock charts typically contain multi-dimension points\n * and multiple panes, making split tooltips the preferred layout over\n * the previous `shared` tooltip.\n *\n * @sample highcharts/tooltip/split/\n * Split tooltip\n * @sample {highcharts|highstock} highcharts/tooltip/formatter-split/\n * Split tooltip and custom formatter callback\n *\n * @type {boolean}\n * @default {highcharts} false\n * @default {highstock} true\n * @since 5.0.0\n * @product highcharts highstock\n * @apioption tooltip.split\n */\n /**\n * Prevents the tooltip from switching or closing, when touched or\n * pointed.\n *\n * @sample highcharts/tooltip/stickoncontact/\n * Tooltip sticks on pointer contact\n *\n * @type {boolean}\n * @since 8.0.1\n * @apioption tooltip.stickOnContact\n */\n /**\n * Use HTML to render the contents of the tooltip instead of SVG. Using\n * HTML allows advanced formatting like tables and images in the\n * tooltip. It is also recommended for rtl languages as it works around\n * rtl bugs in early Firefox.\n *\n * @sample {highcharts|highstock} highcharts/tooltip/footerformat/\n * A table for value alignment\n * @sample {highcharts|highstock} highcharts/tooltip/fullhtml/\n * Full HTML tooltip\n * @sample {highmaps} maps/tooltip/usehtml/\n * Pure HTML tooltip\n *\n * @type {boolean}\n * @default false\n * @since 2.2\n * @apioption tooltip.useHTML\n */\n /**\n * How many decimals to show in each series' y value. This is\n * overridable in each series' tooltip options object. The default is to\n * preserve all decimals.\n *\n * @sample {highcharts|highstock} highcharts/tooltip/valuedecimals/\n * Set decimals, prefix and suffix for the value\n * @sample {highmaps} maps/tooltip/valuedecimals/\n * Set decimals, prefix and suffix for the value\n *\n * @type {number}\n * @since 2.2\n * @apioption tooltip.valueDecimals\n */\n /**\n * A string to prepend to each series' y value. Overridable in each\n * series' tooltip options object.\n *\n * @sample {highcharts|highstock} highcharts/tooltip/valuedecimals/\n * Set decimals, prefix and suffix for the value\n * @sample {highmaps} maps/tooltip/valuedecimals/\n * Set decimals, prefix and suffix for the value\n *\n * @type {string}\n * @since 2.2\n * @apioption tooltip.valuePrefix\n */\n /**\n * A string to append to each series' y value. Overridable in each\n * series' tooltip options object.\n *\n * @sample {highcharts|highstock} highcharts/tooltip/valuedecimals/\n * Set decimals, prefix and suffix for the value\n * @sample {highmaps} maps/tooltip/valuedecimals/\n * Set decimals, prefix and suffix for the value\n *\n * @type {string}\n * @since 2.2\n * @apioption tooltip.valueSuffix\n */\n /**\n * The format for the date in the tooltip header if the X axis is a\n * datetime axis. The default is a best guess based on the smallest\n * distance between points in the chart.\n *\n * @sample {highcharts} highcharts/tooltip/xdateformat/\n * A different format\n *\n * @type {string}\n * @product highcharts highstock gantt\n * @apioption tooltip.xDateFormat\n */\n /**\n * How many decimals to show for the `point.change` value when the\n * `series.compare` option is set. This is overridable in each series'\n * tooltip options object. The default is to preserve all decimals.\n *\n * @type {number}\n * @since 1.0.1\n * @product highstock\n * @apioption tooltip.changeDecimals\n */\n /**\n * Enable or disable the tooltip.\n *\n * @sample {highcharts} highcharts/tooltip/enabled/\n * Disabled\n * @sample {highcharts} highcharts/plotoptions/series-point-events-mouseover/\n * Disable tooltip and show values on chart instead\n */\n enabled: true,\n /**\n * Enable or disable animation of the tooltip.\n *\n * @type {boolean}\n * @default true\n * @since 2.3.0\n */\n animation: svg,\n /**\n * The radius of the rounded border corners.\n *\n * @sample {highcharts} highcharts/tooltip/bordercolor-default/\n * 5px by default\n * @sample {highcharts} highcharts/tooltip/borderradius-0/\n * Square borders\n * @sample {highmaps} maps/tooltip/background-border/\n * Background and border demo\n */\n borderRadius: 3,\n /**\n * For series on a datetime axes, the date format in the tooltip's\n * header will by default be guessed based on the closest data points.\n * This member gives the default string representations used for\n * each unit. For an overview of the replacement codes, see\n * [dateFormat](/class-reference/Highcharts#dateFormat).\n *\n * @see [xAxis.dateTimeLabelFormats](#xAxis.dateTimeLabelFormats)\n *\n * @type {Highcharts.Dictionary}\n * @product highcharts highstock gantt\n */\n dateTimeLabelFormats: {\n /** @internal */\n millisecond: '%A, %b %e, %H:%M:%S.%L',\n /** @internal */\n second: '%A, %b %e, %H:%M:%S',\n /** @internal */\n minute: '%A, %b %e, %H:%M',\n /** @internal */\n hour: '%A, %b %e, %H:%M',\n /** @internal */\n day: '%A, %b %e, %Y',\n /** @internal */\n week: 'Week from %A, %b %e, %Y',\n /** @internal */\n month: '%B %Y',\n /** @internal */\n year: '%Y'\n },\n /**\n * A string to append to the tooltip format.\n *\n * @sample {highcharts} highcharts/tooltip/footerformat/\n * A table for value alignment\n * @sample {highmaps} maps/tooltip/format/\n * Format demo\n *\n * @since 2.2\n */\n footerFormat: '',\n /**\n * Padding inside the tooltip, in pixels.\n *\n * @since 5.0.0\n */\n padding: 8,\n /**\n * Proximity snap for graphs or single points. It defaults to 10 for\n * mouse-powered devices and 25 for touch devices.\n *\n * Note that in most cases the whole plot area captures the mouse\n * movement, and in these cases `tooltip.snap` doesn't make sense. This\n * applies when [stickyTracking](#plotOptions.series.stickyTracking)\n * is `true` (default) and when the tooltip is [shared](#tooltip.shared)\n * or [split](#tooltip.split).\n *\n * @sample {highcharts} highcharts/tooltip/bordercolor-default/\n * 10 px by default\n * @sample {highcharts} highcharts/tooltip/snap-50/\n * 50 px on graph\n *\n * @type {number}\n * @default 10/25\n * @since 1.2.0\n * @product highcharts highstock\n */\n snap: isTouchDevice ? 25 : 10,\n /**\n * The HTML of the tooltip header line. Variables are enclosed by\n * curly brackets. Available variables are `point.key`, `series.name`,\n * `series.color` and other members from the `point` and `series`\n * objects. The `point.key` variable contains the category name, x\n * value or datetime string depending on the type of axis. For datetime\n * axes, the `point.key` date format can be set using\n * `tooltip.xDateFormat`.\n *\n * @sample {highcharts} highcharts/tooltip/footerformat/\n * An HTML table in the tooltip\n * @sample {highstock} highcharts/tooltip/footerformat/\n * An HTML table in the tooltip\n * @sample {highmaps} maps/tooltip/format/\n * Format demo\n *\n * @type {string}\n * @apioption tooltip.headerFormat\n */\n headerFormat: '{point.key}
',\n /**\n * The HTML of the null point's line in the tooltip. Works analogously\n * to [pointFormat](#tooltip.pointFormat).\n *\n * @sample {highcharts} highcharts/plotoptions/series-nullformat\n * Format data label and tooltip for null point.\n *\n * @type {string}\n * @apioption tooltip.nullFormat\n */\n /**\n * The HTML of the point's line in the tooltip. Variables are enclosed\n * by curly brackets. Available variables are `point.x`, `point.y`,\n * `series.name` and `series.color` and other properties on the same\n * form. Furthermore, `point.y` can be extended by the\n * `tooltip.valuePrefix` and `tooltip.valueSuffix` variables. This can\n * also be overridden for each series, which makes it a good hook for\n * displaying units.\n *\n * In styled mode, the dot is colored by a class name rather\n * than the point color.\n *\n * @sample {highcharts} highcharts/tooltip/pointformat/\n * A different point format with value suffix\n * @sample {highmaps} maps/tooltip/format/\n * Format demo\n *\n * @type {string}\n * @since 2.2\n * @apioption tooltip.pointFormat\n */\n pointFormat: '\\u25CF {series.name}: {point.y}
',\n /**\n * The background color or gradient for the tooltip.\n *\n * In styled mode, the stroke width is set in the\n * `.highcharts-tooltip-box` class.\n *\n * @sample {highcharts} highcharts/tooltip/backgroundcolor-solid/\n * Yellowish background\n * @sample {highcharts} highcharts/tooltip/backgroundcolor-gradient/\n * Gradient\n * @sample {highcharts} highcharts/css/tooltip-border-background/\n * Tooltip in styled mode\n * @sample {highstock} stock/tooltip/general/\n * Custom tooltip\n * @sample {highstock} highcharts/css/tooltip-border-background/\n * Tooltip in styled mode\n * @sample {highmaps} maps/tooltip/background-border/\n * Background and border demo\n * @sample {highmaps} highcharts/css/tooltip-border-background/\n * Tooltip in styled mode\n *\n * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}\n */\n backgroundColor: color('#f7f7f7')\n .setOpacity(0.85).get(),\n /**\n * The pixel width of the tooltip border.\n *\n * In styled mode, the stroke width is set in the\n * `.highcharts-tooltip-box` class.\n *\n * @sample {highcharts} highcharts/tooltip/bordercolor-default/\n * 2px by default\n * @sample {highcharts} highcharts/tooltip/borderwidth/\n * No border (shadow only)\n * @sample {highcharts} highcharts/css/tooltip-border-background/\n * Tooltip in styled mode\n * @sample {highstock} stock/tooltip/general/\n * Custom tooltip\n * @sample {highstock} highcharts/css/tooltip-border-background/\n * Tooltip in styled mode\n * @sample {highmaps} maps/tooltip/background-border/\n * Background and border demo\n * @sample {highmaps} highcharts/css/tooltip-border-background/\n * Tooltip in styled mode\n */\n borderWidth: 1,\n /**\n * Whether to apply a drop shadow to the tooltip.\n *\n * @sample {highcharts} highcharts/tooltip/bordercolor-default/\n * True by default\n * @sample {highcharts} highcharts/tooltip/shadow/\n * False\n * @sample {highmaps} maps/tooltip/positioner/\n * Fixed tooltip position, border and shadow disabled\n *\n * @type {boolean|Highcharts.ShadowOptionsObject}\n */\n shadow: true,\n /**\n * CSS styles for the tooltip. The tooltip can also be styled through\n * the CSS class `.highcharts-tooltip`.\n *\n * Note that the default `pointerEvents` style makes the tooltip ignore\n * mouse events, so in order to use clickable tooltips, this value must\n * be set to `auto`.\n *\n * @sample {highcharts} highcharts/tooltip/style/\n * Greater padding, bold text\n *\n * @type {Highcharts.CSSObject}\n */\n style: {\n /** @internal */\n color: '#333333',\n /** @internal */\n cursor: 'default',\n /** @internal */\n fontSize: '12px',\n /** @internal */\n whiteSpace: 'nowrap'\n }\n },\n /**\n * Highchart by default puts a credits label in the lower right corner\n * of the chart. This can be changed using these options.\n */\n credits: {\n /**\n * Credits for map source to be concatenated with conventional credit\n * text. By default this is a format string that collects copyright\n * information from the map if available.\n *\n * @see [mapTextFull](#credits.mapTextFull)\n * @see [text](#credits.text)\n *\n * @type {string}\n * @default \\u00a9
{geojson.copyrightShort}\n * @since 4.2.2\n * @product highmaps\n * @apioption credits.mapText\n */\n /**\n * Detailed credits for map source to be displayed on hover of credits\n * text. By default this is a format string that collects copyright\n * information from the map if available.\n *\n * @see [mapText](#credits.mapText)\n * @see [text](#credits.text)\n *\n * @type {string}\n * @default {geojson.copyright}\n * @since 4.2.2\n * @product highmaps\n * @apioption credits.mapTextFull\n */\n /**\n * Whether to show the credits text.\n *\n * @sample {highcharts} highcharts/credits/enabled-false/\n * Credits disabled\n * @sample {highstock} stock/credits/enabled/\n * Credits disabled\n * @sample {highmaps} maps/credits/enabled-false/\n * Credits disabled\n */\n enabled: true,\n /**\n * The URL for the credits label.\n *\n * @sample {highcharts} highcharts/credits/href/\n * Custom URL and text\n * @sample {highmaps} maps/credits/customized/\n * Custom URL and text\n */\n href: 'https://www.highcharts.com?credits',\n /**\n * Position configuration for the credits label.\n *\n * @sample {highcharts} highcharts/credits/position-left/\n * Left aligned\n * @sample {highcharts} highcharts/credits/position-left/\n * Left aligned\n * @sample {highmaps} maps/credits/customized/\n * Left aligned\n * @sample {highmaps} maps/credits/customized/\n * Left aligned\n *\n * @type {Highcharts.AlignObject}\n * @since 2.1\n */\n position: {\n /** @internal */\n align: 'right',\n /** @internal */\n x: -10,\n /** @internal */\n verticalAlign: 'bottom',\n /** @internal */\n y: -5\n },\n /**\n * CSS styles for the credits label.\n *\n * @see In styled mode, credits styles can be set with the\n * `.highcharts-credits` class.\n *\n * @type {Highcharts.CSSObject}\n */\n style: {\n /** @internal */\n cursor: 'pointer',\n /** @internal */\n color: '#999999',\n /** @internal */\n fontSize: '9px'\n },\n /**\n * The text for the credits label.\n *\n * @productdesc {highmaps}\n * If a map is loaded as GeoJSON, the text defaults to\n * `Highcharts @ {map-credits}`. Otherwise, it defaults to\n * `Highcharts.com`.\n *\n * @sample {highcharts} highcharts/credits/href/\n * Custom URL and text\n * @sample {highmaps} maps/credits/customized/\n * Custom URL and text\n */\n text: 'Highcharts.com'\n }\n };\n /* eslint-disable spaced-comment */\n\n '';\n /**\n * Global `Time` object with default options. Since v6.0.5, time settings can be\n * applied individually for each chart. If no individual settings apply, this\n * `Time` object is shared by all instances.\n *\n * @name Highcharts.time\n * @type {Highcharts.Time}\n */\n H.time = new Time(merge(H.defaultOptions.global, H.defaultOptions.time));\n /**\n * Formats a JavaScript date timestamp (milliseconds since Jan 1st 1970) into a\n * human readable date string. The format is a subset of the formats for PHP's\n * [strftime](https://www.php.net/manual/en/function.strftime.php) function.\n * Additional formats can be given in the {@link Highcharts.dateFormats} hook.\n *\n * Since v6.0.5, all internal dates are formatted through the\n * {@link Highcharts.Chart#time} instance to respect chart-level time settings.\n * The `Highcharts.dateFormat` function only reflects global time settings set\n * with `setOptions`.\n *\n * Supported format keys:\n * - `%a`: Short weekday, like 'Mon'\n * - `%A`: Long weekday, like 'Monday'\n * - `%d`: Two digit day of the month, 01 to 31\n * - `%e`: Day of the month, 1 through 31\n * - `%w`: Day of the week, 0 through 6\n * - `%b`: Short month, like 'Jan'\n * - `%B`: Long month, like 'January'\n * - `%m`: Two digit month number, 01 through 12\n * - `%y`: Two digits year, like 09 for 2009\n * - `%Y`: Four digits year, like 2009\n * - `%H`: Two digits hours in 24h format, 00 through 23\n * - `%k`: Hours in 24h format, 0 through 23\n * - `%I`: Two digits hours in 12h format, 00 through 11\n * - `%l`: Hours in 12h format, 1 through 12\n * - `%M`: Two digits minutes, 00 through 59\n * - `%p`: Upper case AM or PM\n * - `%P`: Lower case AM or PM\n * - `%S`: Two digits seconds, 00 through 59\n * - `%L`: Milliseconds (naming from Ruby)\n *\n * @function Highcharts.dateFormat\n *\n * @param {string} format\n * The desired format where various time representations are prefixed\n * with `%`.\n *\n * @param {number} timestamp\n * The JavaScript timestamp.\n *\n * @param {boolean} [capitalize=false]\n * Upper case first letter in the return.\n *\n * @return {string}\n * The formatted date.\n */\n H.dateFormat = function (format, timestamp, capitalize) {\n return H.time.dateFormat(format, timestamp, capitalize);\n };\n var optionsModule = {\n dateFormat: H.dateFormat,\n defaultOptions: H.defaultOptions,\n time: H.time\n };\n\n return optionsModule;\n });\n _registerModule(_modules, 'Core/Axis/Axis.js', [_modules['Core/Animation/AnimationUtilities.js'], _modules['Core/Color/Color.js'], _modules['Core/Globals.js'], _modules['Core/Axis/Tick.js'], _modules['Core/Utilities.js'], _modules['Core/Options.js']], function (A, Color, H, Tick, U, O) {\n /* *\n *\n * (c) 2010-2020 Torstein Honsi\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n var animObject = A.animObject;\n var addEvent = U.addEvent,\n arrayMax = U.arrayMax,\n arrayMin = U.arrayMin,\n clamp = U.clamp,\n correctFloat = U.correctFloat,\n defined = U.defined,\n destroyObjectProperties = U.destroyObjectProperties,\n error = U.error,\n extend = U.extend,\n fireEvent = U.fireEvent,\n format = U.format,\n getMagnitude = U.getMagnitude,\n isArray = U.isArray,\n isFunction = U.isFunction,\n isNumber = U.isNumber,\n isString = U.isString,\n merge = U.merge,\n normalizeTickInterval = U.normalizeTickInterval,\n objectEach = U.objectEach,\n pick = U.pick,\n relativeLength = U.relativeLength,\n removeEvent = U.removeEvent,\n splat = U.splat,\n syncTimeout = U.syncTimeout;\n /**\n * Options for the path on the Axis to be calculated.\n * @interface Highcharts.AxisPlotLinePathOptionsObject\n */ /**\n * Axis value.\n * @name Highcharts.AxisPlotLinePathOptionsObject#value\n * @type {number|undefined}\n */ /**\n * Line width used for calculation crisp line coordinates. Defaults to 1.\n * @name Highcharts.AxisPlotLinePathOptionsObject#lineWidth\n * @type {number|undefined}\n */ /**\n * If `false`, the function will return null when it falls outside the axis\n * bounds. If `true`, the function will return a path aligned to the plot area\n * sides if it falls outside. If `pass`, it will return a path outside.\n * @name Highcharts.AxisPlotLinePathOptionsObject#force\n * @type {string|boolean|undefined}\n */ /**\n * Used in Highstock. When `true`, plot paths (crosshair, plotLines, gridLines)\n * will be rendered on all axes when defined on the first axis.\n * @name Highcharts.AxisPlotLinePathOptionsObject#acrossPanes\n * @type {boolean|undefined}\n */ /**\n * Use old coordinates (for resizing and rescaling).\n * If not set, defaults to `false`.\n * @name Highcharts.AxisPlotLinePathOptionsObject#old\n * @type {boolean|undefined}\n */ /**\n * If given, return the plot line path of a pixel position on the axis.\n * @name Highcharts.AxisPlotLinePathOptionsObject#translatedValue\n * @type {number|undefined}\n */ /**\n * Used in Polar axes. Reverse the positions for concatenation of polygonal\n * plot bands\n * @name Highcharts.AxisPlotLinePathOptionsObject#reverse\n * @type {boolean|undefined}\n */\n /**\n * Options for crosshairs on axes.\n *\n * @product highstock\n *\n * @typedef {Highcharts.XAxisCrosshairOptions|Highcharts.YAxisCrosshairOptions} Highcharts.AxisCrosshairOptions\n */\n /**\n * @typedef {\"navigator\"|\"pan\"|\"rangeSelectorButton\"|\"rangeSelectorInput\"|\"scrollbar\"|\"traverseUpButton\"|\"zoom\"} Highcharts.AxisExtremesTriggerValue\n */\n /**\n * @callback Highcharts.AxisEventCallbackFunction\n *\n * @param {Highcharts.Axis} this\n */\n /**\n * @callback Highcharts.AxisLabelsFormatterCallbackFunction\n *\n * @param {Highcharts.AxisLabelsFormatterContextObject} this\n *\n * @param {Highcharts.AxisLabelsFormatterContextObject} that\n *\n * @return {string}\n */\n /**\n * @interface Highcharts.AxisLabelsFormatterContextObject\n */ /**\n * @name Highcharts.AxisLabelsFormatterContextObject#axis\n * @type {Highcharts.Axis}\n */ /**\n * @name Highcharts.AxisLabelsFormatterContextObject#chart\n * @type {Highcharts.Chart}\n */ /**\n * @name Highcharts.AxisLabelsFormatterContextObject#isFirst\n * @type {boolean}\n */ /**\n * @name Highcharts.AxisLabelsFormatterContextObject#isLast\n * @type {boolean}\n */ /**\n * @name Highcharts.AxisLabelsFormatterContextObject#pos\n * @type {number}\n */ /**\n * This can be either a numeric value or a category string.\n * @name Highcharts.AxisLabelsFormatterContextObject#value\n * @type {T}\n */\n /**\n * Options for axes.\n *\n * @typedef {Highcharts.XAxisOptions|Highcharts.YAxisOptions|Highcharts.ZAxisOptions} Highcharts.AxisOptions\n */\n /**\n * @callback Highcharts.AxisPointBreakEventCallbackFunction\n *\n * @param {Highcharts.Axis} this\n *\n * @param {Highcharts.AxisPointBreakEventObject} evt\n */\n /**\n * @interface Highcharts.AxisPointBreakEventObject\n */ /**\n * @name Highcharts.AxisPointBreakEventObject#brk\n * @type {Highcharts.Dictionary}\n */ /**\n * @name Highcharts.AxisPointBreakEventObject#point\n * @type {Highcharts.Point}\n */ /**\n * @name Highcharts.AxisPointBreakEventObject#preventDefault\n * @type {Function}\n */ /**\n * @name Highcharts.AxisPointBreakEventObject#target\n * @type {Highcharts.SVGElement}\n */ /**\n * @name Highcharts.AxisPointBreakEventObject#type\n * @type {\"pointBreak\"|\"pointInBreak\"}\n */\n /**\n * @callback Highcharts.AxisSetExtremesEventCallbackFunction\n *\n * @param {Highcharts.Axis} this\n *\n * @param {Highcharts.AxisSetExtremesEventObject} evt\n */\n /**\n * @interface Highcharts.AxisSetExtremesEventObject\n * @extends Highcharts.ExtremesObject\n */ /**\n * @name Highcharts.AxisSetExtremesEventObject#preventDefault\n * @type {Function}\n */ /**\n * @name Highcharts.AxisSetExtremesEventObject#target\n * @type {Highcharts.SVGElement}\n */ /**\n * @name Highcharts.AxisSetExtremesEventObject#trigger\n * @type {Highcharts.AxisExtremesTriggerValue|string}\n */ /**\n * @name Highcharts.AxisSetExtremesEventObject#type\n * @type {\"setExtremes\"}\n */\n /**\n * @callback Highcharts.AxisTickPositionerCallbackFunction\n *\n * @param {Highcharts.Axis} this\n *\n * @return {Highcharts.AxisTickPositionsArray}\n */\n /**\n * @interface Highcharts.AxisTickPositionsArray\n * @augments Array\n */\n /**\n * @typedef {\"high\"|\"low\"|\"middle\"} Highcharts.AxisTitleAlignValue\n */\n /**\n * @typedef {Highcharts.XAxisTitleOptions|Highcharts.YAxisTitleOptions|Highcharts.ZAxisTitleOptions} Highcharts.AxisTitleOptions\n */\n /**\n * @typedef {\"linear\"|\"logarithmic\"|\"datetime\"|\"category\"|\"treegrid\"} Highcharts.AxisTypeValue\n */\n /**\n * The returned object literal from the {@link Highcharts.Axis#getExtremes}\n * function.\n *\n * @interface Highcharts.ExtremesObject\n */ /**\n * The maximum value of the axis' associated series.\n * @name Highcharts.ExtremesObject#dataMax\n * @type {number}\n */ /**\n * The minimum value of the axis' associated series.\n * @name Highcharts.ExtremesObject#dataMin\n * @type {number}\n */ /**\n * The maximum axis value, either automatic or set manually. If the `max` option\n * is not set, `maxPadding` is 0 and `endOnTick` is false, this value will be\n * the same as `dataMax`.\n * @name Highcharts.ExtremesObject#max\n * @type {number}\n */ /**\n * The minimum axis value, either automatic or set manually. If the `min` option\n * is not set, `minPadding` is 0 and `startOnTick` is false, this value will be\n * the same as `dataMin`.\n * @name Highcharts.ExtremesObject#min\n * @type {number}\n */ /**\n * The user defined maximum, either from the `max` option or from a zoom or\n * `setExtremes` action.\n * @name Highcharts.ExtremesObject#userMax\n * @type {number}\n */ /**\n * The user defined minimum, either from the `min` option or from a zoom or\n * `setExtremes` action.\n * @name Highcharts.ExtremesObject#userMin\n * @type {number}\n */\n /**\n * Formatter function for the text of a crosshair label.\n *\n * @callback Highcharts.XAxisCrosshairLabelFormatterCallbackFunction\n *\n * @param {Highcharts.Axis} this\n * Axis context\n *\n * @param {number} value\n * Y value of the data point\n *\n * @return {string}\n */\n var defaultOptions = O.defaultOptions;\n var deg2rad = H.deg2rad;\n /**\n * Create a new axis object. Called internally when instanciating a new chart or\n * adding axes by {@link Highcharts.Chart#addAxis}.\n *\n * A chart can have from 0 axes (pie chart) to multiples. In a normal, single\n * series cartesian chart, there is one X axis and one Y axis.\n *\n * The X axis or axes are referenced by {@link Highcharts.Chart.xAxis}, which is\n * an array of Axis objects. If there is only one axis, it can be referenced\n * through `chart.xAxis[0]`, and multiple axes have increasing indices. The same\n * pattern goes for Y axes.\n *\n * If you need to get the axes from a series object, use the `series.xAxis` and\n * `series.yAxis` properties. These are not arrays, as one series can only be\n * associated to one X and one Y axis.\n *\n * A third way to reference the axis programmatically is by `id`. Add an `id` in\n * the axis configuration options, and get the axis by\n * {@link Highcharts.Chart#get}.\n *\n * Configuration options for the axes are given in options.xAxis and\n * options.yAxis.\n *\n * @class\n * @name Highcharts.Axis\n *\n * @param {Highcharts.Chart} chart\n * The Chart instance to apply the axis on.\n *\n * @param {Highcharts.AxisOptions} userOptions\n * Axis options.\n */\n var Axis = /** @class */ (function () {\n /* *\n *\n * Constructors\n *\n * */\n function Axis(chart, userOptions) {\n this.alternateBands = void 0;\n this.bottom = void 0;\n this.categories = void 0;\n this.chart = void 0;\n this.closestPointRange = void 0;\n this.coll = void 0;\n this.hasNames = void 0;\n this.hasVisibleSeries = void 0;\n this.height = void 0;\n this.isLinked = void 0;\n this.labelEdge = void 0; // @todo\n this.labelFormatter = void 0;\n this.left = void 0;\n this.len = void 0;\n this.max = void 0;\n this.maxLabelLength = void 0;\n this.min = void 0;\n this.minorTickInterval = void 0;\n this.minorTicks = void 0;\n this.minPixelPadding = void 0;\n this.names = void 0;\n this.offset = void 0;\n this.oldMax = void 0;\n this.oldMin = void 0;\n this.options = void 0;\n this.overlap = void 0;\n this.paddedTicks = void 0;\n this.plotLinesAndBands = void 0;\n this.plotLinesAndBandsGroups = void 0;\n this.pointRange = void 0;\n this.pointRangePadding = void 0;\n this.pos = void 0;\n this.positiveValuesOnly = void 0;\n this.right = void 0;\n this.series = void 0;\n this.side = void 0;\n this.tickAmount = void 0;\n this.tickInterval = void 0;\n this.tickmarkOffset = void 0;\n this.tickPositions = void 0;\n this.tickRotCorr = void 0;\n this.ticks = void 0;\n this.top = void 0;\n this.transA = void 0;\n this.transB = void 0;\n this.translationSlope = void 0;\n this.userOptions = void 0;\n this.visible = void 0;\n this.width = void 0;\n this.zoomEnabled = void 0;\n this.init(chart, userOptions);\n }\n /* *\n *\n * Functions\n *\n * */\n /**\n * Overrideable function to initialize the axis.\n *\n * @see {@link Axis}\n *\n * @function Highcharts.Axis#init\n *\n * @param {Highcharts.Chart} chart\n * The Chart instance to apply the axis on.\n *\n * @param {Highcharts.AxisOptions} userOptions\n * Axis options.\n *\n * @fires Highcharts.Axis#event:afterInit\n * @fires Highcharts.Axis#event:init\n */\n Axis.prototype.init = function (chart, userOptions) {\n var isXAxis = userOptions.isX,\n axis = this;\n /**\n * The Chart that the axis belongs to.\n *\n * @name Highcharts.Axis#chart\n * @type {Highcharts.Chart}\n */\n axis.chart = chart;\n /**\n * Whether the axis is horizontal.\n *\n * @name Highcharts.Axis#horiz\n * @type {boolean|undefined}\n */\n axis.horiz = chart.inverted && !axis.isZAxis ? !isXAxis : isXAxis;\n /**\n * Whether the axis is the x-axis.\n *\n * @name Highcharts.Axis#isXAxis\n * @type {boolean|undefined}\n */\n axis.isXAxis = isXAxis;\n /**\n * The collection where the axis belongs, for example `xAxis`, `yAxis`\n * or `colorAxis`. Corresponds to properties on Chart, for example\n * {@link Chart.xAxis}.\n *\n * @name Highcharts.Axis#coll\n * @type {string}\n */\n axis.coll = axis.coll || (isXAxis ? 'xAxis' : 'yAxis');\n fireEvent(this, 'init', { userOptions: userOptions });\n axis.opposite = userOptions.opposite; // needed in setOptions\n /**\n * The side on which the axis is rendered. 0 is top, 1 is right, 2\n * is bottom and 3 is left.\n *\n * @name Highcharts.Axis#side\n * @type {number}\n */\n axis.side = userOptions.side || (axis.horiz ?\n (axis.opposite ? 0 : 2) : // top : bottom\n (axis.opposite ? 1 : 3)); // right : left\n /**\n * Current options for the axis after merge of defaults and user's\n * options.\n *\n * @name Highcharts.Axis#options\n * @type {Highcharts.AxisOptions}\n */\n axis.setOptions(userOptions);\n var options = this.options,\n type = options.type;\n axis.labelFormatter = (options.labels.formatter ||\n // can be overwritten by dynamic format\n axis.defaultLabelFormatter);\n /**\n * User's options for this axis without defaults.\n *\n * @name Highcharts.Axis#userOptions\n * @type {Highcharts.AxisOptions}\n */\n axis.userOptions = userOptions;\n axis.minPixelPadding = 0;\n /**\n * Whether the axis is reversed. Based on the `axis.reversed`,\n * option, but inverted charts have reversed xAxis by default.\n *\n * @name Highcharts.Axis#reversed\n * @type {boolean}\n */\n axis.reversed = options.reversed;\n axis.visible = options.visible !== false;\n axis.zoomEnabled = options.zoomEnabled !== false;\n // Initial categories\n axis.hasNames =\n type === 'category' || options.categories === true;\n /**\n * If categories are present for the axis, names are used instead of\n * numbers for that axis.\n *\n * Since Highcharts 3.0, categories can also be extracted by giving each\n * point a name and setting axis type to `category`. However, if you\n * have multiple series, best practice remains defining the `categories`\n * array.\n *\n * @see [xAxis.categories](/highcharts/xAxis.categories)\n *\n * @name Highcharts.Axis#categories\n * @type {Array}\n * @readonly\n */\n axis.categories = options.categories || axis.hasNames;\n if (!axis.names) { // Preserve on update (#3830)\n axis.names = [];\n axis.names.keys = {};\n }\n // Placeholder for plotlines and plotbands groups\n axis.plotLinesAndBandsGroups = {};\n // Shorthand types\n axis.positiveValuesOnly = !!axis.logarithmic;\n // Flag, if axis is linked to another axis\n axis.isLinked = defined(options.linkedTo);\n /**\n * List of major ticks mapped by postition on axis.\n *\n * @see {@link Highcharts.Tick}\n *\n * @name Highcharts.Axis#ticks\n * @type {Highcharts.Dictionary}\n */\n axis.ticks = {};\n axis.labelEdge = [];\n /**\n * List of minor ticks mapped by position on the axis.\n *\n * @see {@link Highcharts.Tick}\n *\n * @name Highcharts.Axis#minorTicks\n * @type {Highcharts.Dictionary}\n */\n axis.minorTicks = {};\n // List of plotLines/Bands\n axis.plotLinesAndBands = [];\n // Alternate bands\n axis.alternateBands = {};\n // Axis metrics\n axis.len = 0;\n axis.minRange = axis.userMinRange = options.minRange || options.maxZoom;\n axis.range = options.range;\n axis.offset = options.offset || 0;\n /**\n * The maximum value of the axis. In a logarithmic axis, this is the\n * logarithm of the real value, and the real value can be obtained from\n * {@link Axis#getExtremes}.\n *\n * @name Highcharts.Axis#max\n * @type {number|null}\n */\n axis.max = null;\n /**\n * The minimum value of the axis. In a logarithmic axis, this is the\n * logarithm of the real value, and the real value can be obtained from\n * {@link Axis#getExtremes}.\n *\n * @name Highcharts.Axis#min\n * @type {number|null}\n */\n axis.min = null;\n /**\n * The processed crosshair options.\n *\n * @name Highcharts.Axis#crosshair\n * @type {boolean|Highcharts.AxisCrosshairOptions}\n */\n axis.crosshair = pick(options.crosshair, splat(chart.options.tooltip.crosshairs)[isXAxis ? 0 : 1], false);\n var events = axis.options.events;\n // Register. Don't add it again on Axis.update().\n if (chart.axes.indexOf(axis) === -1) { //\n if (isXAxis) { // #2713\n chart.axes.splice(chart.xAxis.length, 0, axis);\n }\n else {\n chart.axes.push(axis);\n }\n chart[axis.coll].push(axis);\n }\n /**\n * All series associated to the axis.\n *\n * @name Highcharts.Axis#series\n * @type {Array}\n */\n axis.series = axis.series || []; // populated by Series\n // Reversed axis\n if (chart.inverted &&\n !axis.isZAxis &&\n isXAxis &&\n typeof axis.reversed === 'undefined') {\n axis.reversed = true;\n }\n axis.labelRotation = axis.options.labels.rotation;\n // register event listeners\n objectEach(events, function (event, eventType) {\n if (isFunction(event)) {\n addEvent(axis, eventType, event);\n }\n });\n fireEvent(this, 'afterInit');\n };\n /**\n * Merge and set options.\n *\n * @private\n * @function Highcharts.Axis#setOptions\n *\n * @param {Highcharts.AxisOptions} userOptions\n * Axis options.\n *\n * @fires Highcharts.Axis#event:afterSetOptions\n */\n Axis.prototype.setOptions = function (userOptions) {\n this.options = merge(Axis.defaultOptions, (this.coll === 'yAxis') && Axis.defaultYAxisOptions, [\n Axis.defaultTopAxisOptions,\n Axis.defaultRightAxisOptions,\n Axis.defaultBottomAxisOptions,\n Axis.defaultLeftAxisOptions\n ][this.side], merge(\n // if set in setOptions (#1053):\n defaultOptions[this.coll], userOptions));\n fireEvent(this, 'afterSetOptions', { userOptions: userOptions });\n };\n /**\n * The default label formatter. The context is a special config object for\n * the label. In apps, use the\n * [labels.formatter](https://api.highcharts.com/highcharts/xAxis.labels.formatter)\n * instead, except when a modification is needed.\n *\n * @function Highcharts.Axis#defaultLabelFormatter\n *\n * @param {Highcharts.AxisLabelsFormatterContextObject|Highcharts.AxisLabelsFormatterContextObject} this\n * Formatter context of axis label.\n *\n * @return {string}\n * The formatted label content.\n */\n Axis.prototype.defaultLabelFormatter = function () {\n var axis = this.axis,\n value = isNumber(this.value) ? this.value : NaN,\n time = axis.chart.time,\n categories = axis.categories,\n dateTimeLabelFormat = this.dateTimeLabelFormat,\n lang = defaultOptions.lang,\n numericSymbols = lang.numericSymbols,\n numSymMagnitude = lang.numericSymbolMagnitude || 1000,\n i = numericSymbols && numericSymbols.length,\n multi,\n ret,\n formatOption = axis.options.labels.format, \n // make sure the same symbol is added for all labels on a linear\n // axis\n numericSymbolDetector = axis.logarithmic ?\n Math.abs(value) :\n axis.tickInterval;\n var chart = this.chart;\n var numberFormatter = chart.numberFormatter;\n if (formatOption) {\n ret = format(formatOption, this, chart);\n }\n else if (categories) {\n ret = \"\" + this.value;\n }\n else if (dateTimeLabelFormat) { // datetime axis\n ret = time.dateFormat(dateTimeLabelFormat, value);\n }\n else if (i && numericSymbolDetector >= 1000) {\n // Decide whether we should add a numeric symbol like k (thousands)\n // or M (millions). If we are to enable this in tooltip or other\n // places as well, we can move this logic to the numberFormatter and\n // enable it by a parameter.\n while (i-- && typeof ret === 'undefined') {\n multi = Math.pow(numSymMagnitude, i + 1);\n if (\n // Only accept a numeric symbol when the distance is more\n // than a full unit. So for example if the symbol is k, we\n // don't accept numbers like 0.5k.\n numericSymbolDetector >= multi &&\n // Accept one decimal before the symbol. Accepts 0.5k but\n // not 0.25k. How does this work with the previous?\n (value * 10) % multi === 0 &&\n numericSymbols[i] !== null &&\n value !== 0) { // #5480\n ret = numberFormatter(value / multi, -1) + numericSymbols[i];\n }\n }\n }\n if (typeof ret === 'undefined') {\n if (Math.abs(value) >= 10000) { // add thousands separators\n ret = numberFormatter(value, -1);\n }\n else { // small numbers\n ret = numberFormatter(value, -1, void 0, ''); // #2466\n }\n }\n return ret;\n };\n /**\n * Get the minimum and maximum for the series of each axis. The function\n * analyzes the axis series and updates `this.dataMin` and `this.dataMax`.\n *\n * @private\n * @function Highcharts.Axis#getSeriesExtremes\n *\n * @fires Highcharts.Axis#event:afterGetSeriesExtremes\n * @fires Highcharts.Axis#event:getSeriesExtremes\n */\n Axis.prototype.getSeriesExtremes = function () {\n var axis = this,\n chart = axis.chart,\n xExtremes;\n fireEvent(this, 'getSeriesExtremes', null, function () {\n axis.hasVisibleSeries = false;\n // Reset properties in case we're redrawing (#3353)\n axis.dataMin = axis.dataMax = axis.threshold = null;\n axis.softThreshold = !axis.isXAxis;\n if (axis.stacking) {\n axis.stacking.buildStacks();\n }\n // loop through this axis' series\n axis.series.forEach(function (series) {\n if (series.visible ||\n !chart.options.chart.ignoreHiddenSeries) {\n var seriesOptions = series.options,\n xData,\n threshold = seriesOptions.threshold,\n seriesDataMin,\n seriesDataMax;\n axis.hasVisibleSeries = true;\n // Validate threshold in logarithmic axes\n if (axis.positiveValuesOnly && threshold <= 0) {\n threshold = null;\n }\n // Get dataMin and dataMax for X axes\n if (axis.isXAxis) {\n xData = series.xData;\n if (xData.length) {\n var isPositive = function (number) { return number > 0; };\n xData = axis.logarithmic ?\n xData.filter(axis.validatePositiveValue) :\n xData;\n xExtremes = series.getXExtremes(xData);\n // If xData contains values which is not numbers,\n // then filter them out. To prevent performance hit,\n // we only do this after we have already found\n // seriesDataMin because in most cases all data is\n // valid. #5234.\n seriesDataMin = xExtremes.min;\n seriesDataMax = xExtremes.max;\n if (!isNumber(seriesDataMin) &&\n // #5010:\n !(seriesDataMin instanceof Date)) {\n xData = xData.filter(isNumber);\n xExtremes = series.getXExtremes(xData);\n // Do it again with valid data\n seriesDataMin = xExtremes.min;\n seriesDataMax = xExtremes.max;\n }\n if (xData.length) {\n axis.dataMin = Math.min(pick(axis.dataMin, seriesDataMin), seriesDataMin);\n axis.dataMax = Math.max(pick(axis.dataMax, seriesDataMax), seriesDataMax);\n }\n }\n // Get dataMin and dataMax for Y axes, as well as handle\n // stacking and processed data\n }\n else {\n // Get this particular series extremes\n var dataExtremes = series.applyExtremes();\n // Get the dataMin and dataMax so far. If percentage is\n // used, the min and max are always 0 and 100. If\n // seriesDataMin and seriesDataMax is null, then series\n // doesn't have active y data, we continue with nulls\n if (isNumber(dataExtremes.dataMin)) {\n seriesDataMin = dataExtremes.dataMin;\n axis.dataMin = Math.min(pick(axis.dataMin, seriesDataMin), seriesDataMin);\n }\n if (isNumber(dataExtremes.dataMax)) {\n seriesDataMax = dataExtremes.dataMax;\n axis.dataMax = Math.max(pick(axis.dataMax, seriesDataMax), seriesDataMax);\n }\n // Adjust to threshold\n if (defined(threshold)) {\n axis.threshold = threshold;\n }\n // If any series has a hard threshold, it takes\n // precedence\n if (!seriesOptions.softThreshold ||\n axis.positiveValuesOnly) {\n axis.softThreshold = false;\n }\n }\n }\n });\n });\n fireEvent(this, 'afterGetSeriesExtremes');\n };\n /**\n * Translate from axis value to pixel position on the chart, or back. Use\n * the `toPixels` and `toValue` functions in applications.\n *\n * @private\n * @function Highcharts.Axis#translate\n *\n * @param {number} val\n * TO-DO: parameter description\n *\n * @param {boolean|null} [backwards]\n * TO-DO: parameter description\n *\n * @param {boolean|null} [cvsCoord]\n * TO-DO: parameter description\n *\n * @param {boolean|null} [old]\n * TO-DO: parameter description\n *\n * @param {boolean} [handleLog]\n * TO-DO: parameter description\n *\n * @param {number} [pointPlacement]\n * TO-DO: parameter description\n *\n * @return {number|undefined}\n */\n Axis.prototype.translate = function (val, backwards, cvsCoord, old, handleLog, pointPlacement) {\n var axis = this.linkedParent || this, // #1417\n sign = 1,\n cvsOffset = 0,\n localA = old ? axis.oldTransA : axis.transA,\n localMin = old ? axis.oldMin : axis.min,\n returnValue = 0,\n minPixelPadding = axis.minPixelPadding,\n doPostTranslate = (axis.isOrdinal ||\n axis.brokenAxis && axis.brokenAxis.hasBreaks ||\n (axis.logarithmic && handleLog)) && axis.lin2val;\n if (!localA) {\n localA = axis.transA;\n }\n // In vertical axes, the canvas coordinates start from 0 at the top like\n // in SVG.\n if (cvsCoord) {\n sign *= -1; // canvas coordinates inverts the value\n cvsOffset = axis.len;\n }\n // Handle reversed axis\n if (axis.reversed) {\n sign *= -1;\n cvsOffset -= sign * (axis.sector || axis.len);\n }\n // From pixels to value\n if (backwards) { // reverse translation\n val = val * sign + cvsOffset;\n val -= minPixelPadding;\n // from chart pixel to value:\n returnValue = val / localA + localMin;\n if (doPostTranslate) { // log and ordinal axes\n returnValue = axis.lin2val(returnValue);\n }\n // From value to pixels\n }\n else {\n if (doPostTranslate) { // log and ordinal axes\n val = axis.val2lin(val);\n }\n returnValue = isNumber(localMin) ?\n (sign * (val - localMin) * localA +\n cvsOffset +\n (sign * minPixelPadding) +\n (isNumber(pointPlacement) ?\n localA * pointPlacement :\n 0)) :\n void 0;\n }\n return returnValue;\n };\n /**\n * Translate a value in terms of axis units into pixels within the chart.\n *\n * @function Highcharts.Axis#toPixels\n *\n * @param {number} value\n * A value in terms of axis units.\n *\n * @param {boolean} paneCoordinates\n * Whether to return the pixel coordinate relative to the chart or just the\n * axis/pane itself.\n *\n * @return {number}\n * Pixel position of the value on the chart or axis.\n */\n Axis.prototype.toPixels = function (value, paneCoordinates) {\n return this.translate(value, false, !this.horiz, null, true) +\n (paneCoordinates ? 0 : this.pos);\n };\n /**\n * Translate a pixel position along the axis to a value in terms of axis\n * units.\n *\n * @function Highcharts.Axis#toValue\n *\n * @param {number} pixel\n * The pixel value coordinate.\n *\n * @param {boolean} [paneCoordinates=false]\n * Whether the input pixel is relative to the chart or just the axis/pane\n * itself.\n *\n * @return {number}\n * The axis value.\n */\n Axis.prototype.toValue = function (pixel, paneCoordinates) {\n return this.translate(pixel - (paneCoordinates ? 0 : this.pos), true, !this.horiz, null, true);\n };\n /**\n * Create the path for a plot line that goes from the given value on\n * this axis, across the plot to the opposite side. Also used internally for\n * grid lines and crosshairs.\n *\n * @function Highcharts.Axis#getPlotLinePath\n *\n * @param {Highcharts.AxisPlotLinePathOptionsObject} options\n * Options for the path.\n *\n * @return {Highcharts.SVGPathArray|null}\n * The SVG path definition for the plot line.\n */\n Axis.prototype.getPlotLinePath = function (options) {\n var axis = this,\n chart = axis.chart,\n axisLeft = axis.left,\n axisTop = axis.top,\n old = options.old,\n value = options.value,\n translatedValue = options.translatedValue,\n lineWidth = options.lineWidth,\n force = options.force,\n x1,\n y1,\n x2,\n y2,\n cHeight = (old && chart.oldChartHeight) || chart.chartHeight,\n cWidth = (old && chart.oldChartWidth) || chart.chartWidth,\n skip,\n transB = axis.transB,\n evt;\n // eslint-disable-next-line valid-jsdoc\n /**\n * Check if x is between a and b. If not, either move to a/b\n * or skip, depending on the force parameter.\n * @private\n */\n function between(x, a, b) {\n if (force !== 'pass' && x < a || x > b) {\n if (force) {\n x = clamp(x, a, b);\n }\n else {\n skip = true;\n }\n }\n return x;\n }\n evt = {\n value: value,\n lineWidth: lineWidth,\n old: old,\n force: force,\n acrossPanes: options.acrossPanes,\n translatedValue: translatedValue\n };\n fireEvent(this, 'getPlotLinePath', evt, function (e) {\n translatedValue = pick(translatedValue, axis.translate(value, null, null, old));\n // Keep the translated value within sane bounds, and avoid Infinity\n // to fail the isNumber test (#7709).\n translatedValue = clamp(translatedValue, -1e5, 1e5);\n x1 = x2 = Math.round(translatedValue + transB);\n y1 = y2 = Math.round(cHeight - translatedValue - transB);\n if (!isNumber(translatedValue)) { // no min or max\n skip = true;\n force = false; // #7175, don't force it when path is invalid\n }\n else if (axis.horiz) {\n y1 = axisTop;\n y2 = cHeight - axis.bottom;\n x1 = x2 = between(x1, axisLeft, axisLeft + axis.width);\n }\n else {\n x1 = axisLeft;\n x2 = cWidth - axis.right;\n y1 = y2 = between(y1, axisTop, axisTop + axis.height);\n }\n e.path = skip && !force ?\n null :\n chart.renderer.crispLine([['M', x1, y1], ['L', x2, y2]], lineWidth || 1);\n });\n return evt.path;\n };\n /**\n * Internal function to et the tick positions of a linear axis to round\n * values like whole tens or every five.\n *\n * @function Highcharts.Axis#getLinearTickPositions\n *\n * @param {number} tickInterval\n * The normalized tick interval.\n *\n * @param {number} min\n * Axis minimum.\n *\n * @param {number} max\n * Axis maximum.\n *\n * @return {Array}\n * An array of axis values where ticks should be placed.\n */\n Axis.prototype.getLinearTickPositions = function (tickInterval, min, max) {\n var pos,\n lastPos,\n roundedMin = correctFloat(Math.floor(min / tickInterval) * tickInterval),\n roundedMax = correctFloat(Math.ceil(max / tickInterval) * tickInterval),\n tickPositions = [],\n precision;\n // When the precision is higher than what we filter out in\n // correctFloat, skip it (#6183).\n if (correctFloat(roundedMin + tickInterval) === roundedMin) {\n precision = 20;\n }\n // For single points, add a tick regardless of the relative position\n // (#2662, #6274)\n if (this.single) {\n return [min];\n }\n // Populate the intermediate values\n pos = roundedMin;\n while (pos <= roundedMax) {\n // Place the tick on the rounded value\n tickPositions.push(pos);\n // Always add the raw tickInterval, not the corrected one.\n pos = correctFloat(pos + tickInterval, precision);\n // If the interval is not big enough in the current min - max range\n // to actually increase the loop variable, we need to break out to\n // prevent endless loop. Issue #619\n if (pos === lastPos) {\n break;\n }\n // Record the last value\n lastPos = pos;\n }\n return tickPositions;\n };\n /**\n * Resolve the new minorTicks/minorTickInterval options into the legacy\n * loosely typed minorTickInterval option.\n *\n * @function Highcharts.Axis#getMinorTickInterval\n *\n * @return {number|\"auto\"|null}\n */\n Axis.prototype.getMinorTickInterval = function () {\n var options = this.options;\n if (options.minorTicks === true) {\n return pick(options.minorTickInterval, 'auto');\n }\n if (options.minorTicks === false) {\n return null;\n }\n return options.minorTickInterval;\n };\n /**\n * Internal function to return the minor tick positions. For logarithmic\n * axes, the same logic as for major ticks is reused.\n *\n * @function Highcharts.Axis#getMinorTickPositions\n *\n * @return {Array}\n * An array of axis values where ticks should be placed.\n */\n Axis.prototype.getMinorTickPositions = function () {\n var axis = this,\n options = axis.options,\n tickPositions = axis.tickPositions,\n minorTickInterval = axis.minorTickInterval,\n minorTickPositions = [],\n pos,\n pointRangePadding = axis.pointRangePadding || 0,\n min = axis.min - pointRangePadding, // #1498\n max = axis.max + pointRangePadding, // #1498\n range = max - min;\n // If minor ticks get too dense, they are hard to read, and may cause\n // long running script. So we don't draw them.\n if (range && range / minorTickInterval < axis.len / 3) { // #3875\n var logarithmic_1 = axis.logarithmic;\n if (logarithmic_1) {\n // For each interval in the major ticks, compute the minor ticks\n // separately.\n this.paddedTicks.forEach(function (_pos, i, paddedTicks) {\n if (i) {\n minorTickPositions.push.apply(minorTickPositions, logarithmic_1.getLogTickPositions(minorTickInterval, paddedTicks[i - 1], paddedTicks[i], true));\n }\n });\n }\n else if (axis.dateTime &&\n this.getMinorTickInterval() === 'auto') { // #1314\n minorTickPositions = minorTickPositions.concat(axis.getTimeTicks(axis.dateTime.normalizeTimeTickInterval(minorTickInterval), min, max, options.startOfWeek));\n }\n else {\n for (pos = min + (tickPositions[0] - min) % minorTickInterval; pos <= max; pos += minorTickInterval) {\n // Very, very, tight grid lines (#5771)\n if (pos === minorTickPositions[0]) {\n break;\n }\n minorTickPositions.push(pos);\n }\n }\n }\n if (minorTickPositions.length !== 0) {\n axis.trimTicks(minorTickPositions); // #3652 #3743 #1498 #6330\n }\n return minorTickPositions;\n };\n /**\n * Adjust the min and max for the minimum range. Keep in mind that the\n * series data is not yet processed, so we don't have information on data\n * cropping and grouping, or updated `axis.pointRange` or\n * `series.pointRange`. The data can't be processed until we have finally\n * established min and max.\n *\n * @private\n * @function Highcharts.Axis#adjustForMinRange\n */\n Axis.prototype.adjustForMinRange = function () {\n var axis = this,\n options = axis.options,\n min = axis.min,\n max = axis.max,\n log = axis.logarithmic,\n zoomOffset,\n spaceAvailable,\n closestDataRange,\n i,\n distance,\n xData,\n loopLength,\n minArgs,\n maxArgs,\n minRange;\n // Set the automatic minimum range based on the closest point distance\n if (axis.isXAxis &&\n typeof axis.minRange === 'undefined' &&\n !log) {\n if (defined(options.min) || defined(options.max)) {\n axis.minRange = null; // don't do this again\n }\n else {\n // Find the closest distance between raw data points, as opposed\n // to closestPointRange that applies to processed points\n // (cropped and grouped)\n axis.series.forEach(function (series) {\n xData = series.xData;\n loopLength = series.xIncrement ? 1 : xData.length - 1;\n for (i = loopLength; i > 0; i--) {\n distance = xData[i] - xData[i - 1];\n if (typeof closestDataRange === 'undefined' ||\n distance < closestDataRange) {\n closestDataRange = distance;\n }\n }\n });\n axis.minRange = Math.min(closestDataRange * 5, axis.dataMax - axis.dataMin);\n }\n }\n // if minRange is exceeded, adjust\n if (max - min < axis.minRange) {\n spaceAvailable =\n axis.dataMax - axis.dataMin >=\n axis.minRange;\n minRange = axis.minRange;\n zoomOffset = (minRange - max + min) / 2;\n // if min and max options have been set, don't go beyond it\n minArgs = [\n min - zoomOffset,\n pick(options.min, min - zoomOffset)\n ];\n // If space is available, stay within the data range\n if (spaceAvailable) {\n minArgs[2] = axis.logarithmic ?\n axis.logarithmic.log2lin(axis.dataMin) :\n axis.dataMin;\n }\n min = arrayMax(minArgs);\n maxArgs = [\n min + minRange,\n pick(options.max, min + minRange)\n ];\n // If space is availabe, stay within the data range\n if (spaceAvailable) {\n maxArgs[2] = log ?\n log.log2lin(axis.dataMax) :\n axis.dataMax;\n }\n max = arrayMin(maxArgs);\n // now if the max is adjusted, adjust the min back\n if (max - min < minRange) {\n minArgs[0] = max - minRange;\n minArgs[1] = pick(options.min, max - minRange);\n min = arrayMax(minArgs);\n }\n }\n // Record modified extremes\n axis.min = min;\n axis.max = max;\n };\n // eslint-disable-next-line valid-jsdoc\n /**\n * Find the closestPointRange across all series.\n *\n * @private\n * @function Highcharts.Axis#getClosest\n */\n Axis.prototype.getClosest = function () {\n var ret;\n if (this.categories) {\n ret = 1;\n }\n else {\n this.series.forEach(function (series) {\n var seriesClosest = series.closestPointRange,\n visible = series.visible ||\n !series.chart.options.chart.ignoreHiddenSeries;\n if (!series.noSharedTooltip &&\n defined(seriesClosest) &&\n visible) {\n ret = defined(ret) ?\n Math.min(ret, seriesClosest) :\n seriesClosest;\n }\n });\n }\n return ret;\n };\n /**\n * When a point name is given and no x, search for the name in the existing\n * categories, or if categories aren't provided, search names or create a\n * new category (#2522).\n * @private\n * @function Highcharts.Axis#nameToX\n *\n * @param {Highcharts.Point} point\n * The point to inspect.\n *\n * @return {number}\n * The X value that the point is given.\n */\n Axis.prototype.nameToX = function (point) {\n var explicitCategories = isArray(this.categories),\n names = explicitCategories ? this.categories : this.names,\n nameX = point.options.x,\n x;\n point.series.requireSorting = false;\n if (!defined(nameX)) {\n nameX = this.options.uniqueNames === false ?\n point.series.autoIncrement() :\n (explicitCategories ?\n names.indexOf(point.name) :\n pick(names.keys[point.name], -1));\n }\n if (nameX === -1) { // Not found in currenct categories\n if (!explicitCategories) {\n x = names.length;\n }\n }\n else {\n x = nameX;\n }\n // Write the last point's name to the names array\n if (typeof x !== 'undefined') {\n this.names[x] = point.name;\n // Backwards mapping is much faster than array searching (#7725)\n this.names.keys[point.name] = x;\n }\n return x;\n };\n /**\n * When changes have been done to series data, update the axis.names.\n *\n * @private\n * @function Highcharts.Axis#updateNames\n */\n Axis.prototype.updateNames = function () {\n var axis = this,\n names = this.names,\n i = names.length;\n if (i > 0) {\n Object.keys(names.keys).forEach(function (key) {\n delete (names.keys)[key];\n });\n names.length = 0;\n this.minRange = this.userMinRange; // Reset\n (this.series || []).forEach(function (series) {\n // Reset incrementer (#5928)\n series.xIncrement = null;\n // When adding a series, points are not yet generated\n if (!series.points || series.isDirtyData) {\n // When we're updating the series with data that is longer\n // than it was, and cropThreshold is passed, we need to make\n // sure that the axis.max is increased _before_ running the\n // premature processData. Otherwise this early iteration of\n // processData will crop the points to axis.max, and the\n // names array will be too short (#5857).\n axis.max = Math.max(axis.max, series.xData.length - 1);\n series.processData();\n series.generatePoints();\n }\n series.data.forEach(function (point, i) {\n var x;\n if (point &&\n point.options &&\n typeof point.name !== 'undefined' // #9562\n ) {\n x = axis.nameToX(point);\n if (typeof x !== 'undefined' && x !== point.x) {\n point.x = x;\n series.xData[i] = x;\n }\n }\n });\n });\n }\n };\n /**\n * Update translation information.\n *\n * @private\n * @function Highcharts.Axis#setAxisTranslation\n *\n * @param {boolean} [saveOld]\n * TO-DO: parameter description\n *\n * @fires Highcharts.Axis#event:afterSetAxisTranslation\n */\n Axis.prototype.setAxisTranslation = function (saveOld) {\n var axis = this,\n range = axis.max - axis.min,\n pointRange = axis.axisPointRange || 0,\n closestPointRange,\n minPointOffset = 0,\n pointRangePadding = 0,\n linkedParent = axis.linkedParent,\n ordinalCorrection,\n hasCategories = !!axis.categories,\n transA = axis.transA,\n isXAxis = axis.isXAxis;\n // Adjust translation for padding. Y axis with categories need to go\n // through the same (#1784).\n if (isXAxis || hasCategories || pointRange) {\n // Get the closest points\n closestPointRange = axis.getClosest();\n if (linkedParent) {\n minPointOffset = linkedParent.minPointOffset;\n pointRangePadding = linkedParent.pointRangePadding;\n }\n else {\n axis.series.forEach(function (series) {\n var seriesPointRange = hasCategories ?\n 1 :\n (isXAxis ?\n pick(series.options.pointRange,\n closestPointRange, 0) :\n (axis.axisPointRange || 0)), // #2806\n pointPlacement = series.options.pointPlacement;\n pointRange = Math.max(pointRange, seriesPointRange);\n if (!axis.single || hasCategories) {\n // TODO: series should internally set x- and y-\n // pointPlacement to simplify this logic.\n var isPointPlacementAxis = series.is('xrange') ? !isXAxis : isXAxis;\n // minPointOffset is the value padding to the left of\n // the axis in order to make room for points with a\n // pointRange, typically columns. When the\n // pointPlacement option is 'between' or 'on', this\n // padding does not apply.\n minPointOffset = Math.max(minPointOffset, isPointPlacementAxis && isString(pointPlacement) ?\n 0 :\n seriesPointRange / 2);\n // Determine the total padding needed to the length of\n // the axis to make room for the pointRange. If the\n // series' pointPlacement is 'on', no padding is added.\n pointRangePadding = Math.max(pointRangePadding, isPointPlacementAxis && pointPlacement === 'on' ?\n 0 :\n seriesPointRange);\n }\n });\n }\n // Record minPointOffset and pointRangePadding\n ordinalCorrection = axis.ordinal && axis.ordinal.slope && closestPointRange ?\n axis.ordinal.slope / closestPointRange :\n 1; // #988, #1853\n axis.minPointOffset = minPointOffset =\n minPointOffset * ordinalCorrection;\n axis.pointRangePadding =\n pointRangePadding = pointRangePadding * ordinalCorrection;\n // pointRange means the width reserved for each point, like in a\n // column chart\n axis.pointRange = Math.min(pointRange, axis.single && hasCategories ? 1 : range);\n // closestPointRange means the closest distance between points. In\n // columns it is mostly equal to pointRange, but in lines pointRange\n // is 0 while closestPointRange is some other value\n if (isXAxis) {\n axis.closestPointRange = closestPointRange;\n }\n }\n // Secondary values\n if (saveOld) {\n axis.oldTransA = transA;\n }\n axis.translationSlope = axis.transA = transA =\n axis.staticScale ||\n axis.len / ((range + pointRangePadding) || 1);\n // Translation addend\n axis.transB = axis.horiz ? axis.left : axis.bottom;\n axis.minPixelPadding = transA * minPointOffset;\n fireEvent(this, 'afterSetAxisTranslation');\n };\n /**\n * @private\n * @function Highcharts.Axis#minFromRange\n *\n * @return {number}\n */\n Axis.prototype.minFromRange = function () {\n var axis = this;\n return axis.max - axis.range;\n };\n /**\n * Set the tick positions to round values and optionally extend the extremes\n * to the nearest tick.\n *\n * @private\n * @function Highcharts.Axis#setTickInterval\n *\n * @param {boolean} secondPass\n * TO-DO: parameter description\n *\n * @fires Highcharts.Axis#event:foundExtremes\n */\n Axis.prototype.setTickInterval = function (secondPass) {\n var axis = this,\n chart = axis.chart,\n log = axis.logarithmic,\n options = axis.options,\n isXAxis = axis.isXAxis,\n isLinked = axis.isLinked,\n maxPadding = options.maxPadding,\n minPadding = options.minPadding,\n length,\n linkedParentExtremes,\n tickIntervalOption = options.tickInterval,\n minTickInterval,\n tickPixelIntervalOption = options.tickPixelInterval,\n categories = axis.categories,\n threshold = isNumber(axis.threshold) ? axis.threshold : null,\n softThreshold = axis.softThreshold,\n thresholdMin,\n thresholdMax,\n hardMin,\n hardMax;\n if (!axis.dateTime && !categories && !isLinked) {\n this.getTickAmount();\n }\n // Min or max set either by zooming/setExtremes or initial options\n hardMin = pick(axis.userMin, options.min);\n hardMax = pick(axis.userMax, options.max);\n // Linked axis gets the extremes from the parent axis\n if (isLinked) {\n axis.linkedParent = chart[axis.coll][options.linkedTo];\n linkedParentExtremes = axis.linkedParent.getExtremes();\n axis.min = pick(linkedParentExtremes.min, linkedParentExtremes.dataMin);\n axis.max = pick(linkedParentExtremes.max, linkedParentExtremes.dataMax);\n if (options.type !== axis.linkedParent.options.type) {\n // Can't link axes of different type\n error(11, 1, chart);\n }\n // Initial min and max from the extreme data values\n }\n else {\n // Adjust to hard threshold\n if (softThreshold && defined(threshold)) {\n if (axis.dataMin >= threshold) {\n thresholdMin = threshold;\n minPadding = 0;\n }\n else if (axis.dataMax <= threshold) {\n thresholdMax = threshold;\n maxPadding = 0;\n }\n }\n axis.min = pick(hardMin, thresholdMin, axis.dataMin);\n axis.max = pick(hardMax, thresholdMax, axis.dataMax);\n }\n if (log) {\n if (axis.positiveValuesOnly &&\n !secondPass &&\n Math.min(axis.min, pick(axis.dataMin, axis.min)) <= 0) { // #978\n // Can't plot negative values on log axis\n error(10, 1, chart);\n }\n // The correctFloat cures #934, float errors on full tens. But it\n // was too aggressive for #4360 because of conversion back to lin,\n // therefore use precision 15.\n axis.min = correctFloat(log.log2lin(axis.min), 16);\n axis.max = correctFloat(log.log2lin(axis.max), 16);\n }\n // handle zoomed range\n if (axis.range && defined(axis.max)) {\n // #618, #6773:\n axis.userMin = axis.min = hardMin =\n Math.max(axis.dataMin, axis.minFromRange());\n axis.userMax = hardMax = axis.max;\n axis.range = null; // don't use it when running setExtremes\n }\n // Hook for Highstock Scroller. Consider combining with beforePadding.\n fireEvent(axis, 'foundExtremes');\n // Hook for adjusting this.min and this.max. Used by bubble series.\n if (axis.beforePadding) {\n axis.beforePadding();\n }\n // adjust min and max for the minimum range\n axis.adjustForMinRange();\n // Pad the values to get clear of the chart's edges. To avoid\n // tickInterval taking the padding into account, we do this after\n // computing tick interval (#1337).\n if (!categories &&\n !axis.axisPointRange &&\n !(axis.stacking && axis.stacking.usePercentage) &&\n !isLinked &&\n defined(axis.min) &&\n defined(axis.max)) {\n length = axis.max - axis.min;\n if (length) {\n if (!defined(hardMin) && minPadding) {\n axis.min -= length * minPadding;\n }\n if (!defined(hardMax) && maxPadding) {\n axis.max += length * maxPadding;\n }\n }\n }\n // Handle options for floor, ceiling, softMin and softMax (#6359)\n if (!isNumber(axis.userMin)) {\n if (isNumber(options.softMin) && options.softMin < axis.min) {\n axis.min = hardMin = options.softMin; // #6894\n }\n if (isNumber(options.floor)) {\n axis.min = Math.max(axis.min, options.floor);\n }\n }\n if (!isNumber(axis.userMax)) {\n if (isNumber(options.softMax) && options.softMax > axis.max) {\n axis.max = hardMax = options.softMax; // #6894\n }\n if (isNumber(options.ceiling)) {\n axis.max = Math.min(axis.max, options.ceiling);\n }\n }\n // When the threshold is soft, adjust the extreme value only if the data\n // extreme and the padded extreme land on either side of the threshold.\n // For example, a series of [0, 1, 2, 3] would make the yAxis add a tick\n // for -1 because of the default minPadding and startOnTick options.\n // This is prevented by the softThreshold option.\n if (softThreshold && defined(axis.dataMin)) {\n threshold = threshold || 0;\n if (!defined(hardMin) &&\n axis.min < threshold &&\n axis.dataMin >= threshold) {\n axis.min = axis.options.minRange ?\n Math.min(threshold, axis.max -\n axis.minRange) :\n threshold;\n }\n else if (!defined(hardMax) &&\n axis.max > threshold &&\n axis.dataMax <= threshold) {\n axis.max = axis.options.minRange ?\n Math.max(threshold, axis.min +\n axis.minRange) :\n threshold;\n }\n }\n // get tickInterval\n if (axis.min === axis.max ||\n typeof axis.min === 'undefined' ||\n typeof axis.max === 'undefined') {\n axis.tickInterval = 1;\n }\n else if (isLinked &&\n !tickIntervalOption &&\n tickPixelIntervalOption ===\n axis.linkedParent.options.tickPixelInterval) {\n axis.tickInterval = tickIntervalOption =\n axis.linkedParent.tickInterval;\n }\n else {\n axis.tickInterval = pick(tickIntervalOption, this.tickAmount ?\n ((axis.max - axis.min) /\n Math.max(this.tickAmount - 1, 1)) :\n void 0, \n // For categoried axis, 1 is default, for linear axis use\n // tickPix\n categories ?\n 1 :\n // don't let it be more than the data range\n (axis.max - axis.min) *\n tickPixelIntervalOption /\n Math.max(axis.len, tickPixelIntervalOption));\n }\n // Now we're finished detecting min and max, crop and group series data.\n // This is in turn needed in order to find tick positions in ordinal\n // axes.\n if (isXAxis && !secondPass) {\n axis.series.forEach(function (series) {\n series.processData(axis.min !== axis.oldMin || axis.max !== axis.oldMax);\n });\n }\n // set the translation factor used in translate function\n axis.setAxisTranslation(true);\n // hook for ordinal axes and radial axes\n fireEvent(this, 'initialAxisTranslation');\n // In column-like charts, don't cramp in more ticks than there are\n // points (#1943, #4184)\n if (axis.pointRange && !tickIntervalOption) {\n axis.tickInterval = Math.max(axis.pointRange, axis.tickInterval);\n }\n // Before normalizing the tick interval, handle minimum tick interval.\n // This applies only if tickInterval is not defined.\n minTickInterval = pick(options.minTickInterval, \n // In datetime axes, don't go below the data interval, except when\n // there are scatter-like series involved (#13369).\n axis.dateTime &&\n !axis.series.some(function (s) { return s.noSharedTooltip; }) ?\n axis.closestPointRange : 0);\n if (!tickIntervalOption && axis.tickInterval < minTickInterval) {\n axis.tickInterval = minTickInterval;\n }\n // for linear axes, get magnitude and normalize the interval\n if (!axis.dateTime && !axis.logarithmic && !tickIntervalOption) {\n axis.tickInterval = normalizeTickInterval(axis.tickInterval, void 0, getMagnitude(axis.tickInterval), pick(options.allowDecimals, \n // If the tick interval is greather than 0.5, avoid\n // decimals, as linear axes are often used to render\n // discrete values. #3363. If a tick amount is set, allow\n // decimals by default, as it increases the chances for a\n // good fit.\n axis.tickInterval < 0.5 || this.tickAmount !== void 0), !!this.tickAmount);\n }\n // Prevent ticks from getting so close that we can't draw the labels\n if (!this.tickAmount) {\n axis.tickInterval = axis.unsquish();\n }\n this.setTickPositions();\n };\n /**\n * Now we have computed the normalized tickInterval, get the tick positions.\n *\n * @private\n * @function Highcharts.Axis#setTickPositions\n *\n * @fires Highcharts.Axis#event:afterSetTickPositions\n */\n Axis.prototype.setTickPositions = function () {\n var axis = this,\n options = this.options,\n tickPositions,\n tickPositionsOption = options.tickPositions,\n minorTickIntervalOption = this.getMinorTickInterval(),\n tickPositioner = options.tickPositioner,\n hasVerticalPanning = this.hasVerticalPanning(),\n isColorAxis = this.coll === 'colorAxis',\n startOnTick = (isColorAxis || !hasVerticalPanning) && options.startOnTick,\n endOnTick = (isColorAxis || !hasVerticalPanning) && options.endOnTick;\n // Set the tickmarkOffset\n this.tickmarkOffset = (this.categories &&\n options.tickmarkPlacement === 'between' &&\n this.tickInterval === 1) ? 0.5 : 0; // #3202\n // get minorTickInterval\n this.minorTickInterval =\n minorTickIntervalOption === 'auto' &&\n this.tickInterval ?\n this.tickInterval / 5 :\n minorTickIntervalOption;\n // When there is only one point, or all points have the same value on\n // this axis, then min and max are equal and tickPositions.length is 0\n // or 1. In this case, add some padding in order to center the point,\n // but leave it with one tick. #1337.\n this.single =\n this.min === this.max &&\n defined(this.min) &&\n !this.tickAmount &&\n (\n // Data is on integer (#6563)\n parseInt(this.min, 10) === this.min ||\n // Between integers and decimals are not allowed (#6274)\n options.allowDecimals !== false);\n /**\n * Contains the current positions that are laid out on the axis. The\n * positions are numbers in terms of axis values. In a category axis\n * they are integers, in a datetime axis they are also integers, but\n * designating milliseconds.\n *\n * This property is read only - for modifying the tick positions, use\n * the `tickPositioner` callback or [axis.tickPositions(\n * https://api.highcharts.com/highcharts/xAxis.tickPositions) option\n * instead.\n *\n * @name Highcharts.Axis#tickPositions\n * @type {Highcharts.AxisTickPositionsArray|undefined}\n */\n this.tickPositions =\n // Find the tick positions. Work on a copy (#1565)\n tickPositions =\n (tickPositionsOption && tickPositionsOption.slice());\n if (!tickPositions) {\n // Too many ticks (#6405). Create a friendly warning and provide two\n // ticks so at least we can show the data series.\n if ((!axis.ordinal || !axis.ordinal.positions) &&\n ((this.max - this.min) /\n this.tickInterval >\n Math.max(2 * this.len, 200))) {\n tickPositions = [this.min, this.max];\n error(19, false, this.chart);\n }\n else if (axis.dateTime) {\n tickPositions = axis.getTimeTicks(axis.dateTime.normalizeTimeTickInterval(this.tickInterval, options.units), this.min, this.max, options.startOfWeek, axis.ordinal && axis.ordinal.positions, this.closestPointRange, true);\n }\n else if (axis.logarithmic) {\n tickPositions = axis.logarithmic.getLogTickPositions(this.tickInterval, this.min, this.max);\n }\n else {\n tickPositions = this.getLinearTickPositions(this.tickInterval, this.min, this.max);\n }\n // Too dense ticks, keep only the first and last (#4477)\n if (tickPositions.length > this.len) {\n tickPositions = [tickPositions[0], tickPositions.pop()];\n // Reduce doubled value (#7339)\n if (tickPositions[0] === tickPositions[1]) {\n tickPositions.length = 1;\n }\n }\n this.tickPositions = tickPositions;\n // Run the tick positioner callback, that allows modifying auto tick\n // positions.\n if (tickPositioner) {\n tickPositioner = tickPositioner.apply(axis, [this.min, this.max]);\n if (tickPositioner) {\n this.tickPositions = tickPositions = tickPositioner;\n }\n }\n }\n // Reset min/max or remove extremes based on start/end on tick\n this.paddedTicks = tickPositions.slice(0); // Used for logarithmic minor\n this.trimTicks(tickPositions, startOnTick, endOnTick);\n if (!this.isLinked) {\n // Substract half a unit (#2619, #2846, #2515, #3390),\n // but not in case of multiple ticks (#6897)\n if (this.single &&\n tickPositions.length < 2 &&\n !this.categories &&\n !this.series.some(function (s) {\n return (s.is('heatmap') && s.options.pointPlacement === 'between');\n })) {\n this.min -= 0.5;\n this.max += 0.5;\n }\n if (!tickPositionsOption && !tickPositioner) {\n this.adjustTickAmount();\n }\n }\n fireEvent(this, 'afterSetTickPositions');\n };\n /**\n * Handle startOnTick and endOnTick by either adapting to padding min/max or\n * rounded min/max. Also handle single data points.\n *\n * @private\n * @function Highcharts.Axis#trimTicks\n *\n * @param {Array} tickPositions\n * TO-DO: parameter description\n *\n * @param {boolean} [startOnTick]\n * TO-DO: parameter description\n *\n * @param {boolean} [endOnTick]\n * TO-DO: parameter description\n */\n Axis.prototype.trimTicks = function (tickPositions, startOnTick, endOnTick) {\n var roundedMin = tickPositions[0],\n roundedMax = tickPositions[tickPositions.length - 1],\n minPointOffset = (!this.isOrdinal && this.minPointOffset) || 0; // (#12716)\n fireEvent(this, 'trimTicks');\n if (!this.isLinked) {\n if (startOnTick && roundedMin !== -Infinity) { // #6502\n this.min = roundedMin;\n }\n else {\n while (this.min - minPointOffset > tickPositions[0]) {\n tickPositions.shift();\n }\n }\n if (endOnTick) {\n this.max = roundedMax;\n }\n else {\n while (this.max + minPointOffset <\n tickPositions[tickPositions.length - 1]) {\n tickPositions.pop();\n }\n }\n // If no tick are left, set one tick in the middle (#3195)\n if (tickPositions.length === 0 &&\n defined(roundedMin) &&\n !this.options.tickPositions) {\n tickPositions.push((roundedMax + roundedMin) / 2);\n }\n }\n };\n /**\n * Check if there are multiple axes in the same pane.\n *\n * @private\n * @function Highcharts.Axis#alignToOthers\n *\n * @return {boolean|undefined}\n * True if there are other axes.\n */\n Axis.prototype.alignToOthers = function () {\n var axis = this,\n others = // Whether there is another axis to pair with this one\n {},\n hasOther,\n options = axis.options;\n if (\n // Only if alignTicks is true\n this.chart.options.chart.alignTicks !== false &&\n options.alignTicks !== false &&\n // Disabled when startOnTick or endOnTick are false (#7604)\n options.startOnTick !== false &&\n options.endOnTick !== false &&\n // Don't try to align ticks on a log axis, they are not evenly\n // spaced (#6021)\n !axis.logarithmic) {\n this.chart[this.coll].forEach(function (axis) {\n var otherOptions = axis.options, horiz = axis.horiz, key = [\n horiz ? otherOptions.left : otherOptions.top,\n otherOptions.width,\n otherOptions.height,\n otherOptions.pane\n ].join(',');\n if (axis.series.length) { // #4442\n if (others[key]) {\n hasOther = true; // #4201\n }\n else {\n others[key] = 1;\n }\n }\n });\n }\n return hasOther;\n };\n /**\n * Find the max ticks of either the x and y axis collection, and record it\n * in `this.tickAmount`.\n *\n * @private\n * @function Highcharts.Axis#getTickAmount\n */\n Axis.prototype.getTickAmount = function () {\n var axis = this,\n options = this.options,\n tickAmount = options.tickAmount,\n tickPixelInterval = options.tickPixelInterval;\n if (!defined(options.tickInterval) &&\n !tickAmount && this.len < tickPixelInterval &&\n !this.isRadial &&\n !axis.logarithmic &&\n options.startOnTick &&\n options.endOnTick) {\n tickAmount = 2;\n }\n if (!tickAmount && this.alignToOthers()) {\n // Add 1 because 4 tick intervals require 5 ticks (including first\n // and last)\n tickAmount = Math.ceil(this.len / tickPixelInterval) + 1;\n }\n // For tick amounts of 2 and 3, compute five ticks and remove the\n // intermediate ones. This prevents the axis from adding ticks that are\n // too far away from the data extremes.\n if (tickAmount < 4) {\n this.finalTickAmt = tickAmount;\n tickAmount = 5;\n }\n this.tickAmount = tickAmount;\n };\n /**\n * When using multiple axes, adjust the number of ticks to match the highest\n * number of ticks in that group.\n *\n * @private\n * @function Highcharts.Axis#adjustTickAmount\n */\n Axis.prototype.adjustTickAmount = function () {\n var axis = this,\n axisOptions = axis.options,\n tickInterval = axis.tickInterval,\n tickPositions = axis.tickPositions,\n tickAmount = axis.tickAmount,\n finalTickAmt = axis.finalTickAmt,\n currentTickAmount = tickPositions && tickPositions.length,\n threshold = pick(axis.threshold,\n axis.softThreshold ? 0 : null),\n min,\n len,\n i;\n if (axis.hasData()) {\n if (currentTickAmount < tickAmount) {\n min = axis.min;\n while (tickPositions.length < tickAmount) {\n // Extend evenly for both sides unless we're on the\n // threshold (#3965)\n if (tickPositions.length % 2 ||\n min === threshold) {\n // to the end\n tickPositions.push(correctFloat(tickPositions[tickPositions.length - 1] +\n tickInterval));\n }\n else {\n // to the start\n tickPositions.unshift(correctFloat(tickPositions[0] - tickInterval));\n }\n }\n axis.transA *= (currentTickAmount - 1) / (tickAmount - 1);\n // Do not crop when ticks are not extremes (#9841)\n axis.min = axisOptions.startOnTick ?\n tickPositions[0] :\n Math.min(axis.min, tickPositions[0]);\n axis.max = axisOptions.endOnTick ?\n tickPositions[tickPositions.length - 1] :\n Math.max(axis.max, tickPositions[tickPositions.length - 1]);\n // We have too many ticks, run second pass to try to reduce ticks\n }\n else if (currentTickAmount > tickAmount) {\n axis.tickInterval *= 2;\n axis.setTickPositions();\n }\n // The finalTickAmt property is set in getTickAmount\n if (defined(finalTickAmt)) {\n i = len = tickPositions.length;\n while (i--) {\n if (\n // Remove every other tick\n (finalTickAmt === 3 && i % 2 === 1) ||\n // Remove all but first and last\n (finalTickAmt <= 2 && i > 0 && i < len - 1)) {\n tickPositions.splice(i, 1);\n }\n }\n axis.finalTickAmt = void 0;\n }\n }\n };\n /**\n * Set the scale based on data min and max, user set min and max or options.\n *\n * @private\n * @function Highcharts.Axis#setScale\n *\n * @fires Highcharts.Axis#event:afterSetScale\n */\n Axis.prototype.setScale = function () {\n var axis = this,\n isDirtyAxisLength,\n isDirtyData = false,\n isXAxisDirty = false;\n axis.series.forEach(function (series) {\n var _a;\n isDirtyData = isDirtyData || series.isDirtyData || series.isDirty;\n // When x axis is dirty, we need new data extremes for y as\n // well:\n isXAxisDirty = isXAxisDirty || ((_a = series.xAxis) === null || _a === void 0 ? void 0 : _a.isDirty) || false;\n });\n axis.oldMin = axis.min;\n axis.oldMax = axis.max;\n axis.oldAxisLength = axis.len;\n // set the new axisLength\n axis.setAxisSize();\n isDirtyAxisLength = axis.len !== axis.oldAxisLength;\n // do we really need to go through all this?\n if (isDirtyAxisLength ||\n isDirtyData ||\n isXAxisDirty ||\n axis.isLinked ||\n axis.forceRedraw ||\n axis.userMin !== axis.oldUserMin ||\n axis.userMax !== axis.oldUserMax ||\n axis.alignToOthers()) {\n if (axis.stacking) {\n axis.stacking.resetStacks();\n }\n axis.forceRedraw = false;\n // get data extremes if needed\n axis.getSeriesExtremes();\n // get fixed positions based on tickInterval\n axis.setTickInterval();\n // record old values to decide whether a rescale is necessary later\n // on (#540)\n axis.oldUserMin = axis.userMin;\n axis.oldUserMax = axis.userMax;\n // Mark as dirty if it is not already set to dirty and extremes have\n // changed. #595.\n if (!axis.isDirty) {\n axis.isDirty =\n isDirtyAxisLength ||\n axis.min !== axis.oldMin ||\n axis.max !== axis.oldMax;\n }\n }\n else if (axis.stacking) {\n axis.stacking.cleanStacks();\n }\n // Recalculate panning state object, when the data\n // has changed. It is required when vertical panning is enabled.\n if (isDirtyData && axis.panningState) {\n axis.panningState.isDirty = true;\n }\n fireEvent(this, 'afterSetScale');\n };\n /**\n * Set the minimum and maximum of the axes after render time. If the\n * `startOnTick` and `endOnTick` options are true, the minimum and maximum\n * values are rounded off to the nearest tick. To prevent this, these\n * options can be set to false before calling setExtremes. Also, setExtremes\n * will not allow a range lower than the `minRange` option, which by default\n * is the range of five points.\n *\n * @sample highcharts/members/axis-setextremes/\n * Set extremes from a button\n * @sample highcharts/members/axis-setextremes-datetime/\n * Set extremes on a datetime axis\n * @sample highcharts/members/axis-setextremes-off-ticks/\n * Set extremes off ticks\n * @sample stock/members/axis-setextremes/\n * Set extremes in Highstock\n * @sample maps/members/axis-setextremes/\n * Set extremes in Highmaps\n *\n * @function Highcharts.Axis#setExtremes\n *\n * @param {number} [newMin]\n * The new minimum value.\n *\n * @param {number} [newMax]\n * The new maximum value.\n *\n * @param {boolean} [redraw=true]\n * Whether to redraw the chart or wait for an explicit call to\n * {@link Highcharts.Chart#redraw}\n *\n * @param {boolean|Partial} [animation=true]\n * Enable or modify animations.\n *\n * @param {*} [eventArguments]\n * Arguments to be accessed in event handler.\n *\n * @fires Highcharts.Axis#event:setExtremes\n */\n Axis.prototype.setExtremes = function (newMin, newMax, redraw, animation, eventArguments) {\n var axis = this,\n chart = axis.chart;\n redraw = pick(redraw, true); // defaults to true\n axis.series.forEach(function (serie) {\n delete serie.kdTree;\n });\n // Extend the arguments with min and max\n eventArguments = extend(eventArguments, {\n min: newMin,\n max: newMax\n });\n // Fire the event\n fireEvent(axis, 'setExtremes', eventArguments, function () {\n axis.userMin = newMin;\n axis.userMax = newMax;\n axis.eventArgs = eventArguments;\n if (redraw) {\n chart.redraw(animation);\n }\n });\n };\n /**\n * Overridable method for zooming chart. Pulled out in a separate method to\n * allow overriding in stock charts.\n * @private\n * @function Highcharts.Axis#zoom\n *\n * @param {number} newMin\n * TO-DO: parameter description\n *\n * @param {number} newMax\n * TO-DO: parameter description\n *\n * @return {boolean}\n */\n Axis.prototype.zoom = function (newMin, newMax) {\n var axis = this,\n dataMin = this.dataMin,\n dataMax = this.dataMax,\n options = this.options,\n min = Math.min(dataMin,\n pick(options.min,\n dataMin)),\n max = Math.max(dataMax,\n pick(options.max,\n dataMax)),\n evt = {\n newMin: newMin,\n newMax: newMax\n };\n fireEvent(this, 'zoom', evt, function (e) {\n // Use e.newMin and e.newMax - event handlers may have altered them\n var newMin = e.newMin,\n newMax = e.newMax;\n if (newMin !== axis.min || newMax !== axis.max) { // #5790\n // Prevent pinch zooming out of range. Check for defined is for\n // #1946. #1734.\n if (!axis.allowZoomOutside) {\n // #6014, sometimes newMax will be smaller than min (or\n // newMin will be larger than max).\n if (defined(dataMin)) {\n if (newMin < min) {\n newMin = min;\n }\n if (newMin > max) {\n newMin = max;\n }\n }\n if (defined(dataMax)) {\n if (newMax < min) {\n newMax = min;\n }\n if (newMax > max) {\n newMax = max;\n }\n }\n }\n // In full view, displaying the reset zoom button is not\n // required\n axis.displayBtn = (typeof newMin !== 'undefined' ||\n typeof newMax !== 'undefined');\n // Do it\n axis.setExtremes(newMin, newMax, false, void 0, { trigger: 'zoom' });\n }\n e.zoomed = true;\n });\n return evt.zoomed;\n };\n /**\n * Update the axis metrics.\n *\n * @private\n * @function Highcharts.Axis#setAxisSize\n */\n Axis.prototype.setAxisSize = function () {\n var chart = this.chart,\n options = this.options, \n // [top, right, bottom, left]\n offsets = options.offsets || [0, 0, 0, 0],\n horiz = this.horiz, \n // Check for percentage based input values. Rounding fixes problems\n // with column overflow and plot line filtering (#4898, #4899)\n width = this.width = Math.round(relativeLength(pick(options.width,\n chart.plotWidth - offsets[3] + offsets[1]),\n chart.plotWidth)),\n height = this.height = Math.round(relativeLength(pick(options.height,\n chart.plotHeight - offsets[0] + offsets[2]),\n chart.plotHeight)),\n top = this.top = Math.round(relativeLength(pick(options.top,\n chart.plotTop + offsets[0]),\n chart.plotHeight,\n chart.plotTop)),\n left = this.left = Math.round(relativeLength(pick(options.left,\n chart.plotLeft + offsets[3]),\n chart.plotWidth,\n chart.plotLeft));\n // Expose basic values to use in Series object and navigator\n this.bottom = chart.chartHeight - height - top;\n this.right = chart.chartWidth - width - left;\n // Direction agnostic properties\n this.len = Math.max(horiz ? width : height, 0); // Math.max fixes #905\n this.pos = horiz ? left : top; // distance from SVG origin\n };\n /**\n * Get the current extremes for the axis.\n *\n * @sample highcharts/members/axis-getextremes/\n * Report extremes by click on a button\n * @sample maps/members/axis-getextremes/\n * Get extremes in Highmaps\n *\n * @function Highcharts.Axis#getExtremes\n *\n * @return {Highcharts.ExtremesObject}\n * An object containing extremes information.\n */\n Axis.prototype.getExtremes = function () {\n var axis = this;\n var log = axis.logarithmic;\n return {\n min: log ?\n correctFloat(log.lin2log(axis.min)) :\n axis.min,\n max: log ?\n correctFloat(log.lin2log(axis.max)) :\n axis.max,\n dataMin: axis.dataMin,\n dataMax: axis.dataMax,\n userMin: axis.userMin,\n userMax: axis.userMax\n };\n };\n /**\n * Get the zero plane either based on zero or on the min or max value.\n * Used in bar and area plots.\n *\n * @function Highcharts.Axis#getThreshold\n *\n * @param {number} threshold\n * The threshold in axis values.\n *\n * @return {number|undefined}\n * The translated threshold position in terms of pixels, and corrected to\n * stay within the axis bounds.\n */\n Axis.prototype.getThreshold = function (threshold) {\n var axis = this,\n log = axis.logarithmic,\n realMin = log ? log.lin2log(axis.min) : axis.min,\n realMax = log ? log.lin2log(axis.max) : axis.max;\n if (threshold === null || threshold === -Infinity) {\n threshold = realMin;\n }\n else if (threshold === Infinity) {\n threshold = realMax;\n }\n else if (realMin > threshold) {\n threshold = realMin;\n }\n else if (realMax < threshold) {\n threshold = realMax;\n }\n return axis.translate(threshold, 0, 1, 0, 1);\n };\n /**\n * Compute auto alignment for the axis label based on which side the axis is\n * on and the given rotation for the label.\n *\n * @private\n * @function Highcharts.Axis#autoLabelAlign\n *\n * @param {number} rotation\n * The rotation in degrees as set by either the `rotation` or `autoRotation`\n * options.\n *\n * @return {Highcharts.AlignValue}\n * Can be `\"center\"`, `\"left\"` or `\"right\"`.\n */\n Axis.prototype.autoLabelAlign = function (rotation) {\n var angle = (pick(rotation, 0) - (this.side * 90) + 720) % 360,\n evt = { align: 'center' };\n fireEvent(this, 'autoLabelAlign', evt, function (e) {\n if (angle > 15 && angle < 165) {\n e.align = 'right';\n }\n else if (angle > 195 && angle < 345) {\n e.align = 'left';\n }\n });\n return evt.align;\n };\n /**\n * Get the tick length and width for the axis based on axis options.\n * @private\n * @function Highcharts.Axis#tickSize\n *\n * @param {string} [prefix]\n * 'tick' or 'minorTick'\n *\n * @return {Array|undefined}\n * An array of tickLength and tickWidth\n */\n Axis.prototype.tickSize = function (prefix) {\n var options = this.options, tickLength = options[prefix === 'tick' ? 'tickLength' : 'minorTickLength'], tickWidth = pick(options[prefix === 'tick' ? 'tickWidth' : 'minorTickWidth'], \n // Default to 1 on linear and datetime X axes\n prefix === 'tick' && this.isXAxis && !this.categories ? 1 : 0), e, tickSize;\n if (tickWidth && tickLength) {\n // Negate the length\n if (options[prefix + 'Position'] === 'inside') {\n tickLength = -tickLength;\n }\n tickSize = [tickLength, tickWidth];\n }\n e = { tickSize: tickSize };\n fireEvent(this, 'afterTickSize', e);\n return e.tickSize;\n };\n /**\n * Return the size of the labels.\n *\n * @private\n * @function Highcharts.Axis#labelMetrics\n *\n * @return {Highcharts.FontMetricsObject}\n */\n Axis.prototype.labelMetrics = function () {\n var index = this.tickPositions && this.tickPositions[0] || 0;\n return this.chart.renderer.fontMetrics(this.options.labels.style &&\n this.options.labels.style.fontSize, this.ticks[index] && this.ticks[index].label);\n };\n /**\n * Prevent the ticks from getting so close we can't draw the labels. On a\n * horizontal axis, this is handled by rotating the labels, removing ticks\n * and adding ellipsis. On a vertical axis remove ticks and add ellipsis.\n *\n * @private\n * @function Highcharts.Axis#unsquish\n *\n * @return {number}\n */\n Axis.prototype.unsquish = function () {\n var labelOptions = this.options.labels,\n horiz = this.horiz,\n tickInterval = this.tickInterval,\n newTickInterval = tickInterval,\n slotSize = this.len / (((this.categories ? 1 : 0) +\n this.max -\n this.min) /\n tickInterval),\n rotation,\n rotationOption = labelOptions.rotation,\n labelMetrics = this.labelMetrics(),\n step,\n bestScore = Number.MAX_VALUE,\n autoRotation,\n range = this.max - this.min, \n // Return the multiple of tickInterval that is needed to avoid\n // collision\n getStep = function (spaceNeeded) {\n var step = spaceNeeded / (slotSize || 1);\n step = step > 1 ? Math.ceil(step) : 1;\n // Guard for very small or negative angles (#9835)\n if (step * tickInterval > range &&\n spaceNeeded !== Infinity &&\n slotSize !== Infinity &&\n range) {\n step = Math.ceil(range / tickInterval);\n }\n return correctFloat(step * tickInterval);\n };\n if (horiz) {\n autoRotation = !labelOptions.staggerLines &&\n !labelOptions.step &&\n ( // #3971\n defined(rotationOption) ?\n [rotationOption] :\n slotSize < pick(labelOptions.autoRotationLimit, 80) && labelOptions.autoRotation);\n if (autoRotation) {\n // Loop over the given autoRotation options, and determine\n // which gives the best score. The best score is that with\n // the lowest number of steps and a rotation closest\n // to horizontal.\n autoRotation.forEach(function (rot) {\n var score;\n if (rot === rotationOption ||\n (rot && rot >= -90 && rot <= 90)) { // #3891\n step = getStep(Math.abs(labelMetrics.h / Math.sin(deg2rad * rot)));\n score = step + Math.abs(rot / 360);\n if (score < bestScore) {\n bestScore = score;\n rotation = rot;\n newTickInterval = step;\n }\n }\n });\n }\n }\n else if (!labelOptions.step) { // #4411\n newTickInterval = getStep(labelMetrics.h);\n }\n this.autoRotation = autoRotation;\n this.labelRotation = pick(rotation, rotationOption);\n return newTickInterval;\n };\n /**\n * Get the general slot width for labels/categories on this axis. This may\n * change between the pre-render (from Axis.getOffset) and the final tick\n * rendering and placement.\n *\n * @private\n * @function Highcharts.Axis#getSlotWidth\n *\n * @param {Highcharts.Tick} [tick] Optionally, calculate the slot width\n * basing on tick label. It is used in highcharts-3d module, where the slots\n * has different widths depending on perspective angles.\n *\n * @return {number}\n * The pixel width allocated to each axis label.\n */\n Axis.prototype.getSlotWidth = function (tick) {\n var _a;\n // #5086, #1580, #1931\n var chart = this.chart,\n horiz = this.horiz,\n labelOptions = this.options.labels,\n slotCount = Math.max(this.tickPositions.length - (this.categories ? 0 : 1), 1),\n marginLeft = chart.margin[3];\n // Used by grid axis\n if (tick && isNumber(tick.slotWidth)) { // #13221, can be 0\n return tick.slotWidth;\n }\n if (horiz &&\n labelOptions &&\n (labelOptions.step || 0) < 2) {\n if (labelOptions.rotation) { // #4415\n return 0;\n }\n return ((this.staggerLines || 1) * this.len) / slotCount;\n }\n if (!horiz) {\n // #7028\n var cssWidth = (_a = labelOptions === null || labelOptions === void 0 ? void 0 : labelOptions.style) === null || _a === void 0 ? void 0 : _a.width;\n if (cssWidth !== void 0) {\n return parseInt(cssWidth, 10);\n }\n if (marginLeft) {\n return marginLeft - chart.spacing[3];\n }\n }\n // Last resort, a fraction of the available size\n return chart.chartWidth * 0.33;\n };\n /**\n * Render the axis labels and determine whether ellipsis or rotation need to\n * be applied.\n *\n * @private\n * @function Highcharts.Axis#renderUnsquish\n */\n Axis.prototype.renderUnsquish = function () {\n var chart = this.chart,\n renderer = chart.renderer,\n tickPositions = this.tickPositions,\n ticks = this.ticks,\n labelOptions = this.options.labels,\n labelStyleOptions = (labelOptions && labelOptions.style || {}),\n horiz = this.horiz,\n slotWidth = this.getSlotWidth(),\n innerWidth = Math.max(1,\n Math.round(slotWidth - 2 * (labelOptions.padding || 5))),\n attr = {},\n labelMetrics = this.labelMetrics(),\n textOverflowOption = (labelOptions.style &&\n labelOptions.style.textOverflow),\n commonWidth,\n commonTextOverflow,\n maxLabelLength = 0,\n label,\n i,\n pos;\n // Set rotation option unless it is \"auto\", like in gauges\n if (!isString(labelOptions.rotation)) {\n // #4443:\n attr.rotation = labelOptions.rotation || 0;\n }\n // Get the longest label length\n tickPositions.forEach(function (tick) {\n tick = ticks[tick];\n // Replace label - sorting animation\n if (tick.movedLabel) {\n tick.replaceMovedLabel();\n }\n if (tick &&\n tick.label &&\n tick.label.textPxLength > maxLabelLength) {\n maxLabelLength = tick.label.textPxLength;\n }\n });\n this.maxLabelLength = maxLabelLength;\n // Handle auto rotation on horizontal axis\n if (this.autoRotation) {\n // Apply rotation only if the label is too wide for the slot, and\n // the label is wider than its height.\n if (maxLabelLength > innerWidth &&\n maxLabelLength > labelMetrics.h) {\n attr.rotation = this.labelRotation;\n }\n else {\n this.labelRotation = 0;\n }\n // Handle word-wrap or ellipsis on vertical axis\n }\n else if (slotWidth) {\n // For word-wrap or ellipsis\n commonWidth = innerWidth;\n if (!textOverflowOption) {\n commonTextOverflow = 'clip';\n // On vertical axis, only allow word wrap if there is room\n // for more lines.\n i = tickPositions.length;\n while (!horiz && i--) {\n pos = tickPositions[i];\n label = ticks[pos].label;\n if (label) {\n // Reset ellipsis in order to get the correct\n // bounding box (#4070)\n if (label.styles &&\n label.styles.textOverflow === 'ellipsis') {\n label.css({ textOverflow: 'clip' });\n // Set the correct width in order to read\n // the bounding box height (#4678, #5034)\n }\n else if (label.textPxLength > slotWidth) {\n label.css({ width: slotWidth + 'px' });\n }\n if (label.getBBox().height > (this.len / tickPositions.length -\n (labelMetrics.h - labelMetrics.f))) {\n label.specificTextOverflow = 'ellipsis';\n }\n }\n }\n }\n }\n // Add ellipsis if the label length is significantly longer than ideal\n if (attr.rotation) {\n commonWidth = (maxLabelLength > chart.chartHeight * 0.5 ?\n chart.chartHeight * 0.33 :\n maxLabelLength);\n if (!textOverflowOption) {\n commonTextOverflow = 'ellipsis';\n }\n }\n // Set the explicit or automatic label alignment\n this.labelAlign = labelOptions.align ||\n this.autoLabelAlign(this.labelRotation);\n if (this.labelAlign) {\n attr.align = this.labelAlign;\n }\n // Apply general and specific CSS\n tickPositions.forEach(function (pos) {\n var tick = ticks[pos],\n label = tick && tick.label,\n widthOption = labelStyleOptions.width,\n css = {};\n if (label) {\n // This needs to go before the CSS in old IE (#4502)\n label.attr(attr);\n if (tick.shortenLabel) {\n tick.shortenLabel();\n }\n else if (commonWidth &&\n !widthOption &&\n // Setting width in this case messes with the bounding box\n // (#7975)\n labelStyleOptions.whiteSpace !== 'nowrap' &&\n (\n // Speed optimizing, #7656\n commonWidth < label.textPxLength ||\n // Resetting CSS, #4928\n label.element.tagName === 'SPAN')) {\n css.width = commonWidth + 'px';\n if (!textOverflowOption) {\n css.textOverflow = (label.specificTextOverflow ||\n commonTextOverflow);\n }\n label.css(css);\n // Reset previously shortened label (#8210)\n }\n else if (label.styles &&\n label.styles.width &&\n !css.width &&\n !widthOption) {\n label.css({ width: null });\n }\n delete label.specificTextOverflow;\n tick.rotation = attr.rotation;\n }\n }, this);\n // Note: Why is this not part of getLabelPosition?\n this.tickRotCorr = renderer.rotCorr(labelMetrics.b, this.labelRotation || 0, this.side !== 0);\n };\n /**\n * Return true if the axis has associated data.\n *\n * @function Highcharts.Axis#hasData\n *\n * @return {boolean}\n * True if the axis has associated visible series and those series have\n * either valid data points or explicit `min` and `max` settings.\n */\n Axis.prototype.hasData = function () {\n return this.series.some(function (s) {\n return s.hasData();\n }) ||\n (this.options.showEmpty &&\n defined(this.min) &&\n defined(this.max));\n };\n /**\n * Adds the title defined in axis.options.title.\n *\n * @function Highcharts.Axis#addTitle\n *\n * @param {boolean} [display]\n * Whether or not to display the title.\n */\n Axis.prototype.addTitle = function (display) {\n var axis = this,\n renderer = axis.chart.renderer,\n horiz = axis.horiz,\n opposite = axis.opposite,\n options = axis.options,\n axisTitleOptions = options.title,\n textAlign,\n styledMode = axis.chart.styledMode;\n if (!axis.axisTitle) {\n textAlign = axisTitleOptions.textAlign;\n if (!textAlign) {\n textAlign = (horiz ? {\n low: 'left',\n middle: 'center',\n high: 'right'\n } : {\n low: opposite ? 'right' : 'left',\n middle: 'center',\n high: opposite ? 'left' : 'right'\n })[axisTitleOptions.align];\n }\n axis.axisTitle = renderer\n .text(axisTitleOptions.text, 0, 0, axisTitleOptions.useHTML)\n .attr({\n zIndex: 7,\n rotation: axisTitleOptions.rotation || 0,\n align: textAlign\n })\n .addClass('highcharts-axis-title');\n // #7814, don't mutate style option\n if (!styledMode) {\n axis.axisTitle.css(merge(axisTitleOptions.style));\n }\n axis.axisTitle.add(axis.axisGroup);\n axis.axisTitle.isNew = true;\n }\n // Max width defaults to the length of the axis\n if (!styledMode &&\n !axisTitleOptions.style.width &&\n !axis.isRadial) {\n axis.axisTitle.css({\n width: axis.len + 'px'\n });\n }\n // hide or show the title depending on whether showEmpty is set\n axis.axisTitle[display ? 'show' : 'hide'](display);\n };\n /**\n * Generates a tick for initial positioning.\n *\n * @private\n * @function Highcharts.Axis#generateTick\n *\n * @param {number} pos\n * The tick position in axis values.\n *\n * @param {number} [i]\n * The index of the tick in {@link Axis.tickPositions}.\n */\n Axis.prototype.generateTick = function (pos) {\n var axis = this;\n var ticks = axis.ticks;\n if (!ticks[pos]) {\n ticks[pos] = new Tick(axis, pos);\n }\n else {\n ticks[pos].addLabel(); // update labels depending on tick interval\n }\n };\n /**\n * Render the tick labels to a preliminary position to get their sizes\n *\n * @private\n * @function Highcharts.Axis#getOffset\n *\n * @fires Highcharts.Axis#event:afterGetOffset\n */\n Axis.prototype.getOffset = function () {\n var axis = this,\n chart = axis.chart,\n renderer = chart.renderer,\n options = axis.options,\n tickPositions = axis.tickPositions,\n ticks = axis.ticks,\n horiz = axis.horiz,\n side = axis.side,\n invertedSide = chart.inverted &&\n !axis.isZAxis ? [1, 0, 3, 2][side] : side,\n hasData,\n showAxis,\n titleOffset = 0,\n titleOffsetOption,\n titleMargin = 0,\n axisTitleOptions = options.title,\n labelOptions = options.labels,\n labelOffset = 0, // reset\n labelOffsetPadded,\n axisOffset = chart.axisOffset,\n clipOffset = chart.clipOffset,\n clip,\n directionFactor = [-1, 1, 1, -1][side],\n className = options.className,\n axisParent = axis.axisParent, // Used in color axis\n lineHeightCorrection;\n // For reuse in Axis.render\n hasData = axis.hasData();\n axis.showAxis = showAxis = hasData || pick(options.showEmpty, true);\n // Set/reset staggerLines\n axis.staggerLines = axis.horiz && labelOptions.staggerLines;\n // Create the axisGroup and gridGroup elements on first iteration\n if (!axis.axisGroup) {\n axis.gridGroup = renderer.g('grid')\n .attr({ zIndex: options.gridZIndex || 1 })\n .addClass('highcharts-' + this.coll.toLowerCase() + '-grid ' +\n (className || ''))\n .add(axisParent);\n axis.axisGroup = renderer.g('axis')\n .attr({ zIndex: options.zIndex || 2 })\n .addClass('highcharts-' + this.coll.toLowerCase() + ' ' +\n (className || ''))\n .add(axisParent);\n axis.labelGroup = renderer.g('axis-labels')\n .attr({ zIndex: labelOptions.zIndex || 7 })\n .addClass('highcharts-' + axis.coll.toLowerCase() + '-labels ' +\n (className || ''))\n .add(axisParent);\n }\n if (hasData || axis.isLinked) {\n // Generate ticks\n tickPositions.forEach(function (pos, i) {\n // i is not used here, but may be used in overrides\n axis.generateTick(pos, i);\n });\n axis.renderUnsquish();\n // Left side must be align: right and right side must\n // have align: left for labels\n axis.reserveSpaceDefault = (side === 0 ||\n side === 2 ||\n { 1: 'left', 3: 'right' }[side] === axis.labelAlign);\n if (pick(labelOptions.reserveSpace, axis.labelAlign === 'center' ? true : null, axis.reserveSpaceDefault)) {\n tickPositions.forEach(function (pos) {\n // get the highest offset\n labelOffset = Math.max(ticks[pos].getLabelSize(), labelOffset);\n });\n }\n if (axis.staggerLines) {\n labelOffset *= axis.staggerLines;\n }\n axis.labelOffset = labelOffset * (axis.opposite ? -1 : 1);\n }\n else { // doesn't have data\n objectEach(ticks, function (tick, n) {\n tick.destroy();\n delete ticks[n];\n });\n }\n if (axisTitleOptions &&\n axisTitleOptions.text &&\n axisTitleOptions.enabled !== false) {\n axis.addTitle(showAxis);\n if (showAxis && axisTitleOptions.reserveSpace !== false) {\n axis.titleOffset = titleOffset =\n axis.axisTitle.getBBox()[horiz ? 'height' : 'width'];\n titleOffsetOption = axisTitleOptions.offset;\n titleMargin = defined(titleOffsetOption) ?\n 0 :\n pick(axisTitleOptions.margin, horiz ? 5 : 10);\n }\n }\n // Render the axis line\n axis.renderLine();\n // handle automatic or user set offset\n axis.offset = directionFactor * pick(options.offset, axisOffset[side] ? axisOffset[side] + (options.margin || 0) : 0);\n axis.tickRotCorr = axis.tickRotCorr || { x: 0, y: 0 }; // polar\n if (side === 0) {\n lineHeightCorrection = -axis.labelMetrics().h;\n }\n else if (side === 2) {\n lineHeightCorrection = axis.tickRotCorr.y;\n }\n else {\n lineHeightCorrection = 0;\n }\n // Find the padded label offset\n labelOffsetPadded = Math.abs(labelOffset) + titleMargin;\n if (labelOffset) {\n labelOffsetPadded -= lineHeightCorrection;\n labelOffsetPadded += directionFactor * (horiz ?\n pick(labelOptions.y, axis.tickRotCorr.y + directionFactor * 8) :\n labelOptions.x);\n }\n axis.axisTitleMargin = pick(titleOffsetOption, labelOffsetPadded);\n if (axis.getMaxLabelDimensions) {\n axis.maxLabelDimensions = axis.getMaxLabelDimensions(ticks, tickPositions);\n }\n // Due to GridAxis.tickSize, tickSize should be calculated after ticks\n // has rendered.\n var tickSize = this.tickSize('tick');\n axisOffset[side] = Math.max(axisOffset[side], axis.axisTitleMargin + titleOffset +\n directionFactor * axis.offset, labelOffsetPadded, // #3027\n tickPositions && tickPositions.length && tickSize ?\n tickSize[0] + directionFactor * axis.offset :\n 0 // #4866\n );\n // Decide the clipping needed to keep the graph inside\n // the plot area and axis lines\n clip = options.offset ?\n 0 :\n // #4308, #4371:\n Math.floor(axis.axisLine.strokeWidth() / 2) * 2;\n clipOffset[invertedSide] =\n Math.max(clipOffset[invertedSide], clip);\n fireEvent(this, 'afterGetOffset');\n };\n /**\n * Internal function to get the path for the axis line. Extended for polar\n * charts.\n *\n * @function Highcharts.Axis#getLinePath\n *\n * @param {number} lineWidth\n * The line width in pixels.\n *\n * @return {Highcharts.SVGPathArray}\n * The SVG path definition in array form.\n */\n Axis.prototype.getLinePath = function (lineWidth) {\n var chart = this.chart,\n opposite = this.opposite,\n offset = this.offset,\n horiz = this.horiz,\n lineLeft = this.left + (opposite ? this.width : 0) + offset,\n lineTop = chart.chartHeight - this.bottom -\n (opposite ? this.height : 0) + offset;\n if (opposite) {\n lineWidth *= -1; // crispify the other way - #1480, #1687\n }\n return chart.renderer\n .crispLine([\n [\n 'M',\n horiz ?\n this.left :\n lineLeft,\n horiz ?\n lineTop :\n this.top\n ],\n [\n 'L',\n horiz ?\n chart.chartWidth - this.right :\n lineLeft,\n horiz ?\n lineTop :\n chart.chartHeight - this.bottom\n ]\n ], lineWidth);\n };\n /**\n * Render the axis line. Called internally when rendering and redrawing the\n * axis.\n *\n * @function Highcharts.Axis#renderLine\n */\n Axis.prototype.renderLine = function () {\n if (!this.axisLine) {\n this.axisLine = this.chart.renderer.path()\n .addClass('highcharts-axis-line')\n .add(this.axisGroup);\n if (!this.chart.styledMode) {\n this.axisLine.attr({\n stroke: this.options.lineColor,\n 'stroke-width': this.options.lineWidth,\n zIndex: 7\n });\n }\n }\n };\n /**\n * Position the axis title.\n *\n * @private\n * @function Highcharts.Axis#getTitlePosition\n *\n * @return {Highcharts.PositionObject}\n * X and Y positions for the title.\n */\n Axis.prototype.getTitlePosition = function () {\n // compute anchor points for each of the title align options\n var horiz = this.horiz,\n axisLeft = this.left,\n axisTop = this.top,\n axisLength = this.len,\n axisTitleOptions = this.options.title,\n margin = horiz ? axisLeft : axisTop,\n opposite = this.opposite,\n offset = this.offset,\n xOption = axisTitleOptions.x || 0,\n yOption = axisTitleOptions.y || 0,\n axisTitle = this.axisTitle,\n fontMetrics = this.chart.renderer.fontMetrics(axisTitleOptions.style &&\n axisTitleOptions.style.fontSize,\n axisTitle), \n // The part of a multiline text that is below the baseline of the\n // first line. Subtract 1 to preserve pixel-perfectness from the\n // old behaviour (v5.0.12), where only one line was allowed.\n textHeightOvershoot = Math.max(axisTitle.getBBox(null, 0).height - fontMetrics.h - 1, 0), \n // the position in the length direction of the axis\n alongAxis = {\n low: margin + (horiz ? 0 : axisLength),\n middle: margin + axisLength / 2,\n high: margin + (horiz ? axisLength : 0)\n }[axisTitleOptions.align], \n // the position in the perpendicular direction of the axis\n offAxis = (horiz ? axisTop + this.height : axisLeft) +\n (horiz ? 1 : -1) * // horizontal axis reverses the margin\n (opposite ? -1 : 1) * // so does opposite axes\n this.axisTitleMargin +\n [\n -textHeightOvershoot,\n textHeightOvershoot,\n fontMetrics.f,\n -textHeightOvershoot // left\n ][this.side],\n titlePosition = {\n x: horiz ?\n alongAxis + xOption :\n offAxis + (opposite ? this.width : 0) + offset + xOption,\n y: horiz ?\n offAxis + yOption - (opposite ? this.height : 0) + offset :\n alongAxis + yOption\n };\n fireEvent(this, 'afterGetTitlePosition', { titlePosition: titlePosition });\n return titlePosition;\n };\n /**\n * Render a minor tick into the given position. If a minor tick already\n * exists in this position, move it.\n *\n * @function Highcharts.Axis#renderMinorTick\n *\n * @param {number} pos\n * The position in axis values.\n */\n Axis.prototype.renderMinorTick = function (pos) {\n var axis = this;\n var slideInTicks = axis.chart.hasRendered && isNumber(axis.oldMin);\n var minorTicks = axis.minorTicks;\n if (!minorTicks[pos]) {\n minorTicks[pos] = new Tick(axis, pos, 'minor');\n }\n // Render new ticks in old position\n if (slideInTicks && minorTicks[pos].isNew) {\n minorTicks[pos].render(null, true);\n }\n minorTicks[pos].render(null, false, 1);\n };\n /**\n * Render a major tick into the given position. If a tick already exists\n * in this position, move it.\n *\n * @function Highcharts.Axis#renderTick\n *\n * @param {number} pos\n * The position in axis values.\n *\n * @param {number} i\n * The tick index.\n */\n Axis.prototype.renderTick = function (pos, i) {\n var _a;\n var axis = this;\n var isLinked = axis.isLinked;\n var ticks = axis.ticks;\n var slideInTicks = axis.chart.hasRendered && isNumber(axis.oldMin);\n // Linked axes need an extra check to find out if\n if (!isLinked ||\n (pos >= axis.min && pos <= axis.max) || ((_a = axis.grid) === null || _a === void 0 ? void 0 : _a.isColumn)) {\n if (!ticks[pos]) {\n ticks[pos] = new Tick(axis, pos);\n }\n // NOTE this seems like overkill. Could be handled in tick.render by\n // setting old position in attr, then set new position in animate.\n // render new ticks in old position\n if (slideInTicks && ticks[pos].isNew) {\n // Start with negative opacity so that it is visible from\n // halfway into the animation\n ticks[pos].render(i, true, -1);\n }\n ticks[pos].render(i);\n }\n };\n /**\n * Render the axis.\n *\n * @private\n * @function Highcharts.Axis#render\n *\n * @fires Highcharts.Axis#event:afterRender\n */\n Axis.prototype.render = function () {\n var axis = this,\n chart = axis.chart,\n log = axis.logarithmic,\n renderer = chart.renderer,\n options = axis.options,\n isLinked = axis.isLinked,\n tickPositions = axis.tickPositions,\n axisTitle = axis.axisTitle,\n ticks = axis.ticks,\n minorTicks = axis.minorTicks,\n alternateBands = axis.alternateBands,\n stackLabelOptions = options.stackLabels,\n alternateGridColor = options.alternateGridColor,\n tickmarkOffset = axis.tickmarkOffset,\n axisLine = axis.axisLine,\n showAxis = axis.showAxis,\n animation = animObject(renderer.globalAnimation),\n from,\n to;\n // Reset\n axis.labelEdge.length = 0;\n axis.overlap = false;\n // Mark all elements inActive before we go over and mark the active ones\n [ticks, minorTicks, alternateBands].forEach(function (coll) {\n objectEach(coll, function (tick) {\n tick.isActive = false;\n });\n });\n // If the series has data draw the ticks. Else only the line and title\n if (axis.hasData() || isLinked) {\n // minor ticks\n if (axis.minorTickInterval && !axis.categories) {\n axis.getMinorTickPositions().forEach(function (pos) {\n axis.renderMinorTick(pos);\n });\n }\n // Major ticks. Pull out the first item and render it last so that\n // we can get the position of the neighbour label. #808.\n if (tickPositions.length) { // #1300\n tickPositions.forEach(function (pos, i) {\n axis.renderTick(pos, i);\n });\n // In a categorized axis, the tick marks are displayed\n // between labels. So we need to add a tick mark and\n // grid line at the left edge of the X axis.\n if (tickmarkOffset && (axis.min === 0 || axis.single)) {\n if (!ticks[-1]) {\n ticks[-1] = new Tick(axis, -1, null, true);\n }\n ticks[-1].render(-1);\n }\n }\n // alternate grid color\n if (alternateGridColor) {\n tickPositions.forEach(function (pos, i) {\n to = typeof tickPositions[i + 1] !== 'undefined' ?\n tickPositions[i + 1] + tickmarkOffset :\n axis.max - tickmarkOffset;\n if (i % 2 === 0 &&\n pos < axis.max &&\n to <= axis.max + (chart.polar ?\n -tickmarkOffset :\n tickmarkOffset)) { // #2248, #4660\n if (!alternateBands[pos]) {\n // Should be imported from PlotLineOrBand.js, but\n // the dependency cycle with axis is a problem\n alternateBands[pos] = new H.PlotLineOrBand(axis);\n }\n from = pos + tickmarkOffset; // #949\n alternateBands[pos].options = {\n from: log ? log.lin2log(from) : from,\n to: log ? log.lin2log(to) : to,\n color: alternateGridColor,\n className: 'highcharts-alternate-grid'\n };\n alternateBands[pos].render();\n alternateBands[pos].isActive = true;\n }\n });\n }\n // custom plot lines and bands\n if (!axis._addedPlotLB) { // only first time\n (options.plotLines || [])\n .concat(options.plotBands || [])\n .forEach(function (plotLineOptions) {\n axis.addPlotBandOrLine(plotLineOptions);\n });\n axis._addedPlotLB = true;\n }\n } // end if hasData\n // Remove inactive ticks\n [ticks, minorTicks, alternateBands].forEach(function (coll) {\n var i,\n forDestruction = [],\n delay = animation.duration,\n destroyInactiveItems = function () {\n i = forDestruction.length;\n while (i--) {\n // When resizing rapidly, the same items\n // may be destroyed in different timeouts,\n // or the may be reactivated\n if (coll[forDestruction[i]] &&\n !coll[forDestruction[i]].isActive) {\n coll[forDestruction[i]].destroy();\n delete coll[forDestruction[i]];\n }\n }\n };\n objectEach(coll, function (tick, pos) {\n if (!tick.isActive) {\n // Render to zero opacity\n tick.render(pos, false, 0);\n tick.isActive = false;\n forDestruction.push(pos);\n }\n });\n // When the objects are finished fading out, destroy them\n syncTimeout(destroyInactiveItems, coll === alternateBands ||\n !chart.hasRendered ||\n !delay ?\n 0 :\n delay);\n });\n // Set the axis line path\n if (axisLine) {\n axisLine[axisLine.isPlaced ? 'animate' : 'attr']({\n d: this.getLinePath(axisLine.strokeWidth())\n });\n axisLine.isPlaced = true;\n // Show or hide the line depending on options.showEmpty\n axisLine[showAxis ? 'show' : 'hide'](showAxis);\n }\n if (axisTitle && showAxis) {\n var titleXy = axis.getTitlePosition();\n if (isNumber(titleXy.y)) {\n axisTitle[axisTitle.isNew ? 'attr' : 'animate'](titleXy);\n axisTitle.isNew = false;\n }\n else {\n axisTitle.attr('y', -9999);\n axisTitle.isNew = true;\n }\n }\n // Stacked totals:\n if (stackLabelOptions && stackLabelOptions.enabled && axis.stacking) {\n axis.stacking.renderStackTotals();\n }\n // End stacked totals\n axis.isDirty = false;\n fireEvent(this, 'afterRender');\n };\n /**\n * Redraw the axis to reflect changes in the data or axis extremes. Called\n * internally from Highcharts.Chart#redraw.\n *\n * @private\n * @function Highcharts.Axis#redraw\n */\n Axis.prototype.redraw = function () {\n if (this.visible) {\n // render the axis\n this.render();\n // move plot lines and bands\n this.plotLinesAndBands.forEach(function (plotLine) {\n plotLine.render();\n });\n }\n // mark associated series as dirty and ready for redraw\n this.series.forEach(function (series) {\n series.isDirty = true;\n });\n };\n /**\n * Returns an array of axis properties, that should be untouched during\n * reinitialization.\n *\n * @private\n * @function Highcharts.Axis#getKeepProps\n *\n * @return {Array}\n */\n Axis.prototype.getKeepProps = function () {\n return (this.keepProps || Axis.keepProps);\n };\n /**\n * Destroys an Axis instance. See {@link Axis#remove} for the API endpoint\n * to fully remove the axis.\n *\n * @private\n * @function Highcharts.Axis#destroy\n *\n * @param {boolean} [keepEvents]\n * Whether to preserve events, used internally in Axis.update.\n */\n Axis.prototype.destroy = function (keepEvents) {\n var axis = this,\n plotLinesAndBands = axis.plotLinesAndBands,\n plotGroup,\n i;\n fireEvent(this, 'destroy', { keepEvents: keepEvents });\n // Remove the events\n if (!keepEvents) {\n removeEvent(axis);\n }\n // Destroy collections\n [axis.ticks, axis.minorTicks, axis.alternateBands].forEach(function (coll) {\n destroyObjectProperties(coll);\n });\n if (plotLinesAndBands) {\n i = plotLinesAndBands.length;\n while (i--) { // #1975\n plotLinesAndBands[i].destroy();\n }\n }\n // Destroy elements\n ['axisLine', 'axisTitle', 'axisGroup',\n 'gridGroup', 'labelGroup', 'cross', 'scrollbar'].forEach(function (prop) {\n if (axis[prop]) {\n axis[prop] = axis[prop].destroy();\n }\n });\n // Destroy each generated group for plotlines and plotbands\n for (plotGroup in axis.plotLinesAndBandsGroups) { // eslint-disable-line guard-for-in\n axis.plotLinesAndBandsGroups[plotGroup] =\n axis.plotLinesAndBandsGroups[plotGroup].destroy();\n }\n // Delete all properties and fall back to the prototype.\n objectEach(axis, function (val, key) {\n if (axis.getKeepProps().indexOf(key) === -1) {\n delete axis[key];\n }\n });\n };\n /**\n * Internal function to draw a crosshair.\n *\n * @function Highcharts.Axis#drawCrosshair\n *\n * @param {Highcharts.PointerEventObject} [e]\n * The event arguments from the modified pointer event, extended with\n * `chartX` and `chartY`\n *\n * @param {Highcharts.Point} [point]\n * The Point object if the crosshair snaps to points.\n *\n * @fires Highcharts.Axis#event:afterDrawCrosshair\n * @fires Highcharts.Axis#event:drawCrosshair\n */\n Axis.prototype.drawCrosshair = function (e, point) {\n var path,\n options = this.crosshair,\n snap = pick(options.snap,\n true),\n pos,\n categorized,\n graphic = this.cross,\n crossOptions,\n chart = this.chart;\n fireEvent(this, 'drawCrosshair', { e: e, point: point });\n // Use last available event when updating non-snapped crosshairs without\n // mouse interaction (#5287)\n if (!e) {\n e = this.cross && this.cross.e;\n }\n if (\n // Disabled in options\n !this.crosshair ||\n // Snap\n ((defined(point) || !snap) === false)) {\n this.hideCrosshair();\n }\n else {\n // Get the path\n if (!snap) {\n pos = e &&\n (this.horiz ?\n e.chartX - this.pos :\n this.len - e.chartY + this.pos);\n }\n else if (defined(point)) {\n // #3834\n pos = pick(this.coll !== 'colorAxis' ?\n point.crosshairPos : // 3D axis extension\n null, this.isXAxis ?\n point.plotX :\n this.len - point.plotY);\n }\n if (defined(pos)) {\n crossOptions = {\n // value, only used on radial\n value: point && (this.isXAxis ?\n point.x :\n pick(point.stackY, point.y)),\n translatedValue: pos\n };\n if (chart.polar) {\n // Additional information required for crosshairs in\n // polar chart\n extend(crossOptions, {\n isCrosshair: true,\n chartX: e && e.chartX,\n chartY: e && e.chartY,\n point: point\n });\n }\n path = this.getPlotLinePath(crossOptions) ||\n null; // #3189\n }\n if (!defined(path)) {\n this.hideCrosshair();\n return;\n }\n categorized = this.categories && !this.isRadial;\n // Draw the cross\n if (!graphic) {\n this.cross = graphic = chart.renderer\n .path()\n .addClass('highcharts-crosshair highcharts-crosshair-' +\n (categorized ? 'category ' : 'thin ') +\n options.className)\n .attr({\n zIndex: pick(options.zIndex, 2)\n })\n .add();\n // Presentational attributes\n if (!chart.styledMode) {\n graphic.attr({\n stroke: options.color ||\n (categorized ?\n Color\n .parse('#ccd6eb')\n .setOpacity(0.25)\n .get() :\n '#cccccc'),\n 'stroke-width': pick(options.width, 1)\n }).css({\n 'pointer-events': 'none'\n });\n if (options.dashStyle) {\n graphic.attr({\n dashstyle: options.dashStyle\n });\n }\n }\n }\n graphic.show().attr({\n d: path\n });\n if (categorized && !options.width) {\n graphic.attr({\n 'stroke-width': this.transA\n });\n }\n this.cross.e = e;\n }\n fireEvent(this, 'afterDrawCrosshair', { e: e, point: point });\n };\n /**\n * Hide the crosshair if visible.\n *\n * @function Highcharts.Axis#hideCrosshair\n */\n Axis.prototype.hideCrosshair = function () {\n if (this.cross) {\n this.cross.hide();\n }\n fireEvent(this, 'afterHideCrosshair');\n };\n /**\n * Check whether the chart has vertical panning ('y' or 'xy' type).\n *\n * @private\n * @function Highcharts.Axis#hasVerticalPanning\n * @return {boolean}\n *\n */\n Axis.prototype.hasVerticalPanning = function () {\n var _a,\n _b;\n return /y/.test(((_b = (_a = this.chart.options.chart) === null || _a === void 0 ? void 0 : _a.panning) === null || _b === void 0 ? void 0 : _b.type) || '');\n };\n /**\n * Check whether the given value is a positive valid axis value.\n *\n * @private\n * @function Highcharts.Axis#validatePositiveValue\n *\n * @param {unknown} value\n * The axis value\n * @return {boolean}\n *\n */\n Axis.prototype.validatePositiveValue = function (value) {\n return isNumber(value) && value > 0;\n };\n /* *\n *\n * Static Properties\n *\n * */\n /**\n * The X axis or category axis. Normally this is the horizontal axis,\n * though if the chart is inverted this is the vertical axis. In case of\n * multiple axes, the xAxis node is an array of configuration objects.\n *\n * See the [Axis class](/class-reference/Highcharts.Axis) for programmatic\n * access to the axis.\n *\n * @productdesc {highmaps}\n * In Highmaps, the axis is hidden, but it is used behind the scenes to\n * control features like zooming and panning. Zooming is in effect the same\n * as setting the extremes of one of the exes.\n *\n * @type {*|Array<*>}\n * @optionparent xAxis\n *\n * @private\n */\n Axis.defaultOptions = {\n /**\n * When using multiple axis, the ticks of two or more opposite axes\n * will automatically be aligned by adding ticks to the axis or axes\n * with the least ticks, as if `tickAmount` were specified.\n *\n * This can be prevented by setting `alignTicks` to false. If the grid\n * lines look messy, it's a good idea to hide them for the secondary\n * axis by setting `gridLineWidth` to 0.\n *\n * If `startOnTick` or `endOnTick` in an Axis options are set to false,\n * then the `alignTicks ` will be disabled for the Axis.\n *\n * Disabled for logarithmic axes.\n *\n * @type {boolean}\n * @default true\n * @product highcharts highstock gantt\n * @apioption xAxis.alignTicks\n */\n /**\n * Whether to allow decimals in this axis' ticks. When counting\n * integers, like persons or hits on a web page, decimals should\n * be avoided in the labels.\n *\n * @see [minTickInterval](#xAxis.minTickInterval)\n *\n * @sample {highcharts|highstock} highcharts/yaxis/allowdecimals-true/\n * True by default\n * @sample {highcharts|highstock} highcharts/yaxis/allowdecimals-false/\n * False\n *\n * @type {boolean}\n * @default true\n * @since 2.0\n * @apioption xAxis.allowDecimals\n */\n /**\n * When using an alternate grid color, a band is painted across the\n * plot area between every other grid line.\n *\n * @sample {highcharts} highcharts/yaxis/alternategridcolor/\n * Alternate grid color on the Y axis\n * @sample {highstock} stock/xaxis/alternategridcolor/\n * Alternate grid color on the Y axis\n *\n * @type {Highcharts.ColorType}\n * @apioption xAxis.alternateGridColor\n */\n /**\n * An array defining breaks in the axis, the sections defined will be\n * left out and all the points shifted closer to each other.\n *\n * @productdesc {highcharts}\n * Requires that the broken-axis.js module is loaded.\n *\n * @sample {highcharts} highcharts/axisbreak/break-simple/\n * Simple break\n * @sample {highcharts|highstock} highcharts/axisbreak/break-visualized/\n * Advanced with callback\n * @sample {highstock} stock/demo/intraday-breaks/\n * Break on nights and weekends\n *\n * @type {Array<*>}\n * @since 4.1.0\n * @product highcharts highstock gantt\n * @apioption xAxis.breaks\n */\n /**\n * A number indicating how much space should be left between the start\n * and the end of the break. The break size is given in axis units,\n * so for instance on a `datetime` axis, a break size of 3600000 would\n * indicate the equivalent of an hour.\n *\n * @type {number}\n * @default 0\n * @since 4.1.0\n * @product highcharts highstock gantt\n * @apioption xAxis.breaks.breakSize\n */\n /**\n * The point where the break starts.\n *\n * @type {number}\n * @since 4.1.0\n * @product highcharts highstock gantt\n * @apioption xAxis.breaks.from\n */\n /**\n * Defines an interval after which the break appears again. By default\n * the breaks do not repeat.\n *\n * @type {number}\n * @default 0\n * @since 4.1.0\n * @product highcharts highstock gantt\n * @apioption xAxis.breaks.repeat\n */\n /**\n * The point where the break ends.\n *\n * @type {number}\n * @since 4.1.0\n * @product highcharts highstock gantt\n * @apioption xAxis.breaks.to\n */\n /**\n * If categories are present for the xAxis, names are used instead of\n * numbers for that axis.\n *\n * Since Highcharts 3.0, categories can also\n * be extracted by giving each point a [name](#series.data) and setting\n * axis [type](#xAxis.type) to `category`. However, if you have multiple\n * series, best practice remains defining the `categories` array.\n *\n * Example: `categories: ['Apples', 'Bananas', 'Oranges']`\n *\n * @sample {highcharts} highcharts/demo/line-labels/\n * With\n * @sample {highcharts} highcharts/xaxis/categories/\n * Without\n *\n * @type {Array}\n * @product highcharts gantt\n * @apioption xAxis.categories\n */\n /**\n * The highest allowed value for automatically computed axis extremes.\n *\n * @see [floor](#xAxis.floor)\n *\n * @sample {highcharts|highstock} highcharts/yaxis/floor-ceiling/\n * Floor and ceiling\n *\n * @type {number}\n * @since 4.0\n * @product highcharts highstock gantt\n * @apioption xAxis.ceiling\n */\n /**\n * A class name that opens for styling the axis by CSS, especially in\n * Highcharts styled mode. The class name is applied to group elements\n * for the grid, axis elements and labels.\n *\n * @sample {highcharts|highstock|highmaps} highcharts/css/axis/\n * Multiple axes with separate styling\n *\n * @type {string}\n * @since 5.0.0\n * @apioption xAxis.className\n */\n /**\n * Configure a crosshair that follows either the mouse pointer or the\n * hovered point.\n *\n * In styled mode, the crosshairs are styled in the\n * `.highcharts-crosshair`, `.highcharts-crosshair-thin` or\n * `.highcharts-xaxis-category` classes.\n *\n * @productdesc {highstock}\n * In Highstock, by default, the crosshair is enabled on the X axis and\n * disabled on the Y axis.\n *\n * @sample {highcharts} highcharts/xaxis/crosshair-both/\n * Crosshair on both axes\n * @sample {highstock} stock/xaxis/crosshairs-xy/\n * Crosshair on both axes\n * @sample {highmaps} highcharts/xaxis/crosshair-both/\n * Crosshair on both axes\n *\n * @declare Highcharts.AxisCrosshairOptions\n * @type {boolean|*}\n * @default false\n * @since 4.1\n * @apioption xAxis.crosshair\n */\n /**\n * A class name for the crosshair, especially as a hook for styling.\n *\n * @type {string}\n * @since 5.0.0\n * @apioption xAxis.crosshair.className\n */\n /**\n * The color of the crosshair. Defaults to `#cccccc` for numeric and\n * datetime axes, and `rgba(204,214,235,0.25)` for category axes, where\n * the crosshair by default highlights the whole category.\n *\n * @sample {highcharts|highstock|highmaps} highcharts/xaxis/crosshair-customized/\n * Customized crosshairs\n *\n * @type {Highcharts.ColorType}\n * @default #cccccc\n * @since 4.1\n * @apioption xAxis.crosshair.color\n */\n /**\n * The dash style for the crosshair. See\n * [plotOptions.series.dashStyle](#plotOptions.series.dashStyle)\n * for possible values.\n *\n * @sample {highcharts|highmaps} highcharts/xaxis/crosshair-dotted/\n * Dotted crosshair\n * @sample {highstock} stock/xaxis/crosshair-dashed/\n * Dashed X axis crosshair\n *\n * @type {Highcharts.DashStyleValue}\n * @default Solid\n * @since 4.1\n * @apioption xAxis.crosshair.dashStyle\n */\n /**\n * A label on the axis next to the crosshair.\n *\n * In styled mode, the label is styled with the\n * `.highcharts-crosshair-label` class.\n *\n * @sample {highstock} stock/xaxis/crosshair-label/\n * Crosshair labels\n * @sample {highstock} highcharts/css/crosshair-label/\n * Style mode\n *\n * @declare Highcharts.AxisCrosshairLabelOptions\n * @since 2.1\n * @product highstock\n * @apioption xAxis.crosshair.label\n */\n /**\n * Alignment of the label compared to the axis. Defaults to `\"left\"` for\n * right-side axes, `\"right\"` for left-side axes and `\"center\"` for\n * horizontal axes.\n *\n * @type {Highcharts.AlignValue}\n * @since 2.1\n * @product highstock\n * @apioption xAxis.crosshair.label.align\n */\n /**\n * The background color for the label. Defaults to the related series\n * color, or `#666666` if that is not available.\n *\n * @type {Highcharts.ColorType}\n * @since 2.1\n * @product highstock\n * @apioption xAxis.crosshair.label.backgroundColor\n */\n /**\n * The border color for the crosshair label\n *\n * @type {Highcharts.ColorType}\n * @since 2.1\n * @product highstock\n * @apioption xAxis.crosshair.label.borderColor\n */\n /**\n * The border corner radius of the crosshair label.\n *\n * @type {number}\n * @default 3\n * @since 2.1.10\n * @product highstock\n * @apioption xAxis.crosshair.label.borderRadius\n */\n /**\n * The border width for the crosshair label.\n *\n * @type {number}\n * @default 0\n * @since 2.1\n * @product highstock\n * @apioption xAxis.crosshair.label.borderWidth\n */\n /**\n * Flag to enable crosshair's label.\n *\n * @sample {highstock} stock/xaxis/crosshairs-xy/\n * Enabled label for yAxis' crosshair\n *\n * @type {boolean}\n * @default false\n * @since 2.1\n * @product highstock\n * @apioption xAxis.crosshair.label.enabled\n */\n /**\n * A format string for the crosshair label. Defaults to `{value}` for\n * numeric axes and `{value:%b %d, %Y}` for datetime axes.\n *\n * @type {string}\n * @since 2.1\n * @product highstock\n * @apioption xAxis.crosshair.label.format\n */\n /**\n * Formatter function for the label text.\n *\n * @type {Highcharts.XAxisCrosshairLabelFormatterCallbackFunction}\n * @since 2.1\n * @product highstock\n * @apioption xAxis.crosshair.label.formatter\n */\n /**\n * Padding inside the crosshair label.\n *\n * @type {number}\n * @default 8\n * @since 2.1\n * @product highstock\n * @apioption xAxis.crosshair.label.padding\n */\n /**\n * The shape to use for the label box.\n *\n * @type {string}\n * @default callout\n * @since 2.1\n * @product highstock\n * @apioption xAxis.crosshair.label.shape\n */\n /**\n * Text styles for the crosshair label.\n *\n * @type {Highcharts.CSSObject}\n * @default {\"color\": \"white\", \"fontWeight\": \"normal\", \"fontSize\": \"11px\", \"textAlign\": \"center\"}\n * @since 2.1\n * @product highstock\n * @apioption xAxis.crosshair.label.style\n */\n /**\n * Whether the crosshair should snap to the point or follow the pointer\n * independent of points.\n *\n * @sample {highcharts|highstock} highcharts/xaxis/crosshair-snap-false/\n * True by default\n * @sample {highmaps} maps/demo/latlon-advanced/\n * Snap is false\n *\n * @type {boolean}\n * @default true\n * @since 4.1\n * @apioption xAxis.crosshair.snap\n */\n /**\n * The pixel width of the crosshair. Defaults to 1 for numeric or\n * datetime axes, and for one category width for category axes.\n *\n * @sample {highcharts} highcharts/xaxis/crosshair-customized/\n * Customized crosshairs\n * @sample {highstock} highcharts/xaxis/crosshair-customized/\n * Customized crosshairs\n * @sample {highmaps} highcharts/xaxis/crosshair-customized/\n * Customized crosshairs\n *\n * @type {number}\n * @default 1\n * @since 4.1\n * @apioption xAxis.crosshair.width\n */\n /**\n * The Z index of the crosshair. Higher Z indices allow drawing the\n * crosshair on top of the series or behind the grid lines.\n *\n * @type {number}\n * @default 2\n * @since 4.1\n * @apioption xAxis.crosshair.zIndex\n */\n /**\n * Whether to zoom axis. If `chart.zoomType` is set, the option allows\n * to disable zooming on an individual axis.\n *\n * @sample {highcharts} highcharts/xaxis/zoomenabled/\n * Zoom enabled is false\n *\n *\n * @type {boolean}\n * @default enabled\n * @apioption xAxis.zoomEnabled\n */\n /**\n * For a datetime axis, the scale will automatically adjust to the\n * appropriate unit. This member gives the default string\n * representations used for each unit. For intermediate values,\n * different units may be used, for example the `day` unit can be used\n * on midnight and `hour` unit be used for intermediate values on the\n * same axis.\n *\n * For an overview of the replacement codes, see\n * [dateFormat](/class-reference/Highcharts#dateFormat).\n *\n * Defaults to:\n * ```js\n * {\n * millisecond: '%H:%M:%S.%L',\n * second: '%H:%M:%S',\n * minute: '%H:%M',\n * hour: '%H:%M',\n * day: '%e. %b',\n * week: '%e. %b',\n * month: '%b \\'%y',\n * year: '%Y'\n * }\n * ```\n *\n * @sample {highcharts} highcharts/xaxis/datetimelabelformats/\n * Different day format on X axis\n * @sample {highstock} stock/xaxis/datetimelabelformats/\n * More information in x axis labels\n *\n * @declare Highcharts.AxisDateTimeLabelFormatsOptions\n * @product highcharts highstock gantt\n */\n dateTimeLabelFormats: {\n /**\n * @declare Highcharts.AxisDateTimeLabelFormatsOptionsObject\n * @type {string|*}\n */\n millisecond: {\n main: '%H:%M:%S.%L',\n range: false\n },\n /**\n * @declare Highcharts.AxisDateTimeLabelFormatsOptionsObject\n * @type {string|*}\n */\n second: {\n main: '%H:%M:%S',\n range: false\n },\n /**\n * @declare Highcharts.AxisDateTimeLabelFormatsOptionsObject\n * @type {string|*}\n */\n minute: {\n main: '%H:%M',\n range: false\n },\n /**\n * @declare Highcharts.AxisDateTimeLabelFormatsOptionsObject\n * @type {string|*}\n */\n hour: {\n main: '%H:%M',\n range: false\n },\n /**\n * @declare Highcharts.AxisDateTimeLabelFormatsOptionsObject\n * @type {string|*}\n */\n day: {\n main: '%e. %b'\n },\n /**\n * @declare Highcharts.AxisDateTimeLabelFormatsOptionsObject\n * @type {string|*}\n */\n week: {\n main: '%e. %b'\n },\n /**\n * @declare Highcharts.AxisDateTimeLabelFormatsOptionsObject\n * @type {string|*}\n */\n month: {\n main: '%b \\'%y'\n },\n /**\n * @declare Highcharts.AxisDateTimeLabelFormatsOptionsObject\n * @type {string|*}\n */\n year: {\n main: '%Y'\n }\n },\n /**\n * Whether to force the axis to end on a tick. Use this option with\n * the `maxPadding` option to control the axis end.\n *\n * @productdesc {highstock}\n * In Highstock, `endOnTick` is always `false` when the navigator\n * is enabled, to prevent jumpy scrolling.\n *\n * @sample {highcharts} highcharts/chart/reflow-true/\n * True by default\n * @sample {highcharts} highcharts/yaxis/endontick/\n * False\n * @sample {highstock} stock/demo/basic-line/\n * True by default\n * @sample {highstock} stock/xaxis/endontick/\n * False\n *\n * @since 1.2.0\n */\n endOnTick: false,\n /**\n * Event handlers for the axis.\n *\n * @type {*}\n * @apioption xAxis.events\n */\n /**\n * An event fired after the breaks have rendered.\n *\n * @see [breaks](#xAxis.breaks)\n *\n * @sample {highcharts} highcharts/axisbreak/break-event/\n * AfterBreak Event\n *\n * @type {Highcharts.AxisEventCallbackFunction}\n * @since 4.1.0\n * @product highcharts gantt\n * @apioption xAxis.events.afterBreaks\n */\n /**\n * As opposed to the `setExtremes` event, this event fires after the\n * final min and max values are computed and corrected for `minRange`.\n *\n * Fires when the minimum and maximum is set for the axis, either by\n * calling the `.setExtremes()` method or by selecting an area in the\n * chart. One parameter, `event`, is passed to the function, containing\n * common event information.\n *\n * The new user set minimum and maximum values can be found by\n * `event.min` and `event.max`. These reflect the axis minimum and\n * maximum in axis values. The actual data extremes are found in\n * `event.dataMin` and `event.dataMax`.\n *\n * @type {Highcharts.AxisSetExtremesEventCallbackFunction}\n * @since 2.3\n * @context Highcharts.Axis\n * @apioption xAxis.events.afterSetExtremes\n */\n /**\n * An event fired when a break from this axis occurs on a point.\n *\n * @see [breaks](#xAxis.breaks)\n *\n * @sample {highcharts} highcharts/axisbreak/break-visualized/\n * Visualization of a Break\n *\n * @type {Highcharts.AxisPointBreakEventCallbackFunction}\n * @since 4.1.0\n * @product highcharts gantt\n * @context Highcharts.Axis\n * @apioption xAxis.events.pointBreak\n */\n /**\n * An event fired when a point falls inside a break from this axis.\n *\n * @type {Highcharts.AxisPointBreakEventCallbackFunction}\n * @product highcharts highstock gantt\n * @context Highcharts.Axis\n * @apioption xAxis.events.pointInBreak\n */\n /**\n * Fires when the minimum and maximum is set for the axis, either by\n * calling the `.setExtremes()` method or by selecting an area in the\n * chart. One parameter, `event`, is passed to the function,\n * containing common event information.\n *\n * The new user set minimum and maximum values can be found by\n * `event.min` and `event.max`. These reflect the axis minimum and\n * maximum in data values. When an axis is zoomed all the way out from\n * the \"Reset zoom\" button, `event.min` and `event.max` are null, and\n * the new extremes are set based on `this.dataMin` and `this.dataMax`.\n *\n * @sample {highstock} stock/xaxis/events-setextremes/\n * Log new extremes on x axis\n *\n * @type {Highcharts.AxisSetExtremesEventCallbackFunction}\n * @since 1.2.0\n * @context Highcharts.Axis\n * @apioption xAxis.events.setExtremes\n */\n /**\n * The lowest allowed value for automatically computed axis extremes.\n *\n * @see [ceiling](#yAxis.ceiling)\n *\n * @sample {highcharts} highcharts/yaxis/floor-ceiling/\n * Floor and ceiling\n * @sample {highstock} stock/demo/lazy-loading/\n * Prevent negative stock price on Y axis\n *\n * @type {number}\n * @since 4.0\n * @product highcharts highstock gantt\n * @apioption xAxis.floor\n */\n /**\n * The dash or dot style of the grid lines. For possible values, see\n * [this demonstration](https://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/highcharts/plotoptions/series-dashstyle-all/).\n *\n * @sample {highcharts} highcharts/yaxis/gridlinedashstyle/\n * Long dashes\n * @sample {highstock} stock/xaxis/gridlinedashstyle/\n * Long dashes\n *\n * @type {Highcharts.DashStyleValue}\n * @default Solid\n * @since 1.2\n * @apioption xAxis.gridLineDashStyle\n */\n /**\n * The Z index of the grid lines.\n *\n * @sample {highcharts|highstock} highcharts/xaxis/gridzindex/\n * A Z index of 4 renders the grid above the graph\n *\n * @type {number}\n * @default 1\n * @product highcharts highstock gantt\n * @apioption xAxis.gridZIndex\n */\n /**\n * An id for the axis. This can be used after render time to get\n * a pointer to the axis object through `chart.get()`.\n *\n * @sample {highcharts} highcharts/xaxis/id/\n * Get the object\n * @sample {highstock} stock/xaxis/id/\n * Get the object\n *\n * @type {string}\n * @since 1.2.0\n * @apioption xAxis.id\n */\n /**\n * The axis labels show the number or category for each tick.\n *\n * Since v8.0.0: Labels are animated in categorized x-axis with\n * updating data if `tickInterval` and `step` is set to 1.\n *\n * @productdesc {highmaps}\n * X and Y axis labels are by default disabled in Highmaps, but the\n * functionality is inherited from Highcharts and used on `colorAxis`,\n * and can be enabled on X and Y axes too.\n */\n labels: {\n /**\n * What part of the string the given position is anchored to.\n * If `left`, the left side of the string is at the axis position.\n * Can be one of `\"left\"`, `\"center\"` or `\"right\"`. Defaults to\n * an intelligent guess based on which side of the chart the axis\n * is on and the rotation of the label.\n *\n * @see [reserveSpace](#xAxis.labels.reserveSpace)\n *\n * @sample {highcharts} highcharts/xaxis/labels-align-left/\n * Left\n * @sample {highcharts} highcharts/xaxis/labels-align-right/\n * Right\n * @sample {highcharts} highcharts/xaxis/labels-reservespace-true/\n * Left-aligned labels on a vertical category axis\n *\n * @type {Highcharts.AlignValue}\n * @apioption xAxis.labels.align\n */\n /**\n * For horizontal axes, the allowed degrees of label rotation\n * to prevent overlapping labels. If there is enough space,\n * labels are not rotated. As the chart gets narrower, it\n * will start rotating the labels -45 degrees, then remove\n * every second label and try again with rotations 0 and -45 etc.\n * Set it to `false` to disable rotation, which will\n * cause the labels to word-wrap if possible.\n *\n * @sample {highcharts|highstock} highcharts/xaxis/labels-autorotation-default/\n * Default auto rotation of 0 or -45\n * @sample {highcharts|highstock} highcharts/xaxis/labels-autorotation-0-90/\n * Custom graded auto rotation\n *\n * @type {Array|false}\n * @default [-45]\n * @since 4.1.0\n * @product highcharts highstock gantt\n * @apioption xAxis.labels.autoRotation\n */\n /**\n * When each category width is more than this many pixels, we don't\n * apply auto rotation. Instead, we lay out the axis label with word\n * wrap. A lower limit makes sense when the label contains multiple\n * short words that don't extend the available horizontal space for\n * each label.\n *\n * @sample {highcharts} highcharts/xaxis/labels-autorotationlimit/\n * Lower limit\n *\n * @type {number}\n * @default 80\n * @since 4.1.5\n * @product highcharts gantt\n * @apioption xAxis.labels.autoRotationLimit\n */\n /**\n * Polar charts only. The label's pixel distance from the perimeter\n * of the plot area.\n *\n * @type {number}\n * @default 15\n * @product highcharts gantt\n * @apioption xAxis.labels.distance\n */\n /**\n * Enable or disable the axis labels.\n *\n * @sample {highcharts} highcharts/xaxis/labels-enabled/\n * X axis labels disabled\n * @sample {highstock} stock/xaxis/labels-enabled/\n * X axis labels disabled\n *\n * @default {highcharts|highstock|gantt} true\n * @default {highmaps} false\n */\n enabled: true,\n /**\n * A [format string](https://www.highcharts.com/docs/chart-concepts/labels-and-string-formatting)\n * for the axis label.\n *\n * @sample {highcharts|highstock} highcharts/yaxis/labels-format/\n * Add units to Y axis label\n *\n * @type {string}\n * @default {value}\n * @since 3.0\n * @apioption xAxis.labels.format\n */\n /**\n * Callback JavaScript function to format the label. The value\n * is given by `this.value`. Additional properties for `this` are\n * `axis`, `chart`, `isFirst` and `isLast`. The value of the default\n * label formatter can be retrieved by calling\n * `this.axis.defaultLabelFormatter.call(this)` within the function.\n *\n * Defaults to:\n * ```js\n * function() {\n * return this.value;\n * }\n * ```\n *\n * @sample {highcharts} highcharts/xaxis/labels-formatter-linked/\n * Linked category names\n * @sample {highcharts} highcharts/xaxis/labels-formatter-extended/\n * Modified numeric labels\n * @sample {highstock} stock/xaxis/labels-formatter/\n * Added units on Y axis\n *\n * @type {Highcharts.AxisLabelsFormatterCallbackFunction}\n * @apioption xAxis.labels.formatter\n */\n /**\n * The number of pixels to indent the labels per level in a treegrid\n * axis.\n *\n * @sample gantt/treegrid-axis/demo\n * Indentation 10px by default.\n * @sample gantt/treegrid-axis/indentation-0px\n * Indentation set to 0px.\n *\n * @product gantt\n */\n indentation: 10,\n /**\n * Horizontal axis only. When `staggerLines` is not set,\n * `maxStaggerLines` defines how many lines the axis is allowed to\n * add to automatically avoid overlapping X labels. Set to `1` to\n * disable overlap detection.\n *\n * @deprecated\n * @type {number}\n * @default 5\n * @since 1.3.3\n * @apioption xAxis.labels.maxStaggerLines\n */\n /**\n * How to handle overflowing labels on horizontal axis. If set to\n * `\"allow\"`, it will not be aligned at all. By default it\n * `\"justify\"` labels inside the chart area. If there is room to\n * move it, it will be aligned to the edge, else it will be removed.\n *\n * @type {string}\n * @default justify\n * @since 2.2.5\n * @validvalue [\"allow\", \"justify\"]\n * @apioption xAxis.labels.overflow\n */\n /**\n * The pixel padding for axis labels, to ensure white space between\n * them.\n *\n * @type {number}\n * @default 5\n * @product highcharts gantt\n * @apioption xAxis.labels.padding\n */\n /**\n * Whether to reserve space for the labels. By default, space is\n * reserved for the labels in these cases:\n *\n * * On all horizontal axes.\n * * On vertical axes if `label.align` is `right` on a left-side\n * axis or `left` on a right-side axis.\n * * On vertical axes if `label.align` is `center`.\n *\n * This can be turned off when for example the labels are rendered\n * inside the plot area instead of outside.\n *\n * @see [labels.align](#xAxis.labels.align)\n *\n * @sample {highcharts} highcharts/xaxis/labels-reservespace/\n * No reserved space, labels inside plot\n * @sample {highcharts} highcharts/xaxis/labels-reservespace-true/\n * Left-aligned labels on a vertical category axis\n *\n * @type {boolean}\n * @since 4.1.10\n * @product highcharts gantt\n * @apioption xAxis.labels.reserveSpace\n */\n /**\n * Rotation of the labels in degrees.\n *\n * @sample {highcharts} highcharts/xaxis/labels-rotation/\n * X axis labels rotated 90°\n *\n * @type {number}\n * @default 0\n * @apioption xAxis.labels.rotation\n */\n /**\n * Horizontal axes only. The number of lines to spread the labels\n * over to make room or tighter labels.\n *\n * @sample {highcharts} highcharts/xaxis/labels-staggerlines/\n * Show labels over two lines\n * @sample {highstock} stock/xaxis/labels-staggerlines/\n * Show labels over two lines\n *\n * @type {number}\n * @since 2.1\n * @apioption xAxis.labels.staggerLines\n */\n /**\n * To show only every _n_'th label on the axis, set the step to _n_.\n * Setting the step to 2 shows every other label.\n *\n * By default, the step is calculated automatically to avoid\n * overlap. To prevent this, set it to 1\\. This usually only\n * happens on a category axis, and is often a sign that you have\n * chosen the wrong axis type.\n *\n * Read more at\n * [Axis docs](https://www.highcharts.com/docs/chart-concepts/axes)\n * => What axis should I use?\n *\n * @sample {highcharts} highcharts/xaxis/labels-step/\n * Showing only every other axis label on a categorized\n * x-axis\n * @sample {highcharts} highcharts/xaxis/labels-step-auto/\n * Auto steps on a category axis\n *\n * @type {number}\n * @since 2.1\n * @apioption xAxis.labels.step\n */\n /**\n * Whether to [use HTML](https://www.highcharts.com/docs/chart-concepts/labels-and-string-formatting#html)\n * to render the labels.\n *\n * @type {boolean}\n * @default false\n * @apioption xAxis.labels.useHTML\n */\n /**\n * The x position offset of all labels relative to the tick\n * positions on the axis.\n *\n * @sample {highcharts} highcharts/xaxis/labels-x/\n * Y axis labels placed on grid lines\n */\n x: 0,\n /**\n * The y position offset of all labels relative to the tick\n * positions on the axis. The default makes it adapt to the font\n * size of the bottom axis.\n *\n * @sample {highcharts} highcharts/xaxis/labels-x/\n * Y axis labels placed on grid lines\n *\n * @type {number}\n * @apioption xAxis.labels.y\n */\n /**\n * The Z index for the axis labels.\n *\n * @type {number}\n * @default 7\n * @apioption xAxis.labels.zIndex\n */\n /**\n * CSS styles for the label. Use `whiteSpace: 'nowrap'` to prevent\n * wrapping of category labels. Use `textOverflow: 'none'` to\n * prevent ellipsis (dots).\n *\n * In styled mode, the labels are styled with the\n * `.highcharts-axis-labels` class.\n *\n * @sample {highcharts} highcharts/xaxis/labels-style/\n * Red X axis labels\n *\n * @type {Highcharts.CSSObject}\n */\n style: {\n /** @internal */\n color: '#666666',\n /** @internal */\n cursor: 'default',\n /** @internal */\n fontSize: '11px'\n }\n },\n /**\n * The left position as the horizontal axis. If it's a number, it is\n * interpreted as pixel position relative to the chart.\n *\n * Since Highcharts v5.0.13: If it's a percentage string, it is\n * interpreted as percentages of the plot width, offset from plot area\n * left.\n *\n * @type {number|string}\n * @product highcharts highstock\n * @apioption xAxis.left\n */\n /**\n * The top position as the vertical axis. If it's a number, it is\n * interpreted as pixel position relative to the chart.\n *\n * Since Highcharts 2: If it's a percentage string, it is interpreted\n * as percentages of the plot height, offset from plot area top.\n *\n * @type {number|string}\n * @product highcharts highstock\n * @apioption xAxis.top\n */\n /**\n * Index of another axis that this axis is linked to. When an axis is\n * linked to a master axis, it will take the same extremes as\n * the master, but as assigned by min or max or by setExtremes.\n * It can be used to show additional info, or to ease reading the\n * chart by duplicating the scales.\n *\n * @sample {highcharts} highcharts/xaxis/linkedto/\n * Different string formats of the same date\n * @sample {highcharts} highcharts/yaxis/linkedto/\n * Y values on both sides\n *\n * @type {number}\n * @since 2.0.2\n * @product highcharts highstock gantt\n * @apioption xAxis.linkedTo\n */\n /**\n * The maximum value of the axis. If `null`, the max value is\n * automatically calculated.\n *\n * If the [endOnTick](#yAxis.endOnTick) option is true, the `max` value\n * might be rounded up.\n *\n * If a [tickAmount](#yAxis.tickAmount) is set, the axis may be extended\n * beyond the set max in order to reach the given number of ticks. The\n * same may happen in a chart with multiple axes, determined by [chart.\n * alignTicks](#chart), where a `tickAmount` is applied internally.\n *\n * @sample {highcharts} highcharts/yaxis/max-200/\n * Y axis max of 200\n * @sample {highcharts} highcharts/yaxis/max-logarithmic/\n * Y axis max on logarithmic axis\n * @sample {highstock} stock/xaxis/min-max/\n * Fixed min and max on X axis\n * @sample {highmaps} maps/axis/min-max/\n * Pre-zoomed to a specific area\n *\n * @type {number|null}\n * @apioption xAxis.max\n */\n /**\n * Padding of the max value relative to the length of the axis. A\n * padding of 0.05 will make a 100px axis 5px longer. This is useful\n * when you don't want the highest data value to appear on the edge\n * of the plot area. When the axis' `max` option is set or a max extreme\n * is set using `axis.setExtremes()`, the maxPadding will be ignored.\n *\n * @sample {highcharts} highcharts/yaxis/maxpadding/\n * Max padding of 0.25 on y axis\n * @sample {highstock} stock/xaxis/minpadding-maxpadding/\n * Greater min- and maxPadding\n * @sample {highmaps} maps/chart/plotbackgroundcolor-gradient/\n * Add some padding\n *\n * @default {highcharts} 0.01\n * @default {highstock|highmaps} 0\n * @since 1.2.0\n */\n maxPadding: 0.01,\n /**\n * Deprecated. Use `minRange` instead.\n *\n * @deprecated\n * @type {number}\n * @product highcharts highstock\n * @apioption xAxis.maxZoom\n */\n /**\n * The minimum value of the axis. If `null` the min value is\n * automatically calculated.\n *\n * If the [startOnTick](#yAxis.startOnTick) option is true (default),\n * the `min` value might be rounded down.\n *\n * The automatically calculated minimum value is also affected by\n * [floor](#yAxis.floor), [softMin](#yAxis.softMin),\n * [minPadding](#yAxis.minPadding), [minRange](#yAxis.minRange)\n * as well as [series.threshold](#plotOptions.series.threshold)\n * and [series.softThreshold](#plotOptions.series.softThreshold).\n *\n * @sample {highcharts} highcharts/yaxis/min-startontick-false/\n * -50 with startOnTick to false\n * @sample {highcharts} highcharts/yaxis/min-startontick-true/\n * -50 with startOnTick true by default\n * @sample {highstock} stock/xaxis/min-max/\n * Set min and max on X axis\n * @sample {highmaps} maps/axis/min-max/\n * Pre-zoomed to a specific area\n *\n * @type {number|null}\n * @apioption xAxis.min\n */\n /**\n * The dash or dot style of the minor grid lines. For possible values,\n * see [this demonstration](https://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/highcharts/plotoptions/series-dashstyle-all/).\n *\n * @sample {highcharts} highcharts/yaxis/minorgridlinedashstyle/\n * Long dashes on minor grid lines\n * @sample {highstock} stock/xaxis/minorgridlinedashstyle/\n * Long dashes on minor grid lines\n *\n * @type {Highcharts.DashStyleValue}\n * @default Solid\n * @since 1.2\n * @apioption xAxis.minorGridLineDashStyle\n */\n /**\n * Specific tick interval in axis units for the minor ticks. On a linear\n * axis, if `\"auto\"`, the minor tick interval is calculated as a fifth\n * of the tickInterval. If `null` or `undefined`, minor ticks are not\n * shown.\n *\n * On logarithmic axes, the unit is the power of the value. For example,\n * setting the minorTickInterval to 1 puts one tick on each of 0.1, 1,\n * 10, 100 etc. Setting the minorTickInterval to 0.1 produces 9 ticks\n * between 1 and 10, 10 and 100 etc.\n *\n * If user settings dictate minor ticks to become too dense, they don't\n * make sense, and will be ignored to prevent performance problems.\n *\n * @sample {highcharts} highcharts/yaxis/minortickinterval-null/\n * Null by default\n * @sample {highcharts} highcharts/yaxis/minortickinterval-5/\n * 5 units\n * @sample {highcharts} highcharts/yaxis/minortickinterval-log-auto/\n * \"auto\"\n * @sample {highcharts} highcharts/yaxis/minortickinterval-log/\n * 0.1\n * @sample {highstock} stock/demo/basic-line/\n * Null by default\n * @sample {highstock} stock/xaxis/minortickinterval-auto/\n * \"auto\"\n *\n * @type {number|string|null}\n * @apioption xAxis.minorTickInterval\n */\n /**\n * The pixel length of the minor tick marks.\n *\n * @sample {highcharts} highcharts/yaxis/minorticklength/\n * 10px on Y axis\n * @sample {highstock} stock/xaxis/minorticks/\n * 10px on Y axis\n */\n minorTickLength: 2,\n /**\n * The position of the minor tick marks relative to the axis line.\n * Can be one of `inside` and `outside`.\n *\n * @sample {highcharts} highcharts/yaxis/minortickposition-outside/\n * Outside by default\n * @sample {highcharts} highcharts/yaxis/minortickposition-inside/\n * Inside\n * @sample {highstock} stock/xaxis/minorticks/\n * Inside\n *\n * @validvalue [\"inside\", \"outside\"]\n */\n minorTickPosition: 'outside',\n /**\n * Enable or disable minor ticks. Unless\n * [minorTickInterval](#xAxis.minorTickInterval) is set, the tick\n * interval is calculated as a fifth of the `tickInterval`.\n *\n * On a logarithmic axis, minor ticks are laid out based on a best\n * guess, attempting to enter approximately 5 minor ticks between\n * each major tick.\n *\n * Prior to v6.0.0, ticks were unabled in auto layout by setting\n * `minorTickInterval` to `\"auto\"`.\n *\n * @productdesc {highcharts}\n * On axes using [categories](#xAxis.categories), minor ticks are not\n * supported.\n *\n * @sample {highcharts} highcharts/yaxis/minorticks-true/\n * Enabled on linear Y axis\n *\n * @type {boolean}\n * @default false\n * @since 6.0.0\n * @apioption xAxis.minorTicks\n */\n /**\n * The pixel width of the minor tick mark.\n *\n * @sample {highcharts} highcharts/yaxis/minortickwidth/\n * 3px width\n * @sample {highstock} stock/xaxis/minorticks/\n * 1px width\n *\n * @type {number}\n * @default 0\n * @apioption xAxis.minorTickWidth\n */\n /**\n * Padding of the min value relative to the length of the axis. A\n * padding of 0.05 will make a 100px axis 5px longer. This is useful\n * when you don't want the lowest data value to appear on the edge\n * of the plot area. When the axis' `min` option is set or a min extreme\n * is set using `axis.setExtremes()`, the minPadding will be ignored.\n *\n * @sample {highcharts} highcharts/yaxis/minpadding/\n * Min padding of 0.2\n * @sample {highstock} stock/xaxis/minpadding-maxpadding/\n * Greater min- and maxPadding\n * @sample {highmaps} maps/chart/plotbackgroundcolor-gradient/\n * Add some padding\n *\n * @default {highcharts} 0.01\n * @default {highstock|highmaps} 0\n * @since 1.2.0\n * @product highcharts highstock gantt\n */\n minPadding: 0.01,\n /**\n * The minimum range to display on this axis. The entire axis will not\n * be allowed to span over a smaller interval than this. For example,\n * for a datetime axis the main unit is milliseconds. If minRange is\n * set to 3600000, you can't zoom in more than to one hour.\n *\n * The default minRange for the x axis is five times the smallest\n * interval between any of the data points.\n *\n * On a logarithmic axis, the unit for the minimum range is the power.\n * So a minRange of 1 means that the axis can be zoomed to 10-100,\n * 100-1000, 1000-10000 etc.\n *\n * **Note**: The `minPadding`, `maxPadding`, `startOnTick` and\n * `endOnTick` settings also affect how the extremes of the axis\n * are computed.\n *\n * @sample {highcharts} highcharts/xaxis/minrange/\n * Minimum range of 5\n * @sample {highstock} stock/xaxis/minrange/\n * Max zoom of 6 months overrides user selections\n * @sample {highmaps} maps/axis/minrange/\n * Minimum range of 1000\n *\n * @type {number}\n * @apioption xAxis.minRange\n */\n /**\n * The minimum tick interval allowed in axis values. For example on\n * zooming in on an axis with daily data, this can be used to prevent\n * the axis from showing hours. Defaults to the closest distance between\n * two points on the axis.\n *\n * @type {number}\n * @since 2.3.0\n * @apioption xAxis.minTickInterval\n */\n /**\n * The distance in pixels from the plot area to the axis line.\n * A positive offset moves the axis with it's line, labels and ticks\n * away from the plot area. This is typically used when two or more\n * axes are displayed on the same side of the plot. With multiple\n * axes the offset is dynamically adjusted to avoid collision, this\n * can be overridden by setting offset explicitly.\n *\n * @sample {highcharts} highcharts/yaxis/offset/\n * Y axis offset of 70\n * @sample {highcharts} highcharts/yaxis/offset-centered/\n * Axes positioned in the center of the plot\n * @sample {highstock} stock/xaxis/offset/\n * Y axis offset by 70 px\n *\n * @type {number}\n * @default 0\n * @apioption xAxis.offset\n */\n /**\n * Whether to display the axis on the opposite side of the normal. The\n * normal is on the left side for vertical axes and bottom for\n * horizontal, so the opposite sides will be right and top respectively.\n * This is typically used with dual or multiple axes.\n *\n * @sample {highcharts} highcharts/yaxis/opposite/\n * Secondary Y axis opposite\n * @sample {highstock} stock/xaxis/opposite/\n * Y axis on left side\n *\n * @type {boolean}\n * @default {highcharts|highstock|highmaps} false\n * @default {gantt} true\n * @apioption xAxis.opposite\n */\n /**\n * In an ordinal axis, the points are equally spaced in the chart\n * regardless of the actual time or x distance between them. This means\n * that missing data periods (e.g. nights or weekends for a stock chart)\n * will not take up space in the chart.\n * Having `ordinal: false` will show any gaps created by the `gapSize`\n * setting proportionate to their duration.\n *\n * In stock charts the X axis is ordinal by default, unless\n * the boost module is used and at least one of the series' data length\n * exceeds the [boostThreshold](#series.line.boostThreshold).\n *\n * @sample {highstock} stock/xaxis/ordinal-true/\n * True by default\n * @sample {highstock} stock/xaxis/ordinal-false/\n * False\n *\n * @type {boolean}\n * @default true\n * @since 1.1\n * @product highstock\n * @apioption xAxis.ordinal\n */\n /**\n * Additional range on the right side of the xAxis. Works similar to\n * `xAxis.maxPadding`, but value is set in milliseconds. Can be set for\n * both main `xAxis` and the navigator's `xAxis`.\n *\n * @sample {highstock} stock/xaxis/overscroll/\n * One minute overscroll with live data\n *\n * @type {number}\n * @default 0\n * @since 6.0.0\n * @product highstock\n * @apioption xAxis.overscroll\n */\n /**\n * Refers to the index in the [panes](#panes) array. Used for circular\n * gauges and polar charts. When the option is not set then first pane\n * will be used.\n *\n * @sample highcharts/demo/gauge-vu-meter\n * Two gauges with different center\n *\n * @type {number}\n * @product highcharts\n * @apioption xAxis.pane\n */\n /**\n * The zoomed range to display when only defining one or none of `min`\n * or `max`. For example, to show the latest month, a range of one month\n * can be set.\n *\n * @sample {highstock} stock/xaxis/range/\n * Setting a zoomed range when the rangeSelector is disabled\n *\n * @type {number}\n * @product highstock\n * @apioption xAxis.range\n */\n /**\n * Whether to reverse the axis so that the highest number is closest\n * to the origin. If the chart is inverted, the x axis is reversed by\n * default.\n *\n * @sample {highcharts} highcharts/yaxis/reversed/\n * Reversed Y axis\n * @sample {highstock} stock/xaxis/reversed/\n * Reversed Y axis\n *\n * @type {boolean}\n * @default false\n * @apioption xAxis.reversed\n */\n // reversed: false,\n /**\n * This option determines how stacks should be ordered within a group.\n * For example reversed xAxis also reverses stacks, so first series\n * comes last in a group. To keep order like for non-reversed xAxis\n * enable this option.\n *\n * @sample {highcharts} highcharts/xaxis/reversedstacks/\n * Reversed stacks comparison\n * @sample {highstock} highcharts/xaxis/reversedstacks/\n * Reversed stacks comparison\n *\n * @type {boolean}\n * @default false\n * @since 6.1.1\n * @product highcharts highstock\n * @apioption xAxis.reversedStacks\n */\n /**\n * An optional scrollbar to display on the X axis in response to\n * limiting the minimum and maximum of the axis values.\n *\n * In styled mode, all the presentational options for the scrollbar are\n * replaced by the classes `.highcharts-scrollbar-thumb`,\n * `.highcharts-scrollbar-arrow`, `.highcharts-scrollbar-button`,\n * `.highcharts-scrollbar-rifles` and `.highcharts-scrollbar-track`.\n *\n * @sample {highstock} stock/yaxis/heatmap-scrollbars/\n * Heatmap with both scrollbars\n *\n * @extends scrollbar\n * @since 4.2.6\n * @product highstock\n * @apioption xAxis.scrollbar\n */\n /**\n * Whether to show the axis line and title when the axis has no data.\n *\n * @sample {highcharts} highcharts/yaxis/showempty/\n * When clicking the legend to hide series, one axis preserves\n * line and title, the other doesn't\n * @sample {highstock} highcharts/yaxis/showempty/\n * When clicking the legend to hide series, one axis preserves\n * line and title, the other doesn't\n *\n * @since 1.1\n */\n showEmpty: true,\n /**\n * Whether to show the first tick label.\n *\n * @sample {highcharts} highcharts/xaxis/showfirstlabel-false/\n * Set to false on X axis\n * @sample {highstock} stock/xaxis/showfirstlabel/\n * Labels below plot lines on Y axis\n *\n * @type {boolean}\n * @default true\n * @apioption xAxis.showFirstLabel\n */\n /**\n * Whether to show the last tick label. Defaults to `true` on cartesian\n * charts, and `false` on polar charts.\n *\n * @sample {highcharts} highcharts/xaxis/showlastlabel-true/\n * Set to true on X axis\n * @sample {highstock} stock/xaxis/showfirstlabel/\n * Labels below plot lines on Y axis\n *\n * @type {boolean}\n * @default true\n * @product highcharts highstock gantt\n * @apioption xAxis.showLastLabel\n */\n /**\n * A soft maximum for the axis. If the series data maximum is less than\n * this, the axis will stay at this maximum, but if the series data\n * maximum is higher, the axis will flex to show all data.\n *\n * @sample highcharts/yaxis/softmin-softmax/\n * Soft min and max\n *\n * @type {number}\n * @since 5.0.1\n * @product highcharts highstock gantt\n * @apioption xAxis.softMax\n */\n /**\n * A soft minimum for the axis. If the series data minimum is greater\n * than this, the axis will stay at this minimum, but if the series\n * data minimum is lower, the axis will flex to show all data.\n *\n * @sample highcharts/yaxis/softmin-softmax/\n * Soft min and max\n *\n * @type {number}\n * @since 5.0.1\n * @product highcharts highstock gantt\n * @apioption xAxis.softMin\n */\n /**\n * For datetime axes, this decides where to put the tick between weeks.\n * 0 = Sunday, 1 = Monday.\n *\n * @sample {highcharts} highcharts/xaxis/startofweek-monday/\n * Monday by default\n * @sample {highcharts} highcharts/xaxis/startofweek-sunday/\n * Sunday\n * @sample {highstock} stock/xaxis/startofweek-1\n * Monday by default\n * @sample {highstock} stock/xaxis/startofweek-0\n * Sunday\n *\n * @product highcharts highstock gantt\n */\n startOfWeek: 1,\n /**\n * Whether to force the axis to start on a tick. Use this option with\n * the `minPadding` option to control the axis start.\n *\n * @productdesc {highstock}\n * In Highstock, `startOnTick` is always `false` when the navigator\n * is enabled, to prevent jumpy scrolling.\n *\n * @sample {highcharts} highcharts/xaxis/startontick-false/\n * False by default\n * @sample {highcharts} highcharts/xaxis/startontick-true/\n * True\n *\n * @since 1.2.0\n */\n startOnTick: false,\n /**\n * The amount of ticks to draw on the axis. This opens up for aligning\n * the ticks of multiple charts or panes within a chart. This option\n * overrides the `tickPixelInterval` option.\n *\n * This option only has an effect on linear axes. Datetime, logarithmic\n * or category axes are not affected.\n *\n * @sample {highcharts} highcharts/yaxis/tickamount/\n * 8 ticks on Y axis\n * @sample {highstock} highcharts/yaxis/tickamount/\n * 8 ticks on Y axis\n *\n * @type {number}\n * @since 4.1.0\n * @product highcharts highstock gantt\n * @apioption xAxis.tickAmount\n */\n /**\n * The interval of the tick marks in axis units. When `undefined`, the\n * tick interval is computed to approximately follow the\n * [tickPixelInterval](#xAxis.tickPixelInterval) on linear and datetime\n * axes. On categorized axes, a `undefined` tickInterval will default to\n * 1, one category. Note that datetime axes are based on milliseconds,\n * so for example an interval of one day is expressed as\n * `24 * 3600 * 1000`.\n *\n * On logarithmic axes, the tickInterval is based on powers, so a\n * tickInterval of 1 means one tick on each of 0.1, 1, 10, 100 etc. A\n * tickInterval of 2 means a tick of 0.1, 10, 1000 etc. A tickInterval\n * of 0.2 puts a tick on 0.1, 0.2, 0.4, 0.6, 0.8, 1, 2, 4, 6, 8, 10, 20,\n * 40 etc.\n *\n *\n * If the tickInterval is too dense for labels to be drawn, Highcharts\n * may remove ticks.\n *\n * If the chart has multiple axes, the [alignTicks](#chart.alignTicks)\n * option may interfere with the `tickInterval` setting.\n *\n * @see [tickPixelInterval](#xAxis.tickPixelInterval)\n * @see [tickPositions](#xAxis.tickPositions)\n * @see [tickPositioner](#xAxis.tickPositioner)\n *\n * @sample {highcharts} highcharts/xaxis/tickinterval-5/\n * Tick interval of 5 on a linear axis\n * @sample {highstock} stock/xaxis/tickinterval/\n * Tick interval of 0.01 on Y axis\n *\n * @type {number}\n * @apioption xAxis.tickInterval\n */\n /**\n * The pixel length of the main tick marks.\n *\n * @sample {highcharts} highcharts/xaxis/ticklength/\n * 20 px tick length on the X axis\n * @sample {highstock} stock/xaxis/ticks/\n * Formatted ticks on X axis\n */\n tickLength: 10,\n /**\n * If tickInterval is `null` this option sets the approximate pixel\n * interval of the tick marks. Not applicable to categorized axis.\n *\n * The tick interval is also influenced by the [minTickInterval](\n * #xAxis.minTickInterval) option, that, by default prevents ticks from\n * being denser than the data points.\n *\n * @see [tickInterval](#xAxis.tickInterval)\n * @see [tickPositioner](#xAxis.tickPositioner)\n * @see [tickPositions](#xAxis.tickPositions)\n *\n * @sample {highcharts} highcharts/xaxis/tickpixelinterval-50/\n * 50 px on X axis\n * @sample {highstock} stock/xaxis/tickpixelinterval/\n * 200 px on X axis\n */\n tickPixelInterval: 100,\n /**\n * For categorized axes only. If `on` the tick mark is placed in the\n * center of the category, if `between` the tick mark is placed between\n * categories. The default is `between` if the `tickInterval` is 1, else\n * `on`.\n *\n * @sample {highcharts} highcharts/xaxis/tickmarkplacement-between/\n * \"between\" by default\n * @sample {highcharts} highcharts/xaxis/tickmarkplacement-on/\n * \"on\"\n *\n * @product highcharts gantt\n * @validvalue [\"on\", \"between\"]\n */\n tickmarkPlacement: 'between',\n /**\n * The position of the major tick marks relative to the axis line.\n * Can be one of `inside` and `outside`.\n *\n * @sample {highcharts} highcharts/xaxis/tickposition-outside/\n * \"outside\" by default\n * @sample {highcharts} highcharts/xaxis/tickposition-inside/\n * \"inside\"\n * @sample {highstock} stock/xaxis/ticks/\n * Formatted ticks on X axis\n *\n * @validvalue [\"inside\", \"outside\"]\n */\n tickPosition: 'outside',\n /**\n * A callback function returning array defining where the ticks are\n * laid out on the axis. This overrides the default behaviour of\n * [tickPixelInterval](#xAxis.tickPixelInterval) and [tickInterval](\n * #xAxis.tickInterval). The automatic tick positions are accessible\n * through `this.tickPositions` and can be modified by the callback.\n *\n * @see [tickPositions](#xAxis.tickPositions)\n *\n * @sample {highcharts} highcharts/xaxis/tickpositions-tickpositioner/\n * Demo of tickPositions and tickPositioner\n * @sample {highstock} highcharts/xaxis/tickpositions-tickpositioner/\n * Demo of tickPositions and tickPositioner\n *\n * @type {Highcharts.AxisTickPositionerCallbackFunction}\n * @apioption xAxis.tickPositioner\n */\n /**\n * An array defining where the ticks are laid out on the axis. This\n * overrides the default behaviour of [tickPixelInterval](\n * #xAxis.tickPixelInterval) and [tickInterval](#xAxis.tickInterval).\n *\n * @see [tickPositioner](#xAxis.tickPositioner)\n *\n * @sample {highcharts} highcharts/xaxis/tickpositions-tickpositioner/\n * Demo of tickPositions and tickPositioner\n * @sample {highstock} highcharts/xaxis/tickpositions-tickpositioner/\n * Demo of tickPositions and tickPositioner\n *\n * @type {Array}\n * @apioption xAxis.tickPositions\n */\n /**\n * The pixel width of the major tick marks. Defaults to 0 on category\n * axes, otherwise 1.\n *\n * In styled mode, the stroke width is given in the `.highcharts-tick`\n * class, but in order for the element to be generated on category axes,\n * the option must be explicitly set to 1.\n *\n * @sample {highcharts} highcharts/xaxis/tickwidth/\n * 10 px width\n * @sample {highcharts} highcharts/css/axis-grid/\n * Styled mode\n * @sample {highstock} stock/xaxis/ticks/\n * Formatted ticks on X axis\n * @sample {highstock} highcharts/css/axis-grid/\n * Styled mode\n *\n * @type {undefined|number}\n * @default {highstock} 1\n * @default {highmaps} 0\n * @apioption xAxis.tickWidth\n */\n /**\n * The axis title, showing next to the axis line.\n *\n * @productdesc {highmaps}\n * In Highmaps, the axis is hidden by default, but adding an axis title\n * is still possible. X axis and Y axis titles will appear at the bottom\n * and left by default.\n */\n title: {\n /**\n * Deprecated. Set the `text` to `null` to disable the title.\n *\n * @deprecated\n * @type {boolean}\n * @product highcharts\n * @apioption xAxis.title.enabled\n */\n /**\n * The pixel distance between the axis labels or line and the title.\n * Defaults to 0 for horizontal axes, 10 for vertical\n *\n * @sample {highcharts} highcharts/xaxis/title-margin/\n * Y axis title margin of 60\n *\n * @type {number}\n * @apioption xAxis.title.margin\n */\n /**\n * The distance of the axis title from the axis line. By default,\n * this distance is computed from the offset width of the labels,\n * the labels' distance from the axis and the title's margin.\n * However when the offset option is set, it overrides all this.\n *\n * @sample {highcharts} highcharts/yaxis/title-offset/\n * Place the axis title on top of the axis\n * @sample {highstock} highcharts/yaxis/title-offset/\n * Place the axis title on top of the Y axis\n *\n * @type {number}\n * @since 2.2.0\n * @apioption xAxis.title.offset\n */\n /**\n * Whether to reserve space for the title when laying out the axis.\n *\n * @type {boolean}\n * @default true\n * @since 5.0.11\n * @product highcharts highstock gantt\n * @apioption xAxis.title.reserveSpace\n */\n /**\n * The rotation of the text in degrees. 0 is horizontal, 270 is\n * vertical reading from bottom to top.\n *\n * @sample {highcharts} highcharts/yaxis/title-offset/\n * Horizontal\n *\n * @type {number}\n * @default 0\n * @apioption xAxis.title.rotation\n */\n /**\n * The actual text of the axis title. It can contain basic HTML tags\n * like `b`, `i` and `span` with style.\n *\n * @sample {highcharts} highcharts/xaxis/title-text/\n * Custom HTML\n * @sample {highstock} stock/xaxis/title-text/\n * Titles for both axes\n *\n * @type {string|null}\n * @apioption xAxis.title.text\n */\n /**\n * Alignment of the text, can be `\"left\"`, `\"right\"` or `\"center\"`.\n * Default alignment depends on the\n * [title.align](xAxis.title.align):\n *\n * Horizontal axes:\n * - for `align` = `\"low\"`, `textAlign` is set to `left`\n * - for `align` = `\"middle\"`, `textAlign` is set to `center`\n * - for `align` = `\"high\"`, `textAlign` is set to `right`\n *\n * Vertical axes:\n * - for `align` = `\"low\"` and `opposite` = `true`, `textAlign` is\n * set to `right`\n * - for `align` = `\"low\"` and `opposite` = `false`, `textAlign` is\n * set to `left`\n * - for `align` = `\"middle\"`, `textAlign` is set to `center`\n * - for `align` = `\"high\"` and `opposite` = `true` `textAlign` is\n * set to `left`\n * - for `align` = `\"high\"` and `opposite` = `false` `textAlign` is\n * set to `right`\n *\n * @type {Highcharts.AlignValue}\n * @apioption xAxis.title.textAlign\n */\n /**\n * Whether to [use HTML](https://www.highcharts.com/docs/chart-concepts/labels-and-string-formatting#html)\n * to render the axis title.\n *\n * @type {boolean}\n * @default false\n * @product highcharts highstock gantt\n * @apioption xAxis.title.useHTML\n */\n /**\n * Horizontal pixel offset of the title position.\n *\n * @type {number}\n * @default 0\n * @since 4.1.6\n * @product highcharts highstock gantt\n * @apioption xAxis.title.x\n */\n /**\n * Vertical pixel offset of the title position.\n *\n * @type {number}\n * @product highcharts highstock gantt\n * @apioption xAxis.title.y\n */\n /**\n * Alignment of the title relative to the axis values. Possible\n * values are \"low\", \"middle\" or \"high\".\n *\n * @sample {highcharts} highcharts/xaxis/title-align-low/\n * \"low\"\n * @sample {highcharts} highcharts/xaxis/title-align-center/\n * \"middle\" by default\n * @sample {highcharts} highcharts/xaxis/title-align-high/\n * \"high\"\n * @sample {highcharts} highcharts/yaxis/title-offset/\n * Place the Y axis title on top of the axis\n * @sample {highstock} stock/xaxis/title-align/\n * Aligned to \"high\" value\n *\n * @type {Highcharts.AxisTitleAlignValue}\n */\n align: 'middle',\n /**\n * CSS styles for the title. If the title text is longer than the\n * axis length, it will wrap to multiple lines by default. This can\n * be customized by setting `textOverflow: 'ellipsis'`, by\n * setting a specific `width` or by setting `whiteSpace: 'nowrap'`.\n *\n * In styled mode, the stroke width is given in the\n * `.highcharts-axis-title` class.\n *\n * @sample {highcharts} highcharts/xaxis/title-style/\n * Red\n * @sample {highcharts} highcharts/css/axis/\n * Styled mode\n *\n * @type {Highcharts.CSSObject}\n */\n style: {\n /** @internal */\n color: '#666666'\n }\n },\n /**\n * The type of axis. Can be one of `linear`, `logarithmic`, `datetime`\n * or `category`. In a datetime axis, the numbers are given in\n * milliseconds, and tick marks are placed on appropriate values like\n * full hours or days. In a category axis, the\n * [point names](#series.line.data.name) of the chart's series are used\n * for categories, if not a [categories](#xAxis.categories) array is\n * defined.\n *\n * @sample {highcharts} highcharts/xaxis/type-linear/\n * Linear\n * @sample {highcharts} highcharts/yaxis/type-log/\n * Logarithmic\n * @sample {highcharts} highcharts/yaxis/type-log-minorgrid/\n * Logarithmic with minor grid lines\n * @sample {highcharts} highcharts/xaxis/type-log-both/\n * Logarithmic on two axes\n * @sample {highcharts} highcharts/yaxis/type-log-negative/\n * Logarithmic with extension to emulate negative values\n *\n * @type {Highcharts.AxisTypeValue}\n * @product highcharts gantt\n */\n type: 'linear',\n /**\n * If there are multiple axes on the same side of the chart, the pixel\n * margin between the axes. Defaults to 0 on vertical axes, 15 on\n * horizontal axes.\n *\n * @type {number}\n * @since 7.0.3\n * @apioption xAxis.margin\n */\n /**\n * Applies only when the axis `type` is `category`. When `uniqueNames`\n * is true, points are placed on the X axis according to their names.\n * If the same point name is repeated in the same or another series,\n * the point is placed on the same X position as other points of the\n * same name. When `uniqueNames` is false, the points are laid out in\n * increasing X positions regardless of their names, and the X axis\n * category will take the name of the last point in each position.\n *\n * @sample {highcharts} highcharts/xaxis/uniquenames-true/\n * True by default\n * @sample {highcharts} highcharts/xaxis/uniquenames-false/\n * False\n *\n * @type {boolean}\n * @default true\n * @since 4.2.7\n * @product highcharts gantt\n * @apioption xAxis.uniqueNames\n */\n /**\n * Datetime axis only. An array determining what time intervals the\n * ticks are allowed to fall on. Each array item is an array where the\n * first value is the time unit and the second value another array of\n * allowed multiples.\n *\n * Defaults to:\n * ```js\n * units: [[\n * 'millisecond', // unit name\n * [1, 2, 5, 10, 20, 25, 50, 100, 200, 500] // allowed multiples\n * ], [\n * 'second',\n * [1, 2, 5, 10, 15, 30]\n * ], [\n * 'minute',\n * [1, 2, 5, 10, 15, 30]\n * ], [\n * 'hour',\n * [1, 2, 3, 4, 6, 8, 12]\n * ], [\n * 'day',\n * [1]\n * ], [\n * 'week',\n * [1]\n * ], [\n * 'month',\n * [1, 3, 6]\n * ], [\n * 'year',\n * null\n * ]]\n * ```\n *\n * @type {Array|null)>>}\n * @product highcharts highstock gantt\n * @apioption xAxis.units\n */\n /**\n * Whether axis, including axis title, line, ticks and labels, should\n * be visible.\n *\n * @type {boolean}\n * @default true\n * @since 4.1.9\n * @product highcharts highstock gantt\n * @apioption xAxis.visible\n */\n /**\n * Color of the minor, secondary grid lines.\n *\n * In styled mode, the stroke width is given in the\n * `.highcharts-minor-grid-line` class.\n *\n * @sample {highcharts} highcharts/yaxis/minorgridlinecolor/\n * Bright grey lines from Y axis\n * @sample {highcharts|highstock} highcharts/css/axis-grid/\n * Styled mode\n * @sample {highstock} stock/xaxis/minorgridlinecolor/\n * Bright grey lines from Y axis\n *\n * @type {Highcharts.ColorType}\n * @default #f2f2f2\n */\n minorGridLineColor: '#f2f2f2',\n /**\n * Width of the minor, secondary grid lines.\n *\n * In styled mode, the stroke width is given in the\n * `.highcharts-grid-line` class.\n *\n * @sample {highcharts} highcharts/yaxis/minorgridlinewidth/\n * 2px lines from Y axis\n * @sample {highcharts|highstock} highcharts/css/axis-grid/\n * Styled mode\n * @sample {highstock} stock/xaxis/minorgridlinewidth/\n * 2px lines from Y axis\n */\n minorGridLineWidth: 1,\n /**\n * Color for the minor tick marks.\n *\n * @sample {highcharts} highcharts/yaxis/minortickcolor/\n * Black tick marks on Y axis\n * @sample {highstock} stock/xaxis/minorticks/\n * Black tick marks on Y axis\n *\n * @type {Highcharts.ColorType}\n * @default #999999\n */\n minorTickColor: '#999999',\n /**\n * The color of the line marking the axis itself.\n *\n * In styled mode, the line stroke is given in the\n * `.highcharts-axis-line` or `.highcharts-xaxis-line` class.\n *\n * @productdesc {highmaps}\n * In Highmaps, the axis line is hidden by default, because the axis is\n * not visible by default.\n *\n * @sample {highcharts} highcharts/yaxis/linecolor/\n * A red line on Y axis\n * @sample {highcharts|highstock} highcharts/css/axis/\n * Axes in styled mode\n * @sample {highstock} stock/xaxis/linecolor/\n * A red line on X axis\n *\n * @type {Highcharts.ColorType}\n * @default #ccd6eb\n */\n lineColor: '#ccd6eb',\n /**\n * The width of the line marking the axis itself.\n *\n * In styled mode, the stroke width is given in the\n * `.highcharts-axis-line` or `.highcharts-xaxis-line` class.\n *\n * @sample {highcharts} highcharts/yaxis/linecolor/\n * A 1px line on Y axis\n * @sample {highcharts|highstock} highcharts/css/axis/\n * Axes in styled mode\n * @sample {highstock} stock/xaxis/linewidth/\n * A 2px line on X axis\n *\n * @default {highcharts|highstock} 1\n * @default {highmaps} 0\n */\n lineWidth: 1,\n /**\n * Color of the grid lines extending the ticks across the plot area.\n *\n * In styled mode, the stroke is given in the `.highcharts-grid-line`\n * class.\n *\n * @productdesc {highmaps}\n * In Highmaps, the grid lines are hidden by default.\n *\n * @sample {highcharts} highcharts/yaxis/gridlinecolor/\n * Green lines\n * @sample {highcharts|highstock} highcharts/css/axis-grid/\n * Styled mode\n * @sample {highstock} stock/xaxis/gridlinecolor/\n * Green lines\n *\n * @type {Highcharts.ColorType}\n * @default #e6e6e6\n */\n gridLineColor: '#e6e6e6',\n // gridLineDashStyle: 'solid',\n /**\n * The width of the grid lines extending the ticks across the plot area.\n *\n * In styled mode, the stroke width is given in the\n * `.highcharts-grid-line` class.\n *\n * @sample {highcharts} highcharts/yaxis/gridlinewidth/\n * 2px lines\n * @sample {highcharts|highstock} highcharts/css/axis-grid/\n * Styled mode\n * @sample {highstock} stock/xaxis/gridlinewidth/\n * 2px lines\n *\n * @type {number}\n * @default 0\n * @apioption xAxis.gridLineWidth\n */\n // gridLineWidth: 0,\n /**\n * The height as the vertical axis. If it's a number, it is\n * interpreted as pixels.\n *\n * Since Highcharts 2: If it's a percentage string, it is interpreted\n * as percentages of the total plot height.\n *\n * @type {number|string}\n * @product highcharts highstock\n * @apioption xAxis.height\n */\n /**\n * The width as the horizontal axis. If it's a number, it is interpreted\n * as pixels.\n *\n * Since Highcharts v5.0.13: If it's a percentage string, it is\n * interpreted as percentages of the total plot width.\n *\n * @type {number|string}\n * @product highcharts highstock\n * @apioption xAxis.width\n */\n /**\n * Color for the main tick marks.\n *\n * In styled mode, the stroke is given in the `.highcharts-tick`\n * class.\n *\n * @sample {highcharts} highcharts/xaxis/tickcolor/\n * Red ticks on X axis\n * @sample {highcharts|highstock} highcharts/css/axis-grid/\n * Styled mode\n * @sample {highstock} stock/xaxis/ticks/\n * Formatted ticks on X axis\n *\n * @type {Highcharts.ColorType}\n * @default #ccd6eb\n */\n tickColor: '#ccd6eb'\n // tickWidth: 1\n };\n /**\n * The Y axis or value axis. Normally this is the vertical axis,\n * though if the chart is inverted this is the horizontal axis.\n * In case of multiple axes, the yAxis node is an array of\n * configuration objects.\n *\n * See [the Axis object](/class-reference/Highcharts.Axis) for programmatic\n * access to the axis.\n *\n * @type {*|Array<*>}\n * @extends xAxis\n * @excluding currentDateIndicator,ordinal,overscroll\n * @optionparent yAxis\n *\n * @private\n */\n Axis.defaultYAxisOptions = {\n /**\n * The type of axis. Can be one of `linear`, `logarithmic`, `datetime`,\n * `category` or `treegrid`. Defaults to `treegrid` for Gantt charts,\n * `linear` for other chart types.\n *\n * In a datetime axis, the numbers are given in milliseconds, and tick\n * marks are placed on appropriate values, like full hours or days. In a\n * category or treegrid axis, the [point names](#series.line.data.name)\n * of the chart's series are used for categories, if a\n * [categories](#xAxis.categories) array is not defined.\n *\n * @sample {highcharts} highcharts/yaxis/type-log-minorgrid/\n * Logarithmic with minor grid lines\n * @sample {highcharts} highcharts/yaxis/type-log-negative/\n * Logarithmic with extension to emulate negative values\n * @sample {gantt} gantt/treegrid-axis/demo\n * Treegrid axis\n *\n * @type {Highcharts.AxisTypeValue}\n * @default {highcharts} linear\n * @default {gantt} treegrid\n * @product highcharts gantt\n * @apioption yAxis.type\n */\n /**\n * The height of the Y axis. If it's a number, it is interpreted as\n * pixels.\n *\n * Since Highcharts 2: If it's a percentage string, it is interpreted as\n * percentages of the total plot height.\n *\n * @see [yAxis.top](#yAxis.top)\n *\n * @sample {highstock} stock/demo/candlestick-and-volume/\n * Percentage height panes\n *\n * @type {number|string}\n * @product highcharts highstock\n * @apioption yAxis.height\n */\n /**\n * Solid gauge only. Unless [stops](#yAxis.stops) are set, the color\n * to represent the maximum value of the Y axis.\n *\n * @sample {highcharts} highcharts/yaxis/mincolor-maxcolor/\n * Min and max colors\n *\n * @type {Highcharts.ColorType}\n * @default #003399\n * @since 4.0\n * @product highcharts\n * @apioption yAxis.maxColor\n */\n /**\n * Solid gauge only. Unless [stops](#yAxis.stops) are set, the color\n * to represent the minimum value of the Y axis.\n *\n * @sample {highcharts} highcharts/yaxis/mincolor-maxcolor/\n * Min and max color\n *\n * @type {Highcharts.ColorType}\n * @default #e6ebf5\n * @since 4.0\n * @product highcharts\n * @apioption yAxis.minColor\n */\n /**\n * Whether to reverse the axis so that the highest number is closest\n * to the origin.\n *\n * @sample {highcharts} highcharts/yaxis/reversed/\n * Reversed Y axis\n * @sample {highstock} stock/xaxis/reversed/\n * Reversed Y axis\n *\n * @type {boolean}\n * @default {highcharts} false\n * @default {highstock} false\n * @default {highmaps} true\n * @default {gantt} true\n * @apioption yAxis.reversed\n */\n /**\n * If `true`, the first series in a stack will be drawn on top in a\n * positive, non-reversed Y axis. If `false`, the first series is in\n * the base of the stack.\n *\n * @sample {highcharts} highcharts/yaxis/reversedstacks-false/\n * Non-reversed stacks\n * @sample {highstock} highcharts/yaxis/reversedstacks-false/\n * Non-reversed stacks\n *\n * @type {boolean}\n * @default true\n * @since 3.0.10\n * @product highcharts highstock\n * @apioption yAxis.reversedStacks\n */\n /**\n * Solid gauge series only. Color stops for the solid gauge. Use this\n * in cases where a linear gradient between a `minColor` and `maxColor`\n * is not sufficient. The stops is an array of tuples, where the first\n * item is a float between 0 and 1 assigning the relative position in\n * the gradient, and the second item is the color.\n *\n * For solid gauges, the Y axis also inherits the concept of\n * [data classes](https://api.highcharts.com/highmaps#colorAxis.dataClasses)\n * from the Highmaps color axis.\n *\n * @see [minColor](#yAxis.minColor)\n * @see [maxColor](#yAxis.maxColor)\n *\n * @sample {highcharts} highcharts/demo/gauge-solid/\n * True by default\n *\n * @type {Array>}\n * @since 4.0\n * @product highcharts\n * @apioption yAxis.stops\n */\n /**\n * The pixel width of the major tick marks.\n *\n * @sample {highcharts} highcharts/xaxis/tickwidth/ 10 px width\n * @sample {highstock} stock/xaxis/ticks/ Formatted ticks on X axis\n *\n * @type {number}\n * @default 0\n * @product highcharts highstock gantt\n * @apioption yAxis.tickWidth\n */\n /**\n * Whether to force the axis to end on a tick. Use this option with\n * the `maxPadding` option to control the axis end.\n *\n * This option is always disabled, when panning type is\n * either `y` or `xy`.\n *\n * @see [type](#chart.panning.type)\n *\n *\n * @sample {highcharts} highcharts/chart/reflow-true/\n * True by default\n * @sample {highcharts} highcharts/yaxis/endontick/\n * False\n * @sample {highstock} stock/demo/basic-line/\n * True by default\n * @sample {highstock} stock/xaxis/endontick/\n * False for Y axis\n *\n * @since 1.2.0\n */\n endOnTick: true,\n /**\n * Padding of the max value relative to the length of the axis. A\n * padding of 0.05 will make a 100px axis 5px longer. This is useful\n * when you don't want the highest data value to appear on the edge\n * of the plot area. When the axis' `max` option is set or a max extreme\n * is set using `axis.setExtremes()`, the maxPadding will be ignored.\n *\n * Also the `softThreshold` option takes precedence over `maxPadding`,\n * so if the data is tangent to the threshold, `maxPadding` may not\n * apply unless `softThreshold` is set to false.\n *\n * @sample {highcharts} highcharts/yaxis/maxpadding-02/\n * Max padding of 0.2\n * @sample {highstock} stock/xaxis/minpadding-maxpadding/\n * Greater min- and maxPadding\n *\n * @since 1.2.0\n * @product highcharts highstock gantt\n */\n maxPadding: 0.05,\n /**\n * Padding of the min value relative to the length of the axis. A\n * padding of 0.05 will make a 100px axis 5px longer. This is useful\n * when you don't want the lowest data value to appear on the edge\n * of the plot area. When the axis' `min` option is set or a max extreme\n * is set using `axis.setExtremes()`, the maxPadding will be ignored.\n *\n * Also the `softThreshold` option takes precedence over `minPadding`,\n * so if the data is tangent to the threshold, `minPadding` may not\n * apply unless `softThreshold` is set to false.\n *\n * @sample {highcharts} highcharts/yaxis/minpadding/\n * Min padding of 0.2\n * @sample {highstock} stock/xaxis/minpadding-maxpadding/\n * Greater min- and maxPadding\n *\n * @since 1.2.0\n * @product highcharts highstock gantt\n */\n minPadding: 0.05,\n /**\n * @productdesc {highstock}\n * In Highstock 1.x, the Y axis was placed on the left side by default.\n *\n * @sample {highcharts} highcharts/yaxis/opposite/\n * Secondary Y axis opposite\n * @sample {highstock} stock/xaxis/opposite/\n * Y axis on left side\n *\n * @type {boolean}\n * @default {highstock} true\n * @default {highcharts} false\n * @product highstock highcharts gantt\n * @apioption yAxis.opposite\n */\n /**\n * @see [tickInterval](#xAxis.tickInterval)\n * @see [tickPositioner](#xAxis.tickPositioner)\n * @see [tickPositions](#xAxis.tickPositions)\n */\n tickPixelInterval: 72,\n showLastLabel: true,\n /**\n * @extends xAxis.labels\n */\n labels: {\n /**\n * Angular gauges and solid gauges only.\n * The label's pixel distance from the perimeter of the plot area.\n *\n * Since v7.1.2: If it's a percentage string, it is interpreted the\n * same as [series.radius](#plotOptions.gauge.radius), so label can be\n * aligned under the gauge's shape.\n *\n * @sample {highcharts} highcharts/yaxis/labels-distance/\n * Labels centered under the arc\n *\n * @type {number|string}\n * @default -25\n * @product highcharts\n * @apioption yAxis.labels.distance\n */\n /**\n * The y position offset of all labels relative to the tick\n * positions on the axis. For polar and radial axis consider the use\n * of the [distance](#yAxis.labels.distance) option.\n *\n * @sample {highcharts} highcharts/xaxis/labels-x/\n * Y axis labels placed on grid lines\n *\n * @type {number}\n * @default {highcharts} 3\n * @default {highstock} -2\n * @default {highmaps} 3\n * @apioption yAxis.labels.y\n */\n /**\n * What part of the string the given position is anchored to. Can\n * be one of `\"left\"`, `\"center\"` or `\"right\"`. The exact position\n * also depends on the `labels.x` setting.\n *\n * Angular gauges and solid gauges defaults to `\"center\"`.\n * Solid gauges with two labels have additional option `\"auto\"`\n * for automatic horizontal and vertical alignment.\n *\n * @see [yAxis.labels.distance](#yAxis.labels.distance)\n *\n * @sample {highcharts} highcharts/yaxis/labels-align-left/\n * Left\n * @sample {highcharts} highcharts/series-solidgauge/labels-auto-aligned/\n * Solid gauge labels auto aligned\n *\n * @type {Highcharts.AlignValue}\n * @default {highcharts|highmaps} right\n * @default {highstock} left\n * @apioption yAxis.labels.align\n */\n /**\n * The x position offset of all labels relative to the tick\n * positions on the axis. Defaults to -15 for left axis, 15 for\n * right axis.\n *\n * @sample {highcharts} highcharts/xaxis/labels-x/\n * Y axis labels placed on grid lines\n */\n x: -8\n },\n /**\n * @productdesc {highmaps}\n * In Highmaps, the axis line is hidden by default, because the axis is\n * not visible by default.\n *\n * @type {Highcharts.ColorType}\n * @apioption yAxis.lineColor\n */\n /**\n * @sample {highcharts} highcharts/yaxis/max-200/\n * Y axis max of 200\n * @sample {highcharts} highcharts/yaxis/max-logarithmic/\n * Y axis max on logarithmic axis\n * @sample {highstock} stock/yaxis/min-max/\n * Fixed min and max on Y axis\n * @sample {highmaps} maps/axis/min-max/\n * Pre-zoomed to a specific area\n *\n * @apioption yAxis.max\n */\n /**\n * @sample {highcharts} highcharts/yaxis/min-startontick-false/\n * -50 with startOnTick to false\n * @sample {highcharts} highcharts/yaxis/min-startontick-true/\n * -50 with startOnTick true by default\n * @sample {highstock} stock/yaxis/min-max/\n * Fixed min and max on Y axis\n * @sample {highmaps} maps/axis/min-max/\n * Pre-zoomed to a specific area\n *\n * @apioption yAxis.min\n */\n /**\n * An optional scrollbar to display on the Y axis in response to\n * limiting the minimum an maximum of the axis values.\n *\n * In styled mode, all the presentational options for the scrollbar\n * are replaced by the classes `.highcharts-scrollbar-thumb`,\n * `.highcharts-scrollbar-arrow`, `.highcharts-scrollbar-button`,\n * `.highcharts-scrollbar-rifles` and `.highcharts-scrollbar-track`.\n *\n * @sample {highstock} stock/yaxis/scrollbar/\n * Scrollbar on the Y axis\n *\n * @extends scrollbar\n * @since 4.2.6\n * @product highstock\n * @excluding height\n * @apioption yAxis.scrollbar\n */\n /**\n * Enable the scrollbar on the Y axis.\n *\n * @sample {highstock} stock/yaxis/scrollbar/\n * Enabled on Y axis\n *\n * @type {boolean}\n * @default false\n * @since 4.2.6\n * @product highstock\n * @apioption yAxis.scrollbar.enabled\n */\n /**\n * Pixel margin between the scrollbar and the axis elements.\n *\n * @type {number}\n * @default 10\n * @since 4.2.6\n * @product highstock\n * @apioption yAxis.scrollbar.margin\n */\n /**\n * Whether to show the scrollbar when it is fully zoomed out at max\n * range. Setting it to `false` on the Y axis makes the scrollbar stay\n * hidden until the user zooms in, like common in browsers.\n *\n * @type {boolean}\n * @default true\n * @since 4.2.6\n * @product highstock\n * @apioption yAxis.scrollbar.showFull\n */\n /**\n * The width of a vertical scrollbar or height of a horizontal\n * scrollbar. Defaults to 20 on touch devices.\n *\n * @type {number}\n * @default 14\n * @since 4.2.6\n * @product highstock\n * @apioption yAxis.scrollbar.size\n */\n /**\n * Z index of the scrollbar elements.\n *\n * @type {number}\n * @default 3\n * @since 4.2.6\n * @product highstock\n * @apioption yAxis.scrollbar.zIndex\n */\n /**\n * A soft maximum for the axis. If the series data maximum is less\n * than this, the axis will stay at this maximum, but if the series\n * data maximum is higher, the axis will flex to show all data.\n *\n * **Note**: The [series.softThreshold](\n * #plotOptions.series.softThreshold) option takes precedence over this\n * option.\n *\n * @sample highcharts/yaxis/softmin-softmax/\n * Soft min and max\n *\n * @type {number}\n * @since 5.0.1\n * @product highcharts highstock gantt\n * @apioption yAxis.softMax\n */\n /**\n * A soft minimum for the axis. If the series data minimum is greater\n * than this, the axis will stay at this minimum, but if the series\n * data minimum is lower, the axis will flex to show all data.\n *\n * **Note**: The [series.softThreshold](\n * #plotOptions.series.softThreshold) option takes precedence over this\n * option.\n *\n * @sample highcharts/yaxis/softmin-softmax/\n * Soft min and max\n *\n * @type {number}\n * @since 5.0.1\n * @product highcharts highstock gantt\n * @apioption yAxis.softMin\n */\n /**\n * Defines the horizontal alignment of the stack total label. Can be one\n * of `\"left\"`, `\"center\"` or `\"right\"`. The default value is calculated\n * at runtime and depends on orientation and whether the stack is\n * positive or negative.\n *\n * @sample {highcharts} highcharts/yaxis/stacklabels-align-left/\n * Aligned to the left\n * @sample {highcharts} highcharts/yaxis/stacklabels-align-center/\n * Aligned in center\n * @sample {highcharts} highcharts/yaxis/stacklabels-align-right/\n * Aligned to the right\n *\n * @type {Highcharts.AlignValue}\n * @since 2.1.5\n * @product highcharts\n * @apioption yAxis.stackLabels.align\n */\n /**\n * A format string for the data label. Available variables are the same\n * as for `formatter`.\n *\n * @type {string}\n * @default {total}\n * @since 3.0.2\n * @product highcharts highstock\n * @apioption yAxis.stackLabels.format\n */\n /**\n * Rotation of the labels in degrees.\n *\n * @sample {highcharts} highcharts/yaxis/stacklabels-rotation/\n * Labels rotated 45°\n *\n * @type {number}\n * @default 0\n * @since 2.1.5\n * @product highcharts\n * @apioption yAxis.stackLabels.rotation\n */\n /**\n * The text alignment for the label. While `align` determines where the\n * texts anchor point is placed with regards to the stack, `textAlign`\n * determines how the text is aligned against its anchor point. Possible\n * values are `\"left\"`, `\"center\"` and `\"right\"`. The default value is\n * calculated at runtime and depends on orientation and whether the\n * stack is positive or negative.\n *\n * @sample {highcharts} highcharts/yaxis/stacklabels-textalign-left/\n * Label in center position but text-aligned left\n *\n * @type {Highcharts.AlignValue}\n * @since 2.1.5\n * @product highcharts\n * @apioption yAxis.stackLabels.textAlign\n */\n /**\n * Whether to [use HTML](https://www.highcharts.com/docs/chart-concepts/labels-and-string-formatting#html)\n * to render the labels.\n *\n * @type {boolean}\n * @default false\n * @since 3.0\n * @product highcharts highstock\n * @apioption yAxis.stackLabels.useHTML\n */\n /**\n * Defines the vertical alignment of the stack total label. Can be one\n * of `\"top\"`, `\"middle\"` or `\"bottom\"`. The default value is calculated\n * at runtime and depends on orientation and whether the stack is\n * positive or negative.\n *\n * @sample {highcharts} highcharts/yaxis/stacklabels-verticalalign-top/\n * Vertically aligned top\n * @sample {highcharts} highcharts/yaxis/stacklabels-verticalalign-middle/\n * Vertically aligned middle\n * @sample {highcharts} highcharts/yaxis/stacklabels-verticalalign-bottom/\n * Vertically aligned bottom\n *\n * @type {Highcharts.VerticalAlignValue}\n * @since 2.1.5\n * @product highcharts\n * @apioption yAxis.stackLabels.verticalAlign\n */\n /**\n * The x position offset of the label relative to the left of the\n * stacked bar. The default value is calculated at runtime and depends\n * on orientation and whether the stack is positive or negative.\n *\n * @sample {highcharts} highcharts/yaxis/stacklabels-x/\n * Stack total labels with x offset\n *\n * @type {number}\n * @since 2.1.5\n * @product highcharts\n * @apioption yAxis.stackLabels.x\n */\n /**\n * The y position offset of the label relative to the tick position\n * on the axis. The default value is calculated at runtime and depends\n * on orientation and whether the stack is positive or negative.\n *\n * @sample {highcharts} highcharts/yaxis/stacklabels-y/\n * Stack total labels with y offset\n *\n * @type {number}\n * @since 2.1.5\n * @product highcharts\n * @apioption yAxis.stackLabels.y\n */\n /**\n * Whether to force the axis to start on a tick. Use this option with\n * the `maxPadding` option to control the axis start.\n *\n * This option is always disabled, when panning type is\n * either `y` or `xy`.\n *\n * @see [type](#chart.panning.type)\n *\n * @sample {highcharts} highcharts/xaxis/startontick-false/\n * False by default\n * @sample {highcharts} highcharts/xaxis/startontick-true/\n * True\n * @sample {highstock} stock/xaxis/endontick/\n * False for Y axis\n *\n * @since 1.2.0\n * @product highcharts highstock gantt\n */\n startOnTick: true,\n title: {\n /**\n * The pixel distance between the axis labels and the title.\n * Positive values are outside the axis line, negative are inside.\n *\n * @sample {highcharts} highcharts/xaxis/title-margin/\n * Y axis title margin of 60\n *\n * @type {number}\n * @default 40\n * @apioption yAxis.title.margin\n */\n /**\n * The rotation of the text in degrees. 0 is horizontal, 270 is\n * vertical reading from bottom to top.\n *\n * @sample {highcharts} highcharts/yaxis/title-offset/\n * Horizontal\n */\n rotation: 270,\n /**\n * The actual text of the axis title. Horizontal texts can contain\n * HTML, but rotated texts are painted using vector techniques and\n * must be clean text. The Y axis title is disabled by setting the\n * `text` option to `undefined`.\n *\n * @sample {highcharts} highcharts/xaxis/title-text/\n * Custom HTML\n *\n * @type {string|null}\n * @default {highcharts} Values\n * @default {highstock} undefined\n * @product highcharts highstock gantt\n */\n text: 'Values'\n },\n /**\n * The top position of the Y axis. If it's a number, it is interpreted\n * as pixel position relative to the chart.\n *\n * Since Highcharts 2: If it's a percentage string, it is interpreted as\n * percentages of the plot height, offset from plot area top.\n *\n * @see [yAxis.height](#yAxis.height)\n *\n * @sample {highstock} stock/demo/candlestick-and-volume/\n * Percentage height panes\n *\n * @type {number|string}\n * @product highcharts highstock\n * @apioption yAxis.top\n */\n /**\n * The stack labels show the total value for each bar in a stacked\n * column or bar chart. The label will be placed on top of positive\n * columns and below negative columns. In case of an inverted column\n * chart or a bar chart the label is placed to the right of positive\n * bars and to the left of negative bars.\n *\n * @product highcharts\n */\n stackLabels: {\n /**\n * Enable or disable the initial animation when a series is\n * displayed for the `stackLabels`. The animation can also be set as\n * a configuration object. Please note that this option only\n * applies to the initial animation.\n * For other animations, see [chart.animation](#chart.animation)\n * and the animation parameter under the API methods.\n * The following properties are supported:\n *\n * - `defer`: The animation delay time in milliseconds.\n *\n * @sample {highcharts} highcharts/plotoptions/animation-defer/\n * Animation defer settings\n * @type {boolean|Partial}\n * @since 8.2.0\n * @apioption yAxis.stackLabels.animation\n */\n animation: {},\n /**\n * The animation delay time in milliseconds.\n * Set to `0` renders stackLabel immediately.\n * As `undefined` inherits defer time from the [series.animation.defer](#plotOptions.series.animation.defer).\n *\n * @type {number}\n * @since 8.2.0\n * @apioption yAxis.stackLabels.animation.defer\n */\n /**\n * Allow the stack labels to overlap.\n *\n * @sample {highcharts} highcharts/yaxis/stacklabels-allowoverlap-false/\n * Default false\n *\n * @since 5.0.13\n * @product highcharts\n */\n allowOverlap: false,\n /**\n * The background color or gradient for the stack label.\n *\n * @sample {highcharts} highcharts/yaxis/stacklabels-box/\n * Stack labels box options\n * @type {Highcharts.ColorType}\n * @since 8.1.0\n * @apioption yAxis.stackLabels.backgroundColor\n */\n /**\n * The border color for the stack label. Defaults to `undefined`.\n *\n * @sample {highcharts} highcharts/yaxis/stacklabels-box/\n * Stack labels box options\n * @type {Highcharts.ColorType}\n * @since 8.1.0\n * @apioption yAxis.stackLabels.borderColor\n */\n /**\n * The border radius in pixels for the stack label.\n *\n * @sample {highcharts} highcharts/yaxis/stacklabels-box/\n * Stack labels box options\n * @type {number}\n * @default 0\n * @since 8.1.0\n * @apioption yAxis.stackLabels.borderRadius\n */\n /**\n * The border width in pixels for the stack label.\n *\n * @sample {highcharts} highcharts/yaxis/stacklabels-box/\n * Stack labels box options\n * @type {number}\n * @default 0\n * @since 8.1.0\n * @apioption yAxis.stackLabels.borderWidth\n */\n /**\n * Enable or disable the stack total labels.\n *\n * @sample {highcharts} highcharts/yaxis/stacklabels-enabled/\n * Enabled stack total labels\n * @sample {highcharts} highcharts/yaxis/stacklabels-enabled-waterfall/\n * Enabled stack labels in waterfall chart\n *\n * @since 2.1.5\n * @product highcharts\n */\n enabled: false,\n /**\n * Whether to hide stack labels that are outside the plot area.\n * By default, the stack label is moved\n * inside the plot area according to the\n * [overflow](/highcharts/#yAxis/stackLabels/overflow)\n * option.\n *\n * @type {boolean}\n * @since 7.1.3\n */\n crop: true,\n /**\n * How to handle stack total labels that flow outside the plot area.\n * The default is set to `\"justify\"`,\n * which aligns them inside the plot area.\n * For columns and bars, this means it will be moved inside the bar.\n * To display stack labels outside the plot area,\n * set `crop` to `false` and `overflow` to `\"allow\"`.\n *\n * @sample highcharts/yaxis/stacklabels-overflow/\n * Stack labels flows outside the plot area.\n *\n * @type {Highcharts.DataLabelsOverflowValue}\n * @since 7.1.3\n */\n overflow: 'justify',\n /* eslint-disable valid-jsdoc */\n /**\n * Callback JavaScript function to format the label. The value is\n * given by `this.total`.\n *\n * @sample {highcharts} highcharts/yaxis/stacklabels-formatter/\n * Added units to stack total value\n *\n * @type {Highcharts.FormatterCallbackFunction}\n * @since 2.1.5\n * @product highcharts\n */\n formatter: function () {\n var numberFormatter = this.axis.chart.numberFormatter;\n /* eslint-enable valid-jsdoc */\n return numberFormatter(this.total, -1);\n },\n /**\n * CSS styles for the label.\n *\n * In styled mode, the styles are set in the\n * `.highcharts-stack-label` class.\n *\n * @sample {highcharts} highcharts/yaxis/stacklabels-style/\n * Red stack total labels\n *\n * @type {Highcharts.CSSObject}\n * @since 2.1.5\n * @product highcharts\n */\n style: {\n /** @internal */\n color: '#000000',\n /** @internal */\n fontSize: '11px',\n /** @internal */\n fontWeight: 'bold',\n /** @internal */\n textOutline: '1px contrast'\n }\n },\n gridLineWidth: 1,\n lineWidth: 0\n // tickWidth: 0\n };\n /**\n * The Z axis or depth axis for 3D plots.\n *\n * See the [Axis class](/class-reference/Highcharts.Axis) for programmatic\n * access to the axis.\n *\n * @sample {highcharts} highcharts/3d/scatter-zaxis-categories/\n * Z-Axis with Categories\n * @sample {highcharts} highcharts/3d/scatter-zaxis-grid/\n * Z-Axis with styling\n *\n * @type {*|Array<*>}\n * @extends xAxis\n * @since 5.0.0\n * @product highcharts\n * @excluding breaks, crosshair, height, left, lineColor, lineWidth,\n * nameToX, showEmpty, top, width\n * @apioption zAxis\n *\n * @private\n */\n // This variable extends the defaultOptions for left axes.\n Axis.defaultLeftAxisOptions = {\n labels: {\n x: -15\n },\n title: {\n rotation: 270\n }\n };\n // This variable extends the defaultOptions for right axes.\n Axis.defaultRightAxisOptions = {\n labels: {\n x: 15\n },\n title: {\n rotation: 90\n }\n };\n // This variable extends the defaultOptions for bottom axes.\n Axis.defaultBottomAxisOptions = {\n labels: {\n autoRotation: [-45],\n x: 0\n // overflow: undefined,\n // staggerLines: null\n },\n margin: 15,\n title: {\n rotation: 0\n }\n };\n // This variable extends the defaultOptions for top axes.\n Axis.defaultTopAxisOptions = {\n labels: {\n autoRotation: [-45],\n x: 0\n // overflow: undefined\n // staggerLines: null\n },\n margin: 15,\n title: {\n rotation: 0\n }\n };\n // Properties to survive after destroy, needed for Axis.update (#4317,\n // #5773, #5881).\n Axis.keepProps = ['extKey', 'hcEvents', 'names', 'series', 'userMax', 'userMin'];\n return Axis;\n }());\n H.Axis = Axis;\n\n return H.Axis;\n });\n _registerModule(_modules, 'Core/Axis/DateTimeAxis.js', [_modules['Core/Axis/Axis.js'], _modules['Core/Utilities.js']], function (Axis, U) {\n /* *\n *\n * (c) 2010-2020 Torstein Honsi\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n var addEvent = U.addEvent,\n getMagnitude = U.getMagnitude,\n normalizeTickInterval = U.normalizeTickInterval,\n timeUnits = U.timeUnits;\n /* eslint-disable valid-jsdoc */\n var DateTimeAxisAdditions = /** @class */ (function () {\n /* *\n *\n * Constructors\n *\n * */\n function DateTimeAxisAdditions(axis) {\n this.axis = axis;\n }\n /* *\n *\n * Functions\n *\n * */\n /**\n * Get a normalized tick interval for dates. Returns a configuration object\n * with unit range (interval), count and name. Used to prepare data for\n * `getTimeTicks`. Previously this logic was part of getTimeTicks, but as\n * `getTimeTicks` now runs of segments in stock charts, the normalizing\n * logic was extracted in order to prevent it for running over again for\n * each segment having the same interval. #662, #697.\n * @private\n */\n /**\n * Get a normalized tick interval for dates. Returns a configuration object\n * with unit range (interval), count and name. Used to prepare data for\n * `getTimeTicks`. Previously this logic was part of getTimeTicks, but as\n * `getTimeTicks` now runs of segments in stock charts, the normalizing\n * logic was extracted in order to prevent it for running over again for\n * each segment having the same interval. #662, #697.\n * @private\n */\n DateTimeAxisAdditions.prototype.normalizeTimeTickInterval = function (tickInterval, unitsOption) {\n var units = unitsOption || [[\n 'millisecond',\n [1, 2, 5, 10, 20, 25, 50, 100, 200, 500] // allowed multiples\n ],\n [\n 'second',\n [1, 2, 5, 10, 15, 30]\n ],\n [\n 'minute',\n [1, 2, 5, 10, 15, 30]\n ],\n [\n 'hour',\n [1, 2, 3, 4, 6, 8, 12]\n ],\n [\n 'day',\n [1, 2]\n ],\n [\n 'week',\n [1, 2]\n ],\n [\n 'month',\n [1, 2, 3, 4, 6]\n ],\n [\n 'year',\n null\n ]],\n unit = units[units.length - 1], // default unit is years\n interval = timeUnits[unit[0]],\n multiples = unit[1],\n count,\n i;\n // loop through the units to find the one that best fits the\n // tickInterval\n for (i = 0; i < units.length; i++) {\n unit = units[i];\n interval = timeUnits[unit[0]];\n multiples = unit[1];\n if (units[i + 1]) {\n // lessThan is in the middle between the highest multiple and\n // the next unit.\n var lessThan = (interval *\n multiples[multiples.length - 1] +\n timeUnits[units[i + 1][0]]) / 2;\n // break and keep the current unit\n if (tickInterval <= lessThan) {\n break;\n }\n }\n }\n // prevent 2.5 years intervals, though 25, 250 etc. are allowed\n if (interval === timeUnits.year && tickInterval < 5 * interval) {\n multiples = [1, 2, 5];\n }\n // get the count\n count = normalizeTickInterval(tickInterval / interval, multiples, unit[0] === 'year' ? // #1913, #2360\n Math.max(getMagnitude(tickInterval / interval), 1) :\n 1);\n return {\n unitRange: interval,\n count: count,\n unitName: unit[0]\n };\n };\n return DateTimeAxisAdditions;\n }());\n /**\n * Date and time support for axes.\n *\n * @private\n * @class\n */\n var DateTimeAxis = /** @class */ (function () {\n function DateTimeAxis() {\n }\n /* *\n *\n * Static Functions\n *\n * */\n /**\n * Extends axis class with date and time support.\n * @private\n */\n DateTimeAxis.compose = function (AxisClass) {\n AxisClass.keepProps.push('dateTime');\n var axisProto = AxisClass.prototype;\n /**\n * Set the tick positions to a time unit that makes sense, for example\n * on the first of each month or on every Monday. Return an array with\n * the time positions. Used in datetime axes as well as for grouping\n * data on a datetime axis.\n *\n * @private\n * @function Highcharts.Axis#getTimeTicks\n *\n * @param {Highcharts.TimeNormalizeObject} normalizedInterval\n * The interval in axis values (ms) and thecount.\n *\n * @param {number} min\n * The minimum in axis values.\n *\n * @param {number} max\n * The maximum in axis values.\n *\n * @param {number} startOfWeek\n *\n * @return {Highcharts.AxisTickPositionsArray}\n */\n axisProto.getTimeTicks = function () {\n return this.chart.time.getTimeTicks.apply(this.chart.time, arguments);\n };\n /* eslint-disable no-invalid-this */\n addEvent(AxisClass, 'init', function (e) {\n var axis = this;\n var options = e.userOptions;\n if (options.type !== 'datetime') {\n axis.dateTime = void 0;\n return;\n }\n if (!axis.dateTime) {\n axis.dateTime = new DateTimeAxisAdditions(axis);\n }\n });\n /* eslint-enable no-invalid-this */\n };\n /* *\n *\n * Static Properties\n *\n * */\n DateTimeAxis.AdditionsClass = DateTimeAxisAdditions;\n return DateTimeAxis;\n }());\n DateTimeAxis.compose(Axis);\n\n return DateTimeAxis;\n });\n _registerModule(_modules, 'Core/Axis/LogarithmicAxis.js', [_modules['Core/Axis/Axis.js'], _modules['Core/Utilities.js']], function (Axis, U) {\n /* *\n *\n * (c) 2010-2020 Torstein Honsi\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n var addEvent = U.addEvent,\n getMagnitude = U.getMagnitude,\n normalizeTickInterval = U.normalizeTickInterval,\n pick = U.pick;\n /* eslint-disable valid-jsdoc */\n /**\n * Provides logarithmic support for axes.\n *\n * @private\n * @class\n */\n var LogarithmicAxisAdditions = /** @class */ (function () {\n /* *\n *\n * Constructors\n *\n * */\n function LogarithmicAxisAdditions(axis) {\n this.axis = axis;\n }\n /* *\n *\n * Functions\n *\n * */\n /**\n * Set the tick positions of a logarithmic axis.\n */\n LogarithmicAxisAdditions.prototype.getLogTickPositions = function (interval, min, max, minor) {\n var log = this;\n var axis = log.axis;\n var axisLength = axis.len;\n var options = axis.options;\n // Since we use this method for both major and minor ticks,\n // use a local variable and return the result\n var positions = [];\n // Reset\n if (!minor) {\n log.minorAutoInterval = void 0;\n }\n // First case: All ticks fall on whole logarithms: 1, 10, 100 etc.\n if (interval >= 0.5) {\n interval = Math.round(interval);\n positions = axis.getLinearTickPositions(interval, min, max);\n // Second case: We need intermediary ticks. For example\n // 1, 2, 4, 6, 8, 10, 20, 40 etc.\n }\n else if (interval >= 0.08) {\n var roundedMin = Math.floor(min),\n intermediate,\n i,\n j,\n len,\n pos,\n lastPos,\n break2;\n if (interval > 0.3) {\n intermediate = [1, 2, 4];\n // 0.2 equals five minor ticks per 1, 10, 100 etc\n }\n else if (interval > 0.15) {\n intermediate = [1, 2, 4, 6, 8];\n }\n else { // 0.1 equals ten minor ticks per 1, 10, 100 etc\n intermediate = [1, 2, 3, 4, 5, 6, 7, 8, 9];\n }\n for (i = roundedMin; i < max + 1 && !break2; i++) {\n len = intermediate.length;\n for (j = 0; j < len && !break2; j++) {\n pos = log.log2lin(log.lin2log(i) * intermediate[j]);\n // #1670, lastPos is #3113\n if (pos > min &&\n (!minor || lastPos <= max) &&\n typeof lastPos !== 'undefined') {\n positions.push(lastPos);\n }\n if (lastPos > max) {\n break2 = true;\n }\n lastPos = pos;\n }\n }\n // Third case: We are so deep in between whole logarithmic values that\n // we might as well handle the tick positions like a linear axis. For\n // example 1.01, 1.02, 1.03, 1.04.\n }\n else {\n var realMin = log.lin2log(min),\n realMax = log.lin2log(max),\n tickIntervalOption = minor ?\n axis.getMinorTickInterval() :\n options.tickInterval,\n filteredTickIntervalOption = tickIntervalOption === 'auto' ?\n null :\n tickIntervalOption,\n tickPixelIntervalOption = options.tickPixelInterval / (minor ? 5 : 1),\n totalPixelLength = minor ?\n axisLength / axis.tickPositions.length :\n axisLength;\n interval = pick(filteredTickIntervalOption, log.minorAutoInterval, (realMax - realMin) *\n tickPixelIntervalOption / (totalPixelLength || 1));\n interval = normalizeTickInterval(interval, void 0, getMagnitude(interval));\n positions = axis.getLinearTickPositions(interval, realMin, realMax).map(log.log2lin);\n if (!minor) {\n log.minorAutoInterval = interval / 5;\n }\n }\n // Set the axis-level tickInterval variable\n if (!minor) {\n axis.tickInterval = interval;\n }\n return positions;\n };\n LogarithmicAxisAdditions.prototype.lin2log = function (num) {\n return Math.pow(10, num);\n };\n LogarithmicAxisAdditions.prototype.log2lin = function (num) {\n return Math.log(num) / Math.LN10;\n };\n return LogarithmicAxisAdditions;\n }());\n var LogarithmicAxis = /** @class */ (function () {\n function LogarithmicAxis() {\n }\n /**\n * Provides logarithmic support for axes.\n *\n * @private\n */\n LogarithmicAxis.compose = function (AxisClass) {\n AxisClass.keepProps.push('logarithmic');\n // HC <= 8 backwards compatibility, allow wrapping\n // Axis.prototype.lin2log and log2lin\n // @todo Remove this in next major\n var axisProto = AxisClass.prototype;\n var logAxisProto = LogarithmicAxisAdditions.prototype;\n axisProto.log2lin = logAxisProto.log2lin;\n axisProto.lin2log = logAxisProto.lin2log;\n /* eslint-disable no-invalid-this */\n addEvent(AxisClass, 'init', function (e) {\n var axis = this;\n var options = e.userOptions;\n var logarithmic = axis.logarithmic;\n if (options.type !== 'logarithmic') {\n axis.logarithmic = void 0;\n }\n else {\n if (!logarithmic) {\n logarithmic = axis.logarithmic = new LogarithmicAxisAdditions(axis);\n }\n // HC <= 8 backwards compatibility, allow wrapping\n // Axis.prototype.lin2log and log2lin\n // @todo Remove this in next major\n if (axis.log2lin !== logarithmic.log2lin) {\n logarithmic.log2lin = axis.log2lin.bind(axis);\n }\n if (axis.lin2log !== logarithmic.lin2log) {\n logarithmic.lin2log = axis.lin2log.bind(axis);\n }\n }\n });\n addEvent(AxisClass, 'afterInit', function () {\n var axis = this;\n var log = axis.logarithmic;\n // extend logarithmic axis\n if (log) {\n axis.lin2val = function (num) {\n return log.lin2log(num);\n };\n axis.val2lin = function (num) {\n return log.log2lin(num);\n };\n }\n });\n };\n return LogarithmicAxis;\n }());\n LogarithmicAxis.compose(Axis); // @todo move to factory functions\n\n return LogarithmicAxis;\n });\n _registerModule(_modules, 'Core/Axis/PlotLineOrBand.js', [_modules['Core/Axis/Axis.js'], _modules['Core/Globals.js'], _modules['Core/Utilities.js']], function (Axis, H, U) {\n /* *\n *\n * (c) 2010-2020 Torstein Honsi\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n /**\n * Options for plot bands on axes.\n *\n * @typedef {Highcharts.XAxisPlotBandsOptions|Highcharts.YAxisPlotBandsOptions|Highcharts.ZAxisPlotBandsOptions} Highcharts.AxisPlotBandsOptions\n */\n /**\n * Options for plot band labels on axes.\n *\n * @typedef {Highcharts.XAxisPlotBandsLabelOptions|Highcharts.YAxisPlotBandsLabelOptions|Highcharts.ZAxisPlotBandsLabelOptions} Highcharts.AxisPlotBandsLabelOptions\n */\n /**\n * Options for plot lines on axes.\n *\n * @typedef {Highcharts.XAxisPlotLinesOptions|Highcharts.YAxisPlotLinesOptions|Highcharts.ZAxisPlotLinesOptions} Highcharts.AxisPlotLinesOptions\n */\n /**\n * Options for plot line labels on axes.\n *\n * @typedef {Highcharts.XAxisPlotLinesLabelOptions|Highcharts.YAxisPlotLinesLabelOptions|Highcharts.ZAxisPlotLinesLabelOptions} Highcharts.AxisPlotLinesLabelOptions\n */\n var arrayMax = U.arrayMax,\n arrayMin = U.arrayMin,\n defined = U.defined,\n destroyObjectProperties = U.destroyObjectProperties,\n erase = U.erase,\n extend = U.extend,\n merge = U.merge,\n objectEach = U.objectEach,\n pick = U.pick;\n /* eslint-disable no-invalid-this, valid-jsdoc */\n /**\n * The object wrapper for plot lines and plot bands\n *\n * @class\n * @name Highcharts.PlotLineOrBand\n *\n * @param {Highcharts.Axis} axis\n *\n * @param {Highcharts.AxisPlotLinesOptions|Highcharts.AxisPlotBandsOptions} [options]\n */\n var PlotLineOrBand = /** @class */ (function () {\n function PlotLineOrBand(axis, options) {\n this.axis = axis;\n if (options) {\n this.options = options;\n this.id = options.id;\n }\n }\n /**\n * Render the plot line or plot band. If it is already existing,\n * move it.\n *\n * @private\n * @function Highcharts.PlotLineOrBand#render\n * @return {Highcharts.PlotLineOrBand|undefined}\n */\n PlotLineOrBand.prototype.render = function () {\n H.fireEvent(this, 'render');\n var plotLine = this,\n axis = plotLine.axis,\n horiz = axis.horiz,\n log = axis.logarithmic,\n options = plotLine.options,\n optionsLabel = options.label,\n label = plotLine.label,\n to = options.to,\n from = options.from,\n value = options.value,\n isBand = defined(from) && defined(to),\n isLine = defined(value),\n svgElem = plotLine.svgElem,\n isNew = !svgElem,\n path = [],\n color = options.color,\n zIndex = pick(options.zIndex, 0),\n events = options.events,\n attribs = {\n 'class': 'highcharts-plot-' + (isBand ? 'band ' : 'line ') +\n (options.className || '')\n },\n groupAttribs = {},\n renderer = axis.chart.renderer,\n groupName = isBand ? 'bands' : 'lines',\n group;\n // logarithmic conversion\n if (log) {\n from = log.log2lin(from);\n to = log.log2lin(to);\n value = log.log2lin(value);\n }\n // Set the presentational attributes\n if (!axis.chart.styledMode) {\n if (isLine) {\n attribs.stroke = color || '#999999';\n attribs['stroke-width'] = pick(options.width, 1);\n if (options.dashStyle) {\n attribs.dashstyle =\n options.dashStyle;\n }\n }\n else if (isBand) { // plot band\n attribs.fill = color || '#e6ebf5';\n if (options.borderWidth) {\n attribs.stroke = options.borderColor;\n attribs['stroke-width'] = options.borderWidth;\n }\n }\n }\n // Grouping and zIndex\n groupAttribs.zIndex = zIndex;\n groupName += '-' + zIndex;\n group = axis.plotLinesAndBandsGroups[groupName];\n if (!group) {\n axis.plotLinesAndBandsGroups[groupName] = group =\n renderer.g('plot-' + groupName)\n .attr(groupAttribs).add();\n }\n // Create the path\n if (isNew) {\n /**\n * SVG element of the plot line or band.\n *\n * @name Highcharts.PlotLineOrBand#svgElement\n * @type {Highcharts.SVGElement}\n */\n plotLine.svgElem = svgElem = renderer\n .path()\n .attr(attribs)\n .add(group);\n }\n // Set the path or return\n if (isLine) {\n path = axis.getPlotLinePath({\n value: value,\n lineWidth: svgElem.strokeWidth(),\n acrossPanes: options.acrossPanes\n });\n }\n else if (isBand) { // plot band\n path = axis.getPlotBandPath(from, to, options);\n }\n else {\n return;\n }\n // common for lines and bands\n // Add events only if they were not added before.\n if (!plotLine.eventsAdded && events) {\n objectEach(events, function (event, eventType) {\n svgElem.on(eventType, function (e) {\n events[eventType].apply(plotLine, [e]);\n });\n });\n plotLine.eventsAdded = true;\n }\n if ((isNew || !svgElem.d) && path && path.length) {\n svgElem.attr({ d: path });\n }\n else if (svgElem) {\n if (path) {\n svgElem.show(true);\n svgElem.animate({ d: path });\n }\n else if (svgElem.d) {\n svgElem.hide();\n if (label) {\n plotLine.label = label = label.destroy();\n }\n }\n }\n // the plot band/line label\n if (optionsLabel &&\n (defined(optionsLabel.text) || defined(optionsLabel.formatter)) &&\n path &&\n path.length &&\n axis.width > 0 &&\n axis.height > 0 &&\n !path.isFlat) {\n // apply defaults\n optionsLabel = merge({\n align: horiz && isBand && 'center',\n x: horiz ? !isBand && 4 : 10,\n verticalAlign: !horiz && isBand && 'middle',\n y: horiz ? isBand ? 16 : 10 : isBand ? 6 : -4,\n rotation: horiz && !isBand && 90\n }, optionsLabel);\n this.renderLabel(optionsLabel, path, isBand, zIndex);\n }\n else if (label) { // move out of sight\n label.hide();\n }\n // chainable\n return plotLine;\n };\n /**\n * Render and align label for plot line or band.\n *\n * @private\n * @function Highcharts.PlotLineOrBand#renderLabel\n * @param {Highcharts.AxisPlotLinesLabelOptions|Highcharts.AxisPlotBandsLabelOptions} optionsLabel\n * @param {Highcharts.SVGPathArray} path\n * @param {boolean} [isBand]\n * @param {number} [zIndex]\n * @return {void}\n */\n PlotLineOrBand.prototype.renderLabel = function (optionsLabel, path, isBand, zIndex) {\n var plotLine = this,\n label = plotLine.label,\n renderer = plotLine.axis.chart.renderer,\n attribs,\n xBounds,\n yBounds,\n x,\n y,\n labelText;\n // add the SVG element\n if (!label) {\n attribs = {\n align: optionsLabel.textAlign || optionsLabel.align,\n rotation: optionsLabel.rotation,\n 'class': 'highcharts-plot-' + (isBand ? 'band' : 'line') +\n '-label ' + (optionsLabel.className || '')\n };\n attribs.zIndex = zIndex;\n labelText = this.getLabelText(optionsLabel);\n /**\n * SVG element of the label.\n *\n * @name Highcharts.PlotLineOrBand#label\n * @type {Highcharts.SVGElement}\n */\n plotLine.label = label = renderer\n .text(labelText, 0, 0, optionsLabel.useHTML)\n .attr(attribs)\n .add();\n if (!this.axis.chart.styledMode) {\n label.css(optionsLabel.style);\n }\n }\n // get the bounding box and align the label\n // #3000 changed to better handle choice between plotband or plotline\n xBounds = path.xBounds ||\n [path[0][1], path[1][1], (isBand ? path[2][1] : path[0][1])];\n yBounds = path.yBounds ||\n [path[0][2], path[1][2], (isBand ? path[2][2] : path[0][2])];\n x = arrayMin(xBounds);\n y = arrayMin(yBounds);\n label.align(optionsLabel, false, {\n x: x,\n y: y,\n width: arrayMax(xBounds) - x,\n height: arrayMax(yBounds) - y\n });\n label.show(true);\n };\n /**\n * Get label's text content.\n *\n * @private\n * @function Highcharts.PlotLineOrBand#getLabelText\n * @param {Highcharts.AxisPlotLinesLabelOptions|Highcharts.AxisPlotBandsLabelOptions} optionsLabel\n * @return {string}\n */\n PlotLineOrBand.prototype.getLabelText = function (optionsLabel) {\n return defined(optionsLabel.formatter) ?\n optionsLabel.formatter\n .call(this) :\n optionsLabel.text;\n };\n /**\n * Remove the plot line or band.\n *\n * @function Highcharts.PlotLineOrBand#destroy\n * @return {void}\n */\n PlotLineOrBand.prototype.destroy = function () {\n // remove it from the lookup\n erase(this.axis.plotLinesAndBands, this);\n delete this.axis;\n destroyObjectProperties(this);\n };\n return PlotLineOrBand;\n }());\n /* eslint-enable no-invalid-this, valid-jsdoc */\n // Object with members for extending the Axis prototype\n extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */ {\n /**\n * An array of colored bands stretching across the plot area marking an\n * interval on the axis.\n *\n * In styled mode, the plot bands are styled by the `.highcharts-plot-band`\n * class in addition to the `className` option.\n *\n * @productdesc {highcharts}\n * In a gauge, a plot band on the Y axis (value axis) will stretch along the\n * perimeter of the gauge.\n *\n * @type {Array<*>}\n * @product highcharts highstock gantt\n * @apioption xAxis.plotBands\n */\n /**\n * Flag to decide if plotBand should be rendered across all panes.\n *\n * @since 7.1.2\n * @product highstock\n * @type {boolean}\n * @default true\n * @apioption xAxis.plotBands.acrossPanes\n */\n /**\n * Border color for the plot band. Also requires `borderWidth` to be set.\n *\n * @type {Highcharts.ColorString}\n * @apioption xAxis.plotBands.borderColor\n */\n /**\n * Border width for the plot band. Also requires `borderColor` to be set.\n *\n * @type {number}\n * @default 0\n * @apioption xAxis.plotBands.borderWidth\n */\n /**\n * A custom class name, in addition to the default `highcharts-plot-band`,\n * to apply to each individual band.\n *\n * @type {string}\n * @since 5.0.0\n * @apioption xAxis.plotBands.className\n */\n /**\n * The color of the plot band.\n *\n * @sample {highcharts} highcharts/xaxis/plotbands-color/\n * Color band\n * @sample {highstock} stock/xaxis/plotbands/\n * Plot band on Y axis\n *\n * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}\n * @default #e6ebf5\n * @apioption xAxis.plotBands.color\n */\n /**\n * An object defining mouse events for the plot band. Supported properties\n * are `click`, `mouseover`, `mouseout`, `mousemove`.\n *\n * @sample {highcharts} highcharts/xaxis/plotbands-events/\n * Mouse events demonstrated\n *\n * @since 1.2\n * @apioption xAxis.plotBands.events\n */\n /**\n * Click event on a plot band.\n *\n * @type {Highcharts.EventCallbackFunction}\n * @apioption xAxis.plotBands.events.click\n */\n /**\n * Mouse move event on a plot band.\n *\n * @type {Highcharts.EventCallbackFunction}\n * @apioption xAxis.plotBands.events.mousemove\n */\n /**\n * Mouse out event on the corner of a plot band.\n *\n * @type {Highcharts.EventCallbackFunction}\n * @apioption xAxis.plotBands.events.mouseout\n */\n /**\n * Mouse over event on a plot band.\n *\n * @type {Highcharts.EventCallbackFunction}\n * @apioption xAxis.plotBands.events.mouseover\n */\n /**\n * The start position of the plot band in axis units.\n *\n * @sample {highcharts} highcharts/xaxis/plotbands-color/\n * Datetime axis\n * @sample {highcharts} highcharts/xaxis/plotbands-from/\n * Categorized axis\n * @sample {highstock} stock/xaxis/plotbands/\n * Plot band on Y axis\n *\n * @type {number}\n * @apioption xAxis.plotBands.from\n */\n /**\n * An id used for identifying the plot band in Axis.removePlotBand.\n *\n * @sample {highcharts} highcharts/xaxis/plotbands-id/\n * Remove plot band by id\n * @sample {highstock} highcharts/xaxis/plotbands-id/\n * Remove plot band by id\n *\n * @type {string}\n * @apioption xAxis.plotBands.id\n */\n /**\n * The end position of the plot band in axis units.\n *\n * @sample {highcharts} highcharts/xaxis/plotbands-color/\n * Datetime axis\n * @sample {highcharts} highcharts/xaxis/plotbands-from/\n * Categorized axis\n * @sample {highstock} stock/xaxis/plotbands/\n * Plot band on Y axis\n *\n * @type {number}\n * @apioption xAxis.plotBands.to\n */\n /**\n * The z index of the plot band within the chart, relative to other\n * elements. Using the same z index as another element may give\n * unpredictable results, as the last rendered element will be on top.\n * Values from 0 to 20 make sense.\n *\n * @sample {highcharts} highcharts/xaxis/plotbands-color/\n * Behind plot lines by default\n * @sample {highcharts} highcharts/xaxis/plotbands-zindex/\n * Above plot lines\n * @sample {highcharts} highcharts/xaxis/plotbands-zindex-above-series/\n * Above plot lines and series\n *\n * @type {number}\n * @since 1.2\n * @apioption xAxis.plotBands.zIndex\n */\n /**\n * Text labels for the plot bands\n *\n * @product highcharts highstock gantt\n * @apioption xAxis.plotBands.label\n */\n /**\n * Horizontal alignment of the label. Can be one of \"left\", \"center\" or\n * \"right\".\n *\n * @sample {highcharts} highcharts/xaxis/plotbands-label-align/\n * Aligned to the right\n * @sample {highstock} stock/xaxis/plotbands-label/\n * Plot band with labels\n *\n * @type {Highcharts.AlignValue}\n * @default center\n * @since 2.1\n * @apioption xAxis.plotBands.label.align\n */\n /**\n * Rotation of the text label in degrees .\n *\n * @sample {highcharts} highcharts/xaxis/plotbands-label-rotation/\n * Vertical text\n *\n * @type {number}\n * @default 0\n * @since 2.1\n * @apioption xAxis.plotBands.label.rotation\n */\n /**\n * CSS styles for the text label.\n *\n * In styled mode, the labels are styled by the\n * `.highcharts-plot-band-label` class.\n *\n * @sample {highcharts} highcharts/xaxis/plotbands-label-style/\n * Blue and bold label\n *\n * @type {Highcharts.CSSObject}\n * @since 2.1\n * @apioption xAxis.plotBands.label.style\n */\n /**\n * The string text itself. A subset of HTML is supported.\n *\n * @type {string}\n * @since 2.1\n * @apioption xAxis.plotBands.label.text\n */\n /**\n * The text alignment for the label. While `align` determines where the\n * texts anchor point is placed within the plot band, `textAlign` determines\n * how the text is aligned against its anchor point. Possible values are\n * \"left\", \"center\" and \"right\". Defaults to the same as the `align` option.\n *\n * @sample {highcharts} highcharts/xaxis/plotbands-label-rotation/\n * Vertical text in center position but text-aligned left\n *\n * @type {Highcharts.AlignValue}\n * @since 2.1\n * @apioption xAxis.plotBands.label.textAlign\n */\n /**\n * Whether to [use HTML](https://www.highcharts.com/docs/chart-concepts/labels-and-string-formatting#html)\n * to render the labels.\n *\n * @type {boolean}\n * @default false\n * @since 3.0.3\n * @apioption xAxis.plotBands.label.useHTML\n */\n /**\n * Vertical alignment of the label relative to the plot band. Can be one of\n * \"top\", \"middle\" or \"bottom\".\n *\n * @sample {highcharts} highcharts/xaxis/plotbands-label-verticalalign/\n * Vertically centered label\n * @sample {highstock} stock/xaxis/plotbands-label/\n * Plot band with labels\n *\n * @type {Highcharts.VerticalAlignValue}\n * @default top\n * @since 2.1\n * @apioption xAxis.plotBands.label.verticalAlign\n */\n /**\n * Horizontal position relative the alignment. Default varies by\n * orientation.\n *\n * @sample {highcharts} highcharts/xaxis/plotbands-label-align/\n * Aligned 10px from the right edge\n * @sample {highstock} stock/xaxis/plotbands-label/\n * Plot band with labels\n *\n * @type {number}\n * @since 2.1\n * @apioption xAxis.plotBands.label.x\n */\n /**\n * Vertical position of the text baseline relative to the alignment. Default\n * varies by orientation.\n *\n * @sample {highcharts} highcharts/xaxis/plotbands-label-y/\n * Label on x axis\n * @sample {highstock} stock/xaxis/plotbands-label/\n * Plot band with labels\n *\n * @type {number}\n * @since 2.1\n * @apioption xAxis.plotBands.label.y\n */\n /**\n * An array of lines stretching across the plot area, marking a specific\n * value on one of the axes.\n *\n * In styled mode, the plot lines are styled by the\n * `.highcharts-plot-line` class in addition to the `className` option.\n *\n * @type {Array<*>}\n * @product highcharts highstock gantt\n * @sample {highcharts} highcharts/xaxis/plotlines-color/\n * Basic plot line\n * @sample {highcharts} highcharts/series-solidgauge/labels-auto-aligned/\n * Solid gauge plot line\n * @apioption xAxis.plotLines\n */\n /**\n * Flag to decide if plotLine should be rendered across all panes.\n *\n * @sample {highstock} stock/xaxis/plotlines-acrosspanes/\n * Plot lines on different panes\n *\n * @since 7.1.2\n * @product highstock\n * @type {boolean}\n * @default true\n * @apioption xAxis.plotLines.acrossPanes\n */\n /**\n * A custom class name, in addition to the default `highcharts-plot-line`,\n * to apply to each individual line.\n *\n * @type {string}\n * @since 5.0.0\n * @apioption xAxis.plotLines.className\n */\n /**\n * The color of the line.\n *\n * @sample {highcharts} highcharts/xaxis/plotlines-color/\n * A red line from X axis\n * @sample {highstock} stock/xaxis/plotlines/\n * Plot line on Y axis\n *\n * @type {Highcharts.ColorString}\n * @default #999999\n * @apioption xAxis.plotLines.color\n */\n /**\n * The dashing or dot style for the plot line. For possible values see\n * [this overview](https://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/highcharts/plotoptions/series-dashstyle-all/).\n *\n * @sample {highcharts} highcharts/xaxis/plotlines-dashstyle/\n * Dash and dot pattern\n * @sample {highstock} stock/xaxis/plotlines/\n * Plot line on Y axis\n *\n * @type {Highcharts.DashStyleValue}\n * @default Solid\n * @since 1.2\n * @apioption xAxis.plotLines.dashStyle\n */\n /**\n * An object defining mouse events for the plot line. Supported\n * properties are `click`, `mouseover`, `mouseout`, `mousemove`.\n *\n * @sample {highcharts} highcharts/xaxis/plotlines-events/\n * Mouse events demonstrated\n *\n * @since 1.2\n * @apioption xAxis.plotLines.events\n */\n /**\n * Click event on a plot band.\n *\n * @type {Highcharts.EventCallbackFunction}\n * @apioption xAxis.plotLines.events.click\n */\n /**\n * Mouse move event on a plot band.\n *\n * @type {Highcharts.EventCallbackFunction}\n * @apioption xAxis.plotLines.events.mousemove\n */\n /**\n * Mouse out event on the corner of a plot band.\n *\n * @type {Highcharts.EventCallbackFunction}\n * @apioption xAxis.plotLines.events.mouseout\n */\n /**\n * Mouse over event on a plot band.\n *\n * @type {Highcharts.EventCallbackFunction}\n * @apioption xAxis.plotLines.events.mouseover\n */\n /**\n * An id used for identifying the plot line in Axis.removePlotLine.\n *\n * @sample {highcharts} highcharts/xaxis/plotlines-id/\n * Remove plot line by id\n *\n * @type {string}\n * @apioption xAxis.plotLines.id\n */\n /**\n * The position of the line in axis units.\n *\n * @sample {highcharts} highcharts/xaxis/plotlines-color/\n * Between two categories on X axis\n * @sample {highstock} stock/xaxis/plotlines/\n * Plot line on Y axis\n *\n * @type {number}\n * @apioption xAxis.plotLines.value\n */\n /**\n * The width or thickness of the plot line.\n *\n * @sample {highcharts} highcharts/xaxis/plotlines-color/\n * 2px wide line from X axis\n * @sample {highstock} stock/xaxis/plotlines/\n * Plot line on Y axis\n *\n * @type {number}\n * @default 2\n * @apioption xAxis.plotLines.width\n */\n /**\n * The z index of the plot line within the chart.\n *\n * @sample {highcharts} highcharts/xaxis/plotlines-zindex-behind/\n * Behind plot lines by default\n * @sample {highcharts} highcharts/xaxis/plotlines-zindex-above/\n * Above plot lines\n * @sample {highcharts} highcharts/xaxis/plotlines-zindex-above-all/\n * Above plot lines and series\n *\n * @type {number}\n * @since 1.2\n * @apioption xAxis.plotLines.zIndex\n */\n /**\n * Text labels for the plot bands\n *\n * @apioption xAxis.plotLines.label\n */\n /**\n * Horizontal alignment of the label. Can be one of \"left\", \"center\" or\n * \"right\".\n *\n * @sample {highcharts} highcharts/xaxis/plotlines-label-align-right/\n * Aligned to the right\n * @sample {highstock} stock/xaxis/plotlines/\n * Plot line on Y axis\n *\n * @type {Highcharts.AlignValue}\n * @default left\n * @since 2.1\n * @apioption xAxis.plotLines.label.align\n */\n /**\n * Callback JavaScript function to format the label. Useful properties like\n * the value of plot line or the range of plot band (`from` & `to`\n * properties) can be found in `this.options` object.\n *\n * @sample {highcharts} highcharts/xaxis/plotlines-plotbands-label-formatter\n * Label formatters for plot line and plot band.\n * @type {Highcharts.FormatterCallbackFunction}\n * @apioption xAxis.plotLines.label.formatter\n */\n /**\n * Rotation of the text label in degrees. Defaults to 0 for horizontal plot\n * lines and 90 for vertical lines.\n *\n * @sample {highcharts} highcharts/xaxis/plotlines-label-verticalalign-middle/\n * Slanted text\n *\n * @type {number}\n * @since 2.1\n * @apioption xAxis.plotLines.label.rotation\n */\n /**\n * CSS styles for the text label.\n *\n * In styled mode, the labels are styled by the\n * `.highcharts-plot-line-label` class.\n *\n * @sample {highcharts} highcharts/xaxis/plotlines-label-style/\n * Blue and bold label\n *\n * @type {Highcharts.CSSObject}\n * @since 2.1\n * @apioption xAxis.plotLines.label.style\n */\n /**\n * The text itself. A subset of HTML is supported.\n *\n * @type {string}\n * @since 2.1\n * @apioption xAxis.plotLines.label.text\n */\n /**\n * The text alignment for the label. While `align` determines where the\n * texts anchor point is placed within the plot band, `textAlign` determines\n * how the text is aligned against its anchor point. Possible values are\n * \"left\", \"center\" and \"right\". Defaults to the same as the `align` option.\n *\n * @sample {highcharts} highcharts/xaxis/plotlines-label-textalign/\n * Text label in bottom position\n *\n * @type {Highcharts.AlignValue}\n * @since 2.1\n * @apioption xAxis.plotLines.label.textAlign\n */\n /**\n * Whether to [use HTML](https://www.highcharts.com/docs/chart-concepts/labels-and-string-formatting#html)\n * to render the labels.\n *\n * @type {boolean}\n * @default false\n * @since 3.0.3\n * @apioption xAxis.plotLines.label.useHTML\n */\n /**\n * Vertical alignment of the label relative to the plot line. Can be\n * one of \"top\", \"middle\" or \"bottom\".\n *\n * @sample {highcharts} highcharts/xaxis/plotlines-label-verticalalign-middle/\n * Vertically centered label\n *\n * @type {Highcharts.VerticalAlignValue}\n * @default {highcharts} top\n * @default {highstock} top\n * @since 2.1\n * @apioption xAxis.plotLines.label.verticalAlign\n */\n /**\n * Horizontal position relative the alignment. Default varies by\n * orientation.\n *\n * @sample {highcharts} highcharts/xaxis/plotlines-label-align-right/\n * Aligned 10px from the right edge\n * @sample {highstock} stock/xaxis/plotlines/\n * Plot line on Y axis\n *\n * @type {number}\n * @since 2.1\n * @apioption xAxis.plotLines.label.x\n */\n /**\n * Vertical position of the text baseline relative to the alignment. Default\n * varies by orientation.\n *\n * @sample {highcharts} highcharts/xaxis/plotlines-label-y/\n * Label below the plot line\n * @sample {highstock} stock/xaxis/plotlines/\n * Plot line on Y axis\n *\n * @type {number}\n * @since 2.1\n * @apioption xAxis.plotLines.label.y\n */\n /**\n *\n * @type {Array<*>}\n * @extends xAxis.plotBands\n * @apioption yAxis.plotBands\n */\n /**\n * In a gauge chart, this option determines the inner radius of the\n * plot band that stretches along the perimeter. It can be given as\n * a percentage string, like `\"100%\"`, or as a pixel number, like `100`.\n * By default, the inner radius is controlled by the [thickness](\n * #yAxis.plotBands.thickness) option.\n *\n * @sample {highcharts} highcharts/xaxis/plotbands-gauge\n * Gauge plot band\n *\n * @type {number|string}\n * @since 2.3\n * @product highcharts\n * @apioption yAxis.plotBands.innerRadius\n */\n /**\n * In a gauge chart, this option determines the outer radius of the\n * plot band that stretches along the perimeter. It can be given as\n * a percentage string, like `\"100%\"`, or as a pixel number, like `100`.\n *\n * @sample {highcharts} highcharts/xaxis/plotbands-gauge\n * Gauge plot band\n *\n * @type {number|string}\n * @default 100%\n * @since 2.3\n * @product highcharts\n * @apioption yAxis.plotBands.outerRadius\n */\n /**\n * In a gauge chart, this option sets the width of the plot band\n * stretching along the perimeter. It can be given as a percentage\n * string, like `\"10%\"`, or as a pixel number, like `10`. The default\n * value 10 is the same as the default [tickLength](#yAxis.tickLength),\n * thus making the plot band act as a background for the tick markers.\n *\n * @sample {highcharts} highcharts/xaxis/plotbands-gauge\n * Gauge plot band\n *\n * @type {number|string}\n * @default 10\n * @since 2.3\n * @product highcharts\n * @apioption yAxis.plotBands.thickness\n */\n /**\n * @type {Array<*>}\n * @extends xAxis.plotLines\n * @apioption yAxis.plotLines\n */\n /* eslint-disable no-invalid-this, valid-jsdoc */\n /**\n * Internal function to create the SVG path definition for a plot band.\n *\n * @function Highcharts.Axis#getPlotBandPath\n *\n * @param {number} from\n * The axis value to start from.\n *\n * @param {number} to\n * The axis value to end on.\n *\n * @param {Highcharts.AxisPlotBandsOptions|Highcharts.AxisPlotLinesOptions} options\n * The plotBand or plotLine configuration object.\n *\n * @return {Highcharts.SVGPathArray}\n * The SVG path definition in array form.\n */\n getPlotBandPath: function (from, to, options) {\n if (options === void 0) { options = this.options; }\n var toPath = this.getPlotLinePath({\n value: to,\n force: true,\n acrossPanes: options.acrossPanes\n }),\n path = this.getPlotLinePath({\n value: from,\n force: true,\n acrossPanes: options.acrossPanes\n }),\n result = [],\n i, \n // #4964 check if chart is inverted or plotband is on yAxis\n horiz = this.horiz,\n plus = 1,\n isFlat,\n outside = (from < this.min && to < this.min) ||\n (from > this.max && to > this.max);\n if (path && toPath) {\n // Flat paths don't need labels (#3836)\n if (outside) {\n isFlat = path.toString() === toPath.toString();\n plus = 0;\n }\n // Go over each subpath - for panes in Highstock\n for (i = 0; i < path.length; i += 2) {\n var pathStart = path[i],\n pathEnd = path[i + 1],\n toPathStart = toPath[i],\n toPathEnd = toPath[i + 1];\n // Type checking all affected path segments. Consider something\n // smarter.\n if ((pathStart[0] === 'M' || pathStart[0] === 'L') &&\n (pathEnd[0] === 'M' || pathEnd[0] === 'L') &&\n (toPathStart[0] === 'M' || toPathStart[0] === 'L') &&\n (toPathEnd[0] === 'M' || toPathEnd[0] === 'L')) {\n // Add 1 pixel when coordinates are the same\n if (horiz && toPathStart[1] === pathStart[1]) {\n toPathStart[1] += plus;\n toPathEnd[1] += plus;\n }\n else if (!horiz && toPathStart[2] === pathStart[2]) {\n toPathStart[2] += plus;\n toPathEnd[2] += plus;\n }\n result.push(['M', pathStart[1], pathStart[2]], ['L', pathEnd[1], pathEnd[2]], ['L', toPathEnd[1], toPathEnd[2]], ['L', toPathStart[1], toPathStart[2]], ['Z']);\n }\n result.isFlat = isFlat;\n }\n }\n else { // outside the axis area\n path = null;\n }\n return result;\n },\n /**\n * Add a plot band after render time.\n *\n * @sample highcharts/members/axis-addplotband/\n * Toggle the plot band from a button\n *\n * @function Highcharts.Axis#addPlotBand\n *\n * @param {Highcharts.AxisPlotBandsOptions} options\n * A configuration object for the plot band, as defined in\n * [xAxis.plotBands](https://api.highcharts.com/highcharts/xAxis.plotBands).\n *\n * @return {Highcharts.PlotLineOrBand|undefined}\n * The added plot band.\n */\n addPlotBand: function (options) {\n return this.addPlotBandOrLine(options, 'plotBands');\n },\n /**\n * Add a plot line after render time.\n *\n * @sample highcharts/members/axis-addplotline/\n * Toggle the plot line from a button\n *\n * @function Highcharts.Axis#addPlotLine\n *\n * @param {Highcharts.AxisPlotLinesOptions} options\n * A configuration object for the plot line, as defined in\n * [xAxis.plotLines](https://api.highcharts.com/highcharts/xAxis.plotLines).\n *\n * @return {Highcharts.PlotLineOrBand|undefined}\n * The added plot line.\n */\n addPlotLine: function (options) {\n return this.addPlotBandOrLine(options, 'plotLines');\n },\n /**\n * Add a plot band or plot line after render time. Called from addPlotBand\n * and addPlotLine internally.\n *\n * @private\n * @function Highcharts.Axis#addPlotBandOrLine\n *\n * @param {Highcharts.AxisPlotBandsOptions|Highcharts.AxisPlotLinesOptions} options\n * The plotBand or plotLine configuration object.\n *\n * @param {\"plotBands\"|\"plotLines\"} [coll]\n *\n * @return {Highcharts.PlotLineOrBand|undefined}\n */\n addPlotBandOrLine: function (options, coll) {\n var obj = new H.PlotLineOrBand(this,\n options),\n userOptions = this.userOptions;\n if (this.visible) {\n obj = obj.render();\n }\n if (obj) { // #2189\n // Add it to the user options for exporting and Axis.update\n if (coll) {\n // Workaround Microsoft/TypeScript issue #32693\n var updatedOptions = (userOptions[coll] || []);\n updatedOptions.push(options);\n userOptions[coll] = updatedOptions;\n }\n this.plotLinesAndBands.push(obj);\n this._addedPlotLB = true;\n }\n return obj;\n },\n /**\n * Remove a plot band or plot line from the chart by id. Called internally\n * from `removePlotBand` and `removePlotLine`.\n *\n * @private\n * @function Highcharts.Axis#removePlotBandOrLine\n * @param {string} id\n * @return {void}\n */\n removePlotBandOrLine: function (id) {\n var plotLinesAndBands = this.plotLinesAndBands,\n options = this.options,\n userOptions = this.userOptions,\n i = plotLinesAndBands.length;\n while (i--) {\n if (plotLinesAndBands[i].id === id) {\n plotLinesAndBands[i].destroy();\n }\n }\n ([\n options.plotLines || [],\n userOptions.plotLines || [],\n options.plotBands || [],\n userOptions.plotBands || []\n ]).forEach(function (arr) {\n i = arr.length;\n while (i--) {\n if ((arr[i] || {}).id === id) {\n erase(arr, arr[i]);\n }\n }\n });\n },\n /**\n * Remove a plot band by its id.\n *\n * @sample highcharts/members/axis-removeplotband/\n * Remove plot band by id\n * @sample highcharts/members/axis-addplotband/\n * Toggle the plot band from a button\n *\n * @function Highcharts.Axis#removePlotBand\n *\n * @param {string} id\n * The plot band's `id` as given in the original configuration\n * object or in the `addPlotBand` option.\n *\n * @return {void}\n */\n removePlotBand: function (id) {\n this.removePlotBandOrLine(id);\n },\n /**\n * Remove a plot line by its id.\n *\n * @sample highcharts/xaxis/plotlines-id/\n * Remove plot line by id\n * @sample highcharts/members/axis-addplotline/\n * Toggle the plot line from a button\n *\n * @function Highcharts.Axis#removePlotLine\n *\n * @param {string} id\n * The plot line's `id` as given in the original configuration\n * object or in the `addPlotLine` option.\n */\n removePlotLine: function (id) {\n this.removePlotBandOrLine(id);\n }\n });\n H.PlotLineOrBand = PlotLineOrBand;\n\n return H.PlotLineOrBand;\n });\n _registerModule(_modules, 'Core/Tooltip.js', [_modules['Core/Globals.js'], _modules['Core/Utilities.js']], function (H, U) {\n /* *\n *\n * (c) 2010-2020 Torstein Honsi\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n var doc = H.doc;\n var clamp = U.clamp,\n css = U.css,\n defined = U.defined,\n discardElement = U.discardElement,\n extend = U.extend,\n fireEvent = U.fireEvent,\n format = U.format,\n isNumber = U.isNumber,\n isString = U.isString,\n merge = U.merge,\n pick = U.pick,\n splat = U.splat,\n syncTimeout = U.syncTimeout,\n timeUnits = U.timeUnits;\n /**\n * Callback function to format the text of the tooltip from scratch.\n *\n * In case of single or shared tooltips, a string should be be returned. In case\n * of splitted tooltips, it should return an array where the first item is the\n * header, and subsequent items are mapped to the points. Return `false` to\n * disable tooltip for a specific point on series.\n *\n * @callback Highcharts.TooltipFormatterCallbackFunction\n *\n * @param {Highcharts.TooltipFormatterContextObject} this\n * Context to format\n *\n * @param {Highcharts.Tooltip} tooltip\n * The tooltip instance\n *\n * @return {false|string|Array<(string|null|undefined)>|null|undefined}\n * Formatted text or false\n */\n /**\n * @interface Highcharts.TooltipFormatterContextObject\n */ /**\n * @name Highcharts.TooltipFormatterContextObject#color\n * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}\n */ /**\n * @name Highcharts.TooltipFormatterContextObject#colorIndex\n * @type {number|undefined}\n */ /**\n * @name Highcharts.TooltipFormatterContextObject#key\n * @type {number}\n */ /**\n * @name Highcharts.TooltipFormatterContextObject#percentage\n * @type {number|undefined}\n */ /**\n * @name Highcharts.TooltipFormatterContextObject#point\n * @type {Highcharts.Point}\n */ /**\n * @name Highcharts.TooltipFormatterContextObject#points\n * @type {Array|undefined}\n */ /**\n * @name Highcharts.TooltipFormatterContextObject#series\n * @type {Highcharts.Series}\n */ /**\n * @name Highcharts.TooltipFormatterContextObject#total\n * @type {number|undefined}\n */ /**\n * @name Highcharts.TooltipFormatterContextObject#x\n * @type {number}\n */ /**\n * @name Highcharts.TooltipFormatterContextObject#y\n * @type {number}\n */\n /**\n * A callback function to place the tooltip in a specific position.\n *\n * @callback Highcharts.TooltipPositionerCallbackFunction\n *\n * @param {Highcharts.Tooltip} this\n * Tooltip context of the callback.\n *\n * @param {number} labelWidth\n * Width of the tooltip.\n *\n * @param {number} labelHeight\n * Height of the tooltip.\n *\n * @param {Highcharts.TooltipPositionerPointObject} point\n * Point information for positioning a tooltip.\n *\n * @return {Highcharts.PositionObject}\n * New position for the tooltip.\n */\n /**\n * Point information for positioning a tooltip.\n *\n * @interface Highcharts.TooltipPositionerPointObject\n * @extends Highcharts.Point\n */ /**\n * If `tooltip.split` option is enabled and positioner is called for each of the\n * boxes separately, this property indicates the call on the xAxis header, which\n * is not a point itself.\n * @name Highcharts.TooltipPositionerPointObject#isHeader\n * @type {boolean}\n */ /**\n * The reference point relative to the plot area. Add chart.plotLeft to get the\n * full coordinates.\n * @name Highcharts.TooltipPositionerPointObject#plotX\n * @type {number}\n */ /**\n * The reference point relative to the plot area. Add chart.plotTop to get the\n * full coordinates.\n * @name Highcharts.TooltipPositionerPointObject#plotY\n * @type {number}\n */\n /**\n * @typedef {\"callout\"|\"circle\"|\"square\"} Highcharts.TooltipShapeValue\n */\n ''; // separates doclets above from variables below\n /* eslint-disable no-invalid-this, valid-jsdoc */\n /**\n * Tooltip of a chart.\n *\n * @class\n * @name Highcharts.Tooltip\n *\n * @param {Highcharts.Chart} chart\n * The chart instance.\n *\n * @param {Highcharts.TooltipOptions} options\n * Tooltip options.\n */\n var Tooltip = /** @class */ (function () {\n /* *\n *\n * Constructors\n *\n * */\n function Tooltip(chart, options) {\n this.container = void 0;\n this.crosshairs = [];\n this.distance = 0;\n this.isHidden = true;\n this.isSticky = false;\n this.now = {};\n this.options = {};\n this.outside = false;\n this.chart = chart;\n this.init(chart, options);\n }\n /* *\n *\n * Functions\n *\n * */\n /**\n * In styled mode, apply the default filter for the tooltip drop-shadow. It\n * needs to have an id specific to the chart, otherwise there will be issues\n * when one tooltip adopts the filter of a different chart, specifically one\n * where the container is hidden.\n *\n * @private\n * @function Highcharts.Tooltip#applyFilter\n */\n Tooltip.prototype.applyFilter = function () {\n var chart = this.chart;\n chart.renderer.definition({\n tagName: 'filter',\n id: 'drop-shadow-' + chart.index,\n opacity: 0.5,\n children: [{\n tagName: 'feGaussianBlur',\n 'in': 'SourceAlpha',\n stdDeviation: 1\n }, {\n tagName: 'feOffset',\n dx: 1,\n dy: 1\n }, {\n tagName: 'feComponentTransfer',\n children: [{\n tagName: 'feFuncA',\n type: 'linear',\n slope: 0.3\n }]\n }, {\n tagName: 'feMerge',\n children: [{\n tagName: 'feMergeNode'\n }, {\n tagName: 'feMergeNode',\n 'in': 'SourceGraphic'\n }]\n }]\n });\n chart.renderer.definition({\n tagName: 'style',\n textContent: '.highcharts-tooltip-' + chart.index + '{' +\n 'filter:url(#drop-shadow-' + chart.index + ')' +\n '}'\n });\n };\n /**\n * Build the body (lines) of the tooltip by iterating over the items and\n * returning one entry for each item, abstracting this functionality allows\n * to easily overwrite and extend it.\n *\n * @private\n * @function Highcharts.Tooltip#bodyFormatter\n * @param {Array<(Highcharts.Point|Highcharts.Series)>} items\n * @return {Array}\n */\n Tooltip.prototype.bodyFormatter = function (items) {\n return items.map(function (item) {\n var tooltipOptions = item.series.tooltipOptions;\n return (tooltipOptions[(item.point.formatPrefix || 'point') + 'Formatter'] ||\n item.point.tooltipFormatter).call(item.point, tooltipOptions[(item.point.formatPrefix || 'point') + 'Format'] || '');\n });\n };\n /**\n * Destroy the single tooltips in a split tooltip.\n * If the tooltip is active then it is not destroyed, unless forced to.\n *\n * @private\n * @function Highcharts.Tooltip#cleanSplit\n *\n * @param {boolean} [force]\n * Force destroy all tooltips.\n */\n Tooltip.prototype.cleanSplit = function (force) {\n this.chart.series.forEach(function (series) {\n var tt = series && series.tt;\n if (tt) {\n if (!tt.isActive || force) {\n series.tt = tt.destroy();\n }\n else {\n tt.isActive = false;\n }\n }\n });\n };\n /**\n * In case no user defined formatter is given, this will be used. Note that\n * the context here is an object holding point, series, x, y etc.\n *\n * @function Highcharts.Tooltip#defaultFormatter\n *\n * @param {Highcharts.Tooltip} tooltip\n *\n * @return {Array}\n */\n Tooltip.prototype.defaultFormatter = function (tooltip) {\n var items = this.points || splat(this),\n s;\n // Build the header\n s = [tooltip.tooltipFooterHeaderFormatter(items[0])];\n // build the values\n s = s.concat(tooltip.bodyFormatter(items));\n // footer\n s.push(tooltip.tooltipFooterHeaderFormatter(items[0], true));\n return s;\n };\n /**\n * Removes and destroys the tooltip and its elements.\n *\n * @function Highcharts.Tooltip#destroy\n */\n Tooltip.prototype.destroy = function () {\n // Destroy and clear local variables\n if (this.label) {\n this.label = this.label.destroy();\n }\n if (this.split && this.tt) {\n this.cleanSplit(this.chart, true);\n this.tt = this.tt.destroy();\n }\n if (this.renderer) {\n this.renderer = this.renderer.destroy();\n discardElement(this.container);\n }\n U.clearTimeout(this.hideTimer);\n U.clearTimeout(this.tooltipTimeout);\n };\n /**\n * Extendable method to get the anchor position of the tooltip\n * from a point or set of points\n *\n * @private\n * @function Highcharts.Tooltip#getAnchor\n *\n * @param {Highcharts.Point|Array} points\n *\n * @param {Highcharts.PointerEventObject} [mouseEvent]\n *\n * @return {Array}\n */\n Tooltip.prototype.getAnchor = function (points, mouseEvent) {\n var ret,\n chart = this.chart,\n pointer = chart.pointer,\n inverted = chart.inverted,\n plotTop = chart.plotTop,\n plotLeft = chart.plotLeft,\n plotX = 0,\n plotY = 0,\n yAxis,\n xAxis;\n points = splat(points);\n // When tooltip follows mouse, relate the position to the mouse\n if (this.followPointer && mouseEvent) {\n if (typeof mouseEvent.chartX === 'undefined') {\n mouseEvent = pointer.normalize(mouseEvent);\n }\n ret = [\n mouseEvent.chartX - plotLeft,\n mouseEvent.chartY - plotTop\n ];\n // Some series types use a specificly calculated tooltip position for\n // each point\n }\n else if (points[0].tooltipPos) {\n ret = points[0].tooltipPos;\n // When shared, use the average position\n }\n else {\n points.forEach(function (point) {\n yAxis = point.series.yAxis;\n xAxis = point.series.xAxis;\n plotX += point.plotX +\n (!inverted && xAxis ? xAxis.left - plotLeft : 0);\n plotY += (point.plotLow ?\n (point.plotLow + point.plotHigh) / 2 :\n point.plotY) + (!inverted && yAxis ? yAxis.top - plotTop : 0); // #1151\n });\n plotX /= points.length;\n plotY /= points.length;\n ret = [\n inverted ? chart.plotWidth - plotY : plotX,\n this.shared && !inverted && points.length > 1 && mouseEvent ?\n // place shared tooltip next to the mouse (#424)\n mouseEvent.chartY - plotTop :\n inverted ? chart.plotHeight - plotX : plotY\n ];\n }\n return ret.map(Math.round);\n };\n /**\n * Get the optimal date format for a point, based on a range.\n *\n * @private\n * @function Highcharts.Tooltip#getDateFormat\n *\n * @param {number} range\n * The time range\n *\n * @param {number} date\n * The date of the point in question\n *\n * @param {number} startOfWeek\n * An integer representing the first day of the week, where 0 is\n * Sunday.\n *\n * @param {Highcharts.Dictionary} dateTimeLabelFormats\n * A map of time units to formats.\n *\n * @return {string}\n * The optimal date format for a point.\n */\n Tooltip.prototype.getDateFormat = function (range, date, startOfWeek, dateTimeLabelFormats) {\n var time = this.chart.time, dateStr = time.dateFormat('%m-%d %H:%M:%S.%L', date), format, n, blank = '01-01 00:00:00.000', strpos = {\n millisecond: 15,\n second: 12,\n minute: 9,\n hour: 6,\n day: 3\n }, lastN = 'millisecond'; // for sub-millisecond data, #4223\n for (n in timeUnits) { // eslint-disable-line guard-for-in\n // If the range is exactly one week and we're looking at a\n // Sunday/Monday, go for the week format\n if (range === timeUnits.week &&\n +time.dateFormat('%w', date) === startOfWeek &&\n dateStr.substr(6) === blank.substr(6)) {\n n = 'week';\n break;\n }\n // The first format that is too great for the range\n if (timeUnits[n] > range) {\n n = lastN;\n break;\n }\n // If the point is placed every day at 23:59, we need to show\n // the minutes as well. #2637.\n if (strpos[n] &&\n dateStr.substr(strpos[n]) !== blank.substr(strpos[n])) {\n break;\n }\n // Weeks are outside the hierarchy, only apply them on\n // Mondays/Sundays like in the first condition\n if (n !== 'week') {\n lastN = n;\n }\n }\n if (n) {\n format = time.resolveDTLFormat(dateTimeLabelFormats[n]).main;\n }\n return format;\n };\n /**\n * Creates the Tooltip label element if it does not exist, then returns it.\n *\n * @function Highcharts.Tooltip#getLabel\n * @return {Highcharts.SVGElement}\n */\n Tooltip.prototype.getLabel = function () {\n var _a,\n _b;\n var tooltip = this,\n renderer = this.chart.renderer,\n styledMode = this.chart.styledMode,\n options = this.options,\n className = ('tooltip' + (defined(options.className) ?\n ' ' + options.className :\n '')),\n pointerEvents = (((_a = options.style) === null || _a === void 0 ? void 0 : _a.pointerEvents) ||\n (!this.followPointer && options.stickOnContact ? 'auto' : 'none')),\n container,\n set,\n onMouseEnter = function () {\n tooltip.inContact = true;\n }, onMouseLeave = function () {\n var series = tooltip.chart.hoverSeries;\n tooltip.inContact = false;\n if (series &&\n series.onMouseOut) {\n series.onMouseOut();\n }\n };\n if (!this.label) {\n if (this.outside) {\n /**\n * Reference to the tooltip's container, when\n * [Highcharts.Tooltip#outside] is set to true, otherwise\n * it's undefined.\n *\n * @name Highcharts.Tooltip#container\n * @type {Highcharts.HTMLDOMElement|undefined}\n */\n this.container = container = H.doc.createElement('div');\n container.className = 'highcharts-tooltip-container';\n css(container, {\n position: 'absolute',\n top: '1px',\n pointerEvents: pointerEvents,\n zIndex: 3\n });\n H.doc.body.appendChild(container);\n /**\n * Reference to the tooltip's renderer, when\n * [Highcharts.Tooltip#outside] is set to true, otherwise\n * it's undefined.\n *\n * @name Highcharts.Tooltip#renderer\n * @type {Highcharts.SVGRenderer|undefined}\n */\n this.renderer = renderer = new H.Renderer(container, 0, 0, (_b = this.chart.options.chart) === null || _b === void 0 ? void 0 : _b.style, void 0, void 0, renderer.styledMode);\n }\n // Create the label\n if (this.split) {\n this.label = renderer.g(className);\n }\n else {\n this.label = renderer\n .label('', 0, 0, options.shape || 'callout', null, null, options.useHTML, null, className)\n .attr({\n padding: options.padding,\n r: options.borderRadius\n });\n if (!styledMode) {\n this.label\n .attr({\n fill: options.backgroundColor,\n 'stroke-width': options.borderWidth\n })\n // #2301, #2657\n .css(options.style)\n .css({ pointerEvents: pointerEvents })\n .shadow(options.shadow);\n }\n }\n if (styledMode) {\n // Apply the drop-shadow filter\n this.applyFilter();\n this.label.addClass('highcharts-tooltip-' + this.chart.index);\n }\n // Split tooltip use updateTooltipContainer to position the tooltip\n // container.\n if (tooltip.outside && !tooltip.split) {\n var label_1 = this.label;\n var xSetter_1 = label_1.xSetter,\n ySetter_1 = label_1.ySetter;\n label_1.xSetter = function (value) {\n xSetter_1.call(label_1, tooltip.distance);\n container.style.left = value + 'px';\n };\n label_1.ySetter = function (value) {\n ySetter_1.call(label_1, tooltip.distance);\n container.style.top = value + 'px';\n };\n }\n this.label\n .on('mouseenter', onMouseEnter)\n .on('mouseleave', onMouseLeave)\n .attr({ zIndex: 8 })\n .add();\n }\n return this.label;\n };\n /**\n * Place the tooltip in a chart without spilling over\n * and not covering the point it self.\n *\n * @private\n * @function Highcharts.Tooltip#getPosition\n *\n * @param {number} boxWidth\n *\n * @param {number} boxHeight\n *\n * @param {Highcharts.Point} point\n *\n * @return {Highcharts.PositionObject}\n */\n Tooltip.prototype.getPosition = function (boxWidth, boxHeight, point) {\n var chart = this.chart,\n distance = this.distance,\n ret = {}, \n // Don't use h if chart isn't inverted (#7242) ???\n h = (chart.inverted && point.h) || 0, // #4117 ???\n swapped,\n outside = this.outside,\n outerWidth = outside ?\n // substract distance to prevent scrollbars\n doc.documentElement.clientWidth - 2 * distance :\n chart.chartWidth,\n outerHeight = outside ?\n Math.max(doc.body.scrollHeight,\n doc.documentElement.scrollHeight,\n doc.body.offsetHeight,\n doc.documentElement.offsetHeight,\n doc.documentElement.clientHeight) :\n chart.chartHeight,\n chartPosition = chart.pointer.getChartPosition(),\n containerScaling = chart.containerScaling,\n scaleX = function (val) { return ( // eslint-disable-line no-confusing-arrow\n containerScaling ? val * containerScaling.scaleX : val); },\n scaleY = function (val) { return ( // eslint-disable-line no-confusing-arrow\n containerScaling ? val * containerScaling.scaleY : val); }, \n // Build parameter arrays for firstDimension()/secondDimension()\n buildDimensionArray = function (dim) {\n var isX = dim === 'x';\n return [\n dim,\n isX ? outerWidth : outerHeight,\n isX ? boxWidth : boxHeight\n ].concat(outside ? [\n // If we are using tooltip.outside, we need to scale the\n // position to match scaling of the container in case there\n // is a transform/zoom on the container. #11329\n isX ? scaleX(boxWidth) : scaleY(boxHeight),\n isX ? chartPosition.left - distance +\n scaleX(point.plotX + chart.plotLeft) :\n chartPosition.top - distance +\n scaleY(point.plotY + chart.plotTop),\n 0,\n isX ? outerWidth : outerHeight\n ] : [\n // Not outside, no scaling is needed\n isX ? boxWidth : boxHeight,\n isX ? point.plotX + chart.plotLeft :\n point.plotY + chart.plotTop,\n isX ? chart.plotLeft : chart.plotTop,\n isX ? chart.plotLeft + chart.plotWidth :\n chart.plotTop + chart.plotHeight\n ]);\n }, first = buildDimensionArray('y'), second = buildDimensionArray('x'), \n // The far side is right or bottom\n preferFarSide = !this.followPointer && pick(point.ttBelow, !chart.inverted === !!point.negative), // #4984\n /*\n * Handle the preferred dimension. When the preferred dimension is\n * tooltip on top or bottom of the point, it will look for space\n * there.\n *\n * @private\n */\n firstDimension = function (dim, outerSize, innerSize, scaledInnerSize, // #11329\n point, min, max) {\n var scaledDist = dim === 'y' ?\n scaleY(distance) : scaleX(distance),\n scaleDiff = (innerSize - scaledInnerSize) / 2,\n roomLeft = scaledInnerSize < point - distance,\n roomRight = point + distance + scaledInnerSize < outerSize,\n alignedLeft = point - scaledDist - innerSize + scaleDiff,\n alignedRight = point + scaledDist - scaleDiff;\n if (preferFarSide && roomRight) {\n ret[dim] = alignedRight;\n }\n else if (!preferFarSide && roomLeft) {\n ret[dim] = alignedLeft;\n }\n else if (roomLeft) {\n ret[dim] = Math.min(max - scaledInnerSize, alignedLeft - h < 0 ? alignedLeft : alignedLeft - h);\n }\n else if (roomRight) {\n ret[dim] = Math.max(min, alignedRight + h + innerSize > outerSize ?\n alignedRight :\n alignedRight + h);\n }\n else {\n return false;\n }\n }, \n /*\n * Handle the secondary dimension. If the preferred dimension is\n * tooltip on top or bottom of the point, the second dimension is to\n * align the tooltip above the point, trying to align center but\n * allowing left or right align within the chart box.\n *\n * @private\n */\n secondDimension = function (dim, outerSize, innerSize, scaledInnerSize, // #11329\n point) {\n var retVal;\n // Too close to the edge, return false and swap dimensions\n if (point < distance || point > outerSize - distance) {\n retVal = false;\n // Align left/top\n }\n else if (point < innerSize / 2) {\n ret[dim] = 1;\n // Align right/bottom\n }\n else if (point > outerSize - scaledInnerSize / 2) {\n ret[dim] = outerSize - scaledInnerSize - 2;\n // Align center\n }\n else {\n ret[dim] = point - innerSize / 2;\n }\n return retVal;\n }, \n /*\n * Swap the dimensions\n */\n swap = function (count) {\n var temp = first;\n first = second;\n second = temp;\n swapped = count;\n }, run = function () {\n if (firstDimension.apply(0, first) !== false) {\n if (secondDimension.apply(0, second) === false &&\n !swapped) {\n swap(true);\n run();\n }\n }\n else if (!swapped) {\n swap(true);\n run();\n }\n else {\n ret.x = ret.y = 0;\n }\n };\n // Under these conditions, prefer the tooltip on the side of the point\n if (chart.inverted || this.len > 1) {\n swap();\n }\n run();\n return ret;\n };\n /**\n * Get the best X date format based on the closest point range on the axis.\n *\n * @private\n * @function Highcharts.Tooltip#getXDateFormat\n *\n * @param {Highcharts.Point} point\n *\n * @param {Highcharts.TooltipOptions} options\n *\n * @param {Highcharts.Axis} xAxis\n *\n * @return {string}\n */\n Tooltip.prototype.getXDateFormat = function (point, options, xAxis) {\n var xDateFormat,\n dateTimeLabelFormats = options.dateTimeLabelFormats,\n closestPointRange = xAxis && xAxis.closestPointRange;\n if (closestPointRange) {\n xDateFormat = this.getDateFormat(closestPointRange, point.x, xAxis.options.startOfWeek, dateTimeLabelFormats);\n }\n else {\n xDateFormat = dateTimeLabelFormats.day;\n }\n return xDateFormat || dateTimeLabelFormats.year; // #2546, 2581\n };\n /**\n * Hides the tooltip with a fade out animation.\n *\n * @function Highcharts.Tooltip#hide\n *\n * @param {number} [delay]\n * The fade out in milliseconds. If no value is provided the value\n * of the tooltip.hideDelay option is used. A value of 0 disables\n * the fade out animation.\n */\n Tooltip.prototype.hide = function (delay) {\n var tooltip = this;\n // disallow duplicate timers (#1728, #1766)\n U.clearTimeout(this.hideTimer);\n delay = pick(delay, this.options.hideDelay, 500);\n if (!this.isHidden) {\n this.hideTimer = syncTimeout(function () {\n // If there is a delay, do fadeOut with the default duration. If\n // the hideDelay is 0, we assume no animation is wanted, so we\n // pass 0 duration. #12994.\n tooltip.getLabel().fadeOut(delay ? void 0 : delay);\n tooltip.isHidden = true;\n }, delay);\n }\n };\n /**\n * @private\n * @function Highcharts.Tooltip#init\n *\n * @param {Highcharts.Chart} chart\n * The chart instance.\n *\n * @param {Highcharts.TooltipOptions} options\n * Tooltip options.\n */\n Tooltip.prototype.init = function (chart, options) {\n /**\n * Chart of the tooltip.\n *\n * @readonly\n * @name Highcharts.Tooltip#chart\n * @type {Highcharts.Chart}\n */\n this.chart = chart;\n /**\n * Used tooltip options.\n *\n * @readonly\n * @name Highcharts.Tooltip#options\n * @type {Highcharts.TooltipOptions}\n */\n this.options = options;\n /**\n * List of crosshairs.\n *\n * @private\n * @readonly\n * @name Highcharts.Tooltip#crosshairs\n * @type {Array}\n */\n this.crosshairs = [];\n /**\n * Current values of x and y when animating.\n *\n * @private\n * @readonly\n * @name Highcharts.Tooltip#now\n * @type {Highcharts.PositionObject}\n */\n this.now = { x: 0, y: 0 };\n /**\n * Tooltips are initially hidden.\n *\n * @private\n * @readonly\n * @name Highcharts.Tooltip#isHidden\n * @type {boolean}\n */\n this.isHidden = true;\n /**\n * True, if the tooltip is split into one label per series, with the\n * header close to the axis.\n *\n * @readonly\n * @name Highcharts.Tooltip#split\n * @type {boolean|undefined}\n */\n this.split = options.split && !chart.inverted && !chart.polar;\n /**\n * When the tooltip is shared, the entire plot area will capture mouse\n * movement or touch events.\n *\n * @readonly\n * @name Highcharts.Tooltip#shared\n * @type {boolean|undefined}\n */\n this.shared = options.shared || this.split;\n /**\n * Whether to allow the tooltip to render outside the chart's SVG\n * element box. By default (false), the tooltip is rendered within the\n * chart's SVG element, which results in the tooltip being aligned\n * inside the chart area.\n *\n * @readonly\n * @name Highcharts.Tooltip#outside\n * @type {boolean}\n *\n * @todo\n * Split tooltip does not support outside in the first iteration. Should\n * not be too complicated to implement.\n */\n this.outside = pick(options.outside, Boolean(chart.scrollablePixelsX || chart.scrollablePixelsY));\n };\n /**\n * Returns true, if the pointer is in contact with the tooltip tracker.\n */\n Tooltip.prototype.isStickyOnContact = function () {\n return !!(!this.followPointer &&\n this.options.stickOnContact &&\n this.inContact);\n };\n /**\n * Moves the tooltip with a soft animation to a new position.\n *\n * @private\n * @function Highcharts.Tooltip#move\n *\n * @param {number} x\n *\n * @param {number} y\n *\n * @param {number} anchorX\n *\n * @param {number} anchorY\n */\n Tooltip.prototype.move = function (x, y, anchorX, anchorY) {\n var tooltip = this,\n now = tooltip.now,\n animate = tooltip.options.animation !== false &&\n !tooltip.isHidden &&\n // When we get close to the target position, abort animation and\n // land on the right place (#3056)\n (Math.abs(x - now.x) > 1 || Math.abs(y - now.y) > 1),\n skipAnchor = tooltip.followPointer || tooltip.len > 1;\n // Get intermediate values for animation\n extend(now, {\n x: animate ? (2 * now.x + x) / 3 : x,\n y: animate ? (now.y + y) / 2 : y,\n anchorX: skipAnchor ?\n void 0 :\n animate ? (2 * now.anchorX + anchorX) / 3 : anchorX,\n anchorY: skipAnchor ?\n void 0 :\n animate ? (now.anchorY + anchorY) / 2 : anchorY\n });\n // Move to the intermediate value\n tooltip.getLabel().attr(now);\n tooltip.drawTracker();\n // Run on next tick of the mouse tracker\n if (animate) {\n // Never allow two timeouts\n U.clearTimeout(this.tooltipTimeout);\n // Set the fixed interval ticking for the smooth tooltip\n this.tooltipTimeout = setTimeout(function () {\n // The interval function may still be running during destroy,\n // so check that the chart is really there before calling.\n if (tooltip) {\n tooltip.move(x, y, anchorX, anchorY);\n }\n }, 32);\n }\n };\n /**\n * Refresh the tooltip's text and position.\n *\n * @function Highcharts.Tooltip#refresh\n *\n * @param {Highcharts.Point|Array} pointOrPoints\n * Either a point or an array of points.\n *\n * @param {Highcharts.PointerEventObject} [mouseEvent]\n * Mouse event, that is responsible for the refresh and should be\n * used for the tooltip update.\n */\n Tooltip.prototype.refresh = function (pointOrPoints, mouseEvent) {\n var tooltip = this,\n chart = this.chart,\n options = tooltip.options,\n x,\n y,\n point = pointOrPoints,\n anchor,\n textConfig = {},\n text,\n pointConfig = [],\n formatter = options.formatter || tooltip.defaultFormatter,\n shared = tooltip.shared,\n currentSeries,\n styledMode = chart.styledMode;\n if (!options.enabled) {\n return;\n }\n U.clearTimeout(this.hideTimer);\n // get the reference point coordinates (pie charts use tooltipPos)\n tooltip.followPointer = splat(point)[0].series.tooltipOptions\n .followPointer;\n anchor = tooltip.getAnchor(point, mouseEvent);\n x = anchor[0];\n y = anchor[1];\n // shared tooltip, array is sent over\n if (shared &&\n !(point.series &&\n point.series.noSharedTooltip)) {\n chart.pointer.applyInactiveState(point);\n // Now set hover state for the choosen ones:\n point.forEach(function (item) {\n item.setState('hover');\n pointConfig.push(item.getLabelConfig());\n });\n textConfig = {\n x: point[0].category,\n y: point[0].y\n };\n textConfig.points = pointConfig;\n point = point[0];\n // single point tooltip\n }\n else {\n textConfig = point.getLabelConfig();\n }\n this.len = pointConfig.length; // #6128\n text = formatter.call(textConfig, tooltip);\n // register the current series\n currentSeries = point.series;\n this.distance = pick(currentSeries.tooltipOptions.distance, 16);\n // update the inner HTML\n if (text === false) {\n this.hide();\n }\n else {\n // update text\n if (tooltip.split) {\n this.renderSplit(text, splat(pointOrPoints));\n }\n else {\n var label = tooltip.getLabel();\n // Prevent the tooltip from flowing over the chart box (#6659)\n if (!options.style.width || styledMode) {\n label.css({\n width: this.chart.spacingBox.width + 'px'\n });\n }\n label.attr({\n text: text && text.join ?\n text.join('') :\n text\n });\n // Set the stroke color of the box to reflect the point\n label.removeClass(/highcharts-color-[\\d]+/g)\n .addClass('highcharts-color-' +\n pick(point.colorIndex, currentSeries.colorIndex));\n if (!styledMode) {\n label.attr({\n stroke: (options.borderColor ||\n point.color ||\n currentSeries.color ||\n '#666666')\n });\n }\n tooltip.updatePosition({\n plotX: x,\n plotY: y,\n negative: point.negative,\n ttBelow: point.ttBelow,\n h: anchor[2] || 0\n });\n }\n // show it\n if (tooltip.isHidden && tooltip.label) {\n tooltip.label.attr({\n opacity: 1\n }).show();\n }\n tooltip.isHidden = false;\n }\n fireEvent(this, 'refresh');\n };\n /**\n * Render the split tooltip. Loops over each point's text and adds\n * a label next to the point, then uses the distribute function to\n * find best non-overlapping positions.\n *\n * @private\n * @function Highcharts.Tooltip#renderSplit\n *\n * @param {string|Array<(boolean|string)>} labels\n *\n * @param {Array} points\n */\n Tooltip.prototype.renderSplit = function (labels, points) {\n var tooltip = this;\n var chart = tooltip.chart,\n _a = tooltip.chart,\n chartWidth = _a.chartWidth,\n chartHeight = _a.chartHeight,\n plotHeight = _a.plotHeight,\n plotLeft = _a.plotLeft,\n plotTop = _a.plotTop,\n pointer = _a.pointer,\n ren = _a.renderer,\n _b = _a.scrollablePixelsY,\n scrollablePixelsY = _b === void 0 ? 0 : _b,\n _c = _a.scrollingContainer,\n _d = _c === void 0 ? { scrollLeft: 0,\n scrollTop: 0 } : _c,\n scrollLeft = _d.scrollLeft,\n scrollTop = _d.scrollTop,\n styledMode = _a.styledMode,\n distance = tooltip.distance,\n options = tooltip.options,\n positioner = tooltip.options.positioner;\n // The area which the tooltip should be limited to. Limit to scrollable\n // plot area if enabled, otherwise limit to the chart container.\n var bounds = {\n left: scrollLeft,\n right: scrollLeft + chartWidth,\n top: scrollTop,\n bottom: scrollTop + chartHeight\n };\n var tooltipLabel = tooltip.getLabel();\n var headerTop = Boolean(chart.xAxis[0] && chart.xAxis[0].opposite);\n var distributionBoxTop = plotTop + scrollTop;\n var headerHeight = 0;\n var adjustedPlotHeight = plotHeight - scrollablePixelsY;\n /**\n * Calculates the anchor position for the partial tooltip\n *\n * @private\n * @param {Highcharts.Point} point The point related to the tooltip\n * @return {object} Returns an object with anchorX and anchorY\n */\n function getAnchor(point) {\n var isHeader = point.isHeader,\n _a = point.plotX,\n plotX = _a === void 0 ? 0 : _a,\n _b = point.plotY,\n plotY = _b === void 0 ? 0 : _b,\n series = point.series;\n var anchorX;\n var anchorY;\n if (isHeader) {\n // Set anchorX to plotX\n anchorX = plotLeft + plotX;\n // Set anchorY to center of visible plot area.\n anchorY = plotTop + plotHeight / 2;\n }\n else {\n var xAxis = series.xAxis,\n yAxis = series.yAxis;\n // Set anchorX to plotX. Limit to within xAxis.\n anchorX = xAxis.pos + clamp(plotX, -distance, xAxis.len + distance);\n // Set anchorY, limit to the scrollable plot area\n if (yAxis.pos + plotY >= scrollTop + plotTop &&\n yAxis.pos + plotY <= scrollTop + plotTop + plotHeight - scrollablePixelsY) {\n anchorY = yAxis.pos + plotY;\n }\n }\n // Limit values to plot area\n anchorX = clamp(anchorX, bounds.left - distance, bounds.right + distance);\n return { anchorX: anchorX, anchorY: anchorY };\n }\n /**\n * Calculates the position of the partial tooltip\n *\n * @private\n * @param {number} anchorX The partial tooltip anchor x position\n * @param {number} anchorY The partial tooltip anchor y position\n * @param {boolean} isHeader Whether the partial tooltip is a header\n * @param {number} boxWidth Width of the partial tooltip\n * @return {Highcharts.PositionObject} Returns the partial tooltip x and\n * y position\n */\n function defaultPositioner(anchorX, anchorY, isHeader, boxWidth, alignedLeft) {\n if (alignedLeft === void 0) { alignedLeft = true; }\n var y;\n var x;\n if (isHeader) {\n y = headerTop ? 0 : adjustedPlotHeight;\n x = clamp(anchorX - (boxWidth / 2), bounds.left, bounds.right - boxWidth);\n }\n else {\n y = anchorY - distributionBoxTop;\n x = alignedLeft ?\n anchorX - boxWidth - distance :\n anchorX + distance;\n x = clamp(x, alignedLeft ? x : bounds.left, bounds.right);\n }\n // NOTE: y is relative to distributionBoxTop\n return { x: x, y: y };\n }\n /**\n * Updates the attributes and styling of the partial tooltip. Creates a\n * new partial tooltip if it does not exists.\n *\n * @private\n * @param {Highcharts.SVGElement|undefined} partialTooltip\n * The partial tooltip to update\n * @param {Highcharts.Point} point\n * The point related to the partial tooltip\n * @param {boolean|string} str The text for the partial tooltip\n * @return {Highcharts.SVGElement} Returns the updated partial tooltip\n */\n function updatePartialTooltip(partialTooltip, point, str) {\n var tt = partialTooltip;\n var isHeader = point.isHeader,\n series = point.series;\n var colorClass = 'highcharts-color-' + pick(point.colorIndex, series.colorIndex, 'none');\n if (!tt) {\n var attribs = {\n padding: options.padding,\n r: options.borderRadius\n };\n if (!styledMode) {\n attribs.fill = options.backgroundColor;\n attribs['stroke-width'] = options.borderWidth;\n }\n tt = ren\n .label('', 0, 0, (options[isHeader ? 'headerShape' : 'shape']) ||\n 'callout', void 0, void 0, options.useHTML)\n .addClass((isHeader ? 'highcharts-tooltip-header ' : '') +\n 'highcharts-tooltip-box ' +\n colorClass)\n .attr(attribs)\n .add(tooltipLabel);\n }\n tt.isActive = true;\n tt.attr({\n text: str\n });\n if (!styledMode) {\n tt.css(options.style)\n .shadow(options.shadow)\n .attr({\n stroke: (options.borderColor ||\n point.color ||\n series.color ||\n '#333333')\n });\n }\n return tt;\n }\n // Graceful degradation for legacy formatters\n if (isString(labels)) {\n labels = [false, labels];\n }\n // Create the individual labels for header and points, ignore footer\n var boxes = labels.slice(0,\n points.length + 1).reduce(function (boxes,\n str,\n i) {\n if (str !== false && str !== '') {\n var point = (points[i - 1] ||\n {\n // Item 0 is the header. Instead of this, we could also\n // use the crosshair label\n isHeader: true,\n plotX: points[0].plotX,\n plotY: plotHeight,\n series: {}\n });\n var isHeader = point.isHeader;\n // Store the tooltip label referance on the series\n var owner = isHeader ? tooltip : point.series;\n var tt = owner.tt = updatePartialTooltip(owner.tt,\n point,\n str);\n // Get X position now, so we can move all to the other side in\n // case of overflow\n var bBox = tt.getBBox();\n var boxWidth = bBox.width + tt.strokeWidth();\n if (isHeader) {\n headerHeight = bBox.height;\n adjustedPlotHeight += headerHeight;\n if (headerTop) {\n distributionBoxTop -= headerHeight;\n }\n }\n var _a = getAnchor(point),\n anchorX = _a.anchorX,\n anchorY = _a.anchorY;\n if (typeof anchorY === 'number') {\n var size = bBox.height + 1;\n var boxPosition = (positioner ?\n positioner.call(tooltip,\n boxWidth,\n size,\n point) :\n defaultPositioner(anchorX,\n anchorY,\n isHeader,\n boxWidth));\n boxes.push({\n // 0-align to the top, 1-align to the bottom\n align: positioner ? 0 : void 0,\n anchorX: anchorX,\n anchorY: anchorY,\n boxWidth: boxWidth,\n point: point,\n rank: pick(boxPosition.rank, isHeader ? 1 : 0),\n size: size,\n target: boxPosition.y,\n tt: tt,\n x: boxPosition.x\n });\n }\n else {\n // Hide tooltips which anchorY is outside the visible plot\n // area\n tt.isActive = false;\n }\n }\n return boxes;\n }, []);\n // If overflow left then align all labels to the right\n if (!positioner && boxes.some(function (box) { return box.x < bounds.left; })) {\n boxes = boxes.map(function (box) {\n var _a = defaultPositioner(box.anchorX,\n box.anchorY,\n box.point.isHeader,\n box.boxWidth,\n false),\n x = _a.x,\n y = _a.y;\n return extend(box, {\n target: y,\n x: x\n });\n });\n }\n // Clean previous run (for missing points)\n tooltip.cleanSplit();\n // Distribute and put in place\n H.distribute(boxes, adjustedPlotHeight);\n boxes.forEach(function (box) {\n var anchorX = box.anchorX,\n anchorY = box.anchorY,\n pos = box.pos,\n x = box.x;\n // Put the label in place\n box.tt.attr({\n visibility: typeof pos === 'undefined' ? 'hidden' : 'inherit',\n x: x,\n /* NOTE: y should equal pos to be consistent with !split\n * tooltip, but is currently relative to plotTop. Is left as is\n * to avoid breaking change. Remove distributionBoxTop to make\n * it consistent.\n */\n y: pos + distributionBoxTop,\n anchorX: anchorX,\n anchorY: anchorY\n });\n });\n /* If we have a seperate tooltip container, then update the necessary\n * container properties.\n * Test that tooltip has its own container and renderer before executing\n * the operation.\n */\n var container = tooltip.container,\n outside = tooltip.outside,\n renderer = tooltip.renderer;\n if (outside && container && renderer) {\n // Set container size to fit the tooltip\n var _e = tooltipLabel.getBBox(),\n width = _e.width,\n height = _e.height,\n x = _e.x,\n y = _e.y;\n renderer.setSize(width + x, height + y, false);\n // Position the tooltip container to the chart container\n var chartPosition = pointer.getChartPosition();\n container.style.left = chartPosition.left + 'px';\n container.style.top = chartPosition.top + 'px';\n }\n };\n /**\n * If the `stickOnContact` option is active, this will add a tracker shape.\n *\n * @private\n * @function Highcharts.Tooltip#drawTracker\n */\n Tooltip.prototype.drawTracker = function () {\n var tooltip = this;\n if (tooltip.followPointer ||\n !tooltip.options.stickOnContact) {\n if (tooltip.tracker) {\n tooltip.tracker.destroy();\n }\n return;\n }\n var chart = tooltip.chart;\n var label = tooltip.label;\n var point = chart.hoverPoint;\n if (!label || !point) {\n return;\n }\n var box = {\n x: 0,\n y: 0,\n width: 0,\n height: 0\n };\n // Combine anchor and tooltip\n var anchorPos = this.getAnchor(point);\n var labelBBox = label.getBBox();\n anchorPos[0] += chart.plotLeft - label.translateX;\n anchorPos[1] += chart.plotTop - label.translateY;\n // When the mouse pointer is between the anchor point and the label,\n // the label should stick.\n box.x = Math.min(0, anchorPos[0]);\n box.y = Math.min(0, anchorPos[1]);\n box.width = (anchorPos[0] < 0 ?\n Math.max(Math.abs(anchorPos[0]), (labelBBox.width - anchorPos[0])) :\n Math.max(Math.abs(anchorPos[0]), labelBBox.width));\n box.height = (anchorPos[1] < 0 ?\n Math.max(Math.abs(anchorPos[1]), (labelBBox.height - Math.abs(anchorPos[1]))) :\n Math.max(Math.abs(anchorPos[1]), labelBBox.height));\n if (tooltip.tracker) {\n tooltip.tracker.attr(box);\n }\n else {\n tooltip.tracker = label.renderer\n .rect(box)\n .addClass('highcharts-tracker')\n .add(label);\n if (!chart.styledMode) {\n tooltip.tracker.attr({\n fill: 'rgba(0,0,0,0)'\n });\n }\n }\n };\n /**\n * @private\n */\n Tooltip.prototype.styledModeFormat = function (formatString) {\n return formatString\n .replace('style=\"font-size: 10px\"', 'class=\"highcharts-header\"')\n .replace(/style=\"color:{(point|series)\\.color}\"/g, 'class=\"highcharts-color-{$1.colorIndex}\"');\n };\n /**\n * Format the footer/header of the tooltip\n * #3397: abstraction to enable formatting of footer and header\n *\n * @private\n * @function Highcharts.Tooltip#tooltipFooterHeaderFormatter\n * @param {Highcharts.PointLabelObject} labelConfig\n * @param {boolean} [isFooter]\n * @return {string}\n */\n Tooltip.prototype.tooltipFooterHeaderFormatter = function (labelConfig, isFooter) {\n var footOrHead = isFooter ? 'footer' : 'header',\n series = labelConfig.series,\n tooltipOptions = series.tooltipOptions,\n xDateFormat = tooltipOptions.xDateFormat,\n xAxis = series.xAxis,\n isDateTime = (xAxis &&\n xAxis.options.type === 'datetime' &&\n isNumber(labelConfig.key)),\n formatString = tooltipOptions[footOrHead + 'Format'],\n e = {\n isFooter: isFooter,\n labelConfig: labelConfig\n };\n fireEvent(this, 'headerFormatter', e, function (e) {\n // Guess the best date format based on the closest point distance\n // (#568, #3418)\n if (isDateTime && !xDateFormat) {\n xDateFormat = this.getXDateFormat(labelConfig, tooltipOptions, xAxis);\n }\n // Insert the footer date format if any\n if (isDateTime && xDateFormat) {\n ((labelConfig.point && labelConfig.point.tooltipDateKeys) ||\n ['key']).forEach(function (key) {\n formatString = formatString.replace('{point.' + key + '}', '{point.' + key + ':' + xDateFormat + '}');\n });\n }\n // Replace default header style with class name\n if (series.chart.styledMode) {\n formatString = this.styledModeFormat(formatString);\n }\n e.text = format(formatString, {\n point: labelConfig,\n series: series\n }, this.chart);\n });\n return e.text;\n };\n /**\n * Updates the tooltip with the provided tooltip options.\n *\n * @function Highcharts.Tooltip#update\n *\n * @param {Highcharts.TooltipOptions} options\n * The tooltip options to update.\n */\n Tooltip.prototype.update = function (options) {\n this.destroy();\n // Update user options (#6218)\n merge(true, this.chart.options.tooltip.userOptions, options);\n this.init(this.chart, merge(true, this.options, options));\n };\n /**\n * Find the new position and perform the move\n *\n * @private\n * @function Highcharts.Tooltip#updatePosition\n *\n * @param {Highcharts.Point} point\n */\n Tooltip.prototype.updatePosition = function (point) {\n var chart = this.chart,\n pointer = chart.pointer,\n label = this.getLabel(),\n pos,\n anchorX = point.plotX + chart.plotLeft,\n anchorY = point.plotY + chart.plotTop,\n pad;\n // Needed for outside: true (#11688)\n var chartPosition = pointer.getChartPosition();\n pos = (this.options.positioner || this.getPosition).call(this, label.width, label.height, point);\n // Set the renderer size dynamically to prevent document size to change\n if (this.outside) {\n pad = (this.options.borderWidth || 0) + 2 * this.distance;\n this.renderer.setSize(label.width + pad, label.height + pad, false);\n // Anchor and tooltip container need scaling if chart container has\n // scale transform/css zoom. #11329.\n var containerScaling = chart.containerScaling;\n if (containerScaling) {\n css(this.container, {\n transform: \"scale(\" + containerScaling.scaleX + \", \" + containerScaling.scaleY + \")\"\n });\n anchorX *= containerScaling.scaleX;\n anchorY *= containerScaling.scaleY;\n }\n anchorX += chartPosition.left - pos.x;\n anchorY += chartPosition.top - pos.y;\n }\n // do the move\n this.move(Math.round(pos.x), Math.round(pos.y || 0), // can be undefined (#3977)\n anchorX, anchorY);\n };\n return Tooltip;\n }());\n H.Tooltip = Tooltip;\n\n return H.Tooltip;\n });\n _registerModule(_modules, 'Core/Pointer.js', [_modules['Core/Color/Color.js'], _modules['Core/Globals.js'], _modules['Core/Tooltip.js'], _modules['Core/Utilities.js']], function (Color, H, Tooltip, U) {\n /* *\n *\n * (c) 2010-2020 Torstein Honsi\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n var color = Color.parse;\n var charts = H.charts,\n noop = H.noop;\n var addEvent = U.addEvent,\n attr = U.attr,\n css = U.css,\n defined = U.defined,\n extend = U.extend,\n find = U.find,\n fireEvent = U.fireEvent,\n isNumber = U.isNumber,\n isObject = U.isObject,\n objectEach = U.objectEach,\n offset = U.offset,\n pick = U.pick,\n splat = U.splat;\n /**\n * One position in relation to an axis.\n *\n * @interface Highcharts.PointerAxisCoordinateObject\n */ /**\n * Related axis.\n *\n * @name Highcharts.PointerAxisCoordinateObject#axis\n * @type {Highcharts.Axis}\n */ /**\n * Axis value.\n *\n * @name Highcharts.PointerAxisCoordinateObject#value\n * @type {number}\n */\n /**\n * Positions in terms of axis values.\n *\n * @interface Highcharts.PointerAxisCoordinatesObject\n */ /**\n * Positions on the x-axis.\n * @name Highcharts.PointerAxisCoordinatesObject#xAxis\n * @type {Array}\n */ /**\n * Positions on the y-axis.\n * @name Highcharts.PointerAxisCoordinatesObject#yAxis\n * @type {Array}\n */\n /**\n * Pointer coordinates.\n *\n * @interface Highcharts.PointerCoordinatesObject\n */ /**\n * @name Highcharts.PointerCoordinatesObject#chartX\n * @type {number}\n */ /**\n * @name Highcharts.PointerCoordinatesObject#chartY\n * @type {number}\n */\n /**\n * A native browser mouse or touch event, extended with position information\n * relative to the {@link Chart.container}.\n *\n * @interface Highcharts.PointerEventObject\n * @extends global.PointerEvent\n */ /**\n * The X coordinate of the pointer interaction relative to the chart.\n *\n * @name Highcharts.PointerEventObject#chartX\n * @type {number}\n */ /**\n * The Y coordinate of the pointer interaction relative to the chart.\n *\n * @name Highcharts.PointerEventObject#chartY\n * @type {number}\n */\n /**\n * Axis-specific data of a selection.\n *\n * @interface Highcharts.SelectDataObject\n */ /**\n * @name Highcharts.SelectDataObject#axis\n * @type {Highcharts.Axis}\n */ /**\n * @name Highcharts.SelectDataObject#max\n * @type {number}\n */ /**\n * @name Highcharts.SelectDataObject#min\n * @type {number}\n */\n /**\n * Object for select events.\n *\n * @interface Highcharts.SelectEventObject\n */ /**\n * @name Highcharts.SelectEventObject#originalEvent\n * @type {global.Event}\n */ /**\n * @name Highcharts.SelectEventObject#xAxis\n * @type {Array}\n */ /**\n * @name Highcharts.SelectEventObject#yAxis\n * @type {Array}\n */\n ''; // detach doclets above\n /* eslint-disable no-invalid-this, valid-jsdoc */\n /**\n * The mouse and touch tracker object. Each {@link Chart} item has one\n * assosiated Pointer item that can be accessed from the {@link Chart.pointer}\n * property.\n *\n * @class\n * @name Highcharts.Pointer\n *\n * @param {Highcharts.Chart} chart\n * The chart instance.\n *\n * @param {Highcharts.Options} options\n * The root options object. The pointer uses options from the chart and\n * tooltip structures.\n */\n var Pointer = /** @class */ (function () {\n /* *\n *\n * Constructors\n *\n * */\n function Pointer(chart, options) {\n this.lastValidTouch = {};\n this.pinchDown = [];\n this.runChartClick = false;\n this.chart = chart;\n this.hasDragged = false;\n this.options = options;\n this.unbindContainerMouseLeave = function () { };\n this.unbindContainerMouseEnter = function () { };\n this.init(chart, options);\n }\n /* *\n *\n * Functions\n *\n * */\n /**\n * Set inactive state to all series that are not currently hovered,\n * or, if `inactiveOtherPoints` is set to true, set inactive state to\n * all points within that series.\n *\n * @private\n * @function Highcharts.Pointer#applyInactiveState\n * @param {Array} points\n * Currently hovered points\n */\n Pointer.prototype.applyInactiveState = function (points) {\n var activeSeries = [],\n series;\n // Get all active series from the hovered points\n (points || []).forEach(function (item) {\n series = item.series;\n // Include itself\n activeSeries.push(series);\n // Include parent series\n if (series.linkedParent) {\n activeSeries.push(series.linkedParent);\n }\n // Include all child series\n if (series.linkedSeries) {\n activeSeries = activeSeries.concat(series.linkedSeries);\n }\n // Include navigator series\n if (series.navigatorSeries) {\n activeSeries.push(series.navigatorSeries);\n }\n });\n // Now loop over all series, filtering out active series\n this.chart.series.forEach(function (inactiveSeries) {\n if (activeSeries.indexOf(inactiveSeries) === -1) {\n // Inactive series\n inactiveSeries.setState('inactive', true);\n }\n else if (inactiveSeries.options.inactiveOtherPoints) {\n // Active series, but other points should be inactivated\n inactiveSeries.setAllPointsToState('inactive');\n }\n });\n };\n /**\n * Destroys the Pointer object and disconnects DOM events.\n *\n * @function Highcharts.Pointer#destroy\n */\n Pointer.prototype.destroy = function () {\n var pointer = this;\n if (typeof pointer.unDocMouseMove !== 'undefined') {\n pointer.unDocMouseMove();\n }\n this.unbindContainerMouseLeave();\n if (!H.chartCount) {\n if (H.unbindDocumentMouseUp) {\n H.unbindDocumentMouseUp = H.unbindDocumentMouseUp();\n }\n if (H.unbindDocumentTouchEnd) {\n H.unbindDocumentTouchEnd = H.unbindDocumentTouchEnd();\n }\n }\n // memory and CPU leak\n clearInterval(pointer.tooltipTimeout);\n objectEach(pointer, function (_val, prop) {\n pointer[prop] = void 0;\n });\n };\n /**\n * Perform a drag operation in response to a mousemove event while the mouse\n * is down.\n *\n * @private\n * @function Highcharts.Pointer#drag\n *\n * @param {Highcharts.PointerEventObject} e\n *\n * @return {void}\n */\n Pointer.prototype.drag = function (e) {\n var chart = this.chart,\n chartOptions = chart.options.chart,\n chartX = e.chartX,\n chartY = e.chartY,\n zoomHor = this.zoomHor,\n zoomVert = this.zoomVert,\n plotLeft = chart.plotLeft,\n plotTop = chart.plotTop,\n plotWidth = chart.plotWidth,\n plotHeight = chart.plotHeight,\n clickedInside,\n size,\n selectionMarker = this.selectionMarker,\n mouseDownX = (this.mouseDownX || 0),\n mouseDownY = (this.mouseDownY || 0),\n panningEnabled = isObject(chartOptions.panning) ?\n chartOptions.panning && chartOptions.panning.enabled :\n chartOptions.panning,\n panKey = (chartOptions.panKey && e[chartOptions.panKey + 'Key']);\n // If the device supports both touch and mouse (like IE11), and we are\n // touch-dragging inside the plot area, don't handle the mouse event.\n // #4339.\n if (selectionMarker && selectionMarker.touch) {\n return;\n }\n // If the mouse is outside the plot area, adjust to cooordinates\n // inside to prevent the selection marker from going outside\n if (chartX < plotLeft) {\n chartX = plotLeft;\n }\n else if (chartX > plotLeft + plotWidth) {\n chartX = plotLeft + plotWidth;\n }\n if (chartY < plotTop) {\n chartY = plotTop;\n }\n else if (chartY > plotTop + plotHeight) {\n chartY = plotTop + plotHeight;\n }\n // determine if the mouse has moved more than 10px\n this.hasDragged = Math.sqrt(Math.pow(mouseDownX - chartX, 2) +\n Math.pow(mouseDownY - chartY, 2));\n if (this.hasDragged > 10) {\n clickedInside = chart.isInsidePlot(mouseDownX - plotLeft, mouseDownY - plotTop);\n // make a selection\n if (chart.hasCartesianSeries &&\n (this.zoomX || this.zoomY) &&\n clickedInside &&\n !panKey) {\n if (!selectionMarker) {\n this.selectionMarker = selectionMarker =\n chart.renderer.rect(plotLeft, plotTop, zoomHor ? 1 : plotWidth, zoomVert ? 1 : plotHeight, 0)\n .attr({\n 'class': 'highcharts-selection-marker',\n zIndex: 7\n })\n .add();\n if (!chart.styledMode) {\n selectionMarker.attr({\n fill: (chartOptions.selectionMarkerFill ||\n color('#335cad')\n .setOpacity(0.25).get())\n });\n }\n }\n }\n // adjust the width of the selection marker\n if (selectionMarker && zoomHor) {\n size = chartX - mouseDownX;\n selectionMarker.attr({\n width: Math.abs(size),\n x: (size > 0 ? 0 : size) + mouseDownX\n });\n }\n // adjust the height of the selection marker\n if (selectionMarker && zoomVert) {\n size = chartY - mouseDownY;\n selectionMarker.attr({\n height: Math.abs(size),\n y: (size > 0 ? 0 : size) + mouseDownY\n });\n }\n // panning\n if (clickedInside &&\n !selectionMarker &&\n panningEnabled) {\n chart.pan(e, chartOptions.panning);\n }\n }\n };\n /**\n * Start a drag operation.\n *\n * @private\n * @function Highcharts.Pointer#dragStart\n *\n * @param {Highcharts.PointerEventObject} e\n *\n * @return {void}\n */\n Pointer.prototype.dragStart = function (e) {\n var chart = this.chart;\n // Record the start position\n chart.mouseIsDown = e.type;\n chart.cancelClick = false;\n chart.mouseDownX = this.mouseDownX = e.chartX;\n chart.mouseDownY = this.mouseDownY = e.chartY;\n };\n /**\n * On mouse up or touch end across the entire document, drop the selection.\n *\n * @private\n * @function Highcharts.Pointer#drop\n *\n * @param {global.Event} e\n */\n Pointer.prototype.drop = function (e) {\n var pointer = this,\n chart = this.chart,\n hasPinched = this.hasPinched;\n if (this.selectionMarker) {\n var selectionData = {\n originalEvent: e,\n xAxis: [],\n yAxis: []\n },\n selectionBox = this.selectionMarker,\n selectionLeft = selectionBox.attr ?\n selectionBox.attr('x') :\n selectionBox.x,\n selectionTop = selectionBox.attr ?\n selectionBox.attr('y') :\n selectionBox.y,\n selectionWidth = selectionBox.attr ?\n selectionBox.attr('width') :\n selectionBox.width,\n selectionHeight = selectionBox.attr ?\n selectionBox.attr('height') :\n selectionBox.height,\n runZoom;\n // a selection has been made\n if (this.hasDragged || hasPinched) {\n // record each axis' min and max\n chart.axes.forEach(function (axis) {\n if (axis.zoomEnabled &&\n defined(axis.min) &&\n (hasPinched ||\n pointer[{\n xAxis: 'zoomX',\n yAxis: 'zoomY'\n }[axis.coll]]) &&\n isNumber(selectionLeft) &&\n isNumber(selectionTop)) { // #859, #3569\n var horiz = axis.horiz,\n minPixelPadding = e.type === 'touchend' ?\n axis.minPixelPadding :\n 0, // #1207, #3075\n selectionMin = axis.toValue((horiz ? selectionLeft : selectionTop) +\n minPixelPadding),\n selectionMax = axis.toValue((horiz ?\n selectionLeft + selectionWidth :\n selectionTop + selectionHeight) - minPixelPadding);\n selectionData[axis.coll].push({\n axis: axis,\n // Min/max for reversed axes\n min: Math.min(selectionMin, selectionMax),\n max: Math.max(selectionMin, selectionMax)\n });\n runZoom = true;\n }\n });\n if (runZoom) {\n fireEvent(chart, 'selection', selectionData, function (args) {\n chart.zoom(extend(args, hasPinched ?\n { animation: false } :\n null));\n });\n }\n }\n if (isNumber(chart.index)) {\n this.selectionMarker = this.selectionMarker.destroy();\n }\n // Reset scaling preview\n if (hasPinched) {\n this.scaleGroups();\n }\n }\n // Reset all. Check isNumber because it may be destroyed on mouse up\n // (#877)\n if (chart && isNumber(chart.index)) {\n css(chart.container, { cursor: chart._cursor });\n chart.cancelClick = this.hasDragged > 10; // #370\n chart.mouseIsDown = this.hasDragged = this.hasPinched = false;\n this.pinchDown = [];\n }\n };\n /**\n * Finds the closest point to a set of coordinates, using the k-d-tree\n * algorithm.\n *\n * @function Highcharts.Pointer#findNearestKDPoint\n *\n * @param {Array} series\n * All the series to search in.\n *\n * @param {boolean|undefined} shared\n * Whether it is a shared tooltip or not.\n *\n * @param {Highcharts.PointerEventObject} e\n * The pointer event object, containing chart coordinates of the\n * pointer.\n *\n * @return {Highcharts.Point|undefined}\n * The point closest to given coordinates.\n */\n Pointer.prototype.findNearestKDPoint = function (series, shared, e) {\n var chart = this.chart;\n var hoverPoint = chart.hoverPoint;\n var tooltip = chart.tooltip;\n if (hoverPoint &&\n tooltip &&\n tooltip.isStickyOnContact()) {\n return hoverPoint;\n }\n var closest;\n /** @private */\n function sort(p1, p2) {\n var isCloserX = p1.distX - p2.distX,\n isCloser = p1.dist - p2.dist,\n isAbove = (p2.series.group && p2.series.group.zIndex) -\n (p1.series.group && p1.series.group.zIndex),\n result;\n // We have two points which are not in the same place on xAxis\n // and shared tooltip:\n if (isCloserX !== 0 && shared) { // #5721\n result = isCloserX;\n // Points are not exactly in the same place on x/yAxis:\n }\n else if (isCloser !== 0) {\n result = isCloser;\n // The same xAxis and yAxis position, sort by z-index:\n }\n else if (isAbove !== 0) {\n result = isAbove;\n // The same zIndex, sort by array index:\n }\n else {\n result =\n p1.series.index > p2.series.index ?\n -1 :\n 1;\n }\n return result;\n }\n series.forEach(function (s) {\n var noSharedTooltip = s.noSharedTooltip && shared,\n compareX = (!noSharedTooltip &&\n s.options.findNearestPointBy.indexOf('y') < 0),\n point = s.searchPoint(e,\n compareX);\n if ( // Check that we actually found a point on the series.\n isObject(point, true) &&\n // Use the new point if it is closer.\n (!isObject(closest, true) ||\n (sort(closest, point) > 0))) {\n closest = point;\n }\n });\n return closest;\n };\n /**\n * @private\n * @function Highcharts.Pointer#getChartCoordinatesFromPoint\n * @param {Highcharts.Point} point\n * @param {boolean} [inverted]\n * @return {Highcharts.PointerCoordinatesObject|undefined}\n */\n Pointer.prototype.getChartCoordinatesFromPoint = function (point, inverted) {\n var series = point.series,\n xAxis = series.xAxis,\n yAxis = series.yAxis,\n plotX = pick(point.clientX,\n point.plotX),\n shapeArgs = point.shapeArgs;\n if (xAxis && yAxis) {\n return inverted ? {\n chartX: xAxis.len + xAxis.pos - plotX,\n chartY: yAxis.len + yAxis.pos - point.plotY\n } : {\n chartX: plotX + xAxis.pos,\n chartY: point.plotY + yAxis.pos\n };\n }\n if (shapeArgs && shapeArgs.x && shapeArgs.y) {\n // E.g. pies do not have axes\n return {\n chartX: shapeArgs.x,\n chartY: shapeArgs.y\n };\n }\n };\n /**\n * Return the cached chartPosition if it is available on the Pointer,\n * otherwise find it. Running offset is quite expensive, so it should be\n * avoided when we know the chart hasn't moved.\n *\n * @function Highcharts.Pointer#getChartPosition\n *\n * @return {Highcharts.OffsetObject}\n * The offset of the chart container within the page\n */\n Pointer.prototype.getChartPosition = function () {\n return (this.chartPosition ||\n (this.chartPosition = offset(this.chart.container)));\n };\n /**\n * Get the click position in terms of axis values.\n *\n * @function Highcharts.Pointer#getCoordinates\n *\n * @param {Highcharts.PointerEventObject} e\n * Pointer event, extended with `chartX` and `chartY` properties.\n *\n * @return {Highcharts.PointerAxisCoordinatesObject}\n */\n Pointer.prototype.getCoordinates = function (e) {\n var coordinates = {\n xAxis: [],\n yAxis: []\n };\n this.chart.axes.forEach(function (axis) {\n coordinates[axis.isXAxis ? 'xAxis' : 'yAxis'].push({\n axis: axis,\n value: axis.toValue(e[axis.horiz ? 'chartX' : 'chartY'])\n });\n });\n return coordinates;\n };\n /**\n * Calculates what is the current hovered point/points and series.\n *\n * @private\n * @function Highcharts.Pointer#getHoverData\n *\n * @param {Highcharts.Point|undefined} existingHoverPoint\n * The point currrently beeing hovered.\n *\n * @param {Highcharts.Series|undefined} existingHoverSeries\n * The series currently beeing hovered.\n *\n * @param {Array} series\n * All the series in the chart.\n *\n * @param {boolean} isDirectTouch\n * Is the pointer directly hovering the point.\n *\n * @param {boolean|undefined} shared\n * Whether it is a shared tooltip or not.\n *\n * @param {Highcharts.PointerEventObject} [e]\n * The triggering event, containing chart coordinates of the pointer.\n *\n * @return {object}\n * Object containing resulting hover data: hoverPoint, hoverSeries,\n * and hoverPoints.\n */\n Pointer.prototype.getHoverData = function (existingHoverPoint, existingHoverSeries, series, isDirectTouch, shared, e) {\n var hoverPoint,\n hoverPoints = [],\n hoverSeries = existingHoverSeries,\n useExisting = !!(isDirectTouch && existingHoverPoint),\n notSticky = hoverSeries && !hoverSeries.stickyTracking, \n // Which series to look in for the hover point\n searchSeries, \n // Parameters needed for beforeGetHoverData event.\n eventArgs = {\n chartX: e ? e.chartX : void 0,\n chartY: e ? e.chartY : void 0,\n shared: shared\n },\n filter = function (s) {\n return (s.visible &&\n !(!shared && s.directTouch) && // #3821\n pick(s.options.enableMouseTracking,\n true));\n };\n // Find chart.hoverPane and update filter method in polar.\n fireEvent(this, 'beforeGetHoverData', eventArgs);\n searchSeries = notSticky ?\n // Only search on hovered series if it has stickyTracking false\n [hoverSeries] :\n // Filter what series to look in.\n series.filter(function (s) {\n return eventArgs.filter ? eventArgs.filter(s) : filter(s) &&\n s.stickyTracking;\n });\n // Use existing hovered point or find the one closest to coordinates.\n hoverPoint = useExisting || !e ?\n existingHoverPoint :\n this.findNearestKDPoint(searchSeries, shared, e);\n // Assign hover series\n hoverSeries = hoverPoint && hoverPoint.series;\n // If we have a hoverPoint, assign hoverPoints.\n if (hoverPoint) {\n // When tooltip is shared, it displays more than one point\n if (shared && !hoverSeries.noSharedTooltip) {\n searchSeries = series.filter(function (s) {\n return eventArgs.filter ?\n eventArgs.filter(s) : filter(s) && !s.noSharedTooltip;\n });\n // Get all points with the same x value as the hoverPoint\n searchSeries.forEach(function (s) {\n var point = find(s.points,\n function (p) {\n return p.x === hoverPoint.x && !p.isNull;\n });\n if (isObject(point)) {\n /*\n * Boost returns a minimal point. Convert it to a usable\n * point for tooltip and states.\n */\n if (s.chart.isBoosting) {\n point = s.getPoint(point);\n }\n hoverPoints.push(point);\n }\n });\n }\n else {\n hoverPoints.push(hoverPoint);\n }\n }\n // Check whether the hoverPoint is inside pane we are hovering over.\n eventArgs = { hoverPoint: hoverPoint };\n fireEvent(this, 'afterGetHoverData', eventArgs);\n return {\n hoverPoint: eventArgs.hoverPoint,\n hoverSeries: hoverSeries,\n hoverPoints: hoverPoints\n };\n };\n /**\n * @private\n * @function Highcharts.Pointer#getPointFromEvent\n *\n * @param {global.Event} e\n *\n * @return {Highcharts.Point|undefined}\n */\n Pointer.prototype.getPointFromEvent = function (e) {\n var target = e.target,\n point;\n while (target && !point) {\n point = target.point;\n target = target.parentNode;\n }\n return point;\n };\n /**\n * @private\n * @function Highcharts.Pointer#onTrackerMouseOut\n *\n * @param {Highcharts.PointerEventObject} e\n *\n * @return {void}\n */\n Pointer.prototype.onTrackerMouseOut = function (e) {\n var chart = this.chart;\n var relatedTarget = e.relatedTarget || e.toElement;\n var series = chart.hoverSeries;\n this.isDirectTouch = false;\n if (series &&\n relatedTarget &&\n !series.stickyTracking &&\n !this.inClass(relatedTarget, 'highcharts-tooltip') &&\n (!this.inClass(relatedTarget, 'highcharts-series-' + series.index) || // #2499, #4465, #5553\n !this.inClass(relatedTarget, 'highcharts-tracker'))) {\n series.onMouseOut();\n }\n };\n /**\n * Utility to detect whether an element has, or has a parent with, a\n * specificclass name. Used on detection of tracker objects and on deciding\n * whether hovering the tooltip should cause the active series to mouse out.\n *\n * @function Highcharts.Pointer#inClass\n *\n * @param {Highcharts.SVGDOMElement|Highcharts.HTMLDOMElement} element\n * The element to investigate.\n *\n * @param {string} className\n * The class name to look for.\n *\n * @return {boolean|undefined}\n * True if either the element or one of its parents has the given\n * class name.\n */\n Pointer.prototype.inClass = function (element, className) {\n var elemClassName;\n while (element) {\n elemClassName = attr(element, 'class');\n if (elemClassName) {\n if (elemClassName.indexOf(className) !== -1) {\n return true;\n }\n if (elemClassName.indexOf('highcharts-container') !== -1) {\n return false;\n }\n }\n element = element.parentNode;\n }\n };\n /**\n * Initialize the Pointer.\n *\n * @private\n * @function Highcharts.Pointer#init\n *\n * @param {Highcharts.Chart} chart\n * The Chart instance.\n *\n * @param {Highcharts.Options} options\n * The root options object. The pointer uses options from the chart\n * and tooltip structures.\n *\n * @return {void}\n */\n Pointer.prototype.init = function (chart, options) {\n // Store references\n this.options = options;\n this.chart = chart;\n // Do we need to handle click on a touch device?\n this.runChartClick =\n options.chart.events &&\n !!options.chart.events.click;\n this.pinchDown = [];\n this.lastValidTouch = {};\n if (Tooltip) {\n /**\n * Tooltip object for points of series.\n *\n * @name Highcharts.Chart#tooltip\n * @type {Highcharts.Tooltip}\n */\n chart.tooltip = new Tooltip(chart, options.tooltip);\n this.followTouchMove = pick(options.tooltip.followTouchMove, true);\n }\n this.setDOMEvents();\n };\n /**\n * Takes a browser event object and extends it with custom Highcharts\n * properties `chartX` and `chartY` in order to work on the internal\n * coordinate system.\n *\n * @function Highcharts.Pointer#normalize\n *\n * @param {global.MouseEvent|global.PointerEvent|global.TouchEvent} e\n * Event object in standard browsers.\n *\n * @param {Highcharts.OffsetObject} [chartPosition]\n * Additional chart offset.\n *\n * @return {Highcharts.PointerEventObject}\n * A browser event with extended properties `chartX` and `chartY`.\n */\n Pointer.prototype.normalize = function (e, chartPosition) {\n var touches = e.touches;\n // iOS (#2757)\n var ePos = (touches ?\n touches.length ?\n touches.item(0) :\n (pick(// #13534\n touches.changedTouches,\n e.changedTouches))[0] :\n e);\n // Get mouse position\n if (!chartPosition) {\n chartPosition = this.getChartPosition();\n }\n var chartX = ePos.pageX - chartPosition.left,\n chartY = ePos.pageY - chartPosition.top;\n // #11329 - when there is scaling on a parent element, we need to take\n // this into account\n var containerScaling = this.chart.containerScaling;\n if (containerScaling) {\n chartX /= containerScaling.scaleX;\n chartY /= containerScaling.scaleY;\n }\n return extend(e, {\n chartX: Math.round(chartX),\n chartY: Math.round(chartY)\n });\n };\n /**\n * @private\n * @function Highcharts.Pointer#onContainerClick\n */\n Pointer.prototype.onContainerClick = function (e) {\n var chart = this.chart;\n var hoverPoint = chart.hoverPoint;\n var pEvt = this.normalize(e);\n var plotLeft = chart.plotLeft;\n var plotTop = chart.plotTop;\n if (!chart.cancelClick) {\n // On tracker click, fire the series and point events. #783, #1583\n if (hoverPoint &&\n this.inClass(pEvt.target, 'highcharts-tracker')) {\n // the series click event\n fireEvent(hoverPoint.series, 'click', extend(pEvt, {\n point: hoverPoint\n }));\n // the point click event\n if (chart.hoverPoint) { // it may be destroyed (#1844)\n hoverPoint.firePointEvent('click', pEvt);\n }\n // When clicking outside a tracker, fire a chart event\n }\n else {\n extend(pEvt, this.getCoordinates(pEvt));\n // fire a click event in the chart\n if (chart.isInsidePlot((pEvt.chartX - plotLeft), (pEvt.chartY - plotTop))) {\n fireEvent(chart, 'click', pEvt);\n }\n }\n }\n };\n /**\n * @private\n * @function Highcharts.Pointer#onContainerMouseDown\n *\n * @param {global.MouseEvent} e\n */\n Pointer.prototype.onContainerMouseDown = function (e) {\n var isPrimaryButton = ((e.buttons || e.button) & 1) === 1;\n // Normalize before the 'if' for the legacy IE (#7850)\n e = this.normalize(e);\n // #11635, Firefox does not reliable fire move event after click scroll\n if (H.isFirefox &&\n e.button !== 0) {\n this.onContainerMouseMove(e);\n }\n // #11635, limiting to primary button (incl. IE 8 support)\n if (typeof e.button === 'undefined' ||\n isPrimaryButton) {\n this.zoomOption(e);\n // #295, #13737 solve conflict between container drag and chart zoom\n if (isPrimaryButton &&\n e.preventDefault) {\n e.preventDefault();\n }\n this.dragStart(e);\n }\n };\n /**\n * When mouse leaves the container, hide the tooltip.\n *\n * @private\n * @function Highcharts.Pointer#onContainerMouseLeave\n *\n * @param {global.MouseEvent} e\n *\n * @return {void}\n */\n Pointer.prototype.onContainerMouseLeave = function (e) {\n var chart = charts[pick(H.hoverChartIndex, -1)];\n var tooltip = this.chart.tooltip;\n e = this.normalize(e);\n // #4886, MS Touch end fires mouseleave but with no related target\n if (chart &&\n (e.relatedTarget || e.toElement)) {\n chart.pointer.reset();\n // Also reset the chart position, used in #149 fix\n chart.pointer.chartPosition = void 0;\n }\n if ( // #11635, Firefox wheel scroll does not fire out events consistently\n tooltip &&\n !tooltip.isHidden) {\n this.reset();\n }\n };\n /**\n * When mouse enters the container, delete pointer's chartPosition.\n *\n * @private\n * @function Highcharts.Pointer#onContainerMouseEnter\n *\n * @param {global.MouseEvent} e\n *\n * @return {void}\n */\n Pointer.prototype.onContainerMouseEnter = function (e) {\n delete this.chartPosition;\n };\n /**\n * The mousemove, touchmove and touchstart event handler\n *\n * @private\n * @function Highcharts.Pointer#onContainerMouseMove\n *\n * @param {global.MouseEvent} e\n *\n * @return {void}\n */\n Pointer.prototype.onContainerMouseMove = function (e) {\n var chart = this.chart;\n var pEvt = this.normalize(e);\n this.setHoverChartIndex();\n // In IE8 we apparently need this returnValue set to false in order to\n // avoid text being selected. But in Chrome, e.returnValue is prevented,\n // plus we don't need to run e.preventDefault to prevent selected text\n // in modern browsers. So we set it conditionally. Remove it when IE8 is\n // no longer needed. #2251, #3224.\n if (!pEvt.preventDefault) {\n pEvt.returnValue = false;\n }\n if (chart.mouseIsDown === 'mousedown') {\n this.drag(pEvt);\n }\n // Show the tooltip and run mouse over events (#977)\n if (!chart.openMenu &&\n (this.inClass(pEvt.target, 'highcharts-tracker') ||\n chart.isInsidePlot((pEvt.chartX - chart.plotLeft), (pEvt.chartY - chart.plotTop)))) {\n this.runPointActions(pEvt);\n }\n };\n /**\n * @private\n * @function Highcharts.Pointer#onDocumentTouchEnd\n *\n * @param {Highcharts.PointerEventObject} e\n *\n * @return {void}\n */\n Pointer.prototype.onDocumentTouchEnd = function (e) {\n if (charts[H.hoverChartIndex]) {\n charts[H.hoverChartIndex].pointer.drop(e);\n }\n };\n /**\n * @private\n * @function Highcharts.Pointer#onContainerTouchMove\n *\n * @param {Highcharts.PointerEventObject} e\n *\n * @return {void}\n */\n Pointer.prototype.onContainerTouchMove = function (e) {\n this.touch(e);\n };\n /**\n * @private\n * @function Highcharts.Pointer#onContainerTouchStart\n *\n * @param {Highcharts.PointerEventObject} e\n *\n * @return {void}\n */\n Pointer.prototype.onContainerTouchStart = function (e) {\n this.zoomOption(e);\n this.touch(e, true);\n };\n /**\n * Special handler for mouse move that will hide the tooltip when the mouse\n * leaves the plotarea. Issue #149 workaround. The mouseleave event does not\n * always fire.\n *\n * @private\n * @function Highcharts.Pointer#onDocumentMouseMove\n *\n * @param {global.MouseEvent} e\n *\n * @return {void}\n */\n Pointer.prototype.onDocumentMouseMove = function (e) {\n var chart = this.chart;\n var chartPosition = this.chartPosition;\n var pEvt = this.normalize(e,\n chartPosition);\n var tooltip = chart.tooltip;\n // If we're outside, hide the tooltip\n if (chartPosition &&\n (!tooltip ||\n !tooltip.isStickyOnContact()) &&\n !chart.isInsidePlot(pEvt.chartX - chart.plotLeft, pEvt.chartY - chart.plotTop) &&\n !this.inClass(pEvt.target, 'highcharts-tracker')) {\n this.reset();\n }\n };\n /**\n * @private\n * @function Highcharts.Pointer#onDocumentMouseUp\n *\n * @param {global.MouseEvent} e\n *\n * @return {void}\n */\n Pointer.prototype.onDocumentMouseUp = function (e) {\n var chart = charts[pick(H.hoverChartIndex, -1)];\n if (chart) {\n chart.pointer.drop(e);\n }\n };\n /**\n * Handle touch events with two touches\n *\n * @private\n * @function Highcharts.Pointer#pinch\n *\n * @param {Highcharts.PointerEventObject} e\n *\n * @return {void}\n */\n Pointer.prototype.pinch = function (e) {\n var self = this,\n chart = self.chart,\n pinchDown = self.pinchDown,\n touches = (e.touches || []),\n touchesLength = touches.length,\n lastValidTouch = self.lastValidTouch,\n hasZoom = self.hasZoom,\n selectionMarker = self.selectionMarker,\n transform = {},\n fireClickEvent = touchesLength === 1 && ((self.inClass(e.target, 'highcharts-tracker') &&\n chart.runTrackerClick) ||\n self.runChartClick),\n clip = {};\n // Don't initiate panning until the user has pinched. This prevents us\n // from blocking page scrolling as users scroll down a long page\n // (#4210).\n if (touchesLength > 1) {\n self.initiated = true;\n }\n // On touch devices, only proceed to trigger click if a handler is\n // defined\n if (hasZoom && self.initiated && !fireClickEvent && e.cancelable !== false) {\n e.preventDefault();\n }\n // Normalize each touch\n [].map.call(touches, function (e) {\n return self.normalize(e);\n });\n // Register the touch start position\n if (e.type === 'touchstart') {\n [].forEach.call(touches, function (e, i) {\n pinchDown[i] = { chartX: e.chartX, chartY: e.chartY };\n });\n lastValidTouch.x = [pinchDown[0].chartX, pinchDown[1] &&\n pinchDown[1].chartX];\n lastValidTouch.y = [pinchDown[0].chartY, pinchDown[1] &&\n pinchDown[1].chartY];\n // Identify the data bounds in pixels\n chart.axes.forEach(function (axis) {\n if (axis.zoomEnabled) {\n var bounds = chart.bounds[axis.horiz ? 'h' : 'v'],\n minPixelPadding = axis.minPixelPadding,\n min = axis.toPixels(Math.min(pick(axis.options.min,\n axis.dataMin),\n axis.dataMin)),\n max = axis.toPixels(Math.max(pick(axis.options.max,\n axis.dataMax),\n axis.dataMax)),\n absMin = Math.min(min,\n max),\n absMax = Math.max(min,\n max);\n // Store the bounds for use in the touchmove handler\n bounds.min = Math.min(axis.pos, absMin - minPixelPadding);\n bounds.max = Math.max(axis.pos + axis.len, absMax + minPixelPadding);\n }\n });\n self.res = true; // reset on next move\n // Optionally move the tooltip on touchmove\n }\n else if (self.followTouchMove && touchesLength === 1) {\n this.runPointActions(self.normalize(e));\n // Event type is touchmove, handle panning and pinching\n }\n else if (pinchDown.length) { // can be 0 when releasing, if touchend\n // fires first\n // Set the marker\n if (!selectionMarker) {\n self.selectionMarker = selectionMarker = extend({\n destroy: noop,\n touch: true\n }, chart.plotBox);\n }\n self.pinchTranslate(pinchDown, touches, transform, selectionMarker, clip, lastValidTouch);\n self.hasPinched = hasZoom;\n // Scale and translate the groups to provide visual feedback during\n // pinching\n self.scaleGroups(transform, clip);\n if (self.res) {\n self.res = false;\n this.reset(false, 0);\n }\n }\n };\n /**\n * Run translation operations\n *\n * @private\n * @function Highcharts.Pointer#pinchTranslate\n *\n * @param {Array<*>} pinchDown\n *\n * @param {Array} touches\n *\n * @param {*} transform\n *\n * @param {*} selectionMarker\n *\n * @param {*} clip\n *\n * @param {*} lastValidTouch\n *\n * @return {void}\n */\n Pointer.prototype.pinchTranslate = function (pinchDown, touches, transform, selectionMarker, clip, lastValidTouch) {\n if (this.zoomHor) {\n this.pinchTranslateDirection(true, pinchDown, touches, transform, selectionMarker, clip, lastValidTouch);\n }\n if (this.zoomVert) {\n this.pinchTranslateDirection(false, pinchDown, touches, transform, selectionMarker, clip, lastValidTouch);\n }\n };\n /**\n * Run translation operations for each direction (horizontal and vertical)\n * independently.\n *\n * @private\n * @function Highcharts.Pointer#pinchTranslateDirection\n *\n * @param {boolean} horiz\n *\n * @param {Array<*>} pinchDown\n *\n * @param {Array} touches\n *\n * @param {*} transform\n *\n * @param {*} selectionMarker\n *\n * @param {*} clip\n *\n * @param {*} lastValidTouch\n *\n * @param {number|undefined} [forcedScale=1]\n *\n * @return {void}\n */\n Pointer.prototype.pinchTranslateDirection = function (horiz, pinchDown, touches, transform, selectionMarker, clip, lastValidTouch, forcedScale) {\n var chart = this.chart, xy = horiz ? 'x' : 'y', XY = horiz ? 'X' : 'Y', sChartXY = ('chart' + XY), wh = horiz ? 'width' : 'height', plotLeftTop = chart['plot' + (horiz ? 'Left' : 'Top')], selectionWH, selectionXY, clipXY, scale = forcedScale || 1, inverted = chart.inverted, bounds = chart.bounds[horiz ? 'h' : 'v'], singleTouch = pinchDown.length === 1, touch0Start = pinchDown[0][sChartXY], touch0Now = touches[0][sChartXY], touch1Start = !singleTouch && pinchDown[1][sChartXY], touch1Now = !singleTouch && touches[1][sChartXY], outOfBounds, transformScale, scaleKey, setScale = function () {\n // Don't zoom if fingers are too close on this axis\n if (typeof touch1Now === 'number' &&\n Math.abs(touch0Start - touch1Start) > 20) {\n scale = forcedScale ||\n Math.abs(touch0Now - touch1Now) /\n Math.abs(touch0Start - touch1Start);\n }\n clipXY = ((plotLeftTop - touch0Now) / scale) + touch0Start;\n selectionWH = chart['plot' + (horiz ? 'Width' : 'Height')] / scale;\n };\n // Set the scale, first pass\n setScale();\n // The clip position (x or y) is altered if out of bounds, the selection\n // position is not\n selectionXY = clipXY;\n // Out of bounds\n if (selectionXY < bounds.min) {\n selectionXY = bounds.min;\n outOfBounds = true;\n }\n else if (selectionXY + selectionWH > bounds.max) {\n selectionXY = bounds.max - selectionWH;\n outOfBounds = true;\n }\n // Is the chart dragged off its bounds, determined by dataMin and\n // dataMax?\n if (outOfBounds) {\n // Modify the touchNow position in order to create an elastic drag\n // movement. This indicates to the user that the chart is responsive\n // but can't be dragged further.\n touch0Now -= 0.8 * (touch0Now - lastValidTouch[xy][0]);\n if (typeof touch1Now === 'number') {\n touch1Now -= 0.8 * (touch1Now - lastValidTouch[xy][1]);\n }\n // Set the scale, second pass to adapt to the modified touchNow\n // positions\n setScale();\n }\n else {\n lastValidTouch[xy] = [touch0Now, touch1Now];\n }\n // Set geometry for clipping, selection and transformation\n if (!inverted) {\n clip[xy] = clipXY - plotLeftTop;\n clip[wh] = selectionWH;\n }\n scaleKey = inverted ? (horiz ? 'scaleY' : 'scaleX') : 'scale' + XY;\n transformScale = inverted ? 1 / scale : scale;\n selectionMarker[wh] = selectionWH;\n selectionMarker[xy] = selectionXY;\n transform[scaleKey] = scale;\n transform['translate' + XY] = (transformScale * plotLeftTop) +\n (touch0Now - (transformScale * touch0Start));\n };\n /**\n * Reset the tracking by hiding the tooltip, the hover series state and the\n * hover point\n *\n * @function Highcharts.Pointer#reset\n *\n * @param {boolean} [allowMove]\n * Instead of destroying the tooltip altogether, allow moving it if\n * possible.\n *\n * @param {number} [delay]\n *\n * @return {void}\n */\n Pointer.prototype.reset = function (allowMove, delay) {\n var pointer = this,\n chart = pointer.chart,\n hoverSeries = chart.hoverSeries,\n hoverPoint = chart.hoverPoint,\n hoverPoints = chart.hoverPoints,\n tooltip = chart.tooltip,\n tooltipPoints = tooltip && tooltip.shared ?\n hoverPoints :\n hoverPoint;\n // Check if the points have moved outside the plot area (#1003, #4736,\n // #5101)\n if (allowMove && tooltipPoints) {\n splat(tooltipPoints).forEach(function (point) {\n if (point.series.isCartesian &&\n typeof point.plotX === 'undefined') {\n allowMove = false;\n }\n });\n }\n // Just move the tooltip, #349\n if (allowMove) {\n if (tooltip && tooltipPoints && splat(tooltipPoints).length) {\n tooltip.refresh(tooltipPoints);\n if (tooltip.shared && hoverPoints) { // #8284\n hoverPoints.forEach(function (point) {\n point.setState(point.state, true);\n if (point.series.isCartesian) {\n if (point.series.xAxis.crosshair) {\n point.series.xAxis\n .drawCrosshair(null, point);\n }\n if (point.series.yAxis.crosshair) {\n point.series.yAxis\n .drawCrosshair(null, point);\n }\n }\n });\n }\n else if (hoverPoint) { // #2500\n hoverPoint.setState(hoverPoint.state, true);\n chart.axes.forEach(function (axis) {\n if (axis.crosshair &&\n hoverPoint.series[axis.coll] === axis) {\n axis.drawCrosshair(null, hoverPoint);\n }\n });\n }\n }\n // Full reset\n }\n else {\n if (hoverPoint) {\n hoverPoint.onMouseOut();\n }\n if (hoverPoints) {\n hoverPoints.forEach(function (point) {\n point.setState();\n });\n }\n if (hoverSeries) {\n hoverSeries.onMouseOut();\n }\n if (tooltip) {\n tooltip.hide(delay);\n }\n if (pointer.unDocMouseMove) {\n pointer.unDocMouseMove = pointer.unDocMouseMove();\n }\n // Remove crosshairs\n chart.axes.forEach(function (axis) {\n axis.hideCrosshair();\n });\n pointer.hoverX = chart.hoverPoints = chart.hoverPoint = null;\n }\n };\n /**\n * With line type charts with a single tracker, get the point closest to the\n * mouse. Run Point.onMouseOver and display tooltip for the point or points.\n *\n * @private\n * @function Highcharts.Pointer#runPointActions\n *\n * @param {global.Event} e\n *\n * @param {Highcharts.PointerEventObject} [p]\n *\n * @return {void}\n *\n * @fires Highcharts.Point#event:mouseOut\n * @fires Highcharts.Point#event:mouseOver\n */\n Pointer.prototype.runPointActions = function (e, p) {\n var pointer = this,\n chart = pointer.chart,\n series = chart.series,\n tooltip = (chart.tooltip && chart.tooltip.options.enabled ?\n chart.tooltip :\n void 0),\n shared = (tooltip ?\n tooltip.shared :\n false),\n hoverPoint = p || chart.hoverPoint,\n hoverSeries = hoverPoint && hoverPoint.series || chart.hoverSeries, \n // onMouseOver or already hovering a series with directTouch\n isDirectTouch = (!e || e.type !== 'touchmove') && (!!p || ((hoverSeries && hoverSeries.directTouch) &&\n pointer.isDirectTouch)),\n hoverData = this.getHoverData(hoverPoint,\n hoverSeries,\n series,\n isDirectTouch,\n shared,\n e),\n useSharedTooltip,\n followPointer,\n anchor,\n points;\n // Update variables from hoverData.\n hoverPoint = hoverData.hoverPoint;\n points = hoverData.hoverPoints;\n hoverSeries = hoverData.hoverSeries;\n followPointer = hoverSeries && hoverSeries.tooltipOptions.followPointer;\n useSharedTooltip = (shared &&\n hoverSeries &&\n !hoverSeries.noSharedTooltip);\n // Refresh tooltip for kdpoint if new hover point or tooltip was hidden\n // #3926, #4200\n if (hoverPoint &&\n // !(hoverSeries && hoverSeries.directTouch) &&\n (hoverPoint !== chart.hoverPoint || (tooltip && tooltip.isHidden))) {\n (chart.hoverPoints || []).forEach(function (p) {\n if (points.indexOf(p) === -1) {\n p.setState();\n }\n });\n // Set normal state to previous series\n if (chart.hoverSeries !== hoverSeries) {\n hoverSeries.onMouseOver();\n }\n pointer.applyInactiveState(points);\n // Do mouseover on all points (#3919, #3985, #4410, #5622)\n (points || []).forEach(function (p) {\n p.setState('hover');\n });\n // If tracking is on series in stead of on each point,\n // fire mouseOver on hover point. // #4448\n if (chart.hoverPoint) {\n chart.hoverPoint.firePointEvent('mouseOut');\n }\n // Hover point may have been destroyed in the event handlers (#7127)\n if (!hoverPoint.series) {\n return;\n }\n /**\n * Contains all hovered points.\n *\n * @name Highcharts.Chart#hoverPoints\n * @type {Array|null}\n */\n chart.hoverPoints = points;\n /**\n * Contains the original hovered point.\n *\n * @name Highcharts.Chart#hoverPoint\n * @type {Highcharts.Point|null}\n */\n chart.hoverPoint = hoverPoint;\n /**\n * Hover state should not be lost when axis is updated (#12569)\n * Axis.update runs pointer.reset which uses chart.hoverPoint.state\n * to apply state which does not exist in hoverPoint yet.\n * The mouseOver event should be triggered when hoverPoint\n * is correct.\n */\n hoverPoint.firePointEvent('mouseOver');\n // Draw tooltip if necessary\n if (tooltip) {\n tooltip.refresh(useSharedTooltip ? points : hoverPoint, e);\n }\n // Update positions (regardless of kdpoint or hoverPoint)\n }\n else if (followPointer && tooltip && !tooltip.isHidden) {\n anchor = tooltip.getAnchor([{}], e);\n tooltip.updatePosition({ plotX: anchor[0], plotY: anchor[1] });\n }\n // Start the event listener to pick up the tooltip and crosshairs\n if (!pointer.unDocMouseMove) {\n pointer.unDocMouseMove = addEvent(chart.container.ownerDocument, 'mousemove', function (e) {\n var chart = charts[H.hoverChartIndex];\n if (chart) {\n chart.pointer.onDocumentMouseMove(e);\n }\n });\n }\n // Issues related to crosshair #4927, #5269 #5066, #5658\n chart.axes.forEach(function drawAxisCrosshair(axis) {\n var snap = pick((axis.crosshair || {}).snap,\n true);\n var point;\n if (snap) {\n point = chart.hoverPoint; // #13002\n if (!point || point.series[axis.coll] !== axis) {\n point = find(points, function (p) {\n return p.series[axis.coll] === axis;\n });\n }\n }\n // Axis has snapping crosshairs, and one of the hover points belongs\n // to axis. Always call drawCrosshair when it is not snap.\n if (point || !snap) {\n axis.drawCrosshair(e, point);\n // Axis has snapping crosshairs, but no hover point belongs to axis\n }\n else {\n axis.hideCrosshair();\n }\n });\n };\n /**\n * Scale series groups to a certain scale and translation.\n *\n * @private\n * @function Highcharts.Pointer#scaleGroups\n *\n * @param {Highcharts.SeriesPlotBoxObject} [attribs]\n *\n * @param {boolean} [clip]\n *\n * @return {void}\n */\n Pointer.prototype.scaleGroups = function (attribs, clip) {\n var chart = this.chart,\n seriesAttribs;\n // Scale each series\n chart.series.forEach(function (series) {\n seriesAttribs = attribs || series.getPlotBox(); // #1701\n if (series.xAxis && series.xAxis.zoomEnabled && series.group) {\n series.group.attr(seriesAttribs);\n if (series.markerGroup) {\n series.markerGroup.attr(seriesAttribs);\n series.markerGroup.clip(clip ? chart.clipRect : null);\n }\n if (series.dataLabelsGroup) {\n series.dataLabelsGroup.attr(seriesAttribs);\n }\n }\n });\n // Clip\n chart.clipRect.attr(clip || chart.clipBox);\n };\n /**\n * Set the JS DOM events on the container and document. This method should\n * contain a one-to-one assignment between methods and their handlers. Any\n * advanced logic should be moved to the handler reflecting the event's\n * name.\n *\n * @private\n * @function Highcharts.Pointer#setDOMEvents\n *\n * @return {void}\n */\n Pointer.prototype.setDOMEvents = function () {\n var container = this.chart.container,\n ownerDoc = container.ownerDocument;\n container.onmousedown = this.onContainerMouseDown.bind(this);\n container.onmousemove = this.onContainerMouseMove.bind(this);\n container.onclick = this.onContainerClick.bind(this);\n this.unbindContainerMouseEnter = addEvent(container, 'mouseenter', this.onContainerMouseEnter.bind(this));\n this.unbindContainerMouseLeave = addEvent(container, 'mouseleave', this.onContainerMouseLeave.bind(this));\n if (!H.unbindDocumentMouseUp) {\n H.unbindDocumentMouseUp = addEvent(ownerDoc, 'mouseup', this.onDocumentMouseUp.bind(this));\n }\n if (H.hasTouch) {\n addEvent(container, 'touchstart', this.onContainerTouchStart.bind(this));\n addEvent(container, 'touchmove', this.onContainerTouchMove.bind(this));\n if (!H.unbindDocumentTouchEnd) {\n H.unbindDocumentTouchEnd = addEvent(ownerDoc, 'touchend', this.onDocumentTouchEnd.bind(this));\n }\n }\n };\n /**\n * Sets the index of the hovered chart and leaves the previous hovered\n * chart, to reset states like tooltip.\n *\n * @private\n * @function Highcharts.Pointer#setHoverChartIndex\n */\n Pointer.prototype.setHoverChartIndex = function () {\n var chart = this.chart;\n var hoverChart = H.charts[pick(H.hoverChartIndex, -1)];\n if (hoverChart &&\n hoverChart !== chart) {\n hoverChart.pointer.onContainerMouseLeave({ relatedTarget: true });\n }\n if (!hoverChart ||\n !hoverChart.mouseIsDown) {\n H.hoverChartIndex = chart.index;\n }\n };\n /**\n * General touch handler shared by touchstart and touchmove.\n *\n * @private\n * @function Highcharts.Pointer#touch\n *\n * @param {Highcharts.PointerEventObject} e\n *\n * @param {boolean} [start]\n *\n * @return {void}\n */\n Pointer.prototype.touch = function (e, start) {\n var chart = this.chart,\n hasMoved,\n pinchDown,\n isInside;\n this.setHoverChartIndex();\n if (e.touches.length === 1) {\n e = this.normalize(e);\n isInside = chart.isInsidePlot(e.chartX - chart.plotLeft, e.chartY - chart.plotTop);\n if (isInside && !chart.openMenu) {\n // Run mouse events and display tooltip etc\n if (start) {\n this.runPointActions(e);\n }\n // Android fires touchmove events after the touchstart even if\n // the finger hasn't moved, or moved only a pixel or two. In iOS\n // however, the touchmove doesn't fire unless the finger moves\n // more than ~4px. So we emulate this behaviour in Android by\n // checking how much it moved, and cancelling on small\n // distances. #3450.\n if (e.type === 'touchmove') {\n pinchDown = this.pinchDown;\n hasMoved = pinchDown[0] ? Math.sqrt(// #5266\n Math.pow(pinchDown[0].chartX - e.chartX, 2) +\n Math.pow(pinchDown[0].chartY - e.chartY, 2)) >= 4 : false;\n }\n if (pick(hasMoved, true)) {\n this.pinch(e);\n }\n }\n else if (start) {\n // Hide the tooltip on touching outside the plot area (#1203)\n this.reset();\n }\n }\n else if (e.touches.length === 2) {\n this.pinch(e);\n }\n };\n /**\n * Resolve the zoomType option, this is reset on all touch start and mouse\n * down events.\n *\n * @private\n * @function Highcharts.Pointer#zoomOption\n *\n * @param {global.Event} e\n * Event object.\n *\n * @param {void}\n */\n Pointer.prototype.zoomOption = function (e) {\n var chart = this.chart,\n options = chart.options.chart,\n zoomType = options.zoomType || '',\n inverted = chart.inverted,\n zoomX,\n zoomY;\n // Look for the pinchType option\n if (/touch/.test(e.type)) {\n zoomType = pick(options.pinchType, zoomType);\n }\n this.zoomX = zoomX = /x/.test(zoomType);\n this.zoomY = zoomY = /y/.test(zoomType);\n this.zoomHor = (zoomX && !inverted) || (zoomY && inverted);\n this.zoomVert = (zoomY && !inverted) || (zoomX && inverted);\n this.hasZoom = zoomX || zoomY;\n };\n return Pointer;\n }());\n H.Pointer = Pointer;\n\n return Pointer;\n });\n _registerModule(_modules, 'Core/MSPointer.js', [_modules['Core/Globals.js'], _modules['Core/Pointer.js'], _modules['Core/Utilities.js']], function (H, Pointer, U) {\n /* *\n *\n * (c) 2010-2020 Torstein Honsi\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d,\n b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d,\n b) { d.__proto__ = b; }) ||\n function (d,\n b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n })();\n var charts = H.charts,\n doc = H.doc,\n noop = H.noop,\n win = H.win;\n var addEvent = U.addEvent,\n css = U.css,\n objectEach = U.objectEach,\n removeEvent = U.removeEvent;\n /* globals MSPointerEvent, PointerEvent */\n // The touches object keeps track of the points being touched at all times\n var touches = {};\n var hasPointerEvent = !!win.PointerEvent;\n /* eslint-disable valid-jsdoc */\n /** @private */\n function getWebkitTouches() {\n var fake = [];\n fake.item = function (i) {\n return this[i];\n };\n objectEach(touches, function (touch) {\n fake.push({\n pageX: touch.pageX,\n pageY: touch.pageY,\n target: touch.target\n });\n });\n return fake;\n }\n /** @private */\n function translateMSPointer(e, method, wktype, func) {\n var p;\n if ((e.pointerType === 'touch' ||\n e.pointerType === e.MSPOINTER_TYPE_TOUCH) && charts[H.hoverChartIndex]) {\n func(e);\n p = charts[H.hoverChartIndex].pointer;\n p[method]({\n type: wktype,\n target: e.currentTarget,\n preventDefault: noop,\n touches: getWebkitTouches()\n });\n }\n }\n /** @private */\n var MSPointer = /** @class */ (function (_super) {\n __extends(MSPointer, _super);\n function MSPointer() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /* *\n *\n * Functions\n *\n * */\n /**\n * Add or remove the MS Pointer specific events\n *\n * @private\n * @function Highcharts.Pointer#batchMSEvents\n *\n * @param {Function} fn\n *\n * @return {void}\n */\n MSPointer.prototype.batchMSEvents = function (fn) {\n fn(this.chart.container, hasPointerEvent ? 'pointerdown' : 'MSPointerDown', this.onContainerPointerDown);\n fn(this.chart.container, hasPointerEvent ? 'pointermove' : 'MSPointerMove', this.onContainerPointerMove);\n fn(doc, hasPointerEvent ? 'pointerup' : 'MSPointerUp', this.onDocumentPointerUp);\n };\n // Destroy MS events also\n MSPointer.prototype.destroy = function () {\n this.batchMSEvents(removeEvent);\n _super.prototype.destroy.call(this);\n };\n // Disable default IE actions for pinch and such on chart element\n MSPointer.prototype.init = function (chart, options) {\n _super.prototype.init.call(this, chart, options);\n if (this.hasZoom) { // #4014\n css(chart.container, {\n '-ms-touch-action': 'none',\n 'touch-action': 'none'\n });\n }\n };\n /**\n * @private\n * @function Highcharts.Pointer#onContainerPointerDown\n *\n * @param {Highcharts.PointerEventObject} e\n *\n * @return {void}\n */\n MSPointer.prototype.onContainerPointerDown = function (e) {\n translateMSPointer(e, 'onContainerTouchStart', 'touchstart', function (e) {\n touches[e.pointerId] = {\n pageX: e.pageX,\n pageY: e.pageY,\n target: e.currentTarget\n };\n });\n };\n /**\n * @private\n * @function Highcharts.Pointer#onContainerPointerMove\n *\n * @param {Highcharts.PointerEventObject} e\n *\n * @return {void}\n */\n MSPointer.prototype.onContainerPointerMove = function (e) {\n translateMSPointer(e, 'onContainerTouchMove', 'touchmove', function (e) {\n touches[e.pointerId] = ({ pageX: e.pageX, pageY: e.pageY });\n if (!touches[e.pointerId].target) {\n touches[e.pointerId].target = e.currentTarget;\n }\n });\n };\n /**\n * @private\n * @function Highcharts.Pointer#onDocumentPointerUp\n *\n * @param {Highcharts.PointerEventObject} e\n *\n * @return {void}\n */\n MSPointer.prototype.onDocumentPointerUp = function (e) {\n translateMSPointer(e, 'onDocumentTouchEnd', 'touchend', function (e) {\n delete touches[e.pointerId];\n });\n };\n // Add IE specific touch events to chart\n MSPointer.prototype.setDOMEvents = function () {\n _super.prototype.setDOMEvents.call(this);\n if (this.hasZoom || this.followTouchMove) {\n this.batchMSEvents(addEvent);\n }\n };\n return MSPointer;\n }(Pointer));\n\n return MSPointer;\n });\n _registerModule(_modules, 'Core/Legend.js', [_modules['Core/Animation/AnimationUtilities.js'], _modules['Core/Globals.js'], _modules['Core/Utilities.js']], function (A, H, U) {\n /* *\n *\n * (c) 2010-2020 Torstein Honsi\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n var animObject = A.animObject,\n setAnimation = A.setAnimation;\n /**\n * Gets fired when the legend item belonging to a point is clicked. The default\n * action is to toggle the visibility of the point. This can be prevented by\n * returning `false` or calling `event.preventDefault()`.\n *\n * @callback Highcharts.PointLegendItemClickCallbackFunction\n *\n * @param {Highcharts.Point} this\n * The point on which the event occured.\n *\n * @param {Highcharts.PointLegendItemClickEventObject} event\n * The event that occured.\n */\n /**\n * Information about the legend click event.\n *\n * @interface Highcharts.PointLegendItemClickEventObject\n */ /**\n * Related browser event.\n * @name Highcharts.PointLegendItemClickEventObject#browserEvent\n * @type {Highcharts.PointerEvent}\n */ /**\n * Prevent the default action of toggle the visibility of the point.\n * @name Highcharts.PointLegendItemClickEventObject#preventDefault\n * @type {Function}\n */ /**\n * Related point.\n * @name Highcharts.PointLegendItemClickEventObject#target\n * @type {Highcharts.Point}\n */ /**\n * Event type.\n * @name Highcharts.PointLegendItemClickEventObject#type\n * @type {\"legendItemClick\"}\n */\n /**\n * Gets fired when the legend item belonging to a series is clicked. The default\n * action is to toggle the visibility of the series. This can be prevented by\n * returning `false` or calling `event.preventDefault()`.\n *\n * @callback Highcharts.SeriesLegendItemClickCallbackFunction\n *\n * @param {Highcharts.Series} this\n * The series where the event occured.\n *\n * @param {Highcharts.SeriesLegendItemClickEventObject} event\n * The event that occured.\n */\n /**\n * Information about the legend click event.\n *\n * @interface Highcharts.SeriesLegendItemClickEventObject\n */ /**\n * Related browser event.\n * @name Highcharts.SeriesLegendItemClickEventObject#browserEvent\n * @type {Highcharts.PointerEvent}\n */ /**\n * Prevent the default action of toggle the visibility of the series.\n * @name Highcharts.SeriesLegendItemClickEventObject#preventDefault\n * @type {Function}\n */ /**\n * Related series.\n * @name Highcharts.SeriesLegendItemClickEventObject#target\n * @type {Highcharts.Series}\n */ /**\n * Event type.\n * @name Highcharts.SeriesLegendItemClickEventObject#type\n * @type {\"legendItemClick\"}\n */\n var addEvent = U.addEvent,\n css = U.css,\n defined = U.defined,\n discardElement = U.discardElement,\n find = U.find,\n fireEvent = U.fireEvent,\n format = U.format,\n isNumber = U.isNumber,\n merge = U.merge,\n pick = U.pick,\n relativeLength = U.relativeLength,\n stableSort = U.stableSort,\n syncTimeout = U.syncTimeout,\n wrap = U.wrap;\n var isFirefox = H.isFirefox,\n marginNames = H.marginNames,\n win = H.win;\n /* eslint-disable no-invalid-this, valid-jsdoc */\n /**\n * The overview of the chart's series. The legend object is instanciated\n * internally in the chart constructor, and is available from the `chart.legend`\n * property. Each chart has only one legend.\n *\n * @class\n * @name Highcharts.Legend\n *\n * @param {Highcharts.Chart} chart\n * The chart instance.\n *\n * @param {Highcharts.LegendOptions} options\n * Legend options.\n */\n var Legend = /** @class */ (function () {\n /* *\n *\n * Constructors\n *\n * */\n function Legend(chart, options) {\n /* *\n *\n * Properties\n *\n * */\n this.allItems = [];\n this.box = void 0;\n this.contentGroup = void 0;\n this.display = false;\n this.group = void 0;\n this.initialItemY = 0;\n this.itemHeight = 0;\n this.itemMarginBottom = 0;\n this.itemMarginTop = 0;\n this.itemX = 0;\n this.itemY = 0;\n this.lastItemY = 0;\n this.lastLineHeight = 0;\n this.legendHeight = 0;\n this.legendWidth = 0;\n this.maxItemWidth = 0;\n this.maxLegendWidth = 0;\n this.offsetWidth = 0;\n this.options = {};\n this.padding = 0;\n this.pages = [];\n this.proximate = false;\n this.scrollGroup = void 0;\n this.symbolHeight = 0;\n this.symbolWidth = 0;\n this.titleHeight = 0;\n this.totalItemWidth = 0;\n this.widthOption = 0;\n this.chart = chart;\n this.init(chart, options);\n }\n /* *\n *\n * Functions\n *\n * */\n /**\n * Initialize the legend.\n *\n * @private\n * @function Highcharts.Legend#init\n *\n * @param {Highcharts.Chart} chart\n * The chart instance.\n *\n * @param {Highcharts.LegendOptions} options\n * Legend options.\n */\n Legend.prototype.init = function (chart, options) {\n /**\n * Chart of this legend.\n *\n * @readonly\n * @name Highcharts.Legend#chart\n * @type {Highcharts.Chart}\n */\n this.chart = chart;\n this.setOptions(options);\n if (options.enabled) {\n // Render it\n this.render();\n // move checkboxes\n addEvent(this.chart, 'endResize', function () {\n this.legend.positionCheckboxes();\n });\n if (this.proximate) {\n this.unchartrender = addEvent(this.chart, 'render', function () {\n this.legend.proximatePositions();\n this.legend.positionItems();\n });\n }\n else if (this.unchartrender) {\n this.unchartrender();\n }\n }\n };\n /**\n * @private\n * @function Highcharts.Legend#setOptions\n * @param {Highcharts.LegendOptions} options\n */\n Legend.prototype.setOptions = function (options) {\n var padding = pick(options.padding, 8);\n /**\n * Legend options.\n *\n * @readonly\n * @name Highcharts.Legend#options\n * @type {Highcharts.LegendOptions}\n */\n this.options = options;\n if (!this.chart.styledMode) {\n this.itemStyle = options.itemStyle;\n this.itemHiddenStyle = merge(this.itemStyle, options.itemHiddenStyle);\n }\n this.itemMarginTop = options.itemMarginTop || 0;\n this.itemMarginBottom = options.itemMarginBottom || 0;\n this.padding = padding;\n this.initialItemY = padding - 5; // 5 is pixels above the text\n this.symbolWidth = pick(options.symbolWidth, 16);\n this.pages = [];\n this.proximate = options.layout === 'proximate' && !this.chart.inverted;\n this.baseline = void 0; // #12705: baseline has to be reset on every update\n };\n /**\n * Update the legend with new options. Equivalent to running `chart.update`\n * with a legend configuration option.\n *\n * @sample highcharts/legend/legend-update/\n * Legend update\n *\n * @function Highcharts.Legend#update\n *\n * @param {Highcharts.LegendOptions} options\n * Legend options.\n *\n * @param {boolean} [redraw=true]\n * Whether to redraw the chart after the axis is altered. If doing more\n * operations on the chart, it is a good idea to set redraw to false and\n * call {@link Chart#redraw} after. Whether to redraw the chart.\n *\n * @fires Highcharts.Legends#event:afterUpdate\n */\n Legend.prototype.update = function (options, redraw) {\n var chart = this.chart;\n this.setOptions(merge(true, this.options, options));\n this.destroy();\n chart.isDirtyLegend = chart.isDirtyBox = true;\n if (pick(redraw, true)) {\n chart.redraw();\n }\n fireEvent(this, 'afterUpdate');\n };\n /**\n * Set the colors for the legend item.\n *\n * @private\n * @function Highcharts.Legend#colorizeItem\n * @param {Highcharts.BubbleLegend|Highcharts.Point|Highcharts.Series} item\n * A Series or Point instance\n * @param {boolean} [visible=false]\n * Dimmed or colored\n *\n * @todo\n * Make events official: Fires the event `afterColorizeItem`.\n */\n Legend.prototype.colorizeItem = function (item, visible) {\n item.legendGroup[visible ? 'removeClass' : 'addClass']('highcharts-legend-item-hidden');\n if (!this.chart.styledMode) {\n var legend = this,\n options = legend.options,\n legendItem = item.legendItem,\n legendLine = item.legendLine,\n legendSymbol = item.legendSymbol,\n hiddenColor = legend.itemHiddenStyle.color,\n textColor = visible ?\n options.itemStyle.color :\n hiddenColor,\n symbolColor = visible ?\n (item.color || hiddenColor) :\n hiddenColor,\n markerOptions = item.options && item.options.marker,\n symbolAttr = { fill: symbolColor };\n if (legendItem) {\n legendItem.css({\n fill: textColor,\n color: textColor // #1553, oldIE\n });\n }\n if (legendLine) {\n legendLine.attr({ stroke: symbolColor });\n }\n if (legendSymbol) {\n // Apply marker options\n if (markerOptions && legendSymbol.isMarker) { // #585\n symbolAttr = item.pointAttribs();\n if (!visible) {\n // #6769\n symbolAttr.stroke = symbolAttr.fill = hiddenColor;\n }\n }\n legendSymbol.attr(symbolAttr);\n }\n }\n fireEvent(this, 'afterColorizeItem', { item: item, visible: visible });\n };\n /**\n * @private\n * @function Highcharts.Legend#positionItems\n */\n Legend.prototype.positionItems = function () {\n // Now that the legend width and height are established, put the items\n // in the final position\n this.allItems.forEach(this.positionItem, this);\n if (!this.chart.isResizing) {\n this.positionCheckboxes();\n }\n };\n /**\n * Position the legend item.\n *\n * @private\n * @function Highcharts.Legend#positionItem\n * @param {Highcharts.BubbleLegend|Highcharts.Point|Highcharts.Series} item\n * The item to position\n */\n Legend.prototype.positionItem = function (item) {\n var _this = this;\n var legend = this,\n options = legend.options,\n symbolPadding = options.symbolPadding,\n ltr = !options.rtl,\n legendItemPos = item._legendItemPos,\n itemX = legendItemPos[0],\n itemY = legendItemPos[1],\n checkbox = item.checkbox,\n legendGroup = item.legendGroup;\n if (legendGroup && legendGroup.element) {\n var attribs = {\n translateX: ltr ?\n itemX :\n legend.legendWidth - itemX - 2 * symbolPadding - 4,\n translateY: itemY\n };\n var complete = function () {\n fireEvent(_this, 'afterPositionItem', { item: item });\n };\n if (defined(legendGroup.translateY)) {\n legendGroup.animate(attribs, void 0, complete);\n }\n else {\n legendGroup.attr(attribs);\n complete();\n }\n }\n if (checkbox) {\n checkbox.x = itemX;\n checkbox.y = itemY;\n }\n };\n /**\n * Destroy a single legend item, used internally on removing series items.\n *\n * @private\n * @function Highcharts.Legend#destroyItem\n * @param {Highcharts.BubbleLegend|Highcharts.Point|Highcharts.Series} item\n * The item to remove\n */\n Legend.prototype.destroyItem = function (item) {\n var checkbox = item.checkbox;\n // destroy SVG elements\n ['legendItem', 'legendLine', 'legendSymbol', 'legendGroup'].forEach(function (key) {\n if (item[key]) {\n item[key] = item[key].destroy();\n }\n });\n if (checkbox) {\n discardElement(item.checkbox);\n }\n };\n /**\n * Destroy the legend. Used internally. To reflow objects, `chart.redraw`\n * must be called after destruction.\n *\n * @private\n * @function Highcharts.Legend#destroy\n */\n Legend.prototype.destroy = function () {\n /**\n * @private\n * @param {string} key\n * @return {void}\n */\n function destroyItems(key) {\n if (this[key]) {\n this[key] = this[key].destroy();\n }\n }\n // Destroy items\n this.getAllItems().forEach(function (item) {\n ['legendItem', 'legendGroup'].forEach(destroyItems, item);\n });\n // Destroy legend elements\n [\n 'clipRect',\n 'up',\n 'down',\n 'pager',\n 'nav',\n 'box',\n 'title',\n 'group'\n ].forEach(destroyItems, this);\n this.display = null; // Reset in .render on update.\n };\n /**\n * Position the checkboxes after the width is determined.\n *\n * @private\n * @function Highcharts.Legend#positionCheckboxes\n */\n Legend.prototype.positionCheckboxes = function () {\n var alignAttr = this.group && this.group.alignAttr,\n translateY,\n clipHeight = this.clipHeight || this.legendHeight,\n titleHeight = this.titleHeight;\n if (alignAttr) {\n translateY = alignAttr.translateY;\n this.allItems.forEach(function (item) {\n var checkbox = item.checkbox,\n top;\n if (checkbox) {\n top = translateY + titleHeight + checkbox.y +\n (this.scrollOffset || 0) + 3;\n css(checkbox, {\n left: (alignAttr.translateX + item.checkboxOffset +\n checkbox.x - 20) + 'px',\n top: top + 'px',\n display: this.proximate || (top > translateY - 6 &&\n top < translateY + clipHeight - 6) ?\n '' :\n 'none'\n });\n }\n }, this);\n }\n };\n /**\n * Render the legend title on top of the legend.\n *\n * @private\n * @function Highcharts.Legend#renderTitle\n */\n Legend.prototype.renderTitle = function () {\n var options = this.options,\n padding = this.padding,\n titleOptions = options.title,\n titleHeight = 0,\n bBox;\n if (titleOptions.text) {\n if (!this.title) {\n /**\n * SVG element of the legend title.\n *\n * @readonly\n * @name Highcharts.Legend#title\n * @type {Highcharts.SVGElement}\n */\n this.title = this.chart.renderer.label(titleOptions.text, padding - 3, padding - 4, null, null, null, options.useHTML, null, 'legend-title')\n .attr({ zIndex: 1 });\n if (!this.chart.styledMode) {\n this.title.css(titleOptions.style);\n }\n this.title.add(this.group);\n }\n // Set the max title width (#7253)\n if (!titleOptions.width) {\n this.title.css({\n width: this.maxLegendWidth + 'px'\n });\n }\n bBox = this.title.getBBox();\n titleHeight = bBox.height;\n this.offsetWidth = bBox.width; // #1717\n this.contentGroup.attr({ translateY: titleHeight });\n }\n this.titleHeight = titleHeight;\n };\n /**\n * Set the legend item text.\n *\n * @function Highcharts.Legend#setText\n * @param {Highcharts.Point|Highcharts.Series} item\n * The item for which to update the text in the legend.\n */\n Legend.prototype.setText = function (item) {\n var options = this.options;\n item.legendItem.attr({\n text: options.labelFormat ?\n format(options.labelFormat, item, this.chart) :\n options.labelFormatter.call(item)\n });\n };\n /**\n * Render a single specific legend item. Called internally from the `render`\n * function.\n *\n * @private\n * @function Highcharts.Legend#renderItem\n * @param {Highcharts.BubbleLegend|Highcharts.Point|Highcharts.Series} item\n * The item to render.\n */\n Legend.prototype.renderItem = function (item) {\n var legend = this,\n chart = legend.chart,\n renderer = chart.renderer,\n options = legend.options,\n horizontal = options.layout === 'horizontal',\n symbolWidth = legend.symbolWidth,\n symbolPadding = options.symbolPadding,\n itemStyle = legend.itemStyle,\n itemHiddenStyle = legend.itemHiddenStyle,\n itemDistance = horizontal ? pick(options.itemDistance, 20) : 0,\n ltr = !options.rtl,\n bBox,\n li = item.legendItem,\n isSeries = !item.series,\n series = !isSeries && item.series.drawLegendSymbol ?\n item.series :\n item,\n seriesOptions = series.options,\n showCheckbox = legend.createCheckboxForItem &&\n seriesOptions &&\n seriesOptions.showCheckbox, \n // full width minus text width\n itemExtraWidth = symbolWidth + symbolPadding +\n itemDistance + (showCheckbox ? 20 : 0),\n useHTML = options.useHTML,\n itemClassName = item.options.className;\n if (!li) { // generate it once, later move it\n // Generate the group box, a group to hold the symbol and text. Text\n // is to be appended in Legend class.\n item.legendGroup = renderer\n .g('legend-item')\n .addClass('highcharts-' + series.type + '-series ' +\n 'highcharts-color-' + item.colorIndex +\n (itemClassName ? ' ' + itemClassName : '') +\n (isSeries ?\n ' highcharts-series-' + item.index :\n ''))\n .attr({ zIndex: 1 })\n .add(legend.scrollGroup);\n // Generate the list item text and add it to the group\n item.legendItem = li = renderer.text('', ltr ?\n symbolWidth + symbolPadding :\n -symbolPadding, legend.baseline || 0, useHTML);\n if (!chart.styledMode) {\n // merge to prevent modifying original (#1021)\n li.css(merge(item.visible ?\n itemStyle :\n itemHiddenStyle));\n }\n li\n .attr({\n align: ltr ? 'left' : 'right',\n zIndex: 2\n })\n .add(item.legendGroup);\n // Get the baseline for the first item - the font size is equal for\n // all\n if (!legend.baseline) {\n legend.fontMetrics = renderer.fontMetrics(chart.styledMode ? 12 : itemStyle.fontSize, li);\n legend.baseline =\n legend.fontMetrics.f + 3 + legend.itemMarginTop;\n li.attr('y', legend.baseline);\n }\n // Draw the legend symbol inside the group box\n legend.symbolHeight =\n options.symbolHeight || legend.fontMetrics.f;\n series.drawLegendSymbol(legend, item);\n if (legend.setItemEvents) {\n legend.setItemEvents(item, li, useHTML);\n }\n }\n // Add the HTML checkbox on top\n if (showCheckbox && !item.checkbox && legend.createCheckboxForItem) {\n legend.createCheckboxForItem(item);\n }\n // Colorize the items\n legend.colorizeItem(item, item.visible);\n // Take care of max width and text overflow (#6659)\n if (chart.styledMode || !itemStyle.width) {\n li.css({\n width: ((options.itemWidth ||\n legend.widthOption ||\n chart.spacingBox.width) - itemExtraWidth) + 'px'\n });\n }\n // Always update the text\n legend.setText(item);\n // calculate the positions for the next line\n bBox = li.getBBox();\n item.itemWidth = item.checkboxOffset =\n options.itemWidth ||\n item.legendItemWidth ||\n bBox.width + itemExtraWidth;\n legend.maxItemWidth = Math.max(legend.maxItemWidth, item.itemWidth);\n legend.totalItemWidth += item.itemWidth;\n legend.itemHeight = item.itemHeight = Math.round(item.legendItemHeight || bBox.height || legend.symbolHeight);\n };\n /**\n * Get the position of the item in the layout. We now know the\n * maxItemWidth from the previous loop.\n *\n * @private\n * @function Highcharts.Legend#layoutItem\n * @param {Highcharts.BubbleLegend|Highcharts.Point|Highcharts.Series} item\n */\n Legend.prototype.layoutItem = function (item) {\n var options = this.options,\n padding = this.padding,\n horizontal = options.layout === 'horizontal',\n itemHeight = item.itemHeight,\n itemMarginBottom = this.itemMarginBottom,\n itemMarginTop = this.itemMarginTop,\n itemDistance = horizontal ? pick(options.itemDistance, 20) : 0,\n maxLegendWidth = this.maxLegendWidth,\n itemWidth = (options.alignColumns &&\n this.totalItemWidth > maxLegendWidth) ?\n this.maxItemWidth :\n item.itemWidth;\n // If the item exceeds the width, start a new line\n if (horizontal &&\n this.itemX - padding + itemWidth > maxLegendWidth) {\n this.itemX = padding;\n if (this.lastLineHeight) { // Not for the first line (#10167)\n this.itemY += (itemMarginTop +\n this.lastLineHeight +\n itemMarginBottom);\n }\n this.lastLineHeight = 0; // reset for next line (#915, #3976)\n }\n // Set the edge positions\n this.lastItemY = itemMarginTop + this.itemY + itemMarginBottom;\n this.lastLineHeight = Math.max(// #915\n itemHeight, this.lastLineHeight);\n // cache the position of the newly generated or reordered items\n item._legendItemPos = [this.itemX, this.itemY];\n // advance\n if (horizontal) {\n this.itemX += itemWidth;\n }\n else {\n this.itemY +=\n itemMarginTop + itemHeight + itemMarginBottom;\n this.lastLineHeight = itemHeight;\n }\n // the width of the widest item\n this.offsetWidth = this.widthOption || Math.max((horizontal ? this.itemX - padding - (item.checkbox ?\n // decrease by itemDistance only when no checkbox #4853\n 0 :\n itemDistance) : itemWidth) + padding, this.offsetWidth);\n };\n /**\n * Get all items, which is one item per series for most series and one\n * item per point for pie series and its derivatives. Fires the event\n * `afterGetAllItems`.\n *\n * @private\n * @function Highcharts.Legend#getAllItems\n * @return {Array<(Highcharts.BubbleLegend|Highcharts.Point|Highcharts.Series)>}\n * The current items in the legend.\n * @fires Highcharts.Legend#event:afterGetAllItems\n */\n Legend.prototype.getAllItems = function () {\n var allItems = [];\n this.chart.series.forEach(function (series) {\n var seriesOptions = series && series.options;\n // Handle showInLegend. If the series is linked to another series,\n // defaults to false.\n if (series && pick(seriesOptions.showInLegend, !defined(seriesOptions.linkedTo) ? void 0 : false, true)) {\n // Use points or series for the legend item depending on\n // legendType\n allItems = allItems.concat(series.legendItems ||\n (seriesOptions.legendType === 'point' ?\n series.data :\n series));\n }\n });\n fireEvent(this, 'afterGetAllItems', { allItems: allItems });\n return allItems;\n };\n /**\n * Get a short, three letter string reflecting the alignment and layout.\n *\n * @private\n * @function Highcharts.Legend#getAlignment\n * @return {string}\n * The alignment, empty string if floating\n */\n Legend.prototype.getAlignment = function () {\n var options = this.options;\n // Use the first letter of each alignment option in order to detect\n // the side. (#4189 - use charAt(x) notation instead of [x] for IE7)\n if (this.proximate) {\n return options.align.charAt(0) + 'tv';\n }\n return options.floating ? '' : (options.align.charAt(0) +\n options.verticalAlign.charAt(0) +\n options.layout.charAt(0));\n };\n /**\n * Adjust the chart margins by reserving space for the legend on only one\n * side of the chart. If the position is set to a corner, top or bottom is\n * reserved for horizontal legends and left or right for vertical ones.\n *\n * @private\n * @function Highcharts.Legend#adjustMargins\n * @param {Array} margin\n * @param {Array} spacing\n */\n Legend.prototype.adjustMargins = function (margin, spacing) {\n var chart = this.chart,\n options = this.options,\n alignment = this.getAlignment();\n if (alignment) {\n ([\n /(lth|ct|rth)/,\n /(rtv|rm|rbv)/,\n /(rbh|cb|lbh)/,\n /(lbv|lm|ltv)/\n ]).forEach(function (alignments, side) {\n if (alignments.test(alignment) && !defined(margin[side])) {\n // Now we have detected on which side of the chart we should\n // reserve space for the legend\n chart[marginNames[side]] = Math.max(chart[marginNames[side]], (chart.legend[(side + 1) % 2 ? 'legendHeight' : 'legendWidth'] +\n [1, -1, -1, 1][side] * options[(side % 2) ? 'x' : 'y'] +\n pick(options.margin, 12) +\n spacing[side] +\n (chart.titleOffset[side] || 0)));\n }\n });\n }\n };\n /**\n * @private\n * @function Highcharts.Legend#proximatePositions\n */\n Legend.prototype.proximatePositions = function () {\n var chart = this.chart,\n boxes = [],\n alignLeft = this.options.align === 'left';\n this.allItems.forEach(function (item) {\n var lastPoint,\n height,\n useFirstPoint = alignLeft,\n target,\n top;\n if (item.yAxis) {\n if (item.xAxis.options.reversed) {\n useFirstPoint = !useFirstPoint;\n }\n if (item.points) {\n lastPoint = find(useFirstPoint ?\n item.points :\n item.points.slice(0).reverse(), function (item) {\n return isNumber(item.plotY);\n });\n }\n height = this.itemMarginTop +\n item.legendItem.getBBox().height +\n this.itemMarginBottom;\n top = item.yAxis.top - chart.plotTop;\n if (item.visible) {\n target = lastPoint ?\n lastPoint.plotY :\n item.yAxis.height;\n target += top - 0.3 * height;\n }\n else {\n target = top + item.yAxis.height;\n }\n boxes.push({\n target: target,\n size: height,\n item: item\n });\n }\n }, this);\n H.distribute(boxes, chart.plotHeight);\n boxes.forEach(function (box) {\n box.item._legendItemPos[1] =\n chart.plotTop - chart.spacing[0] + box.pos;\n });\n };\n /**\n * Render the legend. This method can be called both before and after\n * `chart.render`. If called after, it will only rearrange items instead\n * of creating new ones. Called internally on initial render and after\n * redraws.\n *\n * @private\n * @function Highcharts.Legend#render\n */\n Legend.prototype.render = function () {\n var legend = this,\n chart = legend.chart,\n renderer = chart.renderer,\n legendGroup = legend.group,\n allItems,\n display,\n legendWidth,\n legendHeight,\n box = legend.box,\n options = legend.options,\n padding = legend.padding,\n allowedWidth;\n legend.itemX = padding;\n legend.itemY = legend.initialItemY;\n legend.offsetWidth = 0;\n legend.lastItemY = 0;\n legend.widthOption = relativeLength(options.width, chart.spacingBox.width - padding);\n // Compute how wide the legend is allowed to be\n allowedWidth =\n chart.spacingBox.width - 2 * padding - options.x;\n if (['rm', 'lm'].indexOf(legend.getAlignment().substring(0, 2)) > -1) {\n allowedWidth /= 2;\n }\n legend.maxLegendWidth = legend.widthOption || allowedWidth;\n if (!legendGroup) {\n /**\n * SVG group of the legend.\n *\n * @readonly\n * @name Highcharts.Legend#group\n * @type {Highcharts.SVGElement}\n */\n legend.group = legendGroup = renderer.g('legend')\n .attr({ zIndex: 7 })\n .add();\n legend.contentGroup = renderer.g()\n .attr({ zIndex: 1 }) // above background\n .add(legendGroup);\n legend.scrollGroup = renderer.g()\n .add(legend.contentGroup);\n }\n legend.renderTitle();\n // add each series or point\n allItems = legend.getAllItems();\n // sort by legendIndex\n stableSort(allItems, function (a, b) {\n return ((a.options && a.options.legendIndex) || 0) -\n ((b.options && b.options.legendIndex) || 0);\n });\n // reversed legend\n if (options.reversed) {\n allItems.reverse();\n }\n /**\n * All items for the legend, which is an array of series for most series\n * and an array of points for pie series and its derivatives.\n *\n * @readonly\n * @name Highcharts.Legend#allItems\n * @type {Array<(Highcharts.Point|Highcharts.Series)>}\n */\n legend.allItems = allItems;\n legend.display = display = !!allItems.length;\n // Render the items. First we run a loop to set the text and properties\n // and read all the bounding boxes. The next loop computes the item\n // positions based on the bounding boxes.\n legend.lastLineHeight = 0;\n legend.maxItemWidth = 0;\n legend.totalItemWidth = 0;\n legend.itemHeight = 0;\n allItems.forEach(legend.renderItem, legend);\n allItems.forEach(legend.layoutItem, legend);\n // Get the box\n legendWidth = (legend.widthOption || legend.offsetWidth) + padding;\n legendHeight = legend.lastItemY + legend.lastLineHeight +\n legend.titleHeight;\n legendHeight = legend.handleOverflow(legendHeight);\n legendHeight += padding;\n // Draw the border and/or background\n if (!box) {\n /**\n * SVG element of the legend box.\n *\n * @readonly\n * @name Highcharts.Legend#box\n * @type {Highcharts.SVGElement}\n */\n legend.box = box = renderer.rect()\n .addClass('highcharts-legend-box')\n .attr({\n r: options.borderRadius\n })\n .add(legendGroup);\n box.isNew = true;\n }\n // Presentational\n if (!chart.styledMode) {\n box\n .attr({\n stroke: options.borderColor,\n 'stroke-width': options.borderWidth || 0,\n fill: options.backgroundColor || 'none'\n })\n .shadow(options.shadow);\n }\n if (legendWidth > 0 && legendHeight > 0) {\n box[box.isNew ? 'attr' : 'animate'](box.crisp.call({}, {\n x: 0,\n y: 0,\n width: legendWidth,\n height: legendHeight\n }, box.strokeWidth()));\n box.isNew = false;\n }\n // hide the border if no items\n box[display ? 'show' : 'hide']();\n // Open for responsiveness\n if (chart.styledMode && legendGroup.getStyle('display') === 'none') {\n legendWidth = legendHeight = 0;\n }\n legend.legendWidth = legendWidth;\n legend.legendHeight = legendHeight;\n if (display) {\n legend.align();\n }\n if (!this.proximate) {\n this.positionItems();\n }\n fireEvent(this, 'afterRender');\n };\n /**\n * Align the legend to chart's box.\n *\n * @private\n * @function Highcharts.align\n * @param {Highcharts.BBoxObject} alignTo\n * @return {void}\n */\n Legend.prototype.align = function (alignTo) {\n if (alignTo === void 0) { alignTo = this.chart.spacingBox; }\n var chart = this.chart,\n options = this.options;\n // If aligning to the top and the layout is horizontal, adjust for\n // the title (#7428)\n var y = alignTo.y;\n if (/(lth|ct|rth)/.test(this.getAlignment()) &&\n chart.titleOffset[0] > 0) {\n y += chart.titleOffset[0];\n }\n else if (/(lbh|cb|rbh)/.test(this.getAlignment()) &&\n chart.titleOffset[2] > 0) {\n y -= chart.titleOffset[2];\n }\n if (y !== alignTo.y) {\n alignTo = merge(alignTo, { y: y });\n }\n this.group.align(merge(options, {\n width: this.legendWidth,\n height: this.legendHeight,\n verticalAlign: this.proximate ? 'top' : options.verticalAlign\n }), true, alignTo);\n };\n /**\n * Set up the overflow handling by adding navigation with up and down arrows\n * below the legend.\n *\n * @private\n * @function Highcharts.Legend#handleOverflow\n * @param {number} legendHeight\n * @return {number}\n */\n Legend.prototype.handleOverflow = function (legendHeight) {\n var legend = this,\n chart = this.chart,\n renderer = chart.renderer,\n options = this.options,\n optionsY = options.y,\n alignTop = options.verticalAlign === 'top',\n padding = this.padding,\n spaceHeight = (chart.spacingBox.height +\n (alignTop ? -optionsY : optionsY) - padding),\n maxHeight = options.maxHeight,\n clipHeight,\n clipRect = this.clipRect,\n navOptions = options.navigation,\n animation = pick(navOptions.animation,\n true),\n arrowSize = navOptions.arrowSize || 12,\n nav = this.nav,\n pages = this.pages,\n lastY,\n allItems = this.allItems,\n clipToHeight = function (height) {\n if (typeof height === 'number') {\n clipRect.attr({\n height: height\n });\n }\n else if (clipRect) { // Reset (#5912)\n legend.clipRect = clipRect.destroy();\n legend.contentGroup.clip();\n }\n // useHTML\n if (legend.contentGroup.div) {\n legend.contentGroup.div.style.clip = height ?\n 'rect(' + padding + 'px,9999px,' +\n (padding + height) + 'px,0)' :\n 'auto';\n }\n }, addTracker = function (key) {\n legend[key] = renderer\n .circle(0, 0, arrowSize * 1.3)\n .translate(arrowSize / 2, arrowSize / 2)\n .add(nav);\n if (!chart.styledMode) {\n legend[key].attr('fill', 'rgba(0,0,0,0.0001)');\n }\n return legend[key];\n };\n // Adjust the height\n if (options.layout === 'horizontal' &&\n options.verticalAlign !== 'middle' &&\n !options.floating) {\n spaceHeight /= 2;\n }\n if (maxHeight) {\n spaceHeight = Math.min(spaceHeight, maxHeight);\n }\n // Reset the legend height and adjust the clipping rectangle\n pages.length = 0;\n if (legendHeight > spaceHeight &&\n navOptions.enabled !== false) {\n this.clipHeight = clipHeight =\n Math.max(spaceHeight - 20 - this.titleHeight - padding, 0);\n this.currentPage = pick(this.currentPage, 1);\n this.fullHeight = legendHeight;\n // Fill pages with Y positions so that the top of each a legend item\n // defines the scroll top for each page (#2098)\n allItems.forEach(function (item, i) {\n var y = item._legendItemPos[1],\n h = Math.round(item.legendItem.getBBox().height),\n len = pages.length;\n if (!len || (y - pages[len - 1] > clipHeight &&\n (lastY || y) !== pages[len - 1])) {\n pages.push(lastY || y);\n len++;\n }\n // Keep track of which page each item is on\n item.pageIx = len - 1;\n if (lastY) {\n allItems[i - 1].pageIx = len - 1;\n }\n if (i === allItems.length - 1 &&\n y + h - pages[len - 1] > clipHeight &&\n y !== lastY // #2617\n ) {\n pages.push(y);\n item.pageIx = len;\n }\n if (y !== lastY) {\n lastY = y;\n }\n });\n // Only apply clipping if needed. Clipping causes blurred legend in\n // PDF export (#1787)\n if (!clipRect) {\n clipRect = legend.clipRect =\n renderer.clipRect(0, padding, 9999, 0);\n legend.contentGroup.clip(clipRect);\n }\n clipToHeight(clipHeight);\n // Add navigation elements\n if (!nav) {\n this.nav = nav = renderer.g()\n .attr({ zIndex: 1 })\n .add(this.group);\n this.up = renderer\n .symbol('triangle', 0, 0, arrowSize, arrowSize)\n .add(nav);\n addTracker('upTracker')\n .on('click', function () {\n legend.scroll(-1, animation);\n });\n this.pager = renderer.text('', 15, 10)\n .addClass('highcharts-legend-navigation');\n if (!chart.styledMode) {\n this.pager.css(navOptions.style);\n }\n this.pager.add(nav);\n this.down = renderer\n .symbol('triangle-down', 0, 0, arrowSize, arrowSize)\n .add(nav);\n addTracker('downTracker')\n .on('click', function () {\n legend.scroll(1, animation);\n });\n }\n // Set initial position\n legend.scroll(0);\n legendHeight = spaceHeight;\n // Reset\n }\n else if (nav) {\n clipToHeight();\n this.nav = nav.destroy(); // #6322\n this.scrollGroup.attr({\n translateY: 1\n });\n this.clipHeight = 0; // #1379\n }\n return legendHeight;\n };\n /**\n * Scroll the legend by a number of pages.\n *\n * @private\n * @function Highcharts.Legend#scroll\n *\n * @param {number} scrollBy\n * The number of pages to scroll.\n *\n * @param {boolean|Partial} [animation]\n * Whether and how to apply animation.\n *\n * @return {void}\n */\n Legend.prototype.scroll = function (scrollBy, animation) {\n var _this = this;\n var chart = this.chart,\n pages = this.pages,\n pageCount = pages.length,\n currentPage = this.currentPage + scrollBy,\n clipHeight = this.clipHeight,\n navOptions = this.options.navigation,\n pager = this.pager,\n padding = this.padding;\n // When resizing while looking at the last page\n if (currentPage > pageCount) {\n currentPage = pageCount;\n }\n if (currentPage > 0) {\n if (typeof animation !== 'undefined') {\n setAnimation(animation, chart);\n }\n this.nav.attr({\n translateX: padding,\n translateY: clipHeight + this.padding + 7 + this.titleHeight,\n visibility: 'visible'\n });\n [this.up, this.upTracker].forEach(function (elem) {\n elem.attr({\n 'class': currentPage === 1 ?\n 'highcharts-legend-nav-inactive' :\n 'highcharts-legend-nav-active'\n });\n });\n pager.attr({\n text: currentPage + '/' + pageCount\n });\n [this.down, this.downTracker].forEach(function (elem) {\n elem.attr({\n // adjust to text width\n x: 18 + this.pager.getBBox().width,\n 'class': currentPage === pageCount ?\n 'highcharts-legend-nav-inactive' :\n 'highcharts-legend-nav-active'\n });\n }, this);\n if (!chart.styledMode) {\n this.up\n .attr({\n fill: currentPage === 1 ?\n navOptions.inactiveColor :\n navOptions.activeColor\n });\n this.upTracker\n .css({\n cursor: currentPage === 1 ? 'default' : 'pointer'\n });\n this.down\n .attr({\n fill: currentPage === pageCount ?\n navOptions.inactiveColor :\n navOptions.activeColor\n });\n this.downTracker\n .css({\n cursor: currentPage === pageCount ?\n 'default' :\n 'pointer'\n });\n }\n this.scrollOffset = -pages[currentPage - 1] + this.initialItemY;\n this.scrollGroup.animate({\n translateY: this.scrollOffset\n });\n this.currentPage = currentPage;\n this.positionCheckboxes();\n // Fire event after scroll animation is complete\n var animOptions = animObject(pick(animation,\n chart.renderer.globalAnimation,\n true));\n syncTimeout(function () {\n fireEvent(_this, 'afterScroll', { currentPage: currentPage });\n }, animOptions.duration);\n }\n };\n return Legend;\n }());\n // Workaround for #2030, horizontal legend items not displaying in IE11 Preview,\n // and for #2580, a similar drawing flaw in Firefox 26.\n // Explore if there's a general cause for this. The problem may be related\n // to nested group elements, as the legend item texts are within 4 group\n // elements.\n if (/Trident\\/7\\.0/.test(win.navigator && win.navigator.userAgent) ||\n isFirefox) {\n wrap(Legend.prototype, 'positionItem', function (proceed, item) {\n var legend = this, \n // If chart destroyed in sync, this is undefined (#2030)\n runPositionItem = function () {\n if (item._legendItemPos) {\n proceed.call(legend,\n item);\n }\n };\n // Do it now, for export and to get checkbox placement\n runPositionItem();\n // Do it after to work around the core issue\n if (!legend.bubbleLegend) {\n setTimeout(runPositionItem);\n }\n });\n }\n H.Legend = Legend;\n\n return H.Legend;\n });\n _registerModule(_modules, 'Core/Series/Point.js', [_modules['Core/Animation/AnimationUtilities.js'], _modules['Core/Globals.js'], _modules['Core/Utilities.js']], function (A, H, U) {\n /* *\n *\n * (c) 2010-2020 Torstein Honsi\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n var animObject = A.animObject;\n var defined = U.defined,\n erase = U.erase,\n extend = U.extend,\n fireEvent = U.fireEvent,\n format = U.format,\n getNestedProperty = U.getNestedProperty,\n isArray = U.isArray,\n isNumber = U.isNumber,\n isObject = U.isObject,\n syncTimeout = U.syncTimeout,\n pick = U.pick,\n removeEvent = U.removeEvent,\n uniqueKey = U.uniqueKey;\n /**\n * Function callback when a series point is clicked. Return false to cancel the\n * action.\n *\n * @callback Highcharts.PointClickCallbackFunction\n *\n * @param {Highcharts.Point} this\n * The point where the event occured.\n *\n * @param {Highcharts.PointClickEventObject} event\n * Event arguments.\n */\n /**\n * Common information for a click event on a series point.\n *\n * @interface Highcharts.PointClickEventObject\n * @extends Highcharts.PointerEventObject\n */ /**\n * Clicked point.\n * @name Highcharts.PointClickEventObject#point\n * @type {Highcharts.Point}\n */\n /**\n * Configuration hash for the data label and tooltip formatters.\n *\n * @interface Highcharts.PointLabelObject\n */ /**\n * The point's current color.\n * @name Highcharts.PointLabelObject#color\n * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject|undefined}\n */ /**\n * The point's current color index, used in styled mode instead of `color`. The\n * color index is inserted in class names used for styling.\n * @name Highcharts.PointLabelObject#colorIndex\n * @type {number}\n */ /**\n * The name of the related point.\n * @name Highcharts.PointLabelObject#key\n * @type {string|undefined}\n */ /**\n * The percentage for related points in a stacked series or pies.\n * @name Highcharts.PointLabelObject#percentage\n * @type {number}\n */ /**\n * The related point. The point name, if defined, is available through\n * `this.point.name`.\n * @name Highcharts.PointLabelObject#point\n * @type {Highcharts.Point}\n */ /**\n * The related series. The series name is available through `this.series.name`.\n * @name Highcharts.PointLabelObject#series\n * @type {Highcharts.Series}\n */ /**\n * The total of values in either a stack for stacked series, or a pie in a pie\n * series.\n * @name Highcharts.PointLabelObject#total\n * @type {number|undefined}\n */ /**\n * For categorized axes this property holds the category name for the point. For\n * other axes it holds the X value.\n * @name Highcharts.PointLabelObject#x\n * @type {number|string|undefined}\n */ /**\n * The y value of the point.\n * @name Highcharts.PointLabelObject#y\n * @type {number|undefined}\n */\n /**\n * Gets fired when the mouse leaves the area close to the point.\n *\n * @callback Highcharts.PointMouseOutCallbackFunction\n *\n * @param {Highcharts.Point} this\n * Point where the event occured.\n *\n * @param {global.PointerEvent} event\n * Event that occured.\n */\n /**\n * Gets fired when the mouse enters the area close to the point.\n *\n * @callback Highcharts.PointMouseOverCallbackFunction\n *\n * @param {Highcharts.Point} this\n * Point where the event occured.\n *\n * @param {global.Event} event\n * Event that occured.\n */\n /**\n * The generic point options for all series.\n *\n * In TypeScript you have to extend `PointOptionsObject` with an additional\n * declaration to allow custom data options:\n *\n * ```\n * declare interface PointOptionsObject {\n * customProperty: string;\n * }\n * ```\n *\n * @interface Highcharts.PointOptionsObject\n */\n /**\n * Possible option types for a data point. Use `null` to indicate a gap.\n *\n * @typedef {number|string|Highcharts.PointOptionsObject|Array<(number|string|null)>|null} Highcharts.PointOptionsType\n */\n /**\n * Gets fired when the point is removed using the `.remove()` method.\n *\n * @callback Highcharts.PointRemoveCallbackFunction\n *\n * @param {Highcharts.Point} this\n * Point where the event occured.\n *\n * @param {global.Event} event\n * Event that occured.\n */\n /**\n * Possible key values for the point state options.\n *\n * @typedef {\"hover\"|\"inactive\"|\"normal\"|\"select\"} Highcharts.PointStateValue\n */\n /**\n * Gets fired when the point is updated programmatically through the `.update()`\n * method.\n *\n * @callback Highcharts.PointUpdateCallbackFunction\n *\n * @param {Highcharts.Point} this\n * Point where the event occured.\n *\n * @param {Highcharts.PointUpdateEventObject} event\n * Event that occured.\n */\n /**\n * Information about the update event.\n *\n * @interface Highcharts.PointUpdateEventObject\n * @extends global.Event\n */ /**\n * Options data of the update event.\n * @name Highcharts.PointUpdateEventObject#options\n * @type {Highcharts.PointOptionsType}\n */\n ''; // detach doclet above\n /* eslint-disable no-invalid-this, valid-jsdoc */\n /**\n * The Point object. The point objects are generated from the `series.data`\n * configuration objects or raw numbers. They can be accessed from the\n * `Series.points` array. Other ways to instantiate points are through {@link\n * Highcharts.Series#addPoint} or {@link Highcharts.Series#setData}.\n *\n * @class\n * @name Highcharts.Point\n */\n var Point = /** @class */ (function () {\n function Point() {\n /* *\n *\n * Properties\n *\n * */\n /**\n * For categorized axes this property holds the category name for the\n * point. For other axes it holds the X value.\n *\n * @name Highcharts.Point#category\n * @type {string}\n */\n this.category = void 0;\n /**\n * The point's current color index, used in styled mode instead of\n * `color`. The color index is inserted in class names used for styling.\n *\n * @name Highcharts.Point#colorIndex\n * @type {number}\n */\n this.colorIndex = void 0;\n this.formatPrefix = 'point';\n this.id = void 0;\n this.isNull = false;\n /**\n * The name of the point. The name can be given as the first position of the\n * point configuration array, or as a `name` property in the configuration:\n *\n * @example\n * // Array config\n * data: [\n * ['John', 1],\n * ['Jane', 2]\n * ]\n *\n * // Object config\n * data: [{\n * name: 'John',\n * y: 1\n * }, {\n * name: 'Jane',\n * y: 2\n * }]\n *\n * @name Highcharts.Point#name\n * @type {string}\n */\n this.name = void 0;\n /**\n * The point's options as applied in the initial configuration, or\n * extended through `Point.update`.\n *\n * In TypeScript you have to extend `PointOptionsObject` via an\n * additional interface to allow custom data options:\n *\n * ```\n * declare interface PointOptionsObject {\n * customProperty: string;\n * }\n * ```\n *\n * @name Highcharts.Point#options\n * @type {Highcharts.PointOptionsObject}\n */\n this.options = void 0;\n /**\n * The percentage for points in a stacked series or pies.\n *\n * @name Highcharts.Point#percentage\n * @type {number|undefined}\n */\n this.percentage = void 0;\n this.selected = false;\n /**\n * The series object associated with the point.\n *\n * @name Highcharts.Point#series\n * @type {Highcharts.Series}\n */\n this.series = void 0;\n /**\n * The total of values in either a stack for stacked series, or a pie in a\n * pie series.\n *\n * @name Highcharts.Point#total\n * @type {number|undefined}\n */\n this.total = void 0;\n /**\n * For certain series types, like pie charts, where individual points can\n * be shown or hidden.\n *\n * @name Highcharts.Point#visible\n * @type {boolean}\n * @default true\n */\n this.visible = true;\n this.x = void 0;\n }\n /* *\n *\n * Functions\n *\n * */\n /**\n * Animate SVG elements associated with the point.\n *\n * @private\n * @function Highcharts.Point#animateBeforeDestroy\n */\n Point.prototype.animateBeforeDestroy = function () {\n var point = this,\n animateParams = { x: point.startXPos,\n opacity: 0 },\n isDataLabel,\n graphicalProps = point.getGraphicalProps();\n graphicalProps.singular.forEach(function (prop) {\n isDataLabel = prop === 'dataLabel';\n point[prop] = point[prop].animate(isDataLabel ? {\n x: point[prop].startXPos,\n y: point[prop].startYPos,\n opacity: 0\n } : animateParams);\n });\n graphicalProps.plural.forEach(function (plural) {\n point[plural].forEach(function (item) {\n if (item.element) {\n item.animate(extend({ x: point.startXPos }, (item.startYPos ? {\n x: item.startXPos,\n y: item.startYPos\n } : {})));\n }\n });\n });\n };\n /**\n * Apply the options containing the x and y data and possible some extra\n * properties. Called on point init or from point.update.\n *\n * @private\n * @function Highcharts.Point#applyOptions\n *\n * @param {Highcharts.PointOptionsType} options\n * The point options as defined in series.data.\n *\n * @param {number} [x]\n * Optionally, the x value.\n *\n * @return {Highcharts.Point}\n * The Point instance.\n */\n Point.prototype.applyOptions = function (options, x) {\n var point = this,\n series = point.series,\n pointValKey = series.options.pointValKey || series.pointValKey;\n options = Point.prototype.optionsToObject.call(this, options);\n // copy options directly to point\n extend(point, options);\n point.options = point.options ? extend(point.options, options) : options;\n // Since options are copied into the Point instance, some accidental\n // options must be shielded (#5681)\n if (options.group) {\n delete point.group;\n }\n if (options.dataLabels) {\n delete point.dataLabels;\n }\n /**\n * The y value of the point.\n * @name Highcharts.Point#y\n * @type {number|undefined}\n */\n // For higher dimension series types. For instance, for ranges, point.y\n // is mapped to point.low.\n if (pointValKey) {\n point.y = Point.prototype.getNestedProperty.call(point, pointValKey);\n }\n point.isNull = pick(point.isValid && !point.isValid(), point.x === null || !isNumber(point.y)); // #3571, check for NaN\n point.formatPrefix = point.isNull ? 'null' : 'point'; // #9233, #10874\n // The point is initially selected by options (#5777)\n if (point.selected) {\n point.state = 'select';\n }\n /**\n * The x value of the point.\n * @name Highcharts.Point#x\n * @type {number}\n */\n // If no x is set by now, get auto incremented value. All points must\n // have an x value, however the y value can be null to create a gap in\n // the series\n if ('name' in point &&\n typeof x === 'undefined' &&\n series.xAxis &&\n series.xAxis.hasNames) {\n point.x = series.xAxis.nameToX(point);\n }\n if (typeof point.x === 'undefined' && series) {\n if (typeof x === 'undefined') {\n point.x = series.autoIncrement(point);\n }\n else {\n point.x = x;\n }\n }\n return point;\n };\n /**\n * Destroy a point to clear memory. Its reference still stays in\n * `series.data`.\n *\n * @private\n * @function Highcharts.Point#destroy\n */\n Point.prototype.destroy = function () {\n var point = this,\n series = point.series,\n chart = series.chart,\n dataSorting = series.options.dataSorting,\n hoverPoints = chart.hoverPoints,\n globalAnimation = point.series.chart.renderer.globalAnimation,\n animation = animObject(globalAnimation),\n prop;\n /**\n * Allow to call after animation.\n * @private\n */\n function destroyPoint() {\n // Remove all events and elements\n if (point.graphic || point.dataLabel || point.dataLabels) {\n removeEvent(point);\n point.destroyElements();\n }\n for (prop in point) { // eslint-disable-line guard-for-in\n point[prop] = null;\n }\n }\n if (point.legendItem) { // pies have legend items\n chart.legend.destroyItem(point);\n }\n if (hoverPoints) {\n point.setState();\n erase(hoverPoints, point);\n if (!hoverPoints.length) {\n chart.hoverPoints = null;\n }\n }\n if (point === chart.hoverPoint) {\n point.onMouseOut();\n }\n // Remove properties after animation\n if (!dataSorting || !dataSorting.enabled) {\n destroyPoint();\n }\n else {\n this.animateBeforeDestroy();\n syncTimeout(destroyPoint, animation.duration);\n }\n chart.pointCount--;\n };\n /**\n * Destroy SVG elements associated with the point.\n *\n * @private\n * @function Highcharts.Point#destroyElements\n * @param {Highcharts.Dictionary} [kinds]\n */\n Point.prototype.destroyElements = function (kinds) {\n var point = this,\n props = point.getGraphicalProps(kinds);\n props.singular.forEach(function (prop) {\n point[prop] = point[prop].destroy();\n });\n props.plural.forEach(function (plural) {\n point[plural].forEach(function (item) {\n if (item.element) {\n item.destroy();\n }\n });\n delete point[plural];\n });\n };\n /**\n * Fire an event on the Point object.\n *\n * @private\n * @function Highcharts.Point#firePointEvent\n *\n * @param {string} eventType\n * Type of the event.\n *\n * @param {Highcharts.Dictionary|Event} [eventArgs]\n * Additional event arguments.\n *\n * @param {Highcharts.EventCallbackFunction|Function} [defaultFunction]\n * Default event handler.\n *\n * @fires Highcharts.Point#event:*\n */\n Point.prototype.firePointEvent = function (eventType, eventArgs, defaultFunction) {\n var point = this,\n series = this.series,\n seriesOptions = series.options;\n // load event handlers on demand to save time on mouseover/out\n if (seriesOptions.point.events[eventType] ||\n (point.options &&\n point.options.events &&\n point.options.events[eventType])) {\n point.importEvents();\n }\n // add default handler if in selection mode\n if (eventType === 'click' && seriesOptions.allowPointSelect) {\n defaultFunction = function (event) {\n // Control key is for Windows, meta (= Cmd key) for Mac, Shift\n // for Opera.\n if (point.select) { // #2911\n point.select(null, event.ctrlKey || event.metaKey || event.shiftKey);\n }\n };\n }\n fireEvent(point, eventType, eventArgs, defaultFunction);\n };\n /**\n * Get the CSS class names for individual points. Used internally where the\n * returned value is set on every point.\n *\n * @function Highcharts.Point#getClassName\n *\n * @return {string}\n * The class names.\n */\n Point.prototype.getClassName = function () {\n var point = this;\n return 'highcharts-point' +\n (point.selected ? ' highcharts-point-select' : '') +\n (point.negative ? ' highcharts-negative' : '') +\n (point.isNull ? ' highcharts-null-point' : '') +\n (typeof point.colorIndex !== 'undefined' ?\n ' highcharts-color-' + point.colorIndex : '') +\n (point.options.className ? ' ' + point.options.className : '') +\n (point.zone && point.zone.className ? ' ' +\n point.zone.className.replace('highcharts-negative', '') : '');\n };\n /**\n * Get props of all existing graphical point elements.\n *\n * @private\n * @function Highcharts.Point#getGraphicalProps\n * @param {Highcharts.Dictionary} [kinds]\n * @return {Highcharts.PointGraphicalProps}\n */\n Point.prototype.getGraphicalProps = function (kinds) {\n var point = this,\n props = [],\n prop,\n i,\n graphicalProps = { singular: [],\n plural: [] };\n kinds = kinds || { graphic: 1, dataLabel: 1 };\n if (kinds.graphic) {\n props.push('graphic', 'shadowGroup');\n }\n if (kinds.dataLabel) {\n props.push('dataLabel', 'dataLabelUpper', 'connector');\n }\n i = props.length;\n while (i--) {\n prop = props[i];\n if (point[prop]) {\n graphicalProps.singular.push(prop);\n }\n }\n ['dataLabel', 'connector'].forEach(function (prop) {\n var plural = prop + 's';\n if (kinds[prop] && point[plural]) {\n graphicalProps.plural.push(plural);\n }\n });\n return graphicalProps;\n };\n /**\n * Return the configuration hash needed for the data label and tooltip\n * formatters.\n *\n * @function Highcharts.Point#getLabelConfig\n *\n * @return {Highcharts.PointLabelObject}\n * Abstract object used in formatters and formats.\n */\n Point.prototype.getLabelConfig = function () {\n return {\n x: this.category,\n y: this.y,\n color: this.color,\n colorIndex: this.colorIndex,\n key: this.name || this.category,\n series: this.series,\n point: this,\n percentage: this.percentage,\n total: this.total || this.stackTotal\n };\n };\n /**\n * Returns the value of the point property for a given value.\n * @private\n */\n Point.prototype.getNestedProperty = function (key) {\n if (!key) {\n return;\n }\n if (key.indexOf('custom.') === 0) {\n return getNestedProperty(key, this.options);\n }\n return this[key];\n };\n /**\n * In a series with `zones`, return the zone that the point belongs to.\n *\n * @function Highcharts.Point#getZone\n *\n * @return {Highcharts.SeriesZonesOptionsObject}\n * The zone item.\n */\n Point.prototype.getZone = function () {\n var series = this.series,\n zones = series.zones,\n zoneAxis = series.zoneAxis || 'y',\n i = 0,\n zone;\n zone = zones[i];\n while (this[zoneAxis] >= zone.value) {\n zone = zones[++i];\n }\n // For resetting or reusing the point (#8100)\n if (!this.nonZonedColor) {\n this.nonZonedColor = this.color;\n }\n if (zone && zone.color && !this.options.color) {\n this.color = zone.color;\n }\n else {\n this.color = this.nonZonedColor;\n }\n return zone;\n };\n /**\n * Utility to check if point has new shape type. Used in column series and\n * all others that are based on column series.\n *\n * @return boolean|undefined\n */\n Point.prototype.hasNewShapeType = function () {\n var point = this;\n var oldShapeType = point.graphic &&\n (point.graphic.symbolName || point.graphic.element.nodeName);\n return oldShapeType !== this.shapeType;\n };\n /**\n * Initialize the point. Called internally based on the `series.data`\n * option.\n *\n * @function Highcharts.Point#init\n *\n * @param {Highcharts.Series} series\n * The series object containing this point.\n *\n * @param {Highcharts.PointOptionsType} options\n * The data in either number, array or object format.\n *\n * @param {number} [x]\n * Optionally, the X value of the point.\n *\n * @return {Highcharts.Point}\n * The Point instance.\n *\n * @fires Highcharts.Point#event:afterInit\n */\n Point.prototype.init = function (series, options, x) {\n this.series = series;\n this.applyOptions(options, x);\n // Add a unique ID to the point if none is assigned\n this.id = defined(this.id) ? this.id : uniqueKey();\n this.resolveColor();\n series.chart.pointCount++;\n fireEvent(this, 'afterInit');\n return this;\n };\n /**\n * Transform number or array configs into objects. Also called for object\n * configs. Used internally to unify the different configuration formats for\n * points. For example, a simple number `10` in a line series will be\n * transformed to `{ y: 10 }`, and an array config like `[1, 10]` in a\n * scatter series will be transformed to `{ x: 1, y: 10 }`.\n *\n * @function Highcharts.Point#optionsToObject\n *\n * @param {Highcharts.PointOptionsType} options\n * The input option.\n *\n * @return {Highcharts.Dictionary<*>}\n * Transformed options.\n */\n Point.prototype.optionsToObject = function (options) {\n var ret = {},\n series = this.series,\n keys = series.options.keys,\n pointArrayMap = keys || series.pointArrayMap || ['y'],\n valueCount = pointArrayMap.length,\n firstItemType,\n i = 0,\n j = 0;\n if (isNumber(options) || options === null) {\n ret[pointArrayMap[0]] = options;\n }\n else if (isArray(options)) {\n // with leading x value\n if (!keys && options.length > valueCount) {\n firstItemType = typeof options[0];\n if (firstItemType === 'string') {\n ret.name = options[0];\n }\n else if (firstItemType === 'number') {\n ret.x = options[0];\n }\n i++;\n }\n while (j < valueCount) {\n // Skip undefined positions for keys\n if (!keys || typeof options[i] !== 'undefined') {\n if (pointArrayMap[j].indexOf('.') > 0) {\n // Handle nested keys, e.g. ['color.pattern.image']\n // Avoid function call unless necessary.\n Point.prototype.setNestedProperty(ret, options[i], pointArrayMap[j]);\n }\n else {\n ret[pointArrayMap[j]] = options[i];\n }\n }\n i++;\n j++;\n }\n }\n else if (typeof options === 'object') {\n ret = options;\n // This is the fastest way to detect if there are individual point\n // dataLabels that need to be considered in drawDataLabels. These\n // can only occur in object configs.\n if (options.dataLabels) {\n series._hasPointLabels = true;\n }\n // Same approach as above for markers\n if (options.marker) {\n series._hasPointMarkers = true;\n }\n }\n return ret;\n };\n /**\n * @private\n * @function Highcharts.Point#resolveColor\n * @return {void}\n */\n Point.prototype.resolveColor = function () {\n var series = this.series,\n colors,\n optionsChart = series.chart.options.chart,\n colorCount = optionsChart.colorCount,\n styledMode = series.chart.styledMode,\n colorIndex;\n // remove points nonZonedColor for later recalculation\n delete this.nonZonedColor;\n /**\n * The point's current color.\n *\n * @name Highcharts.Point#color\n * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject|undefined}\n */\n if (!styledMode && !this.options.color) {\n this.color = series.color; // #3445\n }\n if (series.options.colorByPoint) {\n if (!styledMode) {\n colors = series.options.colors || series.chart.options.colors;\n this.color = this.color || colors[series.colorCounter];\n colorCount = colors.length;\n }\n colorIndex = series.colorCounter;\n series.colorCounter++;\n // loop back to zero\n if (series.colorCounter === colorCount) {\n series.colorCounter = 0;\n }\n }\n else {\n colorIndex = series.colorIndex;\n }\n this.colorIndex = pick(this.colorIndex, colorIndex);\n };\n /**\n * Set a value in an object, on the property defined by key. The key\n * supports nested properties using dot notation. The function modifies the\n * input object and does not make a copy.\n *\n * @function Highcharts.Point#setNestedProperty\n *\n * @param {T} object\n * The object to set the value on.\n *\n * @param {*} value\n * The value to set.\n *\n * @param {string} key\n * Key to the property to set.\n *\n * @return {T}\n * The modified object.\n */\n Point.prototype.setNestedProperty = function (object, value, key) {\n var nestedKeys = key.split('.');\n nestedKeys.reduce(function (result, key, i, arr) {\n var isLastKey = arr.length - 1 === i;\n result[key] = (isLastKey ?\n value :\n isObject(result[key], true) ?\n result[key] :\n {});\n return result[key];\n }, object);\n return object;\n };\n /**\n * Extendable method for formatting each point's tooltip line.\n *\n * @function Highcharts.Point#tooltipFormatter\n *\n * @param {string} pointFormat\n * The point format.\n *\n * @return {string}\n * A string to be concatenated in to the common tooltip text.\n */\n Point.prototype.tooltipFormatter = function (pointFormat) {\n // Insert options for valueDecimals, valuePrefix, and valueSuffix\n var series = this.series, seriesTooltipOptions = series.tooltipOptions, valueDecimals = pick(seriesTooltipOptions.valueDecimals, ''), valuePrefix = seriesTooltipOptions.valuePrefix || '', valueSuffix = seriesTooltipOptions.valueSuffix || '';\n // Replace default point style with class name\n if (series.chart.styledMode) {\n pointFormat =\n series.chart.tooltip.styledModeFormat(pointFormat);\n }\n // Loop over the point array map and replace unformatted values with\n // sprintf formatting markup\n (series.pointArrayMap || ['y']).forEach(function (key) {\n key = '{point.' + key; // without the closing bracket\n if (valuePrefix || valueSuffix) {\n pointFormat = pointFormat.replace(RegExp(key + '}', 'g'), valuePrefix + key + '}' + valueSuffix);\n }\n pointFormat = pointFormat.replace(RegExp(key + '}', 'g'), key + ':,.' + valueDecimals + 'f}');\n });\n return format(pointFormat, {\n point: this,\n series: this.series\n }, series.chart);\n };\n return Point;\n }());\n H.Point = Point;\n\n return Point;\n });\n _registerModule(_modules, 'Core/Series/Series.js', [_modules['Core/Globals.js'], _modules['Core/Series/Point.js'], _modules['Core/Utilities.js']], function (H, Point, U) {\n /* *\n *\n * (c) 2010-2020 Torstein Honsi\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n var error = U.error,\n extendClass = U.extendClass,\n fireEvent = U.fireEvent,\n getOptions = U.getOptions,\n isObject = U.isObject,\n merge = U.merge,\n objectEach = U.objectEach;\n /**\n * @class\n * @name Highcharts.Series\n */\n var BaseSeries = /** @class */ (function () {\n /* *\n *\n * Constructor\n *\n * */\n function BaseSeries(chart, options) {\n var mergedOptions = merge(BaseSeries.defaultOptions, options);\n this.chart = chart;\n this._i = chart.series.length;\n chart.series.push(this);\n this.options = mergedOptions;\n this.userOptions = merge(options);\n }\n /* *\n *\n * Static Functions\n *\n * */\n BaseSeries.addSeries = function (seriesName, seriesType) {\n BaseSeries.seriesTypes[seriesName] = seriesType;\n };\n BaseSeries.cleanRecursively = function (toClean, reference) {\n var clean = {};\n objectEach(toClean, function (_val, key) {\n var ob;\n // Dive into objects (except DOM nodes)\n if (isObject(toClean[key], true) &&\n !toClean.nodeType && // #10044\n reference[key]) {\n ob = BaseSeries.cleanRecursively(toClean[key], reference[key]);\n if (Object.keys(ob).length) {\n clean[key] = ob;\n }\n // Arrays, primitives and DOM nodes are copied directly\n }\n else if (isObject(toClean[key]) ||\n toClean[key] !== reference[key]) {\n clean[key] = toClean[key];\n }\n });\n return clean;\n };\n // eslint-disable-next-line valid-jsdoc\n /**\n * Internal function to initialize an individual series.\n * @private\n */\n BaseSeries.getSeries = function (chart, options) {\n if (options === void 0) { options = {}; }\n var optionsChart = chart.options.chart,\n type = (options.type ||\n optionsChart.type ||\n optionsChart.defaultSeriesType ||\n ''),\n Series = BaseSeries.seriesTypes[type];\n // No such series type\n if (!Series) {\n error(17, true, chart, { missingModuleFor: type });\n }\n return new Series(chart, options);\n };\n /**\n * Factory to create new series prototypes.\n *\n * @function Highcharts.seriesType\n *\n * @param {string} type\n * The series type name.\n *\n * @param {string} parent\n * The parent series type name. Use `line` to inherit from the basic\n * {@link Series} object.\n *\n * @param {Highcharts.SeriesOptionsType|Highcharts.Dictionary<*>} options\n * The additional default options that are merged with the parent's options.\n *\n * @param {Highcharts.Dictionary<*>} [props]\n * The properties (functions and primitives) to set on the new prototype.\n *\n * @param {Highcharts.Dictionary<*>} [pointProps]\n * Members for a series-specific extension of the {@link Point} prototype if\n * needed.\n *\n * @return {Highcharts.Series}\n * The newly created prototype as extended from {@link Series} or its\n * derivatives.\n */\n // docs: add to API + extending Highcharts\n BaseSeries.seriesType = function (type, parent, options, seriesProto, pointProto) {\n var defaultOptions = getOptions().plotOptions || {},\n seriesTypes = BaseSeries.seriesTypes;\n parent = parent || '';\n // Merge the options\n defaultOptions[type] = merge(defaultOptions[parent], options);\n // Create the class\n BaseSeries.addSeries(type, extendClass(seriesTypes[parent] || function () { }, seriesProto));\n seriesTypes[type].prototype.type = type;\n // Create the point class if needed\n if (pointProto) {\n seriesTypes[type].prototype.pointClass =\n extendClass(Point, pointProto);\n }\n return seriesTypes[type];\n };\n BaseSeries.prototype.update = function (newOptions, redraw) {\n if (redraw === void 0) { redraw = true; }\n var series = this;\n newOptions = BaseSeries.cleanRecursively(newOptions, this.userOptions);\n var newType = newOptions.type;\n if (typeof newType !== 'undefined' &&\n newType !== series.type) {\n series = BaseSeries.getSeries(series.chart, newOptions);\n }\n fireEvent(series, 'update', { newOptions: newOptions });\n series.userOptions = merge(newOptions);\n fireEvent(series, 'afterUpdate', { newOptions: newOptions });\n if (redraw) {\n series.chart.redraw();\n }\n return series;\n };\n /* *\n *\n * Static Properties\n *\n * */\n BaseSeries.defaultOptions = {\n type: 'base'\n };\n BaseSeries.seriesTypes = {};\n return BaseSeries;\n }());\n BaseSeries.prototype.pointClass = Point;\n // backwards compatibility\n H.seriesType = BaseSeries.seriesType;\n H.seriesTypes = BaseSeries.seriesTypes;\n /* *\n *\n * Export\n *\n * */\n\n return BaseSeries;\n });\n _registerModule(_modules, 'Core/Chart/Chart.js', [_modules['Core/Animation/AnimationUtilities.js'], _modules['Core/Axis/Axis.js'], _modules['Core/Series/Series.js'], _modules['Core/Globals.js'], _modules['Core/Legend.js'], _modules['Core/MSPointer.js'], _modules['Core/Options.js'], _modules['Core/Pointer.js'], _modules['Core/Time.js'], _modules['Core/Utilities.js']], function (A, Axis, BaseSeries, H, Legend, MSPointer, O, Pointer, Time, U) {\n /* *\n *\n * (c) 2010-2020 Torstein Honsi\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n var animate = A.animate,\n animObject = A.animObject,\n setAnimation = A.setAnimation;\n var charts = H.charts,\n doc = H.doc,\n win = H.win;\n var defaultOptions = O.defaultOptions;\n var addEvent = U.addEvent,\n attr = U.attr,\n createElement = U.createElement,\n css = U.css,\n defined = U.defined,\n discardElement = U.discardElement,\n erase = U.erase,\n error = U.error,\n extend = U.extend,\n find = U.find,\n fireEvent = U.fireEvent,\n getStyle = U.getStyle,\n isArray = U.isArray,\n isFunction = U.isFunction,\n isNumber = U.isNumber,\n isObject = U.isObject,\n isString = U.isString,\n merge = U.merge,\n numberFormat = U.numberFormat,\n objectEach = U.objectEach,\n pick = U.pick,\n pInt = U.pInt,\n relativeLength = U.relativeLength,\n removeEvent = U.removeEvent,\n splat = U.splat,\n syncTimeout = U.syncTimeout,\n uniqueKey = U.uniqueKey;\n /**\n * Callback for chart constructors.\n *\n * @callback Highcharts.ChartCallbackFunction\n *\n * @param {Highcharts.Chart} chart\n * Created chart.\n */\n /**\n * Format a number and return a string based on input settings.\n *\n * @callback Highcharts.NumberFormatterCallbackFunction\n *\n * @param {number} number\n * The input number to format.\n *\n * @param {number} decimals\n * The amount of decimals. A value of -1 preserves the amount in the\n * input number.\n *\n * @param {string} [decimalPoint]\n * The decimal point, defaults to the one given in the lang options, or\n * a dot.\n *\n * @param {string} [thousandsSep]\n * The thousands separator, defaults to the one given in the lang\n * options, or a space character.\n *\n * @return {string} The formatted number.\n */\n /**\n * The chart title. The title has an `update` method that allows modifying the\n * options directly or indirectly via `chart.update`.\n *\n * @interface Highcharts.TitleObject\n * @extends Highcharts.SVGElement\n */ /**\n * Modify options for the title.\n *\n * @function Highcharts.TitleObject#update\n *\n * @param {Highcharts.TitleOptions} titleOptions\n * Options to modify.\n *\n * @param {boolean} [redraw=true]\n * Whether to redraw the chart after the title is altered. If doing more\n * operations on the chart, it is a good idea to set redraw to false and\n * call {@link Chart#redraw} after.\n */\n /**\n * The chart subtitle. The subtitle has an `update` method that\n * allows modifying the options directly or indirectly via\n * `chart.update`.\n *\n * @interface Highcharts.SubtitleObject\n * @extends Highcharts.SVGElement\n */ /**\n * Modify options for the subtitle.\n *\n * @function Highcharts.SubtitleObject#update\n *\n * @param {Highcharts.SubtitleOptions} subtitleOptions\n * Options to modify.\n *\n * @param {boolean} [redraw=true]\n * Whether to redraw the chart after the subtitle is altered. If doing\n * more operations on the chart, it is a good idea to set redraw to false\n * and call {@link Chart#redraw} after.\n */\n /**\n * The chart caption. The caption has an `update` method that\n * allows modifying the options directly or indirectly via\n * `chart.update`.\n *\n * @interface Highcharts.CaptionObject\n * @extends Highcharts.SVGElement\n */ /**\n * Modify options for the caption.\n *\n * @function Highcharts.CaptionObject#update\n *\n * @param {Highcharts.CaptionOptions} captionOptions\n * Options to modify.\n *\n * @param {boolean} [redraw=true]\n * Whether to redraw the chart after the caption is altered. If doing\n * more operations on the chart, it is a good idea to set redraw to false\n * and call {@link Chart#redraw} after.\n */\n var marginNames = H.marginNames;\n /* eslint-disable no-invalid-this, valid-jsdoc */\n /**\n * The Chart class. The recommended constructor is {@link Highcharts#chart}.\n *\n * @example\n * var chart = Highcharts.chart('container', {\n * title: {\n * text: 'My chart'\n * },\n * series: [{\n * data: [1, 3, 2, 4]\n * }]\n * })\n *\n * @class\n * @name Highcharts.Chart\n *\n * @param {string|Highcharts.HTMLDOMElement} [renderTo]\n * The DOM element to render to, or its id.\n *\n * @param {Highcharts.Options} options\n * The chart options structure.\n *\n * @param {Highcharts.ChartCallbackFunction} [callback]\n * Function to run when the chart has loaded and and all external images\n * are loaded. Defining a\n * [chart.events.load](https://api.highcharts.com/highcharts/chart.events.load)\n * handler is equivalent.\n */\n var Chart = /** @class */ (function () {\n function Chart(a, b, c) {\n this.axes = void 0;\n this.axisOffset = void 0;\n this.bounds = void 0;\n this.chartHeight = void 0;\n this.chartWidth = void 0;\n this.clipBox = void 0;\n this.colorCounter = void 0;\n this.container = void 0;\n this.index = void 0;\n this.isResizing = void 0;\n this.labelCollectors = void 0;\n this.legend = void 0;\n this.margin = void 0;\n this.numberFormatter = void 0;\n this.options = void 0;\n this.plotBox = void 0;\n this.plotHeight = void 0;\n this.plotLeft = void 0;\n this.plotTop = void 0;\n this.plotWidth = void 0;\n this.pointCount = void 0;\n this.pointer = void 0;\n this.renderer = void 0;\n this.renderTo = void 0;\n this.series = void 0;\n this.spacing = void 0;\n this.spacingBox = void 0;\n this.symbolCounter = void 0;\n this.time = void 0;\n this.titleOffset = void 0;\n this.userOptions = void 0;\n this.xAxis = void 0;\n this.yAxis = void 0;\n this.getArgs(a, b, c);\n }\n /* *\n *\n * Functions\n *\n * */\n /**\n * Handle the arguments passed to the constructor.\n *\n * @private\n * @function Highcharts.Chart#getArgs\n *\n * @param {...Array<*>} arguments\n * All arguments for the constructor.\n *\n * @fires Highcharts.Chart#event:init\n * @fires Highcharts.Chart#event:afterInit\n */\n Chart.prototype.getArgs = function (a, b, c) {\n // Remove the optional first argument, renderTo, and\n // set it on this.\n if (isString(a) || a.nodeName) {\n this.renderTo = a;\n this.init(b, c);\n }\n else {\n this.init(a, b);\n }\n };\n /**\n * Overridable function that initializes the chart. The constructor's\n * arguments are passed on directly.\n *\n * @function Highcharts.Chart#init\n *\n * @param {Highcharts.Options} userOptions\n * Custom options.\n *\n * @param {Function} [callback]\n * Function to run when the chart has loaded and and all external\n * images are loaded.\n *\n * @return {void}\n *\n * @fires Highcharts.Chart#event:init\n * @fires Highcharts.Chart#event:afterInit\n */\n Chart.prototype.init = function (userOptions, callback) {\n // Handle regular options\n var options, \n // skip merging data points to increase performance\n seriesOptions = userOptions.series,\n userPlotOptions = userOptions.plotOptions || {};\n // Fire the event with a default function\n fireEvent(this, 'init', { args: arguments }, function () {\n userOptions.series = null;\n options = merge(defaultOptions, userOptions); // do the merge\n var optionsChart = options.chart || {};\n // Override (by copy of user options) or clear tooltip options\n // in chart.options.plotOptions (#6218)\n objectEach(options.plotOptions, function (typeOptions, type) {\n if (isObject(typeOptions)) { // #8766\n typeOptions.tooltip = (userPlotOptions[type] && // override by copy:\n merge(userPlotOptions[type].tooltip)) || void 0; // or clear\n }\n });\n // User options have higher priority than default options\n // (#6218). In case of exporting: path is changed\n options.tooltip.userOptions = (userOptions.chart &&\n userOptions.chart.forExport &&\n userOptions.tooltip.userOptions) || userOptions.tooltip;\n // set back the series data\n options.series = userOptions.series = seriesOptions;\n /**\n * The original options given to the constructor or a chart factory\n * like {@link Highcharts.chart} and {@link Highcharts.stockChart}.\n *\n * @name Highcharts.Chart#userOptions\n * @type {Highcharts.Options}\n */\n this.userOptions = userOptions;\n var chartEvents = optionsChart.events;\n this.margin = [];\n this.spacing = [];\n // Pixel data bounds for touch zoom\n this.bounds = { h: {}, v: {} };\n // An array of functions that returns labels that should be\n // considered for anti-collision\n this.labelCollectors = [];\n this.callback = callback;\n this.isResizing = 0;\n /**\n * The options structure for the chart after merging\n * {@link #defaultOptions} and {@link #userOptions}. It contains\n * members for the sub elements like series, legend, tooltip etc.\n *\n * @name Highcharts.Chart#options\n * @type {Highcharts.Options}\n */\n this.options = options;\n /**\n * All the axes in the chart.\n *\n * @see Highcharts.Chart.xAxis\n * @see Highcharts.Chart.yAxis\n *\n * @name Highcharts.Chart#axes\n * @type {Array}\n */\n this.axes = [];\n /**\n * All the current series in the chart.\n *\n * @name Highcharts.Chart#series\n * @type {Array}\n */\n this.series = [];\n /**\n * The `Time` object associated with the chart. Since v6.0.5,\n * time settings can be applied individually for each chart. If\n * no individual settings apply, the `Time` object is shared by\n * all instances.\n *\n * @name Highcharts.Chart#time\n * @type {Highcharts.Time}\n */\n this.time =\n userOptions.time && Object.keys(userOptions.time).length ?\n new Time(userOptions.time) :\n H.time;\n /**\n * Callback function to override the default function that formats\n * all the numbers in the chart. Returns a string with the formatted\n * number.\n *\n * @name Highcharts.Chart#numberFormatter\n * @type {Highcharts.NumberFormatterCallbackFunction}\n */\n this.numberFormatter = optionsChart.numberFormatter || numberFormat;\n /**\n * Whether the chart is in styled mode, meaning all presentatinoal\n * attributes are avoided.\n *\n * @name Highcharts.Chart#styledMode\n * @type {boolean}\n */\n this.styledMode = optionsChart.styledMode;\n this.hasCartesianSeries = optionsChart.showAxes;\n var chart = this;\n /**\n * Index position of the chart in the {@link Highcharts#charts}\n * property.\n *\n * @name Highcharts.Chart#index\n * @type {number}\n * @readonly\n */\n chart.index = charts.length; // Add the chart to the global lookup\n charts.push(chart);\n H.chartCount++;\n // Chart event handlers\n if (chartEvents) {\n objectEach(chartEvents, function (event, eventType) {\n if (isFunction(event)) {\n addEvent(chart, eventType, event);\n }\n });\n }\n /**\n * A collection of the X axes in the chart.\n *\n * @name Highcharts.Chart#xAxis\n * @type {Array}\n */\n chart.xAxis = [];\n /**\n * A collection of the Y axes in the chart.\n *\n * @name Highcharts.Chart#yAxis\n * @type {Array}\n *\n * @todo\n * Make events official: Fire the event `afterInit`.\n */\n chart.yAxis = [];\n chart.pointCount = chart.colorCounter = chart.symbolCounter = 0;\n // Fire after init but before first render, before axes and series\n // have been initialized.\n fireEvent(chart, 'afterInit');\n chart.firstRender();\n });\n };\n /**\n * Internal function to unitialize an individual series.\n *\n * @private\n * @function Highcharts.Chart#initSeries\n */\n Chart.prototype.initSeries = function (options) {\n var chart = this,\n optionsChart = chart.options.chart,\n type = (options.type ||\n optionsChart.type ||\n optionsChart.defaultSeriesType),\n series,\n Constr = BaseSeries.seriesTypes[type];\n // No such series type\n if (!Constr) {\n error(17, true, chart, { missingModuleFor: type });\n }\n series = new Constr(chart, options);\n if (typeof series.init === 'function') {\n series.init(this, options);\n }\n return series;\n };\n /**\n * Internal function to set data for all series with enabled sorting.\n *\n * @private\n * @function Highcharts.Chart#setSeriesData\n */\n Chart.prototype.setSeriesData = function () {\n this.getSeriesOrderByLinks().forEach(function (series) {\n // We need to set data for series with sorting after series init\n if (!series.points && !series.data && series.enabledDataSorting) {\n series.setData(series.options.data, false);\n }\n });\n };\n /**\n * Sort and return chart series in order depending on the number of linked\n * series.\n *\n * @private\n * @function Highcharts.Series#getSeriesOrderByLinks\n * @return {Array}\n */\n Chart.prototype.getSeriesOrderByLinks = function () {\n return this.series.concat().sort(function (a, b) {\n if (a.linkedSeries.length || b.linkedSeries.length) {\n return b.linkedSeries.length - a.linkedSeries.length;\n }\n return 0;\n });\n };\n /**\n * Order all series above a given index. When series are added and ordered\n * by configuration, only the last series is handled (#248, #1123, #2456,\n * #6112). This function is called on series initialization and destroy.\n *\n * @private\n * @function Highcharts.Series#orderSeries\n * @param {number} [fromIndex]\n * If this is given, only the series above this index are handled.\n */\n Chart.prototype.orderSeries = function (fromIndex) {\n var series = this.series,\n i = fromIndex || 0;\n for (; i < series.length; i++) {\n if (series[i]) {\n /**\n * Contains the series' index in the `Chart.series` array.\n *\n * @name Highcharts.Series#index\n * @type {number}\n * @readonly\n */\n series[i].index = i;\n series[i].name = series[i].getName();\n }\n }\n };\n /**\n * Check whether a given point is within the plot area.\n *\n * @function Highcharts.Chart#isInsidePlot\n *\n * @param {number} plotX\n * Pixel x relative to the plot area.\n *\n * @param {number} plotY\n * Pixel y relative to the plot area.\n *\n * @param {boolean} [inverted]\n * Whether the chart is inverted.\n *\n * @return {boolean}\n * Returns true if the given point is inside the plot area.\n */\n Chart.prototype.isInsidePlot = function (plotX, plotY, inverted) {\n var x = inverted ? plotY : plotX,\n y = inverted ? plotX : plotY,\n e = {\n x: x,\n y: y,\n isInsidePlot: x >= 0 &&\n x <= this.plotWidth &&\n y >= 0 &&\n y <= this.plotHeight\n };\n fireEvent(this, 'afterIsInsidePlot', e);\n return e.isInsidePlot;\n };\n /**\n * Redraw the chart after changes have been done to the data, axis extremes\n * chart size or chart elements. All methods for updating axes, series or\n * points have a parameter for redrawing the chart. This is `true` by\n * default. But in many cases you want to do more than one operation on the\n * chart before redrawing, for example add a number of points. In those\n * cases it is a waste of resources to redraw the chart for each new point\n * added. So you add the points and call `chart.redraw()` after.\n *\n * @function Highcharts.Chart#redraw\n *\n * @param {boolean|Partial} [animation]\n * If or how to apply animation to the redraw.\n *\n * @fires Highcharts.Chart#event:afterSetExtremes\n * @fires Highcharts.Chart#event:beforeRedraw\n * @fires Highcharts.Chart#event:predraw\n * @fires Highcharts.Chart#event:redraw\n * @fires Highcharts.Chart#event:render\n * @fires Highcharts.Chart#event:updatedData\n */\n Chart.prototype.redraw = function (animation) {\n fireEvent(this, 'beforeRedraw');\n var chart = this,\n axes = chart.axes,\n series = chart.series,\n pointer = chart.pointer,\n legend = chart.legend,\n legendUserOptions = chart.userOptions.legend,\n redrawLegend = chart.isDirtyLegend,\n hasStackedSeries,\n hasDirtyStacks,\n hasCartesianSeries = chart.hasCartesianSeries,\n isDirtyBox = chart.isDirtyBox,\n i,\n serie,\n renderer = chart.renderer,\n isHiddenChart = renderer.isHidden(),\n afterRedraw = [];\n // Handle responsive rules, not only on resize (#6130)\n if (chart.setResponsive) {\n chart.setResponsive(false);\n }\n // Set the global animation. When chart.hasRendered is not true, the\n // redraw call comes from a responsive rule and animation should not\n // occur.\n setAnimation(chart.hasRendered ? animation : false, chart);\n if (isHiddenChart) {\n chart.temporaryDisplay();\n }\n // Adjust title layout (reflow multiline text)\n chart.layOutTitles();\n // link stacked series\n i = series.length;\n while (i--) {\n serie = series[i];\n if (serie.options.stacking) {\n hasStackedSeries = true;\n if (serie.isDirty) {\n hasDirtyStacks = true;\n break;\n }\n }\n }\n if (hasDirtyStacks) { // mark others as dirty\n i = series.length;\n while (i--) {\n serie = series[i];\n if (serie.options.stacking) {\n serie.isDirty = true;\n }\n }\n }\n // Handle updated data in the series\n series.forEach(function (serie) {\n if (serie.isDirty) {\n if (serie.options.legendType === 'point') {\n if (typeof serie.updateTotals === 'function') {\n serie.updateTotals();\n }\n redrawLegend = true;\n }\n else if (legendUserOptions &&\n (legendUserOptions.labelFormatter ||\n legendUserOptions.labelFormat)) {\n redrawLegend = true; // #2165\n }\n }\n if (serie.isDirtyData) {\n fireEvent(serie, 'updatedData');\n }\n });\n // handle added or removed series\n if (redrawLegend && legend && legend.options.enabled) {\n // draw legend graphics\n legend.render();\n chart.isDirtyLegend = false;\n }\n // reset stacks\n if (hasStackedSeries) {\n chart.getStacks();\n }\n if (hasCartesianSeries) {\n // set axes scales\n axes.forEach(function (axis) {\n // Don't do setScale again if we're only resizing. Regression\n // #13507. But we need it after chart.update (responsive), as\n // axis is initialized again (#12137).\n if (!chart.isResizing || !isNumber(axis.min)) {\n axis.updateNames();\n axis.setScale();\n }\n });\n }\n chart.getMargins(); // #3098\n if (hasCartesianSeries) {\n // If one axis is dirty, all axes must be redrawn (#792, #2169)\n axes.forEach(function (axis) {\n if (axis.isDirty) {\n isDirtyBox = true;\n }\n });\n // redraw axes\n axes.forEach(function (axis) {\n // Fire 'afterSetExtremes' only if extremes are set\n var key = axis.min + ',' + axis.max;\n if (axis.extKey !== key) { // #821, #4452\n axis.extKey = key;\n // prevent a recursive call to chart.redraw() (#1119)\n afterRedraw.push(function () {\n fireEvent(axis, 'afterSetExtremes', extend(axis.eventArgs, axis.getExtremes())); // #747, #751\n delete axis.eventArgs;\n });\n }\n if (isDirtyBox || hasStackedSeries) {\n axis.redraw();\n }\n });\n }\n // the plot areas size has changed\n if (isDirtyBox) {\n chart.drawChartBox();\n }\n // Fire an event before redrawing series, used by the boost module to\n // clear previous series renderings.\n fireEvent(chart, 'predraw');\n // redraw affected series\n series.forEach(function (serie) {\n if ((isDirtyBox || serie.isDirty) && serie.visible) {\n serie.redraw();\n }\n // Set it here, otherwise we will have unlimited 'updatedData' calls\n // for a hidden series after setData(). Fixes #6012\n serie.isDirtyData = false;\n });\n // move tooltip or reset\n if (pointer) {\n pointer.reset(true);\n }\n // redraw if canvas\n renderer.draw();\n // Fire the events\n fireEvent(chart, 'redraw');\n fireEvent(chart, 'render');\n if (isHiddenChart) {\n chart.temporaryDisplay(true);\n }\n // Fire callbacks that are put on hold until after the redraw\n afterRedraw.forEach(function (callback) {\n callback.call();\n });\n };\n /**\n * Get an axis, series or point object by `id` as given in the configuration\n * options. Returns `undefined` if no item is found.\n *\n * @sample highcharts/plotoptions/series-id/\n * Get series by id\n *\n * @function Highcharts.Chart#get\n *\n * @param {string} id\n * The id as given in the configuration options.\n *\n * @return {Highcharts.Axis|Highcharts.Series|Highcharts.Point|undefined}\n * The retrieved item.\n */\n Chart.prototype.get = function (id) {\n var ret,\n series = this.series,\n i;\n /**\n * @private\n * @param {Highcharts.Axis|Highcharts.Series} item\n * @return {boolean}\n */\n function itemById(item) {\n return (item.id === id ||\n (item.options && item.options.id === id));\n }\n ret =\n // Search axes\n find(this.axes, itemById) ||\n // Search series\n find(this.series, itemById);\n // Search points\n for (i = 0; !ret && i < series.length; i++) {\n ret = find(series[i].points || [], itemById);\n }\n return ret;\n };\n /**\n * Create the Axis instances based on the config options.\n *\n * @private\n * @function Highcharts.Chart#getAxes\n * @fires Highcharts.Chart#event:afterGetAxes\n * @fires Highcharts.Chart#event:getAxes\n */\n Chart.prototype.getAxes = function () {\n var chart = this,\n options = this.options,\n xAxisOptions = options.xAxis = splat(options.xAxis || {}),\n yAxisOptions = options.yAxis = splat(options.yAxis || {}),\n optionsArray;\n fireEvent(this, 'getAxes');\n // make sure the options are arrays and add some members\n xAxisOptions.forEach(function (axis, i) {\n axis.index = i;\n axis.isX = true;\n });\n yAxisOptions.forEach(function (axis, i) {\n axis.index = i;\n });\n // concatenate all axis options into one array\n optionsArray = xAxisOptions.concat(yAxisOptions);\n optionsArray.forEach(function (axisOptions) {\n new Axis(chart, axisOptions); // eslint-disable-line no-new\n });\n fireEvent(this, 'afterGetAxes');\n };\n /**\n * Returns an array of all currently selected points in the chart. Points\n * can be selected by clicking or programmatically by the\n * {@link Highcharts.Point#select}\n * function.\n *\n * @sample highcharts/plotoptions/series-allowpointselect-line/\n * Get selected points\n *\n * @function Highcharts.Chart#getSelectedPoints\n *\n * @return {Array}\n * The currently selected points.\n */\n Chart.prototype.getSelectedPoints = function () {\n var points = [];\n this.series.forEach(function (serie) {\n // For one-to-one points inspect series.data in order to retrieve\n // points outside the visible range (#6445). For grouped data,\n // inspect the generated series.points.\n points = points.concat(serie.getPointsCollection().filter(function (point) {\n return pick(point.selectedStaging, point.selected);\n }));\n });\n return points;\n };\n /**\n * Returns an array of all currently selected series in the chart. Series\n * can be selected either programmatically by the\n * {@link Highcharts.Series#select}\n * function or by checking the checkbox next to the legend item if\n * [series.showCheckBox](https://api.highcharts.com/highcharts/plotOptions.series.showCheckbox)\n * is true.\n *\n * @sample highcharts/members/chart-getselectedseries/\n * Get selected series\n *\n * @function Highcharts.Chart#getSelectedSeries\n *\n * @return {Array}\n * The currently selected series.\n */\n Chart.prototype.getSelectedSeries = function () {\n return this.series.filter(function (serie) {\n return serie.selected;\n });\n };\n /**\n * Set a new title or subtitle for the chart.\n *\n * @sample highcharts/members/chart-settitle/\n * Set title text and styles\n *\n * @function Highcharts.Chart#setTitle\n *\n * @param {Highcharts.TitleOptions} [titleOptions]\n * New title options. The title text itself is set by the\n * `titleOptions.text` property.\n *\n * @param {Highcharts.SubtitleOptions} [subtitleOptions]\n * New subtitle options. The subtitle text itself is set by the\n * `subtitleOptions.text` property.\n *\n * @param {boolean} [redraw]\n * Whether to redraw the chart or wait for a later call to\n * `chart.redraw()`.\n */\n Chart.prototype.setTitle = function (titleOptions, subtitleOptions, redraw) {\n this.applyDescription('title', titleOptions);\n this.applyDescription('subtitle', subtitleOptions);\n // The initial call also adds the caption. On update, chart.update will\n // relay to Chart.setCaption.\n this.applyDescription('caption', void 0);\n this.layOutTitles(redraw);\n };\n /**\n * Apply a title, subtitle or caption for the chart\n *\n * @private\n * @function Highcharts.Chart#applyDescription\n * @param name {string}\n * Either title, subtitle or caption\n * @param {Highcharts.TitleOptions|Highcharts.SubtitleOptions|Highcharts.CaptionOptions|undefined} explicitOptions\n * The options to set, will be merged with default options.\n */\n Chart.prototype.applyDescription = function (name, explicitOptions) {\n var chart = this;\n // Default style\n var style = name === 'title' ? {\n color: '#333333',\n fontSize: this.options.isStock ? '16px' : '18px' // #2944\n } : {\n color: '#666666'\n };\n // Merge default options with explicit options\n var options = this.options[name] = merge(\n // Default styles\n (!this.styledMode && { style: style }),\n this.options[name],\n explicitOptions);\n var elem = this[name];\n if (elem && explicitOptions) {\n this[name] = elem = elem.destroy(); // remove old\n }\n if (options && !elem) {\n elem = this.renderer.text(options.text, 0, 0, options.useHTML)\n .attr({\n align: options.align,\n 'class': 'highcharts-' + name,\n zIndex: options.zIndex || 4\n })\n .add();\n // Update methods, shortcut to Chart.setTitle, Chart.setSubtitle and\n // Chart.setCaption\n elem.update = function (updateOptions) {\n var fn = {\n title: 'setTitle',\n subtitle: 'setSubtitle',\n caption: 'setCaption'\n }[name];\n chart[fn](updateOptions);\n };\n // Presentational\n if (!this.styledMode) {\n elem.css(options.style);\n }\n /**\n * The chart title. The title has an `update` method that allows\n * modifying the options directly or indirectly via\n * `chart.update`.\n *\n * @sample highcharts/members/title-update/\n * Updating titles\n *\n * @name Highcharts.Chart#title\n * @type {Highcharts.TitleObject}\n */\n /**\n * The chart subtitle. The subtitle has an `update` method that\n * allows modifying the options directly or indirectly via\n * `chart.update`.\n *\n * @name Highcharts.Chart#subtitle\n * @type {Highcharts.SubtitleObject}\n */\n this[name] = elem;\n }\n };\n /**\n * Internal function to lay out the chart title, subtitle and caption, and\n * cache the full offset height for use in `getMargins`. The result is\n * stored in `this.titleOffset`.\n *\n * @private\n * @function Highcharts.Chart#layOutTitles\n *\n * @param {boolean} [redraw=true]\n * @fires Highcharts.Chart#event:afterLayOutTitles\n */\n Chart.prototype.layOutTitles = function (redraw) {\n var titleOffset = [0, 0, 0],\n requiresDirtyBox,\n renderer = this.renderer,\n spacingBox = this.spacingBox;\n // Lay out the title and the subtitle respectively\n ['title', 'subtitle', 'caption'].forEach(function (key) {\n var title = this[key], titleOptions = this.options[key], verticalAlign = titleOptions.verticalAlign || 'top', offset = key === 'title' ? -3 :\n // Floating subtitle (#6574)\n verticalAlign === 'top' ? titleOffset[0] + 2 : 0, titleSize, height;\n if (title) {\n if (!this.styledMode) {\n titleSize = titleOptions.style.fontSize;\n }\n titleSize = renderer.fontMetrics(titleSize, title).b;\n title\n .css({\n width: (titleOptions.width ||\n spacingBox.width + (titleOptions.widthAdjust || 0)) + 'px'\n });\n // Skip the cache for HTML (#3481, #11666)\n height = Math.round(title.getBBox(titleOptions.useHTML).height);\n title.align(extend({\n y: verticalAlign === 'bottom' ?\n titleSize :\n offset + titleSize,\n height: height\n }, titleOptions), false, 'spacingBox');\n if (!titleOptions.floating) {\n if (verticalAlign === 'top') {\n titleOffset[0] = Math.ceil(titleOffset[0] +\n height);\n }\n else if (verticalAlign === 'bottom') {\n titleOffset[2] = Math.ceil(titleOffset[2] +\n height);\n }\n }\n }\n }, this);\n // Handle title.margin and caption.margin\n if (titleOffset[0] &&\n (this.options.title.verticalAlign || 'top') === 'top') {\n titleOffset[0] += this.options.title.margin;\n }\n if (titleOffset[2] &&\n this.options.caption.verticalAlign === 'bottom') {\n titleOffset[2] += this.options.caption.margin;\n }\n requiresDirtyBox = (!this.titleOffset ||\n this.titleOffset.join(',') !== titleOffset.join(','));\n // Used in getMargins\n this.titleOffset = titleOffset;\n fireEvent(this, 'afterLayOutTitles');\n if (!this.isDirtyBox && requiresDirtyBox) {\n this.isDirtyBox = this.isDirtyLegend = requiresDirtyBox;\n // Redraw if necessary (#2719, #2744)\n if (this.hasRendered && pick(redraw, true) && this.isDirtyBox) {\n this.redraw();\n }\n }\n };\n /**\n * Internal function to get the chart width and height according to options\n * and container size. Sets {@link Chart.chartWidth} and\n * {@link Chart.chartHeight}.\n *\n * @private\n * @function Highcharts.Chart#getChartSize\n */\n Chart.prototype.getChartSize = function () {\n var chart = this,\n optionsChart = chart.options.chart,\n widthOption = optionsChart.width,\n heightOption = optionsChart.height,\n renderTo = chart.renderTo;\n // Get inner width and height\n if (!defined(widthOption)) {\n chart.containerWidth = getStyle(renderTo, 'width');\n }\n if (!defined(heightOption)) {\n chart.containerHeight = getStyle(renderTo, 'height');\n }\n /**\n * The current pixel width of the chart.\n *\n * @name Highcharts.Chart#chartWidth\n * @type {number}\n */\n chart.chartWidth = Math.max(// #1393\n 0, widthOption || chart.containerWidth || 600 // #1460\n );\n /**\n * The current pixel height of the chart.\n *\n * @name Highcharts.Chart#chartHeight\n * @type {number}\n */\n chart.chartHeight = Math.max(0, relativeLength(heightOption, chart.chartWidth) ||\n (chart.containerHeight > 1 ?\n chart.containerHeight :\n 400));\n };\n /**\n * If the renderTo element has no offsetWidth, most likely one or more of\n * its parents are hidden. Loop up the DOM tree to temporarily display the\n * parents, then save the original display properties, and when the true\n * size is retrieved, reset them. Used on first render and on redraws.\n *\n * @private\n * @function Highcharts.Chart#temporaryDisplay\n *\n * @param {boolean} [revert]\n * Revert to the saved original styles.\n */\n Chart.prototype.temporaryDisplay = function (revert) {\n var node = this.renderTo,\n tempStyle;\n if (!revert) {\n while (node && node.style) {\n // When rendering to a detached node, it needs to be temporarily\n // attached in order to read styling and bounding boxes (#5783,\n // #7024).\n if (!doc.body.contains(node) && !node.parentNode) {\n node.hcOrigDetached = true;\n doc.body.appendChild(node);\n }\n if (getStyle(node, 'display', false) === 'none' ||\n node.hcOricDetached) {\n node.hcOrigStyle = {\n display: node.style.display,\n height: node.style.height,\n overflow: node.style.overflow\n };\n tempStyle = {\n display: 'block',\n overflow: 'hidden'\n };\n if (node !== this.renderTo) {\n tempStyle.height = 0;\n }\n css(node, tempStyle);\n // If it still doesn't have an offset width after setting\n // display to block, it probably has an !important priority\n // #2631, 6803\n if (!node.offsetWidth) {\n node.style.setProperty('display', 'block', 'important');\n }\n }\n node = node.parentNode;\n if (node === doc.body) {\n break;\n }\n }\n }\n else {\n while (node && node.style) {\n if (node.hcOrigStyle) {\n css(node, node.hcOrigStyle);\n delete node.hcOrigStyle;\n }\n if (node.hcOrigDetached) {\n doc.body.removeChild(node);\n node.hcOrigDetached = false;\n }\n node = node.parentNode;\n }\n }\n };\n /**\n * Set the {@link Chart.container|chart container's} class name, in\n * addition to `highcharts-container`.\n *\n * @function Highcharts.Chart#setClassName\n *\n * @param {string} [className]\n * The additional class name.\n */\n Chart.prototype.setClassName = function (className) {\n this.container.className = 'highcharts-container ' + (className || '');\n };\n /**\n * Get the containing element, determine the size and create the inner\n * container div to hold the chart.\n *\n * @private\n * @function Highcharts.Chart#afterGetContainer\n * @fires Highcharts.Chart#event:afterGetContainer\n */\n Chart.prototype.getContainer = function () {\n var chart = this,\n container,\n options = chart.options,\n optionsChart = options.chart,\n chartWidth,\n chartHeight,\n renderTo = chart.renderTo,\n indexAttrName = 'data-highcharts-chart',\n oldChartIndex,\n Ren,\n containerId = uniqueKey(),\n containerStyle,\n key;\n if (!renderTo) {\n chart.renderTo = renderTo =\n optionsChart.renderTo;\n }\n if (isString(renderTo)) {\n chart.renderTo = renderTo =\n doc.getElementById(renderTo);\n }\n // Display an error if the renderTo is wrong\n if (!renderTo) {\n error(13, true, chart);\n }\n // If the container already holds a chart, destroy it. The check for\n // hasRendered is there because web pages that are saved to disk from\n // the browser, will preserve the data-highcharts-chart attribute and\n // the SVG contents, but not an interactive chart. So in this case,\n // charts[oldChartIndex] will point to the wrong chart if any (#2609).\n oldChartIndex = pInt(attr(renderTo, indexAttrName));\n if (isNumber(oldChartIndex) &&\n charts[oldChartIndex] &&\n charts[oldChartIndex].hasRendered) {\n charts[oldChartIndex].destroy();\n }\n // Make a reference to the chart from the div\n attr(renderTo, indexAttrName, chart.index);\n // remove previous chart\n renderTo.innerHTML = '';\n // If the container doesn't have an offsetWidth, it has or is a child of\n // a node that has display:none. We need to temporarily move it out to a\n // visible state to determine the size, else the legend and tooltips\n // won't render properly. The skipClone option is used in sparklines as\n // a micro optimization, saving about 1-2 ms each chart.\n if (!optionsChart.skipClone && !renderTo.offsetWidth) {\n chart.temporaryDisplay();\n }\n // get the width and height\n chart.getChartSize();\n chartWidth = chart.chartWidth;\n chartHeight = chart.chartHeight;\n // Allow table cells and flex-boxes to shrink without the chart blocking\n // them out (#6427)\n css(renderTo, { overflow: 'hidden' });\n // Create the inner container\n if (!chart.styledMode) {\n containerStyle = extend({\n position: 'relative',\n // needed for context menu (avoidscrollbars) and content\n // overflow in IE\n overflow: 'hidden',\n width: chartWidth + 'px',\n height: chartHeight + 'px',\n textAlign: 'left',\n lineHeight: 'normal',\n zIndex: 0,\n '-webkit-tap-highlight-color': 'rgba(0,0,0,0)',\n userSelect: 'none' // #13503\n }, optionsChart.style);\n }\n /**\n * The containing HTML element of the chart. The container is\n * dynamically inserted into the element given as the `renderTo`\n * parameter in the {@link Highcharts#chart} constructor.\n *\n * @name Highcharts.Chart#container\n * @type {Highcharts.HTMLDOMElement}\n */\n container = createElement('div', {\n id: containerId\n }, containerStyle, renderTo);\n chart.container = container;\n // cache the cursor (#1650)\n chart._cursor = container.style.cursor;\n // Initialize the renderer\n Ren = H[optionsChart.renderer] || H.Renderer;\n /**\n * The renderer instance of the chart. Each chart instance has only one\n * associated renderer.\n *\n * @name Highcharts.Chart#renderer\n * @type {Highcharts.SVGRenderer}\n */\n chart.renderer = new Ren(container, chartWidth, chartHeight, null, optionsChart.forExport, options.exporting && options.exporting.allowHTML, chart.styledMode);\n // Set the initial animation from the options\n setAnimation(void 0, chart);\n chart.setClassName(optionsChart.className);\n if (!chart.styledMode) {\n chart.renderer.setStyle(optionsChart.style);\n }\n else {\n // Initialize definitions\n for (key in options.defs) { // eslint-disable-line guard-for-in\n this.renderer.definition(options.defs[key]);\n }\n }\n // Add a reference to the charts index\n chart.renderer.chartIndex = chart.index;\n fireEvent(this, 'afterGetContainer');\n };\n /**\n * Calculate margins by rendering axis labels in a preliminary position.\n * Title, subtitle and legend have already been rendered at this stage, but\n * will be moved into their final positions.\n *\n * @private\n * @function Highcharts.Chart#getMargins\n * @fires Highcharts.Chart#event:getMargins\n */\n Chart.prototype.getMargins = function (skipAxes) {\n var _a = this,\n spacing = _a.spacing,\n margin = _a.margin,\n titleOffset = _a.titleOffset;\n this.resetMargins();\n // Adjust for title and subtitle\n if (titleOffset[0] && !defined(margin[0])) {\n this.plotTop = Math.max(this.plotTop, titleOffset[0] + spacing[0]);\n }\n if (titleOffset[2] && !defined(margin[2])) {\n this.marginBottom = Math.max(this.marginBottom, titleOffset[2] + spacing[2]);\n }\n // Adjust for legend\n if (this.legend && this.legend.display) {\n this.legend.adjustMargins(margin, spacing);\n }\n fireEvent(this, 'getMargins');\n if (!skipAxes) {\n this.getAxisMargins();\n }\n };\n /**\n * @private\n * @function Highcharts.Chart#getAxisMargins\n */\n Chart.prototype.getAxisMargins = function () {\n var chart = this, \n // [top, right, bottom, left]\n axisOffset = chart.axisOffset = [0, 0, 0, 0],\n colorAxis = chart.colorAxis,\n margin = chart.margin,\n getOffset = function (axes) {\n axes.forEach(function (axis) {\n if (axis.visible) {\n axis.getOffset();\n }\n });\n };\n // pre-render axes to get labels offset width\n if (chart.hasCartesianSeries) {\n getOffset(chart.axes);\n }\n else if (colorAxis && colorAxis.length) {\n getOffset(colorAxis);\n }\n // Add the axis offsets\n marginNames.forEach(function (m, side) {\n if (!defined(margin[side])) {\n chart[m] += axisOffset[side];\n }\n });\n chart.setChartSize();\n };\n /**\n * Reflows the chart to its container. By default, the chart reflows\n * automatically to its container following a `window.resize` event, as per\n * the [chart.reflow](https://api.highcharts.com/highcharts/chart.reflow)\n * option. However, there are no reliable events for div resize, so if the\n * container is resized without a window resize event, this must be called\n * explicitly.\n *\n * @sample highcharts/members/chart-reflow/\n * Resize div and reflow\n * @sample highcharts/chart/events-container/\n * Pop up and reflow\n *\n * @function Highcharts.Chart#reflow\n *\n * @param {global.Event} [e]\n * Event arguments. Used primarily when the function is called\n * internally as a response to window resize.\n */\n Chart.prototype.reflow = function (e) {\n var chart = this, optionsChart = chart.options.chart, renderTo = chart.renderTo, hasUserSize = (defined(optionsChart.width) &&\n defined(optionsChart.height)), width = optionsChart.width || getStyle(renderTo, 'width'), height = optionsChart.height || getStyle(renderTo, 'height'), target = e ? e.target : win;\n // Width and height checks for display:none. Target is doc in IE8 and\n // Opera, win in Firefox, Chrome and IE9.\n if (!hasUserSize &&\n !chart.isPrinting &&\n width &&\n height &&\n (target === win || target === doc)) {\n if (width !== chart.containerWidth ||\n height !== chart.containerHeight) {\n U.clearTimeout(chart.reflowTimeout);\n // When called from window.resize, e is set, else it's called\n // directly (#2224)\n chart.reflowTimeout = syncTimeout(function () {\n // Set size, it may have been destroyed in the meantime\n // (#1257)\n if (chart.container) {\n chart.setSize(void 0, void 0, false);\n }\n }, e ? 100 : 0);\n }\n chart.containerWidth = width;\n chart.containerHeight = height;\n }\n };\n /**\n * Toggle the event handlers necessary for auto resizing, depending on the\n * `chart.reflow` option.\n *\n * @private\n * @function Highcharts.Chart#setReflow\n */\n Chart.prototype.setReflow = function (reflow) {\n var chart = this;\n if (reflow !== false && !this.unbindReflow) {\n this.unbindReflow = addEvent(win, 'resize', function (e) {\n // a removed event listener still runs in Edge and IE if the\n // listener was removed while the event runs, so check if the\n // chart is not destroyed (#11609)\n if (chart.options) {\n chart.reflow(e);\n }\n });\n addEvent(this, 'destroy', this.unbindReflow);\n }\n else if (reflow === false && this.unbindReflow) {\n // Unbind and unset\n this.unbindReflow = this.unbindReflow();\n }\n // The following will add listeners to re-fit the chart before and after\n // printing (#2284). However it only works in WebKit. Should have worked\n // in Firefox, but not supported in IE.\n /*\n if (win.matchMedia) {\n win.matchMedia('print').addListener(function reflow() {\n chart.reflow();\n });\n }\n //*/\n };\n /**\n * Resize the chart to a given width and height. In order to set the width\n * only, the height argument may be skipped. To set the height only, pass\n * `undefined` for the width.\n *\n * @sample highcharts/members/chart-setsize-button/\n * Test resizing from buttons\n * @sample highcharts/members/chart-setsize-jquery-resizable/\n * Add a jQuery UI resizable\n * @sample stock/members/chart-setsize/\n * Highstock with UI resizable\n *\n * @function Highcharts.Chart#setSize\n *\n * @param {number|null} [width]\n * The new pixel width of the chart. Since v4.2.6, the argument can\n * be `undefined` in order to preserve the current value (when\n * setting height only), or `null` to adapt to the width of the\n * containing element.\n *\n * @param {number|null} [height]\n * The new pixel height of the chart. Since v4.2.6, the argument can\n * be `undefined` in order to preserve the current value, or `null`\n * in order to adapt to the height of the containing element.\n *\n * @param {boolean|Partial} [animation=true]\n * Whether and how to apply animation.\n *\n * @return {void}\n *\n * @fires Highcharts.Chart#event:endResize\n * @fires Highcharts.Chart#event:resize\n */\n Chart.prototype.setSize = function (width, height, animation) {\n var chart = this,\n renderer = chart.renderer,\n globalAnimation;\n // Handle the isResizing counter\n chart.isResizing += 1;\n // set the animation for the current process\n setAnimation(animation, chart);\n globalAnimation = renderer.globalAnimation;\n chart.oldChartHeight = chart.chartHeight;\n chart.oldChartWidth = chart.chartWidth;\n if (typeof width !== 'undefined') {\n chart.options.chart.width = width;\n }\n if (typeof height !== 'undefined') {\n chart.options.chart.height = height;\n }\n chart.getChartSize();\n // Resize the container with the global animation applied if enabled\n // (#2503)\n if (!chart.styledMode) {\n (globalAnimation ? animate : css)(chart.container, {\n width: chart.chartWidth + 'px',\n height: chart.chartHeight + 'px'\n }, globalAnimation);\n }\n chart.setChartSize(true);\n renderer.setSize(chart.chartWidth, chart.chartHeight, globalAnimation);\n // handle axes\n chart.axes.forEach(function (axis) {\n axis.isDirty = true;\n axis.setScale();\n });\n chart.isDirtyLegend = true; // force legend redraw\n chart.isDirtyBox = true; // force redraw of plot and chart border\n chart.layOutTitles(); // #2857\n chart.getMargins();\n chart.redraw(globalAnimation);\n chart.oldChartHeight = null;\n fireEvent(chart, 'resize');\n // Fire endResize and set isResizing back. If animation is disabled,\n // fire without delay\n syncTimeout(function () {\n if (chart) {\n fireEvent(chart, 'endResize', null, function () {\n chart.isResizing -= 1;\n });\n }\n }, animObject(globalAnimation).duration);\n };\n /**\n * Set the public chart properties. This is done before and after the\n * pre-render to determine margin sizes.\n *\n * @private\n * @function Highcharts.Chart#setChartSize\n * @fires Highcharts.Chart#event:afterSetChartSize\n */\n Chart.prototype.setChartSize = function (skipAxes) {\n var chart = this,\n inverted = chart.inverted,\n renderer = chart.renderer,\n chartWidth = chart.chartWidth,\n chartHeight = chart.chartHeight,\n optionsChart = chart.options.chart,\n spacing = chart.spacing,\n clipOffset = chart.clipOffset,\n clipX,\n clipY,\n plotLeft,\n plotTop,\n plotWidth,\n plotHeight,\n plotBorderWidth;\n /**\n * The current left position of the plot area in pixels.\n *\n * @name Highcharts.Chart#plotLeft\n * @type {number}\n */\n chart.plotLeft = plotLeft = Math.round(chart.plotLeft);\n /**\n * The current top position of the plot area in pixels.\n *\n * @name Highcharts.Chart#plotTop\n * @type {number}\n */\n chart.plotTop = plotTop = Math.round(chart.plotTop);\n /**\n * The current width of the plot area in pixels.\n *\n * @name Highcharts.Chart#plotWidth\n * @type {number}\n */\n chart.plotWidth = plotWidth = Math.max(0, Math.round(chartWidth - plotLeft - chart.marginRight));\n /**\n * The current height of the plot area in pixels.\n *\n * @name Highcharts.Chart#plotHeight\n * @type {number}\n */\n chart.plotHeight = plotHeight = Math.max(0, Math.round(chartHeight - plotTop - chart.marginBottom));\n chart.plotSizeX = inverted ? plotHeight : plotWidth;\n chart.plotSizeY = inverted ? plotWidth : plotHeight;\n chart.plotBorderWidth = optionsChart.plotBorderWidth || 0;\n // Set boxes used for alignment\n chart.spacingBox = renderer.spacingBox = {\n x: spacing[3],\n y: spacing[0],\n width: chartWidth - spacing[3] - spacing[1],\n height: chartHeight - spacing[0] - spacing[2]\n };\n chart.plotBox = renderer.plotBox = {\n x: plotLeft,\n y: plotTop,\n width: plotWidth,\n height: plotHeight\n };\n plotBorderWidth = 2 * Math.floor(chart.plotBorderWidth / 2);\n clipX = Math.ceil(Math.max(plotBorderWidth, clipOffset[3]) / 2);\n clipY = Math.ceil(Math.max(plotBorderWidth, clipOffset[0]) / 2);\n chart.clipBox = {\n x: clipX,\n y: clipY,\n width: Math.floor(chart.plotSizeX -\n Math.max(plotBorderWidth, clipOffset[1]) / 2 -\n clipX),\n height: Math.max(0, Math.floor(chart.plotSizeY -\n Math.max(plotBorderWidth, clipOffset[2]) / 2 -\n clipY))\n };\n if (!skipAxes) {\n chart.axes.forEach(function (axis) {\n axis.setAxisSize();\n axis.setAxisTranslation();\n });\n }\n fireEvent(chart, 'afterSetChartSize', { skipAxes: skipAxes });\n };\n /**\n * Initial margins before auto size margins are applied.\n *\n * @private\n * @function Highcharts.Chart#resetMargins\n */\n Chart.prototype.resetMargins = function () {\n fireEvent(this, 'resetMargins');\n var chart = this,\n chartOptions = chart.options.chart;\n // Create margin and spacing array\n ['margin', 'spacing'].forEach(function splashArrays(target) {\n var value = chartOptions[target],\n values = isObject(value) ? value : [value,\n value,\n value,\n value];\n [\n 'Top',\n 'Right',\n 'Bottom',\n 'Left'\n ].forEach(function (sideName, side) {\n chart[target][side] = pick(chartOptions[target + sideName], values[side]);\n });\n });\n // Set margin names like chart.plotTop, chart.plotLeft,\n // chart.marginRight, chart.marginBottom.\n marginNames.forEach(function (m, side) {\n chart[m] = pick(chart.margin[side], chart.spacing[side]);\n });\n chart.axisOffset = [0, 0, 0, 0]; // top, right, bottom, left\n chart.clipOffset = [0, 0, 0, 0];\n };\n /**\n * Internal function to draw or redraw the borders and backgrounds for chart\n * and plot area.\n *\n * @private\n * @function Highcharts.Chart#drawChartBox\n * @fires Highcharts.Chart#event:afterDrawChartBox\n */\n Chart.prototype.drawChartBox = function () {\n var chart = this,\n optionsChart = chart.options.chart,\n renderer = chart.renderer,\n chartWidth = chart.chartWidth,\n chartHeight = chart.chartHeight,\n chartBackground = chart.chartBackground,\n plotBackground = chart.plotBackground,\n plotBorder = chart.plotBorder,\n chartBorderWidth,\n styledMode = chart.styledMode,\n plotBGImage = chart.plotBGImage,\n chartBackgroundColor = optionsChart.backgroundColor,\n plotBackgroundColor = optionsChart.plotBackgroundColor,\n plotBackgroundImage = optionsChart.plotBackgroundImage,\n mgn,\n bgAttr,\n plotLeft = chart.plotLeft,\n plotTop = chart.plotTop,\n plotWidth = chart.plotWidth,\n plotHeight = chart.plotHeight,\n plotBox = chart.plotBox,\n clipRect = chart.clipRect,\n clipBox = chart.clipBox,\n verb = 'animate';\n // Chart area\n if (!chartBackground) {\n chart.chartBackground = chartBackground = renderer.rect()\n .addClass('highcharts-background')\n .add();\n verb = 'attr';\n }\n if (!styledMode) {\n // Presentational\n chartBorderWidth = optionsChart.borderWidth || 0;\n mgn = chartBorderWidth + (optionsChart.shadow ? 8 : 0);\n bgAttr = {\n fill: chartBackgroundColor || 'none'\n };\n if (chartBorderWidth || chartBackground['stroke-width']) { // #980\n bgAttr.stroke = optionsChart.borderColor;\n bgAttr['stroke-width'] = chartBorderWidth;\n }\n chartBackground\n .attr(bgAttr)\n .shadow(optionsChart.shadow);\n }\n else {\n chartBorderWidth = mgn = chartBackground.strokeWidth();\n }\n chartBackground[verb]({\n x: mgn / 2,\n y: mgn / 2,\n width: chartWidth - mgn - chartBorderWidth % 2,\n height: chartHeight - mgn - chartBorderWidth % 2,\n r: optionsChart.borderRadius\n });\n // Plot background\n verb = 'animate';\n if (!plotBackground) {\n verb = 'attr';\n chart.plotBackground = plotBackground = renderer.rect()\n .addClass('highcharts-plot-background')\n .add();\n }\n plotBackground[verb](plotBox);\n if (!styledMode) {\n // Presentational attributes for the background\n plotBackground\n .attr({\n fill: plotBackgroundColor || 'none'\n })\n .shadow(optionsChart.plotShadow);\n // Create the background image\n if (plotBackgroundImage) {\n if (!plotBGImage) {\n chart.plotBGImage = renderer.image(plotBackgroundImage, plotLeft, plotTop, plotWidth, plotHeight).add();\n }\n else {\n if (plotBackgroundImage !== plotBGImage.attr('href')) {\n plotBGImage.attr('href', plotBackgroundImage);\n }\n plotBGImage.animate(plotBox);\n }\n }\n }\n // Plot clip\n if (!clipRect) {\n chart.clipRect = renderer.clipRect(clipBox);\n }\n else {\n clipRect.animate({\n width: clipBox.width,\n height: clipBox.height\n });\n }\n // Plot area border\n verb = 'animate';\n if (!plotBorder) {\n verb = 'attr';\n chart.plotBorder = plotBorder = renderer.rect()\n .addClass('highcharts-plot-border')\n .attr({\n zIndex: 1 // Above the grid\n })\n .add();\n }\n if (!styledMode) {\n // Presentational\n plotBorder.attr({\n stroke: optionsChart.plotBorderColor,\n 'stroke-width': optionsChart.plotBorderWidth || 0,\n fill: 'none'\n });\n }\n plotBorder[verb](plotBorder.crisp({\n x: plotLeft,\n y: plotTop,\n width: plotWidth,\n height: plotHeight\n }, -plotBorder.strokeWidth())); // #3282 plotBorder should be negative;\n // reset\n chart.isDirtyBox = false;\n fireEvent(this, 'afterDrawChartBox');\n };\n /**\n * Detect whether a certain chart property is needed based on inspecting its\n * options and series. This mainly applies to the chart.inverted property,\n * and in extensions to the chart.angular and chart.polar properties.\n *\n * @private\n * @function Highcharts.Chart#propFromSeries\n * @return {void}\n */\n Chart.prototype.propFromSeries = function () {\n var chart = this,\n optionsChart = chart.options.chart,\n klass,\n seriesOptions = chart.options.series,\n i,\n value;\n /**\n * The flag is set to `true` if a series of the chart is inverted.\n *\n * @name Highcharts.Chart#inverted\n * @type {boolean|undefined}\n */\n ['inverted', 'angular', 'polar'].forEach(function (key) {\n // The default series type's class\n klass = BaseSeries.seriesTypes[(optionsChart.type ||\n optionsChart.defaultSeriesType)];\n // Get the value from available chart-wide properties\n value =\n // It is set in the options:\n optionsChart[key] ||\n // The default series class:\n (klass && klass.prototype[key]);\n // requires it\n // 4. Check if any the chart's series require it\n i = seriesOptions && seriesOptions.length;\n while (!value && i--) {\n klass = BaseSeries.seriesTypes[seriesOptions[i].type];\n if (klass && klass.prototype[key]) {\n value = true;\n }\n }\n // Set the chart property\n chart[key] = value;\n });\n };\n /**\n * Internal function to link two or more series together, based on the\n * `linkedTo` option. This is done from `Chart.render`, and after\n * `Chart.addSeries` and `Series.remove`.\n *\n * @private\n * @function Highcharts.Chart#linkSeries\n * @fires Highcharts.Chart#event:afterLinkSeries\n */\n Chart.prototype.linkSeries = function () {\n var chart = this,\n chartSeries = chart.series;\n // Reset links\n chartSeries.forEach(function (series) {\n series.linkedSeries.length = 0;\n });\n // Apply new links\n chartSeries.forEach(function (series) {\n var linkedTo = series.options.linkedTo;\n if (isString(linkedTo)) {\n if (linkedTo === ':previous') {\n linkedTo = chart.series[series.index - 1];\n }\n else {\n linkedTo = chart.get(linkedTo);\n }\n // #3341 avoid mutual linking\n if (linkedTo && linkedTo.linkedParent !== series) {\n linkedTo.linkedSeries.push(series);\n series.linkedParent = linkedTo;\n if (linkedTo.enabledDataSorting) {\n series.setDataSortingOptions();\n }\n series.visible = pick(series.options.visible, linkedTo.options.visible, series.visible); // #3879\n }\n }\n });\n fireEvent(this, 'afterLinkSeries');\n };\n /**\n * Render series for the chart.\n *\n * @private\n * @function Highcharts.Chart#renderSeries\n */\n Chart.prototype.renderSeries = function () {\n this.series.forEach(function (serie) {\n serie.translate();\n serie.render();\n });\n };\n /**\n * Render labels for the chart.\n *\n * @private\n * @function Highcharts.Chart#renderLabels\n */\n Chart.prototype.renderLabels = function () {\n var chart = this,\n labels = chart.options.labels;\n if (labels.items) {\n labels.items.forEach(function (label) {\n var style = extend(labels.style,\n label.style),\n x = pInt(style.left) + chart.plotLeft,\n y = pInt(style.top) + chart.plotTop + 12;\n // delete to prevent rewriting in IE\n delete style.left;\n delete style.top;\n chart.renderer.text(label.html, x, y)\n .attr({ zIndex: 2 })\n .css(style)\n .add();\n });\n }\n };\n /**\n * Render all graphics for the chart. Runs internally on initialization.\n *\n * @private\n * @function Highcharts.Chart#render\n */\n Chart.prototype.render = function () {\n var chart = this,\n axes = chart.axes,\n colorAxis = chart.colorAxis,\n renderer = chart.renderer,\n options = chart.options,\n correction = 0, // correction for X axis labels\n tempWidth,\n tempHeight,\n redoHorizontal,\n redoVertical,\n renderAxes = function (axes) {\n axes.forEach(function (axis) {\n if (axis.visible) {\n axis.render();\n }\n });\n };\n // Title\n chart.setTitle();\n /**\n * The overview of the chart's series.\n *\n * @name Highcharts.Chart#legend\n * @type {Highcharts.Legend}\n */\n chart.legend = new Legend(chart, options.legend);\n // Get stacks\n if (chart.getStacks) {\n chart.getStacks();\n }\n // Get chart margins\n chart.getMargins(true);\n chart.setChartSize();\n // Record preliminary dimensions for later comparison\n tempWidth = chart.plotWidth;\n axes.some(function (axis) {\n if (axis.horiz &&\n axis.visible &&\n axis.options.labels.enabled &&\n axis.series.length) {\n // 21 is the most common correction for X axis labels\n correction = 21;\n return true;\n }\n });\n // use Math.max to prevent negative plotHeight\n chart.plotHeight = Math.max(chart.plotHeight - correction, 0);\n tempHeight = chart.plotHeight;\n // Get margins by pre-rendering axes\n axes.forEach(function (axis) {\n axis.setScale();\n });\n chart.getAxisMargins();\n // If the plot area size has changed significantly, calculate tick\n // positions again\n redoHorizontal = tempWidth / chart.plotWidth > 1.1;\n // Height is more sensitive, use lower threshold\n redoVertical = tempHeight / chart.plotHeight > 1.05;\n if (redoHorizontal || redoVertical) {\n axes.forEach(function (axis) {\n if ((axis.horiz && redoHorizontal) ||\n (!axis.horiz && redoVertical)) {\n // update to reflect the new margins\n axis.setTickInterval(true);\n }\n });\n chart.getMargins(); // second pass to check for new labels\n }\n // Draw the borders and backgrounds\n chart.drawChartBox();\n // Axes\n if (chart.hasCartesianSeries) {\n renderAxes(axes);\n }\n else if (colorAxis && colorAxis.length) {\n renderAxes(colorAxis);\n }\n // The series\n if (!chart.seriesGroup) {\n chart.seriesGroup = renderer.g('series-group')\n .attr({ zIndex: 3 })\n .add();\n }\n chart.renderSeries();\n // Labels\n chart.renderLabels();\n // Credits\n chart.addCredits();\n // Handle responsiveness\n if (chart.setResponsive) {\n chart.setResponsive();\n }\n // Handle scaling\n chart.updateContainerScaling();\n // Set flag\n chart.hasRendered = true;\n };\n /**\n * Set a new credits label for the chart.\n *\n * @sample highcharts/credits/credits-update/\n * Add and update credits\n *\n * @function Highcharts.Chart#addCredits\n *\n * @param {Highcharts.CreditsOptions} [credits]\n * A configuration object for the new credits.\n */\n Chart.prototype.addCredits = function (credits) {\n var chart = this,\n creds = merge(true,\n this.options.credits,\n credits);\n if (creds.enabled && !this.credits) {\n /**\n * The chart's credits label. The label has an `update` method that\n * allows setting new options as per the\n * [credits options set](https://api.highcharts.com/highcharts/credits).\n *\n * @name Highcharts.Chart#credits\n * @type {Highcharts.SVGElement}\n */\n this.credits = this.renderer.text(creds.text + (this.mapCredits || ''), 0, 0)\n .addClass('highcharts-credits')\n .on('click', function () {\n if (creds.href) {\n win.location.href = creds.href;\n }\n })\n .attr({\n align: creds.position.align,\n zIndex: 8\n });\n if (!chart.styledMode) {\n this.credits.css(creds.style);\n }\n this.credits\n .add()\n .align(creds.position);\n // Dynamically update\n this.credits.update = function (options) {\n chart.credits = chart.credits.destroy();\n chart.addCredits(options);\n };\n }\n };\n /**\n * Handle scaling, #11329 - when there is scaling/transform on the container\n * or on a parent element, we need to take this into account. We calculate\n * the scaling once here and it is picked up where we need to use it\n * (Pointer, Tooltip).\n *\n * @private\n * @function Highcharts.Chart#updateContainerScaling\n */\n Chart.prototype.updateContainerScaling = function () {\n var container = this.container;\n // #13342 - tooltip was not visible in Chrome, when chart\n // updates height.\n if (container.offsetWidth > 2 && // #13342\n container.offsetHeight > 2 && // #13342\n container.getBoundingClientRect) {\n var bb = container.getBoundingClientRect(),\n scaleX = bb.width / container.offsetWidth,\n scaleY = bb.height / container.offsetHeight;\n if (scaleX !== 1 || scaleY !== 1) {\n this.containerScaling = { scaleX: scaleX, scaleY: scaleY };\n }\n else {\n delete this.containerScaling;\n }\n }\n };\n /**\n * Remove the chart and purge memory. This method is called internally\n * before adding a second chart into the same container, as well as on\n * window unload to prevent leaks.\n *\n * @sample highcharts/members/chart-destroy/\n * Destroy the chart from a button\n * @sample stock/members/chart-destroy/\n * Destroy with Highstock\n *\n * @function Highcharts.Chart#destroy\n *\n * @fires Highcharts.Chart#event:destroy\n */\n Chart.prototype.destroy = function () {\n var chart = this,\n axes = chart.axes,\n series = chart.series,\n container = chart.container,\n i,\n parentNode = container && container.parentNode;\n // fire the chart.destoy event\n fireEvent(chart, 'destroy');\n // Delete the chart from charts lookup array\n if (chart.renderer.forExport) {\n erase(charts, chart); // #6569\n }\n else {\n charts[chart.index] = void 0;\n }\n H.chartCount--;\n chart.renderTo.removeAttribute('data-highcharts-chart');\n // remove events\n removeEvent(chart);\n // ==== Destroy collections:\n // Destroy axes\n i = axes.length;\n while (i--) {\n axes[i] = axes[i].destroy();\n }\n // Destroy scroller & scroller series before destroying base series\n if (this.scroller && this.scroller.destroy) {\n this.scroller.destroy();\n }\n // Destroy each series\n i = series.length;\n while (i--) {\n series[i] = series[i].destroy();\n }\n // ==== Destroy chart properties:\n [\n 'title', 'subtitle', 'chartBackground', 'plotBackground',\n 'plotBGImage', 'plotBorder', 'seriesGroup', 'clipRect', 'credits',\n 'pointer', 'rangeSelector', 'legend', 'resetZoomButton', 'tooltip',\n 'renderer'\n ].forEach(function (name) {\n var prop = chart[name];\n if (prop && prop.destroy) {\n chart[name] = prop.destroy();\n }\n });\n // Remove container and all SVG, check container as it can break in IE\n // when destroyed before finished loading\n if (container) {\n container.innerHTML = '';\n removeEvent(container);\n if (parentNode) {\n discardElement(container);\n }\n }\n // clean it all up\n objectEach(chart, function (val, key) {\n delete chart[key];\n });\n };\n /**\n * Prepare for first rendering after all data are loaded.\n *\n * @private\n * @function Highcharts.Chart#firstRender\n * @fires Highcharts.Chart#event:beforeRender\n */\n Chart.prototype.firstRender = function () {\n var chart = this,\n options = chart.options;\n // Hook for oldIE to check whether the chart is ready to render\n if (chart.isReadyToRender && !chart.isReadyToRender()) {\n return;\n }\n // Create the container\n chart.getContainer();\n chart.resetMargins();\n chart.setChartSize();\n // Set the common chart properties (mainly invert) from the given series\n chart.propFromSeries();\n // get axes\n chart.getAxes();\n // Initialize the series\n (isArray(options.series) ? options.series : []).forEach(\n // #9680\n function (serieOptions) {\n chart.initSeries(serieOptions);\n });\n chart.linkSeries();\n chart.setSeriesData();\n // Run an event after axes and series are initialized, but before\n // render. At this stage, the series data is indexed and cached in the\n // xData and yData arrays, so we can access those before rendering. Used\n // in Highstock.\n fireEvent(chart, 'beforeRender');\n // depends on inverted and on margins being set\n if (Pointer) {\n if (!H.hasTouch && (win.PointerEvent || win.MSPointerEvent)) {\n chart.pointer = new MSPointer(chart, options);\n }\n else {\n /**\n * The Pointer that keeps track of mouse and touch interaction.\n *\n * @memberof Highcharts.Chart\n * @name pointer\n * @type {Highcharts.Pointer}\n * @instance\n */\n chart.pointer = new Pointer(chart, options);\n }\n }\n chart.render();\n // Fire the load event if there are no external images\n if (!chart.renderer.imgCount && !chart.hasLoaded) {\n chart.onload();\n }\n // If the chart was rendered outside the top container, put it back in\n // (#3679)\n chart.temporaryDisplay(true);\n };\n /**\n * Internal function that runs on chart load, async if any images are loaded\n * in the chart. Runs the callbacks and triggers the `load` and `render`\n * events.\n *\n * @private\n * @function Highcharts.Chart#onload\n * @fires Highcharts.Chart#event:load\n * @fires Highcharts.Chart#event:render\n */\n Chart.prototype.onload = function () {\n // Run callbacks, first the ones registered by modules, then user's one\n this.callbacks.concat([this.callback]).forEach(function (fn) {\n // Chart destroyed in its own callback (#3600)\n if (fn && typeof this.index !== 'undefined') {\n fn.apply(this, [this]);\n }\n }, this);\n fireEvent(this, 'load');\n fireEvent(this, 'render');\n // Set up auto resize, check for not destroyed (#6068)\n if (defined(this.index)) {\n this.setReflow(this.options.chart.reflow);\n }\n // Don't run again\n this.hasLoaded = true;\n };\n return Chart;\n }());\n // Hook for adding callbacks in modules\n Chart.prototype.callbacks = [];\n /**\n * Factory function for basic charts.\n *\n * @example\n * // Render a chart in to div#container\n * var chart = Highcharts.chart('container', {\n * title: {\n * text: 'My chart'\n * },\n * series: [{\n * data: [1, 3, 2, 4]\n * }]\n * });\n *\n * @function Highcharts.chart\n *\n * @param {string|Highcharts.HTMLDOMElement} [renderTo]\n * The DOM element to render to, or its id.\n *\n * @param {Highcharts.Options} options\n * The chart options structure.\n *\n * @param {Highcharts.ChartCallbackFunction} [callback]\n * Function to run when the chart has loaded and and all external images\n * are loaded. Defining a\n * [chart.events.load](https://api.highcharts.com/highcharts/chart.events.load)\n * handler is equivalent.\n *\n * @return {Highcharts.Chart}\n * Returns the Chart object.\n */\n function chart(a, b, c) {\n return new Chart(a, b, c);\n }\n H.chart = chart;\n H.Chart = Chart;\n\n return Chart;\n });\n _registerModule(_modules, 'Extensions/ScrollablePlotArea.js', [_modules['Core/Animation/AnimationUtilities.js'], _modules['Core/Chart/Chart.js'], _modules['Core/Globals.js'], _modules['Core/Utilities.js']], function (A, Chart, H, U) {\n /* *\n *\n * (c) 2010-2020 Torstein Honsi\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * Highcharts feature to make the Y axis stay fixed when scrolling the chart\n * horizontally on mobile devices. Supports left and right side axes.\n */\n /*\n WIP on vertical scrollable plot area (#9378). To do:\n - Bottom axis positioning\n - Test with Gantt\n - Look for size optimizing the code\n - API and demos\n */\n var stop = A.stop;\n var addEvent = U.addEvent,\n createElement = U.createElement,\n pick = U.pick;\n /**\n * Options for a scrollable plot area. This feature provides a minimum size for\n * the plot area of the chart. If the size gets smaller than this, typically\n * on mobile devices, a native browser scrollbar is presented. This scrollbar\n * provides smooth scrolling for the contents of the plot area, whereas the\n * title, legend and unaffected axes are fixed.\n *\n * Since v7.1.2, a scrollable plot area can be defined for either horizontal or\n * vertical scrolling, depending on whether the `minWidth` or `minHeight`\n * option is set.\n *\n * @sample highcharts/chart/scrollable-plotarea\n * Scrollable plot area\n * @sample highcharts/chart/scrollable-plotarea-vertical\n * Vertically scrollable plot area\n * @sample {gantt} highcharts/chart/scrollable-plotarea-vertical\n * Gantt chart with vertically scrollable plot area\n *\n * @since 6.1.0\n * @product highcharts gantt\n * @apioption chart.scrollablePlotArea\n */\n /**\n * The minimum height for the plot area. If it gets smaller than this, the plot\n * area will become scrollable.\n *\n * @type {number}\n * @apioption chart.scrollablePlotArea.minHeight\n */\n /**\n * The minimum width for the plot area. If it gets smaller than this, the plot\n * area will become scrollable.\n *\n * @type {number}\n * @apioption chart.scrollablePlotArea.minWidth\n */\n /**\n * The initial scrolling position of the scrollable plot area. Ranges from 0 to\n * 1, where 0 aligns the plot area to the left and 1 aligns it to the right.\n * Typically we would use 1 if the chart has right aligned Y axes.\n *\n * @type {number}\n * @apioption chart.scrollablePlotArea.scrollPositionX\n */\n /**\n * The initial scrolling position of the scrollable plot area. Ranges from 0 to\n * 1, where 0 aligns the plot area to the top and 1 aligns it to the bottom.\n *\n * @type {number}\n * @apioption chart.scrollablePlotArea.scrollPositionY\n */\n /**\n * The opacity of mask applied on one of the sides of the plot\n * area.\n *\n * @sample {highcharts} highcharts/chart/scrollable-plotarea-opacity\n * Disabled opacity for the mask\n *\n * @type {number}\n * @default 0.85\n * @since 7.1.1\n * @apioption chart.scrollablePlotArea.opacity\n */\n ''; // detach API doclets\n /* eslint-disable no-invalid-this, valid-jsdoc */\n addEvent(Chart, 'afterSetChartSize', function (e) {\n var scrollablePlotArea = this.options.chart.scrollablePlotArea,\n scrollableMinWidth = scrollablePlotArea && scrollablePlotArea.minWidth,\n scrollableMinHeight = scrollablePlotArea && scrollablePlotArea.minHeight,\n scrollablePixelsX,\n scrollablePixelsY,\n corrections;\n if (!this.renderer.forExport) {\n // The amount of pixels to scroll, the difference between chart\n // width and scrollable width\n if (scrollableMinWidth) {\n this.scrollablePixelsX = scrollablePixelsX = Math.max(0, scrollableMinWidth - this.chartWidth);\n if (scrollablePixelsX) {\n this.plotWidth += scrollablePixelsX;\n if (this.inverted) {\n this.clipBox.height += scrollablePixelsX;\n this.plotBox.height += scrollablePixelsX;\n }\n else {\n this.clipBox.width += scrollablePixelsX;\n this.plotBox.width += scrollablePixelsX;\n }\n corrections = {\n // Corrections for right side\n 1: { name: 'right', value: scrollablePixelsX }\n };\n }\n // Currently we can only do either X or Y\n }\n else if (scrollableMinHeight) {\n this.scrollablePixelsY = scrollablePixelsY = Math.max(0, scrollableMinHeight - this.chartHeight);\n if (scrollablePixelsY) {\n this.plotHeight += scrollablePixelsY;\n if (this.inverted) {\n this.clipBox.width += scrollablePixelsY;\n this.plotBox.width += scrollablePixelsY;\n }\n else {\n this.clipBox.height += scrollablePixelsY;\n this.plotBox.height += scrollablePixelsY;\n }\n corrections = {\n 2: { name: 'bottom', value: scrollablePixelsY }\n };\n }\n }\n if (corrections && !e.skipAxes) {\n this.axes.forEach(function (axis) {\n // For right and bottom axes, only fix the plot line length\n if (corrections[axis.side]) {\n // Get the plot lines right in getPlotLinePath,\n // temporarily set it to the adjusted plot width.\n axis.getPlotLinePath = function () {\n var marginName = corrections[axis.side].name,\n correctionValue = corrections[axis.side].value, \n // axis.right or axis.bottom\n margin = this[marginName],\n path;\n // Temporarily adjust\n this[marginName] = margin - correctionValue;\n path = H.Axis.prototype.getPlotLinePath.apply(this, arguments);\n // Reset\n this[marginName] = margin;\n return path;\n };\n }\n else {\n // Apply the corrected plotWidth\n axis.setAxisSize();\n axis.setAxisTranslation();\n }\n });\n }\n }\n });\n addEvent(Chart, 'render', function () {\n if (this.scrollablePixelsX || this.scrollablePixelsY) {\n if (this.setUpScrolling) {\n this.setUpScrolling();\n }\n this.applyFixed();\n }\n else if (this.fixedDiv) { // Has been in scrollable mode\n this.applyFixed();\n }\n });\n /**\n * @private\n * @function Highcharts.Chart#setUpScrolling\n * @return {void}\n */\n Chart.prototype.setUpScrolling = function () {\n var _this = this;\n var attribs = {\n WebkitOverflowScrolling: 'touch',\n overflowX: 'hidden',\n overflowY: 'hidden'\n };\n if (this.scrollablePixelsX) {\n attribs.overflowX = 'auto';\n }\n if (this.scrollablePixelsY) {\n attribs.overflowY = 'auto';\n }\n // Insert a container with position relative\n // that scrolling and fixed container renders to (#10555)\n this.scrollingParent = createElement('div', {\n className: 'highcharts-scrolling-parent'\n }, {\n position: 'relative'\n }, this.renderTo);\n // Add the necessary divs to provide scrolling\n this.scrollingContainer = createElement('div', {\n 'className': 'highcharts-scrolling'\n }, attribs, this.scrollingParent);\n // On scroll, reset the chart position because it applies to the scrolled\n // container\n addEvent(this.scrollingContainer, 'scroll', function () {\n if (_this.pointer) {\n delete _this.pointer.chartPosition;\n }\n });\n this.innerContainer = createElement('div', {\n 'className': 'highcharts-inner-container'\n }, null, this.scrollingContainer);\n // Now move the container inside\n this.innerContainer.appendChild(this.container);\n // Don't run again\n this.setUpScrolling = null;\n };\n /**\n * These elements are moved over to the fixed renderer and stay fixed when the\n * user scrolls the chart\n * @private\n */\n Chart.prototype.moveFixedElements = function () {\n var container = this.container,\n fixedRenderer = this.fixedRenderer,\n fixedSelectors = [\n '.highcharts-contextbutton',\n '.highcharts-credits',\n '.highcharts-legend',\n '.highcharts-legend-checkbox',\n '.highcharts-navigator-series',\n '.highcharts-navigator-xaxis',\n '.highcharts-navigator-yaxis',\n '.highcharts-navigator',\n '.highcharts-reset-zoom',\n '.highcharts-scrollbar',\n '.highcharts-subtitle',\n '.highcharts-title'\n ],\n axisClass;\n if (this.scrollablePixelsX && !this.inverted) {\n axisClass = '.highcharts-yaxis';\n }\n else if (this.scrollablePixelsX && this.inverted) {\n axisClass = '.highcharts-xaxis';\n }\n else if (this.scrollablePixelsY && !this.inverted) {\n axisClass = '.highcharts-xaxis';\n }\n else if (this.scrollablePixelsY && this.inverted) {\n axisClass = '.highcharts-yaxis';\n }\n fixedSelectors.push(axisClass, axisClass + '-labels');\n fixedSelectors.forEach(function (className) {\n [].forEach.call(container.querySelectorAll(className), function (elem) {\n (elem.namespaceURI === fixedRenderer.SVG_NS ?\n fixedRenderer.box :\n fixedRenderer.box.parentNode).appendChild(elem);\n elem.style.pointerEvents = 'auto';\n });\n });\n };\n /**\n * @private\n * @function Highcharts.Chart#applyFixed\n * @return {void}\n */\n Chart.prototype.applyFixed = function () {\n var _a,\n _b;\n var fixedRenderer,\n scrollableWidth,\n scrollableHeight,\n firstTime = !this.fixedDiv,\n scrollableOptions = this.options.chart.scrollablePlotArea;\n // First render\n if (firstTime) {\n this.fixedDiv = createElement('div', {\n className: 'highcharts-fixed'\n }, {\n position: 'absolute',\n overflow: 'hidden',\n pointerEvents: 'none',\n zIndex: 2,\n top: 0\n }, null, true);\n (_a = this.scrollingContainer) === null || _a === void 0 ? void 0 : _a.parentNode.insertBefore(this.fixedDiv, this.scrollingContainer);\n this.renderTo.style.overflow = 'visible';\n this.fixedRenderer = fixedRenderer = new H.Renderer(this.fixedDiv, this.chartWidth, this.chartHeight, (_b = this.options.chart) === null || _b === void 0 ? void 0 : _b.style);\n // Mask\n this.scrollableMask = fixedRenderer\n .path()\n .attr({\n fill: this.options.chart.backgroundColor || '#fff',\n 'fill-opacity': pick(scrollableOptions.opacity, 0.85),\n zIndex: -1\n })\n .addClass('highcharts-scrollable-mask')\n .add();\n this.moveFixedElements();\n addEvent(this, 'afterShowResetZoom', this.moveFixedElements);\n addEvent(this, 'afterLayOutTitles', this.moveFixedElements);\n }\n else {\n // Set the size of the fixed renderer to the visible width\n this.fixedRenderer.setSize(this.chartWidth, this.chartHeight);\n }\n // Increase the size of the scrollable renderer and background\n scrollableWidth = this.chartWidth + (this.scrollablePixelsX || 0);\n scrollableHeight = this.chartHeight + (this.scrollablePixelsY || 0);\n stop(this.container);\n this.container.style.width = scrollableWidth + 'px';\n this.container.style.height = scrollableHeight + 'px';\n this.renderer.boxWrapper.attr({\n width: scrollableWidth,\n height: scrollableHeight,\n viewBox: [0, 0, scrollableWidth, scrollableHeight].join(' ')\n });\n this.chartBackground.attr({\n width: scrollableWidth,\n height: scrollableHeight\n });\n this.scrollingContainer.style.height = this.chartHeight + 'px';\n // Set scroll position\n if (firstTime) {\n if (scrollableOptions.scrollPositionX) {\n this.scrollingContainer.scrollLeft =\n this.scrollablePixelsX *\n scrollableOptions.scrollPositionX;\n }\n if (scrollableOptions.scrollPositionY) {\n this.scrollingContainer.scrollTop =\n this.scrollablePixelsY *\n scrollableOptions.scrollPositionY;\n }\n }\n // Mask behind the left and right side\n var axisOffset = this.axisOffset,\n maskTop = this.plotTop - axisOffset[0] - 1,\n maskLeft = this.plotLeft - axisOffset[3] - 1,\n maskBottom = this.plotTop + this.plotHeight + axisOffset[2] + 1,\n maskRight = this.plotLeft + this.plotWidth + axisOffset[1] + 1,\n maskPlotRight = this.plotLeft + this.plotWidth -\n (this.scrollablePixelsX || 0),\n maskPlotBottom = this.plotTop + this.plotHeight -\n (this.scrollablePixelsY || 0),\n d;\n if (this.scrollablePixelsX) {\n d = [\n // Left side\n ['M', 0, maskTop],\n ['L', this.plotLeft - 1, maskTop],\n ['L', this.plotLeft - 1, maskBottom],\n ['L', 0, maskBottom],\n ['Z'],\n // Right side\n ['M', maskPlotRight, maskTop],\n ['L', this.chartWidth, maskTop],\n ['L', this.chartWidth, maskBottom],\n ['L', maskPlotRight, maskBottom],\n ['Z']\n ];\n }\n else if (this.scrollablePixelsY) {\n d = [\n // Top side\n ['M', maskLeft, 0],\n ['L', maskLeft, this.plotTop - 1],\n ['L', maskRight, this.plotTop - 1],\n ['L', maskRight, 0],\n ['Z'],\n // Bottom side\n ['M', maskLeft, maskPlotBottom],\n ['L', maskLeft, this.chartHeight],\n ['L', maskRight, this.chartHeight],\n ['L', maskRight, maskPlotBottom],\n ['Z']\n ];\n }\n else {\n d = [['M', 0, 0]];\n }\n if (this.redrawTrigger !== 'adjustHeight') {\n this.scrollableMask.attr({ d: d });\n }\n };\n\n });\n _registerModule(_modules, 'Core/Axis/StackingAxis.js', [_modules['Core/Animation/AnimationUtilities.js'], _modules['Core/Utilities.js']], function (A, U) {\n /* *\n *\n * (c) 2010-2020 Torstein Honsi\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n var getDeferredAnimation = A.getDeferredAnimation;\n var addEvent = U.addEvent,\n destroyObjectProperties = U.destroyObjectProperties,\n fireEvent = U.fireEvent,\n objectEach = U.objectEach,\n pick = U.pick;\n /* eslint-disable valid-jsdoc */\n /**\n * Adds stacking support to axes.\n * @private\n * @class\n */\n var StackingAxisAdditions = /** @class */ (function () {\n /* *\n *\n * Constructors\n *\n * */\n function StackingAxisAdditions(axis) {\n this.oldStacks = {};\n this.stacks = {};\n this.stacksTouched = 0;\n this.axis = axis;\n }\n /* *\n *\n * Functions\n *\n * */\n /**\n * Build the stacks from top down\n * @private\n */\n StackingAxisAdditions.prototype.buildStacks = function () {\n var stacking = this;\n var axis = stacking.axis;\n var axisSeries = axis.series;\n var reversedStacks = pick(axis.options.reversedStacks,\n true);\n var len = axisSeries.length;\n var actualSeries,\n i;\n if (!axis.isXAxis) {\n stacking.usePercentage = false;\n i = len;\n while (i--) {\n actualSeries = axisSeries[reversedStacks ? i : len - i - 1];\n actualSeries.setStackedPoints();\n actualSeries.setGroupedPoints();\n }\n // Loop up again to compute percent and stream stack\n for (i = 0; i < len; i++) {\n axisSeries[i].modifyStacks();\n }\n fireEvent(axis, 'afterBuildStacks');\n }\n };\n /**\n * @private\n */\n StackingAxisAdditions.prototype.cleanStacks = function () {\n var stacking = this;\n var axis = stacking.axis;\n var stacks;\n if (!axis.isXAxis) {\n if (stacking.oldStacks) {\n stacks = stacking.stacks = stacking.oldStacks;\n }\n // reset stacks\n objectEach(stacks, function (type) {\n objectEach(type, function (stack) {\n stack.cumulative = stack.total;\n });\n });\n }\n };\n /**\n * Set all the stacks to initial states and destroy unused ones.\n * @private\n */\n StackingAxisAdditions.prototype.resetStacks = function () {\n var stacking = this;\n var axis = stacking.axis;\n var stacks = stacking.stacks;\n if (!axis.isXAxis) {\n objectEach(stacks, function (type) {\n objectEach(type, function (stack, key) {\n // Clean up memory after point deletion (#1044, #4320)\n if (stack.touched < stacking.stacksTouched) {\n stack.destroy();\n delete type[key];\n // Reset stacks\n }\n else {\n stack.total = null;\n stack.cumulative = null;\n }\n });\n });\n }\n };\n /**\n * @private\n */\n StackingAxisAdditions.prototype.renderStackTotals = function () {\n var stacking = this;\n var axis = stacking.axis;\n var chart = axis.chart;\n var renderer = chart.renderer;\n var stacks = stacking.stacks;\n var stackLabelsAnim = axis.options.stackLabels.animation;\n var animationConfig = getDeferredAnimation(chart,\n stackLabelsAnim);\n var stackTotalGroup = stacking.stackTotalGroup = (stacking.stackTotalGroup ||\n renderer\n .g('stack-labels')\n .attr({\n visibility: 'visible',\n zIndex: 6,\n opacity: 0\n })\n .add());\n // plotLeft/Top will change when y axis gets wider so we need to\n // translate the stackTotalGroup at every render call. See bug #506\n // and #516\n stackTotalGroup.translate(chart.plotLeft, chart.plotTop);\n // Render each stack total\n objectEach(stacks, function (type) {\n objectEach(type, function (stack) {\n stack.render(stackTotalGroup);\n });\n });\n stackTotalGroup.animate({\n opacity: 1\n }, animationConfig);\n };\n return StackingAxisAdditions;\n }());\n /**\n * Axis with stacking support.\n * @private\n * @class\n */\n var StackingAxis = /** @class */ (function () {\n function StackingAxis() {\n }\n /* *\n *\n * Static Functions\n *\n * */\n /**\n * Extends axis with stacking support.\n * @private\n */\n StackingAxis.compose = function (AxisClass) {\n var axisProto = AxisClass.prototype;\n addEvent(AxisClass, 'init', StackingAxis.onInit);\n addEvent(AxisClass, 'destroy', StackingAxis.onDestroy);\n };\n /**\n * @private\n */\n StackingAxis.onDestroy = function () {\n var stacking = this.stacking;\n if (!stacking) {\n return;\n }\n var stacks = stacking.stacks;\n // Destroy each stack total\n objectEach(stacks, function (stack, stackKey) {\n destroyObjectProperties(stack);\n stacks[stackKey] = null;\n });\n if (stacking &&\n stacking.stackTotalGroup) {\n stacking.stackTotalGroup.destroy();\n }\n };\n /**\n * @private\n */\n StackingAxis.onInit = function () {\n var axis = this;\n if (!axis.stacking) {\n axis.stacking = new StackingAxisAdditions(axis);\n }\n };\n return StackingAxis;\n }());\n\n return StackingAxis;\n });\n _registerModule(_modules, 'Mixins/LegendSymbol.js', [_modules['Core/Globals.js'], _modules['Core/Utilities.js']], function (H, U) {\n /* *\n *\n * (c) 2010-2020 Torstein Honsi\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n var merge = U.merge,\n pick = U.pick;\n /* eslint-disable valid-jsdoc */\n /**\n * Legend symbol mixin.\n *\n * @private\n * @mixin Highcharts.LegendSymbolMixin\n */\n var LegendSymbolMixin = H.LegendSymbolMixin = {\n /**\n * Get the series' symbol in the legend\n *\n * @private\n * @function Highcharts.LegendSymbolMixin.drawRectangle\n *\n * @param {Highcharts.Legend} legend\n * The legend object\n *\n * @param {Highcharts.Point|Highcharts.Series} item\n * The series (this) or point\n */\n drawRectangle: function (legend,\n item) {\n var options = legend.options,\n symbolHeight = legend.symbolHeight,\n square = options.squareSymbol,\n symbolWidth = square ? symbolHeight : legend.symbolWidth;\n item.legendSymbol = this.chart.renderer.rect(square ? (legend.symbolWidth - symbolHeight) / 2 : 0, legend.baseline - symbolHeight + 1, // #3988\n symbolWidth, symbolHeight, pick(legend.options.symbolRadius, symbolHeight / 2))\n .addClass('highcharts-point')\n .attr({\n zIndex: 3\n }).add(item.legendGroup);\n },\n /**\n * Get the series' symbol in the legend. This method should be overridable\n * to create custom symbols through\n * Highcharts.seriesTypes[type].prototype.drawLegendSymbols.\n *\n * @private\n * @function Highcharts.LegendSymbolMixin.drawLineMarker\n *\n * @param {Highcharts.Legend} legend\n * The legend object.\n */\n drawLineMarker: function (legend) {\n var options = this.options,\n markerOptions = options.marker,\n radius,\n legendSymbol,\n symbolWidth = legend.symbolWidth,\n symbolHeight = legend.symbolHeight,\n generalRadius = symbolHeight / 2,\n renderer = this.chart.renderer,\n legendItemGroup = this.legendGroup,\n verticalCenter = legend.baseline -\n Math.round(legend.fontMetrics.b * 0.3),\n attr = {};\n // Draw the line\n if (!this.chart.styledMode) {\n attr = {\n 'stroke-width': options.lineWidth || 0\n };\n if (options.dashStyle) {\n attr.dashstyle = options.dashStyle;\n }\n }\n this.legendLine = renderer\n .path([\n ['M', 0, verticalCenter],\n ['L', symbolWidth, verticalCenter]\n ])\n .addClass('highcharts-graph')\n .attr(attr)\n .add(legendItemGroup);\n // Draw the marker\n if (markerOptions && markerOptions.enabled !== false && symbolWidth) {\n // Do not allow the marker to be larger than the symbolHeight\n radius = Math.min(pick(markerOptions.radius, generalRadius), generalRadius);\n // Restrict symbol markers size\n if (this.symbol.indexOf('url') === 0) {\n markerOptions = merge(markerOptions, {\n width: symbolHeight,\n height: symbolHeight\n });\n radius = 0;\n }\n this.legendSymbol = legendSymbol = renderer.symbol(this.symbol, (symbolWidth / 2) - radius, verticalCenter - radius, 2 * radius, 2 * radius, markerOptions)\n .addClass('highcharts-point')\n .add(legendItemGroup);\n legendSymbol.isMarker = true;\n }\n }\n };\n\n return LegendSymbolMixin;\n });\n _registerModule(_modules, 'Core/Series/CartesianSeries.js', [_modules['Core/Animation/AnimationUtilities.js'], _modules['Core/Series/Series.js'], _modules['Core/Globals.js'], _modules['Mixins/LegendSymbol.js'], _modules['Core/Options.js'], _modules['Core/Series/Point.js'], _modules['Core/Renderer/SVG/SVGElement.js'], _modules['Core/Utilities.js']], function (A, BaseSeries, H, LegendSymbolMixin, O, Point, SVGElement, U) {\n /* *\n *\n * (c) 2010-2020 Torstein Honsi\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n var animObject = A.animObject;\n var defaultOptions = O.defaultOptions;\n var addEvent = U.addEvent,\n arrayMax = U.arrayMax,\n arrayMin = U.arrayMin,\n clamp = U.clamp,\n correctFloat = U.correctFloat,\n defined = U.defined,\n erase = U.erase,\n error = U.error,\n extend = U.extend,\n find = U.find,\n fireEvent = U.fireEvent,\n getNestedProperty = U.getNestedProperty,\n isArray = U.isArray,\n isFunction = U.isFunction,\n isNumber = U.isNumber,\n isString = U.isString,\n merge = U.merge,\n objectEach = U.objectEach,\n pick = U.pick,\n removeEvent = U.removeEvent,\n splat = U.splat,\n syncTimeout = U.syncTimeout;\n /**\n * This is a placeholder type of the possible series options for\n * [Highcharts](../highcharts/series), [Highstock](../highstock/series),\n * [Highmaps](../highmaps/series), and [Gantt](../gantt/series).\n *\n * In TypeScript is this dynamically generated to reference all possible types\n * of series options.\n *\n * @ignore-declaration\n * @typedef {Highcharts.SeriesOptions|Highcharts.Dictionary<*>} Highcharts.SeriesOptionsType\n */\n /**\n * Options for `dataSorting`.\n *\n * @interface Highcharts.DataSortingOptionsObject\n * @since 8.0.0\n */ /**\n * Enable or disable data sorting for the series.\n * @name Highcharts.DataSortingOptionsObject#enabled\n * @type {boolean|undefined}\n */ /**\n * Whether to allow matching points by name in an update.\n * @name Highcharts.DataSortingOptionsObject#matchByName\n * @type {boolean|undefined}\n */ /**\n * Determines what data value should be used to sort by.\n * @name Highcharts.DataSortingOptionsObject#sortKey\n * @type {string|undefined}\n */\n /**\n * Function callback when a series has been animated.\n *\n * @callback Highcharts.SeriesAfterAnimateCallbackFunction\n *\n * @param {Highcharts.Series} this\n * The series where the event occured.\n *\n * @param {Highcharts.SeriesAfterAnimateEventObject} event\n * Event arguments.\n */\n /**\n * Event information regarding completed animation of a series.\n *\n * @interface Highcharts.SeriesAfterAnimateEventObject\n */ /**\n * Animated series.\n * @name Highcharts.SeriesAfterAnimateEventObject#target\n * @type {Highcharts.Series}\n */ /**\n * Event type.\n * @name Highcharts.SeriesAfterAnimateEventObject#type\n * @type {\"afterAnimate\"}\n */\n /**\n * Function callback when the checkbox next to the series' name in the legend is\n * clicked.\n *\n * @callback Highcharts.SeriesCheckboxClickCallbackFunction\n *\n * @param {Highcharts.Series} this\n * The series where the event occured.\n *\n * @param {Highcharts.SeriesCheckboxClickEventObject} event\n * Event arguments.\n */\n /**\n * Event information regarding check of a series box.\n *\n * @interface Highcharts.SeriesCheckboxClickEventObject\n */ /**\n * Whether the box has been checked.\n * @name Highcharts.SeriesCheckboxClickEventObject#checked\n * @type {boolean}\n */ /**\n * Related series.\n * @name Highcharts.SeriesCheckboxClickEventObject#item\n * @type {Highcharts.Series}\n */ /**\n * Related series.\n * @name Highcharts.SeriesCheckboxClickEventObject#target\n * @type {Highcharts.Series}\n */ /**\n * Event type.\n * @name Highcharts.SeriesCheckboxClickEventObject#type\n * @type {\"checkboxClick\"}\n */\n /**\n * Function callback when a series is clicked. Return false to cancel toogle\n * actions.\n *\n * @callback Highcharts.SeriesClickCallbackFunction\n *\n * @param {Highcharts.Series} this\n * The series where the event occured.\n *\n * @param {Highcharts.SeriesClickEventObject} event\n * Event arguments.\n */\n /**\n * Common information for a click event on a series.\n *\n * @interface Highcharts.SeriesClickEventObject\n * @extends global.Event\n */ /**\n * Nearest point on the graph.\n * @name Highcharts.SeriesClickEventObject#point\n * @type {Highcharts.Point}\n */\n /**\n * Gets fired when the series is hidden after chart generation time, either by\n * clicking the legend item or by calling `.hide()`.\n *\n * @callback Highcharts.SeriesHideCallbackFunction\n *\n * @param {Highcharts.Series} this\n * The series where the event occured.\n *\n * @param {global.Event} event\n * The event that occured.\n */\n /**\n * The SVG value used for the `stroke-linecap` and `stroke-linejoin` of a line\n * graph.\n *\n * @typedef {\"butt\"|\"round\"|\"square\"|string} Highcharts.SeriesLinecapValue\n */\n /**\n * Gets fired when the legend item belonging to the series is clicked. The\n * default action is to toggle the visibility of the series. This can be\n * prevented by returning `false` or calling `event.preventDefault()`.\n *\n * @callback Highcharts.SeriesLegendItemClickCallbackFunction\n *\n * @param {Highcharts.Series} this\n * The series where the event occured.\n *\n * @param {Highcharts.SeriesLegendItemClickEventObject} event\n * The event that occured.\n */\n /**\n * Information about the event.\n *\n * @interface Highcharts.SeriesLegendItemClickEventObject\n */ /**\n * Related browser event.\n * @name Highcharts.SeriesLegendItemClickEventObject#browserEvent\n * @type {global.PointerEvent}\n */ /**\n * Prevent the default action of toggle the visibility of the series.\n * @name Highcharts.SeriesLegendItemClickEventObject#preventDefault\n * @type {Function}\n */ /**\n * Related series.\n * @name Highcharts.SeriesCheckboxClickEventObject#target\n * @type {Highcharts.Series}\n */ /**\n * Event type.\n * @name Highcharts.SeriesCheckboxClickEventObject#type\n * @type {\"checkboxClick\"}\n */\n /**\n * Gets fired when the mouse leaves the graph.\n *\n * @callback Highcharts.SeriesMouseOutCallbackFunction\n *\n * @param {Highcharts.Series} this\n * Series where the event occured.\n *\n * @param {global.PointerEvent} event\n * Event that occured.\n */\n /**\n * Gets fired when the mouse enters the graph.\n *\n * @callback Highcharts.SeriesMouseOverCallbackFunction\n *\n * @param {Highcharts.Series} this\n * Series where the event occured.\n *\n * @param {global.PointerEvent} event\n * Event that occured.\n */\n /**\n * Translation and scale for the plot area of a series.\n *\n * @interface Highcharts.SeriesPlotBoxObject\n */ /**\n * @name Highcharts.SeriesPlotBoxObject#scaleX\n * @type {number}\n */ /**\n * @name Highcharts.SeriesPlotBoxObject#scaleY\n * @type {number}\n */ /**\n * @name Highcharts.SeriesPlotBoxObject#translateX\n * @type {number}\n */ /**\n * @name Highcharts.SeriesPlotBoxObject#translateY\n * @type {number}\n */\n /**\n * Gets fired when the series is shown after chart generation time, either by\n * clicking the legend item or by calling `.show()`.\n *\n * @callback Highcharts.SeriesShowCallbackFunction\n *\n * @param {Highcharts.Series} this\n * Series where the event occured.\n *\n * @param {global.Event} event\n * Event that occured.\n */\n /**\n * Possible key values for the series state options.\n *\n * @typedef {\"hover\"|\"inactive\"|\"normal\"|\"select\"} Highcharts.SeriesStateValue\n */\n ''; // detach doclets above\n var seriesTypes = BaseSeries.seriesTypes,\n win = H.win;\n /**\n * This is the base series prototype that all other series types inherit from.\n * A new series is initialized either through the\n * [series](https://api.highcharts.com/highcharts/series)\n * option structure, or after the chart is initialized, through\n * {@link Highcharts.Chart#addSeries}.\n *\n * The object can be accessed in a number of ways. All series and point event\n * handlers give a reference to the `series` object. The chart object has a\n * {@link Highcharts.Chart#series|series} property that is a collection of all\n * the chart's series. The point objects and axis objects also have the same\n * reference.\n *\n * Another way to reference the series programmatically is by `id`. Add an id\n * in the series configuration options, and get the series object by\n * {@link Highcharts.Chart#get}.\n *\n * Configuration options for the series are given in three levels. Options for\n * all series in a chart are given in the\n * [plotOptions.series](https://api.highcharts.com/highcharts/plotOptions.series)\n * object. Then options for all series of a specific type\n * are given in the plotOptions of that type, for example `plotOptions.line`.\n * Next, options for one single series are given in the series array, or as\n * arguments to `chart.addSeries`.\n *\n * The data in the series is stored in various arrays.\n *\n * - First, `series.options.data` contains all the original config options for\n * each point whether added by options or methods like `series.addPoint`.\n *\n * - Next, `series.data` contains those values converted to points, but in case\n * the series data length exceeds the `cropThreshold`, or if the data is\n * grouped, `series.data` doesn't contain all the points. It only contains the\n * points that have been created on demand.\n *\n * - Then there's `series.points` that contains all currently visible point\n * objects. In case of cropping, the cropped-away points are not part of this\n * array. The `series.points` array starts at `series.cropStart` compared to\n * `series.data` and `series.options.data`. If however the series data is\n * grouped, these can't be correlated one to one.\n *\n * - `series.xData` and `series.processedXData` contain clean x values,\n * equivalent to `series.data` and `series.points`.\n *\n * - `series.yData` and `series.processedYData` contain clean y values,\n * equivalent to `series.data` and `series.points`.\n *\n * @class\n * @name Highcharts.Series\n *\n * @param {Highcharts.Chart} chart\n * The chart instance.\n *\n * @param {Highcharts.SeriesOptionsType|object} options\n * The series options.\n */ /**\n * The line series is the base type and is therefor the series base prototype.\n *\n * @private\n * @class\n * @name Highcharts.seriesTypes.line\n *\n * @augments Highcharts.Series\n */\n var CartesianSeries = BaseSeries.seriesType('line', \n /**\n * Series options for specific data and the data itself. In TypeScript you\n * have to cast the series options to specific series types,\n to get all\n * possible options for a series.\n *\n * @example\n * // TypeScript example\n * Highcharts.chart('container', {\n * series: [{\n * color: '#06C',\n * data: [[0, 1],\n [2, 3]]\n * } as Highcharts.SeriesLineOptions ]\n * });\n *\n * @type {Array<*>}\n * @apioption series\n */\n /**\n * An id for the series. This can be used after render time to get a pointer\n * to the series object through `chart.get()`.\n *\n * @sample {highcharts} highcharts/plotoptions/series-id/\n * Get series by id\n *\n * @type {string}\n * @since 1.2.0\n * @apioption series.id\n */\n /**\n * The index of the series in the chart, affecting the internal index in the\n * `chart.series` array, the visible Z index as well as the order in the\n * legend.\n *\n * @type {number}\n * @since 2.3.0\n * @apioption series.index\n */\n /**\n * The sequential index of the series in the legend.\n *\n * @see [legend.reversed](#legend.reversed),\n * [yAxis.reversedStacks](#yAxis.reversedStacks)\n *\n * @sample {highcharts|highstock} highcharts/series/legendindex/\n * Legend in opposite order\n *\n * @type {number}\n * @apioption series.legendIndex\n */\n /**\n * The name of the series as shown in the legend, tooltip etc.\n *\n * @sample {highcharts} highcharts/series/name/\n * Series name\n * @sample {highmaps} maps/demo/category-map/\n * Series name\n *\n * @type {string}\n * @apioption series.name\n */\n /**\n * This option allows grouping series in a stacked chart. The stack option\n * can be a string or anything else, as long as the grouped series' stack\n * options match each other after conversion into a string.\n *\n * @sample {highcharts} highcharts/series/stack/\n * Stacked and grouped columns\n *\n * @type {number|string}\n * @since 2.1\n * @product highcharts highstock\n * @apioption series.stack\n */\n /**\n * The type of series, for example `line` or `column`. By default, the\n * series type is inherited from [chart.type](#chart.type), so unless the\n * chart is a combination of series types, there is no need to set it on the\n * series level.\n *\n * @sample {highcharts} highcharts/series/type/\n * Line and column in the same chart\n * @sample highcharts/series/type-dynamic/\n * Dynamic types with button selector\n * @sample {highmaps} maps/demo/mapline-mappoint/\n * Multiple types in the same map\n *\n * @type {string}\n * @apioption series.type\n */\n /**\n * When using dual or multiple x axes, this number defines which xAxis the\n * particular series is connected to. It refers to either the\n * {@link #xAxis.id|axis id}\n * or the index of the axis in the xAxis array, with 0 being the first.\n *\n * @type {number|string}\n * @default 0\n * @product highcharts highstock\n * @apioption series.xAxis\n */\n /**\n * When using dual or multiple y axes, this number defines which yAxis the\n * particular series is connected to. It refers to either the\n * {@link #yAxis.id|axis id}\n * or the index of the axis in the yAxis array, with 0 being the first.\n *\n * @sample {highcharts} highcharts/series/yaxis/\n * Apply the column series to the secondary Y axis\n *\n * @type {number|string}\n * @default 0\n * @product highcharts highstock\n * @apioption series.yAxis\n */\n /**\n * Define the visual z index of the series.\n *\n * @sample {highcharts} highcharts/plotoptions/series-zindex-default/\n * With no z index, the series defined last are on top\n * @sample {highcharts} highcharts/plotoptions/series-zindex/\n * With a z index, the series with the highest z index is on top\n * @sample {highstock} highcharts/plotoptions/series-zindex-default/\n * With no z index, the series defined last are on top\n * @sample {highstock} highcharts/plotoptions/series-zindex/\n * With a z index, the series with the highest z index is on top\n *\n * @type {number}\n * @product highcharts highstock\n * @apioption series.zIndex\n */\n void 0, \n /**\n * General options for all series types.\n *\n * @optionparent plotOptions.series\n */\n {\n /**\n * The SVG value used for the `stroke-linecap` and `stroke-linejoin`\n * of a line graph. Round means that lines are rounded in the ends and\n * bends.\n *\n * @type {Highcharts.SeriesLinecapValue}\n * @default round\n * @since 3.0.7\n * @apioption plotOptions.line.linecap\n */\n /**\n * Pixel width of the graph line.\n *\n * @see In styled mode, the line stroke-width can be set with the\n * `.highcharts-graph` class name.\n *\n * @sample {highcharts} highcharts/plotoptions/series-linewidth-general/\n * On all series\n * @sample {highcharts} highcharts/plotoptions/series-linewidth-specific/\n * On one single series\n *\n * @product highcharts highstock\n *\n * @private\n */\n lineWidth: 2,\n /**\n * For some series, there is a limit that shuts down initial animation\n * by default when the total number of points in the chart is too high.\n * For example, for a column chart and its derivatives, animation does\n * not run if there is more than 250 points totally. To disable this\n * cap, set `animationLimit` to `Infinity`.\n *\n * @type {number}\n * @apioption plotOptions.series.animationLimit\n */\n /**\n * Allow this series' points to be selected by clicking on the graphic\n * (columns, point markers, pie slices, map areas etc).\n *\n * The selected points can be handled by point select and unselect\n * events, or collectively by the [getSelectedPoints\n * ](/class-reference/Highcharts.Chart#getSelectedPoints) function.\n *\n * And alternative way of selecting points is through dragging.\n *\n * @sample {highcharts} highcharts/plotoptions/series-allowpointselect-line/\n * Line\n * @sample {highcharts} highcharts/plotoptions/series-allowpointselect-column/\n * Column\n * @sample {highcharts} highcharts/plotoptions/series-allowpointselect-pie/\n * Pie\n * @sample {highcharts} highcharts/chart/events-selection-points/\n * Select a range of points through a drag selection\n * @sample {highmaps} maps/plotoptions/series-allowpointselect/\n * Map area\n * @sample {highmaps} maps/plotoptions/mapbubble-allowpointselect/\n * Map bubble\n *\n * @since 1.2.0\n *\n * @private\n */\n allowPointSelect: false,\n /**\n * When true, each point or column edge is rounded to its nearest pixel\n * in order to render sharp on screen. In some cases, when there are a\n * lot of densely packed columns, this leads to visible difference\n * in column widths or distance between columns. In these cases,\n * setting `crisp` to `false` may look better, even though each column\n * is rendered blurry.\n *\n * @sample {highcharts} highcharts/plotoptions/column-crisp-false/\n * Crisp is false\n *\n * @since 5.0.10\n * @product highcharts highstock gantt\n *\n * @private\n */\n crisp: true,\n /**\n * If true, a checkbox is displayed next to the legend item to allow\n * selecting the series. The state of the checkbox is determined by\n * the `selected` option.\n *\n * @productdesc {highmaps}\n * Note that if a `colorAxis` is defined, the color axis is represented\n * in the legend, not the series.\n *\n * @sample {highcharts} highcharts/plotoptions/series-showcheckbox-true/\n * Show select box\n *\n * @since 1.2.0\n *\n * @private\n */\n showCheckbox: false,\n /**\n * Enable or disable the initial animation when a series is displayed.\n * The animation can also be set as a configuration object. Please\n * note that this option only applies to the initial animation of the\n * series itself. For other animations, see [chart.animation](\n * #chart.animation) and the animation parameter under the API methods.\n * The following properties are supported:\n *\n * - `defer`: The animation delay time in milliseconds.\n *\n * - `duration`: The duration of the animation in milliseconds.\n *\n * - `easing`: Can be a string reference to an easing function set on\n * the `Math` object or a function. See the _Custom easing function_\n * demo below.\n *\n * Due to poor performance, animation is disabled in old IE browsers\n * for several chart types.\n *\n * @sample {highcharts} highcharts/plotoptions/series-animation-disabled/\n * Animation disabled\n * @sample {highcharts} highcharts/plotoptions/series-animation-slower/\n * Slower animation\n * @sample {highcharts} highcharts/plotoptions/series-animation-easing/\n * Custom easing function\n * @sample {highstock} stock/plotoptions/animation-slower/\n * Slower animation\n * @sample {highstock} stock/plotoptions/animation-easing/\n * Custom easing function\n * @sample {highmaps} maps/plotoptions/series-animation-true/\n * Animation enabled on map series\n * @sample {highmaps} maps/plotoptions/mapbubble-animation-false/\n * Disabled on mapbubble series\n *\n * @type {boolean|Partial}\n * @default {highcharts} true\n * @default {highstock} true\n * @default {highmaps} false\n *\n * @private\n */\n animation: {\n /** @internal */\n duration: 1000\n },\n /**\n * @default 0\n * @type {number}\n * @since 8.2.0\n * @apioption plotOptions.series.animation.defer\n */\n /**\n * An additional class name to apply to the series' graphical elements.\n * This option does not replace default class names of the graphical\n * element.\n *\n * @type {string}\n * @since 5.0.0\n * @apioption plotOptions.series.className\n */\n /**\n * Disable this option to allow series rendering in the whole plotting\n * area.\n *\n * **Note:** Clipping should be always enabled when\n * [chart.zoomType](#chart.zoomType) is set\n *\n * @sample {highcharts} highcharts/plotoptions/series-clip/\n * Disabled clipping\n *\n * @default true\n * @type {boolean}\n * @since 3.0.0\n * @apioption plotOptions.series.clip\n */\n /**\n * The main color of the series. In line type series it applies to the\n * line and the point markers unless otherwise specified. In bar type\n * series it applies to the bars unless a color is specified per point.\n * The default value is pulled from the `options.colors` array.\n *\n * In styled mode, the color can be defined by the\n * [colorIndex](#plotOptions.series.colorIndex) option. Also, the series\n * color can be set with the `.highcharts-series`,\n * `.highcharts-color-{n}`, `.highcharts-{type}-series` or\n * `.highcharts-series-{n}` class, or individual classes given by the\n * `className` option.\n *\n * @productdesc {highmaps}\n * In maps, the series color is rarely used, as most choropleth maps use\n * the color to denote the value of each point. The series color can\n * however be used in a map with multiple series holding categorized\n * data.\n *\n * @sample {highcharts} highcharts/plotoptions/series-color-general/\n * General plot option\n * @sample {highcharts} highcharts/plotoptions/series-color-specific/\n * One specific series\n * @sample {highcharts} highcharts/plotoptions/series-color-area/\n * Area color\n * @sample {highcharts} highcharts/series/infographic/\n * Pattern fill\n * @sample {highmaps} maps/demo/category-map/\n * Category map by multiple series\n *\n * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}\n * @apioption plotOptions.series.color\n */\n /**\n * Styled mode only. A specific color index to use for the series, so\n * its graphic representations are given the class name\n * `highcharts-color-{n}`.\n *\n * @type {number}\n * @since 5.0.0\n * @apioption plotOptions.series.colorIndex\n */\n /**\n * Whether to connect a graph line across null points, or render a gap\n * between the two points on either side of the null.\n *\n * @sample {highcharts} highcharts/plotoptions/series-connectnulls-false/\n * False by default\n * @sample {highcharts} highcharts/plotoptions/series-connectnulls-true/\n * True\n *\n * @type {boolean}\n * @default false\n * @product highcharts highstock\n * @apioption plotOptions.series.connectNulls\n */\n /**\n * You can set the cursor to \"pointer\" if you have click events attached\n * to the series, to signal to the user that the points and lines can\n * be clicked.\n *\n * In styled mode, the series cursor can be set with the same classes\n * as listed under [series.color](#plotOptions.series.color).\n *\n * @sample {highcharts} highcharts/plotoptions/series-cursor-line/\n * On line graph\n * @sample {highcharts} highcharts/plotoptions/series-cursor-column/\n * On columns\n * @sample {highcharts} highcharts/plotoptions/series-cursor-scatter/\n * On scatter markers\n * @sample {highstock} stock/plotoptions/cursor/\n * Pointer on a line graph\n * @sample {highmaps} maps/plotoptions/series-allowpointselect/\n * Map area\n * @sample {highmaps} maps/plotoptions/mapbubble-allowpointselect/\n * Map bubble\n *\n * @type {string|Highcharts.CursorValue}\n * @apioption plotOptions.series.cursor\n */\n /**\n * A reserved subspace to store options and values for customized\n * functionality. Here you can add additional data for your own event\n * callbacks and formatter callbacks.\n *\n * @sample {highcharts} highcharts/point/custom/\n * Point and series with custom data\n *\n * @type {Highcharts.Dictionary<*>}\n * @apioption plotOptions.series.custom\n */\n /**\n * Name of the dash style to use for the graph, or for some series types\n * the outline of each shape.\n *\n * In styled mode, the\n * [stroke dash-array](https://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/highcharts/css/series-dashstyle/)\n * can be set with the same classes as listed under\n * [series.color](#plotOptions.series.color).\n *\n * @sample {highcharts} highcharts/plotoptions/series-dashstyle-all/\n * Possible values demonstrated\n * @sample {highcharts} highcharts/plotoptions/series-dashstyle/\n * Chart suitable for printing in black and white\n * @sample {highstock} highcharts/plotoptions/series-dashstyle-all/\n * Possible values demonstrated\n * @sample {highmaps} highcharts/plotoptions/series-dashstyle-all/\n * Possible values demonstrated\n * @sample {highmaps} maps/plotoptions/series-dashstyle/\n * Dotted borders on a map\n *\n * @type {Highcharts.DashStyleValue}\n * @default Solid\n * @since 2.1\n * @apioption plotOptions.series.dashStyle\n */\n /**\n * A description of the series to add to the screen reader information\n * about the series.\n *\n * @type {string}\n * @since 5.0.0\n * @requires modules/accessibility\n * @apioption plotOptions.series.description\n */\n /**\n * Options for the series data sorting.\n *\n * @type {Highcharts.DataSortingOptionsObject}\n * @since 8.0.0\n * @product highcharts highstock\n * @apioption plotOptions.series.dataSorting\n */\n /**\n * Enable or disable data sorting for the series. Use [xAxis.reversed](\n * #xAxis.reversed) to change the sorting order.\n *\n * @sample {highcharts} highcharts/datasorting/animation/\n * Data sorting in scatter-3d\n * @sample {highcharts} highcharts/datasorting/labels-animation/\n * Axis labels animation\n * @sample {highcharts} highcharts/datasorting/dependent-sorting/\n * Dependent series sorting\n * @sample {highcharts} highcharts/datasorting/independent-sorting/\n * Independent series sorting\n *\n * @type {boolean}\n * @since 8.0.0\n * @apioption plotOptions.series.dataSorting.enabled\n */\n /**\n * Whether to allow matching points by name in an update. If this option\n * is disabled, points will be matched by order.\n *\n * @sample {highcharts} highcharts/datasorting/match-by-name/\n * Enabled match by name\n *\n * @type {boolean}\n * @since 8.0.0\n * @apioption plotOptions.series.dataSorting.matchByName\n */\n /**\n * Determines what data value should be used to sort by.\n *\n * @sample {highcharts} highcharts/datasorting/sort-key/\n * Sort key as `z` value\n *\n * @type {string}\n * @since 8.0.0\n * @default y\n * @apioption plotOptions.series.dataSorting.sortKey\n */\n /**\n * Enable or disable the mouse tracking for a specific series. This\n * includes point tooltips and click events on graphs and points. For\n * large datasets it improves performance.\n *\n * @sample {highcharts} highcharts/plotoptions/series-enablemousetracking-false/\n * No mouse tracking\n * @sample {highmaps} maps/plotoptions/series-enablemousetracking-false/\n * No mouse tracking\n *\n * @type {boolean}\n * @default true\n * @apioption plotOptions.series.enableMouseTracking\n */\n /**\n * Whether to use the Y extremes of the total chart width or only the\n * zoomed area when zooming in on parts of the X axis. By default, the\n * Y axis adjusts to the min and max of the visible data. Cartesian\n * series only.\n *\n * @type {boolean}\n * @default false\n * @since 4.1.6\n * @product highcharts highstock gantt\n * @apioption plotOptions.series.getExtremesFromAll\n */\n /**\n * An array specifying which option maps to which key in the data point\n * array. This makes it convenient to work with unstructured data arrays\n * from different sources.\n *\n * @see [series.data](#series.line.data)\n *\n * @sample {highcharts|highstock} highcharts/series/data-keys/\n * An extended data array with keys\n * @sample {highcharts|highstock} highcharts/series/data-nested-keys/\n * Nested keys used to access object properties\n *\n * @type {Array}\n * @since 4.1.6\n * @apioption plotOptions.series.keys\n */\n /**\n * The line cap used for line ends and line joins on the graph.\n *\n * @type {Highcharts.SeriesLinecapValue}\n * @default round\n * @product highcharts highstock\n * @apioption plotOptions.series.linecap\n */\n /**\n * The [id](#series.id) of another series to link to. Additionally,\n * the value can be \":previous\" to link to the previous series. When\n * two series are linked, only the first one appears in the legend.\n * Toggling the visibility of this also toggles the linked series.\n *\n * If master series uses data sorting and linked series does not have\n * its own sorting definition, the linked series will be sorted in the\n * same order as the master one.\n *\n * @sample {highcharts|highstock} highcharts/demo/arearange-line/\n * Linked series\n *\n * @type {string}\n * @since 3.0\n * @product highcharts highstock gantt\n * @apioption plotOptions.series.linkedTo\n */\n /**\n * Options for the corresponding navigator series if `showInNavigator`\n * is `true` for this series. Available options are the same as any\n * series, documented at [plotOptions](#plotOptions.series) and\n * [series](#series).\n *\n * These options are merged with options in [navigator.series](\n * #navigator.series), and will take precedence if the same option is\n * defined both places.\n *\n * @see [navigator.series](#navigator.series)\n *\n * @type {Highcharts.PlotSeriesOptions}\n * @since 5.0.0\n * @product highstock\n * @apioption plotOptions.series.navigatorOptions\n */\n /**\n * The color for the parts of the graph or points that are below the\n * [threshold](#plotOptions.series.threshold). Note that `zones` takes\n * precedence over the negative color. Using `negativeColor` is\n * equivalent to applying a zone with value of 0.\n *\n * @see In styled mode, a negative color is applied by setting this option\n * to `true` combined with the `.highcharts-negative` class name.\n *\n * @sample {highcharts} highcharts/plotoptions/series-negative-color/\n * Spline, area and column\n * @sample {highcharts} highcharts/plotoptions/arearange-negativecolor/\n * Arearange\n * @sample {highcharts} highcharts/css/series-negative-color/\n * Styled mode\n * @sample {highstock} highcharts/plotoptions/series-negative-color/\n * Spline, area and column\n * @sample {highstock} highcharts/plotoptions/arearange-negativecolor/\n * Arearange\n * @sample {highmaps} highcharts/plotoptions/series-negative-color/\n * Spline, area and column\n * @sample {highmaps} highcharts/plotoptions/arearange-negativecolor/\n * Arearange\n *\n * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}\n * @since 3.0\n * @apioption plotOptions.series.negativeColor\n */\n /**\n * Same as\n * [accessibility.pointDescriptionFormatter](#accessibility.pointDescriptionFormatter),\n * but for an individual series. Overrides the chart wide configuration.\n *\n * @type {Function}\n * @since 5.0.12\n * @apioption plotOptions.series.pointDescriptionFormatter\n */\n /**\n * If no x values are given for the points in a series, `pointInterval`\n * defines the interval of the x values. For example, if a series\n * contains one value every decade starting from year 0, set\n * `pointInterval` to `10`. In true `datetime` axes, the `pointInterval`\n * is set in milliseconds.\n *\n * It can be also be combined with `pointIntervalUnit` to draw irregular\n * time intervals.\n *\n * Please note that this options applies to the _series data_, not the\n * interval of the axis ticks, which is independent.\n *\n * @sample {highcharts} highcharts/plotoptions/series-pointstart-datetime/\n * Datetime X axis\n * @sample {highstock} stock/plotoptions/pointinterval-pointstart/\n * Using pointStart and pointInterval\n *\n * @type {number}\n * @default 1\n * @product highcharts highstock gantt\n * @apioption plotOptions.series.pointInterval\n */\n /**\n * On datetime series, this allows for setting the\n * [pointInterval](#plotOptions.series.pointInterval) to irregular time\n * units, `day`, `month` and `year`. A day is usually the same as 24\n * hours, but `pointIntervalUnit` also takes the DST crossover into\n * consideration when dealing with local time. Combine this option with\n * `pointInterval` to draw weeks, quarters, 6 months, 10 years etc.\n *\n * Please note that this options applies to the _series data_, not the\n * interval of the axis ticks, which is independent.\n *\n * @sample {highcharts} highcharts/plotoptions/series-pointintervalunit/\n * One point a month\n * @sample {highstock} highcharts/plotoptions/series-pointintervalunit/\n * One point a month\n *\n * @type {string}\n * @since 4.1.0\n * @product highcharts highstock gantt\n * @validvalue [\"day\", \"month\", \"year\"]\n * @apioption plotOptions.series.pointIntervalUnit\n */\n /**\n * Possible values: `\"on\"`, `\"between\"`, `number`.\n *\n * In a column chart, when pointPlacement is `\"on\"`, the point will not\n * create any padding of the X axis. In a polar column chart this means\n * that the first column points directly north. If the pointPlacement is\n * `\"between\"`, the columns will be laid out between ticks. This is\n * useful for example for visualising an amount between two points in\n * time or in a certain sector of a polar chart.\n *\n * Since Highcharts 3.0.2, the point placement can also be numeric,\n * where 0 is on the axis value, -0.5 is between this value and the\n * previous, and 0.5 is between this value and the next. Unlike the\n * textual options, numeric point placement options won't affect axis\n * padding.\n *\n * Note that pointPlacement needs a [pointRange](\n * #plotOptions.series.pointRange) to work. For column series this is\n * computed, but for line-type series it needs to be set.\n *\n * For the `xrange` series type and gantt charts, if the Y axis is a\n * category axis, the `pointPlacement` applies to the Y axis rather than\n * the (typically datetime) X axis.\n *\n * Defaults to `undefined` in cartesian charts, `\"between\"` in polar\n * charts.\n *\n * @see [xAxis.tickmarkPlacement](#xAxis.tickmarkPlacement)\n *\n * @sample {highcharts|highstock} highcharts/plotoptions/series-pointplacement-between/\n * Between in a column chart\n * @sample {highcharts|highstock} highcharts/plotoptions/series-pointplacement-numeric/\n * Numeric placement for custom layout\n * @sample {highcharts|highstock} maps/plotoptions/heatmap-pointplacement/\n * Placement in heatmap\n *\n * @type {string|number}\n * @since 2.3.0\n * @product highcharts highstock gantt\n * @apioption plotOptions.series.pointPlacement\n */\n /**\n * If no x values are given for the points in a series, pointStart\n * defines on what value to start. For example, if a series contains one\n * yearly value starting from 1945, set pointStart to 1945.\n *\n * @sample {highcharts} highcharts/plotoptions/series-pointstart-linear/\n * Linear\n * @sample {highcharts} highcharts/plotoptions/series-pointstart-datetime/\n * Datetime\n * @sample {highstock} stock/plotoptions/pointinterval-pointstart/\n * Using pointStart and pointInterval\n *\n * @type {number}\n * @default 0\n * @product highcharts highstock gantt\n * @apioption plotOptions.series.pointStart\n */\n /**\n * Whether to select the series initially. If `showCheckbox` is true,\n * the checkbox next to the series name in the legend will be checked\n * for a selected series.\n *\n * @sample {highcharts} highcharts/plotoptions/series-selected/\n * One out of two series selected\n *\n * @type {boolean}\n * @default false\n * @since 1.2.0\n * @apioption plotOptions.series.selected\n */\n /**\n * Whether to apply a drop shadow to the graph line. Since 2.3 the\n * shadow can be an object configuration containing `color`, `offsetX`,\n * `offsetY`, `opacity` and `width`.\n *\n * @sample {highcharts} highcharts/plotoptions/series-shadow/\n * Shadow enabled\n *\n * @type {boolean|Highcharts.ShadowOptionsObject}\n * @default false\n * @apioption plotOptions.series.shadow\n */\n /**\n * Whether to display this particular series or series type in the\n * legend. Standalone series are shown in legend by default, and linked\n * series are not. Since v7.2.0 it is possible to show series that use\n * colorAxis by setting this option to `true`.\n *\n * @sample {highcharts} highcharts/plotoptions/series-showinlegend/\n * One series in the legend, one hidden\n *\n * @type {boolean}\n * @apioption plotOptions.series.showInLegend\n */\n /**\n * Whether or not to show the series in the navigator. Takes precedence\n * over [navigator.baseSeries](#navigator.baseSeries) if defined.\n *\n * @type {boolean}\n * @since 5.0.0\n * @product highstock\n * @apioption plotOptions.series.showInNavigator\n */\n /**\n * If set to `true`, the accessibility module will skip past the points\n * in this series for keyboard navigation.\n *\n * @type {boolean}\n * @since 5.0.12\n * @apioption plotOptions.series.skipKeyboardNavigation\n */\n /**\n * Whether to stack the values of each series on top of each other.\n * Possible values are `undefined` to disable, `\"normal\"` to stack by\n * value or `\"percent\"`.\n *\n * When stacking is enabled, data must be sorted\n * in ascending X order.\n *\n * Some stacking options are related to specific series types. In the\n * streamgraph series type, the stacking option is set to `\"stream\"`.\n * The second one is `\"overlap\"`, which only applies to waterfall\n * series.\n *\n * @see [yAxis.reversedStacks](#yAxis.reversedStacks)\n *\n * @sample {highcharts} highcharts/plotoptions/series-stacking-line/\n * Line\n * @sample {highcharts} highcharts/plotoptions/series-stacking-column/\n * Column\n * @sample {highcharts} highcharts/plotoptions/series-stacking-bar/\n * Bar\n * @sample {highcharts} highcharts/plotoptions/series-stacking-area/\n * Area\n * @sample {highcharts} highcharts/plotoptions/series-stacking-percent-line/\n * Line\n * @sample {highcharts} highcharts/plotoptions/series-stacking-percent-column/\n * Column\n * @sample {highcharts} highcharts/plotoptions/series-stacking-percent-bar/\n * Bar\n * @sample {highcharts} highcharts/plotoptions/series-stacking-percent-area/\n * Area\n * @sample {highcharts} highcharts/plotoptions/series-waterfall-with-normal-stacking\n * Waterfall with normal stacking\n * @sample {highcharts} highcharts/plotoptions/series-waterfall-with-overlap-stacking\n * Waterfall with overlap stacking\n * @sample {highstock} stock/plotoptions/stacking/\n * Area\n *\n * @type {string}\n * @product highcharts highstock\n * @validvalue [\"normal\", \"overlap\", \"percent\", \"stream\"]\n * @apioption plotOptions.series.stacking\n */\n /**\n * Whether to apply steps to the line. Possible values are `left`,\n * `center` and `right`.\n *\n * @sample {highcharts} highcharts/plotoptions/line-step/\n * Different step line options\n * @sample {highcharts} highcharts/plotoptions/area-step/\n * Stepped, stacked area\n * @sample {highstock} stock/plotoptions/line-step/\n * Step line\n *\n * @type {string}\n * @since 1.2.5\n * @product highcharts highstock\n * @validvalue [\"left\", \"center\", \"right\"]\n * @apioption plotOptions.series.step\n */\n /**\n * The threshold, also called zero level or base level. For line type\n * series this is only used in conjunction with\n * [negativeColor](#plotOptions.series.negativeColor).\n *\n * @see [softThreshold](#plotOptions.series.softThreshold).\n *\n * @type {number}\n * @default 0\n * @since 3.0\n * @product highcharts highstock\n * @apioption plotOptions.series.threshold\n */\n /**\n * Set the initial visibility of the series.\n *\n * @sample {highcharts} highcharts/plotoptions/series-visible/\n * Two series, one hidden and one visible\n * @sample {highstock} stock/plotoptions/series-visibility/\n * Hidden series\n *\n * @type {boolean}\n * @default true\n * @apioption plotOptions.series.visible\n */\n /**\n * Defines the Axis on which the zones are applied.\n *\n * @see [zones](#plotOptions.series.zones)\n *\n * @sample {highcharts} highcharts/series/color-zones-zoneaxis-x/\n * Zones on the X-Axis\n * @sample {highstock} highcharts/series/color-zones-zoneaxis-x/\n * Zones on the X-Axis\n *\n * @type {string}\n * @default y\n * @since 4.1.0\n * @product highcharts highstock\n * @apioption plotOptions.series.zoneAxis\n */\n /**\n * General event handlers for the series items. These event hooks can\n * also be attached to the series at run time using the\n * `Highcharts.addEvent` function.\n *\n * @declare Highcharts.SeriesEventsOptionsObject\n *\n * @private\n */\n events: {},\n /**\n * Fires after the series has finished its initial animation, or in case\n * animation is disabled, immediately as the series is displayed.\n *\n * @sample {highcharts} highcharts/plotoptions/series-events-afteranimate/\n * Show label after animate\n * @sample {highstock} highcharts/plotoptions/series-events-afteranimate/\n * Show label after animate\n *\n * @type {Highcharts.SeriesAfterAnimateCallbackFunction}\n * @since 4.0\n * @product highcharts highstock gantt\n * @context Highcharts.Series\n * @apioption plotOptions.series.events.afterAnimate\n */\n /**\n * Fires when the checkbox next to the series' name in the legend is\n * clicked. One parameter, `event`, is passed to the function. The state\n * of the checkbox is found by `event.checked`. The checked item is\n * found by `event.item`. Return `false` to prevent the default action\n * which is to toggle the select state of the series.\n *\n * @sample {highcharts} highcharts/plotoptions/series-events-checkboxclick/\n * Alert checkbox status\n *\n * @type {Highcharts.SeriesCheckboxClickCallbackFunction}\n * @since 1.2.0\n * @context Highcharts.Series\n * @apioption plotOptions.series.events.checkboxClick\n */\n /**\n * Fires when the series is clicked. One parameter, `event`, is passed\n * to the function, containing common event information. Additionally,\n * `event.point` holds a pointer to the nearest point on the graph.\n *\n * @sample {highcharts} highcharts/plotoptions/series-events-click/\n * Alert click info\n * @sample {highstock} stock/plotoptions/series-events-click/\n * Alert click info\n * @sample {highmaps} maps/plotoptions/series-events-click/\n * Display click info in subtitle\n *\n * @type {Highcharts.SeriesClickCallbackFunction}\n * @context Highcharts.Series\n * @apioption plotOptions.series.events.click\n */\n /**\n * Fires when the series is hidden after chart generation time, either\n * by clicking the legend item or by calling `.hide()`.\n *\n * @sample {highcharts} highcharts/plotoptions/series-events-hide/\n * Alert when the series is hidden by clicking the legend item\n *\n * @type {Highcharts.SeriesHideCallbackFunction}\n * @since 1.2.0\n * @context Highcharts.Series\n * @apioption plotOptions.series.events.hide\n */\n /**\n * Fires when the legend item belonging to the series is clicked. One\n * parameter, `event`, is passed to the function. The default action\n * is to toggle the visibility of the series. This can be prevented\n * by returning `false` or calling `event.preventDefault()`.\n *\n * @sample {highcharts} highcharts/plotoptions/series-events-legenditemclick/\n * Confirm hiding and showing\n *\n * @type {Highcharts.SeriesLegendItemClickCallbackFunction}\n * @context Highcharts.Series\n * @apioption plotOptions.series.events.legendItemClick\n */\n /**\n * Fires when the mouse leaves the graph. One parameter, `event`, is\n * passed to the function, containing common event information. If the\n * [stickyTracking](#plotOptions.series) option is true, `mouseOut`\n * doesn't happen before the mouse enters another graph or leaves the\n * plot area.\n *\n * @sample {highcharts} highcharts/plotoptions/series-events-mouseover-sticky/\n * With sticky tracking by default\n * @sample {highcharts} highcharts/plotoptions/series-events-mouseover-no-sticky/\n * Without sticky tracking\n *\n * @type {Highcharts.SeriesMouseOutCallbackFunction}\n * @context Highcharts.Series\n * @apioption plotOptions.series.events.mouseOut\n */\n /**\n * Fires when the mouse enters the graph. One parameter, `event`, is\n * passed to the function, containing common event information.\n *\n * @sample {highcharts} highcharts/plotoptions/series-events-mouseover-sticky/\n * With sticky tracking by default\n * @sample {highcharts} highcharts/plotoptions/series-events-mouseover-no-sticky/\n * Without sticky tracking\n *\n * @type {Highcharts.SeriesMouseOverCallbackFunction}\n * @context Highcharts.Series\n * @apioption plotOptions.series.events.mouseOver\n */\n /**\n * Fires when the series is shown after chart generation time, either\n * by clicking the legend item or by calling `.show()`.\n *\n * @sample {highcharts} highcharts/plotoptions/series-events-show/\n * Alert when the series is shown by clicking the legend item.\n *\n * @type {Highcharts.SeriesShowCallbackFunction}\n * @since 1.2.0\n * @context Highcharts.Series\n * @apioption plotOptions.series.events.show\n */\n /**\n * Options for the point markers of line-like series. Properties like\n * `fillColor`, `lineColor` and `lineWidth` define the visual appearance\n * of the markers. Other series types, like column series, don't have\n * markers, but have visual options on the series level instead.\n *\n * In styled mode, the markers can be styled with the\n * `.highcharts-point`, `.highcharts-point-hover` and\n * `.highcharts-point-select` class names.\n *\n * @declare Highcharts.PointMarkerOptionsObject\n *\n * @private\n */\n marker: {\n /**\n * Enable or disable the point marker. If `undefined`, the markers\n * are hidden when the data is dense, and shown for more widespread\n * data points.\n *\n * @sample {highcharts} highcharts/plotoptions/series-marker-enabled/\n * Disabled markers\n * @sample {highcharts} highcharts/plotoptions/series-marker-enabled-false/\n * Disabled in normal state but enabled on hover\n * @sample {highstock} stock/plotoptions/series-marker/\n * Enabled markers\n *\n * @type {boolean}\n * @default {highcharts} undefined\n * @default {highstock} false\n * @apioption plotOptions.series.marker.enabled\n */\n /**\n * The threshold for how dense the point markers should be before\n * they are hidden, given that `enabled` is not defined. The number\n * indicates the horizontal distance between the two closest points\n * in the series, as multiples of the `marker.radius`. In other\n * words, the default value of 2 means points are hidden if\n * overlapping horizontally.\n *\n * @sample highcharts/plotoptions/series-marker-enabledthreshold\n * A higher threshold\n *\n * @since 6.0.5\n */\n enabledThreshold: 2,\n /**\n * The fill color of the point marker. When `undefined`, the series'\n * or point's color is used.\n *\n * @sample {highcharts} highcharts/plotoptions/series-marker-fillcolor/\n * White fill\n *\n * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}\n * @apioption plotOptions.series.marker.fillColor\n */\n /**\n * Image markers only. Set the image width explicitly. When using\n * this option, a `width` must also be set.\n *\n * @sample {highcharts} highcharts/plotoptions/series-marker-width-height/\n * Fixed width and height\n * @sample {highstock} highcharts/plotoptions/series-marker-width-height/\n * Fixed width and height\n *\n * @type {number}\n * @since 4.0.4\n * @apioption plotOptions.series.marker.height\n */\n /**\n * The color of the point marker's outline. When `undefined`, the\n * series' or point's color is used.\n *\n * @sample {highcharts} highcharts/plotoptions/series-marker-fillcolor/\n * Inherit from series color (undefined)\n *\n * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}\n */\n lineColor: '#ffffff',\n /**\n * The width of the point marker's outline.\n *\n * @sample {highcharts} highcharts/plotoptions/series-marker-fillcolor/\n * 2px blue marker\n */\n lineWidth: 0,\n /**\n * The radius of the point marker.\n *\n * @sample {highcharts} highcharts/plotoptions/series-marker-radius/\n * Bigger markers\n *\n * @default {highstock} 2\n */\n radius: 4,\n /**\n * A predefined shape or symbol for the marker. When undefined, the\n * symbol is pulled from options.symbols. Other possible values are\n * `'circle'`, `'square'`,`'diamond'`, `'triangle'` and\n * `'triangle-down'`.\n *\n * Additionally, the URL to a graphic can be given on this form:\n * `'url(graphic.png)'`. Note that for the image to be applied to\n * exported charts, its URL needs to be accessible by the export\n * server.\n *\n * Custom callbacks for symbol path generation can also be added to\n * `Highcharts.SVGRenderer.prototype.symbols`. The callback is then\n * used by its method name, as shown in the demo.\n *\n * @sample {highcharts} highcharts/plotoptions/series-marker-symbol/\n * Predefined, graphic and custom markers\n * @sample {highstock} highcharts/plotoptions/series-marker-symbol/\n * Predefined, graphic and custom markers\n *\n * @type {string}\n * @apioption plotOptions.series.marker.symbol\n */\n /**\n * Image markers only. Set the image width explicitly. When using\n * this option, a `height` must also be set.\n *\n * @sample {highcharts} highcharts/plotoptions/series-marker-width-height/\n * Fixed width and height\n * @sample {highstock} highcharts/plotoptions/series-marker-width-height/\n * Fixed width and height\n *\n * @type {number}\n * @since 4.0.4\n * @apioption plotOptions.series.marker.width\n */\n /**\n * States for a single point marker.\n *\n * @declare Highcharts.PointStatesOptionsObject\n */\n states: {\n /**\n * The normal state of a single point marker. Currently only\n * used for setting animation when returning to normal state\n * from hover.\n *\n * @declare Highcharts.PointStatesNormalOptionsObject\n */\n normal: {\n /**\n * Animation when returning to normal state after hovering.\n *\n * @type {boolean|Partial}\n */\n animation: true\n },\n /**\n * The hover state for a single point marker.\n *\n * @declare Highcharts.PointStatesHoverOptionsObject\n */\n hover: {\n /**\n * Animation when hovering over the marker.\n *\n * @type {boolean|Partial}\n */\n animation: {\n /** @internal */\n duration: 50\n },\n /**\n * Enable or disable the point marker.\n *\n * @sample {highcharts} highcharts/plotoptions/series-marker-states-hover-enabled/\n * Disabled hover state\n */\n enabled: true,\n /**\n * The fill color of the marker in hover state. When\n * `undefined`, the series' or point's fillColor for normal\n * state is used.\n *\n * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}\n * @apioption plotOptions.series.marker.states.hover.fillColor\n */\n /**\n * The color of the point marker's outline. When\n * `undefined`, the series' or point's lineColor for normal\n * state is used.\n *\n * @sample {highcharts} highcharts/plotoptions/series-marker-states-hover-linecolor/\n * White fill color, black line color\n *\n * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}\n * @apioption plotOptions.series.marker.states.hover.lineColor\n */\n /**\n * The width of the point marker's outline. When\n * `undefined`, the series' or point's lineWidth for normal\n * state is used.\n *\n * @sample {highcharts} highcharts/plotoptions/series-marker-states-hover-linewidth/\n * 3px line width\n *\n * @type {number}\n * @apioption plotOptions.series.marker.states.hover.lineWidth\n */\n /**\n * The radius of the point marker. In hover state, it\n * defaults to the normal state's radius + 2 as per the\n * [radiusPlus](#plotOptions.series.marker.states.hover.radiusPlus)\n * option.\n *\n * @sample {highcharts} highcharts/plotoptions/series-marker-states-hover-radius/\n * 10px radius\n *\n * @type {number}\n * @apioption plotOptions.series.marker.states.hover.radius\n */\n /**\n * The number of pixels to increase the radius of the\n * hovered point.\n *\n * @sample {highcharts} highcharts/plotoptions/series-states-hover-linewidthplus/\n * 5 pixels greater radius on hover\n * @sample {highstock} highcharts/plotoptions/series-states-hover-linewidthplus/\n * 5 pixels greater radius on hover\n *\n * @since 4.0.3\n */\n radiusPlus: 2,\n /**\n * The additional line width for a hovered point.\n *\n * @sample {highcharts} highcharts/plotoptions/series-states-hover-linewidthplus/\n * 2 pixels wider on hover\n * @sample {highstock} highcharts/plotoptions/series-states-hover-linewidthplus/\n * 2 pixels wider on hover\n *\n * @since 4.0.3\n */\n lineWidthPlus: 1\n },\n /**\n * The appearance of the point marker when selected. In order to\n * allow a point to be selected, set the\n * `series.allowPointSelect` option to true.\n *\n * @declare Highcharts.PointStatesSelectOptionsObject\n */\n select: {\n /**\n * Enable or disable visible feedback for selection.\n *\n * @sample {highcharts} highcharts/plotoptions/series-marker-states-select-enabled/\n * Disabled select state\n *\n * @type {boolean}\n * @default true\n * @apioption plotOptions.series.marker.states.select.enabled\n */\n /**\n * The radius of the point marker. In hover state, it\n * defaults to the normal state's radius + 2.\n *\n * @sample {highcharts} highcharts/plotoptions/series-marker-states-select-radius/\n * 10px radius for selected points\n *\n * @type {number}\n * @apioption plotOptions.series.marker.states.select.radius\n */\n /**\n * The fill color of the point marker.\n *\n * @sample {highcharts} highcharts/plotoptions/series-marker-states-select-fillcolor/\n * Solid red discs for selected points\n *\n * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}\n */\n fillColor: '#cccccc',\n /**\n * The color of the point marker's outline. When\n * `undefined`, the series' or point's color is used.\n *\n * @sample {highcharts} highcharts/plotoptions/series-marker-states-select-linecolor/\n * Red line color for selected points\n *\n * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}\n */\n lineColor: '#000000',\n /**\n * The width of the point marker's outline.\n *\n * @sample {highcharts} highcharts/plotoptions/series-marker-states-select-linewidth/\n * 3px line width for selected points\n */\n lineWidth: 2\n }\n }\n },\n /**\n * Properties for each single point.\n *\n * @declare Highcharts.PlotSeriesPointOptions\n *\n * @private\n */\n point: {\n /**\n * Fires when a point is clicked. One parameter, `event`, is passed\n * to the function, containing common event information.\n *\n * If the `series.allowPointSelect` option is true, the default\n * action for the point's click event is to toggle the point's\n * select state. Returning `false` cancels this action.\n *\n * @sample {highcharts} highcharts/plotoptions/series-point-events-click/\n * Click marker to alert values\n * @sample {highcharts} highcharts/plotoptions/series-point-events-click-column/\n * Click column\n * @sample {highcharts} highcharts/plotoptions/series-point-events-click-url/\n * Go to URL\n * @sample {highmaps} maps/plotoptions/series-point-events-click/\n * Click marker to display values\n * @sample {highmaps} maps/plotoptions/series-point-events-click-url/\n * Go to URL\n *\n * @type {Highcharts.PointClickCallbackFunction}\n * @context Highcharts.Point\n * @apioption plotOptions.series.point.events.click\n */\n /**\n * Fires when the mouse leaves the area close to the point. One\n * parameter, `event`, is passed to the function, containing common\n * event information.\n *\n * @sample {highcharts} highcharts/plotoptions/series-point-events-mouseover/\n * Show values in the chart's corner on mouse over\n *\n * @type {Highcharts.PointMouseOutCallbackFunction}\n * @context Highcharts.Point\n * @apioption plotOptions.series.point.events.mouseOut\n */\n /**\n * Fires when the mouse enters the area close to the point. One\n * parameter, `event`, is passed to the function, containing common\n * event information.\n *\n * @sample {highcharts} highcharts/plotoptions/series-point-events-mouseover/\n * Show values in the chart's corner on mouse over\n *\n * @type {Highcharts.PointMouseOverCallbackFunction}\n * @context Highcharts.Point\n * @apioption plotOptions.series.point.events.mouseOver\n */\n /**\n * Fires when the point is removed using the `.remove()` method. One\n * parameter, `event`, is passed to the function. Returning `false`\n * cancels the operation.\n *\n * @sample {highcharts} highcharts/plotoptions/series-point-events-remove/\n * Remove point and confirm\n *\n * @type {Highcharts.PointRemoveCallbackFunction}\n * @since 1.2.0\n * @context Highcharts.Point\n * @apioption plotOptions.series.point.events.remove\n */\n /**\n * Fires when the point is selected either programmatically or\n * following a click on the point. One parameter, `event`, is passed\n * to the function. Returning `false` cancels the operation.\n *\n * @sample {highcharts} highcharts/plotoptions/series-point-events-select/\n * Report the last selected point\n * @sample {highmaps} maps/plotoptions/series-allowpointselect/\n * Report select and unselect\n *\n * @type {Highcharts.PointSelectCallbackFunction}\n * @since 1.2.0\n * @context Highcharts.Point\n * @apioption plotOptions.series.point.events.select\n */\n /**\n * Fires when the point is unselected either programmatically or\n * following a click on the point. One parameter, `event`, is passed\n * to the function.\n * Returning `false` cancels the operation.\n *\n * @sample {highcharts} highcharts/plotoptions/series-point-events-unselect/\n * Report the last unselected point\n * @sample {highmaps} maps/plotoptions/series-allowpointselect/\n * Report select and unselect\n *\n * @type {Highcharts.PointUnselectCallbackFunction}\n * @since 1.2.0\n * @context Highcharts.Point\n * @apioption plotOptions.series.point.events.unselect\n */\n /**\n * Fires when the point is updated programmatically through the\n * `.update()` method. One parameter, `event`, is passed to the\n * function. The new point options can be accessed through\n * `event.options`. Returning `false` cancels the operation.\n *\n * @sample {highcharts} highcharts/plotoptions/series-point-events-update/\n * Confirm point updating\n *\n * @type {Highcharts.PointUpdateCallbackFunction}\n * @since 1.2.0\n * @context Highcharts.Point\n * @apioption plotOptions.series.point.events.update\n */\n /**\n * Events for each single point.\n *\n * @declare Highcharts.PointEventsOptionsObject\n */\n events: {}\n },\n /**\n * Options for the series data labels, appearing next to each data\n * point.\n *\n * Since v6.2.0, multiple data labels can be applied to each single\n * point by defining them as an array of configs.\n *\n * In styled mode, the data labels can be styled with the\n * `.highcharts-data-label-box` and `.highcharts-data-label` class names\n * ([see example](https://www.highcharts.com/samples/highcharts/css/series-datalabels)).\n *\n * @sample {highcharts} highcharts/plotoptions/series-datalabels-enabled\n * Data labels enabled\n * @sample {highcharts} highcharts/plotoptions/series-datalabels-multiple\n * Multiple data labels on a bar series\n * @sample {highcharts} highcharts/css/series-datalabels\n * Style mode example\n *\n * @type {*|Array<*>}\n * @product highcharts highstock highmaps gantt\n *\n * @private\n */\n dataLabels: {\n /**\n * Enable or disable the initial animation when a series is\n * displayed for the `dataLabels`. The animation can also be set as\n * a configuration object. Please note that this option only\n * applies to the initial animation.\n * For other animations, see [chart.animation](#chart.animation)\n * and the animation parameter under the API methods.\n * The following properties are supported:\n *\n * - `defer`: The animation delay time in milliseconds.\n *\n * @sample {highcharts} highcharts/plotoptions/animation-defer/\n * Animation defer settings\n *\n * @type {boolean|Partial}\n * @since 8.2.0\n * @apioption plotOptions.series.dataLabels.animation\n */\n animation: {},\n /**\n * The animation delay time in milliseconds.\n * Set to `0` renders dataLabel immediately.\n * As `undefined` inherits defer time from the [series.animation.defer](#plotOptions.series.animation.defer).\n *\n * @type {number}\n * @since 8.2.0\n * @apioption plotOptions.series.dataLabels.animation.defer\n */\n /**\n * The alignment of the data label compared to the point. If\n * `right`, the right side of the label should be touching the\n * point. For points with an extent, like columns, the alignments\n * also dictates how to align it inside the box, as given with the\n * [inside](#plotOptions.column.dataLabels.inside)\n * option. Can be one of `left`, `center` or `right`.\n *\n * @sample {highcharts} highcharts/plotoptions/series-datalabels-align-left/\n * Left aligned\n * @sample {highcharts} highcharts/plotoptions/bar-datalabels-align-inside-bar/\n * Data labels inside the bar\n *\n * @type {Highcharts.AlignValue|null}\n */\n align: 'center',\n /**\n * Whether to allow data labels to overlap. To make the labels less\n * sensitive for overlapping, the\n * [dataLabels.padding](#plotOptions.series.dataLabels.padding)\n * can be set to 0.\n *\n * @sample {highcharts} highcharts/plotoptions/series-datalabels-allowoverlap-false/\n * Don't allow overlap\n *\n * @type {boolean}\n * @default false\n * @since 4.1.0\n * @apioption plotOptions.series.dataLabels.allowOverlap\n */\n /**\n * The background color or gradient for the data label.\n *\n * @sample {highcharts} highcharts/plotoptions/series-datalabels-box/\n * Data labels box options\n * @sample {highmaps} maps/plotoptions/series-datalabels-box/\n * Data labels box options\n *\n * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}\n * @since 2.2.1\n * @apioption plotOptions.series.dataLabels.backgroundColor\n */\n /**\n * The border color for the data label. Defaults to `undefined`.\n *\n * @sample {highcharts} highcharts/plotoptions/series-datalabels-box/\n * Data labels box options\n *\n * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}\n * @since 2.2.1\n * @apioption plotOptions.series.dataLabels.borderColor\n */\n /**\n * The border radius in pixels for the data label.\n *\n * @sample {highcharts} highcharts/plotoptions/series-datalabels-box/\n * Data labels box options\n * @sample {highmaps} maps/plotoptions/series-datalabels-box/\n * Data labels box options\n *\n * @type {number}\n * @default 0\n * @since 2.2.1\n * @apioption plotOptions.series.dataLabels.borderRadius\n */\n /**\n * The border width in pixels for the data label.\n *\n * @sample {highcharts} highcharts/plotoptions/series-datalabels-box/\n * Data labels box options\n *\n * @type {number}\n * @default 0\n * @since 2.2.1\n * @apioption plotOptions.series.dataLabels.borderWidth\n */\n /**\n * A class name for the data label. Particularly in styled mode,\n * this can be used to give each series' or point's data label\n * unique styling. In addition to this option, a default color class\n * name is added so that we can give the labels a contrast text\n * shadow.\n *\n * @sample {highcharts} highcharts/css/data-label-contrast/\n * Contrast text shadow\n * @sample {highcharts} highcharts/css/series-datalabels/\n * Styling by CSS\n *\n * @type {string}\n * @since 5.0.0\n * @apioption plotOptions.series.dataLabels.className\n */\n /**\n * The text color for the data labels. Defaults to `undefined`. For\n * certain series types, like column or map, the data labels can be\n * drawn inside the points. In this case the data label will be\n * drawn with maximum contrast by default. Additionally, it will be\n * given a `text-outline` style with the opposite color, to further\n * increase the contrast. This can be overridden by setting the\n * `text-outline` style to `none` in the `dataLabels.style` option.\n *\n * @sample {highcharts} highcharts/plotoptions/series-datalabels-color/\n * Red data labels\n * @sample {highmaps} maps/demo/color-axis/\n * White data labels\n *\n * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}\n * @apioption plotOptions.series.dataLabels.color\n */\n /**\n * Whether to hide data labels that are outside the plot area. By\n * default, the data label is moved inside the plot area according\n * to the\n * [overflow](#plotOptions.series.dataLabels.overflow)\n * option.\n *\n * @type {boolean}\n * @default true\n * @since 2.3.3\n * @apioption plotOptions.series.dataLabels.crop\n */\n /**\n * Whether to defer displaying the data labels until the initial\n * series animation has finished. Setting to `false` renders the\n * data label immediately. If set to `true` inherits the defer\n * time set in [plotOptions.series.animation](#plotOptions.series.animation).\n *\n * @sample highcharts/plotoptions/animation-defer\n * Set defer time\n *\n * @since 4.0.0\n * @product highcharts highstock gantt\n */\n defer: true,\n /**\n * Enable or disable the data labels.\n *\n * @sample {highcharts} highcharts/plotoptions/series-datalabels-enabled/\n * Data labels enabled\n * @sample {highmaps} maps/demo/color-axis/\n * Data labels enabled\n *\n * @type {boolean}\n * @default false\n * @apioption plotOptions.series.dataLabels.enabled\n */\n /**\n * A declarative filter to control of which data labels to display.\n * The declarative filter is designed for use when callback\n * functions are not available, like when the chart options require\n * a pure JSON structure or for use with graphical editors. For\n * programmatic control, use the `formatter` instead, and return\n * `undefined` to disable a single data label.\n *\n * @example\n * filter: {\n * property: 'percentage',\n * operator: '>',\n * value: 4\n * }\n *\n * @sample {highcharts} highcharts/demo/pie-monochrome\n * Data labels filtered by percentage\n *\n * @declare Highcharts.DataLabelsFilterOptionsObject\n * @since 6.0.3\n * @apioption plotOptions.series.dataLabels.filter\n */\n /**\n * The operator to compare by. Can be one of `>`, `<`, `>=`, `<=`,\n * `==`, and `===`.\n *\n * @type {string}\n * @validvalue [\">\", \"<\", \">=\", \"<=\", \"==\", \"===\"]\n * @apioption plotOptions.series.dataLabels.filter.operator\n */\n /**\n * The point property to filter by. Point options are passed\n * directly to properties, additionally there are `y` value,\n * `percentage` and others listed under {@link Highcharts.Point}\n * members.\n *\n * @type {string}\n * @apioption plotOptions.series.dataLabels.filter.property\n */\n /**\n * The value to compare against.\n *\n * @type {number}\n * @apioption plotOptions.series.dataLabels.filter.value\n */\n /**\n * A\n * [format string](https://www.highcharts.com/docs/chart-concepts/labels-and-string-formatting)\n * for the data label. Available variables are the same as for\n * `formatter`.\n *\n * @sample {highcharts} highcharts/plotoptions/series-datalabels-format/\n * Add a unit\n * @sample {highmaps} maps/plotoptions/series-datalabels-format/\n * Formatted value in the data label\n *\n * @type {string}\n * @default y\n * @default point.value\n * @since 3.0\n * @apioption plotOptions.series.dataLabels.format\n */\n // eslint-disable-next-line valid-jsdoc\n /**\n * Callback JavaScript function to format the data label. Note that\n * if a `format` is defined, the format takes precedence and the\n * formatter is ignored.\n *\n * @sample {highmaps} maps/plotoptions/series-datalabels-format/\n * Formatted value\n *\n * @type {Highcharts.DataLabelsFormatterCallbackFunction}\n */\n formatter: function () {\n var numberFormatter = this.series.chart.numberFormatter;\n return typeof this.y !== 'number' ? '' : numberFormatter(this.y, -1);\n },\n /**\n * For points with an extent, like columns or map areas, whether to\n * align the data label inside the box or to the actual value point.\n * Defaults to `false` in most cases, `true` in stacked columns.\n *\n * @type {boolean}\n * @since 3.0\n * @apioption plotOptions.series.dataLabels.inside\n */\n /**\n * Format for points with the value of null. Works analogously to\n * [format](#plotOptions.series.dataLabels.format). `nullFormat` can\n * be applied only to series which support displaying null points.\n *\n * @sample {highcharts} highcharts/plotoptions/series-datalabels-format/\n * Format data label and tooltip for null point.\n *\n * @type {boolean|string}\n * @since 7.1.0\n * @apioption plotOptions.series.dataLabels.nullFormat\n */\n /**\n * Callback JavaScript function that defines formatting for points\n * with the value of null. Works analogously to\n * [formatter](#plotOptions.series.dataLabels.formatter).\n * `nullPointFormatter` can be applied only to series which support\n * displaying null points.\n *\n * @sample {highcharts} highcharts/plotoptions/series-datalabels-format/\n * Format data label and tooltip for null point.\n *\n * @type {Highcharts.DataLabelsFormatterCallbackFunction}\n * @since 7.1.0\n * @apioption plotOptions.series.dataLabels.nullFormatter\n */\n /**\n * How to handle data labels that flow outside the plot area. The\n * default is `\"justify\"`, which aligns them inside the plot area.\n * For columns and bars, this means it will be moved inside the bar.\n * To display data labels outside the plot area, set `crop` to\n * `false` and `overflow` to `\"allow\"`.\n *\n * @type {Highcharts.DataLabelsOverflowValue}\n * @default justify\n * @since 3.0.6\n * @apioption plotOptions.series.dataLabels.overflow\n */\n /**\n * When either the `borderWidth` or the `backgroundColor` is set,\n * this is the padding within the box.\n *\n * @sample {highcharts} highcharts/plotoptions/series-datalabels-box/\n * Data labels box options\n * @sample {highmaps} maps/plotoptions/series-datalabels-box/\n * Data labels box options\n *\n * @since 2.2.1\n */\n padding: 5,\n /**\n * Aligns data labels relative to points. If `center` alignment is\n * not possible, it defaults to `right`.\n *\n * @type {Highcharts.AlignValue}\n * @default center\n * @apioption plotOptions.series.dataLabels.position\n */\n /**\n * Text rotation in degrees. Note that due to a more complex\n * structure, backgrounds, borders and padding will be lost on a\n * rotated data label.\n *\n * @sample {highcharts} highcharts/plotoptions/series-datalabels-rotation/\n * Vertical labels\n *\n * @type {number}\n * @default 0\n * @apioption plotOptions.series.dataLabels.rotation\n */\n /**\n * The shadow of the box. Works best with `borderWidth` or\n * `backgroundColor`. Since 2.3 the shadow can be an object\n * configuration containing `color`, `offsetX`, `offsetY`, `opacity`\n * and `width`.\n *\n * @sample {highcharts} highcharts/plotoptions/series-datalabels-box/\n * Data labels box options\n *\n * @type {boolean|Highcharts.ShadowOptionsObject}\n * @default false\n * @since 2.2.1\n * @apioption plotOptions.series.dataLabels.shadow\n */\n /**\n * The name of a symbol to use for the border around the label.\n * Symbols are predefined functions on the Renderer object.\n *\n * @sample {highcharts} highcharts/plotoptions/series-datalabels-shape/\n * A callout for annotations\n *\n * @type {string}\n * @default square\n * @since 4.1.2\n * @apioption plotOptions.series.dataLabels.shape\n */\n /**\n * Styles for the label. The default `color` setting is\n * `\"contrast\"`, which is a pseudo color that Highcharts picks up\n * and applies the maximum contrast to the underlying point item,\n * for example the bar in a bar chart.\n *\n * The `textOutline` is a pseudo property that applies an outline of\n * the given width with the given color, which by default is the\n * maximum contrast to the text. So a bright text color will result\n * in a black text outline for maximum readability on a mixed\n * background. In some cases, especially with grayscale text, the\n * text outline doesn't work well, in which cases it can be disabled\n * by setting it to `\"none\"`. When `useHTML` is true, the\n * `textOutline` will not be picked up. In this, case, the same\n * effect can be acheived through the `text-shadow` CSS property.\n *\n * For some series types, where each point has an extent, like for\n * example tree maps, the data label may overflow the point. There\n * are two strategies for handling overflow. By default, the text\n * will wrap to multiple lines. The other strategy is to set\n * `style.textOverflow` to `ellipsis`, which will keep the text on\n * one line plus it will break inside long words.\n *\n * @sample {highcharts} highcharts/plotoptions/series-datalabels-style/\n * Bold labels\n * @sample {highcharts} highcharts/plotoptions/pie-datalabels-overflow/\n * Long labels truncated with an ellipsis in a pie\n * @sample {highcharts} highcharts/plotoptions/pie-datalabels-overflow-wrap/\n * Long labels are wrapped in a pie\n * @sample {highmaps} maps/demo/color-axis/\n * Bold labels\n *\n * @type {Highcharts.CSSObject}\n * @since 4.1.0\n * @apioption plotOptions.series.dataLabels.style\n */\n style: {\n /** @internal */\n fontSize: '11px',\n /** @internal */\n fontWeight: 'bold',\n /** @internal */\n color: 'contrast',\n /** @internal */\n textOutline: '1px contrast'\n },\n /**\n * Options for a label text which should follow marker's shape.\n * Border and background are disabled for a label that follows a\n * path.\n *\n * **Note:** Only SVG-based renderer supports this option. Setting\n * `useHTML` to true will disable this option.\n *\n * @declare Highcharts.DataLabelsTextPathOptionsObject\n * @since 7.1.0\n * @apioption plotOptions.series.dataLabels.textPath\n */\n /**\n * Presentation attributes for the text path.\n *\n * @type {Highcharts.SVGAttributes}\n * @since 7.1.0\n * @apioption plotOptions.series.dataLabels.textPath.attributes\n */\n /**\n * Enable or disable `textPath` option for link's or marker's data\n * labels.\n *\n * @type {boolean}\n * @since 7.1.0\n * @apioption plotOptions.series.dataLabels.textPath.enabled\n */\n /**\n * Whether to\n * [use HTML](https://www.highcharts.com/docs/chart-concepts/labels-and-string-formatting#html)\n * to render the labels.\n *\n * @type {boolean}\n * @default false\n * @apioption plotOptions.series.dataLabels.useHTML\n */\n /**\n * The vertical alignment of a data label. Can be one of `top`,\n * `middle` or `bottom`. The default value depends on the data, for\n * instance in a column chart, the label is above positive values\n * and below negative values.\n *\n * @type {Highcharts.VerticalAlignValue|null}\n * @since 2.3.3\n */\n verticalAlign: 'bottom',\n /**\n * The x position offset of the label relative to the point in\n * pixels.\n *\n * @sample {highcharts} highcharts/plotoptions/series-datalabels-rotation/\n * Vertical and positioned\n * @sample {highcharts} highcharts/plotoptions/bar-datalabels-align-inside-bar/\n * Data labels inside the bar\n */\n x: 0,\n /**\n * The Z index of the data labels. The default Z index puts it above\n * the series. Use a Z index of 2 to display it behind the series.\n *\n * @type {number}\n * @default 6\n * @since 2.3.5\n * @apioption plotOptions.series.dataLabels.z\n */\n /**\n * The y position offset of the label relative to the point in\n * pixels.\n *\n * @sample {highcharts} highcharts/plotoptions/series-datalabels-rotation/\n * Vertical and positioned\n */\n y: 0\n },\n /**\n * When the series contains less points than the crop threshold, all\n * points are drawn, even if the points fall outside the visible plot\n * area at the current zoom. The advantage of drawing all points\n * (including markers and columns), is that animation is performed on\n * updates. On the other hand, when the series contains more points than\n * the crop threshold, the series data is cropped to only contain points\n * that fall within the plot area. The advantage of cropping away\n * invisible points is to increase performance on large series.\n *\n * @since 2.2\n * @product highcharts highstock\n *\n * @private\n */\n cropThreshold: 300,\n /**\n * Opacity of a series parts: line, fill (e.g. area) and dataLabels.\n *\n * @see [states.inactive.opacity](#plotOptions.series.states.inactive.opacity)\n *\n * @since 7.1.0\n *\n * @private\n */\n opacity: 1,\n /**\n * The width of each point on the x axis. For example in a column chart\n * with one value each day, the pointRange would be 1 day (= 24 * 3600\n * * 1000 milliseconds). This is normally computed automatically, but\n * this option can be used to override the automatic value.\n *\n * @product highstock\n *\n * @private\n */\n pointRange: 0,\n /**\n * When this is true, the series will not cause the Y axis to cross\n * the zero plane (or [threshold](#plotOptions.series.threshold) option)\n * unless the data actually crosses the plane.\n *\n * For example, if `softThreshold` is `false`, a series of 0, 1, 2,\n * 3 will make the Y axis show negative values according to the\n * `minPadding` option. If `softThreshold` is `true`, the Y axis starts\n * at 0.\n *\n * @since 4.1.9\n * @product highcharts highstock\n *\n * @private\n */\n softThreshold: true,\n /**\n * @declare Highcharts.SeriesStatesOptionsObject\n *\n * @private\n */\n states: {\n /**\n * The normal state of a series, or for point items in column, pie\n * and similar series. Currently only used for setting animation\n * when returning to normal state from hover.\n *\n * @declare Highcharts.SeriesStatesNormalOptionsObject\n */\n normal: {\n /**\n * Animation when returning to normal state after hovering.\n *\n * @type {boolean|Partial}\n */\n animation: true\n },\n /**\n * Options for the hovered series. These settings override the\n * normal state options when a series is moused over or touched.\n *\n * @declare Highcharts.SeriesStatesHoverOptionsObject\n */\n hover: {\n /**\n * Enable separate styles for the hovered series to visualize\n * that the user hovers either the series itself or the legend.\n *\n * @sample {highcharts} highcharts/plotoptions/series-states-hover-enabled/\n * Line\n * @sample {highcharts} highcharts/plotoptions/series-states-hover-enabled-column/\n * Column\n * @sample {highcharts} highcharts/plotoptions/series-states-hover-enabled-pie/\n * Pie\n *\n * @type {boolean}\n * @default true\n * @since 1.2\n * @apioption plotOptions.series.states.hover.enabled\n */\n /**\n * Animation setting for hovering the graph in line-type series.\n *\n * @type {boolean|Partial}\n * @since 5.0.8\n * @product highcharts highstock\n */\n animation: {\n /**\n * The duration of the hover animation in milliseconds. By\n * default the hover state animates quickly in, and slowly\n * back to normal.\n *\n * @internal\n */\n duration: 50\n },\n /**\n * Pixel width of the graph line. By default this property is\n * undefined, and the `lineWidthPlus` property dictates how much\n * to increase the linewidth from normal state.\n *\n * @sample {highcharts} highcharts/plotoptions/series-states-hover-linewidth/\n * 5px line on hover\n *\n * @type {number}\n * @product highcharts highstock\n * @apioption plotOptions.series.states.hover.lineWidth\n */\n /**\n * The additional line width for the graph of a hovered series.\n *\n * @sample {highcharts} highcharts/plotoptions/series-states-hover-linewidthplus/\n * 5 pixels wider\n * @sample {highstock} highcharts/plotoptions/series-states-hover-linewidthplus/\n * 5 pixels wider\n *\n * @since 4.0.3\n * @product highcharts highstock\n */\n lineWidthPlus: 1,\n /**\n * In Highcharts 1.0, the appearance of all markers belonging\n * to the hovered series. For settings on the hover state of the\n * individual point, see\n * [marker.states.hover](#plotOptions.series.marker.states.hover).\n *\n * @deprecated\n *\n * @extends plotOptions.series.marker\n * @excluding states\n * @product highcharts highstock\n */\n marker: {\n // lineWidth: base + 1,\n // radius: base + 1\n },\n /**\n * Options for the halo appearing around the hovered point in\n * line-type series as well as outside the hovered slice in pie\n * charts. By default the halo is filled by the current point or\n * series color with an opacity of 0.25\\. The halo can be\n * disabled by setting the `halo` option to `null`.\n *\n * In styled mode, the halo is styled with the\n * `.highcharts-halo` class, with colors inherited from\n * `.highcharts-color-{n}`.\n *\n * @sample {highcharts} highcharts/plotoptions/halo/\n * Halo options\n * @sample {highstock} highcharts/plotoptions/halo/\n * Halo options\n *\n * @declare Highcharts.SeriesStatesHoverHaloOptionsObject\n * @type {null|*}\n * @since 4.0\n * @product highcharts highstock\n */\n halo: {\n /**\n * A collection of SVG attributes to override the appearance\n * of the halo, for example `fill`, `stroke` and\n * `stroke-width`.\n *\n * @type {Highcharts.SVGAttributes}\n * @since 4.0\n * @product highcharts highstock\n * @apioption plotOptions.series.states.hover.halo.attributes\n */\n /**\n * The pixel size of the halo. For point markers this is the\n * radius of the halo. For pie slices it is the width of the\n * halo outside the slice. For bubbles it defaults to 5 and\n * is the width of the halo outside the bubble.\n *\n * @since 4.0\n * @product highcharts highstock\n */\n size: 10,\n /**\n * Opacity for the halo unless a specific fill is overridden\n * using the `attributes` setting. Note that Highcharts is\n * only able to apply opacity to colors of hex or rgb(a)\n * formats.\n *\n * @since 4.0\n * @product highcharts highstock\n */\n opacity: 0.25\n }\n },\n /**\n * Specific options for point in selected states, after being\n * selected by\n * [allowPointSelect](#plotOptions.series.allowPointSelect)\n * or programmatically.\n *\n * @sample maps/plotoptions/series-allowpointselect/\n * Allow point select demo\n *\n * @declare Highcharts.SeriesStatesSelectOptionsObject\n * @extends plotOptions.series.states.hover\n * @excluding brightness\n */\n select: {\n animation: {\n /** @internal */\n duration: 0\n }\n },\n /**\n * The opposite state of a hover for series.\n *\n * @sample highcharts/plotoptions/series-states-inactive-disabled\n * Disabled inactive state\n *\n * @declare Highcharts.SeriesStatesInactiveOptionsObject\n */\n inactive: {\n /**\n * Enable or disable the inactive state for a series\n *\n * @sample highcharts/plotoptions/series-states-inactive-disabled\n * Disabled inactive state\n *\n * @type {boolean}\n * @default true\n * @apioption plotOptions.series.states.inactive.enabled\n */\n /**\n * The animation for entering the inactive state.\n *\n * @type {boolean|Partial}\n */\n animation: {\n /** @internal */\n duration: 50\n },\n /**\n * Opacity of series elements (dataLabels, line, area).\n *\n * @type {number}\n */\n opacity: 0.2\n }\n },\n /**\n * Sticky tracking of mouse events. When true, the `mouseOut` event on a\n * series isn't triggered until the mouse moves over another series, or\n * out of the plot area. When false, the `mouseOut` event on a series is\n * triggered when the mouse leaves the area around the series' graph or\n * markers. This also implies the tooltip when not shared. When\n * `stickyTracking` is false and `tooltip.shared` is false, the tooltip\n * will be hidden when moving the mouse between series. Defaults to true\n * for line and area type series, but to false for columns, pies etc.\n *\n * **Note:** The boost module will force this option because of\n * technical limitations.\n *\n * @sample {highcharts} highcharts/plotoptions/series-stickytracking-true/\n * True by default\n * @sample {highcharts} highcharts/plotoptions/series-stickytracking-false/\n * False\n *\n * @default {highcharts} true\n * @default {highstock} true\n * @default {highmaps} false\n * @since 2.0\n *\n * @private\n */\n stickyTracking: true,\n /**\n * A configuration object for the tooltip rendering of each single\n * series. Properties are inherited from [tooltip](#tooltip), but only\n * the following properties can be defined on a series level.\n *\n * @declare Highcharts.SeriesTooltipOptionsObject\n * @since 2.3\n * @extends tooltip\n * @excluding animation, backgroundColor, borderColor, borderRadius,\n * borderWidth, className, crosshairs, enabled, formatter,\n * headerShape, hideDelay, outside, padding, positioner,\n * shadow, shape, shared, snap, split, stickOnContact,\n * style, useHTML\n * @apioption plotOptions.series.tooltip\n */\n /**\n * When a series contains a data array that is longer than this, only\n * one dimensional arrays of numbers, or two dimensional arrays with\n * x and y values are allowed. Also, only the first point is tested,\n * and the rest are assumed to be the same format. This saves expensive\n * data checking and indexing in long series. Set it to `0` disable.\n *\n * Note:\n * In boost mode turbo threshold is forced. Only array of numbers or\n * two dimensional arrays are allowed.\n *\n * @since 2.2\n * @product highcharts highstock gantt\n *\n * @private\n */\n turboThreshold: 1000,\n /**\n * An array defining zones within a series. Zones can be applied to the\n * X axis, Y axis or Z axis for bubbles, according to the `zoneAxis`\n * option. The zone definitions have to be in ascending order regarding\n * to the value.\n *\n * In styled mode, the color zones are styled with the\n * `.highcharts-zone-{n}` class, or custom classed from the `className`\n * option\n * ([view live demo](https://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/highcharts/css/color-zones/)).\n *\n * @see [zoneAxis](#plotOptions.series.zoneAxis)\n *\n * @sample {highcharts} highcharts/series/color-zones-simple/\n * Color zones\n * @sample {highstock} highcharts/series/color-zones-simple/\n * Color zones\n *\n * @declare Highcharts.SeriesZonesOptionsObject\n * @type {Array<*>}\n * @since 4.1.0\n * @product highcharts highstock\n * @apioption plotOptions.series.zones\n */\n /**\n * Styled mode only. A custom class name for the zone.\n *\n * @sample highcharts/css/color-zones/\n * Zones styled by class name\n *\n * @type {string}\n * @since 5.0.0\n * @apioption plotOptions.series.zones.className\n */\n /**\n * Defines the color of the series.\n *\n * @see [series color](#plotOptions.series.color)\n *\n * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}\n * @since 4.1.0\n * @product highcharts highstock\n * @apioption plotOptions.series.zones.color\n */\n /**\n * A name for the dash style to use for the graph.\n *\n * @see [plotOptions.series.dashStyle](#plotOptions.series.dashStyle)\n *\n * @sample {highcharts|highstock} highcharts/series/color-zones-dashstyle-dot/\n * Dashed line indicates prognosis\n *\n * @type {Highcharts.DashStyleValue}\n * @since 4.1.0\n * @product highcharts highstock\n * @apioption plotOptions.series.zones.dashStyle\n */\n /**\n * Defines the fill color for the series (in area type series)\n *\n * @see [fillColor](#plotOptions.area.fillColor)\n *\n * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}\n * @since 4.1.0\n * @product highcharts highstock\n * @apioption plotOptions.series.zones.fillColor\n */\n /**\n * The value up to where the zone extends, if undefined the zones\n * stretches to the last value in the series.\n *\n * @type {number}\n * @since 4.1.0\n * @product highcharts highstock\n * @apioption plotOptions.series.zones.value\n */\n /**\n * When using dual or multiple color axes, this number defines which\n * colorAxis the particular series is connected to. It refers to\n * either the\n * {@link #colorAxis.id|axis id}\n * or the index of the axis in the colorAxis array, with 0 being the\n * first. Set this option to false to prevent a series from connecting\n * to the default color axis.\n *\n * Since v7.2.0 the option can also be an axis id or an axis index\n * instead of a boolean flag.\n *\n * @sample highcharts/coloraxis/coloraxis-with-pie/\n * Color axis with pie series\n * @sample highcharts/coloraxis/multiple-coloraxis/\n * Multiple color axis\n *\n * @type {number|string|boolean}\n * @default 0\n * @product highcharts highstock highmaps\n * @apioption plotOptions.series.colorAxis\n */\n /**\n * Determines what data value should be used to calculate point color\n * if `colorAxis` is used. Requires to set `min` and `max` if some\n * custom point property is used or if approximation for data grouping\n * is set to `'sum'`.\n *\n * @sample highcharts/coloraxis/custom-color-key/\n * Custom color key\n * @sample highcharts/coloraxis/changed-default-color-key/\n * Changed default color key\n *\n * @type {string}\n * @default y\n * @since 7.2.0\n * @product highcharts highstock highmaps\n * @apioption plotOptions.series.colorKey\n */\n /**\n * Determines whether the series should look for the nearest point\n * in both dimensions or just the x-dimension when hovering the series.\n * Defaults to `'xy'` for scatter series and `'x'` for most other\n * series. If the data has duplicate x-values, it is recommended to\n * set this to `'xy'` to allow hovering over all points.\n *\n * Applies only to series types using nearest neighbor search (not\n * direct hover) for tooltip.\n *\n * @sample {highcharts} highcharts/series/findnearestpointby/\n * Different hover behaviors\n * @sample {highstock} highcharts/series/findnearestpointby/\n * Different hover behaviors\n * @sample {highmaps} highcharts/series/findnearestpointby/\n * Different hover behaviors\n *\n * @since 5.0.10\n * @validvalue [\"x\", \"xy\"]\n *\n * @private\n */\n findNearestPointBy: 'x'\n }, \n /* eslint-disable no-invalid-this, valid-jsdoc */\n /** @lends Highcharts.Series.prototype */\n {\n axisTypes: ['xAxis', 'yAxis'],\n coll: 'series',\n colorCounter: 0,\n cropShoulder: 1,\n directTouch: false,\n isCartesian: true,\n // each point's x and y values are stored in this.xData and this.yData\n parallelArrays: ['x', 'y'],\n pointClass: Point,\n requireSorting: true,\n sorted: true,\n init: function (chart, options) {\n fireEvent(this, 'init', { options: options });\n var series = this,\n events,\n chartSeries = chart.series,\n lastSeries;\n // A lookup over those events that are added by _options_ (not\n // programmatically). These are updated through Series.update()\n // (#10861).\n this.eventOptions = this.eventOptions || {};\n // The 'eventsToUnbind' property moved from prototype into the\n // Series init to avoid reference to the same array between\n // the different series and charts. #12959, #13937\n this.eventsToUnbind = [];\n /**\n * Read only. The chart that the series belongs to.\n *\n * @name Highcharts.Series#chart\n * @type {Highcharts.Chart}\n */\n series.chart = chart;\n /**\n * Read only. The series' type, like \"line\", \"area\", \"column\" etc.\n * The type in the series options anc can be altered using\n * {@link Series#update}.\n *\n * @name Highcharts.Series#type\n * @type {string}\n */\n /**\n * Read only. The series' current options. To update, use\n * {@link Series#update}.\n *\n * @name Highcharts.Series#options\n * @type {Highcharts.SeriesOptionsType}\n */\n series.options = options = series.setOptions(options);\n series.linkedSeries = [];\n // bind the axes\n series.bindAxes();\n // set some variables\n extend(series, {\n /**\n * The series name as given in the options. Defaults to\n * \"Series {n}\".\n *\n * @name Highcharts.Series#name\n * @type {string}\n */\n name: options.name,\n state: '',\n /**\n * Read only. The series' visibility state as set by {@link\n * Series#show}, {@link Series#hide}, or in the initial\n * configuration.\n *\n * @name Highcharts.Series#visible\n * @type {boolean}\n */\n visible: options.visible !== false,\n /**\n * Read only. The series' selected state as set by {@link\n * Highcharts.Series#select}.\n *\n * @name Highcharts.Series#selected\n * @type {boolean}\n */\n selected: options.selected === true // false by default\n });\n // Register event listeners\n events = options.events;\n objectEach(events, function (event, eventType) {\n if (isFunction(event)) {\n // If event does not exist, or is changed by Series.update\n if (series.eventOptions[eventType] !== event) {\n // Remove existing if set by option\n if (isFunction(series.eventOptions[eventType])) {\n removeEvent(series, eventType, series.eventOptions[eventType]);\n }\n series.eventOptions[eventType] = event;\n addEvent(series, eventType, event);\n }\n }\n });\n if ((events && events.click) ||\n (options.point &&\n options.point.events &&\n options.point.events.click) ||\n options.allowPointSelect) {\n chart.runTrackerClick = true;\n }\n series.getColor();\n series.getSymbol();\n // Initialize the parallel data arrays\n series.parallelArrays.forEach(function (key) {\n if (!series[key + 'Data']) {\n series[key + 'Data'] = [];\n }\n });\n // Mark cartesian\n if (series.isCartesian) {\n chart.hasCartesianSeries = true;\n }\n // Get the index and register the series in the chart. The index is\n // one more than the current latest series index (#5960).\n if (chartSeries.length) {\n lastSeries = chartSeries[chartSeries.length - 1];\n }\n series._i = pick(lastSeries && lastSeries._i, -1) + 1;\n series.opacity = series.options.opacity;\n // Insert the series and re-order all series above the insertion\n // point.\n chart.orderSeries(this.insert(chartSeries));\n // Set options for series with sorting and set data later.\n if (options.dataSorting && options.dataSorting.enabled) {\n series.setDataSortingOptions();\n }\n else if (!series.points && !series.data) {\n series.setData(options.data, false);\n }\n fireEvent(this, 'afterInit');\n },\n /**\n * Check whether the series item is itself or inherits from a certain\n * series type.\n *\n * @function Highcharts.Series#is\n * @param {string} type The type of series to check for, can be either\n * featured or custom series types. For example `column`, `pie`,\n * `ohlc` etc.\n *\n * @return {boolean}\n * True if this item is or inherits from the given type.\n */\n is: function (type) {\n return seriesTypes[type] && this instanceof seriesTypes[type];\n },\n /**\n * Insert the series in a collection with other series, either the chart\n * series or yAxis series, in the correct order according to the index\n * option. Used internally when adding series.\n *\n * @private\n * @function Highcharts.Series#insert\n * @param {Array} collection\n * A collection of series, like `chart.series` or `xAxis.series`.\n * @return {number}\n * The index of the series in the collection.\n */\n insert: function (collection) {\n var indexOption = this.options.index,\n i;\n // Insert by index option\n if (isNumber(indexOption)) {\n i = collection.length;\n while (i--) {\n // Loop down until the interted element has higher index\n if (indexOption >=\n pick(collection[i].options.index, collection[i]._i)) {\n collection.splice(i + 1, 0, this);\n break;\n }\n }\n if (i === -1) {\n collection.unshift(this);\n }\n i = i + 1;\n // Or just push it to the end\n }\n else {\n collection.push(this);\n }\n return pick(i, collection.length - 1);\n },\n /**\n * Set the xAxis and yAxis properties of cartesian series, and register\n * the series in the `axis.series` array.\n *\n * @private\n * @function Highcharts.Series#bindAxes\n * @return {void}\n * @exception 18\n */\n bindAxes: function () {\n var series = this,\n seriesOptions = series.options,\n chart = series.chart,\n axisOptions;\n fireEvent(this, 'bindAxes', null, function () {\n // repeat for xAxis and yAxis\n (series.axisTypes || []).forEach(function (AXIS) {\n // loop through the chart's axis objects\n chart[AXIS].forEach(function (axis) {\n axisOptions = axis.options;\n // apply if the series xAxis or yAxis option mathches\n // the number of the axis, or if undefined, use the\n // first axis\n if (seriesOptions[AXIS] ===\n axisOptions.index ||\n (typeof seriesOptions[AXIS] !==\n 'undefined' &&\n seriesOptions[AXIS] === axisOptions.id) ||\n (typeof seriesOptions[AXIS] ===\n 'undefined' &&\n axisOptions.index === 0)) {\n // register this series in the axis.series lookup\n series.insert(axis.series);\n // set this series.xAxis or series.yAxis reference\n /**\n * Read only. The unique xAxis object associated\n * with the series.\n *\n * @name Highcharts.Series#xAxis\n * @type {Highcharts.Axis}\n */\n /**\n * Read only. The unique yAxis object associated\n * with the series.\n *\n * @name Highcharts.Series#yAxis\n * @type {Highcharts.Axis}\n */\n series[AXIS] = axis;\n // mark dirty for redraw\n axis.isDirty = true;\n }\n });\n // The series needs an X and an Y axis\n if (!series[AXIS] &&\n series.optionalAxis !== AXIS) {\n error(18, true, chart);\n }\n });\n });\n fireEvent(this, 'afterBindAxes');\n },\n /**\n * For simple series types like line and column, the data values are\n * held in arrays like xData and yData for quick lookup to find extremes\n * and more. For multidimensional series like bubble and map, this can\n * be extended with arrays like zData and valueData by adding to the\n * `series.parallelArrays` array.\n *\n * @private\n * @function Highcharts.Series#updateParallelArrays\n * @param {Highcharts.Point} point\n * @param {number|string} i\n * @return {void}\n */\n updateParallelArrays: function (point, i) {\n var series = point.series,\n args = arguments,\n fn = isNumber(i) ?\n // Insert the value in the given position\n function (key) {\n var val = key === 'y' && series.toYData ?\n series.toYData(point) :\n point[key];\n series[key + 'Data'][i] = val;\n } :\n // Apply the method specified in i with the following\n // arguments as arguments\n function (key) {\n Array.prototype[i].apply(series[key + 'Data'], Array.prototype.slice.call(args, 2));\n };\n series.parallelArrays.forEach(fn);\n },\n /**\n * Define hasData functions for series. These return true if there\n * are data points on this series within the plot area.\n *\n * @private\n * @function Highcharts.Series#hasData\n * @return {boolean}\n */\n hasData: function () {\n return ((this.visible &&\n typeof this.dataMax !== 'undefined' &&\n typeof this.dataMin !== 'undefined') || ( // #3703\n this.visible &&\n this.yData &&\n this.yData.length > 0) // #9758\n );\n },\n /**\n * Return an auto incremented x value based on the pointStart and\n * pointInterval options. This is only used if an x value is not given\n * for the point that calls autoIncrement.\n *\n * @private\n * @function Highcharts.Series#autoIncrement\n * @return {number}\n */\n autoIncrement: function () {\n var options = this.options,\n xIncrement = this.xIncrement,\n date,\n pointInterval,\n pointIntervalUnit = options.pointIntervalUnit,\n time = this.chart.time;\n xIncrement = pick(xIncrement, options.pointStart, 0);\n this.pointInterval = pointInterval = pick(this.pointInterval, options.pointInterval, 1);\n // Added code for pointInterval strings\n if (pointIntervalUnit) {\n date = new time.Date(xIncrement);\n if (pointIntervalUnit === 'day') {\n time.set('Date', date, time.get('Date', date) + pointInterval);\n }\n else if (pointIntervalUnit === 'month') {\n time.set('Month', date, time.get('Month', date) + pointInterval);\n }\n else if (pointIntervalUnit === 'year') {\n time.set('FullYear', date, time.get('FullYear', date) + pointInterval);\n }\n pointInterval = date.getTime() - xIncrement;\n }\n this.xIncrement = xIncrement + pointInterval;\n return xIncrement;\n },\n /**\n * Internal function to set properties for series if data sorting is\n * enabled.\n *\n * @private\n * @function Highcharts.Series#setDataSortingOptions\n * @return {void}\n */\n setDataSortingOptions: function () {\n var options = this.options;\n extend(this, {\n requireSorting: false,\n sorted: false,\n enabledDataSorting: true,\n allowDG: false\n });\n // To allow unsorted data for column series.\n if (!defined(options.pointRange)) {\n options.pointRange = 1;\n }\n },\n /**\n * Set the series options by merging from the options tree. Called\n * internally on initializing and updating series. This function will\n * not redraw the series. For API usage, use {@link Series#update}.\n * @private\n * @function Highcharts.Series#setOptions\n * @param {Highcharts.SeriesOptionsType} itemOptions\n * The series options.\n * @return {Highcharts.SeriesOptionsType}\n * @fires Highcharts.Series#event:afterSetOptions\n */\n setOptions: function (itemOptions) {\n var chart = this.chart,\n chartOptions = chart.options,\n plotOptions = chartOptions.plotOptions,\n userOptions = chart.userOptions || {},\n seriesUserOptions = merge(itemOptions),\n options,\n zones,\n zone,\n styledMode = chart.styledMode,\n e = {\n plotOptions: plotOptions,\n userOptions: seriesUserOptions\n };\n fireEvent(this, 'setOptions', e);\n // These may be modified by the event\n var typeOptions = e.plotOptions[this.type],\n userPlotOptions = (userOptions.plotOptions || {});\n // use copy to prevent undetected changes (#9762)\n /**\n * Contains series options by the user without defaults.\n * @name Highcharts.Series#userOptions\n * @type {Highcharts.SeriesOptionsType}\n */\n this.userOptions = e.userOptions;\n options = merge(typeOptions, plotOptions.series, \n // #3881, chart instance plotOptions[type] should trump\n // plotOptions.series\n userOptions.plotOptions &&\n userOptions.plotOptions[this.type], seriesUserOptions);\n // The tooltip options are merged between global and series specific\n // options. Importance order asscendingly:\n // globals: (1)tooltip, (2)plotOptions.series,\n // (3)plotOptions[this.type]\n // init userOptions with possible later updates: 4-6 like 1-3 and\n // (7)this series options\n this.tooltipOptions = merge(defaultOptions.tooltip, // 1\n defaultOptions.plotOptions.series &&\n defaultOptions.plotOptions.series.tooltip, // 2\n defaultOptions.plotOptions[this.type].tooltip, // 3\n chartOptions.tooltip.userOptions, // 4\n plotOptions.series &&\n plotOptions.series.tooltip, // 5\n plotOptions[this.type].tooltip, // 6\n seriesUserOptions.tooltip // 7\n );\n // When shared tooltip, stickyTracking is true by default,\n // unless user says otherwise.\n this.stickyTracking = pick(seriesUserOptions.stickyTracking, userPlotOptions[this.type] &&\n userPlotOptions[this.type].stickyTracking, userPlotOptions.series && userPlotOptions.series.stickyTracking, (this.tooltipOptions.shared && !this.noSharedTooltip ?\n true :\n options.stickyTracking));\n // Delete marker object if not allowed (#1125)\n if (typeOptions.marker === null) {\n delete options.marker;\n }\n // Handle color zones\n this.zoneAxis = options.zoneAxis;\n zones = this.zones = (options.zones || []).slice();\n if ((options.negativeColor || options.negativeFillColor) &&\n !options.zones) {\n zone = {\n value: options[this.zoneAxis + 'Threshold'] ||\n options.threshold ||\n 0,\n className: 'highcharts-negative'\n };\n if (!styledMode) {\n zone.color = options.negativeColor;\n zone.fillColor = options.negativeFillColor;\n }\n zones.push(zone);\n }\n if (zones.length) { // Push one extra zone for the rest\n if (defined(zones[zones.length - 1].value)) {\n zones.push(styledMode ? {} : {\n color: this.color,\n fillColor: this.fillColor\n });\n }\n }\n fireEvent(this, 'afterSetOptions', { options: options });\n return options;\n },\n /**\n * Return series name in \"Series {Number}\" format or the one defined by\n * a user. This method can be simply overridden as series name format\n * can vary (e.g. technical indicators).\n *\n * @function Highcharts.Series#getName\n * @return {string}\n * The series name.\n */\n getName: function () {\n // #4119\n return pick(this.options.name, 'Series ' + (this.index + 1));\n },\n /**\n * @private\n * @function Highcharts.Series#getCyclic\n * @param {string} prop\n * @param {*} [value]\n * @param {Highcharts.Dictionary} [defaults]\n * @return {void}\n */\n getCyclic: function (prop, value, defaults) {\n var i, chart = this.chart, userOptions = this.userOptions, indexName = prop + 'Index', counterName = prop + 'Counter', len = defaults ? defaults.length : pick(chart.options.chart[prop + 'Count'], chart[prop + 'Count']), setting;\n if (!value) {\n // Pick up either the colorIndex option, or the _colorIndex\n // after Series.update()\n setting = pick(userOptions[indexName], userOptions['_' + indexName]);\n if (defined(setting)) { // after Series.update()\n i = setting;\n }\n else {\n // #6138\n if (!chart.series.length) {\n chart[counterName] = 0;\n }\n userOptions['_' + indexName] = i =\n chart[counterName] % len;\n chart[counterName] += 1;\n }\n if (defaults) {\n value = defaults[i];\n }\n }\n // Set the colorIndex\n if (typeof i !== 'undefined') {\n this[indexName] = i;\n }\n this[prop] = value;\n },\n /**\n * Get the series' color based on either the options or pulled from\n * global options.\n *\n * @private\n * @function Highcharts.Series#getColor\n * @return {void}\n */\n getColor: function () {\n if (this.chart.styledMode) {\n this.getCyclic('color');\n }\n else if (this.options.colorByPoint) {\n // #4359, selected slice got series.color even when colorByPoint\n // was set.\n this.options.color = null;\n }\n else {\n this.getCyclic('color', this.options.color ||\n defaultOptions.plotOptions[this.type].color, this.chart.options.colors);\n }\n },\n /**\n * Get all points' instances created for this series.\n *\n * @private\n * @function Highcharts.Series#getPointsCollection\n * @return {Array}\n */\n getPointsCollection: function () {\n return (this.hasGroupedData ? this.points : this.data) || [];\n },\n /**\n * Get the series' symbol based on either the options or pulled from\n * global options.\n *\n * @private\n * @function Highcharts.Series#getSymbol\n * @return {void}\n */\n getSymbol: function () {\n var seriesMarkerOption = this.options.marker;\n this.getCyclic('symbol', seriesMarkerOption.symbol, this.chart.options.symbols);\n },\n /**\n * Finds the index of an existing point that matches the given point\n * options.\n *\n * @private\n * @function Highcharts.Series#findPointIndex\n * @param {Highcharts.PointOptionsObject} optionsObject\n * The options of the point.\n * @param {number} fromIndex\n * The index to start searching from, used for optimizing\n * series with required sorting.\n * @returns {number|undefined}\n * Returns the index of a matching point, or undefined if no\n * match is found.\n */\n findPointIndex: function (optionsObject, fromIndex) {\n var id = optionsObject.id,\n x = optionsObject.x,\n oldData = this.points,\n matchingPoint,\n matchedById,\n pointIndex,\n matchKey,\n dataSorting = this.options.dataSorting;\n if (id) {\n matchingPoint = this.chart.get(id);\n }\n else if (this.linkedParent || this.enabledDataSorting) {\n matchKey = (dataSorting && dataSorting.matchByName) ?\n 'name' : 'index';\n matchingPoint = find(oldData, function (oldPoint) {\n return !oldPoint.touched && oldPoint[matchKey] ===\n optionsObject[matchKey];\n });\n // Add unmatched point as a new point\n if (!matchingPoint) {\n return void 0;\n }\n }\n if (matchingPoint) {\n pointIndex = matchingPoint && matchingPoint.index;\n if (typeof pointIndex !== 'undefined') {\n matchedById = true;\n }\n }\n // Search for the same X in the existing data set\n if (typeof pointIndex === 'undefined' && isNumber(x)) {\n pointIndex = this.xData.indexOf(x, fromIndex);\n }\n // Reduce pointIndex if data is cropped\n if (pointIndex !== -1 &&\n typeof pointIndex !== 'undefined' &&\n this.cropped) {\n pointIndex = (pointIndex >= this.cropStart) ?\n pointIndex - this.cropStart : pointIndex;\n }\n if (!matchedById &&\n oldData[pointIndex] && oldData[pointIndex].touched) {\n pointIndex = void 0;\n }\n return pointIndex;\n },\n /**\n * @private\n * @borrows LegendSymbolMixin.drawLineMarker as Highcharts.Series#drawLegendSymbol\n */\n drawLegendSymbol: LegendSymbolMixin.drawLineMarker,\n /**\n * Internal function called from setData. If the point count is the same\n * as is was, or if there are overlapping X values, just run\n * Point.update which is cheaper, allows animation, and keeps references\n * to points. This also allows adding or removing points if the X-es\n * don't match.\n *\n * @private\n * @function Highcharts.Series#updateData\n *\n * @param {Array} data\n *\n * @return {boolean}\n */\n updateData: function (data, animation) {\n var options = this.options,\n dataSorting = options.dataSorting,\n oldData = this.points,\n pointsToAdd = [],\n hasUpdatedByKey,\n i,\n point,\n lastIndex,\n requireSorting = this.requireSorting,\n equalLength = data.length === oldData.length,\n succeeded = true;\n this.xIncrement = null;\n // Iterate the new data\n data.forEach(function (pointOptions, i) {\n var id,\n x,\n pointIndex,\n optionsObject = (defined(pointOptions) &&\n this.pointClass.prototype.optionsToObject.call({ series: this },\n pointOptions)) || {};\n // Get the x of the new data point\n x = optionsObject.x;\n id = optionsObject.id;\n if (id || isNumber(x)) {\n pointIndex = this.findPointIndex(optionsObject, lastIndex);\n // Matching X not found\n // or used already due to ununique x values (#8995),\n // add point (but later)\n if (pointIndex === -1 ||\n typeof pointIndex === 'undefined') {\n pointsToAdd.push(pointOptions);\n // Matching X found, update\n }\n else if (oldData[pointIndex] &&\n pointOptions !== options.data[pointIndex]) {\n oldData[pointIndex].update(pointOptions, false, null, false);\n // Mark it touched, below we will remove all points that\n // are not touched.\n oldData[pointIndex].touched = true;\n // Speed optimize by only searching after last known\n // index. Performs ~20% bettor on large data sets.\n if (requireSorting) {\n lastIndex = pointIndex + 1;\n }\n // Point exists, no changes, don't remove it\n }\n else if (oldData[pointIndex]) {\n oldData[pointIndex].touched = true;\n }\n // If the length is equal and some of the nodes had a\n // match in the same position, we don't want to remove\n // non-matches.\n if (!equalLength ||\n i !== pointIndex ||\n (dataSorting && dataSorting.enabled) ||\n this.hasDerivedData) {\n hasUpdatedByKey = true;\n }\n }\n else {\n // Gather all points that are not matched\n pointsToAdd.push(pointOptions);\n }\n }, this);\n // Remove points that don't exist in the updated data set\n if (hasUpdatedByKey) {\n i = oldData.length;\n while (i--) {\n point = oldData[i];\n if (point && !point.touched && point.remove) {\n point.remove(false, animation);\n }\n }\n // If we did not find keys (ids or x-values), and the length is the\n // same, update one-to-one\n }\n else if (equalLength && (!dataSorting || !dataSorting.enabled)) {\n data.forEach(function (point, i) {\n // .update doesn't exist on a linked, hidden series (#3709)\n // (#10187)\n if (oldData[i].update && point !== oldData[i].y) {\n oldData[i].update(point, false, null, false);\n }\n });\n // Don't add new points since those configs are used above\n pointsToAdd.length = 0;\n // Did not succeed in updating data\n }\n else {\n succeeded = false;\n }\n oldData.forEach(function (point) {\n if (point) {\n point.touched = false;\n }\n });\n if (!succeeded) {\n return false;\n }\n // Add new points\n pointsToAdd.forEach(function (point) {\n this.addPoint(point, false, null, null, false);\n }, this);\n if (this.xIncrement === null &&\n this.xData &&\n this.xData.length) {\n this.xIncrement = arrayMax(this.xData);\n this.autoIncrement();\n }\n return true;\n },\n /**\n * Apply a new set of data to the series and optionally redraw it. The\n * new data array is passed by reference (except in case of\n * `updatePoints`), and may later be mutated when updating the chart\n * data.\n *\n * Note the difference in behaviour when setting the same amount of\n * points, or a different amount of points, as handled by the\n * `updatePoints` parameter.\n *\n * @sample highcharts/members/series-setdata/\n * Set new data from a button\n * @sample highcharts/members/series-setdata-pie/\n * Set data in a pie\n * @sample stock/members/series-setdata/\n * Set new data in Highstock\n * @sample maps/members/series-setdata/\n * Set new data in Highmaps\n *\n * @function Highcharts.Series#setData\n *\n * @param {Array} data\n * Takes an array of data in the same format as described under\n * `series.{type}.data` for the given series type, for example a\n * line series would take data in the form described under\n * [series.line.data](https://api.highcharts.com/highcharts/series.line.data).\n *\n * @param {boolean} [redraw=true]\n * Whether to redraw the chart after the series is altered. If\n * doing more operations on the chart, it is a good idea to set\n * redraw to false and call {@link Chart#redraw} after.\n *\n * @param {boolean|Partial} [animation]\n * When the updated data is the same length as the existing data,\n * points will be updated by default, and animation visualizes\n * how the points are changed. Set false to disable animation, or\n * a configuration object to set duration or easing.\n *\n * @param {boolean} [updatePoints=true]\n * When this is true, points will be updated instead of replaced\n * whenever possible. This occurs a) when the updated data is the\n * same length as the existing data, b) when points are matched\n * by their id's, or c) when points can be matched by X values.\n * This allows updating with animation and performs better. In\n * this case, the original array is not passed by reference. Set\n * `false` to prevent.\n *\n * @return {void}\n */\n setData: function (data, redraw, animation, updatePoints) {\n var series = this,\n oldData = series.points,\n oldDataLength = (oldData && oldData.length) || 0,\n dataLength,\n options = series.options,\n chart = series.chart,\n dataSorting = options.dataSorting,\n firstPoint = null,\n xAxis = series.xAxis,\n i,\n turboThreshold = options.turboThreshold,\n pt,\n xData = this.xData,\n yData = this.yData,\n pointArrayMap = series.pointArrayMap,\n valueCount = pointArrayMap && pointArrayMap.length,\n keys = options.keys,\n indexOfX = 0,\n indexOfY = 1,\n updatedData;\n data = data || [];\n dataLength = data.length;\n redraw = pick(redraw, true);\n if (dataSorting && dataSorting.enabled) {\n data = this.sortData(data);\n }\n // First try to run Point.update which is cheaper, allows animation,\n // and keeps references to points.\n if (updatePoints !== false &&\n dataLength &&\n oldDataLength &&\n !series.cropped &&\n !series.hasGroupedData &&\n series.visible &&\n // Soft updating has no benefit in boost, and causes JS error\n // (#8355)\n !series.isSeriesBoosting) {\n updatedData = this.updateData(data, animation);\n }\n if (!updatedData) {\n // Reset properties\n series.xIncrement = null;\n series.colorCounter = 0; // for series with colorByPoint (#1547)\n // Update parallel arrays\n this.parallelArrays.forEach(function (key) {\n series[key + 'Data'].length = 0;\n });\n // In turbo mode, only one- or twodimensional arrays of numbers\n // are allowed. The first value is tested, and we assume that\n // all the rest are defined the same way. Although the 'for'\n // loops are similar, they are repeated inside each if-else\n // conditional for max performance.\n if (turboThreshold && dataLength > turboThreshold) {\n firstPoint = series.getFirstValidPoint(data);\n if (isNumber(firstPoint)) { // assume all points are numbers\n for (i = 0; i < dataLength; i++) {\n xData[i] = this.autoIncrement();\n yData[i] = data[i];\n }\n // Assume all points are arrays when first point is\n }\n else if (isArray(firstPoint)) {\n if (valueCount) { // [x, low, high] or [x, o, h, l, c]\n for (i = 0; i < dataLength; i++) {\n pt = data[i];\n xData[i] = pt[0];\n yData[i] =\n pt.slice(1, valueCount + 1);\n }\n }\n else { // [x, y]\n if (keys) {\n indexOfX = keys.indexOf('x');\n indexOfY = keys.indexOf('y');\n indexOfX = indexOfX >= 0 ? indexOfX : 0;\n indexOfY = indexOfY >= 0 ? indexOfY : 1;\n }\n for (i = 0; i < dataLength; i++) {\n pt = data[i];\n xData[i] = pt[indexOfX];\n yData[i] = pt[indexOfY];\n }\n }\n }\n else {\n // Highcharts expects configs to be numbers or arrays in\n // turbo mode\n error(12, false, chart);\n }\n }\n else {\n for (i = 0; i < dataLength; i++) {\n // stray commas in oldIE:\n if (typeof data[i] !== 'undefined') {\n pt = { series: series };\n series.pointClass.prototype.applyOptions.apply(pt, [data[i]]);\n series.updateParallelArrays(pt, i);\n }\n }\n }\n // Forgetting to cast strings to numbers is a common caveat when\n // handling CSV or JSON\n if (yData && isString(yData[0])) {\n error(14, true, chart);\n }\n series.data = [];\n series.options.data = series.userOptions.data = data;\n // destroy old points\n i = oldDataLength;\n while (i--) {\n if (oldData[i] && oldData[i].destroy) {\n oldData[i].destroy();\n }\n }\n // reset minRange (#878)\n if (xAxis) {\n xAxis.minRange = xAxis.userMinRange;\n }\n // redraw\n series.isDirty = chart.isDirtyBox = true;\n series.isDirtyData = !!oldData;\n animation = false;\n }\n // Typically for pie series, points need to be processed and\n // generated prior to rendering the legend\n if (options.legendType === 'point') {\n this.processData();\n this.generatePoints();\n }\n if (redraw) {\n chart.redraw(animation);\n }\n },\n /**\n * Internal function to sort series data\n *\n * @private\n * @function Highcharts.Series#sortData\n * @param {Array} data\n * Force data grouping.\n * @return {Array}\n */\n sortData: function (data) {\n var series = this,\n options = series.options,\n dataSorting = options.dataSorting,\n sortKey = dataSorting.sortKey || 'y',\n sortedData,\n getPointOptionsObject = function (series,\n pointOptions) {\n return (defined(pointOptions) &&\n series.pointClass.prototype.optionsToObject.call({\n series: series\n },\n pointOptions)) || {};\n };\n data.forEach(function (pointOptions, i) {\n data[i] = getPointOptionsObject(series, pointOptions);\n data[i].index = i;\n }, this);\n // Sorting\n sortedData = data.concat().sort(function (a, b) {\n var aValue = getNestedProperty(sortKey,\n a);\n var bValue = getNestedProperty(sortKey,\n b);\n return bValue < aValue ? -1 : bValue > aValue ? 1 : 0;\n });\n // Set x value depending on the position in the array\n sortedData.forEach(function (point, i) {\n point.x = i;\n }, this);\n // Set the same x for linked series points if they don't have their\n // own sorting\n if (series.linkedSeries) {\n series.linkedSeries.forEach(function (linkedSeries) {\n var options = linkedSeries.options,\n seriesData = options.data;\n if ((!options.dataSorting ||\n !options.dataSorting.enabled) &&\n seriesData) {\n seriesData.forEach(function (pointOptions, i) {\n seriesData[i] = getPointOptionsObject(linkedSeries, pointOptions);\n if (data[i]) {\n seriesData[i].x = data[i].x;\n seriesData[i].index = i;\n }\n });\n linkedSeries.setData(seriesData, false);\n }\n });\n }\n return data;\n },\n /**\n * Internal function to process the data by cropping away unused data\n * points if the series is longer than the crop threshold. This saves\n * computing time for large series.\n *\n * @private\n * @function Highcharts.Series#getProcessedData\n * @param {boolean} [forceExtremesFromAll]\n * Force getting extremes of a total series data range.\n * @return {Highcharts.SeriesProcessedDataObject}\n */\n getProcessedData: function (forceExtremesFromAll) {\n var series = this, \n // copied during slice operation:\n processedXData = series.xData,\n processedYData = series.yData,\n dataLength = processedXData.length,\n croppedData,\n cropStart = 0,\n cropped,\n distance,\n closestPointRange,\n xAxis = series.xAxis,\n i, // loop variable\n options = series.options,\n cropThreshold = options.cropThreshold,\n getExtremesFromAll = forceExtremesFromAll ||\n series.getExtremesFromAll ||\n options.getExtremesFromAll, // #4599\n isCartesian = series.isCartesian,\n xExtremes,\n val2lin = xAxis && xAxis.val2lin,\n isLog = !!(xAxis && xAxis.logarithmic),\n throwOnUnsorted = series.requireSorting,\n min,\n max;\n if (xAxis) {\n // corrected for log axis (#3053)\n xExtremes = xAxis.getExtremes();\n min = xExtremes.min;\n max = xExtremes.max;\n }\n // optionally filter out points outside the plot area\n if (isCartesian &&\n series.sorted &&\n !getExtremesFromAll &&\n (!cropThreshold ||\n dataLength > cropThreshold ||\n series.forceCrop)) {\n // it's outside current extremes\n if (processedXData[dataLength - 1] < min ||\n processedXData[0] > max) {\n processedXData = [];\n processedYData = [];\n // only crop if it's actually spilling out\n }\n else if (series.yData && (processedXData[0] < min ||\n processedXData[dataLength - 1] > max)) {\n croppedData = this.cropData(series.xData, series.yData, min, max);\n processedXData = croppedData.xData;\n processedYData = croppedData.yData;\n cropStart = croppedData.start;\n cropped = true;\n }\n }\n // Find the closest distance between processed points\n i = processedXData.length || 1;\n while (--i) {\n distance = (isLog ?\n (val2lin(processedXData[i]) -\n val2lin(processedXData[i - 1])) :\n (processedXData[i] -\n processedXData[i - 1]));\n if (distance > 0 &&\n (typeof closestPointRange === 'undefined' ||\n distance < closestPointRange)) {\n closestPointRange = distance;\n // Unsorted data is not supported by the line tooltip, as well\n // as data grouping and navigation in Stock charts (#725) and\n // width calculation of columns (#1900)\n }\n else if (distance < 0 && throwOnUnsorted) {\n error(15, false, series.chart);\n throwOnUnsorted = false; // Only once\n }\n }\n return {\n xData: processedXData,\n yData: processedYData,\n cropped: cropped,\n cropStart: cropStart,\n closestPointRange: closestPointRange\n };\n },\n /**\n * Internal function to apply processed data.\n * In Highstock, this function is extended to provide data grouping.\n *\n * @private\n * @function Highcharts.Series#processData\n * @param {boolean} [force]\n * Force data grouping.\n * @return {boolean|undefined}\n */\n processData: function (force) {\n var series = this,\n xAxis = series.xAxis,\n processedData;\n // If the series data or axes haven't changed, don't go through\n // this. Return false to pass the message on to override methods\n // like in data grouping.\n if (series.isCartesian &&\n !series.isDirty &&\n !xAxis.isDirty &&\n !series.yAxis.isDirty &&\n !force) {\n return false;\n }\n processedData = series.getProcessedData();\n // Record the properties\n series.cropped = processedData.cropped; // undefined or true\n series.cropStart = processedData.cropStart;\n series.processedXData = processedData.xData;\n series.processedYData = processedData.yData;\n series.closestPointRange =\n series.basePointRange = processedData.closestPointRange;\n },\n /**\n * Iterate over xData and crop values between min and max. Returns\n * object containing crop start/end cropped xData with corresponding\n * part of yData, dataMin and dataMax within the cropped range.\n *\n * @private\n * @function Highcharts.Series#cropData\n * @param {Array} xData\n * @param {Array} yData\n * @param {number} min\n * @param {number} max\n * @param {number} [cropShoulder]\n * @return {Highcharts.SeriesCropDataObject}\n */\n cropData: function (xData, yData, min, max, cropShoulder) {\n var dataLength = xData.length,\n cropStart = 0,\n cropEnd = dataLength,\n i,\n j;\n // line-type series need one point outside\n cropShoulder = pick(cropShoulder, this.cropShoulder);\n // iterate up to find slice start\n for (i = 0; i < dataLength; i++) {\n if (xData[i] >= min) {\n cropStart = Math.max(0, i - cropShoulder);\n break;\n }\n }\n // proceed to find slice end\n for (j = i; j < dataLength; j++) {\n if (xData[j] > max) {\n cropEnd = j + cropShoulder;\n break;\n }\n }\n return {\n xData: xData.slice(cropStart, cropEnd),\n yData: yData.slice(cropStart, cropEnd),\n start: cropStart,\n end: cropEnd\n };\n },\n /**\n * Generate the data point after the data has been processed by cropping\n * away unused points and optionally grouped in Highcharts Stock.\n *\n * @private\n * @function Highcharts.Series#generatePoints\n */\n generatePoints: function () {\n var series = this,\n options = series.options,\n dataOptions = options.data,\n data = series.data,\n dataLength,\n processedXData = series.processedXData,\n processedYData = series.processedYData,\n PointClass = series.pointClass,\n processedDataLength = processedXData.length,\n cropStart = series.cropStart || 0,\n cursor,\n hasGroupedData = series.hasGroupedData,\n keys = options.keys,\n point,\n points = [],\n i;\n if (!data && !hasGroupedData) {\n var arr = [];\n arr.length = dataOptions.length;\n data = series.data = arr;\n }\n if (keys && hasGroupedData) {\n // grouped data has already applied keys (#6590)\n series.options.keys = false;\n }\n for (i = 0; i < processedDataLength; i++) {\n cursor = cropStart + i;\n if (!hasGroupedData) {\n point = data[cursor];\n // #970:\n if (!point &&\n typeof dataOptions[cursor] !== 'undefined') {\n data[cursor] = point = (new PointClass()).init(series, dataOptions[cursor], processedXData[i]);\n }\n }\n else {\n // splat the y data in case of ohlc data array\n point = (new PointClass()).init(series, [processedXData[i]].concat(splat(processedYData[i])));\n /**\n * Highstock only. If a point object is created by data\n * grouping, it doesn't reflect actual points in the raw\n * data. In this case, the `dataGroup` property holds\n * information that points back to the raw data.\n *\n * - `dataGroup.start` is the index of the first raw data\n * point in the group.\n *\n * - `dataGroup.length` is the amount of points in the\n * group.\n *\n * @product highstock\n *\n * @name Highcharts.Point#dataGroup\n * @type {Highcharts.DataGroupingInfoObject|undefined}\n */\n point.dataGroup = series.groupMap[i];\n if (point.dataGroup.options) {\n point.options = point.dataGroup.options;\n extend(point, point.dataGroup.options);\n // Collision of props and options (#9770)\n delete point.dataLabels;\n }\n }\n if (point) { // #6279\n /**\n * Contains the point's index in the `Series.points` array.\n *\n * @name Highcharts.Point#index\n * @type {number}\n * @readonly\n */\n point.index = cursor; // For faster access in Point.update\n points[i] = point;\n }\n }\n // restore keys options (#6590)\n series.options.keys = keys;\n // Hide cropped-away points - this only runs when the number of\n // points is above cropThreshold, or when swithching view from\n // non-grouped data to grouped data (#637)\n if (data &&\n (processedDataLength !== (dataLength = data.length) ||\n hasGroupedData)) {\n for (i = 0; i < dataLength; i++) {\n // when has grouped data, clear all points\n if (i === cropStart && !hasGroupedData) {\n i += processedDataLength;\n }\n if (data[i]) {\n data[i].destroyElements();\n data[i].plotX = void 0; // #1003\n }\n }\n }\n /**\n * Read only. An array containing those values converted to points.\n * In case the series data length exceeds the `cropThreshold`, or if\n * the data is grouped, `series.data` doesn't contain all the\n * points. Also, in case a series is hidden, the `data` array may be\n * empty. To access raw values, `series.options.data` will always be\n * up to date. `Series.data` only contains the points that have been\n * created on demand. To modify the data, use\n * {@link Highcharts.Series#setData} or\n * {@link Highcharts.Point#update}.\n *\n * @see Series.points\n *\n * @name Highcharts.Series#data\n * @type {Array}\n */\n series.data = data;\n /**\n * An array containing all currently visible point objects. In case\n * of cropping, the cropped-away points are not part of this array.\n * The `series.points` array starts at `series.cropStart` compared\n * to `series.data` and `series.options.data`. If however the series\n * data is grouped, these can't be correlated one to one. To modify\n * the data, use {@link Highcharts.Series#setData} or\n * {@link Highcharts.Point#update}.\n *\n * @name Highcharts.Series#points\n * @type {Array}\n */\n series.points = points;\n fireEvent(this, 'afterGeneratePoints');\n },\n /**\n * Get current X extremes for the visible data.\n *\n * @private\n * @function Highcharts.Series#getXExtremes\n *\n * @param {Array} xData\n * The data to inspect. Defaults to the current data within the\n * visible range.\n * @return {Highcharts.RangeObject}\n */\n getXExtremes: function (xData) {\n return {\n min: arrayMin(xData),\n max: arrayMax(xData)\n };\n },\n /**\n * Calculate Y extremes for the visible data. The result is returned\n * as an object with `dataMin` and `dataMax` properties.\n *\n * @private\n * @function Highcharts.Series#getExtremes\n * @param {Array} [yData]\n * The data to inspect. Defaults to the current data within the\n * visible range.\n * @param {boolean} [forceExtremesFromAll]\n * Force getting extremes of a total series data range.\n * @return {Highcharts.DataExtremesObject}\n */\n getExtremes: function (yData, forceExtremesFromAll) {\n var xAxis = this.xAxis,\n yAxis = this.yAxis,\n xData = this.processedXData || this.xData,\n yDataLength,\n activeYData = [],\n activeCounter = 0, \n // #2117, need to compensate for log X axis\n xExtremes,\n xMin = 0,\n xMax = 0,\n validValue,\n withinRange, \n // Handle X outside the viewed area. This does not work with\n // non-sorted data like scatter (#7639).\n shoulder = this.requireSorting ? this.cropShoulder : 0,\n positiveValuesOnly = yAxis ? yAxis.positiveValuesOnly : false,\n x,\n y,\n i,\n j;\n yData = yData || this.stackedYData || this.processedYData || [];\n yDataLength = yData.length;\n if (xAxis) {\n xExtremes = xAxis.getExtremes();\n xMin = xExtremes.min;\n xMax = xExtremes.max;\n }\n for (i = 0; i < yDataLength; i++) {\n x = xData[i];\n y = yData[i];\n // For points within the visible range, including the first\n // point outside the visible range (#7061), consider y extremes.\n validValue = ((isNumber(y) || isArray(y)) &&\n ((y.length || y > 0) || !positiveValuesOnly));\n withinRange = (forceExtremesFromAll ||\n this.getExtremesFromAll ||\n this.options.getExtremesFromAll ||\n this.cropped ||\n !xAxis || // for colorAxis support\n ((xData[i + shoulder] || x) >= xMin &&\n (xData[i - shoulder] || x) <= xMax));\n if (validValue && withinRange) {\n j = y.length;\n if (j) { // array, like ohlc or range data\n while (j--) {\n if (isNumber(y[j])) { // #7380, #11513\n activeYData[activeCounter++] = y[j];\n }\n }\n }\n else {\n activeYData[activeCounter++] = y;\n }\n }\n }\n var dataExtremes = {\n dataMin: arrayMin(activeYData),\n dataMax: arrayMax(activeYData)\n };\n fireEvent(this, 'afterGetExtremes', { dataExtremes: dataExtremes });\n return dataExtremes;\n },\n /**\n * Set the current data extremes as `dataMin` and `dataMax` on the\n * Series item. Use this only when the series properties should be\n * updated.\n *\n * @private\n * @function Highcharts.Series#applyExtremes\n * @return {void}\n */\n applyExtremes: function () {\n var dataExtremes = this.getExtremes();\n /**\n * Contains the minimum value of the series' data point. Some series\n * types like `networkgraph` do not support this property as they\n * lack a `y`-value.\n * @name Highcharts.Series#dataMin\n * @type {number|undefined}\n * @readonly\n */\n this.dataMin = dataExtremes.dataMin;\n /**\n * Contains the maximum value of the series' data point. Some series\n * types like `networkgraph` do not support this property as they\n * lack a `y`-value.\n * @name Highcharts.Series#dataMax\n * @type {number|undefined}\n * @readonly\n */\n this.dataMax = dataExtremes.dataMax;\n return dataExtremes;\n },\n /**\n * Find and return the first non null point in the data\n *\n * @private\n * @function Highcharts.Series.getFirstValidPoint\n * @param {Array} data\n * Array of options for points\n *\n * @return {Highcharts.PointOptionsType}\n */\n getFirstValidPoint: function (data) {\n var firstPoint = null,\n dataLength = data.length,\n i = 0;\n while (firstPoint === null && i < dataLength) {\n firstPoint = data[i];\n i++;\n }\n return firstPoint;\n },\n /**\n * Translate data points from raw data values to chart specific\n * positioning data needed later in the `drawPoints` and `drawGraph`\n * functions. This function can be overridden in plugins and custom\n * series type implementations.\n *\n * @function Highcharts.Series#translate\n * @return {void}\n * @fires Highcharts.Series#events:translate\n */\n translate: function () {\n if (!this.processedXData) { // hidden series\n this.processData();\n }\n this.generatePoints();\n var series = this,\n options = series.options,\n stacking = options.stacking,\n xAxis = series.xAxis,\n categories = xAxis.categories,\n enabledDataSorting = series.enabledDataSorting,\n yAxis = series.yAxis,\n points = series.points,\n dataLength = points.length,\n hasModifyValue = !!series.modifyValue,\n i,\n pointPlacement = series.pointPlacementToXValue(), // #7860\n dynamicallyPlaced = Boolean(pointPlacement),\n threshold = options.threshold,\n stackThreshold = options.startFromThreshold ? threshold : 0,\n plotX,\n lastPlotX,\n stackIndicator,\n zoneAxis = this.zoneAxis || 'y',\n closestPointRangePx = Number.MAX_VALUE;\n /**\n * Plotted coordinates need to be within a limited range. Drawing\n * too far outside the viewport causes various rendering issues\n * (#3201, #3923, #7555).\n * @private\n */\n function limitedRange(val) {\n return clamp(val, -1e5, 1e5);\n }\n // Translate each point\n for (i = 0; i < dataLength; i++) {\n var point = points[i],\n xValue = point.x,\n yValue = point.y,\n yBottom = point.low,\n stack = stacking && yAxis.stacking && yAxis.stacking.stacks[(series.negStacks &&\n yValue <\n (stackThreshold ? 0 : threshold) ?\n '-' :\n '') + series.stackKey],\n pointStack,\n stackValues;\n if (yAxis.positiveValuesOnly && !yAxis.validatePositiveValue(yValue) ||\n xAxis.positiveValuesOnly && !xAxis.validatePositiveValue(xValue)) {\n point.isNull = true;\n }\n // Get the plotX translation\n point.plotX = plotX = correctFloat(// #5236\n limitedRange(xAxis.translate(// #3923\n xValue, 0, 0, 0, 1, pointPlacement, this.type === 'flags')) // #3923\n );\n // Calculate the bottom y value for stacked series\n if (stacking &&\n series.visible &&\n stack &&\n stack[xValue]) {\n stackIndicator = series.getStackIndicator(stackIndicator, xValue, series.index);\n if (!point.isNull) {\n pointStack = stack[xValue];\n stackValues =\n pointStack.points[stackIndicator.key];\n }\n }\n if (isArray(stackValues)) {\n yBottom = stackValues[0];\n yValue = stackValues[1];\n if (yBottom === stackThreshold &&\n stackIndicator.key ===\n stack[xValue].base) {\n yBottom = pick((isNumber(threshold) && threshold), yAxis.min);\n }\n // #1200, #1232\n if (yAxis.positiveValuesOnly && yBottom <= 0) {\n yBottom = null;\n }\n point.total = point.stackTotal = pointStack.total;\n point.percentage =\n pointStack.total &&\n (point.y / pointStack.total * 100);\n point.stackY = yValue;\n // Place the stack label\n // in case of variwide series (where widths of points are\n // different in most cases), stack labels are positioned\n // wrongly, so the call of the setOffset is omited here and\n // labels are correctly positioned later, at the end of the\n // variwide's translate function (#10962)\n if (!series.irregularWidths) {\n pointStack.setOffset(series.pointXOffset || 0, series.barW || 0);\n }\n }\n // Set translated yBottom or remove it\n point.yBottom = defined(yBottom) ?\n limitedRange(yAxis.translate(yBottom, 0, 1, 0, 1)) :\n null;\n // general hook, used for Highstock compare mode\n if (hasModifyValue) {\n yValue = series.modifyValue(yValue, point);\n }\n // Set the the plotY value, reset it for redraws\n // #3201\n point.plotY = ((typeof yValue === 'number' && yValue !== Infinity) ?\n limitedRange(yAxis.translate(yValue, 0, 1, 0, 1)) :\n void 0);\n point.isInside = this.isPointInside(point);\n // Set client related positions for mouse tracking\n point.clientX = dynamicallyPlaced ?\n correctFloat(xAxis.translate(xValue, 0, 0, 0, 1, pointPlacement)) :\n plotX; // #1514, #5383, #5518\n // Negative points. For bubble charts, this means negative z\n // values (#9728)\n point.negative = point[zoneAxis] < (options[zoneAxis + 'Threshold'] ||\n threshold ||\n 0);\n // some API data\n point.category = (categories &&\n typeof categories[point.x] !== 'undefined' ?\n categories[point.x] :\n point.x);\n // Determine auto enabling of markers (#3635, #5099)\n if (!point.isNull && point.visible !== false) {\n if (typeof lastPlotX !== 'undefined') {\n closestPointRangePx = Math.min(closestPointRangePx, Math.abs(plotX - lastPlotX));\n }\n lastPlotX = plotX;\n }\n // Find point zone\n point.zone = (this.zones.length && point.getZone());\n // Animate new points with data sorting\n if (!point.graphic && series.group && enabledDataSorting) {\n point.isNew = true;\n }\n }\n series.closestPointRangePx = closestPointRangePx;\n fireEvent(this, 'afterTranslate');\n },\n /**\n * Return the series points with null points filtered out.\n *\n * @function Highcharts.Series#getValidPoints\n *\n * @param {Array} [points]\n * The points to inspect, defaults to {@link Series.points}.\n *\n * @param {boolean} [insideOnly=false]\n * Whether to inspect only the points that are inside the visible\n * view.\n *\n * @param {boolean} [allowNull=false]\n * Whether to allow null points to pass as valid points.\n *\n * @return {Array}\n * The valid points.\n */\n getValidPoints: function (points, insideOnly, allowNull) {\n var chart = this.chart;\n // #3916, #5029, #5085\n return (points || this.points || []).filter(function isValidPoint(point) {\n if (insideOnly && !chart.isInsidePlot(point.plotX, point.plotY, chart.inverted)) {\n return false;\n }\n return point.visible !== false &&\n (allowNull || !point.isNull);\n });\n },\n /**\n * Get the clipping for the series. Could be called for a series to\n * initiate animating the clip or to set the final clip (only width\n * and x).\n *\n * @private\n * @function Highcharts.Series#getClip\n * @param {boolean|Partial} [animation]\n * Initialize the animation.\n * @param {boolean} [finalBox]\n * Final size for the clip - end state for the animation.\n * @return {Highcharts.Dictionary}\n */\n getClipBox: function (animation, finalBox) {\n var series = this,\n options = series.options,\n chart = series.chart,\n inverted = chart.inverted,\n xAxis = series.xAxis,\n yAxis = xAxis && series.yAxis,\n clipBox,\n scrollablePlotAreaOptions = chart.options.chart.scrollablePlotArea || {};\n if (animation && options.clip === false && yAxis) {\n // support for not clipped series animation (#10450)\n clipBox = inverted ? {\n y: -chart.chartWidth + yAxis.len + yAxis.pos,\n height: chart.chartWidth,\n width: chart.chartHeight,\n x: -chart.chartHeight + xAxis.len + xAxis.pos\n } : {\n y: -yAxis.pos,\n height: chart.chartHeight,\n width: chart.chartWidth,\n x: -xAxis.pos\n };\n // x and width will be changed later when setting for animation\n // initial state in Series.setClip\n }\n else {\n clipBox = series.clipBox || chart.clipBox;\n if (finalBox) {\n clipBox.width = chart.plotSizeX;\n clipBox.x = (chart.scrollablePixelsX || 0) *\n (scrollablePlotAreaOptions.scrollPositionX || 0);\n }\n }\n return !finalBox ? clipBox : {\n width: clipBox.width,\n x: clipBox.x\n };\n },\n /**\n * Set the clipping for the series. For animated series it is called\n * twice, first to initiate animating the clip then the second time\n * without the animation to set the final clip.\n *\n * @private\n * @function Highcharts.Series#setClip\n * @param {boolean|Highcharts.AnimationOptionsObject} [animation]\n */\n setClip: function (animation) {\n var chart = this.chart, options = this.options, renderer = chart.renderer, inverted = chart.inverted, seriesClipBox = this.clipBox, clipBox = this.getClipBox(animation), sharedClipKey = this.sharedClipKey ||\n [\n '_sharedClip',\n animation && animation.duration,\n animation && animation.easing,\n clipBox.height,\n options.xAxis,\n options.yAxis\n ].join(','), // #4526\n clipRect = chart[sharedClipKey], markerClipRect = chart[sharedClipKey + 'm'];\n if (animation) {\n clipBox.width = 0;\n if (inverted) {\n clipBox.x = chart.plotHeight +\n (options.clip !== false ? 0 : chart.plotTop);\n }\n }\n // If a clipping rectangle with the same properties is currently\n // present in the chart, use that.\n if (!clipRect) {\n // When animation is set, prepare the initial positions\n if (animation) {\n chart[sharedClipKey + 'm'] = markerClipRect =\n renderer.clipRect(\n // include the width of the first marker\n inverted ? chart.plotSizeX + 99 : -99, inverted ? -chart.plotLeft : -chart.plotTop, 99, inverted ? chart.chartWidth : chart.chartHeight);\n }\n chart[sharedClipKey] = clipRect = renderer.clipRect(clipBox);\n // Create hashmap for series indexes\n clipRect.count = { length: 0 };\n // When the series is rendered again before starting animating, in\n // compliance to a responsive rule\n }\n else if (!chart.hasLoaded) {\n clipRect.attr(clipBox);\n }\n if (animation) {\n if (!clipRect.count[this.index]) {\n clipRect.count[this.index] = true;\n clipRect.count.length += 1;\n }\n }\n if (options.clip !== false || animation) {\n this.group.clip(animation || seriesClipBox ? clipRect : chart.clipRect);\n this.markerGroup.clip(markerClipRect);\n this.sharedClipKey = sharedClipKey;\n }\n // Remove the shared clipping rectangle when all series are shown\n if (!animation) {\n if (clipRect.count[this.index]) {\n delete clipRect.count[this.index];\n clipRect.count.length -= 1;\n }\n if (clipRect.count.length === 0 &&\n sharedClipKey &&\n chart[sharedClipKey]) {\n if (!seriesClipBox) {\n chart[sharedClipKey] =\n chart[sharedClipKey].destroy();\n }\n if (chart[sharedClipKey + 'm']) {\n chart[sharedClipKey + 'm'] =\n chart[sharedClipKey + 'm'].destroy();\n }\n }\n }\n },\n /**\n * Animate in the series. Called internally twice. First with the `init`\n * parameter set to true, which sets up the initial state of the\n * animation. Then when ready, it is called with the `init` parameter\n * undefined, in order to perform the actual animation. After the\n * second run, the function is removed.\n *\n * @function Highcharts.Series#animate\n *\n * @param {boolean} [init]\n * Initialize the animation.\n */\n animate: function (init) {\n var series = this,\n chart = series.chart,\n animation = animObject(series.options.animation),\n clipRect,\n sharedClipKey,\n finalBox;\n // Initialize the animation. Set up the clipping rectangle.\n if (!chart.hasRendered) {\n if (init) {\n series.setClip(animation);\n // Run the animation\n }\n else {\n sharedClipKey = this.sharedClipKey;\n clipRect = chart[sharedClipKey];\n finalBox = series.getClipBox(animation, true);\n if (clipRect) {\n clipRect.animate(finalBox, animation);\n }\n if (chart[sharedClipKey + 'm']) {\n chart[sharedClipKey + 'm'].animate({\n width: finalBox.width + 99,\n x: finalBox.x - (chart.inverted ? 0 : 99)\n }, animation);\n }\n }\n }\n },\n /**\n * This runs after animation to land on the final plot clipping.\n *\n * @private\n * @function Highcharts.Series#afterAnimate\n * @fires Highcharts.Series#event:afterAnimate\n */\n afterAnimate: function () {\n this.setClip();\n fireEvent(this, 'afterAnimate');\n this.finishedAnimating = true;\n },\n /**\n * Draw the markers for line-like series types, and columns or other\n * graphical representation for {@link Point} objects for other series\n * types. The resulting element is typically stored as\n * {@link Point.graphic}, and is created on the first call and updated\n * and moved on subsequent calls.\n *\n * @function Highcharts.Series#drawPoints\n */\n drawPoints: function () {\n var series = this,\n points = series.points,\n chart = series.chart,\n i,\n point,\n graphic,\n verb,\n options = series.options,\n seriesMarkerOptions = options.marker,\n pointMarkerOptions,\n hasPointMarker,\n markerGroup = (series[series.specialGroup] ||\n series.markerGroup),\n xAxis = series.xAxis,\n markerAttribs,\n globallyEnabled = pick(seriesMarkerOptions.enabled, !xAxis || xAxis.isRadial ? true : null, \n // Use larger or equal as radius is null in bubbles (#6321)\n series.closestPointRangePx >= (seriesMarkerOptions.enabledThreshold *\n seriesMarkerOptions.radius));\n if (seriesMarkerOptions.enabled !== false ||\n series._hasPointMarkers) {\n for (i = 0; i < points.length; i++) {\n point = points[i];\n graphic = point.graphic;\n verb = graphic ? 'animate' : 'attr';\n pointMarkerOptions = point.marker || {};\n hasPointMarker = !!point.marker;\n var shouldDrawMarker = ((globallyEnabled &&\n typeof pointMarkerOptions.enabled === 'undefined') || pointMarkerOptions.enabled) && !point.isNull && point.visible !== false;\n // only draw the point if y is defined\n if (shouldDrawMarker) {\n // Shortcuts\n var symbol = pick(pointMarkerOptions.symbol,\n series.symbol);\n markerAttribs = series.markerAttribs(point, (point.selected && 'select'));\n // Set starting position for point sliding animation.\n if (series.enabledDataSorting) {\n point.startXPos = xAxis.reversed ?\n -markerAttribs.width :\n xAxis.width;\n }\n var isInside = point.isInside !== false;\n if (graphic) { // update\n // Since the marker group isn't clipped, each\n // individual marker must be toggled\n graphic[isInside ? 'show' : 'hide'](isInside)\n .animate(markerAttribs);\n }\n else if (isInside &&\n (markerAttribs.width > 0 || point.hasImage)) {\n /**\n * The graphic representation of the point.\n * Typically this is a simple shape, like a `rect`\n * for column charts or `path` for line markers, but\n * for some complex series types like boxplot or 3D\n * charts, the graphic may be a `g` element\n * containing other shapes. The graphic is generated\n * the first time {@link Series#drawPoints} runs,\n * and updated and moved on subsequent runs.\n *\n * @name Point#graphic\n * @type {SVGElement}\n */\n point.graphic = graphic = chart.renderer\n .symbol(symbol, markerAttribs.x, markerAttribs.y, markerAttribs.width, markerAttribs.height, hasPointMarker ?\n pointMarkerOptions :\n seriesMarkerOptions)\n .add(markerGroup);\n // Sliding animation for new points\n if (series.enabledDataSorting &&\n chart.hasRendered) {\n graphic.attr({\n x: point.startXPos\n });\n verb = 'animate';\n }\n }\n if (graphic && verb === 'animate') { // update\n // Since the marker group isn't clipped, each\n // individual marker must be toggled\n graphic[isInside ? 'show' : 'hide'](isInside)\n .animate(markerAttribs);\n }\n // Presentational attributes\n if (graphic && !chart.styledMode) {\n graphic[verb](series.pointAttribs(point, (point.selected && 'select')));\n }\n if (graphic) {\n graphic.addClass(point.getClassName(), true);\n }\n }\n else if (graphic) {\n point.graphic = graphic.destroy(); // #1269\n }\n }\n }\n },\n /**\n * Get non-presentational attributes for a point. Used internally for\n * both styled mode and classic. Can be overridden for different series\n * types.\n *\n * @see Series#pointAttribs\n *\n * @function Highcharts.Series#markerAttribs\n *\n * @param {Highcharts.Point} point\n * The Point to inspect.\n *\n * @param {string} [state]\n * The state, can be either `hover`, `select` or undefined.\n *\n * @return {Highcharts.SVGAttributes}\n * A hash containing those attributes that are not settable from\n * CSS.\n */\n markerAttribs: function (point, state) {\n var seriesOptions = this.options,\n seriesMarkerOptions = seriesOptions.marker,\n seriesStateOptions,\n pointMarkerOptions = point.marker || {},\n symbol = (pointMarkerOptions.symbol ||\n seriesMarkerOptions.symbol),\n pointStateOptions,\n radius = pick(pointMarkerOptions.radius,\n seriesMarkerOptions.radius),\n attribs;\n // Handle hover and select states\n if (state) {\n seriesStateOptions = seriesMarkerOptions.states[state];\n pointStateOptions = pointMarkerOptions.states &&\n pointMarkerOptions.states[state];\n radius = pick(pointStateOptions && pointStateOptions.radius, seriesStateOptions && seriesStateOptions.radius, radius + (seriesStateOptions && seriesStateOptions.radiusPlus ||\n 0));\n }\n point.hasImage = symbol && symbol.indexOf('url') === 0;\n if (point.hasImage) {\n radius = 0; // and subsequently width and height is not set\n }\n attribs = {\n // Math.floor for #1843:\n x: seriesOptions.crisp ?\n Math.floor(point.plotX) - radius :\n point.plotX - radius,\n y: point.plotY - radius\n };\n if (radius) {\n attribs.width = attribs.height = 2 * radius;\n }\n return attribs;\n },\n /**\n * Internal function to get presentational attributes for each point.\n * Unlike {@link Series#markerAttribs}, this function should return\n * those attributes that can also be set in CSS. In styled mode,\n * `pointAttribs` won't be called.\n *\n * @private\n * @function Highcharts.Series#pointAttribs\n *\n * @param {Highcharts.Point} [point]\n * The point instance to inspect.\n *\n * @param {string} [state]\n * The point state, can be either `hover`, `select` or 'normal'.\n * If undefined, normal state is assumed.\n *\n * @return {Highcharts.SVGAttributes}\n * The presentational attributes to be set on the point.\n */\n pointAttribs: function (point, state) {\n var seriesMarkerOptions = this.options.marker,\n seriesStateOptions,\n pointOptions = point && point.options,\n pointMarkerOptions = ((pointOptions && pointOptions.marker) || {}),\n pointStateOptions,\n color = this.color,\n pointColorOption = pointOptions && pointOptions.color,\n pointColor = point && point.color,\n strokeWidth = pick(pointMarkerOptions.lineWidth,\n seriesMarkerOptions.lineWidth),\n zoneColor = point && point.zone && point.zone.color,\n fill,\n stroke,\n opacity = 1;\n color = (pointColorOption ||\n zoneColor ||\n pointColor ||\n color);\n fill = (pointMarkerOptions.fillColor ||\n seriesMarkerOptions.fillColor ||\n color);\n stroke = (pointMarkerOptions.lineColor ||\n seriesMarkerOptions.lineColor ||\n color);\n // Handle hover and select states\n state = state || 'normal';\n if (state) {\n seriesStateOptions = seriesMarkerOptions.states[state];\n pointStateOptions = (pointMarkerOptions.states &&\n pointMarkerOptions.states[state]) || {};\n strokeWidth = pick(pointStateOptions.lineWidth, seriesStateOptions.lineWidth, strokeWidth + pick(pointStateOptions.lineWidthPlus, seriesStateOptions.lineWidthPlus, 0));\n fill = (pointStateOptions.fillColor ||\n seriesStateOptions.fillColor ||\n fill);\n stroke = (pointStateOptions.lineColor ||\n seriesStateOptions.lineColor ||\n stroke);\n opacity = pick(pointStateOptions.opacity, seriesStateOptions.opacity, opacity);\n }\n return {\n 'stroke': stroke,\n 'stroke-width': strokeWidth,\n 'fill': fill,\n 'opacity': opacity\n };\n },\n /**\n * Clear DOM objects and free up memory.\n *\n * @private\n * @function Highcharts.Series#destroy\n * @param {boolean} [keepEventsForUpdate]\n * @return {void}\n * @fires Highcharts.Series#event:destroy\n */\n destroy: function (keepEventsForUpdate) {\n var series = this,\n chart = series.chart,\n issue134 = /AppleWebKit\\/533/.test(win.navigator.userAgent),\n destroy,\n i,\n data = series.data || [],\n point,\n axis;\n // add event hook\n fireEvent(series, 'destroy');\n // remove events\n this.removeEvents(keepEventsForUpdate);\n // erase from axes\n (series.axisTypes || []).forEach(function (AXIS) {\n axis = series[AXIS];\n if (axis && axis.series) {\n erase(axis.series, series);\n axis.isDirty = axis.forceRedraw = true;\n }\n });\n // remove legend items\n if (series.legendItem) {\n series.chart.legend.destroyItem(series);\n }\n // destroy all points with their elements\n i = data.length;\n while (i--) {\n point = data[i];\n if (point && point.destroy) {\n point.destroy();\n }\n }\n series.points = null;\n // Clear the animation timeout if we are destroying the series\n // during initial animation\n U.clearTimeout(series.animationTimeout);\n // Destroy all SVGElements associated to the series\n objectEach(series, function (val, prop) {\n // Survive provides a hook for not destroying\n if (val instanceof SVGElement && !val.survive) {\n // issue 134 workaround\n destroy = issue134 && prop === 'group' ?\n 'hide' :\n 'destroy';\n val[destroy]();\n }\n });\n // remove from hoverSeries\n if (chart.hoverSeries === series) {\n chart.hoverSeries = null;\n }\n erase(chart.series, series);\n chart.orderSeries();\n // clear all members\n objectEach(series, function (val, prop) {\n if (!keepEventsForUpdate || prop !== 'hcEvents') {\n delete series[prop];\n }\n });\n },\n /**\n * Get the graph path.\n *\n * @private\n * @function Highcharts.Series#getGraphPath\n * @param {Array} points\n * @param {boolean} [nullsAsZeroes]\n * @param {boolean} [connectCliffs]\n * @return {Highcharts.SVGPathArray}\n */\n getGraphPath: function (points, nullsAsZeroes, connectCliffs) {\n var series = this,\n options = series.options,\n step = options.step,\n reversed,\n graphPath = [],\n xMap = [],\n gap;\n points = points || series.points;\n // Bottom of a stack is reversed\n reversed = points.reversed;\n if (reversed) {\n points.reverse();\n }\n // Reverse the steps (#5004)\n step = {\n right: 1,\n center: 2\n }[step] || (step && 3);\n if (step && reversed) {\n step = 4 - step;\n }\n // Remove invalid points, especially in spline (#5015)\n points = this.getValidPoints(points, false, !(options.connectNulls && !nullsAsZeroes && !connectCliffs));\n // Build the line\n points.forEach(function (point, i) {\n var plotX = point.plotX,\n plotY = point.plotY,\n lastPoint = points[i - 1], \n // the path to this point from the previous\n pathToPoint;\n if ((point.leftCliff || (lastPoint && lastPoint.rightCliff)) &&\n !connectCliffs) {\n gap = true; // ... and continue\n }\n // Line series, nullsAsZeroes is not handled\n if (point.isNull && !defined(nullsAsZeroes) && i > 0) {\n gap = !options.connectNulls;\n // Area series, nullsAsZeroes is set\n }\n else if (point.isNull && !nullsAsZeroes) {\n gap = true;\n }\n else {\n if (i === 0 || gap) {\n pathToPoint = [[\n 'M',\n point.plotX,\n point.plotY\n ]];\n // Generate the spline as defined in the SplineSeries object\n }\n else if (series.getPointSpline) {\n pathToPoint = [series.getPointSpline(points, point, i)];\n }\n else if (step) {\n if (step === 1) { // right\n pathToPoint = [[\n 'L',\n lastPoint.plotX,\n plotY\n ]];\n }\n else if (step === 2) { // center\n pathToPoint = [[\n 'L',\n (lastPoint.plotX + plotX) / 2,\n lastPoint.plotY\n ], [\n 'L',\n (lastPoint.plotX + plotX) / 2,\n plotY\n ]];\n }\n else {\n pathToPoint = [[\n 'L',\n plotX,\n lastPoint.plotY\n ]];\n }\n pathToPoint.push([\n 'L',\n plotX,\n plotY\n ]);\n }\n else {\n // normal line to next point\n pathToPoint = [[\n 'L',\n plotX,\n plotY\n ]];\n }\n // Prepare for animation. When step is enabled, there are\n // two path nodes for each x value.\n xMap.push(point.x);\n if (step) {\n xMap.push(point.x);\n if (step === 2) { // step = center (#8073)\n xMap.push(point.x);\n }\n }\n graphPath.push.apply(graphPath, pathToPoint);\n gap = false;\n }\n });\n graphPath.xMap = xMap;\n series.graphPath = graphPath;\n return graphPath;\n },\n /**\n * Draw the graph. Called internally when rendering line-like series\n * types. The first time it generates the `series.graph` item and\n * optionally other series-wide items like `series.area` for area\n * charts. On subsequent calls these items are updated with new\n * positions and attributes.\n *\n * @function Highcharts.Series#drawGraph\n */\n drawGraph: function () {\n var series = this,\n options = this.options,\n graphPath = (this.gappedPath || this.getGraphPath).call(this),\n styledMode = this.chart.styledMode,\n props = [[\n 'graph',\n 'highcharts-graph'\n ]];\n // Presentational properties\n if (!styledMode) {\n props[0].push((options.lineColor ||\n this.color ||\n '#cccccc' // when colorByPoint = true\n ), options.dashStyle);\n }\n props = series.getZonesGraphs(props);\n // Draw the graph\n props.forEach(function (prop, i) {\n var graphKey = prop[0],\n graph = series[graphKey],\n verb = graph ? 'animate' : 'attr',\n attribs;\n if (graph) {\n graph.endX = series.preventGraphAnimation ?\n null :\n graphPath.xMap;\n graph.animate({ d: graphPath });\n }\n else if (graphPath.length) { // #1487\n /**\n * SVG element of area-based charts. Can be used for styling\n * purposes. If zones are configured, this element will be\n * hidden and replaced by multiple zone areas, accessible\n * via `series['zone-area-x']` (where x is a number,\n * starting with 0).\n *\n * @name Highcharts.Series#area\n * @type {Highcharts.SVGElement|undefined}\n */\n /**\n * SVG element of line-based charts. Can be used for styling\n * purposes. If zones are configured, this element will be\n * hidden and replaced by multiple zone lines, accessible\n * via `series['zone-graph-x']` (where x is a number,\n * starting with 0).\n *\n * @name Highcharts.Series#graph\n * @type {Highcharts.SVGElement|undefined}\n */\n series[graphKey] = graph = series.chart.renderer\n .path(graphPath)\n .addClass(prop[1])\n .attr({ zIndex: 1 }) // #1069\n .add(series.group);\n }\n if (graph && !styledMode) {\n attribs = {\n 'stroke': prop[2],\n 'stroke-width': options.lineWidth,\n // Polygon series use filled graph\n 'fill': (series.fillGraph && series.color) || 'none'\n };\n if (prop[3]) {\n attribs.dashstyle = prop[3];\n }\n else if (options.linecap !== 'square') {\n attribs['stroke-linecap'] =\n attribs['stroke-linejoin'] = 'round';\n }\n graph[verb](attribs)\n // Add shadow to normal series (0) or to first\n // zone (1) #3932\n .shadow((i < 2) && options.shadow);\n }\n // Helpers for animation\n if (graph) {\n graph.startX = graphPath.xMap;\n graph.isArea = graphPath.isArea; // For arearange animation\n }\n });\n },\n /**\n * Get zones properties for building graphs. Extendable by series with\n * multiple lines within one series.\n *\n * @private\n * @function Highcharts.Series#getZonesGraphs\n *\n * @param {Array>} props\n *\n * @return {Array>}\n */\n getZonesGraphs: function (props) {\n // Add the zone properties if any\n this.zones.forEach(function (zone, i) {\n var propset = [\n 'zone-graph-' + i,\n 'highcharts-graph highcharts-zone-graph-' + i + ' ' +\n (zone.className || '')\n ];\n if (!this.chart.styledMode) {\n propset.push((zone.color || this.color), (zone.dashStyle || this.options.dashStyle));\n }\n props.push(propset);\n }, this);\n return props;\n },\n /**\n * Clip the graphs into zones for colors and styling.\n *\n * @private\n * @function Highcharts.Series#applyZones\n * @return {void}\n */\n applyZones: function () {\n var series = this,\n chart = this.chart,\n renderer = chart.renderer,\n zones = this.zones,\n translatedFrom,\n translatedTo,\n clips = (this.clips || []),\n clipAttr,\n graph = this.graph,\n area = this.area,\n chartSizeMax = Math.max(chart.chartWidth,\n chart.chartHeight),\n axis = this[(this.zoneAxis || 'y') + 'Axis'],\n extremes,\n reversed,\n inverted = chart.inverted,\n horiz,\n pxRange,\n pxPosMin,\n pxPosMax,\n ignoreZones = false,\n zoneArea,\n zoneGraph;\n if (zones.length &&\n (graph || area) &&\n axis &&\n typeof axis.min !== 'undefined') {\n reversed = axis.reversed;\n horiz = axis.horiz;\n // The use of the Color Threshold assumes there are no gaps\n // so it is safe to hide the original graph and area\n // unless it is not waterfall series, then use showLine property\n // to set lines between columns to be visible (#7862)\n if (graph && !this.showLine) {\n graph.hide();\n }\n if (area) {\n area.hide();\n }\n // Create the clips\n extremes = axis.getExtremes();\n zones.forEach(function (threshold, i) {\n translatedFrom = reversed ?\n (horiz ? chart.plotWidth : 0) :\n (horiz ? 0 : (axis.toPixels(extremes.min) || 0));\n translatedFrom = clamp(pick(translatedTo, translatedFrom), 0, chartSizeMax);\n translatedTo = clamp(Math.round(axis.toPixels(pick(threshold.value, extremes.max), true) || 0), 0, chartSizeMax);\n if (ignoreZones) {\n translatedFrom = translatedTo =\n axis.toPixels(extremes.max);\n }\n pxRange = Math.abs(translatedFrom - translatedTo);\n pxPosMin = Math.min(translatedFrom, translatedTo);\n pxPosMax = Math.max(translatedFrom, translatedTo);\n if (axis.isXAxis) {\n clipAttr = {\n x: inverted ? pxPosMax : pxPosMin,\n y: 0,\n width: pxRange,\n height: chartSizeMax\n };\n if (!horiz) {\n clipAttr.x = chart.plotHeight - clipAttr.x;\n }\n }\n else {\n clipAttr = {\n x: 0,\n y: inverted ? pxPosMax : pxPosMin,\n width: chartSizeMax,\n height: pxRange\n };\n if (horiz) {\n clipAttr.y = chart.plotWidth - clipAttr.y;\n }\n }\n // VML SUPPPORT\n if (inverted && renderer.isVML) {\n if (axis.isXAxis) {\n clipAttr = {\n x: 0,\n y: reversed ? pxPosMin : pxPosMax,\n height: clipAttr.width,\n width: chart.chartWidth\n };\n }\n else {\n clipAttr = {\n x: (clipAttr.y -\n chart.plotLeft -\n chart.spacingBox.x),\n y: 0,\n width: clipAttr.height,\n height: chart.chartHeight\n };\n }\n }\n // END OF VML SUPPORT\n if (clips[i]) {\n clips[i].animate(clipAttr);\n }\n else {\n clips[i] = renderer.clipRect(clipAttr);\n }\n // when no data, graph zone is not applied and after setData\n // clip was ignored. As a result, it should be applied each\n // time.\n zoneArea = series['zone-area-' + i];\n zoneGraph = series['zone-graph-' + i];\n if (graph && zoneGraph) {\n zoneGraph.clip(clips[i]);\n }\n if (area && zoneArea) {\n zoneArea.clip(clips[i]);\n }\n // if this zone extends out of the axis, ignore the others\n ignoreZones = threshold.value > extremes.max;\n // Clear translatedTo for indicators\n if (series.resetZones && translatedTo === 0) {\n translatedTo = void 0;\n }\n });\n this.clips = clips;\n }\n else if (series.visible) {\n // If zones were removed, restore graph and area\n if (graph) {\n graph.show(true);\n }\n if (area) {\n area.show(true);\n }\n }\n },\n /**\n * Initialize and perform group inversion on series.group and\n * series.markerGroup.\n *\n * @private\n * @function Highcharts.Series#invertGroups\n * @param {boolean} [inverted]\n * @return {void}\n */\n invertGroups: function (inverted) {\n var series = this,\n chart = series.chart;\n /**\n * @private\n */\n function setInvert() {\n ['group', 'markerGroup'].forEach(function (groupName) {\n if (series[groupName]) {\n // VML/HTML needs explicit attributes for flipping\n if (chart.renderer.isVML) {\n series[groupName].attr({\n width: series.yAxis.len,\n height: series.xAxis.len\n });\n }\n series[groupName].width = series.yAxis.len;\n series[groupName].height = series.xAxis.len;\n // If inverted polar, don't invert series group\n series[groupName].invert(series.isRadialSeries ? false : inverted);\n }\n });\n }\n // Pie, go away (#1736)\n if (!series.xAxis) {\n return;\n }\n // A fixed size is needed for inversion to work\n series.eventsToUnbind.push(addEvent(chart, 'resize', setInvert));\n // Do it now\n setInvert();\n // On subsequent render and redraw, just do setInvert without\n // setting up events again\n series.invertGroups = setInvert;\n },\n /**\n * General abstraction for creating plot groups like series.group,\n * series.dataLabelsGroup and series.markerGroup. On subsequent calls,\n * the group will only be adjusted to the updated plot size.\n *\n * @private\n * @function Highcharts.Series#plotGroup\n * @param {string} prop\n * @param {string} name\n * @param {string} visibility\n * @param {number} [zIndex]\n * @param {Highcharts.SVGElement} [parent]\n * @return {Highcharts.SVGElement}\n */\n plotGroup: function (prop, name, visibility, zIndex, parent) {\n var group = this[prop],\n isNew = !group,\n attrs = {\n visibility: visibility,\n zIndex: zIndex || 0.1 // IE8 and pointer logic use this\n };\n // Avoid setting undefined opacity, or in styled mode\n if (typeof this.opacity !== 'undefined' &&\n !this.chart.styledMode && this.state !== 'inactive' // #13719\n ) {\n attrs.opacity = this.opacity;\n }\n // Generate it on first call\n if (isNew) {\n this[prop] = group = this.chart.renderer\n .g()\n .add(parent);\n }\n // Add the class names, and replace existing ones as response to\n // Series.update (#6660)\n group.addClass(('highcharts-' + name +\n ' highcharts-series-' + this.index +\n ' highcharts-' + this.type + '-series ' +\n (defined(this.colorIndex) ?\n 'highcharts-color-' + this.colorIndex + ' ' :\n '') +\n (this.options.className || '') +\n (group.hasClass('highcharts-tracker') ?\n ' highcharts-tracker' :\n '')), true);\n // Place it on first and subsequent (redraw) calls\n group.attr(attrs)[isNew ? 'attr' : 'animate'](this.getPlotBox());\n return group;\n },\n /**\n * Get the translation and scale for the plot area of this series.\n *\n * @function Highcharts.Series#getPlotBox\n *\n * @return {Highcharts.SeriesPlotBoxObject}\n */\n getPlotBox: function () {\n var chart = this.chart,\n xAxis = this.xAxis,\n yAxis = this.yAxis;\n // Swap axes for inverted (#2339)\n if (chart.inverted) {\n xAxis = yAxis;\n yAxis = this.xAxis;\n }\n return {\n translateX: xAxis ? xAxis.left : chart.plotLeft,\n translateY: yAxis ? yAxis.top : chart.plotTop,\n scaleX: 1,\n scaleY: 1\n };\n },\n /**\n * Removes the event handlers attached previously with addEvents.\n *\n * @private\n * @function Highcharts.Series#removeEvents\n * @param {boolean} [keepEventsForUpdate]\n * @return {void}\n */\n removeEvents: function (keepEventsForUpdate) {\n var series = this;\n if (!keepEventsForUpdate) {\n // remove all events\n removeEvent(series);\n }\n else if (series.eventsToUnbind.length) {\n // remove only internal events for proper update\n // #12355 - solves problem with multiple destroy events\n series.eventsToUnbind.forEach(function (unbind) {\n unbind();\n });\n series.eventsToUnbind.length = 0;\n }\n },\n /**\n * Render the graph and markers. Called internally when first rendering\n * and later when redrawing the chart. This function can be extended in\n * plugins, but normally shouldn't be called directly.\n *\n * @function Highcharts.Series#render\n *\n * @return {void}\n *\n * @fires Highcharts.Series#event:afterRender\n */\n render: function () {\n var series = this,\n chart = series.chart,\n group,\n options = series.options,\n animOptions = animObject(options.animation), \n // Animation doesn't work in IE8 quirks when the group div is\n // hidden, and looks bad in other oldIE\n animDuration = (!series.finishedAnimating &&\n chart.renderer.isSVG &&\n animOptions.duration),\n visibility = series.visible ? 'inherit' : 'hidden', // #2597\n zIndex = options.zIndex,\n hasRendered = series.hasRendered,\n chartSeriesGroup = chart.seriesGroup,\n inverted = chart.inverted;\n fireEvent(this, 'render');\n // the group\n group = series.plotGroup('group', 'series', visibility, zIndex, chartSeriesGroup);\n series.markerGroup = series.plotGroup('markerGroup', 'markers', visibility, zIndex, chartSeriesGroup);\n // initiate the animation\n if (animDuration && series.animate) {\n series.animate(true);\n }\n // SVGRenderer needs to know this before drawing elements (#1089,\n // #1795)\n group.inverted = series.isCartesian || series.invertable ?\n inverted : false;\n // Draw the graph if any\n if (series.drawGraph) {\n series.drawGraph();\n series.applyZones();\n }\n // Draw the points\n if (series.visible) {\n series.drawPoints();\n }\n /* series.points.forEach(function (point) {\n if (point.redraw) {\n point.redraw();\n }\n }); */\n // Draw the data labels\n if (series.drawDataLabels) {\n series.drawDataLabels();\n }\n // In pie charts, slices are added to the DOM, but actual rendering\n // is postponed until labels reserved their space\n if (series.redrawPoints) {\n series.redrawPoints();\n }\n // draw the mouse tracking area\n if (series.drawTracker &&\n series.options.enableMouseTracking !== false) {\n series.drawTracker();\n }\n // Handle inverted series and tracker groups\n series.invertGroups(inverted);\n // Initial clipping, must be defined after inverting groups for VML.\n // Applies to columns etc. (#3839).\n if (options.clip !== false &&\n !series.sharedClipKey &&\n !hasRendered) {\n group.clip(chart.clipRect);\n }\n // Run the animation\n if (animDuration && series.animate) {\n series.animate();\n }\n // Call the afterAnimate function on animation complete (but don't\n // overwrite the animation.complete option which should be available\n // to the user).\n if (!hasRendered) {\n // Additional time if defer is defined before afterAnimate\n // will be triggered\n if (animDuration && animOptions.defer) {\n animDuration += animOptions.defer;\n }\n series.animationTimeout = syncTimeout(function () {\n series.afterAnimate();\n }, animDuration || 0);\n }\n // Means data is in accordance with what you see\n series.isDirty = false;\n // (See #322) series.isDirty = series.isDirtyData = false; // means\n // data is in accordance with what you see\n series.hasRendered = true;\n fireEvent(series, 'afterRender');\n },\n /**\n * Redraw the series. This function is called internally from\n * `chart.redraw` and normally shouldn't be called directly.\n *\n * @private\n * @function Highcharts.Series#redraw\n * @return {void}\n */\n redraw: function () {\n var series = this,\n chart = series.chart, \n // cache it here as it is set to false in render, but used after\n wasDirty = series.isDirty || series.isDirtyData,\n group = series.group,\n xAxis = series.xAxis,\n yAxis = series.yAxis;\n // reposition on resize\n if (group) {\n if (chart.inverted) {\n group.attr({\n width: chart.plotWidth,\n height: chart.plotHeight\n });\n }\n group.animate({\n translateX: pick(xAxis && xAxis.left, chart.plotLeft),\n translateY: pick(yAxis && yAxis.top, chart.plotTop)\n });\n }\n series.translate();\n series.render();\n if (wasDirty) { // #3868, #3945\n delete this.kdTree;\n }\n },\n kdAxisArray: ['clientX', 'plotY'],\n /**\n * @private\n * @function Highcharts.Series#searchPoint\n * @param {Highcharts.PointerEventObject} e\n * @param {boolean} [compareX]\n * @return {Highcharts.Point}\n */\n searchPoint: function (e, compareX) {\n var series = this,\n xAxis = series.xAxis,\n yAxis = series.yAxis,\n inverted = series.chart.inverted;\n return this.searchKDTree({\n clientX: inverted ?\n xAxis.len - e.chartY + xAxis.pos :\n e.chartX - xAxis.pos,\n plotY: inverted ?\n yAxis.len - e.chartX + yAxis.pos :\n e.chartY - yAxis.pos\n }, compareX, e);\n },\n /**\n * Build the k-d-tree that is used by mouse and touch interaction to get\n * the closest point. Line-like series typically have a one-dimensional\n * tree where points are searched along the X axis, while scatter-like\n * series typically search in two dimensions, X and Y.\n *\n * @private\n * @function Highcharts.Series#buildKDTree\n * @param {Highcharts.PointerEventObject} [e]\n * @return {void}\n */\n buildKDTree: function (e) {\n // Prevent multiple k-d-trees from being built simultaneously\n // (#6235)\n this.buildingKdTree = true;\n var series = this,\n dimensions = series.options.findNearestPointBy\n .indexOf('y') > -1 ? 2 : 1;\n /**\n * Internal function\n * @private\n */\n function _kdtree(points, depth, dimensions) {\n var axis,\n median,\n length = points && points.length;\n if (length) {\n // alternate between the axis\n axis = series.kdAxisArray[depth % dimensions];\n // sort point array\n points.sort(function (a, b) {\n return a[axis] - b[axis];\n });\n median = Math.floor(length / 2);\n // build and return nod\n return {\n point: points[median],\n left: _kdtree(points.slice(0, median), depth + 1, dimensions),\n right: _kdtree(points.slice(median + 1), depth + 1, dimensions)\n };\n }\n }\n /**\n * Start the recursive build process with a clone of the points\n * array and null points filtered out. (#3873)\n * @private\n */\n function startRecursive() {\n series.kdTree = _kdtree(series.getValidPoints(null, \n // For line-type series restrict to plot area, but\n // column-type series not (#3916, #4511)\n !series.directTouch), dimensions, dimensions);\n series.buildingKdTree = false;\n }\n delete series.kdTree;\n // For testing tooltips, don't build async. Also if touchstart, we\n // may be dealing with click events on mobile, so don't delay\n // (#6817).\n syncTimeout(startRecursive, series.options.kdNow || (e && e.type === 'touchstart') ? 0 : 1);\n },\n /**\n * @private\n * @function Highcharts.Series#searchKDTree\n * @param {Highcharts.KDPointSearchObject} point\n * @param {boolean} [compareX]\n * @param {Highcharts.PointerEventObject} [e]\n * @return {Highcharts.Point|undefined}\n */\n searchKDTree: function (point, compareX, e) {\n var series = this,\n kdX = this.kdAxisArray[0],\n kdY = this.kdAxisArray[1],\n kdComparer = compareX ? 'distX' : 'dist',\n kdDimensions = series.options.findNearestPointBy\n .indexOf('y') > -1 ? 2 : 1;\n /**\n * Set the one and two dimensional distance on the point object.\n * @private\n */\n function setDistance(p1, p2) {\n var x = (defined(p1[kdX]) &&\n defined(p2[kdX])) ?\n Math.pow(p1[kdX] - p2[kdX], 2) :\n null,\n y = (defined(p1[kdY]) &&\n defined(p2[kdY])) ?\n Math.pow(p1[kdY] - p2[kdY], 2) :\n null,\n r = (x || 0) + (y || 0);\n p2.dist = defined(r) ? Math.sqrt(r) : Number.MAX_VALUE;\n p2.distX = defined(x) ? Math.sqrt(x) : Number.MAX_VALUE;\n }\n /**\n * @private\n */\n function _search(search, tree, depth, dimensions) {\n var point = tree.point,\n axis = series.kdAxisArray[depth % dimensions],\n tdist,\n sideA,\n sideB,\n ret = point,\n nPoint1,\n nPoint2;\n setDistance(search, point);\n // Pick side based on distance to splitting point\n tdist = search[axis] - point[axis];\n sideA = tdist < 0 ? 'left' : 'right';\n sideB = tdist < 0 ? 'right' : 'left';\n // End of tree\n if (tree[sideA]) {\n nPoint1 = _search(search, tree[sideA], depth + 1, dimensions);\n ret = (nPoint1[kdComparer] <\n ret[kdComparer] ?\n nPoint1 :\n point);\n }\n if (tree[sideB]) {\n // compare distance to current best to splitting point to\n // decide wether to check side B or not\n if (Math.sqrt(tdist * tdist) < ret[kdComparer]) {\n nPoint2 = _search(search, tree[sideB], depth + 1, dimensions);\n ret = (nPoint2[kdComparer] <\n ret[kdComparer] ?\n nPoint2 :\n ret);\n }\n }\n return ret;\n }\n if (!this.kdTree && !this.buildingKdTree) {\n this.buildKDTree(e);\n }\n if (this.kdTree) {\n return _search(point, this.kdTree, kdDimensions, kdDimensions);\n }\n },\n /**\n * @private\n * @function Highcharts.Series#pointPlacementToXValue\n * @return {number}\n */\n pointPlacementToXValue: function () {\n var _a = this,\n _b = _a.options,\n pointPlacement = _b.pointPlacement,\n pointRange = _b.pointRange,\n axis = _a.xAxis;\n var factor = pointPlacement;\n // Point placement is relative to each series pointRange (#5889)\n if (factor === 'between') {\n factor = axis.reversed ? -0.5 : 0.5; // #11955\n }\n return isNumber(factor) ?\n factor * pick(pointRange, axis.pointRange) :\n 0;\n },\n /**\n * @private\n * @function Highcharts.Series#isPointInside\n * @param {Highcharts.Point} point\n * @return {boolean}\n */\n isPointInside: function (point) {\n var isInside = typeof point.plotY !== 'undefined' &&\n typeof point.plotX !== 'undefined' &&\n point.plotY >= 0 &&\n point.plotY <= this.yAxis.len && // #3519\n point.plotX >= 0 &&\n point.plotX <= this.xAxis.len;\n return isInside;\n }\n }); // end Series prototype\n /**\n * A line series displays information as a series of data points connected by\n * straight line segments.\n *\n * @sample {highcharts} highcharts/demo/line-basic/\n * Line chart\n * @sample {highstock} stock/demo/basic-line/\n * Line chart\n *\n * @extends plotOptions.series\n * @product highcharts highstock\n * @apioption plotOptions.line\n */\n /**\n * The SVG value used for the `stroke-linecap` and `stroke-linejoin`\n * of a line graph. Round means that lines are rounded in the ends and\n * bends.\n *\n * @type {Highcharts.SeriesLinecapValue}\n * @default round\n * @since 3.0.7\n * @apioption plotOptions.line.linecap\n */\n /**\n * A `line` series. If the [type](#series.line.type) option is not\n * specified, it is inherited from [chart.type](#chart.type).\n *\n * @extends series,plotOptions.line\n * @excluding dataParser,dataURL\n * @product highcharts highstock\n * @apioption series.line\n */\n /**\n * An array of data points for the series. For the `line` series type,\n * points can be given in the following ways:\n *\n * 1. An array of numerical values. In this case, the numerical values will be\n * interpreted as `y` options. The `x` values will be automatically\n * calculated, either starting at 0 and incremented by 1, or from\n * `pointStart` and `pointInterval` given in the series options. If the axis\n * has categories, these will be used. Example:\n * ```js\n * data: [0, 5, 3, 5]\n * ```\n *\n * 2. An array of arrays with 2 values. In this case, the values correspond to\n * `x,y`. If the first value is a string, it is applied as the name of the\n * point, and the `x` value is inferred.\n * ```js\n * data: [\n * [0, 1],\n * [1, 2],\n * [2, 8]\n * ]\n * ```\n *\n * 3. An array of objects with named values. The following snippet shows only a\n * few settings, see the complete options set below. If the total number of\n * data points exceeds the series'\n * [turboThreshold](#series.line.turboThreshold),\n * this option is not available.\n * ```js\n * data: [{\n * x: 1,\n * y: 9,\n * name: \"Point2\",\n * color: \"#00FF00\"\n * }, {\n * x: 1,\n * y: 6,\n * name: \"Point1\",\n * color: \"#FF00FF\"\n * }]\n * ```\n *\n * **Note:** In TypeScript you have to extend `PointOptionsObject` with an\n * additional declaration to allow custom data types:\n * ```ts\n * declare module `highcharts` {\n * interface PointOptionsObject {\n * custom: Record;\n * }\n * }\n * ```\n *\n * @sample {highcharts} highcharts/chart/reflow-true/\n * Numerical values\n * @sample {highcharts} highcharts/series/data-array-of-arrays/\n * Arrays of numeric x and y\n * @sample {highcharts} highcharts/series/data-array-of-arrays-datetime/\n * Arrays of datetime x and y\n * @sample {highcharts} highcharts/series/data-array-of-name-value/\n * Arrays of point.name and y\n * @sample {highcharts} highcharts/series/data-array-of-objects/\n * Config objects\n *\n * @declare Highcharts.PointOptionsObject\n * @type {Array|null|*>}\n * @apioption series.line.data\n */\n /**\n * An additional, individual class name for the data point's graphic\n * representation.\n *\n * @type {string}\n * @since 5.0.0\n * @product highcharts gantt\n * @apioption series.line.data.className\n */\n /**\n * Individual color for the point. By default the color is pulled from\n * the global `colors` array.\n *\n * In styled mode, the `color` option doesn't take effect. Instead, use\n * `colorIndex`.\n *\n * @sample {highcharts} highcharts/point/color/\n * Mark the highest point\n *\n * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}\n * @product highcharts highstock gantt\n * @apioption series.line.data.color\n */\n /**\n * A specific color index to use for the point, so its graphic representations\n * are given the class name `highcharts-color-{n}`. In styled mode this will\n * change the color of the graphic. In non-styled mode, the color by is set by\n * the `fill` attribute, so the change in class name won't have a visual effect\n * by default.\n *\n * @type {number}\n * @since 5.0.0\n * @product highcharts gantt\n * @apioption series.line.data.colorIndex\n */\n /**\n * A reserved subspace to store options and values for customized functionality.\n * Here you can add additional data for your own event callbacks and formatter\n * callbacks.\n *\n * @sample {highcharts} highcharts/point/custom/\n * Point and series with custom data\n *\n * @type {Highcharts.Dictionary<*>}\n * @apioption series.line.data.custom\n */\n /**\n * Individual data label for each point. The options are the same as\n * the ones for [plotOptions.series.dataLabels](\n * #plotOptions.series.dataLabels).\n *\n * @sample highcharts/point/datalabels/\n * Show a label for the last value\n *\n * @declare Highcharts.DataLabelsOptions\n * @extends plotOptions.line.dataLabels\n * @product highcharts highstock gantt\n * @apioption series.line.data.dataLabels\n */\n /**\n * A description of the point to add to the screen reader information\n * about the point.\n *\n * @type {string}\n * @since 5.0.0\n * @requires modules/accessibility\n * @apioption series.line.data.description\n */\n /**\n * An id for the point. This can be used after render time to get a\n * pointer to the point object through `chart.get()`.\n *\n * @sample {highcharts} highcharts/point/id/\n * Remove an id'd point\n *\n * @type {string}\n * @since 1.2.0\n * @product highcharts highstock gantt\n * @apioption series.line.data.id\n */\n /**\n * The rank for this point's data label in case of collision. If two\n * data labels are about to overlap, only the one with the highest `labelrank`\n * will be drawn.\n *\n * @type {number}\n * @apioption series.line.data.labelrank\n */\n /**\n * The name of the point as shown in the legend, tooltip, dataLabels, etc.\n *\n * @see [xAxis.uniqueNames](#xAxis.uniqueNames)\n *\n * @sample {highcharts} highcharts/series/data-array-of-objects/\n * Point names\n *\n * @type {string}\n * @apioption series.line.data.name\n */\n /**\n * Whether the data point is selected initially.\n *\n * @type {boolean}\n * @default false\n * @product highcharts highstock gantt\n * @apioption series.line.data.selected\n */\n /**\n * The x value of the point. For datetime axes, the X value is the timestamp\n * in milliseconds since 1970.\n *\n * @type {number}\n * @product highcharts highstock\n * @apioption series.line.data.x\n */\n /**\n * The y value of the point.\n *\n * @type {number|null}\n * @product highcharts highstock\n * @apioption series.line.data.y\n */\n /**\n * The individual point events.\n *\n * @extends plotOptions.series.point.events\n * @product highcharts highstock gantt\n * @apioption series.line.data.events\n */\n /**\n * Options for the point markers of line-like series.\n *\n * @declare Highcharts.PointMarkerOptionsObject\n * @extends plotOptions.series.marker\n * @product highcharts highstock\n * @apioption series.line.data.marker\n */\n ''; // include precedent doclets in transpilat\n\n return CartesianSeries;\n });\n _registerModule(_modules, 'Series/LineSeries.js', [_modules['Core/Series/CartesianSeries.js'], _modules['Core/Globals.js']], function (CartesianSeries, H) {\n /* *\n *\n * (c) 2010-2020 Torstein Honsi\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n H.Series = CartesianSeries; // backwards compatibility\n\n return H.Series;\n });\n _registerModule(_modules, 'Extensions/Stacking.js', [_modules['Core/Axis/Axis.js'], _modules['Core/Chart/Chart.js'], _modules['Core/Globals.js'], _modules['Core/Axis/StackingAxis.js'], _modules['Core/Utilities.js']], function (Axis, Chart, H, StackingAxis, U) {\n /* *\n *\n * (c) 2010-2020 Torstein Honsi\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n var correctFloat = U.correctFloat,\n defined = U.defined,\n destroyObjectProperties = U.destroyObjectProperties,\n format = U.format,\n isNumber = U.isNumber,\n pick = U.pick;\n /**\n * Stack of data points\n *\n * @product highcharts\n *\n * @interface Highcharts.StackItemObject\n */ /**\n * Alignment settings\n * @name Highcharts.StackItemObject#alignOptions\n * @type {Highcharts.AlignObject}\n */ /**\n * Related axis\n * @name Highcharts.StackItemObject#axis\n * @type {Highcharts.Axis}\n */ /**\n * Cumulative value of the stacked data points\n * @name Highcharts.StackItemObject#cumulative\n * @type {number}\n */ /**\n * True if on the negative side\n * @name Highcharts.StackItemObject#isNegative\n * @type {boolean}\n */ /**\n * Related SVG element\n * @name Highcharts.StackItemObject#label\n * @type {Highcharts.SVGElement}\n */ /**\n * Related stack options\n * @name Highcharts.StackItemObject#options\n * @type {Highcharts.YAxisStackLabelsOptions}\n */ /**\n * Total value of the stacked data points\n * @name Highcharts.StackItemObject#total\n * @type {number}\n */ /**\n * Shared x value of the stack\n * @name Highcharts.StackItemObject#x\n * @type {number}\n */\n ''; // detached doclets above\n var Series = H.Series;\n /* eslint-disable no-invalid-this, valid-jsdoc */\n /**\n * The class for stacks. Each stack, on a specific X value and either negative\n * or positive, has its own stack item.\n *\n * @private\n * @class\n * @name Highcharts.StackItem\n * @param {Highcharts.Axis} axis\n * @param {Highcharts.YAxisStackLabelsOptions} options\n * @param {boolean} isNegative\n * @param {number} x\n * @param {Highcharts.OptionsStackingValue} [stackOption]\n */\n var StackItem = /** @class */ (function () {\n function StackItem(axis, options, isNegative, x, stackOption) {\n var inverted = axis.chart.inverted;\n this.axis = axis;\n // Tells if the stack is negative\n this.isNegative = isNegative;\n // Save the options to be able to style the label\n this.options = options = options || {};\n // Save the x value to be able to position the label later\n this.x = x;\n // Initialize total value\n this.total = null;\n // This will keep each points' extremes stored by series.index and point\n // index\n this.points = {};\n this.hasValidPoints = false;\n // Save the stack option on the series configuration object,\n // and whether to treat it as percent\n this.stack = stackOption;\n this.leftCliff = 0;\n this.rightCliff = 0;\n // The align options and text align varies on whether the stack is\n // negative and if the chart is inverted or not.\n // First test the user supplied value, then use the dynamic.\n this.alignOptions = {\n align: options.align ||\n (inverted ? (isNegative ? 'left' : 'right') : 'center'),\n verticalAlign: options.verticalAlign ||\n (inverted ? 'middle' : (isNegative ? 'bottom' : 'top')),\n y: options.y,\n x: options.x\n };\n this.textAlign = options.textAlign ||\n (inverted ? (isNegative ? 'right' : 'left') : 'center');\n }\n /**\n * @private\n * @function Highcharts.StackItem#destroy\n */\n StackItem.prototype.destroy = function () {\n destroyObjectProperties(this, this.axis);\n };\n /**\n * Renders the stack total label and adds it to the stack label group.\n *\n * @private\n * @function Highcharts.StackItem#render\n * @param {Highcharts.SVGElement} group\n */\n StackItem.prototype.render = function (group) {\n var chart = this.axis.chart,\n options = this.options,\n formatOption = options.format,\n attr = {},\n str = formatOption ? // format the text in the label\n format(formatOption,\n this,\n chart) :\n options.formatter.call(this);\n // Change the text to reflect the new total and set visibility to hidden\n // in case the serie is hidden\n if (this.label) {\n this.label.attr({ text: str, visibility: 'hidden' });\n }\n else {\n // Create new label\n this.label = chart.renderer\n .label(str, null, null, options.shape, null, null, options.useHTML, false, 'stack-labels');\n attr = {\n r: options.borderRadius || 0,\n text: str,\n rotation: options.rotation,\n padding: pick(options.padding, 5),\n visibility: 'hidden' // hidden until setOffset is called\n };\n if (!chart.styledMode) {\n attr.fill = options.backgroundColor;\n attr.stroke = options.borderColor;\n attr['stroke-width'] = options.borderWidth;\n this.label.css(options.style);\n }\n this.label.attr(attr);\n if (!this.label.added) {\n this.label.add(group); // add to the labels-group\n }\n }\n // Rank it higher than data labels (#8742)\n this.label.labelrank = chart.plotHeight;\n };\n /**\n * Sets the offset that the stack has from the x value and repositions the\n * label.\n *\n * @private\n * @function Highcarts.StackItem#setOffset\n * @param {number} xOffset\n * @param {number} xWidth\n * @param {number} [boxBottom]\n * @param {number} [boxTop]\n * @param {number} [defaultX]\n */\n StackItem.prototype.setOffset = function (xOffset, xWidth, boxBottom, boxTop, defaultX) {\n var stackItem = this,\n axis = stackItem.axis,\n chart = axis.chart, \n // stack value translated mapped to chart coordinates\n y = axis.translate(axis.stacking.usePercentage ?\n 100 :\n (boxTop ?\n boxTop :\n stackItem.total), 0, 0, 0, 1),\n yZero = axis.translate(boxBottom ? boxBottom : 0), // stack origin\n // stack height:\n h = defined(y) && Math.abs(y - yZero), \n // x position:\n x = pick(defaultX,\n chart.xAxis[0].translate(stackItem.x)) +\n xOffset,\n stackBox = defined(y) && stackItem.getStackBox(chart,\n stackItem,\n x,\n y,\n xWidth,\n h,\n axis),\n label = stackItem.label,\n isNegative = stackItem.isNegative,\n isJustify = pick(stackItem.options.overflow, 'justify') === 'justify',\n textAlign = stackItem.textAlign,\n visible;\n if (label && stackBox) {\n var bBox = label.getBBox(),\n padding = label.padding,\n boxOffsetX,\n boxOffsetY;\n if (textAlign === 'left') {\n boxOffsetX = chart.inverted ? -padding : padding;\n }\n else if (textAlign === 'right') {\n boxOffsetX = bBox.width;\n }\n else {\n if (chart.inverted && textAlign === 'center') {\n boxOffsetX = bBox.width / 2;\n }\n else {\n boxOffsetX = chart.inverted ?\n (isNegative ? bBox.width + padding : -padding) : bBox.width / 2;\n }\n }\n boxOffsetY = chart.inverted ?\n bBox.height / 2 : (isNegative ? -padding : bBox.height);\n // Reset alignOptions property after justify #12337\n stackItem.alignOptions.x = pick(stackItem.options.x, 0);\n stackItem.alignOptions.y = pick(stackItem.options.y, 0);\n // Set the stackBox position\n stackBox.x -= boxOffsetX;\n stackBox.y -= boxOffsetY;\n // Align the label to the box\n label.align(stackItem.alignOptions, null, stackBox);\n // Check if label is inside the plotArea #12294\n if (chart.isInsidePlot(label.alignAttr.x + boxOffsetX - stackItem.alignOptions.x, label.alignAttr.y + boxOffsetY - stackItem.alignOptions.y)) {\n label.show();\n }\n else {\n // Move label away to avoid the overlapping issues\n label.alignAttr.y = -9999;\n isJustify = false;\n }\n if (isJustify) {\n // Justify stackLabel into the stackBox\n Series.prototype.justifyDataLabel.call(this.axis, label, stackItem.alignOptions, label.alignAttr, bBox, stackBox);\n }\n label.attr({\n x: label.alignAttr.x,\n y: label.alignAttr.y\n });\n if (pick(!isJustify && stackItem.options.crop, true)) {\n visible =\n isNumber(label.x) &&\n isNumber(label.y) &&\n chart.isInsidePlot(label.x - padding + label.width, label.y) &&\n chart.isInsidePlot(label.x + padding, label.y);\n if (!visible) {\n label.hide();\n }\n }\n }\n };\n /**\n * @private\n * @function Highcharts.StackItem#getStackBox\n *\n * @param {Highcharts.Chart} chart\n *\n * @param {Highcharts.StackItem} stackItem\n *\n * @param {number} x\n *\n * @param {number} y\n *\n * @param {number} xWidth\n *\n * @param {number} h\n *\n * @param {Highcharts.Axis} axis\n *\n * @return {Highcharts.BBoxObject}\n */\n StackItem.prototype.getStackBox = function (chart, stackItem, x, y, xWidth, h, axis) {\n var reversed = stackItem.axis.reversed,\n inverted = chart.inverted,\n axisPos = axis.height + axis.pos -\n (inverted ? chart.plotLeft : chart.plotTop),\n neg = (stackItem.isNegative && !reversed) ||\n (!stackItem.isNegative && reversed); // #4056\n return {\n x: inverted ? (neg ? y - axis.right : y - h + axis.pos - chart.plotLeft) :\n x + chart.xAxis[0].transB - chart.plotLeft,\n y: inverted ?\n axis.height - x - xWidth :\n (neg ?\n (axisPos - y - h) :\n axisPos - y),\n width: inverted ? h : xWidth,\n height: inverted ? xWidth : h\n };\n };\n return StackItem;\n }());\n /**\n * Generate stacks for each series and calculate stacks total values\n *\n * @private\n * @function Highcharts.Chart#getStacks\n */\n Chart.prototype.getStacks = function () {\n var chart = this,\n inverted = chart.inverted;\n // reset stacks for each yAxis\n chart.yAxis.forEach(function (axis) {\n if (axis.stacking && axis.stacking.stacks && axis.hasVisibleSeries) {\n axis.stacking.oldStacks = axis.stacking.stacks;\n }\n });\n chart.series.forEach(function (series) {\n var xAxisOptions = series.xAxis && series.xAxis.options || {};\n if (series.options.stacking &&\n (series.visible === true ||\n chart.options.chart.ignoreHiddenSeries === false)) {\n series.stackKey = [\n series.type,\n pick(series.options.stack, ''),\n inverted ? xAxisOptions.top : xAxisOptions.left,\n inverted ? xAxisOptions.height : xAxisOptions.width\n ].join(',');\n }\n });\n };\n // Stacking methods defined on the Axis prototype\n StackingAxis.compose(Axis);\n // Stacking methods defined for Series prototype\n /**\n * Set grouped points in a stack-like object. When `centerInCategory` is true,\n * and `stacking` is not enabled, we need a pseudo (horizontal) stack in order\n * to handle grouping of points within the same category.\n *\n * @private\n * @function Highcharts.Series#setStackedPoints\n * @return {void}\n */\n Series.prototype.setGroupedPoints = function () {\n if (this.options.centerInCategory &&\n (this.is('column') || this.is('columnrange')) &&\n // With stacking enabled, we already have stacks that we can compute\n // from\n !this.options.stacking &&\n // With only one series, we don't need to consider centerInCategory\n this.chart.series.length > 1) {\n Series.prototype.setStackedPoints.call(this, 'group');\n }\n };\n /**\n * Adds series' points value to corresponding stack\n *\n * @private\n * @function Highcharts.Series#setStackedPoints\n */\n Series.prototype.setStackedPoints = function (stackingParam) {\n var stacking = stackingParam || this.options.stacking;\n if (!stacking ||\n (this.visible !== true &&\n this.chart.options.chart.ignoreHiddenSeries !== false)) {\n return;\n }\n var series = this, xData = series.processedXData, yData = series.processedYData, stackedYData = [], yDataLength = yData.length, seriesOptions = series.options, threshold = seriesOptions.threshold, stackThreshold = pick(seriesOptions.startFromThreshold && threshold, 0), stackOption = seriesOptions.stack, stackKey = stackingParam ? series.type + \",\" + stacking : series.stackKey, negKey = '-' + stackKey, negStacks = series.negStacks, yAxis = series.yAxis, stacks = yAxis.stacking.stacks, oldStacks = yAxis.stacking.oldStacks, stackIndicator, isNegative, stack, other, key, pointKey, i, x, y;\n yAxis.stacking.stacksTouched += 1;\n // loop over the non-null y values and read them into a local array\n for (i = 0; i < yDataLength; i++) {\n x = xData[i];\n y = yData[i];\n stackIndicator = series.getStackIndicator(stackIndicator, x, series.index);\n pointKey = stackIndicator.key;\n // Read stacked values into a stack based on the x value,\n // the sign of y and the stack key. Stacking is also handled for null\n // values (#739)\n isNegative = negStacks && y < (stackThreshold ? 0 : threshold);\n key = isNegative ? negKey : stackKey;\n // Create empty object for this stack if it doesn't exist yet\n if (!stacks[key]) {\n stacks[key] =\n {};\n }\n // Initialize StackItem for this x\n if (!stacks[key][x]) {\n if (oldStacks[key] &&\n oldStacks[key][x]) {\n stacks[key][x] = oldStacks[key][x];\n stacks[key][x].total = null;\n }\n else {\n stacks[key][x] = new StackItem(yAxis, yAxis.options.stackLabels, isNegative, x, stackOption);\n }\n }\n // If the StackItem doesn't exist, create it first\n stack = stacks[key][x];\n if (y !== null) {\n stack.points[pointKey] = stack.points[series.index] =\n [pick(stack.cumulative, stackThreshold)];\n // Record the base of the stack\n if (!defined(stack.cumulative)) {\n stack.base = pointKey;\n }\n stack.touched = yAxis.stacking.stacksTouched;\n // In area charts, if there are multiple points on the same X value,\n // let the area fill the full span of those points\n if (stackIndicator.index > 0 && series.singleStacks === false) {\n stack.points[pointKey][0] =\n stack.points[series.index + ',' + x + ',0'][0];\n }\n // When updating to null, reset the point stack (#7493)\n }\n else {\n stack.points[pointKey] = stack.points[series.index] =\n null;\n }\n // Add value to the stack total\n if (stacking === 'percent') {\n // Percent stacked column, totals are the same for the positive and\n // negative stacks\n other = isNegative ? stackKey : negKey;\n if (negStacks && stacks[other] && stacks[other][x]) {\n other = stacks[other][x];\n stack.total = other.total =\n Math.max(other.total, stack.total) +\n Math.abs(y) ||\n 0;\n // Percent stacked areas\n }\n else {\n stack.total =\n correctFloat(stack.total + (Math.abs(y) || 0));\n }\n }\n else if (stacking === 'group') {\n // In this stack, the total is the number of valid points\n if (y !== null) {\n stack.total = (stack.total || 0) + 1;\n }\n }\n else {\n stack.total = correctFloat(stack.total + (y || 0));\n }\n if (stacking === 'group') {\n // This point's index within the stack, pushed to stack.points[1]\n stack.cumulative = (stack.total || 1) - 1;\n }\n else {\n stack.cumulative =\n pick(stack.cumulative, stackThreshold) + (y || 0);\n }\n if (y !== null) {\n stack.points[pointKey].push(stack.cumulative);\n stackedYData[i] = stack.cumulative;\n stack.hasValidPoints = true;\n }\n }\n if (stacking === 'percent') {\n yAxis.stacking.usePercentage = true;\n }\n if (stacking !== 'group') {\n this.stackedYData = stackedYData; // To be used in getExtremes\n }\n // Reset old stacks\n yAxis.stacking.oldStacks = {};\n };\n /**\n * Iterate over all stacks and compute the absolute values to percent\n *\n * @private\n * @function Highcharts.Series#modifyStacks\n */\n Series.prototype.modifyStacks = function () {\n var series = this,\n yAxis = series.yAxis,\n stackKey = series.stackKey,\n stacks = yAxis.stacking.stacks,\n processedXData = series.processedXData,\n stackIndicator,\n stacking = series.options.stacking;\n if (series[stacking + 'Stacker']) { // Modifier function exists\n [stackKey, '-' + stackKey].forEach(function (key) {\n var i = processedXData.length,\n x,\n stack,\n pointExtremes;\n while (i--) {\n x = processedXData[i];\n stackIndicator = series.getStackIndicator(stackIndicator, x, series.index, key);\n stack = stacks[key] && stacks[key][x];\n pointExtremes =\n stack && stack.points[stackIndicator.key];\n if (pointExtremes) {\n series[stacking + 'Stacker'](pointExtremes, stack, i);\n }\n }\n });\n }\n };\n /**\n * Modifier function for percent stacks. Blows up the stack to 100%.\n *\n * @private\n * @function Highcharts.Series#percentStacker\n * @param {Array} pointExtremes\n * @param {Highcharts.StackItem} stack\n * @param {number} i\n */\n Series.prototype.percentStacker = function (pointExtremes, stack, i) {\n var totalFactor = stack.total ? 100 / stack.total : 0;\n // Y bottom value\n pointExtremes[0] = correctFloat(pointExtremes[0] * totalFactor);\n // Y value\n pointExtremes[1] = correctFloat(pointExtremes[1] * totalFactor);\n this.stackedYData[i] = pointExtremes[1];\n };\n /**\n * Get stack indicator, according to it's x-value, to determine points with the\n * same x-value\n *\n * @private\n * @function Highcharts.Series#getStackIndicator\n * @param {Highcharts.StackItemIndicatorObject|undefined} stackIndicator\n * @param {number} x\n * @param {number} index\n * @param {string} [key]\n * @return {Highcharts.StackItemIndicatorObject}\n */\n Series.prototype.getStackIndicator = function (stackIndicator, x, index, key) {\n // Update stack indicator, when:\n // first point in a stack || x changed || stack type (negative vs positive)\n // changed:\n if (!defined(stackIndicator) ||\n stackIndicator.x !== x ||\n (key && stackIndicator.key !== key)) {\n stackIndicator = {\n x: x,\n index: 0,\n key: key\n };\n }\n else {\n (stackIndicator).index++;\n }\n stackIndicator.key =\n [index, x, stackIndicator.index].join(',');\n return stackIndicator;\n };\n H.StackItem = StackItem;\n\n return H.StackItem;\n });\n _registerModule(_modules, 'Core/Dynamics.js', [_modules['Core/Animation/AnimationUtilities.js'], _modules['Core/Axis/Axis.js'], _modules['Core/Series/Series.js'], _modules['Core/Chart/Chart.js'], _modules['Core/Globals.js'], _modules['Series/LineSeries.js'], _modules['Core/Options.js'], _modules['Core/Series/Point.js'], _modules['Core/Time.js'], _modules['Core/Utilities.js']], function (A, Axis, BaseSeries, Chart, H, LineSeries, O, Point, Time, U) {\n /* *\n *\n * (c) 2010-2020 Torstein Honsi\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n var animate = A.animate,\n setAnimation = A.setAnimation;\n var seriesTypes = BaseSeries.seriesTypes;\n var time = O.time;\n var addEvent = U.addEvent,\n createElement = U.createElement,\n css = U.css,\n defined = U.defined,\n erase = U.erase,\n error = U.error,\n extend = U.extend,\n fireEvent = U.fireEvent,\n isArray = U.isArray,\n isNumber = U.isNumber,\n isObject = U.isObject,\n isString = U.isString,\n merge = U.merge,\n objectEach = U.objectEach,\n pick = U.pick,\n relativeLength = U.relativeLength,\n splat = U.splat;\n /* eslint-disable valid-jsdoc */\n /**\n * Remove settings that have not changed, to avoid unnecessary rendering or\n * computing (#9197).\n * @private\n */\n H.cleanRecursively = function (newer, older) {\n var result = {};\n objectEach(newer, function (val, key) {\n var ob;\n // Dive into objects (except DOM nodes)\n if (isObject(newer[key], true) &&\n !newer.nodeType && // #10044\n older[key]) {\n ob = H.cleanRecursively(newer[key], older[key]);\n if (Object.keys(ob).length) {\n result[key] = ob;\n }\n // Arrays, primitives and DOM nodes are copied directly\n }\n else if (isObject(newer[key]) ||\n newer[key] !== older[key]) {\n result[key] = newer[key];\n }\n });\n return result;\n };\n // Extend the Chart prototype for dynamic methods\n extend(Chart.prototype, /** @lends Highcharts.Chart.prototype */ {\n /**\n * Add a series to the chart after render time. Note that this method should\n * never be used when adding data synchronously at chart render time, as it\n * adds expense to the calculations and rendering. When adding data at the\n * same time as the chart is initialized, add the series as a configuration\n * option instead. With multiple axes, the `offset` is dynamically adjusted.\n *\n * @sample highcharts/members/chart-addseries/\n * Add a series from a button\n * @sample stock/members/chart-addseries/\n * Add a series in Highstock\n *\n * @function Highcharts.Chart#addSeries\n *\n * @param {Highcharts.SeriesOptionsType} options\n * The config options for the series.\n *\n * @param {boolean} [redraw=true]\n * Whether to redraw the chart after adding.\n *\n * @param {boolean|Partial} [animation]\n * Whether to apply animation, and optionally animation\n * configuration.\n *\n * @return {Highcharts.Series}\n * The newly created series object.\n *\n * @fires Highcharts.Chart#event:addSeries\n * @fires Highcharts.Chart#event:afterAddSeries\n */\n addSeries: function (options, redraw, animation) {\n var series,\n chart = this;\n if (options) { // <- not necessary\n redraw = pick(redraw, true); // defaults to true\n fireEvent(chart, 'addSeries', { options: options }, function () {\n series = chart.initSeries(options);\n chart.isDirtyLegend = true;\n chart.linkSeries();\n if (series.enabledDataSorting) {\n // We need to call `setData` after `linkSeries`\n series.setData(options.data, false);\n }\n fireEvent(chart, 'afterAddSeries', { series: series });\n if (redraw) {\n chart.redraw(animation);\n }\n });\n }\n return series;\n },\n /**\n * Add an axis to the chart after render time. Note that this method should\n * never be used when adding data synchronously at chart render time, as it\n * adds expense to the calculations and rendering. When adding data at the\n * same time as the chart is initialized, add the axis as a configuration\n * option instead.\n *\n * @sample highcharts/members/chart-addaxis/\n * Add and remove axes\n *\n * @function Highcharts.Chart#addAxis\n *\n * @param {Highcharts.AxisOptions} options\n * The axis options.\n *\n * @param {boolean} [isX=false]\n * Whether it is an X axis or a value axis.\n *\n * @param {boolean} [redraw=true]\n * Whether to redraw the chart after adding.\n *\n * @param {boolean|Partial} [animation=true]\n * Whether and how to apply animation in the redraw.\n *\n * @return {Highcharts.Axis}\n * The newly generated Axis object.\n */\n addAxis: function (options, isX, redraw, animation) {\n return this.createAxis(isX ? 'xAxis' : 'yAxis', { axis: options, redraw: redraw, animation: animation });\n },\n /**\n * Add a color axis to the chart after render time. Note that this method\n * should never be used when adding data synchronously at chart render time,\n * as it adds expense to the calculations and rendering. When adding data at\n * the same time as the chart is initialized, add the axis as a\n * configuration option instead.\n *\n * @sample highcharts/members/chart-addaxis/\n * Add and remove axes\n *\n * @function Highcharts.Chart#addColorAxis\n *\n * @param {Highcharts.ColorAxisOptions} options\n * The axis options.\n *\n * @param {boolean} [redraw=true]\n * Whether to redraw the chart after adding.\n *\n * @param {boolean|Partial} [animation=true]\n * Whether and how to apply animation in the redraw.\n *\n * @return {Highcharts.ColorAxis}\n * The newly generated Axis object.\n */\n addColorAxis: function (options, redraw, animation) {\n return this.createAxis('colorAxis', { axis: options, redraw: redraw, animation: animation });\n },\n /**\n * Factory for creating different axis types.\n *\n * @private\n * @function Highcharts.Chart#createAxis\n *\n * @param {string} type\n * An axis type.\n *\n * @param {...Array<*>} arguments\n * All arguments for the constructor.\n *\n * @return {Highcharts.Axis | Highcharts.ColorAxis}\n * The newly generated Axis object.\n */\n createAxis: function (type, options) {\n var chartOptions = this.options,\n isColorAxis = type === 'colorAxis',\n axisOptions = options.axis,\n redraw = options.redraw,\n animation = options.animation,\n userOptions = merge(axisOptions, {\n index: this[type].length,\n isX: type === 'xAxis'\n }),\n axis;\n if (isColorAxis) {\n axis = new H.ColorAxis(this, userOptions);\n }\n else {\n axis = new Axis(this, userOptions);\n }\n // Push the new axis options to the chart options\n chartOptions[type] = splat(chartOptions[type] || {});\n chartOptions[type].push(userOptions);\n if (isColorAxis) {\n this.isDirtyLegend = true;\n // Clear before 'bindAxes' (#11924)\n this.axes.forEach(function (axis) {\n axis.series = [];\n });\n this.series.forEach(function (series) {\n series.bindAxes();\n series.isDirtyData = true;\n });\n }\n if (pick(redraw, true)) {\n this.redraw(animation);\n }\n return axis;\n },\n /**\n * Dim the chart and show a loading text or symbol. Options for the loading\n * screen are defined in {@link\n * https://api.highcharts.com/highcharts/loading|the loading options}.\n *\n * @sample highcharts/members/chart-hideloading/\n * Show and hide loading from a button\n * @sample highcharts/members/chart-showloading/\n * Apply different text labels\n * @sample stock/members/chart-show-hide-loading/\n * Toggle loading in Highstock\n *\n * @function Highcharts.Chart#showLoading\n *\n * @param {string} [str]\n * An optional text to show in the loading label instead of the\n * default one. The default text is set in\n * [lang.loading](https://api.highcharts.com/highcharts/lang.loading).\n */\n showLoading: function (str) {\n var chart = this,\n options = chart.options,\n loadingDiv = chart.loadingDiv,\n loadingOptions = options.loading,\n setLoadingSize = function () {\n if (loadingDiv) {\n css(loadingDiv, {\n left: chart.plotLeft + 'px',\n top: chart.plotTop + 'px',\n width: chart.plotWidth + 'px',\n height: chart.plotHeight + 'px'\n });\n }\n };\n // create the layer at the first call\n if (!loadingDiv) {\n chart.loadingDiv = loadingDiv = createElement('div', {\n className: 'highcharts-loading highcharts-loading-hidden'\n }, null, chart.container);\n chart.loadingSpan = createElement('span', { className: 'highcharts-loading-inner' }, null, loadingDiv);\n addEvent(chart, 'redraw', setLoadingSize); // #1080\n }\n loadingDiv.className = 'highcharts-loading';\n // Update text\n chart.loadingSpan.innerHTML =\n pick(str, options.lang.loading, '');\n if (!chart.styledMode) {\n // Update visuals\n css(loadingDiv, extend(loadingOptions.style, {\n zIndex: 10\n }));\n css(chart.loadingSpan, loadingOptions.labelStyle);\n // Show it\n if (!chart.loadingShown) {\n css(loadingDiv, {\n opacity: 0,\n display: ''\n });\n animate(loadingDiv, {\n opacity: loadingOptions.style.opacity || 0.5\n }, {\n duration: loadingOptions.showDuration || 0\n });\n }\n }\n chart.loadingShown = true;\n setLoadingSize();\n },\n /**\n * Hide the loading layer.\n *\n * @see Highcharts.Chart#showLoading\n *\n * @sample highcharts/members/chart-hideloading/\n * Show and hide loading from a button\n * @sample stock/members/chart-show-hide-loading/\n * Toggle loading in Highstock\n *\n * @function Highcharts.Chart#hideLoading\n */\n hideLoading: function () {\n var options = this.options,\n loadingDiv = this.loadingDiv;\n if (loadingDiv) {\n loadingDiv.className =\n 'highcharts-loading highcharts-loading-hidden';\n if (!this.styledMode) {\n animate(loadingDiv, {\n opacity: 0\n }, {\n duration: options.loading.hideDuration || 100,\n complete: function () {\n css(loadingDiv, { display: 'none' });\n }\n });\n }\n }\n this.loadingShown = false;\n },\n /**\n * These properties cause isDirtyBox to be set to true when updating. Can be\n * extended from plugins.\n */\n propsRequireDirtyBox: [\n 'backgroundColor',\n 'borderColor',\n 'borderWidth',\n 'borderRadius',\n 'plotBackgroundColor',\n 'plotBackgroundImage',\n 'plotBorderColor',\n 'plotBorderWidth',\n 'plotShadow',\n 'shadow'\n ],\n /**\n * These properties require a full reflow of chart elements, best\n * implemented through running `Chart.setSize` internally (#8190).\n * @type {Array}\n */\n propsRequireReflow: [\n 'margin',\n 'marginTop',\n 'marginRight',\n 'marginBottom',\n 'marginLeft',\n 'spacing',\n 'spacingTop',\n 'spacingRight',\n 'spacingBottom',\n 'spacingLeft'\n ],\n /**\n * These properties cause all series to be updated when updating. Can be\n * extended from plugins.\n */\n propsRequireUpdateSeries: [\n 'chart.inverted',\n 'chart.polar',\n 'chart.ignoreHiddenSeries',\n 'chart.type',\n 'colors',\n 'plotOptions',\n 'time',\n 'tooltip'\n ],\n /**\n * These collections (arrays) implement update() methods with support for\n * one-to-one option.\n */\n collectionsWithUpdate: [\n 'xAxis',\n 'yAxis',\n 'zAxis',\n 'series'\n ],\n /**\n * A generic function to update any element of the chart. Elements can be\n * enabled and disabled, moved, re-styled, re-formatted etc.\n *\n * A special case is configuration objects that take arrays, for example\n * [xAxis](https://api.highcharts.com/highcharts/xAxis),\n * [yAxis](https://api.highcharts.com/highcharts/yAxis) or\n * [series](https://api.highcharts.com/highcharts/series). For these\n * collections, an `id` option is used to map the new option set to an\n * existing object. If an existing object of the same id is not found, the\n * corresponding item is updated. So for example, running `chart.update`\n * with a series item without an id, will cause the existing chart's series\n * with the same index in the series array to be updated. When the\n * `oneToOne` parameter is true, `chart.update` will also take care of\n * adding and removing items from the collection. Read more under the\n * parameter description below.\n *\n * Note that when changing series data, `chart.update` may mutate the passed\n * data options.\n *\n * See also the\n * [responsive option set](https://api.highcharts.com/highcharts/responsive).\n * Switching between `responsive.rules` basically runs `chart.update` under\n * the hood.\n *\n * @sample highcharts/members/chart-update/\n * Update chart geometry\n *\n * @function Highcharts.Chart#update\n *\n * @param {Highcharts.Options} options\n * A configuration object for the new chart options.\n *\n * @param {boolean} [redraw=true]\n * Whether to redraw the chart.\n *\n * @param {boolean} [oneToOne=false]\n * When `true`, the `series`, `xAxis`, `yAxis` and `annotations`\n * collections will be updated one to one, and items will be either\n * added or removed to match the new updated options. For example,\n * if the chart has two series and we call `chart.update` with a\n * configuration containing three series, one will be added. If we\n * call `chart.update` with one series, one will be removed. Setting\n * an empty `series` array will remove all series, but leaving out\n * the`series` property will leave all series untouched. If the\n * series have id's, the new series options will be matched by id,\n * and the remaining ones removed.\n *\n * @param {boolean|Partial} [animation=true]\n * Whether to apply animation, and optionally animation\n * configuration.\n *\n * @fires Highcharts.Chart#event:update\n * @fires Highcharts.Chart#event:afterUpdate\n */\n update: function (options, redraw, oneToOne, animation) {\n var chart = this,\n adders = {\n credits: 'addCredits',\n title: 'setTitle',\n subtitle: 'setSubtitle',\n caption: 'setCaption'\n },\n optionsChart,\n updateAllAxes,\n updateAllSeries,\n newWidth,\n newHeight,\n runSetSize,\n isResponsiveOptions = options.isResponsiveOptions,\n itemsForRemoval = [];\n fireEvent(chart, 'update', { options: options });\n // If there are responsive rules in action, undo the responsive rules\n // before we apply the updated options and replay the responsive rules\n // on top from the chart.redraw function (#9617).\n if (!isResponsiveOptions) {\n chart.setResponsive(false, true);\n }\n options = H.cleanRecursively(options, chart.options);\n merge(true, chart.userOptions, options);\n // If the top-level chart option is present, some special updates are\n // required\n optionsChart = options.chart;\n if (optionsChart) {\n merge(true, chart.options.chart, optionsChart);\n // Setter function\n if ('className' in optionsChart) {\n chart.setClassName(optionsChart.className);\n }\n if ('reflow' in optionsChart) {\n chart.setReflow(optionsChart.reflow);\n }\n if ('inverted' in optionsChart ||\n 'polar' in optionsChart ||\n 'type' in optionsChart) {\n // Parse options.chart.inverted and options.chart.polar together\n // with the available series.\n chart.propFromSeries();\n updateAllAxes = true;\n }\n if ('alignTicks' in optionsChart) { // #6452\n updateAllAxes = true;\n }\n objectEach(optionsChart, function (val, key) {\n if (chart.propsRequireUpdateSeries.indexOf('chart.' + key) !==\n -1) {\n updateAllSeries = true;\n }\n // Only dirty box\n if (chart.propsRequireDirtyBox.indexOf(key) !== -1) {\n chart.isDirtyBox = true;\n }\n // Chart setSize\n if (chart.propsRequireReflow.indexOf(key) !== -1) {\n if (isResponsiveOptions) {\n chart.isDirtyBox = true;\n }\n else {\n runSetSize = true;\n }\n }\n });\n if (!chart.styledMode && 'style' in optionsChart) {\n chart.renderer.setStyle(optionsChart.style);\n }\n }\n // Moved up, because tooltip needs updated plotOptions (#6218)\n if (!chart.styledMode && options.colors) {\n this.options.colors = options.colors;\n }\n if (options.time) {\n // Maintaining legacy global time. If the chart is instanciated\n // first with global time, then updated with time options, we need\n // to create a new Time instance to avoid mutating the global time\n // (#10536).\n if (this.time === time) {\n this.time = new Time(options.time);\n }\n // If we're updating, the time class is different from other chart\n // classes (chart.legend, chart.tooltip etc) in that it doesn't know\n // about the chart. The other chart[something].update functions also\n // set the chart.options[something]. For the time class however we\n // need to update the chart options separately. #14230.\n merge(true, chart.options.time, options.time);\n }\n // Some option stuctures correspond one-to-one to chart objects that\n // have update methods, for example\n // options.credits => chart.credits\n // options.legend => chart.legend\n // options.title => chart.title\n // options.tooltip => chart.tooltip\n // options.subtitle => chart.subtitle\n // options.mapNavigation => chart.mapNavigation\n // options.navigator => chart.navigator\n // options.scrollbar => chart.scrollbar\n objectEach(options, function (val, key) {\n if (chart[key] &&\n typeof chart[key].update === 'function') {\n chart[key].update(val, false);\n // If a one-to-one object does not exist, look for an adder function\n }\n else if (typeof chart[adders[key]] === 'function') {\n chart[adders[key]](val);\n // Else, just merge the options. For nodes like loading, noData,\n // plotOptions\n }\n else if (key !== 'color' &&\n chart.collectionsWithUpdate.indexOf(key) === -1) {\n merge(true, chart.options[key], options[key]);\n }\n if (key !== 'chart' &&\n chart.propsRequireUpdateSeries.indexOf(key) !== -1) {\n updateAllSeries = true;\n }\n });\n // Setters for collections. For axes and series, each item is referred\n // by an id. If the id is not found, it defaults to the corresponding\n // item in the collection, so setting one series without an id, will\n // update the first series in the chart. Setting two series without\n // an id will update the first and the second respectively (#6019)\n // chart.update and responsive.\n this.collectionsWithUpdate.forEach(function (coll) {\n var indexMap;\n if (options[coll]) {\n // In stock charts, the navigator series are also part of the\n // chart.series array, but those series should not be handled\n // here (#8196).\n if (coll === 'series') {\n indexMap = [];\n chart[coll].forEach(function (s, i) {\n if (!s.options.isInternal) {\n indexMap.push(pick(s.options.index, i));\n }\n });\n }\n splat(options[coll]).forEach(function (newOptions, i) {\n var hasId = defined(newOptions.id);\n var item;\n // Match by id\n if (hasId) {\n item = chart.get(newOptions.id);\n }\n // No match by id found, match by index instead\n if (!item) {\n item = chart[coll][indexMap ? indexMap[i] : i];\n // Check if we grabbed an item with an exising but\n // different id (#13541)\n if (item && hasId && defined(item.options.id)) {\n item = void 0;\n }\n }\n if (item && item.coll === coll) {\n item.update(newOptions, false);\n if (oneToOne) {\n item.touched = true;\n }\n }\n // If oneToOne and no matching item is found, add one\n if (!item && oneToOne && chart.collectionsWithInit[coll]) {\n chart.collectionsWithInit[coll][0].apply(chart, \n // [newOptions, ...extraArguments, redraw=false]\n [\n newOptions\n ].concat(\n // Not all initializers require extra args\n chart.collectionsWithInit[coll][1] || []).concat([\n false\n ])).touched = true;\n }\n });\n // Add items for removal\n if (oneToOne) {\n chart[coll].forEach(function (item) {\n if (!item.touched && !item.options.isInternal) {\n itemsForRemoval.push(item);\n }\n else {\n delete item.touched;\n }\n });\n }\n }\n });\n itemsForRemoval.forEach(function (item) {\n if (item.remove) {\n item.remove(false);\n }\n });\n if (updateAllAxes) {\n chart.axes.forEach(function (axis) {\n axis.update({}, false);\n });\n }\n // Certain options require the whole series structure to be thrown away\n // and rebuilt\n if (updateAllSeries) {\n chart.getSeriesOrderByLinks().forEach(function (series) {\n // Avoid removed navigator series\n if (series.chart) {\n series.update({}, false);\n }\n }, this);\n }\n // Update size. Redraw is forced.\n newWidth = optionsChart && optionsChart.width;\n newHeight = optionsChart && optionsChart.height;\n if (isString(newHeight)) {\n newHeight = relativeLength(newHeight, newWidth || chart.chartWidth);\n }\n if (\n // In this case, run chart.setSize with newWidth and newHeight which\n // are undefined, only for reflowing chart elements because margin\n // or spacing has been set (#8190)\n runSetSize ||\n // In this case, the size is actually set\n (isNumber(newWidth) && newWidth !== chart.chartWidth) ||\n (isNumber(newHeight) && newHeight !== chart.chartHeight)) {\n chart.setSize(newWidth, newHeight, animation);\n }\n else if (pick(redraw, true)) {\n chart.redraw(animation);\n }\n fireEvent(chart, 'afterUpdate', {\n options: options,\n redraw: redraw,\n animation: animation\n });\n },\n /**\n * Shortcut to set the subtitle options. This can also be done from {@link\n * Chart#update} or {@link Chart#setTitle}.\n *\n * @function Highcharts.Chart#setSubtitle\n *\n * @param {Highcharts.SubtitleOptions} options\n * New subtitle options. The subtitle text itself is set by the\n * `options.text` property.\n */\n setSubtitle: function (options, redraw) {\n this.applyDescription('subtitle', options);\n this.layOutTitles(redraw);\n },\n /**\n * Set the caption options. This can also be done from {@link\n * Chart#update}.\n *\n * @function Highcharts.Chart#setCaption\n *\n * @param {Highcharts.CaptionOptions} options\n * New caption options. The caption text itself is set by the\n * `options.text` property.\n */\n setCaption: function (options, redraw) {\n this.applyDescription('caption', options);\n this.layOutTitles(redraw);\n }\n });\n /**\n * These collections (arrays) implement `Chart.addSomethig` method used in\n * chart.update() to create new object in the collection. Equivalent for\n * deleting is resolved by simple `Somethig.remove()`.\n *\n * Note: We need to define these references after initializers are bound to\n * chart's prototype.\n */\n Chart.prototype.collectionsWithInit = {\n // collectionName: [ initializingMethod, [extraArguments] ]\n xAxis: [Chart.prototype.addAxis, [true]],\n yAxis: [Chart.prototype.addAxis, [false]],\n series: [Chart.prototype.addSeries]\n };\n // extend the Point prototype for dynamic methods\n extend(Point.prototype, /** @lends Highcharts.Point.prototype */ {\n /**\n * Update point with new options (typically x/y data) and optionally redraw\n * the series.\n *\n * @sample highcharts/members/point-update-column/\n * Update column value\n * @sample highcharts/members/point-update-pie/\n * Update pie slice\n * @sample maps/members/point-update/\n * Update map area value in Highmaps\n *\n * @function Highcharts.Point#update\n *\n * @param {Highcharts.PointOptionsType} options\n * The point options. Point options are handled as described under\n * the `series.type.data` item for each series type. For example\n * for a line series, if options is a single number, the point will\n * be given that number as the marin y value. If it is an array, it\n * will be interpreted as x and y values respectively. If it is an\n * object, advanced options are applied.\n *\n * @param {boolean} [redraw=true]\n * Whether to redraw the chart after the point is updated. If doing\n * more operations on the chart, it is best practice to set\n * `redraw` to false and call `chart.redraw()` after.\n *\n * @param {boolean|Partial} [animation=true]\n * Whether to apply animation, and optionally animation\n * configuration.\n *\n * @return {void}\n *\n * @fires Highcharts.Point#event:update\n */\n update: function (options, redraw, animation, runEvent) {\n var point = this,\n series = point.series,\n graphic = point.graphic,\n i,\n chart = series.chart,\n seriesOptions = series.options;\n redraw = pick(redraw, true);\n /**\n * @private\n */\n function update() {\n point.applyOptions(options);\n // Update visuals, #4146\n // Handle dummy graphic elements for a11y, #12718\n var hasDummyGraphic = graphic && point.hasDummyGraphic;\n var shouldDestroyGraphic = point.y === null ? !hasDummyGraphic : hasDummyGraphic;\n if (graphic && shouldDestroyGraphic) {\n point.graphic = graphic.destroy();\n delete point.hasDummyGraphic;\n }\n if (isObject(options, true)) {\n // Destroy so we can get new elements\n if (graphic && graphic.element) {\n // \"null\" is also a valid symbol\n if (options &&\n options.marker &&\n typeof options.marker.symbol !== 'undefined') {\n point.graphic = graphic.destroy();\n }\n }\n if (options && options.dataLabels && point.dataLabel) {\n point.dataLabel = point.dataLabel.destroy(); // #2468\n }\n if (point.connector) {\n point.connector = point.connector.destroy(); // #7243\n }\n }\n // record changes in the parallel arrays\n i = point.index;\n series.updateParallelArrays(point, i);\n // Record the options to options.data. If the old or the new config\n // is an object, use point options, otherwise use raw options\n // (#4701, #4916).\n seriesOptions.data[i] = (isObject(seriesOptions.data[i], true) ||\n isObject(options, true)) ?\n point.options :\n pick(options, seriesOptions.data[i]);\n // redraw\n series.isDirty = series.isDirtyData = true;\n if (!series.fixedBox && series.hasCartesianSeries) { // #1906, #2320\n chart.isDirtyBox = true;\n }\n if (seriesOptions.legendType === 'point') { // #1831, #1885\n chart.isDirtyLegend = true;\n }\n if (redraw) {\n chart.redraw(animation);\n }\n }\n // Fire the event with a default handler of doing the update\n if (runEvent === false) { // When called from setData\n update();\n }\n else {\n point.firePointEvent('update', { options: options }, update);\n }\n },\n /**\n * Remove a point and optionally redraw the series and if necessary the axes\n *\n * @sample highcharts/plotoptions/series-point-events-remove/\n * Remove point and confirm\n * @sample highcharts/members/point-remove/\n * Remove pie slice\n * @sample maps/members/point-remove/\n * Remove selected points in Highmaps\n *\n * @function Highcharts.Point#remove\n *\n * @param {boolean} [redraw=true]\n * Whether to redraw the chart or wait for an explicit call. When\n * doing more operations on the chart, for example running\n * `point.remove()` in a loop, it is best practice to set `redraw`\n * to false and call `chart.redraw()` after.\n *\n * @param {boolean|Partial} [animation=false]\n * Whether to apply animation, and optionally animation\n * configuration.\n *\n * @return {void}\n */\n remove: function (redraw, animation) {\n this.series.removePoint(this.series.data.indexOf(this), redraw, animation);\n }\n });\n // Extend the series prototype for dynamic methods\n extend(LineSeries.prototype, /** @lends Series.prototype */ {\n /**\n * Add a point to the series after render time. The point can be added at\n * the end, or by giving it an X value, to the start or in the middle of the\n * series.\n *\n * @sample highcharts/members/series-addpoint-append/\n * Append point\n * @sample highcharts/members/series-addpoint-append-and-shift/\n * Append and shift\n * @sample highcharts/members/series-addpoint-x-and-y/\n * Both X and Y values given\n * @sample highcharts/members/series-addpoint-pie/\n * Append pie slice\n * @sample stock/members/series-addpoint/\n * Append 100 points in Highstock\n * @sample stock/members/series-addpoint-shift/\n * Append and shift in Highstock\n * @sample maps/members/series-addpoint/\n * Add a point in Highmaps\n *\n * @function Highcharts.Series#addPoint\n *\n * @param {Highcharts.PointOptionsType} options\n * The point options. If options is a single number, a point with\n * that y value is appended to the series. If it is an array, it will\n * be interpreted as x and y values respectively. If it is an\n * object, advanced options as outlined under `series.data` are\n * applied.\n *\n * @param {boolean} [redraw=true]\n * Whether to redraw the chart after the point is added. When adding\n * more than one point, it is highly recommended that the redraw\n * option be set to false, and instead {@link Chart#redraw} is\n * explicitly called after the adding of points is finished.\n * Otherwise, the chart will redraw after adding each point.\n *\n * @param {boolean} [shift=false]\n * If true, a point is shifted off the start of the series as one is\n * appended to the end.\n *\n * @param {boolean|Partial} [animation]\n * Whether to apply animation, and optionally animation\n * configuration.\n *\n * @param {boolean} [withEvent=true]\n * Used internally, whether to fire the series `addPoint` event.\n *\n * @return {void}\n *\n * @fires Highcharts.Series#event:addPoint\n */\n addPoint: function (options, redraw, shift, animation, withEvent) {\n var series = this,\n seriesOptions = series.options,\n data = series.data,\n chart = series.chart,\n xAxis = series.xAxis,\n names = xAxis && xAxis.hasNames && xAxis.names,\n dataOptions = seriesOptions.data,\n point,\n xData = series.xData,\n isInTheMiddle,\n i,\n x;\n // Optional redraw, defaults to true\n redraw = pick(redraw, true);\n // Get options and push the point to xData, yData and series.options. In\n // series.generatePoints the Point instance will be created on demand\n // and pushed to the series.data array.\n point = { series: series };\n series.pointClass.prototype.applyOptions.apply(point, [options]);\n x = point.x;\n // Get the insertion point\n i = xData.length;\n if (series.requireSorting && x < xData[i - 1]) {\n isInTheMiddle = true;\n while (i && xData[i - 1] > x) {\n i--;\n }\n }\n // Insert undefined item\n series.updateParallelArrays(point, 'splice', i, 0, 0);\n // Update it\n series.updateParallelArrays(point, i);\n if (names && point.name) {\n names[x] = point.name;\n }\n dataOptions.splice(i, 0, options);\n if (isInTheMiddle) {\n series.data.splice(i, 0, null);\n series.processData();\n }\n // Generate points to be added to the legend (#1329)\n if (seriesOptions.legendType === 'point') {\n series.generatePoints();\n }\n // Shift the first point off the parallel arrays\n if (shift) {\n if (data[0] && data[0].remove) {\n data[0].remove(false);\n }\n else {\n data.shift();\n series.updateParallelArrays(point, 'shift');\n dataOptions.shift();\n }\n }\n // Fire event\n if (withEvent !== false) {\n fireEvent(series, 'addPoint', { point: point });\n }\n // redraw\n series.isDirty = true;\n series.isDirtyData = true;\n if (redraw) {\n chart.redraw(animation); // Animation is set anyway on redraw, #5665\n }\n },\n /**\n * Remove a point from the series. Unlike the\n * {@link Highcharts.Point#remove} method, this can also be done on a point\n * that is not instanciated because it is outside the view or subject to\n * Highstock data grouping.\n *\n * @sample highcharts/members/series-removepoint/\n * Remove cropped point\n *\n * @function Highcharts.Series#removePoint\n *\n * @param {number} i\n * The index of the point in the {@link Highcharts.Series.data|data}\n * array.\n *\n * @param {boolean} [redraw=true]\n * Whether to redraw the chart after the point is added. When\n * removing more than one point, it is highly recommended that the\n * `redraw` option be set to `false`, and instead {@link\n * Highcharts.Chart#redraw} is explicitly called after the adding of\n * points is finished.\n *\n * @param {boolean|Partial} [animation]\n * Whether and optionally how the series should be animated.\n *\n * @return {void}\n *\n * @fires Highcharts.Point#event:remove\n */\n removePoint: function (i, redraw, animation) {\n var series = this,\n data = series.data,\n point = data[i],\n points = series.points,\n chart = series.chart,\n remove = function () {\n if (points && points.length === data.length) { // #4935\n points.splice(i, 1);\n }\n data.splice(i, 1);\n series.options.data.splice(i, 1);\n series.updateParallelArrays(point || { series: series }, 'splice', i, 1);\n if (point) {\n point.destroy();\n }\n // redraw\n series.isDirty = true;\n series.isDirtyData = true;\n if (redraw) {\n chart.redraw();\n }\n };\n setAnimation(animation, chart);\n redraw = pick(redraw, true);\n // Fire the event with a default handler of removing the point\n if (point) {\n point.firePointEvent('remove', null, remove);\n }\n else {\n remove();\n }\n },\n /**\n * Remove a series and optionally redraw the chart.\n *\n * @sample highcharts/members/series-remove/\n * Remove first series from a button\n *\n * @function Highcharts.Series#remove\n *\n * @param {boolean} [redraw=true]\n * Whether to redraw the chart or wait for an explicit call to\n * {@link Highcharts.Chart#redraw}.\n *\n * @param {boolean|Partial} [animation]\n * Whether to apply animation, and optionally animation\n * configuration.\n *\n * @param {boolean} [withEvent=true]\n * Used internally, whether to fire the series `remove` event.\n *\n * @return {void}\n *\n * @fires Highcharts.Series#event:remove\n */\n remove: function (redraw, animation, withEvent, keepEvents) {\n var series = this,\n chart = series.chart;\n /**\n * @private\n */\n function remove() {\n // Destroy elements\n series.destroy(keepEvents);\n series.remove = null; // Prevent from doing again (#9097)\n // Redraw\n chart.isDirtyLegend = chart.isDirtyBox = true;\n chart.linkSeries();\n if (pick(redraw, true)) {\n chart.redraw(animation);\n }\n }\n // Fire the event with a default handler of removing the point\n if (withEvent !== false) {\n fireEvent(series, 'remove', null, remove);\n }\n else {\n remove();\n }\n },\n /**\n * Update the series with a new set of options. For a clean and precise\n * handling of new options, all methods and elements from the series are\n * removed, and it is initialized from scratch. Therefore, this method is\n * more performance expensive than some other utility methods like {@link\n * Series#setData} or {@link Series#setVisible}.\n *\n * Note that `Series.update` may mutate the passed `data` options.\n *\n * @sample highcharts/members/series-update/\n * Updating series options\n * @sample maps/members/series-update/\n * Update series options in Highmaps\n *\n * @function Highcharts.Series#update\n *\n * @param {Highcharts.SeriesOptionsType} options\n * New options that will be merged with the series' existing options.\n *\n * @param {boolean} [redraw=true]\n * Whether to redraw the chart after the series is altered. If doing\n * more operations on the chart, it is a good idea to set redraw to\n * false and call {@link Chart#redraw} after.\n *\n * @return {void}\n *\n * @fires Highcharts.Series#event:update\n * @fires Highcharts.Series#event:afterUpdate\n */\n update: function (options, redraw) {\n options = H.cleanRecursively(options, this.userOptions);\n fireEvent(this, 'update', { options: options });\n var series = this,\n chart = series.chart, \n // must use user options when changing type because series.options\n // is merged in with type specific plotOptions\n oldOptions = series.userOptions,\n seriesOptions,\n initialType = series.initialType || series.type,\n plotOptions = chart.options.plotOptions,\n newType = (options.type ||\n oldOptions.type ||\n chart.options.chart.type),\n keepPoints = !(\n // Indicators, histograms etc recalculate the data. It should be\n // possible to omit this.\n this.hasDerivedData ||\n // New type requires new point classes\n (newType && newType !== this.type) ||\n // New options affecting how the data points are built\n typeof options.pointStart !== 'undefined' ||\n typeof options.pointInterval !== 'undefined' ||\n // Changes to data grouping requires new points in new group\n series.hasOptionChanged('dataGrouping') ||\n series.hasOptionChanged('pointStart') ||\n series.hasOptionChanged('pointInterval') ||\n series.hasOptionChanged('pointIntervalUnit') ||\n series.hasOptionChanged('keys')),\n initialSeriesProto = seriesTypes[initialType].prototype,\n n,\n groups = [\n 'group',\n 'markerGroup',\n 'dataLabelsGroup',\n 'transformGroup'\n ],\n preserve = [\n 'eventOptions',\n 'navigatorSeries',\n 'baseSeries'\n ], \n // Animation must be enabled when calling update before the initial\n // animation has first run. This happens when calling update\n // directly after chart initialization, or when applying responsive\n // rules (#6912).\n animation = series.finishedAnimating && { animation: false },\n kinds = {};\n if (keepPoints) {\n preserve.push('data', 'isDirtyData', 'points', 'processedXData', 'processedYData', 'xIncrement', 'cropped', '_hasPointMarkers', '_hasPointLabels', \n // Map specific, consider moving it to series-specific preserve-\n // properties (#10617)\n 'mapMap', 'mapData', 'minY', 'maxY', 'minX', 'maxX');\n if (options.visible !== false) {\n preserve.push('area', 'graph');\n }\n series.parallelArrays.forEach(function (key) {\n preserve.push(key + 'Data');\n });\n if (options.data) {\n // setData uses dataSorting options so we need to update them\n // earlier\n if (options.dataSorting) {\n extend(series.options.dataSorting, options.dataSorting);\n }\n this.setData(options.data, false);\n }\n }\n // Do the merge, with some forced options\n options = merge(oldOptions, animation, {\n // When oldOptions.index is null it should't be cleared.\n // Otherwise navigator series will have wrong indexes (#10193).\n index: typeof oldOptions.index === 'undefined' ?\n series.index : oldOptions.index,\n pointStart: pick(\n // when updating from blank (#7933)\n plotOptions && plotOptions.series && plotOptions.series.pointStart, oldOptions.pointStart, \n // when updating after addPoint\n series.xData[0])\n }, (!keepPoints && { data: series.options.data }), options);\n // Merge does not merge arrays, but replaces them. Since points were\n // updated, `series.options.data` has correct merged options, use it:\n if (keepPoints && options.data) {\n options.data = series.options.data;\n }\n // Make sure preserved properties are not destroyed (#3094)\n preserve = groups.concat(preserve);\n preserve.forEach(function (prop) {\n preserve[prop] = series[prop];\n delete series[prop];\n });\n // Destroy the series and delete all properties. Reinsert all\n // methods and properties from the new type prototype (#2270,\n // #3719).\n series.remove(false, null, false, true);\n for (n in initialSeriesProto) { // eslint-disable-line guard-for-in\n series[n] = void 0;\n }\n if (seriesTypes[newType || initialType]) {\n extend(series, seriesTypes[newType || initialType].prototype);\n }\n else {\n error(17, true, chart, { missingModuleFor: (newType || initialType) });\n }\n // Re-register groups (#3094) and other preserved properties\n preserve.forEach(function (prop) {\n series[prop] = preserve[prop];\n });\n series.init(chart, options);\n // Remove particular elements of the points. Check `series.options`\n // because we need to consider the options being set on plotOptions as\n // well.\n if (keepPoints && this.points) {\n seriesOptions = series.options;\n // What kind of elements to destroy\n if (seriesOptions.visible === false) {\n kinds.graphic = 1;\n kinds.dataLabel = 1;\n }\n else if (!series._hasPointLabels) {\n var marker = seriesOptions.marker,\n dataLabels = seriesOptions.dataLabels;\n if (marker && (marker.enabled === false ||\n 'symbol' in marker // #10870\n )) {\n kinds.graphic = 1;\n }\n if (dataLabels &&\n dataLabels.enabled === false) {\n kinds.dataLabel = 1;\n }\n }\n this.points.forEach(function (point) {\n if (point && point.series) {\n point.resolveColor();\n // Destroy elements in order to recreate based on updated\n // series options.\n if (Object.keys(kinds).length) {\n point.destroyElements(kinds);\n }\n if (seriesOptions.showInLegend === false &&\n point.legendItem) {\n chart.legend.destroyItem(point);\n }\n }\n }, this);\n }\n series.initialType = initialType;\n chart.linkSeries(); // Links are lost in series.remove (#3028)\n fireEvent(this, 'afterUpdate');\n if (pick(redraw, true)) {\n chart.redraw(keepPoints ? void 0 : false);\n }\n },\n /**\n * Used from within series.update\n *\n * @private\n * @function Highcharts.Series#setName\n *\n * @param {string} name\n *\n * @return {void}\n */\n setName: function (name) {\n this.name = this.options.name = this.userOptions.name = name;\n this.chart.isDirtyLegend = true;\n },\n /**\n * Check if the option has changed.\n *\n * @private\n * @function Highcharts.Series#hasOptionChanged\n *\n * @param {string} option\n *\n * @return {boolean}\n */\n hasOptionChanged: function (optionName) {\n var chart = this.chart,\n option = this.options[optionName],\n plotOptions = chart.options.plotOptions,\n oldOption = this.userOptions[optionName];\n if (oldOption) {\n return option !== oldOption;\n }\n return option !==\n pick(plotOptions && plotOptions[this.type] && plotOptions[this.type][optionName], plotOptions && plotOptions.series && plotOptions.series[optionName], option);\n }\n });\n // Extend the Axis.prototype for dynamic methods\n extend(Axis.prototype, /** @lends Highcharts.Axis.prototype */ {\n /**\n * Update an axis object with a new set of options. The options are merged\n * with the existing options, so only new or altered options need to be\n * specified.\n *\n * @sample highcharts/members/axis-update/\n * Axis update demo\n *\n * @function Highcharts.Axis#update\n *\n * @param {Highcharts.AxisOptions} options\n * The new options that will be merged in with existing options on\n * the axis.\n *\n * @param {boolean} [redraw=true]\n * Whether to redraw the chart after the axis is altered. If doing\n * more operations on the chart, it is a good idea to set redraw to\n * false and call {@link Chart#redraw} after.\n *\n * @return {void}\n */\n update: function (options, redraw) {\n var chart = this.chart,\n newEvents = ((options && options.events) || {});\n options = merge(this.userOptions, options);\n // Color Axis is not an array,\n // This change is applied in the ColorAxis wrapper\n if (chart.options[this.coll].indexOf) {\n // Don't use this.options.index,\n // StockChart has Axes in navigator too\n chart.options[this.coll][chart.options[this.coll].indexOf(this.userOptions)] = options;\n }\n // Remove old events, if no new exist (#8161)\n objectEach(chart.options[this.coll].events, function (fn, ev) {\n if (typeof newEvents[ev] === 'undefined') {\n newEvents[ev] = void 0;\n }\n });\n this.destroy(true);\n this.init(chart, extend(options, { events: newEvents }));\n chart.isDirtyBox = true;\n if (pick(redraw, true)) {\n chart.redraw();\n }\n },\n /**\n * Remove the axis from the chart.\n *\n * @sample highcharts/members/chart-addaxis/\n * Add and remove axes\n *\n * @function Highcharts.Axis#remove\n *\n * @param {boolean} [redraw=true]\n * Whether to redraw the chart following the remove.\n *\n * @return {void}\n */\n remove: function (redraw) {\n var chart = this.chart,\n key = this.coll, // xAxis or yAxis\n axisSeries = this.series,\n i = axisSeries.length;\n // Remove associated series (#2687)\n while (i--) {\n if (axisSeries[i]) {\n axisSeries[i].remove(false);\n }\n }\n // Remove the axis\n erase(chart.axes, this);\n erase(chart[key], this);\n if (isArray(chart.options[key])) {\n chart.options[key].splice(this.options.index, 1);\n }\n else { // color axis, #6488\n delete chart.options[key];\n }\n chart[key].forEach(function (axis, i) {\n // Re-index, #1706, #8075\n axis.options.index = axis.userOptions.index = i;\n });\n this.destroy();\n chart.isDirtyBox = true;\n if (pick(redraw, true)) {\n chart.redraw();\n }\n },\n /**\n * Update the axis title by options after render time.\n *\n * @sample highcharts/members/axis-settitle/\n * Set a new Y axis title\n *\n * @function Highcharts.Axis#setTitle\n *\n * @param {Highcharts.AxisTitleOptions} titleOptions\n * The additional title options.\n *\n * @param {boolean} [redraw=true]\n * Whether to redraw the chart after setting the title.\n *\n * @return {void}\n */\n setTitle: function (titleOptions, redraw) {\n this.update({ title: titleOptions }, redraw);\n },\n /**\n * Set new axis categories and optionally redraw.\n *\n * @sample highcharts/members/axis-setcategories/\n * Set categories by click on a button\n *\n * @function Highcharts.Axis#setCategories\n *\n * @param {Array} categories\n * The new categories.\n *\n * @param {boolean} [redraw=true]\n * Whether to redraw the chart.\n *\n * @return {void}\n */\n setCategories: function (categories, redraw) {\n this.update({ categories: categories }, redraw);\n }\n });\n\n });\n _registerModule(_modules, 'Series/AreaSeries.js', [_modules['Core/Series/Series.js'], _modules['Core/Color/Color.js'], _modules['Core/Globals.js'], _modules['Mixins/LegendSymbol.js'], _modules['Core/Utilities.js']], function (BaseSeries, Color, H, LegendSymbolMixin, U) {\n /* *\n *\n * (c) 2010-2020 Torstein Honsi\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n var color = Color.parse;\n var objectEach = U.objectEach,\n pick = U.pick;\n var Series = H.Series;\n /**\n * Area series type.\n *\n * @private\n * @class\n * @name Highcharts.seriesTypes.area\n *\n * @augments Highcharts.Series\n */\n BaseSeries.seriesType('area', 'line', \n /**\n * The area series type.\n *\n * @sample {highcharts} highcharts/demo/area-basic/\n * Area chart\n * @sample {highstock} stock/demo/area/\n * Area chart\n *\n * @extends plotOptions.line\n * @excluding useOhlcData\n * @product highcharts highstock\n * @optionparent plotOptions.area\n */\n {\n /**\n * @see [fillColor](#plotOptions.area.fillColor)\n * @see [fillOpacity](#plotOptions.area.fillOpacity)\n *\n * @apioption plotOptions.area.color\n */\n /**\n * Fill color or gradient for the area. When `null`, the series' `color`\n * is used with the series' `fillOpacity`.\n *\n * In styled mode, the fill color can be set with the `.highcharts-area`\n * class name.\n *\n * @see [color](#plotOptions.area.color)\n * @see [fillOpacity](#plotOptions.area.fillOpacity)\n *\n * @sample {highcharts} highcharts/plotoptions/area-fillcolor-default/\n * Null by default\n * @sample {highcharts} highcharts/plotoptions/area-fillcolor-gradient/\n * Gradient\n *\n * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}\n * @product highcharts highstock\n * @apioption plotOptions.area.fillColor\n */\n /**\n * Fill opacity for the area. When you set an explicit `fillColor`,\n * the `fillOpacity` is not applied. Instead, you should define the\n * opacity in the `fillColor` with an rgba color definition. The\n * `fillOpacity` setting, also the default setting, overrides the alpha\n * component of the `color` setting.\n *\n * In styled mode, the fill opacity can be set with the\n * `.highcharts-area` class name.\n *\n * @see [color](#plotOptions.area.color)\n * @see [fillColor](#plotOptions.area.fillColor)\n *\n * @sample {highcharts} highcharts/plotoptions/area-fillopacity/\n * Automatic fill color and fill opacity of 0.1\n *\n * @type {number}\n * @default {highcharts} 0.75\n * @default {highstock} 0.75\n * @product highcharts highstock\n * @apioption plotOptions.area.fillOpacity\n */\n /**\n * A separate color for the graph line. By default the line takes the\n * `color` of the series, but the lineColor setting allows setting a\n * separate color for the line without altering the `fillColor`.\n *\n * In styled mode, the line stroke can be set with the\n * `.highcharts-graph` class name.\n *\n * @sample {highcharts} highcharts/plotoptions/area-linecolor/\n * Dark gray line\n *\n * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}\n * @product highcharts highstock\n * @apioption plotOptions.area.lineColor\n */\n /**\n * A separate color for the negative part of the area.\n *\n * In styled mode, a negative color is set with the\n * `.highcharts-negative` class name.\n *\n * @see [negativeColor](#plotOptions.area.negativeColor)\n *\n * @sample {highcharts} highcharts/css/series-negative-color/\n * Negative color in styled mode\n *\n * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}\n * @since 3.0\n * @product highcharts\n * @apioption plotOptions.area.negativeFillColor\n */\n /**\n * Whether the whole area or just the line should respond to mouseover\n * tooltips and other mouse or touch events.\n *\n * @sample {highcharts|highstock} highcharts/plotoptions/area-trackbyarea/\n * Display the tooltip when the area is hovered\n *\n * @type {boolean}\n * @default false\n * @since 1.1.6\n * @product highcharts highstock\n * @apioption plotOptions.area.trackByArea\n */\n /**\n * The Y axis value to serve as the base for the area, for\n * distinguishing between values above and below a threshold. The area\n * between the graph and the threshold is filled.\n *\n * * If a number is given, the Y axis will scale to the threshold.\n * * If `null`, the scaling behaves like a line series with fill between\n * the graph and the Y axis minimum.\n * * If `Infinity` or `-Infinity`, the area between the graph and the\n * corresponding Y axis extreme is filled (since v6.1.0).\n *\n * @sample {highcharts} highcharts/plotoptions/area-threshold/\n * A threshold of 100\n * @sample {highcharts} highcharts/plotoptions/area-threshold-infinity/\n * A threshold of Infinity\n *\n * @type {number|null}\n * @since 2.0\n * @product highcharts highstock\n */\n threshold: 0\n }, \n /* eslint-disable valid-jsdoc */\n /**\n * @lends seriesTypes.area.prototype\n */\n {\n singleStacks: false,\n /**\n * Return an array of stacked points, where null and missing points are\n * replaced by dummy points in order for gaps to be drawn correctly in\n * stacks.\n * @private\n */\n getStackPoints: function (points) {\n var series = this,\n segment = [],\n keys = [],\n xAxis = this.xAxis,\n yAxis = this.yAxis,\n stack = yAxis.stacking.stacks[this.stackKey],\n pointMap = {},\n seriesIndex = series.index,\n yAxisSeries = yAxis.series,\n seriesLength = yAxisSeries.length,\n visibleSeries,\n upOrDown = pick(yAxis.options.reversedStacks,\n true) ? 1 : -1,\n i;\n points = points || this.points;\n if (this.options.stacking) {\n for (i = 0; i < points.length; i++) {\n // Reset after point update (#7326)\n points[i].leftNull = points[i].rightNull = void 0;\n // Create a map where we can quickly look up the points by\n // their X values.\n pointMap[points[i].x] = points[i];\n }\n // Sort the keys (#1651)\n objectEach(stack, function (stackX, x) {\n // nulled after switching between\n // grouping and not (#1651, #2336)\n if (stackX.total !== null) {\n keys.push(x);\n }\n });\n keys.sort(function (a, b) {\n return a - b;\n });\n visibleSeries = yAxisSeries.map(function (s) {\n return s.visible;\n });\n keys.forEach(function (x, idx) {\n var y = 0,\n stackPoint,\n stackedValues;\n if (pointMap[x] && !pointMap[x].isNull) {\n segment.push(pointMap[x]);\n // Find left and right cliff. -1 goes left, 1 goes\n // right.\n [-1, 1].forEach(function (direction) {\n var nullName = direction === 1 ?\n 'rightNull' :\n 'leftNull',\n cliffName = direction === 1 ?\n 'rightCliff' :\n 'leftCliff',\n cliff = 0,\n otherStack = stack[keys[idx + direction]];\n // If there is a stack next to this one,\n // to the left or to the right...\n if (otherStack) {\n i = seriesIndex;\n // Can go either up or down,\n // depending on reversedStacks\n while (i >= 0 && i < seriesLength) {\n stackPoint = otherStack.points[i];\n if (!stackPoint) {\n // If the next point in this series\n // is missing, mark the point\n // with point.leftNull or\n // point.rightNull = true.\n if (i === seriesIndex) {\n pointMap[x][nullName] =\n true;\n // If there are missing points in\n // the next stack in any of the\n // series below this one, we need\n // to substract the missing values\n // and add a hiatus to the left or\n // right.\n }\n else if (visibleSeries[i]) {\n stackedValues =\n stack[x].points[i];\n if (stackedValues) {\n cliff -=\n stackedValues[1] -\n stackedValues[0];\n }\n }\n }\n // When reversedStacks is true, loop up,\n // else loop down\n i += upOrDown;\n }\n }\n pointMap[x][cliffName] = cliff;\n });\n // There is no point for this X value in this series, so we\n // insert a dummy point in order for the areas to be drawn\n // correctly.\n }\n else {\n // Loop down the stack to find the series below this\n // one that has a value (#1991)\n i = seriesIndex;\n while (i >= 0 && i < seriesLength) {\n stackPoint = stack[x].points[i];\n if (stackPoint) {\n y = stackPoint[1];\n break;\n }\n // When reversedStacks is true, loop up, else loop\n // down\n i += upOrDown;\n }\n y = yAxis.translate(// #6272\n y, 0, 1, 0, 1);\n segment.push({\n isNull: true,\n plotX: xAxis.translate(// #6272\n x, 0, 0, 0, 1),\n x: x,\n plotY: y,\n yBottom: y\n });\n }\n });\n }\n return segment;\n },\n /**\n * @private\n */\n getGraphPath: function (points) {\n var getGraphPath = Series.prototype.getGraphPath, graphPath, options = this.options, stacking = options.stacking, yAxis = this.yAxis, topPath, bottomPath, bottomPoints = [], graphPoints = [], seriesIndex = this.index, i, areaPath, plotX, stacks = yAxis.stacking.stacks[this.stackKey], threshold = options.threshold, translatedThreshold = Math.round(// #10909\n yAxis.getThreshold(options.threshold)), isNull, yBottom, connectNulls = pick(// #10574\n options.connectNulls, stacking === 'percent'), \n // To display null points in underlying stacked series, this\n // series graph must be broken, and the area also fall down to\n // fill the gap left by the null point. #2069\n addDummyPoints = function (i, otherI, side) {\n var point = points[i], stackedValues = stacking &&\n stacks[point.x].points[seriesIndex], nullVal = point[side + 'Null'] || 0, cliffVal = point[side + 'Cliff'] || 0, top, bottom, isNull = true;\n if (cliffVal || nullVal) {\n top = (nullVal ?\n stackedValues[0] :\n stackedValues[1]) + cliffVal;\n bottom = stackedValues[0] + cliffVal;\n isNull = !!nullVal;\n }\n else if (!stacking &&\n points[otherI] &&\n points[otherI].isNull) {\n top = bottom = threshold;\n }\n // Add to the top and bottom line of the area\n if (typeof top !== 'undefined') {\n graphPoints.push({\n plotX: plotX,\n plotY: top === null ?\n translatedThreshold :\n yAxis.getThreshold(top),\n isNull: isNull,\n isCliff: true\n });\n bottomPoints.push({\n plotX: plotX,\n plotY: bottom === null ?\n translatedThreshold :\n yAxis.getThreshold(bottom),\n doCurve: false // #1041, gaps in areaspline areas\n });\n }\n };\n // Find what points to use\n points = points || this.points;\n // Fill in missing points\n if (stacking) {\n points = this.getStackPoints(points);\n }\n for (i = 0; i < points.length; i++) {\n // Reset after series.update of stacking property (#12033)\n if (!stacking) {\n points[i].leftCliff = points[i].rightCliff =\n points[i].leftNull = points[i].rightNull = void 0;\n }\n isNull = points[i].isNull;\n plotX = pick(points[i].rectPlotX, points[i].plotX);\n yBottom = stacking ? points[i].yBottom : translatedThreshold;\n if (!isNull || connectNulls) {\n if (!connectNulls) {\n addDummyPoints(i, i - 1, 'left');\n }\n // Skip null point when stacking is false and connectNulls\n // true\n if (!(isNull && !stacking && connectNulls)) {\n graphPoints.push(points[i]);\n bottomPoints.push({\n x: i,\n plotX: plotX,\n plotY: yBottom\n });\n }\n if (!connectNulls) {\n addDummyPoints(i, i + 1, 'right');\n }\n }\n }\n topPath = getGraphPath.call(this, graphPoints, true, true);\n bottomPoints.reversed = true;\n bottomPath = getGraphPath.call(this, bottomPoints, true, true);\n var firstBottomPoint = bottomPath[0];\n if (firstBottomPoint && firstBottomPoint[0] === 'M') {\n bottomPath[0] = ['L', firstBottomPoint[1], firstBottomPoint[2]];\n }\n areaPath = topPath.concat(bottomPath);\n // TODO: don't set leftCliff and rightCliff when connectNulls?\n graphPath = getGraphPath\n .call(this, graphPoints, false, connectNulls);\n areaPath.xMap = topPath.xMap;\n this.areaPath = areaPath;\n return graphPath;\n },\n /**\n * Draw the graph and the underlying area. This method calls the Series\n * base function and adds the area. The areaPath is calculated in the\n * getSegmentPath method called from Series.prototype.drawGraph.\n * @private\n */\n drawGraph: function () {\n // Define or reset areaPath\n this.areaPath = [];\n // Call the base method\n Series.prototype.drawGraph.apply(this);\n // Define local variables\n var series = this,\n areaPath = this.areaPath,\n options = this.options,\n zones = this.zones,\n props = [[\n 'area',\n 'highcharts-area',\n this.color,\n options.fillColor\n ]]; // area name, main color, fill color\n zones.forEach(function (zone,\n i) {\n props.push([\n 'zone-area-' + i,\n 'highcharts-area highcharts-zone-area-' + i + ' ' +\n zone.className,\n zone.color || series.color,\n zone.fillColor || options.fillColor\n ]);\n });\n props.forEach(function (prop) {\n var areaKey = prop[0],\n area = series[areaKey],\n verb = area ? 'animate' : 'attr',\n attribs = {};\n // Create or update the area\n if (area) { // update\n area.endX = series.preventGraphAnimation ?\n null :\n areaPath.xMap;\n area.animate({ d: areaPath });\n }\n else { // create\n attribs.zIndex = 0; // #1069\n area = series[areaKey] = series.chart.renderer\n .path(areaPath)\n .addClass(prop[1])\n .add(series.group);\n area.isArea = true;\n }\n if (!series.chart.styledMode) {\n attribs.fill = pick(prop[3], color(prop[2])\n .setOpacity(pick(options.fillOpacity, 0.75))\n .get());\n }\n area[verb](attribs);\n area.startX = areaPath.xMap;\n area.shiftUnit = options.step ? 2 : 1;\n });\n },\n drawLegendSymbol: LegendSymbolMixin.drawRectangle\n });\n /* eslint-enable valid-jsdoc */\n /**\n * A `area` series. If the [type](#series.area.type) option is not\n * specified, it is inherited from [chart.type](#chart.type).\n *\n * @extends series,plotOptions.area\n * @excluding dataParser, dataURL, useOhlcData\n * @product highcharts highstock\n * @apioption series.area\n */\n /**\n * @see [fillColor](#series.area.fillColor)\n * @see [fillOpacity](#series.area.fillOpacity)\n *\n * @apioption series.area.color\n */\n /**\n * An array of data points for the series. For the `area` series type,\n * points can be given in the following ways:\n *\n * 1. An array of numerical values. In this case, the numerical values will be\n * interpreted as `y` options. The `x` values will be automatically\n * calculated, either starting at 0 and incremented by 1, or from\n * `pointStart` * and `pointInterval` given in the series options. If the\n * axis has categories, these will be used. Example:\n * ```js\n * data: [0, 5, 3, 5]\n * ```\n *\n * 2. An array of arrays with 2 values. In this case, the values correspond to\n * `x,y`. If the first value is a string, it is applied as the name of the\n * point, and the `x` value is inferred.\n * ```js\n * data: [\n * [0, 9],\n * [1, 7],\n * [2, 6]\n * ]\n * ```\n *\n * 3. An array of objects with named values. The following snippet shows only a\n * few settings, see the complete options set below. If the total number of\n * data points exceeds the series'\n * [turboThreshold](#series.area.turboThreshold), this option is not\n * available.\n * ```js\n * data: [{\n * x: 1,\n * y: 9,\n * name: \"Point2\",\n * color: \"#00FF00\"\n * }, {\n * x: 1,\n * y: 6,\n * name: \"Point1\",\n * color: \"#FF00FF\"\n * }]\n * ```\n *\n * @sample {highcharts} highcharts/chart/reflow-true/\n * Numerical values\n * @sample {highcharts} highcharts/series/data-array-of-arrays/\n * Arrays of numeric x and y\n * @sample {highcharts} highcharts/series/data-array-of-arrays-datetime/\n * Arrays of datetime x and y\n * @sample {highcharts} highcharts/series/data-array-of-name-value/\n * Arrays of point.name and y\n * @sample {highcharts} highcharts/series/data-array-of-objects/\n * Config objects\n *\n * @type {Array|null|*>}\n * @extends series.line.data\n * @product highcharts highstock\n * @apioption series.area.data\n */\n /**\n * @see [color](#series.area.color)\n * @see [fillOpacity](#series.area.fillOpacity)\n *\n * @apioption series.area.fillColor\n */\n /**\n * @see [color](#series.area.color)\n * @see [fillColor](#series.area.fillColor)\n *\n * @default {highcharts} 0.75\n * @default {highstock} 0.75\n * @apioption series.area.fillOpacity\n */\n ''; // adds doclets above to transpilat\n\n });\n _registerModule(_modules, 'Series/SplineSeries.js', [_modules['Core/Series/Series.js'], _modules['Core/Utilities.js']], function (BaseSeries, U) {\n /* *\n *\n * (c) 2010-2020 Torstein Honsi\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n var pick = U.pick;\n /**\n * Spline series type.\n *\n * @private\n * @class\n * @name Highcharts.seriesTypes.spline\n *\n * @augments Highcarts.Series\n */\n BaseSeries.seriesType('spline', 'line', \n /**\n * A spline series is a special type of line series, where the segments\n * between the data points are smoothed.\n *\n * @sample {highcharts} highcharts/demo/spline-irregular-time/\n * Spline chart\n * @sample {highstock} stock/demo/spline/\n * Spline chart\n *\n * @extends plotOptions.series\n * @excluding step, boostThreshold, boostBlending\n * @product highcharts highstock\n * @optionparent plotOptions.spline\n */\n {}, \n /**\n * @lends seriesTypes.spline.prototype\n */\n {\n /* eslint-disable valid-jsdoc */\n /**\n * Get the spline segment from a given point's previous neighbour to the\n * given point.\n *\n * @private\n * @function Highcharts.seriesTypes.spline#getPointSpline\n *\n * @param {Array}\n *\n * @param {Highcharts.Point} point\n *\n * @param {number} i\n *\n * @return {Highcharts.SVGPathArray}\n */\n getPointSpline: function (points, point, i) {\n var \n // 1 means control points midway between points, 2 means 1/3\n // from the point, 3 is 1/4 etc\n smoothing = 1.5,\n denom = smoothing + 1,\n plotX = point.plotX || 0,\n plotY = point.plotY || 0,\n lastPoint = points[i - 1],\n nextPoint = points[i + 1],\n leftContX,\n leftContY,\n rightContX,\n rightContY,\n ret;\n /**\n * @private\n */\n function doCurve(otherPoint) {\n return otherPoint &&\n !otherPoint.isNull &&\n otherPoint.doCurve !== false &&\n // #6387, area splines next to null:\n !point.isCliff;\n }\n // Find control points\n if (doCurve(lastPoint) && doCurve(nextPoint)) {\n var lastX = lastPoint.plotX || 0,\n lastY = lastPoint.plotY || 0,\n nextX = nextPoint.plotX || 0,\n nextY = nextPoint.plotY || 0,\n correction = 0;\n leftContX = (smoothing * plotX + lastX) / denom;\n leftContY = (smoothing * plotY + lastY) / denom;\n rightContX = (smoothing * plotX + nextX) / denom;\n rightContY = (smoothing * plotY + nextY) / denom;\n // Have the two control points make a straight line through main\n // point\n if (rightContX !== leftContX) { // #5016, division by zero\n correction = (((rightContY - leftContY) *\n (rightContX - plotX)) /\n (rightContX - leftContX) + plotY - rightContY);\n }\n leftContY += correction;\n rightContY += correction;\n // to prevent false extremes, check that control points are\n // between neighbouring points' y values\n if (leftContY > lastY && leftContY > plotY) {\n leftContY = Math.max(lastY, plotY);\n // mirror of left control point\n rightContY = 2 * plotY - leftContY;\n }\n else if (leftContY < lastY && leftContY < plotY) {\n leftContY = Math.min(lastY, plotY);\n rightContY = 2 * plotY - leftContY;\n }\n if (rightContY > nextY && rightContY > plotY) {\n rightContY = Math.max(nextY, plotY);\n leftContY = 2 * plotY - rightContY;\n }\n else if (rightContY < nextY && rightContY < plotY) {\n rightContY = Math.min(nextY, plotY);\n leftContY = 2 * plotY - rightContY;\n }\n // record for drawing in next point\n point.rightContX = rightContX;\n point.rightContY = rightContY;\n }\n // Visualize control points for debugging\n /*\n if (leftContX) {\n this.chart.renderer.circle(\n leftContX + this.chart.plotLeft,\n leftContY + this.chart.plotTop,\n 2\n )\n .attr({\n stroke: 'red',\n 'stroke-width': 2,\n fill: 'none',\n zIndex: 9\n })\n .add();\n this.chart.renderer.path(['M', leftContX + this.chart.plotLeft,\n leftContY + this.chart.plotTop,\n 'L', plotX + this.chart.plotLeft, plotY + this.chart.plotTop])\n .attr({\n stroke: 'red',\n 'stroke-width': 2,\n zIndex: 9\n })\n .add();\n }\n if (rightContX) {\n this.chart.renderer.circle(\n rightContX + this.chart.plotLeft,\n rightContY + this.chart.plotTop,\n 2\n )\n .attr({\n stroke: 'green',\n 'stroke-width': 2,\n fill: 'none',\n zIndex: 9\n })\n .add();\n this.chart.renderer.path(['M', rightContX + this.chart.plotLeft,\n rightContY + this.chart.plotTop,\n 'L', plotX + this.chart.plotLeft, plotY + this.chart.plotTop])\n .attr({\n stroke: 'green',\n 'stroke-width': 2,\n zIndex: 9\n })\n .add();\n }\n // */\n ret = [\n 'C',\n pick(lastPoint.rightContX, lastPoint.plotX, 0),\n pick(lastPoint.rightContY, lastPoint.plotY, 0),\n pick(leftContX, plotX, 0),\n pick(leftContY, plotY, 0),\n plotX,\n plotY\n ];\n // reset for updating series later\n lastPoint.rightContX = lastPoint.rightContY = void 0;\n return ret;\n }\n /* eslint-enable valid-jsdoc */\n });\n /**\n * A `spline` series. If the [type](#series.spline.type) option is\n * not specified, it is inherited from [chart.type](#chart.type).\n *\n * @extends series,plotOptions.spline\n * @excluding dataParser, dataURL, step, boostThreshold, boostBlending\n * @product highcharts highstock\n * @apioption series.spline\n */\n /**\n * An array of data points for the series. For the `spline` series type,\n * points can be given in the following ways:\n *\n * 1. An array of numerical values. In this case, the numerical values will be\n * interpreted as `y` options. The `x` values will be automatically\n * calculated, either starting at 0 and incremented by 1, or from\n * `pointStart` and `pointInterval` given in the series options. If the axis\n * has categories, these will be used. Example:\n * ```js\n * data: [0, 5, 3, 5]\n * ```\n *\n * 2. An array of arrays with 2 values. In this case, the values correspond to\n * `x,y`. If the first value is a string, it is applied as the name of the\n * point, and the `x` value is inferred.\n * ```js\n * data: [\n * [0, 9],\n * [1, 2],\n * [2, 8]\n * ]\n * ```\n *\n * 3. An array of objects with named values. The following snippet shows only a\n * few settings, see the complete options set below. If the total number of\n * data points exceeds the series'\n * [turboThreshold](#series.spline.turboThreshold),\n * this option is not available.\n * ```js\n * data: [{\n * x: 1,\n * y: 9,\n * name: \"Point2\",\n * color: \"#00FF00\"\n * }, {\n * x: 1,\n * y: 0,\n * name: \"Point1\",\n * color: \"#FF00FF\"\n * }]\n * ```\n *\n * @sample {highcharts} highcharts/chart/reflow-true/\n * Numerical values\n * @sample {highcharts} highcharts/series/data-array-of-arrays/\n * Arrays of numeric x and y\n * @sample {highcharts} highcharts/series/data-array-of-arrays-datetime/\n * Arrays of datetime x and y\n * @sample {highcharts} highcharts/series/data-array-of-name-value/\n * Arrays of point.name and y\n * @sample {highcharts} highcharts/series/data-array-of-objects/\n * Config objects\n *\n * @type {Array|null|*>}\n * @extends series.line.data\n * @product highcharts highstock\n * @apioption series.spline.data\n */\n ''; // adds doclets above intro transpilat\n\n });\n _registerModule(_modules, 'Series/AreaSplineSeries.js', [_modules['Core/Series/Series.js'], _modules['Mixins/LegendSymbol.js'], _modules['Core/Options.js']], function (BaseSeries, LegendSymbolMixin, O) {\n /* *\n *\n * (c) 2010-2020 Torstein Honsi\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n var defaultOptions = O.defaultOptions;\n var areaProto = BaseSeries.seriesTypes.area.prototype;\n /**\n * AreaSpline series type.\n *\n * @private\n * @class\n * @name Highcharts.seriesTypes.areaspline\n *\n * @augments Highcharts.Series\n */\n BaseSeries.seriesType('areaspline', 'spline', \n /**\n * The area spline series is an area series where the graph between the\n * points is smoothed into a spline.\n *\n * @sample {highcharts} highcharts/demo/areaspline/\n * Area spline chart\n * @sample {highstock} stock/demo/areaspline/\n * Area spline chart\n *\n * @extends plotOptions.area\n * @excluding step, boostThreshold, boostBlending\n * @product highcharts highstock\n * @apioption plotOptions.areaspline\n */\n /**\n * @see [fillColor](#plotOptions.areaspline.fillColor)\n * @see [fillOpacity](#plotOptions.areaspline.fillOpacity)\n *\n * @apioption plotOptions.areaspline.color\n */\n /**\n * @see [color](#plotOptions.areaspline.color)\n * @see [fillOpacity](#plotOptions.areaspline.fillOpacity)\n *\n * @apioption plotOptions.areaspline.fillColor\n */\n /**\n * @see [color](#plotOptions.areaspline.color)\n * @see [fillColor](#plotOptions.areaspline.fillColor)\n *\n * @default {highcharts} 0.75\n * @default {highstock} 0.75\n * @apioption plotOptions.areaspline.fillOpacity\n */\n defaultOptions.plotOptions.area, {\n getStackPoints: areaProto.getStackPoints,\n getGraphPath: areaProto.getGraphPath,\n drawGraph: areaProto.drawGraph,\n drawLegendSymbol: LegendSymbolMixin.drawRectangle\n });\n /**\n * A `areaspline` series. If the [type](#series.areaspline.type) option\n * is not specified, it is inherited from [chart.type](#chart.type).\n *\n *\n * @extends series,plotOptions.areaspline\n * @excluding dataParser, dataURL, step, boostThreshold, boostBlending\n * @product highcharts highstock\n * @apioption series.areaspline\n */\n /**\n * @see [fillColor](#series.areaspline.fillColor)\n * @see [fillOpacity](#series.areaspline.fillOpacity)\n *\n * @apioption series.areaspline.color\n */\n /**\n * An array of data points for the series. For the `areaspline` series\n * type, points can be given in the following ways:\n *\n * 1. An array of numerical values. In this case, the numerical values will be\n * interpreted as `y` options. The `x` values will be automatically\n * calculated, either starting at 0 and incremented by 1, or from\n * `pointStart` and `pointInterval` given in the series options. If the axis\n * has categories, these will be used. Example:\n * ```js\n * data: [0, 5, 3, 5]\n * ```\n *\n * 2. An array of arrays with 2 values. In this case, the values correspond to\n * `x,y`. If the first value is a string, it is applied as the name of the\n * point, and the `x` value is inferred.\n * ```js\n * data: [\n * [0, 10],\n * [1, 9],\n * [2, 3]\n * ]\n * ```\n *\n * 3. An array of objects with named values. The following snippet shows only a\n * few settings, see the complete options set below. If the total number of\n * data points exceeds the series'\n * [turboThreshold](#series.areaspline.turboThreshold), this option is not\n * available.\n * ```js\n * data: [{\n * x: 1,\n * y: 4,\n * name: \"Point2\",\n * color: \"#00FF00\"\n * }, {\n * x: 1,\n * y: 4,\n * name: \"Point1\",\n * color: \"#FF00FF\"\n * }]\n * ```\n *\n * @sample {highcharts} highcharts/chart/reflow-true/\n * Numerical values\n * @sample {highcharts} highcharts/series/data-array-of-arrays/\n * Arrays of numeric x and y\n * @sample {highcharts} highcharts/series/data-array-of-arrays-datetime/\n * Arrays of datetime x and y\n * @sample {highcharts} highcharts/series/data-array-of-name-value/\n * Arrays of point.name and y\n * @sample {highcharts} highcharts/series/data-array-of-objects/\n * Config objects\n *\n * @type {Array|null|*>}\n * @extends series.line.data\n * @product highcharts highstock\n * @apioption series.areaspline.data\n */\n /**\n * @see [color](#series.areaspline.color)\n * @see [fillOpacity](#series.areaspline.fillOpacity)\n *\n * @apioption series.areaspline.fillColor\n */\n /**\n * @see [color](#series.areaspline.color)\n * @see [fillColor](#series.areaspline.fillColor)\n *\n * @default {highcharts} 0.75\n * @default {highstock} 0.75\n * @apioption series.areaspline.fillOpacity\n */\n ''; // adds doclets above into transpilat\n\n });\n _registerModule(_modules, 'Series/ColumnSeries.js', [_modules['Core/Animation/AnimationUtilities.js'], _modules['Core/Series/Series.js'], _modules['Core/Color/Color.js'], _modules['Core/Globals.js'], _modules['Mixins/LegendSymbol.js'], _modules['Series/LineSeries.js'], _modules['Core/Utilities.js']], function (A, BaseSeries, Color, H, LegendSymbolMixin, LineSeries, U) {\n /* *\n *\n * (c) 2010-2020 Torstein Honsi\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n var animObject = A.animObject;\n var color = Color.parse;\n var noop = H.noop;\n var clamp = U.clamp,\n defined = U.defined,\n extend = U.extend,\n isArray = U.isArray,\n isNumber = U.isNumber,\n merge = U.merge,\n pick = U.pick,\n objectEach = U.objectEach;\n /**\n * Adjusted width and x offset of the columns for grouping.\n *\n * @private\n * @interface Highcharts.ColumnMetricsObject\n */ /**\n * Width of the columns.\n * @name Highcharts.ColumnMetricsObject#width\n * @type {number}\n */ /**\n * Offset of the columns.\n * @name Highcharts.ColumnMetricsObject#offset\n * @type {number}\n */\n ''; // detach doclets above\n /**\n * The column series type.\n *\n * @private\n * @class\n * @name Highcharts.seriesTypes.column\n *\n * @augments Highcharts.Series\n */\n var ColumnSeries = BaseSeries.seriesType('column', 'line', \n /**\n * Column series display one column per value along an X axis.\n *\n * @sample {highcharts} highcharts/demo/column-basic/\n * Column chart\n * @sample {highstock} stock/demo/column/\n * Column chart\n *\n * @extends plotOptions.line\n * @excluding connectEnds, connectNulls, gapSize, gapUnit, linecap,\n * lineWidth, marker, step, useOhlcData\n * @product highcharts highstock\n * @optionparent plotOptions.column\n */\n {\n /**\n * The corner radius of the border surrounding each column or bar.\n *\n * @sample {highcharts} highcharts/plotoptions/column-borderradius/\n * Rounded columns\n *\n * @product highcharts highstock gantt\n *\n * @private\n */\n borderRadius: 0,\n /**\n * When using automatic point colors pulled from the global\n * [colors](colors) or series-specific\n * [plotOptions.column.colors](series.colors) collections, this option\n * determines whether the chart should receive one color per series or\n * one color per point.\n *\n * In styled mode, the `colors` or `series.colors` arrays are not\n * supported, and instead this option gives the points individual color\n * class names on the form `highcharts-color-{n}`.\n *\n * @see [series colors](#plotOptions.column.colors)\n *\n * @sample {highcharts} highcharts/plotoptions/column-colorbypoint-false/\n * False by default\n * @sample {highcharts} highcharts/plotoptions/column-colorbypoint-true/\n * True\n *\n * @type {boolean}\n * @default false\n * @since 2.0\n * @product highcharts highstock gantt\n * @apioption plotOptions.column.colorByPoint\n */\n /**\n * A series specific or series type specific color set to apply instead\n * of the global [colors](#colors) when [colorByPoint](\n * #plotOptions.column.colorByPoint) is true.\n *\n * @type {Array}\n * @since 3.0\n * @product highcharts highstock gantt\n * @apioption plotOptions.column.colors\n */\n /**\n * When `true`, the columns will center in the category, ignoring null\n * or missing points. When `false`, space will be reserved for null or\n * missing points.\n *\n * @sample {highcharts} highcharts/series-column/centerincategory/\n * Center in category\n *\n * @since 8.0.1\n * @product highcharts highstock gantt\n *\n * @private\n */\n centerInCategory: false,\n /**\n * Padding between each value groups, in x axis units.\n *\n * @sample {highcharts} highcharts/plotoptions/column-grouppadding-default/\n * 0.2 by default\n * @sample {highcharts} highcharts/plotoptions/column-grouppadding-none/\n * No group padding - all columns are evenly spaced\n *\n * @product highcharts highstock gantt\n *\n * @private\n */\n groupPadding: 0.2,\n /**\n * Whether to group non-stacked columns or to let them render\n * independent of each other. Non-grouped columns will be laid out\n * individually and overlap each other.\n *\n * @sample {highcharts} highcharts/plotoptions/column-grouping-false/\n * Grouping disabled\n * @sample {highstock} highcharts/plotoptions/column-grouping-false/\n * Grouping disabled\n *\n * @type {boolean}\n * @default true\n * @since 2.3.0\n * @product highcharts highstock gantt\n * @apioption plotOptions.column.grouping\n */\n /**\n * @ignore-option\n * @private\n */\n marker: null,\n /**\n * The maximum allowed pixel width for a column, translated to the\n * height of a bar in a bar chart. This prevents the columns from\n * becoming too wide when there is a small number of points in the\n * chart.\n *\n * @see [pointWidth](#plotOptions.column.pointWidth)\n *\n * @sample {highcharts} highcharts/plotoptions/column-maxpointwidth-20/\n * Limited to 50\n * @sample {highstock} highcharts/plotoptions/column-maxpointwidth-20/\n * Limited to 50\n *\n * @type {number}\n * @since 4.1.8\n * @product highcharts highstock gantt\n * @apioption plotOptions.column.maxPointWidth\n */\n /**\n * Padding between each column or bar, in x axis units.\n *\n * @sample {highcharts} highcharts/plotoptions/column-pointpadding-default/\n * 0.1 by default\n * @sample {highcharts} highcharts/plotoptions/column-pointpadding-025/\n * 0.25\n * @sample {highcharts} highcharts/plotoptions/column-pointpadding-none/\n * 0 for tightly packed columns\n *\n * @product highcharts highstock gantt\n *\n * @private\n */\n pointPadding: 0.1,\n /**\n * A pixel value specifying a fixed width for each column or bar point.\n * When `null`, the width is calculated from the `pointPadding` and\n * `groupPadding`. The width effects the dimension that is not based on\n * the point value. For column series it is the hoizontal length and for\n * bar series it is the vertical length.\n *\n * @see [maxPointWidth](#plotOptions.column.maxPointWidth)\n *\n * @sample {highcharts} highcharts/plotoptions/column-pointwidth-20/\n * 20px wide columns regardless of chart width or the amount of\n * data points\n *\n * @type {number}\n * @since 1.2.5\n * @product highcharts highstock gantt\n * @apioption plotOptions.column.pointWidth\n */\n /**\n * A pixel value specifying a fixed width for the column or bar.\n * Overrides pointWidth on the series.\n *\n * @see [series.pointWidth](#plotOptions.column.pointWidth)\n *\n * @type {number}\n * @default undefined\n * @since 7.0.0\n * @product highcharts highstock gantt\n * @apioption series.column.data.pointWidth\n */\n /**\n * The minimal height for a column or width for a bar. By default,\n * 0 values are not shown. To visualize a 0 (or close to zero) point,\n * set the minimal point length to a pixel value like 3\\. In stacked\n * column charts, minPointLength might not be respected for tightly\n * packed values.\n *\n * @sample {highcharts} highcharts/plotoptions/column-minpointlength/\n * Zero base value\n * @sample {highcharts} highcharts/plotoptions/column-minpointlength-pos-and-neg/\n * Positive and negative close to zero values\n *\n * @product highcharts highstock gantt\n *\n * @private\n */\n minPointLength: 0,\n /**\n * When the series contains less points than the crop threshold, all\n * points are drawn, event if the points fall outside the visible plot\n * area at the current zoom. The advantage of drawing all points\n * (including markers and columns), is that animation is performed on\n * updates. On the other hand, when the series contains more points than\n * the crop threshold, the series data is cropped to only contain points\n * that fall within the plot area. The advantage of cropping away\n * invisible points is to increase performance on large series.\n *\n * @product highcharts highstock gantt\n *\n * @private\n */\n cropThreshold: 50,\n /**\n * The X axis range that each point is valid for. This determines the\n * width of the column. On a categorized axis, the range will be 1\n * by default (one category unit). On linear and datetime axes, the\n * range will be computed as the distance between the two closest data\n * points.\n *\n * The default `null` means it is computed automatically, but this\n * option can be used to override the automatic value.\n *\n * This option is set by default to 1 if data sorting is enabled.\n *\n * @sample {highcharts} highcharts/plotoptions/column-pointrange/\n * Set the point range to one day on a data set with one week\n * between the points\n *\n * @type {number|null}\n * @since 2.3\n * @product highcharts highstock gantt\n *\n * @private\n */\n pointRange: null,\n states: {\n /**\n * Options for the hovered point. These settings override the normal\n * state options when a point is moused over or touched.\n *\n * @extends plotOptions.series.states.hover\n * @excluding halo, lineWidth, lineWidthPlus, marker\n * @product highcharts highstock gantt\n */\n hover: {\n /** @ignore-option */\n halo: false,\n /**\n * A specific border color for the hovered point. Defaults to\n * inherit the normal state border color.\n *\n * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}\n * @product highcharts gantt\n * @apioption plotOptions.column.states.hover.borderColor\n */\n /**\n * A specific color for the hovered point.\n *\n * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}\n * @product highcharts gantt\n * @apioption plotOptions.column.states.hover.color\n */\n /**\n * How much to brighten the point on interaction. Requires the\n * main color to be defined in hex or rgb(a) format.\n *\n * In styled mode, the hover brightening is by default replaced\n * with a fill-opacity set in the `.highcharts-point:hover`\n * rule.\n *\n * @sample {highcharts} highcharts/plotoptions/column-states-hover-brightness/\n * Brighten by 0.5\n *\n * @product highcharts highstock gantt\n */\n brightness: 0.1\n },\n /**\n * Options for the selected point. These settings override the\n * normal state options when a point is selected.\n *\n * @extends plotOptions.series.states.select\n * @excluding halo, lineWidth, lineWidthPlus, marker\n * @product highcharts highstock gantt\n */\n select: {\n /**\n * A specific color for the selected point.\n *\n * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}\n * @default #cccccc\n * @product highcharts highstock gantt\n */\n color: '#cccccc',\n /**\n * A specific border color for the selected point.\n *\n * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}\n * @default #000000\n * @product highcharts highstock gantt\n */\n borderColor: '#000000'\n }\n },\n dataLabels: {\n align: void 0,\n verticalAlign: void 0,\n /**\n * The y position offset of the label relative to the point in\n * pixels.\n *\n * @type {number}\n */\n y: void 0\n },\n // false doesn't work well: https://jsfiddle.net/highcharts/hz8fopan/14/\n /**\n * @ignore-option\n * @private\n */\n startFromThreshold: true,\n stickyTracking: false,\n tooltip: {\n distance: 6\n },\n /**\n * The Y axis value to serve as the base for the columns, for\n * distinguishing between values above and below a threshold. If `null`,\n * the columns extend from the padding Y axis minimum.\n *\n * @type {number|null}\n * @since 2.0\n * @product highcharts\n *\n * @private\n */\n threshold: 0,\n /**\n * The width of the border surrounding each column or bar. Defaults to\n * `1` when there is room for a border, but to `0` when the columns are\n * so dense that a border would cover the next column.\n *\n * In styled mode, the stroke width can be set with the\n * `.highcharts-point` rule.\n *\n * @sample {highcharts} highcharts/plotoptions/column-borderwidth/\n * 2px black border\n *\n * @type {number}\n * @default undefined\n * @product highcharts highstock gantt\n * @apioption plotOptions.column.borderWidth\n */\n /**\n * The color of the border surrounding each column or bar.\n *\n * In styled mode, the border stroke can be set with the\n * `.highcharts-point` rule.\n *\n * @sample {highcharts} highcharts/plotoptions/column-bordercolor/\n * Dark gray border\n *\n * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}\n * @default #ffffff\n * @product highcharts highstock gantt\n *\n * @private\n */\n borderColor: '#ffffff'\n }, \n /**\n * @lends seriesTypes.column.prototype\n */\n {\n cropShoulder: 0,\n // When tooltip is not shared, this series (and derivatives) requires\n // direct touch/hover. KD-tree does not apply.\n directTouch: true,\n trackerGroups: ['group', 'dataLabelsGroup'],\n // use separate negative stacks, unlike area stacks where a negative\n // point is substracted from previous (#1910)\n negStacks: true,\n /* eslint-disable valid-jsdoc */\n /**\n * Initialize the series. Extends the basic Series.init method by\n * marking other series of the same type as dirty.\n *\n * @private\n * @function Highcharts.seriesTypes.column#init\n * @return {void}\n */\n init: function () {\n LineSeries.prototype.init.apply(this, arguments);\n var series = this,\n chart = series.chart;\n // if the series is added dynamically, force redraw of other\n // series affected by a new column\n if (chart.hasRendered) {\n chart.series.forEach(function (otherSeries) {\n if (otherSeries.type === series.type) {\n otherSeries.isDirty = true;\n }\n });\n }\n },\n /**\n * Return the width and x offset of the columns adjusted for grouping,\n * groupPadding, pointPadding, pointWidth etc.\n *\n * @private\n * @function Highcharts.seriesTypes.column#getColumnMetrics\n * @return {Highcharts.ColumnMetricsObject}\n */\n getColumnMetrics: function () {\n var series = this,\n options = series.options,\n xAxis = series.xAxis,\n yAxis = series.yAxis,\n reversedStacks = xAxis.options.reversedStacks, \n // Keep backward compatibility: reversed xAxis had reversed\n // stacks\n reverseStacks = (xAxis.reversed && !reversedStacks) ||\n (!xAxis.reversed && reversedStacks),\n stackKey,\n stackGroups = {},\n columnCount = 0;\n // Get the total number of column type series. This is called on\n // every series. Consider moving this logic to a chart.orderStacks()\n // function and call it on init, addSeries and removeSeries\n if (options.grouping === false) {\n columnCount = 1;\n }\n else {\n series.chart.series.forEach(function (otherSeries) {\n var otherYAxis = otherSeries.yAxis,\n otherOptions = otherSeries.options,\n columnIndex;\n if (otherSeries.type === series.type &&\n (otherSeries.visible ||\n !series.chart.options.chart\n .ignoreHiddenSeries) &&\n yAxis.len === otherYAxis.len &&\n yAxis.pos === otherYAxis.pos) { // #642, #2086\n if (otherOptions.stacking && otherOptions.stacking !== 'group') {\n stackKey = otherSeries.stackKey;\n if (typeof stackGroups[stackKey] ===\n 'undefined') {\n stackGroups[stackKey] = columnCount++;\n }\n columnIndex = stackGroups[stackKey];\n }\n else if (otherOptions.grouping !== false) { // #1162\n columnIndex = columnCount++;\n }\n otherSeries.columnIndex = columnIndex;\n }\n });\n }\n var categoryWidth = Math.min(Math.abs(xAxis.transA) * ((xAxis.ordinal && xAxis.ordinal.slope) ||\n options.pointRange ||\n xAxis.closestPointRange ||\n xAxis.tickInterval ||\n 1), // #2610\n xAxis.len // #1535\n ),\n groupPadding = categoryWidth * options.groupPadding,\n groupWidth = categoryWidth - 2 * groupPadding,\n pointOffsetWidth = groupWidth / (columnCount || 1),\n pointWidth = Math.min(options.maxPointWidth || xAxis.len,\n pick(options.pointWidth,\n pointOffsetWidth * (1 - 2 * options.pointPadding))),\n pointPadding = (pointOffsetWidth - pointWidth) / 2, \n // #1251, #3737\n colIndex = (series.columnIndex || 0) + (reverseStacks ? 1 : 0),\n pointXOffset = pointPadding +\n (groupPadding +\n colIndex * pointOffsetWidth -\n (categoryWidth / 2)) * (reverseStacks ? -1 : 1);\n // Save it for reading in linked series (Error bars particularly)\n series.columnMetrics = {\n width: pointWidth,\n offset: pointXOffset,\n paddedWidth: pointOffsetWidth,\n columnCount: columnCount\n };\n return series.columnMetrics;\n },\n /**\n * Make the columns crisp. The edges are rounded to the nearest full\n * pixel.\n *\n * @private\n * @function Highcharts.seriesTypes.column#crispCol\n * @param {number} x\n * @param {number} y\n * @param {number} w\n * @param {number} h\n * @return {Highcharts.BBoxObject}\n */\n crispCol: function (x, y, w, h) {\n var chart = this.chart,\n borderWidth = this.borderWidth,\n xCrisp = -(borderWidth % 2 ? 0.5 : 0),\n yCrisp = borderWidth % 2 ? 0.5 : 1,\n right,\n bottom,\n fromTop;\n if (chart.inverted && chart.renderer.isVML) {\n yCrisp += 1;\n }\n // Horizontal. We need to first compute the exact right edge, then\n // round it and compute the width from there.\n if (this.options.crisp) {\n right = Math.round(x + w) + xCrisp;\n x = Math.round(x) + xCrisp;\n w = right - x;\n }\n // Vertical\n bottom = Math.round(y + h) + yCrisp;\n fromTop = Math.abs(y) <= 0.5 && bottom > 0.5; // #4504, #4656\n y = Math.round(y) + yCrisp;\n h = bottom - y;\n // Top edges are exceptions\n if (fromTop && h) { // #5146\n y -= 1;\n h += 1;\n }\n return {\n x: x,\n y: y,\n width: w,\n height: h\n };\n },\n /**\n * Adjust for missing columns, according to the `centerInCategory`\n * option. Missing columns are either single points or stacks where the\n * point or points are either missing or null.\n *\n * @private\n * @function Highcharts.seriesTypes.column#adjustForMissingColumns\n * @param {number} x\n * The x coordinate of the column, left side\n * @param {number} pointWidth\n * The pointWidth, already computed upstream\n * @param {Highcharts.ColumnPoint} point\n * The point instance\n * @param {Highcharts.ColumnMetricsObject} metrics\n * The series-wide column metrics\n * @return {number}\n * The adjusted x position, or the original if not adjusted\n */\n adjustForMissingColumns: function (x, pointWidth, point, metrics) {\n var _this = this;\n var stacking = this.options.stacking;\n if (!point.isNull && metrics.columnCount > 1) {\n var indexInCategory_1 = 0;\n var totalInCategory_1 = 0;\n // Loop over all the stacks on the Y axis. When stacking is\n // enabled, these are real point stacks. When stacking is not\n // enabled, but `centerInCategory` is true, there is one stack\n // handling the grouping of points in each category. This is\n // done in the `setGroupedPoints` function.\n objectEach(this.yAxis.stacking && this.yAxis.stacking.stacks, function (stack) {\n if (typeof point.x === 'number') {\n var stackItem = stack[point.x.toString()];\n if (stackItem) {\n var pointValues = stackItem.points[_this.index],\n total = stackItem.total;\n // If true `stacking` is enabled, count the\n // total number of non-null stacks in the\n // category, and note which index this point is\n // within those stacks.\n if (stacking) {\n if (pointValues) {\n indexInCategory_1 = totalInCategory_1;\n }\n if (stackItem.hasValidPoints) {\n totalInCategory_1++;\n }\n // If `stacking` is not enabled, look for the\n // index and total of the `group` stack.\n }\n else if (isArray(pointValues)) {\n indexInCategory_1 = pointValues[1];\n totalInCategory_1 = total || 0;\n }\n }\n }\n });\n // Compute the adjusted x position\n var boxWidth = (totalInCategory_1 - 1) * metrics.paddedWidth +\n pointWidth;\n x = (point.plotX || 0) + boxWidth / 2 - pointWidth -\n indexInCategory_1 * metrics.paddedWidth;\n }\n return x;\n },\n /**\n * Translate each point to the plot area coordinate system and find\n * shape positions\n *\n * @private\n * @function Highcharts.seriesTypes.column#translate\n */\n translate: function () {\n var series = this,\n chart = series.chart,\n options = series.options,\n dense = series.dense =\n series.closestPointRange * series.xAxis.transA < 2,\n borderWidth = series.borderWidth = pick(options.borderWidth,\n dense ? 0 : 1 // #3635\n ),\n xAxis = series.xAxis,\n yAxis = series.yAxis,\n threshold = options.threshold,\n translatedThreshold = series.translatedThreshold =\n yAxis.getThreshold(threshold),\n minPointLength = pick(options.minPointLength, 5),\n metrics = series.getColumnMetrics(),\n seriesPointWidth = metrics.width, \n // postprocessed for border width\n seriesBarW = series.barW =\n Math.max(seriesPointWidth, 1 + 2 * borderWidth),\n seriesXOffset = series.pointXOffset = metrics.offset,\n dataMin = series.dataMin,\n dataMax = series.dataMax;\n if (chart.inverted) {\n translatedThreshold -= 0.5; // #3355\n }\n // When the pointPadding is 0, we want the columns to be packed\n // tightly, so we allow individual columns to have individual sizes.\n // When pointPadding is greater, we strive for equal-width columns\n // (#2694).\n if (options.pointPadding) {\n seriesBarW = Math.ceil(seriesBarW);\n }\n LineSeries.prototype.translate.apply(series);\n // Record the new values\n series.points.forEach(function (point) {\n var yBottom = pick(point.yBottom,\n translatedThreshold),\n safeDistance = 999 + Math.abs(yBottom),\n pointWidth = seriesPointWidth,\n plotX = point.plotX || 0, \n // Don't draw too far outside plot area (#1303, #2241,\n // #4264)\n plotY = clamp(point.plotY, -safeDistance,\n yAxis.len + safeDistance),\n barX = plotX + seriesXOffset,\n barW = seriesBarW,\n barY = Math.min(plotY,\n yBottom),\n up,\n barH = Math.max(plotY,\n yBottom) - barY;\n // Handle options.minPointLength\n if (minPointLength && Math.abs(barH) < minPointLength) {\n barH = minPointLength;\n up = (!yAxis.reversed && !point.negative) ||\n (yAxis.reversed && point.negative);\n // Reverse zeros if there's no positive value in the series\n // in visible range (#7046)\n if (isNumber(threshold) &&\n isNumber(dataMax) &&\n point.y === threshold &&\n dataMax <= threshold &&\n // and if there's room for it (#7311)\n (yAxis.min || 0) < threshold &&\n // if all points are the same value (i.e zero) not draw\n // as negative points (#10646)\n dataMin !== dataMax) {\n up = !up;\n }\n // If stacked...\n barY = (Math.abs(barY - translatedThreshold) > minPointLength ?\n // ...keep position\n yBottom - minPointLength :\n // #1485, #4051\n translatedThreshold -\n (up ? minPointLength : 0));\n }\n // Handle point.options.pointWidth\n // @todo Handle grouping/stacking too. Calculate offset properly\n if (defined(point.options.pointWidth)) {\n pointWidth = barW =\n Math.ceil(point.options.pointWidth);\n barX -= Math.round((pointWidth - seriesPointWidth) / 2);\n }\n // Adjust for null or missing points\n if (options.centerInCategory) {\n barX = series.adjustForMissingColumns(barX, pointWidth, point, metrics);\n }\n // Cache for access in polar\n point.barX = barX;\n point.pointWidth = pointWidth;\n // Fix the tooltip on center of grouped columns (#1216, #424,\n // #3648)\n point.tooltipPos = chart.inverted ?\n [\n yAxis.len + yAxis.pos - chart.plotLeft - plotY,\n xAxis.len + xAxis.pos - chart.plotTop - (plotX || 0) - seriesXOffset - barW / 2,\n barH\n ] :\n [barX + barW / 2, plotY + yAxis.pos -\n chart.plotTop, barH];\n // Register shape type and arguments to be used in drawPoints\n // Allow shapeType defined on pointClass level\n point.shapeType =\n series.pointClass.prototype.shapeType || 'rect';\n point.shapeArgs = series.crispCol.apply(series, point.isNull ?\n // #3169, drilldown from null must have a position to work\n // from #6585, dataLabel should be placed on xAxis, not\n // floating in the middle of the chart\n [barX, translatedThreshold, barW, 0] :\n [barX, barY, barW, barH]);\n });\n },\n getSymbol: noop,\n /**\n * Use a solid rectangle like the area series types\n *\n * @private\n * @function Highcharts.seriesTypes.column#drawLegendSymbol\n *\n * @param {Highcharts.Legend} legend\n * The legend object\n *\n * @param {Highcharts.Series|Highcharts.Point} item\n * The series (this) or point\n */\n drawLegendSymbol: LegendSymbolMixin.drawRectangle,\n /**\n * Columns have no graph\n *\n * @private\n * @function Highcharts.seriesTypes.column#drawGraph\n */\n drawGraph: function () {\n this.group[this.dense ? 'addClass' : 'removeClass']('highcharts-dense-data');\n },\n /**\n * Get presentational attributes\n *\n * @private\n * @function Highcharts.seriesTypes.column#pointAttribs\n *\n * @param {Highcharts.ColumnPoint} point\n *\n * @param {string} state\n *\n * @return {Highcharts.SVGAttributes}\n */\n pointAttribs: function (point, state) {\n var options = this.options, stateOptions, ret, p2o = this.pointAttrToOptions || {}, strokeOption = p2o.stroke || 'borderColor', strokeWidthOption = p2o['stroke-width'] || 'borderWidth', fill = (point && point.color) || this.color, \n // set to fill when borderColor null:\n stroke = ((point && point[strokeOption]) ||\n options[strokeOption] ||\n this.color ||\n fill), strokeWidth = (point && point[strokeWidthOption]) ||\n options[strokeWidthOption] ||\n this[strokeWidthOption] || 0, dashstyle = (point && point.options.dashStyle) || options.dashStyle, opacity = pick(point && point.opacity, options.opacity, 1), zone, brightness;\n // Handle zone colors\n if (point && this.zones.length) {\n zone = point.getZone();\n // When zones are present, don't use point.color (#4267).\n // Changed order (#6527), added support for colorAxis (#10670)\n fill = (point.options.color ||\n (zone && (zone.color || point.nonZonedColor)) ||\n this.color);\n if (zone) {\n stroke = zone.borderColor || stroke;\n dashstyle = zone.dashStyle || dashstyle;\n strokeWidth = zone.borderWidth || strokeWidth;\n }\n }\n // Select or hover states\n if (state && point) {\n stateOptions = merge(options.states[state], \n // #6401\n point.options.states &&\n point.options.states[state] ||\n {});\n brightness = stateOptions.brightness;\n fill =\n stateOptions.color || (typeof brightness !== 'undefined' &&\n color(fill)\n .brighten(stateOptions.brightness)\n .get()) || fill;\n stroke = stateOptions[strokeOption] || stroke;\n strokeWidth =\n stateOptions[strokeWidthOption] || strokeWidth;\n dashstyle = stateOptions.dashStyle || dashstyle;\n opacity = pick(stateOptions.opacity, opacity);\n }\n ret = {\n fill: fill,\n stroke: stroke,\n 'stroke-width': strokeWidth,\n opacity: opacity\n };\n if (dashstyle) {\n ret.dashstyle = dashstyle;\n }\n return ret;\n },\n /**\n * Draw the columns. For bars, the series.group is rotated, so the same\n * coordinates apply for columns and bars. This method is inherited by\n * scatter series.\n *\n * @private\n * @function Highcharts.seriesTypes.column#drawPoints\n */\n drawPoints: function () {\n var series = this,\n chart = this.chart,\n options = series.options,\n renderer = chart.renderer,\n animationLimit = options.animationLimit || 250,\n shapeArgs;\n // draw the columns\n series.points.forEach(function (point) {\n var plotY = point.plotY,\n graphic = point.graphic,\n hasGraphic = !!graphic,\n verb = graphic && chart.pointCount < animationLimit ?\n 'animate' : 'attr';\n if (isNumber(plotY) && point.y !== null) {\n shapeArgs = point.shapeArgs;\n // When updating a series between 2d and 3d or cartesian and\n // polar, the shape type changes.\n if (graphic && point.hasNewShapeType()) {\n graphic = graphic.destroy();\n }\n // Set starting position for point sliding animation.\n if (series.enabledDataSorting) {\n point.startXPos = series.xAxis.reversed ?\n -(shapeArgs ? shapeArgs.width : 0) :\n series.xAxis.width;\n }\n if (!graphic) {\n point.graphic = graphic =\n renderer[point.shapeType](shapeArgs)\n .add(point.group || series.group);\n if (graphic &&\n series.enabledDataSorting &&\n chart.hasRendered &&\n chart.pointCount < animationLimit) {\n graphic.attr({\n x: point.startXPos\n });\n hasGraphic = true;\n verb = 'animate';\n }\n }\n if (graphic && hasGraphic) { // update\n graphic[verb](merge(shapeArgs));\n }\n // Border radius is not stylable (#6900)\n if (options.borderRadius) {\n graphic[verb]({\n r: options.borderRadius\n });\n }\n // Presentational\n if (!chart.styledMode) {\n graphic[verb](series.pointAttribs(point, (point.selected && 'select')))\n .shadow(point.allowShadow !== false && options.shadow, null, options.stacking && !options.borderRadius);\n }\n graphic.addClass(point.getClassName(), true);\n }\n else if (graphic) {\n point.graphic = graphic.destroy(); // #1269\n }\n });\n },\n /**\n * Animate the column heights one by one from zero.\n *\n * @private\n * @function Highcharts.seriesTypes.column#animate\n *\n * @param {boolean} init\n * Whether to initialize the animation or run it\n */\n animate: function (init) {\n var series = this,\n yAxis = this.yAxis,\n options = series.options,\n inverted = this.chart.inverted,\n attr = {},\n translateProp = inverted ? 'translateX' : 'translateY',\n translateStart,\n translatedThreshold;\n if (init) {\n attr.scaleY = 0.001;\n translatedThreshold = clamp(yAxis.toPixels(options.threshold), yAxis.pos, yAxis.pos + yAxis.len);\n if (inverted) {\n attr.translateX = translatedThreshold - yAxis.len;\n }\n else {\n attr.translateY = translatedThreshold;\n }\n // apply finnal clipping (used in Highstock) (#7083)\n // animation is done by scaleY, so cliping is for panes\n if (series.clipBox) {\n series.setClip();\n }\n series.group.attr(attr);\n }\n else { // run the animation\n translateStart = series.group.attr(translateProp);\n series.group.animate({ scaleY: 1 }, extend(animObject(series.options.animation), {\n // Do the scale synchronously to ensure smooth\n // updating (#5030, #7228)\n step: function (val, fx) {\n if (series.group) {\n attr[translateProp] = translateStart +\n fx.pos * (yAxis.pos - translateStart);\n series.group.attr(attr);\n }\n }\n }));\n }\n },\n /**\n * Remove this series from the chart\n *\n * @private\n * @function Highcharts.seriesTypes.column#remove\n */\n remove: function () {\n var series = this,\n chart = series.chart;\n // column and bar series affects other series of the same type\n // as they are either stacked or grouped\n if (chart.hasRendered) {\n chart.series.forEach(function (otherSeries) {\n if (otherSeries.type === series.type) {\n otherSeries.isDirty = true;\n }\n });\n }\n LineSeries.prototype.remove.apply(series, arguments);\n }\n });\n /* eslint-enable valid-jsdoc */\n /**\n * A `column` series. If the [type](#series.column.type) option is\n * not specified, it is inherited from [chart.type](#chart.type).\n *\n * @extends series,plotOptions.column\n * @excluding connectNulls, dataParser, dataURL, gapSize, gapUnit, linecap,\n * lineWidth, marker, connectEnds, step\n * @product highcharts highstock\n * @apioption series.column\n */\n /**\n * An array of data points for the series. For the `column` series type,\n * points can be given in the following ways:\n *\n * 1. An array of numerical values. In this case, the numerical values will be\n * interpreted as `y` options. The `x` values will be automatically\n * calculated, either starting at 0 and incremented by 1, or from\n * `pointStart` and `pointInterval` given in the series options. If the axis\n * has categories, these will be used. Example:\n * ```js\n * data: [0, 5, 3, 5]\n * ```\n *\n * 2. An array of arrays with 2 values. In this case, the values correspond to\n * `x,y`. If the first value is a string, it is applied as the name of the\n * point, and the `x` value is inferred.\n * ```js\n * data: [\n * [0, 6],\n * [1, 2],\n * [2, 6]\n * ]\n * ```\n *\n * 3. An array of objects with named values. The following snippet shows only a\n * few settings, see the complete options set below. If the total number of\n * data points exceeds the series'\n * [turboThreshold](#series.column.turboThreshold), this option is not\n * available.\n * ```js\n * data: [{\n * x: 1,\n * y: 9,\n * name: \"Point2\",\n * color: \"#00FF00\"\n * }, {\n * x: 1,\n * y: 6,\n * name: \"Point1\",\n * color: \"#FF00FF\"\n * }]\n * ```\n *\n * @sample {highcharts} highcharts/chart/reflow-true/\n * Numerical values\n * @sample {highcharts} highcharts/series/data-array-of-arrays/\n * Arrays of numeric x and y\n * @sample {highcharts} highcharts/series/data-array-of-arrays-datetime/\n * Arrays of datetime x and y\n * @sample {highcharts} highcharts/series/data-array-of-name-value/\n * Arrays of point.name and y\n * @sample {highcharts} highcharts/series/data-array-of-objects/\n * Config objects\n *\n * @type {Array|null|*>}\n * @extends series.line.data\n * @excluding marker\n * @product highcharts highstock\n * @apioption series.column.data\n */\n /**\n * The color of the border surrounding the column or bar.\n *\n * In styled mode, the border stroke can be set with the `.highcharts-point`\n * rule.\n *\n * @sample {highcharts} highcharts/plotoptions/column-bordercolor/\n * Dark gray border\n *\n * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}\n * @product highcharts highstock\n * @apioption series.column.data.borderColor\n */\n /**\n * The width of the border surrounding the column or bar.\n *\n * In styled mode, the stroke width can be set with the `.highcharts-point`\n * rule.\n *\n * @sample {highcharts} highcharts/plotoptions/column-borderwidth/\n * 2px black border\n *\n * @type {number}\n * @product highcharts highstock\n * @apioption series.column.data.borderWidth\n */\n /**\n * A name for the dash style to use for the column or bar. Overrides\n * dashStyle on the series.\n *\n * In styled mode, the stroke dash-array can be set with the same classes as\n * listed under [data.color](#series.column.data.color).\n *\n * @see [series.pointWidth](#plotOptions.column.dashStyle)\n *\n * @type {Highcharts.DashStyleValue}\n * @apioption series.column.data.dashStyle\n */\n /**\n * A pixel value specifying a fixed width for the column or bar. Overrides\n * pointWidth on the series. The width effects the dimension that is not based\n * on the point value.\n *\n * @see [series.pointWidth](#plotOptions.column.pointWidth)\n *\n * @type {number}\n * @apioption series.column.data.pointWidth\n */\n /**\n * @excluding halo, lineWidth, lineWidthPlus, marker\n * @product highcharts highstock\n * @apioption series.column.states.hover\n */\n /**\n * @excluding halo, lineWidth, lineWidthPlus, marker\n * @product highcharts highstock\n * @apioption series.column.states.select\n */\n ''; // includes above doclets in transpilat\n\n return ColumnSeries;\n });\n _registerModule(_modules, 'Series/BarSeries.js', [_modules['Core/Series/Series.js']], function (Series) {\n /* *\n *\n * (c) 2010-2020 Torstein Honsi\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n /**\n * Bar series type.\n *\n * @private\n * @class\n * @name Highcharts.seriesTypes.bar\n *\n * @augments Highcharts.Series\n */\n Series.seriesType('bar', 'column', \n /**\n * A bar series is a special type of column series where the columns are\n * horizontal.\n *\n * @sample highcharts/demo/bar-basic/\n * Bar chart\n *\n * @extends plotOptions.column\n * @product highcharts\n * @apioption plotOptions.bar\n */\n /**\n * @ignore\n */\n null, {\n inverted: true\n });\n /**\n * A `bar` series. If the [type](#series.bar.type) option is not specified,\n * it is inherited from [chart.type](#chart.type).\n *\n * @extends series,plotOptions.bar\n * @excluding connectNulls, dashStyle, dataParser, dataURL, gapSize, gapUnit,\n * linecap, lineWidth, marker, connectEnds, step\n * @product highcharts\n * @apioption series.bar\n */\n /**\n * An array of data points for the series. For the `bar` series type,\n * points can be given in the following ways:\n *\n * 1. An array of numerical values. In this case, the numerical values will be\n * interpreted as `y` options. The `x` values will be automatically\n * calculated, either starting at 0 and incremented by 1, or from\n * `pointStart` and `pointInterval` given in the series options. If the axis\n * has categories, these will be used. Example:\n * ```js\n * data: [0, 5, 3, 5]\n * ```\n *\n * 2. An array of arrays with 2 values. In this case, the values correspond to\n * `x,y`. If the first value is a string, it is applied as the name of the\n * point, and the `x` value is inferred.\n * ```js\n * data: [\n * [0, 5],\n * [1, 10],\n * [2, 3]\n * ]\n * ```\n *\n * 3. An array of objects with named values. The following snippet shows only a\n * few settings, see the complete options set below. If the total number of\n * data points exceeds the series'\n * [turboThreshold](#series.bar.turboThreshold), this option is not\n * available.\n * ```js\n * data: [{\n * x: 1,\n * y: 1,\n * name: \"Point2\",\n * color: \"#00FF00\"\n * }, {\n * x: 1,\n * y: 10,\n * name: \"Point1\",\n * color: \"#FF00FF\"\n * }]\n * ```\n *\n * @sample {highcharts} highcharts/chart/reflow-true/\n * Numerical values\n * @sample {highcharts} highcharts/series/data-array-of-arrays/\n * Arrays of numeric x and y\n * @sample {highcharts} highcharts/series/data-array-of-arrays-datetime/\n * Arrays of datetime x and y\n * @sample {highcharts} highcharts/series/data-array-of-name-value/\n * Arrays of point.name and y\n * @sample {highcharts} highcharts/series/data-array-of-objects/\n * Config objects\n *\n * @type {Array|null|*>}\n * @extends series.column.data\n * @product highcharts\n * @apioption series.bar.data\n */\n /**\n * @excluding halo,lineWidth,lineWidthPlus,marker\n * @product highcharts highstock\n * @apioption series.bar.states.hover\n */\n /**\n * @excluding halo,lineWidth,lineWidthPlus,marker\n * @product highcharts highstock\n * @apioption series.bar.states.select\n */\n ''; // gets doclets above into transpilat\n\n });\n _registerModule(_modules, 'Series/ScatterSeries.js', [_modules['Core/Series/Series.js'], _modules['Core/Globals.js'], _modules['Core/Utilities.js']], function (BaseSeries, H, U) {\n /* *\n *\n * (c) 2010-2020 Torstein Honsi\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n var addEvent = U.addEvent;\n var Series = H.Series;\n /**\n * Scatter series type.\n *\n * @private\n * @class\n * @name Highcharts.seriesTypes.scatter\n *\n * @augments Highcharts.Series\n */\n BaseSeries.seriesType('scatter', 'line', \n /**\n * A scatter plot uses cartesian coordinates to display values for two\n * variables for a set of data.\n *\n * @sample {highcharts} highcharts/demo/scatter/\n * Scatter plot\n *\n * @extends plotOptions.line\n * @excluding cropThreshold, pointPlacement, shadow, useOhlcData\n * @product highcharts highstock\n * @optionparent plotOptions.scatter\n */\n {\n /**\n * The width of the line connecting the data points.\n *\n * @sample {highcharts} highcharts/plotoptions/scatter-linewidth-none/\n * 0 by default\n * @sample {highcharts} highcharts/plotoptions/scatter-linewidth-1/\n * 1px\n *\n * @product highcharts highstock\n */\n lineWidth: 0,\n findNearestPointBy: 'xy',\n /**\n * Apply a jitter effect for the rendered markers. When plotting\n * discrete values, a little random noise may help telling the points\n * apart. The jitter setting applies a random displacement of up to `n`\n * axis units in either direction. So for example on a horizontal X\n * axis, setting the `jitter.x` to 0.24 will render the point in a\n * random position between 0.24 units to the left and 0.24 units to the\n * right of the true axis position. On a category axis, setting it to\n * 0.5 will fill up the bin and make the data appear continuous.\n *\n * When rendered on top of a box plot or a column series, a jitter value\n * of 0.24 will correspond to the underlying series' default\n * [groupPadding](\n * https://api.highcharts.com/highcharts/plotOptions.column.groupPadding)\n * and [pointPadding](\n * https://api.highcharts.com/highcharts/plotOptions.column.pointPadding)\n * settings.\n *\n * @sample {highcharts} highcharts/series-scatter/jitter\n * Jitter on a scatter plot\n *\n * @sample {highcharts} highcharts/series-scatter/jitter-boxplot\n * Jittered scatter plot on top of a box plot\n *\n * @product highcharts highstock\n * @since 7.0.2\n */\n jitter: {\n /**\n * The maximal X offset for the random jitter effect.\n */\n x: 0,\n /**\n * The maximal Y offset for the random jitter effect.\n */\n y: 0\n },\n marker: {\n enabled: true // Overrides auto-enabling in line series (#3647)\n },\n /**\n * Sticky tracking of mouse events. When true, the `mouseOut` event\n * on a series isn't triggered until the mouse moves over another\n * series, or out of the plot area. When false, the `mouseOut` event on\n * a series is triggered when the mouse leaves the area around the\n * series' graph or markers. This also implies the tooltip. When\n * `stickyTracking` is false and `tooltip.shared` is false, the tooltip\n * will be hidden when moving the mouse between series.\n *\n * @type {boolean}\n * @default false\n * @product highcharts highstock\n * @apioption plotOptions.scatter.stickyTracking\n */\n /**\n * A configuration object for the tooltip rendering of each single\n * series. Properties are inherited from [tooltip](#tooltip).\n * Overridable properties are `headerFormat`, `pointFormat`,\n * `yDecimals`, `xDateFormat`, `yPrefix` and `ySuffix`. Unlike other\n * series, in a scatter plot the series.name by default shows in the\n * headerFormat and point.x and point.y in the pointFormat.\n *\n * @product highcharts highstock\n */\n tooltip: {\n headerFormat: '\\u25CF ' +\n ' {series.name}
',\n pointFormat: 'x: {point.x}
y: {point.y}
'\n }\n // Prototype members\n }, {\n sorted: false,\n requireSorting: false,\n noSharedTooltip: true,\n trackerGroups: ['group', 'markerGroup', 'dataLabelsGroup'],\n takeOrdinalPosition: false,\n /* eslint-disable valid-jsdoc */\n /**\n * @private\n * @function Highcharts.seriesTypes.scatter#drawGraph\n */\n drawGraph: function () {\n if (this.options.lineWidth ||\n // In case we have a graph from before and we update the line\n // width to 0 (#13816)\n (this.options.lineWidth === 0 &&\n this.graph &&\n this.graph.strokeWidth())) {\n Series.prototype.drawGraph.call(this);\n }\n },\n // Optionally add the jitter effect\n applyJitter: function () {\n var series = this,\n jitter = this.options.jitter,\n len = this.points.length;\n /**\n * Return a repeatable, pseudo-random number based on an integer\n * seed.\n * @private\n */\n function unrandom(seed) {\n var rand = Math.sin(seed) * 10000;\n return rand - Math.floor(rand);\n }\n if (jitter) {\n this.points.forEach(function (point, i) {\n ['x', 'y'].forEach(function (dim, j) {\n var axis,\n plotProp = 'plot' + dim.toUpperCase(),\n min,\n max,\n translatedJitter;\n if (jitter[dim] && !point.isNull) {\n axis = series[dim + 'Axis'];\n translatedJitter =\n jitter[dim] * axis.transA;\n if (axis && !axis.isLog) {\n // Identify the outer bounds of the jitter range\n min = Math.max(0, point[plotProp] - translatedJitter);\n max = Math.min(axis.len, point[plotProp] + translatedJitter);\n // Find a random position within this range\n point[plotProp] = min +\n (max - min) * unrandom(i + j * len);\n // Update clientX for the tooltip k-d-tree\n if (dim === 'x') {\n point.clientX = point.plotX;\n }\n }\n }\n });\n });\n }\n }\n /* eslint-enable valid-jsdoc */\n });\n /* eslint-disable no-invalid-this */\n addEvent(Series, 'afterTranslate', function () {\n if (this.applyJitter) {\n this.applyJitter();\n }\n });\n /* eslint-enable no-invalid-this */\n /**\n * A `scatter` series. If the [type](#series.scatter.type) option is\n * not specified, it is inherited from [chart.type](#chart.type).\n *\n * @extends series,plotOptions.scatter\n * @excluding cropThreshold, dataParser, dataURL, useOhlcData\n * @product highcharts highstock\n * @apioption series.scatter\n */\n /**\n * An array of data points for the series. For the `scatter` series\n * type, points can be given in the following ways:\n *\n * 1. An array of numerical values. In this case, the numerical values will be\n * interpreted as `y` options. The `x` values will be automatically\n * calculated, either starting at 0 and incremented by 1, or from\n * `pointStart` and `pointInterval` given in the series options. If the axis\n * has categories, these will be used. Example:\n * ```js\n * data: [0, 5, 3, 5]\n * ```\n *\n * 2. An array of arrays with 2 values. In this case, the values correspond to\n * `x,y`. If the first value is a string, it is applied as the name of the\n * point, and the `x` value is inferred.\n * ```js\n * data: [\n * [0, 0],\n * [1, 8],\n * [2, 9]\n * ]\n * ```\n *\n * 3. An array of objects with named values. The following snippet shows only a\n * few settings, see the complete options set below. If the total number of\n * data points exceeds the series'\n * [turboThreshold](#series.scatter.turboThreshold), this option is not\n * available.\n * ```js\n * data: [{\n * x: 1,\n * y: 2,\n * name: \"Point2\",\n * color: \"#00FF00\"\n * }, {\n * x: 1,\n * y: 4,\n * name: \"Point1\",\n * color: \"#FF00FF\"\n * }]\n * ```\n *\n * @sample {highcharts} highcharts/chart/reflow-true/\n * Numerical values\n * @sample {highcharts} highcharts/series/data-array-of-arrays/\n * Arrays of numeric x and y\n * @sample {highcharts} highcharts/series/data-array-of-arrays-datetime/\n * Arrays of datetime x and y\n * @sample {highcharts} highcharts/series/data-array-of-name-value/\n * Arrays of point.name and y\n * @sample {highcharts} highcharts/series/data-array-of-objects/\n * Config objects\n *\n * @type {Array|null|*>}\n * @extends series.line.data\n * @product highcharts highstock\n * @apioption series.scatter.data\n */\n ''; // adds doclets above to transpilat\n\n });\n _registerModule(_modules, 'Mixins/CenteredSeries.js', [_modules['Core/Globals.js'], _modules['Core/Utilities.js']], function (H, U) {\n /* *\n *\n * (c) 2010-2020 Torstein Honsi\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n /**\n * @private\n * @interface Highcharts.RadianAngles\n */ /**\n * @name Highcharts.RadianAngles#end\n * @type {number}\n */ /**\n * @name Highcharts.RadianAngles#start\n * @type {number}\n */\n var isNumber = U.isNumber,\n pick = U.pick,\n relativeLength = U.relativeLength;\n var deg2rad = H.deg2rad;\n /* eslint-disable valid-jsdoc */\n /**\n * @private\n * @mixin Highcharts.CenteredSeriesMixin\n */\n var centeredSeriesMixin = H.CenteredSeriesMixin = {\n /**\n * Get the center of the pie based on the size and center options relative\n * to the plot area. Borrowed by the polar and gauge series types.\n *\n * @private\n * @function Highcharts.CenteredSeriesMixin.getCenter\n *\n * @return {Array}\n */\n getCenter: function () {\n var options = this.options,\n chart = this.chart,\n slicingRoom = 2 * (options.slicedOffset || 0),\n handleSlicingRoom,\n plotWidth = chart.plotWidth - 2 * slicingRoom,\n plotHeight = chart.plotHeight - 2 * slicingRoom,\n centerOption = options.center,\n smallestSize = Math.min(plotWidth,\n plotHeight),\n size = options.size,\n innerSize = options.innerSize || 0,\n positions,\n i,\n value;\n if (typeof size === 'string') {\n size = parseFloat(size);\n }\n if (typeof innerSize === 'string') {\n innerSize = parseFloat(innerSize);\n }\n positions = [\n pick(centerOption[0], '50%'),\n pick(centerOption[1], '50%'),\n // Prevent from negative values\n pick(size && size < 0 ? void 0 : options.size, '100%'),\n pick(innerSize && innerSize < 0 ? void 0 : options.innerSize || 0, '0%')\n ];\n // No need for inner size in angular (gauges) series but still required\n // for pie series\n if (chart.angular && !(this instanceof H.Series)) {\n positions[3] = 0;\n }\n for (i = 0; i < 4; ++i) {\n value = positions[i];\n handleSlicingRoom = i < 2 || (i === 2 && /%$/.test(value));\n // i == 0: centerX, relative to width\n // i == 1: centerY, relative to height\n // i == 2: size, relative to smallestSize\n // i == 3: innerSize, relative to size\n positions[i] = relativeLength(value, [plotWidth, plotHeight, smallestSize, positions[2]][i]) + (handleSlicingRoom ? slicingRoom : 0);\n }\n // innerSize cannot be larger than size (#3632)\n if (positions[3] > positions[2]) {\n positions[3] = positions[2];\n }\n return positions;\n },\n /**\n * getStartAndEndRadians - Calculates start and end angles in radians.\n * Used in series types such as pie and sunburst.\n *\n * @private\n * @function Highcharts.CenteredSeriesMixin.getStartAndEndRadians\n *\n * @param {number} [start]\n * Start angle in degrees.\n *\n * @param {number} [end]\n * Start angle in degrees.\n *\n * @return {Highcharts.RadianAngles}\n * Returns an object containing start and end angles as radians.\n */\n getStartAndEndRadians: function (start, end) {\n var startAngle = isNumber(start) ? start : 0, // must be a number\n endAngle = ((isNumber(end) && // must be a number\n end > startAngle && // must be larger than the start angle\n // difference must be less than 360 degrees\n (end - startAngle) < 360) ?\n end :\n startAngle + 360),\n correction = -90;\n return {\n start: deg2rad * (startAngle + correction),\n end: deg2rad * (endAngle + correction)\n };\n }\n };\n\n return centeredSeriesMixin;\n });\n _registerModule(_modules, 'Series/PieSeries.js', [_modules['Core/Animation/AnimationUtilities.js'], _modules['Core/Series/Series.js'], _modules['Mixins/CenteredSeries.js'], _modules['Core/Globals.js'], _modules['Mixins/LegendSymbol.js'], _modules['Series/LineSeries.js'], _modules['Core/Series/Point.js'], _modules['Core/Renderer/SVG/SVGRenderer.js'], _modules['Core/Utilities.js']], function (A, BaseSeries, CenteredSeriesMixin, H, LegendSymbolMixin, LineSeries, Point, SVGRenderer, U) {\n /* *\n *\n * (c) 2010-2020 Torstein Honsi\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n var setAnimation = A.setAnimation;\n var getStartAndEndRadians = CenteredSeriesMixin.getStartAndEndRadians;\n var noop = H.noop;\n var addEvent = U.addEvent,\n clamp = U.clamp,\n defined = U.defined,\n fireEvent = U.fireEvent,\n isNumber = U.isNumber,\n merge = U.merge,\n pick = U.pick,\n relativeLength = U.relativeLength;\n /**\n * Pie series type.\n *\n * @private\n * @class\n * @name Highcharts.seriesTypes.pie\n *\n * @augments Highcharts.Series\n */\n BaseSeries.seriesType('pie', 'line', \n /**\n * A pie chart is a circular graphic which is divided into slices to\n * illustrate numerical proportion.\n *\n * @sample highcharts/demo/pie-basic/\n * Pie chart\n *\n * @extends plotOptions.line\n * @excluding animationLimit, boostThreshold, connectEnds, connectNulls,\n * cropThreshold, dashStyle, dataSorting, dragDrop,\n * findNearestPointBy, getExtremesFromAll, label, lineWidth,\n * marker, negativeColor, pointInterval, pointIntervalUnit,\n * pointPlacement, pointStart, softThreshold, stacking, step,\n * threshold, turboThreshold, zoneAxis, zones, dataSorting,\n * boostBlending\n * @product highcharts\n * @optionparent plotOptions.pie\n */\n {\n /**\n * @excluding legendItemClick\n * @apioption plotOptions.pie.events\n */\n /**\n * Fires when the checkbox next to the point name in the legend is\n * clicked. One parameter, event, is passed to the function. The state\n * of the checkbox is found by event.checked. The checked item is found\n * by event.item. Return false to prevent the default action which is to\n * toggle the select state of the series.\n *\n * @sample {highcharts} highcharts/plotoptions/series-events-checkboxclick/\n * Alert checkbox status\n *\n * @type {Function}\n * @since 1.2.0\n * @product highcharts\n * @context Highcharts.Point\n * @apioption plotOptions.pie.events.checkboxClick\n */\n /**\n * Fires when the legend item belonging to the pie point (slice) is\n * clicked. The `this` keyword refers to the point itself. One\n * parameter, `event`, is passed to the function, containing common\n * event information. The default action is to toggle the visibility of\n * the point. This can be prevented by calling `event.preventDefault()`.\n *\n * @sample {highcharts} highcharts/plotoptions/pie-point-events-legenditemclick/\n * Confirm toggle visibility\n *\n * @type {Highcharts.PointLegendItemClickCallbackFunction}\n * @since 1.2.0\n * @product highcharts\n * @apioption plotOptions.pie.point.events.legendItemClick\n */\n /**\n * The center of the pie chart relative to the plot area. Can be\n * percentages or pixel values. The default behaviour (as of 3.0) is to\n * center the pie so that all slices and data labels are within the plot\n * area. As a consequence, the pie may actually jump around in a chart\n * with dynamic values, as the data labels move. In that case, the\n * center should be explicitly set, for example to `[\"50%\", \"50%\"]`.\n *\n * @sample {highcharts} highcharts/plotoptions/pie-center/\n * Centered at 100, 100\n *\n * @type {Array<(number|string|null),(number|string|null)>}\n * @default [null, null]\n * @product highcharts\n *\n * @private\n */\n center: [null, null],\n /**\n * The color of the pie series. A pie series is represented as an empty\n * circle if the total sum of its values is 0. Use this property to\n * define the color of its border.\n *\n * In styled mode, the color can be defined by the\n * [colorIndex](#plotOptions.series.colorIndex) option. Also, the series\n * color can be set with the `.highcharts-series`,\n * `.highcharts-color-{n}`, `.highcharts-{type}-series` or\n * `.highcharts-series-{n}` class, or individual classes given by the\n * `className` option.\n *\n * @sample {highcharts} highcharts/plotoptions/pie-emptyseries/\n * Empty pie series\n *\n * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}\n * @default #cccccc\n * @apioption plotOptions.pie.color\n */\n /**\n * @product highcharts\n *\n * @private\n */\n clip: false,\n /**\n * @ignore-option\n *\n * @private\n */\n colorByPoint: true,\n /**\n * A series specific or series type specific color set to use instead\n * of the global [colors](#colors).\n *\n * @sample {highcharts} highcharts/demo/pie-monochrome/\n * Set default colors for all pies\n *\n * @type {Array}\n * @since 3.0\n * @product highcharts\n * @apioption plotOptions.pie.colors\n */\n /**\n * @declare Highcharts.SeriesPieDataLabelsOptionsObject\n * @extends plotOptions.series.dataLabels\n * @excluding align, allowOverlap, inside, staggerLines, step\n * @private\n */\n dataLabels: {\n /**\n * Alignment method for data labels. Possible values are:\n *\n * - `toPlotEdges`: Each label touches the nearest vertical edge of\n * the plot area.\n *\n * - `connectors`: Connectors have the same x position and the\n * widest label of each half (left & right) touches the nearest\n * vertical edge of the plot area.\n *\n * @sample {highcharts} highcharts/plotoptions/pie-datalabels-alignto-connectors/\n * alignTo: connectors\n * @sample {highcharts} highcharts/plotoptions/pie-datalabels-alignto-plotedges/\n * alignTo: plotEdges\n *\n * @type {string}\n * @since 7.0.0\n * @product highcharts\n * @apioption plotOptions.pie.dataLabels.alignTo\n */\n allowOverlap: true,\n /**\n * The color of the line connecting the data label to the pie slice.\n * The default color is the same as the point's color.\n *\n * In styled mode, the connector stroke is given in the\n * `.highcharts-data-label-connector` class.\n *\n * @sample {highcharts} highcharts/plotoptions/pie-datalabels-connectorcolor/\n * Blue connectors\n * @sample {highcharts} highcharts/css/pie-point/\n * Styled connectors\n *\n * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}\n * @since 2.1\n * @product highcharts\n * @apioption plotOptions.pie.dataLabels.connectorColor\n */\n /**\n * The distance from the data label to the connector. Note that\n * data labels also have a default `padding`, so in order for the\n * connector to touch the text, the `padding` must also be 0.\n *\n * @sample {highcharts} highcharts/plotoptions/pie-datalabels-connectorpadding/\n * No padding\n *\n * @since 2.1\n * @product highcharts\n */\n connectorPadding: 5,\n /**\n * Specifies the method that is used to generate the connector path.\n * Highcharts provides 3 built-in connector shapes: `'fixedOffset'`\n * (default), `'straight'` and `'crookedLine'`. Using\n * `'crookedLine'` has the most sense (in most of the cases) when\n * `'alignTo'` is set.\n *\n * Users can provide their own method by passing a function instead\n * of a String. 3 arguments are passed to the callback:\n *\n * - Object that holds the information about the coordinates of the\n * label (`x` & `y` properties) and how the label is located in\n * relation to the pie (`alignment` property). `alignment` can by\n * one of the following:\n * `'left'` (pie on the left side of the data label),\n * `'right'` (pie on the right side of the data label) or\n * `'center'` (data label overlaps the pie).\n *\n * - Object that holds the information about the position of the\n * connector. Its `touchingSliceAt` porperty tells the position\n * of the place where the connector touches the slice.\n *\n * - Data label options\n *\n * The function has to return an SVG path definition in array form\n * (see the example).\n *\n * @sample {highcharts} highcharts/plotoptions/pie-datalabels-connectorshape-string/\n * connectorShape is a String\n * @sample {highcharts} highcharts/plotoptions/pie-datalabels-connectorshape-function/\n * connectorShape is a function\n *\n * @type {string|Function}\n * @since 7.0.0\n * @product highcharts\n */\n connectorShape: 'fixedOffset',\n /**\n * The width of the line connecting the data label to the pie slice.\n *\n * In styled mode, the connector stroke width is given in the\n * `.highcharts-data-label-connector` class.\n *\n * @sample {highcharts} highcharts/plotoptions/pie-datalabels-connectorwidth-disabled/\n * Disable the connector\n * @sample {highcharts} highcharts/css/pie-point/\n * Styled connectors\n *\n * @type {number}\n * @default 1\n * @since 2.1\n * @product highcharts\n * @apioption plotOptions.pie.dataLabels.connectorWidth\n */\n /**\n * Works only if `connectorShape` is `'crookedLine'`. It defines how\n * far from the vertical plot edge the coonnector path should be\n * crooked.\n *\n * @sample {highcharts} highcharts/plotoptions/pie-datalabels-crookdistance/\n * crookDistance set to 90%\n *\n * @since 7.0.0\n * @product highcharts\n */\n crookDistance: '70%',\n /**\n * The distance of the data label from the pie's edge. Negative\n * numbers put the data label on top of the pie slices. Can also be\n * defined as a percentage of pie's radius. Connectors are only\n * shown for data labels outside the pie.\n *\n * @sample {highcharts} highcharts/plotoptions/pie-datalabels-distance/\n * Data labels on top of the pie\n *\n * @type {number|string}\n * @since 2.1\n * @product highcharts\n */\n distance: 30,\n enabled: true,\n /**\n * A\n * [format string](https://www.highcharts.com/docs/chart-concepts/labels-and-string-formatting)\n * for the data label. Available variables are the same as for\n * `formatter`.\n *\n * @sample {highcharts} highcharts/plotoptions/series-datalabels-format/\n * Add a unit\n *\n * @type {string}\n * @default undefined\n * @since 3.0\n * @apioption plotOptions.pie.dataLabels.format\n */\n // eslint-disable-next-line valid-jsdoc\n /**\n * Callback JavaScript function to format the data label. Note that\n * if a `format` is defined, the format takes precedence and the\n * formatter is ignored.\n *\n * @type {Highcharts.DataLabelsFormatterCallbackFunction}\n * @default function () { return this.point.isNull ? void 0 : this.point.name; }\n */\n formatter: function () {\n return this.point.isNull ? void 0 : this.point.name;\n },\n /**\n * Whether to render the connector as a soft arc or a line with\n * sharp break. Works only if `connectorShape` equals to\n * `fixedOffset`.\n *\n * @sample {highcharts} highcharts/plotoptions/pie-datalabels-softconnector-true/\n * Soft\n * @sample {highcharts} highcharts/plotoptions/pie-datalabels-softconnector-false/\n * Non soft\n *\n * @since 2.1.7\n * @product highcharts\n */\n softConnector: true,\n /**\n * @sample {highcharts} highcharts/plotoptions/pie-datalabels-overflow\n * Long labels truncated with an ellipsis\n * @sample {highcharts} highcharts/plotoptions/pie-datalabels-overflow-wrap\n * Long labels are wrapped\n *\n * @type {Highcharts.CSSObject}\n * @apioption plotOptions.pie.dataLabels.style\n */\n x: 0\n },\n /**\n * If the total sum of the pie's values is 0, the series is represented\n * as an empty circle . The `fillColor` option defines the color of that\n * circle. Use [pie.borderWidth](#plotOptions.pie.borderWidth) to set\n * the border thickness.\n *\n * @sample {highcharts} highcharts/plotoptions/pie-emptyseries/\n * Empty pie series\n *\n * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}\n * @private\n */\n fillColor: void 0,\n /**\n * The end angle of the pie in degrees where 0 is top and 90 is right.\n * Defaults to `startAngle` plus 360.\n *\n * @sample {highcharts} highcharts/demo/pie-semi-circle/\n * Semi-circle donut\n *\n * @type {number}\n * @since 1.3.6\n * @product highcharts\n * @apioption plotOptions.pie.endAngle\n */\n /**\n * Equivalent to [chart.ignoreHiddenSeries](#chart.ignoreHiddenSeries),\n * this option tells whether the series shall be redrawn as if the\n * hidden point were `null`.\n *\n * The default value changed from `false` to `true` with Highcharts\n * 3.0.\n *\n * @sample {highcharts} highcharts/plotoptions/pie-ignorehiddenpoint/\n * True, the hiddden point is ignored\n *\n * @since 2.3.0\n * @product highcharts\n *\n * @private\n */\n ignoreHiddenPoint: true,\n /**\n * @ignore-option\n *\n * @private\n */\n inactiveOtherPoints: true,\n /**\n * The size of the inner diameter for the pie. A size greater than 0\n * renders a donut chart. Can be a percentage or pixel value.\n * Percentages are relative to the pie size. Pixel values are given as\n * integers.\n *\n *\n * Note: in Highcharts < 4.1.2, the percentage was relative to the plot\n * area, not the pie size.\n *\n * @sample {highcharts} highcharts/plotoptions/pie-innersize-80px/\n * 80px inner size\n * @sample {highcharts} highcharts/plotoptions/pie-innersize-50percent/\n * 50% of the plot area\n * @sample {highcharts} highcharts/demo/3d-pie-donut/\n * 3D donut\n *\n * @type {number|string}\n * @default 0\n * @since 2.0\n * @product highcharts\n * @apioption plotOptions.pie.innerSize\n */\n /**\n * @ignore-option\n *\n * @private\n */\n legendType: 'point',\n /**\n * @ignore-option\n *\n * @private\n */\n marker: null,\n /**\n * The minimum size for a pie in response to auto margins. The pie will\n * try to shrink to make room for data labels in side the plot area,\n * but only to this size.\n *\n * @type {number|string}\n * @default 80\n * @since 3.0\n * @product highcharts\n * @apioption plotOptions.pie.minSize\n */\n /**\n * The diameter of the pie relative to the plot area. Can be a\n * percentage or pixel value. Pixel values are given as integers. The\n * default behaviour (as of 3.0) is to scale to the plot area and give\n * room for data labels within the plot area.\n * [slicedOffset](#plotOptions.pie.slicedOffset) is also included in the\n * default size calculation. As a consequence, the size of the pie may\n * vary when points are updated and data labels more around. In that\n * case it is best to set a fixed value, for example `\"75%\"`.\n *\n * @sample {highcharts} highcharts/plotoptions/pie-size/\n * Smaller pie\n *\n * @type {number|string|null}\n * @product highcharts\n *\n * @private\n */\n size: null,\n /**\n * Whether to display this particular series or series type in the\n * legend. Since 2.1, pies are not shown in the legend by default.\n *\n * @sample {highcharts} highcharts/plotoptions/series-showinlegend/\n * One series in the legend, one hidden\n *\n * @product highcharts\n *\n * @private\n */\n showInLegend: false,\n /**\n * If a point is sliced, moved out from the center, how many pixels\n * should it be moved?.\n *\n * @sample {highcharts} highcharts/plotoptions/pie-slicedoffset-20/\n * 20px offset\n *\n * @product highcharts\n *\n * @private\n */\n slicedOffset: 10,\n /**\n * The start angle of the pie slices in degrees where 0 is top and 90\n * right.\n *\n * @sample {highcharts} highcharts/plotoptions/pie-startangle-90/\n * Start from right\n *\n * @type {number}\n * @default 0\n * @since 2.3.4\n * @product highcharts\n * @apioption plotOptions.pie.startAngle\n */\n /**\n * Sticky tracking of mouse events. When true, the `mouseOut` event\n * on a series isn't triggered until the mouse moves over another\n * series, or out of the plot area. When false, the `mouseOut` event on\n * a series is triggered when the mouse leaves the area around the\n * series' graph or markers. This also implies the tooltip. When\n * `stickyTracking` is false and `tooltip.shared` is false, the tooltip\n * will be hidden when moving the mouse between series.\n *\n * @product highcharts\n *\n * @private\n */\n stickyTracking: false,\n tooltip: {\n followPointer: true\n },\n /**\n * The color of the border surrounding each slice. When `null`, the\n * border takes the same color as the slice fill. This can be used\n * together with a `borderWidth` to fill drawing gaps created by\n * antialiazing artefacts in borderless pies.\n *\n * In styled mode, the border stroke is given in the `.highcharts-point`\n * class.\n *\n * @sample {highcharts} highcharts/plotoptions/pie-bordercolor-black/\n * Black border\n *\n * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}\n * @default #ffffff\n * @product highcharts\n *\n * @private\n */\n borderColor: '#ffffff',\n /**\n * The width of the border surrounding each slice.\n *\n * When setting the border width to 0, there may be small gaps between\n * the slices due to SVG antialiasing artefacts. To work around this,\n * keep the border width at 0.5 or 1, but set the `borderColor` to\n * `null` instead.\n *\n * In styled mode, the border stroke width is given in the\n * `.highcharts-point` class.\n *\n * @sample {highcharts} highcharts/plotoptions/pie-borderwidth/\n * 3px border\n *\n * @product highcharts\n *\n * @private\n */\n borderWidth: 1,\n /**\n * @ignore-options\n * @private\n */\n lineWidth: void 0,\n states: {\n /**\n * @extends plotOptions.series.states.hover\n * @excluding marker, lineWidth, lineWidthPlus\n * @product highcharts\n */\n hover: {\n /**\n * How much to brighten the point on interaction. Requires the\n * main color to be defined in hex or rgb(a) format.\n *\n * In styled mode, the hover brightness is by default replaced\n * by a fill-opacity given in the `.highcharts-point-hover`\n * class.\n *\n * @sample {highcharts} highcharts/plotoptions/pie-states-hover-brightness/\n * Brightened by 0.5\n *\n * @product highcharts\n */\n brightness: 0.1\n }\n }\n }, \n /* eslint-disable valid-jsdoc */\n /**\n * @lends seriesTypes.pie.prototype\n */\n {\n isCartesian: false,\n requireSorting: false,\n directTouch: true,\n noSharedTooltip: true,\n trackerGroups: ['group', 'dataLabelsGroup'],\n axisTypes: [],\n pointAttribs: BaseSeries.seriesTypes.column.prototype.pointAttribs,\n /**\n * Animate the pies in\n *\n * @private\n * @function Highcharts.seriesTypes.pie#animate\n *\n * @param {boolean} [init=false]\n */\n animate: function (init) {\n var series = this,\n points = series.points,\n startAngleRad = series.startAngleRad;\n if (!init) {\n points.forEach(function (point) {\n var graphic = point.graphic,\n args = point.shapeArgs;\n if (graphic && args) {\n // start values\n graphic.attr({\n // animate from inner radius (#779)\n r: pick(point.startR, (series.center && series.center[3] / 2)),\n start: startAngleRad,\n end: startAngleRad\n });\n // animate\n graphic.animate({\n r: args.r,\n start: args.start,\n end: args.end\n }, series.options.animation);\n }\n });\n }\n },\n // Define hasData function for non-cartesian series.\n // Returns true if the series has points at all.\n hasData: function () {\n return !!this.processedXData.length; // != 0\n },\n /**\n * Recompute total chart sum and update percentages of points.\n *\n * @private\n * @function Highcharts.seriesTypes.pie#updateTotals\n * @return {void}\n */\n updateTotals: function () {\n var i,\n total = 0,\n points = this.points,\n len = points.length,\n point,\n ignoreHiddenPoint = this.options.ignoreHiddenPoint;\n // Get the total sum\n for (i = 0; i < len; i++) {\n point = points[i];\n total += (ignoreHiddenPoint && !point.visible) ?\n 0 :\n point.isNull ?\n 0 :\n point.y;\n }\n this.total = total;\n // Set each point's properties\n for (i = 0; i < len; i++) {\n point = points[i];\n point.percentage =\n (total > 0 && (point.visible || !ignoreHiddenPoint)) ?\n point.y / total * 100 :\n 0;\n point.total = total;\n }\n },\n /**\n * Extend the generatePoints method by adding total and percentage\n * properties to each point\n *\n * @private\n * @function Highcharts.seriesTypes.pie#generatePoints\n * @return {void}\n */\n generatePoints: function () {\n LineSeries.prototype.generatePoints.call(this);\n this.updateTotals();\n },\n /**\n * Utility for getting the x value from a given y, used for\n * anticollision logic in data labels. Added point for using specific\n * points' label distance.\n * @private\n */\n getX: function (y, left, point) {\n var center = this.center, \n // Variable pie has individual radius\n radius = this.radii ?\n this.radii[point.index] :\n center[2] / 2,\n angle,\n x;\n angle = Math.asin(clamp((y - center[1]) / (radius + point.labelDistance), -1, 1));\n x = center[0] +\n (left ? -1 : 1) *\n (Math.cos(angle) * (radius + point.labelDistance)) +\n (point.labelDistance > 0 ?\n (left ? -1 : 1) * this.options.dataLabels.padding :\n 0);\n return x;\n },\n /**\n * Do translation for pie slices\n *\n * @private\n * @function Highcharts.seriesTypes.pie#translate\n * @param {Array} [positions]\n * @return {void}\n */\n translate: function (positions) {\n this.generatePoints();\n var series = this,\n cumulative = 0,\n precision = 1000, // issue #172\n options = series.options,\n slicedOffset = options.slicedOffset,\n connectorOffset = slicedOffset + (options.borderWidth || 0),\n finalConnectorOffset,\n start,\n end,\n angle,\n radians = getStartAndEndRadians(options.startAngle,\n options.endAngle),\n startAngleRad = series.startAngleRad = radians.start,\n endAngleRad = series.endAngleRad = radians.end,\n circ = endAngleRad - startAngleRad, // 2 * Math.PI,\n points = series.points, \n // the x component of the radius vector for a given point\n radiusX,\n radiusY,\n labelDistance = options.dataLabels.distance,\n ignoreHiddenPoint = options.ignoreHiddenPoint,\n i,\n len = points.length,\n point;\n // Get positions - either an integer or a percentage string must be\n // given. If positions are passed as a parameter, we're in a\n // recursive loop for adjusting space for data labels.\n if (!positions) {\n series.center = positions = series.getCenter();\n }\n // Calculate the geometry for each point\n for (i = 0; i < len; i++) {\n point = points[i];\n // set start and end angle\n start = startAngleRad + (cumulative * circ);\n if (!ignoreHiddenPoint || point.visible) {\n cumulative += point.percentage / 100;\n }\n end = startAngleRad + (cumulative * circ);\n // set the shape\n point.shapeType = 'arc';\n point.shapeArgs = {\n x: positions[0],\n y: positions[1],\n r: positions[2] / 2,\n innerR: positions[3] / 2,\n start: Math.round(start * precision) / precision,\n end: Math.round(end * precision) / precision\n };\n // Used for distance calculation for specific point.\n point.labelDistance = pick((point.options.dataLabels &&\n point.options.dataLabels.distance), labelDistance);\n // Compute point.labelDistance if it's defined as percentage\n // of slice radius (#8854)\n point.labelDistance = relativeLength(point.labelDistance, point.shapeArgs.r);\n // Saved for later dataLabels distance calculation.\n series.maxLabelDistance = Math.max(series.maxLabelDistance || 0, point.labelDistance);\n // The angle must stay within -90 and 270 (#2645)\n angle = (end + start) / 2;\n if (angle > 1.5 * Math.PI) {\n angle -= 2 * Math.PI;\n }\n else if (angle < -Math.PI / 2) {\n angle += 2 * Math.PI;\n }\n // Center for the sliced out slice\n point.slicedTranslation = {\n translateX: Math.round(Math.cos(angle) * slicedOffset),\n translateY: Math.round(Math.sin(angle) * slicedOffset)\n };\n // set the anchor point for tooltips\n radiusX = Math.cos(angle) * positions[2] / 2;\n radiusY = Math.sin(angle) * positions[2] / 2;\n point.tooltipPos = [\n positions[0] + radiusX * 0.7,\n positions[1] + radiusY * 0.7\n ];\n point.half = angle < -Math.PI / 2 || angle > Math.PI / 2 ?\n 1 :\n 0;\n point.angle = angle;\n // Set the anchor point for data labels. Use point.labelDistance\n // instead of labelDistance // #1174\n // finalConnectorOffset - not override connectorOffset value.\n finalConnectorOffset = Math.min(connectorOffset, point.labelDistance / 5); // #1678\n point.labelPosition = {\n natural: {\n // initial position of the data label - it's utilized for\n // finding the final position for the label\n x: positions[0] + radiusX + Math.cos(angle) *\n point.labelDistance,\n y: positions[1] + radiusY + Math.sin(angle) *\n point.labelDistance\n },\n 'final': {\n // used for generating connector path -\n // initialized later in drawDataLabels function\n // x: undefined,\n // y: undefined\n },\n // left - pie on the left side of the data label\n // right - pie on the right side of the data label\n // center - data label overlaps the pie\n alignment: point.labelDistance < 0 ?\n 'center' : point.half ? 'right' : 'left',\n connectorPosition: {\n breakAt: {\n x: positions[0] + radiusX + Math.cos(angle) *\n finalConnectorOffset,\n y: positions[1] + radiusY + Math.sin(angle) *\n finalConnectorOffset\n },\n touchingSliceAt: {\n x: positions[0] + radiusX,\n y: positions[1] + radiusY\n }\n }\n };\n }\n fireEvent(series, 'afterTranslate');\n },\n /**\n * Called internally to draw auxiliary graph in pie-like series in\n * situtation when the default graph is not sufficient enough to present\n * the data well. Auxiliary graph is saved in the same object as\n * regular graph.\n *\n * @private\n * @function Highcharts.seriesTypes.pie#drawEmpty\n */\n drawEmpty: function () {\n var centerX,\n centerY,\n start = this.startAngleRad,\n end = this.endAngleRad,\n options = this.options;\n // Draw auxiliary graph if there're no visible points.\n if (this.total === 0 && this.center) {\n centerX = this.center[0];\n centerY = this.center[1];\n if (!this.graph) {\n this.graph = this.chart.renderer\n .arc(centerX, centerY, this.center[1] / 2, 0, start, end)\n .addClass('highcharts-empty-series')\n .add(this.group);\n }\n this.graph.attr({\n d: SVGRenderer.prototype.symbols.arc(centerX, centerY, this.center[2] / 2, 0, {\n start: start,\n end: end,\n innerR: this.center[3] / 2\n })\n });\n if (!this.chart.styledMode) {\n this.graph.attr({\n 'stroke-width': options.borderWidth,\n fill: options.fillColor || 'none',\n stroke: options.color ||\n '#cccccc'\n });\n }\n }\n else if (this.graph) { // Destroy the graph object.\n this.graph = this.graph.destroy();\n }\n },\n /**\n * Draw the data points\n *\n * @private\n * @function Highcharts.seriesTypes.pie#drawPoints\n * @return {void}\n */\n redrawPoints: function () {\n var series = this,\n chart = series.chart,\n renderer = chart.renderer,\n groupTranslation,\n graphic,\n pointAttr,\n shapeArgs,\n shadow = series.options.shadow;\n this.drawEmpty();\n if (shadow && !series.shadowGroup && !chart.styledMode) {\n series.shadowGroup = renderer.g('shadow')\n .attr({ zIndex: -1 })\n .add(series.group);\n }\n // draw the slices\n series.points.forEach(function (point) {\n var animateTo = {};\n graphic = point.graphic;\n if (!point.isNull && graphic) {\n shapeArgs = point.shapeArgs;\n // If the point is sliced, use special translation, else use\n // plot area translation\n groupTranslation = point.getTranslate();\n if (!chart.styledMode) {\n // Put the shadow behind all points\n var shadowGroup = point.shadowGroup;\n if (shadow && !shadowGroup) {\n shadowGroup = point.shadowGroup = renderer\n .g('shadow')\n .add(series.shadowGroup);\n }\n if (shadowGroup) {\n shadowGroup.attr(groupTranslation);\n }\n pointAttr = series.pointAttribs(point, (point.selected && 'select'));\n }\n // Draw the slice\n if (!point.delayedRendering) {\n graphic\n .setRadialReference(series.center);\n if (!chart.styledMode) {\n merge(true, animateTo, pointAttr);\n }\n merge(true, animateTo, shapeArgs, groupTranslation);\n graphic.animate(animateTo);\n }\n else {\n graphic\n .setRadialReference(series.center)\n .attr(shapeArgs)\n .attr(groupTranslation);\n if (!chart.styledMode) {\n graphic\n .attr(pointAttr)\n .attr({ 'stroke-linejoin': 'round' })\n .shadow(shadow, shadowGroup);\n }\n point.delayedRendering = false;\n }\n graphic.attr({\n visibility: point.visible ? 'inherit' : 'hidden'\n });\n graphic.addClass(point.getClassName());\n }\n else if (graphic) {\n point.graphic = graphic.destroy();\n }\n });\n },\n /**\n * Slices in pie chart are initialized in DOM, but it's shapes and\n * animations are normally run in `drawPoints()`.\n * @private\n */\n drawPoints: function () {\n var renderer = this.chart.renderer;\n this.points.forEach(function (point) {\n // When updating a series between 2d and 3d or cartesian and\n // polar, the shape type changes.\n if (point.graphic && point.hasNewShapeType()) {\n point.graphic = point.graphic.destroy();\n }\n if (!point.graphic) {\n point.graphic = renderer[point.shapeType](point.shapeArgs)\n .add(point.series.group);\n point.delayedRendering = true;\n }\n });\n },\n /**\n * @private\n * @deprecated\n * @function Highcharts.seriesTypes.pie#searchPoint\n */\n searchPoint: noop,\n /**\n * Utility for sorting data labels\n *\n * @private\n * @function Highcharts.seriesTypes.pie#sortByAngle\n * @param {Array} points\n * @param {number} sign\n * @return {void}\n */\n sortByAngle: function (points, sign) {\n points.sort(function (a, b) {\n return ((typeof a.angle !== 'undefined') &&\n (b.angle - a.angle) * sign);\n });\n },\n /**\n * Use a simple symbol from LegendSymbolMixin.\n *\n * @private\n * @borrows Highcharts.LegendSymbolMixin.drawRectangle as Highcharts.seriesTypes.pie#drawLegendSymbol\n */\n drawLegendSymbol: LegendSymbolMixin.drawRectangle,\n /**\n * Use the getCenter method from drawLegendSymbol.\n *\n * @private\n * @borrows Highcharts.CenteredSeriesMixin.getCenter as Highcharts.seriesTypes.pie#getCenter\n */\n getCenter: CenteredSeriesMixin.getCenter,\n /**\n * Pies don't have point marker symbols.\n *\n * @deprecated\n * @private\n * @function Highcharts.seriesTypes.pie#getSymbol\n */\n getSymbol: noop,\n /**\n * @private\n * @type {null}\n */\n drawGraph: null\n }, \n /**\n * @lends seriesTypes.pie.prototype.pointClass.prototype\n */\n {\n /**\n * Initialize the pie slice\n *\n * @private\n * @function Highcharts.seriesTypes.pie#pointClass#init\n * @return {Highcharts.Point}\n */\n init: function () {\n Point.prototype.init.apply(this, arguments);\n var point = this,\n toggleSlice;\n point.name = pick(point.name, 'Slice');\n // add event listener for select\n toggleSlice = function (e) {\n point.slice(e.type === 'select');\n };\n addEvent(point, 'select', toggleSlice);\n addEvent(point, 'unselect', toggleSlice);\n return point;\n },\n /**\n * Negative points are not valid (#1530, #3623, #5322)\n *\n * @private\n * @function Highcharts.seriesTypes.pie#pointClass#isValid\n * @return {boolean}\n */\n isValid: function () {\n return isNumber(this.y) && this.y >= 0;\n },\n /**\n * Toggle the visibility of the pie slice\n *\n * @private\n * @function Highcharts.seriesTypes.pie#pointClass#setVisible\n * @param {boolean} vis\n * Whether to show the slice or not. If undefined, the visibility\n * is toggled.\n * @param {boolean} [redraw=false]\n * @return {void}\n */\n setVisible: function (vis, redraw) {\n var point = this,\n series = point.series,\n chart = series.chart,\n ignoreHiddenPoint = series.options.ignoreHiddenPoint;\n redraw = pick(redraw, ignoreHiddenPoint);\n if (vis !== point.visible) {\n // If called without an argument, toggle visibility\n point.visible = point.options.visible = vis =\n typeof vis === 'undefined' ? !point.visible : vis;\n // update userOptions.data\n series.options.data[series.data.indexOf(point)] =\n point.options;\n // Show and hide associated elements. This is performed\n // regardless of redraw or not, because chart.redraw only\n // handles full series.\n ['graphic', 'dataLabel', 'connector', 'shadowGroup'].forEach(function (key) {\n if (point[key]) {\n point[key][vis ? 'show' : 'hide'](true);\n }\n });\n if (point.legendItem) {\n chart.legend.colorizeItem(point, vis);\n }\n // #4170, hide halo after hiding point\n if (!vis && point.state === 'hover') {\n point.setState('');\n }\n // Handle ignore hidden slices\n if (ignoreHiddenPoint) {\n series.isDirty = true;\n }\n if (redraw) {\n chart.redraw();\n }\n }\n },\n /**\n * Set or toggle whether the slice is cut out from the pie\n *\n * @private\n * @function Highcharts.seriesTypes.pie#pointClass#slice\n * @param {boolean} sliced\n * When undefined, the slice state is toggled.\n * @param {boolean} redraw\n * Whether to redraw the chart. True by default.\n * @param {boolean|Partial}\n * Animation options.\n * @return {void}\n */\n slice: function (sliced, redraw, animation) {\n var point = this,\n series = point.series,\n chart = series.chart;\n setAnimation(animation, chart);\n // redraw is true by default\n redraw = pick(redraw, true);\n /**\n * Pie series only. Whether to display a slice offset from the\n * center.\n * @name Highcharts.Point#sliced\n * @type {boolean|undefined}\n */\n // if called without an argument, toggle\n point.sliced = point.options.sliced = sliced =\n defined(sliced) ? sliced : !point.sliced;\n // update userOptions.data\n series.options.data[series.data.indexOf(point)] =\n point.options;\n if (point.graphic) {\n point.graphic.animate(this.getTranslate());\n }\n if (point.shadowGroup) {\n point.shadowGroup.animate(this.getTranslate());\n }\n },\n /**\n * @private\n * @function Highcharts.seriesTypes.pie#pointClass#getTranslate\n * @return {Highcharts.TranslationAttributes}\n */\n getTranslate: function () {\n return this.sliced ? this.slicedTranslation : {\n translateX: 0,\n translateY: 0\n };\n },\n /**\n * @private\n * @function Highcharts.seriesTypes.pie#pointClass#haloPath\n * @param {number} size\n * @return {Highcharts.SVGPathArray}\n */\n haloPath: function (size) {\n var shapeArgs = this.shapeArgs;\n return this.sliced || !this.visible ?\n [] :\n this.series.chart.renderer.symbols.arc(shapeArgs.x, shapeArgs.y, shapeArgs.r + size, shapeArgs.r + size, {\n // Substract 1px to ensure the background is not bleeding\n // through between the halo and the slice (#7495).\n innerR: shapeArgs.r - 1,\n start: shapeArgs.start,\n end: shapeArgs.end\n });\n },\n connectorShapes: {\n // only one available before v7.0.0\n fixedOffset: function (labelPosition, connectorPosition, options) {\n var breakAt = connectorPosition.breakAt,\n touchingSliceAt = connectorPosition.touchingSliceAt,\n lineSegment = options.softConnector ? [\n 'C',\n // 1st control point (of the curve)\n labelPosition.x +\n // 5 gives the connector a little horizontal bend\n (labelPosition.alignment === 'left' ? -5 : 5),\n labelPosition.y,\n 2 * breakAt.x - touchingSliceAt.x,\n 2 * breakAt.y - touchingSliceAt.y,\n breakAt.x,\n breakAt.y //\n ] : [\n 'L',\n breakAt.x,\n breakAt.y\n ];\n // assemble the path\n return ([\n ['M', labelPosition.x, labelPosition.y],\n lineSegment,\n ['L', touchingSliceAt.x, touchingSliceAt.y]\n ]);\n },\n straight: function (labelPosition, connectorPosition) {\n var touchingSliceAt = connectorPosition.touchingSliceAt;\n // direct line to the slice\n return [\n ['M', labelPosition.x, labelPosition.y],\n ['L', touchingSliceAt.x, touchingSliceAt.y]\n ];\n },\n crookedLine: function (labelPosition, connectorPosition, options) {\n var touchingSliceAt = connectorPosition.touchingSliceAt,\n series = this.series,\n pieCenterX = series.center[0],\n plotWidth = series.chart.plotWidth,\n plotLeft = series.chart.plotLeft,\n alignment = labelPosition.alignment,\n radius = this.shapeArgs.r,\n crookDistance = relativeLength(// % to fraction\n options.crookDistance, 1),\n crookX = alignment === 'left' ?\n pieCenterX + radius + (plotWidth + plotLeft -\n pieCenterX - radius) * (1 - crookDistance) :\n plotLeft + (pieCenterX - radius) * crookDistance,\n segmentWithCrook = [\n 'L',\n crookX,\n labelPosition.y\n ],\n useCrook = true;\n // crookedLine formula doesn't make sense if the path overlaps\n // the label - use straight line instead in that case\n if (alignment === 'left' ?\n (crookX > labelPosition.x || crookX < touchingSliceAt.x) :\n (crookX < labelPosition.x || crookX > touchingSliceAt.x)) {\n useCrook = false;\n }\n // assemble the path\n var path = [\n ['M',\n labelPosition.x,\n labelPosition.y]\n ];\n if (useCrook) {\n path.push(segmentWithCrook);\n }\n path.push(['L', touchingSliceAt.x, touchingSliceAt.y]);\n return path;\n }\n },\n /**\n * Extendable method for getting the path of the connector between the\n * data label and the pie slice.\n */\n getConnectorPath: function () {\n var labelPosition = this.labelPosition,\n options = this.series.options.dataLabels,\n connectorShape = options.connectorShape,\n predefinedShapes = this.connectorShapes;\n // find out whether to use the predefined shape\n if (predefinedShapes[connectorShape]) {\n connectorShape = predefinedShapes[connectorShape];\n }\n return connectorShape.call(this, {\n // pass simplified label position object for user's convenience\n x: labelPosition.final.x,\n y: labelPosition.final.y,\n alignment: labelPosition.alignment\n }, labelPosition.connectorPosition, options);\n }\n }\n /* eslint-enable valid-jsdoc */\n );\n /**\n * A `pie` series. If the [type](#series.pie.type) option is not specified,\n * it is inherited from [chart.type](#chart.type).\n *\n * @extends series,plotOptions.pie\n * @excluding cropThreshold, dataParser, dataURL, stack, xAxis, yAxis,\n * dataSorting, step, boostThreshold, boostBlending\n * @product highcharts\n * @apioption series.pie\n */\n /**\n * An array of data points for the series. For the `pie` series type,\n * points can be given in the following ways:\n *\n * 1. An array of numerical values. In this case, the numerical values will be\n * interpreted as `y` options. Example:\n * ```js\n * data: [0, 5, 3, 5]\n * ```\n *\n * 2. An array of objects with named values. The following snippet shows only a\n * few settings, see the complete options set below. If the total number of\n * data points exceeds the series'\n * [turboThreshold](#series.pie.turboThreshold),\n * this option is not available.\n * ```js\n * data: [{\n * y: 1,\n * name: \"Point2\",\n * color: \"#00FF00\"\n * }, {\n * y: 7,\n * name: \"Point1\",\n * color: \"#FF00FF\"\n * }]\n * ```\n *\n * @sample {highcharts} highcharts/chart/reflow-true/\n * Numerical values\n * @sample {highcharts} highcharts/series/data-array-of-arrays/\n * Arrays of numeric x and y\n * @sample {highcharts} highcharts/series/data-array-of-arrays-datetime/\n * Arrays of datetime x and y\n * @sample {highcharts} highcharts/series/data-array-of-name-value/\n * Arrays of point.name and y\n * @sample {highcharts} highcharts/series/data-array-of-objects/\n * Config objects\n *\n * @type {Array|null|*>}\n * @extends series.line.data\n * @excluding marker, x\n * @product highcharts\n * @apioption series.pie.data\n */\n /**\n * @type {Highcharts.SeriesPieDataLabelsOptionsObject}\n * @product highcharts\n * @apioption series.pie.data.dataLabels\n */\n /**\n * The sequential index of the data point in the legend.\n *\n * @type {number}\n * @product highcharts\n * @apioption series.pie.data.legendIndex\n */\n /**\n * Whether to display a slice offset from the center.\n *\n * @sample {highcharts} highcharts/point/sliced/\n * One sliced point\n *\n * @type {boolean}\n * @product highcharts\n * @apioption series.pie.data.sliced\n */\n /**\n * @excluding legendItemClick\n * @product highcharts\n * @apioption series.pie.events\n */\n ''; // placeholder for transpiled doclets above\n\n });\n _registerModule(_modules, 'Core/Series/DataLabels.js', [_modules['Core/Animation/AnimationUtilities.js'], _modules['Core/Globals.js'], _modules['Core/Series/CartesianSeries.js'], _modules['Core/Utilities.js']], function (A, H, CartesianSeries, U) {\n /* *\n *\n * (c) 2010-2020 Torstein Honsi\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n var getDeferredAnimation = A.getDeferredAnimation;\n var noop = H.noop,\n seriesTypes = H.seriesTypes;\n var arrayMax = U.arrayMax,\n clamp = U.clamp,\n defined = U.defined,\n extend = U.extend,\n fireEvent = U.fireEvent,\n format = U.format,\n isArray = U.isArray,\n merge = U.merge,\n objectEach = U.objectEach,\n pick = U.pick,\n relativeLength = U.relativeLength,\n splat = U.splat,\n stableSort = U.stableSort;\n /**\n * Callback JavaScript function to format the data label as a string. Note that\n * if a `format` is defined, the format takes precedence and the formatter is\n * ignored.\n *\n * @callback Highcharts.DataLabelsFormatterCallbackFunction\n *\n * @param {Highcharts.PointLabelObject} this\n * Data label context to format\n *\n * @param {Highcharts.DataLabelsOptions} options\n * [API options](/highcharts/plotOptions.series.dataLabels) of the data label\n *\n * @return {number|string|null|undefined}\n * Formatted data label text\n */\n /**\n * Values for handling data labels that flow outside the plot area.\n *\n * @typedef {\"allow\"|\"justify\"} Highcharts.DataLabelsOverflowValue\n */\n ''; // detach doclets above\n /* eslint-disable valid-jsdoc */\n /**\n * General distribution algorithm for distributing labels of differing size\n * along a confined length in two dimensions. The algorithm takes an array of\n * objects containing a size, a target and a rank. It will place the labels as\n * close as possible to their targets, skipping the lowest ranked labels if\n * necessary.\n *\n * @private\n * @function Highcharts.distribute\n * @param {Highcharts.DataLabelsBoxArray} boxes\n * @param {number} len\n * @param {number} [maxDistance]\n * @return {void}\n */\n H.distribute = function (boxes, len, maxDistance) {\n var i,\n overlapping = true,\n origBoxes = boxes, // Original array will be altered with added .pos\n restBoxes = [], // The outranked overshoot\n box,\n target,\n total = 0,\n reducedLen = origBoxes.reducedLen || len;\n /**\n * @private\n */\n function sortByTarget(a, b) {\n return a.target - b.target;\n }\n // If the total size exceeds the len, remove those boxes with the lowest\n // rank\n i = boxes.length;\n while (i--) {\n total += boxes[i].size;\n }\n // Sort by rank, then slice away overshoot\n if (total > reducedLen) {\n stableSort(boxes, function (a, b) {\n return (b.rank || 0) - (a.rank || 0);\n });\n i = 0;\n total = 0;\n while (total <= reducedLen) {\n total += boxes[i].size;\n i++;\n }\n restBoxes = boxes.splice(i - 1, boxes.length);\n }\n // Order by target\n stableSort(boxes, sortByTarget);\n // So far we have been mutating the original array. Now\n // create a copy with target arrays\n boxes = boxes.map(function (box) {\n return {\n size: box.size,\n targets: [box.target],\n align: pick(box.align, 0.5)\n };\n });\n while (overlapping) {\n // Initial positions: target centered in box\n i = boxes.length;\n while (i--) {\n box = boxes[i];\n // Composite box, average of targets\n target = (Math.min.apply(0, box.targets) +\n Math.max.apply(0, box.targets)) / 2;\n box.pos = clamp(target - box.size * box.align, 0, len - box.size);\n }\n // Detect overlap and join boxes\n i = boxes.length;\n overlapping = false;\n while (i--) {\n // Overlap\n if (i > 0 &&\n boxes[i - 1].pos + boxes[i - 1].size >\n boxes[i].pos) {\n // Add this size to the previous box\n boxes[i - 1].size += boxes[i].size;\n boxes[i - 1].targets = boxes[i - 1]\n .targets\n .concat(boxes[i].targets);\n boxes[i - 1].align = 0.5;\n // Overlapping right, push left\n if (boxes[i - 1].pos + boxes[i - 1].size > len) {\n boxes[i - 1].pos = len - boxes[i - 1].size;\n }\n boxes.splice(i, 1); // Remove this item\n overlapping = true;\n }\n }\n }\n // Add the rest (hidden boxes)\n origBoxes.push.apply(origBoxes, restBoxes);\n // Now the composite boxes are placed, we need to put the original boxes\n // within them\n i = 0;\n boxes.some(function (box) {\n var posInCompositeBox = 0;\n if (box.targets.some(function () {\n origBoxes[i].pos = box.pos + posInCompositeBox;\n // If the distance between the position and the target exceeds\n // maxDistance, abort the loop and decrease the length in increments\n // of 10% to recursively reduce the number of visible boxes by\n // rank. Once all boxes are within the maxDistance, we're good.\n if (typeof maxDistance !== 'undefined' &&\n Math.abs(origBoxes[i].pos - origBoxes[i].target) > maxDistance) {\n // Reset the positions that are already set\n origBoxes.slice(0, i + 1).forEach(function (box) {\n delete box.pos;\n });\n // Try with a smaller length\n origBoxes.reducedLen =\n (origBoxes.reducedLen || len) - (len * 0.1);\n // Recurse\n if (origBoxes.reducedLen > len * 0.1) {\n H.distribute(origBoxes, len, maxDistance);\n }\n // Exceeded maxDistance => abort\n return true;\n }\n posInCompositeBox += origBoxes[i].size;\n i++;\n })) {\n // Exceeded maxDistance => abort\n return true;\n }\n });\n // Add the rest (hidden) boxes and sort by target\n stableSort(origBoxes, sortByTarget);\n };\n /**\n * Draw the data labels\n *\n * @private\n * @function Highcharts.Series#drawDataLabels\n * @return {void}\n * @fires Highcharts.Series#event:afterDrawDataLabels\n */\n CartesianSeries.prototype.drawDataLabels = function () {\n var series = this,\n chart = series.chart,\n seriesOptions = series.options,\n seriesDlOptions = seriesOptions.dataLabels,\n points = series.points,\n pointOptions,\n hasRendered = series.hasRendered || 0,\n dataLabelsGroup,\n dataLabelAnim = seriesDlOptions.animation,\n animationConfig = seriesDlOptions.defer ?\n getDeferredAnimation(chart,\n dataLabelAnim,\n series) :\n { defer: 0,\n duration: 0 },\n renderer = chart.renderer;\n /**\n * Handle the dataLabels.filter option.\n * @private\n */\n function applyFilter(point, options) {\n var filter = options.filter,\n op,\n prop,\n val;\n if (filter) {\n op = filter.operator;\n prop = point[filter.property];\n val = filter.value;\n if ((op === '>' && prop > val) ||\n (op === '<' && prop < val) ||\n (op === '>=' && prop >= val) ||\n (op === '<=' && prop <= val) ||\n (op === '==' && prop == val) || // eslint-disable-line eqeqeq\n (op === '===' && prop === val)) {\n return true;\n }\n return false;\n }\n return true;\n }\n /**\n * Merge two objects that can be arrays. If one of them is an array, the\n * other is merged into each element. If both are arrays, each element is\n * merged by index. If neither are arrays, we use normal merge.\n * @private\n */\n function mergeArrays(one, two) {\n var res = [],\n i;\n if (isArray(one) && !isArray(two)) {\n res = one.map(function (el) {\n return merge(el, two);\n });\n }\n else if (isArray(two) && !isArray(one)) {\n res = two.map(function (el) {\n return merge(one, el);\n });\n }\n else if (!isArray(one) && !isArray(two)) {\n res = merge(one, two);\n }\n else {\n i = Math.max(one.length, two.length);\n while (i--) {\n res[i] = merge(one[i], two[i]);\n }\n }\n return res;\n }\n // Merge in plotOptions.dataLabels for series\n seriesDlOptions = mergeArrays(mergeArrays(chart.options.plotOptions &&\n chart.options.plotOptions.series &&\n chart.options.plotOptions.series.dataLabels, chart.options.plotOptions &&\n chart.options.plotOptions[series.type] &&\n chart.options.plotOptions[series.type].dataLabels), seriesDlOptions);\n fireEvent(this, 'drawDataLabels');\n if (isArray(seriesDlOptions) ||\n seriesDlOptions.enabled ||\n series._hasPointLabels) {\n // Create a separate group for the data labels to avoid rotation\n dataLabelsGroup = series.plotGroup('dataLabelsGroup', 'data-labels', !hasRendered ? 'hidden' : 'inherit', // #5133, #10220\n seriesDlOptions.zIndex || 6);\n dataLabelsGroup.attr({ opacity: +hasRendered }); // #3300\n if (!hasRendered) {\n var group = series.dataLabelsGroup;\n if (group) {\n if (series.visible) { // #2597, #3023, #3024\n dataLabelsGroup.show(true);\n }\n group[seriesOptions.animation ? 'animate' : 'attr']({ opacity: 1 }, animationConfig);\n }\n }\n // Make the labels for each point\n points.forEach(function (point) {\n // Merge in series options for the point.\n // @note dataLabelAttribs (like pointAttribs) would eradicate\n // the need for dlOptions, and simplify the section below.\n pointOptions = splat(mergeArrays(seriesDlOptions, point.dlOptions || // dlOptions is used in treemaps\n (point.options && point.options.dataLabels)));\n // Handle each individual data label for this point\n pointOptions.forEach(function (labelOptions, i) {\n // Options for one datalabel\n var labelEnabled = (labelOptions.enabled &&\n // #2282, #4641, #7112, #10049\n (!point.isNull || point.dataLabelOnNull) &&\n applyFilter(point,\n labelOptions)),\n labelConfig,\n formatString,\n labelText,\n style,\n rotation,\n attr,\n dataLabel = point.dataLabels ? point.dataLabels[i] :\n point.dataLabel,\n connector = point.connectors ? point.connectors[i] :\n point.connector,\n labelDistance = pick(labelOptions.distance,\n point.labelDistance),\n isNew = !dataLabel;\n if (labelEnabled) {\n // Create individual options structure that can be extended\n // without affecting others\n labelConfig = point.getLabelConfig();\n formatString = pick(labelOptions[point.formatPrefix + 'Format'], labelOptions.format);\n labelText = defined(formatString) ?\n format(formatString, labelConfig, chart) :\n (labelOptions[point.formatPrefix + 'Formatter'] ||\n labelOptions.formatter).call(labelConfig, labelOptions);\n style = labelOptions.style;\n rotation = labelOptions.rotation;\n if (!chart.styledMode) {\n // Determine the color\n style.color = pick(labelOptions.color, style.color, series.color, '#000000');\n // Get automated contrast color\n if (style.color === 'contrast') {\n point.contrastColor = renderer.getContrast((point.color || series.color));\n style.color = (!defined(labelDistance) &&\n labelOptions.inside) ||\n labelDistance < 0 ||\n !!seriesOptions.stacking ?\n point.contrastColor :\n '#000000';\n }\n else {\n delete point.contrastColor;\n }\n if (seriesOptions.cursor) {\n style.cursor = seriesOptions.cursor;\n }\n }\n attr = {\n r: labelOptions.borderRadius || 0,\n rotation: rotation,\n padding: labelOptions.padding,\n zIndex: 1\n };\n if (!chart.styledMode) {\n attr.fill = labelOptions.backgroundColor;\n attr.stroke = labelOptions.borderColor;\n attr['stroke-width'] = labelOptions.borderWidth;\n }\n // Remove unused attributes (#947)\n objectEach(attr, function (val, name) {\n if (typeof val === 'undefined') {\n delete attr[name];\n }\n });\n }\n // If the point is outside the plot area, destroy it. #678, #820\n if (dataLabel && (!labelEnabled || !defined(labelText))) {\n point.dataLabel =\n point.dataLabel && point.dataLabel.destroy();\n if (point.dataLabels) {\n // Remove point.dataLabels if this was the last one\n if (point.dataLabels.length === 1) {\n delete point.dataLabels;\n }\n else {\n delete point.dataLabels[i];\n }\n }\n if (!i) {\n delete point.dataLabel;\n }\n if (connector) {\n point.connector = point.connector.destroy();\n if (point.connectors) {\n // Remove point.connectors if this was the last one\n if (point.connectors.length === 1) {\n delete point.connectors;\n }\n else {\n delete point.connectors[i];\n }\n }\n }\n // Individual labels are disabled if the are explicitly disabled\n // in the point options, or if they fall outside the plot area.\n }\n else if (labelEnabled && defined(labelText)) {\n if (!dataLabel) {\n // Create new label element\n point.dataLabels = point.dataLabels || [];\n dataLabel = point.dataLabels[i] = rotation ?\n // Labels don't rotate, use text element\n renderer.text(labelText, 0, -9999, labelOptions.useHTML)\n .addClass('highcharts-data-label') :\n // We can use label\n renderer.label(labelText, 0, -9999, labelOptions.shape, null, null, labelOptions.useHTML, null, 'data-label');\n // Store for backwards compatibility\n if (!i) {\n point.dataLabel = dataLabel;\n }\n dataLabel.addClass(' highcharts-data-label-color-' + point.colorIndex +\n ' ' + (labelOptions.className || '') +\n ( // #3398\n labelOptions.useHTML ?\n ' highcharts-tracker' :\n ''));\n }\n else {\n // Use old element and just update text\n attr.text = labelText;\n }\n // Store data label options for later access\n dataLabel.options = labelOptions;\n dataLabel.attr(attr);\n if (!chart.styledMode) {\n // Styles must be applied before add in order to read\n // text bounding box\n dataLabel.css(style).shadow(labelOptions.shadow);\n }\n if (!dataLabel.added) {\n dataLabel.add(dataLabelsGroup);\n }\n if (labelOptions.textPath && !labelOptions.useHTML) {\n dataLabel.setTextPath((point.getDataLabelPath &&\n point.getDataLabelPath(dataLabel)) || point.graphic, labelOptions.textPath);\n if (point.dataLabelPath &&\n !labelOptions.textPath.enabled) {\n // clean the DOM\n point.dataLabelPath = point.dataLabelPath.destroy();\n }\n }\n // Now the data label is created and placed at 0,0, so we\n // need to align it\n series.alignDataLabel(point, dataLabel, labelOptions, null, isNew);\n }\n });\n });\n }\n fireEvent(this, 'afterDrawDataLabels');\n };\n /**\n * Align each individual data label.\n *\n * @private\n * @function Highcharts.Series#alignDataLabel\n * @param {Highcharts.Point} point\n * @param {Highcharts.SVGElement} dataLabel\n * @param {Highcharts.DataLabelsOptions} options\n * @param {Highcharts.BBoxObject} alignTo\n * @param {boolean} [isNew]\n * @return {void}\n */\n CartesianSeries.prototype.alignDataLabel = function (point, dataLabel, options, alignTo, isNew) {\n var series = this,\n chart = this.chart,\n inverted = this.isCartesian && chart.inverted,\n enabledDataSorting = this.enabledDataSorting,\n plotX = pick(point.dlBox && point.dlBox.centerX,\n point.plotX, -9999),\n plotY = pick(point.plotY, -9999),\n bBox = dataLabel.getBBox(),\n baseline,\n rotation = options.rotation,\n normRotation,\n negRotation,\n align = options.align,\n rotCorr, // rotation correction\n isInsidePlot = chart.isInsidePlot(plotX,\n Math.round(plotY),\n inverted), \n // Math.round for rounding errors (#2683), alignTo to allow column\n // labels (#2700)\n alignAttr, // the final position;\n justify = pick(options.overflow, (enabledDataSorting ? 'none' : 'justify')) === 'justify', visible = this.visible &&\n point.visible !== false &&\n (point.series.forceDL ||\n (enabledDataSorting && !justify) ||\n isInsidePlot ||\n (\n // If the data label is inside the align box, it is enough\n // that parts of the align box is inside the plot area\n // (#12370)\n options.inside && alignTo && chart.isInsidePlot(plotX, inverted ?\n alignTo.x + 1 :\n alignTo.y + alignTo.height - 1, inverted))), setStartPos = function (alignOptions) {\n if (enabledDataSorting && series.xAxis && !justify) {\n series.setDataLabelStartPos(point, dataLabel, isNew, isInsidePlot, alignOptions);\n }\n };\n if (visible) {\n baseline = chart.renderer.fontMetrics(chart.styledMode ? void 0 : options.style.fontSize, dataLabel).b;\n // The alignment box is a singular point\n alignTo = extend({\n x: inverted ? this.yAxis.len - plotY : plotX,\n y: Math.round(inverted ? this.xAxis.len - plotX : plotY),\n width: 0,\n height: 0\n }, alignTo);\n // Add the text size for alignment calculation\n extend(options, {\n width: bBox.width,\n height: bBox.height\n });\n // Allow a hook for changing alignment in the last moment, then do the\n // alignment\n if (rotation) {\n justify = false; // Not supported for rotated text\n rotCorr = chart.renderer.rotCorr(baseline, rotation); // #3723\n alignAttr = {\n x: (alignTo.x +\n (options.x || 0) +\n alignTo.width / 2 +\n rotCorr.x),\n y: (alignTo.y +\n (options.y || 0) +\n { top: 0, middle: 0.5, bottom: 1 }[options.verticalAlign] *\n alignTo.height)\n };\n setStartPos(alignAttr); // data sorting\n dataLabel[isNew ? 'attr' : 'animate'](alignAttr)\n .attr({\n align: align\n });\n // Compensate for the rotated label sticking out on the sides\n normRotation = (rotation + 720) % 360;\n negRotation = normRotation > 180 && normRotation < 360;\n if (align === 'left') {\n alignAttr.y -= negRotation ? bBox.height : 0;\n }\n else if (align === 'center') {\n alignAttr.x -= bBox.width / 2;\n alignAttr.y -= bBox.height / 2;\n }\n else if (align === 'right') {\n alignAttr.x -= bBox.width;\n alignAttr.y -= negRotation ? 0 : bBox.height;\n }\n dataLabel.placed = true;\n dataLabel.alignAttr = alignAttr;\n }\n else {\n setStartPos(alignTo); // data sorting\n dataLabel.align(options, null, alignTo);\n alignAttr = dataLabel.alignAttr;\n }\n // Handle justify or crop\n if (justify && alignTo.height >= 0) { // #8830\n this.justifyDataLabel(dataLabel, options, alignAttr, bBox, alignTo, isNew);\n // Now check that the data label is within the plot area\n }\n else if (pick(options.crop, true)) {\n visible =\n chart.isInsidePlot(alignAttr.x, alignAttr.y) &&\n chart.isInsidePlot(alignAttr.x + bBox.width, alignAttr.y + bBox.height);\n }\n // When we're using a shape, make it possible with a connector or an\n // arrow pointing to thie point\n if (options.shape && !rotation) {\n dataLabel[isNew ? 'attr' : 'animate']({\n anchorX: inverted ?\n chart.plotWidth - point.plotY :\n point.plotX,\n anchorY: inverted ?\n chart.plotHeight - point.plotX :\n point.plotY\n });\n }\n }\n // To use alignAttr property in hideOverlappingLabels\n if (isNew && enabledDataSorting) {\n dataLabel.placed = false;\n }\n // Show or hide based on the final aligned position\n if (!visible && (!enabledDataSorting || justify)) {\n dataLabel.hide(true);\n dataLabel.placed = false; // don't animate back in\n }\n };\n /**\n * Set starting position for data label sorting animation.\n *\n * @private\n * @function Highcharts.Series#setDataLabelStartPos\n * @param {Highcharts.SVGElement} dataLabel\n * @param {Highcharts.ColumnPoint} point\n * @param {boolean | undefined} [isNew]\n * @param {boolean} [isInside]\n * @param {Highcharts.AlignObject} [alignOptions]\n *\n * @return {void}\n */\n CartesianSeries.prototype.setDataLabelStartPos = function (point, dataLabel, isNew, isInside, alignOptions) {\n var chart = this.chart,\n inverted = chart.inverted,\n xAxis = this.xAxis,\n reversed = xAxis.reversed,\n labelCenter = inverted ? dataLabel.height / 2 : dataLabel.width / 2,\n pointWidth = point.pointWidth,\n halfWidth = pointWidth ? pointWidth / 2 : 0,\n startXPos,\n startYPos;\n startXPos = inverted ?\n alignOptions.x :\n (reversed ?\n -labelCenter - halfWidth :\n xAxis.width - labelCenter + halfWidth);\n startYPos = inverted ?\n (reversed ?\n this.yAxis.height - labelCenter + halfWidth :\n -labelCenter - halfWidth) : alignOptions.y;\n dataLabel.startXPos = startXPos;\n dataLabel.startYPos = startYPos;\n // We need to handle visibility in case of sorting point outside plot area\n if (!isInside) {\n dataLabel\n .attr({ opacity: 1 })\n .animate({ opacity: 0 }, void 0, dataLabel.hide);\n }\n else if (dataLabel.visibility === 'hidden') {\n dataLabel.show();\n dataLabel\n .attr({ opacity: 0 })\n .animate({ opacity: 1 });\n }\n // Save start position on first render, but do not change position\n if (!chart.hasRendered) {\n return;\n }\n // Set start position\n if (isNew) {\n dataLabel.attr({ x: dataLabel.startXPos, y: dataLabel.startYPos });\n }\n dataLabel.placed = true;\n };\n /**\n * If data labels fall partly outside the plot area, align them back in, in a\n * way that doesn't hide the point.\n *\n * @private\n * @function Highcharts.Series#justifyDataLabel\n * @param {Highcharts.SVGElement} dataLabel\n * @param {Highcharts.DataLabelsOptions} options\n * @param {Highcharts.SVGAttributes} alignAttr\n * @param {Highcharts.BBoxObject} bBox\n * @param {Highcharts.BBoxObject} [alignTo]\n * @param {boolean} [isNew]\n * @return {boolean|undefined}\n */\n CartesianSeries.prototype.justifyDataLabel = function (dataLabel, options, alignAttr, bBox, alignTo, isNew) {\n var chart = this.chart,\n align = options.align,\n verticalAlign = options.verticalAlign,\n off,\n justified,\n padding = dataLabel.box ? 0 : (dataLabel.padding || 0);\n var _a = options.x,\n x = _a === void 0 ? 0 : _a,\n _b = options.y,\n y = _b === void 0 ? 0 : _b;\n // Off left\n off = alignAttr.x + padding;\n if (off < 0) {\n if (align === 'right' && x >= 0) {\n options.align = 'left';\n options.inside = true;\n }\n else {\n x -= off;\n }\n justified = true;\n }\n // Off right\n off = alignAttr.x + bBox.width - padding;\n if (off > chart.plotWidth) {\n if (align === 'left' && x <= 0) {\n options.align = 'right';\n options.inside = true;\n }\n else {\n x += chart.plotWidth - off;\n }\n justified = true;\n }\n // Off top\n off = alignAttr.y + padding;\n if (off < 0) {\n if (verticalAlign === 'bottom' && y >= 0) {\n options.verticalAlign = 'top';\n options.inside = true;\n }\n else {\n y -= off;\n }\n justified = true;\n }\n // Off bottom\n off = alignAttr.y + bBox.height - padding;\n if (off > chart.plotHeight) {\n if (verticalAlign === 'top' && y <= 0) {\n options.verticalAlign = 'bottom';\n options.inside = true;\n }\n else {\n y += chart.plotHeight - off;\n }\n justified = true;\n }\n if (justified) {\n options.x = x;\n options.y = y;\n dataLabel.placed = !isNew;\n dataLabel.align(options, void 0, alignTo);\n }\n return justified;\n };\n if (seriesTypes.pie) {\n seriesTypes.pie.prototype.dataLabelPositioners = {\n // Based on the value computed in Highcharts' distribute algorithm.\n radialDistributionY: function (point) {\n return point.top + point.distributeBox.pos;\n },\n // get the x - use the natural x position for labels near the\n // top and bottom, to prevent the top and botton slice\n // connectors from touching each other on either side\n // Based on the value computed in Highcharts' distribute algorithm.\n radialDistributionX: function (series, point, y, naturalY) {\n return series.getX(y < point.top + 2 || y > point.bottom - 2 ?\n naturalY :\n y, point.half, point);\n },\n // dataLabels.distance determines the x position of the label\n justify: function (point, radius, seriesCenter) {\n return seriesCenter[0] + (point.half ? -1 : 1) *\n (radius + point.labelDistance);\n },\n // Left edges of the left-half labels touch the left edge of the plot\n // area. Right edges of the right-half labels touch the right edge of\n // the plot area.\n alignToPlotEdges: function (dataLabel, half, plotWidth, plotLeft) {\n var dataLabelWidth = dataLabel.getBBox().width;\n return half ? dataLabelWidth + plotLeft :\n plotWidth - dataLabelWidth - plotLeft;\n },\n // Connectors of each side end in the same x position. Labels are\n // aligned to them. Left edge of the widest left-half label touches the\n // left edge of the plot area. Right edge of the widest right-half label\n // touches the right edge of the plot area.\n alignToConnectors: function (points, half, plotWidth, plotLeft) {\n var maxDataLabelWidth = 0,\n dataLabelWidth;\n // find widest data label\n points.forEach(function (point) {\n dataLabelWidth = point.dataLabel.getBBox().width;\n if (dataLabelWidth > maxDataLabelWidth) {\n maxDataLabelWidth = dataLabelWidth;\n }\n });\n return half ? maxDataLabelWidth + plotLeft :\n plotWidth - maxDataLabelWidth - plotLeft;\n }\n };\n /**\n * Override the base drawDataLabels method by pie specific functionality\n *\n * @private\n * @function Highcharts.seriesTypes.pie#drawDataLabels\n * @return {void}\n */\n seriesTypes.pie.prototype.drawDataLabels = function () {\n var series = this,\n data = series.data,\n point,\n chart = series.chart,\n options = series.options.dataLabels || {},\n connectorPadding = options.connectorPadding,\n connectorWidth,\n plotWidth = chart.plotWidth,\n plotHeight = chart.plotHeight,\n plotLeft = chart.plotLeft,\n maxWidth = Math.round(chart.chartWidth / 3),\n connector,\n seriesCenter = series.center,\n radius = seriesCenter[2] / 2,\n centerY = seriesCenter[1],\n dataLabel,\n dataLabelWidth, \n // labelPos,\n labelPosition,\n labelHeight, \n // divide the points into right and left halves for anti collision\n halves = [\n [],\n [] // left\n ],\n x,\n y,\n visibility,\n j,\n overflow = [0, 0, 0, 0], // top, right, bottom, left\n dataLabelPositioners = series.dataLabelPositioners,\n pointDataLabelsOptions;\n // get out if not enabled\n if (!series.visible ||\n (!options.enabled &&\n !series._hasPointLabels)) {\n return;\n }\n // Reset all labels that have been shortened\n data.forEach(function (point) {\n if (point.dataLabel && point.visible && point.dataLabel.shortened) {\n point.dataLabel\n .attr({\n width: 'auto'\n }).css({\n width: 'auto',\n textOverflow: 'clip'\n });\n point.dataLabel.shortened = false;\n }\n });\n // run parent method\n CartesianSeries.prototype.drawDataLabels.apply(series);\n data.forEach(function (point) {\n if (point.dataLabel) {\n if (point.visible) { // #407, #2510\n // Arrange points for detection collision\n halves[point.half].push(point);\n // Reset positions (#4905)\n point.dataLabel._pos = null;\n // Avoid long labels squeezing the pie size too far down\n if (!defined(options.style.width) &&\n !defined(point.options.dataLabels &&\n point.options.dataLabels.style &&\n point.options.dataLabels.style.width)) {\n if (point.dataLabel.getBBox().width > maxWidth) {\n point.dataLabel.css({\n // Use a fraction of the maxWidth to avoid\n // wrapping close to the end of the string.\n width: Math.round(maxWidth * 0.7) + 'px'\n });\n point.dataLabel.shortened = true;\n }\n }\n }\n else {\n point.dataLabel = point.dataLabel.destroy();\n // Workaround to make pies destroy multiple datalabels\n // correctly. This logic needs rewriting to support multiple\n // datalabels fully.\n if (point.dataLabels && point.dataLabels.length === 1) {\n delete point.dataLabels;\n }\n }\n }\n });\n /* Loop over the points in each half, starting from the top and bottom\n * of the pie to detect overlapping labels.\n */\n halves.forEach(function (points, i) {\n var top,\n bottom,\n length = points.length,\n positions = [],\n naturalY,\n sideOverflow,\n size,\n distributionLength;\n if (!length) {\n return;\n }\n // Sort by angle\n series.sortByAngle(points, i - 0.5);\n // Only do anti-collision when we have dataLabels outside the pie\n // and have connectors. (#856)\n if (series.maxLabelDistance > 0) {\n top = Math.max(0, centerY - radius - series.maxLabelDistance);\n bottom = Math.min(centerY + radius + series.maxLabelDistance, chart.plotHeight);\n points.forEach(function (point) {\n // check if specific points' label is outside the pie\n if (point.labelDistance > 0 && point.dataLabel) {\n // point.top depends on point.labelDistance value\n // Used for calculation of y value in getX method\n point.top = Math.max(0, centerY - radius - point.labelDistance);\n point.bottom = Math.min(centerY + radius + point.labelDistance, chart.plotHeight);\n size = point.dataLabel.getBBox().height || 21;\n // point.positionsIndex is needed for getting index of\n // parameter related to specific point inside positions\n // array - not every point is in positions array.\n point.distributeBox = {\n target: point.labelPosition.natural.y -\n point.top + size / 2,\n size: size,\n rank: point.y\n };\n positions.push(point.distributeBox);\n }\n });\n distributionLength = bottom + size - top;\n H.distribute(positions, distributionLength, distributionLength / 5);\n }\n // Now the used slots are sorted, fill them up sequentially\n for (j = 0; j < length; j++) {\n point = points[j];\n // labelPos = point.labelPos;\n labelPosition = point.labelPosition;\n dataLabel = point.dataLabel;\n visibility = point.visible === false ? 'hidden' : 'inherit';\n naturalY = labelPosition.natural.y;\n y = naturalY;\n if (positions && defined(point.distributeBox)) {\n if (typeof point.distributeBox.pos === 'undefined') {\n visibility = 'hidden';\n }\n else {\n labelHeight = point.distributeBox.size;\n // Find label's y position\n y = dataLabelPositioners\n .radialDistributionY(point);\n }\n }\n // It is needed to delete point.positionIndex for\n // dynamically added points etc.\n delete point.positionIndex; // @todo unused\n // Find label's x position\n // justify is undocumented in the API - preserve support for it\n if (options.justify) {\n x = dataLabelPositioners.justify(point, radius, seriesCenter);\n }\n else {\n switch (options.alignTo) {\n case 'connectors':\n x = dataLabelPositioners.alignToConnectors(points, i, plotWidth, plotLeft);\n break;\n case 'plotEdges':\n x = dataLabelPositioners.alignToPlotEdges(dataLabel, i, plotWidth, plotLeft);\n break;\n default:\n x = dataLabelPositioners.radialDistributionX(series, point, y, naturalY);\n }\n }\n // Record the placement and visibility\n dataLabel._attr = {\n visibility: visibility,\n align: labelPosition.alignment\n };\n pointDataLabelsOptions = point.options.dataLabels || {};\n dataLabel._pos = {\n x: (x +\n pick(pointDataLabelsOptions.x, options.x) + // (#12985)\n ({\n left: connectorPadding,\n right: -connectorPadding\n }[labelPosition.alignment] || 0)),\n // 10 is for the baseline (label vs text)\n y: (y +\n pick(pointDataLabelsOptions.y, options.y) - // (#12985)\n 10)\n };\n // labelPos.x = x;\n // labelPos.y = y;\n labelPosition.final.x = x;\n labelPosition.final.y = y;\n // Detect overflowing data labels\n if (pick(options.crop, true)) {\n dataLabelWidth = dataLabel.getBBox().width;\n sideOverflow = null;\n // Overflow left\n if (x - dataLabelWidth < connectorPadding &&\n i === 1 // left half\n ) {\n sideOverflow = Math.round(dataLabelWidth - x + connectorPadding);\n overflow[3] = Math.max(sideOverflow, overflow[3]);\n // Overflow right\n }\n else if (x + dataLabelWidth > plotWidth - connectorPadding &&\n i === 0 // right half\n ) {\n sideOverflow = Math.round(x + dataLabelWidth - plotWidth + connectorPadding);\n overflow[1] = Math.max(sideOverflow, overflow[1]);\n }\n // Overflow top\n if (y - labelHeight / 2 < 0) {\n overflow[0] = Math.max(Math.round(-y + labelHeight / 2), overflow[0]);\n // Overflow left\n }\n else if (y + labelHeight / 2 > plotHeight) {\n overflow[2] = Math.max(Math.round(y + labelHeight / 2 - plotHeight), overflow[2]);\n }\n dataLabel.sideOverflow = sideOverflow;\n }\n } // for each point\n }); // for each half\n // Do not apply the final placement and draw the connectors until we\n // have verified that labels are not spilling over.\n if (arrayMax(overflow) === 0 ||\n this.verifyDataLabelOverflow(overflow)) {\n // Place the labels in the final position\n this.placeDataLabels();\n this.points.forEach(function (point) {\n // #8864: every connector can have individual options\n pointDataLabelsOptions =\n merge(options, point.options.dataLabels);\n connectorWidth =\n pick(pointDataLabelsOptions.connectorWidth, 1);\n // Draw the connector\n if (connectorWidth) {\n var isNew;\n connector = point.connector;\n dataLabel = point.dataLabel;\n if (dataLabel &&\n dataLabel._pos &&\n point.visible &&\n point.labelDistance > 0) {\n visibility = dataLabel._attr.visibility;\n isNew = !connector;\n if (isNew) {\n point.connector = connector = chart.renderer\n .path()\n .addClass('highcharts-data-label-connector ' +\n ' highcharts-color-' + point.colorIndex +\n (point.className ?\n ' ' + point.className :\n ''))\n .add(series.dataLabelsGroup);\n if (!chart.styledMode) {\n connector.attr({\n 'stroke-width': connectorWidth,\n 'stroke': (pointDataLabelsOptions.connectorColor ||\n point.color ||\n '#666666')\n });\n }\n }\n connector[isNew ? 'attr' : 'animate']({\n d: point.getConnectorPath()\n });\n connector.attr('visibility', visibility);\n }\n else if (connector) {\n point.connector = connector.destroy();\n }\n }\n });\n }\n };\n /**\n * Extendable method for getting the path of the connector between the data\n * label and the pie slice.\n *\n * @private\n * @function Highcharts.seriesTypes.pie#connectorPath\n *\n * @param {*} labelPos\n *\n * @return {Highcharts.SVGPathArray}\n */\n // TODO: depracated - remove it\n /*\n seriesTypes.pie.prototype.connectorPath = function (labelPos) {\n var x = labelPos.x,\n y = labelPos.y;\n return pick(this.options.dataLabels.softConnector, true) ? [\n 'M',\n // end of the string at the label\n x + (labelPos[6] === 'left' ? 5 : -5), y,\n 'C',\n x, y, // first break, next to the label\n 2 * labelPos[2] - labelPos[4], 2 * labelPos[3] - labelPos[5],\n labelPos[2], labelPos[3], // second break\n 'L',\n labelPos[4], labelPos[5] // base\n ] : [\n 'M',\n // end of the string at the label\n x + (labelPos[6] === 'left' ? 5 : -5), y,\n 'L',\n labelPos[2], labelPos[3], // second break\n 'L',\n labelPos[4], labelPos[5] // base\n ];\n };\n */\n /**\n * Perform the final placement of the data labels after we have verified\n * that they fall within the plot area.\n *\n * @private\n * @function Highcharts.seriesTypes.pie#placeDataLabels\n * @return {void}\n */\n seriesTypes.pie.prototype.placeDataLabels = function () {\n this.points.forEach(function (point) {\n var dataLabel = point.dataLabel,\n _pos;\n if (dataLabel && point.visible) {\n _pos = dataLabel._pos;\n if (_pos) {\n // Shorten data labels with ellipsis if they still overflow\n // after the pie has reached minSize (#223).\n if (dataLabel.sideOverflow) {\n dataLabel._attr.width =\n Math.max(dataLabel.getBBox().width -\n dataLabel.sideOverflow, 0);\n dataLabel.css({\n width: dataLabel._attr.width + 'px',\n textOverflow: ((this.options.dataLabels.style || {})\n .textOverflow ||\n 'ellipsis')\n });\n dataLabel.shortened = true;\n }\n dataLabel.attr(dataLabel._attr);\n dataLabel[dataLabel.moved ? 'animate' : 'attr'](_pos);\n dataLabel.moved = true;\n }\n else if (dataLabel) {\n dataLabel.attr({ y: -9999 });\n }\n }\n // Clear for update\n delete point.distributeBox;\n }, this);\n };\n seriesTypes.pie.prototype.alignDataLabel = noop;\n /**\n * Verify whether the data labels are allowed to draw, or we should run more\n * translation and data label positioning to keep them inside the plot area.\n * Returns true when data labels are ready to draw.\n *\n * @private\n * @function Highcharts.seriesTypes.pie#verifyDataLabelOverflow\n * @param {Array} overflow\n * @return {boolean}\n */\n seriesTypes.pie.prototype.verifyDataLabelOverflow = function (overflow) {\n var center = this.center,\n options = this.options,\n centerOption = options.center,\n minSize = options.minSize || 80,\n newSize = minSize, \n // If a size is set, return true and don't try to shrink the pie\n // to fit the labels.\n ret = options.size !== null;\n if (!ret) {\n // Handle horizontal size and center\n if (centerOption[0] !== null) { // Fixed center\n newSize = Math.max(center[2] -\n Math.max(overflow[1], overflow[3]), minSize);\n }\n else { // Auto center\n newSize = Math.max(\n // horizontal overflow\n center[2] - overflow[1] - overflow[3], minSize);\n // horizontal center\n center[0] += (overflow[3] - overflow[1]) / 2;\n }\n // Handle vertical size and center\n if (centerOption[1] !== null) { // Fixed center\n newSize = clamp(newSize, minSize, center[2] - Math.max(overflow[0], overflow[2]));\n }\n else { // Auto center\n newSize = clamp(newSize, minSize, \n // vertical overflow\n center[2] - overflow[0] - overflow[2]);\n // vertical center\n center[1] += (overflow[0] - overflow[2]) / 2;\n }\n // If the size must be decreased, we need to run translate and\n // drawDataLabels again\n if (newSize < center[2]) {\n center[2] = newSize;\n center[3] = Math.min(// #3632\n relativeLength(options.innerSize || 0, newSize), newSize);\n this.translate(center);\n if (this.drawDataLabels) {\n this.drawDataLabels();\n }\n // Else, return true to indicate that the pie and its labels is\n // within the plot area\n }\n else {\n ret = true;\n }\n }\n return ret;\n };\n }\n if (seriesTypes.column) {\n /**\n * Override the basic data label alignment by adjusting for the position of\n * the column.\n *\n * @private\n * @function Highcharts.seriesTypes.column#alignDataLabel\n * @param {Highcharts.Point} point\n * @param {Highcharts.SVGElement} dataLabel\n * @param {Highcharts.DataLabelsOptions} options\n * @param {Highcharts.BBoxObject} alignTo\n * @param {boolean} [isNew]\n * @return {void}\n */\n seriesTypes.column.prototype.alignDataLabel = function (point, dataLabel, options, alignTo, isNew) {\n var inverted = this.chart.inverted,\n series = point.series, \n // data label box for alignment\n dlBox = point.dlBox || point.shapeArgs,\n below = pick(point.below, // range series\n point.plotY >\n pick(this.translatedThreshold,\n series.yAxis.len)), \n // draw it inside the box?\n inside = pick(options.inside, !!this.options.stacking),\n overshoot;\n // Align to the column itself, or the top of it\n if (dlBox) { // Area range uses this method but not alignTo\n alignTo = merge(dlBox);\n if (alignTo.y < 0) {\n alignTo.height += alignTo.y;\n alignTo.y = 0;\n }\n // If parts of the box overshoots outside the plot area, modify the\n // box to center the label inside\n overshoot = alignTo.y + alignTo.height - series.yAxis.len;\n if (overshoot > 0 && overshoot < alignTo.height) {\n alignTo.height -= overshoot;\n }\n if (inverted) {\n alignTo = {\n x: series.yAxis.len - alignTo.y - alignTo.height,\n y: series.xAxis.len - alignTo.x - alignTo.width,\n width: alignTo.height,\n height: alignTo.width\n };\n }\n // Compute the alignment box\n if (!inside) {\n if (inverted) {\n alignTo.x += below ? 0 : alignTo.width;\n alignTo.width = 0;\n }\n else {\n alignTo.y += below ? alignTo.height : 0;\n alignTo.height = 0;\n }\n }\n }\n // When alignment is undefined (typically columns and bars), display the\n // individual point below or above the point depending on the threshold\n options.align = pick(options.align, !inverted || inside ? 'center' : below ? 'right' : 'left');\n options.verticalAlign = pick(options.verticalAlign, inverted || inside ? 'middle' : below ? 'top' : 'bottom');\n // Call the parent method\n CartesianSeries.prototype.alignDataLabel.call(this, point, dataLabel, options, alignTo, isNew);\n // If label was justified and we have contrast, set it:\n if (options.inside && point.contrastColor) {\n dataLabel.css({\n color: point.contrastColor\n });\n }\n };\n }\n\n });\n _registerModule(_modules, 'Extensions/OverlappingDataLabels.js', [_modules['Core/Chart/Chart.js'], _modules['Core/Utilities.js']], function (Chart, U) {\n /* *\n *\n * Highcharts module to hide overlapping data labels.\n * This module is included in Highcharts.\n *\n * (c) 2009-2020 Torstein Honsi\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n var addEvent = U.addEvent,\n fireEvent = U.fireEvent,\n isArray = U.isArray,\n isNumber = U.isNumber,\n objectEach = U.objectEach,\n pick = U.pick;\n /**\n * Internal type\n * @private\n */\n /* eslint-disable no-invalid-this */\n // Collect potensial overlapping data labels. Stack labels probably don't need\n // to be considered because they are usually accompanied by data labels that lie\n // inside the columns.\n addEvent(Chart, 'render', function collectAndHide() {\n var labels = [];\n // Consider external label collectors\n (this.labelCollectors || []).forEach(function (collector) {\n labels = labels.concat(collector());\n });\n (this.yAxis || []).forEach(function (yAxis) {\n if (yAxis.stacking &&\n yAxis.options.stackLabels &&\n !yAxis.options.stackLabels.allowOverlap) {\n objectEach(yAxis.stacking.stacks, function (stack) {\n objectEach(stack, function (stackItem) {\n labels.push(stackItem.label);\n });\n });\n }\n });\n (this.series || []).forEach(function (series) {\n var dlOptions = series.options.dataLabels;\n if (series.visible &&\n !(dlOptions.enabled === false && !series._hasPointLabels)) { // #3866\n (series.nodes || series.points).forEach(function (point) {\n if (point.visible) {\n var dataLabels = (isArray(point.dataLabels) ?\n point.dataLabels :\n (point.dataLabel ? [point.dataLabel] : []));\n dataLabels.forEach(function (label) {\n var options = label.options;\n label.labelrank = pick(options.labelrank, point.labelrank, point.shapeArgs && point.shapeArgs.height); // #4118\n if (!options.allowOverlap) {\n labels.push(label);\n }\n });\n }\n });\n }\n });\n this.hideOverlappingLabels(labels);\n });\n /**\n * Hide overlapping labels. Labels are moved and faded in and out on zoom to\n * provide a smooth visual imression.\n *\n * @private\n * @function Highcharts.Chart#hideOverlappingLabels\n * @param {Array} labels\n * Rendered data labels\n * @requires modules/overlapping-datalabels\n */\n Chart.prototype.hideOverlappingLabels = function (labels) {\n var chart = this,\n len = labels.length,\n ren = chart.renderer,\n label,\n i,\n j,\n label1,\n label2,\n box1,\n box2,\n isLabelAffected = false,\n isIntersectRect = function (box1,\n box2) {\n return !(box2.x >= box1.x + box1.width ||\n box2.x + box2.width <= box1.x ||\n box2.y >= box1.y + box1.height ||\n box2.y + box2.height <= box1.y);\n }, \n // Get the box with its position inside the chart, as opposed to getBBox\n // that only reports the position relative to the parent.\n getAbsoluteBox = function (label) {\n var pos,\n parent,\n bBox, \n // Substract the padding if no background or border (#4333)\n padding = label.box ? 0 : (label.padding || 0),\n lineHeightCorrection = 0,\n xOffset = 0,\n boxWidth,\n alignValue;\n if (label &&\n (!label.alignAttr || label.placed)) {\n pos = label.alignAttr || {\n x: label.attr('x'),\n y: label.attr('y')\n };\n parent = label.parentGroup;\n // Get width and height if pure text nodes (stack labels)\n if (!label.width) {\n bBox = label.getBBox();\n label.width = bBox.width;\n label.height = bBox.height;\n // Labels positions are computed from top left corner, so\n // we need to substract the text height from text nodes too.\n lineHeightCorrection = ren\n .fontMetrics(null, label.element).h;\n }\n boxWidth = label.width - 2 * padding;\n alignValue = {\n left: '0',\n center: '0.5',\n right: '1'\n }[label.alignValue];\n if (alignValue) {\n xOffset = +alignValue * boxWidth;\n }\n else if (isNumber(label.x) && Math.round(label.x) !== label.translateX) {\n xOffset = label.x - label.translateX;\n }\n return {\n x: pos.x + (parent.translateX || 0) + padding -\n (xOffset || 0),\n y: pos.y + (parent.translateY || 0) + padding -\n lineHeightCorrection,\n width: label.width - 2 * padding,\n height: label.height - 2 * padding\n };\n }\n };\n for (i = 0; i < len; i++) {\n label = labels[i];\n if (label) {\n // Mark with initial opacity\n label.oldOpacity = label.opacity;\n label.newOpacity = 1;\n label.absoluteBox = getAbsoluteBox(label);\n }\n }\n // Prevent a situation in a gradually rising slope, that each label will\n // hide the previous one because the previous one always has lower rank.\n labels.sort(function (a, b) {\n return (b.labelrank || 0) - (a.labelrank || 0);\n });\n // Detect overlapping labels\n for (i = 0; i < len; i++) {\n label1 = labels[i];\n box1 = label1 && label1.absoluteBox;\n for (j = i + 1; j < len; ++j) {\n label2 = labels[j];\n box2 = label2 && label2.absoluteBox;\n if (box1 &&\n box2 &&\n label1 !== label2 && // #6465, polar chart with connectEnds\n label1.newOpacity !== 0 &&\n label2.newOpacity !== 0) {\n if (isIntersectRect(box1, box2)) {\n (label1.labelrank < label2.labelrank ? label1 : label2)\n .newOpacity = 0;\n }\n }\n }\n }\n // Hide or show\n labels.forEach(function (label) {\n var complete,\n newOpacity;\n if (label) {\n newOpacity = label.newOpacity;\n if (label.oldOpacity !== newOpacity) {\n // Make sure the label is completely hidden to avoid catching\n // clicks (#4362)\n if (label.alignAttr && label.placed) { // data labels\n label[newOpacity ? 'removeClass' : 'addClass']('highcharts-data-label-hidden');\n complete = function () {\n if (!chart.styledMode) {\n label.css({ pointerEvents: newOpacity ? 'auto' : 'none' });\n }\n label.visibility = newOpacity ? 'inherit' : 'hidden';\n };\n isLabelAffected = true;\n // Animate or set the opacity\n label.alignAttr.opacity = newOpacity;\n label[label.isOld ? 'animate' : 'attr'](label.alignAttr, null, complete);\n fireEvent(chart, 'afterHideOverlappingLabel');\n }\n else { // other labels, tick labels\n label.attr({\n opacity: newOpacity\n });\n }\n }\n label.isOld = true;\n }\n });\n if (isLabelAffected) {\n fireEvent(chart, 'afterHideAllOverlappingLabels');\n }\n };\n\n });\n _registerModule(_modules, 'Core/Interaction.js', [_modules['Core/Series/Series.js'], _modules['Core/Chart/Chart.js'], _modules['Core/Globals.js'], _modules['Core/Legend.js'], _modules['Series/LineSeries.js'], _modules['Core/Options.js'], _modules['Core/Series/Point.js'], _modules['Core/Utilities.js']], function (BaseSeries, Chart, H, Legend, LineSeries, O, Point, U) {\n /* *\n *\n * (c) 2010-2020 Torstein Honsi\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n var seriesTypes = BaseSeries.seriesTypes;\n var hasTouch = H.hasTouch,\n svg = H.svg;\n var defaultOptions = O.defaultOptions;\n var addEvent = U.addEvent,\n createElement = U.createElement,\n css = U.css,\n defined = U.defined,\n extend = U.extend,\n fireEvent = U.fireEvent,\n isArray = U.isArray,\n isFunction = U.isFunction,\n isNumber = U.isNumber,\n isObject = U.isObject,\n merge = U.merge,\n objectEach = U.objectEach,\n pick = U.pick;\n /**\n * @interface Highcharts.PointEventsOptionsObject\n */ /**\n * Fires when the point is selected either programmatically or following a click\n * on the point. One parameter, `event`, is passed to the function. Returning\n * `false` cancels the operation.\n * @name Highcharts.PointEventsOptionsObject#select\n * @type {Highcharts.PointSelectCallbackFunction|undefined}\n */ /**\n * Fires when the point is unselected either programmatically or following a\n * click on the point. One parameter, `event`, is passed to the function.\n * Returning `false` cancels the operation.\n * @name Highcharts.PointEventsOptionsObject#unselect\n * @type {Highcharts.PointUnselectCallbackFunction|undefined}\n */\n /**\n * Information about the select/unselect event.\n *\n * @interface Highcharts.PointInteractionEventObject\n * @extends global.Event\n */ /**\n * @name Highcharts.PointInteractionEventObject#accumulate\n * @type {boolean}\n */\n /**\n * Gets fired when the point is selected either programmatically or following a\n * click on the point.\n *\n * @callback Highcharts.PointSelectCallbackFunction\n *\n * @param {Highcharts.Point} this\n * Point where the event occured.\n *\n * @param {Highcharts.PointInteractionEventObject} event\n * Event that occured.\n */\n /**\n * Fires when the point is unselected either programmatically or following a\n * click on the point.\n *\n * @callback Highcharts.PointUnselectCallbackFunction\n *\n * @param {Highcharts.Point} this\n * Point where the event occured.\n *\n * @param {Highcharts.PointInteractionEventObject} event\n * Event that occured.\n */\n ''; // detach doclets above\n /* eslint-disable valid-jsdoc */\n /**\n * TrackerMixin for points and graphs.\n *\n * @private\n * @mixin Highcharts.TrackerMixin\n */\n var TrackerMixin = H.TrackerMixin = {\n /**\n * Draw the tracker for a point.\n *\n * @private\n * @function Highcharts.TrackerMixin.drawTrackerPoint\n * @param {Highcharts.Series} this\n * @fires Highcharts.Series#event:afterDrawTracker\n */\n drawTrackerPoint: function () {\n var series = this,\n chart = series.chart,\n pointer = chart.pointer,\n onMouseOver = function (e) {\n var point = pointer.getPointFromEvent(e);\n // undefined on graph in scatterchart\n if (typeof point !== 'undefined') {\n pointer.isDirectTouch = true;\n point.onMouseOver(e);\n }\n }, dataLabels;\n // Add reference to the point\n series.points.forEach(function (point) {\n dataLabels = (isArray(point.dataLabels) ?\n point.dataLabels :\n (point.dataLabel ? [point.dataLabel] : []));\n if (point.graphic) {\n point.graphic.element.point = point;\n }\n dataLabels.forEach(function (dataLabel) {\n if (dataLabel.div) {\n dataLabel.div.point = point;\n }\n else {\n dataLabel.element.point = point;\n }\n });\n });\n // Add the event listeners, we need to do this only once\n if (!series._hasTracking) {\n series.trackerGroups.forEach(function (key) {\n if (series[key]) {\n // we don't always have dataLabelsGroup\n series[key]\n .addClass('highcharts-tracker')\n .on('mouseover', onMouseOver)\n .on('mouseout', function (e) {\n pointer.onTrackerMouseOut(e);\n });\n if (hasTouch) {\n series[key].on('touchstart', onMouseOver);\n }\n if (!chart.styledMode && series.options.cursor) {\n series[key]\n .css(css)\n .css({ cursor: series.options.cursor });\n }\n }\n });\n series._hasTracking = true;\n }\n fireEvent(this, 'afterDrawTracker');\n },\n /**\n * Draw the tracker object that sits above all data labels and markers to\n * track mouse events on the graph or points. For the line type charts\n * the tracker uses the same graphPath, but with a greater stroke width\n * for better control.\n *\n * @private\n * @function Highcharts.TrackerMixin.drawTrackerGraph\n * @param {Highcharts.Series} this\n * @fires Highcharts.Series#event:afterDrawTracker\n */\n drawTrackerGraph: function () {\n var series = this,\n options = series.options,\n trackByArea = options.trackByArea,\n trackerPath = [].concat(trackByArea ?\n series.areaPath :\n series.graphPath), \n // trackerPathLength = trackerPath.length,\n chart = series.chart,\n pointer = chart.pointer,\n renderer = chart.renderer,\n snap = chart.options.tooltip.snap,\n tracker = series.tracker,\n i,\n onMouseOver = function (e) {\n if (chart.hoverSeries !== series) {\n series.onMouseOver();\n }\n }, \n /*\n * Empirical lowest possible opacities for TRACKER_FILL for an\n * element to stay invisible but clickable\n * IE6: 0.002\n * IE7: 0.002\n * IE8: 0.002\n * IE9: 0.00000000001 (unlimited)\n * IE10: 0.0001 (exporting only)\n * FF: 0.00000000001 (unlimited)\n * Chrome: 0.000001\n * Safari: 0.000001\n * Opera: 0.00000000001 (unlimited)\n */\n TRACKER_FILL = 'rgba(192,192,192,' + (svg ? 0.0001 : 0.002) + ')';\n // Draw the tracker\n if (tracker) {\n tracker.attr({ d: trackerPath });\n }\n else if (series.graph) { // create\n series.tracker = renderer.path(trackerPath)\n .attr({\n visibility: series.visible ? 'visible' : 'hidden',\n zIndex: 2\n })\n .addClass(trackByArea ?\n 'highcharts-tracker-area' :\n 'highcharts-tracker-line')\n .add(series.group);\n if (!chart.styledMode) {\n series.tracker.attr({\n 'stroke-linecap': 'round',\n 'stroke-linejoin': 'round',\n stroke: TRACKER_FILL,\n fill: trackByArea ? TRACKER_FILL : 'none',\n 'stroke-width': series.graph.strokeWidth() +\n (trackByArea ? 0 : 2 * snap)\n });\n }\n // The tracker is added to the series group, which is clipped, but\n // is covered by the marker group. So the marker group also needs to\n // capture events.\n [series.tracker, series.markerGroup].forEach(function (tracker) {\n tracker.addClass('highcharts-tracker')\n .on('mouseover', onMouseOver)\n .on('mouseout', function (e) {\n pointer.onTrackerMouseOut(e);\n });\n if (options.cursor && !chart.styledMode) {\n tracker.css({ cursor: options.cursor });\n }\n if (hasTouch) {\n tracker.on('touchstart', onMouseOver);\n }\n });\n }\n fireEvent(this, 'afterDrawTracker');\n }\n };\n /* End TrackerMixin */\n // Add tracking event listener to the series group, so the point graphics\n // themselves act as trackers\n if (seriesTypes.column) {\n /**\n * @private\n * @borrows Highcharts.TrackerMixin.drawTrackerPoint as Highcharts.seriesTypes.column#drawTracker\n */\n seriesTypes.column.prototype.drawTracker = TrackerMixin.drawTrackerPoint;\n }\n if (seriesTypes.pie) {\n /**\n * @private\n * @borrows Highcharts.TrackerMixin.drawTrackerPoint as Highcharts.seriesTypes.pie#drawTracker\n */\n seriesTypes.pie.prototype.drawTracker = TrackerMixin.drawTrackerPoint;\n }\n if (seriesTypes.scatter) {\n /**\n * @private\n * @borrows Highcharts.TrackerMixin.drawTrackerPoint as Highcharts.seriesTypes.scatter#drawTracker\n */\n seriesTypes.scatter.prototype.drawTracker = TrackerMixin.drawTrackerPoint;\n }\n // Extend Legend for item events.\n extend(Legend.prototype, {\n /**\n * @private\n * @function Highcharts.Legend#setItemEvents\n * @param {Highcharts.BubbleLegend|Point|Highcharts.Series} item\n * @param {Highcharts.SVGElement} legendItem\n * @param {boolean} [useHTML=false]\n * @fires Highcharts.Point#event:legendItemClick\n * @fires Highcharts.Series#event:legendItemClick\n */\n setItemEvents: function (item, legendItem, useHTML) {\n var legend = this,\n boxWrapper = legend.chart.renderer.boxWrapper,\n isPoint = item instanceof Point,\n activeClass = 'highcharts-legend-' +\n (isPoint ? 'point' : 'series') + '-active',\n styledMode = legend.chart.styledMode, \n // When `useHTML`, the symbol is rendered in other group, so\n // we need to apply events listeners to both places\n legendItems = useHTML ?\n [legendItem,\n item.legendSymbol] :\n [item.legendGroup];\n // Set the events on the item group, or in case of useHTML, the item\n // itself (#1249)\n legendItems.forEach(function (element) {\n if (element) {\n element\n .on('mouseover', function () {\n if (item.visible) {\n legend.allItems.forEach(function (inactiveItem) {\n if (item !== inactiveItem) {\n inactiveItem.setState('inactive', !isPoint);\n }\n });\n }\n item.setState('hover');\n // A CSS class to dim or hide other than the hovered\n // series.\n // Works only if hovered series is visible (#10071).\n if (item.visible) {\n boxWrapper.addClass(activeClass);\n }\n if (!styledMode) {\n legendItem.css(legend.options.itemHoverStyle);\n }\n })\n .on('mouseout', function () {\n if (!legend.chart.styledMode) {\n legendItem.css(merge(item.visible ?\n legend.itemStyle :\n legend.itemHiddenStyle));\n }\n legend.allItems.forEach(function (inactiveItem) {\n if (item !== inactiveItem) {\n inactiveItem.setState('', !isPoint);\n }\n });\n // A CSS class to dim or hide other than the hovered\n // series.\n boxWrapper.removeClass(activeClass);\n item.setState();\n })\n .on('click', function (event) {\n var strLegendItemClick = 'legendItemClick',\n fnLegendItemClick = function () {\n if (item.setVisible) {\n item.setVisible();\n }\n // Reset inactive state\n legend.allItems.forEach(function (inactiveItem) {\n if (item !== inactiveItem) {\n inactiveItem.setState(item.visible ? 'inactive' : '', !isPoint);\n }\n });\n };\n // A CSS class to dim or hide other than the hovered\n // series. Event handling in iOS causes the activeClass\n // to be added prior to click in some cases (#7418).\n boxWrapper.removeClass(activeClass);\n // Pass over the click/touch event. #4.\n event = {\n browserEvent: event\n };\n // click the name or symbol\n if (item.firePointEvent) { // point\n item.firePointEvent(strLegendItemClick, event, fnLegendItemClick);\n }\n else {\n fireEvent(item, strLegendItemClick, event, fnLegendItemClick);\n }\n });\n }\n });\n },\n /**\n * @private\n * @function Highcharts.Legend#createCheckboxForItem\n * @param {Highcharts.BubbleLegend|Point|Highcharts.Series} item\n * @fires Highcharts.Series#event:checkboxClick\n */\n createCheckboxForItem: function (item) {\n var legend = this;\n item.checkbox = createElement('input', {\n type: 'checkbox',\n className: 'highcharts-legend-checkbox',\n checked: item.selected,\n defaultChecked: item.selected // required by IE7\n }, legend.options.itemCheckboxStyle, legend.chart.container);\n addEvent(item.checkbox, 'click', function (event) {\n var target = event.target;\n fireEvent(item.series || item, 'checkboxClick', {\n checked: target.checked,\n item: item\n }, function () {\n item.select();\n });\n });\n }\n });\n // Extend the Chart object with interaction\n extend(Chart.prototype, /** @lends Chart.prototype */ {\n /**\n * Display the zoom button, so users can reset zoom to the default view\n * settings.\n *\n * @function Highcharts.Chart#showResetZoom\n *\n * @fires Highcharts.Chart#event:afterShowResetZoom\n * @fires Highcharts.Chart#event:beforeShowResetZoom\n */\n showResetZoom: function () {\n var chart = this,\n lang = defaultOptions.lang,\n btnOptions = chart.options.chart.resetZoomButton,\n theme = btnOptions.theme,\n states = theme.states,\n alignTo = (btnOptions.relativeTo === 'chart' ||\n btnOptions.relativeTo === 'spaceBox' ?\n null :\n 'plotBox');\n /**\n * @private\n */\n function zoomOut() {\n chart.zoomOut();\n }\n fireEvent(this, 'beforeShowResetZoom', null, function () {\n chart.resetZoomButton = chart.renderer\n .button(lang.resetZoom, null, null, zoomOut, theme, states && states.hover)\n .attr({\n align: btnOptions.position.align,\n title: lang.resetZoomTitle\n })\n .addClass('highcharts-reset-zoom')\n .add()\n .align(btnOptions.position, false, alignTo);\n });\n fireEvent(this, 'afterShowResetZoom');\n },\n /**\n * Zoom the chart out after a user has zoomed in. See also\n * [Axis.setExtremes](/class-reference/Highcharts.Axis#setExtremes).\n *\n * @function Highcharts.Chart#zoomOut\n *\n * @fires Highcharts.Chart#event:selection\n */\n zoomOut: function () {\n fireEvent(this, 'selection', { resetSelection: true }, this.zoom);\n },\n /**\n * Zoom into a given portion of the chart given by axis coordinates.\n *\n * @private\n * @function Highcharts.Chart#zoom\n * @param {Highcharts.SelectEventObject} event\n */\n zoom: function (event) {\n var chart = this,\n hasZoomed,\n pointer = chart.pointer,\n displayButton = false,\n mouseDownPos = chart.inverted ? pointer.mouseDownX : pointer.mouseDownY,\n resetZoomButton;\n // If zoom is called with no arguments, reset the axes\n if (!event || event.resetSelection) {\n chart.axes.forEach(function (axis) {\n hasZoomed = axis.zoom();\n });\n pointer.initiated = false; // #6804\n }\n else { // else, zoom in on all axes\n event.xAxis.concat(event.yAxis).forEach(function (axisData) {\n var axis = axisData.axis,\n axisStartPos = chart.inverted ? axis.left : axis.top,\n axisEndPos = chart.inverted ?\n axisStartPos + axis.width : axisStartPos + axis.height,\n isXAxis = axis.isXAxis,\n isWithinPane = false;\n // Check if zoomed area is within the pane (#1289).\n // In case of multiple panes only one pane should be zoomed.\n if ((!isXAxis &&\n mouseDownPos >= axisStartPos &&\n mouseDownPos <= axisEndPos) ||\n isXAxis ||\n !defined(mouseDownPos)) {\n isWithinPane = true;\n }\n // don't zoom more than minRange\n if (pointer[isXAxis ? 'zoomX' : 'zoomY'] && isWithinPane) {\n hasZoomed = axis.zoom(axisData.min, axisData.max);\n if (axis.displayBtn) {\n displayButton = true;\n }\n }\n });\n }\n // Show or hide the Reset zoom button\n resetZoomButton = chart.resetZoomButton;\n if (displayButton && !resetZoomButton) {\n chart.showResetZoom();\n }\n else if (!displayButton && isObject(resetZoomButton)) {\n chart.resetZoomButton = resetZoomButton.destroy();\n }\n // Redraw\n if (hasZoomed) {\n chart.redraw(pick(chart.options.chart.animation, event && event.animation, chart.pointCount < 100));\n }\n },\n /**\n * Pan the chart by dragging the mouse across the pane. This function is\n * called on mouse move, and the distance to pan is computed from chartX\n * compared to the first chartX position in the dragging operation.\n *\n * @private\n * @function Highcharts.Chart#pan\n * @param {Highcharts.PointerEventObject} e\n * @param {string} panning\n */\n pan: function (e, panning) {\n var chart = this,\n hoverPoints = chart.hoverPoints,\n panningOptions,\n chartOptions = chart.options.chart,\n hasMapNavigation = chart.options.mapNavigation &&\n chart.options.mapNavigation.enabled,\n doRedraw,\n type;\n if (typeof panning === 'object') {\n panningOptions = panning;\n }\n else {\n panningOptions = {\n enabled: panning,\n type: 'x'\n };\n }\n if (chartOptions && chartOptions.panning) {\n chartOptions.panning = panningOptions;\n }\n type = panningOptions.type;\n fireEvent(this, 'pan', { originalEvent: e }, function () {\n // remove active points for shared tooltip\n if (hoverPoints) {\n hoverPoints.forEach(function (point) {\n point.setState();\n });\n }\n // panning axis mapping\n var xy = [1]; // x\n if (type === 'xy') {\n xy = [1, 0];\n }\n else if (type === 'y') {\n xy = [0];\n }\n xy.forEach(function (isX) {\n var axis = chart[isX ? 'xAxis' : 'yAxis'][0], horiz = axis.horiz, mousePos = e[horiz ? 'chartX' : 'chartY'], mouseDown = horiz ? 'mouseDownX' : 'mouseDownY', startPos = chart[mouseDown], halfPointRange = (axis.pointRange || 0) / 2, pointRangeDirection = (axis.reversed && !chart.inverted) ||\n (!axis.reversed && chart.inverted) ?\n -1 :\n 1, extremes = axis.getExtremes(), panMin = axis.toValue(startPos - mousePos, true) +\n halfPointRange * pointRangeDirection, panMax = axis.toValue(startPos + axis.len - mousePos, true) -\n halfPointRange * pointRangeDirection, flipped = panMax < panMin, newMin = flipped ? panMax : panMin, newMax = flipped ? panMin : panMax, hasVerticalPanning = axis.hasVerticalPanning(), paddedMin, paddedMax, spill, panningState = axis.panningState;\n // General calculations of panning state.\n // This is related to using vertical panning. (#11315).\n axis.series.forEach(function (series) {\n if (hasVerticalPanning &&\n !isX && (!panningState || panningState.isDirty)) {\n var processedData = series.getProcessedData(true),\n dataExtremes = series.getExtremes(processedData.yData,\n true);\n if (!panningState) {\n panningState = {\n startMin: Number.MAX_VALUE,\n startMax: -Number.MAX_VALUE\n };\n }\n if (isNumber(dataExtremes.dataMin) &&\n isNumber(dataExtremes.dataMax)) {\n panningState.startMin = Math.min(dataExtremes.dataMin, panningState.startMin);\n panningState.startMax = Math.max(dataExtremes.dataMax, panningState.startMax);\n }\n }\n });\n paddedMin = Math.min(pick(panningState === null || panningState === void 0 ? void 0 : panningState.startMin, extremes.dataMin), halfPointRange ?\n extremes.min :\n axis.toValue(axis.toPixels(extremes.min) -\n axis.minPixelPadding));\n paddedMax = Math.max(pick(panningState === null || panningState === void 0 ? void 0 : panningState.startMax, extremes.dataMax), halfPointRange ?\n extremes.max :\n axis.toValue(axis.toPixels(extremes.max) +\n axis.minPixelPadding));\n axis.panningState = panningState;\n // It is not necessary to calculate extremes on ordinal axis,\n // because they are already calculated, so we don't want to\n // override them.\n if (!axis.isOrdinal) {\n // If the new range spills over, either to the min or max,\n // adjust the new range.\n spill = paddedMin - newMin;\n if (spill > 0) {\n newMax += spill;\n newMin = paddedMin;\n }\n spill = newMax - paddedMax;\n if (spill > 0) {\n newMax = paddedMax;\n newMin -= spill;\n }\n // Set new extremes if they are actually new\n if (axis.series.length &&\n newMin !== extremes.min &&\n newMax !== extremes.max &&\n newMin >= paddedMin &&\n newMax <= paddedMax) {\n axis.setExtremes(newMin, newMax, false, false, { trigger: 'pan' });\n if (!chart.resetZoomButton &&\n !hasMapNavigation &&\n // Show reset zoom button only when both newMin and\n // newMax values are between padded axis range.\n newMin !== paddedMin &&\n newMax !== paddedMax &&\n type.match('y')) {\n chart.showResetZoom();\n axis.displayBtn = false;\n }\n doRedraw = true;\n }\n // set new reference for next run:\n chart[mouseDown] = mousePos;\n }\n });\n if (doRedraw) {\n chart.redraw(false);\n }\n css(chart.container, { cursor: 'move' });\n });\n }\n });\n // Extend the Point object with interaction\n extend(Point.prototype, /** @lends Highcharts.Point.prototype */ {\n /**\n * Toggle the selection status of a point.\n *\n * @see Highcharts.Chart#getSelectedPoints\n *\n * @sample highcharts/members/point-select/\n * Select a point from a button\n * @sample highcharts/chart/events-selection-points/\n * Select a range of points through a drag selection\n * @sample maps/series/data-id/\n * Select a point in Highmaps\n *\n * @function Highcharts.Point#select\n *\n * @param {boolean} [selected]\n * When `true`, the point is selected. When `false`, the point is\n * unselected. When `null` or `undefined`, the selection state is toggled.\n *\n * @param {boolean} [accumulate=false]\n * When `true`, the selection is added to other selected points.\n * When `false`, other selected points are deselected. Internally in\n * Highcharts, when\n * [allowPointSelect](https://api.highcharts.com/highcharts/plotOptions.series.allowPointSelect)\n * is `true`, selected points are accumulated on Control, Shift or Cmd\n * clicking the point.\n *\n * @fires Highcharts.Point#event:select\n * @fires Highcharts.Point#event:unselect\n */\n select: function (selected, accumulate) {\n var point = this,\n series = point.series,\n chart = series.chart;\n selected = pick(selected, !point.selected);\n this.selectedStaging = selected;\n // fire the event with the default handler\n point.firePointEvent(selected ? 'select' : 'unselect', { accumulate: accumulate }, function () {\n /**\n * Whether the point is selected or not.\n *\n * @see Point#select\n * @see Chart#getSelectedPoints\n *\n * @name Highcharts.Point#selected\n * @type {boolean}\n */\n point.selected = point.options.selected = selected;\n series.options.data[series.data.indexOf(point)] =\n point.options;\n point.setState(selected && 'select');\n // unselect all other points unless Ctrl or Cmd + click\n if (!accumulate) {\n chart.getSelectedPoints().forEach(function (loopPoint) {\n var loopSeries = loopPoint.series;\n if (loopPoint.selected && loopPoint !== point) {\n loopPoint.selected = loopPoint.options.selected =\n false;\n loopSeries.options.data[loopSeries.data.indexOf(loopPoint)] = loopPoint.options;\n // Programatically selecting a point should restore\n // normal state, but when click happened on other\n // point, set inactive state to match other points\n loopPoint.setState(chart.hoverPoints &&\n loopSeries.options.inactiveOtherPoints ?\n 'inactive' : '');\n loopPoint.firePointEvent('unselect');\n }\n });\n }\n });\n delete this.selectedStaging;\n },\n /**\n * Runs on mouse over the point. Called internally from mouse and touch\n * events.\n *\n * @function Highcharts.Point#onMouseOver\n *\n * @param {Highcharts.PointerEventObject} [e]\n * The event arguments.\n */\n onMouseOver: function (e) {\n var point = this,\n series = point.series,\n chart = series.chart,\n pointer = chart.pointer;\n e = e ?\n pointer.normalize(e) :\n // In cases where onMouseOver is called directly without an event\n pointer.getChartCoordinatesFromPoint(point, chart.inverted);\n pointer.runPointActions(e, point);\n },\n /**\n * Runs on mouse out from the point. Called internally from mouse and touch\n * events.\n *\n * @function Highcharts.Point#onMouseOut\n * @fires Highcharts.Point#event:mouseOut\n */\n onMouseOut: function () {\n var point = this,\n chart = point.series.chart;\n point.firePointEvent('mouseOut');\n if (!point.series.options.inactiveOtherPoints) {\n (chart.hoverPoints || []).forEach(function (p) {\n p.setState();\n });\n }\n chart.hoverPoints = chart.hoverPoint = null;\n },\n /**\n * Import events from the series' and point's options. Only do it on\n * demand, to save processing time on hovering.\n *\n * @private\n * @function Highcharts.Point#importEvents\n */\n importEvents: function () {\n if (!this.hasImportedEvents) {\n var point = this,\n options = merge(point.series.options.point,\n point.options),\n events = options.events;\n point.events = events;\n objectEach(events, function (event, eventType) {\n if (isFunction(event)) {\n addEvent(point, eventType, event);\n }\n });\n this.hasImportedEvents = true;\n }\n },\n /**\n * Set the point's state.\n *\n * @function Highcharts.Point#setState\n *\n * @param {Highcharts.PointStateValue|\"\"} [state]\n * The new state, can be one of `'hover'`, `'select'`, `'inactive'`,\n * or `''` (an empty string), `'normal'` or `undefined` to set to\n * normal state.\n * @param {boolean} [move]\n * State for animation.\n *\n * @fires Highcharts.Point#event:afterSetState\n */\n setState: function (state, move) {\n var point = this,\n series = point.series,\n previousState = point.state,\n stateOptions = (series.options.states[state || 'normal'] ||\n {}),\n markerOptions = (defaultOptions.plotOptions[series.type].marker &&\n series.options.marker),\n normalDisabled = (markerOptions && markerOptions.enabled === false),\n markerStateOptions = ((markerOptions &&\n markerOptions.states &&\n markerOptions.states[state || 'normal']) || {}),\n stateDisabled = markerStateOptions.enabled === false,\n stateMarkerGraphic = series.stateMarkerGraphic,\n pointMarker = point.marker || {},\n chart = series.chart,\n halo = series.halo,\n haloOptions,\n markerAttribs,\n pointAttribs,\n pointAttribsAnimation,\n hasMarkers = (markerOptions && series.markerAttribs),\n newSymbol;\n state = state || ''; // empty string\n if (\n // already has this state\n (state === point.state && !move) ||\n // selected points don't respond to hover\n (point.selected && state !== 'select') ||\n // series' state options is disabled\n (stateOptions.enabled === false) ||\n // general point marker's state options is disabled\n (state && (stateDisabled ||\n (normalDisabled &&\n markerStateOptions.enabled === false))) ||\n // individual point marker's state options is disabled\n (state &&\n pointMarker.states &&\n pointMarker.states[state] &&\n pointMarker.states[state].enabled === false) // #1610\n ) {\n return;\n }\n point.state = state;\n if (hasMarkers) {\n markerAttribs = series.markerAttribs(point, state);\n }\n // Apply hover styles to the existing point\n if (point.graphic) {\n if (previousState) {\n point.graphic.removeClass('highcharts-point-' + previousState);\n }\n if (state) {\n point.graphic.addClass('highcharts-point-' + state);\n }\n if (!chart.styledMode) {\n pointAttribs = series.pointAttribs(point, state);\n pointAttribsAnimation = pick(chart.options.chart.animation, stateOptions.animation);\n // Some inactive points (e.g. slices in pie) should apply\n // oppacity also for it's labels\n if (series.options.inactiveOtherPoints && pointAttribs.opacity) {\n (point.dataLabels || []).forEach(function (label) {\n if (label) {\n label.animate({\n opacity: pointAttribs.opacity\n }, pointAttribsAnimation);\n }\n });\n if (point.connector) {\n point.connector.animate({\n opacity: pointAttribs.opacity\n }, pointAttribsAnimation);\n }\n }\n point.graphic.animate(pointAttribs, pointAttribsAnimation);\n }\n if (markerAttribs) {\n point.graphic.animate(markerAttribs, pick(\n // Turn off globally:\n chart.options.chart.animation, markerStateOptions.animation, markerOptions.animation));\n }\n // Zooming in from a range with no markers to a range with markers\n if (stateMarkerGraphic) {\n stateMarkerGraphic.hide();\n }\n }\n else {\n // if a graphic is not applied to each point in the normal state,\n // create a shared graphic for the hover state\n if (state && markerStateOptions) {\n newSymbol = pointMarker.symbol || series.symbol;\n // If the point has another symbol than the previous one, throw\n // away the state marker graphic and force a new one (#1459)\n if (stateMarkerGraphic &&\n stateMarkerGraphic.currentSymbol !== newSymbol) {\n stateMarkerGraphic = stateMarkerGraphic.destroy();\n }\n // Add a new state marker graphic\n if (markerAttribs) {\n if (!stateMarkerGraphic) {\n if (newSymbol) {\n series.stateMarkerGraphic = stateMarkerGraphic =\n chart.renderer\n .symbol(newSymbol, markerAttribs.x, markerAttribs.y, markerAttribs.width, markerAttribs.height)\n .add(series.markerGroup);\n stateMarkerGraphic.currentSymbol = newSymbol;\n }\n // Move the existing graphic\n }\n else {\n stateMarkerGraphic[move ? 'animate' : 'attr']({\n x: markerAttribs.x,\n y: markerAttribs.y\n });\n }\n }\n if (!chart.styledMode && stateMarkerGraphic) {\n stateMarkerGraphic.attr(series.pointAttribs(point, state));\n }\n }\n if (stateMarkerGraphic) {\n stateMarkerGraphic[state && point.isInside ? 'show' : 'hide'](); // #2450\n stateMarkerGraphic.element.point = point; // #4310\n }\n }\n // Show me your halo\n haloOptions = stateOptions.halo;\n var markerGraphic = (point.graphic || stateMarkerGraphic);\n var markerVisibility = (markerGraphic && markerGraphic.visibility || 'inherit');\n if (haloOptions &&\n haloOptions.size &&\n markerGraphic &&\n markerVisibility !== 'hidden' &&\n !point.isCluster) {\n if (!halo) {\n series.halo = halo = chart.renderer.path()\n // #5818, #5903, #6705\n .add(markerGraphic.parentGroup);\n }\n halo.show()[move ? 'animate' : 'attr']({\n d: point.haloPath(haloOptions.size)\n });\n halo.attr({\n 'class': 'highcharts-halo highcharts-color-' +\n pick(point.colorIndex, series.colorIndex) +\n (point.className ? ' ' + point.className : ''),\n 'visibility': markerVisibility,\n 'zIndex': -1 // #4929, #8276\n });\n halo.point = point; // #6055\n if (!chart.styledMode) {\n halo.attr(extend({\n 'fill': point.color || series.color,\n 'fill-opacity': haloOptions.opacity\n }, haloOptions.attributes));\n }\n }\n else if (halo && halo.point && halo.point.haloPath) {\n // Animate back to 0 on the current halo point (#6055)\n halo.animate({ d: halo.point.haloPath(0) }, null, \n // Hide after unhovering. The `complete` callback runs in the\n // halo's context (#7681).\n halo.hide);\n }\n fireEvent(point, 'afterSetState');\n },\n /**\n * Get the path definition for the halo, which is usually a shadow-like\n * circle around the currently hovered point.\n *\n * @function Highcharts.Point#haloPath\n *\n * @param {number} size\n * The radius of the circular halo.\n *\n * @return {Highcharts.SVGPathArray}\n * The path definition.\n */\n haloPath: function (size) {\n var series = this.series,\n chart = series.chart;\n return chart.renderer.symbols.circle(Math.floor(this.plotX) - size, this.plotY - size, size * 2, size * 2);\n }\n });\n // Extend the Series object with interaction\n extend(LineSeries.prototype, /** @lends Highcharts.Series.prototype */ {\n /**\n * Runs on mouse over the series graphical items.\n *\n * @function Highcharts.Series#onMouseOver\n * @fires Highcharts.Series#event:mouseOver\n */\n onMouseOver: function () {\n var series = this,\n chart = series.chart,\n hoverSeries = chart.hoverSeries,\n pointer = chart.pointer;\n pointer.setHoverChartIndex();\n // set normal state to previous series\n if (hoverSeries && hoverSeries !== series) {\n hoverSeries.onMouseOut();\n }\n // trigger the event, but to save processing time,\n // only if defined\n if (series.options.events.mouseOver) {\n fireEvent(series, 'mouseOver');\n }\n // hover this\n series.setState('hover');\n /**\n * Contains the original hovered series.\n *\n * @name Highcharts.Chart#hoverSeries\n * @type {Highcharts.Series|null}\n */\n chart.hoverSeries = series;\n },\n /**\n * Runs on mouse out of the series graphical items.\n *\n * @function Highcharts.Series#onMouseOut\n *\n * @fires Highcharts.Series#event:mouseOut\n */\n onMouseOut: function () {\n // trigger the event only if listeners exist\n var series = this,\n options = series.options,\n chart = series.chart,\n tooltip = chart.tooltip,\n hoverPoint = chart.hoverPoint;\n // #182, set to null before the mouseOut event fires\n chart.hoverSeries = null;\n // trigger mouse out on the point, which must be in this series\n if (hoverPoint) {\n hoverPoint.onMouseOut();\n }\n // fire the mouse out event\n if (series && options.events.mouseOut) {\n fireEvent(series, 'mouseOut');\n }\n // hide the tooltip\n if (tooltip &&\n !series.stickyTracking &&\n (!tooltip.shared || series.noSharedTooltip)) {\n tooltip.hide();\n }\n // Reset all inactive states\n chart.series.forEach(function (s) {\n s.setState('', true);\n });\n },\n /**\n * Set the state of the series. Called internally on mouse interaction\n * operations, but it can also be called directly to visually\n * highlight a series.\n *\n * @function Highcharts.Series#setState\n *\n * @param {Highcharts.SeriesStateValue|\"\"} [state]\n * The new state, can be either `'hover'`, `'inactive'`, `'select'`,\n * or `''` (an empty string), `'normal'` or `undefined` to set to\n * normal state.\n * @param {boolean} [inherit]\n * Determines if state should be inherited by points too.\n */\n setState: function (state, inherit) {\n var series = this,\n options = series.options,\n graph = series.graph,\n inactiveOtherPoints = options.inactiveOtherPoints,\n stateOptions = options.states,\n lineWidth = options.lineWidth,\n opacity = options.opacity, \n // By default a quick animation to hover/inactive,\n // slower to un-hover\n stateAnimation = pick((stateOptions[state || 'normal'] &&\n stateOptions[state || 'normal'].animation),\n series.chart.options.chart.animation),\n attribs,\n i = 0;\n state = state || '';\n if (series.state !== state) {\n // Toggle class names\n [\n series.group,\n series.markerGroup,\n series.dataLabelsGroup\n ].forEach(function (group) {\n if (group) {\n // Old state\n if (series.state) {\n group.removeClass('highcharts-series-' + series.state);\n }\n // New state\n if (state) {\n group.addClass('highcharts-series-' + state);\n }\n }\n });\n series.state = state;\n if (!series.chart.styledMode) {\n if (stateOptions[state] &&\n stateOptions[state].enabled === false) {\n return;\n }\n if (state) {\n lineWidth = (stateOptions[state].lineWidth ||\n lineWidth + (stateOptions[state].lineWidthPlus || 0)); // #4035\n opacity = pick(stateOptions[state].opacity, opacity);\n }\n if (graph && !graph.dashstyle) {\n attribs = {\n 'stroke-width': lineWidth\n };\n // Animate the graph stroke-width.\n graph.animate(attribs, stateAnimation);\n while (series['zone-graph-' + i]) {\n series['zone-graph-' + i].attr(attribs);\n i = i + 1;\n }\n }\n // For some types (pie, networkgraph, sankey) opacity is\n // resolved on a point level\n if (!inactiveOtherPoints) {\n [\n series.group,\n series.markerGroup,\n series.dataLabelsGroup,\n series.labelBySeries\n ].forEach(function (group) {\n if (group) {\n group.animate({\n opacity: opacity\n }, stateAnimation);\n }\n });\n }\n }\n }\n // Don't loop over points on a series that doesn't apply inactive state\n // to siblings markers (e.g. line, column)\n if (inherit && inactiveOtherPoints && series.points) {\n series.setAllPointsToState(state);\n }\n },\n /**\n * Set the state for all points in the series.\n *\n * @function Highcharts.Series#setAllPointsToState\n *\n * @private\n *\n * @param {string} [state]\n * Can be either `hover` or undefined to set to normal state.\n */\n setAllPointsToState: function (state) {\n this.points.forEach(function (point) {\n if (point.setState) {\n point.setState(state);\n }\n });\n },\n /**\n * Show or hide the series.\n *\n * @function Highcharts.Series#setVisible\n *\n * @param {boolean} [visible]\n * True to show the series, false to hide. If undefined, the visibility is\n * toggled.\n *\n * @param {boolean} [redraw=true]\n * Whether to redraw the chart after the series is altered. If doing more\n * operations on the chart, it is a good idea to set redraw to false and\n * call {@link Chart#redraw|chart.redraw()} after.\n *\n * @fires Highcharts.Series#event:hide\n * @fires Highcharts.Series#event:show\n */\n setVisible: function (vis, redraw) {\n var series = this,\n chart = series.chart,\n legendItem = series.legendItem,\n showOrHide,\n ignoreHiddenSeries = chart.options.chart.ignoreHiddenSeries,\n oldVisibility = series.visible;\n // if called without an argument, toggle visibility\n series.visible =\n vis =\n series.options.visible =\n series.userOptions.visible =\n typeof vis === 'undefined' ? !oldVisibility : vis; // #5618\n showOrHide = vis ? 'show' : 'hide';\n // show or hide elements\n [\n 'group',\n 'dataLabelsGroup',\n 'markerGroup',\n 'tracker',\n 'tt'\n ].forEach(function (key) {\n if (series[key]) {\n series[key][showOrHide]();\n }\n });\n // hide tooltip (#1361)\n if (chart.hoverSeries === series ||\n (chart.hoverPoint && chart.hoverPoint.series) === series) {\n series.onMouseOut();\n }\n if (legendItem) {\n chart.legend.colorizeItem(series, vis);\n }\n // rescale or adapt to resized chart\n series.isDirty = true;\n // in a stack, all other series are affected\n if (series.options.stacking) {\n chart.series.forEach(function (otherSeries) {\n if (otherSeries.options.stacking && otherSeries.visible) {\n otherSeries.isDirty = true;\n }\n });\n }\n // show or hide linked series\n series.linkedSeries.forEach(function (otherSeries) {\n otherSeries.setVisible(vis, false);\n });\n if (ignoreHiddenSeries) {\n chart.isDirtyBox = true;\n }\n fireEvent(series, showOrHide);\n if (redraw !== false) {\n chart.redraw();\n }\n },\n /**\n * Show the series if hidden.\n *\n * @sample highcharts/members/series-hide/\n * Toggle visibility from a button\n *\n * @function Highcharts.Series#show\n * @fires Highcharts.Series#event:show\n */\n show: function () {\n this.setVisible(true);\n },\n /**\n * Hide the series if visible. If the\n * [chart.ignoreHiddenSeries](https://api.highcharts.com/highcharts/chart.ignoreHiddenSeries)\n * option is true, the chart is redrawn without this series.\n *\n * @sample highcharts/members/series-hide/\n * Toggle visibility from a button\n *\n * @function Highcharts.Series#hide\n * @fires Highcharts.Series#event:hide\n */\n hide: function () {\n this.setVisible(false);\n },\n /**\n * Select or unselect the series. This means its\n * {@link Highcharts.Series.selected|selected}\n * property is set, the checkbox in the legend is toggled and when selected,\n * the series is returned by the {@link Highcharts.Chart#getSelectedSeries}\n * function.\n *\n * @sample highcharts/members/series-select/\n * Select a series from a button\n *\n * @function Highcharts.Series#select\n *\n * @param {boolean} [selected]\n * True to select the series, false to unselect. If undefined, the selection\n * state is toggled.\n *\n * @fires Highcharts.Series#event:select\n * @fires Highcharts.Series#event:unselect\n */\n select: function (selected) {\n var series = this;\n series.selected =\n selected =\n this.options.selected = (typeof selected === 'undefined' ?\n !series.selected :\n selected);\n if (series.checkbox) {\n series.checkbox.checked = selected;\n }\n fireEvent(series, selected ? 'select' : 'unselect');\n },\n /**\n * @private\n * @borrows Highcharts.TrackerMixin.drawTrackerGraph as Highcharts.Series#drawTracker\n */\n drawTracker: TrackerMixin.drawTrackerGraph\n });\n\n });\n _registerModule(_modules, 'Core/Responsive.js', [_modules['Core/Chart/Chart.js'], _modules['Core/Utilities.js']], function (Chart, U) {\n /* *\n *\n * (c) 2010-2020 Torstein Honsi\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n var find = U.find,\n isArray = U.isArray,\n isObject = U.isObject,\n merge = U.merge,\n objectEach = U.objectEach,\n pick = U.pick,\n splat = U.splat,\n uniqueKey = U.uniqueKey;\n /**\n * A callback function to gain complete control on when the responsive rule\n * applies.\n *\n * @callback Highcharts.ResponsiveCallbackFunction\n *\n * @param {Highcharts.Chart} this\n * Chart context.\n *\n * @return {boolean}\n * Return `true` if it applies.\n */\n /**\n * Allows setting a set of rules to apply for different screen or chart\n * sizes. Each rule specifies additional chart options.\n *\n * @sample {highstock} stock/demo/responsive/\n * Stock chart\n * @sample highcharts/responsive/axis/\n * Axis\n * @sample highcharts/responsive/legend/\n * Legend\n * @sample highcharts/responsive/classname/\n * Class name\n *\n * @since 5.0.0\n * @apioption responsive\n */\n /**\n * A set of rules for responsive settings. The rules are executed from\n * the top down.\n *\n * @sample {highcharts} highcharts/responsive/axis/\n * Axis changes\n * @sample {highstock} highcharts/responsive/axis/\n * Axis changes\n * @sample {highmaps} highcharts/responsive/axis/\n * Axis changes\n *\n * @type {Array<*>}\n * @since 5.0.0\n * @apioption responsive.rules\n */\n /**\n * A full set of chart options to apply as overrides to the general\n * chart options. The chart options are applied when the given rule\n * is active.\n *\n * A special case is configuration objects that take arrays, for example\n * [xAxis](#xAxis), [yAxis](#yAxis) or [series](#series). For these\n * collections, an `id` option is used to map the new option set to\n * an existing object. If an existing object of the same id is not found,\n * the item of the same indexupdated. So for example, setting `chartOptions`\n * with two series items without an `id`, will cause the existing chart's\n * two series to be updated with respective options.\n *\n * @sample {highstock} stock/demo/responsive/\n * Stock chart\n * @sample highcharts/responsive/axis/\n * Axis\n * @sample highcharts/responsive/legend/\n * Legend\n * @sample highcharts/responsive/classname/\n * Class name\n *\n * @type {Highcharts.Options}\n * @since 5.0.0\n * @apioption responsive.rules.chartOptions\n */\n /**\n * Under which conditions the rule applies.\n *\n * @since 5.0.0\n * @apioption responsive.rules.condition\n */\n /**\n * A callback function to gain complete control on when the responsive\n * rule applies. Return `true` if it applies. This opens for checking\n * against other metrics than the chart size, for example the document\n * size or other elements.\n *\n * @type {Highcharts.ResponsiveCallbackFunction}\n * @since 5.0.0\n * @context Highcharts.Chart\n * @apioption responsive.rules.condition.callback\n */\n /**\n * The responsive rule applies if the chart height is less than this.\n *\n * @type {number}\n * @since 5.0.0\n * @apioption responsive.rules.condition.maxHeight\n */\n /**\n * The responsive rule applies if the chart width is less than this.\n *\n * @sample highcharts/responsive/axis/\n * Max width is 500\n *\n * @type {number}\n * @since 5.0.0\n * @apioption responsive.rules.condition.maxWidth\n */\n /**\n * The responsive rule applies if the chart height is greater than this.\n *\n * @type {number}\n * @default 0\n * @since 5.0.0\n * @apioption responsive.rules.condition.minHeight\n */\n /**\n * The responsive rule applies if the chart width is greater than this.\n *\n * @type {number}\n * @default 0\n * @since 5.0.0\n * @apioption responsive.rules.condition.minWidth\n */\n /* eslint-disable no-invalid-this, valid-jsdoc */\n /**\n * Update the chart based on the current chart/document size and options for\n * responsiveness.\n *\n * @private\n * @function Highcharts.Chart#setResponsive\n * @param {boolean} [redraw=true]\n * @param {boolean} [reset=false]\n * Reset by un-applying all rules. Chart.update resets all rules before applying\n * updated options.\n */\n Chart.prototype.setResponsive = function (redraw, reset) {\n var options = this.options.responsive,\n ruleIds = [],\n currentResponsive = this.currentResponsive,\n currentRuleIds,\n undoOptions;\n if (!reset && options && options.rules) {\n options.rules.forEach(function (rule) {\n if (typeof rule._id === 'undefined') {\n rule._id = uniqueKey();\n }\n this.matchResponsiveRule(rule, ruleIds /* , redraw */);\n }, this);\n }\n // Merge matching rules\n var mergedOptions = merge.apply(0,\n ruleIds.map(function (ruleId) {\n return find(options.rules,\n function (rule) {\n return rule._id === ruleId;\n }).chartOptions;\n }));\n mergedOptions.isResponsiveOptions = true;\n // Stringified key for the rules that currently apply.\n ruleIds = (ruleIds.toString() || void 0);\n currentRuleIds = currentResponsive && currentResponsive.ruleIds;\n // Changes in what rules apply\n if (ruleIds !== currentRuleIds) {\n // Undo previous rules. Before we apply a new set of rules, we need to\n // roll back completely to base options (#6291).\n if (currentResponsive) {\n this.update(currentResponsive.undoOptions, redraw, true);\n }\n if (ruleIds) {\n // Get undo-options for matching rules\n undoOptions = this.currentOptions(mergedOptions);\n undoOptions.isResponsiveOptions = true;\n this.currentResponsive = {\n ruleIds: ruleIds,\n mergedOptions: mergedOptions,\n undoOptions: undoOptions\n };\n this.update(mergedOptions, redraw, true);\n }\n else {\n this.currentResponsive = void 0;\n }\n }\n };\n /**\n * Handle a single responsiveness rule.\n *\n * @private\n * @function Highcharts.Chart#matchResponsiveRule\n * @param {Highcharts.ResponsiveRulesOptions} rule\n * @param {Array} matches\n */\n Chart.prototype.matchResponsiveRule = function (rule, matches) {\n var condition = rule.condition,\n fn = condition.callback || function () {\n return (this.chartWidth <= pick(condition.maxWidth,\n Number.MAX_VALUE) &&\n this.chartHeight <=\n pick(condition.maxHeight,\n Number.MAX_VALUE) &&\n this.chartWidth >= pick(condition.minWidth, 0) &&\n this.chartHeight >= pick(condition.minHeight, 0));\n };\n if (fn.call(this)) {\n matches.push(rule._id);\n }\n };\n /**\n * Get the current values for a given set of options. Used before we update\n * the chart with a new responsiveness rule.\n *\n * @todo Restore axis options (by id?). The matching of items in collections\n * bears resemblance to the oneToOne matching in Chart.update. Probably we can\n * refactor out that matching and reuse it in both functions.\n *\n * @private\n * @function Highcharts.Chart#currentOptions\n * @param {Highcharts.Options} options\n * @return {Highcharts.Options}\n */\n Chart.prototype.currentOptions = function (options) {\n var chart = this,\n ret = {};\n /**\n * Recurse over a set of options and its current values,\n * and store the current values in the ret object.\n */\n function getCurrent(options, curr, ret, depth) {\n var i;\n objectEach(options, function (val, key) {\n if (!depth &&\n chart.collectionsWithUpdate.indexOf(key) > -1) {\n val = splat(val);\n ret[key] = [];\n // Iterate over collections like series, xAxis or yAxis and map\n // the items by index.\n for (i = 0; i < Math.max(val.length, curr[key].length); i++) {\n // Item exists in current data (#6347)\n if (curr[key][i]) {\n // If the item is missing from the new data, we need to\n // save the whole config structure. Like when\n // responsively updating from a dual axis layout to a\n // single axis and back (#13544).\n if (val[i] === void 0) {\n ret[key][i] = curr[key][i];\n // Otherwise, proceed\n }\n else {\n ret[key][i] = {};\n getCurrent(val[i], curr[key][i], ret[key][i], depth + 1);\n }\n }\n }\n }\n else if (isObject(val)) {\n ret[key] = isArray(val) ? [] : {};\n getCurrent(val, curr[key] || {}, ret[key], depth + 1);\n }\n else if (typeof curr[key] === 'undefined') { // #10286\n ret[key] = null;\n }\n else {\n ret[key] = curr[key];\n }\n });\n }\n getCurrent(options, this.options, ret, 0);\n return ret;\n };\n\n });\n _registerModule(_modules, 'masters/highcharts.src.js', [_modules['Core/Globals.js']], function (Highcharts) {\n\n\n return Highcharts;\n });\n _modules['masters/highcharts.src.js']._modules = _modules;\n return _modules['masters/highcharts.src.js'];\n}));","/**\n * @license Highcharts JS v8.2.2 (2020-10-22)\n *\n * Boost module\n *\n * (c) 2010-2019 Highsoft AS\n * Author: Torstein Honsi\n *\n * License: www.highcharts.com/license\n *\n * This is a Highcharts module that draws long data series on a canvas in order\n * to increase performance of the initial load time and tooltip responsiveness.\n *\n * Compatible with WebGL compatible browsers (not IE < 11).\n *\n * If this module is taken in as part of the core\n * - All the loading logic should be merged with core. Update styles in the\n * core.\n * - Most of the method wraps should probably be added directly in parent\n * methods.\n *\n * Notes for boost mode\n * - Area lines are not drawn\n * - Lines are not drawn on scatter charts\n * - Zones and negativeColor don't work\n * - Dash styles are not rendered on lines.\n * - Columns are always one pixel wide. Don't set the threshold too low.\n * - Disable animations\n * - Marker shapes are not supported: markers will always be circles, except\n * heatmap series, where markers are always rectangles.\n *\n * Optimizing tips for users\n * - Set extremes (min, max) explicitly on the axes in order for Highcharts to\n * avoid computing extremes.\n * - Set enableMouseTracking to false on the series to improve total rendering\n * time.\n * - The default threshold is set based on one series. If you have multiple,\n * dense series, the combined number of points drawn gets higher, and you may\n * want to set the threshold lower in order to use optimizations.\n * - If drawing large scatter charts, it's beneficial to set the marker radius\n * to a value less than 1. This is to add additional spacing to make the chart\n * more readable.\n * - If the value increments on both the X and Y axis aren't small, consider\n * setting useGPUTranslations to true on the boost settings object. If you do\n * this and the increments are small (e.g. datetime axis with small time\n * increments) it may cause rendering issues due to floating point rounding\n * errors, so your millage may vary.\n *\n * Settings\n * There are two ways of setting the boost threshold:\n * - Per series: boost based on number of points in individual series\n * - Per chart: boost based on the number of series\n *\n * To set the series boost threshold, set seriesBoostThreshold on the chart\n * object.\n * To set the series-specific threshold, set boostThreshold on the series\n * object.\n *\n * In addition, the following can be set in the boost object:\n * {\n * //Wether or not to use alpha blending\n * useAlpha: boolean - default: true\n * //Set to true to perform translations on the GPU.\n * //Much faster, but may cause rendering issues\n * //when using values far from 0 due to floating point\n * //rounding issues\n * useGPUTranslations: boolean - default: false\n * //Use pre-allocated buffers, much faster,\n * //but may cause rendering issues with some data sets\n * usePreallocated: boolean - default: false\n * }\n */\n'use strict';\n(function (factory) {\n if (typeof module === 'object' && module.exports) {\n factory['default'] = factory;\n module.exports = factory;\n } else if (typeof define === 'function' && define.amd) {\n define('highcharts/modules/boost', ['highcharts'], function (Highcharts) {\n factory(Highcharts);\n factory.Highcharts = Highcharts;\n return factory;\n });\n } else {\n factory(typeof Highcharts !== 'undefined' ? Highcharts : undefined);\n }\n}(function (Highcharts) {\n var _modules = Highcharts ? Highcharts._modules : {};\n function _registerModule(obj, path, args, fn) {\n if (!obj.hasOwnProperty(path)) {\n obj[path] = fn.apply(null, args);\n }\n }\n _registerModule(_modules, 'Extensions/Boost/Boostables.js', [], function () {\n /* *\n *\n * Copyright (c) 2019-2020 Highsoft AS\n *\n * Boost module: stripped-down renderer for higher performance\n *\n * License: highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n // These are the series we allow boosting for.\n var boostables = [\n 'area',\n 'arearange',\n 'column',\n 'columnrange',\n 'bar',\n 'line',\n 'scatter',\n 'heatmap',\n 'bubble',\n 'treemap'\n ];\n\n return boostables;\n });\n _registerModule(_modules, 'Extensions/Boost/BoostableMap.js', [_modules['Extensions/Boost/Boostables.js']], function (boostables) {\n /* *\n *\n * Copyright (c) 2019-2020 Highsoft AS\n *\n * Boost module: stripped-down renderer for higher performance\n *\n * License: highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n // These are the series we allow boosting for.\n var boostableMap = {};\n boostables.forEach(function (item) {\n boostableMap[item] = 1;\n });\n\n return boostableMap;\n });\n _registerModule(_modules, 'Extensions/Boost/WGLShader.js', [_modules['Core/Utilities.js']], function (U) {\n /* *\n *\n * Copyright (c) 2019-2020 Highsoft AS\n *\n * Boost module: stripped-down renderer for higher performance\n *\n * License: highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n var clamp = U.clamp,\n error = U.error,\n pick = U.pick;\n /* eslint-disable valid-jsdoc */\n /**\n * A static shader mimicing axis translation functions found in Core/Axis\n *\n * @private\n * @function GLShader\n *\n * @param {WebGLContext} gl\n * the context in which the shader is active\n *\n * @return {*}\n */\n function GLShader(gl) {\n var vertShade = [\n /* eslint-disable max-len, @typescript-eslint/indent */\n '#version 100',\n '#define LN10 2.302585092994046',\n 'precision highp float;',\n 'attribute vec4 aVertexPosition;',\n 'attribute vec4 aColor;',\n 'varying highp vec2 position;',\n 'varying highp vec4 vColor;',\n 'uniform mat4 uPMatrix;',\n 'uniform float pSize;',\n 'uniform float translatedThreshold;',\n 'uniform bool hasThreshold;',\n 'uniform bool skipTranslation;',\n 'uniform float xAxisTrans;',\n 'uniform float xAxisMin;',\n 'uniform float xAxisMinPad;',\n 'uniform float xAxisPointRange;',\n 'uniform float xAxisLen;',\n 'uniform bool xAxisPostTranslate;',\n 'uniform float xAxisOrdinalSlope;',\n 'uniform float xAxisOrdinalOffset;',\n 'uniform float xAxisPos;',\n 'uniform bool xAxisCVSCoord;',\n 'uniform bool xAxisIsLog;',\n 'uniform bool xAxisReversed;',\n 'uniform float yAxisTrans;',\n 'uniform float yAxisMin;',\n 'uniform float yAxisMinPad;',\n 'uniform float yAxisPointRange;',\n 'uniform float yAxisLen;',\n 'uniform bool yAxisPostTranslate;',\n 'uniform float yAxisOrdinalSlope;',\n 'uniform float yAxisOrdinalOffset;',\n 'uniform float yAxisPos;',\n 'uniform bool yAxisCVSCoord;',\n 'uniform bool yAxisIsLog;',\n 'uniform bool yAxisReversed;',\n 'uniform bool isBubble;',\n 'uniform bool bubbleSizeByArea;',\n 'uniform float bubbleZMin;',\n 'uniform float bubbleZMax;',\n 'uniform float bubbleZThreshold;',\n 'uniform float bubbleMinSize;',\n 'uniform float bubbleMaxSize;',\n 'uniform bool bubbleSizeAbs;',\n 'uniform bool isInverted;',\n 'float bubbleRadius(){',\n 'float value = aVertexPosition.w;',\n 'float zMax = bubbleZMax;',\n 'float zMin = bubbleZMin;',\n 'float radius = 0.0;',\n 'float pos = 0.0;',\n 'float zRange = zMax - zMin;',\n 'if (bubbleSizeAbs){',\n 'value = value - bubbleZThreshold;',\n 'zMax = max(zMax - bubbleZThreshold, zMin - bubbleZThreshold);',\n 'zMin = 0.0;',\n '}',\n 'if (value < zMin){',\n 'radius = bubbleZMin / 2.0 - 1.0;',\n '} else {',\n 'pos = zRange > 0.0 ? (value - zMin) / zRange : 0.5;',\n 'if (bubbleSizeByArea && pos > 0.0){',\n 'pos = sqrt(pos);',\n '}',\n 'radius = ceil(bubbleMinSize + pos * (bubbleMaxSize - bubbleMinSize)) / 2.0;',\n '}',\n 'return radius * 2.0;',\n '}',\n 'float translate(float val,',\n 'float pointPlacement,',\n 'float localA,',\n 'float localMin,',\n 'float minPixelPadding,',\n 'float pointRange,',\n 'float len,',\n 'bool cvsCoord,',\n 'bool isLog,',\n 'bool reversed',\n '){',\n 'float sign = 1.0;',\n 'float cvsOffset = 0.0;',\n 'if (cvsCoord) {',\n 'sign *= -1.0;',\n 'cvsOffset = len;',\n '}',\n 'if (isLog) {',\n 'val = log(val) / LN10;',\n '}',\n 'if (reversed) {',\n 'sign *= -1.0;',\n 'cvsOffset -= sign * len;',\n '}',\n 'return sign * (val - localMin) * localA + cvsOffset + ',\n '(sign * minPixelPadding);',\n '}',\n 'float xToPixels(float value) {',\n 'if (skipTranslation){',\n 'return value;// + xAxisPos;',\n '}',\n 'return translate(value, 0.0, xAxisTrans, xAxisMin, xAxisMinPad, xAxisPointRange, xAxisLen, xAxisCVSCoord, xAxisIsLog, xAxisReversed);// + xAxisPos;',\n '}',\n 'float yToPixels(float value, float checkTreshold) {',\n 'float v;',\n 'if (skipTranslation){',\n 'v = value;// + yAxisPos;',\n '} else {',\n 'v = translate(value, 0.0, yAxisTrans, yAxisMin, yAxisMinPad, yAxisPointRange, yAxisLen, yAxisCVSCoord, yAxisIsLog, yAxisReversed);// + yAxisPos;',\n 'if (v > yAxisLen) {',\n 'v = yAxisLen;',\n '}',\n '}',\n 'if (checkTreshold > 0.0 && hasThreshold) {',\n 'v = min(v, translatedThreshold);',\n '}',\n 'return v;',\n '}',\n 'void main(void) {',\n 'if (isBubble){',\n 'gl_PointSize = bubbleRadius();',\n '} else {',\n 'gl_PointSize = pSize;',\n '}',\n // 'gl_PointSize = 10.0;',\n 'vColor = aColor;',\n 'if (skipTranslation && isInverted) {',\n // If we get translated values from JS, just swap them (x, y)\n 'gl_Position = uPMatrix * vec4(aVertexPosition.y + yAxisPos, aVertexPosition.x + xAxisPos, 0.0, 1.0);',\n '} else if (isInverted) {',\n // But when calculating pixel positions directly,\n // swap axes and values (x, y)\n 'gl_Position = uPMatrix * vec4(yToPixels(aVertexPosition.y, aVertexPosition.z) + yAxisPos, xToPixels(aVertexPosition.x) + xAxisPos, 0.0, 1.0);',\n '} else {',\n 'gl_Position = uPMatrix * vec4(xToPixels(aVertexPosition.x) + xAxisPos, yToPixels(aVertexPosition.y, aVertexPosition.z) + yAxisPos, 0.0, 1.0);',\n '}',\n // 'gl_Position = uPMatrix * vec4(aVertexPosition.x, aVertexPosition.y, 0.0, 1.0);',\n '}'\n /* eslint-enable max-len, @typescript-eslint/indent */\n ].join('\\n'), \n // Fragment shader source\n fragShade = [\n /* eslint-disable max-len, @typescript-eslint/indent */\n 'precision highp float;',\n 'uniform vec4 fillColor;',\n 'varying highp vec2 position;',\n 'varying highp vec4 vColor;',\n 'uniform sampler2D uSampler;',\n 'uniform bool isCircle;',\n 'uniform bool hasColor;',\n // 'vec4 toColor(float value, vec2 point) {',\n // 'return vec4(0.0, 0.0, 0.0, 0.0);',\n // '}',\n 'void main(void) {',\n 'vec4 col = fillColor;',\n 'vec4 tcol = texture2D(uSampler, gl_PointCoord.st);',\n 'if (hasColor) {',\n 'col = vColor;',\n '}',\n 'if (isCircle) {',\n 'col *= tcol;',\n 'if (tcol.r < 0.0) {',\n 'discard;',\n '} else {',\n 'gl_FragColor = col;',\n '}',\n '} else {',\n 'gl_FragColor = col;',\n '}',\n '}'\n /* eslint-enable max-len, @typescript-eslint/indent */\n ].join('\\n'), uLocations = {}, \n // The shader program\n shaderProgram, \n // Uniform handle to the perspective matrix\n pUniform, \n // Uniform for point size\n psUniform, \n // Uniform for fill color\n fillColorUniform, \n // Uniform for isBubble\n isBubbleUniform, \n // Uniform for bubble abs sizing\n bubbleSizeAbsUniform, bubbleSizeAreaUniform, \n // Skip translation uniform\n skipTranslationUniform, \n // Set to 1 if circle\n isCircleUniform, \n // Uniform for invertion\n isInverted, \n // Error stack\n errors = [], \n // Texture uniform\n uSamplerUniform;\n /**\n * Handle errors accumulated in errors stack\n * @private\n */\n function handleErrors() {\n if (errors.length) {\n error('[highcharts boost] shader error - ' + errors.join('\\n'));\n }\n }\n /**\n * String to shader program\n * @private\n * @param {string} str - the program source\n * @param {string} type - the program type: either `vertex` or `fragment`\n * @returns {bool|shader}\n */\n function stringToProgram(str, type) {\n var t = type === 'vertex' ? gl.VERTEX_SHADER : gl.FRAGMENT_SHADER,\n shader = gl.createShader(t);\n gl.shaderSource(shader, str);\n gl.compileShader(shader);\n if (!gl.getShaderParameter(shader, gl.COMPILE_STATUS)) {\n errors.push('when compiling ' +\n type +\n ' shader:\\n' +\n gl.getShaderInfoLog(shader));\n return false;\n }\n return shader;\n }\n /**\n * Create the shader.\n * Loads the shader program statically defined above\n * @private\n */\n function createShader() {\n var v = stringToProgram(vertShade, 'vertex'), f = stringToProgram(fragShade, 'fragment');\n if (!v || !f) {\n shaderProgram = false;\n handleErrors();\n return false;\n }\n /**\n * @private\n */\n function uloc(n) {\n return gl.getUniformLocation(shaderProgram, n);\n }\n shaderProgram = gl.createProgram();\n gl.attachShader(shaderProgram, v);\n gl.attachShader(shaderProgram, f);\n gl.linkProgram(shaderProgram);\n if (!gl.getProgramParameter(shaderProgram, gl.LINK_STATUS)) {\n errors.push(gl.getProgramInfoLog(shaderProgram));\n handleErrors();\n shaderProgram = false;\n return false;\n }\n gl.useProgram(shaderProgram);\n gl.bindAttribLocation(shaderProgram, 0, 'aVertexPosition');\n pUniform = uloc('uPMatrix');\n psUniform = uloc('pSize');\n fillColorUniform = uloc('fillColor');\n isBubbleUniform = uloc('isBubble');\n bubbleSizeAbsUniform = uloc('bubbleSizeAbs');\n bubbleSizeAreaUniform = uloc('bubbleSizeByArea');\n uSamplerUniform = uloc('uSampler');\n skipTranslationUniform = uloc('skipTranslation');\n isCircleUniform = uloc('isCircle');\n isInverted = uloc('isInverted');\n return true;\n }\n /**\n * Destroy the shader\n * @private\n */\n function destroy() {\n if (gl && shaderProgram) {\n gl.deleteProgram(shaderProgram);\n shaderProgram = false;\n }\n }\n /**\n * Bind the shader.\n * This makes the shader the active one until another one is bound,\n * or until 0 is bound.\n * @private\n */\n function bind() {\n if (gl && shaderProgram) {\n gl.useProgram(shaderProgram);\n }\n }\n /**\n * Set a uniform value.\n * This uses a hash map to cache uniform locations.\n * @private\n * @param name {string} - the name of the uniform to set\n * @param val {float} - the value to set\n */\n function setUniform(name, val) {\n if (gl && shaderProgram) {\n var u = uLocations[name] = (uLocations[name] ||\n gl.getUniformLocation(shaderProgram,\n name));\n gl.uniform1f(u, val);\n }\n }\n /**\n * Set the active texture\n * @private\n * @param texture - the texture\n */\n function setTexture(texture) {\n if (gl && shaderProgram) {\n gl.uniform1i(uSamplerUniform, texture);\n }\n }\n /**\n * Set if inversion state\n * @private\n * @flag is the state\n */\n function setInverted(flag) {\n if (gl && shaderProgram) {\n gl.uniform1i(isInverted, flag);\n }\n }\n /**\n * Enable/disable circle drawing\n * @private\n */\n function setDrawAsCircle(flag) {\n if (gl && shaderProgram) {\n gl.uniform1i(isCircleUniform, flag ? 1 : 0);\n }\n }\n /**\n * Flush\n * @private\n */\n function reset() {\n if (gl && shaderProgram) {\n gl.uniform1i(isBubbleUniform, 0);\n gl.uniform1i(isCircleUniform, 0);\n }\n }\n /**\n * Set bubble uniforms\n * @private\n * @param series {Highcharts.Series} - the series to use\n */\n function setBubbleUniforms(series, zCalcMin, zCalcMax) {\n var seriesOptions = series.options,\n zMin = Number.MAX_VALUE,\n zMax = -Number.MAX_VALUE;\n if (gl && shaderProgram && series.type === 'bubble') {\n zMin = pick(seriesOptions.zMin, clamp(zCalcMin, seriesOptions.displayNegative === false ?\n seriesOptions.zThreshold : -Number.MAX_VALUE, zMin));\n zMax = pick(seriesOptions.zMax, Math.max(zMax, zCalcMax));\n gl.uniform1i(isBubbleUniform, 1);\n gl.uniform1i(isCircleUniform, 1);\n gl.uniform1i(bubbleSizeAreaUniform, (series.options.sizeBy !== 'width'));\n gl.uniform1i(bubbleSizeAbsUniform, series.options\n .sizeByAbsoluteValue);\n setUniform('bubbleZMin', zMin);\n setUniform('bubbleZMax', zMax);\n setUniform('bubbleZThreshold', series.options.zThreshold);\n setUniform('bubbleMinSize', series.minPxSize);\n setUniform('bubbleMaxSize', series.maxPxSize);\n }\n }\n /**\n * Set the Color uniform.\n * @private\n * @param color {Array} - an array with RGBA values\n */\n function setColor(color) {\n if (gl && shaderProgram) {\n gl.uniform4f(fillColorUniform, color[0] / 255.0, color[1] / 255.0, color[2] / 255.0, color[3]);\n }\n }\n /**\n * Set skip translation\n * @private\n */\n function setSkipTranslation(flag) {\n if (gl && shaderProgram) {\n gl.uniform1i(skipTranslationUniform, flag === true ? 1 : 0);\n }\n }\n /**\n * Set the perspective matrix\n * @private\n * @param m {Matrix4x4} - the matrix\n */\n function setPMatrix(m) {\n if (gl && shaderProgram) {\n gl.uniformMatrix4fv(pUniform, false, m);\n }\n }\n /**\n * Set the point size.\n * @private\n * @param p {float} - point size\n */\n function setPointSize(p) {\n if (gl && shaderProgram) {\n gl.uniform1f(psUniform, p);\n }\n }\n /**\n * Get the shader program handle\n * @private\n * @return {GLInt} - the handle for the program\n */\n function getProgram() {\n return shaderProgram;\n }\n if (gl) {\n if (!createShader()) {\n return false;\n }\n }\n return {\n psUniform: function () {\n return psUniform;\n },\n pUniform: function () {\n return pUniform;\n },\n fillColorUniform: function () {\n return fillColorUniform;\n },\n setBubbleUniforms: setBubbleUniforms,\n bind: bind,\n program: getProgram,\n create: createShader,\n setUniform: setUniform,\n setPMatrix: setPMatrix,\n setColor: setColor,\n setPointSize: setPointSize,\n setSkipTranslation: setSkipTranslation,\n setTexture: setTexture,\n setDrawAsCircle: setDrawAsCircle,\n reset: reset,\n setInverted: setInverted,\n destroy: destroy\n };\n }\n\n return GLShader;\n });\n _registerModule(_modules, 'Extensions/Boost/WGLVBuffer.js', [], function () {\n /* *\n *\n * Copyright (c) 2019-2020 Highsoft AS\n *\n * Boost module: stripped-down renderer for higher performance\n *\n * License: highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n /* eslint-disable valid-jsdoc */\n /**\n * Vertex Buffer abstraction.\n * A vertex buffer is a set of vertices which are passed to the GPU\n * in a single call.\n *\n * @private\n * @function GLVertexBuffer\n *\n * @param {WebGLContext} gl\n * the context in which to create the buffer\n *\n * @param {GLShader} shader\n * the shader to use\n *\n * @return {*}\n */\n function GLVertexBuffer(gl, shader, dataComponents\n /* , type */\n ) {\n var buffer = false,\n vertAttribute = false,\n components = dataComponents || 2,\n preAllocated = false,\n iterator = 0, \n // farray = false,\n data;\n // type = type || 'float';\n /**\n * @private\n */\n function destroy() {\n if (buffer) {\n gl.deleteBuffer(buffer);\n buffer = false;\n vertAttribute = false;\n }\n iterator = 0;\n components = dataComponents || 2;\n data = [];\n }\n /**\n * Build the buffer\n * @private\n * @param dataIn {Array} - a 0 padded array of indices\n * @param attrib {String} - the name of the Attribute to bind the buffer to\n * @param dataComponents {Integer} - the number of components per. indice\n */\n function build(dataIn, attrib, dataComponents) {\n var farray;\n data = dataIn || [];\n if ((!data || data.length === 0) && !preAllocated) {\n // console.error('trying to render empty vbuffer');\n destroy();\n return false;\n }\n components = dataComponents || components;\n if (buffer) {\n gl.deleteBuffer(buffer);\n }\n if (!preAllocated) {\n farray = new Float32Array(data);\n }\n buffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, buffer);\n gl.bufferData(gl.ARRAY_BUFFER, preAllocated || farray, gl.STATIC_DRAW);\n // gl.bindAttribLocation(shader.program(), 0, 'aVertexPosition');\n vertAttribute = gl.getAttribLocation(shader.program(), attrib);\n gl.enableVertexAttribArray(vertAttribute);\n // Trigger cleanup\n farray = false;\n return true;\n }\n /**\n * Bind the buffer\n * @private\n */\n function bind() {\n if (!buffer) {\n return false;\n }\n // gl.bindAttribLocation(shader.program(), 0, 'aVertexPosition');\n // gl.enableVertexAttribArray(vertAttribute);\n // gl.bindBuffer(gl.ARRAY_BUFFER, buffer);\n gl.vertexAttribPointer(vertAttribute, components, gl.FLOAT, false, 0, 0);\n // gl.enableVertexAttribArray(vertAttribute);\n }\n /**\n * Render the buffer\n * @private\n * @param from {Integer} - the start indice\n * @param to {Integer} - the end indice\n * @param drawMode {String} - the draw mode\n */\n function render(from, to, drawMode) {\n var length = preAllocated ? preAllocated.length : data.length;\n if (!buffer) {\n return false;\n }\n if (!length) {\n return false;\n }\n if (!from || from > length || from < 0) {\n from = 0;\n }\n if (!to || to > length) {\n to = length;\n }\n drawMode = drawMode || 'points';\n gl.drawArrays(gl[drawMode.toUpperCase()], from / components, (to - from) / components);\n return true;\n }\n /**\n * @private\n */\n function push(x, y, a, b) {\n if (preAllocated) { // && iterator <= preAllocated.length - 4) {\n preAllocated[++iterator] = x;\n preAllocated[++iterator] = y;\n preAllocated[++iterator] = a;\n preAllocated[++iterator] = b;\n }\n }\n /**\n * Note about pre-allocated buffers:\n * - This is slower for charts with many series\n * @private\n */\n function allocate(size) {\n size *= 4;\n iterator = -1;\n preAllocated = new Float32Array(size);\n }\n // /////////////////////////////////////////////////////////////////////////\n return {\n destroy: destroy,\n bind: bind,\n data: data,\n build: build,\n render: render,\n allocate: allocate,\n push: push\n };\n }\n\n return GLVertexBuffer;\n });\n _registerModule(_modules, 'Extensions/Boost/WGLRenderer.js', [_modules['Core/Color/Color.js'], _modules['Extensions/Boost/WGLShader.js'], _modules['Extensions/Boost/WGLVBuffer.js'], _modules['Core/Globals.js'], _modules['Core/Utilities.js']], function (Color, GLShader, GLVertexBuffer, H, U) {\n /* *\n *\n * Copyright (c) 2019-2020 Highsoft AS\n *\n * Boost module: stripped-down renderer for higher performance\n *\n * License: highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n var color = Color.parse;\n var doc = H.doc;\n var isNumber = U.isNumber,\n isObject = U.isObject,\n merge = U.merge,\n objectEach = U.objectEach,\n pick = U.pick;\n /* eslint-disable valid-jsdoc */\n /**\n * Main renderer. Used to render series.\n *\n * Notes to self:\n * - May be able to build a point map by rendering to a separate canvas and\n * encoding values in the color data.\n * - Need to figure out a way to transform the data quicker\n *\n * @private\n * @function GLRenderer\n *\n * @param {Function} postRenderCallback\n *\n * @return {*}\n */\n function GLRenderer(postRenderCallback) {\n // // Shader\n var shader = false, \n // Vertex buffers - keyed on shader attribute name\n vbuffer = false, \n // Opengl context\n gl = false, \n // Width of our viewport in pixels\n width = 0, \n // Height of our viewport in pixels\n height = 0, \n // The data to render - array of coordinates\n data = false, \n // The marker data\n markerData = false, \n // Exports\n exports = {}, \n // Is it inited?\n isInited = false, \n // The series stack\n series = [], \n // Texture handles\n textureHandles = {}, \n // Things to draw as \"rectangles\" (i.e lines)\n asBar = {\n 'column': true,\n 'columnrange': true,\n 'bar': true,\n 'area': true,\n 'arearange': true\n },\n asCircle = {\n 'scatter': true,\n 'bubble': true\n }, \n // Render settings\n settings = {\n pointSize: 1,\n lineWidth: 1,\n fillColor: '#AA00AA',\n useAlpha: true,\n usePreallocated: false,\n useGPUTranslations: false,\n debug: {\n timeRendering: false,\n timeSeriesProcessing: false,\n timeSetup: false,\n timeBufferCopy: false,\n timeKDTree: false,\n showSkipSummary: false\n }\n };\n // /////////////////////////////////////////////////////////////////////////\n /**\n * @private\n */\n function setOptions(options) {\n merge(true, settings, options);\n }\n /**\n * @private\n */\n function seriesPointCount(series) {\n var isStacked,\n xData,\n s;\n if (series.isSeriesBoosting) {\n isStacked = !!series.options.stacking;\n xData = (series.xData ||\n series.options.xData ||\n series.processedXData);\n s = (isStacked ? series.data : (xData || series.options.data))\n .length;\n if (series.type === 'treemap') {\n s *= 12;\n }\n else if (series.type === 'heatmap') {\n s *= 6;\n }\n else if (asBar[series.type]) {\n s *= 2;\n }\n return s;\n }\n return 0;\n }\n /**\n * Allocate a float buffer to fit all series\n * @private\n */\n function allocateBuffer(chart) {\n var s = 0;\n if (!settings.usePreallocated) {\n return;\n }\n chart.series.forEach(function (series) {\n if (series.isSeriesBoosting) {\n s += seriesPointCount(series);\n }\n });\n vbuffer.allocate(s);\n }\n /**\n * @private\n */\n function allocateBufferForSingleSeries(series) {\n var s = 0;\n if (!settings.usePreallocated) {\n return;\n }\n if (series.isSeriesBoosting) {\n s = seriesPointCount(series);\n }\n vbuffer.allocate(s);\n }\n /**\n * Returns an orthographic perspective matrix\n * @private\n * @param {number} width - the width of the viewport in pixels\n * @param {number} height - the height of the viewport in pixels\n */\n function orthoMatrix(width, height) {\n var near = 0,\n far = 1;\n return [\n 2 / width, 0, 0, 0,\n 0, -(2 / height), 0, 0,\n 0, 0, -2 / (far - near), 0,\n -1, 1, -(far + near) / (far - near), 1\n ];\n }\n /**\n * Clear the depth and color buffer\n * @private\n */\n function clear() {\n gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);\n }\n /**\n * Get the WebGL context\n * @private\n * @returns {WebGLContext} - the context\n */\n function getGL() {\n return gl;\n }\n /**\n * Push data for a single series\n * This calculates additional vertices and transforms the data to be\n * aligned correctly in memory\n * @private\n */\n function pushSeriesData(series, inst) {\n var isRange = (series.pointArrayMap &&\n series.pointArrayMap.join(',') === 'low,high'), chart = series.chart, options = series.options, isStacked = !!options.stacking, rawData = options.data, xExtremes = series.xAxis.getExtremes(), xMin = xExtremes.min, xMax = xExtremes.max, yExtremes = series.yAxis.getExtremes(), yMin = yExtremes.min, yMax = yExtremes.max, xData = series.xData || options.xData || series.processedXData, yData = series.yData || options.yData || series.processedYData, zData = (series.zData || options.zData ||\n series.processedZData), yAxis = series.yAxis, xAxis = series.xAxis, \n // plotHeight = series.chart.plotHeight,\n plotWidth = series.chart.plotWidth, useRaw = !xData || xData.length === 0, \n // threshold = options.threshold,\n // yBottom = chart.yAxis[0].getThreshold(threshold),\n // hasThreshold = isNumber(threshold),\n // colorByPoint = series.options.colorByPoint,\n // This is required for color by point, so make sure this is\n // uncommented if enabling that\n // colorIndex = 0,\n // Required for color axis support\n // caxis,\n connectNulls = options.connectNulls, \n // For some reason eslint/TypeScript don't pick up that this is\n // actually used: --- bre1470: it is never read, just set\n // maxVal: (number|undefined), // eslint-disable-line no-unused-vars\n points = series.points || false, lastX = false, lastY = false, minVal, pcolor, scolor, sdata = isStacked ? series.data : (xData || rawData), closestLeft = { x: Number.MAX_VALUE, y: 0 }, closestRight = { x: -Number.MAX_VALUE, y: 0 }, \n //\n skipped = 0, hadPoints = false, \n //\n cullXThreshold = 1, cullYThreshold = 1, \n // The following are used in the builder while loop\n x, y, d, z, i = -1, px = false, nx = false, low, chartDestroyed = typeof chart.index === 'undefined', nextInside = false, prevInside = false, pcolor = false, drawAsBar = asBar[series.type], isXInside = false, isYInside = true, firstPoint = true, zones = options.zones || false, zoneDefColor = false, threshold = options.threshold, gapSize = false;\n if (options.boostData && options.boostData.length > 0) {\n return;\n }\n if (options.gapSize) {\n gapSize = options.gapUnit !== 'value' ?\n options.gapSize * series.closestPointRange :\n options.gapSize;\n }\n if (zones) {\n zones.some(function (zone) {\n if (typeof zone.value === 'undefined') {\n zoneDefColor = new Color(zone.color);\n return true;\n }\n return false;\n });\n if (!zoneDefColor) {\n zoneDefColor = ((series.pointAttribs && series.pointAttribs().fill) ||\n series.color);\n zoneDefColor = new Color(zoneDefColor);\n }\n }\n if (chart.inverted) {\n // plotHeight = series.chart.plotWidth;\n plotWidth = series.chart.plotHeight;\n }\n series.closestPointRangePx = Number.MAX_VALUE;\n /**\n * Push color to color buffer - need to do this per vertex.\n * @private\n */\n function pushColor(color) {\n if (color) {\n inst.colorData.push(color[0]);\n inst.colorData.push(color[1]);\n inst.colorData.push(color[2]);\n inst.colorData.push(color[3]);\n }\n }\n /**\n * Push a vertice to the data buffer.\n * @private\n */\n function vertice(x, y, checkTreshold, pointSize, color) {\n pushColor(color);\n if (settings.usePreallocated) {\n vbuffer.push(x, y, checkTreshold ? 1 : 0, pointSize || 1);\n }\n else {\n data.push(x);\n data.push(y);\n data.push(checkTreshold ? 1 : 0);\n data.push(pointSize || 1);\n }\n }\n /**\n * @private\n */\n function closeSegment() {\n if (inst.segments.length) {\n inst.segments[inst.segments.length - 1].to = data.length;\n }\n }\n /**\n * Create a new segment for the current set.\n * @private\n */\n function beginSegment() {\n // Insert a segment on the series.\n // A segment is just a start indice.\n // When adding a segment, if one exists from before, it should\n // set the previous segment's end\n if (inst.segments.length &&\n inst.segments[inst.segments.length - 1].from === data.length) {\n return;\n }\n closeSegment();\n inst.segments.push({\n from: data.length\n });\n }\n /**\n * Push a rectangle to the data buffer.\n * @private\n */\n function pushRect(x, y, w, h, color) {\n pushColor(color);\n vertice(x + w, y);\n pushColor(color);\n vertice(x, y);\n pushColor(color);\n vertice(x, y + h);\n pushColor(color);\n vertice(x, y + h);\n pushColor(color);\n vertice(x + w, y + h);\n pushColor(color);\n vertice(x + w, y);\n }\n // Create the first segment\n beginSegment();\n // Special case for point shapes\n if (points && points.length > 0) {\n // If we're doing points, we assume that the points are already\n // translated, so we skip the shader translation.\n inst.skipTranslation = true;\n // Force triangle draw mode\n inst.drawMode = 'triangles';\n // We don't have a z component in the shader, so we need to sort.\n if (points[0].node && points[0].node.levelDynamic) {\n points.sort(function (a, b) {\n if (a.node) {\n if (a.node.levelDynamic >\n b.node.levelDynamic) {\n return 1;\n }\n if (a.node.levelDynamic <\n b.node.levelDynamic) {\n return -1;\n }\n }\n return 0;\n });\n }\n points.forEach(function (point) {\n var plotY = point.plotY,\n shapeArgs,\n swidth,\n pointAttr;\n if (typeof plotY !== 'undefined' &&\n !isNaN(plotY) &&\n point.y !== null) {\n shapeArgs = point.shapeArgs;\n pointAttr = chart.styledMode ?\n point.series\n .colorAttribs(point) :\n pointAttr = point.series.pointAttribs(point);\n swidth = pointAttr['stroke-width'] || 0;\n // Handle point colors\n pcolor = color(pointAttr.fill).rgba;\n pcolor[0] /= 255.0;\n pcolor[1] /= 255.0;\n pcolor[2] /= 255.0;\n // So there are two ways of doing this. Either we can\n // create a rectangle of two triangles, or we can do a\n // point and use point size. Latter is faster, but\n // only supports squares. So we're doing triangles.\n // We could also use one color per. vertice to get\n // better color interpolation.\n // If there's stroking, we do an additional rect\n if (series.type === 'treemap') {\n swidth = swidth || 1;\n scolor = color(pointAttr.stroke).rgba;\n scolor[0] /= 255.0;\n scolor[1] /= 255.0;\n scolor[2] /= 255.0;\n pushRect(shapeArgs.x, shapeArgs.y, shapeArgs.width, shapeArgs.height, scolor);\n swidth /= 2;\n }\n // } else {\n // swidth = 0;\n // }\n // Fixes issues with inverted heatmaps (see #6981)\n // The root cause is that the coordinate system is flipped.\n // In other words, instead of [0,0] being top-left, it's\n // bottom-right. This causes a vertical and horizontal flip\n // in the resulting image, making it rotated 180 degrees.\n if (series.type === 'heatmap' && chart.inverted) {\n shapeArgs.x = xAxis.len - shapeArgs.x;\n shapeArgs.y = yAxis.len - shapeArgs.y;\n shapeArgs.width = -shapeArgs.width;\n shapeArgs.height = -shapeArgs.height;\n }\n pushRect(shapeArgs.x + swidth, shapeArgs.y + swidth, shapeArgs.width - (swidth * 2), shapeArgs.height - (swidth * 2), pcolor);\n }\n });\n closeSegment();\n return;\n }\n // Extract color axis\n // (chart.axes || []).forEach(function (a) {\n // if (H.ColorAxis && a instanceof H.ColorAxis) {\n // caxis = a;\n // }\n // });\n while (i < sdata.length - 1) {\n d = sdata[++i];\n // px = x = y = z = nx = low = false;\n // chartDestroyed = typeof chart.index === 'undefined';\n // nextInside = prevInside = pcolor = isXInside = isYInside = false;\n // drawAsBar = asBar[series.type];\n if (chartDestroyed) {\n break;\n }\n // Uncomment this to enable color by point.\n // This currently left disabled as the charts look really ugly\n // when enabled and there's a lot of points.\n // Leaving in for the future (tm).\n // if (colorByPoint) {\n // colorIndex = ++colorIndex %\n // series.chart.options.colors.length;\n // pcolor = toRGBAFast(series.chart.options.colors[colorIndex]);\n // pcolor[0] /= 255.0;\n // pcolor[1] /= 255.0;\n // pcolor[2] /= 255.0;\n // }\n // Handle the point.color option (#5999)\n var pointOptions = rawData && rawData[i];\n if (!useRaw && isObject(pointOptions, true)) {\n if (pointOptions.color) {\n pcolor = color(pointOptions.color).rgba;\n pcolor[0] /= 255.0;\n pcolor[1] /= 255.0;\n pcolor[2] /= 255.0;\n }\n }\n if (useRaw) {\n x = d[0];\n y = d[1];\n if (sdata[i + 1]) {\n nx = sdata[i + 1][0];\n }\n if (sdata[i - 1]) {\n px = sdata[i - 1][0];\n }\n if (d.length >= 3) {\n z = d[2];\n if (d[2] > inst.zMax) {\n inst.zMax = d[2];\n }\n if (d[2] < inst.zMin) {\n inst.zMin = d[2];\n }\n }\n }\n else {\n x = d;\n y = yData[i];\n if (sdata[i + 1]) {\n nx = sdata[i + 1];\n }\n if (sdata[i - 1]) {\n px = sdata[i - 1];\n }\n if (zData && zData.length) {\n z = zData[i];\n if (zData[i] > inst.zMax) {\n inst.zMax = zData[i];\n }\n if (zData[i] < inst.zMin) {\n inst.zMin = zData[i];\n }\n }\n }\n if (!connectNulls && (x === null || y === null)) {\n beginSegment();\n continue;\n }\n if (nx && nx >= xMin && nx <= xMax) {\n nextInside = true;\n }\n if (px && px >= xMin && px <= xMax) {\n prevInside = true;\n }\n if (isRange) {\n if (useRaw) {\n y = d.slice(1, 3);\n }\n low = y[0];\n y = y[1];\n }\n else if (isStacked) {\n x = d.x;\n y = d.stackY;\n low = y - d.y;\n }\n if (yMin !== null &&\n typeof yMin !== 'undefined' &&\n yMax !== null &&\n typeof yMax !== 'undefined') {\n isYInside = y >= yMin && y <= yMax;\n }\n if (x > xMax && closestRight.x < xMax) {\n closestRight.x = x;\n closestRight.y = y;\n }\n if (x < xMin && closestLeft.x > xMin) {\n closestLeft.x = x;\n closestLeft.y = y;\n }\n if (y === null && connectNulls) {\n continue;\n }\n // Cull points outside the extremes\n if (y === null || (!isYInside && !nextInside && !prevInside)) {\n beginSegment();\n continue;\n }\n // The first point before and first after extremes should be\n // rendered (#9962)\n if ((nx >= xMin || x >= xMin) &&\n (px <= xMax || x <= xMax)) {\n isXInside = true;\n }\n if (!isXInside && !nextInside && !prevInside) {\n continue;\n }\n if (gapSize && x - px > gapSize) {\n beginSegment();\n }\n // Note: Boost requires that zones are sorted!\n if (zones) {\n pcolor = zoneDefColor.rgba;\n zones.some(function (// eslint-disable-line no-loop-func\n zone, i) {\n var last = zones[i - 1];\n if (typeof zone.value !== 'undefined' && y <= zone.value) {\n if (!last || y >= last.value) {\n pcolor = color(zone.color).rgba;\n }\n return true;\n }\n return false;\n });\n pcolor[0] /= 255.0;\n pcolor[1] /= 255.0;\n pcolor[2] /= 255.0;\n }\n // Skip translations - temporary floating point fix\n if (!settings.useGPUTranslations) {\n inst.skipTranslation = true;\n x = xAxis.toPixels(x, true);\n y = yAxis.toPixels(y, true);\n // Make sure we're not drawing outside of the chart area.\n // See #6594. Update: this is no longer required as far as I\n // can tell. Leaving in for git blame in case there are edge\n // cases I've not found. Having this in breaks #10246.\n // if (y > plotHeight) {\n // y = plotHeight;\n // }\n if (x > plotWidth) {\n // If this is rendered as a point, just skip drawing it\n // entirely, as we're not dependandt on lineTo'ing to it.\n // See #8197\n if (inst.drawMode === 'points') {\n continue;\n }\n // Having this here will clamp markers and make the angle\n // of the last line wrong. See 9166.\n // x = plotWidth;\n }\n }\n if (drawAsBar) {\n // maxVal = y;\n minVal = low;\n if (low === false || typeof low === 'undefined') {\n if (y < 0) {\n minVal = y;\n }\n else {\n minVal = 0;\n }\n }\n if (!isRange && !isStacked) {\n minVal = Math.max(threshold === null ? yMin : threshold, // #5268\n yMin); // #8731\n }\n if (!settings.useGPUTranslations) {\n minVal = yAxis.toPixels(minVal, true);\n }\n // Need to add an extra point here\n vertice(x, minVal, 0, 0, pcolor);\n }\n // No markers on out of bounds things.\n // Out of bound things are shown if and only if the next\n // or previous point is inside the rect.\n if (inst.hasMarkers && isXInside) {\n // x = Highcharts.correctFloat(\n // Math.min(Math.max(-1e5, xAxis.translate(\n // x,\n // 0,\n // 0,\n // 0,\n // 1,\n // 0.5,\n // false\n // )), 1e5)\n // );\n if (lastX !== false) {\n series.closestPointRangePx = Math.min(series.closestPointRangePx, Math.abs(x - lastX));\n }\n }\n // If the last _drawn_ point is closer to this point than the\n // threshold, skip it. Shaves off 20-100ms in processing.\n if (!settings.useGPUTranslations &&\n !settings.usePreallocated &&\n (lastX && Math.abs(x - lastX) < cullXThreshold) &&\n (lastY && Math.abs(y - lastY) < cullYThreshold)) {\n if (settings.debug.showSkipSummary) {\n ++skipped;\n }\n continue;\n }\n // Do step line if enabled.\n // Draws an additional point at the old Y at the new X.\n // See #6976.\n if (options.step && !firstPoint) {\n vertice(x, lastY, 0, 2, pcolor);\n }\n vertice(x, y, 0, series.type === 'bubble' ? (z || 1) : 2, pcolor);\n // Uncomment this to support color axis.\n // if (caxis) {\n // pcolor = color(caxis.toColor(y)).rgba;\n // inst.colorData.push(color[0] / 255.0);\n // inst.colorData.push(color[1] / 255.0);\n // inst.colorData.push(color[2] / 255.0);\n // inst.colorData.push(color[3]);\n // }\n lastX = x;\n lastY = y;\n hadPoints = true;\n firstPoint = false;\n }\n if (settings.debug.showSkipSummary) {\n console.log('skipped points:', skipped); // eslint-disable-line no-console\n }\n /**\n * @private\n */\n function pushSupplementPoint(point, atStart) {\n if (!settings.useGPUTranslations) {\n inst.skipTranslation = true;\n point.x = xAxis.toPixels(point.x, true);\n point.y = yAxis.toPixels(point.y, true);\n }\n // We should only do this for lines, and we should ignore markers\n // since there's no point here that would have a marker.\n if (atStart) {\n data = [point.x, point.y, 0, 2].concat(data);\n return;\n }\n vertice(point.x, point.y, 0, 2);\n }\n if (!hadPoints &&\n connectNulls !== false &&\n series.drawMode === 'line_strip') {\n if (closestLeft.x < Number.MAX_VALUE) {\n // We actually need to push this *before* the complete buffer.\n pushSupplementPoint(closestLeft, true);\n }\n if (closestRight.x > -Number.MAX_VALUE) {\n pushSupplementPoint(closestRight);\n }\n }\n closeSegment();\n }\n /**\n * Push a series to the renderer\n * If we render the series immediatly, we don't have to loop later\n * @private\n * @param s {Highchart.Series} - the series to push\n */\n function pushSeries(s) {\n if (series.length > 0) {\n // series[series.length - 1].to = data.length;\n if (series[series.length - 1].hasMarkers) {\n series[series.length - 1].markerTo = markerData.length;\n }\n }\n if (settings.debug.timeSeriesProcessing) {\n console.time('building ' + s.type + ' series'); // eslint-disable-line no-console\n }\n series.push({\n segments: [],\n // from: data.length,\n markerFrom: markerData.length,\n // Push RGBA values to this array to use per. point coloring.\n // It should be 0-padded, so each component should be pushed in\n // succession.\n colorData: [],\n series: s,\n zMin: Number.MAX_VALUE,\n zMax: -Number.MAX_VALUE,\n hasMarkers: s.options.marker ?\n s.options.marker.enabled !== false :\n false,\n showMarkers: true,\n drawMode: {\n 'area': 'lines',\n 'arearange': 'lines',\n 'areaspline': 'line_strip',\n 'column': 'lines',\n 'columnrange': 'lines',\n 'bar': 'lines',\n 'line': 'line_strip',\n 'scatter': 'points',\n 'heatmap': 'triangles',\n 'treemap': 'triangles',\n 'bubble': 'points'\n }[s.type] || 'line_strip'\n });\n // Add the series data to our buffer(s)\n pushSeriesData(s, series[series.length - 1]);\n if (settings.debug.timeSeriesProcessing) {\n console.timeEnd('building ' + s.type + ' series'); // eslint-disable-line no-console\n }\n }\n /**\n * Flush the renderer.\n * This removes pushed series and vertices.\n * Should be called after clearing and before rendering\n * @private\n */\n function flush() {\n series = [];\n exports.data = data = [];\n markerData = [];\n if (vbuffer) {\n vbuffer.destroy();\n }\n }\n /**\n * Pass x-axis to shader\n * @private\n * @param axis {Highcharts.Axis} - the x-axis\n */\n function setXAxis(axis) {\n if (!shader) {\n return;\n }\n shader.setUniform('xAxisTrans', axis.transA);\n shader.setUniform('xAxisMin', axis.min);\n shader.setUniform('xAxisMinPad', axis.minPixelPadding);\n shader.setUniform('xAxisPointRange', axis.pointRange);\n shader.setUniform('xAxisLen', axis.len);\n shader.setUniform('xAxisPos', axis.pos);\n shader.setUniform('xAxisCVSCoord', (!axis.horiz));\n shader.setUniform('xAxisIsLog', (!!axis.logarithmic));\n shader.setUniform('xAxisReversed', (!!axis.reversed));\n }\n /**\n * Pass y-axis to shader\n * @private\n * @param axis {Highcharts.Axis} - the y-axis\n */\n function setYAxis(axis) {\n if (!shader) {\n return;\n }\n shader.setUniform('yAxisTrans', axis.transA);\n shader.setUniform('yAxisMin', axis.min);\n shader.setUniform('yAxisMinPad', axis.minPixelPadding);\n shader.setUniform('yAxisPointRange', axis.pointRange);\n shader.setUniform('yAxisLen', axis.len);\n shader.setUniform('yAxisPos', axis.pos);\n shader.setUniform('yAxisCVSCoord', (!axis.horiz));\n shader.setUniform('yAxisIsLog', (!!axis.logarithmic));\n shader.setUniform('yAxisReversed', (!!axis.reversed));\n }\n /**\n * Set the translation threshold\n * @private\n * @param has {boolean} - has threshold flag\n * @param translation {Float} - the threshold\n */\n function setThreshold(has, translation) {\n shader.setUniform('hasThreshold', has);\n shader.setUniform('translatedThreshold', translation);\n }\n /**\n * Render the data\n * This renders all pushed series.\n * @private\n */\n function render(chart) {\n if (chart) {\n if (!chart.chartHeight || !chart.chartWidth) {\n // chart.setChartSize();\n }\n width = chart.chartWidth || 800;\n height = chart.chartHeight || 400;\n }\n else {\n return false;\n }\n if (!gl || !width || !height || !shader) {\n return false;\n }\n if (settings.debug.timeRendering) {\n console.time('gl rendering'); // eslint-disable-line no-console\n }\n gl.canvas.width = width;\n gl.canvas.height = height;\n shader.bind();\n gl.viewport(0, 0, width, height);\n shader.setPMatrix(orthoMatrix(width, height));\n if (settings.lineWidth > 1 && !H.isMS) {\n gl.lineWidth(settings.lineWidth);\n }\n vbuffer.build(exports.data, 'aVertexPosition', 4);\n vbuffer.bind();\n shader.setInverted(chart.inverted);\n // Render the series\n series.forEach(function (s, si) {\n var options = s.series.options,\n shapeOptions = options.marker,\n sindex,\n lineWidth = (typeof options.lineWidth !== 'undefined' ?\n options.lineWidth :\n 1),\n threshold = options.threshold,\n hasThreshold = isNumber(threshold),\n yBottom = s.series.yAxis.getThreshold(threshold),\n translatedThreshold = yBottom,\n cbuffer,\n showMarkers = pick(options.marker ? options.marker.enabled : null,\n s.series.xAxis.isRadial ? true : null,\n s.series.closestPointRangePx >\n 2 * ((options.marker ?\n options.marker.radius :\n 10) || 10)),\n fillColor,\n shapeTexture = textureHandles[(shapeOptions && shapeOptions.symbol) ||\n s.series.symbol] || textureHandles.circle,\n scolor = [];\n if (s.segments.length === 0 ||\n (s.segmentslength &&\n s.segments[0].from === s.segments[0].to)) {\n return;\n }\n if (shapeTexture.isReady) {\n gl.bindTexture(gl.TEXTURE_2D, shapeTexture.handle);\n shader.setTexture(shapeTexture.handle);\n }\n if (chart.styledMode) {\n fillColor = (s.series.markerGroup &&\n s.series.markerGroup.getStyle('fill'));\n }\n else {\n fillColor =\n (s.series.pointAttribs && s.series.pointAttribs().fill) ||\n s.series.color;\n if (options.colorByPoint) {\n fillColor = s.series.chart.options.colors[si];\n }\n }\n if (s.series.fillOpacity && options.fillOpacity) {\n fillColor = new Color(fillColor).setOpacity(pick(options.fillOpacity, 1.0)).get();\n }\n scolor = color(fillColor).rgba;\n if (!settings.useAlpha) {\n scolor[3] = 1.0;\n }\n // This is very much temporary\n if (s.drawMode === 'lines' &&\n settings.useAlpha &&\n scolor[3] < 1) {\n scolor[3] /= 10;\n }\n // Blending\n if (options.boostBlending === 'add') {\n gl.blendFunc(gl.SRC_ALPHA, gl.ONE);\n gl.blendEquation(gl.FUNC_ADD);\n }\n else if (options.boostBlending === 'mult' ||\n options.boostBlending === 'multiply') {\n gl.blendFunc(gl.DST_COLOR, gl.ZERO);\n }\n else if (options.boostBlending === 'darken') {\n gl.blendFunc(gl.ONE, gl.ONE);\n gl.blendEquation(gl.FUNC_MIN);\n }\n else {\n // gl.blendFunc(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA);\n // gl.blendEquation(gl.FUNC_ADD);\n gl.blendFuncSeparate(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA, gl.ONE, gl.ONE_MINUS_SRC_ALPHA);\n }\n shader.reset();\n // If there are entries in the colorData buffer, build and bind it.\n if (s.colorData.length > 0) {\n shader.setUniform('hasColor', 1.0);\n cbuffer = GLVertexBuffer(gl, shader); // eslint-disable-line new-cap\n cbuffer.build(s.colorData, 'aColor', 4);\n cbuffer.bind();\n }\n // Set series specific uniforms\n shader.setColor(scolor);\n setXAxis(s.series.xAxis);\n setYAxis(s.series.yAxis);\n setThreshold(hasThreshold, translatedThreshold);\n if (s.drawMode === 'points') {\n if (options.marker && isNumber(options.marker.radius)) {\n shader.setPointSize(options.marker.radius * 2.0);\n }\n else {\n shader.setPointSize(1);\n }\n }\n // If set to true, the toPixels translations in the shader\n // is skipped, i.e it's assumed that the value is a pixel coord.\n shader.setSkipTranslation(s.skipTranslation);\n if (s.series.type === 'bubble') {\n shader.setBubbleUniforms(s.series, s.zMin, s.zMax);\n }\n shader.setDrawAsCircle(asCircle[s.series.type] || false);\n // Do the actual rendering\n // If the line width is < 0, skip rendering of the lines. See #7833.\n if (lineWidth > 0 || s.drawMode !== 'line_strip') {\n for (sindex = 0; sindex < s.segments.length; sindex++) {\n // if (s.segments[sindex].from < s.segments[sindex].to) {\n vbuffer.render(s.segments[sindex].from, s.segments[sindex].to, s.drawMode);\n // }\n }\n }\n if (s.hasMarkers && showMarkers) {\n if (options.marker && isNumber(options.marker.radius)) {\n shader.setPointSize(options.marker.radius * 2.0);\n }\n else {\n shader.setPointSize(10);\n }\n shader.setDrawAsCircle(true);\n for (sindex = 0; sindex < s.segments.length; sindex++) {\n // if (s.segments[sindex].from < s.segments[sindex].to) {\n vbuffer.render(s.segments[sindex].from, s.segments[sindex].to, 'POINTS');\n // }\n }\n }\n });\n if (settings.debug.timeRendering) {\n console.timeEnd('gl rendering'); // eslint-disable-line no-console\n }\n if (postRenderCallback) {\n postRenderCallback();\n }\n flush();\n }\n /**\n * Render the data when ready\n * @private\n */\n function renderWhenReady(chart) {\n clear();\n if (chart.renderer.forExport) {\n return render(chart);\n }\n if (isInited) {\n render(chart);\n }\n else {\n setTimeout(function () {\n renderWhenReady(chart);\n }, 1);\n }\n }\n /**\n * Set the viewport size in pixels\n * Creates an orthographic perspective matrix and applies it.\n * @private\n * @param w {Integer} - the width of the viewport\n * @param h {Integer} - the height of the viewport\n */\n function setSize(w, h) {\n // Skip if there's no change, or if we have no valid shader\n if ((width === w && height === h) || !shader) {\n return;\n }\n width = w;\n height = h;\n shader.bind();\n shader.setPMatrix(orthoMatrix(width, height));\n }\n /**\n * Init OpenGL\n * @private\n * @param canvas {HTMLCanvas} - the canvas to render to\n */\n function init(canvas, noFlush) {\n var i = 0,\n contexts = [\n 'webgl',\n 'experimental-webgl',\n 'moz-webgl',\n 'webkit-3d'\n ];\n isInited = false;\n if (!canvas) {\n return false;\n }\n if (settings.debug.timeSetup) {\n console.time('gl setup'); // eslint-disable-line no-console\n }\n for (; i < contexts.length; i++) {\n gl = canvas.getContext(contexts[i], {\n // premultipliedAlpha: false\n });\n if (gl) {\n break;\n }\n }\n if (gl) {\n if (!noFlush) {\n flush();\n }\n }\n else {\n return false;\n }\n gl.enable(gl.BLEND);\n // gl.blendFunc(gl.SRC_ALPHA, gl.ONE);\n gl.blendFunc(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA);\n gl.disable(gl.DEPTH_TEST);\n // gl.depthMask(gl.FALSE);\n gl.depthFunc(gl.LESS);\n shader = GLShader(gl); // eslint-disable-line new-cap\n if (!shader) {\n // We need to abort, there's no shader context\n return false;\n }\n vbuffer = GLVertexBuffer(gl, shader); // eslint-disable-line new-cap\n /**\n * @private\n */\n function createTexture(name, fn) {\n var props = {\n isReady: false,\n texture: doc.createElement('canvas'),\n handle: gl.createTexture()\n },\n ctx = props.texture.getContext('2d');\n textureHandles[name] = props;\n props.texture.width = 512;\n props.texture.height = 512;\n ctx.mozImageSmoothingEnabled = false;\n ctx.webkitImageSmoothingEnabled = false;\n ctx.msImageSmoothingEnabled = false;\n ctx.imageSmoothingEnabled = false;\n ctx.strokeStyle = 'rgba(255, 255, 255, 0)';\n ctx.fillStyle = '#FFF';\n fn(ctx);\n try {\n gl.activeTexture(gl.TEXTURE0);\n gl.bindTexture(gl.TEXTURE_2D, props.handle);\n // gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, true);\n gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, props.texture);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR);\n // gl.generateMipmap(gl.TEXTURE_2D);\n gl.bindTexture(gl.TEXTURE_2D, null);\n props.isReady = true;\n }\n catch (e) {\n // silent error\n }\n }\n // Circle shape\n createTexture('circle', function (ctx) {\n ctx.beginPath();\n ctx.arc(256, 256, 256, 0, 2 * Math.PI);\n ctx.stroke();\n ctx.fill();\n });\n // Square shape\n createTexture('square', function (ctx) {\n ctx.fillRect(0, 0, 512, 512);\n });\n // Diamond shape\n createTexture('diamond', function (ctx) {\n ctx.beginPath();\n ctx.moveTo(256, 0);\n ctx.lineTo(512, 256);\n ctx.lineTo(256, 512);\n ctx.lineTo(0, 256);\n ctx.lineTo(256, 0);\n ctx.fill();\n });\n // Triangle shape\n createTexture('triangle', function (ctx) {\n ctx.beginPath();\n ctx.moveTo(0, 512);\n ctx.lineTo(256, 0);\n ctx.lineTo(512, 512);\n ctx.lineTo(0, 512);\n ctx.fill();\n });\n // Triangle shape (rotated)\n createTexture('triangle-down', function (ctx) {\n ctx.beginPath();\n ctx.moveTo(0, 0);\n ctx.lineTo(256, 512);\n ctx.lineTo(512, 0);\n ctx.lineTo(0, 0);\n ctx.fill();\n });\n isInited = true;\n if (settings.debug.timeSetup) {\n console.timeEnd('gl setup'); // eslint-disable-line no-console\n }\n return true;\n }\n /**\n * Check if we have a valid OGL context\n * @private\n * @returns {Boolean} - true if the context is valid\n */\n function valid() {\n return gl !== false;\n }\n /**\n * Check if the renderer has been initialized\n * @private\n * @returns {Boolean} - true if it has, false if not\n */\n function inited() {\n return isInited;\n }\n /**\n * @private\n */\n function destroy() {\n flush();\n vbuffer.destroy();\n shader.destroy();\n if (gl) {\n objectEach(textureHandles, function (texture) {\n if (texture.handle) {\n gl.deleteTexture(texture.handle);\n }\n });\n gl.canvas.width = 1;\n gl.canvas.height = 1;\n }\n }\n // /////////////////////////////////////////////////////////////////////////\n exports = {\n allocateBufferForSingleSeries: allocateBufferForSingleSeries,\n pushSeries: pushSeries,\n setSize: setSize,\n inited: inited,\n setThreshold: setThreshold,\n init: init,\n render: renderWhenReady,\n settings: settings,\n valid: valid,\n clear: clear,\n flush: flush,\n setXAxis: setXAxis,\n setYAxis: setYAxis,\n data: data,\n gl: getGL,\n allocateBuffer: allocateBuffer,\n destroy: destroy,\n setOptions: setOptions\n };\n return exports;\n }\n\n return GLRenderer;\n });\n _registerModule(_modules, 'Extensions/Boost/BoostAttach.js', [_modules['Core/Chart/Chart.js'], _modules['Extensions/Boost/WGLRenderer.js'], _modules['Core/Globals.js'], _modules['Core/Utilities.js']], function (Chart, GLRenderer, H, U) {\n /* *\n *\n * Copyright (c) 2019-2020 Highsoft AS\n *\n * Boost module: stripped-down renderer for higher performance\n *\n * License: highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n var doc = H.doc;\n var error = U.error;\n var mainCanvas = doc.createElement('canvas');\n /**\n * Create a canvas + context and attach it to the target\n *\n * @private\n * @function createAndAttachRenderer\n *\n * @param {Highcharts.Chart} chart\n * the chart\n *\n * @param {Highcharts.Series} series\n * the series\n *\n * @return {Highcharts.BoostGLRenderer}\n * the canvas renderer\n */\n function createAndAttachRenderer(chart, series) {\n var width = chart.chartWidth, height = chart.chartHeight, target = chart, targetGroup = chart.seriesGroup || series.group, alpha = 1, foSupported = doc.implementation.hasFeature('www.http://w3.org/TR/SVG11/feature#Extensibility', '1.1');\n if (chart.isChartSeriesBoosting()) {\n target = chart;\n }\n else {\n target = series;\n }\n // Support for foreignObject is flimsy as best.\n // IE does not support it, and Chrome has a bug which messes up\n // the canvas draw order.\n // As such, we force the Image fallback for now, but leaving the\n // actual Canvas path in-place in case this changes in the future.\n foSupported = false;\n if (!target.renderTarget) {\n target.canvas = mainCanvas;\n // Fall back to image tag if foreignObject isn't supported,\n // or if we're exporting.\n if (chart.renderer.forExport || !foSupported) {\n target.renderTarget = chart.renderer.image('', 0, 0, width, height)\n .addClass('highcharts-boost-canvas')\n .add(targetGroup);\n target.boostClear = function () {\n target.renderTarget.attr({ href: '' });\n };\n target.boostCopy = function () {\n target.boostResizeTarget();\n target.renderTarget.attr({\n href: target.canvas.toDataURL('image/png')\n });\n };\n }\n else {\n target.renderTargetFo = chart.renderer\n .createElement('foreignObject')\n .add(targetGroup);\n target.renderTarget = doc.createElement('canvas');\n target.renderTargetCtx =\n target.renderTarget.getContext('2d');\n target.renderTargetFo.element.appendChild(target.renderTarget);\n target.boostClear = function () {\n target.renderTarget.width =\n target.canvas.width;\n target.renderTarget.height =\n target.canvas.height;\n };\n target.boostCopy = function () {\n target.renderTarget.width =\n target.canvas.width;\n target.renderTarget.height =\n target.canvas.height;\n target.renderTargetCtx\n .drawImage(target.canvas, 0, 0);\n };\n }\n target.boostResizeTarget = function () {\n width = chart.chartWidth;\n height = chart.chartHeight;\n (target.renderTargetFo || target.renderTarget)\n .attr({\n x: 0,\n y: 0,\n width: width,\n height: height\n })\n .css({\n pointerEvents: 'none',\n mixedBlendMode: 'normal',\n opacity: alpha\n });\n if (target instanceof Chart) {\n target.markerGroup.translate(chart.plotLeft, chart.plotTop);\n }\n };\n target.boostClipRect = chart.renderer.clipRect();\n (target.renderTargetFo || target.renderTarget)\n .clip(target.boostClipRect);\n if (target instanceof Chart) {\n target.markerGroup = target.renderer.g().add(targetGroup);\n target.markerGroup.translate(series.xAxis.pos, series.yAxis.pos);\n }\n }\n target.canvas.width = width;\n target.canvas.height = height;\n target.boostClipRect.attr(chart.getBoostClipRect(target));\n target.boostResizeTarget();\n target.boostClear();\n if (!target.ogl) {\n target.ogl = GLRenderer(function () {\n if (target.ogl.settings.debug.timeBufferCopy) {\n console.time('buffer copy'); // eslint-disable-line no-console\n }\n target.boostCopy();\n if (target.ogl.settings.debug.timeBufferCopy) {\n console.timeEnd('buffer copy'); // eslint-disable-line no-console\n }\n });\n if (!target.ogl.init(target.canvas)) {\n // The OGL renderer couldn't be inited.\n // This likely means a shader error as we wouldn't get to this point\n // if there was no WebGL support.\n error('[highcharts boost] - unable to init WebGL renderer');\n }\n // target.ogl.clear();\n target.ogl.setOptions(chart.options.boost || {});\n if (target instanceof Chart) {\n target.ogl.allocateBuffer(chart);\n }\n }\n target.ogl.setSize(width, height);\n return target.ogl;\n }\n\n return createAndAttachRenderer;\n });\n _registerModule(_modules, 'Extensions/Boost/BoostUtils.js', [_modules['Core/Globals.js'], _modules['Extensions/Boost/BoostableMap.js'], _modules['Extensions/Boost/BoostAttach.js'], _modules['Core/Utilities.js']], function (H, boostableMap, createAndAttachRenderer, U) {\n /* *\n *\n * Copyright (c) 2019-2020 Highsoft AS\n *\n * Boost module: stripped-down renderer for higher performance\n *\n * License: highcharts.com/license\n *\n * This files contains generic utility functions used by the boost module.\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n var win = H.win,\n doc = H.doc;\n var pick = U.pick;\n // This should be a const.\n var CHUNK_SIZE = 3000;\n /**\n * Tolerant max() function.\n *\n * @private\n * @function patientMax\n *\n * @param {...Array>} args\n * Max arguments\n *\n * @return {number}\n * Max value\n */\n function patientMax() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var r = -Number.MAX_VALUE;\n args.forEach(function (t) {\n if (typeof t !== 'undefined' &&\n t !== null &&\n typeof t.length !== 'undefined') {\n // r = r < t.length ? t.length : r;\n if (t.length > 0) {\n r = t.length;\n return true;\n }\n }\n });\n return r;\n }\n /**\n * Return true if ths boost.enabled option is true\n *\n * @private\n * @function boostEnabled\n *\n * @param {Highcharts.Chart} chart\n * The chart\n *\n * @return {boolean}\n * True, if boost is enabled.\n */\n function boostEnabled(chart) {\n return pick((chart &&\n chart.options &&\n chart.options.boost &&\n chart.options.boost.enabled), true);\n }\n /**\n * Returns true if we should force boosting the chart\n * @private\n * @function shouldForceChartSeriesBoosting\n *\n * @param {Highcharts.Chart} chart\n * The chart to check for forcing on\n *\n * @return {boolean}\n * True, if boosting should be forced.\n */\n function shouldForceChartSeriesBoosting(chart) {\n // If there are more than five series currently boosting,\n // we should boost the whole chart to avoid running out of webgl contexts.\n var sboostCount = 0,\n canBoostCount = 0,\n allowBoostForce = pick(chart.options.boost && chart.options.boost.allowForce,\n true),\n series;\n if (typeof chart.boostForceChartBoost !== 'undefined') {\n return chart.boostForceChartBoost;\n }\n if (chart.series.length > 1) {\n for (var i = 0; i < chart.series.length; i++) {\n series = chart.series[i];\n // Don't count series with boostThreshold set to 0\n // See #8950\n // Also don't count if the series is hidden.\n // See #9046\n if (series.options.boostThreshold === 0 ||\n series.visible === false) {\n continue;\n }\n // Don't count heatmap series as they are handled differently.\n // In the future we should make the heatmap/treemap path compatible\n // with forcing. See #9636.\n if (series.type === 'heatmap') {\n continue;\n }\n if (boostableMap[series.type]) {\n ++canBoostCount;\n }\n if (patientMax(series.processedXData, series.options.data, \n // series.xData,\n series.points) >= (series.options.boostThreshold || Number.MAX_VALUE)) {\n ++sboostCount;\n }\n }\n }\n chart.boostForceChartBoost = allowBoostForce && ((canBoostCount === chart.series.length &&\n sboostCount > 0) ||\n sboostCount > 5);\n return chart.boostForceChartBoost;\n }\n /* eslint-disable valid-jsdoc */\n /**\n * Performs the actual render if the renderer is\n * attached to the series.\n * @private\n * @param renderer {OGLRenderer} - the renderer\n * @param series {Highcharts.Series} - the series\n */\n function renderIfNotSeriesBoosting(renderer, series, chart) {\n if (renderer &&\n series.renderTarget &&\n series.canvas &&\n !(chart || series.chart).isChartSeriesBoosting()) {\n renderer.render(chart || series.chart);\n }\n }\n /**\n * @private\n */\n function allocateIfNotSeriesBoosting(renderer, series) {\n if (renderer &&\n series.renderTarget &&\n series.canvas &&\n !series.chart.isChartSeriesBoosting()) {\n renderer.allocateBufferForSingleSeries(series);\n }\n }\n /**\n * An \"async\" foreach loop. Uses a setTimeout to keep the loop from blocking the\n * UI thread.\n *\n * @private\n *\n * @param arr {Array} - the array to loop through\n * @param fn {Function} - the callback to call for each item\n * @param finalFunc {Function} - the callback to call when done\n * @param chunkSize {Number} - the number of iterations per timeout\n * @param i {Number} - the current index\n * @param noTimeout {Boolean} - set to true to skip timeouts\n */\n function eachAsync(arr, fn, finalFunc, chunkSize, i, noTimeout) {\n i = i || 0;\n chunkSize = chunkSize || CHUNK_SIZE;\n var threshold = i + chunkSize,\n proceed = true;\n while (proceed && i < threshold && i < arr.length) {\n proceed = fn(arr[i], i);\n ++i;\n }\n if (proceed) {\n if (i < arr.length) {\n if (noTimeout) {\n eachAsync(arr, fn, finalFunc, chunkSize, i, noTimeout);\n }\n else if (win.requestAnimationFrame) {\n // If available, do requestAnimationFrame - shaves off a few ms\n win.requestAnimationFrame(function () {\n eachAsync(arr, fn, finalFunc, chunkSize, i);\n });\n }\n else {\n setTimeout(function () {\n eachAsync(arr, fn, finalFunc, chunkSize, i);\n });\n }\n }\n else if (finalFunc) {\n finalFunc();\n }\n }\n }\n /**\n * Returns true if the current browser supports webgl\n *\n * @private\n * @function hasWebGLSupport\n *\n * @return {boolean}\n */\n function hasWebGLSupport() {\n var i = 0, canvas, contexts = ['webgl', 'experimental-webgl', 'moz-webgl', 'webkit-3d'], context = false;\n if (typeof win.WebGLRenderingContext !== 'undefined') {\n canvas = doc.createElement('canvas');\n for (; i < contexts.length; i++) {\n try {\n context = canvas.getContext(contexts[i]);\n if (typeof context !== 'undefined' && context !== null) {\n return true;\n }\n }\n catch (e) {\n // silent error\n }\n }\n }\n return false;\n }\n /* eslint-disable no-invalid-this */\n /**\n * Used for treemap|heatmap.drawPoints\n *\n * @private\n * @function pointDrawHandler\n *\n * @param {Function} proceed\n *\n * @return {*}\n */\n function pointDrawHandler(proceed) {\n var enabled = true,\n renderer;\n if (this.chart.options && this.chart.options.boost) {\n enabled = typeof this.chart.options.boost.enabled === 'undefined' ?\n true :\n this.chart.options.boost.enabled;\n }\n if (!enabled || !this.isSeriesBoosting) {\n return proceed.call(this);\n }\n this.chart.isBoosting = true;\n // Make sure we have a valid OGL context\n renderer = createAndAttachRenderer(this.chart, this);\n if (renderer) {\n allocateIfNotSeriesBoosting(renderer, this);\n renderer.pushSeries(this);\n }\n renderIfNotSeriesBoosting(renderer, this);\n }\n /* eslint-enable no-invalid-this, valid-jsdoc */\n var funs = {\n patientMax: patientMax,\n boostEnabled: boostEnabled,\n shouldForceChartSeriesBoosting: shouldForceChartSeriesBoosting,\n renderIfNotSeriesBoosting: renderIfNotSeriesBoosting,\n allocateIfNotSeriesBoosting: allocateIfNotSeriesBoosting,\n eachAsync: eachAsync,\n hasWebGLSupport: hasWebGLSupport,\n pointDrawHandler: pointDrawHandler\n };\n // This needs to be fixed.\n H.hasWebGLSupport = hasWebGLSupport;\n\n return funs;\n });\n _registerModule(_modules, 'Extensions/Boost/BoostInit.js', [_modules['Core/Chart/Chart.js'], _modules['Core/Globals.js'], _modules['Core/Utilities.js'], _modules['Extensions/Boost/BoostUtils.js'], _modules['Extensions/Boost/BoostAttach.js']], function (Chart, H, U, butils, createAndAttachRenderer) {\n /* *\n *\n * Copyright (c) 2019-2020 Highsoft AS\n *\n * Boost module: stripped-down renderer for higher performance\n *\n * License: highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n var addEvent = U.addEvent,\n extend = U.extend,\n fireEvent = U.fireEvent,\n wrap = U.wrap;\n var Series = H.Series,\n seriesTypes = H.seriesTypes,\n noop = function () { },\n eachAsync = butils.eachAsync,\n pointDrawHandler = butils.pointDrawHandler,\n allocateIfNotSeriesBoosting = butils.allocateIfNotSeriesBoosting,\n renderIfNotSeriesBoosting = butils.renderIfNotSeriesBoosting,\n shouldForceChartSeriesBoosting = butils.shouldForceChartSeriesBoosting,\n index;\n /* eslint-disable valid-jsdoc */\n /**\n * Initialize the boot module.\n *\n * @private\n * @return {void}\n */\n function init() {\n extend(Series.prototype, {\n /**\n * @private\n * @function Highcharts.Series#renderCanvas\n */\n renderCanvas: function () {\n var series = this, options = series.options || {}, renderer = false, chart = series.chart, xAxis = this.xAxis, yAxis = this.yAxis, xData = options.xData || series.processedXData, yData = options.yData || series.processedYData, rawData = options.data, xExtremes = xAxis.getExtremes(), xMin = xExtremes.min, xMax = xExtremes.max, yExtremes = yAxis.getExtremes(), yMin = yExtremes.min, yMax = yExtremes.max, pointTaken = {}, lastClientX, sampling = !!series.sampling, points, enableMouseTracking = options.enableMouseTracking !== false, threshold = options.threshold, yBottom = yAxis.getThreshold(threshold), isRange = series.pointArrayMap &&\n series.pointArrayMap.join(',') === 'low,high', isStacked = !!options.stacking, cropStart = series.cropStart || 0, requireSorting = series.requireSorting, useRaw = !xData, minVal, maxVal, minI, maxI, boostOptions, compareX = options.findNearestPointBy === 'x', xDataFull = (this.xData ||\n this.options.xData ||\n this.processedXData ||\n false), addKDPoint = function (clientX, plotY, i) {\n // We need to do ceil on the clientX to make things\n // snap to pixel values. The renderer will frequently\n // draw stuff on \"sub-pixels\".\n clientX = Math.ceil(clientX);\n // Shaves off about 60ms compared to repeated concatenation\n index = compareX ? clientX : clientX + ',' + plotY;\n // The k-d tree requires series points.\n // Reduce the amount of points, since the time to build the\n // tree increases exponentially.\n if (enableMouseTracking && !pointTaken[index]) {\n pointTaken[index] = true;\n if (chart.inverted) {\n clientX = xAxis.len - clientX;\n plotY = yAxis.len - plotY;\n }\n points.push({\n x: xDataFull ? xDataFull[cropStart + i] : false,\n clientX: clientX,\n plotX: clientX,\n plotY: plotY,\n i: cropStart + i\n });\n }\n };\n // Get or create the renderer\n renderer = createAndAttachRenderer(chart, series);\n chart.isBoosting = true;\n boostOptions = renderer.settings;\n if (!this.visible) {\n return;\n }\n // If we are zooming out from SVG mode, destroy the graphics\n if (this.points || this.graph) {\n this.destroyGraphics();\n }\n // If we're rendering per. series we should create the marker groups\n // as usual.\n if (!chart.isChartSeriesBoosting()) {\n // If all series were boosting, but are not anymore\n // restore private markerGroup\n if (this.markerGroup === chart.markerGroup) {\n this.markerGroup = void 0;\n }\n this.markerGroup = series.plotGroup('markerGroup', 'markers', true, 1, chart.seriesGroup);\n }\n else {\n // If series has a private markeGroup, remove that\n // and use common markerGroup\n if (this.markerGroup &&\n this.markerGroup !== chart.markerGroup) {\n this.markerGroup.destroy();\n }\n // Use a single group for the markers\n this.markerGroup = chart.markerGroup;\n // When switching from chart boosting mode, destroy redundant\n // series boosting targets\n if (this.renderTarget) {\n this.renderTarget = this.renderTarget.destroy();\n }\n }\n points = this.points = [];\n // Do not start building while drawing\n series.buildKDTree = noop;\n if (renderer) {\n allocateIfNotSeriesBoosting(renderer, this);\n renderer.pushSeries(series);\n // Perform the actual renderer if we're on series level\n renderIfNotSeriesBoosting(renderer, this, chart);\n }\n /**\n * This builds the KD-tree\n * @private\n */\n function processPoint(d, i) {\n var x,\n y,\n clientX,\n plotY,\n isNull,\n low = false,\n chartDestroyed = typeof chart.index === 'undefined',\n isYInside = true;\n if (!chartDestroyed) {\n if (useRaw) {\n x = d[0];\n y = d[1];\n }\n else {\n x = d;\n y = yData[i];\n }\n // Resolve low and high for range series\n if (isRange) {\n if (useRaw) {\n y = d.slice(1, 3);\n }\n low = y[0];\n y = y[1];\n }\n else if (isStacked) {\n x = d.x;\n y = d.stackY;\n low = y - d.y;\n }\n isNull = y === null;\n // Optimize for scatter zooming\n if (!requireSorting) {\n isYInside = y >= yMin && y <= yMax;\n }\n if (!isNull && x >= xMin && x <= xMax && isYInside) {\n clientX = xAxis.toPixels(x, true);\n if (sampling) {\n if (typeof minI === 'undefined' ||\n clientX === lastClientX) {\n if (!isRange) {\n low = y;\n }\n if (typeof maxI === 'undefined' ||\n y > maxVal) {\n maxVal = y;\n maxI = i;\n }\n if (typeof minI === 'undefined' ||\n low < minVal) {\n minVal = low;\n minI = i;\n }\n }\n // Add points and reset\n if (clientX !== lastClientX) {\n // maxI is number too:\n if (typeof minI !== 'undefined') {\n plotY =\n yAxis.toPixels(maxVal, true);\n yBottom =\n yAxis.toPixels(minVal, true);\n addKDPoint(clientX, plotY, maxI);\n if (yBottom !== plotY) {\n addKDPoint(clientX, yBottom, minI);\n }\n }\n minI = maxI = void 0;\n lastClientX = clientX;\n }\n }\n else {\n plotY = Math.ceil(yAxis.toPixels(y, true));\n addKDPoint(clientX, plotY, i);\n }\n }\n }\n return !chartDestroyed;\n }\n /**\n * @private\n */\n function doneProcessing() {\n fireEvent(series, 'renderedCanvas');\n // Go back to prototype, ready to build\n delete series.buildKDTree;\n series.buildKDTree();\n if (boostOptions.debug.timeKDTree) {\n console.timeEnd('kd tree building'); // eslint-disable-line no-console\n }\n }\n // Loop over the points to build the k-d tree - skip this if\n // exporting\n if (!chart.renderer.forExport) {\n if (boostOptions.debug.timeKDTree) {\n console.time('kd tree building'); // eslint-disable-line no-console\n }\n eachAsync(isStacked ? series.data : (xData || rawData), processPoint, doneProcessing);\n }\n }\n });\n /*\n * We need to handle heatmaps separatly, since we can't perform the\n * size/color calculations in the shader easily.\n *\n * This likely needs future optimization.\n */\n ['heatmap', 'treemap'].forEach(function (t) {\n if (seriesTypes[t]) {\n wrap(seriesTypes[t].prototype, 'drawPoints', pointDrawHandler);\n }\n });\n /* eslint-disable no-invalid-this */\n if (seriesTypes.bubble) {\n // By default, the bubble series does not use the KD-tree, so force it\n // to.\n delete seriesTypes.bubble.prototype.buildKDTree;\n // seriesTypes.bubble.prototype.directTouch = false;\n // Needed for markers to work correctly\n wrap(seriesTypes.bubble.prototype, 'markerAttribs', function (proceed) {\n if (this.isSeriesBoosting) {\n return false;\n }\n return proceed.apply(this, [].slice.call(arguments, 1));\n });\n }\n seriesTypes.scatter.prototype.fill = true;\n extend(seriesTypes.area.prototype, {\n fill: true,\n fillOpacity: true,\n sampling: true\n });\n extend(seriesTypes.column.prototype, {\n fill: true,\n sampling: true\n });\n // Take care of the canvas blitting\n Chart.prototype.callbacks.push(function (chart) {\n /**\n * Convert chart-level canvas to image.\n * @private\n */\n function canvasToSVG() {\n if (chart.ogl && chart.isChartSeriesBoosting()) {\n chart.ogl.render(chart);\n }\n }\n /**\n * Clear chart-level canvas.\n * @private\n */\n function preRender() {\n // Reset force state\n chart.boostForceChartBoost = void 0;\n chart.boostForceChartBoost = shouldForceChartSeriesBoosting(chart);\n chart.isBoosting = false;\n if (!chart.isChartSeriesBoosting() && chart.didBoost) {\n chart.didBoost = false;\n }\n // Clear the canvas\n if (chart.boostClear) {\n chart.boostClear();\n }\n if (chart.canvas && chart.ogl && chart.isChartSeriesBoosting()) {\n chart.didBoost = true;\n // Allocate\n chart.ogl.allocateBuffer(chart);\n }\n // see #6518 + #6739\n if (chart.markerGroup &&\n chart.xAxis &&\n chart.xAxis.length > 0 &&\n chart.yAxis &&\n chart.yAxis.length > 0) {\n chart.markerGroup.translate(chart.xAxis[0].pos, chart.yAxis[0].pos);\n }\n }\n addEvent(chart, 'predraw', preRender);\n addEvent(chart, 'render', canvasToSVG);\n // addEvent(chart, 'zoom', function () {\n // chart.boostForceChartBoost =\n // shouldForceChartSeriesBoosting(chart);\n // });\n });\n /* eslint-enable no-invalid-this */\n }\n\n return init;\n });\n _registerModule(_modules, 'Extensions/BoostCanvas.js', [_modules['Core/Chart/Chart.js'], _modules['Core/Color/Color.js'], _modules['Core/Globals.js'], _modules['Series/LineSeries.js'], _modules['Core/Series/Series.js'], _modules['Core/Utilities.js']], function (Chart, Color, H, LineSeries, Series, U) {\n /* *\n *\n * License: www.highcharts.com/license\n * Author: Torstein Honsi, Christer Vasseng\n *\n * This module serves as a fallback for the Boost module in IE9 and IE10. Newer\n * browsers support WebGL which is faster.\n *\n * It is recommended to include this module in conditional comments targeting\n * IE9 and IE10.\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n var color = Color.parse;\n var doc = H.doc,\n noop = H.noop;\n var addEvent = U.addEvent,\n extend = U.extend,\n fireEvent = U.fireEvent,\n isNumber = U.isNumber,\n merge = U.merge,\n pick = U.pick,\n wrap = U.wrap;\n var seriesTypes = Series.seriesTypes,\n CHUNK_SIZE = 50000,\n destroyLoadingDiv;\n /* eslint-disable no-invalid-this, valid-jsdoc */\n /**\n * Initialize the canvas boost.\n *\n * @function Highcharts.initCanvasBoost\n */\n var initCanvasBoost = function () {\n if (H.seriesTypes.heatmap) {\n wrap(H.seriesTypes.heatmap.prototype, 'drawPoints',\n function () {\n var chart = this.chart,\n ctx = this.getContext(),\n inverted = this.chart.inverted,\n xAxis = this.xAxis,\n yAxis = this.yAxis;\n if (ctx) {\n // draw the columns\n this.points.forEach(function (point) {\n var plotY = point.plotY,\n shapeArgs,\n pointAttr;\n if (typeof plotY !== 'undefined' &&\n !isNaN(plotY) &&\n point.y !== null) {\n shapeArgs = point.shapeArgs;\n if (!chart.styledMode) {\n pointAttr = point.series.pointAttribs(point);\n }\n else {\n pointAttr = point.series.colorAttribs(point);\n }\n ctx.fillStyle = pointAttr.fill;\n if (inverted) {\n ctx.fillRect(yAxis.len - shapeArgs.y + xAxis.left, xAxis.len - shapeArgs.x + yAxis.top, -shapeArgs.height, -shapeArgs.width);\n }\n else {\n ctx.fillRect(shapeArgs.x + xAxis.left, shapeArgs.y + yAxis.top, shapeArgs.width, shapeArgs.height);\n }\n }\n });\n this.canvasToSVG();\n }\n else {\n this.chart.showLoading('Your browser doesn\\'t support HTML5 canvas,
' +\n 'please use a modern browser');\n // Uncomment this to provide low-level (slow) support in oldIE.\n // It will cause script errors on charts with more than a few\n // thousand points.\n // arguments[0].call(this);\n }\n });\n }\n extend(LineSeries.prototype, {\n /**\n * Create a hidden canvas to draw the graph on. The contents is later\n * copied over to an SVG image element.\n *\n * @private\n * @function Highcharts.Series#getContext\n */\n getContext: function () {\n var chart = this.chart,\n width = chart.chartWidth,\n height = chart.chartHeight,\n targetGroup = chart.seriesGroup || this.group,\n target = this,\n ctx,\n swapXY = function (proceed,\n x,\n y,\n a,\n b,\n c,\n d) {\n proceed.call(this,\n y,\n x,\n a,\n b,\n c,\n d);\n };\n if (chart.isChartSeriesBoosting()) {\n target = chart;\n targetGroup = chart.seriesGroup;\n }\n ctx = target.ctx;\n if (!target.canvas) {\n target.canvas = doc.createElement('canvas');\n target.renderTarget = chart.renderer\n .image('', 0, 0, width, height)\n .addClass('highcharts-boost-canvas')\n .add(targetGroup);\n target.ctx = ctx = target.canvas.getContext('2d');\n if (chart.inverted) {\n ['moveTo', 'lineTo', 'rect', 'arc'].forEach(function (fn) {\n wrap(ctx, fn, swapXY);\n });\n }\n target.boostCopy = function () {\n target.renderTarget.attr({\n href: target.canvas.toDataURL('image/png')\n });\n };\n target.boostClear = function () {\n ctx.clearRect(0, 0, target.canvas.width, target.canvas.height);\n if (target === this) {\n target.renderTarget.attr({ href: '' });\n }\n };\n target.boostClipRect = chart.renderer.clipRect();\n target.renderTarget.clip(target.boostClipRect);\n }\n else if (!(target instanceof H.Chart)) {\n // ctx.clearRect(0, 0, width, height);\n }\n if (target.canvas.width !== width) {\n target.canvas.width = width;\n }\n if (target.canvas.height !== height) {\n target.canvas.height = height;\n }\n target.renderTarget.attr({\n x: 0,\n y: 0,\n width: width,\n height: height,\n style: 'pointer-events: none',\n href: ''\n });\n target.boostClipRect.attr(chart.getBoostClipRect(target));\n return ctx;\n },\n /**\n * Draw the canvas image inside an SVG image\n *\n * @private\n * @function Highcharts.Series#canvasToSVG\n */\n canvasToSVG: function () {\n if (!this.chart.isChartSeriesBoosting()) {\n if (this.boostCopy || this.chart.boostCopy) {\n (this.boostCopy || this.chart.boostCopy)();\n }\n }\n else {\n if (this.boostClear) {\n this.boostClear();\n }\n }\n },\n cvsLineTo: function (ctx, clientX, plotY) {\n ctx.lineTo(clientX, plotY);\n },\n renderCanvas: function () {\n var series = this, options = series.options, chart = series.chart, xAxis = this.xAxis, yAxis = this.yAxis, activeBoostSettings = chart.options.boost || {}, boostSettings = {\n timeRendering: activeBoostSettings.timeRendering || false,\n timeSeriesProcessing: activeBoostSettings.timeSeriesProcessing || false,\n timeSetup: activeBoostSettings.timeSetup || false\n }, ctx, c = 0, xData = series.processedXData, yData = series.processedYData, rawData = options.data, xExtremes = xAxis.getExtremes(), xMin = xExtremes.min, xMax = xExtremes.max, yExtremes = yAxis.getExtremes(), yMin = yExtremes.min, yMax = yExtremes.max, pointTaken = {}, lastClientX, sampling = !!series.sampling, points, r = options.marker && options.marker.radius, cvsDrawPoint = this.cvsDrawPoint, cvsLineTo = options.lineWidth ? this.cvsLineTo : void 0, cvsMarker = (r && r <= 1 ?\n this.cvsMarkerSquare :\n this.cvsMarkerCircle), strokeBatch = this.cvsStrokeBatch || 1000, enableMouseTracking = options.enableMouseTracking !== false, lastPoint, threshold = options.threshold, yBottom = yAxis.getThreshold(threshold), hasThreshold = isNumber(threshold), translatedThreshold = yBottom, doFill = this.fill, isRange = (series.pointArrayMap &&\n series.pointArrayMap.join(',') === 'low,high'), isStacked = !!options.stacking, cropStart = series.cropStart || 0, loadingOptions = chart.options.loading, requireSorting = series.requireSorting, wasNull, connectNulls = options.connectNulls, useRaw = !xData, minVal, maxVal, minI, maxI, index, sdata = (isStacked ?\n series.data :\n (xData || rawData)), fillColor = (series.fillOpacity ?\n new Color(series.color).setOpacity(pick(options.fillOpacity, 0.75)).get() :\n series.color), \n //\n stroke = function () {\n if (doFill) {\n ctx.fillStyle = fillColor;\n ctx.fill();\n }\n else {\n ctx.strokeStyle = series.color;\n ctx.lineWidth = options.lineWidth;\n ctx.stroke();\n }\n }, \n //\n drawPoint = function (clientX, plotY, yBottom, i) {\n if (c === 0) {\n ctx.beginPath();\n if (cvsLineTo) {\n ctx.lineJoin = 'round';\n }\n }\n if (chart.scroller &&\n series.options.className ===\n 'highcharts-navigator-series') {\n plotY += chart.scroller.top;\n if (yBottom) {\n yBottom += chart.scroller.top;\n }\n }\n else {\n plotY += chart.plotTop;\n }\n clientX += chart.plotLeft;\n if (wasNull) {\n ctx.moveTo(clientX, plotY);\n }\n else {\n if (cvsDrawPoint) {\n cvsDrawPoint(ctx, clientX, plotY, yBottom, lastPoint);\n }\n else if (cvsLineTo) {\n cvsLineTo(ctx, clientX, plotY);\n }\n else if (cvsMarker) {\n cvsMarker.call(series, ctx, clientX, plotY, r, i);\n }\n }\n // We need to stroke the line for every 1000 pixels. It will\n // crash the browser memory use if we stroke too\n // infrequently.\n c = c + 1;\n if (c === strokeBatch) {\n stroke();\n c = 0;\n }\n // Area charts need to keep track of the last point\n lastPoint = {\n clientX: clientX,\n plotY: plotY,\n yBottom: yBottom\n };\n }, \n //\n compareX = options.findNearestPointBy === 'x', \n //\n xDataFull = (this.xData ||\n this.options.xData ||\n this.processedXData ||\n false), \n //\n addKDPoint = function (clientX, plotY, i) {\n // Shaves off about 60ms compared to repeated concatenation\n index = compareX ? clientX : clientX + ',' + plotY;\n // The k-d tree requires series points.\n // Reduce the amount of points, since the time to build the\n // tree increases exponentially.\n if (enableMouseTracking && !pointTaken[index]) {\n pointTaken[index] = true;\n if (chart.inverted) {\n clientX = xAxis.len - clientX;\n plotY = yAxis.len - plotY;\n }\n points.push({\n x: xDataFull ?\n xDataFull[cropStart + i] :\n false,\n clientX: clientX,\n plotX: clientX,\n plotY: plotY,\n i: cropStart + i\n });\n }\n };\n if (this.renderTarget) {\n this.renderTarget.attr({ 'href': '' });\n }\n // If we are zooming out from SVG mode, destroy the graphics\n if (this.points || this.graph) {\n this.destroyGraphics();\n }\n // The group\n series.plotGroup('group', 'series', series.visible ? 'visible' : 'hidden', options.zIndex, chart.seriesGroup);\n series.markerGroup = series.group;\n addEvent(series, 'destroy', function () {\n // Prevent destroy twice\n series.markerGroup = null;\n });\n points = this.points = [];\n ctx = this.getContext();\n series.buildKDTree = noop; // Do not start building while drawing\n if (this.boostClear) {\n this.boostClear();\n }\n // if (this.canvas) {\n // ctx.clearRect(\n // 0,\n // 0,\n // this.canvas.width,\n // this.canvas.height\n // );\n // }\n if (!this.visible) {\n return;\n }\n // Display a loading indicator\n if (rawData.length > 99999) {\n chart.options.loading = merge(loadingOptions, {\n labelStyle: {\n backgroundColor: color('#ffffff').setOpacity(0.75).get(),\n padding: '1em',\n borderRadius: '0.5em'\n },\n style: {\n backgroundColor: 'none',\n opacity: 1\n }\n });\n U.clearTimeout(destroyLoadingDiv);\n chart.showLoading('Drawing...');\n chart.options.loading = loadingOptions; // reset\n }\n if (boostSettings.timeRendering) {\n console.time('canvas rendering'); // eslint-disable-line no-console\n }\n // Loop over the points\n H.eachAsync(sdata, function (d, i) {\n var x,\n y,\n clientX,\n plotY,\n isNull,\n low,\n isNextInside = false,\n isPrevInside = false,\n nx = false,\n px = false,\n chartDestroyed = typeof chart.index === 'undefined',\n isYInside = true;\n if (!chartDestroyed) {\n if (useRaw) {\n x = d[0];\n y = d[1];\n if (sdata[i + 1]) {\n nx = sdata[i + 1][0];\n }\n if (sdata[i - 1]) {\n px = sdata[i - 1][0];\n }\n }\n else {\n x = d;\n y = yData[i];\n if (sdata[i + 1]) {\n nx = sdata[i + 1];\n }\n if (sdata[i - 1]) {\n px = sdata[i - 1];\n }\n }\n if (nx && nx >= xMin && nx <= xMax) {\n isNextInside = true;\n }\n if (px && px >= xMin && px <= xMax) {\n isPrevInside = true;\n }\n // Resolve low and high for range series\n if (isRange) {\n if (useRaw) {\n y = d.slice(1, 3);\n }\n low = y[0];\n y = y[1];\n }\n else if (isStacked) {\n x = d.x;\n y = d.stackY;\n low = y - d.y;\n }\n isNull = y === null;\n // Optimize for scatter zooming\n if (!requireSorting) {\n isYInside = y >= yMin && y <= yMax;\n }\n if (!isNull &&\n ((x >= xMin && x <= xMax && isYInside) ||\n (isNextInside || isPrevInside))) {\n clientX = Math.round(xAxis.toPixels(x, true));\n if (sampling) {\n if (typeof minI === 'undefined' ||\n clientX === lastClientX) {\n if (!isRange) {\n low = y;\n }\n if (typeof maxI === 'undefined' || y > maxVal) {\n maxVal = y;\n maxI = i;\n }\n if (typeof minI === 'undefined' ||\n low < minVal) {\n minVal = low;\n minI = i;\n }\n }\n // Add points and reset\n if (clientX !== lastClientX) {\n // maxI also a number:\n if (typeof minI !== 'undefined') {\n plotY = yAxis.toPixels(maxVal, true);\n yBottom = yAxis.toPixels(minVal, true);\n drawPoint(clientX, hasThreshold ?\n Math.min(plotY, translatedThreshold) : plotY, hasThreshold ?\n Math.max(yBottom, translatedThreshold) : yBottom, i);\n addKDPoint(clientX, plotY, maxI);\n if (yBottom !== plotY) {\n addKDPoint(clientX, yBottom, minI);\n }\n }\n minI = maxI = void 0;\n lastClientX = clientX;\n }\n }\n else {\n plotY = Math.round(yAxis.toPixels(y, true));\n drawPoint(clientX, plotY, yBottom, i);\n addKDPoint(clientX, plotY, i);\n }\n }\n wasNull = isNull && !connectNulls;\n if (i % CHUNK_SIZE === 0) {\n if (series.boostCopy || series.chart.boostCopy) {\n (series.boostCopy || series.chart.boostCopy)();\n }\n }\n }\n return !chartDestroyed;\n }, function () {\n var loadingDiv = chart.loadingDiv,\n loadingShown = chart.loadingShown;\n stroke();\n // if (series.boostCopy || series.chart.boostCopy) {\n // (series.boostCopy || series.chart.boostCopy)();\n // }\n series.canvasToSVG();\n if (boostSettings.timeRendering) {\n console.timeEnd('canvas rendering'); // eslint-disable-line no-console\n }\n fireEvent(series, 'renderedCanvas');\n // Do not use chart.hideLoading, as it runs JS animation and\n // will be blocked by buildKDTree. CSS animation looks good, but\n // then it must be deleted in timeout. If we add the module to\n // core, change hideLoading so we can skip this block.\n if (loadingShown) {\n extend(loadingDiv.style, {\n transition: 'opacity 250ms',\n opacity: 0\n });\n chart.loadingShown = false;\n destroyLoadingDiv = setTimeout(function () {\n if (loadingDiv.parentNode) { // In exporting it is falsy\n loadingDiv.parentNode.removeChild(loadingDiv);\n }\n chart.loadingDiv = chart.loadingSpan = null;\n }, 250);\n }\n // Go back to prototype, ready to build\n delete series.buildKDTree;\n series.buildKDTree();\n // Don't do async on export, the exportChart, getSVGForExport and\n // getSVG methods are not chained for it.\n }, chart.renderer.forExport ? Number.MAX_VALUE : void 0);\n }\n });\n seriesTypes.scatter.prototype.cvsMarkerCircle = function (ctx, clientX, plotY, r) {\n ctx.moveTo(clientX, plotY);\n ctx.arc(clientX, plotY, r, 0, 2 * Math.PI, false);\n };\n // Rect is twice as fast as arc, should be used for small markers\n seriesTypes.scatter.prototype.cvsMarkerSquare = function (ctx, clientX, plotY, r) {\n ctx.rect(clientX - r, plotY - r, r * 2, r * 2);\n };\n seriesTypes.scatter.prototype.fill = true;\n if (seriesTypes.bubble) {\n seriesTypes.bubble.prototype.cvsMarkerCircle = function (ctx, clientX, plotY, r, i) {\n ctx.moveTo(clientX, plotY);\n ctx.arc(clientX, plotY, this.radii && this.radii[i], 0, 2 * Math.PI, false);\n };\n seriesTypes.bubble.prototype.cvsStrokeBatch = 1;\n }\n extend(seriesTypes.area.prototype, {\n cvsDrawPoint: function (ctx, clientX, plotY, yBottom, lastPoint) {\n if (lastPoint && clientX !== lastPoint.clientX) {\n ctx.moveTo(lastPoint.clientX, lastPoint.yBottom);\n ctx.lineTo(lastPoint.clientX, lastPoint.plotY);\n ctx.lineTo(clientX, plotY);\n ctx.lineTo(clientX, yBottom);\n }\n },\n fill: true,\n fillOpacity: true,\n sampling: true\n });\n extend(seriesTypes.column.prototype, {\n cvsDrawPoint: function (ctx, clientX, plotY, yBottom) {\n ctx.rect(clientX - 1, plotY, 1, yBottom - plotY);\n },\n fill: true,\n sampling: true\n });\n Chart.prototype.callbacks.push(function (chart) {\n /**\n * @private\n */\n function canvasToSVG() {\n if (chart.boostCopy) {\n chart.boostCopy();\n }\n }\n /**\n * @private\n */\n function clear() {\n if (chart.renderTarget) {\n chart.renderTarget.attr({ href: '' });\n }\n if (chart.canvas) {\n chart.canvas.getContext('2d').clearRect(0, 0, chart.canvas.width, chart.canvas.height);\n }\n }\n addEvent(chart, 'predraw', clear);\n addEvent(chart, 'render', canvasToSVG);\n });\n };\n\n return initCanvasBoost;\n });\n _registerModule(_modules, 'Extensions/Boost/BoostOverrides.js', [_modules['Core/Chart/Chart.js'], _modules['Core/Globals.js'], _modules['Core/Series/Point.js'], _modules['Core/Utilities.js'], _modules['Extensions/Boost/BoostUtils.js'], _modules['Extensions/Boost/Boostables.js'], _modules['Extensions/Boost/BoostableMap.js']], function (Chart, H, Point, U, butils, boostable, boostableMap) {\n /* *\n *\n * Copyright (c) 2019-2020 Highsoft AS\n *\n * Boost module: stripped-down renderer for higher performance\n *\n * License: highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n var addEvent = U.addEvent,\n error = U.error,\n getOptions = U.getOptions,\n isArray = U.isArray,\n isNumber = U.isNumber,\n pick = U.pick,\n wrap = U.wrap;\n var boostEnabled = butils.boostEnabled,\n shouldForceChartSeriesBoosting = butils.shouldForceChartSeriesBoosting,\n Series = H.Series,\n seriesTypes = H.seriesTypes,\n plotOptions = getOptions().plotOptions;\n /**\n * Returns true if the chart is in series boost mode.\n *\n * @function Highcharts.Chart#isChartSeriesBoosting\n *\n * @param {Highcharts.Chart} chart\n * the chart to check\n *\n * @return {boolean}\n * true if the chart is in series boost mode\n */\n Chart.prototype.isChartSeriesBoosting = function () {\n var isSeriesBoosting,\n threshold = pick(this.options.boost && this.options.boost.seriesThreshold, 50);\n isSeriesBoosting = threshold <= this.series.length ||\n shouldForceChartSeriesBoosting(this);\n return isSeriesBoosting;\n };\n /* eslint-disable valid-jsdoc */\n /**\n * Get the clip rectangle for a target, either a series or the chart. For the\n * chart, we need to consider the maximum extent of its Y axes, in case of\n * Highstock panes and navigator.\n *\n * @private\n * @function Highcharts.Chart#getBoostClipRect\n *\n * @param {Highcharts.Chart} target\n *\n * @return {Highcharts.BBoxObject}\n */\n Chart.prototype.getBoostClipRect = function (target) {\n var clipBox = {\n x: this.plotLeft,\n y: this.plotTop,\n width: this.plotWidth,\n height: this.plotHeight\n };\n if (target === this) {\n this.yAxis.forEach(function (yAxis) {\n clipBox.y = Math.min(yAxis.pos, clipBox.y);\n clipBox.height = Math.max(yAxis.pos - this.plotTop + yAxis.len, clipBox.height);\n }, this);\n }\n return clipBox;\n };\n /**\n * Return a full Point object based on the index.\n * The boost module uses stripped point objects for performance reasons.\n *\n * @function Highcharts.Series#getPoint\n *\n * @param {object|Highcharts.Point} boostPoint\n * A stripped-down point object\n *\n * @return {Highcharts.Point}\n * A Point object as per https://api.highcharts.com/highcharts#Point\n */\n Series.prototype.getPoint = function (boostPoint) {\n var point = boostPoint,\n xData = (this.xData || this.options.xData || this.processedXData ||\n false);\n if (boostPoint && !(boostPoint instanceof this.pointClass)) {\n point = (new this.pointClass()).init(// eslint-disable-line new-cap\n this, this.options.data[boostPoint.i], xData ? xData[boostPoint.i] : void 0);\n point.category = pick(this.xAxis.categories ?\n this.xAxis.categories[point.x] :\n point.x, // @todo simplify\n point.x);\n point.dist = boostPoint.dist;\n point.distX = boostPoint.distX;\n point.plotX = boostPoint.plotX;\n point.plotY = boostPoint.plotY;\n point.index = boostPoint.i;\n point.isInside = this.isPointInside(boostPoint);\n }\n return point;\n };\n /* eslint-disable no-invalid-this */\n // Return a point instance from the k-d-tree\n wrap(Series.prototype, 'searchPoint', function (proceed) {\n return this.getPoint(proceed.apply(this, [].slice.call(arguments, 1)));\n });\n // For inverted series, we need to swap X-Y values before running base methods\n wrap(Point.prototype, 'haloPath', function (proceed) {\n var halo,\n point = this,\n series = point.series,\n chart = series.chart,\n plotX = point.plotX,\n plotY = point.plotY,\n inverted = chart.inverted;\n if (series.isSeriesBoosting && inverted) {\n point.plotX = series.yAxis.len - plotY;\n point.plotY = series.xAxis.len - plotX;\n }\n halo = proceed.apply(this, Array.prototype.slice.call(arguments, 1));\n if (series.isSeriesBoosting && inverted) {\n point.plotX = plotX;\n point.plotY = plotY;\n }\n return halo;\n });\n wrap(Series.prototype, 'markerAttribs', function (proceed, point) {\n var attribs,\n series = this,\n chart = series.chart,\n plotX = point.plotX,\n plotY = point.plotY,\n inverted = chart.inverted;\n if (series.isSeriesBoosting && inverted) {\n point.plotX = series.yAxis.len - plotY;\n point.plotY = series.xAxis.len - plotX;\n }\n attribs = proceed.apply(this, Array.prototype.slice.call(arguments, 1));\n if (series.isSeriesBoosting && inverted) {\n point.plotX = plotX;\n point.plotY = plotY;\n }\n return attribs;\n });\n /*\n * Extend series.destroy to also remove the fake k-d-tree points (#5137).\n * Normally this is handled by Series.destroy that calls Point.destroy,\n * but the fake search points are not registered like that.\n */\n addEvent(Series, 'destroy', function () {\n var series = this,\n chart = series.chart;\n if (chart.markerGroup === series.markerGroup) {\n series.markerGroup = null;\n }\n if (chart.hoverPoints) {\n chart.hoverPoints = chart.hoverPoints.filter(function (point) {\n return point.series === series;\n });\n }\n if (chart.hoverPoint && chart.hoverPoint.series === series) {\n chart.hoverPoint = null;\n }\n });\n /*\n * Do not compute extremes when min and max are set.\n * If we use this in the core, we can add the hook\n * to hasExtremes to the methods directly.\n */\n wrap(Series.prototype, 'getExtremes', function (proceed) {\n if (!this.isSeriesBoosting || (!this.hasExtremes || !this.hasExtremes())) {\n return proceed.apply(this, Array.prototype.slice.call(arguments, 1));\n }\n return {};\n });\n /*\n * Override a bunch of methods the same way. If the number of points is\n * below the threshold, run the original method. If not, check for a\n * canvas version or do nothing.\n *\n * Note that we're not overriding any of these for heatmaps.\n */\n [\n 'translate',\n 'generatePoints',\n 'drawTracker',\n 'drawPoints',\n 'render'\n ].forEach(function (method) {\n /**\n * @private\n */\n function branch(proceed) {\n var letItPass = this.options.stacking &&\n (method === 'translate' || method === 'generatePoints');\n if (!this.isSeriesBoosting ||\n letItPass ||\n !boostEnabled(this.chart) ||\n this.type === 'heatmap' ||\n this.type === 'treemap' ||\n !boostableMap[this.type] ||\n this.options.boostThreshold === 0) {\n proceed.call(this);\n // If a canvas version of the method exists, like renderCanvas(), run\n }\n else if (this[method + 'Canvas']) {\n this[method + 'Canvas']();\n }\n }\n wrap(Series.prototype, method, branch);\n // A special case for some types - their translate method is already wrapped\n if (method === 'translate') {\n [\n 'column',\n 'bar',\n 'arearange',\n 'columnrange',\n 'heatmap',\n 'treemap'\n ].forEach(function (type) {\n if (seriesTypes[type]) {\n wrap(seriesTypes[type].prototype, method, branch);\n }\n });\n }\n });\n // If the series is a heatmap or treemap, or if the series is not boosting\n // do the default behaviour. Otherwise, process if the series has no extremes.\n wrap(Series.prototype, 'processData', function (proceed) {\n var series = this,\n dataToMeasure = this.options.data,\n firstPoint;\n /**\n * Used twice in this function, first on this.options.data, the second\n * time it runs the check again after processedXData is built.\n * @private\n * @todo Check what happens with data grouping\n */\n function getSeriesBoosting(data) {\n return series.chart.isChartSeriesBoosting() || ((data ? data.length : 0) >=\n (series.options.boostThreshold || Number.MAX_VALUE));\n }\n if (boostEnabled(this.chart) && boostableMap[this.type]) {\n // If there are no extremes given in the options, we also need to\n // process the data to read the data extremes. If this is a heatmap, do\n // default behaviour.\n if (!getSeriesBoosting(dataToMeasure) || // First pass with options.data\n this.type === 'heatmap' ||\n this.type === 'treemap' ||\n this.options.stacking || // processedYData for the stack (#7481)\n !this.hasExtremes ||\n !this.hasExtremes(true)) {\n proceed.apply(this, Array.prototype.slice.call(arguments, 1));\n dataToMeasure = this.processedXData;\n }\n // Set the isBoosting flag, second pass with processedXData to see if we\n // have zoomed.\n this.isSeriesBoosting = getSeriesBoosting(dataToMeasure);\n // Enter or exit boost mode\n if (this.isSeriesBoosting) {\n // Force turbo-mode:\n firstPoint = this.getFirstValidPoint(this.options.data);\n if (!isNumber(firstPoint) && !isArray(firstPoint)) {\n error(12, false, this.chart);\n }\n this.enterBoost();\n }\n else if (this.exitBoost) {\n this.exitBoost();\n }\n // The series type is not boostable\n }\n else {\n proceed.apply(this, Array.prototype.slice.call(arguments, 1));\n }\n });\n addEvent(Series, 'hide', function () {\n if (this.canvas && this.renderTarget) {\n if (this.ogl) {\n this.ogl.clear();\n }\n this.boostClear();\n }\n });\n /**\n * Enter boost mode and apply boost-specific properties.\n *\n * @function Highcharts.Series#enterBoost\n */\n Series.prototype.enterBoost = function () {\n this.alteredByBoost = [];\n // Save the original values, including whether it was an own property or\n // inherited from the prototype.\n ['allowDG', 'directTouch', 'stickyTracking'].forEach(function (prop) {\n this.alteredByBoost.push({\n prop: prop,\n val: this[prop],\n own: Object.hasOwnProperty.call(this, prop)\n });\n }, this);\n this.allowDG = false;\n this.directTouch = false;\n this.stickyTracking = true;\n // Prevent animation when zooming in on boosted series(#13421).\n this.finishedAnimating = true;\n // Hide series label if any\n if (this.labelBySeries) {\n this.labelBySeries = this.labelBySeries.destroy();\n }\n };\n /**\n * Exit from boost mode and restore non-boost properties.\n *\n * @function Highcharts.Series#exitBoost\n */\n Series.prototype.exitBoost = function () {\n // Reset instance properties and/or delete instance properties and go back\n // to prototype\n (this.alteredByBoost || []).forEach(function (setting) {\n if (setting.own) {\n this[setting.prop] = setting.val;\n }\n else {\n // Revert to prototype\n delete this[setting.prop];\n }\n }, this);\n // Clear previous run\n if (this.boostClear) {\n this.boostClear();\n }\n };\n /**\n * @private\n * @function Highcharts.Series#hasExtremes\n *\n * @param {boolean} checkX\n *\n * @return {boolean}\n */\n Series.prototype.hasExtremes = function (checkX) {\n var options = this.options,\n data = options.data,\n xAxis = this.xAxis && this.xAxis.options,\n yAxis = this.yAxis && this.yAxis.options,\n colorAxis = this.colorAxis && this.colorAxis.options;\n return data.length > (options.boostThreshold || Number.MAX_VALUE) &&\n // Defined yAxis extremes\n isNumber(yAxis.min) &&\n isNumber(yAxis.max) &&\n // Defined (and required) xAxis extremes\n (!checkX ||\n (isNumber(xAxis.min) && isNumber(xAxis.max))) &&\n // Defined (e.g. heatmap) colorAxis extremes\n (!colorAxis ||\n (isNumber(colorAxis.min) && isNumber(colorAxis.max)));\n };\n /**\n * If implemented in the core, parts of this can probably be\n * shared with other similar methods in Highcharts.\n *\n * @function Highcharts.Series#destroyGraphics\n */\n Series.prototype.destroyGraphics = function () {\n var series = this,\n points = this.points,\n point,\n i;\n if (points) {\n for (i = 0; i < points.length; i = i + 1) {\n point = points[i];\n if (point && point.destroyElements) {\n point.destroyElements(); // #7557\n }\n }\n }\n ['graph', 'area', 'tracker'].forEach(function (prop) {\n if (series[prop]) {\n series[prop] = series[prop].destroy();\n }\n });\n };\n // Set default options\n boostable.forEach(function (type) {\n if (plotOptions[type]) {\n plotOptions[type].boostThreshold = 5000;\n plotOptions[type].boostData = [];\n seriesTypes[type].prototype.fillOpacity = true;\n }\n });\n\n });\n _registerModule(_modules, 'Extensions/Boost/NamedColors.js', [_modules['Core/Color/Color.js']], function (Color) {\n /* *\n *\n * Copyright (c) 2019-2020 Highsoft AS\n *\n * Boost module: stripped-down renderer for higher performance\n *\n * License: highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n // Register color names since GL can't render those directly.\n // TODO: When supporting modern syntax, make this a const and a named export\n var defaultHTMLColorMap = {\n aliceblue: '#f0f8ff',\n antiquewhite: '#faebd7',\n aqua: '#00ffff',\n aquamarine: '#7fffd4',\n azure: '#f0ffff',\n beige: '#f5f5dc',\n bisque: '#ffe4c4',\n black: '#000000',\n blanchedalmond: '#ffebcd',\n blue: '#0000ff',\n blueviolet: '#8a2be2',\n brown: '#a52a2a',\n burlywood: '#deb887',\n cadetblue: '#5f9ea0',\n chartreuse: '#7fff00',\n chocolate: '#d2691e',\n coral: '#ff7f50',\n cornflowerblue: '#6495ed',\n cornsilk: '#fff8dc',\n crimson: '#dc143c',\n cyan: '#00ffff',\n darkblue: '#00008b',\n darkcyan: '#008b8b',\n darkgoldenrod: '#b8860b',\n darkgray: '#a9a9a9',\n darkgreen: '#006400',\n darkkhaki: '#bdb76b',\n darkmagenta: '#8b008b',\n darkolivegreen: '#556b2f',\n darkorange: '#ff8c00',\n darkorchid: '#9932cc',\n darkred: '#8b0000',\n darksalmon: '#e9967a',\n darkseagreen: '#8fbc8f',\n darkslateblue: '#483d8b',\n darkslategray: '#2f4f4f',\n darkturquoise: '#00ced1',\n darkviolet: '#9400d3',\n deeppink: '#ff1493',\n deepskyblue: '#00bfff',\n dimgray: '#696969',\n dodgerblue: '#1e90ff',\n feldspar: '#d19275',\n firebrick: '#b22222',\n floralwhite: '#fffaf0',\n forestgreen: '#228b22',\n fuchsia: '#ff00ff',\n gainsboro: '#dcdcdc',\n ghostwhite: '#f8f8ff',\n gold: '#ffd700',\n goldenrod: '#daa520',\n gray: '#808080',\n green: '#008000',\n greenyellow: '#adff2f',\n honeydew: '#f0fff0',\n hotpink: '#ff69b4',\n indianred: '#cd5c5c',\n indigo: '#4b0082',\n ivory: '#fffff0',\n khaki: '#f0e68c',\n lavender: '#e6e6fa',\n lavenderblush: '#fff0f5',\n lawngreen: '#7cfc00',\n lemonchiffon: '#fffacd',\n lightblue: '#add8e6',\n lightcoral: '#f08080',\n lightcyan: '#e0ffff',\n lightgoldenrodyellow: '#fafad2',\n lightgrey: '#d3d3d3',\n lightgreen: '#90ee90',\n lightpink: '#ffb6c1',\n lightsalmon: '#ffa07a',\n lightseagreen: '#20b2aa',\n lightskyblue: '#87cefa',\n lightslateblue: '#8470ff',\n lightslategray: '#778899',\n lightsteelblue: '#b0c4de',\n lightyellow: '#ffffe0',\n lime: '#00ff00',\n limegreen: '#32cd32',\n linen: '#faf0e6',\n magenta: '#ff00ff',\n maroon: '#800000',\n mediumaquamarine: '#66cdaa',\n mediumblue: '#0000cd',\n mediumorchid: '#ba55d3',\n mediumpurple: '#9370d8',\n mediumseagreen: '#3cb371',\n mediumslateblue: '#7b68ee',\n mediumspringgreen: '#00fa9a',\n mediumturquoise: '#48d1cc',\n mediumvioletred: '#c71585',\n midnightblue: '#191970',\n mintcream: '#f5fffa',\n mistyrose: '#ffe4e1',\n moccasin: '#ffe4b5',\n navajowhite: '#ffdead',\n navy: '#000080',\n oldlace: '#fdf5e6',\n olive: '#808000',\n olivedrab: '#6b8e23',\n orange: '#ffa500',\n orangered: '#ff4500',\n orchid: '#da70d6',\n palegoldenrod: '#eee8aa',\n palegreen: '#98fb98',\n paleturquoise: '#afeeee',\n palevioletred: '#d87093',\n papayawhip: '#ffefd5',\n peachpuff: '#ffdab9',\n peru: '#cd853f',\n pink: '#ffc0cb',\n plum: '#dda0dd',\n powderblue: '#b0e0e6',\n purple: '#800080',\n red: '#ff0000',\n rosybrown: '#bc8f8f',\n royalblue: '#4169e1',\n saddlebrown: '#8b4513',\n salmon: '#fa8072',\n sandybrown: '#f4a460',\n seagreen: '#2e8b57',\n seashell: '#fff5ee',\n sienna: '#a0522d',\n silver: '#c0c0c0',\n skyblue: '#87ceeb',\n slateblue: '#6a5acd',\n slategray: '#708090',\n snow: '#fffafa',\n springgreen: '#00ff7f',\n steelblue: '#4682b4',\n tan: '#d2b48c',\n teal: '#008080',\n thistle: '#d8bfd8',\n tomato: '#ff6347',\n turquoise: '#40e0d0',\n violet: '#ee82ee',\n violetred: '#d02090',\n wheat: '#f5deb3',\n white: '#ffffff',\n whitesmoke: '#f5f5f5',\n yellow: '#ffff00',\n yellowgreen: '#9acd32'\n };\n Color.names = defaultHTMLColorMap;\n\n return defaultHTMLColorMap;\n });\n _registerModule(_modules, 'Extensions/Boost/Boost.js', [_modules['Extensions/Boost/BoostUtils.js'], _modules['Extensions/Boost/BoostInit.js'], _modules['Extensions/BoostCanvas.js'], _modules['Core/Utilities.js']], function (butils, init, initCanvasBoost, U) {\n /* *\n *\n * Copyright (c) 2019-2020 Highsoft AS\n *\n * Boost module: stripped-down renderer for higher performance\n *\n * License: highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n var error = U.error;\n // These need to be fixed when we support named imports\n var hasWebGLSupport = butils.hasWebGLSupport;\n if (!hasWebGLSupport()) {\n if (typeof initCanvasBoost !== 'undefined') {\n // Fallback to canvas boost\n initCanvasBoost();\n }\n else {\n error(26);\n }\n }\n else {\n // WebGL support is alright, and we're good to go.\n init();\n }\n\n });\n _registerModule(_modules, 'masters/modules/boost.src.js', [], function () {\n\n\n /* *\n * Options for the Boost module. The Boost module allows certain series types\n * to be rendered by WebGL instead of the default SVG. This allows hundreds of\n * thousands of data points to be rendered in milliseconds. In addition to the\n * WebGL rendering it saves time by skipping processing and inspection of the\n * data wherever possible. This introduces some limitations to what features are\n * available in boost mode. See [the docs](\n * https://www.highcharts.com/docs/advanced-chart-features/boost-module) for\n * details.\n *\n * In addition to the global `boost` option, each series has a\n * [boostThreshold](#plotOptions.series.boostThreshold) that defines when the\n * boost should kick in.\n *\n * Requires the `modules/boost.js` module.\n *\n * @sample {highstock} highcharts/boost/line-series-heavy-stock\n * Stock chart\n * @sample {highstock} highcharts/boost/line-series-heavy-dynamic\n * Dynamic stock chart\n * @sample highcharts/boost/line\n * Line chart\n * @sample highcharts/boost/line-series-heavy\n * Line chart with hundreds of series\n * @sample highcharts/boost/scatter\n * Scatter chart\n * @sample highcharts/boost/area\n * Area chart\n * @sample highcharts/boost/arearange\n * Area range chart\n * @sample highcharts/boost/column\n * Column chart\n * @sample highcharts/boost/columnrange\n * Column range chart\n * @sample highcharts/boost/bubble\n * Bubble chart\n * @sample highcharts/boost/heatmap\n * Heat map\n * @sample highcharts/boost/treemap\n * Tree map\n *\n * @product highcharts highstock\n * @apioption boost\n * */\n\n\n });\n}));","/**\n * @license Highcharts JS v8.2.2 (2020-10-22)\n *\n * Exporting module\n *\n * (c) 2010-2019 Torstein Honsi\n *\n * License: www.highcharts.com/license\n */\n'use strict';\n(function (factory) {\n if (typeof module === 'object' && module.exports) {\n factory['default'] = factory;\n module.exports = factory;\n } else if (typeof define === 'function' && define.amd) {\n define('highcharts/modules/exporting', ['highcharts'], function (Highcharts) {\n factory(Highcharts);\n factory.Highcharts = Highcharts;\n return factory;\n });\n } else {\n factory(typeof Highcharts !== 'undefined' ? Highcharts : undefined);\n }\n}(function (Highcharts) {\n var _modules = Highcharts ? Highcharts._modules : {};\n function _registerModule(obj, path, args, fn) {\n if (!obj.hasOwnProperty(path)) {\n obj[path] = fn.apply(null, args);\n }\n }\n _registerModule(_modules, 'Extensions/FullScreen.js', [_modules['Core/Chart/Chart.js'], _modules['Core/Globals.js'], _modules['Core/Utilities.js']], function (Chart, H, U) {\n /* *\n * (c) 2009-2020 Rafal Sebestjanski\n *\n * Full screen for Highcharts\n *\n * License: www.highcharts.com/license\n */\n var addEvent = U.addEvent;\n /**\n * The module allows user to enable display chart in full screen mode.\n * Used in StockTools too.\n * Based on default solutions in browsers.\n *\n */\n /* eslint-disable no-invalid-this, valid-jsdoc */\n /**\n * Handles displaying chart's container in the fullscreen mode.\n *\n * **Note**: Fullscreen is not supported on iPhone due to iOS limitations.\n *\n * @class\n * @name Highcharts.Fullscreen\n * @hideconstructor\n * @requires modules/full-screen\n */\n var Fullscreen = /** @class */ (function () {\n /* *\n *\n * Constructors\n *\n * */\n function Fullscreen(chart) {\n /**\n * Chart managed by the fullscreen controller.\n * @name Highcharts.Fullscreen#chart\n * @type {Highcharts.Chart}\n */\n this.chart = chart;\n /**\n * The flag is set to `true` when the chart is displayed in\n * the fullscreen mode.\n *\n * @name Highcharts.Fullscreen#isOpen\n * @type {boolean|undefined}\n * @since 8.0.1\n */\n this.isOpen = false;\n var container = chart.renderTo;\n // Hold event and methods available only for a current browser.\n if (!this.browserProps) {\n if (typeof container.requestFullscreen === 'function') {\n this.browserProps = {\n fullscreenChange: 'fullscreenchange',\n requestFullscreen: 'requestFullscreen',\n exitFullscreen: 'exitFullscreen'\n };\n }\n else if (container.mozRequestFullScreen) {\n this.browserProps = {\n fullscreenChange: 'mozfullscreenchange',\n requestFullscreen: 'mozRequestFullScreen',\n exitFullscreen: 'mozCancelFullScreen'\n };\n }\n else if (container.webkitRequestFullScreen) {\n this.browserProps = {\n fullscreenChange: 'webkitfullscreenchange',\n requestFullscreen: 'webkitRequestFullScreen',\n exitFullscreen: 'webkitExitFullscreen'\n };\n }\n else if (container.msRequestFullscreen) {\n this.browserProps = {\n fullscreenChange: 'MSFullscreenChange',\n requestFullscreen: 'msRequestFullscreen',\n exitFullscreen: 'msExitFullscreen'\n };\n }\n }\n }\n /* *\n *\n * Functions\n *\n * */\n /**\n * Stops displaying the chart in fullscreen mode.\n * Exporting module required.\n *\n * @since 8.0.1\n *\n * @function Highcharts.Fullscreen#close\n * @return {void}\n * @requires modules/full-screen\n */\n Fullscreen.prototype.close = function () {\n var fullscreen = this,\n chart = fullscreen.chart;\n // Don't fire exitFullscreen() when user exited using 'Escape' button.\n if (fullscreen.isOpen &&\n fullscreen.browserProps &&\n chart.container.ownerDocument instanceof Document) {\n chart.container.ownerDocument[fullscreen.browserProps.exitFullscreen]();\n }\n // Unbind event as it's necessary only before exiting from fullscreen.\n if (fullscreen.unbindFullscreenEvent) {\n fullscreen.unbindFullscreenEvent();\n }\n fullscreen.isOpen = false;\n fullscreen.setButtonText();\n };\n /**\n * Displays the chart in fullscreen mode.\n * When fired customly by user before exporting context button is created,\n * button's text will not be replaced - it's on the user side.\n * Exporting module required.\n *\n * @since 8.0.1\n *\n * @function Highcharts.Fullscreen#open\n * @return {void}\n * @requires modules/full-screen\n */\n Fullscreen.prototype.open = function () {\n var fullscreen = this,\n chart = fullscreen.chart;\n // Handle exitFullscreen() method when user clicks 'Escape' button.\n if (fullscreen.browserProps) {\n fullscreen.unbindFullscreenEvent = addEvent(chart.container.ownerDocument, // chart's document\n fullscreen.browserProps.fullscreenChange, function () {\n // Handle lack of async of browser's fullScreenChange event.\n if (fullscreen.isOpen) {\n fullscreen.isOpen = false;\n fullscreen.close();\n }\n else {\n fullscreen.isOpen = true;\n fullscreen.setButtonText();\n }\n });\n var promise = chart.renderTo[fullscreen.browserProps.requestFullscreen]();\n if (promise) {\n // No dot notation because of IE8 compatibility\n promise['catch'](function () {\n alert(// eslint-disable-line no-alert\n 'Full screen is not supported inside a frame.');\n });\n }\n addEvent(chart, 'destroy', fullscreen.unbindFullscreenEvent);\n }\n };\n /**\n * Replaces the exporting context button's text when toogling the\n * fullscreen mode.\n *\n * @private\n *\n * @since 8.0.1\n *\n * @requires modules/full-screen\n * @return {void}\n */\n Fullscreen.prototype.setButtonText = function () {\n var _a;\n var chart = this.chart,\n exportDivElements = chart.exportDivElements,\n exportingOptions = chart.options.exporting,\n menuItems = (_a = exportingOptions === null || exportingOptions === void 0 ? void 0 : exportingOptions.buttons) === null || _a === void 0 ? void 0 : _a.contextButton.menuItems,\n lang = chart.options.lang;\n if ((exportingOptions === null || exportingOptions === void 0 ? void 0 : exportingOptions.menuItemDefinitions) && (lang === null || lang === void 0 ? void 0 : lang.exitFullscreen) &&\n lang.viewFullscreen &&\n menuItems &&\n exportDivElements &&\n exportDivElements.length) {\n exportDivElements[menuItems.indexOf('viewFullscreen')]\n .innerHTML = !this.isOpen ?\n (exportingOptions.menuItemDefinitions.viewFullscreen.text ||\n lang.viewFullscreen) : lang.exitFullscreen;\n }\n };\n /**\n * Toggles displaying the chart in fullscreen mode.\n * By default, when the exporting module is enabled, a context button with\n * a drop down menu in the upper right corner accesses this function.\n * Exporting module required.\n *\n * @since 8.0.1\n *\n * @sample highcharts/members/chart-togglefullscreen/\n * Toggle fullscreen mode from a HTML button\n *\n * @function Highcharts.Fullscreen#toggle\n * @requires modules/full-screen\n */\n Fullscreen.prototype.toggle = function () {\n var fullscreen = this;\n if (!fullscreen.isOpen) {\n fullscreen.open();\n }\n else {\n fullscreen.close();\n }\n };\n return Fullscreen;\n }());\n H.Fullscreen = Fullscreen;\n // Initialize fullscreen\n addEvent(Chart, 'beforeRender', function () {\n /**\n * @name Highcharts.Chart#fullscreen\n * @type {Highcharts.Fullscreen}\n * @requires modules/full-screen\n */\n this.fullscreen = new H.Fullscreen(this);\n });\n\n return H.Fullscreen;\n });\n _registerModule(_modules, 'Mixins/Navigation.js', [], function () {\n /**\n *\n * (c) 2010-2018 Paweł Fus\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n var chartNavigation = {\n /**\n * Initializes `chart.navigation` object which delegates `update()` methods\n * to all other common classes (used in exporting and navigationBindings).\n *\n * @private\n * @param {Highcharts.Chart} chart\n * The chart instance.\n * @return {void}\n */\n initUpdate: function (chart) {\n if (!chart.navigation) {\n chart.navigation = {\n updates: [],\n update: function (options,\n redraw) {\n this.updates.forEach(function (updateConfig) {\n updateConfig.update.call(updateConfig.context,\n options,\n redraw);\n });\n }\n };\n }\n },\n /**\n * Registers an `update()` method in the `chart.navigation` object.\n *\n * @private\n * @param {Highcharts.ChartNavigationUpdateFunction} update\n * The `update()` method that will be called in `chart.update()`.\n * @param {Highcharts.Chart} chart\n * The chart instance. `update()` will use that as a context\n * (`this`).\n * @return {void}\n */\n addUpdate: function (update, chart) {\n if (!chart.navigation) {\n this.initUpdate(chart);\n }\n chart.navigation.updates.push({\n update: update,\n context: chart\n });\n }\n };\n\n return chartNavigation;\n });\n _registerModule(_modules, 'Extensions/Exporting.js', [_modules['Core/Chart/Chart.js'], _modules['Mixins/Navigation.js'], _modules['Core/Globals.js'], _modules['Core/Options.js'], _modules['Core/Renderer/SVG/SVGRenderer.js'], _modules['Core/Utilities.js']], function (Chart, chartNavigationMixin, H, O, SVGRenderer, U) {\n /* *\n *\n * Exporting module\n *\n * (c) 2010-2020 Torstein Honsi\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n var doc = H.doc,\n isTouchDevice = H.isTouchDevice,\n win = H.win;\n var defaultOptions = O.defaultOptions;\n var addEvent = U.addEvent,\n css = U.css,\n createElement = U.createElement,\n discardElement = U.discardElement,\n extend = U.extend,\n find = U.find,\n fireEvent = U.fireEvent,\n isObject = U.isObject,\n merge = U.merge,\n objectEach = U.objectEach,\n pick = U.pick,\n removeEvent = U.removeEvent,\n uniqueKey = U.uniqueKey;\n /**\n * Gets fired after a chart is printed through the context menu item or the\n * Chart.print method.\n *\n * @callback Highcharts.ExportingAfterPrintCallbackFunction\n *\n * @param {Highcharts.Chart} chart\n * The chart on which the event occured.\n *\n * @param {global.Event} event\n * The event that occured.\n */\n /**\n * Gets fired before a chart is printed through the context menu item or the\n * Chart.print method.\n *\n * @callback Highcharts.ExportingBeforePrintCallbackFunction\n *\n * @param {Highcharts.Chart} chart\n * The chart on which the event occured.\n *\n * @param {global.Event} event\n * The event that occured.\n */\n /**\n * Function to call if the offline-exporting module fails to export a chart on\n * the client side.\n *\n * @callback Highcharts.ExportingErrorCallbackFunction\n *\n * @param {Highcharts.ExportingOptions} options\n * The exporting options.\n *\n * @param {global.Error} err\n * The error from the module.\n */\n /**\n * Definition for a menu item in the context menu.\n *\n * @interface Highcharts.ExportingMenuObject\n */ /**\n * The text for the menu item.\n *\n * @name Highcharts.ExportingMenuObject#text\n * @type {string|undefined}\n */ /**\n * If internationalization is required, the key to a language string.\n *\n * @name Highcharts.ExportingMenuObject#textKey\n * @type {string|undefined}\n */ /**\n * The click handler for the menu item.\n *\n * @name Highcharts.ExportingMenuObject#onclick\n * @type {Highcharts.EventCallbackFunction|undefined}\n */ /**\n * Indicates a separator line instead of an item.\n *\n * @name Highcharts.ExportingMenuObject#separator\n * @type {boolean|undefined}\n */\n /**\n * Possible MIME types for exporting.\n *\n * @typedef {\"image/png\"|\"image/jpeg\"|\"application/pdf\"|\"image/svg+xml\"} Highcharts.ExportingMimeTypeValue\n */\n // create shortcuts\n var userAgent = win.navigator.userAgent,\n symbols = H.Renderer.prototype.symbols,\n isMSBrowser = /Edge\\/|Trident\\/|MSIE /.test(userAgent),\n isFirefoxBrowser = /firefox/i.test(userAgent);\n // Add language\n extend(defaultOptions.lang\n /**\n * @optionparent lang\n */\n , {\n /**\n * Exporting module only. The text for the menu item to view the chart\n * in full screen.\n *\n * @since 8.0.1\n *\n * @private\n */\n viewFullscreen: 'View in full screen',\n /**\n * Exporting module only. The text for the menu item to exit the chart\n * from full screen.\n *\n * @since 8.0.1\n *\n * @private\n */\n exitFullscreen: 'Exit from full screen',\n /**\n * Exporting module only. The text for the menu item to print the chart.\n *\n * @since 3.0.1\n * @requires modules/exporting\n *\n * @private\n */\n printChart: 'Print chart',\n /**\n * Exporting module only. The text for the PNG download menu item.\n *\n * @since 2.0\n * @requires modules/exporting\n *\n * @private\n */\n downloadPNG: 'Download PNG image',\n /**\n * Exporting module only. The text for the JPEG download menu item.\n *\n * @since 2.0\n * @requires modules/exporting\n *\n * @private\n */\n downloadJPEG: 'Download JPEG image',\n /**\n * Exporting module only. The text for the PDF download menu item.\n *\n * @since 2.0\n * @requires modules/exporting\n *\n * @private\n */\n downloadPDF: 'Download PDF document',\n /**\n * Exporting module only. The text for the SVG download menu item.\n *\n * @since 2.0\n * @requires modules/exporting\n *\n * @private\n */\n downloadSVG: 'Download SVG vector image',\n /**\n * Exporting module menu. The tooltip title for the context menu holding\n * print and export menu items.\n *\n * @since 3.0\n * @requires modules/exporting\n *\n * @private\n */\n contextButtonTitle: 'Chart context menu'\n });\n if (!defaultOptions.navigation) {\n // Buttons and menus are collected in a separate config option set called\n // 'navigation'. This can be extended later to add control buttons like\n // zoom and pan right click menus.\n /**\n * A collection of options for buttons and menus appearing in the exporting\n * module.\n *\n * @requires modules/exporting\n * @optionparent navigation\n */\n defaultOptions.navigation = {};\n }\n merge(true, defaultOptions.navigation, {\n /**\n * @optionparent navigation.buttonOptions\n *\n * @private\n */\n buttonOptions: {\n theme: {},\n /**\n * Whether to enable buttons.\n *\n * @sample highcharts/navigation/buttonoptions-enabled/\n * Exporting module loaded but buttons disabled\n *\n * @type {boolean}\n * @default true\n * @since 2.0\n * @apioption navigation.buttonOptions.enabled\n */\n /**\n * The pixel size of the symbol on the button.\n *\n * @sample highcharts/navigation/buttonoptions-height/\n * Bigger buttons\n *\n * @since 2.0\n */\n symbolSize: 14,\n /**\n * The x position of the center of the symbol inside the button.\n *\n * @sample highcharts/navigation/buttonoptions-height/\n * Bigger buttons\n *\n * @since 2.0\n */\n symbolX: 12.5,\n /**\n * The y position of the center of the symbol inside the button.\n *\n * @sample highcharts/navigation/buttonoptions-height/\n * Bigger buttons\n *\n * @since 2.0\n */\n symbolY: 10.5,\n /**\n * Alignment for the buttons.\n *\n * @sample highcharts/navigation/buttonoptions-align/\n * Center aligned\n *\n * @type {Highcharts.AlignValue}\n * @since 2.0\n */\n align: 'right',\n /**\n * The pixel spacing between buttons.\n *\n * @since 2.0\n */\n buttonSpacing: 3,\n /**\n * Pixel height of the buttons.\n *\n * @sample highcharts/navigation/buttonoptions-height/\n * Bigger buttons\n *\n * @since 2.0\n */\n height: 22,\n /**\n * A text string to add to the individual button.\n *\n * @sample highcharts/exporting/buttons-text/\n * Full text button\n * @sample highcharts/exporting/buttons-text-symbol/\n * Combined symbol and text\n *\n * @type {string}\n * @default null\n * @since 3.0\n * @apioption navigation.buttonOptions.text\n */\n /**\n * The vertical offset of the button's position relative to its\n * `verticalAlign`.\n *\n * @sample highcharts/navigation/buttonoptions-verticalalign/\n * Buttons at lower right\n *\n * @type {number}\n * @default 0\n * @since 2.0\n * @apioption navigation.buttonOptions.y\n */\n /**\n * The vertical alignment of the buttons. Can be one of `\"top\"`,\n * `\"middle\"` or `\"bottom\"`.\n *\n * @sample highcharts/navigation/buttonoptions-verticalalign/\n * Buttons at lower right\n *\n * @type {Highcharts.VerticalAlignValue}\n * @since 2.0\n */\n verticalAlign: 'top',\n /**\n * The pixel width of the button.\n *\n * @sample highcharts/navigation/buttonoptions-height/\n * Bigger buttons\n *\n * @since 2.0\n */\n width: 24\n }\n });\n // Presentational attributes\n merge(true, defaultOptions.navigation\n /**\n * A collection of options for buttons and menus appearing in the exporting\n * module.\n *\n * @optionparent navigation\n */\n , {\n /**\n * CSS styles for the popup menu appearing by default when the export\n * icon is clicked. This menu is rendered in HTML.\n *\n * @see In styled mode, the menu is styled with the `.highcharts-menu`\n * class.\n *\n * @sample highcharts/navigation/menustyle/\n * Light gray menu background\n *\n * @type {Highcharts.CSSObject}\n * @default {\"border\": \"1px solid #999999\", \"background\": \"#ffffff\", \"padding\": \"5px 0\"}\n * @since 2.0\n *\n * @private\n */\n menuStyle: {\n /** @ignore-option */\n border: '1px solid #999999',\n /** @ignore-option */\n background: '#ffffff',\n /** @ignore-option */\n padding: '5px 0'\n },\n /**\n * CSS styles for the individual items within the popup menu appearing\n * by default when the export icon is clicked. The menu items are\n * rendered in HTML. Font size defaults to `11px` on desktop and `14px`\n * on touch devices.\n *\n * @see In styled mode, the menu items are styled with the\n * `.highcharts-menu-item` class.\n *\n * @sample {highcharts} highcharts/navigation/menuitemstyle/\n * Add a grey stripe to the left\n *\n * @type {Highcharts.CSSObject}\n * @default {\"padding\": \"0.5em 1em\", \"color\": \"#333333\", \"background\": \"none\", \"fontSize\": \"11px/14px\", \"transition\": \"background 250ms, color 250ms\"}\n * @since 2.0\n *\n * @private\n */\n menuItemStyle: {\n /** @ignore-option */\n padding: '0.5em 1em',\n /** @ignore-option */\n color: '#333333',\n /** @ignore-option */\n background: 'none',\n /** @ignore-option */\n fontSize: isTouchDevice ? '14px' : '11px',\n /** @ignore-option */\n transition: 'background 250ms, color 250ms'\n },\n /**\n * CSS styles for the hover state of the individual items within the\n * popup menu appearing by default when the export icon is clicked. The\n * menu items are rendered in HTML.\n *\n * @see In styled mode, the menu items are styled with the\n * `.highcharts-menu-item` class.\n *\n * @sample highcharts/navigation/menuitemhoverstyle/\n * Bold text on hover\n *\n * @type {Highcharts.CSSObject}\n * @default {\"background\": \"#335cad\", \"color\": \"#ffffff\"}\n * @since 2.0\n *\n * @private\n */\n menuItemHoverStyle: {\n /** @ignore-option */\n background: '#335cad',\n /** @ignore-option */\n color: '#ffffff'\n },\n /**\n * A collection of options for buttons appearing in the exporting\n * module.\n *\n * In styled mode, the buttons are styled with the\n * `.highcharts-contextbutton` and `.highcharts-button-symbol` classes.\n *\n * @requires modules/exporting\n *\n * @private\n */\n buttonOptions: {\n /**\n * Fill color for the symbol within the button.\n *\n * @sample highcharts/navigation/buttonoptions-symbolfill/\n * Blue symbol stroke for one of the buttons\n *\n * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}\n * @since 2.0\n */\n symbolFill: '#666666',\n /**\n * The color of the symbol's stroke or line.\n *\n * @sample highcharts/navigation/buttonoptions-symbolstroke/\n * Blue symbol stroke\n *\n * @type {Highcharts.ColorString}\n * @since 2.0\n */\n symbolStroke: '#666666',\n /**\n * The pixel stroke width of the symbol on the button.\n *\n * @sample highcharts/navigation/buttonoptions-height/\n * Bigger buttons\n *\n * @since 2.0\n */\n symbolStrokeWidth: 3,\n /**\n * A configuration object for the button theme. The object accepts\n * SVG properties like `stroke-width`, `stroke` and `fill`.\n * Tri-state button styles are supported by the `states.hover` and\n * `states.select` objects.\n *\n * @sample highcharts/navigation/buttonoptions-theme/\n * Theming the buttons\n *\n * @requires modules/exporting\n *\n * @since 3.0\n */\n theme: {\n /**\n * The default fill exists only to capture hover events.\n *\n * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}\n * @default #ffffff\n * @apioption navigation.buttonOptions.theme.fill\n */\n /**\n * Default stroke for the buttons.\n * @type {Highcharts.ColorString}\n * @default none\n * @apioption navigation.buttonOptions.theme.stroke\n */\n /**\n * Padding for the button.\n */\n padding: 5\n }\n }\n });\n // Add the export related options\n /**\n * Options for the exporting module. For an overview on the matter, see\n * [the docs](https://www.highcharts.com/docs/export-module/export-module-overview).\n *\n * @requires modules/exporting\n * @optionparent exporting\n */\n defaultOptions.exporting = {\n /**\n * Experimental setting to allow HTML inside the chart (added through\n * the `useHTML` options), directly in the exported image. This allows\n * you to preserve complicated HTML structures like tables or bi-directional\n * text in exported charts.\n *\n * Disclaimer: The HTML is rendered in a `foreignObject` tag in the\n * generated SVG. The official export server is based on PhantomJS,\n * which supports this, but other SVG clients, like Batik, does not\n * support it. This also applies to downloaded SVG that you want to\n * open in a desktop client.\n *\n * @type {boolean}\n * @default false\n * @since 4.1.8\n * @apioption exporting.allowHTML\n */\n /**\n * Additional chart options to be merged into the chart before exporting to\n * an image format. This does not apply to printing the chart via the export\n * menu.\n *\n * For example, a common use case is to add data labels to improve\n * readability of the exported chart, or to add a printer-friendly color\n * scheme to exported PDFs.\n *\n * @sample {highcharts} highcharts/exporting/chartoptions-data-labels/\n * Added data labels\n * @sample {highstock} highcharts/exporting/chartoptions-data-labels/\n * Added data labels\n *\n * @type {Highcharts.Options}\n * @apioption exporting.chartOptions\n */\n /**\n * Whether to enable the exporting module. Disabling the module will\n * hide the context button, but API methods will still be available.\n *\n * @sample {highcharts} highcharts/exporting/enabled-false/\n * Exporting module is loaded but disabled\n * @sample {highstock} highcharts/exporting/enabled-false/\n * Exporting module is loaded but disabled\n *\n * @type {boolean}\n * @default true\n * @since 2.0\n * @apioption exporting.enabled\n */\n /**\n * Function to call if the offline-exporting module fails to export\n * a chart on the client side, and [fallbackToExportServer](\n * #exporting.fallbackToExportServer) is disabled. If left undefined, an\n * exception is thrown instead. Receives two parameters, the exporting\n * options, and the error from the module.\n *\n * @see [fallbackToExportServer](#exporting.fallbackToExportServer)\n *\n * @type {Highcharts.ExportingErrorCallbackFunction}\n * @since 5.0.0\n * @requires modules/exporting\n * @requires modules/offline-exporting\n * @apioption exporting.error\n */\n /**\n * Whether or not to fall back to the export server if the offline-exporting\n * module is unable to export the chart on the client side. This happens for\n * certain browsers, and certain features (e.g.\n * [allowHTML](#exporting.allowHTML)), depending on the image type exporting\n * to. For very complex charts, it is possible that export can fail in\n * browsers that don't support Blob objects, due to data URL length limits.\n * It is recommended to define the [exporting.error](#exporting.error)\n * handler if disabling fallback, in order to notify users in case export\n * fails.\n *\n * @type {boolean}\n * @default true\n * @since 4.1.8\n * @requires modules/exporting\n * @requires modules/offline-exporting\n * @apioption exporting.fallbackToExportServer\n */\n /**\n * The filename, without extension, to use for the exported chart.\n *\n * @sample {highcharts} highcharts/exporting/filename/\n * Custom file name\n * @sample {highstock} highcharts/exporting/filename/\n * Custom file name\n *\n * @type {string}\n * @default chart\n * @since 2.0\n * @apioption exporting.filename\n */\n /**\n * An object containing additional key value data for the POST form that\n * sends the SVG to the export server. For example, a `target` can be set to\n * make sure the generated image is received in another frame, or a custom\n * `enctype` or `encoding` can be set.\n *\n * @type {Highcharts.HTMLAttributes}\n * @since 3.0.8\n * @apioption exporting.formAttributes\n */\n /**\n * Path where Highcharts will look for export module dependencies to\n * load on demand if they don't already exist on `window`. Should currently\n * point to location of [CanVG](https://github.com/canvg/canvg) library,\n * [RGBColor.js](https://github.com/canvg/canvg),\n * [jsPDF](https://github.com/yWorks/jsPDF) and\n * [svg2pdf.js](https://github.com/yWorks/svg2pdf.js), required for client\n * side export in certain browsers.\n *\n * @type {string}\n * @default https://code.highcharts.com/{version}/lib\n * @since 5.0.0\n * @apioption exporting.libURL\n */\n /**\n * Analogous to [sourceWidth](#exporting.sourceWidth).\n *\n * @type {number}\n * @since 3.0\n * @apioption exporting.sourceHeight\n */\n /**\n * The width of the original chart when exported, unless an explicit\n * [chart.width](#chart.width) is set, or a pixel width is set on the\n * container. The width exported raster image is then multiplied by\n * [scale](#exporting.scale).\n *\n * @sample {highcharts} highcharts/exporting/sourcewidth/\n * Source size demo\n * @sample {highstock} highcharts/exporting/sourcewidth/\n * Source size demo\n * @sample {highmaps} maps/exporting/sourcewidth/\n * Source size demo\n *\n * @type {number}\n * @since 3.0\n * @apioption exporting.sourceWidth\n */\n /**\n * The pixel width of charts exported to PNG or JPG. As of Highcharts\n * 3.0, the default pixel width is a function of the [chart.width](\n * #chart.width) or [exporting.sourceWidth](#exporting.sourceWidth) and the\n * [exporting.scale](#exporting.scale).\n *\n * @sample {highcharts} highcharts/exporting/width/\n * Export to 200px wide images\n * @sample {highstock} highcharts/exporting/width/\n * Export to 200px wide images\n *\n * @type {number}\n * @since 2.0\n * @apioption exporting.width\n */\n /**\n * Default MIME type for exporting if `chart.exportChart()` is called\n * without specifying a `type` option. Possible values are `image/png`,\n * `image/jpeg`, `application/pdf` and `image/svg+xml`.\n *\n * @type {Highcharts.ExportingMimeTypeValue}\n * @since 2.0\n */\n type: 'image/png',\n /**\n * The URL for the server module converting the SVG string to an image\n * format. By default this points to Highchart's free web service.\n *\n * @since 2.0\n */\n url: 'https://export.highcharts.com/',\n /**\n * When printing the chart from the menu item in the burger menu, if\n * the on-screen chart exceeds this width, it is resized. After printing\n * or cancelled, it is restored. The default width makes the chart\n * fit into typical paper format. Note that this does not affect the\n * chart when printing the web page as a whole.\n *\n * @since 4.2.5\n */\n printMaxWidth: 780,\n /**\n * Defines the scale or zoom factor for the exported image compared\n * to the on-screen display. While for instance a 600px wide chart\n * may look good on a website, it will look bad in print. The default\n * scale of 2 makes this chart export to a 1200px PNG or JPG.\n *\n * @see [chart.width](#chart.width)\n * @see [exporting.sourceWidth](#exporting.sourceWidth)\n *\n * @sample {highcharts} highcharts/exporting/scale/\n * Scale demonstrated\n * @sample {highstock} highcharts/exporting/scale/\n * Scale demonstrated\n * @sample {highmaps} maps/exporting/scale/\n * Scale demonstrated\n *\n * @since 3.0\n */\n scale: 2,\n /**\n * Options for the export related buttons, print and export. In addition\n * to the default buttons listed here, custom buttons can be added.\n * See [navigation.buttonOptions](#navigation.buttonOptions) for general\n * options.\n *\n * @type {Highcharts.Dictionary<*>}\n * @requires modules/exporting\n */\n buttons: {\n /**\n * Options for the export button.\n *\n * In styled mode, export button styles can be applied with the\n * `.highcharts-contextbutton` class.\n *\n * @declare Highcharts.ExportingButtonsOptionsObject\n * @extends navigation.buttonOptions\n * @requires modules/exporting\n */\n contextButton: {\n /**\n * A click handler callback to use on the button directly instead of\n * the popup menu.\n *\n * @sample highcharts/exporting/buttons-contextbutton-onclick/\n * Skip the menu and export the chart directly\n *\n * @type {Function}\n * @since 2.0\n * @apioption exporting.buttons.contextButton.onclick\n */\n /**\n * See [navigation.buttonOptions.symbolFill](\n * #navigation.buttonOptions.symbolFill).\n *\n * @type {Highcharts.ColorString}\n * @default #666666\n * @since 2.0\n * @apioption exporting.buttons.contextButton.symbolFill\n */\n /**\n * The horizontal position of the button relative to the `align`\n * option.\n *\n * @type {number}\n * @default -10\n * @since 2.0\n * @apioption exporting.buttons.contextButton.x\n */\n /**\n * The class name of the context button.\n */\n className: 'highcharts-contextbutton',\n /**\n * The class name of the menu appearing from the button.\n */\n menuClassName: 'highcharts-contextmenu',\n /**\n * The symbol for the button. Points to a definition function in\n * the `Highcharts.Renderer.symbols` collection. The default\n * `exportIcon` function is part of the exporting module. Possible\n * values are \"circle\", \"square\", \"diamond\", \"triangle\",\n * \"triangle-down\", \"menu\", \"menuball\" or custom shape.\n *\n * @sample highcharts/exporting/buttons-contextbutton-symbol/\n * Use a circle for symbol\n * @sample highcharts/exporting/buttons-contextbutton-symbol-custom/\n * Custom shape as symbol\n *\n * @type {Highcharts.SymbolKeyValue|\"exportIcon\"|\"menu\"|\"menuball\"|string}\n * @since 2.0\n */\n symbol: 'menu',\n /**\n * The key to a [lang](#lang) option setting that is used for the\n * button's title tooltip. When the key is `contextButtonTitle`, it\n * refers to [lang.contextButtonTitle](#lang.contextButtonTitle)\n * that defaults to \"Chart context menu\".\n *\n * @since 6.1.4\n */\n titleKey: 'contextButtonTitle',\n /**\n * This option is deprecated, use\n * [titleKey](#exporting.buttons.contextButton.titleKey) instead.\n *\n * @deprecated\n * @type {string}\n * @apioption exporting.buttons.contextButton._titleKey\n */\n /**\n * A collection of strings pointing to config options for the menu\n * items. The config options are defined in the\n * `menuItemDefinitions` option.\n *\n * By default, there is the \"View in full screen\" and \"Print\" menu\n * items, plus one menu item for each of the available export types.\n *\n * @sample {highcharts} highcharts/exporting/menuitemdefinitions/\n * Menu item definitions\n * @sample {highstock} highcharts/exporting/menuitemdefinitions/\n * Menu item definitions\n * @sample {highmaps} highcharts/exporting/menuitemdefinitions/\n * Menu item definitions\n *\n * @type {Array}\n * @default [\"viewFullscreen\", \"printChart\", \"separator\", \"downloadPNG\", \"downloadJPEG\", \"downloadPDF\", \"downloadSVG\"]\n * @since 2.0\n */\n menuItems: [\n 'viewFullscreen',\n 'printChart',\n 'separator',\n 'downloadPNG',\n 'downloadJPEG',\n 'downloadPDF',\n 'downloadSVG'\n ]\n }\n },\n /**\n * An object consisting of definitions for the menu items in the context\n * menu. Each key value pair has a `key` that is referenced in the\n * [menuItems](#exporting.buttons.contextButton.menuItems) setting,\n * and a `value`, which is an object with the following properties:\n *\n * - **onclick:** The click handler for the menu item\n *\n * - **text:** The text for the menu item\n *\n * - **textKey:** If internationalization is required, the key to a language\n * string\n *\n * Custom text for the \"exitFullScreen\" can be set only in lang options\n * (it is not a separate button).\n *\n * @sample {highcharts} highcharts/exporting/menuitemdefinitions/\n * Menu item definitions\n * @sample {highstock} highcharts/exporting/menuitemdefinitions/\n * Menu item definitions\n * @sample {highmaps} highcharts/exporting/menuitemdefinitions/\n * Menu item definitions\n *\n *\n * @type {Highcharts.Dictionary}\n * @default {\"viewFullscreen\": {}, \"printChart\": {}, \"separator\": {}, \"downloadPNG\": {}, \"downloadJPEG\": {}, \"downloadPDF\": {}, \"downloadSVG\": {}}\n * @since 5.0.13\n */\n menuItemDefinitions: {\n /**\n * @ignore\n */\n viewFullscreen: {\n textKey: 'viewFullscreen',\n onclick: function () {\n this.fullscreen.toggle();\n }\n },\n /**\n * @ignore\n */\n printChart: {\n textKey: 'printChart',\n onclick: function () {\n this.print();\n }\n },\n /**\n * @ignore\n */\n separator: {\n separator: true\n },\n /**\n * @ignore\n */\n downloadPNG: {\n textKey: 'downloadPNG',\n onclick: function () {\n this.exportChart();\n }\n },\n /**\n * @ignore\n */\n downloadJPEG: {\n textKey: 'downloadJPEG',\n onclick: function () {\n this.exportChart({\n type: 'image/jpeg'\n });\n }\n },\n /**\n * @ignore\n */\n downloadPDF: {\n textKey: 'downloadPDF',\n onclick: function () {\n this.exportChart({\n type: 'application/pdf'\n });\n }\n },\n /**\n * @ignore\n */\n downloadSVG: {\n textKey: 'downloadSVG',\n onclick: function () {\n this.exportChart({\n type: 'image/svg+xml'\n });\n }\n }\n }\n };\n /**\n * Fires after a chart is printed through the context menu item or the\n * `Chart.print` method.\n *\n * @sample highcharts/chart/events-beforeprint-afterprint/\n * Rescale the chart to print\n *\n * @type {Highcharts.ExportingAfterPrintCallbackFunction}\n * @since 4.1.0\n * @context Highcharts.Chart\n * @requires modules/exporting\n * @apioption chart.events.afterPrint\n */\n /**\n * Fires before a chart is printed through the context menu item or\n * the `Chart.print` method.\n *\n * @sample highcharts/chart/events-beforeprint-afterprint/\n * Rescale the chart to print\n *\n * @type {Highcharts.ExportingBeforePrintCallbackFunction}\n * @since 4.1.0\n * @context Highcharts.Chart\n * @requires modules/exporting\n * @apioption chart.events.beforePrint\n */\n /**\n * The post utility\n *\n * @private\n * @function Highcharts.post\n * @param {string} url\n * Post URL\n * @param {object} data\n * Post data\n * @param {Highcharts.Dictionary} [formAttributes]\n * Additional attributes for the post request\n * @return {void}\n */\n H.post = function (url, data, formAttributes) {\n // create the form\n var form = createElement('form',\n merge({\n method: 'post',\n action: url,\n enctype: 'multipart/form-data'\n },\n formAttributes), {\n display: 'none'\n },\n doc.body);\n // add the data\n objectEach(data, function (val, name) {\n createElement('input', {\n type: 'hidden',\n name: name,\n value: val\n }, null, form);\n });\n // submit\n form.submit();\n // clean up\n discardElement(form);\n };\n if (H.isSafari) {\n H.win.matchMedia('print').addListener(function (mqlEvent) {\n if (!H.printingChart) {\n return void 0;\n }\n if (mqlEvent.matches) {\n H.printingChart.beforePrint();\n }\n else {\n H.printingChart.afterPrint();\n }\n });\n }\n extend(Chart.prototype, /** @lends Highcharts.Chart.prototype */ {\n /* eslint-disable no-invalid-this, valid-jsdoc */\n /**\n * Exporting module only. A collection of fixes on the produced SVG to\n * account for expando properties, browser bugs, VML problems and other.\n * Returns a cleaned SVG.\n *\n * @private\n * @function Highcharts.Chart#sanitizeSVG\n * @param {string} svg\n * SVG code to sanitize\n * @param {Highcharts.Options} options\n * Chart options to apply\n * @return {string}\n * Sanitized SVG code\n * @requires modules/exporting\n */\n sanitizeSVG: function (svg, options) {\n var split = svg.indexOf('') + 6,\n html = svg.substr(split);\n // Remove any HTML added to the container after the SVG (#894, #9087)\n svg = svg.substr(0, split);\n // Move HTML into a foreignObject\n if (options && options.exporting && options.exporting.allowHTML) {\n if (html) {\n html = '' +\n '' +\n // Some tags needs to be closed in xhtml (#13726)\n html.replace(/(<(?:img|br).*?(?=\\>))>/g, '$1 />') +\n '' +\n '';\n svg = svg.replace('', html + '');\n }\n }\n svg = svg\n .replace(/zIndex=\"[^\"]+\"/g, '')\n .replace(/symbolName=\"[^\"]+\"/g, '')\n .replace(/jQuery[0-9]+=\"[^\"]+\"/g, '')\n .replace(/url\\((\"|")(.*?)(\"|")\\;?\\)/g, 'url($2)')\n .replace(/url\\([^#]+#/g, 'url(#')\n .replace(/]+(>|$)/g, '') // strip HTML tags\n .replace(/[\\s_]+/g, '-')\n .replace(/[^a-z0-9\\-]/g, '') // preserve only latin\n .replace(/^[\\-]+/g, '') // dashes in the start\n .replace(/[\\-]+/g, '-') // dashes in a row\n .substr(0, 24)\n .replace(/[\\-]+$/g, ''); // dashes in the end;\n }\n if (!filename || filename.length < 5) {\n filename = 'chart';\n }\n return filename;\n },\n /**\n * Exporting module required. Submit an SVG version of the chart to a server\n * along with some parameters for conversion.\n *\n * @sample highcharts/members/chart-exportchart/\n * Export with no options\n * @sample highcharts/members/chart-exportchart-filename/\n * PDF type and custom filename\n * @sample highcharts/members/chart-exportchart-custom-background/\n * Different chart background in export\n * @sample stock/members/chart-exportchart/\n * Export with Highstock\n *\n * @function Highcharts.Chart#exportChart\n *\n * @param {Highcharts.ExportingOptions} exportingOptions\n * Exporting options in addition to those defined in\n * [exporting](https://api.highcharts.com/highcharts/exporting).\n *\n * @param {Highcharts.Options} chartOptions\n * Additional chart options for the exported chart. For example a\n * different background color can be added here, or `dataLabels` for\n * export only.\n *\n * @return {void}\n *\n * @requires modules/exporting\n */\n exportChart: function (exportingOptions, chartOptions) {\n var svg = this.getSVGForExport(exportingOptions,\n chartOptions);\n // merge the options\n exportingOptions = merge(this.options.exporting, exportingOptions);\n // do the post\n H.post(exportingOptions.url, {\n filename: exportingOptions.filename ? exportingOptions.filename.replace(/\\//g, '-') : this.getFilename(),\n type: exportingOptions.type,\n // IE8 fails to post undefined correctly, so use 0\n width: exportingOptions.width || 0,\n scale: exportingOptions.scale,\n svg: svg\n }, exportingOptions.formAttributes);\n },\n /**\n * Move the chart container(s) to another div.\n *\n * @function Highcharts#moveContainers\n *\n * @private\n *\n * @param {Highcharts.HTMLDOMElement} moveTo\n * Move target\n * @return {void}\n */\n moveContainers: function (moveTo) {\n var chart = this;\n (chart.fixedDiv ? // When scrollablePlotArea is active (#9533)\n [chart.fixedDiv, chart.scrollingContainer] :\n [chart.container]).forEach(function (div) {\n moveTo.appendChild(div);\n });\n },\n /**\n * Prepare chart and document before printing a chart.\n *\n * @function Highcharts#beforePrint\n *\n * @private\n *\n * @return {void}\n *\n * @fires Highcharts.Chart#event:beforePrint\n */\n beforePrint: function () {\n var chart = this,\n body = doc.body,\n printMaxWidth = chart.options.exporting.printMaxWidth,\n printReverseInfo = {\n childNodes: body.childNodes,\n origDisplay: [],\n resetParams: void 0\n };\n var handleMaxWidth;\n chart.isPrinting = true;\n chart.pointer.reset(null, 0);\n fireEvent(chart, 'beforePrint');\n // Handle printMaxWidth\n handleMaxWidth = printMaxWidth && chart.chartWidth > printMaxWidth;\n if (handleMaxWidth) {\n printReverseInfo.resetParams = [\n chart.options.chart.width,\n void 0,\n false\n ];\n chart.setSize(printMaxWidth, void 0, false);\n }\n // hide all body content\n [].forEach.call(printReverseInfo.childNodes, function (node, i) {\n if (node.nodeType === 1) {\n printReverseInfo.origDisplay[i] = node.style.display;\n node.style.display = 'none';\n }\n });\n // pull out the chart\n chart.moveContainers(body);\n // Storage details for undo action after printing\n chart.printReverseInfo = printReverseInfo;\n },\n /**\n * Clena up after printing a chart.\n *\n * @function Highcharts#afterPrint\n *\n * @private\n *\n * @param {Highcharts.Chart} chart\n * Chart that was (or suppose to be) printed\n * @return {void}\n *\n * @fires Highcharts.Chart#event:afterPrint\n */\n afterPrint: function () {\n var chart = this;\n if (!chart.printReverseInfo) {\n return void 0;\n }\n var childNodes = chart.printReverseInfo.childNodes,\n origDisplay = chart.printReverseInfo.origDisplay,\n resetParams = chart.printReverseInfo.resetParams;\n // put the chart back in\n chart.moveContainers(chart.renderTo);\n // restore all body content\n [].forEach.call(childNodes, function (node, i) {\n if (node.nodeType === 1) {\n node.style.display = (origDisplay[i] || '');\n }\n });\n chart.isPrinting = false;\n // Reset printMaxWidth\n if (resetParams) {\n chart.setSize.apply(chart, resetParams);\n }\n delete chart.printReverseInfo;\n delete H.printingChart;\n fireEvent(chart, 'afterPrint');\n },\n /**\n * Exporting module required. Clears away other elements in the page and\n * prints the chart as it is displayed. By default, when the exporting\n * module is enabled, a context button with a drop down menu in the upper\n * right corner accesses this function.\n *\n * @sample highcharts/members/chart-print/\n * Print from a HTML button\n *\n * @function Highcharts.Chart#print\n *\n * @return {void}\n *\n * @fires Highcharts.Chart#event:beforePrint\n * @fires Highcharts.Chart#event:afterPrint\n *\n * @requires modules/exporting\n */\n print: function () {\n var chart = this;\n if (chart.isPrinting) { // block the button while in printing mode\n return;\n }\n H.printingChart = chart;\n if (!H.isSafari) {\n chart.beforePrint();\n }\n // Give the browser time to draw WebGL content, an issue that randomly\n // appears (at least) in Chrome ~67 on the Mac (#8708).\n setTimeout(function () {\n win.focus(); // #1510\n win.print();\n // allow the browser to prepare before reverting\n if (!H.isSafari) {\n setTimeout(function () {\n chart.afterPrint();\n }, 1000);\n }\n }, 1);\n },\n /**\n * Display a popup menu for choosing the export type.\n *\n * @private\n * @function Highcharts.Chart#contextMenu\n * @param {string} className\n * An identifier for the menu.\n * @param {Array} items\n * A collection with text and onclicks for the items.\n * @param {number} x\n * The x position of the opener button\n * @param {number} y\n * The y position of the opener button\n * @param {number} width\n * The width of the opener button\n * @param {number} height\n * The height of the opener button\n * @return {void}\n * @requires modules/exporting\n */\n contextMenu: function (className, items, x, y, width, height, button) {\n var chart = this,\n navOptions = chart.options.navigation,\n chartWidth = chart.chartWidth,\n chartHeight = chart.chartHeight,\n cacheName = 'cache-' + className,\n menu = chart[cacheName],\n menuPadding = Math.max(width,\n height), // for mouse leave detection\n innerMenu,\n menuStyle;\n // create the menu only the first time\n if (!menu) {\n // create a HTML element above the SVG\n chart.exportContextMenu = chart[cacheName] = menu =\n createElement('div', {\n className: className\n }, {\n position: 'absolute',\n zIndex: 1000,\n padding: menuPadding + 'px',\n pointerEvents: 'auto'\n }, chart.fixedDiv || chart.container);\n innerMenu = createElement('ul', { className: 'highcharts-menu' }, {\n listStyle: 'none',\n margin: 0,\n padding: 0\n }, menu);\n // Presentational CSS\n if (!chart.styledMode) {\n css(innerMenu, extend({\n MozBoxShadow: '3px 3px 10px #888',\n WebkitBoxShadow: '3px 3px 10px #888',\n boxShadow: '3px 3px 10px #888'\n }, navOptions.menuStyle));\n }\n // hide on mouse out\n menu.hideMenu = function () {\n css(menu, { display: 'none' });\n if (button) {\n button.setState(0);\n }\n chart.openMenu = false;\n css(chart.renderTo, { overflow: 'hidden' }); // #10361\n U.clearTimeout(menu.hideTimer);\n fireEvent(chart, 'exportMenuHidden');\n };\n // Hide the menu some time after mouse leave (#1357)\n chart.exportEvents.push(addEvent(menu, 'mouseleave', function () {\n menu.hideTimer = win.setTimeout(menu.hideMenu, 500);\n }), addEvent(menu, 'mouseenter', function () {\n U.clearTimeout(menu.hideTimer);\n }), \n // Hide it on clicking or touching outside the menu (#2258,\n // #2335, #2407)\n addEvent(doc, 'mouseup', function (e) {\n if (!chart.pointer.inClass(e.target, className)) {\n menu.hideMenu();\n }\n }), addEvent(menu, 'click', function () {\n if (chart.openMenu) {\n menu.hideMenu();\n }\n }));\n // create the items\n items.forEach(function (item) {\n if (typeof item === 'string') {\n item = chart.options.exporting\n .menuItemDefinitions[item];\n }\n if (isObject(item, true)) {\n var element;\n if (item.separator) {\n element = createElement('hr', null, null, innerMenu);\n }\n else {\n // When chart initialized with the table,\n // wrong button text displayed, #14352.\n if (item.textKey === 'viewData' && chart.isDataTableVisible) {\n item.textKey = 'hideData';\n }\n element = createElement('li', {\n className: 'highcharts-menu-item',\n onclick: function (e) {\n if (e) { // IE7\n e.stopPropagation();\n }\n menu.hideMenu();\n if (item.onclick) {\n item.onclick\n .apply(chart, arguments);\n }\n },\n innerHTML: (item.text ||\n chart.options.lang[item.textKey])\n }, null, innerMenu);\n if (!chart.styledMode) {\n element.onmouseover = function () {\n css(this, navOptions.menuItemHoverStyle);\n };\n element.onmouseout = function () {\n css(this, navOptions.menuItemStyle);\n };\n css(element, extend({\n cursor: 'pointer'\n }, navOptions.menuItemStyle));\n }\n }\n // Keep references to menu divs to be able to destroy them\n chart.exportDivElements.push(element);\n }\n });\n // Keep references to menu and innerMenu div to be able to destroy\n // them\n chart.exportDivElements.push(innerMenu, menu);\n chart.exportMenuWidth = menu.offsetWidth;\n chart.exportMenuHeight = menu.offsetHeight;\n }\n menuStyle = { display: 'block' };\n // if outside right, right align it\n if (x + chart.exportMenuWidth > chartWidth) {\n menuStyle.right = (chartWidth - x - width - menuPadding) + 'px';\n }\n else {\n menuStyle.left = (x - menuPadding) + 'px';\n }\n // if outside bottom, bottom align it\n if (y + height + chart.exportMenuHeight > chartHeight &&\n button.alignOptions.verticalAlign !== 'top') {\n menuStyle.bottom = (chartHeight - y - menuPadding) + 'px';\n }\n else {\n menuStyle.top = (y + height - menuPadding) + 'px';\n }\n css(menu, menuStyle);\n css(chart.renderTo, { overflow: '' }); // #10361\n chart.openMenu = true;\n fireEvent(chart, 'exportMenuShown');\n },\n /**\n * Add the export button to the chart, with options.\n *\n * @private\n * @function Highcharts.Chart#addButton\n * @param {Highcharts.NavigationButtonOptions} options\n * @return {void}\n * @requires modules/exporting\n */\n addButton: function (options) {\n var chart = this,\n renderer = chart.renderer,\n btnOptions = merge(chart.options.navigation.buttonOptions,\n options),\n onclick = btnOptions.onclick,\n menuItems = btnOptions.menuItems,\n symbol,\n button,\n symbolSize = btnOptions.symbolSize || 12;\n if (!chart.btnCount) {\n chart.btnCount = 0;\n }\n // Keeps references to the button elements\n if (!chart.exportDivElements) {\n chart.exportDivElements = [];\n chart.exportSVGElements = [];\n }\n if (btnOptions.enabled === false) {\n return;\n }\n var attr = btnOptions.theme,\n states = attr.states,\n hover = states && states.hover,\n select = states && states.select,\n callback;\n if (!chart.styledMode) {\n attr.fill = pick(attr.fill, '#ffffff');\n attr.stroke = pick(attr.stroke, 'none');\n }\n delete attr.states;\n if (onclick) {\n callback = function (e) {\n if (e) {\n e.stopPropagation();\n }\n onclick.call(chart, e);\n };\n }\n else if (menuItems) {\n callback = function (e) {\n // consistent with onclick call (#3495)\n if (e) {\n e.stopPropagation();\n }\n chart.contextMenu(button.menuClassName, menuItems, button.translateX, button.translateY, button.width, button.height, button);\n button.setState(2);\n };\n }\n if (btnOptions.text && btnOptions.symbol) {\n attr.paddingLeft = pick(attr.paddingLeft, 25);\n }\n else if (!btnOptions.text) {\n extend(attr, {\n width: btnOptions.width,\n height: btnOptions.height,\n padding: 0\n });\n }\n if (!chart.styledMode) {\n attr['stroke-linecap'] = 'round';\n attr.fill = pick(attr.fill, '#ffffff');\n attr.stroke = pick(attr.stroke, 'none');\n }\n button = renderer\n .button(btnOptions.text, 0, 0, callback, attr, hover, select)\n .addClass(options.className)\n .attr({\n title: pick(chart.options.lang[btnOptions._titleKey || btnOptions.titleKey], '')\n });\n button.menuClassName = (options.menuClassName ||\n 'highcharts-menu-' + chart.btnCount++);\n if (btnOptions.symbol) {\n symbol = renderer\n .symbol(btnOptions.symbol, btnOptions.symbolX - (symbolSize / 2), btnOptions.symbolY - (symbolSize / 2), symbolSize, symbolSize\n // If symbol is an image, scale it (#7957)\n , {\n width: symbolSize,\n height: symbolSize\n })\n .addClass('highcharts-button-symbol')\n .attr({\n zIndex: 1\n })\n .add(button);\n if (!chart.styledMode) {\n symbol.attr({\n stroke: btnOptions.symbolStroke,\n fill: btnOptions.symbolFill,\n 'stroke-width': btnOptions.symbolStrokeWidth || 1\n });\n }\n }\n button\n .add(chart.exportingGroup)\n .align(extend(btnOptions, {\n width: button.width,\n x: pick(btnOptions.x, chart.buttonOffset) // #1654\n }), true, 'spacingBox');\n chart.buttonOffset += ((button.width + btnOptions.buttonSpacing) *\n (btnOptions.align === 'right' ? -1 : 1));\n chart.exportSVGElements.push(button, symbol);\n },\n /**\n * Destroy the export buttons.\n * @private\n * @function Highcharts.Chart#destroyExport\n * @param {global.Event} [e]\n * @return {void}\n * @requires modules/exporting\n */\n destroyExport: function (e) {\n var chart = e ? e.target : this,\n exportSVGElements = chart.exportSVGElements,\n exportDivElements = chart.exportDivElements,\n exportEvents = chart.exportEvents,\n cacheName;\n // Destroy the extra buttons added\n if (exportSVGElements) {\n exportSVGElements.forEach(function (elem, i) {\n // Destroy and null the svg elements\n if (elem) { // #1822\n elem.onclick = elem.ontouchstart = null;\n cacheName = 'cache-' + elem.menuClassName;\n if (chart[cacheName]) {\n delete chart[cacheName];\n }\n chart.exportSVGElements[i] = elem.destroy();\n }\n });\n exportSVGElements.length = 0;\n }\n // Destroy the exporting group\n if (chart.exportingGroup) {\n chart.exportingGroup.destroy();\n delete chart.exportingGroup;\n }\n // Destroy the divs for the menu\n if (exportDivElements) {\n exportDivElements.forEach(function (elem, i) {\n // Remove the event handler\n U.clearTimeout(elem.hideTimer); // #5427\n removeEvent(elem, 'mouseleave');\n // Remove inline events\n chart.exportDivElements[i] =\n elem.onmouseout =\n elem.onmouseover =\n elem.ontouchstart =\n elem.onclick = null;\n // Destroy the div by moving to garbage bin\n discardElement(elem);\n });\n exportDivElements.length = 0;\n }\n if (exportEvents) {\n exportEvents.forEach(function (unbind) {\n unbind();\n });\n exportEvents.length = 0;\n }\n }\n /* eslint-enable no-invalid-this, valid-jsdoc */\n });\n // These ones are translated to attributes rather than styles\n SVGRenderer.prototype.inlineToAttributes = [\n 'fill',\n 'stroke',\n 'strokeLinecap',\n 'strokeLinejoin',\n 'strokeWidth',\n 'textAnchor',\n 'x',\n 'y'\n ];\n // These CSS properties are not inlined. Remember camelCase.\n SVGRenderer.prototype.inlineBlacklist = [\n /-/,\n /^(clipPath|cssText|d|height|width)$/,\n /^font$/,\n /[lL]ogical(Width|Height)$/,\n /perspective/,\n /TapHighlightColor/,\n /^transition/,\n /^length$/ // #7700\n // /^text (border|color|cursor|height|webkitBorder)/\n ];\n SVGRenderer.prototype.unstyledElements = [\n 'clipPath',\n 'defs',\n 'desc'\n ];\n /**\n * Analyze inherited styles from stylesheets and add them inline\n *\n * @private\n * @function Highcharts.Chart#inlineStyles\n * @return {void}\n *\n * @todo: What are the border styles for text about? In general, text has a lot\n * of properties.\n * @todo: Make it work with IE9 and IE10.\n *\n * @requires modules/exporting\n */\n Chart.prototype.inlineStyles = function () {\n var renderer = this.renderer,\n inlineToAttributes = renderer.inlineToAttributes,\n blacklist = renderer.inlineBlacklist,\n whitelist = renderer.inlineWhitelist, // For IE\n unstyledElements = renderer.unstyledElements,\n defaultStyles = {},\n dummySVG,\n iframe,\n iframeDoc;\n // Create an iframe where we read default styles without pollution from this\n // body\n iframe = doc.createElement('iframe');\n css(iframe, {\n width: '1px',\n height: '1px',\n visibility: 'hidden'\n });\n doc.body.appendChild(iframe);\n iframeDoc = iframe.contentWindow.document;\n iframeDoc.open();\n iframeDoc.write('');\n iframeDoc.close();\n /**\n * Make hyphenated property names out of camelCase\n * @private\n * @param {string} prop\n * Property name in camelCase\n * @return {string}\n * Hyphenated property name\n */\n function hyphenate(prop) {\n return prop.replace(/([A-Z])/g, function (a, b) {\n return '-' + b.toLowerCase();\n });\n }\n /**\n * Call this on all elements and recurse to children\n * @private\n * @param {Highcharts.HTMLDOMElement} node\n * Element child\n * @return {void}\n */\n function recurse(node) {\n var styles,\n parentStyles,\n cssText = '',\n dummy,\n styleAttr,\n blacklisted,\n whitelisted,\n i;\n /**\n * Check computed styles and whether they are in the white/blacklist for\n * styles or atttributes.\n * @private\n * @param {string} val\n * Style value\n * @param {string} prop\n * Style property name\n * @return {void}\n */\n function filterStyles(val, prop) {\n // Check against whitelist & blacklist\n blacklisted = whitelisted = false;\n if (whitelist) {\n // Styled mode in IE has a whitelist instead.\n // Exclude all props not in this list.\n i = whitelist.length;\n while (i-- && !whitelisted) {\n whitelisted = whitelist[i].test(prop);\n }\n blacklisted = !whitelisted;\n }\n // Explicitly remove empty transforms\n if (prop === 'transform' && val === 'none') {\n blacklisted = true;\n }\n i = blacklist.length;\n while (i-- && !blacklisted) {\n blacklisted = (blacklist[i].test(prop) ||\n typeof val === 'function');\n }\n if (!blacklisted) {\n // If parent node has the same style, it gets inherited, no need\n // to inline it. Top-level props should be diffed against parent\n // (#7687).\n if ((parentStyles[prop] !== val || node.nodeName === 'svg') &&\n defaultStyles[node.nodeName][prop] !== val) {\n // Attributes\n if (!inlineToAttributes ||\n inlineToAttributes.indexOf(prop) !== -1) {\n if (val) {\n node.setAttribute(hyphenate(prop), val);\n }\n // Styles\n }\n else {\n cssText += hyphenate(prop) + ':' + val + ';';\n }\n }\n }\n }\n if (node.nodeType === 1 &&\n unstyledElements.indexOf(node.nodeName) === -1) {\n styles = win.getComputedStyle(node, null);\n parentStyles = node.nodeName === 'svg' ?\n {} :\n win.getComputedStyle(node.parentNode, null);\n // Get default styles from the browser so that we don't have to add\n // these\n if (!defaultStyles[node.nodeName]) {\n /*\n if (!dummySVG) {\n dummySVG = doc.createElementNS(H.SVG_NS, 'svg');\n dummySVG.setAttribute('version', '1.1');\n doc.body.appendChild(dummySVG);\n }\n */\n dummySVG = iframeDoc.getElementsByTagName('svg')[0];\n dummy = iframeDoc.createElementNS(node.namespaceURI, node.nodeName);\n dummySVG.appendChild(dummy);\n // Copy, so we can remove the node\n defaultStyles[node.nodeName] = merge(win.getComputedStyle(dummy, null));\n // Remove default fill, otherwise text disappears when exported\n if (node.nodeName === 'text') {\n delete defaultStyles.text.fill;\n }\n dummySVG.removeChild(dummy);\n }\n // Loop through all styles and add them inline if they are ok\n if (isFirefoxBrowser || isMSBrowser) {\n // Some browsers put lots of styles on the prototype\n for (var p in styles) { // eslint-disable-line guard-for-in\n filterStyles(styles[p], p);\n }\n }\n else {\n objectEach(styles, filterStyles);\n }\n // Apply styles\n if (cssText) {\n styleAttr = node.getAttribute('style');\n node.setAttribute('style', (styleAttr ? styleAttr + ';' : '') + cssText);\n }\n // Set default stroke width (needed at least for IE)\n if (node.nodeName === 'svg') {\n node.setAttribute('stroke-width', '1px');\n }\n if (node.nodeName === 'text') {\n return;\n }\n // Recurse\n [].forEach.call(node.children || node.childNodes, recurse);\n }\n }\n /**\n * Remove the dummy objects used to get defaults\n * @private\n * @return {void}\n */\n function tearDown() {\n dummySVG.parentNode.remove();\n // Remove trash from DOM that stayed after each exporting\n iframe.remove();\n }\n recurse(this.container.querySelector('svg'));\n tearDown();\n };\n symbols.menu = function (x, y, width, height) {\n var arr = [\n ['M',\n x,\n y + 2.5],\n ['L',\n x + width,\n y + 2.5],\n ['M',\n x,\n y + height / 2 + 0.5],\n ['L',\n x + width,\n y + height / 2 + 0.5],\n ['M',\n x,\n y + height - 1.5],\n ['L',\n x + width,\n y + height - 1.5]\n ];\n return arr;\n };\n symbols.menuball = function (x, y, width, height) {\n var path = [],\n h = (height / 3) - 2;\n path = path.concat(this.circle(width - h, y, h, h), this.circle(width - h, y + h + 4, h, h), this.circle(width - h, y + 2 * (h + 4), h, h));\n return path;\n };\n /**\n * Add the buttons on chart load\n * @private\n * @function Highcharts.Chart#renderExporting\n * @return {void}\n * @requires modules/exporting\n */\n Chart.prototype.renderExporting = function () {\n var chart = this,\n exportingOptions = chart.options.exporting,\n buttons = exportingOptions.buttons,\n isDirty = chart.isDirtyExporting || !chart.exportSVGElements;\n chart.buttonOffset = 0;\n if (chart.isDirtyExporting) {\n chart.destroyExport();\n }\n if (isDirty && exportingOptions.enabled !== false) {\n chart.exportEvents = [];\n chart.exportingGroup = chart.exportingGroup ||\n chart.renderer.g('exporting-group').attr({\n zIndex: 3 // #4955, // #8392\n }).add();\n objectEach(buttons, function (button) {\n chart.addButton(button);\n });\n chart.isDirtyExporting = false;\n }\n // Destroy the export elements at chart destroy\n addEvent(chart, 'destroy', chart.destroyExport);\n };\n /* eslint-disable no-invalid-this */\n // Add update methods to handle chart.update and chart.exporting.update and\n // chart.navigation.update. These must be added to the chart instance rather\n // than the Chart prototype in order to use the chart instance inside the update\n // function.\n addEvent(Chart, 'init', function () {\n var chart = this;\n /**\n * @private\n * @param {\"exporting\"|\"navigation\"} prop\n * Property name in option root\n * @param {Highcharts.ExportingOptions|Highcharts.NavigationOptions} options\n * Options to update\n * @param {boolean} [redraw=true]\n * Whether to redraw\n * @return {void}\n */\n function update(prop, options, redraw) {\n chart.isDirtyExporting = true;\n merge(true, chart.options[prop], options);\n if (pick(redraw, true)) {\n chart.redraw();\n }\n }\n chart.exporting = {\n update: function (options, redraw) {\n update('exporting', options, redraw);\n }\n };\n // Register update() method for navigation. Can not be set the same way as\n // for exporting, because navigation options are shared with bindings which\n // has separate update() logic.\n chartNavigationMixin.addUpdate(function (options, redraw) {\n update('navigation', options, redraw);\n }, chart);\n });\n /* eslint-enable no-invalid-this */\n Chart.prototype.callbacks.push(function (chart) {\n chart.renderExporting();\n addEvent(chart, 'redraw', chart.renderExporting);\n // Uncomment this to see a button directly below the chart, for quick\n // testing of export\n /*\n var button,\n viewImage,\n viewSource;\n if (!chart.renderer.forExport) {\n viewImage = function () {\n var div = doc.createElement('div');\n div.innerHTML = chart.getSVGForExport();\n chart.renderTo.parentNode.appendChild(div);\n };\n\n viewSource = function () {\n var pre = doc.createElement('pre');\n pre.innerHTML = chart.getSVGForExport()\n .replace(//g, '>');\n chart.renderTo.parentNode.appendChild(pre);\n };\n\n viewImage();\n\n // View SVG Image\n button = doc.createElement('button');\n button.innerHTML = 'View SVG Image';\n chart.renderTo.parentNode.appendChild(button);\n button.onclick = viewImage;\n\n // View SVG Source\n button = doc.createElement('button');\n button.innerHTML = 'View SVG Source';\n chart.renderTo.parentNode.appendChild(button);\n button.onclick = viewSource;\n }\n //*/\n });\n\n });\n _registerModule(_modules, 'masters/modules/exporting.src.js', [], function () {\n\n\n });\n}));","/**\n * @license Highcharts JS v8.2.2 (2020-10-22)\n *\n * Plugin for displaying a message when there is no data visible in chart.\n *\n * (c) 2010-2019 Highsoft AS\n * Author: Oystein Moseng\n *\n * License: www.highcharts.com/license\n */\n'use strict';\n(function (factory) {\n if (typeof module === 'object' && module.exports) {\n factory['default'] = factory;\n module.exports = factory;\n } else if (typeof define === 'function' && define.amd) {\n define('highcharts/modules/no-data-to-display', ['highcharts'], function (Highcharts) {\n factory(Highcharts);\n factory.Highcharts = Highcharts;\n return factory;\n });\n } else {\n factory(typeof Highcharts !== 'undefined' ? Highcharts : undefined);\n }\n}(function (Highcharts) {\n var _modules = Highcharts ? Highcharts._modules : {};\n function _registerModule(obj, path, args, fn) {\n if (!obj.hasOwnProperty(path)) {\n obj[path] = fn.apply(null, args);\n }\n }\n _registerModule(_modules, 'Extensions/NoDataToDisplay.js', [_modules['Core/Chart/Chart.js'], _modules['Core/Utilities.js']], function (Chart, U) {\n /* *\n *\n * Plugin for displaying a message when there is no data visible in chart.\n *\n * (c) 2010-2020 Highsoft AS\n *\n * Author: Oystein Moseng\n *\n * License: www.highcharts.com/license\n *\n * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!\n *\n * */\n var addEvent = U.addEvent,\n extend = U.extend,\n getOptions = U.getOptions,\n merge = U.merge;\n var chartPrototype = Chart.prototype,\n defaultOptions = getOptions();\n // Add language option\n extend(defaultOptions.lang, \n /**\n * @optionparent lang\n */\n {\n /**\n * The text to display when the chart contains no data.\n *\n * @see [noData](#noData)\n *\n * @sample highcharts/no-data-to-display/no-data-line\n * No-data text\n *\n * @since 3.0.8\n * @product highcharts highstock\n * @requires modules/no-data-to-display\n */\n noData: 'No data to display'\n });\n // Add default display options for message\n /**\n * Options for displaying a message like \"No data to display\".\n * This feature requires the file no-data-to-display.js to be loaded in the\n * page. The actual text to display is set in the lang.noData option.\n *\n * @sample highcharts/no-data-to-display/no-data-line\n * Line chart with no-data module\n * @sample highcharts/no-data-to-display/no-data-pie\n * Pie chart with no-data module\n *\n * @product highcharts highstock gantt\n * @requires modules/no-data-to-display\n * @optionparent noData\n */\n defaultOptions.noData = {\n /**\n * An object of additional SVG attributes for the no-data label.\n *\n * @type {Highcharts.SVGAttributes}\n * @since 3.0.8\n * @product highcharts highstock gantt\n * @apioption noData.attr\n */\n attr: {\n zIndex: 1\n },\n /**\n * Whether to insert the label as HTML, or as pseudo-HTML rendered with\n * SVG.\n *\n * @type {boolean}\n * @default false\n * @since 4.1.10\n * @product highcharts highstock gantt\n * @apioption noData.useHTML\n */\n /**\n * The position of the no-data label, relative to the plot area.\n *\n * @type {Highcharts.AlignObject}\n * @since 3.0.8\n */\n position: {\n /**\n * Horizontal offset of the label, in pixels.\n */\n x: 0,\n /**\n * Vertical offset of the label, in pixels.\n */\n y: 0,\n /**\n * Horizontal alignment of the label.\n *\n * @type {Highcharts.AlignValue}\n */\n align: 'center',\n /**\n * Vertical alignment of the label.\n *\n * @type {Highcharts.VerticalAlignValue}\n */\n verticalAlign: 'middle'\n },\n /**\n * CSS styles for the no-data label.\n *\n * @sample highcharts/no-data-to-display/no-data-line\n * Styled no-data text\n *\n * @type {Highcharts.CSSObject}\n */\n style: {\n /** @ignore */\n fontWeight: 'bold',\n /** @ignore */\n fontSize: '12px',\n /** @ignore */\n color: '#666666'\n }\n };\n /**\n * Display a no-data message.\n * @private\n * @function Highcharts.Chart#showNoData\n * @param {string} [str]\n * An optional message to show in place of the default one\n * @return {void}\n * @requires modules/no-data-to-display\n */\n chartPrototype.showNoData = function (str) {\n var chart = this,\n options = chart.options,\n text = str || (options && options.lang.noData),\n noDataOptions = options && (options.noData || {});\n if (chart.renderer) { // Meaning chart is not destroyed\n if (!chart.noDataLabel) {\n chart.noDataLabel = chart.renderer\n .label(text, 0, 0, void 0, void 0, void 0, noDataOptions.useHTML, void 0, 'no-data')\n .add();\n }\n if (!chart.styledMode) {\n chart.noDataLabel\n .attr(noDataOptions.attr)\n .css(noDataOptions.style || {});\n }\n chart.noDataLabel.align(extend(chart.noDataLabel.getBBox(), noDataOptions.position || {}), false, 'plotBox');\n }\n };\n /**\n * Hide no-data message.\n *\n * @private\n * @function Highcharts.Chart#hideNoData\n * @return {void}\n * @requires modules/no-data-to-display\n */\n chartPrototype.hideNoData = function () {\n var chart = this;\n if (chart.noDataLabel) {\n chart.noDataLabel = chart.noDataLabel.destroy();\n }\n };\n /**\n * Returns true if there are data points within the plot area now.\n *\n * @private\n * @function Highcharts.Chart#hasData\n * @return {boolean|undefined}\n * True, if there are data points.\n * @requires modules/no-data-to-display\n */\n chartPrototype.hasData = function () {\n var chart = this,\n series = chart.series || [],\n i = series.length;\n while (i--) {\n if (series[i].hasData() && !series[i].options.isInternal) {\n return true;\n }\n }\n return chart.loadingShown; // #4588\n };\n /* eslint-disable no-invalid-this */\n // Add event listener to handle automatic show or hide no-data message.\n addEvent(Chart, 'render', function handleNoData() {\n if (this.hasData()) {\n this.hideNoData();\n }\n else {\n this.showNoData();\n }\n });\n\n });\n _registerModule(_modules, 'masters/modules/no-data-to-display.src.js', [], function () {\n\n\n });\n}));","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","'use strict';\n\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar callBound = require('call-bind/callBound');\n\nvar $toString = callBound('Object.prototype.toString');\n\nvar isStandardArguments = function isArguments(value) {\n\tif (hasToStringTag && value && typeof value === 'object' && Symbol.toStringTag in value) {\n\t\treturn false;\n\t}\n\treturn $toString(value) === '[object Arguments]';\n};\n\nvar isLegacyArguments = function isArguments(value) {\n\tif (isStandardArguments(value)) {\n\t\treturn true;\n\t}\n\treturn value !== null &&\n\t\ttypeof value === 'object' &&\n\t\ttypeof value.length === 'number' &&\n\t\tvalue.length >= 0 &&\n\t\t$toString(value) !== '[object Array]' &&\n\t\t$toString(value.callee) === '[object Function]';\n};\n\nvar supportsStandardArguments = (function () {\n\treturn isStandardArguments(arguments);\n}());\n\nisStandardArguments.isLegacyArguments = isLegacyArguments; // for tests\n\nmodule.exports = supportsStandardArguments ? isStandardArguments : isLegacyArguments;\n","'use strict';\n\nvar getDay = Date.prototype.getDay;\nvar tryDateObject = function tryDateGetDayCall(value) {\n\ttry {\n\t\tgetDay.call(value);\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\n\nvar toStr = Object.prototype.toString;\nvar dateClass = '[object Date]';\nvar hasToStringTag = require('has-tostringtag/shams')();\n\nmodule.exports = function isDateObject(value) {\n\tif (typeof value !== 'object' || value === null) {\n\t\treturn false;\n\t}\n\treturn hasToStringTag ? tryDateObject(value) : toStr.call(value) === dateClass;\n};\n","/*!\n * is-number \n *\n * Copyright (c) 2014-present, Jon Schlinkert.\n * Released under the MIT License.\n */\n\n'use strict';\n\nmodule.exports = function(num) {\n if (typeof num === 'number') {\n return num - num === 0;\n }\n if (typeof num === 'string' && num.trim() !== '') {\n return Number.isFinite ? Number.isFinite(+num) : isFinite(+num);\n }\n return false;\n};\n","'use strict';\n\nvar callBound = require('call-bind/callBound');\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar has;\nvar $exec;\nvar isRegexMarker;\nvar badStringifier;\n\nif (hasToStringTag) {\n\thas = callBound('Object.prototype.hasOwnProperty');\n\t$exec = callBound('RegExp.prototype.exec');\n\tisRegexMarker = {};\n\n\tvar throwRegexMarker = function () {\n\t\tthrow isRegexMarker;\n\t};\n\tbadStringifier = {\n\t\ttoString: throwRegexMarker,\n\t\tvalueOf: throwRegexMarker\n\t};\n\n\tif (typeof Symbol.toPrimitive === 'symbol') {\n\t\tbadStringifier[Symbol.toPrimitive] = throwRegexMarker;\n\t}\n}\n\nvar $toString = callBound('Object.prototype.toString');\nvar gOPD = Object.getOwnPropertyDescriptor;\nvar regexClass = '[object RegExp]';\n\nmodule.exports = hasToStringTag\n\t// eslint-disable-next-line consistent-return\n\t? function isRegex(value) {\n\t\tif (!value || typeof value !== 'object') {\n\t\t\treturn false;\n\t\t}\n\n\t\tvar descriptor = gOPD(value, 'lastIndex');\n\t\tvar hasLastIndexDataProperty = descriptor && has(descriptor, 'value');\n\t\tif (!hasLastIndexDataProperty) {\n\t\t\treturn false;\n\t\t}\n\n\t\ttry {\n\t\t\t$exec(value, badStringifier);\n\t\t} catch (e) {\n\t\t\treturn e === isRegexMarker;\n\t\t}\n\t}\n\t: function isRegex(value) {\n\t\t// In older browsers, typeof regex incorrectly returns 'function'\n\t\tif (!value || (typeof value !== 'object' && typeof value !== 'function')) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn $toString(value) === regexClass;\n\t};\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","module.exports = self.fetch || (self.fetch = require('unfetch').default || require('unfetch'));\n","/*!\n * JavaScript Cookie v2.2.1\n * https://github.com/js-cookie/js-cookie\n *\n * Copyright 2006, 2015 Klaus Hartl & Fagner Brack\n * Released under the MIT license\n */\n;(function (factory) {\n\tvar registeredInModuleLoader;\n\tif (typeof define === 'function' && define.amd) {\n\t\tdefine(factory);\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (typeof exports === 'object') {\n\t\tmodule.exports = factory();\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (!registeredInModuleLoader) {\n\t\tvar OldCookies = window.Cookies;\n\t\tvar api = window.Cookies = factory();\n\t\tapi.noConflict = function () {\n\t\t\twindow.Cookies = OldCookies;\n\t\t\treturn api;\n\t\t};\n\t}\n}(function () {\n\tfunction extend () {\n\t\tvar i = 0;\n\t\tvar result = {};\n\t\tfor (; i < arguments.length; i++) {\n\t\t\tvar attributes = arguments[ i ];\n\t\t\tfor (var key in attributes) {\n\t\t\t\tresult[key] = attributes[key];\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tfunction decode (s) {\n\t\treturn s.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent);\n\t}\n\n\tfunction init (converter) {\n\t\tfunction api() {}\n\n\t\tfunction set (key, value, attributes) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tattributes = extend({\n\t\t\t\tpath: '/'\n\t\t\t}, api.defaults, attributes);\n\n\t\t\tif (typeof attributes.expires === 'number') {\n\t\t\t\tattributes.expires = new Date(new Date() * 1 + attributes.expires * 864e+5);\n\t\t\t}\n\n\t\t\t// We're using \"expires\" because \"max-age\" is not supported by IE\n\t\t\tattributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';\n\n\t\t\ttry {\n\t\t\t\tvar result = JSON.stringify(value);\n\t\t\t\tif (/^[\\{\\[]/.test(result)) {\n\t\t\t\t\tvalue = result;\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\n\t\t\tvalue = converter.write ?\n\t\t\t\tconverter.write(value, key) :\n\t\t\t\tencodeURIComponent(String(value))\n\t\t\t\t\t.replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);\n\n\t\t\tkey = encodeURIComponent(String(key))\n\t\t\t\t.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent)\n\t\t\t\t.replace(/[\\(\\)]/g, escape);\n\n\t\t\tvar stringifiedAttributes = '';\n\t\t\tfor (var attributeName in attributes) {\n\t\t\t\tif (!attributes[attributeName]) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tstringifiedAttributes += '; ' + attributeName;\n\t\t\t\tif (attributes[attributeName] === true) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Considers RFC 6265 section 5.2:\n\t\t\t\t// ...\n\t\t\t\t// 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n\t\t\t\t// character:\n\t\t\t\t// Consume the characters of the unparsed-attributes up to,\n\t\t\t\t// not including, the first %x3B (\";\") character.\n\t\t\t\t// ...\n\t\t\t\tstringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n\t\t\t}\n\n\t\t\treturn (document.cookie = key + '=' + value + stringifiedAttributes);\n\t\t}\n\n\t\tfunction get (key, json) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar jar = {};\n\t\t\t// To prevent the for loop in the first place assign an empty array\n\t\t\t// in case there are no cookies at all.\n\t\t\tvar cookies = document.cookie ? document.cookie.split('; ') : [];\n\t\t\tvar i = 0;\n\n\t\t\tfor (; i < cookies.length; i++) {\n\t\t\t\tvar parts = cookies[i].split('=');\n\t\t\t\tvar cookie = parts.slice(1).join('=');\n\n\t\t\t\tif (!json && cookie.charAt(0) === '\"') {\n\t\t\t\t\tcookie = cookie.slice(1, -1);\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tvar name = decode(parts[0]);\n\t\t\t\t\tcookie = (converter.read || converter)(cookie, name) ||\n\t\t\t\t\t\tdecode(cookie);\n\n\t\t\t\t\tif (json) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tcookie = JSON.parse(cookie);\n\t\t\t\t\t\t} catch (e) {}\n\t\t\t\t\t}\n\n\t\t\t\t\tjar[name] = cookie;\n\n\t\t\t\t\tif (key === name) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {}\n\t\t\t}\n\n\t\t\treturn key ? jar[key] : jar;\n\t\t}\n\n\t\tapi.set = set;\n\t\tapi.get = function (key) {\n\t\t\treturn get(key, false /* read as raw */);\n\t\t};\n\t\tapi.getJSON = function (key) {\n\t\t\treturn get(key, true /* read as json */);\n\t\t};\n\t\tapi.remove = function (key, attributes) {\n\t\t\tset(key, '', extend(attributes, {\n\t\t\t\texpires: -1\n\t\t\t}));\n\t\t};\n\n\t\tapi.defaults = {};\n\n\t\tapi.withConverter = init;\n\n\t\treturn api;\n\t}\n\n\treturn init(function () {});\n}));\n","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = debounce;\n","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map'),\n nativeCreate = getNative(Object, 'create');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result);\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Assign cache to `_.memoize`.\nmemoize.Cache = MapCache;\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = memoize;\n","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = throttle;\n","// these aren't really private, but nor are they really useful to document\n\n/**\n * @private\n */\nclass LuxonError extends Error {}\n\n/**\n * @private\n */\nexport class InvalidDateTimeError extends LuxonError {\n constructor(reason) {\n super(`Invalid DateTime: ${reason.toMessage()}`);\n }\n}\n\n/**\n * @private\n */\nexport class InvalidIntervalError extends LuxonError {\n constructor(reason) {\n super(`Invalid Interval: ${reason.toMessage()}`);\n }\n}\n\n/**\n * @private\n */\nexport class InvalidDurationError extends LuxonError {\n constructor(reason) {\n super(`Invalid Duration: ${reason.toMessage()}`);\n }\n}\n\n/**\n * @private\n */\nexport class ConflictingSpecificationError extends LuxonError {}\n\n/**\n * @private\n */\nexport class InvalidUnitError extends LuxonError {\n constructor(unit) {\n super(`Invalid unit ${unit}`);\n }\n}\n\n/**\n * @private\n */\nexport class InvalidArgumentError extends LuxonError {}\n\n/**\n * @private\n */\nexport class ZoneIsAbstractError extends LuxonError {\n constructor() {\n super(\"Zone is an abstract class\");\n }\n}\n","/**\n * @private\n */\n\nconst n = \"numeric\",\n s = \"short\",\n l = \"long\";\n\nexport const DATE_SHORT = {\n year: n,\n month: n,\n day: n\n};\n\nexport const DATE_MED = {\n year: n,\n month: s,\n day: n\n};\n\nexport const DATE_MED_WITH_WEEKDAY = {\n year: n,\n month: s,\n day: n,\n weekday: s\n};\n\nexport const DATE_FULL = {\n year: n,\n month: l,\n day: n\n};\n\nexport const DATE_HUGE = {\n year: n,\n month: l,\n day: n,\n weekday: l\n};\n\nexport const TIME_SIMPLE = {\n hour: n,\n minute: n\n};\n\nexport const TIME_WITH_SECONDS = {\n hour: n,\n minute: n,\n second: n\n};\n\nexport const TIME_WITH_SHORT_OFFSET = {\n hour: n,\n minute: n,\n second: n,\n timeZoneName: s\n};\n\nexport const TIME_WITH_LONG_OFFSET = {\n hour: n,\n minute: n,\n second: n,\n timeZoneName: l\n};\n\nexport const TIME_24_SIMPLE = {\n hour: n,\n minute: n,\n hour12: false\n};\n\n/**\n * {@link toLocaleString}; format like '09:30:23', always 24-hour.\n */\nexport const TIME_24_WITH_SECONDS = {\n hour: n,\n minute: n,\n second: n,\n hour12: false\n};\n\n/**\n * {@link toLocaleString}; format like '09:30:23 EDT', always 24-hour.\n */\nexport const TIME_24_WITH_SHORT_OFFSET = {\n hour: n,\n minute: n,\n second: n,\n hour12: false,\n timeZoneName: s\n};\n\n/**\n * {@link toLocaleString}; format like '09:30:23 Eastern Daylight Time', always 24-hour.\n */\nexport const TIME_24_WITH_LONG_OFFSET = {\n hour: n,\n minute: n,\n second: n,\n hour12: false,\n timeZoneName: l\n};\n\n/**\n * {@link toLocaleString}; format like '10/14/1983, 9:30 AM'. Only 12-hour if the locale is.\n */\nexport const DATETIME_SHORT = {\n year: n,\n month: n,\n day: n,\n hour: n,\n minute: n\n};\n\n/**\n * {@link toLocaleString}; format like '10/14/1983, 9:30:33 AM'. Only 12-hour if the locale is.\n */\nexport const DATETIME_SHORT_WITH_SECONDS = {\n year: n,\n month: n,\n day: n,\n hour: n,\n minute: n,\n second: n\n};\n\nexport const DATETIME_MED = {\n year: n,\n month: s,\n day: n,\n hour: n,\n minute: n\n};\n\nexport const DATETIME_MED_WITH_SECONDS = {\n year: n,\n month: s,\n day: n,\n hour: n,\n minute: n,\n second: n\n};\n\nexport const DATETIME_MED_WITH_WEEKDAY = {\n year: n,\n month: s,\n day: n,\n weekday: s,\n hour: n,\n minute: n\n};\n\nexport const DATETIME_FULL = {\n year: n,\n month: l,\n day: n,\n hour: n,\n minute: n,\n timeZoneName: s\n};\n\nexport const DATETIME_FULL_WITH_SECONDS = {\n year: n,\n month: l,\n day: n,\n hour: n,\n minute: n,\n second: n,\n timeZoneName: s\n};\n\nexport const DATETIME_HUGE = {\n year: n,\n month: l,\n day: n,\n weekday: l,\n hour: n,\n minute: n,\n timeZoneName: l\n};\n\nexport const DATETIME_HUGE_WITH_SECONDS = {\n year: n,\n month: l,\n day: n,\n weekday: l,\n hour: n,\n minute: n,\n second: n,\n timeZoneName: l\n};\n","/*\n This is just a junk drawer, containing anything used across multiple classes.\n Because Luxon is small(ish), this should stay small and we won't worry about splitting\n it up into, say, parsingUtil.js and basicUtil.js and so on. But they are divided up by feature area.\n*/\n\nimport { InvalidArgumentError } from \"../errors.js\";\n\n/**\n * @private\n */\n\n// TYPES\n\nexport function isUndefined(o) {\n return typeof o === \"undefined\";\n}\n\nexport function isNumber(o) {\n return typeof o === \"number\";\n}\n\nexport function isInteger(o) {\n return typeof o === \"number\" && o % 1 === 0;\n}\n\nexport function isString(o) {\n return typeof o === \"string\";\n}\n\nexport function isDate(o) {\n return Object.prototype.toString.call(o) === \"[object Date]\";\n}\n\n// CAPABILITIES\n\nexport function hasIntl() {\n try {\n return typeof Intl !== \"undefined\" && Intl.DateTimeFormat;\n } catch (e) {\n return false;\n }\n}\n\nexport function hasFormatToParts() {\n return !isUndefined(Intl.DateTimeFormat.prototype.formatToParts);\n}\n\nexport function hasRelative() {\n try {\n return typeof Intl !== \"undefined\" && !!Intl.RelativeTimeFormat;\n } catch (e) {\n return false;\n }\n}\n\n// OBJECTS AND ARRAYS\n\nexport function maybeArray(thing) {\n return Array.isArray(thing) ? thing : [thing];\n}\n\nexport function bestBy(arr, by, compare) {\n if (arr.length === 0) {\n return undefined;\n }\n return arr.reduce((best, next) => {\n const pair = [by(next), next];\n if (!best) {\n return pair;\n } else if (compare(best[0], pair[0]) === best[0]) {\n return best;\n } else {\n return pair;\n }\n }, null)[1];\n}\n\nexport function pick(obj, keys) {\n return keys.reduce((a, k) => {\n a[k] = obj[k];\n return a;\n }, {});\n}\n\nexport function hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\n// NUMBERS AND STRINGS\n\nexport function integerBetween(thing, bottom, top) {\n return isInteger(thing) && thing >= bottom && thing <= top;\n}\n\n// x % n but takes the sign of n instead of x\nexport function floorMod(x, n) {\n return x - n * Math.floor(x / n);\n}\n\nexport function padStart(input, n = 2) {\n const minus = input < 0 ? \"-\" : \"\";\n const target = minus ? input * -1 : input;\n let result;\n\n if (target.toString().length < n) {\n result = (\"0\".repeat(n) + target).slice(-n);\n } else {\n result = target.toString();\n }\n\n return `${minus}${result}`;\n}\n\nexport function parseInteger(string) {\n if (isUndefined(string) || string === null || string === \"\") {\n return undefined;\n } else {\n return parseInt(string, 10);\n }\n}\n\nexport function parseMillis(fraction) {\n // Return undefined (instead of 0) in these cases, where fraction is not set\n if (isUndefined(fraction) || fraction === null || fraction === \"\") {\n return undefined;\n } else {\n const f = parseFloat(\"0.\" + fraction) * 1000;\n return Math.floor(f);\n }\n}\n\nexport function roundTo(number, digits, towardZero = false) {\n const factor = 10 ** digits,\n rounder = towardZero ? Math.trunc : Math.round;\n return rounder(number * factor) / factor;\n}\n\n// DATE BASICS\n\nexport function isLeapYear(year) {\n return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\n}\n\nexport function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n}\n\nexport function daysInMonth(year, month) {\n const modMonth = floorMod(month - 1, 12) + 1,\n modYear = year + (month - modMonth) / 12;\n\n if (modMonth === 2) {\n return isLeapYear(modYear) ? 29 : 28;\n } else {\n return [31, null, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][modMonth - 1];\n }\n}\n\n// covert a calendar object to a local timestamp (epoch, but with the offset baked in)\nexport function objToLocalTS(obj) {\n let d = Date.UTC(\n obj.year,\n obj.month - 1,\n obj.day,\n obj.hour,\n obj.minute,\n obj.second,\n obj.millisecond\n );\n\n // for legacy reasons, years between 0 and 99 are interpreted as 19XX; revert that\n if (obj.year < 100 && obj.year >= 0) {\n d = new Date(d);\n d.setUTCFullYear(d.getUTCFullYear() - 1900);\n }\n return +d;\n}\n\nexport function weeksInWeekYear(weekYear) {\n const p1 =\n (weekYear +\n Math.floor(weekYear / 4) -\n Math.floor(weekYear / 100) +\n Math.floor(weekYear / 400)) %\n 7,\n last = weekYear - 1,\n p2 = (last + Math.floor(last / 4) - Math.floor(last / 100) + Math.floor(last / 400)) % 7;\n return p1 === 4 || p2 === 3 ? 53 : 52;\n}\n\nexport function untruncateYear(year) {\n if (year > 99) {\n return year;\n } else return year > 60 ? 1900 + year : 2000 + year;\n}\n\n// PARSING\n\nexport function parseZoneInfo(ts, offsetFormat, locale, timeZone = null) {\n const date = new Date(ts),\n intlOpts = {\n hour12: false,\n year: \"numeric\",\n month: \"2-digit\",\n day: \"2-digit\",\n hour: \"2-digit\",\n minute: \"2-digit\"\n };\n\n if (timeZone) {\n intlOpts.timeZone = timeZone;\n }\n\n const modified = Object.assign({ timeZoneName: offsetFormat }, intlOpts),\n intl = hasIntl();\n\n if (intl && hasFormatToParts()) {\n const parsed = new Intl.DateTimeFormat(locale, modified)\n .formatToParts(date)\n .find(m => m.type.toLowerCase() === \"timezonename\");\n return parsed ? parsed.value : null;\n } else if (intl) {\n // this probably doesn't work for all locales\n const without = new Intl.DateTimeFormat(locale, intlOpts).format(date),\n included = new Intl.DateTimeFormat(locale, modified).format(date),\n diffed = included.substring(without.length),\n trimmed = diffed.replace(/^[, \\u200e]+/, \"\");\n return trimmed;\n } else {\n return null;\n }\n}\n\n// signedOffset('-5', '30') -> -330\nexport function signedOffset(offHourStr, offMinuteStr) {\n let offHour = parseInt(offHourStr, 10);\n\n // don't || this because we want to preserve -0\n if (Number.isNaN(offHour)) {\n offHour = 0;\n }\n\n const offMin = parseInt(offMinuteStr, 10) || 0,\n offMinSigned = offHour < 0 || Object.is(offHour, -0) ? -offMin : offMin;\n return offHour * 60 + offMinSigned;\n}\n\n// COERCION\n\nexport function asNumber(value) {\n const numericValue = Number(value);\n if (typeof value === \"boolean\" || value === \"\" || Number.isNaN(numericValue))\n throw new InvalidArgumentError(`Invalid unit value ${value}`);\n return numericValue;\n}\n\nexport function normalizeObject(obj, normalizer, nonUnitKeys) {\n const normalized = {};\n for (const u in obj) {\n if (hasOwnProperty(obj, u)) {\n if (nonUnitKeys.indexOf(u) >= 0) continue;\n const v = obj[u];\n if (v === undefined || v === null) continue;\n normalized[normalizer(u)] = asNumber(v);\n }\n }\n return normalized;\n}\n\nexport function formatOffset(offset, format) {\n const hours = Math.trunc(Math.abs(offset / 60)),\n minutes = Math.trunc(Math.abs(offset % 60)),\n sign = offset >= 0 ? \"+\" : \"-\";\n\n switch (format) {\n case \"short\":\n return `${sign}${padStart(hours, 2)}:${padStart(minutes, 2)}`;\n case \"narrow\":\n return `${sign}${hours}${minutes > 0 ? `:${minutes}` : \"\"}`;\n case \"techie\":\n return `${sign}${padStart(hours, 2)}${padStart(minutes, 2)}`;\n default:\n throw new RangeError(`Value format ${format} is out of range for property format`);\n }\n}\n\nexport function timeObject(obj) {\n return pick(obj, [\"hour\", \"minute\", \"second\", \"millisecond\"]);\n}\n\nexport const ianaRegex = /[A-Za-z_+-]{1,256}(:?\\/[A-Za-z_+-]{1,256}(\\/[A-Za-z_+-]{1,256})?)?/;\n","import * as Formats from \"./formats.js\";\nimport { pick } from \"./util.js\";\n\nfunction stringify(obj) {\n return JSON.stringify(obj, Object.keys(obj).sort());\n}\n\n/**\n * @private\n */\n\nexport const monthsLong = [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\"\n];\n\nexport const monthsShort = [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\"\n];\n\nexport const monthsNarrow = [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"];\n\nexport function months(length) {\n switch (length) {\n case \"narrow\":\n return [...monthsNarrow];\n case \"short\":\n return [...monthsShort];\n case \"long\":\n return [...monthsLong];\n case \"numeric\":\n return [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\"];\n case \"2-digit\":\n return [\"01\", \"02\", \"03\", \"04\", \"05\", \"06\", \"07\", \"08\", \"09\", \"10\", \"11\", \"12\"];\n default:\n return null;\n }\n}\n\nexport const weekdaysLong = [\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\",\n \"Sunday\"\n];\n\nexport const weekdaysShort = [\"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\", \"Sun\"];\n\nexport const weekdaysNarrow = [\"M\", \"T\", \"W\", \"T\", \"F\", \"S\", \"S\"];\n\nexport function weekdays(length) {\n switch (length) {\n case \"narrow\":\n return [...weekdaysNarrow];\n case \"short\":\n return [...weekdaysShort];\n case \"long\":\n return [...weekdaysLong];\n case \"numeric\":\n return [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\"];\n default:\n return null;\n }\n}\n\nexport const meridiems = [\"AM\", \"PM\"];\n\nexport const erasLong = [\"Before Christ\", \"Anno Domini\"];\n\nexport const erasShort = [\"BC\", \"AD\"];\n\nexport const erasNarrow = [\"B\", \"A\"];\n\nexport function eras(length) {\n switch (length) {\n case \"narrow\":\n return [...erasNarrow];\n case \"short\":\n return [...erasShort];\n case \"long\":\n return [...erasLong];\n default:\n return null;\n }\n}\n\nexport function meridiemForDateTime(dt) {\n return meridiems[dt.hour < 12 ? 0 : 1];\n}\n\nexport function weekdayForDateTime(dt, length) {\n return weekdays(length)[dt.weekday - 1];\n}\n\nexport function monthForDateTime(dt, length) {\n return months(length)[dt.month - 1];\n}\n\nexport function eraForDateTime(dt, length) {\n return eras(length)[dt.year < 0 ? 0 : 1];\n}\n\nexport function formatRelativeTime(unit, count, numeric = \"always\", narrow = false) {\n const units = {\n years: [\"year\", \"yr.\"],\n quarters: [\"quarter\", \"qtr.\"],\n months: [\"month\", \"mo.\"],\n weeks: [\"week\", \"wk.\"],\n days: [\"day\", \"day\", \"days\"],\n hours: [\"hour\", \"hr.\"],\n minutes: [\"minute\", \"min.\"],\n seconds: [\"second\", \"sec.\"]\n };\n\n const lastable = [\"hours\", \"minutes\", \"seconds\"].indexOf(unit) === -1;\n\n if (numeric === \"auto\" && lastable) {\n const isDay = unit === \"days\";\n switch (count) {\n case 1:\n return isDay ? \"tomorrow\" : `next ${units[unit][0]}`;\n case -1:\n return isDay ? \"yesterday\" : `last ${units[unit][0]}`;\n case 0:\n return isDay ? \"today\" : `this ${units[unit][0]}`;\n default: // fall through\n }\n }\n\n const isInPast = Object.is(count, -0) || count < 0,\n fmtValue = Math.abs(count),\n singular = fmtValue === 1,\n lilUnits = units[unit],\n fmtUnit = narrow\n ? singular\n ? lilUnits[1]\n : lilUnits[2] || lilUnits[1]\n : singular\n ? units[unit][0]\n : unit;\n return isInPast ? `${fmtValue} ${fmtUnit} ago` : `in ${fmtValue} ${fmtUnit}`;\n}\n\nexport function formatString(knownFormat) {\n // these all have the offsets removed because we don't have access to them\n // without all the intl stuff this is backfilling\n const filtered = pick(knownFormat, [\n \"weekday\",\n \"era\",\n \"year\",\n \"month\",\n \"day\",\n \"hour\",\n \"minute\",\n \"second\",\n \"timeZoneName\",\n \"hour12\"\n ]),\n key = stringify(filtered),\n dateTimeHuge = \"EEEE, LLLL d, yyyy, h:mm a\";\n switch (key) {\n case stringify(Formats.DATE_SHORT):\n return \"M/d/yyyy\";\n case stringify(Formats.DATE_MED):\n return \"LLL d, yyyy\";\n case stringify(Formats.DATE_MED_WITH_WEEKDAY):\n return \"EEE, LLL d, yyyy\";\n case stringify(Formats.DATE_FULL):\n return \"LLLL d, yyyy\";\n case stringify(Formats.DATE_HUGE):\n return \"EEEE, LLLL d, yyyy\";\n case stringify(Formats.TIME_SIMPLE):\n return \"h:mm a\";\n case stringify(Formats.TIME_WITH_SECONDS):\n return \"h:mm:ss a\";\n case stringify(Formats.TIME_WITH_SHORT_OFFSET):\n return \"h:mm a\";\n case stringify(Formats.TIME_WITH_LONG_OFFSET):\n return \"h:mm a\";\n case stringify(Formats.TIME_24_SIMPLE):\n return \"HH:mm\";\n case stringify(Formats.TIME_24_WITH_SECONDS):\n return \"HH:mm:ss\";\n case stringify(Formats.TIME_24_WITH_SHORT_OFFSET):\n return \"HH:mm\";\n case stringify(Formats.TIME_24_WITH_LONG_OFFSET):\n return \"HH:mm\";\n case stringify(Formats.DATETIME_SHORT):\n return \"M/d/yyyy, h:mm a\";\n case stringify(Formats.DATETIME_MED):\n return \"LLL d, yyyy, h:mm a\";\n case stringify(Formats.DATETIME_FULL):\n return \"LLLL d, yyyy, h:mm a\";\n case stringify(Formats.DATETIME_HUGE):\n return dateTimeHuge;\n case stringify(Formats.DATETIME_SHORT_WITH_SECONDS):\n return \"M/d/yyyy, h:mm:ss a\";\n case stringify(Formats.DATETIME_MED_WITH_SECONDS):\n return \"LLL d, yyyy, h:mm:ss a\";\n case stringify(Formats.DATETIME_MED_WITH_WEEKDAY):\n return \"EEE, d LLL yyyy, h:mm a\";\n case stringify(Formats.DATETIME_FULL_WITH_SECONDS):\n return \"LLLL d, yyyy, h:mm:ss a\";\n case stringify(Formats.DATETIME_HUGE_WITH_SECONDS):\n return \"EEEE, LLLL d, yyyy, h:mm:ss a\";\n default:\n return dateTimeHuge;\n }\n}\n","import * as English from \"./english.js\";\nimport * as Formats from \"./formats.js\";\nimport { hasFormatToParts, padStart } from \"./util.js\";\n\nfunction stringifyTokens(splits, tokenToString) {\n let s = \"\";\n for (const token of splits) {\n if (token.literal) {\n s += token.val;\n } else {\n s += tokenToString(token.val);\n }\n }\n return s;\n}\n\nconst macroTokenToFormatOpts = {\n D: Formats.DATE_SHORT,\n DD: Formats.DATE_MED,\n DDD: Formats.DATE_FULL,\n DDDD: Formats.DATE_HUGE,\n t: Formats.TIME_SIMPLE,\n tt: Formats.TIME_WITH_SECONDS,\n ttt: Formats.TIME_WITH_SHORT_OFFSET,\n tttt: Formats.TIME_WITH_LONG_OFFSET,\n T: Formats.TIME_24_SIMPLE,\n TT: Formats.TIME_24_WITH_SECONDS,\n TTT: Formats.TIME_24_WITH_SHORT_OFFSET,\n TTTT: Formats.TIME_24_WITH_LONG_OFFSET,\n f: Formats.DATETIME_SHORT,\n ff: Formats.DATETIME_MED,\n fff: Formats.DATETIME_FULL,\n ffff: Formats.DATETIME_HUGE,\n F: Formats.DATETIME_SHORT_WITH_SECONDS,\n FF: Formats.DATETIME_MED_WITH_SECONDS,\n FFF: Formats.DATETIME_FULL_WITH_SECONDS,\n FFFF: Formats.DATETIME_HUGE_WITH_SECONDS\n};\n\n/**\n * @private\n */\n\nexport default class Formatter {\n static create(locale, opts = {}) {\n return new Formatter(locale, opts);\n }\n\n static parseFormat(fmt) {\n let current = null,\n currentFull = \"\",\n bracketed = false;\n const splits = [];\n for (let i = 0; i < fmt.length; i++) {\n const c = fmt.charAt(i);\n if (c === \"'\") {\n if (currentFull.length > 0) {\n splits.push({ literal: bracketed, val: currentFull });\n }\n current = null;\n currentFull = \"\";\n bracketed = !bracketed;\n } else if (bracketed) {\n currentFull += c;\n } else if (c === current) {\n currentFull += c;\n } else {\n if (currentFull.length > 0) {\n splits.push({ literal: false, val: currentFull });\n }\n currentFull = c;\n current = c;\n }\n }\n\n if (currentFull.length > 0) {\n splits.push({ literal: bracketed, val: currentFull });\n }\n\n return splits;\n }\n\n static macroTokenToFormatOpts(token) {\n return macroTokenToFormatOpts[token];\n }\n\n constructor(locale, formatOpts) {\n this.opts = formatOpts;\n this.loc = locale;\n this.systemLoc = null;\n }\n\n formatWithSystemDefault(dt, opts) {\n if (this.systemLoc === null) {\n this.systemLoc = this.loc.redefaultToSystem();\n }\n const df = this.systemLoc.dtFormatter(dt, Object.assign({}, this.opts, opts));\n return df.format();\n }\n\n formatDateTime(dt, opts = {}) {\n const df = this.loc.dtFormatter(dt, Object.assign({}, this.opts, opts));\n return df.format();\n }\n\n formatDateTimeParts(dt, opts = {}) {\n const df = this.loc.dtFormatter(dt, Object.assign({}, this.opts, opts));\n return df.formatToParts();\n }\n\n resolvedOptions(dt, opts = {}) {\n const df = this.loc.dtFormatter(dt, Object.assign({}, this.opts, opts));\n return df.resolvedOptions();\n }\n\n num(n, p = 0) {\n // we get some perf out of doing this here, annoyingly\n if (this.opts.forceSimple) {\n return padStart(n, p);\n }\n\n const opts = Object.assign({}, this.opts);\n\n if (p > 0) {\n opts.padTo = p;\n }\n\n return this.loc.numberFormatter(opts).format(n);\n }\n\n formatDateTimeFromString(dt, fmt) {\n const knownEnglish = this.loc.listingMode() === \"en\",\n useDateTimeFormatter =\n this.loc.outputCalendar && this.loc.outputCalendar !== \"gregory\" && hasFormatToParts(),\n string = (opts, extract) => this.loc.extract(dt, opts, extract),\n formatOffset = opts => {\n if (dt.isOffsetFixed && dt.offset === 0 && opts.allowZ) {\n return \"Z\";\n }\n\n return dt.isValid ? dt.zone.formatOffset(dt.ts, opts.format) : \"\";\n },\n meridiem = () =>\n knownEnglish\n ? English.meridiemForDateTime(dt)\n : string({ hour: \"numeric\", hour12: true }, \"dayperiod\"),\n month = (length, standalone) =>\n knownEnglish\n ? English.monthForDateTime(dt, length)\n : string(standalone ? { month: length } : { month: length, day: \"numeric\" }, \"month\"),\n weekday = (length, standalone) =>\n knownEnglish\n ? English.weekdayForDateTime(dt, length)\n : string(\n standalone ? { weekday: length } : { weekday: length, month: \"long\", day: \"numeric\" },\n \"weekday\"\n ),\n maybeMacro = token => {\n const formatOpts = Formatter.macroTokenToFormatOpts(token);\n if (formatOpts) {\n return this.formatWithSystemDefault(dt, formatOpts);\n } else {\n return token;\n }\n },\n era = length =>\n knownEnglish ? English.eraForDateTime(dt, length) : string({ era: length }, \"era\"),\n tokenToString = token => {\n // Where possible: http://cldr.unicode.org/translation/date-time-1/date-time#TOC-Standalone-vs.-Format-Styles\n switch (token) {\n // ms\n case \"S\":\n return this.num(dt.millisecond);\n case \"u\":\n // falls through\n case \"SSS\":\n return this.num(dt.millisecond, 3);\n // seconds\n case \"s\":\n return this.num(dt.second);\n case \"ss\":\n return this.num(dt.second, 2);\n // minutes\n case \"m\":\n return this.num(dt.minute);\n case \"mm\":\n return this.num(dt.minute, 2);\n // hours\n case \"h\":\n return this.num(dt.hour % 12 === 0 ? 12 : dt.hour % 12);\n case \"hh\":\n return this.num(dt.hour % 12 === 0 ? 12 : dt.hour % 12, 2);\n case \"H\":\n return this.num(dt.hour);\n case \"HH\":\n return this.num(dt.hour, 2);\n // offset\n case \"Z\":\n // like +6\n return formatOffset({ format: \"narrow\", allowZ: this.opts.allowZ });\n case \"ZZ\":\n // like +06:00\n return formatOffset({ format: \"short\", allowZ: this.opts.allowZ });\n case \"ZZZ\":\n // like +0600\n return formatOffset({ format: \"techie\", allowZ: this.opts.allowZ });\n case \"ZZZZ\":\n // like EST\n return dt.zone.offsetName(dt.ts, { format: \"short\", locale: this.loc.locale });\n case \"ZZZZZ\":\n // like Eastern Standard Time\n return dt.zone.offsetName(dt.ts, { format: \"long\", locale: this.loc.locale });\n // zone\n case \"z\":\n // like America/New_York\n return dt.zoneName;\n // meridiems\n case \"a\":\n return meridiem();\n // dates\n case \"d\":\n return useDateTimeFormatter ? string({ day: \"numeric\" }, \"day\") : this.num(dt.day);\n case \"dd\":\n return useDateTimeFormatter ? string({ day: \"2-digit\" }, \"day\") : this.num(dt.day, 2);\n // weekdays - standalone\n case \"c\":\n // like 1\n return this.num(dt.weekday);\n case \"ccc\":\n // like 'Tues'\n return weekday(\"short\", true);\n case \"cccc\":\n // like 'Tuesday'\n return weekday(\"long\", true);\n case \"ccccc\":\n // like 'T'\n return weekday(\"narrow\", true);\n // weekdays - format\n case \"E\":\n // like 1\n return this.num(dt.weekday);\n case \"EEE\":\n // like 'Tues'\n return weekday(\"short\", false);\n case \"EEEE\":\n // like 'Tuesday'\n return weekday(\"long\", false);\n case \"EEEEE\":\n // like 'T'\n return weekday(\"narrow\", false);\n // months - standalone\n case \"L\":\n // like 1\n return useDateTimeFormatter\n ? string({ month: \"numeric\", day: \"numeric\" }, \"month\")\n : this.num(dt.month);\n case \"LL\":\n // like 01, doesn't seem to work\n return useDateTimeFormatter\n ? string({ month: \"2-digit\", day: \"numeric\" }, \"month\")\n : this.num(dt.month, 2);\n case \"LLL\":\n // like Jan\n return month(\"short\", true);\n case \"LLLL\":\n // like January\n return month(\"long\", true);\n case \"LLLLL\":\n // like J\n return month(\"narrow\", true);\n // months - format\n case \"M\":\n // like 1\n return useDateTimeFormatter\n ? string({ month: \"numeric\" }, \"month\")\n : this.num(dt.month);\n case \"MM\":\n // like 01\n return useDateTimeFormatter\n ? string({ month: \"2-digit\" }, \"month\")\n : this.num(dt.month, 2);\n case \"MMM\":\n // like Jan\n return month(\"short\", false);\n case \"MMMM\":\n // like January\n return month(\"long\", false);\n case \"MMMMM\":\n // like J\n return month(\"narrow\", false);\n // years\n case \"y\":\n // like 2014\n return useDateTimeFormatter ? string({ year: \"numeric\" }, \"year\") : this.num(dt.year);\n case \"yy\":\n // like 14\n return useDateTimeFormatter\n ? string({ year: \"2-digit\" }, \"year\")\n : this.num(dt.year.toString().slice(-2), 2);\n case \"yyyy\":\n // like 0012\n return useDateTimeFormatter\n ? string({ year: \"numeric\" }, \"year\")\n : this.num(dt.year, 4);\n case \"yyyyyy\":\n // like 000012\n return useDateTimeFormatter\n ? string({ year: \"numeric\" }, \"year\")\n : this.num(dt.year, 6);\n // eras\n case \"G\":\n // like AD\n return era(\"short\");\n case \"GG\":\n // like Anno Domini\n return era(\"long\");\n case \"GGGGG\":\n return era(\"narrow\");\n case \"kk\":\n return this.num(dt.weekYear.toString().slice(-2), 2);\n case \"kkkk\":\n return this.num(dt.weekYear, 4);\n case \"W\":\n return this.num(dt.weekNumber);\n case \"WW\":\n return this.num(dt.weekNumber, 2);\n case \"o\":\n return this.num(dt.ordinal);\n case \"ooo\":\n return this.num(dt.ordinal, 3);\n case \"q\":\n // like 1\n return this.num(dt.quarter);\n case \"qq\":\n // like 01\n return this.num(dt.quarter, 2);\n case \"X\":\n return this.num(Math.floor(dt.ts / 1000));\n case \"x\":\n return this.num(dt.ts);\n default:\n return maybeMacro(token);\n }\n };\n\n return stringifyTokens(Formatter.parseFormat(fmt), tokenToString);\n }\n\n formatDurationFromString(dur, fmt) {\n const tokenToField = token => {\n switch (token[0]) {\n case \"S\":\n return \"millisecond\";\n case \"s\":\n return \"second\";\n case \"m\":\n return \"minute\";\n case \"h\":\n return \"hour\";\n case \"d\":\n return \"day\";\n case \"M\":\n return \"month\";\n case \"y\":\n return \"year\";\n default:\n return null;\n }\n },\n tokenToString = lildur => token => {\n const mapped = tokenToField(token);\n if (mapped) {\n return this.num(lildur.get(mapped), token.length);\n } else {\n return token;\n }\n },\n tokens = Formatter.parseFormat(fmt),\n realTokens = tokens.reduce(\n (found, { literal, val }) => (literal ? found : found.concat(val)),\n []\n ),\n collapsed = dur.shiftTo(...realTokens.map(tokenToField).filter(t => t));\n return stringifyTokens(tokens, tokenToString(collapsed));\n }\n}\n","export default class Invalid {\n constructor(reason, explanation) {\n this.reason = reason;\n this.explanation = explanation;\n }\n\n toMessage() {\n if (this.explanation) {\n return `${this.reason}: ${this.explanation}`;\n } else {\n return this.reason;\n }\n }\n}\n","/* eslint no-unused-vars: \"off\" */\nimport { ZoneIsAbstractError } from \"./errors.js\";\n\n/**\n * @interface\n */\nexport default class Zone {\n /**\n * The type of zone\n * @abstract\n * @type {string}\n */\n get type() {\n throw new ZoneIsAbstractError();\n }\n\n /**\n * The name of this zone.\n * @abstract\n * @type {string}\n */\n get name() {\n throw new ZoneIsAbstractError();\n }\n\n /**\n * Returns whether the offset is known to be fixed for the whole year.\n * @abstract\n * @type {boolean}\n */\n get universal() {\n throw new ZoneIsAbstractError();\n }\n\n /**\n * Returns the offset's common name (such as EST) at the specified timestamp\n * @abstract\n * @param {number} ts - Epoch milliseconds for which to get the name\n * @param {Object} opts - Options to affect the format\n * @param {string} opts.format - What style of offset to return. Accepts 'long' or 'short'.\n * @param {string} opts.locale - What locale to return the offset name in.\n * @return {string}\n */\n offsetName(ts, opts) {\n throw new ZoneIsAbstractError();\n }\n\n /**\n * Returns the offset's value as a string\n * @abstract\n * @param {number} ts - Epoch milliseconds for which to get the offset\n * @param {string} format - What style of offset to return.\n * Accepts 'narrow', 'short', or 'techie'. Returning '+6', '+06:00', or '+0600' respectively\n * @return {string}\n */\n formatOffset(ts, format) {\n throw new ZoneIsAbstractError();\n }\n\n /**\n * Return the offset in minutes for this zone at the specified timestamp.\n * @abstract\n * @param {number} ts - Epoch milliseconds for which to compute the offset\n * @return {number}\n */\n offset(ts) {\n throw new ZoneIsAbstractError();\n }\n\n /**\n * Return whether this Zone is equal to another zone\n * @abstract\n * @param {Zone} otherZone - the zone to compare\n * @return {boolean}\n */\n equals(otherZone) {\n throw new ZoneIsAbstractError();\n }\n\n /**\n * Return whether this Zone is valid.\n * @abstract\n * @type {boolean}\n */\n get isValid() {\n throw new ZoneIsAbstractError();\n }\n}\n","import { formatOffset, parseZoneInfo, hasIntl } from \"../impl/util.js\";\nimport Zone from \"../zone.js\";\n\nlet singleton = null;\n\n/**\n * Represents the local zone for this JavaScript environment.\n * @implements {Zone}\n */\nexport default class LocalZone extends Zone {\n /**\n * Get a singleton instance of the local zone\n * @return {LocalZone}\n */\n static get instance() {\n if (singleton === null) {\n singleton = new LocalZone();\n }\n return singleton;\n }\n\n /** @override **/\n get type() {\n return \"local\";\n }\n\n /** @override **/\n get name() {\n if (hasIntl()) {\n return new Intl.DateTimeFormat().resolvedOptions().timeZone;\n } else return \"local\";\n }\n\n /** @override **/\n get universal() {\n return false;\n }\n\n /** @override **/\n offsetName(ts, { format, locale }) {\n return parseZoneInfo(ts, format, locale);\n }\n\n /** @override **/\n formatOffset(ts, format) {\n return formatOffset(this.offset(ts), format);\n }\n\n /** @override **/\n offset(ts) {\n return -new Date(ts).getTimezoneOffset();\n }\n\n /** @override **/\n equals(otherZone) {\n return otherZone.type === \"local\";\n }\n\n /** @override **/\n get isValid() {\n return true;\n }\n}\n","import { formatOffset, parseZoneInfo, isUndefined, ianaRegex, objToLocalTS } from \"../impl/util.js\";\nimport Zone from \"../zone.js\";\n\nconst matchingRegex = RegExp(`^${ianaRegex.source}$`);\n\nlet dtfCache = {};\nfunction makeDTF(zone) {\n if (!dtfCache[zone]) {\n dtfCache[zone] = new Intl.DateTimeFormat(\"en-US\", {\n hour12: false,\n timeZone: zone,\n year: \"numeric\",\n month: \"2-digit\",\n day: \"2-digit\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\"\n });\n }\n return dtfCache[zone];\n}\n\nconst typeToPos = {\n year: 0,\n month: 1,\n day: 2,\n hour: 3,\n minute: 4,\n second: 5\n};\n\nfunction hackyOffset(dtf, date) {\n const formatted = dtf.format(date).replace(/\\u200E/g, \"\"),\n parsed = /(\\d+)\\/(\\d+)\\/(\\d+),? (\\d+):(\\d+):(\\d+)/.exec(formatted),\n [, fMonth, fDay, fYear, fHour, fMinute, fSecond] = parsed;\n return [fYear, fMonth, fDay, fHour, fMinute, fSecond];\n}\n\nfunction partsOffset(dtf, date) {\n const formatted = dtf.formatToParts(date),\n filled = [];\n for (let i = 0; i < formatted.length; i++) {\n const { type, value } = formatted[i],\n pos = typeToPos[type];\n\n if (!isUndefined(pos)) {\n filled[pos] = parseInt(value, 10);\n }\n }\n return filled;\n}\n\nlet ianaZoneCache = {};\n/**\n * A zone identified by an IANA identifier, like America/New_York\n * @implements {Zone}\n */\nexport default class IANAZone extends Zone {\n /**\n * @param {string} name - Zone name\n * @return {IANAZone}\n */\n static create(name) {\n if (!ianaZoneCache[name]) {\n ianaZoneCache[name] = new IANAZone(name);\n }\n return ianaZoneCache[name];\n }\n\n /**\n * Reset local caches. Should only be necessary in testing scenarios.\n * @return {void}\n */\n static resetCache() {\n ianaZoneCache = {};\n dtfCache = {};\n }\n\n /**\n * Returns whether the provided string is a valid specifier. This only checks the string's format, not that the specifier identifies a known zone; see isValidZone for that.\n * @param {string} s - The string to check validity on\n * @example IANAZone.isValidSpecifier(\"America/New_York\") //=> true\n * @example IANAZone.isValidSpecifier(\"Fantasia/Castle\") //=> true\n * @example IANAZone.isValidSpecifier(\"Sport~~blorp\") //=> false\n * @return {boolean}\n */\n static isValidSpecifier(s) {\n return !!(s && s.match(matchingRegex));\n }\n\n /**\n * Returns whether the provided string identifies a real zone\n * @param {string} zone - The string to check\n * @example IANAZone.isValidZone(\"America/New_York\") //=> true\n * @example IANAZone.isValidZone(\"Fantasia/Castle\") //=> false\n * @example IANAZone.isValidZone(\"Sport~~blorp\") //=> false\n * @return {boolean}\n */\n static isValidZone(zone) {\n try {\n new Intl.DateTimeFormat(\"en-US\", { timeZone: zone }).format();\n return true;\n } catch (e) {\n return false;\n }\n }\n\n // Etc/GMT+8 -> -480\n /** @ignore */\n static parseGMTOffset(specifier) {\n if (specifier) {\n const match = specifier.match(/^Etc\\/GMT(0|[+-]\\d{1,2})$/i);\n if (match) {\n return -60 * parseInt(match[1]);\n }\n }\n return null;\n }\n\n constructor(name) {\n super();\n /** @private **/\n this.zoneName = name;\n /** @private **/\n this.valid = IANAZone.isValidZone(name);\n }\n\n /** @override **/\n get type() {\n return \"iana\";\n }\n\n /** @override **/\n get name() {\n return this.zoneName;\n }\n\n /** @override **/\n get universal() {\n return false;\n }\n\n /** @override **/\n offsetName(ts, { format, locale }) {\n return parseZoneInfo(ts, format, locale, this.name);\n }\n\n /** @override **/\n formatOffset(ts, format) {\n return formatOffset(this.offset(ts), format);\n }\n\n /** @override **/\n offset(ts) {\n const date = new Date(ts);\n\n if (isNaN(date)) return NaN;\n\n const dtf = makeDTF(this.name),\n [year, month, day, hour, minute, second] = dtf.formatToParts\n ? partsOffset(dtf, date)\n : hackyOffset(dtf, date),\n // work around https://bugs.chromium.org/p/chromium/issues/detail?id=1025564&can=2&q=%2224%3A00%22%20datetimeformat\n adjustedHour = hour === 24 ? 0 : hour;\n\n const asUTC = objToLocalTS({\n year,\n month,\n day,\n hour: adjustedHour,\n minute,\n second,\n millisecond: 0\n });\n\n let asTS = +date;\n const over = asTS % 1000;\n asTS -= over >= 0 ? over : 1000 + over;\n return (asUTC - asTS) / (60 * 1000);\n }\n\n /** @override **/\n equals(otherZone) {\n return otherZone.type === \"iana\" && otherZone.name === this.name;\n }\n\n /** @override **/\n get isValid() {\n return this.valid;\n }\n}\n","import { formatOffset, signedOffset } from \"../impl/util.js\";\nimport Zone from \"../zone.js\";\n\nlet singleton = null;\n\n/**\n * A zone with a fixed offset (meaning no DST)\n * @implements {Zone}\n */\nexport default class FixedOffsetZone extends Zone {\n /**\n * Get a singleton instance of UTC\n * @return {FixedOffsetZone}\n */\n static get utcInstance() {\n if (singleton === null) {\n singleton = new FixedOffsetZone(0);\n }\n return singleton;\n }\n\n /**\n * Get an instance with a specified offset\n * @param {number} offset - The offset in minutes\n * @return {FixedOffsetZone}\n */\n static instance(offset) {\n return offset === 0 ? FixedOffsetZone.utcInstance : new FixedOffsetZone(offset);\n }\n\n /**\n * Get an instance of FixedOffsetZone from a UTC offset string, like \"UTC+6\"\n * @param {string} s - The offset string to parse\n * @example FixedOffsetZone.parseSpecifier(\"UTC+6\")\n * @example FixedOffsetZone.parseSpecifier(\"UTC+06\")\n * @example FixedOffsetZone.parseSpecifier(\"UTC-6:00\")\n * @return {FixedOffsetZone}\n */\n static parseSpecifier(s) {\n if (s) {\n const r = s.match(/^utc(?:([+-]\\d{1,2})(?::(\\d{2}))?)?$/i);\n if (r) {\n return new FixedOffsetZone(signedOffset(r[1], r[2]));\n }\n }\n return null;\n }\n\n constructor(offset) {\n super();\n /** @private **/\n this.fixed = offset;\n }\n\n /** @override **/\n get type() {\n return \"fixed\";\n }\n\n /** @override **/\n get name() {\n return this.fixed === 0 ? \"UTC\" : `UTC${formatOffset(this.fixed, \"narrow\")}`;\n }\n\n /** @override **/\n offsetName() {\n return this.name;\n }\n\n /** @override **/\n formatOffset(ts, format) {\n return formatOffset(this.fixed, format);\n }\n\n /** @override **/\n get universal() {\n return true;\n }\n\n /** @override **/\n offset() {\n return this.fixed;\n }\n\n /** @override **/\n equals(otherZone) {\n return otherZone.type === \"fixed\" && otherZone.fixed === this.fixed;\n }\n\n /** @override **/\n get isValid() {\n return true;\n }\n}\n","import Zone from \"../zone.js\";\n\n/**\n * A zone that failed to parse. You should never need to instantiate this.\n * @implements {Zone}\n */\nexport default class InvalidZone extends Zone {\n constructor(zoneName) {\n super();\n /** @private */\n this.zoneName = zoneName;\n }\n\n /** @override **/\n get type() {\n return \"invalid\";\n }\n\n /** @override **/\n get name() {\n return this.zoneName;\n }\n\n /** @override **/\n get universal() {\n return false;\n }\n\n /** @override **/\n offsetName() {\n return null;\n }\n\n /** @override **/\n formatOffset() {\n return \"\";\n }\n\n /** @override **/\n offset() {\n return NaN;\n }\n\n /** @override **/\n equals() {\n return false;\n }\n\n /** @override **/\n get isValid() {\n return false;\n }\n}\n","/**\n * @private\n */\n\nimport Zone from \"../zone.js\";\nimport IANAZone from \"../zones/IANAZone.js\";\nimport FixedOffsetZone from \"../zones/fixedOffsetZone.js\";\nimport InvalidZone from \"../zones/invalidZone.js\";\n\nimport { isUndefined, isString, isNumber } from \"./util.js\";\n\nexport function normalizeZone(input, defaultZone) {\n let offset;\n if (isUndefined(input) || input === null) {\n return defaultZone;\n } else if (input instanceof Zone) {\n return input;\n } else if (isString(input)) {\n const lowered = input.toLowerCase();\n if (lowered === \"local\") return defaultZone;\n else if (lowered === \"utc\" || lowered === \"gmt\") return FixedOffsetZone.utcInstance;\n else if ((offset = IANAZone.parseGMTOffset(input)) != null) {\n // handle Etc/GMT-4, which V8 chokes on\n return FixedOffsetZone.instance(offset);\n } else if (IANAZone.isValidSpecifier(lowered)) return IANAZone.create(input);\n else return FixedOffsetZone.parseSpecifier(lowered) || new InvalidZone(input);\n } else if (isNumber(input)) {\n return FixedOffsetZone.instance(input);\n } else if (typeof input === \"object\" && input.offset && typeof input.offset === \"number\") {\n // This is dumb, but the instanceof check above doesn't seem to really work\n // so we're duck checking it\n return input;\n } else {\n return new InvalidZone(input);\n }\n}\n","import LocalZone from \"./zones/localZone.js\";\nimport IANAZone from \"./zones/IANAZone.js\";\nimport Locale from \"./impl/locale.js\";\n\nimport { normalizeZone } from \"./impl/zoneUtil.js\";\n\nlet now = () => Date.now(),\n defaultZone = null, // not setting this directly to LocalZone.instance bc loading order issues\n defaultLocale = null,\n defaultNumberingSystem = null,\n defaultOutputCalendar = null,\n throwOnInvalid = false;\n\n/**\n * Settings contains static getters and setters that control Luxon's overall behavior. Luxon is a simple library with few options, but the ones it does have live here.\n */\nexport default class Settings {\n /**\n * Get the callback for returning the current timestamp.\n * @type {function}\n */\n static get now() {\n return now;\n }\n\n /**\n * Set the callback for returning the current timestamp.\n * The function should return a number, which will be interpreted as an Epoch millisecond count\n * @type {function}\n * @example Settings.now = () => Date.now() + 3000 // pretend it is 3 seconds in the future\n * @example Settings.now = () => 0 // always pretend it's Jan 1, 1970 at midnight in UTC time\n */\n static set now(n) {\n now = n;\n }\n\n /**\n * Get the default time zone to create DateTimes in.\n * @type {string}\n */\n static get defaultZoneName() {\n return Settings.defaultZone.name;\n }\n\n /**\n * Set the default time zone to create DateTimes in. Does not affect existing instances.\n * @type {string}\n */\n static set defaultZoneName(z) {\n if (!z) {\n defaultZone = null;\n } else {\n defaultZone = normalizeZone(z);\n }\n }\n\n /**\n * Get the default time zone object to create DateTimes in. Does not affect existing instances.\n * @type {Zone}\n */\n static get defaultZone() {\n return defaultZone || LocalZone.instance;\n }\n\n /**\n * Get the default locale to create DateTimes with. Does not affect existing instances.\n * @type {string}\n */\n static get defaultLocale() {\n return defaultLocale;\n }\n\n /**\n * Set the default locale to create DateTimes with. Does not affect existing instances.\n * @type {string}\n */\n static set defaultLocale(locale) {\n defaultLocale = locale;\n }\n\n /**\n * Get the default numbering system to create DateTimes with. Does not affect existing instances.\n * @type {string}\n */\n static get defaultNumberingSystem() {\n return defaultNumberingSystem;\n }\n\n /**\n * Set the default numbering system to create DateTimes with. Does not affect existing instances.\n * @type {string}\n */\n static set defaultNumberingSystem(numberingSystem) {\n defaultNumberingSystem = numberingSystem;\n }\n\n /**\n * Get the default output calendar to create DateTimes with. Does not affect existing instances.\n * @type {string}\n */\n static get defaultOutputCalendar() {\n return defaultOutputCalendar;\n }\n\n /**\n * Set the default output calendar to create DateTimes with. Does not affect existing instances.\n * @type {string}\n */\n static set defaultOutputCalendar(outputCalendar) {\n defaultOutputCalendar = outputCalendar;\n }\n\n /**\n * Get whether Luxon will throw when it encounters invalid DateTimes, Durations, or Intervals\n * @type {boolean}\n */\n static get throwOnInvalid() {\n return throwOnInvalid;\n }\n\n /**\n * Set whether Luxon will throw when it encounters invalid DateTimes, Durations, or Intervals\n * @type {boolean}\n */\n static set throwOnInvalid(t) {\n throwOnInvalid = t;\n }\n\n /**\n * Reset Luxon's global caches. Should only be necessary in testing scenarios.\n * @return {void}\n */\n static resetCaches() {\n Locale.resetCache();\n IANAZone.resetCache();\n }\n}\n","import { hasFormatToParts, hasIntl, padStart, roundTo, hasRelative } from \"./util.js\";\nimport * as English from \"./english.js\";\nimport Settings from \"../settings.js\";\nimport DateTime from \"../datetime.js\";\nimport Formatter from \"./formatter.js\";\nimport IANAZone from \"../zones/IANAZone.js\";\n\nlet intlDTCache = {};\nfunction getCachedDTF(locString, opts = {}) {\n const key = JSON.stringify([locString, opts]);\n let dtf = intlDTCache[key];\n if (!dtf) {\n dtf = new Intl.DateTimeFormat(locString, opts);\n intlDTCache[key] = dtf;\n }\n return dtf;\n}\n\nlet intlNumCache = {};\nfunction getCachedINF(locString, opts = {}) {\n const key = JSON.stringify([locString, opts]);\n let inf = intlNumCache[key];\n if (!inf) {\n inf = new Intl.NumberFormat(locString, opts);\n intlNumCache[key] = inf;\n }\n return inf;\n}\n\nlet intlRelCache = {};\nfunction getCachedRTF(locString, opts = {}) {\n const { base, ...cacheKeyOpts } = opts; // exclude `base` from the options\n const key = JSON.stringify([locString, cacheKeyOpts]);\n let inf = intlRelCache[key];\n if (!inf) {\n inf = new Intl.RelativeTimeFormat(locString, opts);\n intlRelCache[key] = inf;\n }\n return inf;\n}\n\nlet sysLocaleCache = null;\nfunction systemLocale() {\n if (sysLocaleCache) {\n return sysLocaleCache;\n } else if (hasIntl()) {\n const computedSys = new Intl.DateTimeFormat().resolvedOptions().locale;\n // node sometimes defaults to \"und\". Override that because that is dumb\n sysLocaleCache = !computedSys || computedSys === \"und\" ? \"en-US\" : computedSys;\n return sysLocaleCache;\n } else {\n sysLocaleCache = \"en-US\";\n return sysLocaleCache;\n }\n}\n\nfunction parseLocaleString(localeStr) {\n // I really want to avoid writing a BCP 47 parser\n // see, e.g. https://github.com/wooorm/bcp-47\n // Instead, we'll do this:\n\n // a) if the string has no -u extensions, just leave it alone\n // b) if it does, use Intl to resolve everything\n // c) if Intl fails, try again without the -u\n\n const uIndex = localeStr.indexOf(\"-u-\");\n if (uIndex === -1) {\n return [localeStr];\n } else {\n let options;\n const smaller = localeStr.substring(0, uIndex);\n try {\n options = getCachedDTF(localeStr).resolvedOptions();\n } catch (e) {\n options = getCachedDTF(smaller).resolvedOptions();\n }\n\n const { numberingSystem, calendar } = options;\n // return the smaller one so that we can append the calendar and numbering overrides to it\n return [smaller, numberingSystem, calendar];\n }\n}\n\nfunction intlConfigString(localeStr, numberingSystem, outputCalendar) {\n if (hasIntl()) {\n if (outputCalendar || numberingSystem) {\n localeStr += \"-u\";\n\n if (outputCalendar) {\n localeStr += `-ca-${outputCalendar}`;\n }\n\n if (numberingSystem) {\n localeStr += `-nu-${numberingSystem}`;\n }\n return localeStr;\n } else {\n return localeStr;\n }\n } else {\n return [];\n }\n}\n\nfunction mapMonths(f) {\n const ms = [];\n for (let i = 1; i <= 12; i++) {\n const dt = DateTime.utc(2016, i, 1);\n ms.push(f(dt));\n }\n return ms;\n}\n\nfunction mapWeekdays(f) {\n const ms = [];\n for (let i = 1; i <= 7; i++) {\n const dt = DateTime.utc(2016, 11, 13 + i);\n ms.push(f(dt));\n }\n return ms;\n}\n\nfunction listStuff(loc, length, defaultOK, englishFn, intlFn) {\n const mode = loc.listingMode(defaultOK);\n\n if (mode === \"error\") {\n return null;\n } else if (mode === \"en\") {\n return englishFn(length);\n } else {\n return intlFn(length);\n }\n}\n\nfunction supportsFastNumbers(loc) {\n if (loc.numberingSystem && loc.numberingSystem !== \"latn\") {\n return false;\n } else {\n return (\n loc.numberingSystem === \"latn\" ||\n !loc.locale ||\n loc.locale.startsWith(\"en\") ||\n (hasIntl() && new Intl.DateTimeFormat(loc.intl).resolvedOptions().numberingSystem === \"latn\")\n );\n }\n}\n\n/**\n * @private\n */\n\nclass PolyNumberFormatter {\n constructor(intl, forceSimple, opts) {\n this.padTo = opts.padTo || 0;\n this.floor = opts.floor || false;\n\n if (!forceSimple && hasIntl()) {\n const intlOpts = { useGrouping: false };\n if (opts.padTo > 0) intlOpts.minimumIntegerDigits = opts.padTo;\n this.inf = getCachedINF(intl, intlOpts);\n }\n }\n\n format(i) {\n if (this.inf) {\n const fixed = this.floor ? Math.floor(i) : i;\n return this.inf.format(fixed);\n } else {\n // to match the browser's numberformatter defaults\n const fixed = this.floor ? Math.floor(i) : roundTo(i, 3);\n return padStart(fixed, this.padTo);\n }\n }\n}\n\n/**\n * @private\n */\n\nclass PolyDateFormatter {\n constructor(dt, intl, opts) {\n this.opts = opts;\n this.hasIntl = hasIntl();\n\n let z;\n if (dt.zone.universal && this.hasIntl) {\n // UTC-8 or Etc/UTC-8 are not part of tzdata, only Etc/GMT+8 and the like.\n // That is why fixed-offset TZ is set to that unless it is:\n // 1. Representing offset 0 when UTC is used to maintain previous behavior and does not become GMT.\n // 2. Unsupported by the browser:\n // - some do not support Etc/\n // - < Etc/GMT-14, > Etc/GMT+12, and 30-minute or 45-minute offsets are not part of tzdata\n const gmtOffset = -1 * (dt.offset / 60);\n const offsetZ = gmtOffset >= 0 ? `Etc/GMT+${gmtOffset}` : `Etc/GMT${gmtOffset}`;\n const isOffsetZoneSupported = IANAZone.isValidZone(offsetZ);\n if (dt.offset !== 0 && isOffsetZoneSupported) {\n z = offsetZ;\n this.dt = dt;\n } else {\n // Not all fixed-offset zones like Etc/+4:30 are present in tzdata.\n // So we have to make do. Two cases:\n // 1. The format options tell us to show the zone. We can't do that, so the best\n // we can do is format the date in UTC.\n // 2. The format options don't tell us to show the zone. Then we can adjust them\n // the time and tell the formatter to show it to us in UTC, so that the time is right\n // and the bad zone doesn't show up.\n z = \"UTC\";\n if (opts.timeZoneName) {\n this.dt = dt;\n } else {\n this.dt = dt.offset === 0 ? dt : DateTime.fromMillis(dt.ts + dt.offset * 60 * 1000);\n }\n }\n } else if (dt.zone.type === \"local\") {\n this.dt = dt;\n } else {\n this.dt = dt;\n z = dt.zone.name;\n }\n\n if (this.hasIntl) {\n const intlOpts = Object.assign({}, this.opts);\n if (z) {\n intlOpts.timeZone = z;\n }\n this.dtf = getCachedDTF(intl, intlOpts);\n }\n }\n\n format() {\n if (this.hasIntl) {\n return this.dtf.format(this.dt.toJSDate());\n } else {\n const tokenFormat = English.formatString(this.opts),\n loc = Locale.create(\"en-US\");\n return Formatter.create(loc).formatDateTimeFromString(this.dt, tokenFormat);\n }\n }\n\n formatToParts() {\n if (this.hasIntl && hasFormatToParts()) {\n return this.dtf.formatToParts(this.dt.toJSDate());\n } else {\n // This is kind of a cop out. We actually could do this for English. However, we couldn't do it for intl strings\n // and IMO it's too weird to have an uncanny valley like that\n return [];\n }\n }\n\n resolvedOptions() {\n if (this.hasIntl) {\n return this.dtf.resolvedOptions();\n } else {\n return {\n locale: \"en-US\",\n numberingSystem: \"latn\",\n outputCalendar: \"gregory\"\n };\n }\n }\n}\n\n/**\n * @private\n */\nclass PolyRelFormatter {\n constructor(intl, isEnglish, opts) {\n this.opts = Object.assign({ style: \"long\" }, opts);\n if (!isEnglish && hasRelative()) {\n this.rtf = getCachedRTF(intl, opts);\n }\n }\n\n format(count, unit) {\n if (this.rtf) {\n return this.rtf.format(count, unit);\n } else {\n return English.formatRelativeTime(unit, count, this.opts.numeric, this.opts.style !== \"long\");\n }\n }\n\n formatToParts(count, unit) {\n if (this.rtf) {\n return this.rtf.formatToParts(count, unit);\n } else {\n return [];\n }\n }\n}\n\n/**\n * @private\n */\n\nexport default class Locale {\n static fromOpts(opts) {\n return Locale.create(opts.locale, opts.numberingSystem, opts.outputCalendar, opts.defaultToEN);\n }\n\n static create(locale, numberingSystem, outputCalendar, defaultToEN = false) {\n const specifiedLocale = locale || Settings.defaultLocale,\n // the system locale is useful for human readable strings but annoying for parsing/formatting known formats\n localeR = specifiedLocale || (defaultToEN ? \"en-US\" : systemLocale()),\n numberingSystemR = numberingSystem || Settings.defaultNumberingSystem,\n outputCalendarR = outputCalendar || Settings.defaultOutputCalendar;\n return new Locale(localeR, numberingSystemR, outputCalendarR, specifiedLocale);\n }\n\n static resetCache() {\n sysLocaleCache = null;\n intlDTCache = {};\n intlNumCache = {};\n intlRelCache = {};\n }\n\n static fromObject({ locale, numberingSystem, outputCalendar } = {}) {\n return Locale.create(locale, numberingSystem, outputCalendar);\n }\n\n constructor(locale, numbering, outputCalendar, specifiedLocale) {\n const [parsedLocale, parsedNumberingSystem, parsedOutputCalendar] = parseLocaleString(locale);\n\n this.locale = parsedLocale;\n this.numberingSystem = numbering || parsedNumberingSystem || null;\n this.outputCalendar = outputCalendar || parsedOutputCalendar || null;\n this.intl = intlConfigString(this.locale, this.numberingSystem, this.outputCalendar);\n\n this.weekdaysCache = { format: {}, standalone: {} };\n this.monthsCache = { format: {}, standalone: {} };\n this.meridiemCache = null;\n this.eraCache = {};\n\n this.specifiedLocale = specifiedLocale;\n this.fastNumbersCached = null;\n }\n\n get fastNumbers() {\n if (this.fastNumbersCached == null) {\n this.fastNumbersCached = supportsFastNumbers(this);\n }\n\n return this.fastNumbersCached;\n }\n\n listingMode(defaultOK = true) {\n const intl = hasIntl(),\n hasFTP = intl && hasFormatToParts(),\n isActuallyEn = this.isEnglish(),\n hasNoWeirdness =\n (this.numberingSystem === null || this.numberingSystem === \"latn\") &&\n (this.outputCalendar === null || this.outputCalendar === \"gregory\");\n\n if (!hasFTP && !(isActuallyEn && hasNoWeirdness) && !defaultOK) {\n return \"error\";\n } else if (!hasFTP || (isActuallyEn && hasNoWeirdness)) {\n return \"en\";\n } else {\n return \"intl\";\n }\n }\n\n clone(alts) {\n if (!alts || Object.getOwnPropertyNames(alts).length === 0) {\n return this;\n } else {\n return Locale.create(\n alts.locale || this.specifiedLocale,\n alts.numberingSystem || this.numberingSystem,\n alts.outputCalendar || this.outputCalendar,\n alts.defaultToEN || false\n );\n }\n }\n\n redefaultToEN(alts = {}) {\n return this.clone(Object.assign({}, alts, { defaultToEN: true }));\n }\n\n redefaultToSystem(alts = {}) {\n return this.clone(Object.assign({}, alts, { defaultToEN: false }));\n }\n\n months(length, format = false, defaultOK = true) {\n return listStuff(this, length, defaultOK, English.months, () => {\n const intl = format ? { month: length, day: \"numeric\" } : { month: length },\n formatStr = format ? \"format\" : \"standalone\";\n if (!this.monthsCache[formatStr][length]) {\n this.monthsCache[formatStr][length] = mapMonths(dt => this.extract(dt, intl, \"month\"));\n }\n return this.monthsCache[formatStr][length];\n });\n }\n\n weekdays(length, format = false, defaultOK = true) {\n return listStuff(this, length, defaultOK, English.weekdays, () => {\n const intl = format\n ? { weekday: length, year: \"numeric\", month: \"long\", day: \"numeric\" }\n : { weekday: length },\n formatStr = format ? \"format\" : \"standalone\";\n if (!this.weekdaysCache[formatStr][length]) {\n this.weekdaysCache[formatStr][length] = mapWeekdays(dt =>\n this.extract(dt, intl, \"weekday\")\n );\n }\n return this.weekdaysCache[formatStr][length];\n });\n }\n\n meridiems(defaultOK = true) {\n return listStuff(\n this,\n undefined,\n defaultOK,\n () => English.meridiems,\n () => {\n // In theory there could be aribitrary day periods. We're gonna assume there are exactly two\n // for AM and PM. This is probably wrong, but it's makes parsing way easier.\n if (!this.meridiemCache) {\n const intl = { hour: \"numeric\", hour12: true };\n this.meridiemCache = [DateTime.utc(2016, 11, 13, 9), DateTime.utc(2016, 11, 13, 19)].map(\n dt => this.extract(dt, intl, \"dayperiod\")\n );\n }\n\n return this.meridiemCache;\n }\n );\n }\n\n eras(length, defaultOK = true) {\n return listStuff(this, length, defaultOK, English.eras, () => {\n const intl = { era: length };\n\n // This is problematic. Different calendars are going to define eras totally differently. What I need is the minimum set of dates\n // to definitely enumerate them.\n if (!this.eraCache[length]) {\n this.eraCache[length] = [DateTime.utc(-40, 1, 1), DateTime.utc(2017, 1, 1)].map(dt =>\n this.extract(dt, intl, \"era\")\n );\n }\n\n return this.eraCache[length];\n });\n }\n\n extract(dt, intlOpts, field) {\n const df = this.dtFormatter(dt, intlOpts),\n results = df.formatToParts(),\n matching = results.find(m => m.type.toLowerCase() === field);\n return matching ? matching.value : null;\n }\n\n numberFormatter(opts = {}) {\n // this forcesimple option is never used (the only caller short-circuits on it, but it seems safer to leave)\n // (in contrast, the rest of the condition is used heavily)\n return new PolyNumberFormatter(this.intl, opts.forceSimple || this.fastNumbers, opts);\n }\n\n dtFormatter(dt, intlOpts = {}) {\n return new PolyDateFormatter(dt, this.intl, intlOpts);\n }\n\n relFormatter(opts = {}) {\n return new PolyRelFormatter(this.intl, this.isEnglish(), opts);\n }\n\n isEnglish() {\n return (\n this.locale === \"en\" ||\n this.locale.toLowerCase() === \"en-us\" ||\n (hasIntl() && new Intl.DateTimeFormat(this.intl).resolvedOptions().locale.startsWith(\"en-us\"))\n );\n }\n\n equals(other) {\n return (\n this.locale === other.locale &&\n this.numberingSystem === other.numberingSystem &&\n this.outputCalendar === other.outputCalendar\n );\n }\n}\n","import {\n untruncateYear,\n signedOffset,\n parseInteger,\n parseMillis,\n ianaRegex,\n isUndefined\n} from \"./util.js\";\nimport * as English from \"./english.js\";\nimport FixedOffsetZone from \"../zones/fixedOffsetZone.js\";\nimport IANAZone from \"../zones/IANAZone.js\";\n\n/*\n * This file handles parsing for well-specified formats. Here's how it works:\n * Two things go into parsing: a regex to match with and an extractor to take apart the groups in the match.\n * An extractor is just a function that takes a regex match array and returns a { year: ..., month: ... } object\n * parse() does the work of executing the regex and applying the extractor. It takes multiple regex/extractor pairs to try in sequence.\n * Extractors can take a \"cursor\" representing the offset in the match to look at. This makes it easy to combine extractors.\n * combineExtractors() does the work of combining them, keeping track of the cursor through multiple extractions.\n * Some extractions are super dumb and simpleParse and fromStrings help DRY them.\n */\n\nfunction combineRegexes(...regexes) {\n const full = regexes.reduce((f, r) => f + r.source, \"\");\n return RegExp(`^${full}$`);\n}\n\nfunction combineExtractors(...extractors) {\n return m =>\n extractors\n .reduce(\n ([mergedVals, mergedZone, cursor], ex) => {\n const [val, zone, next] = ex(m, cursor);\n return [Object.assign(mergedVals, val), mergedZone || zone, next];\n },\n [{}, null, 1]\n )\n .slice(0, 2);\n}\n\nfunction parse(s, ...patterns) {\n if (s == null) {\n return [null, null];\n }\n\n for (const [regex, extractor] of patterns) {\n const m = regex.exec(s);\n if (m) {\n return extractor(m);\n }\n }\n return [null, null];\n}\n\nfunction simpleParse(...keys) {\n return (match, cursor) => {\n const ret = {};\n let i;\n\n for (i = 0; i < keys.length; i++) {\n ret[keys[i]] = parseInteger(match[cursor + i]);\n }\n return [ret, null, cursor + i];\n };\n}\n\n// ISO and SQL parsing\nconst offsetRegex = /(?:(Z)|([+-]\\d\\d)(?::?(\\d\\d))?)/,\n isoTimeBaseRegex = /(\\d\\d)(?::?(\\d\\d)(?::?(\\d\\d)(?:[.,](\\d{1,30}))?)?)?/,\n isoTimeRegex = RegExp(`${isoTimeBaseRegex.source}${offsetRegex.source}?`),\n isoTimeExtensionRegex = RegExp(`(?:T${isoTimeRegex.source})?`),\n isoYmdRegex = /([+-]\\d{6}|\\d{4})(?:-?(\\d\\d)(?:-?(\\d\\d))?)?/,\n isoWeekRegex = /(\\d{4})-?W(\\d\\d)(?:-?(\\d))?/,\n isoOrdinalRegex = /(\\d{4})-?(\\d{3})/,\n extractISOWeekData = simpleParse(\"weekYear\", \"weekNumber\", \"weekDay\"),\n extractISOOrdinalData = simpleParse(\"year\", \"ordinal\"),\n sqlYmdRegex = /(\\d{4})-(\\d\\d)-(\\d\\d)/, // dumbed-down version of the ISO one\n sqlTimeRegex = RegExp(\n `${isoTimeBaseRegex.source} ?(?:${offsetRegex.source}|(${ianaRegex.source}))?`\n ),\n sqlTimeExtensionRegex = RegExp(`(?: ${sqlTimeRegex.source})?`);\n\nfunction int(match, pos, fallback) {\n const m = match[pos];\n return isUndefined(m) ? fallback : parseInteger(m);\n}\n\nfunction extractISOYmd(match, cursor) {\n const item = {\n year: int(match, cursor),\n month: int(match, cursor + 1, 1),\n day: int(match, cursor + 2, 1)\n };\n\n return [item, null, cursor + 3];\n}\n\nfunction extractISOTime(match, cursor) {\n const item = {\n hours: int(match, cursor, 0),\n minutes: int(match, cursor + 1, 0),\n seconds: int(match, cursor + 2, 0),\n milliseconds: parseMillis(match[cursor + 3])\n };\n\n return [item, null, cursor + 4];\n}\n\nfunction extractISOOffset(match, cursor) {\n const local = !match[cursor] && !match[cursor + 1],\n fullOffset = signedOffset(match[cursor + 1], match[cursor + 2]),\n zone = local ? null : FixedOffsetZone.instance(fullOffset);\n return [{}, zone, cursor + 3];\n}\n\nfunction extractIANAZone(match, cursor) {\n const zone = match[cursor] ? IANAZone.create(match[cursor]) : null;\n return [{}, zone, cursor + 1];\n}\n\n// ISO time parsing\n\nconst isoTimeOnly = RegExp(`^T?${isoTimeBaseRegex.source}$`);\n\n// ISO duration parsing\n\nconst isoDuration = /^-?P(?:(?:(-?\\d{1,9})Y)?(?:(-?\\d{1,9})M)?(?:(-?\\d{1,9})W)?(?:(-?\\d{1,9})D)?(?:T(?:(-?\\d{1,9})H)?(?:(-?\\d{1,9})M)?(?:(-?\\d{1,20})(?:[.,](-?\\d{1,9}))?S)?)?)$/;\n\nfunction extractISODuration(match) {\n const [\n s,\n yearStr,\n monthStr,\n weekStr,\n dayStr,\n hourStr,\n minuteStr,\n secondStr,\n millisecondsStr\n ] = match;\n\n const hasNegativePrefix = s[0] === \"-\";\n const negativeSeconds = secondStr && secondStr[0] === \"-\";\n\n const maybeNegate = (num, force = false) =>\n num !== undefined && (force || (num && hasNegativePrefix)) ? -num : num;\n\n return [\n {\n years: maybeNegate(parseInteger(yearStr)),\n months: maybeNegate(parseInteger(monthStr)),\n weeks: maybeNegate(parseInteger(weekStr)),\n days: maybeNegate(parseInteger(dayStr)),\n hours: maybeNegate(parseInteger(hourStr)),\n minutes: maybeNegate(parseInteger(minuteStr)),\n seconds: maybeNegate(parseInteger(secondStr), secondStr === \"-0\"),\n milliseconds: maybeNegate(parseMillis(millisecondsStr), negativeSeconds)\n }\n ];\n}\n\n// These are a little braindead. EDT *should* tell us that we're in, say, America/New_York\n// and not just that we're in -240 *right now*. But since I don't think these are used that often\n// I'm just going to ignore that\nconst obsOffsets = {\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60\n};\n\nfunction fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) {\n const result = {\n year: yearStr.length === 2 ? untruncateYear(parseInteger(yearStr)) : parseInteger(yearStr),\n month: English.monthsShort.indexOf(monthStr) + 1,\n day: parseInteger(dayStr),\n hour: parseInteger(hourStr),\n minute: parseInteger(minuteStr)\n };\n\n if (secondStr) result.second = parseInteger(secondStr);\n if (weekdayStr) {\n result.weekday =\n weekdayStr.length > 3\n ? English.weekdaysLong.indexOf(weekdayStr) + 1\n : English.weekdaysShort.indexOf(weekdayStr) + 1;\n }\n\n return result;\n}\n\n// RFC 2822/5322\nconst rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|(?:([+-]\\d\\d)(\\d\\d)))$/;\n\nfunction extractRFC2822(match) {\n const [\n ,\n weekdayStr,\n dayStr,\n monthStr,\n yearStr,\n hourStr,\n minuteStr,\n secondStr,\n obsOffset,\n milOffset,\n offHourStr,\n offMinuteStr\n ] = match,\n result = fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr);\n\n let offset;\n if (obsOffset) {\n offset = obsOffsets[obsOffset];\n } else if (milOffset) {\n offset = 0;\n } else {\n offset = signedOffset(offHourStr, offMinuteStr);\n }\n\n return [result, new FixedOffsetZone(offset)];\n}\n\nfunction preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s\n .replace(/\\([^()]*\\)|[\\n\\t]/g, \" \")\n .replace(/(\\s\\s+)/g, \" \")\n .trim();\n}\n\n// http date\n\nconst rfc1123 = /^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\\d\\d) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\\d{4}) (\\d\\d):(\\d\\d):(\\d\\d) GMT$/,\n rfc850 = /^(Monday|Tuesday|Wedsday|Thursday|Friday|Saturday|Sunday), (\\d\\d)-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\\d\\d) (\\d\\d):(\\d\\d):(\\d\\d) GMT$/,\n ascii = /^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( \\d|\\d\\d) (\\d\\d):(\\d\\d):(\\d\\d) (\\d{4})$/;\n\nfunction extractRFC1123Or850(match) {\n const [, weekdayStr, dayStr, monthStr, yearStr, hourStr, minuteStr, secondStr] = match,\n result = fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr);\n return [result, FixedOffsetZone.utcInstance];\n}\n\nfunction extractASCII(match) {\n const [, weekdayStr, monthStr, dayStr, hourStr, minuteStr, secondStr, yearStr] = match,\n result = fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr);\n return [result, FixedOffsetZone.utcInstance];\n}\n\nconst isoYmdWithTimeExtensionRegex = combineRegexes(isoYmdRegex, isoTimeExtensionRegex);\nconst isoWeekWithTimeExtensionRegex = combineRegexes(isoWeekRegex, isoTimeExtensionRegex);\nconst isoOrdinalWithTimeExtensionRegex = combineRegexes(isoOrdinalRegex, isoTimeExtensionRegex);\nconst isoTimeCombinedRegex = combineRegexes(isoTimeRegex);\n\nconst extractISOYmdTimeAndOffset = combineExtractors(\n extractISOYmd,\n extractISOTime,\n extractISOOffset\n);\nconst extractISOWeekTimeAndOffset = combineExtractors(\n extractISOWeekData,\n extractISOTime,\n extractISOOffset\n);\nconst extractISOOrdinalDateAndTime = combineExtractors(\n extractISOOrdinalData,\n extractISOTime,\n extractISOOffset\n);\nconst extractISOTimeAndOffset = combineExtractors(extractISOTime, extractISOOffset);\n\n/**\n * @private\n */\n\nexport function parseISODate(s) {\n return parse(\n s,\n [isoYmdWithTimeExtensionRegex, extractISOYmdTimeAndOffset],\n [isoWeekWithTimeExtensionRegex, extractISOWeekTimeAndOffset],\n [isoOrdinalWithTimeExtensionRegex, extractISOOrdinalDateAndTime],\n [isoTimeCombinedRegex, extractISOTimeAndOffset]\n );\n}\n\nexport function parseRFC2822Date(s) {\n return parse(preprocessRFC2822(s), [rfc2822, extractRFC2822]);\n}\n\nexport function parseHTTPDate(s) {\n return parse(\n s,\n [rfc1123, extractRFC1123Or850],\n [rfc850, extractRFC1123Or850],\n [ascii, extractASCII]\n );\n}\n\nexport function parseISODuration(s) {\n return parse(s, [isoDuration, extractISODuration]);\n}\n\nconst extractISOTimeOnly = combineExtractors(extractISOTime);\n\nexport function parseISOTimeOnly(s) {\n return parse(s, [isoTimeOnly, extractISOTimeOnly]);\n}\n\nconst sqlYmdWithTimeExtensionRegex = combineRegexes(sqlYmdRegex, sqlTimeExtensionRegex);\nconst sqlTimeCombinedRegex = combineRegexes(sqlTimeRegex);\n\nconst extractISOYmdTimeOffsetAndIANAZone = combineExtractors(\n extractISOYmd,\n extractISOTime,\n extractISOOffset,\n extractIANAZone\n);\nconst extractISOTimeOffsetAndIANAZone = combineExtractors(\n extractISOTime,\n extractISOOffset,\n extractIANAZone\n);\n\nexport function parseSQL(s) {\n return parse(\n s,\n [sqlYmdWithTimeExtensionRegex, extractISOYmdTimeOffsetAndIANAZone],\n [sqlTimeCombinedRegex, extractISOTimeOffsetAndIANAZone]\n );\n}\n","import { InvalidArgumentError, InvalidDurationError, InvalidUnitError } from \"./errors.js\";\nimport Formatter from \"./impl/formatter.js\";\nimport Invalid from \"./impl/invalid.js\";\nimport Locale from \"./impl/locale.js\";\nimport { parseISODuration, parseISOTimeOnly } from \"./impl/regexParser.js\";\nimport {\n asNumber,\n hasOwnProperty,\n isNumber,\n isUndefined,\n normalizeObject,\n roundTo\n} from \"./impl/util.js\";\nimport Settings from \"./settings.js\";\n\nconst INVALID = \"Invalid Duration\";\n\n// unit conversion constants\nconst lowOrderMatrix = {\n weeks: {\n days: 7,\n hours: 7 * 24,\n minutes: 7 * 24 * 60,\n seconds: 7 * 24 * 60 * 60,\n milliseconds: 7 * 24 * 60 * 60 * 1000\n },\n days: {\n hours: 24,\n minutes: 24 * 60,\n seconds: 24 * 60 * 60,\n milliseconds: 24 * 60 * 60 * 1000\n },\n hours: { minutes: 60, seconds: 60 * 60, milliseconds: 60 * 60 * 1000 },\n minutes: { seconds: 60, milliseconds: 60 * 1000 },\n seconds: { milliseconds: 1000 }\n },\n casualMatrix = Object.assign(\n {\n years: {\n quarters: 4,\n months: 12,\n weeks: 52,\n days: 365,\n hours: 365 * 24,\n minutes: 365 * 24 * 60,\n seconds: 365 * 24 * 60 * 60,\n milliseconds: 365 * 24 * 60 * 60 * 1000\n },\n quarters: {\n months: 3,\n weeks: 13,\n days: 91,\n hours: 91 * 24,\n minutes: 91 * 24 * 60,\n seconds: 91 * 24 * 60 * 60,\n milliseconds: 91 * 24 * 60 * 60 * 1000\n },\n months: {\n weeks: 4,\n days: 30,\n hours: 30 * 24,\n minutes: 30 * 24 * 60,\n seconds: 30 * 24 * 60 * 60,\n milliseconds: 30 * 24 * 60 * 60 * 1000\n }\n },\n lowOrderMatrix\n ),\n daysInYearAccurate = 146097.0 / 400,\n daysInMonthAccurate = 146097.0 / 4800,\n accurateMatrix = Object.assign(\n {\n years: {\n quarters: 4,\n months: 12,\n weeks: daysInYearAccurate / 7,\n days: daysInYearAccurate,\n hours: daysInYearAccurate * 24,\n minutes: daysInYearAccurate * 24 * 60,\n seconds: daysInYearAccurate * 24 * 60 * 60,\n milliseconds: daysInYearAccurate * 24 * 60 * 60 * 1000\n },\n quarters: {\n months: 3,\n weeks: daysInYearAccurate / 28,\n days: daysInYearAccurate / 4,\n hours: (daysInYearAccurate * 24) / 4,\n minutes: (daysInYearAccurate * 24 * 60) / 4,\n seconds: (daysInYearAccurate * 24 * 60 * 60) / 4,\n milliseconds: (daysInYearAccurate * 24 * 60 * 60 * 1000) / 4\n },\n months: {\n weeks: daysInMonthAccurate / 7,\n days: daysInMonthAccurate,\n hours: daysInMonthAccurate * 24,\n minutes: daysInMonthAccurate * 24 * 60,\n seconds: daysInMonthAccurate * 24 * 60 * 60,\n milliseconds: daysInMonthAccurate * 24 * 60 * 60 * 1000\n }\n },\n lowOrderMatrix\n );\n\n// units ordered by size\nconst orderedUnits = [\n \"years\",\n \"quarters\",\n \"months\",\n \"weeks\",\n \"days\",\n \"hours\",\n \"minutes\",\n \"seconds\",\n \"milliseconds\"\n];\n\nconst reverseUnits = orderedUnits.slice(0).reverse();\n\n// clone really means \"create another instance just like this one, but with these changes\"\nfunction clone(dur, alts, clear = false) {\n // deep merge for vals\n const conf = {\n values: clear ? alts.values : Object.assign({}, dur.values, alts.values || {}),\n loc: dur.loc.clone(alts.loc),\n conversionAccuracy: alts.conversionAccuracy || dur.conversionAccuracy\n };\n return new Duration(conf);\n}\n\nfunction antiTrunc(n) {\n return n < 0 ? Math.floor(n) : Math.ceil(n);\n}\n\n// NB: mutates parameters\nfunction convert(matrix, fromMap, fromUnit, toMap, toUnit) {\n const conv = matrix[toUnit][fromUnit],\n raw = fromMap[fromUnit] / conv,\n sameSign = Math.sign(raw) === Math.sign(toMap[toUnit]),\n // ok, so this is wild, but see the matrix in the tests\n added =\n !sameSign && toMap[toUnit] !== 0 && Math.abs(raw) <= 1 ? antiTrunc(raw) : Math.trunc(raw);\n toMap[toUnit] += added;\n fromMap[fromUnit] -= added * conv;\n}\n\n// NB: mutates parameters\nfunction normalizeValues(matrix, vals) {\n reverseUnits.reduce((previous, current) => {\n if (!isUndefined(vals[current])) {\n if (previous) {\n convert(matrix, vals, previous, vals, current);\n }\n return current;\n } else {\n return previous;\n }\n }, null);\n}\n\n/**\n * A Duration object represents a period of time, like \"2 months\" or \"1 day, 1 hour\". Conceptually, it's just a map of units to their quantities, accompanied by some additional configuration and methods for creating, parsing, interrogating, transforming, and formatting them. They can be used on their own or in conjunction with other Luxon types; for example, you can use {@link DateTime.plus} to add a Duration object to a DateTime, producing another DateTime.\n *\n * Here is a brief overview of commonly used methods and getters in Duration:\n *\n * * **Creation** To create a Duration, use {@link Duration.fromMillis}, {@link Duration.fromObject}, or {@link Duration.fromISO}.\n * * **Unit values** See the {@link Duration.years}, {@link Duration.months}, {@link Duration.weeks}, {@link Duration.days}, {@link Duration.hours}, {@link Duration.minutes}, {@link Duration.seconds}, {@link Duration.milliseconds} accessors.\n * * **Configuration** See {@link Duration.locale} and {@link Duration.numberingSystem} accessors.\n * * **Transformation** To create new Durations out of old ones use {@link Duration.plus}, {@link Duration.minus}, {@link Duration.normalize}, {@link Duration.set}, {@link Duration.reconfigure}, {@link Duration.shiftTo}, and {@link Duration.negate}.\n * * **Output** To convert the Duration into other representations, see {@link Duration.as}, {@link Duration.toISO}, {@link Duration.toFormat}, and {@link Duration.toJSON}\n *\n * There's are more methods documented below. In addition, for more information on subtler topics like internationalization and validity, see the external documentation.\n */\nexport default class Duration {\n /**\n * @private\n */\n constructor(config) {\n const accurate = config.conversionAccuracy === \"longterm\" || false;\n /**\n * @access private\n */\n this.values = config.values;\n /**\n * @access private\n */\n this.loc = config.loc || Locale.create();\n /**\n * @access private\n */\n this.conversionAccuracy = accurate ? \"longterm\" : \"casual\";\n /**\n * @access private\n */\n this.invalid = config.invalid || null;\n /**\n * @access private\n */\n this.matrix = accurate ? accurateMatrix : casualMatrix;\n /**\n * @access private\n */\n this.isLuxonDuration = true;\n }\n\n /**\n * Create Duration from a number of milliseconds.\n * @param {number} count of milliseconds\n * @param {Object} opts - options for parsing\n * @param {string} [opts.locale='en-US'] - the locale to use\n * @param {string} opts.numberingSystem - the numbering system to use\n * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use\n * @return {Duration}\n */\n static fromMillis(count, opts) {\n return Duration.fromObject(Object.assign({ milliseconds: count }, opts));\n }\n\n /**\n * Create a Duration from a JavaScript object with keys like 'years' and 'hours'.\n * If this object is empty then a zero milliseconds duration is returned.\n * @param {Object} obj - the object to create the DateTime from\n * @param {number} obj.years\n * @param {number} obj.quarters\n * @param {number} obj.months\n * @param {number} obj.weeks\n * @param {number} obj.days\n * @param {number} obj.hours\n * @param {number} obj.minutes\n * @param {number} obj.seconds\n * @param {number} obj.milliseconds\n * @param {string} [obj.locale='en-US'] - the locale to use\n * @param {string} obj.numberingSystem - the numbering system to use\n * @param {string} [obj.conversionAccuracy='casual'] - the conversion system to use\n * @return {Duration}\n */\n static fromObject(obj) {\n if (obj == null || typeof obj !== \"object\") {\n throw new InvalidArgumentError(\n `Duration.fromObject: argument expected to be an object, got ${\n obj === null ? \"null\" : typeof obj\n }`\n );\n }\n return new Duration({\n values: normalizeObject(obj, Duration.normalizeUnit, [\n \"locale\",\n \"numberingSystem\",\n \"conversionAccuracy\",\n \"zone\" // a bit of debt; it's super inconvenient internally not to be able to blindly pass this\n ]),\n loc: Locale.fromObject(obj),\n conversionAccuracy: obj.conversionAccuracy\n });\n }\n\n /**\n * Create a Duration from an ISO 8601 duration string.\n * @param {string} text - text to parse\n * @param {Object} opts - options for parsing\n * @param {string} [opts.locale='en-US'] - the locale to use\n * @param {string} opts.numberingSystem - the numbering system to use\n * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use\n * @see https://en.wikipedia.org/wiki/ISO_8601#Durations\n * @example Duration.fromISO('P3Y6M1W4DT12H30M5S').toObject() //=> { years: 3, months: 6, weeks: 1, days: 4, hours: 12, minutes: 30, seconds: 5 }\n * @example Duration.fromISO('PT23H').toObject() //=> { hours: 23 }\n * @example Duration.fromISO('P5Y3M').toObject() //=> { years: 5, months: 3 }\n * @return {Duration}\n */\n static fromISO(text, opts) {\n const [parsed] = parseISODuration(text);\n if (parsed) {\n const obj = Object.assign(parsed, opts);\n return Duration.fromObject(obj);\n } else {\n return Duration.invalid(\"unparsable\", `the input \"${text}\" can't be parsed as ISO 8601`);\n }\n }\n\n /**\n * Create a Duration from an ISO 8601 time string.\n * @param {string} text - text to parse\n * @param {Object} opts - options for parsing\n * @param {string} [opts.locale='en-US'] - the locale to use\n * @param {string} opts.numberingSystem - the numbering system to use\n * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use\n * @see https://en.wikipedia.org/wiki/ISO_8601#Times\n * @example Duration.fromISOTime('11:22:33.444').toObject() //=> { hours: 11, minutes: 22, seconds: 33, milliseconds: 444 }\n * @example Duration.fromISOTime('11:00').toObject() //=> { hours: 11, minutes: 0, seconds: 0 }\n * @example Duration.fromISOTime('T11:00').toObject() //=> { hours: 11, minutes: 0, seconds: 0 }\n * @example Duration.fromISOTime('1100').toObject() //=> { hours: 11, minutes: 0, seconds: 0 }\n * @example Duration.fromISOTime('T1100').toObject() //=> { hours: 11, minutes: 0, seconds: 0 }\n * @return {Duration}\n */\n static fromISOTime(text, opts) {\n const [parsed] = parseISOTimeOnly(text);\n if (parsed) {\n const obj = Object.assign(parsed, opts);\n return Duration.fromObject(obj);\n } else {\n return Duration.invalid(\"unparsable\", `the input \"${text}\" can't be parsed as ISO 8601`);\n }\n }\n\n /**\n * Create an invalid Duration.\n * @param {string} reason - simple string of why this datetime is invalid. Should not contain parameters or anything else data-dependent\n * @param {string} [explanation=null] - longer explanation, may include parameters and other useful debugging information\n * @return {Duration}\n */\n static invalid(reason, explanation = null) {\n if (!reason) {\n throw new InvalidArgumentError(\"need to specify a reason the Duration is invalid\");\n }\n\n const invalid = reason instanceof Invalid ? reason : new Invalid(reason, explanation);\n\n if (Settings.throwOnInvalid) {\n throw new InvalidDurationError(invalid);\n } else {\n return new Duration({ invalid });\n }\n }\n\n /**\n * @private\n */\n static normalizeUnit(unit) {\n const normalized = {\n year: \"years\",\n years: \"years\",\n quarter: \"quarters\",\n quarters: \"quarters\",\n month: \"months\",\n months: \"months\",\n week: \"weeks\",\n weeks: \"weeks\",\n day: \"days\",\n days: \"days\",\n hour: \"hours\",\n hours: \"hours\",\n minute: \"minutes\",\n minutes: \"minutes\",\n second: \"seconds\",\n seconds: \"seconds\",\n millisecond: \"milliseconds\",\n milliseconds: \"milliseconds\"\n }[unit ? unit.toLowerCase() : unit];\n\n if (!normalized) throw new InvalidUnitError(unit);\n\n return normalized;\n }\n\n /**\n * Check if an object is a Duration. Works across context boundaries\n * @param {object} o\n * @return {boolean}\n */\n static isDuration(o) {\n return (o && o.isLuxonDuration) || false;\n }\n\n /**\n * Get the locale of a Duration, such 'en-GB'\n * @type {string}\n */\n get locale() {\n return this.isValid ? this.loc.locale : null;\n }\n\n /**\n * Get the numbering system of a Duration, such 'beng'. The numbering system is used when formatting the Duration\n *\n * @type {string}\n */\n get numberingSystem() {\n return this.isValid ? this.loc.numberingSystem : null;\n }\n\n /**\n * Returns a string representation of this Duration formatted according to the specified format string. You may use these tokens:\n * * `S` for milliseconds\n * * `s` for seconds\n * * `m` for minutes\n * * `h` for hours\n * * `d` for days\n * * `M` for months\n * * `y` for years\n * Notes:\n * * Add padding by repeating the token, e.g. \"yy\" pads the years to two digits, \"hhhh\" pads the hours out to four digits\n * * The duration will be converted to the set of units in the format string using {@link Duration.shiftTo} and the Durations's conversion accuracy setting.\n * @param {string} fmt - the format string\n * @param {Object} opts - options\n * @param {boolean} [opts.floor=true] - floor numerical values\n * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toFormat(\"y d s\") //=> \"1 6 2\"\n * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toFormat(\"yy dd sss\") //=> \"01 06 002\"\n * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toFormat(\"M S\") //=> \"12 518402000\"\n * @return {string}\n */\n toFormat(fmt, opts = {}) {\n // reverse-compat since 1.2; we always round down now, never up, and we do it by default\n const fmtOpts = Object.assign({}, opts, {\n floor: opts.round !== false && opts.floor !== false\n });\n return this.isValid\n ? Formatter.create(this.loc, fmtOpts).formatDurationFromString(this, fmt)\n : INVALID;\n }\n\n /**\n * Returns a JavaScript object with this Duration's values.\n * @param opts - options for generating the object\n * @param {boolean} [opts.includeConfig=false] - include configuration attributes in the output\n * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toObject() //=> { years: 1, days: 6, seconds: 2 }\n * @return {Object}\n */\n toObject(opts = {}) {\n if (!this.isValid) return {};\n\n const base = Object.assign({}, this.values);\n\n if (opts.includeConfig) {\n base.conversionAccuracy = this.conversionAccuracy;\n base.numberingSystem = this.loc.numberingSystem;\n base.locale = this.loc.locale;\n }\n return base;\n }\n\n /**\n * Returns an ISO 8601-compliant string representation of this Duration.\n * @see https://en.wikipedia.org/wiki/ISO_8601#Durations\n * @example Duration.fromObject({ years: 3, seconds: 45 }).toISO() //=> 'P3YT45S'\n * @example Duration.fromObject({ months: 4, seconds: 45 }).toISO() //=> 'P4MT45S'\n * @example Duration.fromObject({ months: 5 }).toISO() //=> 'P5M'\n * @example Duration.fromObject({ minutes: 5 }).toISO() //=> 'PT5M'\n * @example Duration.fromObject({ milliseconds: 6 }).toISO() //=> 'PT0.006S'\n * @return {string}\n */\n toISO() {\n // we could use the formatter, but this is an easier way to get the minimum string\n if (!this.isValid) return null;\n\n let s = \"P\";\n if (this.years !== 0) s += this.years + \"Y\";\n if (this.months !== 0 || this.quarters !== 0) s += this.months + this.quarters * 3 + \"M\";\n if (this.weeks !== 0) s += this.weeks + \"W\";\n if (this.days !== 0) s += this.days + \"D\";\n if (this.hours !== 0 || this.minutes !== 0 || this.seconds !== 0 || this.milliseconds !== 0)\n s += \"T\";\n if (this.hours !== 0) s += this.hours + \"H\";\n if (this.minutes !== 0) s += this.minutes + \"M\";\n if (this.seconds !== 0 || this.milliseconds !== 0)\n // this will handle \"floating point madness\" by removing extra decimal places\n // https://stackoverflow.com/questions/588004/is-floating-point-math-broken\n s += roundTo(this.seconds + this.milliseconds / 1000, 3) + \"S\";\n if (s === \"P\") s += \"T0S\";\n return s;\n }\n\n /**\n * Returns an ISO 8601-compliant string representation of this Duration, formatted as a time of day.\n * Note that this will return null if the duration is invalid, negative, or equal to or greater than 24 hours.\n * @see https://en.wikipedia.org/wiki/ISO_8601#Times\n * @param {Object} opts - options\n * @param {boolean} [opts.suppressMilliseconds=false] - exclude milliseconds from the format if they're 0\n * @param {boolean} [opts.suppressSeconds=false] - exclude seconds from the format if they're 0\n * @param {boolean} [opts.includePrefix=false] - include the `T` prefix\n * @param {string} [opts.format='extended'] - choose between the basic and extended format\n * @example Duration.fromObject({ hours: 11 }).toISOTime() //=> '11:00:00.000'\n * @example Duration.fromObject({ hours: 11 }).toISOTime({ suppressMilliseconds: true }) //=> '11:00:00'\n * @example Duration.fromObject({ hours: 11 }).toISOTime({ suppressSeconds: true }) //=> '11:00'\n * @example Duration.fromObject({ hours: 11 }).toISOTime({ includePrefix: true }) //=> 'T11:00:00.000'\n * @example Duration.fromObject({ hours: 11 }).toISOTime({ format: 'basic' }) //=> '110000.000'\n * @return {string}\n */\n toISOTime(opts = {}) {\n if (!this.isValid) return null;\n\n const millis = this.toMillis();\n if (millis < 0 || millis >= 86400000) return null;\n\n opts = Object.assign(\n {\n suppressMilliseconds: false,\n suppressSeconds: false,\n includePrefix: false,\n format: \"extended\"\n },\n opts\n );\n\n const value = this.shiftTo(\"hours\", \"minutes\", \"seconds\", \"milliseconds\");\n\n let fmt = opts.format === \"basic\" ? \"hhmm\" : \"hh:mm\";\n\n if (!opts.suppressSeconds || value.seconds !== 0 || value.milliseconds !== 0) {\n fmt += opts.format === \"basic\" ? \"ss\" : \":ss\";\n if (!opts.suppressMilliseconds || value.milliseconds !== 0) {\n fmt += \".SSS\";\n }\n }\n\n let str = value.toFormat(fmt);\n\n if (opts.includePrefix) {\n str = \"T\" + str;\n }\n\n return str;\n }\n\n /**\n * Returns an ISO 8601 representation of this Duration appropriate for use in JSON.\n * @return {string}\n */\n toJSON() {\n return this.toISO();\n }\n\n /**\n * Returns an ISO 8601 representation of this Duration appropriate for use in debugging.\n * @return {string}\n */\n toString() {\n return this.toISO();\n }\n\n /**\n * Returns an milliseconds value of this Duration.\n * @return {number}\n */\n toMillis() {\n return this.as(\"milliseconds\");\n }\n\n /**\n * Returns an milliseconds value of this Duration. Alias of {@link toMillis}\n * @return {number}\n */\n valueOf() {\n return this.toMillis();\n }\n\n /**\n * Make this Duration longer by the specified amount. Return a newly-constructed Duration.\n * @param {Duration|Object|number} duration - The amount to add. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject()\n * @return {Duration}\n */\n plus(duration) {\n if (!this.isValid) return this;\n\n const dur = friendlyDuration(duration),\n result = {};\n\n for (const k of orderedUnits) {\n if (hasOwnProperty(dur.values, k) || hasOwnProperty(this.values, k)) {\n result[k] = dur.get(k) + this.get(k);\n }\n }\n\n return clone(this, { values: result }, true);\n }\n\n /**\n * Make this Duration shorter by the specified amount. Return a newly-constructed Duration.\n * @param {Duration|Object|number} duration - The amount to subtract. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject()\n * @return {Duration}\n */\n minus(duration) {\n if (!this.isValid) return this;\n\n const dur = friendlyDuration(duration);\n return this.plus(dur.negate());\n }\n\n /**\n * Scale this Duration by the specified amount. Return a newly-constructed Duration.\n * @param {function} fn - The function to apply to each unit. Arity is 1 or 2: the value of the unit and, optionally, the unit name. Must return a number.\n * @example Duration.fromObject({ hours: 1, minutes: 30 }).mapUnit(x => x * 2) //=> { hours: 2, minutes: 60 }\n * @example Duration.fromObject({ hours: 1, minutes: 30 }).mapUnit((x, u) => u === \"hour\" ? x * 2 : x) //=> { hours: 2, minutes: 30 }\n * @return {Duration}\n */\n mapUnits(fn) {\n if (!this.isValid) return this;\n const result = {};\n for (const k of Object.keys(this.values)) {\n result[k] = asNumber(fn(this.values[k], k));\n }\n return clone(this, { values: result }, true);\n }\n\n /**\n * Get the value of unit.\n * @param {string} unit - a unit such as 'minute' or 'day'\n * @example Duration.fromObject({years: 2, days: 3}).get('years') //=> 2\n * @example Duration.fromObject({years: 2, days: 3}).get('months') //=> 0\n * @example Duration.fromObject({years: 2, days: 3}).get('days') //=> 3\n * @return {number}\n */\n get(unit) {\n return this[Duration.normalizeUnit(unit)];\n }\n\n /**\n * \"Set\" the values of specified units. Return a newly-constructed Duration.\n * @param {Object} values - a mapping of units to numbers\n * @example dur.set({ years: 2017 })\n * @example dur.set({ hours: 8, minutes: 30 })\n * @return {Duration}\n */\n set(values) {\n if (!this.isValid) return this;\n\n const mixed = Object.assign(this.values, normalizeObject(values, Duration.normalizeUnit, []));\n return clone(this, { values: mixed });\n }\n\n /**\n * \"Set\" the locale and/or numberingSystem. Returns a newly-constructed Duration.\n * @example dur.reconfigure({ locale: 'en-GB' })\n * @return {Duration}\n */\n reconfigure({ locale, numberingSystem, conversionAccuracy } = {}) {\n const loc = this.loc.clone({ locale, numberingSystem }),\n opts = { loc };\n\n if (conversionAccuracy) {\n opts.conversionAccuracy = conversionAccuracy;\n }\n\n return clone(this, opts);\n }\n\n /**\n * Return the length of the duration in the specified unit.\n * @param {string} unit - a unit such as 'minutes' or 'days'\n * @example Duration.fromObject({years: 1}).as('days') //=> 365\n * @example Duration.fromObject({years: 1}).as('months') //=> 12\n * @example Duration.fromObject({hours: 60}).as('days') //=> 2.5\n * @return {number}\n */\n as(unit) {\n return this.isValid ? this.shiftTo(unit).get(unit) : NaN;\n }\n\n /**\n * Reduce this Duration to its canonical representation in its current units.\n * @example Duration.fromObject({ years: 2, days: 5000 }).normalize().toObject() //=> { years: 15, days: 255 }\n * @example Duration.fromObject({ hours: 12, minutes: -45 }).normalize().toObject() //=> { hours: 11, minutes: 15 }\n * @return {Duration}\n */\n normalize() {\n if (!this.isValid) return this;\n const vals = this.toObject();\n normalizeValues(this.matrix, vals);\n return clone(this, { values: vals }, true);\n }\n\n /**\n * Convert this Duration into its representation in a different set of units.\n * @example Duration.fromObject({ hours: 1, seconds: 30 }).shiftTo('minutes', 'milliseconds').toObject() //=> { minutes: 60, milliseconds: 30000 }\n * @return {Duration}\n */\n shiftTo(...units) {\n if (!this.isValid) return this;\n\n if (units.length === 0) {\n return this;\n }\n\n units = units.map(u => Duration.normalizeUnit(u));\n\n const built = {},\n accumulated = {},\n vals = this.toObject();\n let lastUnit;\n\n for (const k of orderedUnits) {\n if (units.indexOf(k) >= 0) {\n lastUnit = k;\n\n let own = 0;\n\n // anything we haven't boiled down yet should get boiled to this unit\n for (const ak in accumulated) {\n own += this.matrix[ak][k] * accumulated[ak];\n accumulated[ak] = 0;\n }\n\n // plus anything that's already in this unit\n if (isNumber(vals[k])) {\n own += vals[k];\n }\n\n const i = Math.trunc(own);\n built[k] = i;\n accumulated[k] = own - i; // we'd like to absorb these fractions in another unit\n\n // plus anything further down the chain that should be rolled up in to this\n for (const down in vals) {\n if (orderedUnits.indexOf(down) > orderedUnits.indexOf(k)) {\n convert(this.matrix, vals, down, built, k);\n }\n }\n // otherwise, keep it in the wings to boil it later\n } else if (isNumber(vals[k])) {\n accumulated[k] = vals[k];\n }\n }\n\n // anything leftover becomes the decimal for the last unit\n // lastUnit must be defined since units is not empty\n for (const key in accumulated) {\n if (accumulated[key] !== 0) {\n built[lastUnit] +=\n key === lastUnit ? accumulated[key] : accumulated[key] / this.matrix[lastUnit][key];\n }\n }\n\n return clone(this, { values: built }, true).normalize();\n }\n\n /**\n * Return the negative of this Duration.\n * @example Duration.fromObject({ hours: 1, seconds: 30 }).negate().toObject() //=> { hours: -1, seconds: -30 }\n * @return {Duration}\n */\n negate() {\n if (!this.isValid) return this;\n const negated = {};\n for (const k of Object.keys(this.values)) {\n negated[k] = -this.values[k];\n }\n return clone(this, { values: negated }, true);\n }\n\n /**\n * Get the years.\n * @type {number}\n */\n get years() {\n return this.isValid ? this.values.years || 0 : NaN;\n }\n\n /**\n * Get the quarters.\n * @type {number}\n */\n get quarters() {\n return this.isValid ? this.values.quarters || 0 : NaN;\n }\n\n /**\n * Get the months.\n * @type {number}\n */\n get months() {\n return this.isValid ? this.values.months || 0 : NaN;\n }\n\n /**\n * Get the weeks\n * @type {number}\n */\n get weeks() {\n return this.isValid ? this.values.weeks || 0 : NaN;\n }\n\n /**\n * Get the days.\n * @type {number}\n */\n get days() {\n return this.isValid ? this.values.days || 0 : NaN;\n }\n\n /**\n * Get the hours.\n * @type {number}\n */\n get hours() {\n return this.isValid ? this.values.hours || 0 : NaN;\n }\n\n /**\n * Get the minutes.\n * @type {number}\n */\n get minutes() {\n return this.isValid ? this.values.minutes || 0 : NaN;\n }\n\n /**\n * Get the seconds.\n * @return {number}\n */\n get seconds() {\n return this.isValid ? this.values.seconds || 0 : NaN;\n }\n\n /**\n * Get the milliseconds.\n * @return {number}\n */\n get milliseconds() {\n return this.isValid ? this.values.milliseconds || 0 : NaN;\n }\n\n /**\n * Returns whether the Duration is invalid. Invalid durations are returned by diff operations\n * on invalid DateTimes or Intervals.\n * @return {boolean}\n */\n get isValid() {\n return this.invalid === null;\n }\n\n /**\n * Returns an error code if this Duration became invalid, or null if the Duration is valid\n * @return {string}\n */\n get invalidReason() {\n return this.invalid ? this.invalid.reason : null;\n }\n\n /**\n * Returns an explanation of why this Duration became invalid, or null if the Duration is valid\n * @type {string}\n */\n get invalidExplanation() {\n return this.invalid ? this.invalid.explanation : null;\n }\n\n /**\n * Equality check\n * Two Durations are equal iff they have the same units and the same values for each unit.\n * @param {Duration} other\n * @return {boolean}\n */\n equals(other) {\n if (!this.isValid || !other.isValid) {\n return false;\n }\n\n if (!this.loc.equals(other.loc)) {\n return false;\n }\n\n function eq(v1, v2) {\n // Consider 0 and undefined as equal\n if (v1 === undefined || v1 === 0) return v2 === undefined || v2 === 0;\n return v1 === v2;\n }\n\n for (const u of orderedUnits) {\n if (!eq(this.values[u], other.values[u])) {\n return false;\n }\n }\n return true;\n }\n}\n\n/**\n * @private\n */\nexport function friendlyDuration(durationish) {\n if (isNumber(durationish)) {\n return Duration.fromMillis(durationish);\n } else if (Duration.isDuration(durationish)) {\n return durationish;\n } else if (typeof durationish === \"object\") {\n return Duration.fromObject(durationish);\n } else {\n throw new InvalidArgumentError(\n `Unknown duration argument ${durationish} of type ${typeof durationish}`\n );\n }\n}\n","import DateTime, { friendlyDateTime } from \"./datetime.js\";\nimport Duration, { friendlyDuration } from \"./duration.js\";\nimport Settings from \"./settings.js\";\nimport { InvalidArgumentError, InvalidIntervalError } from \"./errors.js\";\nimport Invalid from \"./impl/invalid.js\";\n\nconst INVALID = \"Invalid Interval\";\n\n// checks if the start is equal to or before the end\nfunction validateStartEnd(start, end) {\n if (!start || !start.isValid) {\n return Interval.invalid(\"missing or invalid start\");\n } else if (!end || !end.isValid) {\n return Interval.invalid(\"missing or invalid end\");\n } else if (end < start) {\n return Interval.invalid(\n \"end before start\",\n `The end of an interval must be after its start, but you had start=${start.toISO()} and end=${end.toISO()}`\n );\n } else {\n return null;\n }\n}\n\n/**\n * An Interval object represents a half-open interval of time, where each endpoint is a {@link DateTime}. Conceptually, it's a container for those two endpoints, accompanied by methods for creating, parsing, interrogating, comparing, transforming, and formatting them.\n *\n * Here is a brief overview of the most commonly used methods and getters in Interval:\n *\n * * **Creation** To create an Interval, use {@link fromDateTimes}, {@link after}, {@link before}, or {@link fromISO}.\n * * **Accessors** Use {@link start} and {@link end} to get the start and end.\n * * **Interrogation** To analyze the Interval, use {@link count}, {@link length}, {@link hasSame}, {@link contains}, {@link isAfter}, or {@link isBefore}.\n * * **Transformation** To create other Intervals out of this one, use {@link set}, {@link splitAt}, {@link splitBy}, {@link divideEqually}, {@link merge}, {@link xor}, {@link union}, {@link intersection}, or {@link difference}.\n * * **Comparison** To compare this Interval to another one, use {@link equals}, {@link overlaps}, {@link abutsStart}, {@link abutsEnd}, {@link engulfs}.\n * * **Output** To convert the Interval into other representations, see {@link toString}, {@link toISO}, {@link toISODate}, {@link toISOTime}, {@link toFormat}, and {@link toDuration}.\n */\nexport default class Interval {\n /**\n * @private\n */\n constructor(config) {\n /**\n * @access private\n */\n this.s = config.start;\n /**\n * @access private\n */\n this.e = config.end;\n /**\n * @access private\n */\n this.invalid = config.invalid || null;\n /**\n * @access private\n */\n this.isLuxonInterval = true;\n }\n\n /**\n * Create an invalid Interval.\n * @param {string} reason - simple string of why this Interval is invalid. Should not contain parameters or anything else data-dependent\n * @param {string} [explanation=null] - longer explanation, may include parameters and other useful debugging information\n * @return {Interval}\n */\n static invalid(reason, explanation = null) {\n if (!reason) {\n throw new InvalidArgumentError(\"need to specify a reason the Interval is invalid\");\n }\n\n const invalid = reason instanceof Invalid ? reason : new Invalid(reason, explanation);\n\n if (Settings.throwOnInvalid) {\n throw new InvalidIntervalError(invalid);\n } else {\n return new Interval({ invalid });\n }\n }\n\n /**\n * Create an Interval from a start DateTime and an end DateTime. Inclusive of the start but not the end.\n * @param {DateTime|Date|Object} start\n * @param {DateTime|Date|Object} end\n * @return {Interval}\n */\n static fromDateTimes(start, end) {\n const builtStart = friendlyDateTime(start),\n builtEnd = friendlyDateTime(end);\n\n const validateError = validateStartEnd(builtStart, builtEnd);\n\n if (validateError == null) {\n return new Interval({\n start: builtStart,\n end: builtEnd\n });\n } else {\n return validateError;\n }\n }\n\n /**\n * Create an Interval from a start DateTime and a Duration to extend to.\n * @param {DateTime|Date|Object} start\n * @param {Duration|Object|number} duration - the length of the Interval.\n * @return {Interval}\n */\n static after(start, duration) {\n const dur = friendlyDuration(duration),\n dt = friendlyDateTime(start);\n return Interval.fromDateTimes(dt, dt.plus(dur));\n }\n\n /**\n * Create an Interval from an end DateTime and a Duration to extend backwards to.\n * @param {DateTime|Date|Object} end\n * @param {Duration|Object|number} duration - the length of the Interval.\n * @return {Interval}\n */\n static before(end, duration) {\n const dur = friendlyDuration(duration),\n dt = friendlyDateTime(end);\n return Interval.fromDateTimes(dt.minus(dur), dt);\n }\n\n /**\n * Create an Interval from an ISO 8601 string.\n * Accepts `/`, `/`, and `/` formats.\n * @param {string} text - the ISO string to parse\n * @param {Object} [opts] - options to pass {@link DateTime.fromISO} and optionally {@link Duration.fromISO}\n * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals\n * @return {Interval}\n */\n static fromISO(text, opts) {\n const [s, e] = (text || \"\").split(\"/\", 2);\n if (s && e) {\n let start, startIsValid;\n try {\n start = DateTime.fromISO(s, opts);\n startIsValid = start.isValid;\n } catch (e) {\n startIsValid = false;\n }\n\n let end, endIsValid;\n try {\n end = DateTime.fromISO(e, opts);\n endIsValid = end.isValid;\n } catch (e) {\n endIsValid = false;\n }\n\n if (startIsValid && endIsValid) {\n return Interval.fromDateTimes(start, end);\n }\n\n if (startIsValid) {\n const dur = Duration.fromISO(e, opts);\n if (dur.isValid) {\n return Interval.after(start, dur);\n }\n } else if (endIsValid) {\n const dur = Duration.fromISO(s, opts);\n if (dur.isValid) {\n return Interval.before(end, dur);\n }\n }\n }\n return Interval.invalid(\"unparsable\", `the input \"${text}\" can't be parsed as ISO 8601`);\n }\n\n /**\n * Check if an object is an Interval. Works across context boundaries\n * @param {object} o\n * @return {boolean}\n */\n static isInterval(o) {\n return (o && o.isLuxonInterval) || false;\n }\n\n /**\n * Returns the start of the Interval\n * @type {DateTime}\n */\n get start() {\n return this.isValid ? this.s : null;\n }\n\n /**\n * Returns the end of the Interval\n * @type {DateTime}\n */\n get end() {\n return this.isValid ? this.e : null;\n }\n\n /**\n * Returns whether this Interval's end is at least its start, meaning that the Interval isn't 'backwards'.\n * @type {boolean}\n */\n get isValid() {\n return this.invalidReason === null;\n }\n\n /**\n * Returns an error code if this Interval is invalid, or null if the Interval is valid\n * @type {string}\n */\n get invalidReason() {\n return this.invalid ? this.invalid.reason : null;\n }\n\n /**\n * Returns an explanation of why this Interval became invalid, or null if the Interval is valid\n * @type {string}\n */\n get invalidExplanation() {\n return this.invalid ? this.invalid.explanation : null;\n }\n\n /**\n * Returns the length of the Interval in the specified unit.\n * @param {string} unit - the unit (such as 'hours' or 'days') to return the length in.\n * @return {number}\n */\n length(unit = \"milliseconds\") {\n return this.isValid ? this.toDuration(...[unit]).get(unit) : NaN;\n }\n\n /**\n * Returns the count of minutes, hours, days, months, or years included in the Interval, even in part.\n * Unlike {@link length} this counts sections of the calendar, not periods of time, e.g. specifying 'day'\n * asks 'what dates are included in this interval?', not 'how many days long is this interval?'\n * @param {string} [unit='milliseconds'] - the unit of time to count.\n * @return {number}\n */\n count(unit = \"milliseconds\") {\n if (!this.isValid) return NaN;\n const start = this.start.startOf(unit),\n end = this.end.startOf(unit);\n return Math.floor(end.diff(start, unit).get(unit)) + 1;\n }\n\n /**\n * Returns whether this Interval's start and end are both in the same unit of time\n * @param {string} unit - the unit of time to check sameness on\n * @return {boolean}\n */\n hasSame(unit) {\n return this.isValid ? this.isEmpty() || this.e.minus(1).hasSame(this.s, unit) : false;\n }\n\n /**\n * Return whether this Interval has the same start and end DateTimes.\n * @return {boolean}\n */\n isEmpty() {\n return this.s.valueOf() === this.e.valueOf();\n }\n\n /**\n * Return whether this Interval's start is after the specified DateTime.\n * @param {DateTime} dateTime\n * @return {boolean}\n */\n isAfter(dateTime) {\n if (!this.isValid) return false;\n return this.s > dateTime;\n }\n\n /**\n * Return whether this Interval's end is before the specified DateTime.\n * @param {DateTime} dateTime\n * @return {boolean}\n */\n isBefore(dateTime) {\n if (!this.isValid) return false;\n return this.e <= dateTime;\n }\n\n /**\n * Return whether this Interval contains the specified DateTime.\n * @param {DateTime} dateTime\n * @return {boolean}\n */\n contains(dateTime) {\n if (!this.isValid) return false;\n return this.s <= dateTime && this.e > dateTime;\n }\n\n /**\n * \"Sets\" the start and/or end dates. Returns a newly-constructed Interval.\n * @param {Object} values - the values to set\n * @param {DateTime} values.start - the starting DateTime\n * @param {DateTime} values.end - the ending DateTime\n * @return {Interval}\n */\n set({ start, end } = {}) {\n if (!this.isValid) return this;\n return Interval.fromDateTimes(start || this.s, end || this.e);\n }\n\n /**\n * Split this Interval at each of the specified DateTimes\n * @param {...[DateTime]} dateTimes - the unit of time to count.\n * @return {[Interval]}\n */\n splitAt(...dateTimes) {\n if (!this.isValid) return [];\n const sorted = dateTimes\n .map(friendlyDateTime)\n .filter(d => this.contains(d))\n .sort(),\n results = [];\n let { s } = this,\n i = 0;\n\n while (s < this.e) {\n const added = sorted[i] || this.e,\n next = +added > +this.e ? this.e : added;\n results.push(Interval.fromDateTimes(s, next));\n s = next;\n i += 1;\n }\n\n return results;\n }\n\n /**\n * Split this Interval into smaller Intervals, each of the specified length.\n * Left over time is grouped into a smaller interval\n * @param {Duration|Object|number} duration - The length of each resulting interval.\n * @return {[Interval]}\n */\n splitBy(duration) {\n const dur = friendlyDuration(duration);\n\n if (!this.isValid || !dur.isValid || dur.as(\"milliseconds\") === 0) {\n return [];\n }\n\n let { s } = this,\n idx = 1,\n next;\n\n const results = [];\n while (s < this.e) {\n const added = this.start.plus(dur.mapUnits(x => x * idx));\n next = +added > +this.e ? this.e : added;\n results.push(Interval.fromDateTimes(s, next));\n s = next;\n idx += 1;\n }\n\n return results;\n }\n\n /**\n * Split this Interval into the specified number of smaller intervals.\n * @param {number} numberOfParts - The number of Intervals to divide the Interval into.\n * @return {[Interval]}\n */\n divideEqually(numberOfParts) {\n if (!this.isValid) return [];\n return this.splitBy(this.length() / numberOfParts).slice(0, numberOfParts);\n }\n\n /**\n * Return whether this Interval overlaps with the specified Interval\n * @param {Interval} other\n * @return {boolean}\n */\n overlaps(other) {\n return this.e > other.s && this.s < other.e;\n }\n\n /**\n * Return whether this Interval's end is adjacent to the specified Interval's start.\n * @param {Interval} other\n * @return {boolean}\n */\n abutsStart(other) {\n if (!this.isValid) return false;\n return +this.e === +other.s;\n }\n\n /**\n * Return whether this Interval's start is adjacent to the specified Interval's end.\n * @param {Interval} other\n * @return {boolean}\n */\n abutsEnd(other) {\n if (!this.isValid) return false;\n return +other.e === +this.s;\n }\n\n /**\n * Return whether this Interval engulfs the start and end of the specified Interval.\n * @param {Interval} other\n * @return {boolean}\n */\n engulfs(other) {\n if (!this.isValid) return false;\n return this.s <= other.s && this.e >= other.e;\n }\n\n /**\n * Return whether this Interval has the same start and end as the specified Interval.\n * @param {Interval} other\n * @return {boolean}\n */\n equals(other) {\n if (!this.isValid || !other.isValid) {\n return false;\n }\n\n return this.s.equals(other.s) && this.e.equals(other.e);\n }\n\n /**\n * Return an Interval representing the intersection of this Interval and the specified Interval.\n * Specifically, the resulting Interval has the maximum start time and the minimum end time of the two Intervals.\n * Returns null if the intersection is empty, meaning, the intervals don't intersect.\n * @param {Interval} other\n * @return {Interval}\n */\n intersection(other) {\n if (!this.isValid) return this;\n const s = this.s > other.s ? this.s : other.s,\n e = this.e < other.e ? this.e : other.e;\n\n if (s >= e) {\n return null;\n } else {\n return Interval.fromDateTimes(s, e);\n }\n }\n\n /**\n * Return an Interval representing the union of this Interval and the specified Interval.\n * Specifically, the resulting Interval has the minimum start time and the maximum end time of the two Intervals.\n * @param {Interval} other\n * @return {Interval}\n */\n union(other) {\n if (!this.isValid) return this;\n const s = this.s < other.s ? this.s : other.s,\n e = this.e > other.e ? this.e : other.e;\n return Interval.fromDateTimes(s, e);\n }\n\n /**\n * Merge an array of Intervals into a equivalent minimal set of Intervals.\n * Combines overlapping and adjacent Intervals.\n * @param {[Interval]} intervals\n * @return {[Interval]}\n */\n static merge(intervals) {\n const [found, final] = intervals.sort((a, b) => a.s - b.s).reduce(\n ([sofar, current], item) => {\n if (!current) {\n return [sofar, item];\n } else if (current.overlaps(item) || current.abutsStart(item)) {\n return [sofar, current.union(item)];\n } else {\n return [sofar.concat([current]), item];\n }\n },\n [[], null]\n );\n if (final) {\n found.push(final);\n }\n return found;\n }\n\n /**\n * Return an array of Intervals representing the spans of time that only appear in one of the specified Intervals.\n * @param {[Interval]} intervals\n * @return {[Interval]}\n */\n static xor(intervals) {\n let start = null,\n currentCount = 0;\n const results = [],\n ends = intervals.map(i => [{ time: i.s, type: \"s\" }, { time: i.e, type: \"e\" }]),\n flattened = Array.prototype.concat(...ends),\n arr = flattened.sort((a, b) => a.time - b.time);\n\n for (const i of arr) {\n currentCount += i.type === \"s\" ? 1 : -1;\n\n if (currentCount === 1) {\n start = i.time;\n } else {\n if (start && +start !== +i.time) {\n results.push(Interval.fromDateTimes(start, i.time));\n }\n\n start = null;\n }\n }\n\n return Interval.merge(results);\n }\n\n /**\n * Return an Interval representing the span of time in this Interval that doesn't overlap with any of the specified Intervals.\n * @param {...Interval} intervals\n * @return {[Interval]}\n */\n difference(...intervals) {\n return Interval.xor([this].concat(intervals))\n .map(i => this.intersection(i))\n .filter(i => i && !i.isEmpty());\n }\n\n /**\n * Returns a string representation of this Interval appropriate for debugging.\n * @return {string}\n */\n toString() {\n if (!this.isValid) return INVALID;\n return `[${this.s.toISO()} – ${this.e.toISO()})`;\n }\n\n /**\n * Returns an ISO 8601-compliant string representation of this Interval.\n * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals\n * @param {Object} opts - The same options as {@link DateTime.toISO}\n * @return {string}\n */\n toISO(opts) {\n if (!this.isValid) return INVALID;\n return `${this.s.toISO(opts)}/${this.e.toISO(opts)}`;\n }\n\n /**\n * Returns an ISO 8601-compliant string representation of date of this Interval.\n * The time components are ignored.\n * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals\n * @return {string}\n */\n toISODate() {\n if (!this.isValid) return INVALID;\n return `${this.s.toISODate()}/${this.e.toISODate()}`;\n }\n\n /**\n * Returns an ISO 8601-compliant string representation of time of this Interval.\n * The date components are ignored.\n * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals\n * @param {Object} opts - The same options as {@link DateTime.toISO}\n * @return {string}\n */\n toISOTime(opts) {\n if (!this.isValid) return INVALID;\n return `${this.s.toISOTime(opts)}/${this.e.toISOTime(opts)}`;\n }\n\n /**\n * Returns a string representation of this Interval formatted according to the specified format string.\n * @param {string} dateFormat - the format string. This string formats the start and end time. See {@link DateTime.toFormat} for details.\n * @param {Object} opts - options\n * @param {string} [opts.separator = ' – '] - a separator to place between the start and end representations\n * @return {string}\n */\n toFormat(dateFormat, { separator = \" – \" } = {}) {\n if (!this.isValid) return INVALID;\n return `${this.s.toFormat(dateFormat)}${separator}${this.e.toFormat(dateFormat)}`;\n }\n\n /**\n * Return a Duration representing the time spanned by this interval.\n * @param {string|string[]} [unit=['milliseconds']] - the unit or units (such as 'hours' or 'days') to include in the duration.\n * @param {Object} opts - options that affect the creation of the Duration\n * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use\n * @example Interval.fromDateTimes(dt1, dt2).toDuration().toObject() //=> { milliseconds: 88489257 }\n * @example Interval.fromDateTimes(dt1, dt2).toDuration('days').toObject() //=> { days: 1.0241812152777778 }\n * @example Interval.fromDateTimes(dt1, dt2).toDuration(['hours', 'minutes']).toObject() //=> { hours: 24, minutes: 34.82095 }\n * @example Interval.fromDateTimes(dt1, dt2).toDuration(['hours', 'minutes', 'seconds']).toObject() //=> { hours: 24, minutes: 34, seconds: 49.257 }\n * @example Interval.fromDateTimes(dt1, dt2).toDuration('seconds').toObject() //=> { seconds: 88489.257 }\n * @return {Duration}\n */\n toDuration(unit, opts) {\n if (!this.isValid) {\n return Duration.invalid(this.invalidReason);\n }\n return this.e.diff(this.s, unit, opts);\n }\n\n /**\n * Run mapFn on the interval start and end, returning a new Interval from the resulting DateTimes\n * @param {function} mapFn\n * @return {Interval}\n * @example Interval.fromDateTimes(dt1, dt2).mapEndpoints(endpoint => endpoint.toUTC())\n * @example Interval.fromDateTimes(dt1, dt2).mapEndpoints(endpoint => endpoint.plus({ hours: 2 }))\n */\n mapEndpoints(mapFn) {\n return Interval.fromDateTimes(mapFn(this.s), mapFn(this.e));\n }\n}\n","import DateTime from \"./datetime.js\";\nimport Settings from \"./settings.js\";\nimport Locale from \"./impl/locale.js\";\nimport IANAZone from \"./zones/IANAZone.js\";\nimport { normalizeZone } from \"./impl/zoneUtil.js\";\n\nimport { hasFormatToParts, hasIntl, hasRelative } from \"./impl/util.js\";\n\n/**\n * The Info class contains static methods for retrieving general time and date related data. For example, it has methods for finding out if a time zone has a DST, for listing the months in any supported locale, and for discovering which of Luxon features are available in the current environment.\n */\nexport default class Info {\n /**\n * Return whether the specified zone contains a DST.\n * @param {string|Zone} [zone='local'] - Zone to check. Defaults to the environment's local zone.\n * @return {boolean}\n */\n static hasDST(zone = Settings.defaultZone) {\n const proto = DateTime.now()\n .setZone(zone)\n .set({ month: 12 });\n\n return !zone.universal && proto.offset !== proto.set({ month: 6 }).offset;\n }\n\n /**\n * Return whether the specified zone is a valid IANA specifier.\n * @param {string} zone - Zone to check\n * @return {boolean}\n */\n static isValidIANAZone(zone) {\n return IANAZone.isValidSpecifier(zone) && IANAZone.isValidZone(zone);\n }\n\n /**\n * Converts the input into a {@link Zone} instance.\n *\n * * If `input` is already a Zone instance, it is returned unchanged.\n * * If `input` is a string containing a valid time zone name, a Zone instance\n * with that name is returned.\n * * If `input` is a string that doesn't refer to a known time zone, a Zone\n * instance with {@link Zone.isValid} == false is returned.\n * * If `input is a number, a Zone instance with the specified fixed offset\n * in minutes is returned.\n * * If `input` is `null` or `undefined`, the default zone is returned.\n * @param {string|Zone|number} [input] - the value to be converted\n * @return {Zone}\n */\n static normalizeZone(input) {\n return normalizeZone(input, Settings.defaultZone);\n }\n\n /**\n * Return an array of standalone month names.\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat\n * @param {string} [length='long'] - the length of the month representation, such as \"numeric\", \"2-digit\", \"narrow\", \"short\", \"long\"\n * @param {Object} opts - options\n * @param {string} [opts.locale] - the locale code\n * @param {string} [opts.numberingSystem=null] - the numbering system\n * @param {string} [opts.locObj=null] - an existing locale object to use\n * @param {string} [opts.outputCalendar='gregory'] - the calendar\n * @example Info.months()[0] //=> 'January'\n * @example Info.months('short')[0] //=> 'Jan'\n * @example Info.months('numeric')[0] //=> '1'\n * @example Info.months('short', { locale: 'fr-CA' } )[0] //=> 'janv.'\n * @example Info.months('numeric', { locale: 'ar' })[0] //=> '١'\n * @example Info.months('long', { outputCalendar: 'islamic' })[0] //=> 'Rabiʻ I'\n * @return {[string]}\n */\n static months(\n length = \"long\",\n { locale = null, numberingSystem = null, locObj = null, outputCalendar = \"gregory\" } = {}\n ) {\n return (locObj || Locale.create(locale, numberingSystem, outputCalendar)).months(length);\n }\n\n /**\n * Return an array of format month names.\n * Format months differ from standalone months in that they're meant to appear next to the day of the month. In some languages, that\n * changes the string.\n * See {@link months}\n * @param {string} [length='long'] - the length of the month representation, such as \"numeric\", \"2-digit\", \"narrow\", \"short\", \"long\"\n * @param {Object} opts - options\n * @param {string} [opts.locale] - the locale code\n * @param {string} [opts.numberingSystem=null] - the numbering system\n * @param {string} [opts.locObj=null] - an existing locale object to use\n * @param {string} [opts.outputCalendar='gregory'] - the calendar\n * @return {[string]}\n */\n static monthsFormat(\n length = \"long\",\n { locale = null, numberingSystem = null, locObj = null, outputCalendar = \"gregory\" } = {}\n ) {\n return (locObj || Locale.create(locale, numberingSystem, outputCalendar)).months(length, true);\n }\n\n /**\n * Return an array of standalone week names.\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat\n * @param {string} [length='long'] - the length of the weekday representation, such as \"narrow\", \"short\", \"long\".\n * @param {Object} opts - options\n * @param {string} [opts.locale] - the locale code\n * @param {string} [opts.numberingSystem=null] - the numbering system\n * @param {string} [opts.locObj=null] - an existing locale object to use\n * @example Info.weekdays()[0] //=> 'Monday'\n * @example Info.weekdays('short')[0] //=> 'Mon'\n * @example Info.weekdays('short', { locale: 'fr-CA' })[0] //=> 'lun.'\n * @example Info.weekdays('short', { locale: 'ar' })[0] //=> 'الاثنين'\n * @return {[string]}\n */\n static weekdays(length = \"long\", { locale = null, numberingSystem = null, locObj = null } = {}) {\n return (locObj || Locale.create(locale, numberingSystem, null)).weekdays(length);\n }\n\n /**\n * Return an array of format week names.\n * Format weekdays differ from standalone weekdays in that they're meant to appear next to more date information. In some languages, that\n * changes the string.\n * See {@link weekdays}\n * @param {string} [length='long'] - the length of the weekday representation, such as \"narrow\", \"short\", \"long\".\n * @param {Object} opts - options\n * @param {string} [opts.locale=null] - the locale code\n * @param {string} [opts.numberingSystem=null] - the numbering system\n * @param {string} [opts.locObj=null] - an existing locale object to use\n * @return {[string]}\n */\n static weekdaysFormat(\n length = \"long\",\n { locale = null, numberingSystem = null, locObj = null } = {}\n ) {\n return (locObj || Locale.create(locale, numberingSystem, null)).weekdays(length, true);\n }\n\n /**\n * Return an array of meridiems.\n * @param {Object} opts - options\n * @param {string} [opts.locale] - the locale code\n * @example Info.meridiems() //=> [ 'AM', 'PM' ]\n * @example Info.meridiems({ locale: 'my' }) //=> [ 'နံနက်', 'ညနေ' ]\n * @return {[string]}\n */\n static meridiems({ locale = null } = {}) {\n return Locale.create(locale).meridiems();\n }\n\n /**\n * Return an array of eras, such as ['BC', 'AD']. The locale can be specified, but the calendar system is always Gregorian.\n * @param {string} [length='short'] - the length of the era representation, such as \"short\" or \"long\".\n * @param {Object} opts - options\n * @param {string} [opts.locale] - the locale code\n * @example Info.eras() //=> [ 'BC', 'AD' ]\n * @example Info.eras('long') //=> [ 'Before Christ', 'Anno Domini' ]\n * @example Info.eras('long', { locale: 'fr' }) //=> [ 'avant Jésus-Christ', 'après Jésus-Christ' ]\n * @return {[string]}\n */\n static eras(length = \"short\", { locale = null } = {}) {\n return Locale.create(locale, null, \"gregory\").eras(length);\n }\n\n /**\n * Return the set of available features in this environment.\n * Some features of Luxon are not available in all environments. For example, on older browsers, timezone support is not available. Use this function to figure out if that's the case.\n * Keys:\n * * `zones`: whether this environment supports IANA timezones\n * * `intlTokens`: whether this environment supports internationalized token-based formatting/parsing\n * * `intl`: whether this environment supports general internationalization\n * * `relative`: whether this environment supports relative time formatting\n * @example Info.features() //=> { intl: true, intlTokens: false, zones: true, relative: false }\n * @return {Object}\n */\n static features() {\n let intl = false,\n intlTokens = false,\n zones = false,\n relative = false;\n\n if (hasIntl()) {\n intl = true;\n intlTokens = hasFormatToParts();\n relative = hasRelative();\n\n try {\n zones =\n new Intl.DateTimeFormat(\"en\", { timeZone: \"America/New_York\" }).resolvedOptions()\n .timeZone === \"America/New_York\";\n } catch (e) {\n zones = false;\n }\n }\n\n return { intl, intlTokens, zones, relative };\n }\n}\n","import Duration from \"../duration.js\";\n\nfunction dayDiff(earlier, later) {\n const utcDayStart = dt =>\n dt\n .toUTC(0, { keepLocalTime: true })\n .startOf(\"day\")\n .valueOf(),\n ms = utcDayStart(later) - utcDayStart(earlier);\n return Math.floor(Duration.fromMillis(ms).as(\"days\"));\n}\n\nfunction highOrderDiffs(cursor, later, units) {\n const differs = [\n [\"years\", (a, b) => b.year - a.year],\n [\"quarters\", (a, b) => b.quarter - a.quarter],\n [\"months\", (a, b) => b.month - a.month + (b.year - a.year) * 12],\n [\n \"weeks\",\n (a, b) => {\n const days = dayDiff(a, b);\n return (days - (days % 7)) / 7;\n }\n ],\n [\"days\", dayDiff]\n ];\n\n const results = {};\n let lowestOrder, highWater;\n\n for (const [unit, differ] of differs) {\n if (units.indexOf(unit) >= 0) {\n lowestOrder = unit;\n\n let delta = differ(cursor, later);\n highWater = cursor.plus({ [unit]: delta });\n\n if (highWater > later) {\n cursor = cursor.plus({ [unit]: delta - 1 });\n delta -= 1;\n } else {\n cursor = highWater;\n }\n\n results[unit] = delta;\n }\n }\n\n return [cursor, results, highWater, lowestOrder];\n}\n\nexport default function(earlier, later, units, opts) {\n let [cursor, results, highWater, lowestOrder] = highOrderDiffs(earlier, later, units);\n\n const remainingMillis = later - cursor;\n\n const lowerOrderUnits = units.filter(\n u => [\"hours\", \"minutes\", \"seconds\", \"milliseconds\"].indexOf(u) >= 0\n );\n\n if (lowerOrderUnits.length === 0) {\n if (highWater < later) {\n highWater = cursor.plus({ [lowestOrder]: 1 });\n }\n\n if (highWater !== cursor) {\n results[lowestOrder] = (results[lowestOrder] || 0) + remainingMillis / (highWater - cursor);\n }\n }\n\n const duration = Duration.fromObject(Object.assign(results, opts));\n\n if (lowerOrderUnits.length > 0) {\n return Duration.fromMillis(remainingMillis, opts)\n .shiftTo(...lowerOrderUnits)\n .plus(duration);\n } else {\n return duration;\n }\n}\n","const numberingSystems = {\n arab: \"[\\u0660-\\u0669]\",\n arabext: \"[\\u06F0-\\u06F9]\",\n bali: \"[\\u1B50-\\u1B59]\",\n beng: \"[\\u09E6-\\u09EF]\",\n deva: \"[\\u0966-\\u096F]\",\n fullwide: \"[\\uFF10-\\uFF19]\",\n gujr: \"[\\u0AE6-\\u0AEF]\",\n hanidec: \"[〇|一|二|三|四|五|六|七|八|九]\",\n khmr: \"[\\u17E0-\\u17E9]\",\n knda: \"[\\u0CE6-\\u0CEF]\",\n laoo: \"[\\u0ED0-\\u0ED9]\",\n limb: \"[\\u1946-\\u194F]\",\n mlym: \"[\\u0D66-\\u0D6F]\",\n mong: \"[\\u1810-\\u1819]\",\n mymr: \"[\\u1040-\\u1049]\",\n orya: \"[\\u0B66-\\u0B6F]\",\n tamldec: \"[\\u0BE6-\\u0BEF]\",\n telu: \"[\\u0C66-\\u0C6F]\",\n thai: \"[\\u0E50-\\u0E59]\",\n tibt: \"[\\u0F20-\\u0F29]\",\n latn: \"\\\\d\"\n};\n\nconst numberingSystemsUTF16 = {\n arab: [1632, 1641],\n arabext: [1776, 1785],\n bali: [6992, 7001],\n beng: [2534, 2543],\n deva: [2406, 2415],\n fullwide: [65296, 65303],\n gujr: [2790, 2799],\n khmr: [6112, 6121],\n knda: [3302, 3311],\n laoo: [3792, 3801],\n limb: [6470, 6479],\n mlym: [3430, 3439],\n mong: [6160, 6169],\n mymr: [4160, 4169],\n orya: [2918, 2927],\n tamldec: [3046, 3055],\n telu: [3174, 3183],\n thai: [3664, 3673],\n tibt: [3872, 3881]\n};\n\n// eslint-disable-next-line\nconst hanidecChars = numberingSystems.hanidec.replace(/[\\[|\\]]/g, \"\").split(\"\");\n\nexport function parseDigits(str) {\n let value = parseInt(str, 10);\n if (isNaN(value)) {\n value = \"\";\n for (let i = 0; i < str.length; i++) {\n const code = str.charCodeAt(i);\n\n if (str[i].search(numberingSystems.hanidec) !== -1) {\n value += hanidecChars.indexOf(str[i]);\n } else {\n for (const key in numberingSystemsUTF16) {\n const [min, max] = numberingSystemsUTF16[key];\n if (code >= min && code <= max) {\n value += code - min;\n }\n }\n }\n }\n return parseInt(value, 10);\n } else {\n return value;\n }\n}\n\nexport function digitRegex({ numberingSystem }, append = \"\") {\n return new RegExp(`${numberingSystems[numberingSystem || \"latn\"]}${append}`);\n}\n","import { parseMillis, isUndefined, untruncateYear, signedOffset, hasOwnProperty } from \"./util.js\";\nimport Formatter from \"./formatter.js\";\nimport FixedOffsetZone from \"../zones/fixedOffsetZone.js\";\nimport IANAZone from \"../zones/IANAZone.js\";\nimport DateTime from \"../datetime.js\";\nimport { digitRegex, parseDigits } from \"./digits.js\";\nimport { ConflictingSpecificationError } from \"../errors.js\";\n\nconst MISSING_FTP = \"missing Intl.DateTimeFormat.formatToParts support\";\n\nfunction intUnit(regex, post = i => i) {\n return { regex, deser: ([s]) => post(parseDigits(s)) };\n}\n\nconst NBSP = String.fromCharCode(160);\nconst spaceOrNBSP = `( |${NBSP})`;\nconst spaceOrNBSPRegExp = new RegExp(spaceOrNBSP, \"g\");\n\nfunction fixListRegex(s) {\n // make dots optional and also make them literal\n // make space and non breakable space characters interchangeable\n return s.replace(/\\./g, \"\\\\.?\").replace(spaceOrNBSPRegExp, spaceOrNBSP);\n}\n\nfunction stripInsensitivities(s) {\n return s\n .replace(/\\./g, \"\") // ignore dots that were made optional\n .replace(spaceOrNBSPRegExp, \" \") // interchange space and nbsp\n .toLowerCase();\n}\n\nfunction oneOf(strings, startIndex) {\n if (strings === null) {\n return null;\n } else {\n return {\n regex: RegExp(strings.map(fixListRegex).join(\"|\")),\n deser: ([s]) =>\n strings.findIndex(i => stripInsensitivities(s) === stripInsensitivities(i)) + startIndex\n };\n }\n}\n\nfunction offset(regex, groups) {\n return { regex, deser: ([, h, m]) => signedOffset(h, m), groups };\n}\n\nfunction simple(regex) {\n return { regex, deser: ([s]) => s };\n}\n\nfunction escapeToken(value) {\n // eslint-disable-next-line no-useless-escape\n return value.replace(/[\\-\\[\\]{}()*+?.,\\\\\\^$|#\\s]/g, \"\\\\$&\");\n}\n\nfunction unitForToken(token, loc) {\n const one = digitRegex(loc),\n two = digitRegex(loc, \"{2}\"),\n three = digitRegex(loc, \"{3}\"),\n four = digitRegex(loc, \"{4}\"),\n six = digitRegex(loc, \"{6}\"),\n oneOrTwo = digitRegex(loc, \"{1,2}\"),\n oneToThree = digitRegex(loc, \"{1,3}\"),\n oneToSix = digitRegex(loc, \"{1,6}\"),\n oneToNine = digitRegex(loc, \"{1,9}\"),\n twoToFour = digitRegex(loc, \"{2,4}\"),\n fourToSix = digitRegex(loc, \"{4,6}\"),\n literal = t => ({ regex: RegExp(escapeToken(t.val)), deser: ([s]) => s, literal: true }),\n unitate = t => {\n if (token.literal) {\n return literal(t);\n }\n switch (t.val) {\n // era\n case \"G\":\n return oneOf(loc.eras(\"short\", false), 0);\n case \"GG\":\n return oneOf(loc.eras(\"long\", false), 0);\n // years\n case \"y\":\n return intUnit(oneToSix);\n case \"yy\":\n return intUnit(twoToFour, untruncateYear);\n case \"yyyy\":\n return intUnit(four);\n case \"yyyyy\":\n return intUnit(fourToSix);\n case \"yyyyyy\":\n return intUnit(six);\n // months\n case \"M\":\n return intUnit(oneOrTwo);\n case \"MM\":\n return intUnit(two);\n case \"MMM\":\n return oneOf(loc.months(\"short\", true, false), 1);\n case \"MMMM\":\n return oneOf(loc.months(\"long\", true, false), 1);\n case \"L\":\n return intUnit(oneOrTwo);\n case \"LL\":\n return intUnit(two);\n case \"LLL\":\n return oneOf(loc.months(\"short\", false, false), 1);\n case \"LLLL\":\n return oneOf(loc.months(\"long\", false, false), 1);\n // dates\n case \"d\":\n return intUnit(oneOrTwo);\n case \"dd\":\n return intUnit(two);\n // ordinals\n case \"o\":\n return intUnit(oneToThree);\n case \"ooo\":\n return intUnit(three);\n // time\n case \"HH\":\n return intUnit(two);\n case \"H\":\n return intUnit(oneOrTwo);\n case \"hh\":\n return intUnit(two);\n case \"h\":\n return intUnit(oneOrTwo);\n case \"mm\":\n return intUnit(two);\n case \"m\":\n return intUnit(oneOrTwo);\n case \"q\":\n return intUnit(oneOrTwo);\n case \"qq\":\n return intUnit(two);\n case \"s\":\n return intUnit(oneOrTwo);\n case \"ss\":\n return intUnit(two);\n case \"S\":\n return intUnit(oneToThree);\n case \"SSS\":\n return intUnit(three);\n case \"u\":\n return simple(oneToNine);\n // meridiem\n case \"a\":\n return oneOf(loc.meridiems(), 0);\n // weekYear (k)\n case \"kkkk\":\n return intUnit(four);\n case \"kk\":\n return intUnit(twoToFour, untruncateYear);\n // weekNumber (W)\n case \"W\":\n return intUnit(oneOrTwo);\n case \"WW\":\n return intUnit(two);\n // weekdays\n case \"E\":\n case \"c\":\n return intUnit(one);\n case \"EEE\":\n return oneOf(loc.weekdays(\"short\", false, false), 1);\n case \"EEEE\":\n return oneOf(loc.weekdays(\"long\", false, false), 1);\n case \"ccc\":\n return oneOf(loc.weekdays(\"short\", true, false), 1);\n case \"cccc\":\n return oneOf(loc.weekdays(\"long\", true, false), 1);\n // offset/zone\n case \"Z\":\n case \"ZZ\":\n return offset(new RegExp(`([+-]${oneOrTwo.source})(?::(${two.source}))?`), 2);\n case \"ZZZ\":\n return offset(new RegExp(`([+-]${oneOrTwo.source})(${two.source})?`), 2);\n // we don't support ZZZZ (PST) or ZZZZZ (Pacific Standard Time) in parsing\n // because we don't have any way to figure out what they are\n case \"z\":\n return simple(/[a-z_+-/]{1,256}?/i);\n default:\n return literal(t);\n }\n };\n\n const unit = unitate(token) || {\n invalidReason: MISSING_FTP\n };\n\n unit.token = token;\n\n return unit;\n}\n\nconst partTypeStyleToTokenVal = {\n year: {\n \"2-digit\": \"yy\",\n numeric: \"yyyyy\"\n },\n month: {\n numeric: \"M\",\n \"2-digit\": \"MM\",\n short: \"MMM\",\n long: \"MMMM\"\n },\n day: {\n numeric: \"d\",\n \"2-digit\": \"dd\"\n },\n weekday: {\n short: \"EEE\",\n long: \"EEEE\"\n },\n dayperiod: \"a\",\n dayPeriod: \"a\",\n hour: {\n numeric: \"h\",\n \"2-digit\": \"hh\"\n },\n minute: {\n numeric: \"m\",\n \"2-digit\": \"mm\"\n },\n second: {\n numeric: \"s\",\n \"2-digit\": \"ss\"\n }\n};\n\nfunction tokenForPart(part, locale, formatOpts) {\n const { type, value } = part;\n\n if (type === \"literal\") {\n return {\n literal: true,\n val: value\n };\n }\n\n const style = formatOpts[type];\n\n let val = partTypeStyleToTokenVal[type];\n if (typeof val === \"object\") {\n val = val[style];\n }\n\n if (val) {\n return {\n literal: false,\n val\n };\n }\n\n return undefined;\n}\n\nfunction buildRegex(units) {\n const re = units.map(u => u.regex).reduce((f, r) => `${f}(${r.source})`, \"\");\n return [`^${re}$`, units];\n}\n\nfunction match(input, regex, handlers) {\n const matches = input.match(regex);\n\n if (matches) {\n const all = {};\n let matchIndex = 1;\n for (const i in handlers) {\n if (hasOwnProperty(handlers, i)) {\n const h = handlers[i],\n groups = h.groups ? h.groups + 1 : 1;\n if (!h.literal && h.token) {\n all[h.token.val[0]] = h.deser(matches.slice(matchIndex, matchIndex + groups));\n }\n matchIndex += groups;\n }\n }\n return [matches, all];\n } else {\n return [matches, {}];\n }\n}\n\nfunction dateTimeFromMatches(matches) {\n const toField = token => {\n switch (token) {\n case \"S\":\n return \"millisecond\";\n case \"s\":\n return \"second\";\n case \"m\":\n return \"minute\";\n case \"h\":\n case \"H\":\n return \"hour\";\n case \"d\":\n return \"day\";\n case \"o\":\n return \"ordinal\";\n case \"L\":\n case \"M\":\n return \"month\";\n case \"y\":\n return \"year\";\n case \"E\":\n case \"c\":\n return \"weekday\";\n case \"W\":\n return \"weekNumber\";\n case \"k\":\n return \"weekYear\";\n case \"q\":\n return \"quarter\";\n default:\n return null;\n }\n };\n\n let zone;\n if (!isUndefined(matches.Z)) {\n zone = new FixedOffsetZone(matches.Z);\n } else if (!isUndefined(matches.z)) {\n zone = IANAZone.create(matches.z);\n } else {\n zone = null;\n }\n\n if (!isUndefined(matches.q)) {\n matches.M = (matches.q - 1) * 3 + 1;\n }\n\n if (!isUndefined(matches.h)) {\n if (matches.h < 12 && matches.a === 1) {\n matches.h += 12;\n } else if (matches.h === 12 && matches.a === 0) {\n matches.h = 0;\n }\n }\n\n if (matches.G === 0 && matches.y) {\n matches.y = -matches.y;\n }\n\n if (!isUndefined(matches.u)) {\n matches.S = parseMillis(matches.u);\n }\n\n const vals = Object.keys(matches).reduce((r, k) => {\n const f = toField(k);\n if (f) {\n r[f] = matches[k];\n }\n\n return r;\n }, {});\n\n return [vals, zone];\n}\n\nlet dummyDateTimeCache = null;\n\nfunction getDummyDateTime() {\n if (!dummyDateTimeCache) {\n dummyDateTimeCache = DateTime.fromMillis(1555555555555);\n }\n\n return dummyDateTimeCache;\n}\n\nfunction maybeExpandMacroToken(token, locale) {\n if (token.literal) {\n return token;\n }\n\n const formatOpts = Formatter.macroTokenToFormatOpts(token.val);\n\n if (!formatOpts) {\n return token;\n }\n\n const formatter = Formatter.create(locale, formatOpts);\n const parts = formatter.formatDateTimeParts(getDummyDateTime());\n\n const tokens = parts.map(p => tokenForPart(p, locale, formatOpts));\n\n if (tokens.includes(undefined)) {\n return token;\n }\n\n return tokens;\n}\n\nfunction expandMacroTokens(tokens, locale) {\n return Array.prototype.concat(...tokens.map(t => maybeExpandMacroToken(t, locale)));\n}\n\n/**\n * @private\n */\n\nexport function explainFromTokens(locale, input, format) {\n const tokens = expandMacroTokens(Formatter.parseFormat(format), locale),\n units = tokens.map(t => unitForToken(t, locale)),\n disqualifyingUnit = units.find(t => t.invalidReason);\n\n if (disqualifyingUnit) {\n return { input, tokens, invalidReason: disqualifyingUnit.invalidReason };\n } else {\n const [regexString, handlers] = buildRegex(units),\n regex = RegExp(regexString, \"i\"),\n [rawMatches, matches] = match(input, regex, handlers),\n [result, zone] = matches ? dateTimeFromMatches(matches) : [null, null];\n if (hasOwnProperty(matches, \"a\") && hasOwnProperty(matches, \"H\")) {\n throw new ConflictingSpecificationError(\n \"Can't include meridiem when specifying 24-hour format\"\n );\n }\n return { input, tokens, regex, rawMatches, matches, result, zone };\n }\n}\n\nexport function parseFromTokens(locale, input, format) {\n const { result, zone, invalidReason } = explainFromTokens(locale, input, format);\n return [result, zone, invalidReason];\n}\n","import {\n integerBetween,\n isLeapYear,\n timeObject,\n daysInYear,\n daysInMonth,\n weeksInWeekYear,\n isInteger\n} from \"./util.js\";\nimport Invalid from \"./invalid.js\";\n\nconst nonLeapLadder = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334],\n leapLadder = [0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335];\n\nfunction unitOutOfRange(unit, value) {\n return new Invalid(\n \"unit out of range\",\n `you specified ${value} (of type ${typeof value}) as a ${unit}, which is invalid`\n );\n}\n\nfunction dayOfWeek(year, month, day) {\n const js = new Date(Date.UTC(year, month - 1, day)).getUTCDay();\n return js === 0 ? 7 : js;\n}\n\nfunction computeOrdinal(year, month, day) {\n return day + (isLeapYear(year) ? leapLadder : nonLeapLadder)[month - 1];\n}\n\nfunction uncomputeOrdinal(year, ordinal) {\n const table = isLeapYear(year) ? leapLadder : nonLeapLadder,\n month0 = table.findIndex(i => i < ordinal),\n day = ordinal - table[month0];\n return { month: month0 + 1, day };\n}\n\n/**\n * @private\n */\n\nexport function gregorianToWeek(gregObj) {\n const { year, month, day } = gregObj,\n ordinal = computeOrdinal(year, month, day),\n weekday = dayOfWeek(year, month, day);\n\n let weekNumber = Math.floor((ordinal - weekday + 10) / 7),\n weekYear;\n\n if (weekNumber < 1) {\n weekYear = year - 1;\n weekNumber = weeksInWeekYear(weekYear);\n } else if (weekNumber > weeksInWeekYear(year)) {\n weekYear = year + 1;\n weekNumber = 1;\n } else {\n weekYear = year;\n }\n\n return Object.assign({ weekYear, weekNumber, weekday }, timeObject(gregObj));\n}\n\nexport function weekToGregorian(weekData) {\n const { weekYear, weekNumber, weekday } = weekData,\n weekdayOfJan4 = dayOfWeek(weekYear, 1, 4),\n yearInDays = daysInYear(weekYear);\n\n let ordinal = weekNumber * 7 + weekday - weekdayOfJan4 - 3,\n year;\n\n if (ordinal < 1) {\n year = weekYear - 1;\n ordinal += daysInYear(year);\n } else if (ordinal > yearInDays) {\n year = weekYear + 1;\n ordinal -= daysInYear(weekYear);\n } else {\n year = weekYear;\n }\n\n const { month, day } = uncomputeOrdinal(year, ordinal);\n\n return Object.assign({ year, month, day }, timeObject(weekData));\n}\n\nexport function gregorianToOrdinal(gregData) {\n const { year, month, day } = gregData,\n ordinal = computeOrdinal(year, month, day);\n\n return Object.assign({ year, ordinal }, timeObject(gregData));\n}\n\nexport function ordinalToGregorian(ordinalData) {\n const { year, ordinal } = ordinalData,\n { month, day } = uncomputeOrdinal(year, ordinal);\n\n return Object.assign({ year, month, day }, timeObject(ordinalData));\n}\n\nexport function hasInvalidWeekData(obj) {\n const validYear = isInteger(obj.weekYear),\n validWeek = integerBetween(obj.weekNumber, 1, weeksInWeekYear(obj.weekYear)),\n validWeekday = integerBetween(obj.weekday, 1, 7);\n\n if (!validYear) {\n return unitOutOfRange(\"weekYear\", obj.weekYear);\n } else if (!validWeek) {\n return unitOutOfRange(\"week\", obj.week);\n } else if (!validWeekday) {\n return unitOutOfRange(\"weekday\", obj.weekday);\n } else return false;\n}\n\nexport function hasInvalidOrdinalData(obj) {\n const validYear = isInteger(obj.year),\n validOrdinal = integerBetween(obj.ordinal, 1, daysInYear(obj.year));\n\n if (!validYear) {\n return unitOutOfRange(\"year\", obj.year);\n } else if (!validOrdinal) {\n return unitOutOfRange(\"ordinal\", obj.ordinal);\n } else return false;\n}\n\nexport function hasInvalidGregorianData(obj) {\n const validYear = isInteger(obj.year),\n validMonth = integerBetween(obj.month, 1, 12),\n validDay = integerBetween(obj.day, 1, daysInMonth(obj.year, obj.month));\n\n if (!validYear) {\n return unitOutOfRange(\"year\", obj.year);\n } else if (!validMonth) {\n return unitOutOfRange(\"month\", obj.month);\n } else if (!validDay) {\n return unitOutOfRange(\"day\", obj.day);\n } else return false;\n}\n\nexport function hasInvalidTimeData(obj) {\n const { hour, minute, second, millisecond } = obj;\n const validHour =\n integerBetween(hour, 0, 23) ||\n (hour === 24 && minute === 0 && second === 0 && millisecond === 0),\n validMinute = integerBetween(minute, 0, 59),\n validSecond = integerBetween(second, 0, 59),\n validMillisecond = integerBetween(millisecond, 0, 999);\n\n if (!validHour) {\n return unitOutOfRange(\"hour\", hour);\n } else if (!validMinute) {\n return unitOutOfRange(\"minute\", minute);\n } else if (!validSecond) {\n return unitOutOfRange(\"second\", second);\n } else if (!validMillisecond) {\n return unitOutOfRange(\"millisecond\", millisecond);\n } else return false;\n}\n","import Duration, { friendlyDuration } from \"./duration.js\";\nimport Interval from \"./interval.js\";\nimport Settings from \"./settings.js\";\nimport Info from \"./info.js\";\nimport Formatter from \"./impl/formatter.js\";\nimport FixedOffsetZone from \"./zones/fixedOffsetZone.js\";\nimport Locale from \"./impl/locale.js\";\nimport {\n isUndefined,\n maybeArray,\n isDate,\n isNumber,\n bestBy,\n daysInMonth,\n daysInYear,\n isLeapYear,\n weeksInWeekYear,\n normalizeObject,\n roundTo,\n objToLocalTS\n} from \"./impl/util.js\";\nimport { normalizeZone } from \"./impl/zoneUtil.js\";\nimport diff from \"./impl/diff.js\";\nimport { parseRFC2822Date, parseISODate, parseHTTPDate, parseSQL } from \"./impl/regexParser.js\";\nimport { parseFromTokens, explainFromTokens } from \"./impl/tokenParser.js\";\nimport {\n gregorianToWeek,\n weekToGregorian,\n gregorianToOrdinal,\n ordinalToGregorian,\n hasInvalidGregorianData,\n hasInvalidWeekData,\n hasInvalidOrdinalData,\n hasInvalidTimeData\n} from \"./impl/conversions.js\";\nimport * as Formats from \"./impl/formats.js\";\nimport {\n InvalidArgumentError,\n ConflictingSpecificationError,\n InvalidUnitError,\n InvalidDateTimeError\n} from \"./errors.js\";\nimport Invalid from \"./impl/invalid.js\";\n\nconst INVALID = \"Invalid DateTime\";\nconst MAX_DATE = 8.64e15;\n\nfunction unsupportedZone(zone) {\n return new Invalid(\"unsupported zone\", `the zone \"${zone.name}\" is not supported`);\n}\n\n// we cache week data on the DT object and this intermediates the cache\nfunction possiblyCachedWeekData(dt) {\n if (dt.weekData === null) {\n dt.weekData = gregorianToWeek(dt.c);\n }\n return dt.weekData;\n}\n\n// clone really means, \"make a new object with these modifications\". all \"setters\" really use this\n// to create a new object while only changing some of the properties\nfunction clone(inst, alts) {\n const current = {\n ts: inst.ts,\n zone: inst.zone,\n c: inst.c,\n o: inst.o,\n loc: inst.loc,\n invalid: inst.invalid\n };\n return new DateTime(Object.assign({}, current, alts, { old: current }));\n}\n\n// find the right offset a given local time. The o input is our guess, which determines which\n// offset we'll pick in ambiguous cases (e.g. there are two 3 AMs b/c Fallback DST)\nfunction fixOffset(localTS, o, tz) {\n // Our UTC time is just a guess because our offset is just a guess\n let utcGuess = localTS - o * 60 * 1000;\n\n // Test whether the zone matches the offset for this ts\n const o2 = tz.offset(utcGuess);\n\n // If so, offset didn't change and we're done\n if (o === o2) {\n return [utcGuess, o];\n }\n\n // If not, change the ts by the difference in the offset\n utcGuess -= (o2 - o) * 60 * 1000;\n\n // If that gives us the local time we want, we're done\n const o3 = tz.offset(utcGuess);\n if (o2 === o3) {\n return [utcGuess, o2];\n }\n\n // If it's different, we're in a hole time. The offset has changed, but the we don't adjust the time\n return [localTS - Math.min(o2, o3) * 60 * 1000, Math.max(o2, o3)];\n}\n\n// convert an epoch timestamp into a calendar object with the given offset\nfunction tsToObj(ts, offset) {\n ts += offset * 60 * 1000;\n\n const d = new Date(ts);\n\n return {\n year: d.getUTCFullYear(),\n month: d.getUTCMonth() + 1,\n day: d.getUTCDate(),\n hour: d.getUTCHours(),\n minute: d.getUTCMinutes(),\n second: d.getUTCSeconds(),\n millisecond: d.getUTCMilliseconds()\n };\n}\n\n// convert a calendar object to a epoch timestamp\nfunction objToTS(obj, offset, zone) {\n return fixOffset(objToLocalTS(obj), offset, zone);\n}\n\n// create a new DT instance by adding a duration, adjusting for DSTs\nfunction adjustTime(inst, dur) {\n const oPre = inst.o,\n year = inst.c.year + Math.trunc(dur.years),\n month = inst.c.month + Math.trunc(dur.months) + Math.trunc(dur.quarters) * 3,\n c = Object.assign({}, inst.c, {\n year,\n month,\n day:\n Math.min(inst.c.day, daysInMonth(year, month)) +\n Math.trunc(dur.days) +\n Math.trunc(dur.weeks) * 7\n }),\n millisToAdd = Duration.fromObject({\n years: dur.years - Math.trunc(dur.years),\n quarters: dur.quarters - Math.trunc(dur.quarters),\n months: dur.months - Math.trunc(dur.months),\n weeks: dur.weeks - Math.trunc(dur.weeks),\n days: dur.days - Math.trunc(dur.days),\n hours: dur.hours,\n minutes: dur.minutes,\n seconds: dur.seconds,\n milliseconds: dur.milliseconds\n }).as(\"milliseconds\"),\n localTS = objToLocalTS(c);\n\n let [ts, o] = fixOffset(localTS, oPre, inst.zone);\n\n if (millisToAdd !== 0) {\n ts += millisToAdd;\n // that could have changed the offset by going over a DST, but we want to keep the ts the same\n o = inst.zone.offset(ts);\n }\n\n return { ts, o };\n}\n\n// helper useful in turning the results of parsing into real dates\n// by handling the zone options\nfunction parseDataToDateTime(parsed, parsedZone, opts, format, text) {\n const { setZone, zone } = opts;\n if (parsed && Object.keys(parsed).length !== 0) {\n const interpretationZone = parsedZone || zone,\n inst = DateTime.fromObject(\n Object.assign(parsed, opts, {\n zone: interpretationZone,\n // setZone is a valid option in the calling methods, but not in fromObject\n setZone: undefined\n })\n );\n return setZone ? inst : inst.setZone(zone);\n } else {\n return DateTime.invalid(\n new Invalid(\"unparsable\", `the input \"${text}\" can't be parsed as ${format}`)\n );\n }\n}\n\n// if you want to output a technical format (e.g. RFC 2822), this helper\n// helps handle the details\nfunction toTechFormat(dt, format, allowZ = true) {\n return dt.isValid\n ? Formatter.create(Locale.create(\"en-US\"), {\n allowZ,\n forceSimple: true\n }).formatDateTimeFromString(dt, format)\n : null;\n}\n\n// technical time formats (e.g. the time part of ISO 8601), take some options\n// and this commonizes their handling\nfunction toTechTimeFormat(\n dt,\n {\n suppressSeconds = false,\n suppressMilliseconds = false,\n includeOffset,\n includePrefix = false,\n includeZone = false,\n spaceZone = false,\n format = \"extended\"\n }\n) {\n let fmt = format === \"basic\" ? \"HHmm\" : \"HH:mm\";\n\n if (!suppressSeconds || dt.second !== 0 || dt.millisecond !== 0) {\n fmt += format === \"basic\" ? \"ss\" : \":ss\";\n if (!suppressMilliseconds || dt.millisecond !== 0) {\n fmt += \".SSS\";\n }\n }\n\n if ((includeZone || includeOffset) && spaceZone) {\n fmt += \" \";\n }\n\n if (includeZone) {\n fmt += \"z\";\n } else if (includeOffset) {\n fmt += format === \"basic\" ? \"ZZZ\" : \"ZZ\";\n }\n\n let str = toTechFormat(dt, fmt);\n\n if (includePrefix) {\n str = \"T\" + str;\n }\n\n return str;\n}\n\n// defaults for unspecified units in the supported calendars\nconst defaultUnitValues = {\n month: 1,\n day: 1,\n hour: 0,\n minute: 0,\n second: 0,\n millisecond: 0\n },\n defaultWeekUnitValues = {\n weekNumber: 1,\n weekday: 1,\n hour: 0,\n minute: 0,\n second: 0,\n millisecond: 0\n },\n defaultOrdinalUnitValues = {\n ordinal: 1,\n hour: 0,\n minute: 0,\n second: 0,\n millisecond: 0\n };\n\n// Units in the supported calendars, sorted by bigness\nconst orderedUnits = [\"year\", \"month\", \"day\", \"hour\", \"minute\", \"second\", \"millisecond\"],\n orderedWeekUnits = [\n \"weekYear\",\n \"weekNumber\",\n \"weekday\",\n \"hour\",\n \"minute\",\n \"second\",\n \"millisecond\"\n ],\n orderedOrdinalUnits = [\"year\", \"ordinal\", \"hour\", \"minute\", \"second\", \"millisecond\"];\n\n// standardize case and plurality in units\nfunction normalizeUnit(unit) {\n const normalized = {\n year: \"year\",\n years: \"year\",\n month: \"month\",\n months: \"month\",\n day: \"day\",\n days: \"day\",\n hour: \"hour\",\n hours: \"hour\",\n minute: \"minute\",\n minutes: \"minute\",\n quarter: \"quarter\",\n quarters: \"quarter\",\n second: \"second\",\n seconds: \"second\",\n millisecond: \"millisecond\",\n milliseconds: \"millisecond\",\n weekday: \"weekday\",\n weekdays: \"weekday\",\n weeknumber: \"weekNumber\",\n weeksnumber: \"weekNumber\",\n weeknumbers: \"weekNumber\",\n weekyear: \"weekYear\",\n weekyears: \"weekYear\",\n ordinal: \"ordinal\"\n }[unit.toLowerCase()];\n\n if (!normalized) throw new InvalidUnitError(unit);\n\n return normalized;\n}\n\n// this is a dumbed down version of fromObject() that runs about 60% faster\n// but doesn't do any validation, makes a bunch of assumptions about what units\n// are present, and so on.\nfunction quickDT(obj, zone) {\n // assume we have the higher-order units\n for (const u of orderedUnits) {\n if (isUndefined(obj[u])) {\n obj[u] = defaultUnitValues[u];\n }\n }\n\n const invalid = hasInvalidGregorianData(obj) || hasInvalidTimeData(obj);\n if (invalid) {\n return DateTime.invalid(invalid);\n }\n\n const tsNow = Settings.now(),\n offsetProvis = zone.offset(tsNow),\n [ts, o] = objToTS(obj, offsetProvis, zone);\n\n return new DateTime({\n ts,\n zone,\n o\n });\n}\n\nfunction diffRelative(start, end, opts) {\n const round = isUndefined(opts.round) ? true : opts.round,\n format = (c, unit) => {\n c = roundTo(c, round || opts.calendary ? 0 : 2, true);\n const formatter = end.loc.clone(opts).relFormatter(opts);\n return formatter.format(c, unit);\n },\n differ = unit => {\n if (opts.calendary) {\n if (!end.hasSame(start, unit)) {\n return end\n .startOf(unit)\n .diff(start.startOf(unit), unit)\n .get(unit);\n } else return 0;\n } else {\n return end.diff(start, unit).get(unit);\n }\n };\n\n if (opts.unit) {\n return format(differ(opts.unit), opts.unit);\n }\n\n for (const unit of opts.units) {\n const count = differ(unit);\n if (Math.abs(count) >= 1) {\n return format(count, unit);\n }\n }\n return format(start > end ? -0 : 0, opts.units[opts.units.length - 1]);\n}\n\n/**\n * A DateTime is an immutable data structure representing a specific date and time and accompanying methods. It contains class and instance methods for creating, parsing, interrogating, transforming, and formatting them.\n *\n * A DateTime comprises of:\n * * A timestamp. Each DateTime instance refers to a specific millisecond of the Unix epoch.\n * * A time zone. Each instance is considered in the context of a specific zone (by default the local system's zone).\n * * Configuration properties that effect how output strings are formatted, such as `locale`, `numberingSystem`, and `outputCalendar`.\n *\n * Here is a brief overview of the most commonly used functionality it provides:\n *\n * * **Creation**: To create a DateTime from its components, use one of its factory class methods: {@link local}, {@link utc}, and (most flexibly) {@link fromObject}. To create one from a standard string format, use {@link fromISO}, {@link fromHTTP}, and {@link fromRFC2822}. To create one from a custom string format, use {@link fromFormat}. To create one from a native JS date, use {@link fromJSDate}.\n * * **Gregorian calendar and time**: To examine the Gregorian properties of a DateTime individually (i.e as opposed to collectively through {@link toObject}), use the {@link year}, {@link month},\n * {@link day}, {@link hour}, {@link minute}, {@link second}, {@link millisecond} accessors.\n * * **Week calendar**: For ISO week calendar attributes, see the {@link weekYear}, {@link weekNumber}, and {@link weekday} accessors.\n * * **Configuration** See the {@link locale} and {@link numberingSystem} accessors.\n * * **Transformation**: To transform the DateTime into other DateTimes, use {@link set}, {@link reconfigure}, {@link setZone}, {@link setLocale}, {@link plus}, {@link minus}, {@link endOf}, {@link startOf}, {@link toUTC}, and {@link toLocal}.\n * * **Output**: To convert the DateTime to other representations, use the {@link toRelative}, {@link toRelativeCalendar}, {@link toJSON}, {@link toISO}, {@link toHTTP}, {@link toObject}, {@link toRFC2822}, {@link toString}, {@link toLocaleString}, {@link toFormat}, {@link toMillis} and {@link toJSDate}.\n *\n * There's plenty others documented below. In addition, for more information on subtler topics like internationalization, time zones, alternative calendars, validity, and so on, see the external documentation.\n */\nexport default class DateTime {\n /**\n * @access private\n */\n constructor(config) {\n const zone = config.zone || Settings.defaultZone;\n\n let invalid =\n config.invalid ||\n (Number.isNaN(config.ts) ? new Invalid(\"invalid input\") : null) ||\n (!zone.isValid ? unsupportedZone(zone) : null);\n /**\n * @access private\n */\n this.ts = isUndefined(config.ts) ? Settings.now() : config.ts;\n\n let c = null,\n o = null;\n if (!invalid) {\n const unchanged = config.old && config.old.ts === this.ts && config.old.zone.equals(zone);\n\n if (unchanged) {\n [c, o] = [config.old.c, config.old.o];\n } else {\n const ot = zone.offset(this.ts);\n c = tsToObj(this.ts, ot);\n invalid = Number.isNaN(c.year) ? new Invalid(\"invalid input\") : null;\n c = invalid ? null : c;\n o = invalid ? null : ot;\n }\n }\n\n /**\n * @access private\n */\n this._zone = zone;\n /**\n * @access private\n */\n this.loc = config.loc || Locale.create();\n /**\n * @access private\n */\n this.invalid = invalid;\n /**\n * @access private\n */\n this.weekData = null;\n /**\n * @access private\n */\n this.c = c;\n /**\n * @access private\n */\n this.o = o;\n /**\n * @access private\n */\n this.isLuxonDateTime = true;\n }\n\n // CONSTRUCT\n\n /**\n * Create a DateTime for the current instant, in the system's time zone.\n *\n * Use Settings to override these default values if needed.\n * @example DateTime.now().toISO() //~> now in the ISO format\n * @return {DateTime}\n */\n static now() {\n return new DateTime({});\n }\n\n /**\n * Create a local DateTime\n * @param {number} [year] - The calendar year. If omitted (as in, call `local()` with no arguments), the current time will be used\n * @param {number} [month=1] - The month, 1-indexed\n * @param {number} [day=1] - The day of the month, 1-indexed\n * @param {number} [hour=0] - The hour of the day, in 24-hour time\n * @param {number} [minute=0] - The minute of the hour, meaning a number between 0 and 59\n * @param {number} [second=0] - The second of the minute, meaning a number between 0 and 59\n * @param {number} [millisecond=0] - The millisecond of the second, meaning a number between 0 and 999\n * @example DateTime.local() //~> now\n * @example DateTime.local(2017) //~> 2017-01-01T00:00:00\n * @example DateTime.local(2017, 3) //~> 2017-03-01T00:00:00\n * @example DateTime.local(2017, 3, 12) //~> 2017-03-12T00:00:00\n * @example DateTime.local(2017, 3, 12, 5) //~> 2017-03-12T05:00:00\n * @example DateTime.local(2017, 3, 12, 5, 45) //~> 2017-03-12T05:45:00\n * @example DateTime.local(2017, 3, 12, 5, 45, 10) //~> 2017-03-12T05:45:10\n * @example DateTime.local(2017, 3, 12, 5, 45, 10, 765) //~> 2017-03-12T05:45:10.765\n * @return {DateTime}\n */\n static local(year, month, day, hour, minute, second, millisecond) {\n if (isUndefined(year)) {\n return DateTime.now();\n } else {\n return quickDT(\n {\n year,\n month,\n day,\n hour,\n minute,\n second,\n millisecond\n },\n Settings.defaultZone\n );\n }\n }\n\n /**\n * Create a DateTime in UTC\n * @param {number} [year] - The calendar year. If omitted (as in, call `utc()` with no arguments), the current time will be used\n * @param {number} [month=1] - The month, 1-indexed\n * @param {number} [day=1] - The day of the month\n * @param {number} [hour=0] - The hour of the day, in 24-hour time\n * @param {number} [minute=0] - The minute of the hour, meaning a number between 0 and 59\n * @param {number} [second=0] - The second of the minute, meaning a number between 0 and 59\n * @param {number} [millisecond=0] - The millisecond of the second, meaning a number between 0 and 999\n * @example DateTime.utc() //~> now\n * @example DateTime.utc(2017) //~> 2017-01-01T00:00:00Z\n * @example DateTime.utc(2017, 3) //~> 2017-03-01T00:00:00Z\n * @example DateTime.utc(2017, 3, 12) //~> 2017-03-12T00:00:00Z\n * @example DateTime.utc(2017, 3, 12, 5) //~> 2017-03-12T05:00:00Z\n * @example DateTime.utc(2017, 3, 12, 5, 45) //~> 2017-03-12T05:45:00Z\n * @example DateTime.utc(2017, 3, 12, 5, 45, 10) //~> 2017-03-12T05:45:10Z\n * @example DateTime.utc(2017, 3, 12, 5, 45, 10, 765) //~> 2017-03-12T05:45:10.765Z\n * @return {DateTime}\n */\n static utc(year, month, day, hour, minute, second, millisecond) {\n if (isUndefined(year)) {\n return new DateTime({\n ts: Settings.now(),\n zone: FixedOffsetZone.utcInstance\n });\n } else {\n return quickDT(\n {\n year,\n month,\n day,\n hour,\n minute,\n second,\n millisecond\n },\n FixedOffsetZone.utcInstance\n );\n }\n }\n\n /**\n * Create a DateTime from a JavaScript Date object. Uses the default zone.\n * @param {Date} date - a JavaScript Date object\n * @param {Object} options - configuration options for the DateTime\n * @param {string|Zone} [options.zone='local'] - the zone to place the DateTime into\n * @return {DateTime}\n */\n static fromJSDate(date, options = {}) {\n const ts = isDate(date) ? date.valueOf() : NaN;\n if (Number.isNaN(ts)) {\n return DateTime.invalid(\"invalid input\");\n }\n\n const zoneToUse = normalizeZone(options.zone, Settings.defaultZone);\n if (!zoneToUse.isValid) {\n return DateTime.invalid(unsupportedZone(zoneToUse));\n }\n\n return new DateTime({\n ts: ts,\n zone: zoneToUse,\n loc: Locale.fromObject(options)\n });\n }\n\n /**\n * Create a DateTime from a number of milliseconds since the epoch (meaning since 1 January 1970 00:00:00 UTC). Uses the default zone.\n * @param {number} milliseconds - a number of milliseconds since 1970 UTC\n * @param {Object} options - configuration options for the DateTime\n * @param {string|Zone} [options.zone='local'] - the zone to place the DateTime into\n * @param {string} [options.locale] - a locale to set on the resulting DateTime instance\n * @param {string} options.outputCalendar - the output calendar to set on the resulting DateTime instance\n * @param {string} options.numberingSystem - the numbering system to set on the resulting DateTime instance\n * @return {DateTime}\n */\n static fromMillis(milliseconds, options = {}) {\n if (!isNumber(milliseconds)) {\n throw new InvalidArgumentError(\n `fromMillis requires a numerical input, but received a ${typeof milliseconds} with value ${milliseconds}`\n );\n } else if (milliseconds < -MAX_DATE || milliseconds > MAX_DATE) {\n // this isn't perfect because because we can still end up out of range because of additional shifting, but it's a start\n return DateTime.invalid(\"Timestamp out of range\");\n } else {\n return new DateTime({\n ts: milliseconds,\n zone: normalizeZone(options.zone, Settings.defaultZone),\n loc: Locale.fromObject(options)\n });\n }\n }\n\n /**\n * Create a DateTime from a number of seconds since the epoch (meaning since 1 January 1970 00:00:00 UTC). Uses the default zone.\n * @param {number} seconds - a number of seconds since 1970 UTC\n * @param {Object} options - configuration options for the DateTime\n * @param {string|Zone} [options.zone='local'] - the zone to place the DateTime into\n * @param {string} [options.locale] - a locale to set on the resulting DateTime instance\n * @param {string} options.outputCalendar - the output calendar to set on the resulting DateTime instance\n * @param {string} options.numberingSystem - the numbering system to set on the resulting DateTime instance\n * @return {DateTime}\n */\n static fromSeconds(seconds, options = {}) {\n if (!isNumber(seconds)) {\n throw new InvalidArgumentError(\"fromSeconds requires a numerical input\");\n } else {\n return new DateTime({\n ts: seconds * 1000,\n zone: normalizeZone(options.zone, Settings.defaultZone),\n loc: Locale.fromObject(options)\n });\n }\n }\n\n /**\n * Create a DateTime from a JavaScript object with keys like 'year' and 'hour' with reasonable defaults.\n * @param {Object} obj - the object to create the DateTime from\n * @param {number} obj.year - a year, such as 1987\n * @param {number} obj.month - a month, 1-12\n * @param {number} obj.day - a day of the month, 1-31, depending on the month\n * @param {number} obj.ordinal - day of the year, 1-365 or 366\n * @param {number} obj.weekYear - an ISO week year\n * @param {number} obj.weekNumber - an ISO week number, between 1 and 52 or 53, depending on the year\n * @param {number} obj.weekday - an ISO weekday, 1-7, where 1 is Monday and 7 is Sunday\n * @param {number} obj.hour - hour of the day, 0-23\n * @param {number} obj.minute - minute of the hour, 0-59\n * @param {number} obj.second - second of the minute, 0-59\n * @param {number} obj.millisecond - millisecond of the second, 0-999\n * @param {string|Zone} [obj.zone='local'] - interpret the numbers in the context of a particular zone. Can take any value taken as the first argument to setZone()\n * @param {string} [obj.locale='system's locale'] - a locale to set on the resulting DateTime instance\n * @param {string} obj.outputCalendar - the output calendar to set on the resulting DateTime instance\n * @param {string} obj.numberingSystem - the numbering system to set on the resulting DateTime instance\n * @example DateTime.fromObject({ year: 1982, month: 5, day: 25}).toISODate() //=> '1982-05-25'\n * @example DateTime.fromObject({ year: 1982 }).toISODate() //=> '1982-01-01'\n * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }) //~> today at 10:26:06\n * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6, zone: 'utc' }),\n * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6, zone: 'local' })\n * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6, zone: 'America/New_York' })\n * @example DateTime.fromObject({ weekYear: 2016, weekNumber: 2, weekday: 3 }).toISODate() //=> '2016-01-13'\n * @return {DateTime}\n */\n static fromObject(obj) {\n const zoneToUse = normalizeZone(obj.zone, Settings.defaultZone);\n if (!zoneToUse.isValid) {\n return DateTime.invalid(unsupportedZone(zoneToUse));\n }\n\n const tsNow = Settings.now(),\n offsetProvis = zoneToUse.offset(tsNow),\n normalized = normalizeObject(obj, normalizeUnit, [\n \"zone\",\n \"locale\",\n \"outputCalendar\",\n \"numberingSystem\"\n ]),\n containsOrdinal = !isUndefined(normalized.ordinal),\n containsGregorYear = !isUndefined(normalized.year),\n containsGregorMD = !isUndefined(normalized.month) || !isUndefined(normalized.day),\n containsGregor = containsGregorYear || containsGregorMD,\n definiteWeekDef = normalized.weekYear || normalized.weekNumber,\n loc = Locale.fromObject(obj);\n\n // cases:\n // just a weekday -> this week's instance of that weekday, no worries\n // (gregorian data or ordinal) + (weekYear or weekNumber) -> error\n // (gregorian month or day) + ordinal -> error\n // otherwise just use weeks or ordinals or gregorian, depending on what's specified\n\n if ((containsGregor || containsOrdinal) && definiteWeekDef) {\n throw new ConflictingSpecificationError(\n \"Can't mix weekYear/weekNumber units with year/month/day or ordinals\"\n );\n }\n\n if (containsGregorMD && containsOrdinal) {\n throw new ConflictingSpecificationError(\"Can't mix ordinal dates with month/day\");\n }\n\n const useWeekData = definiteWeekDef || (normalized.weekday && !containsGregor);\n\n // configure ourselves to deal with gregorian dates or week stuff\n let units,\n defaultValues,\n objNow = tsToObj(tsNow, offsetProvis);\n if (useWeekData) {\n units = orderedWeekUnits;\n defaultValues = defaultWeekUnitValues;\n objNow = gregorianToWeek(objNow);\n } else if (containsOrdinal) {\n units = orderedOrdinalUnits;\n defaultValues = defaultOrdinalUnitValues;\n objNow = gregorianToOrdinal(objNow);\n } else {\n units = orderedUnits;\n defaultValues = defaultUnitValues;\n }\n\n // set default values for missing stuff\n let foundFirst = false;\n for (const u of units) {\n const v = normalized[u];\n if (!isUndefined(v)) {\n foundFirst = true;\n } else if (foundFirst) {\n normalized[u] = defaultValues[u];\n } else {\n normalized[u] = objNow[u];\n }\n }\n\n // make sure the values we have are in range\n const higherOrderInvalid = useWeekData\n ? hasInvalidWeekData(normalized)\n : containsOrdinal\n ? hasInvalidOrdinalData(normalized)\n : hasInvalidGregorianData(normalized),\n invalid = higherOrderInvalid || hasInvalidTimeData(normalized);\n\n if (invalid) {\n return DateTime.invalid(invalid);\n }\n\n // compute the actual time\n const gregorian = useWeekData\n ? weekToGregorian(normalized)\n : containsOrdinal\n ? ordinalToGregorian(normalized)\n : normalized,\n [tsFinal, offsetFinal] = objToTS(gregorian, offsetProvis, zoneToUse),\n inst = new DateTime({\n ts: tsFinal,\n zone: zoneToUse,\n o: offsetFinal,\n loc\n });\n\n // gregorian data + weekday serves only to validate\n if (normalized.weekday && containsGregor && obj.weekday !== inst.weekday) {\n return DateTime.invalid(\n \"mismatched weekday\",\n `you can't specify both a weekday of ${normalized.weekday} and a date of ${inst.toISO()}`\n );\n }\n\n return inst;\n }\n\n /**\n * Create a DateTime from an ISO 8601 string\n * @param {string} text - the ISO string\n * @param {Object} opts - options to affect the creation\n * @param {string|Zone} [opts.zone='local'] - use this zone if no offset is specified in the input string itself. Will also convert the time to this zone\n * @param {boolean} [opts.setZone=false] - override the zone with a fixed-offset zone specified in the string itself, if it specifies one\n * @param {string} [opts.locale='system's locale'] - a locale to set on the resulting DateTime instance\n * @param {string} [opts.outputCalendar] - the output calendar to set on the resulting DateTime instance\n * @param {string} [opts.numberingSystem] - the numbering system to set on the resulting DateTime instance\n * @example DateTime.fromISO('2016-05-25T09:08:34.123')\n * @example DateTime.fromISO('2016-05-25T09:08:34.123+06:00')\n * @example DateTime.fromISO('2016-05-25T09:08:34.123+06:00', {setZone: true})\n * @example DateTime.fromISO('2016-05-25T09:08:34.123', {zone: 'utc'})\n * @example DateTime.fromISO('2016-W05-4')\n * @return {DateTime}\n */\n static fromISO(text, opts = {}) {\n const [vals, parsedZone] = parseISODate(text);\n return parseDataToDateTime(vals, parsedZone, opts, \"ISO 8601\", text);\n }\n\n /**\n * Create a DateTime from an RFC 2822 string\n * @param {string} text - the RFC 2822 string\n * @param {Object} opts - options to affect the creation\n * @param {string|Zone} [opts.zone='local'] - convert the time to this zone. Since the offset is always specified in the string itself, this has no effect on the interpretation of string, merely the zone the resulting DateTime is expressed in.\n * @param {boolean} [opts.setZone=false] - override the zone with a fixed-offset zone specified in the string itself, if it specifies one\n * @param {string} [opts.locale='system's locale'] - a locale to set on the resulting DateTime instance\n * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance\n * @param {string} opts.numberingSystem - the numbering system to set on the resulting DateTime instance\n * @example DateTime.fromRFC2822('25 Nov 2016 13:23:12 GMT')\n * @example DateTime.fromRFC2822('Fri, 25 Nov 2016 13:23:12 +0600')\n * @example DateTime.fromRFC2822('25 Nov 2016 13:23 Z')\n * @return {DateTime}\n */\n static fromRFC2822(text, opts = {}) {\n const [vals, parsedZone] = parseRFC2822Date(text);\n return parseDataToDateTime(vals, parsedZone, opts, \"RFC 2822\", text);\n }\n\n /**\n * Create a DateTime from an HTTP header date\n * @see https://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.3.1\n * @param {string} text - the HTTP header date\n * @param {Object} opts - options to affect the creation\n * @param {string|Zone} [opts.zone='local'] - convert the time to this zone. Since HTTP dates are always in UTC, this has no effect on the interpretation of string, merely the zone the resulting DateTime is expressed in.\n * @param {boolean} [opts.setZone=false] - override the zone with the fixed-offset zone specified in the string. For HTTP dates, this is always UTC, so this option is equivalent to setting the `zone` option to 'utc', but this option is included for consistency with similar methods.\n * @param {string} [opts.locale='system's locale'] - a locale to set on the resulting DateTime instance\n * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance\n * @param {string} opts.numberingSystem - the numbering system to set on the resulting DateTime instance\n * @example DateTime.fromHTTP('Sun, 06 Nov 1994 08:49:37 GMT')\n * @example DateTime.fromHTTP('Sunday, 06-Nov-94 08:49:37 GMT')\n * @example DateTime.fromHTTP('Sun Nov 6 08:49:37 1994')\n * @return {DateTime}\n */\n static fromHTTP(text, opts = {}) {\n const [vals, parsedZone] = parseHTTPDate(text);\n return parseDataToDateTime(vals, parsedZone, opts, \"HTTP\", opts);\n }\n\n /**\n * Create a DateTime from an input string and format string.\n * Defaults to en-US if no locale has been specified, regardless of the system's locale.\n * @see https://moment.github.io/luxon/docs/manual/parsing.html#table-of-tokens\n * @param {string} text - the string to parse\n * @param {string} fmt - the format the string is expected to be in (see the link below for the formats)\n * @param {Object} opts - options to affect the creation\n * @param {string|Zone} [opts.zone='local'] - use this zone if no offset is specified in the input string itself. Will also convert the DateTime to this zone\n * @param {boolean} [opts.setZone=false] - override the zone with a zone specified in the string itself, if it specifies one\n * @param {string} [opts.locale='en-US'] - a locale string to use when parsing. Will also set the DateTime to this locale\n * @param {string} opts.numberingSystem - the numbering system to use when parsing. Will also set the resulting DateTime to this numbering system\n * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance\n * @return {DateTime}\n */\n static fromFormat(text, fmt, opts = {}) {\n if (isUndefined(text) || isUndefined(fmt)) {\n throw new InvalidArgumentError(\"fromFormat requires an input string and a format\");\n }\n\n const { locale = null, numberingSystem = null } = opts,\n localeToUse = Locale.fromOpts({\n locale,\n numberingSystem,\n defaultToEN: true\n }),\n [vals, parsedZone, invalid] = parseFromTokens(localeToUse, text, fmt);\n if (invalid) {\n return DateTime.invalid(invalid);\n } else {\n return parseDataToDateTime(vals, parsedZone, opts, `format ${fmt}`, text);\n }\n }\n\n /**\n * @deprecated use fromFormat instead\n */\n static fromString(text, fmt, opts = {}) {\n return DateTime.fromFormat(text, fmt, opts);\n }\n\n /**\n * Create a DateTime from a SQL date, time, or datetime\n * Defaults to en-US if no locale has been specified, regardless of the system's locale\n * @param {string} text - the string to parse\n * @param {Object} opts - options to affect the creation\n * @param {string|Zone} [opts.zone='local'] - use this zone if no offset is specified in the input string itself. Will also convert the DateTime to this zone\n * @param {boolean} [opts.setZone=false] - override the zone with a zone specified in the string itself, if it specifies one\n * @param {string} [opts.locale='en-US'] - a locale string to use when parsing. Will also set the DateTime to this locale\n * @param {string} opts.numberingSystem - the numbering system to use when parsing. Will also set the resulting DateTime to this numbering system\n * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance\n * @example DateTime.fromSQL('2017-05-15')\n * @example DateTime.fromSQL('2017-05-15 09:12:34')\n * @example DateTime.fromSQL('2017-05-15 09:12:34.342')\n * @example DateTime.fromSQL('2017-05-15 09:12:34.342+06:00')\n * @example DateTime.fromSQL('2017-05-15 09:12:34.342 America/Los_Angeles')\n * @example DateTime.fromSQL('2017-05-15 09:12:34.342 America/Los_Angeles', { setZone: true })\n * @example DateTime.fromSQL('2017-05-15 09:12:34.342', { zone: 'America/Los_Angeles' })\n * @example DateTime.fromSQL('09:12:34.342')\n * @return {DateTime}\n */\n static fromSQL(text, opts = {}) {\n const [vals, parsedZone] = parseSQL(text);\n return parseDataToDateTime(vals, parsedZone, opts, \"SQL\", text);\n }\n\n /**\n * Create an invalid DateTime.\n * @param {string} reason - simple string of why this DateTime is invalid. Should not contain parameters or anything else data-dependent\n * @param {string} [explanation=null] - longer explanation, may include parameters and other useful debugging information\n * @return {DateTime}\n */\n static invalid(reason, explanation = null) {\n if (!reason) {\n throw new InvalidArgumentError(\"need to specify a reason the DateTime is invalid\");\n }\n\n const invalid = reason instanceof Invalid ? reason : new Invalid(reason, explanation);\n\n if (Settings.throwOnInvalid) {\n throw new InvalidDateTimeError(invalid);\n } else {\n return new DateTime({ invalid });\n }\n }\n\n /**\n * Check if an object is a DateTime. Works across context boundaries\n * @param {object} o\n * @return {boolean}\n */\n static isDateTime(o) {\n return (o && o.isLuxonDateTime) || false;\n }\n\n // INFO\n\n /**\n * Get the value of unit.\n * @param {string} unit - a unit such as 'minute' or 'day'\n * @example DateTime.local(2017, 7, 4).get('month'); //=> 7\n * @example DateTime.local(2017, 7, 4).get('day'); //=> 4\n * @return {number}\n */\n get(unit) {\n return this[unit];\n }\n\n /**\n * Returns whether the DateTime is valid. Invalid DateTimes occur when:\n * * The DateTime was created from invalid calendar information, such as the 13th month or February 30\n * * The DateTime was created by an operation on another invalid date\n * @type {boolean}\n */\n get isValid() {\n return this.invalid === null;\n }\n\n /**\n * Returns an error code if this DateTime is invalid, or null if the DateTime is valid\n * @type {string}\n */\n get invalidReason() {\n return this.invalid ? this.invalid.reason : null;\n }\n\n /**\n * Returns an explanation of why this DateTime became invalid, or null if the DateTime is valid\n * @type {string}\n */\n get invalidExplanation() {\n return this.invalid ? this.invalid.explanation : null;\n }\n\n /**\n * Get the locale of a DateTime, such 'en-GB'. The locale is used when formatting the DateTime\n *\n * @type {string}\n */\n get locale() {\n return this.isValid ? this.loc.locale : null;\n }\n\n /**\n * Get the numbering system of a DateTime, such 'beng'. The numbering system is used when formatting the DateTime\n *\n * @type {string}\n */\n get numberingSystem() {\n return this.isValid ? this.loc.numberingSystem : null;\n }\n\n /**\n * Get the output calendar of a DateTime, such 'islamic'. The output calendar is used when formatting the DateTime\n *\n * @type {string}\n */\n get outputCalendar() {\n return this.isValid ? this.loc.outputCalendar : null;\n }\n\n /**\n * Get the time zone associated with this DateTime.\n * @type {Zone}\n */\n get zone() {\n return this._zone;\n }\n\n /**\n * Get the name of the time zone.\n * @type {string}\n */\n get zoneName() {\n return this.isValid ? this.zone.name : null;\n }\n\n /**\n * Get the year\n * @example DateTime.local(2017, 5, 25).year //=> 2017\n * @type {number}\n */\n get year() {\n return this.isValid ? this.c.year : NaN;\n }\n\n /**\n * Get the quarter\n * @example DateTime.local(2017, 5, 25).quarter //=> 2\n * @type {number}\n */\n get quarter() {\n return this.isValid ? Math.ceil(this.c.month / 3) : NaN;\n }\n\n /**\n * Get the month (1-12).\n * @example DateTime.local(2017, 5, 25).month //=> 5\n * @type {number}\n */\n get month() {\n return this.isValid ? this.c.month : NaN;\n }\n\n /**\n * Get the day of the month (1-30ish).\n * @example DateTime.local(2017, 5, 25).day //=> 25\n * @type {number}\n */\n get day() {\n return this.isValid ? this.c.day : NaN;\n }\n\n /**\n * Get the hour of the day (0-23).\n * @example DateTime.local(2017, 5, 25, 9).hour //=> 9\n * @type {number}\n */\n get hour() {\n return this.isValid ? this.c.hour : NaN;\n }\n\n /**\n * Get the minute of the hour (0-59).\n * @example DateTime.local(2017, 5, 25, 9, 30).minute //=> 30\n * @type {number}\n */\n get minute() {\n return this.isValid ? this.c.minute : NaN;\n }\n\n /**\n * Get the second of the minute (0-59).\n * @example DateTime.local(2017, 5, 25, 9, 30, 52).second //=> 52\n * @type {number}\n */\n get second() {\n return this.isValid ? this.c.second : NaN;\n }\n\n /**\n * Get the millisecond of the second (0-999).\n * @example DateTime.local(2017, 5, 25, 9, 30, 52, 654).millisecond //=> 654\n * @type {number}\n */\n get millisecond() {\n return this.isValid ? this.c.millisecond : NaN;\n }\n\n /**\n * Get the week year\n * @see https://en.wikipedia.org/wiki/ISO_week_date\n * @example DateTime.local(2014, 12, 31).weekYear //=> 2015\n * @type {number}\n */\n get weekYear() {\n return this.isValid ? possiblyCachedWeekData(this).weekYear : NaN;\n }\n\n /**\n * Get the week number of the week year (1-52ish).\n * @see https://en.wikipedia.org/wiki/ISO_week_date\n * @example DateTime.local(2017, 5, 25).weekNumber //=> 21\n * @type {number}\n */\n get weekNumber() {\n return this.isValid ? possiblyCachedWeekData(this).weekNumber : NaN;\n }\n\n /**\n * Get the day of the week.\n * 1 is Monday and 7 is Sunday\n * @see https://en.wikipedia.org/wiki/ISO_week_date\n * @example DateTime.local(2014, 11, 31).weekday //=> 4\n * @type {number}\n */\n get weekday() {\n return this.isValid ? possiblyCachedWeekData(this).weekday : NaN;\n }\n\n /**\n * Get the ordinal (meaning the day of the year)\n * @example DateTime.local(2017, 5, 25).ordinal //=> 145\n * @type {number|DateTime}\n */\n get ordinal() {\n return this.isValid ? gregorianToOrdinal(this.c).ordinal : NaN;\n }\n\n /**\n * Get the human readable short month name, such as 'Oct'.\n * Defaults to the system's locale if no locale has been specified\n * @example DateTime.local(2017, 10, 30).monthShort //=> Oct\n * @type {string}\n */\n get monthShort() {\n return this.isValid ? Info.months(\"short\", { locObj: this.loc })[this.month - 1] : null;\n }\n\n /**\n * Get the human readable long month name, such as 'October'.\n * Defaults to the system's locale if no locale has been specified\n * @example DateTime.local(2017, 10, 30).monthLong //=> October\n * @type {string}\n */\n get monthLong() {\n return this.isValid ? Info.months(\"long\", { locObj: this.loc })[this.month - 1] : null;\n }\n\n /**\n * Get the human readable short weekday, such as 'Mon'.\n * Defaults to the system's locale if no locale has been specified\n * @example DateTime.local(2017, 10, 30).weekdayShort //=> Mon\n * @type {string}\n */\n get weekdayShort() {\n return this.isValid ? Info.weekdays(\"short\", { locObj: this.loc })[this.weekday - 1] : null;\n }\n\n /**\n * Get the human readable long weekday, such as 'Monday'.\n * Defaults to the system's locale if no locale has been specified\n * @example DateTime.local(2017, 10, 30).weekdayLong //=> Monday\n * @type {string}\n */\n get weekdayLong() {\n return this.isValid ? Info.weekdays(\"long\", { locObj: this.loc })[this.weekday - 1] : null;\n }\n\n /**\n * Get the UTC offset of this DateTime in minutes\n * @example DateTime.now().offset //=> -240\n * @example DateTime.utc().offset //=> 0\n * @type {number}\n */\n get offset() {\n return this.isValid ? +this.o : NaN;\n }\n\n /**\n * Get the short human name for the zone's current offset, for example \"EST\" or \"EDT\".\n * Defaults to the system's locale if no locale has been specified\n * @type {string}\n */\n get offsetNameShort() {\n if (this.isValid) {\n return this.zone.offsetName(this.ts, {\n format: \"short\",\n locale: this.locale\n });\n } else {\n return null;\n }\n }\n\n /**\n * Get the long human name for the zone's current offset, for example \"Eastern Standard Time\" or \"Eastern Daylight Time\".\n * Defaults to the system's locale if no locale has been specified\n * @type {string}\n */\n get offsetNameLong() {\n if (this.isValid) {\n return this.zone.offsetName(this.ts, {\n format: \"long\",\n locale: this.locale\n });\n } else {\n return null;\n }\n }\n\n /**\n * Get whether this zone's offset ever changes, as in a DST.\n * @type {boolean}\n */\n get isOffsetFixed() {\n return this.isValid ? this.zone.universal : null;\n }\n\n /**\n * Get whether the DateTime is in a DST.\n * @type {boolean}\n */\n get isInDST() {\n if (this.isOffsetFixed) {\n return false;\n } else {\n return (\n this.offset > this.set({ month: 1 }).offset || this.offset > this.set({ month: 5 }).offset\n );\n }\n }\n\n /**\n * Returns true if this DateTime is in a leap year, false otherwise\n * @example DateTime.local(2016).isInLeapYear //=> true\n * @example DateTime.local(2013).isInLeapYear //=> false\n * @type {boolean}\n */\n get isInLeapYear() {\n return isLeapYear(this.year);\n }\n\n /**\n * Returns the number of days in this DateTime's month\n * @example DateTime.local(2016, 2).daysInMonth //=> 29\n * @example DateTime.local(2016, 3).daysInMonth //=> 31\n * @type {number}\n */\n get daysInMonth() {\n return daysInMonth(this.year, this.month);\n }\n\n /**\n * Returns the number of days in this DateTime's year\n * @example DateTime.local(2016).daysInYear //=> 366\n * @example DateTime.local(2013).daysInYear //=> 365\n * @type {number}\n */\n get daysInYear() {\n return this.isValid ? daysInYear(this.year) : NaN;\n }\n\n /**\n * Returns the number of weeks in this DateTime's year\n * @see https://en.wikipedia.org/wiki/ISO_week_date\n * @example DateTime.local(2004).weeksInWeekYear //=> 53\n * @example DateTime.local(2013).weeksInWeekYear //=> 52\n * @type {number}\n */\n get weeksInWeekYear() {\n return this.isValid ? weeksInWeekYear(this.weekYear) : NaN;\n }\n\n /**\n * Returns the resolved Intl options for this DateTime.\n * This is useful in understanding the behavior of formatting methods\n * @param {Object} opts - the same options as toLocaleString\n * @return {Object}\n */\n resolvedLocaleOpts(opts = {}) {\n const { locale, numberingSystem, calendar } = Formatter.create(\n this.loc.clone(opts),\n opts\n ).resolvedOptions(this);\n return { locale, numberingSystem, outputCalendar: calendar };\n }\n\n // TRANSFORM\n\n /**\n * \"Set\" the DateTime's zone to UTC. Returns a newly-constructed DateTime.\n *\n * Equivalent to {@link setZone}('utc')\n * @param {number} [offset=0] - optionally, an offset from UTC in minutes\n * @param {Object} [opts={}] - options to pass to `setZone()`\n * @return {DateTime}\n */\n toUTC(offset = 0, opts = {}) {\n return this.setZone(FixedOffsetZone.instance(offset), opts);\n }\n\n /**\n * \"Set\" the DateTime's zone to the host's local zone. Returns a newly-constructed DateTime.\n *\n * Equivalent to `setZone('local')`\n * @return {DateTime}\n */\n toLocal() {\n return this.setZone(Settings.defaultZone);\n }\n\n /**\n * \"Set\" the DateTime's zone to specified zone. Returns a newly-constructed DateTime.\n *\n * By default, the setter keeps the underlying time the same (as in, the same timestamp), but the new instance will report different local times and consider DSTs when making computations, as with {@link plus}. You may wish to use {@link toLocal} and {@link toUTC} which provide simple convenience wrappers for commonly used zones.\n * @param {string|Zone} [zone='local'] - a zone identifier. As a string, that can be any IANA zone supported by the host environment, or a fixed-offset name of the form 'UTC+3', or the strings 'local' or 'utc'. You may also supply an instance of a {@link Zone} class.\n * @param {Object} opts - options\n * @param {boolean} [opts.keepLocalTime=false] - If true, adjust the underlying time so that the local time stays the same, but in the target zone. You should rarely need this.\n * @return {DateTime}\n */\n setZone(zone, { keepLocalTime = false, keepCalendarTime = false } = {}) {\n zone = normalizeZone(zone, Settings.defaultZone);\n if (zone.equals(this.zone)) {\n return this;\n } else if (!zone.isValid) {\n return DateTime.invalid(unsupportedZone(zone));\n } else {\n let newTS = this.ts;\n if (keepLocalTime || keepCalendarTime) {\n const offsetGuess = zone.offset(this.ts);\n const asObj = this.toObject();\n [newTS] = objToTS(asObj, offsetGuess, zone);\n }\n return clone(this, { ts: newTS, zone });\n }\n }\n\n /**\n * \"Set\" the locale, numberingSystem, or outputCalendar. Returns a newly-constructed DateTime.\n * @param {Object} properties - the properties to set\n * @example DateTime.local(2017, 5, 25).reconfigure({ locale: 'en-GB' })\n * @return {DateTime}\n */\n reconfigure({ locale, numberingSystem, outputCalendar } = {}) {\n const loc = this.loc.clone({ locale, numberingSystem, outputCalendar });\n return clone(this, { loc });\n }\n\n /**\n * \"Set\" the locale. Returns a newly-constructed DateTime.\n * Just a convenient alias for reconfigure({ locale })\n * @example DateTime.local(2017, 5, 25).setLocale('en-GB')\n * @return {DateTime}\n */\n setLocale(locale) {\n return this.reconfigure({ locale });\n }\n\n /**\n * \"Set\" the values of specified units. Returns a newly-constructed DateTime.\n * You can only set units with this method; for \"setting\" metadata, see {@link reconfigure} and {@link setZone}.\n * @param {Object} values - a mapping of units to numbers\n * @example dt.set({ year: 2017 })\n * @example dt.set({ hour: 8, minute: 30 })\n * @example dt.set({ weekday: 5 })\n * @example dt.set({ year: 2005, ordinal: 234 })\n * @return {DateTime}\n */\n set(values) {\n if (!this.isValid) return this;\n\n const normalized = normalizeObject(values, normalizeUnit, []),\n settingWeekStuff =\n !isUndefined(normalized.weekYear) ||\n !isUndefined(normalized.weekNumber) ||\n !isUndefined(normalized.weekday),\n containsOrdinal = !isUndefined(normalized.ordinal),\n containsGregorYear = !isUndefined(normalized.year),\n containsGregorMD = !isUndefined(normalized.month) || !isUndefined(normalized.day),\n containsGregor = containsGregorYear || containsGregorMD,\n definiteWeekDef = normalized.weekYear || normalized.weekNumber;\n\n if ((containsGregor || containsOrdinal) && definiteWeekDef) {\n throw new ConflictingSpecificationError(\n \"Can't mix weekYear/weekNumber units with year/month/day or ordinals\"\n );\n }\n\n if (containsGregorMD && containsOrdinal) {\n throw new ConflictingSpecificationError(\"Can't mix ordinal dates with month/day\");\n }\n\n let mixed;\n if (settingWeekStuff) {\n mixed = weekToGregorian(Object.assign(gregorianToWeek(this.c), normalized));\n } else if (!isUndefined(normalized.ordinal)) {\n mixed = ordinalToGregorian(Object.assign(gregorianToOrdinal(this.c), normalized));\n } else {\n mixed = Object.assign(this.toObject(), normalized);\n\n // if we didn't set the day but we ended up on an overflow date,\n // use the last day of the right month\n if (isUndefined(normalized.day)) {\n mixed.day = Math.min(daysInMonth(mixed.year, mixed.month), mixed.day);\n }\n }\n\n const [ts, o] = objToTS(mixed, this.o, this.zone);\n return clone(this, { ts, o });\n }\n\n /**\n * Add a period of time to this DateTime and return the resulting DateTime\n *\n * Adding hours, minutes, seconds, or milliseconds increases the timestamp by the right number of milliseconds. Adding days, months, or years shifts the calendar, accounting for DSTs and leap years along the way. Thus, `dt.plus({ hours: 24 })` may result in a different time than `dt.plus({ days: 1 })` if there's a DST shift in between.\n * @param {Duration|Object|number} duration - The amount to add. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject()\n * @example DateTime.now().plus(123) //~> in 123 milliseconds\n * @example DateTime.now().plus({ minutes: 15 }) //~> in 15 minutes\n * @example DateTime.now().plus({ days: 1 }) //~> this time tomorrow\n * @example DateTime.now().plus({ days: -1 }) //~> this time yesterday\n * @example DateTime.now().plus({ hours: 3, minutes: 13 }) //~> in 3 hr, 13 min\n * @example DateTime.now().plus(Duration.fromObject({ hours: 3, minutes: 13 })) //~> in 3 hr, 13 min\n * @return {DateTime}\n */\n plus(duration) {\n if (!this.isValid) return this;\n const dur = friendlyDuration(duration);\n return clone(this, adjustTime(this, dur));\n }\n\n /**\n * Subtract a period of time to this DateTime and return the resulting DateTime\n * See {@link plus}\n * @param {Duration|Object|number} duration - The amount to subtract. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject()\n @return {DateTime}\n */\n minus(duration) {\n if (!this.isValid) return this;\n const dur = friendlyDuration(duration).negate();\n return clone(this, adjustTime(this, dur));\n }\n\n /**\n * \"Set\" this DateTime to the beginning of a unit of time.\n * @param {string} unit - The unit to go to the beginning of. Can be 'year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', or 'millisecond'.\n * @example DateTime.local(2014, 3, 3).startOf('month').toISODate(); //=> '2014-03-01'\n * @example DateTime.local(2014, 3, 3).startOf('year').toISODate(); //=> '2014-01-01'\n * @example DateTime.local(2014, 3, 3).startOf('week').toISODate(); //=> '2014-03-03', weeks always start on Mondays\n * @example DateTime.local(2014, 3, 3, 5, 30).startOf('day').toISOTime(); //=> '00:00.000-05:00'\n * @example DateTime.local(2014, 3, 3, 5, 30).startOf('hour').toISOTime(); //=> '05:00:00.000-05:00'\n * @return {DateTime}\n */\n startOf(unit) {\n if (!this.isValid) return this;\n const o = {},\n normalizedUnit = Duration.normalizeUnit(unit);\n switch (normalizedUnit) {\n case \"years\":\n o.month = 1;\n // falls through\n case \"quarters\":\n case \"months\":\n o.day = 1;\n // falls through\n case \"weeks\":\n case \"days\":\n o.hour = 0;\n // falls through\n case \"hours\":\n o.minute = 0;\n // falls through\n case \"minutes\":\n o.second = 0;\n // falls through\n case \"seconds\":\n o.millisecond = 0;\n break;\n case \"milliseconds\":\n break;\n // no default, invalid units throw in normalizeUnit()\n }\n\n if (normalizedUnit === \"weeks\") {\n o.weekday = 1;\n }\n\n if (normalizedUnit === \"quarters\") {\n const q = Math.ceil(this.month / 3);\n o.month = (q - 1) * 3 + 1;\n }\n\n return this.set(o);\n }\n\n /**\n * \"Set\" this DateTime to the end (meaning the last millisecond) of a unit of time\n * @param {string} unit - The unit to go to the end of. Can be 'year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', or 'millisecond'.\n * @example DateTime.local(2014, 3, 3).endOf('month').toISO(); //=> '2014-03-31T23:59:59.999-05:00'\n * @example DateTime.local(2014, 3, 3).endOf('year').toISO(); //=> '2014-12-31T23:59:59.999-05:00'\n * @example DateTime.local(2014, 3, 3).endOf('week').toISO(); // => '2014-03-09T23:59:59.999-05:00', weeks start on Mondays\n * @example DateTime.local(2014, 3, 3, 5, 30).endOf('day').toISO(); //=> '2014-03-03T23:59:59.999-05:00'\n * @example DateTime.local(2014, 3, 3, 5, 30).endOf('hour').toISO(); //=> '2014-03-03T05:59:59.999-05:00'\n * @return {DateTime}\n */\n endOf(unit) {\n return this.isValid\n ? this.plus({ [unit]: 1 })\n .startOf(unit)\n .minus(1)\n : this;\n }\n\n // OUTPUT\n\n /**\n * Returns a string representation of this DateTime formatted according to the specified format string.\n * **You may not want this.** See {@link toLocaleString} for a more flexible formatting tool. For a table of tokens and their interpretations, see [here](https://moment.github.io/luxon/docs/manual/formatting.html#table-of-tokens).\n * Defaults to en-US if no locale has been specified, regardless of the system's locale.\n * @see https://moment.github.io/luxon/docs/manual/formatting.html#table-of-tokens\n * @param {string} fmt - the format string\n * @param {Object} opts - opts to override the configuration options\n * @example DateTime.now().toFormat('yyyy LLL dd') //=> '2017 Apr 22'\n * @example DateTime.now().setLocale('fr').toFormat('yyyy LLL dd') //=> '2017 avr. 22'\n * @example DateTime.now().toFormat('yyyy LLL dd', { locale: \"fr\" }) //=> '2017 avr. 22'\n * @example DateTime.now().toFormat(\"HH 'hours and' mm 'minutes'\") //=> '20 hours and 55 minutes'\n * @return {string}\n */\n toFormat(fmt, opts = {}) {\n return this.isValid\n ? Formatter.create(this.loc.redefaultToEN(opts)).formatDateTimeFromString(this, fmt)\n : INVALID;\n }\n\n /**\n * Returns a localized string representing this date. Accepts the same options as the Intl.DateTimeFormat constructor and any presets defined by Luxon, such as `DateTime.DATE_FULL` or `DateTime.TIME_SIMPLE`.\n * The exact behavior of this method is browser-specific, but in general it will return an appropriate representation\n * of the DateTime in the assigned locale.\n * Defaults to the system's locale if no locale has been specified\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat\n * @param opts {Object} - Intl.DateTimeFormat constructor options and configuration options\n * @example DateTime.now().toLocaleString(); //=> 4/20/2017\n * @example DateTime.now().setLocale('en-gb').toLocaleString(); //=> '20/04/2017'\n * @example DateTime.now().toLocaleString({ locale: 'en-gb' }); //=> '20/04/2017'\n * @example DateTime.now().toLocaleString(DateTime.DATE_FULL); //=> 'April 20, 2017'\n * @example DateTime.now().toLocaleString(DateTime.TIME_SIMPLE); //=> '11:32 AM'\n * @example DateTime.now().toLocaleString(DateTime.DATETIME_SHORT); //=> '4/20/2017, 11:32 AM'\n * @example DateTime.now().toLocaleString({ weekday: 'long', month: 'long', day: '2-digit' }); //=> 'Thursday, April 20'\n * @example DateTime.now().toLocaleString({ weekday: 'short', month: 'short', day: '2-digit', hour: '2-digit', minute: '2-digit' }); //=> 'Thu, Apr 20, 11:27 AM'\n * @example DateTime.now().toLocaleString({ hour: '2-digit', minute: '2-digit', hour12: false }); //=> '11:32'\n * @return {string}\n */\n toLocaleString(opts = Formats.DATE_SHORT) {\n return this.isValid\n ? Formatter.create(this.loc.clone(opts), opts).formatDateTime(this)\n : INVALID;\n }\n\n /**\n * Returns an array of format \"parts\", meaning individual tokens along with metadata. This is allows callers to post-process individual sections of the formatted output.\n * Defaults to the system's locale if no locale has been specified\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat/formatToParts\n * @param opts {Object} - Intl.DateTimeFormat constructor options, same as `toLocaleString`.\n * @example DateTime.now().toLocaleParts(); //=> [\n * //=> { type: 'day', value: '25' },\n * //=> { type: 'literal', value: '/' },\n * //=> { type: 'month', value: '05' },\n * //=> { type: 'literal', value: '/' },\n * //=> { type: 'year', value: '1982' }\n * //=> ]\n */\n toLocaleParts(opts = {}) {\n return this.isValid\n ? Formatter.create(this.loc.clone(opts), opts).formatDateTimeParts(this)\n : [];\n }\n\n /**\n * Returns an ISO 8601-compliant string representation of this DateTime\n * @param {Object} opts - options\n * @param {boolean} [opts.suppressMilliseconds=false] - exclude milliseconds from the format if they're 0\n * @param {boolean} [opts.suppressSeconds=false] - exclude seconds from the format if they're 0\n * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00'\n * @param {string} [opts.format='extended'] - choose between the basic and extended format\n * @example DateTime.utc(1982, 5, 25).toISO() //=> '1982-05-25T00:00:00.000Z'\n * @example DateTime.now().toISO() //=> '2017-04-22T20:47:05.335-04:00'\n * @example DateTime.now().toISO({ includeOffset: false }) //=> '2017-04-22T20:47:05.335'\n * @example DateTime.now().toISO({ format: 'basic' }) //=> '20170422T204705.335-0400'\n * @return {string}\n */\n toISO(opts = {}) {\n if (!this.isValid) {\n return null;\n }\n\n return `${this.toISODate(opts)}T${this.toISOTime(opts)}`;\n }\n\n /**\n * Returns an ISO 8601-compliant string representation of this DateTime's date component\n * @param {Object} opts - options\n * @param {string} [opts.format='extended'] - choose between the basic and extended format\n * @example DateTime.utc(1982, 5, 25).toISODate() //=> '1982-05-25'\n * @example DateTime.utc(1982, 5, 25).toISODate({ format: 'basic' }) //=> '19820525'\n * @return {string}\n */\n toISODate({ format = \"extended\" } = {}) {\n let fmt = format === \"basic\" ? \"yyyyMMdd\" : \"yyyy-MM-dd\";\n if (this.year > 9999) {\n fmt = \"+\" + fmt;\n }\n\n return toTechFormat(this, fmt);\n }\n\n /**\n * Returns an ISO 8601-compliant string representation of this DateTime's week date\n * @example DateTime.utc(1982, 5, 25).toISOWeekDate() //=> '1982-W21-2'\n * @return {string}\n */\n toISOWeekDate() {\n return toTechFormat(this, \"kkkk-'W'WW-c\");\n }\n\n /**\n * Returns an ISO 8601-compliant string representation of this DateTime's time component\n * @param {Object} opts - options\n * @param {boolean} [opts.suppressMilliseconds=false] - exclude milliseconds from the format if they're 0\n * @param {boolean} [opts.suppressSeconds=false] - exclude seconds from the format if they're 0\n * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00'\n * @param {boolean} [opts.includePrefix=false] - include the `T` prefix\n * @param {string} [opts.format='extended'] - choose between the basic and extended format\n * @example DateTime.utc().set({ hour: 7, minute: 34 }).toISOTime() //=> '07:34:19.361Z'\n * @example DateTime.utc().set({ hour: 7, minute: 34, seconds: 0, milliseconds: 0 }).toISOTime({ suppressSeconds: true }) //=> '07:34Z'\n * @example DateTime.utc().set({ hour: 7, minute: 34 }).toISOTime({ format: 'basic' }) //=> '073419.361Z'\n * @example DateTime.utc().set({ hour: 7, minute: 34 }).toISOTime({ includePrefix: true }) //=> 'T07:34:19.361Z'\n * @return {string}\n */\n toISOTime({\n suppressMilliseconds = false,\n suppressSeconds = false,\n includeOffset = true,\n includePrefix = false,\n format = \"extended\"\n } = {}) {\n return toTechTimeFormat(this, {\n suppressSeconds,\n suppressMilliseconds,\n includeOffset,\n includePrefix,\n format\n });\n }\n\n /**\n * Returns an RFC 2822-compatible string representation of this DateTime, always in UTC\n * @example DateTime.utc(2014, 7, 13).toRFC2822() //=> 'Sun, 13 Jul 2014 00:00:00 +0000'\n * @example DateTime.local(2014, 7, 13).toRFC2822() //=> 'Sun, 13 Jul 2014 00:00:00 -0400'\n * @return {string}\n */\n toRFC2822() {\n return toTechFormat(this, \"EEE, dd LLL yyyy HH:mm:ss ZZZ\", false);\n }\n\n /**\n * Returns a string representation of this DateTime appropriate for use in HTTP headers.\n * Specifically, the string conforms to RFC 1123.\n * @see https://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.3.1\n * @example DateTime.utc(2014, 7, 13).toHTTP() //=> 'Sun, 13 Jul 2014 00:00:00 GMT'\n * @example DateTime.utc(2014, 7, 13, 19).toHTTP() //=> 'Sun, 13 Jul 2014 19:00:00 GMT'\n * @return {string}\n */\n toHTTP() {\n return toTechFormat(this.toUTC(), \"EEE, dd LLL yyyy HH:mm:ss 'GMT'\");\n }\n\n /**\n * Returns a string representation of this DateTime appropriate for use in SQL Date\n * @example DateTime.utc(2014, 7, 13).toSQLDate() //=> '2014-07-13'\n * @return {string}\n */\n toSQLDate() {\n return toTechFormat(this, \"yyyy-MM-dd\");\n }\n\n /**\n * Returns a string representation of this DateTime appropriate for use in SQL Time\n * @param {Object} opts - options\n * @param {boolean} [opts.includeZone=false] - include the zone, such as 'America/New_York'. Overrides includeOffset.\n * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00'\n * @example DateTime.utc().toSQL() //=> '05:15:16.345'\n * @example DateTime.now().toSQL() //=> '05:15:16.345 -04:00'\n * @example DateTime.now().toSQL({ includeOffset: false }) //=> '05:15:16.345'\n * @example DateTime.now().toSQL({ includeZone: false }) //=> '05:15:16.345 America/New_York'\n * @return {string}\n */\n toSQLTime({ includeOffset = true, includeZone = false } = {}) {\n return toTechTimeFormat(this, {\n includeOffset,\n includeZone,\n spaceZone: true\n });\n }\n\n /**\n * Returns a string representation of this DateTime appropriate for use in SQL DateTime\n * @param {Object} opts - options\n * @param {boolean} [opts.includeZone=false] - include the zone, such as 'America/New_York'. Overrides includeOffset.\n * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00'\n * @example DateTime.utc(2014, 7, 13).toSQL() //=> '2014-07-13 00:00:00.000 Z'\n * @example DateTime.local(2014, 7, 13).toSQL() //=> '2014-07-13 00:00:00.000 -04:00'\n * @example DateTime.local(2014, 7, 13).toSQL({ includeOffset: false }) //=> '2014-07-13 00:00:00.000'\n * @example DateTime.local(2014, 7, 13).toSQL({ includeZone: true }) //=> '2014-07-13 00:00:00.000 America/New_York'\n * @return {string}\n */\n toSQL(opts = {}) {\n if (!this.isValid) {\n return null;\n }\n\n return `${this.toSQLDate()} ${this.toSQLTime(opts)}`;\n }\n\n /**\n * Returns a string representation of this DateTime appropriate for debugging\n * @return {string}\n */\n toString() {\n return this.isValid ? this.toISO() : INVALID;\n }\n\n /**\n * Returns the epoch milliseconds of this DateTime. Alias of {@link toMillis}\n * @return {number}\n */\n valueOf() {\n return this.toMillis();\n }\n\n /**\n * Returns the epoch milliseconds of this DateTime.\n * @return {number}\n */\n toMillis() {\n return this.isValid ? this.ts : NaN;\n }\n\n /**\n * Returns the epoch seconds of this DateTime.\n * @return {number}\n */\n toSeconds() {\n return this.isValid ? this.ts / 1000 : NaN;\n }\n\n /**\n * Returns an ISO 8601 representation of this DateTime appropriate for use in JSON.\n * @return {string}\n */\n toJSON() {\n return this.toISO();\n }\n\n /**\n * Returns a BSON serializable equivalent to this DateTime.\n * @return {Date}\n */\n toBSON() {\n return this.toJSDate();\n }\n\n /**\n * Returns a JavaScript object with this DateTime's year, month, day, and so on.\n * @param opts - options for generating the object\n * @param {boolean} [opts.includeConfig=false] - include configuration attributes in the output\n * @example DateTime.now().toObject() //=> { year: 2017, month: 4, day: 22, hour: 20, minute: 49, second: 42, millisecond: 268 }\n * @return {Object}\n */\n toObject(opts = {}) {\n if (!this.isValid) return {};\n\n const base = Object.assign({}, this.c);\n\n if (opts.includeConfig) {\n base.outputCalendar = this.outputCalendar;\n base.numberingSystem = this.loc.numberingSystem;\n base.locale = this.loc.locale;\n }\n return base;\n }\n\n /**\n * Returns a JavaScript Date equivalent to this DateTime.\n * @return {Date}\n */\n toJSDate() {\n return new Date(this.isValid ? this.ts : NaN);\n }\n\n // COMPARE\n\n /**\n * Return the difference between two DateTimes as a Duration.\n * @param {DateTime} otherDateTime - the DateTime to compare this one to\n * @param {string|string[]} [unit=['milliseconds']] - the unit or array of units (such as 'hours' or 'days') to include in the duration.\n * @param {Object} opts - options that affect the creation of the Duration\n * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use\n * @example\n * var i1 = DateTime.fromISO('1982-05-25T09:45'),\n * i2 = DateTime.fromISO('1983-10-14T10:30');\n * i2.diff(i1).toObject() //=> { milliseconds: 43807500000 }\n * i2.diff(i1, 'hours').toObject() //=> { hours: 12168.75 }\n * i2.diff(i1, ['months', 'days']).toObject() //=> { months: 16, days: 19.03125 }\n * i2.diff(i1, ['months', 'days', 'hours']).toObject() //=> { months: 16, days: 19, hours: 0.75 }\n * @return {Duration}\n */\n diff(otherDateTime, unit = \"milliseconds\", opts = {}) {\n if (!this.isValid || !otherDateTime.isValid) {\n return Duration.invalid(\n this.invalid || otherDateTime.invalid,\n \"created by diffing an invalid DateTime\"\n );\n }\n\n const durOpts = Object.assign(\n { locale: this.locale, numberingSystem: this.numberingSystem },\n opts\n );\n\n const units = maybeArray(unit).map(Duration.normalizeUnit),\n otherIsLater = otherDateTime.valueOf() > this.valueOf(),\n earlier = otherIsLater ? this : otherDateTime,\n later = otherIsLater ? otherDateTime : this,\n diffed = diff(earlier, later, units, durOpts);\n\n return otherIsLater ? diffed.negate() : diffed;\n }\n\n /**\n * Return the difference between this DateTime and right now.\n * See {@link diff}\n * @param {string|string[]} [unit=['milliseconds']] - the unit or units units (such as 'hours' or 'days') to include in the duration\n * @param {Object} opts - options that affect the creation of the Duration\n * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use\n * @return {Duration}\n */\n diffNow(unit = \"milliseconds\", opts = {}) {\n return this.diff(DateTime.now(), unit, opts);\n }\n\n /**\n * Return an Interval spanning between this DateTime and another DateTime\n * @param {DateTime} otherDateTime - the other end point of the Interval\n * @return {Interval}\n */\n until(otherDateTime) {\n return this.isValid ? Interval.fromDateTimes(this, otherDateTime) : this;\n }\n\n /**\n * Return whether this DateTime is in the same unit of time as another DateTime.\n * Higher-order units must also be identical for this function to return `true`.\n * Note that time zones are **ignored** in this comparison, which compares the **local** calendar time. Use {@link setZone} to convert one of the dates if needed.\n * @param {DateTime} otherDateTime - the other DateTime\n * @param {string} unit - the unit of time to check sameness on\n * @example DateTime.now().hasSame(otherDT, 'day'); //~> true if otherDT is in the same current calendar day\n * @return {boolean}\n */\n hasSame(otherDateTime, unit) {\n if (!this.isValid) return false;\n\n const inputMs = otherDateTime.valueOf();\n const otherZoneDateTime = this.setZone(otherDateTime.zone, { keepLocalTime: true });\n return otherZoneDateTime.startOf(unit) <= inputMs && inputMs <= otherZoneDateTime.endOf(unit);\n }\n\n /**\n * Equality check\n * Two DateTimes are equal iff they represent the same millisecond, have the same zone and location, and are both valid.\n * To compare just the millisecond values, use `+dt1 === +dt2`.\n * @param {DateTime} other - the other DateTime\n * @return {boolean}\n */\n equals(other) {\n return (\n this.isValid &&\n other.isValid &&\n this.valueOf() === other.valueOf() &&\n this.zone.equals(other.zone) &&\n this.loc.equals(other.loc)\n );\n }\n\n /**\n * Returns a string representation of a this time relative to now, such as \"in two days\". Can only internationalize if your\n * platform supports Intl.RelativeTimeFormat. Rounds down by default.\n * @param {Object} options - options that affect the output\n * @param {DateTime} [options.base=DateTime.now()] - the DateTime to use as the basis to which this time is compared. Defaults to now.\n * @param {string} [options.style=\"long\"] - the style of units, must be \"long\", \"short\", or \"narrow\"\n * @param {string|string[]} options.unit - use a specific unit or array of units; if omitted, or an array, the method will pick the best unit. Use an array or one of \"years\", \"quarters\", \"months\", \"weeks\", \"days\", \"hours\", \"minutes\", or \"seconds\"\n * @param {boolean} [options.round=true] - whether to round the numbers in the output.\n * @param {number} [options.padding=0] - padding in milliseconds. This allows you to round up the result if it fits inside the threshold. Don't use in combination with {round: false} because the decimal output will include the padding.\n * @param {string} options.locale - override the locale of this DateTime\n * @param {string} options.numberingSystem - override the numberingSystem of this DateTime. The Intl system may choose not to honor this\n * @example DateTime.now().plus({ days: 1 }).toRelative() //=> \"in 1 day\"\n * @example DateTime.now().setLocale(\"es\").toRelative({ days: 1 }) //=> \"dentro de 1 día\"\n * @example DateTime.now().plus({ days: 1 }).toRelative({ locale: \"fr\" }) //=> \"dans 23 heures\"\n * @example DateTime.now().minus({ days: 2 }).toRelative() //=> \"2 days ago\"\n * @example DateTime.now().minus({ days: 2 }).toRelative({ unit: \"hours\" }) //=> \"48 hours ago\"\n * @example DateTime.now().minus({ hours: 36 }).toRelative({ round: false }) //=> \"1.5 days ago\"\n */\n toRelative(options = {}) {\n if (!this.isValid) return null;\n const base = options.base || DateTime.fromObject({ zone: this.zone }),\n padding = options.padding ? (this < base ? -options.padding : options.padding) : 0;\n let units = [\"years\", \"months\", \"days\", \"hours\", \"minutes\", \"seconds\"];\n let unit = options.unit;\n if (Array.isArray(options.unit)) {\n units = options.unit;\n unit = undefined;\n }\n return diffRelative(\n base,\n this.plus(padding),\n Object.assign(options, {\n numeric: \"always\",\n units,\n unit\n })\n );\n }\n\n /**\n * Returns a string representation of this date relative to today, such as \"yesterday\" or \"next month\".\n * Only internationalizes on platforms that supports Intl.RelativeTimeFormat.\n * @param {Object} options - options that affect the output\n * @param {DateTime} [options.base=DateTime.now()] - the DateTime to use as the basis to which this time is compared. Defaults to now.\n * @param {string} options.locale - override the locale of this DateTime\n * @param {string} options.unit - use a specific unit; if omitted, the method will pick the unit. Use one of \"years\", \"quarters\", \"months\", \"weeks\", or \"days\"\n * @param {string} options.numberingSystem - override the numberingSystem of this DateTime. The Intl system may choose not to honor this\n * @example DateTime.now().plus({ days: 1 }).toRelativeCalendar() //=> \"tomorrow\"\n * @example DateTime.now().setLocale(\"es\").plus({ days: 1 }).toRelative() //=> \"\"mañana\"\n * @example DateTime.now().plus({ days: 1 }).toRelativeCalendar({ locale: \"fr\" }) //=> \"demain\"\n * @example DateTime.now().minus({ days: 2 }).toRelativeCalendar() //=> \"2 days ago\"\n */\n toRelativeCalendar(options = {}) {\n if (!this.isValid) return null;\n\n return diffRelative(\n options.base || DateTime.fromObject({ zone: this.zone }),\n this,\n Object.assign(options, {\n numeric: \"auto\",\n units: [\"years\", \"months\", \"days\"],\n calendary: true\n })\n );\n }\n\n /**\n * Return the min of several date times\n * @param {...DateTime} dateTimes - the DateTimes from which to choose the minimum\n * @return {DateTime} the min DateTime, or undefined if called with no argument\n */\n static min(...dateTimes) {\n if (!dateTimes.every(DateTime.isDateTime)) {\n throw new InvalidArgumentError(\"min requires all arguments be DateTimes\");\n }\n return bestBy(dateTimes, i => i.valueOf(), Math.min);\n }\n\n /**\n * Return the max of several date times\n * @param {...DateTime} dateTimes - the DateTimes from which to choose the maximum\n * @return {DateTime} the max DateTime, or undefined if called with no argument\n */\n static max(...dateTimes) {\n if (!dateTimes.every(DateTime.isDateTime)) {\n throw new InvalidArgumentError(\"max requires all arguments be DateTimes\");\n }\n return bestBy(dateTimes, i => i.valueOf(), Math.max);\n }\n\n // MISC\n\n /**\n * Explain how a string would be parsed by fromFormat()\n * @param {string} text - the string to parse\n * @param {string} fmt - the format the string is expected to be in (see description)\n * @param {Object} options - options taken by fromFormat()\n * @return {Object}\n */\n static fromFormatExplain(text, fmt, options = {}) {\n const { locale = null, numberingSystem = null } = options,\n localeToUse = Locale.fromOpts({\n locale,\n numberingSystem,\n defaultToEN: true\n });\n return explainFromTokens(localeToUse, text, fmt);\n }\n\n /**\n * @deprecated use fromFormatExplain instead\n */\n static fromStringExplain(text, fmt, options = {}) {\n return DateTime.fromFormatExplain(text, fmt, options);\n }\n\n // FORMAT PRESETS\n\n /**\n * {@link toLocaleString} format like 10/14/1983\n * @type {Object}\n */\n static get DATE_SHORT() {\n return Formats.DATE_SHORT;\n }\n\n /**\n * {@link toLocaleString} format like 'Oct 14, 1983'\n * @type {Object}\n */\n static get DATE_MED() {\n return Formats.DATE_MED;\n }\n\n /**\n * {@link toLocaleString} format like 'Fri, Oct 14, 1983'\n * @type {Object}\n */\n static get DATE_MED_WITH_WEEKDAY() {\n return Formats.DATE_MED_WITH_WEEKDAY;\n }\n\n /**\n * {@link toLocaleString} format like 'October 14, 1983'\n * @type {Object}\n */\n static get DATE_FULL() {\n return Formats.DATE_FULL;\n }\n\n /**\n * {@link toLocaleString} format like 'Tuesday, October 14, 1983'\n * @type {Object}\n */\n static get DATE_HUGE() {\n return Formats.DATE_HUGE;\n }\n\n /**\n * {@link toLocaleString} format like '09:30 AM'. Only 12-hour if the locale is.\n * @type {Object}\n */\n static get TIME_SIMPLE() {\n return Formats.TIME_SIMPLE;\n }\n\n /**\n * {@link toLocaleString} format like '09:30:23 AM'. Only 12-hour if the locale is.\n * @type {Object}\n */\n static get TIME_WITH_SECONDS() {\n return Formats.TIME_WITH_SECONDS;\n }\n\n /**\n * {@link toLocaleString} format like '09:30:23 AM EDT'. Only 12-hour if the locale is.\n * @type {Object}\n */\n static get TIME_WITH_SHORT_OFFSET() {\n return Formats.TIME_WITH_SHORT_OFFSET;\n }\n\n /**\n * {@link toLocaleString} format like '09:30:23 AM Eastern Daylight Time'. Only 12-hour if the locale is.\n * @type {Object}\n */\n static get TIME_WITH_LONG_OFFSET() {\n return Formats.TIME_WITH_LONG_OFFSET;\n }\n\n /**\n * {@link toLocaleString} format like '09:30', always 24-hour.\n * @type {Object}\n */\n static get TIME_24_SIMPLE() {\n return Formats.TIME_24_SIMPLE;\n }\n\n /**\n * {@link toLocaleString} format like '09:30:23', always 24-hour.\n * @type {Object}\n */\n static get TIME_24_WITH_SECONDS() {\n return Formats.TIME_24_WITH_SECONDS;\n }\n\n /**\n * {@link toLocaleString} format like '09:30:23 EDT', always 24-hour.\n * @type {Object}\n */\n static get TIME_24_WITH_SHORT_OFFSET() {\n return Formats.TIME_24_WITH_SHORT_OFFSET;\n }\n\n /**\n * {@link toLocaleString} format like '09:30:23 Eastern Daylight Time', always 24-hour.\n * @type {Object}\n */\n static get TIME_24_WITH_LONG_OFFSET() {\n return Formats.TIME_24_WITH_LONG_OFFSET;\n }\n\n /**\n * {@link toLocaleString} format like '10/14/1983, 9:30 AM'. Only 12-hour if the locale is.\n * @type {Object}\n */\n static get DATETIME_SHORT() {\n return Formats.DATETIME_SHORT;\n }\n\n /**\n * {@link toLocaleString} format like '10/14/1983, 9:30:33 AM'. Only 12-hour if the locale is.\n * @type {Object}\n */\n static get DATETIME_SHORT_WITH_SECONDS() {\n return Formats.DATETIME_SHORT_WITH_SECONDS;\n }\n\n /**\n * {@link toLocaleString} format like 'Oct 14, 1983, 9:30 AM'. Only 12-hour if the locale is.\n * @type {Object}\n */\n static get DATETIME_MED() {\n return Formats.DATETIME_MED;\n }\n\n /**\n * {@link toLocaleString} format like 'Oct 14, 1983, 9:30:33 AM'. Only 12-hour if the locale is.\n * @type {Object}\n */\n static get DATETIME_MED_WITH_SECONDS() {\n return Formats.DATETIME_MED_WITH_SECONDS;\n }\n\n /**\n * {@link toLocaleString} format like 'Fri, 14 Oct 1983, 9:30 AM'. Only 12-hour if the locale is.\n * @type {Object}\n */\n static get DATETIME_MED_WITH_WEEKDAY() {\n return Formats.DATETIME_MED_WITH_WEEKDAY;\n }\n\n /**\n * {@link toLocaleString} format like 'October 14, 1983, 9:30 AM EDT'. Only 12-hour if the locale is.\n * @type {Object}\n */\n static get DATETIME_FULL() {\n return Formats.DATETIME_FULL;\n }\n\n /**\n * {@link toLocaleString} format like 'October 14, 1983, 9:30:33 AM EDT'. Only 12-hour if the locale is.\n * @type {Object}\n */\n static get DATETIME_FULL_WITH_SECONDS() {\n return Formats.DATETIME_FULL_WITH_SECONDS;\n }\n\n /**\n * {@link toLocaleString} format like 'Friday, October 14, 1983, 9:30 AM Eastern Daylight Time'. Only 12-hour if the locale is.\n * @type {Object}\n */\n static get DATETIME_HUGE() {\n return Formats.DATETIME_HUGE;\n }\n\n /**\n * {@link toLocaleString} format like 'Friday, October 14, 1983, 9:30:33 AM Eastern Daylight Time'. Only 12-hour if the locale is.\n * @type {Object}\n */\n static get DATETIME_HUGE_WITH_SECONDS() {\n return Formats.DATETIME_HUGE_WITH_SECONDS;\n }\n}\n\n/**\n * @private\n */\nexport function friendlyDateTime(dateTimeish) {\n if (DateTime.isDateTime(dateTimeish)) {\n return dateTimeish;\n } else if (dateTimeish && dateTimeish.valueOf && isNumber(dateTimeish.valueOf())) {\n return DateTime.fromJSDate(dateTimeish);\n } else if (dateTimeish && typeof dateTimeish === \"object\") {\n return DateTime.fromObject(dateTimeish);\n } else {\n throw new InvalidArgumentError(\n `Unknown datetime argument: ${dateTimeish}, of type ${typeof dateTimeish}`\n );\n }\n}\n","var moment = module.exports = require(\"./moment-timezone\");\nmoment.tz.load(require('./data/packed/latest.json'));\n","//! moment-timezone.js\n//! version : 0.5.45\n//! Copyright (c) JS Foundation and other contributors\n//! license : MIT\n//! github.com/moment/moment-timezone\n\n(function (root, factory) {\n\t\"use strict\";\n\n\t/*global define*/\n\tif (typeof module === 'object' && module.exports) {\n\t\tmodule.exports = factory(require('moment')); // Node\n\t} else if (typeof define === 'function' && define.amd) {\n\t\tdefine(['moment'], factory); // AMD\n\t} else {\n\t\tfactory(root.moment); // Browser\n\t}\n}(this, function (moment) {\n\t\"use strict\";\n\n\t// Resolves es6 module loading issue\n\tif (moment.version === undefined && moment.default) {\n\t\tmoment = moment.default;\n\t}\n\n\t// Do not load moment-timezone a second time.\n\t// if (moment.tz !== undefined) {\n\t// \tlogError('Moment Timezone ' + moment.tz.version + ' was already loaded ' + (moment.tz.dataVersion ? 'with data from ' : 'without any data') + moment.tz.dataVersion);\n\t// \treturn moment;\n\t// }\n\n\tvar VERSION = \"0.5.45\",\n\t\tzones = {},\n\t\tlinks = {},\n\t\tcountries = {},\n\t\tnames = {},\n\t\tguesses = {},\n\t\tcachedGuess;\n\n\tif (!moment || typeof moment.version !== 'string') {\n\t\tlogError('Moment Timezone requires Moment.js. See https://momentjs.com/timezone/docs/#/use-it/browser/');\n\t}\n\n\tvar momentVersion = moment.version.split('.'),\n\t\tmajor = +momentVersion[0],\n\t\tminor = +momentVersion[1];\n\n\t// Moment.js version check\n\tif (major < 2 || (major === 2 && minor < 6)) {\n\t\tlogError('Moment Timezone requires Moment.js >= 2.6.0. You are using Moment.js ' + moment.version + '. See momentjs.com');\n\t}\n\n\t/************************************\n\t\tUnpacking\n\t************************************/\n\n\tfunction charCodeToInt(charCode) {\n\t\tif (charCode > 96) {\n\t\t\treturn charCode - 87;\n\t\t} else if (charCode > 64) {\n\t\t\treturn charCode - 29;\n\t\t}\n\t\treturn charCode - 48;\n\t}\n\n\tfunction unpackBase60(string) {\n\t\tvar i = 0,\n\t\t\tparts = string.split('.'),\n\t\t\twhole = parts[0],\n\t\t\tfractional = parts[1] || '',\n\t\t\tmultiplier = 1,\n\t\t\tnum,\n\t\t\tout = 0,\n\t\t\tsign = 1;\n\n\t\t// handle negative numbers\n\t\tif (string.charCodeAt(0) === 45) {\n\t\t\ti = 1;\n\t\t\tsign = -1;\n\t\t}\n\n\t\t// handle digits before the decimal\n\t\tfor (i; i < whole.length; i++) {\n\t\t\tnum = charCodeToInt(whole.charCodeAt(i));\n\t\t\tout = 60 * out + num;\n\t\t}\n\n\t\t// handle digits after the decimal\n\t\tfor (i = 0; i < fractional.length; i++) {\n\t\t\tmultiplier = multiplier / 60;\n\t\t\tnum = charCodeToInt(fractional.charCodeAt(i));\n\t\t\tout += num * multiplier;\n\t\t}\n\n\t\treturn out * sign;\n\t}\n\n\tfunction arrayToInt (array) {\n\t\tfor (var i = 0; i < array.length; i++) {\n\t\t\tarray[i] = unpackBase60(array[i]);\n\t\t}\n\t}\n\n\tfunction intToUntil (array, length) {\n\t\tfor (var i = 0; i < length; i++) {\n\t\t\tarray[i] = Math.round((array[i - 1] || 0) + (array[i] * 60000)); // minutes to milliseconds\n\t\t}\n\n\t\tarray[length - 1] = Infinity;\n\t}\n\n\tfunction mapIndices (source, indices) {\n\t\tvar out = [], i;\n\n\t\tfor (i = 0; i < indices.length; i++) {\n\t\t\tout[i] = source[indices[i]];\n\t\t}\n\n\t\treturn out;\n\t}\n\n\tfunction unpack (string) {\n\t\tvar data = string.split('|'),\n\t\t\toffsets = data[2].split(' '),\n\t\t\tindices = data[3].split(''),\n\t\t\tuntils = data[4].split(' ');\n\n\t\tarrayToInt(offsets);\n\t\tarrayToInt(indices);\n\t\tarrayToInt(untils);\n\n\t\tintToUntil(untils, indices.length);\n\n\t\treturn {\n\t\t\tname : data[0],\n\t\t\tabbrs : mapIndices(data[1].split(' '), indices),\n\t\t\toffsets : mapIndices(offsets, indices),\n\t\t\tuntils : untils,\n\t\t\tpopulation : data[5] | 0\n\t\t};\n\t}\n\n\t/************************************\n\t\tZone object\n\t************************************/\n\n\tfunction Zone (packedString) {\n\t\tif (packedString) {\n\t\t\tthis._set(unpack(packedString));\n\t\t}\n\t}\n\n\tfunction closest (num, arr) {\n\t\tvar len = arr.length;\n\t\tif (num < arr[0]) {\n\t\t\treturn 0;\n\t\t} else if (len > 1 && arr[len - 1] === Infinity && num >= arr[len - 2]) {\n\t\t\treturn len - 1;\n\t\t} else if (num >= arr[len - 1]) {\n\t\t\treturn -1;\n\t\t}\n\n\t\tvar mid;\n\t\tvar lo = 0;\n\t\tvar hi = len - 1;\n\t\twhile (hi - lo > 1) {\n\t\t\tmid = Math.floor((lo + hi) / 2);\n\t\t\tif (arr[mid] <= num) {\n\t\t\t\tlo = mid;\n\t\t\t} else {\n\t\t\t\thi = mid;\n\t\t\t}\n\t\t}\n\t\treturn hi;\n\t}\n\n\tZone.prototype = {\n\t\t_set : function (unpacked) {\n\t\t\tthis.name = unpacked.name;\n\t\t\tthis.abbrs = unpacked.abbrs;\n\t\t\tthis.untils = unpacked.untils;\n\t\t\tthis.offsets = unpacked.offsets;\n\t\t\tthis.population = unpacked.population;\n\t\t},\n\n\t\t_index : function (timestamp) {\n\t\t\tvar target = +timestamp,\n\t\t\t\tuntils = this.untils,\n\t\t\t\ti;\n\n\t\t\ti = closest(target, untils);\n\t\t\tif (i >= 0) {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t},\n\n\t\tcountries : function () {\n\t\t\tvar zone_name = this.name;\n\t\t\treturn Object.keys(countries).filter(function (country_code) {\n\t\t\t\treturn countries[country_code].zones.indexOf(zone_name) !== -1;\n\t\t\t});\n\t\t},\n\n\t\tparse : function (timestamp) {\n\t\t\tvar target = +timestamp,\n\t\t\t\toffsets = this.offsets,\n\t\t\t\tuntils = this.untils,\n\t\t\t\tmax = untils.length - 1,\n\t\t\t\toffset, offsetNext, offsetPrev, i;\n\n\t\t\tfor (i = 0; i < max; i++) {\n\t\t\t\toffset = offsets[i];\n\t\t\t\toffsetNext = offsets[i + 1];\n\t\t\t\toffsetPrev = offsets[i ? i - 1 : i];\n\n\t\t\t\tif (offset < offsetNext && tz.moveAmbiguousForward) {\n\t\t\t\t\toffset = offsetNext;\n\t\t\t\t} else if (offset > offsetPrev && tz.moveInvalidForward) {\n\t\t\t\t\toffset = offsetPrev;\n\t\t\t\t}\n\n\t\t\t\tif (target < untils[i] - (offset * 60000)) {\n\t\t\t\t\treturn offsets[i];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn offsets[max];\n\t\t},\n\n\t\tabbr : function (mom) {\n\t\t\treturn this.abbrs[this._index(mom)];\n\t\t},\n\n\t\toffset : function (mom) {\n\t\t\tlogError(\"zone.offset has been deprecated in favor of zone.utcOffset\");\n\t\t\treturn this.offsets[this._index(mom)];\n\t\t},\n\n\t\tutcOffset : function (mom) {\n\t\t\treturn this.offsets[this._index(mom)];\n\t\t}\n\t};\n\n\t/************************************\n\t\tCountry object\n\t************************************/\n\n\tfunction Country (country_name, zone_names) {\n\t\tthis.name = country_name;\n\t\tthis.zones = zone_names;\n\t}\n\n\t/************************************\n\t\tCurrent Timezone\n\t************************************/\n\n\tfunction OffsetAt(at) {\n\t\tvar timeString = at.toTimeString();\n\t\tvar abbr = timeString.match(/\\([a-z ]+\\)/i);\n\t\tif (abbr && abbr[0]) {\n\t\t\t// 17:56:31 GMT-0600 (CST)\n\t\t\t// 17:56:31 GMT-0600 (Central Standard Time)\n\t\t\tabbr = abbr[0].match(/[A-Z]/g);\n\t\t\tabbr = abbr ? abbr.join('') : undefined;\n\t\t} else {\n\t\t\t// 17:56:31 CST\n\t\t\t// 17:56:31 GMT+0800 (台北標準時間)\n\t\t\tabbr = timeString.match(/[A-Z]{3,5}/g);\n\t\t\tabbr = abbr ? abbr[0] : undefined;\n\t\t}\n\n\t\tif (abbr === 'GMT') {\n\t\t\tabbr = undefined;\n\t\t}\n\n\t\tthis.at = +at;\n\t\tthis.abbr = abbr;\n\t\tthis.offset = at.getTimezoneOffset();\n\t}\n\n\tfunction ZoneScore(zone) {\n\t\tthis.zone = zone;\n\t\tthis.offsetScore = 0;\n\t\tthis.abbrScore = 0;\n\t}\n\n\tZoneScore.prototype.scoreOffsetAt = function (offsetAt) {\n\t\tthis.offsetScore += Math.abs(this.zone.utcOffset(offsetAt.at) - offsetAt.offset);\n\t\tif (this.zone.abbr(offsetAt.at).replace(/[^A-Z]/g, '') !== offsetAt.abbr) {\n\t\t\tthis.abbrScore++;\n\t\t}\n\t};\n\n\tfunction findChange(low, high) {\n\t\tvar mid, diff;\n\n\t\twhile ((diff = ((high.at - low.at) / 12e4 | 0) * 6e4)) {\n\t\t\tmid = new OffsetAt(new Date(low.at + diff));\n\t\t\tif (mid.offset === low.offset) {\n\t\t\t\tlow = mid;\n\t\t\t} else {\n\t\t\t\thigh = mid;\n\t\t\t}\n\t\t}\n\n\t\treturn low;\n\t}\n\n\tfunction userOffsets() {\n\t\tvar startYear = new Date().getFullYear() - 2,\n\t\t\tlast = new OffsetAt(new Date(startYear, 0, 1)),\n\t\t\tlastOffset = last.offset,\n\t\t\toffsets = [last],\n\t\t\tchange, next, nextOffset, i;\n\n\t\tfor (i = 1; i < 48; i++) {\n\t\t\tnextOffset = new Date(startYear, i, 1).getTimezoneOffset();\n\t\t\tif (nextOffset !== lastOffset) {\n\t\t\t\t// Create OffsetAt here to avoid unnecessary abbr parsing before checking offsets\n\t\t\t\tnext = new OffsetAt(new Date(startYear, i, 1));\n\t\t\t\tchange = findChange(last, next);\n\t\t\t\toffsets.push(change);\n\t\t\t\toffsets.push(new OffsetAt(new Date(change.at + 6e4)));\n\t\t\t\tlast = next;\n\t\t\t\tlastOffset = nextOffset;\n\t\t\t}\n\t\t}\n\n\t\tfor (i = 0; i < 4; i++) {\n\t\t\toffsets.push(new OffsetAt(new Date(startYear + i, 0, 1)));\n\t\t\toffsets.push(new OffsetAt(new Date(startYear + i, 6, 1)));\n\t\t}\n\n\t\treturn offsets;\n\t}\n\n\tfunction sortZoneScores (a, b) {\n\t\tif (a.offsetScore !== b.offsetScore) {\n\t\t\treturn a.offsetScore - b.offsetScore;\n\t\t}\n\t\tif (a.abbrScore !== b.abbrScore) {\n\t\t\treturn a.abbrScore - b.abbrScore;\n\t\t}\n\t\tif (a.zone.population !== b.zone.population) {\n\t\t\treturn b.zone.population - a.zone.population;\n\t\t}\n\t\treturn b.zone.name.localeCompare(a.zone.name);\n\t}\n\n\tfunction addToGuesses (name, offsets) {\n\t\tvar i, offset;\n\t\tarrayToInt(offsets);\n\t\tfor (i = 0; i < offsets.length; i++) {\n\t\t\toffset = offsets[i];\n\t\t\tguesses[offset] = guesses[offset] || {};\n\t\t\tguesses[offset][name] = true;\n\t\t}\n\t}\n\n\tfunction guessesForUserOffsets (offsets) {\n\t\tvar offsetsLength = offsets.length,\n\t\t\tfilteredGuesses = {},\n\t\t\tout = [],\n\t\t\tcheckedOffsets = {},\n\t\t\ti, j, offset, guessesOffset;\n\n\t\tfor (i = 0; i < offsetsLength; i++) {\n\t\t\toffset = offsets[i].offset;\n\t\t\tif (checkedOffsets.hasOwnProperty(offset)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tguessesOffset = guesses[offset] || {};\n\t\t\tfor (j in guessesOffset) {\n\t\t\t\tif (guessesOffset.hasOwnProperty(j)) {\n\t\t\t\t\tfilteredGuesses[j] = true;\n\t\t\t\t}\n\t\t\t}\n\t\t\tcheckedOffsets[offset] = true;\n\t\t}\n\n\t\tfor (i in filteredGuesses) {\n\t\t\tif (filteredGuesses.hasOwnProperty(i)) {\n\t\t\t\tout.push(names[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn out;\n\t}\n\n\tfunction rebuildGuess () {\n\n\t\t// use Intl API when available and returning valid time zone\n\t\ttry {\n\t\t\tvar intlName = Intl.DateTimeFormat().resolvedOptions().timeZone;\n\t\t\tif (intlName && intlName.length > 3) {\n\t\t\t\tvar name = names[normalizeName(intlName)];\n\t\t\t\tif (name) {\n\t\t\t\t\treturn name;\n\t\t\t\t}\n\t\t\t\tlogError(\"Moment Timezone found \" + intlName + \" from the Intl api, but did not have that data loaded.\");\n\t\t\t}\n\t\t} catch (e) {\n\t\t\t// Intl unavailable, fall back to manual guessing.\n\t\t}\n\n\t\tvar offsets = userOffsets(),\n\t\t\toffsetsLength = offsets.length,\n\t\t\tguesses = guessesForUserOffsets(offsets),\n\t\t\tzoneScores = [],\n\t\t\tzoneScore, i, j;\n\n\t\tfor (i = 0; i < guesses.length; i++) {\n\t\t\tzoneScore = new ZoneScore(getZone(guesses[i]), offsetsLength);\n\t\t\tfor (j = 0; j < offsetsLength; j++) {\n\t\t\t\tzoneScore.scoreOffsetAt(offsets[j]);\n\t\t\t}\n\t\t\tzoneScores.push(zoneScore);\n\t\t}\n\n\t\tzoneScores.sort(sortZoneScores);\n\n\t\treturn zoneScores.length > 0 ? zoneScores[0].zone.name : undefined;\n\t}\n\n\tfunction guess (ignoreCache) {\n\t\tif (!cachedGuess || ignoreCache) {\n\t\t\tcachedGuess = rebuildGuess();\n\t\t}\n\t\treturn cachedGuess;\n\t}\n\n\t/************************************\n\t\tGlobal Methods\n\t************************************/\n\n\tfunction normalizeName (name) {\n\t\treturn (name || '').toLowerCase().replace(/\\//g, '_');\n\t}\n\n\tfunction addZone (packed) {\n\t\tvar i, name, split, normalized;\n\n\t\tif (typeof packed === \"string\") {\n\t\t\tpacked = [packed];\n\t\t}\n\n\t\tfor (i = 0; i < packed.length; i++) {\n\t\t\tsplit = packed[i].split('|');\n\t\t\tname = split[0];\n\t\t\tnormalized = normalizeName(name);\n\t\t\tzones[normalized] = packed[i];\n\t\t\tnames[normalized] = name;\n\t\t\taddToGuesses(normalized, split[2].split(' '));\n\t\t}\n\t}\n\n\tfunction getZone (name, caller) {\n\n\t\tname = normalizeName(name);\n\n\t\tvar zone = zones[name];\n\t\tvar link;\n\n\t\tif (zone instanceof Zone) {\n\t\t\treturn zone;\n\t\t}\n\n\t\tif (typeof zone === 'string') {\n\t\t\tzone = new Zone(zone);\n\t\t\tzones[name] = zone;\n\t\t\treturn zone;\n\t\t}\n\n\t\t// Pass getZone to prevent recursion more than 1 level deep\n\t\tif (links[name] && caller !== getZone && (link = getZone(links[name], getZone))) {\n\t\t\tzone = zones[name] = new Zone();\n\t\t\tzone._set(link);\n\t\t\tzone.name = names[name];\n\t\t\treturn zone;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tfunction getNames () {\n\t\tvar i, out = [];\n\n\t\tfor (i in names) {\n\t\t\tif (names.hasOwnProperty(i) && (zones[i] || zones[links[i]]) && names[i]) {\n\t\t\t\tout.push(names[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn out.sort();\n\t}\n\n\tfunction getCountryNames () {\n\t\treturn Object.keys(countries);\n\t}\n\n\tfunction addLink (aliases) {\n\t\tvar i, alias, normal0, normal1;\n\n\t\tif (typeof aliases === \"string\") {\n\t\t\taliases = [aliases];\n\t\t}\n\n\t\tfor (i = 0; i < aliases.length; i++) {\n\t\t\talias = aliases[i].split('|');\n\n\t\t\tnormal0 = normalizeName(alias[0]);\n\t\t\tnormal1 = normalizeName(alias[1]);\n\n\t\t\tlinks[normal0] = normal1;\n\t\t\tnames[normal0] = alias[0];\n\n\t\t\tlinks[normal1] = normal0;\n\t\t\tnames[normal1] = alias[1];\n\t\t}\n\t}\n\n\tfunction addCountries (data) {\n\t\tvar i, country_code, country_zones, split;\n\t\tif (!data || !data.length) return;\n\t\tfor (i = 0; i < data.length; i++) {\n\t\t\tsplit = data[i].split('|');\n\t\t\tcountry_code = split[0].toUpperCase();\n\t\t\tcountry_zones = split[1].split(' ');\n\t\t\tcountries[country_code] = new Country(\n\t\t\t\tcountry_code,\n\t\t\t\tcountry_zones\n\t\t\t);\n\t\t}\n\t}\n\n\tfunction getCountry (name) {\n\t\tname = name.toUpperCase();\n\t\treturn countries[name] || null;\n\t}\n\n\tfunction zonesForCountry(country, with_offset) {\n\t\tcountry = getCountry(country);\n\n\t\tif (!country) return null;\n\n\t\tvar zones = country.zones.sort();\n\n\t\tif (with_offset) {\n\t\t\treturn zones.map(function (zone_name) {\n\t\t\t\tvar zone = getZone(zone_name);\n\t\t\t\treturn {\n\t\t\t\t\tname: zone_name,\n\t\t\t\t\toffset: zone.utcOffset(new Date())\n\t\t\t\t};\n\t\t\t});\n\t\t}\n\n\t\treturn zones;\n\t}\n\n\tfunction loadData (data) {\n\t\taddZone(data.zones);\n\t\taddLink(data.links);\n\t\taddCountries(data.countries);\n\t\ttz.dataVersion = data.version;\n\t}\n\n\tfunction zoneExists (name) {\n\t\tif (!zoneExists.didShowError) {\n\t\t\tzoneExists.didShowError = true;\n\t\t\t\tlogError(\"moment.tz.zoneExists('\" + name + \"') has been deprecated in favor of !moment.tz.zone('\" + name + \"')\");\n\t\t}\n\t\treturn !!getZone(name);\n\t}\n\n\tfunction needsOffset (m) {\n\t\tvar isUnixTimestamp = (m._f === 'X' || m._f === 'x');\n\t\treturn !!(m._a && (m._tzm === undefined) && !isUnixTimestamp);\n\t}\n\n\tfunction logError (message) {\n\t\tif (typeof console !== 'undefined' && typeof console.error === 'function') {\n\t\t\tconsole.error(message);\n\t\t}\n\t}\n\n\t/************************************\n\t\tmoment.tz namespace\n\t************************************/\n\n\tfunction tz (input) {\n\t\tvar args = Array.prototype.slice.call(arguments, 0, -1),\n\t\t\tname = arguments[arguments.length - 1],\n\t\t\tout = moment.utc.apply(null, args),\n\t\t\tzone;\n\n\t\tif (!moment.isMoment(input) && needsOffset(out) && (zone = getZone(name))) {\n\t\t\tout.add(zone.parse(out), 'minutes');\n\t\t}\n\n\t\tout.tz(name);\n\n\t\treturn out;\n\t}\n\n\ttz.version = VERSION;\n\ttz.dataVersion = '';\n\ttz._zones = zones;\n\ttz._links = links;\n\ttz._names = names;\n\ttz._countries\t= countries;\n\ttz.add = addZone;\n\ttz.link = addLink;\n\ttz.load = loadData;\n\ttz.zone = getZone;\n\ttz.zoneExists = zoneExists; // deprecated in 0.1.0\n\ttz.guess = guess;\n\ttz.names = getNames;\n\ttz.Zone = Zone;\n\ttz.unpack = unpack;\n\ttz.unpackBase60 = unpackBase60;\n\ttz.needsOffset = needsOffset;\n\ttz.moveInvalidForward = true;\n\ttz.moveAmbiguousForward = false;\n\ttz.countries = getCountryNames;\n\ttz.zonesForCountry = zonesForCountry;\n\n\t/************************************\n\t\tInterface with Moment.js\n\t************************************/\n\n\tvar fn = moment.fn;\n\n\tmoment.tz = tz;\n\n\tmoment.defaultZone = null;\n\n\tmoment.updateOffset = function (mom, keepTime) {\n\t\tvar zone = moment.defaultZone,\n\t\t\toffset;\n\n\t\tif (mom._z === undefined) {\n\t\t\tif (zone && needsOffset(mom) && !mom._isUTC && mom.isValid()) {\n\t\t\t\tmom._d = moment.utc(mom._a)._d;\n\t\t\t\tmom.utc().add(zone.parse(mom), 'minutes');\n\t\t\t}\n\t\t\tmom._z = zone;\n\t\t}\n\t\tif (mom._z) {\n\t\t\toffset = mom._z.utcOffset(mom);\n\t\t\tif (Math.abs(offset) < 16) {\n\t\t\t\toffset = offset / 60;\n\t\t\t}\n\t\t\tif (mom.utcOffset !== undefined) {\n\t\t\t\tvar z = mom._z;\n\t\t\t\tmom.utcOffset(-offset, keepTime);\n\t\t\t\tmom._z = z;\n\t\t\t} else {\n\t\t\t\tmom.zone(offset, keepTime);\n\t\t\t}\n\t\t}\n\t};\n\n\tfn.tz = function (name, keepTime) {\n\t\tif (name) {\n\t\t\tif (typeof name !== 'string') {\n\t\t\t\tthrow new Error('Time zone name must be a string, got ' + name + ' [' + typeof name + ']');\n\t\t\t}\n\t\t\tthis._z = getZone(name);\n\t\t\tif (this._z) {\n\t\t\t\tmoment.updateOffset(this, keepTime);\n\t\t\t} else {\n\t\t\t\tlogError(\"Moment Timezone has no data for \" + name + \". See http://momentjs.com/timezone/docs/#/data-loading/.\");\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t\tif (this._z) { return this._z.name; }\n\t};\n\n\tfunction abbrWrap (old) {\n\t\treturn function () {\n\t\t\tif (this._z) { return this._z.abbr(this); }\n\t\t\treturn old.call(this);\n\t\t};\n\t}\n\n\tfunction resetZoneWrap (old) {\n\t\treturn function () {\n\t\t\tthis._z = null;\n\t\t\treturn old.apply(this, arguments);\n\t\t};\n\t}\n\n\tfunction resetZoneWrap2 (old) {\n\t\treturn function () {\n\t\t\tif (arguments.length > 0) this._z = null;\n\t\t\treturn old.apply(this, arguments);\n\t\t};\n\t}\n\n\tfn.zoneName = abbrWrap(fn.zoneName);\n\tfn.zoneAbbr = abbrWrap(fn.zoneAbbr);\n\tfn.utc = resetZoneWrap(fn.utc);\n\tfn.local = resetZoneWrap(fn.local);\n\tfn.utcOffset = resetZoneWrap2(fn.utcOffset);\n\n\tmoment.tz.setDefault = function(name) {\n\t\tif (major < 2 || (major === 2 && minor < 9)) {\n\t\t\tlogError('Moment Timezone setDefault() requires Moment.js >= 2.9.0. You are using Moment.js ' + moment.version + '.');\n\t\t}\n\t\tmoment.defaultZone = name ? getZone(name) : null;\n\t\treturn moment;\n\t};\n\n\t// Cloning a moment should include the _z property.\n\tvar momentProperties = moment.momentProperties;\n\tif (Object.prototype.toString.call(momentProperties) === '[object Array]') {\n\t\t// moment 2.8.1+\n\t\tmomentProperties.push('_z');\n\t\tmomentProperties.push('_a');\n\t} else if (momentProperties) {\n\t\t// moment 2.7.0\n\t\tmomentProperties._z = null;\n\t}\n\n\t// INJECT DATA\n\n\treturn moment;\n}));\n","//! moment.js\n//! version : 2.30.1\n//! authors : Tim Wood, Iskren Chernev, Moment.js contributors\n//! license : MIT\n//! momentjs.com\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n global.moment = factory()\n}(this, (function () { 'use strict';\n\n var hookCallback;\n\n function hooks() {\n return hookCallback.apply(null, arguments);\n }\n\n // This is done to register the method called with moment()\n // without creating circular dependencies.\n function setHookCallback(callback) {\n hookCallback = callback;\n }\n\n function isArray(input) {\n return (\n input instanceof Array ||\n Object.prototype.toString.call(input) === '[object Array]'\n );\n }\n\n function isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return (\n input != null &&\n Object.prototype.toString.call(input) === '[object Object]'\n );\n }\n\n function hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n }\n\n function isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return Object.getOwnPropertyNames(obj).length === 0;\n } else {\n var k;\n for (k in obj) {\n if (hasOwnProp(obj, k)) {\n return false;\n }\n }\n return true;\n }\n }\n\n function isUndefined(input) {\n return input === void 0;\n }\n\n function isNumber(input) {\n return (\n typeof input === 'number' ||\n Object.prototype.toString.call(input) === '[object Number]'\n );\n }\n\n function isDate(input) {\n return (\n input instanceof Date ||\n Object.prototype.toString.call(input) === '[object Date]'\n );\n }\n\n function map(arr, fn) {\n var res = [],\n i,\n arrLen = arr.length;\n for (i = 0; i < arrLen; ++i) {\n res.push(fn(arr[i], i));\n }\n return res;\n }\n\n function extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n }\n\n function createUTC(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n }\n\n function defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty: false,\n unusedTokens: [],\n unusedInput: [],\n overflow: -2,\n charsLeftOver: 0,\n nullInput: false,\n invalidEra: null,\n invalidMonth: null,\n invalidFormat: false,\n userInvalidated: false,\n iso: false,\n parsedDateParts: [],\n era: null,\n meridiem: null,\n rfc2822: false,\n weekdayMismatch: false,\n };\n }\n\n function getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n }\n\n var some;\n if (Array.prototype.some) {\n some = Array.prototype.some;\n } else {\n some = function (fun) {\n var t = Object(this),\n len = t.length >>> 0,\n i;\n\n for (i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n function isValid(m) {\n var flags = null,\n parsedParts = false,\n isNowValid = m._d && !isNaN(m._d.getTime());\n if (isNowValid) {\n flags = getParsingFlags(m);\n parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n });\n isNowValid =\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidEra &&\n !flags.invalidMonth &&\n !flags.invalidWeekday &&\n !flags.weekdayMismatch &&\n !flags.nullInput &&\n !flags.invalidFormat &&\n !flags.userInvalidated &&\n (!flags.meridiem || (flags.meridiem && parsedParts));\n if (m._strict) {\n isNowValid =\n isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n }\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n } else {\n return isNowValid;\n }\n return m._isValid;\n }\n\n function createInvalid(flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n } else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n }\n\n // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n var momentProperties = (hooks.momentProperties = []),\n updateInProgress = false;\n\n function copyConfig(to, from) {\n var i,\n prop,\n val,\n momentPropertiesLen = momentProperties.length;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentPropertiesLen > 0) {\n for (i = 0; i < momentPropertiesLen; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n }\n\n // Moment prototype object\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment(obj) {\n return (\n obj instanceof Moment || (obj != null && obj._isAMomentObject != null)\n );\n }\n\n function warn(msg) {\n if (\n hooks.suppressDeprecationWarnings === false &&\n typeof console !== 'undefined' &&\n console.warn\n ) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [],\n arg,\n i,\n key,\n argLen = arguments.length;\n for (i = 0; i < argLen; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (key in arguments[0]) {\n if (hasOwnProp(arguments[0], key)) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(\n msg +\n '\\nArguments: ' +\n Array.prototype.slice.call(args).join('') +\n '\\n' +\n new Error().stack\n );\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n }\n\n var deprecations = {};\n\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n\n function isFunction(input) {\n return (\n (typeof Function !== 'undefined' && input instanceof Function) ||\n Object.prototype.toString.call(input) === '[object Function]'\n );\n }\n\n function set(config) {\n var prop, i;\n for (i in config) {\n if (hasOwnProp(config, i)) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n this._dayOfMonthOrdinalParseLenient = new RegExp(\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n '|' +\n /\\d{1,2}/.source\n );\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig),\n prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (\n hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])\n ) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n }\n\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n\n var keys;\n\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function (obj) {\n var i,\n res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n }\n\n var defaultCalendar = {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n };\n\n function calendar(key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (\n (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) +\n absNumber\n );\n }\n\n var formattingTokens =\n /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,\n localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,\n formatFunctions = {},\n formatTokenFunctions = {};\n\n // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n function addFormatToken(token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(\n func.apply(this, arguments),\n token\n );\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n }\n\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens),\n i,\n length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '',\n i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i])\n ? array[i].call(mom, format)\n : array[i];\n }\n return output;\n };\n }\n\n // format date using native date object\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] =\n formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n }\n\n function expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(\n localFormattingTokens,\n replaceLongDateFormatTokens\n );\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n }\n\n var defaultLongDateFormat = {\n LTS: 'h:mm:ss A',\n LT: 'h:mm A',\n L: 'MM/DD/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A',\n };\n\n function longDateFormat(key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper\n .match(formattingTokens)\n .map(function (tok) {\n if (\n tok === 'MMMM' ||\n tok === 'MM' ||\n tok === 'DD' ||\n tok === 'dddd'\n ) {\n return tok.slice(1);\n }\n return tok;\n })\n .join('');\n\n return this._longDateFormat[key];\n }\n\n var defaultInvalidDate = 'Invalid date';\n\n function invalidDate() {\n return this._invalidDate;\n }\n\n var defaultOrdinal = '%d',\n defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n function ordinal(number) {\n return this._ordinal.replace('%d', number);\n }\n\n var defaultRelativeTime = {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n w: 'a week',\n ww: '%d weeks',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n };\n\n function relativeTime(number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return isFunction(output)\n ? output(number, withoutSuffix, string, isFuture)\n : output.replace(/%d/i, number);\n }\n\n function pastFuture(diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n var aliases = {\n D: 'date',\n dates: 'date',\n date: 'date',\n d: 'day',\n days: 'day',\n day: 'day',\n e: 'weekday',\n weekdays: 'weekday',\n weekday: 'weekday',\n E: 'isoWeekday',\n isoweekdays: 'isoWeekday',\n isoweekday: 'isoWeekday',\n DDD: 'dayOfYear',\n dayofyears: 'dayOfYear',\n dayofyear: 'dayOfYear',\n h: 'hour',\n hours: 'hour',\n hour: 'hour',\n ms: 'millisecond',\n milliseconds: 'millisecond',\n millisecond: 'millisecond',\n m: 'minute',\n minutes: 'minute',\n minute: 'minute',\n M: 'month',\n months: 'month',\n month: 'month',\n Q: 'quarter',\n quarters: 'quarter',\n quarter: 'quarter',\n s: 'second',\n seconds: 'second',\n second: 'second',\n gg: 'weekYear',\n weekyears: 'weekYear',\n weekyear: 'weekYear',\n GG: 'isoWeekYear',\n isoweekyears: 'isoWeekYear',\n isoweekyear: 'isoWeekYear',\n w: 'week',\n weeks: 'week',\n week: 'week',\n W: 'isoWeek',\n isoweeks: 'isoWeek',\n isoweek: 'isoWeek',\n y: 'year',\n years: 'year',\n year: 'year',\n };\n\n function normalizeUnits(units) {\n return typeof units === 'string'\n ? aliases[units] || aliases[units.toLowerCase()]\n : undefined;\n }\n\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n var priorities = {\n date: 9,\n day: 11,\n weekday: 11,\n isoWeekday: 11,\n dayOfYear: 4,\n hour: 13,\n millisecond: 16,\n minute: 14,\n month: 8,\n quarter: 7,\n second: 15,\n weekYear: 1,\n isoWeekYear: 1,\n week: 5,\n isoWeek: 5,\n year: 1,\n };\n\n function getPrioritizedUnits(unitsObj) {\n var units = [],\n u;\n for (u in unitsObj) {\n if (hasOwnProp(unitsObj, u)) {\n units.push({ unit: u, priority: priorities[u] });\n }\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n var match1 = /\\d/, // 0 - 9\n match2 = /\\d\\d/, // 00 - 99\n match3 = /\\d{3}/, // 000 - 999\n match4 = /\\d{4}/, // 0000 - 9999\n match6 = /[+-]?\\d{6}/, // -999999 - 999999\n match1to2 = /\\d\\d?/, // 0 - 99\n match3to4 = /\\d\\d\\d\\d?/, // 999 - 9999\n match5to6 = /\\d\\d\\d\\d\\d\\d?/, // 99999 - 999999\n match1to3 = /\\d{1,3}/, // 0 - 999\n match1to4 = /\\d{1,4}/, // 0 - 9999\n match1to6 = /[+-]?\\d{1,6}/, // -999999 - 999999\n matchUnsigned = /\\d+/, // 0 - inf\n matchSigned = /[+-]?\\d+/, // -inf - inf\n matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi, // +00:00 -00:00 +0000 -0000 or Z\n matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/, // 123456789 123456789.123\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n matchWord =\n /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i,\n match1to2NoLeadingZero = /^[1-9]\\d?/, // 1-99\n match1to2HasZero = /^([1-9]\\d|\\d)/, // 0-99\n regexes;\n\n regexes = {};\n\n function addRegexToken(token, regex, strictRegex) {\n regexes[token] = isFunction(regex)\n ? regex\n : function (isStrict, localeData) {\n return isStrict && strictRegex ? strictRegex : regex;\n };\n }\n\n function getParseRegexForToken(token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n }\n\n // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n function unescapeFormat(s) {\n return regexEscape(\n s\n .replace('\\\\', '')\n .replace(\n /\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g,\n function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }\n )\n );\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n function absFloor(number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n }\n\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n var tokens = {};\n\n function addParseToken(token, callback) {\n var i,\n func = callback,\n tokenLen;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n tokenLen = token.length;\n for (i = 0; i < tokenLen; i++) {\n tokens[token[i]] = func;\n }\n }\n\n function addWeekParseToken(token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n\n function isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n }\n\n var YEAR = 0,\n MONTH = 1,\n DATE = 2,\n HOUR = 3,\n MINUTE = 4,\n SECOND = 5,\n MILLISECOND = 6,\n WEEK = 7,\n WEEKDAY = 8;\n\n // FORMATTING\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? zeroFill(y, 4) : '+' + y;\n });\n\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] =\n input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n });\n\n // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n }\n\n // HOOKS\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n };\n\n // MOMENTS\n\n var getSetYear = makeGetSet('FullYear', true);\n\n function getIsLeapYear() {\n return isLeapYear(this.year());\n }\n\n function makeGetSet(unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n }\n\n function get(mom, unit) {\n if (!mom.isValid()) {\n return NaN;\n }\n\n var d = mom._d,\n isUTC = mom._isUTC;\n\n switch (unit) {\n case 'Milliseconds':\n return isUTC ? d.getUTCMilliseconds() : d.getMilliseconds();\n case 'Seconds':\n return isUTC ? d.getUTCSeconds() : d.getSeconds();\n case 'Minutes':\n return isUTC ? d.getUTCMinutes() : d.getMinutes();\n case 'Hours':\n return isUTC ? d.getUTCHours() : d.getHours();\n case 'Date':\n return isUTC ? d.getUTCDate() : d.getDate();\n case 'Day':\n return isUTC ? d.getUTCDay() : d.getDay();\n case 'Month':\n return isUTC ? d.getUTCMonth() : d.getMonth();\n case 'FullYear':\n return isUTC ? d.getUTCFullYear() : d.getFullYear();\n default:\n return NaN; // Just in case\n }\n }\n\n function set$1(mom, unit, value) {\n var d, isUTC, year, month, date;\n\n if (!mom.isValid() || isNaN(value)) {\n return;\n }\n\n d = mom._d;\n isUTC = mom._isUTC;\n\n switch (unit) {\n case 'Milliseconds':\n return void (isUTC\n ? d.setUTCMilliseconds(value)\n : d.setMilliseconds(value));\n case 'Seconds':\n return void (isUTC ? d.setUTCSeconds(value) : d.setSeconds(value));\n case 'Minutes':\n return void (isUTC ? d.setUTCMinutes(value) : d.setMinutes(value));\n case 'Hours':\n return void (isUTC ? d.setUTCHours(value) : d.setHours(value));\n case 'Date':\n return void (isUTC ? d.setUTCDate(value) : d.setDate(value));\n // case 'Day': // Not real\n // return void (isUTC ? d.setUTCDay(value) : d.setDay(value));\n // case 'Month': // Not used because we need to pass two variables\n // return void (isUTC ? d.setUTCMonth(value) : d.setMonth(value));\n case 'FullYear':\n break; // See below ...\n default:\n return; // Just in case\n }\n\n year = value;\n month = mom.month();\n date = mom.date();\n date = date === 29 && month === 1 && !isLeapYear(year) ? 28 : date;\n void (isUTC\n ? d.setUTCFullYear(year, month, date)\n : d.setFullYear(year, month, date));\n }\n\n // MOMENTS\n\n function stringGet(units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n }\n\n function stringSet(units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units),\n i,\n prioritizedLen = prioritized.length;\n for (i = 0; i < prioritizedLen; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n }\n\n function mod(n, x) {\n return ((n % x) + x) % x;\n }\n\n var indexOf;\n\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n }\n\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1\n ? isLeapYear(year)\n ? 29\n : 28\n : 31 - ((modMonth % 7) % 2);\n }\n\n // FORMATTING\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n });\n\n // PARSING\n\n addRegexToken('M', match1to2, match1to2NoLeadingZero);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n });\n\n // LOCALES\n\n var defaultLocaleMonths =\n 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n defaultLocaleMonthsShort =\n 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,\n defaultMonthsShortRegex = matchWord,\n defaultMonthsRegex = matchWord;\n\n function localeMonths(m, format) {\n if (!m) {\n return isArray(this._months)\n ? this._months\n : this._months['standalone'];\n }\n return isArray(this._months)\n ? this._months[m.month()]\n : this._months[\n (this._months.isFormat || MONTHS_IN_FORMAT).test(format)\n ? 'format'\n : 'standalone'\n ][m.month()];\n }\n\n function localeMonthsShort(m, format) {\n if (!m) {\n return isArray(this._monthsShort)\n ? this._monthsShort\n : this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort)\n ? this._monthsShort[m.month()]\n : this._monthsShort[\n MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'\n ][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i,\n ii,\n mom,\n llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeMonthsParse(monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp(\n '^' + this.months(mom, '').replace('.', '') + '$',\n 'i'\n );\n this._shortMonthsParse[i] = new RegExp(\n '^' + this.monthsShort(mom, '').replace('.', '') + '$',\n 'i'\n );\n }\n if (!strict && !this._monthsParse[i]) {\n regex =\n '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'MMMM' &&\n this._longMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'MMM' &&\n this._shortMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function setMonth(mom, value) {\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n var month = value,\n date = mom.date();\n\n date = date < 29 ? date : Math.min(date, daysInMonth(mom.year(), month));\n void (mom._isUTC\n ? mom._d.setUTCMonth(month, date)\n : mom._d.setMonth(month, date));\n return mom;\n }\n\n function getSetMonth(value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n }\n\n function getDaysInMonth() {\n return daysInMonth(this.year(), this.month());\n }\n\n function monthsShortRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict\n ? this._monthsShortStrictRegex\n : this._monthsShortRegex;\n }\n }\n\n function monthsRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict\n ? this._monthsStrictRegex\n : this._monthsRegex;\n }\n }\n\n function computeMonthsParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom,\n shortP,\n longP;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortP = regexEscape(this.monthsShort(mom, ''));\n longP = regexEscape(this.months(mom, ''));\n shortPieces.push(shortP);\n longPieces.push(longP);\n mixedPieces.push(longP);\n mixedPieces.push(shortP);\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._monthsShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n }\n\n function createDate(y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date;\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n date = new Date(y + 400, m, d, h, M, s, ms);\n if (isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n } else {\n date = new Date(y, m, d, h, M, s, ms);\n }\n\n return date;\n }\n\n function createUTCDate(y) {\n var date, args;\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n args = Array.prototype.slice.call(arguments);\n // preserve leap years using a full 400 year cycle, then reset\n args[0] = y + 400;\n date = new Date(Date.UTC.apply(null, args));\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(null, arguments));\n }\n\n return date;\n }\n\n // start-of-first-week - start-of-year\n function firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n }\n\n // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear,\n resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear,\n };\n }\n\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek,\n resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear,\n };\n }\n\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n }\n\n // FORMATTING\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n // PARSING\n\n addRegexToken('w', match1to2, match1to2NoLeadingZero);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2, match1to2NoLeadingZero);\n addRegexToken('WW', match1to2, match2);\n\n addWeekParseToken(\n ['w', 'ww', 'W', 'WW'],\n function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n }\n );\n\n // HELPERS\n\n // LOCALES\n\n function localeWeek(mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n\n var defaultLocaleWeek = {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n };\n\n function localeFirstDayOfWeek() {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear() {\n return this._week.doy;\n }\n\n // MOMENTS\n\n function getSetWeek(input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n function getSetISOWeek(input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('d', 0, 'do', 'day');\n\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday');\n\n // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n });\n addRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n });\n\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n });\n\n // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n }\n\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n }\n\n // LOCALES\n function shiftWeekdays(ws, n) {\n return ws.slice(n, 7).concat(ws.slice(0, n));\n }\n\n var defaultLocaleWeekdays =\n 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n defaultWeekdaysRegex = matchWord,\n defaultWeekdaysShortRegex = matchWord,\n defaultWeekdaysMinRegex = matchWord;\n\n function localeWeekdays(m, format) {\n var weekdays = isArray(this._weekdays)\n ? this._weekdays\n : this._weekdays[\n m && m !== true && this._weekdays.isFormat.test(format)\n ? 'format'\n : 'standalone'\n ];\n return m === true\n ? shiftWeekdays(weekdays, this._week.dow)\n : m\n ? weekdays[m.day()]\n : weekdays;\n }\n\n function localeWeekdaysShort(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysShort, this._week.dow)\n : m\n ? this._weekdaysShort[m.day()]\n : this._weekdaysShort;\n }\n\n function localeWeekdaysMin(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysMin, this._week.dow)\n : m\n ? this._weekdaysMin[m.day()]\n : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i,\n ii,\n mom,\n llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(\n mom,\n ''\n ).toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeWeekdaysParse(weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp(\n '^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._shortWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._minWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n }\n if (!this._weekdaysParse[i]) {\n regex =\n '^' +\n this.weekdays(mom, '') +\n '|^' +\n this.weekdaysShort(mom, '') +\n '|^' +\n this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'dddd' &&\n this._fullWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'ddd' &&\n this._shortWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'dd' &&\n this._minWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function getSetDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n var day = get(this, 'Day');\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n\n function getSetLocaleDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n\n function getSetISODayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n }\n\n function weekdaysRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict\n ? this._weekdaysStrictRegex\n : this._weekdaysRegex;\n }\n }\n\n function weekdaysShortRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict\n ? this._weekdaysShortStrictRegex\n : this._weekdaysShortRegex;\n }\n }\n\n function weekdaysMinRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict\n ? this._weekdaysMinStrictRegex\n : this._weekdaysMinRegex;\n }\n }\n\n function computeWeekdaysParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [],\n shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom,\n minp,\n shortp,\n longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = regexEscape(this.weekdaysMin(mom, ''));\n shortp = regexEscape(this.weekdaysShort(mom, ''));\n longp = regexEscape(this.weekdays(mom, ''));\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysMinStrictRegex = new RegExp(\n '^(' + minPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n\n function kFormat() {\n return this.hours() || 24;\n }\n\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n addFormatToken('k', ['kk', 2], 0, kFormat);\n\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('hmmss', 0, 0, function () {\n return (\n '' +\n hFormat.apply(this) +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('Hmmss', 0, 0, function () {\n return (\n '' +\n this.hours() +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n function meridiem(token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(\n this.hours(),\n this.minutes(),\n lowercase\n );\n });\n }\n\n meridiem('a', true);\n meridiem('A', false);\n\n // PARSING\n\n function matchMeridiem(isStrict, locale) {\n return locale._meridiemParse;\n }\n\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2, match1to2HasZero);\n addRegexToken('h', match1to2, match1to2NoLeadingZero);\n addRegexToken('k', match1to2, match1to2NoLeadingZero);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n });\n\n // LOCALES\n\n function localeIsPM(input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return (input + '').toLowerCase().charAt(0) === 'p';\n }\n\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i,\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n getSetHour = makeGetSet('Hours', true);\n\n function localeMeridiem(hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n\n var baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse,\n };\n\n // internal storage for locale config files\n var locales = {},\n localeFamilies = {},\n globalLocale;\n\n function commonPrefix(arr1, arr2) {\n var i,\n minl = Math.min(arr1.length, arr2.length);\n for (i = 0; i < minl; i += 1) {\n if (arr1[i] !== arr2[i]) {\n return i;\n }\n }\n return minl;\n }\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n }\n\n // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n function chooseLocale(names) {\n var i = 0,\n j,\n next,\n locale,\n split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (\n next &&\n next.length >= j &&\n commonPrefix(split, next) >= j - 1\n ) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return globalLocale;\n }\n\n function isLocaleNameSane(name) {\n // Prevent names that look like filesystem paths, i.e contain '/' or '\\'\n // Ensure name is available and function returns boolean\n return !!(name && name.match('^[^/\\\\\\\\]*$'));\n }\n\n function loadLocale(name) {\n var oldLocale = null,\n aliasedRequire;\n // TODO: Find a better way to register and load all the locales in Node\n if (\n locales[name] === undefined &&\n typeof module !== 'undefined' &&\n module &&\n module.exports &&\n isLocaleNameSane(name)\n ) {\n try {\n oldLocale = globalLocale._abbr;\n aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {\n // mark as not found to avoid repeating expensive file require call causing high CPU\n // when trying to find en-US, en_US, en-us for every format call\n locales[name] = null; // null means not found\n }\n }\n return locales[name];\n }\n\n // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n function getSetGlobalLocale(key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n } else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n } else {\n if (typeof console !== 'undefined' && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn(\n 'Locale ' + key + ' not found. Did you forget to load it?'\n );\n }\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale(name, config) {\n if (config !== null) {\n var locale,\n parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple(\n 'defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale ' +\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.'\n );\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config,\n });\n return null;\n }\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n\n function updateLocale(name, config) {\n if (config != null) {\n var locale,\n tmpLocale,\n parentConfig = baseConfig;\n\n if (locales[name] != null && locales[name].parentLocale != null) {\n // Update existing child locale in-place to avoid memory-leaks\n locales[name].set(mergeConfigs(locales[name]._config, config));\n } else {\n // MERGE\n tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\n if (tmpLocale == null) {\n // updateLocale is called for creating a new locale\n // Set abbr so it will have a name (getters return\n // undefined otherwise).\n config.abbr = name;\n }\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n }\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n if (name === getSetGlobalLocale()) {\n getSetGlobalLocale(name);\n }\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n }\n\n // returns locale data\n function getLocale(key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n }\n\n function listLocales() {\n return keys(locales);\n }\n\n function checkOverflow(m) {\n var overflow,\n a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11\n ? MONTH\n : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH])\n ? DATE\n : a[HOUR] < 0 ||\n a[HOUR] > 24 ||\n (a[HOUR] === 24 &&\n (a[MINUTE] !== 0 ||\n a[SECOND] !== 0 ||\n a[MILLISECOND] !== 0))\n ? HOUR\n : a[MINUTE] < 0 || a[MINUTE] > 59\n ? MINUTE\n : a[SECOND] < 0 || a[SECOND] > 59\n ? SECOND\n : a[MILLISECOND] < 0 || a[MILLISECOND] > 999\n ? MILLISECOND\n : -1;\n\n if (\n getParsingFlags(m)._overflowDayOfYear &&\n (overflow < YEAR || overflow > DATE)\n ) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n }\n\n // iso 8601 regex\n // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n var extendedIsoRegex =\n /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n basicIsoRegex =\n /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d|))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/,\n isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/],\n ['YYYYMM', /\\d{6}/, false],\n ['YYYY', /\\d{4}/, false],\n ],\n // iso time formats and regexes\n isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/],\n ],\n aspNetJsonRegex = /^\\/?Date\\((-?\\d+)/i,\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n rfc2822 =\n /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/,\n obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60,\n };\n\n // date from iso format\n function configFromISO(config) {\n var i,\n l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime,\n dateFormat,\n timeFormat,\n tzFormat,\n isoDatesLen = isoDates.length,\n isoTimesLen = isoTimes.length;\n\n if (match) {\n getParsingFlags(config).iso = true;\n for (i = 0, l = isoDatesLen; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimesLen; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n function extractFromRFC2822Strings(\n yearStr,\n monthStr,\n dayStr,\n hourStr,\n minuteStr,\n secondStr\n ) {\n var result = [\n untruncateYear(yearStr),\n defaultLocaleMonthsShort.indexOf(monthStr),\n parseInt(dayStr, 10),\n parseInt(hourStr, 10),\n parseInt(minuteStr, 10),\n ];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n }\n\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n return year;\n }\n\n function preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s\n .replace(/\\([^()]*\\)|[\\n\\t]/g, ' ')\n .replace(/(\\s\\s+)/g, ' ')\n .replace(/^\\s\\s*/, '')\n .replace(/\\s\\s*$/, '');\n }\n\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an independent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(\n parsedInput[0],\n parsedInput[1],\n parsedInput[2]\n ).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n return true;\n }\n\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10),\n m = hm % 100,\n h = (hm - m) / 100;\n return h * 60 + m;\n }\n }\n\n // date and time from ref 2822 format\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i)),\n parsedArray;\n if (match) {\n parsedArray = extractFromRFC2822Strings(\n match[4],\n match[3],\n match[2],\n match[5],\n match[6],\n match[7]\n );\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n }\n\n // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n if (config._strict) {\n config._isValid = false;\n } else {\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n }\n\n hooks.createFromInputFallback = deprecate(\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n 'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n );\n\n // Pick the first defined of two or three arguments.\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n }\n\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [\n nowValue.getUTCFullYear(),\n nowValue.getUTCMonth(),\n nowValue.getUTCDate(),\n ];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n }\n\n // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n function configFromArray(config) {\n var i,\n date,\n input = [],\n currentDate,\n expectedWeekday,\n yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (\n config._dayOfYear > daysInYear(yearToUse) ||\n config._dayOfYear === 0\n ) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] =\n config._a[i] == null ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (\n config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0\n ) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(\n null,\n input\n );\n expectedWeekday = config._useUTC\n ? config._d.getUTCDay()\n : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n\n // check for mismatching day of week\n if (\n config._w &&\n typeof config._w.d !== 'undefined' &&\n config._w.d !== expectedWeekday\n ) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(\n w.GG,\n config._a[YEAR],\n weekOfYear(createLocal(), 1, 4).year\n );\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from beginning of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to beginning of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n }\n\n // constant that refers to the ISO standard\n hooks.ISO_8601 = function () {};\n\n // constant that refers to the RFC 2822 form\n hooks.RFC_2822 = function () {};\n\n // date from string and format string\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i,\n parsedInput,\n tokens,\n token,\n skipped,\n stringLength = string.length,\n totalParsedInputLength = 0,\n era,\n tokenLen;\n\n tokens =\n expandFormat(config._f, config._locale).match(formattingTokens) || [];\n tokenLen = tokens.length;\n for (i = 0; i < tokenLen; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) ||\n [])[0];\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(\n string.indexOf(parsedInput) + parsedInput.length\n );\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n } else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n } else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver =\n stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (\n config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0\n ) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(\n config._locale,\n config._a[HOUR],\n config._meridiem\n );\n\n // handle era\n era = getParsingFlags(config).era;\n if (era !== null) {\n config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]);\n }\n\n configFromArray(config);\n checkOverflow(config);\n }\n\n function meridiemFixWrap(locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n }\n\n // date from string and array of format strings\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n scoreToBeat,\n i,\n currentScore,\n validFormatFound,\n bestFormatIsValid = false,\n configfLen = config._f.length;\n\n if (configfLen === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < configfLen; i++) {\n currentScore = 0;\n validFormatFound = false;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (isValid(tempConfig)) {\n validFormatFound = true;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (!bestFormatIsValid) {\n if (\n scoreToBeat == null ||\n currentScore < scoreToBeat ||\n validFormatFound\n ) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n if (validFormatFound) {\n bestFormatIsValid = true;\n }\n }\n } else {\n if (currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n }\n\n extend(config, bestMoment || tempConfig);\n }\n\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i),\n dayOrDate = i.day === undefined ? i.date : i.day;\n config._a = map(\n [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond],\n function (obj) {\n return obj && parseInt(obj, 10);\n }\n );\n\n configFromArray(config);\n }\n\n function createFromConfig(config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n }\n\n function prepareConfig(config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid({ nullInput: true });\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n }\n\n function configFromInput(config) {\n var input = config._i;\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n }\n\n function createLocalOrUTC(input, format, locale, strict, isUTC) {\n var c = {};\n\n if (format === true || format === false) {\n strict = format;\n format = undefined;\n }\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if (\n (isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)\n ) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n }\n\n function createLocal(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n\n var prototypeMin = deprecate(\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }\n ),\n prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n function pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n }\n\n // TODO: Use [].sort instead?\n function min() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n }\n\n function max() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n }\n\n var now = function () {\n return Date.now ? Date.now() : +new Date();\n };\n\n var ordering = [\n 'year',\n 'quarter',\n 'month',\n 'week',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'millisecond',\n ];\n\n function isDurationValid(m) {\n var key,\n unitHasDecimal = false,\n i,\n orderLen = ordering.length;\n for (key in m) {\n if (\n hasOwnProp(m, key) &&\n !(\n indexOf.call(ordering, key) !== -1 &&\n (m[key] == null || !isNaN(m[key]))\n )\n ) {\n return false;\n }\n }\n\n for (i = 0; i < orderLen; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n }\n\n function isValid$1() {\n return this._isValid;\n }\n\n function createInvalid$1() {\n return createDuration(NaN);\n }\n\n function Duration(duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || normalizedInput.isoWeek || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds =\n +milliseconds +\n seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days + weeks * 7;\n // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months + quarters * 3 + years * 12;\n\n this._data = {};\n\n this._locale = getLocale();\n\n this._bubble();\n }\n\n function isDuration(obj) {\n return obj instanceof Duration;\n }\n\n function absRound(number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n }\n\n // compare two arrays, return the number of differences\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if (\n (dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))\n ) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n }\n\n // FORMATTING\n\n function offset(token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset(),\n sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return (\n sign +\n zeroFill(~~(offset / 60), 2) +\n separator +\n zeroFill(~~offset % 60, 2)\n );\n });\n }\n\n offset('Z', ':');\n offset('ZZ', '');\n\n // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n });\n\n // HELPERS\n\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher),\n chunk,\n parts,\n minutes;\n\n if (matches === null) {\n return null;\n }\n\n chunk = matches[matches.length - 1] || [];\n parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes;\n }\n\n // Return a moment from input, that is local/utc/zone equivalent to model.\n function cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff =\n (isMoment(input) || isDate(input)\n ? input.valueOf()\n : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n }\n\n function getDateOffset(m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset());\n }\n\n // HOOKS\n\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n hooks.updateOffset = function () {};\n\n // MOMENTS\n\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n function getSetOffset(input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(\n this,\n createDuration(input - offset, 'm'),\n 1,\n false\n );\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone(input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC(keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal(keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n }\n\n function setOffsetToParsedOffset() {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n } else {\n this.utcOffset(0, true);\n }\n }\n return this;\n }\n\n function hasAlignedHourOffset(input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime() {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n }\n\n function isDaylightSavingTimeShifted() {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {},\n other;\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted =\n this.isValid() && compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal() {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset() {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc() {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n }\n\n // ASP.NET json date format regex\n var aspNetRegex = /^(-|\\+)?(?:(\\d*)[. ])?(\\d+):(\\d+)(?::(\\d+)(\\.\\d*)?)?$/,\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n isoRegex =\n /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n function createDuration(input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms: input._milliseconds,\n d: input._days,\n M: input._months,\n };\n } else if (isNumber(input) || !isNaN(+input)) {\n duration = {};\n if (key) {\n duration[key] = +input;\n } else {\n duration.milliseconds = +input;\n }\n } else if ((match = aspNetRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: 0,\n d: toInt(match[DATE]) * sign,\n h: toInt(match[HOUR]) * sign,\n m: toInt(match[MINUTE]) * sign,\n s: toInt(match[SECOND]) * sign,\n ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign, // the millisecond decimal point is included in the match\n };\n } else if ((match = isoRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: parseIso(match[2], sign),\n M: parseIso(match[3], sign),\n w: parseIso(match[4], sign),\n d: parseIso(match[5], sign),\n h: parseIso(match[6], sign),\n m: parseIso(match[7], sign),\n s: parseIso(match[8], sign),\n };\n } else if (duration == null) {\n // checks for null or undefined\n duration = {};\n } else if (\n typeof duration === 'object' &&\n ('from' in duration || 'to' in duration)\n ) {\n diffRes = momentsDifference(\n createLocal(duration.from),\n createLocal(duration.to)\n );\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n if (isDuration(input) && hasOwnProp(input, '_isValid')) {\n ret._isValid = input._isValid;\n }\n\n return ret;\n }\n\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n\n function parseIso(inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {};\n\n res.months =\n other.month() - base.month() + (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +base.clone().add(res.months, 'M');\n\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return { milliseconds: 0, months: 0 };\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n }\n\n // TODO: remove 'name' arg after deprecation is removed\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(\n name,\n 'moment().' +\n name +\n '(period, number) is deprecated. Please use moment().' +\n name +\n '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.'\n );\n tmp = val;\n val = period;\n period = tmp;\n }\n\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function addSubtract(mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n\n var add = createAdder(1, 'add'),\n subtract = createAdder(-1, 'subtract');\n\n function isString(input) {\n return typeof input === 'string' || input instanceof String;\n }\n\n // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined\n function isMomentInput(input) {\n return (\n isMoment(input) ||\n isDate(input) ||\n isString(input) ||\n isNumber(input) ||\n isNumberOrStringArray(input) ||\n isMomentInputObject(input) ||\n input === null ||\n input === undefined\n );\n }\n\n function isMomentInputObject(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'years',\n 'year',\n 'y',\n 'months',\n 'month',\n 'M',\n 'days',\n 'day',\n 'd',\n 'dates',\n 'date',\n 'D',\n 'hours',\n 'hour',\n 'h',\n 'minutes',\n 'minute',\n 'm',\n 'seconds',\n 'second',\n 's',\n 'milliseconds',\n 'millisecond',\n 'ms',\n ],\n i,\n property,\n propertyLen = properties.length;\n\n for (i = 0; i < propertyLen; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function isNumberOrStringArray(input) {\n var arrayTest = isArray(input),\n dataTypeTest = false;\n if (arrayTest) {\n dataTypeTest =\n input.filter(function (item) {\n return !isNumber(item) && isString(input);\n }).length === 0;\n }\n return arrayTest && dataTypeTest;\n }\n\n function isCalendarSpec(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'sameDay',\n 'nextDay',\n 'lastDay',\n 'nextWeek',\n 'lastWeek',\n 'sameElse',\n ],\n i,\n property;\n\n for (i = 0; i < properties.length; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6\n ? 'sameElse'\n : diff < -1\n ? 'lastWeek'\n : diff < 0\n ? 'lastDay'\n : diff < 1\n ? 'sameDay'\n : diff < 2\n ? 'nextDay'\n : diff < 7\n ? 'nextWeek'\n : 'sameElse';\n }\n\n function calendar$1(time, formats) {\n // Support for single parameter, formats only overload to the calendar function\n if (arguments.length === 1) {\n if (!arguments[0]) {\n time = undefined;\n formats = undefined;\n } else if (isMomentInput(arguments[0])) {\n time = arguments[0];\n formats = undefined;\n } else if (isCalendarSpec(arguments[0])) {\n formats = arguments[0];\n time = undefined;\n }\n }\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse',\n output =\n formats &&\n (isFunction(formats[format])\n ? formats[format].call(this, now)\n : formats[format]);\n\n return this.format(\n output || this.localeData().calendar(format, this, createLocal(now))\n );\n }\n\n function clone() {\n return new Moment(this);\n }\n\n function isAfter(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n\n function isBefore(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n\n function isBetween(from, to, units, inclusivity) {\n var localFrom = isMoment(from) ? from : createLocal(from),\n localTo = isMoment(to) ? to : createLocal(to);\n if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n return false;\n }\n inclusivity = inclusivity || '()';\n return (\n (inclusivity[0] === '('\n ? this.isAfter(localFrom, units)\n : !this.isBefore(localFrom, units)) &&\n (inclusivity[1] === ')'\n ? this.isBefore(localTo, units)\n : !this.isAfter(localTo, units))\n );\n }\n\n function isSame(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return (\n this.clone().startOf(units).valueOf() <= inputMs &&\n inputMs <= this.clone().endOf(units).valueOf()\n );\n }\n }\n\n function isSameOrAfter(input, units) {\n return this.isSame(input, units) || this.isAfter(input, units);\n }\n\n function isSameOrBefore(input, units) {\n return this.isSame(input, units) || this.isBefore(input, units);\n }\n\n function diff(input, units, asFloat) {\n var that, zoneDelta, output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year':\n output = monthDiff(this, that) / 12;\n break;\n case 'month':\n output = monthDiff(this, that);\n break;\n case 'quarter':\n output = monthDiff(this, that) / 3;\n break;\n case 'second':\n output = (this - that) / 1e3;\n break; // 1000\n case 'minute':\n output = (this - that) / 6e4;\n break; // 1000 * 60\n case 'hour':\n output = (this - that) / 36e5;\n break; // 1000 * 60 * 60\n case 'day':\n output = (this - that - zoneDelta) / 864e5;\n break; // 1000 * 60 * 60 * 24, negate dst\n case 'week':\n output = (this - that - zoneDelta) / 6048e5;\n break; // 1000 * 60 * 60 * 24 * 7, negate dst\n default:\n output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff(a, b) {\n if (a.date() < b.date()) {\n // end-of-month calculations work correct when the start month has more\n // days than the end month.\n return -monthDiff(b, a);\n }\n // difference in months\n var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2,\n adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n }\n\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n function toString() {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n var utc = keepOffset !== true,\n m = utc ? this.clone().utc() : this;\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(\n m,\n utc\n ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]'\n : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000)\n .toISOString()\n .replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(\n m,\n utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n function inspect() {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment',\n zone = '',\n prefix,\n year,\n datetime,\n suffix;\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n prefix = '[' + func + '(\"]';\n year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY';\n datetime = '-MM-DD[T]HH:mm:ss.SSS';\n suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format(inputString) {\n if (!inputString) {\n inputString = this.isUtc()\n ? hooks.defaultFormatUtc\n : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ to: this, from: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow(withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n\n function to(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ from: this, to: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow(withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n }\n\n // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n function locale(key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n }\n\n var lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n );\n\n function localeData() {\n return this._locale;\n }\n\n var MS_PER_SECOND = 1000,\n MS_PER_MINUTE = 60 * MS_PER_SECOND,\n MS_PER_HOUR = 60 * MS_PER_MINUTE,\n MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;\n\n // actual modulo - handles negative numbers (for dates before 1970):\n function mod$1(dividend, divisor) {\n return ((dividend % divisor) + divisor) % divisor;\n }\n\n function localStartOfDate(y, m, d) {\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return new Date(y, m, d).valueOf();\n }\n }\n\n function utcStartOfDate(y, m, d) {\n // Date.UTC remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return Date.UTC(y, m, d);\n }\n }\n\n function startOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year(), 0, 1);\n break;\n case 'quarter':\n time = startOfDate(\n this.year(),\n this.month() - (this.month() % 3),\n 1\n );\n break;\n case 'month':\n time = startOfDate(this.year(), this.month(), 1);\n break;\n case 'week':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday()\n );\n break;\n case 'isoWeek':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1)\n );\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date());\n break;\n case 'hour':\n time = this._d.valueOf();\n time -= mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n );\n break;\n case 'minute':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_MINUTE);\n break;\n case 'second':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_SECOND);\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function endOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year() + 1, 0, 1) - 1;\n break;\n case 'quarter':\n time =\n startOfDate(\n this.year(),\n this.month() - (this.month() % 3) + 3,\n 1\n ) - 1;\n break;\n case 'month':\n time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n break;\n case 'week':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday() + 7\n ) - 1;\n break;\n case 'isoWeek':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1) + 7\n ) - 1;\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n break;\n case 'hour':\n time = this._d.valueOf();\n time +=\n MS_PER_HOUR -\n mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n ) -\n 1;\n break;\n case 'minute':\n time = this._d.valueOf();\n time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n break;\n case 'second':\n time = this._d.valueOf();\n time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function valueOf() {\n return this._d.valueOf() - (this._offset || 0) * 60000;\n }\n\n function unix() {\n return Math.floor(this.valueOf() / 1000);\n }\n\n function toDate() {\n return new Date(this.valueOf());\n }\n\n function toArray() {\n var m = this;\n return [\n m.year(),\n m.month(),\n m.date(),\n m.hour(),\n m.minute(),\n m.second(),\n m.millisecond(),\n ];\n }\n\n function toObject() {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds(),\n };\n }\n\n function toJSON() {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function isValid$2() {\n return isValid(this);\n }\n\n function parsingFlags() {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt() {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict,\n };\n }\n\n addFormatToken('N', 0, 0, 'eraAbbr');\n addFormatToken('NN', 0, 0, 'eraAbbr');\n addFormatToken('NNN', 0, 0, 'eraAbbr');\n addFormatToken('NNNN', 0, 0, 'eraName');\n addFormatToken('NNNNN', 0, 0, 'eraNarrow');\n\n addFormatToken('y', ['y', 1], 'yo', 'eraYear');\n addFormatToken('y', ['yy', 2], 0, 'eraYear');\n addFormatToken('y', ['yyy', 3], 0, 'eraYear');\n addFormatToken('y', ['yyyy', 4], 0, 'eraYear');\n\n addRegexToken('N', matchEraAbbr);\n addRegexToken('NN', matchEraAbbr);\n addRegexToken('NNN', matchEraAbbr);\n addRegexToken('NNNN', matchEraName);\n addRegexToken('NNNNN', matchEraNarrow);\n\n addParseToken(\n ['N', 'NN', 'NNN', 'NNNN', 'NNNNN'],\n function (input, array, config, token) {\n var era = config._locale.erasParse(input, token, config._strict);\n if (era) {\n getParsingFlags(config).era = era;\n } else {\n getParsingFlags(config).invalidEra = input;\n }\n }\n );\n\n addRegexToken('y', matchUnsigned);\n addRegexToken('yy', matchUnsigned);\n addRegexToken('yyy', matchUnsigned);\n addRegexToken('yyyy', matchUnsigned);\n addRegexToken('yo', matchEraYearOrdinal);\n\n addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR);\n addParseToken(['yo'], function (input, array, config, token) {\n var match;\n if (config._locale._eraYearOrdinalRegex) {\n match = input.match(config._locale._eraYearOrdinalRegex);\n }\n\n if (config._locale.eraYearOrdinalParse) {\n array[YEAR] = config._locale.eraYearOrdinalParse(input, match);\n } else {\n array[YEAR] = parseInt(input, 10);\n }\n });\n\n function localeEras(m, format) {\n var i,\n l,\n date,\n eras = this._eras || getLocale('en')._eras;\n for (i = 0, l = eras.length; i < l; ++i) {\n switch (typeof eras[i].since) {\n case 'string':\n // truncate time\n date = hooks(eras[i].since).startOf('day');\n eras[i].since = date.valueOf();\n break;\n }\n\n switch (typeof eras[i].until) {\n case 'undefined':\n eras[i].until = +Infinity;\n break;\n case 'string':\n // truncate time\n date = hooks(eras[i].until).startOf('day').valueOf();\n eras[i].until = date.valueOf();\n break;\n }\n }\n return eras;\n }\n\n function localeErasParse(eraName, format, strict) {\n var i,\n l,\n eras = this.eras(),\n name,\n abbr,\n narrow;\n eraName = eraName.toUpperCase();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n name = eras[i].name.toUpperCase();\n abbr = eras[i].abbr.toUpperCase();\n narrow = eras[i].narrow.toUpperCase();\n\n if (strict) {\n switch (format) {\n case 'N':\n case 'NN':\n case 'NNN':\n if (abbr === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNN':\n if (name === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNNN':\n if (narrow === eraName) {\n return eras[i];\n }\n break;\n }\n } else if ([name, abbr, narrow].indexOf(eraName) >= 0) {\n return eras[i];\n }\n }\n }\n\n function localeErasConvertYear(era, year) {\n var dir = era.since <= era.until ? +1 : -1;\n if (year === undefined) {\n return hooks(era.since).year();\n } else {\n return hooks(era.since).year() + (year - era.offset) * dir;\n }\n }\n\n function getEraName() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].name;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].name;\n }\n }\n\n return '';\n }\n\n function getEraNarrow() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].narrow;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].narrow;\n }\n }\n\n return '';\n }\n\n function getEraAbbr() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].abbr;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].abbr;\n }\n }\n\n return '';\n }\n\n function getEraYear() {\n var i,\n l,\n dir,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n dir = eras[i].since <= eras[i].until ? +1 : -1;\n\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (\n (eras[i].since <= val && val <= eras[i].until) ||\n (eras[i].until <= val && val <= eras[i].since)\n ) {\n return (\n (this.year() - hooks(eras[i].since).year()) * dir +\n eras[i].offset\n );\n }\n }\n\n return this.year();\n }\n\n function erasNameRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNameRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNameRegex : this._erasRegex;\n }\n\n function erasAbbrRegex(isStrict) {\n if (!hasOwnProp(this, '_erasAbbrRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasAbbrRegex : this._erasRegex;\n }\n\n function erasNarrowRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNarrowRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNarrowRegex : this._erasRegex;\n }\n\n function matchEraAbbr(isStrict, locale) {\n return locale.erasAbbrRegex(isStrict);\n }\n\n function matchEraName(isStrict, locale) {\n return locale.erasNameRegex(isStrict);\n }\n\n function matchEraNarrow(isStrict, locale) {\n return locale.erasNarrowRegex(isStrict);\n }\n\n function matchEraYearOrdinal(isStrict, locale) {\n return locale._eraYearOrdinalRegex || matchUnsigned;\n }\n\n function computeErasParse() {\n var abbrPieces = [],\n namePieces = [],\n narrowPieces = [],\n mixedPieces = [],\n i,\n l,\n erasName,\n erasAbbr,\n erasNarrow,\n eras = this.eras();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n erasName = regexEscape(eras[i].name);\n erasAbbr = regexEscape(eras[i].abbr);\n erasNarrow = regexEscape(eras[i].narrow);\n\n namePieces.push(erasName);\n abbrPieces.push(erasAbbr);\n narrowPieces.push(erasNarrow);\n mixedPieces.push(erasName);\n mixedPieces.push(erasAbbr);\n mixedPieces.push(erasNarrow);\n }\n\n this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i');\n this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i');\n this._erasNarrowRegex = new RegExp(\n '^(' + narrowPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken(token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n // ALIASES\n\n // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n\n addWeekParseToken(\n ['gggg', 'ggggg', 'GGGG', 'GGGGG'],\n function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n }\n );\n\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n });\n\n // MOMENTS\n\n function getSetWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.week(),\n this.weekday() + this.localeData()._week.dow,\n this.localeData()._week.dow,\n this.localeData()._week.doy\n );\n }\n\n function getSetISOWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.isoWeek(),\n this.isoWeekday(),\n 1,\n 4\n );\n }\n\n function getISOWeeksInYear() {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getISOWeeksInISOWeekYear() {\n return weeksInYear(this.isoWeekYear(), 1, 4);\n }\n\n function getWeeksInYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getWeeksInWeekYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n }\n\n // FORMATTING\n\n addFormatToken('Q', 0, 'Qo', 'quarter');\n\n // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n });\n\n // MOMENTS\n\n function getSetQuarter(input) {\n return input == null\n ? Math.ceil((this.month() + 1) / 3)\n : this.month((input - 1) * 3 + (this.month() % 3));\n }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // PARSING\n\n addRegexToken('D', match1to2, match1to2NoLeadingZero);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict\n ? locale._dayOfMonthOrdinalParse || locale._ordinalParse\n : locale._dayOfMonthOrdinalParseLenient;\n });\n\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n });\n\n // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true);\n\n // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n });\n\n // HELPERS\n\n // MOMENTS\n\n function getSetDayOfYear(input) {\n var dayOfYear =\n Math.round(\n (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5\n ) + 1;\n return input == null ? dayOfYear : this.add(input - dayOfYear, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('m', ['mm', 2], 0, 'minute');\n\n // PARSING\n\n addRegexToken('m', match1to2, match1to2HasZero);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n\n // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false);\n\n // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second');\n\n // PARSING\n\n addRegexToken('s', match1to2, match1to2HasZero);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n\n // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false);\n\n // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n });\n\n // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n\n var token, getSetMillisecond;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n\n getSetMillisecond = makeGetSet('Milliseconds', false);\n\n // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName');\n\n // MOMENTS\n\n function getZoneAbbr() {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName() {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var proto = Moment.prototype;\n\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n if (typeof Symbol !== 'undefined' && Symbol.for != null) {\n proto[Symbol.for('nodejs.util.inspect.custom')] = function () {\n return 'Moment<' + this.format() + '>';\n };\n }\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.eraName = getEraName;\n proto.eraNarrow = getEraNarrow;\n proto.eraAbbr = getEraAbbr;\n proto.eraYear = getEraYear;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.weeksInWeekYear = getWeeksInWeekYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate(\n 'dates accessor is deprecated. Use date instead.',\n getSetDayOfMonth\n );\n proto.months = deprecate(\n 'months accessor is deprecated. Use month instead',\n getSetMonth\n );\n proto.years = deprecate(\n 'years accessor is deprecated. Use year instead',\n getSetYear\n );\n proto.zone = deprecate(\n 'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/',\n getSetZone\n );\n proto.isDSTShifted = deprecate(\n 'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information',\n isDaylightSavingTimeShifted\n );\n\n function createUnix(input) {\n return createLocal(input * 1000);\n }\n\n function createInZone() {\n return createLocal.apply(null, arguments).parseZone();\n }\n\n function preParsePostFormat(string) {\n return string;\n }\n\n var proto$1 = Locale.prototype;\n\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n proto$1.eras = localeEras;\n proto$1.erasParse = localeErasParse;\n proto$1.erasConvertYear = localeErasConvertYear;\n proto$1.erasAbbrRegex = erasAbbrRegex;\n proto$1.erasNameRegex = erasNameRegex;\n proto$1.erasNarrowRegex = erasNarrowRegex;\n\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n\n function get$1(format, index, field, setter) {\n var locale = getLocale(),\n utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function listMonthsImpl(format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i,\n out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n }\n\n // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n function listWeekdaysImpl(localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0,\n i,\n out = [];\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n }\n\n function listMonths(format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n\n function listMonthsShort(format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n\n function listWeekdays(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n\n function listWeekdaysShort(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n\n function listWeekdaysMin(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n\n getSetGlobalLocale('en', {\n eras: [\n {\n since: '0001-01-01',\n until: +Infinity,\n offset: 1,\n name: 'Anno Domini',\n narrow: 'AD',\n abbr: 'AD',\n },\n {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: 'Before Christ',\n narrow: 'BC',\n abbr: 'BC',\n },\n ],\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n toInt((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n // Side effect imports\n\n hooks.lang = deprecate(\n 'moment.lang is deprecated. Use moment.locale instead.',\n getSetGlobalLocale\n );\n hooks.langData = deprecate(\n 'moment.langData is deprecated. Use moment.localeData instead.',\n getLocale\n );\n\n var mathAbs = Math.abs;\n\n function abs() {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n }\n\n function addSubtract$1(duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n }\n\n // supports only 2.0-style add(1, 's') or add(duration)\n function add$1(input, value) {\n return addSubtract$1(this, input, value, 1);\n }\n\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\n function subtract$1(input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n\n function absCeil(number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble() {\n var milliseconds = this._milliseconds,\n days = this._days,\n months = this._months,\n data = this._data,\n seconds,\n minutes,\n hours,\n years,\n monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (\n !(\n (milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0)\n )\n ) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n }\n\n function daysToMonths(days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return (days * 4800) / 146097;\n }\n\n function monthsToDays(months) {\n // the reverse of daysToMonths\n return (months * 146097) / 4800;\n }\n\n function as(units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days,\n months,\n milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'quarter' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n switch (units) {\n case 'month':\n return months;\n case 'quarter':\n return months / 3;\n case 'year':\n return months / 12;\n }\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week':\n return days / 7 + milliseconds / 6048e5;\n case 'day':\n return days + milliseconds / 864e5;\n case 'hour':\n return days * 24 + milliseconds / 36e5;\n case 'minute':\n return days * 1440 + milliseconds / 6e4;\n case 'second':\n return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond':\n return Math.floor(days * 864e5) + milliseconds;\n default:\n throw new Error('Unknown unit ' + units);\n }\n }\n }\n\n function makeAs(alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms'),\n asSeconds = makeAs('s'),\n asMinutes = makeAs('m'),\n asHours = makeAs('h'),\n asDays = makeAs('d'),\n asWeeks = makeAs('w'),\n asMonths = makeAs('M'),\n asQuarters = makeAs('Q'),\n asYears = makeAs('y'),\n valueOf$1 = asMilliseconds;\n\n function clone$1() {\n return createDuration(this);\n }\n\n function get$2(units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n\n var milliseconds = makeGetter('milliseconds'),\n seconds = makeGetter('seconds'),\n minutes = makeGetter('minutes'),\n hours = makeGetter('hours'),\n days = makeGetter('days'),\n months = makeGetter('months'),\n years = makeGetter('years');\n\n function weeks() {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round,\n thresholds = {\n ss: 44, // a few seconds to seconds\n s: 45, // seconds to minute\n m: 45, // minutes to hour\n h: 22, // hours to day\n d: 26, // days to month/week\n w: null, // weeks to month\n M: 11, // months to year\n };\n\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) {\n var duration = createDuration(posNegDuration).abs(),\n seconds = round(duration.as('s')),\n minutes = round(duration.as('m')),\n hours = round(duration.as('h')),\n days = round(duration.as('d')),\n months = round(duration.as('M')),\n weeks = round(duration.as('w')),\n years = round(duration.as('y')),\n a =\n (seconds <= thresholds.ss && ['s', seconds]) ||\n (seconds < thresholds.s && ['ss', seconds]) ||\n (minutes <= 1 && ['m']) ||\n (minutes < thresholds.m && ['mm', minutes]) ||\n (hours <= 1 && ['h']) ||\n (hours < thresholds.h && ['hh', hours]) ||\n (days <= 1 && ['d']) ||\n (days < thresholds.d && ['dd', days]);\n\n if (thresholds.w != null) {\n a =\n a ||\n (weeks <= 1 && ['w']) ||\n (weeks < thresholds.w && ['ww', weeks]);\n }\n a = a ||\n (months <= 1 && ['M']) ||\n (months < thresholds.M && ['MM', months]) ||\n (years <= 1 && ['y']) || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n }\n\n // This function allows you to set the rounding function for relative time strings\n function getSetRelativeTimeRounding(roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof roundingFunction === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n }\n\n // This function allows you to set a threshold for relative time strings\n function getSetRelativeTimeThreshold(threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n }\n\n function humanize(argWithSuffix, argThresholds) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var withSuffix = false,\n th = thresholds,\n locale,\n output;\n\n if (typeof argWithSuffix === 'object') {\n argThresholds = argWithSuffix;\n argWithSuffix = false;\n }\n if (typeof argWithSuffix === 'boolean') {\n withSuffix = argWithSuffix;\n }\n if (typeof argThresholds === 'object') {\n th = Object.assign({}, thresholds, argThresholds);\n if (argThresholds.s != null && argThresholds.ss == null) {\n th.ss = argThresholds.s - 1;\n }\n }\n\n locale = this.localeData();\n output = relativeTime$1(this, !withSuffix, th, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var abs$1 = Math.abs;\n\n function sign(x) {\n return (x > 0) - (x < 0) || +x;\n }\n\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000,\n days = abs$1(this._days),\n months = abs$1(this._months),\n minutes,\n hours,\n years,\n s,\n total = this.asSeconds(),\n totalSign,\n ymSign,\n daysSign,\n hmsSign;\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n\n totalSign = total < 0 ? '-' : '';\n ymSign = sign(this._months) !== sign(total) ? '-' : '';\n daysSign = sign(this._days) !== sign(total) ? '-' : '';\n hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n return (\n totalSign +\n 'P' +\n (years ? ymSign + years + 'Y' : '') +\n (months ? ymSign + months + 'M' : '') +\n (days ? daysSign + days + 'D' : '') +\n (hours || minutes || seconds ? 'T' : '') +\n (hours ? hmsSign + hours + 'H' : '') +\n (minutes ? hmsSign + minutes + 'M' : '') +\n (seconds ? hmsSign + s + 'S' : '')\n );\n }\n\n var proto$2 = Duration.prototype;\n\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asQuarters = asQuarters;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n\n proto$2.toIsoString = deprecate(\n 'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)',\n toISOString$1\n );\n proto$2.lang = lang;\n\n // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf');\n\n // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n });\n\n //! moment.js\n\n hooks.version = '2.30.1';\n\n setHookCallback(createLocal);\n\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto;\n\n // currently HTML5 input type only supports 24-hour formats\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // \n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // \n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // \n DATE: 'YYYY-MM-DD', // \n TIME: 'HH:mm', // \n TIME_SECONDS: 'HH:mm:ss', // \n TIME_MS: 'HH:mm:ss.SSS', // \n WEEK: 'GGGG-[W]WW', // \n MONTH: 'YYYY-MM', // \n };\n\n return hooks;\n\n})));\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","'use strict';\n\nvar numberIsNaN = function (value) {\n\treturn value !== value;\n};\n\nmodule.exports = function is(a, b) {\n\tif (a === 0 && b === 0) {\n\t\treturn 1 / a === 1 / b;\n\t}\n\tif (a === b) {\n\t\treturn true;\n\t}\n\tif (numberIsNaN(a) && numberIsNaN(b)) {\n\t\treturn true;\n\t}\n\treturn false;\n};\n\n","'use strict';\n\nvar define = require('define-properties');\nvar callBind = require('call-bind');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar shim = require('./shim');\n\nvar polyfill = callBind(getPolyfill(), Object);\n\ndefine(polyfill, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = polyfill;\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = function getPolyfill() {\n\treturn typeof Object.is === 'function' ? Object.is : implementation;\n};\n","'use strict';\n\nvar getPolyfill = require('./polyfill');\nvar define = require('define-properties');\n\nmodule.exports = function shimObjectIs() {\n\tvar polyfill = getPolyfill();\n\tdefine(Object, { is: polyfill }, {\n\t\tis: function testObjectIs() {\n\t\t\treturn Object.is !== polyfill;\n\t\t}\n\t});\n\treturn polyfill;\n};\n","'use strict';\n\nvar keysShim;\nif (!Object.keys) {\n\t// modified from https://github.com/es-shims/es5-shim\n\tvar has = Object.prototype.hasOwnProperty;\n\tvar toStr = Object.prototype.toString;\n\tvar isArgs = require('./isArguments'); // eslint-disable-line global-require\n\tvar isEnumerable = Object.prototype.propertyIsEnumerable;\n\tvar hasDontEnumBug = !isEnumerable.call({ toString: null }, 'toString');\n\tvar hasProtoEnumBug = isEnumerable.call(function () {}, 'prototype');\n\tvar dontEnums = [\n\t\t'toString',\n\t\t'toLocaleString',\n\t\t'valueOf',\n\t\t'hasOwnProperty',\n\t\t'isPrototypeOf',\n\t\t'propertyIsEnumerable',\n\t\t'constructor'\n\t];\n\tvar equalsConstructorPrototype = function (o) {\n\t\tvar ctor = o.constructor;\n\t\treturn ctor && ctor.prototype === o;\n\t};\n\tvar excludedKeys = {\n\t\t$applicationCache: true,\n\t\t$console: true,\n\t\t$external: true,\n\t\t$frame: true,\n\t\t$frameElement: true,\n\t\t$frames: true,\n\t\t$innerHeight: true,\n\t\t$innerWidth: true,\n\t\t$onmozfullscreenchange: true,\n\t\t$onmozfullscreenerror: true,\n\t\t$outerHeight: true,\n\t\t$outerWidth: true,\n\t\t$pageXOffset: true,\n\t\t$pageYOffset: true,\n\t\t$parent: true,\n\t\t$scrollLeft: true,\n\t\t$scrollTop: true,\n\t\t$scrollX: true,\n\t\t$scrollY: true,\n\t\t$self: true,\n\t\t$webkitIndexedDB: true,\n\t\t$webkitStorageInfo: true,\n\t\t$window: true\n\t};\n\tvar hasAutomationEqualityBug = (function () {\n\t\t/* global window */\n\t\tif (typeof window === 'undefined') { return false; }\n\t\tfor (var k in window) {\n\t\t\ttry {\n\t\t\t\tif (!excludedKeys['$' + k] && has.call(window, k) && window[k] !== null && typeof window[k] === 'object') {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tequalsConstructorPrototype(window[k]);\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}());\n\tvar equalsConstructorPrototypeIfNotBuggy = function (o) {\n\t\t/* global window */\n\t\tif (typeof window === 'undefined' || !hasAutomationEqualityBug) {\n\t\t\treturn equalsConstructorPrototype(o);\n\t\t}\n\t\ttry {\n\t\t\treturn equalsConstructorPrototype(o);\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t};\n\n\tkeysShim = function keys(object) {\n\t\tvar isObject = object !== null && typeof object === 'object';\n\t\tvar isFunction = toStr.call(object) === '[object Function]';\n\t\tvar isArguments = isArgs(object);\n\t\tvar isString = isObject && toStr.call(object) === '[object String]';\n\t\tvar theKeys = [];\n\n\t\tif (!isObject && !isFunction && !isArguments) {\n\t\t\tthrow new TypeError('Object.keys called on a non-object');\n\t\t}\n\n\t\tvar skipProto = hasProtoEnumBug && isFunction;\n\t\tif (isString && object.length > 0 && !has.call(object, 0)) {\n\t\t\tfor (var i = 0; i < object.length; ++i) {\n\t\t\t\ttheKeys.push(String(i));\n\t\t\t}\n\t\t}\n\n\t\tif (isArguments && object.length > 0) {\n\t\t\tfor (var j = 0; j < object.length; ++j) {\n\t\t\t\ttheKeys.push(String(j));\n\t\t\t}\n\t\t} else {\n\t\t\tfor (var name in object) {\n\t\t\t\tif (!(skipProto && name === 'prototype') && has.call(object, name)) {\n\t\t\t\t\ttheKeys.push(String(name));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (hasDontEnumBug) {\n\t\t\tvar skipConstructor = equalsConstructorPrototypeIfNotBuggy(object);\n\n\t\t\tfor (var k = 0; k < dontEnums.length; ++k) {\n\t\t\t\tif (!(skipConstructor && dontEnums[k] === 'constructor') && has.call(object, dontEnums[k])) {\n\t\t\t\t\ttheKeys.push(dontEnums[k]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn theKeys;\n\t};\n}\nmodule.exports = keysShim;\n","'use strict';\n\nvar slice = Array.prototype.slice;\nvar isArgs = require('./isArguments');\n\nvar origKeys = Object.keys;\nvar keysShim = origKeys ? function keys(o) { return origKeys(o); } : require('./implementation');\n\nvar originalKeys = Object.keys;\n\nkeysShim.shim = function shimObjectKeys() {\n\tif (Object.keys) {\n\t\tvar keysWorksWithArguments = (function () {\n\t\t\t// Safari 5.0 bug\n\t\t\tvar args = Object.keys(arguments);\n\t\t\treturn args && args.length === arguments.length;\n\t\t}(1, 2));\n\t\tif (!keysWorksWithArguments) {\n\t\t\tObject.keys = function keys(object) { // eslint-disable-line func-name-matching\n\t\t\t\tif (isArgs(object)) {\n\t\t\t\t\treturn originalKeys(slice.call(object));\n\t\t\t\t}\n\t\t\t\treturn originalKeys(object);\n\t\t\t};\n\t\t}\n\t} else {\n\t\tObject.keys = keysShim;\n\t}\n\treturn Object.keys || keysShim;\n};\n\nmodule.exports = keysShim;\n","'use strict';\n\nvar toStr = Object.prototype.toString;\n\nmodule.exports = function isArguments(value) {\n\tvar str = toStr.call(value);\n\tvar isArgs = str === '[object Arguments]';\n\tif (!isArgs) {\n\t\tisArgs = str !== '[object Array]' &&\n\t\t\tvalue !== null &&\n\t\t\ttypeof value === 'object' &&\n\t\t\ttypeof value.length === 'number' &&\n\t\t\tvalue.length >= 0 &&\n\t\t\ttoStr.call(value.callee) === '[object Function]';\n\t}\n\treturn isArgs;\n};\n","var isarray = require('isarray')\n\n/**\n * Expose `pathToRegexp`.\n */\nmodule.exports = pathToRegexp\nmodule.exports.parse = parse\nmodule.exports.compile = compile\nmodule.exports.tokensToFunction = tokensToFunction\nmodule.exports.tokensToRegExp = tokensToRegExp\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nvar PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n // \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g')\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n var tokens = []\n var key = 0\n var index = 0\n var path = ''\n var defaultDelimiter = options && options.delimiter || '/'\n var res\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n var m = res[0]\n var escaped = res[1]\n var offset = res.index\n path += str.slice(index, offset)\n index = offset + m.length\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1]\n continue\n }\n\n var next = str[index]\n var prefix = res[2]\n var name = res[3]\n var capture = res[4]\n var group = res[5]\n var modifier = res[6]\n var asterisk = res[7]\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path)\n path = ''\n }\n\n var partial = prefix != null && next != null && next !== prefix\n var repeat = modifier === '+' || modifier === '*'\n var optional = modifier === '?' || modifier === '*'\n var delimiter = res[2] || defaultDelimiter\n var pattern = capture || group\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n asterisk: !!asterisk,\n pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')\n })\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index)\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path)\n }\n\n return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n return tokensToFunction(parse(str, options), options)\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str) {\n return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n return encodeURI(str).replace(/[?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens, options) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length)\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$', flags(options))\n }\n }\n\n return function (obj, opts) {\n var path = ''\n var data = obj || {}\n var options = opts || {}\n var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n path += token\n\n continue\n }\n\n var value = data[token.name]\n var segment\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix\n }\n\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined')\n }\n }\n\n if (isarray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j])\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment\n }\n\n continue\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value)\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += token.prefix + segment\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$\\/()])/g, '\\\\$1')\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param {!RegExp} re\n * @param {Array} keys\n * @return {!RegExp}\n */\nfunction attachKeys (re, keys) {\n re.keys = keys\n return re\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options && options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {!Array} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g)\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n asterisk: false,\n pattern: null\n })\n }\n }\n\n return attachKeys(path, keys)\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = []\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source)\n }\n\n var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options))\n\n return attachKeys(regexp, keys)\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {!Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options)\n keys = []\n }\n\n options = options || {}\n\n var strict = options.strict\n var end = options.end !== false\n var route = ''\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n route += escapeString(token)\n } else {\n var prefix = escapeString(token.prefix)\n var capture = '(?:' + token.pattern + ')'\n\n keys.push(token)\n\n if (token.repeat) {\n capture += '(?:' + prefix + capture + ')*'\n }\n\n if (token.optional) {\n if (!token.partial) {\n capture = '(?:' + prefix + '(' + capture + '))?'\n } else {\n capture = prefix + '(' + capture + ')?'\n }\n } else {\n capture = prefix + '(' + capture + ')'\n }\n\n route += capture\n }\n }\n\n var delimiter = escapeString(options.delimiter || '/')\n var endsWithDelimiter = route.slice(-delimiter.length) === delimiter\n\n // In non-strict mode we allow a slash at the end of match. If the path to\n // match already ends with a slash, we remove it for consistency. The slash\n // is valid at the end of a path match, not in the middle. This is important\n // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n if (!strict) {\n route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?'\n }\n\n if (end) {\n route += '$'\n } else {\n // In non-ending mode, we need the capturing groups to match as much as\n // possible by using a positive lookahead to the end or next path segment.\n route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)'\n }\n\n return attachKeys(new RegExp('^' + route, flags(options)), keys)\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options)\n keys = []\n }\n\n options = options || {}\n\n if (path instanceof RegExp) {\n return regexpToRegexp(path, /** @type {!Array} */ (keys))\n }\n\n if (isarray(path)) {\n return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)\n }\n\n return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)\n}\n","module.exports = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\n","/*!\n\npica\nhttps://github.com/nodeca/pica\n\n*/\n\n(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.pica = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i= 0,\n wasm: __requested_features.indexOf('wasm') >= 0\n };\n Multimath.call(this, features);\n this.features = {\n js: features.js,\n wasm: features.wasm && this.has_wasm()\n };\n this.use(mm_unsharp_mask);\n this.use(mm_resize);\n}\n\ninherits(MathLib, Multimath);\n\nMathLib.prototype.resizeAndUnsharp = function resizeAndUnsharp(options, cache) {\n var result = this.resize(options, cache);\n\n if (options.unsharpAmount) {\n this.unsharp_mask(result, options.toWidth, options.toHeight, options.unsharpAmount, options.unsharpRadius, options.unsharpThreshold);\n }\n\n return result;\n};\n\nmodule.exports = MathLib;\n\n},{\"./mm_resize\":4,\"inherits\":15,\"multimath\":16,\"multimath/lib/unsharp_mask\":19}],2:[function(_dereq_,module,exports){\n// Resize convolvers, pure JS implementation\n//\n'use strict'; // Precision of fixed FP values\n//var FIXED_FRAC_BITS = 14;\n\nfunction clampTo8(i) {\n return i < 0 ? 0 : i > 255 ? 255 : i;\n} // Convolve image in horizontal directions and transpose output. In theory,\n// transpose allow:\n//\n// - use the same convolver for both passes (this fails due different\n// types of input array and temporary buffer)\n// - making vertical pass by horisonltal lines inprove CPU cache use.\n//\n// But in real life this doesn't work :)\n//\n\n\nfunction convolveHorizontally(src, dest, srcW, srcH, destW, filters) {\n var r, g, b, a;\n var filterPtr, filterShift, filterSize;\n var srcPtr, srcY, destX, filterVal;\n var srcOffset = 0,\n destOffset = 0; // For each row\n\n for (srcY = 0; srcY < srcH; srcY++) {\n filterPtr = 0; // Apply precomputed filters to each destination row point\n\n for (destX = 0; destX < destW; destX++) {\n // Get the filter that determines the current output pixel.\n filterShift = filters[filterPtr++];\n filterSize = filters[filterPtr++];\n srcPtr = srcOffset + filterShift * 4 | 0;\n r = g = b = a = 0; // Apply the filter to the row to get the destination pixel r, g, b, a\n\n for (; filterSize > 0; filterSize--) {\n filterVal = filters[filterPtr++]; // Use reverse order to workaround deopts in old v8 (node v.10)\n // Big thanks to @mraleph (Vyacheslav Egorov) for the tip.\n\n a = a + filterVal * src[srcPtr + 3] | 0;\n b = b + filterVal * src[srcPtr + 2] | 0;\n g = g + filterVal * src[srcPtr + 1] | 0;\n r = r + filterVal * src[srcPtr] | 0;\n srcPtr = srcPtr + 4 | 0;\n } // Bring this value back in range. All of the filter scaling factors\n // are in fixed point with FIXED_FRAC_BITS bits of fractional part.\n //\n // (!) Add 1/2 of value before clamping to get proper rounding. In other\n // case brightness loss will be noticeable if you resize image with white\n // border and place it on white background.\n //\n\n\n dest[destOffset + 3] = clampTo8(a + (1 << 13) >> 14\n /*FIXED_FRAC_BITS*/\n );\n dest[destOffset + 2] = clampTo8(b + (1 << 13) >> 14\n /*FIXED_FRAC_BITS*/\n );\n dest[destOffset + 1] = clampTo8(g + (1 << 13) >> 14\n /*FIXED_FRAC_BITS*/\n );\n dest[destOffset] = clampTo8(r + (1 << 13) >> 14\n /*FIXED_FRAC_BITS*/\n );\n destOffset = destOffset + srcH * 4 | 0;\n }\n\n destOffset = (srcY + 1) * 4 | 0;\n srcOffset = (srcY + 1) * srcW * 4 | 0;\n }\n} // Technically, convolvers are the same. But input array and temporary\n// buffer can be of different type (especially, in old browsers). So,\n// keep code in separate functions to avoid deoptimizations & speed loss.\n\n\nfunction convolveVertically(src, dest, srcW, srcH, destW, filters) {\n var r, g, b, a;\n var filterPtr, filterShift, filterSize;\n var srcPtr, srcY, destX, filterVal;\n var srcOffset = 0,\n destOffset = 0; // For each row\n\n for (srcY = 0; srcY < srcH; srcY++) {\n filterPtr = 0; // Apply precomputed filters to each destination row point\n\n for (destX = 0; destX < destW; destX++) {\n // Get the filter that determines the current output pixel.\n filterShift = filters[filterPtr++];\n filterSize = filters[filterPtr++];\n srcPtr = srcOffset + filterShift * 4 | 0;\n r = g = b = a = 0; // Apply the filter to the row to get the destination pixel r, g, b, a\n\n for (; filterSize > 0; filterSize--) {\n filterVal = filters[filterPtr++]; // Use reverse order to workaround deopts in old v8 (node v.10)\n // Big thanks to @mraleph (Vyacheslav Egorov) for the tip.\n\n a = a + filterVal * src[srcPtr + 3] | 0;\n b = b + filterVal * src[srcPtr + 2] | 0;\n g = g + filterVal * src[srcPtr + 1] | 0;\n r = r + filterVal * src[srcPtr] | 0;\n srcPtr = srcPtr + 4 | 0;\n } // Bring this value back in range. All of the filter scaling factors\n // are in fixed point with FIXED_FRAC_BITS bits of fractional part.\n //\n // (!) Add 1/2 of value before clamping to get proper rounding. In other\n // case brightness loss will be noticeable if you resize image with white\n // border and place it on white background.\n //\n\n\n dest[destOffset + 3] = clampTo8(a + (1 << 13) >> 14\n /*FIXED_FRAC_BITS*/\n );\n dest[destOffset + 2] = clampTo8(b + (1 << 13) >> 14\n /*FIXED_FRAC_BITS*/\n );\n dest[destOffset + 1] = clampTo8(g + (1 << 13) >> 14\n /*FIXED_FRAC_BITS*/\n );\n dest[destOffset] = clampTo8(r + (1 << 13) >> 14\n /*FIXED_FRAC_BITS*/\n );\n destOffset = destOffset + srcH * 4 | 0;\n }\n\n destOffset = (srcY + 1) * 4 | 0;\n srcOffset = (srcY + 1) * srcW * 4 | 0;\n }\n}\n\nmodule.exports = {\n convolveHorizontally: convolveHorizontally,\n convolveVertically: convolveVertically\n};\n\n},{}],3:[function(_dereq_,module,exports){\n// This is autogenerated file from math.wasm, don't edit.\n//\n'use strict';\n/* eslint-disable max-len */\n\nmodule.exports = 'AGFzbQEAAAABFAJgBn9/f39/fwBgB39/f39/f38AAg8BA2VudgZtZW1vcnkCAAEDAwIAAQQEAXAAAAcZAghjb252b2x2ZQAACmNvbnZvbHZlSFYAAQkBAArmAwLBAwEQfwJAIANFDQAgBEUNACAFQQRqIRVBACEMQQAhDQNAIA0hDkEAIRFBACEHA0AgB0ECaiESAn8gBSAHQQF0IgdqIgZBAmouAQAiEwRAQQAhCEEAIBNrIRQgFSAHaiEPIAAgDCAGLgEAakECdGohEEEAIQlBACEKQQAhCwNAIBAoAgAiB0EYdiAPLgEAIgZsIAtqIQsgB0H/AXEgBmwgCGohCCAHQRB2Qf8BcSAGbCAKaiEKIAdBCHZB/wFxIAZsIAlqIQkgD0ECaiEPIBBBBGohECAUQQFqIhQNAAsgEiATagwBC0EAIQtBACEKQQAhCUEAIQggEgshByABIA5BAnRqIApBgMAAakEOdSIGQf8BIAZB/wFIG0EQdEGAgPwHcUEAIAZBAEobIAtBgMAAakEOdSIGQf8BIAZB/wFIG0EYdEEAIAZBAEobciAJQYDAAGpBDnUiBkH/ASAGQf8BSBtBCHRBgP4DcUEAIAZBAEobciAIQYDAAGpBDnUiBkH/ASAGQf8BSBtB/wFxQQAgBkEAShtyNgIAIA4gA2ohDiARQQFqIhEgBEcNAAsgDCACaiEMIA1BAWoiDSADRw0ACwsLIQACQEEAIAIgAyAEIAUgABAAIAJBACAEIAUgBiABEAALCw==';\n\n},{}],4:[function(_dereq_,module,exports){\n'use strict';\n\nmodule.exports = {\n name: 'resize',\n fn: _dereq_('./resize'),\n wasm_fn: _dereq_('./resize_wasm'),\n wasm_src: _dereq_('./convolve_wasm_base64')\n};\n\n},{\"./convolve_wasm_base64\":3,\"./resize\":5,\"./resize_wasm\":8}],5:[function(_dereq_,module,exports){\n'use strict';\n\nvar createFilters = _dereq_('./resize_filter_gen');\n\nvar convolveHorizontally = _dereq_('./convolve').convolveHorizontally;\n\nvar convolveVertically = _dereq_('./convolve').convolveVertically;\n\nfunction resetAlpha(dst, width, height) {\n var ptr = 3,\n len = width * height * 4 | 0;\n\n while (ptr < len) {\n dst[ptr] = 0xFF;\n ptr = ptr + 4 | 0;\n }\n}\n\nmodule.exports = function resize(options) {\n var src = options.src;\n var srcW = options.width;\n var srcH = options.height;\n var destW = options.toWidth;\n var destH = options.toHeight;\n var scaleX = options.scaleX || options.toWidth / options.width;\n var scaleY = options.scaleY || options.toHeight / options.height;\n var offsetX = options.offsetX || 0;\n var offsetY = options.offsetY || 0;\n var dest = options.dest || new Uint8Array(destW * destH * 4);\n var quality = typeof options.quality === 'undefined' ? 3 : options.quality;\n var alpha = options.alpha || false;\n var filtersX = createFilters(quality, srcW, destW, scaleX, offsetX),\n filtersY = createFilters(quality, srcH, destH, scaleY, offsetY);\n var tmp = new Uint8Array(destW * srcH * 4); // To use single function we need src & tmp of the same type.\n // But src can be CanvasPixelArray, and tmp - Uint8Array. So, keep\n // vertical and horizontal passes separately to avoid deoptimization.\n\n convolveHorizontally(src, tmp, srcW, srcH, destW, filtersX);\n convolveVertically(tmp, dest, srcH, destW, destH, filtersY); // That's faster than doing checks in convolver.\n // !!! Note, canvas data is not premultipled. We don't need other\n // alpha corrections.\n\n if (!alpha) resetAlpha(dest, destW, destH);\n return dest;\n};\n\n},{\"./convolve\":2,\"./resize_filter_gen\":6}],6:[function(_dereq_,module,exports){\n// Calculate convolution filters for each destination point,\n// and pack data to Int16Array:\n//\n// [ shift, length, data..., shift2, length2, data..., ... ]\n//\n// - shift - offset in src image\n// - length - filter length (in src points)\n// - data - filter values sequence\n//\n'use strict';\n\nvar FILTER_INFO = _dereq_('./resize_filter_info'); // Precision of fixed FP values\n\n\nvar FIXED_FRAC_BITS = 14;\n\nfunction toFixedPoint(num) {\n return Math.round(num * ((1 << FIXED_FRAC_BITS) - 1));\n}\n\nmodule.exports = function resizeFilterGen(quality, srcSize, destSize, scale, offset) {\n var filterFunction = FILTER_INFO[quality].filter;\n var scaleInverted = 1.0 / scale;\n var scaleClamped = Math.min(1.0, scale); // For upscale\n // Filter window (averaging interval), scaled to src image\n\n var srcWindow = FILTER_INFO[quality].win / scaleClamped;\n var destPixel, srcPixel, srcFirst, srcLast, filterElementSize, floatFilter, fxpFilter, total, pxl, idx, floatVal, filterTotal, filterVal;\n var leftNotEmpty, rightNotEmpty, filterShift, filterSize;\n var maxFilterElementSize = Math.floor((srcWindow + 1) * 2);\n var packedFilter = new Int16Array((maxFilterElementSize + 2) * destSize);\n var packedFilterPtr = 0;\n var slowCopy = !packedFilter.subarray || !packedFilter.set; // For each destination pixel calculate source range and built filter values\n\n for (destPixel = 0; destPixel < destSize; destPixel++) {\n // Scaling should be done relative to central pixel point\n srcPixel = (destPixel + 0.5) * scaleInverted + offset;\n srcFirst = Math.max(0, Math.floor(srcPixel - srcWindow));\n srcLast = Math.min(srcSize - 1, Math.ceil(srcPixel + srcWindow));\n filterElementSize = srcLast - srcFirst + 1;\n floatFilter = new Float32Array(filterElementSize);\n fxpFilter = new Int16Array(filterElementSize);\n total = 0.0; // Fill filter values for calculated range\n\n for (pxl = srcFirst, idx = 0; pxl <= srcLast; pxl++, idx++) {\n floatVal = filterFunction((pxl + 0.5 - srcPixel) * scaleClamped);\n total += floatVal;\n floatFilter[idx] = floatVal;\n } // Normalize filter, convert to fixed point and accumulate conversion error\n\n\n filterTotal = 0;\n\n for (idx = 0; idx < floatFilter.length; idx++) {\n filterVal = floatFilter[idx] / total;\n filterTotal += filterVal;\n fxpFilter[idx] = toFixedPoint(filterVal);\n } // Compensate normalization error, to minimize brightness drift\n\n\n fxpFilter[destSize >> 1] += toFixedPoint(1.0 - filterTotal); //\n // Now pack filter to useable form\n //\n // 1. Trim heading and tailing zero values, and compensate shitf/length\n // 2. Put all to single array in this format:\n //\n // [ pos shift, data length, value1, value2, value3, ... ]\n //\n\n leftNotEmpty = 0;\n\n while (leftNotEmpty < fxpFilter.length && fxpFilter[leftNotEmpty] === 0) {\n leftNotEmpty++;\n }\n\n if (leftNotEmpty < fxpFilter.length) {\n rightNotEmpty = fxpFilter.length - 1;\n\n while (rightNotEmpty > 0 && fxpFilter[rightNotEmpty] === 0) {\n rightNotEmpty--;\n }\n\n filterShift = srcFirst + leftNotEmpty;\n filterSize = rightNotEmpty - leftNotEmpty + 1;\n packedFilter[packedFilterPtr++] = filterShift; // shift\n\n packedFilter[packedFilterPtr++] = filterSize; // size\n\n if (!slowCopy) {\n packedFilter.set(fxpFilter.subarray(leftNotEmpty, rightNotEmpty + 1), packedFilterPtr);\n packedFilterPtr += filterSize;\n } else {\n // fallback for old IE < 11, without subarray/set methods\n for (idx = leftNotEmpty; idx <= rightNotEmpty; idx++) {\n packedFilter[packedFilterPtr++] = fxpFilter[idx];\n }\n }\n } else {\n // zero data, write header only\n packedFilter[packedFilterPtr++] = 0; // shift\n\n packedFilter[packedFilterPtr++] = 0; // size\n }\n }\n\n return packedFilter;\n};\n\n},{\"./resize_filter_info\":7}],7:[function(_dereq_,module,exports){\n// Filter definitions to build tables for\n// resizing convolvers.\n//\n// Presets for quality 0..3. Filter functions + window size\n//\n'use strict';\n\nmodule.exports = [{\n // Nearest neibor (Box)\n win: 0.5,\n filter: function filter(x) {\n return x >= -0.5 && x < 0.5 ? 1.0 : 0.0;\n }\n}, {\n // Hamming\n win: 1.0,\n filter: function filter(x) {\n if (x <= -1.0 || x >= 1.0) {\n return 0.0;\n }\n\n if (x > -1.19209290E-07 && x < 1.19209290E-07) {\n return 1.0;\n }\n\n var xpi = x * Math.PI;\n return Math.sin(xpi) / xpi * (0.54 + 0.46 * Math.cos(xpi / 1.0));\n }\n}, {\n // Lanczos, win = 2\n win: 2.0,\n filter: function filter(x) {\n if (x <= -2.0 || x >= 2.0) {\n return 0.0;\n }\n\n if (x > -1.19209290E-07 && x < 1.19209290E-07) {\n return 1.0;\n }\n\n var xpi = x * Math.PI;\n return Math.sin(xpi) / xpi * Math.sin(xpi / 2.0) / (xpi / 2.0);\n }\n}, {\n // Lanczos, win = 3\n win: 3.0,\n filter: function filter(x) {\n if (x <= -3.0 || x >= 3.0) {\n return 0.0;\n }\n\n if (x > -1.19209290E-07 && x < 1.19209290E-07) {\n return 1.0;\n }\n\n var xpi = x * Math.PI;\n return Math.sin(xpi) / xpi * Math.sin(xpi / 3.0) / (xpi / 3.0);\n }\n}];\n\n},{}],8:[function(_dereq_,module,exports){\n'use strict';\n\nvar createFilters = _dereq_('./resize_filter_gen');\n\nfunction resetAlpha(dst, width, height) {\n var ptr = 3,\n len = width * height * 4 | 0;\n\n while (ptr < len) {\n dst[ptr] = 0xFF;\n ptr = ptr + 4 | 0;\n }\n}\n\nfunction asUint8Array(src) {\n return new Uint8Array(src.buffer, 0, src.byteLength);\n}\n\nvar IS_LE = true; // should not crash everything on module load in old browsers\n\ntry {\n IS_LE = new Uint32Array(new Uint8Array([1, 0, 0, 0]).buffer)[0] === 1;\n} catch (__) {}\n\nfunction copyInt16asLE(src, target, target_offset) {\n if (IS_LE) {\n target.set(asUint8Array(src), target_offset);\n return;\n }\n\n for (var ptr = target_offset, i = 0; i < src.length; i++) {\n var data = src[i];\n target[ptr++] = data & 0xFF;\n target[ptr++] = data >> 8 & 0xFF;\n }\n}\n\nmodule.exports = function resize_wasm(options) {\n var src = options.src;\n var srcW = options.width;\n var srcH = options.height;\n var destW = options.toWidth;\n var destH = options.toHeight;\n var scaleX = options.scaleX || options.toWidth / options.width;\n var scaleY = options.scaleY || options.toHeight / options.height;\n var offsetX = options.offsetX || 0.0;\n var offsetY = options.offsetY || 0.0;\n var dest = options.dest || new Uint8Array(destW * destH * 4);\n var quality = typeof options.quality === 'undefined' ? 3 : options.quality;\n var alpha = options.alpha || false;\n var filtersX = createFilters(quality, srcW, destW, scaleX, offsetX),\n filtersY = createFilters(quality, srcH, destH, scaleY, offsetY); // destination is 0 too.\n\n var src_offset = 0; // buffer between convolve passes\n\n var tmp_offset = this.__align(src_offset + Math.max(src.byteLength, dest.byteLength));\n\n var filtersX_offset = this.__align(tmp_offset + srcH * destW * 4);\n\n var filtersY_offset = this.__align(filtersX_offset + filtersX.byteLength);\n\n var alloc_bytes = filtersY_offset + filtersY.byteLength;\n\n var instance = this.__instance('resize', alloc_bytes); //\n // Fill memory block with data to process\n //\n\n\n var mem = new Uint8Array(this.__memory.buffer);\n var mem32 = new Uint32Array(this.__memory.buffer); // 32-bit copy is much faster in chrome\n\n var src32 = new Uint32Array(src.buffer);\n mem32.set(src32); // We should guarantee LE bytes order. Filters are not big, so\n // speed difference is not significant vs direct .set()\n\n copyInt16asLE(filtersX, mem, filtersX_offset);\n copyInt16asLE(filtersY, mem, filtersY_offset); //\n // Now call webassembly method\n // emsdk does method names with '_'\n\n var fn = instance.exports.convolveHV || instance.exports._convolveHV;\n fn(filtersX_offset, filtersY_offset, tmp_offset, srcW, srcH, destW, destH); //\n // Copy data back to typed array\n //\n // 32-bit copy is much faster in chrome\n\n var dest32 = new Uint32Array(dest.buffer);\n dest32.set(new Uint32Array(this.__memory.buffer, 0, destH * destW)); // That's faster than doing checks in convolver.\n // !!! Note, canvas data is not premultipled. We don't need other\n // alpha corrections.\n\n if (!alpha) resetAlpha(dest, destW, destH);\n return dest;\n};\n\n},{\"./resize_filter_gen\":6}],9:[function(_dereq_,module,exports){\n'use strict';\n\nvar GC_INTERVAL = 100;\n\nfunction Pool(create, idle) {\n this.create = create;\n this.available = [];\n this.acquired = {};\n this.lastId = 1;\n this.timeoutId = 0;\n this.idle = idle || 2000;\n}\n\nPool.prototype.acquire = function () {\n var _this = this;\n\n var resource;\n\n if (this.available.length !== 0) {\n resource = this.available.pop();\n } else {\n resource = this.create();\n resource.id = this.lastId++;\n\n resource.release = function () {\n return _this.release(resource);\n };\n }\n\n this.acquired[resource.id] = resource;\n return resource;\n};\n\nPool.prototype.release = function (resource) {\n var _this2 = this;\n\n delete this.acquired[resource.id];\n resource.lastUsed = Date.now();\n this.available.push(resource);\n\n if (this.timeoutId === 0) {\n this.timeoutId = setTimeout(function () {\n return _this2.gc();\n }, GC_INTERVAL);\n }\n};\n\nPool.prototype.gc = function () {\n var _this3 = this;\n\n var now = Date.now();\n this.available = this.available.filter(function (resource) {\n if (now - resource.lastUsed > _this3.idle) {\n resource.destroy();\n return false;\n }\n\n return true;\n });\n\n if (this.available.length !== 0) {\n this.timeoutId = setTimeout(function () {\n return _this3.gc();\n }, GC_INTERVAL);\n } else {\n this.timeoutId = 0;\n }\n};\n\nmodule.exports = Pool;\n\n},{}],10:[function(_dereq_,module,exports){\n// Add intermediate resizing steps when scaling down by a very large factor.\n//\n// For example, when resizing 10000x10000 down to 10x10, it'll resize it to\n// 300x300 first.\n//\n// It's needed because tiler has issues when the entire tile is scaled down\n// to a few pixels (1024px source tile with border size 3 should result in\n// at least 3+3+2 = 8px target tile, so max scale factor is 128 here).\n//\n// Also, adding intermediate steps can speed up processing if we use lower\n// quality algorithms for first stages.\n//\n'use strict'; // min size = 0 results in infinite loop,\n// min size = 1 can consume large amount of memory\n\nvar MIN_INNER_TILE_SIZE = 2;\n\nmodule.exports = function createStages(fromWidth, fromHeight, toWidth, toHeight, srcTileSize, destTileBorder) {\n var scaleX = toWidth / fromWidth;\n var scaleY = toHeight / fromHeight; // derived from createRegions equation:\n // innerTileWidth = pixelFloor(srcTileSize * scaleX) - 2 * destTileBorder;\n\n var minScale = (2 * destTileBorder + MIN_INNER_TILE_SIZE + 1) / srcTileSize; // refuse to scale image multiple times by less than twice each time,\n // it could only happen because of invalid options\n\n if (minScale > 0.5) return [[toWidth, toHeight]];\n var stageCount = Math.ceil(Math.log(Math.min(scaleX, scaleY)) / Math.log(minScale)); // no additional resizes are necessary,\n // stageCount can be zero or be negative when enlarging the image\n\n if (stageCount <= 1) return [[toWidth, toHeight]];\n var result = [];\n\n for (var i = 0; i < stageCount; i++) {\n var width = Math.round(Math.pow(Math.pow(fromWidth, stageCount - i - 1) * Math.pow(toWidth, i + 1), 1 / stageCount));\n var height = Math.round(Math.pow(Math.pow(fromHeight, stageCount - i - 1) * Math.pow(toHeight, i + 1), 1 / stageCount));\n result.push([width, height]);\n }\n\n return result;\n};\n\n},{}],11:[function(_dereq_,module,exports){\n// Split original image into multiple 1024x1024 chunks to reduce memory usage\n// (images have to be unpacked into typed arrays for resizing) and allow\n// parallel processing of multiple tiles at a time.\n//\n'use strict';\n/*\n * pixelFloor and pixelCeil are modified versions of Math.floor and Math.ceil\n * functions which take into account floating point arithmetic errors.\n * Those errors can cause undesired increments/decrements of sizes and offsets:\n * Math.ceil(36 / (36 / 500)) = 501\n * pixelCeil(36 / (36 / 500)) = 500\n */\n\nvar PIXEL_EPSILON = 1e-5;\n\nfunction pixelFloor(x) {\n var nearest = Math.round(x);\n\n if (Math.abs(x - nearest) < PIXEL_EPSILON) {\n return nearest;\n }\n\n return Math.floor(x);\n}\n\nfunction pixelCeil(x) {\n var nearest = Math.round(x);\n\n if (Math.abs(x - nearest) < PIXEL_EPSILON) {\n return nearest;\n }\n\n return Math.ceil(x);\n}\n\nmodule.exports = function createRegions(options) {\n var scaleX = options.toWidth / options.width;\n var scaleY = options.toHeight / options.height;\n var innerTileWidth = pixelFloor(options.srcTileSize * scaleX) - 2 * options.destTileBorder;\n var innerTileHeight = pixelFloor(options.srcTileSize * scaleY) - 2 * options.destTileBorder; // prevent infinite loop, this should never happen\n\n if (innerTileWidth < 1 || innerTileHeight < 1) {\n throw new Error('Internal error in pica: target tile width/height is too small.');\n }\n\n var x, y;\n var innerX, innerY, toTileWidth, toTileHeight;\n var tiles = [];\n var tile; // we go top-to-down instead of left-to-right to make image displayed from top to\n // doesn in the browser\n\n for (innerY = 0; innerY < options.toHeight; innerY += innerTileHeight) {\n for (innerX = 0; innerX < options.toWidth; innerX += innerTileWidth) {\n x = innerX - options.destTileBorder;\n\n if (x < 0) {\n x = 0;\n }\n\n toTileWidth = innerX + innerTileWidth + options.destTileBorder - x;\n\n if (x + toTileWidth >= options.toWidth) {\n toTileWidth = options.toWidth - x;\n }\n\n y = innerY - options.destTileBorder;\n\n if (y < 0) {\n y = 0;\n }\n\n toTileHeight = innerY + innerTileHeight + options.destTileBorder - y;\n\n if (y + toTileHeight >= options.toHeight) {\n toTileHeight = options.toHeight - y;\n }\n\n tile = {\n toX: x,\n toY: y,\n toWidth: toTileWidth,\n toHeight: toTileHeight,\n toInnerX: innerX,\n toInnerY: innerY,\n toInnerWidth: innerTileWidth,\n toInnerHeight: innerTileHeight,\n offsetX: x / scaleX - pixelFloor(x / scaleX),\n offsetY: y / scaleY - pixelFloor(y / scaleY),\n scaleX: scaleX,\n scaleY: scaleY,\n x: pixelFloor(x / scaleX),\n y: pixelFloor(y / scaleY),\n width: pixelCeil(toTileWidth / scaleX),\n height: pixelCeil(toTileHeight / scaleY)\n };\n tiles.push(tile);\n }\n }\n\n return tiles;\n};\n\n},{}],12:[function(_dereq_,module,exports){\n'use strict';\n\nfunction objClass(obj) {\n return Object.prototype.toString.call(obj);\n}\n\nmodule.exports.isCanvas = function isCanvas(element) {\n var cname = objClass(element);\n return cname === '[object HTMLCanvasElement]'\n /* browser */\n || cname === '[object OffscreenCanvas]' || cname === '[object Canvas]'\n /* node-canvas */\n ;\n};\n\nmodule.exports.isImage = function isImage(element) {\n return objClass(element) === '[object HTMLImageElement]';\n};\n\nmodule.exports.isImageBitmap = function isImageBitmap(element) {\n return objClass(element) === '[object ImageBitmap]';\n};\n\nmodule.exports.limiter = function limiter(concurrency) {\n var active = 0,\n queue = [];\n\n function roll() {\n if (active < concurrency && queue.length) {\n active++;\n queue.shift()();\n }\n }\n\n return function limit(fn) {\n return new Promise(function (resolve, reject) {\n queue.push(function () {\n fn().then(function (result) {\n resolve(result);\n active--;\n roll();\n }, function (err) {\n reject(err);\n active--;\n roll();\n });\n });\n roll();\n });\n };\n};\n\nmodule.exports.cib_quality_name = function cib_quality_name(num) {\n switch (num) {\n case 0:\n return 'pixelated';\n\n case 1:\n return 'low';\n\n case 2:\n return 'medium';\n }\n\n return 'high';\n};\n\nmodule.exports.cib_support = function cib_support(createCanvas) {\n return Promise.resolve().then(function () {\n if (typeof createImageBitmap === 'undefined') {\n return false;\n }\n\n var c = createCanvas(100, 100);\n return createImageBitmap(c, 0, 0, 100, 100, {\n resizeWidth: 10,\n resizeHeight: 10,\n resizeQuality: 'high'\n }).then(function (bitmap) {\n var status = bitmap.width === 10; // Branch below is filtered on upper level. We do not call resize\n // detection for basic ImageBitmap.\n //\n // https://developer.mozilla.org/en-US/docs/Web/API/ImageBitmap\n // old Crome 51 has ImageBitmap without .close(). Then this code\n // will throw and return 'false' as expected.\n //\n\n bitmap.close();\n c = null;\n return status;\n });\n })[\"catch\"](function () {\n return false;\n });\n};\n\n},{}],13:[function(_dereq_,module,exports){\n// Web Worker wrapper for image resize function\n'use strict';\n\nmodule.exports = function () {\n var MathLib = _dereq_('./mathlib');\n\n var mathLib;\n /* eslint-disable no-undef */\n\n onmessage = function onmessage(ev) {\n var opts = ev.data.opts;\n if (!mathLib) mathLib = new MathLib(ev.data.features); // Use multimath's sync auto-init. Avoid Promise use in old browsers,\n // because polyfills are not propagated to webworker.\n\n var result = mathLib.resizeAndUnsharp(opts);\n postMessage({\n result: result\n }, [result.buffer]);\n };\n};\n\n},{\"./mathlib\":1}],14:[function(_dereq_,module,exports){\n// Calculate Gaussian blur of an image using IIR filter\n// The method is taken from Intel's white paper and code example attached to it:\n// https://software.intel.com/en-us/articles/iir-gaussian-blur-filter\n// -implementation-using-intel-advanced-vector-extensions\n\nvar a0, a1, a2, a3, b1, b2, left_corner, right_corner;\n\nfunction gaussCoef(sigma) {\n if (sigma < 0.5) {\n sigma = 0.5;\n }\n\n var a = Math.exp(0.726 * 0.726) / sigma,\n g1 = Math.exp(-a),\n g2 = Math.exp(-2 * a),\n k = (1 - g1) * (1 - g1) / (1 + 2 * a * g1 - g2);\n\n a0 = k;\n a1 = k * (a - 1) * g1;\n a2 = k * (a + 1) * g1;\n a3 = -k * g2;\n b1 = 2 * g1;\n b2 = -g2;\n left_corner = (a0 + a1) / (1 - b1 - b2);\n right_corner = (a2 + a3) / (1 - b1 - b2);\n\n // Attempt to force type to FP32.\n return new Float32Array([ a0, a1, a2, a3, b1, b2, left_corner, right_corner ]);\n}\n\nfunction convolveMono16(src, out, line, coeff, width, height) {\n // takes src image and writes the blurred and transposed result into out\n\n var prev_src, curr_src, curr_out, prev_out, prev_prev_out;\n var src_index, out_index, line_index;\n var i, j;\n var coeff_a0, coeff_a1, coeff_b1, coeff_b2;\n\n for (i = 0; i < height; i++) {\n src_index = i * width;\n out_index = i;\n line_index = 0;\n\n // left to right\n prev_src = src[src_index];\n prev_prev_out = prev_src * coeff[6];\n prev_out = prev_prev_out;\n\n coeff_a0 = coeff[0];\n coeff_a1 = coeff[1];\n coeff_b1 = coeff[4];\n coeff_b2 = coeff[5];\n\n for (j = 0; j < width; j++) {\n curr_src = src[src_index];\n\n curr_out = curr_src * coeff_a0 +\n prev_src * coeff_a1 +\n prev_out * coeff_b1 +\n prev_prev_out * coeff_b2;\n\n prev_prev_out = prev_out;\n prev_out = curr_out;\n prev_src = curr_src;\n\n line[line_index] = prev_out;\n line_index++;\n src_index++;\n }\n\n src_index--;\n line_index--;\n out_index += height * (width - 1);\n\n // right to left\n prev_src = src[src_index];\n prev_prev_out = prev_src * coeff[7];\n prev_out = prev_prev_out;\n curr_src = prev_src;\n\n coeff_a0 = coeff[2];\n coeff_a1 = coeff[3];\n\n for (j = width - 1; j >= 0; j--) {\n curr_out = curr_src * coeff_a0 +\n prev_src * coeff_a1 +\n prev_out * coeff_b1 +\n prev_prev_out * coeff_b2;\n\n prev_prev_out = prev_out;\n prev_out = curr_out;\n\n prev_src = curr_src;\n curr_src = src[src_index];\n\n out[out_index] = line[line_index] + prev_out;\n\n src_index--;\n line_index--;\n out_index -= height;\n }\n }\n}\n\n\nfunction blurMono16(src, width, height, radius) {\n // Quick exit on zero radius\n if (!radius) { return; }\n\n var out = new Uint16Array(src.length),\n tmp_line = new Float32Array(Math.max(width, height));\n\n var coeff = gaussCoef(radius);\n\n convolveMono16(src, out, tmp_line, coeff, width, height, radius);\n convolveMono16(out, src, tmp_line, coeff, height, width, radius);\n}\n\nmodule.exports = blurMono16;\n\n},{}],15:[function(_dereq_,module,exports){\nif (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n })\n }\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n }\n}\n\n},{}],16:[function(_dereq_,module,exports){\n'use strict';\n\n\nvar assign = _dereq_('object-assign');\nvar base64decode = _dereq_('./lib/base64decode');\nvar hasWebAssembly = _dereq_('./lib/wa_detect');\n\n\nvar DEFAULT_OPTIONS = {\n js: true,\n wasm: true\n};\n\n\nfunction MultiMath(options) {\n if (!(this instanceof MultiMath)) return new MultiMath(options);\n\n var opts = assign({}, DEFAULT_OPTIONS, options || {});\n\n this.options = opts;\n\n this.__cache = {};\n\n this.__init_promise = null;\n this.__modules = opts.modules || {};\n this.__memory = null;\n this.__wasm = {};\n\n this.__isLE = ((new Uint32Array((new Uint8Array([ 1, 0, 0, 0 ])).buffer))[0] === 1);\n\n if (!this.options.js && !this.options.wasm) {\n throw new Error('mathlib: at least \"js\" or \"wasm\" should be enabled');\n }\n}\n\n\nMultiMath.prototype.has_wasm = hasWebAssembly;\n\n\nMultiMath.prototype.use = function (module) {\n this.__modules[module.name] = module;\n\n // Pin the best possible implementation\n if (this.options.wasm && this.has_wasm() && module.wasm_fn) {\n this[module.name] = module.wasm_fn;\n } else {\n this[module.name] = module.fn;\n }\n\n return this;\n};\n\n\nMultiMath.prototype.init = function () {\n if (this.__init_promise) return this.__init_promise;\n\n if (!this.options.js && this.options.wasm && !this.has_wasm()) {\n return Promise.reject(new Error('mathlib: only \"wasm\" was enabled, but it\\'s not supported'));\n }\n\n var self = this;\n\n this.__init_promise = Promise.all(Object.keys(self.__modules).map(function (name) {\n var module = self.__modules[name];\n\n if (!self.options.wasm || !self.has_wasm() || !module.wasm_fn) return null;\n\n // If already compiled - exit\n if (self.__wasm[name]) return null;\n\n // Compile wasm source\n return WebAssembly.compile(self.__base64decode(module.wasm_src))\n .then(function (m) { self.__wasm[name] = m; });\n }))\n .then(function () { return self; });\n\n return this.__init_promise;\n};\n\n\n////////////////////////////////////////////////////////////////////////////////\n// Methods below are for internal use from plugins\n\n\n// Simple decode base64 to typed array. Useful to load embedded webassembly\n// code. You probably don't need to call this method directly.\n//\nMultiMath.prototype.__base64decode = base64decode;\n\n\n// Increase current memory to include specified number of bytes. Do nothing if\n// size is already ok. You probably don't need to call this method directly,\n// because it will be invoked from `.__instance()`.\n//\nMultiMath.prototype.__reallocate = function mem_grow_to(bytes) {\n if (!this.__memory) {\n this.__memory = new WebAssembly.Memory({\n initial: Math.ceil(bytes / (64 * 1024))\n });\n return this.__memory;\n }\n\n var mem_size = this.__memory.buffer.byteLength;\n\n if (mem_size < bytes) {\n this.__memory.grow(Math.ceil((bytes - mem_size) / (64 * 1024)));\n }\n\n return this.__memory;\n};\n\n\n// Returns instantinated webassembly item by name, with specified memory size\n// and environment.\n// - use cache if available\n// - do sync module init, if async init was not called earlier\n// - allocate memory if not enougth\n// - can export functions to webassembly via \"env_extra\",\n// for example, { exp: Math.exp }\n//\nMultiMath.prototype.__instance = function instance(name, memsize, env_extra) {\n if (memsize) this.__reallocate(memsize);\n\n // If .init() was not called, do sync compile\n if (!this.__wasm[name]) {\n var module = this.__modules[name];\n this.__wasm[name] = new WebAssembly.Module(this.__base64decode(module.wasm_src));\n }\n\n if (!this.__cache[name]) {\n var env_base = {\n memoryBase: 0,\n memory: this.__memory,\n tableBase: 0,\n table: new WebAssembly.Table({ initial: 0, element: 'anyfunc' })\n };\n\n this.__cache[name] = new WebAssembly.Instance(this.__wasm[name], {\n env: assign(env_base, env_extra || {})\n });\n }\n\n return this.__cache[name];\n};\n\n\n// Helper to calculate memory aligh for pointers. Webassembly does not require\n// this, but you may wish to experiment. Default base = 8;\n//\nMultiMath.prototype.__align = function align(number, base) {\n base = base || 8;\n var reminder = number % base;\n return number + (reminder ? base - reminder : 0);\n};\n\n\nmodule.exports = MultiMath;\n\n},{\"./lib/base64decode\":17,\"./lib/wa_detect\":23,\"object-assign\":24}],17:[function(_dereq_,module,exports){\n// base64 decode str -> Uint8Array, to load WA modules\n//\n'use strict';\n\n\nvar BASE64_MAP = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n\nmodule.exports = function base64decode(str) {\n var input = str.replace(/[\\r\\n=]/g, ''), // remove CR/LF & padding to simplify scan\n max = input.length;\n\n var out = new Uint8Array((max * 3) >> 2);\n\n // Collect by 6*4 bits (3 bytes)\n\n var bits = 0;\n var ptr = 0;\n\n for (var idx = 0; idx < max; idx++) {\n if ((idx % 4 === 0) && idx) {\n out[ptr++] = (bits >> 16) & 0xFF;\n out[ptr++] = (bits >> 8) & 0xFF;\n out[ptr++] = bits & 0xFF;\n }\n\n bits = (bits << 6) | BASE64_MAP.indexOf(input.charAt(idx));\n }\n\n // Dump tail\n\n var tailbits = (max % 4) * 6;\n\n if (tailbits === 0) {\n out[ptr++] = (bits >> 16) & 0xFF;\n out[ptr++] = (bits >> 8) & 0xFF;\n out[ptr++] = bits & 0xFF;\n } else if (tailbits === 18) {\n out[ptr++] = (bits >> 10) & 0xFF;\n out[ptr++] = (bits >> 2) & 0xFF;\n } else if (tailbits === 12) {\n out[ptr++] = (bits >> 4) & 0xFF;\n }\n\n return out;\n};\n\n},{}],18:[function(_dereq_,module,exports){\n// Calculates 16-bit precision HSL lightness from 8-bit rgba buffer\n//\n'use strict';\n\n\nmodule.exports = function hsl_l16_js(img, width, height) {\n var size = width * height;\n var out = new Uint16Array(size);\n var r, g, b, min, max;\n for (var i = 0; i < size; i++) {\n r = img[4 * i];\n g = img[4 * i + 1];\n b = img[4 * i + 2];\n max = (r >= g && r >= b) ? r : (g >= b && g >= r) ? g : b;\n min = (r <= g && r <= b) ? r : (g <= b && g <= r) ? g : b;\n out[i] = (max + min) * 257 >> 1;\n }\n return out;\n};\n\n},{}],19:[function(_dereq_,module,exports){\n'use strict';\n\nmodule.exports = {\n name: 'unsharp_mask',\n fn: _dereq_('./unsharp_mask'),\n wasm_fn: _dereq_('./unsharp_mask_wasm'),\n wasm_src: _dereq_('./unsharp_mask_wasm_base64')\n};\n\n},{\"./unsharp_mask\":20,\"./unsharp_mask_wasm\":21,\"./unsharp_mask_wasm_base64\":22}],20:[function(_dereq_,module,exports){\n// Unsharp mask filter\n//\n// http://stackoverflow.com/a/23322820/1031804\n// USM(O) = O + (2 * (Amount / 100) * (O - GB))\n// GB - gaussian blur.\n//\n// Image is converted from RGB to HSL, unsharp mask is applied to the\n// lightness channel and then image is converted back to RGB.\n//\n'use strict';\n\n\nvar glur_mono16 = _dereq_('glur/mono16');\nvar hsl_l16 = _dereq_('./hsl_l16');\n\n\nmodule.exports = function unsharp(img, width, height, amount, radius, threshold) {\n var r, g, b;\n var h, s, l;\n var min, max;\n var m1, m2, hShifted;\n var diff, iTimes4;\n\n if (amount === 0 || radius < 0.5) {\n return;\n }\n if (radius > 2.0) {\n radius = 2.0;\n }\n\n var lightness = hsl_l16(img, width, height);\n\n var blured = new Uint16Array(lightness); // copy, because blur modify src\n\n glur_mono16(blured, width, height, radius);\n\n var amountFp = (amount / 100 * 0x1000 + 0.5)|0;\n var thresholdFp = (threshold * 257)|0;\n\n var size = width * height;\n\n /* eslint-disable indent */\n for (var i = 0; i < size; i++) {\n diff = 2 * (lightness[i] - blured[i]);\n\n if (Math.abs(diff) >= thresholdFp) {\n iTimes4 = i * 4;\n r = img[iTimes4];\n g = img[iTimes4 + 1];\n b = img[iTimes4 + 2];\n\n // convert RGB to HSL\n // take RGB, 8-bit unsigned integer per each channel\n // save HSL, H and L are 16-bit unsigned integers, S is 12-bit unsigned integer\n // math is taken from here: http://www.easyrgb.com/index.php?X=MATH&H=18\n // and adopted to be integer (fixed point in fact) for sake of performance\n max = (r >= g && r >= b) ? r : (g >= r && g >= b) ? g : b; // min and max are in [0..0xff]\n min = (r <= g && r <= b) ? r : (g <= r && g <= b) ? g : b;\n l = (max + min) * 257 >> 1; // l is in [0..0xffff] that is caused by multiplication by 257\n\n if (min === max) {\n h = s = 0;\n } else {\n s = (l <= 0x7fff) ?\n (((max - min) * 0xfff) / (max + min))|0 :\n (((max - min) * 0xfff) / (2 * 0xff - max - min))|0; // s is in [0..0xfff]\n // h could be less 0, it will be fixed in backward conversion to RGB, |h| <= 0xffff / 6\n h = (r === max) ? (((g - b) * 0xffff) / (6 * (max - min)))|0\n : (g === max) ? 0x5555 + ((((b - r) * 0xffff) / (6 * (max - min)))|0) // 0x5555 == 0xffff / 3\n : 0xaaaa + ((((r - g) * 0xffff) / (6 * (max - min)))|0); // 0xaaaa == 0xffff * 2 / 3\n }\n\n // add unsharp mask mask to the lightness channel\n l += (amountFp * diff + 0x800) >> 12;\n if (l > 0xffff) {\n l = 0xffff;\n } else if (l < 0) {\n l = 0;\n }\n\n // convert HSL back to RGB\n // for information about math look above\n if (s === 0) {\n r = g = b = l >> 8;\n } else {\n m2 = (l <= 0x7fff) ? (l * (0x1000 + s) + 0x800) >> 12 :\n l + (((0xffff - l) * s + 0x800) >> 12);\n m1 = 2 * l - m2 >> 8;\n m2 >>= 8;\n // save result to RGB channels\n // R channel\n hShifted = (h + 0x5555) & 0xffff; // 0x5555 == 0xffff / 3\n r = (hShifted >= 0xaaaa) ? m1 // 0xaaaa == 0xffff * 2 / 3\n : (hShifted >= 0x7fff) ? m1 + ((m2 - m1) * 6 * (0xaaaa - hShifted) + 0x8000 >> 16)\n : (hShifted >= 0x2aaa) ? m2 // 0x2aaa == 0xffff / 6\n : m1 + ((m2 - m1) * 6 * hShifted + 0x8000 >> 16);\n // G channel\n hShifted = h & 0xffff;\n g = (hShifted >= 0xaaaa) ? m1 // 0xaaaa == 0xffff * 2 / 3\n : (hShifted >= 0x7fff) ? m1 + ((m2 - m1) * 6 * (0xaaaa - hShifted) + 0x8000 >> 16)\n : (hShifted >= 0x2aaa) ? m2 // 0x2aaa == 0xffff / 6\n : m1 + ((m2 - m1) * 6 * hShifted + 0x8000 >> 16);\n // B channel\n hShifted = (h - 0x5555) & 0xffff;\n b = (hShifted >= 0xaaaa) ? m1 // 0xaaaa == 0xffff * 2 / 3\n : (hShifted >= 0x7fff) ? m1 + ((m2 - m1) * 6 * (0xaaaa - hShifted) + 0x8000 >> 16)\n : (hShifted >= 0x2aaa) ? m2 // 0x2aaa == 0xffff / 6\n : m1 + ((m2 - m1) * 6 * hShifted + 0x8000 >> 16);\n }\n\n img[iTimes4] = r;\n img[iTimes4 + 1] = g;\n img[iTimes4 + 2] = b;\n }\n }\n};\n\n},{\"./hsl_l16\":18,\"glur/mono16\":14}],21:[function(_dereq_,module,exports){\n'use strict';\n\n\nmodule.exports = function unsharp(img, width, height, amount, radius, threshold) {\n if (amount === 0 || radius < 0.5) {\n return;\n }\n\n if (radius > 2.0) {\n radius = 2.0;\n }\n\n var pixels = width * height;\n\n var img_bytes_cnt = pixels * 4;\n var hsl_bytes_cnt = pixels * 2;\n var blur_bytes_cnt = pixels * 2;\n var blur_line_byte_cnt = Math.max(width, height) * 4; // float32 array\n var blur_coeffs_byte_cnt = 8 * 4; // float32 array\n\n var img_offset = 0;\n var hsl_offset = img_bytes_cnt;\n var blur_offset = hsl_offset + hsl_bytes_cnt;\n var blur_tmp_offset = blur_offset + blur_bytes_cnt;\n var blur_line_offset = blur_tmp_offset + blur_bytes_cnt;\n var blur_coeffs_offset = blur_line_offset + blur_line_byte_cnt;\n\n var instance = this.__instance(\n 'unsharp_mask',\n img_bytes_cnt + hsl_bytes_cnt + blur_bytes_cnt * 2 + blur_line_byte_cnt + blur_coeffs_byte_cnt,\n { exp: Math.exp }\n );\n\n // 32-bit copy is much faster in chrome\n var img32 = new Uint32Array(img.buffer);\n var mem32 = new Uint32Array(this.__memory.buffer);\n mem32.set(img32);\n\n // HSL\n var fn = instance.exports.hsl_l16 || instance.exports._hsl_l16;\n fn(img_offset, hsl_offset, width, height);\n\n // BLUR\n fn = instance.exports.blurMono16 || instance.exports._blurMono16;\n fn(hsl_offset, blur_offset, blur_tmp_offset,\n blur_line_offset, blur_coeffs_offset, width, height, radius);\n\n // UNSHARP\n fn = instance.exports.unsharp || instance.exports._unsharp;\n fn(img_offset, img_offset, hsl_offset,\n blur_offset, width, height, amount, threshold);\n\n // 32-bit copy is much faster in chrome\n img32.set(new Uint32Array(this.__memory.buffer, 0, pixels));\n};\n\n},{}],22:[function(_dereq_,module,exports){\n// This is autogenerated file from math.wasm, don't edit.\n//\n'use strict';\n\n/* eslint-disable max-len */\nmodule.exports = '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';\n\n},{}],23:[function(_dereq_,module,exports){\n// Detect WebAssembly support.\n// - Check global WebAssembly object\n// - Try to load simple module (can be disabled via CSP)\n//\n'use strict';\n\n\nvar wa;\n\n\nmodule.exports = function hasWebAssembly() {\n // use cache if called before;\n if (typeof wa !== 'undefined') return wa;\n\n wa = false;\n\n if (typeof WebAssembly === 'undefined') return wa;\n\n // If WebAssenbly is disabled, code can throw on compile\n try {\n // https://github.com/brion/min-wasm-fail/blob/master/min-wasm-fail.in.js\n // Additional check that WA internals are correct\n\n /* eslint-disable comma-spacing, max-len */\n var bin = new Uint8Array([ 0,97,115,109,1,0,0,0,1,6,1,96,1,127,1,127,3,2,1,0,5,3,1,0,1,7,8,1,4,116,101,115,116,0,0,10,16,1,14,0,32,0,65,1,54,2,0,32,0,40,2,0,11 ]);\n var module = new WebAssembly.Module(bin);\n var instance = new WebAssembly.Instance(module, {});\n\n // test storing to and loading from a non-zero location via a parameter.\n // Safari on iOS 11.2.5 returns 0 unexpectedly at non-zero locations\n if (instance.exports.test(4) !== 0) wa = true;\n\n return wa;\n } catch (__) {}\n\n return wa;\n};\n\n},{}],24:[function(_dereq_,module,exports){\n/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n\n},{}],25:[function(_dereq_,module,exports){\nvar bundleFn = arguments[3];\nvar sources = arguments[4];\nvar cache = arguments[5];\n\nvar stringify = JSON.stringify;\n\nmodule.exports = function (fn, options) {\n var wkey;\n var cacheKeys = Object.keys(cache);\n\n for (var i = 0, l = cacheKeys.length; i < l; i++) {\n var key = cacheKeys[i];\n var exp = cache[key].exports;\n // Using babel as a transpiler to use esmodule, the export will always\n // be an object with the default export as a property of it. To ensure\n // the existing api and babel esmodule exports are both supported we\n // check for both\n if (exp === fn || exp && exp.default === fn) {\n wkey = key;\n break;\n }\n }\n\n if (!wkey) {\n wkey = Math.floor(Math.pow(16, 8) * Math.random()).toString(16);\n var wcache = {};\n for (var i = 0, l = cacheKeys.length; i < l; i++) {\n var key = cacheKeys[i];\n wcache[key] = key;\n }\n sources[wkey] = [\n 'function(require,module,exports){' + fn + '(self); }',\n wcache\n ];\n }\n var skey = Math.floor(Math.pow(16, 8) * Math.random()).toString(16);\n\n var scache = {}; scache[wkey] = wkey;\n sources[skey] = [\n 'function(require,module,exports){' +\n // try to call default if defined to also support babel esmodule exports\n 'var f = require(' + stringify(wkey) + ');' +\n '(f.default ? f.default : f)(self);' +\n '}',\n scache\n ];\n\n var workerSources = {};\n resolveSources(skey);\n\n function resolveSources(key) {\n workerSources[key] = true;\n\n for (var depPath in sources[key][1]) {\n var depKey = sources[key][1][depPath];\n if (!workerSources[depKey]) {\n resolveSources(depKey);\n }\n }\n }\n\n var src = '(' + bundleFn + ')({'\n + Object.keys(workerSources).map(function (key) {\n return stringify(key) + ':['\n + sources[key][0]\n + ',' + stringify(sources[key][1]) + ']'\n ;\n }).join(',')\n + '},{},[' + stringify(skey) + '])'\n ;\n\n var URL = window.URL || window.webkitURL || window.mozURL || window.msURL;\n\n var blob = new Blob([src], { type: 'text/javascript' });\n if (options && options.bare) { return blob; }\n var workerUrl = URL.createObjectURL(blob);\n var worker = new Worker(workerUrl);\n worker.objectURL = workerUrl;\n return worker;\n};\n\n},{}],\"/index.js\":[function(_dereq_,module,exports){\n'use strict';\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nvar assign = _dereq_('object-assign');\n\nvar webworkify = _dereq_('webworkify');\n\nvar MathLib = _dereq_('./lib/mathlib');\n\nvar Pool = _dereq_('./lib/pool');\n\nvar utils = _dereq_('./lib/utils');\n\nvar worker = _dereq_('./lib/worker');\n\nvar createStages = _dereq_('./lib/stepper');\n\nvar createRegions = _dereq_('./lib/tiler'); // Deduplicate pools & limiters with the same configs\n// when user creates multiple pica instances.\n\n\nvar singletones = {};\nvar NEED_SAFARI_FIX = false;\n\ntry {\n if (typeof navigator !== 'undefined' && navigator.userAgent) {\n NEED_SAFARI_FIX = navigator.userAgent.indexOf('Safari') >= 0;\n }\n} catch (e) {}\n\nvar concurrency = 1;\n\nif (typeof navigator !== 'undefined') {\n concurrency = Math.min(navigator.hardwareConcurrency || 1, 4);\n}\n\nvar DEFAULT_PICA_OPTS = {\n tile: 1024,\n concurrency: concurrency,\n features: ['js', 'wasm', 'ww'],\n idle: 2000,\n createCanvas: function createCanvas(width, height) {\n var tmpCanvas = document.createElement('canvas');\n tmpCanvas.width = width;\n tmpCanvas.height = height;\n return tmpCanvas;\n }\n};\nvar DEFAULT_RESIZE_OPTS = {\n quality: 3,\n alpha: false,\n unsharpAmount: 0,\n unsharpRadius: 0.0,\n unsharpThreshold: 0\n};\nvar CAN_NEW_IMAGE_DATA;\nvar CAN_CREATE_IMAGE_BITMAP;\n\nfunction workerFabric() {\n return {\n value: webworkify(worker),\n destroy: function destroy() {\n this.value.terminate();\n\n if (typeof window !== 'undefined') {\n var url = window.URL || window.webkitURL || window.mozURL || window.msURL;\n\n if (url && url.revokeObjectURL && this.value.objectURL) {\n url.revokeObjectURL(this.value.objectURL);\n }\n }\n }\n };\n} ////////////////////////////////////////////////////////////////////////////////\n// API methods\n\n\nfunction Pica(options) {\n if (!(this instanceof Pica)) return new Pica(options);\n this.options = assign({}, DEFAULT_PICA_OPTS, options || {});\n var limiter_key = \"lk_\".concat(this.options.concurrency); // Share limiters to avoid multiple parallel workers when user creates\n // multiple pica instances.\n\n this.__limit = singletones[limiter_key] || utils.limiter(this.options.concurrency);\n if (!singletones[limiter_key]) singletones[limiter_key] = this.__limit; // List of supported features, according to options & browser/node.js\n\n this.features = {\n js: false,\n // pure JS implementation, can be disabled for testing\n wasm: false,\n // webassembly implementation for heavy functions\n cib: false,\n // resize via createImageBitmap (only FF at this moment)\n ww: false // webworkers\n\n };\n this.__workersPool = null; // Store requested features for webworkers\n\n this.__requested_features = [];\n this.__mathlib = null;\n}\n\nPica.prototype.init = function () {\n var _this = this;\n\n if (this.__initPromise) return this.__initPromise; // Test if we can create ImageData without canvas and memory copy\n\n if (CAN_NEW_IMAGE_DATA !== false && CAN_NEW_IMAGE_DATA !== true) {\n CAN_NEW_IMAGE_DATA = false;\n\n if (typeof ImageData !== 'undefined' && typeof Uint8ClampedArray !== 'undefined') {\n try {\n /* eslint-disable no-new */\n new ImageData(new Uint8ClampedArray(400), 10, 10);\n CAN_NEW_IMAGE_DATA = true;\n } catch (__) {}\n }\n } // ImageBitmap can be effective in 2 places:\n //\n // 1. Threaded jpeg unpack (basic)\n // 2. Built-in resize (blocked due problem in chrome, see issue #89)\n //\n // For basic use we also need ImageBitmap wo support .close() method,\n // see https://developer.mozilla.org/ru/docs/Web/API/ImageBitmap\n\n\n if (CAN_CREATE_IMAGE_BITMAP !== false && CAN_CREATE_IMAGE_BITMAP !== true) {\n CAN_CREATE_IMAGE_BITMAP = false;\n\n if (typeof ImageBitmap !== 'undefined') {\n if (ImageBitmap.prototype && ImageBitmap.prototype.close) {\n CAN_CREATE_IMAGE_BITMAP = true;\n } else {\n this.debug('ImageBitmap does not support .close(), disabled');\n }\n }\n }\n\n var features = this.options.features.slice();\n\n if (features.indexOf('all') >= 0) {\n features = ['cib', 'wasm', 'js', 'ww'];\n }\n\n this.__requested_features = features;\n this.__mathlib = new MathLib(features); // Check WebWorker support if requested\n\n if (features.indexOf('ww') >= 0) {\n if (typeof window !== 'undefined' && 'Worker' in window) {\n // IE <= 11 don't allow to create webworkers from string. We should check it.\n // https://connect.microsoft.com/IE/feedback/details/801810/web-workers-from-blob-urls-in-ie-10-and-11\n try {\n var wkr = _dereq_('webworkify')(function () {});\n\n wkr.terminate();\n this.features.ww = true; // pool uniqueness depends on pool config + webworker config\n\n var wpool_key = \"wp_\".concat(JSON.stringify(this.options));\n\n if (singletones[wpool_key]) {\n this.__workersPool = singletones[wpool_key];\n } else {\n this.__workersPool = new Pool(workerFabric, this.options.idle);\n singletones[wpool_key] = this.__workersPool;\n }\n } catch (__) {}\n }\n }\n\n var initMath = this.__mathlib.init().then(function (mathlib) {\n // Copy detected features\n assign(_this.features, mathlib.features);\n });\n\n var checkCibResize;\n\n if (!CAN_CREATE_IMAGE_BITMAP) {\n checkCibResize = Promise.resolve(false);\n } else {\n checkCibResize = utils.cib_support(this.options.createCanvas).then(function (status) {\n if (_this.features.cib && features.indexOf('cib') < 0) {\n _this.debug('createImageBitmap() resize supported, but disabled by config');\n\n return;\n }\n\n if (features.indexOf('cib') >= 0) _this.features.cib = status;\n });\n } // Init math lib. That's async because can load some\n\n\n this.__initPromise = Promise.all([initMath, checkCibResize]).then(function () {\n return _this;\n });\n return this.__initPromise;\n};\n\nPica.prototype.resize = function (from, to, options) {\n var _this2 = this;\n\n this.debug('Start resize...');\n var opts = assign({}, DEFAULT_RESIZE_OPTS);\n\n if (!isNaN(options)) {\n opts = assign(opts, {\n quality: options\n });\n } else if (options) {\n opts = assign(opts, options);\n }\n\n opts.toWidth = to.width;\n opts.toHeight = to.height;\n opts.width = from.naturalWidth || from.width;\n opts.height = from.naturalHeight || from.height; // Prevent stepper from infinite loop\n\n if (to.width === 0 || to.height === 0) {\n return Promise.reject(new Error(\"Invalid output size: \".concat(to.width, \"x\").concat(to.height)));\n }\n\n if (opts.unsharpRadius > 2) opts.unsharpRadius = 2;\n var canceled = false;\n var cancelToken = null;\n\n if (opts.cancelToken) {\n // Wrap cancelToken to avoid successive resolve & set flag\n cancelToken = opts.cancelToken.then(function (data) {\n canceled = true;\n throw data;\n }, function (err) {\n canceled = true;\n throw err;\n });\n }\n\n var DEST_TILE_BORDER = 3; // Max possible filter window size\n\n var destTileBorder = Math.ceil(Math.max(DEST_TILE_BORDER, 2.5 * opts.unsharpRadius | 0));\n return this.init().then(function () {\n if (canceled) return cancelToken; // if createImageBitmap supports resize, just do it and return\n\n if (_this2.features.cib) {\n var toCtx = to.getContext('2d', {\n alpha: Boolean(opts.alpha)\n });\n\n _this2.debug('Resize via createImageBitmap()');\n\n return createImageBitmap(from, {\n resizeWidth: opts.toWidth,\n resizeHeight: opts.toHeight,\n resizeQuality: utils.cib_quality_name(opts.quality)\n }).then(function (imageBitmap) {\n if (canceled) return cancelToken; // if no unsharp - draw directly to output canvas\n\n if (!opts.unsharpAmount) {\n toCtx.drawImage(imageBitmap, 0, 0);\n imageBitmap.close();\n toCtx = null;\n\n _this2.debug('Finished!');\n\n return to;\n }\n\n _this2.debug('Unsharp result');\n\n var tmpCanvas = _this2.options.createCanvas(opts.toWidth, opts.toHeight);\n\n var tmpCtx = tmpCanvas.getContext('2d', {\n alpha: Boolean(opts.alpha)\n });\n tmpCtx.drawImage(imageBitmap, 0, 0);\n imageBitmap.close();\n var iData = tmpCtx.getImageData(0, 0, opts.toWidth, opts.toHeight);\n\n _this2.__mathlib.unsharp_mask(iData.data, opts.toWidth, opts.toHeight, opts.unsharpAmount, opts.unsharpRadius, opts.unsharpThreshold);\n\n toCtx.putImageData(iData, 0, 0); // Safari 12 workaround\n // https://github.com/nodeca/pica/issues/199\n\n tmpCanvas.width = tmpCanvas.height = 0;\n iData = tmpCtx = tmpCanvas = toCtx = null;\n\n _this2.debug('Finished!');\n\n return to;\n });\n } //\n // No easy way, let's resize manually via arrays\n //\n // Share cache between calls:\n //\n // - wasm instance\n // - wasm memory object\n //\n\n\n var cache = {}; // Call resizer in webworker or locally, depending on config\n\n var invokeResize = function invokeResize(opts) {\n return Promise.resolve().then(function () {\n if (!_this2.features.ww) return _this2.__mathlib.resizeAndUnsharp(opts, cache);\n return new Promise(function (resolve, reject) {\n var w = _this2.__workersPool.acquire();\n\n if (cancelToken) cancelToken[\"catch\"](function (err) {\n return reject(err);\n });\n\n w.value.onmessage = function (ev) {\n w.release();\n if (ev.data.err) reject(ev.data.err);else resolve(ev.data.result);\n };\n\n w.value.postMessage({\n opts: opts,\n features: _this2.__requested_features,\n preload: {\n wasm_nodule: _this2.__mathlib.__\n }\n }, [opts.src.buffer]);\n });\n });\n };\n\n var tileAndResize = function tileAndResize(from, to, opts) {\n var srcCtx;\n var srcImageBitmap;\n var isImageBitmapReused = false;\n var toCtx;\n\n var processTile = function processTile(tile) {\n return _this2.__limit(function () {\n if (canceled) return cancelToken;\n var srcImageData; // Extract tile RGBA buffer, depending on input type\n\n if (utils.isCanvas(from)) {\n _this2.debug('Get tile pixel data'); // If input is Canvas - extract region data directly\n\n\n srcImageData = srcCtx.getImageData(tile.x, tile.y, tile.width, tile.height);\n } else {\n // If input is Image or decoded to ImageBitmap,\n // draw region to temporary canvas and extract data from it\n //\n // Note! Attempt to reuse this canvas causes significant slowdown in chrome\n //\n _this2.debug('Draw tile imageBitmap/image to temporary canvas');\n\n var tmpCanvas = _this2.options.createCanvas(tile.width, tile.height);\n\n var tmpCtx = tmpCanvas.getContext('2d', {\n alpha: Boolean(opts.alpha)\n });\n tmpCtx.globalCompositeOperation = 'copy';\n tmpCtx.drawImage(srcImageBitmap || from, tile.x, tile.y, tile.width, tile.height, 0, 0, tile.width, tile.height);\n\n _this2.debug('Get tile pixel data');\n\n srcImageData = tmpCtx.getImageData(0, 0, tile.width, tile.height); // Safari 12 workaround\n // https://github.com/nodeca/pica/issues/199\n\n tmpCanvas.width = tmpCanvas.height = 0;\n tmpCtx = tmpCanvas = null;\n }\n\n var o = {\n src: srcImageData.data,\n width: tile.width,\n height: tile.height,\n toWidth: tile.toWidth,\n toHeight: tile.toHeight,\n scaleX: tile.scaleX,\n scaleY: tile.scaleY,\n offsetX: tile.offsetX,\n offsetY: tile.offsetY,\n quality: opts.quality,\n alpha: opts.alpha,\n unsharpAmount: opts.unsharpAmount,\n unsharpRadius: opts.unsharpRadius,\n unsharpThreshold: opts.unsharpThreshold\n };\n\n _this2.debug('Invoke resize math');\n\n return Promise.resolve().then(function () {\n return invokeResize(o);\n }).then(function (result) {\n if (canceled) return cancelToken;\n srcImageData = null;\n var toImageData;\n\n _this2.debug('Convert raw rgba tile result to ImageData');\n\n if (CAN_NEW_IMAGE_DATA) {\n // this branch is for modern browsers\n // If `new ImageData()` & Uint8ClampedArray suported\n toImageData = new ImageData(new Uint8ClampedArray(result), tile.toWidth, tile.toHeight);\n } else {\n // fallback for `node-canvas` and old browsers\n // (IE11 has ImageData but does not support `new ImageData()`)\n toImageData = toCtx.createImageData(tile.toWidth, tile.toHeight);\n\n if (toImageData.data.set) {\n toImageData.data.set(result);\n } else {\n // IE9 don't have `.set()`\n for (var i = toImageData.data.length - 1; i >= 0; i--) {\n toImageData.data[i] = result[i];\n }\n }\n }\n\n _this2.debug('Draw tile');\n\n if (NEED_SAFARI_FIX) {\n // Safari draws thin white stripes between tiles without this fix\n toCtx.putImageData(toImageData, tile.toX, tile.toY, tile.toInnerX - tile.toX, tile.toInnerY - tile.toY, tile.toInnerWidth + 1e-5, tile.toInnerHeight + 1e-5);\n } else {\n toCtx.putImageData(toImageData, tile.toX, tile.toY, tile.toInnerX - tile.toX, tile.toInnerY - tile.toY, tile.toInnerWidth, tile.toInnerHeight);\n }\n\n return null;\n });\n });\n }; // Need to normalize data source first. It can be canvas or image.\n // If image - try to decode in background if possible\n\n\n return Promise.resolve().then(function () {\n toCtx = to.getContext('2d', {\n alpha: Boolean(opts.alpha)\n });\n\n if (utils.isCanvas(from)) {\n srcCtx = from.getContext('2d', {\n alpha: Boolean(opts.alpha)\n });\n return null;\n }\n\n if (utils.isImageBitmap(from)) {\n srcImageBitmap = from;\n isImageBitmapReused = true;\n return null;\n }\n\n if (utils.isImage(from)) {\n // try do decode image in background for faster next operations\n if (!CAN_CREATE_IMAGE_BITMAP) return null;\n\n _this2.debug('Decode image via createImageBitmap');\n\n return createImageBitmap(from).then(function (imageBitmap) {\n srcImageBitmap = imageBitmap;\n }) // Suppress error to use fallback, if method fails\n // https://github.com/nodeca/pica/issues/190\n\n /* eslint-disable no-unused-vars */\n [\"catch\"](function (e) {\n return null;\n });\n }\n\n throw new Error('Pica: \".from\" should be Image, Canvas or ImageBitmap');\n }).then(function () {\n if (canceled) return cancelToken;\n\n _this2.debug('Calculate tiles'); //\n // Here we are with \"normalized\" source,\n // follow to tiling\n //\n\n\n var regions = createRegions({\n width: opts.width,\n height: opts.height,\n srcTileSize: _this2.options.tile,\n toWidth: opts.toWidth,\n toHeight: opts.toHeight,\n destTileBorder: destTileBorder\n });\n var jobs = regions.map(function (tile) {\n return processTile(tile);\n });\n\n function cleanup() {\n if (srcImageBitmap) {\n if (!isImageBitmapReused) srcImageBitmap.close();\n srcImageBitmap = null;\n }\n }\n\n _this2.debug('Process tiles');\n\n return Promise.all(jobs).then(function () {\n _this2.debug('Finished!');\n\n cleanup();\n return to;\n }, function (err) {\n cleanup();\n throw err;\n });\n });\n };\n\n var processStages = function processStages(stages, from, to, opts) {\n if (canceled) return cancelToken;\n\n var _stages$shift = stages.shift(),\n _stages$shift2 = _slicedToArray(_stages$shift, 2),\n toWidth = _stages$shift2[0],\n toHeight = _stages$shift2[1];\n\n var isLastStage = stages.length === 0;\n opts = assign({}, opts, {\n toWidth: toWidth,\n toHeight: toHeight,\n // only use user-defined quality for the last stage,\n // use simpler (Hamming) filter for the first stages where\n // scale factor is large enough (more than 2-3)\n quality: isLastStage ? opts.quality : Math.min(1, opts.quality)\n });\n var tmpCanvas;\n\n if (!isLastStage) {\n // create temporary canvas\n tmpCanvas = _this2.options.createCanvas(toWidth, toHeight);\n }\n\n return tileAndResize(from, isLastStage ? to : tmpCanvas, opts).then(function () {\n if (isLastStage) return to;\n opts.width = toWidth;\n opts.height = toHeight;\n return processStages(stages, tmpCanvas, to, opts);\n }).then(function (res) {\n if (tmpCanvas) {\n // Safari 12 workaround\n // https://github.com/nodeca/pica/issues/199\n tmpCanvas.width = tmpCanvas.height = 0;\n }\n\n return res;\n });\n };\n\n var stages = createStages(opts.width, opts.height, opts.toWidth, opts.toHeight, _this2.options.tile, destTileBorder);\n return processStages(stages, from, to, opts);\n });\n}; // RGBA buffer resize\n//\n\n\nPica.prototype.resizeBuffer = function (options) {\n var _this3 = this;\n\n var opts = assign({}, DEFAULT_RESIZE_OPTS, options);\n return this.init().then(function () {\n return _this3.__mathlib.resizeAndUnsharp(opts);\n });\n};\n\nPica.prototype.toBlob = function (canvas, mimeType, quality) {\n mimeType = mimeType || 'image/png';\n return new Promise(function (resolve) {\n if (canvas.toBlob) {\n canvas.toBlob(function (blob) {\n return resolve(blob);\n }, mimeType, quality);\n return;\n }\n\n if (canvas.convertToBlob) {\n resolve(canvas.convertToBlob({\n type: mimeType,\n quality: quality\n }));\n return;\n } // Fallback for old browsers\n\n\n var asString = atob(canvas.toDataURL(mimeType, quality).split(',')[1]);\n var len = asString.length;\n var asBuffer = new Uint8Array(len);\n\n for (var i = 0; i < len; i++) {\n asBuffer[i] = asString.charCodeAt(i);\n }\n\n resolve(new Blob([asBuffer], {\n type: mimeType\n }));\n });\n};\n\nPica.prototype.debug = function () {};\n\nmodule.exports = Pica;\n\n},{\"./lib/mathlib\":1,\"./lib/pool\":9,\"./lib/stepper\":10,\"./lib/tiler\":11,\"./lib/utils\":12,\"./lib/worker\":13,\"object-assign\":24,\"webworkify\":25}]},{},[])(\"/index.js\")\n});\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","var mode = require('./mode');\n\nfunction QR8bitByte(data) {\n\tthis.mode = mode.MODE_8BIT_BYTE;\n\tthis.data = data;\n}\n\nQR8bitByte.prototype = {\n\n\tgetLength : function(buffer) {\n\t\treturn this.data.length;\n\t},\n\t\n\twrite : function(buffer) {\n\t\tfor (var i = 0; i < this.data.length; i++) {\n\t\t\t// not JIS ...\n\t\t\tbuffer.put(this.data.charCodeAt(i), 8);\n\t\t}\n\t}\n};\n\nmodule.exports = QR8bitByte;\n\n","function QRBitBuffer() {\n\tthis.buffer = new Array();\n\tthis.length = 0;\n}\n\nQRBitBuffer.prototype = {\n\n\tget : function(index) {\n\t\tvar bufIndex = Math.floor(index / 8);\n\t\treturn ( (this.buffer[bufIndex] >>> (7 - index % 8) ) & 1) == 1;\n\t},\n\t\n\tput : function(num, length) {\n\t\tfor (var i = 0; i < length; i++) {\n\t\t\tthis.putBit( ( (num >>> (length - i - 1) ) & 1) == 1);\n\t\t}\n\t},\n\t\n\tgetLengthInBits : function() {\n\t\treturn this.length;\n\t},\n\t\n\tputBit : function(bit) {\n\t\n\t\tvar bufIndex = Math.floor(this.length / 8);\n\t\tif (this.buffer.length <= bufIndex) {\n\t\t\tthis.buffer.push(0);\n\t\t}\n\t\n\t\tif (bit) {\n\t\t\tthis.buffer[bufIndex] |= (0x80 >>> (this.length % 8) );\n\t\t}\n\t\n\t\tthis.length++;\n\t}\n};\n\nmodule.exports = QRBitBuffer;\n","module.exports = {\n\tL : 1,\n\tM : 0,\n\tQ : 3,\n\tH : 2\n};\n\n","var math = require('./math');\n\nfunction QRPolynomial(num, shift) {\n\n\tif (num.length == undefined) {\n\t\tthrow new Error(num.length + \"/\" + shift);\n\t}\n\n\tvar offset = 0;\n\n\twhile (offset < num.length && num[offset] == 0) {\n\t\toffset++;\n\t}\n\n\tthis.num = new Array(num.length - offset + shift);\n\tfor (var i = 0; i < num.length - offset; i++) {\n\t\tthis.num[i] = num[i + offset];\n\t}\n}\n\nQRPolynomial.prototype = {\n\n\tget : function(index) {\n\t\treturn this.num[index];\n\t},\n\t\n\tgetLength : function() {\n\t\treturn this.num.length;\n\t},\n\t\n\tmultiply : function(e) {\n\t\n\t\tvar num = new Array(this.getLength() + e.getLength() - 1);\n\t\n\t\tfor (var i = 0; i < this.getLength(); i++) {\n\t\t\tfor (var j = 0; j < e.getLength(); j++) {\n\t\t\t\tnum[i + j] ^= math.gexp(math.glog(this.get(i) ) + math.glog(e.get(j) ) );\n\t\t\t}\n\t\t}\n\t\n\t\treturn new QRPolynomial(num, 0);\n\t},\n\t\n\tmod : function(e) {\n\t\n\t\tif (this.getLength() - e.getLength() < 0) {\n\t\t\treturn this;\n\t\t}\n\t\n\t\tvar ratio = math.glog(this.get(0) ) - math.glog(e.get(0) );\n\t\n\t\tvar num = new Array(this.getLength() );\n\t\t\n\t\tfor (var i = 0; i < this.getLength(); i++) {\n\t\t\tnum[i] = this.get(i);\n\t\t}\n\t\t\n\t\tfor (var i = 0; i < e.getLength(); i++) {\n\t\t\tnum[i] ^= math.gexp(math.glog(e.get(i) ) + ratio);\n\t\t}\n\t\n\t\t// recursive call\n\t\treturn new QRPolynomial(num, 0).mod(e);\n\t}\n};\n\nmodule.exports = QRPolynomial;\n","var BitByte = require('./8BitByte');\nvar RSBlock = require('./RSBlock');\nvar BitBuffer = require('./BitBuffer');\nvar util = require('./util');\nvar Polynomial = require('./Polynomial');\n\nfunction QRCode(typeNumber, errorCorrectLevel) {\n\tthis.typeNumber = typeNumber;\n\tthis.errorCorrectLevel = errorCorrectLevel;\n\tthis.modules = null;\n\tthis.moduleCount = 0;\n\tthis.dataCache = null;\n\tthis.dataList = [];\n}\n\n// for client side minification\nvar proto = QRCode.prototype;\n\nproto.addData = function(data) {\n\tvar newData = new BitByte(data);\n\tthis.dataList.push(newData);\n\tthis.dataCache = null;\n};\n\nproto.isDark = function(row, col) {\n\tif (row < 0 || this.moduleCount <= row || col < 0 || this.moduleCount <= col) {\n\t\tthrow new Error(row + \",\" + col);\n\t}\n\treturn this.modules[row][col];\n};\n\nproto.getModuleCount = function() {\n\treturn this.moduleCount;\n};\n\nproto.make = function() {\n\t// Calculate automatically typeNumber if provided is < 1\n\tif (this.typeNumber < 1 ){\n\t\tvar typeNumber = 1;\n\t\tfor (typeNumber = 1; typeNumber < 40; typeNumber++) {\n\t\t\tvar rsBlocks = RSBlock.getRSBlocks(typeNumber, this.errorCorrectLevel);\n\n\t\t\tvar buffer = new BitBuffer();\n\t\t\tvar totalDataCount = 0;\n\t\t\tfor (var i = 0; i < rsBlocks.length; i++) {\n\t\t\t\ttotalDataCount += rsBlocks[i].dataCount;\n\t\t\t}\n\n\t\t\tfor (var i = 0; i < this.dataList.length; i++) {\n\t\t\t\tvar data = this.dataList[i];\n\t\t\t\tbuffer.put(data.mode, 4);\n\t\t\t\tbuffer.put(data.getLength(), util.getLengthInBits(data.mode, typeNumber) );\n\t\t\t\tdata.write(buffer);\n\t\t\t}\n\t\t\tif (buffer.getLengthInBits() <= totalDataCount * 8)\n\t\t\t\tbreak;\n\t\t}\n\t\tthis.typeNumber = typeNumber;\n\t}\n\tthis.makeImpl(false, this.getBestMaskPattern() );\n};\n\nproto.makeImpl = function(test, maskPattern) {\n\t\n\tthis.moduleCount = this.typeNumber * 4 + 17;\n\tthis.modules = new Array(this.moduleCount);\n\t\n\tfor (var row = 0; row < this.moduleCount; row++) {\n\t\t\n\t\tthis.modules[row] = new Array(this.moduleCount);\n\t\t\n\t\tfor (var col = 0; col < this.moduleCount; col++) {\n\t\t\tthis.modules[row][col] = null;//(col + row) % 3;\n\t\t}\n\t}\n\n\tthis.setupPositionProbePattern(0, 0);\n\tthis.setupPositionProbePattern(this.moduleCount - 7, 0);\n\tthis.setupPositionProbePattern(0, this.moduleCount - 7);\n\tthis.setupPositionAdjustPattern();\n\tthis.setupTimingPattern();\n\tthis.setupTypeInfo(test, maskPattern);\n\t\n\tif (this.typeNumber >= 7) {\n\t\tthis.setupTypeNumber(test);\n\t}\n\n\tif (this.dataCache == null) {\n\t\tthis.dataCache = QRCode.createData(this.typeNumber, this.errorCorrectLevel, this.dataList);\n\t}\n\n\tthis.mapData(this.dataCache, maskPattern);\n};\n\nproto.setupPositionProbePattern = function(row, col) {\n\t\n\tfor (var r = -1; r <= 7; r++) {\n\t\t\n\t\tif (row + r <= -1 || this.moduleCount <= row + r) continue;\n\t\t\n\t\tfor (var c = -1; c <= 7; c++) {\n\t\t\t\n\t\t\tif (col + c <= -1 || this.moduleCount <= col + c) continue;\n\t\t\t\n\t\t\tif ( (0 <= r && r <= 6 && (c == 0 || c == 6) )\n\t\t\t\t\t|| (0 <= c && c <= 6 && (r == 0 || r == 6) )\n\t\t\t\t\t|| (2 <= r && r <= 4 && 2 <= c && c <= 4) ) {\n\t\t\t\tthis.modules[row + r][col + c] = true;\n\t\t\t} else {\n\t\t\t\tthis.modules[row + r][col + c] = false;\n\t\t\t}\n\t\t}\t\t\n\t}\t\t\n};\n\nproto.getBestMaskPattern = function() {\n\n\tvar minLostPoint = 0;\n\tvar pattern = 0;\n\n\tfor (var i = 0; i < 8; i++) {\n\t\t\n\t\tthis.makeImpl(true, i);\n\n\t\tvar lostPoint = util.getLostPoint(this);\n\n\t\tif (i == 0 || minLostPoint > lostPoint) {\n\t\t\tminLostPoint = lostPoint;\n\t\t\tpattern = i;\n\t\t}\n\t}\n\n\treturn pattern;\n};\n\nproto.createMovieClip = function(target_mc, instance_name, depth) {\n\n\tvar qr_mc = target_mc.createEmptyMovieClip(instance_name, depth);\n\tvar cs = 1;\n\n\tthis.make();\n\n\tfor (var row = 0; row < this.modules.length; row++) {\n\t\t\n\t\tvar y = row * cs;\n\t\t\n\t\tfor (var col = 0; col < this.modules[row].length; col++) {\n\n\t\t\tvar x = col * cs;\n\t\t\tvar dark = this.modules[row][col];\n\t\t\n\t\t\tif (dark) {\n\t\t\t\tqr_mc.beginFill(0, 100);\n\t\t\t\tqr_mc.moveTo(x, y);\n\t\t\t\tqr_mc.lineTo(x + cs, y);\n\t\t\t\tqr_mc.lineTo(x + cs, y + cs);\n\t\t\t\tqr_mc.lineTo(x, y + cs);\n\t\t\t\tqr_mc.endFill();\n\t\t\t}\n\t\t}\n\t}\n\t\n\treturn qr_mc;\n};\n\nproto.setupTimingPattern = function() {\n\t\n\tfor (var r = 8; r < this.moduleCount - 8; r++) {\n\t\tif (this.modules[r][6] != null) {\n\t\t\tcontinue;\n\t\t}\n\t\tthis.modules[r][6] = (r % 2 == 0);\n\t}\n\n\tfor (var c = 8; c < this.moduleCount - 8; c++) {\n\t\tif (this.modules[6][c] != null) {\n\t\t\tcontinue;\n\t\t}\n\t\tthis.modules[6][c] = (c % 2 == 0);\n\t}\n};\n\nproto.setupPositionAdjustPattern = function() {\n\n\tvar pos = util.getPatternPosition(this.typeNumber);\n\t\n\tfor (var i = 0; i < pos.length; i++) {\n\t\n\t\tfor (var j = 0; j < pos.length; j++) {\n\t\t\n\t\t\tvar row = pos[i];\n\t\t\tvar col = pos[j];\n\t\t\t\n\t\t\tif (this.modules[row][col] != null) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\t\n\t\t\tfor (var r = -2; r <= 2; r++) {\n\t\t\t\n\t\t\t\tfor (var c = -2; c <= 2; c++) {\n\t\t\t\t\n\t\t\t\t\tif (r == -2 || r == 2 || c == -2 || c == 2\n\t\t\t\t\t\t\t|| (r == 0 && c == 0) ) {\n\t\t\t\t\t\tthis.modules[row + r][col + c] = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.modules[row + r][col + c] = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nproto.setupTypeNumber = function(test) {\n\n\tvar bits = util.getBCHTypeNumber(this.typeNumber);\n\n\tfor (var i = 0; i < 18; i++) {\n\t\tvar mod = (!test && ( (bits >> i) & 1) == 1);\n\t\tthis.modules[Math.floor(i / 3)][i % 3 + this.moduleCount - 8 - 3] = mod;\n\t}\n\n\tfor (var i = 0; i < 18; i++) {\n\t\tvar mod = (!test && ( (bits >> i) & 1) == 1);\n\t\tthis.modules[i % 3 + this.moduleCount - 8 - 3][Math.floor(i / 3)] = mod;\n\t}\n};\n\nproto.setupTypeInfo = function(test, maskPattern) {\n\n\tvar data = (this.errorCorrectLevel << 3) | maskPattern;\n\tvar bits = util.getBCHTypeInfo(data);\n\n\t// vertical\t\t\n\tfor (var i = 0; i < 15; i++) {\n\n\t\tvar mod = (!test && ( (bits >> i) & 1) == 1);\n\n\t\tif (i < 6) {\n\t\t\tthis.modules[i][8] = mod;\n\t\t} else if (i < 8) {\n\t\t\tthis.modules[i + 1][8] = mod;\n\t\t} else {\n\t\t\tthis.modules[this.moduleCount - 15 + i][8] = mod;\n\t\t}\n\t}\n\n\t// horizontal\n\tfor (var i = 0; i < 15; i++) {\n\n\t\tvar mod = (!test && ( (bits >> i) & 1) == 1);\n\t\t\n\t\tif (i < 8) {\n\t\t\tthis.modules[8][this.moduleCount - i - 1] = mod;\n\t\t} else if (i < 9) {\n\t\t\tthis.modules[8][15 - i - 1 + 1] = mod;\n\t\t} else {\n\t\t\tthis.modules[8][15 - i - 1] = mod;\n\t\t}\n\t}\n\n\t// fixed module\n\tthis.modules[this.moduleCount - 8][8] = (!test);\n};\n\nproto.mapData = function(data, maskPattern) {\n\t\n\tvar inc = -1;\n\tvar row = this.moduleCount - 1;\n\tvar bitIndex = 7;\n\tvar byteIndex = 0;\n\t\n\tfor (var col = this.moduleCount - 1; col > 0; col -= 2) {\n\n\t\tif (col == 6) col--;\n\n\t\twhile (true) {\n\n\t\t\tfor (var c = 0; c < 2; c++) {\n\t\t\t\t\n\t\t\t\tif (this.modules[row][col - c] == null) {\n\t\t\t\t\t\n\t\t\t\t\tvar dark = false;\n\n\t\t\t\t\tif (byteIndex < data.length) {\n\t\t\t\t\t\tdark = ( ( (data[byteIndex] >>> bitIndex) & 1) == 1);\n\t\t\t\t\t}\n\n\t\t\t\t\tvar mask = util.getMask(maskPattern, row, col - c);\n\n\t\t\t\t\tif (mask) {\n\t\t\t\t\t\tdark = !dark;\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tthis.modules[row][col - c] = dark;\n\t\t\t\t\tbitIndex--;\n\n\t\t\t\t\tif (bitIndex == -1) {\n\t\t\t\t\t\tbyteIndex++;\n\t\t\t\t\t\tbitIndex = 7;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\trow += inc;\n\n\t\t\tif (row < 0 || this.moduleCount <= row) {\n\t\t\t\trow -= inc;\n\t\t\t\tinc = -inc;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n};\n\nQRCode.PAD0 = 0xEC;\nQRCode.PAD1 = 0x11;\n\nQRCode.createData = function(typeNumber, errorCorrectLevel, dataList) {\n\t\n\tvar rsBlocks = RSBlock.getRSBlocks(typeNumber, errorCorrectLevel);\n\t\n\tvar buffer = new BitBuffer();\n\t\n\tfor (var i = 0; i < dataList.length; i++) {\n\t\tvar data = dataList[i];\n\t\tbuffer.put(data.mode, 4);\n\t\tbuffer.put(data.getLength(), util.getLengthInBits(data.mode, typeNumber) );\n\t\tdata.write(buffer);\n\t}\n\n\t// calc num max data.\n\tvar totalDataCount = 0;\n\tfor (var i = 0; i < rsBlocks.length; i++) {\n\t\ttotalDataCount += rsBlocks[i].dataCount;\n\t}\n\n\tif (buffer.getLengthInBits() > totalDataCount * 8) {\n\t\tthrow new Error(\"code length overflow. (\"\n\t\t\t+ buffer.getLengthInBits()\n\t\t\t+ \">\"\n\t\t\t+ totalDataCount * 8\n\t\t\t+ \")\");\n\t}\n\n\t// end code\n\tif (buffer.getLengthInBits() + 4 <= totalDataCount * 8) {\n\t\tbuffer.put(0, 4);\n\t}\n\n\t// padding\n\twhile (buffer.getLengthInBits() % 8 != 0) {\n\t\tbuffer.putBit(false);\n\t}\n\n\t// padding\n\twhile (true) {\n\t\t\n\t\tif (buffer.getLengthInBits() >= totalDataCount * 8) {\n\t\t\tbreak;\n\t\t}\n\t\tbuffer.put(QRCode.PAD0, 8);\n\t\t\n\t\tif (buffer.getLengthInBits() >= totalDataCount * 8) {\n\t\t\tbreak;\n\t\t}\n\t\tbuffer.put(QRCode.PAD1, 8);\n\t}\n\n\treturn QRCode.createBytes(buffer, rsBlocks);\n};\n\nQRCode.createBytes = function(buffer, rsBlocks) {\n\n\tvar offset = 0;\n\t\n\tvar maxDcCount = 0;\n\tvar maxEcCount = 0;\n\t\n\tvar dcdata = new Array(rsBlocks.length);\n\tvar ecdata = new Array(rsBlocks.length);\n\t\n\tfor (var r = 0; r < rsBlocks.length; r++) {\n\n\t\tvar dcCount = rsBlocks[r].dataCount;\n\t\tvar ecCount = rsBlocks[r].totalCount - dcCount;\n\n\t\tmaxDcCount = Math.max(maxDcCount, dcCount);\n\t\tmaxEcCount = Math.max(maxEcCount, ecCount);\n\t\t\n\t\tdcdata[r] = new Array(dcCount);\n\t\t\n\t\tfor (var i = 0; i < dcdata[r].length; i++) {\n\t\t\tdcdata[r][i] = 0xff & buffer.buffer[i + offset];\n\t\t}\n\t\toffset += dcCount;\n\t\t\n\t\tvar rsPoly = util.getErrorCorrectPolynomial(ecCount);\n\t\tvar rawPoly = new Polynomial(dcdata[r], rsPoly.getLength() - 1);\n\n\t\tvar modPoly = rawPoly.mod(rsPoly);\n\t\tecdata[r] = new Array(rsPoly.getLength() - 1);\n\t\tfor (var i = 0; i < ecdata[r].length; i++) {\n var modIndex = i + modPoly.getLength() - ecdata[r].length;\n\t\t\tecdata[r][i] = (modIndex >= 0)? modPoly.get(modIndex) : 0;\n\t\t}\n\n\t}\n\t\n\tvar totalCodeCount = 0;\n\tfor (var i = 0; i < rsBlocks.length; i++) {\n\t\ttotalCodeCount += rsBlocks[i].totalCount;\n\t}\n\n\tvar data = new Array(totalCodeCount);\n\tvar index = 0;\n\n\tfor (var i = 0; i < maxDcCount; i++) {\n\t\tfor (var r = 0; r < rsBlocks.length; r++) {\n\t\t\tif (i < dcdata[r].length) {\n\t\t\t\tdata[index++] = dcdata[r][i];\n\t\t\t}\n\t\t}\n\t}\n\n\tfor (var i = 0; i < maxEcCount; i++) {\n\t\tfor (var r = 0; r < rsBlocks.length; r++) {\n\t\t\tif (i < ecdata[r].length) {\n\t\t\t\tdata[index++] = ecdata[r][i];\n\t\t\t}\n\t\t}\n\t}\n\n\treturn data;\n};\n\nmodule.exports = QRCode;\n\n","// ErrorCorrectLevel\nvar ECL = require('./ErrorCorrectLevel');\n\nfunction QRRSBlock(totalCount, dataCount) {\n\tthis.totalCount = totalCount;\n\tthis.dataCount = dataCount;\n}\n\nQRRSBlock.RS_BLOCK_TABLE = [\n\n\t// L\n\t// M\n\t// Q\n\t// H\n\n\t// 1\n\t[1, 26, 19],\n\t[1, 26, 16],\n\t[1, 26, 13],\n\t[1, 26, 9],\n\t\n\t// 2\n\t[1, 44, 34],\n\t[1, 44, 28],\n\t[1, 44, 22],\n\t[1, 44, 16],\n\n\t// 3\n\t[1, 70, 55],\n\t[1, 70, 44],\n\t[2, 35, 17],\n\t[2, 35, 13],\n\n\t// 4\t\t\n\t[1, 100, 80],\n\t[2, 50, 32],\n\t[2, 50, 24],\n\t[4, 25, 9],\n\t\n\t// 5\n\t[1, 134, 108],\n\t[2, 67, 43],\n\t[2, 33, 15, 2, 34, 16],\n\t[2, 33, 11, 2, 34, 12],\n\t\n\t// 6\n\t[2, 86, 68],\n\t[4, 43, 27],\n\t[4, 43, 19],\n\t[4, 43, 15],\n\t\n\t// 7\t\t\n\t[2, 98, 78],\n\t[4, 49, 31],\n\t[2, 32, 14, 4, 33, 15],\n\t[4, 39, 13, 1, 40, 14],\n\t\n\t// 8\n\t[2, 121, 97],\n\t[2, 60, 38, 2, 61, 39],\n\t[4, 40, 18, 2, 41, 19],\n\t[4, 40, 14, 2, 41, 15],\n\t\n\t// 9\n\t[2, 146, 116],\n\t[3, 58, 36, 2, 59, 37],\n\t[4, 36, 16, 4, 37, 17],\n\t[4, 36, 12, 4, 37, 13],\n\t\n\t// 10\t\t\n\t[2, 86, 68, 2, 87, 69],\n\t[4, 69, 43, 1, 70, 44],\n\t[6, 43, 19, 2, 44, 20],\n\t[6, 43, 15, 2, 44, 16],\n\n\t// 11\n\t[4, 101, 81],\n\t[1, 80, 50, 4, 81, 51],\n\t[4, 50, 22, 4, 51, 23],\n\t[3, 36, 12, 8, 37, 13],\n\n\t// 12\n\t[2, 116, 92, 2, 117, 93],\n\t[6, 58, 36, 2, 59, 37],\n\t[4, 46, 20, 6, 47, 21],\n\t[7, 42, 14, 4, 43, 15],\n\n\t// 13\n\t[4, 133, 107],\n\t[8, 59, 37, 1, 60, 38],\n\t[8, 44, 20, 4, 45, 21],\n\t[12, 33, 11, 4, 34, 12],\n\n\t// 14\n\t[3, 145, 115, 1, 146, 116],\n\t[4, 64, 40, 5, 65, 41],\n\t[11, 36, 16, 5, 37, 17],\n\t[11, 36, 12, 5, 37, 13],\n\n\t// 15\n\t[5, 109, 87, 1, 110, 88],\n\t[5, 65, 41, 5, 66, 42],\n\t[5, 54, 24, 7, 55, 25],\n\t[11, 36, 12],\n\n\t// 16\n\t[5, 122, 98, 1, 123, 99],\n\t[7, 73, 45, 3, 74, 46],\n\t[15, 43, 19, 2, 44, 20],\n\t[3, 45, 15, 13, 46, 16],\n\n\t// 17\n\t[1, 135, 107, 5, 136, 108],\n\t[10, 74, 46, 1, 75, 47],\n\t[1, 50, 22, 15, 51, 23],\n\t[2, 42, 14, 17, 43, 15],\n\n\t// 18\n\t[5, 150, 120, 1, 151, 121],\n\t[9, 69, 43, 4, 70, 44],\n\t[17, 50, 22, 1, 51, 23],\n\t[2, 42, 14, 19, 43, 15],\n\n\t// 19\n\t[3, 141, 113, 4, 142, 114],\n\t[3, 70, 44, 11, 71, 45],\n\t[17, 47, 21, 4, 48, 22],\n\t[9, 39, 13, 16, 40, 14],\n\n\t// 20\n\t[3, 135, 107, 5, 136, 108],\n\t[3, 67, 41, 13, 68, 42],\n\t[15, 54, 24, 5, 55, 25],\n\t[15, 43, 15, 10, 44, 16],\n\n\t// 21\n\t[4, 144, 116, 4, 145, 117],\n\t[17, 68, 42],\n\t[17, 50, 22, 6, 51, 23],\n\t[19, 46, 16, 6, 47, 17],\n\n\t// 22\n\t[2, 139, 111, 7, 140, 112],\n\t[17, 74, 46],\n\t[7, 54, 24, 16, 55, 25],\n\t[34, 37, 13],\n\n\t// 23\n\t[4, 151, 121, 5, 152, 122],\n\t[4, 75, 47, 14, 76, 48],\n\t[11, 54, 24, 14, 55, 25],\n\t[16, 45, 15, 14, 46, 16],\n\n\t// 24\n\t[6, 147, 117, 4, 148, 118],\n\t[6, 73, 45, 14, 74, 46],\n\t[11, 54, 24, 16, 55, 25],\n\t[30, 46, 16, 2, 47, 17],\n\n\t// 25\n\t[8, 132, 106, 4, 133, 107],\n\t[8, 75, 47, 13, 76, 48],\n\t[7, 54, 24, 22, 55, 25],\n\t[22, 45, 15, 13, 46, 16],\n\n\t// 26\n\t[10, 142, 114, 2, 143, 115],\n\t[19, 74, 46, 4, 75, 47],\n\t[28, 50, 22, 6, 51, 23],\n\t[33, 46, 16, 4, 47, 17],\n\n\t// 27\n\t[8, 152, 122, 4, 153, 123],\n\t[22, 73, 45, 3, 74, 46],\n\t[8, 53, 23, 26, 54, 24],\n\t[12, 45, 15, 28, 46, 16],\n\n\t// 28\n\t[3, 147, 117, 10, 148, 118],\n\t[3, 73, 45, 23, 74, 46],\n\t[4, 54, 24, 31, 55, 25],\n\t[11, 45, 15, 31, 46, 16],\n\n\t// 29\n\t[7, 146, 116, 7, 147, 117],\n\t[21, 73, 45, 7, 74, 46],\n\t[1, 53, 23, 37, 54, 24],\n\t[19, 45, 15, 26, 46, 16],\n\n\t// 30\n\t[5, 145, 115, 10, 146, 116],\n\t[19, 75, 47, 10, 76, 48],\n\t[15, 54, 24, 25, 55, 25],\n\t[23, 45, 15, 25, 46, 16],\n\n\t// 31\n\t[13, 145, 115, 3, 146, 116],\n\t[2, 74, 46, 29, 75, 47],\n\t[42, 54, 24, 1, 55, 25],\n\t[23, 45, 15, 28, 46, 16],\n\n\t// 32\n\t[17, 145, 115],\n\t[10, 74, 46, 23, 75, 47],\n\t[10, 54, 24, 35, 55, 25],\n\t[19, 45, 15, 35, 46, 16],\n\n\t// 33\n\t[17, 145, 115, 1, 146, 116],\n\t[14, 74, 46, 21, 75, 47],\n\t[29, 54, 24, 19, 55, 25],\n\t[11, 45, 15, 46, 46, 16],\n\n\t// 34\n\t[13, 145, 115, 6, 146, 116],\n\t[14, 74, 46, 23, 75, 47],\n\t[44, 54, 24, 7, 55, 25],\n\t[59, 46, 16, 1, 47, 17],\n\n\t// 35\n\t[12, 151, 121, 7, 152, 122],\n\t[12, 75, 47, 26, 76, 48],\n\t[39, 54, 24, 14, 55, 25],\n\t[22, 45, 15, 41, 46, 16],\n\n\t// 36\n\t[6, 151, 121, 14, 152, 122],\n\t[6, 75, 47, 34, 76, 48],\n\t[46, 54, 24, 10, 55, 25],\n\t[2, 45, 15, 64, 46, 16],\n\n\t// 37\n\t[17, 152, 122, 4, 153, 123],\n\t[29, 74, 46, 14, 75, 47],\n\t[49, 54, 24, 10, 55, 25],\n\t[24, 45, 15, 46, 46, 16],\n\n\t// 38\n\t[4, 152, 122, 18, 153, 123],\n\t[13, 74, 46, 32, 75, 47],\n\t[48, 54, 24, 14, 55, 25],\n\t[42, 45, 15, 32, 46, 16],\n\n\t// 39\n\t[20, 147, 117, 4, 148, 118],\n\t[40, 75, 47, 7, 76, 48],\n\t[43, 54, 24, 22, 55, 25],\n\t[10, 45, 15, 67, 46, 16],\n\n\t// 40\n\t[19, 148, 118, 6, 149, 119],\n\t[18, 75, 47, 31, 76, 48],\n\t[34, 54, 24, 34, 55, 25],\n\t[20, 45, 15, 61, 46, 16]\n];\n\nQRRSBlock.getRSBlocks = function(typeNumber, errorCorrectLevel) {\n\t\n\tvar rsBlock = QRRSBlock.getRsBlockTable(typeNumber, errorCorrectLevel);\n\t\n\tif (rsBlock == undefined) {\n\t\tthrow new Error(\"bad rs block @ typeNumber:\" + typeNumber + \"/errorCorrectLevel:\" + errorCorrectLevel);\n\t}\n\n\tvar length = rsBlock.length / 3;\n\t\n\tvar list = new Array();\n\t\n\tfor (var i = 0; i < length; i++) {\n\n\t\tvar count = rsBlock[i * 3 + 0];\n\t\tvar totalCount = rsBlock[i * 3 + 1];\n\t\tvar dataCount = rsBlock[i * 3 + 2];\n\n\t\tfor (var j = 0; j < count; j++) {\n\t\t\tlist.push(new QRRSBlock(totalCount, dataCount) );\t\n\t\t}\n\t}\n\t\n\treturn list;\n}\n\nQRRSBlock.getRsBlockTable = function(typeNumber, errorCorrectLevel) {\n\n\tswitch(errorCorrectLevel) {\n\tcase ECL.L :\n\t\treturn QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 0];\n\tcase ECL.M :\n\t\treturn QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 1];\n\tcase ECL.Q :\n\t\treturn QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 2];\n\tcase ECL.H :\n\t\treturn QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 3];\n\tdefault :\n\t\treturn undefined;\n\t}\n}\n\nmodule.exports = QRRSBlock;\n","var QRMath = {\n\n\tglog : function(n) {\n\t\n\t\tif (n < 1) {\n\t\t\tthrow new Error(\"glog(\" + n + \")\");\n\t\t}\n\t\t\n\t\treturn QRMath.LOG_TABLE[n];\n\t},\n\t\n\tgexp : function(n) {\n\t\n\t\twhile (n < 0) {\n\t\t\tn += 255;\n\t\t}\n\t\n\t\twhile (n >= 256) {\n\t\t\tn -= 255;\n\t\t}\n\t\n\t\treturn QRMath.EXP_TABLE[n];\n\t},\n\t\n\tEXP_TABLE : new Array(256),\n\t\n\tLOG_TABLE : new Array(256)\n\n};\n\t\nfor (var i = 0; i < 8; i++) {\n\tQRMath.EXP_TABLE[i] = 1 << i;\n}\nfor (var i = 8; i < 256; i++) {\n\tQRMath.EXP_TABLE[i] = QRMath.EXP_TABLE[i - 4]\n\t\t^ QRMath.EXP_TABLE[i - 5]\n\t\t^ QRMath.EXP_TABLE[i - 6]\n\t\t^ QRMath.EXP_TABLE[i - 8];\n}\nfor (var i = 0; i < 255; i++) {\n\tQRMath.LOG_TABLE[QRMath.EXP_TABLE[i] ] = i;\n}\n\nmodule.exports = QRMath;\n","module.exports = {\n\tMODE_NUMBER :\t\t1 << 0,\n\tMODE_ALPHA_NUM : \t1 << 1,\n\tMODE_8BIT_BYTE : \t1 << 2,\n\tMODE_KANJI :\t\t1 << 3\n};\n","var Mode = require('./mode');\nvar Polynomial = require('./Polynomial');\nvar math = require('./math');\n\nvar QRMaskPattern = {\n\tPATTERN000 : 0,\n\tPATTERN001 : 1,\n\tPATTERN010 : 2,\n\tPATTERN011 : 3,\n\tPATTERN100 : 4,\n\tPATTERN101 : 5,\n\tPATTERN110 : 6,\n\tPATTERN111 : 7\n};\n\nvar QRUtil = {\n\n PATTERN_POSITION_TABLE : [\n\t [],\n\t [6, 18],\n\t [6, 22],\n\t [6, 26],\n\t [6, 30],\n\t [6, 34],\n\t [6, 22, 38],\n\t [6, 24, 42],\n\t [6, 26, 46],\n\t [6, 28, 50],\n\t [6, 30, 54],\t\t\n\t [6, 32, 58],\n\t [6, 34, 62],\n\t [6, 26, 46, 66],\n\t [6, 26, 48, 70],\n\t [6, 26, 50, 74],\n\t [6, 30, 54, 78],\n\t [6, 30, 56, 82],\n\t [6, 30, 58, 86],\n\t [6, 34, 62, 90],\n\t [6, 28, 50, 72, 94],\n\t [6, 26, 50, 74, 98],\n\t [6, 30, 54, 78, 102],\n\t [6, 28, 54, 80, 106],\n\t [6, 32, 58, 84, 110],\n\t [6, 30, 58, 86, 114],\n\t [6, 34, 62, 90, 118],\n\t [6, 26, 50, 74, 98, 122],\n\t [6, 30, 54, 78, 102, 126],\n\t [6, 26, 52, 78, 104, 130],\n\t [6, 30, 56, 82, 108, 134],\n\t [6, 34, 60, 86, 112, 138],\n\t [6, 30, 58, 86, 114, 142],\n\t [6, 34, 62, 90, 118, 146],\n\t [6, 30, 54, 78, 102, 126, 150],\n\t [6, 24, 50, 76, 102, 128, 154],\n\t [6, 28, 54, 80, 106, 132, 158],\n\t [6, 32, 58, 84, 110, 136, 162],\n\t [6, 26, 54, 82, 110, 138, 166],\n\t [6, 30, 58, 86, 114, 142, 170]\n ],\n\n G15 : (1 << 10) | (1 << 8) | (1 << 5) | (1 << 4) | (1 << 2) | (1 << 1) | (1 << 0),\n G18 : (1 << 12) | (1 << 11) | (1 << 10) | (1 << 9) | (1 << 8) | (1 << 5) | (1 << 2) | (1 << 0),\n G15_MASK : (1 << 14) | (1 << 12) | (1 << 10)\t| (1 << 4) | (1 << 1),\n\n getBCHTypeInfo : function(data) {\n\t var d = data << 10;\n\t while (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G15) >= 0) {\n\t\t d ^= (QRUtil.G15 << (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G15) ) ); \t\n\t }\n\t return ( (data << 10) | d) ^ QRUtil.G15_MASK;\n },\n\n getBCHTypeNumber : function(data) {\n\t var d = data << 12;\n\t while (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G18) >= 0) {\n\t\t d ^= (QRUtil.G18 << (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G18) ) ); \t\n\t }\n\t return (data << 12) | d;\n },\n\n getBCHDigit : function(data) {\n\n\t var digit = 0;\n\n\t while (data != 0) {\n\t\t digit++;\n\t\t data >>>= 1;\n\t }\n\n\t return digit;\n },\n\n getPatternPosition : function(typeNumber) {\n\t return QRUtil.PATTERN_POSITION_TABLE[typeNumber - 1];\n },\n\n getMask : function(maskPattern, i, j) {\n\t \n\t switch (maskPattern) {\n\t\t \n\t case QRMaskPattern.PATTERN000 : return (i + j) % 2 == 0;\n\t case QRMaskPattern.PATTERN001 : return i % 2 == 0;\n\t case QRMaskPattern.PATTERN010 : return j % 3 == 0;\n\t case QRMaskPattern.PATTERN011 : return (i + j) % 3 == 0;\n\t case QRMaskPattern.PATTERN100 : return (Math.floor(i / 2) + Math.floor(j / 3) ) % 2 == 0;\n\t case QRMaskPattern.PATTERN101 : return (i * j) % 2 + (i * j) % 3 == 0;\n\t case QRMaskPattern.PATTERN110 : return ( (i * j) % 2 + (i * j) % 3) % 2 == 0;\n\t case QRMaskPattern.PATTERN111 : return ( (i * j) % 3 + (i + j) % 2) % 2 == 0;\n\n\t default :\n\t\t throw new Error(\"bad maskPattern:\" + maskPattern);\n\t }\n },\n\n getErrorCorrectPolynomial : function(errorCorrectLength) {\n\n\t var a = new Polynomial([1], 0);\n\n\t for (var i = 0; i < errorCorrectLength; i++) {\n\t\t a = a.multiply(new Polynomial([1, math.gexp(i)], 0) );\n\t }\n\n\t return a;\n },\n\n getLengthInBits : function(mode, type) {\n\n\t if (1 <= type && type < 10) {\n\n\t\t // 1 - 9\n\n\t\t switch(mode) {\n\t\t case Mode.MODE_NUMBER \t: return 10;\n\t\t case Mode.MODE_ALPHA_NUM \t: return 9;\n\t\t case Mode.MODE_8BIT_BYTE\t: return 8;\n\t\t case Mode.MODE_KANJI \t: return 8;\n\t\t default :\n\t\t\t throw new Error(\"mode:\" + mode);\n\t\t }\n\n\t } else if (type < 27) {\n\n\t\t // 10 - 26\n\n\t\t switch(mode) {\n\t\t case Mode.MODE_NUMBER \t: return 12;\n\t\t case Mode.MODE_ALPHA_NUM \t: return 11;\n\t\t case Mode.MODE_8BIT_BYTE\t: return 16;\n\t\t case Mode.MODE_KANJI \t: return 10;\n\t\t default :\n\t\t\t throw new Error(\"mode:\" + mode);\n\t\t }\n\n\t } else if (type < 41) {\n\n\t\t // 27 - 40\n\n\t\t switch(mode) {\n\t\t case Mode.MODE_NUMBER \t: return 14;\n\t\t case Mode.MODE_ALPHA_NUM\t: return 13;\n\t\t case Mode.MODE_8BIT_BYTE\t: return 16;\n\t\t case Mode.MODE_KANJI \t: return 12;\n\t\t default :\n\t\t\t throw new Error(\"mode:\" + mode);\n\t\t }\n\n\t } else {\n\t\t throw new Error(\"type:\" + type);\n\t }\n },\n\n getLostPoint : function(qrCode) {\n\t \n\t var moduleCount = qrCode.getModuleCount();\n\t \n\t var lostPoint = 0;\n\t \n\t // LEVEL1\n\t \n\t for (var row = 0; row < moduleCount; row++) {\n\n\t\t for (var col = 0; col < moduleCount; col++) {\n\n\t\t\t var sameCount = 0;\n\t\t\t var dark = qrCode.isDark(row, col);\n\n\t\t\t\tfor (var r = -1; r <= 1; r++) {\n\n\t\t\t\t if (row + r < 0 || moduleCount <= row + r) {\n\t\t\t\t\t continue;\n\t\t\t\t }\n\n\t\t\t\t for (var c = -1; c <= 1; c++) {\n\n\t\t\t\t\t if (col + c < 0 || moduleCount <= col + c) {\n\t\t\t\t\t\t continue;\n\t\t\t\t\t }\n\n\t\t\t\t\t if (r == 0 && c == 0) {\n\t\t\t\t\t\t continue;\n\t\t\t\t\t }\n\n\t\t\t\t\t if (dark == qrCode.isDark(row + r, col + c) ) {\n\t\t\t\t\t\t sameCount++;\n\t\t\t\t\t }\n\t\t\t\t }\n\t\t\t }\n\n\t\t\t if (sameCount > 5) {\n\t\t\t\t lostPoint += (3 + sameCount - 5);\n\t\t\t }\n\t\t }\n\t }\n\n\t // LEVEL2\n\n\t for (var row = 0; row < moduleCount - 1; row++) {\n\t\t for (var col = 0; col < moduleCount - 1; col++) {\n\t\t\t var count = 0;\n\t\t\t if (qrCode.isDark(row, col ) ) count++;\n\t\t\t if (qrCode.isDark(row + 1, col ) ) count++;\n\t\t\t if (qrCode.isDark(row, col + 1) ) count++;\n\t\t\t if (qrCode.isDark(row + 1, col + 1) ) count++;\n\t\t\t if (count == 0 || count == 4) {\n\t\t\t\t lostPoint += 3;\n\t\t\t }\n\t\t }\n\t }\n\n\t // LEVEL3\n\n\t for (var row = 0; row < moduleCount; row++) {\n\t\t for (var col = 0; col < moduleCount - 6; col++) {\n\t\t\t if (qrCode.isDark(row, col)\n\t\t\t\t\t && !qrCode.isDark(row, col + 1)\n\t\t\t\t\t && qrCode.isDark(row, col + 2)\n\t\t\t\t\t && qrCode.isDark(row, col + 3)\n\t\t\t\t\t && qrCode.isDark(row, col + 4)\n\t\t\t\t\t && !qrCode.isDark(row, col + 5)\n\t\t\t\t\t && qrCode.isDark(row, col + 6) ) {\n\t\t\t\t lostPoint += 40;\n\t\t\t }\n\t\t }\n\t }\n\n\t for (var col = 0; col < moduleCount; col++) {\n\t\t for (var row = 0; row < moduleCount - 6; row++) {\n\t\t\t if (qrCode.isDark(row, col)\n\t\t\t\t\t && !qrCode.isDark(row + 1, col)\n\t\t\t\t\t && qrCode.isDark(row + 2, col)\n\t\t\t\t\t && qrCode.isDark(row + 3, col)\n\t\t\t\t\t && qrCode.isDark(row + 4, col)\n\t\t\t\t\t && !qrCode.isDark(row + 5, col)\n\t\t\t\t\t && qrCode.isDark(row + 6, col) ) {\n\t\t\t\t lostPoint += 40;\n\t\t\t }\n\t\t }\n\t }\n\n\t // LEVEL4\n\t \n\t var darkCount = 0;\n\n\t for (var col = 0; col < moduleCount; col++) {\n\t\t for (var row = 0; row < moduleCount; row++) {\n\t\t\t if (qrCode.isDark(row, col) ) {\n\t\t\t\t darkCount++;\n\t\t\t }\n\t\t }\n\t }\n\t \n\t var ratio = Math.abs(100 * darkCount / moduleCount / moduleCount - 50) / 5;\n\t lostPoint += ratio * 10;\n\n\t return lostPoint;\t\t\n }\n};\n\nmodule.exports = QRUtil;\n","'use strict';\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _extends() { _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; }; return _extends.apply(this, arguments); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar React = require('react');\n\nvar PropTypes = require('prop-types'); // qr.js doesn't handle error level of zero (M) so we need to do it right,\n// thus the deep require.\n\n\nvar QRCodeImpl = require('qr.js/lib/QRCode');\n\nvar ErrorCorrectLevel = require('qr.js/lib/ErrorCorrectLevel'); // TODO: pull this off of the QRCode class type so it matches.\n\n\n// Convert from UTF-16, forcing the use of byte-mode encoding in our QR Code.\n// This allows us to encode Hanji, Kanji, emoji, etc. Ideally we'd do more\n// detection and not resort to byte-mode if possible, but we're trading off\n// a smaller library for a smaller amount of data we can potentially encode.\n// Based on http://jonisalonen.com/2012/from-utf-16-to-utf-8-in-javascript/\nfunction convertStr(str) {\n var out = '';\n\n for (var i = 0; i < str.length; i++) {\n var charcode = str.charCodeAt(i);\n\n if (charcode < 0x0080) {\n out += String.fromCharCode(charcode);\n } else if (charcode < 0x0800) {\n out += String.fromCharCode(0xc0 | charcode >> 6);\n out += String.fromCharCode(0x80 | charcode & 0x3f);\n } else if (charcode < 0xd800 || charcode >= 0xe000) {\n out += String.fromCharCode(0xe0 | charcode >> 12);\n out += String.fromCharCode(0x80 | charcode >> 6 & 0x3f);\n out += String.fromCharCode(0x80 | charcode & 0x3f);\n } else {\n // This is a surrogate pair, so we'll reconsitute the pieces and work\n // from that\n i++;\n charcode = 0x10000 + ((charcode & 0x3ff) << 10 | str.charCodeAt(i) & 0x3ff);\n out += String.fromCharCode(0xf0 | charcode >> 18);\n out += String.fromCharCode(0x80 | charcode >> 12 & 0x3f);\n out += String.fromCharCode(0x80 | charcode >> 6 & 0x3f);\n out += String.fromCharCode(0x80 | charcode & 0x3f);\n }\n }\n\n return out;\n}\n\nvar DEFAULT_PROPS = {\n size: 128,\n level: 'L',\n bgColor: '#FFFFFF',\n fgColor: '#000000',\n includeMargin: false\n};\nvar PROP_TYPES = process.env.NODE_ENV !== 'production' ? {\n value: PropTypes.string.isRequired,\n size: PropTypes.number,\n level: PropTypes.oneOf(['L', 'M', 'Q', 'H']),\n bgColor: PropTypes.string,\n fgColor: PropTypes.string,\n includeMargin: PropTypes.bool,\n imageSettings: PropTypes.shape({\n src: PropTypes.string.isRequired,\n height: PropTypes.number.isRequired,\n width: PropTypes.number.isRequired,\n excavate: PropTypes.bool,\n x: PropTypes.number,\n y: PropTypes.number\n })\n} : {};\nvar MARGIN_SIZE = 4; // This is *very* rough estimate of max amount of QRCode allowed to be covered.\n// It is \"wrong\" in a lot of ways (area is a terrible way to estimate, it\n// really should be number of modules covered), but if for some reason we don't\n// get an explicit height or width, I'd rather default to something than throw.\n\nvar DEFAULT_IMG_SCALE = 0.1;\n\nfunction generatePath(modules) {\n var margin = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var ops = [];\n modules.forEach(function (row, y) {\n var start = null;\n row.forEach(function (cell, x) {\n if (!cell && start !== null) {\n // M0 0h7v1H0z injects the space with the move and drops the comma,\n // saving a char per operation\n ops.push(\"M\".concat(start + margin, \" \").concat(y + margin, \"h\").concat(x - start, \"v1H\").concat(start + margin, \"z\"));\n start = null;\n return;\n } // end of row, clean up or skip\n\n\n if (x === row.length - 1) {\n if (!cell) {\n // We would have closed the op above already so this can only mean\n // 2+ light modules in a row.\n return;\n }\n\n if (start === null) {\n // Just a single dark module.\n ops.push(\"M\".concat(x + margin, \",\").concat(y + margin, \" h1v1H\").concat(x + margin, \"z\"));\n } else {\n // Otherwise finish the current line.\n ops.push(\"M\".concat(start + margin, \",\").concat(y + margin, \" h\").concat(x + 1 - start, \"v1H\").concat(start + margin, \"z\"));\n }\n\n return;\n }\n\n if (cell && start === null) {\n start = x;\n }\n });\n });\n return ops.join('');\n} // We could just do this in generatePath, except that we want to support\n// non-Path2D canvas, so we need to keep it an explicit step.\n\n\nfunction excavateModules(modules, excavation) {\n return modules.slice().map(function (row, y) {\n if (y < excavation.y || y >= excavation.y + excavation.h) {\n return row;\n }\n\n return row.map(function (cell, x) {\n if (x < excavation.x || x >= excavation.x + excavation.w) {\n return cell;\n }\n\n return false;\n });\n });\n}\n\nfunction getImageSettings(props, cells) {\n var imageSettings = props.imageSettings,\n size = props.size,\n includeMargin = props.includeMargin;\n\n if (imageSettings == null) {\n return null;\n }\n\n var margin = includeMargin ? MARGIN_SIZE : 0;\n var numCells = cells.length + margin * 2;\n var defaultSize = Math.floor(size * DEFAULT_IMG_SCALE);\n var scale = numCells / size;\n var w = (imageSettings.width || defaultSize) * scale;\n var h = (imageSettings.height || defaultSize) * scale;\n var x = imageSettings.x == null ? cells.length / 2 - w / 2 : imageSettings.x * scale;\n var y = imageSettings.y == null ? cells.length / 2 - h / 2 : imageSettings.y * scale;\n var excavation = null;\n\n if (imageSettings.excavate) {\n var floorX = Math.floor(x);\n var floorY = Math.floor(y);\n var ceilW = Math.ceil(w + x - floorX);\n var ceilH = Math.ceil(h + y - floorY);\n excavation = {\n x: floorX,\n y: floorY,\n w: ceilW,\n h: ceilH\n };\n }\n\n return {\n x: x,\n y: y,\n h: h,\n w: w,\n excavation: excavation\n };\n} // For canvas we're going to switch our drawing mode based on whether or not\n// the environment supports Path2D. We only need the constructor to be\n// supported, but Edge doesn't actually support the path (string) type\n// argument. Luckily it also doesn't support the addPath() method. We can\n// treat that as the same thing.\n\n\nvar SUPPORTS_PATH2D = function () {\n try {\n new Path2D().addPath(new Path2D());\n } catch (e) {\n return false;\n }\n\n return true;\n}();\n\nvar QRCodeCanvas =\n/*#__PURE__*/\nfunction (_React$PureComponent) {\n _inherits(QRCodeCanvas, _React$PureComponent);\n\n function QRCodeCanvas() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, QRCodeCanvas);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(QRCodeCanvas)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _defineProperty(_assertThisInitialized(_this), \"_canvas\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"_image\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n imgLoaded: false\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleImageLoad\", function () {\n _this.setState({\n imgLoaded: true\n });\n });\n\n return _this;\n }\n\n _createClass(QRCodeCanvas, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (this._image && this._image.complete) {\n this.handleImageLoad();\n }\n\n this.update();\n }\n }, {\n key: \"componentWillReceiveProps\",\n value: function componentWillReceiveProps(nextProps) {\n var _this$props$imageSett, _nextProps$imageSetti;\n\n var currentSrc = (_this$props$imageSett = this.props.imageSettings) === null || _this$props$imageSett === void 0 ? void 0 : _this$props$imageSett.src;\n var nextSrc = (_nextProps$imageSetti = nextProps.imageSettings) === null || _nextProps$imageSetti === void 0 ? void 0 : _nextProps$imageSetti.src;\n\n if (currentSrc !== nextSrc) {\n this.setState({\n imgLoaded: false\n });\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.update();\n }\n }, {\n key: \"update\",\n value: function update() {\n var _this$props = this.props,\n value = _this$props.value,\n size = _this$props.size,\n level = _this$props.level,\n bgColor = _this$props.bgColor,\n fgColor = _this$props.fgColor,\n includeMargin = _this$props.includeMargin,\n imageSettings = _this$props.imageSettings; // We'll use type===-1 to force QRCode to automatically pick the best type\n\n var qrcode = new QRCodeImpl(-1, ErrorCorrectLevel[level]);\n qrcode.addData(convertStr(value));\n qrcode.make();\n\n if (this._canvas != null) {\n var canvas = this._canvas;\n var ctx = canvas.getContext('2d');\n\n if (!ctx) {\n return;\n }\n\n var cells = qrcode.modules;\n\n if (cells === null) {\n return;\n }\n\n var margin = includeMargin ? MARGIN_SIZE : 0;\n var numCells = cells.length + margin * 2;\n var calculatedImageSettings = getImageSettings(this.props, cells);\n\n if (imageSettings != null && calculatedImageSettings != null) {\n if (calculatedImageSettings.excavation != null) {\n cells = excavateModules(cells, calculatedImageSettings.excavation);\n }\n } // We're going to scale this so that the number of drawable units\n // matches the number of cells. This avoids rounding issues, but does\n // result in some potentially unwanted single pixel issues between\n // blocks, only in environments that don't support Path2D.\n\n\n var pixelRatio = window.devicePixelRatio || 1;\n canvas.height = canvas.width = size * pixelRatio;\n var scale = size / numCells * pixelRatio;\n ctx.scale(scale, scale); // Draw solid background, only paint dark modules.\n\n ctx.fillStyle = bgColor;\n ctx.fillRect(0, 0, numCells, numCells);\n ctx.fillStyle = fgColor;\n\n if (SUPPORTS_PATH2D) {\n // $FlowFixMe: Path2D c'tor doesn't support args yet.\n ctx.fill(new Path2D(generatePath(cells, margin)));\n } else {\n cells.forEach(function (row, rdx) {\n row.forEach(function (cell, cdx) {\n if (cell) {\n ctx.fillRect(cdx + margin, rdx + margin, 1, 1);\n }\n });\n });\n }\n\n if (this.state.imgLoaded && this._image && calculatedImageSettings != null) {\n ctx.drawImage(this._image, calculatedImageSettings.x + margin, calculatedImageSettings.y + margin, calculatedImageSettings.w, calculatedImageSettings.h);\n }\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props2 = this.props,\n value = _this$props2.value,\n size = _this$props2.size,\n level = _this$props2.level,\n bgColor = _this$props2.bgColor,\n fgColor = _this$props2.fgColor,\n style = _this$props2.style,\n includeMargin = _this$props2.includeMargin,\n imageSettings = _this$props2.imageSettings,\n otherProps = _objectWithoutProperties(_this$props2, [\"value\", \"size\", \"level\", \"bgColor\", \"fgColor\", \"style\", \"includeMargin\", \"imageSettings\"]);\n\n var canvasStyle = _objectSpread({\n height: size,\n width: size\n }, style);\n\n var img = null;\n var imgSrc = imageSettings && imageSettings.src;\n\n if (imageSettings != null && imgSrc != null) {\n img = React.createElement(\"img\", {\n src: imgSrc,\n style: {\n display: 'none'\n },\n onLoad: this.handleImageLoad,\n ref: function ref(_ref) {\n return _this2._image = _ref;\n }\n });\n }\n\n return React.createElement(React.Fragment, null, React.createElement(\"canvas\", _extends({\n style: canvasStyle,\n height: size,\n width: size,\n ref: function ref(_ref2) {\n return _this2._canvas = _ref2;\n }\n }, otherProps)), img);\n }\n }]);\n\n return QRCodeCanvas;\n}(React.PureComponent);\n\n_defineProperty(QRCodeCanvas, \"defaultProps\", DEFAULT_PROPS);\n\nif (process.env.NODE_ENV !== 'production') {\n QRCodeCanvas.propTypes = PROP_TYPES;\n}\n\nvar QRCodeSVG =\n/*#__PURE__*/\nfunction (_React$PureComponent2) {\n _inherits(QRCodeSVG, _React$PureComponent2);\n\n function QRCodeSVG() {\n _classCallCheck(this, QRCodeSVG);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(QRCodeSVG).apply(this, arguments));\n }\n\n _createClass(QRCodeSVG, [{\n key: \"render\",\n value: function render() {\n var _this$props3 = this.props,\n value = _this$props3.value,\n size = _this$props3.size,\n level = _this$props3.level,\n bgColor = _this$props3.bgColor,\n fgColor = _this$props3.fgColor,\n includeMargin = _this$props3.includeMargin,\n imageSettings = _this$props3.imageSettings,\n otherProps = _objectWithoutProperties(_this$props3, [\"value\", \"size\", \"level\", \"bgColor\", \"fgColor\", \"includeMargin\", \"imageSettings\"]); // We'll use type===-1 to force QRCode to automatically pick the best type\n\n\n var qrcode = new QRCodeImpl(-1, ErrorCorrectLevel[level]);\n qrcode.addData(convertStr(value));\n qrcode.make();\n var cells = qrcode.modules;\n\n if (cells === null) {\n return null;\n }\n\n var margin = includeMargin ? MARGIN_SIZE : 0;\n var numCells = cells.length + margin * 2;\n var calculatedImageSettings = getImageSettings(this.props, cells);\n var image = null;\n\n if (imageSettings != null && calculatedImageSettings != null) {\n if (calculatedImageSettings.excavation != null) {\n cells = excavateModules(cells, calculatedImageSettings.excavation);\n }\n\n image = React.createElement(\"image\", {\n xlinkHref: imageSettings.src,\n height: calculatedImageSettings.h,\n width: calculatedImageSettings.w,\n x: calculatedImageSettings.x + margin,\n y: calculatedImageSettings.y + margin,\n preserveAspectRatio: \"none\"\n });\n } // Drawing strategy: instead of a rect per module, we're going to create a\n // single path for the dark modules and layer that on top of a light rect,\n // for a total of 2 DOM nodes. We pay a bit more in string concat but that's\n // way faster than DOM ops.\n // For level 1, 441 nodes -> 2\n // For level 40, 31329 -> 2\n\n\n var fgPath = generatePath(cells, margin);\n return React.createElement(\"svg\", _extends({\n shapeRendering: \"crispEdges\",\n height: size,\n width: size,\n viewBox: \"0 0 \".concat(numCells, \" \").concat(numCells)\n }, otherProps), React.createElement(\"path\", {\n fill: bgColor,\n d: \"M0,0 h\".concat(numCells, \"v\").concat(numCells, \"H0z\")\n }), React.createElement(\"path\", {\n fill: fgColor,\n d: fgPath\n }), image);\n }\n }]);\n\n return QRCodeSVG;\n}(React.PureComponent);\n\n_defineProperty(QRCodeSVG, \"defaultProps\", DEFAULT_PROPS);\n\nif (process.env.NODE_ENV !== 'production') {\n QRCodeSVG.propTypes = PROP_TYPES;\n}\n\nvar QRCode = function QRCode(props) {\n var renderAs = props.renderAs,\n otherProps = _objectWithoutProperties(props, [\"renderAs\"]);\n\n var Component = renderAs === 'svg' ? QRCodeSVG : QRCodeCanvas;\n return React.createElement(Component, otherProps);\n};\n\nQRCode.defaultProps = _objectSpread({\n renderAs: 'canvas'\n}, DEFAULT_PROPS);\nmodule.exports = QRCode;","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// 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 permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n// If obj.hasOwnProperty has been overridden, then calling\n// obj.hasOwnProperty(prop) will break.\n// See: https://github.com/joyent/node/issues/1707\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nmodule.exports = function(qs, sep, eq, options) {\n sep = sep || '&';\n eq = eq || '=';\n var obj = {};\n\n if (typeof qs !== 'string' || qs.length === 0) {\n return obj;\n }\n\n var regexp = /\\+/g;\n qs = qs.split(sep);\n\n var maxKeys = 1000;\n if (options && typeof options.maxKeys === 'number') {\n maxKeys = options.maxKeys;\n }\n\n var len = qs.length;\n // maxKeys <= 0 means that we should not limit keys count\n if (maxKeys > 0 && len > maxKeys) {\n len = maxKeys;\n }\n\n for (var i = 0; i < len; ++i) {\n var x = qs[i].replace(regexp, '%20'),\n idx = x.indexOf(eq),\n kstr, vstr, k, v;\n\n if (idx >= 0) {\n kstr = x.substr(0, idx);\n vstr = x.substr(idx + 1);\n } else {\n kstr = x;\n vstr = '';\n }\n\n k = decodeURIComponent(kstr);\n v = decodeURIComponent(vstr);\n\n if (!hasOwnProperty(obj, k)) {\n obj[k] = v;\n } else if (Array.isArray(obj[k])) {\n obj[k].push(v);\n } else {\n obj[k] = [obj[k], v];\n }\n }\n\n return obj;\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// 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 permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar stringifyPrimitive = function(v) {\n switch (typeof v) {\n case 'string':\n return v;\n\n case 'boolean':\n return v ? 'true' : 'false';\n\n case 'number':\n return isFinite(v) ? v : '';\n\n default:\n return '';\n }\n};\n\nmodule.exports = function(obj, sep, eq, name) {\n sep = sep || '&';\n eq = eq || '=';\n if (obj === null) {\n obj = undefined;\n }\n\n if (typeof obj === 'object') {\n return Object.keys(obj).map(function(k) {\n var ks = encodeURIComponent(stringifyPrimitive(k)) + eq;\n if (Array.isArray(obj[k])) {\n return obj[k].map(function(v) {\n return ks + encodeURIComponent(stringifyPrimitive(v));\n }).join(sep);\n } else {\n return ks + encodeURIComponent(stringifyPrimitive(obj[k]));\n }\n }).join(sep);\n\n }\n\n if (!name) return '';\n return encodeURIComponent(stringifyPrimitive(name)) + eq +\n encodeURIComponent(stringifyPrimitive(obj));\n};\n","'use strict';\n\nexports.decode = exports.parse = require('./decode');\nexports.encode = exports.stringify = require('./encode');\n","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t(require(\"prop-types\"),require(\"react\")):\"function\"==typeof define&&define.amd?define([\"prop-types\",\"react\"],t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).AvatarEditor=t(e.PropTypes,e.React)}(this,function(e,t){\"use strict\";function o(e){return e&&\"object\"==typeof e&&\"default\"in e?e:{default:e}}var n=o(e),i=o(t);function r(e,t){for(var o=0;oe.length)&&(t=e.length);for(var o=0,n=new Array(t);oe.length)&&(t=e.length);for(var r=0,a=new Array(t);r0&&(n=it.default(e,t.slice(0,e.length),new Date)),It(n)||(n=new Date(e))),It(n)&&s?n:null)}function It(e){return fe.default(e)&&at.default(e,new Date(\"1/1/1000\"))}function Lt(e,t,r){if(\"en\"===r)return he.default(e,t,{awareOfUnicodeTokens:!0});var a=Jt(r);return r&&!a&&console.warn('A locale object was not found for the provided string [\"'.concat(r,'\"].')),!a&&Gt()&&Jt(Gt())&&(a=Jt(Gt())),he.default(e,t,{locale:a||null,awareOfUnicodeTokens:!0})}function Ft(e,t){var r=t.hour,a=void 0===r?0:r,n=t.minute,o=void 0===n?0:n,s=t.second,i=void 0===s?0:s;return Re.default(Fe.default(Le.default(e,i),o),a)}function Rt(e,t){var r=t&&Jt(t)||Gt()&&Jt(Gt());return Oe.default(e,r?{locale:r}:null)}function qt(e,t){return Lt(e,\"ddd\",t)}function At(e){return Ve.default(e)}function Wt(e,t){var r=Jt(t||Gt());return Ue.default(e,{locale:r})}function Bt(e){return $e.default(e)}function jt(e){return Ge.default(e)}function Ht(e){return ze.default(e)}function Kt(e,t){return e&&t?tt.default(e,t):!e&&!t}function Qt(e,t){return e&&t?et.default(e,t):!e&&!t}function Vt(e,t){return e&&t?rt.default(e,t):!e&&!t}function Ut(e,t){return e&&t?Ze.default(e,t):!e&&!t}function $t(e,t){return e&&t?Xe.default(e,t):!e&&!t}function zt(e,t,r){var a,n=Ve.default(t),o=Je.default(r);try{a=ot.default(e,{start:n,end:o})}catch(e){a=!1}return a}function Gt(){return(\"undefined\"!=typeof window?window:global).__localeId__}function Jt(e){if(\"string\"==typeof e){var t=\"undefined\"!=typeof window?window:global;return t.__localeData__?t.__localeData__[e]:null}return e}function Xt(e,t){return Lt(qe.default(xt(),e),\"LLLL\",t)}function Zt(e,t){return Lt(qe.default(xt(),e),\"LLL\",t)}function er(e,t){return Lt(Ae.default(xt(),e),\"QQQ\",t)}function tr(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.minDate,a=t.maxDate,n=t.excludeDates,o=t.includeDates,s=t.filterDate;return pr(e,{minDate:r,maxDate:a})||n&&n.some((function(t){return Ut(e,t)}))||o&&!o.some((function(t){return Ut(e,t)}))||s&&!s(xt(e))||!1}function rr(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.excludeDates;return r&&r.some((function(t){return Ut(e,t)}))||!1}function ar(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.minDate,a=t.maxDate,n=t.excludeDates,o=t.includeDates,s=t.filterDate;return pr(e,{minDate:r,maxDate:a})||n&&n.some((function(t){return Qt(e,t)}))||o&&!o.some((function(t){return Qt(e,t)}))||s&&!s(xt(e))||!1}function nr(e,t,r,a){var n=Te.default(e),o=Ye.default(e),s=Te.default(t),i=Ye.default(t),p=Te.default(a);return n===s&&n===p?o<=r&&r<=i:n=r||pn:void 0}function or(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.minDate,a=t.maxDate,n=t.excludeDates,o=t.includeDates,s=t.filterDate;return pr(e,{minDate:r,maxDate:a})||n&&n.some((function(t){return Vt(e,t)}))||o&&!o.some((function(t){return Vt(e,t)}))||s&&!s(xt(e))||!1}function sr(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.minDate,a=t.maxDate,n=new Date(e,0,1);return pr(n,{minDate:r,maxDate:a})||!1}function ir(e,t,r,a){var n=Te.default(e),o=xe.default(e),s=Te.default(t),i=xe.default(t),p=Te.default(a);return n===s&&n===p?o<=r&&r<=i:n=r||pn:void 0}function pr(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.minDate,a=t.maxDate;return r&&He.default(e,r)<0||a&&He.default(e,a)>0}function lr(e,t){return t.some((function(t){return Pe.default(t)===Pe.default(e)&&Me.default(t)===Me.default(e)}))}function dr(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.excludeTimes,a=t.includeTimes,n=t.filterTime;return r&&lr(e,r)||a&&!lr(e,a)||n&&!n(e)||!1}function cr(e,t){var r=t.minTime,a=t.maxTime;if(!r||!a)throw new Error(\"Both minTime and maxTime props required\");var n,o=xt(),s=Re.default(Fe.default(o,Me.default(e)),Pe.default(e)),i=Re.default(Fe.default(o,Me.default(r)),Pe.default(r)),p=Re.default(Fe.default(o,Me.default(a)),Pe.default(a));try{n=!ot.default(s,{start:i,end:p})}catch(e){n=!1}return n}function ur(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.minDate,a=t.includeDates,n=Ce.default(e,1);return r&&Ke.default(r,n)>0||a&&a.every((function(e){return Ke.default(e,n)>0}))||!1}function fr(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.maxDate,a=t.includeDates,n=we.default(e,1);return r&&Ke.default(n,r)>0||a&&a.every((function(e){return Ke.default(n,e)>0}))||!1}function hr(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.minDate,a=t.includeDates,n=Se.default(e,1);return r&&Qe.default(r,n)>0||a&&a.every((function(e){return Qe.default(e,n)>0}))||!1}function mr(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.maxDate,a=t.includeDates,n=ke.default(e,1);return r&&Qe.default(n,r)>0||a&&a.every((function(e){return Qe.default(n,e)>0}))||!1}function yr(e){var t=e.minDate,r=e.includeDates;if(r&&t){var a=r.filter((function(e){return He.default(e,t)>=0}));return Be.default(a)}return r?Be.default(r):t}function vr(e){var t=e.maxDate,r=e.includeDates;if(r&&t){var a=r.filter((function(e){return He.default(e,t)<=0}));return je.default(a)}return r?je.default(r):t}function Dr(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"react-datepicker__day--highlighted\",r=new Map,a=0,n=e.length;a1&&void 0!==arguments[1]?arguments[1]:Ot,r=Math.ceil(Te.default(e)/t)*t,a=r-(t-1);return{startPeriod:a,endPeriod:r}}function br(e,t,r,a){for(var n=[],o=0;o<2*t+1;o++){var s=e+t-o,i=!0;r&&(i=Te.default(r)<=s),a&&i&&(i=Te.default(a)>=s),i&&n.push(s)}return n}var Cr=function(e){wt(r,e);var t=St(r);function r(e){var a;ut(this,r),mt(bt(a=t.call(this,e)),\"renderOptions\",(function(){var e=a.props.year,t=a.state.yearsList.map((function(t){return de.default.createElement(\"div\",{className:e===t?\"react-datepicker__year-option react-datepicker__year-option--selected_year\":\"react-datepicker__year-option\",key:t,onClick:a.onChange.bind(bt(a),t)},e===t?de.default.createElement(\"span\",{className:\"react-datepicker__year-option--selected\"},\"✓\"):\"\",t)})),r=a.props.minDate?Te.default(a.props.minDate):null,n=a.props.maxDate?Te.default(a.props.maxDate):null;return n&&a.state.yearsList.find((function(e){return e===n}))||t.unshift(de.default.createElement(\"div\",{className:\"react-datepicker__year-option\",key:\"upcoming\",onClick:a.incrementYears},de.default.createElement(\"a\",{className:\"react-datepicker__navigation react-datepicker__navigation--years react-datepicker__navigation--years-upcoming\"}))),r&&a.state.yearsList.find((function(e){return e===r}))||t.push(de.default.createElement(\"div\",{className:\"react-datepicker__year-option\",key:\"previous\",onClick:a.decrementYears},de.default.createElement(\"a\",{className:\"react-datepicker__navigation react-datepicker__navigation--years react-datepicker__navigation--years-previous\"}))),t})),mt(bt(a),\"onChange\",(function(e){a.props.onChange(e)})),mt(bt(a),\"handleClickOutside\",(function(){a.props.onCancel()})),mt(bt(a),\"shiftYears\",(function(e){var t=a.state.yearsList.map((function(t){return t+e}));a.setState({yearsList:t})})),mt(bt(a),\"incrementYears\",(function(){return a.shiftYears(1)})),mt(bt(a),\"decrementYears\",(function(){return a.shiftYears(-1)}));var n=e.yearDropdownItemNumber,o=e.scrollableYearDropdown,s=n||(o?10:5);return a.state={yearsList:br(a.props.year,s,a.props.minDate,a.props.maxDate)},a}return ht(r,[{key:\"render\",value:function(){var e=ce.default({\"react-datepicker__year-dropdown\":!0,\"react-datepicker__year-dropdown--scrollable\":this.props.scrollableYearDropdown});return de.default.createElement(\"div\",{className:e},this.renderOptions())}}]),r}(de.default.Component),Sr=lt.default(Cr),_r=function(e){wt(r,e);var t=St(r);function r(){var e;ut(this,r);for(var a=arguments.length,n=new Array(a),o=0;o0&&void 0!==arguments[0]?arguments[0]:{},r=!1;0===e.getTabIndex()&&!t.isInputFocused&&e.isSameDay(e.props.preSelection)&&(document.activeElement&&document.activeElement!==document.body||(r=!0),e.props.inline&&!e.props.shouldFocusDayInline&&(r=!1),e.props.containerRef&&e.props.containerRef.current&&e.props.containerRef.current.contains(document.activeElement)&&document.activeElement.classList.contains(\"react-datepicker__day\")&&(r=!0)),r&&e.dayEl.current.focus({preventScroll:!0})})),mt(bt(e),\"renderDayContents\",(function(){if(e.isOutsideMonth()){if(e.props.monthShowsDuplicateDaysEnd&&Ne.default(e.props.day)<10)return null;if(e.props.monthShowsDuplicateDaysStart&&Ne.default(e.props.day)>20)return null}return e.props.renderDayContents?e.props.renderDayContents(Ne.default(e.props.day),e.props.day):Ne.default(e.props.day)})),mt(bt(e),\"render\",(function(){return de.default.createElement(\"div\",{ref:e.dayEl,className:e.getClassNames(e.props.day),onKeyDown:e.handleOnKeyDown,onClick:e.handleClick,onMouseEnter:e.handleMouseEnter,tabIndex:e.getTabIndex(),\"aria-label\":e.getAriaLabel(),role:\"button\",\"aria-disabled\":e.isDisabled()},e.renderDayContents())})),e}return ht(r,[{key:\"componentDidMount\",value:function(){this.handleFocusDay()}},{key:\"componentDidUpdate\",value:function(e){this.handleFocusDay(e)}}]),r}(de.default.Component),Ir=function(e){wt(r,e);var t=St(r);function r(){var e;ut(this,r);for(var a=arguments.length,n=new Array(a),o=0;o=6,i=!r&&!e.isWeekInMonth(a);if(s||i){if(!e.props.peekNextMonth)break;o=!0}}return t})),mt(bt(e),\"onMonthClick\",(function(t,r){e.handleDayClick(Bt(qe.default(e.props.day,r)),t)})),mt(bt(e),\"handleMonthNavigation\",(function(t,r){e.isDisabled(r)||e.isExcluded(r)||(e.props.setPreSelection(r),e.MONTH_REFS[t].current&&e.MONTH_REFS[t].current.focus())})),mt(bt(e),\"onMonthKeyDown\",(function(t,r){var a=t.key;if(!e.props.disabledKeyboardNavigation)switch(a){case\"Enter\":e.onMonthClick(t,r),e.props.setPreSelection(e.props.selected);break;case\"ArrowRight\":e.handleMonthNavigation(11===r?0:r+1,we.default(e.props.preSelection,1));break;case\"ArrowLeft\":e.handleMonthNavigation(0===r?11:r-1,Ce.default(e.props.preSelection,1))}})),mt(bt(e),\"onQuarterClick\",(function(t,r){e.handleDayClick(Ht(Ae.default(e.props.day,r)),t)})),mt(bt(e),\"getMonthClassNames\",(function(t){var r=e.props,a=r.day,n=r.startDate,o=r.endDate,s=r.selected,i=r.minDate,p=r.maxDate,l=r.preSelection,d=r.monthClassName,c=d?d(a):void 0;return ce.default(\"react-datepicker__month-text\",\"react-datepicker__month-\".concat(t),c,{\"react-datepicker__month--disabled\":(i||p)&&ar(qe.default(a,t),e.props),\"react-datepicker__month--selected\":Ye.default(a)===t&&Te.default(a)===Te.default(s),\"react-datepicker__month-text--keyboard-selected\":Ye.default(l)===t,\"react-datepicker__month--in-range\":nr(n,o,t,a),\"react-datepicker__month--range-start\":e.isRangeStartMonth(t),\"react-datepicker__month--range-end\":e.isRangeEndMonth(t)})})),mt(bt(e),\"getTabIndex\",(function(t){var r=Ye.default(e.props.preSelection);return e.props.disabledKeyboardNavigation||t!==r?\"-1\":\"0\"})),mt(bt(e),\"getAriaLabel\",(function(t){var r=e.props,a=r.ariaLabelPrefix,n=void 0===a?\"Choose\":a,o=r.disabledDayAriaLabelPrefix,s=void 0===o?\"Not available\":o,i=r.day,p=qe.default(i,t),l=e.isDisabled(p)||e.isExcluded(p)?s:n;return\"\".concat(l,\" \").concat(Lt(p,\"MMMM yyyy\"))})),mt(bt(e),\"getQuarterClassNames\",(function(t){var r=e.props,a=r.day,n=r.startDate,o=r.endDate,s=r.selected,i=r.minDate,p=r.maxDate;return ce.default(\"react-datepicker__quarter-text\",\"react-datepicker__quarter-\".concat(t),{\"react-datepicker__quarter--disabled\":(i||p)&&or(Ae.default(a,t),e.props),\"react-datepicker__quarter--selected\":xe.default(a)===t&&Te.default(a)===Te.default(s),\"react-datepicker__quarter--in-range\":ir(n,o,t,a),\"react-datepicker__quarter--range-start\":e.isRangeStartQuarter(t),\"react-datepicker__quarter--range-end\":e.isRangeEndQuarter(t)})})),mt(bt(e),\"renderMonths\",(function(){var t=e.props,r=t.showFullMonthYearPicker,a=t.showTwoColumnMonthYearPicker,n=t.showFourColumnMonthYearPicker,o=t.locale;return(n?[[0,1,2,3],[4,5,6,7],[8,9,10,11]]:a?[[0,1],[2,3],[4,5],[6,7],[8,9],[10,11]]:[[0,1,2],[3,4,5],[6,7,8],[9,10,11]]).map((function(t,a){return de.default.createElement(\"div\",{className:\"react-datepicker__month-wrapper\",key:a},t.map((function(t,a){return de.default.createElement(\"div\",{ref:e.MONTH_REFS[t],key:a,onClick:function(r){e.onMonthClick(r,t)},onKeyDown:function(r){e.onMonthKeyDown(r,t)},tabIndex:e.getTabIndex(t),className:e.getMonthClassNames(t),role:\"button\",\"aria-label\":e.getAriaLabel(t)},r?Xt(t,o):Zt(t,o))})))}))})),mt(bt(e),\"renderQuarters\",(function(){return de.default.createElement(\"div\",{className:\"react-datepicker__quarter-wrapper\"},[1,2,3,4].map((function(t,r){return de.default.createElement(\"div\",{key:r,onClick:function(r){e.onQuarterClick(r,t)},className:e.getQuarterClassNames(t)},er(t,e.props.locale))})))})),mt(bt(e),\"getClassNames\",(function(){var t=e.props;t.day;var r=t.selectingDate,a=t.selectsStart,n=t.selectsEnd,o=t.showMonthYearPicker,s=t.showQuarterYearPicker;return ce.default(\"react-datepicker__month\",{\"react-datepicker__month--selecting-range\":r&&(a||n)},{\"react-datepicker__monthPicker\":o},{\"react-datepicker__quarterPicker\":s})})),e}return ht(r,[{key:\"render\",value:function(){var e=this.props,t=e.showMonthYearPicker,r=e.showQuarterYearPicker,a=e.day,n=e.ariaLabelPrefix,o=void 0===n?\"month \":n;return de.default.createElement(\"div\",{className:this.getClassNames(),onMouseLeave:this.handleMouseLeave,\"aria-label\":\"\".concat(o,\" \").concat(Lt(a,\"yyyy-MM\"))},t?this.renderMonths():r?this.renderQuarters():this.renderWeeks())}}]),r}(de.default.Component),Rr=function(e){wt(r,e);var t=St(r);function r(){var e;ut(this,r);for(var a=arguments.length,n=new Array(a),o=0;o0&&void 0!==arguments[0]?arguments[0]:{}).className||\"\").split(/\\s+/);return Br.some((function(t){return e.indexOf(t)>=0}))})(e.target)&&a.props.onDropdownFocus()})),mt(bt(a),\"getDateInView\",(function(){var e=a.props,t=e.preSelection,r=e.selected,n=e.openToDate,o=yr(a.props),s=vr(a.props),i=xt(),p=n||r||t;return p||(o&&nt.default(i,o)?o:s&&at.default(i,s)?s:i)})),mt(bt(a),\"increaseMonth\",(function(){a.setState((function(e){var t=e.date;return{date:we.default(t,1)}}),(function(){return a.handleMonthChange(a.state.date)}))})),mt(bt(a),\"decreaseMonth\",(function(){a.setState((function(e){var t=e.date;return{date:Ce.default(t,1)}}),(function(){return a.handleMonthChange(a.state.date)}))})),mt(bt(a),\"handleDayClick\",(function(e,t,r){a.props.onSelect(e,t,r),a.props.setPreSelection&&a.props.setPreSelection(e)})),mt(bt(a),\"handleDayMouseEnter\",(function(e){a.setState({selectingDate:e}),a.props.onDayMouseEnter&&a.props.onDayMouseEnter(e)})),mt(bt(a),\"handleMonthMouseLeave\",(function(){a.setState({selectingDate:null}),a.props.onMonthMouseLeave&&a.props.onMonthMouseLeave()})),mt(bt(a),\"handleYearChange\",(function(e){a.props.onYearChange&&a.props.onYearChange(e),a.props.adjustDateOnChange&&(a.props.onSelect&&a.props.onSelect(e),a.props.setOpen&&a.props.setOpen(!0)),a.props.setPreSelection&&a.props.setPreSelection(e)})),mt(bt(a),\"handleMonthChange\",(function(e){a.props.onMonthChange&&a.props.onMonthChange(e),a.props.adjustDateOnChange&&(a.props.onSelect&&a.props.onSelect(e),a.props.setOpen&&a.props.setOpen(!0)),a.props.setPreSelection&&a.props.setPreSelection(e)})),mt(bt(a),\"handleMonthYearChange\",(function(e){a.handleYearChange(e),a.handleMonthChange(e)})),mt(bt(a),\"changeYear\",(function(e){a.setState((function(t){var r=t.date;return{date:We.default(r,e)}}),(function(){return a.handleYearChange(a.state.date)}))})),mt(bt(a),\"changeMonth\",(function(e){a.setState((function(t){var r=t.date;return{date:qe.default(r,e)}}),(function(){return a.handleMonthChange(a.state.date)}))})),mt(bt(a),\"changeMonthYear\",(function(e){a.setState((function(t){var r=t.date;return{date:We.default(qe.default(r,Ye.default(e)),Te.default(e))}}),(function(){return a.handleMonthYearChange(a.state.date)}))})),mt(bt(a),\"header\",(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a.state.date,t=Wt(e,a.props.locale),r=[];return a.props.showWeekNumbers&&r.push(de.default.createElement(\"div\",{key:\"W\",className:\"react-datepicker__day-name\"},a.props.weekLabel||\"#\")),r.concat([0,1,2,3,4,5,6].map((function(e){var r=ve.default(t,e),n=a.formatWeekday(r,a.props.locale),o=a.props.weekDayClassName?a.props.weekDayClassName(r):void 0;return de.default.createElement(\"div\",{key:e,className:ce.default(\"react-datepicker__day-name\",o)},n)})))})),mt(bt(a),\"formatWeekday\",(function(e,t){return a.props.formatWeekDay?function(e,t,r){return t(Lt(e,\"EEEE\",r))}(e,a.props.formatWeekDay,t):a.props.useWeekdaysShort?function(e,t){return Lt(e,\"EEE\",t)}(e,t):function(e,t){return Lt(e,\"EEEEEE\",t)}(e,t)})),mt(bt(a),\"decreaseYear\",(function(){a.setState((function(e){var t=e.date;return{date:Se.default(t,a.props.showYearPicker?a.props.yearItemNumber:1)}}),(function(){return a.handleYearChange(a.state.date)}))})),mt(bt(a),\"renderPreviousButton\",(function(){if(!a.props.renderCustomHeader){var e;switch(!0){case a.props.showMonthYearPicker:e=hr(a.state.date,a.props);break;case a.props.showYearPicker:e=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.minDate,a=t.yearItemNumber,n=void 0===a?Ot:a,o=gr(jt(Se.default(e,n)),n).endPeriod,s=r&&Te.default(r);return s&&s>o||!1}(a.state.date,a.props);break;default:e=ur(a.state.date,a.props)}if((a.props.forceShowMonthNavigation||a.props.showDisabledMonthNavigation||!e)&&!a.props.showTimeSelectOnly){var t=[\"react-datepicker__navigation\",\"react-datepicker__navigation--previous\"],r=a.decreaseMonth;(a.props.showMonthYearPicker||a.props.showQuarterYearPicker||a.props.showYearPicker)&&(r=a.decreaseYear),e&&a.props.showDisabledMonthNavigation&&(t.push(\"react-datepicker__navigation--previous--disabled\"),r=null);var n=a.props.showMonthYearPicker||a.props.showQuarterYearPicker||a.props.showYearPicker,o=a.props,s=o.previousMonthAriaLabel,i=void 0===s?\"Previous Month\":s,p=o.previousYearAriaLabel,l=void 0===p?\"Previous Year\":p;return de.default.createElement(\"button\",{type:\"button\",className:t.join(\" \"),onClick:r,\"aria-label\":n?l:i},n?a.props.previousYearButtonLabel:a.props.previousMonthButtonLabel)}}})),mt(bt(a),\"increaseYear\",(function(){a.setState((function(e){var t=e.date;return{date:ke.default(t,a.props.showYearPicker?a.props.yearItemNumber:1)}}),(function(){return a.handleYearChange(a.state.date)}))})),mt(bt(a),\"renderNextButton\",(function(){if(!a.props.renderCustomHeader){var e;switch(!0){case a.props.showMonthYearPicker:e=mr(a.state.date,a.props);break;case a.props.showYearPicker:e=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.maxDate,a=t.yearItemNumber,n=void 0===a?Ot:a,o=gr(ke.default(e,n),n).startPeriod,s=r&&Te.default(r);return s&&s0&&void 0!==arguments[0]?arguments[0]:a.state.date,t=[\"react-datepicker__current-month\"];return a.props.showYearDropdown&&t.push(\"react-datepicker__current-month--hasYearDropdown\"),a.props.showMonthDropdown&&t.push(\"react-datepicker__current-month--hasMonthDropdown\"),a.props.showMonthYearDropdown&&t.push(\"react-datepicker__current-month--hasMonthYearDropdown\"),de.default.createElement(\"div\",{className:t.join(\" \")},Lt(e,a.props.dateFormat,a.props.locale))})),mt(bt(a),\"renderYearDropdown\",(function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(a.props.showYearDropdown&&!e)return de.default.createElement(_r,{adjustDateOnChange:a.props.adjustDateOnChange,date:a.state.date,onSelect:a.props.onSelect,setOpen:a.props.setOpen,dropdownMode:a.props.dropdownMode,onChange:a.changeYear,minDate:a.props.minDate,maxDate:a.props.maxDate,year:Te.default(a.state.date),scrollableYearDropdown:a.props.scrollableYearDropdown,yearDropdownItemNumber:a.props.yearDropdownItemNumber})})),mt(bt(a),\"renderMonthDropdown\",(function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(a.props.showMonthDropdown&&!e)return de.default.createElement(Er,{dropdownMode:a.props.dropdownMode,locale:a.props.locale,onChange:a.changeMonth,month:Ye.default(a.state.date),useShortMonthInDropdown:a.props.useShortMonthInDropdown})})),mt(bt(a),\"renderMonthYearDropdown\",(function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(a.props.showMonthYearDropdown&&!e)return de.default.createElement(xr,{dropdownMode:a.props.dropdownMode,locale:a.props.locale,dateFormat:a.props.dateFormat,onChange:a.changeMonthYear,minDate:a.props.minDate,maxDate:a.props.maxDate,date:a.state.date,scrollableMonthYearDropdown:a.props.scrollableMonthYearDropdown})})),mt(bt(a),\"renderTodayButton\",(function(){if(a.props.todayButton&&!a.props.showTimeSelectOnly)return de.default.createElement(\"div\",{className:\"react-datepicker__today-button\",onClick:function(e){return a.props.onSelect(Ve.default(xt()),e)}},a.props.todayButton)})),mt(bt(a),\"renderDefaultHeader\",(function(e){var t=e.monthDate,r=e.i;return de.default.createElement(\"div\",{className:\"react-datepicker__header \".concat(a.props.showTimeSelect?\"react-datepicker__header--has-time-select\":\"\")},a.renderCurrentMonth(t),de.default.createElement(\"div\",{className:\"react-datepicker__header__dropdown react-datepicker__header__dropdown--\".concat(a.props.dropdownMode),onFocus:a.handleDropdownFocus},a.renderMonthDropdown(0!==r),a.renderMonthYearDropdown(0!==r),a.renderYearDropdown(0!==r)),de.default.createElement(\"div\",{className:\"react-datepicker__day-names\"},a.header(t)))})),mt(bt(a),\"renderCustomHeader\",(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.monthDate,r=e.i;if(a.props.showTimeSelect&&!a.state.monthContainer||a.props.showTimeSelectOnly)return null;var n=ur(a.state.date,a.props),o=fr(a.state.date,a.props),s=hr(a.state.date,a.props),i=mr(a.state.date,a.props),p=!a.props.showMonthYearPicker&&!a.props.showQuarterYearPicker&&!a.props.showYearPicker;return de.default.createElement(\"div\",{className:\"react-datepicker__header react-datepicker__header--custom\",onFocus:a.props.onDropdownFocus},a.props.renderCustomHeader(Dt(Dt({},a.state),{},{customHeaderCount:r,changeMonth:a.changeMonth,changeYear:a.changeYear,decreaseMonth:a.decreaseMonth,increaseMonth:a.increaseMonth,decreaseYear:a.decreaseYear,increaseYear:a.increaseYear,prevMonthButtonDisabled:n,nextMonthButtonDisabled:o,prevYearButtonDisabled:s,nextYearButtonDisabled:i})),p&&de.default.createElement(\"div\",{className:\"react-datepicker__day-names\"},a.header(t)))})),mt(bt(a),\"renderYearHeader\",(function(){var e=a.state.date,t=a.props,r=t.showYearPicker,n=gr(e,t.yearItemNumber),o=n.startPeriod,s=n.endPeriod;return de.default.createElement(\"div\",{className:\"react-datepicker__header react-datepicker-year-header\"},r?\"\".concat(o,\" - \").concat(s):Te.default(e))})),mt(bt(a),\"renderHeader\",(function(e){switch(!0){case void 0!==a.props.renderCustomHeader:return a.renderCustomHeader(e);case a.props.showMonthYearPicker||a.props.showQuarterYearPicker||a.props.showYearPicker:return a.renderYearHeader(e);default:return a.renderDefaultHeader(e)}})),mt(bt(a),\"renderMonths\",(function(){if(!a.props.showTimeSelectOnly&&!a.props.showYearPicker){for(var e=[],t=a.props.showPreviousMonths?a.props.monthsShown-1:0,r=Ce.default(a.state.date,t),n=0;n0;e.push(de.default.createElement(\"div\",{key:i,ref:function(e){a.monthContainer=e},className:\"react-datepicker__month-container\"},a.renderHeader({monthDate:s,i:n}),de.default.createElement(Fr,{chooseDayAriaLabelPrefix:a.props.chooseDayAriaLabelPrefix,disabledDayAriaLabelPrefix:a.props.disabledDayAriaLabelPrefix,weekAriaLabelPrefix:a.props.weekAriaLabelPrefix,onChange:a.changeMonthYear,day:s,dayClassName:a.props.dayClassName,monthClassName:a.props.monthClassName,onDayClick:a.handleDayClick,handleOnKeyDown:a.props.handleOnKeyDown,onDayMouseEnter:a.handleDayMouseEnter,onMouseLeave:a.handleMonthMouseLeave,onWeekSelect:a.props.onWeekSelect,orderInDisplay:n,formatWeekNumber:a.props.formatWeekNumber,locale:a.props.locale,minDate:a.props.minDate,maxDate:a.props.maxDate,excludeDates:a.props.excludeDates,highlightDates:a.props.highlightDates,selectingDate:a.state.selectingDate,includeDates:a.props.includeDates,inline:a.props.inline,shouldFocusDayInline:a.props.shouldFocusDayInline,fixedHeight:a.props.fixedHeight,filterDate:a.props.filterDate,preSelection:a.props.preSelection,setPreSelection:a.props.setPreSelection,selected:a.props.selected,selectsStart:a.props.selectsStart,selectsEnd:a.props.selectsEnd,selectsRange:a.props.selectsRange,showWeekNumbers:a.props.showWeekNumbers,startDate:a.props.startDate,endDate:a.props.endDate,peekNextMonth:a.props.peekNextMonth,setOpen:a.props.setOpen,shouldCloseOnSelect:a.props.shouldCloseOnSelect,renderDayContents:a.props.renderDayContents,disabledKeyboardNavigation:a.props.disabledKeyboardNavigation,showMonthYearPicker:a.props.showMonthYearPicker,showFullMonthYearPicker:a.props.showFullMonthYearPicker,showTwoColumnMonthYearPicker:a.props.showTwoColumnMonthYearPicker,showFourColumnMonthYearPicker:a.props.showFourColumnMonthYearPicker,showYearPicker:a.props.showYearPicker,showQuarterYearPicker:a.props.showQuarterYearPicker,isInputFocused:a.props.isInputFocused,containerRef:a.containerRef,monthShowsDuplicateDaysEnd:p,monthShowsDuplicateDaysStart:l})))}return e}})),mt(bt(a),\"renderYears\",(function(){if(!a.props.showTimeSelectOnly)return a.props.showYearPicker?de.default.createElement(\"div\",{className:\"react-datepicker__year--container\"},a.renderHeader(),de.default.createElement(qr,yt({onDayClick:a.handleDayClick,date:a.state.date},a.props))):void 0})),mt(bt(a),\"renderTimeSection\",(function(){if(a.props.showTimeSelect&&(a.state.monthContainer||a.props.showTimeSelectOnly))return de.default.createElement(Rr,{selected:a.props.selected,openToDate:a.props.openToDate,onChange:a.props.onTimeChange,timeClassName:a.props.timeClassName,format:a.props.timeFormat,includeTimes:a.props.includeTimes,intervals:a.props.timeIntervals,minTime:a.props.minTime,maxTime:a.props.maxTime,excludeTimes:a.props.excludeTimes,filterTime:a.props.filterTime,timeCaption:a.props.timeCaption,todayButton:a.props.todayButton,showMonthDropdown:a.props.showMonthDropdown,showMonthYearDropdown:a.props.showMonthYearDropdown,showYearDropdown:a.props.showYearDropdown,withPortal:a.props.withPortal,monthRef:a.state.monthContainer,injectTimes:a.props.injectTimes,locale:a.props.locale,showTimeSelectOnly:a.props.showTimeSelectOnly})})),mt(bt(a),\"renderInputTimeSection\",(function(){var e=new Date(a.props.selected),t=It(e)&&Boolean(a.props.selected)?\"\".concat(kr(e.getHours()),\":\").concat(kr(e.getMinutes())):\"\";if(a.props.showTimeInput)return de.default.createElement(Ar,{date:e,timeString:t,timeInputLabel:a.props.timeInputLabel,onChange:a.props.onTimeChange,customTimeInput:a.props.customTimeInput})})),a.containerRef=de.default.createRef(),a.state={date:a.getDateInView(),selectingDate:null,monthContainer:null},a}return ht(r,[{key:\"componentDidMount\",value:function(){var e=this;this.props.showTimeSelect&&(this.assignMonthContainer=void e.setState({monthContainer:e.monthContainer}))}},{key:\"componentDidUpdate\",value:function(e){this.props.preSelection&&!Ut(this.props.preSelection,e.preSelection)?this.setState({date:this.props.preSelection}):this.props.openToDate&&!Ut(this.props.openToDate,e.openToDate)&&this.setState({date:this.props.openToDate})}},{key:\"render\",value:function(){var e=this.props.container||Wr;return de.default.createElement(\"div\",{ref:this.containerRef},de.default.createElement(e,{className:ce.default(\"react-datepicker\",this.props.className,{\"react-datepicker--time-only\":this.props.showTimeSelectOnly}),showPopperArrow:this.props.showPopperArrow,arrowProps:this.props.arrowProps},this.renderPreviousButton(),this.renderNextButton(),this.renderMonths(),this.renderYears(),this.renderTodayButton(),this.renderTimeSection(),this.renderInputTimeSection(),this.props.children))}}],[{key:\"defaultProps\",get:function(){return{onDropdownFocus:function(){},monthsShown:1,monthSelectedIn:0,forceShowMonthNavigation:!1,timeCaption:\"Time\",previousYearButtonLabel:\"Previous Year\",nextYearButtonLabel:\"Next Year\",previousMonthButtonLabel:\"Previous Month\",nextMonthButtonLabel:\"Next Month\",customTimeInput:null,yearItemNumber:Ot}}}]),r}(de.default.Component),Hr=function(e){return!e.disabled&&-1!==e.tabIndex},Kr=function(e){wt(r,e);var t=St(r);function r(e){var a;return ut(this,r),mt(bt(a=t.call(this,e)),\"getTabChildren\",(function(){return Array.prototype.slice.call(a.tabLoopRef.current.querySelectorAll(\"[tabindex], a, button, input, select, textarea\"),1,-1).filter(Hr)})),mt(bt(a),\"handleFocusStart\",(function(e){var t=a.getTabChildren();t&&t.length>1&&t[t.length-1].focus()})),mt(bt(a),\"handleFocusEnd\",(function(e){var t=a.getTabChildren();t&&t.length>1&&t[0].focus()})),a.tabLoopRef=de.default.createRef(),a}return ht(r,[{key:\"render\",value:function(){return this.props.enableTabLoop?de.default.createElement(\"div\",{className:\"react-datepicker__tab-loop\",ref:this.tabLoopRef},de.default.createElement(\"div\",{className:\"react-datepicker__tab-loop__start\",tabIndex:\"0\",onFocus:this.handleFocusStart}),this.props.children,de.default.createElement(\"div\",{className:\"react-datepicker__tab-loop__end\",tabIndex:\"0\",onFocus:this.handleFocusEnd})):this.props.children}}],[{key:\"defaultProps\",get:function(){return{enableTabLoop:!0}}}]),r}(de.default.Component),Qr=function(e){wt(r,e);var t=St(r);function r(e){var a;return ut(this,r),(a=t.call(this,e)).el=document.createElement(\"div\"),a}return ht(r,[{key:\"componentDidMount\",value:function(){this.portalRoot=document.getElementById(this.props.portalId),this.portalRoot||(this.portalRoot=document.createElement(\"div\"),this.portalRoot.setAttribute(\"id\",this.props.portalId),document.body.appendChild(this.portalRoot)),this.portalRoot.appendChild(this.el)}},{key:\"componentWillUnmount\",value:function(){this.portalRoot.removeChild(this.el)}},{key:\"render\",value:function(){return dt.default.createPortal(this.props.children,this.el)}}]),r}(de.default.Component),Vr=function(e){wt(r,e);var t=St(r);function r(){return ut(this,r),t.apply(this,arguments)}return ht(r,[{key:\"render\",value:function(){var e,t=this.props,r=t.className,a=t.wrapperClassName,n=t.hidePopper,o=t.popperComponent,s=t.popperModifiers,i=t.popperPlacement,p=t.popperProps,l=t.targetComponent,d=t.enableTabLoop,c=t.popperOnKeyDown,u=t.portalId;if(!n){var f=ce.default(\"react-datepicker-popper\",r);e=de.default.createElement(ie.Popper,yt({modifiers:s,placement:i},p),(function(e){var t=e.ref,r=e.style,a=e.placement,n=e.arrowProps;return de.default.createElement(Kr,{enableTabLoop:d},de.default.createElement(\"div\",{ref:t,style:r,className:f,\"data-placement\":a,onKeyDown:c},de.default.cloneElement(o,{arrowProps:n})))}))}this.props.popperContainer&&(e=de.default.createElement(this.props.popperContainer,{},e)),u&&!n&&(e=de.default.createElement(Qr,{portalId:u},e));var h=ce.default(\"react-datepicker-wrapper\",a);return de.default.createElement(ie.Manager,{className:\"react-datepicker-manager\"},de.default.createElement(ie.Reference,null,(function(e){var t=e.ref;return de.default.createElement(\"div\",{ref:t,className:h},l)})),e)}}],[{key:\"defaultProps\",get:function(){return{hidePopper:!0,popperModifiers:{preventOverflow:{enabled:!0,escapeWithReference:!0,boundariesElement:\"viewport\"}},popperProps:{},popperPlacement:\"bottom-start\"}}}]),r}(de.default.Component),Ur=\"react-datepicker-ignore-onclickoutside\",$r=lt.default(jr);var zr=\"Date input not valid.\",Gr=function(e){wt(r,e);var t=St(r);function r(e){var a;return ut(this,r),mt(bt(a=t.call(this,e)),\"getPreSelection\",(function(){return a.props.openToDate?a.props.openToDate:a.props.selectsEnd&&a.props.startDate?a.props.startDate:a.props.selectsStart&&a.props.endDate?a.props.endDate:xt()})),mt(bt(a),\"calcInitialState\",(function(){var e=a.getPreSelection(),t=yr(a.props),r=vr(a.props),n=t&&nt.default(e,Ve.default(t))?t:r&&at.default(e,Je.default(r))?r:e;return{open:a.props.startOpen||!1,preventFocus:!1,preSelection:a.props.selected?a.props.selected:n,highlightDates:Dr(a.props.highlightDates),focused:!1,shouldFocusDayInline:!1}})),mt(bt(a),\"clearPreventFocusTimeout\",(function(){a.preventFocusTimeout&&clearTimeout(a.preventFocusTimeout)})),mt(bt(a),\"setFocus\",(function(){a.input&&a.input.focus&&a.input.focus({preventScroll:!0})})),mt(bt(a),\"setBlur\",(function(){a.input&&a.input.blur&&a.input.blur(),a.cancelFocusInput()})),mt(bt(a),\"setOpen\",(function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];a.setState({open:e,preSelection:e&&a.state.open?a.state.preSelection:a.calcInitialState().preSelection,lastPreSelectChange:Xr},(function(){e||a.setState((function(e){return{focused:!!t&&e.focused}}),(function(){!t&&a.setBlur(),a.setState({inputValue:null})}))}))})),mt(bt(a),\"inputOk\",(function(){return ue.default(a.state.preSelection)})),mt(bt(a),\"isCalendarOpen\",(function(){return void 0===a.props.open?a.state.open&&!a.props.disabled&&!a.props.readOnly:a.props.open})),mt(bt(a),\"handleFocus\",(function(e){a.state.preventFocus||(a.props.onFocus(e),a.props.preventOpenOnFocus||a.props.readOnly||a.setOpen(!0)),a.setState({focused:!0})})),mt(bt(a),\"cancelFocusInput\",(function(){clearTimeout(a.inputFocusTimeout),a.inputFocusTimeout=null})),mt(bt(a),\"deferFocusInput\",(function(){a.cancelFocusInput(),a.inputFocusTimeout=setTimeout((function(){return a.setFocus()}),1)})),mt(bt(a),\"handleDropdownFocus\",(function(){a.cancelFocusInput()})),mt(bt(a),\"handleBlur\",(function(e){(!a.state.open||a.props.withPortal||a.props.showTimeInput)&&a.props.onBlur(e),a.setState({focused:!1})})),mt(bt(a),\"handleCalendarClickOutside\",(function(e){a.props.inline||a.setOpen(!1),a.props.onClickOutside(e),a.props.withPortal&&e.preventDefault()})),mt(bt(a),\"handleChange\",(function(){for(var e=arguments.length,t=new Array(e),r=0;rb}return!1}function v(a,b,c,d,e,f){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f}var C={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){C[a]=new v(a,0,!1,a,null,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];C[b]=new v(b,1,!1,a[1],null,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){C[a]=new v(a,2,!1,a.toLowerCase(),null,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){C[a]=new v(a,2,!1,a,null,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){C[a]=new v(a,3,!1,a.toLowerCase(),null,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){C[a]=new v(a,3,!0,a,null,!1)});[\"capture\",\"download\"].forEach(function(a){C[a]=new v(a,4,!1,a,null,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){C[a]=new v(a,6,!1,a,null,!1)});[\"rowSpan\",\"start\"].forEach(function(a){C[a]=new v(a,5,!1,a.toLowerCase(),null,!1)});var Ua=/[\\-:]([a-z])/g;function Va(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(Ua,\nVa);C[b]=new v(b,1,!1,a,null,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(Ua,Va);C[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!1)});\nC.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){C[a]=new v(a,1,!1,a.toLowerCase(),null,!0)});var Wa=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;Wa.hasOwnProperty(\"ReactCurrentDispatcher\")||(Wa.ReactCurrentDispatcher={current:null});Wa.hasOwnProperty(\"ReactCurrentBatchConfig\")||(Wa.ReactCurrentBatchConfig={suspense:null});\nfunction Xa(a,b,c,d){var e=C.hasOwnProperty(b)?C[b]:null;var f=null!==e?0===e.type:d?!1:!(2=c.length))throw Error(u(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:rb(c)}}\nfunction Kb(a,b){var c=rb(b.value),d=rb(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function Lb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var Mb={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction Nb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function Ob(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?Nb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar Pb,Qb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==Mb.svg||\"innerHTML\"in a)a.innerHTML=b;else{Pb=Pb||document.createElement(\"div\");Pb.innerHTML=\"\"+b.valueOf().toString()+\"\";for(b=Pb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction Rb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}function Sb(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var Tb={animationend:Sb(\"Animation\",\"AnimationEnd\"),animationiteration:Sb(\"Animation\",\"AnimationIteration\"),animationstart:Sb(\"Animation\",\"AnimationStart\"),transitionend:Sb(\"Transition\",\"TransitionEnd\")},Ub={},Vb={};\nya&&(Vb=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete Tb.animationend.animation,delete Tb.animationiteration.animation,delete Tb.animationstart.animation),\"TransitionEvent\"in window||delete Tb.transitionend.transition);function Wb(a){if(Ub[a])return Ub[a];if(!Tb[a])return a;var b=Tb[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Vb)return Ub[a]=b[c];return a}\nvar Xb=Wb(\"animationend\"),Yb=Wb(\"animationiteration\"),Zb=Wb(\"animationstart\"),$b=Wb(\"transitionend\"),ac=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),bc=new (\"function\"===typeof WeakMap?WeakMap:Map);function cc(a){var b=bc.get(a);void 0===b&&(b=new Map,bc.set(a,b));return b}\nfunction dc(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.effectTag&1026)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function ec(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function fc(a){if(dc(a)!==a)throw Error(u(188));}\nfunction gc(a){var b=a.alternate;if(!b){b=dc(a);if(null===b)throw Error(u(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return fc(e),a;if(f===d)return fc(e),b;f=f.sibling}throw Error(u(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(u(189));}}if(c.alternate!==d)throw Error(u(190));}if(3!==c.tag)throw Error(u(188));return c.stateNode.current===c?a:b}function hc(a){a=gc(a);if(!a)return null;for(var b=a;;){if(5===b.tag||6===b.tag)return b;if(b.child)b.child.return=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}}return null}\nfunction ic(a,b){if(null==b)throw Error(u(30));if(null==a)return b;if(Array.isArray(a)){if(Array.isArray(b))return a.push.apply(a,b),a;a.push(b);return a}return Array.isArray(b)?[a].concat(b):[a,b]}function jc(a,b,c){Array.isArray(a)?a.forEach(b,c):a&&b.call(c,a)}var kc=null;\nfunction lc(a){if(a){var b=a._dispatchListeners,c=a._dispatchInstances;if(Array.isArray(b))for(var d=0;dpc.length&&pc.push(a)}\nfunction rc(a,b,c,d){if(pc.length){var e=pc.pop();e.topLevelType=a;e.eventSystemFlags=d;e.nativeEvent=b;e.targetInst=c;return e}return{topLevelType:a,eventSystemFlags:d,nativeEvent:b,targetInst:c,ancestors:[]}}\nfunction sc(a){var b=a.targetInst,c=b;do{if(!c){a.ancestors.push(c);break}var d=c;if(3===d.tag)d=d.stateNode.containerInfo;else{for(;d.return;)d=d.return;d=3!==d.tag?null:d.stateNode.containerInfo}if(!d)break;b=c.tag;5!==b&&6!==b||a.ancestors.push(c);c=tc(d)}while(c);for(c=0;c=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=ud(c)}}\nfunction wd(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?wd(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}function xd(){for(var a=window,b=td();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=td(a.document)}return b}\nfunction yd(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}var zd=\"$\",Ad=\"/$\",Bd=\"$?\",Cd=\"$!\",Dd=null,Ed=null;function Fd(a,b){switch(a){case \"button\":case \"input\":case \"select\":case \"textarea\":return!!b.autoFocus}return!1}\nfunction Gd(a,b){return\"textarea\"===a||\"option\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}var Hd=\"function\"===typeof setTimeout?setTimeout:void 0,Id=\"function\"===typeof clearTimeout?clearTimeout:void 0;function Jd(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break}return a}\nfunction Kd(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(c===zd||c===Cd||c===Bd){if(0===b)return a;b--}else c===Ad&&b++}a=a.previousSibling}return null}var Ld=Math.random().toString(36).slice(2),Md=\"__reactInternalInstance$\"+Ld,Nd=\"__reactEventHandlers$\"+Ld,Od=\"__reactContainere$\"+Ld;\nfunction tc(a){var b=a[Md];if(b)return b;for(var c=a.parentNode;c;){if(b=c[Od]||c[Md]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Kd(a);null!==a;){if(c=a[Md])return c;a=Kd(a)}return b}a=c;c=a.parentNode}return null}function Nc(a){a=a[Md]||a[Od];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function Pd(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(u(33));}function Qd(a){return a[Nd]||null}\nfunction Rd(a){do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction Sd(a,b){var c=a.stateNode;if(!c)return null;var d=la(c);if(!d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==typeof c)throw Error(u(231,\nb,typeof c));return c}function Td(a,b,c){if(b=Sd(a,c.dispatchConfig.phasedRegistrationNames[b]))c._dispatchListeners=ic(c._dispatchListeners,b),c._dispatchInstances=ic(c._dispatchInstances,a)}function Ud(a){if(a&&a.dispatchConfig.phasedRegistrationNames){for(var b=a._targetInst,c=[];b;)c.push(b),b=Rd(b);for(b=c.length;0this.eventPool.length&&this.eventPool.push(a)}function de(a){a.eventPool=[];a.getPooled=ee;a.release=fe}var ge=G.extend({data:null}),he=G.extend({data:null}),ie=[9,13,27,32],je=ya&&\"CompositionEvent\"in window,ke=null;ya&&\"documentMode\"in document&&(ke=document.documentMode);\nvar le=ya&&\"TextEvent\"in window&&!ke,me=ya&&(!je||ke&&8=ke),ne=String.fromCharCode(32),oe={beforeInput:{phasedRegistrationNames:{bubbled:\"onBeforeInput\",captured:\"onBeforeInputCapture\"},dependencies:[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]},compositionEnd:{phasedRegistrationNames:{bubbled:\"onCompositionEnd\",captured:\"onCompositionEndCapture\"},dependencies:\"blur compositionend keydown keypress keyup mousedown\".split(\" \")},compositionStart:{phasedRegistrationNames:{bubbled:\"onCompositionStart\",\ncaptured:\"onCompositionStartCapture\"},dependencies:\"blur compositionstart keydown keypress keyup mousedown\".split(\" \")},compositionUpdate:{phasedRegistrationNames:{bubbled:\"onCompositionUpdate\",captured:\"onCompositionUpdateCapture\"},dependencies:\"blur compositionupdate keydown keypress keyup mousedown\".split(\" \")}},pe=!1;\nfunction qe(a,b){switch(a){case \"keyup\":return-1!==ie.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"blur\":return!0;default:return!1}}function re(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var se=!1;function te(a,b){switch(a){case \"compositionend\":return re(b);case \"keypress\":if(32!==b.which)return null;pe=!0;return ne;case \"textInput\":return a=b.data,a===ne&&pe?null:a;default:return null}}\nfunction ue(a,b){if(se)return\"compositionend\"===a||!je&&qe(a,b)?(a=ae(),$d=Zd=Yd=null,se=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=document.documentMode,df={select:{phasedRegistrationNames:{bubbled:\"onSelect\",captured:\"onSelectCapture\"},dependencies:\"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange\".split(\" \")}},ef=null,ff=null,gf=null,hf=!1;\nfunction jf(a,b){var c=b.window===b?b.document:9===b.nodeType?b:b.ownerDocument;if(hf||null==ef||ef!==td(c))return null;c=ef;\"selectionStart\"in c&&yd(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset});return gf&&bf(gf,c)?null:(gf=c,a=G.getPooled(df.select,ff,a,b),a.type=\"select\",a.target=ef,Xd(a),a)}\nvar kf={eventTypes:df,extractEvents:function(a,b,c,d,e,f){e=f||(d.window===d?d.document:9===d.nodeType?d:d.ownerDocument);if(!(f=!e)){a:{e=cc(e);f=wa.onSelect;for(var g=0;gzf||(a.current=yf[zf],yf[zf]=null,zf--)}\nfunction I(a,b){zf++;yf[zf]=a.current;a.current=b}var Af={},J={current:Af},K={current:!1},Bf=Af;function Cf(a,b){var c=a.type.contextTypes;if(!c)return Af;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function L(a){a=a.childContextTypes;return null!==a&&void 0!==a}\nfunction Df(){H(K);H(J)}function Ef(a,b,c){if(J.current!==Af)throw Error(u(168));I(J,b);I(K,c)}function Ff(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(u(108,pb(b)||\"Unknown\",e));return n({},c,{},d)}function Gf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Af;Bf=J.current;I(J,a);I(K,K.current);return!0}\nfunction Hf(a,b,c){var d=a.stateNode;if(!d)throw Error(u(169));c?(a=Ff(a,b,Bf),d.__reactInternalMemoizedMergedChildContext=a,H(K),H(J),I(J,a)):H(K);I(K,c)}\nvar If=r.unstable_runWithPriority,Jf=r.unstable_scheduleCallback,Kf=r.unstable_cancelCallback,Lf=r.unstable_requestPaint,Mf=r.unstable_now,Nf=r.unstable_getCurrentPriorityLevel,Of=r.unstable_ImmediatePriority,Pf=r.unstable_UserBlockingPriority,Qf=r.unstable_NormalPriority,Rf=r.unstable_LowPriority,Sf=r.unstable_IdlePriority,Tf={},Uf=r.unstable_shouldYield,Vf=void 0!==Lf?Lf:function(){},Wf=null,Xf=null,Yf=!1,Zf=Mf(),$f=1E4>Zf?Mf:function(){return Mf()-Zf};\nfunction ag(){switch(Nf()){case Of:return 99;case Pf:return 98;case Qf:return 97;case Rf:return 96;case Sf:return 95;default:throw Error(u(332));}}function bg(a){switch(a){case 99:return Of;case 98:return Pf;case 97:return Qf;case 96:return Rf;case 95:return Sf;default:throw Error(u(332));}}function cg(a,b){a=bg(a);return If(a,b)}function dg(a,b,c){a=bg(a);return Jf(a,b,c)}function eg(a){null===Wf?(Wf=[a],Xf=Jf(Of,fg)):Wf.push(a);return Tf}function gg(){if(null!==Xf){var a=Xf;Xf=null;Kf(a)}fg()}\nfunction fg(){if(!Yf&&null!==Wf){Yf=!0;var a=0;try{var b=Wf;cg(99,function(){for(;a=b&&(rg=!0),a.firstContext=null)}\nfunction sg(a,b){if(mg!==a&&!1!==b&&0!==b){if(\"number\"!==typeof b||1073741823===b)mg=a,b=1073741823;b={context:a,observedBits:b,next:null};if(null===lg){if(null===kg)throw Error(u(308));lg=b;kg.dependencies={expirationTime:0,firstContext:b,responders:null}}else lg=lg.next=b}return a._currentValue}var tg=!1;function ug(a){a.updateQueue={baseState:a.memoizedState,baseQueue:null,shared:{pending:null},effects:null}}\nfunction vg(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,baseQueue:a.baseQueue,shared:a.shared,effects:a.effects})}function wg(a,b){a={expirationTime:a,suspenseConfig:b,tag:0,payload:null,callback:null,next:null};return a.next=a}function xg(a,b){a=a.updateQueue;if(null!==a){a=a.shared;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}}\nfunction yg(a,b){var c=a.alternate;null!==c&&vg(c,a);a=a.updateQueue;c=a.baseQueue;null===c?(a.baseQueue=b.next=b,b.next=b):(b.next=c.next,c.next=b)}\nfunction zg(a,b,c,d){var e=a.updateQueue;tg=!1;var f=e.baseQueue,g=e.shared.pending;if(null!==g){if(null!==f){var h=f.next;f.next=g.next;g.next=h}f=g;e.shared.pending=null;h=a.alternate;null!==h&&(h=h.updateQueue,null!==h&&(h.baseQueue=g))}if(null!==f){h=f.next;var k=e.baseState,l=0,m=null,p=null,x=null;if(null!==h){var z=h;do{g=z.expirationTime;if(gl&&(l=g)}else{null!==x&&(x=x.next={expirationTime:1073741823,suspenseConfig:z.suspenseConfig,tag:z.tag,payload:z.payload,callback:z.callback,next:null});Ag(g,z.suspenseConfig);a:{var D=a,t=z;g=b;ca=c;switch(t.tag){case 1:D=t.payload;if(\"function\"===typeof D){k=D.call(ca,k,g);break a}k=D;break a;case 3:D.effectTag=D.effectTag&-4097|64;case 0:D=t.payload;g=\"function\"===typeof D?D.call(ca,k,g):D;if(null===g||void 0===g)break a;k=n({},k,g);break a;case 2:tg=!0}}null!==z.callback&&\n(a.effectTag|=32,g=e.effects,null===g?e.effects=[z]:g.push(z))}z=z.next;if(null===z||z===h)if(g=e.shared.pending,null===g)break;else z=f.next=g.next,g.next=h,e.baseQueue=f=g,e.shared.pending=null}while(1)}null===x?m=k:x.next=p;e.baseState=m;e.baseQueue=x;Bg(l);a.expirationTime=l;a.memoizedState=k}}\nfunction Cg(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;by?(A=m,m=null):A=m.sibling;var q=x(e,m,h[y],k);if(null===q){null===m&&(m=A);break}a&&\nm&&null===q.alternate&&b(e,m);g=f(q,g,y);null===t?l=q:t.sibling=q;t=q;m=A}if(y===h.length)return c(e,m),l;if(null===m){for(;yy?(A=t,t=null):A=t.sibling;var D=x(e,t,q.value,l);if(null===D){null===t&&(t=A);break}a&&t&&null===D.alternate&&b(e,t);g=f(D,g,y);null===m?k=D:m.sibling=D;m=D;t=A}if(q.done)return c(e,t),k;if(null===t){for(;!q.done;y++,q=h.next())q=p(e,q.value,l),null!==q&&(g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);return k}for(t=d(e,t);!q.done;y++,q=h.next())q=z(t,e,y,q.value,l),null!==q&&(a&&null!==\nq.alternate&&t.delete(null===q.key?y:q.key),g=f(q,g,y),null===m?k=q:m.sibling=q,m=q);a&&t.forEach(function(a){return b(e,a)});return k}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ab&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case Za:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ab){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,\nk.sibling);d=e(k,f.props);d.ref=Pg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ab?(d=Wg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Ug(f.type,f.key,f.props,null,a.mode,h),h.ref=Pg(a,d,f),h.return=a,a=h)}return g(a);case $a:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=\nd.sibling}d=Vg(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Tg(f,a.mode,h),d.return=a,a=d),g(a);if(Og(f))return ca(a,d,f,h);if(nb(f))return D(a,d,f,h);l&&Qg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 0:throw a=a.type,Error(u(152,a.displayName||a.name||\"Component\"));}return c(a,d)}}var Xg=Rg(!0),Yg=Rg(!1),Zg={},$g={current:Zg},ah={current:Zg},bh={current:Zg};\nfunction ch(a){if(a===Zg)throw Error(u(174));return a}function dh(a,b){I(bh,b);I(ah,a);I($g,Zg);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:Ob(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=Ob(b,a)}H($g);I($g,b)}function eh(){H($g);H(ah);H(bh)}function fh(a){ch(bh.current);var b=ch($g.current);var c=Ob(b,a.type);b!==c&&(I(ah,a),I($g,c))}function gh(a){ah.current===a&&(H($g),H(ah))}var M={current:0};\nfunction hh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||c.data===Bd||c.data===Cd))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.effectTag&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}function ih(a,b){return{responder:a,props:b}}\nvar jh=Wa.ReactCurrentDispatcher,kh=Wa.ReactCurrentBatchConfig,lh=0,N=null,O=null,P=null,mh=!1;function Q(){throw Error(u(321));}function nh(a,b){if(null===b)return!1;for(var c=0;cf))throw Error(u(301));f+=1;P=O=null;b.updateQueue=null;jh.current=rh;a=c(d,e)}while(b.expirationTime===lh)}jh.current=sh;b=null!==O&&null!==O.next;lh=0;P=O=N=null;mh=!1;if(b)throw Error(u(300));return a}\nfunction th(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===P?N.memoizedState=P=a:P=P.next=a;return P}function uh(){if(null===O){var a=N.alternate;a=null!==a?a.memoizedState:null}else a=O.next;var b=null===P?N.memoizedState:P.next;if(null!==b)P=b,O=a;else{if(null===a)throw Error(u(310));O=a;a={memoizedState:O.memoizedState,baseState:O.baseState,baseQueue:O.baseQueue,queue:O.queue,next:null};null===P?N.memoizedState=P=a:P=P.next=a}return P}\nfunction vh(a,b){return\"function\"===typeof b?b(a):b}\nfunction wh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(311));c.lastRenderedReducer=a;var d=O,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.expirationTime;if(lN.expirationTime&&\n(N.expirationTime=l,Bg(l))}else null!==h&&(h=h.next={expirationTime:1073741823,suspenseConfig:k.suspenseConfig,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),Ag(l,k.suspenseConfig),d=k.eagerReducer===a?k.eagerState:a(d,k.action);k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;$e(d,b.memoizedState)||(rg=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\nfunction xh(a){var b=uh(),c=b.queue;if(null===c)throw Error(u(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);$e(f,b.memoizedState)||(rg=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\nfunction yh(a){var b=th();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a=b.queue={pending:null,dispatch:null,lastRenderedReducer:vh,lastRenderedState:a};a=a.dispatch=zh.bind(null,N,a);return[b.memoizedState,a]}function Ah(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=N.updateQueue;null===b?(b={lastEffect:null},N.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}\nfunction Bh(){return uh().memoizedState}function Ch(a,b,c,d){var e=th();N.effectTag|=a;e.memoizedState=Ah(1|b,c,void 0,void 0===d?null:d)}function Dh(a,b,c,d){var e=uh();d=void 0===d?null:d;var f=void 0;if(null!==O){var g=O.memoizedState;f=g.destroy;if(null!==d&&nh(d,g.deps)){Ah(b,c,f,d);return}}N.effectTag|=a;e.memoizedState=Ah(1|b,c,f,d)}function Eh(a,b){return Ch(516,4,a,b)}function Fh(a,b){return Dh(516,4,a,b)}function Gh(a,b){return Dh(4,2,a,b)}\nfunction Hh(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function Ih(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Dh(4,2,Hh.bind(null,b,a),c)}function Jh(){}function Kh(a,b){th().memoizedState=[a,void 0===b?null:b];return a}function Lh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction Mh(a,b){var c=uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&nh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function Nh(a,b,c){var d=ag();cg(98>d?98:d,function(){a(!0)});cg(97\\x3c/script>\",a=a.removeChild(a.firstChild)):\"string\"===typeof d.is?a=g.createElement(e,{is:d.is}):(a=g.createElement(e),\"select\"===e&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,e);a[Md]=b;a[Nd]=d;ni(a,b,!1,!1);b.stateNode=a;g=pd(e,d);switch(e){case \"iframe\":case \"object\":case \"embed\":F(\"load\",\na);h=d;break;case \"video\":case \"audio\":for(h=0;hd.tailExpiration&&1b)&&tj.set(a,b)))}}\nfunction xj(a,b){a.expirationTimea?c:a;return 2>=a&&b!==a?0:a}\nfunction Z(a){if(0!==a.lastExpiredTime)a.callbackExpirationTime=1073741823,a.callbackPriority=99,a.callbackNode=eg(yj.bind(null,a));else{var b=zj(a),c=a.callbackNode;if(0===b)null!==c&&(a.callbackNode=null,a.callbackExpirationTime=0,a.callbackPriority=90);else{var d=Gg();1073741823===b?d=99:1===b||2===b?d=95:(d=10*(1073741821-b)-10*(1073741821-d),d=0>=d?99:250>=d?98:5250>=d?97:95);if(null!==c){var e=a.callbackPriority;if(a.callbackExpirationTime===b&&e>=d)return;c!==Tf&&Kf(c)}a.callbackExpirationTime=\nb;a.callbackPriority=d;b=1073741823===b?eg(yj.bind(null,a)):dg(d,Bj.bind(null,a),{timeout:10*(1073741821-b)-$f()});a.callbackNode=b}}}\nfunction Bj(a,b){wj=0;if(b)return b=Gg(),Cj(a,b),Z(a),null;var c=zj(a);if(0!==c){b=a.callbackNode;if((W&(fj|gj))!==V)throw Error(u(327));Dj();a===T&&c===U||Ej(a,c);if(null!==X){var d=W;W|=fj;var e=Fj();do try{Gj();break}catch(h){Hj(a,h)}while(1);ng();W=d;cj.current=e;if(S===hj)throw b=kj,Ej(a,c),xi(a,c),Z(a),b;if(null===X)switch(e=a.finishedWork=a.current.alternate,a.finishedExpirationTime=c,d=S,T=null,d){case ti:case hj:throw Error(u(345));case ij:Cj(a,2=c){a.lastPingedTime=c;Ej(a,c);break}}f=zj(a);if(0!==f&&f!==c)break;if(0!==d&&d!==c){a.lastPingedTime=d;break}a.timeoutHandle=Hd(Jj.bind(null,a),e);break}Jj(a);break;case vi:xi(a,c);d=a.lastSuspendedTime;c===d&&(a.nextKnownPendingLevel=Ij(e));if(oj&&(e=a.lastPingedTime,0===e||e>=c)){a.lastPingedTime=c;Ej(a,c);break}e=zj(a);if(0!==e&&e!==c)break;if(0!==d&&d!==c){a.lastPingedTime=\nd;break}1073741823!==mj?d=10*(1073741821-mj)-$f():1073741823===lj?d=0:(d=10*(1073741821-lj)-5E3,e=$f(),c=10*(1073741821-c)-e,d=e-d,0>d&&(d=0),d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*bj(d/1960))-d,c=d?d=0:(e=g.busyDelayMs|0,f=$f()-(10*(1073741821-f)-(g.timeoutMs|0||5E3)),d=f<=e?0:e+d-f);if(10 component higher in the tree to provide a loading indicator or placeholder to display.\"+qb(g))}S!==\njj&&(S=ij);h=Ai(h,g);p=f;do{switch(p.tag){case 3:k=h;p.effectTag|=4096;p.expirationTime=b;var B=Xi(p,k,b);yg(p,B);break a;case 1:k=h;var w=p.type,ub=p.stateNode;if(0===(p.effectTag&64)&&(\"function\"===typeof w.getDerivedStateFromError||null!==ub&&\"function\"===typeof ub.componentDidCatch&&(null===aj||!aj.has(ub)))){p.effectTag|=4096;p.expirationTime=b;var vb=$i(p,k,b);yg(p,vb);break a}}p=p.return}while(null!==p)}X=Pj(X)}catch(Xc){b=Xc;continue}break}while(1)}\nfunction Fj(){var a=cj.current;cj.current=sh;return null===a?sh:a}function Ag(a,b){awi&&(wi=a)}function Kj(){for(;null!==X;)X=Qj(X)}function Gj(){for(;null!==X&&!Uf();)X=Qj(X)}function Qj(a){var b=Rj(a.alternate,a,U);a.memoizedProps=a.pendingProps;null===b&&(b=Pj(a));dj.current=null;return b}\nfunction Pj(a){X=a;do{var b=X.alternate;a=X.return;if(0===(X.effectTag&2048)){b=si(b,X,U);if(1===U||1!==X.childExpirationTime){for(var c=0,d=X.child;null!==d;){var e=d.expirationTime,f=d.childExpirationTime;e>c&&(c=e);f>c&&(c=f);d=d.sibling}X.childExpirationTime=c}if(null!==b)return b;null!==a&&0===(a.effectTag&2048)&&(null===a.firstEffect&&(a.firstEffect=X.firstEffect),null!==X.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=X.firstEffect),a.lastEffect=X.lastEffect),1a?b:a}function Jj(a){var b=ag();cg(99,Sj.bind(null,a,b));return null}\nfunction Sj(a,b){do Dj();while(null!==rj);if((W&(fj|gj))!==V)throw Error(u(327));var c=a.finishedWork,d=a.finishedExpirationTime;if(null===c)return null;a.finishedWork=null;a.finishedExpirationTime=0;if(c===a.current)throw Error(u(177));a.callbackNode=null;a.callbackExpirationTime=0;a.callbackPriority=90;a.nextKnownPendingLevel=0;var e=Ij(c);a.firstPendingTime=e;d<=a.lastSuspendedTime?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:d<=a.firstSuspendedTime&&(a.firstSuspendedTime=\nd-1);d<=a.lastPingedTime&&(a.lastPingedTime=0);d<=a.lastExpiredTime&&(a.lastExpiredTime=0);a===T&&(X=T=null,U=0);1h&&(l=h,h=g,g=l),l=vd(q,g),m=vd(q,h),l&&m&&(1!==w.rangeCount||w.anchorNode!==l.node||w.anchorOffset!==l.offset||w.focusNode!==m.node||w.focusOffset!==m.offset)&&(B=B.createRange(),B.setStart(l.node,l.offset),w.removeAllRanges(),g>h?(w.addRange(B),w.extend(m.node,m.offset)):(B.setEnd(m.node,m.offset),w.addRange(B))))));B=[];for(w=q;w=w.parentNode;)1===w.nodeType&&B.push({element:w,left:w.scrollLeft,\ntop:w.scrollTop});\"function\"===typeof q.focus&&q.focus();for(q=0;q=c)return ji(a,b,c);I(M,M.current&1);b=$h(a,b,c);return null!==b?b.sibling:null}I(M,M.current&1);break;case 19:d=b.childExpirationTime>=c;if(0!==(a.effectTag&64)){if(d)return mi(a,b,c);b.effectTag|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null);I(M,M.current);if(!d)return null}return $h(a,b,c)}rg=!1}}else rg=!1;b.expirationTime=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2);a=b.pendingProps;e=Cf(b,J.current);qg(b,c);e=oh(null,\nb,d,a,e,c);b.effectTag|=1;if(\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(L(d)){var f=!0;Gf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;ug(b);var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Fg(b,d,g,a);e.updater=Jg;b.stateNode=e;e._reactInternalFiber=b;Ng(b,d,a,c);b=gi(null,b,d,!0,f,c)}else b.tag=0,R(null,b,e,c),b=b.child;return b;case 16:a:{e=b.elementType;null!==a&&(a.alternate=\nnull,b.alternate=null,b.effectTag|=2);a=b.pendingProps;ob(e);if(1!==e._status)throw e._result;e=e._result;b.type=e;f=b.tag=Xj(e);a=ig(e,a);switch(f){case 0:b=di(null,b,e,a,c);break a;case 1:b=fi(null,b,e,a,c);break a;case 11:b=Zh(null,b,e,a,c);break a;case 14:b=ai(null,b,e,ig(e.type,a),d,c);break a}throw Error(u(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),di(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),fi(a,b,d,e,c);\ncase 3:hi(b);d=b.updateQueue;if(null===a||null===d)throw Error(u(282));d=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;vg(a,b);zg(b,d,null,c);d=b.memoizedState.element;if(d===e)Xh(),b=$h(a,b,c);else{if(e=b.stateNode.hydrate)Ph=Jd(b.stateNode.containerInfo.firstChild),Oh=b,e=Qh=!0;if(e)for(c=Yg(b,null,d,c),b.child=c;c;)c.effectTag=c.effectTag&-3|1024,c=c.sibling;else R(a,b,d,c),Xh();b=b.child}return b;case 5:return fh(b),null===a&&Uh(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:\nnull,g=e.children,Gd(d,e)?g=null:null!==f&&Gd(d,f)&&(b.effectTag|=16),ei(a,b),b.mode&4&&1!==c&&e.hidden?(b.expirationTime=b.childExpirationTime=1,b=null):(R(a,b,g,c),b=b.child),b;case 6:return null===a&&Uh(b),null;case 13:return ji(a,b,c);case 4:return dh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Xg(b,null,d,c):R(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ig(d,e),Zh(a,b,d,e,c);case 7:return R(a,b,b.pendingProps,c),b.child;case 8:return R(a,\nb,b.pendingProps.children,c),b.child;case 12:return R(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;g=b.memoizedProps;f=e.value;var h=b.type._context;I(jg,h._currentValue);h._currentValue=f;if(null!==g)if(h=g.value,f=$e(h,f)?0:(\"function\"===typeof d._calculateChangedBits?d._calculateChangedBits(h,f):1073741823)|0,0===f){if(g.children===e.children&&!K.current){b=$h(a,b,c);break a}}else for(h=b.child,null!==h&&(h.return=b);null!==h;){var k=h.dependencies;if(null!==\nk){g=h.child;for(var l=k.firstContext;null!==l;){if(l.context===d&&0!==(l.observedBits&f)){1===h.tag&&(l=wg(c,null),l.tag=2,xg(h,l));h.expirationTime=b&&a<=b}function xi(a,b){var c=a.firstSuspendedTime,d=a.lastSuspendedTime;cb||0===c)a.lastSuspendedTime=b;b<=a.lastPingedTime&&(a.lastPingedTime=0);b<=a.lastExpiredTime&&(a.lastExpiredTime=0)}\nfunction yi(a,b){b>a.firstPendingTime&&(a.firstPendingTime=b);var c=a.firstSuspendedTime;0!==c&&(b>=c?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:b>=a.lastSuspendedTime&&(a.lastSuspendedTime=b+1),b>a.nextKnownPendingLevel&&(a.nextKnownPendingLevel=b))}function Cj(a,b){var c=a.lastExpiredTime;if(0===c||c>b)a.lastExpiredTime=b}\nfunction bk(a,b,c,d){var e=b.current,f=Gg(),g=Dg.suspense;f=Hg(f,e,g);a:if(c){c=c._reactInternalFiber;b:{if(dc(c)!==c||1!==c.tag)throw Error(u(170));var h=c;do{switch(h.tag){case 3:h=h.stateNode.context;break b;case 1:if(L(h.type)){h=h.stateNode.__reactInternalMemoizedMergedChildContext;break b}}h=h.return}while(null!==h);throw Error(u(171));}if(1===c.tag){var k=c.type;if(L(k)){c=Ff(c,k,h);break a}}c=h}else c=Af;null===b.context?b.context=c:b.pendingContext=c;b=wg(f,g);b.payload={element:a};d=void 0===\nd?null:d;null!==d&&(b.callback=d);xg(e,b);Ig(e,f);return f}function ck(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function dk(a,b){a=a.memoizedState;null!==a&&null!==a.dehydrated&&a.retryTime\n//\nclass Draggable extends React.Component /*:: */{\n // React 16.3+\n // Arity (props, state)\n static getDerivedStateFromProps(_ref /*:: */, _ref2 /*:: */) /*: ?Partial*/{\n let {\n position\n } /*: DraggableProps*/ = _ref /*: DraggableProps*/;\n let {\n prevPropsPosition\n } /*: DraggableState*/ = _ref2 /*: DraggableState*/;\n // Set x/y if a new position is provided in props that is different than the previous.\n if (position && (!prevPropsPosition || position.x !== prevPropsPosition.x || position.y !== prevPropsPosition.y)) {\n (0, _log.default)('Draggable: getDerivedStateFromProps %j', {\n position,\n prevPropsPosition\n });\n return {\n x: position.x,\n y: position.y,\n prevPropsPosition: {\n ...position\n }\n };\n }\n return null;\n }\n constructor(props /*: DraggableProps*/) {\n super(props);\n _defineProperty(this, \"onDragStart\", (e, coreData) => {\n (0, _log.default)('Draggable: onDragStart: %j', coreData);\n\n // Short-circuit if user's callback killed it.\n const shouldStart = this.props.onStart(e, (0, _positionFns.createDraggableData)(this, coreData));\n // Kills start event on core as well, so move handlers are never bound.\n if (shouldStart === false) return false;\n this.setState({\n dragging: true,\n dragged: true\n });\n });\n _defineProperty(this, \"onDrag\", (e, coreData) => {\n if (!this.state.dragging) return false;\n (0, _log.default)('Draggable: onDrag: %j', coreData);\n const uiData = (0, _positionFns.createDraggableData)(this, coreData);\n const newState = {\n x: uiData.x,\n y: uiData.y,\n slackX: 0,\n slackY: 0\n };\n\n // Keep within bounds.\n if (this.props.bounds) {\n // Save original x and y.\n const {\n x,\n y\n } = newState;\n\n // Add slack to the values used to calculate bound position. This will ensure that if\n // we start removing slack, the element won't react to it right away until it's been\n // completely removed.\n newState.x += this.state.slackX;\n newState.y += this.state.slackY;\n\n // Get bound position. This will ceil/floor the x and y within the boundaries.\n const [newStateX, newStateY] = (0, _positionFns.getBoundPosition)(this, newState.x, newState.y);\n newState.x = newStateX;\n newState.y = newStateY;\n\n // Recalculate slack by noting how much was shaved by the boundPosition handler.\n newState.slackX = this.state.slackX + (x - newState.x);\n newState.slackY = this.state.slackY + (y - newState.y);\n\n // Update the event we fire to reflect what really happened after bounds took effect.\n uiData.x = newState.x;\n uiData.y = newState.y;\n uiData.deltaX = newState.x - this.state.x;\n uiData.deltaY = newState.y - this.state.y;\n }\n\n // Short-circuit if user's callback killed it.\n const shouldUpdate = this.props.onDrag(e, uiData);\n if (shouldUpdate === false) return false;\n this.setState(newState);\n });\n _defineProperty(this, \"onDragStop\", (e, coreData) => {\n if (!this.state.dragging) return false;\n\n // Short-circuit if user's callback killed it.\n const shouldContinue = this.props.onStop(e, (0, _positionFns.createDraggableData)(this, coreData));\n if (shouldContinue === false) return false;\n (0, _log.default)('Draggable: onDragStop: %j', coreData);\n const newState /*: Partial*/ = {\n dragging: false,\n slackX: 0,\n slackY: 0\n };\n\n // If this is a controlled component, the result of this operation will be to\n // revert back to the old position. We expect a handler on `onDragStop`, at the least.\n const controlled = Boolean(this.props.position);\n if (controlled) {\n const {\n x,\n y\n } = this.props.position;\n newState.x = x;\n newState.y = y;\n }\n this.setState(newState);\n });\n this.state = {\n // Whether or not we are currently dragging.\n dragging: false,\n // Whether or not we have been dragged before.\n dragged: false,\n // Current transform x and y.\n x: props.position ? props.position.x : props.defaultPosition.x,\n y: props.position ? props.position.y : props.defaultPosition.y,\n prevPropsPosition: {\n ...props.position\n },\n // Used for compensating for out-of-bounds drags\n slackX: 0,\n slackY: 0,\n // Can only determine if SVG after mounting\n isElementSVG: false\n };\n if (props.position && !(props.onDrag || props.onStop)) {\n // eslint-disable-next-line no-console\n console.warn('A `position` was applied to this , without drag handlers. This will make this ' + 'component effectively undraggable. Please attach `onDrag` or `onStop` handlers so you can adjust the ' + '`position` of this element.');\n }\n }\n componentDidMount() {\n // Check to see if the element passed is an instanceof SVGElement\n if (typeof window.SVGElement !== 'undefined' && this.findDOMNode() instanceof window.SVGElement) {\n this.setState({\n isElementSVG: true\n });\n }\n }\n componentWillUnmount() {\n this.setState({\n dragging: false\n }); // prevents invariant if unmounted while dragging\n }\n\n // React Strict Mode compatibility: if `nodeRef` is passed, we will use it instead of trying to find\n // the underlying DOM node ourselves. See the README for more information.\n findDOMNode() /*: ?HTMLElement*/{\n var _this$props$nodeRef$c, _this$props;\n return (_this$props$nodeRef$c = (_this$props = this.props) === null || _this$props === void 0 || (_this$props = _this$props.nodeRef) === null || _this$props === void 0 ? void 0 : _this$props.current) !== null && _this$props$nodeRef$c !== void 0 ? _this$props$nodeRef$c : _reactDom.default.findDOMNode(this);\n }\n render() /*: ReactElement*/{\n const {\n axis,\n bounds,\n children,\n defaultPosition,\n defaultClassName,\n defaultClassNameDragging,\n defaultClassNameDragged,\n position,\n positionOffset,\n scale,\n ...draggableCoreProps\n } = this.props;\n let style = {};\n let svgTransform = null;\n\n // If this is controlled, we don't want to move it - unless it's dragging.\n const controlled = Boolean(position);\n const draggable = !controlled || this.state.dragging;\n const validPosition = position || defaultPosition;\n const transformOpts = {\n // Set left if horizontal drag is enabled\n x: (0, _positionFns.canDragX)(this) && draggable ? this.state.x : validPosition.x,\n // Set top if vertical drag is enabled\n y: (0, _positionFns.canDragY)(this) && draggable ? this.state.y : validPosition.y\n };\n\n // If this element was SVG, we use the `transform` attribute.\n if (this.state.isElementSVG) {\n svgTransform = (0, _domFns.createSVGTransform)(transformOpts, positionOffset);\n } else {\n // Add a CSS transform to move the element around. This allows us to move the element around\n // without worrying about whether or not it is relatively or absolutely positioned.\n // If the item you are dragging already has a transform set, wrap it in a so \n // has a clean slate.\n style = (0, _domFns.createCSSTransform)(transformOpts, positionOffset);\n }\n\n // Mark with class while dragging\n const className = (0, _clsx.default)(children.props.className || '', defaultClassName, {\n [defaultClassNameDragging]: this.state.dragging,\n [defaultClassNameDragged]: this.state.dragged\n });\n\n // Reuse the child provided\n // This makes it flexible to use whatever element is wanted (div, ul, etc)\n return /*#__PURE__*/React.createElement(_DraggableCore.default, _extends({}, draggableCoreProps, {\n onStart: this.onDragStart,\n onDrag: this.onDrag,\n onStop: this.onDragStop\n }), /*#__PURE__*/React.cloneElement(React.Children.only(children), {\n className: className,\n style: {\n ...children.props.style,\n ...style\n },\n transform: svgTransform\n }));\n }\n}\nexports.default = Draggable;\n_defineProperty(Draggable, \"displayName\", 'Draggable');\n_defineProperty(Draggable, \"propTypes\", {\n // Accepts all props accepts.\n ..._DraggableCore.default.propTypes,\n /**\n * `axis` determines which axis the draggable can move.\n *\n * Note that all callbacks will still return data as normal. This only\n * controls flushing to the DOM.\n *\n * 'both' allows movement horizontally and vertically.\n * 'x' limits movement to horizontal axis.\n * 'y' limits movement to vertical axis.\n * 'none' limits all movement.\n *\n * Defaults to 'both'.\n */\n axis: _propTypes.default.oneOf(['both', 'x', 'y', 'none']),\n /**\n * `bounds` determines the range of movement available to the element.\n * Available values are:\n *\n * 'parent' restricts movement within the Draggable's parent node.\n *\n * Alternatively, pass an object with the following properties, all of which are optional:\n *\n * {left: LEFT_BOUND, right: RIGHT_BOUND, bottom: BOTTOM_BOUND, top: TOP_BOUND}\n *\n * All values are in px.\n *\n * Example:\n *\n * ```jsx\n * let App = React.createClass({\n * render: function () {\n * return (\n * \n *
Content
\n *
\n * );\n * }\n * });\n * ```\n */\n bounds: _propTypes.default.oneOfType([_propTypes.default.shape({\n left: _propTypes.default.number,\n right: _propTypes.default.number,\n top: _propTypes.default.number,\n bottom: _propTypes.default.number\n }), _propTypes.default.string, _propTypes.default.oneOf([false])]),\n defaultClassName: _propTypes.default.string,\n defaultClassNameDragging: _propTypes.default.string,\n defaultClassNameDragged: _propTypes.default.string,\n /**\n * `defaultPosition` specifies the x and y that the dragged item should start at\n *\n * Example:\n *\n * ```jsx\n * let App = React.createClass({\n * render: function () {\n * return (\n * \n *
I start with transformX: 25px and transformY: 25px;
\n *
\n * );\n * }\n * });\n * ```\n */\n defaultPosition: _propTypes.default.shape({\n x: _propTypes.default.number,\n y: _propTypes.default.number\n }),\n positionOffset: _propTypes.default.shape({\n x: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),\n y: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string])\n }),\n /**\n * `position`, if present, defines the current position of the element.\n *\n * This is similar to how form elements in React work - if no `position` is supplied, the component\n * is uncontrolled.\n *\n * Example:\n *\n * ```jsx\n * let App = React.createClass({\n * render: function () {\n * return (\n * \n *
I start with transformX: 25px and transformY: 25px;
\n *
\n * );\n * }\n * });\n * ```\n */\n position: _propTypes.default.shape({\n x: _propTypes.default.number,\n y: _propTypes.default.number\n }),\n /**\n * These properties should be defined on the child, not here.\n */\n className: _shims.dontSetMe,\n style: _shims.dontSetMe,\n transform: _shims.dontSetMe\n});\n_defineProperty(Draggable, \"defaultProps\", {\n ..._DraggableCore.default.defaultProps,\n axis: 'both',\n bounds: false,\n defaultClassName: 'react-draggable',\n defaultClassNameDragging: 'react-draggable-dragging',\n defaultClassNameDragged: 'react-draggable-dragged',\n defaultPosition: {\n x: 0,\n y: 0\n },\n scale: 1\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\nvar _domFns = require(\"./utils/domFns\");\nvar _positionFns = require(\"./utils/positionFns\");\nvar _shims = require(\"./utils/shims\");\nvar _log = _interopRequireDefault(require(\"./utils/log\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n/*:: import type {EventHandler, MouseTouchEvent} from './utils/types';*/\n/*:: import type {Element as ReactElement} from 'react';*/\n// Simple abstraction for dragging events names.\nconst eventsFor = {\n touch: {\n start: 'touchstart',\n move: 'touchmove',\n stop: 'touchend'\n },\n mouse: {\n start: 'mousedown',\n move: 'mousemove',\n stop: 'mouseup'\n }\n};\n\n// Default to mouse events.\nlet dragEventFor = eventsFor.mouse;\n/*:: export type DraggableData = {\n node: HTMLElement,\n x: number, y: number,\n deltaX: number, deltaY: number,\n lastX: number, lastY: number,\n};*/\n/*:: export type DraggableEventHandler = (e: MouseEvent, data: DraggableData) => void | false;*/\n/*:: export type ControlPosition = {x: number, y: number};*/\n/*:: export type PositionOffsetControlPosition = {x: number|string, y: number|string};*/\n/*:: export type DraggableCoreDefaultProps = {\n allowAnyClick: boolean,\n disabled: boolean,\n enableUserSelectHack: boolean,\n onStart: DraggableEventHandler,\n onDrag: DraggableEventHandler,\n onStop: DraggableEventHandler,\n onMouseDown: (e: MouseEvent) => void,\n scale: number,\n};*/\n/*:: export type DraggableCoreProps = {\n ...DraggableCoreDefaultProps,\n cancel: string,\n children: ReactElement,\n offsetParent: HTMLElement,\n grid: [number, number],\n handle: string,\n nodeRef?: ?React.ElementRef,\n};*/\n//\n// Define .\n//\n// is for advanced usage of . It maintains minimal internal state so it can\n// work well with libraries that require more control over the element.\n//\n\nclass DraggableCore extends React.Component /*:: */{\n constructor() {\n super(...arguments);\n _defineProperty(this, \"dragging\", false);\n // Used while dragging to determine deltas.\n _defineProperty(this, \"lastX\", NaN);\n _defineProperty(this, \"lastY\", NaN);\n _defineProperty(this, \"touchIdentifier\", null);\n _defineProperty(this, \"mounted\", false);\n _defineProperty(this, \"handleDragStart\", e => {\n // Make it possible to attach event handlers on top of this one.\n this.props.onMouseDown(e);\n\n // Only accept left-clicks.\n if (!this.props.allowAnyClick && typeof e.button === 'number' && e.button !== 0) return false;\n\n // Get nodes. Be sure to grab relative document (could be iframed)\n const thisNode = this.findDOMNode();\n if (!thisNode || !thisNode.ownerDocument || !thisNode.ownerDocument.body) {\n throw new Error(' not mounted on DragStart!');\n }\n const {\n ownerDocument\n } = thisNode;\n\n // Short circuit if handle or cancel prop was provided and selector doesn't match.\n if (this.props.disabled || !(e.target instanceof ownerDocument.defaultView.Node) || this.props.handle && !(0, _domFns.matchesSelectorAndParentsTo)(e.target, this.props.handle, thisNode) || this.props.cancel && (0, _domFns.matchesSelectorAndParentsTo)(e.target, this.props.cancel, thisNode)) {\n return;\n }\n\n // Prevent scrolling on mobile devices, like ipad/iphone.\n // Important that this is after handle/cancel.\n if (e.type === 'touchstart') e.preventDefault();\n\n // Set touch identifier in component state if this is a touch event. This allows us to\n // distinguish between individual touches on multitouch screens by identifying which\n // touchpoint was set to this element.\n const touchIdentifier = (0, _domFns.getTouchIdentifier)(e);\n this.touchIdentifier = touchIdentifier;\n\n // Get the current drag point from the event. This is used as the offset.\n const position = (0, _positionFns.getControlPosition)(e, touchIdentifier, this);\n if (position == null) return; // not possible but satisfies flow\n const {\n x,\n y\n } = position;\n\n // Create an event object with all the data parents need to make a decision here.\n const coreEvent = (0, _positionFns.createCoreData)(this, x, y);\n (0, _log.default)('DraggableCore: handleDragStart: %j', coreEvent);\n\n // Call event handler. If it returns explicit false, cancel.\n (0, _log.default)('calling', this.props.onStart);\n const shouldUpdate = this.props.onStart(e, coreEvent);\n if (shouldUpdate === false || this.mounted === false) return;\n\n // Add a style to the body to disable user-select. This prevents text from\n // being selected all over the page.\n if (this.props.enableUserSelectHack) (0, _domFns.addUserSelectStyles)(ownerDocument);\n\n // Initiate dragging. Set the current x and y as offsets\n // so we know how much we've moved during the drag. This allows us\n // to drag elements around even if they have been moved, without issue.\n this.dragging = true;\n this.lastX = x;\n this.lastY = y;\n\n // Add events to the document directly so we catch when the user's mouse/touch moves outside of\n // this element. We use different events depending on whether or not we have detected that this\n // is a touch-capable device.\n (0, _domFns.addEvent)(ownerDocument, dragEventFor.move, this.handleDrag);\n (0, _domFns.addEvent)(ownerDocument, dragEventFor.stop, this.handleDragStop);\n });\n _defineProperty(this, \"handleDrag\", e => {\n // Get the current drag point from the event. This is used as the offset.\n const position = (0, _positionFns.getControlPosition)(e, this.touchIdentifier, this);\n if (position == null) return;\n let {\n x,\n y\n } = position;\n\n // Snap to grid if prop has been provided\n if (Array.isArray(this.props.grid)) {\n let deltaX = x - this.lastX,\n deltaY = y - this.lastY;\n [deltaX, deltaY] = (0, _positionFns.snapToGrid)(this.props.grid, deltaX, deltaY);\n if (!deltaX && !deltaY) return; // skip useless drag\n x = this.lastX + deltaX, y = this.lastY + deltaY;\n }\n const coreEvent = (0, _positionFns.createCoreData)(this, x, y);\n (0, _log.default)('DraggableCore: handleDrag: %j', coreEvent);\n\n // Call event handler. If it returns explicit false, trigger end.\n const shouldUpdate = this.props.onDrag(e, coreEvent);\n if (shouldUpdate === false || this.mounted === false) {\n try {\n // $FlowIgnore\n this.handleDragStop(new MouseEvent('mouseup'));\n } catch (err) {\n // Old browsers\n const event = ((document.createEvent('MouseEvents') /*: any*/) /*: MouseTouchEvent*/);\n // I see why this insanity was deprecated\n // $FlowIgnore\n event.initMouseEvent('mouseup', true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);\n this.handleDragStop(event);\n }\n return;\n }\n this.lastX = x;\n this.lastY = y;\n });\n _defineProperty(this, \"handleDragStop\", e => {\n if (!this.dragging) return;\n const position = (0, _positionFns.getControlPosition)(e, this.touchIdentifier, this);\n if (position == null) return;\n let {\n x,\n y\n } = position;\n\n // Snap to grid if prop has been provided\n if (Array.isArray(this.props.grid)) {\n let deltaX = x - this.lastX || 0;\n let deltaY = y - this.lastY || 0;\n [deltaX, deltaY] = (0, _positionFns.snapToGrid)(this.props.grid, deltaX, deltaY);\n x = this.lastX + deltaX, y = this.lastY + deltaY;\n }\n const coreEvent = (0, _positionFns.createCoreData)(this, x, y);\n\n // Call event handler\n const shouldContinue = this.props.onStop(e, coreEvent);\n if (shouldContinue === false || this.mounted === false) return false;\n const thisNode = this.findDOMNode();\n if (thisNode) {\n // Remove user-select hack\n if (this.props.enableUserSelectHack) (0, _domFns.removeUserSelectStyles)(thisNode.ownerDocument);\n }\n (0, _log.default)('DraggableCore: handleDragStop: %j', coreEvent);\n\n // Reset the el.\n this.dragging = false;\n this.lastX = NaN;\n this.lastY = NaN;\n if (thisNode) {\n // Remove event handlers\n (0, _log.default)('DraggableCore: Removing handlers');\n (0, _domFns.removeEvent)(thisNode.ownerDocument, dragEventFor.move, this.handleDrag);\n (0, _domFns.removeEvent)(thisNode.ownerDocument, dragEventFor.stop, this.handleDragStop);\n }\n });\n _defineProperty(this, \"onMouseDown\", e => {\n dragEventFor = eventsFor.mouse; // on touchscreen laptops we could switch back to mouse\n\n return this.handleDragStart(e);\n });\n _defineProperty(this, \"onMouseUp\", e => {\n dragEventFor = eventsFor.mouse;\n return this.handleDragStop(e);\n });\n // Same as onMouseDown (start drag), but now consider this a touch device.\n _defineProperty(this, \"onTouchStart\", e => {\n // We're on a touch device now, so change the event handlers\n dragEventFor = eventsFor.touch;\n return this.handleDragStart(e);\n });\n _defineProperty(this, \"onTouchEnd\", e => {\n // We're on a touch device now, so change the event handlers\n dragEventFor = eventsFor.touch;\n return this.handleDragStop(e);\n });\n }\n componentDidMount() {\n this.mounted = true;\n // Touch handlers must be added with {passive: false} to be cancelable.\n // https://developers.google.com/web/updates/2017/01/scrolling-intervention\n const thisNode = this.findDOMNode();\n if (thisNode) {\n (0, _domFns.addEvent)(thisNode, eventsFor.touch.start, this.onTouchStart, {\n passive: false\n });\n }\n }\n componentWillUnmount() {\n this.mounted = false;\n // Remove any leftover event handlers. Remove both touch and mouse handlers in case\n // some browser quirk caused a touch event to fire during a mouse move, or vice versa.\n const thisNode = this.findDOMNode();\n if (thisNode) {\n const {\n ownerDocument\n } = thisNode;\n (0, _domFns.removeEvent)(ownerDocument, eventsFor.mouse.move, this.handleDrag);\n (0, _domFns.removeEvent)(ownerDocument, eventsFor.touch.move, this.handleDrag);\n (0, _domFns.removeEvent)(ownerDocument, eventsFor.mouse.stop, this.handleDragStop);\n (0, _domFns.removeEvent)(ownerDocument, eventsFor.touch.stop, this.handleDragStop);\n (0, _domFns.removeEvent)(thisNode, eventsFor.touch.start, this.onTouchStart, {\n passive: false\n });\n if (this.props.enableUserSelectHack) (0, _domFns.removeUserSelectStyles)(ownerDocument);\n }\n }\n\n // React Strict Mode compatibility: if `nodeRef` is passed, we will use it instead of trying to find\n // the underlying DOM node ourselves. See the README for more information.\n findDOMNode() /*: ?HTMLElement*/{\n var _this$props, _this$props2;\n return (_this$props = this.props) !== null && _this$props !== void 0 && _this$props.nodeRef ? (_this$props2 = this.props) === null || _this$props2 === void 0 || (_this$props2 = _this$props2.nodeRef) === null || _this$props2 === void 0 ? void 0 : _this$props2.current : _reactDom.default.findDOMNode(this);\n }\n render() /*: React.Element*/{\n // Reuse the child provided\n // This makes it flexible to use whatever element is wanted (div, ul, etc)\n return /*#__PURE__*/React.cloneElement(React.Children.only(this.props.children), {\n // Note: mouseMove handler is attached to document so it will still function\n // when the user drags quickly and leaves the bounds of the element.\n onMouseDown: this.onMouseDown,\n onMouseUp: this.onMouseUp,\n // onTouchStart is added on `componentDidMount` so they can be added with\n // {passive: false}, which allows it to cancel. See\n // https://developers.google.com/web/updates/2017/01/scrolling-intervention\n onTouchEnd: this.onTouchEnd\n });\n }\n}\nexports.default = DraggableCore;\n_defineProperty(DraggableCore, \"displayName\", 'DraggableCore');\n_defineProperty(DraggableCore, \"propTypes\", {\n /**\n * `allowAnyClick` allows dragging using any mouse button.\n * By default, we only accept the left button.\n *\n * Defaults to `false`.\n */\n allowAnyClick: _propTypes.default.bool,\n children: _propTypes.default.node.isRequired,\n /**\n * `disabled`, if true, stops the from dragging. All handlers,\n * with the exception of `onMouseDown`, will not fire.\n */\n disabled: _propTypes.default.bool,\n /**\n * By default, we add 'user-select:none' attributes to the document body\n * to prevent ugly text selection during drag. If this is causing problems\n * for your app, set this to `false`.\n */\n enableUserSelectHack: _propTypes.default.bool,\n /**\n * `offsetParent`, if set, uses the passed DOM node to compute drag offsets\n * instead of using the parent node.\n */\n offsetParent: function (props /*: DraggableCoreProps*/, propName /*: $Keys*/) {\n if (props[propName] && props[propName].nodeType !== 1) {\n throw new Error('Draggable\\'s offsetParent must be a DOM Node.');\n }\n },\n /**\n * `grid` specifies the x and y that dragging should snap to.\n */\n grid: _propTypes.default.arrayOf(_propTypes.default.number),\n /**\n * `handle` specifies a selector to be used as the handle that initiates drag.\n *\n * Example:\n *\n * ```jsx\n * let App = React.createClass({\n * render: function () {\n * return (\n * \n *
\n *
Click me to drag
\n *
This is some other content
\n *
\n *
\n * );\n * }\n * });\n * ```\n */\n handle: _propTypes.default.string,\n /**\n * `cancel` specifies a selector to be used to prevent drag initialization.\n *\n * Example:\n *\n * ```jsx\n * let App = React.createClass({\n * render: function () {\n * return(\n * \n *
\n *
You can't drag from here
\n *
Dragging here works fine
\n *
\n *
\n * );\n * }\n * });\n * ```\n */\n cancel: _propTypes.default.string,\n /* If running in React Strict mode, ReactDOM.findDOMNode() is deprecated.\n * Unfortunately, in order for to work properly, we need raw access\n * to the underlying DOM node. If you want to avoid the warning, pass a `nodeRef`\n * as in this example:\n *\n * function MyComponent() {\n * const nodeRef = React.useRef(null);\n * return (\n * \n *
Example Target
\n *
\n * );\n * }\n *\n * This can be used for arbitrarily nested components, so long as the ref ends up\n * pointing to the actual child DOM node and not a custom component.\n */\n nodeRef: _propTypes.default.object,\n /**\n * Called when dragging starts.\n * If this function returns the boolean false, dragging will be canceled.\n */\n onStart: _propTypes.default.func,\n /**\n * Called while dragging.\n * If this function returns the boolean false, dragging will be canceled.\n */\n onDrag: _propTypes.default.func,\n /**\n * Called when dragging stops.\n * If this function returns the boolean false, the drag will remain active.\n */\n onStop: _propTypes.default.func,\n /**\n * A workaround option which can be passed if onMouseDown needs to be accessed,\n * since it'll always be blocked (as there is internal use of onMouseDown)\n */\n onMouseDown: _propTypes.default.func,\n /**\n * `scale`, if set, applies scaling while dragging an element\n */\n scale: _propTypes.default.number,\n /**\n * These properties should be defined on the child, not here.\n */\n className: _shims.dontSetMe,\n style: _shims.dontSetMe,\n transform: _shims.dontSetMe\n});\n_defineProperty(DraggableCore, \"defaultProps\", {\n allowAnyClick: false,\n // by default only accept left click\n disabled: false,\n enableUserSelectHack: true,\n onStart: function () {},\n onDrag: function () {},\n onStop: function () {},\n onMouseDown: function () {},\n scale: 1\n});","\"use strict\";\n\nconst {\n default: Draggable,\n DraggableCore\n} = require('./Draggable');\n\n// Previous versions of this lib exported as the root export. As to no-// them, or TypeScript, we export *both* as the root and as 'default'.\n// See https://github.com/mzabriskie/react-draggable/pull/254\n// and https://github.com/mzabriskie/react-draggable/issues/266\nmodule.exports = Draggable;\nmodule.exports.default = Draggable;\nmodule.exports.DraggableCore = DraggableCore;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.addClassName = addClassName;\nexports.addEvent = addEvent;\nexports.addUserSelectStyles = addUserSelectStyles;\nexports.createCSSTransform = createCSSTransform;\nexports.createSVGTransform = createSVGTransform;\nexports.getTouch = getTouch;\nexports.getTouchIdentifier = getTouchIdentifier;\nexports.getTranslation = getTranslation;\nexports.innerHeight = innerHeight;\nexports.innerWidth = innerWidth;\nexports.matchesSelector = matchesSelector;\nexports.matchesSelectorAndParentsTo = matchesSelectorAndParentsTo;\nexports.offsetXYFromParent = offsetXYFromParent;\nexports.outerHeight = outerHeight;\nexports.outerWidth = outerWidth;\nexports.removeClassName = removeClassName;\nexports.removeEvent = removeEvent;\nexports.removeUserSelectStyles = removeUserSelectStyles;\nvar _shims = require(\"./shims\");\nvar _getPrefix = _interopRequireWildcard(require(\"./getPrefix\"));\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n/*:: import type {ControlPosition, PositionOffsetControlPosition, MouseTouchEvent} from './types';*/\nlet matchesSelectorFunc = '';\nfunction matchesSelector(el /*: Node*/, selector /*: string*/) /*: boolean*/{\n if (!matchesSelectorFunc) {\n matchesSelectorFunc = (0, _shims.findInArray)(['matches', 'webkitMatchesSelector', 'mozMatchesSelector', 'msMatchesSelector', 'oMatchesSelector'], function (method) {\n // $FlowIgnore: Doesn't think elements are indexable\n return (0, _shims.isFunction)(el[method]);\n });\n }\n\n // Might not be found entirely (not an Element?) - in that case, bail\n // $FlowIgnore: Doesn't think elements are indexable\n if (!(0, _shims.isFunction)(el[matchesSelectorFunc])) return false;\n\n // $FlowIgnore: Doesn't think elements are indexable\n return el[matchesSelectorFunc](selector);\n}\n\n// Works up the tree to the draggable itself attempting to match selector.\nfunction matchesSelectorAndParentsTo(el /*: Node*/, selector /*: string*/, baseNode /*: Node*/) /*: boolean*/{\n let node = el;\n do {\n if (matchesSelector(node, selector)) return true;\n if (node === baseNode) return false;\n // $FlowIgnore[incompatible-type]\n node = node.parentNode;\n } while (node);\n return false;\n}\nfunction addEvent(el /*: ?Node*/, event /*: string*/, handler /*: Function*/, inputOptions /*: Object*/) /*: void*/{\n if (!el) return;\n const options = {\n capture: true,\n ...inputOptions\n };\n // $FlowIgnore[method-unbinding]\n if (el.addEventListener) {\n el.addEventListener(event, handler, options);\n } else if (el.attachEvent) {\n el.attachEvent('on' + event, handler);\n } else {\n // $FlowIgnore: Doesn't think elements are indexable\n el['on' + event] = handler;\n }\n}\nfunction removeEvent(el /*: ?Node*/, event /*: string*/, handler /*: Function*/, inputOptions /*: Object*/) /*: void*/{\n if (!el) return;\n const options = {\n capture: true,\n ...inputOptions\n };\n // $FlowIgnore[method-unbinding]\n if (el.removeEventListener) {\n el.removeEventListener(event, handler, options);\n } else if (el.detachEvent) {\n el.detachEvent('on' + event, handler);\n } else {\n // $FlowIgnore: Doesn't think elements are indexable\n el['on' + event] = null;\n }\n}\nfunction outerHeight(node /*: HTMLElement*/) /*: number*/{\n // This is deliberately excluding margin for our calculations, since we are using\n // offsetTop which is including margin. See getBoundPosition\n let height = node.clientHeight;\n const computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);\n height += (0, _shims.int)(computedStyle.borderTopWidth);\n height += (0, _shims.int)(computedStyle.borderBottomWidth);\n return height;\n}\nfunction outerWidth(node /*: HTMLElement*/) /*: number*/{\n // This is deliberately excluding margin for our calculations, since we are using\n // offsetLeft which is including margin. See getBoundPosition\n let width = node.clientWidth;\n const computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);\n width += (0, _shims.int)(computedStyle.borderLeftWidth);\n width += (0, _shims.int)(computedStyle.borderRightWidth);\n return width;\n}\nfunction innerHeight(node /*: HTMLElement*/) /*: number*/{\n let height = node.clientHeight;\n const computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);\n height -= (0, _shims.int)(computedStyle.paddingTop);\n height -= (0, _shims.int)(computedStyle.paddingBottom);\n return height;\n}\nfunction innerWidth(node /*: HTMLElement*/) /*: number*/{\n let width = node.clientWidth;\n const computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);\n width -= (0, _shims.int)(computedStyle.paddingLeft);\n width -= (0, _shims.int)(computedStyle.paddingRight);\n return width;\n}\n/*:: interface EventWithOffset {\n clientX: number, clientY: number\n}*/\n// Get from offsetParent\nfunction offsetXYFromParent(evt /*: EventWithOffset*/, offsetParent /*: HTMLElement*/, scale /*: number*/) /*: ControlPosition*/{\n const isBody = offsetParent === offsetParent.ownerDocument.body;\n const offsetParentRect = isBody ? {\n left: 0,\n top: 0\n } : offsetParent.getBoundingClientRect();\n const x = (evt.clientX + offsetParent.scrollLeft - offsetParentRect.left) / scale;\n const y = (evt.clientY + offsetParent.scrollTop - offsetParentRect.top) / scale;\n return {\n x,\n y\n };\n}\nfunction createCSSTransform(controlPos /*: ControlPosition*/, positionOffset /*: PositionOffsetControlPosition*/) /*: Object*/{\n const translation = getTranslation(controlPos, positionOffset, 'px');\n return {\n [(0, _getPrefix.browserPrefixToKey)('transform', _getPrefix.default)]: translation\n };\n}\nfunction createSVGTransform(controlPos /*: ControlPosition*/, positionOffset /*: PositionOffsetControlPosition*/) /*: string*/{\n const translation = getTranslation(controlPos, positionOffset, '');\n return translation;\n}\nfunction getTranslation(_ref /*:: */, positionOffset /*: PositionOffsetControlPosition*/, unitSuffix /*: string*/) /*: string*/{\n let {\n x,\n y\n } /*: ControlPosition*/ = _ref /*: ControlPosition*/;\n let translation = \"translate(\".concat(x).concat(unitSuffix, \",\").concat(y).concat(unitSuffix, \")\");\n if (positionOffset) {\n const defaultX = \"\".concat(typeof positionOffset.x === 'string' ? positionOffset.x : positionOffset.x + unitSuffix);\n const defaultY = \"\".concat(typeof positionOffset.y === 'string' ? positionOffset.y : positionOffset.y + unitSuffix);\n translation = \"translate(\".concat(defaultX, \", \").concat(defaultY, \")\") + translation;\n }\n return translation;\n}\nfunction getTouch(e /*: MouseTouchEvent*/, identifier /*: number*/) /*: ?{clientX: number, clientY: number}*/{\n return e.targetTouches && (0, _shims.findInArray)(e.targetTouches, t => identifier === t.identifier) || e.changedTouches && (0, _shims.findInArray)(e.changedTouches, t => identifier === t.identifier);\n}\nfunction getTouchIdentifier(e /*: MouseTouchEvent*/) /*: ?number*/{\n if (e.targetTouches && e.targetTouches[0]) return e.targetTouches[0].identifier;\n if (e.changedTouches && e.changedTouches[0]) return e.changedTouches[0].identifier;\n}\n\n// User-select Hacks:\n//\n// Useful for preventing blue highlights all over everything when dragging.\n\n// Note we're passing `document` b/c we could be iframed\nfunction addUserSelectStyles(doc /*: ?Document*/) {\n if (!doc) return;\n let styleEl = doc.getElementById('react-draggable-style-el');\n if (!styleEl) {\n styleEl = doc.createElement('style');\n styleEl.type = 'text/css';\n styleEl.id = 'react-draggable-style-el';\n styleEl.innerHTML = '.react-draggable-transparent-selection *::-moz-selection {all: inherit;}\\n';\n styleEl.innerHTML += '.react-draggable-transparent-selection *::selection {all: inherit;}\\n';\n doc.getElementsByTagName('head')[0].appendChild(styleEl);\n }\n if (doc.body) addClassName(doc.body, 'react-draggable-transparent-selection');\n}\nfunction removeUserSelectStyles(doc /*: ?Document*/) {\n if (!doc) return;\n try {\n if (doc.body) removeClassName(doc.body, 'react-draggable-transparent-selection');\n // $FlowIgnore: IE\n if (doc.selection) {\n // $FlowIgnore: IE\n doc.selection.empty();\n } else {\n // Remove selection caused by scroll, unless it's a focused input\n // (we use doc.defaultView in case we're in an iframe)\n const selection = (doc.defaultView || window).getSelection();\n if (selection && selection.type !== 'Caret') {\n selection.removeAllRanges();\n }\n }\n } catch (e) {\n // probably IE\n }\n}\nfunction addClassName(el /*: HTMLElement*/, className /*: string*/) {\n if (el.classList) {\n el.classList.add(className);\n } else {\n if (!el.className.match(new RegExp(\"(?:^|\\\\s)\".concat(className, \"(?!\\\\S)\")))) {\n el.className += \" \".concat(className);\n }\n }\n}\nfunction removeClassName(el /*: HTMLElement*/, className /*: string*/) {\n if (el.classList) {\n el.classList.remove(className);\n } else {\n el.className = el.className.replace(new RegExp(\"(?:^|\\\\s)\".concat(className, \"(?!\\\\S)\"), 'g'), '');\n }\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.browserPrefixToKey = browserPrefixToKey;\nexports.browserPrefixToStyle = browserPrefixToStyle;\nexports.default = void 0;\nexports.getPrefix = getPrefix;\nconst prefixes = ['Moz', 'Webkit', 'O', 'ms'];\nfunction getPrefix() /*: string*/{\n var _window$document;\n let prop /*: string*/ = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'transform';\n // Ensure we're running in an environment where there is actually a global\n // `window` obj\n if (typeof window === 'undefined') return '';\n\n // If we're in a pseudo-browser server-side environment, this access\n // path may not exist, so bail out if it doesn't.\n const style = (_window$document = window.document) === null || _window$document === void 0 || (_window$document = _window$document.documentElement) === null || _window$document === void 0 ? void 0 : _window$document.style;\n if (!style) return '';\n if (prop in style) return '';\n for (let i = 0; i < prefixes.length; i++) {\n if (browserPrefixToKey(prop, prefixes[i]) in style) return prefixes[i];\n }\n return '';\n}\nfunction browserPrefixToKey(prop /*: string*/, prefix /*: string*/) /*: string*/{\n return prefix ? \"\".concat(prefix).concat(kebabToTitleCase(prop)) : prop;\n}\nfunction browserPrefixToStyle(prop /*: string*/, prefix /*: string*/) /*: string*/{\n return prefix ? \"-\".concat(prefix.toLowerCase(), \"-\").concat(prop) : prop;\n}\nfunction kebabToTitleCase(str /*: string*/) /*: string*/{\n let out = '';\n let shouldCapitalize = true;\n for (let i = 0; i < str.length; i++) {\n if (shouldCapitalize) {\n out += str[i].toUpperCase();\n shouldCapitalize = false;\n } else if (str[i] === '-') {\n shouldCapitalize = true;\n } else {\n out += str[i];\n }\n }\n return out;\n}\n\n// Default export is the prefix itself, like 'Moz', 'Webkit', etc\n// Note that you may have to re-test for certain things; for instance, Chrome 50\n// can handle unprefixed `transform`, but not unprefixed `user-select`\nvar _default = exports.default = (getPrefix() /*: string*/);","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = log;\n/*eslint no-console:0*/\nfunction log() {\n if (undefined) console.log(...arguments);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.canDragX = canDragX;\nexports.canDragY = canDragY;\nexports.createCoreData = createCoreData;\nexports.createDraggableData = createDraggableData;\nexports.getBoundPosition = getBoundPosition;\nexports.getControlPosition = getControlPosition;\nexports.snapToGrid = snapToGrid;\nvar _shims = require(\"./shims\");\nvar _domFns = require(\"./domFns\");\n/*:: import type Draggable from '../Draggable';*/\n/*:: import type {Bounds, ControlPosition, DraggableData, MouseTouchEvent} from './types';*/\n/*:: import type DraggableCore from '../DraggableCore';*/\nfunction getBoundPosition(draggable /*: Draggable*/, x /*: number*/, y /*: number*/) /*: [number, number]*/{\n // If no bounds, short-circuit and move on\n if (!draggable.props.bounds) return [x, y];\n\n // Clone new bounds\n let {\n bounds\n } = draggable.props;\n bounds = typeof bounds === 'string' ? bounds : cloneBounds(bounds);\n const node = findDOMNode(draggable);\n if (typeof bounds === 'string') {\n const {\n ownerDocument\n } = node;\n const ownerWindow = ownerDocument.defaultView;\n let boundNode;\n if (bounds === 'parent') {\n boundNode = node.parentNode;\n } else {\n boundNode = ownerDocument.querySelector(bounds);\n }\n if (!(boundNode instanceof ownerWindow.HTMLElement)) {\n throw new Error('Bounds selector \"' + bounds + '\" could not find an element.');\n }\n const boundNodeEl /*: HTMLElement*/ = boundNode; // for Flow, can't seem to refine correctly\n const nodeStyle = ownerWindow.getComputedStyle(node);\n const boundNodeStyle = ownerWindow.getComputedStyle(boundNodeEl);\n // Compute bounds. This is a pain with padding and offsets but this gets it exactly right.\n bounds = {\n left: -node.offsetLeft + (0, _shims.int)(boundNodeStyle.paddingLeft) + (0, _shims.int)(nodeStyle.marginLeft),\n top: -node.offsetTop + (0, _shims.int)(boundNodeStyle.paddingTop) + (0, _shims.int)(nodeStyle.marginTop),\n right: (0, _domFns.innerWidth)(boundNodeEl) - (0, _domFns.outerWidth)(node) - node.offsetLeft + (0, _shims.int)(boundNodeStyle.paddingRight) - (0, _shims.int)(nodeStyle.marginRight),\n bottom: (0, _domFns.innerHeight)(boundNodeEl) - (0, _domFns.outerHeight)(node) - node.offsetTop + (0, _shims.int)(boundNodeStyle.paddingBottom) - (0, _shims.int)(nodeStyle.marginBottom)\n };\n }\n\n // Keep x and y below right and bottom limits...\n if ((0, _shims.isNum)(bounds.right)) x = Math.min(x, bounds.right);\n if ((0, _shims.isNum)(bounds.bottom)) y = Math.min(y, bounds.bottom);\n\n // But above left and top limits.\n if ((0, _shims.isNum)(bounds.left)) x = Math.max(x, bounds.left);\n if ((0, _shims.isNum)(bounds.top)) y = Math.max(y, bounds.top);\n return [x, y];\n}\nfunction snapToGrid(grid /*: [number, number]*/, pendingX /*: number*/, pendingY /*: number*/) /*: [number, number]*/{\n const x = Math.round(pendingX / grid[0]) * grid[0];\n const y = Math.round(pendingY / grid[1]) * grid[1];\n return [x, y];\n}\nfunction canDragX(draggable /*: Draggable*/) /*: boolean*/{\n return draggable.props.axis === 'both' || draggable.props.axis === 'x';\n}\nfunction canDragY(draggable /*: Draggable*/) /*: boolean*/{\n return draggable.props.axis === 'both' || draggable.props.axis === 'y';\n}\n\n// Get {x, y} positions from event.\nfunction getControlPosition(e /*: MouseTouchEvent*/, touchIdentifier /*: ?number*/, draggableCore /*: DraggableCore*/) /*: ?ControlPosition*/{\n const touchObj = typeof touchIdentifier === 'number' ? (0, _domFns.getTouch)(e, touchIdentifier) : null;\n if (typeof touchIdentifier === 'number' && !touchObj) return null; // not the right touch\n const node = findDOMNode(draggableCore);\n // User can provide an offsetParent if desired.\n const offsetParent = draggableCore.props.offsetParent || node.offsetParent || node.ownerDocument.body;\n return (0, _domFns.offsetXYFromParent)(touchObj || e, offsetParent, draggableCore.props.scale);\n}\n\n// Create an data object exposed by 's events\nfunction createCoreData(draggable /*: DraggableCore*/, x /*: number*/, y /*: number*/) /*: DraggableData*/{\n const isStart = !(0, _shims.isNum)(draggable.lastX);\n const node = findDOMNode(draggable);\n if (isStart) {\n // If this is our first move, use the x and y as last coords.\n return {\n node,\n deltaX: 0,\n deltaY: 0,\n lastX: x,\n lastY: y,\n x,\n y\n };\n } else {\n // Otherwise calculate proper values.\n return {\n node,\n deltaX: x - draggable.lastX,\n deltaY: y - draggable.lastY,\n lastX: draggable.lastX,\n lastY: draggable.lastY,\n x,\n y\n };\n }\n}\n\n// Create an data exposed by 's events\nfunction createDraggableData(draggable /*: Draggable*/, coreData /*: DraggableData*/) /*: DraggableData*/{\n const scale = draggable.props.scale;\n return {\n node: coreData.node,\n x: draggable.state.x + coreData.deltaX / scale,\n y: draggable.state.y + coreData.deltaY / scale,\n deltaX: coreData.deltaX / scale,\n deltaY: coreData.deltaY / scale,\n lastX: draggable.state.x,\n lastY: draggable.state.y\n };\n}\n\n// A lot faster than stringify/parse\nfunction cloneBounds(bounds /*: Bounds*/) /*: Bounds*/{\n return {\n left: bounds.left,\n top: bounds.top,\n right: bounds.right,\n bottom: bounds.bottom\n };\n}\nfunction findDOMNode(draggable /*: Draggable | DraggableCore*/) /*: HTMLElement*/{\n const node = draggable.findDOMNode();\n if (!node) {\n throw new Error(': Unmounted during event!');\n }\n // $FlowIgnore we can't assert on HTMLElement due to tests... FIXME\n return node;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.dontSetMe = dontSetMe;\nexports.findInArray = findInArray;\nexports.int = int;\nexports.isFunction = isFunction;\nexports.isNum = isNum;\n// @credits https://gist.github.com/rogozhnikoff/a43cfed27c41e4e68cdc\nfunction findInArray(array /*: Array | TouchList*/, callback /*: Function*/) /*: any*/{\n for (let i = 0, length = array.length; i < length; i++) {\n if (callback.apply(callback, [array[i], i, array])) return array[i];\n }\n}\nfunction isFunction(func /*: any*/) /*: boolean %checks*/{\n // $FlowIgnore[method-unbinding]\n return typeof func === 'function' || Object.prototype.toString.call(func) === '[object Function]';\n}\nfunction isNum(num /*: any*/) /*: boolean %checks*/{\n return typeof num === 'number' && !isNaN(num);\n}\nfunction int(a /*: string*/) /*: number*/{\n return parseInt(a, 10);\n}\nfunction dontSetMe(props /*: Object*/, propName /*: string*/, componentName /*: string*/) /*: ?Error*/{\n if (props[propName]) {\n return new Error(\"Invalid prop \".concat(propName, \" passed to \").concat(componentName, \" - do not set this, set it on the child.\"));\n }\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _reactDraggable = require(\"react-draggable\");\nvar _reactResizable = require(\"react-resizable\");\nvar _utils = require(\"./utils\");\nvar _calculateUtils = require(\"./calculateUtils\");\nvar _ReactGridLayoutPropTypes = require(\"./ReactGridLayoutPropTypes\");\nvar _clsx = _interopRequireDefault(require(\"clsx\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n/*:: import type { Element as ReactElement, Node as ReactNode } from \"react\";*/\n/*:: import type {\n ReactDraggableCallbackData,\n GridDragEvent,\n GridResizeEvent,\n DroppingPosition,\n Position,\n ResizeHandleAxis\n} from \"./utils\";*/\n/*:: import type { PositionParams } from \"./calculateUtils\";*/\n/*:: import type { ResizeHandle, ReactRef } from \"./ReactGridLayoutPropTypes\";*/\n/*:: type PartialPosition = { top: number, left: number };*/\n/*:: type GridItemCallback = (\n i: string,\n w: number,\n h: number,\n Data\n) => void;*/\n/*:: type ResizeCallbackData = {\n node: HTMLElement,\n size: Position,\n handle: ResizeHandleAxis\n};*/\n/*:: type GridItemResizeCallback = (\n e: Event,\n data: ResizeCallbackData,\n position: Position\n) => void;*/\n/*:: type State = {\n resizing: ?{ top: number, left: number, width: number, height: number },\n dragging: ?{ top: number, left: number },\n className: string\n};*/\n/*:: type Props = {\n children: ReactElement,\n cols: number,\n containerWidth: number,\n margin: [number, number],\n containerPadding: [number, number],\n rowHeight: number,\n maxRows: number,\n isDraggable: boolean,\n isResizable: boolean,\n isBounded: boolean,\n static?: boolean,\n useCSSTransforms?: boolean,\n usePercentages?: boolean,\n transformScale: number,\n droppingPosition?: DroppingPosition,\n\n className: string,\n style?: Object,\n // Draggability\n cancel: string,\n handle: string,\n\n x: number,\n y: number,\n w: number,\n h: number,\n\n minW: number,\n maxW: number,\n minH: number,\n maxH: number,\n i: string,\n\n resizeHandles?: ResizeHandleAxis[],\n resizeHandle?: ResizeHandle,\n\n onDrag?: GridItemCallback,\n onDragStart?: GridItemCallback,\n onDragStop?: GridItemCallback,\n onResize?: GridItemCallback,\n onResizeStart?: GridItemCallback,\n onResizeStop?: GridItemCallback\n};*/\n/*:: type DefaultProps = {\n className: string,\n cancel: string,\n handle: string,\n minH: number,\n minW: number,\n maxH: number,\n maxW: number,\n transformScale: number\n};*/\n/**\n * An individual item within a ReactGridLayout.\n */\nclass GridItem extends _react.default.Component /*:: */{\n constructor() {\n super(...arguments);\n _defineProperty(this, \"state\", {\n resizing: null,\n dragging: null,\n className: \"\"\n });\n _defineProperty(this, \"elementRef\", /*#__PURE__*/_react.default.createRef());\n /**\n * onDragStart event handler\n * @param {Event} e event data\n * @param {Object} callbackData an object with node, delta and position information\n */\n _defineProperty(this, \"onDragStart\", (e, _ref) => {\n let {\n node\n } = _ref;\n const {\n onDragStart,\n transformScale\n } = this.props;\n if (!onDragStart) return;\n const newPosition /*: PartialPosition*/ = {\n top: 0,\n left: 0\n };\n\n // TODO: this wont work on nested parents\n const {\n offsetParent\n } = node;\n if (!offsetParent) return;\n const parentRect = offsetParent.getBoundingClientRect();\n const clientRect = node.getBoundingClientRect();\n const cLeft = clientRect.left / transformScale;\n const pLeft = parentRect.left / transformScale;\n const cTop = clientRect.top / transformScale;\n const pTop = parentRect.top / transformScale;\n newPosition.left = cLeft - pLeft + offsetParent.scrollLeft;\n newPosition.top = cTop - pTop + offsetParent.scrollTop;\n this.setState({\n dragging: newPosition\n });\n\n // Call callback with this data\n const {\n x,\n y\n } = (0, _calculateUtils.calcXY)(this.getPositionParams(), newPosition.top, newPosition.left, this.props.w, this.props.h);\n return onDragStart.call(this, this.props.i, x, y, {\n e,\n node,\n newPosition\n });\n });\n /**\n * onDrag event handler\n * @param {Event} e event data\n * @param {Object} callbackData an object with node, delta and position information\n */\n _defineProperty(this, \"onDrag\", (e, _ref2) => {\n let {\n node,\n deltaX,\n deltaY\n } = _ref2;\n const {\n onDrag\n } = this.props;\n if (!onDrag) return;\n if (!this.state.dragging) {\n throw new Error(\"onDrag called before onDragStart.\");\n }\n let top = this.state.dragging.top + deltaY;\n let left = this.state.dragging.left + deltaX;\n const {\n isBounded,\n i,\n w,\n h,\n containerWidth\n } = this.props;\n const positionParams = this.getPositionParams();\n\n // Boundary calculations; keeps items within the grid\n if (isBounded) {\n const {\n offsetParent\n } = node;\n if (offsetParent) {\n const {\n margin,\n rowHeight,\n containerPadding\n } = this.props;\n const bottomBoundary = offsetParent.clientHeight - (0, _calculateUtils.calcGridItemWHPx)(h, rowHeight, margin[1]);\n top = (0, _calculateUtils.clamp)(top - containerPadding[1], 0, bottomBoundary);\n const colWidth = (0, _calculateUtils.calcGridColWidth)(positionParams);\n const rightBoundary = containerWidth - (0, _calculateUtils.calcGridItemWHPx)(w, colWidth, margin[0]);\n left = (0, _calculateUtils.clamp)(left - containerPadding[0], 0, rightBoundary);\n }\n }\n const newPosition /*: PartialPosition*/ = {\n top,\n left\n };\n this.setState({\n dragging: newPosition\n });\n\n // Call callback with this data\n const {\n containerPadding\n } = this.props;\n const {\n x,\n y\n } = (0, _calculateUtils.calcXY)(positionParams, top - containerPadding[1], left - containerPadding[0], w, h);\n return onDrag.call(this, i, x, y, {\n e,\n node,\n newPosition\n });\n });\n /**\n * onDragStop event handler\n * @param {Event} e event data\n * @param {Object} callbackData an object with node, delta and position information\n */\n _defineProperty(this, \"onDragStop\", (e, _ref3) => {\n let {\n node\n } = _ref3;\n const {\n onDragStop\n } = this.props;\n if (!onDragStop) return;\n if (!this.state.dragging) {\n throw new Error(\"onDragEnd called before onDragStart.\");\n }\n const {\n w,\n h,\n i,\n containerPadding\n } = this.props;\n const {\n left,\n top\n } = this.state.dragging;\n const newPosition /*: PartialPosition*/ = {\n top,\n left\n };\n this.setState({\n dragging: null\n });\n const {\n x,\n y\n } = (0, _calculateUtils.calcXY)(this.getPositionParams(), top - containerPadding[1], left - containerPadding[0], w, h);\n return onDragStop.call(this, i, x, y, {\n e,\n node,\n newPosition\n });\n });\n /**\n * onResizeStop event handler\n * @param {Event} e event data\n * @param {Object} callbackData an object with node and size information\n */\n _defineProperty(this, \"onResizeStop\", (e, callbackData, position) => this.onResizeHandler(e, callbackData, position, \"onResizeStop\"));\n // onResizeStart event handler\n _defineProperty(this, \"onResizeStart\", (e, callbackData, position) => this.onResizeHandler(e, callbackData, position, \"onResizeStart\"));\n // onResize event handler\n _defineProperty(this, \"onResize\", (e, callbackData, position) => this.onResizeHandler(e, callbackData, position, \"onResize\"));\n }\n shouldComponentUpdate(nextProps /*: Props*/, nextState /*: State*/) /*: boolean*/{\n // We can't deeply compare children. If the developer memoizes them, we can\n // use this optimization.\n if (this.props.children !== nextProps.children) return true;\n if (this.props.droppingPosition !== nextProps.droppingPosition) return true;\n // TODO memoize these calculations so they don't take so long?\n const oldPosition = (0, _calculateUtils.calcGridItemPosition)(this.getPositionParams(this.props), this.props.x, this.props.y, this.props.w, this.props.h, this.state);\n const newPosition = (0, _calculateUtils.calcGridItemPosition)(this.getPositionParams(nextProps), nextProps.x, nextProps.y, nextProps.w, nextProps.h, nextState);\n return !(0, _utils.fastPositionEqual)(oldPosition, newPosition) || this.props.useCSSTransforms !== nextProps.useCSSTransforms;\n }\n componentDidMount() {\n this.moveDroppingItem({});\n }\n componentDidUpdate(prevProps /*: Props*/) {\n this.moveDroppingItem(prevProps);\n }\n\n // When a droppingPosition is present, this means we should fire a move event, as if we had moved\n // this element by `x, y` pixels.\n moveDroppingItem(prevProps /*: Props*/) {\n const {\n droppingPosition\n } = this.props;\n if (!droppingPosition) return;\n const node = this.elementRef.current;\n // Can't find DOM node (are we unmounted?)\n if (!node) return;\n const prevDroppingPosition = prevProps.droppingPosition || {\n left: 0,\n top: 0\n };\n const {\n dragging\n } = this.state;\n const shouldDrag = dragging && droppingPosition.left !== prevDroppingPosition.left || droppingPosition.top !== prevDroppingPosition.top;\n if (!dragging) {\n this.onDragStart(droppingPosition.e, {\n node,\n deltaX: droppingPosition.left,\n deltaY: droppingPosition.top\n });\n } else if (shouldDrag) {\n const deltaX = droppingPosition.left - dragging.left;\n const deltaY = droppingPosition.top - dragging.top;\n this.onDrag(droppingPosition.e, {\n node,\n deltaX,\n deltaY\n });\n }\n }\n getPositionParams() /*: PositionParams*/{\n let props /*: Props*/ = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.props;\n return {\n cols: props.cols,\n containerPadding: props.containerPadding,\n containerWidth: props.containerWidth,\n margin: props.margin,\n maxRows: props.maxRows,\n rowHeight: props.rowHeight\n };\n }\n\n /**\n * This is where we set the grid item's absolute placement. It gets a little tricky because we want to do it\n * well when server rendering, and the only way to do that properly is to use percentage width/left because\n * we don't know exactly what the browser viewport is.\n * Unfortunately, CSS Transforms, which are great for performance, break in this instance because a percentage\n * left is relative to the item itself, not its container! So we cannot use them on the server rendering pass.\n *\n * @param {Object} pos Position object with width, height, left, top.\n * @return {Object} Style object.\n */\n createStyle(pos /*: Position*/) /*: { [key: string]: ?string }*/{\n const {\n usePercentages,\n containerWidth,\n useCSSTransforms\n } = this.props;\n let style;\n // CSS Transforms support (default)\n if (useCSSTransforms) {\n style = (0, _utils.setTransform)(pos);\n } else {\n // top,left (slow)\n style = (0, _utils.setTopLeft)(pos);\n\n // This is used for server rendering.\n if (usePercentages) {\n style.left = (0, _utils.perc)(pos.left / containerWidth);\n style.width = (0, _utils.perc)(pos.width / containerWidth);\n }\n }\n return style;\n }\n\n /**\n * Mix a Draggable instance into a child.\n * @param {Element} child Child element.\n * @return {Element} Child wrapped in Draggable.\n */\n mixinDraggable(child /*: ReactElement*/, isDraggable /*: boolean*/) /*: ReactElement*/{\n return /*#__PURE__*/_react.default.createElement(_reactDraggable.DraggableCore, {\n disabled: !isDraggable,\n onStart: this.onDragStart,\n onDrag: this.onDrag,\n onStop: this.onDragStop,\n handle: this.props.handle,\n cancel: \".react-resizable-handle\" + (this.props.cancel ? \",\" + this.props.cancel : \"\"),\n scale: this.props.transformScale,\n nodeRef: this.elementRef\n }, child);\n }\n\n /**\n * Utility function to setup callback handler definitions for\n * similarily structured resize events.\n */\n curryResizeHandler(position /*: Position*/, handler /*: Function*/) /*: Function*/{\n return (e /*: Event*/, data /*: ResizeCallbackData*/) => /*: Function*/handler(e, data, position);\n }\n\n /**\n * Mix a Resizable instance into a child.\n * @param {Element} child Child element.\n * @param {Object} position Position object (pixel values)\n * @return {Element} Child wrapped in Resizable.\n */\n mixinResizable(child /*: ReactElement*/, position /*: Position*/, isResizable /*: boolean*/) /*: ReactElement*/{\n const {\n cols,\n minW,\n minH,\n maxW,\n maxH,\n transformScale,\n resizeHandles,\n resizeHandle\n } = this.props;\n const positionParams = this.getPositionParams();\n\n // This is the max possible width - doesn't go to infinity because of the width of the window\n const maxWidth = (0, _calculateUtils.calcGridItemPosition)(positionParams, 0, 0, cols, 0).width;\n\n // Calculate min/max constraints using our min & maxes\n const mins = (0, _calculateUtils.calcGridItemPosition)(positionParams, 0, 0, minW, minH);\n const maxes = (0, _calculateUtils.calcGridItemPosition)(positionParams, 0, 0, maxW, maxH);\n const minConstraints = [mins.width, mins.height];\n const maxConstraints = [Math.min(maxes.width, maxWidth), Math.min(maxes.height, Infinity)];\n return /*#__PURE__*/_react.default.createElement(_reactResizable.Resizable\n // These are opts for the resize handle itself\n , {\n draggableOpts: {\n disabled: !isResizable\n },\n className: isResizable ? undefined : \"react-resizable-hide\",\n width: position.width,\n height: position.height,\n minConstraints: minConstraints,\n maxConstraints: maxConstraints,\n onResizeStop: this.curryResizeHandler(position, this.onResizeStop),\n onResizeStart: this.curryResizeHandler(position, this.onResizeStart),\n onResize: this.curryResizeHandler(position, this.onResize),\n transformScale: transformScale,\n resizeHandles: resizeHandles,\n handle: resizeHandle\n }, child);\n }\n /**\n * Wrapper around resize events to provide more useful data.\n */\n onResizeHandler(e /*: Event*/, _ref4 /*:: */,\n // 'size' is updated position\n position /*: Position*/,\n // existing position\n handlerName /*: string*/) /*: void*/{\n let {\n node,\n size,\n handle\n } /*: ResizeCallbackData*/ = _ref4 /*: ResizeCallbackData*/;\n const handler = this.props[handlerName];\n if (!handler) return;\n const {\n x,\n y,\n i,\n maxH,\n minH,\n containerWidth\n } = this.props;\n const {\n minW,\n maxW\n } = this.props;\n\n // Clamping of dimensions based on resize direction\n let updatedSize = size;\n if (node) {\n updatedSize = (0, _utils.resizeItemInDirection)(handle, position, size, containerWidth);\n this.setState({\n resizing: handlerName === \"onResizeStop\" ? null : updatedSize\n });\n }\n\n // Get new XY based on pixel size\n let {\n w,\n h\n } = (0, _calculateUtils.calcWH)(this.getPositionParams(), updatedSize.width, updatedSize.height, x, y, handle);\n\n // Min/max capping.\n // minW should be at least 1 (TODO propTypes validation?)\n w = (0, _calculateUtils.clamp)(w, Math.max(minW, 1), maxW);\n h = (0, _calculateUtils.clamp)(h, minH, maxH);\n handler.call(this, i, w, h, {\n e,\n node,\n size: updatedSize,\n handle\n });\n }\n render() /*: ReactNode*/{\n const {\n x,\n y,\n w,\n h,\n isDraggable,\n isResizable,\n droppingPosition,\n useCSSTransforms\n } = this.props;\n const pos = (0, _calculateUtils.calcGridItemPosition)(this.getPositionParams(), x, y, w, h, this.state);\n const child = _react.default.Children.only(this.props.children);\n\n // Create the child element. We clone the existing element but modify its className and style.\n let newChild = /*#__PURE__*/_react.default.cloneElement(child, {\n ref: this.elementRef,\n className: (0, _clsx.default)(\"react-grid-item\", child.props.className, this.props.className, {\n static: this.props.static,\n resizing: Boolean(this.state.resizing),\n \"react-draggable\": isDraggable,\n \"react-draggable-dragging\": Boolean(this.state.dragging),\n dropping: Boolean(droppingPosition),\n cssTransforms: useCSSTransforms\n }),\n // We can set the width and height on the child, but unfortunately we can't set the position.\n style: {\n ...this.props.style,\n ...child.props.style,\n ...this.createStyle(pos)\n }\n });\n\n // Resizable support. This is usually on but the user can toggle it off.\n newChild = this.mixinResizable(newChild, pos, isResizable);\n\n // Draggable support. This is always on, except for with placeholders.\n newChild = this.mixinDraggable(newChild, isDraggable);\n return newChild;\n }\n}\nexports.default = GridItem;\n_defineProperty(GridItem, \"propTypes\", {\n // Children must be only a single element\n children: _propTypes.default.element,\n // General grid attributes\n cols: _propTypes.default.number.isRequired,\n containerWidth: _propTypes.default.number.isRequired,\n rowHeight: _propTypes.default.number.isRequired,\n margin: _propTypes.default.array.isRequired,\n maxRows: _propTypes.default.number.isRequired,\n containerPadding: _propTypes.default.array.isRequired,\n // These are all in grid units\n x: _propTypes.default.number.isRequired,\n y: _propTypes.default.number.isRequired,\n w: _propTypes.default.number.isRequired,\n h: _propTypes.default.number.isRequired,\n // All optional\n minW: function (props /*: Props*/, propName /*: string*/) {\n const value = props[propName];\n if (typeof value !== \"number\") return new Error(\"minWidth not Number\");\n if (value > props.w || value > props.maxW) return new Error(\"minWidth larger than item width/maxWidth\");\n },\n maxW: function (props /*: Props*/, propName /*: string*/) {\n const value = props[propName];\n if (typeof value !== \"number\") return new Error(\"maxWidth not Number\");\n if (value < props.w || value < props.minW) return new Error(\"maxWidth smaller than item width/minWidth\");\n },\n minH: function (props /*: Props*/, propName /*: string*/) {\n const value = props[propName];\n if (typeof value !== \"number\") return new Error(\"minHeight not Number\");\n if (value > props.h || value > props.maxH) return new Error(\"minHeight larger than item height/maxHeight\");\n },\n maxH: function (props /*: Props*/, propName /*: string*/) {\n const value = props[propName];\n if (typeof value !== \"number\") return new Error(\"maxHeight not Number\");\n if (value < props.h || value < props.minH) return new Error(\"maxHeight smaller than item height/minHeight\");\n },\n // ID is nice to have for callbacks\n i: _propTypes.default.string.isRequired,\n // Resize handle options\n resizeHandles: _ReactGridLayoutPropTypes.resizeHandleAxesType,\n resizeHandle: _ReactGridLayoutPropTypes.resizeHandleType,\n // Functions\n onDragStop: _propTypes.default.func,\n onDragStart: _propTypes.default.func,\n onDrag: _propTypes.default.func,\n onResizeStop: _propTypes.default.func,\n onResizeStart: _propTypes.default.func,\n onResize: _propTypes.default.func,\n // Flags\n isDraggable: _propTypes.default.bool.isRequired,\n isResizable: _propTypes.default.bool.isRequired,\n isBounded: _propTypes.default.bool.isRequired,\n static: _propTypes.default.bool,\n // Use CSS transforms instead of top/left\n useCSSTransforms: _propTypes.default.bool.isRequired,\n transformScale: _propTypes.default.number,\n // Others\n className: _propTypes.default.string,\n // Selector for draggable handle\n handle: _propTypes.default.string,\n // Selector for draggable cancel (see react-draggable)\n cancel: _propTypes.default.string,\n // Current position of a dropping element\n droppingPosition: _propTypes.default.shape({\n e: _propTypes.default.object.isRequired,\n left: _propTypes.default.number.isRequired,\n top: _propTypes.default.number.isRequired\n })\n});\n_defineProperty(GridItem, \"defaultProps\", {\n className: \"\",\n cancel: \"\",\n handle: \"\",\n minH: 1,\n minW: 1,\n maxH: Infinity,\n maxW: Infinity,\n transformScale: 1\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _fastEquals = require(\"fast-equals\");\nvar _clsx = _interopRequireDefault(require(\"clsx\"));\nvar _utils = require(\"./utils\");\nvar _calculateUtils = require(\"./calculateUtils\");\nvar _GridItem = _interopRequireDefault(require(\"./GridItem\"));\nvar _ReactGridLayoutPropTypes = _interopRequireDefault(require(\"./ReactGridLayoutPropTypes\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _getRequireWildcardCache(e) { if (\"function\" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }\nfunction _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || \"object\" != typeof e && \"function\" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if (\"default\" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n/*:: import type {\n ChildrenArray as ReactChildrenArray,\n Element as ReactElement\n} from \"react\";*/\n/*:: import type {\n CompactType,\n GridResizeEvent,\n GridDragEvent,\n DragOverEvent,\n Layout,\n DroppingPosition,\n LayoutItem\n} from \"./utils\";*/\n// Types\n/*:: import type { PositionParams } from \"./calculateUtils\";*/\n/*:: type State = {\n activeDrag: ?LayoutItem,\n layout: Layout,\n mounted: boolean,\n oldDragItem: ?LayoutItem,\n oldLayout: ?Layout,\n oldResizeItem: ?LayoutItem,\n resizing: boolean,\n droppingDOMNode: ?ReactElement,\n droppingPosition?: DroppingPosition,\n // Mirrored props\n children: ReactChildrenArray>,\n compactType?: CompactType,\n propsLayout?: Layout\n};*/\n/*:: import type { Props, DefaultProps } from \"./ReactGridLayoutPropTypes\";*/\n// End Types\nconst layoutClassName = \"react-grid-layout\";\nlet isFirefox = false;\n// Try...catch will protect from navigator not existing (e.g. node) or a bad implementation of navigator\ntry {\n isFirefox = /firefox/i.test(navigator.userAgent);\n} catch (e) {\n /* Ignore */\n}\n\n/**\n * A reactive, fluid grid layout with draggable, resizable components.\n */\n\nclass ReactGridLayout extends React.Component /*:: */{\n constructor() {\n super(...arguments);\n _defineProperty(this, \"state\", {\n activeDrag: null,\n layout: (0, _utils.synchronizeLayoutWithChildren)(this.props.layout, this.props.children, this.props.cols,\n // Legacy support for verticalCompact: false\n (0, _utils.compactType)(this.props), this.props.allowOverlap),\n mounted: false,\n oldDragItem: null,\n oldLayout: null,\n oldResizeItem: null,\n resizing: false,\n droppingDOMNode: null,\n children: []\n });\n _defineProperty(this, \"dragEnterCounter\", 0);\n /**\n * When dragging starts\n * @param {String} i Id of the child\n * @param {Number} x X position of the move\n * @param {Number} y Y position of the move\n * @param {Event} e The mousedown event\n * @param {Element} node The current dragging DOM element\n */\n _defineProperty(this, \"onDragStart\", (i /*: string*/, x /*: number*/, y /*: number*/, _ref /*:: */) => {\n let {\n e,\n node\n } /*: GridDragEvent*/ = _ref /*: GridDragEvent*/;\n const {\n layout\n } = this.state;\n const l = (0, _utils.getLayoutItem)(layout, i);\n if (!l) return;\n\n // Create placeholder (display only)\n const placeholder = {\n w: l.w,\n h: l.h,\n x: l.x,\n y: l.y,\n placeholder: true,\n i: i\n };\n this.setState({\n oldDragItem: (0, _utils.cloneLayoutItem)(l),\n oldLayout: layout,\n activeDrag: placeholder\n });\n return this.props.onDragStart(layout, l, l, null, e, node);\n });\n /**\n * Each drag movement create a new dragelement and move the element to the dragged location\n * @param {String} i Id of the child\n * @param {Number} x X position of the move\n * @param {Number} y Y position of the move\n * @param {Event} e The mousedown event\n * @param {Element} node The current dragging DOM element\n */\n _defineProperty(this, \"onDrag\", (i, x, y, _ref2) => {\n let {\n e,\n node\n } = _ref2;\n const {\n oldDragItem\n } = this.state;\n let {\n layout\n } = this.state;\n const {\n cols,\n allowOverlap,\n preventCollision\n } = this.props;\n const l = (0, _utils.getLayoutItem)(layout, i);\n if (!l) return;\n\n // Create placeholder (display only)\n const placeholder = {\n w: l.w,\n h: l.h,\n x: l.x,\n y: l.y,\n placeholder: true,\n i: i\n };\n\n // Move the element to the dragged location.\n const isUserAction = true;\n layout = (0, _utils.moveElement)(layout, l, x, y, isUserAction, preventCollision, (0, _utils.compactType)(this.props), cols, allowOverlap);\n this.props.onDrag(layout, oldDragItem, l, placeholder, e, node);\n this.setState({\n layout: allowOverlap ? layout : (0, _utils.compact)(layout, (0, _utils.compactType)(this.props), cols),\n activeDrag: placeholder\n });\n });\n /**\n * When dragging stops, figure out which position the element is closest to and update its x and y.\n * @param {String} i Index of the child.\n * @param {Number} x X position of the move\n * @param {Number} y Y position of the move\n * @param {Event} e The mousedown event\n * @param {Element} node The current dragging DOM element\n */\n _defineProperty(this, \"onDragStop\", (i, x, y, _ref3) => {\n let {\n e,\n node\n } = _ref3;\n if (!this.state.activeDrag) return;\n const {\n oldDragItem\n } = this.state;\n let {\n layout\n } = this.state;\n const {\n cols,\n preventCollision,\n allowOverlap\n } = this.props;\n const l = (0, _utils.getLayoutItem)(layout, i);\n if (!l) return;\n\n // Move the element here\n const isUserAction = true;\n layout = (0, _utils.moveElement)(layout, l, x, y, isUserAction, preventCollision, (0, _utils.compactType)(this.props), cols, allowOverlap);\n\n // Set state\n const newLayout = allowOverlap ? layout : (0, _utils.compact)(layout, (0, _utils.compactType)(this.props), cols);\n this.props.onDragStop(newLayout, oldDragItem, l, null, e, node);\n const {\n oldLayout\n } = this.state;\n this.setState({\n activeDrag: null,\n layout: newLayout,\n oldDragItem: null,\n oldLayout: null\n });\n this.onLayoutMaybeChanged(newLayout, oldLayout);\n });\n _defineProperty(this, \"onResizeStart\", (i, w, h, _ref4) => {\n let {\n e,\n node\n } = _ref4;\n const {\n layout\n } = this.state;\n const l = (0, _utils.getLayoutItem)(layout, i);\n if (!l) return;\n this.setState({\n oldResizeItem: (0, _utils.cloneLayoutItem)(l),\n oldLayout: this.state.layout,\n resizing: true\n });\n this.props.onResizeStart(layout, l, l, null, e, node);\n });\n _defineProperty(this, \"onResize\", (i, w, h, _ref5) => {\n let {\n e,\n node,\n size,\n handle\n } = _ref5;\n const {\n oldResizeItem\n } = this.state;\n const {\n layout\n } = this.state;\n const {\n cols,\n preventCollision,\n allowOverlap\n } = this.props;\n let shouldMoveItem = false;\n let finalLayout;\n let x;\n let y;\n const [newLayout, l] = (0, _utils.withLayoutItem)(layout, i, l => {\n let hasCollisions;\n x = l.x;\n y = l.y;\n if ([\"sw\", \"w\", \"nw\", \"n\", \"ne\"].indexOf(handle) !== -1) {\n if ([\"sw\", \"nw\", \"w\"].indexOf(handle) !== -1) {\n x = l.x + (l.w - w);\n w = l.x !== x && x < 0 ? l.w : w;\n x = x < 0 ? 0 : x;\n }\n if ([\"ne\", \"n\", \"nw\"].indexOf(handle) !== -1) {\n y = l.y + (l.h - h);\n h = l.y !== y && y < 0 ? l.h : h;\n y = y < 0 ? 0 : y;\n }\n shouldMoveItem = true;\n }\n\n // Something like quad tree should be used\n // to find collisions faster\n if (preventCollision && !allowOverlap) {\n const collisions = (0, _utils.getAllCollisions)(layout, {\n ...l,\n w,\n h,\n x,\n y\n }).filter(layoutItem => layoutItem.i !== l.i);\n hasCollisions = collisions.length > 0;\n\n // If we're colliding, we need adjust the placeholder.\n if (hasCollisions) {\n // Reset layoutItem dimensions if there were collisions\n y = l.y;\n h = l.h;\n x = l.x;\n w = l.w;\n shouldMoveItem = false;\n }\n }\n l.w = w;\n l.h = h;\n return l;\n });\n\n // Shouldn't ever happen, but typechecking makes it necessary\n if (!l) return;\n finalLayout = newLayout;\n if (shouldMoveItem) {\n // Move the element to the new position.\n const isUserAction = true;\n finalLayout = (0, _utils.moveElement)(newLayout, l, x, y, isUserAction, this.props.preventCollision, (0, _utils.compactType)(this.props), cols, allowOverlap);\n }\n\n // Create placeholder element (display only)\n const placeholder = {\n w: l.w,\n h: l.h,\n x: l.x,\n y: l.y,\n static: true,\n i: i\n };\n this.props.onResize(finalLayout, oldResizeItem, l, placeholder, e, node);\n\n // Re-compact the newLayout and set the drag placeholder.\n this.setState({\n layout: allowOverlap ? finalLayout : (0, _utils.compact)(finalLayout, (0, _utils.compactType)(this.props), cols),\n activeDrag: placeholder\n });\n });\n _defineProperty(this, \"onResizeStop\", (i, w, h, _ref6) => {\n let {\n e,\n node\n } = _ref6;\n const {\n layout,\n oldResizeItem\n } = this.state;\n const {\n cols,\n allowOverlap\n } = this.props;\n const l = (0, _utils.getLayoutItem)(layout, i);\n\n // Set state\n const newLayout = allowOverlap ? layout : (0, _utils.compact)(layout, (0, _utils.compactType)(this.props), cols);\n this.props.onResizeStop(newLayout, oldResizeItem, l, null, e, node);\n const {\n oldLayout\n } = this.state;\n this.setState({\n activeDrag: null,\n layout: newLayout,\n oldResizeItem: null,\n oldLayout: null,\n resizing: false\n });\n this.onLayoutMaybeChanged(newLayout, oldLayout);\n });\n // Called while dragging an element. Part of browser native drag/drop API.\n // Native event target might be the layout itself, or an element within the layout.\n _defineProperty(this, \"onDragOver\", e => {\n e.preventDefault(); // Prevent any browser native action\n e.stopPropagation();\n\n // we should ignore events from layout's children in Firefox\n // to avoid unpredictable jumping of a dropping placeholder\n // FIXME remove this hack\n if (isFirefox &&\n // $FlowIgnore can't figure this out\n !e.nativeEvent.target?.classList.contains(layoutClassName)) {\n return false;\n }\n const {\n droppingItem,\n onDropDragOver,\n margin,\n cols,\n rowHeight,\n maxRows,\n width,\n containerPadding,\n transformScale\n } = this.props;\n // Allow user to customize the dropping item or short-circuit the drop based on the results\n // of the `onDragOver(e: Event)` callback.\n const onDragOverResult = onDropDragOver?.(e);\n if (onDragOverResult === false) {\n if (this.state.droppingDOMNode) {\n this.removeDroppingPlaceholder();\n }\n return false;\n }\n const finalDroppingItem = {\n ...droppingItem,\n ...onDragOverResult\n };\n const {\n layout\n } = this.state;\n\n // $FlowIgnore missing def\n const gridRect = e.currentTarget.getBoundingClientRect(); // The grid's position in the viewport\n\n // Calculate the mouse position relative to the grid\n const layerX = e.clientX - gridRect.left;\n const layerY = e.clientY - gridRect.top;\n const droppingPosition = {\n left: layerX / transformScale,\n top: layerY / transformScale,\n e\n };\n if (!this.state.droppingDOMNode) {\n const positionParams /*: PositionParams*/ = {\n cols,\n margin,\n maxRows,\n rowHeight,\n containerWidth: width,\n containerPadding: containerPadding || margin\n };\n const calculatedPosition = (0, _calculateUtils.calcXY)(positionParams, layerY, layerX, finalDroppingItem.w, finalDroppingItem.h);\n this.setState({\n droppingDOMNode: /*#__PURE__*/React.createElement(\"div\", {\n key: finalDroppingItem.i\n }),\n droppingPosition,\n layout: [...layout, {\n ...finalDroppingItem,\n x: calculatedPosition.x,\n y: calculatedPosition.y,\n static: false,\n isDraggable: true\n }]\n });\n } else if (this.state.droppingPosition) {\n const {\n left,\n top\n } = this.state.droppingPosition;\n const shouldUpdatePosition = left != layerX || top != layerY;\n if (shouldUpdatePosition) {\n this.setState({\n droppingPosition\n });\n }\n }\n });\n _defineProperty(this, \"removeDroppingPlaceholder\", () => {\n const {\n droppingItem,\n cols\n } = this.props;\n const {\n layout\n } = this.state;\n const newLayout = (0, _utils.compact)(layout.filter(l => l.i !== droppingItem.i), (0, _utils.compactType)(this.props), cols, this.props.allowOverlap);\n this.setState({\n layout: newLayout,\n droppingDOMNode: null,\n activeDrag: null,\n droppingPosition: undefined\n });\n });\n _defineProperty(this, \"onDragLeave\", e => {\n e.preventDefault(); // Prevent any browser native action\n e.stopPropagation();\n this.dragEnterCounter--;\n\n // onDragLeave can be triggered on each layout's child.\n // But we know that count of dragEnter and dragLeave events\n // will be balanced after leaving the layout's container\n // so we can increase and decrease count of dragEnter and\n // when it'll be equal to 0 we'll remove the placeholder\n if (this.dragEnterCounter === 0) {\n this.removeDroppingPlaceholder();\n }\n });\n _defineProperty(this, \"onDragEnter\", e => {\n e.preventDefault(); // Prevent any browser native action\n e.stopPropagation();\n this.dragEnterCounter++;\n });\n _defineProperty(this, \"onDrop\", (e /*: Event*/) => {\n e.preventDefault(); // Prevent any browser native action\n e.stopPropagation();\n const {\n droppingItem\n } = this.props;\n const {\n layout\n } = this.state;\n const item = layout.find(l => l.i === droppingItem.i);\n\n // reset dragEnter counter on drop\n this.dragEnterCounter = 0;\n this.removeDroppingPlaceholder();\n this.props.onDrop(layout, item, e);\n });\n }\n componentDidMount() {\n this.setState({\n mounted: true\n });\n // Possibly call back with layout on mount. This should be done after correcting the layout width\n // to ensure we don't rerender with the wrong width.\n this.onLayoutMaybeChanged(this.state.layout, this.props.layout);\n }\n static getDerivedStateFromProps(nextProps /*: Props*/, prevState /*: State*/) /*: $Shape | null*/{\n let newLayoutBase;\n if (prevState.activeDrag) {\n return null;\n }\n\n // Legacy support for compactType\n // Allow parent to set layout directly.\n if (!(0, _fastEquals.deepEqual)(nextProps.layout, prevState.propsLayout) || nextProps.compactType !== prevState.compactType) {\n newLayoutBase = nextProps.layout;\n } else if (!(0, _utils.childrenEqual)(nextProps.children, prevState.children)) {\n // If children change, also regenerate the layout. Use our state\n // as the base in case because it may be more up to date than\n // what is in props.\n newLayoutBase = prevState.layout;\n }\n\n // We need to regenerate the layout.\n if (newLayoutBase) {\n const newLayout = (0, _utils.synchronizeLayoutWithChildren)(newLayoutBase, nextProps.children, nextProps.cols, (0, _utils.compactType)(nextProps), nextProps.allowOverlap);\n return {\n layout: newLayout,\n // We need to save these props to state for using\n // getDerivedStateFromProps instead of componentDidMount (in which we would get extra rerender)\n compactType: nextProps.compactType,\n children: nextProps.children,\n propsLayout: nextProps.layout\n };\n }\n return null;\n }\n shouldComponentUpdate(nextProps /*: Props*/, nextState /*: State*/) /*: boolean*/{\n return (\n // NOTE: this is almost always unequal. Therefore the only way to get better performance\n // from SCU is if the user intentionally memoizes children. If they do, and they can\n // handle changes properly, performance will increase.\n this.props.children !== nextProps.children || !(0, _utils.fastRGLPropsEqual)(this.props, nextProps, _fastEquals.deepEqual) || this.state.activeDrag !== nextState.activeDrag || this.state.mounted !== nextState.mounted || this.state.droppingPosition !== nextState.droppingPosition\n );\n }\n componentDidUpdate(prevProps /*: Props*/, prevState /*: State*/) {\n if (!this.state.activeDrag) {\n const newLayout = this.state.layout;\n const oldLayout = prevState.layout;\n this.onLayoutMaybeChanged(newLayout, oldLayout);\n }\n }\n\n /**\n * Calculates a pixel value for the container.\n * @return {String} Container height in pixels.\n */\n containerHeight() /*: ?string*/{\n if (!this.props.autoSize) return;\n const nbRow = (0, _utils.bottom)(this.state.layout);\n const containerPaddingY = this.props.containerPadding ? this.props.containerPadding[1] : this.props.margin[1];\n return nbRow * this.props.rowHeight + (nbRow - 1) * this.props.margin[1] + containerPaddingY * 2 + \"px\";\n }\n onLayoutMaybeChanged(newLayout /*: Layout*/, oldLayout /*: ?Layout*/) {\n if (!oldLayout) oldLayout = this.state.layout;\n if (!(0, _fastEquals.deepEqual)(oldLayout, newLayout)) {\n this.props.onLayoutChange(newLayout);\n }\n }\n /**\n * Create a placeholder object.\n * @return {Element} Placeholder div.\n */\n placeholder() /*: ?ReactElement*/{\n const {\n activeDrag\n } = this.state;\n if (!activeDrag) return null;\n const {\n width,\n cols,\n margin,\n containerPadding,\n rowHeight,\n maxRows,\n useCSSTransforms,\n transformScale\n } = this.props;\n\n // {...this.state.activeDrag} is pretty slow, actually\n return /*#__PURE__*/React.createElement(_GridItem.default, {\n w: activeDrag.w,\n h: activeDrag.h,\n x: activeDrag.x,\n y: activeDrag.y,\n i: activeDrag.i,\n className: `react-grid-placeholder ${this.state.resizing ? \"placeholder-resizing\" : \"\"}`,\n containerWidth: width,\n cols: cols,\n margin: margin,\n containerPadding: containerPadding || margin,\n maxRows: maxRows,\n rowHeight: rowHeight,\n isDraggable: false,\n isResizable: false,\n isBounded: false,\n useCSSTransforms: useCSSTransforms,\n transformScale: transformScale\n }, /*#__PURE__*/React.createElement(\"div\", null));\n }\n\n /**\n * Given a grid item, set its style attributes & surround in a .\n * @param {Element} child React element.\n * @return {Element} Element wrapped in draggable and properly placed.\n */\n processGridItem(child /*: ReactElement*/, isDroppingItem /*: boolean*/) /*: ?ReactElement*/{\n if (!child || !child.key) return;\n const l = (0, _utils.getLayoutItem)(this.state.layout, String(child.key));\n if (!l) return null;\n const {\n width,\n cols,\n margin,\n containerPadding,\n rowHeight,\n maxRows,\n isDraggable,\n isResizable,\n isBounded,\n useCSSTransforms,\n transformScale,\n draggableCancel,\n draggableHandle,\n resizeHandles,\n resizeHandle\n } = this.props;\n const {\n mounted,\n droppingPosition\n } = this.state;\n\n // Determine user manipulations possible.\n // If an item is static, it can't be manipulated by default.\n // Any properties defined directly on the grid item will take precedence.\n const draggable = typeof l.isDraggable === \"boolean\" ? l.isDraggable : !l.static && isDraggable;\n const resizable = typeof l.isResizable === \"boolean\" ? l.isResizable : !l.static && isResizable;\n const resizeHandlesOptions = l.resizeHandles || resizeHandles;\n\n // isBounded set on child if set on parent, and child is not explicitly false\n const bounded = draggable && isBounded && l.isBounded !== false;\n return /*#__PURE__*/React.createElement(_GridItem.default, {\n containerWidth: width,\n cols: cols,\n margin: margin,\n containerPadding: containerPadding || margin,\n maxRows: maxRows,\n rowHeight: rowHeight,\n cancel: draggableCancel,\n handle: draggableHandle,\n onDragStop: this.onDragStop,\n onDragStart: this.onDragStart,\n onDrag: this.onDrag,\n onResizeStart: this.onResizeStart,\n onResize: this.onResize,\n onResizeStop: this.onResizeStop,\n isDraggable: draggable,\n isResizable: resizable,\n isBounded: bounded,\n useCSSTransforms: useCSSTransforms && mounted,\n usePercentages: !mounted,\n transformScale: transformScale,\n w: l.w,\n h: l.h,\n x: l.x,\n y: l.y,\n i: l.i,\n minH: l.minH,\n minW: l.minW,\n maxH: l.maxH,\n maxW: l.maxW,\n static: l.static,\n droppingPosition: isDroppingItem ? droppingPosition : undefined,\n resizeHandles: resizeHandlesOptions,\n resizeHandle: resizeHandle\n }, child);\n }\n render() /*: React.Element<\"div\">*/{\n const {\n className,\n style,\n isDroppable,\n innerRef\n } = this.props;\n const mergedClassName = (0, _clsx.default)(layoutClassName, className);\n const mergedStyle = {\n height: this.containerHeight(),\n ...style\n };\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: innerRef,\n className: mergedClassName,\n style: mergedStyle,\n onDrop: isDroppable ? this.onDrop : _utils.noop,\n onDragLeave: isDroppable ? this.onDragLeave : _utils.noop,\n onDragEnter: isDroppable ? this.onDragEnter : _utils.noop,\n onDragOver: isDroppable ? this.onDragOver : _utils.noop\n }, React.Children.map(this.props.children, child => this.processGridItem(child)), isDroppable && this.state.droppingDOMNode && this.processGridItem(this.state.droppingDOMNode, true), this.placeholder());\n }\n}\nexports.default = ReactGridLayout;\n// TODO publish internal ReactClass displayName transform\n_defineProperty(ReactGridLayout, \"displayName\", \"ReactGridLayout\");\n// Refactored to another module to make way for preval\n_defineProperty(ReactGridLayout, \"propTypes\", _ReactGridLayoutPropTypes.default);\n_defineProperty(ReactGridLayout, \"defaultProps\", {\n autoSize: true,\n cols: 12,\n className: \"\",\n style: {},\n draggableHandle: \"\",\n draggableCancel: \"\",\n containerPadding: null,\n rowHeight: 150,\n maxRows: Infinity,\n // infinite vertical growth\n layout: [],\n margin: [10, 10],\n isBounded: false,\n isDraggable: true,\n isResizable: true,\n allowOverlap: false,\n isDroppable: false,\n useCSSTransforms: true,\n transformScale: 1,\n verticalCompact: true,\n compactType: \"vertical\",\n preventCollision: false,\n droppingItem: {\n i: \"__dropping-elem__\",\n h: 1,\n w: 1\n },\n resizeHandles: [\"se\"],\n onLayoutChange: _utils.noop,\n onDragStart: _utils.noop,\n onDrag: _utils.noop,\n onDragStop: _utils.noop,\n onResizeStart: _utils.noop,\n onResize: _utils.noop,\n onResizeStop: _utils.noop,\n onDrop: _utils.noop,\n onDropDragOver: _utils.noop\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.resizeHandleType = exports.resizeHandleAxesType = exports.default = void 0;\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _react = _interopRequireDefault(require(\"react\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n/*:: import type {\n Ref,\n ChildrenArray as ReactChildrenArray,\n Element as ReactElement\n} from \"react\";*/\n/*:: import type {\n DragOverEvent,\n EventCallback,\n CompactType,\n Layout,\n LayoutItem,\n ResizeHandleAxis\n} from \"./utils\";*/\n/*:: export type ReactRef = {|\n +current: T | null\n|};*/\n// util\n/*:: export type ResizeHandle =\n | ReactElement\n | ((\n resizeHandleAxis: ResizeHandleAxis,\n ref: ReactRef\n ) => ReactElement);*/\n// Defines which resize handles should be rendered (default: 'se')\n// Allows for any combination of:\n// 's' - South handle (bottom-center)\n// 'w' - West handle (left-center)\n// 'e' - East handle (right-center)\n// 'n' - North handle (top-center)\n// 'sw' - Southwest handle (bottom-left)\n// 'nw' - Northwest handle (top-left)\n// 'se' - Southeast handle (bottom-right)\n// 'ne' - Northeast handle (top-right)\nconst resizeHandleAxesType /*: ReactPropsChainableTypeChecker*/ = exports.resizeHandleAxesType = _propTypes.default.arrayOf(_propTypes.default.oneOf([\"s\", \"w\", \"e\", \"n\", \"sw\", \"nw\", \"se\", \"ne\"]));\n// Custom component for resize handles\nconst resizeHandleType /*: ReactPropsChainableTypeChecker*/ = exports.resizeHandleType = _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.func]);\n/*:: export type Props = {|\n className: string,\n style: Object,\n width: number,\n autoSize: boolean,\n cols: number,\n draggableCancel: string,\n draggableHandle: string,\n verticalCompact: boolean,\n compactType: CompactType,\n layout: Layout,\n margin: [number, number],\n containerPadding: ?[number, number],\n rowHeight: number,\n maxRows: number,\n isBounded: boolean,\n isDraggable: boolean,\n isResizable: boolean,\n isDroppable: boolean,\n preventCollision: boolean,\n useCSSTransforms: boolean,\n transformScale: number,\n droppingItem: $Shape,\n resizeHandles: ResizeHandleAxis[],\n resizeHandle?: ResizeHandle,\n allowOverlap: boolean,\n\n // Callbacks\n onLayoutChange: Layout => void,\n onDrag: EventCallback,\n onDragStart: EventCallback,\n onDragStop: EventCallback,\n onResize: EventCallback,\n onResizeStart: EventCallback,\n onResizeStop: EventCallback,\n onDropDragOver: (e: DragOverEvent) => ?({| w?: number, h?: number |} | false),\n onDrop: (layout: Layout, item: ?LayoutItem, e: Event) => void,\n children: ReactChildrenArray>,\n innerRef?: Ref<\"div\">\n|};*/\n/*:: export type DefaultProps = $Diff<\n Props,\n {\n children: ReactChildrenArray>,\n width: number\n }\n>;*/\nvar _default = exports.default = {\n //\n // Basic props\n //\n className: _propTypes.default.string,\n style: _propTypes.default.object,\n // This can be set explicitly. If it is not set, it will automatically\n // be set to the container width. Note that resizes will *not* cause this to adjust.\n // If you need that behavior, use WidthProvider.\n width: _propTypes.default.number,\n // If true, the container height swells and contracts to fit contents\n autoSize: _propTypes.default.bool,\n // # of cols.\n cols: _propTypes.default.number,\n // A selector that will not be draggable.\n draggableCancel: _propTypes.default.string,\n // A selector for the draggable handler\n draggableHandle: _propTypes.default.string,\n // Deprecated\n verticalCompact: function (props /*: Props*/) {\n if (props.verticalCompact === false && process.env.NODE_ENV !== \"production\") {\n console.warn(\n // eslint-disable-line no-console\n \"`verticalCompact` on is deprecated and will be removed soon. \" + 'Use `compactType`: \"horizontal\" | \"vertical\" | null.');\n }\n },\n // Choose vertical or hotizontal compaction\n compactType: (_propTypes.default.oneOf([\"vertical\", \"horizontal\"]) /*: ReactPropsChainableTypeChecker*/),\n // layout is an array of object with the format:\n // {x: Number, y: Number, w: Number, h: Number, i: String}\n layout: function (props /*: Props*/) {\n var layout = props.layout;\n // I hope you're setting the data-grid property on the grid items\n if (layout === undefined) return;\n require(\"./utils\").validateLayout(layout, \"layout\");\n },\n //\n // Grid Dimensions\n //\n\n // Margin between items [x, y] in px\n margin: (_propTypes.default.arrayOf(_propTypes.default.number) /*: ReactPropsChainableTypeChecker*/),\n // Padding inside the container [x, y] in px\n containerPadding: (_propTypes.default.arrayOf(_propTypes.default.number) /*: ReactPropsChainableTypeChecker*/),\n // Rows have a static height, but you can change this based on breakpoints if you like\n rowHeight: _propTypes.default.number,\n // Default Infinity, but you can specify a max here if you like.\n // Note that this isn't fully fleshed out and won't error if you specify a layout that\n // extends beyond the row capacity. It will, however, not allow users to drag/resize\n // an item past the barrier. They can push items beyond the barrier, though.\n // Intentionally not documented for this reason.\n maxRows: _propTypes.default.number,\n //\n // Flags\n //\n isBounded: _propTypes.default.bool,\n isDraggable: _propTypes.default.bool,\n isResizable: _propTypes.default.bool,\n // If true, grid can be placed one over the other.\n allowOverlap: _propTypes.default.bool,\n // If true, grid items won't change position when being dragged over.\n preventCollision: _propTypes.default.bool,\n // Use CSS transforms instead of top/left\n useCSSTransforms: _propTypes.default.bool,\n // parent layout transform scale\n transformScale: _propTypes.default.number,\n // If true, an external element can trigger onDrop callback with a specific grid position as a parameter\n isDroppable: _propTypes.default.bool,\n // Resize handle options\n resizeHandles: resizeHandleAxesType,\n resizeHandle: resizeHandleType,\n //\n // Callbacks\n //\n\n // Callback so you can save the layout. Calls after each drag & resize stops.\n onLayoutChange: _propTypes.default.func,\n // Calls when drag starts. Callback is of the signature (layout, oldItem, newItem, placeholder, e, ?node).\n // All callbacks below have the same signature. 'start' and 'stop' callbacks omit the 'placeholder'.\n onDragStart: _propTypes.default.func,\n // Calls on each drag movement.\n onDrag: _propTypes.default.func,\n // Calls when drag is complete.\n onDragStop: _propTypes.default.func,\n //Calls when resize starts.\n onResizeStart: _propTypes.default.func,\n // Calls when resize movement happens.\n onResize: _propTypes.default.func,\n // Calls when resize is complete.\n onResizeStop: _propTypes.default.func,\n // Calls when some element is dropped.\n onDrop: _propTypes.default.func,\n //\n // Other validations\n //\n\n droppingItem: (_propTypes.default.shape({\n i: _propTypes.default.string.isRequired,\n w: _propTypes.default.number.isRequired,\n h: _propTypes.default.number.isRequired\n }) /*: ReactPropsChainableTypeChecker*/),\n // Children must not have duplicate keys.\n children: function (props /*: Props*/, propName /*: string*/) {\n const children = props[propName];\n\n // Check children keys for duplicates. Throw if found.\n const keys = {};\n _react.default.Children.forEach(children, function (child) {\n if (child?.key == null) return;\n if (keys[child.key]) {\n throw new Error('Duplicate child key \"' + child.key + '\" found! This will cause problems in ReactGridLayout.');\n }\n keys[child.key] = true;\n });\n },\n // Optional ref for getting a reference for the wrapping div.\n innerRef: _propTypes.default.any\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _fastEquals = require(\"fast-equals\");\nvar _utils = require(\"./utils\");\nvar _responsiveUtils = require(\"./responsiveUtils\");\nvar _ReactGridLayout = _interopRequireDefault(require(\"./ReactGridLayout\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _getRequireWildcardCache(e) { if (\"function\" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }\nfunction _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || \"object\" != typeof e && \"function\" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if (\"default\" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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; }; return _extends.apply(this, arguments); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); } /*:: import { type Layout, type Pick } from \"./utils\";*/ /*:: import { type ResponsiveLayout, type OnLayoutChangeCallback, type Breakpoints } from \"./responsiveUtils\";*/\n// $FlowFixMe[method-unbinding]\nconst type = obj => Object.prototype.toString.call(obj);\n\n/**\n * Get a value of margin or containerPadding.\n *\n * @param {Array | Object} param Margin | containerPadding, e.g. [10, 10] | {lg: [10, 10], ...}.\n * @param {String} breakpoint Breakpoint: lg, md, sm, xs and etc.\n * @return {Array}\n */\nfunction getIndentationValue /*:: */(param /*: { [key: string]: T } | T*/, breakpoint /*: string*/) /*: T*/{\n // $FlowIgnore TODO fix this typedef\n if (param == null) return null;\n // $FlowIgnore TODO fix this typedef\n return Array.isArray(param) ? param : param[breakpoint];\n}\n/*:: type State = {\n layout: Layout,\n breakpoint: string,\n cols: number,\n layouts?: ResponsiveLayout\n};*/\n/*:: type Props = {|\n ...React.ElementConfig,\n\n // Responsive config\n breakpoint?: ?Breakpoint,\n breakpoints: Breakpoints,\n cols: { [key: Breakpoint]: number },\n layouts: ResponsiveLayout,\n width: number,\n margin: { [key: Breakpoint]: [number, number] } | [number, number],\n /* prettier-ignore *-/\n containerPadding: { [key: Breakpoint]: ?[number, number] } | ?[number, number],\n\n // Callbacks\n onBreakpointChange: (Breakpoint, cols: number) => void,\n onLayoutChange: OnLayoutChangeCallback,\n onWidthChange: (\n containerWidth: number,\n margin: [number, number],\n cols: number,\n containerPadding: ?[number, number]\n ) => void\n|};*/\n/*:: type DefaultProps = Pick<\n Props<>,\n {|\n allowOverlap: 0,\n breakpoints: 0,\n cols: 0,\n containerPadding: 0,\n layouts: 0,\n margin: 0,\n onBreakpointChange: 0,\n onLayoutChange: 0,\n onWidthChange: 0\n |}\n>;*/\nclass ResponsiveReactGridLayout extends React.Component\n/*:: <\n Props<>,\n State\n>*/\n{\n constructor() {\n super(...arguments);\n _defineProperty(this, \"state\", this.generateInitialState());\n // wrap layouts so we do not need to pass layouts to child\n _defineProperty(this, \"onLayoutChange\", (layout /*: Layout*/) => {\n this.props.onLayoutChange(layout, {\n ...this.props.layouts,\n [this.state.breakpoint]: layout\n });\n });\n }\n generateInitialState() /*: State*/{\n const {\n width,\n breakpoints,\n layouts,\n cols\n } = this.props;\n const breakpoint = (0, _responsiveUtils.getBreakpointFromWidth)(breakpoints, width);\n const colNo = (0, _responsiveUtils.getColsFromBreakpoint)(breakpoint, cols);\n // verticalCompact compatibility, now deprecated\n const compactType = this.props.verticalCompact === false ? null : this.props.compactType;\n // Get the initial layout. This can tricky; we try to generate one however possible if one doesn't exist\n // for this layout.\n const initialLayout = (0, _responsiveUtils.findOrGenerateResponsiveLayout)(layouts, breakpoints, breakpoint, breakpoint, colNo, compactType);\n return {\n layout: initialLayout,\n breakpoint: breakpoint,\n cols: colNo\n };\n }\n static getDerivedStateFromProps(nextProps /*: Props<*>*/, prevState /*: State*/) /*: ?$Shape*/{\n if (!(0, _fastEquals.deepEqual)(nextProps.layouts, prevState.layouts)) {\n // Allow parent to set layouts directly.\n const {\n breakpoint,\n cols\n } = prevState;\n\n // Since we're setting an entirely new layout object, we must generate a new responsive layout\n // if one does not exist.\n const newLayout = (0, _responsiveUtils.findOrGenerateResponsiveLayout)(nextProps.layouts, nextProps.breakpoints, breakpoint, breakpoint, cols, nextProps.compactType);\n return {\n layout: newLayout,\n layouts: nextProps.layouts\n };\n }\n return null;\n }\n componentDidUpdate(prevProps /*: Props<*>*/) {\n // Allow parent to set width or breakpoint directly.\n if (this.props.width != prevProps.width || this.props.breakpoint !== prevProps.breakpoint || !(0, _fastEquals.deepEqual)(this.props.breakpoints, prevProps.breakpoints) || !(0, _fastEquals.deepEqual)(this.props.cols, prevProps.cols)) {\n this.onWidthChange(prevProps);\n }\n }\n /**\n * When the width changes work through breakpoints and reset state with the new width & breakpoint.\n * Width changes are necessary to figure out the widget widths.\n */\n onWidthChange(prevProps /*: Props<*>*/) {\n const {\n breakpoints,\n cols,\n layouts,\n compactType\n } = this.props;\n const newBreakpoint = this.props.breakpoint || (0, _responsiveUtils.getBreakpointFromWidth)(this.props.breakpoints, this.props.width);\n const lastBreakpoint = this.state.breakpoint;\n const newCols /*: number*/ = (0, _responsiveUtils.getColsFromBreakpoint)(newBreakpoint, cols);\n const newLayouts = {\n ...layouts\n };\n\n // Breakpoint change\n if (lastBreakpoint !== newBreakpoint || prevProps.breakpoints !== breakpoints || prevProps.cols !== cols) {\n // Preserve the current layout if the current breakpoint is not present in the next layouts.\n if (!(lastBreakpoint in newLayouts)) newLayouts[lastBreakpoint] = (0, _utils.cloneLayout)(this.state.layout);\n\n // Find or generate a new layout.\n let layout = (0, _responsiveUtils.findOrGenerateResponsiveLayout)(newLayouts, breakpoints, newBreakpoint, lastBreakpoint, newCols, compactType);\n\n // This adds missing items.\n layout = (0, _utils.synchronizeLayoutWithChildren)(layout, this.props.children, newCols, compactType, this.props.allowOverlap);\n\n // Store the new layout.\n newLayouts[newBreakpoint] = layout;\n\n // callbacks\n this.props.onLayoutChange(layout, newLayouts);\n this.props.onBreakpointChange(newBreakpoint, newCols);\n this.setState({\n breakpoint: newBreakpoint,\n layout: layout,\n cols: newCols\n });\n }\n const margin = getIndentationValue(this.props.margin, newBreakpoint);\n const containerPadding = getIndentationValue(this.props.containerPadding, newBreakpoint);\n\n //call onWidthChange on every change of width, not only on breakpoint changes\n this.props.onWidthChange(this.props.width, margin, newCols, containerPadding);\n }\n render() /*: React.Element*/{\n /* eslint-disable no-unused-vars */\n const {\n breakpoint,\n breakpoints,\n cols,\n layouts,\n margin,\n containerPadding,\n onBreakpointChange,\n onLayoutChange,\n onWidthChange,\n ...other\n } = this.props;\n /* eslint-enable no-unused-vars */\n\n return /*#__PURE__*/React.createElement(_ReactGridLayout.default, _extends({}, other, {\n // $FlowIgnore should allow nullable here due to DefaultProps\n margin: getIndentationValue(margin, this.state.breakpoint),\n containerPadding: getIndentationValue(containerPadding, this.state.breakpoint),\n onLayoutChange: this.onLayoutChange,\n layout: this.state.layout,\n cols: this.state.cols\n }));\n }\n}\nexports.default = ResponsiveReactGridLayout;\n// This should only include propTypes needed in this code; RGL itself\n// will do validation of the rest props passed to it.\n_defineProperty(ResponsiveReactGridLayout, \"propTypes\", {\n //\n // Basic props\n //\n\n // Optional, but if you are managing width yourself you may want to set the breakpoint\n // yourself as well.\n breakpoint: _propTypes.default.string,\n // {name: pxVal}, e.g. {lg: 1200, md: 996, sm: 768, xs: 480}\n breakpoints: _propTypes.default.object,\n allowOverlap: _propTypes.default.bool,\n // # of cols. This is a breakpoint -> cols map\n cols: _propTypes.default.object,\n // # of margin. This is a breakpoint -> margin map\n // e.g. { lg: [5, 5], md: [10, 10], sm: [15, 15] }\n // Margin between items [x, y] in px\n // e.g. [10, 10]\n margin: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object]),\n // # of containerPadding. This is a breakpoint -> containerPadding map\n // e.g. { lg: [5, 5], md: [10, 10], sm: [15, 15] }\n // Padding inside the container [x, y] in px\n // e.g. [10, 10]\n containerPadding: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object]),\n // layouts is an object mapping breakpoints to layouts.\n // e.g. {lg: Layout, md: Layout, ...}\n layouts(props /*: Props<>*/, propName /*: string*/) {\n if (type(props[propName]) !== \"[object Object]\") {\n throw new Error(\"Layout property must be an object. Received: \" + type(props[propName]));\n }\n Object.keys(props[propName]).forEach(key => {\n if (!(key in props.breakpoints)) {\n throw new Error(\"Each key in layouts must align with a key in breakpoints.\");\n }\n (0, _utils.validateLayout)(props.layouts[key], \"layouts.\" + key);\n });\n },\n // The width of this component.\n // Required in this propTypes stanza because generateInitialState() will fail without it.\n width: _propTypes.default.number.isRequired,\n //\n // Callbacks\n //\n\n // Calls back with breakpoint and new # cols\n onBreakpointChange: _propTypes.default.func,\n // Callback so you can save the layout.\n // Calls back with (currentLayout, allLayouts). allLayouts are keyed by breakpoint.\n onLayoutChange: _propTypes.default.func,\n // Calls back with (containerWidth, margin, cols, containerPadding)\n onWidthChange: _propTypes.default.func\n});\n_defineProperty(ResponsiveReactGridLayout, \"defaultProps\", {\n breakpoints: {\n lg: 1200,\n md: 996,\n sm: 768,\n xs: 480,\n xxs: 0\n },\n cols: {\n lg: 12,\n md: 10,\n sm: 6,\n xs: 4,\n xxs: 2\n },\n containerPadding: {\n lg: null,\n md: null,\n sm: null,\n xs: null,\n xxs: null\n },\n layouts: {},\n margin: [10, 10],\n allowOverlap: false,\n onBreakpointChange: _utils.noop,\n onLayoutChange: _utils.noop,\n onWidthChange: _utils.noop\n});","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.calcGridColWidth = calcGridColWidth;\nexports.calcGridItemPosition = calcGridItemPosition;\nexports.calcGridItemWHPx = calcGridItemWHPx;\nexports.calcWH = calcWH;\nexports.calcXY = calcXY;\nexports.clamp = clamp;\n/*:: import type { Position } from \"./utils\";*/\n/*:: export type PositionParams = {\n margin: [number, number],\n containerPadding: [number, number],\n containerWidth: number,\n cols: number,\n rowHeight: number,\n maxRows: number\n};*/\n// Helper for generating column width\nfunction calcGridColWidth(positionParams /*: PositionParams*/) /*: number*/{\n const {\n margin,\n containerPadding,\n containerWidth,\n cols\n } = positionParams;\n return (containerWidth - margin[0] * (cols - 1) - containerPadding[0] * 2) / cols;\n}\n\n// This can either be called:\n// calcGridItemWHPx(w, colWidth, margin[0])\n// or\n// calcGridItemWHPx(h, rowHeight, margin[1])\nfunction calcGridItemWHPx(gridUnits /*: number*/, colOrRowSize /*: number*/, marginPx /*: number*/) /*: number*/{\n // 0 * Infinity === NaN, which causes problems with resize contraints\n if (!Number.isFinite(gridUnits)) return gridUnits;\n return Math.round(colOrRowSize * gridUnits + Math.max(0, gridUnits - 1) * marginPx);\n}\n\n/**\n * Return position on the page given an x, y, w, h.\n * left, top, width, height are all in pixels.\n * @param {PositionParams} positionParams Parameters of grid needed for coordinates calculations.\n * @param {Number} x X coordinate in grid units.\n * @param {Number} y Y coordinate in grid units.\n * @param {Number} w W coordinate in grid units.\n * @param {Number} h H coordinate in grid units.\n * @return {Position} Object containing coords.\n */\nfunction calcGridItemPosition(positionParams /*: PositionParams*/, x /*: number*/, y /*: number*/, w /*: number*/, h /*: number*/, state /*: ?Object*/) /*: Position*/{\n const {\n margin,\n containerPadding,\n rowHeight\n } = positionParams;\n const colWidth = calcGridColWidth(positionParams);\n const out = {};\n\n // If resizing, use the exact width and height as returned from resizing callbacks.\n if (state && state.resizing) {\n out.width = Math.round(state.resizing.width);\n out.height = Math.round(state.resizing.height);\n }\n // Otherwise, calculate from grid units.\n else {\n out.width = calcGridItemWHPx(w, colWidth, margin[0]);\n out.height = calcGridItemWHPx(h, rowHeight, margin[1]);\n }\n\n // If dragging, use the exact width and height as returned from dragging callbacks.\n if (state && state.dragging) {\n out.top = Math.round(state.dragging.top);\n out.left = Math.round(state.dragging.left);\n } else if (state && state.resizing && typeof state.resizing.top === \"number\" && typeof state.resizing.left === \"number\") {\n out.top = Math.round(state.resizing.top);\n out.left = Math.round(state.resizing.left);\n }\n // Otherwise, calculate from grid units.\n else {\n out.top = Math.round((rowHeight + margin[1]) * y + containerPadding[1]);\n out.left = Math.round((colWidth + margin[0]) * x + containerPadding[0]);\n }\n return out;\n}\n\n/**\n * Translate x and y coordinates from pixels to grid units.\n * @param {PositionParams} positionParams Parameters of grid needed for coordinates calculations.\n * @param {Number} top Top position (relative to parent) in pixels.\n * @param {Number} left Left position (relative to parent) in pixels.\n * @param {Number} w W coordinate in grid units.\n * @param {Number} h H coordinate in grid units.\n * @return {Object} x and y in grid units.\n */\nfunction calcXY(positionParams /*: PositionParams*/, top /*: number*/, left /*: number*/, w /*: number*/, h /*: number*/) /*: { x: number, y: number }*/{\n const {\n margin,\n cols,\n rowHeight,\n maxRows\n } = positionParams;\n const colWidth = calcGridColWidth(positionParams);\n\n // left = colWidth * x + margin * (x + 1)\n // l = cx + m(x+1)\n // l = cx + mx + m\n // l - m = cx + mx\n // l - m = x(c + m)\n // (l - m) / (c + m) = x\n // x = (left - margin) / (coldWidth + margin)\n let x = Math.round((left - margin[0]) / (colWidth + margin[0]));\n let y = Math.round((top - margin[1]) / (rowHeight + margin[1]));\n\n // Capping\n x = clamp(x, 0, cols - w);\n y = clamp(y, 0, maxRows - h);\n return {\n x,\n y\n };\n}\n\n/**\n * Given a height and width in pixel values, calculate grid units.\n * @param {PositionParams} positionParams Parameters of grid needed for coordinates calcluations.\n * @param {Number} height Height in pixels.\n * @param {Number} width Width in pixels.\n * @param {Number} x X coordinate in grid units.\n * @param {Number} y Y coordinate in grid units.\n * @param {String} handle Resize Handle.\n * @return {Object} w, h as grid units.\n */\nfunction calcWH(positionParams /*: PositionParams*/, width /*: number*/, height /*: number*/, x /*: number*/, y /*: number*/, handle /*: string*/) /*: { w: number, h: number }*/{\n const {\n margin,\n maxRows,\n cols,\n rowHeight\n } = positionParams;\n const colWidth = calcGridColWidth(positionParams);\n\n // width = colWidth * w - (margin * (w - 1))\n // ...\n // w = (width + margin) / (colWidth + margin)\n let w = Math.round((width + margin[0]) / (colWidth + margin[0]));\n let h = Math.round((height + margin[1]) / (rowHeight + margin[1]));\n\n // Capping\n let _w = clamp(w, 0, cols - x);\n let _h = clamp(h, 0, maxRows - y);\n if ([\"sw\", \"w\", \"nw\"].indexOf(handle) !== -1) {\n _w = clamp(w, 0, cols);\n }\n if ([\"nw\", \"n\", \"ne\"].indexOf(handle) !== -1) {\n _h = clamp(h, 0, maxRows);\n }\n return {\n w: _w,\n h: _h\n };\n}\n\n// Similar to _.clamp\nfunction clamp(num /*: number*/, lowerBound /*: number*/, upperBound /*: number*/) /*: number*/{\n return Math.max(Math.min(num, upperBound), lowerBound);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = WidthProvideRGL;\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _resizeObserverPolyfill = _interopRequireDefault(require(\"resize-observer-polyfill\"));\nvar _clsx = _interopRequireDefault(require(\"clsx\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _getRequireWildcardCache(e) { if (\"function\" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }\nfunction _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || \"object\" != typeof e && \"function\" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if (\"default\" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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; }; return _extends.apply(this, arguments); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n/*:: import type { ReactRef } from \"../ReactGridLayoutPropTypes\";*/\n/*:: type WPDefaultProps = {|\n measureBeforeMount: boolean\n|};*/\n/*:: type WPProps = {|\n className?: string,\n style?: Object,\n ...WPDefaultProps\n|};*/\n// eslint-disable-next-line no-unused-vars\n/*:: type WPState = {|\n width: number\n|};*/\n/*:: type ComposedProps = {|\n ...Config,\n measureBeforeMount?: boolean,\n className?: string,\n style?: Object,\n width?: number\n|};*/\nconst layoutClassName = \"react-grid-layout\";\n\n/*\n * A simple HOC that provides facility for listening to container resizes.\n *\n * The Flow type is pretty janky here. I can't just spread `WPProps` into this returned object - I wish I could - but it triggers\n * a flow bug of some sort that causes it to stop typechecking.\n */\nfunction WidthProvideRGL /*:: */(ComposedComponent /*: React.AbstractComponent*/) /*: React.AbstractComponent>*/{\n var _class;\n return _class = class WidthProvider extends React.Component\n /*:: <\n ComposedProps,\n WPState\n >*/\n {\n constructor() {\n super(...arguments);\n _defineProperty(this, \"state\", {\n width: 1280\n });\n _defineProperty(this, \"elementRef\", /*#__PURE__*/React.createRef());\n _defineProperty(this, \"mounted\", false);\n _defineProperty(this, \"resizeObserver\", void 0);\n }\n componentDidMount() {\n this.mounted = true;\n this.resizeObserver = new _resizeObserverPolyfill.default(entries => {\n const node = this.elementRef.current;\n if (node instanceof HTMLElement) {\n const width = entries[0].contentRect.width;\n this.setState({\n width\n });\n }\n });\n const node = this.elementRef.current;\n if (node instanceof HTMLElement) {\n this.resizeObserver.observe(node);\n }\n }\n componentWillUnmount() {\n this.mounted = false;\n const node = this.elementRef.current;\n if (node instanceof HTMLElement) {\n this.resizeObserver.unobserve(node);\n }\n this.resizeObserver.disconnect();\n }\n render() {\n const {\n measureBeforeMount,\n ...rest\n } = this.props;\n if (measureBeforeMount && !this.mounted) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: (0, _clsx.default)(this.props.className, layoutClassName),\n style: this.props.style\n // $FlowIgnore ref types\n ,\n ref: this.elementRef\n });\n }\n return /*#__PURE__*/React.createElement(ComposedComponent, _extends({\n innerRef: this.elementRef\n }, rest, this.state));\n }\n }, _defineProperty(_class, \"defaultProps\", {\n measureBeforeMount: false\n }), _defineProperty(_class, \"propTypes\", {\n // If true, will not render children until mounted. Useful for getting the exact width before\n // rendering, to prevent any unsightly resizing.\n measureBeforeMount: _propTypes.default.bool\n }), _class;\n}","// this file was prevaled\nmodule.exports = function fastRGLPropsEqual(a, b, isEqualImpl) {\n if (a === b) return true;\n return a.className === b.className && isEqualImpl(a.style, b.style) && a.width === b.width && a.autoSize === b.autoSize && a.cols === b.cols && a.draggableCancel === b.draggableCancel && a.draggableHandle === b.draggableHandle && isEqualImpl(a.verticalCompact, b.verticalCompact) && isEqualImpl(a.compactType, b.compactType) && isEqualImpl(a.layout, b.layout) && isEqualImpl(a.margin, b.margin) && isEqualImpl(a.containerPadding, b.containerPadding) && a.rowHeight === b.rowHeight && a.maxRows === b.maxRows && a.isBounded === b.isBounded && a.isDraggable === b.isDraggable && a.isResizable === b.isResizable && a.allowOverlap === b.allowOverlap && a.preventCollision === b.preventCollision && a.useCSSTransforms === b.useCSSTransforms && a.transformScale === b.transformScale && a.isDroppable === b.isDroppable && isEqualImpl(a.resizeHandles, b.resizeHandles) && isEqualImpl(a.resizeHandle, b.resizeHandle) && a.onLayoutChange === b.onLayoutChange && a.onDragStart === b.onDragStart && a.onDrag === b.onDrag && a.onDragStop === b.onDragStop && a.onResizeStart === b.onResizeStart && a.onResize === b.onResize && a.onResizeStop === b.onResizeStop && a.onDrop === b.onDrop && isEqualImpl(a.droppingItem, b.droppingItem) && isEqualImpl(a.innerRef, b.innerRef);\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.findOrGenerateResponsiveLayout = findOrGenerateResponsiveLayout;\nexports.getBreakpointFromWidth = getBreakpointFromWidth;\nexports.getColsFromBreakpoint = getColsFromBreakpoint;\nexports.sortBreakpoints = sortBreakpoints;\nvar _utils = require(\"./utils\");\n/*:: import type { CompactType, Layout } from \"./utils\";*/\n/*:: export type Breakpoint = string;*/\n/*:: export type DefaultBreakpoints = \"lg\" | \"md\" | \"sm\" | \"xs\" | \"xxs\";*/\n/*:: export type ResponsiveLayout = {\n +[breakpoint: T]: Layout\n};*/\n// + indicates read-only\n/*:: export type Breakpoints = {\n +[breakpoint: T]: number\n};*/\n/*:: export type OnLayoutChangeCallback = (\n Layout,\n { [key: Breakpoint]: Layout }\n) => void;*/\n/**\n * Given a width, find the highest breakpoint that matches is valid for it (width > breakpoint).\n *\n * @param {Object} breakpoints Breakpoints object (e.g. {lg: 1200, md: 960, ...})\n * @param {Number} width Screen width.\n * @return {String} Highest breakpoint that is less than width.\n */\nfunction getBreakpointFromWidth(breakpoints /*: Breakpoints*/, width /*: number*/) /*: Breakpoint*/{\n const sorted = sortBreakpoints(breakpoints);\n let matching = sorted[0];\n for (let i = 1, len = sorted.length; i < len; i++) {\n const breakpointName = sorted[i];\n if (width > breakpoints[breakpointName]) matching = breakpointName;\n }\n return matching;\n}\n\n/**\n * Given a breakpoint, get the # of cols set for it.\n * @param {String} breakpoint Breakpoint name.\n * @param {Object} cols Map of breakpoints to cols.\n * @return {Number} Number of cols.\n */\nfunction getColsFromBreakpoint(breakpoint /*: Breakpoint*/, cols /*: Breakpoints*/) /*: number*/{\n if (!cols[breakpoint]) {\n throw new Error(\"ResponsiveReactGridLayout: `cols` entry for breakpoint \" + breakpoint + \" is missing!\");\n }\n return cols[breakpoint];\n}\n\n/**\n * Given existing layouts and a new breakpoint, find or generate a new layout.\n *\n * This finds the layout above the new one and generates from it, if it exists.\n *\n * @param {Object} layouts Existing layouts.\n * @param {Array} breakpoints All breakpoints.\n * @param {String} breakpoint New breakpoint.\n * @param {String} breakpoint Last breakpoint (for fallback).\n * @param {Number} cols Column count at new breakpoint.\n * @param {Boolean} verticalCompact Whether or not to compact the layout\n * vertically.\n * @return {Array} New layout.\n */\nfunction findOrGenerateResponsiveLayout(layouts /*: ResponsiveLayout*/, breakpoints /*: Breakpoints*/, breakpoint /*: Breakpoint*/, lastBreakpoint /*: Breakpoint*/, cols /*: number*/, compactType /*: CompactType*/) /*: Layout*/{\n // If it already exists, just return it.\n if (layouts[breakpoint]) return (0, _utils.cloneLayout)(layouts[breakpoint]);\n // Find or generate the next layout\n let layout = layouts[lastBreakpoint];\n const breakpointsSorted = sortBreakpoints(breakpoints);\n const breakpointsAbove = breakpointsSorted.slice(breakpointsSorted.indexOf(breakpoint));\n for (let i = 0, len = breakpointsAbove.length; i < len; i++) {\n const b = breakpointsAbove[i];\n if (layouts[b]) {\n layout = layouts[b];\n break;\n }\n }\n layout = (0, _utils.cloneLayout)(layout || []); // clone layout so we don't modify existing items\n return (0, _utils.compact)((0, _utils.correctBounds)(layout, {\n cols: cols\n }), compactType, cols);\n}\n\n/**\n * Given breakpoints, return an array of breakpoints sorted by width. This is usually\n * e.g. ['xxs', 'xs', 'sm', ...]\n *\n * @param {Object} breakpoints Key/value pair of breakpoint names to widths.\n * @return {Array} Sorted breakpoints.\n */\nfunction sortBreakpoints(breakpoints /*: Breakpoints*/) /*: Array*/{\n const keys /*: Array*/ = Object.keys(breakpoints);\n return keys.sort(function (a, b) {\n return breakpoints[a] - breakpoints[b];\n });\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.bottom = bottom;\nexports.childrenEqual = childrenEqual;\nexports.cloneLayout = cloneLayout;\nexports.cloneLayoutItem = cloneLayoutItem;\nexports.collides = collides;\nexports.compact = compact;\nexports.compactItem = compactItem;\nexports.compactType = compactType;\nexports.correctBounds = correctBounds;\nexports.fastPositionEqual = fastPositionEqual;\nexports.fastRGLPropsEqual = void 0;\nexports.getAllCollisions = getAllCollisions;\nexports.getFirstCollision = getFirstCollision;\nexports.getLayoutItem = getLayoutItem;\nexports.getStatics = getStatics;\nexports.modifyLayout = modifyLayout;\nexports.moveElement = moveElement;\nexports.moveElementAwayFromCollision = moveElementAwayFromCollision;\nexports.noop = void 0;\nexports.perc = perc;\nexports.resizeItemInDirection = resizeItemInDirection;\nexports.setTopLeft = setTopLeft;\nexports.setTransform = setTransform;\nexports.sortLayoutItems = sortLayoutItems;\nexports.sortLayoutItemsByColRow = sortLayoutItemsByColRow;\nexports.sortLayoutItemsByRowCol = sortLayoutItemsByRowCol;\nexports.synchronizeLayoutWithChildren = synchronizeLayoutWithChildren;\nexports.validateLayout = validateLayout;\nexports.withLayoutItem = withLayoutItem;\nvar _fastEquals = require(\"fast-equals\");\nvar _react = _interopRequireDefault(require(\"react\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n/*:: import type {\n ChildrenArray as ReactChildrenArray,\n Element as ReactElement\n} from \"react\";*/\n/*:: export type ResizeHandleAxis =\n | \"s\"\n | \"w\"\n | \"e\"\n | \"n\"\n | \"sw\"\n | \"nw\"\n | \"se\"\n | \"ne\";*/\n/*:: export type LayoutItem = {\n w: number,\n h: number,\n x: number,\n y: number,\n i: string,\n minW?: number,\n minH?: number,\n maxW?: number,\n maxH?: number,\n moved?: boolean,\n static?: boolean,\n isDraggable?: ?boolean,\n isResizable?: ?boolean,\n resizeHandles?: Array,\n isBounded?: ?boolean\n};*/\n/*:: export type Layout = $ReadOnlyArray;*/\n/*:: export type Position = {\n left: number,\n top: number,\n width: number,\n height: number\n};*/\n/*:: export type ReactDraggableCallbackData = {\n node: HTMLElement,\n x?: number,\n y?: number,\n deltaX: number,\n deltaY: number,\n lastX?: number,\n lastY?: number\n};*/\n/*:: export type PartialPosition = { left: number, top: number };*/\n/*:: export type DroppingPosition = { left: number, top: number, e: Event };*/\n/*:: export type Size = { width: number, height: number };*/\n/*:: export type GridDragEvent = {\n e: Event,\n node: HTMLElement,\n newPosition: PartialPosition\n};*/\n/*:: export type GridResizeEvent = {\n e: Event,\n node: HTMLElement,\n size: Size,\n handle: string\n};*/\n/*:: export type DragOverEvent = MouseEvent & {\n nativeEvent: {\n layerX: number,\n layerY: number,\n ...Event\n }\n};*/\n/*:: export type Pick = $Exact<\n $ObjMapi(k: K, v: V) => $ElementType>\n>;*/\n// Helpful port from TS\n/*:: type REl = ReactElement;*/\n/*:: export type ReactChildren = ReactChildrenArray;*/\n/*:: export type EventCallback = (\n Layout,\n oldItem: ?LayoutItem,\n newItem: ?LayoutItem,\n placeholder: ?LayoutItem,\n Event,\n ?HTMLElement\n) => void;*/\n// All callbacks are of the signature (layout, oldItem, newItem, placeholder, e).\n/*:: export type CompactType = ?(\"horizontal\" | \"vertical\");*/\nconst isProduction = process.env.NODE_ENV === \"production\";\nconst DEBUG = false;\n\n/**\n * Return the bottom coordinate of the layout.\n *\n * @param {Array} layout Layout array.\n * @return {Number} Bottom coordinate.\n */\nfunction bottom(layout /*: Layout*/) /*: number*/{\n let max = 0,\n bottomY;\n for (let i = 0, len = layout.length; i < len; i++) {\n bottomY = layout[i].y + layout[i].h;\n if (bottomY > max) max = bottomY;\n }\n return max;\n}\nfunction cloneLayout(layout /*: Layout*/) /*: Layout*/{\n const newLayout = Array(layout.length);\n for (let i = 0, len = layout.length; i < len; i++) {\n newLayout[i] = cloneLayoutItem(layout[i]);\n }\n return newLayout;\n}\n\n// Modify a layoutItem inside a layout. Returns a new Layout,\n// does not mutate. Carries over all other LayoutItems unmodified.\nfunction modifyLayout(layout /*: Layout*/, layoutItem /*: LayoutItem*/) /*: Layout*/{\n const newLayout = Array(layout.length);\n for (let i = 0, len = layout.length; i < len; i++) {\n if (layoutItem.i === layout[i].i) {\n newLayout[i] = layoutItem;\n } else {\n newLayout[i] = layout[i];\n }\n }\n return newLayout;\n}\n\n// Function to be called to modify a layout item.\n// Does defensive clones to ensure the layout is not modified.\nfunction withLayoutItem(layout /*: Layout*/, itemKey /*: string*/, cb /*: LayoutItem => LayoutItem*/) /*: [Layout, ?LayoutItem]*/{\n let item = getLayoutItem(layout, itemKey);\n if (!item) return [layout, null];\n item = cb(cloneLayoutItem(item)); // defensive clone then modify\n // FIXME could do this faster if we already knew the index\n layout = modifyLayout(layout, item);\n return [layout, item];\n}\n\n// Fast path to cloning, since this is monomorphic\nfunction cloneLayoutItem(layoutItem /*: LayoutItem*/) /*: LayoutItem*/{\n return {\n w: layoutItem.w,\n h: layoutItem.h,\n x: layoutItem.x,\n y: layoutItem.y,\n i: layoutItem.i,\n minW: layoutItem.minW,\n maxW: layoutItem.maxW,\n minH: layoutItem.minH,\n maxH: layoutItem.maxH,\n moved: Boolean(layoutItem.moved),\n static: Boolean(layoutItem.static),\n // These can be null/undefined\n isDraggable: layoutItem.isDraggable,\n isResizable: layoutItem.isResizable,\n resizeHandles: layoutItem.resizeHandles,\n isBounded: layoutItem.isBounded\n };\n}\n\n/**\n * Comparing React `children` is a bit difficult. This is a good way to compare them.\n * This will catch differences in keys, order, and length.\n */\nfunction childrenEqual(a /*: ReactChildren*/, b /*: ReactChildren*/) /*: boolean*/{\n return (0, _fastEquals.deepEqual)(_react.default.Children.map(a, c => c?.key), _react.default.Children.map(b, c => c?.key)) && (0, _fastEquals.deepEqual)(_react.default.Children.map(a, c => c?.props[\"data-grid\"]), _react.default.Children.map(b, c => c?.props[\"data-grid\"]));\n}\n\n/**\n * See `fastRGLPropsEqual.js`.\n * We want this to run as fast as possible - it is called often - and to be\n * resilient to new props that we add. So rather than call lodash.isEqual,\n * which isn't suited to comparing props very well, we use this specialized\n * function in conjunction with preval to generate the fastest possible comparison\n * function, tuned for exactly our props.\n */\n/*:: type FastRGLPropsEqual = (Object, Object, Function) => boolean;*/\nconst fastRGLPropsEqual /*: FastRGLPropsEqual*/ = exports.fastRGLPropsEqual = require(\"./fastRGLPropsEqual\");\n\n// Like the above, but a lot simpler.\nfunction fastPositionEqual(a /*: Position*/, b /*: Position*/) /*: boolean*/{\n return a.left === b.left && a.top === b.top && a.width === b.width && a.height === b.height;\n}\n\n/**\n * Given two layoutitems, check if they collide.\n */\nfunction collides(l1 /*: LayoutItem*/, l2 /*: LayoutItem*/) /*: boolean*/{\n if (l1.i === l2.i) return false; // same element\n if (l1.x + l1.w <= l2.x) return false; // l1 is left of l2\n if (l1.x >= l2.x + l2.w) return false; // l1 is right of l2\n if (l1.y + l1.h <= l2.y) return false; // l1 is above l2\n if (l1.y >= l2.y + l2.h) return false; // l1 is below l2\n return true; // boxes overlap\n}\n\n/**\n * Given a layout, compact it. This involves going down each y coordinate and removing gaps\n * between items.\n *\n * Does not modify layout items (clones). Creates a new layout array.\n *\n * @param {Array} layout Layout.\n * @param {Boolean} verticalCompact Whether or not to compact the layout\n * vertically.\n * @param {Boolean} allowOverlap When `true`, allows overlapping grid items.\n * @return {Array} Compacted Layout.\n */\nfunction compact(layout /*: Layout*/, compactType /*: CompactType*/, cols /*: number*/, allowOverlap /*: ?boolean*/) /*: Layout*/{\n // Statics go in the compareWith array right away so items flow around them.\n const compareWith = getStatics(layout);\n // We go through the items by row and column.\n const sorted = sortLayoutItems(layout, compactType);\n // Holding for new items.\n const out = Array(layout.length);\n for (let i = 0, len = sorted.length; i < len; i++) {\n let l = cloneLayoutItem(sorted[i]);\n\n // Don't move static elements\n if (!l.static) {\n l = compactItem(compareWith, l, compactType, cols, sorted, allowOverlap);\n\n // Add to comparison array. We only collide with items before this one.\n // Statics are already in this array.\n compareWith.push(l);\n }\n\n // Add to output array to make sure they still come out in the right order.\n out[layout.indexOf(sorted[i])] = l;\n\n // Clear moved flag, if it exists.\n l.moved = false;\n }\n return out;\n}\nconst heightWidth = {\n x: \"w\",\n y: \"h\"\n};\n/**\n * Before moving item down, it will check if the movement will cause collisions and move those items down before.\n */\nfunction resolveCompactionCollision(layout /*: Layout*/, item /*: LayoutItem*/, moveToCoord /*: number*/, axis /*: \"x\" | \"y\"*/) {\n const sizeProp = heightWidth[axis];\n item[axis] += 1;\n const itemIndex = layout.map(layoutItem => {\n return layoutItem.i;\n }).indexOf(item.i);\n\n // Go through each item we collide with.\n for (let i = itemIndex + 1; i < layout.length; i++) {\n const otherItem = layout[i];\n // Ignore static items\n if (otherItem.static) continue;\n\n // Optimization: we can break early if we know we're past this el\n // We can do this b/c it's a sorted layout\n if (otherItem.y > item.y + item.h) break;\n if (collides(item, otherItem)) {\n resolveCompactionCollision(layout, otherItem, moveToCoord + item[sizeProp], axis);\n }\n }\n item[axis] = moveToCoord;\n}\n\n/**\n * Compact an item in the layout.\n *\n * Modifies item.\n *\n */\nfunction compactItem(compareWith /*: Layout*/, l /*: LayoutItem*/, compactType /*: CompactType*/, cols /*: number*/, fullLayout /*: Layout*/, allowOverlap /*: ?boolean*/) /*: LayoutItem*/{\n const compactV = compactType === \"vertical\";\n const compactH = compactType === \"horizontal\";\n if (compactV) {\n // Bottom 'y' possible is the bottom of the layout.\n // This allows you to do nice stuff like specify {y: Infinity}\n // This is here because the layout must be sorted in order to get the correct bottom `y`.\n l.y = Math.min(bottom(compareWith), l.y);\n // Move the element up as far as it can go without colliding.\n while (l.y > 0 && !getFirstCollision(compareWith, l)) {\n l.y--;\n }\n } else if (compactH) {\n // Move the element left as far as it can go without colliding.\n while (l.x > 0 && !getFirstCollision(compareWith, l)) {\n l.x--;\n }\n }\n\n // Move it down, and keep moving it down if it's colliding.\n let collides;\n // Checking the compactType null value to avoid breaking the layout when overlapping is allowed.\n while ((collides = getFirstCollision(compareWith, l)) && !(compactType === null && allowOverlap)) {\n if (compactH) {\n resolveCompactionCollision(fullLayout, l, collides.x + collides.w, \"x\");\n } else {\n resolveCompactionCollision(fullLayout, l, collides.y + collides.h, \"y\");\n }\n // Since we can't grow without bounds horizontally, if we've overflown, let's move it down and try again.\n if (compactH && l.x + l.w > cols) {\n l.x = cols - l.w;\n l.y++;\n // ALso move element as left as we can\n while (l.x > 0 && !getFirstCollision(compareWith, l)) {\n l.x--;\n }\n }\n }\n\n // Ensure that there are no negative positions\n l.y = Math.max(l.y, 0);\n l.x = Math.max(l.x, 0);\n return l;\n}\n\n/**\n * Given a layout, make sure all elements fit within its bounds.\n *\n * Modifies layout items.\n *\n * @param {Array} layout Layout array.\n * @param {Number} bounds Number of columns.\n */\nfunction correctBounds(layout /*: Layout*/, bounds /*: { cols: number }*/) /*: Layout*/{\n const collidesWith = getStatics(layout);\n for (let i = 0, len = layout.length; i < len; i++) {\n const l = layout[i];\n // Overflows right\n if (l.x + l.w > bounds.cols) l.x = bounds.cols - l.w;\n // Overflows left\n if (l.x < 0) {\n l.x = 0;\n l.w = bounds.cols;\n }\n if (!l.static) collidesWith.push(l);else {\n // If this is static and collides with other statics, we must move it down.\n // We have to do something nicer than just letting them overlap.\n while (getFirstCollision(collidesWith, l)) {\n l.y++;\n }\n }\n }\n return layout;\n}\n\n/**\n * Get a layout item by ID. Used so we can override later on if necessary.\n *\n * @param {Array} layout Layout array.\n * @param {String} id ID\n * @return {LayoutItem} Item at ID.\n */\nfunction getLayoutItem(layout /*: Layout*/, id /*: string*/) /*: ?LayoutItem*/{\n for (let i = 0, len = layout.length; i < len; i++) {\n if (layout[i].i === id) return layout[i];\n }\n}\n\n/**\n * Returns the first item this layout collides with.\n * It doesn't appear to matter which order we approach this from, although\n * perhaps that is the wrong thing to do.\n *\n * @param {Object} layoutItem Layout item.\n * @return {Object|undefined} A colliding layout item, or undefined.\n */\nfunction getFirstCollision(layout /*: Layout*/, layoutItem /*: LayoutItem*/) /*: ?LayoutItem*/{\n for (let i = 0, len = layout.length; i < len; i++) {\n if (collides(layout[i], layoutItem)) return layout[i];\n }\n}\nfunction getAllCollisions(layout /*: Layout*/, layoutItem /*: LayoutItem*/) /*: Array*/{\n return layout.filter(l => collides(l, layoutItem));\n}\n\n/**\n * Get all static elements.\n * @param {Array} layout Array of layout objects.\n * @return {Array} Array of static layout items..\n */\nfunction getStatics(layout /*: Layout*/) /*: Array*/{\n return layout.filter(l => l.static);\n}\n\n/**\n * Move an element. Responsible for doing cascading movements of other elements.\n *\n * Modifies layout items.\n *\n * @param {Array} layout Full layout to modify.\n * @param {LayoutItem} l element to move.\n * @param {Number} [x] X position in grid units.\n * @param {Number} [y] Y position in grid units.\n */\nfunction moveElement(layout /*: Layout*/, l /*: LayoutItem*/, x /*: ?number*/, y /*: ?number*/, isUserAction /*: ?boolean*/, preventCollision /*: ?boolean*/, compactType /*: CompactType*/, cols /*: number*/, allowOverlap /*: ?boolean*/) /*: Layout*/{\n // If this is static and not explicitly enabled as draggable,\n // no move is possible, so we can short-circuit this immediately.\n if (l.static && l.isDraggable !== true) return layout;\n\n // Short-circuit if nothing to do.\n if (l.y === y && l.x === x) return layout;\n log(`Moving element ${l.i} to [${String(x)},${String(y)}] from [${l.x},${l.y}]`);\n const oldX = l.x;\n const oldY = l.y;\n\n // This is quite a bit faster than extending the object\n if (typeof x === \"number\") l.x = x;\n if (typeof y === \"number\") l.y = y;\n l.moved = true;\n\n // If this collides with anything, move it.\n // When doing this comparison, we have to sort the items we compare with\n // to ensure, in the case of multiple collisions, that we're getting the\n // nearest collision.\n let sorted = sortLayoutItems(layout, compactType);\n const movingUp = compactType === \"vertical\" && typeof y === \"number\" ? oldY >= y : compactType === \"horizontal\" && typeof x === \"number\" ? oldX >= x : false;\n // $FlowIgnore acceptable modification of read-only array as it was recently cloned\n if (movingUp) sorted = sorted.reverse();\n const collisions = getAllCollisions(sorted, l);\n const hasCollisions = collisions.length > 0;\n\n // We may have collisions. We can short-circuit if we've turned off collisions or\n // allowed overlap.\n if (hasCollisions && allowOverlap) {\n // Easy, we don't need to resolve collisions. But we *did* change the layout,\n // so clone it on the way out.\n return cloneLayout(layout);\n } else if (hasCollisions && preventCollision) {\n // If we are preventing collision but not allowing overlap, we need to\n // revert the position of this element so it goes to where it came from, rather\n // than the user's desired location.\n log(`Collision prevented on ${l.i}, reverting.`);\n l.x = oldX;\n l.y = oldY;\n l.moved = false;\n return layout; // did not change so don't clone\n }\n\n // Move each item that collides away from this element.\n for (let i = 0, len = collisions.length; i < len; i++) {\n const collision = collisions[i];\n log(`Resolving collision between ${l.i} at [${l.x},${l.y}] and ${collision.i} at [${collision.x},${collision.y}]`);\n\n // Short circuit so we can't infinite loop\n if (collision.moved) continue;\n\n // Don't move static items - we have to move *this* element away\n if (collision.static) {\n layout = moveElementAwayFromCollision(layout, collision, l, isUserAction, compactType, cols);\n } else {\n layout = moveElementAwayFromCollision(layout, l, collision, isUserAction, compactType, cols);\n }\n }\n return layout;\n}\n\n/**\n * This is where the magic needs to happen - given a collision, move an element away from the collision.\n * We attempt to move it up if there's room, otherwise it goes below.\n *\n * @param {Array} layout Full layout to modify.\n * @param {LayoutItem} collidesWith Layout item we're colliding with.\n * @param {LayoutItem} itemToMove Layout item we're moving.\n */\nfunction moveElementAwayFromCollision(layout /*: Layout*/, collidesWith /*: LayoutItem*/, itemToMove /*: LayoutItem*/, isUserAction /*: ?boolean*/, compactType /*: CompactType*/, cols /*: number*/) /*: Layout*/{\n const compactH = compactType === \"horizontal\";\n // Compact vertically if not set to horizontal\n const compactV = compactType === \"vertical\";\n const preventCollision = collidesWith.static; // we're already colliding (not for static items)\n\n // If there is enough space above the collision to put this element, move it there.\n // We only do this on the main collision as this can get funky in cascades and cause\n // unwanted swapping behavior.\n if (isUserAction) {\n // Reset isUserAction flag because we're not in the main collision anymore.\n isUserAction = false;\n\n // Make a mock item so we don't modify the item here, only modify in moveElement.\n const fakeItem /*: LayoutItem*/ = {\n x: compactH ? Math.max(collidesWith.x - itemToMove.w, 0) : itemToMove.x,\n y: compactV ? Math.max(collidesWith.y - itemToMove.h, 0) : itemToMove.y,\n w: itemToMove.w,\n h: itemToMove.h,\n i: \"-1\"\n };\n const firstCollision = getFirstCollision(layout, fakeItem);\n const collisionNorth = firstCollision && firstCollision.y + firstCollision.h > collidesWith.y;\n const collisionWest = firstCollision && collidesWith.x + collidesWith.w > firstCollision.x;\n\n // No collision? If so, we can go up there; otherwise, we'll end up moving down as normal\n if (!firstCollision) {\n log(`Doing reverse collision on ${itemToMove.i} up to [${fakeItem.x},${fakeItem.y}].`);\n return moveElement(layout, itemToMove, compactH ? fakeItem.x : undefined, compactV ? fakeItem.y : undefined, isUserAction, preventCollision, compactType, cols);\n } else if (collisionNorth && compactV) {\n return moveElement(layout, itemToMove, undefined, collidesWith.y + 1, isUserAction, preventCollision, compactType, cols);\n } else if (collisionNorth && compactType == null) {\n collidesWith.y = itemToMove.y;\n itemToMove.y = itemToMove.y + itemToMove.h;\n return layout;\n } else if (collisionWest && compactH) {\n return moveElement(layout, collidesWith, itemToMove.x, undefined, isUserAction, preventCollision, compactType, cols);\n }\n }\n const newX = compactH ? itemToMove.x + 1 : undefined;\n const newY = compactV ? itemToMove.y + 1 : undefined;\n if (newX == null && newY == null) {\n return layout;\n }\n return moveElement(layout, itemToMove, compactH ? itemToMove.x + 1 : undefined, compactV ? itemToMove.y + 1 : undefined, isUserAction, preventCollision, compactType, cols);\n}\n\n/**\n * Helper to convert a number to a percentage string.\n *\n * @param {Number} num Any number\n * @return {String} That number as a percentage.\n */\nfunction perc(num /*: number*/) /*: string*/{\n return num * 100 + \"%\";\n}\n\n/**\n * Helper functions to constrain dimensions of a GridItem\n */\nconst constrainWidth = (left /*: number*/, currentWidth /*: number*/, newWidth /*: number*/, containerWidth /*: number*/) => {\n return left + newWidth > containerWidth ? currentWidth : newWidth;\n};\nconst constrainHeight = (top /*: number*/, currentHeight /*: number*/, newHeight /*: number*/) => {\n return top < 0 ? currentHeight : newHeight;\n};\nconst constrainLeft = (left /*: number*/) => Math.max(0, left);\nconst constrainTop = (top /*: number*/) => Math.max(0, top);\nconst resizeNorth = (currentSize, _ref, _containerWidth) => {\n let {\n left,\n height,\n width\n } = _ref;\n const top = currentSize.top - (height - currentSize.height);\n return {\n left,\n width,\n height: constrainHeight(top, currentSize.height, height),\n top: constrainTop(top)\n };\n};\nconst resizeEast = (currentSize, _ref2, containerWidth) => {\n let {\n top,\n left,\n height,\n width\n } = _ref2;\n return {\n top,\n height,\n width: constrainWidth(currentSize.left, currentSize.width, width, containerWidth),\n left: constrainLeft(left)\n };\n};\nconst resizeWest = (currentSize, _ref3, containerWidth) => {\n let {\n top,\n height,\n width\n } = _ref3;\n const left = currentSize.left - (width - currentSize.width);\n return {\n height,\n width: left < 0 ? currentSize.width : constrainWidth(currentSize.left, currentSize.width, width, containerWidth),\n top: constrainTop(top),\n left: constrainLeft(left)\n };\n};\nconst resizeSouth = (currentSize, _ref4, containerWidth) => {\n let {\n top,\n left,\n height,\n width\n } = _ref4;\n return {\n width,\n left,\n height: constrainHeight(top, currentSize.height, height),\n top: constrainTop(top)\n };\n};\nconst resizeNorthEast = function () {\n return resizeNorth(arguments.length <= 0 ? undefined : arguments[0], resizeEast(...arguments), arguments.length <= 2 ? undefined : arguments[2]);\n};\nconst resizeNorthWest = function () {\n return resizeNorth(arguments.length <= 0 ? undefined : arguments[0], resizeWest(...arguments), arguments.length <= 2 ? undefined : arguments[2]);\n};\nconst resizeSouthEast = function () {\n return resizeSouth(arguments.length <= 0 ? undefined : arguments[0], resizeEast(...arguments), arguments.length <= 2 ? undefined : arguments[2]);\n};\nconst resizeSouthWest = function () {\n return resizeSouth(arguments.length <= 0 ? undefined : arguments[0], resizeWest(...arguments), arguments.length <= 2 ? undefined : arguments[2]);\n};\nconst ordinalResizeHandlerMap = {\n n: resizeNorth,\n ne: resizeNorthEast,\n e: resizeEast,\n se: resizeSouthEast,\n s: resizeSouth,\n sw: resizeSouthWest,\n w: resizeWest,\n nw: resizeNorthWest\n};\n\n/**\n * Helper for clamping width and position when resizing an item.\n */\nfunction resizeItemInDirection(direction /*: ResizeHandleAxis*/, currentSize /*: Position*/, newSize /*: Position*/, containerWidth /*: number*/) /*: Position*/{\n const ordinalHandler = ordinalResizeHandlerMap[direction];\n // Shouldn't be possible given types; that said, don't fail hard\n if (!ordinalHandler) return newSize;\n return ordinalHandler(currentSize, {\n ...currentSize,\n ...newSize\n }, containerWidth);\n}\nfunction setTransform(_ref5 /*:: */) /*: Object*/{\n let {\n top,\n left,\n width,\n height\n } /*: Position*/ = _ref5 /*: Position*/;\n // Replace unitless items with px\n const translate = `translate(${left}px,${top}px)`;\n return {\n transform: translate,\n WebkitTransform: translate,\n MozTransform: translate,\n msTransform: translate,\n OTransform: translate,\n width: `${width}px`,\n height: `${height}px`,\n position: \"absolute\"\n };\n}\nfunction setTopLeft(_ref6 /*:: */) /*: Object*/{\n let {\n top,\n left,\n width,\n height\n } /*: Position*/ = _ref6 /*: Position*/;\n return {\n top: `${top}px`,\n left: `${left}px`,\n width: `${width}px`,\n height: `${height}px`,\n position: \"absolute\"\n };\n}\n\n/**\n * Get layout items sorted from top left to right and down.\n *\n * @return {Array} Array of layout objects.\n * @return {Array} Layout, sorted static items first.\n */\nfunction sortLayoutItems(layout /*: Layout*/, compactType /*: CompactType*/) /*: Layout*/{\n if (compactType === \"horizontal\") return sortLayoutItemsByColRow(layout);\n if (compactType === \"vertical\") return sortLayoutItemsByRowCol(layout);else return layout;\n}\n\n/**\n * Sort layout items by row ascending and column ascending.\n *\n * Does not modify Layout.\n */\nfunction sortLayoutItemsByRowCol(layout /*: Layout*/) /*: Layout*/{\n // Slice to clone array as sort modifies\n return layout.slice(0).sort(function (a, b) {\n if (a.y > b.y || a.y === b.y && a.x > b.x) {\n return 1;\n } else if (a.y === b.y && a.x === b.x) {\n // Without this, we can get different sort results in IE vs. Chrome/FF\n return 0;\n }\n return -1;\n });\n}\n\n/**\n * Sort layout items by column ascending then row ascending.\n *\n * Does not modify Layout.\n */\nfunction sortLayoutItemsByColRow(layout /*: Layout*/) /*: Layout*/{\n return layout.slice(0).sort(function (a, b) {\n if (a.x > b.x || a.x === b.x && a.y > b.y) {\n return 1;\n }\n return -1;\n });\n}\n\n/**\n * Generate a layout using the initialLayout and children as a template.\n * Missing entries will be added, extraneous ones will be truncated.\n *\n * Does not modify initialLayout.\n *\n * @param {Array} initialLayout Layout passed in through props.\n * @param {String} breakpoint Current responsive breakpoint.\n * @param {?String} compact Compaction option.\n * @return {Array} Working layout.\n */\nfunction synchronizeLayoutWithChildren(initialLayout /*: Layout*/, children /*: ReactChildren*/, cols /*: number*/, compactType /*: CompactType*/, allowOverlap /*: ?boolean*/) /*: Layout*/{\n initialLayout = initialLayout || [];\n\n // Generate one layout item per child.\n const layout /*: LayoutItem[]*/ = [];\n _react.default.Children.forEach(children, (child /*: ReactElement*/) => {\n // Child may not exist\n if (child?.key == null) return;\n const exists = getLayoutItem(initialLayout, String(child.key));\n const g = child.props[\"data-grid\"];\n // Don't overwrite the layout item if it's already in the initial layout.\n // If it has a `data-grid` property, prefer that over what's in the layout.\n if (exists && g == null) {\n layout.push(cloneLayoutItem(exists));\n } else {\n // Hey, this item has a data-grid property, use it.\n if (g) {\n if (!isProduction) {\n validateLayout([g], \"ReactGridLayout.children\");\n }\n // FIXME clone not really necessary here\n layout.push(cloneLayoutItem({\n ...g,\n i: child.key\n }));\n } else {\n // Nothing provided: ensure this is added to the bottom\n // FIXME clone not really necessary here\n layout.push(cloneLayoutItem({\n w: 1,\n h: 1,\n x: 0,\n y: bottom(layout),\n i: String(child.key)\n }));\n }\n }\n });\n\n // Correct the layout.\n const correctedLayout = correctBounds(layout, {\n cols: cols\n });\n return allowOverlap ? correctedLayout : compact(correctedLayout, compactType, cols);\n}\n\n/**\n * Validate a layout. Throws errors.\n *\n * @param {Array} layout Array of layout items.\n * @param {String} [contextName] Context name for errors.\n * @throw {Error} Validation error.\n */\nfunction validateLayout(layout /*: Layout*/) /*: void*/{\n let contextName /*: string*/ = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"Layout\";\n const subProps = [\"x\", \"y\", \"w\", \"h\"];\n if (!Array.isArray(layout)) throw new Error(contextName + \" must be an array!\");\n for (let i = 0, len = layout.length; i < len; i++) {\n const item = layout[i];\n for (let j = 0; j < subProps.length; j++) {\n if (typeof item[subProps[j]] !== \"number\") {\n throw new Error(\"ReactGridLayout: \" + contextName + \"[\" + i + \"].\" + subProps[j] + \" must be a number!\");\n }\n }\n }\n}\n\n// Legacy support for verticalCompact: false\nfunction compactType(props /*: ?{ verticalCompact: boolean, compactType: CompactType }*/) /*: CompactType*/{\n const {\n verticalCompact,\n compactType\n } = props || {};\n return verticalCompact === false ? null : compactType;\n}\nfunction log() {\n if (!DEBUG) return;\n // eslint-disable-next-line no-console\n console.log(...arguments);\n}\nconst noop = () => {};\nexports.noop = noop;","module.exports = require(\"./build/ReactGridLayout\").default;\nmodule.exports.utils = require(\"./build/utils\");\nmodule.exports.calculateUtils = require(\"./build/calculateUtils\");\nmodule.exports.Responsive =\n require(\"./build/ResponsiveReactGridLayout\").default;\nmodule.exports.Responsive.utils = require(\"./build/responsiveUtils\");\nmodule.exports.WidthProvider =\n require(\"./build/components/WidthProvider\").default;\n","function r(e){var o,t,f=\"\";if(\"string\"==typeof e||\"number\"==typeof e)f+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var n=e.length;for(o=0;o= 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; }\n\nvar sizerStyle = {\n\tposition: 'absolute',\n\ttop: 0,\n\tleft: 0,\n\tvisibility: 'hidden',\n\theight: 0,\n\toverflow: 'scroll',\n\twhiteSpace: 'pre'\n};\n\nvar INPUT_PROPS_BLACKLIST = ['extraWidth', 'injectStyles', 'inputClassName', 'inputRef', 'inputStyle', 'minWidth', 'onAutosize', 'placeholderIsMinWidth'];\n\nvar cleanInputProps = function cleanInputProps(inputProps) {\n\tINPUT_PROPS_BLACKLIST.forEach(function (field) {\n\t\treturn delete inputProps[field];\n\t});\n\treturn inputProps;\n};\n\nvar copyStyles = function copyStyles(styles, node) {\n\tnode.style.fontSize = styles.fontSize;\n\tnode.style.fontFamily = styles.fontFamily;\n\tnode.style.fontWeight = styles.fontWeight;\n\tnode.style.fontStyle = styles.fontStyle;\n\tnode.style.letterSpacing = styles.letterSpacing;\n\tnode.style.textTransform = styles.textTransform;\n};\n\nvar isIE = typeof window !== 'undefined' && window.navigator ? /MSIE |Trident\\/|Edge\\//.test(window.navigator.userAgent) : false;\n\nvar generateId = function generateId() {\n\t// we only need an auto-generated ID for stylesheet injection, which is only\n\t// used for IE. so if the browser is not IE, this should return undefined.\n\treturn isIE ? '_' + Math.random().toString(36).substr(2, 12) : undefined;\n};\n\nvar AutosizeInput = function (_Component) {\n\t_inherits(AutosizeInput, _Component);\n\n\t_createClass(AutosizeInput, null, [{\n\t\tkey: 'getDerivedStateFromProps',\n\t\tvalue: function getDerivedStateFromProps(props, state) {\n\t\t\tvar id = props.id;\n\n\t\t\treturn id !== state.prevId ? { inputId: id || generateId(), prevId: id } : null;\n\t\t}\n\t}]);\n\n\tfunction AutosizeInput(props) {\n\t\t_classCallCheck(this, AutosizeInput);\n\n\t\tvar _this = _possibleConstructorReturn(this, (AutosizeInput.__proto__ || Object.getPrototypeOf(AutosizeInput)).call(this, props));\n\n\t\t_this.inputRef = function (el) {\n\t\t\t_this.input = el;\n\t\t\tif (typeof _this.props.inputRef === 'function') {\n\t\t\t\t_this.props.inputRef(el);\n\t\t\t}\n\t\t};\n\n\t\t_this.placeHolderSizerRef = function (el) {\n\t\t\t_this.placeHolderSizer = el;\n\t\t};\n\n\t\t_this.sizerRef = function (el) {\n\t\t\t_this.sizer = el;\n\t\t};\n\n\t\t_this.state = {\n\t\t\tinputWidth: props.minWidth,\n\t\t\tinputId: props.id || generateId(),\n\t\t\tprevId: props.id\n\t\t};\n\t\treturn _this;\n\t}\n\n\t_createClass(AutosizeInput, [{\n\t\tkey: 'componentDidMount',\n\t\tvalue: function componentDidMount() {\n\t\t\tthis.mounted = true;\n\t\t\tthis.copyInputStyles();\n\t\t\tthis.updateInputWidth();\n\t\t}\n\t}, {\n\t\tkey: 'componentDidUpdate',\n\t\tvalue: function componentDidUpdate(prevProps, prevState) {\n\t\t\tif (prevState.inputWidth !== this.state.inputWidth) {\n\t\t\t\tif (typeof this.props.onAutosize === 'function') {\n\t\t\t\t\tthis.props.onAutosize(this.state.inputWidth);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.updateInputWidth();\n\t\t}\n\t}, {\n\t\tkey: 'componentWillUnmount',\n\t\tvalue: function componentWillUnmount() {\n\t\t\tthis.mounted = false;\n\t\t}\n\t}, {\n\t\tkey: 'copyInputStyles',\n\t\tvalue: function copyInputStyles() {\n\t\t\tif (!this.mounted || !window.getComputedStyle) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar inputStyles = this.input && window.getComputedStyle(this.input);\n\t\t\tif (!inputStyles) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tcopyStyles(inputStyles, this.sizer);\n\t\t\tif (this.placeHolderSizer) {\n\t\t\t\tcopyStyles(inputStyles, this.placeHolderSizer);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'updateInputWidth',\n\t\tvalue: function updateInputWidth() {\n\t\t\tif (!this.mounted || !this.sizer || typeof this.sizer.scrollWidth === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar newInputWidth = void 0;\n\t\t\tif (this.props.placeholder && (!this.props.value || this.props.value && this.props.placeholderIsMinWidth)) {\n\t\t\t\tnewInputWidth = Math.max(this.sizer.scrollWidth, this.placeHolderSizer.scrollWidth) + 2;\n\t\t\t} else {\n\t\t\t\tnewInputWidth = this.sizer.scrollWidth + 2;\n\t\t\t}\n\t\t\t// add extraWidth to the detected width. for number types, this defaults to 16 to allow for the stepper UI\n\t\t\tvar extraWidth = this.props.type === 'number' && this.props.extraWidth === undefined ? 16 : parseInt(this.props.extraWidth) || 0;\n\t\t\tnewInputWidth += extraWidth;\n\t\t\tif (newInputWidth < this.props.minWidth) {\n\t\t\t\tnewInputWidth = this.props.minWidth;\n\t\t\t}\n\t\t\tif (newInputWidth !== this.state.inputWidth) {\n\t\t\t\tthis.setState({\n\t\t\t\t\tinputWidth: newInputWidth\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'getInput',\n\t\tvalue: function getInput() {\n\t\t\treturn this.input;\n\t\t}\n\t}, {\n\t\tkey: 'focus',\n\t\tvalue: function focus() {\n\t\t\tthis.input.focus();\n\t\t}\n\t}, {\n\t\tkey: 'blur',\n\t\tvalue: function blur() {\n\t\t\tthis.input.blur();\n\t\t}\n\t}, {\n\t\tkey: 'select',\n\t\tvalue: function select() {\n\t\t\tthis.input.select();\n\t\t}\n\t}, {\n\t\tkey: 'renderStyles',\n\t\tvalue: function renderStyles() {\n\t\t\t// this method injects styles to hide IE's clear indicator, which messes\n\t\t\t// with input size detection. the stylesheet is only injected when the\n\t\t\t// browser is IE, and can also be disabled by the `injectStyles` prop.\n\t\t\tvar injectStyles = this.props.injectStyles;\n\n\t\t\treturn isIE && injectStyles ? _react2.default.createElement('style', { dangerouslySetInnerHTML: {\n\t\t\t\t\t__html: 'input#' + this.state.inputId + '::-ms-clear {display: none;}'\n\t\t\t\t} }) : null;\n\t\t}\n\t}, {\n\t\tkey: 'render',\n\t\tvalue: function render() {\n\t\t\tvar sizerValue = [this.props.defaultValue, this.props.value, ''].reduce(function (previousValue, currentValue) {\n\t\t\t\tif (previousValue !== null && previousValue !== undefined) {\n\t\t\t\t\treturn previousValue;\n\t\t\t\t}\n\t\t\t\treturn currentValue;\n\t\t\t});\n\n\t\t\tvar wrapperStyle = _extends({}, this.props.style);\n\t\t\tif (!wrapperStyle.display) wrapperStyle.display = 'inline-block';\n\n\t\t\tvar inputStyle = _extends({\n\t\t\t\tboxSizing: 'content-box',\n\t\t\t\twidth: this.state.inputWidth + 'px'\n\t\t\t}, this.props.inputStyle);\n\n\t\t\tvar inputProps = _objectWithoutProperties(this.props, []);\n\n\t\t\tcleanInputProps(inputProps);\n\t\t\tinputProps.className = this.props.inputClassName;\n\t\t\tinputProps.id = this.state.inputId;\n\t\t\tinputProps.style = inputStyle;\n\n\t\t\treturn _react2.default.createElement(\n\t\t\t\t'div',\n\t\t\t\t{ className: this.props.className, style: wrapperStyle },\n\t\t\t\tthis.renderStyles(),\n\t\t\t\t_react2.default.createElement('input', _extends({}, inputProps, { ref: this.inputRef })),\n\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t'div',\n\t\t\t\t\t{ ref: this.sizerRef, style: sizerStyle },\n\t\t\t\t\tsizerValue\n\t\t\t\t),\n\t\t\t\tthis.props.placeholder ? _react2.default.createElement(\n\t\t\t\t\t'div',\n\t\t\t\t\t{ ref: this.placeHolderSizerRef, style: sizerStyle },\n\t\t\t\t\tthis.props.placeholder\n\t\t\t\t) : null\n\t\t\t);\n\t\t}\n\t}]);\n\n\treturn AutosizeInput;\n}(_react.Component);\n\nAutosizeInput.propTypes = {\n\tclassName: _propTypes2.default.string, // className for the outer element\n\tdefaultValue: _propTypes2.default.any, // default field value\n\textraWidth: _propTypes2.default.oneOfType([// additional width for input element\n\t_propTypes2.default.number, _propTypes2.default.string]),\n\tid: _propTypes2.default.string, // id to use for the input, can be set for consistent snapshots\n\tinjectStyles: _propTypes2.default.bool, // inject the custom stylesheet to hide clear UI, defaults to true\n\tinputClassName: _propTypes2.default.string, // className for the input element\n\tinputRef: _propTypes2.default.func, // ref callback for the input element\n\tinputStyle: _propTypes2.default.object, // css styles for the input element\n\tminWidth: _propTypes2.default.oneOfType([// minimum width for input element\n\t_propTypes2.default.number, _propTypes2.default.string]),\n\tonAutosize: _propTypes2.default.func, // onAutosize handler: function(newWidth) {}\n\tonChange: _propTypes2.default.func, // onChange handler: function(event) {}\n\tplaceholder: _propTypes2.default.string, // placeholder text\n\tplaceholderIsMinWidth: _propTypes2.default.bool, // don't collapse size to less than the placeholder\n\tstyle: _propTypes2.default.object, // css styles for the outer element\n\tvalue: _propTypes2.default.any // field value\n};\nAutosizeInput.defaultProps = {\n\tminWidth: 1,\n\tinjectStyles: true\n};\n\nexports.default = AutosizeInput;","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","import {createElement,Component}from'react';import {findDOMNode}from'react-dom';function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n\n _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _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 _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}/**\n * Check whether some DOM node is our Component's node.\n */\nfunction isNodeFound(current, componentNode, ignoreClass) {\n if (current === componentNode) {\n return true;\n } // SVG elements do not technically reside in the rendered DOM, so\n // they do not have classList directly, but they offer a link to their\n // corresponding element, which can have classList. This extra check is for\n // that case.\n // See: http://www.w3.org/TR/SVG11/struct.html#InterfaceSVGUseElement\n // Discussion: https://github.com/Pomax/react-onclickoutside/pull/17\n\n\n if (current.correspondingElement) {\n return current.correspondingElement.classList.contains(ignoreClass);\n }\n\n return current.classList.contains(ignoreClass);\n}\n/**\n * Try to find our node in a hierarchy of nodes, returning the document\n * node as highest node if our node is not found in the path up.\n */\n\nfunction findHighest(current, componentNode, ignoreClass) {\n if (current === componentNode) {\n return true;\n } // If source=local then this event came from 'somewhere'\n // inside and should be ignored. We could handle this with\n // a layered approach, too, but that requires going back to\n // thinking in terms of Dom node nesting, running counter\n // to React's 'you shouldn't care about the DOM' philosophy.\n // Also cover shadowRoot node by checking current.host\n\n\n while (current.parentNode || current.host) {\n // Only check normal node without shadowRoot\n if (current.parentNode && isNodeFound(current, componentNode, ignoreClass)) {\n return true;\n }\n\n current = current.parentNode || current.host;\n }\n\n return current;\n}\n/**\n * Check if the browser scrollbar was clicked\n */\n\nfunction clickedScrollbar(evt) {\n return document.documentElement.clientWidth <= evt.clientX || document.documentElement.clientHeight <= evt.clientY;\n}// ideally will get replaced with external dep\n// when rafrex/detect-passive-events#4 and rafrex/detect-passive-events#5 get merged in\nvar testPassiveEventSupport = function testPassiveEventSupport() {\n if (typeof window === 'undefined' || typeof window.addEventListener !== 'function') {\n return;\n }\n\n var passive = false;\n var options = Object.defineProperty({}, 'passive', {\n get: function get() {\n passive = true;\n }\n });\n\n var noop = function noop() {};\n\n window.addEventListener('testPassiveEventSupport', noop, options);\n window.removeEventListener('testPassiveEventSupport', noop, options);\n return passive;\n};function autoInc(seed) {\n if (seed === void 0) {\n seed = 0;\n }\n\n return function () {\n return ++seed;\n };\n}\n\nvar uid = autoInc();var passiveEventSupport;\nvar handlersMap = {};\nvar enabledInstances = {};\nvar touchEvents = ['touchstart', 'touchmove'];\nvar IGNORE_CLASS_NAME = 'ignore-react-onclickoutside';\n/**\n * Options for addEventHandler and removeEventHandler\n */\n\nfunction getEventHandlerOptions(instance, eventName) {\n var handlerOptions = {};\n var isTouchEvent = touchEvents.indexOf(eventName) !== -1;\n\n if (isTouchEvent && passiveEventSupport) {\n handlerOptions.passive = !instance.props.preventDefault;\n }\n\n return handlerOptions;\n}\n/**\n * This function generates the HOC function that you'll use\n * in order to impart onOutsideClick listening to an\n * arbitrary component. It gets called at the end of the\n * bootstrapping code to yield an instance of the\n * onClickOutsideHOC function defined inside setupHOC().\n */\n\n\nfunction onClickOutsideHOC(WrappedComponent, config) {\n var _class, _temp;\n\n var componentName = WrappedComponent.displayName || WrappedComponent.name || 'Component';\n return _temp = _class = /*#__PURE__*/function (_Component) {\n _inheritsLoose(onClickOutside, _Component);\n\n function onClickOutside(props) {\n var _this;\n\n _this = _Component.call(this, props) || this;\n\n _this.__outsideClickHandler = function (event) {\n if (typeof _this.__clickOutsideHandlerProp === 'function') {\n _this.__clickOutsideHandlerProp(event);\n\n return;\n }\n\n var instance = _this.getInstance();\n\n if (typeof instance.props.handleClickOutside === 'function') {\n instance.props.handleClickOutside(event);\n return;\n }\n\n if (typeof instance.handleClickOutside === 'function') {\n instance.handleClickOutside(event);\n return;\n }\n\n throw new Error(\"WrappedComponent: \" + componentName + \" lacks a handleClickOutside(event) function for processing outside click events.\");\n };\n\n _this.__getComponentNode = function () {\n var instance = _this.getInstance();\n\n if (config && typeof config.setClickOutsideRef === 'function') {\n return config.setClickOutsideRef()(instance);\n }\n\n if (typeof instance.setClickOutsideRef === 'function') {\n return instance.setClickOutsideRef();\n }\n\n return findDOMNode(instance);\n };\n\n _this.enableOnClickOutside = function () {\n if (typeof document === 'undefined' || enabledInstances[_this._uid]) {\n return;\n }\n\n if (typeof passiveEventSupport === 'undefined') {\n passiveEventSupport = testPassiveEventSupport();\n }\n\n enabledInstances[_this._uid] = true;\n var events = _this.props.eventTypes;\n\n if (!events.forEach) {\n events = [events];\n }\n\n handlersMap[_this._uid] = function (event) {\n if (_this.componentNode === null) return;\n if (_this.initTimeStamp > event.timeStamp) return;\n\n if (_this.props.preventDefault) {\n event.preventDefault();\n }\n\n if (_this.props.stopPropagation) {\n event.stopPropagation();\n }\n\n if (_this.props.excludeScrollbar && clickedScrollbar(event)) return;\n var current = event.composed && event.composedPath && event.composedPath().shift() || event.target;\n\n if (findHighest(current, _this.componentNode, _this.props.outsideClickIgnoreClass) !== document) {\n return;\n }\n\n _this.__outsideClickHandler(event);\n };\n\n events.forEach(function (eventName) {\n document.addEventListener(eventName, handlersMap[_this._uid], getEventHandlerOptions(_assertThisInitialized(_this), eventName));\n });\n };\n\n _this.disableOnClickOutside = function () {\n delete enabledInstances[_this._uid];\n var fn = handlersMap[_this._uid];\n\n if (fn && typeof document !== 'undefined') {\n var events = _this.props.eventTypes;\n\n if (!events.forEach) {\n events = [events];\n }\n\n events.forEach(function (eventName) {\n return document.removeEventListener(eventName, fn, getEventHandlerOptions(_assertThisInitialized(_this), eventName));\n });\n delete handlersMap[_this._uid];\n }\n };\n\n _this.getRef = function (ref) {\n return _this.instanceRef = ref;\n };\n\n _this._uid = uid();\n _this.initTimeStamp = performance.now();\n return _this;\n }\n /**\n * Access the WrappedComponent's instance.\n */\n\n\n var _proto = onClickOutside.prototype;\n\n _proto.getInstance = function getInstance() {\n if (WrappedComponent.prototype && !WrappedComponent.prototype.isReactComponent) {\n return this;\n }\n\n var ref = this.instanceRef;\n return ref.getInstance ? ref.getInstance() : ref;\n };\n\n /**\n * Add click listeners to the current document,\n * linked to this component's state.\n */\n _proto.componentDidMount = function componentDidMount() {\n // If we are in an environment without a DOM such\n // as shallow rendering or snapshots then we exit\n // early to prevent any unhandled errors being thrown.\n if (typeof document === 'undefined' || !document.createElement) {\n return;\n }\n\n var instance = this.getInstance();\n\n if (config && typeof config.handleClickOutside === 'function') {\n this.__clickOutsideHandlerProp = config.handleClickOutside(instance);\n\n if (typeof this.__clickOutsideHandlerProp !== 'function') {\n throw new Error(\"WrappedComponent: \" + componentName + \" lacks a function for processing outside click events specified by the handleClickOutside config option.\");\n }\n }\n\n this.componentNode = this.__getComponentNode(); // return early so we dont initiate onClickOutside\n\n if (this.props.disableOnClickOutside) return;\n this.enableOnClickOutside();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n this.componentNode = this.__getComponentNode();\n }\n /**\n * Remove all document's event listeners for this component\n */\n ;\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.disableOnClickOutside();\n }\n /**\n * Can be called to explicitly enable event listening\n * for clicks and touches outside of this element.\n */\n ;\n\n /**\n * Pass-through render\n */\n _proto.render = function render() {\n // eslint-disable-next-line no-unused-vars\n var _this$props = this.props;\n _this$props.excludeScrollbar;\n var props = _objectWithoutPropertiesLoose(_this$props, [\"excludeScrollbar\"]);\n\n if (WrappedComponent.prototype && WrappedComponent.prototype.isReactComponent) {\n props.ref = this.getRef;\n } else {\n props.wrappedRef = this.getRef;\n }\n\n props.disableOnClickOutside = this.disableOnClickOutside;\n props.enableOnClickOutside = this.enableOnClickOutside;\n return createElement(WrappedComponent, props);\n };\n\n return onClickOutside;\n }(Component), _class.displayName = \"OnClickOutside(\" + componentName + \")\", _class.defaultProps = {\n eventTypes: ['mousedown', 'touchstart'],\n excludeScrollbar: config && config.excludeScrollbar || false,\n outsideClickIgnoreClass: IGNORE_CLASS_NAME,\n preventDefault: false,\n stopPropagation: false\n }, _class.getClass = function () {\n return WrappedComponent.getClass ? WrappedComponent.getClass() : WrappedComponent;\n }, _temp;\n}export default onClickOutsideHOC;export{IGNORE_CLASS_NAME};","export default typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n","import isBrowser from './isBrowser';\n\nconst timeoutDuration = (function(){\n const longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (let i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}());\n\nexport function microtaskDebounce(fn) {\n let called = false\n return () => {\n if (called) {\n return\n }\n called = true\n window.Promise.resolve().then(() => {\n called = false\n fn()\n })\n }\n}\n\nexport function taskDebounce(fn) {\n let scheduled = false;\n return () => {\n if (!scheduled) {\n scheduled = true;\n setTimeout(() => {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nconst supportsMicroTasks = isBrowser && window.Promise\n\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nexport default (supportsMicroTasks\n ? microtaskDebounce\n : taskDebounce);\n","/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nexport default function isFunction(functionToCheck) {\n const getType = {};\n return (\n functionToCheck &&\n getType.toString.call(functionToCheck) === '[object Function]'\n );\n}\n","/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nexport default function getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n const window = element.ownerDocument.defaultView;\n const css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n","/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nexport default function getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getParentNode from './getParentNode';\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nexport default function getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body\n case '#document':\n return element.body\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n const { overflow, overflowX, overflowY } = getStyleComputedProperty(element);\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n","/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nexport default function getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n","import isBrowser from './isBrowser';\n\nconst isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nconst isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nexport default function isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport isIE from './isIE';\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nexport default function getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n const noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n let offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n const nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (\n ['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 &&\n getStyleComputedProperty(offsetParent, 'position') === 'static'\n ) {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n","/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nexport default function getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n","import isOffsetContainer from './isOffsetContainer';\nimport getRoot from './getRoot';\nimport getOffsetParent from './getOffsetParent';\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nexport default function findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n const order =\n element1.compareDocumentPosition(element2) &\n Node.DOCUMENT_POSITION_FOLLOWING;\n const start = order ? element1 : element2;\n const end = order ? element2 : element1;\n\n // Get common ancestor container\n const range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n const { commonAncestorContainer } = range;\n\n // Both nodes are inside #document\n if (\n (element1 !== commonAncestorContainer &&\n element2 !== commonAncestorContainer) ||\n start.contains(end)\n ) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n const element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n","import getOffsetParent from './getOffsetParent';\n\nexport default function isOffsetContainer(element) {\n const { nodeName } = element;\n if (nodeName === 'BODY') {\n return false;\n }\n return (\n nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element\n );\n}\n","/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nexport default function getScroll(element, side = 'top') {\n const upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n const nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n const html = element.ownerDocument.documentElement;\n const scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n","/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nexport default function getBordersSize(styles, axis) {\n const sideA = axis === 'x' ? 'Left' : 'Top';\n const sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return (\n parseFloat(styles[`border${sideA}Width`]) +\n parseFloat(styles[`border${sideB}Width`])\n );\n}\n","import isIE from './isIE';\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(\n body[`offset${axis}`],\n body[`scroll${axis}`],\n html[`client${axis}`],\n html[`offset${axis}`],\n html[`scroll${axis}`],\n isIE(10)\n ? (parseInt(html[`offset${axis}`]) + \n parseInt(computedStyle[`margin${axis === 'Height' ? 'Top' : 'Left'}`]) + \n parseInt(computedStyle[`margin${axis === 'Height' ? 'Bottom' : 'Right'}`]))\n : 0 \n );\n}\n\nexport default function getWindowSizes(document) {\n const body = document.body;\n const html = document.documentElement;\n const computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle),\n };\n}\n","/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nexport default function getClientRect(offsets) {\n return {\n ...offsets,\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height,\n };\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getBordersSize from './getBordersSize';\nimport getWindowSizes from './getWindowSizes';\nimport getScroll from './getScroll';\nimport getClientRect from './getClientRect';\nimport isIE from './isIE';\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nexport default function getBoundingClientRect(element) {\n let rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n }\n else {\n rect = element.getBoundingClientRect();\n }\n }\n catch(e){}\n\n const result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top,\n };\n\n // subtract scrollbar size from sizes\n const sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n const width =\n sizes.width || element.clientWidth || result.width;\n const height =\n sizes.height || element.clientHeight || result.height;\n\n let horizScrollbar = element.offsetWidth - width;\n let vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n const styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport includeScroll from './includeScroll';\nimport getScrollParent from './getScrollParent';\nimport getBoundingClientRect from './getBoundingClientRect';\nimport runIsIE from './isIE';\nimport getClientRect from './getClientRect';\n\nexport default function getOffsetRectRelativeToArbitraryNode(children, parent, fixedPosition = false) {\n const isIE10 = runIsIE(10);\n const isHTML = parent.nodeName === 'HTML';\n const childrenRect = getBoundingClientRect(children);\n const parentRect = getBoundingClientRect(parent);\n const scrollParent = getScrollParent(children);\n\n const styles = getStyleComputedProperty(parent);\n const borderTopWidth = parseFloat(styles.borderTopWidth);\n const borderLeftWidth = parseFloat(styles.borderLeftWidth);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if(fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n let offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height,\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n const marginTop = parseFloat(styles.marginTop);\n const marginLeft = parseFloat(styles.marginLeft);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (\n isIE10 && !fixedPosition\n ? parent.contains(scrollParent)\n : parent === scrollParent && scrollParent.nodeName !== 'BODY'\n ) {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n","import getScroll from './getScroll';\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nexport default function includeScroll(rect, element, subtract = false) {\n const scrollTop = getScroll(element, 'top');\n const scrollLeft = getScroll(element, 'left');\n const modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport getParentNode from './getParentNode';\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nexport default function isFixed(element) {\n const nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n const parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n","import getStyleComputedProperty from './getStyleComputedProperty';\nimport isIE from './isIE';\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nexport default function getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n let el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n\n}\n","import getScrollParent from './getScrollParent';\nimport getParentNode from './getParentNode';\nimport getReferenceNode from './getReferenceNode';\nimport findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getViewportOffsetRectRelativeToArtbitraryNode from './getViewportOffsetRectRelativeToArtbitraryNode';\nimport getWindowSizes from './getWindowSizes';\nimport isFixed from './isFixed';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nexport default function getBoundaries(\n popper,\n reference,\n padding,\n boundariesElement,\n fixedPosition = false\n) {\n // NOTE: 1 DOM access here\n\n let boundaries = { top: 0, left: 0 };\n const offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport' ) {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n }\n\n else {\n // Handle other cases based on DOM element used as boundaries\n let boundariesNode;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n const offsets = getOffsetRectRelativeToArbitraryNode(\n boundariesNode,\n offsetParent,\n fixedPosition\n );\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n const { height, width } = getWindowSizes(popper.ownerDocument);\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n const isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0; \n boundaries.top += isPaddingNumber ? padding : padding.top || 0; \n boundaries.right -= isPaddingNumber ? padding : padding.right || 0; \n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0; \n\n return boundaries;\n}\n","import getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getScroll from './getScroll';\nimport getClientRect from './getClientRect';\n\nexport default function getViewportOffsetRectRelativeToArtbitraryNode(element, excludeScroll = false) {\n const html = element.ownerDocument.documentElement;\n const relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n const width = Math.max(html.clientWidth, window.innerWidth || 0);\n const height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n const scrollTop = !excludeScroll ? getScroll(html) : 0;\n const scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n const offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width,\n height,\n };\n\n return getClientRect(offset);\n}\n","import getBoundaries from '../utils/getBoundaries';\n\nfunction getArea({ width, height }) {\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function computeAutoPlacement(\n placement,\n refRect,\n popper,\n reference,\n boundariesElement,\n padding = 0\n) {\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n const boundaries = getBoundaries(\n popper,\n reference,\n padding,\n boundariesElement\n );\n\n const rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top,\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height,\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom,\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height,\n },\n };\n\n const sortedAreas = Object.keys(rects)\n .map(key => ({\n key,\n ...rects[key],\n area: getArea(rects[key]),\n }))\n .sort((a, b) => b.area - a.area);\n\n const filteredAreas = sortedAreas.filter(\n ({ width, height }) =>\n width >= popper.clientWidth && height >= popper.clientHeight\n );\n\n const computedPlacement = filteredAreas.length > 0\n ? filteredAreas[0].key\n : sortedAreas[0].key;\n\n const variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? `-${variation}` : '');\n}\n","import findCommonOffsetParent from './findCommonOffsetParent';\nimport getOffsetRectRelativeToArbitraryNode from './getOffsetRectRelativeToArbitraryNode';\nimport getFixedPositionOffsetParent from './getFixedPositionOffsetParent';\nimport getReferenceNode from './getReferenceNode';\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nexport default function getReferenceOffsets(state, popper, reference, fixedPosition = null) {\n const commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n","/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nexport default function getOuterSizes(element) {\n const window = element.ownerDocument.defaultView;\n const styles = window.getComputedStyle(element);\n const x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n const y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n const result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x,\n };\n return result;\n}\n","/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nexport default function getOppositePlacement(placement) {\n const hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, matched => hash[matched]);\n}\n","import getOuterSizes from './getOuterSizes';\nimport getOppositePlacement from './getOppositePlacement';\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nexport default function getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n const popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n const popperOffsets = {\n width: popperRect.width,\n height: popperRect.height,\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n const isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n const mainSide = isHoriz ? 'top' : 'left';\n const secondarySide = isHoriz ? 'left' : 'top';\n const measurement = isHoriz ? 'height' : 'width';\n const secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] =\n referenceOffsets[mainSide] +\n referenceOffsets[measurement] / 2 -\n popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] =\n referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] =\n referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n","/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n","import isFunction from './isFunction';\nimport findIndex from './findIndex';\nimport getClientRect from '../utils/getClientRect';\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nexport default function runModifiers(modifiers, data, ends) {\n const modifiersToRun = ends === undefined\n ? modifiers\n : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(modifier => {\n if (modifier['function']) { // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n const fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n","import find from './find';\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nexport default function findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(cur => cur[prop] === value);\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n const match = find(arr, obj => obj[prop] === value);\n return arr.indexOf(match);\n}\n","import computeAutoPlacement from '../utils/computeAutoPlacement';\nimport getReferenceOffsets from '../utils/getReferenceOffsets';\nimport getPopperOffsets from '../utils/getPopperOffsets';\nimport runModifiers from '../utils/runModifiers';\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.
\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nexport default function update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n let data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {},\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(\n this.state,\n this.popper,\n this.reference,\n this.options.positionFixed\n );\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(\n this.options.placement,\n data.offsets.reference,\n this.popper,\n this.reference,\n this.options.modifiers.flip.boundariesElement,\n this.options.modifiers.flip.padding\n );\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(\n this.popper,\n data.offsets.reference,\n data.placement\n );\n\n data.offsets.popper.position = this.options.positionFixed\n ? 'fixed'\n : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n","/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nexport default function isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(\n ({ name, enabled }) => enabled && name === modifierName\n );\n}\n","/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nexport default function getSupportedPropertyName(property) {\n const prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n const upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (let i = 0; i < prefixes.length; i++) {\n const prefix = prefixes[i];\n const toCheck = prefix ? `${prefix}${upperProp}` : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n","import isModifierEnabled from '../utils/isModifierEnabled';\nimport getSupportedPropertyName from '../utils/getSupportedPropertyName';\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nexport default function destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n","/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nexport default function getWindow(element) {\n const ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n","import getScrollParent from './getScrollParent';\nimport getWindow from './getWindow';\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n const isBody = scrollParent.nodeName === 'BODY';\n const target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(\n getScrollParent(target.parentNode),\n event,\n callback,\n scrollParents\n );\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function setupEventListeners(\n reference,\n options,\n state,\n updateBound\n) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n const scrollElement = getScrollParent(reference);\n attachToScrollParents(\n scrollElement,\n 'scroll',\n state.updateBound,\n state.scrollParents\n );\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n","import setupEventListeners from '../utils/setupEventListeners';\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nexport default function enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(\n this.reference,\n this.options,\n this.state,\n this.scheduleUpdate\n );\n }\n}\n","import removeEventListeners from '../utils/removeEventListeners';\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nexport default function disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n","import getWindow from './getWindow';\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nexport default function removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(target => {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n","/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nexport default function isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n","import isNumeric from './isNumeric';\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setStyles(element, styles) {\n Object.keys(styles).forEach(prop => {\n let unit = '';\n // add unit if the value is numeric and is one of the following\n if (\n ['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !==\n -1 &&\n isNumeric(styles[prop])\n ) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n","import getSupportedPropertyName from '../utils/getSupportedPropertyName';\nimport find from '../utils/find';\nimport getOffsetParent from '../utils/getOffsetParent';\nimport getBoundingClientRect from '../utils/getBoundingClientRect';\nimport getRoundedOffsets from '../utils/getRoundedOffsets';\nimport isBrowser from '../utils/isBrowser';\n\nconst isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function computeStyle(data, options) {\n const { x, y } = options;\n const { popper } = data.offsets;\n\n // Remove this legacy support in Popper.js v2\n const legacyGpuAccelerationOption = find(\n data.instance.modifiers,\n modifier => modifier.name === 'applyStyle'\n ).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn(\n 'WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!'\n );\n }\n const gpuAcceleration =\n legacyGpuAccelerationOption !== undefined\n ? legacyGpuAccelerationOption\n : options.gpuAcceleration;\n\n const offsetParent = getOffsetParent(data.instance.popper);\n const offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n const styles = {\n position: popper.position,\n };\n\n const offsets = getRoundedOffsets(\n data,\n window.devicePixelRatio < 2 || !isFirefox\n );\n\n const sideA = x === 'bottom' ? 'top' : 'bottom';\n const sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n const prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n let left, top;\n if (sideA === 'bottom') {\n // when offsetParent is the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = `translate3d(${left}px, ${top}px, 0)`;\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n const invertTop = sideA === 'bottom' ? -1 : 1;\n const invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = `${sideA}, ${sideB}`;\n }\n\n // Attributes\n const attributes = {\n 'x-placement': data.placement,\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = { ...attributes, ...data.attributes };\n data.styles = { ...styles, ...data.styles };\n data.arrowStyles = { ...data.offsets.arrow, ...data.arrowStyles };\n\n return data;\n}\n","import find from './find';\n\n/**\n * Helper used to know if the given modifier depends from another one.
\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nexport default function isModifierRequired(\n modifiers,\n requestingName,\n requestedName\n) {\n const requesting = find(modifiers, ({ name }) => name === requestingName);\n\n const isRequired =\n !!requesting &&\n modifiers.some(modifier => {\n return (\n modifier.name === requestedName &&\n modifier.enabled &&\n modifier.order < requesting.order\n );\n });\n\n if (!isRequired) {\n const requesting = `\\`${requestingName}\\``;\n const requested = `\\`${requestedName}\\``;\n console.warn(\n `${requested} modifier is required by ${requesting} modifier in order to work, be sure to include it before ${requesting}!`\n );\n }\n return isRequired;\n}\n","/**\n * List of accepted placements to use as values of the `placement` option.
\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.
\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nexport default [\n 'auto-start',\n 'auto',\n 'auto-end',\n 'top-start',\n 'top',\n 'top-end',\n 'right-start',\n 'right',\n 'right-end',\n 'bottom-end',\n 'bottom',\n 'bottom-start',\n 'left-end',\n 'left',\n 'left-start',\n];\n","import placements from '../methods/placements';\n\n// Get rid of `auto` `auto-start` and `auto-end`\nconst validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nexport default function clockwise(placement, counter = false) {\n const index = validPlacements.indexOf(placement);\n const arr = validPlacements\n .slice(index + 1)\n .concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n","import getOppositePlacement from '../utils/getOppositePlacement';\nimport getOppositeVariation from '../utils/getOppositeVariation';\nimport getPopperOffsets from '../utils/getPopperOffsets';\nimport runModifiers from '../utils/runModifiers';\nimport getBoundaries from '../utils/getBoundaries';\nimport isModifierEnabled from '../utils/isModifierEnabled';\nimport clockwise from '../utils/clockwise';\n\nconst BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise',\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n const boundaries = getBoundaries(\n data.instance.popper,\n data.instance.reference,\n options.padding,\n options.boundariesElement,\n data.positionFixed\n );\n\n let placement = data.placement.split('-')[0];\n let placementOpposite = getOppositePlacement(placement);\n let variation = data.placement.split('-')[1] || '';\n\n let flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach((step, index) => {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n const popperOffsets = data.offsets.popper;\n const refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n const floor = Math.floor;\n const overlapsRef =\n (placement === 'left' &&\n floor(popperOffsets.right) > floor(refOffsets.left)) ||\n (placement === 'right' &&\n floor(popperOffsets.left) < floor(refOffsets.right)) ||\n (placement === 'top' &&\n floor(popperOffsets.bottom) > floor(refOffsets.top)) ||\n (placement === 'bottom' &&\n floor(popperOffsets.top) < floor(refOffsets.bottom));\n\n const overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n const overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n const overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n const overflowsBottom =\n floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n const overflowsBoundaries =\n (placement === 'left' && overflowsLeft) ||\n (placement === 'right' && overflowsRight) ||\n (placement === 'top' && overflowsTop) ||\n (placement === 'bottom' && overflowsBottom);\n\n // flip the variation if required\n const isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n const flippedVariationByRef =\n !!options.flipVariations &&\n ((isVertical && variation === 'start' && overflowsLeft) ||\n (isVertical && variation === 'end' && overflowsRight) ||\n (!isVertical && variation === 'start' && overflowsTop) ||\n (!isVertical && variation === 'end' && overflowsBottom));\n\n // flips variation if popper content overflows boundaries\n const flippedVariationByContent =\n !!options.flipVariationsByContent &&\n ((isVertical && variation === 'start' && overflowsRight) ||\n (isVertical && variation === 'end' && overflowsLeft) ||\n (!isVertical && variation === 'start' && overflowsBottom) ||\n (!isVertical && variation === 'end' && overflowsTop));\n\n const flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = {\n ...data.offsets.popper,\n ...getPopperOffsets(\n data.instance.popper,\n data.offsets.reference,\n data.placement\n ),\n };\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n","import isNumeric from '../utils/isNumeric';\nimport getClientRect from '../utils/getClientRect';\nimport find from '../utils/find';\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nexport function toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n const split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n const value = +split[1];\n const unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n let element;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n const rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n let size;\n if (unit === 'vh') {\n size = Math.max(\n document.documentElement.clientHeight,\n window.innerHeight || 0\n );\n } else {\n size = Math.max(\n document.documentElement.clientWidth,\n window.innerWidth || 0\n );\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nexport function parseOffset(\n offset,\n popperOffsets,\n referenceOffsets,\n basePlacement\n) {\n const offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n const useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n const fragments = offset.split(/(\\+|\\-)/).map(frag => frag.trim());\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n const divider = fragments.indexOf(\n find(fragments, frag => frag.search(/,|\\s/) !== -1)\n );\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn(\n 'Offsets separated by white space(s) are deprecated, use a comma (,) instead.'\n );\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n const splitRegex = /\\s*,\\s*|\\s+/;\n let ops = divider !== -1\n ? [\n fragments\n .slice(0, divider)\n .concat([fragments[divider].split(splitRegex)[0]]),\n [fragments[divider].split(splitRegex)[1]].concat(\n fragments.slice(divider + 1)\n ),\n ]\n : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map((op, index) => {\n // Most of the units rely on the orientation of the popper\n const measurement = (index === 1 ? !useHeight : useHeight)\n ? 'height'\n : 'width';\n let mergeWithPrevious = false;\n return (\n op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce((a, b) => {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(str => toValue(str, measurement, popperOffsets, referenceOffsets))\n );\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach((op, index) => {\n op.forEach((frag, index2) => {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nexport default function offset(data, { offset }) {\n const { placement, offsets: { popper, reference } } = data;\n const basePlacement = placement.split('-')[0];\n\n let offsets;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n","import applyStyle, { applyStyleOnLoad } from './applyStyle';\nimport computeStyle from './computeStyle';\nimport arrow from './arrow';\nimport flip from './flip';\nimport keepTogether from './keepTogether';\nimport offset from './offset';\nimport preventOverflow from './preventOverflow';\nimport shift from './shift';\nimport hide from './hide';\nimport inner from './inner';\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.
\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.
\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nexport default {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.
\n * It will read the variation of the `placement` property.
\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift,\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.
\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.
\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.
\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0,\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.
\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".
\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent',\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether,\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]',\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false,\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner,\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide,\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right',\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined,\n },\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n","/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function shift(data) {\n const placement = data.placement;\n const basePlacement = placement.split('-')[0];\n const shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n const { reference, popper } = data.offsets;\n const isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n const side = isVertical ? 'left' : 'top';\n const measurement = isVertical ? 'width' : 'height';\n\n const shiftOffsets = {\n start: { [side]: reference[side] },\n end: {\n [side]: reference[side] + reference[measurement] - popper[measurement],\n },\n };\n\n data.offsets.popper = { ...popper, ...shiftOffsets[shiftvariation] };\n }\n\n return data;\n}\n","import getOffsetParent from '../utils/getOffsetParent';\nimport getBoundaries from '../utils/getBoundaries';\nimport getSupportedPropertyName from '../utils/getSupportedPropertyName';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function preventOverflow(data, options) {\n let boundariesElement =\n options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n const transformProp = getSupportedPropertyName('transform');\n const popperStyles = data.instance.popper.style; // assignment to help minification\n const { top, left, [transformProp]: transform } = popperStyles;\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n const boundaries = getBoundaries(\n data.instance.popper,\n data.instance.reference,\n options.padding,\n boundariesElement,\n data.positionFixed\n );\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n const order = options.priority;\n let popper = data.offsets.popper;\n\n const check = {\n primary(placement) {\n let value = popper[placement];\n if (\n popper[placement] < boundaries[placement] &&\n !options.escapeWithReference\n ) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return { [placement]: value };\n },\n secondary(placement) {\n const mainSide = placement === 'right' ? 'left' : 'top';\n let value = popper[mainSide];\n if (\n popper[placement] > boundaries[placement] &&\n !options.escapeWithReference\n ) {\n value = Math.min(\n popper[mainSide],\n boundaries[placement] -\n (placement === 'right' ? popper.width : popper.height)\n );\n }\n return { [mainSide]: value };\n },\n };\n\n order.forEach(placement => {\n const side =\n ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = { ...popper, ...check[side](placement) };\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n","/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function keepTogether(data) {\n const { popper, reference } = data.offsets;\n const placement = data.placement.split('-')[0];\n const floor = Math.floor;\n const isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n const side = isVertical ? 'right' : 'bottom';\n const opSide = isVertical ? 'left' : 'top';\n const measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] =\n floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n","import getClientRect from '../utils/getClientRect';\nimport getOuterSizes from '../utils/getOuterSizes';\nimport isModifierRequired from '../utils/isModifierRequired';\nimport getStyleComputedProperty from '../utils/getStyleComputedProperty';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function arrow(data, options) {\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n let arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn(\n 'WARNING: `arrow.element` must be child of its popper element!'\n );\n return data;\n }\n }\n\n const placement = data.placement.split('-')[0];\n const { popper, reference } = data.offsets;\n const isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n const len = isVertical ? 'height' : 'width';\n const sideCapitalized = isVertical ? 'Top' : 'Left';\n const side = sideCapitalized.toLowerCase();\n const altSide = isVertical ? 'left' : 'top';\n const opSide = isVertical ? 'bottom' : 'right';\n const arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -=\n popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] +=\n reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n const center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n const css = getStyleComputedProperty(data.instance.popper);\n const popperMarginSide = parseFloat(css[`margin${sideCapitalized}`]);\n const popperBorderSide = parseFloat(css[`border${sideCapitalized}Width`]);\n let sideValue =\n center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = {\n [side]: Math.round(sideValue),\n [altSide]: '', // make sure to unset any eventual altSide value from the DOM node\n };\n\n return data;\n}\n","/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nexport default function getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n","import getClientRect from '../utils/getClientRect';\nimport getOppositePlacement from '../utils/getOppositePlacement';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function inner(data) {\n const placement = data.placement;\n const basePlacement = placement.split('-')[0];\n const { popper, reference } = data.offsets;\n const isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n const subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] =\n reference[basePlacement] -\n (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n","import isModifierRequired from '../utils/isModifierRequired';\nimport find from '../utils/find';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nexport default function hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n const refRect = data.offsets.reference;\n const bound = find(\n data.instance.modifiers,\n modifier => modifier.name === 'preventOverflow'\n ).boundaries;\n\n if (\n refRect.bottom < bound.top ||\n refRect.left > bound.right ||\n refRect.top > bound.bottom ||\n refRect.right < bound.left\n ) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n","/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nexport default function getRoundedOffsets(data, shouldRound) {\n const { popper, reference } = data.offsets;\n const { round, floor } = Math;\n const noRound = v => v;\n \n const referenceWidth = round(reference.width);\n const popperWidth = round(popper.width);\n \n const isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n const isVariation = data.placement.indexOf('-') !== -1;\n const sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n const bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n const horizontalToInteger = !shouldRound\n ? noRound\n : isVertical || isVariation || sameWidthParity\n ? round\n : floor;\n const verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(\n bothOddWidth && !isVariation && shouldRound\n ? popper.left - 1\n : popper.left\n ),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right),\n };\n}\n","import setStyles from '../utils/setStyles';\nimport setAttributes from '../utils/setAttributes';\nimport getReferenceOffsets from '../utils/getReferenceOffsets';\nimport computeAutoPlacement from '../utils/computeAutoPlacement';\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nexport default function applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nexport function applyStyleOnLoad(\n reference,\n popper,\n options,\n modifierOptions,\n state\n) {\n // compute reference element offsets\n const referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n const placement = computeAutoPlacement(\n options.placement,\n referenceOffsets,\n popper,\n reference,\n options.modifiers.flip.boundariesElement,\n options.modifiers.flip.padding\n );\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n","/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nexport default function setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function(prop) {\n const value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n","import modifiers from '../modifiers/index';\n\n/**\n * Default options provided to Popper.js constructor.
\n * These can be overridden using the `options` argument of Popper.js.
\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nexport default {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: () => {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: () => {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers,\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n","// Utils\nimport debounce from './utils/debounce';\nimport isFunction from './utils/isFunction';\n\n// Methods\nimport update from './methods/update';\nimport destroy from './methods/destroy';\nimport enableEventListeners from './methods/enableEventListeners';\nimport disableEventListeners from './methods/disableEventListeners';\nimport Defaults from './methods/defaults';\nimport placements from './methods/placements';\n\nexport default class Popper {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n constructor(reference, popper, options = {}) {\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = { ...Popper.Defaults, ...options };\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: [],\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys({\n ...Popper.Defaults.modifiers,\n ...options.modifiers,\n }).forEach(name => {\n this.options.modifiers[name] = {\n // If it's a built-in modifier, use it as base\n ...(Popper.Defaults.modifiers[name] || {}),\n // If there are custom options, override and merge with default ones\n ...(options.modifiers ? options.modifiers[name] : {}),\n };\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers)\n .map(name => ({\n name,\n ...this.options.modifiers[name],\n }))\n // sort the modifiers by order\n .sort((a, b) => a.order - b.order);\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(modifierOptions => {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(\n this.reference,\n this.popper,\n this.options,\n modifierOptions,\n this.state\n );\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n const eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n update() {\n return update.call(this);\n }\n destroy() {\n return destroy.call(this);\n }\n enableEventListeners() {\n return enableEventListeners.call(this);\n }\n disableEventListeners() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n scheduleUpdate = () => requestAnimationFrame(this.update);\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n static Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\n\n static placements = placements;\n\n static Defaults = Defaults;\n}\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.
\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n","import _inheritsLoose from \"@babel/runtime/helpers/inheritsLoose\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport * as React from 'react';\nimport createContext from '@hypnosphi/create-react-context';\nexport var ManagerReferenceNodeContext = createContext();\nexport var ManagerReferenceNodeSetterContext = createContext();\n\nvar Manager =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(Manager, _React$Component);\n\n function Manager() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"referenceNode\", void 0);\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"setReferenceNode\", function (newReferenceNode) {\n if (newReferenceNode && _this.referenceNode !== newReferenceNode) {\n _this.referenceNode = newReferenceNode;\n\n _this.forceUpdate();\n }\n });\n\n return _this;\n }\n\n var _proto = Manager.prototype;\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.referenceNode = null;\n };\n\n _proto.render = function render() {\n return React.createElement(ManagerReferenceNodeContext.Provider, {\n value: this.referenceNode\n }, React.createElement(ManagerReferenceNodeSetterContext.Provider, {\n value: this.setReferenceNode\n }, this.props.children));\n };\n\n return Manager;\n}(React.Component);\n\nexport { Manager as default };","/**\n * Takes an argument and if it's an array, returns the first item in the array,\n * otherwise returns the argument. Used for Preact compatibility.\n */\nexport var unwrapArray = function unwrapArray(arg) {\n return Array.isArray(arg) ? arg[0] : arg;\n};\n/**\n * Takes a maybe-undefined function and arbitrary args and invokes the function\n * only if it is defined.\n */\n\nexport var safeInvoke = function safeInvoke(fn) {\n if (typeof fn === \"function\") {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return fn.apply(void 0, args);\n }\n};\n/**\n * Does a shallow equality check of two objects by comparing the reference\n * equality of each value.\n */\n\nexport var shallowEqual = function shallowEqual(objA, objB) {\n var aKeys = Object.keys(objA);\n var bKeys = Object.keys(objB);\n\n if (bKeys.length !== aKeys.length) {\n return false;\n }\n\n for (var i = 0; i < bKeys.length; i++) {\n var key = aKeys[i];\n\n if (objA[key] !== objB[key]) {\n return false;\n }\n }\n\n return true;\n};\n/**\n * Sets a ref using either a ref callback or a ref object\n */\n\nexport var setRef = function setRef(ref, node) {\n // if its a function call it\n if (typeof ref === \"function\") {\n return safeInvoke(ref, node);\n } // otherwise we should treat it as a ref object\n else if (ref != null) {\n ref.current = node;\n }\n};","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/inheritsLoose\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport deepEqual from \"deep-equal\";\nimport * as React from 'react';\nimport PopperJS from 'popper.js';\nimport { ManagerReferenceNodeContext } from './Manager';\nimport { unwrapArray, setRef, shallowEqual } from './utils';\nvar initialStyle = {\n position: 'absolute',\n top: 0,\n left: 0,\n opacity: 0,\n pointerEvents: 'none'\n};\nvar initialArrowStyle = {};\nexport var InnerPopper =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(InnerPopper, _React$Component);\n\n function InnerPopper() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"state\", {\n data: undefined,\n placement: undefined\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"popperInstance\", void 0);\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"popperNode\", null);\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"arrowNode\", null);\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"setPopperNode\", function (popperNode) {\n if (!popperNode || _this.popperNode === popperNode) return;\n setRef(_this.props.innerRef, popperNode);\n _this.popperNode = popperNode;\n\n _this.updatePopperInstance();\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"setArrowNode\", function (arrowNode) {\n _this.arrowNode = arrowNode;\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"updateStateModifier\", {\n enabled: true,\n order: 900,\n fn: function fn(data) {\n var placement = data.placement;\n\n _this.setState({\n data: data,\n placement: placement\n });\n\n return data;\n }\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"getOptions\", function () {\n return {\n placement: _this.props.placement,\n eventsEnabled: _this.props.eventsEnabled,\n positionFixed: _this.props.positionFixed,\n modifiers: _extends({}, _this.props.modifiers, {\n arrow: _extends({}, _this.props.modifiers && _this.props.modifiers.arrow, {\n enabled: !!_this.arrowNode,\n element: _this.arrowNode\n }),\n applyStyle: {\n enabled: false\n },\n updateStateModifier: _this.updateStateModifier\n })\n };\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"getPopperStyle\", function () {\n return !_this.popperNode || !_this.state.data ? initialStyle : _extends({\n position: _this.state.data.offsets.popper.position\n }, _this.state.data.styles);\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"getPopperPlacement\", function () {\n return !_this.state.data ? undefined : _this.state.placement;\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"getArrowStyle\", function () {\n return !_this.arrowNode || !_this.state.data ? initialArrowStyle : _this.state.data.arrowStyles;\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"getOutOfBoundariesState\", function () {\n return _this.state.data ? _this.state.data.hide : undefined;\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"destroyPopperInstance\", function () {\n if (!_this.popperInstance) return;\n\n _this.popperInstance.destroy();\n\n _this.popperInstance = null;\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"updatePopperInstance\", function () {\n _this.destroyPopperInstance();\n\n var _assertThisInitialize = _assertThisInitialized(_assertThisInitialized(_this)),\n popperNode = _assertThisInitialize.popperNode;\n\n var referenceElement = _this.props.referenceElement;\n if (!referenceElement || !popperNode) return;\n _this.popperInstance = new PopperJS(referenceElement, popperNode, _this.getOptions());\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"scheduleUpdate\", function () {\n if (_this.popperInstance) {\n _this.popperInstance.scheduleUpdate();\n }\n });\n\n return _this;\n }\n\n var _proto = InnerPopper.prototype;\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n // If the Popper.js options have changed, update the instance (destroy + create)\n if (this.props.placement !== prevProps.placement || this.props.referenceElement !== prevProps.referenceElement || this.props.positionFixed !== prevProps.positionFixed || !deepEqual(this.props.modifiers, prevProps.modifiers, {\n strict: true\n })) {\n // develop only check that modifiers isn't being updated needlessly\n if (process.env.NODE_ENV === \"development\") {\n if (this.props.modifiers !== prevProps.modifiers && this.props.modifiers != null && prevProps.modifiers != null && shallowEqual(this.props.modifiers, prevProps.modifiers)) {\n console.warn(\"'modifiers' prop reference updated even though all values appear the same.\\nConsider memoizing the 'modifiers' object to avoid needless rendering.\");\n }\n }\n\n this.updatePopperInstance();\n } else if (this.props.eventsEnabled !== prevProps.eventsEnabled && this.popperInstance) {\n this.props.eventsEnabled ? this.popperInstance.enableEventListeners() : this.popperInstance.disableEventListeners();\n } // A placement difference in state means popper determined a new placement\n // apart from the props value. By the time the popper element is rendered with\n // the new position Popper has already measured it, if the place change triggers\n // a size change it will result in a misaligned popper. So we schedule an update to be sure.\n\n\n if (prevState.placement !== this.state.placement) {\n this.scheduleUpdate();\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n setRef(this.props.innerRef, null);\n this.destroyPopperInstance();\n };\n\n _proto.render = function render() {\n return unwrapArray(this.props.children)({\n ref: this.setPopperNode,\n style: this.getPopperStyle(),\n placement: this.getPopperPlacement(),\n outOfBoundaries: this.getOutOfBoundariesState(),\n scheduleUpdate: this.scheduleUpdate,\n arrowProps: {\n ref: this.setArrowNode,\n style: this.getArrowStyle()\n }\n });\n };\n\n return InnerPopper;\n}(React.Component);\n\n_defineProperty(InnerPopper, \"defaultProps\", {\n placement: 'bottom',\n eventsEnabled: true,\n referenceElement: undefined,\n positionFixed: false\n});\n\nvar placements = PopperJS.placements;\nexport { placements };\nexport default function Popper(_ref) {\n var referenceElement = _ref.referenceElement,\n props = _objectWithoutPropertiesLoose(_ref, [\"referenceElement\"]);\n\n return React.createElement(ManagerReferenceNodeContext.Consumer, null, function (referenceNode) {\n return React.createElement(InnerPopper, _extends({\n referenceElement: referenceElement !== undefined ? referenceElement : referenceNode\n }, props));\n });\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/inheritsLoose\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport * as React from 'react';\nimport warning from 'warning';\nimport { ManagerReferenceNodeSetterContext } from './Manager';\nimport { safeInvoke, unwrapArray, setRef } from './utils';\n\nvar InnerReference =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(InnerReference, _React$Component);\n\n function InnerReference() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"refHandler\", function (node) {\n setRef(_this.props.innerRef, node);\n safeInvoke(_this.props.setReferenceNode, node);\n });\n\n return _this;\n }\n\n var _proto = InnerReference.prototype;\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n setRef(this.props.innerRef, null);\n };\n\n _proto.render = function render() {\n warning(Boolean(this.props.setReferenceNode), '`Reference` should not be used outside of a `Manager` component.');\n return unwrapArray(this.props.children)({\n ref: this.refHandler\n });\n };\n\n return InnerReference;\n}(React.Component);\n\nexport default function Reference(props) {\n return React.createElement(ManagerReferenceNodeSetterContext.Consumer, null, function (setReferenceNode) {\n return React.createElement(InnerReference, _extends({\n setReferenceNode: setReferenceNode\n }, props));\n });\n}","var objectKeys = require('object-keys');\nvar isArguments = require('is-arguments');\nvar is = require('object-is');\nvar isRegex = require('is-regex');\nvar flags = require('regexp.prototype.flags');\nvar isDate = require('is-date-object');\n\nvar getTime = Date.prototype.getTime;\n\nfunction deepEqual(actual, expected, options) {\n var opts = options || {};\n\n // 7.1. All identical values are equivalent, as determined by ===.\n if (opts.strict ? is(actual, expected) : actual === expected) {\n return true;\n }\n\n // 7.3. Other pairs that do not both pass typeof value == 'object', equivalence is determined by ==.\n if (!actual || !expected || (typeof actual !== 'object' && typeof expected !== 'object')) {\n return opts.strict ? is(actual, expected) : actual == expected;\n }\n\n /*\n * 7.4. For all other Object pairs, including Array objects, equivalence is\n * determined by having the same number of owned properties (as verified\n * with Object.prototype.hasOwnProperty.call), the same set of keys\n * (although not necessarily the same order), equivalent values for every\n * corresponding key, and an identical 'prototype' property. Note: this\n * accounts for both named and indexed properties on Arrays.\n */\n // eslint-disable-next-line no-use-before-define\n return objEquiv(actual, expected, opts);\n}\n\nfunction isUndefinedOrNull(value) {\n return value === null || value === undefined;\n}\n\nfunction isBuffer(x) {\n if (!x || typeof x !== 'object' || typeof x.length !== 'number') {\n return false;\n }\n if (typeof x.copy !== 'function' || typeof x.slice !== 'function') {\n return false;\n }\n if (x.length > 0 && typeof x[0] !== 'number') {\n return false;\n }\n return true;\n}\n\nfunction objEquiv(a, b, opts) {\n /* eslint max-statements: [2, 50] */\n var i, key;\n if (typeof a !== typeof b) { return false; }\n if (isUndefinedOrNull(a) || isUndefinedOrNull(b)) { return false; }\n\n // an identical 'prototype' property.\n if (a.prototype !== b.prototype) { return false; }\n\n if (isArguments(a) !== isArguments(b)) { return false; }\n\n var aIsRegex = isRegex(a);\n var bIsRegex = isRegex(b);\n if (aIsRegex !== bIsRegex) { return false; }\n if (aIsRegex || bIsRegex) {\n return a.source === b.source && flags(a) === flags(b);\n }\n\n if (isDate(a) && isDate(b)) {\n return getTime.call(a) === getTime.call(b);\n }\n\n var aIsBuffer = isBuffer(a);\n var bIsBuffer = isBuffer(b);\n if (aIsBuffer !== bIsBuffer) { return false; }\n if (aIsBuffer || bIsBuffer) { // && would work too, because both are true or both false here\n if (a.length !== b.length) { return false; }\n for (i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) { return false; }\n }\n return true;\n }\n\n if (typeof a !== typeof b) { return false; }\n\n try {\n var ka = objectKeys(a);\n var kb = objectKeys(b);\n } catch (e) { // happens when one is a string literal and the other isn't\n return false;\n }\n // having the same number of owned properties (keys incorporates hasOwnProperty)\n if (ka.length !== kb.length) { return false; }\n\n // the same set of keys (although not necessarily the same order),\n ka.sort();\n kb.sort();\n // ~~~cheap key test\n for (i = ka.length - 1; i >= 0; i--) {\n if (ka[i] != kb[i]) { return false; }\n }\n // equivalent values for every corresponding key, and ~~~possibly expensive deep test\n for (i = ka.length - 1; i >= 0; i--) {\n key = ka[i];\n if (!deepEqual(a[key], b[key], opts)) { return false; }\n }\n\n return true;\n}\n\nmodule.exports = deepEqual;\n","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _reactDraggable = require(\"react-draggable\");\nvar _utils = require(\"./utils\");\nvar _propTypes = require(\"./propTypes\");\nvar _excluded = [\"children\", \"className\", \"draggableOpts\", \"width\", \"height\", \"handle\", \"handleSize\", \"lockAspectRatio\", \"axis\", \"minConstraints\", \"maxConstraints\", \"onResize\", \"onResizeStop\", \"onResizeStart\", \"resizeHandles\", \"transformScale\"];\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n// The base component.\n// This component does not have state and relies on the parent to set its props based on callback data.\nvar Resizable = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Resizable, _React$Component);\n function Resizable() {\n var _this;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.handleRefs = {};\n _this.lastHandleRect = null;\n _this.slack = null;\n return _this;\n }\n var _proto = Resizable.prototype;\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.resetData();\n };\n _proto.resetData = function resetData() {\n this.lastHandleRect = this.slack = null;\n }\n\n // Clamp width and height within provided constraints\n ;\n _proto.runConstraints = function runConstraints(width, height) {\n var _this$props = this.props,\n minConstraints = _this$props.minConstraints,\n maxConstraints = _this$props.maxConstraints,\n lockAspectRatio = _this$props.lockAspectRatio;\n // short circuit\n if (!minConstraints && !maxConstraints && !lockAspectRatio) return [width, height];\n\n // If constraining to min and max, we need to also fit width and height to aspect ratio.\n if (lockAspectRatio) {\n var ratio = this.props.width / this.props.height;\n var deltaW = width - this.props.width;\n var deltaH = height - this.props.height;\n\n // Find which coordinate was greater and should push the other toward it.\n // E.g.:\n // ratio = 1, deltaW = 10, deltaH = 5, deltaH should become 10.\n // ratio = 2, deltaW = 10, deltaH = 6, deltaW should become 12.\n if (Math.abs(deltaW) > Math.abs(deltaH * ratio)) {\n height = width / ratio;\n } else {\n width = height * ratio;\n }\n }\n var oldW = width,\n oldH = height;\n\n // Add slack to the values used to calculate bound position. This will ensure that if\n // we start removing slack, the element won't react to it right away until it's been\n // completely removed.\n var _ref = this.slack || [0, 0],\n slackW = _ref[0],\n slackH = _ref[1];\n width += slackW;\n height += slackH;\n if (minConstraints) {\n width = Math.max(minConstraints[0], width);\n height = Math.max(minConstraints[1], height);\n }\n if (maxConstraints) {\n width = Math.min(maxConstraints[0], width);\n height = Math.min(maxConstraints[1], height);\n }\n\n // If the width or height changed, we must have introduced some slack. Record it for the next iteration.\n this.slack = [slackW + (oldW - width), slackH + (oldH - height)];\n return [width, height];\n }\n\n /**\n * Wrapper around drag events to provide more useful data.\n *\n * @param {String} handlerName Handler name to wrap.\n * @return {Function} Handler function.\n */;\n _proto.resizeHandler = function resizeHandler(handlerName, axis) {\n var _this2 = this;\n return function (e, _ref2) {\n var node = _ref2.node,\n deltaX = _ref2.deltaX,\n deltaY = _ref2.deltaY;\n // Reset data in case it was left over somehow (should not be possible)\n if (handlerName === 'onResizeStart') _this2.resetData();\n\n // Axis restrictions\n var canDragX = (_this2.props.axis === 'both' || _this2.props.axis === 'x') && axis !== 'n' && axis !== 's';\n var canDragY = (_this2.props.axis === 'both' || _this2.props.axis === 'y') && axis !== 'e' && axis !== 'w';\n // No dragging possible.\n if (!canDragX && !canDragY) return;\n\n // Decompose axis for later use\n var axisV = axis[0];\n var axisH = axis[axis.length - 1]; // intentionally not axis[1], so that this catches axis === 'w' for example\n\n // Track the element being dragged to account for changes in position.\n // If a handle's position is changed between callbacks, we need to factor this in to the next callback.\n // Failure to do so will cause the element to \"skip\" when resized upwards or leftwards.\n var handleRect = node.getBoundingClientRect();\n if (_this2.lastHandleRect != null) {\n // If the handle has repositioned on either axis since last render,\n // we need to increase our callback values by this much.\n // Only checking 'n', 'w' since resizing by 's', 'w' won't affect the overall position on page,\n if (axisH === 'w') {\n var deltaLeftSinceLast = handleRect.left - _this2.lastHandleRect.left;\n deltaX += deltaLeftSinceLast;\n }\n if (axisV === 'n') {\n var deltaTopSinceLast = handleRect.top - _this2.lastHandleRect.top;\n deltaY += deltaTopSinceLast;\n }\n }\n // Storage of last rect so we know how much it has really moved.\n _this2.lastHandleRect = handleRect;\n\n // Reverse delta if using top or left drag handles.\n if (axisH === 'w') deltaX = -deltaX;\n if (axisV === 'n') deltaY = -deltaY;\n\n // Update w/h by the deltas. Also factor in transformScale.\n var width = _this2.props.width + (canDragX ? deltaX / _this2.props.transformScale : 0);\n var height = _this2.props.height + (canDragY ? deltaY / _this2.props.transformScale : 0);\n\n // Run user-provided constraints.\n var _this2$runConstraints = _this2.runConstraints(width, height);\n width = _this2$runConstraints[0];\n height = _this2$runConstraints[1];\n var dimensionsChanged = width !== _this2.props.width || height !== _this2.props.height;\n\n // Call user-supplied callback if present.\n var cb = typeof _this2.props[handlerName] === 'function' ? _this2.props[handlerName] : null;\n // Don't call 'onResize' if dimensions haven't changed.\n var shouldSkipCb = handlerName === 'onResize' && !dimensionsChanged;\n if (cb && !shouldSkipCb) {\n e.persist == null ? void 0 : e.persist();\n cb(e, {\n node: node,\n size: {\n width: width,\n height: height\n },\n handle: axis\n });\n }\n\n // Reset internal data\n if (handlerName === 'onResizeStop') _this2.resetData();\n };\n }\n\n // Render a resize handle given an axis & DOM ref. Ref *must* be attached for\n // the underlying draggable library to work properly.\n ;\n _proto.renderResizeHandle = function renderResizeHandle(handleAxis, ref) {\n var handle = this.props.handle;\n // No handle provided, make the default\n if (!handle) {\n return /*#__PURE__*/React.createElement(\"span\", {\n className: \"react-resizable-handle react-resizable-handle-\" + handleAxis,\n ref: ref\n });\n }\n // Handle is a function, such as:\n // `handle={(handleAxis) => }`\n if (typeof handle === 'function') {\n return handle(handleAxis, ref);\n }\n // Handle is a React component (composite or DOM).\n var isDOMElement = typeof handle.type === 'string';\n var props = _objectSpread({\n ref: ref\n }, isDOMElement ? {} : {\n handleAxis: handleAxis\n });\n return /*#__PURE__*/React.cloneElement(handle, props);\n };\n _proto.render = function render() {\n var _this3 = this;\n // Pass along only props not meant for the ``.`\n // eslint-disable-next-line no-unused-vars\n var _this$props2 = this.props,\n children = _this$props2.children,\n className = _this$props2.className,\n draggableOpts = _this$props2.draggableOpts,\n width = _this$props2.width,\n height = _this$props2.height,\n handle = _this$props2.handle,\n handleSize = _this$props2.handleSize,\n lockAspectRatio = _this$props2.lockAspectRatio,\n axis = _this$props2.axis,\n minConstraints = _this$props2.minConstraints,\n maxConstraints = _this$props2.maxConstraints,\n onResize = _this$props2.onResize,\n onResizeStop = _this$props2.onResizeStop,\n onResizeStart = _this$props2.onResizeStart,\n resizeHandles = _this$props2.resizeHandles,\n transformScale = _this$props2.transformScale,\n p = _objectWithoutPropertiesLoose(_this$props2, _excluded);\n\n // What we're doing here is getting the child of this element, and cloning it with this element's props.\n // We are then defining its children as:\n // 1. Its original children (resizable's child's children), and\n // 2. One or more draggable handles.\n return (0, _utils.cloneElement)(children, _objectSpread(_objectSpread({}, p), {}, {\n className: (className ? className + \" \" : '') + \"react-resizable\",\n children: [].concat(children.props.children, resizeHandles.map(function (handleAxis) {\n var _this3$handleRefs$han;\n // Create a ref to the handle so that `` doesn't have to use ReactDOM.findDOMNode().\n var ref = (_this3$handleRefs$han = _this3.handleRefs[handleAxis]) != null ? _this3$handleRefs$han : _this3.handleRefs[handleAxis] = /*#__PURE__*/React.createRef();\n return /*#__PURE__*/React.createElement(_reactDraggable.DraggableCore, _extends({}, draggableOpts, {\n nodeRef: ref,\n key: \"resizableHandle-\" + handleAxis,\n onStop: _this3.resizeHandler('onResizeStop', handleAxis),\n onStart: _this3.resizeHandler('onResizeStart', handleAxis),\n onDrag: _this3.resizeHandler('onResize', handleAxis)\n }), _this3.renderResizeHandle(handleAxis, ref));\n }))\n }));\n };\n return Resizable;\n}(React.Component);\nexports.default = Resizable;\nResizable.propTypes = _propTypes.resizableProps;\nResizable.defaultProps = {\n axis: 'both',\n handleSize: [20, 20],\n lockAspectRatio: false,\n minConstraints: [20, 20],\n maxConstraints: [Infinity, Infinity],\n resizeHandles: ['se'],\n transformScale: 1\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _Resizable = _interopRequireDefault(require(\"./Resizable\"));\nvar _propTypes2 = require(\"./propTypes\");\nvar _excluded = [\"handle\", \"handleSize\", \"onResize\", \"onResizeStart\", \"onResizeStop\", \"draggableOpts\", \"minConstraints\", \"maxConstraints\", \"lockAspectRatio\", \"axis\", \"width\", \"height\", \"resizeHandles\", \"style\", \"transformScale\"];\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : 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; }; return _extends.apply(this, arguments); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nvar ResizableBox = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(ResizableBox, _React$Component);\n function ResizableBox() {\n var _this;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.state = {\n width: _this.props.width,\n height: _this.props.height,\n propsWidth: _this.props.width,\n propsHeight: _this.props.height\n };\n _this.onResize = function (e, data) {\n var size = data.size;\n if (_this.props.onResize) {\n e.persist == null ? void 0 : e.persist();\n _this.setState(size, function () {\n return _this.props.onResize && _this.props.onResize(e, data);\n });\n } else {\n _this.setState(size);\n }\n };\n return _this;\n }\n ResizableBox.getDerivedStateFromProps = function getDerivedStateFromProps(props, state) {\n // If parent changes height/width, set that in our state.\n if (state.propsWidth !== props.width || state.propsHeight !== props.height) {\n return {\n width: props.width,\n height: props.height,\n propsWidth: props.width,\n propsHeight: props.height\n };\n }\n return null;\n };\n var _proto = ResizableBox.prototype;\n _proto.render = function render() {\n // Basic wrapper around a Resizable instance.\n // If you use Resizable directly, you are responsible for updating the child component\n // with a new width and height.\n var _this$props = this.props,\n handle = _this$props.handle,\n handleSize = _this$props.handleSize,\n onResize = _this$props.onResize,\n onResizeStart = _this$props.onResizeStart,\n onResizeStop = _this$props.onResizeStop,\n draggableOpts = _this$props.draggableOpts,\n minConstraints = _this$props.minConstraints,\n maxConstraints = _this$props.maxConstraints,\n lockAspectRatio = _this$props.lockAspectRatio,\n axis = _this$props.axis,\n width = _this$props.width,\n height = _this$props.height,\n resizeHandles = _this$props.resizeHandles,\n style = _this$props.style,\n transformScale = _this$props.transformScale,\n props = _objectWithoutPropertiesLoose(_this$props, _excluded);\n return /*#__PURE__*/React.createElement(_Resizable.default, {\n axis: axis,\n draggableOpts: draggableOpts,\n handle: handle,\n handleSize: handleSize,\n height: this.state.height,\n lockAspectRatio: lockAspectRatio,\n maxConstraints: maxConstraints,\n minConstraints: minConstraints,\n onResizeStart: onResizeStart,\n onResize: this.onResize,\n onResizeStop: onResizeStop,\n resizeHandles: resizeHandles,\n transformScale: transformScale,\n width: this.state.width\n }, /*#__PURE__*/React.createElement(\"div\", _extends({}, props, {\n style: _objectSpread(_objectSpread({}, style), {}, {\n width: this.state.width + 'px',\n height: this.state.height + 'px'\n })\n })));\n };\n return ResizableBox;\n}(React.Component);\nexports.default = ResizableBox;\n// PropTypes are identical to , except that children are not strictly required to be present.\nResizableBox.propTypes = _objectSpread(_objectSpread({}, _propTypes2.resizableProps), {}, {\n children: _propTypes.default.element\n});","\"use strict\";\n\nexports.__esModule = true;\nexports.resizableProps = void 0;\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _reactDraggable = require(\"react-draggable\");\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nvar resizableProps = {\n /*\n * Restricts resizing to a particular axis (default: 'both')\n * 'both' - allows resizing by width or height\n * 'x' - only allows the width to be changed\n * 'y' - only allows the height to be changed\n * 'none' - disables resizing altogether\n * */\n axis: _propTypes.default.oneOf(['both', 'x', 'y', 'none']),\n className: _propTypes.default.string,\n /*\n * Require that one and only one child be present.\n * */\n children: _propTypes.default.element.isRequired,\n /*\n * These will be passed wholesale to react-draggable's DraggableCore\n * */\n draggableOpts: _propTypes.default.shape({\n allowAnyClick: _propTypes.default.bool,\n cancel: _propTypes.default.string,\n children: _propTypes.default.node,\n disabled: _propTypes.default.bool,\n enableUserSelectHack: _propTypes.default.bool,\n offsetParent: _propTypes.default.node,\n grid: _propTypes.default.arrayOf(_propTypes.default.number),\n handle: _propTypes.default.string,\n nodeRef: _propTypes.default.object,\n onStart: _propTypes.default.func,\n onDrag: _propTypes.default.func,\n onStop: _propTypes.default.func,\n onMouseDown: _propTypes.default.func,\n scale: _propTypes.default.number\n }),\n /*\n * Initial height\n * */\n height: function height() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n var props = args[0];\n // Required if resizing height or both\n if (props.axis === 'both' || props.axis === 'y') {\n var _PropTypes$number;\n return (_PropTypes$number = _propTypes.default.number).isRequired.apply(_PropTypes$number, args);\n }\n return _propTypes.default.number.apply(_propTypes.default, args);\n },\n /*\n * Customize cursor resize handle\n * */\n handle: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.func]),\n /*\n * If you change this, be sure to update your css\n * */\n handleSize: _propTypes.default.arrayOf(_propTypes.default.number),\n lockAspectRatio: _propTypes.default.bool,\n /*\n * Max X & Y measure\n * */\n maxConstraints: _propTypes.default.arrayOf(_propTypes.default.number),\n /*\n * Min X & Y measure\n * */\n minConstraints: _propTypes.default.arrayOf(_propTypes.default.number),\n /*\n * Called on stop resize event\n * */\n onResizeStop: _propTypes.default.func,\n /*\n * Called on start resize event\n * */\n onResizeStart: _propTypes.default.func,\n /*\n * Called on resize event\n * */\n onResize: _propTypes.default.func,\n /*\n * Defines which resize handles should be rendered (default: 'se')\n * 's' - South handle (bottom-center)\n * 'w' - West handle (left-center)\n * 'e' - East handle (right-center)\n * 'n' - North handle (top-center)\n * 'sw' - Southwest handle (bottom-left)\n * 'nw' - Northwest handle (top-left)\n * 'se' - Southeast handle (bottom-right)\n * 'ne' - Northeast handle (top-center)\n * */\n resizeHandles: _propTypes.default.arrayOf(_propTypes.default.oneOf(['s', 'w', 'e', 'n', 'sw', 'nw', 'se', 'ne'])),\n /*\n * If `transform: scale(n)` is set on the parent, this should be set to `n`.\n * */\n transformScale: _propTypes.default.number,\n /*\n * Initial width\n */\n width: function width() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n var props = args[0];\n // Required if resizing width or both\n if (props.axis === 'both' || props.axis === 'x') {\n var _PropTypes$number2;\n return (_PropTypes$number2 = _propTypes.default.number).isRequired.apply(_PropTypes$number2, args);\n }\n return _propTypes.default.number.apply(_propTypes.default, args);\n }\n};\nexports.resizableProps = resizableProps;","\"use strict\";\n\nexports.__esModule = true;\nexports.cloneElement = cloneElement;\nvar _react = _interopRequireDefault(require(\"react\"));\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n// React.addons.cloneWithProps look-alike that merges style & className.\nfunction cloneElement(element, props) {\n if (props.style && element.props.style) {\n props.style = _objectSpread(_objectSpread({}, element.props.style), props.style);\n }\n if (props.className && element.props.className) {\n props.className = element.props.className + \" \" + props.className;\n }\n return /*#__PURE__*/_react.default.cloneElement(element, props);\n}","'use strict';\nmodule.exports = function() {\n throw new Error(\"Don't instantiate Resizable directly! Use require('react-resizable').Resizable\");\n};\n\nmodule.exports.Resizable = require('./build/Resizable').default;\nmodule.exports.ResizableBox = require('./build/ResizableBox').default;\n","import React from 'react'\n\nlet renderErr = 'Renderer Error ☝️'\n\nexport const actions = {\n init: 'init',\n}\n\nexport const defaultRenderer = ({ value = '' }) => value;\nexport const emptyRenderer = () => <> ;\n\nexport const defaultColumn = {\n Cell: defaultRenderer,\n width: 150,\n minWidth: 0,\n maxWidth: Number.MAX_SAFE_INTEGER,\n}\n\nfunction mergeProps(...propList) {\n return propList.reduce((props, next) => {\n const { style, className, ...rest } = next\n\n props = {\n ...props,\n ...rest,\n }\n\n if (style) {\n props.style = props.style\n ? { ...(props.style || {}), ...(style || {}) }\n : style\n }\n\n if (className) {\n props.className = props.className\n ? props.className + ' ' + className\n : className\n }\n\n if (props.className === '') {\n delete props.className\n }\n\n return props\n }, {})\n}\n\nfunction handlePropGetter(prevProps, userProps, meta) {\n // Handle a lambda, pass it the previous props\n if (typeof userProps === 'function') {\n return handlePropGetter({}, userProps(prevProps, meta))\n }\n\n // Handle an array, merge each item as separate props\n if (Array.isArray(userProps)) {\n return mergeProps(prevProps, ...userProps)\n }\n\n // Handle an object by default, merge the two objects\n return mergeProps(prevProps, userProps)\n}\n\nexport const makePropGetter = (hooks, meta = {}) => {\n return (userProps = {}) =>\n [...hooks, userProps].reduce(\n (prev, next) =>\n handlePropGetter(prev, next, {\n ...meta,\n userProps,\n }),\n {}\n )\n}\n\nexport const reduceHooks = (hooks, initial, meta = {}, allowUndefined) =>\n hooks.reduce((prev, next) => {\n const nextValue = next(prev, meta)\n if (process.env.NODE_ENV !== 'production') {\n if (!allowUndefined && typeof nextValue === 'undefined') {\n console.info(next)\n throw new Error(\n 'React Table: A reducer hook ☝️ just returned undefined! This is not allowed.'\n )\n }\n }\n return nextValue\n }, initial)\n\nexport const loopHooks = (hooks, context, meta = {}) =>\n hooks.forEach(hook => {\n const nextValue = hook(context, meta)\n if (process.env.NODE_ENV !== 'production') {\n if (typeof nextValue !== 'undefined') {\n console.info(hook, nextValue)\n throw new Error(\n 'React Table: A loop-type hook ☝️ just returned a value! This is not allowed.'\n )\n }\n }\n })\n\nexport function ensurePluginOrder(plugins, befores, pluginName, afters) {\n if (process.env.NODE_ENV !== 'production' && afters) {\n throw new Error(\n `Defining plugins in the \"after\" section of ensurePluginOrder is no longer supported (see plugin ${pluginName})`\n )\n }\n const pluginIndex = plugins.findIndex(\n plugin => plugin.pluginName === pluginName\n )\n\n if (pluginIndex === -1) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(`The plugin \"${pluginName}\" was not found in the plugin list!\nThis usually means you need to need to name your plugin hook by setting the 'pluginName' property of the hook function, eg:\n\n ${pluginName}.pluginName = '${pluginName}'\n`)\n }\n }\n\n befores.forEach(before => {\n const beforeIndex = plugins.findIndex(\n plugin => plugin.pluginName === before\n )\n if (beforeIndex > -1 && beforeIndex > pluginIndex) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n `React Table: The ${pluginName} plugin hook must be placed after the ${before} plugin hook!`\n )\n }\n }\n })\n}\n\nexport function functionalUpdate(updater, old) {\n return typeof updater === 'function' ? updater(old) : updater\n}\n\nexport function useGetLatest(obj) {\n const ref = React.useRef()\n ref.current = obj\n\n return React.useCallback(() => ref.current, [])\n}\n\n// SSR has issues with useLayoutEffect still, so use useEffect during SSR\nexport const safeUseLayoutEffect =\n typeof document !== 'undefined' ? React.useLayoutEffect : React.useEffect\n\nexport function useMountedLayoutEffect(fn, deps) {\n const mountedRef = React.useRef(false)\n\n safeUseLayoutEffect(() => {\n if (mountedRef.current) {\n fn()\n }\n mountedRef.current = true\n // eslint-disable-next-line\n }, deps)\n}\n\nexport function useAsyncDebounce(defaultFn, defaultWait = 0) {\n const debounceRef = React.useRef({})\n\n const getDefaultFn = useGetLatest(defaultFn)\n const getDefaultWait = useGetLatest(defaultWait)\n\n return React.useCallback(\n async (...args) => {\n if (!debounceRef.current.promise) {\n debounceRef.current.promise = new Promise((resolve, reject) => {\n debounceRef.current.resolve = resolve\n debounceRef.current.reject = reject\n })\n }\n\n if (debounceRef.current.timeout) {\n clearTimeout(debounceRef.current.timeout)\n }\n\n debounceRef.current.timeout = setTimeout(async () => {\n delete debounceRef.current.timeout\n try {\n debounceRef.current.resolve(await getDefaultFn()(...args))\n } catch (err) {\n debounceRef.current.reject(err)\n } finally {\n delete debounceRef.current.promise\n }\n }, getDefaultWait())\n\n return debounceRef.current.promise\n },\n [getDefaultFn, getDefaultWait]\n )\n}\n\nexport function makeRenderer(instance, column, meta = {}) {\n return (type, userProps = {}) => {\n const Comp = typeof type === 'string' ? column[type] : type\n\n if (typeof Comp === 'undefined') {\n console.info(column)\n throw new Error(renderErr)\n }\n\n return flexRender(Comp, { ...instance, column, ...meta, ...userProps })\n }\n}\n\nexport function flexRender(Comp, props) {\n return isReactComponent(Comp) ? : Comp\n}\n\nfunction isReactComponent(component) {\n return (\n isClassComponent(component) ||\n typeof component === 'function' ||\n isExoticComponent(component)\n )\n}\n\nfunction isClassComponent(component) {\n return (\n typeof component === 'function' &&\n (() => {\n const proto = Object.getPrototypeOf(component)\n return proto.prototype && proto.prototype.isReactComponent\n })()\n )\n}\n\nfunction isExoticComponent(component) {\n return (\n typeof component === 'object' &&\n typeof component.$$typeof === 'symbol' &&\n ['react.memo', 'react.forward_ref'].includes(component.$$typeof.description)\n )\n}\n","import { defaultColumn, emptyRenderer } from './publicUtils'\n\n// Find the depth of the columns\nexport function findMaxDepth(columns, depth = 0) {\n return columns.reduce((prev, curr) => {\n if (curr.columns) {\n return Math.max(prev, findMaxDepth(curr.columns, depth + 1))\n }\n return depth\n }, 0)\n}\n\n// Build the visible columns, headers and flat column list\nexport function linkColumnStructure(columns, parent, depth = 0) {\n return columns.map(column => {\n column = {\n ...column,\n parent,\n depth,\n }\n\n assignColumnAccessor(column)\n\n if (column.columns) {\n column.columns = linkColumnStructure(column.columns, column, depth + 1)\n }\n return column\n })\n}\n\nexport function flattenColumns(columns) {\n return flattenBy(columns, 'columns')\n}\n\nexport function assignColumnAccessor(column) {\n // First check for string accessor\n let { id, accessor, Header } = column\n\n if (typeof accessor === 'string') {\n id = id || accessor\n const accessorPath = accessor.split('.')\n accessor = row => getBy(row, accessorPath)\n }\n\n if (!id && typeof Header === 'string' && Header) {\n id = Header\n }\n\n if (!id && column.columns) {\n console.error(column)\n throw new Error('A column ID (or unique \"Header\" value) is required!')\n }\n\n if (!id) {\n console.error(column)\n throw new Error('A column ID (or string accessor) is required!')\n }\n\n Object.assign(column, {\n id,\n accessor,\n })\n\n return column\n}\n\nexport function decorateColumn(column, userDefaultColumn) {\n if (!userDefaultColumn) {\n throw new Error()\n }\n Object.assign(column, {\n // Make sure there is a fallback header, just in case\n Header: emptyRenderer,\n Footer: emptyRenderer,\n ...defaultColumn,\n ...userDefaultColumn,\n ...column,\n })\n\n Object.assign(column, {\n originalWidth: column.width,\n })\n\n return column\n}\n\n// Build the header groups from the bottom up\nexport function makeHeaderGroups(\n allColumns,\n defaultColumn,\n additionalHeaderProperties = () => ({})\n) {\n const headerGroups = []\n\n let scanColumns = allColumns\n\n let uid = 0\n const getUID = () => uid++\n\n while (scanColumns.length) {\n // The header group we are creating\n const headerGroup = {\n headers: [],\n }\n\n // The parent columns we're going to scan next\n const parentColumns = []\n\n const hasParents = scanColumns.some(d => d.parent)\n\n // Scan each column for parents\n scanColumns.forEach(column => {\n // What is the latest (last) parent column?\n let latestParentColumn = [...parentColumns].reverse()[0]\n\n let newParent\n\n if (hasParents) {\n // If the column has a parent, add it if necessary\n if (column.parent) {\n newParent = {\n ...column.parent,\n originalId: column.parent.id,\n id: `${column.parent.id}_${getUID()}`,\n headers: [column],\n ...additionalHeaderProperties(column),\n }\n } else {\n // If other columns have parents, we'll need to add a place holder if necessary\n const originalId = `${column.id}_placeholder`\n newParent = decorateColumn(\n {\n originalId,\n id: `${column.id}_placeholder_${getUID()}`,\n placeholderOf: column,\n headers: [column],\n ...additionalHeaderProperties(column),\n },\n defaultColumn\n )\n }\n\n // If the resulting parent columns are the same, just add\n // the column and increment the header span\n if (\n latestParentColumn &&\n latestParentColumn.originalId === newParent.originalId\n ) {\n latestParentColumn.headers.push(column)\n } else {\n parentColumns.push(newParent)\n }\n }\n\n headerGroup.headers.push(column)\n })\n\n headerGroups.push(headerGroup)\n\n // Start scanning the parent columns\n scanColumns = parentColumns\n }\n\n return headerGroups.reverse()\n}\n\nconst pathObjCache = new Map()\n\nexport function getBy(obj, path, def) {\n if (!path) {\n return obj\n }\n const cacheKey = typeof path === 'function' ? path : JSON.stringify(path)\n\n const pathObj =\n pathObjCache.get(cacheKey) ||\n (() => {\n const pathObj = makePathArray(path)\n pathObjCache.set(cacheKey, pathObj)\n return pathObj\n })()\n\n let val\n\n try {\n val = pathObj.reduce((cursor, pathPart) => cursor[pathPart], obj)\n } catch (e) {\n // continue regardless of error\n }\n return typeof val !== 'undefined' ? val : def\n}\n\nexport function getFirstDefined(...args) {\n for (let i = 0; i < args.length; i += 1) {\n if (typeof args[i] !== 'undefined') {\n return args[i]\n }\n }\n}\n\nexport function getElementDimensions(element) {\n const rect = element.getBoundingClientRect()\n const style = window.getComputedStyle(element)\n const margins = {\n left: parseInt(style.marginLeft),\n right: parseInt(style.marginRight),\n }\n const padding = {\n left: parseInt(style.paddingLeft),\n right: parseInt(style.paddingRight),\n }\n return {\n left: Math.ceil(rect.left),\n width: Math.ceil(rect.width),\n outerWidth: Math.ceil(\n rect.width + margins.left + margins.right + padding.left + padding.right\n ),\n marginLeft: margins.left,\n marginRight: margins.right,\n paddingLeft: padding.left,\n paddingRight: padding.right,\n scrollWidth: element.scrollWidth,\n }\n}\n\nexport function isFunction(a) {\n if (typeof a === 'function') {\n return a\n }\n}\n\nexport function flattenBy(arr, key) {\n const flat = []\n\n const recurse = arr => {\n arr.forEach(d => {\n if (!d[key]) {\n flat.push(d)\n } else {\n recurse(d[key])\n }\n })\n }\n\n recurse(arr)\n\n return flat\n}\n\nexport function expandRows(\n rows,\n { manualExpandedKey, expanded, expandSubRows = true }\n) {\n const expandedRows = []\n\n const handleRow = (row, addToExpandedRows = true) => {\n row.isExpanded =\n (row.original && row.original[manualExpandedKey]) || expanded[row.id]\n\n row.canExpand = row.subRows && !!row.subRows.length\n\n if (addToExpandedRows) {\n expandedRows.push(row)\n }\n\n if (row.subRows && row.subRows.length && row.isExpanded) {\n row.subRows.forEach(row => handleRow(row, expandSubRows))\n }\n }\n\n rows.forEach(row => handleRow(row))\n\n return expandedRows\n}\n\nexport function getFilterMethod(filter, userFilterTypes, filterTypes) {\n return (\n isFunction(filter) ||\n userFilterTypes[filter] ||\n filterTypes[filter] ||\n filterTypes.text\n )\n}\n\nexport function shouldAutoRemoveFilter(autoRemove, value, column) {\n return autoRemove ? autoRemove(value, column) : typeof value === 'undefined'\n}\n\nexport function unpreparedAccessWarning() {\n throw new Error(\n 'React-Table: You have not called prepareRow(row) one or more rows you are attempting to render.'\n )\n}\n\nlet passiveSupported = null\nexport function passiveEventSupported() {\n // memoize support to avoid adding multiple test events\n if (typeof passiveSupported === 'boolean') return passiveSupported\n\n let supported = false\n try {\n const options = {\n get passive() {\n supported = true\n return false\n },\n }\n\n window.addEventListener('test', null, options)\n window.removeEventListener('test', null, options)\n } catch (err) {\n supported = false\n }\n passiveSupported = supported\n return passiveSupported\n}\n\n//\n\nconst reOpenBracket = /\\[/g\nconst reCloseBracket = /\\]/g\n\nfunction makePathArray(obj) {\n return (\n flattenDeep(obj)\n // remove all periods in parts\n .map(d => String(d).replace('.', '_'))\n // join parts using period\n .join('.')\n // replace brackets with periods\n .replace(reOpenBracket, '.')\n .replace(reCloseBracket, '')\n // split it back out on periods\n .split('.')\n )\n}\n\nfunction flattenDeep(arr, newArr = []) {\n if (!Array.isArray(arr)) {\n newArr.push(arr)\n } else {\n for (let i = 0; i < arr.length; i += 1) {\n flattenDeep(arr[i], newArr)\n }\n }\n return newArr\n}\n","const defaultGetTableProps = props => ({\n role: 'table',\n ...props,\n})\n\nconst defaultGetTableBodyProps = props => ({\n role: 'rowgroup',\n ...props,\n})\n\nconst defaultGetHeaderProps = (props, { column }) => ({\n key: `header_${column.id}`,\n colSpan: column.totalVisibleHeaderCount,\n role: 'columnheader',\n ...props,\n})\n\nconst defaultGetFooterProps = (props, { column }) => ({\n key: `footer_${column.id}`,\n colSpan: column.totalVisibleHeaderCount,\n ...props,\n})\n\nconst defaultGetHeaderGroupProps = (props, { index }) => ({\n key: `headerGroup_${index}`,\n role: 'row',\n ...props,\n})\n\nconst defaultGetFooterGroupProps = (props, { index }) => ({\n key: `footerGroup_${index}`,\n ...props,\n})\n\nconst defaultGetRowProps = (props, { row }) => ({\n key: `row_${row.id}`,\n role: 'row',\n ...props,\n})\n\nconst defaultGetCellProps = (props, { cell }) => ({\n key: `cell_${cell.row.id}_${cell.column.id}`,\n role: 'cell',\n ...props,\n})\n\nexport default function makeDefaultPluginHooks() {\n return {\n useOptions: [],\n stateReducers: [],\n useControlledState: [],\n columns: [],\n columnsDeps: [],\n allColumns: [],\n allColumnsDeps: [],\n accessValue: [],\n materializedColumns: [],\n materializedColumnsDeps: [],\n useInstanceAfterData: [],\n visibleColumns: [],\n visibleColumnsDeps: [],\n headerGroups: [],\n headerGroupsDeps: [],\n useInstanceBeforeDimensions: [],\n useInstance: [],\n prepareRow: [],\n getTableProps: [defaultGetTableProps],\n getTableBodyProps: [defaultGetTableBodyProps],\n getHeaderGroupProps: [defaultGetHeaderGroupProps],\n getFooterGroupProps: [defaultGetFooterGroupProps],\n getHeaderProps: [defaultGetHeaderProps],\n getFooterProps: [defaultGetFooterProps],\n getRowProps: [defaultGetRowProps],\n getCellProps: [defaultGetCellProps],\n useFinalInstance: [],\n }\n}\n","import React from 'react'\n\nimport {\n actions,\n functionalUpdate,\n useGetLatest,\n makePropGetter,\n useMountedLayoutEffect,\n} from '../publicUtils'\n\nactions.resetHiddenColumns = 'resetHiddenColumns'\nactions.toggleHideColumn = 'toggleHideColumn'\nactions.setHiddenColumns = 'setHiddenColumns'\nactions.toggleHideAllColumns = 'toggleHideAllColumns'\n\nexport const useColumnVisibility = hooks => {\n hooks.getToggleHiddenProps = [defaultGetToggleHiddenProps]\n hooks.getToggleHideAllColumnsProps = [defaultGetToggleHideAllColumnsProps]\n\n hooks.stateReducers.push(reducer)\n hooks.useInstanceBeforeDimensions.push(useInstanceBeforeDimensions)\n hooks.headerGroupsDeps.push((deps, { instance }) => [\n ...deps,\n instance.state.hiddenColumns,\n ])\n hooks.useInstance.push(useInstance)\n}\n\nuseColumnVisibility.pluginName = 'useColumnVisibility'\n\nconst defaultGetToggleHiddenProps = (props, { column }) => [\n props,\n {\n onChange: e => {\n column.toggleHidden(!e.target.checked)\n },\n style: {\n cursor: 'pointer',\n },\n checked: column.isVisible,\n title: 'Toggle Column Visible',\n },\n]\n\nconst defaultGetToggleHideAllColumnsProps = (props, { instance }) => [\n props,\n {\n onChange: e => {\n instance.toggleHideAllColumns(!e.target.checked)\n },\n style: {\n cursor: 'pointer',\n },\n checked: !instance.allColumnsHidden && !instance.state.hiddenColumns.length,\n title: 'Toggle All Columns Hidden',\n indeterminate:\n !instance.allColumnsHidden && instance.state.hiddenColumns.length,\n },\n]\n\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n hiddenColumns: [],\n ...state,\n }\n }\n\n if (action.type === actions.resetHiddenColumns) {\n return {\n ...state,\n hiddenColumns: instance.initialState.hiddenColumns || [],\n }\n }\n\n if (action.type === actions.toggleHideColumn) {\n const should =\n typeof action.value !== 'undefined'\n ? action.value\n : !state.hiddenColumns.includes(action.columnId)\n\n const hiddenColumns = should\n ? [...state.hiddenColumns, action.columnId]\n : state.hiddenColumns.filter(d => d !== action.columnId)\n\n return {\n ...state,\n hiddenColumns,\n }\n }\n\n if (action.type === actions.setHiddenColumns) {\n return {\n ...state,\n hiddenColumns: functionalUpdate(action.value, state.hiddenColumns),\n }\n }\n\n if (action.type === actions.toggleHideAllColumns) {\n const shouldAll =\n typeof action.value !== 'undefined'\n ? action.value\n : !state.hiddenColumns.length\n\n return {\n ...state,\n hiddenColumns: shouldAll ? instance.allColumns.map(d => d.id) : [],\n }\n }\n}\n\nfunction useInstanceBeforeDimensions(instance) {\n const {\n headers,\n state: { hiddenColumns },\n } = instance\n\n const isMountedRef = React.useRef(false)\n\n if (!isMountedRef.current) {\n }\n\n const handleColumn = (column, parentVisible) => {\n column.isVisible = parentVisible && !hiddenColumns.includes(column.id)\n\n let totalVisibleHeaderCount = 0\n\n if (column.headers && column.headers.length) {\n column.headers.forEach(\n subColumn =>\n (totalVisibleHeaderCount += handleColumn(subColumn, column.isVisible))\n )\n } else {\n totalVisibleHeaderCount = column.isVisible ? 1 : 0\n }\n\n column.totalVisibleHeaderCount = totalVisibleHeaderCount\n\n return totalVisibleHeaderCount\n }\n\n let totalVisibleHeaderCount = 0\n\n headers.forEach(\n subHeader => (totalVisibleHeaderCount += handleColumn(subHeader, true))\n )\n}\n\nfunction useInstance(instance) {\n const {\n columns,\n flatHeaders,\n dispatch,\n allColumns,\n getHooks,\n state: { hiddenColumns },\n autoResetHiddenColumns = true,\n } = instance\n\n const getInstance = useGetLatest(instance)\n\n const allColumnsHidden = allColumns.length === hiddenColumns.length\n\n const toggleHideColumn = React.useCallback(\n (columnId, value) =>\n dispatch({ type: actions.toggleHideColumn, columnId, value }),\n [dispatch]\n )\n\n const setHiddenColumns = React.useCallback(\n value => dispatch({ type: actions.setHiddenColumns, value }),\n [dispatch]\n )\n\n const toggleHideAllColumns = React.useCallback(\n value => dispatch({ type: actions.toggleHideAllColumns, value }),\n [dispatch]\n )\n\n const getToggleHideAllColumnsProps = makePropGetter(\n getHooks().getToggleHideAllColumnsProps,\n { instance: getInstance() }\n )\n\n flatHeaders.forEach(column => {\n column.toggleHidden = value => {\n dispatch({\n type: actions.toggleHideColumn,\n columnId: column.id,\n value,\n })\n }\n\n column.getToggleHiddenProps = makePropGetter(\n getHooks().getToggleHiddenProps,\n {\n instance: getInstance(),\n column,\n }\n )\n })\n\n const getAutoResetHiddenColumns = useGetLatest(autoResetHiddenColumns)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetHiddenColumns()) {\n dispatch({ type: actions.resetHiddenColumns })\n }\n }, [dispatch, columns])\n\n Object.assign(instance, {\n allColumnsHidden,\n toggleHideColumn,\n setHiddenColumns,\n toggleHideAllColumns,\n getToggleHideAllColumnsProps,\n })\n}\n","import React from 'react'\n\n//\n\nimport {\n linkColumnStructure,\n flattenColumns,\n assignColumnAccessor,\n unpreparedAccessWarning,\n makeHeaderGroups,\n decorateColumn,\n} from '../utils'\n\nimport {\n useGetLatest,\n reduceHooks,\n actions,\n loopHooks,\n makePropGetter,\n makeRenderer,\n} from '../publicUtils'\n\nimport makeDefaultPluginHooks from '../makeDefaultPluginHooks'\n\nimport { useColumnVisibility } from './useColumnVisibility'\n\nconst defaultInitialState = {}\nconst defaultColumnInstance = {}\nconst defaultReducer = (state, action, prevState) => state\nconst defaultGetSubRows = (row, index) => row.subRows || []\nconst defaultGetRowId = (row, index, parent) =>\n `${parent ? [parent.id, index].join('.') : index}`\nconst defaultUseControlledState = d => d\n\nfunction applyDefaults(props) {\n const {\n initialState = defaultInitialState,\n defaultColumn = defaultColumnInstance,\n getSubRows = defaultGetSubRows,\n getRowId = defaultGetRowId,\n stateReducer = defaultReducer,\n useControlledState = defaultUseControlledState,\n ...rest\n } = props\n\n return {\n ...rest,\n initialState,\n defaultColumn,\n getSubRows,\n getRowId,\n stateReducer,\n useControlledState,\n }\n}\n\nexport const useTable = (props, ...plugins) => {\n // Apply default props\n props = applyDefaults(props)\n\n // Add core plugins\n plugins = [useColumnVisibility, ...plugins]\n\n // Create the table instance\n let instanceRef = React.useRef({})\n\n // Create a getter for the instance (helps avoid a lot of potential memory leaks)\n const getInstance = useGetLatest(instanceRef.current)\n\n // Assign the props, plugins and hooks to the instance\n Object.assign(getInstance(), {\n ...props,\n plugins,\n hooks: makeDefaultPluginHooks(),\n })\n\n // Allow plugins to register hooks as early as possible\n plugins.filter(Boolean).forEach(plugin => {\n plugin(getInstance().hooks)\n })\n\n // Consume all hooks and make a getter for them\n const getHooks = useGetLatest(getInstance().hooks)\n getInstance().getHooks = getHooks\n delete getInstance().hooks\n\n // Allow useOptions hooks to modify the options coming into the table\n Object.assign(\n getInstance(),\n reduceHooks(getHooks().useOptions, applyDefaults(props))\n )\n\n const {\n data,\n columns: userColumns,\n initialState,\n defaultColumn,\n getSubRows,\n getRowId,\n stateReducer,\n useControlledState,\n } = getInstance()\n\n // Setup user reducer ref\n const getStateReducer = useGetLatest(stateReducer)\n\n // Build the reducer\n const reducer = React.useCallback(\n (state, action) => {\n // Detect invalid actions\n if (!action.type) {\n console.info({ action })\n throw new Error('Unknown Action 👆')\n }\n\n // Reduce the state from all plugin reducers\n return [\n ...getHooks().stateReducers,\n // Allow the user to add their own state reducer(s)\n ...(Array.isArray(getStateReducer())\n ? getStateReducer()\n : [getStateReducer()]),\n ].reduce(\n (s, handler) => handler(s, action, state, getInstance()) || s,\n state\n )\n },\n [getHooks, getStateReducer, getInstance]\n )\n\n // Start the reducer\n const [reducerState, dispatch] = React.useReducer(reducer, undefined, () =>\n reducer(initialState, { type: actions.init })\n )\n\n // Allow the user to control the final state with hooks\n const state = reduceHooks(\n [...getHooks().useControlledState, useControlledState],\n reducerState,\n { instance: getInstance() }\n )\n\n Object.assign(getInstance(), {\n state,\n dispatch,\n })\n\n // Decorate All the columns\n const columns = React.useMemo(\n () =>\n linkColumnStructure(\n reduceHooks(getHooks().columns, userColumns, {\n instance: getInstance(),\n })\n ),\n [\n getHooks,\n getInstance,\n userColumns,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n ...reduceHooks(getHooks().columnsDeps, [], { instance: getInstance() }),\n ]\n )\n getInstance().columns = columns\n\n // Get the flat list of all columns and allow hooks to decorate\n // those columns (and trigger this memoization via deps)\n let allColumns = React.useMemo(\n () =>\n reduceHooks(getHooks().allColumns, flattenColumns(columns), {\n instance: getInstance(),\n }).map(assignColumnAccessor),\n [\n columns,\n getHooks,\n getInstance,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n ...reduceHooks(getHooks().allColumnsDeps, [], {\n instance: getInstance(),\n }),\n ]\n )\n getInstance().allColumns = allColumns\n\n // Access the row model using initial columns\n const [rows, flatRows, rowsById] = React.useMemo(() => {\n let rows = []\n let flatRows = []\n const rowsById = {}\n\n const allColumnsQueue = [...allColumns]\n\n while (allColumnsQueue.length) {\n const column = allColumnsQueue.shift()\n accessRowsForColumn({\n data,\n rows,\n flatRows,\n rowsById,\n column,\n getRowId,\n getSubRows,\n accessValueHooks: getHooks().accessValue,\n getInstance,\n })\n }\n\n return [rows, flatRows, rowsById]\n }, [allColumns, data, getRowId, getSubRows, getHooks, getInstance])\n\n Object.assign(getInstance(), {\n rows,\n initialRows: [...rows],\n flatRows,\n rowsById,\n // materializedColumns,\n })\n\n loopHooks(getHooks().useInstanceAfterData, getInstance())\n\n // Get the flat list of all columns AFTER the rows\n // have been access, and allow hooks to decorate\n // those columns (and trigger this memoization via deps)\n let visibleColumns = React.useMemo(\n () =>\n reduceHooks(getHooks().visibleColumns, allColumns, {\n instance: getInstance(),\n }).map(d => decorateColumn(d, defaultColumn)),\n [\n getHooks,\n allColumns,\n getInstance,\n defaultColumn,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n ...reduceHooks(getHooks().visibleColumnsDeps, [], {\n instance: getInstance(),\n }),\n ]\n )\n\n // Combine new visible columns with all columns\n allColumns = React.useMemo(() => {\n const columns = [...visibleColumns]\n\n allColumns.forEach(column => {\n if (!columns.find(d => d.id === column.id)) {\n columns.push(column)\n }\n })\n\n return columns\n }, [allColumns, visibleColumns])\n getInstance().allColumns = allColumns\n\n if (process.env.NODE_ENV !== 'production') {\n const duplicateColumns = allColumns.filter((column, i) => {\n return allColumns.findIndex(d => d.id === column.id) !== i\n })\n\n if (duplicateColumns.length) {\n console.info(allColumns)\n throw new Error(\n `Duplicate columns were found with ids: \"${duplicateColumns\n .map(d => d.id)\n .join(', ')}\" in the columns array above`\n )\n }\n }\n\n // Make the headerGroups\n const headerGroups = React.useMemo(\n () =>\n reduceHooks(\n getHooks().headerGroups,\n makeHeaderGroups(visibleColumns, defaultColumn),\n getInstance()\n ),\n [\n getHooks,\n visibleColumns,\n defaultColumn,\n getInstance,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n ...reduceHooks(getHooks().headerGroupsDeps, [], {\n instance: getInstance(),\n }),\n ]\n )\n getInstance().headerGroups = headerGroups\n\n // Get the first level of headers\n const headers = React.useMemo(\n () => (headerGroups.length ? headerGroups[0].headers : []),\n [headerGroups]\n )\n getInstance().headers = headers\n\n // Provide a flat header list for utilities\n getInstance().flatHeaders = headerGroups.reduce(\n (all, headerGroup) => [...all, ...headerGroup.headers],\n []\n )\n\n loopHooks(getHooks().useInstanceBeforeDimensions, getInstance())\n\n // Filter columns down to visible ones\n const visibleColumnsDep = visibleColumns\n .filter(d => d.isVisible)\n .map(d => d.id)\n .sort()\n .join('_')\n\n visibleColumns = React.useMemo(\n () => visibleColumns.filter(d => d.isVisible),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [visibleColumns, visibleColumnsDep]\n )\n getInstance().visibleColumns = visibleColumns\n\n // Header Visibility is needed by this point\n const [\n totalColumnsMinWidth,\n totalColumnsWidth,\n totalColumnsMaxWidth,\n ] = calculateHeaderWidths(headers)\n\n getInstance().totalColumnsMinWidth = totalColumnsMinWidth\n getInstance().totalColumnsWidth = totalColumnsWidth\n getInstance().totalColumnsMaxWidth = totalColumnsMaxWidth\n\n loopHooks(getHooks().useInstance, getInstance())\n\n // Each materialized header needs to be assigned a render function and other\n // prop getter properties here.\n ;[...getInstance().flatHeaders, ...getInstance().allColumns].forEach(\n column => {\n // Give columns/headers rendering power\n column.render = makeRenderer(getInstance(), column)\n\n // Give columns/headers a default getHeaderProps\n column.getHeaderProps = makePropGetter(getHooks().getHeaderProps, {\n instance: getInstance(),\n column,\n })\n\n // Give columns/headers a default getFooterProps\n column.getFooterProps = makePropGetter(getHooks().getFooterProps, {\n instance: getInstance(),\n column,\n })\n }\n )\n\n getInstance().headerGroups = React.useMemo(\n () =>\n headerGroups.filter((headerGroup, i) => {\n // Filter out any headers and headerGroups that don't have visible columns\n headerGroup.headers = headerGroup.headers.filter(column => {\n const recurse = headers =>\n headers.filter(column => {\n if (column.headers) {\n return recurse(column.headers)\n }\n return column.isVisible\n }).length\n if (column.headers) {\n return recurse(column.headers)\n }\n return column.isVisible\n })\n\n // Give headerGroups getRowProps\n if (headerGroup.headers.length) {\n headerGroup.getHeaderGroupProps = makePropGetter(\n getHooks().getHeaderGroupProps,\n { instance: getInstance(), headerGroup, index: i }\n )\n\n headerGroup.getFooterGroupProps = makePropGetter(\n getHooks().getFooterGroupProps,\n { instance: getInstance(), headerGroup, index: i }\n )\n\n return true\n }\n\n return false\n }),\n [headerGroups, getInstance, getHooks]\n )\n\n getInstance().footerGroups = [...getInstance().headerGroups].reverse()\n\n // The prepareRow function is absolutely necessary and MUST be called on\n // any rows the user wishes to be displayed.\n\n getInstance().prepareRow = React.useCallback(\n row => {\n row.getRowProps = makePropGetter(getHooks().getRowProps, {\n instance: getInstance(),\n row,\n })\n\n // Build the visible cells for each row\n row.allCells = allColumns.map(column => {\n const value = row.values[column.id]\n\n const cell = {\n column,\n row,\n value,\n }\n\n // Give each cell a getCellProps base\n cell.getCellProps = makePropGetter(getHooks().getCellProps, {\n instance: getInstance(),\n cell,\n })\n\n // Give each cell a renderer function (supports multiple renderers)\n cell.render = makeRenderer(getInstance(), column, {\n row,\n cell,\n value,\n })\n\n return cell\n })\n\n row.cells = visibleColumns.map(column =>\n row.allCells.find(cell => cell.column.id === column.id)\n )\n\n // need to apply any row specific hooks (useExpanded requires this)\n loopHooks(getHooks().prepareRow, row, { instance: getInstance() })\n },\n [getHooks, getInstance, allColumns, visibleColumns]\n )\n\n getInstance().getTableProps = makePropGetter(getHooks().getTableProps, {\n instance: getInstance(),\n })\n\n getInstance().getTableBodyProps = makePropGetter(\n getHooks().getTableBodyProps,\n {\n instance: getInstance(),\n }\n )\n\n loopHooks(getHooks().useFinalInstance, getInstance())\n\n return getInstance()\n}\n\nfunction calculateHeaderWidths(headers, left = 0) {\n let sumTotalMinWidth = 0\n let sumTotalWidth = 0\n let sumTotalMaxWidth = 0\n let sumTotalFlexWidth = 0\n\n headers.forEach(header => {\n let { headers: subHeaders } = header\n\n header.totalLeft = left\n\n if (subHeaders && subHeaders.length) {\n const [\n totalMinWidth,\n totalWidth,\n totalMaxWidth,\n totalFlexWidth,\n ] = calculateHeaderWidths(subHeaders, left)\n header.totalMinWidth = totalMinWidth\n header.totalWidth = totalWidth\n header.totalMaxWidth = totalMaxWidth\n header.totalFlexWidth = totalFlexWidth\n } else {\n header.totalMinWidth = header.minWidth\n header.totalWidth = Math.min(\n Math.max(header.minWidth, header.width),\n header.maxWidth\n )\n header.totalMaxWidth = header.maxWidth\n header.totalFlexWidth = header.canResize ? header.totalWidth : 0\n }\n if (header.isVisible) {\n left += header.totalWidth\n sumTotalMinWidth += header.totalMinWidth\n sumTotalWidth += header.totalWidth\n sumTotalMaxWidth += header.totalMaxWidth\n sumTotalFlexWidth += header.totalFlexWidth\n }\n })\n\n return [sumTotalMinWidth, sumTotalWidth, sumTotalMaxWidth, sumTotalFlexWidth]\n}\n\nfunction accessRowsForColumn({\n data,\n rows,\n flatRows,\n rowsById,\n column,\n getRowId,\n getSubRows,\n accessValueHooks,\n getInstance,\n}) {\n // Access the row's data column-by-column\n // We do it this way so we can incrementally add materialized\n // columns after the first pass and avoid excessive looping\n const accessRow = (originalRow, rowIndex, depth = 0, parent, parentRows) => {\n // Keep the original reference around\n const original = originalRow\n\n const id = getRowId(originalRow, rowIndex, parent)\n\n let row = rowsById[id]\n\n // If the row hasn't been created, let's make it\n if (!row) {\n row = {\n id,\n original,\n index: rowIndex,\n depth,\n cells: [{}], // This is a dummy cell\n }\n\n // Override common array functions (and the dummy cell's getCellProps function)\n // to show an error if it is accessed without calling prepareRow\n row.cells.map = unpreparedAccessWarning\n row.cells.filter = unpreparedAccessWarning\n row.cells.forEach = unpreparedAccessWarning\n row.cells[0].getCellProps = unpreparedAccessWarning\n\n // Create the cells and values\n row.values = {}\n\n // Push this row into the parentRows array\n parentRows.push(row)\n // Keep track of every row in a flat array\n flatRows.push(row)\n // Also keep track of every row by its ID\n rowsById[id] = row\n\n // Get the original subrows\n row.originalSubRows = getSubRows(originalRow, rowIndex)\n\n // Then recursively access them\n if (row.originalSubRows) {\n const subRows = []\n row.originalSubRows.forEach((d, i) =>\n accessRow(d, i, depth + 1, row, subRows)\n )\n // Keep the new subRows array on the row\n row.subRows = subRows\n }\n } else if (row.subRows) {\n // If the row exists, then it's already been accessed\n // Keep recursing, but don't worry about passing the\n // accumlator array (those rows already exist)\n row.originalSubRows.forEach((d, i) => accessRow(d, i, depth + 1, row))\n }\n\n // If the column has an accessor, use it to get a value\n if (column.accessor) {\n row.values[column.id] = column.accessor(\n originalRow,\n rowIndex,\n row,\n parentRows,\n data\n )\n }\n\n // Allow plugins to manipulate the column value\n row.values[column.id] = reduceHooks(\n accessValueHooks,\n row.values[column.id],\n {\n row,\n column,\n instance: getInstance(),\n },\n true\n )\n }\n\n data.forEach((originalRow, rowIndex) =>\n accessRow(originalRow, rowIndex, 0, undefined, rows)\n )\n}\n","import React from 'react'\n\nimport { expandRows } from '../utils'\n\nimport {\n useGetLatest,\n actions,\n useMountedLayoutEffect,\n makePropGetter,\n ensurePluginOrder,\n} from '../publicUtils'\n\n// Actions\nactions.resetExpanded = 'resetExpanded'\nactions.toggleRowExpanded = 'toggleRowExpanded'\nactions.toggleAllRowsExpanded = 'toggleAllRowsExpanded'\n\nexport const useExpanded = hooks => {\n hooks.getToggleAllRowsExpandedProps = [defaultGetToggleAllRowsExpandedProps]\n hooks.getToggleRowExpandedProps = [defaultGetToggleRowExpandedProps]\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n hooks.prepareRow.push(prepareRow)\n}\n\nuseExpanded.pluginName = 'useExpanded'\n\nconst defaultGetToggleAllRowsExpandedProps = (props, { instance }) => [\n props,\n {\n onClick: e => {\n instance.toggleAllRowsExpanded()\n },\n style: {\n cursor: 'pointer',\n },\n title: 'Toggle All Rows Expanded',\n },\n]\n\nconst defaultGetToggleRowExpandedProps = (props, { row }) => [\n props,\n {\n onClick: () => {\n row.toggleRowExpanded()\n },\n style: {\n cursor: 'pointer',\n },\n title: 'Toggle Row Expanded',\n },\n]\n\n// Reducer\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n expanded: {},\n ...state,\n }\n }\n\n if (action.type === actions.resetExpanded) {\n return {\n ...state,\n expanded: instance.initialState.expanded || {},\n }\n }\n\n if (action.type === actions.toggleAllRowsExpanded) {\n const { value } = action\n const { rowsById } = instance\n\n const isAllRowsExpanded =\n Object.keys(rowsById).length === Object.keys(state.expanded).length\n\n const expandAll = typeof value !== 'undefined' ? value : !isAllRowsExpanded\n\n if (expandAll) {\n const expanded = {}\n\n Object.keys(rowsById).forEach(rowId => {\n expanded[rowId] = true\n })\n\n return {\n ...state,\n expanded,\n }\n }\n\n return {\n ...state,\n expanded: {},\n }\n }\n\n if (action.type === actions.toggleRowExpanded) {\n const { id, value: setExpanded } = action\n const exists = state.expanded[id]\n\n const shouldExist =\n typeof setExpanded !== 'undefined' ? setExpanded : !exists\n\n if (!exists && shouldExist) {\n return {\n ...state,\n expanded: {\n ...state.expanded,\n [id]: true,\n },\n }\n } else if (exists && !shouldExist) {\n const { [id]: _, ...rest } = state.expanded\n return {\n ...state,\n expanded: rest,\n }\n } else {\n return state\n }\n }\n}\n\nfunction useInstance(instance) {\n const {\n data,\n rows,\n rowsById,\n manualExpandedKey = 'expanded',\n paginateExpandedRows = true,\n expandSubRows = true,\n autoResetExpanded = true,\n getHooks,\n plugins,\n state: { expanded },\n dispatch,\n } = instance\n\n ensurePluginOrder(\n plugins,\n ['useSortBy', 'useGroupBy', 'usePivotColumns', 'useGlobalFilter'],\n 'useExpanded'\n )\n\n const getAutoResetExpanded = useGetLatest(autoResetExpanded)\n\n let isAllRowsExpanded = Boolean(\n Object.keys(rowsById).length && Object.keys(expanded).length\n )\n\n if (isAllRowsExpanded) {\n if (Object.keys(rowsById).some(id => !expanded[id])) {\n isAllRowsExpanded = false\n }\n }\n\n // Bypass any effects from firing when this changes\n useMountedLayoutEffect(() => {\n if (getAutoResetExpanded()) {\n dispatch({ type: actions.resetExpanded })\n }\n }, [dispatch, data])\n\n const toggleRowExpanded = React.useCallback(\n (id, value) => {\n dispatch({ type: actions.toggleRowExpanded, id, value })\n },\n [dispatch]\n )\n\n const toggleAllRowsExpanded = React.useCallback(\n value => dispatch({ type: actions.toggleAllRowsExpanded, value }),\n [dispatch]\n )\n\n const expandedRows = React.useMemo(() => {\n if (paginateExpandedRows) {\n return expandRows(rows, { manualExpandedKey, expanded, expandSubRows })\n }\n\n return rows\n }, [paginateExpandedRows, rows, manualExpandedKey, expanded, expandSubRows])\n\n const expandedDepth = React.useMemo(() => findExpandedDepth(expanded), [\n expanded,\n ])\n\n const getInstance = useGetLatest(instance)\n\n const getToggleAllRowsExpandedProps = makePropGetter(\n getHooks().getToggleAllRowsExpandedProps,\n { instance: getInstance() }\n )\n\n Object.assign(instance, {\n preExpandedRows: rows,\n expandedRows,\n rows: expandedRows,\n expandedDepth,\n isAllRowsExpanded,\n toggleRowExpanded,\n toggleAllRowsExpanded,\n getToggleAllRowsExpandedProps,\n })\n}\n\nfunction prepareRow(row, { instance: { getHooks }, instance }) {\n row.toggleRowExpanded = set => instance.toggleRowExpanded(row.id, set)\n\n row.getToggleRowExpandedProps = makePropGetter(\n getHooks().getToggleRowExpandedProps,\n {\n instance,\n row,\n }\n )\n}\n\nfunction findExpandedDepth(expanded) {\n let maxDepth = 0\n\n Object.keys(expanded).forEach(id => {\n const splitId = id.split('.')\n maxDepth = Math.max(maxDepth, splitId.length)\n })\n\n return maxDepth\n}\n","export const text = (rows, ids, filterValue) => {\n rows = rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return String(rowValue)\n .toLowerCase()\n .includes(String(filterValue).toLowerCase())\n })\n })\n return rows\n}\n\ntext.autoRemove = val => !val\n\nexport const exactText = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return rowValue !== undefined\n ? String(rowValue).toLowerCase() === String(filterValue).toLowerCase()\n : true\n })\n })\n}\n\nexactText.autoRemove = val => !val\n\nexport const exactTextCase = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return rowValue !== undefined\n ? String(rowValue) === String(filterValue)\n : true\n })\n })\n}\n\nexactTextCase.autoRemove = val => !val\n\nexport const includes = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return rowValue.includes(filterValue)\n })\n })\n}\n\nincludes.autoRemove = val => !val || !val.length\n\nexport const includesAll = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return (\n rowValue &&\n rowValue.length &&\n filterValue.every(val => rowValue.includes(val))\n )\n })\n })\n}\n\nincludesAll.autoRemove = val => !val || !val.length\n\nexport const includesSome = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return (\n rowValue &&\n rowValue.length &&\n filterValue.some(val => rowValue.includes(val))\n )\n })\n })\n}\n\nincludesSome.autoRemove = val => !val || !val.length\n\nexport const includesValue = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return filterValue.includes(rowValue)\n })\n })\n}\n\nincludesValue.autoRemove = val => !val || !val.length\n\nexport const exact = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return rowValue === filterValue\n })\n })\n}\n\nexact.autoRemove = val => typeof val === 'undefined'\n\nexport const equals = (rows, ids, filterValue) => {\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n // eslint-disable-next-line eqeqeq\n return rowValue == filterValue\n })\n })\n}\n\nequals.autoRemove = val => val == null\n\nexport const between = (rows, ids, filterValue) => {\n let [min, max] = filterValue || []\n\n min = typeof min === 'number' ? min : -Infinity\n max = typeof max === 'number' ? max : Infinity\n\n if (min > max) {\n const temp = min\n min = max\n max = temp\n }\n\n return rows.filter(row => {\n return ids.some(id => {\n const rowValue = row.values[id]\n return rowValue >= min && rowValue <= max\n })\n })\n}\n\nbetween.autoRemove = val =>\n !val || (typeof val[0] !== 'number' && typeof val[1] !== 'number')\n","import React from 'react'\n\nimport {\n getFirstDefined,\n getFilterMethod,\n shouldAutoRemoveFilter,\n} from '../utils'\n\nimport {\n actions,\n useGetLatest,\n functionalUpdate,\n useMountedLayoutEffect,\n} from '../publicUtils'\n\nimport * as filterTypes from '../filterTypes'\n\n// Actions\nactions.resetFilters = 'resetFilters'\nactions.setFilter = 'setFilter'\nactions.setAllFilters = 'setAllFilters'\n\nexport const useFilters = hooks => {\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n}\n\nuseFilters.pluginName = 'useFilters'\n\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n filters: [],\n ...state,\n }\n }\n\n if (action.type === actions.resetFilters) {\n return {\n ...state,\n filters: instance.initialState.filters || [],\n }\n }\n\n if (action.type === actions.setFilter) {\n const { columnId, filterValue } = action\n const { allColumns, filterTypes: userFilterTypes } = instance\n\n const column = allColumns.find(d => d.id === columnId)\n\n if (!column) {\n throw new Error(\n `React-Table: Could not find a column with id: ${columnId}`\n )\n }\n\n const filterMethod = getFilterMethod(\n column.filter,\n userFilterTypes || {},\n filterTypes\n )\n\n const previousfilter = state.filters.find(d => d.id === columnId)\n\n const newFilter = functionalUpdate(\n filterValue,\n previousfilter && previousfilter.value\n )\n\n //\n if (shouldAutoRemoveFilter(filterMethod.autoRemove, newFilter, column)) {\n return {\n ...state,\n filters: state.filters.filter(d => d.id !== columnId),\n }\n }\n\n if (previousfilter) {\n return {\n ...state,\n filters: state.filters.map(d => {\n if (d.id === columnId) {\n return { id: columnId, value: newFilter }\n }\n return d\n }),\n }\n }\n\n return {\n ...state,\n filters: [...state.filters, { id: columnId, value: newFilter }],\n }\n }\n\n if (action.type === actions.setAllFilters) {\n const { filters } = action\n const { allColumns, filterTypes: userFilterTypes } = instance\n\n return {\n ...state,\n // Filter out undefined values\n filters: functionalUpdate(filters, state.filters).filter(filter => {\n const column = allColumns.find(d => d.id === filter.id)\n const filterMethod = getFilterMethod(\n column.filter,\n userFilterTypes || {},\n filterTypes\n )\n\n if (\n shouldAutoRemoveFilter(filterMethod.autoRemove, filter.value, column)\n ) {\n return false\n }\n return true\n }),\n }\n }\n}\n\nfunction useInstance(instance) {\n const {\n data,\n rows,\n flatRows,\n rowsById,\n allColumns,\n filterTypes: userFilterTypes,\n manualFilters,\n defaultCanFilter = false,\n disableFilters,\n state: { filters },\n dispatch,\n autoResetFilters = true,\n } = instance\n\n const setFilter = React.useCallback(\n (columnId, filterValue) => {\n dispatch({ type: actions.setFilter, columnId, filterValue })\n },\n [dispatch]\n )\n\n const setAllFilters = React.useCallback(\n filters => {\n dispatch({\n type: actions.setAllFilters,\n filters,\n })\n },\n [dispatch]\n )\n\n allColumns.forEach(column => {\n const {\n id,\n accessor,\n defaultCanFilter: columnDefaultCanFilter,\n disableFilters: columnDisableFilters,\n } = column\n\n // Determine if a column is filterable\n column.canFilter = accessor\n ? getFirstDefined(\n columnDisableFilters === true ? false : undefined,\n disableFilters === true ? false : undefined,\n true\n )\n : getFirstDefined(columnDefaultCanFilter, defaultCanFilter, false)\n\n // Provide the column a way of updating the filter value\n column.setFilter = val => setFilter(column.id, val)\n\n // Provide the current filter value to the column for\n // convenience\n const found = filters.find(d => d.id === id)\n column.filterValue = found && found.value\n })\n\n const [\n filteredRows,\n filteredFlatRows,\n filteredRowsById,\n ] = React.useMemo(() => {\n if (manualFilters || !filters.length) {\n return [rows, flatRows, rowsById]\n }\n\n const filteredFlatRows = []\n const filteredRowsById = {}\n\n // Filters top level and nested rows\n const filterRows = (rows, depth = 0) => {\n let filteredRows = rows\n\n filteredRows = filters.reduce(\n (filteredSoFar, { id: columnId, value: filterValue }) => {\n // Find the filters column\n const column = allColumns.find(d => d.id === columnId)\n\n if (!column) {\n return filteredSoFar\n }\n\n if (depth === 0) {\n column.preFilteredRows = filteredSoFar\n }\n\n const filterMethod = getFilterMethod(\n column.filter,\n userFilterTypes || {},\n filterTypes\n )\n\n if (!filterMethod) {\n console.warn(\n `Could not find a valid 'column.filter' for column with the ID: ${column.id}.`\n )\n return filteredSoFar\n }\n\n // Pass the rows, id, filterValue and column to the filterMethod\n // to get the filtered rows back\n column.filteredRows = filterMethod(\n filteredSoFar,\n [columnId],\n filterValue\n )\n\n return column.filteredRows\n },\n rows\n )\n\n // Apply the filter to any subRows\n // We technically could do this recursively in the above loop,\n // but that would severely hinder the API for the user, since they\n // would be required to do that recursion in some scenarios\n filteredRows.forEach(row => {\n filteredFlatRows.push(row)\n filteredRowsById[row.id] = row\n if (!row.subRows) {\n return\n }\n\n row.subRows =\n row.subRows && row.subRows.length > 0\n ? filterRows(row.subRows, depth + 1)\n : row.subRows\n })\n\n return filteredRows\n }\n\n return [filterRows(rows), filteredFlatRows, filteredRowsById]\n }, [\n manualFilters,\n filters,\n rows,\n flatRows,\n rowsById,\n allColumns,\n userFilterTypes,\n ])\n\n React.useMemo(() => {\n // Now that each filtered column has it's partially filtered rows,\n // lets assign the final filtered rows to all of the other columns\n const nonFilteredColumns = allColumns.filter(\n column => !filters.find(d => d.id === column.id)\n )\n\n // This essentially enables faceted filter options to be built easily\n // using every column's preFilteredRows value\n nonFilteredColumns.forEach(column => {\n column.preFilteredRows = filteredRows\n column.filteredRows = filteredRows\n })\n }, [filteredRows, filters, allColumns])\n\n const getAutoResetFilters = useGetLatest(autoResetFilters)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetFilters()) {\n dispatch({ type: actions.resetFilters })\n }\n }, [dispatch, manualFilters ? null : data])\n\n Object.assign(instance, {\n preFilteredRows: rows,\n preFilteredFlatRows: flatRows,\n preFilteredRowsById: rowsById,\n filteredRows,\n filteredFlatRows,\n filteredRowsById,\n rows: filteredRows,\n flatRows: filteredFlatRows,\n rowsById: filteredRowsById,\n setFilter,\n setAllFilters,\n })\n}\n","import React from 'react'\n\nimport {\n getFilterMethod,\n shouldAutoRemoveFilter,\n getFirstDefined,\n} from '../utils'\n\nimport {\n actions,\n useMountedLayoutEffect,\n functionalUpdate,\n useGetLatest,\n} from '../publicUtils'\n\nimport * as filterTypes from '../filterTypes'\n\n// Actions\nactions.resetGlobalFilter = 'resetGlobalFilter'\nactions.setGlobalFilter = 'setGlobalFilter'\n\nexport const useGlobalFilter = hooks => {\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n}\n\nuseGlobalFilter.pluginName = 'useGlobalFilter'\n\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.resetGlobalFilter) {\n return {\n ...state,\n globalFilter: instance.initialState.globalFilter || undefined,\n }\n }\n\n if (action.type === actions.setGlobalFilter) {\n const { filterValue } = action\n const { userFilterTypes } = instance\n\n const filterMethod = getFilterMethod(\n instance.globalFilter,\n userFilterTypes || {},\n filterTypes\n )\n\n const newFilter = functionalUpdate(filterValue, state.globalFilter)\n\n //\n if (shouldAutoRemoveFilter(filterMethod.autoRemove, newFilter)) {\n const { globalFilter, ...stateWithoutGlobalFilter } = state\n return stateWithoutGlobalFilter\n }\n\n return {\n ...state,\n globalFilter: newFilter,\n }\n }\n}\n\nfunction useInstance(instance) {\n const {\n data,\n rows,\n flatRows,\n rowsById,\n allColumns,\n filterTypes: userFilterTypes,\n globalFilter,\n manualGlobalFilter,\n state: { globalFilter: globalFilterValue },\n dispatch,\n autoResetGlobalFilter = true,\n disableGlobalFilter,\n } = instance\n\n const setGlobalFilter = React.useCallback(\n filterValue => {\n dispatch({ type: actions.setGlobalFilter, filterValue })\n },\n [dispatch]\n )\n\n // TODO: Create a filter cache for incremental high speed multi-filtering\n // This gets pretty complicated pretty fast, since you have to maintain a\n // cache for each row group (top-level rows, and each row's recursive subrows)\n // This would make multi-filtering a lot faster though. Too far?\n\n const [\n globalFilteredRows,\n globalFilteredFlatRows,\n globalFilteredRowsById,\n ] = React.useMemo(() => {\n if (manualGlobalFilter || typeof globalFilterValue === 'undefined') {\n return [rows, flatRows, rowsById]\n }\n\n const filteredFlatRows = []\n const filteredRowsById = {}\n\n const filterMethod = getFilterMethod(\n globalFilter,\n userFilterTypes || {},\n filterTypes\n )\n\n if (!filterMethod) {\n console.warn(`Could not find a valid 'globalFilter' option.`)\n return rows\n }\n\n allColumns.forEach(column => {\n const { disableGlobalFilter: columnDisableGlobalFilter } = column\n\n column.canFilter = getFirstDefined(\n columnDisableGlobalFilter === true ? false : undefined,\n disableGlobalFilter === true ? false : undefined,\n true\n )\n })\n\n const filterableColumns = allColumns.filter(c => c.canFilter === true)\n\n // Filters top level and nested rows\n const filterRows = filteredRows => {\n filteredRows = filterMethod(\n filteredRows,\n filterableColumns.map(d => d.id),\n globalFilterValue\n )\n\n filteredRows.forEach(row => {\n filteredFlatRows.push(row)\n filteredRowsById[row.id] = row\n\n row.subRows =\n row.subRows && row.subRows.length\n ? filterRows(row.subRows)\n : row.subRows\n })\n\n return filteredRows\n }\n\n return [filterRows(rows), filteredFlatRows, filteredRowsById]\n }, [\n manualGlobalFilter,\n globalFilterValue,\n globalFilter,\n userFilterTypes,\n allColumns,\n rows,\n flatRows,\n rowsById,\n disableGlobalFilter,\n ])\n\n const getAutoResetGlobalFilter = useGetLatest(autoResetGlobalFilter)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetGlobalFilter()) {\n dispatch({ type: actions.resetGlobalFilter })\n }\n }, [dispatch, manualGlobalFilter ? null : data])\n\n Object.assign(instance, {\n preGlobalFilteredRows: rows,\n preGlobalFilteredFlatRows: flatRows,\n preGlobalFilteredRowsById: rowsById,\n globalFilteredRows,\n globalFilteredFlatRows,\n globalFilteredRowsById,\n rows: globalFilteredRows,\n flatRows: globalFilteredFlatRows,\n rowsById: globalFilteredRowsById,\n setGlobalFilter,\n disableGlobalFilter,\n })\n}\n","export function sum(values, aggregatedValues) {\n // It's faster to just add the aggregations together instead of\n // process leaf nodes individually\n return aggregatedValues.reduce(\n (sum, next) => sum + (typeof next === 'number' ? next : 0),\n 0\n )\n}\n\nexport function min(values) {\n let min = values[0] || 0\n\n values.forEach(value => {\n if (typeof value === 'number') {\n min = Math.min(min, value)\n }\n })\n\n return min\n}\n\nexport function max(values) {\n let max = values[0] || 0\n\n values.forEach(value => {\n if (typeof value === 'number') {\n max = Math.max(max, value)\n }\n })\n\n return max\n}\n\nexport function minMax(values) {\n let min = values[0] || 0\n let max = values[0] || 0\n\n values.forEach(value => {\n if (typeof value === 'number') {\n min = Math.min(min, value)\n max = Math.max(max, value)\n }\n })\n\n return `${min}..${max}`\n}\n\nexport function average(values) {\n return sum(null, values) / values.length\n}\n\nexport function median(values) {\n if (!values.length) {\n return null\n }\n\n const mid = Math.floor(values.length / 2)\n const nums = [...values].sort((a, b) => a - b)\n return values.length % 2 !== 0 ? nums[mid] : (nums[mid - 1] + nums[mid]) / 2\n}\n\nexport function unique(values) {\n return Array.from(new Set(values).values())\n}\n\nexport function uniqueCount(values) {\n return new Set(values).size\n}\n\nexport function count(values) {\n return values.length\n}\n","import React from 'react'\n\nimport * as aggregations from '../aggregations'\n\nimport { getFirstDefined, flattenBy } from '../utils'\n\nimport {\n actions,\n makePropGetter,\n ensurePluginOrder,\n useMountedLayoutEffect,\n useGetLatest,\n} from '../publicUtils'\n\nconst emptyArray = []\nconst emptyObject = {}\n\n// Actions\nactions.resetGroupBy = 'resetGroupBy'\nactions.setGroupBy = 'setGroupBy'\nactions.toggleGroupBy = 'toggleGroupBy'\n\nexport const useGroupBy = hooks => {\n hooks.getGroupByToggleProps = [defaultGetGroupByToggleProps]\n hooks.stateReducers.push(reducer)\n hooks.visibleColumnsDeps.push((deps, { instance }) => [\n ...deps,\n instance.state.groupBy,\n ])\n hooks.visibleColumns.push(visibleColumns)\n hooks.useInstance.push(useInstance)\n hooks.prepareRow.push(prepareRow)\n}\n\nuseGroupBy.pluginName = 'useGroupBy'\n\nconst defaultGetGroupByToggleProps = (props, { header }) => [\n props,\n {\n onClick: header.canGroupBy\n ? e => {\n e.persist()\n header.toggleGroupBy()\n }\n : undefined,\n style: {\n cursor: header.canGroupBy ? 'pointer' : undefined,\n },\n title: 'Toggle GroupBy',\n },\n]\n\n// Reducer\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n groupBy: [],\n ...state,\n }\n }\n\n if (action.type === actions.resetGroupBy) {\n return {\n ...state,\n groupBy: instance.initialState.groupBy || [],\n }\n }\n\n if (action.type === actions.setGroupBy) {\n const { value } = action\n return {\n ...state,\n groupBy: value,\n }\n }\n\n if (action.type === actions.toggleGroupBy) {\n const { columnId, value: setGroupBy } = action\n\n const resolvedGroupBy =\n typeof setGroupBy !== 'undefined'\n ? setGroupBy\n : !state.groupBy.includes(columnId)\n\n if (resolvedGroupBy) {\n return {\n ...state,\n groupBy: [...state.groupBy, columnId],\n }\n }\n\n return {\n ...state,\n groupBy: state.groupBy.filter(d => d !== columnId),\n }\n }\n}\n\nfunction visibleColumns(\n columns,\n {\n instance: {\n state: { groupBy },\n },\n }\n) {\n // Sort grouped columns to the start of the column list\n // before the headers are built\n\n const groupByColumns = groupBy\n .map(g => columns.find(col => col.id === g))\n .filter(Boolean)\n\n const nonGroupByColumns = columns.filter(col => !groupBy.includes(col.id))\n\n columns = [...groupByColumns, ...nonGroupByColumns]\n\n columns.forEach(column => {\n column.isGrouped = groupBy.includes(column.id)\n column.groupedIndex = groupBy.indexOf(column.id)\n })\n\n return columns\n}\n\nconst defaultUserAggregations = {}\n\nfunction useInstance(instance) {\n const {\n data,\n rows,\n flatRows,\n rowsById,\n allColumns,\n flatHeaders,\n groupByFn = defaultGroupByFn,\n manualGroupBy,\n aggregations: userAggregations = defaultUserAggregations,\n plugins,\n state: { groupBy },\n dispatch,\n autoResetGroupBy = true,\n disableGroupBy,\n defaultCanGroupBy,\n getHooks,\n } = instance\n\n ensurePluginOrder(plugins, ['useColumnOrder', 'useFilters'], 'useGroupBy')\n\n const getInstance = useGetLatest(instance)\n\n allColumns.forEach(column => {\n const {\n accessor,\n defaultGroupBy: defaultColumnGroupBy,\n disableGroupBy: columnDisableGroupBy,\n } = column\n\n column.canGroupBy = accessor\n ? getFirstDefined(\n column.canGroupBy,\n columnDisableGroupBy === true ? false : undefined,\n disableGroupBy === true ? false : undefined,\n true\n )\n : getFirstDefined(\n column.canGroupBy,\n defaultColumnGroupBy,\n defaultCanGroupBy,\n false\n )\n\n if (column.canGroupBy) {\n column.toggleGroupBy = () => instance.toggleGroupBy(column.id)\n }\n\n column.Aggregated = column.Aggregated || column.Cell\n })\n\n const toggleGroupBy = React.useCallback(\n (columnId, value) => {\n dispatch({ type: actions.toggleGroupBy, columnId, value })\n },\n [dispatch]\n )\n\n const setGroupBy = React.useCallback(\n value => {\n dispatch({ type: actions.setGroupBy, value })\n },\n [dispatch]\n )\n\n flatHeaders.forEach(header => {\n header.getGroupByToggleProps = makePropGetter(\n getHooks().getGroupByToggleProps,\n { instance: getInstance(), header }\n )\n })\n\n const [\n groupedRows,\n groupedFlatRows,\n groupedRowsById,\n onlyGroupedFlatRows,\n onlyGroupedRowsById,\n nonGroupedFlatRows,\n nonGroupedRowsById,\n ] = React.useMemo(() => {\n if (manualGroupBy || !groupBy.length) {\n return [\n rows,\n flatRows,\n rowsById,\n emptyArray,\n emptyObject,\n flatRows,\n rowsById,\n ]\n }\n\n // Ensure that the list of filtered columns exist\n const existingGroupBy = groupBy.filter(g =>\n allColumns.find(col => col.id === g)\n )\n\n // Find the columns that can or are aggregating\n // Uses each column to aggregate rows into a single value\n const aggregateRowsToValues = (leafRows, groupedRows, depth) => {\n const values = {}\n\n allColumns.forEach(column => {\n // Don't aggregate columns that are in the groupBy\n if (existingGroupBy.includes(column.id)) {\n values[column.id] = groupedRows[0]\n ? groupedRows[0].values[column.id]\n : null\n return\n }\n\n // Aggregate the values\n let aggregateFn =\n typeof column.aggregate === 'function'\n ? column.aggregate\n : userAggregations[column.aggregate] ||\n aggregations[column.aggregate]\n\n if (aggregateFn) {\n // Get the columnValues to aggregate\n const groupedValues = groupedRows.map(row => row.values[column.id])\n\n // Get the columnValues to aggregate\n const leafValues = leafRows.map(row => {\n let columnValue = row.values[column.id]\n\n if (!depth && column.aggregateValue) {\n const aggregateValueFn =\n typeof column.aggregateValue === 'function'\n ? column.aggregateValue\n : userAggregations[column.aggregateValue] ||\n aggregations[column.aggregateValue]\n\n if (!aggregateValueFn) {\n console.info({ column })\n throw new Error(\n `React Table: Invalid column.aggregateValue option for column listed above`\n )\n }\n\n columnValue = aggregateValueFn(columnValue, row, column)\n }\n return columnValue\n })\n\n values[column.id] = aggregateFn(leafValues, groupedValues)\n } else if (column.aggregate) {\n console.info({ column })\n throw new Error(\n `React Table: Invalid column.aggregate option for column listed above`\n )\n } else {\n values[column.id] = null\n }\n })\n\n return values\n }\n\n let groupedFlatRows = []\n const groupedRowsById = {}\n const onlyGroupedFlatRows = []\n const onlyGroupedRowsById = {}\n const nonGroupedFlatRows = []\n const nonGroupedRowsById = {}\n\n // Recursively group the data\n const groupUpRecursively = (rows, depth = 0, parentId) => {\n // This is the last level, just return the rows\n if (depth === existingGroupBy.length) {\n return rows.map((row) => ({ ...row, depth }))\n }\n\n const columnId = existingGroupBy[depth]\n\n // Group the rows together for this level\n let rowGroupsMap = groupByFn(rows, columnId)\n\n // Peform aggregations for each group\n const aggregatedGroupedRows = Object.entries(rowGroupsMap).map(\n ([groupByVal, groupedRows], index) => {\n let id = `${columnId}:${groupByVal}`\n id = parentId ? `${parentId}>${id}` : id\n\n // First, Recurse to group sub rows before aggregation\n const subRows = groupUpRecursively(groupedRows, depth + 1, id)\n\n // Flatten the leaf rows of the rows in this group\n const leafRows = depth\n ? flattenBy(groupedRows, 'leafRows')\n : groupedRows\n\n const values = aggregateRowsToValues(leafRows, groupedRows, depth)\n\n const row = {\n id,\n isGrouped: true,\n groupByID: columnId,\n groupByVal,\n values,\n subRows,\n leafRows,\n depth,\n index,\n }\n\n subRows.forEach(subRow => {\n groupedFlatRows.push(subRow)\n groupedRowsById[subRow.id] = subRow\n if (subRow.isGrouped) {\n onlyGroupedFlatRows.push(subRow)\n onlyGroupedRowsById[subRow.id] = subRow\n } else {\n nonGroupedFlatRows.push(subRow)\n nonGroupedRowsById[subRow.id] = subRow\n }\n })\n\n return row\n }\n )\n\n return aggregatedGroupedRows\n }\n\n const groupedRows = groupUpRecursively(rows)\n\n groupedRows.forEach(subRow => {\n groupedFlatRows.push(subRow)\n groupedRowsById[subRow.id] = subRow\n if (subRow.isGrouped) {\n onlyGroupedFlatRows.push(subRow)\n onlyGroupedRowsById[subRow.id] = subRow\n } else {\n nonGroupedFlatRows.push(subRow)\n nonGroupedRowsById[subRow.id] = subRow\n }\n })\n\n // Assign the new data\n return [\n groupedRows,\n groupedFlatRows,\n groupedRowsById,\n onlyGroupedFlatRows,\n onlyGroupedRowsById,\n nonGroupedFlatRows,\n nonGroupedRowsById,\n ]\n }, [\n manualGroupBy,\n groupBy,\n rows,\n flatRows,\n rowsById,\n allColumns,\n userAggregations,\n groupByFn,\n ])\n\n const getAutoResetGroupBy = useGetLatest(autoResetGroupBy)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetGroupBy()) {\n dispatch({ type: actions.resetGroupBy })\n }\n }, [dispatch, manualGroupBy ? null : data])\n\n Object.assign(instance, {\n preGroupedRows: rows,\n preGroupedFlatRow: flatRows,\n preGroupedRowsById: rowsById,\n groupedRows,\n groupedFlatRows,\n groupedRowsById,\n onlyGroupedFlatRows,\n onlyGroupedRowsById,\n nonGroupedFlatRows,\n nonGroupedRowsById,\n rows: groupedRows,\n flatRows: groupedFlatRows,\n rowsById: groupedRowsById,\n toggleGroupBy,\n setGroupBy,\n })\n}\n\nfunction prepareRow(row) {\n row.allCells.forEach(cell => {\n // Grouped cells are in the groupBy and the pivot cell for the row\n cell.isGrouped = cell.column.isGrouped && cell.column.id === row.groupByID\n // Placeholder cells are any columns in the groupBy that are not grouped\n cell.isPlaceholder = !cell.isGrouped && cell.column.isGrouped\n // Aggregated cells are not grouped, not repeated, but still have subRows\n cell.isAggregated =\n !cell.isGrouped && !cell.isPlaceholder && row.subRows?.length\n })\n}\n\nexport function defaultGroupByFn(rows, columnId) {\n return rows.reduce((prev, row, i) => {\n // TODO: Might want to implement a key serializer here so\n // irregular column values can still be grouped if needed?\n const resKey = `${row.values[columnId]}`\n prev[resKey] = Array.isArray(prev[resKey]) ? prev[resKey] : []\n prev[resKey].push(row)\n return prev\n }, {})\n}\n","const reSplitAlphaNumeric = /([0-9]+)/gm\n\n// Mixed sorting is slow, but very inclusive of many edge cases.\n// It handles numbers, mixed alphanumeric combinations, and even\n// null, undefined, and Infinity\nexport const alphanumeric = (rowA, rowB, columnId) => {\n let [a, b] = getRowValuesByColumnID(rowA, rowB, columnId)\n\n // Force to strings (or \"\" for unsupported types)\n a = toString(a)\n b = toString(b)\n\n // Split on number groups, but keep the delimiter\n // Then remove falsey split values\n a = a.split(reSplitAlphaNumeric).filter(Boolean)\n b = b.split(reSplitAlphaNumeric).filter(Boolean)\n\n // While\n while (a.length && b.length) {\n let aa = a.shift()\n let bb = b.shift()\n\n const an = parseInt(aa, 10)\n const bn = parseInt(bb, 10)\n\n const combo = [an, bn].sort()\n\n // Both are string\n if (isNaN(combo[0])) {\n if (aa > bb) {\n return 1\n }\n if (bb > aa) {\n return -1\n }\n continue\n }\n\n // One is a string, one is a number\n if (isNaN(combo[1])) {\n return isNaN(an) ? -1 : 1\n }\n\n // Both are numbers\n if (an > bn) {\n return 1\n }\n if (bn > an) {\n return -1\n }\n }\n\n return a.length - b.length\n}\nexport function datetime(rowA, rowB, columnId) {\n let [a, b] = getRowValuesByColumnID(rowA, rowB, columnId)\n\n a = a.getTime()\n b = b.getTime()\n\n return compareBasic(a, b)\n}\n\nexport function basic(rowA, rowB, columnId) {\n let [a, b] = getRowValuesByColumnID(rowA, rowB, columnId)\n\n return compareBasic(a, b)\n}\n\nexport function string(rowA, rowB, columnId) {\n let [a, b] = getRowValuesByColumnID(rowA, rowB, columnId)\n\n a = a.split('').filter(Boolean)\n b = b.split('').filter(Boolean)\n\n while (a.length && b.length) {\n let aa = a.shift()\n let bb = b.shift()\n\n let alower = aa.toLowerCase()\n let blower = bb.toLowerCase()\n\n // Case insensitive comparison until characters match\n if (alower > blower) {\n return 1\n }\n if (blower > alower) {\n return -1\n }\n // If lowercase characters are identical\n if (aa > bb) {\n return 1\n }\n if (bb > aa) {\n return -1\n }\n continue\n }\n\n return a.length - b.length\n}\n\nexport function number(rowA, rowB, columnId) {\n let [a, b] = getRowValuesByColumnID(rowA, rowB, columnId)\n\n const replaceNonNumeric = /[^0-9.]/gi\n\n a = Number(String(a).replace(replaceNonNumeric, ''))\n b = Number(String(b).replace(replaceNonNumeric, ''))\n\n return compareBasic(a, b)\n}\n\n// Utils\n\nfunction compareBasic(a, b) {\n return a === b ? 0 : a > b ? 1 : -1\n}\n\nfunction getRowValuesByColumnID(row1, row2, columnId) {\n return [row1.values[columnId], row2.values[columnId]]\n}\n\nfunction toString(a) {\n if (typeof a === 'number') {\n if (isNaN(a) || a === Infinity || a === -Infinity) {\n return ''\n }\n return String(a)\n }\n if (typeof a === 'string') {\n return a\n }\n return ''\n}\n","import React from 'react'\n\nimport {\n actions,\n ensurePluginOrder,\n defaultColumn,\n makePropGetter,\n useGetLatest,\n useMountedLayoutEffect,\n} from '../publicUtils'\n\nimport { getFirstDefined, isFunction } from '../utils'\n\nimport * as sortTypes from '../sortTypes'\n\n// Actions\nactions.resetSortBy = 'resetSortBy'\nactions.setSortBy = 'setSortBy'\nactions.toggleSortBy = 'toggleSortBy'\nactions.clearSortBy = 'clearSortBy'\n\ndefaultColumn.sortType = 'alphanumeric'\ndefaultColumn.sortDescFirst = false\n\nexport const useSortBy = hooks => {\n hooks.getSortByToggleProps = [defaultGetSortByToggleProps]\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n}\n\nuseSortBy.pluginName = 'useSortBy'\n\nconst defaultGetSortByToggleProps = (props, { instance, column }) => {\n const { isMultiSortEvent = e => e.shiftKey } = instance\n\n return [\n props,\n {\n onClick: column.canSort\n ? e => {\n e.persist()\n column.toggleSortBy(\n undefined,\n !instance.disableMultiSort && isMultiSortEvent(e)\n )\n }\n : undefined,\n style: {\n cursor: column.canSort ? 'pointer' : undefined,\n },\n title: column.canSort ? 'Toggle SortBy' : undefined,\n },\n ]\n}\n\n// Reducer\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n sortBy: [],\n ...state,\n }\n }\n\n if (action.type === actions.resetSortBy) {\n return {\n ...state,\n sortBy: instance.initialState.sortBy || [],\n }\n }\n\n if (action.type === actions.clearSortBy) {\n const { sortBy } = state\n const newSortBy = sortBy.filter(d => d.id !== action.columnId)\n\n return {\n ...state,\n sortBy: newSortBy,\n }\n }\n\n if (action.type === actions.setSortBy) {\n const { sortBy } = action\n return {\n ...state,\n sortBy,\n }\n }\n\n if (action.type === actions.toggleSortBy) {\n const { columnId, desc, multi } = action\n\n const {\n allColumns,\n disableMultiSort,\n disableSortRemove,\n disableMultiRemove,\n maxMultiSortColCount = Number.MAX_SAFE_INTEGER,\n } = instance\n\n const { sortBy } = state\n\n // Find the column for this columnId\n const column = allColumns.find(d => d.id === columnId)\n const { sortDescFirst } = column\n\n // Find any existing sortBy for this column\n const existingSortBy = sortBy.find(d => d.id === columnId)\n const existingIndex = sortBy.findIndex(d => d.id === columnId)\n const hasDescDefined = typeof desc !== 'undefined' && desc !== null\n\n let newSortBy = []\n\n // What should we do with this sort action?\n let sortAction\n\n if (!disableMultiSort && multi) {\n if (existingSortBy) {\n sortAction = 'toggle'\n } else {\n sortAction = 'add'\n }\n } else {\n // Normal mode\n if (existingIndex !== sortBy.length - 1 || sortBy.length !== 1) {\n sortAction = 'replace'\n } else if (existingSortBy) {\n sortAction = 'toggle'\n } else {\n sortAction = 'replace'\n }\n }\n\n // Handle toggle states that will remove the sortBy\n if (\n sortAction === 'toggle' && // Must be toggling\n !disableSortRemove && // If disableSortRemove, disable in general\n !hasDescDefined && // Must not be setting desc\n (multi ? !disableMultiRemove : true) && // If multi, don't allow if disableMultiRemove\n ((existingSortBy && // Finally, detect if it should indeed be removed\n existingSortBy.desc &&\n !sortDescFirst) ||\n (!existingSortBy.desc && sortDescFirst))\n ) {\n sortAction = 'remove'\n }\n\n if (sortAction === 'replace') {\n newSortBy = [\n {\n id: columnId,\n desc: hasDescDefined ? desc : sortDescFirst,\n },\n ]\n } else if (sortAction === 'add') {\n newSortBy = [\n ...sortBy,\n {\n id: columnId,\n desc: hasDescDefined ? desc : sortDescFirst,\n },\n ]\n // Take latest n columns\n newSortBy.splice(0, newSortBy.length - maxMultiSortColCount)\n } else if (sortAction === 'toggle') {\n // This flips (or sets) the\n newSortBy = sortBy.map(d => {\n if (d.id === columnId) {\n return {\n ...d,\n desc: hasDescDefined ? desc : !existingSortBy.desc,\n }\n }\n return d\n })\n } else if (sortAction === 'remove') {\n newSortBy = sortBy.filter(d => d.id !== columnId)\n }\n\n return {\n ...state,\n sortBy: newSortBy,\n }\n }\n}\n\nfunction useInstance(instance) {\n const {\n data,\n rows,\n flatRows,\n allColumns,\n orderByFn = defaultOrderByFn,\n sortTypes: userSortTypes,\n manualSortBy,\n defaultCanSort,\n disableSortBy,\n flatHeaders,\n state: { sortBy },\n dispatch,\n plugins,\n getHooks,\n autoResetSortBy = true,\n } = instance\n\n ensurePluginOrder(\n plugins,\n ['useFilters', 'useGlobalFilter', 'useGroupBy', 'usePivotColumns'],\n 'useSortBy'\n )\n\n const setSortBy = React.useCallback(\n sortBy => {\n dispatch({ type: actions.setSortBy, sortBy })\n },\n [dispatch]\n )\n\n // Updates sorting based on a columnId, desc flag and multi flag\n const toggleSortBy = React.useCallback(\n (columnId, desc, multi) => {\n dispatch({ type: actions.toggleSortBy, columnId, desc, multi })\n },\n [dispatch]\n )\n\n // use reference to avoid memory leak in #1608\n const getInstance = useGetLatest(instance)\n\n // Add the getSortByToggleProps method to columns and headers\n flatHeaders.forEach(column => {\n const {\n accessor,\n canSort: defaultColumnCanSort,\n disableSortBy: columnDisableSortBy,\n id,\n } = column\n\n const canSort = accessor\n ? getFirstDefined(\n columnDisableSortBy === true ? false : undefined,\n disableSortBy === true ? false : undefined,\n true\n )\n : getFirstDefined(defaultCanSort, defaultColumnCanSort, false)\n\n column.canSort = canSort\n\n if (column.canSort) {\n column.toggleSortBy = (desc, multi) =>\n toggleSortBy(column.id, desc, multi)\n\n column.clearSortBy = () => {\n dispatch({ type: actions.clearSortBy, columnId: column.id })\n }\n }\n\n column.getSortByToggleProps = makePropGetter(\n getHooks().getSortByToggleProps,\n {\n instance: getInstance(),\n column,\n }\n )\n\n const columnSort = sortBy.find(d => d.id === id)\n column.isSorted = !!columnSort\n column.sortedIndex = sortBy.findIndex(d => d.id === id)\n column.isSortedDesc = column.isSorted ? columnSort.desc : undefined\n })\n\n const [sortedRows, sortedFlatRows] = React.useMemo(() => {\n if (manualSortBy || !sortBy.length) {\n return [rows, flatRows]\n }\n\n const sortedFlatRows = []\n\n // Filter out sortBys that correspond to non existing columns\n const availableSortBy = sortBy.filter(sort =>\n allColumns.find(col => col.id === sort.id)\n )\n\n const sortData = rows => {\n // Use the orderByFn to compose multiple sortBy's together.\n // This will also perform a stable sorting using the row index\n // if needed.\n const sortedData = orderByFn(\n rows,\n availableSortBy.map(sort => {\n // Support custom sorting methods for each column\n const column = allColumns.find(d => d.id === sort.id)\n\n if (!column) {\n throw new Error(\n `React-Table: Could not find a column with id: ${sort.id} while sorting`\n )\n }\n\n const { sortType } = column\n\n // Look up sortBy functions in this order:\n // column function\n // column string lookup on user sortType\n // column string lookup on built-in sortType\n // default function\n // default string lookup on user sortType\n // default string lookup on built-in sortType\n const sortMethod =\n isFunction(sortType) ||\n (userSortTypes || {})[sortType] ||\n sortTypes[sortType]\n\n if (!sortMethod) {\n throw new Error(\n `React-Table: Could not find a valid sortType of '${sortType}' for column '${sort.id}'.`\n )\n }\n\n // Return the correct sortFn.\n // This function should always return in ascending order\n return (a, b) => sortMethod(a, b, sort.id, sort.desc)\n }),\n // Map the directions\n availableSortBy.map(sort => {\n // Detect and use the sortInverted option\n const column = allColumns.find(d => d.id === sort.id)\n\n if (column && column.sortInverted) {\n return sort.desc\n }\n\n return !sort.desc\n })\n )\n\n // If there are sub-rows, sort them\n sortedData.forEach(row => {\n sortedFlatRows.push(row)\n if (!row.subRows || row.subRows.length === 0) {\n return\n }\n row.subRows = sortData(row.subRows)\n })\n\n return sortedData\n }\n\n return [sortData(rows), sortedFlatRows]\n }, [\n manualSortBy,\n sortBy,\n rows,\n flatRows,\n allColumns,\n orderByFn,\n userSortTypes,\n ])\n\n const getAutoResetSortBy = useGetLatest(autoResetSortBy)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetSortBy()) {\n dispatch({ type: actions.resetSortBy })\n }\n }, [manualSortBy ? null : data])\n\n Object.assign(instance, {\n preSortedRows: rows,\n preSortedFlatRows: flatRows,\n sortedRows,\n sortedFlatRows,\n rows: sortedRows,\n flatRows: sortedFlatRows,\n setSortBy,\n toggleSortBy,\n })\n}\n\nexport function defaultOrderByFn(arr, funcs, dirs) {\n return [...arr].sort((rowA, rowB) => {\n for (let i = 0; i < funcs.length; i += 1) {\n const sortFn = funcs[i]\n const desc = dirs[i] === false || dirs[i] === 'desc'\n const sortInt = sortFn(rowA, rowB)\n if (sortInt !== 0) {\n return desc ? -sortInt : sortInt\n }\n }\n return dirs[0] ? rowA.index - rowB.index : rowB.index - rowA.index\n })\n}\n","import React from 'react'\n\n//\n\nimport {\n actions,\n ensurePluginOrder,\n functionalUpdate,\n useMountedLayoutEffect,\n useGetLatest,\n} from '../publicUtils'\n\nimport { expandRows } from '../utils'\n\nconst pluginName = 'usePagination'\n\n// Actions\nactions.resetPage = 'resetPage'\nactions.gotoPage = 'gotoPage'\nactions.setPageSize = 'setPageSize'\n\nexport const usePagination = hooks => {\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n}\n\nusePagination.pluginName = pluginName\n\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n pageSize: 10,\n pageIndex: 0,\n ...state,\n }\n }\n\n if (action.type === actions.resetPage) {\n return {\n ...state,\n pageIndex: instance.initialState.pageIndex || 0,\n }\n }\n\n if (action.type === actions.gotoPage) {\n const { pageCount, page } = instance\n const newPageIndex = functionalUpdate(action.pageIndex, state.pageIndex)\n let canNavigate = false\n\n if (newPageIndex > state.pageIndex) {\n // next page\n canNavigate =\n pageCount === -1\n ? page.length >= state.pageSize\n : newPageIndex < pageCount\n } else if (newPageIndex < state.pageIndex) {\n // prev page\n canNavigate = newPageIndex > -1\n }\n\n if (!canNavigate) {\n return state\n }\n\n return {\n ...state,\n pageIndex: newPageIndex,\n }\n }\n\n if (action.type === actions.setPageSize) {\n const { pageSize } = action\n const topRowIndex = state.pageSize * state.pageIndex\n const pageIndex = Math.floor(topRowIndex / pageSize)\n\n return {\n ...state,\n pageIndex,\n pageSize,\n }\n }\n}\n\nfunction useInstance(instance) {\n const {\n rows,\n autoResetPage = true,\n manualExpandedKey = 'expanded',\n plugins,\n pageCount: userPageCount,\n paginateExpandedRows = true,\n expandSubRows = true,\n state: {\n pageSize,\n pageIndex,\n expanded,\n globalFilter,\n filters,\n groupBy,\n sortBy,\n },\n dispatch,\n data,\n manualPagination,\n } = instance\n\n ensurePluginOrder(\n plugins,\n ['useGlobalFilter', 'useFilters', 'useGroupBy', 'useSortBy', 'useExpanded'],\n 'usePagination'\n )\n\n const getAutoResetPage = useGetLatest(autoResetPage)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetPage()) {\n dispatch({ type: actions.resetPage })\n }\n }, [\n dispatch,\n manualPagination ? null : data,\n globalFilter,\n filters,\n groupBy,\n sortBy,\n ])\n\n const pageCount = manualPagination\n ? userPageCount\n : Math.ceil(rows.length / pageSize)\n\n const pageOptions = React.useMemo(\n () =>\n pageCount > 0\n ? [...new Array(pageCount)].fill(null).map((d, i) => i)\n : [],\n [pageCount]\n )\n\n const page = React.useMemo(() => {\n let page\n\n if (manualPagination) {\n page = rows\n } else {\n const pageStart = pageSize * pageIndex\n const pageEnd = pageStart + pageSize\n\n page = rows.slice(pageStart, pageEnd)\n }\n\n if (paginateExpandedRows) {\n return page\n }\n\n return expandRows(page, { manualExpandedKey, expanded, expandSubRows })\n }, [\n expandSubRows,\n expanded,\n manualExpandedKey,\n manualPagination,\n pageIndex,\n pageSize,\n paginateExpandedRows,\n rows,\n ])\n\n const canPreviousPage = pageIndex > 0\n const canNextPage =\n pageCount === -1 ? page.length >= pageSize : pageIndex < pageCount - 1\n\n const gotoPage = React.useCallback(\n pageIndex => {\n dispatch({ type: actions.gotoPage, pageIndex })\n },\n [dispatch]\n )\n\n const previousPage = React.useCallback(() => {\n return gotoPage(old => old - 1)\n }, [gotoPage])\n\n const nextPage = React.useCallback(() => {\n return gotoPage(old => old + 1)\n }, [gotoPage])\n\n const setPageSize = React.useCallback(\n pageSize => {\n dispatch({ type: actions.setPageSize, pageSize })\n },\n [dispatch]\n )\n\n Object.assign(instance, {\n pageOptions,\n pageCount,\n page,\n canPreviousPage,\n canNextPage,\n gotoPage,\n previousPage,\n nextPage,\n setPageSize,\n })\n}\n","/* istanbul ignore file */\n\nimport {\n actions,\n makePropGetter,\n ensurePluginOrder,\n useMountedLayoutEffect,\n useGetLatest,\n} from '../publicUtils'\n\nimport { flattenColumns, getFirstDefined } from '../utils'\n\n// Actions\nactions.resetPivot = 'resetPivot'\nactions.togglePivot = 'togglePivot'\n\nexport const _UNSTABLE_usePivotColumns = hooks => {\n hooks.getPivotToggleProps = [defaultGetPivotToggleProps]\n hooks.stateReducers.push(reducer)\n hooks.useInstanceAfterData.push(useInstanceAfterData)\n hooks.allColumns.push(allColumns)\n hooks.accessValue.push(accessValue)\n hooks.materializedColumns.push(materializedColumns)\n hooks.materializedColumnsDeps.push(materializedColumnsDeps)\n hooks.visibleColumns.push(visibleColumns)\n hooks.visibleColumnsDeps.push(visibleColumnsDeps)\n hooks.useInstance.push(useInstance)\n hooks.prepareRow.push(prepareRow)\n}\n\n_UNSTABLE_usePivotColumns.pluginName = 'usePivotColumns'\n\nconst defaultPivotColumns = []\n\nconst defaultGetPivotToggleProps = (props, { header }) => [\n props,\n {\n onClick: header.canPivot\n ? e => {\n e.persist()\n header.togglePivot()\n }\n : undefined,\n style: {\n cursor: header.canPivot ? 'pointer' : undefined,\n },\n title: 'Toggle Pivot',\n },\n]\n\n// Reducer\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n pivotColumns: defaultPivotColumns,\n ...state,\n }\n }\n\n if (action.type === actions.resetPivot) {\n return {\n ...state,\n pivotColumns: instance.initialState.pivotColumns || defaultPivotColumns,\n }\n }\n\n if (action.type === actions.togglePivot) {\n const { columnId, value: setPivot } = action\n\n const resolvedPivot =\n typeof setPivot !== 'undefined'\n ? setPivot\n : !state.pivotColumns.includes(columnId)\n\n if (resolvedPivot) {\n return {\n ...state,\n pivotColumns: [...state.pivotColumns, columnId],\n }\n }\n\n return {\n ...state,\n pivotColumns: state.pivotColumns.filter(d => d !== columnId),\n }\n }\n}\n\nfunction useInstanceAfterData(instance) {\n instance.allColumns.forEach(column => {\n column.isPivotSource = instance.state.pivotColumns.includes(column.id)\n })\n}\n\nfunction allColumns(columns, { instance }) {\n columns.forEach(column => {\n column.isPivotSource = instance.state.pivotColumns.includes(column.id)\n column.uniqueValues = new Set()\n })\n return columns\n}\n\nfunction accessValue(value, { column }) {\n if (column.uniqueValues && typeof value !== 'undefined') {\n column.uniqueValues.add(value)\n }\n return value\n}\n\nfunction materializedColumns(materialized, { instance }) {\n const { allColumns, state } = instance\n\n if (!state.pivotColumns.length || !state.groupBy || !state.groupBy.length) {\n return materialized\n }\n\n const pivotColumns = state.pivotColumns\n .map(id => allColumns.find(d => d.id === id))\n .filter(Boolean)\n\n const sourceColumns = allColumns.filter(\n d =>\n !d.isPivotSource &&\n !state.groupBy.includes(d.id) &&\n !state.pivotColumns.includes(d.id)\n )\n\n const buildPivotColumns = (depth = 0, parent, pivotFilters = []) => {\n const pivotColumn = pivotColumns[depth]\n\n if (!pivotColumn) {\n return sourceColumns.map(sourceColumn => {\n // TODO: We could offer support here for renesting pivoted\n // columns inside copies of their header groups. For now,\n // that seems like it would be (1) overkill on nesting, considering\n // you already get nesting for every pivot level and (2)\n // really hard. :)\n\n return {\n ...sourceColumn,\n canPivot: false,\n isPivoted: true,\n parent,\n depth: depth,\n id: `${parent ? `${parent.id}.${sourceColumn.id}` : sourceColumn.id}`,\n accessor: (originalRow, i, row) => {\n if (pivotFilters.every(filter => filter(row))) {\n return row.values[sourceColumn.id]\n }\n },\n }\n })\n }\n\n const uniqueValues = Array.from(pivotColumn.uniqueValues).sort()\n\n return uniqueValues.map(uniqueValue => {\n const columnGroup = {\n ...pivotColumn,\n Header:\n pivotColumn.PivotHeader || typeof pivotColumn.header === 'string'\n ? `${pivotColumn.Header}: ${uniqueValue}`\n : uniqueValue,\n isPivotGroup: true,\n parent,\n depth,\n id: parent\n ? `${parent.id}.${pivotColumn.id}.${uniqueValue}`\n : `${pivotColumn.id}.${uniqueValue}`,\n pivotValue: uniqueValue,\n }\n\n columnGroup.columns = buildPivotColumns(depth + 1, columnGroup, [\n ...pivotFilters,\n row => row.values[pivotColumn.id] === uniqueValue,\n ])\n\n return columnGroup\n })\n }\n\n const newMaterialized = flattenColumns(buildPivotColumns())\n\n return [...materialized, ...newMaterialized]\n}\n\nfunction materializedColumnsDeps(\n deps,\n {\n instance: {\n state: { pivotColumns, groupBy },\n },\n }\n) {\n return [...deps, pivotColumns, groupBy]\n}\n\nfunction visibleColumns(visibleColumns, { instance: { state } }) {\n visibleColumns = visibleColumns.filter(d => !d.isPivotSource)\n\n if (state.pivotColumns.length && state.groupBy && state.groupBy.length) {\n visibleColumns = visibleColumns.filter(\n column => column.isGrouped || column.isPivoted\n )\n }\n\n return visibleColumns\n}\n\nfunction visibleColumnsDeps(deps, { instance }) {\n return [...deps, instance.state.pivotColumns, instance.state.groupBy]\n}\n\nfunction useInstance(instance) {\n const {\n columns,\n allColumns,\n flatHeaders,\n // pivotFn = defaultPivotFn,\n // manualPivot,\n getHooks,\n plugins,\n dispatch,\n autoResetPivot = true,\n manaulPivot,\n disablePivot,\n defaultCanPivot,\n } = instance\n\n ensurePluginOrder(plugins, ['useGroupBy'], 'usePivotColumns')\n\n const getInstance = useGetLatest(instance)\n\n allColumns.forEach(column => {\n const {\n accessor,\n defaultPivot: defaultColumnPivot,\n disablePivot: columnDisablePivot,\n } = column\n\n column.canPivot = accessor\n ? getFirstDefined(\n column.canPivot,\n columnDisablePivot === true ? false : undefined,\n disablePivot === true ? false : undefined,\n true\n )\n : getFirstDefined(\n column.canPivot,\n defaultColumnPivot,\n defaultCanPivot,\n false\n )\n\n if (column.canPivot) {\n column.togglePivot = () => instance.togglePivot(column.id)\n }\n\n column.Aggregated = column.Aggregated || column.Cell\n })\n\n const togglePivot = (columnId, value) => {\n dispatch({ type: actions.togglePivot, columnId, value })\n }\n\n flatHeaders.forEach(header => {\n header.getPivotToggleProps = makePropGetter(\n getHooks().getPivotToggleProps,\n {\n instance: getInstance(),\n header,\n }\n )\n })\n\n const getAutoResetPivot = useGetLatest(autoResetPivot)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetPivot()) {\n dispatch({ type: actions.resetPivot })\n }\n }, [dispatch, manaulPivot ? null : columns])\n\n Object.assign(instance, {\n togglePivot,\n })\n}\n\nfunction prepareRow(row) {\n row.allCells.forEach(cell => {\n // Grouped cells are in the pivotColumns and the pivot cell for the row\n cell.isPivoted = cell.column.isPivoted\n })\n}\n","import React from 'react'\n\nimport {\n actions,\n makePropGetter,\n ensurePluginOrder,\n useGetLatest,\n useMountedLayoutEffect,\n} from '../publicUtils'\n\nconst pluginName = 'useRowSelect'\n\n// Actions\nactions.resetSelectedRows = 'resetSelectedRows'\nactions.toggleAllRowsSelected = 'toggleAllRowsSelected'\nactions.toggleRowSelected = 'toggleRowSelected'\nactions.toggleAllPageRowsSelected = 'toggleAllPageRowsSelected'\n\nexport const useRowSelect = hooks => {\n hooks.getToggleRowSelectedProps = [defaultGetToggleRowSelectedProps]\n hooks.getToggleAllRowsSelectedProps = [defaultGetToggleAllRowsSelectedProps]\n hooks.getToggleAllPageRowsSelectedProps = [\n defaultGetToggleAllPageRowsSelectedProps,\n ]\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n hooks.prepareRow.push(prepareRow)\n}\n\nuseRowSelect.pluginName = pluginName\n\nconst defaultGetToggleRowSelectedProps = (props, { instance, row }) => {\n const { manualRowSelectedKey = 'isSelected' } = instance\n let checked = false\n\n if (row.original && row.original[manualRowSelectedKey]) {\n checked = true\n } else {\n checked = row.isSelected\n }\n\n return [\n props,\n {\n onChange: e => {\n row.toggleRowSelected(e.target.checked)\n },\n style: {\n cursor: 'pointer',\n },\n checked,\n title: 'Toggle Row Selected',\n indeterminate: row.isSomeSelected,\n },\n ]\n}\n\nconst defaultGetToggleAllRowsSelectedProps = (props, { instance }) => [\n props,\n {\n onChange: e => {\n instance.toggleAllRowsSelected(e.target.checked)\n },\n style: {\n cursor: 'pointer',\n },\n checked: instance.isAllRowsSelected,\n title: 'Toggle All Rows Selected',\n indeterminate: Boolean(\n !instance.isAllRowsSelected &&\n Object.keys(instance.state.selectedRowIds).length\n ),\n },\n]\n\nconst defaultGetToggleAllPageRowsSelectedProps = (props, { instance }) => [\n props,\n {\n onChange(e) {\n instance.toggleAllPageRowsSelected(e.target.checked)\n },\n style: {\n cursor: 'pointer',\n },\n checked: instance.isAllPageRowsSelected,\n title: 'Toggle All Current Page Rows Selected',\n indeterminate: Boolean(\n !instance.isAllPageRowsSelected &&\n instance.page.some(({ id }) => instance.state.selectedRowIds[id])\n ),\n },\n]\n\n// eslint-disable-next-line max-params\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n selectedRowIds: {},\n ...state,\n }\n }\n\n if (action.type === actions.resetSelectedRows) {\n return {\n ...state,\n selectedRowIds: instance.initialState.selectedRowIds || {},\n }\n }\n\n if (action.type === actions.toggleAllRowsSelected) {\n const { value: setSelected } = action\n const {\n isAllRowsSelected,\n rowsById,\n nonGroupedRowsById = rowsById,\n } = instance\n\n const selectAll =\n typeof setSelected !== 'undefined' ? setSelected : !isAllRowsSelected\n\n // Only remove/add the rows that are visible on the screen\n // Leave all the other rows that are selected alone.\n const selectedRowIds = Object.assign({}, state.selectedRowIds)\n\n if (selectAll) {\n Object.keys(nonGroupedRowsById).forEach(rowId => {\n selectedRowIds[rowId] = true\n })\n } else {\n Object.keys(nonGroupedRowsById).forEach(rowId => {\n delete selectedRowIds[rowId]\n })\n }\n\n return {\n ...state,\n selectedRowIds,\n }\n }\n\n if (action.type === actions.toggleRowSelected) {\n const { id, value: setSelected } = action\n const { rowsById, selectSubRows = true, getSubRows } = instance\n const isSelected = state.selectedRowIds[id]\n const shouldExist =\n typeof setSelected !== 'undefined' ? setSelected : !isSelected\n\n if (isSelected === shouldExist) {\n return state\n }\n\n const newSelectedRowIds = { ...state.selectedRowIds }\n\n const handleRowById = id => {\n const row = rowsById[id]\n\n if (row) {\n if (!row.isGrouped) {\n if (shouldExist) {\n newSelectedRowIds[id] = true\n } else {\n delete newSelectedRowIds[id]\n }\n }\n\n if (selectSubRows && getSubRows(row)) {\n return getSubRows(row).forEach(row => handleRowById(row.id))\n }\n }\n }\n\n handleRowById(id)\n\n return {\n ...state,\n selectedRowIds: newSelectedRowIds,\n }\n }\n\n if (action.type === actions.toggleAllPageRowsSelected) {\n const { value: setSelected } = action\n const {\n page,\n rowsById,\n selectSubRows = true,\n isAllPageRowsSelected,\n getSubRows,\n } = instance\n\n const selectAll =\n typeof setSelected !== 'undefined' ? setSelected : !isAllPageRowsSelected\n\n const newSelectedRowIds = { ...state.selectedRowIds }\n\n const handleRowById = id => {\n const row = rowsById[id]\n\n if (!row.isGrouped) {\n if (selectAll) {\n newSelectedRowIds[id] = true\n } else {\n delete newSelectedRowIds[id]\n }\n }\n\n if (selectSubRows && getSubRows(row)) {\n return getSubRows(row).forEach(row => handleRowById(row.id))\n }\n }\n\n page.forEach(row => handleRowById(row.id))\n\n return {\n ...state,\n selectedRowIds: newSelectedRowIds,\n }\n }\n return state\n}\n\nfunction useInstance(instance) {\n const {\n data,\n rows,\n getHooks,\n plugins,\n rowsById,\n nonGroupedRowsById = rowsById,\n autoResetSelectedRows = true,\n state: { selectedRowIds },\n selectSubRows = true,\n dispatch,\n page,\n getSubRows,\n } = instance\n\n ensurePluginOrder(\n plugins,\n ['useFilters', 'useGroupBy', 'useSortBy', 'useExpanded', 'usePagination'],\n 'useRowSelect'\n )\n\n const selectedFlatRows = React.useMemo(() => {\n const selectedFlatRows = []\n\n rows.forEach(row => {\n const isSelected = selectSubRows\n ? getRowIsSelected(row, selectedRowIds, getSubRows)\n : !!selectedRowIds[row.id]\n row.isSelected = !!isSelected\n row.isSomeSelected = isSelected === null\n\n if (isSelected) {\n selectedFlatRows.push(row)\n }\n })\n\n return selectedFlatRows\n }, [rows, selectSubRows, selectedRowIds, getSubRows])\n\n let isAllRowsSelected = Boolean(\n Object.keys(nonGroupedRowsById).length && Object.keys(selectedRowIds).length\n )\n\n let isAllPageRowsSelected = isAllRowsSelected\n\n if (isAllRowsSelected) {\n if (Object.keys(nonGroupedRowsById).some(id => !selectedRowIds[id])) {\n isAllRowsSelected = false\n }\n }\n\n if (!isAllRowsSelected) {\n if (page && page.length && page.some(({ id }) => !selectedRowIds[id])) {\n isAllPageRowsSelected = false\n }\n }\n\n const getAutoResetSelectedRows = useGetLatest(autoResetSelectedRows)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetSelectedRows()) {\n dispatch({ type: actions.resetSelectedRows })\n }\n }, [dispatch, data])\n\n const toggleAllRowsSelected = React.useCallback(\n value => dispatch({ type: actions.toggleAllRowsSelected, value }),\n [dispatch]\n )\n\n const toggleAllPageRowsSelected = React.useCallback(\n value => dispatch({ type: actions.toggleAllPageRowsSelected, value }),\n [dispatch]\n )\n\n const toggleRowSelected = React.useCallback(\n (id, value) => dispatch({ type: actions.toggleRowSelected, id, value }),\n [dispatch]\n )\n\n const getInstance = useGetLatest(instance)\n\n const getToggleAllRowsSelectedProps = makePropGetter(\n getHooks().getToggleAllRowsSelectedProps,\n { instance: getInstance() }\n )\n\n const getToggleAllPageRowsSelectedProps = makePropGetter(\n getHooks().getToggleAllPageRowsSelectedProps,\n { instance: getInstance() }\n )\n\n Object.assign(instance, {\n selectedFlatRows,\n isAllRowsSelected,\n isAllPageRowsSelected,\n toggleRowSelected,\n toggleAllRowsSelected,\n getToggleAllRowsSelectedProps,\n getToggleAllPageRowsSelectedProps,\n toggleAllPageRowsSelected,\n })\n}\n\nfunction prepareRow(row, { instance }) {\n row.toggleRowSelected = set => instance.toggleRowSelected(row.id, set)\n\n row.getToggleRowSelectedProps = makePropGetter(\n instance.getHooks().getToggleRowSelectedProps,\n { instance: instance, row }\n )\n}\n\nfunction getRowIsSelected(row, selectedRowIds, getSubRows) {\n if (selectedRowIds[row.id]) {\n return true\n }\n\n const subRows = getSubRows(row)\n\n if (subRows && subRows.length) {\n let allChildrenSelected = true\n let someSelected = false\n\n subRows.forEach(subRow => {\n // Bail out early if we know both of these\n if (someSelected && !allChildrenSelected) {\n return\n }\n\n if (getRowIsSelected(subRow, selectedRowIds, getSubRows)) {\n someSelected = true\n } else {\n allChildrenSelected = false\n }\n })\n return allChildrenSelected ? true : someSelected ? null : false\n }\n\n return false\n}\n","import React from 'react'\n\nimport {\n actions,\n functionalUpdate,\n useMountedLayoutEffect,\n useGetLatest,\n} from '../publicUtils'\n\nconst defaultInitialRowStateAccessor = row => ({})\nconst defaultInitialCellStateAccessor = cell => ({})\n\n// Actions\nactions.setRowState = 'setRowState'\nactions.setCellState = 'setCellState'\nactions.resetRowState = 'resetRowState'\n\nexport const useRowState = hooks => {\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n hooks.prepareRow.push(prepareRow)\n}\n\nuseRowState.pluginName = 'useRowState'\n\nfunction reducer(state, action, previousState, instance) {\n const {\n initialRowStateAccessor = defaultInitialRowStateAccessor,\n initialCellStateAccessor = defaultInitialCellStateAccessor,\n rowsById,\n } = instance\n\n if (action.type === actions.init) {\n return {\n rowState: {},\n ...state,\n }\n }\n\n if (action.type === actions.resetRowState) {\n return {\n ...state,\n rowState: instance.initialState.rowState || {},\n }\n }\n\n if (action.type === actions.setRowState) {\n const { rowId, value } = action\n\n const oldRowState =\n typeof state.rowState[rowId] !== 'undefined'\n ? state.rowState[rowId]\n : initialRowStateAccessor(rowsById[rowId])\n\n return {\n ...state,\n rowState: {\n ...state.rowState,\n [rowId]: functionalUpdate(value, oldRowState),\n },\n }\n }\n\n if (action.type === actions.setCellState) {\n const { rowId, columnId, value } = action\n\n const oldRowState =\n typeof state.rowState[rowId] !== 'undefined'\n ? state.rowState[rowId]\n : initialRowStateAccessor(rowsById[rowId])\n\n const oldCellState =\n typeof oldRowState?.cellState?.[columnId] !== 'undefined'\n ? oldRowState.cellState[columnId]\n : initialCellStateAccessor(\n rowsById[rowId]?.cells?.find(cell => cell.column.id === columnId)\n )\n\n return {\n ...state,\n rowState: {\n ...state.rowState,\n [rowId]: {\n ...oldRowState,\n cellState: {\n ...(oldRowState.cellState || {}),\n [columnId]: functionalUpdate(value, oldCellState),\n },\n },\n },\n }\n }\n}\n\nfunction useInstance(instance) {\n const { autoResetRowState = true, data, dispatch } = instance\n\n const setRowState = React.useCallback(\n (rowId, value) =>\n dispatch({\n type: actions.setRowState,\n rowId,\n value,\n }),\n [dispatch]\n )\n\n const setCellState = React.useCallback(\n (rowId, columnId, value) =>\n dispatch({\n type: actions.setCellState,\n rowId,\n columnId,\n value,\n }),\n [dispatch]\n )\n\n const getAutoResetRowState = useGetLatest(autoResetRowState)\n\n useMountedLayoutEffect(() => {\n if (getAutoResetRowState()) {\n dispatch({ type: actions.resetRowState })\n }\n }, [data])\n\n Object.assign(instance, {\n setRowState,\n setCellState,\n })\n}\n\nfunction prepareRow(row, { instance }) {\n const {\n initialRowStateAccessor = defaultInitialRowStateAccessor,\n initialCellStateAccessor = defaultInitialCellStateAccessor,\n state: { rowState },\n } = instance\n\n if (row) {\n row.state =\n typeof rowState[row.id] !== 'undefined'\n ? rowState[row.id]\n : initialRowStateAccessor(row)\n\n row.setState = updater => {\n return instance.setRowState(row.id, updater)\n }\n\n row.cells.forEach(cell => {\n if (!row.state.cellState) {\n row.state.cellState = {}\n }\n\n cell.state =\n typeof row.state.cellState[cell.column.id] !== 'undefined'\n ? row.state.cellState[cell.column.id]\n : initialCellStateAccessor(cell)\n\n cell.setState = updater => {\n return instance.setCellState(row.id, cell.column.id, updater)\n }\n })\n }\n}\n","import React from 'react'\n\nimport { functionalUpdate, actions } from '../publicUtils'\n\n// Actions\nactions.resetColumnOrder = 'resetColumnOrder'\nactions.setColumnOrder = 'setColumnOrder'\n\nexport const useColumnOrder = hooks => {\n hooks.stateReducers.push(reducer)\n hooks.visibleColumnsDeps.push((deps, { instance }) => {\n return [...deps, instance.state.columnOrder]\n })\n hooks.visibleColumns.push(visibleColumns)\n hooks.useInstance.push(useInstance)\n}\n\nuseColumnOrder.pluginName = 'useColumnOrder'\n\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n columnOrder: [],\n ...state,\n }\n }\n\n if (action.type === actions.resetColumnOrder) {\n return {\n ...state,\n columnOrder: instance.initialState.columnOrder || [],\n }\n }\n\n if (action.type === actions.setColumnOrder) {\n return {\n ...state,\n columnOrder: functionalUpdate(action.columnOrder, state.columnOrder),\n }\n }\n}\n\nfunction visibleColumns(\n columns,\n {\n instance: {\n state: { columnOrder },\n },\n }\n) {\n // If there is no order, return the normal columns\n if (!columnOrder || !columnOrder.length) {\n return columns\n }\n\n const columnOrderCopy = [...columnOrder]\n\n // If there is an order, make a copy of the columns\n const columnsCopy = [...columns]\n\n // And make a new ordered array of the columns\n const columnsInOrder = []\n\n // Loop over the columns and place them in order into the new array\n while (columnsCopy.length && columnOrderCopy.length) {\n const targetColumnId = columnOrderCopy.shift()\n const foundIndex = columnsCopy.findIndex(d => d.id === targetColumnId)\n if (foundIndex > -1) {\n columnsInOrder.push(columnsCopy.splice(foundIndex, 1)[0])\n }\n }\n\n // If there are any columns left, add them to the end\n return [...columnsInOrder, ...columnsCopy]\n}\n\nfunction useInstance(instance) {\n const { dispatch } = instance\n\n instance.setColumnOrder = React.useCallback(\n columnOrder => {\n return dispatch({ type: actions.setColumnOrder, columnOrder })\n },\n [dispatch]\n )\n}\n","import React from 'react'\n\nimport {\n actions,\n defaultColumn,\n makePropGetter,\n useGetLatest,\n ensurePluginOrder,\n useMountedLayoutEffect,\n} from '../publicUtils'\n\nimport { getFirstDefined, passiveEventSupported } from '../utils'\n\n// Default Column\ndefaultColumn.canResize = true\n\n// Actions\nactions.columnStartResizing = 'columnStartResizing'\nactions.columnResizing = 'columnResizing'\nactions.columnDoneResizing = 'columnDoneResizing'\nactions.resetResize = 'resetResize'\n\nexport const useResizeColumns = hooks => {\n hooks.getResizerProps = [defaultGetResizerProps]\n hooks.getHeaderProps.push({\n style: {\n position: 'relative',\n },\n })\n hooks.stateReducers.push(reducer)\n hooks.useInstance.push(useInstance)\n hooks.useInstanceBeforeDimensions.push(useInstanceBeforeDimensions)\n}\n\nconst defaultGetResizerProps = (props, { instance, header }) => {\n const { dispatch } = instance\n\n const onResizeStart = (e, header) => {\n let isTouchEvent = false\n if (e.type === 'touchstart') {\n // lets not respond to multiple touches (e.g. 2 or 3 fingers)\n if (e.touches && e.touches.length > 1) {\n return\n }\n isTouchEvent = true\n }\n const headersToResize = getLeafHeaders(header)\n const headerIdWidths = headersToResize.map(d => [d.id, d.totalWidth])\n\n const clientX = isTouchEvent ? Math.round(e.touches[0].clientX) : e.clientX\n\n let raf\n let mostRecentClientX\n\n const dispatchEnd = () => {\n window.cancelAnimationFrame(raf)\n raf = null\n dispatch({ type: actions.columnDoneResizing })\n }\n const dispatchMove = () => {\n window.cancelAnimationFrame(raf)\n raf = null\n dispatch({ type: actions.columnResizing, clientX: mostRecentClientX })\n }\n\n const scheduleDispatchMoveOnNextAnimationFrame = clientXPos => {\n mostRecentClientX = clientXPos\n if (!raf) {\n raf = window.requestAnimationFrame(dispatchMove)\n }\n }\n\n const handlersAndEvents = {\n mouse: {\n moveEvent: 'mousemove',\n moveHandler: e => scheduleDispatchMoveOnNextAnimationFrame(e.clientX),\n upEvent: 'mouseup',\n upHandler: e => {\n document.removeEventListener(\n 'mousemove',\n handlersAndEvents.mouse.moveHandler\n )\n document.removeEventListener(\n 'mouseup',\n handlersAndEvents.mouse.upHandler\n )\n dispatchEnd()\n },\n },\n touch: {\n moveEvent: 'touchmove',\n moveHandler: e => {\n if (e.cancelable) {\n e.preventDefault()\n e.stopPropagation()\n }\n scheduleDispatchMoveOnNextAnimationFrame(e.touches[0].clientX)\n return false\n },\n upEvent: 'touchend',\n upHandler: e => {\n document.removeEventListener(\n handlersAndEvents.touch.moveEvent,\n handlersAndEvents.touch.moveHandler\n )\n document.removeEventListener(\n handlersAndEvents.touch.upEvent,\n handlersAndEvents.touch.moveHandler\n )\n dispatchEnd()\n },\n },\n }\n\n const events = isTouchEvent\n ? handlersAndEvents.touch\n : handlersAndEvents.mouse\n const passiveIfSupported = passiveEventSupported()\n ? { passive: false }\n : false\n document.addEventListener(\n events.moveEvent,\n events.moveHandler,\n passiveIfSupported\n )\n document.addEventListener(\n events.upEvent,\n events.upHandler,\n passiveIfSupported\n )\n\n dispatch({\n type: actions.columnStartResizing,\n columnId: header.id,\n columnWidth: header.totalWidth,\n headerIdWidths,\n clientX,\n })\n }\n\n return [\n props,\n {\n onMouseDown: e => e.persist() || onResizeStart(e, header),\n onTouchStart: e => e.persist() || onResizeStart(e, header),\n style: {\n cursor: 'col-resize',\n },\n draggable: false,\n role: 'separator',\n },\n ]\n}\n\nuseResizeColumns.pluginName = 'useResizeColumns'\n\nfunction reducer(state, action) {\n if (action.type === actions.init) {\n return {\n columnResizing: {\n columnWidths: {},\n },\n ...state,\n }\n }\n\n if (action.type === actions.resetResize) {\n return {\n ...state,\n columnResizing: {\n columnWidths: {},\n },\n }\n }\n\n if (action.type === actions.columnStartResizing) {\n const { clientX, columnId, columnWidth, headerIdWidths } = action\n\n return {\n ...state,\n columnResizing: {\n ...state.columnResizing,\n startX: clientX,\n headerIdWidths,\n columnWidth,\n isResizingColumn: columnId,\n },\n }\n }\n\n if (action.type === actions.columnResizing) {\n const { clientX } = action\n const { startX, columnWidth, headerIdWidths = [] } = state.columnResizing\n\n const deltaX = clientX - startX\n const percentageDeltaX = deltaX / columnWidth\n\n const newColumnWidths = {}\n\n headerIdWidths.forEach(([headerId, headerWidth]) => {\n newColumnWidths[headerId] = Math.max(\n headerWidth + headerWidth * percentageDeltaX,\n 0\n )\n })\n\n return {\n ...state,\n columnResizing: {\n ...state.columnResizing,\n columnWidths: {\n ...state.columnResizing.columnWidths,\n ...newColumnWidths,\n },\n },\n }\n }\n\n if (action.type === actions.columnDoneResizing) {\n return {\n ...state,\n columnResizing: {\n ...state.columnResizing,\n startX: null,\n isResizingColumn: null,\n },\n }\n }\n}\n\nconst useInstanceBeforeDimensions = instance => {\n const {\n flatHeaders,\n disableResizing,\n getHooks,\n state: { columnResizing },\n } = instance\n\n const getInstance = useGetLatest(instance)\n\n flatHeaders.forEach(header => {\n const canResize = getFirstDefined(\n header.disableResizing === true ? false : undefined,\n disableResizing === true ? false : undefined,\n true\n )\n\n header.canResize = canResize\n header.width =\n columnResizing.columnWidths[header.id] ||\n header.originalWidth ||\n header.width\n header.isResizing = columnResizing.isResizingColumn === header.id\n\n if (canResize) {\n header.getResizerProps = makePropGetter(getHooks().getResizerProps, {\n instance: getInstance(),\n header,\n })\n }\n })\n}\n\nfunction useInstance(instance) {\n const { plugins, dispatch, autoResetResize = true, columns } = instance\n\n ensurePluginOrder(plugins, ['useAbsoluteLayout'], 'useResizeColumns')\n\n const getAutoResetResize = useGetLatest(autoResetResize)\n useMountedLayoutEffect(() => {\n if (getAutoResetResize()) {\n dispatch({ type: actions.resetResize })\n }\n }, [columns])\n\n const resetResizing = React.useCallback(\n () => dispatch({ type: actions.resetResize }),\n [dispatch]\n )\n\n Object.assign(instance, {\n resetResizing,\n })\n}\n\nfunction getLeafHeaders(header) {\n const leafHeaders = []\n const recurseHeader = header => {\n if (header.columns && header.columns.length) {\n header.columns.map(recurseHeader)\n }\n leafHeaders.push(header)\n }\n recurseHeader(header)\n return leafHeaders\n}\n","const cellStyles = {\n position: 'absolute',\n top: 0,\n}\n\nexport const useAbsoluteLayout = hooks => {\n hooks.getTableBodyProps.push(getRowStyles)\n hooks.getRowProps.push(getRowStyles)\n hooks.getHeaderGroupProps.push(getRowStyles)\n hooks.getFooterGroupProps.push(getRowStyles)\n\n hooks.getHeaderProps.push((props, { column }) => [\n props,\n {\n style: {\n ...cellStyles,\n left: `${column.totalLeft}px`,\n width: `${column.totalWidth}px`,\n },\n },\n ])\n\n hooks.getCellProps.push((props, { cell }) => [\n props,\n {\n style: {\n ...cellStyles,\n left: `${cell.column.totalLeft}px`,\n width: `${cell.column.totalWidth}px`,\n },\n },\n ])\n\n hooks.getFooterProps.push((props, { column }) => [\n props,\n {\n style: {\n ...cellStyles,\n left: `${column.totalLeft}px`,\n width: `${column.totalWidth}px`,\n },\n },\n ])\n}\n\nuseAbsoluteLayout.pluginName = 'useAbsoluteLayout'\n\nconst getRowStyles = (props, { instance }) => [\n props,\n {\n style: {\n position: 'relative',\n width: `${instance.totalColumnsWidth}px`,\n },\n },\n]\n","const cellStyles = {\n display: 'inline-block',\n boxSizing: 'border-box',\n}\n\nconst getRowStyles = (props, { instance }) => [\n props,\n {\n style: {\n display: 'flex',\n width: `${instance.totalColumnsWidth}px`,\n },\n },\n]\n\nexport const useBlockLayout = hooks => {\n hooks.getRowProps.push(getRowStyles)\n hooks.getHeaderGroupProps.push(getRowStyles)\n hooks.getFooterGroupProps.push(getRowStyles)\n\n hooks.getHeaderProps.push((props, { column }) => [\n props,\n {\n style: {\n ...cellStyles,\n width: `${column.totalWidth}px`,\n },\n },\n ])\n\n hooks.getCellProps.push((props, { cell }) => [\n props,\n {\n style: {\n ...cellStyles,\n width: `${cell.column.totalWidth}px`,\n },\n },\n ])\n\n hooks.getFooterProps.push((props, { column }) => [\n props,\n {\n style: {\n ...cellStyles,\n width: `${column.totalWidth}px`,\n },\n },\n ])\n}\n\nuseBlockLayout.pluginName = 'useBlockLayout'\n","export function useFlexLayout(hooks) {\n hooks.getTableProps.push(getTableProps)\n hooks.getRowProps.push(getRowStyles)\n hooks.getHeaderGroupProps.push(getRowStyles)\n hooks.getFooterGroupProps.push(getRowStyles)\n hooks.getHeaderProps.push(getHeaderProps)\n hooks.getCellProps.push(getCellProps)\n hooks.getFooterProps.push(getFooterProps)\n}\n\nuseFlexLayout.pluginName = 'useFlexLayout'\n\nconst getTableProps = (props, { instance }) => [\n props,\n {\n style: {\n minWidth: `${instance.totalColumnsMinWidth}px`,\n },\n },\n]\n\nconst getRowStyles = (props, { instance }) => [\n props,\n {\n style: {\n display: 'flex',\n flex: '1 0 auto',\n minWidth: `${instance.totalColumnsMinWidth}px`,\n },\n },\n]\n\nconst getHeaderProps = (props, { column }) => [\n props,\n {\n style: {\n boxSizing: 'border-box',\n flex: column.totalFlexWidth\n ? `${column.totalFlexWidth} 0 auto`\n : undefined,\n minWidth: `${column.totalMinWidth}px`,\n width: `${column.totalWidth}px`,\n },\n },\n]\n\nconst getCellProps = (props, { cell }) => [\n props,\n {\n style: {\n boxSizing: 'border-box',\n flex: `${cell.column.totalFlexWidth} 0 auto`,\n minWidth: `${cell.column.totalMinWidth}px`,\n width: `${cell.column.totalWidth}px`,\n },\n },\n]\n\nconst getFooterProps = (props, { column }) => [\n props,\n {\n style: {\n boxSizing: 'border-box',\n flex: column.totalFlexWidth\n ? `${column.totalFlexWidth} 0 auto`\n : undefined,\n minWidth: `${column.totalMinWidth}px`,\n width: `${column.totalWidth}px`,\n },\n },\n]\n","import { actions } from '../publicUtils'\n\n// Actions\nactions.columnStartResizing = 'columnStartResizing'\nactions.columnResizing = 'columnResizing'\nactions.columnDoneResizing = 'columnDoneResizing'\nactions.resetResize = 'resetResize'\n\nexport function useGridLayout(hooks) {\n hooks.stateReducers.push(reducer)\n hooks.getTableProps.push(getTableProps)\n hooks.getHeaderProps.push(getHeaderProps)\n hooks.getRowProps.push(getRowProps)\n}\n\nuseGridLayout.pluginName = 'useGridLayout'\n\nconst getTableProps = (props, { instance }) => {\n const gridTemplateColumns = instance.visibleColumns.map(column => {\n if (instance.state.gridLayout.columnWidths[column.id])\n return `${instance.state.gridLayout.columnWidths[column.id]}px`\n // When resizing, lock the width of all unset columns\n // instead of using user-provided width or defaultColumn width,\n // which could potentially be 'auto' or 'fr' units that don't scale linearly\n if (instance.state.columnResizing?.isResizingColumn)\n return `${instance.state.gridLayout.startWidths[column.id]}px`\n if (typeof column.width === 'number') return `${column.width}px`\n return column.width\n })\n return [\n props,\n {\n style: {\n display: `grid`,\n gridTemplateColumns: gridTemplateColumns.join(` `),\n },\n },\n ]\n}\n\nconst getHeaderProps = (props, { column }) => [\n props,\n {\n id: `header-cell-${column.id}`,\n style: {\n position: `sticky`, //enables a scroll wrapper to be placed around the table and have sticky headers\n gridColumn: `span ${column.totalVisibleHeaderCount}`,\n },\n },\n]\n\nconst getRowProps = (props, { row }) => {\n if (row.isExpanded) {\n return [\n props,\n {\n style: {\n gridColumn: `1 / ${row.cells.length + 1}`,\n },\n },\n ]\n }\n return [props, {}]\n}\n\nfunction reducer(state, action, previousState, instance) {\n if (action.type === actions.init) {\n return {\n gridLayout: {\n columnWidths: {},\n },\n ...state,\n }\n }\n\n if (action.type === actions.resetResize) {\n return {\n ...state,\n gridLayout: {\n columnWidths: {},\n },\n }\n }\n\n if (action.type === actions.columnStartResizing) {\n const { columnId, headerIdWidths } = action\n const columnWidth = getElementWidth(columnId)\n\n if (columnWidth !== undefined) {\n const startWidths = instance.visibleColumns.reduce(\n (acc, column) => ({\n ...acc,\n [column.id]: getElementWidth(column.id),\n }),\n {}\n )\n const minWidths = instance.visibleColumns.reduce(\n (acc, column) => ({\n ...acc,\n [column.id]: column.minWidth,\n }),\n {}\n )\n const maxWidths = instance.visibleColumns.reduce(\n (acc, column) => ({\n ...acc,\n [column.id]: column.maxWidth,\n }),\n {}\n )\n\n const headerIdGridWidths = headerIdWidths.map(([headerId]) => [\n headerId,\n getElementWidth(headerId),\n ])\n\n return {\n ...state,\n gridLayout: {\n ...state.gridLayout,\n startWidths,\n minWidths,\n maxWidths,\n headerIdGridWidths,\n columnWidth,\n },\n }\n } else {\n return state\n }\n }\n\n if (action.type === actions.columnResizing) {\n const { clientX } = action\n const { startX } = state.columnResizing\n const {\n columnWidth,\n minWidths,\n maxWidths,\n headerIdGridWidths = [],\n } = state.gridLayout\n\n const deltaX = clientX - startX\n const percentageDeltaX = deltaX / columnWidth\n\n const newColumnWidths = {}\n\n headerIdGridWidths.forEach(([headerId, headerWidth]) => {\n newColumnWidths[headerId] = Math.min(\n Math.max(\n minWidths[headerId],\n headerWidth + headerWidth * percentageDeltaX\n ),\n maxWidths[headerId]\n )\n })\n\n return {\n ...state,\n gridLayout: {\n ...state.gridLayout,\n columnWidths: {\n ...state.gridLayout.columnWidths,\n ...newColumnWidths,\n },\n },\n }\n }\n\n if (action.type === actions.columnDoneResizing) {\n return {\n ...state,\n gridLayout: {\n ...state.gridLayout,\n startWidths: {},\n minWidths: {},\n maxWidths: {},\n },\n }\n }\n}\n\nfunction getElementWidth(columnId) {\n const width = document.getElementById(`header-cell-${columnId}`)?.offsetWidth\n\n if (width !== undefined) {\n return width\n }\n}\n","if (process.env.NODE_ENV === 'production') {\n module.exports = require('./dist/react-table.production.min.js')\n} else {\n module.exports = require('./dist/react-table.development.js')\n}\n","/** @license React v16.14.0\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),g=60103;exports.Fragment=60107;if(\"function\"===typeof Symbol&&Symbol.for){var h=Symbol.for;g=h(\"react.element\");exports.Fragment=h(\"react.fragment\")}var m=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,n=Object.prototype.hasOwnProperty,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,k){var b,d={},e=null,l=null;void 0!==k&&(e=\"\"+k);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(l=a.ref);for(b in a)n.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:g,type:c,key:e,ref:l,props:d,_owner:m.current}}exports.jsx=q;exports.jsxs=q;\n","/** @license React v16.14.0\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var l=require(\"object-assign\"),n=\"function\"===typeof Symbol&&Symbol.for,p=n?Symbol.for(\"react.element\"):60103,q=n?Symbol.for(\"react.portal\"):60106,r=n?Symbol.for(\"react.fragment\"):60107,t=n?Symbol.for(\"react.strict_mode\"):60108,u=n?Symbol.for(\"react.profiler\"):60114,v=n?Symbol.for(\"react.provider\"):60109,w=n?Symbol.for(\"react.context\"):60110,x=n?Symbol.for(\"react.forward_ref\"):60112,y=n?Symbol.for(\"react.suspense\"):60113,z=n?Symbol.for(\"react.memo\"):60115,A=n?Symbol.for(\"react.lazy\"):\n60116,B=\"function\"===typeof Symbol&&Symbol.iterator;function C(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cQ.length&&Q.push(a)}\nfunction T(a,b,c,e){var d=typeof a;if(\"undefined\"===d||\"boolean\"===d)a=null;var g=!1;if(null===a)g=!0;else switch(d){case \"string\":case \"number\":g=!0;break;case \"object\":switch(a.$$typeof){case p:case q:g=!0}}if(g)return c(e,a,\"\"===b?\".\"+U(a,0):b),1;g=0;b=\"\"===b?\".\":b+\":\";if(Array.isArray(a))for(var k=0;k} arr\r\n * @param {*} key\r\n * @returns {number}\r\n */\r\n function getIndex(arr, key) {\r\n var result = -1;\r\n arr.some(function (entry, index) {\r\n if (entry[0] === key) {\r\n result = index;\r\n return true;\r\n }\r\n return false;\r\n });\r\n return result;\r\n }\r\n return /** @class */ (function () {\r\n function class_1() {\r\n this.__entries__ = [];\r\n }\r\n Object.defineProperty(class_1.prototype, \"size\", {\r\n /**\r\n * @returns {boolean}\r\n */\r\n get: function () {\r\n return this.__entries__.length;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * @param {*} key\r\n * @returns {*}\r\n */\r\n class_1.prototype.get = function (key) {\r\n var index = getIndex(this.__entries__, key);\r\n var entry = this.__entries__[index];\r\n return entry && entry[1];\r\n };\r\n /**\r\n * @param {*} key\r\n * @param {*} value\r\n * @returns {void}\r\n */\r\n class_1.prototype.set = function (key, value) {\r\n var index = getIndex(this.__entries__, key);\r\n if (~index) {\r\n this.__entries__[index][1] = value;\r\n }\r\n else {\r\n this.__entries__.push([key, value]);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.delete = function (key) {\r\n var entries = this.__entries__;\r\n var index = getIndex(entries, key);\r\n if (~index) {\r\n entries.splice(index, 1);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.has = function (key) {\r\n return !!~getIndex(this.__entries__, key);\r\n };\r\n /**\r\n * @returns {void}\r\n */\r\n class_1.prototype.clear = function () {\r\n this.__entries__.splice(0);\r\n };\r\n /**\r\n * @param {Function} callback\r\n * @param {*} [ctx=null]\r\n * @returns {void}\r\n */\r\n class_1.prototype.forEach = function (callback, ctx) {\r\n if (ctx === void 0) { ctx = null; }\r\n for (var _i = 0, _a = this.__entries__; _i < _a.length; _i++) {\r\n var entry = _a[_i];\r\n callback.call(ctx, entry[1], entry[0]);\r\n }\r\n };\r\n return class_1;\r\n }());\r\n})();\n\n/**\r\n * Detects whether window and document objects are available in current environment.\r\n */\r\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document;\n\n// Returns global object of a current environment.\r\nvar global$1 = (function () {\r\n if (typeof global !== 'undefined' && global.Math === Math) {\r\n return global;\r\n }\r\n if (typeof self !== 'undefined' && self.Math === Math) {\r\n return self;\r\n }\r\n if (typeof window !== 'undefined' && window.Math === Math) {\r\n return window;\r\n }\r\n // eslint-disable-next-line no-new-func\r\n return Function('return this')();\r\n})();\n\n/**\r\n * A shim for the requestAnimationFrame which falls back to the setTimeout if\r\n * first one is not supported.\r\n *\r\n * @returns {number} Requests' identifier.\r\n */\r\nvar requestAnimationFrame$1 = (function () {\r\n if (typeof requestAnimationFrame === 'function') {\r\n // It's required to use a bounded function because IE sometimes throws\r\n // an \"Invalid calling object\" error if rAF is invoked without the global\r\n // object on the left hand side.\r\n return requestAnimationFrame.bind(global$1);\r\n }\r\n return function (callback) { return setTimeout(function () { return callback(Date.now()); }, 1000 / 60); };\r\n})();\n\n// Defines minimum timeout before adding a trailing call.\r\nvar trailingTimeout = 2;\r\n/**\r\n * Creates a wrapper function which ensures that provided callback will be\r\n * invoked only once during the specified delay period.\r\n *\r\n * @param {Function} callback - Function to be invoked after the delay period.\r\n * @param {number} delay - Delay after which to invoke callback.\r\n * @returns {Function}\r\n */\r\nfunction throttle (callback, delay) {\r\n var leadingCall = false, trailingCall = false, lastCallTime = 0;\r\n /**\r\n * Invokes the original callback function and schedules new invocation if\r\n * the \"proxy\" was called during current request.\r\n *\r\n * @returns {void}\r\n */\r\n function resolvePending() {\r\n if (leadingCall) {\r\n leadingCall = false;\r\n callback();\r\n }\r\n if (trailingCall) {\r\n proxy();\r\n }\r\n }\r\n /**\r\n * Callback invoked after the specified delay. It will further postpone\r\n * invocation of the original function delegating it to the\r\n * requestAnimationFrame.\r\n *\r\n * @returns {void}\r\n */\r\n function timeoutCallback() {\r\n requestAnimationFrame$1(resolvePending);\r\n }\r\n /**\r\n * Schedules invocation of the original function.\r\n *\r\n * @returns {void}\r\n */\r\n function proxy() {\r\n var timeStamp = Date.now();\r\n if (leadingCall) {\r\n // Reject immediately following calls.\r\n if (timeStamp - lastCallTime < trailingTimeout) {\r\n return;\r\n }\r\n // Schedule new call to be in invoked when the pending one is resolved.\r\n // This is important for \"transitions\" which never actually start\r\n // immediately so there is a chance that we might miss one if change\r\n // happens amids the pending invocation.\r\n trailingCall = true;\r\n }\r\n else {\r\n leadingCall = true;\r\n trailingCall = false;\r\n setTimeout(timeoutCallback, delay);\r\n }\r\n lastCallTime = timeStamp;\r\n }\r\n return proxy;\r\n}\n\n// Minimum delay before invoking the update of observers.\r\nvar REFRESH_DELAY = 20;\r\n// A list of substrings of CSS properties used to find transition events that\r\n// might affect dimensions of observed elements.\r\nvar transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight'];\r\n// Check if MutationObserver is available.\r\nvar mutationObserverSupported = typeof MutationObserver !== 'undefined';\r\n/**\r\n * Singleton controller class which handles updates of ResizeObserver instances.\r\n */\r\nvar ResizeObserverController = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserverController.\r\n *\r\n * @private\r\n */\r\n function ResizeObserverController() {\r\n /**\r\n * Indicates whether DOM listeners have been added.\r\n *\r\n * @private {boolean}\r\n */\r\n this.connected_ = false;\r\n /**\r\n * Tells that controller has subscribed for Mutation Events.\r\n *\r\n * @private {boolean}\r\n */\r\n this.mutationEventsAdded_ = false;\r\n /**\r\n * Keeps reference to the instance of MutationObserver.\r\n *\r\n * @private {MutationObserver}\r\n */\r\n this.mutationsObserver_ = null;\r\n /**\r\n * A list of connected observers.\r\n *\r\n * @private {Array}\r\n */\r\n this.observers_ = [];\r\n this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);\r\n this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);\r\n }\r\n /**\r\n * Adds observer to observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be added.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.addObserver = function (observer) {\r\n if (!~this.observers_.indexOf(observer)) {\r\n this.observers_.push(observer);\r\n }\r\n // Add listeners if they haven't been added yet.\r\n if (!this.connected_) {\r\n this.connect_();\r\n }\r\n };\r\n /**\r\n * Removes observer from observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be removed.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.removeObserver = function (observer) {\r\n var observers = this.observers_;\r\n var index = observers.indexOf(observer);\r\n // Remove observer if it's present in registry.\r\n if (~index) {\r\n observers.splice(index, 1);\r\n }\r\n // Remove listeners if controller has no connected observers.\r\n if (!observers.length && this.connected_) {\r\n this.disconnect_();\r\n }\r\n };\r\n /**\r\n * Invokes the update of observers. It will continue running updates insofar\r\n * it detects changes.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.refresh = function () {\r\n var changesDetected = this.updateObservers_();\r\n // Continue running updates if changes have been detected as there might\r\n // be future ones caused by CSS transitions.\r\n if (changesDetected) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Updates every observer from observers list and notifies them of queued\r\n * entries.\r\n *\r\n * @private\r\n * @returns {boolean} Returns \"true\" if any observer has detected changes in\r\n * dimensions of it's elements.\r\n */\r\n ResizeObserverController.prototype.updateObservers_ = function () {\r\n // Collect observers that have active observations.\r\n var activeObservers = this.observers_.filter(function (observer) {\r\n return observer.gatherActive(), observer.hasActive();\r\n });\r\n // Deliver notifications in a separate cycle in order to avoid any\r\n // collisions between observers, e.g. when multiple instances of\r\n // ResizeObserver are tracking the same element and the callback of one\r\n // of them changes content dimensions of the observed target. Sometimes\r\n // this may result in notifications being blocked for the rest of observers.\r\n activeObservers.forEach(function (observer) { return observer.broadcastActive(); });\r\n return activeObservers.length > 0;\r\n };\r\n /**\r\n * Initializes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.connect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already added.\r\n if (!isBrowser || this.connected_) {\r\n return;\r\n }\r\n // Subscription to the \"Transitionend\" event is used as a workaround for\r\n // delayed transitions. This way it's possible to capture at least the\r\n // final state of an element.\r\n document.addEventListener('transitionend', this.onTransitionEnd_);\r\n window.addEventListener('resize', this.refresh);\r\n if (mutationObserverSupported) {\r\n this.mutationsObserver_ = new MutationObserver(this.refresh);\r\n this.mutationsObserver_.observe(document, {\r\n attributes: true,\r\n childList: true,\r\n characterData: true,\r\n subtree: true\r\n });\r\n }\r\n else {\r\n document.addEventListener('DOMSubtreeModified', this.refresh);\r\n this.mutationEventsAdded_ = true;\r\n }\r\n this.connected_ = true;\r\n };\r\n /**\r\n * Removes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.disconnect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already removed.\r\n if (!isBrowser || !this.connected_) {\r\n return;\r\n }\r\n document.removeEventListener('transitionend', this.onTransitionEnd_);\r\n window.removeEventListener('resize', this.refresh);\r\n if (this.mutationsObserver_) {\r\n this.mutationsObserver_.disconnect();\r\n }\r\n if (this.mutationEventsAdded_) {\r\n document.removeEventListener('DOMSubtreeModified', this.refresh);\r\n }\r\n this.mutationsObserver_ = null;\r\n this.mutationEventsAdded_ = false;\r\n this.connected_ = false;\r\n };\r\n /**\r\n * \"Transitionend\" event handler.\r\n *\r\n * @private\r\n * @param {TransitionEvent} event\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.onTransitionEnd_ = function (_a) {\r\n var _b = _a.propertyName, propertyName = _b === void 0 ? '' : _b;\r\n // Detect whether transition may affect dimensions of an element.\r\n var isReflowProperty = transitionKeys.some(function (key) {\r\n return !!~propertyName.indexOf(key);\r\n });\r\n if (isReflowProperty) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Returns instance of the ResizeObserverController.\r\n *\r\n * @returns {ResizeObserverController}\r\n */\r\n ResizeObserverController.getInstance = function () {\r\n if (!this.instance_) {\r\n this.instance_ = new ResizeObserverController();\r\n }\r\n return this.instance_;\r\n };\r\n /**\r\n * Holds reference to the controller's instance.\r\n *\r\n * @private {ResizeObserverController}\r\n */\r\n ResizeObserverController.instance_ = null;\r\n return ResizeObserverController;\r\n}());\n\n/**\r\n * Defines non-writable/enumerable properties of the provided target object.\r\n *\r\n * @param {Object} target - Object for which to define properties.\r\n * @param {Object} props - Properties to be defined.\r\n * @returns {Object} Target object.\r\n */\r\nvar defineConfigurable = (function (target, props) {\r\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n Object.defineProperty(target, key, {\r\n value: props[key],\r\n enumerable: false,\r\n writable: false,\r\n configurable: true\r\n });\r\n }\r\n return target;\r\n});\n\n/**\r\n * Returns the global object associated with provided element.\r\n *\r\n * @param {Object} target\r\n * @returns {Object}\r\n */\r\nvar getWindowOf = (function (target) {\r\n // Assume that the element is an instance of Node, which means that it\r\n // has the \"ownerDocument\" property from which we can retrieve a\r\n // corresponding global object.\r\n var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView;\r\n // Return the local global object if it's not possible extract one from\r\n // provided element.\r\n return ownerGlobal || global$1;\r\n});\n\n// Placeholder of an empty content rectangle.\r\nvar emptyRect = createRectInit(0, 0, 0, 0);\r\n/**\r\n * Converts provided string to a number.\r\n *\r\n * @param {number|string} value\r\n * @returns {number}\r\n */\r\nfunction toFloat(value) {\r\n return parseFloat(value) || 0;\r\n}\r\n/**\r\n * Extracts borders size from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @param {...string} positions - Borders positions (top, right, ...)\r\n * @returns {number}\r\n */\r\nfunction getBordersSize(styles) {\r\n var positions = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n positions[_i - 1] = arguments[_i];\r\n }\r\n return positions.reduce(function (size, position) {\r\n var value = styles['border-' + position + '-width'];\r\n return size + toFloat(value);\r\n }, 0);\r\n}\r\n/**\r\n * Extracts paddings sizes from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @returns {Object} Paddings box.\r\n */\r\nfunction getPaddings(styles) {\r\n var positions = ['top', 'right', 'bottom', 'left'];\r\n var paddings = {};\r\n for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {\r\n var position = positions_1[_i];\r\n var value = styles['padding-' + position];\r\n paddings[position] = toFloat(value);\r\n }\r\n return paddings;\r\n}\r\n/**\r\n * Calculates content rectangle of provided SVG element.\r\n *\r\n * @param {SVGGraphicsElement} target - Element content rectangle of which needs\r\n * to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getSVGContentRect(target) {\r\n var bbox = target.getBBox();\r\n return createRectInit(0, 0, bbox.width, bbox.height);\r\n}\r\n/**\r\n * Calculates content rectangle of provided HTMLElement.\r\n *\r\n * @param {HTMLElement} target - Element for which to calculate the content rectangle.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getHTMLElementContentRect(target) {\r\n // Client width & height properties can't be\r\n // used exclusively as they provide rounded values.\r\n var clientWidth = target.clientWidth, clientHeight = target.clientHeight;\r\n // By this condition we can catch all non-replaced inline, hidden and\r\n // detached elements. Though elements with width & height properties less\r\n // than 0.5 will be discarded as well.\r\n //\r\n // Without it we would need to implement separate methods for each of\r\n // those cases and it's not possible to perform a precise and performance\r\n // effective test for hidden elements. E.g. even jQuery's ':visible' filter\r\n // gives wrong results for elements with width & height less than 0.5.\r\n if (!clientWidth && !clientHeight) {\r\n return emptyRect;\r\n }\r\n var styles = getWindowOf(target).getComputedStyle(target);\r\n var paddings = getPaddings(styles);\r\n var horizPad = paddings.left + paddings.right;\r\n var vertPad = paddings.top + paddings.bottom;\r\n // Computed styles of width & height are being used because they are the\r\n // only dimensions available to JS that contain non-rounded values. It could\r\n // be possible to utilize the getBoundingClientRect if only it's data wasn't\r\n // affected by CSS transformations let alone paddings, borders and scroll bars.\r\n var width = toFloat(styles.width), height = toFloat(styles.height);\r\n // Width & height include paddings and borders when the 'border-box' box\r\n // model is applied (except for IE).\r\n if (styles.boxSizing === 'border-box') {\r\n // Following conditions are required to handle Internet Explorer which\r\n // doesn't include paddings and borders to computed CSS dimensions.\r\n //\r\n // We can say that if CSS dimensions + paddings are equal to the \"client\"\r\n // properties then it's either IE, and thus we don't need to subtract\r\n // anything, or an element merely doesn't have paddings/borders styles.\r\n if (Math.round(width + horizPad) !== clientWidth) {\r\n width -= getBordersSize(styles, 'left', 'right') + horizPad;\r\n }\r\n if (Math.round(height + vertPad) !== clientHeight) {\r\n height -= getBordersSize(styles, 'top', 'bottom') + vertPad;\r\n }\r\n }\r\n // Following steps can't be applied to the document's root element as its\r\n // client[Width/Height] properties represent viewport area of the window.\r\n // Besides, it's as well not necessary as the itself neither has\r\n // rendered scroll bars nor it can be clipped.\r\n if (!isDocumentElement(target)) {\r\n // In some browsers (only in Firefox, actually) CSS width & height\r\n // include scroll bars size which can be removed at this step as scroll\r\n // bars are the only difference between rounded dimensions + paddings\r\n // and \"client\" properties, though that is not always true in Chrome.\r\n var vertScrollbar = Math.round(width + horizPad) - clientWidth;\r\n var horizScrollbar = Math.round(height + vertPad) - clientHeight;\r\n // Chrome has a rather weird rounding of \"client\" properties.\r\n // E.g. for an element with content width of 314.2px it sometimes gives\r\n // the client width of 315px and for the width of 314.7px it may give\r\n // 314px. And it doesn't happen all the time. So just ignore this delta\r\n // as a non-relevant.\r\n if (Math.abs(vertScrollbar) !== 1) {\r\n width -= vertScrollbar;\r\n }\r\n if (Math.abs(horizScrollbar) !== 1) {\r\n height -= horizScrollbar;\r\n }\r\n }\r\n return createRectInit(paddings.left, paddings.top, width, height);\r\n}\r\n/**\r\n * Checks whether provided element is an instance of the SVGGraphicsElement.\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nvar isSVGGraphicsElement = (function () {\r\n // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement\r\n // interface.\r\n if (typeof SVGGraphicsElement !== 'undefined') {\r\n return function (target) { return target instanceof getWindowOf(target).SVGGraphicsElement; };\r\n }\r\n // If it's so, then check that element is at least an instance of the\r\n // SVGElement and that it has the \"getBBox\" method.\r\n // eslint-disable-next-line no-extra-parens\r\n return function (target) { return (target instanceof getWindowOf(target).SVGElement &&\r\n typeof target.getBBox === 'function'); };\r\n})();\r\n/**\r\n * Checks whether provided element is a document element ().\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nfunction isDocumentElement(target) {\r\n return target === getWindowOf(target).document.documentElement;\r\n}\r\n/**\r\n * Calculates an appropriate content rectangle for provided html or svg element.\r\n *\r\n * @param {Element} target - Element content rectangle of which needs to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getContentRect(target) {\r\n if (!isBrowser) {\r\n return emptyRect;\r\n }\r\n if (isSVGGraphicsElement(target)) {\r\n return getSVGContentRect(target);\r\n }\r\n return getHTMLElementContentRect(target);\r\n}\r\n/**\r\n * Creates rectangle with an interface of the DOMRectReadOnly.\r\n * Spec: https://drafts.fxtf.org/geometry/#domrectreadonly\r\n *\r\n * @param {DOMRectInit} rectInit - Object with rectangle's x/y coordinates and dimensions.\r\n * @returns {DOMRectReadOnly}\r\n */\r\nfunction createReadOnlyRect(_a) {\r\n var x = _a.x, y = _a.y, width = _a.width, height = _a.height;\r\n // If DOMRectReadOnly is available use it as a prototype for the rectangle.\r\n var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;\r\n var rect = Object.create(Constr.prototype);\r\n // Rectangle's properties are not writable and non-enumerable.\r\n defineConfigurable(rect, {\r\n x: x, y: y, width: width, height: height,\r\n top: y,\r\n right: x + width,\r\n bottom: height + y,\r\n left: x\r\n });\r\n return rect;\r\n}\r\n/**\r\n * Creates DOMRectInit object based on the provided dimensions and the x/y coordinates.\r\n * Spec: https://drafts.fxtf.org/geometry/#dictdef-domrectinit\r\n *\r\n * @param {number} x - X coordinate.\r\n * @param {number} y - Y coordinate.\r\n * @param {number} width - Rectangle's width.\r\n * @param {number} height - Rectangle's height.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction createRectInit(x, y, width, height) {\r\n return { x: x, y: y, width: width, height: height };\r\n}\n\n/**\r\n * Class that is responsible for computations of the content rectangle of\r\n * provided DOM element and for keeping track of it's changes.\r\n */\r\nvar ResizeObservation = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObservation.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n */\r\n function ResizeObservation(target) {\r\n /**\r\n * Broadcasted width of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastWidth = 0;\r\n /**\r\n * Broadcasted height of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastHeight = 0;\r\n /**\r\n * Reference to the last observed content rectangle.\r\n *\r\n * @private {DOMRectInit}\r\n */\r\n this.contentRect_ = createRectInit(0, 0, 0, 0);\r\n this.target = target;\r\n }\r\n /**\r\n * Updates content rectangle and tells whether it's width or height properties\r\n * have changed since the last broadcast.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObservation.prototype.isActive = function () {\r\n var rect = getContentRect(this.target);\r\n this.contentRect_ = rect;\r\n return (rect.width !== this.broadcastWidth ||\r\n rect.height !== this.broadcastHeight);\r\n };\r\n /**\r\n * Updates 'broadcastWidth' and 'broadcastHeight' properties with a data\r\n * from the corresponding properties of the last observed content rectangle.\r\n *\r\n * @returns {DOMRectInit} Last observed content rectangle.\r\n */\r\n ResizeObservation.prototype.broadcastRect = function () {\r\n var rect = this.contentRect_;\r\n this.broadcastWidth = rect.width;\r\n this.broadcastHeight = rect.height;\r\n return rect;\r\n };\r\n return ResizeObservation;\r\n}());\n\nvar ResizeObserverEntry = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObserverEntry.\r\n *\r\n * @param {Element} target - Element that is being observed.\r\n * @param {DOMRectInit} rectInit - Data of the element's content rectangle.\r\n */\r\n function ResizeObserverEntry(target, rectInit) {\r\n var contentRect = createReadOnlyRect(rectInit);\r\n // According to the specification following properties are not writable\r\n // and are also not enumerable in the native implementation.\r\n //\r\n // Property accessors are not being used as they'd require to define a\r\n // private WeakMap storage which may cause memory leaks in browsers that\r\n // don't support this type of collections.\r\n defineConfigurable(this, { target: target, contentRect: contentRect });\r\n }\r\n return ResizeObserverEntry;\r\n}());\n\nvar ResizeObserverSPI = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback function that is invoked\r\n * when one of the observed elements changes it's content dimensions.\r\n * @param {ResizeObserverController} controller - Controller instance which\r\n * is responsible for the updates of observer.\r\n * @param {ResizeObserver} callbackCtx - Reference to the public\r\n * ResizeObserver instance which will be passed to callback function.\r\n */\r\n function ResizeObserverSPI(callback, controller, callbackCtx) {\r\n /**\r\n * Collection of resize observations that have detected changes in dimensions\r\n * of elements.\r\n *\r\n * @private {Array}\r\n */\r\n this.activeObservations_ = [];\r\n /**\r\n * Registry of the ResizeObservation instances.\r\n *\r\n * @private {Map}\r\n */\r\n this.observations_ = new MapShim();\r\n if (typeof callback !== 'function') {\r\n throw new TypeError('The callback provided as parameter 1 is not a function.');\r\n }\r\n this.callback_ = callback;\r\n this.controller_ = controller;\r\n this.callbackCtx_ = callbackCtx;\r\n }\r\n /**\r\n * Starts observing provided element.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.observe = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is already being observed.\r\n if (observations.has(target)) {\r\n return;\r\n }\r\n observations.set(target, new ResizeObservation(target));\r\n this.controller_.addObserver(this);\r\n // Force the update of observations.\r\n this.controller_.refresh();\r\n };\r\n /**\r\n * Stops observing provided element.\r\n *\r\n * @param {Element} target - Element to stop observing.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.unobserve = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is not being observed.\r\n if (!observations.has(target)) {\r\n return;\r\n }\r\n observations.delete(target);\r\n if (!observations.size) {\r\n this.controller_.removeObserver(this);\r\n }\r\n };\r\n /**\r\n * Stops observing all elements.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.disconnect = function () {\r\n this.clearActive();\r\n this.observations_.clear();\r\n this.controller_.removeObserver(this);\r\n };\r\n /**\r\n * Collects observation instances the associated element of which has changed\r\n * it's content rectangle.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.gatherActive = function () {\r\n var _this = this;\r\n this.clearActive();\r\n this.observations_.forEach(function (observation) {\r\n if (observation.isActive()) {\r\n _this.activeObservations_.push(observation);\r\n }\r\n });\r\n };\r\n /**\r\n * Invokes initial callback function with a list of ResizeObserverEntry\r\n * instances collected from active resize observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.broadcastActive = function () {\r\n // Do nothing if observer doesn't have active observations.\r\n if (!this.hasActive()) {\r\n return;\r\n }\r\n var ctx = this.callbackCtx_;\r\n // Create ResizeObserverEntry instance for every active observation.\r\n var entries = this.activeObservations_.map(function (observation) {\r\n return new ResizeObserverEntry(observation.target, observation.broadcastRect());\r\n });\r\n this.callback_.call(ctx, entries, ctx);\r\n this.clearActive();\r\n };\r\n /**\r\n * Clears the collection of active observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.clearActive = function () {\r\n this.activeObservations_.splice(0);\r\n };\r\n /**\r\n * Tells whether observer has active observations.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObserverSPI.prototype.hasActive = function () {\r\n return this.activeObservations_.length > 0;\r\n };\r\n return ResizeObserverSPI;\r\n}());\n\n// Registry of internal observers. If WeakMap is not available use current shim\r\n// for the Map collection as it has all required methods and because WeakMap\r\n// can't be fully polyfilled anyway.\r\nvar observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();\r\n/**\r\n * ResizeObserver API. Encapsulates the ResizeObserver SPI implementation\r\n * exposing only those methods and properties that are defined in the spec.\r\n */\r\nvar ResizeObserver = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback that is invoked when\r\n * dimensions of the observed elements change.\r\n */\r\n function ResizeObserver(callback) {\r\n if (!(this instanceof ResizeObserver)) {\r\n throw new TypeError('Cannot call a class as a function.');\r\n }\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n var controller = ResizeObserverController.getInstance();\r\n var observer = new ResizeObserverSPI(callback, controller, this);\r\n observers.set(this, observer);\r\n }\r\n return ResizeObserver;\r\n}());\r\n// Expose public methods of ResizeObserver.\r\n[\r\n 'observe',\r\n 'unobserve',\r\n 'disconnect'\r\n].forEach(function (method) {\r\n ResizeObserver.prototype[method] = function () {\r\n var _a;\r\n return (_a = observers.get(this))[method].apply(_a, arguments);\r\n };\r\n});\n\nvar index = (function () {\r\n // Export existing implementation if available.\r\n if (typeof global$1.ResizeObserver !== 'undefined') {\r\n return global$1.ResizeObserver;\r\n }\r\n return ResizeObserver;\r\n})();\n\nexport default index;\n","/** @license React v0.19.1\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var f,g,h,k,l;\nif(\"undefined\"===typeof window||\"function\"!==typeof MessageChannel){var p=null,q=null,t=function(){if(null!==p)try{var a=exports.unstable_now();p(!0,a);p=null}catch(b){throw setTimeout(t,0),b;}},u=Date.now();exports.unstable_now=function(){return Date.now()-u};f=function(a){null!==p?setTimeout(f,0,a):(p=a,setTimeout(t,0))};g=function(a,b){q=setTimeout(a,b)};h=function(){clearTimeout(q)};k=function(){return!1};l=exports.unstable_forceFrameRate=function(){}}else{var w=window.performance,x=window.Date,\ny=window.setTimeout,z=window.clearTimeout;if(\"undefined\"!==typeof console){var A=window.cancelAnimationFrame;\"function\"!==typeof window.requestAnimationFrame&&console.error(\"This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills\");\"function\"!==typeof A&&console.error(\"This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills\")}if(\"object\"===\ntypeof w&&\"function\"===typeof w.now)exports.unstable_now=function(){return w.now()};else{var B=x.now();exports.unstable_now=function(){return x.now()-B}}var C=!1,D=null,E=-1,F=5,G=0;k=function(){return exports.unstable_now()>=G};l=function(){};exports.unstable_forceFrameRate=function(a){0>a||125>>1,e=a[d];if(void 0!==e&&0K(n,c))void 0!==r&&0>K(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>K(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function K(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var N=[],O=[],P=1,Q=null,R=3,S=!1,T=!1,U=!1;\nfunction V(a){for(var b=L(O);null!==b;){if(null===b.callback)M(O);else if(b.startTime<=a)M(O),b.sortIndex=b.expirationTime,J(N,b);else break;b=L(O)}}function W(a){U=!1;V(a);if(!T)if(null!==L(N))T=!0,f(X);else{var b=L(O);null!==b&&g(W,b.startTime-a)}}\nfunction X(a,b){T=!1;U&&(U=!1,h());S=!0;var c=R;try{V(b);for(Q=L(N);null!==Q&&(!(Q.expirationTime>b)||a&&!k());){var d=Q.callback;if(null!==d){Q.callback=null;R=Q.priorityLevel;var e=d(Q.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?Q.callback=e:Q===L(N)&&M(N);V(b)}else M(N);Q=L(N)}if(null!==Q)var m=!0;else{var n=L(O);null!==n&&g(W,n.startTime-b);m=!1}return m}finally{Q=null,R=c,S=!1}}\nfunction Y(a){switch(a){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1E4;default:return 5E3}}var Z=l;exports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){T||S||(T=!0,f(X))};\nexports.unstable_getCurrentPriorityLevel=function(){return R};exports.unstable_getFirstCallbackNode=function(){return L(N)};exports.unstable_next=function(a){switch(R){case 1:case 2:case 3:var b=3;break;default:b=R}var c=R;R=b;try{return a()}finally{R=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=Z;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=R;R=a;try{return b()}finally{R=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();if(\"object\"===typeof c&&null!==c){var e=c.delay;e=\"number\"===typeof e&&0d?(a.sortIndex=e,J(O,a),null===L(N)&&a===L(O)&&(U?h():U=!0,g(W,e-d))):(a.sortIndex=c,J(N,a),T||S||(T=!0,f(X)));return a};\nexports.unstable_shouldYield=function(){var a=exports.unstable_now();V(a);var b=L(N);return b!==Q&&null!==Q&&null!==b&&null!==b.callback&&b.startTime<=a&&b.expirationTime 0xFFFFFFFF || $floor(length) !== length) {\n\t\tthrow new $TypeError('`length` must be a positive 32-bit integer');\n\t}\n\n\tvar loose = arguments.length > 2 && !!arguments[2];\n\n\tvar functionLengthIsConfigurable = true;\n\tvar functionLengthIsWritable = true;\n\tif ('length' in fn && gOPD) {\n\t\tvar desc = gOPD(fn, 'length');\n\t\tif (desc && !desc.configurable) {\n\t\t\tfunctionLengthIsConfigurable = false;\n\t\t}\n\t\tif (desc && !desc.writable) {\n\t\t\tfunctionLengthIsWritable = false;\n\t\t}\n\t}\n\n\tif (functionLengthIsConfigurable || functionLengthIsWritable || !loose) {\n\t\tif (hasDescriptors) {\n\t\t\tdefine(/** @type {Parameters[0]} */ (fn), 'length', length, true, true);\n\t\t} else {\n\t\t\tdefine(/** @type {Parameters[0]} */ (fn), 'length', length);\n\t\t}\n\t}\n\treturn fn;\n};\n","'use strict';\n\nvar define = require('define-data-property');\nvar hasDescriptors = require('has-property-descriptors')();\nvar functionsHaveConfigurableNames = require('functions-have-names').functionsHaveConfigurableNames();\n\nvar $TypeError = require('es-errors/type');\n\n/** @type {import('.')} */\nmodule.exports = function setFunctionName(fn, name) {\n\tif (typeof fn !== 'function') {\n\t\tthrow new $TypeError('`fn` is not a function');\n\t}\n\tvar loose = arguments.length > 2 && !!arguments[2];\n\tif (!loose || functionsHaveConfigurableNames) {\n\t\tif (hasDescriptors) {\n\t\t\tdefine(/** @type {Parameters[0]} */ (fn), 'name', name, true, true);\n\t\t} else {\n\t\t\tdefine(/** @type {Parameters[0]} */ (fn), 'name', name);\n\t\t}\n\t}\n\treturn fn;\n};\n","(function(root, factory) {\n /* istanbul ignore next */\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define([], factory);\n } else if (typeof exports === 'object') {\n // Node. Does not work with strict CommonJS, but\n // only CommonJS-like environments that support module.exports,\n // like Node.\n module.exports = factory();\n } else {\n // Browser globals (root is window)\n root.StringMask = factory();\n }\n}(this, function() {\n var tokens = {\n '0': {pattern: /\\d/, _default: '0'},\n '9': {pattern: /\\d/, optional: true},\n '#': {pattern: /\\d/, optional: true, recursive: true},\n 'A': {pattern: /[a-zA-Z0-9]/},\n 'S': {pattern: /[a-zA-Z]/},\n 'U': {pattern: /[a-zA-Z]/, transform: function(c) { return c.toLocaleUpperCase(); }},\n 'L': {pattern: /[a-zA-Z]/, transform: function(c) { return c.toLocaleLowerCase(); }},\n '$': {escape: true}\n };\n\n function isEscaped(pattern, pos) {\n var count = 0;\n var i = pos - 1;\n var token = {escape: true};\n while (i >= 0 && token && token.escape) {\n token = tokens[pattern.charAt(i)];\n count += token && token.escape ? 1 : 0;\n i--;\n }\n return count > 0 && count % 2 === 1;\n }\n\n function calcOptionalNumbersToUse(pattern, value) {\n var numbersInP = pattern.replace(/[^0]/g,'').length;\n var numbersInV = value.replace(/[^\\d]/g,'').length;\n return numbersInV - numbersInP;\n }\n\n function concatChar(text, character, options, token) {\n if (token && typeof token.transform === 'function') {\n character = token.transform(character);\n }\n if (options.reverse) {\n return character + text;\n }\n return text + character;\n }\n\n function hasMoreTokens(pattern, pos, inc) {\n var pc = pattern.charAt(pos);\n var token = tokens[pc];\n if (pc === '') {\n return false;\n }\n return token && !token.escape ? true : hasMoreTokens(pattern, pos + inc, inc);\n }\n\n function hasMoreRecursiveTokens(pattern, pos, inc) {\n var pc = pattern.charAt(pos);\n var token = tokens[pc];\n if (pc === '') {\n return false;\n }\n return token && token.recursive ? true : hasMoreRecursiveTokens(pattern, pos + inc, inc);\n }\n\n function insertChar(text, char, position) {\n var t = text.split('');\n t.splice(position, 0, char);\n return t.join('');\n }\n\n function StringMask(pattern, opt) {\n this.options = opt || {};\n this.options = {\n reverse: this.options.reverse || false,\n usedefaults: this.options.usedefaults || this.options.reverse\n };\n this.pattern = pattern;\n }\n\n StringMask.prototype.process = function proccess(value) {\n if (!value) {\n return {result: '', valid: false};\n }\n value = value + '';\n var pattern2 = this.pattern;\n var valid = true;\n var formatted = '';\n var valuePos = this.options.reverse ? value.length - 1 : 0;\n var patternPos = 0;\n var optionalNumbersToUse = calcOptionalNumbersToUse(pattern2, value);\n var escapeNext = false;\n var recursive = [];\n var inRecursiveMode = false;\n\n var steps = {\n start: this.options.reverse ? pattern2.length - 1 : 0,\n end: this.options.reverse ? -1 : pattern2.length,\n inc: this.options.reverse ? -1 : 1\n };\n\n function continueCondition(options) {\n if (!inRecursiveMode && !recursive.length && hasMoreTokens(pattern2, patternPos, steps.inc)) {\n // continue in the normal iteration\n return true;\n } else if (!inRecursiveMode && recursive.length &&\n hasMoreRecursiveTokens(pattern2, patternPos, steps.inc)) {\n // continue looking for the recursive tokens\n // Note: all chars in the patterns after the recursive portion will be handled as static string\n return true;\n } else if (!inRecursiveMode) {\n // start to handle the recursive portion of the pattern\n inRecursiveMode = recursive.length > 0;\n }\n\n if (inRecursiveMode) {\n var pc = recursive.shift();\n recursive.push(pc);\n if (options.reverse && valuePos >= 0) {\n patternPos++;\n pattern2 = insertChar(pattern2, pc, patternPos);\n return true;\n } else if (!options.reverse && valuePos < value.length) {\n pattern2 = insertChar(pattern2, pc, patternPos);\n return true;\n }\n }\n return patternPos < pattern2.length && patternPos >= 0;\n }\n\n /**\n * Iterate over the pattern's chars parsing/matching the input value chars\n * until the end of the pattern. If the pattern ends with recursive chars\n * the iteration will continue until the end of the input value.\n *\n * Note: The iteration must stop if an invalid char is found.\n */\n for (patternPos = steps.start; continueCondition(this.options); patternPos = patternPos + steps.inc) {\n // Value char\n var vc = value.charAt(valuePos);\n // Pattern char to match with the value char\n var pc = pattern2.charAt(patternPos);\n\n var token = tokens[pc];\n if (recursive.length && token && !token.recursive) {\n // In the recursive portion of the pattern: tokens not recursive must be seen as static chars\n token = null;\n }\n\n // 1. Handle escape tokens in pattern\n // go to next iteration: if the pattern char is a escape char or was escaped\n if (!inRecursiveMode || vc) {\n if (this.options.reverse && isEscaped(pattern2, patternPos)) {\n // pattern char is escaped, just add it and move on\n formatted = concatChar(formatted, pc, this.options, token);\n // skip escape token\n patternPos = patternPos + steps.inc;\n continue;\n } else if (!this.options.reverse && escapeNext) {\n // pattern char is escaped, just add it and move on\n formatted = concatChar(formatted, pc, this.options, token);\n escapeNext = false;\n continue;\n } else if (!this.options.reverse && token && token.escape) {\n // mark to escape the next pattern char\n escapeNext = true;\n continue;\n }\n }\n\n // 2. Handle recursive tokens in pattern\n // go to next iteration: if the value str is finished or\n // if there is a normal token in the recursive portion of the pattern\n if (!inRecursiveMode && token && token.recursive) {\n // save it to repeat in the end of the pattern and handle the value char now\n recursive.push(pc);\n } else if (inRecursiveMode && !vc) {\n // in recursive mode but value is finished. Add the pattern char if it is not a recursive token\n formatted = concatChar(formatted, pc, this.options, token);\n continue;\n } else if (!inRecursiveMode && recursive.length > 0 && !vc) {\n // recursiveMode not started but already in the recursive portion of the pattern\n continue;\n }\n\n // 3. Handle the value\n // break iterations: if value is invalid for the given pattern\n if (!token) {\n // add char of the pattern\n formatted = concatChar(formatted, pc, this.options, token);\n if (!inRecursiveMode && recursive.length) {\n // save it to repeat in the end of the pattern\n recursive.push(pc);\n }\n } else if (token.optional) {\n // if token is optional, only add the value char if it matchs the token pattern\n // if not, move on to the next pattern char\n if (token.pattern.test(vc) && optionalNumbersToUse) {\n formatted = concatChar(formatted, vc, this.options, token);\n valuePos = valuePos + steps.inc;\n optionalNumbersToUse--;\n } else if (recursive.length > 0 && vc) {\n valid = false;\n break;\n }\n } else if (token.pattern.test(vc)) {\n // if token isn't optional the value char must match the token pattern\n formatted = concatChar(formatted, vc, this.options, token);\n valuePos = valuePos + steps.inc;\n } else if (!vc && token._default && this.options.usedefaults) {\n // if the token isn't optional and has a default value, use it if the value is finished\n formatted = concatChar(formatted, token._default, this.options, token);\n } else {\n // the string value don't match the given pattern\n valid = false;\n break;\n }\n }\n\n return {result: formatted, valid: valid};\n };\n\n StringMask.prototype.apply = function(value) {\n return this.process(value).result;\n };\n\n StringMask.prototype.validate = function(value) {\n return this.process(value).valid;\n };\n\n StringMask.process = function(value, pattern, options) {\n return new StringMask(pattern, options).process(value);\n };\n\n StringMask.apply = function(value, pattern, options) {\n return new StringMask(pattern, options).apply(value);\n };\n\n StringMask.validate = function(value, pattern, options) {\n return new StringMask(pattern, options).validate(value);\n };\n\n return StringMask;\n}));\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","export default function(url, options) {\n\toptions = options || {};\n\treturn new Promise( (resolve, reject) => {\n\t\tconst request = new XMLHttpRequest();\n\t\tconst keys = [];\n\t\tconst all = [];\n\t\tconst headers = {};\n\n\t\tconst response = () => ({\n\t\t\tok: (request.status/100|0) == 2,\t\t// 200-299\n\t\t\tstatusText: request.statusText,\n\t\t\tstatus: request.status,\n\t\t\turl: request.responseURL,\n\t\t\ttext: () => Promise.resolve(request.responseText),\n\t\t\tjson: () => Promise.resolve(request.responseText).then(JSON.parse),\n\t\t\tblob: () => Promise.resolve(new Blob([request.response])),\n\t\t\tclone: response,\n\t\t\theaders: {\n\t\t\t\tkeys: () => keys,\n\t\t\t\tentries: () => all,\n\t\t\t\tget: n => headers[n.toLowerCase()],\n\t\t\t\thas: n => n.toLowerCase() in headers\n\t\t\t}\n\t\t});\n\n\t\trequest.open(options.method || 'get', url, true);\n\n\t\trequest.onload = () => {\n\t\t\trequest.getAllResponseHeaders().replace(/^(.*?):[^\\S\\n]*([\\s\\S]*?)$/gm, (m, key, value) => {\n\t\t\t\tkeys.push(key = key.toLowerCase());\n\t\t\t\tall.push([key, value]);\n\t\t\t\theaders[key] = headers[key] ? `${headers[key]},${value}` : value;\n\t\t\t});\n\t\t\tresolve(response());\n\t\t};\n\n\t\trequest.onerror = reject;\n\n\t\trequest.withCredentials = options.credentials=='include';\n\n\t\tfor (const i in options.headers) {\n\t\t\trequest.setRequestHeader(i, options.headers[i]);\n\t\t}\n\n\t\trequest.send(options.body || null);\n\t});\n}\n","/*! https://mths.be/punycode v1.3.2 by @mathias */\n;(function(root) {\n\n\t/** Detect free variables */\n\tvar freeExports = typeof exports == 'object' && exports &&\n\t\t!exports.nodeType && exports;\n\tvar freeModule = typeof module == 'object' && module &&\n\t\t!module.nodeType && module;\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (\n\t\tfreeGlobal.global === freeGlobal ||\n\t\tfreeGlobal.window === freeGlobal ||\n\t\tfreeGlobal.self === freeGlobal\n\t) {\n\t\troot = freeGlobal;\n\t}\n\n\t/**\n\t * The `punycode` object.\n\t * @name punycode\n\t * @type Object\n\t */\n\tvar punycode,\n\n\t/** Highest positive signed 32-bit float value */\n\tmaxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1\n\n\t/** Bootstring parameters */\n\tbase = 36,\n\ttMin = 1,\n\ttMax = 26,\n\tskew = 38,\n\tdamp = 700,\n\tinitialBias = 72,\n\tinitialN = 128, // 0x80\n\tdelimiter = '-', // '\\x2D'\n\n\t/** Regular expressions */\n\tregexPunycode = /^xn--/,\n\tregexNonASCII = /[^\\x20-\\x7E]/, // unprintable ASCII chars + non-ASCII chars\n\tregexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g, // RFC 3490 separators\n\n\t/** Error messages */\n\terrors = {\n\t\t'overflow': 'Overflow: input needs wider integers to process',\n\t\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t\t'invalid-input': 'Invalid input'\n\t},\n\n\t/** Convenience shortcuts */\n\tbaseMinusTMin = base - tMin,\n\tfloor = Math.floor,\n\tstringFromCharCode = String.fromCharCode,\n\n\t/** Temporary variable */\n\tkey;\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/**\n\t * A generic error utility function.\n\t * @private\n\t * @param {String} type The error type.\n\t * @returns {Error} Throws a `RangeError` with the applicable error message.\n\t */\n\tfunction error(type) {\n\t\tthrow RangeError(errors[type]);\n\t}\n\n\t/**\n\t * A generic `Array#map` utility function.\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} callback The function that gets called for every array\n\t * item.\n\t * @returns {Array} A new array of values returned by the callback function.\n\t */\n\tfunction map(array, fn) {\n\t\tvar length = array.length;\n\t\tvar result = [];\n\t\twhile (length--) {\n\t\t\tresult[length] = fn(array[length]);\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\n\t * A simple `Array#map`-like wrapper to work with domain name strings or email\n\t * addresses.\n\t * @private\n\t * @param {String} domain The domain name or email address.\n\t * @param {Function} callback The function that gets called for every\n\t * character.\n\t * @returns {Array} A new string of characters returned by the callback\n\t * function.\n\t */\n\tfunction mapDomain(string, fn) {\n\t\tvar parts = string.split('@');\n\t\tvar result = '';\n\t\tif (parts.length > 1) {\n\t\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t\t// the local part (i.e. everything up to `@`) intact.\n\t\t\tresult = parts[0] + '@';\n\t\t\tstring = parts[1];\n\t\t}\n\t\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\t\tstring = string.replace(regexSeparators, '\\x2E');\n\t\tvar labels = string.split('.');\n\t\tvar encoded = map(labels, fn).join('.');\n\t\treturn result + encoded;\n\t}\n\n\t/**\n\t * Creates an array containing the numeric code points of each Unicode\n\t * character in the string. While JavaScript uses UCS-2 internally,\n\t * this function will convert a pair of surrogate halves (each of which\n\t * UCS-2 exposes as separate characters) into a single code point,\n\t * matching UTF-16.\n\t * @see `punycode.ucs2.encode`\n\t * @see \n\t * @memberOf punycode.ucs2\n\t * @name decode\n\t * @param {String} string The Unicode input string (UCS-2).\n\t * @returns {Array} The new array of code points.\n\t */\n\tfunction ucs2decode(string) {\n\t\tvar output = [],\n\t\t counter = 0,\n\t\t length = string.length,\n\t\t value,\n\t\t extra;\n\t\twhile (counter < length) {\n\t\t\tvalue = string.charCodeAt(counter++);\n\t\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t\t// high surrogate, and there is a next character\n\t\t\t\textra = string.charCodeAt(counter++);\n\t\t\t\tif ((extra & 0xFC00) == 0xDC00) { // low surrogate\n\t\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t\t} else {\n\t\t\t\t\t// unmatched surrogate; only append this code unit, in case the next\n\t\t\t\t\t// code unit is the high surrogate of a surrogate pair\n\t\t\t\t\toutput.push(value);\n\t\t\t\t\tcounter--;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\toutput.push(value);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t}\n\n\t/**\n\t * Creates a string based on an array of numeric code points.\n\t * @see `punycode.ucs2.decode`\n\t * @memberOf punycode.ucs2\n\t * @name encode\n\t * @param {Array} codePoints The array of numeric code points.\n\t * @returns {String} The new Unicode string (UCS-2).\n\t */\n\tfunction ucs2encode(array) {\n\t\treturn map(array, function(value) {\n\t\t\tvar output = '';\n\t\t\tif (value > 0xFFFF) {\n\t\t\t\tvalue -= 0x10000;\n\t\t\t\toutput += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);\n\t\t\t\tvalue = 0xDC00 | value & 0x3FF;\n\t\t\t}\n\t\t\toutput += stringFromCharCode(value);\n\t\t\treturn output;\n\t\t}).join('');\n\t}\n\n\t/**\n\t * Converts a basic code point into a digit/integer.\n\t * @see `digitToBasic()`\n\t * @private\n\t * @param {Number} codePoint The basic numeric code point value.\n\t * @returns {Number} The numeric value of a basic code point (for use in\n\t * representing integers) in the range `0` to `base - 1`, or `base` if\n\t * the code point does not represent a value.\n\t */\n\tfunction basicToDigit(codePoint) {\n\t\tif (codePoint - 48 < 10) {\n\t\t\treturn codePoint - 22;\n\t\t}\n\t\tif (codePoint - 65 < 26) {\n\t\t\treturn codePoint - 65;\n\t\t}\n\t\tif (codePoint - 97 < 26) {\n\t\t\treturn codePoint - 97;\n\t\t}\n\t\treturn base;\n\t}\n\n\t/**\n\t * Converts a digit/integer into a basic code point.\n\t * @see `basicToDigit()`\n\t * @private\n\t * @param {Number} digit The numeric value of a basic code point.\n\t * @returns {Number} The basic code point whose value (when used for\n\t * representing integers) is `digit`, which needs to be in the range\n\t * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n\t * used; else, the lowercase form is used. The behavior is undefined\n\t * if `flag` is non-zero and `digit` has no uppercase form.\n\t */\n\tfunction digitToBasic(digit, flag) {\n\t\t// 0..25 map to ASCII a..z or A..Z\n\t\t// 26..35 map to ASCII 0..9\n\t\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n\t}\n\n\t/**\n\t * Bias adaptation function as per section 3.4 of RFC 3492.\n\t * http://tools.ietf.org/html/rfc3492#section-3.4\n\t * @private\n\t */\n\tfunction adapt(delta, numPoints, firstTime) {\n\t\tvar k = 0;\n\t\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\t\tdelta += floor(delta / numPoints);\n\t\tfor (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\t\tdelta = floor(delta / baseMinusTMin);\n\t\t}\n\t\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n\t}\n\n\t/**\n\t * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n\t * symbols.\n\t * @memberOf punycode\n\t * @param {String} input The Punycode string of ASCII-only symbols.\n\t * @returns {String} The resulting string of Unicode symbols.\n\t */\n\tfunction decode(input) {\n\t\t// Don't use UCS-2\n\t\tvar output = [],\n\t\t inputLength = input.length,\n\t\t out,\n\t\t i = 0,\n\t\t n = initialN,\n\t\t bias = initialBias,\n\t\t basic,\n\t\t j,\n\t\t index,\n\t\t oldi,\n\t\t w,\n\t\t k,\n\t\t digit,\n\t\t t,\n\t\t /** Cached calculation results */\n\t\t baseMinusT;\n\n\t\t// Handle the basic code points: let `basic` be the number of input code\n\t\t// points before the last delimiter, or `0` if there is none, then copy\n\t\t// the first basic code points to the output.\n\n\t\tbasic = input.lastIndexOf(delimiter);\n\t\tif (basic < 0) {\n\t\t\tbasic = 0;\n\t\t}\n\n\t\tfor (j = 0; j < basic; ++j) {\n\t\t\t// if it's not a basic code point\n\t\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\t\terror('not-basic');\n\t\t\t}\n\t\t\toutput.push(input.charCodeAt(j));\n\t\t}\n\n\t\t// Main decoding loop: start just after the last delimiter if any basic code\n\t\t// points were copied; start at the beginning otherwise.\n\n\t\tfor (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n\n\t\t\t// `index` is the index of the next character to be consumed.\n\t\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t\t// which gets added to `i`. The overflow checking is easier\n\t\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t\t// value at the end to obtain `delta`.\n\t\t\tfor (oldi = i, w = 1, k = base; /* no condition */; k += base) {\n\n\t\t\t\tif (index >= inputLength) {\n\t\t\t\t\terror('invalid-input');\n\t\t\t\t}\n\n\t\t\t\tdigit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\ti += digit * w;\n\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\n\t\t\t\tif (digit < t) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tbaseMinusT = base - t;\n\t\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tw *= baseMinusT;\n\n\t\t\t}\n\n\t\t\tout = output.length + 1;\n\t\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t\t// incrementing `n` each time, so we'll fix that now:\n\t\t\tif (floor(i / out) > maxInt - n) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tn += floor(i / out);\n\t\t\ti %= out;\n\n\t\t\t// Insert `n` at position `i` of the output\n\t\t\toutput.splice(i++, 0, n);\n\n\t\t}\n\n\t\treturn ucs2encode(output);\n\t}\n\n\t/**\n\t * Converts a string of Unicode symbols (e.g. a domain name label) to a\n\t * Punycode string of ASCII-only symbols.\n\t * @memberOf punycode\n\t * @param {String} input The string of Unicode symbols.\n\t * @returns {String} The resulting Punycode string of ASCII-only symbols.\n\t */\n\tfunction encode(input) {\n\t\tvar n,\n\t\t delta,\n\t\t handledCPCount,\n\t\t basicLength,\n\t\t bias,\n\t\t j,\n\t\t m,\n\t\t q,\n\t\t k,\n\t\t t,\n\t\t currentValue,\n\t\t output = [],\n\t\t /** `inputLength` will hold the number of code points in `input`. */\n\t\t inputLength,\n\t\t /** Cached calculation results */\n\t\t handledCPCountPlusOne,\n\t\t baseMinusT,\n\t\t qMinusT;\n\n\t\t// Convert the input in UCS-2 to Unicode\n\t\tinput = ucs2decode(input);\n\n\t\t// Cache the length\n\t\tinputLength = input.length;\n\n\t\t// Initialize the state\n\t\tn = initialN;\n\t\tdelta = 0;\n\t\tbias = initialBias;\n\n\t\t// Handle the basic code points\n\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\tcurrentValue = input[j];\n\t\t\tif (currentValue < 0x80) {\n\t\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t\t}\n\t\t}\n\n\t\thandledCPCount = basicLength = output.length;\n\n\t\t// `handledCPCount` is the number of code points that have been handled;\n\t\t// `basicLength` is the number of basic code points.\n\n\t\t// Finish the basic string - if it is not empty - with a delimiter\n\t\tif (basicLength) {\n\t\t\toutput.push(delimiter);\n\t\t}\n\n\t\t// Main encoding loop:\n\t\twhile (handledCPCount < inputLength) {\n\n\t\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t\t// larger one:\n\t\t\tfor (m = maxInt, j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\t\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\t\tm = currentValue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Increase `delta` enough to advance the decoder's state to ,\n\t\t\t// but guard against overflow\n\t\t\thandledCPCountPlusOne = handledCPCount + 1;\n\t\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\t\tn = m;\n\n\t\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\n\t\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tif (currentValue == n) {\n\t\t\t\t\t// Represent delta as a generalized variable-length integer\n\t\t\t\t\tfor (q = delta, k = base; /* no condition */; k += base) {\n\t\t\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\t\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tqMinusT = q - t;\n\t\t\t\t\t\tbaseMinusT = base - t;\n\t\t\t\t\t\toutput.push(\n\t\t\t\t\t\t\tstringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\n\t\t\t\t\t\t);\n\t\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t\t}\n\n\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\t\tdelta = 0;\n\t\t\t\t\t++handledCPCount;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t++delta;\n\t\t\t++n;\n\n\t\t}\n\t\treturn output.join('');\n\t}\n\n\t/**\n\t * Converts a Punycode string representing a domain name or an email address\n\t * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n\t * it doesn't matter if you call it on a string that has already been\n\t * converted to Unicode.\n\t * @memberOf punycode\n\t * @param {String} input The Punycoded domain name or email address to\n\t * convert to Unicode.\n\t * @returns {String} The Unicode representation of the given Punycode\n\t * string.\n\t */\n\tfunction toUnicode(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexPunycode.test(string)\n\t\t\t\t? decode(string.slice(4).toLowerCase())\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/**\n\t * Converts a Unicode string representing a domain name or an email address to\n\t * Punycode. Only the non-ASCII parts of the domain name will be converted,\n\t * i.e. it doesn't matter if you call it with a domain that's already in\n\t * ASCII.\n\t * @memberOf punycode\n\t * @param {String} input The domain name or email address to convert, as a\n\t * Unicode string.\n\t * @returns {String} The Punycode representation of the given domain name or\n\t * email address.\n\t */\n\tfunction toASCII(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexNonASCII.test(string)\n\t\t\t\t? 'xn--' + encode(string)\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/** Define the public API */\n\tpunycode = {\n\t\t/**\n\t\t * A string representing the current Punycode.js version number.\n\t\t * @memberOf punycode\n\t\t * @type String\n\t\t */\n\t\t'version': '1.3.2',\n\t\t/**\n\t\t * An object of methods to convert from JavaScript's internal character\n\t\t * representation (UCS-2) to Unicode code points, and back.\n\t\t * @see \n\t\t * @memberOf punycode\n\t\t * @type Object\n\t\t */\n\t\t'ucs2': {\n\t\t\t'decode': ucs2decode,\n\t\t\t'encode': ucs2encode\n\t\t},\n\t\t'decode': decode,\n\t\t'encode': encode,\n\t\t'toASCII': toASCII,\n\t\t'toUnicode': toUnicode\n\t};\n\n\t/** Expose `punycode` */\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine('punycode', function() {\n\t\t\treturn punycode;\n\t\t});\n\t} else if (freeExports && freeModule) {\n\t\tif (module.exports == freeExports) { // in Node.js or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = punycode;\n\t\t} else { // in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (key in punycode) {\n\t\t\t\tpunycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);\n\t\t\t}\n\t\t}\n\t} else { // in Rhino or a web browser\n\t\troot.punycode = punycode;\n\t}\n\n}(this));\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// 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 permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar punycode = require('punycode');\nvar util = require('./util');\n\nexports.parse = urlParse;\nexports.resolve = urlResolve;\nexports.resolveObject = urlResolveObject;\nexports.format = urlFormat;\n\nexports.Url = Url;\n\nfunction Url() {\n this.protocol = null;\n this.slashes = null;\n this.auth = null;\n this.host = null;\n this.port = null;\n this.hostname = null;\n this.hash = null;\n this.search = null;\n this.query = null;\n this.pathname = null;\n this.path = null;\n this.href = null;\n}\n\n// Reference: RFC 3986, RFC 1808, RFC 2396\n\n// define these here so at least they only have to be\n// compiled once on the first module load.\nvar protocolPattern = /^([a-z0-9.+-]+:)/i,\n portPattern = /:[0-9]*$/,\n\n // Special case for a simple path URL\n simplePathPattern = /^(\\/\\/?(?!\\/)[^\\?\\s]*)(\\?[^\\s]*)?$/,\n\n // RFC 2396: characters reserved for delimiting URLs.\n // We actually just auto-escape these.\n delims = ['<', '>', '\"', '`', ' ', '\\r', '\\n', '\\t'],\n\n // RFC 2396: characters not allowed for various reasons.\n unwise = ['{', '}', '|', '\\\\', '^', '`'].concat(delims),\n\n // Allowed by RFCs, but cause of XSS attacks. Always escape these.\n autoEscape = ['\\''].concat(unwise),\n // Characters that are never ever allowed in a hostname.\n // Note that any invalid chars are also handled, but these\n // are the ones that are *expected* to be seen, so we fast-path\n // them.\n nonHostChars = ['%', '/', '?', ';', '#'].concat(autoEscape),\n hostEndingChars = ['/', '?', '#'],\n hostnameMaxLen = 255,\n hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/,\n hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,\n // protocols that can allow \"unsafe\" and \"unwise\" chars.\n unsafeProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that never have a hostname.\n hostlessProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that always contain a // bit.\n slashedProtocol = {\n 'http': true,\n 'https': true,\n 'ftp': true,\n 'gopher': true,\n 'file': true,\n 'http:': true,\n 'https:': true,\n 'ftp:': true,\n 'gopher:': true,\n 'file:': true\n },\n querystring = require('querystring');\n\nfunction urlParse(url, parseQueryString, slashesDenoteHost) {\n if (url && util.isObject(url) && url instanceof Url) return url;\n\n var u = new Url;\n u.parse(url, parseQueryString, slashesDenoteHost);\n return u;\n}\n\nUrl.prototype.parse = function(url, parseQueryString, slashesDenoteHost) {\n if (!util.isString(url)) {\n throw new TypeError(\"Parameter 'url' must be a string, not \" + typeof url);\n }\n\n // Copy chrome, IE, opera backslash-handling behavior.\n // Back slashes before the query string get converted to forward slashes\n // See: https://code.google.com/p/chromium/issues/detail?id=25916\n var queryIndex = url.indexOf('?'),\n splitter =\n (queryIndex !== -1 && queryIndex < url.indexOf('#')) ? '?' : '#',\n uSplit = url.split(splitter),\n slashRegex = /\\\\/g;\n uSplit[0] = uSplit[0].replace(slashRegex, '/');\n url = uSplit.join(splitter);\n\n var rest = url;\n\n // trim before proceeding.\n // This is to support parse stuff like \" http://foo.com \\n\"\n rest = rest.trim();\n\n if (!slashesDenoteHost && url.split('#').length === 1) {\n // Try fast path regexp\n var simplePath = simplePathPattern.exec(rest);\n if (simplePath) {\n this.path = rest;\n this.href = rest;\n this.pathname = simplePath[1];\n if (simplePath[2]) {\n this.search = simplePath[2];\n if (parseQueryString) {\n this.query = querystring.parse(this.search.substr(1));\n } else {\n this.query = this.search.substr(1);\n }\n } else if (parseQueryString) {\n this.search = '';\n this.query = {};\n }\n return this;\n }\n }\n\n var proto = protocolPattern.exec(rest);\n if (proto) {\n proto = proto[0];\n var lowerProto = proto.toLowerCase();\n this.protocol = lowerProto;\n rest = rest.substr(proto.length);\n }\n\n // figure out if it's got a host\n // user@server is *always* interpreted as a hostname, and url\n // resolution will treat //foo/bar as host=foo,path=bar because that's\n // how the browser resolves relative URLs.\n if (slashesDenoteHost || proto || rest.match(/^\\/\\/[^@\\/]+@[^@\\/]+/)) {\n var slashes = rest.substr(0, 2) === '//';\n if (slashes && !(proto && hostlessProtocol[proto])) {\n rest = rest.substr(2);\n this.slashes = true;\n }\n }\n\n if (!hostlessProtocol[proto] &&\n (slashes || (proto && !slashedProtocol[proto]))) {\n\n // there's a hostname.\n // the first instance of /, ?, ;, or # ends the host.\n //\n // If there is an @ in the hostname, then non-host chars *are* allowed\n // to the left of the last @ sign, unless some host-ending character\n // comes *before* the @-sign.\n // URLs are obnoxious.\n //\n // ex:\n // http://a@b@c/ => user:a@b host:c\n // http://a@b?@c => user:a host:c path:/?@c\n\n // v0.12 TODO(isaacs): This is not quite how Chrome does things.\n // Review our test case against browsers more comprehensively.\n\n // find the first instance of any hostEndingChars\n var hostEnd = -1;\n for (var i = 0; i < hostEndingChars.length; i++) {\n var hec = rest.indexOf(hostEndingChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n\n // at this point, either we have an explicit point where the\n // auth portion cannot go past, or the last @ char is the decider.\n var auth, atSign;\n if (hostEnd === -1) {\n // atSign can be anywhere.\n atSign = rest.lastIndexOf('@');\n } else {\n // atSign must be in auth portion.\n // http://a@b/c@d => host:b auth:a path:/c@d\n atSign = rest.lastIndexOf('@', hostEnd);\n }\n\n // Now we have a portion which is definitely the auth.\n // Pull that off.\n if (atSign !== -1) {\n auth = rest.slice(0, atSign);\n rest = rest.slice(atSign + 1);\n this.auth = decodeURIComponent(auth);\n }\n\n // the host is the remaining to the left of the first non-host char\n hostEnd = -1;\n for (var i = 0; i < nonHostChars.length; i++) {\n var hec = rest.indexOf(nonHostChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n // if we still have not hit it, then the entire thing is a host.\n if (hostEnd === -1)\n hostEnd = rest.length;\n\n this.host = rest.slice(0, hostEnd);\n rest = rest.slice(hostEnd);\n\n // pull out port.\n this.parseHost();\n\n // we've indicated that there is a hostname,\n // so even if it's empty, it has to be present.\n this.hostname = this.hostname || '';\n\n // if hostname begins with [ and ends with ]\n // assume that it's an IPv6 address.\n var ipv6Hostname = this.hostname[0] === '[' &&\n this.hostname[this.hostname.length - 1] === ']';\n\n // validate a little.\n if (!ipv6Hostname) {\n var hostparts = this.hostname.split(/\\./);\n for (var i = 0, l = hostparts.length; i < l; i++) {\n var part = hostparts[i];\n if (!part) continue;\n if (!part.match(hostnamePartPattern)) {\n var newpart = '';\n for (var j = 0, k = part.length; j < k; j++) {\n if (part.charCodeAt(j) > 127) {\n // we replace non-ASCII char with a temporary placeholder\n // we need this to make sure size of hostname is not\n // broken by replacing non-ASCII by nothing\n newpart += 'x';\n } else {\n newpart += part[j];\n }\n }\n // we test again with ASCII char only\n if (!newpart.match(hostnamePartPattern)) {\n var validParts = hostparts.slice(0, i);\n var notHost = hostparts.slice(i + 1);\n var bit = part.match(hostnamePartStart);\n if (bit) {\n validParts.push(bit[1]);\n notHost.unshift(bit[2]);\n }\n if (notHost.length) {\n rest = '/' + notHost.join('.') + rest;\n }\n this.hostname = validParts.join('.');\n break;\n }\n }\n }\n }\n\n if (this.hostname.length > hostnameMaxLen) {\n this.hostname = '';\n } else {\n // hostnames are always lower case.\n this.hostname = this.hostname.toLowerCase();\n }\n\n if (!ipv6Hostname) {\n // IDNA Support: Returns a punycoded representation of \"domain\".\n // It only converts parts of the domain name that\n // have non-ASCII characters, i.e. it doesn't matter if\n // you call it with a domain that already is ASCII-only.\n this.hostname = punycode.toASCII(this.hostname);\n }\n\n var p = this.port ? ':' + this.port : '';\n var h = this.hostname || '';\n this.host = h + p;\n this.href += this.host;\n\n // strip [ and ] from the hostname\n // the host field still retains them, though\n if (ipv6Hostname) {\n this.hostname = this.hostname.substr(1, this.hostname.length - 2);\n if (rest[0] !== '/') {\n rest = '/' + rest;\n }\n }\n }\n\n // now rest is set to the post-host stuff.\n // chop off any delim chars.\n if (!unsafeProtocol[lowerProto]) {\n\n // First, make 100% sure that any \"autoEscape\" chars get\n // escaped, even if encodeURIComponent doesn't think they\n // need to be.\n for (var i = 0, l = autoEscape.length; i < l; i++) {\n var ae = autoEscape[i];\n if (rest.indexOf(ae) === -1)\n continue;\n var esc = encodeURIComponent(ae);\n if (esc === ae) {\n esc = escape(ae);\n }\n rest = rest.split(ae).join(esc);\n }\n }\n\n\n // chop off from the tail first.\n var hash = rest.indexOf('#');\n if (hash !== -1) {\n // got a fragment string.\n this.hash = rest.substr(hash);\n rest = rest.slice(0, hash);\n }\n var qm = rest.indexOf('?');\n if (qm !== -1) {\n this.search = rest.substr(qm);\n this.query = rest.substr(qm + 1);\n if (parseQueryString) {\n this.query = querystring.parse(this.query);\n }\n rest = rest.slice(0, qm);\n } else if (parseQueryString) {\n // no query string, but parseQueryString still requested\n this.search = '';\n this.query = {};\n }\n if (rest) this.pathname = rest;\n if (slashedProtocol[lowerProto] &&\n this.hostname && !this.pathname) {\n this.pathname = '/';\n }\n\n //to support http.request\n if (this.pathname || this.search) {\n var p = this.pathname || '';\n var s = this.search || '';\n this.path = p + s;\n }\n\n // finally, reconstruct the href based on what has been validated.\n this.href = this.format();\n return this;\n};\n\n// format a parsed object into a url string\nfunction urlFormat(obj) {\n // ensure it's an object, and not a string url.\n // If it's an obj, this is a no-op.\n // this way, you can call url_format() on strings\n // to clean up potentially wonky urls.\n if (util.isString(obj)) obj = urlParse(obj);\n if (!(obj instanceof Url)) return Url.prototype.format.call(obj);\n return obj.format();\n}\n\nUrl.prototype.format = function() {\n var auth = this.auth || '';\n if (auth) {\n auth = encodeURIComponent(auth);\n auth = auth.replace(/%3A/i, ':');\n auth += '@';\n }\n\n var protocol = this.protocol || '',\n pathname = this.pathname || '',\n hash = this.hash || '',\n host = false,\n query = '';\n\n if (this.host) {\n host = auth + this.host;\n } else if (this.hostname) {\n host = auth + (this.hostname.indexOf(':') === -1 ?\n this.hostname :\n '[' + this.hostname + ']');\n if (this.port) {\n host += ':' + this.port;\n }\n }\n\n if (this.query &&\n util.isObject(this.query) &&\n Object.keys(this.query).length) {\n query = querystring.stringify(this.query);\n }\n\n var search = this.search || (query && ('?' + query)) || '';\n\n if (protocol && protocol.substr(-1) !== ':') protocol += ':';\n\n // only the slashedProtocols get the //. Not mailto:, xmpp:, etc.\n // unless they had them to begin with.\n if (this.slashes ||\n (!protocol || slashedProtocol[protocol]) && host !== false) {\n host = '//' + (host || '');\n if (pathname && pathname.charAt(0) !== '/') pathname = '/' + pathname;\n } else if (!host) {\n host = '';\n }\n\n if (hash && hash.charAt(0) !== '#') hash = '#' + hash;\n if (search && search.charAt(0) !== '?') search = '?' + search;\n\n pathname = pathname.replace(/[?#]/g, function(match) {\n return encodeURIComponent(match);\n });\n search = search.replace('#', '%23');\n\n return protocol + host + pathname + search + hash;\n};\n\nfunction urlResolve(source, relative) {\n return urlParse(source, false, true).resolve(relative);\n}\n\nUrl.prototype.resolve = function(relative) {\n return this.resolveObject(urlParse(relative, false, true)).format();\n};\n\nfunction urlResolveObject(source, relative) {\n if (!source) return relative;\n return urlParse(source, false, true).resolveObject(relative);\n}\n\nUrl.prototype.resolveObject = function(relative) {\n if (util.isString(relative)) {\n var rel = new Url();\n rel.parse(relative, false, true);\n relative = rel;\n }\n\n var result = new Url();\n var tkeys = Object.keys(this);\n for (var tk = 0; tk < tkeys.length; tk++) {\n var tkey = tkeys[tk];\n result[tkey] = this[tkey];\n }\n\n // hash is always overridden, no matter what.\n // even href=\"\" will remove it.\n result.hash = relative.hash;\n\n // if the relative url is empty, then there's nothing left to do here.\n if (relative.href === '') {\n result.href = result.format();\n return result;\n }\n\n // hrefs like //foo/bar always cut to the protocol.\n if (relative.slashes && !relative.protocol) {\n // take everything except the protocol from relative\n var rkeys = Object.keys(relative);\n for (var rk = 0; rk < rkeys.length; rk++) {\n var rkey = rkeys[rk];\n if (rkey !== 'protocol')\n result[rkey] = relative[rkey];\n }\n\n //urlParse appends trailing / to urls like http://www.example.com\n if (slashedProtocol[result.protocol] &&\n result.hostname && !result.pathname) {\n result.path = result.pathname = '/';\n }\n\n result.href = result.format();\n return result;\n }\n\n if (relative.protocol && relative.protocol !== result.protocol) {\n // if it's a known url protocol, then changing\n // the protocol does weird things\n // first, if it's not file:, then we MUST have a host,\n // and if there was a path\n // to begin with, then we MUST have a path.\n // if it is file:, then the host is dropped,\n // because that's known to be hostless.\n // anything else is assumed to be absolute.\n if (!slashedProtocol[relative.protocol]) {\n var keys = Object.keys(relative);\n for (var v = 0; v < keys.length; v++) {\n var k = keys[v];\n result[k] = relative[k];\n }\n result.href = result.format();\n return result;\n }\n\n result.protocol = relative.protocol;\n if (!relative.host && !hostlessProtocol[relative.protocol]) {\n var relPath = (relative.pathname || '').split('/');\n while (relPath.length && !(relative.host = relPath.shift()));\n if (!relative.host) relative.host = '';\n if (!relative.hostname) relative.hostname = '';\n if (relPath[0] !== '') relPath.unshift('');\n if (relPath.length < 2) relPath.unshift('');\n result.pathname = relPath.join('/');\n } else {\n result.pathname = relative.pathname;\n }\n result.search = relative.search;\n result.query = relative.query;\n result.host = relative.host || '';\n result.auth = relative.auth;\n result.hostname = relative.hostname || relative.host;\n result.port = relative.port;\n // to support http.request\n if (result.pathname || result.search) {\n var p = result.pathname || '';\n var s = result.search || '';\n result.path = p + s;\n }\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n }\n\n var isSourceAbs = (result.pathname && result.pathname.charAt(0) === '/'),\n isRelAbs = (\n relative.host ||\n relative.pathname && relative.pathname.charAt(0) === '/'\n ),\n mustEndAbs = (isRelAbs || isSourceAbs ||\n (result.host && relative.pathname)),\n removeAllDots = mustEndAbs,\n srcPath = result.pathname && result.pathname.split('/') || [],\n relPath = relative.pathname && relative.pathname.split('/') || [],\n psychotic = result.protocol && !slashedProtocol[result.protocol];\n\n // if the url is a non-slashed url, then relative\n // links like ../.. should be able\n // to crawl up to the hostname, as well. This is strange.\n // result.protocol has already been set by now.\n // Later on, put the first path part into the host field.\n if (psychotic) {\n result.hostname = '';\n result.port = null;\n if (result.host) {\n if (srcPath[0] === '') srcPath[0] = result.host;\n else srcPath.unshift(result.host);\n }\n result.host = '';\n if (relative.protocol) {\n relative.hostname = null;\n relative.port = null;\n if (relative.host) {\n if (relPath[0] === '') relPath[0] = relative.host;\n else relPath.unshift(relative.host);\n }\n relative.host = null;\n }\n mustEndAbs = mustEndAbs && (relPath[0] === '' || srcPath[0] === '');\n }\n\n if (isRelAbs) {\n // it's absolute.\n result.host = (relative.host || relative.host === '') ?\n relative.host : result.host;\n result.hostname = (relative.hostname || relative.hostname === '') ?\n relative.hostname : result.hostname;\n result.search = relative.search;\n result.query = relative.query;\n srcPath = relPath;\n // fall through to the dot-handling below.\n } else if (relPath.length) {\n // it's relative\n // throw away the existing file, and take the new path instead.\n if (!srcPath) srcPath = [];\n srcPath.pop();\n srcPath = srcPath.concat(relPath);\n result.search = relative.search;\n result.query = relative.query;\n } else if (!util.isNullOrUndefined(relative.search)) {\n // just pull out the search.\n // like href='?foo'.\n // Put this after the other two cases because it simplifies the booleans\n if (psychotic) {\n result.hostname = result.host = srcPath.shift();\n //occationaly the auth can get stuck only in host\n //this especially happens in cases like\n //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n var authInHost = result.host && result.host.indexOf('@') > 0 ?\n result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n result.search = relative.search;\n result.query = relative.query;\n //to support http.request\n if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n result.path = (result.pathname ? result.pathname : '') +\n (result.search ? result.search : '');\n }\n result.href = result.format();\n return result;\n }\n\n if (!srcPath.length) {\n // no path at all. easy.\n // we've already handled the other stuff above.\n result.pathname = null;\n //to support http.request\n if (result.search) {\n result.path = '/' + result.search;\n } else {\n result.path = null;\n }\n result.href = result.format();\n return result;\n }\n\n // if a url ENDs in . or .., then it must get a trailing slash.\n // however, if it ends in anything else non-slashy,\n // then it must NOT get a trailing slash.\n var last = srcPath.slice(-1)[0];\n var hasTrailingSlash = (\n (result.host || relative.host || srcPath.length > 1) &&\n (last === '.' || last === '..') || last === '');\n\n // strip single dots, resolve double dots to parent dir\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = srcPath.length; i >= 0; i--) {\n last = srcPath[i];\n if (last === '.') {\n srcPath.splice(i, 1);\n } else if (last === '..') {\n srcPath.splice(i, 1);\n up++;\n } else if (up) {\n srcPath.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (!mustEndAbs && !removeAllDots) {\n for (; up--; up) {\n srcPath.unshift('..');\n }\n }\n\n if (mustEndAbs && srcPath[0] !== '' &&\n (!srcPath[0] || srcPath[0].charAt(0) !== '/')) {\n srcPath.unshift('');\n }\n\n if (hasTrailingSlash && (srcPath.join('/').substr(-1) !== '/')) {\n srcPath.push('');\n }\n\n var isAbsolute = srcPath[0] === '' ||\n (srcPath[0] && srcPath[0].charAt(0) === '/');\n\n // put the host back\n if (psychotic) {\n result.hostname = result.host = isAbsolute ? '' :\n srcPath.length ? srcPath.shift() : '';\n //occationaly the auth can get stuck only in host\n //this especially happens in cases like\n //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n var authInHost = result.host && result.host.indexOf('@') > 0 ?\n result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n\n mustEndAbs = mustEndAbs || (result.host && srcPath.length);\n\n if (mustEndAbs && !isAbsolute) {\n srcPath.unshift('');\n }\n\n if (!srcPath.length) {\n result.pathname = null;\n result.path = null;\n } else {\n result.pathname = srcPath.join('/');\n }\n\n //to support request.http\n if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n result.path = (result.pathname ? result.pathname : '') +\n (result.search ? result.search : '');\n }\n result.auth = relative.auth || result.auth;\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n};\n\nUrl.prototype.parseHost = function() {\n var host = this.host;\n var port = portPattern.exec(host);\n if (port) {\n port = port[0];\n if (port !== ':') {\n this.port = port.substr(1);\n }\n host = host.substr(0, host.length - port.length);\n }\n if (host) this.hostname = host;\n};\n","'use strict';\n\nmodule.exports = {\n isString: function(arg) {\n return typeof(arg) === 'string';\n },\n isObject: function(arg) {\n return typeof(arg) === 'object' && arg !== null;\n },\n isNull: function(arg) {\n return arg === null;\n },\n isNullOrUndefined: function(arg) {\n return arg == null;\n }\n};\n","var v1 = require('./v1');\nvar v4 = require('./v4');\n\nvar uuid = v4;\nuuid.v1 = v1;\nuuid.v4 = v4;\n\nmodule.exports = uuid;\n","/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nvar byteToHex = [];\nfor (var i = 0; i < 256; ++i) {\n byteToHex[i] = (i + 0x100).toString(16).substr(1);\n}\n\nfunction bytesToUuid(buf, offset) {\n var i = offset || 0;\n var bth = byteToHex;\n // join used to fix memory issue caused by concatenation: https://bugs.chromium.org/p/v8/issues/detail?id=3175#c4\n return ([\n bth[buf[i++]], bth[buf[i++]],\n bth[buf[i++]], bth[buf[i++]], '-',\n bth[buf[i++]], bth[buf[i++]], '-',\n bth[buf[i++]], bth[buf[i++]], '-',\n bth[buf[i++]], bth[buf[i++]], '-',\n bth[buf[i++]], bth[buf[i++]],\n bth[buf[i++]], bth[buf[i++]],\n bth[buf[i++]], bth[buf[i++]]\n ]).join('');\n}\n\nmodule.exports = bytesToUuid;\n","// Unique ID creation requires a high quality random # generator. In the\n// browser this is a little complicated due to unknown quality of Math.random()\n// and inconsistent support for the `crypto` API. We do the best we can via\n// feature-detection\n\n// getRandomValues needs to be invoked in a context where \"this\" is a Crypto\n// implementation. Also, find the complete implementation of crypto on IE11.\nvar getRandomValues = (typeof(crypto) != 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto)) ||\n (typeof(msCrypto) != 'undefined' && typeof window.msCrypto.getRandomValues == 'function' && msCrypto.getRandomValues.bind(msCrypto));\n\nif (getRandomValues) {\n // WHATWG crypto RNG - http://wiki.whatwg.org/wiki/Crypto\n var rnds8 = new Uint8Array(16); // eslint-disable-line no-undef\n\n module.exports = function whatwgRNG() {\n getRandomValues(rnds8);\n return rnds8;\n };\n} else {\n // Math.random()-based (RNG)\n //\n // If all else fails, use Math.random(). It's fast, but is of unspecified\n // quality.\n var rnds = new Array(16);\n\n module.exports = function mathRNG() {\n for (var i = 0, r; i < 16; i++) {\n if ((i & 0x03) === 0) r = Math.random() * 0x100000000;\n rnds[i] = r >>> ((i & 0x03) << 3) & 0xff;\n }\n\n return rnds;\n };\n}\n","var rng = require('./lib/rng');\nvar bytesToUuid = require('./lib/bytesToUuid');\n\n// **`v1()` - Generate time-based UUID**\n//\n// Inspired by https://github.com/LiosK/UUID.js\n// and http://docs.python.org/library/uuid.html\n\nvar _nodeId;\nvar _clockseq;\n\n// Previous uuid creation time\nvar _lastMSecs = 0;\nvar _lastNSecs = 0;\n\n// See https://github.com/uuidjs/uuid for API details\nfunction v1(options, buf, offset) {\n var i = buf && offset || 0;\n var b = buf || [];\n\n options = options || {};\n var node = options.node || _nodeId;\n var clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq;\n\n // node and clockseq need to be initialized to random values if they're not\n // specified. We do this lazily to minimize issues related to insufficient\n // system entropy. See #189\n if (node == null || clockseq == null) {\n var seedBytes = rng();\n if (node == null) {\n // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)\n node = _nodeId = [\n seedBytes[0] | 0x01,\n seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]\n ];\n }\n if (clockseq == null) {\n // Per 4.2.2, randomize (14 bit) clockseq\n clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff;\n }\n }\n\n // UUID timestamps are 100 nano-second units since the Gregorian epoch,\n // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so\n // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'\n // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.\n var msecs = options.msecs !== undefined ? options.msecs : new Date().getTime();\n\n // Per 4.2.1.2, use count of uuid's generated during the current clock\n // cycle to simulate higher resolution clock\n var nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1;\n\n // Time since last uuid creation (in msecs)\n var dt = (msecs - _lastMSecs) + (nsecs - _lastNSecs)/10000;\n\n // Per 4.2.1.2, Bump clockseq on clock regression\n if (dt < 0 && options.clockseq === undefined) {\n clockseq = clockseq + 1 & 0x3fff;\n }\n\n // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new\n // time interval\n if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {\n nsecs = 0;\n }\n\n // Per 4.2.1.2 Throw error if too many uuids are requested\n if (nsecs >= 10000) {\n throw new Error('uuid.v1(): Can\\'t create more than 10M uuids/sec');\n }\n\n _lastMSecs = msecs;\n _lastNSecs = nsecs;\n _clockseq = clockseq;\n\n // Per 4.1.4 - Convert from unix epoch to Gregorian epoch\n msecs += 12219292800000;\n\n // `time_low`\n var tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;\n b[i++] = tl >>> 24 & 0xff;\n b[i++] = tl >>> 16 & 0xff;\n b[i++] = tl >>> 8 & 0xff;\n b[i++] = tl & 0xff;\n\n // `time_mid`\n var tmh = (msecs / 0x100000000 * 10000) & 0xfffffff;\n b[i++] = tmh >>> 8 & 0xff;\n b[i++] = tmh & 0xff;\n\n // `time_high_and_version`\n b[i++] = tmh >>> 24 & 0xf | 0x10; // include version\n b[i++] = tmh >>> 16 & 0xff;\n\n // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)\n b[i++] = clockseq >>> 8 | 0x80;\n\n // `clock_seq_low`\n b[i++] = clockseq & 0xff;\n\n // `node`\n for (var n = 0; n < 6; ++n) {\n b[i + n] = node[n];\n }\n\n return buf ? buf : bytesToUuid(b);\n}\n\nmodule.exports = v1;\n","var rng = require('./lib/rng');\nvar bytesToUuid = require('./lib/bytesToUuid');\n\nfunction v4(options, buf, offset) {\n var i = buf && offset || 0;\n\n if (typeof(options) == 'string') {\n buf = options === 'binary' ? new Array(16) : null;\n options = null;\n }\n options = options || {};\n\n var rnds = options.random || (options.rng || rng)();\n\n // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n\n // Copy bytes to buffer, if provided\n if (buf) {\n for (var ii = 0; ii < 16; ++ii) {\n buf[i + ii] = rnds[ii];\n }\n }\n\n return buf || bytesToUuid(rnds);\n}\n\nmodule.exports = v4;\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar warning = function() {};\n\nif (__DEV__) {\n var printWarning = function printWarning(format, args) {\n var len = arguments.length;\n args = new Array(len > 1 ? len - 1 : 0);\n for (var key = 1; key < len; key++) {\n args[key - 1] = arguments[key];\n }\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n }\n\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n if (!condition) {\n printWarning.apply(null, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;\n","module.exports = require('./lib/Observable.js').Observable;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Observable = void 0;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n// === Symbol Support ===\nvar hasSymbols = function () {\n return typeof Symbol === 'function';\n};\n\nvar hasSymbol = function (name) {\n return hasSymbols() && Boolean(Symbol[name]);\n};\n\nvar getSymbol = function (name) {\n return hasSymbol(name) ? Symbol[name] : '@@' + name;\n};\n\nif (hasSymbols() && !hasSymbol('observable')) {\n Symbol.observable = Symbol('observable');\n}\n\nvar SymbolIterator = getSymbol('iterator');\nvar SymbolObservable = getSymbol('observable');\nvar SymbolSpecies = getSymbol('species'); // === Abstract Operations ===\n\nfunction getMethod(obj, key) {\n var value = obj[key];\n if (value == null) return undefined;\n if (typeof value !== 'function') throw new TypeError(value + ' is not a function');\n return value;\n}\n\nfunction getSpecies(obj) {\n var ctor = obj.constructor;\n\n if (ctor !== undefined) {\n ctor = ctor[SymbolSpecies];\n\n if (ctor === null) {\n ctor = undefined;\n }\n }\n\n return ctor !== undefined ? ctor : Observable;\n}\n\nfunction isObservable(x) {\n return x instanceof Observable; // SPEC: Brand check\n}\n\nfunction hostReportError(e) {\n if (hostReportError.log) {\n hostReportError.log(e);\n } else {\n setTimeout(function () {\n throw e;\n });\n }\n}\n\nfunction enqueue(fn) {\n Promise.resolve().then(function () {\n try {\n fn();\n } catch (e) {\n hostReportError(e);\n }\n });\n}\n\nfunction cleanupSubscription(subscription) {\n var cleanup = subscription._cleanup;\n if (cleanup === undefined) return;\n subscription._cleanup = undefined;\n\n if (!cleanup) {\n return;\n }\n\n try {\n if (typeof cleanup === 'function') {\n cleanup();\n } else {\n var unsubscribe = getMethod(cleanup, 'unsubscribe');\n\n if (unsubscribe) {\n unsubscribe.call(cleanup);\n }\n }\n } catch (e) {\n hostReportError(e);\n }\n}\n\nfunction closeSubscription(subscription) {\n subscription._observer = undefined;\n subscription._queue = undefined;\n subscription._state = 'closed';\n}\n\nfunction flushSubscription(subscription) {\n var queue = subscription._queue;\n\n if (!queue) {\n return;\n }\n\n subscription._queue = undefined;\n subscription._state = 'ready';\n\n for (var i = 0; i < queue.length; ++i) {\n notifySubscription(subscription, queue[i].type, queue[i].value);\n if (subscription._state === 'closed') break;\n }\n}\n\nfunction notifySubscription(subscription, type, value) {\n subscription._state = 'running';\n var observer = subscription._observer;\n\n try {\n var m = getMethod(observer, type);\n\n switch (type) {\n case 'next':\n if (m) m.call(observer, value);\n break;\n\n case 'error':\n closeSubscription(subscription);\n if (m) m.call(observer, value);else throw value;\n break;\n\n case 'complete':\n closeSubscription(subscription);\n if (m) m.call(observer);\n break;\n }\n } catch (e) {\n hostReportError(e);\n }\n\n if (subscription._state === 'closed') cleanupSubscription(subscription);else if (subscription._state === 'running') subscription._state = 'ready';\n}\n\nfunction onNotify(subscription, type, value) {\n if (subscription._state === 'closed') return;\n\n if (subscription._state === 'buffering') {\n subscription._queue.push({\n type: type,\n value: value\n });\n\n return;\n }\n\n if (subscription._state !== 'ready') {\n subscription._state = 'buffering';\n subscription._queue = [{\n type: type,\n value: value\n }];\n enqueue(function () {\n return flushSubscription(subscription);\n });\n return;\n }\n\n notifySubscription(subscription, type, value);\n}\n\nvar Subscription =\n/*#__PURE__*/\nfunction () {\n function Subscription(observer, subscriber) {\n _classCallCheck(this, Subscription);\n\n // ASSERT: observer is an object\n // ASSERT: subscriber is callable\n this._cleanup = undefined;\n this._observer = observer;\n this._queue = undefined;\n this._state = 'initializing';\n var subscriptionObserver = new SubscriptionObserver(this);\n\n try {\n this._cleanup = subscriber.call(undefined, subscriptionObserver);\n } catch (e) {\n subscriptionObserver.error(e);\n }\n\n if (this._state === 'initializing') this._state = 'ready';\n }\n\n _createClass(Subscription, [{\n key: \"unsubscribe\",\n value: function unsubscribe() {\n if (this._state !== 'closed') {\n closeSubscription(this);\n cleanupSubscription(this);\n }\n }\n }, {\n key: \"closed\",\n get: function () {\n return this._state === 'closed';\n }\n }]);\n\n return Subscription;\n}();\n\nvar SubscriptionObserver =\n/*#__PURE__*/\nfunction () {\n function SubscriptionObserver(subscription) {\n _classCallCheck(this, SubscriptionObserver);\n\n this._subscription = subscription;\n }\n\n _createClass(SubscriptionObserver, [{\n key: \"next\",\n value: function next(value) {\n onNotify(this._subscription, 'next', value);\n }\n }, {\n key: \"error\",\n value: function error(value) {\n onNotify(this._subscription, 'error', value);\n }\n }, {\n key: \"complete\",\n value: function complete() {\n onNotify(this._subscription, 'complete');\n }\n }, {\n key: \"closed\",\n get: function () {\n return this._subscription._state === 'closed';\n }\n }]);\n\n return SubscriptionObserver;\n}();\n\nvar Observable =\n/*#__PURE__*/\nfunction () {\n function Observable(subscriber) {\n _classCallCheck(this, Observable);\n\n if (!(this instanceof Observable)) throw new TypeError('Observable cannot be called as a function');\n if (typeof subscriber !== 'function') throw new TypeError('Observable initializer must be a function');\n this._subscriber = subscriber;\n }\n\n _createClass(Observable, [{\n key: \"subscribe\",\n value: function subscribe(observer) {\n if (typeof observer !== 'object' || observer === null) {\n observer = {\n next: observer,\n error: arguments[1],\n complete: arguments[2]\n };\n }\n\n return new Subscription(observer, this._subscriber);\n }\n }, {\n key: \"forEach\",\n value: function forEach(fn) {\n var _this = this;\n\n return new Promise(function (resolve, reject) {\n if (typeof fn !== 'function') {\n reject(new TypeError(fn + ' is not a function'));\n return;\n }\n\n function done() {\n subscription.unsubscribe();\n resolve();\n }\n\n var subscription = _this.subscribe({\n next: function (value) {\n try {\n fn(value, done);\n } catch (e) {\n reject(e);\n subscription.unsubscribe();\n }\n },\n error: reject,\n complete: resolve\n });\n });\n }\n }, {\n key: \"map\",\n value: function map(fn) {\n var _this2 = this;\n\n if (typeof fn !== 'function') throw new TypeError(fn + ' is not a function');\n var C = getSpecies(this);\n return new C(function (observer) {\n return _this2.subscribe({\n next: function (value) {\n try {\n value = fn(value);\n } catch (e) {\n return observer.error(e);\n }\n\n observer.next(value);\n },\n error: function (e) {\n observer.error(e);\n },\n complete: function () {\n observer.complete();\n }\n });\n });\n }\n }, {\n key: \"filter\",\n value: function filter(fn) {\n var _this3 = this;\n\n if (typeof fn !== 'function') throw new TypeError(fn + ' is not a function');\n var C = getSpecies(this);\n return new C(function (observer) {\n return _this3.subscribe({\n next: function (value) {\n try {\n if (!fn(value)) return;\n } catch (e) {\n return observer.error(e);\n }\n\n observer.next(value);\n },\n error: function (e) {\n observer.error(e);\n },\n complete: function () {\n observer.complete();\n }\n });\n });\n }\n }, {\n key: \"reduce\",\n value: function reduce(fn) {\n var _this4 = this;\n\n if (typeof fn !== 'function') throw new TypeError(fn + ' is not a function');\n var C = getSpecies(this);\n var hasSeed = arguments.length > 1;\n var hasValue = false;\n var seed = arguments[1];\n var acc = seed;\n return new C(function (observer) {\n return _this4.subscribe({\n next: function (value) {\n var first = !hasValue;\n hasValue = true;\n\n if (!first || hasSeed) {\n try {\n acc = fn(acc, value);\n } catch (e) {\n return observer.error(e);\n }\n } else {\n acc = value;\n }\n },\n error: function (e) {\n observer.error(e);\n },\n complete: function () {\n if (!hasValue && !hasSeed) return observer.error(new TypeError('Cannot reduce an empty sequence'));\n observer.next(acc);\n observer.complete();\n }\n });\n });\n }\n }, {\n key: \"concat\",\n value: function concat() {\n var _this5 = this;\n\n for (var _len = arguments.length, sources = new Array(_len), _key = 0; _key < _len; _key++) {\n sources[_key] = arguments[_key];\n }\n\n var C = getSpecies(this);\n return new C(function (observer) {\n var subscription;\n var index = 0;\n\n function startNext(next) {\n subscription = next.subscribe({\n next: function (v) {\n observer.next(v);\n },\n error: function (e) {\n observer.error(e);\n },\n complete: function () {\n if (index === sources.length) {\n subscription = undefined;\n observer.complete();\n } else {\n startNext(C.from(sources[index++]));\n }\n }\n });\n }\n\n startNext(_this5);\n return function () {\n if (subscription) {\n subscription.unsubscribe();\n subscription = undefined;\n }\n };\n });\n }\n }, {\n key: \"flatMap\",\n value: function flatMap(fn) {\n var _this6 = this;\n\n if (typeof fn !== 'function') throw new TypeError(fn + ' is not a function');\n var C = getSpecies(this);\n return new C(function (observer) {\n var subscriptions = [];\n\n var outer = _this6.subscribe({\n next: function (value) {\n if (fn) {\n try {\n value = fn(value);\n } catch (e) {\n return observer.error(e);\n }\n }\n\n var inner = C.from(value).subscribe({\n next: function (value) {\n observer.next(value);\n },\n error: function (e) {\n observer.error(e);\n },\n complete: function () {\n var i = subscriptions.indexOf(inner);\n if (i >= 0) subscriptions.splice(i, 1);\n completeIfDone();\n }\n });\n subscriptions.push(inner);\n },\n error: function (e) {\n observer.error(e);\n },\n complete: function () {\n completeIfDone();\n }\n });\n\n function completeIfDone() {\n if (outer.closed && subscriptions.length === 0) observer.complete();\n }\n\n return function () {\n subscriptions.forEach(function (s) {\n return s.unsubscribe();\n });\n outer.unsubscribe();\n };\n });\n }\n }, {\n key: SymbolObservable,\n value: function () {\n return this;\n }\n }], [{\n key: \"from\",\n value: function from(x) {\n var C = typeof this === 'function' ? this : Observable;\n if (x == null) throw new TypeError(x + ' is not an object');\n var method = getMethod(x, SymbolObservable);\n\n if (method) {\n var observable = method.call(x);\n if (Object(observable) !== observable) throw new TypeError(observable + ' is not an object');\n if (isObservable(observable) && observable.constructor === C) return observable;\n return new C(function (observer) {\n return observable.subscribe(observer);\n });\n }\n\n if (hasSymbol('iterator')) {\n method = getMethod(x, SymbolIterator);\n\n if (method) {\n return new C(function (observer) {\n enqueue(function () {\n if (observer.closed) return;\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = method.call(x)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var _item = _step.value;\n observer.next(_item);\n if (observer.closed) return;\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n observer.complete();\n });\n });\n }\n }\n\n if (Array.isArray(x)) {\n return new C(function (observer) {\n enqueue(function () {\n if (observer.closed) return;\n\n for (var i = 0; i < x.length; ++i) {\n observer.next(x[i]);\n if (observer.closed) return;\n }\n\n observer.complete();\n });\n });\n }\n\n throw new TypeError(x + ' is not observable');\n }\n }, {\n key: \"of\",\n value: function of() {\n for (var _len2 = arguments.length, items = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n items[_key2] = arguments[_key2];\n }\n\n var C = typeof this === 'function' ? this : Observable;\n return new C(function (observer) {\n enqueue(function () {\n if (observer.closed) return;\n\n for (var i = 0; i < items.length; ++i) {\n observer.next(items[i]);\n if (observer.closed) return;\n }\n\n observer.complete();\n });\n });\n }\n }, {\n key: SymbolSpecies,\n get: function () {\n return this;\n }\n }]);\n\n return Observable;\n}();\n\nexports.Observable = Observable;\n\nif (hasSymbols()) {\n Object.defineProperty(Observable, Symbol('extensions'), {\n value: {\n symbol: SymbolObservable,\n hostReportError: hostReportError\n },\n configurable: true\n });\n}","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return e;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar isPossiblePrototype = require('../internals/is-possible-prototype');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (isPossiblePrototype(argument)) return argument;\n throw new $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] === undefined) {\n defineProperty(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.es/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? charAt(S, index).length : 1);\n};\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw new $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n if (length === 0) return !IS_INCLUDES && -1;\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el !== el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value !== value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","'use strict';\n// `CreateIterResultObject` abstract operation\n// https://tc39.es/ecma262/#sec-createiterresultobject\nmodule.exports = function (value, done) {\n return { value: value, done: done };\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","'use strict';\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","'use strict';\nvar global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","'use strict';\n// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","'use strict';\n// in old WebKit versions, `element.classList` is not an instance of global `DOMTokenList`\nvar documentCreateElement = require('../internals/document-create-element');\n\nvar classList = documentCreateElement('span').classList;\nvar DOMTokenListPrototype = classList && classList.constructor && classList.constructor.prototype;\n\nmodule.exports = DOMTokenListPrototype === Object.prototype ? undefined : DOMTokenListPrototype;\n","'use strict';\nmodule.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';\n","'use strict';\nvar global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","'use strict';\n// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","'use strict';\nvar global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = global[TARGET] && global[TARGET].prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\n// TODO: Remove from `core-js@4` since it's moved to entry points\nrequire('../modules/es.regexp.exec');\nvar call = require('../internals/function-call');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar regexpExec = require('../internals/regexp-exec');\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar SPECIES = wellKnownSymbol('species');\nvar RegExpPrototype = RegExp.prototype;\n\nmodule.exports = function (KEY, exec, FORCED, SHAM) {\n var SYMBOL = wellKnownSymbol(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegExp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) !== 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n\n if (KEY === 'split') {\n // We can't use real regex here since it causes deoptimization\n // and serious performance degradation in V8\n // https://github.com/zloirock/core-js/issues/306\n re = {};\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n re.flags = '';\n re[SYMBOL] = /./[SYMBOL];\n }\n\n re.exec = function () {\n execCalled = true;\n return null;\n };\n\n re[SYMBOL]('');\n return !execCalled;\n });\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n FORCED\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n var $exec = regexp.exec;\n if ($exec === regexpExec || $exec === RegExpPrototype.exec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: call(nativeRegExpMethod, regexp, str, arg2) };\n }\n return { done: true, value: call(nativeMethod, str, regexp, arg2) };\n }\n return { done: false };\n });\n\n defineBuiltIn(String.prototype, KEY, methods[0]);\n defineBuiltIn(RegExpPrototype, SYMBOL, methods[1]);\n }\n\n if (SHAM) createNonEnumerableProperty(RegExpPrototype[SYMBOL], 'sham', true);\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nmodule.exports = function (object, key, method) {\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n } catch (error) { /* empty */ }\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar floor = Math.floor;\nvar charAt = uncurryThis(''.charAt);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\n// eslint-disable-next-line redos/no-vulnerable -- safe\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d{1,2}|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d{1,2})/g;\n\n// `GetSubstitution` abstract operation\n// https://tc39.es/ecma262/#sec-getsubstitution\nmodule.exports = function (matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return replace(replacement, symbols, function (match, ch) {\n var capture;\n switch (charAt(ch, 0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return stringSlice(str, 0, position);\n case \"'\": return stringSlice(str, tailPos);\n case '<':\n capture = namedCaptures[stringSlice(ch, 1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? charAt(ch, 1) : captures[f - 1] + charAt(ch, 1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n};\n","'use strict';\nvar check = function (it) {\n return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n check(typeof this == 'object' && this) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a !== 7;\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw new TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","'use strict';\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\nvar documentAll = typeof document == 'object' && document.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nmodule.exports = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value === POLYFILL ? true\n : value === NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nmodule.exports = function (argument) {\n return isObject(argument) || argument === null;\n};\n","'use strict';\nmodule.exports = false;\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar IS_PURE = require('../internals/is-pure');\nvar FunctionName = require('../internals/function-name');\nvar isCallable = require('../internals/is-callable');\nvar createIteratorConstructor = require('../internals/iterator-create-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND && KIND in IterablePrototype) return IterablePrototype[KIND];\n\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n }\n\n return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME === 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {\n defineBuiltIn(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array.prototype.{ values, @@iterator }.name in V8 / FF\n if (PROPER_FUNCTION_NAME && DEFAULT === VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(IterablePrototype, 'name', VALUES);\n } else {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return call(nativeIterator, this); };\n }\n }\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n defineBuiltIn(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n defineBuiltIn(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });\n }\n Iterators[NAME] = defaultIterator;\n\n return methods;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = !isObject(IteratorPrototype) || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\nelse if (IS_PURE) IteratorPrototype = create(IteratorPrototype);\n\n// `%IteratorPrototype%[@@iterator]()` method\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator\nif (!isCallable(IteratorPrototype[ITERATOR])) {\n defineBuiltIn(IteratorPrototype, ITERATOR, function () {\n return this;\n });\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\).*$/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\n/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar $Object = Object;\nvar ObjectPrototype = $Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n } return object instanceof $Object ? ObjectPrototype : null;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\n/* eslint-disable no-proto -- safe */\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar isObject = require('../internals/is-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n requireObjectCoercible(O);\n aPossiblePrototype(proto);\n if (!isObject(O)) return O;\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw new $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof-raw');\nvar regexpExec = require('../internals/regexp-exec');\n\nvar $TypeError = TypeError;\n\n// `RegExpExec` abstract operation\n// https://tc39.es/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (isCallable(exec)) {\n var result = call(exec, R, S);\n if (result !== null) anObject(result);\n return result;\n }\n if (classof(R) === 'RegExp') return call(regexpExec, R, S);\n throw new $TypeError('RegExp#exec called on incompatible receiver');\n};\n","'use strict';\n/* eslint-disable regexp/no-empty-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing */\n/* eslint-disable regexp/no-useless-quantifier -- testing */\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toString = require('../internals/to-string');\nvar regexpFlags = require('../internals/regexp-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar shared = require('../internals/shared');\nvar create = require('../internals/object-create');\nvar getInternalState = require('../internals/internal-state').get;\nvar UNSUPPORTED_DOT_ALL = require('../internals/regexp-unsupported-dot-all');\nvar UNSUPPORTED_NCG = require('../internals/regexp-unsupported-ncg');\n\nvar nativeReplace = shared('native-string-replace', String.prototype.replace);\nvar nativeExec = RegExp.prototype.exec;\nvar patchedExec = nativeExec;\nvar charAt = uncurryThis(''.charAt);\nvar indexOf = uncurryThis(''.indexOf);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/;\n var re2 = /b*/g;\n call(nativeExec, re1, 'a');\n call(nativeExec, re2, 'a');\n return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y = stickyHelpers.BROKEN_CARET;\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG;\n\nif (PATCH) {\n patchedExec = function exec(string) {\n var re = this;\n var state = getInternalState(re);\n var str = toString(string);\n var raw = state.raw;\n var result, reCopy, lastIndex, match, i, object, group;\n\n if (raw) {\n raw.lastIndex = re.lastIndex;\n result = call(patchedExec, raw, str);\n re.lastIndex = raw.lastIndex;\n return result;\n }\n\n var groups = state.groups;\n var sticky = UNSUPPORTED_Y && re.sticky;\n var flags = call(regexpFlags, re);\n var source = re.source;\n var charsAdded = 0;\n var strCopy = str;\n\n if (sticky) {\n flags = replace(flags, 'y', '');\n if (indexOf(flags, 'g') === -1) {\n flags += 'g';\n }\n\n strCopy = stringSlice(str, re.lastIndex);\n // Support anchored sticky behavior.\n if (re.lastIndex > 0 && (!re.multiline || re.multiline && charAt(str, re.lastIndex - 1) !== '\\n')) {\n source = '(?: ' + source + ')';\n strCopy = ' ' + strCopy;\n charsAdded++;\n }\n // ^(? + rx + ) is needed, in combination with some str slicing, to\n // simulate the 'y' flag.\n reCopy = new RegExp('^(?:' + source + ')', flags);\n }\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n match = call(nativeExec, sticky ? reCopy : re, strCopy);\n\n if (sticky) {\n if (match) {\n match.input = stringSlice(match.input, charsAdded);\n match[0] = stringSlice(match[0], charsAdded);\n match.index = re.lastIndex;\n re.lastIndex += match[0].length;\n } else re.lastIndex = 0;\n } else if (UPDATES_LAST_INDEX_WRONG && match) {\n re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn't work for /(.?)?/\n call(nativeReplace, match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n if (match && groups) {\n match.groups = object = create(null);\n for (i = 0; i < groups.length; i++) {\n group = groups[i];\n object[group[0]] = match[group[1]];\n }\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.hasIndices) result += 'd';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.unicodeSets) result += 'v';\n if (that.sticky) result += 'y';\n return result;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nvar UNSUPPORTED_Y = fails(function () {\n var re = $RegExp('a', 'y');\n re.lastIndex = 2;\n return re.exec('abcd') !== null;\n});\n\n// UC Browser bug\n// https://github.com/zloirock/core-js/issues/1008\nvar MISSED_STICKY = UNSUPPORTED_Y || fails(function () {\n return !$RegExp('a', 'y').sticky;\n});\n\nvar BROKEN_CARET = UNSUPPORTED_Y || fails(function () {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n var re = $RegExp('^r', 'gy');\n re.lastIndex = 2;\n return re.exec('str') !== null;\n});\n\nmodule.exports = {\n BROKEN_CARET: BROKEN_CARET,\n MISSED_STICKY: MISSED_STICKY,\n UNSUPPORTED_Y: UNSUPPORTED_Y\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('.', 's');\n return !(re.dotAll && re.test('\\n') && re.flags === 's');\n});\n","'use strict';\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('(?b)', 'g') -> /(?b)/g and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('(?b)', 'g');\n return re.exec('b').groups.a !== 'b' ||\n 'b'.replace(re, '$c') !== 'bc';\n});\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw new $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar hasOwn = require('../internals/has-own-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (target, TAG, STATIC) {\n if (target && !STATIC) target = target.prototype;\n if (target && !hasOwn(target, TO_STRING_TAG)) {\n defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","'use strict';\nvar shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar globalThis = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {});\n\n(store.versions || (store.versions = [])).push({\n version: '3.37.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2024 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.37.1/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\nvar store = require('../internals/shared-store');\n\nmodule.exports = function (key, value) {\n return store[key] || (store[key] = value || {});\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar stringSlice = uncurryThis(''.slice);\n\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = toString(requireObjectCoercible($this));\n var position = toIntegerOrInfinity(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = charCodeAt(S, position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING\n ? charAt(S, position)\n : first\n : CONVERT_TO_STRING\n ? stringSlice(S, position, position + 2)\n : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.es/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\nvar $String = global.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol('symbol detection');\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n var len = toIntegerOrInfinity(argument);\n return len > 0 ? min(len, 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw new $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","'use strict';\nvar classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype !== 42;\n});\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","'use strict';\nvar global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = global.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineProperty = require('../internals/object-define-property').f;\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return createIterResultObject(undefined, true);\n }\n switch (state.kind) {\n case 'keys': return createIterResultObject(index, false);\n case 'values': return createIterResultObject(target[index], false);\n } return createIterResultObject([index, target[index]], false);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nvar values = Iterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n// V8 ~ Chrome 45- bug\nif (!IS_PURE && DESCRIPTORS && values.name !== 'values') try {\n defineProperty(values, 'name', { value: 'values' });\n} catch (error) { /* empty */ }\n","'use strict';\nvar $ = require('../internals/export');\nvar exec = require('../internals/regexp-exec');\n\n// `RegExp.prototype.exec` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.exec\n$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {\n exec: exec\n});\n","'use strict';\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar fails = require('../internals/fails');\nvar anObject = require('../internals/an-object');\nvar isCallable = require('../internals/is-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar getMethod = require('../internals/get-method');\nvar getSubstitution = require('../internals/get-substitution');\nvar regExpExec = require('../internals/regexp-exec-abstract');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar REPLACE = wellKnownSymbol('replace');\nvar max = Math.max;\nvar min = Math.min;\nvar concat = uncurryThis([].concat);\nvar push = uncurryThis([].push);\nvar stringIndexOf = uncurryThis(''.indexOf);\nvar stringSlice = uncurryThis(''.slice);\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing\n return 'a'.replace(/./, '$0') === '$0';\n})();\n\n// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string\nvar REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {\n if (/./[REPLACE]) {\n return /./[REPLACE]('a', '$0') === '';\n }\n return false;\n})();\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n // eslint-disable-next-line regexp/no-useless-dollar-replacements -- false positive\n return ''.replace(re, '$') !== '7';\n});\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', function (_, nativeReplace, maybeCallNative) {\n var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\n return [\n // `String.prototype.replace` method\n // https://tc39.es/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var replacer = isNullOrUndefined(searchValue) ? undefined : getMethod(searchValue, REPLACE);\n return replacer\n ? call(replacer, searchValue, O, replaceValue)\n : call(nativeReplace, toString(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace\n function (string, replaceValue) {\n var rx = anObject(this);\n var S = toString(string);\n\n if (\n typeof replaceValue == 'string' &&\n stringIndexOf(replaceValue, UNSAFE_SUBSTITUTE) === -1 &&\n stringIndexOf(replaceValue, '$<') === -1\n ) {\n var res = maybeCallNative(nativeReplace, rx, S, replaceValue);\n if (res.done) return res.value;\n }\n\n var functionalReplace = isCallable(replaceValue);\n if (!functionalReplace) replaceValue = toString(replaceValue);\n\n var global = rx.global;\n var fullUnicode;\n if (global) {\n fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n\n var results = [];\n var result;\n while (true) {\n result = regExpExec(rx, S);\n if (result === null) break;\n\n push(results, result);\n if (!global) break;\n\n var matchStr = toString(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n\n var matched = toString(result[0]);\n var position = max(min(toIntegerOrInfinity(result.index), S.length), 0);\n var captures = [];\n var replacement;\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) push(captures, maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = concat([matched], captures, position, S);\n if (namedCaptures !== undefined) push(replacerArgs, namedCaptures);\n replacement = toString(apply(replaceValue, undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += stringSlice(S, nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n\n return accumulatedResult + stringSlice(S, nextSourcePosition);\n }\n ];\n}, !REPLACE_SUPPORTS_NAMED_GROUPS || !REPLACE_KEEPS_$0 || REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE);\n","'use strict';\nvar global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar DOMTokenListPrototype = require('../internals/dom-token-list-prototype');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nvar handlePrototype = function (CollectionPrototype, COLLECTION_NAME) {\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n setToStringTag(CollectionPrototype, COLLECTION_NAME, true);\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n};\n\nfor (var COLLECTION_NAME in DOMIterables) {\n handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype, COLLECTION_NAME);\n}\n\nhandlePrototype(DOMTokenListPrototype, 'DOMTokenList');\n","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nexport { _arrayLikeToArray as default };","function _assertThisInitialized(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n}\nexport { _assertThisInitialized as default };","function _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nexport { _classCallCheck as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(e, r) {\n for (var t = 0; t < r.length; t++) {\n var o = r[t];\n o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);\n }\n}\nfunction _createClass(e, r, t) {\n return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n writable: !1\n }), e;\n}\nexport { _createClass as default };","import toPropertyKey from \"./toPropertyKey.js\";\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}\nexport { _defineProperty as default };","function _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nexport { _extends as default };","import setPrototypeOf from \"./setPrototypeOf.js\";\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}\nexport { _inherits as default };","import setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _inheritsLoose(t, o) {\n t.prototype = Object.create(o.prototype), t.prototype.constructor = t, setPrototypeOf(t, o);\n}\nexport { _inheritsLoose as default };","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (e.indexOf(n) >= 0) continue;\n t[n] = r[n];\n }\n return t;\n}\nexport { _objectWithoutPropertiesLoose as default };","function _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}\nexport { _setPrototypeOf as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import _typeof from \"./typeof.js\";\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}\nexport { toPrimitive as default };","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nexport { _unsupportedIterableToArray as default };","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/\";","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nimport { AWS_CLOUDWATCH_CATEGORY } from '../Util/Constants';\nvar LOG_LEVELS = {\n VERBOSE: 1,\n DEBUG: 2,\n INFO: 3,\n WARN: 4,\n ERROR: 5,\n};\nexport var LOG_TYPE;\n(function (LOG_TYPE) {\n LOG_TYPE[\"DEBUG\"] = \"DEBUG\";\n LOG_TYPE[\"ERROR\"] = \"ERROR\";\n LOG_TYPE[\"INFO\"] = \"INFO\";\n LOG_TYPE[\"WARN\"] = \"WARN\";\n LOG_TYPE[\"VERBOSE\"] = \"VERBOSE\";\n})(LOG_TYPE || (LOG_TYPE = {}));\n/**\n * Write logs\n * @class Logger\n */\nexport var ConsoleLogger = /** @class */ (function () {\n /**\n * @constructor\n * @param {string} name - Name of the logger\n */\n function ConsoleLogger(name, level) {\n if (level === void 0) { level = LOG_TYPE.WARN; }\n this.name = name;\n this.level = level;\n this._pluggables = [];\n }\n ConsoleLogger.prototype._padding = function (n) {\n return n < 10 ? '0' + n : '' + n;\n };\n ConsoleLogger.prototype._ts = function () {\n var dt = new Date();\n return ([this._padding(dt.getMinutes()), this._padding(dt.getSeconds())].join(':') +\n '.' +\n dt.getMilliseconds());\n };\n ConsoleLogger.prototype.configure = function (config) {\n if (!config)\n return this._config;\n this._config = config;\n return this._config;\n };\n /**\n * Write log\n * @method\n * @memeberof Logger\n * @param {LOG_TYPE|string} type - log type, default INFO\n * @param {string|object} msg - Logging message or object\n */\n ConsoleLogger.prototype._log = function (type) {\n var e_1, _a;\n var msg = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n msg[_i - 1] = arguments[_i];\n }\n var logger_level_name = this.level;\n if (ConsoleLogger.LOG_LEVEL) {\n logger_level_name = ConsoleLogger.LOG_LEVEL;\n }\n if (typeof window !== 'undefined' && window.LOG_LEVEL) {\n logger_level_name = window.LOG_LEVEL;\n }\n var logger_level = LOG_LEVELS[logger_level_name];\n var type_level = LOG_LEVELS[type];\n if (!(type_level >= logger_level)) {\n // Do nothing if type is not greater than or equal to logger level (handle undefined)\n return;\n }\n var log = console.log.bind(console);\n if (type === LOG_TYPE.ERROR && console.error) {\n log = console.error.bind(console);\n }\n if (type === LOG_TYPE.WARN && console.warn) {\n log = console.warn.bind(console);\n }\n var prefix = \"[\".concat(type, \"] \").concat(this._ts(), \" \").concat(this.name);\n var message = '';\n if (msg.length === 1 && typeof msg[0] === 'string') {\n message = \"\".concat(prefix, \" - \").concat(msg[0]);\n log(message);\n }\n else if (msg.length === 1) {\n message = \"\".concat(prefix, \" \").concat(msg[0]);\n log(prefix, msg[0]);\n }\n else if (typeof msg[0] === 'string') {\n var obj = msg.slice(1);\n if (obj.length === 1) {\n obj = obj[0];\n }\n message = \"\".concat(prefix, \" - \").concat(msg[0], \" \").concat(obj);\n log(\"\".concat(prefix, \" - \").concat(msg[0]), obj);\n }\n else {\n message = \"\".concat(prefix, \" \").concat(msg);\n log(prefix, msg);\n }\n try {\n for (var _b = __values(this._pluggables), _c = _b.next(); !_c.done; _c = _b.next()) {\n var plugin = _c.value;\n var logEvent = { message: message, timestamp: Date.now() };\n plugin.pushLogs([logEvent]);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n };\n /**\n * Write General log. Default to INFO\n * @method\n * @memeberof Logger\n * @param {string|object} msg - Logging message or object\n */\n ConsoleLogger.prototype.log = function () {\n var msg = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n msg[_i] = arguments[_i];\n }\n this._log.apply(this, __spreadArray([LOG_TYPE.INFO], __read(msg), false));\n };\n /**\n * Write INFO log\n * @method\n * @memeberof Logger\n * @param {string|object} msg - Logging message or object\n */\n ConsoleLogger.prototype.info = function () {\n var msg = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n msg[_i] = arguments[_i];\n }\n this._log.apply(this, __spreadArray([LOG_TYPE.INFO], __read(msg), false));\n };\n /**\n * Write WARN log\n * @method\n * @memeberof Logger\n * @param {string|object} msg - Logging message or object\n */\n ConsoleLogger.prototype.warn = function () {\n var msg = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n msg[_i] = arguments[_i];\n }\n this._log.apply(this, __spreadArray([LOG_TYPE.WARN], __read(msg), false));\n };\n /**\n * Write ERROR log\n * @method\n * @memeberof Logger\n * @param {string|object} msg - Logging message or object\n */\n ConsoleLogger.prototype.error = function () {\n var msg = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n msg[_i] = arguments[_i];\n }\n this._log.apply(this, __spreadArray([LOG_TYPE.ERROR], __read(msg), false));\n };\n /**\n * Write DEBUG log\n * @method\n * @memeberof Logger\n * @param {string|object} msg - Logging message or object\n */\n ConsoleLogger.prototype.debug = function () {\n var msg = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n msg[_i] = arguments[_i];\n }\n this._log.apply(this, __spreadArray([LOG_TYPE.DEBUG], __read(msg), false));\n };\n /**\n * Write VERBOSE log\n * @method\n * @memeberof Logger\n * @param {string|object} msg - Logging message or object\n */\n ConsoleLogger.prototype.verbose = function () {\n var msg = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n msg[_i] = arguments[_i];\n }\n this._log.apply(this, __spreadArray([LOG_TYPE.VERBOSE], __read(msg), false));\n };\n ConsoleLogger.prototype.addPluggable = function (pluggable) {\n if (pluggable && pluggable.getCategoryName() === AWS_CLOUDWATCH_CATEGORY) {\n this._pluggables.push(pluggable);\n pluggable.configure(this._config);\n }\n };\n ConsoleLogger.prototype.listPluggables = function () {\n return this._pluggables;\n };\n ConsoleLogger.LOG_LEVEL = null;\n return ConsoleLogger;\n}());\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n// Logging constants\nvar AWS_CLOUDWATCH_BASE_BUFFER_SIZE = 26;\nvar AWS_CLOUDWATCH_MAX_BATCH_EVENT_SIZE = 1048576;\nvar AWS_CLOUDWATCH_MAX_EVENT_SIZE = 256000;\nvar AWS_CLOUDWATCH_CATEGORY = 'Logging';\nvar AWS_CLOUDWATCH_PROVIDER_NAME = 'AWSCloudWatch';\nvar NO_CREDS_ERROR_STRING = 'No credentials';\nvar RETRY_ERROR_CODES = [\n 'ResourceNotFoundException',\n 'InvalidSequenceTokenException',\n];\nexport { AWS_CLOUDWATCH_BASE_BUFFER_SIZE, AWS_CLOUDWATCH_CATEGORY, AWS_CLOUDWATCH_MAX_BATCH_EVENT_SIZE, AWS_CLOUDWATCH_MAX_EVENT_SIZE, AWS_CLOUDWATCH_PROVIDER_NAME, NO_CREDS_ERROR_STRING, RETRY_ERROR_CODES, };\n","var __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { ConsoleLogger as LoggerClass } from './Logger';\nvar logger = new LoggerClass('Amplify');\nvar AmplifyClass = /** @class */ (function () {\n function AmplifyClass() {\n // Everything that is `register`ed is tracked here\n this._components = [];\n this._config = {};\n // All modules (with `getModuleName()`) are stored here for dependency injection\n this._modules = {};\n // for backward compatibility to avoid breaking change\n // if someone is using like Amplify.Auth\n this.Auth = null;\n this.Analytics = null;\n this.API = null;\n this.Credentials = null;\n this.Storage = null;\n this.I18n = null;\n this.Cache = null;\n this.PubSub = null;\n this.Interactions = null;\n this.Pushnotification = null;\n this.UI = null;\n this.XR = null;\n this.Predictions = null;\n this.DataStore = null;\n this.Geo = null;\n this.Notifications = null;\n this.Logger = LoggerClass;\n this.ServiceWorker = null;\n }\n AmplifyClass.prototype.register = function (comp) {\n logger.debug('component registered in amplify', comp);\n this._components.push(comp);\n if (typeof comp.getModuleName === 'function') {\n this._modules[comp.getModuleName()] = comp;\n this[comp.getModuleName()] = comp;\n }\n else {\n logger.debug('no getModuleName method for component', comp);\n }\n // Finally configure this new component(category) loaded\n // With the new modularization changes in Amplify V3, all the Amplify\n // component are not loaded/registered right away but when they are\n // imported (and hence instantiated) in the client's app. This ensures\n // that all new components imported get correctly configured with the\n // configuration that Amplify.configure() was called with.\n comp.configure(this._config);\n };\n AmplifyClass.prototype.configure = function (config) {\n var _this = this;\n if (!config)\n return this._config;\n this._config = Object.assign(this._config, config);\n logger.debug('amplify config', this._config);\n // Dependency Injection via property-setting.\n // This avoids introducing a public method/interface/setter that's difficult to remove later.\n // Plus, it reduces `if` statements within the `constructor` and `configure` of each module\n Object.entries(this._modules).forEach(function (_a) {\n var _b = __read(_a, 2), Name = _b[0], comp = _b[1];\n // e.g. Auth.*\n Object.keys(comp).forEach(function (property) {\n // e.g. Auth[\"Credentials\"] = this._modules[\"Credentials\"] when set\n if (_this._modules[property]) {\n comp[property] = _this._modules[property];\n }\n });\n });\n this._components.map(function (comp) {\n comp.configure(_this._config);\n });\n return this._config;\n };\n AmplifyClass.prototype.addPluggable = function (pluggable) {\n if (pluggable &&\n pluggable['getCategory'] &&\n typeof pluggable['getCategory'] === 'function') {\n this._components.map(function (comp) {\n if (comp['addPluggable'] &&\n typeof comp['addPluggable'] === 'function') {\n comp.addPluggable(pluggable);\n }\n });\n }\n };\n return AmplifyClass;\n}());\nexport { AmplifyClass };\nexport var Amplify = new AmplifyClass();\n","export default function warn(s) {\n console.warn('[react-ga]', s);\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nvar _excluded = [\"to\", \"target\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport warn from '../utils/console/warn';\nvar NEWTAB = '_blank';\nvar MIDDLECLICK = 1;\n\nvar OutboundLink = /*#__PURE__*/function (_Component) {\n _inherits(OutboundLink, _Component);\n\n var _super = _createSuper(OutboundLink);\n\n function OutboundLink() {\n var _this;\n\n _classCallCheck(this, OutboundLink);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"handleClick\", function (event) {\n var _this$props = _this.props,\n target = _this$props.target,\n eventLabel = _this$props.eventLabel,\n to = _this$props.to,\n onClick = _this$props.onClick,\n trackerNames = _this$props.trackerNames;\n var eventMeta = {\n label: eventLabel\n };\n var sameTarget = target !== NEWTAB;\n var normalClick = !(event.ctrlKey || event.shiftKey || event.metaKey || event.button === MIDDLECLICK);\n\n if (sameTarget && normalClick) {\n event.preventDefault();\n OutboundLink.trackLink(eventMeta, function () {\n window.location.href = to;\n }, trackerNames);\n } else {\n OutboundLink.trackLink(eventMeta, function () {}, trackerNames);\n }\n\n if (onClick) {\n onClick(event);\n }\n });\n\n return _this;\n }\n\n _createClass(OutboundLink, [{\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n href = _this$props2.to,\n target = _this$props2.target,\n oldProps = _objectWithoutProperties(_this$props2, _excluded);\n\n var props = _objectSpread(_objectSpread({}, oldProps), {}, {\n target: target,\n href: href,\n onClick: this.handleClick\n });\n\n if (target === NEWTAB) {\n props.rel = \"\".concat(props.rel ? props.rel : '', \" noopener noreferrer\").trim();\n }\n\n delete props.eventLabel;\n delete props.trackerNames;\n return /*#__PURE__*/React.createElement('a', props);\n }\n }]);\n\n return OutboundLink;\n}(Component);\n\n_defineProperty(OutboundLink, \"trackLink\", function () {\n warn('ga tracking not enabled');\n});\n\nexport { OutboundLink as default };\nOutboundLink.propTypes = {\n eventLabel: PropTypes.string.isRequired,\n target: PropTypes.string,\n to: PropTypes.string,\n onClick: PropTypes.func,\n trackerNames: PropTypes.arrayOf(PropTypes.string)\n};\nOutboundLink.defaultProps = {\n target: null,\n to: null,\n onClick: null,\n trackerNames: null\n};","import warn from './console/warn';\nimport mightBeEmail from './mightBeEmail';\nvar redacted = 'REDACTED (Potential Email Address)';\nexport default function redactEmail(string) {\n if (mightBeEmail(string)) {\n warn('This arg looks like an email address, redacting.');\n return redacted;\n }\n\n return string;\n}","// GA strings need to have leading/trailing whitespace trimmed, and not all\n// browsers have String.prototoype.trim().\nexport default function trim(s) {\n return s && s.toString().replace(/^\\s+|\\s+$/g, '');\n}","/**\n * To Title Case 2.1 - http://individed.com/code/to-title-case/\n * Copyright 2008-2013 David Gouch. Licensed under the MIT License.\n * https://github.com/gouch/to-title-case\n */\nimport trim from './trim';\nvar smallWords = /^(a|an|and|as|at|but|by|en|for|if|in|nor|of|on|or|per|the|to|vs?\\.?|via)$/i; // test\n\nexport default function toTitleCase(string) {\n return trim(string).replace(/[A-Za-z0-9\\u00C0-\\u00FF]+[^\\s-]*/g, function (match, index, title) {\n if (index > 0 && index + match.length !== title.length && match.search(smallWords) > -1 && title.charAt(index - 2) !== ':' && (title.charAt(index + match.length) !== '-' || title.charAt(index - 1) === '-') && title.charAt(index - 1).search(/[^\\s-]/) < 0) {\n return match.toLowerCase();\n }\n\n if (match.substr(1).search(/[A-Z]|\\../) > -1) {\n return match;\n }\n\n return match.charAt(0).toUpperCase() + match.substr(1);\n });\n}","import redactEmail from './redactEmail';\nimport toTitleCase from './toTitleCase';\nexport default function format() {\n var s = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var titleCase = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var redactingEmail = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n\n var _str = s || '';\n\n if (titleCase) {\n _str = toTitleCase(s);\n }\n\n if (redactingEmail) {\n _str = redactEmail(_str);\n }\n\n return _str;\n}","// See if s could be an email address. We don't want to send personal data like email.\n// https://support.google.com/analytics/answer/2795983?hl=en\nexport default function mightBeEmail(s) {\n // There's no point trying to validate rfc822 fully, just look for ...@...\n return typeof s === 'string' && s.indexOf('@') !== -1;\n}","var isLoaded = false;\nexport default function (options) {\n if (isLoaded) return;\n isLoaded = true;\n var gaAddress = 'https://www.google-analytics.com/analytics.js';\n\n if (options && options.gaAddress) {\n gaAddress = options.gaAddress;\n } else if (options && options.debug) {\n gaAddress = 'https://www.google-analytics.com/analytics_debug.js';\n }\n\n var onerror = options && options.onerror; // https://developers.google.com/analytics/devguides/collection/analyticsjs/\n\n /* eslint-disable */\n\n (function (i, s, o, g, r, a, m) {\n i['GoogleAnalyticsObject'] = r;\n i[r] = i[r] || function () {\n (i[r].q = i[r].q || []).push(arguments);\n }, i[r].l = 1 * new Date();\n a = s.createElement(o), m = s.getElementsByTagName(o)[0];\n a.async = 1;\n a.src = g;\n a.onerror = onerror;\n m.parentNode.insertBefore(a, m);\n })(window, document, 'script', gaAddress, 'ga');\n /* eslint-enable */\n\n}","export default function log(s) {\n console.info('[react-ga]', s);\n}","export var gaCalls = [];\nexport default {\n calls: gaCalls,\n ga: function ga() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n gaCalls.push([].concat(args));\n },\n resetCalls: function resetCalls() {\n gaCalls.length = 0;\n }\n};","var _excluded = [\"category\", \"action\", \"label\", \"value\", \"nonInteraction\", \"transport\"];\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { 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\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n/**\n * React Google Analytics Module\n *\n * @package react-ga\n * @author Adam Lofting \n * Atul Varma \n */\n\n/**\n * Utilities\n */\nimport format from './utils/format';\nimport removeLeadingSlash from './utils/removeLeadingSlash';\nimport trim from './utils/trim';\nimport loadGA from './utils/loadGA';\nimport warn from './utils/console/warn';\nimport log from './utils/console/log';\nimport TestModeAPI from './utils/testModeAPI';\n\nvar _isNotBrowser = typeof window === 'undefined' || typeof document === 'undefined';\n\nvar _debug = false;\nvar _titleCase = true;\nvar _testMode = false;\nvar _alwaysSendToDefaultTracker = true;\nvar _redactEmail = true;\n\nvar internalGa = function internalGa() {\n var _window;\n\n if (_testMode) return TestModeAPI.ga.apply(TestModeAPI, arguments);\n if (_isNotBrowser) return false;\n if (!window.ga) return warn('ReactGA.initialize must be called first or GoogleAnalytics should be loaded manually');\n return (_window = window).ga.apply(_window, arguments);\n};\n\nfunction _format(s) {\n return format(s, _titleCase, _redactEmail);\n}\n\nfunction _gaCommand(trackerNames) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var command = args[0];\n\n if (typeof internalGa === 'function') {\n if (typeof command !== 'string') {\n warn('ga command must be a string');\n return;\n }\n\n if (_alwaysSendToDefaultTracker || !Array.isArray(trackerNames)) internalGa.apply(void 0, args);\n\n if (Array.isArray(trackerNames)) {\n trackerNames.forEach(function (name) {\n internalGa.apply(void 0, _toConsumableArray([\"\".concat(name, \".\").concat(command)].concat(args.slice(1))));\n });\n }\n }\n}\n\nfunction _initialize(gaTrackingID, options) {\n if (!gaTrackingID) {\n warn('gaTrackingID is required in initialize()');\n return;\n }\n\n if (options) {\n if (options.debug && options.debug === true) {\n _debug = true;\n }\n\n if (options.titleCase === false) {\n _titleCase = false;\n }\n\n if (options.redactEmail === false) {\n _redactEmail = false;\n }\n\n if (options.useExistingGa) {\n return;\n }\n }\n\n if (options && options.gaOptions) {\n internalGa('create', gaTrackingID, options.gaOptions);\n } else {\n internalGa('create', gaTrackingID, 'auto');\n }\n}\n\nexport function addTrackers(configsOrTrackingId, options) {\n if (Array.isArray(configsOrTrackingId)) {\n configsOrTrackingId.forEach(function (config) {\n if (_typeof(config) !== 'object') {\n warn('All configs must be an object');\n return;\n }\n\n _initialize(config.trackingId, config);\n });\n } else {\n _initialize(configsOrTrackingId, options);\n }\n\n return true;\n}\nexport function initialize(configsOrTrackingId, options) {\n if (options && options.testMode === true) {\n _testMode = true;\n } else {\n if (_isNotBrowser) {\n return;\n }\n\n if (!options || options.standardImplementation !== true) loadGA(options);\n }\n\n _alwaysSendToDefaultTracker = options && typeof options.alwaysSendToDefaultTracker === 'boolean' ? options.alwaysSendToDefaultTracker : true;\n addTrackers(configsOrTrackingId, options);\n}\n/**\n * ga:\n * Returns the original GA object.\n */\n\nexport function ga() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n if (args.length > 0) {\n internalGa.apply(void 0, args);\n\n if (_debug) {\n log(\"called ga('arguments');\");\n log(\"with arguments: \".concat(JSON.stringify(args)));\n }\n }\n\n return window.ga;\n}\n/**\n * set:\n * GA tracker set method\n * @param {Object} fieldsObject - a field/value pair or a group of field/value pairs on the tracker\n * @param {Array} trackerNames - (optional) a list of extra trackers to run the command on\n */\n\nexport function set(fieldsObject, trackerNames) {\n if (!fieldsObject) {\n warn('`fieldsObject` is required in .set()');\n return;\n }\n\n if (_typeof(fieldsObject) !== 'object') {\n warn('Expected `fieldsObject` arg to be an Object');\n return;\n }\n\n if (Object.keys(fieldsObject).length === 0) {\n warn('empty `fieldsObject` given to .set()');\n }\n\n _gaCommand(trackerNames, 'set', fieldsObject);\n\n if (_debug) {\n log(\"called ga('set', fieldsObject);\");\n log(\"with fieldsObject: \".concat(JSON.stringify(fieldsObject)));\n }\n}\n/**\n * send:\n * Clone of the low level `ga.send` method\n * WARNING: No validations will be applied to this\n * @param {Object} fieldObject - field object for tracking different analytics\n * @param {Array} trackerNames - trackers to send the command to\n * @param {Array} trackerNames - (optional) a list of extra trackers to run the command on\n */\n\nexport function send(fieldObject, trackerNames) {\n _gaCommand(trackerNames, 'send', fieldObject);\n\n if (_debug) {\n log(\"called ga('send', fieldObject);\");\n log(\"with fieldObject: \".concat(JSON.stringify(fieldObject)));\n log(\"with trackers: \".concat(JSON.stringify(trackerNames)));\n }\n}\n/**\n * pageview:\n * Basic GA pageview tracking\n * @param {String} path - the current page page e.g. '/about'\n * @param {Array} trackerNames - (optional) a list of extra trackers to run the command on\n * @param {String} title - (optional) the page title e. g. 'My Website'\n */\n\nexport function pageview(rawPath, trackerNames, title) {\n if (!rawPath) {\n warn('path is required in .pageview()');\n return;\n }\n\n var path = trim(rawPath);\n\n if (path === '') {\n warn('path cannot be an empty string in .pageview()');\n return;\n }\n\n var extraFields = {};\n\n if (title) {\n extraFields.title = title;\n }\n\n if (typeof ga === 'function') {\n _gaCommand(trackerNames, 'send', _objectSpread({\n hitType: 'pageview',\n page: path\n }, extraFields));\n\n if (_debug) {\n log(\"called ga('send', 'pageview', path);\");\n var extraLog = '';\n\n if (title) {\n extraLog = \" and title: \".concat(title);\n }\n\n log(\"with path: \".concat(path).concat(extraLog));\n }\n }\n}\n/**\n * modalview:\n * a proxy to basic GA pageview tracking to consistently track\n * modal views that are an equivalent UX to a traditional pageview\n * @param {String} modalName e.g. 'add-or-edit-club'\n * @param {Array} trackerNames - (optional) a list of extra trackers to run the command on\n */\n\nexport function modalview(rawModalName, trackerNames) {\n if (!rawModalName) {\n warn('modalName is required in .modalview(modalName)');\n return;\n }\n\n var modalName = removeLeadingSlash(trim(rawModalName));\n\n if (modalName === '') {\n warn('modalName cannot be an empty string or a single / in .modalview()');\n return;\n }\n\n if (typeof ga === 'function') {\n var path = \"/modal/\".concat(modalName);\n\n _gaCommand(trackerNames, 'send', 'pageview', path);\n\n if (_debug) {\n log(\"called ga('send', 'pageview', path);\");\n log(\"with path: \".concat(path));\n }\n }\n}\n/**\n * timing:\n * GA timing\n * @param args.category {String} required\n * @param args.variable {String} required\n * @param args.value {Int} required\n * @param args.label {String} required\n * @param {Array} trackerNames - (optional) a list of extra trackers to run the command on\n */\n\nexport function timing() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n category = _ref.category,\n variable = _ref.variable,\n value = _ref.value,\n label = _ref.label;\n\n var trackerNames = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n\n if (typeof ga === 'function') {\n if (!category || !variable || typeof value !== 'number') {\n warn('args.category, args.variable ' + 'AND args.value are required in timing() ' + 'AND args.value has to be a number');\n return;\n } // Required Fields\n\n\n var fieldObject = {\n hitType: 'timing',\n timingCategory: _format(category),\n timingVar: _format(variable),\n timingValue: value\n };\n\n if (label) {\n fieldObject.timingLabel = _format(label);\n }\n\n send(fieldObject, trackerNames);\n }\n}\n/**\n * event:\n * GA event tracking\n * @param args.category {String} required\n * @param args.action {String} required\n * @param args.label {String} optional\n * @param args.value {Int} optional\n * @param args.nonInteraction {boolean} optional\n * @param args.transport {string} optional\n * @param {{action: string, category: string}} trackerNames - (optional) a list of extra trackers to run the command on\n */\n\nexport function event() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n category = _ref2.category,\n action = _ref2.action,\n label = _ref2.label,\n value = _ref2.value,\n nonInteraction = _ref2.nonInteraction,\n transport = _ref2.transport,\n args = _objectWithoutProperties(_ref2, _excluded);\n\n var trackerNames = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;\n\n if (typeof ga === 'function') {\n // Simple Validation\n if (!category || !action) {\n warn('args.category AND args.action are required in event()');\n return;\n } // Required Fields\n\n\n var fieldObject = {\n hitType: 'event',\n eventCategory: _format(category),\n eventAction: _format(action)\n }; // Optional Fields\n\n if (label) {\n fieldObject.eventLabel = _format(label);\n }\n\n if (typeof value !== 'undefined') {\n if (typeof value !== 'number') {\n warn('Expected `args.value` arg to be a Number.');\n } else {\n fieldObject.eventValue = value;\n }\n }\n\n if (typeof nonInteraction !== 'undefined') {\n if (typeof nonInteraction !== 'boolean') {\n warn('`args.nonInteraction` must be a boolean.');\n } else {\n fieldObject.nonInteraction = nonInteraction;\n }\n }\n\n if (typeof transport !== 'undefined') {\n if (typeof transport !== 'string') {\n warn('`args.transport` must be a string.');\n } else {\n if (['beacon', 'xhr', 'image'].indexOf(transport) === -1) {\n warn('`args.transport` must be either one of these values: `beacon`, `xhr` or `image`');\n }\n\n fieldObject.transport = transport;\n }\n }\n\n Object.keys(args).filter(function (key) {\n return key.substr(0, 'dimension'.length) === 'dimension';\n }).forEach(function (key) {\n fieldObject[key] = args[key];\n });\n Object.keys(args).filter(function (key) {\n return key.substr(0, 'metric'.length) === 'metric';\n }).forEach(function (key) {\n fieldObject[key] = args[key];\n }); // Send to GA\n\n send(fieldObject, trackerNames);\n }\n}\n/**\n * exception:\n * GA exception tracking\n * @param args.description {String} optional\n * @param args.fatal {boolean} optional\n * @param {Array} trackerNames - (optional) a list of extra trackers to run the command on\n */\n\nexport function exception(_ref3, trackerNames) {\n var description = _ref3.description,\n fatal = _ref3.fatal;\n\n if (typeof ga === 'function') {\n // Required Fields\n var fieldObject = {\n hitType: 'exception'\n }; // Optional Fields\n\n if (description) {\n fieldObject.exDescription = _format(description);\n }\n\n if (typeof fatal !== 'undefined') {\n if (typeof fatal !== 'boolean') {\n warn('`args.fatal` must be a boolean.');\n } else {\n fieldObject.exFatal = fatal;\n }\n } // Send to GA\n\n\n send(fieldObject, trackerNames);\n }\n}\nexport var plugin = {\n /**\n * require:\n * GA requires a plugin\n * @param name {String} e.g. 'ecommerce' or 'myplugin'\n * @param options {Object} optional e.g {path: '/log', debug: true}\n * @param trackerName {String} optional e.g 'trackerName'\n */\n require: function require(rawName, options, trackerName) {\n if (typeof ga === 'function') {\n // Required Fields\n if (!rawName) {\n warn('`name` is required in .require()');\n return;\n }\n\n var name = trim(rawName);\n\n if (name === '') {\n warn('`name` cannot be an empty string in .require()');\n return;\n }\n\n var requireString = trackerName ? \"\".concat(trackerName, \".require\") : 'require'; // Optional Fields\n\n if (options) {\n if (_typeof(options) !== 'object') {\n warn('Expected `options` arg to be an Object');\n return;\n }\n\n if (Object.keys(options).length === 0) {\n warn('Empty `options` given to .require()');\n }\n\n ga(requireString, name, options);\n\n if (_debug) {\n log(\"called ga('require', '\".concat(name, \"', \").concat(JSON.stringify(options)));\n }\n } else {\n ga(requireString, name);\n\n if (_debug) {\n log(\"called ga('require', '\".concat(name, \"');\"));\n }\n }\n }\n },\n\n /**\n * execute:\n * GA execute action for plugin\n * Takes variable number of arguments\n * @param pluginName {String} e.g. 'ecommerce' or 'myplugin'\n * @param action {String} e.g. 'addItem' or 'myCustomAction'\n * @param actionType {String} optional e.g. 'detail'\n * @param payload {Object} optional e.g { id: '1x5e', name : 'My product to track' }\n */\n execute: function execute(pluginName, action) {\n var payload;\n var actionType;\n\n for (var _len3 = arguments.length, args = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n args[_key3 - 2] = arguments[_key3];\n }\n\n if (args.length === 1) {\n payload = args[0];\n } else {\n actionType = args[0];\n payload = args[1];\n }\n\n if (typeof ga === 'function') {\n if (typeof pluginName !== 'string') {\n warn('Expected `pluginName` arg to be a String.');\n } else if (typeof action !== 'string') {\n warn('Expected `action` arg to be a String.');\n } else {\n var command = \"\".concat(pluginName, \":\").concat(action);\n payload = payload || null;\n\n if (actionType && payload) {\n ga(command, actionType, payload);\n\n if (_debug) {\n log(\"called ga('\".concat(command, \"');\"));\n log(\"actionType: \\\"\".concat(actionType, \"\\\" with payload: \").concat(JSON.stringify(payload)));\n }\n } else if (payload) {\n ga(command, payload);\n\n if (_debug) {\n log(\"called ga('\".concat(command, \"');\"));\n log(\"with payload: \".concat(JSON.stringify(payload)));\n }\n } else {\n ga(command);\n\n if (_debug) {\n log(\"called ga('\".concat(command, \"');\"));\n }\n }\n }\n }\n }\n};\n/**\n * outboundLink:\n * GA outboundLink tracking\n * @param args.label {String} e.g. url, or 'Create an Account'\n * @param {function} hitCallback - Called after processing a hit.\n */\n\nexport function outboundLink(args, hitCallback, trackerNames) {\n if (typeof hitCallback !== 'function') {\n warn('hitCallback function is required');\n return;\n }\n\n if (typeof ga === 'function') {\n // Simple Validation\n if (!args || !args.label) {\n warn('args.label is required in outboundLink()');\n return;\n } // Required Fields\n\n\n var fieldObject = {\n hitType: 'event',\n eventCategory: 'Outbound',\n eventAction: 'Click',\n eventLabel: _format(args.label)\n };\n var safetyCallbackCalled = false;\n\n var safetyCallback = function safetyCallback() {\n // This prevents a delayed response from GA\n // causing hitCallback from being fired twice\n safetyCallbackCalled = true;\n hitCallback();\n }; // Using a timeout to ensure the execution of critical application code\n // in the case when the GA server might be down\n // or an ad blocker prevents sending the data\n // register safety net timeout:\n\n\n var t = setTimeout(safetyCallback, 250);\n\n var clearableCallbackForGA = function clearableCallbackForGA() {\n clearTimeout(t);\n\n if (!safetyCallbackCalled) {\n hitCallback();\n }\n };\n\n fieldObject.hitCallback = clearableCallbackForGA; // Send to GA\n\n send(fieldObject, trackerNames);\n } else {\n // if ga is not defined, return the callback so the application\n // continues to work as expected\n setTimeout(hitCallback, 0);\n }\n}\nexport var testModeAPI = TestModeAPI;\nexport default {\n initialize: initialize,\n ga: ga,\n set: set,\n send: send,\n pageview: pageview,\n modalview: modalview,\n timing: timing,\n event: event,\n exception: exception,\n plugin: plugin,\n outboundLink: outboundLink,\n testModeAPI: TestModeAPI\n};","export default function removeLeadingSlash(string) {\n if (string.substring(0, 1) === '/') {\n return string.substring(1);\n }\n\n return string;\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport UnboundOutboundLink from './components/OutboundLink';\nimport * as Defaults from './core';\nvar initialize = Defaults.initialize;\nexport { initialize };\nvar addTrackers = Defaults.addTrackers;\nexport { addTrackers };\nvar ga = Defaults.ga;\nexport { ga };\nvar set = Defaults.set;\nexport { set };\nvar send = Defaults.send;\nexport { send };\nvar pageview = Defaults.pageview;\nexport { pageview };\nvar modalview = Defaults.modalview;\nexport { modalview };\nvar timing = Defaults.timing;\nexport { timing };\nvar event = Defaults.event;\nexport { event };\nvar exception = Defaults.exception;\nexport { exception };\nvar plugin = Defaults.plugin;\nexport { plugin };\nvar outboundLink = Defaults.outboundLink;\nexport { outboundLink };\nvar testModeAPI = Defaults.testModeAPI;\nexport { testModeAPI };\nUnboundOutboundLink.origTrackLink = UnboundOutboundLink.trackLink;\nUnboundOutboundLink.trackLink = Defaults.outboundLink;\nexport var OutboundLink = UnboundOutboundLink;\nexport default _objectSpread(_objectSpread({}, Defaults), {}, {\n OutboundLink: OutboundLink\n});","function isAbsolute(pathname) {\n return pathname.charAt(0) === '/';\n}\n\n// About 1.5x faster than the two-arg version of Array#splice()\nfunction spliceOne(list, index) {\n for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1) {\n list[i] = list[k];\n }\n\n list.pop();\n}\n\n// This implementation is based heavily on node's url.parse\nfunction resolvePathname(to, from) {\n if (from === undefined) from = '';\n\n var toParts = (to && to.split('/')) || [];\n var fromParts = (from && from.split('/')) || [];\n\n var isToAbs = to && isAbsolute(to);\n var isFromAbs = from && isAbsolute(from);\n var mustEndAbs = isToAbs || isFromAbs;\n\n if (to && isAbsolute(to)) {\n // to is absolute\n fromParts = toParts;\n } else if (toParts.length) {\n // to is relative, drop the filename\n fromParts.pop();\n fromParts = fromParts.concat(toParts);\n }\n\n if (!fromParts.length) return '/';\n\n var hasTrailingSlash;\n if (fromParts.length) {\n var last = fromParts[fromParts.length - 1];\n hasTrailingSlash = last === '.' || last === '..' || last === '';\n } else {\n hasTrailingSlash = false;\n }\n\n var up = 0;\n for (var i = fromParts.length; i >= 0; i--) {\n var part = fromParts[i];\n\n if (part === '.') {\n spliceOne(fromParts, i);\n } else if (part === '..') {\n spliceOne(fromParts, i);\n up++;\n } else if (up) {\n spliceOne(fromParts, i);\n up--;\n }\n }\n\n if (!mustEndAbs) for (; up--; up) fromParts.unshift('..');\n\n if (\n mustEndAbs &&\n fromParts[0] !== '' &&\n (!fromParts[0] || !isAbsolute(fromParts[0]))\n )\n fromParts.unshift('');\n\n var result = fromParts.join('/');\n\n if (hasTrailingSlash && result.substr(-1) !== '/') result += '/';\n\n return result;\n}\n\nexport default resolvePathname;\n","function valueOf(obj) {\n return obj.valueOf ? obj.valueOf() : Object.prototype.valueOf.call(obj);\n}\n\nfunction valueEqual(a, b) {\n // Test for strict equality first.\n if (a === b) return true;\n\n // Otherwise, if either of them == null they are not equal.\n if (a == null || b == null) return false;\n\n if (Array.isArray(a)) {\n return (\n Array.isArray(b) &&\n a.length === b.length &&\n a.every(function(item, index) {\n return valueEqual(item, b[index]);\n })\n );\n }\n\n if (typeof a === 'object' || typeof b === 'object') {\n var aValue = valueOf(a);\n var bValue = valueOf(b);\n\n if (aValue !== a || bValue !== b) return valueEqual(aValue, bValue);\n\n return Object.keys(Object.assign({}, a, b)).every(function(key) {\n return valueEqual(a[key], b[key]);\n });\n }\n\n return false;\n}\n\nexport default valueEqual;\n","var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n if (isProduction) {\n throw new Error(prefix);\n }\n var provided = typeof message === 'function' ? message() : message;\n var value = provided ? \"\".concat(prefix, \": \").concat(provided) : prefix;\n throw new Error(value);\n}\n\nexport { invariant as default };\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport resolvePathname from 'resolve-pathname';\nimport valueEqual from 'value-equal';\nimport warning from 'tiny-warning';\nimport invariant from 'tiny-invariant';\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === '/' ? path : '/' + path;\n}\nfunction stripLeadingSlash(path) {\n return path.charAt(0) === '/' ? path.substr(1) : path;\n}\nfunction hasBasename(path, prefix) {\n return path.toLowerCase().indexOf(prefix.toLowerCase()) === 0 && '/?#'.indexOf(path.charAt(prefix.length)) !== -1;\n}\nfunction stripBasename(path, prefix) {\n return hasBasename(path, prefix) ? path.substr(prefix.length) : path;\n}\nfunction stripTrailingSlash(path) {\n return path.charAt(path.length - 1) === '/' ? path.slice(0, -1) : path;\n}\nfunction parsePath(path) {\n var pathname = path || '/';\n var search = '';\n var hash = '';\n var hashIndex = pathname.indexOf('#');\n\n if (hashIndex !== -1) {\n hash = pathname.substr(hashIndex);\n pathname = pathname.substr(0, hashIndex);\n }\n\n var searchIndex = pathname.indexOf('?');\n\n if (searchIndex !== -1) {\n search = pathname.substr(searchIndex);\n pathname = pathname.substr(0, searchIndex);\n }\n\n return {\n pathname: pathname,\n search: search === '?' ? '' : search,\n hash: hash === '#' ? '' : hash\n };\n}\nfunction createPath(location) {\n var pathname = location.pathname,\n search = location.search,\n hash = location.hash;\n var path = pathname || '/';\n if (search && search !== '?') path += search.charAt(0) === '?' ? search : \"?\" + search;\n if (hash && hash !== '#') path += hash.charAt(0) === '#' ? hash : \"#\" + hash;\n return path;\n}\n\nfunction createLocation(path, state, key, currentLocation) {\n var location;\n\n if (typeof path === 'string') {\n // Two-arg form: push(path, state)\n location = parsePath(path);\n location.state = state;\n } else {\n // One-arg form: push(location)\n location = _extends({}, path);\n if (location.pathname === undefined) location.pathname = '';\n\n if (location.search) {\n if (location.search.charAt(0) !== '?') location.search = '?' + location.search;\n } else {\n location.search = '';\n }\n\n if (location.hash) {\n if (location.hash.charAt(0) !== '#') location.hash = '#' + location.hash;\n } else {\n location.hash = '';\n }\n\n if (state !== undefined && location.state === undefined) location.state = state;\n }\n\n try {\n location.pathname = decodeURI(location.pathname);\n } catch (e) {\n if (e instanceof URIError) {\n throw new URIError('Pathname \"' + location.pathname + '\" could not be decoded. ' + 'This is likely caused by an invalid percent-encoding.');\n } else {\n throw e;\n }\n }\n\n if (key) location.key = key;\n\n if (currentLocation) {\n // Resolve incomplete/relative pathname relative to current location.\n if (!location.pathname) {\n location.pathname = currentLocation.pathname;\n } else if (location.pathname.charAt(0) !== '/') {\n location.pathname = resolvePathname(location.pathname, currentLocation.pathname);\n }\n } else {\n // When there is no prior location and pathname is empty, set it to /\n if (!location.pathname) {\n location.pathname = '/';\n }\n }\n\n return location;\n}\nfunction locationsAreEqual(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash && a.key === b.key && valueEqual(a.state, b.state);\n}\n\nfunction createTransitionManager() {\n var prompt = null;\n\n function setPrompt(nextPrompt) {\n process.env.NODE_ENV !== \"production\" ? warning(prompt == null, 'A history supports only one prompt at a time') : void 0;\n prompt = nextPrompt;\n return function () {\n if (prompt === nextPrompt) prompt = null;\n };\n }\n\n function confirmTransitionTo(location, action, getUserConfirmation, callback) {\n // TODO: If another transition starts while we're still confirming\n // the previous one, we may end up in a weird state. Figure out the\n // best way to handle this.\n if (prompt != null) {\n var result = typeof prompt === 'function' ? prompt(location, action) : prompt;\n\n if (typeof result === 'string') {\n if (typeof getUserConfirmation === 'function') {\n getUserConfirmation(result, callback);\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'A history needs a getUserConfirmation function in order to use a prompt message') : void 0;\n callback(true);\n }\n } else {\n // Return false from a transition hook to cancel the transition.\n callback(result !== false);\n }\n } else {\n callback(true);\n }\n }\n\n var listeners = [];\n\n function appendListener(fn) {\n var isActive = true;\n\n function listener() {\n if (isActive) fn.apply(void 0, arguments);\n }\n\n listeners.push(listener);\n return function () {\n isActive = false;\n listeners = listeners.filter(function (item) {\n return item !== listener;\n });\n };\n }\n\n function notifyListeners() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n listeners.forEach(function (listener) {\n return listener.apply(void 0, args);\n });\n }\n\n return {\n setPrompt: setPrompt,\n confirmTransitionTo: confirmTransitionTo,\n appendListener: appendListener,\n notifyListeners: notifyListeners\n };\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nfunction getConfirmation(message, callback) {\n callback(window.confirm(message)); // eslint-disable-line no-alert\n}\n/**\n * Returns true if the HTML5 history API is supported. Taken from Modernizr.\n *\n * https://github.com/Modernizr/Modernizr/blob/master/LICENSE\n * https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js\n * changed to avoid false negatives for Windows Phones: https://github.com/reactjs/react-router/issues/586\n */\n\nfunction supportsHistory() {\n var ua = window.navigator.userAgent;\n if ((ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) && ua.indexOf('Mobile Safari') !== -1 && ua.indexOf('Chrome') === -1 && ua.indexOf('Windows Phone') === -1) return false;\n return window.history && 'pushState' in window.history;\n}\n/**\n * Returns true if browser fires popstate on hash change.\n * IE10 and IE11 do not.\n */\n\nfunction supportsPopStateOnHashChange() {\n return window.navigator.userAgent.indexOf('Trident') === -1;\n}\n/**\n * Returns false if using go(n) with hash history causes a full page reload.\n */\n\nfunction supportsGoWithoutReloadUsingHash() {\n return window.navigator.userAgent.indexOf('Firefox') === -1;\n}\n/**\n * Returns true if a given popstate event is an extraneous WebKit event.\n * Accounts for the fact that Chrome on iOS fires real popstate events\n * containing undefined state when pressing the back button.\n */\n\nfunction isExtraneousPopstateEvent(event) {\n return event.state === undefined && navigator.userAgent.indexOf('CriOS') === -1;\n}\n\nvar PopStateEvent = 'popstate';\nvar HashChangeEvent = 'hashchange';\n\nfunction getHistoryState() {\n try {\n return window.history.state || {};\n } catch (e) {\n // IE 11 sometimes throws when accessing window.history.state\n // See https://github.com/ReactTraining/history/pull/289\n return {};\n }\n}\n/**\n * Creates a history object that uses the HTML5 history API including\n * pushState, replaceState, and the popstate event.\n */\n\n\nfunction createBrowserHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Browser history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canUseHistory = supportsHistory();\n var needsHashChangeListener = !supportsPopStateOnHashChange();\n var _props = props,\n _props$forceRefresh = _props.forceRefresh,\n forceRefresh = _props$forceRefresh === void 0 ? false : _props$forceRefresh,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n\n function getDOMLocation(historyState) {\n var _ref = historyState || {},\n key = _ref.key,\n state = _ref.state;\n\n var _window$location = window.location,\n pathname = _window$location.pathname,\n search = _window$location.search,\n hash = _window$location.hash;\n var path = pathname + search + hash;\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path, state, key);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function handlePopState(event) {\n // Ignore extraneous popstate events in WebKit.\n if (isExtraneousPopstateEvent(event)) return;\n handlePop(getDOMLocation(event.state));\n }\n\n function handleHashChange() {\n handlePop(getDOMLocation(getHistoryState()));\n }\n\n var forceNextPop = false;\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of keys we've seen in sessionStorage.\n // Instead, we just default to 0 for keys we don't know.\n\n var toIndex = allKeys.indexOf(toLocation.key);\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allKeys.indexOf(fromLocation.key);\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n }\n\n var initialLocation = getDOMLocation(getHistoryState());\n var allKeys = [initialLocation.key]; // Public interface\n\n function createHref(location) {\n return basename + createPath(location);\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.pushState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.href = href;\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n var nextKeys = allKeys.slice(0, prevIndex + 1);\n nextKeys.push(location.key);\n allKeys = nextKeys;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot push state in browsers that do not support HTML5 history') : void 0;\n window.location.href = href;\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.replaceState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.replace(href);\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n if (prevIndex !== -1) allKeys[prevIndex] = location.key;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot replace state in browsers that do not support HTML5 history') : void 0;\n window.location.replace(href);\n }\n });\n }\n\n function go(n) {\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.addEventListener(HashChangeEvent, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.removeEventListener(HashChangeEvent, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nvar HashChangeEvent$1 = 'hashchange';\nvar HashPathCoders = {\n hashbang: {\n encodePath: function encodePath(path) {\n return path.charAt(0) === '!' ? path : '!/' + stripLeadingSlash(path);\n },\n decodePath: function decodePath(path) {\n return path.charAt(0) === '!' ? path.substr(1) : path;\n }\n },\n noslash: {\n encodePath: stripLeadingSlash,\n decodePath: addLeadingSlash\n },\n slash: {\n encodePath: addLeadingSlash,\n decodePath: addLeadingSlash\n }\n};\n\nfunction stripHash(url) {\n var hashIndex = url.indexOf('#');\n return hashIndex === -1 ? url : url.slice(0, hashIndex);\n}\n\nfunction getHashPath() {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var hashIndex = href.indexOf('#');\n return hashIndex === -1 ? '' : href.substring(hashIndex + 1);\n}\n\nfunction pushHashPath(path) {\n window.location.hash = path;\n}\n\nfunction replaceHashPath(path) {\n window.location.replace(stripHash(window.location.href) + '#' + path);\n}\n\nfunction createHashHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Hash history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canGoWithoutReload = supportsGoWithoutReloadUsingHash();\n var _props = props,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$hashType = _props.hashType,\n hashType = _props$hashType === void 0 ? 'slash' : _props$hashType;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n var _HashPathCoders$hashT = HashPathCoders[hashType],\n encodePath = _HashPathCoders$hashT.encodePath,\n decodePath = _HashPathCoders$hashT.decodePath;\n\n function getDOMLocation() {\n var path = decodePath(getHashPath());\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n var forceNextPop = false;\n var ignorePath = null;\n\n function locationsAreEqual$$1(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash;\n }\n\n function handleHashChange() {\n var path = getHashPath();\n var encodedPath = encodePath(path);\n\n if (path !== encodedPath) {\n // Ensure we always have a properly-encoded hash.\n replaceHashPath(encodedPath);\n } else {\n var location = getDOMLocation();\n var prevLocation = history.location;\n if (!forceNextPop && locationsAreEqual$$1(prevLocation, location)) return; // A hashchange doesn't always == location change.\n\n if (ignorePath === createPath(location)) return; // Ignore this change; we already setState in push/replace.\n\n ignorePath = null;\n handlePop(location);\n }\n }\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of paths we've seen in sessionStorage.\n // Instead, we just default to 0 for paths we don't know.\n\n var toIndex = allPaths.lastIndexOf(createPath(toLocation));\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allPaths.lastIndexOf(createPath(fromLocation));\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n } // Ensure the hash is encoded properly before doing anything else.\n\n\n var path = getHashPath();\n var encodedPath = encodePath(path);\n if (path !== encodedPath) replaceHashPath(encodedPath);\n var initialLocation = getDOMLocation();\n var allPaths = [createPath(initialLocation)]; // Public interface\n\n function createHref(location) {\n var baseTag = document.querySelector('base');\n var href = '';\n\n if (baseTag && baseTag.getAttribute('href')) {\n href = stripHash(window.location.href);\n }\n\n return href + '#' + encodePath(basename + createPath(location));\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot push state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a PUSH, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n pushHashPath(encodedPath);\n var prevIndex = allPaths.lastIndexOf(createPath(history.location));\n var nextPaths = allPaths.slice(0, prevIndex + 1);\n nextPaths.push(path);\n allPaths = nextPaths;\n setState({\n action: action,\n location: location\n });\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'Hash history cannot PUSH the same path; a new entry will not be added to the history stack') : void 0;\n setState();\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot replace state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a REPLACE, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n replaceHashPath(encodedPath);\n }\n\n var prevIndex = allPaths.indexOf(createPath(history.location));\n if (prevIndex !== -1) allPaths[prevIndex] = path;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n process.env.NODE_ENV !== \"production\" ? warning(canGoWithoutReload, 'Hash history go(n) causes a full page reload in this browser') : void 0;\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(HashChangeEvent$1, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(HashChangeEvent$1, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nfunction clamp(n, lowerBound, upperBound) {\n return Math.min(Math.max(n, lowerBound), upperBound);\n}\n/**\n * Creates a history object that stores locations in memory.\n */\n\n\nfunction createMemoryHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n var _props = props,\n getUserConfirmation = _props.getUserConfirmation,\n _props$initialEntries = _props.initialEntries,\n initialEntries = _props$initialEntries === void 0 ? ['/'] : _props$initialEntries,\n _props$initialIndex = _props.initialIndex,\n initialIndex = _props$initialIndex === void 0 ? 0 : _props$initialIndex,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = history.entries.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var index = clamp(initialIndex, 0, initialEntries.length - 1);\n var entries = initialEntries.map(function (entry) {\n return typeof entry === 'string' ? createLocation(entry, undefined, createKey()) : createLocation(entry, undefined, entry.key || createKey());\n }); // Public interface\n\n var createHref = createPath;\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var prevIndex = history.index;\n var nextIndex = prevIndex + 1;\n var nextEntries = history.entries.slice(0);\n\n if (nextEntries.length > nextIndex) {\n nextEntries.splice(nextIndex, nextEntries.length - nextIndex, location);\n } else {\n nextEntries.push(location);\n }\n\n setState({\n action: action,\n location: location,\n index: nextIndex,\n entries: nextEntries\n });\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n history.entries[history.index] = location;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n var nextIndex = clamp(history.index + n, 0, history.entries.length - 1);\n var action = 'POP';\n var location = history.entries[nextIndex];\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location,\n index: nextIndex\n });\n } else {\n // Mimic the behavior of DOM histories by\n // causing a render after a cancelled POP.\n setState();\n }\n });\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n function canGo(n) {\n var nextIndex = history.index + n;\n return nextIndex >= 0 && nextIndex < history.entries.length;\n }\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n return transitionManager.setPrompt(prompt);\n }\n\n function listen(listener) {\n return transitionManager.appendListener(listener);\n }\n\n var history = {\n length: entries.length,\n action: 'POP',\n location: entries[index],\n index: index,\n entries: entries,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n canGo: canGo,\n block: block,\n listen: listen\n };\n return history;\n}\n\nexport { createBrowserHistory, createHashHistory, createMemoryHistory, createLocation, locationsAreEqual, parsePath, createPath };\n","// MIT License\n// Copyright (c) 2019-present StringEpsilon \n// Copyright (c) 2017-2019 James Kyle \n// https://github.com/StringEpsilon/mini-create-react-context\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\nconst MAX_SIGNED_31_BIT_INT = 1073741823;\n\nconst commonjsGlobal =\n typeof globalThis !== \"undefined\" // 'global proper'\n ? // eslint-disable-next-line no-undef\n globalThis\n : typeof window !== \"undefined\"\n ? window // Browser\n : typeof global !== \"undefined\"\n ? global // node.js\n : {};\n\nfunction getUniqueId() {\n let key = \"__global_unique_id__\";\n return (commonjsGlobal[key] = (commonjsGlobal[key] || 0) + 1);\n}\n\n// Inlined Object.is polyfill.\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\nfunction objectIs(x, y) {\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // eslint-disable-next-line no-self-compare\n return x !== x && y !== y;\n }\n}\n\nfunction createEventEmitter(value) {\n let handlers = [];\n return {\n on(handler) {\n handlers.push(handler);\n },\n\n off(handler) {\n handlers = handlers.filter(h => h !== handler);\n },\n\n get() {\n return value;\n },\n\n set(newValue, changedBits) {\n value = newValue;\n handlers.forEach(handler => handler(value, changedBits));\n }\n };\n}\n\nfunction onlyChild(children) {\n return Array.isArray(children) ? children[0] : children;\n}\n\nexport default function createReactContext(defaultValue, calculateChangedBits) {\n const contextProp = \"__create-react-context-\" + getUniqueId() + \"__\";\n\n class Provider extends React.Component {\n emitter = createEventEmitter(this.props.value);\n\n static childContextTypes = {\n [contextProp]: PropTypes.object.isRequired\n };\n\n getChildContext() {\n return {\n [contextProp]: this.emitter\n };\n }\n\n componentWillReceiveProps(nextProps) {\n if (this.props.value !== nextProps.value) {\n let oldValue = this.props.value;\n let newValue = nextProps.value;\n let changedBits;\n\n if (objectIs(oldValue, newValue)) {\n changedBits = 0; // No change\n } else {\n changedBits =\n typeof calculateChangedBits === \"function\"\n ? calculateChangedBits(oldValue, newValue)\n : MAX_SIGNED_31_BIT_INT;\n if (process.env.NODE_ENV !== \"production\") {\n warning(\n (changedBits & MAX_SIGNED_31_BIT_INT) === changedBits,\n \"calculateChangedBits: Expected the return value to be a \" +\n \"31-bit integer. Instead received: \" +\n changedBits\n );\n }\n\n changedBits |= 0;\n\n if (changedBits !== 0) {\n this.emitter.set(nextProps.value, changedBits);\n }\n }\n }\n }\n\n render() {\n return this.props.children;\n }\n }\n\n class Consumer extends React.Component {\n static contextTypes = {\n [contextProp]: PropTypes.object\n };\n\n observedBits;\n\n state = {\n value: this.getValue()\n };\n\n componentWillReceiveProps(nextProps) {\n let { observedBits } = nextProps;\n this.observedBits =\n observedBits === undefined || observedBits === null\n ? MAX_SIGNED_31_BIT_INT // Subscribe to all changes by default\n : observedBits;\n }\n\n componentDidMount() {\n if (this.context[contextProp]) {\n this.context[contextProp].on(this.onUpdate);\n }\n let { observedBits } = this.props;\n this.observedBits =\n observedBits === undefined || observedBits === null\n ? MAX_SIGNED_31_BIT_INT // Subscribe to all changes by default\n : observedBits;\n }\n\n componentWillUnmount() {\n if (this.context[contextProp]) {\n this.context[contextProp].off(this.onUpdate);\n }\n }\n\n getValue() {\n if (this.context[contextProp]) {\n return this.context[contextProp].get();\n } else {\n return defaultValue;\n }\n }\n\n onUpdate = (newValue, changedBits) => {\n const observedBits = this.observedBits | 0;\n if ((observedBits & changedBits) !== 0) {\n this.setState({ value: this.getValue() });\n }\n };\n\n render() {\n return onlyChild(this.props.children)(this.state.value);\n }\n }\n\n return {\n Provider,\n Consumer\n };\n}\n","// MIT License\n// Copyright (c) 2019-present StringEpsilon \n// Copyright (c) 2017-2019 James Kyle \n// https://github.com/StringEpsilon/mini-create-react-context\nimport React from \"react\";\nimport createReactContext from \"./miniCreateReactContext\";\n\nexport default React.createContext || createReactContext;\n","// TODO: Replace with React.createContext once we can assume React 16+\nimport createContext from \"./createContext\";\n\nconst createNamedContext = name => {\n const context = createContext();\n context.displayName = name;\n\n return context;\n};\n\nexport default createNamedContext;\n","import createNamedContext from \"./createNamedContext\";\n\nconst historyContext = /*#__PURE__*/ createNamedContext(\"Router-History\");\nexport default historyContext;\n","import createNamedContext from \"./createNamedContext\";\n\nconst context = /*#__PURE__*/ createNamedContext(\"Router\");\nexport default context;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\nimport HistoryContext from \"./HistoryContext.js\";\nimport RouterContext from \"./RouterContext.js\";\n\n/**\n * The public API for putting history on context.\n */\nclass Router extends React.Component {\n static computeRootMatch(pathname) {\n return { path: \"/\", url: \"/\", params: {}, isExact: pathname === \"/\" };\n }\n\n constructor(props) {\n super(props);\n\n this.state = {\n location: props.history.location\n };\n\n // This is a bit of a hack. We have to start listening for location\n // changes here in the constructor in case there are any s\n // on the initial render. If there are, they will replace/push when\n // they mount and since cDM fires in children before parents, we may\n // get a new location before the is mounted.\n this._isMounted = false;\n this._pendingLocation = null;\n\n if (!props.staticContext) {\n this.unlisten = props.history.listen(location => {\n this._pendingLocation = location;\n });\n }\n }\n\n componentDidMount() {\n this._isMounted = true;\n\n if (this.unlisten) {\n // Any pre-mount location changes have been captured at\n // this point, so unregister the listener.\n this.unlisten();\n }\n if (!this.props.staticContext) {\n this.unlisten = this.props.history.listen(location => {\n if (this._isMounted) {\n this.setState({ location });\n }\n });\n }\n if (this._pendingLocation) {\n this.setState({ location: this._pendingLocation });\n }\n }\n\n componentWillUnmount() {\n if (this.unlisten) {\n this.unlisten();\n this._isMounted = false;\n this._pendingLocation = null;\n }\n }\n\n render() {\n return (\n \n \n \n );\n }\n}\n\nif (__DEV__) {\n Router.propTypes = {\n children: PropTypes.node,\n history: PropTypes.object.isRequired,\n staticContext: PropTypes.object\n };\n\n Router.prototype.componentDidUpdate = function(prevProps) {\n warning(\n prevProps.history === this.props.history,\n \"You cannot change \"\n );\n };\n}\n\nexport default Router;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createMemoryHistory as createHistory } from \"history\";\nimport warning from \"tiny-warning\";\n\nimport Router from \"./Router.js\";\n\n/**\n * The public API for a that stores location in memory.\n */\nclass MemoryRouter extends React.Component {\n history = createHistory(this.props);\n\n render() {\n return ;\n }\n}\n\nif (__DEV__) {\n MemoryRouter.propTypes = {\n initialEntries: PropTypes.array,\n initialIndex: PropTypes.number,\n getUserConfirmation: PropTypes.func,\n keyLength: PropTypes.number,\n children: PropTypes.node\n };\n\n MemoryRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \" ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { MemoryRouter as Router }`.\"\n );\n };\n}\n\nexport default MemoryRouter;\n","import React from \"react\";\n\nclass Lifecycle extends React.Component {\n componentDidMount() {\n if (this.props.onMount) this.props.onMount.call(this, this);\n }\n\n componentDidUpdate(prevProps) {\n if (this.props.onUpdate) this.props.onUpdate.call(this, this, prevProps);\n }\n\n componentWillUnmount() {\n if (this.props.onUnmount) this.props.onUnmount.call(this, this);\n }\n\n render() {\n return null;\n }\n}\n\nexport default Lifecycle;\n","import pathToRegexp from \"path-to-regexp\";\n\nconst cache = {};\nconst cacheLimit = 10000;\nlet cacheCount = 0;\n\nfunction compilePath(path) {\n if (cache[path]) return cache[path];\n\n const generator = pathToRegexp.compile(path);\n\n if (cacheCount < cacheLimit) {\n cache[path] = generator;\n cacheCount++;\n }\n\n return generator;\n}\n\n/**\n * Public API for generating a URL pathname from a path and parameters.\n */\nfunction generatePath(path = \"/\", params = {}) {\n return path === \"/\" ? path : compilePath(path)(params, { pretty: true });\n}\n\nexport default generatePath;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createLocation, locationsAreEqual } from \"history\";\nimport invariant from \"tiny-invariant\";\n\nimport Lifecycle from \"./Lifecycle.js\";\nimport RouterContext from \"./RouterContext.js\";\nimport generatePath from \"./generatePath.js\";\n\n/**\n * The public API for navigating programmatically with a component.\n */\nfunction Redirect({ computedMatch, to, push = false }) {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const { history, staticContext } = context;\n\n const method = push ? history.push : history.replace;\n const location = createLocation(\n computedMatch\n ? typeof to === \"string\"\n ? generatePath(to, computedMatch.params)\n : {\n ...to,\n pathname: generatePath(to.pathname, computedMatch.params)\n }\n : to\n );\n\n // When rendering in a static context,\n // set the new location immediately.\n if (staticContext) {\n method(location);\n return null;\n }\n\n return (\n {\n method(location);\n }}\n onUpdate={(self, prevProps) => {\n const prevLocation = createLocation(prevProps.to);\n if (\n !locationsAreEqual(prevLocation, {\n ...location,\n key: prevLocation.key\n })\n ) {\n method(location);\n }\n }}\n to={to}\n />\n );\n }}\n \n );\n}\n\nif (__DEV__) {\n Redirect.propTypes = {\n push: PropTypes.bool,\n from: PropTypes.string,\n to: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired\n };\n}\n\nexport default Redirect;\n","import pathToRegexp from \"path-to-regexp\";\n\nconst cache = {};\nconst cacheLimit = 10000;\nlet cacheCount = 0;\n\nfunction compilePath(path, options) {\n const cacheKey = `${options.end}${options.strict}${options.sensitive}`;\n const pathCache = cache[cacheKey] || (cache[cacheKey] = {});\n\n if (pathCache[path]) return pathCache[path];\n\n const keys = [];\n const regexp = pathToRegexp(path, keys, options);\n const result = { regexp, keys };\n\n if (cacheCount < cacheLimit) {\n pathCache[path] = result;\n cacheCount++;\n }\n\n return result;\n}\n\n/**\n * Public API for matching a URL pathname to a path.\n */\nfunction matchPath(pathname, options = {}) {\n if (typeof options === \"string\" || Array.isArray(options)) {\n options = { path: options };\n }\n\n const { path, exact = false, strict = false, sensitive = false } = options;\n\n const paths = [].concat(path);\n\n return paths.reduce((matched, path) => {\n if (!path && path !== \"\") return null;\n if (matched) return matched;\n\n const { regexp, keys } = compilePath(path, {\n end: exact,\n strict,\n sensitive\n });\n const match = regexp.exec(pathname);\n\n if (!match) return null;\n\n const [url, ...values] = match;\n const isExact = pathname === url;\n\n if (exact && !isExact) return null;\n\n return {\n path, // the path used to match\n url: path === \"/\" && url === \"\" ? \"/\" : url, // the matched portion of the URL\n isExact, // whether or not we matched exactly\n params: keys.reduce((memo, key, index) => {\n memo[key.name] = values[index];\n return memo;\n }, {})\n };\n }, null);\n}\n\nexport default matchPath;\n","import React from \"react\";\nimport { isValidElementType } from \"react-is\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport RouterContext from \"./RouterContext.js\";\nimport matchPath from \"./matchPath.js\";\n\nfunction isEmptyChildren(children) {\n return React.Children.count(children) === 0;\n}\n\nfunction evalChildrenDev(children, props, path) {\n const value = children(props);\n\n warning(\n value !== undefined,\n \"You returned `undefined` from the `children` function of \" +\n `, but you ` +\n \"should have returned a React element or `null`\"\n );\n\n return value || null;\n}\n\n/**\n * The public API for matching a single path and rendering.\n */\nclass Route extends React.Component {\n render() {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const location = this.props.location || context.location;\n const match = this.props.computedMatch\n ? this.props.computedMatch // already computed the match for us\n : this.props.path\n ? matchPath(location.pathname, this.props)\n : context.match;\n\n const props = { ...context, location, match };\n\n let { children, component, render } = this.props;\n\n // Preact uses an empty array as children by\n // default, so use null if that's the case.\n if (Array.isArray(children) && isEmptyChildren(children)) {\n children = null;\n }\n\n return (\n \n {props.match\n ? children\n ? typeof children === \"function\"\n ? __DEV__\n ? evalChildrenDev(children, props, this.props.path)\n : children(props)\n : children\n : component\n ? React.createElement(component, props)\n : render\n ? render(props)\n : null\n : typeof children === \"function\"\n ? __DEV__\n ? evalChildrenDev(children, props, this.props.path)\n : children(props)\n : null}\n \n );\n }}\n \n );\n }\n}\n\nif (__DEV__) {\n Route.propTypes = {\n children: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n component: (props, propName) => {\n if (props[propName] && !isValidElementType(props[propName])) {\n return new Error(\n `Invalid prop 'component' supplied to 'Route': the prop is not a valid React component`\n );\n }\n },\n exact: PropTypes.bool,\n location: PropTypes.object,\n path: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string)\n ]),\n render: PropTypes.func,\n sensitive: PropTypes.bool,\n strict: PropTypes.bool\n };\n\n Route.prototype.componentDidMount = function() {\n warning(\n !(\n this.props.children &&\n !isEmptyChildren(this.props.children) &&\n this.props.component\n ),\n \"You should not use and in the same route; will be ignored\"\n );\n\n warning(\n !(\n this.props.children &&\n !isEmptyChildren(this.props.children) &&\n this.props.render\n ),\n \"You should not use and in the same route; will be ignored\"\n );\n\n warning(\n !(this.props.component && this.props.render),\n \"You should not use and in the same route; will be ignored\"\n );\n };\n\n Route.prototype.componentDidUpdate = function(prevProps) {\n warning(\n !(this.props.location && !prevProps.location),\n ' elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.'\n );\n\n warning(\n !(!this.props.location && prevProps.location),\n ' elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.'\n );\n };\n}\n\nexport default Route;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createLocation, createPath } from \"history\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport Router from \"./Router.js\";\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === \"/\" ? path : \"/\" + path;\n}\n\nfunction addBasename(basename, location) {\n if (!basename) return location;\n\n return {\n ...location,\n pathname: addLeadingSlash(basename) + location.pathname\n };\n}\n\nfunction stripBasename(basename, location) {\n if (!basename) return location;\n\n const base = addLeadingSlash(basename);\n\n if (location.pathname.indexOf(base) !== 0) return location;\n\n return {\n ...location,\n pathname: location.pathname.substr(base.length)\n };\n}\n\nfunction createURL(location) {\n return typeof location === \"string\" ? location : createPath(location);\n}\n\nfunction staticHandler(methodName) {\n return () => {\n invariant(false, \"You cannot %s with \", methodName);\n };\n}\n\nfunction noop() {}\n\n/**\n * The public top-level API for a \"static\" , so-called because it\n * can't actually change the current location. Instead, it just records\n * location changes in a context object. Useful mainly in testing and\n * server-rendering scenarios.\n */\nclass StaticRouter extends React.Component {\n navigateTo(location, action) {\n const { basename = \"\", context = {} } = this.props;\n context.action = action;\n context.location = addBasename(basename, createLocation(location));\n context.url = createURL(context.location);\n }\n\n handlePush = location => this.navigateTo(location, \"PUSH\");\n handleReplace = location => this.navigateTo(location, \"REPLACE\");\n handleListen = () => noop;\n handleBlock = () => noop;\n\n render() {\n const { basename = \"\", context = {}, location = \"/\", ...rest } = this.props;\n\n const history = {\n createHref: path => addLeadingSlash(basename + createURL(path)),\n action: \"POP\",\n location: stripBasename(basename, createLocation(location)),\n push: this.handlePush,\n replace: this.handleReplace,\n go: staticHandler(\"go\"),\n goBack: staticHandler(\"goBack\"),\n goForward: staticHandler(\"goForward\"),\n listen: this.handleListen,\n block: this.handleBlock\n };\n\n return ;\n }\n}\n\nif (__DEV__) {\n StaticRouter.propTypes = {\n basename: PropTypes.string,\n context: PropTypes.object,\n location: PropTypes.oneOfType([PropTypes.string, PropTypes.object])\n };\n\n StaticRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \" ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { StaticRouter as Router }`.\"\n );\n };\n}\n\nexport default StaticRouter;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport RouterContext from \"./RouterContext.js\";\nimport matchPath from \"./matchPath.js\";\n\n/**\n * The public API for rendering the first that matches.\n */\nclass Switch extends React.Component {\n render() {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const location = this.props.location || context.location;\n\n let element, match;\n\n // We use React.Children.forEach instead of React.Children.toArray().find()\n // here because toArray adds keys to all child elements and we do not want\n // to trigger an unmount/remount for two s that render the same\n // component at different URLs.\n React.Children.forEach(this.props.children, child => {\n if (match == null && React.isValidElement(child)) {\n element = child;\n\n const path = child.props.path || child.props.from;\n\n match = path\n ? matchPath(location.pathname, { ...child.props, path })\n : context.match;\n }\n });\n\n return match\n ? React.cloneElement(element, { location, computedMatch: match })\n : null;\n }}\n \n );\n }\n}\n\nif (__DEV__) {\n Switch.propTypes = {\n children: PropTypes.node,\n location: PropTypes.object\n };\n\n Switch.prototype.componentDidUpdate = function(prevProps) {\n warning(\n !(this.props.location && !prevProps.location),\n ' elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.'\n );\n\n warning(\n !(!this.props.location && prevProps.location),\n ' elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.'\n );\n };\n}\n\nexport default Switch;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport hoistStatics from \"hoist-non-react-statics\";\nimport invariant from \"tiny-invariant\";\n\nimport RouterContext from \"./RouterContext.js\";\n\n/**\n * A public higher-order component to access the imperative API\n */\nfunction withRouter(Component) {\n const displayName = `withRouter(${Component.displayName || Component.name})`;\n const C = props => {\n const { wrappedComponentRef, ...remainingProps } = props;\n\n return (\n \n {context => {\n invariant(\n context,\n `You should not use <${displayName} /> outside a `\n );\n return (\n \n );\n }}\n \n );\n };\n\n C.displayName = displayName;\n C.WrappedComponent = Component;\n\n if (__DEV__) {\n C.propTypes = {\n wrappedComponentRef: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.object\n ])\n };\n }\n\n return hoistStatics(C, Component);\n}\n\nexport default withRouter;\n","import React from \"react\";\nimport invariant from \"tiny-invariant\";\n\nimport RouterContext from \"./RouterContext.js\";\nimport HistoryContext from \"./HistoryContext.js\";\nimport matchPath from \"./matchPath.js\";\n\nconst useContext = React.useContext;\n\nexport function useHistory() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useHistory()\"\n );\n }\n\n return useContext(HistoryContext);\n}\n\nexport function useLocation() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useLocation()\"\n );\n }\n\n return useContext(RouterContext).location;\n}\n\nexport function useParams() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useParams()\"\n );\n }\n\n const match = useContext(RouterContext).match;\n return match ? match.params : {};\n}\n\nexport function useRouteMatch(path) {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useRouteMatch()\"\n );\n }\n\n const location = useLocation();\n const match = useContext(RouterContext).match;\n return path ? matchPath(location.pathname, path) : match;\n}\n","import React from \"react\";\nimport { Router } from \"react-router\";\nimport { createBrowserHistory as createHistory } from \"history\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\n/**\n * The public API for a that uses HTML5 history.\n */\nclass BrowserRouter extends React.Component {\n history = createHistory(this.props);\n\n render() {\n return ;\n }\n}\n\nif (__DEV__) {\n BrowserRouter.propTypes = {\n basename: PropTypes.string,\n children: PropTypes.node,\n forceRefresh: PropTypes.bool,\n getUserConfirmation: PropTypes.func,\n keyLength: PropTypes.number\n };\n\n BrowserRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \" ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { BrowserRouter as Router }`.\"\n );\n };\n}\n\nexport default BrowserRouter;\n","import React from \"react\";\nimport { Router } from \"react-router\";\nimport { createHashHistory as createHistory } from \"history\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\n/**\n * The public API for a that uses window.location.hash.\n */\nclass HashRouter extends React.Component {\n history = createHistory(this.props);\n\n render() {\n return ;\n }\n}\n\nif (__DEV__) {\n HashRouter.propTypes = {\n basename: PropTypes.string,\n children: PropTypes.node,\n getUserConfirmation: PropTypes.func,\n hashType: PropTypes.oneOf([\"hashbang\", \"noslash\", \"slash\"])\n };\n\n HashRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \" ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { HashRouter as Router }`.\"\n );\n };\n}\n\nexport default HashRouter;\n","import { createLocation } from \"history\";\n\nexport const resolveToLocation = (to, currentLocation) =>\n typeof to === \"function\" ? to(currentLocation) : to;\n\nexport const normalizeToLocation = (to, currentLocation) => {\n return typeof to === \"string\"\n ? createLocation(to, null, null, currentLocation)\n : to;\n};\n","import React from \"react\";\nimport { __RouterContext as RouterContext } from \"react-router\";\nimport { createPath } from 'history';\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport {\n resolveToLocation,\n normalizeToLocation\n} from \"./utils/locationUtils.js\";\n\n// React 15 compat\nconst forwardRefShim = C => C;\nlet { forwardRef } = React;\nif (typeof forwardRef === \"undefined\") {\n forwardRef = forwardRefShim;\n}\n\nfunction isModifiedEvent(event) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\nconst LinkAnchor = forwardRef(\n (\n {\n innerRef, // TODO: deprecate\n navigate,\n onClick,\n ...rest\n },\n forwardedRef\n ) => {\n const { target } = rest;\n\n let props = {\n ...rest,\n onClick: event => {\n try {\n if (onClick) onClick(event);\n } catch (ex) {\n event.preventDefault();\n throw ex;\n }\n\n if (\n !event.defaultPrevented && // onClick prevented default\n event.button === 0 && // ignore everything but left clicks\n (!target || target === \"_self\") && // let browser handle \"target=_blank\" etc.\n !isModifiedEvent(event) // ignore clicks with modifier keys\n ) {\n event.preventDefault();\n navigate();\n }\n }\n };\n\n // React 15 compat\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.ref = innerRef;\n }\n\n /* eslint-disable-next-line jsx-a11y/anchor-has-content */\n return ;\n }\n);\n\nif (__DEV__) {\n LinkAnchor.displayName = \"LinkAnchor\";\n}\n\n/**\n * The public API for rendering a history-aware .\n */\nconst Link = forwardRef(\n (\n {\n component = LinkAnchor,\n replace,\n to,\n innerRef, // TODO: deprecate\n ...rest\n },\n forwardedRef\n ) => {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const { history } = context;\n\n const location = normalizeToLocation(\n resolveToLocation(to, context.location),\n context.location\n );\n\n const href = location ? history.createHref(location) : \"\";\n const props = {\n ...rest,\n href,\n navigate() {\n const location = resolveToLocation(to, context.location);\n const isDuplicateNavigation = createPath(context.location) === createPath(normalizeToLocation(location));\n const method = (replace || isDuplicateNavigation) ? history.replace : history.push;\n\n method(location);\n }\n };\n\n // React 15 compat\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.innerRef = innerRef;\n }\n\n return React.createElement(component, props);\n }}\n \n );\n }\n);\n\nif (__DEV__) {\n const toType = PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n PropTypes.func\n ]);\n const refType = PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.shape({ current: PropTypes.any })\n ]);\n\n Link.displayName = \"Link\";\n\n Link.propTypes = {\n innerRef: refType,\n onClick: PropTypes.func,\n replace: PropTypes.bool,\n target: PropTypes.string,\n to: toType.isRequired\n };\n}\n\nexport default Link;\n","import React from \"react\";\nimport { __RouterContext as RouterContext, matchPath } from \"react-router\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport Link from \"./Link.js\";\nimport {\n resolveToLocation,\n normalizeToLocation\n} from \"./utils/locationUtils.js\";\n\n// React 15 compat\nconst forwardRefShim = C => C;\nlet { forwardRef } = React;\nif (typeof forwardRef === \"undefined\") {\n forwardRef = forwardRefShim;\n}\n\nfunction joinClassnames(...classnames) {\n return classnames.filter(i => i).join(\" \");\n}\n\n/**\n * A wrapper that knows if it's \"active\" or not.\n */\nconst NavLink = forwardRef(\n (\n {\n \"aria-current\": ariaCurrent = \"page\",\n activeClassName = \"active\", // TODO: deprecate\n activeStyle, // TODO: deprecate\n className: classNameProp,\n exact,\n isActive: isActiveProp,\n location: locationProp,\n sensitive,\n strict,\n style: styleProp,\n to,\n innerRef, // TODO: deprecate\n ...rest\n },\n forwardedRef\n ) => {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const currentLocation = locationProp || context.location;\n const toLocation = normalizeToLocation(\n resolveToLocation(to, currentLocation),\n currentLocation\n );\n const { pathname: path } = toLocation;\n // Regex taken from: https://github.com/pillarjs/path-to-regexp/blob/master/index.js#L202\n const escapedPath =\n path && path.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, \"\\\\$1\");\n\n const match = escapedPath\n ? matchPath(currentLocation.pathname, {\n path: escapedPath,\n exact,\n sensitive,\n strict\n })\n : null;\n const isActive = !!(isActiveProp\n ? isActiveProp(match, currentLocation)\n : match);\n\n let className =\n typeof classNameProp === \"function\"\n ? classNameProp(isActive)\n : classNameProp;\n\n let style =\n typeof styleProp === \"function\" ? styleProp(isActive) : styleProp;\n\n if (isActive) {\n className = joinClassnames(className, activeClassName);\n style = { ...style, ...activeStyle };\n }\n\n const props = {\n \"aria-current\": (isActive && ariaCurrent) || null,\n className,\n style,\n to: toLocation,\n ...rest\n };\n\n // React 15 compat\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.innerRef = innerRef;\n }\n\n return ;\n }}\n \n );\n }\n);\n\nif (__DEV__) {\n NavLink.displayName = \"NavLink\";\n\n const ariaCurrentType = PropTypes.oneOf([\n \"page\",\n \"step\",\n \"location\",\n \"date\",\n \"time\",\n \"true\",\n \"false\"\n ]);\n\n NavLink.propTypes = {\n ...Link.propTypes,\n \"aria-current\": ariaCurrentType,\n activeClassName: PropTypes.string,\n activeStyle: PropTypes.object,\n className: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n exact: PropTypes.bool,\n isActive: PropTypes.func,\n location: PropTypes.object,\n sensitive: PropTypes.bool,\n strict: PropTypes.bool,\n style: PropTypes.oneOfType([PropTypes.object, PropTypes.func])\n };\n}\n\nexport default NavLink;\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport {\n\tICookieStorageData,\n\tICognitoStorage,\n} from 'amazon-cognito-identity-js';\n\n/**\n * Parameters for user sign up\n */\nexport interface SignUpParams {\n\tusername: string;\n\tpassword: string;\n\tattributes?: object;\n\tvalidationData?: { [key: string]: any };\n\tclientMetadata?: { [key: string]: string };\n\tautoSignIn?: AutoSignInOptions;\n}\n\nexport interface AuthCache {\n\tsetItem();\n\tgetItem();\n\tremoveItem();\n}\n\n/**\n * Auth instance options\n */\nexport interface AuthOptions {\n\tuserPoolId?: string;\n\tuserPoolWebClientId?: string;\n\tidentityPoolId?: string;\n\tregion?: string;\n\tmandatorySignIn?: boolean;\n\tcookieStorage?: ICookieStorageData;\n\toauth?: OAuthOpts;\n\trefreshHandlers?: object;\n\tstorage?: ICognitoStorage;\n\tauthenticationFlowType?: string;\n\tidentityPoolRegion?: string;\n\tclientMetadata?: any;\n\tendpoint?: string;\n\tsignUpVerificationMethod?: 'code' | 'link';\n}\n\nexport enum CognitoHostedUIIdentityProvider {\n\tCognito = 'COGNITO',\n\tGoogle = 'Google',\n\tFacebook = 'Facebook',\n\tAmazon = 'LoginWithAmazon',\n\tApple = 'SignInWithApple',\n}\n\nexport type LegacyProvider =\n\t| 'google'\n\t| 'facebook'\n\t| 'amazon'\n\t| 'developer'\n\t| string;\n\nexport type FederatedSignInOptions = {\n\tprovider: CognitoHostedUIIdentityProvider;\n\tcustomState?: string;\n};\n\nexport type FederatedSignInOptionsCustom = {\n\tcustomProvider: string;\n\tcustomState?: string;\n};\n\nexport function isFederatedSignInOptions(\n\tobj: any\n): obj is FederatedSignInOptions {\n\tconst keys: (keyof FederatedSignInOptions)[] = ['provider'];\n\treturn obj && !!keys.find(k => obj.hasOwnProperty(k));\n}\n\nexport function isFederatedSignInOptionsCustom(\n\tobj: any\n): obj is FederatedSignInOptionsCustom {\n\tconst keys: (keyof FederatedSignInOptionsCustom)[] = ['customProvider'];\n\treturn obj && !!keys.find(k => obj.hasOwnProperty(k));\n}\n\nexport function hasCustomState(obj: any): boolean {\n\tconst keys: (keyof (\n\t\t| FederatedSignInOptions\n\t\t| FederatedSignInOptionsCustom\n\t))[] = ['customState'];\n\treturn obj && !!keys.find(k => obj.hasOwnProperty(k));\n}\n\n/**\n * Details for multi-factor authentication\n */\nexport interface MfaRequiredDetails {\n\tchallengeName: any;\n\tchallengeParameters: any;\n}\n\n/**\n * interface for federatedResponse\n */\nexport interface FederatedResponse {\n\t// access token\n\ttoken: string;\n\t// identity id\n\tidentity_id?: string;\n\t// the universal time when token expired\n\texpires_at: number;\n}\n\n/**\n * interface for federatedUser\n */\nexport interface FederatedUser {\n\tname: string;\n\temail?: string;\n\tpicture?: string;\n}\n\nexport interface AwsCognitoOAuthOpts {\n\tdomain: string;\n\tscope: Array;\n\tredirectSignIn: string;\n\tredirectSignOut: string;\n\tresponseType: string;\n\toptions?: object;\n\turlOpener?: (url: string, redirectUrl: string) => Promise;\n}\n\nexport function isCognitoHostedOpts(\n\toauth: OAuthOpts\n): oauth is AwsCognitoOAuthOpts {\n\treturn (oauth).redirectSignIn !== undefined;\n}\n\nexport interface Auth0OAuthOpts {\n\tdomain: string;\n\tclientID: string;\n\tscope: string;\n\tredirectUri: string;\n\taudience: string;\n\tresponseType: string;\n\treturnTo: string;\n\turlOpener?: (url: string, redirectUrl: string) => Promise;\n}\n\n// Replacing to fix typings\n// export interface OAuth {\n// awsCognito?: awsCognitoOAuthOpts,\n// auth0?: any\n// }\n\nexport type OAuthOpts = AwsCognitoOAuthOpts | Auth0OAuthOpts;\n\nexport interface ConfirmSignUpOptions {\n\tforceAliasCreation?: boolean;\n\tclientMetadata?: ClientMetaData;\n}\n\nexport interface SignOutOpts {\n\tglobal?: boolean;\n}\n\nexport interface CurrentUserOpts {\n\tbypassCache: boolean;\n}\n\nexport interface GetPreferredMFAOpts {\n\tbypassCache: boolean;\n}\n\nexport type UsernamePasswordOpts = {\n\tusername: string;\n\tpassword: string;\n\tvalidationData?: { [key: string]: any };\n};\n\nexport enum AuthErrorTypes {\n\tNoConfig = 'noConfig',\n\tMissingAuthConfig = 'missingAuthConfig',\n\tEmptyUsername = 'emptyUsername',\n\tInvalidUsername = 'invalidUsername',\n\tEmptyPassword = 'emptyPassword',\n\tEmptyCode = 'emptyCode',\n\tSignUpError = 'signUpError',\n\tNoMFA = 'noMFA',\n\tInvalidMFA = 'invalidMFA',\n\tEmptyChallengeResponse = 'emptyChallengeResponse',\n\tNoUserSession = 'noUserSession',\n\tDefault = 'default',\n\tDeviceConfig = 'deviceConfig',\n\tNetworkError = 'networkError',\n\tAutoSignInError = 'autoSignInError',\n}\n\nexport type AuthErrorMessages = { [key in AuthErrorTypes]: AuthErrorMessage };\n\nexport interface AuthErrorMessage {\n\tmessage: string;\n\tlog?: string;\n}\n\n// We can extend this in the future if needed\nexport type SignInOpts = UsernamePasswordOpts;\n\nexport type ClientMetaData =\n\t| {\n\t\t\t[key: string]: string;\n\t }\n\t| undefined;\n\nexport function isUsernamePasswordOpts(obj: any): obj is UsernamePasswordOpts {\n\treturn !!(obj as UsernamePasswordOpts).username;\n}\n\nexport interface IAuthDevice {\n\tid: string;\n\tname: string;\n}\n\nexport interface AutoSignInOptions {\n\tenabled: boolean;\n\tclientMetaData?: ClientMetaData;\n\tvalidationData?: { [key: string]: any };\n}\n\nexport enum GRAPHQL_AUTH_MODE {\n\tAPI_KEY = 'API_KEY',\n\tAWS_IAM = 'AWS_IAM',\n\tOPENID_CONNECT = 'OPENID_CONNECT',\n\tAMAZON_COGNITO_USER_POOLS = 'AMAZON_COGNITO_USER_POOLS',\n\tAWS_LAMBDA = 'AWS_LAMBDA',\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nimport { ConsoleLogger as Logger } from './Logger';\nvar logger = new Logger('Hub');\nvar AMPLIFY_SYMBOL = (typeof Symbol !== 'undefined' && typeof Symbol.for === 'function'\n ? Symbol.for('amplify_default')\n : '@@amplify_default');\nfunction isLegacyCallback(callback) {\n return callback.onHubCapsule !== undefined;\n}\nvar HubClass = /** @class */ (function () {\n function HubClass(name) {\n this.listeners = [];\n this.patterns = [];\n this.protectedChannels = [\n 'core',\n 'auth',\n 'api',\n 'analytics',\n 'interactions',\n 'pubsub',\n 'storage',\n 'ui',\n 'xr',\n ];\n this.name = name;\n }\n /**\n * Used internally to remove a Hub listener.\n *\n * @remarks\n * This private method is for internal use only. Instead of calling Hub.remove, call the result of Hub.listen.\n */\n HubClass.prototype._remove = function (channel, listener) {\n if (channel instanceof RegExp) {\n var pattern_1 = this.patterns.find(function (_a) {\n var pattern = _a.pattern;\n return pattern.source === channel.source;\n });\n if (!pattern_1) {\n logger.warn(\"No listeners for \".concat(channel));\n return;\n }\n this.patterns = __spreadArray([], __read(this.patterns.filter(function (x) { return x !== pattern_1; })), false);\n }\n else {\n var holder = this.listeners[channel];\n if (!holder) {\n logger.warn(\"No listeners for \".concat(channel));\n return;\n }\n this.listeners[channel] = __spreadArray([], __read(holder.filter(function (_a) {\n var callback = _a.callback;\n return callback !== listener;\n })), false);\n }\n };\n /**\n * @deprecated Instead of calling Hub.remove, call the result of Hub.listen.\n */\n HubClass.prototype.remove = function (channel, listener) {\n this._remove(channel, listener);\n };\n /**\n * Used to send a Hub event.\n *\n * @param channel - The channel on which the event will be broadcast\n * @param payload - The HubPayload\n * @param source - The source of the event; defaults to ''\n * @param ampSymbol - Symbol used to determine if the event is dispatched internally on a protected channel\n *\n */\n HubClass.prototype.dispatch = function (channel, payload, source, ampSymbol) {\n if (source === void 0) { source = ''; }\n if (this.protectedChannels.indexOf(channel) > -1) {\n var hasAccess = ampSymbol === AMPLIFY_SYMBOL;\n if (!hasAccess) {\n logger.warn(\"WARNING: \".concat(channel, \" is protected and dispatching on it can have unintended consequences\"));\n }\n }\n var capsule = {\n channel: channel,\n payload: __assign({}, payload),\n source: source,\n patternInfo: [],\n };\n try {\n this._toListeners(capsule);\n }\n catch (e) {\n logger.error(e);\n }\n };\n /**\n * Used to listen for Hub events.\n *\n * @param channel - The channel on which to listen\n * @param callback - The callback to execute when an event is received on the specified channel\n * @param listenerName - The name of the listener; defaults to 'noname'\n * @returns A function which can be called to cancel the listener.\n *\n */\n HubClass.prototype.listen = function (channel, callback, listenerName) {\n var _this = this;\n if (listenerName === void 0) { listenerName = 'noname'; }\n var cb;\n // Check for legacy onHubCapsule callback for backwards compatability\n if (isLegacyCallback(callback)) {\n logger.warn(\"WARNING onHubCapsule is Deprecated. Please pass in a callback.\");\n cb = callback.onHubCapsule.bind(callback);\n }\n else if (typeof callback !== 'function') {\n throw new Error('No callback supplied to Hub');\n }\n else {\n cb = callback;\n }\n if (channel instanceof RegExp) {\n this.patterns.push({\n pattern: channel,\n callback: cb,\n });\n }\n else {\n var holder = this.listeners[channel];\n if (!holder) {\n holder = [];\n this.listeners[channel] = holder;\n }\n holder.push({\n name: listenerName,\n callback: cb,\n });\n }\n return function () {\n _this._remove(channel, cb);\n };\n };\n HubClass.prototype._toListeners = function (capsule) {\n var channel = capsule.channel, payload = capsule.payload;\n var holder = this.listeners[channel];\n if (holder) {\n holder.forEach(function (listener) {\n logger.debug(\"Dispatching to \".concat(channel, \" with \"), payload);\n try {\n listener.callback(capsule);\n }\n catch (e) {\n logger.error(e);\n }\n });\n }\n if (this.patterns.length > 0) {\n if (!payload.message) {\n logger.warn(\"Cannot perform pattern matching without a message key\");\n return;\n }\n var payloadStr_1 = payload.message;\n this.patterns.forEach(function (pattern) {\n var match = payloadStr_1.match(pattern.pattern);\n if (match) {\n var _a = __read(match), groups = _a.slice(1);\n var dispatchingCapsule = __assign(__assign({}, capsule), { patternInfo: groups });\n try {\n pattern.callback(dispatchingCapsule);\n }\n catch (e) {\n logger.error(e);\n }\n }\n });\n }\n };\n return HubClass;\n}());\nexport { HubClass };\n/*We export a __default__ instance of HubClass to use it as a\npseudo Singleton for the main messaging bus, however you can still create\nyour own instance of HubClass() for a separate \"private bus\" of events.*/\nexport var Hub = new HubClass('__default__');\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nvar dataMemory = {};\n/** @class */\nvar MemoryStorage = /** @class */ (function () {\n function MemoryStorage() {\n }\n /**\n * This is used to set a specific item in storage\n * @param {string} key - the key for the item\n * @param {object} value - the value\n * @returns {string} value that was set\n */\n MemoryStorage.setItem = function (key, value) {\n dataMemory[key] = value;\n return dataMemory[key];\n };\n /**\n * This is used to get a specific key from storage\n * @param {string} key - the key for the item\n * This is used to clear the storage\n * @returns {string} the data item\n */\n MemoryStorage.getItem = function (key) {\n return Object.prototype.hasOwnProperty.call(dataMemory, key)\n ? dataMemory[key]\n : undefined;\n };\n /**\n * This is used to remove an item from storage\n * @param {string} key - the key being set\n * @returns {string} value - value that was deleted\n */\n MemoryStorage.removeItem = function (key) {\n return delete dataMemory[key];\n };\n /**\n * This is used to clear the storage\n * @returns {string} nothing\n */\n MemoryStorage.clear = function () {\n dataMemory = {};\n return dataMemory;\n };\n return MemoryStorage;\n}());\nexport { MemoryStorage };\nvar StorageHelper = /** @class */ (function () {\n /**\n * This is used to get a storage object\n * @returns {object} the storage\n */\n function StorageHelper() {\n try {\n this.storageWindow = window.localStorage;\n this.storageWindow.setItem('aws.amplify.test-ls', 1);\n this.storageWindow.removeItem('aws.amplify.test-ls');\n }\n catch (exception) {\n this.storageWindow = MemoryStorage;\n }\n }\n /**\n * This is used to return the storage\n * @returns {object} the storage\n */\n StorageHelper.prototype.getStorage = function () {\n return this.storageWindow;\n };\n return StorageHelper;\n}());\nexport { StorageHelper };\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nvar MIME_MAP = [\n { type: 'text/plain', ext: 'txt' },\n { type: 'text/html', ext: 'html' },\n { type: 'text/javascript', ext: 'js' },\n { type: 'text/css', ext: 'css' },\n { type: 'text/csv', ext: 'csv' },\n { type: 'text/yaml', ext: 'yml' },\n { type: 'text/yaml', ext: 'yaml' },\n { type: 'text/calendar', ext: 'ics' },\n { type: 'text/calendar', ext: 'ical' },\n { type: 'image/apng', ext: 'apng' },\n { type: 'image/bmp', ext: 'bmp' },\n { type: 'image/gif', ext: 'gif' },\n { type: 'image/x-icon', ext: 'ico' },\n { type: 'image/x-icon', ext: 'cur' },\n { type: 'image/jpeg', ext: 'jpg' },\n { type: 'image/jpeg', ext: 'jpeg' },\n { type: 'image/jpeg', ext: 'jfif' },\n { type: 'image/jpeg', ext: 'pjp' },\n { type: 'image/jpeg', ext: 'pjpeg' },\n { type: 'image/png', ext: 'png' },\n { type: 'image/svg+xml', ext: 'svg' },\n { type: 'image/tiff', ext: 'tif' },\n { type: 'image/tiff', ext: 'tiff' },\n { type: 'image/webp', ext: 'webp' },\n { type: 'application/json', ext: 'json' },\n { type: 'application/xml', ext: 'xml' },\n { type: 'application/x-sh', ext: 'sh' },\n { type: 'application/zip', ext: 'zip' },\n { type: 'application/x-rar-compressed', ext: 'rar' },\n { type: 'application/x-tar', ext: 'tar' },\n { type: 'application/x-bzip', ext: 'bz' },\n { type: 'application/x-bzip2', ext: 'bz2' },\n { type: 'application/pdf', ext: 'pdf' },\n { type: 'application/java-archive', ext: 'jar' },\n { type: 'application/msword', ext: 'doc' },\n { type: 'application/vnd.ms-excel', ext: 'xls' },\n { type: 'application/vnd.ms-excel', ext: 'xlsx' },\n { type: 'message/rfc822', ext: 'eml' },\n];\nexport var isEmpty = function (obj) {\n if (obj === void 0) { obj = {}; }\n return Object.keys(obj).length === 0;\n};\nexport var sortByField = function (list, field, dir) {\n if (!list || !list.sort) {\n return false;\n }\n var dirX = dir && dir === 'desc' ? -1 : 1;\n list.sort(function (a, b) {\n var a_val = a[field];\n var b_val = b[field];\n if (typeof b_val === 'undefined') {\n return typeof a_val === 'undefined' ? 0 : 1 * dirX;\n }\n if (typeof a_val === 'undefined') {\n return -1 * dirX;\n }\n if (a_val < b_val) {\n return -1 * dirX;\n }\n if (a_val > b_val) {\n return 1 * dirX;\n }\n return 0;\n });\n return true;\n};\nexport var objectLessAttributes = function (obj, less) {\n var ret = Object.assign({}, obj);\n if (less) {\n if (typeof less === 'string') {\n delete ret[less];\n }\n else {\n less.forEach(function (attr) {\n delete ret[attr];\n });\n }\n }\n return ret;\n};\nexport var filenameToContentType = function (filename, defVal) {\n if (defVal === void 0) { defVal = 'application/octet-stream'; }\n var name = filename.toLowerCase();\n var filtered = MIME_MAP.filter(function (mime) { return name.endsWith('.' + mime.ext); });\n return filtered.length > 0 ? filtered[0].type : defVal;\n};\nexport var isTextFile = function (contentType) {\n var type = contentType.toLowerCase();\n if (type.startsWith('text/')) {\n return true;\n }\n return ('application/json' === type ||\n 'application/xml' === type ||\n 'application/sh' === type);\n};\nexport var generateRandomString = function () {\n var result = '';\n var chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\n for (var i = 32; i > 0; i -= 1) {\n result += chars[Math.floor(Math.random() * chars.length)];\n }\n return result;\n};\nexport var makeQuerablePromise = function (promise) {\n if (promise.isResolved)\n return promise;\n var isPending = true;\n var isRejected = false;\n var isFullfilled = false;\n var result = promise.then(function (data) {\n isFullfilled = true;\n isPending = false;\n return data;\n }, function (e) {\n isRejected = true;\n isPending = false;\n throw e;\n });\n result.isFullfilled = function () { return isFullfilled; };\n result.isPending = function () { return isPending; };\n result.isRejected = function () { return isRejected; };\n return result;\n};\nexport var isWebWorker = function () {\n if (typeof self === 'undefined') {\n return false;\n }\n var selfContext = self;\n return (typeof selfContext.WorkerGlobalScope !== 'undefined' &&\n self instanceof selfContext.WorkerGlobalScope);\n};\nexport var browserOrNode = function () {\n var isBrowser = typeof window !== 'undefined' && typeof window.document !== 'undefined';\n var isNode = typeof process !== 'undefined' &&\n process.versions != null &&\n process.versions.node != null;\n return {\n isBrowser: isBrowser,\n isNode: isNode,\n };\n};\n/**\n * transfer the first letter of the keys to lowercase\n * @param {Object} obj - the object need to be transferred\n * @param {Array} whiteListForItself - whitelist itself from being transferred\n * @param {Array} whiteListForChildren - whitelist its children keys from being transferred\n */\nexport var transferKeyToLowerCase = function (obj, whiteListForItself, whiteListForChildren) {\n if (whiteListForItself === void 0) { whiteListForItself = []; }\n if (whiteListForChildren === void 0) { whiteListForChildren = []; }\n if (!isStrictObject(obj))\n return obj;\n var ret = {};\n for (var key in obj) {\n if (obj.hasOwnProperty(key)) {\n var transferedKey = whiteListForItself.includes(key)\n ? key\n : key[0].toLowerCase() + key.slice(1);\n ret[transferedKey] = whiteListForChildren.includes(key)\n ? obj[key]\n : transferKeyToLowerCase(obj[key], whiteListForItself, whiteListForChildren);\n }\n }\n return ret;\n};\n/**\n * transfer the first letter of the keys to lowercase\n * @param {Object} obj - the object need to be transferred\n * @param {Array} whiteListForItself - whitelist itself from being transferred\n * @param {Array} whiteListForChildren - whitelist its children keys from being transferred\n */\nexport var transferKeyToUpperCase = function (obj, whiteListForItself, whiteListForChildren) {\n if (whiteListForItself === void 0) { whiteListForItself = []; }\n if (whiteListForChildren === void 0) { whiteListForChildren = []; }\n if (!isStrictObject(obj))\n return obj;\n var ret = {};\n for (var key in obj) {\n if (obj.hasOwnProperty(key)) {\n var transferredKey = whiteListForItself.includes(key)\n ? key\n : key[0].toUpperCase() + key.slice(1);\n ret[transferredKey] = whiteListForChildren.includes(key)\n ? obj[key]\n : transferKeyToUpperCase(obj[key], whiteListForItself, whiteListForChildren);\n }\n }\n return ret;\n};\n/**\n * Return true if the object is a strict object\n * which means it's not Array, Function, Number, String, Boolean or Null\n * @param obj the Object\n */\nexport var isStrictObject = function (obj) {\n return (obj instanceof Object &&\n !(obj instanceof Array) &&\n !(obj instanceof Function) &&\n !(obj instanceof Number) &&\n !(obj instanceof String) &&\n !(obj instanceof Boolean));\n};\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nimport { ConsoleLogger as Logger } from '../Logger/ConsoleLogger';\nvar logger = new Logger('Util');\nvar NonRetryableError = /** @class */ (function (_super) {\n __extends(NonRetryableError, _super);\n function NonRetryableError(message) {\n var _this = _super.call(this, message) || this;\n _this.nonRetryable = true;\n return _this;\n }\n return NonRetryableError;\n}(Error));\nexport { NonRetryableError };\nexport var isNonRetryableError = function (obj) {\n var key = 'nonRetryable';\n return obj && obj[key];\n};\n/**\n * @private\n * Internal use of Amplify only\n */\nexport function retry(functionToRetry, args, delayFn, onTerminate) {\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n if (typeof functionToRetry !== 'function') {\n throw Error('functionToRetry must be a function');\n }\n return [2 /*return*/, new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {\n var attempt, terminated, timeout, wakeUp, lastError, _loop_1, state_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n attempt = 0;\n terminated = false;\n wakeUp = function () { };\n onTerminate &&\n onTerminate.then(function () {\n // signal not to try anymore.\n terminated = true;\n // stop sleeping if we're sleeping.\n clearTimeout(timeout);\n wakeUp();\n });\n _loop_1 = function () {\n var _b, _c, err_1, retryIn_1;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n attempt++;\n logger.debug(\"\".concat(functionToRetry.name, \" attempt #\").concat(attempt, \" with this vars: \").concat(JSON.stringify(args)));\n _d.label = 1;\n case 1:\n _d.trys.push([1, 3, , 7]);\n _b = {};\n _c = resolve;\n return [4 /*yield*/, functionToRetry.apply(void 0, __spreadArray([], __read(args), false))];\n case 2: return [2 /*return*/, (_b.value = _c.apply(void 0, [_d.sent()]), _b)];\n case 3:\n err_1 = _d.sent();\n lastError = err_1;\n logger.debug(\"error on \".concat(functionToRetry.name), err_1);\n if (isNonRetryableError(err_1)) {\n logger.debug(\"\".concat(functionToRetry.name, \" non retryable error\"), err_1);\n return [2 /*return*/, { value: reject(err_1) }];\n }\n retryIn_1 = delayFn(attempt, args, err_1);\n logger.debug(\"\".concat(functionToRetry.name, \" retrying in \").concat(retryIn_1, \" ms\"));\n if (!(retryIn_1 === false || terminated)) return [3 /*break*/, 4];\n return [2 /*return*/, { value: reject(err_1) }];\n case 4: return [4 /*yield*/, new Promise(function (r) {\n wakeUp = r; // export wakeUp for onTerminate handling\n timeout = setTimeout(wakeUp, retryIn_1);\n })];\n case 5:\n _d.sent();\n _d.label = 6;\n case 6: return [3 /*break*/, 7];\n case 7: return [2 /*return*/];\n }\n });\n };\n _a.label = 1;\n case 1:\n if (!!terminated) return [3 /*break*/, 3];\n return [5 /*yield**/, _loop_1()];\n case 2:\n state_1 = _a.sent();\n if (typeof state_1 === \"object\")\n return [2 /*return*/, state_1.value];\n return [3 /*break*/, 1];\n case 3:\n // reached if terminated while waiting for a timer.\n reject(lastError);\n return [2 /*return*/];\n }\n });\n }); })];\n });\n });\n}\nvar MAX_DELAY_MS = 5 * 60 * 1000;\n/**\n * @private\n * Internal use of Amplify only\n */\nexport function jitteredBackoff(maxDelayMs) {\n if (maxDelayMs === void 0) { maxDelayMs = MAX_DELAY_MS; }\n var BASE_TIME_MS = 100;\n var JITTER_FACTOR = 100;\n return function (attempt) {\n var delay = Math.pow(2, attempt) * BASE_TIME_MS + JITTER_FACTOR * Math.random();\n return delay > maxDelayMs ? false : delay;\n };\n}\n/**\n * @private\n * Internal use of Amplify only\n */\nexport var jitteredExponentialRetry = function (functionToRetry, args, maxDelayMs, onTerminate) {\n if (maxDelayMs === void 0) { maxDelayMs = MAX_DELAY_MS; }\n return retry(functionToRetry, args, jitteredBackoff(maxDelayMs), onTerminate);\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport var Framework;\n(function (Framework) {\n // < 100 - Web frameworks\n Framework[\"WebUnknown\"] = \"0\";\n Framework[\"React\"] = \"1\";\n Framework[\"NextJs\"] = \"2\";\n Framework[\"Angular\"] = \"3\";\n Framework[\"VueJs\"] = \"4\";\n Framework[\"Nuxt\"] = \"5\";\n Framework[\"Svelte\"] = \"6\";\n // 100s - Server side frameworks\n Framework[\"ServerSideUnknown\"] = \"100\";\n Framework[\"ReactSSR\"] = \"101\";\n Framework[\"NextJsSSR\"] = \"102\";\n Framework[\"AngularSSR\"] = \"103\";\n Framework[\"VueJsSSR\"] = \"104\";\n Framework[\"NuxtSSR\"] = \"105\";\n Framework[\"SvelteSSR\"] = \"106\";\n // 200s - Mobile framework\n Framework[\"ReactNative\"] = \"201\";\n Framework[\"Expo\"] = \"202\";\n})(Framework || (Framework = {}));\nexport var Category;\n(function (Category) {\n Category[\"API\"] = \"api\";\n Category[\"Auth\"] = \"auth\";\n Category[\"Analytics\"] = \"analytics\";\n Category[\"DataStore\"] = \"datastore\";\n Category[\"Geo\"] = \"geo\";\n Category[\"InAppMessaging\"] = \"inappmessaging\";\n Category[\"Interactions\"] = \"interactions\";\n Category[\"Predictions\"] = \"predictions\";\n Category[\"PubSub\"] = \"pubsub\";\n Category[\"PushNotification\"] = \"pushnotification\";\n Category[\"Storage\"] = \"storage\";\n})(Category || (Category = {}));\nexport var AnalyticsAction;\n(function (AnalyticsAction) {\n AnalyticsAction[\"Record\"] = \"1\";\n AnalyticsAction[\"UpdateEndpoint\"] = \"2\";\n})(AnalyticsAction || (AnalyticsAction = {}));\nexport var ApiAction;\n(function (ApiAction) {\n ApiAction[\"GraphQl\"] = \"1\";\n ApiAction[\"Get\"] = \"2\";\n ApiAction[\"Post\"] = \"3\";\n ApiAction[\"Put\"] = \"4\";\n ApiAction[\"Patch\"] = \"5\";\n ApiAction[\"Del\"] = \"6\";\n ApiAction[\"Head\"] = \"7\";\n})(ApiAction || (ApiAction = {}));\nexport var AuthAction;\n(function (AuthAction) {\n // SignUp = '1',\n // ConfirmSignUp = '2',\n // ResendSignUp = '3',\n // SignIn = '4',\n // GetMFAOptions = '5',\n // GetPreferredMFA = '6',\n // SetPreferredMFA = '7',\n // DisableSMS = '8',\n // EnableSMS = '9',\n // SetupTOTP = '10',\n // VerifyTotpToken = '11',\n // ConfirmSignIn = '12',\n // CompleteNewPassword = '13',\n // SendCustomChallengeAnswer = '14',\n // DeleteUserAttributes = '15',\n // DeleteUser = '16',\n // UpdateUserAttributes = '17',\n // UserAttributes = '18',\n // CurrentUserPoolUser = '19',\n // CurrentAuthenticatedUser = '20',\n // CurrentSession = '21',\n // VerifyUserAttribute = '22',\n // VerifyUserAttributeSubmit = '23',\n // VerifyCurrentUserAttribute = '24',\n // VerifyCurrentUserAttributeSubmit = '25',\n // SignOut = '26',\n // ChangePassword = '27',\n // ForgotPassword = '28',\n // ForgotPasswordSubmit = '29',\n AuthAction[\"FederatedSignIn\"] = \"30\";\n // CurrentUserInfo = '31',\n // RememberDevice = '32',\n // ForgetDevice = '33',\n // FetchDevices = '34',\n})(AuthAction || (AuthAction = {}));\nexport var DataStoreAction;\n(function (DataStoreAction) {\n DataStoreAction[\"Subscribe\"] = \"1\";\n DataStoreAction[\"GraphQl\"] = \"2\";\n})(DataStoreAction || (DataStoreAction = {}));\nexport var GeoAction;\n(function (GeoAction) {\n GeoAction[\"None\"] = \"0\";\n})(GeoAction || (GeoAction = {}));\nexport var InAppMessagingAction;\n(function (InAppMessagingAction) {\n InAppMessagingAction[\"None\"] = \"0\";\n})(InAppMessagingAction || (InAppMessagingAction = {}));\nexport var InteractionsAction;\n(function (InteractionsAction) {\n InteractionsAction[\"None\"] = \"0\";\n})(InteractionsAction || (InteractionsAction = {}));\nexport var PredictionsAction;\n(function (PredictionsAction) {\n PredictionsAction[\"Convert\"] = \"1\";\n PredictionsAction[\"Identify\"] = \"2\";\n PredictionsAction[\"Interpret\"] = \"3\";\n})(PredictionsAction || (PredictionsAction = {}));\nexport var PubSubAction;\n(function (PubSubAction) {\n PubSubAction[\"Subscribe\"] = \"1\";\n})(PubSubAction || (PubSubAction = {}));\nexport var PushNotificationAction;\n(function (PushNotificationAction) {\n PushNotificationAction[\"None\"] = \"0\";\n})(PushNotificationAction || (PushNotificationAction = {}));\nexport var StorageAction;\n(function (StorageAction) {\n StorageAction[\"Put\"] = \"1\";\n StorageAction[\"Get\"] = \"2\";\n StorageAction[\"List\"] = \"3\";\n StorageAction[\"Copy\"] = \"4\";\n StorageAction[\"Remove\"] = \"5\";\n StorageAction[\"GetProperties\"] = \"6\";\n})(StorageAction || (StorageAction = {}));\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { ConsoleLogger as Logger } from '../Logger';\nimport { browserOrNode } from '../JS';\nimport { NonRetryableError } from '../Util';\nvar logger = new Logger('CognitoCredentials');\nvar waitForInit = new Promise(function (res, rej) {\n if (!browserOrNode().isBrowser) {\n logger.debug('not in the browser, directly resolved');\n return res();\n }\n var ga = window['gapi'] && window['gapi'].auth2 ? window['gapi'].auth2 : null;\n if (ga) {\n logger.debug('google api already loaded');\n return res();\n }\n else {\n setTimeout(function () {\n return res();\n }, 2000);\n }\n});\nvar GoogleOAuth = /** @class */ (function () {\n function GoogleOAuth() {\n this.initialized = false;\n this.refreshGoogleToken = this.refreshGoogleToken.bind(this);\n this._refreshGoogleTokenImpl = this._refreshGoogleTokenImpl.bind(this);\n }\n GoogleOAuth.prototype.refreshGoogleToken = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!!this.initialized) return [3 /*break*/, 2];\n logger.debug('need to wait for the Google SDK loaded');\n return [4 /*yield*/, waitForInit];\n case 1:\n _a.sent();\n this.initialized = true;\n logger.debug('finish waiting');\n _a.label = 2;\n case 2: return [2 /*return*/, this._refreshGoogleTokenImpl()];\n }\n });\n });\n };\n GoogleOAuth.prototype._refreshGoogleTokenImpl = function () {\n var ga = null;\n if (browserOrNode().isBrowser)\n ga = window['gapi'] && window['gapi'].auth2 ? window['gapi'].auth2 : null;\n if (!ga) {\n logger.debug('no gapi auth2 available');\n return Promise.reject('no gapi auth2 available');\n }\n return new Promise(function (res, rej) {\n ga.getAuthInstance()\n .then(function (googleAuth) {\n if (!googleAuth) {\n logger.debug('google Auth undefined');\n rej(new NonRetryableError('google Auth undefined'));\n }\n var googleUser = googleAuth.currentUser.get();\n // refresh the token\n if (googleUser.isSignedIn()) {\n logger.debug('refreshing the google access token');\n googleUser\n .reloadAuthResponse()\n .then(function (authResponse) {\n var id_token = authResponse.id_token, expires_at = authResponse.expires_at;\n res({ token: id_token, expires_at: expires_at });\n })\n .catch(function (err) {\n if (err && err.error === 'network_error') {\n // Not using NonRetryableError so handler will be retried\n rej('Network error reloading google auth response');\n }\n else {\n rej(new NonRetryableError('Failed to reload google auth response'));\n }\n });\n }\n else {\n rej(new NonRetryableError('User is not signed in with Google'));\n }\n })\n .catch(function (err) {\n logger.debug('Failed to refresh google token', err);\n rej(new NonRetryableError('Failed to refresh google token'));\n });\n });\n };\n return GoogleOAuth;\n}());\nexport { GoogleOAuth };\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { ConsoleLogger as Logger } from '../Logger';\nimport { browserOrNode } from '../JS';\nimport { NonRetryableError } from '../Util';\nvar logger = new Logger('CognitoCredentials');\nvar waitForInit = new Promise(function (res, rej) {\n if (!browserOrNode().isBrowser) {\n logger.debug('not in the browser, directly resolved');\n return res();\n }\n var fb = window['FB'];\n if (fb) {\n logger.debug('FB SDK already loaded');\n return res();\n }\n else {\n setTimeout(function () {\n return res();\n }, 2000);\n }\n});\nvar FacebookOAuth = /** @class */ (function () {\n function FacebookOAuth() {\n this.initialized = false;\n this.refreshFacebookToken = this.refreshFacebookToken.bind(this);\n this._refreshFacebookTokenImpl = this._refreshFacebookTokenImpl.bind(this);\n }\n FacebookOAuth.prototype.refreshFacebookToken = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!!this.initialized) return [3 /*break*/, 2];\n logger.debug('need to wait for the Facebook SDK loaded');\n return [4 /*yield*/, waitForInit];\n case 1:\n _a.sent();\n this.initialized = true;\n logger.debug('finish waiting');\n _a.label = 2;\n case 2: return [2 /*return*/, this._refreshFacebookTokenImpl()];\n }\n });\n });\n };\n FacebookOAuth.prototype._refreshFacebookTokenImpl = function () {\n var fb = null;\n if (browserOrNode().isBrowser)\n fb = window['FB'];\n if (!fb) {\n var errorMessage = 'no fb sdk available';\n logger.debug(errorMessage);\n return Promise.reject(new NonRetryableError(errorMessage));\n }\n return new Promise(function (res, rej) {\n fb.getLoginStatus(function (fbResponse) {\n if (!fbResponse || !fbResponse.authResponse) {\n var errorMessage = 'no response from facebook when refreshing the jwt token';\n logger.debug(errorMessage);\n // There is no definitive indication for a network error in\n // fbResponse, so we are treating it as an invalid token.\n rej(new NonRetryableError(errorMessage));\n }\n else {\n var response = fbResponse.authResponse;\n var accessToken = response.accessToken, expiresIn = response.expiresIn;\n var date = new Date();\n var expires_at = expiresIn * 1000 + date.getTime();\n if (!accessToken) {\n var errorMessage = 'the jwtToken is undefined';\n logger.debug(errorMessage);\n rej(new NonRetryableError(errorMessage));\n }\n res({\n token: accessToken,\n expires_at: expires_at,\n });\n }\n }, { scope: 'public_profile,email' });\n });\n };\n return FacebookOAuth;\n}());\nexport { FacebookOAuth };\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { GoogleOAuth as GoogleOAuthClass } from './GoogleOAuth';\nimport { FacebookOAuth as FacebookOAuthClass } from './FacebookOAuth';\nexport var GoogleOAuth = new GoogleOAuthClass();\nexport var FacebookOAuth = new FacebookOAuthClass();\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Default partition for AWS services. This is used when the region is not provided or the region is not recognized.\n *\n * @internal\n */\nexport var defaultPartition = {\n id: 'aws',\n outputs: {\n dnsSuffix: 'amazonaws.com',\n },\n regionRegex: '^(us|eu|ap|sa|ca|me|af)\\\\-\\\\w+\\\\-\\\\d+$',\n regions: ['aws-global'],\n};\n/**\n * This data is adapted from the partition file from AWS SDK shared utilities but remove some contents for bundle size\n * concern. Information removed are `dualStackDnsSuffix`, `supportDualStack`, `supportFIPS`, restricted partitions, and\n * list of regions for each partition other than global regions.\n *\n * * Ref: https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints\n * * Ref: https://github.com/aws/aws-sdk-js-v3/blob/0201baef03c2379f1f6f7150b9d401d4b230d488/packages/util-endpoints/src/lib/aws/partitions.json#L1\n *\n * @internal\n */\nexport var partitionsInfo = {\n partitions: [\n defaultPartition,\n {\n id: 'aws-cn',\n outputs: {\n dnsSuffix: 'amazonaws.com.cn',\n },\n regionRegex: '^cn\\\\-\\\\w+\\\\-\\\\d+$',\n regions: ['aws-cn-global'],\n },\n ],\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nimport { defaultPartition, partitionsInfo } from './partitions';\n/**\n * Get the AWS Services endpoint URL's DNS suffix for a given region. A typical AWS regional service endpoint URL will\n * follow this pattern: {endpointPrefix}.{region}.{dnsSuffix}. For example, the endpoint URL for Cognito Identity in\n * us-east-1 will be cognito-identity.us-east-1.amazonaws.com. Here the DnsSuffix is `amazonaws.com`.\n *\n * @param region\n * @returns The DNS suffix\n *\n * @internal\n */\nexport var getDnsSuffix = function (region) {\n var e_1, _a;\n var partitions = partitionsInfo.partitions;\n try {\n for (var partitions_1 = __values(partitions), partitions_1_1 = partitions_1.next(); !partitions_1_1.done; partitions_1_1 = partitions_1.next()) {\n var _b = partitions_1_1.value, regions = _b.regions, outputs = _b.outputs, regionRegex = _b.regionRegex;\n var regex = new RegExp(regionRegex);\n if (regions.includes(region) || regex.test(region)) {\n return outputs.dnsSuffix;\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (partitions_1_1 && !partitions_1_1.done && (_a = partitions_1.return)) _a.call(partitions_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return defaultPartition.outputs.dnsSuffix;\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar DEFAULT_RETRY_ATTEMPTS = 3;\n/**\n * Retry middleware\n */\nexport var retryMiddleware = function (_a) {\n var _b = _a.maxAttempts, maxAttempts = _b === void 0 ? DEFAULT_RETRY_ATTEMPTS : _b, retryDecider = _a.retryDecider, computeDelay = _a.computeDelay, abortSignal = _a.abortSignal;\n if (maxAttempts < 1) {\n throw new Error('maxAttempts must be greater than 0');\n }\n return function (next, context) {\n return function retryMiddleware(request) {\n var _a;\n return __awaiter(this, void 0, void 0, function () {\n var error, attemptsCount, response, handleTerminalErrorOrResponse, e_1, delay;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n attemptsCount = (_a = context.attemptsCount) !== null && _a !== void 0 ? _a : 0;\n handleTerminalErrorOrResponse = function () {\n if (response) {\n addOrIncrementMetadataAttempts(response, attemptsCount);\n return response;\n }\n else {\n addOrIncrementMetadataAttempts(error, attemptsCount);\n throw error;\n }\n };\n _b.label = 1;\n case 1:\n if (!(!(abortSignal === null || abortSignal === void 0 ? void 0 : abortSignal.aborted) && attemptsCount < maxAttempts)) return [3 /*break*/, 11];\n _b.label = 2;\n case 2:\n _b.trys.push([2, 4, , 5]);\n return [4 /*yield*/, next(request)];\n case 3:\n response = _b.sent();\n error = undefined;\n return [3 /*break*/, 5];\n case 4:\n e_1 = _b.sent();\n error = e_1;\n response = undefined;\n return [3 /*break*/, 5];\n case 5:\n // context.attemptsCount may be updated after calling next handler which may retry the request by itself.\n attemptsCount =\n context.attemptsCount > attemptsCount\n ? context.attemptsCount\n : attemptsCount + 1;\n context.attemptsCount = attemptsCount;\n return [4 /*yield*/, retryDecider(response, error)];\n case 6:\n if (!_b.sent()) return [3 /*break*/, 9];\n if (!(!(abortSignal === null || abortSignal === void 0 ? void 0 : abortSignal.aborted) && attemptsCount < maxAttempts)) return [3 /*break*/, 8];\n delay = computeDelay(attemptsCount);\n return [4 /*yield*/, cancellableSleep(delay, abortSignal)];\n case 7:\n _b.sent();\n _b.label = 8;\n case 8: return [3 /*break*/, 1];\n case 9: return [2 /*return*/, handleTerminalErrorOrResponse()];\n case 10: return [3 /*break*/, 1];\n case 11:\n if (abortSignal === null || abortSignal === void 0 ? void 0 : abortSignal.aborted) {\n throw new Error('Request aborted.');\n }\n else {\n return [2 /*return*/, handleTerminalErrorOrResponse()];\n }\n return [2 /*return*/];\n }\n });\n });\n };\n };\n};\nvar cancellableSleep = function (timeoutMs, abortSignal) {\n if (abortSignal === null || abortSignal === void 0 ? void 0 : abortSignal.aborted) {\n return Promise.resolve();\n }\n var timeoutId;\n var sleepPromiseResolveFn;\n var sleepPromise = new Promise(function (resolve) {\n sleepPromiseResolveFn = resolve;\n timeoutId = setTimeout(resolve, timeoutMs);\n });\n abortSignal === null || abortSignal === void 0 ? void 0 : abortSignal.addEventListener('abort', function cancelSleep(event) {\n clearTimeout(timeoutId);\n abortSignal === null || abortSignal === void 0 ? void 0 : abortSignal.removeEventListener('abort', cancelSleep);\n sleepPromiseResolveFn();\n });\n return sleepPromise;\n};\nvar addOrIncrementMetadataAttempts = function (nextHandlerOutput, attempts) {\n var _a;\n if (Object.prototype.toString.call(nextHandlerOutput) !== '[object Object]') {\n return;\n }\n nextHandlerOutput['$metadata'] = __assign(__assign({}, ((_a = nextHandlerOutput['$metadata']) !== null && _a !== void 0 ? _a : {})), { attempts: attempts });\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\n/**\n * Middleware injects user agent string to specified header(default to 'x-amz-user-agent'),\n * if the header is not set already.\n *\n * TODO: incorporate new user agent design\n */\nexport var userAgentMiddleware = function (_a) {\n var _b = _a.userAgentHeader, userAgentHeader = _b === void 0 ? 'x-amz-user-agent' : _b, _c = _a.userAgentValue, userAgentValue = _c === void 0 ? '' : _c;\n return function (next) {\n return function userAgentMiddleware(request) {\n return __awaiter(this, void 0, void 0, function () {\n var result, headerName, response;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(userAgentValue.trim().length === 0)) return [3 /*break*/, 2];\n return [4 /*yield*/, next(request)];\n case 1:\n result = _a.sent();\n return [2 /*return*/, result];\n case 2:\n headerName = userAgentHeader.toLowerCase();\n request.headers[headerName] = request.headers[headerName]\n ? \"\".concat(request.headers[headerName], \" \").concat(userAgentValue)\n : userAgentValue;\n return [4 /*yield*/, next(request)];\n case 3:\n response = _a.sent();\n return [2 /*return*/, response];\n }\n });\n });\n };\n };\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Compose a transfer handler with a core transfer handler and a list of middleware.\n * @param coreHandler Core transfer handler\n * @param middleware\tList of middleware\n * @returns A transfer handler whose option type is the union of the core\n * \ttransfer handler's option type and the middleware's option type.\n * @internal\n */\nexport var composeTransferHandler = function (coreHandler, middleware) {\n return function (request, options) {\n var context = {};\n var composedHandler = function (request) { return coreHandler(request, options); };\n for (var i = middleware.length - 1; i >= 0; i--) {\n var m = middleware[i];\n var resolvedMiddleware = m(options);\n composedHandler = resolvedMiddleware(composedHandler, context);\n }\n return composedHandler(request);\n };\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Cache the payload of a response body. It allows multiple calls to the body,\n * for example, when reading the body in both retry decider and error deserializer.\n * Caching body is allowed here because we call the body accessor(blob(), json(),\n * etc.) when body is small or streaming implementation is not available(RN).\n *\n * @internal\n */\nexport var withMemoization = function (payloadAccessor) {\n var cached;\n return function () {\n if (!cached) {\n // Explicitly not awaiting. Intermediate await would add overhead and\n // introduce a possible race in the event that this wrapper is called\n // again before the first `payloadAccessor` call resolves.\n cached = payloadAccessor();\n }\n return cached;\n };\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nimport 'isomorphic-unfetch'; // TODO: remove this dependency in v6\nimport { withMemoization } from '../utils/memoization';\nvar shouldSendBody = function (method) {\n return !['HEAD', 'GET', 'DELETE'].includes(method.toUpperCase());\n};\nexport var fetchTransferHandler = function (_a, _b) {\n var url = _a.url, method = _a.method, headers = _a.headers, body = _a.body;\n var abortSignal = _b.abortSignal;\n return __awaiter(void 0, void 0, void 0, function () {\n var resp, e_1, responseHeaders, httpResponse, bodyWithMixin;\n var _c, _d;\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n _e.trys.push([0, 2, , 3]);\n return [4 /*yield*/, fetch(url, {\n method: method,\n headers: headers,\n body: shouldSendBody(method) ? body : undefined,\n signal: abortSignal,\n })];\n case 1:\n resp = _e.sent();\n return [3 /*break*/, 3];\n case 2:\n e_1 = _e.sent();\n // TODO: needs to revise error handling in v6\n // For now this is a thin wrapper over original fetch error similar to cognito-identity-js package.\n // Ref: https://github.com/aws-amplify/amplify-js/blob/4fbc8c0a2be7526aab723579b4c95b552195a80b/packages/amazon-cognito-identity-js/src/Client.js#L103-L108\n if (e_1 instanceof TypeError) {\n throw new Error('Network error');\n }\n throw e_1;\n case 3:\n responseHeaders = {};\n (_c = resp.headers) === null || _c === void 0 ? void 0 : _c.forEach(function (value, key) {\n responseHeaders[key.toLowerCase()] = value;\n });\n httpResponse = {\n statusCode: resp.status,\n headers: responseHeaders,\n body: null,\n };\n bodyWithMixin = Object.assign((_d = resp.body) !== null && _d !== void 0 ? _d : {}, {\n text: withMemoization(function () { return resp.text(); }),\n blob: withMemoization(function () { return resp.blob(); }),\n json: withMemoization(function () { return resp.json(); }),\n });\n return [2 /*return*/, __assign(__assign({}, httpResponse), { body: bodyWithMixin })];\n }\n });\n });\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { retryMiddleware } from '../middleware/retry';\nimport { userAgentMiddleware } from '../middleware/userAgent';\nimport { composeTransferHandler } from '../internal/composeTransferHandler';\nimport { fetchTransferHandler } from './fetch';\nexport var unauthenticatedHandler = composeTransferHandler(fetchTransferHandler, [userAgentMiddleware, retryMiddleware]);\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nexport var parseMetadata = function (response) {\n var _a, _b;\n var headers = response.headers, statusCode = response.statusCode;\n return __assign(__assign({}, (isMetadataBearer(response) ? response.$metadata : {})), { httpStatusCode: statusCode, requestId: (_b = (_a = headers['x-amzn-requestid']) !== null && _a !== void 0 ? _a : headers['x-amzn-request-id']) !== null && _b !== void 0 ? _b : headers['x-amz-request-id'], extendedRequestId: headers['x-amz-id-2'], cfId: headers['x-amz-cf-id'] });\n};\nvar isMetadataBearer = function (response) {\n return typeof (response === null || response === void 0 ? void 0 : response['$metadata']) === 'object';\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nimport { parseMetadata } from './responseInfo';\n/**\n * Utility functions for serializing and deserializing of JSON protocol in general(including: REST-JSON, JSON-RPC, etc.)\n */\n/**\n * Error parser for AWS JSON protocol.\n */\nexport var parseJsonError = function (response) { return __awaiter(void 0, void 0, void 0, function () {\n var body, sanitizeErrorCode, code, message, error;\n var _a, _b, _c, _d, _e;\n return __generator(this, function (_f) {\n switch (_f.label) {\n case 0:\n if (!response || response.statusCode < 300) {\n return [2 /*return*/];\n }\n return [4 /*yield*/, parseJsonBody(response)];\n case 1:\n body = _f.sent();\n sanitizeErrorCode = function (rawValue) {\n var _a = __read(rawValue.toString().split(/[\\,\\:]+/), 1), cleanValue = _a[0];\n if (cleanValue.includes('#')) {\n return cleanValue.split('#')[1];\n }\n return cleanValue;\n };\n code = sanitizeErrorCode((_c = (_b = (_a = response.headers['x-amzn-errortype']) !== null && _a !== void 0 ? _a : body.code) !== null && _b !== void 0 ? _b : body.__type) !== null && _c !== void 0 ? _c : 'UnknownError');\n message = (_e = (_d = body.message) !== null && _d !== void 0 ? _d : body.Message) !== null && _e !== void 0 ? _e : 'Unknown error';\n error = new Error(message);\n return [2 /*return*/, Object.assign(error, {\n name: code,\n $metadata: parseMetadata(response),\n })];\n }\n });\n}); };\n/**\n * Parse JSON response body to JavaScript object.\n */\nexport var parseJsonBody = function (response) { return __awaiter(void 0, void 0, void 0, function () {\n var output;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!response.body) {\n throw new Error('Missing response payload');\n }\n return [4 /*yield*/, response.body.json()];\n case 1:\n output = _a.sent();\n return [2 /*return*/, Object.assign(output, {\n $metadata: parseMetadata(response),\n })];\n }\n });\n}); };\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n// via https://github.com/aws/aws-sdk-js-v3/blob/ab0e7be36e7e7f8a0c04834357aaad643c7912c3/packages/service-error-classification/src/constants.ts#L8\nvar CLOCK_SKEW_ERROR_CODES = [\n 'AuthFailure',\n 'InvalidSignatureException',\n 'RequestExpired',\n 'RequestInTheFuture',\n 'RequestTimeTooSkewed',\n 'SignatureDoesNotMatch',\n 'BadRequestException', // API Gateway\n];\n/**\n * Given an error code, returns true if it is related to a clock skew error.\n *\n * @param errorCode String representation of some error.\n * @returns True if given error is present in `CLOCK_SKEW_ERROR_CODES`, false otherwise.\n *\n * @internal\n */\nexport var isClockSkewError = function (errorCode) {\n return CLOCK_SKEW_ERROR_CODES.includes(errorCode);\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nimport { isClockSkewError } from './isClockSkewError';\n/**\n * Get retry decider function\n * @param errorParser Function to load JavaScript error from HTTP response\n */\nexport var getRetryDecider = function (errorParser) {\n return function (response, error) { return __awaiter(void 0, void 0, void 0, function () {\n var errorCode, _a, statusCode;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (!(error !== null && error !== void 0)) return [3 /*break*/, 1];\n _a = error;\n return [3 /*break*/, 3];\n case 1: return [4 /*yield*/, errorParser(response)];\n case 2:\n _a = (_c.sent());\n _c.label = 3;\n case 3:\n errorCode = ((_b = _a) !== null && _b !== void 0 ? _b : {}).name;\n statusCode = response === null || response === void 0 ? void 0 : response.statusCode;\n return [2 /*return*/, (isConnectionError(error) ||\n isThrottlingError(statusCode, errorCode) ||\n isClockSkewError(errorCode) ||\n isServerSideError(statusCode, errorCode))];\n }\n });\n }); };\n};\n// reference: https://github.com/aws/aws-sdk-js-v3/blob/ab0e7be36e7e7f8a0c04834357aaad643c7912c3/packages/service-error-classification/src/constants.ts#L22-L37\nvar THROTTLING_ERROR_CODES = [\n 'BandwidthLimitExceeded',\n 'EC2ThrottledException',\n 'LimitExceededException',\n 'PriorRequestNotComplete',\n 'ProvisionedThroughputExceededException',\n 'RequestLimitExceeded',\n 'RequestThrottled',\n 'RequestThrottledException',\n 'SlowDown',\n 'ThrottledException',\n 'Throttling',\n 'ThrottlingException',\n 'TooManyRequestsException',\n];\nvar TIMEOUT_ERROR_CODES = [\n 'TimeoutError',\n 'RequestTimeout',\n 'RequestTimeoutException',\n];\nvar isThrottlingError = function (statusCode, errorCode) {\n return statusCode === 429 || THROTTLING_ERROR_CODES.includes(errorCode);\n};\nvar isConnectionError = function (error) { return (error === null || error === void 0 ? void 0 : error.name) === 'Network error'; };\nvar isServerSideError = function (statusCode, errorCode) {\n return [500, 502, 503, 504].includes(statusCode) ||\n TIMEOUT_ERROR_CODES.includes(errorCode);\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n// TODO: [v6] The separate retry utility is used by Data packages now and will replaced by retry middleware.\nimport { jitteredBackoff as jitteredBackoffUtil } from '../../../Util/Retry';\nvar DEFAULT_MAX_DELAY_MS = 5 * 60 * 1000;\nexport var jitteredBackoff = function (attempt) {\n var delayFunction = jitteredBackoffUtil(DEFAULT_MAX_DELAY_MS);\n var delay = delayFunction(attempt);\n // The delayFunction returns false when the delay is greater than the max delay(5 mins).\n // In this case, the retry middleware will delay 5 mins instead, as a ceiling of the delay.\n return delay === false ? DEFAULT_MAX_DELAY_MS : delay;\n};\n","// generated by genversion\nexport var version = '5.3.18';\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport var globalExists = function () {\n return typeof global !== 'undefined';\n};\nexport var globalThisExists = function () {\n return typeof globalThis !== 'undefined';\n};\nexport var windowExists = function () {\n return typeof window !== 'undefined';\n};\nexport var documentExists = function () {\n return typeof document !== 'undefined';\n};\nexport var processExists = function () {\n return typeof process !== 'undefined';\n};\nexport var keyPrefixMatch = function (object, prefix) {\n return !!Object.keys(object).find(function (key) { return key.startsWith(prefix); });\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Framework } from '../types';\nimport { reactWebDetect, reactSSRDetect } from './React';\nimport { vueWebDetect, vueSSRDetect } from './Vue';\nimport { svelteWebDetect, svelteSSRDetect } from './Svelte';\nimport { nextWebDetect, nextSSRDetect } from './Next';\nimport { nuxtWebDetect, nuxtSSRDetect } from './Nuxt';\nimport { angularWebDetect, angularSSRDetect } from './Angular';\nimport { reactNativeDetect } from './ReactNative';\nimport { expoDetect } from './Expo';\nimport { webDetect } from './Web';\n// These are in the order of detection where when both are detectable, the early Framework will be reported\nvar detectionMap = [\n // First, detect mobile\n { platform: Framework.Expo, detectionMethod: expoDetect },\n { platform: Framework.ReactNative, detectionMethod: reactNativeDetect },\n // Next, detect web frameworks\n { platform: Framework.NextJs, detectionMethod: nextWebDetect },\n { platform: Framework.Nuxt, detectionMethod: nuxtWebDetect },\n { platform: Framework.Angular, detectionMethod: angularWebDetect },\n { platform: Framework.React, detectionMethod: reactWebDetect },\n { platform: Framework.VueJs, detectionMethod: vueWebDetect },\n { platform: Framework.Svelte, detectionMethod: svelteWebDetect },\n { platform: Framework.WebUnknown, detectionMethod: webDetect },\n // Last, detect ssr frameworks\n { platform: Framework.NextJsSSR, detectionMethod: nextSSRDetect },\n { platform: Framework.NuxtSSR, detectionMethod: nuxtSSRDetect },\n { platform: Framework.ReactSSR, detectionMethod: reactSSRDetect },\n { platform: Framework.VueJsSSR, detectionMethod: vueSSRDetect },\n { platform: Framework.AngularSSR, detectionMethod: angularSSRDetect },\n { platform: Framework.SvelteSSR, detectionMethod: svelteSSRDetect },\n];\nexport function detect() {\n var _a;\n return (((_a = detectionMap.find(function (detectionEntry) { return detectionEntry.detectionMethod(); })) === null || _a === void 0 ? void 0 : _a.platform) || Framework.ServerSideUnknown);\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Framework } from './types';\nimport { detect } from './detection';\n// We want to cache detection since the framework won't change\nvar frameworkCache;\nexport var frameworkChangeObservers = [];\n// Setup the detection reset tracking / timeout delays\nvar resetTriggered = false;\nvar SSR_RESET_TIMEOUT = 10; // ms\nvar WEB_RESET_TIMEOUT = 10; // ms\nvar PRIME_FRAMEWORK_DELAY = 1000; // ms\nexport var detectFramework = function () {\n if (!frameworkCache) {\n frameworkCache = detect();\n if (resetTriggered) {\n // The final run of detectFramework:\n // Starting from this point, the `frameworkCache` becomes \"final\".\n // So we don't need to notify the observers again so the observer\n // can be removed after the final notice.\n while (frameworkChangeObservers.length) {\n frameworkChangeObservers.pop()();\n }\n }\n else {\n // The first run of detectFramework:\n // Every time we update the cache, call each observer function\n frameworkChangeObservers.forEach(function (fcn) { return fcn(); });\n }\n // Retry once for either Unknown type after a delay (explained below)\n resetTimeout(Framework.ServerSideUnknown, SSR_RESET_TIMEOUT);\n resetTimeout(Framework.WebUnknown, WEB_RESET_TIMEOUT);\n }\n return frameworkCache;\n};\n/**\n * @internal Setup observer callback that will be called everytime the framework changes\n */\nexport var observeFrameworkChanges = function (fcn) {\n // When the `frameworkCache` won't be updated again, we ignore all incoming\n // observers.\n if (resetTriggered) {\n return;\n }\n frameworkChangeObservers.push(fcn);\n};\nexport function clearCache() {\n frameworkCache = undefined;\n}\n// For a framework type and a delay amount, setup the event to re-detect\n// During the runtime boot, it is possible that framework detection will\n// be triggered before the framework has made modifications to the\n// global/window/etc needed for detection. When no framework is detected\n// we will reset and try again to ensure we don't use a cached\n// non-framework detection result for all requests.\nfunction resetTimeout(framework, delay) {\n if (frameworkCache === framework && !resetTriggered) {\n setTimeout(function () {\n clearCache();\n resetTriggered = true;\n setTimeout(detectFramework, PRIME_FRAMEWORK_DELAY);\n }, delay);\n }\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { globalExists } from './helpers';\n// Tested with expo 48 / react-native 0.71.3\nexport function expoDetect() {\n // @ts-ignore\n return globalExists() && typeof global['expo'] !== 'undefined';\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n// Tested with react-native 0.17.7\nexport function reactNativeDetect() {\n return (typeof navigator !== 'undefined' &&\n typeof navigator.product !== 'undefined' &&\n navigator.product === 'ReactNative');\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { globalExists, keyPrefixMatch, windowExists } from './helpers';\n// Tested with next 13.4 / react 18.2\nexport function nextWebDetect() {\n // @ts-ignore\n return windowExists() && window['next'] && typeof window['next'] === 'object';\n}\nexport function nextSSRDetect() {\n return (globalExists() &&\n (keyPrefixMatch(global, '__next') || keyPrefixMatch(global, '__NEXT')));\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { globalExists, windowExists } from './helpers';\n// Tested with nuxt 2.15 / vue 2.7\nexport function nuxtWebDetect() {\n return (windowExists() &&\n // @ts-ignore\n (window['__NUXT__'] !== undefined || window['$nuxt'] !== undefined));\n}\nexport function nuxtSSRDetect() {\n // @ts-ignore\n return globalExists() && typeof global['__NUXT_PATHS__'] !== 'undefined';\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { documentExists, processExists, windowExists } from './helpers';\n// Tested with @angular/core 16.0.0\nexport function angularWebDetect() {\n var angularVersionSetInDocument = Boolean(documentExists() && document.querySelector('[ng-version]'));\n var angularContentSetInWindow = Boolean(\n // @ts-ignore\n windowExists() && typeof window['ng'] !== 'undefined');\n return angularVersionSetInDocument || angularContentSetInWindow;\n}\nexport function angularSSRDetect() {\n var _a;\n return ((processExists() &&\n typeof process.env === 'object' &&\n ((_a = process.env['npm_lifecycle_script']) === null || _a === void 0 ? void 0 : _a.startsWith('ng '))) ||\n false);\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { documentExists, processExists } from './helpers';\n// Tested with react 18.2 - built using Vite\nexport function reactWebDetect() {\n var elementKeyPrefixedWithReact = function (key) {\n return key.startsWith('_react') || key.startsWith('__react');\n };\n var elementIsReactEnabled = function (element) {\n return Object.keys(element).find(elementKeyPrefixedWithReact);\n };\n var allElementsWithId = function () { return Array.from(document.querySelectorAll('[id]')); };\n return documentExists() && allElementsWithId().some(elementIsReactEnabled);\n}\nexport function reactSSRDetect() {\n return (processExists() &&\n typeof process.env !== 'undefined' &&\n !!Object.keys(process.env).find(function (key) { return key.includes('react'); }));\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { globalExists, keyPrefixMatch, windowExists } from './helpers';\n// Tested with vue 3.3.2\nexport function vueWebDetect() {\n return windowExists() && keyPrefixMatch(window, '__VUE');\n}\nexport function vueSSRDetect() {\n return globalExists() && keyPrefixMatch(global, '__VUE');\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { keyPrefixMatch, processExists, windowExists } from './helpers';\n// Tested with svelte 3.59\nexport function svelteWebDetect() {\n return windowExists() && keyPrefixMatch(window, '__SVELTE');\n}\nexport function svelteSSRDetect() {\n return (processExists() &&\n typeof process.env !== 'undefined' &&\n !!Object.keys(process.env).find(function (key) { return key.includes('svelte'); }));\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { windowExists } from './helpers';\nexport function webDetect() {\n return windowExists();\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nimport { Framework } from './types';\nimport { version } from './version';\nimport { detectFramework, observeFrameworkChanges } from './detectFramework';\nvar BASE_USER_AGENT = \"aws-amplify\";\nvar PlatformBuilder = /** @class */ (function () {\n function PlatformBuilder() {\n this.userAgent = \"\".concat(BASE_USER_AGENT, \"/\").concat(version);\n }\n Object.defineProperty(PlatformBuilder.prototype, \"framework\", {\n get: function () {\n return detectFramework();\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PlatformBuilder.prototype, \"isReactNative\", {\n get: function () {\n return (this.framework === Framework.ReactNative ||\n this.framework === Framework.Expo);\n },\n enumerable: false,\n configurable: true\n });\n PlatformBuilder.prototype.observeFrameworkChanges = function (fcn) {\n observeFrameworkChanges(fcn);\n };\n return PlatformBuilder;\n}());\nexport var Platform = new PlatformBuilder();\nexport var getAmplifyUserAgentObject = function (_a) {\n var _b = _a === void 0 ? {} : _a, category = _b.category, action = _b.action, framework = _b.framework;\n var userAgent = [[BASE_USER_AGENT, version]];\n if (category) {\n userAgent.push([category, action]);\n }\n userAgent.push(['framework', detectFramework()]);\n return userAgent;\n};\nexport var getAmplifyUserAgent = function (customUserAgentDetails) {\n var userAgent = getAmplifyUserAgentObject(customUserAgentDetails);\n var userAgentString = userAgent\n .map(function (_a) {\n var _b = __read(_a, 2), agentKey = _b[0], agentValue = _b[1];\n return \"\".concat(agentKey, \"/\").concat(agentValue);\n })\n .join(' ');\n return userAgentString;\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nimport { getDnsSuffix, unauthenticatedHandler, parseJsonError, } from '../../clients';\nimport { composeTransferHandler } from '../../clients/internal/composeTransferHandler';\nimport { jitteredBackoff, getRetryDecider, } from '../../clients/middleware/retry';\nimport { getAmplifyUserAgent } from '../../Platform';\nimport { observeFrameworkChanges } from '../../Platform/detectFramework';\n/**\n * The service name used to sign requests if the API requires authentication.\n */\nvar SERVICE_NAME = 'cognito-identity';\n/**\n * The endpoint resolver function that returns the endpoint URL for a given region.\n */\nvar endpointResolver = function (_a) {\n var region = _a.region;\n return ({\n url: new URL(\"https://cognito-identity.\".concat(region, \".\").concat(getDnsSuffix(region))),\n });\n};\n/**\n * A Cognito Identity-specific middleware that disables caching for all requests.\n */\nvar disableCacheMiddleware = function () { return function (next, context) {\n return function disableCacheMiddleware(request) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n request.headers['cache-control'] = 'no-store';\n return [2 /*return*/, next(request)];\n });\n });\n };\n}; };\n/**\n * A Cognito Identity-specific transfer handler that does NOT sign requests, and\n * disables caching.\n *\n * @internal\n */\nexport var cognitoIdentityTransferHandler = composeTransferHandler(unauthenticatedHandler, [disableCacheMiddleware]);\n/**\n * @internal\n */\nexport var defaultConfig = {\n service: SERVICE_NAME,\n endpointResolver: endpointResolver,\n retryDecider: getRetryDecider(parseJsonError),\n computeDelay: jitteredBackoff,\n userAgentValue: getAmplifyUserAgent(),\n};\nobserveFrameworkChanges(function () {\n defaultConfig.userAgentValue = getAmplifyUserAgent();\n});\n/**\n * @internal\n */\nexport var getSharedHeaders = function (operation) { return ({\n 'content-type': 'application/x-amz-json-1.1',\n 'x-amz-target': \"AWSCognitoIdentityService.\".concat(operation),\n}); };\n/**\n * @internal\n */\nexport var buildHttpRpcRequest = function (_a, headers, body) {\n var url = _a.url;\n return ({\n headers: headers,\n url: url,\n body: body,\n method: 'POST',\n });\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nexport var composeServiceApi = function (transferHandler, serializer, deserializer, defaultConfig) {\n return function (config, input) { return __awaiter(void 0, void 0, void 0, function () {\n var resolvedConfig, endpoint, request, response;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n resolvedConfig = __assign(__assign({}, defaultConfig), config);\n return [4 /*yield*/, resolvedConfig.endpointResolver(resolvedConfig, input)];\n case 1:\n endpoint = _a.sent();\n return [4 /*yield*/, serializer(input, endpoint)];\n case 2:\n request = _a.sent();\n return [4 /*yield*/, transferHandler(request, __assign({}, resolvedConfig))];\n case 3:\n response = _a.sent();\n return [4 /*yield*/, deserializer(response)];\n case 4: return [2 /*return*/, _a.sent()];\n }\n });\n }); };\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nimport { buildHttpRpcRequest, cognitoIdentityTransferHandler, defaultConfig, getSharedHeaders, } from './base';\nimport { parseJsonBody, parseJsonError, parseMetadata, } from '../../clients';\nimport { composeServiceApi } from '../../clients/internal';\nvar getIdSerializer = function (input, endpoint) {\n var headers = getSharedHeaders('GetId');\n var body = JSON.stringify(input);\n return buildHttpRpcRequest(endpoint, headers, body);\n};\nvar getIdDeserializer = function (response) { return __awaiter(void 0, void 0, void 0, function () {\n var error, body;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(response.statusCode >= 300)) return [3 /*break*/, 2];\n return [4 /*yield*/, parseJsonError(response)];\n case 1:\n error = _a.sent();\n throw error;\n case 2: return [4 /*yield*/, parseJsonBody(response)];\n case 3:\n body = _a.sent();\n return [2 /*return*/, {\n IdentityId: body.IdentityId,\n $metadata: parseMetadata(response),\n }];\n }\n });\n}); };\n/**\n * @internal\n */\nexport var getId = composeServiceApi(cognitoIdentityTransferHandler, getIdSerializer, getIdDeserializer, defaultConfig);\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nimport { buildHttpRpcRequest, cognitoIdentityTransferHandler, defaultConfig, getSharedHeaders, } from './base';\nimport { parseJsonBody, parseJsonError, parseMetadata, } from '../../clients';\nimport { composeServiceApi } from '../../clients/internal';\nvar getCredentialsForIdentitySerializer = function (input, endpoint) {\n var headers = getSharedHeaders('GetCredentialsForIdentity');\n var body = JSON.stringify(input);\n return buildHttpRpcRequest(endpoint, headers, body);\n};\nvar getCredentialsForIdentityDeserializer = function (response) { return __awaiter(void 0, void 0, void 0, function () {\n var error, body;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(response.statusCode >= 300)) return [3 /*break*/, 2];\n return [4 /*yield*/, parseJsonError(response)];\n case 1:\n error = _a.sent();\n throw error;\n case 2: return [4 /*yield*/, parseJsonBody(response)];\n case 3:\n body = _a.sent();\n return [2 /*return*/, {\n IdentityId: body.IdentityId,\n Credentials: deserializeCredentials(body.Credentials),\n $metadata: parseMetadata(response),\n }];\n }\n });\n}); };\nvar deserializeCredentials = function (output) {\n if (output === void 0) { output = {}; }\n return ({\n AccessKeyId: output['AccessKeyId'],\n SecretKey: output['SecretKey'],\n SessionToken: output['SessionToken'],\n Expiration: new Date(output['Expiration'] * 1000),\n });\n};\n/**\n * @internal\n */\nexport var getCredentialsForIdentity = composeServiceApi(cognitoIdentityTransferHandler, getCredentialsForIdentitySerializer, getCredentialsForIdentityDeserializer, defaultConfig);\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport { ConsoleLogger as Logger } from './Logger';\nvar logger = new Logger('Parser');\nexport var parseAWSExports = function (config) {\n var amplifyConfig = {};\n // Analytics\n if (config['aws_mobile_analytics_app_id']) {\n var Analytics = {\n AWSPinpoint: {\n appId: config['aws_mobile_analytics_app_id'],\n region: config['aws_mobile_analytics_app_region'],\n },\n };\n amplifyConfig.Analytics = Analytics;\n }\n // Auth\n if (config['aws_cognito_identity_pool_id'] || config['aws_user_pools_id']) {\n amplifyConfig.Auth = {\n userPoolId: config['aws_user_pools_id'],\n userPoolWebClientId: config['aws_user_pools_web_client_id'],\n region: config['aws_cognito_region'],\n identityPoolId: config['aws_cognito_identity_pool_id'],\n identityPoolRegion: config['aws_cognito_region'],\n mandatorySignIn: config['aws_mandatory_sign_in'] === 'enable',\n signUpVerificationMethod: config['aws_cognito_sign_up_verification_method'] || 'code',\n };\n }\n // Storage\n var storageConfig;\n if (config['aws_user_files_s3_bucket']) {\n storageConfig = {\n AWSS3: {\n bucket: config['aws_user_files_s3_bucket'],\n region: config['aws_user_files_s3_bucket_region'],\n dangerouslyConnectToHttpEndpointForTesting: config['aws_user_files_s3_dangerously_connect_to_http_endpoint_for_testing'],\n },\n };\n }\n else {\n storageConfig = config ? config.Storage || config : {};\n }\n // Logging\n if (config['Logging']) {\n amplifyConfig.Logging = __assign(__assign({}, config['Logging']), { region: config['aws_project_region'] });\n }\n // Geo\n if (config['geo']) {\n amplifyConfig.Geo = Object.assign({}, config.geo);\n if (config.geo['amazon_location_service']) {\n amplifyConfig.Geo = {\n AmazonLocationService: config.geo['amazon_location_service'],\n };\n }\n }\n amplifyConfig.Analytics = Object.assign({}, amplifyConfig.Analytics, config.Analytics);\n amplifyConfig.Auth = Object.assign({}, amplifyConfig.Auth, config.Auth);\n amplifyConfig.Storage = Object.assign({}, storageConfig);\n amplifyConfig.Logging = Object.assign({}, amplifyConfig.Logging, config.Logging);\n logger.debug('parse config', config, 'to amplifyconfig', amplifyConfig);\n return amplifyConfig;\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { ConsoleLogger as Logger } from './Logger';\nimport { StorageHelper } from './StorageHelper';\nimport { makeQuerablePromise } from './JS';\nimport { FacebookOAuth, GoogleOAuth } from './OAuthHelper';\nimport { jitteredExponentialRetry } from './Util';\nimport { Amplify } from './Amplify';\nimport { getId, getCredentialsForIdentity } from './AwsClients/CognitoIdentity';\nimport { parseAWSExports } from './parseAWSExports';\nimport { Hub } from './Hub';\nvar logger = new Logger('Credentials');\nvar CREDENTIALS_TTL = 50 * 60 * 1000; // 50 min, can be modified on config if required in the future\nvar COGNITO_IDENTITY_KEY_PREFIX = 'CognitoIdentityId-';\nvar AMPLIFY_SYMBOL = (typeof Symbol !== 'undefined' && typeof Symbol.for === 'function'\n ? Symbol.for('amplify_default')\n : '@@amplify_default');\nvar dispatchCredentialsEvent = function (event, data, message) {\n Hub.dispatch('core', { event: event, data: data, message: message }, 'Credentials', AMPLIFY_SYMBOL);\n};\nvar CredentialsClass = /** @class */ (function () {\n function CredentialsClass(config) {\n this._gettingCredPromise = null;\n this._refreshHandlers = {};\n // Allow `Auth` to be injected for SSR, but Auth isn't a required dependency for Credentials\n this.Auth = undefined;\n this.configure(config);\n this._refreshHandlers['google'] = GoogleOAuth.refreshGoogleToken;\n this._refreshHandlers['facebook'] = FacebookOAuth.refreshFacebookToken;\n }\n CredentialsClass.prototype.getModuleName = function () {\n return 'Credentials';\n };\n CredentialsClass.prototype.getCredSource = function () {\n return this._credentials_source;\n };\n CredentialsClass.prototype.configure = function (config) {\n if (!config)\n return this._config || {};\n this._config = Object.assign({}, this._config, config);\n var refreshHandlers = this._config.refreshHandlers;\n // If the developer has provided an object of refresh handlers,\n // then we can merge the provided handlers with the current handlers.\n if (refreshHandlers) {\n this._refreshHandlers = __assign(__assign({}, this._refreshHandlers), refreshHandlers);\n }\n this._storage = this._config.storage;\n if (!this._storage) {\n this._storage = new StorageHelper().getStorage();\n }\n this._storageSync = Promise.resolve();\n if (typeof this._storage['sync'] === 'function') {\n this._storageSync = this._storage['sync']();\n }\n dispatchCredentialsEvent('credentials_configured', null, \"Credentials has been configured successfully\");\n return this._config;\n };\n CredentialsClass.prototype.get = function () {\n logger.debug('getting credentials');\n return this._pickupCredentials();\n };\n // currently we only store the guest identity in local storage\n CredentialsClass.prototype._getCognitoIdentityIdStorageKey = function (identityPoolId) {\n return \"\".concat(COGNITO_IDENTITY_KEY_PREFIX).concat(identityPoolId);\n };\n CredentialsClass.prototype._pickupCredentials = function () {\n logger.debug('picking up credentials');\n if (!this._gettingCredPromise || !this._gettingCredPromise.isPending()) {\n logger.debug('getting new cred promise');\n this._gettingCredPromise = makeQuerablePromise(this._keepAlive());\n }\n else {\n logger.debug('getting old cred promise');\n }\n return this._gettingCredPromise;\n };\n CredentialsClass.prototype._keepAlive = function () {\n return __awaiter(this, void 0, void 0, function () {\n var cred, _a, Auth, user_1, session, refreshToken_1, refreshRequest, err_1;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n logger.debug('checking if credentials exists and not expired');\n cred = this._credentials;\n if (cred && !this._isExpired(cred) && !this._isPastTTL()) {\n logger.debug('credentials not changed and not expired, directly return');\n return [2 /*return*/, Promise.resolve(cred)];\n }\n logger.debug('need to get a new credential or refresh the existing one');\n _a = this.Auth, Auth = _a === void 0 ? Amplify.Auth : _a;\n if (!Auth || typeof Auth.currentUserCredentials !== 'function') {\n // If Auth module is not imported, do a best effort to get guest credentials\n return [2 /*return*/, this._setCredentialsForGuest()];\n }\n if (!(!this._isExpired(cred) && this._isPastTTL())) return [3 /*break*/, 6];\n logger.debug('ttl has passed but token is not yet expired');\n _b.label = 1;\n case 1:\n _b.trys.push([1, 5, , 6]);\n return [4 /*yield*/, Auth.currentUserPoolUser()];\n case 2:\n user_1 = _b.sent();\n return [4 /*yield*/, Auth.currentSession()];\n case 3:\n session = _b.sent();\n refreshToken_1 = session.refreshToken;\n refreshRequest = new Promise(function (res, rej) {\n user_1.refreshSession(refreshToken_1, function (err, data) {\n return err ? rej(err) : res(data);\n });\n });\n return [4 /*yield*/, refreshRequest];\n case 4:\n _b.sent(); // note that rejections will be caught and handled in the catch block.\n return [3 /*break*/, 6];\n case 5:\n err_1 = _b.sent();\n // should not throw because user might just be on guest access or is authenticated through federation\n logger.debug('Error attempting to refreshing the session', err_1);\n return [3 /*break*/, 6];\n case 6: return [2 /*return*/, Auth.currentUserCredentials()];\n }\n });\n });\n };\n CredentialsClass.prototype.refreshFederatedToken = function (federatedInfo) {\n logger.debug('Getting federated credentials');\n var provider = federatedInfo.provider, user = federatedInfo.user, token = federatedInfo.token, identity_id = federatedInfo.identity_id;\n var expires_at = federatedInfo.expires_at;\n // Make sure expires_at is in millis\n expires_at =\n new Date(expires_at).getFullYear() === 1970\n ? expires_at * 1000\n : expires_at;\n var that = this;\n logger.debug('checking if federated jwt token expired');\n if (expires_at > new Date().getTime()) {\n // if not expired\n logger.debug('token not expired');\n return this._setCredentialsFromFederation({\n provider: provider,\n token: token,\n user: user,\n identity_id: identity_id,\n expires_at: expires_at,\n });\n }\n else {\n // if refresh handler exists\n if (that._refreshHandlers[provider] &&\n typeof that._refreshHandlers[provider] === 'function') {\n logger.debug('getting refreshed jwt token from federation provider');\n return this._providerRefreshWithRetry({\n refreshHandler: that._refreshHandlers[provider],\n provider: provider,\n user: user,\n });\n }\n else {\n logger.debug('no refresh handler for provider:', provider);\n this.clear();\n return Promise.reject('no refresh handler for provider');\n }\n }\n };\n CredentialsClass.prototype._providerRefreshWithRetry = function (_a) {\n var _this = this;\n var refreshHandler = _a.refreshHandler, provider = _a.provider, user = _a.user;\n var MAX_DELAY_MS = 10 * 1000;\n // refreshHandler will retry network errors, otherwise it will\n // return NonRetryableError to break out of jitteredExponentialRetry\n return jitteredExponentialRetry(refreshHandler, [], MAX_DELAY_MS)\n .then(function (data) {\n logger.debug('refresh federated token sucessfully', data);\n return _this._setCredentialsFromFederation({\n provider: provider,\n token: data.token,\n user: user,\n identity_id: data.identity_id,\n expires_at: data.expires_at,\n });\n })\n .catch(function (e) {\n var isNetworkError = typeof e === 'string' &&\n e.toLowerCase().lastIndexOf('network error', e.length) === 0;\n if (!isNetworkError) {\n _this.clear();\n }\n logger.debug('refresh federated token failed', e);\n return Promise.reject('refreshing federation token failed: ' + e);\n });\n };\n CredentialsClass.prototype._isExpired = function (credentials) {\n if (!credentials) {\n logger.debug('no credentials for expiration check');\n return true;\n }\n logger.debug('are these credentials expired?', credentials);\n var ts = Date.now();\n /* returns date object.\n https://github.com/aws/aws-sdk-js-v3/blob/v1.0.0-beta.1/packages/types/src/credentials.ts#L26\n */\n var expiration = credentials.expiration;\n return expiration.getTime() <= ts;\n };\n CredentialsClass.prototype._isPastTTL = function () {\n return this._nextCredentialsRefresh <= Date.now();\n };\n CredentialsClass.prototype._setCredentialsForGuest = function () {\n var _a;\n return __awaiter(this, void 0, void 0, function () {\n var _b, identityPoolId, region, mandatorySignIn, identityPoolRegion, identityId, _c, cognitoConfig, guestCredentialsProvider, credentials;\n var _this = this;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n logger.debug('setting credentials for guest');\n if (!((_a = this._config) === null || _a === void 0 ? void 0 : _a.identityPoolId)) {\n // If Credentials are not configured thru Auth module,\n // doing best effort to check if the library was configured\n this._config = Object.assign({}, this._config, parseAWSExports(this._config || {}).Auth);\n }\n _b = this._config, identityPoolId = _b.identityPoolId, region = _b.region, mandatorySignIn = _b.mandatorySignIn, identityPoolRegion = _b.identityPoolRegion;\n if (mandatorySignIn) {\n return [2 /*return*/, Promise.reject('cannot get guest credentials when mandatory signin enabled')];\n }\n if (!identityPoolId) {\n logger.debug('No Cognito Identity pool provided for unauthenticated access');\n return [2 /*return*/, Promise.reject('No Cognito Identity pool provided for unauthenticated access')];\n }\n if (!identityPoolRegion && !region) {\n logger.debug('region is not configured for getting the credentials');\n return [2 /*return*/, Promise.reject('region is not configured for getting the credentials')];\n }\n _c = this;\n return [4 /*yield*/, this._getGuestIdentityId()];\n case 1:\n identityId = (_c._identityId = _d.sent());\n cognitoConfig = { region: identityPoolRegion !== null && identityPoolRegion !== void 0 ? identityPoolRegion : region };\n guestCredentialsProvider = function () { return __awaiter(_this, void 0, void 0, function () {\n var IdentityId, Credentials;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!!identityId) return [3 /*break*/, 2];\n return [4 /*yield*/, getId(cognitoConfig, {\n IdentityPoolId: identityPoolId,\n })];\n case 1:\n IdentityId = (_a.sent()).IdentityId;\n this._identityId = IdentityId;\n _a.label = 2;\n case 2: return [4 /*yield*/, getCredentialsForIdentity(cognitoConfig, {\n IdentityId: this._identityId,\n })];\n case 3:\n Credentials = (_a.sent()).Credentials;\n return [2 /*return*/, {\n identityId: this._identityId,\n accessKeyId: Credentials.AccessKeyId,\n secretAccessKey: Credentials.SecretKey,\n sessionToken: Credentials.SessionToken,\n expiration: Credentials.Expiration,\n }];\n }\n });\n }); };\n credentials = guestCredentialsProvider().catch(function (err) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n throw err;\n });\n }); });\n return [2 /*return*/, this._loadCredentials(credentials, 'guest', false, null)\n .then(function (res) {\n return res;\n })\n .catch(function (e) { return __awaiter(_this, void 0, void 0, function () {\n var guestCredentialsProvider_1;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(e.name === 'ResourceNotFoundException' &&\n e.message === \"Identity '\".concat(identityId, \"' not found.\"))) return [3 /*break*/, 2];\n logger.debug('Failed to load guest credentials');\n return [4 /*yield*/, this._removeGuestIdentityId()];\n case 1:\n _a.sent();\n guestCredentialsProvider_1 = function () { return __awaiter(_this, void 0, void 0, function () {\n var IdentityId, Credentials;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, getId(cognitoConfig, {\n IdentityPoolId: identityPoolId,\n })];\n case 1:\n IdentityId = (_a.sent()).IdentityId;\n this._identityId = IdentityId;\n return [4 /*yield*/, getCredentialsForIdentity(cognitoConfig, {\n IdentityId: IdentityId,\n })];\n case 2:\n Credentials = (_a.sent()).Credentials;\n return [2 /*return*/, {\n identityId: IdentityId,\n accessKeyId: Credentials.AccessKeyId,\n secretAccessKey: Credentials.SecretKey,\n sessionToken: Credentials.SessionToken,\n expiration: Credentials.Expiration,\n }];\n }\n });\n }); };\n credentials = guestCredentialsProvider_1().catch(function (err) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n throw err;\n });\n }); });\n return [2 /*return*/, this._loadCredentials(credentials, 'guest', false, null)];\n case 2: return [2 /*return*/, e];\n }\n });\n }); })];\n }\n });\n });\n };\n CredentialsClass.prototype._setCredentialsFromFederation = function (params) {\n var _this = this;\n var provider = params.provider, token = params.token;\n var identity_id = params.identity_id;\n var domains = {\n google: 'accounts.google.com',\n facebook: 'graph.facebook.com',\n amazon: 'www.amazon.com',\n developer: 'cognito-identity.amazonaws.com',\n };\n // Use custom provider url instead of the predefined ones\n var domain = domains[provider] || provider;\n if (!domain) {\n return Promise.reject('You must specify a federated provider');\n }\n var logins = {};\n logins[domain] = token;\n var _a = this._config, identityPoolId = _a.identityPoolId, region = _a.region, identityPoolRegion = _a.identityPoolRegion;\n if (!identityPoolId) {\n logger.debug('No Cognito Federated Identity pool provided');\n return Promise.reject('No Cognito Federated Identity pool provided');\n }\n if (!identityPoolRegion && !region) {\n logger.debug('region is not configured for getting the credentials');\n return Promise.reject('region is not configured for getting the credentials');\n }\n var cognitoConfig = { region: identityPoolRegion !== null && identityPoolRegion !== void 0 ? identityPoolRegion : region };\n var authenticatedCredentialsProvider = function () { return __awaiter(_this, void 0, void 0, function () {\n var IdentityId, Credentials;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!!identity_id) return [3 /*break*/, 2];\n return [4 /*yield*/, getId(cognitoConfig, {\n IdentityPoolId: identityPoolId,\n Logins: logins,\n })];\n case 1:\n IdentityId = (_a.sent()).IdentityId;\n identity_id = IdentityId;\n _a.label = 2;\n case 2: return [4 /*yield*/, getCredentialsForIdentity(cognitoConfig, {\n IdentityId: identity_id,\n Logins: logins,\n })];\n case 3:\n Credentials = (_a.sent()).Credentials;\n return [2 /*return*/, {\n identityId: identity_id,\n accessKeyId: Credentials.AccessKeyId,\n secretAccessKey: Credentials.SecretKey,\n sessionToken: Credentials.SessionToken,\n expiration: Credentials.Expiration,\n }];\n }\n });\n }); };\n var credentials = authenticatedCredentialsProvider().catch(function (err) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n throw err;\n });\n }); });\n return this._loadCredentials(credentials, 'federated', true, params);\n };\n CredentialsClass.prototype._setCredentialsFromSession = function (session) {\n var _this = this;\n logger.debug('set credentials from session');\n var idToken = session.getIdToken().getJwtToken();\n var _a = this._config, region = _a.region, userPoolId = _a.userPoolId, identityPoolId = _a.identityPoolId, identityPoolRegion = _a.identityPoolRegion;\n if (!identityPoolId) {\n logger.debug('No Cognito Federated Identity pool provided');\n return Promise.reject('No Cognito Federated Identity pool provided');\n }\n if (!identityPoolRegion && !region) {\n logger.debug('region is not configured for getting the credentials');\n return Promise.reject('region is not configured for getting the credentials');\n }\n var key = 'cognito-idp.' + region + '.amazonaws.com/' + userPoolId;\n var logins = {};\n logins[key] = idToken;\n var cognitoConfig = { region: identityPoolRegion !== null && identityPoolRegion !== void 0 ? identityPoolRegion : region };\n /*\n Retreiving identityId with GetIdCommand to mimic the behavior in the following code in aws-sdk-v3:\n https://git.io/JeDxU\n\n Note: Retreive identityId from CredentialsProvider once aws-sdk-js v3 supports this.\n */\n var credentialsProvider = function () { return __awaiter(_this, void 0, void 0, function () {\n var guestIdentityId, generatedOrRetrievedIdentityId, IdentityId, _a, _b, AccessKeyId, Expiration, SecretKey, SessionToken, primaryIdentityId;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4 /*yield*/, this._getGuestIdentityId()];\n case 1:\n guestIdentityId = _c.sent();\n if (!!guestIdentityId) return [3 /*break*/, 3];\n return [4 /*yield*/, getId(cognitoConfig, {\n IdentityPoolId: identityPoolId,\n Logins: logins,\n })];\n case 2:\n IdentityId = (_c.sent()).IdentityId;\n generatedOrRetrievedIdentityId = IdentityId;\n _c.label = 3;\n case 3: return [4 /*yield*/, getCredentialsForIdentity(cognitoConfig, {\n IdentityId: guestIdentityId || generatedOrRetrievedIdentityId,\n Logins: logins,\n })];\n case 4:\n _a = _c.sent(), _b = _a.Credentials, AccessKeyId = _b.AccessKeyId, Expiration = _b.Expiration, SecretKey = _b.SecretKey, SessionToken = _b.SessionToken, primaryIdentityId = _a.IdentityId;\n this._identityId = primaryIdentityId;\n if (!guestIdentityId) return [3 /*break*/, 6];\n // if guestIdentity is found and used by GetCredentialsForIdentity\n // it will be linked to the logins provided, and disqualified as an unauth identity\n logger.debug(\"The guest identity \".concat(guestIdentityId, \" has been successfully linked to the logins\"));\n if (guestIdentityId === primaryIdentityId) {\n logger.debug(\"The guest identity \".concat(guestIdentityId, \" has become the primary identity\"));\n }\n // remove it from local storage to avoid being used as a guest Identity by _setCredentialsForGuest\n return [4 /*yield*/, this._removeGuestIdentityId()];\n case 5:\n // remove it from local storage to avoid being used as a guest Identity by _setCredentialsForGuest\n _c.sent();\n _c.label = 6;\n case 6: \n // https://github.com/aws/aws-sdk-js-v3/blob/main/packages/credential-provider-cognito-identity/src/fromCognitoIdentity.ts#L40\n return [2 /*return*/, {\n accessKeyId: AccessKeyId,\n secretAccessKey: SecretKey,\n sessionToken: SessionToken,\n expiration: Expiration,\n identityId: primaryIdentityId,\n }];\n }\n });\n }); };\n var credentials = credentialsProvider().catch(function (err) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n throw err;\n });\n }); });\n return this._loadCredentials(credentials, 'userPool', true, null);\n };\n CredentialsClass.prototype._loadCredentials = function (credentials, source, authenticated, info) {\n var _this = this;\n var that = this;\n return new Promise(function (res, rej) {\n credentials\n .then(function (credentials) { return __awaiter(_this, void 0, void 0, function () {\n var user, provider, token, expires_at, identity_id;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n logger.debug('Load credentials successfully', credentials);\n if (this._identityId && !credentials.identityId) {\n credentials['identityId'] = this._identityId;\n }\n that._credentials = credentials;\n that._credentials.authenticated = authenticated;\n that._credentials_source = source;\n that._nextCredentialsRefresh = new Date().getTime() + CREDENTIALS_TTL;\n if (source === 'federated') {\n user = Object.assign({ id: this._credentials.identityId }, info.user);\n provider = info.provider, token = info.token, expires_at = info.expires_at, identity_id = info.identity_id;\n try {\n this._storage.setItem('aws-amplify-federatedInfo', JSON.stringify({\n provider: provider,\n token: token,\n user: user,\n expires_at: expires_at,\n identity_id: identity_id,\n }));\n }\n catch (e) {\n logger.debug('Failed to put federated info into auth storage', e);\n }\n }\n if (!(source === 'guest')) return [3 /*break*/, 2];\n return [4 /*yield*/, this._setGuestIdentityId(credentials.identityId)];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2:\n res(that._credentials);\n return [2 /*return*/];\n }\n });\n }); })\n .catch(function (err) {\n if (err) {\n logger.debug('Failed to load credentials', credentials);\n logger.debug('Error loading credentials', err);\n rej(err);\n return;\n }\n });\n });\n };\n CredentialsClass.prototype.set = function (params, source) {\n if (source === 'session') {\n return this._setCredentialsFromSession(params);\n }\n else if (source === 'federation') {\n return this._setCredentialsFromFederation(params);\n }\n else if (source === 'guest') {\n return this._setCredentialsForGuest();\n }\n else {\n logger.debug('no source specified for setting credentials');\n return Promise.reject('invalid source');\n }\n };\n CredentialsClass.prototype.clear = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n this._credentials = null;\n this._credentials_source = null;\n logger.debug('removing aws-amplify-federatedInfo from storage');\n this._storage.removeItem('aws-amplify-federatedInfo');\n return [2 /*return*/];\n });\n });\n };\n /* operations on local stored guest identity */\n CredentialsClass.prototype._getGuestIdentityId = function () {\n return __awaiter(this, void 0, void 0, function () {\n var identityPoolId, e_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n identityPoolId = this._config.identityPoolId;\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this._storageSync];\n case 2:\n _a.sent();\n return [2 /*return*/, this._storage.getItem(this._getCognitoIdentityIdStorageKey(identityPoolId))];\n case 3:\n e_1 = _a.sent();\n logger.debug('Failed to get the cached guest identityId', e_1);\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n CredentialsClass.prototype._setGuestIdentityId = function (identityId) {\n return __awaiter(this, void 0, void 0, function () {\n var identityPoolId, e_2;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n identityPoolId = this._config.identityPoolId;\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this._storageSync];\n case 2:\n _a.sent();\n this._storage.setItem(this._getCognitoIdentityIdStorageKey(identityPoolId), identityId);\n return [3 /*break*/, 4];\n case 3:\n e_2 = _a.sent();\n logger.debug('Failed to cache guest identityId', e_2);\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n CredentialsClass.prototype._removeGuestIdentityId = function () {\n return __awaiter(this, void 0, void 0, function () {\n var identityPoolId;\n return __generator(this, function (_a) {\n identityPoolId = this._config.identityPoolId;\n logger.debug(\"removing \".concat(this._getCognitoIdentityIdStorageKey(identityPoolId), \" from storage\"));\n this._storage.removeItem(this._getCognitoIdentityIdStorageKey(identityPoolId));\n return [2 /*return*/];\n });\n });\n };\n /**\n * Compact version of credentials\n * @param {Object} credentials\n * @return {Object} - Credentials\n */\n CredentialsClass.prototype.shear = function (credentials) {\n return {\n accessKeyId: credentials.accessKeyId,\n sessionToken: credentials.sessionToken,\n secretAccessKey: credentials.secretAccessKey,\n identityId: credentials.identityId,\n authenticated: credentials.authenticated,\n };\n };\n return CredentialsClass;\n}());\nexport { CredentialsClass };\nexport var Credentials = new CredentialsClass(null);\nAmplify.register(Credentials);\n","import * as cookie from 'cookie';\r\nexport function hasDocumentCookie() {\r\n // Can we get/set cookies on document.cookie?\r\n return typeof document === 'object' && typeof document.cookie === 'string';\r\n}\r\nexport function cleanCookies() {\r\n document.cookie.split(';').forEach(function (c) {\r\n document.cookie = c\r\n .replace(/^ +/, '')\r\n .replace(/=.*/, '=;expires=' + new Date().toUTCString() + ';path=/');\r\n });\r\n}\r\nexport function parseCookies(cookies, options) {\r\n if (typeof cookies === 'string') {\r\n return cookie.parse(cookies, options);\r\n }\r\n else if (typeof cookies === 'object' && cookies !== null) {\r\n return cookies;\r\n }\r\n else {\r\n return {};\r\n }\r\n}\r\nexport function isParsingCookie(value, doNotParse) {\r\n if (typeof doNotParse === 'undefined') {\r\n // We guess if the cookie start with { or [, it has been serialized\r\n doNotParse =\r\n !value || (value[0] !== '{' && value[0] !== '[' && value[0] !== '\"');\r\n }\r\n return !doNotParse;\r\n}\r\nexport function readCookie(value, options) {\r\n if (options === void 0) { options = {}; }\r\n var cleanValue = cleanupCookieValue(value);\r\n if (isParsingCookie(cleanValue, options.doNotParse)) {\r\n try {\r\n return JSON.parse(cleanValue);\r\n }\r\n catch (e) {\r\n // At least we tried\r\n }\r\n }\r\n // Ignore clean value if we failed the deserialization\r\n // It is not relevant anymore to trim those values\r\n return value;\r\n}\r\nfunction cleanupCookieValue(value) {\r\n // express prepend j: before serializing a cookie\r\n if (value && value[0] === 'j' && value[1] === ':') {\r\n return value.substr(2);\r\n }\r\n return value;\r\n}\r\n","var __assign = (this && this.__assign) || function () {\r\n __assign = Object.assign || function(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\r\n t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\nimport * as cookie from 'cookie';\r\nimport { hasDocumentCookie, parseCookies, readCookie } from './utils';\r\nvar Cookies = /** @class */ (function () {\r\n function Cookies(cookies, options) {\r\n var _this = this;\r\n this.changeListeners = [];\r\n this.HAS_DOCUMENT_COOKIE = false;\r\n this.cookies = parseCookies(cookies, options);\r\n new Promise(function () {\r\n _this.HAS_DOCUMENT_COOKIE = hasDocumentCookie();\r\n }).catch(function () { });\r\n }\r\n Cookies.prototype._updateBrowserValues = function (parseOptions) {\r\n if (!this.HAS_DOCUMENT_COOKIE) {\r\n return;\r\n }\r\n this.cookies = cookie.parse(document.cookie, parseOptions);\r\n };\r\n Cookies.prototype._emitChange = function (params) {\r\n for (var i = 0; i < this.changeListeners.length; ++i) {\r\n this.changeListeners[i](params);\r\n }\r\n };\r\n Cookies.prototype.get = function (name, options, parseOptions) {\r\n if (options === void 0) { options = {}; }\r\n this._updateBrowserValues(parseOptions);\r\n return readCookie(this.cookies[name], options);\r\n };\r\n Cookies.prototype.getAll = function (options, parseOptions) {\r\n if (options === void 0) { options = {}; }\r\n this._updateBrowserValues(parseOptions);\r\n var result = {};\r\n for (var name_1 in this.cookies) {\r\n result[name_1] = readCookie(this.cookies[name_1], options);\r\n }\r\n return result;\r\n };\r\n Cookies.prototype.set = function (name, value, options) {\r\n var _a;\r\n if (typeof value === 'object') {\r\n value = JSON.stringify(value);\r\n }\r\n this.cookies = __assign(__assign({}, this.cookies), (_a = {}, _a[name] = value, _a));\r\n if (this.HAS_DOCUMENT_COOKIE) {\r\n document.cookie = cookie.serialize(name, value, options);\r\n }\r\n this._emitChange({ name: name, value: value, options: options });\r\n };\r\n Cookies.prototype.remove = function (name, options) {\r\n var finalOptions = (options = __assign(__assign({}, options), { expires: new Date(1970, 1, 1, 0, 0, 1), maxAge: 0 }));\r\n this.cookies = __assign({}, this.cookies);\r\n delete this.cookies[name];\r\n if (this.HAS_DOCUMENT_COOKIE) {\r\n document.cookie = cookie.serialize(name, '', finalOptions);\r\n }\r\n this._emitChange({ name: name, value: undefined, options: options });\r\n };\r\n Cookies.prototype.addChangeListener = function (callback) {\r\n this.changeListeners.push(callback);\r\n };\r\n Cookies.prototype.removeChangeListener = function (callback) {\r\n var idx = this.changeListeners.indexOf(callback);\r\n if (idx >= 0) {\r\n this.changeListeners.splice(idx, 1);\r\n }\r\n };\r\n return Cookies;\r\n}());\r\nexport default Cookies;\r\n","import Cookies from './Cookies';\r\nexport default Cookies;\r\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport Cookies from 'universal-cookie';\nimport { browserOrNode } from '../JS';\nvar isBrowser = browserOrNode().isBrowser;\nvar ONE_YEAR_IN_MS = 365 * 24 * 60 * 60 * 1000;\nvar UniversalStorage = /** @class */ (function () {\n function UniversalStorage(context) {\n if (context === void 0) { context = {}; }\n this.cookies = new Cookies();\n this.store = isBrowser ? window.localStorage : Object.create(null);\n this.cookies = context.req\n ? new Cookies(decodeURIComponent(context.req.headers.cookie))\n : new Cookies();\n Object.assign(this.store, this.cookies.getAll());\n }\n Object.defineProperty(UniversalStorage.prototype, \"length\", {\n get: function () {\n return Object.entries(this.store).length;\n },\n enumerable: false,\n configurable: true\n });\n UniversalStorage.prototype.clear = function () {\n var _this = this;\n Array.from(new Array(this.length))\n .map(function (_, i) { return _this.key(i); })\n .forEach(function (key) { return _this.removeItem(key); });\n };\n UniversalStorage.prototype.getItem = function (key) {\n return this.getLocalItem(key);\n };\n UniversalStorage.prototype.getLocalItem = function (key) {\n return Object.prototype.hasOwnProperty.call(this.store, key)\n ? this.store[key]\n : null;\n };\n UniversalStorage.prototype.getUniversalItem = function (key) {\n return this.cookies.get(key);\n };\n UniversalStorage.prototype.key = function (index) {\n return Object.keys(this.store)[index];\n };\n UniversalStorage.prototype.removeItem = function (key) {\n this.removeLocalItem(key);\n this.removeUniversalItem(key);\n };\n UniversalStorage.prototype.removeLocalItem = function (key) {\n delete this.store[key];\n };\n UniversalStorage.prototype.removeUniversalItem = function (key) {\n this.cookies.remove(key, {\n path: '/',\n });\n };\n UniversalStorage.prototype.setItem = function (key, value) {\n this.setLocalItem(key, value);\n // keys take the shape:\n // 1. `${ProviderPrefix}.${userPoolClientId}.${username}.${tokenType}\n // 2. `${ProviderPrefix}.${userPoolClientId}.LastAuthUser\n var tokenType = key.split('.').pop();\n var sessionTokenTypes = [\n 'LastAuthUser',\n 'accessToken',\n // refreshToken originates on the client, but SSR pages won't fail when this expires\n // Note: the new `accessToken` will also be refreshed on the client (since Amplify doesn't set server-side cookies)\n 'refreshToken',\n // Required for CognitoUserSession\n 'idToken',\n // userData is used when `Auth.currentAuthenticatedUser({ bypassCache: false })`.\n // Can be persisted to speed up calls to `Auth.currentAuthenticatedUser()`\n // 'userData',\n // Ignoring clockDrift on the server for now, but needs testing\n // 'clockDrift',\n ];\n if (sessionTokenTypes.includes(tokenType !== null && tokenType !== void 0 ? tokenType : '')) {\n this.setUniversalItem(key, value, {\n expires: new Date(Date.now() + ONE_YEAR_IN_MS),\n });\n }\n };\n UniversalStorage.prototype.setLocalItem = function (key, value) {\n this.store[key] = value;\n };\n UniversalStorage.prototype.setUniversalItem = function (key, value, options) {\n if (options === void 0) { options = {}; }\n this.cookies.set(key, value, __assign(__assign({}, options), { path: '/', \n // `httpOnly` cannot be set via JavaScript: https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies#JavaScript_access_using_Document.cookie\n sameSite: true, \n // Allow unsecure requests to http://localhost:3000/ when in development.\n secure: isBrowser && window.location.hostname === 'localhost' ? false : true }));\n };\n return UniversalStorage;\n}());\nexport { UniversalStorage };\n","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n/** @class */\nvar AuthenticationDetails = /*#__PURE__*/function () {\n /**\n * Constructs a new AuthenticationDetails object\n * @param {object=} data Creation options.\n * @param {string} data.Username User being authenticated.\n * @param {string} data.Password Plain-text password to authenticate with.\n * @param {(AttributeArg[])?} data.ValidationData Application extra metadata.\n * @param {(AttributeArg[])?} data.AuthParamaters Authentication paramaters for custom auth.\n */\n function AuthenticationDetails(data) {\n var _ref = data || {},\n ValidationData = _ref.ValidationData,\n Username = _ref.Username,\n Password = _ref.Password,\n AuthParameters = _ref.AuthParameters,\n ClientMetadata = _ref.ClientMetadata;\n this.validationData = ValidationData || {};\n this.authParameters = AuthParameters || {};\n this.clientMetadata = ClientMetadata || {};\n this.username = Username;\n this.password = Password;\n }\n\n /**\n * @returns {string} the record's username\n */\n var _proto = AuthenticationDetails.prototype;\n _proto.getUsername = function getUsername() {\n return this.username;\n }\n\n /**\n * @returns {string} the record's password\n */;\n _proto.getPassword = function getPassword() {\n return this.password;\n }\n\n /**\n * @returns {Array} the record's validationData\n */;\n _proto.getValidationData = function getValidationData() {\n return this.validationData;\n }\n\n /**\n * @returns {Array} the record's authParameters\n */;\n _proto.getAuthParameters = function getAuthParameters() {\n return this.authParameters;\n }\n\n /**\n * @returns {ClientMetadata} the clientMetadata for a Lambda trigger\n */;\n _proto.getClientMetadata = function getClientMetadata() {\n return this.clientMetadata;\n };\n return AuthenticationDetails;\n}();\nexport { AuthenticationDetails as default };","var crypto;\n\n// Native crypto from window (Browser)\nif (typeof window !== 'undefined' && window.crypto) {\n crypto = window.crypto;\n}\n\n// Native (experimental IE 11) crypto from window (Browser)\nif (!crypto && typeof window !== 'undefined' && window.msCrypto) {\n crypto = window.msCrypto;\n}\n\n/*\n * Cryptographically secure pseudorandom number generator\n * As Math.random() is cryptographically not safe to use\n */\nexport default function cryptoSecureRandomInt() {\n if (crypto) {\n // Use getRandomValues method (Browser)\n if (typeof crypto.getRandomValues === 'function') {\n try {\n return crypto.getRandomValues(new Uint32Array(1))[0];\n } catch (err) {}\n }\n\n // Use randomBytes method (NodeJS)\n if (typeof crypto.randomBytes === 'function') {\n try {\n return crypto.randomBytes(4).readInt32LE();\n } catch (err) {}\n }\n }\n throw new Error('Native crypto module could not be used to get secure random number.');\n}","import cryptoSecureRandomInt from './cryptoSecureRandomInt';\n\n/**\n * Hex encoding strategy.\n * Converts a word array to a hex string.\n * @param {WordArray} wordArray The word array.\n * @return {string} The hex string.\n * @static\n */\nfunction hexStringify(wordArray) {\n // Shortcuts\n var words = wordArray.words;\n var sigBytes = wordArray.sigBytes;\n\n // Convert\n var hexChars = [];\n for (var i = 0; i < sigBytes; i++) {\n var bite = words[i >>> 2] >>> 24 - i % 4 * 8 & 0xff;\n hexChars.push((bite >>> 4).toString(16));\n hexChars.push((bite & 0x0f).toString(16));\n }\n return hexChars.join('');\n}\nvar WordArray = /*#__PURE__*/function () {\n function WordArray(words, sigBytes) {\n words = this.words = words || [];\n if (sigBytes != undefined) {\n this.sigBytes = sigBytes;\n } else {\n this.sigBytes = words.length * 4;\n }\n }\n var _proto = WordArray.prototype;\n _proto.random = function random(nBytes) {\n var words = [];\n for (var i = 0; i < nBytes; i += 4) {\n words.push(cryptoSecureRandomInt());\n }\n return new WordArray(words, nBytes);\n };\n _proto.toString = function toString() {\n return hexStringify(this);\n };\n return WordArray;\n}();\nexport { WordArray as default };","// A small implementation of BigInteger based on http://www-cs-students.stanford.edu/~tjw/jsbn/\n//\n// All public methods have been removed except the following:\n// new BigInteger(a, b) (only radix 2, 4, 8, 16 and 32 supported)\n// toString (only radix 2, 4, 8, 16 and 32 supported)\n// negate\n// abs\n// compareTo\n// bitLength\n// mod\n// equals\n// add\n// subtract\n// multiply\n// divide\n// modPow\n\nexport default BigInteger;\n\n/*\n * Copyright (c) 2003-2005 Tom Wu\n * All Rights Reserved.\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\" AND WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY\n * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.\n *\n * IN NO EVENT SHALL TOM WU BE LIABLE FOR ANY SPECIAL, INCIDENTAL,\n * INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER\n * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF\n * THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT\n * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n *\n * In addition, the following condition applies:\n *\n * All redistributions must retain an intact copy of this copyright notice\n * and disclaimer.\n */\n\n// (public) Constructor\nfunction BigInteger(a, b) {\n if (a != null) this.fromString(a, b);\n}\n\n// return new, unset BigInteger\nfunction nbi() {\n return new BigInteger(null);\n}\n\n// Bits per digit\nvar dbits;\n\n// JavaScript engine analysis\nvar canary = 0xdeadbeefcafe;\nvar j_lm = (canary & 0xffffff) == 0xefcafe;\n\n// am: Compute w_j += (x*this_i), propagate carries,\n// c is initial carry, returns final carry.\n// c < 3*dvalue, x < 2*dvalue, this_i < dvalue\n// We need to select the fastest one that works in this environment.\n\n// am1: use a single mult and divide to get the high bits,\n// max digit bits should be 26 because\n// max internal value = 2*dvalue^2-2*dvalue (< 2^53)\nfunction am1(i, x, w, j, c, n) {\n while (--n >= 0) {\n var v = x * this[i++] + w[j] + c;\n c = Math.floor(v / 0x4000000);\n w[j++] = v & 0x3ffffff;\n }\n return c;\n}\n// am2 avoids a big mult-and-extract completely.\n// Max digit bits should be <= 30 because we do bitwise ops\n// on values up to 2*hdvalue^2-hdvalue-1 (< 2^31)\nfunction am2(i, x, w, j, c, n) {\n var xl = x & 0x7fff,\n xh = x >> 15;\n while (--n >= 0) {\n var l = this[i] & 0x7fff;\n var h = this[i++] >> 15;\n var m = xh * l + h * xl;\n l = xl * l + ((m & 0x7fff) << 15) + w[j] + (c & 0x3fffffff);\n c = (l >>> 30) + (m >>> 15) + xh * h + (c >>> 30);\n w[j++] = l & 0x3fffffff;\n }\n return c;\n}\n// Alternately, set max digit bits to 28 since some\n// browsers slow down when dealing with 32-bit numbers.\nfunction am3(i, x, w, j, c, n) {\n var xl = x & 0x3fff,\n xh = x >> 14;\n while (--n >= 0) {\n var l = this[i] & 0x3fff;\n var h = this[i++] >> 14;\n var m = xh * l + h * xl;\n l = xl * l + ((m & 0x3fff) << 14) + w[j] + c;\n c = (l >> 28) + (m >> 14) + xh * h;\n w[j++] = l & 0xfffffff;\n }\n return c;\n}\nvar inBrowser = typeof navigator !== 'undefined';\nif (inBrowser && j_lm && navigator.appName == 'Microsoft Internet Explorer') {\n BigInteger.prototype.am = am2;\n dbits = 30;\n} else if (inBrowser && j_lm && navigator.appName != 'Netscape') {\n BigInteger.prototype.am = am1;\n dbits = 26;\n} else {\n // Mozilla/Netscape seems to prefer am3\n BigInteger.prototype.am = am3;\n dbits = 28;\n}\nBigInteger.prototype.DB = dbits;\nBigInteger.prototype.DM = (1 << dbits) - 1;\nBigInteger.prototype.DV = 1 << dbits;\nvar BI_FP = 52;\nBigInteger.prototype.FV = Math.pow(2, BI_FP);\nBigInteger.prototype.F1 = BI_FP - dbits;\nBigInteger.prototype.F2 = 2 * dbits - BI_FP;\n\n// Digit conversions\nvar BI_RM = '0123456789abcdefghijklmnopqrstuvwxyz';\nvar BI_RC = new Array();\nvar rr, vv;\nrr = '0'.charCodeAt(0);\nfor (vv = 0; vv <= 9; ++vv) BI_RC[rr++] = vv;\nrr = 'a'.charCodeAt(0);\nfor (vv = 10; vv < 36; ++vv) BI_RC[rr++] = vv;\nrr = 'A'.charCodeAt(0);\nfor (vv = 10; vv < 36; ++vv) BI_RC[rr++] = vv;\nfunction int2char(n) {\n return BI_RM.charAt(n);\n}\nfunction intAt(s, i) {\n var c = BI_RC[s.charCodeAt(i)];\n return c == null ? -1 : c;\n}\n\n// (protected) copy this to r\nfunction bnpCopyTo(r) {\n for (var i = this.t - 1; i >= 0; --i) r[i] = this[i];\n r.t = this.t;\n r.s = this.s;\n}\n\n// (protected) set from integer value x, -DV <= x < DV\nfunction bnpFromInt(x) {\n this.t = 1;\n this.s = x < 0 ? -1 : 0;\n if (x > 0) this[0] = x;else if (x < -1) this[0] = x + this.DV;else this.t = 0;\n}\n\n// return bigint initialized to value\nfunction nbv(i) {\n var r = nbi();\n r.fromInt(i);\n return r;\n}\n\n// (protected) set from string and radix\nfunction bnpFromString(s, b) {\n var k;\n if (b == 16) k = 4;else if (b == 8) k = 3;else if (b == 2) k = 1;else if (b == 32) k = 5;else if (b == 4) k = 2;else throw new Error('Only radix 2, 4, 8, 16, 32 are supported');\n this.t = 0;\n this.s = 0;\n var i = s.length,\n mi = false,\n sh = 0;\n while (--i >= 0) {\n var x = intAt(s, i);\n if (x < 0) {\n if (s.charAt(i) == '-') mi = true;\n continue;\n }\n mi = false;\n if (sh == 0) this[this.t++] = x;else if (sh + k > this.DB) {\n this[this.t - 1] |= (x & (1 << this.DB - sh) - 1) << sh;\n this[this.t++] = x >> this.DB - sh;\n } else this[this.t - 1] |= x << sh;\n sh += k;\n if (sh >= this.DB) sh -= this.DB;\n }\n this.clamp();\n if (mi) BigInteger.ZERO.subTo(this, this);\n}\n\n// (protected) clamp off excess high words\nfunction bnpClamp() {\n var c = this.s & this.DM;\n while (this.t > 0 && this[this.t - 1] == c) --this.t;\n}\n\n// (public) return string representation in given radix\nfunction bnToString(b) {\n if (this.s < 0) return '-' + this.negate().toString(b);\n var k;\n if (b == 16) k = 4;else if (b == 8) k = 3;else if (b == 2) k = 1;else if (b == 32) k = 5;else if (b == 4) k = 2;else throw new Error('Only radix 2, 4, 8, 16, 32 are supported');\n var km = (1 << k) - 1,\n d,\n m = false,\n r = '',\n i = this.t;\n var p = this.DB - i * this.DB % k;\n if (i-- > 0) {\n if (p < this.DB && (d = this[i] >> p) > 0) {\n m = true;\n r = int2char(d);\n }\n while (i >= 0) {\n if (p < k) {\n d = (this[i] & (1 << p) - 1) << k - p;\n d |= this[--i] >> (p += this.DB - k);\n } else {\n d = this[i] >> (p -= k) & km;\n if (p <= 0) {\n p += this.DB;\n --i;\n }\n }\n if (d > 0) m = true;\n if (m) r += int2char(d);\n }\n }\n return m ? r : '0';\n}\n\n// (public) -this\nfunction bnNegate() {\n var r = nbi();\n BigInteger.ZERO.subTo(this, r);\n return r;\n}\n\n// (public) |this|\nfunction bnAbs() {\n return this.s < 0 ? this.negate() : this;\n}\n\n// (public) return + if this > a, - if this < a, 0 if equal\nfunction bnCompareTo(a) {\n var r = this.s - a.s;\n if (r != 0) return r;\n var i = this.t;\n r = i - a.t;\n if (r != 0) return this.s < 0 ? -r : r;\n while (--i >= 0) if ((r = this[i] - a[i]) != 0) return r;\n return 0;\n}\n\n// returns bit length of the integer x\nfunction nbits(x) {\n var r = 1,\n t;\n if ((t = x >>> 16) != 0) {\n x = t;\n r += 16;\n }\n if ((t = x >> 8) != 0) {\n x = t;\n r += 8;\n }\n if ((t = x >> 4) != 0) {\n x = t;\n r += 4;\n }\n if ((t = x >> 2) != 0) {\n x = t;\n r += 2;\n }\n if ((t = x >> 1) != 0) {\n x = t;\n r += 1;\n }\n return r;\n}\n\n// (public) return the number of bits in \"this\"\nfunction bnBitLength() {\n if (this.t <= 0) return 0;\n return this.DB * (this.t - 1) + nbits(this[this.t - 1] ^ this.s & this.DM);\n}\n\n// (protected) r = this << n*DB\nfunction bnpDLShiftTo(n, r) {\n var i;\n for (i = this.t - 1; i >= 0; --i) r[i + n] = this[i];\n for (i = n - 1; i >= 0; --i) r[i] = 0;\n r.t = this.t + n;\n r.s = this.s;\n}\n\n// (protected) r = this >> n*DB\nfunction bnpDRShiftTo(n, r) {\n for (var i = n; i < this.t; ++i) r[i - n] = this[i];\n r.t = Math.max(this.t - n, 0);\n r.s = this.s;\n}\n\n// (protected) r = this << n\nfunction bnpLShiftTo(n, r) {\n var bs = n % this.DB;\n var cbs = this.DB - bs;\n var bm = (1 << cbs) - 1;\n var ds = Math.floor(n / this.DB),\n c = this.s << bs & this.DM,\n i;\n for (i = this.t - 1; i >= 0; --i) {\n r[i + ds + 1] = this[i] >> cbs | c;\n c = (this[i] & bm) << bs;\n }\n for (i = ds - 1; i >= 0; --i) r[i] = 0;\n r[ds] = c;\n r.t = this.t + ds + 1;\n r.s = this.s;\n r.clamp();\n}\n\n// (protected) r = this >> n\nfunction bnpRShiftTo(n, r) {\n r.s = this.s;\n var ds = Math.floor(n / this.DB);\n if (ds >= this.t) {\n r.t = 0;\n return;\n }\n var bs = n % this.DB;\n var cbs = this.DB - bs;\n var bm = (1 << bs) - 1;\n r[0] = this[ds] >> bs;\n for (var i = ds + 1; i < this.t; ++i) {\n r[i - ds - 1] |= (this[i] & bm) << cbs;\n r[i - ds] = this[i] >> bs;\n }\n if (bs > 0) r[this.t - ds - 1] |= (this.s & bm) << cbs;\n r.t = this.t - ds;\n r.clamp();\n}\n\n// (protected) r = this - a\nfunction bnpSubTo(a, r) {\n var i = 0,\n c = 0,\n m = Math.min(a.t, this.t);\n while (i < m) {\n c += this[i] - a[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n if (a.t < this.t) {\n c -= a.s;\n while (i < this.t) {\n c += this[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n c += this.s;\n } else {\n c += this.s;\n while (i < a.t) {\n c -= a[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n c -= a.s;\n }\n r.s = c < 0 ? -1 : 0;\n if (c < -1) r[i++] = this.DV + c;else if (c > 0) r[i++] = c;\n r.t = i;\n r.clamp();\n}\n\n// (protected) r = this * a, r != this,a (HAC 14.12)\n// \"this\" should be the larger one if appropriate.\nfunction bnpMultiplyTo(a, r) {\n var x = this.abs(),\n y = a.abs();\n var i = x.t;\n r.t = i + y.t;\n while (--i >= 0) r[i] = 0;\n for (i = 0; i < y.t; ++i) r[i + x.t] = x.am(0, y[i], r, i, 0, x.t);\n r.s = 0;\n r.clamp();\n if (this.s != a.s) BigInteger.ZERO.subTo(r, r);\n}\n\n// (protected) r = this^2, r != this (HAC 14.16)\nfunction bnpSquareTo(r) {\n var x = this.abs();\n var i = r.t = 2 * x.t;\n while (--i >= 0) r[i] = 0;\n for (i = 0; i < x.t - 1; ++i) {\n var c = x.am(i, x[i], r, 2 * i, 0, 1);\n if ((r[i + x.t] += x.am(i + 1, 2 * x[i], r, 2 * i + 1, c, x.t - i - 1)) >= x.DV) {\n r[i + x.t] -= x.DV;\n r[i + x.t + 1] = 1;\n }\n }\n if (r.t > 0) r[r.t - 1] += x.am(i, x[i], r, 2 * i, 0, 1);\n r.s = 0;\n r.clamp();\n}\n\n// (protected) divide this by m, quotient and remainder to q, r (HAC 14.20)\n// r != q, this != m. q or r may be null.\nfunction bnpDivRemTo(m, q, r) {\n var pm = m.abs();\n if (pm.t <= 0) return;\n var pt = this.abs();\n if (pt.t < pm.t) {\n if (q != null) q.fromInt(0);\n if (r != null) this.copyTo(r);\n return;\n }\n if (r == null) r = nbi();\n var y = nbi(),\n ts = this.s,\n ms = m.s;\n var nsh = this.DB - nbits(pm[pm.t - 1]);\n // normalize modulus\n if (nsh > 0) {\n pm.lShiftTo(nsh, y);\n pt.lShiftTo(nsh, r);\n } else {\n pm.copyTo(y);\n pt.copyTo(r);\n }\n var ys = y.t;\n var y0 = y[ys - 1];\n if (y0 == 0) return;\n var yt = y0 * (1 << this.F1) + (ys > 1 ? y[ys - 2] >> this.F2 : 0);\n var d1 = this.FV / yt,\n d2 = (1 << this.F1) / yt,\n e = 1 << this.F2;\n var i = r.t,\n j = i - ys,\n t = q == null ? nbi() : q;\n y.dlShiftTo(j, t);\n if (r.compareTo(t) >= 0) {\n r[r.t++] = 1;\n r.subTo(t, r);\n }\n BigInteger.ONE.dlShiftTo(ys, t);\n t.subTo(y, y);\n // \"negative\" y so we can replace sub with am later\n while (y.t < ys) y[y.t++] = 0;\n while (--j >= 0) {\n // Estimate quotient digit\n var qd = r[--i] == y0 ? this.DM : Math.floor(r[i] * d1 + (r[i - 1] + e) * d2);\n if ((r[i] += y.am(0, qd, r, j, 0, ys)) < qd) {\n // Try it out\n y.dlShiftTo(j, t);\n r.subTo(t, r);\n while (r[i] < --qd) r.subTo(t, r);\n }\n }\n if (q != null) {\n r.drShiftTo(ys, q);\n if (ts != ms) BigInteger.ZERO.subTo(q, q);\n }\n r.t = ys;\n r.clamp();\n if (nsh > 0) r.rShiftTo(nsh, r);\n // Denormalize remainder\n if (ts < 0) BigInteger.ZERO.subTo(r, r);\n}\n\n// (public) this mod a\nfunction bnMod(a) {\n var r = nbi();\n this.abs().divRemTo(a, null, r);\n if (this.s < 0 && r.compareTo(BigInteger.ZERO) > 0) a.subTo(r, r);\n return r;\n}\n\n// (protected) return \"-1/this % 2^DB\"; useful for Mont. reduction\n// justification:\n// xy == 1 (mod m)\n// xy = 1+km\n// xy(2-xy) = (1+km)(1-km)\n// x[y(2-xy)] = 1-k^2m^2\n// x[y(2-xy)] == 1 (mod m^2)\n// if y is 1/x mod m, then y(2-xy) is 1/x mod m^2\n// should reduce x and y(2-xy) by m^2 at each step to keep size bounded.\n// JS multiply \"overflows\" differently from C/C++, so care is needed here.\nfunction bnpInvDigit() {\n if (this.t < 1) return 0;\n var x = this[0];\n if ((x & 1) == 0) return 0;\n var y = x & 3;\n // y == 1/x mod 2^2\n y = y * (2 - (x & 0xf) * y) & 0xf;\n // y == 1/x mod 2^4\n y = y * (2 - (x & 0xff) * y) & 0xff;\n // y == 1/x mod 2^8\n y = y * (2 - ((x & 0xffff) * y & 0xffff)) & 0xffff;\n // y == 1/x mod 2^16\n // last step - calculate inverse mod DV directly;\n // assumes 16 < DB <= 32 and assumes ability to handle 48-bit ints\n y = y * (2 - x * y % this.DV) % this.DV;\n // y == 1/x mod 2^dbits\n // we really want the negative inverse, and -DV < y < DV\n return y > 0 ? this.DV - y : -y;\n}\nfunction bnEquals(a) {\n return this.compareTo(a) == 0;\n}\n\n// (protected) r = this + a\nfunction bnpAddTo(a, r) {\n var i = 0,\n c = 0,\n m = Math.min(a.t, this.t);\n while (i < m) {\n c += this[i] + a[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n if (a.t < this.t) {\n c += a.s;\n while (i < this.t) {\n c += this[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n c += this.s;\n } else {\n c += this.s;\n while (i < a.t) {\n c += a[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n c += a.s;\n }\n r.s = c < 0 ? -1 : 0;\n if (c > 0) r[i++] = c;else if (c < -1) r[i++] = this.DV + c;\n r.t = i;\n r.clamp();\n}\n\n// (public) this + a\nfunction bnAdd(a) {\n var r = nbi();\n this.addTo(a, r);\n return r;\n}\n\n// (public) this - a\nfunction bnSubtract(a) {\n var r = nbi();\n this.subTo(a, r);\n return r;\n}\n\n// (public) this * a\nfunction bnMultiply(a) {\n var r = nbi();\n this.multiplyTo(a, r);\n return r;\n}\n\n// (public) this / a\nfunction bnDivide(a) {\n var r = nbi();\n this.divRemTo(a, r, null);\n return r;\n}\n\n// Montgomery reduction\nfunction Montgomery(m) {\n this.m = m;\n this.mp = m.invDigit();\n this.mpl = this.mp & 0x7fff;\n this.mph = this.mp >> 15;\n this.um = (1 << m.DB - 15) - 1;\n this.mt2 = 2 * m.t;\n}\n\n// xR mod m\nfunction montConvert(x) {\n var r = nbi();\n x.abs().dlShiftTo(this.m.t, r);\n r.divRemTo(this.m, null, r);\n if (x.s < 0 && r.compareTo(BigInteger.ZERO) > 0) this.m.subTo(r, r);\n return r;\n}\n\n// x/R mod m\nfunction montRevert(x) {\n var r = nbi();\n x.copyTo(r);\n this.reduce(r);\n return r;\n}\n\n// x = x/R mod m (HAC 14.32)\nfunction montReduce(x) {\n while (x.t <= this.mt2)\n // pad x so am has enough room later\n x[x.t++] = 0;\n for (var i = 0; i < this.m.t; ++i) {\n // faster way of calculating u0 = x[i]*mp mod DV\n var j = x[i] & 0x7fff;\n var u0 = j * this.mpl + ((j * this.mph + (x[i] >> 15) * this.mpl & this.um) << 15) & x.DM;\n // use am to combine the multiply-shift-add into one call\n j = i + this.m.t;\n x[j] += this.m.am(0, u0, x, i, 0, this.m.t);\n // propagate carry\n while (x[j] >= x.DV) {\n x[j] -= x.DV;\n x[++j]++;\n }\n }\n x.clamp();\n x.drShiftTo(this.m.t, x);\n if (x.compareTo(this.m) >= 0) x.subTo(this.m, x);\n}\n\n// r = \"x^2/R mod m\"; x != r\nfunction montSqrTo(x, r) {\n x.squareTo(r);\n this.reduce(r);\n}\n\n// r = \"xy/R mod m\"; x,y != r\nfunction montMulTo(x, y, r) {\n x.multiplyTo(y, r);\n this.reduce(r);\n}\nMontgomery.prototype.convert = montConvert;\nMontgomery.prototype.revert = montRevert;\nMontgomery.prototype.reduce = montReduce;\nMontgomery.prototype.mulTo = montMulTo;\nMontgomery.prototype.sqrTo = montSqrTo;\n\n// (public) this^e % m (HAC 14.85)\nfunction bnModPow(e, m, callback) {\n var i = e.bitLength(),\n k,\n r = nbv(1),\n z = new Montgomery(m);\n if (i <= 0) return r;else if (i < 18) k = 1;else if (i < 48) k = 3;else if (i < 144) k = 4;else if (i < 768) k = 5;else k = 6;\n\n // precomputation\n var g = new Array(),\n n = 3,\n k1 = k - 1,\n km = (1 << k) - 1;\n g[1] = z.convert(this);\n if (k > 1) {\n var g2 = nbi();\n z.sqrTo(g[1], g2);\n while (n <= km) {\n g[n] = nbi();\n z.mulTo(g2, g[n - 2], g[n]);\n n += 2;\n }\n }\n var j = e.t - 1,\n w,\n is1 = true,\n r2 = nbi(),\n t;\n i = nbits(e[j]) - 1;\n while (j >= 0) {\n if (i >= k1) w = e[j] >> i - k1 & km;else {\n w = (e[j] & (1 << i + 1) - 1) << k1 - i;\n if (j > 0) w |= e[j - 1] >> this.DB + i - k1;\n }\n n = k;\n while ((w & 1) == 0) {\n w >>= 1;\n --n;\n }\n if ((i -= n) < 0) {\n i += this.DB;\n --j;\n }\n if (is1) {\n // ret == 1, don't bother squaring or multiplying it\n g[w].copyTo(r);\n is1 = false;\n } else {\n while (n > 1) {\n z.sqrTo(r, r2);\n z.sqrTo(r2, r);\n n -= 2;\n }\n if (n > 0) z.sqrTo(r, r2);else {\n t = r;\n r = r2;\n r2 = t;\n }\n z.mulTo(r2, g[w], r);\n }\n while (j >= 0 && (e[j] & 1 << i) == 0) {\n z.sqrTo(r, r2);\n t = r;\n r = r2;\n r2 = t;\n if (--i < 0) {\n i = this.DB - 1;\n --j;\n }\n }\n }\n var result = z.revert(r);\n callback(null, result);\n return result;\n}\n\n// protected\nBigInteger.prototype.copyTo = bnpCopyTo;\nBigInteger.prototype.fromInt = bnpFromInt;\nBigInteger.prototype.fromString = bnpFromString;\nBigInteger.prototype.clamp = bnpClamp;\nBigInteger.prototype.dlShiftTo = bnpDLShiftTo;\nBigInteger.prototype.drShiftTo = bnpDRShiftTo;\nBigInteger.prototype.lShiftTo = bnpLShiftTo;\nBigInteger.prototype.rShiftTo = bnpRShiftTo;\nBigInteger.prototype.subTo = bnpSubTo;\nBigInteger.prototype.multiplyTo = bnpMultiplyTo;\nBigInteger.prototype.squareTo = bnpSquareTo;\nBigInteger.prototype.divRemTo = bnpDivRemTo;\nBigInteger.prototype.invDigit = bnpInvDigit;\nBigInteger.prototype.addTo = bnpAddTo;\n\n// public\nBigInteger.prototype.toString = bnToString;\nBigInteger.prototype.negate = bnNegate;\nBigInteger.prototype.abs = bnAbs;\nBigInteger.prototype.compareTo = bnCompareTo;\nBigInteger.prototype.bitLength = bnBitLength;\nBigInteger.prototype.mod = bnMod;\nBigInteger.prototype.equals = bnEquals;\nBigInteger.prototype.add = bnAdd;\nBigInteger.prototype.subtract = bnSubtract;\nBigInteger.prototype.multiply = bnMultiply;\nBigInteger.prototype.divide = bnDivide;\nBigInteger.prototype.modPow = bnModPow;\n\n// \"constants\"\nBigInteger.ZERO = nbv(0);\nBigInteger.ONE = nbv(1);","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Buffer } from 'buffer';\nimport WordArray from './utils/WordArray';\nimport { Sha256 } from '@aws-crypto/sha256-js';\n\n/**\n * Returns a Buffer with a sequence of random nBytes\n *\n * @param {number} nBytes\n * @returns {Buffer} fixed-length sequence of random bytes\n */\n\nfunction randomBytes(nBytes) {\n return Buffer.from(new WordArray().random(nBytes).toString(), 'hex');\n}\nimport BigInteger from './BigInteger';\n\n/**\n * Tests if a hex string has it most significant bit set (case-insensitive regex)\n */\nvar HEX_MSB_REGEX = /^[89a-f]/i;\nvar initN = 'FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD1' + '29024E088A67CC74020BBEA63B139B22514A08798E3404DD' + 'EF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245' + 'E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7ED' + 'EE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3D' + 'C2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F' + '83655D23DCA3AD961C62F356208552BB9ED529077096966D' + '670C354E4ABC9804F1746C08CA18217C32905E462E36CE3B' + 'E39E772C180E86039B2783A2EC07A28FB5C55DF06F4C52C9' + 'DE2BCBF6955817183995497CEA956AE515D2261898FA0510' + '15728E5A8AAAC42DAD33170D04507A33A85521ABDF1CBA64' + 'ECFB850458DBEF0A8AEA71575D060C7DB3970F85A6E1E4C7' + 'ABF5AE8CDB0933D71E8C94E04A25619DCEE3D2261AD2EE6B' + 'F12FFA06D98A0864D87602733EC86A64521F2B18177B200C' + 'BBE117577A615D6C770988C0BAD946E208E24FA074E5AB31' + '43DB5BFCE0FD108E4B82D120A93AD2CAFFFFFFFFFFFFFFFF';\nvar newPasswordRequiredChallengeUserAttributePrefix = 'userAttributes.';\n\n/** @class */\nvar AuthenticationHelper = /*#__PURE__*/function () {\n /**\n * Constructs a new AuthenticationHelper object\n * @param {string} PoolName Cognito user pool name.\n */\n function AuthenticationHelper(PoolName) {\n this.N = new BigInteger(initN, 16);\n this.g = new BigInteger('2', 16);\n this.k = new BigInteger(this.hexHash(\"\" + this.padHex(this.N) + this.padHex(this.g)), 16);\n this.smallAValue = this.generateRandomSmallA();\n this.getLargeAValue(function () {});\n this.infoBits = Buffer.from('Caldera Derived Key', 'utf8');\n this.poolName = PoolName;\n }\n\n /**\n * @returns {BigInteger} small A, a random number\n */\n var _proto = AuthenticationHelper.prototype;\n _proto.getSmallAValue = function getSmallAValue() {\n return this.smallAValue;\n }\n\n /**\n * @param {nodeCallback} callback Called with (err, largeAValue)\n * @returns {void}\n */;\n _proto.getLargeAValue = function getLargeAValue(callback) {\n var _this = this;\n if (this.largeAValue) {\n callback(null, this.largeAValue);\n } else {\n this.calculateA(this.smallAValue, function (err, largeAValue) {\n if (err) {\n callback(err, null);\n }\n _this.largeAValue = largeAValue;\n callback(null, _this.largeAValue);\n });\n }\n }\n\n /**\n * helper function to generate a random big integer\n * @returns {BigInteger} a random value.\n * @private\n */;\n _proto.generateRandomSmallA = function generateRandomSmallA() {\n // This will be interpreted as a postive 128-bit integer\n var hexRandom = randomBytes(128).toString('hex');\n var randomBigInt = new BigInteger(hexRandom, 16);\n\n // There is no need to do randomBigInt.mod(this.N - 1) as N (3072-bit) is > 128 bytes (1024-bit)\n\n return randomBigInt;\n }\n\n /**\n * helper function to generate a random string\n * @returns {string} a random value.\n * @private\n */;\n _proto.generateRandomString = function generateRandomString() {\n return randomBytes(40).toString('base64');\n }\n\n /**\n * @returns {string} Generated random value included in password hash.\n */;\n _proto.getRandomPassword = function getRandomPassword() {\n return this.randomPassword;\n }\n\n /**\n * @returns {string} Generated random value included in devices hash.\n */;\n _proto.getSaltDevices = function getSaltDevices() {\n return this.SaltToHashDevices;\n }\n\n /**\n * @returns {string} Value used to verify devices.\n */;\n _proto.getVerifierDevices = function getVerifierDevices() {\n return this.verifierDevices;\n }\n\n /**\n * Generate salts and compute verifier.\n * @param {string} deviceGroupKey Devices to generate verifier for.\n * @param {string} username User to generate verifier for.\n * @param {nodeCallback} callback Called with (err, null)\n * @returns {void}\n */;\n _proto.generateHashDevice = function generateHashDevice(deviceGroupKey, username, callback) {\n var _this2 = this;\n this.randomPassword = this.generateRandomString();\n var combinedString = \"\" + deviceGroupKey + username + \":\" + this.randomPassword;\n var hashedString = this.hash(combinedString);\n var hexRandom = randomBytes(16).toString('hex');\n\n // The random hex will be unambiguously represented as a postive integer\n this.SaltToHashDevices = this.padHex(new BigInteger(hexRandom, 16));\n this.g.modPow(new BigInteger(this.hexHash(this.SaltToHashDevices + hashedString), 16), this.N, function (err, verifierDevicesNotPadded) {\n if (err) {\n callback(err, null);\n }\n _this2.verifierDevices = _this2.padHex(verifierDevicesNotPadded);\n callback(null, null);\n });\n }\n\n /**\n * Calculate the client's public value A = g^a%N\n * with the generated random number a\n * @param {BigInteger} a Randomly generated small A.\n * @param {nodeCallback} callback Called with (err, largeAValue)\n * @returns {void}\n * @private\n */;\n _proto.calculateA = function calculateA(a, callback) {\n var _this3 = this;\n this.g.modPow(a, this.N, function (err, A) {\n if (err) {\n callback(err, null);\n }\n if (A.mod(_this3.N).equals(BigInteger.ZERO)) {\n callback(new Error('Illegal paramater. A mod N cannot be 0.'), null);\n }\n callback(null, A);\n });\n }\n\n /**\n * Calculate the client's value U which is the hash of A and B\n * @param {BigInteger} A Large A value.\n * @param {BigInteger} B Server B value.\n * @returns {BigInteger} Computed U value.\n * @private\n */;\n _proto.calculateU = function calculateU(A, B) {\n this.UHexHash = this.hexHash(this.padHex(A) + this.padHex(B));\n var finalU = new BigInteger(this.UHexHash, 16);\n return finalU;\n }\n\n /**\n * Calculate a hash from a bitArray\n * @param {Buffer} buf Value to hash.\n * @returns {String} Hex-encoded hash.\n * @private\n */;\n _proto.hash = function hash(buf) {\n var awsCryptoHash = new Sha256();\n awsCryptoHash.update(buf);\n var resultFromAWSCrypto = awsCryptoHash.digestSync();\n var hashHex = Buffer.from(resultFromAWSCrypto).toString('hex');\n return new Array(64 - hashHex.length).join('0') + hashHex;\n }\n\n /**\n * Calculate a hash from a hex string\n * @param {String} hexStr Value to hash.\n * @returns {String} Hex-encoded hash.\n * @private\n */;\n _proto.hexHash = function hexHash(hexStr) {\n return this.hash(Buffer.from(hexStr, 'hex'));\n }\n\n /**\n * Standard hkdf algorithm\n * @param {Buffer} ikm Input key material.\n * @param {Buffer} salt Salt value.\n * @returns {Buffer} Strong key material.\n * @private\n */;\n _proto.computehkdf = function computehkdf(ikm, salt) {\n var infoBitsBuffer = Buffer.concat([this.infoBits, Buffer.from(String.fromCharCode(1), 'utf8')]);\n var awsCryptoHash = new Sha256(salt);\n awsCryptoHash.update(ikm);\n var resultFromAWSCryptoPrk = awsCryptoHash.digestSync();\n var awsCryptoHashHmac = new Sha256(resultFromAWSCryptoPrk);\n awsCryptoHashHmac.update(infoBitsBuffer);\n var resultFromAWSCryptoHmac = awsCryptoHashHmac.digestSync();\n var hashHexFromAWSCrypto = resultFromAWSCryptoHmac;\n var currentHex = hashHexFromAWSCrypto.slice(0, 16);\n return currentHex;\n }\n\n /**\n * Calculates the final hkdf based on computed S value, and computed U value and the key\n * @param {String} username Username.\n * @param {String} password Password.\n * @param {BigInteger} serverBValue Server B value.\n * @param {BigInteger} salt Generated salt.\n * @param {nodeCallback} callback Called with (err, hkdfValue)\n * @returns {void}\n */;\n _proto.getPasswordAuthenticationKey = function getPasswordAuthenticationKey(username, password, serverBValue, salt, callback) {\n var _this4 = this;\n if (serverBValue.mod(this.N).equals(BigInteger.ZERO)) {\n throw new Error('B cannot be zero.');\n }\n this.UValue = this.calculateU(this.largeAValue, serverBValue);\n if (this.UValue.equals(BigInteger.ZERO)) {\n throw new Error('U cannot be zero.');\n }\n var usernamePassword = \"\" + this.poolName + username + \":\" + password;\n var usernamePasswordHash = this.hash(usernamePassword);\n var xValue = new BigInteger(this.hexHash(this.padHex(salt) + usernamePasswordHash), 16);\n this.calculateS(xValue, serverBValue, function (err, sValue) {\n if (err) {\n callback(err, null);\n }\n var hkdf = _this4.computehkdf(Buffer.from(_this4.padHex(sValue), 'hex'), Buffer.from(_this4.padHex(_this4.UValue), 'hex'));\n callback(null, hkdf);\n });\n }\n\n /**\n * Calculates the S value used in getPasswordAuthenticationKey\n * @param {BigInteger} xValue Salted password hash value.\n * @param {BigInteger} serverBValue Server B value.\n * @param {nodeCallback} callback Called on success or error.\n * @returns {void}\n */;\n _proto.calculateS = function calculateS(xValue, serverBValue, callback) {\n var _this5 = this;\n this.g.modPow(xValue, this.N, function (err, gModPowXN) {\n if (err) {\n callback(err, null);\n }\n var intValue2 = serverBValue.subtract(_this5.k.multiply(gModPowXN));\n intValue2.modPow(_this5.smallAValue.add(_this5.UValue.multiply(xValue)), _this5.N, function (err2, result) {\n if (err2) {\n callback(err2, null);\n }\n callback(null, result.mod(_this5.N));\n });\n });\n }\n\n /**\n * Return constant newPasswordRequiredChallengeUserAttributePrefix\n * @return {newPasswordRequiredChallengeUserAttributePrefix} constant prefix value\n */;\n _proto.getNewPasswordRequiredChallengeUserAttributePrefix = function getNewPasswordRequiredChallengeUserAttributePrefix() {\n return newPasswordRequiredChallengeUserAttributePrefix;\n }\n\n /**\n * Returns an unambiguous, even-length hex string of the two's complement encoding of an integer.\n *\n * It is compatible with the hex encoding of Java's BigInteger's toByteArray(), wich returns a\n * byte array containing the two's-complement representation of a BigInteger. The array contains\n * the minimum number of bytes required to represent the BigInteger, including at least one sign bit.\n *\n * Examples showing how ambiguity is avoided by left padding with:\n * \t\"00\" (for positive values where the most-significant-bit is set)\n * \"FF\" (for negative values where the most-significant-bit is set)\n *\n * padHex(bigInteger.fromInt(-236)) === \"FF14\"\n * padHex(bigInteger.fromInt(20)) === \"14\"\n *\n * padHex(bigInteger.fromInt(-200)) === \"FF38\"\n * padHex(bigInteger.fromInt(56)) === \"38\"\n *\n * padHex(bigInteger.fromInt(-20)) === \"EC\"\n * padHex(bigInteger.fromInt(236)) === \"00EC\"\n *\n * padHex(bigInteger.fromInt(-56)) === \"C8\"\n * padHex(bigInteger.fromInt(200)) === \"00C8\"\n *\n * @param {BigInteger} bigInt Number to encode.\n * @returns {String} even-length hex string of the two's complement encoding.\n */;\n _proto.padHex = function padHex(bigInt) {\n if (!(bigInt instanceof BigInteger)) {\n throw new Error('Not a BigInteger');\n }\n var isNegative = bigInt.compareTo(BigInteger.ZERO) < 0;\n\n /* Get a hex string for abs(bigInt) */\n var hexStr = bigInt.abs().toString(16);\n\n /* Pad hex to even length if needed */\n hexStr = hexStr.length % 2 !== 0 ? \"0\" + hexStr : hexStr;\n\n /* Prepend \"00\" if the most significant bit is set */\n hexStr = HEX_MSB_REGEX.test(hexStr) ? \"00\" + hexStr : hexStr;\n if (isNegative) {\n /* Flip the bits of the representation */\n var invertedNibbles = hexStr.split('').map(function (x) {\n var invertedNibble = ~parseInt(x, 16) & 0xf;\n return '0123456789ABCDEF'.charAt(invertedNibble);\n }).join('');\n\n /* After flipping the bits, add one to get the 2's complement representation */\n var flippedBitsBI = new BigInteger(invertedNibbles, 16).add(BigInteger.ONE);\n hexStr = flippedBitsBI.toString(16);\n\n /*\n For hex strings starting with 'FF8', 'FF' can be dropped, e.g. 0xFFFF80=0xFF80=0x80=-128\n \t\tAny sequence of '1' bits on the left can always be substituted with a single '1' bit\n without changing the represented value.\n \t\tThis only happens in the case when the input is 80...00\n */\n if (hexStr.toUpperCase().startsWith('FF8')) {\n hexStr = hexStr.substring(2);\n }\n }\n return hexStr;\n };\n return AuthenticationHelper;\n}();\nexport { AuthenticationHelper as default };","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Buffer } from 'buffer';\n\n/** @class */\nvar CognitoJwtToken = /*#__PURE__*/function () {\n /**\n * Constructs a new CognitoJwtToken object\n * @param {string=} token The JWT token.\n */\n function CognitoJwtToken(token) {\n // Assign object\n this.jwtToken = token || '';\n this.payload = this.decodePayload();\n }\n\n /**\n * @returns {string} the record's token.\n */\n var _proto = CognitoJwtToken.prototype;\n _proto.getJwtToken = function getJwtToken() {\n return this.jwtToken;\n }\n\n /**\n * @returns {int} the token's expiration (exp member).\n */;\n _proto.getExpiration = function getExpiration() {\n return this.payload.exp;\n }\n\n /**\n * @returns {int} the token's \"issued at\" (iat member).\n */;\n _proto.getIssuedAt = function getIssuedAt() {\n return this.payload.iat;\n }\n\n /**\n * @returns {object} the token's payload.\n */;\n _proto.decodePayload = function decodePayload() {\n var payload = this.jwtToken.split('.')[1];\n try {\n return JSON.parse(Buffer.from(payload, 'base64').toString('utf8'));\n } catch (err) {\n return {};\n }\n };\n return CognitoJwtToken;\n}();\nexport { CognitoJwtToken as default };","function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport CognitoJwtToken from './CognitoJwtToken';\n\n/** @class */\nvar CognitoAccessToken = /*#__PURE__*/function (_CognitoJwtToken) {\n _inheritsLoose(CognitoAccessToken, _CognitoJwtToken);\n /**\n * Constructs a new CognitoAccessToken object\n * @param {string=} AccessToken The JWT access token.\n */\n function CognitoAccessToken(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n AccessToken = _ref.AccessToken;\n return _CognitoJwtToken.call(this, AccessToken || '') || this;\n }\n return CognitoAccessToken;\n}(CognitoJwtToken);\nexport { CognitoAccessToken as default };","function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport CognitoJwtToken from './CognitoJwtToken';\n\n/** @class */\nvar CognitoIdToken = /*#__PURE__*/function (_CognitoJwtToken) {\n _inheritsLoose(CognitoIdToken, _CognitoJwtToken);\n /**\n * Constructs a new CognitoIdToken object\n * @param {string=} IdToken The JWT Id token\n */\n function CognitoIdToken(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n IdToken = _ref.IdToken;\n return _CognitoJwtToken.call(this, IdToken || '') || this;\n }\n return CognitoIdToken;\n}(CognitoJwtToken);\nexport { CognitoIdToken as default };","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n/** @class */\nvar CognitoRefreshToken = /*#__PURE__*/function () {\n /**\n * Constructs a new CognitoRefreshToken object\n * @param {string=} RefreshToken The JWT refresh token.\n */\n function CognitoRefreshToken(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n RefreshToken = _ref.RefreshToken;\n // Assign object\n this.token = RefreshToken || '';\n }\n\n /**\n * @returns {string} the record's token.\n */\n var _proto = CognitoRefreshToken.prototype;\n _proto.getToken = function getToken() {\n return this.token;\n };\n return CognitoRefreshToken;\n}();\nexport { CognitoRefreshToken as default };","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { version } from './version';\nvar BASE_USER_AGENT = \"aws-amplify/\" + version;\nexport var Platform = {\n userAgent: BASE_USER_AGENT,\n isReactNative: typeof navigator !== 'undefined' && navigator.product === 'ReactNative'\n};\nexport var getUserAgent = function getUserAgent() {\n return Platform.userAgent;\n};\n\n/**\n * @deprecated use named import\n */\nexport default Platform;","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n/** @class */\nvar CognitoUserSession = /*#__PURE__*/function () {\n /**\n * Constructs a new CognitoUserSession object\n * @param {CognitoIdToken} IdToken The session's Id token.\n * @param {CognitoRefreshToken=} RefreshToken The session's refresh token.\n * @param {CognitoAccessToken} AccessToken The session's access token.\n * @param {int} ClockDrift The saved computer's clock drift or undefined to force calculation.\n */\n function CognitoUserSession(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n IdToken = _ref.IdToken,\n RefreshToken = _ref.RefreshToken,\n AccessToken = _ref.AccessToken,\n ClockDrift = _ref.ClockDrift;\n if (AccessToken == null || IdToken == null) {\n throw new Error('Id token and Access Token must be present.');\n }\n this.idToken = IdToken;\n this.refreshToken = RefreshToken;\n this.accessToken = AccessToken;\n this.clockDrift = ClockDrift === undefined ? this.calculateClockDrift() : ClockDrift;\n }\n\n /**\n * @returns {CognitoIdToken} the session's Id token\n */\n var _proto = CognitoUserSession.prototype;\n _proto.getIdToken = function getIdToken() {\n return this.idToken;\n }\n\n /**\n * @returns {CognitoRefreshToken} the session's refresh token\n */;\n _proto.getRefreshToken = function getRefreshToken() {\n return this.refreshToken;\n }\n\n /**\n * @returns {CognitoAccessToken} the session's access token\n */;\n _proto.getAccessToken = function getAccessToken() {\n return this.accessToken;\n }\n\n /**\n * @returns {int} the session's clock drift\n */;\n _proto.getClockDrift = function getClockDrift() {\n return this.clockDrift;\n }\n\n /**\n * @returns {int} the computer's clock drift\n */;\n _proto.calculateClockDrift = function calculateClockDrift() {\n var now = Math.floor(new Date() / 1000);\n var iat = Math.min(this.accessToken.getIssuedAt(), this.idToken.getIssuedAt());\n return now - iat;\n }\n\n /**\n * Checks to see if the session is still valid based on session expiry information found\n * in tokens and the current time (adjusted with clock drift)\n * @returns {boolean} if the session is still valid\n */;\n _proto.isValid = function isValid() {\n var now = Math.floor(new Date() / 1000);\n var adjusted = now - this.clockDrift;\n return adjusted < this.accessToken.getExpiration() && adjusted < this.idToken.getExpiration();\n };\n return CognitoUserSession;\n}();\nexport { CognitoUserSession as default };","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nvar monthNames = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\nvar weekNames = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];\n\n/** @class */\nvar DateHelper = /*#__PURE__*/function () {\n function DateHelper() {}\n var _proto = DateHelper.prototype;\n /**\n * @returns {string} The current time in \"ddd MMM D HH:mm:ss UTC YYYY\" format.\n */\n _proto.getNowString = function getNowString() {\n var now = new Date();\n var weekDay = weekNames[now.getUTCDay()];\n var month = monthNames[now.getUTCMonth()];\n var day = now.getUTCDate();\n var hours = now.getUTCHours();\n if (hours < 10) {\n hours = \"0\" + hours;\n }\n var minutes = now.getUTCMinutes();\n if (minutes < 10) {\n minutes = \"0\" + minutes;\n }\n var seconds = now.getUTCSeconds();\n if (seconds < 10) {\n seconds = \"0\" + seconds;\n }\n var year = now.getUTCFullYear();\n\n // ddd MMM D HH:mm:ss UTC YYYY\n var dateNow = weekDay + \" \" + month + \" \" + day + \" \" + hours + \":\" + minutes + \":\" + seconds + \" UTC \" + year;\n return dateNow;\n };\n return DateHelper;\n}();\nexport { DateHelper as default };","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n/** @class */\nvar CognitoUserAttribute = /*#__PURE__*/function () {\n /**\n * Constructs a new CognitoUserAttribute object\n * @param {string=} Name The record's name\n * @param {string=} Value The record's value\n */\n function CognitoUserAttribute(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n Name = _ref.Name,\n Value = _ref.Value;\n this.Name = Name || '';\n this.Value = Value || '';\n }\n\n /**\n * @returns {string} the record's value.\n */\n var _proto = CognitoUserAttribute.prototype;\n _proto.getValue = function getValue() {\n return this.Value;\n }\n\n /**\n * Sets the record's value.\n * @param {string} value The new value.\n * @returns {CognitoUserAttribute} The record for method chaining.\n */;\n _proto.setValue = function setValue(value) {\n this.Value = value;\n return this;\n }\n\n /**\n * @returns {string} the record's name.\n */;\n _proto.getName = function getName() {\n return this.Name;\n }\n\n /**\n * Sets the record's name\n * @param {string} name The new name.\n * @returns {CognitoUserAttribute} The record for method chaining.\n */;\n _proto.setName = function setName(name) {\n this.Name = name;\n return this;\n }\n\n /**\n * @returns {string} a string representation of the record.\n */;\n _proto.toString = function toString() {\n return JSON.stringify(this);\n }\n\n /**\n * @returns {object} a flat object representing the record.\n */;\n _proto.toJSON = function toJSON() {\n return {\n Name: this.Name,\n Value: this.Value\n };\n };\n return CognitoUserAttribute;\n}();\nexport { CognitoUserAttribute as default };","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nvar dataMemory = {};\n\n/** @class */\nexport var MemoryStorage = /*#__PURE__*/function () {\n function MemoryStorage() {}\n /**\n * This is used to set a specific item in storage\n * @param {string} key - the key for the item\n * @param {object} value - the value\n * @returns {string} value that was set\n */\n MemoryStorage.setItem = function setItem(key, value) {\n dataMemory[key] = value;\n return dataMemory[key];\n }\n\n /**\n * This is used to get a specific key from storage\n * @param {string} key - the key for the item\n * This is used to clear the storage\n * @returns {string} the data item\n */;\n MemoryStorage.getItem = function getItem(key) {\n return Object.prototype.hasOwnProperty.call(dataMemory, key) ? dataMemory[key] : undefined;\n }\n\n /**\n * This is used to remove an item from storage\n * @param {string} key - the key being set\n * @returns {boolean} return true\n */;\n MemoryStorage.removeItem = function removeItem(key) {\n return delete dataMemory[key];\n }\n\n /**\n * This is used to clear the storage\n * @returns {string} nothing\n */;\n MemoryStorage.clear = function clear() {\n dataMemory = {};\n return dataMemory;\n };\n return MemoryStorage;\n}();\n\n/** @class */\nvar StorageHelper = /*#__PURE__*/function () {\n /**\n * This is used to get a storage object\n * @returns {object} the storage\n */\n function StorageHelper() {\n try {\n this.storageWindow = window.localStorage;\n this.storageWindow.setItem('aws.cognito.test-ls', 1);\n this.storageWindow.removeItem('aws.cognito.test-ls');\n } catch (exception) {\n this.storageWindow = MemoryStorage;\n }\n }\n\n /**\n * This is used to return the storage\n * @returns {object} the storage\n */\n var _proto = StorageHelper.prototype;\n _proto.getStorage = function getStorage() {\n return this.storageWindow;\n };\n return StorageHelper;\n}();\nexport { StorageHelper as default };","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Buffer } from 'buffer';\nimport { Sha256 } from '@aws-crypto/sha256-js';\nimport { Platform } from './Platform';\nimport BigInteger from './BigInteger';\nimport AuthenticationHelper from './AuthenticationHelper';\nimport CognitoAccessToken from './CognitoAccessToken';\nimport CognitoIdToken from './CognitoIdToken';\nimport CognitoRefreshToken from './CognitoRefreshToken';\nimport CognitoUserSession from './CognitoUserSession';\nimport DateHelper from './DateHelper';\nimport CognitoUserAttribute from './CognitoUserAttribute';\nimport StorageHelper from './StorageHelper';\n\n/**\n * @callback nodeCallback\n * @template T result\n * @param {*} err The operation failure reason, or null.\n * @param {T} result The operation result.\n */\n\n/**\n * @callback onFailure\n * @param {*} err Failure reason.\n */\n\n/**\n * @callback onSuccess\n * @template T result\n * @param {T} result The operation result.\n */\n\n/**\n * @callback mfaRequired\n * @param {*} details MFA challenge details.\n */\n\n/**\n * @callback customChallenge\n * @param {*} details Custom challenge details.\n */\n\n/**\n * @callback inputVerificationCode\n * @param {*} data Server response.\n */\n\n/**\n * @callback authSuccess\n * @param {CognitoUserSession} session The new session.\n * @param {bool=} userConfirmationNecessary User must be confirmed.\n */\n\nvar isNavigatorAvailable = typeof navigator !== 'undefined';\nvar userAgent = isNavigatorAvailable ? Platform.isReactNative ? 'react-native' : navigator.userAgent : 'nodejs';\n\n/** @class */\nvar CognitoUser = /*#__PURE__*/function () {\n /**\n * Constructs a new CognitoUser object\n * @param {object} data Creation options\n * @param {string} data.Username The user's username.\n * @param {CognitoUserPool} data.Pool Pool containing the user.\n * @param {object} data.Storage Optional storage object.\n */\n function CognitoUser(data) {\n if (data == null || data.Username == null || data.Pool == null) {\n throw new Error('Username and Pool information are required.');\n }\n this.username = data.Username || '';\n this.pool = data.Pool;\n this.Session = null;\n this.client = data.Pool.client;\n this.signInUserSession = null;\n this.authenticationFlowType = 'USER_SRP_AUTH';\n this.storage = data.Storage || new StorageHelper().getStorage();\n this.keyPrefix = \"CognitoIdentityServiceProvider.\" + this.pool.getClientId();\n this.userDataKey = this.keyPrefix + \".\" + this.username + \".userData\";\n }\n\n /**\n * Sets the session for this user\n * @param {CognitoUserSession} signInUserSession the session\n * @returns {void}\n */\n var _proto = CognitoUser.prototype;\n _proto.setSignInUserSession = function setSignInUserSession(signInUserSession) {\n this.clearCachedUserData();\n this.signInUserSession = signInUserSession;\n this.cacheTokens();\n }\n\n /**\n * @returns {CognitoUserSession} the current session for this user\n */;\n _proto.getSignInUserSession = function getSignInUserSession() {\n return this.signInUserSession;\n }\n\n /**\n * @returns {string} the user's username\n */;\n _proto.getUsername = function getUsername() {\n return this.username;\n }\n\n /**\n * @returns {String} the authentication flow type\n */;\n _proto.getAuthenticationFlowType = function getAuthenticationFlowType() {\n return this.authenticationFlowType;\n }\n\n /**\n * sets authentication flow type\n * @param {string} authenticationFlowType New value.\n * @returns {void}\n */;\n _proto.setAuthenticationFlowType = function setAuthenticationFlowType(authenticationFlowType) {\n this.authenticationFlowType = authenticationFlowType;\n }\n\n /**\n * This is used for authenticating the user through the custom authentication flow.\n * @param {AuthenticationDetails} authDetails Contains the authentication data\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {customChallenge} callback.customChallenge Custom challenge\n * response required to continue.\n * @param {authSuccess} callback.onSuccess Called on success with the new session.\n * @returns {void}\n */;\n _proto.initiateAuth = function initiateAuth(authDetails, callback) {\n var _this = this;\n var authParameters = authDetails.getAuthParameters();\n authParameters.USERNAME = this.username;\n var clientMetaData = Object.keys(authDetails.getValidationData()).length !== 0 ? authDetails.getValidationData() : authDetails.getClientMetadata();\n var jsonReq = {\n AuthFlow: 'CUSTOM_AUTH',\n ClientId: this.pool.getClientId(),\n AuthParameters: authParameters,\n ClientMetadata: clientMetaData\n };\n if (this.getUserContextData()) {\n jsonReq.UserContextData = this.getUserContextData();\n }\n this.client.request('InitiateAuth', jsonReq, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n var challengeName = data.ChallengeName;\n var challengeParameters = data.ChallengeParameters;\n if (challengeName === 'CUSTOM_CHALLENGE') {\n _this.Session = data.Session;\n return callback.customChallenge(challengeParameters);\n }\n _this.signInUserSession = _this.getCognitoUserSession(data.AuthenticationResult);\n _this.cacheTokens();\n return callback.onSuccess(_this.signInUserSession);\n });\n }\n\n /**\n * This is used for authenticating the user.\n * stuff\n * @param {AuthenticationDetails} authDetails Contains the authentication data\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {newPasswordRequired} callback.newPasswordRequired new\n * password and any required attributes are required to continue\n * @param {mfaRequired} callback.mfaRequired MFA code\n * required to continue.\n * @param {customChallenge} callback.customChallenge Custom challenge\n * response required to continue.\n * @param {authSuccess} callback.onSuccess Called on success with the new session.\n * @returns {void}\n */;\n _proto.authenticateUser = function authenticateUser(authDetails, callback) {\n if (this.authenticationFlowType === 'USER_PASSWORD_AUTH') {\n return this.authenticateUserPlainUsernamePassword(authDetails, callback);\n } else if (this.authenticationFlowType === 'USER_SRP_AUTH' || this.authenticationFlowType === 'CUSTOM_AUTH') {\n return this.authenticateUserDefaultAuth(authDetails, callback);\n }\n return callback.onFailure(new Error('Authentication flow type is invalid.'));\n }\n\n /**\n * PRIVATE ONLY: This is an internal only method and should not\n * be directly called by the consumers.\n * It calls the AuthenticationHelper for SRP related\n * stuff\n * @param {AuthenticationDetails} authDetails Contains the authentication data\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {newPasswordRequired} callback.newPasswordRequired new\n * password and any required attributes are required to continue\n * @param {mfaRequired} callback.mfaRequired MFA code\n * required to continue.\n * @param {customChallenge} callback.customChallenge Custom challenge\n * response required to continue.\n * @param {authSuccess} callback.onSuccess Called on success with the new session.\n * @returns {void}\n */;\n _proto.authenticateUserDefaultAuth = function authenticateUserDefaultAuth(authDetails, callback) {\n var _this2 = this;\n var authenticationHelper = new AuthenticationHelper(this.pool.getUserPoolName());\n var dateHelper = new DateHelper();\n var serverBValue;\n var salt;\n var authParameters = {};\n if (this.deviceKey != null) {\n authParameters.DEVICE_KEY = this.deviceKey;\n }\n authParameters.USERNAME = this.username;\n authenticationHelper.getLargeAValue(function (errOnAValue, aValue) {\n // getLargeAValue callback start\n if (errOnAValue) {\n callback.onFailure(errOnAValue);\n }\n authParameters.SRP_A = aValue.toString(16);\n if (_this2.authenticationFlowType === 'CUSTOM_AUTH') {\n authParameters.CHALLENGE_NAME = 'SRP_A';\n }\n var clientMetaData = Object.keys(authDetails.getValidationData()).length !== 0 ? authDetails.getValidationData() : authDetails.getClientMetadata();\n var jsonReq = {\n AuthFlow: _this2.authenticationFlowType,\n ClientId: _this2.pool.getClientId(),\n AuthParameters: authParameters,\n ClientMetadata: clientMetaData\n };\n if (_this2.getUserContextData(_this2.username)) {\n jsonReq.UserContextData = _this2.getUserContextData(_this2.username);\n }\n _this2.client.request('InitiateAuth', jsonReq, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n var challengeParameters = data.ChallengeParameters;\n _this2.username = challengeParameters.USER_ID_FOR_SRP;\n _this2.userDataKey = _this2.keyPrefix + \".\" + _this2.username + \".userData\";\n serverBValue = new BigInteger(challengeParameters.SRP_B, 16);\n salt = new BigInteger(challengeParameters.SALT, 16);\n _this2.getCachedDeviceKeyAndPassword();\n authenticationHelper.getPasswordAuthenticationKey(_this2.username, authDetails.getPassword(), serverBValue, salt, function (errOnHkdf, hkdf) {\n // getPasswordAuthenticationKey callback start\n if (errOnHkdf) {\n callback.onFailure(errOnHkdf);\n }\n var dateNow = dateHelper.getNowString();\n var concatBuffer = Buffer.concat([Buffer.from(_this2.pool.getUserPoolName(), 'utf8'), Buffer.from(_this2.username, 'utf8'), Buffer.from(challengeParameters.SECRET_BLOCK, 'base64'), Buffer.from(dateNow, 'utf8')]);\n var awsCryptoHash = new Sha256(hkdf);\n awsCryptoHash.update(concatBuffer);\n var resultFromAWSCrypto = awsCryptoHash.digestSync();\n var signatureString = Buffer.from(resultFromAWSCrypto).toString('base64');\n var challengeResponses = {};\n challengeResponses.USERNAME = _this2.username;\n challengeResponses.PASSWORD_CLAIM_SECRET_BLOCK = challengeParameters.SECRET_BLOCK;\n challengeResponses.TIMESTAMP = dateNow;\n challengeResponses.PASSWORD_CLAIM_SIGNATURE = signatureString;\n if (_this2.deviceKey != null) {\n challengeResponses.DEVICE_KEY = _this2.deviceKey;\n }\n var respondToAuthChallenge = function respondToAuthChallenge(challenge, challengeCallback) {\n return _this2.client.request('RespondToAuthChallenge', challenge, function (errChallenge, dataChallenge) {\n if (errChallenge && errChallenge.code === 'ResourceNotFoundException' && errChallenge.message.toLowerCase().indexOf('device') !== -1) {\n challengeResponses.DEVICE_KEY = null;\n _this2.deviceKey = null;\n _this2.randomPassword = null;\n _this2.deviceGroupKey = null;\n _this2.clearCachedDeviceKeyAndPassword();\n return respondToAuthChallenge(challenge, challengeCallback);\n }\n return challengeCallback(errChallenge, dataChallenge);\n });\n };\n var jsonReqResp = {\n ChallengeName: 'PASSWORD_VERIFIER',\n ClientId: _this2.pool.getClientId(),\n ChallengeResponses: challengeResponses,\n Session: data.Session,\n ClientMetadata: clientMetaData\n };\n if (_this2.getUserContextData()) {\n jsonReqResp.UserContextData = _this2.getUserContextData();\n }\n respondToAuthChallenge(jsonReqResp, function (errAuthenticate, dataAuthenticate) {\n if (errAuthenticate) {\n return callback.onFailure(errAuthenticate);\n }\n return _this2.authenticateUserInternal(dataAuthenticate, authenticationHelper, callback);\n });\n return undefined;\n // getPasswordAuthenticationKey callback end\n });\n return undefined;\n });\n // getLargeAValue callback end\n });\n }\n\n /**\n * PRIVATE ONLY: This is an internal only method and should not\n * be directly called by the consumers.\n * @param {AuthenticationDetails} authDetails Contains the authentication data.\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {mfaRequired} callback.mfaRequired MFA code\n * required to continue.\n * @param {authSuccess} callback.onSuccess Called on success with the new session.\n * @returns {void}\n */;\n _proto.authenticateUserPlainUsernamePassword = function authenticateUserPlainUsernamePassword(authDetails, callback) {\n var _this3 = this;\n var authParameters = {};\n authParameters.USERNAME = this.username;\n authParameters.PASSWORD = authDetails.getPassword();\n if (!authParameters.PASSWORD) {\n callback.onFailure(new Error('PASSWORD parameter is required'));\n return;\n }\n var authenticationHelper = new AuthenticationHelper(this.pool.getUserPoolName());\n this.getCachedDeviceKeyAndPassword();\n if (this.deviceKey != null) {\n authParameters.DEVICE_KEY = this.deviceKey;\n }\n var clientMetaData = Object.keys(authDetails.getValidationData()).length !== 0 ? authDetails.getValidationData() : authDetails.getClientMetadata();\n var jsonReq = {\n AuthFlow: 'USER_PASSWORD_AUTH',\n ClientId: this.pool.getClientId(),\n AuthParameters: authParameters,\n ClientMetadata: clientMetaData\n };\n if (this.getUserContextData(this.username)) {\n jsonReq.UserContextData = this.getUserContextData(this.username);\n }\n // USER_PASSWORD_AUTH happens in a single round-trip: client sends userName and password,\n // Cognito UserPools verifies password and returns tokens.\n this.client.request('InitiateAuth', jsonReq, function (err, authResult) {\n if (err) {\n return callback.onFailure(err);\n }\n return _this3.authenticateUserInternal(authResult, authenticationHelper, callback);\n });\n }\n\n /**\n * PRIVATE ONLY: This is an internal only method and should not\n * be directly called by the consumers.\n * @param {object} dataAuthenticate authentication data\n * @param {object} authenticationHelper helper created\n * @param {callback} callback passed on from caller\n * @returns {void}\n */;\n _proto.authenticateUserInternal = function authenticateUserInternal(dataAuthenticate, authenticationHelper, callback) {\n var _this4 = this;\n var challengeName = dataAuthenticate.ChallengeName;\n var challengeParameters = dataAuthenticate.ChallengeParameters;\n if (challengeName === 'SMS_MFA') {\n this.Session = dataAuthenticate.Session;\n return callback.mfaRequired(challengeName, challengeParameters);\n }\n if (challengeName === 'SELECT_MFA_TYPE') {\n this.Session = dataAuthenticate.Session;\n return callback.selectMFAType(challengeName, challengeParameters);\n }\n if (challengeName === 'MFA_SETUP') {\n this.Session = dataAuthenticate.Session;\n return callback.mfaSetup(challengeName, challengeParameters);\n }\n if (challengeName === 'SOFTWARE_TOKEN_MFA') {\n this.Session = dataAuthenticate.Session;\n return callback.totpRequired(challengeName, challengeParameters);\n }\n if (challengeName === 'CUSTOM_CHALLENGE') {\n this.Session = dataAuthenticate.Session;\n return callback.customChallenge(challengeParameters);\n }\n if (challengeName === 'NEW_PASSWORD_REQUIRED') {\n this.Session = dataAuthenticate.Session;\n var userAttributes = null;\n var rawRequiredAttributes = null;\n var requiredAttributes = [];\n var userAttributesPrefix = authenticationHelper.getNewPasswordRequiredChallengeUserAttributePrefix();\n if (challengeParameters) {\n userAttributes = JSON.parse(dataAuthenticate.ChallengeParameters.userAttributes);\n rawRequiredAttributes = JSON.parse(dataAuthenticate.ChallengeParameters.requiredAttributes);\n }\n if (rawRequiredAttributes) {\n for (var i = 0; i < rawRequiredAttributes.length; i++) {\n requiredAttributes[i] = rawRequiredAttributes[i].substr(userAttributesPrefix.length);\n }\n }\n return callback.newPasswordRequired(userAttributes, requiredAttributes);\n }\n if (challengeName === 'DEVICE_SRP_AUTH') {\n this.Session = dataAuthenticate.Session;\n this.getDeviceResponse(callback);\n return undefined;\n }\n this.signInUserSession = this.getCognitoUserSession(dataAuthenticate.AuthenticationResult);\n this.challengeName = challengeName;\n this.cacheTokens();\n var newDeviceMetadata = dataAuthenticate.AuthenticationResult.NewDeviceMetadata;\n if (newDeviceMetadata == null) {\n return callback.onSuccess(this.signInUserSession);\n }\n authenticationHelper.generateHashDevice(dataAuthenticate.AuthenticationResult.NewDeviceMetadata.DeviceGroupKey, dataAuthenticate.AuthenticationResult.NewDeviceMetadata.DeviceKey, function (errGenHash) {\n if (errGenHash) {\n return callback.onFailure(errGenHash);\n }\n var deviceSecretVerifierConfig = {\n Salt: Buffer.from(authenticationHelper.getSaltDevices(), 'hex').toString('base64'),\n PasswordVerifier: Buffer.from(authenticationHelper.getVerifierDevices(), 'hex').toString('base64')\n };\n _this4.verifierDevices = deviceSecretVerifierConfig.PasswordVerifier;\n _this4.deviceGroupKey = newDeviceMetadata.DeviceGroupKey;\n _this4.randomPassword = authenticationHelper.getRandomPassword();\n _this4.client.request('ConfirmDevice', {\n DeviceKey: newDeviceMetadata.DeviceKey,\n AccessToken: _this4.signInUserSession.getAccessToken().getJwtToken(),\n DeviceSecretVerifierConfig: deviceSecretVerifierConfig,\n DeviceName: userAgent\n }, function (errConfirm, dataConfirm) {\n if (errConfirm) {\n return callback.onFailure(errConfirm);\n }\n _this4.deviceKey = dataAuthenticate.AuthenticationResult.NewDeviceMetadata.DeviceKey;\n _this4.cacheDeviceKeyAndPassword();\n if (dataConfirm.UserConfirmationNecessary === true) {\n return callback.onSuccess(_this4.signInUserSession, dataConfirm.UserConfirmationNecessary);\n }\n return callback.onSuccess(_this4.signInUserSession);\n });\n return undefined;\n });\n return undefined;\n }\n\n /**\n * This method is user to complete the NEW_PASSWORD_REQUIRED challenge.\n * Pass the new password with any new user attributes to be updated.\n * User attribute keys must be of format userAttributes..\n * @param {string} newPassword new password for this user\n * @param {object} requiredAttributeData map with values for all required attributes\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {mfaRequired} callback.mfaRequired MFA code required to continue.\n * @param {customChallenge} callback.customChallenge Custom challenge\n * response required to continue.\n * @param {authSuccess} callback.onSuccess Called on success with the new session.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */;\n _proto.completeNewPasswordChallenge = function completeNewPasswordChallenge(newPassword, requiredAttributeData, callback, clientMetadata) {\n var _this5 = this;\n if (!newPassword) {\n return callback.onFailure(new Error('New password is required.'));\n }\n var authenticationHelper = new AuthenticationHelper(this.pool.getUserPoolName());\n var userAttributesPrefix = authenticationHelper.getNewPasswordRequiredChallengeUserAttributePrefix();\n var finalUserAttributes = {};\n if (requiredAttributeData) {\n Object.keys(requiredAttributeData).forEach(function (key) {\n finalUserAttributes[userAttributesPrefix + key] = requiredAttributeData[key];\n });\n }\n finalUserAttributes.NEW_PASSWORD = newPassword;\n finalUserAttributes.USERNAME = this.username;\n var jsonReq = {\n ChallengeName: 'NEW_PASSWORD_REQUIRED',\n ClientId: this.pool.getClientId(),\n ChallengeResponses: finalUserAttributes,\n Session: this.Session,\n ClientMetadata: clientMetadata\n };\n if (this.getUserContextData()) {\n jsonReq.UserContextData = this.getUserContextData();\n }\n this.client.request('RespondToAuthChallenge', jsonReq, function (errAuthenticate, dataAuthenticate) {\n if (errAuthenticate) {\n return callback.onFailure(errAuthenticate);\n }\n return _this5.authenticateUserInternal(dataAuthenticate, authenticationHelper, callback);\n });\n return undefined;\n }\n\n /**\n * This is used to get a session using device authentication. It is called at the end of user\n * authentication\n *\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {authSuccess} callback.onSuccess Called on success with the new session.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n * @private\n */;\n _proto.getDeviceResponse = function getDeviceResponse(callback, clientMetadata) {\n var _this6 = this;\n var authenticationHelper = new AuthenticationHelper(this.deviceGroupKey);\n var dateHelper = new DateHelper();\n var authParameters = {};\n authParameters.USERNAME = this.username;\n authParameters.DEVICE_KEY = this.deviceKey;\n authenticationHelper.getLargeAValue(function (errAValue, aValue) {\n // getLargeAValue callback start\n if (errAValue) {\n callback.onFailure(errAValue);\n }\n authParameters.SRP_A = aValue.toString(16);\n var jsonReq = {\n ChallengeName: 'DEVICE_SRP_AUTH',\n ClientId: _this6.pool.getClientId(),\n ChallengeResponses: authParameters,\n ClientMetadata: clientMetadata,\n Session: _this6.Session\n };\n if (_this6.getUserContextData()) {\n jsonReq.UserContextData = _this6.getUserContextData();\n }\n _this6.client.request('RespondToAuthChallenge', jsonReq, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n var challengeParameters = data.ChallengeParameters;\n var serverBValue = new BigInteger(challengeParameters.SRP_B, 16);\n var salt = new BigInteger(challengeParameters.SALT, 16);\n authenticationHelper.getPasswordAuthenticationKey(_this6.deviceKey, _this6.randomPassword, serverBValue, salt, function (errHkdf, hkdf) {\n // getPasswordAuthenticationKey callback start\n if (errHkdf) {\n return callback.onFailure(errHkdf);\n }\n var dateNow = dateHelper.getNowString();\n var concatBuffer = Buffer.concat([Buffer.from(_this6.deviceGroupKey, 'utf8'), Buffer.from(_this6.deviceKey, 'utf8'), Buffer.from(challengeParameters.SECRET_BLOCK, 'base64'), Buffer.from(dateNow, 'utf8')]);\n var awsCryptoHash = new Sha256(hkdf);\n awsCryptoHash.update(concatBuffer);\n var resultFromAWSCrypto = awsCryptoHash.digestSync();\n var signatureString = Buffer.from(resultFromAWSCrypto).toString('base64');\n var challengeResponses = {};\n challengeResponses.USERNAME = _this6.username;\n challengeResponses.PASSWORD_CLAIM_SECRET_BLOCK = challengeParameters.SECRET_BLOCK;\n challengeResponses.TIMESTAMP = dateNow;\n challengeResponses.PASSWORD_CLAIM_SIGNATURE = signatureString;\n challengeResponses.DEVICE_KEY = _this6.deviceKey;\n var jsonReqResp = {\n ChallengeName: 'DEVICE_PASSWORD_VERIFIER',\n ClientId: _this6.pool.getClientId(),\n ChallengeResponses: challengeResponses,\n Session: data.Session\n };\n if (_this6.getUserContextData()) {\n jsonReqResp.UserContextData = _this6.getUserContextData();\n }\n _this6.client.request('RespondToAuthChallenge', jsonReqResp, function (errAuthenticate, dataAuthenticate) {\n if (errAuthenticate) {\n return callback.onFailure(errAuthenticate);\n }\n _this6.signInUserSession = _this6.getCognitoUserSession(dataAuthenticate.AuthenticationResult);\n _this6.cacheTokens();\n return callback.onSuccess(_this6.signInUserSession);\n });\n return undefined;\n // getPasswordAuthenticationKey callback end\n });\n return undefined;\n });\n // getLargeAValue callback end\n });\n }\n\n /**\n * This is used for a certain user to confirm the registration by using a confirmation code\n * @param {string} confirmationCode Code entered by user.\n * @param {bool} forceAliasCreation Allow migrating from an existing email / phone number.\n * @param {nodeCallback} callback Called on success or error.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */;\n _proto.confirmRegistration = function confirmRegistration(confirmationCode, forceAliasCreation, callback, clientMetadata) {\n var jsonReq = {\n ClientId: this.pool.getClientId(),\n ConfirmationCode: confirmationCode,\n Username: this.username,\n ForceAliasCreation: forceAliasCreation,\n ClientMetadata: clientMetadata\n };\n if (this.getUserContextData()) {\n jsonReq.UserContextData = this.getUserContextData();\n }\n this.client.request('ConfirmSignUp', jsonReq, function (err) {\n if (err) {\n return callback(err, null);\n }\n return callback(null, 'SUCCESS');\n });\n }\n\n /**\n * This is used by the user once he has the responses to a custom challenge\n * @param {string} answerChallenge The custom challenge answer.\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {customChallenge} callback.customChallenge\n * Custom challenge response required to continue.\n * @param {authSuccess} callback.onSuccess Called on success with the new session.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */;\n _proto.sendCustomChallengeAnswer = function sendCustomChallengeAnswer(answerChallenge, callback, clientMetadata) {\n var _this7 = this;\n var challengeResponses = {};\n challengeResponses.USERNAME = this.username;\n challengeResponses.ANSWER = answerChallenge;\n var authenticationHelper = new AuthenticationHelper(this.pool.getUserPoolName());\n this.getCachedDeviceKeyAndPassword();\n if (this.deviceKey != null) {\n challengeResponses.DEVICE_KEY = this.deviceKey;\n }\n var jsonReq = {\n ChallengeName: 'CUSTOM_CHALLENGE',\n ChallengeResponses: challengeResponses,\n ClientId: this.pool.getClientId(),\n Session: this.Session,\n ClientMetadata: clientMetadata\n };\n if (this.getUserContextData()) {\n jsonReq.UserContextData = this.getUserContextData();\n }\n this.client.request('RespondToAuthChallenge', jsonReq, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n return _this7.authenticateUserInternal(data, authenticationHelper, callback);\n });\n }\n\n /**\n * This is used by the user once he has an MFA code\n * @param {string} confirmationCode The MFA code entered by the user.\n * @param {object} callback Result callback map.\n * @param {string} mfaType The mfa we are replying to.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {authSuccess} callback.onSuccess Called on success with the new session.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */;\n _proto.sendMFACode = function sendMFACode(confirmationCode, callback, mfaType, clientMetadata) {\n var _this8 = this;\n var challengeResponses = {};\n challengeResponses.USERNAME = this.username;\n challengeResponses.SMS_MFA_CODE = confirmationCode;\n var mfaTypeSelection = mfaType || 'SMS_MFA';\n if (mfaTypeSelection === 'SOFTWARE_TOKEN_MFA') {\n challengeResponses.SOFTWARE_TOKEN_MFA_CODE = confirmationCode;\n }\n if (this.deviceKey != null) {\n challengeResponses.DEVICE_KEY = this.deviceKey;\n }\n var jsonReq = {\n ChallengeName: mfaTypeSelection,\n ChallengeResponses: challengeResponses,\n ClientId: this.pool.getClientId(),\n Session: this.Session,\n ClientMetadata: clientMetadata\n };\n if (this.getUserContextData()) {\n jsonReq.UserContextData = this.getUserContextData();\n }\n this.client.request('RespondToAuthChallenge', jsonReq, function (err, dataAuthenticate) {\n if (err) {\n return callback.onFailure(err);\n }\n var challengeName = dataAuthenticate.ChallengeName;\n if (challengeName === 'DEVICE_SRP_AUTH') {\n _this8.getDeviceResponse(callback);\n return undefined;\n }\n _this8.signInUserSession = _this8.getCognitoUserSession(dataAuthenticate.AuthenticationResult);\n _this8.cacheTokens();\n if (dataAuthenticate.AuthenticationResult.NewDeviceMetadata == null) {\n return callback.onSuccess(_this8.signInUserSession);\n }\n var authenticationHelper = new AuthenticationHelper(_this8.pool.getUserPoolName());\n authenticationHelper.generateHashDevice(dataAuthenticate.AuthenticationResult.NewDeviceMetadata.DeviceGroupKey, dataAuthenticate.AuthenticationResult.NewDeviceMetadata.DeviceKey, function (errGenHash) {\n if (errGenHash) {\n return callback.onFailure(errGenHash);\n }\n var deviceSecretVerifierConfig = {\n Salt: Buffer.from(authenticationHelper.getSaltDevices(), 'hex').toString('base64'),\n PasswordVerifier: Buffer.from(authenticationHelper.getVerifierDevices(), 'hex').toString('base64')\n };\n _this8.verifierDevices = deviceSecretVerifierConfig.PasswordVerifier;\n _this8.deviceGroupKey = dataAuthenticate.AuthenticationResult.NewDeviceMetadata.DeviceGroupKey;\n _this8.randomPassword = authenticationHelper.getRandomPassword();\n _this8.client.request('ConfirmDevice', {\n DeviceKey: dataAuthenticate.AuthenticationResult.NewDeviceMetadata.DeviceKey,\n AccessToken: _this8.signInUserSession.getAccessToken().getJwtToken(),\n DeviceSecretVerifierConfig: deviceSecretVerifierConfig,\n DeviceName: userAgent\n }, function (errConfirm, dataConfirm) {\n if (errConfirm) {\n return callback.onFailure(errConfirm);\n }\n _this8.deviceKey = dataAuthenticate.AuthenticationResult.NewDeviceMetadata.DeviceKey;\n _this8.cacheDeviceKeyAndPassword();\n if (dataConfirm.UserConfirmationNecessary === true) {\n return callback.onSuccess(_this8.signInUserSession, dataConfirm.UserConfirmationNecessary);\n }\n return callback.onSuccess(_this8.signInUserSession);\n });\n return undefined;\n });\n return undefined;\n });\n }\n\n /**\n * This is used by an authenticated user to change the current password\n * @param {string} oldUserPassword The current password.\n * @param {string} newUserPassword The requested new password.\n * @param {nodeCallback} callback Called on success or error.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */;\n _proto.changePassword = function changePassword(oldUserPassword, newUserPassword, callback, clientMetadata) {\n if (!(this.signInUserSession != null && this.signInUserSession.isValid())) {\n return callback(new Error('User is not authenticated'), null);\n }\n this.client.request('ChangePassword', {\n PreviousPassword: oldUserPassword,\n ProposedPassword: newUserPassword,\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n ClientMetadata: clientMetadata\n }, function (err) {\n if (err) {\n return callback(err, null);\n }\n return callback(null, 'SUCCESS');\n });\n return undefined;\n }\n\n /**\n * This is used by an authenticated user to enable MFA for itself\n * @deprecated\n * @param {nodeCallback} callback Called on success or error.\n * @returns {void}\n */;\n _proto.enableMFA = function enableMFA(callback) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback(new Error('User is not authenticated'), null);\n }\n var mfaOptions = [];\n var mfaEnabled = {\n DeliveryMedium: 'SMS',\n AttributeName: 'phone_number'\n };\n mfaOptions.push(mfaEnabled);\n this.client.request('SetUserSettings', {\n MFAOptions: mfaOptions,\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function (err) {\n if (err) {\n return callback(err, null);\n }\n return callback(null, 'SUCCESS');\n });\n return undefined;\n }\n\n /**\n * This is used by an authenticated user to enable MFA for itself\n * @param {IMfaSettings} smsMfaSettings the sms mfa settings\n * @param {IMFASettings} softwareTokenMfaSettings the software token mfa settings\n * @param {nodeCallback} callback Called on success or error.\n * @returns {void}\n */;\n _proto.setUserMfaPreference = function setUserMfaPreference(smsMfaSettings, softwareTokenMfaSettings, callback) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback(new Error('User is not authenticated'), null);\n }\n this.client.request('SetUserMFAPreference', {\n SMSMfaSettings: smsMfaSettings,\n SoftwareTokenMfaSettings: softwareTokenMfaSettings,\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function (err) {\n if (err) {\n return callback(err, null);\n }\n return callback(null, 'SUCCESS');\n });\n return undefined;\n }\n\n /**\n * This is used by an authenticated user to disable MFA for itself\n * @deprecated\n * @param {nodeCallback} callback Called on success or error.\n * @returns {void}\n */;\n _proto.disableMFA = function disableMFA(callback) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback(new Error('User is not authenticated'), null);\n }\n var mfaOptions = [];\n this.client.request('SetUserSettings', {\n MFAOptions: mfaOptions,\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function (err) {\n if (err) {\n return callback(err, null);\n }\n return callback(null, 'SUCCESS');\n });\n return undefined;\n }\n\n /**\n * This is used by an authenticated user to delete itself\n * @param {nodeCallback} callback Called on success or error.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */;\n _proto.deleteUser = function deleteUser(callback, clientMetadata) {\n var _this9 = this;\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback(new Error('User is not authenticated'), null);\n }\n this.client.request('DeleteUser', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n ClientMetadata: clientMetadata\n }, function (err) {\n if (err) {\n return callback(err, null);\n }\n _this9.clearCachedUser();\n return callback(null, 'SUCCESS');\n });\n return undefined;\n }\n\n /**\n * @typedef {CognitoUserAttribute | { Name:string, Value:string }} AttributeArg\n */\n /**\n * This is used by an authenticated user to change a list of attributes\n * @param {AttributeArg[]} attributes A list of the new user attributes.\n * @param {nodeCallback} callback Called on success or error.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */;\n _proto.updateAttributes = function updateAttributes(attributes, callback, clientMetadata) {\n var _this10 = this;\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback(new Error('User is not authenticated'), null);\n }\n this.client.request('UpdateUserAttributes', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n UserAttributes: attributes,\n ClientMetadata: clientMetadata\n }, function (err, result) {\n if (err) {\n return callback(err, null);\n }\n\n // update cached user\n return _this10.getUserData(function () {\n return callback(null, 'SUCCESS', result);\n }, {\n bypassCache: true\n });\n });\n return undefined;\n }\n\n /**\n * This is used by an authenticated user to get a list of attributes\n * @param {nodeCallback} callback Called on success or error.\n * @returns {void}\n */;\n _proto.getUserAttributes = function getUserAttributes(callback) {\n if (!(this.signInUserSession != null && this.signInUserSession.isValid())) {\n return callback(new Error('User is not authenticated'), null);\n }\n this.client.request('GetUser', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function (err, userData) {\n if (err) {\n return callback(err, null);\n }\n var attributeList = [];\n for (var i = 0; i < userData.UserAttributes.length; i++) {\n var attribute = {\n Name: userData.UserAttributes[i].Name,\n Value: userData.UserAttributes[i].Value\n };\n var userAttribute = new CognitoUserAttribute(attribute);\n attributeList.push(userAttribute);\n }\n return callback(null, attributeList);\n });\n return undefined;\n }\n\n /**\n * This was previously used by an authenticated user to get MFAOptions,\n * but no longer returns a meaningful response. Refer to the documentation for\n * how to setup and use MFA: https://docs.amplify.aws/lib/auth/mfa/q/platform/js\n * @deprecated\n * @param {nodeCallback} callback Called on success or error.\n * @returns {void}\n */;\n _proto.getMFAOptions = function getMFAOptions(callback) {\n if (!(this.signInUserSession != null && this.signInUserSession.isValid())) {\n return callback(new Error('User is not authenticated'), null);\n }\n this.client.request('GetUser', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function (err, userData) {\n if (err) {\n return callback(err, null);\n }\n return callback(null, userData.MFAOptions);\n });\n return undefined;\n }\n\n /**\n * PRIVATE ONLY: This is an internal only method and should not\n * be directly called by the consumers.\n */;\n _proto.createGetUserRequest = function createGetUserRequest() {\n return this.client.promisifyRequest('GetUser', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n });\n }\n\n /**\n * PRIVATE ONLY: This is an internal only method and should not\n * be directly called by the consumers.\n */;\n _proto.refreshSessionIfPossible = function refreshSessionIfPossible(options) {\n var _this11 = this;\n if (options === void 0) {\n options = {};\n }\n // best effort, if not possible\n return new Promise(function (resolve) {\n var refresh = _this11.signInUserSession.getRefreshToken();\n if (refresh && refresh.getToken()) {\n _this11.refreshSession(refresh, resolve, options.clientMetadata);\n } else {\n resolve();\n }\n });\n }\n\n /**\n * @typedef {Object} GetUserDataOptions\n * @property {boolean} bypassCache - force getting data from Cognito service\n * @property {Record} clientMetadata - clientMetadata for getSession\n */\n\n /**\n * This is used by an authenticated users to get the userData\n * @param {nodeCallback} callback Called on success or error.\n * @param {GetUserDataOptions} params\n * @returns {void}\n */;\n _proto.getUserData = function getUserData(callback, params) {\n var _this12 = this;\n if (!(this.signInUserSession != null && this.signInUserSession.isValid())) {\n this.clearCachedUserData();\n return callback(new Error('User is not authenticated'), null);\n }\n var userData = this.getUserDataFromCache();\n if (!userData) {\n this.fetchUserData().then(function (data) {\n callback(null, data);\n })[\"catch\"](callback);\n return;\n }\n if (this.isFetchUserDataAndTokenRequired(params)) {\n this.fetchUserData().then(function (data) {\n return _this12.refreshSessionIfPossible(params).then(function () {\n return data;\n });\n }).then(function (data) {\n return callback(null, data);\n })[\"catch\"](callback);\n return;\n }\n try {\n callback(null, JSON.parse(userData));\n return;\n } catch (err) {\n this.clearCachedUserData();\n callback(err, null);\n return;\n }\n }\n\n /**\n *\n * PRIVATE ONLY: This is an internal only method and should not\n * be directly called by the consumers.\n */;\n _proto.getUserDataFromCache = function getUserDataFromCache() {\n var userData = this.storage.getItem(this.userDataKey);\n return userData;\n }\n\n /**\n *\n * PRIVATE ONLY: This is an internal only method and should not\n * be directly called by the consumers.\n */;\n _proto.isFetchUserDataAndTokenRequired = function isFetchUserDataAndTokenRequired(params) {\n var _ref = params || {},\n _ref$bypassCache = _ref.bypassCache,\n bypassCache = _ref$bypassCache === void 0 ? false : _ref$bypassCache;\n return bypassCache;\n }\n /**\n *\n * PRIVATE ONLY: This is an internal only method and should not\n * be directly called by the consumers.\n */;\n _proto.fetchUserData = function fetchUserData() {\n var _this13 = this;\n return this.createGetUserRequest().then(function (data) {\n _this13.cacheUserData(data);\n return data;\n });\n }\n\n /**\n * This is used by an authenticated user to delete a list of attributes\n * @param {string[]} attributeList Names of the attributes to delete.\n * @param {nodeCallback} callback Called on success or error.\n * @returns {void}\n */;\n _proto.deleteAttributes = function deleteAttributes(attributeList, callback) {\n var _this14 = this;\n if (!(this.signInUserSession != null && this.signInUserSession.isValid())) {\n return callback(new Error('User is not authenticated'), null);\n }\n this.client.request('DeleteUserAttributes', {\n UserAttributeNames: attributeList,\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function (err) {\n if (err) {\n return callback(err, null);\n }\n\n // update cached user\n return _this14.getUserData(function () {\n return callback(null, 'SUCCESS');\n }, {\n bypassCache: true\n });\n });\n return undefined;\n }\n\n /**\n * This is used by a user to resend a confirmation code\n * @param {nodeCallback} callback Called on success or error.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */;\n _proto.resendConfirmationCode = function resendConfirmationCode(callback, clientMetadata) {\n var jsonReq = {\n ClientId: this.pool.getClientId(),\n Username: this.username,\n ClientMetadata: clientMetadata\n };\n this.client.request('ResendConfirmationCode', jsonReq, function (err, result) {\n if (err) {\n return callback(err, null);\n }\n return callback(null, result);\n });\n }\n\n /**\n * @typedef {Object} GetSessionOptions\n * @property {Record} clientMetadata - clientMetadata for getSession\n */\n\n /**\n * This is used to get a session, either from the session object\n * or from the local storage, or by using a refresh token\n *\n * @param {nodeCallback} callback Called on success or error.\n * @param {GetSessionOptions} options\n * @returns {void}\n */;\n _proto.getSession = function getSession(callback, options) {\n if (options === void 0) {\n options = {};\n }\n if (this.username == null) {\n return callback(new Error('Username is null. Cannot retrieve a new session'), null);\n }\n if (this.signInUserSession != null && this.signInUserSession.isValid()) {\n return callback(null, this.signInUserSession);\n }\n var keyPrefix = \"CognitoIdentityServiceProvider.\" + this.pool.getClientId() + \".\" + this.username;\n var idTokenKey = keyPrefix + \".idToken\";\n var accessTokenKey = keyPrefix + \".accessToken\";\n var refreshTokenKey = keyPrefix + \".refreshToken\";\n var clockDriftKey = keyPrefix + \".clockDrift\";\n if (this.storage.getItem(idTokenKey)) {\n var idToken = new CognitoIdToken({\n IdToken: this.storage.getItem(idTokenKey)\n });\n var accessToken = new CognitoAccessToken({\n AccessToken: this.storage.getItem(accessTokenKey)\n });\n var refreshToken = new CognitoRefreshToken({\n RefreshToken: this.storage.getItem(refreshTokenKey)\n });\n var clockDrift = parseInt(this.storage.getItem(clockDriftKey), 0) || 0;\n var sessionData = {\n IdToken: idToken,\n AccessToken: accessToken,\n RefreshToken: refreshToken,\n ClockDrift: clockDrift\n };\n var cachedSession = new CognitoUserSession(sessionData);\n if (cachedSession.isValid()) {\n this.signInUserSession = cachedSession;\n return callback(null, this.signInUserSession);\n }\n if (!refreshToken.getToken()) {\n return callback(new Error('Cannot retrieve a new session. Please authenticate.'), null);\n }\n this.refreshSession(refreshToken, callback, options.clientMetadata);\n } else {\n callback(new Error('Local storage is missing an ID Token, Please authenticate'), null);\n }\n return undefined;\n }\n\n /**\n * This uses the refreshToken to retrieve a new session\n * @param {CognitoRefreshToken} refreshToken A previous session's refresh token.\n * @param {nodeCallback} callback Called on success or error.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */;\n _proto.refreshSession = function refreshSession(refreshToken, callback, clientMetadata) {\n var _this15 = this;\n var wrappedCallback = this.pool.wrapRefreshSessionCallback ? this.pool.wrapRefreshSessionCallback(callback) : callback;\n var authParameters = {};\n authParameters.REFRESH_TOKEN = refreshToken.getToken();\n var keyPrefix = \"CognitoIdentityServiceProvider.\" + this.pool.getClientId();\n var lastUserKey = keyPrefix + \".LastAuthUser\";\n if (this.storage.getItem(lastUserKey)) {\n this.username = this.storage.getItem(lastUserKey);\n var deviceKeyKey = keyPrefix + \".\" + this.username + \".deviceKey\";\n this.deviceKey = this.storage.getItem(deviceKeyKey);\n authParameters.DEVICE_KEY = this.deviceKey;\n }\n var jsonReq = {\n ClientId: this.pool.getClientId(),\n AuthFlow: 'REFRESH_TOKEN_AUTH',\n AuthParameters: authParameters,\n ClientMetadata: clientMetadata\n };\n if (this.getUserContextData()) {\n jsonReq.UserContextData = this.getUserContextData();\n }\n this.client.request('InitiateAuth', jsonReq, function (err, authResult) {\n if (err) {\n if (err.code === 'NotAuthorizedException') {\n _this15.clearCachedUser();\n }\n return wrappedCallback(err, null);\n }\n if (authResult) {\n var authenticationResult = authResult.AuthenticationResult;\n if (!Object.prototype.hasOwnProperty.call(authenticationResult, 'RefreshToken')) {\n authenticationResult.RefreshToken = refreshToken.getToken();\n }\n _this15.signInUserSession = _this15.getCognitoUserSession(authenticationResult);\n _this15.cacheTokens();\n return wrappedCallback(null, _this15.signInUserSession);\n }\n return undefined;\n });\n }\n\n /**\n * This is used to save the session tokens to local storage\n * @returns {void}\n */;\n _proto.cacheTokens = function cacheTokens() {\n var keyPrefix = \"CognitoIdentityServiceProvider.\" + this.pool.getClientId();\n var idTokenKey = keyPrefix + \".\" + this.username + \".idToken\";\n var accessTokenKey = keyPrefix + \".\" + this.username + \".accessToken\";\n var refreshTokenKey = keyPrefix + \".\" + this.username + \".refreshToken\";\n var clockDriftKey = keyPrefix + \".\" + this.username + \".clockDrift\";\n var lastUserKey = keyPrefix + \".LastAuthUser\";\n this.storage.setItem(idTokenKey, this.signInUserSession.getIdToken().getJwtToken());\n this.storage.setItem(accessTokenKey, this.signInUserSession.getAccessToken().getJwtToken());\n this.storage.setItem(refreshTokenKey, this.signInUserSession.getRefreshToken().getToken());\n this.storage.setItem(clockDriftKey, \"\" + this.signInUserSession.getClockDrift());\n this.storage.setItem(lastUserKey, this.username);\n }\n\n /**\n * This is to cache user data\n */;\n _proto.cacheUserData = function cacheUserData(userData) {\n this.storage.setItem(this.userDataKey, JSON.stringify(userData));\n }\n\n /**\n * This is to remove cached user data\n */;\n _proto.clearCachedUserData = function clearCachedUserData() {\n this.storage.removeItem(this.userDataKey);\n };\n _proto.clearCachedUser = function clearCachedUser() {\n this.clearCachedTokens();\n this.clearCachedUserData();\n }\n\n /**\n * This is used to cache the device key and device group and device password\n * @returns {void}\n */;\n _proto.cacheDeviceKeyAndPassword = function cacheDeviceKeyAndPassword() {\n var keyPrefix = \"CognitoIdentityServiceProvider.\" + this.pool.getClientId() + \".\" + this.username;\n var deviceKeyKey = keyPrefix + \".deviceKey\";\n var randomPasswordKey = keyPrefix + \".randomPasswordKey\";\n var deviceGroupKeyKey = keyPrefix + \".deviceGroupKey\";\n this.storage.setItem(deviceKeyKey, this.deviceKey);\n this.storage.setItem(randomPasswordKey, this.randomPassword);\n this.storage.setItem(deviceGroupKeyKey, this.deviceGroupKey);\n }\n\n /**\n * This is used to get current device key and device group and device password\n * @returns {void}\n */;\n _proto.getCachedDeviceKeyAndPassword = function getCachedDeviceKeyAndPassword() {\n var keyPrefix = \"CognitoIdentityServiceProvider.\" + this.pool.getClientId() + \".\" + this.username;\n var deviceKeyKey = keyPrefix + \".deviceKey\";\n var randomPasswordKey = keyPrefix + \".randomPasswordKey\";\n var deviceGroupKeyKey = keyPrefix + \".deviceGroupKey\";\n if (this.storage.getItem(deviceKeyKey)) {\n this.deviceKey = this.storage.getItem(deviceKeyKey);\n this.randomPassword = this.storage.getItem(randomPasswordKey);\n this.deviceGroupKey = this.storage.getItem(deviceGroupKeyKey);\n }\n }\n\n /**\n * This is used to clear the device key info from local storage\n * @returns {void}\n */;\n _proto.clearCachedDeviceKeyAndPassword = function clearCachedDeviceKeyAndPassword() {\n var keyPrefix = \"CognitoIdentityServiceProvider.\" + this.pool.getClientId() + \".\" + this.username;\n var deviceKeyKey = keyPrefix + \".deviceKey\";\n var randomPasswordKey = keyPrefix + \".randomPasswordKey\";\n var deviceGroupKeyKey = keyPrefix + \".deviceGroupKey\";\n this.storage.removeItem(deviceKeyKey);\n this.storage.removeItem(randomPasswordKey);\n this.storage.removeItem(deviceGroupKeyKey);\n }\n\n /**\n * This is used to clear the session tokens from local storage\n * @returns {void}\n */;\n _proto.clearCachedTokens = function clearCachedTokens() {\n var keyPrefix = \"CognitoIdentityServiceProvider.\" + this.pool.getClientId();\n var idTokenKey = keyPrefix + \".\" + this.username + \".idToken\";\n var accessTokenKey = keyPrefix + \".\" + this.username + \".accessToken\";\n var refreshTokenKey = keyPrefix + \".\" + this.username + \".refreshToken\";\n var lastUserKey = keyPrefix + \".LastAuthUser\";\n var clockDriftKey = keyPrefix + \".\" + this.username + \".clockDrift\";\n this.storage.removeItem(idTokenKey);\n this.storage.removeItem(accessTokenKey);\n this.storage.removeItem(refreshTokenKey);\n this.storage.removeItem(lastUserKey);\n this.storage.removeItem(clockDriftKey);\n }\n\n /**\n * This is used to build a user session from tokens retrieved in the authentication result\n * @param {object} authResult Successful auth response from server.\n * @returns {CognitoUserSession} The new user session.\n * @private\n */;\n _proto.getCognitoUserSession = function getCognitoUserSession(authResult) {\n var idToken = new CognitoIdToken(authResult);\n var accessToken = new CognitoAccessToken(authResult);\n var refreshToken = new CognitoRefreshToken(authResult);\n var sessionData = {\n IdToken: idToken,\n AccessToken: accessToken,\n RefreshToken: refreshToken\n };\n return new CognitoUserSession(sessionData);\n }\n\n /**\n * This is used to initiate a forgot password request\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {inputVerificationCode?} callback.inputVerificationCode\n * Optional callback raised instead of onSuccess with response data.\n * @param {onSuccess} callback.onSuccess Called on success.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */;\n _proto.forgotPassword = function forgotPassword(callback, clientMetadata) {\n var jsonReq = {\n ClientId: this.pool.getClientId(),\n Username: this.username,\n ClientMetadata: clientMetadata\n };\n if (this.getUserContextData()) {\n jsonReq.UserContextData = this.getUserContextData();\n }\n this.client.request('ForgotPassword', jsonReq, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n if (typeof callback.inputVerificationCode === 'function') {\n return callback.inputVerificationCode(data);\n }\n return callback.onSuccess(data);\n });\n }\n\n /**\n * This is used to confirm a new password using a confirmationCode\n * @param {string} confirmationCode Code entered by user.\n * @param {string} newPassword Confirm new password.\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {onSuccess} callback.onSuccess Called on success.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */;\n _proto.confirmPassword = function confirmPassword(confirmationCode, newPassword, callback, clientMetadata) {\n var jsonReq = {\n ClientId: this.pool.getClientId(),\n Username: this.username,\n ConfirmationCode: confirmationCode,\n Password: newPassword,\n ClientMetadata: clientMetadata\n };\n if (this.getUserContextData()) {\n jsonReq.UserContextData = this.getUserContextData();\n }\n this.client.request('ConfirmForgotPassword', jsonReq, function (err) {\n if (err) {\n return callback.onFailure(err);\n }\n return callback.onSuccess('SUCCESS');\n });\n }\n\n /**\n * This is used to initiate an attribute confirmation request\n * @param {string} attributeName User attribute that needs confirmation.\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {inputVerificationCode} callback.inputVerificationCode Called on success.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */;\n _proto.getAttributeVerificationCode = function getAttributeVerificationCode(attributeName, callback, clientMetadata) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback.onFailure(new Error('User is not authenticated'));\n }\n this.client.request('GetUserAttributeVerificationCode', {\n AttributeName: attributeName,\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n ClientMetadata: clientMetadata\n }, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n if (typeof callback.inputVerificationCode === 'function') {\n return callback.inputVerificationCode(data);\n }\n return callback.onSuccess('SUCCESS');\n });\n return undefined;\n }\n\n /**\n * This is used to confirm an attribute using a confirmation code\n * @param {string} attributeName Attribute being confirmed.\n * @param {string} confirmationCode Code entered by user.\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {onSuccess} callback.onSuccess Called on success.\n * @returns {void}\n */;\n _proto.verifyAttribute = function verifyAttribute(attributeName, confirmationCode, callback) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback.onFailure(new Error('User is not authenticated'));\n }\n this.client.request('VerifyUserAttribute', {\n AttributeName: attributeName,\n Code: confirmationCode,\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function (err) {\n if (err) {\n return callback.onFailure(err);\n }\n return callback.onSuccess('SUCCESS');\n });\n return undefined;\n }\n\n /**\n * This is used to get the device information using the current device key\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {onSuccess<*>} callback.onSuccess Called on success with device data.\n * @returns {void}\n */;\n _proto.getDevice = function getDevice(callback) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback.onFailure(new Error('User is not authenticated'));\n }\n this.client.request('GetDevice', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n DeviceKey: this.deviceKey\n }, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n return callback.onSuccess(data);\n });\n return undefined;\n }\n\n /**\n * This is used to forget a specific device\n * @param {string} deviceKey Device key.\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {onSuccess} callback.onSuccess Called on success.\n * @returns {void}\n */;\n _proto.forgetSpecificDevice = function forgetSpecificDevice(deviceKey, callback) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback.onFailure(new Error('User is not authenticated'));\n }\n this.client.request('ForgetDevice', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n DeviceKey: deviceKey\n }, function (err) {\n if (err) {\n return callback.onFailure(err);\n }\n return callback.onSuccess('SUCCESS');\n });\n return undefined;\n }\n\n /**\n * This is used to forget the current device\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {onSuccess} callback.onSuccess Called on success.\n * @returns {void}\n */;\n _proto.forgetDevice = function forgetDevice(callback) {\n var _this16 = this;\n this.forgetSpecificDevice(this.deviceKey, {\n onFailure: callback.onFailure,\n onSuccess: function onSuccess(result) {\n _this16.deviceKey = null;\n _this16.deviceGroupKey = null;\n _this16.randomPassword = null;\n _this16.clearCachedDeviceKeyAndPassword();\n return callback.onSuccess(result);\n }\n });\n }\n\n /**\n * This is used to set the device status as remembered\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {onSuccess} callback.onSuccess Called on success.\n * @returns {void}\n */;\n _proto.setDeviceStatusRemembered = function setDeviceStatusRemembered(callback) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback.onFailure(new Error('User is not authenticated'));\n }\n this.client.request('UpdateDeviceStatus', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n DeviceKey: this.deviceKey,\n DeviceRememberedStatus: 'remembered'\n }, function (err) {\n if (err) {\n return callback.onFailure(err);\n }\n return callback.onSuccess('SUCCESS');\n });\n return undefined;\n }\n\n /**\n * This is used to set the device status as not remembered\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {onSuccess} callback.onSuccess Called on success.\n * @returns {void}\n */;\n _proto.setDeviceStatusNotRemembered = function setDeviceStatusNotRemembered(callback) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback.onFailure(new Error('User is not authenticated'));\n }\n this.client.request('UpdateDeviceStatus', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n DeviceKey: this.deviceKey,\n DeviceRememberedStatus: 'not_remembered'\n }, function (err) {\n if (err) {\n return callback.onFailure(err);\n }\n return callback.onSuccess('SUCCESS');\n });\n return undefined;\n }\n\n /**\n * This is used to list all devices for a user\n *\n * @param {int} limit the number of devices returned in a call\n * @param {string | null} paginationToken the pagination token in case any was returned before\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {onSuccess<*>} callback.onSuccess Called on success with device list.\n * @returns {void}\n */;\n _proto.listDevices = function listDevices(limit, paginationToken, callback) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback.onFailure(new Error('User is not authenticated'));\n }\n var requestParams = {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n Limit: limit\n };\n if (paginationToken) {\n requestParams.PaginationToken = paginationToken;\n }\n this.client.request('ListDevices', requestParams, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n return callback.onSuccess(data);\n });\n return undefined;\n }\n\n /**\n * This is used to globally revoke all tokens issued to a user\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {onSuccess} callback.onSuccess Called on success.\n * @returns {void}\n */;\n _proto.globalSignOut = function globalSignOut(callback) {\n var _this17 = this;\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback.onFailure(new Error('User is not authenticated'));\n }\n this.client.request('GlobalSignOut', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function (err) {\n if (err) {\n return callback.onFailure(err);\n }\n _this17.clearCachedUser();\n return callback.onSuccess('SUCCESS');\n });\n return undefined;\n }\n\n /**\n * This is used for the user to signOut of the application and clear the cached tokens.\n * @returns {void}\n */;\n _proto.signOut = function signOut(revokeTokenCallback) {\n var _this18 = this;\n // If tokens won't be revoked, we just clean the client data.\n if (!revokeTokenCallback || typeof revokeTokenCallback !== 'function') {\n this.cleanClientData();\n return;\n }\n this.getSession(function (error, _session) {\n if (error) {\n return revokeTokenCallback(error);\n }\n _this18.revokeTokens(function (err) {\n _this18.cleanClientData();\n revokeTokenCallback(err);\n });\n });\n };\n _proto.revokeTokens = function revokeTokens(revokeTokenCallback) {\n if (revokeTokenCallback === void 0) {\n revokeTokenCallback = function revokeTokenCallback() {};\n }\n if (typeof revokeTokenCallback !== 'function') {\n throw new Error('Invalid revokeTokenCallback. It should be a function.');\n }\n var tokensToBeRevoked = [];\n if (!this.signInUserSession) {\n var error = new Error('User is not authenticated');\n return revokeTokenCallback(error);\n }\n if (!this.signInUserSession.getAccessToken()) {\n var _error = new Error('No Access token available');\n return revokeTokenCallback(_error);\n }\n var refreshToken = this.signInUserSession.getRefreshToken().getToken();\n var accessToken = this.signInUserSession.getAccessToken();\n if (this.isSessionRevocable(accessToken)) {\n if (refreshToken) {\n return this.revokeToken({\n token: refreshToken,\n callback: revokeTokenCallback\n });\n }\n }\n revokeTokenCallback();\n };\n _proto.isSessionRevocable = function isSessionRevocable(token) {\n if (token && typeof token.decodePayload === 'function') {\n try {\n var _token$decodePayload = token.decodePayload(),\n origin_jti = _token$decodePayload.origin_jti;\n return !!origin_jti;\n } catch (err) {\n // Nothing to do, token doesnt have origin_jti claim\n }\n }\n return false;\n };\n _proto.cleanClientData = function cleanClientData() {\n this.signInUserSession = null;\n this.clearCachedUser();\n };\n _proto.revokeToken = function revokeToken(_ref2) {\n var token = _ref2.token,\n callback = _ref2.callback;\n this.client.requestWithRetry('RevokeToken', {\n Token: token,\n ClientId: this.pool.getClientId()\n }, function (err) {\n if (err) {\n return callback(err);\n }\n callback();\n });\n }\n\n /**\n * This is used by a user trying to select a given MFA\n * @param {string} answerChallenge the mfa the user wants\n * @param {nodeCallback} callback Called on success or error.\n * @returns {void}\n */;\n _proto.sendMFASelectionAnswer = function sendMFASelectionAnswer(answerChallenge, callback) {\n var _this19 = this;\n var challengeResponses = {};\n challengeResponses.USERNAME = this.username;\n challengeResponses.ANSWER = answerChallenge;\n var jsonReq = {\n ChallengeName: 'SELECT_MFA_TYPE',\n ChallengeResponses: challengeResponses,\n ClientId: this.pool.getClientId(),\n Session: this.Session\n };\n if (this.getUserContextData()) {\n jsonReq.UserContextData = this.getUserContextData();\n }\n this.client.request('RespondToAuthChallenge', jsonReq, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n _this19.Session = data.Session;\n if (answerChallenge === 'SMS_MFA') {\n return callback.mfaRequired(data.ChallengeName, data.ChallengeParameters);\n }\n if (answerChallenge === 'SOFTWARE_TOKEN_MFA') {\n return callback.totpRequired(data.ChallengeName, data.ChallengeParameters);\n }\n return undefined;\n });\n }\n\n /**\n * This returns the user context data for advanced security feature.\n * @returns {string} the user context data from CognitoUserPool\n */;\n _proto.getUserContextData = function getUserContextData() {\n var pool = this.pool;\n return pool.getUserContextData(this.username);\n }\n\n /**\n * This is used by an authenticated or a user trying to authenticate to associate a TOTP MFA\n * @param {nodeCallback} callback Called on success or error.\n * @returns {void}\n */;\n _proto.associateSoftwareToken = function associateSoftwareToken(callback) {\n var _this20 = this;\n if (!(this.signInUserSession != null && this.signInUserSession.isValid())) {\n this.client.request('AssociateSoftwareToken', {\n Session: this.Session\n }, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n _this20.Session = data.Session;\n return callback.associateSecretCode(data.SecretCode);\n });\n } else {\n this.client.request('AssociateSoftwareToken', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n return callback.associateSecretCode(data.SecretCode);\n });\n }\n }\n\n /**\n * This is used by an authenticated or a user trying to authenticate to verify a TOTP MFA\n * @param {string} totpCode The MFA code entered by the user.\n * @param {string} friendlyDeviceName The device name we are assigning to the device.\n * @param {nodeCallback} callback Called on success or error.\n * @returns {void}\n */;\n _proto.verifySoftwareToken = function verifySoftwareToken(totpCode, friendlyDeviceName, callback) {\n var _this21 = this;\n if (!(this.signInUserSession != null && this.signInUserSession.isValid())) {\n this.client.request('VerifySoftwareToken', {\n Session: this.Session,\n UserCode: totpCode,\n FriendlyDeviceName: friendlyDeviceName\n }, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n _this21.Session = data.Session;\n var challengeResponses = {};\n challengeResponses.USERNAME = _this21.username;\n var jsonReq = {\n ChallengeName: 'MFA_SETUP',\n ClientId: _this21.pool.getClientId(),\n ChallengeResponses: challengeResponses,\n Session: _this21.Session\n };\n if (_this21.getUserContextData()) {\n jsonReq.UserContextData = _this21.getUserContextData();\n }\n _this21.client.request('RespondToAuthChallenge', jsonReq, function (errRespond, dataRespond) {\n if (errRespond) {\n return callback.onFailure(errRespond);\n }\n _this21.signInUserSession = _this21.getCognitoUserSession(dataRespond.AuthenticationResult);\n _this21.cacheTokens();\n return callback.onSuccess(_this21.signInUserSession);\n });\n return undefined;\n });\n } else {\n this.client.request('VerifySoftwareToken', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n UserCode: totpCode,\n FriendlyDeviceName: friendlyDeviceName\n }, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n return callback.onSuccess(data);\n });\n }\n };\n return CognitoUser;\n}();\nexport { CognitoUser as default };","import { getUserAgent } from './Platform';\nimport { AUTH_CATEGORY } from './Platform/constants';\n\n// constructor\nfunction UserAgent() {}\n// public\nUserAgent.prototype.userAgent = getUserAgent();\nexport var appendToCognitoUserAgent = function appendToCognitoUserAgent(content) {\n if (!content) {\n return;\n }\n if (UserAgent.prototype.userAgent && !UserAgent.prototype.userAgent.includes(content)) {\n UserAgent.prototype.userAgent = UserAgent.prototype.userAgent.concat(' ', content);\n }\n if (!UserAgent.prototype.userAgent || UserAgent.prototype.userAgent === '') {\n UserAgent.prototype.userAgent = content;\n }\n};\nexport var addAuthCategoryToCognitoUserAgent = function addAuthCategoryToCognitoUserAgent() {\n UserAgent.category = AUTH_CATEGORY;\n};\nexport var addFrameworkToCognitoUserAgent = function addFrameworkToCognitoUserAgent(framework) {\n UserAgent.framework = framework;\n};\nexport var getAmplifyUserAgent = function getAmplifyUserAgent(action) {\n var uaCategoryAction = UserAgent.category ? \" \" + UserAgent.category : '';\n var uaFramework = UserAgent.framework ? \" framework/\" + UserAgent.framework : '';\n var userAgent = \"\" + UserAgent.prototype.userAgent + uaCategoryAction + uaFramework;\n return userAgent;\n};\n\n// class for defining the amzn user-agent\nexport default UserAgent;","function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct.bind(); } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _isNativeFunction(fn) { try { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; } catch (e) { return typeof fn === \"function\"; } }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nimport 'isomorphic-unfetch';\nimport { getAmplifyUserAgent } from './UserAgent';\nvar CognitoError = /*#__PURE__*/function (_Error) {\n _inheritsLoose(CognitoError, _Error);\n function CognitoError(message, code, name, statusCode) {\n var _this;\n _this = _Error.call(this, message) || this;\n _this.code = code;\n _this.name = name;\n _this.statusCode = statusCode;\n return _this;\n }\n return CognitoError;\n}( /*#__PURE__*/_wrapNativeSuper(Error));\n/** @class */\nvar Client = /*#__PURE__*/function () {\n /**\n * Constructs a new AWS Cognito Identity Provider client object\n * @param {string} region AWS region\n * @param {string} endpoint endpoint\n * @param {object} fetchOptions options for fetch API (only credentials is supported)\n */\n function Client(region, endpoint, fetchOptions) {\n this.endpoint = endpoint || \"https://cognito-idp.\" + region + \".amazonaws.com/\";\n var _ref = fetchOptions || {},\n credentials = _ref.credentials;\n this.fetchOptions = credentials ? {\n credentials: credentials\n } : {};\n }\n\n /**\n * Makes an unauthenticated request on AWS Cognito Identity Provider API\n * using fetch\n * @param {string} operation API operation\n * @param {object} params Input parameters\n * @returns Promise\n */\n var _proto = Client.prototype;\n _proto.promisifyRequest = function promisifyRequest(operation, params) {\n var _this2 = this;\n return new Promise(function (resolve, reject) {\n _this2.request(operation, params, function (err, data) {\n if (err) {\n reject(new CognitoError(err.message, err.code, err.name, err.statusCode));\n } else {\n resolve(data);\n }\n });\n });\n };\n _proto.requestWithRetry = function requestWithRetry(operation, params, callback) {\n var _this3 = this;\n var MAX_DELAY_IN_MILLIS = 5 * 1000;\n jitteredExponentialRetry(function (p) {\n return new Promise(function (res, rej) {\n _this3.request(operation, p, function (error, result) {\n if (error) {\n rej(error);\n } else {\n res(result);\n }\n });\n });\n }, [params], MAX_DELAY_IN_MILLIS).then(function (result) {\n return callback(null, result);\n })[\"catch\"](function (error) {\n return callback(error);\n });\n }\n\n /**\n * Makes an unauthenticated request on AWS Cognito Identity Provider API\n * using fetch\n * @param {string} operation API operation\n * @param {object} params Input parameters\n * @param {function} callback Callback called when a response is returned\n * @returns {void}\n */;\n _proto.request = function request(operation, params, callback) {\n var headers = {\n 'Content-Type': 'application/x-amz-json-1.1',\n 'X-Amz-Target': \"AWSCognitoIdentityProviderService.\" + operation,\n 'X-Amz-User-Agent': getAmplifyUserAgent(),\n 'Cache-Control': 'no-store'\n };\n var options = Object.assign({}, this.fetchOptions, {\n headers: headers,\n method: 'POST',\n mode: 'cors',\n body: JSON.stringify(params)\n });\n var response;\n var responseJsonData;\n fetch(this.endpoint, options).then(function (resp) {\n response = resp;\n return resp;\n }, function (err) {\n // If error happens here, the request failed\n // if it is TypeError throw network error\n if (err instanceof TypeError) {\n throw new Error('Network error');\n }\n throw err;\n }).then(function (resp) {\n return resp.json()[\"catch\"](function () {\n return {};\n });\n }).then(function (data) {\n // return parsed body stream\n if (response.ok) return callback(null, data);\n responseJsonData = data;\n\n // Taken from aws-sdk-js/lib/protocol/json.js\n // eslint-disable-next-line no-underscore-dangle\n var code = (data.__type || data.code).split('#').pop();\n var error = new Error(data.message || data.Message || null);\n error.name = code;\n error.code = code;\n return callback(error);\n })[\"catch\"](function (err) {\n // first check if we have a service error\n if (response && response.headers && response.headers.get('x-amzn-errortype')) {\n try {\n var code = response.headers.get('x-amzn-errortype').split(':')[0];\n var error = new Error(response.status ? response.status.toString() : null);\n error.code = code;\n error.name = code;\n error.statusCode = response.status;\n return callback(error);\n } catch (ex) {\n return callback(err);\n }\n // otherwise check if error is Network error\n } else if (err instanceof Error && err.message === 'Network error') {\n err.code = 'NetworkError';\n }\n return callback(err);\n });\n };\n return Client;\n}();\nexport { Client as default };\nvar logger = {\n debug: function debug() {\n // Intentionally blank. This package doesn't have logging\n }\n};\n\n/**\n * For now, all errors are retryable.\n */\nvar NonRetryableError = /*#__PURE__*/function (_Error2) {\n _inheritsLoose(NonRetryableError, _Error2);\n function NonRetryableError(message) {\n var _this4;\n _this4 = _Error2.call(this, message) || this;\n _this4.nonRetryable = true;\n return _this4;\n }\n return NonRetryableError;\n}( /*#__PURE__*/_wrapNativeSuper(Error));\nvar isNonRetryableError = function isNonRetryableError(obj) {\n var key = 'nonRetryable';\n return obj && obj[key];\n};\nfunction retry(functionToRetry, args, delayFn, attempt) {\n if (attempt === void 0) {\n attempt = 1;\n }\n if (typeof functionToRetry !== 'function') {\n throw Error('functionToRetry must be a function');\n }\n logger.debug(functionToRetry.name + \" attempt #\" + attempt + \" with args: \" + JSON.stringify(args));\n return functionToRetry.apply(void 0, args)[\"catch\"](function (err) {\n logger.debug(\"error on \" + functionToRetry.name, err);\n if (isNonRetryableError(err)) {\n logger.debug(functionToRetry.name + \" non retryable error\", err);\n throw err;\n }\n var retryIn = delayFn(attempt, args, err);\n logger.debug(functionToRetry.name + \" retrying in \" + retryIn + \" ms\");\n if (retryIn !== false) {\n return new Promise(function (res) {\n return setTimeout(res, retryIn);\n }).then(function () {\n return retry(functionToRetry, args, delayFn, attempt + 1);\n });\n } else {\n throw err;\n }\n });\n}\nfunction jitteredBackoff(maxDelayMs) {\n var BASE_TIME_MS = 100;\n var JITTER_FACTOR = 100;\n return function (attempt) {\n var delay = Math.pow(2, attempt) * BASE_TIME_MS + JITTER_FACTOR * Math.random();\n return delay > maxDelayMs ? false : delay;\n };\n}\nvar MAX_DELAY_MS = 5 * 60 * 1000;\nfunction jitteredExponentialRetry(functionToRetry, args, maxDelayMs) {\n if (maxDelayMs === void 0) {\n maxDelayMs = MAX_DELAY_MS;\n }\n return retry(functionToRetry, args, jitteredBackoff(maxDelayMs));\n}","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport Client from './Client';\nimport CognitoUser from './CognitoUser';\nimport StorageHelper from './StorageHelper';\nvar USER_POOL_ID_MAX_LENGTH = 55;\n\n/** @class */\nvar CognitoUserPool = /*#__PURE__*/function () {\n /**\n * Constructs a new CognitoUserPool object\n * @param {object} data Creation options.\n * @param {string} data.UserPoolId Cognito user pool id.\n * @param {string} data.ClientId User pool application client id.\n * @param {string} data.endpoint Optional custom service endpoint.\n * @param {object} data.fetchOptions Optional options for fetch API.\n * (only credentials option is supported)\n * @param {object} data.Storage Optional storage object.\n * @param {boolean} data.AdvancedSecurityDataCollectionFlag Optional:\n * boolean flag indicating if the data collection is enabled\n * to support cognito advanced security features. By default, this\n * flag is set to true.\n */\n function CognitoUserPool(data, wrapRefreshSessionCallback) {\n var _ref = data || {},\n UserPoolId = _ref.UserPoolId,\n ClientId = _ref.ClientId,\n endpoint = _ref.endpoint,\n fetchOptions = _ref.fetchOptions,\n AdvancedSecurityDataCollectionFlag = _ref.AdvancedSecurityDataCollectionFlag;\n if (!UserPoolId || !ClientId) {\n throw new Error('Both UserPoolId and ClientId are required.');\n }\n if (UserPoolId.length > USER_POOL_ID_MAX_LENGTH || !/^[\\w-]+_[0-9a-zA-Z]+$/.test(UserPoolId)) {\n throw new Error('Invalid UserPoolId format.');\n }\n var region = UserPoolId.split('_')[0];\n this.userPoolId = UserPoolId;\n this.clientId = ClientId;\n this.client = new Client(region, endpoint, fetchOptions);\n\n /**\n * By default, AdvancedSecurityDataCollectionFlag is set to true,\n * if no input value is provided.\n */\n this.advancedSecurityDataCollectionFlag = AdvancedSecurityDataCollectionFlag !== false;\n this.storage = data.Storage || new StorageHelper().getStorage();\n if (wrapRefreshSessionCallback) {\n this.wrapRefreshSessionCallback = wrapRefreshSessionCallback;\n }\n }\n\n /**\n * @returns {string} the user pool id\n */\n var _proto = CognitoUserPool.prototype;\n _proto.getUserPoolId = function getUserPoolId() {\n return this.userPoolId;\n }\n\n /**\n * @returns {string} the user pool name\n */;\n _proto.getUserPoolName = function getUserPoolName() {\n return this.getUserPoolId().split('_')[1];\n }\n\n /**\n * @returns {string} the client id\n */;\n _proto.getClientId = function getClientId() {\n return this.clientId;\n }\n\n /**\n * @typedef {object} SignUpResult\n * @property {CognitoUser} user New user.\n * @property {bool} userConfirmed If the user is already confirmed.\n */\n /**\n * method for signing up a user\n * @param {string} username User's username.\n * @param {string} password Plain-text initial password entered by user.\n * @param {(AttributeArg[])=} userAttributes New user attributes.\n * @param {(AttributeArg[])=} validationData Application metadata.\n * @param {(AttributeArg[])=} clientMetadata Client metadata.\n * @param {nodeCallback} callback Called on error or with the new user.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */;\n _proto.signUp = function signUp(username, password, userAttributes, validationData, callback, clientMetadata) {\n var _this = this;\n var jsonReq = {\n ClientId: this.clientId,\n Username: username,\n Password: password,\n UserAttributes: userAttributes,\n ValidationData: validationData,\n ClientMetadata: clientMetadata\n };\n if (this.getUserContextData(username)) {\n jsonReq.UserContextData = this.getUserContextData(username);\n }\n this.client.request('SignUp', jsonReq, function (err, data) {\n if (err) {\n return callback(err, null);\n }\n var cognitoUser = {\n Username: username,\n Pool: _this,\n Storage: _this.storage\n };\n var returnData = {\n user: new CognitoUser(cognitoUser),\n userConfirmed: data.UserConfirmed,\n userSub: data.UserSub,\n codeDeliveryDetails: data.CodeDeliveryDetails\n };\n return callback(null, returnData);\n });\n }\n\n /**\n * method for getting the current user of the application from the local storage\n *\n * @returns {CognitoUser} the user retrieved from storage\n */;\n _proto.getCurrentUser = function getCurrentUser() {\n var lastUserKey = \"CognitoIdentityServiceProvider.\" + this.clientId + \".LastAuthUser\";\n var lastAuthUser = this.storage.getItem(lastUserKey);\n if (lastAuthUser) {\n var cognitoUser = {\n Username: lastAuthUser,\n Pool: this,\n Storage: this.storage\n };\n return new CognitoUser(cognitoUser);\n }\n return null;\n }\n\n /**\n * This method returns the encoded data string used for cognito advanced security feature.\n * This would be generated only when developer has included the JS used for collecting the\n * data on their client. Please refer to documentation to know more about using AdvancedSecurity\n * features\n * @param {string} username the username for the context data\n * @returns {string} the user context data\n **/;\n _proto.getUserContextData = function getUserContextData(username) {\n if (typeof AmazonCognitoAdvancedSecurityData === 'undefined') {\n return undefined;\n }\n /* eslint-disable */\n var amazonCognitoAdvancedSecurityDataConst = AmazonCognitoAdvancedSecurityData;\n /* eslint-enable */\n\n if (this.advancedSecurityDataCollectionFlag) {\n var advancedSecurityData = amazonCognitoAdvancedSecurityDataConst.getData(username, this.userPoolId, this.clientId);\n if (advancedSecurityData) {\n var userContextData = {\n EncodedData: advancedSecurityData\n };\n return userContextData;\n }\n }\n return {};\n };\n return CognitoUserPool;\n}();\nexport { CognitoUserPool as default };","import * as Cookies from 'js-cookie';\n\n/** @class */\nvar CookieStorage = /*#__PURE__*/function () {\n /**\n * Constructs a new CookieStorage object\n * @param {object} data Creation options.\n * @param {string} data.domain Cookies domain (default: domain of the page\n * \t\t\t\twhere the cookie was created, excluding subdomains)\n * @param {string} data.path Cookies path (default: '/')\n * @param {integer} data.expires Cookie expiration (in days, default: 365)\n * @param {boolean} data.secure Cookie secure flag (default: true)\n * @param {string} data.sameSite Cookie request behavior (default: null)\n */\n function CookieStorage(data) {\n if (data === void 0) {\n data = {};\n }\n if (data.domain) {\n this.domain = data.domain;\n }\n if (data.path) {\n this.path = data.path;\n } else {\n this.path = '/';\n }\n if (Object.prototype.hasOwnProperty.call(data, 'expires')) {\n this.expires = data.expires;\n } else {\n this.expires = 365;\n }\n if (Object.prototype.hasOwnProperty.call(data, 'secure')) {\n this.secure = data.secure;\n } else {\n this.secure = true;\n }\n if (Object.prototype.hasOwnProperty.call(data, 'sameSite')) {\n if (!['strict', 'lax', 'none'].includes(data.sameSite)) {\n throw new Error('The sameSite value of cookieStorage must be \"lax\", \"strict\" or \"none\".');\n }\n if (data.sameSite === 'none' && !this.secure) {\n throw new Error('sameSite = None requires the Secure attribute in latest browser versions.');\n }\n this.sameSite = data.sameSite;\n } else {\n this.sameSite = null;\n }\n }\n\n /**\n * This is used to set a specific item in storage\n * @param {string} key - the key for the item\n * @param {object} value - the value\n * @returns {string} value that was set\n */\n var _proto = CookieStorage.prototype;\n _proto.setItem = function setItem(key, value) {\n var options = {\n path: this.path,\n expires: this.expires,\n domain: this.domain,\n secure: this.secure\n };\n if (this.sameSite) {\n options.sameSite = this.sameSite;\n }\n Cookies.set(key, value, options);\n return Cookies.get(key);\n }\n\n /**\n * This is used to get a specific key from storage\n * @param {string} key - the key for the item\n * This is used to clear the storage\n * @returns {string} the data item\n */;\n _proto.getItem = function getItem(key) {\n return Cookies.get(key);\n }\n\n /**\n * This is used to remove an item from storage\n * @param {string} key - the key being set\n * @returns {string} value - value that was deleted\n */;\n _proto.removeItem = function removeItem(key) {\n var options = {\n path: this.path,\n expires: this.expires,\n domain: this.domain,\n secure: this.secure\n };\n if (this.sameSite) {\n options.sameSite = this.sameSite;\n }\n return Cookies.remove(key, options);\n }\n\n /**\n * This is used to clear the storage of optional\n * items that were previously set\n * @returns {} an empty object\n */;\n _proto.clear = function clear() {\n var cookies = Cookies.get();\n var numKeys = Object.keys(cookies).length;\n for (var index = 0; index < numKeys; ++index) {\n this.removeItem(Object.keys(cookies)[index]);\n }\n return {};\n };\n return CookieStorage;\n}();\nexport { CookieStorage as default };","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nconst SELF = '_self';\n\nexport const launchUri = (url: string) => {\n\tconst windowProxy = window.open(url, SELF);\n\tif (windowProxy) {\n\t\treturn Promise.resolve(windowProxy);\n\t} else {\n\t\treturn Promise.reject();\n\t}\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * This Symbol is used to reference an internal-only PubSub provider that\n * is used for AppSync/GraphQL subscriptions in the API category.\n */\nvar hasSymbol = typeof Symbol !== 'undefined' && typeof Symbol.for === 'function';\nexport var INTERNAL_AWS_APPSYNC_REALTIME_PUBSUB_PROVIDER = hasSymbol\n ? Symbol.for('INTERNAL_AWS_APPSYNC_REALTIME_PUBSUB_PROVIDER')\n : '@@INTERNAL_AWS_APPSYNC_REALTIME_PUBSUB_PROVIDER';\nexport var USER_AGENT_HEADER = 'x-amz-user-agent';\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { parse } from 'url'; // Used for OAuth parsing of Cognito Hosted UI\nimport { launchUri } from './urlOpener';\nimport * as oAuthStorage from './oauthStorage';\nimport { Buffer } from 'buffer';\n\nimport {\n\tOAuthOpts,\n\tisCognitoHostedOpts,\n\tCognitoHostedUIIdentityProvider,\n} from '../types/Auth';\n\nimport {\n\tAuthAction,\n\tCategory,\n\tConsoleLogger as Logger,\n\tCustomUserAgentDetails,\n\tgetAmplifyUserAgent,\n\tHub,\n\turlSafeEncode,\n\tUSER_AGENT_HEADER,\n} from '@aws-amplify/core';\n\nimport { Sha256 } from '@aws-crypto/sha256-js';\n\nconst AMPLIFY_SYMBOL = (\n\ttypeof Symbol !== 'undefined' && typeof Symbol.for === 'function'\n\t\t? Symbol.for('amplify_default')\n\t\t: '@@amplify_default'\n) as Symbol;\n\nconst dispatchAuthEvent = (event: string, data: any, message: string) => {\n\tHub.dispatch('auth', { event, data, message }, 'Auth', AMPLIFY_SYMBOL);\n};\n\nconst logger = new Logger('OAuth');\n\nexport default class OAuth {\n\tprivate _urlOpener;\n\tprivate _config;\n\tprivate _cognitoClientId;\n\tprivate _scopes;\n\n\tconstructor({\n\t\tconfig,\n\t\tcognitoClientId,\n\t\tscopes = [],\n\t}: {\n\t\tscopes: string[];\n\t\tconfig: OAuthOpts;\n\t\tcognitoClientId: string;\n\t}) {\n\t\tthis._urlOpener = config.urlOpener || launchUri;\n\t\tthis._config = config;\n\t\tthis._cognitoClientId = cognitoClientId;\n\n\t\tif (!this.isValidScopes(scopes))\n\t\t\tthrow Error('scopes must be a String Array');\n\t\tthis._scopes = scopes;\n\t}\n\n\tprivate isValidScopes(scopes: string[]) {\n\t\treturn (\n\t\t\tArray.isArray(scopes) && scopes.every(scope => typeof scope === 'string')\n\t\t);\n\t}\n\n\tpublic oauthSignIn(\n\t\tresponseType = 'code',\n\t\tdomain: string,\n\t\tredirectSignIn: string,\n\t\tclientId: string,\n\t\tprovider:\n\t\t\t| CognitoHostedUIIdentityProvider\n\t\t\t| string = CognitoHostedUIIdentityProvider.Cognito,\n\t\tcustomState?: string\n\t) {\n\t\tconst generatedState = this._generateState(32);\n\n\t\t/* encodeURIComponent is not URL safe, use urlSafeEncode instead. Cognito \n\t\tsingle-encodes/decodes url on first sign in and double-encodes/decodes url\n\t\twhen user already signed in. Using encodeURIComponent, Base32, Base64 add \n\t\tcharacters % or = which on further encoding becomes unsafe. '=' create issue \n\t\tfor parsing query params. \n\t\tRefer: https://github.com/aws-amplify/amplify-js/issues/5218 */\n\t\tconst state = customState\n\t\t\t? `${generatedState}-${urlSafeEncode(customState)}`\n\t\t\t: generatedState;\n\n\t\toAuthStorage.setState(state);\n\n\t\tconst pkce_key = this._generateRandom(128);\n\t\toAuthStorage.setPKCE(pkce_key);\n\n\t\tconst code_challenge = this._generateChallenge(pkce_key);\n\t\tconst code_challenge_method = 'S256';\n\n\t\tconst scopesString = this._scopes.join(' ');\n\n\t\tconst queryString = Object.entries({\n\t\t\tredirect_uri: redirectSignIn,\n\t\t\tresponse_type: responseType,\n\t\t\tclient_id: clientId,\n\t\t\tidentity_provider: provider,\n\t\t\tscope: scopesString,\n\t\t\tstate,\n\t\t\t...(responseType === 'code' ? { code_challenge } : {}),\n\t\t\t...(responseType === 'code' ? { code_challenge_method } : {}),\n\t\t})\n\t\t\t.map(([k, v]) => `${encodeURIComponent(k)}=${encodeURIComponent(v)}`)\n\t\t\t.join('&');\n\n\t\tconst URL = `https://${domain}/oauth2/authorize?${queryString}`;\n\t\tlogger.debug(`Redirecting to ${URL}`);\n\t\tthis._urlOpener(URL, redirectSignIn);\n\t}\n\n\tprivate async _handleCodeFlow(currentUrl: string) {\n\t\t/* Convert URL into an object with parameters as keys\n { redirect_uri: 'http://localhost:3000/', response_type: 'code', ...} */\n\t\tconst { code } = (parse(currentUrl).query || '')\n\t\t\t.split('&')\n\t\t\t.map(pairings => pairings.split('='))\n\t\t\t.reduce((accum, [k, v]) => ({ ...accum, [k]: v }), { code: undefined });\n\n\t\tconst currentUrlPathname = parse(currentUrl).pathname || '/';\n\t\tconst redirectSignInPathname =\n\t\t\tparse(this._config.redirectSignIn).pathname || '/';\n\n\t\tif (!code || currentUrlPathname !== redirectSignInPathname) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst oAuthTokenEndpoint =\n\t\t\t'https://' + this._config.domain + '/oauth2/token';\n\n\t\tdispatchAuthEvent(\n\t\t\t'codeFlow',\n\t\t\t{},\n\t\t\t`Retrieving tokens from ${oAuthTokenEndpoint}`\n\t\t);\n\n\t\tconst client_id = isCognitoHostedOpts(this._config)\n\t\t\t? this._cognitoClientId\n\t\t\t: this._config.clientID;\n\n\t\tconst redirect_uri = isCognitoHostedOpts(this._config)\n\t\t\t? this._config.redirectSignIn\n\t\t\t: this._config.redirectUri;\n\n\t\tconst code_verifier = oAuthStorage.getPKCE();\n\n\t\tconst oAuthTokenBody = {\n\t\t\tgrant_type: 'authorization_code',\n\t\t\tcode,\n\t\t\tclient_id,\n\t\t\tredirect_uri,\n\t\t\t...(code_verifier ? { code_verifier } : {}),\n\t\t};\n\n\t\tlogger.debug(\n\t\t\t`Calling token endpoint: ${oAuthTokenEndpoint} with`,\n\t\t\toAuthTokenBody\n\t\t);\n\n\t\tconst body = Object.entries(oAuthTokenBody)\n\t\t\t.map(([k, v]) => `${encodeURIComponent(k)}=${encodeURIComponent(v)}`)\n\t\t\t.join('&');\n\n\t\tconst customUserAgentDetails: CustomUserAgentDetails = {\n\t\t\tcategory: Category.Auth,\n\t\t\taction: AuthAction.FederatedSignIn,\n\t\t};\n\n\t\tconst { access_token, refresh_token, id_token, error } = await (\n\t\t\t(await fetch(oAuthTokenEndpoint, {\n\t\t\t\tmethod: 'POST',\n\t\t\t\theaders: {\n\t\t\t\t\t'Content-Type': 'application/x-www-form-urlencoded',\n\t\t\t\t\t[USER_AGENT_HEADER]: getAmplifyUserAgent(customUserAgentDetails),\n\t\t\t\t},\n\t\t\t\tbody,\n\t\t\t})) as any\n\t\t).json();\n\n\t\tif (error) {\n\t\t\tthrow new Error(error);\n\t\t}\n\n\t\treturn {\n\t\t\taccessToken: access_token,\n\t\t\trefreshToken: refresh_token,\n\t\t\tidToken: id_token,\n\t\t};\n\t}\n\n\tprivate async _handleImplicitFlow(currentUrl: string) {\n\t\t// hash is `null` if `#` doesn't exist on URL\n\t\tconst { id_token, access_token } = (parse(currentUrl).hash || '#')\n\t\t\t.substr(1) // Remove # from returned code\n\t\t\t.split('&')\n\t\t\t.map(pairings => pairings.split('='))\n\t\t\t.reduce((accum, [k, v]) => ({ ...accum, [k]: v }), {\n\t\t\t\tid_token: undefined,\n\t\t\t\taccess_token: undefined,\n\t\t\t});\n\n\t\tdispatchAuthEvent('implicitFlow', {}, `Got tokens from ${currentUrl}`);\n\t\tlogger.debug(`Retrieving implicit tokens from ${currentUrl} with`);\n\n\t\treturn {\n\t\t\taccessToken: access_token,\n\t\t\tidToken: id_token,\n\t\t\trefreshToken: null,\n\t\t};\n\t}\n\n\tpublic async handleAuthResponse(currentUrl?: string) {\n\t\ttry {\n\t\t\tconst urlParams = currentUrl\n\t\t\t\t? ({\n\t\t\t\t\t\t...(parse(currentUrl).hash || '#')\n\t\t\t\t\t\t\t.substr(1)\n\t\t\t\t\t\t\t.split('&')\n\t\t\t\t\t\t\t.map(entry => entry.split('='))\n\t\t\t\t\t\t\t.reduce((acc, [k, v]) => ((acc[k] = v), acc), {}),\n\t\t\t\t\t\t...(parse(currentUrl).query || '')\n\t\t\t\t\t\t\t.split('&')\n\t\t\t\t\t\t\t.map(entry => entry.split('='))\n\t\t\t\t\t\t\t.reduce((acc, [k, v]) => ((acc[k] = v), acc), {}),\n\t\t\t\t } as any)\n\t\t\t\t: {};\n\t\t\tconst { error, error_description } = urlParams;\n\n\t\t\tif (error) {\n\t\t\t\tthrow new Error(error_description);\n\t\t\t}\n\n\t\t\tconst state: string = this._validateState(urlParams);\n\n\t\t\tlogger.debug(\n\t\t\t\t`Starting ${this._config.responseType} flow with ${currentUrl}`\n\t\t\t);\n\t\t\tif (this._config.responseType === 'code') {\n\t\t\t\treturn { ...(await this._handleCodeFlow(currentUrl)), state };\n\t\t\t} else {\n\t\t\t\treturn { ...(await this._handleImplicitFlow(currentUrl)), state };\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tlogger.debug(`Error handling auth response.`, e);\n\t\t\tthrow e;\n\t\t}\n\t}\n\n\tprivate _validateState(urlParams: any): string {\n\t\tif (!urlParams) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst savedState = oAuthStorage.getState();\n\t\tconst { state: returnedState } = urlParams;\n\n\t\t// This is because savedState only exists if the flow was initiated by Amplify\n\t\tif (savedState && savedState !== returnedState) {\n\t\t\tthrow new Error('Invalid state in OAuth flow');\n\t\t}\n\t\treturn returnedState;\n\t}\n\n\tpublic async signOut() {\n\t\tlet oAuthLogoutEndpoint = 'https://' + this._config.domain + '/logout?';\n\n\t\tconst client_id = isCognitoHostedOpts(this._config)\n\t\t\t? this._cognitoClientId\n\t\t\t: this._config.oauth.clientID;\n\n\t\tconst signout_uri = isCognitoHostedOpts(this._config)\n\t\t\t? this._config.redirectSignOut\n\t\t\t: this._config.returnTo;\n\n\t\toAuthLogoutEndpoint += Object.entries({\n\t\t\tclient_id,\n\t\t\tlogout_uri: encodeURIComponent(signout_uri),\n\t\t})\n\t\t\t.map(([k, v]) => `${k}=${v}`)\n\t\t\t.join('&');\n\n\t\tdispatchAuthEvent(\n\t\t\t'oAuthSignOut',\n\t\t\t{ oAuth: 'signOut' },\n\t\t\t`Signing out from ${oAuthLogoutEndpoint}`\n\t\t);\n\t\tlogger.debug(`Signing out from ${oAuthLogoutEndpoint}`);\n\n\t\treturn this._urlOpener(oAuthLogoutEndpoint, signout_uri);\n\t}\n\n\tprivate _generateState(length: number) {\n\t\tlet result = '';\n\t\tlet i = length;\n\t\tconst chars =\n\t\t\t'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\n\t\tfor (; i > 0; --i)\n\t\t\tresult += chars[Math.round(Math.random() * (chars.length - 1))];\n\t\treturn result;\n\t}\n\n\tprivate _generateChallenge(code: string) {\n\t\tconst awsCryptoHash = new Sha256();\n\t\tawsCryptoHash.update(code);\n\n\t\tconst resultFromAWSCrypto = awsCryptoHash.digestSync();\n\t\tconst b64 = Buffer.from(resultFromAWSCrypto).toString('base64');\n\t\tconst base64URLFromAWSCrypto = this._base64URL(b64);\n\n\t\treturn base64URLFromAWSCrypto;\n\t}\n\n\tprivate _base64URL(string) {\n\t\treturn string.replace(/=/g, '').replace(/\\+/g, '-').replace(/\\//g, '_');\n\t}\n\n\tprivate _generateRandom(size: number) {\n\t\tconst CHARSET =\n\t\t\t'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~';\n\t\tconst buffer = new Uint8Array(size);\n\t\tif (typeof window !== 'undefined' && !!window.crypto) {\n\t\t\twindow.crypto.getRandomValues(buffer);\n\t\t} else {\n\t\t\tfor (let i = 0; i < size; i += 1) {\n\t\t\t\tbuffer[i] = (Math.random() * CHARSET.length) | 0;\n\t\t\t}\n\t\t}\n\t\treturn this._bufferToString(buffer);\n\t}\n\n\tprivate _bufferToString(buffer: Uint8Array) {\n\t\tconst CHARSET =\n\t\t\t'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n\t\tconst state = [];\n\t\tfor (let i = 0; i < buffer.byteLength; i += 1) {\n\t\t\tconst index = buffer[i] % CHARSET.length;\n\t\t\tstate.push(CHARSET[index]);\n\t\t}\n\t\treturn state.join('');\n\t}\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport function urlSafeEncode(str) {\n return str\n .split('')\n .map(function (char) {\n return char\n .charCodeAt(0)\n .toString(16)\n .padStart(2, '0');\n })\n .join('');\n}\nexport function urlSafeDecode(hex) {\n return hex\n .match(/.{2}/g)\n .map(function (char) { return String.fromCharCode(parseInt(char, 16)); })\n .join('');\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nexport const setState = (state: string) => {\n\twindow.sessionStorage.setItem('oauth_state', state);\n};\n\nexport const getState = () => {\n\tconst oauth_state = window.sessionStorage.getItem('oauth_state');\n\twindow.sessionStorage.removeItem('oauth_state');\n\treturn oauth_state;\n};\n\nexport const setPKCE = (private_key: string) => {\n\twindow.sessionStorage.setItem('ouath_pkce_key', private_key);\n};\n\nexport const getPKCE = () => {\n\tconst ouath_pkce_key = window.sessionStorage.getItem('ouath_pkce_key');\n\twindow.sessionStorage.removeItem('ouath_pkce_key');\n\treturn ouath_pkce_key;\n};\n\nexport const clearAll = () => {\n\twindow.sessionStorage.removeItem('ouath_pkce_key');\n\twindow.sessionStorage.removeItem('oauth_state');\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport enum AuthErrorStrings {\n\tDEFAULT_MSG = 'Authentication Error',\n\tEMPTY_EMAIL = 'Email cannot be empty',\n\tEMPTY_PHONE = 'Phone number cannot be empty',\n\tEMPTY_USERNAME = 'Username cannot be empty',\n\tINVALID_USERNAME = 'The username should either be a string or one of the sign in types',\n\tEMPTY_PASSWORD = 'Password cannot be empty',\n\tEMPTY_CODE = 'Confirmation code cannot be empty',\n\tSIGN_UP_ERROR = 'Error creating account',\n\tNO_MFA = 'No valid MFA method provided',\n\tINVALID_MFA = 'Invalid MFA type',\n\tEMPTY_CHALLENGE = 'Challenge response cannot be empty',\n\tNO_USER_SESSION = 'Failed to get the session because the user is empty',\n\tNETWORK_ERROR = 'Network Error',\n\tDEVICE_CONFIG = 'Device tracking has not been configured in this User Pool',\n\tAUTOSIGNIN_ERROR = 'Please use your credentials to sign in',\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { AuthErrorMessages, AuthErrorTypes } from './types';\nimport { ConsoleLogger as Logger } from '@aws-amplify/core';\nimport { AuthErrorStrings } from './common/AuthErrorStrings';\n\nconst logger = new Logger('AuthError');\n\nexport class AuthError extends Error {\n\tpublic log: string;\n\tconstructor(type: AuthErrorTypes) {\n\t\tconst { message, log } = authErrorMessages[type];\n\t\tsuper(message);\n\n\t\t// Hack for making the custom error class work when transpiled to es5\n\t\t// TODO: Delete the following 2 lines after we change the build target to >= es2015\n\t\tthis.constructor = AuthError;\n\t\tObject.setPrototypeOf(this, AuthError.prototype);\n\n\t\tthis.name = 'AuthError';\n\t\tthis.log = log || message;\n\n\t\tlogger.error(this.log);\n\t}\n}\n\nexport class NoUserPoolError extends AuthError {\n\tconstructor(type: AuthErrorTypes) {\n\t\tsuper(type);\n\n\t\t// Hack for making the custom error class work when transpiled to es5\n\t\t// TODO: Delete the following 2 lines after we change the build target to >= es2015\n\t\tthis.constructor = NoUserPoolError;\n\t\tObject.setPrototypeOf(this, NoUserPoolError.prototype);\n\n\t\tthis.name = 'NoUserPoolError';\n\t}\n}\n\nexport const authErrorMessages: AuthErrorMessages = {\n\tnoConfig: {\n\t\tmessage: AuthErrorStrings.DEFAULT_MSG,\n\t\tlog: `\n Error: Amplify has not been configured correctly.\n This error is typically caused by one of the following scenarios:\n\n 1. Make sure you're passing the awsconfig object to Amplify.configure() in your app's entry point\n See https://aws-amplify.github.io/docs/js/authentication#configure-your-app for more information\n \n 2. There might be multiple conflicting versions of amplify packages in your node_modules.\n\t\t\t\tRefer to our docs site for help upgrading Amplify packages (https://docs.amplify.aws/lib/troubleshooting/upgrading/q/platform/js)\n `,\n\t},\n\tmissingAuthConfig: {\n\t\tmessage: AuthErrorStrings.DEFAULT_MSG,\n\t\tlog: `\n Error: Amplify has not been configured correctly. \n The configuration object is missing required auth properties.\n This error is typically caused by one of the following scenarios:\n\n 1. Did you run \\`amplify push\\` after adding auth via \\`amplify add auth\\`?\n See https://aws-amplify.github.io/docs/js/authentication#amplify-project-setup for more information\n\n 2. This could also be caused by multiple conflicting versions of amplify packages, see (https://docs.amplify.aws/lib/troubleshooting/upgrading/q/platform/js) for help upgrading Amplify packages.\n `,\n\t},\n\temptyUsername: {\n\t\tmessage: AuthErrorStrings.EMPTY_USERNAME,\n\t},\n\t// TODO: should include a list of valid sign-in types\n\tinvalidUsername: {\n\t\tmessage: AuthErrorStrings.INVALID_USERNAME,\n\t},\n\temptyPassword: {\n\t\tmessage: AuthErrorStrings.EMPTY_PASSWORD,\n\t},\n\temptyCode: {\n\t\tmessage: AuthErrorStrings.EMPTY_CODE,\n\t},\n\tsignUpError: {\n\t\tmessage: AuthErrorStrings.SIGN_UP_ERROR,\n\t\tlog: 'The first parameter should either be non-null string or object',\n\t},\n\tnoMFA: {\n\t\tmessage: AuthErrorStrings.NO_MFA,\n\t},\n\tinvalidMFA: {\n\t\tmessage: AuthErrorStrings.INVALID_MFA,\n\t},\n\temptyChallengeResponse: {\n\t\tmessage: AuthErrorStrings.EMPTY_CHALLENGE,\n\t},\n\tnoUserSession: {\n\t\tmessage: AuthErrorStrings.NO_USER_SESSION,\n\t},\n\tdeviceConfig: {\n\t\tmessage: AuthErrorStrings.DEVICE_CONFIG,\n\t},\n\tnetworkError: {\n\t\tmessage: AuthErrorStrings.NETWORK_ERROR,\n\t},\n\tautoSignInError: {\n\t\tmessage: AuthErrorStrings.AUTOSIGNIN_ERROR,\n\t},\n\tdefault: {\n\t\tmessage: AuthErrorStrings.DEFAULT_MSG,\n\t},\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport {\n\tAuthOptions,\n\tFederatedResponse,\n\tSignUpParams,\n\tFederatedUser,\n\tConfirmSignUpOptions,\n\tSignOutOpts,\n\tCurrentUserOpts,\n\tGetPreferredMFAOpts,\n\tSignInOpts,\n\tisUsernamePasswordOpts,\n\tisCognitoHostedOpts,\n\tisFederatedSignInOptions,\n\tisFederatedSignInOptionsCustom,\n\thasCustomState,\n\tFederatedSignInOptionsCustom,\n\tLegacyProvider,\n\tFederatedSignInOptions,\n\tAwsCognitoOAuthOpts,\n\tClientMetaData,\n} from './types';\n\nimport {\n\tAmplify,\n\tConsoleLogger as Logger,\n\tCredentials,\n\tHub,\n\tStorageHelper,\n\tICredentials,\n\tPlatform,\n\tbrowserOrNode,\n\tparseAWSExports,\n\tUniversalStorage,\n\turlSafeDecode,\n\tHubCallback,\n} from '@aws-amplify/core';\nimport {\n\tCookieStorage,\n\tCognitoUserPool,\n\tAuthenticationDetails,\n\tICognitoUserPoolData,\n\tICognitoUserData,\n\tISignUpResult,\n\tCognitoUser,\n\tMFAOption,\n\tCognitoUserSession,\n\tIAuthenticationCallback,\n\tICognitoUserAttributeData,\n\tCognitoUserAttribute,\n\tCognitoIdToken,\n\tCognitoRefreshToken,\n\tCognitoAccessToken,\n\tNodeCallback,\n\tCodeDeliveryDetails,\n} from 'amazon-cognito-identity-js';\nimport {\n\taddAuthCategoryToCognitoUserAgent,\n\taddFrameworkToCognitoUserAgent,\n} from 'amazon-cognito-identity-js/internals';\n\nimport { parse } from 'url';\nimport OAuth from './OAuth/OAuth';\nimport { default as urlListener } from './urlListener';\nimport { AuthError, NoUserPoolError } from './Errors';\nimport {\n\tAuthErrorTypes,\n\tAutoSignInOptions,\n\tCognitoHostedUIIdentityProvider,\n\tIAuthDevice,\n} from './types/Auth';\n\nconst logger = new Logger('AuthClass');\nconst USER_ADMIN_SCOPE = 'aws.cognito.signin.user.admin';\n\n// 10 sec, following this guide https://www.nngroup.com/articles/response-times-3-important-limits/\nconst OAUTH_FLOW_MS_TIMEOUT = 10 * 1000;\n\nconst AMPLIFY_SYMBOL = (\n\ttypeof Symbol !== 'undefined' && typeof Symbol.for === 'function'\n\t\t? Symbol.for('amplify_default')\n\t\t: '@@amplify_default'\n) as Symbol;\n\nconst dispatchAuthEvent = (event: string, data: any, message: string) => {\n\tHub.dispatch('auth', { event, data, message }, 'Auth', AMPLIFY_SYMBOL);\n};\n\n// Cognito Documentation for max device\n// tslint:disable-next-line:max-line-length\n// https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_ListDevices.html#API_ListDevices_RequestSyntax\nconst MAX_DEVICES = 60;\n\nconst MAX_AUTOSIGNIN_POLLING_MS = 3 * 60 * 1000;\n\n/**\n * Provide authentication steps\n */\nexport class AuthClass {\n\tprivate _config: AuthOptions;\n\tprivate userPool: CognitoUserPool = null;\n\tprivate user: any = null;\n\tprivate _oAuthHandler: OAuth;\n\tprivate _storage;\n\tprivate _storageSync;\n\tprivate oAuthFlowInProgress: boolean = false;\n\tprivate pendingSignIn: ReturnType | null;\n\tprivate autoSignInInitiated: boolean = false;\n\tprivate inflightSessionPromise: Promise | null = null;\n\tprivate inflightSessionPromiseCounter: number = 0;\n\tCredentials = Credentials;\n\n\t/**\n\t * Initialize Auth with AWS configurations\n\t * @param {Object} config - Configuration of the Auth\n\t */\n\tconstructor(config: AuthOptions) {\n\t\tthis.configure(config);\n\t\tthis.currentCredentials = this.currentCredentials.bind(this);\n\t\tthis.currentUserCredentials = this.currentUserCredentials.bind(this);\n\n\t\tHub.listen('auth', ({ payload }) => {\n\t\t\tconst { event } = payload;\n\t\t\tswitch (event) {\n\t\t\t\tcase 'verify':\n\t\t\t\tcase 'signIn':\n\t\t\t\t\tthis._storage.setItem('amplify-signin-with-hostedUI', 'false');\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'signOut':\n\t\t\t\t\tthis._storage.removeItem('amplify-signin-with-hostedUI');\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'cognitoHostedUI':\n\t\t\t\t\tthis._storage.setItem('amplify-signin-with-hostedUI', 'true');\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t});\n\n\t\taddAuthCategoryToCognitoUserAgent();\n\t\taddFrameworkToCognitoUserAgent(Platform.framework);\n\t\tPlatform.observeFrameworkChanges(() => {\n\t\t\taddFrameworkToCognitoUserAgent(Platform.framework);\n\t\t});\n\t}\n\n\tpublic getModuleName() {\n\t\treturn 'Auth';\n\t}\n\n\tconfigure(config?) {\n\t\tif (!config) return this._config || {};\n\t\tlogger.debug('configure Auth');\n\t\tconst conf = Object.assign(\n\t\t\t{},\n\t\t\tthis._config,\n\t\t\tparseAWSExports(config).Auth,\n\t\t\tconfig\n\t\t);\n\t\tthis._config = conf;\n\t\tconst {\n\t\t\tuserPoolId,\n\t\t\tuserPoolWebClientId,\n\t\t\tcookieStorage,\n\t\t\toauth,\n\t\t\tregion,\n\t\t\tidentityPoolId,\n\t\t\tmandatorySignIn,\n\t\t\trefreshHandlers,\n\t\t\tidentityPoolRegion,\n\t\t\tclientMetadata,\n\t\t\tendpoint,\n\t\t\tstorage,\n\t\t} = this._config;\n\n\t\tif (!storage) {\n\t\t\t// backward compatability\n\t\t\tif (cookieStorage) this._storage = new CookieStorage(cookieStorage);\n\t\t\telse {\n\t\t\t\tthis._storage = config.ssr\n\t\t\t\t\t? new UniversalStorage()\n\t\t\t\t\t: new StorageHelper().getStorage();\n\t\t\t}\n\t\t} else {\n\t\t\tif (!this._isValidAuthStorage(storage)) {\n\t\t\t\tlogger.error('The storage in the Auth config is not valid!');\n\t\t\t\tthrow new Error('Empty storage object');\n\t\t\t}\n\t\t\tthis._storage = storage;\n\t\t}\n\n\t\tthis._storageSync = Promise.resolve();\n\t\tif (typeof this._storage['sync'] === 'function') {\n\t\t\tthis._storageSync = this._storage['sync']();\n\t\t}\n\n\t\tif (userPoolId) {\n\t\t\tconst userPoolData: ICognitoUserPoolData = {\n\t\t\t\tUserPoolId: userPoolId,\n\t\t\t\tClientId: userPoolWebClientId,\n\t\t\t\tendpoint,\n\t\t\t};\n\t\t\tuserPoolData.Storage = this._storage;\n\n\t\t\tthis.userPool = new CognitoUserPool(\n\t\t\t\tuserPoolData,\n\t\t\t\tthis.wrapRefreshSessionCallback\n\t\t\t);\n\t\t}\n\n\t\tthis.Credentials.configure({\n\t\t\tmandatorySignIn,\n\t\t\tregion,\n\t\t\tuserPoolId,\n\t\t\tidentityPoolId,\n\t\t\trefreshHandlers,\n\t\t\tstorage: this._storage,\n\t\t\tidentityPoolRegion,\n\t\t});\n\n\t\t// initialize cognitoauth client if hosted ui options provided\n\t\t// to keep backward compatibility:\n\t\tconst cognitoHostedUIConfig = oauth\n\t\t\t? isCognitoHostedOpts(this._config.oauth)\n\t\t\t\t? oauth\n\t\t\t\t: (oauth).awsCognito\n\t\t\t: undefined;\n\n\t\tif (cognitoHostedUIConfig) {\n\t\t\tconst cognitoAuthParams = Object.assign(\n\t\t\t\t{\n\t\t\t\t\tcognitoClientId: userPoolWebClientId,\n\t\t\t\t\tUserPoolId: userPoolId,\n\t\t\t\t\tdomain: cognitoHostedUIConfig['domain'],\n\t\t\t\t\tscopes: cognitoHostedUIConfig['scope'],\n\t\t\t\t\tredirectSignIn: cognitoHostedUIConfig['redirectSignIn'],\n\t\t\t\t\tredirectSignOut: cognitoHostedUIConfig['redirectSignOut'],\n\t\t\t\t\tresponseType: cognitoHostedUIConfig['responseType'],\n\t\t\t\t\tStorage: this._storage,\n\t\t\t\t\turlOpener: cognitoHostedUIConfig['urlOpener'],\n\t\t\t\t\tclientMetadata,\n\t\t\t\t},\n\t\t\t\tcognitoHostedUIConfig['options']\n\t\t\t);\n\n\t\t\tthis._oAuthHandler = new OAuth({\n\t\t\t\tscopes: cognitoAuthParams.scopes,\n\t\t\t\tconfig: cognitoAuthParams,\n\t\t\t\tcognitoClientId: cognitoAuthParams.cognitoClientId,\n\t\t\t});\n\n\t\t\t// **NOTE** - Remove this in a future major release as it is a breaking change\n\t\t\t// Prevents _handleAuthResponse from being called multiple times in Expo\n\t\t\t// See https://github.com/aws-amplify/amplify-js/issues/4388\n\t\t\tconst usedResponseUrls = {};\n\t\t\turlListener(({ url }) => {\n\t\t\t\tif (usedResponseUrls[url]) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tusedResponseUrls[url] = true;\n\t\t\t\tthis._handleAuthResponse(url);\n\t\t\t});\n\t\t}\n\n\t\tdispatchAuthEvent(\n\t\t\t'configured',\n\t\t\tnull,\n\t\t\t`The Auth category has been configured successfully`\n\t\t);\n\n\t\tif (\n\t\t\t!this.autoSignInInitiated &&\n\t\t\ttypeof this._storage['getItem'] === 'function'\n\t\t) {\n\t\t\tconst pollingInitiated = this.isTrueStorageValue(\n\t\t\t\t'amplify-polling-started'\n\t\t\t);\n\t\t\tif (pollingInitiated) {\n\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t'autoSignIn_failure',\n\t\t\t\t\tnull,\n\t\t\t\t\tAuthErrorTypes.AutoSignInError\n\t\t\t\t);\n\t\t\t\tthis._storage.removeItem('amplify-auto-sign-in');\n\t\t\t}\n\t\t\tthis._storage.removeItem('amplify-polling-started');\n\t\t}\n\t\treturn this._config;\n\t}\n\n\twrapRefreshSessionCallback = (callback: NodeCallback.Any) => {\n\t\tconst wrapped: NodeCallback.Any = (error, data) => {\n\t\t\tif (data) {\n\t\t\t\tdispatchAuthEvent('tokenRefresh', undefined, `New token retrieved`);\n\t\t\t} else {\n\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t'tokenRefresh_failure',\n\t\t\t\t\terror,\n\t\t\t\t\t`Failed to retrieve new token`\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn callback(error, data);\n\t\t};\n\t\treturn wrapped;\n\t} // prettier-ignore\n\n\t/**\n\t * Sign up with username, password and other attributes like phone, email\n\t * @param {String | object} params - The user attributes used for signin\n\t * @param {String[]} restOfAttrs - for the backward compatability\n\t * @return - A promise resolves callback data if success\n\t */\n\tpublic signUp(\n\t\tparams: string | SignUpParams,\n\t\t...restOfAttrs: string[]\n\t): Promise {\n\t\tif (!this.userPool) {\n\t\t\treturn this.rejectNoUserPool();\n\t\t}\n\n\t\tlet username: string = null;\n\t\tlet password: string = null;\n\t\tconst attributes: CognitoUserAttribute[] = [];\n\t\tlet validationData: CognitoUserAttribute[] = null;\n\t\tlet clientMetadata;\n\t\tlet autoSignIn: AutoSignInOptions = { enabled: false };\n\t\tlet autoSignInValidationData = {};\n\t\tlet autoSignInClientMetaData: ClientMetaData = {};\n\n\t\tif (params && typeof params === 'string') {\n\t\t\tusername = params;\n\t\t\tpassword = restOfAttrs ? restOfAttrs[0] : null;\n\t\t\tconst email: string = restOfAttrs ? restOfAttrs[1] : null;\n\t\t\tconst phone_number: string = restOfAttrs ? restOfAttrs[2] : null;\n\n\t\t\tif (email)\n\t\t\t\tattributes.push(\n\t\t\t\t\tnew CognitoUserAttribute({ Name: 'email', Value: email })\n\t\t\t\t);\n\n\t\t\tif (phone_number)\n\t\t\t\tattributes.push(\n\t\t\t\t\tnew CognitoUserAttribute({\n\t\t\t\t\t\tName: 'phone_number',\n\t\t\t\t\t\tValue: phone_number,\n\t\t\t\t\t})\n\t\t\t\t);\n\t\t} else if (params && typeof params === 'object') {\n\t\t\tusername = params['username'];\n\t\t\tpassword = params['password'];\n\n\t\t\tif (params && params.clientMetadata) {\n\t\t\t\tclientMetadata = params.clientMetadata;\n\t\t\t} else if (this._config.clientMetadata) {\n\t\t\t\tclientMetadata = this._config.clientMetadata;\n\t\t\t}\n\n\t\t\tconst attrs = params['attributes'];\n\t\t\tif (attrs) {\n\t\t\t\tObject.keys(attrs).map(key => {\n\t\t\t\t\tattributes.push(\n\t\t\t\t\t\tnew CognitoUserAttribute({ Name: key, Value: attrs[key] })\n\t\t\t\t\t);\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tconst validationDataObject = params['validationData'];\n\t\t\tif (validationDataObject) {\n\t\t\t\tvalidationData = [];\n\t\t\t\tObject.keys(validationDataObject).map(key => {\n\t\t\t\t\tvalidationData.push(\n\t\t\t\t\t\tnew CognitoUserAttribute({\n\t\t\t\t\t\t\tName: key,\n\t\t\t\t\t\t\tValue: validationDataObject[key],\n\t\t\t\t\t\t})\n\t\t\t\t\t);\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tautoSignIn = params.autoSignIn ?? { enabled: false };\n\t\t\tif (autoSignIn.enabled) {\n\t\t\t\tthis._storage.setItem('amplify-auto-sign-in', 'true');\n\t\t\t\tautoSignInValidationData = autoSignIn.validationData ?? {};\n\t\t\t\tautoSignInClientMetaData = autoSignIn.clientMetaData ?? {};\n\t\t\t}\n\t\t} else {\n\t\t\treturn this.rejectAuthError(AuthErrorTypes.SignUpError);\n\t\t}\n\n\t\tif (!username) {\n\t\t\treturn this.rejectAuthError(AuthErrorTypes.EmptyUsername);\n\t\t}\n\t\tif (!password) {\n\t\t\treturn this.rejectAuthError(AuthErrorTypes.EmptyPassword);\n\t\t}\n\n\t\tlogger.debug('signUp attrs:', attributes);\n\t\tlogger.debug('signUp validation data:', validationData);\n\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tthis.userPool.signUp(\n\t\t\t\tusername,\n\t\t\t\tpassword,\n\t\t\t\tattributes,\n\t\t\t\tvalidationData,\n\t\t\t\t(err, data) => {\n\t\t\t\t\tif (err) {\n\t\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t\t'signUp_failure',\n\t\t\t\t\t\t\terr,\n\t\t\t\t\t\t\t`${username} failed to signup`\n\t\t\t\t\t\t);\n\t\t\t\t\t\treject(err);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t\t'signUp',\n\t\t\t\t\t\t\tdata,\n\t\t\t\t\t\t\t`${username} has signed up successfully`\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (autoSignIn.enabled) {\n\t\t\t\t\t\t\tthis.handleAutoSignIn(\n\t\t\t\t\t\t\t\tusername,\n\t\t\t\t\t\t\t\tpassword,\n\t\t\t\t\t\t\t\tautoSignInValidationData,\n\t\t\t\t\t\t\t\tautoSignInClientMetaData,\n\t\t\t\t\t\t\t\tdata\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tresolve(data);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tclientMetadata\n\t\t\t);\n\t\t});\n\t}\n\n\tprivate handleAutoSignIn(\n\t\tusername: string,\n\t\tpassword: string,\n\t\tvalidationData: {},\n\t\tclientMetadata: any,\n\t\tdata: any\n\t) {\n\t\tthis.autoSignInInitiated = true;\n\t\tconst authDetails = new AuthenticationDetails({\n\t\t\tUsername: username,\n\t\t\tPassword: password,\n\t\t\tValidationData: validationData,\n\t\t\tClientMetadata: clientMetadata,\n\t\t});\n\t\tif (data.userConfirmed) {\n\t\t\tthis.signInAfterUserConfirmed(authDetails);\n\t\t} else if (this._config.signUpVerificationMethod === 'link') {\n\t\t\tthis.handleLinkAutoSignIn(authDetails);\n\t\t} else {\n\t\t\tthis.handleCodeAutoSignIn(authDetails);\n\t\t}\n\t}\n\n\tprivate handleCodeAutoSignIn(authDetails: AuthenticationDetails) {\n\t\tconst listenEvent = ({ payload }) => {\n\t\t\tif (payload.event === 'confirmSignUp') {\n\t\t\t\tthis.signInAfterUserConfirmed(authDetails, listenEvent);\n\t\t\t}\n\t\t};\n\t\tHub.listen('auth', listenEvent);\n\t}\n\n\tprivate handleLinkAutoSignIn(authDetails: AuthenticationDetails) {\n\t\tthis._storage.setItem('amplify-polling-started', 'true');\n\t\tconst start = Date.now();\n\t\tconst autoSignInPollingIntervalId = setInterval(() => {\n\t\t\tif (Date.now() - start > MAX_AUTOSIGNIN_POLLING_MS) {\n\t\t\t\tclearInterval(autoSignInPollingIntervalId);\n\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t'autoSignIn_failure',\n\t\t\t\t\tnull,\n\t\t\t\t\t'Please confirm your account and use your credentials to sign in.'\n\t\t\t\t);\n\t\t\t\tthis._storage.removeItem('amplify-auto-sign-in');\n\t\t\t} else {\n\t\t\t\tthis.signInAfterUserConfirmed(\n\t\t\t\t\tauthDetails,\n\t\t\t\t\tnull,\n\t\t\t\t\tautoSignInPollingIntervalId\n\t\t\t\t);\n\t\t\t}\n\t\t}, 5000);\n\t}\n\n\tprivate async signInAfterUserConfirmed(\n\t\tauthDetails: AuthenticationDetails,\n\t\tlistenEvent?: HubCallback,\n\t\tautoSignInPollingIntervalId?: ReturnType\n\t) {\n\t\tconst user = this.createCognitoUser(authDetails.getUsername());\n\t\ttry {\n\t\t\tawait user.authenticateUser(\n\t\t\t\tauthDetails,\n\t\t\t\tthis.authCallbacks(\n\t\t\t\t\tuser,\n\t\t\t\t\tvalue => {\n\t\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t\t'autoSignIn',\n\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\t`${authDetails.getUsername()} has signed in successfully`\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (listenEvent) {\n\t\t\t\t\t\t\tHub.remove('auth', listenEvent);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (autoSignInPollingIntervalId) {\n\t\t\t\t\t\t\tclearInterval(autoSignInPollingIntervalId);\n\t\t\t\t\t\t\tthis._storage.removeItem('amplify-polling-started');\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthis._storage.removeItem('amplify-auto-sign-in');\n\t\t\t\t\t},\n\t\t\t\t\terror => {\n\t\t\t\t\t\tlogger.error(error);\n\t\t\t\t\t\tthis._storage.removeItem('amplify-auto-sign-in');\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t);\n\t\t} catch (error) {\n\t\t\tlogger.error(error);\n\t\t}\n\t}\n\n\t/**\n\t * Send the verification code to confirm sign up\n\t * @param {String} username - The username to be confirmed\n\t * @param {String} code - The verification code\n\t * @param {ConfirmSignUpOptions} options - other options for confirm signup\n\t * @return - A promise resolves callback data if success\n\t */\n\tpublic confirmSignUp(\n\t\tusername: string,\n\t\tcode: string,\n\t\toptions?: ConfirmSignUpOptions\n\t): Promise {\n\t\tif (!this.userPool) {\n\t\t\treturn this.rejectNoUserPool();\n\t\t}\n\t\tif (!username) {\n\t\t\treturn this.rejectAuthError(AuthErrorTypes.EmptyUsername);\n\t\t}\n\t\tif (!code) {\n\t\t\treturn this.rejectAuthError(AuthErrorTypes.EmptyCode);\n\t\t}\n\n\t\tconst user = this.createCognitoUser(username);\n\t\tconst forceAliasCreation =\n\t\t\toptions && typeof options.forceAliasCreation === 'boolean'\n\t\t\t\t? options.forceAliasCreation\n\t\t\t\t: true;\n\n\t\tlet clientMetadata;\n\t\tif (options && options.clientMetadata) {\n\t\t\tclientMetadata = options.clientMetadata;\n\t\t} else if (this._config.clientMetadata) {\n\t\t\tclientMetadata = this._config.clientMetadata;\n\t\t}\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tuser.confirmRegistration(\n\t\t\t\tcode,\n\t\t\t\tforceAliasCreation,\n\t\t\t\t(err, data) => {\n\t\t\t\t\tif (err) {\n\t\t\t\t\t\treject(err);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t\t'confirmSignUp',\n\t\t\t\t\t\t\tdata,\n\t\t\t\t\t\t\t`${username} has been confirmed successfully`\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst autoSignIn = this.isTrueStorageValue('amplify-auto-sign-in');\n\t\t\t\t\t\tif (autoSignIn && !this.autoSignInInitiated) {\n\t\t\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t\t\t'autoSignIn_failure',\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\tAuthErrorTypes.AutoSignInError\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tthis._storage.removeItem('amplify-auto-sign-in');\n\t\t\t\t\t\t}\n\t\t\t\t\t\tresolve(data);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tclientMetadata\n\t\t\t);\n\t\t});\n\t}\n\n\tprivate isTrueStorageValue(value: string) {\n\t\tconst item = this._storage.getItem(value);\n\t\treturn item ? item === 'true' : false;\n\t}\n\n\t/**\n\t * Resend the verification code\n\t * @param {String} username - The username to be confirmed\n\t * @param {ClientMetadata} clientMetadata - Metadata to be passed to Cognito Lambda triggers\n\t * @return - A promise resolves code delivery details if successful\n\t */\n\tpublic resendSignUp(\n\t\tusername: string,\n\t\tclientMetadata: ClientMetaData = this._config.clientMetadata\n\t): Promise {\n\t\tif (!this.userPool) {\n\t\t\treturn this.rejectNoUserPool();\n\t\t}\n\t\tif (!username) {\n\t\t\treturn this.rejectAuthError(AuthErrorTypes.EmptyUsername);\n\t\t}\n\n\t\tconst user = this.createCognitoUser(username);\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tuser.resendConfirmationCode((err, data) => {\n\t\t\t\tif (err) {\n\t\t\t\t\treject(err);\n\t\t\t\t} else {\n\t\t\t\t\tresolve(data);\n\t\t\t\t}\n\t\t\t}, clientMetadata);\n\t\t});\n\t}\n\n\t/**\n\t * Sign in\n\t * @param {String | SignInOpts} usernameOrSignInOpts - The username to be signed in or the sign in options\n\t * @param {String} pw - The password of the username\n\t * @param {ClientMetaData} clientMetadata - Client metadata for custom workflows\n\t * @return - A promise resolves the CognitoUser\n\t */\n\tpublic signIn(\n\t\tusernameOrSignInOpts: string | SignInOpts,\n\t\tpw?: string,\n\t\tclientMetadata: ClientMetaData = this._config.clientMetadata\n\t): Promise {\n\t\tif (!this.userPool) {\n\t\t\treturn this.rejectNoUserPool();\n\t\t}\n\n\t\tlet username = null;\n\t\tlet password = null;\n\t\tlet validationData = {};\n\n\t\t// for backward compatibility\n\t\tif (typeof usernameOrSignInOpts === 'string') {\n\t\t\tusername = usernameOrSignInOpts;\n\t\t\tpassword = pw;\n\t\t} else if (isUsernamePasswordOpts(usernameOrSignInOpts)) {\n\t\t\tif (typeof pw !== 'undefined') {\n\t\t\t\tlogger.warn(\n\t\t\t\t\t'The password should be defined under the first parameter object!'\n\t\t\t\t);\n\t\t\t}\n\t\t\tusername = usernameOrSignInOpts.username;\n\t\t\tpassword = usernameOrSignInOpts.password;\n\t\t\tvalidationData = usernameOrSignInOpts.validationData;\n\t\t} else {\n\t\t\treturn this.rejectAuthError(AuthErrorTypes.InvalidUsername);\n\t\t}\n\t\tif (!username) {\n\t\t\treturn this.rejectAuthError(AuthErrorTypes.EmptyUsername);\n\t\t}\n\t\tconst authDetails = new AuthenticationDetails({\n\t\t\tUsername: username,\n\t\t\tPassword: password,\n\t\t\tValidationData: validationData,\n\t\t\tClientMetadata: clientMetadata,\n\t\t});\n\t\tif (password) {\n\t\t\treturn this.signInWithPassword(authDetails);\n\t\t} else {\n\t\t\treturn this.signInWithoutPassword(authDetails);\n\t\t}\n\t}\n\n\t/**\n\t * Return an object with the authentication callbacks\n\t * @param {CognitoUser} user - the cognito user object\n\t * @param {} resolve - function called when resolving the current step\n\t * @param {} reject - function called when rejecting the current step\n\t * @return - an object with the callback methods for user authentication\n\t */\n\tprivate authCallbacks(\n\t\tuser: CognitoUser,\n\t\tresolve: (value?: CognitoUser | any) => void,\n\t\treject: (value?: any) => void\n\t): IAuthenticationCallback {\n\t\tconst that = this;\n\t\treturn {\n\t\t\tonSuccess: async session => {\n\t\t\t\tlogger.debug(session);\n\t\t\t\tdelete user['challengeName'];\n\t\t\t\tdelete user['challengeParam'];\n\t\t\t\ttry {\n\t\t\t\t\tawait this.Credentials.clear();\n\t\t\t\t\tconst cred = await this.Credentials.set(session, 'session');\n\t\t\t\t\tlogger.debug('succeed to get cognito credentials', cred);\n\t\t\t\t} catch (e) {\n\t\t\t\t\tlogger.debug('cannot get cognito credentials', e);\n\t\t\t\t} finally {\n\t\t\t\t\ttry {\n\t\t\t\t\t\t// In order to get user attributes and MFA methods\n\t\t\t\t\t\t// We need to trigger currentUserPoolUser again\n\t\t\t\t\t\tconst currentUser = await this.currentUserPoolUser();\n\t\t\t\t\t\tthat.user = currentUser;\n\t\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t\t'signIn',\n\t\t\t\t\t\t\tcurrentUser,\n\t\t\t\t\t\t\t`A user ${user.getUsername()} has been signed in`\n\t\t\t\t\t\t);\n\t\t\t\t\t\tresolve(currentUser);\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\tlogger.error('Failed to get the signed in user', e);\n\t\t\t\t\t\treject(e);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tonFailure: err => {\n\t\t\t\tlogger.debug('signIn failure', err);\n\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t'signIn_failure',\n\t\t\t\t\terr,\n\t\t\t\t\t`${user.getUsername()} failed to signin`\n\t\t\t\t);\n\t\t\t\treject(err);\n\t\t\t},\n\t\t\tcustomChallenge: challengeParam => {\n\t\t\t\tlogger.debug('signIn custom challenge answer required');\n\t\t\t\tuser['challengeName'] = 'CUSTOM_CHALLENGE';\n\t\t\t\tuser['challengeParam'] = challengeParam;\n\t\t\t\tresolve(user);\n\t\t\t},\n\t\t\tmfaRequired: (challengeName, challengeParam) => {\n\t\t\t\tlogger.debug('signIn MFA required');\n\t\t\t\tuser['challengeName'] = challengeName;\n\t\t\t\tuser['challengeParam'] = challengeParam;\n\t\t\t\tresolve(user);\n\t\t\t},\n\t\t\tmfaSetup: (challengeName, challengeParam) => {\n\t\t\t\tlogger.debug('signIn mfa setup', challengeName);\n\t\t\t\tuser['challengeName'] = challengeName;\n\t\t\t\tuser['challengeParam'] = challengeParam;\n\t\t\t\tresolve(user);\n\t\t\t},\n\t\t\tnewPasswordRequired: (userAttributes, requiredAttributes) => {\n\t\t\t\tlogger.debug('signIn new password');\n\t\t\t\tuser['challengeName'] = 'NEW_PASSWORD_REQUIRED';\n\t\t\t\tuser['challengeParam'] = {\n\t\t\t\t\tuserAttributes,\n\t\t\t\t\trequiredAttributes,\n\t\t\t\t};\n\t\t\t\tresolve(user);\n\t\t\t},\n\t\t\ttotpRequired: (challengeName, challengeParam) => {\n\t\t\t\tlogger.debug('signIn totpRequired');\n\t\t\t\tuser['challengeName'] = challengeName;\n\t\t\t\tuser['challengeParam'] = challengeParam;\n\t\t\t\tresolve(user);\n\t\t\t},\n\t\t\tselectMFAType: (challengeName, challengeParam) => {\n\t\t\t\tlogger.debug('signIn selectMFAType', challengeName);\n\t\t\t\tuser['challengeName'] = challengeName;\n\t\t\t\tuser['challengeParam'] = challengeParam;\n\t\t\t\tresolve(user);\n\t\t\t},\n\t\t};\n\t}\n\n\t/**\n\t * Sign in with a password\n\t * @private\n\t * @param {AuthenticationDetails} authDetails - the user sign in data\n\t * @return - A promise resolves the CognitoUser object if success or mfa required\n\t */\n\tprivate signInWithPassword(\n\t\tauthDetails: AuthenticationDetails\n\t): Promise {\n\t\tif (this.pendingSignIn) {\n\t\t\tthrow new Error('Pending sign-in attempt already in progress');\n\t\t}\n\n\t\tconst user = this.createCognitoUser(authDetails.getUsername());\n\n\t\tthis.pendingSignIn = new Promise((resolve, reject) => {\n\t\t\tuser.authenticateUser(\n\t\t\t\tauthDetails,\n\t\t\t\tthis.authCallbacks(\n\t\t\t\t\tuser,\n\t\t\t\t\tvalue => {\n\t\t\t\t\t\tthis.pendingSignIn = null;\n\t\t\t\t\t\tresolve(value);\n\t\t\t\t\t},\n\t\t\t\t\terror => {\n\t\t\t\t\t\tthis.pendingSignIn = null;\n\t\t\t\t\t\treject(error);\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t);\n\t\t});\n\n\t\treturn this.pendingSignIn;\n\t}\n\n\t/**\n\t * Sign in without a password\n\t * @private\n\t * @param {AuthenticationDetails} authDetails - the user sign in data\n\t * @return - A promise resolves the CognitoUser object if success or mfa required\n\t */\n\tprivate signInWithoutPassword(\n\t\tauthDetails: AuthenticationDetails\n\t): Promise {\n\t\tconst user = this.createCognitoUser(authDetails.getUsername());\n\t\tuser.setAuthenticationFlowType('CUSTOM_AUTH');\n\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tuser.initiateAuth(authDetails, this.authCallbacks(user, resolve, reject));\n\t\t});\n\t}\n\n\t/**\n\t * This was previously used by an authenticated user to get MFAOptions,\n\t * but no longer returns a meaningful response. Refer to the documentation for\n\t * how to setup and use MFA: https://docs.amplify.aws/lib/auth/mfa/q/platform/js\n\t * @deprecated\n\t * @param {CognitoUser} user - the current user\n\t * @return - A promise resolves the current preferred mfa option if success\n\t */\n\tpublic getMFAOptions(user: CognitoUser | any): Promise {\n\t\treturn new Promise((res, rej) => {\n\t\t\tuser.getMFAOptions((err, mfaOptions) => {\n\t\t\t\tif (err) {\n\t\t\t\t\tlogger.debug('get MFA Options failed', err);\n\t\t\t\t\trej(err);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tlogger.debug('get MFA options success', mfaOptions);\n\t\t\t\tres(mfaOptions);\n\t\t\t\treturn;\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * get preferred mfa method\n\t * @param {CognitoUser} user - the current cognito user\n\t * @param {GetPreferredMFAOpts} params - options for getting the current user preferred MFA\n\t */\n\tpublic getPreferredMFA(\n\t\tuser: CognitoUser | any,\n\t\tparams?: GetPreferredMFAOpts\n\t): Promise {\n\t\tconst that = this;\n\t\treturn new Promise((res, rej) => {\n\t\t\tconst clientMetadata = this._config.clientMetadata; // TODO: verify behavior if this is override during signIn\n\n\t\t\tconst bypassCache = params ? params.bypassCache : false;\n\t\t\tuser.getUserData(\n\t\t\t\tasync (err, data) => {\n\t\t\t\t\tif (err) {\n\t\t\t\t\t\tlogger.debug('getting preferred mfa failed', err);\n\t\t\t\t\t\tif (this.isSessionInvalid(err)) {\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tawait this.cleanUpInvalidSession(user);\n\t\t\t\t\t\t\t} catch (cleanUpError) {\n\t\t\t\t\t\t\t\trej(\n\t\t\t\t\t\t\t\t\tnew Error(\n\t\t\t\t\t\t\t\t\t\t`Session is invalid due to: ${err.message} and failed to clean up invalid session: ${cleanUpError.message}`\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\trej(err);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst mfaType = that._getMfaTypeFromUserData(data);\n\t\t\t\t\tif (!mfaType) {\n\t\t\t\t\t\trej('invalid MFA Type');\n\t\t\t\t\t\treturn;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tres(mfaType);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{ bypassCache, clientMetadata }\n\t\t\t);\n\t\t});\n\t}\n\n\tprivate _getMfaTypeFromUserData(data) {\n\t\tlet ret = null;\n\t\tconst preferredMFA = data.PreferredMfaSetting;\n\t\t// if the user has used Auth.setPreferredMFA() to setup the mfa type\n\t\t// then the \"PreferredMfaSetting\" would exist in the response\n\t\tif (preferredMFA) {\n\t\t\tret = preferredMFA;\n\t\t} else {\n\t\t\t// if mfaList exists but empty, then its noMFA\n\t\t\tconst mfaList = data.UserMFASettingList;\n\t\t\tif (!mfaList) {\n\t\t\t\t// if SMS was enabled by using Auth.enableSMS(),\n\t\t\t\t// the response would contain MFAOptions\n\t\t\t\t// as for now Cognito only supports for SMS, so we will say it is 'SMS_MFA'\n\t\t\t\t// if it does not exist, then it should be NOMFA\n\t\t\t\tconst MFAOptions = data.MFAOptions;\n\t\t\t\tif (MFAOptions) {\n\t\t\t\t\tret = 'SMS_MFA';\n\t\t\t\t} else {\n\t\t\t\t\tret = 'NOMFA';\n\t\t\t\t}\n\t\t\t} else if (mfaList.length === 0) {\n\t\t\t\tret = 'NOMFA';\n\t\t\t} else {\n\t\t\t\tlogger.debug('invalid case for getPreferredMFA', data);\n\t\t\t}\n\t\t}\n\t\treturn ret;\n\t}\n\n\tprivate _getUserData(user, params) {\n\t\treturn new Promise((res, rej) => {\n\t\t\tuser.getUserData(async (err, data) => {\n\t\t\t\tif (err) {\n\t\t\t\t\tlogger.debug('getting user data failed', err);\n\t\t\t\t\tif (this.isSessionInvalid(err)) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tawait this.cleanUpInvalidSession(user);\n\t\t\t\t\t\t} catch (cleanUpError) {\n\t\t\t\t\t\t\trej(\n\t\t\t\t\t\t\t\tnew Error(\n\t\t\t\t\t\t\t\t\t`Session is invalid due to: ${err.message} and failed to clean up invalid session: ${cleanUpError.message}`\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\trej(err);\n\t\t\t\t\treturn;\n\t\t\t\t} else {\n\t\t\t\t\tres(data);\n\t\t\t\t}\n\t\t\t}, params);\n\t\t});\n\t}\n\n\t/**\n\t * set preferred MFA method\n\t * @param {CognitoUser} user - the current Cognito user\n\t * @param {string} mfaMethod - preferred mfa method\n\t * @return - A promise resolve if success\n\t */\n\tpublic async setPreferredMFA(\n\t\tuser: CognitoUser | any,\n\t\tmfaMethod: 'TOTP' | 'SMS' | 'NOMFA' | 'SMS_MFA' | 'SOFTWARE_TOKEN_MFA'\n\t): Promise {\n\t\tconst clientMetadata = this._config.clientMetadata; // TODO: verify behavior if this is override during signIn\n\n\t\tconst userData = await this._getUserData(user, {\n\t\t\tbypassCache: true,\n\t\t\tclientMetadata,\n\t\t});\n\t\tlet smsMfaSettings = null;\n\t\tlet totpMfaSettings = null;\n\n\t\tswitch (mfaMethod) {\n\t\t\tcase 'TOTP':\n\t\t\tcase 'SOFTWARE_TOKEN_MFA':\n\t\t\t\ttotpMfaSettings = {\n\t\t\t\t\tPreferredMfa: true,\n\t\t\t\t\tEnabled: true,\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\tcase 'SMS':\n\t\t\tcase 'SMS_MFA':\n\t\t\t\tsmsMfaSettings = {\n\t\t\t\t\tPreferredMfa: true,\n\t\t\t\t\tEnabled: true,\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\tcase 'NOMFA':\n\t\t\t\tconst mfaList = userData['UserMFASettingList'];\n\t\t\t\tconst currentMFAType = await this._getMfaTypeFromUserData(userData);\n\t\t\t\tif (currentMFAType === 'NOMFA') {\n\t\t\t\t\treturn Promise.resolve('No change for mfa type');\n\t\t\t\t} else if (currentMFAType === 'SMS_MFA') {\n\t\t\t\t\tsmsMfaSettings = {\n\t\t\t\t\t\tPreferredMfa: false,\n\t\t\t\t\t\tEnabled: false,\n\t\t\t\t\t};\n\t\t\t\t} else if (currentMFAType === 'SOFTWARE_TOKEN_MFA') {\n\t\t\t\t\ttotpMfaSettings = {\n\t\t\t\t\t\tPreferredMfa: false,\n\t\t\t\t\t\tEnabled: false,\n\t\t\t\t\t};\n\t\t\t\t} else {\n\t\t\t\t\treturn this.rejectAuthError(AuthErrorTypes.InvalidMFA);\n\t\t\t\t}\n\t\t\t\t// if there is a UserMFASettingList in the response\n\t\t\t\t// we need to disable every mfa type in that list\n\t\t\t\tif (mfaList && mfaList.length !== 0) {\n\t\t\t\t\t// to disable SMS or TOTP if exists in that list\n\t\t\t\t\tmfaList.forEach(mfaType => {\n\t\t\t\t\t\tif (mfaType === 'SMS_MFA') {\n\t\t\t\t\t\t\tsmsMfaSettings = {\n\t\t\t\t\t\t\t\tPreferredMfa: false,\n\t\t\t\t\t\t\t\tEnabled: false,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t} else if (mfaType === 'SOFTWARE_TOKEN_MFA') {\n\t\t\t\t\t\t\ttotpMfaSettings = {\n\t\t\t\t\t\t\t\tPreferredMfa: false,\n\t\t\t\t\t\t\t\tEnabled: false,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tlogger.debug('no validmfa method provided');\n\t\t\t\treturn this.rejectAuthError(AuthErrorTypes.NoMFA);\n\t\t}\n\n\t\tconst that = this;\n\t\treturn new Promise((res, rej) => {\n\t\t\tuser.setUserMfaPreference(\n\t\t\t\tsmsMfaSettings,\n\t\t\t\ttotpMfaSettings,\n\t\t\t\t(err, result) => {\n\t\t\t\t\tif (err) {\n\t\t\t\t\t\tlogger.debug('Set user mfa preference error', err);\n\t\t\t\t\t\treturn rej(err);\n\t\t\t\t\t}\n\t\t\t\t\tlogger.debug('Set user mfa success', result);\n\t\t\t\t\tlogger.debug('Caching the latest user data into local');\n\t\t\t\t\t// cache the latest result into user data\n\t\t\t\t\tuser.getUserData(\n\t\t\t\t\t\tasync (err, data) => {\n\t\t\t\t\t\t\tif (err) {\n\t\t\t\t\t\t\t\tlogger.debug('getting user data failed', err);\n\t\t\t\t\t\t\t\tif (this.isSessionInvalid(err)) {\n\t\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\t\tawait this.cleanUpInvalidSession(user);\n\t\t\t\t\t\t\t\t\t} catch (cleanUpError) {\n\t\t\t\t\t\t\t\t\t\trej(\n\t\t\t\t\t\t\t\t\t\t\tnew Error(\n\t\t\t\t\t\t\t\t\t\t\t\t`Session is invalid due to: ${err.message} and failed to clean up invalid session: ${cleanUpError.message}`\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn rej(err);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\treturn res(result);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tbypassCache: true,\n\t\t\t\t\t\t\tclientMetadata,\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t);\n\t\t});\n\t}\n\n\t/**\n\t * disable SMS\n\t * @deprecated\n\t * @param {CognitoUser} user - the current user\n\t * @return - A promise resolves is success\n\t */\n\tpublic disableSMS(user: CognitoUser): Promise {\n\t\treturn new Promise((res, rej) => {\n\t\t\tuser.disableMFA((err, data) => {\n\t\t\t\tif (err) {\n\t\t\t\t\tlogger.debug('disable mfa failed', err);\n\t\t\t\t\trej(err);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tlogger.debug('disable mfa succeed', data);\n\t\t\t\tres(data);\n\t\t\t\treturn;\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * enable SMS\n\t * @deprecated\n\t * @param {CognitoUser} user - the current user\n\t * @return - A promise resolves is success\n\t */\n\tpublic enableSMS(user: CognitoUser): Promise {\n\t\treturn new Promise((res, rej) => {\n\t\t\tuser.enableMFA((err, data) => {\n\t\t\t\tif (err) {\n\t\t\t\t\tlogger.debug('enable mfa failed', err);\n\t\t\t\t\trej(err);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tlogger.debug('enable mfa succeed', data);\n\t\t\t\tres(data);\n\t\t\t\treturn;\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * Setup TOTP\n\t * @param {CognitoUser} user - the current user\n\t * @return - A promise resolves with the secret code if success\n\t */\n\tpublic setupTOTP(user: CognitoUser | any): Promise {\n\t\treturn new Promise((res, rej) => {\n\t\t\tuser.associateSoftwareToken({\n\t\t\t\tonFailure: err => {\n\t\t\t\t\tlogger.debug('associateSoftwareToken failed', err);\n\t\t\t\t\trej(err);\n\t\t\t\t\treturn;\n\t\t\t\t},\n\t\t\t\tassociateSecretCode: secretCode => {\n\t\t\t\t\tlogger.debug('associateSoftwareToken success', secretCode);\n\t\t\t\t\tres(secretCode);\n\t\t\t\t\treturn;\n\t\t\t\t},\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * verify TOTP setup\n\t * @param {CognitoUser} user - the current user\n\t * @param {string} challengeAnswer - challenge answer\n\t * @return - A promise resolves is success\n\t */\n\tpublic verifyTotpToken(\n\t\tuser: CognitoUser | any,\n\t\tchallengeAnswer: string\n\t): Promise {\n\t\tlogger.debug('verification totp token', user, challengeAnswer);\n\n\t\tlet signInUserSession;\n\t\tif (user && typeof user.getSignInUserSession === 'function') {\n\t\t\tsignInUserSession = (user as CognitoUser).getSignInUserSession();\n\t\t}\n\t\tconst isLoggedIn = signInUserSession?.isValid();\n\n\t\treturn new Promise((res, rej) => {\n\t\t\tuser.verifySoftwareToken(challengeAnswer, 'My TOTP device', {\n\t\t\t\tonFailure: err => {\n\t\t\t\t\tlogger.debug('verifyTotpToken failed', err);\n\t\t\t\t\trej(err);\n\t\t\t\t\treturn;\n\t\t\t\t},\n\t\t\t\tonSuccess: data => {\n\t\t\t\t\tif (!isLoggedIn) {\n\t\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t\t'signIn',\n\t\t\t\t\t\t\tuser,\n\t\t\t\t\t\t\t`A user ${user.getUsername()} has been signed in`\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t'verify',\n\t\t\t\t\t\tuser,\n\t\t\t\t\t\t`A user ${user.getUsername()} has been verified`\n\t\t\t\t\t);\n\t\t\t\t\tlogger.debug('verifyTotpToken success', data);\n\t\t\t\t\tres(data);\n\t\t\t\t\treturn;\n\t\t\t\t},\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * Send MFA code to confirm sign in\n\t * @param {Object} user - The CognitoUser object\n\t * @param {String} code - The confirmation code\n\t */\n\tpublic confirmSignIn(\n\t\tuser: CognitoUser | any,\n\t\tcode: string,\n\t\tmfaType?: 'SMS_MFA' | 'SOFTWARE_TOKEN_MFA' | null,\n\t\tclientMetadata: ClientMetaData = this._config.clientMetadata\n\t): Promise {\n\t\tif (!code) {\n\t\t\treturn this.rejectAuthError(AuthErrorTypes.EmptyCode);\n\t\t}\n\n\t\tconst that = this;\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tuser.sendMFACode(\n\t\t\t\tcode,\n\t\t\t\t{\n\t\t\t\t\tonSuccess: async session => {\n\t\t\t\t\t\tlogger.debug(session);\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tawait this.Credentials.clear();\n\t\t\t\t\t\t\tconst cred = await this.Credentials.set(session, 'session');\n\t\t\t\t\t\t\tlogger.debug('succeed to get cognito credentials', cred);\n\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\tlogger.debug('cannot get cognito credentials', e);\n\t\t\t\t\t\t} finally {\n\t\t\t\t\t\t\tthat.user = user;\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tconst currentUser = await this.currentUserPoolUser();\n\t\t\t\t\t\t\t\tuser.attributes = currentUser.attributes;\n\t\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\t\tlogger.debug('cannot get updated Cognito User', e);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t\t\t'signIn',\n\t\t\t\t\t\t\t\tuser,\n\t\t\t\t\t\t\t\t`A user ${user.getUsername()} has been signed in`\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tresolve(user);\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tonFailure: err => {\n\t\t\t\t\t\tlogger.debug('confirm signIn failure', err);\n\t\t\t\t\t\treject(err);\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tmfaType,\n\t\t\t\tclientMetadata\n\t\t\t);\n\t\t});\n\t}\n\n\tpublic completeNewPassword(\n\t\tuser: CognitoUser | any,\n\t\tpassword: string,\n\t\trequiredAttributes: any = {},\n\t\tclientMetadata: ClientMetaData = this._config.clientMetadata\n\t): Promise {\n\t\tif (!password) {\n\t\t\treturn this.rejectAuthError(AuthErrorTypes.EmptyPassword);\n\t\t}\n\n\t\tconst that = this;\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tuser.completeNewPasswordChallenge(\n\t\t\t\tpassword,\n\t\t\t\trequiredAttributes,\n\t\t\t\t{\n\t\t\t\t\tonSuccess: async session => {\n\t\t\t\t\t\tlogger.debug(session);\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tawait this.Credentials.clear();\n\t\t\t\t\t\t\tconst cred = await this.Credentials.set(session, 'session');\n\t\t\t\t\t\t\tlogger.debug('succeed to get cognito credentials', cred);\n\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\tlogger.debug('cannot get cognito credentials', e);\n\t\t\t\t\t\t} finally {\n\t\t\t\t\t\t\tthat.user = user;\n\t\t\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t\t\t'signIn',\n\t\t\t\t\t\t\t\tuser,\n\t\t\t\t\t\t\t\t`A user ${user.getUsername()} has been signed in`\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tresolve(user);\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tonFailure: err => {\n\t\t\t\t\t\tlogger.debug('completeNewPassword failure', err);\n\t\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t\t'completeNewPassword_failure',\n\t\t\t\t\t\t\terr,\n\t\t\t\t\t\t\t`${this.user} failed to complete the new password flow`\n\t\t\t\t\t\t);\n\t\t\t\t\t\treject(err);\n\t\t\t\t\t},\n\t\t\t\t\tmfaRequired: (challengeName, challengeParam) => {\n\t\t\t\t\t\tlogger.debug('signIn MFA required');\n\t\t\t\t\t\tuser['challengeName'] = challengeName;\n\t\t\t\t\t\tuser['challengeParam'] = challengeParam;\n\t\t\t\t\t\tresolve(user);\n\t\t\t\t\t},\n\t\t\t\t\tmfaSetup: (challengeName, challengeParam) => {\n\t\t\t\t\t\tlogger.debug('signIn mfa setup', challengeName);\n\t\t\t\t\t\tuser['challengeName'] = challengeName;\n\t\t\t\t\t\tuser['challengeParam'] = challengeParam;\n\t\t\t\t\t\tresolve(user);\n\t\t\t\t\t},\n\t\t\t\t\ttotpRequired: (challengeName, challengeParam) => {\n\t\t\t\t\t\tlogger.debug('signIn mfa setup', challengeName);\n\t\t\t\t\t\tuser['challengeName'] = challengeName;\n\t\t\t\t\t\tuser['challengeParam'] = challengeParam;\n\t\t\t\t\t\tresolve(user);\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tclientMetadata\n\t\t\t);\n\t\t});\n\t}\n\n\t/**\n\t * Send the answer to a custom challenge\n\t * @param {CognitoUser} user - The CognitoUser object\n\t * @param {String} challengeResponses - The confirmation code\n\t */\n\tpublic sendCustomChallengeAnswer(\n\t\tuser: CognitoUser | any,\n\t\tchallengeResponses: string,\n\t\tclientMetadata: ClientMetaData = this._config.clientMetadata\n\t): Promise {\n\t\tif (!this.userPool) {\n\t\t\treturn this.rejectNoUserPool();\n\t\t}\n\t\tif (!challengeResponses) {\n\t\t\treturn this.rejectAuthError(AuthErrorTypes.EmptyChallengeResponse);\n\t\t}\n\n\t\tconst that = this;\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tuser.sendCustomChallengeAnswer(\n\t\t\t\tchallengeResponses,\n\t\t\t\tthis.authCallbacks(user, resolve, reject),\n\t\t\t\tclientMetadata\n\t\t\t);\n\t\t});\n\t}\n\n\t/**\n\t * Delete an authenticated users' attributes\n\t * @param {CognitoUser} - The currently logged in user object\n\t * @return {Promise}\n\t **/\n\tpublic deleteUserAttributes(\n\t\tuser: CognitoUser | any,\n\t\tattributeNames: string[]\n\t) {\n\t\tconst that = this;\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tthat.userSession(user).then(session => {\n\t\t\t\tuser.deleteAttributes(attributeNames, (err, result) => {\n\t\t\t\t\tif (err) {\n\t\t\t\t\t\treturn reject(err);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn resolve(result);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * Delete the current authenticated user\n\t * @return {Promise}\n\t **/\n\t// TODO: Check return type void\n\tpublic async deleteUser(): Promise {\n\t\ttry {\n\t\t\tawait this._storageSync;\n\t\t} catch (e) {\n\t\t\tlogger.debug('Failed to sync cache info into memory', e);\n\t\t\tthrow new Error(e);\n\t\t}\n\n\t\tconst isSignedInHostedUI =\n\t\t\tthis._oAuthHandler &&\n\t\t\tthis._storage.getItem('amplify-signin-with-hostedUI') === 'true';\n\n\t\treturn new Promise(async (res, rej) => {\n\t\t\tif (this.userPool) {\n\t\t\t\tconst user = this.userPool.getCurrentUser();\n\n\t\t\t\tif (!user) {\n\t\t\t\t\tlogger.debug('Failed to get user from user pool');\n\t\t\t\t\treturn rej(new Error('No current user.'));\n\t\t\t\t} else {\n\t\t\t\t\tuser.getSession(async (err, session) => {\n\t\t\t\t\t\tif (err) {\n\t\t\t\t\t\t\tlogger.debug('Failed to get the user session', err);\n\t\t\t\t\t\t\tif (this.isSessionInvalid(err)) {\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tawait this.cleanUpInvalidSession(user);\n\t\t\t\t\t\t\t\t} catch (cleanUpError) {\n\t\t\t\t\t\t\t\t\trej(\n\t\t\t\t\t\t\t\t\t\tnew Error(\n\t\t\t\t\t\t\t\t\t\t\t`Session is invalid due to: ${err.message} and failed to clean up invalid session: ${cleanUpError.message}`\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn rej(err);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tuser.deleteUser((err, result: string) => {\n\t\t\t\t\t\t\t\tif (err) {\n\t\t\t\t\t\t\t\t\trej(err);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t\t\t\t\t'userDeleted',\n\t\t\t\t\t\t\t\t\t\tresult,\n\t\t\t\t\t\t\t\t\t\t'The authenticated user has been deleted.'\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tuser.signOut();\n\t\t\t\t\t\t\t\t\tthis.user = null;\n\t\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\t\tthis.cleanCachedItems(); // clean aws credentials\n\t\t\t\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\t\t\t\t// TODO: change to rejects in refactor\n\t\t\t\t\t\t\t\t\t\tlogger.debug('failed to clear cached items');\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tif (isSignedInHostedUI) {\n\t\t\t\t\t\t\t\t\t\tthis.oAuthSignOutRedirect(res, rej);\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t\t\t\t\t\t'signOut',\n\t\t\t\t\t\t\t\t\t\t\tthis.user,\n\t\t\t\t\t\t\t\t\t\t\t`A user has been signed out`\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\tres(result);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tlogger.debug('no Congito User pool');\n\t\t\t\trej(new Error('Cognito User pool does not exist'));\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Update an authenticated users' attributes\n\t * @param {CognitoUser} - The currently logged in user object\n\t * @return {Promise}\n\t **/\n\tpublic updateUserAttributes(\n\t\tuser: CognitoUser | any,\n\t\tattributes: object,\n\t\tclientMetadata: ClientMetaData = this._config.clientMetadata\n\t): Promise {\n\t\tconst attributeList: ICognitoUserAttributeData[] = [];\n\t\tconst that = this;\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tthat.userSession(user).then(session => {\n\t\t\t\tfor (const key in attributes) {\n\t\t\t\t\tif (key !== 'sub' && key.indexOf('_verified') < 0) {\n\t\t\t\t\t\tconst attr: ICognitoUserAttributeData = {\n\t\t\t\t\t\t\tName: key,\n\t\t\t\t\t\t\tValue: attributes[key],\n\t\t\t\t\t\t};\n\t\t\t\t\t\tattributeList.push(attr);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tuser.updateAttributes(\n\t\t\t\t\tattributeList,\n\t\t\t\t\t(err, result, details) => {\n\t\t\t\t\t\tif (err) {\n\t\t\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t\t\t'updateUserAttributes_failure',\n\t\t\t\t\t\t\t\terr,\n\t\t\t\t\t\t\t\t'Failed to update attributes'\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\treturn reject(err);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst attrs = this.createUpdateAttributesResultList(\n\t\t\t\t\t\t\t\tattributes as Record,\n\t\t\t\t\t\t\t\tdetails?.CodeDeliveryDetailsList\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t\t\t'updateUserAttributes',\n\t\t\t\t\t\t\t\tattrs,\n\t\t\t\t\t\t\t\t'Attributes successfully updated'\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\treturn resolve(result);\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tclientMetadata\n\t\t\t\t);\n\t\t\t});\n\t\t});\n\t}\n\n\tprivate createUpdateAttributesResultList(\n\t\tattributes: Record,\n\t\tcodeDeliveryDetailsList?: CodeDeliveryDetails[]\n\t): Record {\n\t\tconst attrs = {};\n\t\tObject.keys(attributes).forEach(key => {\n\t\t\tattrs[key] = {\n\t\t\t\tisUpdated: true,\n\t\t\t};\n\t\t\tconst codeDeliveryDetails = codeDeliveryDetailsList?.find(\n\t\t\t\tvalue => value.AttributeName === key\n\t\t\t);\n\t\t\tif (codeDeliveryDetails) {\n\t\t\t\tattrs[key].isUpdated = false;\n\t\t\t\tattrs[key].codeDeliveryDetails = codeDeliveryDetails;\n\t\t\t}\n\t\t});\n\t\treturn attrs;\n\t}\n\n\t/**\n\t * Return user attributes\n\t * @param {Object} user - The CognitoUser object\n\t * @return - A promise resolves to user attributes if success\n\t */\n\tpublic userAttributes(\n\t\tuser: CognitoUser | any\n\t): Promise {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tthis.userSession(user).then(session => {\n\t\t\t\tuser.getUserAttributes((err, attributes) => {\n\t\t\t\t\tif (err) {\n\t\t\t\t\t\treject(err);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresolve(attributes);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t}\n\n\tpublic verifiedContact(user: CognitoUser | any) {\n\t\tconst that = this;\n\t\treturn this.userAttributes(user).then(attributes => {\n\t\t\tconst attrs = that.attributesToObject(attributes);\n\t\t\tconst unverified = {};\n\t\t\tconst verified = {};\n\t\t\tif (attrs['email']) {\n\t\t\t\tif (attrs['email_verified']) {\n\t\t\t\t\tverified['email'] = attrs['email'];\n\t\t\t\t} else {\n\t\t\t\t\tunverified['email'] = attrs['email'];\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (attrs['phone_number']) {\n\t\t\t\tif (attrs['phone_number_verified']) {\n\t\t\t\t\tverified['phone_number'] = attrs['phone_number'];\n\t\t\t\t} else {\n\t\t\t\t\tunverified['phone_number'] = attrs['phone_number'];\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tverified,\n\t\t\t\tunverified,\n\t\t\t};\n\t\t});\n\t}\n\n\tprivate isErrorWithMessage(err: any): err is { message: string } {\n\t\treturn (\n\t\t\ttypeof err === 'object' &&\n\t\t\tObject.prototype.hasOwnProperty.call(err, 'message')\n\t\t);\n\t}\n\n\t// Session revoked by another app\n\tprivate isTokenRevokedError(\n\t\terr: any\n\t): err is { message: 'Access Token has been revoked' } {\n\t\treturn (\n\t\t\tthis.isErrorWithMessage(err) &&\n\t\t\terr.message === 'Access Token has been revoked'\n\t\t);\n\t}\n\n\tprivate isRefreshTokenRevokedError(\n\t\terr: any\n\t): err is { message: 'Refresh Token has been revoked' } {\n\t\treturn (\n\t\t\tthis.isErrorWithMessage(err) &&\n\t\t\terr.message === 'Refresh Token has been revoked'\n\t\t);\n\t}\n\n\tprivate isUserDisabledError(\n\t\terr: any\n\t): err is { message: 'User is disabled.' } {\n\t\treturn this.isErrorWithMessage(err) && err.message === 'User is disabled.';\n\t}\n\n\tprivate isUserDoesNotExistError(\n\t\terr: any\n\t): err is { message: 'User does not exist.' } {\n\t\treturn (\n\t\t\tthis.isErrorWithMessage(err) && err.message === 'User does not exist.'\n\t\t);\n\t}\n\n\tprivate isRefreshTokenExpiredError(\n\t\terr: any\n\t): err is { message: 'Refresh Token has expired' } {\n\t\treturn (\n\t\t\tthis.isErrorWithMessage(err) &&\n\t\t\terr.message === 'Refresh Token has expired'\n\t\t);\n\t}\n\n\tprivate isPasswordResetRequiredError(\n\t\terr: any\n\t): err is { message: 'Password reset required for the user' } {\n\t\treturn (\n\t\t\tthis.isErrorWithMessage(err) &&\n\t\t\terr.message === 'Password reset required for the user'\n\t\t);\n\t}\n\n\tprivate isSignedInHostedUI() {\n\t\treturn (\n\t\t\tthis._oAuthHandler &&\n\t\t\tthis._storage.getItem('amplify-signin-with-hostedUI') === 'true'\n\t\t);\n\t}\n\n\tprivate isSessionInvalid(err: any) {\n\t\treturn (\n\t\t\tthis.isUserDisabledError(err) ||\n\t\t\tthis.isUserDoesNotExistError(err) ||\n\t\t\tthis.isTokenRevokedError(err) ||\n\t\t\tthis.isRefreshTokenRevokedError(err) ||\n\t\t\tthis.isRefreshTokenExpiredError(err) ||\n\t\t\tthis.isPasswordResetRequiredError(err)\n\t\t);\n\t}\n\n\tprivate async cleanUpInvalidSession(user: CognitoUser) {\n\t\tuser.signOut();\n\t\tthis.user = null;\n\t\ttry {\n\t\t\tawait this.cleanCachedItems(); // clean aws credentials\n\t\t} catch (e) {\n\t\t\tlogger.debug('failed to clear cached items');\n\t\t}\n\t\tif (this.isSignedInHostedUI()) {\n\t\t\treturn new Promise((res, rej) => {\n\t\t\t\tthis.oAuthSignOutRedirect(res, rej);\n\t\t\t});\n\t\t} else {\n\t\t\tdispatchAuthEvent('signOut', this.user, `A user has been signed out`);\n\t\t}\n\t}\n\n\t/**\n\t * Get current authenticated user\n\t * @return - A promise resolves to current authenticated CognitoUser if success\n\t */\n\tpublic currentUserPoolUser(\n\t\tparams?: CurrentUserOpts\n\t): Promise {\n\t\tif (!this.userPool) {\n\t\t\treturn this.rejectNoUserPool();\n\t\t}\n\n\t\treturn new Promise((res, rej) => {\n\t\t\tthis._storageSync\n\t\t\t\t.then(async () => {\n\t\t\t\t\tif (this.isOAuthInProgress()) {\n\t\t\t\t\t\tlogger.debug('OAuth signIn in progress, waiting for resolution...');\n\n\t\t\t\t\t\tawait new Promise(res => {\n\t\t\t\t\t\t\tconst timeoutId = setTimeout(() => {\n\t\t\t\t\t\t\t\tlogger.debug('OAuth signIn in progress timeout');\n\n\t\t\t\t\t\t\t\tHub.remove('auth', hostedUISignCallback);\n\n\t\t\t\t\t\t\t\tres();\n\t\t\t\t\t\t\t}, OAUTH_FLOW_MS_TIMEOUT);\n\n\t\t\t\t\t\t\tHub.listen('auth', hostedUISignCallback);\n\n\t\t\t\t\t\t\tfunction hostedUISignCallback({ payload }) {\n\t\t\t\t\t\t\t\tconst { event } = payload;\n\n\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\tevent === 'cognitoHostedUI' ||\n\t\t\t\t\t\t\t\t\tevent === 'cognitoHostedUI_failure'\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\tlogger.debug(`OAuth signIn resolved: ${event}`);\n\t\t\t\t\t\t\t\t\tclearTimeout(timeoutId);\n\n\t\t\t\t\t\t\t\t\tHub.remove('auth', hostedUISignCallback);\n\n\t\t\t\t\t\t\t\t\tres();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\tconst user = this.userPool.getCurrentUser();\n\n\t\t\t\t\tif (!user) {\n\t\t\t\t\t\tlogger.debug('Failed to get user from user pool');\n\t\t\t\t\t\trej('No current user');\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t// refresh the session if the session expired.\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst session = await this._userSession(user);\n\n\t\t\t\t\t\t// get user data from Cognito\n\t\t\t\t\t\tconst bypassCache = params ? params.bypassCache : false;\n\n\t\t\t\t\t\tif (bypassCache) {\n\t\t\t\t\t\t\tawait this.Credentials.clear();\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst clientMetadata = this._config.clientMetadata;\n\n\t\t\t\t\t\t// validate the token's scope first before calling this function\n\t\t\t\t\t\tconst { scope = '' } = session.getAccessToken().decodePayload();\n\t\t\t\t\t\tif (scope.split(' ').includes(USER_ADMIN_SCOPE)) {\n\t\t\t\t\t\t\tuser.getUserData(\n\t\t\t\t\t\t\t\tasync (err, data) => {\n\t\t\t\t\t\t\t\t\tif (err) {\n\t\t\t\t\t\t\t\t\t\tlogger.debug('getting user data failed', err);\n\t\t\t\t\t\t\t\t\t\tif (this.isSessionInvalid(err)) {\n\t\t\t\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\t\t\t\tawait this.cleanUpInvalidSession(user);\n\t\t\t\t\t\t\t\t\t\t\t} catch (cleanUpError) {\n\t\t\t\t\t\t\t\t\t\t\t\trej(\n\t\t\t\t\t\t\t\t\t\t\t\t\tnew Error(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t`Session is invalid due to: ${err.message} and failed to clean up invalid session: ${cleanUpError.message}`\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\trej(err);\n\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\tres(user);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tconst preferredMFA = data.PreferredMfaSetting || 'NOMFA';\n\t\t\t\t\t\t\t\t\tconst attributeList = [];\n\n\t\t\t\t\t\t\t\t\tfor (let i = 0; i < data.UserAttributes.length; i++) {\n\t\t\t\t\t\t\t\t\t\tconst attribute = {\n\t\t\t\t\t\t\t\t\t\t\tName: data.UserAttributes[i].Name,\n\t\t\t\t\t\t\t\t\t\t\tValue: data.UserAttributes[i].Value,\n\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t\tconst userAttribute = new CognitoUserAttribute(attribute);\n\t\t\t\t\t\t\t\t\t\tattributeList.push(userAttribute);\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tconst attributes = this.attributesToObject(attributeList);\n\t\t\t\t\t\t\t\t\tObject.assign(user, { attributes, preferredMFA });\n\t\t\t\t\t\t\t\t\treturn res(user);\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{ bypassCache, clientMetadata }\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tlogger.debug(\n\t\t\t\t\t\t\t\t`Unable to get the user data because the ${USER_ADMIN_SCOPE} ` +\n\t\t\t\t\t\t\t\t\t`is not in the scopes of the access token`\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\treturn res(user);\n\t\t\t\t\t\t}\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\trej(err);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch(e => {\n\t\t\t\t\tlogger.debug('Failed to sync cache info into memory', e);\n\t\t\t\t\treturn rej(e);\n\t\t\t\t});\n\t\t});\n\t}\n\n\tprivate isOAuthInProgress(): boolean {\n\t\treturn this.oAuthFlowInProgress;\n\t}\n\n\t/**\n\t * Get current authenticated user\n\t * @param {CurrentUserOpts} - options for getting the current user\n\t * @return - A promise resolves to current authenticated CognitoUser if success\n\t */\n\tpublic async currentAuthenticatedUser(\n\t\tparams?: CurrentUserOpts\n\t): Promise {\n\t\tlogger.debug('getting current authenticated user');\n\t\tlet federatedUser = null;\n\t\ttry {\n\t\t\tawait this._storageSync;\n\t\t} catch (e) {\n\t\t\tlogger.debug('Failed to sync cache info into memory', e);\n\t\t\tthrow e;\n\t\t}\n\n\t\ttry {\n\t\t\tconst federatedInfo = JSON.parse(\n\t\t\t\tthis._storage.getItem('aws-amplify-federatedInfo')\n\t\t\t);\n\t\t\tif (federatedInfo) {\n\t\t\t\tfederatedUser = {\n\t\t\t\t\t...federatedInfo.user,\n\t\t\t\t\ttoken: federatedInfo.token,\n\t\t\t\t};\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tlogger.debug('cannot load federated user from auth storage');\n\t\t}\n\n\t\tif (federatedUser) {\n\t\t\tthis.user = federatedUser;\n\t\t\tlogger.debug('get current authenticated federated user', this.user);\n\t\t\treturn this.user;\n\t\t} else {\n\t\t\tlogger.debug('get current authenticated userpool user');\n\t\t\tlet user = null;\n\t\t\ttry {\n\t\t\t\tuser = await this.currentUserPoolUser(params);\n\t\t\t} catch (e) {\n\t\t\t\tif (e === 'No userPool') {\n\t\t\t\t\tlogger.error(\n\t\t\t\t\t\t'Cannot get the current user because the user pool is missing. ' +\n\t\t\t\t\t\t\t'Please make sure the Auth module is configured with a valid Cognito User Pool ID'\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tlogger.debug('The user is not authenticated by the error', e);\n\t\t\t\treturn Promise.reject('The user is not authenticated');\n\t\t\t}\n\t\t\tthis.user = user;\n\t\t\treturn this.user;\n\t\t}\n\t}\n\n\t/**\n\t * Get current user's session\n\t * @return - A promise resolves to session object if success\n\t */\n\tpublic currentSession(): Promise {\n\t\tconst that = this;\n\t\tlogger.debug('Getting current session');\n\t\t// Purposely not calling the reject method here because we don't need a console error\n\t\tif (!this.userPool) {\n\t\t\treturn Promise.reject(new Error('No User Pool in the configuration.'));\n\t\t}\n\n\t\treturn new Promise((res, rej) => {\n\t\t\tthat\n\t\t\t\t.currentUserPoolUser()\n\t\t\t\t.then(user => {\n\t\t\t\t\tthat\n\t\t\t\t\t\t.userSession(user)\n\t\t\t\t\t\t.then(session => {\n\t\t\t\t\t\t\tres(session);\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch(e => {\n\t\t\t\t\t\t\tlogger.debug('Failed to get the current session', e);\n\t\t\t\t\t\t\trej(e);\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t});\n\t\t\t\t})\n\t\t\t\t.catch(e => {\n\t\t\t\t\tlogger.debug('Failed to get the current user', e);\n\t\t\t\t\trej(e);\n\t\t\t\t\treturn;\n\t\t\t\t});\n\t\t});\n\t}\n\n\tprivate async _userSession(user?: CognitoUser): Promise {\n\t\tif (!user) {\n\t\t\tlogger.debug('the user is null');\n\t\t\treturn this.rejectAuthError(AuthErrorTypes.NoUserSession);\n\t\t}\n\t\tconst clientMetadata = this._config.clientMetadata;\n\t\t// Debouncing the concurrent userSession calls by caching the promise.\n\t\t// This solution assumes users will always call this function with the same CognitoUser instance.\n\t\tif (this.inflightSessionPromiseCounter === 0) {\n\t\t\tthis.inflightSessionPromise = new Promise(\n\t\t\t\t(res, rej) => {\n\t\t\t\t\tuser.getSession(\n\t\t\t\t\t\tasync (err, session) => {\n\t\t\t\t\t\t\tif (err) {\n\t\t\t\t\t\t\t\tlogger.debug('Failed to get the session from user', user);\n\t\t\t\t\t\t\t\tif (this.isSessionInvalid(err)) {\n\t\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\t\tawait this.cleanUpInvalidSession(user);\n\t\t\t\t\t\t\t\t\t} catch (cleanUpError) {\n\t\t\t\t\t\t\t\t\t\trej(\n\t\t\t\t\t\t\t\t\t\t\tnew Error(\n\t\t\t\t\t\t\t\t\t\t\t\t`Session is invalid due to: ${err.message} and failed to clean up invalid session: ${cleanUpError.message}`\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\trej(err);\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tlogger.debug('Succeed to get the user session', session);\n\t\t\t\t\t\t\t\tres(session);\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{ clientMetadata }\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t\tthis.inflightSessionPromiseCounter++;\n\n\t\ttry {\n\t\t\tconst userSession = await this.inflightSessionPromise;\n\t\t\t// Set private member. Avoid user.setSignInUserSession() to prevent excessive localstorage refresh.\n\t\t\t// @ts-ignore\n\t\t\tuser.signInUserSession = userSession;\n\t\t\treturn userSession!;\n\t\t} finally {\n\t\t\tthis.inflightSessionPromiseCounter--;\n\t\t}\n\t}\n\n\t/**\n\t * Get the corresponding user session\n\t * @param {Object} user - The CognitoUser object\n\t * @return - A promise resolves to the session\n\t */\n\tpublic userSession(user): Promise {\n\t\treturn this._userSession(user);\n\t}\n\n\t/**\n\t * Get authenticated credentials of current user.\n\t * @return - A promise resolves to be current user's credentials\n\t */\n\tpublic async currentUserCredentials(): Promise {\n\t\tlogger.debug('Getting current user credentials');\n\n\t\ttry {\n\t\t\tawait this._storageSync;\n\t\t} catch (e) {\n\t\t\tlogger.debug('Failed to sync cache info into memory', e);\n\t\t\tthrow e;\n\t\t}\n\n\t\t// first to check whether there is federation info in the auth storage\n\t\tlet federatedInfo = null;\n\t\ttry {\n\t\t\tfederatedInfo = JSON.parse(\n\t\t\t\tthis._storage.getItem('aws-amplify-federatedInfo')\n\t\t\t);\n\t\t} catch (e) {\n\t\t\tlogger.debug('failed to get or parse item aws-amplify-federatedInfo', e);\n\t\t}\n\n\t\tif (federatedInfo) {\n\t\t\t// refresh the jwt token here if necessary\n\t\t\treturn this.Credentials.refreshFederatedToken(federatedInfo);\n\t\t} else {\n\t\t\treturn this.currentSession()\n\t\t\t\t.then(session => {\n\t\t\t\t\tlogger.debug('getting session success', session);\n\t\t\t\t\treturn this.Credentials.set(session, 'session');\n\t\t\t\t})\n\t\t\t\t.catch(() => {\n\t\t\t\t\tlogger.debug('getting guest credentials');\n\t\t\t\t\treturn this.Credentials.set(null, 'guest');\n\t\t\t\t});\n\t\t}\n\t}\n\n\tpublic currentCredentials(): Promise {\n\t\tlogger.debug('getting current credentials');\n\t\treturn this.Credentials.get();\n\t}\n\n\t/**\n\t * Initiate an attribute confirmation request\n\t * @param {Object} user - The CognitoUser\n\t * @param {Object} attr - The attributes to be verified\n\t * @return - A promise resolves to callback data if success\n\t */\n\tpublic verifyUserAttribute(\n\t\tuser: CognitoUser | any,\n\t\tattr: string,\n\t\tclientMetadata: ClientMetaData = this._config.clientMetadata\n\t): Promise {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tuser.getAttributeVerificationCode(\n\t\t\t\tattr,\n\t\t\t\t{\n\t\t\t\t\tonSuccess(success) {\n\t\t\t\t\t\treturn resolve(success);\n\t\t\t\t\t},\n\t\t\t\t\tonFailure(err) {\n\t\t\t\t\t\treturn reject(err);\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tclientMetadata\n\t\t\t);\n\t\t});\n\t}\n\n\t/**\n\t * Confirm an attribute using a confirmation code\n\t * @param {Object} user - The CognitoUser\n\t * @param {Object} attr - The attribute to be verified\n\t * @param {String} code - The confirmation code\n\t * @return - A promise resolves to callback data if success\n\t */\n\tpublic verifyUserAttributeSubmit(\n\t\tuser: CognitoUser | any,\n\t\tattr: string,\n\t\tcode: string\n\t): Promise {\n\t\tif (!code) {\n\t\t\treturn this.rejectAuthError(AuthErrorTypes.EmptyCode);\n\t\t}\n\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tuser.verifyAttribute(attr, code, {\n\t\t\t\tonSuccess(data) {\n\t\t\t\t\tresolve(data);\n\t\t\t\t\treturn;\n\t\t\t\t},\n\t\t\t\tonFailure(err) {\n\t\t\t\t\treject(err);\n\t\t\t\t\treturn;\n\t\t\t\t},\n\t\t\t});\n\t\t});\n\t}\n\n\tpublic verifyCurrentUserAttribute(attr: string): Promise {\n\t\tconst that = this;\n\t\treturn that\n\t\t\t.currentUserPoolUser()\n\t\t\t.then(user => that.verifyUserAttribute(user, attr));\n\t}\n\n\t/**\n\t * Confirm current user's attribute using a confirmation code\n\t * @param {Object} attr - The attribute to be verified\n\t * @param {String} code - The confirmation code\n\t * @return - A promise resolves to callback data if success\n\t */\n\tverifyCurrentUserAttributeSubmit(\n\t\tattr: string,\n\t\tcode: string\n\t): Promise {\n\t\tconst that = this;\n\t\treturn that\n\t\t\t.currentUserPoolUser()\n\t\t\t.then(user => that.verifyUserAttributeSubmit(user, attr, code));\n\t}\n\n\tprivate async cognitoIdentitySignOut(\n\t\topts: SignOutOpts,\n\t\tuser: CognitoUser | any\n\t) {\n\t\ttry {\n\t\t\tawait this._storageSync;\n\t\t} catch (e) {\n\t\t\tlogger.debug('Failed to sync cache info into memory', e);\n\t\t\tthrow e;\n\t\t}\n\n\t\tconst isSignedInHostedUI =\n\t\t\tthis._oAuthHandler &&\n\t\t\tthis._storage.getItem('amplify-signin-with-hostedUI') === 'true';\n\n\t\treturn new Promise((res, rej) => {\n\t\t\tif (opts && opts.global) {\n\t\t\t\tlogger.debug('user global sign out', user);\n\t\t\t\t// in order to use global signout\n\t\t\t\t// we must validate the user as an authenticated user by using getSession\n\t\t\t\tconst clientMetadata = this._config.clientMetadata; // TODO: verify behavior if this is override during signIn\n\n\t\t\t\tuser.getSession(\n\t\t\t\t\tasync (err, result) => {\n\t\t\t\t\t\tif (err) {\n\t\t\t\t\t\t\tlogger.debug('failed to get the user session', err);\n\t\t\t\t\t\t\tif (this.isSessionInvalid(err)) {\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tawait this.cleanUpInvalidSession(user);\n\t\t\t\t\t\t\t\t} catch (cleanUpError) {\n\t\t\t\t\t\t\t\t\trej(\n\t\t\t\t\t\t\t\t\t\tnew Error(\n\t\t\t\t\t\t\t\t\t\t\t`Session is invalid due to: ${err.message} and failed to clean up invalid session: ${cleanUpError.message}`\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn rej(err);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tuser.globalSignOut({\n\t\t\t\t\t\t\tonSuccess: data => {\n\t\t\t\t\t\t\t\tlogger.debug('global sign out success');\n\t\t\t\t\t\t\t\tif (isSignedInHostedUI) {\n\t\t\t\t\t\t\t\t\tthis.oAuthSignOutRedirect(res, rej);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\treturn res();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tonFailure: err => {\n\t\t\t\t\t\t\t\tlogger.debug('global sign out failed', err);\n\t\t\t\t\t\t\t\treturn rej(err);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\t\t\t\t\t},\n\t\t\t\t\t{ clientMetadata }\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tlogger.debug('user sign out', user);\n\t\t\t\tuser.signOut(() => {\n\t\t\t\t\tif (isSignedInHostedUI) {\n\t\t\t\t\t\tthis.oAuthSignOutRedirect(res, rej);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn res();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate oAuthSignOutRedirect(\n\t\tresolve: () => void,\n\t\treject: (reason?: any) => void\n\t) {\n\t\tconst { isBrowser } = browserOrNode();\n\n\t\tif (isBrowser) {\n\t\t\tthis.oAuthSignOutRedirectOrReject(reject);\n\t\t} else {\n\t\t\tthis.oAuthSignOutAndResolve(resolve);\n\t\t}\n\t}\n\n\tprivate oAuthSignOutAndResolve(resolve: () => void) {\n\t\tthis._oAuthHandler.signOut();\n\t\tresolve();\n\t}\n\n\tprivate oAuthSignOutRedirectOrReject(reject: (reason?: any) => void) {\n\t\tthis._oAuthHandler.signOut(); // this method redirects url\n\n\t\t// App should be redirected to another url otherwise it will reject\n\t\tsetTimeout(() => reject(Error('Signout timeout fail')), 3000);\n\t}\n\n\t/**\n\t * Sign out method\n\t * @\n\t * @return - A promise resolved if success\n\t */\n\tpublic async signOut(opts: SignOutOpts = {}): Promise {\n\t\ttry {\n\t\t\tawait this.cleanCachedItems();\n\t\t} catch (e) {\n\t\t\tlogger.debug('failed to clear cached items');\n\t\t}\n\n\t\tif (this.userPool) {\n\t\t\ttry {\n\t\t\t\tawait this._storageSync;\n\t\t\t} catch (e) {\n\t\t\t\tlogger.debug('Failed to sync cache info into memory', e);\n\t\t\t\tthrow e;\n\t\t\t}\n\t\t\tconst user = this.userPool.getCurrentUser();\n\t\t\tif (user) {\n\t\t\t\tawait this.cognitoIdentitySignOut(opts, user);\n\t\t\t} else {\n\t\t\t\tlogger.debug('no current Cognito user');\n\t\t\t}\n\t\t} else {\n\t\t\tlogger.debug('no Cognito User pool');\n\t\t}\n\n\t\t/**\n\t\t * Note for future refactor - no reliable way to get username with\n\t\t * Cognito User Pools vs Identity when federating with Social Providers\n\t\t * This is why we need a well structured session object that can be inspected\n\t\t * and information passed back in the message below for Hub dispatch\n\t\t */\n\t\tdispatchAuthEvent('signOut', this.user, `A user has been signed out`);\n\t\tthis.user = null;\n\t}\n\n\tprivate async cleanCachedItems() {\n\t\t// clear cognito cached item\n\t\tawait this.Credentials.clear();\n\t}\n\n\t/**\n\t * Change a password for an authenticated user\n\t * @param {Object} user - The CognitoUser object\n\t * @param {String} oldPassword - the current password\n\t * @param {String} newPassword - the requested new password\n\t * @return - A promise resolves if success\n\t */\n\tpublic changePassword(\n\t\tuser: CognitoUser | any,\n\t\toldPassword: string,\n\t\tnewPassword: string,\n\t\tclientMetadata: ClientMetaData = this._config.clientMetadata\n\t): Promise<'SUCCESS'> {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tthis.userSession(user).then(session => {\n\t\t\t\tuser.changePassword(\n\t\t\t\t\toldPassword,\n\t\t\t\t\tnewPassword,\n\t\t\t\t\t(err, data) => {\n\t\t\t\t\t\tif (err) {\n\t\t\t\t\t\t\tlogger.debug('change password failure', err);\n\t\t\t\t\t\t\treturn reject(err);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn resolve(data);\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tclientMetadata\n\t\t\t\t);\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * Initiate a forgot password request\n\t * @param {String} username - the username to change password\n\t * @return - A promise resolves if success\n\t */\n\tpublic forgotPassword(\n\t\tusername: string,\n\t\tclientMetadata: ClientMetaData = this._config.clientMetadata\n\t): Promise {\n\t\tif (!this.userPool) {\n\t\t\treturn this.rejectNoUserPool();\n\t\t}\n\t\tif (!username) {\n\t\t\treturn this.rejectAuthError(AuthErrorTypes.EmptyUsername);\n\t\t}\n\n\t\tconst user = this.createCognitoUser(username);\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tuser.forgotPassword(\n\t\t\t\t{\n\t\t\t\t\tonSuccess: () => {\n\t\t\t\t\t\tresolve();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t},\n\t\t\t\t\tonFailure: err => {\n\t\t\t\t\t\tlogger.debug('forgot password failure', err);\n\t\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t\t'forgotPassword_failure',\n\t\t\t\t\t\t\terr,\n\t\t\t\t\t\t\t`${username} forgotPassword failed`\n\t\t\t\t\t\t);\n\t\t\t\t\t\treject(err);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t},\n\t\t\t\t\tinputVerificationCode: data => {\n\t\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t\t'forgotPassword',\n\t\t\t\t\t\t\tuser,\n\t\t\t\t\t\t\t`${username} has initiated forgot password flow`\n\t\t\t\t\t\t);\n\t\t\t\t\t\tresolve(data);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tclientMetadata\n\t\t\t);\n\t\t});\n\t}\n\n\t/**\n\t * Confirm a new password using a confirmation Code\n\t * @param {String} username - The username\n\t * @param {String} code - The confirmation code\n\t * @param {String} password - The new password\n\t * @return - A promise that resolves if success\n\t */\n\tpublic forgotPasswordSubmit(\n\t\tusername: string,\n\t\tcode: string,\n\t\tpassword: string,\n\t\tclientMetadata: ClientMetaData = this._config.clientMetadata\n\t): Promise {\n\t\tif (!this.userPool) {\n\t\t\treturn this.rejectNoUserPool();\n\t\t}\n\t\tif (!username) {\n\t\t\treturn this.rejectAuthError(AuthErrorTypes.EmptyUsername);\n\t\t}\n\t\tif (!code) {\n\t\t\treturn this.rejectAuthError(AuthErrorTypes.EmptyCode);\n\t\t}\n\t\tif (!password) {\n\t\t\treturn this.rejectAuthError(AuthErrorTypes.EmptyPassword);\n\t\t}\n\n\t\tconst user = this.createCognitoUser(username);\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tuser.confirmPassword(\n\t\t\t\tcode,\n\t\t\t\tpassword,\n\t\t\t\t{\n\t\t\t\t\tonSuccess: success => {\n\t\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t\t'forgotPasswordSubmit',\n\t\t\t\t\t\t\tuser,\n\t\t\t\t\t\t\t`${username} forgotPasswordSubmit successful`\n\t\t\t\t\t\t);\n\t\t\t\t\t\tresolve(success);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t},\n\t\t\t\t\tonFailure: err => {\n\t\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t\t'forgotPasswordSubmit_failure',\n\t\t\t\t\t\t\terr,\n\t\t\t\t\t\t\t`${username} forgotPasswordSubmit failed`\n\t\t\t\t\t\t);\n\t\t\t\t\t\treject(err);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tclientMetadata\n\t\t\t);\n\t\t});\n\t}\n\n\t/**\n\t * Get user information\n\t * @async\n\t * @return {Object }- current User's information\n\t */\n\tpublic async currentUserInfo() {\n\t\tconst source = this.Credentials.getCredSource();\n\n\t\tif (!source || source === 'aws' || source === 'userPool') {\n\t\t\tconst user = await this.currentUserPoolUser().catch(err =>\n\t\t\t\tlogger.error(err)\n\t\t\t);\n\t\t\tif (!user) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tconst attributes = await this.userAttributes(user);\n\t\t\t\tconst userAttrs: object = this.attributesToObject(attributes);\n\t\t\t\tlet credentials = null;\n\t\t\t\ttry {\n\t\t\t\t\tcredentials = await this.currentCredentials();\n\t\t\t\t} catch (e) {\n\t\t\t\t\tlogger.debug(\n\t\t\t\t\t\t'Failed to retrieve credentials while getting current user info',\n\t\t\t\t\t\te\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tconst info = {\n\t\t\t\t\tid: credentials ? credentials.identityId : undefined,\n\t\t\t\t\tusername: user.getUsername(),\n\t\t\t\t\tattributes: userAttrs,\n\t\t\t\t};\n\t\t\t\treturn info;\n\t\t\t} catch (err) {\n\t\t\t\tlogger.error('currentUserInfo error', err);\n\t\t\t\treturn {};\n\t\t\t}\n\t\t}\n\n\t\tif (source === 'federated') {\n\t\t\tconst user = this.user;\n\t\t\treturn user ? user : {};\n\t\t}\n\t}\n\n\tpublic async federatedSignIn(\n\t\toptions?: FederatedSignInOptions\n\t): Promise;\n\tpublic async federatedSignIn(\n\t\tprovider: LegacyProvider,\n\t\tresponse: FederatedResponse,\n\t\tuser: FederatedUser\n\t): Promise;\n\tpublic async federatedSignIn(\n\t\toptions?: FederatedSignInOptionsCustom\n\t): Promise;\n\tpublic async federatedSignIn(\n\t\tproviderOrOptions:\n\t\t\t| LegacyProvider\n\t\t\t| FederatedSignInOptions\n\t\t\t| FederatedSignInOptionsCustom,\n\t\tresponse?: FederatedResponse,\n\t\tuser?: FederatedUser\n\t): Promise {\n\t\tif (!this._config.identityPoolId && !this._config.userPoolId) {\n\t\t\tthrow new Error(\n\t\t\t\t`Federation requires either a User Pool or Identity Pool in config`\n\t\t\t);\n\t\t}\n\n\t\t// Ensure backwards compatability\n\t\tif (typeof providerOrOptions === 'undefined') {\n\t\t\tif (this._config.identityPoolId && !this._config.userPoolId) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`Federation with Identity Pools requires tokens passed as arguments`\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tif (\n\t\t\tisFederatedSignInOptions(providerOrOptions) ||\n\t\t\tisFederatedSignInOptionsCustom(providerOrOptions) ||\n\t\t\thasCustomState(providerOrOptions) ||\n\t\t\ttypeof providerOrOptions === 'undefined'\n\t\t) {\n\t\t\tconst options = providerOrOptions || {\n\t\t\t\tprovider: CognitoHostedUIIdentityProvider.Cognito,\n\t\t\t};\n\t\t\tconst provider = isFederatedSignInOptions(options)\n\t\t\t\t? options.provider\n\t\t\t\t: (options as FederatedSignInOptionsCustom).customProvider;\n\n\t\t\tconst customState = isFederatedSignInOptions(options)\n\t\t\t\t? options.customState\n\t\t\t\t: (options as FederatedSignInOptionsCustom).customState;\n\n\t\t\tif (this._config.userPoolId) {\n\t\t\t\tconst client_id = isCognitoHostedOpts(this._config.oauth)\n\t\t\t\t\t? this._config.userPoolWebClientId\n\t\t\t\t\t: this._config.oauth.clientID;\n\t\t\t\t/*Note: Invenstigate automatically adding trailing slash */\n\t\t\t\tconst redirect_uri = isCognitoHostedOpts(this._config.oauth)\n\t\t\t\t\t? this._config.oauth.redirectSignIn\n\t\t\t\t\t: this._config.oauth.redirectUri;\n\n\t\t\t\tthis._oAuthHandler.oauthSignIn(\n\t\t\t\t\tthis._config.oauth.responseType,\n\t\t\t\t\tthis._config.oauth.domain,\n\t\t\t\t\tredirect_uri,\n\t\t\t\t\tclient_id,\n\t\t\t\t\tprovider,\n\t\t\t\t\tcustomState\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\tconst provider = providerOrOptions;\n\t\t\t// To check if the user is already logged in\n\t\t\ttry {\n\t\t\t\tconst loggedInUser = JSON.stringify(\n\t\t\t\t\tJSON.parse(this._storage.getItem('aws-amplify-federatedInfo')).user\n\t\t\t\t);\n\t\t\t\tif (loggedInUser) {\n\t\t\t\t\tlogger.warn(`There is already a signed in user: ${loggedInUser} in your app.\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tYou should not call Auth.federatedSignIn method again as it may cause unexpected behavior.`);\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\n\t\t\tconst { token, identity_id, expires_at } = response;\n\t\t\t// Because this.Credentials.set would update the user info with identity id\n\t\t\t// So we need to retrieve the user again.\n\t\t\tconst credentials = await this.Credentials.set(\n\t\t\t\t{ provider, token, identity_id, user, expires_at },\n\t\t\t\t'federation'\n\t\t\t);\n\t\t\tconst currentUser = await this.currentAuthenticatedUser();\n\t\t\tdispatchAuthEvent(\n\t\t\t\t'signIn',\n\t\t\t\tcurrentUser,\n\t\t\t\t`A user ${currentUser.username} has been signed in`\n\t\t\t);\n\t\t\tlogger.debug('federated sign in credentials', credentials);\n\t\t\treturn credentials;\n\t\t}\n\t}\n\n\t/**\n\t * Used to complete the OAuth flow with or without the Cognito Hosted UI\n\t * @param {String} URL - optional parameter for customers to pass in the response URL\n\t */\n\tprivate async _handleAuthResponse(URL?: string) {\n\t\tif (this.oAuthFlowInProgress) {\n\t\t\tlogger.debug(`Skipping URL ${URL} current flow in progress`);\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tthis.oAuthFlowInProgress = true;\n\t\t\tif (!this._config.userPoolId) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`OAuth responses require a User Pool defined in config`\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tdispatchAuthEvent(\n\t\t\t\t'parsingCallbackUrl',\n\t\t\t\t{ url: URL },\n\t\t\t\t`The callback url is being parsed`\n\t\t\t);\n\n\t\t\tconst currentUrl =\n\t\t\t\tURL || (browserOrNode().isBrowser ? window.location.href : '');\n\n\t\t\tconst hasCodeOrError = !!(parse(currentUrl).query || '')\n\t\t\t\t.split('&')\n\t\t\t\t.map(entry => entry.split('='))\n\t\t\t\t.find(([k]) => k === 'code' || k === 'error');\n\n\t\t\tconst hasTokenOrError = !!(parse(currentUrl).hash || '#')\n\t\t\t\t.substr(1)\n\t\t\t\t.split('&')\n\t\t\t\t.map(entry => entry.split('='))\n\t\t\t\t.find(([k]) => k === 'access_token' || k === 'error');\n\n\t\t\tif (hasCodeOrError || hasTokenOrError) {\n\t\t\t\tthis._storage.setItem('amplify-redirected-from-hosted-ui', 'true');\n\t\t\t\ttry {\n\t\t\t\t\tconst { accessToken, idToken, refreshToken, state } =\n\t\t\t\t\t\tawait this._oAuthHandler.handleAuthResponse(currentUrl);\n\t\t\t\t\tconst session = new CognitoUserSession({\n\t\t\t\t\t\tIdToken: new CognitoIdToken({ IdToken: idToken }),\n\t\t\t\t\t\tRefreshToken: new CognitoRefreshToken({\n\t\t\t\t\t\t\tRefreshToken: refreshToken,\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tAccessToken: new CognitoAccessToken({\n\t\t\t\t\t\t\tAccessToken: accessToken,\n\t\t\t\t\t\t}),\n\t\t\t\t\t});\n\n\t\t\t\t\tlet credentials;\n\t\t\t\t\t// Get AWS Credentials & store if Identity Pool is defined\n\t\t\t\t\tif (this._config.identityPoolId) {\n\t\t\t\t\t\tcredentials = await this.Credentials.set(session, 'session');\n\t\t\t\t\t\tlogger.debug('AWS credentials', credentials);\n\t\t\t\t\t}\n\n\t\t\t\t\t/*\n\t\t\t\tPrior to the request we do sign the custom state along with the state we set. This check will verify\n\t\t\t\tif there is a dash indicated when setting custom state from the request. If a dash is contained\n\t\t\t\tthen there is custom state present on the state string.\n\t\t\t\t*/\n\t\t\t\t\tconst isCustomStateIncluded = /-/.test(state);\n\n\t\t\t\t\t/*\n\t\t\t\tThe following is to create a user for the Cognito Identity SDK to store the tokens\n\t\t\t\tWhen we remove this SDK later that logic will have to be centralized in our new version\n\t\t\t\t*/\n\t\t\t\t\t//#region\n\t\t\t\t\tconst currentUser = this.createCognitoUser(\n\t\t\t\t\t\tsession.getIdToken().decodePayload()['cognito:username']\n\t\t\t\t\t);\n\n\t\t\t\t\t// This calls cacheTokens() in Cognito SDK\n\t\t\t\t\tcurrentUser.setSignInUserSession(session);\n\n\t\t\t\t\tif (window && typeof window.history !== 'undefined') {\n\t\t\t\t\t\twindow.history.replaceState(\n\t\t\t\t\t\t\twindow.history.state,\n\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t\t(this._config.oauth as AwsCognitoOAuthOpts).redirectSignIn\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t'signIn',\n\t\t\t\t\t\tcurrentUser,\n\t\t\t\t\t\t`A user ${currentUser.getUsername()} has been signed in`\n\t\t\t\t\t);\n\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t'cognitoHostedUI',\n\t\t\t\t\t\tcurrentUser,\n\t\t\t\t\t\t`A user ${currentUser.getUsername()} has been signed in via Cognito Hosted UI`\n\t\t\t\t\t);\n\n\t\t\t\t\tif (isCustomStateIncluded) {\n\t\t\t\t\t\tconst customState = state.split('-').splice(1).join('-');\n\n\t\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t\t'customOAuthState',\n\t\t\t\t\t\t\turlSafeDecode(customState),\n\t\t\t\t\t\t\t`State for user ${currentUser.getUsername()}`\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\t//#endregion\n\n\t\t\t\t\treturn credentials;\n\t\t\t\t} catch (err) {\n\t\t\t\t\tlogger.debug('Error in cognito hosted auth response', err);\n\n\t\t\t\t\t// Just like a successful handling of `?code`, replace the window history to \"dispose\" of the `code`.\n\t\t\t\t\t// Otherwise, reloading the page will throw errors as the `code` has already been spent.\n\t\t\t\t\tif (window && typeof window.history !== 'undefined') {\n\t\t\t\t\t\twindow.history.replaceState(\n\t\t\t\t\t\t\twindow.history.state,\n\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t\t(this._config.oauth as AwsCognitoOAuthOpts).redirectSignIn\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t'signIn_failure',\n\t\t\t\t\t\terr,\n\t\t\t\t\t\t`The OAuth response flow failed`\n\t\t\t\t\t);\n\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t'cognitoHostedUI_failure',\n\t\t\t\t\t\terr,\n\t\t\t\t\t\t`A failure occurred when returning to the Cognito Hosted UI`\n\t\t\t\t\t);\n\t\t\t\t\tdispatchAuthEvent(\n\t\t\t\t\t\t'customState_failure',\n\t\t\t\t\t\terr,\n\t\t\t\t\t\t`A failure occurred when returning state`\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t} finally {\n\t\t\tthis.oAuthFlowInProgress = false;\n\t\t}\n\t}\n\n\t/**\n\t * Compact version of credentials\n\t * @param {Object} credentials\n\t * @return {Object} - Credentials\n\t */\n\tpublic essentialCredentials(credentials): ICredentials {\n\t\treturn {\n\t\t\taccessKeyId: credentials.accessKeyId,\n\t\t\tsessionToken: credentials.sessionToken,\n\t\t\tsecretAccessKey: credentials.secretAccessKey,\n\t\t\tidentityId: credentials.identityId,\n\t\t\tauthenticated: credentials.authenticated,\n\t\t};\n\t}\n\n\tprivate attributesToObject(attributes) {\n\t\tconst obj = {};\n\t\tif (attributes) {\n\t\t\tattributes.map(attribute => {\n\t\t\t\tif (\n\t\t\t\t\tattribute.Name === 'email_verified' ||\n\t\t\t\t\tattribute.Name === 'phone_number_verified'\n\t\t\t\t) {\n\t\t\t\t\tobj[attribute.Name] =\n\t\t\t\t\t\tthis.isTruthyString(attribute.Value) || attribute.Value === true;\n\t\t\t\t} else {\n\t\t\t\t\tobj[attribute.Name] = attribute.Value;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\treturn obj;\n\t}\n\n\tprivate isTruthyString(value: any): boolean {\n\t\treturn (\n\t\t\ttypeof value.toLowerCase === 'function' && value.toLowerCase() === 'true'\n\t\t);\n\t}\n\n\tprivate createCognitoUser(username: string): CognitoUser {\n\t\tconst userData: ICognitoUserData = {\n\t\t\tUsername: username,\n\t\t\tPool: this.userPool,\n\t\t};\n\t\tuserData.Storage = this._storage;\n\n\t\tconst { authenticationFlowType } = this._config;\n\n\t\tconst user = new CognitoUser(userData);\n\t\tif (authenticationFlowType) {\n\t\t\tuser.setAuthenticationFlowType(authenticationFlowType);\n\t\t}\n\t\treturn user;\n\t}\n\n\tprivate _isValidAuthStorage(obj) {\n\t\t// We need to check if the obj has the functions of Storage\n\t\treturn (\n\t\t\t!!obj &&\n\t\t\ttypeof obj.getItem === 'function' &&\n\t\t\ttypeof obj.setItem === 'function' &&\n\t\t\ttypeof obj.removeItem === 'function' &&\n\t\t\ttypeof obj.clear === 'function'\n\t\t);\n\t}\n\n\tprivate noUserPoolErrorHandler(config: AuthOptions): AuthErrorTypes {\n\t\tif (config) {\n\t\t\tif (!config.userPoolId || !config.identityPoolId) {\n\t\t\t\treturn AuthErrorTypes.MissingAuthConfig;\n\t\t\t}\n\t\t}\n\t\treturn AuthErrorTypes.NoConfig;\n\t}\n\n\tprivate rejectAuthError(type: AuthErrorTypes): Promise {\n\t\treturn Promise.reject(new AuthError(type));\n\t}\n\n\tprivate rejectNoUserPool(): Promise {\n\t\tconst type = this.noUserPoolErrorHandler(this._config);\n\t\treturn Promise.reject(new NoUserPoolError(type));\n\t}\n\n\tpublic async rememberDevice(): Promise {\n\t\tlet currUser;\n\n\t\ttry {\n\t\t\tcurrUser = await this.currentUserPoolUser();\n\t\t} catch (error) {\n\t\t\tlogger.debug('The user is not authenticated by the error', error);\n\t\t\treturn Promise.reject('The user is not authenticated');\n\t\t}\n\n\t\tcurrUser.getCachedDeviceKeyAndPassword();\n\t\treturn new Promise((res, rej) => {\n\t\t\tcurrUser.setDeviceStatusRemembered({\n\t\t\t\tonSuccess: data => {\n\t\t\t\t\tres(data);\n\t\t\t\t},\n\t\t\t\tonFailure: err => {\n\t\t\t\t\tif (err.code === 'InvalidParameterException') {\n\t\t\t\t\t\trej(new AuthError(AuthErrorTypes.DeviceConfig));\n\t\t\t\t\t} else if (err.code === 'NetworkError') {\n\t\t\t\t\t\trej(new AuthError(AuthErrorTypes.NetworkError));\n\t\t\t\t\t} else {\n\t\t\t\t\t\trej(err);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t});\n\t\t});\n\t}\n\n\tpublic async forgetDevice(): Promise {\n\t\tlet currUser;\n\n\t\ttry {\n\t\t\tcurrUser = await this.currentUserPoolUser();\n\t\t} catch (error) {\n\t\t\tlogger.debug('The user is not authenticated by the error', error);\n\t\t\treturn Promise.reject('The user is not authenticated');\n\t\t}\n\n\t\tcurrUser.getCachedDeviceKeyAndPassword();\n\t\treturn new Promise((res, rej) => {\n\t\t\tcurrUser.forgetDevice({\n\t\t\t\tonSuccess: data => {\n\t\t\t\t\tres(data);\n\t\t\t\t},\n\t\t\t\tonFailure: err => {\n\t\t\t\t\tif (err.code === 'InvalidParameterException') {\n\t\t\t\t\t\trej(new AuthError(AuthErrorTypes.DeviceConfig));\n\t\t\t\t\t} else if (err.code === 'NetworkError') {\n\t\t\t\t\t\trej(new AuthError(AuthErrorTypes.NetworkError));\n\t\t\t\t\t} else {\n\t\t\t\t\t\trej(err);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t});\n\t\t});\n\t}\n\n\tpublic async fetchDevices(): Promise {\n\t\tlet currUser;\n\n\t\ttry {\n\t\t\tcurrUser = await this.currentUserPoolUser();\n\t\t} catch (error) {\n\t\t\tlogger.debug('The user is not authenticated by the error', error);\n\t\t\tthrow new Error('The user is not authenticated');\n\t\t}\n\n\t\tcurrUser.getCachedDeviceKeyAndPassword();\n\t\treturn new Promise((res, rej) => {\n\t\t\tconst cb = {\n\t\t\t\tonSuccess(data) {\n\t\t\t\t\tconst deviceList: IAuthDevice[] = data.Devices.map(device => {\n\t\t\t\t\t\tconst deviceName =\n\t\t\t\t\t\t\tdevice.DeviceAttributes.find(\n\t\t\t\t\t\t\t\t({ Name }) => Name === 'device_name'\n\t\t\t\t\t\t\t) || {};\n\n\t\t\t\t\t\tconst deviceInfo: IAuthDevice = {\n\t\t\t\t\t\t\tid: device.DeviceKey,\n\t\t\t\t\t\t\tname: deviceName.Value,\n\t\t\t\t\t\t};\n\t\t\t\t\t\treturn deviceInfo;\n\t\t\t\t\t});\n\t\t\t\t\tres(deviceList);\n\t\t\t\t},\n\t\t\t\tonFailure: err => {\n\t\t\t\t\tif (err.code === 'InvalidParameterException') {\n\t\t\t\t\t\trej(new AuthError(AuthErrorTypes.DeviceConfig));\n\t\t\t\t\t} else if (err.code === 'NetworkError') {\n\t\t\t\t\t\trej(new AuthError(AuthErrorTypes.NetworkError));\n\t\t\t\t\t} else {\n\t\t\t\t\t\trej(err);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t};\n\t\t\tcurrUser.listDevices(MAX_DEVICES, null, cb);\n\t\t});\n\t}\n}\n\nexport const Auth = new AuthClass(null);\n\nAmplify.register(Auth);\n","export var FRAMEWORK = {\n None: '0',\n ReactNative: '1'\n};\nexport var AUTH_CATEGORY = 'auth';","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { browserOrNode } from '@aws-amplify/core';\n\nexport default callback => {\n\tif (browserOrNode().isBrowser && window.location) {\n\t\tconst url = window.location.href;\n\n\t\tcallback({ url });\n\t} else if (browserOrNode().isNode) {\n\t\t// continue building on ssr\n\t\t() => {}; // noop\n\t} else {\n\t\tthrow new Error('Not supported');\n\t}\n};\n","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/**\n * Return true if `value` is object-like. A value is object-like if it's not\n * `null` and has a `typeof` result of \"object\".\n */\nexport default function isObjectLike(value) {\n return _typeof(value) == 'object' && value !== null;\n}\n","// In ES2015 (or a polyfilled) environment, this will be Symbol.iterator\n// istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\nexport var SYMBOL_ITERATOR = typeof Symbol === 'function' && Symbol.iterator != null ? Symbol.iterator : '@@iterator'; // In ES2017 (or a polyfilled) environment, this will be Symbol.asyncIterator\n// istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\n\nexport var SYMBOL_ASYNC_ITERATOR = typeof Symbol === 'function' && Symbol.asyncIterator != null ? Symbol.asyncIterator : '@@asyncIterator'; // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\n\nexport var SYMBOL_TO_STRING_TAG = typeof Symbol === 'function' && Symbol.toStringTag != null ? Symbol.toStringTag : '@@toStringTag';\n","/**\n * Represents a location in a Source.\n */\n\n/**\n * Takes a Source and a UTF-8 character offset, and returns the corresponding\n * line and column as a SourceLocation.\n */\nexport function getLocation(source, position) {\n var lineRegexp = /\\r\\n|[\\n\\r]/g;\n var line = 1;\n var column = position + 1;\n var match;\n\n while ((match = lineRegexp.exec(source.body)) && match.index < position) {\n line += 1;\n column = position + 1 - (match.index + match[0].length);\n }\n\n return {\n line: line,\n column: column\n };\n}\n","import { getLocation } from \"./location.mjs\";\n/**\n * Render a helpful description of the location in the GraphQL Source document.\n */\n\nexport function printLocation(location) {\n return printSourceLocation(location.source, getLocation(location.source, location.start));\n}\n/**\n * Render a helpful description of the location in the GraphQL Source document.\n */\n\nexport function printSourceLocation(source, sourceLocation) {\n var firstLineColumnOffset = source.locationOffset.column - 1;\n var body = whitespace(firstLineColumnOffset) + source.body;\n var lineIndex = sourceLocation.line - 1;\n var lineOffset = source.locationOffset.line - 1;\n var lineNum = sourceLocation.line + lineOffset;\n var columnOffset = sourceLocation.line === 1 ? firstLineColumnOffset : 0;\n var columnNum = sourceLocation.column + columnOffset;\n var locationStr = \"\".concat(source.name, \":\").concat(lineNum, \":\").concat(columnNum, \"\\n\");\n var lines = body.split(/\\r\\n|[\\n\\r]/g);\n var locationLine = lines[lineIndex]; // Special case for minified documents\n\n if (locationLine.length > 120) {\n var subLineIndex = Math.floor(columnNum / 80);\n var subLineColumnNum = columnNum % 80;\n var subLines = [];\n\n for (var i = 0; i < locationLine.length; i += 80) {\n subLines.push(locationLine.slice(i, i + 80));\n }\n\n return locationStr + printPrefixedLines([[\"\".concat(lineNum), subLines[0]]].concat(subLines.slice(1, subLineIndex + 1).map(function (subLine) {\n return ['', subLine];\n }), [[' ', whitespace(subLineColumnNum - 1) + '^'], ['', subLines[subLineIndex + 1]]]));\n }\n\n return locationStr + printPrefixedLines([// Lines specified like this: [\"prefix\", \"string\"],\n [\"\".concat(lineNum - 1), lines[lineIndex - 1]], [\"\".concat(lineNum), locationLine], ['', whitespace(columnNum - 1) + '^'], [\"\".concat(lineNum + 1), lines[lineIndex + 1]]]);\n}\n\nfunction printPrefixedLines(lines) {\n var existingLines = lines.filter(function (_ref) {\n var _ = _ref[0],\n line = _ref[1];\n return line !== undefined;\n });\n var padLen = Math.max.apply(Math, existingLines.map(function (_ref2) {\n var prefix = _ref2[0];\n return prefix.length;\n }));\n return existingLines.map(function (_ref3) {\n var prefix = _ref3[0],\n line = _ref3[1];\n return leftPad(padLen, prefix) + (line ? ' | ' + line : ' |');\n }).join('\\n');\n}\n\nfunction whitespace(len) {\n return Array(len + 1).join(' ');\n}\n\nfunction leftPad(len, str) {\n return whitespace(len - str.length) + str;\n}\n","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nimport isObjectLike from \"../jsutils/isObjectLike.mjs\";\nimport { SYMBOL_TO_STRING_TAG } from \"../polyfills/symbols.mjs\";\nimport { getLocation } from \"../language/location.mjs\";\nimport { printLocation, printSourceLocation } from \"../language/printLocation.mjs\";\n/**\n * A GraphQLError describes an Error found during the parse, validate, or\n * execute phases of performing a GraphQL operation. In addition to a message\n * and stack trace, it also includes information about the locations in a\n * GraphQL document and/or execution result that correspond to the Error.\n */\n\nexport var GraphQLError = /*#__PURE__*/function (_Error) {\n _inherits(GraphQLError, _Error);\n\n var _super = _createSuper(GraphQLError);\n\n /**\n * An array of { line, column } locations within the source GraphQL document\n * which correspond to this error.\n *\n * Errors during validation often contain multiple locations, for example to\n * point out two things with the same name. Errors during execution include a\n * single location, the field which produced the error.\n *\n * Enumerable, and appears in the result of JSON.stringify().\n */\n\n /**\n * An array describing the JSON-path into the execution response which\n * corresponds to this error. Only included for errors during execution.\n *\n * Enumerable, and appears in the result of JSON.stringify().\n */\n\n /**\n * An array of GraphQL AST Nodes corresponding to this error.\n */\n\n /**\n * The source GraphQL document for the first location of this error.\n *\n * Note that if this Error represents more than one node, the source may not\n * represent nodes after the first node.\n */\n\n /**\n * An array of character offsets within the source GraphQL document\n * which correspond to this error.\n */\n\n /**\n * The original error thrown from a field resolver during execution.\n */\n\n /**\n * Extension fields to add to the formatted error.\n */\n function GraphQLError(message, nodes, source, positions, path, originalError, extensions) {\n var _nodeLocations, _nodeLocations2, _nodeLocations3;\n\n var _this;\n\n _classCallCheck(this, GraphQLError);\n\n _this = _super.call(this, message);\n _this.name = 'GraphQLError';\n _this.originalError = originalError !== null && originalError !== void 0 ? originalError : undefined; // Compute list of blame nodes.\n\n _this.nodes = undefinedIfEmpty(Array.isArray(nodes) ? nodes : nodes ? [nodes] : undefined);\n var nodeLocations = [];\n\n for (var _i2 = 0, _ref3 = (_this$nodes = _this.nodes) !== null && _this$nodes !== void 0 ? _this$nodes : []; _i2 < _ref3.length; _i2++) {\n var _this$nodes;\n\n var _ref4 = _ref3[_i2];\n var loc = _ref4.loc;\n\n if (loc != null) {\n nodeLocations.push(loc);\n }\n }\n\n nodeLocations = undefinedIfEmpty(nodeLocations); // Compute locations in the source for the given nodes/positions.\n\n _this.source = source !== null && source !== void 0 ? source : (_nodeLocations = nodeLocations) === null || _nodeLocations === void 0 ? void 0 : _nodeLocations[0].source;\n _this.positions = positions !== null && positions !== void 0 ? positions : (_nodeLocations2 = nodeLocations) === null || _nodeLocations2 === void 0 ? void 0 : _nodeLocations2.map(function (loc) {\n return loc.start;\n });\n _this.locations = positions && source ? positions.map(function (pos) {\n return getLocation(source, pos);\n }) : (_nodeLocations3 = nodeLocations) === null || _nodeLocations3 === void 0 ? void 0 : _nodeLocations3.map(function (loc) {\n return getLocation(loc.source, loc.start);\n });\n _this.path = path !== null && path !== void 0 ? path : undefined;\n var originalExtensions = originalError === null || originalError === void 0 ? void 0 : originalError.extensions;\n\n if (extensions == null && isObjectLike(originalExtensions)) {\n _this.extensions = _objectSpread({}, originalExtensions);\n } else {\n _this.extensions = extensions !== null && extensions !== void 0 ? extensions : {};\n } // By being enumerable, JSON.stringify will include bellow properties in the resulting output.\n // This ensures that the simplest possible GraphQL service adheres to the spec.\n\n\n Object.defineProperties(_assertThisInitialized(_this), {\n message: {\n enumerable: true\n },\n locations: {\n enumerable: _this.locations != null\n },\n path: {\n enumerable: _this.path != null\n },\n extensions: {\n enumerable: _this.extensions != null && Object.keys(_this.extensions).length > 0\n },\n name: {\n enumerable: false\n },\n nodes: {\n enumerable: false\n },\n source: {\n enumerable: false\n },\n positions: {\n enumerable: false\n },\n originalError: {\n enumerable: false\n }\n }); // Include (non-enumerable) stack trace.\n\n if (originalError !== null && originalError !== void 0 && originalError.stack) {\n Object.defineProperty(_assertThisInitialized(_this), 'stack', {\n value: originalError.stack,\n writable: true,\n configurable: true\n });\n return _possibleConstructorReturn(_this);\n } // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\n\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(_assertThisInitialized(_this), GraphQLError);\n } else {\n Object.defineProperty(_assertThisInitialized(_this), 'stack', {\n value: Error().stack,\n writable: true,\n configurable: true\n });\n }\n\n return _this;\n }\n\n _createClass(GraphQLError, [{\n key: \"toString\",\n value: function toString() {\n return printError(this);\n } // FIXME: workaround to not break chai comparisons, should be remove in v16\n // $FlowFixMe[unsupported-syntax] Flow doesn't support computed properties yet\n\n }, {\n key: SYMBOL_TO_STRING_TAG,\n get: function get() {\n return 'Object';\n }\n }]);\n\n return GraphQLError;\n}( /*#__PURE__*/_wrapNativeSuper(Error));\n\nfunction undefinedIfEmpty(array) {\n return array === undefined || array.length === 0 ? undefined : array;\n}\n/**\n * Prints a GraphQLError to a string, representing useful location information\n * about the error's position in the source.\n */\n\n\nexport function printError(error) {\n var output = error.message;\n\n if (error.nodes) {\n for (var _i4 = 0, _error$nodes2 = error.nodes; _i4 < _error$nodes2.length; _i4++) {\n var node = _error$nodes2[_i4];\n\n if (node.loc) {\n output += '\\n\\n' + printLocation(node.loc);\n }\n }\n } else if (error.source && error.locations) {\n for (var _i6 = 0, _error$locations2 = error.locations; _i6 < _error$locations2.length; _i6++) {\n var location = _error$locations2[_i6];\n output += '\\n\\n' + printSourceLocation(error.source, location);\n }\n }\n\n return output;\n}\n","import { GraphQLError } from \"./GraphQLError.mjs\";\n/**\n * Produces a GraphQLError representing a syntax error, containing useful\n * descriptive information about the syntax error's position in the source.\n */\n\nexport function syntaxError(source, position, description) {\n return new GraphQLError(\"Syntax Error: \".concat(description), undefined, source, [position]);\n}\n","/**\n * The set of allowed kind values for AST nodes.\n */\nexport var Kind = Object.freeze({\n // Name\n NAME: 'Name',\n // Document\n DOCUMENT: 'Document',\n OPERATION_DEFINITION: 'OperationDefinition',\n VARIABLE_DEFINITION: 'VariableDefinition',\n SELECTION_SET: 'SelectionSet',\n FIELD: 'Field',\n ARGUMENT: 'Argument',\n // Fragments\n FRAGMENT_SPREAD: 'FragmentSpread',\n INLINE_FRAGMENT: 'InlineFragment',\n FRAGMENT_DEFINITION: 'FragmentDefinition',\n // Values\n VARIABLE: 'Variable',\n INT: 'IntValue',\n FLOAT: 'FloatValue',\n STRING: 'StringValue',\n BOOLEAN: 'BooleanValue',\n NULL: 'NullValue',\n ENUM: 'EnumValue',\n LIST: 'ListValue',\n OBJECT: 'ObjectValue',\n OBJECT_FIELD: 'ObjectField',\n // Directives\n DIRECTIVE: 'Directive',\n // Types\n NAMED_TYPE: 'NamedType',\n LIST_TYPE: 'ListType',\n NON_NULL_TYPE: 'NonNullType',\n // Type System Definitions\n SCHEMA_DEFINITION: 'SchemaDefinition',\n OPERATION_TYPE_DEFINITION: 'OperationTypeDefinition',\n // Type Definitions\n SCALAR_TYPE_DEFINITION: 'ScalarTypeDefinition',\n OBJECT_TYPE_DEFINITION: 'ObjectTypeDefinition',\n FIELD_DEFINITION: 'FieldDefinition',\n INPUT_VALUE_DEFINITION: 'InputValueDefinition',\n INTERFACE_TYPE_DEFINITION: 'InterfaceTypeDefinition',\n UNION_TYPE_DEFINITION: 'UnionTypeDefinition',\n ENUM_TYPE_DEFINITION: 'EnumTypeDefinition',\n ENUM_VALUE_DEFINITION: 'EnumValueDefinition',\n INPUT_OBJECT_TYPE_DEFINITION: 'InputObjectTypeDefinition',\n // Directive Definitions\n DIRECTIVE_DEFINITION: 'DirectiveDefinition',\n // Type System Extensions\n SCHEMA_EXTENSION: 'SchemaExtension',\n // Type Extensions\n SCALAR_TYPE_EXTENSION: 'ScalarTypeExtension',\n OBJECT_TYPE_EXTENSION: 'ObjectTypeExtension',\n INTERFACE_TYPE_EXTENSION: 'InterfaceTypeExtension',\n UNION_TYPE_EXTENSION: 'UnionTypeExtension',\n ENUM_TYPE_EXTENSION: 'EnumTypeExtension',\n INPUT_OBJECT_TYPE_EXTENSION: 'InputObjectTypeExtension'\n});\n/**\n * The enum type representing the possible kind values of AST nodes.\n */\n","// istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\nvar nodejsCustomInspectSymbol = typeof Symbol === 'function' && typeof Symbol.for === 'function' ? Symbol.for('nodejs.util.inspect.custom') : undefined;\nexport default nodejsCustomInspectSymbol;\n","import invariant from \"./invariant.mjs\";\nimport nodejsCustomInspectSymbol from \"./nodejsCustomInspectSymbol.mjs\";\n/**\n * The `defineInspect()` function defines `inspect()` prototype method as alias of `toJSON`\n */\n\nexport default function defineInspect(classObject) {\n var fn = classObject.prototype.toJSON;\n typeof fn === 'function' || invariant(0);\n classObject.prototype.inspect = fn; // istanbul ignore else (See: 'https://github.com/graphql/graphql-js/issues/2317')\n\n if (nodejsCustomInspectSymbol) {\n classObject.prototype[nodejsCustomInspectSymbol] = fn;\n }\n}\n","export default function invariant(condition, message) {\n var booleanCondition = Boolean(condition); // istanbul ignore else (See transformation done in './resources/inlineInvariant.js')\n\n if (!booleanCondition) {\n throw new Error(message != null ? message : 'Unexpected invariant triggered.');\n }\n}\n","import defineInspect from \"../jsutils/defineInspect.mjs\";\n\n/**\n * Contains a range of UTF-8 character offsets and token references that\n * identify the region of the source from which the AST derived.\n */\nexport var Location = /*#__PURE__*/function () {\n /**\n * The character offset at which this Node begins.\n */\n\n /**\n * The character offset at which this Node ends.\n */\n\n /**\n * The Token at which this Node begins.\n */\n\n /**\n * The Token at which this Node ends.\n */\n\n /**\n * The Source document the AST represents.\n */\n function Location(startToken, endToken, source) {\n this.start = startToken.start;\n this.end = endToken.end;\n this.startToken = startToken;\n this.endToken = endToken;\n this.source = source;\n }\n\n var _proto = Location.prototype;\n\n _proto.toJSON = function toJSON() {\n return {\n start: this.start,\n end: this.end\n };\n };\n\n return Location;\n}(); // Print a simplified form when appearing in `inspect` and `util.inspect`.\n\ndefineInspect(Location);\n/**\n * Represents a range of characters represented by a lexical token\n * within a Source.\n */\n\nexport var Token = /*#__PURE__*/function () {\n /**\n * The kind of Token.\n */\n\n /**\n * The character offset at which this Node begins.\n */\n\n /**\n * The character offset at which this Node ends.\n */\n\n /**\n * The 1-indexed line number on which this Token appears.\n */\n\n /**\n * The 1-indexed column number at which this Token begins.\n */\n\n /**\n * For non-punctuation tokens, represents the interpreted value of the token.\n */\n\n /**\n * Tokens exist as nodes in a double-linked-list amongst all tokens\n * including ignored tokens. is always the first node and \n * the last.\n */\n function Token(kind, start, end, line, column, prev, value) {\n this.kind = kind;\n this.start = start;\n this.end = end;\n this.line = line;\n this.column = column;\n this.value = value;\n this.prev = prev;\n this.next = null;\n }\n\n var _proto2 = Token.prototype;\n\n _proto2.toJSON = function toJSON() {\n return {\n kind: this.kind,\n value: this.value,\n line: this.line,\n column: this.column\n };\n };\n\n return Token;\n}(); // Print a simplified form when appearing in `inspect` and `util.inspect`.\n\ndefineInspect(Token);\n/**\n * @internal\n */\n\nexport function isNode(maybeNode) {\n return maybeNode != null && typeof maybeNode.kind === 'string';\n}\n/**\n * The list of all possible AST node types.\n */\n","/**\n * An exported enum describing the different kinds of tokens that the\n * lexer emits.\n */\nexport var TokenKind = Object.freeze({\n SOF: '',\n EOF: '',\n BANG: '!',\n DOLLAR: '$',\n AMP: '&',\n PAREN_L: '(',\n PAREN_R: ')',\n SPREAD: '...',\n COLON: ':',\n EQUALS: '=',\n AT: '@',\n BRACKET_L: '[',\n BRACKET_R: ']',\n BRACE_L: '{',\n PIPE: '|',\n BRACE_R: '}',\n NAME: 'Name',\n INT: 'Int',\n FLOAT: 'Float',\n STRING: 'String',\n BLOCK_STRING: 'BlockString',\n COMMENT: 'Comment'\n});\n/**\n * The enum type representing the token kinds values.\n */\n","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/* eslint-disable flowtype/no-weak-types */\nimport nodejsCustomInspectSymbol from \"./nodejsCustomInspectSymbol.mjs\";\nvar MAX_ARRAY_LENGTH = 10;\nvar MAX_RECURSIVE_DEPTH = 2;\n/**\n * Used to print values in error messages.\n */\n\nexport default function inspect(value) {\n return formatValue(value, []);\n}\n\nfunction formatValue(value, seenValues) {\n switch (_typeof(value)) {\n case 'string':\n return JSON.stringify(value);\n\n case 'function':\n return value.name ? \"[function \".concat(value.name, \"]\") : '[function]';\n\n case 'object':\n if (value === null) {\n return 'null';\n }\n\n return formatObjectValue(value, seenValues);\n\n default:\n return String(value);\n }\n}\n\nfunction formatObjectValue(value, previouslySeenValues) {\n if (previouslySeenValues.indexOf(value) !== -1) {\n return '[Circular]';\n }\n\n var seenValues = [].concat(previouslySeenValues, [value]);\n var customInspectFn = getCustomFn(value);\n\n if (customInspectFn !== undefined) {\n var customValue = customInspectFn.call(value); // check for infinite recursion\n\n if (customValue !== value) {\n return typeof customValue === 'string' ? customValue : formatValue(customValue, seenValues);\n }\n } else if (Array.isArray(value)) {\n return formatArray(value, seenValues);\n }\n\n return formatObject(value, seenValues);\n}\n\nfunction formatObject(object, seenValues) {\n var keys = Object.keys(object);\n\n if (keys.length === 0) {\n return '{}';\n }\n\n if (seenValues.length > MAX_RECURSIVE_DEPTH) {\n return '[' + getObjectTag(object) + ']';\n }\n\n var properties = keys.map(function (key) {\n var value = formatValue(object[key], seenValues);\n return key + ': ' + value;\n });\n return '{ ' + properties.join(', ') + ' }';\n}\n\nfunction formatArray(array, seenValues) {\n if (array.length === 0) {\n return '[]';\n }\n\n if (seenValues.length > MAX_RECURSIVE_DEPTH) {\n return '[Array]';\n }\n\n var len = Math.min(MAX_ARRAY_LENGTH, array.length);\n var remaining = array.length - len;\n var items = [];\n\n for (var i = 0; i < len; ++i) {\n items.push(formatValue(array[i], seenValues));\n }\n\n if (remaining === 1) {\n items.push('... 1 more item');\n } else if (remaining > 1) {\n items.push(\"... \".concat(remaining, \" more items\"));\n }\n\n return '[' + items.join(', ') + ']';\n}\n\nfunction getCustomFn(object) {\n var customInspectFn = object[String(nodejsCustomInspectSymbol)];\n\n if (typeof customInspectFn === 'function') {\n return customInspectFn;\n }\n\n if (typeof object.inspect === 'function') {\n return object.inspect;\n }\n}\n\nfunction getObjectTag(object) {\n var tag = Object.prototype.toString.call(object).replace(/^\\[object /, '').replace(/]$/, '');\n\n if (tag === 'Object' && typeof object.constructor === 'function') {\n var name = object.constructor.name;\n\n if (typeof name === 'string' && name !== '') {\n return name;\n }\n }\n\n return tag;\n}\n","export default function devAssert(condition, message) {\n var booleanCondition = Boolean(condition); // istanbul ignore else (See transformation done in './resources/inlineInvariant.js')\n\n if (!booleanCondition) {\n throw new Error(message);\n }\n}\n","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport inspect from \"./inspect.mjs\";\n/**\n * A replacement for instanceof which includes an error warning when multi-realm\n * constructors are detected.\n */\n\n// See: https://expressjs.com/en/advanced/best-practice-performance.html#set-node_env-to-production\n// See: https://webpack.js.org/guides/production/\nexport default process.env.NODE_ENV === 'production' ? // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\n// eslint-disable-next-line no-shadow\nfunction instanceOf(value, constructor) {\n return value instanceof constructor;\n} : // eslint-disable-next-line no-shadow\nfunction instanceOf(value, constructor) {\n if (value instanceof constructor) {\n return true;\n }\n\n if (_typeof(value) === 'object' && value !== null) {\n var _value$constructor;\n\n var className = constructor.prototype[Symbol.toStringTag];\n var valueClassName = // We still need to support constructor's name to detect conflicts with older versions of this library.\n Symbol.toStringTag in value ? value[Symbol.toStringTag] : (_value$constructor = value.constructor) === null || _value$constructor === void 0 ? void 0 : _value$constructor.name;\n\n if (className === valueClassName) {\n var stringifiedValue = inspect(value);\n throw new Error(\"Cannot use \".concat(className, \" \\\"\").concat(stringifiedValue, \"\\\" from another module or realm.\\n\\nEnsure that there is only one instance of \\\"graphql\\\" in the node_modules\\ndirectory. If different versions of \\\"graphql\\\" are the dependencies of other\\nrelied on modules, use \\\"resolutions\\\" to ensure only one version is installed.\\n\\nhttps://yarnpkg.com/en/docs/selective-version-resolutions\\n\\nDuplicate \\\"graphql\\\" modules cannot be used at the same time since different\\nversions may have different capabilities and behavior. The data from one\\nversion used in the function from another could produce confusing and\\nspurious results.\"));\n }\n }\n\n return false;\n};\n","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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nimport { SYMBOL_TO_STRING_TAG } from \"../polyfills/symbols.mjs\";\nimport inspect from \"../jsutils/inspect.mjs\";\nimport devAssert from \"../jsutils/devAssert.mjs\";\nimport instanceOf from \"../jsutils/instanceOf.mjs\";\n\n/**\n * A representation of source input to GraphQL. The `name` and `locationOffset` parameters are\n * optional, but they are useful for clients who store GraphQL documents in source files.\n * For example, if the GraphQL input starts at line 40 in a file named `Foo.graphql`, it might\n * be useful for `name` to be `\"Foo.graphql\"` and location to be `{ line: 40, column: 1 }`.\n * The `line` and `column` properties in `locationOffset` are 1-indexed.\n */\nexport var Source = /*#__PURE__*/function () {\n function Source(body) {\n var name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'GraphQL request';\n var locationOffset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {\n line: 1,\n column: 1\n };\n typeof body === 'string' || devAssert(0, \"Body must be a string. Received: \".concat(inspect(body), \".\"));\n this.body = body;\n this.name = name;\n this.locationOffset = locationOffset;\n this.locationOffset.line > 0 || devAssert(0, 'line in locationOffset is 1-indexed and must be positive.');\n this.locationOffset.column > 0 || devAssert(0, 'column in locationOffset is 1-indexed and must be positive.');\n } // $FlowFixMe[unsupported-syntax] Flow doesn't support computed properties yet\n\n\n _createClass(Source, [{\n key: SYMBOL_TO_STRING_TAG,\n get: function get() {\n return 'Source';\n }\n }]);\n\n return Source;\n}();\n/**\n * Test if the given value is a Source object.\n *\n * @internal\n */\n\n// eslint-disable-next-line no-redeclare\nexport function isSource(source) {\n return instanceOf(source, Source);\n}\n","/**\n * The set of allowed directive location values.\n */\nexport var DirectiveLocation = Object.freeze({\n // Request Definitions\n QUERY: 'QUERY',\n MUTATION: 'MUTATION',\n SUBSCRIPTION: 'SUBSCRIPTION',\n FIELD: 'FIELD',\n FRAGMENT_DEFINITION: 'FRAGMENT_DEFINITION',\n FRAGMENT_SPREAD: 'FRAGMENT_SPREAD',\n INLINE_FRAGMENT: 'INLINE_FRAGMENT',\n VARIABLE_DEFINITION: 'VARIABLE_DEFINITION',\n // Type System Definitions\n SCHEMA: 'SCHEMA',\n SCALAR: 'SCALAR',\n OBJECT: 'OBJECT',\n FIELD_DEFINITION: 'FIELD_DEFINITION',\n ARGUMENT_DEFINITION: 'ARGUMENT_DEFINITION',\n INTERFACE: 'INTERFACE',\n UNION: 'UNION',\n ENUM: 'ENUM',\n ENUM_VALUE: 'ENUM_VALUE',\n INPUT_OBJECT: 'INPUT_OBJECT',\n INPUT_FIELD_DEFINITION: 'INPUT_FIELD_DEFINITION'\n});\n/**\n * The enum type representing the directive location values.\n */\n","/**\n * Produces the value of a block string from its parsed raw value, similar to\n * CoffeeScript's block string, Python's docstring trim or Ruby's strip_heredoc.\n *\n * This implements the GraphQL spec's BlockStringValue() static algorithm.\n *\n * @internal\n */\nexport function dedentBlockStringValue(rawString) {\n // Expand a block string's raw value into independent lines.\n var lines = rawString.split(/\\r\\n|[\\n\\r]/g); // Remove common indentation from all lines but first.\n\n var commonIndent = getBlockStringIndentation(rawString);\n\n if (commonIndent !== 0) {\n for (var i = 1; i < lines.length; i++) {\n lines[i] = lines[i].slice(commonIndent);\n }\n } // Remove leading and trailing blank lines.\n\n\n var startLine = 0;\n\n while (startLine < lines.length && isBlank(lines[startLine])) {\n ++startLine;\n }\n\n var endLine = lines.length;\n\n while (endLine > startLine && isBlank(lines[endLine - 1])) {\n --endLine;\n } // Return a string of the lines joined with U+000A.\n\n\n return lines.slice(startLine, endLine).join('\\n');\n}\n\nfunction isBlank(str) {\n for (var i = 0; i < str.length; ++i) {\n if (str[i] !== ' ' && str[i] !== '\\t') {\n return false;\n }\n }\n\n return true;\n}\n/**\n * @internal\n */\n\n\nexport function getBlockStringIndentation(value) {\n var _commonIndent;\n\n var isFirstLine = true;\n var isEmptyLine = true;\n var indent = 0;\n var commonIndent = null;\n\n for (var i = 0; i < value.length; ++i) {\n switch (value.charCodeAt(i)) {\n case 13:\n // \\r\n if (value.charCodeAt(i + 1) === 10) {\n ++i; // skip \\r\\n as one symbol\n }\n\n // falls through\n\n case 10:\n // \\n\n isFirstLine = false;\n isEmptyLine = true;\n indent = 0;\n break;\n\n case 9: // \\t\n\n case 32:\n // \n ++indent;\n break;\n\n default:\n if (isEmptyLine && !isFirstLine && (commonIndent === null || indent < commonIndent)) {\n commonIndent = indent;\n }\n\n isEmptyLine = false;\n }\n }\n\n return (_commonIndent = commonIndent) !== null && _commonIndent !== void 0 ? _commonIndent : 0;\n}\n/**\n * Print a block string in the indented block form by adding a leading and\n * trailing blank line. However, if a block string starts with whitespace and is\n * a single-line, adding a leading blank line would strip that whitespace.\n *\n * @internal\n */\n\nexport function printBlockString(value) {\n var indentation = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var preferMultipleLines = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var isSingleLine = value.indexOf('\\n') === -1;\n var hasLeadingSpace = value[0] === ' ' || value[0] === '\\t';\n var hasTrailingQuote = value[value.length - 1] === '\"';\n var hasTrailingSlash = value[value.length - 1] === '\\\\';\n var printAsMultipleLines = !isSingleLine || hasTrailingQuote || hasTrailingSlash || preferMultipleLines;\n var result = ''; // Format a multi-line block quote to account for leading space.\n\n if (printAsMultipleLines && !(isSingleLine && hasLeadingSpace)) {\n result += '\\n' + indentation;\n }\n\n result += indentation ? value.replace(/\\n/g, '\\n' + indentation) : value;\n\n if (printAsMultipleLines) {\n result += '\\n';\n }\n\n return '\"\"\"' + result.replace(/\"\"\"/g, '\\\\\"\"\"') + '\"\"\"';\n}\n","import { syntaxError } from \"../error/syntaxError.mjs\";\nimport { Token } from \"./ast.mjs\";\nimport { TokenKind } from \"./tokenKind.mjs\";\nimport { dedentBlockStringValue } from \"./blockString.mjs\";\n/**\n * Given a Source object, creates a Lexer for that source.\n * A Lexer is a stateful stream generator in that every time\n * it is advanced, it returns the next token in the Source. Assuming the\n * source lexes, the final Token emitted by the lexer will be of kind\n * EOF, after which the lexer will repeatedly return the same EOF token\n * whenever called.\n */\n\nexport var Lexer = /*#__PURE__*/function () {\n /**\n * The previously focused non-ignored token.\n */\n\n /**\n * The currently focused non-ignored token.\n */\n\n /**\n * The (1-indexed) line containing the current token.\n */\n\n /**\n * The character offset at which the current line begins.\n */\n function Lexer(source) {\n var startOfFileToken = new Token(TokenKind.SOF, 0, 0, 0, 0, null);\n this.source = source;\n this.lastToken = startOfFileToken;\n this.token = startOfFileToken;\n this.line = 1;\n this.lineStart = 0;\n }\n /**\n * Advances the token stream to the next non-ignored token.\n */\n\n\n var _proto = Lexer.prototype;\n\n _proto.advance = function advance() {\n this.lastToken = this.token;\n var token = this.token = this.lookahead();\n return token;\n }\n /**\n * Looks ahead and returns the next non-ignored token, but does not change\n * the state of Lexer.\n */\n ;\n\n _proto.lookahead = function lookahead() {\n var token = this.token;\n\n if (token.kind !== TokenKind.EOF) {\n do {\n var _token$next;\n\n // Note: next is only mutable during parsing, so we cast to allow this.\n token = (_token$next = token.next) !== null && _token$next !== void 0 ? _token$next : token.next = readToken(this, token);\n } while (token.kind === TokenKind.COMMENT);\n }\n\n return token;\n };\n\n return Lexer;\n}();\n/**\n * @internal\n */\n\nexport function isPunctuatorTokenKind(kind) {\n return kind === TokenKind.BANG || kind === TokenKind.DOLLAR || kind === TokenKind.AMP || kind === TokenKind.PAREN_L || kind === TokenKind.PAREN_R || kind === TokenKind.SPREAD || kind === TokenKind.COLON || kind === TokenKind.EQUALS || kind === TokenKind.AT || kind === TokenKind.BRACKET_L || kind === TokenKind.BRACKET_R || kind === TokenKind.BRACE_L || kind === TokenKind.PIPE || kind === TokenKind.BRACE_R;\n}\n\nfunction printCharCode(code) {\n return (// NaN/undefined represents access beyond the end of the file.\n isNaN(code) ? TokenKind.EOF : // Trust JSON for ASCII.\n code < 0x007f ? JSON.stringify(String.fromCharCode(code)) : // Otherwise print the escaped form.\n \"\\\"\\\\u\".concat(('00' + code.toString(16).toUpperCase()).slice(-4), \"\\\"\")\n );\n}\n/**\n * Gets the next token from the source starting at the given position.\n *\n * This skips over whitespace until it finds the next lexable token, then lexes\n * punctuators immediately or calls the appropriate helper function for more\n * complicated tokens.\n */\n\n\nfunction readToken(lexer, prev) {\n var source = lexer.source;\n var body = source.body;\n var bodyLength = body.length;\n var pos = prev.end;\n\n while (pos < bodyLength) {\n var code = body.charCodeAt(pos);\n var _line = lexer.line;\n\n var _col = 1 + pos - lexer.lineStart; // SourceCharacter\n\n\n switch (code) {\n case 0xfeff: // \n\n case 9: // \\t\n\n case 32: // \n\n case 44:\n // ,\n ++pos;\n continue;\n\n case 10:\n // \\n\n ++pos;\n ++lexer.line;\n lexer.lineStart = pos;\n continue;\n\n case 13:\n // \\r\n if (body.charCodeAt(pos + 1) === 10) {\n pos += 2;\n } else {\n ++pos;\n }\n\n ++lexer.line;\n lexer.lineStart = pos;\n continue;\n\n case 33:\n // !\n return new Token(TokenKind.BANG, pos, pos + 1, _line, _col, prev);\n\n case 35:\n // #\n return readComment(source, pos, _line, _col, prev);\n\n case 36:\n // $\n return new Token(TokenKind.DOLLAR, pos, pos + 1, _line, _col, prev);\n\n case 38:\n // &\n return new Token(TokenKind.AMP, pos, pos + 1, _line, _col, prev);\n\n case 40:\n // (\n return new Token(TokenKind.PAREN_L, pos, pos + 1, _line, _col, prev);\n\n case 41:\n // )\n return new Token(TokenKind.PAREN_R, pos, pos + 1, _line, _col, prev);\n\n case 46:\n // .\n if (body.charCodeAt(pos + 1) === 46 && body.charCodeAt(pos + 2) === 46) {\n return new Token(TokenKind.SPREAD, pos, pos + 3, _line, _col, prev);\n }\n\n break;\n\n case 58:\n // :\n return new Token(TokenKind.COLON, pos, pos + 1, _line, _col, prev);\n\n case 61:\n // =\n return new Token(TokenKind.EQUALS, pos, pos + 1, _line, _col, prev);\n\n case 64:\n // @\n return new Token(TokenKind.AT, pos, pos + 1, _line, _col, prev);\n\n case 91:\n // [\n return new Token(TokenKind.BRACKET_L, pos, pos + 1, _line, _col, prev);\n\n case 93:\n // ]\n return new Token(TokenKind.BRACKET_R, pos, pos + 1, _line, _col, prev);\n\n case 123:\n // {\n return new Token(TokenKind.BRACE_L, pos, pos + 1, _line, _col, prev);\n\n case 124:\n // |\n return new Token(TokenKind.PIPE, pos, pos + 1, _line, _col, prev);\n\n case 125:\n // }\n return new Token(TokenKind.BRACE_R, pos, pos + 1, _line, _col, prev);\n\n case 34:\n // \"\n if (body.charCodeAt(pos + 1) === 34 && body.charCodeAt(pos + 2) === 34) {\n return readBlockString(source, pos, _line, _col, prev, lexer);\n }\n\n return readString(source, pos, _line, _col, prev);\n\n case 45: // -\n\n case 48: // 0\n\n case 49: // 1\n\n case 50: // 2\n\n case 51: // 3\n\n case 52: // 4\n\n case 53: // 5\n\n case 54: // 6\n\n case 55: // 7\n\n case 56: // 8\n\n case 57:\n // 9\n return readNumber(source, pos, code, _line, _col, prev);\n\n case 65: // A\n\n case 66: // B\n\n case 67: // C\n\n case 68: // D\n\n case 69: // E\n\n case 70: // F\n\n case 71: // G\n\n case 72: // H\n\n case 73: // I\n\n case 74: // J\n\n case 75: // K\n\n case 76: // L\n\n case 77: // M\n\n case 78: // N\n\n case 79: // O\n\n case 80: // P\n\n case 81: // Q\n\n case 82: // R\n\n case 83: // S\n\n case 84: // T\n\n case 85: // U\n\n case 86: // V\n\n case 87: // W\n\n case 88: // X\n\n case 89: // Y\n\n case 90: // Z\n\n case 95: // _\n\n case 97: // a\n\n case 98: // b\n\n case 99: // c\n\n case 100: // d\n\n case 101: // e\n\n case 102: // f\n\n case 103: // g\n\n case 104: // h\n\n case 105: // i\n\n case 106: // j\n\n case 107: // k\n\n case 108: // l\n\n case 109: // m\n\n case 110: // n\n\n case 111: // o\n\n case 112: // p\n\n case 113: // q\n\n case 114: // r\n\n case 115: // s\n\n case 116: // t\n\n case 117: // u\n\n case 118: // v\n\n case 119: // w\n\n case 120: // x\n\n case 121: // y\n\n case 122:\n // z\n return readName(source, pos, _line, _col, prev);\n }\n\n throw syntaxError(source, pos, unexpectedCharacterMessage(code));\n }\n\n var line = lexer.line;\n var col = 1 + pos - lexer.lineStart;\n return new Token(TokenKind.EOF, bodyLength, bodyLength, line, col, prev);\n}\n/**\n * Report a message that an unexpected character was encountered.\n */\n\n\nfunction unexpectedCharacterMessage(code) {\n if (code < 0x0020 && code !== 0x0009 && code !== 0x000a && code !== 0x000d) {\n return \"Cannot contain the invalid character \".concat(printCharCode(code), \".\");\n }\n\n if (code === 39) {\n // '\n return 'Unexpected single quote character (\\'), did you mean to use a double quote (\")?';\n }\n\n return \"Cannot parse the unexpected character \".concat(printCharCode(code), \".\");\n}\n/**\n * Reads a comment token from the source file.\n *\n * #[\\u0009\\u0020-\\uFFFF]*\n */\n\n\nfunction readComment(source, start, line, col, prev) {\n var body = source.body;\n var code;\n var position = start;\n\n do {\n code = body.charCodeAt(++position);\n } while (!isNaN(code) && ( // SourceCharacter but not LineTerminator\n code > 0x001f || code === 0x0009));\n\n return new Token(TokenKind.COMMENT, start, position, line, col, prev, body.slice(start + 1, position));\n}\n/**\n * Reads a number token from the source file, either a float\n * or an int depending on whether a decimal point appears.\n *\n * Int: -?(0|[1-9][0-9]*)\n * Float: -?(0|[1-9][0-9]*)(\\.[0-9]+)?((E|e)(+|-)?[0-9]+)?\n */\n\n\nfunction readNumber(source, start, firstCode, line, col, prev) {\n var body = source.body;\n var code = firstCode;\n var position = start;\n var isFloat = false;\n\n if (code === 45) {\n // -\n code = body.charCodeAt(++position);\n }\n\n if (code === 48) {\n // 0\n code = body.charCodeAt(++position);\n\n if (code >= 48 && code <= 57) {\n throw syntaxError(source, position, \"Invalid number, unexpected digit after 0: \".concat(printCharCode(code), \".\"));\n }\n } else {\n position = readDigits(source, position, code);\n code = body.charCodeAt(position);\n }\n\n if (code === 46) {\n // .\n isFloat = true;\n code = body.charCodeAt(++position);\n position = readDigits(source, position, code);\n code = body.charCodeAt(position);\n }\n\n if (code === 69 || code === 101) {\n // E e\n isFloat = true;\n code = body.charCodeAt(++position);\n\n if (code === 43 || code === 45) {\n // + -\n code = body.charCodeAt(++position);\n }\n\n position = readDigits(source, position, code);\n code = body.charCodeAt(position);\n } // Numbers cannot be followed by . or NameStart\n\n\n if (code === 46 || isNameStart(code)) {\n throw syntaxError(source, position, \"Invalid number, expected digit but got: \".concat(printCharCode(code), \".\"));\n }\n\n return new Token(isFloat ? TokenKind.FLOAT : TokenKind.INT, start, position, line, col, prev, body.slice(start, position));\n}\n/**\n * Returns the new position in the source after reading digits.\n */\n\n\nfunction readDigits(source, start, firstCode) {\n var body = source.body;\n var position = start;\n var code = firstCode;\n\n if (code >= 48 && code <= 57) {\n // 0 - 9\n do {\n code = body.charCodeAt(++position);\n } while (code >= 48 && code <= 57); // 0 - 9\n\n\n return position;\n }\n\n throw syntaxError(source, position, \"Invalid number, expected digit but got: \".concat(printCharCode(code), \".\"));\n}\n/**\n * Reads a string token from the source file.\n *\n * \"([^\"\\\\\\u000A\\u000D]|(\\\\(u[0-9a-fA-F]{4}|[\"\\\\/bfnrt])))*\"\n */\n\n\nfunction readString(source, start, line, col, prev) {\n var body = source.body;\n var position = start + 1;\n var chunkStart = position;\n var code = 0;\n var value = '';\n\n while (position < body.length && !isNaN(code = body.charCodeAt(position)) && // not LineTerminator\n code !== 0x000a && code !== 0x000d) {\n // Closing Quote (\")\n if (code === 34) {\n value += body.slice(chunkStart, position);\n return new Token(TokenKind.STRING, start, position + 1, line, col, prev, value);\n } // SourceCharacter\n\n\n if (code < 0x0020 && code !== 0x0009) {\n throw syntaxError(source, position, \"Invalid character within String: \".concat(printCharCode(code), \".\"));\n }\n\n ++position;\n\n if (code === 92) {\n // \\\n value += body.slice(chunkStart, position - 1);\n code = body.charCodeAt(position);\n\n switch (code) {\n case 34:\n value += '\"';\n break;\n\n case 47:\n value += '/';\n break;\n\n case 92:\n value += '\\\\';\n break;\n\n case 98:\n value += '\\b';\n break;\n\n case 102:\n value += '\\f';\n break;\n\n case 110:\n value += '\\n';\n break;\n\n case 114:\n value += '\\r';\n break;\n\n case 116:\n value += '\\t';\n break;\n\n case 117:\n {\n // uXXXX\n var charCode = uniCharCode(body.charCodeAt(position + 1), body.charCodeAt(position + 2), body.charCodeAt(position + 3), body.charCodeAt(position + 4));\n\n if (charCode < 0) {\n var invalidSequence = body.slice(position + 1, position + 5);\n throw syntaxError(source, position, \"Invalid character escape sequence: \\\\u\".concat(invalidSequence, \".\"));\n }\n\n value += String.fromCharCode(charCode);\n position += 4;\n break;\n }\n\n default:\n throw syntaxError(source, position, \"Invalid character escape sequence: \\\\\".concat(String.fromCharCode(code), \".\"));\n }\n\n ++position;\n chunkStart = position;\n }\n }\n\n throw syntaxError(source, position, 'Unterminated string.');\n}\n/**\n * Reads a block string token from the source file.\n *\n * \"\"\"(\"?\"?(\\\\\"\"\"|\\\\(?!=\"\"\")|[^\"\\\\]))*\"\"\"\n */\n\n\nfunction readBlockString(source, start, line, col, prev, lexer) {\n var body = source.body;\n var position = start + 3;\n var chunkStart = position;\n var code = 0;\n var rawValue = '';\n\n while (position < body.length && !isNaN(code = body.charCodeAt(position))) {\n // Closing Triple-Quote (\"\"\")\n if (code === 34 && body.charCodeAt(position + 1) === 34 && body.charCodeAt(position + 2) === 34) {\n rawValue += body.slice(chunkStart, position);\n return new Token(TokenKind.BLOCK_STRING, start, position + 3, line, col, prev, dedentBlockStringValue(rawValue));\n } // SourceCharacter\n\n\n if (code < 0x0020 && code !== 0x0009 && code !== 0x000a && code !== 0x000d) {\n throw syntaxError(source, position, \"Invalid character within String: \".concat(printCharCode(code), \".\"));\n }\n\n if (code === 10) {\n // new line\n ++position;\n ++lexer.line;\n lexer.lineStart = position;\n } else if (code === 13) {\n // carriage return\n if (body.charCodeAt(position + 1) === 10) {\n position += 2;\n } else {\n ++position;\n }\n\n ++lexer.line;\n lexer.lineStart = position;\n } else if ( // Escape Triple-Quote (\\\"\"\")\n code === 92 && body.charCodeAt(position + 1) === 34 && body.charCodeAt(position + 2) === 34 && body.charCodeAt(position + 3) === 34) {\n rawValue += body.slice(chunkStart, position) + '\"\"\"';\n position += 4;\n chunkStart = position;\n } else {\n ++position;\n }\n }\n\n throw syntaxError(source, position, 'Unterminated string.');\n}\n/**\n * Converts four hexadecimal chars to the integer that the\n * string represents. For example, uniCharCode('0','0','0','f')\n * will return 15, and uniCharCode('0','0','f','f') returns 255.\n *\n * Returns a negative number on error, if a char was invalid.\n *\n * This is implemented by noting that char2hex() returns -1 on error,\n * which means the result of ORing the char2hex() will also be negative.\n */\n\n\nfunction uniCharCode(a, b, c, d) {\n return char2hex(a) << 12 | char2hex(b) << 8 | char2hex(c) << 4 | char2hex(d);\n}\n/**\n * Converts a hex character to its integer value.\n * '0' becomes 0, '9' becomes 9\n * 'A' becomes 10, 'F' becomes 15\n * 'a' becomes 10, 'f' becomes 15\n *\n * Returns -1 on error.\n */\n\n\nfunction char2hex(a) {\n return a >= 48 && a <= 57 ? a - 48 // 0-9\n : a >= 65 && a <= 70 ? a - 55 // A-F\n : a >= 97 && a <= 102 ? a - 87 // a-f\n : -1;\n}\n/**\n * Reads an alphanumeric + underscore name from the source.\n *\n * [_A-Za-z][_0-9A-Za-z]*\n */\n\n\nfunction readName(source, start, line, col, prev) {\n var body = source.body;\n var bodyLength = body.length;\n var position = start + 1;\n var code = 0;\n\n while (position !== bodyLength && !isNaN(code = body.charCodeAt(position)) && (code === 95 || // _\n code >= 48 && code <= 57 || // 0-9\n code >= 65 && code <= 90 || // A-Z\n code >= 97 && code <= 122) // a-z\n ) {\n ++position;\n }\n\n return new Token(TokenKind.NAME, start, position, line, col, prev, body.slice(start, position));\n} // _ A-Z a-z\n\n\nfunction isNameStart(code) {\n return code === 95 || code >= 65 && code <= 90 || code >= 97 && code <= 122;\n}\n","import { syntaxError } from \"../error/syntaxError.mjs\";\nimport { Kind } from \"./kinds.mjs\";\nimport { Location } from \"./ast.mjs\";\nimport { TokenKind } from \"./tokenKind.mjs\";\nimport { Source, isSource } from \"./source.mjs\";\nimport { DirectiveLocation } from \"./directiveLocation.mjs\";\nimport { Lexer, isPunctuatorTokenKind } from \"./lexer.mjs\";\n/**\n * Configuration options to control parser behavior\n */\n\n/**\n * Given a GraphQL source, parses it into a Document.\n * Throws GraphQLError if a syntax error is encountered.\n */\nexport function parse(source, options) {\n var parser = new Parser(source, options);\n return parser.parseDocument();\n}\n/**\n * Given a string containing a GraphQL value (ex. `[42]`), parse the AST for\n * that value.\n * Throws GraphQLError if a syntax error is encountered.\n *\n * This is useful within tools that operate upon GraphQL Values directly and\n * in isolation of complete GraphQL documents.\n *\n * Consider providing the results to the utility function: valueFromAST().\n */\n\nexport function parseValue(source, options) {\n var parser = new Parser(source, options);\n parser.expectToken(TokenKind.SOF);\n var value = parser.parseValueLiteral(false);\n parser.expectToken(TokenKind.EOF);\n return value;\n}\n/**\n * Given a string containing a GraphQL Type (ex. `[Int!]`), parse the AST for\n * that type.\n * Throws GraphQLError if a syntax error is encountered.\n *\n * This is useful within tools that operate upon GraphQL Types directly and\n * in isolation of complete GraphQL documents.\n *\n * Consider providing the results to the utility function: typeFromAST().\n */\n\nexport function parseType(source, options) {\n var parser = new Parser(source, options);\n parser.expectToken(TokenKind.SOF);\n var type = parser.parseTypeReference();\n parser.expectToken(TokenKind.EOF);\n return type;\n}\n/**\n * This class is exported only to assist people in implementing their own parsers\n * without duplicating too much code and should be used only as last resort for cases\n * such as experimental syntax or if certain features could not be contributed upstream.\n *\n * It is still part of the internal API and is versioned, so any changes to it are never\n * considered breaking changes. If you still need to support multiple versions of the\n * library, please use the `versionInfo` variable for version detection.\n *\n * @internal\n */\n\nexport var Parser = /*#__PURE__*/function () {\n function Parser(source, options) {\n var sourceObj = isSource(source) ? source : new Source(source);\n this._lexer = new Lexer(sourceObj);\n this._options = options;\n }\n /**\n * Converts a name lex token into a name parse node.\n */\n\n\n var _proto = Parser.prototype;\n\n _proto.parseName = function parseName() {\n var token = this.expectToken(TokenKind.NAME);\n return {\n kind: Kind.NAME,\n value: token.value,\n loc: this.loc(token)\n };\n } // Implements the parsing rules in the Document section.\n\n /**\n * Document : Definition+\n */\n ;\n\n _proto.parseDocument = function parseDocument() {\n var start = this._lexer.token;\n return {\n kind: Kind.DOCUMENT,\n definitions: this.many(TokenKind.SOF, this.parseDefinition, TokenKind.EOF),\n loc: this.loc(start)\n };\n }\n /**\n * Definition :\n * - ExecutableDefinition\n * - TypeSystemDefinition\n * - TypeSystemExtension\n *\n * ExecutableDefinition :\n * - OperationDefinition\n * - FragmentDefinition\n */\n ;\n\n _proto.parseDefinition = function parseDefinition() {\n if (this.peek(TokenKind.NAME)) {\n switch (this._lexer.token.value) {\n case 'query':\n case 'mutation':\n case 'subscription':\n return this.parseOperationDefinition();\n\n case 'fragment':\n return this.parseFragmentDefinition();\n\n case 'schema':\n case 'scalar':\n case 'type':\n case 'interface':\n case 'union':\n case 'enum':\n case 'input':\n case 'directive':\n return this.parseTypeSystemDefinition();\n\n case 'extend':\n return this.parseTypeSystemExtension();\n }\n } else if (this.peek(TokenKind.BRACE_L)) {\n return this.parseOperationDefinition();\n } else if (this.peekDescription()) {\n return this.parseTypeSystemDefinition();\n }\n\n throw this.unexpected();\n } // Implements the parsing rules in the Operations section.\n\n /**\n * OperationDefinition :\n * - SelectionSet\n * - OperationType Name? VariableDefinitions? Directives? SelectionSet\n */\n ;\n\n _proto.parseOperationDefinition = function parseOperationDefinition() {\n var start = this._lexer.token;\n\n if (this.peek(TokenKind.BRACE_L)) {\n return {\n kind: Kind.OPERATION_DEFINITION,\n operation: 'query',\n name: undefined,\n variableDefinitions: [],\n directives: [],\n selectionSet: this.parseSelectionSet(),\n loc: this.loc(start)\n };\n }\n\n var operation = this.parseOperationType();\n var name;\n\n if (this.peek(TokenKind.NAME)) {\n name = this.parseName();\n }\n\n return {\n kind: Kind.OPERATION_DEFINITION,\n operation: operation,\n name: name,\n variableDefinitions: this.parseVariableDefinitions(),\n directives: this.parseDirectives(false),\n selectionSet: this.parseSelectionSet(),\n loc: this.loc(start)\n };\n }\n /**\n * OperationType : one of query mutation subscription\n */\n ;\n\n _proto.parseOperationType = function parseOperationType() {\n var operationToken = this.expectToken(TokenKind.NAME);\n\n switch (operationToken.value) {\n case 'query':\n return 'query';\n\n case 'mutation':\n return 'mutation';\n\n case 'subscription':\n return 'subscription';\n }\n\n throw this.unexpected(operationToken);\n }\n /**\n * VariableDefinitions : ( VariableDefinition+ )\n */\n ;\n\n _proto.parseVariableDefinitions = function parseVariableDefinitions() {\n return this.optionalMany(TokenKind.PAREN_L, this.parseVariableDefinition, TokenKind.PAREN_R);\n }\n /**\n * VariableDefinition : Variable : Type DefaultValue? Directives[Const]?\n */\n ;\n\n _proto.parseVariableDefinition = function parseVariableDefinition() {\n var start = this._lexer.token;\n return {\n kind: Kind.VARIABLE_DEFINITION,\n variable: this.parseVariable(),\n type: (this.expectToken(TokenKind.COLON), this.parseTypeReference()),\n defaultValue: this.expectOptionalToken(TokenKind.EQUALS) ? this.parseValueLiteral(true) : undefined,\n directives: this.parseDirectives(true),\n loc: this.loc(start)\n };\n }\n /**\n * Variable : $ Name\n */\n ;\n\n _proto.parseVariable = function parseVariable() {\n var start = this._lexer.token;\n this.expectToken(TokenKind.DOLLAR);\n return {\n kind: Kind.VARIABLE,\n name: this.parseName(),\n loc: this.loc(start)\n };\n }\n /**\n * SelectionSet : { Selection+ }\n */\n ;\n\n _proto.parseSelectionSet = function parseSelectionSet() {\n var start = this._lexer.token;\n return {\n kind: Kind.SELECTION_SET,\n selections: this.many(TokenKind.BRACE_L, this.parseSelection, TokenKind.BRACE_R),\n loc: this.loc(start)\n };\n }\n /**\n * Selection :\n * - Field\n * - FragmentSpread\n * - InlineFragment\n */\n ;\n\n _proto.parseSelection = function parseSelection() {\n return this.peek(TokenKind.SPREAD) ? this.parseFragment() : this.parseField();\n }\n /**\n * Field : Alias? Name Arguments? Directives? SelectionSet?\n *\n * Alias : Name :\n */\n ;\n\n _proto.parseField = function parseField() {\n var start = this._lexer.token;\n var nameOrAlias = this.parseName();\n var alias;\n var name;\n\n if (this.expectOptionalToken(TokenKind.COLON)) {\n alias = nameOrAlias;\n name = this.parseName();\n } else {\n name = nameOrAlias;\n }\n\n return {\n kind: Kind.FIELD,\n alias: alias,\n name: name,\n arguments: this.parseArguments(false),\n directives: this.parseDirectives(false),\n selectionSet: this.peek(TokenKind.BRACE_L) ? this.parseSelectionSet() : undefined,\n loc: this.loc(start)\n };\n }\n /**\n * Arguments[Const] : ( Argument[?Const]+ )\n */\n ;\n\n _proto.parseArguments = function parseArguments(isConst) {\n var item = isConst ? this.parseConstArgument : this.parseArgument;\n return this.optionalMany(TokenKind.PAREN_L, item, TokenKind.PAREN_R);\n }\n /**\n * Argument[Const] : Name : Value[?Const]\n */\n ;\n\n _proto.parseArgument = function parseArgument() {\n var start = this._lexer.token;\n var name = this.parseName();\n this.expectToken(TokenKind.COLON);\n return {\n kind: Kind.ARGUMENT,\n name: name,\n value: this.parseValueLiteral(false),\n loc: this.loc(start)\n };\n };\n\n _proto.parseConstArgument = function parseConstArgument() {\n var start = this._lexer.token;\n return {\n kind: Kind.ARGUMENT,\n name: this.parseName(),\n value: (this.expectToken(TokenKind.COLON), this.parseValueLiteral(true)),\n loc: this.loc(start)\n };\n } // Implements the parsing rules in the Fragments section.\n\n /**\n * Corresponds to both FragmentSpread and InlineFragment in the spec.\n *\n * FragmentSpread : ... FragmentName Directives?\n *\n * InlineFragment : ... TypeCondition? Directives? SelectionSet\n */\n ;\n\n _proto.parseFragment = function parseFragment() {\n var start = this._lexer.token;\n this.expectToken(TokenKind.SPREAD);\n var hasTypeCondition = this.expectOptionalKeyword('on');\n\n if (!hasTypeCondition && this.peek(TokenKind.NAME)) {\n return {\n kind: Kind.FRAGMENT_SPREAD,\n name: this.parseFragmentName(),\n directives: this.parseDirectives(false),\n loc: this.loc(start)\n };\n }\n\n return {\n kind: Kind.INLINE_FRAGMENT,\n typeCondition: hasTypeCondition ? this.parseNamedType() : undefined,\n directives: this.parseDirectives(false),\n selectionSet: this.parseSelectionSet(),\n loc: this.loc(start)\n };\n }\n /**\n * FragmentDefinition :\n * - fragment FragmentName on TypeCondition Directives? SelectionSet\n *\n * TypeCondition : NamedType\n */\n ;\n\n _proto.parseFragmentDefinition = function parseFragmentDefinition() {\n var _this$_options;\n\n var start = this._lexer.token;\n this.expectKeyword('fragment'); // Experimental support for defining variables within fragments changes\n // the grammar of FragmentDefinition:\n // - fragment FragmentName VariableDefinitions? on TypeCondition Directives? SelectionSet\n\n if (((_this$_options = this._options) === null || _this$_options === void 0 ? void 0 : _this$_options.experimentalFragmentVariables) === true) {\n return {\n kind: Kind.FRAGMENT_DEFINITION,\n name: this.parseFragmentName(),\n variableDefinitions: this.parseVariableDefinitions(),\n typeCondition: (this.expectKeyword('on'), this.parseNamedType()),\n directives: this.parseDirectives(false),\n selectionSet: this.parseSelectionSet(),\n loc: this.loc(start)\n };\n }\n\n return {\n kind: Kind.FRAGMENT_DEFINITION,\n name: this.parseFragmentName(),\n typeCondition: (this.expectKeyword('on'), this.parseNamedType()),\n directives: this.parseDirectives(false),\n selectionSet: this.parseSelectionSet(),\n loc: this.loc(start)\n };\n }\n /**\n * FragmentName : Name but not `on`\n */\n ;\n\n _proto.parseFragmentName = function parseFragmentName() {\n if (this._lexer.token.value === 'on') {\n throw this.unexpected();\n }\n\n return this.parseName();\n } // Implements the parsing rules in the Values section.\n\n /**\n * Value[Const] :\n * - [~Const] Variable\n * - IntValue\n * - FloatValue\n * - StringValue\n * - BooleanValue\n * - NullValue\n * - EnumValue\n * - ListValue[?Const]\n * - ObjectValue[?Const]\n *\n * BooleanValue : one of `true` `false`\n *\n * NullValue : `null`\n *\n * EnumValue : Name but not `true`, `false` or `null`\n */\n ;\n\n _proto.parseValueLiteral = function parseValueLiteral(isConst) {\n var token = this._lexer.token;\n\n switch (token.kind) {\n case TokenKind.BRACKET_L:\n return this.parseList(isConst);\n\n case TokenKind.BRACE_L:\n return this.parseObject(isConst);\n\n case TokenKind.INT:\n this._lexer.advance();\n\n return {\n kind: Kind.INT,\n value: token.value,\n loc: this.loc(token)\n };\n\n case TokenKind.FLOAT:\n this._lexer.advance();\n\n return {\n kind: Kind.FLOAT,\n value: token.value,\n loc: this.loc(token)\n };\n\n case TokenKind.STRING:\n case TokenKind.BLOCK_STRING:\n return this.parseStringLiteral();\n\n case TokenKind.NAME:\n this._lexer.advance();\n\n switch (token.value) {\n case 'true':\n return {\n kind: Kind.BOOLEAN,\n value: true,\n loc: this.loc(token)\n };\n\n case 'false':\n return {\n kind: Kind.BOOLEAN,\n value: false,\n loc: this.loc(token)\n };\n\n case 'null':\n return {\n kind: Kind.NULL,\n loc: this.loc(token)\n };\n\n default:\n return {\n kind: Kind.ENUM,\n value: token.value,\n loc: this.loc(token)\n };\n }\n\n case TokenKind.DOLLAR:\n if (!isConst) {\n return this.parseVariable();\n }\n\n break;\n }\n\n throw this.unexpected();\n };\n\n _proto.parseStringLiteral = function parseStringLiteral() {\n var token = this._lexer.token;\n\n this._lexer.advance();\n\n return {\n kind: Kind.STRING,\n value: token.value,\n block: token.kind === TokenKind.BLOCK_STRING,\n loc: this.loc(token)\n };\n }\n /**\n * ListValue[Const] :\n * - [ ]\n * - [ Value[?Const]+ ]\n */\n ;\n\n _proto.parseList = function parseList(isConst) {\n var _this = this;\n\n var start = this._lexer.token;\n\n var item = function item() {\n return _this.parseValueLiteral(isConst);\n };\n\n return {\n kind: Kind.LIST,\n values: this.any(TokenKind.BRACKET_L, item, TokenKind.BRACKET_R),\n loc: this.loc(start)\n };\n }\n /**\n * ObjectValue[Const] :\n * - { }\n * - { ObjectField[?Const]+ }\n */\n ;\n\n _proto.parseObject = function parseObject(isConst) {\n var _this2 = this;\n\n var start = this._lexer.token;\n\n var item = function item() {\n return _this2.parseObjectField(isConst);\n };\n\n return {\n kind: Kind.OBJECT,\n fields: this.any(TokenKind.BRACE_L, item, TokenKind.BRACE_R),\n loc: this.loc(start)\n };\n }\n /**\n * ObjectField[Const] : Name : Value[?Const]\n */\n ;\n\n _proto.parseObjectField = function parseObjectField(isConst) {\n var start = this._lexer.token;\n var name = this.parseName();\n this.expectToken(TokenKind.COLON);\n return {\n kind: Kind.OBJECT_FIELD,\n name: name,\n value: this.parseValueLiteral(isConst),\n loc: this.loc(start)\n };\n } // Implements the parsing rules in the Directives section.\n\n /**\n * Directives[Const] : Directive[?Const]+\n */\n ;\n\n _proto.parseDirectives = function parseDirectives(isConst) {\n var directives = [];\n\n while (this.peek(TokenKind.AT)) {\n directives.push(this.parseDirective(isConst));\n }\n\n return directives;\n }\n /**\n * Directive[Const] : @ Name Arguments[?Const]?\n */\n ;\n\n _proto.parseDirective = function parseDirective(isConst) {\n var start = this._lexer.token;\n this.expectToken(TokenKind.AT);\n return {\n kind: Kind.DIRECTIVE,\n name: this.parseName(),\n arguments: this.parseArguments(isConst),\n loc: this.loc(start)\n };\n } // Implements the parsing rules in the Types section.\n\n /**\n * Type :\n * - NamedType\n * - ListType\n * - NonNullType\n */\n ;\n\n _proto.parseTypeReference = function parseTypeReference() {\n var start = this._lexer.token;\n var type;\n\n if (this.expectOptionalToken(TokenKind.BRACKET_L)) {\n type = this.parseTypeReference();\n this.expectToken(TokenKind.BRACKET_R);\n type = {\n kind: Kind.LIST_TYPE,\n type: type,\n loc: this.loc(start)\n };\n } else {\n type = this.parseNamedType();\n }\n\n if (this.expectOptionalToken(TokenKind.BANG)) {\n return {\n kind: Kind.NON_NULL_TYPE,\n type: type,\n loc: this.loc(start)\n };\n }\n\n return type;\n }\n /**\n * NamedType : Name\n */\n ;\n\n _proto.parseNamedType = function parseNamedType() {\n var start = this._lexer.token;\n return {\n kind: Kind.NAMED_TYPE,\n name: this.parseName(),\n loc: this.loc(start)\n };\n } // Implements the parsing rules in the Type Definition section.\n\n /**\n * TypeSystemDefinition :\n * - SchemaDefinition\n * - TypeDefinition\n * - DirectiveDefinition\n *\n * TypeDefinition :\n * - ScalarTypeDefinition\n * - ObjectTypeDefinition\n * - InterfaceTypeDefinition\n * - UnionTypeDefinition\n * - EnumTypeDefinition\n * - InputObjectTypeDefinition\n */\n ;\n\n _proto.parseTypeSystemDefinition = function parseTypeSystemDefinition() {\n // Many definitions begin with a description and require a lookahead.\n var keywordToken = this.peekDescription() ? this._lexer.lookahead() : this._lexer.token;\n\n if (keywordToken.kind === TokenKind.NAME) {\n switch (keywordToken.value) {\n case 'schema':\n return this.parseSchemaDefinition();\n\n case 'scalar':\n return this.parseScalarTypeDefinition();\n\n case 'type':\n return this.parseObjectTypeDefinition();\n\n case 'interface':\n return this.parseInterfaceTypeDefinition();\n\n case 'union':\n return this.parseUnionTypeDefinition();\n\n case 'enum':\n return this.parseEnumTypeDefinition();\n\n case 'input':\n return this.parseInputObjectTypeDefinition();\n\n case 'directive':\n return this.parseDirectiveDefinition();\n }\n }\n\n throw this.unexpected(keywordToken);\n };\n\n _proto.peekDescription = function peekDescription() {\n return this.peek(TokenKind.STRING) || this.peek(TokenKind.BLOCK_STRING);\n }\n /**\n * Description : StringValue\n */\n ;\n\n _proto.parseDescription = function parseDescription() {\n if (this.peekDescription()) {\n return this.parseStringLiteral();\n }\n }\n /**\n * SchemaDefinition : Description? schema Directives[Const]? { OperationTypeDefinition+ }\n */\n ;\n\n _proto.parseSchemaDefinition = function parseSchemaDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('schema');\n var directives = this.parseDirectives(true);\n var operationTypes = this.many(TokenKind.BRACE_L, this.parseOperationTypeDefinition, TokenKind.BRACE_R);\n return {\n kind: Kind.SCHEMA_DEFINITION,\n description: description,\n directives: directives,\n operationTypes: operationTypes,\n loc: this.loc(start)\n };\n }\n /**\n * OperationTypeDefinition : OperationType : NamedType\n */\n ;\n\n _proto.parseOperationTypeDefinition = function parseOperationTypeDefinition() {\n var start = this._lexer.token;\n var operation = this.parseOperationType();\n this.expectToken(TokenKind.COLON);\n var type = this.parseNamedType();\n return {\n kind: Kind.OPERATION_TYPE_DEFINITION,\n operation: operation,\n type: type,\n loc: this.loc(start)\n };\n }\n /**\n * ScalarTypeDefinition : Description? scalar Name Directives[Const]?\n */\n ;\n\n _proto.parseScalarTypeDefinition = function parseScalarTypeDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('scalar');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n return {\n kind: Kind.SCALAR_TYPE_DEFINITION,\n description: description,\n name: name,\n directives: directives,\n loc: this.loc(start)\n };\n }\n /**\n * ObjectTypeDefinition :\n * Description?\n * type Name ImplementsInterfaces? Directives[Const]? FieldsDefinition?\n */\n ;\n\n _proto.parseObjectTypeDefinition = function parseObjectTypeDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('type');\n var name = this.parseName();\n var interfaces = this.parseImplementsInterfaces();\n var directives = this.parseDirectives(true);\n var fields = this.parseFieldsDefinition();\n return {\n kind: Kind.OBJECT_TYPE_DEFINITION,\n description: description,\n name: name,\n interfaces: interfaces,\n directives: directives,\n fields: fields,\n loc: this.loc(start)\n };\n }\n /**\n * ImplementsInterfaces :\n * - implements `&`? NamedType\n * - ImplementsInterfaces & NamedType\n */\n ;\n\n _proto.parseImplementsInterfaces = function parseImplementsInterfaces() {\n var _this$_options2;\n\n if (!this.expectOptionalKeyword('implements')) {\n return [];\n }\n\n if (((_this$_options2 = this._options) === null || _this$_options2 === void 0 ? void 0 : _this$_options2.allowLegacySDLImplementsInterfaces) === true) {\n var types = []; // Optional leading ampersand\n\n this.expectOptionalToken(TokenKind.AMP);\n\n do {\n types.push(this.parseNamedType());\n } while (this.expectOptionalToken(TokenKind.AMP) || this.peek(TokenKind.NAME));\n\n return types;\n }\n\n return this.delimitedMany(TokenKind.AMP, this.parseNamedType);\n }\n /**\n * FieldsDefinition : { FieldDefinition+ }\n */\n ;\n\n _proto.parseFieldsDefinition = function parseFieldsDefinition() {\n var _this$_options3;\n\n // Legacy support for the SDL?\n if (((_this$_options3 = this._options) === null || _this$_options3 === void 0 ? void 0 : _this$_options3.allowLegacySDLEmptyFields) === true && this.peek(TokenKind.BRACE_L) && this._lexer.lookahead().kind === TokenKind.BRACE_R) {\n this._lexer.advance();\n\n this._lexer.advance();\n\n return [];\n }\n\n return this.optionalMany(TokenKind.BRACE_L, this.parseFieldDefinition, TokenKind.BRACE_R);\n }\n /**\n * FieldDefinition :\n * - Description? Name ArgumentsDefinition? : Type Directives[Const]?\n */\n ;\n\n _proto.parseFieldDefinition = function parseFieldDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n var name = this.parseName();\n var args = this.parseArgumentDefs();\n this.expectToken(TokenKind.COLON);\n var type = this.parseTypeReference();\n var directives = this.parseDirectives(true);\n return {\n kind: Kind.FIELD_DEFINITION,\n description: description,\n name: name,\n arguments: args,\n type: type,\n directives: directives,\n loc: this.loc(start)\n };\n }\n /**\n * ArgumentsDefinition : ( InputValueDefinition+ )\n */\n ;\n\n _proto.parseArgumentDefs = function parseArgumentDefs() {\n return this.optionalMany(TokenKind.PAREN_L, this.parseInputValueDef, TokenKind.PAREN_R);\n }\n /**\n * InputValueDefinition :\n * - Description? Name : Type DefaultValue? Directives[Const]?\n */\n ;\n\n _proto.parseInputValueDef = function parseInputValueDef() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n var name = this.parseName();\n this.expectToken(TokenKind.COLON);\n var type = this.parseTypeReference();\n var defaultValue;\n\n if (this.expectOptionalToken(TokenKind.EQUALS)) {\n defaultValue = this.parseValueLiteral(true);\n }\n\n var directives = this.parseDirectives(true);\n return {\n kind: Kind.INPUT_VALUE_DEFINITION,\n description: description,\n name: name,\n type: type,\n defaultValue: defaultValue,\n directives: directives,\n loc: this.loc(start)\n };\n }\n /**\n * InterfaceTypeDefinition :\n * - Description? interface Name Directives[Const]? FieldsDefinition?\n */\n ;\n\n _proto.parseInterfaceTypeDefinition = function parseInterfaceTypeDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('interface');\n var name = this.parseName();\n var interfaces = this.parseImplementsInterfaces();\n var directives = this.parseDirectives(true);\n var fields = this.parseFieldsDefinition();\n return {\n kind: Kind.INTERFACE_TYPE_DEFINITION,\n description: description,\n name: name,\n interfaces: interfaces,\n directives: directives,\n fields: fields,\n loc: this.loc(start)\n };\n }\n /**\n * UnionTypeDefinition :\n * - Description? union Name Directives[Const]? UnionMemberTypes?\n */\n ;\n\n _proto.parseUnionTypeDefinition = function parseUnionTypeDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('union');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n var types = this.parseUnionMemberTypes();\n return {\n kind: Kind.UNION_TYPE_DEFINITION,\n description: description,\n name: name,\n directives: directives,\n types: types,\n loc: this.loc(start)\n };\n }\n /**\n * UnionMemberTypes :\n * - = `|`? NamedType\n * - UnionMemberTypes | NamedType\n */\n ;\n\n _proto.parseUnionMemberTypes = function parseUnionMemberTypes() {\n return this.expectOptionalToken(TokenKind.EQUALS) ? this.delimitedMany(TokenKind.PIPE, this.parseNamedType) : [];\n }\n /**\n * EnumTypeDefinition :\n * - Description? enum Name Directives[Const]? EnumValuesDefinition?\n */\n ;\n\n _proto.parseEnumTypeDefinition = function parseEnumTypeDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('enum');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n var values = this.parseEnumValuesDefinition();\n return {\n kind: Kind.ENUM_TYPE_DEFINITION,\n description: description,\n name: name,\n directives: directives,\n values: values,\n loc: this.loc(start)\n };\n }\n /**\n * EnumValuesDefinition : { EnumValueDefinition+ }\n */\n ;\n\n _proto.parseEnumValuesDefinition = function parseEnumValuesDefinition() {\n return this.optionalMany(TokenKind.BRACE_L, this.parseEnumValueDefinition, TokenKind.BRACE_R);\n }\n /**\n * EnumValueDefinition : Description? EnumValue Directives[Const]?\n *\n * EnumValue : Name\n */\n ;\n\n _proto.parseEnumValueDefinition = function parseEnumValueDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n return {\n kind: Kind.ENUM_VALUE_DEFINITION,\n description: description,\n name: name,\n directives: directives,\n loc: this.loc(start)\n };\n }\n /**\n * InputObjectTypeDefinition :\n * - Description? input Name Directives[Const]? InputFieldsDefinition?\n */\n ;\n\n _proto.parseInputObjectTypeDefinition = function parseInputObjectTypeDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('input');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n var fields = this.parseInputFieldsDefinition();\n return {\n kind: Kind.INPUT_OBJECT_TYPE_DEFINITION,\n description: description,\n name: name,\n directives: directives,\n fields: fields,\n loc: this.loc(start)\n };\n }\n /**\n * InputFieldsDefinition : { InputValueDefinition+ }\n */\n ;\n\n _proto.parseInputFieldsDefinition = function parseInputFieldsDefinition() {\n return this.optionalMany(TokenKind.BRACE_L, this.parseInputValueDef, TokenKind.BRACE_R);\n }\n /**\n * TypeSystemExtension :\n * - SchemaExtension\n * - TypeExtension\n *\n * TypeExtension :\n * - ScalarTypeExtension\n * - ObjectTypeExtension\n * - InterfaceTypeExtension\n * - UnionTypeExtension\n * - EnumTypeExtension\n * - InputObjectTypeDefinition\n */\n ;\n\n _proto.parseTypeSystemExtension = function parseTypeSystemExtension() {\n var keywordToken = this._lexer.lookahead();\n\n if (keywordToken.kind === TokenKind.NAME) {\n switch (keywordToken.value) {\n case 'schema':\n return this.parseSchemaExtension();\n\n case 'scalar':\n return this.parseScalarTypeExtension();\n\n case 'type':\n return this.parseObjectTypeExtension();\n\n case 'interface':\n return this.parseInterfaceTypeExtension();\n\n case 'union':\n return this.parseUnionTypeExtension();\n\n case 'enum':\n return this.parseEnumTypeExtension();\n\n case 'input':\n return this.parseInputObjectTypeExtension();\n }\n }\n\n throw this.unexpected(keywordToken);\n }\n /**\n * SchemaExtension :\n * - extend schema Directives[Const]? { OperationTypeDefinition+ }\n * - extend schema Directives[Const]\n */\n ;\n\n _proto.parseSchemaExtension = function parseSchemaExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('schema');\n var directives = this.parseDirectives(true);\n var operationTypes = this.optionalMany(TokenKind.BRACE_L, this.parseOperationTypeDefinition, TokenKind.BRACE_R);\n\n if (directives.length === 0 && operationTypes.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: Kind.SCHEMA_EXTENSION,\n directives: directives,\n operationTypes: operationTypes,\n loc: this.loc(start)\n };\n }\n /**\n * ScalarTypeExtension :\n * - extend scalar Name Directives[Const]\n */\n ;\n\n _proto.parseScalarTypeExtension = function parseScalarTypeExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('scalar');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n\n if (directives.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: Kind.SCALAR_TYPE_EXTENSION,\n name: name,\n directives: directives,\n loc: this.loc(start)\n };\n }\n /**\n * ObjectTypeExtension :\n * - extend type Name ImplementsInterfaces? Directives[Const]? FieldsDefinition\n * - extend type Name ImplementsInterfaces? Directives[Const]\n * - extend type Name ImplementsInterfaces\n */\n ;\n\n _proto.parseObjectTypeExtension = function parseObjectTypeExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('type');\n var name = this.parseName();\n var interfaces = this.parseImplementsInterfaces();\n var directives = this.parseDirectives(true);\n var fields = this.parseFieldsDefinition();\n\n if (interfaces.length === 0 && directives.length === 0 && fields.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: Kind.OBJECT_TYPE_EXTENSION,\n name: name,\n interfaces: interfaces,\n directives: directives,\n fields: fields,\n loc: this.loc(start)\n };\n }\n /**\n * InterfaceTypeExtension :\n * - extend interface Name ImplementsInterfaces? Directives[Const]? FieldsDefinition\n * - extend interface Name ImplementsInterfaces? Directives[Const]\n * - extend interface Name ImplementsInterfaces\n */\n ;\n\n _proto.parseInterfaceTypeExtension = function parseInterfaceTypeExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('interface');\n var name = this.parseName();\n var interfaces = this.parseImplementsInterfaces();\n var directives = this.parseDirectives(true);\n var fields = this.parseFieldsDefinition();\n\n if (interfaces.length === 0 && directives.length === 0 && fields.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: Kind.INTERFACE_TYPE_EXTENSION,\n name: name,\n interfaces: interfaces,\n directives: directives,\n fields: fields,\n loc: this.loc(start)\n };\n }\n /**\n * UnionTypeExtension :\n * - extend union Name Directives[Const]? UnionMemberTypes\n * - extend union Name Directives[Const]\n */\n ;\n\n _proto.parseUnionTypeExtension = function parseUnionTypeExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('union');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n var types = this.parseUnionMemberTypes();\n\n if (directives.length === 0 && types.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: Kind.UNION_TYPE_EXTENSION,\n name: name,\n directives: directives,\n types: types,\n loc: this.loc(start)\n };\n }\n /**\n * EnumTypeExtension :\n * - extend enum Name Directives[Const]? EnumValuesDefinition\n * - extend enum Name Directives[Const]\n */\n ;\n\n _proto.parseEnumTypeExtension = function parseEnumTypeExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('enum');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n var values = this.parseEnumValuesDefinition();\n\n if (directives.length === 0 && values.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: Kind.ENUM_TYPE_EXTENSION,\n name: name,\n directives: directives,\n values: values,\n loc: this.loc(start)\n };\n }\n /**\n * InputObjectTypeExtension :\n * - extend input Name Directives[Const]? InputFieldsDefinition\n * - extend input Name Directives[Const]\n */\n ;\n\n _proto.parseInputObjectTypeExtension = function parseInputObjectTypeExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('input');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n var fields = this.parseInputFieldsDefinition();\n\n if (directives.length === 0 && fields.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: Kind.INPUT_OBJECT_TYPE_EXTENSION,\n name: name,\n directives: directives,\n fields: fields,\n loc: this.loc(start)\n };\n }\n /**\n * DirectiveDefinition :\n * - Description? directive @ Name ArgumentsDefinition? `repeatable`? on DirectiveLocations\n */\n ;\n\n _proto.parseDirectiveDefinition = function parseDirectiveDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('directive');\n this.expectToken(TokenKind.AT);\n var name = this.parseName();\n var args = this.parseArgumentDefs();\n var repeatable = this.expectOptionalKeyword('repeatable');\n this.expectKeyword('on');\n var locations = this.parseDirectiveLocations();\n return {\n kind: Kind.DIRECTIVE_DEFINITION,\n description: description,\n name: name,\n arguments: args,\n repeatable: repeatable,\n locations: locations,\n loc: this.loc(start)\n };\n }\n /**\n * DirectiveLocations :\n * - `|`? DirectiveLocation\n * - DirectiveLocations | DirectiveLocation\n */\n ;\n\n _proto.parseDirectiveLocations = function parseDirectiveLocations() {\n return this.delimitedMany(TokenKind.PIPE, this.parseDirectiveLocation);\n }\n /*\n * DirectiveLocation :\n * - ExecutableDirectiveLocation\n * - TypeSystemDirectiveLocation\n *\n * ExecutableDirectiveLocation : one of\n * `QUERY`\n * `MUTATION`\n * `SUBSCRIPTION`\n * `FIELD`\n * `FRAGMENT_DEFINITION`\n * `FRAGMENT_SPREAD`\n * `INLINE_FRAGMENT`\n *\n * TypeSystemDirectiveLocation : one of\n * `SCHEMA`\n * `SCALAR`\n * `OBJECT`\n * `FIELD_DEFINITION`\n * `ARGUMENT_DEFINITION`\n * `INTERFACE`\n * `UNION`\n * `ENUM`\n * `ENUM_VALUE`\n * `INPUT_OBJECT`\n * `INPUT_FIELD_DEFINITION`\n */\n ;\n\n _proto.parseDirectiveLocation = function parseDirectiveLocation() {\n var start = this._lexer.token;\n var name = this.parseName();\n\n if (DirectiveLocation[name.value] !== undefined) {\n return name;\n }\n\n throw this.unexpected(start);\n } // Core parsing utility functions\n\n /**\n * Returns a location object, used to identify the place in the source that created a given parsed object.\n */\n ;\n\n _proto.loc = function loc(startToken) {\n var _this$_options4;\n\n if (((_this$_options4 = this._options) === null || _this$_options4 === void 0 ? void 0 : _this$_options4.noLocation) !== true) {\n return new Location(startToken, this._lexer.lastToken, this._lexer.source);\n }\n }\n /**\n * Determines if the next token is of a given kind\n */\n ;\n\n _proto.peek = function peek(kind) {\n return this._lexer.token.kind === kind;\n }\n /**\n * If the next token is of the given kind, return that token after advancing the lexer.\n * Otherwise, do not change the parser state and throw an error.\n */\n ;\n\n _proto.expectToken = function expectToken(kind) {\n var token = this._lexer.token;\n\n if (token.kind === kind) {\n this._lexer.advance();\n\n return token;\n }\n\n throw syntaxError(this._lexer.source, token.start, \"Expected \".concat(getTokenKindDesc(kind), \", found \").concat(getTokenDesc(token), \".\"));\n }\n /**\n * If the next token is of the given kind, return that token after advancing the lexer.\n * Otherwise, do not change the parser state and return undefined.\n */\n ;\n\n _proto.expectOptionalToken = function expectOptionalToken(kind) {\n var token = this._lexer.token;\n\n if (token.kind === kind) {\n this._lexer.advance();\n\n return token;\n }\n\n return undefined;\n }\n /**\n * If the next token is a given keyword, advance the lexer.\n * Otherwise, do not change the parser state and throw an error.\n */\n ;\n\n _proto.expectKeyword = function expectKeyword(value) {\n var token = this._lexer.token;\n\n if (token.kind === TokenKind.NAME && token.value === value) {\n this._lexer.advance();\n } else {\n throw syntaxError(this._lexer.source, token.start, \"Expected \\\"\".concat(value, \"\\\", found \").concat(getTokenDesc(token), \".\"));\n }\n }\n /**\n * If the next token is a given keyword, return \"true\" after advancing the lexer.\n * Otherwise, do not change the parser state and return \"false\".\n */\n ;\n\n _proto.expectOptionalKeyword = function expectOptionalKeyword(value) {\n var token = this._lexer.token;\n\n if (token.kind === TokenKind.NAME && token.value === value) {\n this._lexer.advance();\n\n return true;\n }\n\n return false;\n }\n /**\n * Helper function for creating an error when an unexpected lexed token is encountered.\n */\n ;\n\n _proto.unexpected = function unexpected(atToken) {\n var token = atToken !== null && atToken !== void 0 ? atToken : this._lexer.token;\n return syntaxError(this._lexer.source, token.start, \"Unexpected \".concat(getTokenDesc(token), \".\"));\n }\n /**\n * Returns a possibly empty list of parse nodes, determined by the parseFn.\n * This list begins with a lex token of openKind and ends with a lex token of closeKind.\n * Advances the parser to the next lex token after the closing token.\n */\n ;\n\n _proto.any = function any(openKind, parseFn, closeKind) {\n this.expectToken(openKind);\n var nodes = [];\n\n while (!this.expectOptionalToken(closeKind)) {\n nodes.push(parseFn.call(this));\n }\n\n return nodes;\n }\n /**\n * Returns a list of parse nodes, determined by the parseFn.\n * It can be empty only if open token is missing otherwise it will always return non-empty list\n * that begins with a lex token of openKind and ends with a lex token of closeKind.\n * Advances the parser to the next lex token after the closing token.\n */\n ;\n\n _proto.optionalMany = function optionalMany(openKind, parseFn, closeKind) {\n if (this.expectOptionalToken(openKind)) {\n var nodes = [];\n\n do {\n nodes.push(parseFn.call(this));\n } while (!this.expectOptionalToken(closeKind));\n\n return nodes;\n }\n\n return [];\n }\n /**\n * Returns a non-empty list of parse nodes, determined by the parseFn.\n * This list begins with a lex token of openKind and ends with a lex token of closeKind.\n * Advances the parser to the next lex token after the closing token.\n */\n ;\n\n _proto.many = function many(openKind, parseFn, closeKind) {\n this.expectToken(openKind);\n var nodes = [];\n\n do {\n nodes.push(parseFn.call(this));\n } while (!this.expectOptionalToken(closeKind));\n\n return nodes;\n }\n /**\n * Returns a non-empty list of parse nodes, determined by the parseFn.\n * This list may begin with a lex token of delimiterKind followed by items separated by lex tokens of tokenKind.\n * Advances the parser to the next lex token after last item in the list.\n */\n ;\n\n _proto.delimitedMany = function delimitedMany(delimiterKind, parseFn) {\n this.expectOptionalToken(delimiterKind);\n var nodes = [];\n\n do {\n nodes.push(parseFn.call(this));\n } while (this.expectOptionalToken(delimiterKind));\n\n return nodes;\n };\n\n return Parser;\n}();\n/**\n * A helper function to describe a token as a string for debugging.\n */\n\nfunction getTokenDesc(token) {\n var value = token.value;\n return getTokenKindDesc(token.kind) + (value != null ? \" \\\"\".concat(value, \"\\\"\") : '');\n}\n/**\n * A helper function to describe a token kind as a string for debugging.\n */\n\n\nfunction getTokenKindDesc(kind) {\n return isPunctuatorTokenKind(kind) ? \"\\\"\".concat(kind, \"\\\"\") : kind;\n}\n","import inspect from \"../jsutils/inspect.mjs\";\nimport { isNode } from \"./ast.mjs\";\n/**\n * A visitor is provided to visit, it contains the collection of\n * relevant functions to be called during the visitor's traversal.\n */\n\nexport var QueryDocumentKeys = {\n Name: [],\n Document: ['definitions'],\n OperationDefinition: ['name', 'variableDefinitions', 'directives', 'selectionSet'],\n VariableDefinition: ['variable', 'type', 'defaultValue', 'directives'],\n Variable: ['name'],\n SelectionSet: ['selections'],\n Field: ['alias', 'name', 'arguments', 'directives', 'selectionSet'],\n Argument: ['name', 'value'],\n FragmentSpread: ['name', 'directives'],\n InlineFragment: ['typeCondition', 'directives', 'selectionSet'],\n FragmentDefinition: ['name', // Note: fragment variable definitions are experimental and may be changed\n // or removed in the future.\n 'variableDefinitions', 'typeCondition', 'directives', 'selectionSet'],\n IntValue: [],\n FloatValue: [],\n StringValue: [],\n BooleanValue: [],\n NullValue: [],\n EnumValue: [],\n ListValue: ['values'],\n ObjectValue: ['fields'],\n ObjectField: ['name', 'value'],\n Directive: ['name', 'arguments'],\n NamedType: ['name'],\n ListType: ['type'],\n NonNullType: ['type'],\n SchemaDefinition: ['description', 'directives', 'operationTypes'],\n OperationTypeDefinition: ['type'],\n ScalarTypeDefinition: ['description', 'name', 'directives'],\n ObjectTypeDefinition: ['description', 'name', 'interfaces', 'directives', 'fields'],\n FieldDefinition: ['description', 'name', 'arguments', 'type', 'directives'],\n InputValueDefinition: ['description', 'name', 'type', 'defaultValue', 'directives'],\n InterfaceTypeDefinition: ['description', 'name', 'interfaces', 'directives', 'fields'],\n UnionTypeDefinition: ['description', 'name', 'directives', 'types'],\n EnumTypeDefinition: ['description', 'name', 'directives', 'values'],\n EnumValueDefinition: ['description', 'name', 'directives'],\n InputObjectTypeDefinition: ['description', 'name', 'directives', 'fields'],\n DirectiveDefinition: ['description', 'name', 'arguments', 'locations'],\n SchemaExtension: ['directives', 'operationTypes'],\n ScalarTypeExtension: ['name', 'directives'],\n ObjectTypeExtension: ['name', 'interfaces', 'directives', 'fields'],\n InterfaceTypeExtension: ['name', 'interfaces', 'directives', 'fields'],\n UnionTypeExtension: ['name', 'directives', 'types'],\n EnumTypeExtension: ['name', 'directives', 'values'],\n InputObjectTypeExtension: ['name', 'directives', 'fields']\n};\nexport var BREAK = Object.freeze({});\n/**\n * visit() will walk through an AST using a depth-first traversal, calling\n * the visitor's enter function at each node in the traversal, and calling the\n * leave function after visiting that node and all of its child nodes.\n *\n * By returning different values from the enter and leave functions, the\n * behavior of the visitor can be altered, including skipping over a sub-tree of\n * the AST (by returning false), editing the AST by returning a value or null\n * to remove the value, or to stop the whole traversal by returning BREAK.\n *\n * When using visit() to edit an AST, the original AST will not be modified, and\n * a new version of the AST with the changes applied will be returned from the\n * visit function.\n *\n * const editedAST = visit(ast, {\n * enter(node, key, parent, path, ancestors) {\n * // @return\n * // undefined: no action\n * // false: skip visiting this node\n * // visitor.BREAK: stop visiting altogether\n * // null: delete this node\n * // any value: replace this node with the returned value\n * },\n * leave(node, key, parent, path, ancestors) {\n * // @return\n * // undefined: no action\n * // false: no action\n * // visitor.BREAK: stop visiting altogether\n * // null: delete this node\n * // any value: replace this node with the returned value\n * }\n * });\n *\n * Alternatively to providing enter() and leave() functions, a visitor can\n * instead provide functions named the same as the kinds of AST nodes, or\n * enter/leave visitors at a named key, leading to four permutations of the\n * visitor API:\n *\n * 1) Named visitors triggered when entering a node of a specific kind.\n *\n * visit(ast, {\n * Kind(node) {\n * // enter the \"Kind\" node\n * }\n * })\n *\n * 2) Named visitors that trigger upon entering and leaving a node of\n * a specific kind.\n *\n * visit(ast, {\n * Kind: {\n * enter(node) {\n * // enter the \"Kind\" node\n * }\n * leave(node) {\n * // leave the \"Kind\" node\n * }\n * }\n * })\n *\n * 3) Generic visitors that trigger upon entering and leaving any node.\n *\n * visit(ast, {\n * enter(node) {\n * // enter any node\n * },\n * leave(node) {\n * // leave any node\n * }\n * })\n *\n * 4) Parallel visitors for entering and leaving nodes of a specific kind.\n *\n * visit(ast, {\n * enter: {\n * Kind(node) {\n * // enter the \"Kind\" node\n * }\n * },\n * leave: {\n * Kind(node) {\n * // leave the \"Kind\" node\n * }\n * }\n * })\n */\n\nexport function visit(root, visitor) {\n var visitorKeys = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : QueryDocumentKeys;\n\n /* eslint-disable no-undef-init */\n var stack = undefined;\n var inArray = Array.isArray(root);\n var keys = [root];\n var index = -1;\n var edits = [];\n var node = undefined;\n var key = undefined;\n var parent = undefined;\n var path = [];\n var ancestors = [];\n var newRoot = root;\n /* eslint-enable no-undef-init */\n\n do {\n index++;\n var isLeaving = index === keys.length;\n var isEdited = isLeaving && edits.length !== 0;\n\n if (isLeaving) {\n key = ancestors.length === 0 ? undefined : path[path.length - 1];\n node = parent;\n parent = ancestors.pop();\n\n if (isEdited) {\n if (inArray) {\n node = node.slice();\n } else {\n var clone = {};\n\n for (var _i2 = 0, _Object$keys2 = Object.keys(node); _i2 < _Object$keys2.length; _i2++) {\n var k = _Object$keys2[_i2];\n clone[k] = node[k];\n }\n\n node = clone;\n }\n\n var editOffset = 0;\n\n for (var ii = 0; ii < edits.length; ii++) {\n var editKey = edits[ii][0];\n var editValue = edits[ii][1];\n\n if (inArray) {\n editKey -= editOffset;\n }\n\n if (inArray && editValue === null) {\n node.splice(editKey, 1);\n editOffset++;\n } else {\n node[editKey] = editValue;\n }\n }\n }\n\n index = stack.index;\n keys = stack.keys;\n edits = stack.edits;\n inArray = stack.inArray;\n stack = stack.prev;\n } else {\n key = parent ? inArray ? index : keys[index] : undefined;\n node = parent ? parent[key] : newRoot;\n\n if (node === null || node === undefined) {\n continue;\n }\n\n if (parent) {\n path.push(key);\n }\n }\n\n var result = void 0;\n\n if (!Array.isArray(node)) {\n if (!isNode(node)) {\n throw new Error(\"Invalid AST Node: \".concat(inspect(node), \".\"));\n }\n\n var visitFn = getVisitFn(visitor, node.kind, isLeaving);\n\n if (visitFn) {\n result = visitFn.call(visitor, node, key, parent, path, ancestors);\n\n if (result === BREAK) {\n break;\n }\n\n if (result === false) {\n if (!isLeaving) {\n path.pop();\n continue;\n }\n } else if (result !== undefined) {\n edits.push([key, result]);\n\n if (!isLeaving) {\n if (isNode(result)) {\n node = result;\n } else {\n path.pop();\n continue;\n }\n }\n }\n }\n }\n\n if (result === undefined && isEdited) {\n edits.push([key, node]);\n }\n\n if (isLeaving) {\n path.pop();\n } else {\n var _visitorKeys$node$kin;\n\n stack = {\n inArray: inArray,\n index: index,\n keys: keys,\n edits: edits,\n prev: stack\n };\n inArray = Array.isArray(node);\n keys = inArray ? node : (_visitorKeys$node$kin = visitorKeys[node.kind]) !== null && _visitorKeys$node$kin !== void 0 ? _visitorKeys$node$kin : [];\n index = -1;\n edits = [];\n\n if (parent) {\n ancestors.push(parent);\n }\n\n parent = node;\n }\n } while (stack !== undefined);\n\n if (edits.length !== 0) {\n newRoot = edits[edits.length - 1][1];\n }\n\n return newRoot;\n}\n/**\n * Creates a new visitor instance which delegates to many visitors to run in\n * parallel. Each visitor will be visited for each node before moving on.\n *\n * If a prior visitor edits a node, no following visitors will see that node.\n */\n\nexport function visitInParallel(visitors) {\n var skipping = new Array(visitors.length);\n return {\n enter: function enter(node) {\n for (var i = 0; i < visitors.length; i++) {\n if (skipping[i] == null) {\n var fn = getVisitFn(visitors[i], node.kind,\n /* isLeaving */\n false);\n\n if (fn) {\n var result = fn.apply(visitors[i], arguments);\n\n if (result === false) {\n skipping[i] = node;\n } else if (result === BREAK) {\n skipping[i] = BREAK;\n } else if (result !== undefined) {\n return result;\n }\n }\n }\n }\n },\n leave: function leave(node) {\n for (var i = 0; i < visitors.length; i++) {\n if (skipping[i] == null) {\n var fn = getVisitFn(visitors[i], node.kind,\n /* isLeaving */\n true);\n\n if (fn) {\n var result = fn.apply(visitors[i], arguments);\n\n if (result === BREAK) {\n skipping[i] = BREAK;\n } else if (result !== undefined && result !== false) {\n return result;\n }\n }\n } else if (skipping[i] === node) {\n skipping[i] = null;\n }\n }\n }\n };\n}\n/**\n * Given a visitor instance, if it is leaving or not, and a node kind, return\n * the function the visitor runtime should call.\n */\n\nexport function getVisitFn(visitor, kind, isLeaving) {\n var kindVisitor = visitor[kind];\n\n if (kindVisitor) {\n if (!isLeaving && typeof kindVisitor === 'function') {\n // { Kind() {} }\n return kindVisitor;\n }\n\n var kindSpecificVisitor = isLeaving ? kindVisitor.leave : kindVisitor.enter;\n\n if (typeof kindSpecificVisitor === 'function') {\n // { Kind: { enter() {}, leave() {} } }\n return kindSpecificVisitor;\n }\n } else {\n var specificVisitor = isLeaving ? visitor.leave : visitor.enter;\n\n if (specificVisitor) {\n if (typeof specificVisitor === 'function') {\n // { enter() {}, leave() {} }\n return specificVisitor;\n }\n\n var specificKindVisitor = specificVisitor[kind];\n\n if (typeof specificKindVisitor === 'function') {\n // { enter: { Kind() {} }, leave: { Kind() {} } }\n return specificKindVisitor;\n }\n }\n }\n}\n","import { visit } from \"./visitor.mjs\";\nimport { printBlockString } from \"./blockString.mjs\";\n/**\n * Converts an AST into a string, using one set of reasonable\n * formatting rules.\n */\n\nexport function print(ast) {\n return visit(ast, {\n leave: printDocASTReducer\n });\n}\nvar MAX_LINE_LENGTH = 80; // TODO: provide better type coverage in future\n\nvar printDocASTReducer = {\n Name: function Name(node) {\n return node.value;\n },\n Variable: function Variable(node) {\n return '$' + node.name;\n },\n // Document\n Document: function Document(node) {\n return join(node.definitions, '\\n\\n') + '\\n';\n },\n OperationDefinition: function OperationDefinition(node) {\n var op = node.operation;\n var name = node.name;\n var varDefs = wrap('(', join(node.variableDefinitions, ', '), ')');\n var directives = join(node.directives, ' ');\n var selectionSet = node.selectionSet; // Anonymous queries with no directives or variable definitions can use\n // the query short form.\n\n return !name && !directives && !varDefs && op === 'query' ? selectionSet : join([op, join([name, varDefs]), directives, selectionSet], ' ');\n },\n VariableDefinition: function VariableDefinition(_ref) {\n var variable = _ref.variable,\n type = _ref.type,\n defaultValue = _ref.defaultValue,\n directives = _ref.directives;\n return variable + ': ' + type + wrap(' = ', defaultValue) + wrap(' ', join(directives, ' '));\n },\n SelectionSet: function SelectionSet(_ref2) {\n var selections = _ref2.selections;\n return block(selections);\n },\n Field: function Field(_ref3) {\n var alias = _ref3.alias,\n name = _ref3.name,\n args = _ref3.arguments,\n directives = _ref3.directives,\n selectionSet = _ref3.selectionSet;\n var prefix = wrap('', alias, ': ') + name;\n var argsLine = prefix + wrap('(', join(args, ', '), ')');\n\n if (argsLine.length > MAX_LINE_LENGTH) {\n argsLine = prefix + wrap('(\\n', indent(join(args, '\\n')), '\\n)');\n }\n\n return join([argsLine, join(directives, ' '), selectionSet], ' ');\n },\n Argument: function Argument(_ref4) {\n var name = _ref4.name,\n value = _ref4.value;\n return name + ': ' + value;\n },\n // Fragments\n FragmentSpread: function FragmentSpread(_ref5) {\n var name = _ref5.name,\n directives = _ref5.directives;\n return '...' + name + wrap(' ', join(directives, ' '));\n },\n InlineFragment: function InlineFragment(_ref6) {\n var typeCondition = _ref6.typeCondition,\n directives = _ref6.directives,\n selectionSet = _ref6.selectionSet;\n return join(['...', wrap('on ', typeCondition), join(directives, ' '), selectionSet], ' ');\n },\n FragmentDefinition: function FragmentDefinition(_ref7) {\n var name = _ref7.name,\n typeCondition = _ref7.typeCondition,\n variableDefinitions = _ref7.variableDefinitions,\n directives = _ref7.directives,\n selectionSet = _ref7.selectionSet;\n return (// Note: fragment variable definitions are experimental and may be changed\n // or removed in the future.\n \"fragment \".concat(name).concat(wrap('(', join(variableDefinitions, ', '), ')'), \" \") + \"on \".concat(typeCondition, \" \").concat(wrap('', join(directives, ' '), ' ')) + selectionSet\n );\n },\n // Value\n IntValue: function IntValue(_ref8) {\n var value = _ref8.value;\n return value;\n },\n FloatValue: function FloatValue(_ref9) {\n var value = _ref9.value;\n return value;\n },\n StringValue: function StringValue(_ref10, key) {\n var value = _ref10.value,\n isBlockString = _ref10.block;\n return isBlockString ? printBlockString(value, key === 'description' ? '' : ' ') : JSON.stringify(value);\n },\n BooleanValue: function BooleanValue(_ref11) {\n var value = _ref11.value;\n return value ? 'true' : 'false';\n },\n NullValue: function NullValue() {\n return 'null';\n },\n EnumValue: function EnumValue(_ref12) {\n var value = _ref12.value;\n return value;\n },\n ListValue: function ListValue(_ref13) {\n var values = _ref13.values;\n return '[' + join(values, ', ') + ']';\n },\n ObjectValue: function ObjectValue(_ref14) {\n var fields = _ref14.fields;\n return '{' + join(fields, ', ') + '}';\n },\n ObjectField: function ObjectField(_ref15) {\n var name = _ref15.name,\n value = _ref15.value;\n return name + ': ' + value;\n },\n // Directive\n Directive: function Directive(_ref16) {\n var name = _ref16.name,\n args = _ref16.arguments;\n return '@' + name + wrap('(', join(args, ', '), ')');\n },\n // Type\n NamedType: function NamedType(_ref17) {\n var name = _ref17.name;\n return name;\n },\n ListType: function ListType(_ref18) {\n var type = _ref18.type;\n return '[' + type + ']';\n },\n NonNullType: function NonNullType(_ref19) {\n var type = _ref19.type;\n return type + '!';\n },\n // Type System Definitions\n SchemaDefinition: addDescription(function (_ref20) {\n var directives = _ref20.directives,\n operationTypes = _ref20.operationTypes;\n return join(['schema', join(directives, ' '), block(operationTypes)], ' ');\n }),\n OperationTypeDefinition: function OperationTypeDefinition(_ref21) {\n var operation = _ref21.operation,\n type = _ref21.type;\n return operation + ': ' + type;\n },\n ScalarTypeDefinition: addDescription(function (_ref22) {\n var name = _ref22.name,\n directives = _ref22.directives;\n return join(['scalar', name, join(directives, ' ')], ' ');\n }),\n ObjectTypeDefinition: addDescription(function (_ref23) {\n var name = _ref23.name,\n interfaces = _ref23.interfaces,\n directives = _ref23.directives,\n fields = _ref23.fields;\n return join(['type', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n }),\n FieldDefinition: addDescription(function (_ref24) {\n var name = _ref24.name,\n args = _ref24.arguments,\n type = _ref24.type,\n directives = _ref24.directives;\n return name + (hasMultilineItems(args) ? wrap('(\\n', indent(join(args, '\\n')), '\\n)') : wrap('(', join(args, ', '), ')')) + ': ' + type + wrap(' ', join(directives, ' '));\n }),\n InputValueDefinition: addDescription(function (_ref25) {\n var name = _ref25.name,\n type = _ref25.type,\n defaultValue = _ref25.defaultValue,\n directives = _ref25.directives;\n return join([name + ': ' + type, wrap('= ', defaultValue), join(directives, ' ')], ' ');\n }),\n InterfaceTypeDefinition: addDescription(function (_ref26) {\n var name = _ref26.name,\n interfaces = _ref26.interfaces,\n directives = _ref26.directives,\n fields = _ref26.fields;\n return join(['interface', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n }),\n UnionTypeDefinition: addDescription(function (_ref27) {\n var name = _ref27.name,\n directives = _ref27.directives,\n types = _ref27.types;\n return join(['union', name, join(directives, ' '), types && types.length !== 0 ? '= ' + join(types, ' | ') : ''], ' ');\n }),\n EnumTypeDefinition: addDescription(function (_ref28) {\n var name = _ref28.name,\n directives = _ref28.directives,\n values = _ref28.values;\n return join(['enum', name, join(directives, ' '), block(values)], ' ');\n }),\n EnumValueDefinition: addDescription(function (_ref29) {\n var name = _ref29.name,\n directives = _ref29.directives;\n return join([name, join(directives, ' ')], ' ');\n }),\n InputObjectTypeDefinition: addDescription(function (_ref30) {\n var name = _ref30.name,\n directives = _ref30.directives,\n fields = _ref30.fields;\n return join(['input', name, join(directives, ' '), block(fields)], ' ');\n }),\n DirectiveDefinition: addDescription(function (_ref31) {\n var name = _ref31.name,\n args = _ref31.arguments,\n repeatable = _ref31.repeatable,\n locations = _ref31.locations;\n return 'directive @' + name + (hasMultilineItems(args) ? wrap('(\\n', indent(join(args, '\\n')), '\\n)') : wrap('(', join(args, ', '), ')')) + (repeatable ? ' repeatable' : '') + ' on ' + join(locations, ' | ');\n }),\n SchemaExtension: function SchemaExtension(_ref32) {\n var directives = _ref32.directives,\n operationTypes = _ref32.operationTypes;\n return join(['extend schema', join(directives, ' '), block(operationTypes)], ' ');\n },\n ScalarTypeExtension: function ScalarTypeExtension(_ref33) {\n var name = _ref33.name,\n directives = _ref33.directives;\n return join(['extend scalar', name, join(directives, ' ')], ' ');\n },\n ObjectTypeExtension: function ObjectTypeExtension(_ref34) {\n var name = _ref34.name,\n interfaces = _ref34.interfaces,\n directives = _ref34.directives,\n fields = _ref34.fields;\n return join(['extend type', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n },\n InterfaceTypeExtension: function InterfaceTypeExtension(_ref35) {\n var name = _ref35.name,\n interfaces = _ref35.interfaces,\n directives = _ref35.directives,\n fields = _ref35.fields;\n return join(['extend interface', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n },\n UnionTypeExtension: function UnionTypeExtension(_ref36) {\n var name = _ref36.name,\n directives = _ref36.directives,\n types = _ref36.types;\n return join(['extend union', name, join(directives, ' '), types && types.length !== 0 ? '= ' + join(types, ' | ') : ''], ' ');\n },\n EnumTypeExtension: function EnumTypeExtension(_ref37) {\n var name = _ref37.name,\n directives = _ref37.directives,\n values = _ref37.values;\n return join(['extend enum', name, join(directives, ' '), block(values)], ' ');\n },\n InputObjectTypeExtension: function InputObjectTypeExtension(_ref38) {\n var name = _ref38.name,\n directives = _ref38.directives,\n fields = _ref38.fields;\n return join(['extend input', name, join(directives, ' '), block(fields)], ' ');\n }\n};\n\nfunction addDescription(cb) {\n return function (node) {\n return join([node.description, cb(node)], '\\n');\n };\n}\n/**\n * Given maybeArray, print an empty string if it is null or empty, otherwise\n * print all items together separated by separator if provided\n */\n\n\nfunction join(maybeArray) {\n var _maybeArray$filter$jo;\n\n var separator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n return (_maybeArray$filter$jo = maybeArray === null || maybeArray === void 0 ? void 0 : maybeArray.filter(function (x) {\n return x;\n }).join(separator)) !== null && _maybeArray$filter$jo !== void 0 ? _maybeArray$filter$jo : '';\n}\n/**\n * Given array, print each item on its own line, wrapped in an\n * indented \"{ }\" block.\n */\n\n\nfunction block(array) {\n return wrap('{\\n', indent(join(array, '\\n')), '\\n}');\n}\n/**\n * If maybeString is not null or empty, then wrap with start and end, otherwise print an empty string.\n */\n\n\nfunction wrap(start, maybeString) {\n var end = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n return maybeString != null && maybeString !== '' ? start + maybeString + end : '';\n}\n\nfunction indent(str) {\n return wrap(' ', str.replace(/\\n/g, '\\n '));\n}\n\nfunction isMultiline(str) {\n return str.indexOf('\\n') !== -1;\n}\n\nfunction hasMultilineItems(maybeArray) {\n return maybeArray != null && maybeArray.some(isMultiline);\n}\n","/* tslint:disable */\n\nimport zenObservable from 'zen-observable';\n\nnamespace Observable {\n\n}\n\nimport { ZenObservable } from './types';\n\nexport { ZenObservable };\n\nexport type Observer = ZenObservable.Observer;\nexport type Subscriber = ZenObservable.Subscriber;\nexport type ObservableLike = ZenObservable.ObservableLike;\n\nexport const Observable: {\n new (subscriber: Subscriber): Observable;\n from(\n observable: Observable | ZenObservable.ObservableLike | ArrayLike,\n ): Observable;\n of(...args: Array): Observable;\n} = zenObservable;\n\nexport interface Observable {\n subscribe(\n observerOrNext: ((value: T) => void) | ZenObservable.Observer,\n error?: (error: any) => void,\n complete?: () => void,\n ): ZenObservable.Subscription;\n\n forEach(fn: (value: T) => void): Promise;\n\n map(fn: (value: T) => R): Observable;\n\n filter(fn: (value: T) => boolean): Observable;\n\n reduce(\n fn: (previousValue: R | T, currentValue: T) => R | T,\n initialValue?: R | T,\n ): Observable;\n\n flatMap(fn: (value: T) => ZenObservable.ObservableLike): Observable;\n\n from(\n observable: Observable | ZenObservable.ObservableLike | ArrayLike,\n ): Observable;\n of(...args: Array): Observable;\n}\n","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/**\n * Return true if `value` is object-like. A value is object-like if it's not\n * `null` and has a `typeof` result of \"object\".\n */\nexport default function isObjectLike(value) {\n return _typeof(value) == 'object' && value !== null;\n}\n","// In ES2015 (or a polyfilled) environment, this will be Symbol.iterator\n// istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\nexport var SYMBOL_ITERATOR = typeof Symbol === 'function' && Symbol.iterator != null ? Symbol.iterator : '@@iterator'; // In ES2017 (or a polyfilled) environment, this will be Symbol.asyncIterator\n// istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\n\nexport var SYMBOL_ASYNC_ITERATOR = typeof Symbol === 'function' && Symbol.asyncIterator != null ? Symbol.asyncIterator : '@@asyncIterator'; // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\n\nexport var SYMBOL_TO_STRING_TAG = typeof Symbol === 'function' && Symbol.toStringTag != null ? Symbol.toStringTag : '@@toStringTag';\n","/**\n * Represents a location in a Source.\n */\n\n/**\n * Takes a Source and a UTF-8 character offset, and returns the corresponding\n * line and column as a SourceLocation.\n */\nexport function getLocation(source, position) {\n var lineRegexp = /\\r\\n|[\\n\\r]/g;\n var line = 1;\n var column = position + 1;\n var match;\n\n while ((match = lineRegexp.exec(source.body)) && match.index < position) {\n line += 1;\n column = position + 1 - (match.index + match[0].length);\n }\n\n return {\n line: line,\n column: column\n };\n}\n","import { getLocation } from \"./location.mjs\";\n/**\n * Render a helpful description of the location in the GraphQL Source document.\n */\n\nexport function printLocation(location) {\n return printSourceLocation(location.source, getLocation(location.source, location.start));\n}\n/**\n * Render a helpful description of the location in the GraphQL Source document.\n */\n\nexport function printSourceLocation(source, sourceLocation) {\n var firstLineColumnOffset = source.locationOffset.column - 1;\n var body = whitespace(firstLineColumnOffset) + source.body;\n var lineIndex = sourceLocation.line - 1;\n var lineOffset = source.locationOffset.line - 1;\n var lineNum = sourceLocation.line + lineOffset;\n var columnOffset = sourceLocation.line === 1 ? firstLineColumnOffset : 0;\n var columnNum = sourceLocation.column + columnOffset;\n var locationStr = \"\".concat(source.name, \":\").concat(lineNum, \":\").concat(columnNum, \"\\n\");\n var lines = body.split(/\\r\\n|[\\n\\r]/g);\n var locationLine = lines[lineIndex]; // Special case for minified documents\n\n if (locationLine.length > 120) {\n var subLineIndex = Math.floor(columnNum / 80);\n var subLineColumnNum = columnNum % 80;\n var subLines = [];\n\n for (var i = 0; i < locationLine.length; i += 80) {\n subLines.push(locationLine.slice(i, i + 80));\n }\n\n return locationStr + printPrefixedLines([[\"\".concat(lineNum), subLines[0]]].concat(subLines.slice(1, subLineIndex + 1).map(function (subLine) {\n return ['', subLine];\n }), [[' ', whitespace(subLineColumnNum - 1) + '^'], ['', subLines[subLineIndex + 1]]]));\n }\n\n return locationStr + printPrefixedLines([// Lines specified like this: [\"prefix\", \"string\"],\n [\"\".concat(lineNum - 1), lines[lineIndex - 1]], [\"\".concat(lineNum), locationLine], ['', whitespace(columnNum - 1) + '^'], [\"\".concat(lineNum + 1), lines[lineIndex + 1]]]);\n}\n\nfunction printPrefixedLines(lines) {\n var existingLines = lines.filter(function (_ref) {\n var _ = _ref[0],\n line = _ref[1];\n return line !== undefined;\n });\n var padLen = Math.max.apply(Math, existingLines.map(function (_ref2) {\n var prefix = _ref2[0];\n return prefix.length;\n }));\n return existingLines.map(function (_ref3) {\n var prefix = _ref3[0],\n line = _ref3[1];\n return leftPad(padLen, prefix) + (line ? ' | ' + line : ' |');\n }).join('\\n');\n}\n\nfunction whitespace(len) {\n return Array(len + 1).join(' ');\n}\n\nfunction leftPad(len, str) {\n return whitespace(len - str.length) + str;\n}\n","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nimport isObjectLike from \"../jsutils/isObjectLike.mjs\";\nimport { SYMBOL_TO_STRING_TAG } from \"../polyfills/symbols.mjs\";\nimport { getLocation } from \"../language/location.mjs\";\nimport { printLocation, printSourceLocation } from \"../language/printLocation.mjs\";\n/**\n * A GraphQLError describes an Error found during the parse, validate, or\n * execute phases of performing a GraphQL operation. In addition to a message\n * and stack trace, it also includes information about the locations in a\n * GraphQL document and/or execution result that correspond to the Error.\n */\n\nexport var GraphQLError = /*#__PURE__*/function (_Error) {\n _inherits(GraphQLError, _Error);\n\n var _super = _createSuper(GraphQLError);\n\n /**\n * An array of { line, column } locations within the source GraphQL document\n * which correspond to this error.\n *\n * Errors during validation often contain multiple locations, for example to\n * point out two things with the same name. Errors during execution include a\n * single location, the field which produced the error.\n *\n * Enumerable, and appears in the result of JSON.stringify().\n */\n\n /**\n * An array describing the JSON-path into the execution response which\n * corresponds to this error. Only included for errors during execution.\n *\n * Enumerable, and appears in the result of JSON.stringify().\n */\n\n /**\n * An array of GraphQL AST Nodes corresponding to this error.\n */\n\n /**\n * The source GraphQL document for the first location of this error.\n *\n * Note that if this Error represents more than one node, the source may not\n * represent nodes after the first node.\n */\n\n /**\n * An array of character offsets within the source GraphQL document\n * which correspond to this error.\n */\n\n /**\n * The original error thrown from a field resolver during execution.\n */\n\n /**\n * Extension fields to add to the formatted error.\n */\n function GraphQLError(message, nodes, source, positions, path, originalError, extensions) {\n var _nodeLocations, _nodeLocations2, _nodeLocations3;\n\n var _this;\n\n _classCallCheck(this, GraphQLError);\n\n _this = _super.call(this, message);\n _this.name = 'GraphQLError';\n _this.originalError = originalError !== null && originalError !== void 0 ? originalError : undefined; // Compute list of blame nodes.\n\n _this.nodes = undefinedIfEmpty(Array.isArray(nodes) ? nodes : nodes ? [nodes] : undefined);\n var nodeLocations = [];\n\n for (var _i2 = 0, _ref3 = (_this$nodes = _this.nodes) !== null && _this$nodes !== void 0 ? _this$nodes : []; _i2 < _ref3.length; _i2++) {\n var _this$nodes;\n\n var _ref4 = _ref3[_i2];\n var loc = _ref4.loc;\n\n if (loc != null) {\n nodeLocations.push(loc);\n }\n }\n\n nodeLocations = undefinedIfEmpty(nodeLocations); // Compute locations in the source for the given nodes/positions.\n\n _this.source = source !== null && source !== void 0 ? source : (_nodeLocations = nodeLocations) === null || _nodeLocations === void 0 ? void 0 : _nodeLocations[0].source;\n _this.positions = positions !== null && positions !== void 0 ? positions : (_nodeLocations2 = nodeLocations) === null || _nodeLocations2 === void 0 ? void 0 : _nodeLocations2.map(function (loc) {\n return loc.start;\n });\n _this.locations = positions && source ? positions.map(function (pos) {\n return getLocation(source, pos);\n }) : (_nodeLocations3 = nodeLocations) === null || _nodeLocations3 === void 0 ? void 0 : _nodeLocations3.map(function (loc) {\n return getLocation(loc.source, loc.start);\n });\n _this.path = path !== null && path !== void 0 ? path : undefined;\n var originalExtensions = originalError === null || originalError === void 0 ? void 0 : originalError.extensions;\n\n if (extensions == null && isObjectLike(originalExtensions)) {\n _this.extensions = _objectSpread({}, originalExtensions);\n } else {\n _this.extensions = extensions !== null && extensions !== void 0 ? extensions : {};\n } // By being enumerable, JSON.stringify will include bellow properties in the resulting output.\n // This ensures that the simplest possible GraphQL service adheres to the spec.\n\n\n Object.defineProperties(_assertThisInitialized(_this), {\n message: {\n enumerable: true\n },\n locations: {\n enumerable: _this.locations != null\n },\n path: {\n enumerable: _this.path != null\n },\n extensions: {\n enumerable: _this.extensions != null && Object.keys(_this.extensions).length > 0\n },\n name: {\n enumerable: false\n },\n nodes: {\n enumerable: false\n },\n source: {\n enumerable: false\n },\n positions: {\n enumerable: false\n },\n originalError: {\n enumerable: false\n }\n }); // Include (non-enumerable) stack trace.\n\n if (originalError !== null && originalError !== void 0 && originalError.stack) {\n Object.defineProperty(_assertThisInitialized(_this), 'stack', {\n value: originalError.stack,\n writable: true,\n configurable: true\n });\n return _possibleConstructorReturn(_this);\n } // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\n\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(_assertThisInitialized(_this), GraphQLError);\n } else {\n Object.defineProperty(_assertThisInitialized(_this), 'stack', {\n value: Error().stack,\n writable: true,\n configurable: true\n });\n }\n\n return _this;\n }\n\n _createClass(GraphQLError, [{\n key: \"toString\",\n value: function toString() {\n return printError(this);\n } // FIXME: workaround to not break chai comparisons, should be remove in v16\n // $FlowFixMe[unsupported-syntax] Flow doesn't support computed properties yet\n\n }, {\n key: SYMBOL_TO_STRING_TAG,\n get: function get() {\n return 'Object';\n }\n }]);\n\n return GraphQLError;\n}( /*#__PURE__*/_wrapNativeSuper(Error));\n\nfunction undefinedIfEmpty(array) {\n return array === undefined || array.length === 0 ? undefined : array;\n}\n/**\n * Prints a GraphQLError to a string, representing useful location information\n * about the error's position in the source.\n */\n\n\nexport function printError(error) {\n var output = error.message;\n\n if (error.nodes) {\n for (var _i4 = 0, _error$nodes2 = error.nodes; _i4 < _error$nodes2.length; _i4++) {\n var node = _error$nodes2[_i4];\n\n if (node.loc) {\n output += '\\n\\n' + printLocation(node.loc);\n }\n }\n } else if (error.source && error.locations) {\n for (var _i6 = 0, _error$locations2 = error.locations; _i6 < _error$locations2.length; _i6++) {\n var location = _error$locations2[_i6];\n output += '\\n\\n' + printSourceLocation(error.source, location);\n }\n }\n\n return output;\n}\n","const SHORT_TO_HEX: { [key: number]: string } = {};\nconst HEX_TO_SHORT: { [key: string]: number } = {};\n\nfor (let i = 0; i < 256; i++) {\n let encodedByte = i.toString(16).toLowerCase();\n if (encodedByte.length === 1) {\n encodedByte = `0${encodedByte}`;\n }\n\n SHORT_TO_HEX[i] = encodedByte;\n HEX_TO_SHORT[encodedByte] = i;\n}\n\n/**\n * Converts a hexadecimal encoded string to a Uint8Array of bytes.\n *\n * @param encoded The hexadecimal encoded string\n */\nexport function fromHex(encoded: string): Uint8Array {\n if (encoded.length % 2 !== 0) {\n throw new Error(\"Hex encoded strings must have an even number length\");\n }\n\n const out = new Uint8Array(encoded.length / 2);\n for (let i = 0; i < encoded.length; i += 2) {\n const encodedByte = encoded.substr(i, 2).toLowerCase();\n if (encodedByte in HEX_TO_SHORT) {\n out[i / 2] = HEX_TO_SHORT[encodedByte];\n } else {\n throw new Error(`Cannot decode unrecognized sequence ${encodedByte} as hexadecimal`);\n }\n }\n\n return out;\n}\n\n/**\n * Converts a Uint8Array of binary data to a hexadecimal encoded string.\n *\n * @param bytes The binary data to encode\n */\nexport function toHex(bytes: Uint8Array): string {\n let out = \"\";\n for (let i = 0; i < bytes.byteLength; i++) {\n out += SHORT_TO_HEX[bytes[i]];\n }\n\n return out;\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Date & time utility functions to abstract the `aws-sdk` away from users.\n * (v2 => v3 modularization is a breaking change)\n *\n * @see https://github.com/aws/aws-sdk-js/blob/6edf586dcc1de7fe8fbfbbd9a0d2b1847921e6e1/lib/util.js#L262\n */\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\n// Comment - TODO: remove\nvar FIVE_MINUTES_IN_MS = 1000 * 60 * 5;\nexport var DateUtils = {\n /**\n * Milliseconds to offset the date to compensate for clock skew between device & services\n */\n clockOffset: 0,\n getDateWithClockOffset: function () {\n if (DateUtils.clockOffset) {\n return new Date(new Date().getTime() + DateUtils.clockOffset);\n }\n else {\n return new Date();\n }\n },\n /**\n * @returns {number} Clock offset in milliseconds\n */\n getClockOffset: function () {\n return DateUtils.clockOffset;\n },\n getHeaderStringFromDate: function (date) {\n if (date === void 0) { date = DateUtils.getDateWithClockOffset(); }\n return date.toISOString().replace(/[:\\-]|\\.\\d{3}/g, '');\n },\n getDateFromHeaderString: function (header) {\n var _a = __read(header.match(/^(\\d{4})(\\d{2})(\\d{2})T(\\d{2})(\\d{2})(\\d{2}).+/), 7), year = _a[1], month = _a[2], day = _a[3], hour = _a[4], minute = _a[5], second = _a[6];\n return new Date(Date.UTC(Number(year), Number(month) - 1, Number(day), Number(hour), Number(minute), Number(second)));\n },\n isClockSkewed: function (serverDate) {\n // API gateway permits client calls that are off by no more than ±5 minutes\n return (Math.abs(serverDate.getTime() - DateUtils.getDateWithClockOffset().getTime()) >= FIVE_MINUTES_IN_MS);\n },\n isClockSkewError: function (error) {\n if (!error.response || !error.response.headers) {\n return false;\n }\n var headers = error.response.headers;\n return Boolean(['BadRequestException', 'InvalidSignatureException'].includes(headers['x-amzn-errortype']) &&\n (headers.date || headers.Date));\n },\n /**\n * @param {number} offset Clock offset in milliseconds\n */\n setClockOffset: function (offset) {\n DateUtils.clockOffset = offset;\n },\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Returns signed headers.\n *\n * @param headers `headers` from the request.\n * @returns List of headers included in canonical headers, separated by semicolons (;). This indicates which headers\n * are part of the signing process. Header names must use lowercase characters and must appear in alphabetical order.\n *\n * @internal\n */\nexport var getSignedHeaders = function (headers) {\n return Object.keys(headers)\n .map(function (key) { return key.toLowerCase(); })\n .sort()\n .join(';');\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n// query params\nexport var ALGORITHM_QUERY_PARAM = 'X-Amz-Algorithm';\nexport var AMZ_DATE_QUERY_PARAM = 'X-Amz-Date';\nexport var CREDENTIAL_QUERY_PARAM = 'X-Amz-Credential';\nexport var EXPIRES_QUERY_PARAM = 'X-Amz-Expires';\nexport var REGION_SET_PARAM = 'X-Amz-Region-Set';\nexport var SIGNATURE_QUERY_PARAM = 'X-Amz-Signature';\nexport var SIGNED_HEADERS_QUERY_PARAM = 'X-Amz-SignedHeaders';\nexport var TOKEN_QUERY_PARAM = 'X-Amz-Security-Token';\n// headers\nexport var AUTH_HEADER = 'authorization';\nexport var HOST_HEADER = 'host';\nexport var AMZ_DATE_HEADER = AMZ_DATE_QUERY_PARAM.toLowerCase();\nexport var TOKEN_HEADER = TOKEN_QUERY_PARAM.toLowerCase();\n// identifiers\nexport var KEY_TYPE_IDENTIFIER = 'aws4_request';\nexport var SHA256_ALGORITHM_IDENTIFIER = 'AWS4-HMAC-SHA256';\nexport var SIGNATURE_IDENTIFIER = 'AWS4';\n// preset values\nexport var EMPTY_HASH = 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855';\nexport var UNSIGNED_PAYLOAD = 'UNSIGNED-PAYLOAD';\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { getCredentialScope } from './getCredentialScope';\nimport { getFormattedDates } from './getFormattedDates';\n/**\n * Extracts common values used for signing both requests and urls.\n *\n * @param options `SignRequestOptions` object containing values used to construct the signature.\n * @returns Common `SigningValues` used for signing.\n *\n * @internal\n */\nexport var getSigningValues = function (_a) {\n var credentials = _a.credentials, _b = _a.signingDate, signingDate = _b === void 0 ? new Date() : _b, signingRegion = _a.signingRegion, signingService = _a.signingService, _c = _a.uriEscapePath, uriEscapePath = _c === void 0 ? true : _c;\n // get properties from credentials\n var accessKeyId = credentials.accessKeyId, secretAccessKey = credentials.secretAccessKey, sessionToken = credentials.sessionToken;\n // get formatted dates for signing\n var _d = getFormattedDates(signingDate), longDate = _d.longDate, shortDate = _d.shortDate;\n // copy header and set signing properties\n var credentialScope = getCredentialScope(shortDate, signingRegion, signingService);\n return {\n accessKeyId: accessKeyId,\n credentialScope: credentialScope,\n longDate: longDate,\n secretAccessKey: secretAccessKey,\n sessionToken: sessionToken,\n shortDate: shortDate,\n signingRegion: signingRegion,\n signingService: signingService,\n uriEscapePath: uriEscapePath,\n };\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { KEY_TYPE_IDENTIFIER } from '../constants';\n/**\n * Returns the credential scope which restricts the resulting signature to the specified region and service.\n *\n * @param date Current date in the format 'YYYYMMDD'.\n * @param region AWS region in which the service resides.\n * @param service Service to which the signed request is being sent.\n *\n * @returns A string representing the credential scope with format 'YYYYMMDD/region/service/aws4_request'.\n *\n * @internal\n */\nexport var getCredentialScope = function (date, region, service) { return \"\".concat(date, \"/\").concat(region, \"/\").concat(service, \"/\").concat(KEY_TYPE_IDENTIFIER); };\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Returns expected date strings to be used in signing.\n *\n * @param date JavaScript `Date` object.\n * @returns `FormattedDates` object containing the following:\n * - longDate: A date string in 'YYYYMMDDThhmmssZ' format\n * - shortDate: A date string in 'YYYYMMDD' format\n *\n * @internal\n */\nexport var getFormattedDates = function (date) {\n var longDate = date.toISOString().replace(/[:\\-]|\\.\\d{3}/g, '');\n return {\n longDate: longDate,\n shortDate: longDate.slice(0, 8),\n };\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n// TODO: V6 update to different crypto dependency?\nimport { Sha256 } from '@aws-crypto/sha256-js';\nimport { toHex } from '@aws-sdk/util-hex-encoding';\n/**\n * Returns the hashed data a `Uint8Array`.\n *\n * @param key `SourceData` to be used as hashing key.\n * @param data Hashable `SourceData`.\n * @returns `Uint8Array` created from the data as input to a hash function.\n */\nexport var getHashedData = function (key, data) {\n var sha256 = new Sha256(key);\n sha256.update(data);\n // TODO: V6 flip to async digest\n var hashedData = sha256.digestSync();\n return hashedData;\n};\n/**\n * Returns the hashed data as a hex string.\n *\n * @param key `SourceData` to be used as hashing key.\n * @param data Hashable `SourceData`.\n * @returns String using lowercase hexadecimal characters created from the data as input to a hash function.\n *\n * @internal\n */\nexport var getHashedDataAsHex = function (key, data) {\n var hashedData = getHashedData(key, data);\n return toHex(hashedData);\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\n/**\n * Returns canonical headers.\n *\n * @param headers Headers from the request.\n * @returns Request headers that will be signed, and their values, separated by newline characters. Header names must\n * use lowercase characters, must appear in alphabetical order, and must be followed by a colon (:). For the values,\n * trim any leading or trailing spaces, convert sequential spaces to a single space, and separate the values\n * for a multi-value header using commas.\n *\n * @internal\n */\nexport var getCanonicalHeaders = function (headers) {\n return Object.entries(headers)\n .map(function (_a) {\n var _b;\n var _c = __read(_a, 2), key = _c[0], value = _c[1];\n return ({\n key: key.toLowerCase(),\n value: (_b = value === null || value === void 0 ? void 0 : value.trim().replace(/\\s+/g, ' ')) !== null && _b !== void 0 ? _b : '',\n });\n })\n .sort(function (a, b) { return (a.key < b.key ? -1 : 1); })\n .map(function (entry) { return \"\".concat(entry.key, \":\").concat(entry.value, \"\\n\"); })\n .join('');\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\n/**\n * Returns a canonical query string.\n *\n * @param searchParams `searchParams` from the request url.\n * @returns URL-encoded query string parameters, separated by ampersands (&). Percent-encode reserved characters,\n * including the space character. Encode names and values separately. If there are empty parameters, append the equals\n * sign to the parameter name before encoding. After encoding, sort the parameters alphabetically by key name. If there\n * is no query string, use an empty string (\"\").\n *\n * @internal\n */\nexport var getCanonicalQueryString = function (searchParams) {\n return Array.from(searchParams)\n .sort(function (_a, _b) {\n var _c = __read(_a, 2), keyA = _c[0], valA = _c[1];\n var _d = __read(_b, 2), keyB = _d[0], valB = _d[1];\n if (keyA === keyB) {\n return valA < valB ? -1 : 1;\n }\n return keyA < keyB ? -1 : 1;\n })\n .map(function (_a) {\n var _b = __read(_a, 2), key = _b[0], val = _b[1];\n return \"\".concat(escapeUri(key), \"=\").concat(escapeUri(val));\n })\n .join('&');\n};\nvar escapeUri = function (uri) {\n return encodeURIComponent(uri).replace(/[!'()*]/g, hexEncode);\n};\nvar hexEncode = function (c) {\n return \"%\".concat(c.charCodeAt(0).toString(16).toUpperCase());\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Returns a canonical uri.\n *\n * @param pathname `pathname` from request url.\n * @param uriEscapePath Whether to uri encode the path as part of canonical uri. It's used for S3 only where the\n * pathname is already uri encoded, and the signing process is not expected to uri encode it again. Defaults to true.\n * @returns URI-encoded version of the absolute path component URL (everything between the host and the question mark\n * character (?) that starts the query string parameters). If the absolute path is empty, a forward slash character (/).\n *\n * @internal\n */\nexport var getCanonicalUri = function (pathname, uriEscapePath) {\n if (uriEscapePath === void 0) { uriEscapePath = true; }\n return pathname\n ? uriEscapePath\n ? encodeURIComponent(pathname).replace(/%2F/g, '/')\n : pathname\n : '/';\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { EMPTY_HASH, UNSIGNED_PAYLOAD } from '../constants';\nimport { getHashedDataAsHex } from './dataHashHelpers';\n/**\n * Returns the hashed payload.\n *\n * @param body `body` (payload) from the request.\n * @returns String created using the payload in the body of the HTTP request as input to a hash function. This string\n * uses lowercase hexadecimal characters. If the payload is empty, return precalculated result of an empty hash.\n *\n * @internal\n */\nexport var getHashedPayload = function (body) {\n // return precalculated empty hash if body is undefined or null\n if (body == null) {\n return EMPTY_HASH;\n }\n if (isSourceData(body)) {\n var hashedData = getHashedDataAsHex(null, body);\n return hashedData;\n }\n // Defined body is not signable. Return unsigned payload which may or may not be accepted by the service.\n return UNSIGNED_PAYLOAD;\n};\nvar isSourceData = function (body) {\n return typeof body === 'string' || ArrayBuffer.isView(body) || isArrayBuffer(body);\n};\nvar isArrayBuffer = function (arg) {\n return (typeof ArrayBuffer === 'function' && arg instanceof ArrayBuffer) ||\n Object.prototype.toString.call(arg) === '[object ArrayBuffer]';\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { getHashedDataAsHex } from './dataHashHelpers';\nimport { getCanonicalRequest } from './getCanonicalRequest';\nimport { getSigningKey } from './getSigningKey';\nimport { getStringToSign } from './getStringToSign';\n/**\n * Calculates and returns an AWS API Signature.\n * https://docs.aws.amazon.com/IAM/latest/UserGuide/create-signed-request.html\n *\n * @param request `HttpRequest` to be signed.\n * @param signRequestOptions `SignRequestOptions` object containing values used to construct the signature.\n * @returns AWS API Signature to sign a request or url with.\n *\n * @internal\n */\nexport var getSignature = function (request, _a) {\n var credentialScope = _a.credentialScope, longDate = _a.longDate, secretAccessKey = _a.secretAccessKey, shortDate = _a.shortDate, signingRegion = _a.signingRegion, signingService = _a.signingService, uriEscapePath = _a.uriEscapePath;\n // step 1: create a canonical request\n var canonicalRequest = getCanonicalRequest(request, uriEscapePath);\n // step 2: create a hash of the canonical request\n var hashedRequest = getHashedDataAsHex(null, canonicalRequest);\n // step 3: create a string to sign\n var stringToSign = getStringToSign(longDate, credentialScope, hashedRequest);\n // step 4: calculate the signature\n var signature = getHashedDataAsHex(getSigningKey(secretAccessKey, shortDate, signingRegion, signingService), stringToSign);\n return signature;\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { getCanonicalHeaders } from './getCanonicalHeaders';\nimport { getCanonicalQueryString } from './getCanonicalQueryString';\nimport { getCanonicalUri } from './getCanonicalUri';\nimport { getHashedPayload } from './getHashedPayload';\nimport { getSignedHeaders } from './getSignedHeaders';\n/**\n * Returns a canonical request.\n *\n * @param request `HttpRequest` from which to create the canonical request from.\n * @param uriEscapePath Whether to uri encode the path as part of canonical uri. It's used for S3 only where the\n * pathname is already uri encoded, and the signing process is not expected to uri encode it again. Defaults to true.\n * @returns String created by by concatenating the following strings, separated by newline characters:\n * - HTTPMethod\n * - CanonicalUri\n * - CanonicalQueryString\n * - CanonicalHeaders\n * - SignedHeaders\n * - HashedPayload\n *\n * @internal\n */\nexport var getCanonicalRequest = function (_a, uriEscapePath) {\n var body = _a.body, headers = _a.headers, method = _a.method, url = _a.url;\n if (uriEscapePath === void 0) { uriEscapePath = true; }\n return [\n method,\n getCanonicalUri(url.pathname, uriEscapePath),\n getCanonicalQueryString(url.searchParams),\n getCanonicalHeaders(headers),\n getSignedHeaders(headers),\n getHashedPayload(body),\n ].join('\\n');\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { SHA256_ALGORITHM_IDENTIFIER } from '../constants';\n/**\n * Returns a string to be signed.\n *\n * @param date Current date in the format 'YYYYMMDDThhmmssZ'.\n * @param credentialScope String representing the credential scope with format 'YYYYMMDD/region/service/aws4_request'.\n * @param hashedRequest Hashed canonical request.\n *\n * @returns A string created by by concatenating the following strings, separated by newline characters:\n * - Algorithm\n * - RequestDateTime\n * - CredentialScope\n * - HashedCanonicalRequest\n *\n * @internal\n */\nexport var getStringToSign = function (date, credentialScope, hashedRequest) {\n return [SHA256_ALGORITHM_IDENTIFIER, date, credentialScope, hashedRequest].join('\\n');\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { KEY_TYPE_IDENTIFIER, SIGNATURE_IDENTIFIER } from '../constants';\nimport { getHashedData } from './dataHashHelpers';\n/**\n * Returns a signing key to be used for signing requests.\n *\n * @param secretAccessKey AWS secret access key from credentials.\n * @param date Current date in the format 'YYYYMMDD'.\n * @param region AWS region in which the service resides.\n * @param service Service to which the signed request is being sent.\n *\n * @returns `Uint8Array` calculated from its composite parts.\n *\n * @internal\n */\nexport var getSigningKey = function (secretAccessKey, date, region, service) {\n var key = \"\".concat(SIGNATURE_IDENTIFIER).concat(secretAccessKey);\n var dateKey = getHashedData(key, date);\n var regionKey = getHashedData(dateKey, region);\n var serviceKey = getHashedData(regionKey, service);\n var signingKey = getHashedData(serviceKey, KEY_TYPE_IDENTIFIER);\n return signingKey;\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport { getSignedHeaders } from './utils/getSignedHeaders';\nimport { getSigningValues } from './utils/getSigningValues';\nimport { AMZ_DATE_HEADER, AUTH_HEADER, HOST_HEADER, SHA256_ALGORITHM_IDENTIFIER, TOKEN_HEADER, } from './constants';\nimport { getSignature } from './utils/getSignature';\n/**\n * Given a `HttpRequest`, returns a Signature Version 4 signed `HttpRequest`.\n *\n * @param request `HttpRequest` to be signed.\n * @param signRequestOptions `SignRequestOptions` object containing values used to construct the signature.\n * @returns A `HttpRequest` with authentication headers which can grant temporary access to AWS resources.\n */\nexport var signRequest = function (request, options) {\n var signingValues = getSigningValues(options);\n var accessKeyId = signingValues.accessKeyId, credentialScope = signingValues.credentialScope, longDate = signingValues.longDate, sessionToken = signingValues.sessionToken;\n // create the request to sign\n var headers = __assign({}, request.headers);\n headers[HOST_HEADER] = request.url.host;\n headers[AMZ_DATE_HEADER] = longDate;\n if (sessionToken) {\n headers[TOKEN_HEADER] = sessionToken;\n }\n var requestToSign = __assign(__assign({}, request), { headers: headers });\n // calculate and add the signature to the request\n var signature = getSignature(requestToSign, signingValues);\n var credentialEntry = \"Credential=\".concat(accessKeyId, \"/\").concat(credentialScope);\n var signedHeadersEntry = \"SignedHeaders=\".concat(getSignedHeaders(headers));\n var signatureEntry = \"Signature=\".concat(signature);\n headers[AUTH_HEADER] = \"\".concat(SHA256_ALGORITHM_IDENTIFIER, \" \").concat(credentialEntry, \", \").concat(signedHeadersEntry, \", \").concat(signatureEntry);\n return requestToSign;\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nimport { ALGORITHM_QUERY_PARAM, AMZ_DATE_QUERY_PARAM, CREDENTIAL_QUERY_PARAM, EXPIRES_QUERY_PARAM, HOST_HEADER, SHA256_ALGORITHM_IDENTIFIER, SIGNATURE_QUERY_PARAM, SIGNED_HEADERS_QUERY_PARAM, TOKEN_QUERY_PARAM, } from './constants';\nimport { getSigningValues } from './utils/getSigningValues';\nimport { getSignature } from './utils/getSignature';\n/**\n * Given a `Presignable` object, returns a Signature Version 4 presigned `URL` object.\n *\n * @param presignable `Presignable` object containing at least a url to be presigned with authentication query params.\n * @param presignUrlOptions `PresignUrlOptions` object containing values used to construct the signature.\n * @returns A `URL` with authentication query params which can grant temporary access to AWS resources.\n */\nexport var presignUrl = function (_a, _b) {\n var _c, _d, _e, _f;\n var body = _a.body, _g = _a.method, method = _g === void 0 ? 'GET' : _g, url = _a.url;\n var expiration = _b.expiration, options = __rest(_b, [\"expiration\"]);\n var signingValues = getSigningValues(options);\n var accessKeyId = signingValues.accessKeyId, credentialScope = signingValues.credentialScope, longDate = signingValues.longDate, sessionToken = signingValues.sessionToken;\n // create the request to sign\n // @ts-ignore URL constructor accepts a URL object\n var presignedUrl = new URL(url);\n Object.entries(__assign(__assign((_c = {}, _c[ALGORITHM_QUERY_PARAM] = SHA256_ALGORITHM_IDENTIFIER, _c[CREDENTIAL_QUERY_PARAM] = \"\".concat(accessKeyId, \"/\").concat(credentialScope), _c[AMZ_DATE_QUERY_PARAM] = longDate, _c[SIGNED_HEADERS_QUERY_PARAM] = HOST_HEADER, _c), (expiration && (_d = {}, _d[EXPIRES_QUERY_PARAM] = expiration.toString(), _d))), (sessionToken && (_e = {}, _e[TOKEN_QUERY_PARAM] = sessionToken, _e)))).forEach(function (_a) {\n var _b = __read(_a, 2), key = _b[0], value = _b[1];\n presignedUrl.searchParams.append(key, value);\n });\n var requestToSign = {\n body: body,\n headers: (_f = {}, _f[HOST_HEADER] = url.host, _f),\n method: method,\n url: presignedUrl,\n };\n // calculate and add the signature to the url\n var signature = getSignature(requestToSign, signingValues);\n presignedUrl.searchParams.append(SIGNATURE_QUERY_PARAM, signature);\n return presignedUrl;\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport { DateUtils } from './Util';\nimport { presignUrl, signRequest, TOKEN_QUERY_PARAM, } from './clients/middleware/signing/signer/signatureV4';\nvar IOT_SERVICE_NAME = 'iotdevicegateway';\n// Best practice regex to parse the service and region from an AWS endpoint\nvar AWS_ENDPOINT_REGEX = /([^\\.]+)\\.(?:([^\\.]*)\\.)?amazonaws\\.com(.cn)?$/;\nvar Signer = /** @class */ (function () {\n function Signer() {\n }\n /**\n * Sign a HTTP request, add 'Authorization' header to request param\n * @method sign\n * @memberof Signer\n * @static\n *\n * @param {object} request - HTTP request object\n
\n    request: {\n        method: GET | POST | PUT ...\n        url: ...,\n        headers: {\n            header1: ...\n        },\n        data: data\n    }\n    
\n * @param {object} access_info - AWS access credential info\n
\n    access_info: {\n        access_key: ...,\n        secret_key: ...,\n        session_token: ...\n    }\n    
\n * @param {object} [service_info] - AWS service type and region, optional,\n * if not provided then parse out from url\n
\n    service_info: {\n        service: ...,\n        region: ...\n    }\n    
\n *\n * @returns {object} Signed HTTP request\n */\n Signer.sign = function (request, accessInfo, serviceInfo) {\n request.headers = request.headers || {};\n if (request.body && !request.data) {\n throw new Error('The attribute \"body\" was found on the request object. Please use the attribute \"data\" instead.');\n }\n var requestToSign = __assign(__assign({}, request), { body: request.data, url: new URL(request.url) });\n var options = getOptions(requestToSign, accessInfo, serviceInfo);\n var signedRequest = signRequest(requestToSign, options);\n // Prior to using `signRequest`, Signer accepted urls as strings and outputted urls as string. Coerce the property\n // back to a string so as not to disrupt consumers of Signer.\n signedRequest.url = signedRequest.url.toString();\n // HTTP headers should be case insensitive but, to maintain parity with the previous Signer implementation and\n // limit the impact of this implementation swap, replace lowercased headers with title cased ones.\n signedRequest.headers.Authorization = signedRequest.headers.authorization;\n signedRequest.headers['X-Amz-Security-Token'] =\n signedRequest.headers['x-amz-security-token'];\n delete signedRequest.headers.authorization;\n delete signedRequest.headers['x-amz-security-token'];\n return signedRequest;\n };\n Signer.signUrl = function (urlOrRequest, accessInfo, serviceInfo, expiration) {\n var urlToSign = typeof urlOrRequest === 'object' ? urlOrRequest.url : urlOrRequest;\n var method = typeof urlOrRequest === 'object' ? urlOrRequest.method : 'GET';\n var body = typeof urlOrRequest === 'object' ? urlOrRequest.body : undefined;\n var presignable = {\n body: body,\n method: method,\n url: new URL(urlToSign),\n };\n var options = getOptions(presignable, accessInfo, serviceInfo, expiration);\n var signedUrl = presignUrl(presignable, options);\n if (accessInfo.session_token &&\n !sessionTokenRequiredInSigning(options.signingService)) {\n signedUrl.searchParams.append(TOKEN_QUERY_PARAM, accessInfo.session_token);\n }\n return signedUrl.toString();\n };\n return Signer;\n}());\nexport { Signer };\nvar getOptions = function (request, accessInfo, serviceInfo, expiration) {\n var _a = accessInfo !== null && accessInfo !== void 0 ? accessInfo : {}, access_key = _a.access_key, secret_key = _a.secret_key, session_token = _a.session_token;\n var _b = parseServiceInfo(request.url), urlRegion = _b.region, urlService = _b.service;\n var _c = serviceInfo !== null && serviceInfo !== void 0 ? serviceInfo : {}, _d = _c.region, region = _d === void 0 ? urlRegion : _d, _e = _c.service, service = _e === void 0 ? urlService : _e;\n var credentials = __assign({ accessKeyId: access_key, secretAccessKey: secret_key }, (sessionTokenRequiredInSigning(service)\n ? { sessionToken: session_token }\n : {}));\n return __assign({ credentials: credentials, signingDate: DateUtils.getDateWithClockOffset(), signingRegion: region, signingService: service }, (expiration && { expiration: expiration }));\n};\n// TODO: V6 investigate whether add to custom clients' general signer implementation.\nvar parseServiceInfo = function (url) {\n var _a;\n var host = url.host;\n var matched = (_a = host.match(AWS_ENDPOINT_REGEX)) !== null && _a !== void 0 ? _a : [];\n var parsed = matched.slice(1, 3);\n if (parsed[1] === 'es') {\n // Elastic Search\n parsed = parsed.reverse();\n }\n return {\n service: parsed[0],\n region: parsed[1],\n };\n};\n// IoT service does not allow the session token in the canonical request\n// https://docs.aws.amazon.com/general/latest/gr/sigv4-add-signature-to-request.html\n// TODO: V6 investigate whether add to custom clients' general signer implementation.\nvar sessionTokenRequiredInSigning = function (service) {\n return service !== IOT_SERVICE_NAME;\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\r\n// SPDX-License-Identifier: Apache-2.0\r\n\r\nimport { CacheConfig, CacheItem, CacheItemOptions } from '../types';\r\nimport { StorageHelper } from '@aws-amplify/core';\r\n/**\r\n * Default cache config\r\n */\r\nexport const defaultConfig: CacheConfig = {\r\n\tkeyPrefix: 'aws-amplify-cache',\r\n\tcapacityInBytes: 1048576, // 1MB\r\n\titemMaxSize: 210000, // about 200kb\r\n\tdefaultTTL: 259200000, // about 3 days\r\n\tdefaultPriority: 5,\r\n\twarningThreshold: 0.8,\r\n\t// the storage helper will check if localStorage exists,\r\n\t// if not, will use a in-memory object instead\r\n\tstorage: new StorageHelper().getStorage(),\r\n};\r\n\r\n/**\r\n * return the byte size of the string\r\n * @param str\r\n */\r\nexport function getByteLength(str: string): number {\r\n\tlet ret: number = 0;\r\n\tret = str.length;\r\n\r\n\tfor (let i = str.length; i >= 0; i -= 1) {\r\n\t\tconst charCode: number = str.charCodeAt(i);\r\n\t\tif (charCode > 0x7f && charCode <= 0x7ff) {\r\n\t\t\tret += 1;\r\n\t\t} else if (charCode > 0x7ff && charCode <= 0xffff) {\r\n\t\t\tret += 2;\r\n\t\t}\r\n\t\t// trail surrogate\r\n\t\tif (charCode >= 0xdc00 && charCode <= 0xdfff) {\r\n\t\t\ti -= 1;\r\n\t\t}\r\n\t}\r\n\r\n\treturn ret;\r\n}\r\n\r\n/**\r\n * get current time\r\n */\r\nexport function getCurrTime(): number {\r\n\tconst currTime = new Date();\r\n\treturn currTime.getTime();\r\n}\r\n\r\n/**\r\n * check if passed value is an integer\r\n */\r\nexport function isInteger(value): boolean {\r\n\tif (Number.isInteger) {\r\n\t\treturn Number.isInteger(value);\r\n\t}\r\n\r\n\treturn _isInteger(value);\r\n}\r\n\r\nfunction _isInteger(value): boolean {\r\n\treturn (\r\n\t\ttypeof value === 'number' && isFinite(value) && Math.floor(value) === value\r\n\t);\r\n}\r\n\r\n/**\r\n * provide an object as the in-memory cache\r\n */\r\nlet store = {};\r\nexport class CacheObject {\r\n\tstatic clear(): void {\r\n\t\tstore = {};\r\n\t}\r\n\r\n\tstatic getItem(key: string): string | null {\r\n\t\treturn store[key] || null;\r\n\t}\r\n\r\n\tstatic setItem(key: string, value: string): void {\r\n\t\tstore[key] = value;\r\n\t}\r\n\r\n\tstatic removeItem(key: string): void {\r\n\t\tdelete store[key];\r\n\t}\r\n}\r\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\r\n// SPDX-License-Identifier: Apache-2.0\r\n\r\nimport { getCurrTime, getByteLength, defaultConfig, isInteger } from './Utils';\r\n\r\nimport { CacheConfig, CacheItem, CacheItemOptions } from './types';\r\nimport { ConsoleLogger as Logger } from '@aws-amplify/core';\r\n\r\nconst logger = new Logger('StorageCache');\r\n\r\n/**\r\n * Initialization of the cache\r\n *\r\n */\r\nexport class StorageCache {\r\n\tprotected cacheCurSizeKey: string;\r\n\tprotected config: CacheConfig;\r\n\r\n\t/**\r\n\t * Initialize the cache\r\n\t * @param config - the configuration of the cache\r\n\t */\r\n\tconstructor(config: CacheConfig) {\r\n\t\tthis.config = Object.assign({}, config);\r\n\t\tthis.cacheCurSizeKey = this.config.keyPrefix + 'CurSize';\r\n\t\tthis.checkConfig();\r\n\t}\r\n\r\n\tpublic getModuleName() {\r\n\t\treturn 'Cache';\r\n\t}\r\n\r\n\tprivate checkConfig(): void {\r\n\t\t// check configuration\r\n\t\tif (!isInteger(this.config.capacityInBytes)) {\r\n\t\t\tlogger.error(\r\n\t\t\t\t'Invalid parameter: capacityInBytes. It should be an Integer. Setting back to default.'\r\n\t\t\t);\r\n\t\t\tthis.config.capacityInBytes = defaultConfig.capacityInBytes;\r\n\t\t}\r\n\r\n\t\tif (!isInteger(this.config.itemMaxSize)) {\r\n\t\t\tlogger.error(\r\n\t\t\t\t'Invalid parameter: itemMaxSize. It should be an Integer. Setting back to default.'\r\n\t\t\t);\r\n\t\t\tthis.config.itemMaxSize = defaultConfig.itemMaxSize;\r\n\t\t}\r\n\r\n\t\tif (!isInteger(this.config.defaultTTL)) {\r\n\t\t\tlogger.error(\r\n\t\t\t\t'Invalid parameter: defaultTTL. It should be an Integer. Setting back to default.'\r\n\t\t\t);\r\n\t\t\tthis.config.defaultTTL = defaultConfig.defaultTTL;\r\n\t\t}\r\n\r\n\t\tif (!isInteger(this.config.defaultPriority)) {\r\n\t\t\tlogger.error(\r\n\t\t\t\t'Invalid parameter: defaultPriority. It should be an Integer. Setting back to default.'\r\n\t\t\t);\r\n\t\t\tthis.config.defaultPriority = defaultConfig.defaultPriority;\r\n\t\t}\r\n\r\n\t\tif (this.config.itemMaxSize > this.config.capacityInBytes) {\r\n\t\t\tlogger.error(\r\n\t\t\t\t'Invalid parameter: itemMaxSize. It should be smaller than capacityInBytes. Setting back to default.'\r\n\t\t\t);\r\n\t\t\tthis.config.itemMaxSize = defaultConfig.itemMaxSize;\r\n\t\t}\r\n\r\n\t\tif (this.config.defaultPriority > 5 || this.config.defaultPriority < 1) {\r\n\t\t\tlogger.error(\r\n\t\t\t\t'Invalid parameter: defaultPriority. It should be between 1 and 5. Setting back to default.'\r\n\t\t\t);\r\n\t\t\tthis.config.defaultPriority = defaultConfig.defaultPriority;\r\n\t\t}\r\n\r\n\t\tif (\r\n\t\t\tNumber(this.config.warningThreshold) > 1 ||\r\n\t\t\tNumber(this.config.warningThreshold) < 0\r\n\t\t) {\r\n\t\t\tlogger.error(\r\n\t\t\t\t'Invalid parameter: warningThreshold. It should be between 0 and 1. Setting back to default.'\r\n\t\t\t);\r\n\t\t\tthis.config.warningThreshold = defaultConfig.warningThreshold;\r\n\t\t}\r\n\t\t// set 5MB limit\r\n\t\tconst cacheLimit: number = 5 * 1024 * 1024;\r\n\t\tif (this.config.capacityInBytes > cacheLimit) {\r\n\t\t\tlogger.error(\r\n\t\t\t\t'Cache Capacity should be less than 5MB. Setting back to default. Setting back to default.'\r\n\t\t\t);\r\n\t\t\tthis.config.capacityInBytes = defaultConfig.capacityInBytes;\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * produce a JSON object with meta-data and data value\r\n\t * @param value - the value of the item\r\n\t * @param options - optional, the specified meta-data\r\n\t *\r\n\t * @return - the item which has the meta-data and the value\r\n\t */\r\n\tprotected fillCacheItem(\r\n\t\tkey: string,\r\n\t\tvalue: object | number | string | boolean,\r\n\t\toptions: CacheItemOptions\r\n\t): CacheItem {\r\n\t\tconst ret: CacheItem = {\r\n\t\t\tkey,\r\n\t\t\tdata: value,\r\n\t\t\ttimestamp: getCurrTime(),\r\n\t\t\tvisitedTime: getCurrTime(),\r\n\t\t\tpriority: options.priority,\r\n\t\t\texpires: options.expires,\r\n\t\t\ttype: typeof value,\r\n\t\t\tbyteSize: 0,\r\n\t\t};\r\n\r\n\t\tret.byteSize = getByteLength(JSON.stringify(ret));\r\n\r\n\t\t// for accurate size\r\n\t\tret.byteSize = getByteLength(JSON.stringify(ret));\r\n\t\treturn ret;\r\n\t}\r\n\r\n\t/**\r\n\t * set cache with customized configuration\r\n\t * @param config - customized configuration\r\n\t *\r\n\t * @return - the current configuration\r\n\t */\r\n\tpublic configure(config?: CacheConfig): CacheConfig {\r\n\t\tif (!config) {\r\n\t\t\treturn this.config;\r\n\t\t}\r\n\t\tif (config.keyPrefix) {\r\n\t\t\tlogger.warn(`Don't try to configure keyPrefix!`);\r\n\t\t}\r\n\r\n\t\tthis.config = Object.assign({}, this.config, config, config.Cache);\r\n\t\tthis.checkConfig();\r\n\t\treturn this.config;\r\n\t}\r\n}\r\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\r\n// SPDX-License-Identifier: Apache-2.0\r\n\r\nimport { Amplify, ConsoleLogger as Logger } from '@aws-amplify/core';\r\nimport { defaultConfig, getCurrTime } from './Utils';\r\nimport { StorageCache } from './StorageCache';\r\nimport { ICache, CacheConfig, CacheItem, CacheItemOptions } from './types';\r\n\r\nconst logger = new Logger('Cache');\r\n\r\n/**\r\n * Customized storage based on the SessionStorage or LocalStorage with LRU implemented\r\n */\r\nexport class BrowserStorageCacheClass extends StorageCache implements ICache {\r\n\t/**\r\n\t * initialize the cache\r\n\t * @param config - the configuration of the cache\r\n\t */\r\n\tconstructor(config?: CacheConfig) {\r\n\t\tconst cacheConfig = config\r\n\t\t\t? Object.assign({}, defaultConfig, config)\r\n\t\t\t: defaultConfig;\r\n\t\tsuper(cacheConfig);\r\n\t\tthis.config.storage = cacheConfig.storage;\r\n\t\tthis.getItem = this.getItem.bind(this);\r\n\t\tthis.setItem = this.setItem.bind(this);\r\n\t\tthis.removeItem = this.removeItem.bind(this);\r\n\t}\r\n\r\n\t/**\r\n\t * decrease current size of the cache\r\n\t *\r\n\t * @private\r\n\t * @param amount - the amount of the cache size which needs to be decreased\r\n\t */\r\n\tprivate _decreaseCurSizeInBytes(amount: number): void {\r\n\t\tconst curSize: number = this.getCacheCurSize();\r\n\t\tthis.config.storage.setItem(\r\n\t\t\tthis.cacheCurSizeKey,\r\n\t\t\t(curSize - amount).toString()\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * increase current size of the cache\r\n\t *\r\n\t * @private\r\n\t * @param amount - the amount of the cache szie which need to be increased\r\n\t */\r\n\tprivate _increaseCurSizeInBytes(amount: number): void {\r\n\t\tconst curSize: number = this.getCacheCurSize();\r\n\t\tthis.config.storage.setItem(\r\n\t\t\tthis.cacheCurSizeKey,\r\n\t\t\t(curSize + amount).toString()\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * update the visited time if item has been visited\r\n\t *\r\n\t * @private\r\n\t * @param item - the item which need to be refreshed\r\n\t * @param prefixedKey - the key of the item\r\n\t *\r\n\t * @return the refreshed item\r\n\t */\r\n\tprivate _refreshItem(item: CacheItem, prefixedKey: string): CacheItem {\r\n\t\titem.visitedTime = getCurrTime();\r\n\t\tthis.config.storage.setItem(prefixedKey, JSON.stringify(item));\r\n\t\treturn item;\r\n\t}\r\n\r\n\t/**\r\n\t * check wether item is expired\r\n\t *\r\n\t * @private\r\n\t * @param key - the key of the item\r\n\t *\r\n\t * @return true if the item is expired.\r\n\t */\r\n\tprivate _isExpired(key: string): boolean {\r\n\t\tconst text: string | null = this.config.storage.getItem(key);\r\n\t\tconst item: CacheItem = JSON.parse(text);\r\n\t\tif (getCurrTime() >= item.expires) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\treturn false;\r\n\t}\r\n\r\n\t/**\r\n\t * delete item from cache\r\n\t *\r\n\t * @private\r\n\t * @param prefixedKey - the key of the item\r\n\t * @param size - optional, the byte size of the item\r\n\t */\r\n\tprivate _removeItem(prefixedKey: string, size?: number): void {\r\n\t\tconst itemSize: number = size\r\n\t\t\t? size\r\n\t\t\t: JSON.parse(this.config.storage.getItem(prefixedKey)).byteSize;\r\n\t\tthis._decreaseCurSizeInBytes(itemSize);\r\n\t\t// remove the cache item\r\n\t\tthis.config.storage.removeItem(prefixedKey);\r\n\t}\r\n\r\n\t/**\r\n\t * put item into cache\r\n\t *\r\n\t * @private\r\n\t * @param prefixedKey - the key of the item\r\n\t * @param itemData - the value of the item\r\n\t * @param itemSizeInBytes - the byte size of the item\r\n\t */\r\n\tprivate _setItem(prefixedKey: string, item: CacheItem): void {\r\n\t\t// update the cache size\r\n\t\tthis._increaseCurSizeInBytes(item.byteSize);\r\n\r\n\t\ttry {\r\n\t\t\tthis.config.storage.setItem(prefixedKey, JSON.stringify(item));\r\n\t\t} catch (setItemErr) {\r\n\t\t\t// if failed, we need to rollback the cache size\r\n\t\t\tthis._decreaseCurSizeInBytes(item.byteSize);\r\n\t\t\tlogger.error(`Failed to set item ${setItemErr}`);\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * total space needed when poping out items\r\n\t *\r\n\t * @private\r\n\t * @param itemSize\r\n\t *\r\n\t * @return total space needed\r\n\t */\r\n\tprivate _sizeToPop(itemSize: number): number {\r\n\t\tconst spaceItemNeed =\r\n\t\t\tthis.getCacheCurSize() + itemSize - this.config.capacityInBytes;\r\n\t\tconst cacheThresholdSpace =\r\n\t\t\t(1 - this.config.warningThreshold) * this.config.capacityInBytes;\r\n\t\treturn spaceItemNeed > cacheThresholdSpace\r\n\t\t\t? spaceItemNeed\r\n\t\t\t: cacheThresholdSpace;\r\n\t}\r\n\r\n\t/**\r\n\t * see whether cache is full\r\n\t *\r\n\t * @private\r\n\t * @param itemSize\r\n\t *\r\n\t * @return true if cache is full\r\n\t */\r\n\tprivate _isCacheFull(itemSize: number): boolean {\r\n\t\treturn itemSize + this.getCacheCurSize() > this.config.capacityInBytes;\r\n\t}\r\n\r\n\t/**\r\n\t * scan the storage and find out all the keys owned by this cache\r\n\t * also clean the expired keys while scanning\r\n\t *\r\n\t * @private\r\n\t *\r\n\t * @return array of keys\r\n\t */\r\n\tprivate _findValidKeys(): string[] {\r\n\t\tconst keys: string[] = [];\r\n\t\tconst keyInCache: string[] = [];\r\n\t\t// get all keys in Storage\r\n\t\tfor (let i = 0; i < this.config.storage.length; i += 1) {\r\n\t\t\tkeyInCache.push(this.config.storage.key(i));\r\n\t\t}\r\n\r\n\t\t// find those items which belong to our cache and also clean those expired items\r\n\t\tfor (let i = 0; i < keyInCache.length; i += 1) {\r\n\t\t\tconst key: string = keyInCache[i];\r\n\t\t\tif (\r\n\t\t\t\tkey.indexOf(this.config.keyPrefix) === 0 &&\r\n\t\t\t\tkey !== this.cacheCurSizeKey\r\n\t\t\t) {\r\n\t\t\t\tif (this._isExpired(key)) {\r\n\t\t\t\t\tthis._removeItem(key);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tkeys.push(key);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn keys;\r\n\t}\r\n\r\n\t/**\r\n\t * get all the items we have, sort them by their priority,\r\n\t * if priority is same, sort them by their last visited time\r\n\t * pop out items from the low priority (5 is the lowest)\r\n\t *\r\n\t * @private\r\n\t * @param keys - all the keys in this cache\r\n\t * @param sizeToPop - the total size of the items which needed to be poped out\r\n\t */\r\n\tprivate _popOutItems(keys: string[], sizeToPop: number): void {\r\n\t\tconst items: CacheItem[] = [];\r\n\t\tlet remainedSize: number = sizeToPop;\r\n\t\t// get the items from Storage\r\n\t\tfor (let i = 0; i < keys.length; i += 1) {\r\n\t\t\tconst val: string | null = this.config.storage.getItem(keys[i]);\r\n\t\t\tif (val != null) {\r\n\t\t\t\tconst item: CacheItem = JSON.parse(val);\r\n\t\t\t\titems.push(item);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// first compare priority\r\n\t\t// then compare visited time\r\n\t\titems.sort((a, b) => {\r\n\t\t\tif (a.priority > b.priority) {\r\n\t\t\t\treturn -1;\r\n\t\t\t} else if (a.priority < b.priority) {\r\n\t\t\t\treturn 1;\r\n\t\t\t} else {\r\n\t\t\t\tif (a.visitedTime < b.visitedTime) {\r\n\t\t\t\t\treturn -1;\r\n\t\t\t\t} else return 1;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tfor (let i = 0; i < items.length; i += 1) {\r\n\t\t\t// pop out items until we have enough room for new item\r\n\t\t\tthis._removeItem(items[i].key, items[i].byteSize);\r\n\t\t\tremainedSize -= items[i].byteSize;\r\n\t\t\tif (remainedSize <= 0) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Set item into cache. You can put number, string, boolean or object.\r\n\t * The cache will first check whether has the same key.\r\n\t * If it has, it will delete the old item and then put the new item in\r\n\t * The cache will pop out items if it is full\r\n\t * You can specify the cache item options. The cache will abort and output a warning:\r\n\t * If the key is invalid\r\n\t * If the size of the item exceeds itemMaxSize.\r\n\t * If the value is undefined\r\n\t * If incorrect cache item configuration\r\n\t * If error happened with browser storage\r\n\t *\r\n\t * @param key - the key of the item\r\n\t * @param value - the value of the item\r\n\t * @param {Object} [options] - optional, the specified meta-data\r\n\t */\r\n\tpublic setItem(\r\n\t\tkey: string,\r\n\t\tvalue: object | number | string | boolean,\r\n\t\toptions?: CacheItemOptions\r\n\t): void {\r\n\t\tlogger.log(\r\n\t\t\t`Set item: key is ${key}, value is ${value} with options: ${options}`\r\n\t\t);\r\n\t\tconst prefixedKey: string = this.config.keyPrefix + key;\r\n\t\t// invalid keys\r\n\t\tif (\r\n\t\t\tprefixedKey === this.config.keyPrefix ||\r\n\t\t\tprefixedKey === this.cacheCurSizeKey\r\n\t\t) {\r\n\t\t\tlogger.warn(`Invalid key: should not be empty or 'CurSize'`);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (typeof value === 'undefined') {\r\n\t\t\tlogger.warn(`The value of item should not be undefined!`);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst cacheItemOptions: CacheItemOptions = {\r\n\t\t\tpriority:\r\n\t\t\t\toptions && options.priority !== undefined\r\n\t\t\t\t\t? options.priority\r\n\t\t\t\t\t: this.config.defaultPriority,\r\n\t\t\texpires:\r\n\t\t\t\toptions && options.expires !== undefined\r\n\t\t\t\t\t? options.expires\r\n\t\t\t\t\t: this.config.defaultTTL + getCurrTime(),\r\n\t\t};\r\n\r\n\t\tif (cacheItemOptions.priority < 1 || cacheItemOptions.priority > 5) {\r\n\t\t\tlogger.warn(\r\n\t\t\t\t`Invalid parameter: priority due to out or range. It should be within 1 and 5.`\r\n\t\t\t);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst item: CacheItem = this.fillCacheItem(\r\n\t\t\tprefixedKey,\r\n\t\t\tvalue,\r\n\t\t\tcacheItemOptions\r\n\t\t);\r\n\r\n\t\t// check wether this item is too big;\r\n\t\tif (item.byteSize > this.config.itemMaxSize) {\r\n\t\t\tlogger.warn(\r\n\t\t\t\t`Item with key: ${key} you are trying to put into is too big!`\r\n\t\t\t);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\ttry {\r\n\t\t\t// first look into the storage, if it exists, delete it.\r\n\t\t\tconst val: string | null = this.config.storage.getItem(prefixedKey);\r\n\t\t\tif (val) {\r\n\t\t\t\tthis._removeItem(prefixedKey, JSON.parse(val).byteSize);\r\n\t\t\t}\r\n\r\n\t\t\t// check whether the cache is full\r\n\t\t\tif (this._isCacheFull(item.byteSize)) {\r\n\t\t\t\tconst validKeys: string[] = this._findValidKeys();\r\n\t\t\t\t// check again and then pop out items\r\n\t\t\t\tif (this._isCacheFull(item.byteSize)) {\r\n\t\t\t\t\tconst sizeToPop: number = this._sizeToPop(item.byteSize);\r\n\t\t\t\t\tthis._popOutItems(validKeys, sizeToPop);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// put item in the cache\r\n\t\t\t// may failed due to storage full\r\n\t\t\tthis._setItem(prefixedKey, item);\r\n\t\t} catch (e) {\r\n\t\t\tlogger.warn(`setItem failed! ${e}`);\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Get item from cache. It will return null if item doesn’t exist or it has been expired.\r\n\t * If you specified callback function in the options,\r\n\t * then the function will be executed if no such item in the cache\r\n\t * and finally put the return value into cache.\r\n\t * Please make sure the callback function will return the value you want to put into the cache.\r\n\t * The cache will abort output a warning:\r\n\t * If the key is invalid\r\n\t * If error happened with browser storage\r\n\t *\r\n\t * @param key - the key of the item\r\n\t * @param {Object} [options] - the options of callback function\r\n\t *\r\n\t * @return - return the value of the item\r\n\t */\r\n\tpublic getItem(key: string, options?: CacheItemOptions): any {\r\n\t\tlogger.log(`Get item: key is ${key} with options ${options}`);\r\n\t\tlet ret: string | null = null;\r\n\t\tconst prefixedKey: string = this.config.keyPrefix + key;\r\n\r\n\t\tif (\r\n\t\t\tprefixedKey === this.config.keyPrefix ||\r\n\t\t\tprefixedKey === this.cacheCurSizeKey\r\n\t\t) {\r\n\t\t\tlogger.warn(`Invalid key: should not be empty or 'CurSize'`);\r\n\t\t\treturn null;\r\n\t\t}\r\n\r\n\t\ttry {\r\n\t\t\tret = this.config.storage.getItem(prefixedKey);\r\n\t\t\tif (ret != null) {\r\n\t\t\t\tif (this._isExpired(prefixedKey)) {\r\n\t\t\t\t\t// if expired, remove that item and return null\r\n\t\t\t\t\tthis._removeItem(prefixedKey, JSON.parse(ret).byteSize);\r\n\t\t\t\t\tret = null;\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// if not expired, great, return the value and refresh it\r\n\t\t\t\t\tlet item: CacheItem = JSON.parse(ret);\r\n\t\t\t\t\titem = this._refreshItem(item, prefixedKey);\r\n\t\t\t\t\treturn item.data;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (options && options.callback !== undefined) {\r\n\t\t\t\tconst val: object | string | number | boolean = options.callback();\r\n\t\t\t\tif (val !== null) {\r\n\t\t\t\t\tthis.setItem(key, val, options);\r\n\t\t\t\t}\r\n\t\t\t\treturn val;\r\n\t\t\t}\r\n\t\t\treturn null;\r\n\t\t} catch (e) {\r\n\t\t\tlogger.warn(`getItem failed! ${e}`);\r\n\t\t\treturn null;\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * remove item from the cache\r\n\t * The cache will abort output a warning:\r\n\t * If error happened with browser storage\r\n\t * @param key - the key of the item\r\n\t */\r\n\tpublic removeItem(key: string): void {\r\n\t\tlogger.log(`Remove item: key is ${key}`);\r\n\t\tconst prefixedKey: string = this.config.keyPrefix + key;\r\n\r\n\t\tif (\r\n\t\t\tprefixedKey === this.config.keyPrefix ||\r\n\t\t\tprefixedKey === this.cacheCurSizeKey\r\n\t\t) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\ttry {\r\n\t\t\tconst val: string | null = this.config.storage.getItem(prefixedKey);\r\n\t\t\tif (val) {\r\n\t\t\t\tthis._removeItem(prefixedKey, JSON.parse(val).byteSize);\r\n\t\t\t}\r\n\t\t} catch (e) {\r\n\t\t\tlogger.warn(`removeItem failed! ${e}`);\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * clear the entire cache\r\n\t * The cache will abort output a warning:\r\n\t * If error happened with browser storage\r\n\t */\r\n\tpublic clear(): void {\r\n\t\tlogger.log(`Clear Cache`);\r\n\t\tconst keysToRemove: string[] = [];\r\n\r\n\t\tfor (let i = 0; i < this.config.storage.length; i += 1) {\r\n\t\t\tconst key = this.config.storage.key(i);\r\n\t\t\tif (key.indexOf(this.config.keyPrefix) === 0) {\r\n\t\t\t\tkeysToRemove.push(key);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\ttry {\r\n\t\t\tfor (let i = 0; i < keysToRemove.length; i += 1) {\r\n\t\t\t\tthis.config.storage.removeItem(keysToRemove[i]);\r\n\t\t\t}\r\n\t\t} catch (e) {\r\n\t\t\tlogger.warn(`clear failed! ${e}`);\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Return all the keys in the cache.\r\n\t *\r\n\t * @return - all keys in the cache\r\n\t */\r\n\tpublic getAllKeys(): string[] {\r\n\t\tconst keys: string[] = [];\r\n\t\tfor (let i = 0; i < this.config.storage.length; i += 1) {\r\n\t\t\tconst key = this.config.storage.key(i);\r\n\t\t\tif (\r\n\t\t\t\tkey.indexOf(this.config.keyPrefix) === 0 &&\r\n\t\t\t\tkey !== this.cacheCurSizeKey\r\n\t\t\t) {\r\n\t\t\t\tkeys.push(key.substring(this.config.keyPrefix.length));\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn keys;\r\n\t}\r\n\r\n\t/**\r\n\t * return the current size of the cache\r\n\t *\r\n\t * @return - current size of the cache\r\n\t */\r\n\tpublic getCacheCurSize(): number {\r\n\t\tlet ret: string | null = this.config.storage.getItem(this.cacheCurSizeKey);\r\n\t\tif (!ret) {\r\n\t\t\tthis.config.storage.setItem(this.cacheCurSizeKey, '0');\r\n\t\t\tret = '0';\r\n\t\t}\r\n\t\treturn Number(ret);\r\n\t}\r\n\r\n\t/**\r\n\t * Return a new instance of cache with customized configuration.\r\n\t * @param config - the customized configuration\r\n\t *\r\n\t * @return - new instance of Cache\r\n\t */\r\n\tpublic createInstance(config: CacheConfig): ICache {\r\n\t\tif (!config.keyPrefix || config.keyPrefix === defaultConfig.keyPrefix) {\r\n\t\t\tlogger.error('invalid keyPrefix, setting keyPrefix with timeStamp');\r\n\t\t\tconfig.keyPrefix = getCurrTime.toString();\r\n\t\t}\r\n\r\n\t\treturn new BrowserStorageCacheClass(config);\r\n\t}\r\n}\r\n\r\nexport const BrowserStorageCache: ICache = new BrowserStorageCacheClass();\r\n\r\nAmplify.register(BrowserStorageCache);\r\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport Observable from 'zen-observable-ts';\nimport { PubSubProvider, ProviderOptions } from '../types/Provider';\nimport {\n\tCustomUserAgentDetails,\n\tConsoleLogger as Logger,\n} from '@aws-amplify/core';\nimport { PubSubContent } from '../types/PubSub';\n\nconst logger = new Logger('AbstractPubSubProvider');\n\nexport abstract class AbstractPubSubProvider\n\timplements PubSubProvider\n{\n\tprivate _config: T;\n\n\tconstructor(options: T) {\n\t\tthis._config = options;\n\t}\n\n\tconfigure(config: T): T {\n\t\tthis._config = { ...config, ...this._config };\n\n\t\tlogger.debug(`configure ${this.getProviderName()}`, this._config);\n\n\t\treturn this.options;\n\t}\n\n\tgetCategory() {\n\t\treturn 'PubSub';\n\t}\n\n\tabstract getProviderName(): string;\n\n\tprotected get options(): T {\n\t\treturn { ...this._config };\n\t}\n\n\tpublic abstract newClient(clientOptions: T): Promise;\n\n\tpublic abstract publish(\n\t\ttopics: string[] | string,\n\t\tmsg: PubSubContent,\n\t\toptions?: T\n\t): void;\n\n\tpublic abstract subscribe(\n\t\ttopics: string[] | string,\n\t\toptions?: T,\n\t\tcustomUserAgentDetails?: CustomUserAgentDetails\n\t): Observable;\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { ZenObservable } from 'zen-observable-ts';\n\nexport interface SubscriptionObserver {\n\tclosed: boolean;\n\tnext(value: T): void;\n\terror(errorValue: any): void;\n\tcomplete(): void;\n}\n\nexport enum CONTROL_MSG {\n\tCONNECTION_CLOSED = 'Connection closed',\n\tCONNECTION_FAILED = 'Connection failed',\n\tREALTIME_SUBSCRIPTION_INIT_ERROR = 'AppSync Realtime subscription init error',\n\tSUBSCRIPTION_ACK = 'Subscription ack',\n\tTIMEOUT_DISCONNECT = 'Timeout disconnect',\n}\n\n/** @enum {string} */\nexport enum ConnectionState {\n\t/*\n\t * The connection is alive and healthy\n\t */\n\tConnected = 'Connected',\n\t/*\n\t * The connection is alive, but the connection is offline\n\t */\n\tConnectedPendingNetwork = 'ConnectedPendingNetwork',\n\t/*\n\t * The connection has been disconnected while in use\n\t */\n\tConnectionDisrupted = 'ConnectionDisrupted',\n\t/*\n\t * The connection has been disconnected and the network is offline\n\t */\n\tConnectionDisruptedPendingNetwork = 'ConnectionDisruptedPendingNetwork',\n\t/*\n\t * The connection is in the process of connecting\n\t */\n\tConnecting = 'Connecting',\n\t/*\n\t * The connection is not in use and is being disconnected\n\t */\n\tConnectedPendingDisconnect = 'ConnectedPendingDisconnect',\n\t/*\n\t * The connection is not in use and has been disconnected\n\t */\n\tDisconnected = 'Disconnected',\n\t/*\n\t * The connection is alive, but a keep alive message has been missed\n\t */\n\tConnectedPendingKeepAlive = 'ConnectedPendingKeepAlive',\n}\n\nexport type PubSubContent = Record | string;\nexport type PubSubContentObserver =\n\tZenObservable.SubscriptionObserver;\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport const MAX_DELAY_MS = 5000;\n\nexport const NON_RETRYABLE_CODES = [400, 401, 403];\n\nexport const CONNECTION_STATE_CHANGE = 'ConnectionStateChange';\n\nexport enum MESSAGE_TYPES {\n\t/**\n\t * Client -> Server message.\n\t * This message type is the first message after handshake and this will initialize AWS AppSync RealTime communication\n\t */\n\tGQL_CONNECTION_INIT = 'connection_init',\n\t/**\n\t * Server -> Client message\n\t * This message type is in case there is an issue with AWS AppSync RealTime when establishing connection\n\t */\n\tGQL_CONNECTION_ERROR = 'connection_error',\n\t/**\n\t * Server -> Client message.\n\t * This message type is for the ack response from AWS AppSync RealTime for GQL_CONNECTION_INIT message\n\t */\n\tGQL_CONNECTION_ACK = 'connection_ack',\n\t/**\n\t * Client -> Server message.\n\t * This message type is for register subscriptions with AWS AppSync RealTime\n\t */\n\tGQL_START = 'start',\n\t/**\n\t * Server -> Client message.\n\t * This message type is for the ack response from AWS AppSync RealTime for GQL_START message\n\t */\n\tGQL_START_ACK = 'start_ack',\n\t/**\n\t * Server -> Client message.\n\t * This message type is for subscription message from AWS AppSync RealTime\n\t */\n\tGQL_DATA = 'data',\n\t/**\n\t * Server -> Client message.\n\t * This message type helps the client to know is still receiving messages from AWS AppSync RealTime\n\t */\n\tGQL_CONNECTION_KEEP_ALIVE = 'ka',\n\t/**\n\t * Client -> Server message.\n\t * This message type is for unregister subscriptions with AWS AppSync RealTime\n\t */\n\tGQL_STOP = 'stop',\n\t/**\n\t * Server -> Client message.\n\t * This message type is for the ack response from AWS AppSync RealTime for GQL_STOP message\n\t */\n\tGQL_COMPLETE = 'complete',\n\t/**\n\t * Server -> Client message.\n\t * This message type is for sending error messages from AWS AppSync RealTime to the client\n\t */\n\tGQL_ERROR = 'error', // Server -> Client\n}\n\nexport enum SUBSCRIPTION_STATUS {\n\tPENDING,\n\tCONNECTED,\n\tFAILED,\n}\n\nexport enum SOCKET_STATUS {\n\tCLOSED,\n\tREADY,\n\tCONNECTING,\n}\n\nexport const AMPLIFY_SYMBOL = (\n\ttypeof Symbol !== 'undefined' && typeof Symbol.for === 'function'\n\t\t? Symbol.for('amplify_default')\n\t\t: '@@amplify_default'\n) as Symbol;\n\nexport const AWS_APPSYNC_REALTIME_HEADERS = {\n\taccept: 'application/json, text/javascript',\n\t'content-encoding': 'amz-1.0',\n\t'content-type': 'application/json; charset=UTF-8',\n};\n\n/**\n * Time in milleseconds to wait for GQL_CONNECTION_INIT message\n */\nexport const CONNECTION_INIT_TIMEOUT = 15000;\n\n/**\n * Time in milleseconds to wait for GQL_START_ACK message\n */\nexport const START_ACK_TIMEOUT = 15000;\n\n/**\n * Default Time in milleseconds to wait for GQL_CONNECTION_KEEP_ALIVE message\n */\nexport const DEFAULT_KEEP_ALIVE_TIMEOUT = 5 * 60 * 1000;\n\n/**\n * Default Time in milleseconds to alert for missed GQL_CONNECTION_KEEP_ALIVE message\n */\nexport const DEFAULT_KEEP_ALIVE_ALERT_TIMEOUT = 65 * 1000;\n\n/**\n * Default delay time in milleseconds between when reconnect is triggered vs when it is attempted\n */\nexport const RECONNECT_DELAY = 5 * 1000;\n\n/**\n * Default interval time in milleseconds between when reconnect is re-attempted\n */\nexport const RECONNECT_INTERVAL = 60 * 1000;\n","var __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { browserOrNode, isWebWorker } from '@aws-amplify/core';\nimport Observable from 'zen-observable-ts';\nvar ReachabilityNavigator = /** @class */ (function () {\n function ReachabilityNavigator() {\n }\n ReachabilityNavigator.prototype.networkMonitor = function (netInfo) {\n if (browserOrNode().isNode) {\n return Observable.from([{ online: true }]);\n }\n var globalObj = isWebWorker() ? self : window;\n return new Observable(function (observer) {\n observer.next({ online: globalObj.navigator.onLine });\n var notifyOnline = function () { return observer.next({ online: true }); };\n var notifyOffline = function () { return observer.next({ online: false }); };\n globalObj.addEventListener('online', notifyOnline);\n globalObj.addEventListener('offline', notifyOffline);\n ReachabilityNavigator._observers.push(observer);\n return function () {\n globalObj.removeEventListener('online', notifyOnline);\n globalObj.removeEventListener('offline', notifyOffline);\n ReachabilityNavigator._observers = ReachabilityNavigator._observers.filter(function (_observer) { return _observer !== observer; });\n };\n });\n };\n // expose observers to simulate offline mode for integration testing\n ReachabilityNavigator._observerOverride = function (status) {\n var e_1, _a;\n var _loop_1 = function (observer) {\n if (observer.closed) {\n ReachabilityNavigator._observers = ReachabilityNavigator._observers.filter(function (_observer) { return _observer !== observer; });\n return \"continue\";\n }\n observer.next(status);\n };\n try {\n for (var _b = __values(ReachabilityNavigator._observers), _c = _b.next(); !_c.done; _c = _b.next()) {\n var observer = _c.value;\n _loop_1(observer);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n };\n ReachabilityNavigator._observers = [];\n return ReachabilityNavigator;\n}());\nexport default ReachabilityNavigator;\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Reachability } from '@aws-amplify/core';\n\nexport const ReachabilityMonitor = () => new Reachability().networkMonitor();\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Observer } from 'zen-observable-ts';\nimport { RECONNECT_DELAY, RECONNECT_INTERVAL } from '../Providers/constants';\n\nexport enum ReconnectEvent {\n\tSTART_RECONNECT = 'START_RECONNECT',\n\tHALT_RECONNECT = 'HALT_RECONNECT',\n}\n\n/**\n * Captures the reconnect event logic used to determine when to reconnect to PubSub providers.\n * Reconnnect attempts are delayed by 5 seconds to let the interface settle.\n * Attempting to reconnect only once creates unrecoverable states when the network state isn't\n * supported by the browser, so this keeps retrying every minute until halted.\n */\nexport class ReconnectionMonitor {\n\tprivate reconnectObservers: Observer[] = [];\n\tprivate reconnectIntervalId?: ReturnType;\n\tprivate reconnectSetTimeoutId?: ReturnType;\n\n\t/**\n\t * Add reconnect observer to the list of observers to alert on reconnect\n\t */\n\taddObserver(reconnectObserver: Observer) {\n\t\tthis.reconnectObservers.push(reconnectObserver);\n\t}\n\n\t/**\n\t * Given a reconnect event, start the appropriate behavior\n\t */\n\trecord(event: ReconnectEvent) {\n\t\tif (event === ReconnectEvent.START_RECONNECT) {\n\t\t\t// If the reconnection hasn't been started\n\t\t\tif (\n\t\t\t\tthis.reconnectSetTimeoutId === undefined &&\n\t\t\t\tthis.reconnectIntervalId === undefined\n\t\t\t) {\n\t\t\t\tthis.reconnectSetTimeoutId = setTimeout(() => {\n\t\t\t\t\t// Reconnect now\n\t\t\t\t\tthis._triggerReconnect();\n\t\t\t\t\t// Retry reconnect every periodically until it works\n\t\t\t\t\tthis.reconnectIntervalId = setInterval(() => {\n\t\t\t\t\t\tthis._triggerReconnect();\n\t\t\t\t\t}, RECONNECT_INTERVAL);\n\t\t\t\t}, RECONNECT_DELAY);\n\t\t\t}\n\t\t}\n\n\t\tif (event === ReconnectEvent.HALT_RECONNECT) {\n\t\t\tif (this.reconnectIntervalId) {\n\t\t\t\tclearInterval(this.reconnectIntervalId);\n\t\t\t\tthis.reconnectIntervalId = undefined;\n\t\t\t}\n\t\t\tif (this.reconnectSetTimeoutId) {\n\t\t\t\tclearTimeout(this.reconnectSetTimeoutId);\n\t\t\t\tthis.reconnectSetTimeoutId = undefined;\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Complete all reconnect observers\n\t */\n\tclose() {\n\t\tthis.reconnectObservers.forEach(reconnectObserver => {\n\t\t\treconnectObserver.complete?.();\n\t\t});\n\t}\n\n\tprivate _triggerReconnect() {\n\t\tthis.reconnectObservers.forEach(reconnectObserver => {\n\t\t\treconnectObserver.next?.();\n\t\t});\n\t}\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport Observable, { ZenObservable } from 'zen-observable-ts';\nimport { ConnectionState } from '../types/PubSub';\nimport { ReachabilityMonitor } from './ReachabilityMonitor';\n\n// Internal types for tracking different connection states\ntype LinkedConnectionState = 'connected' | 'disconnected';\ntype LinkedHealthState = 'healthy' | 'unhealthy';\ntype LinkedConnectionStates = {\n\tnetworkState: LinkedConnectionState;\n\tconnectionState: LinkedConnectionState | 'connecting';\n\tintendedConnectionState: LinkedConnectionState;\n\tkeepAliveState: LinkedHealthState;\n};\n\nexport const CONNECTION_CHANGE: {\n\t[key in\n\t\t| 'KEEP_ALIVE_MISSED'\n\t\t| 'KEEP_ALIVE'\n\t\t| 'CONNECTION_ESTABLISHED'\n\t\t| 'CONNECTION_FAILED'\n\t\t| 'CLOSING_CONNECTION'\n\t\t| 'OPENING_CONNECTION'\n\t\t| 'CLOSED'\n\t\t| 'ONLINE'\n\t\t| 'OFFLINE']: Partial;\n} = {\n\tKEEP_ALIVE_MISSED: { keepAliveState: 'unhealthy' },\n\tKEEP_ALIVE: { keepAliveState: 'healthy' },\n\tCONNECTION_ESTABLISHED: { connectionState: 'connected' },\n\tCONNECTION_FAILED: {\n\t\tintendedConnectionState: 'disconnected',\n\t\tconnectionState: 'disconnected',\n\t},\n\tCLOSING_CONNECTION: { intendedConnectionState: 'disconnected' },\n\tOPENING_CONNECTION: {\n\t\tintendedConnectionState: 'connected',\n\t\tconnectionState: 'connecting',\n\t},\n\tCLOSED: { connectionState: 'disconnected' },\n\tONLINE: { networkState: 'connected' },\n\tOFFLINE: { networkState: 'disconnected' },\n};\n\nexport class ConnectionStateMonitor {\n\t/**\n\t * @private\n\t */\n\tprivate _linkedConnectionState: LinkedConnectionStates;\n\tprivate _linkedConnectionStateObservable: Observable;\n\tprivate _linkedConnectionStateObserver: ZenObservable.SubscriptionObserver;\n\tprivate _networkMonitoringSubscription?: ZenObservable.Subscription;\n\tprivate _initialNetworkStateSubscription?: ZenObservable.Subscription;\n\n\tconstructor() {\n\t\tthis._networkMonitoringSubscription = undefined;\n\t\tthis._linkedConnectionState = {\n\t\t\tnetworkState: 'connected',\n\t\t\tconnectionState: 'disconnected',\n\t\t\tintendedConnectionState: 'disconnected',\n\t\t\tkeepAliveState: 'healthy',\n\t\t};\n\n\t\t// Attempt to update the state with the current actual network state\n\t\tthis._initialNetworkStateSubscription = ReachabilityMonitor().subscribe(\n\t\t\t({ online }) => {\n\t\t\t\tthis.record(\n\t\t\t\t\tonline ? CONNECTION_CHANGE.ONLINE : CONNECTION_CHANGE.OFFLINE\n\t\t\t\t);\n\t\t\t\tthis._initialNetworkStateSubscription?.unsubscribe();\n\t\t\t}\n\t\t);\n\n\t\tthis._linkedConnectionStateObservable =\n\t\t\tnew Observable(connectionStateObserver => {\n\t\t\t\tconnectionStateObserver.next(this._linkedConnectionState);\n\t\t\t\tthis._linkedConnectionStateObserver = connectionStateObserver;\n\t\t\t});\n\t}\n\n\t/**\n\t * Turn network state monitoring on if it isn't on already\n\t */\n\tprivate enableNetworkMonitoring() {\n\t\t// If no initial network state was discovered, stop trying\n\t\tthis._initialNetworkStateSubscription?.unsubscribe();\n\n\t\t// Maintain the network state based on the reachability monitor\n\t\tif (this._networkMonitoringSubscription === undefined) {\n\t\t\tthis._networkMonitoringSubscription = ReachabilityMonitor().subscribe(\n\t\t\t\t({ online }) => {\n\t\t\t\t\tthis.record(\n\t\t\t\t\t\tonline ? CONNECTION_CHANGE.ONLINE : CONNECTION_CHANGE.OFFLINE\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * Turn network state monitoring off if it isn't off already\n\t */\n\tprivate disableNetworkMonitoring() {\n\t\tthis._networkMonitoringSubscription?.unsubscribe();\n\t\tthis._networkMonitoringSubscription = undefined;\n\t}\n\n\t/**\n\t * Get the observable that allows us to monitor the connection state\n\t *\n\t * @returns {Observable} - The observable that emits ConnectionState updates\n\t */\n\tpublic get connectionStateObservable(): Observable {\n\t\tlet previous: ConnectionState;\n\n\t\t// The linked state aggregates state changes to any of the network, connection,\n\t\t// intendedConnection and keepAliveHealth. Some states will change these independent\n\t\t// states without changing the overall connection state.\n\n\t\t// After translating from linked states to ConnectionState, then remove any duplicates\n\t\treturn this._linkedConnectionStateObservable\n\t\t\t.map(value => {\n\t\t\t\treturn this.connectionStatesTranslator(value);\n\t\t\t})\n\t\t\t.filter(current => {\n\t\t\t\tconst toInclude = current !== previous;\n\t\t\t\tprevious = current;\n\t\t\t\treturn toInclude;\n\t\t\t});\n\t}\n\n\t/*\n\t * Updates local connection state and emits the full state to the observer.\n\t */\n\trecord(statusUpdates: Partial) {\n\t\t// Maintain the network monitor\n\t\tif (statusUpdates.intendedConnectionState === 'connected') {\n\t\t\tthis.enableNetworkMonitoring();\n\t\t} else if (statusUpdates.intendedConnectionState === 'disconnected') {\n\t\t\tthis.disableNetworkMonitoring();\n\t\t}\n\n\t\t// Maintain the socket state\n\t\tconst newSocketStatus = {\n\t\t\t...this._linkedConnectionState,\n\t\t\t...statusUpdates,\n\t\t};\n\n\t\tthis._linkedConnectionState = { ...newSocketStatus };\n\n\t\tthis._linkedConnectionStateObserver.next(this._linkedConnectionState);\n\t}\n\n\t/*\n\t * Translate the ConnectionState structure into a specific ConnectionState string literal union\n\t */\n\tprivate connectionStatesTranslator({\n\t\tconnectionState,\n\t\tnetworkState,\n\t\tintendedConnectionState,\n\t\tkeepAliveState,\n\t}: LinkedConnectionStates): ConnectionState {\n\t\tif (connectionState === 'connected' && networkState === 'disconnected')\n\t\t\treturn ConnectionState.ConnectedPendingNetwork;\n\n\t\tif (\n\t\t\tconnectionState === 'connected' &&\n\t\t\tintendedConnectionState === 'disconnected'\n\t\t)\n\t\t\treturn ConnectionState.ConnectedPendingDisconnect;\n\n\t\tif (\n\t\t\tconnectionState === 'disconnected' &&\n\t\t\tintendedConnectionState === 'connected' &&\n\t\t\tnetworkState === 'disconnected'\n\t\t)\n\t\t\treturn ConnectionState.ConnectionDisruptedPendingNetwork;\n\n\t\tif (\n\t\t\tconnectionState === 'disconnected' &&\n\t\t\tintendedConnectionState === 'connected'\n\t\t)\n\t\t\treturn ConnectionState.ConnectionDisrupted;\n\n\t\tif (connectionState === 'connected' && keepAliveState === 'unhealthy')\n\t\t\treturn ConnectionState.ConnectedPendingKeepAlive;\n\n\t\t// All remaining states directly correspond to the connection state\n\t\tif (connectionState === 'connecting') return ConnectionState.Connecting;\n\t\tif (connectionState === 'disconnected') return ConnectionState.Disconnected;\n\t\treturn ConnectionState.Connected;\n\t}\n}\n","import { GRAPHQL_AUTH_MODE } from '@aws-amplify/auth';\nexport { GRAPHQL_AUTH_MODE };\nexport var GraphQLAuthError;\n(function (GraphQLAuthError) {\n GraphQLAuthError[\"NO_API_KEY\"] = \"No api-key configured\";\n GraphQLAuthError[\"NO_CURRENT_USER\"] = \"No current user\";\n GraphQLAuthError[\"NO_CREDENTIALS\"] = \"No credentials\";\n GraphQLAuthError[\"NO_FEDERATED_JWT\"] = \"No federated jwt\";\n GraphQLAuthError[\"NO_AUTH_TOKEN\"] = \"No auth token specified\";\n})(GraphQLAuthError || (GraphQLAuthError = {}));\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport Observable, { ZenObservable } from 'zen-observable-ts';\nimport { GraphQLError } from 'graphql';\nimport * as url from 'url';\nimport { v4 as uuid } from 'uuid';\nimport { Buffer } from 'buffer';\nimport { ProviderOptions } from '../../types/Provider';\nimport {\n\tLogger,\n\tCredentials,\n\tSigner,\n\tHub,\n\tConstants,\n\tUSER_AGENT_HEADER,\n\tjitteredExponentialRetry,\n\tNonRetryableError,\n\tICredentials,\n\tisNonRetryableError,\n\tCustomUserAgentDetails,\n\tgetAmplifyUserAgent,\n} from '@aws-amplify/core';\nimport { Cache } from '@aws-amplify/cache';\nimport { Auth, GRAPHQL_AUTH_MODE } from '@aws-amplify/auth';\nimport { AbstractPubSubProvider } from '../PubSubProvider';\nimport {\n\tCONTROL_MSG,\n\tConnectionState,\n\tPubSubContent,\n\tPubSubContentObserver,\n} from '../../types/PubSub';\n\nimport {\n\tAMPLIFY_SYMBOL,\n\tAWS_APPSYNC_REALTIME_HEADERS,\n\tCONNECTION_INIT_TIMEOUT,\n\tDEFAULT_KEEP_ALIVE_TIMEOUT,\n\tDEFAULT_KEEP_ALIVE_ALERT_TIMEOUT,\n\tMAX_DELAY_MS,\n\tMESSAGE_TYPES,\n\tNON_RETRYABLE_CODES,\n\tSOCKET_STATUS,\n\tSTART_ACK_TIMEOUT,\n\tSUBSCRIPTION_STATUS,\n\tCONNECTION_STATE_CHANGE,\n} from '../constants';\nimport {\n\tConnectionStateMonitor,\n\tCONNECTION_CHANGE,\n} from '../../utils/ConnectionStateMonitor';\nimport {\n\tReconnectEvent,\n\tReconnectionMonitor,\n} from '../../utils/ReconnectionMonitor';\n\nconst logger = new Logger('AWSAppSyncRealTimeProvider');\n\nconst dispatchApiEvent = (\n\tevent: string,\n\tdata: Record,\n\tmessage: string\n) => {\n\tHub.dispatch('api', { event, data, message }, 'PubSub', AMPLIFY_SYMBOL);\n};\n\nexport type ObserverQuery = {\n\tobserver: PubSubContentObserver;\n\tquery: string;\n\tvariables: Record;\n\tsubscriptionState: SUBSCRIPTION_STATUS;\n\tsubscriptionReadyCallback?: Function;\n\tsubscriptionFailedCallback?: Function;\n\tstartAckTimeoutId?: ReturnType;\n};\n\nconst standardDomainPattern =\n\t/^https:\\/\\/\\w{26}\\.appsync\\-api\\.\\w{2}(?:(?:\\-\\w{2,})+)\\-\\d\\.amazonaws.com(?:\\.cn)?\\/graphql$/i;\n\nconst customDomainPath = '/realtime';\n\ntype GraphqlAuthModes = keyof typeof GRAPHQL_AUTH_MODE;\n\ntype DataObject = {\n\tdata: Record;\n};\n\ntype DataPayload = {\n\tid: string;\n\tpayload: DataObject;\n\ttype: string;\n};\n\ntype ParsedMessagePayload = {\n\ttype: string;\n\tpayload: {\n\t\tconnectionTimeoutMs: number;\n\t\terrors?: [{ errorType: string; errorCode: number }];\n\t};\n};\n\nexport interface AWSAppSyncRealTimeProviderOptions extends ProviderOptions {\n\tappSyncGraphqlEndpoint?: string;\n\tauthenticationType?: GraphqlAuthModes;\n\tquery?: string;\n\tvariables?: Record;\n\tapiKey?: string;\n\tregion?: string;\n\tgraphql_headers?: () => {} | (() => Promise<{}>);\n\tadditionalHeaders?: { [key: string]: string };\n}\n\ntype AWSAppSyncRealTimeAuthInput =\n\tPartial & {\n\t\tcanonicalUri: string;\n\t\tpayload: string;\n\t\thost?: string | undefined;\n\t};\n\nexport class AWSAppSyncRealTimeProvider extends AbstractPubSubProvider {\n\tprivate awsRealTimeSocket?: WebSocket;\n\tprivate socketStatus: SOCKET_STATUS = SOCKET_STATUS.CLOSED;\n\tprivate keepAliveTimeoutId?: ReturnType;\n\tprivate keepAliveTimeout = DEFAULT_KEEP_ALIVE_TIMEOUT;\n\tprivate keepAliveAlertTimeoutId?: ReturnType;\n\tprivate subscriptionObserverMap: Map = new Map();\n\tprivate promiseArray: Array<{ res: Function; rej: Function }> = [];\n\tprivate connectionState: ConnectionState;\n\tprivate readonly connectionStateMonitor = new ConnectionStateMonitor();\n\tprivate readonly reconnectionMonitor = new ReconnectionMonitor();\n\tprivate connectionStateMonitorSubscription: ZenObservable.Subscription;\n\n\tconstructor(options: ProviderOptions = {}) {\n\t\tsuper(options);\n\t\t// Monitor the connection state and pass changes along to Hub\n\t\tthis.connectionStateMonitorSubscription =\n\t\t\tthis.connectionStateMonitor.connectionStateObservable.subscribe(\n\t\t\t\tconnectionState => {\n\t\t\t\t\tdispatchApiEvent(\n\t\t\t\t\t\tCONNECTION_STATE_CHANGE,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tprovider: this,\n\t\t\t\t\t\t\tconnectionState,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t`Connection state is ${connectionState}`\n\t\t\t\t\t);\n\t\t\t\t\tthis.connectionState = connectionState;\n\n\t\t\t\t\t// Trigger START_RECONNECT when the connection is disrupted\n\t\t\t\t\tif (connectionState === ConnectionState.ConnectionDisrupted) {\n\t\t\t\t\t\tthis.reconnectionMonitor.record(ReconnectEvent.START_RECONNECT);\n\t\t\t\t\t}\n\n\t\t\t\t\t// Trigger HALT_RECONNECT to halt reconnection attempts when the state is anything other than\n\t\t\t\t\t// ConnectionDisrupted or Connecting\n\t\t\t\t\tif (\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\tConnectionState.Connected,\n\t\t\t\t\t\t\tConnectionState.ConnectedPendingDisconnect,\n\t\t\t\t\t\t\tConnectionState.ConnectedPendingKeepAlive,\n\t\t\t\t\t\t\tConnectionState.ConnectedPendingNetwork,\n\t\t\t\t\t\t\tConnectionState.ConnectionDisruptedPendingNetwork,\n\t\t\t\t\t\t\tConnectionState.Disconnected,\n\t\t\t\t\t\t].includes(connectionState)\n\t\t\t\t\t) {\n\t\t\t\t\t\tthis.reconnectionMonitor.record(ReconnectEvent.HALT_RECONNECT);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\t}\n\n\t/**\n\t * Mark the socket closed and release all active listeners\n\t */\n\tclose() {\n\t\t// Mark the socket closed both in status and the connection monitor\n\t\tthis.socketStatus = SOCKET_STATUS.CLOSED;\n\t\tthis.connectionStateMonitor.record(CONNECTION_CHANGE.CONNECTION_FAILED);\n\n\t\t// Turn off the subscription monitor Hub publishing\n\t\tthis.connectionStateMonitorSubscription.unsubscribe();\n\t\t// Complete all reconnect observers\n\t\tthis.reconnectionMonitor.close();\n\t}\n\n\tgetNewWebSocket(url: string, protocol: string) {\n\t\treturn new WebSocket(url, protocol);\n\t}\n\n\tgetProviderName() {\n\t\treturn 'AWSAppSyncRealTimeProvider';\n\t}\n\n\tnewClient(): Promise {\n\t\tthrow new Error('Not used here');\n\t}\n\n\tpublic async publish(\n\t\t_topics: string[] | string,\n\t\t_msg: PubSubContent,\n\t\t_options?: AWSAppSyncRealTimeProviderOptions\n\t) {\n\t\tthrow new Error('Operation not supported');\n\t}\n\n\t// Check if url matches standard domain pattern\n\tprivate isCustomDomain(url: string): boolean {\n\t\treturn url.match(standardDomainPattern) === null;\n\t}\n\n\tsubscribe(\n\t\t_topics: string[] | string,\n\t\toptions?: AWSAppSyncRealTimeProviderOptions,\n\t\tcustomUserAgentDetails?: CustomUserAgentDetails\n\t): Observable> {\n\t\tconst appSyncGraphqlEndpoint = options?.appSyncGraphqlEndpoint;\n\n\t\treturn new Observable(observer => {\n\t\t\tif (!options || !appSyncGraphqlEndpoint) {\n\t\t\t\tobserver.error({\n\t\t\t\t\terrors: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t...new GraphQLError(\n\t\t\t\t\t\t\t\t`Subscribe only available for AWS AppSync endpoint`\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t});\n\t\t\t\tobserver.complete();\n\t\t\t} else {\n\t\t\t\tlet subscriptionStartActive = false;\n\t\t\t\tconst subscriptionId = uuid();\n\t\t\t\tconst startSubscription = () => {\n\t\t\t\t\tif (!subscriptionStartActive) {\n\t\t\t\t\t\tsubscriptionStartActive = true;\n\n\t\t\t\t\t\tconst startSubscriptionPromise =\n\t\t\t\t\t\t\tthis._startSubscriptionWithAWSAppSyncRealTime({\n\t\t\t\t\t\t\t\toptions,\n\t\t\t\t\t\t\t\tobserver,\n\t\t\t\t\t\t\t\tsubscriptionId,\n\t\t\t\t\t\t\t\tcustomUserAgentDetails,\n\t\t\t\t\t\t\t}).catch(err => {\n\t\t\t\t\t\t\t\tlogger.debug(\n\t\t\t\t\t\t\t\t\t`${CONTROL_MSG.REALTIME_SUBSCRIPTION_INIT_ERROR}: ${err}`\n\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\tthis.connectionStateMonitor.record(CONNECTION_CHANGE.CLOSED);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\tstartSubscriptionPromise.finally(() => {\n\t\t\t\t\t\t\tsubscriptionStartActive = false;\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\tlet reconnectSubscription: ZenObservable.Subscription;\n\n\t\t\t\t// Add an observable to the reconnection list to manage reconnection for this subscription\n\t\t\t\treconnectSubscription = new Observable(observer => {\n\t\t\t\t\tthis.reconnectionMonitor.addObserver(observer);\n\t\t\t\t}).subscribe(() => {\n\t\t\t\t\tstartSubscription();\n\t\t\t\t});\n\n\t\t\t\tstartSubscription();\n\n\t\t\t\treturn async () => {\n\t\t\t\t\t// Cleanup reconnection subscription\n\t\t\t\t\treconnectSubscription?.unsubscribe();\n\n\t\t\t\t\t// Cleanup after unsubscribing or observer.complete was called after _startSubscriptionWithAWSAppSyncRealTime\n\t\t\t\t\ttry {\n\t\t\t\t\t\t// Waiting that subscription has been connected before trying to unsubscribe\n\t\t\t\t\t\tawait this._waitForSubscriptionToBeConnected(subscriptionId);\n\n\t\t\t\t\t\tconst { subscriptionState } =\n\t\t\t\t\t\t\tthis.subscriptionObserverMap.get(subscriptionId) || {};\n\n\t\t\t\t\t\tif (!subscriptionState) {\n\t\t\t\t\t\t\t// subscription already unsubscribed\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (subscriptionState === SUBSCRIPTION_STATUS.CONNECTED) {\n\t\t\t\t\t\t\tthis._sendUnsubscriptionMessage(subscriptionId);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthrow new Error('Subscription never connected');\n\t\t\t\t\t\t}\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\tlogger.debug(`Error while unsubscribing ${err}`);\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tthis._removeSubscriptionObserver(subscriptionId);\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t}\n\t\t});\n\t}\n\n\tprotected get isSSLEnabled() {\n\t\treturn !this.options[\n\t\t\t'aws_appsync_dangerously_connect_to_http_endpoint_for_testing'\n\t\t];\n\t}\n\n\tprivate async _startSubscriptionWithAWSAppSyncRealTime({\n\t\toptions,\n\t\tobserver,\n\t\tsubscriptionId,\n\t\tcustomUserAgentDetails,\n\t}: {\n\t\toptions: AWSAppSyncRealTimeProviderOptions;\n\t\tobserver: PubSubContentObserver;\n\t\tsubscriptionId: string;\n\t\tcustomUserAgentDetails: CustomUserAgentDetails;\n\t}) {\n\t\tconst {\n\t\t\tappSyncGraphqlEndpoint,\n\t\t\tauthenticationType,\n\t\t\tquery,\n\t\t\tvariables,\n\t\t\tapiKey,\n\t\t\tregion,\n\t\t\tgraphql_headers = () => ({}),\n\t\t\tadditionalHeaders = {},\n\t\t} = options;\n\n\t\tconst subscriptionState: SUBSCRIPTION_STATUS = SUBSCRIPTION_STATUS.PENDING;\n\t\tconst data = {\n\t\t\tquery,\n\t\t\tvariables,\n\t\t};\n\t\t// Having a subscription id map will make it simple to forward messages received\n\t\tthis.subscriptionObserverMap.set(subscriptionId, {\n\t\t\tobserver,\n\t\t\tquery: query ?? '',\n\t\t\tvariables: variables ?? {},\n\t\t\tsubscriptionState,\n\t\t\tstartAckTimeoutId: undefined,\n\t\t});\n\n\t\t// Preparing payload for subscription message\n\n\t\tconst dataString = JSON.stringify(data);\n\t\tconst headerObj = {\n\t\t\t...(await this._awsRealTimeHeaderBasedAuth({\n\t\t\t\tapiKey,\n\t\t\t\tappSyncGraphqlEndpoint,\n\t\t\t\tauthenticationType,\n\t\t\t\tpayload: dataString,\n\t\t\t\tcanonicalUri: '',\n\t\t\t\tregion,\n\t\t\t\tadditionalHeaders,\n\t\t\t})),\n\t\t\t...(await graphql_headers()),\n\t\t\t...additionalHeaders,\n\t\t\t[USER_AGENT_HEADER]: getAmplifyUserAgent(customUserAgentDetails),\n\t\t};\n\n\t\tconst subscriptionMessage = {\n\t\t\tid: subscriptionId,\n\t\t\tpayload: {\n\t\t\t\tdata: dataString,\n\t\t\t\textensions: {\n\t\t\t\t\tauthorization: {\n\t\t\t\t\t\t...headerObj,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\ttype: MESSAGE_TYPES.GQL_START,\n\t\t};\n\n\t\tconst stringToAWSRealTime = JSON.stringify(subscriptionMessage);\n\n\t\ttry {\n\t\t\tthis.connectionStateMonitor.record(CONNECTION_CHANGE.OPENING_CONNECTION);\n\t\t\tawait this._initializeWebSocketConnection({\n\t\t\t\tapiKey,\n\t\t\t\tappSyncGraphqlEndpoint,\n\t\t\t\tauthenticationType,\n\t\t\t\tregion,\n\t\t\t\tadditionalHeaders,\n\t\t\t});\n\t\t} catch (err) {\n\t\t\tthis._logStartSubscriptionError(subscriptionId, observer, err);\n\t\t\treturn;\n\t\t}\n\n\t\t// Potential race condition can occur when unsubscribe is called during _initializeWebSocketConnection.\n\t\t// E.g.unsubscribe gets invoked prior to finishing WebSocket handshake or START_ACK.\n\t\t// Both subscriptionFailedCallback and subscriptionReadyCallback are used to synchronized this.\n\n\t\tconst { subscriptionFailedCallback, subscriptionReadyCallback } =\n\t\t\tthis.subscriptionObserverMap.get(subscriptionId) ?? {};\n\n\t\t// This must be done before sending the message in order to be listening immediately\n\t\tthis.subscriptionObserverMap.set(subscriptionId, {\n\t\t\tobserver,\n\t\t\tsubscriptionState,\n\t\t\tquery: query ?? '',\n\t\t\tvariables: variables ?? {},\n\t\t\tsubscriptionReadyCallback,\n\t\t\tsubscriptionFailedCallback,\n\t\t\tstartAckTimeoutId: setTimeout(() => {\n\t\t\t\tthis._timeoutStartSubscriptionAck.call(this, subscriptionId);\n\t\t\t}, START_ACK_TIMEOUT),\n\t\t});\n\t\tif (this.awsRealTimeSocket) {\n\t\t\tthis.awsRealTimeSocket.send(stringToAWSRealTime);\n\t\t}\n\t}\n\n\t// Log logic for start subscription failures\n\tprivate _logStartSubscriptionError(\n\t\tsubscriptionId: string,\n\t\tobserver: PubSubContentObserver,\n\t\terr: { message?: string }\n\t) {\n\t\tlogger.debug({ err });\n\t\tconst message = String(err.message ?? '');\n\t\t// Resolving to give the state observer time to propogate the update\n\t\tPromise.resolve(\n\t\t\tthis.connectionStateMonitor.record(CONNECTION_CHANGE.CLOSED)\n\t\t);\n\n\t\t// Capture the error only when the network didn't cause disruption\n\t\tif (\n\t\t\tthis.connectionState !== ConnectionState.ConnectionDisruptedPendingNetwork\n\t\t) {\n\t\t\t// When the error is non-retriable, error out the observable\n\t\t\tif (isNonRetryableError(err)) {\n\t\t\t\tobserver.error({\n\t\t\t\t\terrors: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t...new GraphQLError(\n\t\t\t\t\t\t\t\t`${CONTROL_MSG.CONNECTION_FAILED}: ${message}`\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tlogger.debug(`${CONTROL_MSG.CONNECTION_FAILED}: ${message}`);\n\t\t\t}\n\n\t\t\tconst { subscriptionFailedCallback } =\n\t\t\t\tthis.subscriptionObserverMap.get(subscriptionId) || {};\n\n\t\t\t// Notify concurrent unsubscription\n\t\t\tif (typeof subscriptionFailedCallback === 'function') {\n\t\t\t\tsubscriptionFailedCallback();\n\t\t\t}\n\t\t}\n\t}\n\n\t// Waiting that subscription has been connected before trying to unsubscribe\n\tprivate async _waitForSubscriptionToBeConnected(subscriptionId: string) {\n\t\tconst subscriptionObserver =\n\t\t\tthis.subscriptionObserverMap.get(subscriptionId);\n\t\tif (subscriptionObserver) {\n\t\t\tconst { subscriptionState } = subscriptionObserver;\n\t\t\t// This in case unsubscribe is invoked before sending start subscription message\n\t\t\tif (subscriptionState === SUBSCRIPTION_STATUS.PENDING) {\n\t\t\t\treturn new Promise((res, rej) => {\n\t\t\t\t\tconst { observer, subscriptionState, variables, query } =\n\t\t\t\t\t\tsubscriptionObserver;\n\t\t\t\t\tthis.subscriptionObserverMap.set(subscriptionId, {\n\t\t\t\t\t\tobserver,\n\t\t\t\t\t\tsubscriptionState,\n\t\t\t\t\t\tvariables,\n\t\t\t\t\t\tquery,\n\t\t\t\t\t\tsubscriptionReadyCallback: res,\n\t\t\t\t\t\tsubscriptionFailedCallback: rej,\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate _sendUnsubscriptionMessage(subscriptionId: string) {\n\t\ttry {\n\t\t\tif (\n\t\t\t\tthis.awsRealTimeSocket &&\n\t\t\t\tthis.awsRealTimeSocket.readyState === WebSocket.OPEN &&\n\t\t\t\tthis.socketStatus === SOCKET_STATUS.READY\n\t\t\t) {\n\t\t\t\t// Preparing unsubscribe message to stop receiving messages for that subscription\n\t\t\t\tconst unsubscribeMessage = {\n\t\t\t\t\tid: subscriptionId,\n\t\t\t\t\ttype: MESSAGE_TYPES.GQL_STOP,\n\t\t\t\t};\n\t\t\t\tconst stringToAWSRealTime = JSON.stringify(unsubscribeMessage);\n\t\t\t\tthis.awsRealTimeSocket.send(stringToAWSRealTime);\n\t\t\t}\n\t\t} catch (err) {\n\t\t\t// If GQL_STOP is not sent because of disconnection issue, then there is nothing the client can do\n\t\t\tlogger.debug({ err });\n\t\t}\n\t}\n\n\tprivate _removeSubscriptionObserver(subscriptionId: string) {\n\t\tthis.subscriptionObserverMap.delete(subscriptionId);\n\n\t\t// Verifying 1000ms after removing subscription in case there are new subscription unmount/mount\n\t\tsetTimeout(this._closeSocketIfRequired.bind(this), 1000);\n\t}\n\n\tprivate _closeSocketIfRequired() {\n\t\tif (this.subscriptionObserverMap.size > 0) {\n\t\t\t// Active subscriptions on the WebSocket\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this.awsRealTimeSocket) {\n\t\t\tthis.socketStatus = SOCKET_STATUS.CLOSED;\n\t\t\treturn;\n\t\t}\n\n\t\tthis.connectionStateMonitor.record(CONNECTION_CHANGE.CLOSING_CONNECTION);\n\n\t\tif (this.awsRealTimeSocket.bufferedAmount > 0) {\n\t\t\t// Still data on the WebSocket\n\t\t\tsetTimeout(this._closeSocketIfRequired.bind(this), 1000);\n\t\t} else {\n\t\t\tlogger.debug('closing WebSocket...');\n\t\t\tif (this.keepAliveTimeoutId) {\n\t\t\t\tclearTimeout(this.keepAliveTimeoutId);\n\t\t\t}\n\t\t\tif (this.keepAliveAlertTimeoutId) {\n\t\t\t\tclearTimeout(this.keepAliveAlertTimeoutId);\n\t\t\t}\n\t\t\tconst tempSocket = this.awsRealTimeSocket;\n\t\t\t// Cleaning callbacks to avoid race condition, socket still exists\n\t\t\ttempSocket.onclose = null;\n\t\t\ttempSocket.onerror = null;\n\t\t\ttempSocket.close(1000);\n\t\t\tthis.awsRealTimeSocket = undefined;\n\t\t\tthis.socketStatus = SOCKET_STATUS.CLOSED;\n\t\t\tthis.connectionStateMonitor.record(CONNECTION_CHANGE.CLOSED);\n\t\t}\n\t}\n\n\tprivate _handleIncomingSubscriptionMessage(message: MessageEvent) {\n\t\tif (typeof message.data !== 'string') {\n\t\t\treturn;\n\t\t}\n\t\tlogger.debug(\n\t\t\t`subscription message from AWS AppSync RealTime: ${message.data}`\n\t\t);\n\t\tconst {\n\t\t\tid = '',\n\t\t\tpayload,\n\t\t\ttype,\n\t\t}: DataPayload = JSON.parse(String(message.data));\n\t\tconst {\n\t\t\tobserver = null,\n\t\t\tquery = '',\n\t\t\tvariables = {},\n\t\t\tstartAckTimeoutId,\n\t\t\tsubscriptionReadyCallback,\n\t\t\tsubscriptionFailedCallback,\n\t\t} = this.subscriptionObserverMap.get(id) || {};\n\n\t\tlogger.debug({ id, observer, query, variables });\n\n\t\tif (type === MESSAGE_TYPES.GQL_DATA && payload && payload.data) {\n\t\t\tif (observer) {\n\t\t\t\tobserver.next(payload);\n\t\t\t} else {\n\t\t\t\tlogger.debug(`observer not found for id: ${id}`);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tif (type === MESSAGE_TYPES.GQL_START_ACK) {\n\t\t\tlogger.debug(\n\t\t\t\t`subscription ready for ${JSON.stringify({ query, variables })}`\n\t\t\t);\n\t\t\tif (typeof subscriptionReadyCallback === 'function') {\n\t\t\t\tsubscriptionReadyCallback();\n\t\t\t}\n\t\t\tif (startAckTimeoutId) clearTimeout(startAckTimeoutId);\n\t\t\tdispatchApiEvent(\n\t\t\t\tCONTROL_MSG.SUBSCRIPTION_ACK,\n\t\t\t\t{ query, variables },\n\t\t\t\t'Connection established for subscription'\n\t\t\t);\n\t\t\tconst subscriptionState = SUBSCRIPTION_STATUS.CONNECTED;\n\t\t\tif (observer) {\n\t\t\t\tthis.subscriptionObserverMap.set(id, {\n\t\t\t\t\tobserver,\n\t\t\t\t\tquery,\n\t\t\t\t\tvariables,\n\t\t\t\t\tstartAckTimeoutId: undefined,\n\t\t\t\t\tsubscriptionState,\n\t\t\t\t\tsubscriptionReadyCallback,\n\t\t\t\t\tsubscriptionFailedCallback,\n\t\t\t\t});\n\t\t\t}\n\t\t\tthis.connectionStateMonitor.record(\n\t\t\t\tCONNECTION_CHANGE.CONNECTION_ESTABLISHED\n\t\t\t);\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (type === MESSAGE_TYPES.GQL_CONNECTION_KEEP_ALIVE) {\n\t\t\tif (this.keepAliveTimeoutId) clearTimeout(this.keepAliveTimeoutId);\n\t\t\tif (this.keepAliveAlertTimeoutId)\n\t\t\t\tclearTimeout(this.keepAliveAlertTimeoutId);\n\t\t\tthis.keepAliveTimeoutId = setTimeout(\n\t\t\t\t() => this._errorDisconnect(CONTROL_MSG.TIMEOUT_DISCONNECT),\n\t\t\t\tthis.keepAliveTimeout\n\t\t\t);\n\t\t\tthis.keepAliveAlertTimeoutId = setTimeout(() => {\n\t\t\t\tthis.connectionStateMonitor.record(CONNECTION_CHANGE.KEEP_ALIVE_MISSED);\n\t\t\t}, DEFAULT_KEEP_ALIVE_ALERT_TIMEOUT);\n\t\t\tthis.connectionStateMonitor.record(CONNECTION_CHANGE.KEEP_ALIVE);\n\t\t\treturn;\n\t\t}\n\n\t\tif (type === MESSAGE_TYPES.GQL_ERROR) {\n\t\t\tconst subscriptionState = SUBSCRIPTION_STATUS.FAILED;\n\t\t\tif (observer) {\n\t\t\t\tthis.subscriptionObserverMap.set(id, {\n\t\t\t\t\tobserver,\n\t\t\t\t\tquery,\n\t\t\t\t\tvariables,\n\t\t\t\t\tstartAckTimeoutId,\n\t\t\t\t\tsubscriptionReadyCallback,\n\t\t\t\t\tsubscriptionFailedCallback,\n\t\t\t\t\tsubscriptionState,\n\t\t\t\t});\n\n\t\t\t\tlogger.debug(\n\t\t\t\t\t`${CONTROL_MSG.CONNECTION_FAILED}: ${JSON.stringify(payload)}`\n\t\t\t\t);\n\n\t\t\t\tobserver.error({\n\t\t\t\t\terrors: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t...new GraphQLError(\n\t\t\t\t\t\t\t\t`${CONTROL_MSG.CONNECTION_FAILED}: ${JSON.stringify(payload)}`\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t});\n\n\t\t\t\tif (startAckTimeoutId) clearTimeout(startAckTimeoutId);\n\n\t\t\t\tif (typeof subscriptionFailedCallback === 'function') {\n\t\t\t\t\tsubscriptionFailedCallback();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate _errorDisconnect(msg: string) {\n\t\tlogger.debug(`Disconnect error: ${msg}`);\n\n\t\tif (this.awsRealTimeSocket) {\n\t\t\tthis.connectionStateMonitor.record(CONNECTION_CHANGE.CLOSED);\n\t\t\tthis.awsRealTimeSocket.close();\n\t\t}\n\n\t\tthis.socketStatus = SOCKET_STATUS.CLOSED;\n\t}\n\n\tprivate _timeoutStartSubscriptionAck(subscriptionId: string) {\n\t\tconst subscriptionObserver =\n\t\t\tthis.subscriptionObserverMap.get(subscriptionId);\n\t\tif (subscriptionObserver) {\n\t\t\tconst { observer, query, variables } = subscriptionObserver;\n\t\t\tif (!observer) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.subscriptionObserverMap.set(subscriptionId, {\n\t\t\t\tobserver,\n\t\t\t\tquery,\n\t\t\t\tvariables,\n\t\t\t\tsubscriptionState: SUBSCRIPTION_STATUS.FAILED,\n\t\t\t});\n\n\t\t\tthis.connectionStateMonitor.record(CONNECTION_CHANGE.CLOSED);\n\t\t\tlogger.debug(\n\t\t\t\t'timeoutStartSubscription',\n\t\t\t\tJSON.stringify({ query, variables })\n\t\t\t);\n\t\t}\n\t}\n\n\tprivate _initializeWebSocketConnection({\n\t\tappSyncGraphqlEndpoint,\n\t\tauthenticationType,\n\t\tapiKey,\n\t\tregion,\n\t\tadditionalHeaders,\n\t}: AWSAppSyncRealTimeProviderOptions) {\n\t\tif (this.socketStatus === SOCKET_STATUS.READY) {\n\t\t\treturn;\n\t\t}\n\t\treturn new Promise(async (res, rej) => {\n\t\t\tthis.promiseArray.push({ res, rej });\n\n\t\t\tif (this.socketStatus === SOCKET_STATUS.CLOSED) {\n\t\t\t\ttry {\n\t\t\t\t\tthis.socketStatus = SOCKET_STATUS.CONNECTING;\n\n\t\t\t\t\tconst payloadString = '{}';\n\n\t\t\t\t\tconst authHeader = await this._awsRealTimeHeaderBasedAuth({\n\t\t\t\t\t\tauthenticationType,\n\t\t\t\t\t\tpayload: payloadString,\n\t\t\t\t\t\tcanonicalUri: '/connect',\n\t\t\t\t\t\tapiKey,\n\t\t\t\t\t\tappSyncGraphqlEndpoint,\n\t\t\t\t\t\tregion,\n\t\t\t\t\t\tadditionalHeaders,\n\t\t\t\t\t});\n\n\t\t\t\t\tconst headerString = authHeader ? JSON.stringify(authHeader) : '';\n\t\t\t\t\tconst headerQs = Buffer.from(headerString).toString('base64');\n\n\t\t\t\t\tconst payloadQs = Buffer.from(payloadString).toString('base64');\n\n\t\t\t\t\tlet discoverableEndpoint = appSyncGraphqlEndpoint ?? '';\n\n\t\t\t\t\tif (this.isCustomDomain(discoverableEndpoint)) {\n\t\t\t\t\t\tdiscoverableEndpoint =\n\t\t\t\t\t\t\tdiscoverableEndpoint.concat(customDomainPath);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdiscoverableEndpoint = discoverableEndpoint\n\t\t\t\t\t\t\t.replace('appsync-api', 'appsync-realtime-api')\n\t\t\t\t\t\t\t.replace('gogi-beta', 'grt-beta');\n\t\t\t\t\t}\n\n\t\t\t\t\t// Creating websocket url with required query strings\n\t\t\t\t\tconst protocol = this.isSSLEnabled ? 'wss://' : 'ws://';\n\t\t\t\t\tdiscoverableEndpoint = discoverableEndpoint\n\t\t\t\t\t\t.replace('https://', protocol)\n\t\t\t\t\t\t.replace('http://', protocol);\n\n\t\t\t\t\tconst awsRealTimeUrl = `${discoverableEndpoint}?header=${headerQs}&payload=${payloadQs}`;\n\n\t\t\t\t\tawait this._initializeRetryableHandshake(awsRealTimeUrl);\n\n\t\t\t\t\tthis.promiseArray.forEach(({ res }) => {\n\t\t\t\t\t\tlogger.debug('Notifying connection successful');\n\t\t\t\t\t\tres();\n\t\t\t\t\t});\n\t\t\t\t\tthis.socketStatus = SOCKET_STATUS.READY;\n\t\t\t\t\tthis.promiseArray = [];\n\t\t\t\t} catch (err) {\n\t\t\t\t\tlogger.debug('Connection exited with', err);\n\t\t\t\t\tthis.promiseArray.forEach(({ rej }) => rej(err));\n\t\t\t\t\tthis.promiseArray = [];\n\t\t\t\t\tif (\n\t\t\t\t\t\tthis.awsRealTimeSocket &&\n\t\t\t\t\t\tthis.awsRealTimeSocket.readyState === WebSocket.OPEN\n\t\t\t\t\t) {\n\t\t\t\t\t\tthis.awsRealTimeSocket.close(3001);\n\t\t\t\t\t}\n\t\t\t\t\tthis.awsRealTimeSocket = undefined;\n\t\t\t\t\tthis.socketStatus = SOCKET_STATUS.CLOSED;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate async _initializeRetryableHandshake(awsRealTimeUrl: string) {\n\t\tlogger.debug(`Initializaling retryable Handshake`);\n\t\tawait jitteredExponentialRetry(\n\t\t\tthis._initializeHandshake.bind(this),\n\t\t\t[awsRealTimeUrl],\n\t\t\tMAX_DELAY_MS\n\t\t);\n\t}\n\n\tprivate async _initializeHandshake(awsRealTimeUrl: string) {\n\t\tlogger.debug(`Initializing handshake ${awsRealTimeUrl}`);\n\t\t// Because connecting the socket is async, is waiting until connection is open\n\t\t// Step 1: connect websocket\n\t\ttry {\n\t\t\tawait (() => {\n\t\t\t\treturn new Promise((res, rej) => {\n\t\t\t\t\tconst newSocket = this.getNewWebSocket(awsRealTimeUrl, 'graphql-ws');\n\t\t\t\t\tnewSocket.onerror = () => {\n\t\t\t\t\t\tlogger.debug(`WebSocket connection error`);\n\t\t\t\t\t};\n\t\t\t\t\tnewSocket.onclose = () => {\n\t\t\t\t\t\trej(new Error('Connection handshake error'));\n\t\t\t\t\t};\n\t\t\t\t\tnewSocket.onopen = () => {\n\t\t\t\t\t\tthis.awsRealTimeSocket = newSocket;\n\t\t\t\t\t\treturn res();\n\t\t\t\t\t};\n\t\t\t\t});\n\t\t\t})();\n\t\t\t// Step 2: wait for ack from AWS AppSyncReaTime after sending init\n\t\t\tawait (() => {\n\t\t\t\treturn new Promise((res, rej) => {\n\t\t\t\t\tif (this.awsRealTimeSocket) {\n\t\t\t\t\t\tlet ackOk = false;\n\t\t\t\t\t\tthis.awsRealTimeSocket.onerror = error => {\n\t\t\t\t\t\t\tlogger.debug(`WebSocket error ${JSON.stringify(error)}`);\n\t\t\t\t\t\t};\n\t\t\t\t\t\tthis.awsRealTimeSocket.onclose = event => {\n\t\t\t\t\t\t\tlogger.debug(`WebSocket closed ${event.reason}`);\n\t\t\t\t\t\t\trej(new Error(JSON.stringify(event)));\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tthis.awsRealTimeSocket.onmessage = (message: MessageEvent) => {\n\t\t\t\t\t\t\tif (typeof message.data !== 'string') {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tlogger.debug(\n\t\t\t\t\t\t\t\t`subscription message from AWS AppSyncRealTime: ${message.data} `\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tconst data = JSON.parse(message.data) as ParsedMessagePayload;\n\t\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\t\ttype,\n\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\tconnectionTimeoutMs = DEFAULT_KEEP_ALIVE_TIMEOUT,\n\t\t\t\t\t\t\t\t} = {},\n\t\t\t\t\t\t\t} = data;\n\t\t\t\t\t\t\tif (type === MESSAGE_TYPES.GQL_CONNECTION_ACK) {\n\t\t\t\t\t\t\t\tackOk = true;\n\t\t\t\t\t\t\t\tif (this.awsRealTimeSocket) {\n\t\t\t\t\t\t\t\t\tthis.keepAliveTimeout = connectionTimeoutMs;\n\t\t\t\t\t\t\t\t\tthis.awsRealTimeSocket.onmessage =\n\t\t\t\t\t\t\t\t\t\tthis._handleIncomingSubscriptionMessage.bind(this);\n\t\t\t\t\t\t\t\t\tthis.awsRealTimeSocket.onerror = err => {\n\t\t\t\t\t\t\t\t\t\tlogger.debug(err);\n\t\t\t\t\t\t\t\t\t\tthis._errorDisconnect(CONTROL_MSG.CONNECTION_CLOSED);\n\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\tthis.awsRealTimeSocket.onclose = event => {\n\t\t\t\t\t\t\t\t\t\tlogger.debug(`WebSocket closed ${event.reason}`);\n\t\t\t\t\t\t\t\t\t\tthis._errorDisconnect(CONTROL_MSG.CONNECTION_CLOSED);\n\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tres('Cool, connected to AWS AppSyncRealTime');\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (type === MESSAGE_TYPES.GQL_CONNECTION_ERROR) {\n\t\t\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\terrors: [{ errorType = '', errorCode = 0 } = {}] = [],\n\t\t\t\t\t\t\t\t\t} = {},\n\t\t\t\t\t\t\t\t} = data;\n\n\t\t\t\t\t\t\t\trej({ errorType, errorCode });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tconst gqlInit = {\n\t\t\t\t\t\t\ttype: MESSAGE_TYPES.GQL_CONNECTION_INIT,\n\t\t\t\t\t\t};\n\t\t\t\t\t\tthis.awsRealTimeSocket.send(JSON.stringify(gqlInit));\n\n\t\t\t\t\t\tconst checkAckOk = (ackOk: boolean) => {\n\t\t\t\t\t\t\tif (!ackOk) {\n\t\t\t\t\t\t\t\tthis.connectionStateMonitor.record(\n\t\t\t\t\t\t\t\t\tCONNECTION_CHANGE.CONNECTION_FAILED\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\trej(\n\t\t\t\t\t\t\t\t\tnew Error(\n\t\t\t\t\t\t\t\t\t\t`Connection timeout: ack from AWSAppSyncRealTime was not received after ${CONNECTION_INIT_TIMEOUT} ms`\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tsetTimeout(() => checkAckOk(ackOk), CONNECTION_INIT_TIMEOUT);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t})();\n\t\t} catch (err) {\n\t\t\tconst { errorType, errorCode } = err as {\n\t\t\t\terrorType: string;\n\t\t\t\terrorCode: number;\n\t\t\t};\n\n\t\t\tif (NON_RETRYABLE_CODES.includes(errorCode)) {\n\t\t\t\tthrow new NonRetryableError(errorType);\n\t\t\t} else if (errorType) {\n\t\t\t\tthrow new Error(errorType);\n\t\t\t} else {\n\t\t\t\tthrow err;\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate async _awsRealTimeHeaderBasedAuth({\n\t\tauthenticationType,\n\t\tpayload,\n\t\tcanonicalUri,\n\t\tappSyncGraphqlEndpoint,\n\t\tapiKey,\n\t\tregion,\n\t\tadditionalHeaders,\n\t}: AWSAppSyncRealTimeAuthInput): Promise<\n\t\tRecord | undefined\n\t> {\n\t\tconst headerHandler: {\n\t\t\t[key in GraphqlAuthModes]: (AWSAppSyncRealTimeAuthInput) => {};\n\t\t} = {\n\t\t\tAPI_KEY: this._awsRealTimeApiKeyHeader.bind(this),\n\t\t\tAWS_IAM: this._awsRealTimeIAMHeader.bind(this),\n\t\t\tOPENID_CONNECT: this._awsRealTimeOPENIDHeader.bind(this),\n\t\t\tAMAZON_COGNITO_USER_POOLS: this._awsRealTimeCUPHeader.bind(this),\n\t\t\tAWS_LAMBDA: this._customAuthHeader,\n\t\t};\n\n\t\tif (!authenticationType || !headerHandler[authenticationType]) {\n\t\t\tlogger.debug(`Authentication type ${authenticationType} not supported`);\n\t\t\treturn undefined;\n\t\t} else {\n\t\t\tconst handler = headerHandler[authenticationType];\n\n\t\t\tconst { host } = url.parse(appSyncGraphqlEndpoint ?? '');\n\n\t\t\tlogger.debug(`Authenticating with ${authenticationType}`);\n\n\t\t\tconst result = await handler({\n\t\t\t\tpayload,\n\t\t\t\tcanonicalUri,\n\t\t\t\tappSyncGraphqlEndpoint,\n\t\t\t\tapiKey,\n\t\t\t\tregion,\n\t\t\t\thost,\n\t\t\t\tadditionalHeaders,\n\t\t\t});\n\n\t\t\treturn result;\n\t\t}\n\t}\n\n\tprivate async _awsRealTimeCUPHeader({ host }: AWSAppSyncRealTimeAuthInput) {\n\t\tconst session = await Auth.currentSession();\n\t\treturn {\n\t\t\tAuthorization: session.getAccessToken().getJwtToken(),\n\t\t\thost,\n\t\t};\n\t}\n\n\tprivate async _awsRealTimeOPENIDHeader({\n\t\thost,\n\t}: AWSAppSyncRealTimeAuthInput) {\n\t\tlet token;\n\t\t// backwards compatibility\n\t\tconst federatedInfo = await Cache.getItem('federatedInfo');\n\t\tif (federatedInfo) {\n\t\t\ttoken = federatedInfo.token;\n\t\t} else {\n\t\t\tconst currentUser = await Auth.currentAuthenticatedUser();\n\t\t\tif (currentUser) {\n\t\t\t\ttoken = currentUser.token;\n\t\t\t}\n\t\t}\n\t\tif (!token) {\n\t\t\tthrow new Error('No federated jwt');\n\t\t}\n\t\treturn {\n\t\t\tAuthorization: token,\n\t\t\thost,\n\t\t};\n\t}\n\n\tprivate async _awsRealTimeApiKeyHeader({\n\t\tapiKey,\n\t\thost,\n\t}: AWSAppSyncRealTimeAuthInput) {\n\t\tconst dt = new Date();\n\t\tconst dtStr = dt.toISOString().replace(/[:\\-]|\\.\\d{3}/g, '');\n\n\t\treturn {\n\t\t\thost,\n\t\t\t'x-amz-date': dtStr,\n\t\t\t'x-api-key': apiKey,\n\t\t};\n\t}\n\n\tprivate async _awsRealTimeIAMHeader({\n\t\tpayload,\n\t\tcanonicalUri,\n\t\tappSyncGraphqlEndpoint,\n\t\tregion,\n\t}: AWSAppSyncRealTimeAuthInput) {\n\t\tconst endpointInfo = {\n\t\t\tregion,\n\t\t\tservice: 'appsync',\n\t\t};\n\n\t\tconst credentialsOK = await this._ensureCredentials();\n\t\tif (!credentialsOK) {\n\t\t\tthrow new Error('No credentials');\n\t\t}\n\t\tconst creds = await Credentials.get().then((credentials: any) => {\n\t\t\tconst { secretAccessKey, accessKeyId, sessionToken } =\n\t\t\t\tcredentials as ICredentials;\n\n\t\t\treturn {\n\t\t\t\tsecret_key: secretAccessKey,\n\t\t\t\taccess_key: accessKeyId,\n\t\t\t\tsession_token: sessionToken,\n\t\t\t};\n\t\t});\n\n\t\tconst request = {\n\t\t\turl: `${appSyncGraphqlEndpoint}${canonicalUri}`,\n\t\t\tdata: payload,\n\t\t\tmethod: 'POST',\n\t\t\theaders: { ...AWS_APPSYNC_REALTIME_HEADERS },\n\t\t};\n\n\t\tconst signed_params = Signer.sign(request, creds, endpointInfo);\n\t\treturn signed_params.headers;\n\t}\n\n\tprivate _customAuthHeader({\n\t\thost,\n\t\tadditionalHeaders,\n\t}: AWSAppSyncRealTimeAuthInput) {\n\t\tif (!additionalHeaders || !additionalHeaders['Authorization']) {\n\t\t\tthrow new Error('No auth token specified');\n\t\t}\n\n\t\treturn {\n\t\t\tAuthorization: additionalHeaders.Authorization,\n\t\t\thost,\n\t\t};\n\t}\n\n\t/**\n\t * @private\n\t */\n\t_ensureCredentials() {\n\t\treturn Credentials.get()\n\t\t\t.then((credentials: any) => {\n\t\t\t\tif (!credentials) return false;\n\t\t\t\tconst cred = Credentials.shear(credentials);\n\t\t\t\tlogger.debug('set credentials for AWSAppSyncRealTimeProvider', cred);\n\n\t\t\t\treturn true;\n\t\t\t})\n\t\t\t.catch((err: any) => {\n\t\t\t\tlogger.warn('ensure credentials error', err);\n\t\t\t\treturn false;\n\t\t\t});\n\t}\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport {\n\tAmplify,\n\tbrowserOrNode,\n\tCategory,\n\tConsoleLogger as Logger,\n\tCustomUserAgentDetails,\n\tINTERNAL_AWS_APPSYNC_REALTIME_PUBSUB_PROVIDER,\n\tPubSubAction,\n} from '@aws-amplify/core';\nimport { PubSubProvider, PubSubOptions, ProviderOptions } from '../types';\nimport { AWSAppSyncRealTimeProvider } from '../Providers';\nimport { PubSubContent } from '../types/PubSub';\nimport Observable from 'zen-observable-ts';\n\nconst { isNode } = browserOrNode();\nconst logger = new Logger('PubSub');\n\ntype PubSubObservable = {\n\tprovider: PubSubProvider;\n\tvalue: string | Record;\n};\n\nexport class InternalPubSubClass {\n\tprivate _options: PubSubOptions;\n\n\tprivate _pluggables: PubSubProvider[];\n\n\t/**\n\t * Internal instance of AWSAppSyncRealTimeProvider used by the API category to subscribe to AppSync\n\t */\n\tprivate _awsAppSyncRealTimeProvider?: AWSAppSyncRealTimeProvider;\n\n\t/**\n\t * Lazy instantiate AWSAppSyncRealTimeProvider when it is required by the API category\n\t */\n\tprivate get awsAppSyncRealTimeProvider() {\n\t\tif (!this._awsAppSyncRealTimeProvider) {\n\t\t\tthis._awsAppSyncRealTimeProvider = new AWSAppSyncRealTimeProvider(\n\t\t\t\tthis._options\n\t\t\t);\n\t\t}\n\t\treturn this._awsAppSyncRealTimeProvider;\n\t}\n\n\t/**\n\t * Initialize PubSub with AWS configurations\n\t *\n\t * @param {PubSubOptions} options - Configuration object for PubSub\n\t */\n\tconstructor(options?: PubSubOptions) {\n\t\tthis._options = options ?? {};\n\t\tlogger.debug('PubSub Options', this._options);\n\t\tthis._pluggables = [];\n\t\tthis.subscribe = this.subscribe.bind(this);\n\t}\n\n\tpublic getModuleName() {\n\t\treturn 'InternalPubSub';\n\t}\n\n\t/**\n\t * Configure PubSub part with configurations\n\t *\n\t * @param {PubSubOptions} config - Configuration for PubSub\n\t * @return {Object} - The current configuration\n\t */\n\tconfigure(options: PubSubOptions) {\n\t\tconst opt: Record = options\n\t\t\t? options.PubSub || options\n\t\t\t: {};\n\t\tlogger.debug('configure PubSub', { opt });\n\n\t\tthis._options = Object.assign({}, this._options, opt);\n\n\t\tthis._pluggables.map(pluggable => pluggable.configure(this._options));\n\n\t\treturn this._options;\n\t}\n\n\t/**\n\t * add plugin into Analytics category\n\t * @param {Object} pluggable - an instance of the plugin\n\t */\n\tpublic async addPluggable(pluggable: PubSubProvider) {\n\t\tif (pluggable && pluggable.getCategory() === 'PubSub') {\n\t\t\tthis._pluggables.push(pluggable);\n\n\t\t\tconst config = pluggable.configure(this._options);\n\n\t\t\treturn config;\n\t\t}\n\t}\n\n\t/**\n\t * remove plugin from PubSub category\n\t * @param providerName - the name of the plugin\n\t */\n\tremovePluggable(providerName: string): void {\n\t\tthis._pluggables = this._pluggables.filter(\n\t\t\tpluggable => pluggable.getProviderName() !== providerName\n\t\t);\n\t}\n\n\tprivate getProviderByName(providerName: string | symbol) {\n\t\tif (providerName === INTERNAL_AWS_APPSYNC_REALTIME_PUBSUB_PROVIDER) {\n\t\t\treturn this.awsAppSyncRealTimeProvider;\n\t\t}\n\n\t\treturn this._pluggables.find(\n\t\t\tpluggable => pluggable.getProviderName() === providerName\n\t\t);\n\t}\n\n\tprivate getProviders(options: ProviderOptions = {}) {\n\t\tconst providerName = options.provider;\n\t\tif (!providerName) {\n\t\t\treturn this._pluggables;\n\t\t}\n\n\t\tconst provider = this.getProviderByName(providerName);\n\t\tif (!provider) {\n\t\t\tthrow new Error(`Could not find provider named ${String(providerName)}`);\n\t\t}\n\n\t\treturn [provider];\n\t}\n\n\tasync publish(\n\t\ttopics: string[] | string,\n\t\tmsg: PubSubContent,\n\t\toptions?: ProviderOptions\n\t) {\n\t\treturn Promise.all(\n\t\t\tthis.getProviders(options).map(provider =>\n\t\t\t\tprovider.publish(topics, msg, options)\n\t\t\t)\n\t\t);\n\t}\n\n\tsubscribe(\n\t\ttopics: string[] | string,\n\t\toptions?: ProviderOptions,\n\t\tcustomUserAgentDetails?: CustomUserAgentDetails\n\t): Observable {\n\t\tif (isNode && this._options && this._options.ssr) {\n\t\t\tthrow new Error(\n\t\t\t\t'Subscriptions are not supported for Server-Side Rendering (SSR)'\n\t\t\t);\n\t\t}\n\n\t\tlogger.debug('subscribe options', options);\n\n\t\tconst providers = this.getProviders(options);\n\n\t\tconst pubSubUserAgentDetails: CustomUserAgentDetails = {\n\t\t\tcategory: Category.PubSub,\n\t\t\taction: PubSubAction.Subscribe,\n\t\t\t...customUserAgentDetails,\n\t\t};\n\n\t\treturn new Observable(observer => {\n\t\t\tconst observables = providers.map(provider => ({\n\t\t\t\tprovider,\n\t\t\t\tobservable: provider.subscribe(topics, options, pubSubUserAgentDetails),\n\t\t\t}));\n\n\t\t\tconst subscriptions = observables.map(({ provider, observable }) =>\n\t\t\t\tobservable.subscribe({\n\t\t\t\t\tstart: console.error,\n\t\t\t\t\tnext: (value: PubSubContent) => observer.next({ provider, value }),\n\t\t\t\t\terror: (error: unknown) => observer.error({ provider, error }),\n\t\t\t\t\t// complete: observer.complete, // TODO: when all completed, complete the outer one\n\t\t\t\t})\n\t\t\t);\n\n\t\t\treturn () =>\n\t\t\t\tsubscriptions.forEach(subscription => subscription.unsubscribe());\n\t\t});\n\t}\n}\n\nexport const InternalPubSub = new InternalPubSubClass();\nAmplify.register(InternalPubSub);\n","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = (\n (product) => {\n return hasBrowserEnv && ['ReactNative', 'NativeScript', 'NS'].indexOf(product) < 0\n })(typeof navigator !== 'undefined' && navigator.product);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isHeaders(header)) {\n for (const [key, value] of header.entries()) {\n setHeader(value, key, rewrite);\n }\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","'use strict';\n\n/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n const threshold = 1000 / freq;\n let timer = null;\n return function throttled() {\n const force = this === true;\n\n const now = Date.now();\n if (force || now - timestamp > threshold) {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n timestamp = now;\n return fn.apply(null, arguments);\n }\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n timestamp = Date.now();\n return fn.apply(null, arguments);\n }, threshold - (now - timestamp));\n }\n };\n}\n\nexport default throttle;\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\n\nexport default (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n }, freq);\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n// Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover its components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })();\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n let contentType;\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // Let the browser set it\n } else if ((contentType = headers.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\n }\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport progressEventReducer from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType} = _config;\n let onCanceled;\n function done() {\n if (_config.cancelToken) {\n _config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (_config.signal) {\n _config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, _config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, _config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n _config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (typeof _config.onDownloadProgress === 'function') {\n request.addEventListener('progress', progressEventReducer(_config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof _config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(_config.onUploadProgress));\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst composeSignals = (signals, timeout) => {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (cancel) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = cancel instanceof Error ? cancel : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal &&\n (signal.removeEventListener ? signal.removeEventListener('abort', onabort) : signal.unsubscribe(onabort));\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal && signal.addEventListener && signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = unsubscribe;\n\n return [signal, () => {\n timer && clearTimeout(timer);\n timer = null;\n }];\n}\n\nexport default composeSignals;\n","\n\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize, encode) {\n for await (const chunk of iterable) {\n yield* streamChunk(ArrayBuffer.isView(chunk) ? chunk : (await encode(String(chunk))), chunkSize);\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish, encode) => {\n const iterator = readBytes(stream, chunkSize, encode);\n\n let bytes = 0;\n\n return new ReadableStream({\n type: 'bytes',\n\n async pull(controller) {\n const {done, value} = await iterator.next();\n\n if (done) {\n controller.close();\n onFinish();\n return;\n }\n\n let len = value.byteLength;\n onProgress && onProgress(bytes += len);\n controller.enqueue(new Uint8Array(value));\n },\n cancel(reason) {\n onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport progressEventReducer from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst fetchProgressDecorator = (total, fn) => {\n const lengthComputable = total != null;\n return (loaded) => setTimeout(() => fn({\n lengthComputable,\n total,\n loaded\n }));\n}\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst supportsRequestStream = isReadableStreamSupported && (() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n})();\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported && !!(()=> {\n try {\n return utils.isReadableStream(new Response('').body);\n } catch(err) {\n // return undefined\n }\n})();\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils.isBlob(body)) {\n return body.size;\n }\n\n if(utils.isSpecCompliantForm(body)) {\n return (await new Request(body).arrayBuffer()).byteLength;\n }\n\n if(utils.isArrayBufferView(body)) {\n return body.byteLength;\n }\n\n if(utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let [composedSignal, stopTimeout] = (signal || cancelToken || timeout) ?\n composeSignals([signal, cancelToken], timeout) : [];\n\n let finished, request;\n\n const onFinish = () => {\n !finished && setTimeout(() => {\n composedSignal && composedSignal.unsubscribe();\n });\n\n finished = true;\n }\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, fetchProgressDecorator(\n requestContentLength,\n progressEventReducer(onUploadProgress)\n ), null, encodeText);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'cors' : 'omit';\n }\n\n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n withCredentials\n });\n\n let response = await fetch(request);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || isStreamResponse)) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onDownloadProgress && fetchProgressDecorator(\n responseContentLength,\n progressEventReducer(onDownloadProgress, true)\n ), isStreamResponse && onFinish, encodeText),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && onFinish();\n\n stopTimeout && stopTimeout();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n onFinish();\n\n if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\n\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: fetchAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","export const VERSION = \"1.7.2\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy;\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { __assign, __awaiter, __generator, __rest } from \"tslib\";\nimport { ConsoleLogger as Logger, Credentials, DateUtils, Signer, } from '@aws-amplify/core';\nimport axios from 'axios';\nimport { parse, format } from 'url';\nvar logger = new Logger('RestClient');\n/**\n* HTTP Client for REST requests. Send and receive JSON data.\n* Sign request with AWS credentials if available\n* Usage:\n
\nconst restClient = new RestClient();\nrestClient.get('...')\n    .then(function(data) {\n        console.log(data);\n    })\n    .catch(err => console.log(err));\n
\n*/\nvar RestClient = /** @class */ (function () {\n /**\n * @param {RestClientOptions} [options] - Instance options\n */\n function RestClient(options) {\n this._region = 'us-east-1'; // this will be updated by endpoint function\n this._service = 'execute-api'; // this can be updated by endpoint function\n this._custom_header = undefined; // this can be updated by endpoint function\n /**\n * This weak map provides functionality to let clients cancel\n * in-flight axios requests. https://github.com/axios/axios#cancellation\n *\n * 1. For every axios request, a unique cancel token is generated and added in the request.\n * 2. Promise for fulfilling the request is then mapped to that unique cancel token.\n * 3. The promise is returned to the client.\n * 4. Clients can either wait for the promise to fulfill or call `API.cancel(promise)` to cancel the request.\n * 5. If `API.cancel(promise)` is called, then the corresponding cancel token is retrieved from the map below.\n * 6. Promise returned to the client will be in rejected state with the error provided during cancel.\n * 7. Clients can check if the error is because of cancelling by calling `API.isCancel(error)`.\n *\n * For more details, see https://github.com/aws-amplify/amplify-js/pull/3769#issuecomment-552660025\n */\n this._cancelTokenMap = null;\n this.Credentials = Credentials;\n this._options = options;\n logger.debug('API Options', this._options);\n if (this._cancelTokenMap == null) {\n this._cancelTokenMap = new WeakMap();\n }\n }\n /**\n * Update AWS credentials\n * @param {AWSCredentials} credentials - AWS credentials\n *\n updateCredentials(credentials: AWSCredentials) {\n this.options.credentials = credentials;\n }\n*/\n /**\n * Basic HTTP request. Customizable\n * @param {string | ApiInfo } urlOrApiInfo - Full request URL or Api information\n * @param {string} method - Request HTTP method\n * @param {json} [init] - Request extra params\n * @return {Promise} - A promise that resolves to an object with response status and JSON data, if successful.\n */\n RestClient.prototype.ajax = function (urlOrApiInfo, method, init) {\n return __awaiter(this, void 0, void 0, function () {\n var parsed_url, url, region, service, custom_header, params, libraryHeaders, initParams, isAllResponse, custom_header_obj, _a, _b, search, parsedUrl, credentials, error_1, signedParams, response, error_2, headers, dateHeader, responseDate, requestDate, rawClientDate;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n logger.debug(method, urlOrApiInfo);\n region = 'us-east-1';\n service = 'execute-api';\n custom_header = undefined;\n if (typeof urlOrApiInfo === 'string') {\n parsed_url = this._parseUrl(urlOrApiInfo);\n url = urlOrApiInfo;\n }\n else {\n (url = urlOrApiInfo.endpoint, custom_header = urlOrApiInfo.custom_header, region = urlOrApiInfo.region, service = urlOrApiInfo.service);\n parsed_url = this._parseUrl(urlOrApiInfo.endpoint);\n }\n params = {\n method: method,\n url: url,\n host: parsed_url.host,\n path: parsed_url.path,\n headers: {},\n data: null,\n responseType: 'json',\n timeout: 0,\n cancelToken: null,\n };\n libraryHeaders = {};\n initParams = Object.assign({}, init);\n isAllResponse = initParams.response;\n if (initParams.body) {\n if (typeof FormData === 'function' &&\n initParams.body instanceof FormData) {\n libraryHeaders['Content-Type'] = 'multipart/form-data';\n params.data = initParams.body;\n }\n else {\n libraryHeaders['Content-Type'] = 'application/json; charset=UTF-8';\n params.data = JSON.stringify(initParams.body);\n }\n }\n if (initParams.responseType) {\n params.responseType = initParams.responseType;\n }\n if (initParams.withCredentials) {\n params['withCredentials'] = initParams.withCredentials;\n }\n if (initParams.timeout) {\n params.timeout = initParams.timeout;\n }\n if (initParams.cancellableToken) {\n params.cancelToken = initParams.cancellableToken.token;\n }\n params['signerServiceInfo'] = initParams.signerServiceInfo;\n if (!(typeof custom_header === 'function')) return [3 /*break*/, 2];\n return [4 /*yield*/, custom_header()];\n case 1:\n _a = _c.sent();\n return [3 /*break*/, 3];\n case 2:\n _a = undefined;\n _c.label = 3;\n case 3:\n custom_header_obj = _a;\n params.headers = __assign(__assign(__assign({}, libraryHeaders), custom_header_obj), initParams.headers);\n _b = parse(url, true, true), search = _b.search, parsedUrl = __rest(_b, [\"search\"]);\n params.url = format(__assign(__assign({}, parsedUrl), { query: __assign(__assign({}, parsedUrl.query), (initParams.queryStringParameters || {})) }));\n // Do not sign the request if client has added 'Authorization' header,\n // which means custom authorizer.\n if (typeof params.headers['Authorization'] !== 'undefined') {\n params.headers = Object.keys(params.headers).reduce(function (acc, k) {\n if (params.headers[k]) {\n acc[k] = params.headers[k];\n }\n return acc;\n // tslint:disable-next-line:align\n }, {});\n return [2 /*return*/, this._request(params, isAllResponse)];\n }\n _c.label = 4;\n case 4:\n _c.trys.push([4, 6, , 7]);\n return [4 /*yield*/, this.Credentials.get()];\n case 5:\n credentials = _c.sent();\n return [3 /*break*/, 7];\n case 6:\n error_1 = _c.sent();\n logger.debug('No credentials available, the request will be unsigned');\n return [2 /*return*/, this._request(params, isAllResponse)];\n case 7:\n _c.trys.push([7, 9, , 10]);\n signedParams = this._sign(__assign({}, params), credentials, {\n region: region,\n service: service,\n });\n return [4 /*yield*/, axios(signedParams)];\n case 8:\n response = _c.sent();\n return [2 /*return*/, isAllResponse ? response : response.data];\n case 9:\n error_2 = _c.sent();\n logger.debug(error_2);\n if (DateUtils.isClockSkewError(error_2)) {\n headers = error_2.response.headers;\n dateHeader = headers && (headers.date || headers.Date);\n responseDate = new Date(dateHeader);\n requestDate = DateUtils.getDateFromHeaderString(signedParams.headers['x-amz-date']);\n // Compare local clock to the server clock\n if (DateUtils.isClockSkewed(responseDate)) {\n rawClientDate = requestDate.getTime() - DateUtils.getClockOffset();\n DateUtils.setClockOffset(responseDate.getTime() - rawClientDate);\n return [2 /*return*/, this.ajax(urlOrApiInfo, method, init)];\n }\n }\n throw error_2;\n case 10: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * GET HTTP request\n * @param {string | ApiInfo } urlOrApiInfo - Full request URL or Api information\n * @param {JSON} init - Request extra params\n * @return {Promise} - A promise that resolves to an object with response status and JSON data, if successful.\n */\n RestClient.prototype.get = function (urlOrApiInfo, init) {\n return this.ajax(urlOrApiInfo, 'GET', init);\n };\n /**\n * PUT HTTP request\n * @param {string | ApiInfo } urlOrApiInfo - Full request URL or Api information\n * @param {json} init - Request extra params\n * @return {Promise} - A promise that resolves to an object with response status and JSON data, if successful.\n */\n RestClient.prototype.put = function (urlOrApiInfo, init) {\n return this.ajax(urlOrApiInfo, 'PUT', init);\n };\n /**\n * PATCH HTTP request\n * @param {string | ApiInfo } urlOrApiInfo - Full request URL or Api information\n * @param {json} init - Request extra params\n * @return {Promise} - A promise that resolves to an object with response status and JSON data, if successful.\n */\n RestClient.prototype.patch = function (urlOrApiInfo, init) {\n return this.ajax(urlOrApiInfo, 'PATCH', init);\n };\n /**\n * POST HTTP request\n * @param {string | ApiInfo } urlOrApiInfo - Full request URL or Api information\n * @param {json} init - Request extra params\n * @return {Promise} - A promise that resolves to an object with response status and JSON data, if successful.\n */\n RestClient.prototype.post = function (urlOrApiInfo, init) {\n return this.ajax(urlOrApiInfo, 'POST', init);\n };\n /**\n * DELETE HTTP request\n * @param {string | ApiInfo } urlOrApiInfo - Full request URL or Api information\n * @param {json} init - Request extra params\n * @return {Promise} - A promise that resolves to an object with response status and JSON data, if successful.\n */\n RestClient.prototype.del = function (urlOrApiInfo, init) {\n return this.ajax(urlOrApiInfo, 'DELETE', init);\n };\n /**\n * HEAD HTTP request\n * @param {string | ApiInfo } urlOrApiInfo - Full request URL or Api information\n * @param {json} init - Request extra params\n * @return {Promise} - A promise that resolves to an object with response status and JSON data, if successful.\n */\n RestClient.prototype.head = function (urlOrApiInfo, init) {\n return this.ajax(urlOrApiInfo, 'HEAD', init);\n };\n /**\n * Cancel an inflight API request\n * @param {Promise} request - The request promise to cancel\n * @param {string} [message] - A message to include in the cancelation exception\n */\n RestClient.prototype.cancel = function (request, message) {\n var source = this._cancelTokenMap.get(request);\n if (source) {\n source.cancel(message);\n return true;\n }\n return false;\n };\n /**\n * Check if the request has a corresponding cancel token in the WeakMap.\n * @params request - The request promise\n * @return if the request has a corresponding cancel token.\n */\n RestClient.prototype.hasCancelToken = function (request) {\n return this._cancelTokenMap.has(request);\n };\n /**\n * Checks to see if an error thrown is from an api request cancellation\n * @param {any} error - Any error\n * @return {boolean} - A boolean indicating if the error was from an api request cancellation\n */\n RestClient.prototype.isCancel = function (error) {\n return axios.isCancel(error);\n };\n /**\n * Retrieves a new and unique cancel token which can be\n * provided in an axios request to be cancelled later.\n */\n RestClient.prototype.getCancellableToken = function () {\n return axios.CancelToken.source();\n };\n /**\n * Updates the weakmap with a response promise and its\n * cancel token such that the cancel token can be easily\n * retrieved (and used for cancelling the request)\n */\n RestClient.prototype.updateRequestToBeCancellable = function (promise, cancelTokenSource) {\n this._cancelTokenMap.set(promise, cancelTokenSource);\n };\n /**\n * Getting endpoint for API\n * @param {string} apiName - The name of the api\n * @return {string} - The endpoint of the api\n */\n RestClient.prototype.endpoint = function (apiName) {\n var _this = this;\n var cloud_logic_array = this._options.endpoints;\n var response = '';\n if (!Array.isArray(cloud_logic_array)) {\n return response;\n }\n cloud_logic_array.forEach(function (v) {\n if (v.name === apiName) {\n response = v.endpoint;\n if (typeof v.region === 'string') {\n _this._region = v.region;\n }\n else if (typeof _this._options.region === 'string') {\n _this._region = _this._options.region;\n }\n if (typeof v.service === 'string') {\n _this._service = v.service || 'execute-api';\n }\n else {\n _this._service = 'execute-api';\n }\n if (typeof v.custom_header === 'function') {\n _this._custom_header = v.custom_header;\n }\n else {\n _this._custom_header = undefined;\n }\n }\n });\n return response;\n };\n /** private methods **/\n RestClient.prototype._sign = function (params, credentials, _a) {\n var service = _a.service, region = _a.region;\n var signerServiceInfoParams = params.signerServiceInfo, otherParams = __rest(params, [\"signerServiceInfo\"]);\n var endpoint_region = region || this._region || this._options.region;\n var endpoint_service = service || this._service || this._options.service;\n var creds = {\n secret_key: credentials.secretAccessKey,\n access_key: credentials.accessKeyId,\n session_token: credentials.sessionToken,\n };\n var endpointInfo = {\n region: endpoint_region,\n service: endpoint_service,\n };\n var signerServiceInfo = Object.assign(endpointInfo, signerServiceInfoParams);\n var signed_params = Signer.sign(otherParams, creds, signerServiceInfo);\n if (signed_params.data) {\n signed_params.body = signed_params.data;\n }\n logger.debug('Signed Request: ', signed_params);\n delete signed_params.headers['host'];\n return signed_params;\n };\n RestClient.prototype._request = function (params, isAllResponse) {\n if (isAllResponse === void 0) { isAllResponse = false; }\n return axios(params)\n .then(function (response) { return (isAllResponse ? response : response.data); })\n .catch(function (error) {\n logger.debug(error);\n throw error;\n });\n };\n RestClient.prototype._parseUrl = function (url) {\n var parts = url.split('/');\n return {\n host: parts[2],\n path: '/' + parts.slice(3).join('/'),\n };\n };\n return RestClient;\n}());\nexport { RestClient };\n","import { __assign, __awaiter, __generator, __read, __rest } from \"tslib\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { print, parse, GraphQLError, } from 'graphql';\nimport { Amplify, ConsoleLogger as Logger, Credentials, getAmplifyUserAgent, INTERNAL_AWS_APPSYNC_REALTIME_PUBSUB_PROVIDER, } from '@aws-amplify/core';\nimport { InternalPubSub } from '@aws-amplify/pubsub/internals';\nimport { Auth } from '@aws-amplify/auth';\nimport { Cache } from '@aws-amplify/cache';\nimport { GraphQLAuthError, } from '../types';\nimport { RestClient } from '@aws-amplify/api-rest';\nvar USER_AGENT_HEADER = 'x-amz-user-agent';\nvar logger = new Logger('GraphQLAPI');\nexport var graphqlOperation = function (query, variables, authToken) {\n if (variables === void 0) { variables = {}; }\n return ({\n query: query,\n variables: variables,\n authToken: authToken,\n });\n};\n/**\n * Export Cloud Logic APIs\n */\nvar InternalGraphQLAPIClass = /** @class */ (function () {\n /**\n * Initialize GraphQL API with AWS configuration\n * @param {Object} options - Configuration object for API\n */\n function InternalGraphQLAPIClass(options) {\n this._api = null;\n this.Auth = Auth;\n this.Cache = Cache;\n this.Credentials = Credentials;\n this._options = options;\n logger.debug('API Options', this._options);\n }\n InternalGraphQLAPIClass.prototype.getModuleName = function () {\n return 'InternalGraphQLAPI';\n };\n /**\n * Configure API\n * @param {Object} config - Configuration of the API\n * @return {Object} - The current configuration\n */\n InternalGraphQLAPIClass.prototype.configure = function (options) {\n var _a = options || {}, _b = _a.API, API = _b === void 0 ? {} : _b, otherOptions = __rest(_a, [\"API\"]);\n var opt = __assign(__assign({}, otherOptions), API);\n logger.debug('configure GraphQL API', { opt: opt });\n if (opt['aws_project_region']) {\n opt = Object.assign({}, opt, {\n region: opt['aws_project_region'],\n header: {},\n });\n }\n if (typeof opt.graphql_headers !== 'undefined' &&\n typeof opt.graphql_headers !== 'function') {\n logger.warn('graphql_headers should be a function');\n opt.graphql_headers = undefined;\n }\n this._options = Object.assign({}, this._options, opt);\n this.createInstance();\n return this._options;\n };\n /**\n * Create an instance of API for the library\n * @return - A promise of true if Success\n */\n InternalGraphQLAPIClass.prototype.createInstance = function () {\n logger.debug('create Rest instance');\n if (this._options) {\n this._api = new RestClient(this._options);\n // Share instance Credentials with client for SSR\n this._api.Credentials = this.Credentials;\n return true;\n }\n else {\n return Promise.reject('API not configured');\n }\n };\n InternalGraphQLAPIClass.prototype._headerBasedAuth = function (defaultAuthenticationType, additionalHeaders) {\n if (additionalHeaders === void 0) { additionalHeaders = {}; }\n return __awaiter(this, void 0, void 0, function () {\n var _a, aws_appsync_authenticationType, apiKey, authenticationType, headers, _b, credentialsOK, token, federatedInfo, currentUser, e_1, session, e_2;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = this._options, aws_appsync_authenticationType = _a.aws_appsync_authenticationType, apiKey = _a.aws_appsync_apiKey;\n authenticationType = defaultAuthenticationType || aws_appsync_authenticationType || 'AWS_IAM';\n headers = {};\n _b = authenticationType;\n switch (_b) {\n case 'API_KEY': return [3 /*break*/, 1];\n case 'AWS_IAM': return [3 /*break*/, 2];\n case 'OPENID_CONNECT': return [3 /*break*/, 4];\n case 'AMAZON_COGNITO_USER_POOLS': return [3 /*break*/, 11];\n case 'AWS_LAMBDA': return [3 /*break*/, 15];\n }\n return [3 /*break*/, 16];\n case 1:\n if (!apiKey) {\n throw new Error(GraphQLAuthError.NO_API_KEY);\n }\n headers = {\n Authorization: null,\n 'X-Api-Key': apiKey,\n };\n return [3 /*break*/, 17];\n case 2: return [4 /*yield*/, this._ensureCredentials()];\n case 3:\n credentialsOK = _c.sent();\n if (!credentialsOK) {\n throw new Error(GraphQLAuthError.NO_CREDENTIALS);\n }\n return [3 /*break*/, 17];\n case 4:\n _c.trys.push([4, 9, , 10]);\n token = void 0;\n return [4 /*yield*/, Cache.getItem('federatedInfo')];\n case 5:\n federatedInfo = _c.sent();\n if (!federatedInfo) return [3 /*break*/, 6];\n token = federatedInfo.token;\n return [3 /*break*/, 8];\n case 6: return [4 /*yield*/, Auth.currentAuthenticatedUser()];\n case 7:\n currentUser = _c.sent();\n if (currentUser) {\n token = currentUser.token;\n }\n _c.label = 8;\n case 8:\n if (!token) {\n throw new Error(GraphQLAuthError.NO_FEDERATED_JWT);\n }\n headers = {\n Authorization: token,\n };\n return [3 /*break*/, 10];\n case 9:\n e_1 = _c.sent();\n throw new Error(GraphQLAuthError.NO_CURRENT_USER);\n case 10: return [3 /*break*/, 17];\n case 11:\n _c.trys.push([11, 13, , 14]);\n return [4 /*yield*/, this.Auth.currentSession()];\n case 12:\n session = _c.sent();\n headers = {\n Authorization: session.getAccessToken().getJwtToken(),\n };\n return [3 /*break*/, 14];\n case 13:\n e_2 = _c.sent();\n throw new Error(GraphQLAuthError.NO_CURRENT_USER);\n case 14: return [3 /*break*/, 17];\n case 15:\n if (!additionalHeaders.Authorization) {\n throw new Error(GraphQLAuthError.NO_AUTH_TOKEN);\n }\n headers = {\n Authorization: additionalHeaders.Authorization,\n };\n return [3 /*break*/, 17];\n case 16:\n headers = {\n Authorization: null,\n };\n return [3 /*break*/, 17];\n case 17: return [2 /*return*/, headers];\n }\n });\n });\n };\n /**\n * to get the operation type\n * @param operation\n */\n InternalGraphQLAPIClass.prototype.getGraphqlOperationType = function (operation) {\n var doc = parse(operation);\n var definitions = doc.definitions;\n var _a = __read(definitions, 1), operationType = _a[0].operation;\n return operationType;\n };\n /**\n * Executes a GraphQL operation\n *\n * @param options - GraphQL Options\n * @param [additionalHeaders] - headers to merge in after any `graphql_headers` set in the config\n * @returns An Observable if the query is a subscription query, else a promise of the graphql result.\n */\n InternalGraphQLAPIClass.prototype.graphql = function (_a, additionalHeaders, customUserAgentDetails) {\n var paramQuery = _a.query, _b = _a.variables, variables = _b === void 0 ? {} : _b, authMode = _a.authMode, authToken = _a.authToken;\n var query = typeof paramQuery === 'string'\n ? parse(paramQuery)\n : parse(print(paramQuery));\n var _c = __read(query.definitions.filter(function (def) { return def.kind === 'OperationDefinition'; }), 1), _d = _c[0], operationDef = _d === void 0 ? {} : _d;\n var operationType = operationDef.operation;\n var headers = additionalHeaders || {};\n // if an authorization header is set, have the explicit authToken take precedence\n if (authToken) {\n headers.Authorization = authToken;\n }\n switch (operationType) {\n case 'query':\n case 'mutation':\n this.createInstanceIfNotCreated();\n var cancellableToken = this._api.getCancellableToken();\n var initParams = {\n cancellableToken: cancellableToken,\n withCredentials: this._options.withCredentials,\n };\n var responsePromise = this._graphql({ query: query, variables: variables, authMode: authMode }, headers, initParams, customUserAgentDetails);\n this._api.updateRequestToBeCancellable(responsePromise, cancellableToken);\n return responsePromise;\n case 'subscription':\n return this._graphqlSubscribe({ query: query, variables: variables, authMode: authMode }, headers, customUserAgentDetails);\n default:\n throw new Error(\"invalid operation type: \".concat(operationType));\n }\n };\n InternalGraphQLAPIClass.prototype._graphql = function (_a, additionalHeaders, initParams, customUserAgentDetails) {\n var query = _a.query, variables = _a.variables, authMode = _a.authMode;\n if (additionalHeaders === void 0) { additionalHeaders = {}; }\n if (initParams === void 0) { initParams = {}; }\n return __awaiter(this, void 0, void 0, function () {\n var _b, region, appSyncGraphqlEndpoint, _c, graphql_headers, customGraphqlEndpoint, customEndpointRegion, headers, _d, _e, _f, _g, _h, _j, body, init, endpoint, error, response, err_1, errors;\n var _k;\n return __generator(this, function (_l) {\n switch (_l.label) {\n case 0:\n this.createInstanceIfNotCreated();\n _b = this._options, region = _b.aws_appsync_region, appSyncGraphqlEndpoint = _b.aws_appsync_graphqlEndpoint, _c = _b.graphql_headers, graphql_headers = _c === void 0 ? function () { return ({}); } : _c, customGraphqlEndpoint = _b.graphql_endpoint, customEndpointRegion = _b.graphql_endpoint_iam_region;\n _d = [{}];\n _e = !customGraphqlEndpoint;\n if (!_e) return [3 /*break*/, 2];\n return [4 /*yield*/, this._headerBasedAuth(authMode, additionalHeaders)];\n case 1:\n _e = (_l.sent());\n _l.label = 2;\n case 2:\n _f = [__assign.apply(void 0, _d.concat([(_e)]))];\n _g = customGraphqlEndpoint;\n if (!_g) return [3 /*break*/, 6];\n if (!customEndpointRegion) return [3 /*break*/, 4];\n return [4 /*yield*/, this._headerBasedAuth(authMode, additionalHeaders)];\n case 3:\n _h = _l.sent();\n return [3 /*break*/, 5];\n case 4:\n _h = { Authorization: null };\n _l.label = 5;\n case 5:\n _g = (_h);\n _l.label = 6;\n case 6:\n _j = [__assign.apply(void 0, _f.concat([(_g)]))];\n return [4 /*yield*/, graphql_headers({ query: query, variables: variables })];\n case 7:\n headers = __assign.apply(void 0, [__assign.apply(void 0, [__assign.apply(void 0, _j.concat([(_l.sent())])), additionalHeaders]), (!customGraphqlEndpoint && (_k = {},\n _k[USER_AGENT_HEADER] = getAmplifyUserAgent(customUserAgentDetails),\n _k))]);\n body = {\n query: print(query),\n variables: variables,\n };\n init = Object.assign({\n headers: headers,\n body: body,\n signerServiceInfo: {\n service: !customGraphqlEndpoint ? 'appsync' : 'execute-api',\n region: !customGraphqlEndpoint ? region : customEndpointRegion,\n },\n }, initParams);\n endpoint = customGraphqlEndpoint || appSyncGraphqlEndpoint;\n if (!endpoint) {\n error = new GraphQLError('No graphql endpoint provided.');\n throw {\n data: {},\n errors: [error],\n };\n }\n _l.label = 8;\n case 8:\n _l.trys.push([8, 10, , 11]);\n return [4 /*yield*/, this._api.post(endpoint, init)];\n case 9:\n response = _l.sent();\n return [3 /*break*/, 11];\n case 10:\n err_1 = _l.sent();\n // If the exception is because user intentionally\n // cancelled the request, do not modify the exception\n // so that clients can identify the exception correctly.\n if (this._api.isCancel(err_1)) {\n throw err_1;\n }\n response = {\n data: {},\n errors: [new GraphQLError(err_1.message, null, null, null, null, err_1)],\n };\n return [3 /*break*/, 11];\n case 11:\n errors = response.errors;\n if (errors && errors.length) {\n throw response;\n }\n return [2 /*return*/, response];\n }\n });\n });\n };\n InternalGraphQLAPIClass.prototype.createInstanceIfNotCreated = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!!this._api) return [3 /*break*/, 2];\n return [4 /*yield*/, this.createInstance()];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Checks to see if an error thrown is from an api request cancellation\n * @param {any} error - Any error\n * @return {boolean} - A boolean indicating if the error was from an api request cancellation\n */\n InternalGraphQLAPIClass.prototype.isCancel = function (error) {\n return this._api.isCancel(error);\n };\n /**\n * Cancels an inflight request. Only applicable for graphql queries and mutations\n * @param {any} request - request to cancel\n * @return {boolean} - A boolean indicating if the request was cancelled\n */\n InternalGraphQLAPIClass.prototype.cancel = function (request, message) {\n return this._api.cancel(request, message);\n };\n /**\n * Check if the request has a corresponding cancel token in the WeakMap.\n * @params request - The request promise\n * @return if the request has a corresponding cancel token.\n */\n InternalGraphQLAPIClass.prototype.hasCancelToken = function (request) {\n return this._api.hasCancelToken(request);\n };\n InternalGraphQLAPIClass.prototype._graphqlSubscribe = function (_a, additionalHeaders, customUserAgentDetails) {\n var query = _a.query, variables = _a.variables, defaultAuthenticationType = _a.authMode, authToken = _a.authToken;\n if (additionalHeaders === void 0) { additionalHeaders = {}; }\n var _b = this._options, region = _b.aws_appsync_region, appSyncGraphqlEndpoint = _b.aws_appsync_graphqlEndpoint, aws_appsync_authenticationType = _b.aws_appsync_authenticationType, apiKey = _b.aws_appsync_apiKey, _c = _b.graphql_headers, graphql_headers = _c === void 0 ? function () { return ({}); } : _c;\n var authenticationType = defaultAuthenticationType || aws_appsync_authenticationType || 'AWS_IAM';\n if (InternalPubSub && typeof InternalPubSub.subscribe === 'function') {\n return InternalPubSub.subscribe('', {\n provider: INTERNAL_AWS_APPSYNC_REALTIME_PUBSUB_PROVIDER,\n appSyncGraphqlEndpoint: appSyncGraphqlEndpoint,\n authenticationType: authenticationType,\n apiKey: apiKey,\n query: print(query),\n region: region,\n variables: variables,\n graphql_headers: graphql_headers,\n additionalHeaders: additionalHeaders,\n authToken: authToken,\n }, customUserAgentDetails);\n }\n else {\n logger.debug('No pubsub module applied for subscription');\n throw new Error('No pubsub module applied for subscription');\n }\n };\n /**\n * @private\n */\n InternalGraphQLAPIClass.prototype._ensureCredentials = function () {\n var _this = this;\n return this.Credentials.get()\n .then(function (credentials) {\n if (!credentials)\n return false;\n var cred = _this.Credentials.shear(credentials);\n logger.debug('set credentials for api', cred);\n return true;\n })\n .catch(function (err) {\n logger.warn('ensure credentials error', err);\n return false;\n });\n };\n return InternalGraphQLAPIClass;\n}());\nexport { InternalGraphQLAPIClass };\nexport var InternalGraphQLAPI = new InternalGraphQLAPIClass(null);\nAmplify.register(InternalGraphQLAPI);\n","import { __assign, __awaiter, __generator, __rest } from \"tslib\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { RestClient } from './RestClient';\nimport { Amplify, ConsoleLogger as Logger, Credentials, } from '@aws-amplify/core';\nvar logger = new Logger('RestAPI');\n/**\n * Export Cloud Logic APIs\n */\nvar RestAPIClass = /** @class */ (function () {\n /**\n * Initialize Rest API with AWS configuration\n * @param {Object} options - Configuration object for API\n */\n function RestAPIClass(options) {\n this._api = null;\n this.Credentials = Credentials;\n this._options = options;\n logger.debug('API Options', this._options);\n }\n RestAPIClass.prototype.getModuleName = function () {\n return 'RestAPI';\n };\n /**\n * Configure API part with aws configurations\n * @param {Object} config - Configuration of the API\n * @return {Object} - The current configuration\n */\n RestAPIClass.prototype.configure = function (options) {\n var _a = options || {}, _b = _a.API, API = _b === void 0 ? {} : _b, otherOptions = __rest(_a, [\"API\"]);\n var opt = __assign(__assign({}, otherOptions), API);\n logger.debug('configure Rest API', { opt: opt });\n if (opt['aws_project_region']) {\n if (opt['aws_cloud_logic_custom']) {\n var custom = opt['aws_cloud_logic_custom'];\n opt.endpoints =\n typeof custom === 'string' ? JSON.parse(custom) : custom;\n }\n opt = Object.assign({}, opt, {\n region: opt['aws_project_region'],\n header: {},\n });\n }\n if (Array.isArray(opt.endpoints)) {\n // Check if endpoints has custom_headers and validate if is a function\n opt.endpoints.forEach(function (endpoint) {\n if (typeof endpoint.custom_header !== 'undefined' &&\n typeof endpoint.custom_header !== 'function') {\n logger.warn('Rest API ' + endpoint.name + ', custom_header should be a function');\n endpoint.custom_header = undefined;\n }\n });\n }\n else if (this._options && Array.isArray(this._options.endpoints)) {\n opt.endpoints = this._options.endpoints;\n }\n else {\n opt.endpoints = [];\n }\n this._options = Object.assign({}, this._options, opt);\n this.createInstance();\n return this._options;\n };\n /**\n * Create an instance of API for the library\n * @return - A promise of true if Success\n */\n RestAPIClass.prototype.createInstance = function () {\n logger.debug('create Rest API instance');\n this._api = new RestClient(this._options);\n // Share Amplify instance with client for SSR\n this._api.Credentials = this.Credentials;\n return true;\n };\n /**\n * Make a GET request\n * @param {string} apiName - The api name of the request\n * @param {string} path - The path of the request\n * @param {json} [init] - Request extra params\n * @return {Promise} - A promise that resolves to an object with response status and JSON data, if successful.\n */\n RestAPIClass.prototype.get = function (apiName, path, init) {\n try {\n var apiInfo = this.getEndpointInfo(apiName, path);\n var cancellableToken = this._api.getCancellableToken();\n var initParams = Object.assign({}, init);\n initParams.cancellableToken = cancellableToken;\n var responsePromise = this._api.get(apiInfo, initParams);\n this._api.updateRequestToBeCancellable(responsePromise, cancellableToken);\n return responsePromise;\n }\n catch (err) {\n return Promise.reject(err.message);\n }\n };\n /**\n * Make a POST request\n * @param {string} apiName - The api name of the request\n * @param {string} path - The path of the request\n * @param {json} [init] - Request extra params\n * @return {Promise} - A promise that resolves to an object with response status and JSON data, if successful.\n */\n RestAPIClass.prototype.post = function (apiName, path, init) {\n try {\n var apiInfo = this.getEndpointInfo(apiName, path);\n var cancellableToken = this._api.getCancellableToken();\n var initParams = Object.assign({}, init);\n initParams.cancellableToken = cancellableToken;\n var responsePromise = this._api.post(apiInfo, initParams);\n this._api.updateRequestToBeCancellable(responsePromise, cancellableToken);\n return responsePromise;\n }\n catch (err) {\n return Promise.reject(err.message);\n }\n };\n /**\n * Make a PUT request\n * @param {string} apiName - The api name of the request\n * @param {string} path - The path of the request\n * @param {json} [init] - Request extra params\n * @return {Promise} - A promise that resolves to an object with response status and JSON data, if successful.\n */\n RestAPIClass.prototype.put = function (apiName, path, init) {\n try {\n var apiInfo = this.getEndpointInfo(apiName, path);\n var cancellableToken = this._api.getCancellableToken();\n var initParams = Object.assign({}, init);\n initParams.cancellableToken = cancellableToken;\n var responsePromise = this._api.put(apiInfo, initParams);\n this._api.updateRequestToBeCancellable(responsePromise, cancellableToken);\n return responsePromise;\n }\n catch (err) {\n return Promise.reject(err.message);\n }\n };\n /**\n * Make a PATCH request\n * @param {string} apiName - The api name of the request\n * @param {string} path - The path of the request\n * @param {json} [init] - Request extra params\n * @return {Promise} - A promise that resolves to an object with response status and JSON data, if successful.\n */\n RestAPIClass.prototype.patch = function (apiName, path, init) {\n try {\n var apiInfo = this.getEndpointInfo(apiName, path);\n var cancellableToken = this._api.getCancellableToken();\n var initParams = Object.assign({}, init);\n initParams.cancellableToken = cancellableToken;\n var responsePromise = this._api.patch(apiInfo, initParams);\n this._api.updateRequestToBeCancellable(responsePromise, cancellableToken);\n return responsePromise;\n }\n catch (err) {\n return Promise.reject(err.message);\n }\n };\n /**\n * Make a DEL request\n * @param {string} apiName - The api name of the request\n * @param {string} path - The path of the request\n * @param {json} [init] - Request extra params\n * @return {Promise} - A promise that resolves to an object with response status and JSON data, if successful.\n */\n RestAPIClass.prototype.del = function (apiName, path, init) {\n try {\n var apiInfo = this.getEndpointInfo(apiName, path);\n var cancellableToken = this._api.getCancellableToken();\n var initParams = Object.assign({}, init);\n initParams.cancellableToken = cancellableToken;\n var responsePromise = this._api.del(apiInfo, initParams);\n this._api.updateRequestToBeCancellable(responsePromise, cancellableToken);\n return responsePromise;\n }\n catch (err) {\n return Promise.reject(err.message);\n }\n };\n /**\n * Make a HEAD request\n * @param {string} apiName - The api name of the request\n * @param {string} path - The path of the request\n * @param {json} [init] - Request extra params\n * @return {Promise} - A promise that resolves to an object with response status and JSON data, if successful.\n */\n RestAPIClass.prototype.head = function (apiName, path, init) {\n try {\n var apiInfo = this.getEndpointInfo(apiName, path);\n var cancellableToken = this._api.getCancellableToken();\n var initParams = Object.assign({}, init);\n initParams.cancellableToken = cancellableToken;\n var responsePromise = this._api.head(apiInfo, initParams);\n this._api.updateRequestToBeCancellable(responsePromise, cancellableToken);\n return responsePromise;\n }\n catch (err) {\n return Promise.reject(err.message);\n }\n };\n /**\n * Checks to see if an error thrown is from an api request cancellation\n * @param {any} error - Any error\n * @return {boolean} - A boolean indicating if the error was from an api request cancellation\n */\n RestAPIClass.prototype.isCancel = function (error) {\n return this._api.isCancel(error);\n };\n /**\n * Cancels an inflight request\n * @param {any} request - request to cancel\n * @return {boolean} - A boolean indicating if the request was cancelled\n */\n RestAPIClass.prototype.cancel = function (request, message) {\n return this._api.cancel(request, message);\n };\n /**\n * Check if the request has a corresponding cancel token in the WeakMap.\n * @params request - The request promise\n * @return if the request has a corresponding cancel token.\n */\n RestAPIClass.prototype.hasCancelToken = function (request) {\n return this._api.hasCancelToken(request);\n };\n /**\n * Getting endpoint for API\n * @param {string} apiName - The name of the api\n * @return {string} - The endpoint of the api\n */\n RestAPIClass.prototype.endpoint = function (apiName) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this._api.endpoint(apiName)];\n });\n });\n };\n /**\n * Getting endpoint info for API\n * @param {string} apiName - The name of the api\n * @param {string} path - The path of the api that is going to accessed\n * @return {ApiInfo} - The endpoint information for that api-name\n */\n RestAPIClass.prototype.getEndpointInfo = function (apiName, path) {\n var cloud_logic_array = this._options.endpoints;\n if (!Array.isArray(cloud_logic_array)) {\n throw new Error(\"API category not configured\");\n }\n var apiConfig = cloud_logic_array.find(function (api) { return api.name === apiName; });\n if (!apiConfig) {\n throw new Error(\"API \".concat(apiName, \" does not exist\"));\n }\n var response = {\n endpoint: apiConfig.endpoint + path,\n };\n if (typeof apiConfig.region === 'string') {\n response.region = apiConfig.region;\n }\n else if (typeof this._options.region === 'string') {\n response.region = this._options.region;\n }\n if (typeof apiConfig.service === 'string') {\n response.service = apiConfig.service || 'execute-api';\n }\n else {\n response.service = 'execute-api';\n }\n if (typeof apiConfig.custom_header === 'function') {\n response.custom_header = apiConfig.custom_header;\n }\n else {\n response.custom_header = undefined;\n }\n return response;\n };\n return RestAPIClass;\n}());\nexport { RestAPIClass };\nexport var RestAPI = new RestAPIClass(null);\nAmplify.register(RestAPI);\n","import { __assign, __awaiter, __generator } from \"tslib\";\nimport { InternalGraphQLAPIClass } from '@aws-amplify/api-graphql/internals';\nimport { RestAPIClass } from '@aws-amplify/api-rest';\nimport { Auth } from '@aws-amplify/auth';\nimport { Cache } from '@aws-amplify/cache';\nimport { Amplify, ApiAction, Category, Credentials, ConsoleLogger as Logger, } from '@aws-amplify/core';\nvar logger = new Logger('API');\n/**\n * @deprecated\n * Use RestApi or GraphQLAPI to reduce your application bundle size\n * Export Cloud Logic APIs\n */\nvar InternalAPIClass = /** @class */ (function () {\n /**\n * Initialize API with AWS configuration\n * @param {Object} options - Configuration object for API\n */\n function InternalAPIClass(options) {\n this.Auth = Auth;\n this.Cache = Cache;\n this.Credentials = Credentials;\n this._options = options;\n this._restApi = new RestAPIClass(options);\n this._graphqlApi = new InternalGraphQLAPIClass(options);\n logger.debug('API Options', this._options);\n }\n InternalAPIClass.prototype.getModuleName = function () {\n return 'InternalAPI';\n };\n /**\n * Configure API part with aws configurations\n * @param {Object} config - Configuration of the API\n * @return {Object} - The current configuration\n */\n InternalAPIClass.prototype.configure = function (options) {\n this._options = Object.assign({}, this._options, options);\n // Share Amplify instance with client for SSR\n this._restApi.Credentials = this.Credentials;\n this._graphqlApi.Auth = this.Auth;\n this._graphqlApi.Cache = this.Cache;\n this._graphqlApi.Credentials = this.Credentials;\n var restAPIConfig = this._restApi.configure(this._options);\n var graphQLAPIConfig = this._graphqlApi.configure(this._options);\n return __assign(__assign({}, restAPIConfig), graphQLAPIConfig);\n };\n /**\n * Make a GET request\n * @param apiName - The api name of the request\n * @param path - The path of the request\n * @param [init] - Request extra params\n * @return A promise that resolves to an object with response status and JSON data, if successful.\n */\n InternalAPIClass.prototype.get = function (apiName, path, init) {\n return this._restApi.get(apiName, path, this.getInitWithCustomUserAgentDetails(init, ApiAction.Get));\n };\n /**\n * Make a POST request\n * @param apiName - The api name of the request\n * @param path - The path of the request\n * @param [init] - Request extra params\n * @return A promise that resolves to an object with response status and JSON data, if successful.\n */\n InternalAPIClass.prototype.post = function (apiName, path, init) {\n return this._restApi.post(apiName, path, this.getInitWithCustomUserAgentDetails(init, ApiAction.Post));\n };\n /**\n * Make a PUT request\n * @param apiName - The api name of the request\n * @param path - The path of the request\n * @param [init] - Request extra params\n * @return A promise that resolves to an object with response status and JSON data, if successful.\n */\n InternalAPIClass.prototype.put = function (apiName, path, init) {\n return this._restApi.put(apiName, path, this.getInitWithCustomUserAgentDetails(init, ApiAction.Put));\n };\n /**\n * Make a PATCH request\n * @param apiName - The api name of the request\n * @param path - The path of the request\n * @param [init] - Request extra params\n * @return A promise that resolves to an object with response status and JSON data, if successful.\n */\n InternalAPIClass.prototype.patch = function (apiName, path, init) {\n return this._restApi.patch(apiName, path, this.getInitWithCustomUserAgentDetails(init, ApiAction.Patch));\n };\n /**\n * Make a DEL request\n * @param apiName - The api name of the request\n * @param path - The path of the request\n * @param [init] - Request extra params\n * @return A promise that resolves to an object with response status and JSON data, if successful.\n */\n InternalAPIClass.prototype.del = function (apiName, path, init) {\n return this._restApi.del(apiName, path, this.getInitWithCustomUserAgentDetails(init, ApiAction.Del));\n };\n /**\n * Make a HEAD request\n * @param apiName - The api name of the request\n * @param path - The path of the request\n * @param [init] - Request extra params\n * @return A promise that resolves to an object with response status and JSON data, if successful.\n */\n InternalAPIClass.prototype.head = function (apiName, path, init) {\n return this._restApi.head(apiName, path, this.getInitWithCustomUserAgentDetails(init, ApiAction.Head));\n };\n /**\n * Checks to see if an error thrown is from an api request cancellation\n * @param error - Any error\n * @return If the error was from an api request cancellation\n */\n InternalAPIClass.prototype.isCancel = function (error) {\n return this._restApi.isCancel(error);\n };\n /**\n * Cancels an inflight request for either a GraphQL request or a Rest API request.\n * @param request - request to cancel\n * @param [message] - custom error message\n * @return If the request was cancelled\n */\n InternalAPIClass.prototype.cancel = function (request, message) {\n if (this._restApi.hasCancelToken(request)) {\n return this._restApi.cancel(request, message);\n }\n else if (this._graphqlApi.hasCancelToken(request)) {\n return this._graphqlApi.cancel(request, message);\n }\n return false;\n };\n InternalAPIClass.prototype.getInitWithCustomUserAgentDetails = function (init, action) {\n var customUserAgentDetails = {\n category: Category.API,\n action: action,\n };\n var initParams = __assign(__assign({}, init), { customUserAgentDetails: customUserAgentDetails });\n return initParams;\n };\n /**\n * Getting endpoint for API\n * @param apiName - The name of the api\n * @return The endpoint of the api\n */\n InternalAPIClass.prototype.endpoint = function (apiName) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this._restApi.endpoint(apiName)];\n });\n });\n };\n /**\n * to get the operation type\n * @param operation\n */\n InternalAPIClass.prototype.getGraphqlOperationType = function (operation) {\n return this._graphqlApi.getGraphqlOperationType(operation);\n };\n InternalAPIClass.prototype.graphql = function (options, additionalHeaders, customUserAgentDetails) {\n var apiUserAgentDetails = __assign({ category: Category.API, action: ApiAction.GraphQl }, customUserAgentDetails);\n return this._graphqlApi.graphql(options, additionalHeaders, apiUserAgentDetails);\n };\n return InternalAPIClass;\n}());\nexport { InternalAPIClass };\nexport var InternalAPI = new InternalAPIClass(null);\nAmplify.register(InternalAPI);\n","import { __extends } from \"tslib\";\nimport { Amplify, ConsoleLogger as Logger } from '@aws-amplify/core';\nimport { InternalAPIClass } from './internals/InternalAPI';\nvar logger = new Logger('API');\n/**\n * @deprecated\n * Use RestApi or GraphQLAPI to reduce your application bundle size\n * Export Cloud Logic APIs\n */\nvar APIClass = /** @class */ (function (_super) {\n __extends(APIClass, _super);\n function APIClass() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n APIClass.prototype.getModuleName = function () {\n return 'API';\n };\n APIClass.prototype.graphql = function (options, additionalHeaders) {\n return _super.prototype.graphql.call(this, options, additionalHeaders);\n };\n return APIClass;\n}(InternalAPIClass));\nexport { APIClass };\nexport var API = new APIClass(null);\nAmplify.register(API);\n","import { __extends } from \"tslib\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Amplify } from '@aws-amplify/core';\nimport { InternalGraphQLAPIClass } from './internals';\nexport var graphqlOperation = function (query, variables, authToken) {\n if (variables === void 0) { variables = {}; }\n return ({\n query: query,\n variables: variables,\n authToken: authToken,\n });\n};\n/**\n * Export Cloud Logic APIs\n */\nvar GraphQLAPIClass = /** @class */ (function (_super) {\n __extends(GraphQLAPIClass, _super);\n function GraphQLAPIClass() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n GraphQLAPIClass.prototype.getModuleName = function () {\n return 'GraphQLAPI';\n };\n /**\n * Executes a GraphQL operation\n *\n * @param options - GraphQL Options\n * @param [additionalHeaders] - headers to merge in after any `graphql_headers` set in the config\n * @returns An Observable if the query is a subscription query, else a promise of the graphql result.\n */\n GraphQLAPIClass.prototype.graphql = function (options, additionalHeaders) {\n return _super.prototype.graphql.call(this, options, additionalHeaders);\n };\n return GraphQLAPIClass;\n}(InternalGraphQLAPIClass));\nexport { GraphQLAPIClass };\nexport var GraphQLAPI = new GraphQLAPIClass(null);\nAmplify.register(GraphQLAPI);\n","export default {\n disabled: false\n};","import React from 'react';\nexport default React.createContext(null);","export var forceReflow = function forceReflow(node) {\n return node.scrollTop;\n};","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport config from './config';\nimport { timeoutsShape } from './utils/PropTypes';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { forceReflow } from './utils/reflow';\nexport var UNMOUNTED = 'unmounted';\nexport var EXITED = 'exited';\nexport var ENTERING = 'entering';\nexport var ENTERED = 'entered';\nexport var EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n * transition: `opacity ${duration}ms ease-in-out`,\n * opacity: 0,\n * }\n *\n * const transitionStyles = {\n * entering: { opacity: 1 },\n * entered: { opacity: 1 },\n * exiting: { opacity: 0 },\n * exited: { opacity: 0 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n * \n * {state => (\n *
\n * I'm a fade Transition!\n *
\n * )}\n *
\n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n * - `'entering'`\n * - `'entered'`\n * - `'exiting'`\n * - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n *
\n * \n * {state => (\n * // ...\n * )}\n * \n * \n *
\n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nvar Transition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n\n function Transition(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n\n return null;\n } // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n ;\n\n var _proto = Transition.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n\n if (prevProps !== this.props) {\n var status = this.state.status;\n\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n\n this.updateStatus(false, nextStatus);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n\n if (nextStatus === ENTERING) {\n if (this.props.unmountOnExit || this.props.mountOnEnter) {\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this); // https://github.com/reactjs/react-transition-group/pull/749\n // With unmountOnExit or mountOnEnter, the enter animation should happen at the transition between `exited` and `entering`.\n // To make the animation happen, we have to separate each rendering and avoid being processed as batched.\n\n if (node) forceReflow(node);\n }\n\n this.performEnter(mounting);\n } else {\n this.performExit();\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n\n _proto.performEnter = function performEnter(mounting) {\n var _this2 = this;\n\n var enter = this.props.enter;\n var appearing = this.context ? this.context.isMounting : mounting;\n\n var _ref2 = this.props.nodeRef ? [appearing] : [ReactDOM.findDOMNode(this), appearing],\n maybeNode = _ref2[0],\n maybeAppearing = _ref2[1];\n\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter || config.disabled) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode);\n });\n return;\n }\n\n this.props.onEnter(maybeNode, maybeAppearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(maybeNode, maybeAppearing);\n\n _this2.onTransitionEnd(enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode, maybeAppearing);\n });\n });\n });\n };\n\n _proto.performExit = function performExit() {\n var _this3 = this;\n\n var exit = this.props.exit;\n var timeouts = this.getTimeouts();\n var maybeNode = this.props.nodeRef ? undefined : ReactDOM.findDOMNode(this); // no exit animation skip right to EXITED\n\n if (!exit || config.disabled) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n return;\n }\n\n this.props.onExit(maybeNode);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(maybeNode);\n\n _this3.onTransitionEnd(timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n });\n });\n };\n\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n _proto.onTransitionEnd = function onTransitionEnd(timeout, handler) {\n this.setNextCallback(handler);\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n\n if (this.props.addEndListener) {\n var _ref3 = this.props.nodeRef ? [this.nextCallback] : [node, this.nextCallback],\n maybeNode = _ref3[0],\n maybeNextCallback = _ref3[1];\n\n this.props.addEndListener(maybeNode, maybeNextCallback);\n }\n\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n\n _proto.render = function render() {\n var status = this.state.status;\n\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _this$props = this.props,\n children = _this$props.children,\n _in = _this$props.in,\n _mountOnEnter = _this$props.mountOnEnter,\n _unmountOnExit = _this$props.unmountOnExit,\n _appear = _this$props.appear,\n _enter = _this$props.enter,\n _exit = _this$props.exit,\n _timeout = _this$props.timeout,\n _addEndListener = _this$props.addEndListener,\n _onEnter = _this$props.onEnter,\n _onEntering = _this$props.onEntering,\n _onEntered = _this$props.onEntered,\n _onExit = _this$props.onExit,\n _onExiting = _this$props.onExiting,\n _onExited = _this$props.onExited,\n _nodeRef = _this$props.nodeRef,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\", \"mountOnEnter\", \"unmountOnExit\", \"appear\", \"enter\", \"exit\", \"timeout\", \"addEndListener\", \"onEnter\", \"onEntering\", \"onEntered\", \"onExit\", \"onExiting\", \"onExited\", \"nodeRef\"]);\n\n return (\n /*#__PURE__*/\n // allows for nested Transitions\n React.createElement(TransitionGroupContext.Provider, {\n value: null\n }, typeof children === 'function' ? children(status, childProps) : React.cloneElement(React.Children.only(children), childProps))\n );\n };\n\n return Transition;\n}(React.Component);\n\nTransition.contextType = TransitionGroupContext;\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * A React reference to DOM element that need to transition:\n * https://stackoverflow.com/a/51127130/4671932\n *\n * - When `nodeRef` prop is used, `node` is not passed to callback functions\n * (e.g. `onEnter`) because user already has direct access to the node.\n * - When changing `key` prop of `Transition` in a `TransitionGroup` a new\n * `nodeRef` need to be provided to `Transition` with changed `key` prop\n * (see\n * [test/CSSTransition-test.js](https://github.com/reactjs/react-transition-group/blob/13435f897b3ab71f6e19d724f145596f5910581c/test/CSSTransition-test.js#L362-L437)).\n */\n nodeRef: PropTypes.shape({\n current: typeof Element === 'undefined' ? PropTypes.any : function (propValue, key, componentName, location, propFullName, secret) {\n var value = propValue[key];\n return PropTypes.instanceOf(value && 'ownerDocument' in value ? value.ownerDocument.defaultView.Element : Element)(propValue, key, componentName, location, propFullName, secret);\n }\n }),\n\n /**\n * A `function` child can be used instead of a React element. This function is\n * called with the current transition status (`'entering'`, `'entered'`,\n * `'exiting'`, `'exited'`), which can be used to apply context\n * specific props to a component.\n *\n * ```jsx\n * \n * {state => (\n * \n * )}\n * \n * ```\n */\n children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n /**\n * Show the component; triggers the enter or exit states\n */\n in: PropTypes.bool,\n\n /**\n * By default the child component is mounted immediately along with\n * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n */\n mountOnEnter: PropTypes.bool,\n\n /**\n * By default the child component stays mounted after it reaches the `'exited'` state.\n * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n */\n unmountOnExit: PropTypes.bool,\n\n /**\n * By default the child component does not perform the enter transition when\n * it first mounts, regardless of the value of `in`. If you want this\n * behavior, set both `appear` and `in` to `true`.\n *\n * > **Note**: there are no special appear states like `appearing`/`appeared`, this prop\n * > only adds an additional enter transition. However, in the\n * > `` component that first enter transition does result in\n * > additional `.appear-*` classes, that way you can choose to style it\n * > differently.\n */\n appear: PropTypes.bool,\n\n /**\n * Enable or disable enter transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * Enable or disable exit transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * The duration of the transition, in milliseconds.\n * Required unless `addEndListener` is provided.\n *\n * You may specify a single timeout for all transitions:\n *\n * ```jsx\n * timeout={500}\n * ```\n *\n * or individually:\n *\n * ```jsx\n * timeout={{\n * appear: 500,\n * enter: 300,\n * exit: 500,\n * }}\n * ```\n *\n * - `appear` defaults to the value of `enter`\n * - `enter` defaults to `0`\n * - `exit` defaults to `0`\n *\n * @type {number | { enter?: number, exit?: number, appear?: number }}\n */\n timeout: function timeout(props) {\n var pt = timeoutsShape;\n if (!props.addEndListener) pt = pt.isRequired;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return pt.apply(void 0, [props].concat(args));\n },\n\n /**\n * Add a custom transition end trigger. Called with the transitioning\n * DOM node and a `done` callback. Allows for more fine grained transition end\n * logic. Timeouts are still used as a fallback if provided.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * ```jsx\n * addEndListener={(node, done) => {\n * // use the css transitionend event to mark the finish of a transition\n * node.addEventListener('transitionend', done, false);\n * }}\n * ```\n */\n addEndListener: PropTypes.func,\n\n /**\n * Callback fired before the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEnter: PropTypes.func,\n\n /**\n * Callback fired after the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * Callback fired after the \"entered\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEntered: PropTypes.func,\n\n /**\n * Callback fired before the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired after the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExiting: PropTypes.func,\n\n /**\n * Callback fired after the \"exited\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExited: PropTypes.func\n} : {}; // Name the function so it is clearer in the documentation\n\nfunction noop() {}\n\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = UNMOUNTED;\nTransition.EXITED = EXITED;\nTransition.ENTERING = ENTERING;\nTransition.ENTERED = ENTERED;\nTransition.EXITING = EXITING;\nexport default Transition;","import { isValidElement } from 'react';\n\nimport { Id } from '../types';\n\nexport function isNum(v: any): v is Number {\n return typeof v === 'number' && !isNaN(v);\n}\n\nexport function isBool(v: any): v is Boolean {\n return typeof v === 'boolean';\n}\n\nexport function isStr(v: any): v is String {\n return typeof v === 'string';\n}\n\nexport function isFn(v: any): v is Function {\n return typeof v === 'function';\n}\n\nexport function parseClassName(v: any) {\n return isStr(v) || isFn(v) ? v : null;\n}\n\nexport function objectValues(obj: Record) {\n return Object.keys(obj).map(key => obj[key]);\n}\n\nexport function hasToastId(toastId?: Id) {\n return toastId === 0 || toastId;\n}\n\nexport function getAutoCloseDelay(\n toastAutoClose?: false | number,\n containerAutoClose?: false | number\n) {\n return toastAutoClose === false ||\n (isNum(toastAutoClose) && toastAutoClose > 0)\n ? toastAutoClose\n : containerAutoClose;\n}\n\nexport const canUseDom = !!(\n typeof window !== 'undefined' &&\n window.document &&\n window.document.createElement\n);\n\nexport function canBeRendered(content: T): boolean {\n return (\n isValidElement(content) || isStr(content) || isFn(content) || isNum(content)\n );\n}\n","import { ToastPosition, TypeOptions } from '../types';\n\ntype KeyOfPosition =\n | 'TOP_LEFT'\n | 'TOP_RIGHT'\n | 'TOP_CENTER'\n | 'BOTTOM_LEFT'\n | 'BOTTOM_RIGHT'\n | 'BOTTOM_CENTER';\n\ntype KeyOfType = 'INFO' | 'SUCCESS' | 'WARNING' | 'ERROR' | 'DEFAULT' | 'DARK';\n\nexport const POSITION: { [key in KeyOfPosition]: ToastPosition } = {\n TOP_LEFT: 'top-left',\n TOP_RIGHT: 'top-right',\n TOP_CENTER: 'top-center',\n BOTTOM_LEFT: 'bottom-left',\n BOTTOM_RIGHT: 'bottom-right',\n BOTTOM_CENTER: 'bottom-center'\n};\n\nexport const TYPE: { [key in KeyOfType]: TypeOptions } = {\n INFO: 'info',\n SUCCESS: 'success',\n WARNING: 'warning',\n ERROR: 'error',\n DEFAULT: 'default',\n DARK: 'dark'\n};\n\nexport const enum DEFAULT {\n COLLAPSE_DURATION = 300,\n DEBOUNCE_DURATION = 50,\n CSS_NAMESPACE = 'Toastify'\n}\n","import * as React from 'react';\nimport { Transition } from 'react-transition-group';\nimport { ToastTransitionProps } from '../types';\n\nimport { collapseToast } from './collapseToast';\nimport { DEFAULT } from './constant';\n\nexport interface CSSTransitionProps {\n /**\n * Css class to apply when toast enter\n */\n enter: string;\n\n /**\n * Css class to apply when toast leave\n */\n exit: string;\n\n /**\n * Define the duration of the transition in ms\n * You can also pass an array `[enterDuration, exitDuration]`\n * `Default: 750`\n */\n duration?: number | [number, number];\n\n /**\n * Append current toast position to the classname.\n * For instance `myclass--top-center`...\n * `Default: false`\n */\n appendPosition?: boolean;\n\n /**\n * Collapse toast smoothly when animation end\n * `Default: true`\n */\n collapse?: boolean;\n\n /**\n * Collapse transition duration\n * `Default: 300`\n */\n collapseDuration?: number;\n}\n\nexport function cssTransition({\n enter,\n exit,\n duration = 750,\n appendPosition = false,\n collapse = true,\n collapseDuration = DEFAULT.COLLAPSE_DURATION\n}: CSSTransitionProps) {\n let enterDuration: number, exitDuration: number;\n\n if (Array.isArray(duration) && duration.length === 2) {\n [enterDuration, exitDuration] = duration;\n } else {\n enterDuration = exitDuration = duration as number;\n }\n\n return function ToastTransition({\n children,\n position,\n preventExitTransition,\n done,\n ...props\n }: ToastTransitionProps) {\n const enterClassName = appendPosition ? `${enter}--${position}` : enter;\n const exitClassName = appendPosition ? `${exit}--${position}` : exit;\n\n const onEnter = () => {\n const node = props.nodeRef.current;\n if (node) {\n node.classList.add(enterClassName);\n node.style.animationFillMode = 'forwards';\n node.style.animationDuration = `${enterDuration}ms`;\n }\n };\n\n const onEntered = () => {\n const node = props.nodeRef.current;\n if (node) {\n node.classList.remove(enterClassName);\n node.style.removeProperty('animationFillMode');\n node.style.removeProperty('animationDuration');\n }\n };\n\n const onExited = () => {\n const node = props.nodeRef.current;\n\n if (node) {\n node.removeEventListener('animationend', onExited);\n collapse ? collapseToast(node, done, collapseDuration) : done();\n }\n };\n\n const onExit = () => {\n const node = props.nodeRef.current;\n if (node) {\n node.classList.add(exitClassName);\n node.style.animationFillMode = 'forwards';\n node.style.animationDuration = `${exitDuration}ms`;\n node.addEventListener('animationend', onExited);\n }\n };\n\n return (\n \n {children}\n \n );\n };\n}\n","import { DEFAULT } from './constant';\n\n/**\n * Used to collapse toast after exit animation\n */\nexport function collapseToast(\n node: HTMLElement,\n done: () => void,\n duration = DEFAULT.COLLAPSE_DURATION\n) {\n const height = node.scrollHeight;\n const style = node.style;\n\n requestAnimationFrame(() => {\n style.minHeight = 'initial';\n style.height = height + 'px';\n style.transition = `all ${duration}ms`;\n\n requestAnimationFrame(() => {\n style.height = '0';\n style.padding = '0';\n style.margin = '0';\n setTimeout(() => done(), duration as number);\n });\n });\n}\n","import {\n Id,\n ToastContent,\n ClearWaitingQueueParams,\n NotValidatedToastProps\n} from '../types';\nimport { ContainerInstance } from '../hooks';\n\nexport const enum Event {\n Show,\n Clear,\n DidMount,\n WillUnmount,\n Change,\n ClearWaitingQueue\n}\n\ntype OnShowCallback = (\n content: ToastContent,\n options: NotValidatedToastProps\n) => void;\ntype OnClearCallback = (id?: Id) => void;\ntype OnClearWaitingQueue = (params: ClearWaitingQueueParams) => void;\ntype OnDidMountCallback = (containerInstance: ContainerInstance) => void;\ntype OnWillUnmountCallback = OnDidMountCallback;\nexport type OnChangeCallback = (\n toast: number,\n containerId?: number | string\n) => void;\ntype Callback =\n | OnShowCallback\n | OnClearCallback\n | OnClearWaitingQueue\n | OnDidMountCallback\n | OnWillUnmountCallback\n | OnChangeCallback;\ntype TimeoutId = ReturnType;\n\nexport interface EventManager {\n list: Map;\n emitQueue: Map;\n on(event: Event.Show, callback: OnShowCallback): EventManager;\n on(event: Event.Clear, callback: OnClearCallback): EventManager;\n on(\n event: Event.ClearWaitingQueue,\n callback: OnClearWaitingQueue\n ): EventManager;\n on(event: Event.DidMount, callback: OnDidMountCallback): EventManager;\n on(event: Event.WillUnmount, callback: OnWillUnmountCallback): EventManager;\n on(event: Event.Change, callback: OnChangeCallback): EventManager;\n off(event: Event, callback?: Callback): EventManager;\n cancelEmit(event: Event): EventManager;\n emit(\n event: Event.Show,\n content: React.ReactNode,\n options: NotValidatedToastProps\n ): void;\n emit(event: Event.Clear, id?: string | number): void;\n emit(event: Event.ClearWaitingQueue, params: ClearWaitingQueueParams): void;\n emit(event: Event.DidMount, containerInstance: ContainerInstance): void;\n emit(event: Event.WillUnmount, containerInstance: ContainerInstance): void;\n emit(event: Event.Change, toast: number, containerId?: number | string): void;\n}\n\nexport const eventManager: EventManager = {\n list: new Map(),\n emitQueue: new Map(),\n\n on(event: Event, callback: Callback) {\n this.list.has(event) || this.list.set(event, []);\n this.list.get(event)!.push(callback);\n return this;\n },\n\n off(event, callback) {\n if (callback) {\n const cb = this.list.get(event)!.filter(cb => cb !== callback);\n this.list.set(event, cb);\n return this;\n }\n this.list.delete(event);\n return this;\n },\n\n cancelEmit(event) {\n const timers = this.emitQueue.get(event);\n if (timers) {\n timers.forEach((timer: TimeoutId) => clearTimeout(timer));\n this.emitQueue.delete(event);\n }\n\n return this;\n },\n\n /**\n * Enqueue the event at the end of the call stack\n * Doing so let the user call toast as follow:\n * toast('1')\n * toast('2')\n * toast('3')\n * Without setTimemout the code above will not work\n */\n emit(event: Event, ...args: any[]) {\n this.list.has(event) &&\n this.list.get(event)!.forEach((callback: Callback) => {\n const timer = setTimeout(() => {\n // @ts-ignore\n callback(...args);\n }, 0);\n\n this.emitQueue.has(event) || this.emitQueue.set(event, []);\n this.emitQueue.get(event)!.push(timer);\n });\n }\n};\n","import { useRef, useEffect } from 'react';\n\n/**\n * `useKeeper` is a helper around `useRef`.\n *\n * You don't need to access the `.current`property to get the value\n * If refresh is set to true. The ref will be updated every render\n */\nexport function useKeeper(arg: T, refresh = false) {\n const ref = useRef(arg);\n\n useEffect(() => {\n if (refresh) ref.current = arg;\n });\n\n return ref.current;\n}\n","import { Id } from '../types';\n\nimport { hasToastId } from '../utils';\n\nexport type State = Array;\nexport type Action =\n | { type: 'ADD'; toastId: Id; staleId?: Id }\n | { type: 'REMOVE'; toastId?: Id };\n\nexport function reducer(state: State, action: Action) {\n switch (action.type) {\n case 'ADD':\n return [...state, action.toastId].filter(id => id !== action.staleId);\n case 'REMOVE':\n return hasToastId(action.toastId)\n ? state.filter(id => id !== action.toastId)\n : [];\n }\n}\n","import {\n useEffect,\n useRef,\n useReducer,\n cloneElement,\n isValidElement\n} from 'react';\nimport {\n parseClassName,\n canBeRendered,\n isBool,\n isFn,\n isNum,\n isStr,\n hasToastId,\n getAutoCloseDelay\n} from '../utils';\nimport { eventManager, Event } from '../core/eventManager';\n\nimport {\n Id,\n ToastContainerProps,\n ToastProps,\n ToastContent,\n Toast,\n ToastPosition,\n ClearWaitingQueueParams,\n NotValidatedToastProps,\n ToastTransition\n} from '../types';\nimport { useKeeper } from './useKeeper';\nimport { reducer } from './toastContainerReducer';\n\ntype CollectionItem = Record;\ntype ToastToRender = Partial>;\n\ninterface QueuedToast {\n toastContent: ToastContent;\n toastProps: ToastProps;\n staleId?: Id;\n}\n\nexport interface ContainerInstance {\n toastKey: number;\n displayedToast: number;\n props: ToastContainerProps;\n containerId?: Id | null;\n isToastActive: (toastId: Id) => boolean;\n getToast: (id: Id) => Toast | null;\n}\n\nexport function useToastContainer(props: ToastContainerProps) {\n const [, forceUpdate] = useReducer(x => x + 1, 0);\n const [toast, dispatch] = useReducer(reducer, []);\n const containerRef = useRef(null);\n let toastCount = useKeeper(0);\n let queue = useKeeper([]);\n const collection = useKeeper({});\n const instance = useKeeper({\n toastKey: 1,\n displayedToast: 0,\n props,\n containerId: null,\n isToastActive: isToastActive,\n getToast: id => collection[id] || null\n });\n\n useEffect(() => {\n instance.containerId = props.containerId;\n eventManager\n .cancelEmit(Event.WillUnmount)\n .on(Event.Show, buildToast)\n .on(Event.Clear, toastId => containerRef.current && removeToast(toastId))\n .on(Event.ClearWaitingQueue, clearWaitingQueue)\n .emit(Event.DidMount, instance);\n\n return () => eventManager.emit(Event.WillUnmount, instance);\n }, []);\n\n useEffect(() => {\n instance.isToastActive = isToastActive;\n instance.displayedToast = toast.length;\n eventManager.emit(Event.Change, toast.length, props.containerId);\n }, [toast]);\n\n useEffect(() => {\n instance.props = props;\n });\n\n function isToastActive(id: Id) {\n return toast.indexOf(id) !== -1;\n }\n\n function clearWaitingQueue({ containerId }: ClearWaitingQueueParams) {\n const { limit, enableMultiContainer } = instance.props;\n if (\n limit &&\n (!containerId ||\n (instance.containerId === containerId && enableMultiContainer))\n ) {\n toastCount -= queue.length;\n queue = [];\n }\n }\n\n function removeToast(toastId?: Id) {\n const queueLen = queue.length;\n toastCount = hasToastId(toastId)\n ? toastCount - 1\n : toastCount - instance.displayedToast;\n\n if (toastCount < 0) toastCount = 0;\n\n if (queueLen > 0) {\n const freeSlot = hasToastId(toastId) ? 1 : instance.props.limit!;\n\n if (queueLen === 1 || freeSlot === 1) {\n instance.displayedToast++;\n dequeueToast();\n } else {\n const toDequeue = freeSlot > queueLen ? queueLen : freeSlot;\n instance.displayedToast = toDequeue;\n\n for (let i = 0; i < toDequeue; i++) dequeueToast();\n }\n }\n dispatch({ type: 'REMOVE', toastId });\n }\n\n function dequeueToast() {\n const { toastContent, toastProps, staleId } = queue.shift() as QueuedToast;\n\n // ensure that exit transition has been completed, hence the timeout\n setTimeout(() => {\n appendToast(toastContent, toastProps, staleId);\n }, 500);\n }\n\n /**\n * check if a container is attached to the dom\n * check for multi-container, build only if associated\n * check for duplicate toastId if no update\n */\n function isNotValid({\n containerId,\n toastId,\n updateId\n }: NotValidatedToastProps) {\n return !containerRef.current ||\n (instance.props.enableMultiContainer &&\n containerId !== instance.props.containerId) ||\n (instance.isToastActive(toastId) && updateId == null)\n ? true\n : false;\n }\n\n // this function and all the function called inside needs to rely on ref(`useKeeper`)\n function buildToast(\n content: ToastContent,\n { delay, staleId, ...options }: NotValidatedToastProps\n ) {\n if (!canBeRendered(content) || isNotValid(options)) return;\n\n const { toastId, updateId } = options;\n const { props, isToastActive } = instance;\n const closeToast = () => removeToast(toastId);\n const isNotAnUpdate = !isToastActive(toastId);\n\n if (isNotAnUpdate) toastCount++;\n\n const toastProps: ToastProps = {\n toastId,\n updateId,\n key: options.key || instance.toastKey++,\n type: options.type,\n closeToast: closeToast,\n closeButton: options.closeButton,\n rtl: props.rtl,\n position: options.position || (props.position as ToastPosition),\n transition: options.transition || (props.transition as ToastTransition),\n className: parseClassName(options.className || props.toastClassName),\n bodyClassName: parseClassName(\n options.bodyClassName || props.bodyClassName\n ),\n style: options.style || props.toastStyle,\n bodyStyle: options.bodyStyle || props.bodyStyle,\n onClick: options.onClick || props.onClick,\n pauseOnHover: isBool(options.pauseOnHover)\n ? options.pauseOnHover\n : props.pauseOnHover,\n pauseOnFocusLoss: isBool(options.pauseOnFocusLoss)\n ? options.pauseOnFocusLoss\n : props.pauseOnFocusLoss,\n draggable: isBool(options.draggable)\n ? options.draggable\n : props.draggable,\n draggablePercent: isNum(options.draggablePercent)\n ? options.draggablePercent\n : (props.draggablePercent as number),\n closeOnClick: isBool(options.closeOnClick)\n ? options.closeOnClick\n : props.closeOnClick,\n progressClassName: parseClassName(\n options.progressClassName || props.progressClassName\n ),\n progressStyle: options.progressStyle || props.progressStyle,\n autoClose: getAutoCloseDelay(options.autoClose, props.autoClose),\n hideProgressBar: isBool(options.hideProgressBar)\n ? options.hideProgressBar\n : props.hideProgressBar,\n progress: options.progress,\n role: isStr(options.role) ? options.role : props.role,\n deleteToast() {\n removeFromCollection(toastId);\n }\n };\n\n if (isFn(options.onOpen)) toastProps.onOpen = options.onOpen;\n if (isFn(options.onClose)) toastProps.onClose = options.onClose;\n\n let closeButton = props.closeButton;\n\n if (options.closeButton === false || canBeRendered(options.closeButton)) {\n closeButton = options.closeButton;\n } else if (options.closeButton === true) {\n closeButton = canBeRendered(props.closeButton) ? props.closeButton : true;\n }\n\n toastProps.closeButton = closeButton;\n\n let toastContent = content;\n\n if (isValidElement(content) && !isStr(content.type)) {\n toastContent = cloneElement(content, {\n closeToast,\n toastProps\n });\n } else if (isFn(content)) {\n toastContent = content({ closeToast, toastProps });\n }\n\n // not handling limit + delay by design. Waiting for user feedback first\n if (\n props.limit &&\n props.limit > 0 &&\n toastCount > props.limit &&\n isNotAnUpdate\n ) {\n queue.push({ toastContent, toastProps, staleId });\n } else if (isNum(delay) && (delay as number) > 0) {\n setTimeout(() => {\n appendToast(toastContent, toastProps, staleId);\n }, delay);\n } else {\n appendToast(toastContent, toastProps, staleId);\n }\n }\n\n function appendToast(\n content: ToastContent,\n toastProps: ToastProps,\n staleId?: Id\n ) {\n const { toastId } = toastProps;\n\n collection[toastId] = {\n content,\n props: toastProps\n };\n dispatch({\n type: 'ADD',\n toastId,\n staleId\n });\n }\n\n function removeFromCollection(toastId: Id) {\n delete collection[toastId];\n forceUpdate();\n }\n\n function getToastToRender(\n cb: (position: ToastPosition, toastList: Toast[]) => T\n ) {\n const toastToRender: ToastToRender = {};\n const toastList = props.newestOnTop\n ? Object.keys(collection).reverse()\n : Object.keys(collection);\n\n for (let i = 0; i < toastList.length; i++) {\n const toast = collection[toastList[i]];\n const { position } = toast.props;\n toastToRender[position] || (toastToRender[position] = []);\n\n toastToRender[position]!.push(toast);\n }\n\n return (Object.keys(toastToRender) as Array).map(p =>\n cb(p, toastToRender[p]!)\n );\n }\n\n return {\n getToastToRender,\n collection,\n containerRef,\n isToastActive\n };\n}\n","import {\n useState,\n useRef,\n useEffect,\n isValidElement,\n DOMAttributes\n} from 'react';\n\nimport { isFn } from '../utils';\nimport { ToastProps } from '../types';\nimport { useKeeper } from './useKeeper';\n\ninterface Draggable {\n start: number;\n x: number;\n y: number;\n deltaX: number;\n removalDistance: number;\n canCloseOnClick: boolean;\n canDrag: boolean;\n boundingRect: DOMRect | null;\n}\n\ntype DragEvent = MouseEvent & TouchEvent;\n\nfunction getX(e: DragEvent) {\n return e.targetTouches && e.targetTouches.length >= 1\n ? e.targetTouches[0].clientX\n : e.clientX;\n}\n\nfunction getY(e: DragEvent) {\n return e.targetTouches && e.targetTouches.length >= 1\n ? e.targetTouches[0].clientY\n : e.clientY;\n}\n\nexport function useToast(props: ToastProps) {\n const [isRunning, setIsRunning] = useState(true);\n const [preventExitTransition, setPreventExitTransition] = useState(false);\n const toastRef = useRef(null);\n const drag = useKeeper({\n start: 0,\n x: 0,\n y: 0,\n deltaX: 0,\n removalDistance: 0,\n canCloseOnClick: true,\n canDrag: false,\n boundingRect: null\n });\n const syncProps = useKeeper(props, true);\n const { autoClose, pauseOnHover, closeToast, onClick, closeOnClick } = props;\n\n useEffect(() => {\n if (isFn(props.onOpen))\n props.onOpen(isValidElement(props.children) && props.children.props);\n\n return () => {\n if (isFn(syncProps.onClose))\n syncProps.onClose(\n isValidElement(syncProps.children) && syncProps.children.props\n );\n };\n }, []);\n\n useEffect(() => {\n props.draggable && bindDragEvents();\n return () => {\n props.draggable && unbindDragEvents();\n };\n }, [props.draggable]);\n\n useEffect(() => {\n props.pauseOnFocusLoss && bindFocusEvents();\n return () => {\n props.pauseOnFocusLoss && unbindFocusEvents();\n };\n }, [props.pauseOnFocusLoss]);\n\n function onDragStart(\n e: React.MouseEvent | React.TouchEvent\n ) {\n const toast = toastRef.current!;\n drag.canCloseOnClick = true;\n drag.canDrag = true;\n drag.boundingRect = toast.getBoundingClientRect();\n toast.style.transition = '';\n drag.start = drag.x = getX(e.nativeEvent as DragEvent);\n drag.removalDistance = toast.offsetWidth * (props.draggablePercent / 100);\n }\n\n function onDragTransitionEnd() {\n if (drag.boundingRect) {\n const { top, bottom, left, right } = drag.boundingRect;\n\n if (\n props.pauseOnHover &&\n drag.x >= left &&\n drag.x <= right &&\n drag.y >= top &&\n drag.y <= bottom\n ) {\n pauseToast();\n } else {\n playToast();\n }\n }\n }\n\n function playToast() {\n setIsRunning(true);\n }\n\n function pauseToast() {\n setIsRunning(false);\n }\n\n function bindFocusEvents() {\n window.addEventListener('focus', playToast);\n window.addEventListener('blur', pauseToast);\n }\n\n function unbindFocusEvents() {\n window.removeEventListener('focus', playToast);\n window.removeEventListener('blur', pauseToast);\n }\n\n function bindDragEvents() {\n document.addEventListener('mousemove', onDragMove);\n document.addEventListener('mouseup', onDragEnd);\n\n document.addEventListener('touchmove', onDragMove);\n document.addEventListener('touchend', onDragEnd);\n }\n\n function unbindDragEvents() {\n document.removeEventListener('mousemove', onDragMove);\n document.removeEventListener('mouseup', onDragEnd);\n\n document.removeEventListener('touchmove', onDragMove);\n document.removeEventListener('touchend', onDragEnd);\n }\n\n function onDragMove(e: MouseEvent | TouchEvent) {\n e.preventDefault();\n\n const toast = toastRef.current!;\n\n if (drag.canDrag) {\n if (isRunning) pauseToast();\n\n drag.x = getX(e as DragEvent);\n drag.deltaX = drag.x - drag.start;\n drag.y = getY(e as DragEvent);\n\n // prevent false positif during a toast click\n if (drag.start !== drag.x) drag.canCloseOnClick = false;\n\n toast.style.transform = `translateX(${drag.deltaX}px)`;\n toast.style.opacity = `${1 -\n Math.abs(drag.deltaX / drag.removalDistance)}`;\n }\n }\n\n function onDragEnd() {\n const toast = toastRef.current!;\n if (drag.canDrag) {\n drag.canDrag = false;\n\n if (Math.abs(drag.deltaX) > drag.removalDistance) {\n setPreventExitTransition(true);\n props.closeToast();\n return;\n }\n\n toast.style.transition = 'transform 0.2s, opacity 0.2s';\n toast.style.transform = 'translateX(0)';\n toast.style.opacity = '1';\n }\n }\n\n const eventHandlers: DOMAttributes = {\n onMouseDown: onDragStart,\n onTouchStart: onDragStart,\n onMouseUp: onDragTransitionEnd,\n onTouchEnd: onDragTransitionEnd\n };\n\n if (autoClose && pauseOnHover) {\n eventHandlers.onMouseEnter = pauseToast;\n eventHandlers.onMouseLeave = playToast;\n }\n\n // prevent toast from closing when user drags the toast\n if (closeOnClick) {\n eventHandlers.onClick = (e: React.MouseEvent) => {\n onClick && onClick(e);\n drag.canCloseOnClick && closeToast();\n };\n }\n\n return {\n playToast,\n pauseToast,\n isRunning,\n preventExitTransition,\n toastRef,\n eventHandlers\n };\n}\n","import * as React from 'react';\nimport { DEFAULT } from '../utils';\nimport { TypeOptions } from '../types';\n\nexport interface CloseButtonProps {\n closeToast: (e: React.MouseEvent) => void;\n type: TypeOptions;\n ariaLabel?: string;\n}\n\nexport function CloseButton({\n closeToast,\n type,\n ariaLabel = 'close'\n}: CloseButtonProps) {\n return (\n {\n e.stopPropagation();\n closeToast(e);\n }}\n aria-label={ariaLabel}\n >\n \n \n \n \n );\n}\n","import * as React from 'react';\nimport cx from 'clsx';\n\nimport { TYPE, DEFAULT, isFn } from './../utils';\nimport { TypeOptions, ToastClassName } from '../types';\n\nexport interface ProgressBarProps {\n /**\n * The animation delay which determine when to close the toast\n */\n delay: number;\n\n /**\n * Whether or not the animation is running or paused\n */\n isRunning: boolean;\n\n /**\n * Func to close the current toast\n */\n closeToast: () => void;\n\n /**\n * Optional type : info, success ...\n */\n type: TypeOptions;\n\n /**\n * Hide or not the progress bar\n */\n hide?: boolean;\n\n /**\n * Optionnal className\n */\n className?: ToastClassName;\n\n /**\n * Optionnal inline style\n */\n style?: React.CSSProperties;\n\n /**\n * Tell wether or not controlled progress bar is used\n */\n controlledProgress?: boolean;\n\n /**\n * Controlled progress value\n */\n progress?: number | string;\n\n /**\n * Support rtl content\n */\n rtl?: boolean;\n\n /**\n * Tell if the component is visible on screen or not\n */\n isIn?: boolean;\n}\n\nexport function ProgressBar({\n delay,\n isRunning,\n closeToast,\n type,\n hide,\n className,\n style: userStyle,\n controlledProgress,\n progress,\n rtl,\n isIn\n}: ProgressBarProps) {\n const style: React.CSSProperties = {\n ...userStyle,\n animationDuration: `${delay}ms`,\n animationPlayState: isRunning ? 'running' : 'paused',\n opacity: hide ? 0 : 1\n };\n\n if (controlledProgress) style.transform = `scaleX(${progress})`;\n const defaultClassArr = [\n `${DEFAULT.CSS_NAMESPACE}__progress-bar`,\n controlledProgress\n ? `${DEFAULT.CSS_NAMESPACE}__progress-bar--controlled`\n : `${DEFAULT.CSS_NAMESPACE}__progress-bar--animated`,\n `${DEFAULT.CSS_NAMESPACE}__progress-bar--${type}`,\n {\n [`${DEFAULT.CSS_NAMESPACE}__progress-bar--rtl`]: rtl\n }\n ];\n const classNames = isFn(className)\n ? className({\n rtl,\n type,\n defaultClassName: cx(...defaultClassArr)\n })\n : cx(...[...defaultClassArr, className]);\n\n // 🧐 controlledProgress is derived from progress\n // so if controlledProgress is set\n // it means that this is also the case for progress\n const animationEvent = {\n [controlledProgress && progress! >= 1\n ? 'onTransitionEnd'\n : 'onAnimationEnd']:\n controlledProgress && progress! < 1\n ? null\n : () => {\n isIn && closeToast();\n }\n };\n\n return
;\n}\n\nProgressBar.defaultProps = {\n type: TYPE.DEFAULT,\n hide: false\n};\n","import * as React from 'react';\nimport cx from 'clsx';\n\nimport { ProgressBar } from './ProgressBar';\nimport { ToastProps } from '../types';\nimport { DEFAULT, isFn } from '../utils';\nimport { useToast } from '../hooks';\n\nexport const Toast: React.FC = props => {\n const {\n isRunning,\n preventExitTransition,\n toastRef,\n eventHandlers\n } = useToast(props);\n const {\n closeButton,\n children,\n autoClose,\n onClick,\n type,\n hideProgressBar,\n closeToast,\n transition: Transition,\n position,\n className,\n style,\n bodyClassName,\n bodyStyle,\n progressClassName,\n progressStyle,\n updateId,\n role,\n progress,\n rtl,\n toastId,\n deleteToast\n } = props;\n const defaultClassArr = [\n `${DEFAULT.CSS_NAMESPACE}__toast`,\n `${DEFAULT.CSS_NAMESPACE}__toast--${type}`,\n {\n [`${DEFAULT.CSS_NAMESPACE}__toast--rtl`]: rtl\n }\n ];\n const cssClasses = isFn(className)\n ? className({\n rtl,\n position,\n type,\n defaultClassName: cx(...defaultClassArr)\n })\n : cx(...[...defaultClassArr, className]);\n const controlledProgress = !!progress;\n\n function renderCloseButton(closeButton: any) {\n if (!closeButton) return;\n\n const props = { closeToast, type };\n if (isFn(closeButton)) return closeButton(props);\n if (React.isValidElement(closeButton))\n return React.cloneElement(closeButton, props);\n }\n\n return (\n \n \n \n {children}\n
\n {renderCloseButton(closeButton)}\n {(autoClose || controlledProgress) && (\n \n )}\n \n \n );\n};\n","import { DEFAULT, cssTransition } from '../utils';\n\nconst Bounce = cssTransition({\n enter: `${DEFAULT.CSS_NAMESPACE}__bounce-enter`,\n exit: `${DEFAULT.CSS_NAMESPACE}__bounce-exit`,\n appendPosition: true\n});\n\nconst Slide = cssTransition({\n enter: `${DEFAULT.CSS_NAMESPACE}__slide-enter`,\n exit: `${DEFAULT.CSS_NAMESPACE}__slide-exit`,\n duration: [450, 750],\n appendPosition: true\n});\n\nconst Zoom = cssTransition({\n enter: `${DEFAULT.CSS_NAMESPACE}__zoom-enter`,\n exit: `${DEFAULT.CSS_NAMESPACE}__zoom-exit`\n});\n\nconst Flip = cssTransition({\n enter: `${DEFAULT.CSS_NAMESPACE}__flip-enter`,\n exit: `${DEFAULT.CSS_NAMESPACE}__flip-exit`\n});\n\nexport { Bounce, Slide, Zoom, Flip };\n","import * as React from 'react';\nimport { ToastProps } from '../types';\ntype ToastPositionerProps = Pick & {\n className?: string;\n};\n\nexport const ToastPositioner: React.FC = ({\n children,\n className,\n style,\n ...rest\n}) => {\n // Monkey patch react-transition-group\n // As exit transition is broken with strict mode\n delete rest.in;\n\n return (\n
\n {React.Children.map(children, child =>\n React.cloneElement(child as React.ReactElement, rest)\n )}\n
\n );\n};\n","import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport cx from 'clsx';\n\nimport { Toast } from './Toast';\nimport { CloseButton } from './CloseButton';\nimport { Bounce } from './Transitions';\nimport {\n POSITION,\n DEFAULT,\n parseClassName,\n objectValues,\n isFn\n} from '../utils';\nimport { useToastContainer } from '../hooks';\nimport { ToastContainerProps, ToastPosition } from '../types';\nimport { ToastPositioner } from './ToastPositioner';\n\nexport const ToastContainer: React.FC = props => {\n const { getToastToRender, containerRef, isToastActive } = useToastContainer(\n props\n );\n const { className, style, rtl, containerId } = props;\n\n return (\n \n {getToastToRender((position, toastList) => {\n const swag = {\n className: isFn(className)\n ? className({\n position,\n rtl,\n defaultClassName: cx(\n `${DEFAULT.CSS_NAMESPACE}__toast-container`,\n `${DEFAULT.CSS_NAMESPACE}__toast-container--${position}`,\n { [`${DEFAULT.CSS_NAMESPACE}__toast-container--rtl`]: rtl }\n )\n })\n : cx(\n `${DEFAULT.CSS_NAMESPACE}__toast-container`,\n `${DEFAULT.CSS_NAMESPACE}__toast-container--${position}`,\n { [`${DEFAULT.CSS_NAMESPACE}__toast-container--rtl`]: rtl },\n parseClassName(className)\n ),\n style:\n toastList.length === 0\n ? { ...style, pointerEvents: 'none' }\n : { ...style }\n } as any;\n return (\n \n {toastList.map(({ content, props: toastProps }) => {\n return (\n \n {content}\n \n );\n })}\n \n );\n })}\n \n );\n};\n\nif (process.env.NODE_ENV !== 'production') {\n // @ts-ignore\n ToastContainer.propTypes = {\n // @ts-ignore\n position: PropTypes.oneOf(objectValues(POSITION)),\n\n // @ts-ignore\n autoClose: PropTypes.oneOfType([PropTypes.bool, PropTypes.number]),\n\n // @ts-ignore\n closeButton: PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.bool,\n PropTypes.func\n ]),\n hideProgressBar: PropTypes.bool,\n pauseOnHover: PropTypes.bool,\n closeOnClick: PropTypes.bool,\n newestOnTop: PropTypes.bool,\n className: PropTypes.any, //oneOfType([PropTypes.func, PropTypes.string]),\n style: PropTypes.object,\n toastClassName: PropTypes.oneOfType([PropTypes.func, PropTypes.string]),\n bodyClassName: PropTypes.oneOfType([PropTypes.func, PropTypes.string]),\n progressClassName: PropTypes.oneOfType([PropTypes.func, PropTypes.string]),\n progressStyle: PropTypes.object,\n transition: PropTypes.func,\n rtl: PropTypes.bool,\n draggable: PropTypes.bool,\n draggablePercent: PropTypes.number,\n pauseOnFocusLoss: PropTypes.bool,\n enableMultiContainer: PropTypes.bool,\n containerId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n role: PropTypes.string,\n onClick: PropTypes.func\n };\n}\n\nToastContainer.defaultProps = {\n position: POSITION.TOP_RIGHT as ToastPosition,\n transition: Bounce,\n rtl: false,\n autoClose: 5000,\n hideProgressBar: false,\n closeButton: CloseButton,\n pauseOnHover: true,\n pauseOnFocusLoss: true,\n closeOnClick: true,\n newestOnTop: false,\n draggable: true,\n draggablePercent: 80,\n role: 'alert'\n};\n","import * as React from 'react';\nimport { render } from 'react-dom';\n\nimport { POSITION, TYPE, canUseDom, isStr, isNum, isFn } from '../utils';\nimport { eventManager, OnChangeCallback, Event } from './eventManager';\nimport {\n ToastContent,\n ToastOptions,\n ToastProps,\n Id,\n ToastContainerProps,\n UpdateOptions,\n ClearWaitingQueueParams,\n NotValidatedToastProps\n} from '../types';\nimport { ContainerInstance } from 'hooks';\nimport { ToastContainer } from '../components';\n\ninterface EnqueuedToast {\n content: ToastContent;\n options: NotValidatedToastProps;\n}\n\nlet containers = new Map();\nlet latestInstance: ContainerInstance | Id;\nlet containerDomNode: HTMLElement;\nlet containerConfig: ToastContainerProps;\nlet queue: EnqueuedToast[] = [];\nlet lazy = false;\n\n/**\n * Check whether any container is currently mounted in the DOM\n */\nfunction isAnyContainerMounted() {\n return containers.size > 0;\n}\n\n/**\n * Get the container by id. Returns the last container declared when no id is given.\n */\nfunction getContainer(containerId?: Id) {\n if (!isAnyContainerMounted()) return null;\n return containers.get(!containerId ? latestInstance : containerId);\n}\n\n/**\n * Get the toast by id, given it's in the DOM, otherwise returns null\n */\nfunction getToast(toastId: Id, { containerId }: ToastOptions) {\n const container = getContainer(containerId);\n if (!container) return null;\n\n return container.getToast(toastId);\n}\n\n/**\n * Generate a random toastId\n */\nfunction generateToastId() {\n return (Math.random().toString(36) + Date.now().toString(36)).substr(2, 10);\n}\n\n/**\n * Generate a toastId or use the one provided\n */\nfunction getToastId(options?: ToastOptions) {\n if (options && (isStr(options.toastId) || isNum(options.toastId))) {\n return options.toastId;\n }\n\n return generateToastId();\n}\n\n/**\n * If the container is not mounted, the toast is enqueued and\n * the container lazy mounted\n */\nfunction dispatchToast(\n content: ToastContent,\n options: NotValidatedToastProps\n): Id {\n if (isAnyContainerMounted()) {\n eventManager.emit(Event.Show, content, options);\n } else {\n queue.push({ content, options });\n if (lazy && canUseDom) {\n lazy = false;\n containerDomNode = document.createElement('div');\n document.body.appendChild(containerDomNode);\n render(, containerDomNode);\n }\n }\n\n return options.toastId;\n}\n\n/**\n * Merge provided options with the defaults settings and generate the toastId\n */\nfunction mergeOptions(type: string, options?: ToastOptions) {\n return {\n ...options,\n type: (options && options.type) || type,\n toastId: getToastId(options)\n } as NotValidatedToastProps;\n}\n\nconst toast = (content: ToastContent, options?: ToastOptions) =>\n dispatchToast(content, mergeOptions(TYPE.DEFAULT, options));\n\ntoast.success = (content: ToastContent, options?: ToastOptions) =>\n dispatchToast(content, mergeOptions(TYPE.SUCCESS, options));\n\ntoast.info = (content: ToastContent, options?: ToastOptions) =>\n dispatchToast(content, mergeOptions(TYPE.INFO, options));\n\ntoast.error = (content: ToastContent, options?: ToastOptions) =>\n dispatchToast(content, mergeOptions(TYPE.ERROR, options));\n\ntoast.warning = (content: ToastContent, options?: ToastOptions) =>\n dispatchToast(content, mergeOptions(TYPE.WARNING, options));\n\ntoast.dark = (content: ToastContent, options?: ToastOptions) =>\n dispatchToast(content, mergeOptions(TYPE.DARK, options));\n\n/**\n * Maybe I should remove warning in favor of warn, I don't know\n */\ntoast.warn = toast.warning;\n\n/**\n * Remove toast programmaticaly\n */\ntoast.dismiss = (id?: Id) =>\n isAnyContainerMounted() && eventManager.emit(Event.Clear, id);\n\n/**\n * Clear waiting queue when limit is used\n */\ntoast.clearWaitingQueue = (params: ClearWaitingQueueParams = {}) =>\n isAnyContainerMounted() && eventManager.emit(Event.ClearWaitingQueue, params);\n\n/**\n * return true if one container is displaying the toast\n */\ntoast.isActive = (id: Id) => {\n let isToastActive = false;\n\n containers.forEach(container => {\n if (container.isToastActive && container.isToastActive(id)) {\n isToastActive = true;\n }\n });\n\n return isToastActive;\n};\n\ntoast.update = (toastId: Id, options: UpdateOptions = {}) => {\n // if you call toast and toast.update directly nothing will be displayed\n // this is why I defered the update\n setTimeout(() => {\n const toast = getToast(toastId, options as ToastOptions);\n if (toast) {\n const { props: oldOptions, content: oldContent } = toast;\n\n const nextOptions = {\n ...oldOptions,\n ...options,\n toastId: options.toastId || toastId,\n updateId: generateToastId()\n } as ToastProps & UpdateOptions;\n\n if (nextOptions.toastId !== toastId) nextOptions.staleId = toastId;\n\n const content =\n typeof nextOptions.render !== 'undefined'\n ? nextOptions.render\n : oldContent;\n delete nextOptions.render;\n\n dispatchToast(content, nextOptions);\n }\n }, 0);\n};\n\n/**\n * Used for controlled progress bar.\n */\ntoast.done = (id: Id) => {\n toast.update(id, {\n progress: 1\n });\n};\n\n/**\n * Track changes. The callback get the number of toast displayed\n *\n */\ntoast.onChange = (callback: OnChangeCallback) => {\n if (isFn(callback)) {\n eventManager.on(Event.Change, callback);\n }\n return () => {\n isFn(callback) && eventManager.off(Event.Change, callback);\n };\n};\n\n/**\n * Configure the ToastContainer when lazy mounted\n */\ntoast.configure = (config: ToastContainerProps = {}) => {\n lazy = true;\n containerConfig = config;\n};\n\ntoast.POSITION = POSITION;\ntoast.TYPE = TYPE;\n\n/**\n * Wait until the ToastContainer is mounted to dispatch the toast\n * and attach isActive method\n */\neventManager\n .on(Event.DidMount, (containerInstance: ContainerInstance) => {\n latestInstance = containerInstance.containerId || containerInstance;\n containers.set(latestInstance, containerInstance);\n\n queue.forEach(item => {\n eventManager.emit(Event.Show, item.content, item.options);\n });\n\n queue = [];\n })\n .on(Event.WillUnmount, (containerInstance: ContainerInstance) => {\n containers.delete(containerInstance.containerId || containerInstance);\n\n if (containers.size === 0) {\n eventManager\n .off(Event.Show)\n .off(Event.Clear)\n .off(Event.ClearWaitingQueue);\n }\n\n if (canUseDom && containerDomNode) {\n document.body.removeChild(containerDomNode);\n }\n });\n\nexport { toast };\n","/* eslint-disable */\n// this is an auto generated file. This will be overwritten\n\nexport const getMonitoringFilters = /* GraphQL */ `\n query GetMonitoringFilters(\n $params: QueryGetMonitoringFiltersParamsInput!\n $query: QueryGetMonitoringFiltersQueryInput!\n ) {\n getMonitoringFilters(params: $params, query: $query) {\n items {\n workloads {\n id\n environments {\n id\n services\n }\n regions {\n id\n services\n }\n }\n regions {\n id\n workloads {\n id\n services\n }\n environments {\n id\n services\n }\n }\n environments {\n id\n workloads {\n id\n services\n }\n regions {\n id\n services\n }\n }\n services {\n id\n name\n metrics {\n ids\n name\n }\n }\n }\n }\n }\n`;\nexport const getMonitoringMetrics = /* GraphQL */ `\n query GetMonitoringMetrics(\n $params: QueryGetMonitoringMetricsParamsInput!\n $query: QueryGetMonitoringMetricsQueryInput!\n ) {\n getMonitoringMetrics(params: $params, query: $query) {\n items {\n metricname\n workload\n arn\n id\n type\n state\n otherMetrics\n metrics {\n value\n timestamp\n }\n tags\n size\n }\n }\n }\n`;\nexport const listAllTickets = /* GraphQL */ `\nquery ListAllTickets(\n $query: QueryQueryInput\n) {\n listAllTickets(query: $query) {\n items {\n customerId\n id\n type\n number\n category\n subject\n customer\n state\n openedBy\n openedByEmail\n openedAt\n createdOn\n updatedOn\n startDate\n data\n attachments\n changeRequest {\n id\n number\n }\n assignedTo\n assignedToName\n linkedIncidents {\n id\n number\n }\n }\n token\n }\n}\n`;\nexport const getTicket = /* GraphQL */ `\n query GetTicket($params: QueryGetTicketParamsInput!) {\n getTicket(params: $params) {\n customerId\n id\n type\n number\n category\n subject\n customer\n state\n openedBy\n openedByEmail\n openedAt\n createdOn\n updatedOn\n startDate\n data\n attachments\n changeRequest {\n id\n number\n }\n incident {\n id\n number\n }\n assignedTo\n assignedToName\n linkedIncidents {\n id\n number\n }\n linkedSupportRequest {\n id\n number\n }\n }\n }\n`;\nexport const getTicketComments = /* GraphQL */ `\n query GetTicketComments(\n $params: QueryGetTicketCommentsParamsInput!\n $query: QueryGetTicketCommentsQueryInput\n ) {\n getTicketComments(params: $params, query: $query) {\n items {\n id\n ticketId\n comment\n createdOn\n createdBy\n }\n attachments {\n id\n key\n fileName\n hash\n }\n token\n }\n }\n`;\nexport const getTicketAttachment = /* GraphQL */ `\n query GetTicketAttachment($params: QueryGetTicketAttachmentParamsInput!) {\n getTicketAttachment(params: $params) {\n id\n fileName\n downloadUrl\n }\n }\n`;\n\nexport const getMonitorStatusSite24x7 = /* GraphQL */ `\n query GetMonitorStatusSite24x7($params: QueryGetMonitorStatusSite24x7ParamsInput!) {\n getMonitorStatusSite24x7(params: $params){\n downValue\n upValue\n troubleValue\n criticalValue\n data\n }\n }\n`;\nexport const getMonitorDetailsSite24x7 = /* GraphQL */ `\nquery GetMonitorDetailsSite24x7(\n $params: QueryGetMonitorDetailsSite24x7ParamsInput!\n $query: QueryGetMonitorDetailsSite24x7QueryInput!\n ) {\n getMonitorDetailsSite24x7(params: $params, query: $query){\n availabilitySummary\n logReportByDate\n }\n}\n`;\nexport const listEmpathUsers = /* GraphQL */ `\n query ListEmpathUsers(\n $query: QueryListEmpathUsersQueryInput!\n ) {\n listEmpathUsers(query: $query) {\n id\n email\n sub\n customerId\n customerIds\n serviceNowId\n groups\n firstName\n lastName\n timeZone\n jobTitle\n phoneNumber\n phoneNumber2\n officeLocation\n profilePhotoUrl\n isSsoUser\n onboarded\n canApproveChangeRequest\n }\n }\n`;\nexport const getEmpathUser = /* GraphQL */ `\n query GetEmpathUser($params: QueryGetEmpathUserParamsInput!) {\n getEmpathUser(params: $params) {\n id\n email\n sub\n customerId\n customerIds\n serviceNowId\n groups\n firstName\n lastName\n timeZone\n jobTitle\n phoneNumber\n phoneNumber2\n officeLocation\n profilePhotoUrl\n isSsoUser\n onboarded\n canApproveChangeRequest\n }\n }\n`;\nexport const getInventory = /* GraphQL */ `\n query GetInventory($id: ID!) {\n getInventory(id: $id) {\n id\n customerId\n account\n region\n service\n resource\n workload\n data\n createdAt\n updatedAt\n }\n }\n`;\nexport const listInventorys = /* GraphQL */ `\n query ListInventorys(\n $filter: ModelInventoryFilterInput\n $limit: Int\n $nextToken: String\n ) {\n listInventorys(filter: $filter, limit: $limit, nextToken: $nextToken) {\n items {\n id\n customerId\n account\n region\n service\n resource\n workload\n data\n createdAt\n updatedAt\n }\n nextToken\n }\n }\n`;\nexport const byAccount = /* GraphQL */ `\n query ByAccount(\n $account: String\n $sortDirection: ModelSortDirection\n $filter: ModelInventoryFilterInput\n $limit: Int\n $nextToken: String\n ) {\n byAccount(\n account: $account\n sortDirection: $sortDirection\n filter: $filter\n limit: $limit\n nextToken: $nextToken\n ) {\n items {\n id\n customerId\n account\n region\n service\n resource\n workload\n data\n createdAt\n updatedAt\n }\n nextToken\n }\n }\n`;\nexport const byService = /* GraphQL */ `\n query ByService(\n $service: String\n $sortDirection: ModelSortDirection\n $filter: ModelInventoryFilterInput\n $limit: Int\n $nextToken: String\n ) {\n byService(\n service: $service\n sortDirection: $sortDirection\n filter: $filter\n limit: $limit\n nextToken: $nextToken\n ) {\n items {\n id\n customerId\n account\n region\n service\n resource\n workload\n data\n createdAt\n updatedAt\n }\n nextToken\n }\n }\n`;\nexport const byResource = /* GraphQL */ `\n query ByResource(\n $resource: String\n $sortDirection: ModelSortDirection\n $filter: ModelInventoryFilterInput\n $limit: Int\n $nextToken: String\n ) {\n byResource(\n resource: $resource\n sortDirection: $sortDirection\n filter: $filter\n limit: $limit\n nextToken: $nextToken\n ) {\n items {\n id\n customerId\n account\n region\n service\n resource\n workload\n data\n createdAt\n updatedAt\n }\n nextToken\n }\n }\n`;\nexport const byAccountByRegion = /* GraphQL */ `\n query ByAccountByRegion(\n $account: String\n $region: ModelStringKeyConditionInput\n $sortDirection: ModelSortDirection\n $filter: ModelInventoryFilterInput\n $limit: Int\n $nextToken: String\n ) {\n byAccountByRegion(\n account: $account\n region: $region\n sortDirection: $sortDirection\n filter: $filter\n limit: $limit\n nextToken: $nextToken\n ) {\n items {\n id\n customerId\n account\n region\n service\n resource\n workload\n data\n createdAt\n updatedAt\n }\n nextToken\n }\n }\n`;\nexport const byCustomerIdByWorkload = /* GraphQL */ `\n query ByCustomerIdByWorkload(\n $customerId: String\n $workload: ModelStringKeyConditionInput\n $sortDirection: ModelSortDirection\n $filter: ModelInventoryFilterInput\n $limit: Int\n $nextToken: String\n ) {\n byCustomerIdByWorkload(\n customerId: $customerId\n workload: $workload\n sortDirection: $sortDirection\n filter: $filter\n limit: $limit\n nextToken: $nextToken\n ) {\n items {\n id\n customerId\n account\n region\n service\n resource\n workload\n data\n createdAt\n updatedAt\n }\n nextToken\n }\n }\n`;\nexport const byCustomerId = /* GraphQL */ `\n query ByCustomerId(\n $customerId: String\n $sortDirection: ModelSortDirection\n $filter: ModelInventoryFilterInput\n $limit: Int\n $nextToken: String\n ) {\n byCustomerId(\n customerId: $customerId\n sortDirection: $sortDirection\n filter: $filter\n limit: $limit\n nextToken: $nextToken\n ) {\n items {\n id\n customerId\n account\n region\n service\n resource\n workload\n data\n createdAt\n updatedAt\n }\n nextToken\n }\n }\n`;\nexport const byCustomerIdByService = /* GraphQL */ `\n query ByCustomerIdByService(\n $customerId: String\n $service: ModelStringKeyConditionInput\n $sortDirection: ModelSortDirection\n $filter: ModelInventoryFilterInput\n $limit: Int\n $nextToken: String\n ) {\n byCustomerIdByService(\n customerId: $customerId\n service: $service\n sortDirection: $sortDirection\n filter: $filter\n limit: $limit\n nextToken: $nextToken\n ) {\n items {\n id\n customerId\n account\n region\n service\n resource\n workload\n data\n createdAt\n updatedAt\n }\n nextToken\n }\n }\n`;\nexport const getCustomer = /* GraphQL */ `\n query GetCustomer($id: ID!) {\n getCustomer(id: $id) {\n id\n name\n products\n phone\n createdAt\n updatedAt\n isActive\n identityProvider\n metadataUrl\n ssoUrn\n ssoUrl\n openTicketCount\n featureFlags {\n supportOnly\n resaleOnly\n mcm\n vmc\n }\n }\n }\n`;\nexport const listCustomers = /* GraphQL */ `\n query ListCustomers(\n $filter: ModelCustomerFilterInput\n $limit: Int\n $nextToken: String\n ) {\n listCustomers(filter: $filter, limit: $limit, nextToken: $nextToken) {\n items {\n id\n name\n products\n phone\n createdAt\n updatedAt\n isActive\n identityProvider\n metadataUrl\n ssoUrn\n ssoUrl\n openTicketCount\n }\n nextToken\n }\n }\n`;\nexport const getUser = /* GraphQL */ `\n query GetUser($id: ID!) {\n getUser(id: $id) {\n id\n email\n createdAt\n updatedAt\n onboarded\n sub\n customerId\n customerIds\n serviceNowId\n firstName\n lastName\n timeZone\n jobTitle\n phoneNumber\n phoneNumber2\n officeLocation\n profilePhotoUrl\n isSsoUser\n groups\n identityId\n canApproveChangeRequest\n }\n }\n`;\nexport const listUsers = /* GraphQL */ `\n query ListUsers(\n $filter: ModelUserFilterInput\n $limit: Int\n $nextToken: String\n ) {\n listUsers(filter: $filter, limit: $limit, nextToken: $nextToken) {\n items {\n id\n email\n createdAt\n updatedAt\n onboarded\n sub\n customerId\n customerIds\n serviceNowId\n firstName\n lastName\n timeZone\n jobTitle\n phoneNumber\n phoneNumber2\n officeLocation\n profilePhotoUrl\n isSsoUser\n groups\n identityId\n canApproveChangeRequest\n }\n nextToken\n }\n }\n`;\nexport const usersByEmail = /* GraphQL */ `\n query UsersByEmail(\n $email: String\n $sortDirection: ModelSortDirection\n $filter: ModelUserFilterInput\n $limit: Int\n $nextToken: String\n ) {\n usersByEmail(\n email: $email\n sortDirection: $sortDirection\n filter: $filter\n limit: $limit\n nextToken: $nextToken\n ) {\n items {\n id\n email\n createdAt\n updatedAt\n onboarded\n sub\n customerId\n customerIds\n serviceNowId\n firstName\n lastName\n timeZone\n jobTitle\n phoneNumber\n phoneNumber2\n officeLocation\n profilePhotoUrl\n isSsoUser\n groups\n identityId\n canApproveChangeRequest\n }\n nextToken\n }\n }\n`;\nexport const userBySub = /* GraphQL */ `\n query UserBySub(\n $sub: String\n $sortDirection: ModelSortDirection\n $filter: ModelUserFilterInput\n $limit: Int\n $nextToken: String\n ) {\n userBySub(\n sub: $sub\n sortDirection: $sortDirection\n filter: $filter\n limit: $limit\n nextToken: $nextToken\n ) {\n items {\n id\n email\n createdAt\n updatedAt\n onboarded\n sub\n customerId\n customerIds\n serviceNowId\n firstName\n lastName\n timeZone\n jobTitle\n phoneNumber\n phoneNumber2\n officeLocation\n profilePhotoUrl\n isSsoUser\n groups\n identityId\n canApproveChangeRequest\n dashboardSettings\n }\n nextToken\n }\n }\n`;\nexport const usersByCustomerId = /* GraphQL */ `\n query UsersByCustomerId(\n $customerId: String\n $sortDirection: ModelSortDirection\n $filter: ModelUserFilterInput\n $limit: Int\n $nextToken: String\n ) {\n usersByCustomerId(\n customerId: $customerId\n sortDirection: $sortDirection\n filter: $filter\n limit: $limit\n nextToken: $nextToken\n ) {\n items {\n id\n email\n createdAt\n updatedAt\n onboarded\n sub\n customerId\n customerIds\n serviceNowId\n firstName\n lastName\n timeZone\n jobTitle\n phoneNumber\n phoneNumber2\n officeLocation\n profilePhotoUrl\n isSsoUser\n groups\n identityId\n canApproveChangeRequest\n }\n nextToken\n }\n }\n`;\n\nexport const getMyTeam = /* GraphQL */ `\n query GetMyTeam($customerId: String!) {\n getMyTeam(customerId: $customerId) {\n myTeam {\n teamMemberId\n fullName\n email\n role\n isPrimary\n phoneNumber\n profilePhotoUrl\n }\n createdAt\n customerId\n updatedAt\n }\n }\n`;\n\nexport const listNotifications = /* GraphQL */ `\n query ListNotifications(\n $sub: String\n $id: ModelIDKeyConditionInput\n $filter: NotificationFilterInput\n $limit: Int\n $nextToken: String\n $sortDirection: ModelSortDirection\n ) {\n listNotifications(\n sub: $sub\n id: $id\n filter: $filter\n limit: $limit\n nextToken: $nextToken\n sortDirection: $sortDirection\n ) {\n items {\n sub\n id\n message\n when\n isRead\n customerId\n type\n key\n createdAt\n }\n nextToken\n }\n }\n`;\n\nexport const getSiteSettings = /* GraphQL */ `\n query GetSiteSettings($serviceName: ID!) {\n getSiteSettings(serviceName: $serviceName) {\n serviceName\n isUnderMaintenance\n }\n }\n`;\n\nexport const generateCSVReport = /* GraphQL */ `\n query GenerateCSVReport(\n $body: QueryGenerateCSVReportBodyInput!\n ) {\n generateCSVReport(body: $body\n ) {\n statusCode\n payload\n }\n }\n`;\n","var Presence;\n(function (Presence) {\n Presence[Presence[\"Entering\"] = 0] = \"Entering\";\n Presence[Presence[\"Present\"] = 1] = \"Present\";\n Presence[Presence[\"Exiting\"] = 2] = \"Exiting\";\n})(Presence || (Presence = {}));\nvar VisibilityAction;\n(function (VisibilityAction) {\n VisibilityAction[VisibilityAction[\"Hide\"] = 0] = \"Hide\";\n VisibilityAction[VisibilityAction[\"Show\"] = 1] = \"Show\";\n})(VisibilityAction || (VisibilityAction = {}));\n\nexport { Presence, VisibilityAction };\n","import { Presence } from '../types.js';\n\n/**\n * Default handlers for batching VisualElements\n */\nvar defaultHandler = {\n measureLayout: function (child) { return child.updateLayoutMeasurement(); },\n layoutReady: function (child) { return child.notifyLayoutReady(); },\n};\n/**\n * Create a batcher to process VisualElements\n */\nfunction createBatcher() {\n var queue = new Set();\n return {\n add: function (child) { return queue.add(child); },\n flush: function (_a) {\n var _b = _a === void 0 ? defaultHandler : _a, measureLayout = _b.measureLayout, layoutReady = _b.layoutReady, parent = _b.parent;\n var order = Array.from(queue).sort(function (a, b) { return a.depth - b.depth; });\n var resetAndMeasure = function () {\n /**\n * Write: Reset any transforms on children elements so we can read their actual layout\n */\n order.forEach(function (child) { return child.resetTransform(); });\n /**\n * Read: Measure the actual layout\n */\n order.forEach(measureLayout);\n };\n parent\n ? parent.withoutTransform(resetAndMeasure)\n : resetAndMeasure();\n /**\n * Write: Notify the VisualElements they're ready for further write operations.\n */\n order.forEach(layoutReady);\n /**\n * After all children have started animating, ensure any Entering components are set to Present.\n * If we add deferred animations (set up all animations and then start them in two loops) this\n * could be moved to the start loop. But it needs to happen after all the animations configs\n * are generated in AnimateSharedLayout as this relies on presence data\n */\n order.forEach(function (child) {\n if (child.isPresent)\n child.presence = Presence.Present;\n });\n queue.clear();\n },\n };\n}\n\nexport { createBatcher };\n","import { createContext } from 'react';\nimport { createBatcher } from '../components/AnimateSharedLayout/utils/batcher.js';\n\nvar SharedLayoutContext = createContext(createBatcher());\n/**\n * @internal\n */\nvar FramerTreeLayoutContext = createContext(createBatcher());\nfunction isSharedLayout(context) {\n return !!context.forceUpdate;\n}\n\nexport { FramerTreeLayoutContext, SharedLayoutContext, isSharedLayout };\n","import { useEffect } from 'react';\n\nfunction useUnmountEffect(callback) {\n return useEffect(function () { return function () { return callback(); }; }, []);\n}\n\nexport { useUnmountEffect };\n","import { createContext } from 'react';\n\n/**\n * @public\n */\nvar PresenceContext = createContext(null);\n\nexport { PresenceContext };\n","import { useRef } from 'react';\n\n/**\n * Creates a constant value over the lifecycle of a component.\n *\n * Even if `useMemo` is provided an empty array as its final argument, it doesn't offer\n * a guarantee that it won't re-run for performance reasons later on. By using `useConstant`\n * you can ensure that initialisers don't execute twice or more.\n */\nfunction useConstant(init) {\n var ref = useRef(null);\n if (ref.current === null) {\n ref.current = init();\n }\n return ref.current;\n}\n\nexport { useConstant };\n","import { useMemo, useEffect, createElement } from 'react';\nimport { PresenceContext } from '../../context/PresenceContext.js';\nimport { useConstant } from '../../utils/use-constant.js';\n\nvar presenceId = 0;\nfunction getPresenceId() {\n var id = presenceId;\n presenceId++;\n return id;\n}\nvar PresenceChild = function (_a) {\n var children = _a.children, initial = _a.initial, isPresent = _a.isPresent, onExitComplete = _a.onExitComplete, custom = _a.custom, presenceAffectsLayout = _a.presenceAffectsLayout;\n var presenceChildren = useConstant(newChildrenMap);\n var id = useConstant(getPresenceId);\n var context = useMemo(function () { return ({\n id: id,\n initial: initial,\n isPresent: isPresent,\n custom: custom,\n onExitComplete: function (childId) {\n presenceChildren.set(childId, true);\n var allComplete = true;\n presenceChildren.forEach(function (isComplete) {\n if (!isComplete)\n allComplete = false;\n });\n allComplete && (onExitComplete === null || onExitComplete === void 0 ? void 0 : onExitComplete());\n },\n register: function (childId) {\n presenceChildren.set(childId, false);\n return function () { return presenceChildren.delete(childId); };\n },\n }); }, \n /**\n * If the presence of a child affects the layout of the components around it,\n * we want to make a new context value to ensure they get re-rendered\n * so they can detect that layout change.\n */\n presenceAffectsLayout ? undefined : [isPresent]);\n useMemo(function () {\n presenceChildren.forEach(function (_, key) { return presenceChildren.set(key, false); });\n }, [isPresent]);\n /**\n * If there's no `motion` components to fire exit animations, we want to remove this\n * component immediately.\n */\n useEffect(function () {\n !isPresent && !presenceChildren.size && (onExitComplete === null || onExitComplete === void 0 ? void 0 : onExitComplete());\n }, [isPresent]);\n return (createElement(PresenceContext.Provider, { value: context }, children));\n};\nfunction newChildrenMap() {\n return new Map();\n}\n\nexport { PresenceChild };\n","import { useContext, useRef, createElement, Fragment, cloneElement, Children, isValidElement } from 'react';\nimport { __spread } from 'tslib';\nimport { SharedLayoutContext, isSharedLayout } from '../../context/SharedLayoutContext.js';\nimport { useForceUpdate } from '../../utils/use-force-update.js';\nimport { PresenceChild } from './PresenceChild.js';\n\nfunction getChildKey(child) {\n return child.key || \"\";\n}\nfunction updateChildLookup(children, allChildren) {\n var seenChildren = process.env.NODE_ENV !== \"production\" ? new Set() : null;\n children.forEach(function (child) {\n var key = getChildKey(child);\n if (process.env.NODE_ENV !== \"production\" && seenChildren) {\n if (seenChildren.has(key)) {\n console.warn(\"Children of AnimatePresence require unique keys. \\\"\" + key + \"\\\" is a duplicate.\");\n }\n seenChildren.add(key);\n }\n allChildren.set(key, child);\n });\n}\nfunction onlyElements(children) {\n var filtered = [];\n // We use forEach here instead of map as map mutates the component key by preprending `.$`\n Children.forEach(children, function (child) {\n if (isValidElement(child))\n filtered.push(child);\n });\n return filtered;\n}\n/**\n * `AnimatePresence` enables the animation of components that have been removed from the tree.\n *\n * When adding/removing more than a single child, every child **must** be given a unique `key` prop.\n *\n * @library\n *\n * Any `Frame` components that have an `exit` property defined will animate out when removed from\n * the tree.\n *\n * ```jsx\n * import { Frame, AnimatePresence } from 'framer'\n *\n * // As items are added and removed from `items`\n * export function Items({ items }) {\n * return (\n * \n * {items.map(item => (\n * \n * ))}\n * \n * )\n * }\n * ```\n *\n * You can sequence exit animations throughout a tree using variants.\n *\n * @motion\n *\n * Any `motion` components that have an `exit` property defined will animate out when removed from\n * the tree.\n *\n * ```jsx\n * import { motion, AnimatePresence } from 'framer-motion'\n *\n * export const Items = ({ items }) => (\n * \n * {items.map(item => (\n * \n * ))}\n * \n * )\n * ```\n *\n * You can sequence exit animations throughout a tree using variants.\n *\n * If a child contains multiple `motion` components with `exit` props, it will only unmount the child\n * once all `motion` components have finished animating out. Likewise, any components using\n * `usePresence` all need to call `safeToRemove`.\n *\n * @public\n */\nvar AnimatePresence = function (_a) {\n var children = _a.children, custom = _a.custom, _b = _a.initial, initial = _b === void 0 ? true : _b, onExitComplete = _a.onExitComplete, exitBeforeEnter = _a.exitBeforeEnter, _c = _a.presenceAffectsLayout, presenceAffectsLayout = _c === void 0 ? true : _c;\n // We want to force a re-render once all exiting animations have finished. We\n // either use a local forceRender function, or one from a parent context if it exists.\n var forceRender = useForceUpdate();\n var layoutContext = useContext(SharedLayoutContext);\n if (isSharedLayout(layoutContext)) {\n forceRender = layoutContext.forceUpdate;\n }\n var isInitialRender = useRef(true);\n // Filter out any children that aren't ReactElements. We can only track ReactElements with a props.key\n var filteredChildren = onlyElements(children);\n // Keep a living record of the children we're actually rendering so we\n // can diff to figure out which are entering and exiting\n var presentChildren = useRef(filteredChildren);\n // A lookup table to quickly reference components by key\n var allChildren = useRef(new Map())\n .current;\n // A living record of all currently exiting components.\n var exiting = useRef(new Set()).current;\n updateChildLookup(filteredChildren, allChildren);\n // If this is the initial component render, just deal with logic surrounding whether\n // we play onMount animations or not.\n if (isInitialRender.current) {\n isInitialRender.current = false;\n return (createElement(Fragment, null, filteredChildren.map(function (child) { return (createElement(PresenceChild, { key: getChildKey(child), isPresent: true, initial: initial ? undefined : false, presenceAffectsLayout: presenceAffectsLayout }, child)); })));\n }\n // If this is a subsequent render, deal with entering and exiting children\n var childrenToRender = __spread(filteredChildren);\n // Diff the keys of the currently-present and target children to update our\n // exiting list.\n var presentKeys = presentChildren.current.map(getChildKey);\n var targetKeys = filteredChildren.map(getChildKey);\n // Diff the present children with our target children and mark those that are exiting\n var numPresent = presentKeys.length;\n for (var i = 0; i < numPresent; i++) {\n var key = presentKeys[i];\n if (targetKeys.indexOf(key) === -1) {\n exiting.add(key);\n }\n else {\n // In case this key has re-entered, remove from the exiting list\n exiting.delete(key);\n }\n }\n // If we currently have exiting children, and we're deferring rendering incoming children\n // until after all current children have exiting, empty the childrenToRender array\n if (exitBeforeEnter && exiting.size) {\n childrenToRender = [];\n }\n // Loop through all currently exiting components and clone them to overwrite `animate`\n // with any `exit` prop they might have defined.\n exiting.forEach(function (key) {\n // If this component is actually entering again, early return\n if (targetKeys.indexOf(key) !== -1)\n return;\n var child = allChildren.get(key);\n if (!child)\n return;\n var insertionIndex = presentKeys.indexOf(key);\n var onExit = function () {\n allChildren.delete(key);\n exiting.delete(key);\n // Remove this child from the present children\n var removeIndex = presentChildren.current.findIndex(function (presentChild) { return presentChild.key === key; });\n presentChildren.current.splice(removeIndex, 1);\n // Defer re-rendering until all exiting children have indeed left\n if (!exiting.size) {\n presentChildren.current = filteredChildren;\n forceRender();\n onExitComplete && onExitComplete();\n }\n };\n childrenToRender.splice(insertionIndex, 0, createElement(PresenceChild, { key: getChildKey(child), isPresent: false, onExitComplete: onExit, custom: custom, presenceAffectsLayout: presenceAffectsLayout }, child));\n });\n // Add `MotionContext` even to children that don't need it to ensure we're rendering\n // the same tree between renders\n childrenToRender = childrenToRender.map(function (child) {\n var key = child.key;\n return exiting.has(key) ? (child) : (createElement(PresenceChild, { key: getChildKey(child), isPresent: true, presenceAffectsLayout: presenceAffectsLayout }, child));\n });\n presentChildren.current = childrenToRender;\n if (process.env.NODE_ENV !== \"production\" &&\n exitBeforeEnter &&\n childrenToRender.length > 1) {\n console.warn(\"You're attempting to animate multiple children within AnimatePresence, but its exitBeforeEnter prop is set to true. This will lead to odd visual behaviour.\");\n }\n return (createElement(Fragment, null, exiting.size\n ? childrenToRender\n : childrenToRender.map(function (child) { return cloneElement(child); })));\n};\n\nexport { AnimatePresence };\n","import { useCallback, useRef, useState } from 'react';\nimport { __read } from 'tslib';\nimport { useUnmountEffect } from './use-unmount-effect.js';\n\nfunction useForceUpdate() {\n var unloadingRef = useRef(false);\n var _a = __read(useState(0), 2), forcedRenderCount = _a[0], setForcedRenderCount = _a[1];\n useUnmountEffect(function () { return (unloadingRef.current = true); });\n return useCallback(function () {\n !unloadingRef.current && setForcedRenderCount(forcedRenderCount + 1);\n }, [forcedRenderCount]);\n}\n\nexport { useForceUpdate };\n","import { API, graphqlOperation } from 'aws-amplify';\nimport { getCustomer } from '../graphql/queries';\n\nexport const effectualGroups = {\n effectualAdmin: {\n groupName: 'effectualAdmin',\n description: 'Effectual Administrator',\n },\n effectualSDM: {\n groupName: 'effectualSDM',\n description: 'Effectual Service Delivery Manager',\n },\n effectualAccounting: {\n groupName: 'effectualAccounting',\n description: 'Effectual Accounting',\n },\n effectualObserver: {\n groupName: 'effectualObserver',\n description: 'Effectual Observer',\n },\n};\n\nexport const customerGroups = {\n customerAdmin: {\n groupName: 'customerAdmin',\n description: 'Administrator',\n },\n customerSupport: {\n groupName: 'customerSupport',\n description: 'Support',\n },\n customerAccounting: {\n groupName: 'customerAccounting',\n description: 'Accounting',\n },\n customerObserver: {\n groupName: 'customerObserver',\n description: 'Observer',\n },\n customerTechnical: {\n groupName: 'customerTechnical',\n description: 'Technical',\n },\n customerHelpDesk: {\n groupName: 'customerHelpDesk',\n description: 'Help Desk',\n },\n};\n\nexport const customerRoles = [\n { role: 'Administrator', description: 'Can view all features and can add users' },\n { role: 'Support', description: 'Can view all features but cannot view admin settings' },\n { role: 'Accounting', description: 'Can view nothing' },\n { role: 'Observer', description: 'Can view all features but they are read only. No admin' },\n { role: 'Technical', description: 'All but administration' },\n { role: 'Help Desk', description: 'Can view support data only ' },\n];\n\nexport const allGroups = { ...effectualGroups, ...customerGroups };\n\nexport const groupsForImpersonation = [\n effectualGroups.effectualAdmin.groupName,\n effectualGroups.effectualSDM.groupName,\n];\n\nexport const featureFlagGroups = {\n supportOnly: { text: 'Support Only', name: 'supportOnly' },\n mcm: { text: 'MCM Customer', name: 'mcm' },\n vmc: { text: 'VMC Customer', name: 'vmc' },\n resaleOnly: { text: 'Resale Only', name: 'resaleOnly' },\n};\n\nexport const customerIds = {\n empath: 'empath',\n};\n\nexport const reports = {\n ticketsReport: 'ticketsReport',\n userListReport: 'userListReport',\n myCloudReport: 'myCloudReport',\n customerListReport: 'customerListReport',\n};\n\nexport const getFeatureAcess = async (customerId: any) => {\n try {\n const {\n // @ts-expect-error TS(2339): Property 'data' does not exist on type 'GraphQLRes... Remove this comment to see the full error message\n data: {\n getCustomer: { featureFlags },\n },\n } = await API.graphql(graphqlOperation(getCustomer, { id: customerId }));\n\n const featureAccessList = Object.keys(featureFlags).filter(feature => featureFlags[feature] === true);\n\n return featureAccessList.length ? featureAccessList : [featureFlagGroups.supportOnly.name];\n } catch (error) {\n return [featureFlagGroups.supportOnly.name];\n }\n};\n\nexport const servicesGroups = { serviceNow: { name: 'serviceNow' } };\n","import React, { createContext, useContext, useMemo } from 'react';\nimport { customerIds as customerIdsList } from '../shared/groupsHelper';\n\n// @ts-expect-error TS(2554): Expected 1 arguments, but got 0.\nconst UserContext = createContext();\n\ntype UserProviderProps = {\n children?: React.ReactElement;\n cognitoUser?: any;\n setCognitoUser?: (...args: any[]) => any;\n user?: any;\n setUser?: (...args: any[]) => any;\n groups?: any[];\n impersonation?: any;\n setImpersonation?: (...args: any[]) => any;\n setUserNavigationHistoryStack?: (...args: any[]) => any;\n userNavigationHistoryStack?: {\n currentPage?: string;\n lastVisitedPage?: string;\n };\n};\n\nconst UserProvider = ({\n children,\n cognitoUser,\n setCognitoUser,\n groups,\n user,\n setUser,\n impersonation,\n setImpersonation,\n userNavigationHistoryStack,\n setUserNavigationHistoryStack,\n}: UserProviderProps) => {\n const activeUser = impersonation?.user ? impersonation?.user : user;\n\n const activeUserGroups = impersonation?.user ? impersonation?.user.groups : groups;\n\n const activeCognitoUser = impersonation?.cognitoUser ? impersonation?.cognitoUser : cognitoUser;\n\n const isImpersonating = !!impersonation;\n\n const isEffectualUser = (() => {\n if (!cognitoUser || !cognitoUser.username) {\n return false;\n }\n\n // If we are impersonating, check if they are an effectual user\n if (impersonation) {\n return impersonation.groups.some((group: any) => group.indexOf('effectual') >= 0);\n }\n\n // @ts-expect-error TS(2532): Object is possibly 'undefined'.\n return groups.some(group => group.indexOf('effectual') >= 0);\n })();\n\n const setActiveUser = (updatedUser: any) => {\n if (impersonation?.user) {\n // @ts-expect-error TS(2722): Cannot invoke an object which is possibly 'undefin... Remove this comment to see the full error message\n setImpersonation({\n ...impersonation,\n user: updatedUser,\n });\n } else {\n // @ts-expect-error TS(2722): Cannot invoke an object which is possibly 'undefin... Remove this comment to see the full error message\n setUser(updatedUser);\n }\n };\n const userInRoles = (roles: any) => {\n if (!cognitoUser || !cognitoUser.username) {\n return false;\n }\n\n // If we are impersonating, check the role against the impersonated user\n if (impersonation) {\n if (impersonation.groups) {\n return impersonation.groups.filter((element: any) => roles.includes(element)).length > 0;\n }\n\n return false;\n }\n\n // @ts-expect-error TS(2532): Object is possibly 'undefined'.\n return groups.filter(element => roles.includes(element)).length > 0;\n };\n\n const customerHasFeature = (customerRoles: any) => {\n if (impersonation) {\n if (impersonation.user.featureFlags) {\n return impersonation.user.featureFlags.filter((feature: any) => customerRoles.includes(feature)).length > 0;\n }\n\n return false;\n }\n\n if (user.customerId.toLowerCase() === customerIdsList.empath) {\n return true;\n }\n\n return user.featureFlags.filter((feature: any) => customerRoles.includes(feature)).length > 0;\n };\n\n const userHasCustomer = (cid: any) => {\n if (!cognitoUser || !cognitoUser.username) {\n return false;\n }\n\n let customerIds = [];\n\n // If we are impersonating, check the cid against the impersonated customer\n if (impersonation?.user) {\n customerIds = JSON.parse(impersonation.user.customerIds);\n\n return customerIds.includes(cid);\n }\n\n if (impersonation) {\n return cid === impersonation.cid || cid === user.customerId;\n }\n\n customerIds = user?.customerIds ? JSON.parse(user.customerIds) : [];\n\n return customerIds.includes(cid);\n };\n\n const userBelongsToCustomer = (cid: any) => {\n if (!cognitoUser || !cognitoUser.username) {\n return false;\n }\n\n return user && user.customerId === cid;\n };\n\n const clearUserInfo = () => {\n // @ts-expect-error TS(2722): Cannot invoke an object which is possibly 'undefin... Remove this comment to see the full error message\n setImpersonation(null);\n // @ts-expect-error TS(2722): Cannot invoke an object which is possibly 'undefin... Remove this comment to see the full error message\n setUser(null);\n // @ts-expect-error TS(2722): Cannot invoke an object which is possibly 'undefin... Remove this comment to see the full error message\n setCognitoUser(null);\n };\n\n const value = useMemo(\n () => ({\n isImpersonating,\n impersonation,\n setImpersonation,\n user,\n activeUser,\n activeUserGroups,\n activeCognitoUser,\n setCognitoUser,\n setActiveUser,\n userInRoles,\n isEffectualUser,\n userHasCustomer,\n userBelongsToCustomer,\n clearUserInfo,\n customerHasFeature,\n userNavigationHistoryStack,\n setUserNavigationHistoryStack,\n }),\n [user, impersonation]\n );\n\n return {children};\n};\n\nconst useUser = () => useContext(UserContext);\n\nexport default UserContext;\n\nexport { UserProvider, useUser };\n","import { createContext, useContext, useMemo, createElement } from 'react';\nimport { __rest, __spread } from 'tslib';\n\n/**\n * @public\n */\nvar MotionConfigContext = createContext({\n transformPagePoint: function (p) { return p; },\n features: [],\n isStatic: false,\n});\n/**\n * MotionConfig can be used in combination with the `m` component to cut bundle size\n * and dynamically load only the features you use.\n *\n * ```jsx\n * import {\n * m as motion,\n * AnimationFeature,\n * MotionConfig\n * } from \"framer-motion\"\n *\n * export function App() {\n * return (\n * \n * \n * \n * )\n * }\n * ```\n *\n * @public\n */\nfunction MotionConfig(_a) {\n var children = _a.children, _b = _a.features, features = _b === void 0 ? [] : _b, transition = _a.transition, props = __rest(_a, [\"children\", \"features\", \"transition\"]);\n var pluginContext = useContext(MotionConfigContext);\n var loadedFeatures = __spread(new Set(__spread(pluginContext.features, features)));\n // We do want to rerender children when the number of loaded features changes\n var value = useMemo(function () { return ({\n features: loadedFeatures,\n transition: transition || pluginContext.transition,\n }); }, [loadedFeatures.length, transition]);\n // Mutative to prevent triggering rerenders in all listening\n // components every time this component renders\n for (var key in props) {\n value[key] = props[key];\n }\n return (createElement(MotionConfigContext.Provider, { value: value }, children));\n}\n\nexport { MotionConfig, MotionConfigContext };\n","function isRefObject(ref) {\n return (typeof ref === \"object\" &&\n Object.prototype.hasOwnProperty.call(ref, \"current\"));\n}\n\nexport { isRefObject };\n","var warning = function () { };\r\nvar invariant = function () { };\r\nif (process.env.NODE_ENV !== 'production') {\r\n warning = function (check, message) {\r\n if (!check && typeof console !== 'undefined') {\r\n console.warn(message);\r\n }\r\n };\r\n invariant = function (check, message) {\r\n if (!check) {\r\n throw new Error(message);\r\n }\r\n };\r\n}\n\nexport { invariant, warning };\n","var progress = function (from, to, value) {\n var toFromDifference = to - from;\n return toFromDifference === 0 ? 1 : (value - from) / toFromDifference;\n};\n\nexport { progress };\n","function isMouseEvent(event) {\n // PointerEvent inherits from MouseEvent so we can't use a straight instanceof check.\n if (typeof PointerEvent !== \"undefined\" && event instanceof PointerEvent) {\n return !!(event.pointerType === \"mouse\");\n }\n return event instanceof MouseEvent;\n}\nfunction isTouchEvent(event) {\n var hasTouches = !!event.touches;\n return hasTouches;\n}\n\nexport { isMouseEvent, isTouchEvent };\n","import { isTouchEvent } from '../gestures/utils/event-type.js';\n\n/**\n * Filters out events not attached to the primary pointer (currently left mouse button)\n * @param eventHandler\n */\nfunction filterPrimaryPointer(eventHandler) {\n return function (event) {\n var isMouseEvent = event instanceof MouseEvent;\n var isPrimaryPointer = !isMouseEvent ||\n (isMouseEvent && event.button === 0);\n if (isPrimaryPointer) {\n eventHandler(event);\n }\n };\n}\nvar defaultPagePoint = { pageX: 0, pageY: 0 };\nfunction pointFromTouch(e, pointType) {\n if (pointType === void 0) { pointType = \"page\"; }\n var primaryTouch = e.touches[0] || e.changedTouches[0];\n var point = primaryTouch || defaultPagePoint;\n return {\n x: point[pointType + \"X\"],\n y: point[pointType + \"Y\"],\n };\n}\nfunction pointFromMouse(point, pointType) {\n if (pointType === void 0) { pointType = \"page\"; }\n return {\n x: point[pointType + \"X\"],\n y: point[pointType + \"Y\"],\n };\n}\nfunction extractEventInfo(event, pointType) {\n if (pointType === void 0) { pointType = \"page\"; }\n return {\n point: isTouchEvent(event)\n ? pointFromTouch(event, pointType)\n : pointFromMouse(event, pointType),\n };\n}\nfunction getViewportPointFromEvent(event) {\n return extractEventInfo(event, \"client\");\n}\nvar wrapHandler = function (handler, shouldFilterPrimaryPointer) {\n if (shouldFilterPrimaryPointer === void 0) { shouldFilterPrimaryPointer = false; }\n var listener = function (event) {\n return handler(event, extractEventInfo(event));\n };\n return shouldFilterPrimaryPointer\n ? filterPrimaryPointer(listener)\n : listener;\n};\n\nexport { extractEventInfo, getViewportPointFromEvent, wrapHandler };\n","import { useEffect } from 'react';\n\nfunction addDomEvent(target, eventName, handler, options) {\n target.addEventListener(eventName, handler, options);\n return function () { return target.removeEventListener(eventName, handler, options); };\n}\n/**\n * Attaches an event listener directly to the provided DOM element.\n *\n * Bypassing React's event system can be desirable, for instance when attaching non-passive\n * event handlers.\n *\n * ```jsx\n * const ref = useRef(null)\n *\n * useDomEvent(ref, 'wheel', onWheel, { passive: false })\n *\n * return
\n * ```\n *\n * @param ref - React.RefObject that's been provided to the element you want to bind the listener to.\n * @param eventName - Name of the event you want listen for.\n * @param handler - Function to fire when receiving the event.\n * @param options - Options to pass to `Event.addEventListener`.\n *\n * @public\n */\nfunction useDomEvent(ref, eventName, handler, options) {\n useEffect(function () {\n var element = ref.current;\n if (handler && element) {\n return addDomEvent(element, eventName, handler, options);\n }\n }, [ref, eventName, handler, options]);\n}\n\nexport { addDomEvent, useDomEvent };\n","var isBrowser = typeof window !== \"undefined\";\n// We check for event support via functions in case they've been mocked by a testing suite.\nvar supportsPointerEvents = function () {\n return isBrowser && window.onpointerdown === null;\n};\nvar supportsTouchEvents = function () {\n return isBrowser && window.ontouchstart === null;\n};\nvar supportsMouseEvents = function () {\n return isBrowser && window.onmousedown === null;\n};\n\nexport { supportsMouseEvents, supportsPointerEvents, supportsTouchEvents };\n","import { wrapHandler } from './event-info.js';\nimport { useDomEvent, addDomEvent } from './use-dom-event.js';\nimport { supportsPointerEvents, supportsTouchEvents, supportsMouseEvents } from './utils.js';\n\nvar mouseEventNames = {\n pointerdown: \"mousedown\",\n pointermove: \"mousemove\",\n pointerup: \"mouseup\",\n pointercancel: \"mousecancel\",\n pointerover: \"mouseover\",\n pointerout: \"mouseout\",\n pointerenter: \"mouseenter\",\n pointerleave: \"mouseleave\",\n};\nvar touchEventNames = {\n pointerdown: \"touchstart\",\n pointermove: \"touchmove\",\n pointerup: \"touchend\",\n pointercancel: \"touchcancel\",\n};\nfunction getPointerEventName(name) {\n if (supportsPointerEvents()) {\n return name;\n }\n else if (supportsTouchEvents()) {\n return touchEventNames[name];\n }\n else if (supportsMouseEvents()) {\n return mouseEventNames[name];\n }\n return name;\n}\nfunction addPointerEvent(target, eventName, handler, options) {\n return addDomEvent(target, getPointerEventName(eventName), wrapHandler(handler, eventName === \"pointerdown\"), options);\n}\nfunction usePointerEvent(ref, eventName, handler, options) {\n return useDomEvent(ref, getPointerEventName(eventName), handler && wrapHandler(handler, eventName === \"pointerdown\"), options);\n}\n\nexport { addPointerEvent, usePointerEvent };\n","var isPoint = function (point) {\n return point.hasOwnProperty('x') && point.hasOwnProperty('y');\n};\n\nexport { isPoint };\n","import { isPoint } from './is-point.js';\n\nvar isPoint3D = function (point) {\n return isPoint(point) && point.hasOwnProperty('z');\n};\n\nexport { isPoint3D };\n","var zeroPoint = {\n x: 0,\n y: 0,\n z: 0\n};\nvar isNum = function (v) { return typeof v === 'number'; };\n\nexport { isNum, zeroPoint };\n","import { isPoint } from './is-point.js';\nimport { isPoint3D } from './is-point-3d.js';\nimport { isNum } from './inc.js';\n\nvar distance1D = function (a, b) { return Math.abs(a - b); };\nfunction distance(a, b) {\n if (isNum(a) && isNum(b)) {\n return distance1D(a, b);\n }\n else if (isPoint(a) && isPoint(b)) {\n var xDelta = distance1D(a.x, b.x);\n var yDelta = distance1D(a.y, b.y);\n var zDelta = isPoint3D(a) && isPoint3D(b) ? distance1D(a.z, b.z) : 0;\n return Math.sqrt(Math.pow(xDelta, 2) + Math.pow(yDelta, 2) + Math.pow(zDelta, 2));\n }\n}\n\nexport { distance };\n","var combineFunctions = function (a, b) { return function (v) { return b(a(v)); }; };\nvar pipe = function () {\n var transformers = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n transformers[_i] = arguments[_i];\n }\n return transformers.reduce(combineFunctions);\n};\n\nexport { pipe };\n","var defaultTimestep = (1 / 60) * 1000;\nvar getCurrentTime = typeof performance !== \"undefined\"\n ? function () { return performance.now(); }\n : function () { return Date.now(); };\nvar onNextFrame = typeof window !== \"undefined\"\n ? function (callback) {\n return window.requestAnimationFrame(callback);\n }\n : function (callback) {\n return setTimeout(function () { return callback(getCurrentTime()); }, defaultTimestep);\n };\n\nexport { defaultTimestep, onNextFrame };\n","import { onNextFrame, defaultTimestep } from './on-next-frame.js';\nimport { createRenderStep } from './create-render-step.js';\n\nvar maxElapsed = 40;\nvar useDefaultElapsed = true;\nvar runNextFrame = false;\nvar isProcessing = false;\nvar frame = {\n delta: 0,\n timestamp: 0\n};\nvar stepsOrder = [\"read\", \"update\", \"preRender\", \"render\", \"postRender\"];\nvar steps = /*#__PURE__*/stepsOrder.reduce(function (acc, key) {\n acc[key] = createRenderStep(function () {\n return runNextFrame = true;\n });\n return acc;\n}, {});\nvar sync = /*#__PURE__*/stepsOrder.reduce(function (acc, key) {\n var step = steps[key];\n acc[key] = function (process, keepAlive, immediate) {\n if (keepAlive === void 0) {\n keepAlive = false;\n }\n if (immediate === void 0) {\n immediate = false;\n }\n if (!runNextFrame) startLoop();\n return step.schedule(process, keepAlive, immediate);\n };\n return acc;\n}, {});\nvar cancelSync = /*#__PURE__*/stepsOrder.reduce(function (acc, key) {\n acc[key] = steps[key].cancel;\n return acc;\n}, {});\nvar processStep = function (stepId) {\n return steps[stepId].process(frame);\n};\nvar processFrame = function (timestamp) {\n runNextFrame = false;\n frame.delta = useDefaultElapsed ? defaultTimestep : Math.max(Math.min(timestamp - frame.timestamp, maxElapsed), 1);\n frame.timestamp = timestamp;\n isProcessing = true;\n stepsOrder.forEach(processStep);\n isProcessing = false;\n if (runNextFrame) {\n useDefaultElapsed = false;\n onNextFrame(processFrame);\n }\n};\nvar startLoop = function () {\n runNextFrame = true;\n useDefaultElapsed = true;\n if (!isProcessing) onNextFrame(processFrame);\n};\nvar getFrameData = function () {\n return frame;\n};\n\nexport default sync;\nexport { cancelSync, getFrameData };\n","function createRenderStep(runNextFrame) {\n var toRun = [];\n var toRunNextFrame = [];\n var numToRun = 0;\n var isProcessing = false;\n var toKeepAlive = new WeakSet();\n var step = {\n schedule: function (callback, keepAlive, immediate) {\n if (keepAlive === void 0) { keepAlive = false; }\n if (immediate === void 0) { immediate = false; }\n var addToCurrentFrame = immediate && isProcessing;\n var buffer = addToCurrentFrame ? toRun : toRunNextFrame;\n if (keepAlive)\n toKeepAlive.add(callback);\n if (buffer.indexOf(callback) === -1) {\n buffer.push(callback);\n if (addToCurrentFrame && isProcessing)\n numToRun = toRun.length;\n }\n return callback;\n },\n cancel: function (callback) {\n var index = toRunNextFrame.indexOf(callback);\n if (index !== -1)\n toRunNextFrame.splice(index, 1);\n toKeepAlive.delete(callback);\n },\n process: function (frameData) {\n var _a;\n isProcessing = true;\n _a = [toRunNextFrame, toRun], toRun = _a[0], toRunNextFrame = _a[1];\n toRunNextFrame.length = 0;\n numToRun = toRun.length;\n if (numToRun) {\n for (var i = 0; i < numToRun; i++) {\n var callback = toRun[i];\n callback(frameData);\n if (toKeepAlive.has(callback)) {\n step.schedule(callback);\n runNextFrame();\n }\n }\n }\n isProcessing = false;\n },\n };\n return step;\n}\n\nexport { createRenderStep };\n","/**\n * Converts seconds to milliseconds\n *\n * @param seconds - Time in seconds.\n * @return milliseconds - Converted time in milliseconds.\n */\nvar secondsToMilliseconds = function (seconds) { return seconds * 1000; };\n\nexport { secondsToMilliseconds };\n","import { __assign } from 'tslib';\nimport { distance, pipe } from 'popmotion';\nimport { isMouseEvent, isTouchEvent } from './utils/event-type.js';\nimport { extractEventInfo } from '../events/event-info.js';\nimport sync, { getFrameData, cancelSync } from 'framesync';\nimport { secondsToMilliseconds } from '../utils/time-conversion.js';\nimport { addPointerEvent } from '../events/use-pointer-event.js';\n\n/**\n * @internal\n */\nvar PanSession = /** @class */ (function () {\n function PanSession(event, handlers, _a) {\n var _this = this;\n var transformPagePoint = (_a === void 0 ? {} : _a).transformPagePoint;\n /**\n * @internal\n */\n this.startEvent = null;\n /**\n * @internal\n */\n this.lastMoveEvent = null;\n /**\n * @internal\n */\n this.lastMoveEventInfo = null;\n /**\n * @internal\n */\n this.handlers = {};\n this.updatePoint = function () {\n if (!(_this.lastMoveEvent && _this.lastMoveEventInfo))\n return;\n var info = getPanInfo(_this.lastMoveEventInfo, _this.history);\n var isPanStarted = _this.startEvent !== null;\n // Only start panning if the offset is larger than 3 pixels. If we make it\n // any larger than this we'll want to reset the pointer history\n // on the first update to avoid visual snapping to the cursoe.\n var isDistancePastThreshold = distance(info.offset, { x: 0, y: 0 }) >= 3;\n if (!isPanStarted && !isDistancePastThreshold)\n return;\n var point = info.point;\n var timestamp = getFrameData().timestamp;\n _this.history.push(__assign(__assign({}, point), { timestamp: timestamp }));\n var _a = _this.handlers, onStart = _a.onStart, onMove = _a.onMove;\n if (!isPanStarted) {\n onStart && onStart(_this.lastMoveEvent, info);\n _this.startEvent = _this.lastMoveEvent;\n }\n onMove && onMove(_this.lastMoveEvent, info);\n };\n this.handlePointerMove = function (event, info) {\n _this.lastMoveEvent = event;\n _this.lastMoveEventInfo = transformPoint(info, _this.transformPagePoint);\n // Because Safari doesn't trigger mouseup events when it's above a `\n \n )}\n
\n\n {\n setImpersonation(null);\n history.push('/empath/customers');\n }}\n type=\"button\"\n className=\"hidden px-2 mx-4 bg-white rounded md:block sm:mx-2 lg:mx-0 text-banner-red focus:ring-0 sm:justify-self-center\"\n >\n Exit Impersonation\n \n\n {\n setImpersonation(null);\n history.push('/customers');\n }}\n >\n \n \n \n );\n};\n\nexport default ImpersonationBanner;\n","function _taggedTemplateLiteral(e, t) {\n return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, {\n raw: {\n value: Object.freeze(t)\n }\n }));\n}\nexport { _taggedTemplateLiteral as default };","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Drop-in replacement for fast-xml-parser's XmlParser class used in the AWS SDK S3 client XML deserializer. This\n * implementation is not tested against the full xml conformance test suite. It is only tested against the XML responses\n * from S3. This implementation requires the `DOMParser` class in the runtime.\n */\nexport var parser = {\n parse: function (xmlStr) {\n var domParser = new DOMParser();\n var xml = domParser.parseFromString(xmlStr, 'text/xml');\n var parsedObj = parseXmlNode(xml);\n var rootKey = Object.keys(parsedObj)[0];\n return parsedObj[rootKey];\n },\n};\nvar parseXmlNode = function (node) {\n var _a;\n var _b, _c;\n if (isDocumentNode(node)) {\n return _a = {},\n _a[node.documentElement.nodeName] = parseXmlNode(node.documentElement),\n _a;\n }\n if (node.nodeType === Node.TEXT_NODE) {\n return (_b = node.nodeValue) === null || _b === void 0 ? void 0 : _b.trim();\n }\n if (isElementNode(node)) {\n // Node like foo will be converted to { Location: 'foo' }\n // instead of { Location: { '#text': 'foo' } }.\n if (isTextOnlyElementNode(node)) {\n return (_c = node.childNodes[0]) === null || _c === void 0 ? void 0 : _c.nodeValue;\n }\n var nodeValue = {};\n // convert attributes\n for (var i = 0; i < node.attributes.length; i++) {\n var attr = node.attributes[i];\n if (!isNamespaceAttributeName(attr.nodeName)) {\n nodeValue[attr.nodeName] = attr.nodeValue;\n }\n }\n // convert child nodes\n if (node.children.length > 0) {\n for (var i = 0; i < node.children.length; i++) {\n var child = node.children[i];\n var childValue = parseXmlNode(child);\n if (childValue === undefined) {\n continue;\n }\n var childName = child.nodeName;\n if (nodeValue[childName] === undefined) {\n nodeValue[childName] = childValue;\n }\n else if (Array.isArray(nodeValue[childName])) {\n nodeValue[childName].push(childValue);\n }\n else {\n nodeValue[childName] = [nodeValue[childName], childValue];\n }\n }\n }\n // Return empty element node as empty string instead of `{}`, which is the default behavior of fast-xml-parser.\n return Object.keys(nodeValue).length === 0 ? '' : nodeValue;\n }\n};\nvar isElementNode = function (node) {\n return node.nodeType === Node.ELEMENT_NODE;\n};\nvar isDocumentNode = function (node) {\n return node.nodeType === Node.DOCUMENT_NODE;\n};\nvar isTextOnlyElementNode = function (node) {\n var _a;\n return hasOnlyNamespaceAttributes(node) &&\n node.children.length === 0 &&\n ((_a = node.firstChild) === null || _a === void 0 ? void 0 : _a.nodeType) === Node.TEXT_NODE;\n};\nvar hasOnlyNamespaceAttributes = function (node) {\n for (var i = 0; i < node.attributes.length; i++) {\n var attr = node.attributes[i];\n if (!isNamespaceAttributeName(attr.nodeName)) {\n return false;\n }\n }\n return true;\n};\nvar isNamespaceAttributeName = function (name) {\n return name === 'xmlns' || name.startsWith('xmlns:');\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nimport { parseMetadata, } from '@aws-amplify/core/internals/aws-client-utils';\nimport { parser } from '../runtime';\nexport var parseXmlError = function (response) { return __awaiter(void 0, void 0, void 0, function () {\n var statusCode, body, code, message, error;\n var _a, _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (!response || response.statusCode < 300) {\n return [2 /*return*/];\n }\n statusCode = response.statusCode;\n return [4 /*yield*/, parseXmlBody(response)];\n case 1:\n body = _c.sent();\n code = (body === null || body === void 0 ? void 0 : body['Code'])\n ? body.Code\n : statusCode === 404\n ? 'NotFound'\n : statusCode.toString();\n message = (_b = (_a = body === null || body === void 0 ? void 0 : body['message']) !== null && _a !== void 0 ? _a : body === null || body === void 0 ? void 0 : body['Message']) !== null && _b !== void 0 ? _b : code;\n error = new Error(message);\n return [2 /*return*/, Object.assign(error, {\n name: code,\n $metadata: parseMetadata(response),\n })];\n }\n });\n}); };\nexport var parseXmlBody = function (response) { return __awaiter(void 0, void 0, void 0, function () {\n var data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!response.body) {\n // S3 can return 200 without a body indicating failure.\n throw new Error('S3 aborted request.');\n }\n return [4 /*yield*/, response.body.text()];\n case 1:\n data = _a.sent();\n if ((data === null || data === void 0 ? void 0 : data.length) > 0) {\n try {\n return [2 /*return*/, parser.parse(data)];\n }\n catch (error) {\n throw new Error('Failed to parse XML response.');\n }\n }\n return [2 /*return*/, {}];\n }\n });\n}); };\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { getAmplifyUserAgent } from '@aws-amplify/core';\nimport { getDnsSuffix, jitteredBackoff, getRetryDecider, } from '@aws-amplify/core/internals/aws-client-utils';\nimport { parseXmlError } from './utils';\nvar DOMAIN_PATTERN = /^[a-z0-9][a-z0-9\\.\\-]{1,61}[a-z0-9]$/;\nvar IP_ADDRESS_PATTERN = /(\\d+\\.){3}\\d+/;\nvar DOTS_PATTERN = /\\.\\./;\n/**\n * The service name used to sign requests if the API requires authentication.\n */\nexport var SERVICE_NAME = 's3';\n/**\n * The endpoint resolver function that returns the endpoint URL for a given region, and input parameters.\n */\nvar endpointResolver = function (options, apiInput) {\n var region = options.region, useAccelerateEndpoint = options.useAccelerateEndpoint, customEndpoint = options.customEndpoint, forcePathStyle = options.forcePathStyle;\n var endpoint;\n // 1. get base endpoint\n if (customEndpoint) {\n endpoint = new URL(customEndpoint);\n }\n else if (useAccelerateEndpoint) {\n if (forcePathStyle) {\n throw new Error('Path style URLs are not supported with S3 Transfer Acceleration.');\n }\n endpoint = new URL(\"https://s3-accelerate.\".concat(getDnsSuffix(region)));\n }\n else {\n endpoint = new URL(\"https://s3.\".concat(region, \".\").concat(getDnsSuffix(region)));\n }\n // 2. inject bucket name\n if (apiInput === null || apiInput === void 0 ? void 0 : apiInput.Bucket) {\n if (!isDnsCompatibleBucketName(apiInput.Bucket)) {\n throw new Error(\"Invalid bucket name: \\\"\".concat(apiInput.Bucket, \"\\\".\"));\n }\n if (forcePathStyle || apiInput.Bucket.includes('.')) {\n endpoint.pathname = \"/\".concat(apiInput.Bucket);\n }\n else {\n endpoint.host = \"\".concat(apiInput.Bucket, \".\").concat(endpoint.host);\n }\n }\n return { url: endpoint };\n};\n/**\n * Determines whether a given string is DNS compliant per the rules outlined by\n * S3. Length, capitaization, and leading dot restrictions are enforced by the\n * DOMAIN_PATTERN regular expression.\n * @internal\n *\n * @see https://github.com/aws/aws-sdk-js-v3/blob/f2da6182298d4d6b02e84fb723492c07c27469a8/packages/middleware-bucket-endpoint/src/bucketHostnameUtils.ts#L39-L48\n * @see https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html\n */\nexport var isDnsCompatibleBucketName = function (bucketName) {\n return DOMAIN_PATTERN.test(bucketName) &&\n !IP_ADDRESS_PATTERN.test(bucketName) &&\n !DOTS_PATTERN.test(bucketName);\n};\n/**\n * @internal\n */\nexport var defaultConfig = {\n service: SERVICE_NAME,\n endpointResolver: endpointResolver,\n retryDecider: getRetryDecider(parseXmlError),\n computeDelay: jitteredBackoff,\n userAgentValue: getAmplifyUserAgent(),\n useAccelerateEndpoint: false,\n uriEscapePath: false, // Required by S3. See https://github.com/aws/aws-sdk-js-v3/blob/9ba012dfa3a3429aa2db0f90b3b0b3a7a31f9bc3/packages/signature-v4/src/SignatureV4.ts#L76-L83\n};\n","import { fromUtf8 as jsFromUtf8, toUtf8 as jsToUtf8 } from \"./pureJs\";\nimport { fromUtf8 as textEncoderFromUtf8, toUtf8 as textEncoderToUtf8 } from \"./whatwgEncodingApi\";\n\ndeclare const TextDecoder: Function | undefined;\ndeclare const TextEncoder: Function | undefined;\n\nexport const fromUtf8 = (input: string): Uint8Array =>\n typeof TextEncoder === \"function\" ? textEncoderFromUtf8(input) : jsFromUtf8(input);\n\nexport const toUtf8 = (input: Uint8Array): string =>\n typeof TextDecoder === \"function\" ? textEncoderToUtf8(input) : jsToUtf8(input);\n","/**\n * A declaration of the global TextEncoder and TextDecoder constructors.\n *\n * @see https://encoding.spec.whatwg.org/\n */\n// eslint-disable-next-line @typescript-eslint/no-namespace\nnamespace Encoding {\n interface TextDecoderOptions {\n fatal?: boolean;\n ignoreBOM?: boolean;\n }\n\n interface TextDecodeOptions {\n stream?: boolean;\n }\n\n interface TextDecoder {\n readonly encoding: string;\n readonly fatal: boolean;\n readonly ignoreBOM: boolean;\n decode(input?: ArrayBuffer | ArrayBufferView, options?: TextDecodeOptions): string;\n }\n\n export interface TextDecoderConstructor {\n new (label?: string, options?: TextDecoderOptions): TextDecoder;\n }\n\n interface TextEncoder {\n readonly encoding: \"utf-8\";\n encode(input?: string): Uint8Array;\n }\n\n export interface TextEncoderConstructor {\n new (): TextEncoder;\n }\n}\n\ndeclare const TextDecoder: Encoding.TextDecoderConstructor;\n\ndeclare const TextEncoder: Encoding.TextEncoderConstructor;\n\nexport function fromUtf8(input: string): Uint8Array {\n return new TextEncoder().encode(input);\n}\n\nexport function toUtf8(input: Uint8Array): string {\n return new TextDecoder(\"utf-8\").decode(input);\n}\n","/**\n * Converts a JS string from its native UCS-2/UTF-16 representation into a\n * Uint8Array of the bytes used to represent the equivalent characters in UTF-8.\n *\n * Cribbed from the `goog.crypt.stringToUtf8ByteArray` function in the Google\n * Closure library, though updated to use typed arrays.\n */\nexport const fromUtf8 = (input: string): Uint8Array => {\n const bytes: Array = [];\n for (let i = 0, len = input.length; i < len; i++) {\n const value = input.charCodeAt(i);\n if (value < 0x80) {\n bytes.push(value);\n } else if (value < 0x800) {\n bytes.push((value >> 6) | 0b11000000, (value & 0b111111) | 0b10000000);\n } else if (i + 1 < input.length && (value & 0xfc00) === 0xd800 && (input.charCodeAt(i + 1) & 0xfc00) === 0xdc00) {\n const surrogatePair = 0x10000 + ((value & 0b1111111111) << 10) + (input.charCodeAt(++i) & 0b1111111111);\n bytes.push(\n (surrogatePair >> 18) | 0b11110000,\n ((surrogatePair >> 12) & 0b111111) | 0b10000000,\n ((surrogatePair >> 6) & 0b111111) | 0b10000000,\n (surrogatePair & 0b111111) | 0b10000000\n );\n } else {\n bytes.push((value >> 12) | 0b11100000, ((value >> 6) & 0b111111) | 0b10000000, (value & 0b111111) | 0b10000000);\n }\n }\n\n return Uint8Array.from(bytes);\n};\n\n/**\n * Converts a typed array of bytes containing UTF-8 data into a native JS\n * string.\n *\n * Partly cribbed from the `goog.crypt.utf8ByteArrayToString` function in the\n * Google Closure library, though updated to use typed arrays and to better\n * handle astral plane code points.\n */\nexport const toUtf8 = (input: Uint8Array): string => {\n let decoded = \"\";\n for (let i = 0, len = input.length; i < len; i++) {\n const byte = input[i];\n if (byte < 0x80) {\n decoded += String.fromCharCode(byte);\n } else if (0b11000000 <= byte && byte < 0b11100000) {\n const nextByte = input[++i];\n decoded += String.fromCharCode(((byte & 0b11111) << 6) | (nextByte & 0b111111));\n } else if (0b11110000 <= byte && byte < 0b101101101) {\n const surrogatePair = [byte, input[++i], input[++i], input[++i]];\n const encoded = \"%\" + surrogatePair.map((byteValue) => byteValue.toString(16)).join(\"%\");\n decoded += decodeURIComponent(encoded);\n } else {\n decoded += String.fromCharCode(\n ((byte & 0b1111) << 12) | ((input[++i] & 0b111111) << 6) | (input[++i] & 0b111111)\n );\n }\n }\n\n return decoded;\n};\n","/**\n * @internal\n */\nexport const BLOCK_SIZE = 64;\n\n/**\n * @internal\n */\nexport const DIGEST_LENGTH = 16;\n\n/**\n * @internal\n */\nexport const INIT = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476];\n","import { Hash, SourceData } from \"@aws-sdk/types\";\nimport { fromUtf8 } from \"@aws-sdk/util-utf8-browser\";\n\nimport { BLOCK_SIZE, DIGEST_LENGTH, INIT } from \"./constants\";\n\nexport class Md5 implements Hash {\n private state = Uint32Array.from(INIT);\n private buffer: DataView = new DataView(new ArrayBuffer(BLOCK_SIZE));\n private bufferLength = 0;\n private bytesHashed = 0;\n private finished = false;\n\n update(sourceData: SourceData): void {\n if (isEmptyData(sourceData)) {\n return;\n } else if (this.finished) {\n throw new Error(\"Attempted to update an already finished hash.\");\n }\n\n const data = convertToBuffer(sourceData);\n\n let position = 0;\n let { byteLength } = data;\n this.bytesHashed += byteLength;\n\n while (byteLength > 0) {\n this.buffer.setUint8(this.bufferLength++, data[position++]);\n byteLength--;\n\n if (this.bufferLength === BLOCK_SIZE) {\n this.hashBuffer();\n this.bufferLength = 0;\n }\n }\n }\n\n async digest(): Promise {\n if (!this.finished) {\n const { buffer, bufferLength: undecoratedLength, bytesHashed } = this;\n const bitsHashed = bytesHashed * 8;\n buffer.setUint8(this.bufferLength++, 0b10000000);\n\n // Ensure the final block has enough room for the hashed length\n if (undecoratedLength % BLOCK_SIZE >= BLOCK_SIZE - 8) {\n for (let i = this.bufferLength; i < BLOCK_SIZE; i++) {\n buffer.setUint8(i, 0);\n }\n this.hashBuffer();\n this.bufferLength = 0;\n }\n\n for (let i = this.bufferLength; i < BLOCK_SIZE - 8; i++) {\n buffer.setUint8(i, 0);\n }\n buffer.setUint32(BLOCK_SIZE - 8, bitsHashed >>> 0, true);\n buffer.setUint32(BLOCK_SIZE - 4, Math.floor(bitsHashed / 0x100000000), true);\n\n this.hashBuffer();\n\n this.finished = true;\n }\n\n const out = new DataView(new ArrayBuffer(DIGEST_LENGTH));\n for (let i = 0; i < 4; i++) {\n out.setUint32(i * 4, this.state[i], true);\n }\n\n return new Uint8Array(out.buffer, out.byteOffset, out.byteLength);\n }\n\n private hashBuffer(): void {\n const { buffer, state } = this;\n\n let a = state[0],\n b = state[1],\n c = state[2],\n d = state[3];\n\n a = ff(a, b, c, d, buffer.getUint32(0, true), 7, 0xd76aa478);\n d = ff(d, a, b, c, buffer.getUint32(4, true), 12, 0xe8c7b756);\n c = ff(c, d, a, b, buffer.getUint32(8, true), 17, 0x242070db);\n b = ff(b, c, d, a, buffer.getUint32(12, true), 22, 0xc1bdceee);\n a = ff(a, b, c, d, buffer.getUint32(16, true), 7, 0xf57c0faf);\n d = ff(d, a, b, c, buffer.getUint32(20, true), 12, 0x4787c62a);\n c = ff(c, d, a, b, buffer.getUint32(24, true), 17, 0xa8304613);\n b = ff(b, c, d, a, buffer.getUint32(28, true), 22, 0xfd469501);\n a = ff(a, b, c, d, buffer.getUint32(32, true), 7, 0x698098d8);\n d = ff(d, a, b, c, buffer.getUint32(36, true), 12, 0x8b44f7af);\n c = ff(c, d, a, b, buffer.getUint32(40, true), 17, 0xffff5bb1);\n b = ff(b, c, d, a, buffer.getUint32(44, true), 22, 0x895cd7be);\n a = ff(a, b, c, d, buffer.getUint32(48, true), 7, 0x6b901122);\n d = ff(d, a, b, c, buffer.getUint32(52, true), 12, 0xfd987193);\n c = ff(c, d, a, b, buffer.getUint32(56, true), 17, 0xa679438e);\n b = ff(b, c, d, a, buffer.getUint32(60, true), 22, 0x49b40821);\n\n a = gg(a, b, c, d, buffer.getUint32(4, true), 5, 0xf61e2562);\n d = gg(d, a, b, c, buffer.getUint32(24, true), 9, 0xc040b340);\n c = gg(c, d, a, b, buffer.getUint32(44, true), 14, 0x265e5a51);\n b = gg(b, c, d, a, buffer.getUint32(0, true), 20, 0xe9b6c7aa);\n a = gg(a, b, c, d, buffer.getUint32(20, true), 5, 0xd62f105d);\n d = gg(d, a, b, c, buffer.getUint32(40, true), 9, 0x02441453);\n c = gg(c, d, a, b, buffer.getUint32(60, true), 14, 0xd8a1e681);\n b = gg(b, c, d, a, buffer.getUint32(16, true), 20, 0xe7d3fbc8);\n a = gg(a, b, c, d, buffer.getUint32(36, true), 5, 0x21e1cde6);\n d = gg(d, a, b, c, buffer.getUint32(56, true), 9, 0xc33707d6);\n c = gg(c, d, a, b, buffer.getUint32(12, true), 14, 0xf4d50d87);\n b = gg(b, c, d, a, buffer.getUint32(32, true), 20, 0x455a14ed);\n a = gg(a, b, c, d, buffer.getUint32(52, true), 5, 0xa9e3e905);\n d = gg(d, a, b, c, buffer.getUint32(8, true), 9, 0xfcefa3f8);\n c = gg(c, d, a, b, buffer.getUint32(28, true), 14, 0x676f02d9);\n b = gg(b, c, d, a, buffer.getUint32(48, true), 20, 0x8d2a4c8a);\n\n a = hh(a, b, c, d, buffer.getUint32(20, true), 4, 0xfffa3942);\n d = hh(d, a, b, c, buffer.getUint32(32, true), 11, 0x8771f681);\n c = hh(c, d, a, b, buffer.getUint32(44, true), 16, 0x6d9d6122);\n b = hh(b, c, d, a, buffer.getUint32(56, true), 23, 0xfde5380c);\n a = hh(a, b, c, d, buffer.getUint32(4, true), 4, 0xa4beea44);\n d = hh(d, a, b, c, buffer.getUint32(16, true), 11, 0x4bdecfa9);\n c = hh(c, d, a, b, buffer.getUint32(28, true), 16, 0xf6bb4b60);\n b = hh(b, c, d, a, buffer.getUint32(40, true), 23, 0xbebfbc70);\n a = hh(a, b, c, d, buffer.getUint32(52, true), 4, 0x289b7ec6);\n d = hh(d, a, b, c, buffer.getUint32(0, true), 11, 0xeaa127fa);\n c = hh(c, d, a, b, buffer.getUint32(12, true), 16, 0xd4ef3085);\n b = hh(b, c, d, a, buffer.getUint32(24, true), 23, 0x04881d05);\n a = hh(a, b, c, d, buffer.getUint32(36, true), 4, 0xd9d4d039);\n d = hh(d, a, b, c, buffer.getUint32(48, true), 11, 0xe6db99e5);\n c = hh(c, d, a, b, buffer.getUint32(60, true), 16, 0x1fa27cf8);\n b = hh(b, c, d, a, buffer.getUint32(8, true), 23, 0xc4ac5665);\n\n a = ii(a, b, c, d, buffer.getUint32(0, true), 6, 0xf4292244);\n d = ii(d, a, b, c, buffer.getUint32(28, true), 10, 0x432aff97);\n c = ii(c, d, a, b, buffer.getUint32(56, true), 15, 0xab9423a7);\n b = ii(b, c, d, a, buffer.getUint32(20, true), 21, 0xfc93a039);\n a = ii(a, b, c, d, buffer.getUint32(48, true), 6, 0x655b59c3);\n d = ii(d, a, b, c, buffer.getUint32(12, true), 10, 0x8f0ccc92);\n c = ii(c, d, a, b, buffer.getUint32(40, true), 15, 0xffeff47d);\n b = ii(b, c, d, a, buffer.getUint32(4, true), 21, 0x85845dd1);\n a = ii(a, b, c, d, buffer.getUint32(32, true), 6, 0x6fa87e4f);\n d = ii(d, a, b, c, buffer.getUint32(60, true), 10, 0xfe2ce6e0);\n c = ii(c, d, a, b, buffer.getUint32(24, true), 15, 0xa3014314);\n b = ii(b, c, d, a, buffer.getUint32(52, true), 21, 0x4e0811a1);\n a = ii(a, b, c, d, buffer.getUint32(16, true), 6, 0xf7537e82);\n d = ii(d, a, b, c, buffer.getUint32(44, true), 10, 0xbd3af235);\n c = ii(c, d, a, b, buffer.getUint32(8, true), 15, 0x2ad7d2bb);\n b = ii(b, c, d, a, buffer.getUint32(36, true), 21, 0xeb86d391);\n\n state[0] = (a + state[0]) & 0xffffffff;\n state[1] = (b + state[1]) & 0xffffffff;\n state[2] = (c + state[2]) & 0xffffffff;\n state[3] = (d + state[3]) & 0xffffffff;\n }\n}\n\nfunction cmn(q: number, a: number, b: number, x: number, s: number, t: number) {\n a = (((a + q) & 0xffffffff) + ((x + t) & 0xffffffff)) & 0xffffffff;\n return (((a << s) | (a >>> (32 - s))) + b) & 0xffffffff;\n}\n\nfunction ff(a: number, b: number, c: number, d: number, x: number, s: number, t: number) {\n return cmn((b & c) | (~b & d), a, b, x, s, t);\n}\n\nfunction gg(a: number, b: number, c: number, d: number, x: number, s: number, t: number) {\n return cmn((b & d) | (c & ~d), a, b, x, s, t);\n}\n\nfunction hh(a: number, b: number, c: number, d: number, x: number, s: number, t: number) {\n return cmn(b ^ c ^ d, a, b, x, s, t);\n}\n\nfunction ii(a: number, b: number, c: number, d: number, x: number, s: number, t: number) {\n return cmn(c ^ (b | ~d), a, b, x, s, t);\n}\n\nfunction isEmptyData(data: SourceData): boolean {\n if (typeof data === \"string\") {\n return data.length === 0;\n }\n\n return data.byteLength === 0;\n}\n\nfunction convertToBuffer(data: SourceData): Uint8Array {\n if (typeof data === \"string\") {\n return fromUtf8(data);\n }\n\n if (ArrayBuffer.isView(data)) {\n return new Uint8Array(data.buffer, data.byteOffset, data.byteLength / Uint8Array.BYTES_PER_ELEMENT);\n }\n\n return new Uint8Array(data);\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Wraps encodeURIComponent to encode additional characters to fully adhere to RFC 3986.\n * @see https://github.com/aws/aws-sdk-js-v3/blob/86b432c464150069678b25ff88d57c2ca26e75a2/packages/smithy-client/src/extended-encode-uri-component.ts#L7\n *\n * @param uri URI string to encode\n * @returns RFC 3986 encoded string\n *\n * @internal\n */\nexport var extendedEncodeURIComponent = function (uri) {\n // Match characters normally not encoded by `encodeURIComponent`\n var extendedCharacters = /[!'()*]/g;\n return encodeURIComponent(uri).replace(extendedCharacters, hexEncode);\n};\nvar hexEncode = function (c) {\n return \"%\".concat(c.charCodeAt(0).toString(16).toUpperCase());\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nfunction bytesToBase64(bytes) {\n var base64Str = Array.from(bytes, function (x) { return String.fromCodePoint(x); }).join('');\n return btoa(base64Str);\n}\nexport function utf8Encode(input) {\n return new TextEncoder().encode(input);\n}\nexport function toBase64(input) {\n if (typeof input === 'string') {\n return bytesToBase64(utf8Encode(input));\n }\n return bytesToBase64(new Uint8Array(input.buffer, input.byteOffset, input.byteLength));\n}\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Md5 } from '@aws-sdk/md5-js';\nimport { extendedEncodeURIComponent } from '@aws-amplify/core/internals/aws-client-utils';\nimport { toBase64, utf8Encode } from '../utils';\n/**\n * @internal\n */\nexport var assignStringVariables = function (values) {\n var e_1, _a;\n var queryParams = {};\n try {\n for (var _b = __values(Object.entries(values)), _c = _b.next(); !_c.done; _c = _b.next()) {\n var _d = __read(_c.value, 2), key = _d[0], value = _d[1];\n if (value != null) {\n queryParams[key] = value.toString();\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return queryParams;\n};\nexport var serializeObjectSsecOptionsToHeaders = function (input) { return __awaiter(void 0, void 0, void 0, function () {\n var getMd5Digest, _a, _b, _c, _d;\n var _e;\n return __generator(this, function (_f) {\n switch (_f.label) {\n case 0:\n getMd5Digest = function (content) { return __awaiter(void 0, void 0, void 0, function () {\n var md5Hasher;\n return __generator(this, function (_a) {\n md5Hasher = new Md5();\n md5Hasher.update(utf8Encode(content));\n return [2 /*return*/, md5Hasher.digest()];\n });\n }); };\n _a = assignStringVariables;\n _e = {\n 'x-amz-server-side-encryption-customer-algorithm': input.SSECustomerAlgorithm,\n // base64 encoded is need\n // see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html#specifying-s3-c-encryption\n 'x-amz-server-side-encryption-customer-key': input.SSECustomerKey && toBase64(input.SSECustomerKey)\n };\n // Calculate the md5 digest of the the SSE-C key, for compatibility with AWS SDK\n // see: https://github.com/aws/aws-sdk-js-v3/blob/91fc83307c38cc9cbe0b3acd919557d5b5b831d6/packages/middleware-ssec/src/index.ts#L36\n _b = 'x-amz-server-side-encryption-customer-key-md5';\n _c = input.SSECustomerKey;\n if (!_c) return [3 /*break*/, 2];\n _d = toBase64;\n return [4 /*yield*/, getMd5Digest(input.SSECustomerKey)];\n case 1:\n _c = _d.apply(void 0, [_f.sent()]);\n _f.label = 2;\n case 2: return [2 /*return*/, _a.apply(void 0, [(\n // Calculate the md5 digest of the the SSE-C key, for compatibility with AWS SDK\n // see: https://github.com/aws/aws-sdk-js-v3/blob/91fc83307c38cc9cbe0b3acd919557d5b5b831d6/packages/middleware-ssec/src/index.ts#L36\n _e[_b] = _c,\n _e)])];\n }\n });\n}); };\n/**\n * Serailize the parameters for configuring the S3 object. Currently used by\n * `putObject` and `createMultipartUpload` API.\n *\n * @internal\n */\nexport var serializeObjectConfigsToHeaders = function (input) { return __awaiter(void 0, void 0, void 0, function () {\n var _a;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [{}];\n return [4 /*yield*/, serializeObjectSsecOptionsToHeaders(input)];\n case 1: return [2 /*return*/, (__assign.apply(void 0, [__assign.apply(void 0, _a.concat([(_c.sent())])), assignStringVariables(__assign({ 'x-amz-server-side-encryption': input.ServerSideEncryption, 'x-amz-server-side-encryption-aws-kms-key-id': input.SSEKMSKeyId, 'x-amz-acl': input.ACL, 'cache-control': input.CacheControl, 'content-disposition': input.ContentDisposition, 'content-language': input.ContentLanguage, 'content-encoding': input.ContentEncoding, 'content-type': input.ContentType, expires: (_b = input.Expires) === null || _b === void 0 ? void 0 : _b.toUTCString(), 'x-amz-tagging': input.Tagging }, serializeMetadata(input.Metadata)))]))];\n }\n });\n}); };\nvar serializeMetadata = function (metadata) {\n if (metadata === void 0) { metadata = {}; }\n return Object.keys(metadata).reduce(function (acc, suffix) {\n acc[\"x-amz-meta-\".concat(suffix.toLowerCase())] = metadata[suffix];\n return acc;\n }, {});\n};\n/**\n * Serialize the object key to a URL pathname.\n * @see https://github.com/aws/aws-sdk-js-v3/blob/7ed7101dcc4e81038b6c7f581162b959e6b33a04/clients/client-s3/src/protocols/Aws_restXml.ts#L1108\n *\n * @internal\n */\nexport var serializePathnameObjectKey = function (url, key) {\n return (url.pathname.replace(/\\/$/, '') +\n \"/\".concat(key.split('/').map(extendedEncodeURIComponent).join('/')));\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport var StorageErrorStrings;\n(function (StorageErrorStrings) {\n StorageErrorStrings[\"NO_CREDENTIALS\"] = \"No credentials\";\n StorageErrorStrings[\"NO_SRC_KEY\"] = \"source param should be an object with the property \\\"key\\\" with value of type string\";\n StorageErrorStrings[\"NO_DEST_KEY\"] = \"destination param should be an object with the property \\\"key\\\" with value of type string\";\n StorageErrorStrings[\"INVALID_BLOB\"] = \"Object must be an instance of Blob\";\n})(StorageErrorStrings || (StorageErrorStrings = {}));\nexport var AWSS3ProviderMultipartCopierErrors;\n(function (AWSS3ProviderMultipartCopierErrors) {\n AWSS3ProviderMultipartCopierErrors[\"CLEANUP_FAILED\"] = \"Multipart copy clean up failed\";\n AWSS3ProviderMultipartCopierErrors[\"NO_OBJECT_FOUND\"] = \"Object does not exist\";\n AWSS3ProviderMultipartCopierErrors[\"INVALID_QUEUESIZE\"] = \"Queue size must be a positive number\";\n AWSS3ProviderMultipartCopierErrors[\"NO_COPYSOURCE\"] = \"You must specify a copy source\";\n AWSS3ProviderMultipartCopierErrors[\"MAX_NUM_PARTS_EXCEEDED\"] = \"Only a maximum of 10000 parts are allowed\";\n})(AWSS3ProviderMultipartCopierErrors || (AWSS3ProviderMultipartCopierErrors = {}));\nexport var AWSS3ProviderUploadErrorStrings;\n(function (AWSS3ProviderUploadErrorStrings) {\n AWSS3ProviderUploadErrorStrings[\"UPLOAD_PAUSED_MESSAGE\"] = \"paused\";\n})(AWSS3ProviderUploadErrorStrings || (AWSS3ProviderUploadErrorStrings = {}));\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Returns a `Date` that is corrected for clock skew.\n *\n * @param systemClockOffset The offset of the system clock in milliseconds.\n *\n * @returns `Date` representing the current time adjusted by the system clock offset.\n *\n * @internal\n */\nexport var getSkewCorrectedDate = function (systemClockOffset) {\n return new Date(Date.now() + systemClockOffset);\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { isClockSkewed } from './isClockSkewed';\n/**\n * Returns the difference between clock time and the current system time if clock is skewed.\n *\n * @param clockTimeInMilliseconds Clock time in milliseconds.\n * @param currentSystemClockOffset Current system clock offset in milliseconds.\n *\n * @internal\n */\nexport var getUpdatedSystemClockOffset = function (clockTimeInMilliseconds, currentSystemClockOffset) {\n if (isClockSkewed(clockTimeInMilliseconds, currentSystemClockOffset)) {\n return clockTimeInMilliseconds - Date.now();\n }\n return currentSystemClockOffset;\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { getSkewCorrectedDate } from './getSkewCorrectedDate';\n// 5 mins in milliseconds. Ref: https://github.com/aws/aws-sdk-js-v3/blob/6c0f44fab30a1bb2134af47362a31332abc3666b/packages/middleware-signing/src/utils/isClockSkewed.ts#L10\nvar SKEW_WINDOW = 5 * 60 * 1000;\n/**\n * Checks if the provided date is within the skew window of 5 minutes.\n *\n * @param clockTimeInMilliseconds Time to check for skew in milliseconds.\n * @param clockOffsetInMilliseconds Offset to check clock against in milliseconds.\n *\n * @returns True if skewed. False otherwise.\n *\n * @internal\n */\nexport var isClockSkewed = function (clockTimeInMilliseconds, clockOffsetInMilliseconds) {\n return Math.abs(getSkewCorrectedDate(clockOffsetInMilliseconds).getTime() -\n clockTimeInMilliseconds) >= SKEW_WINDOW;\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nimport { signRequest } from './signer/signatureV4';\nimport { getSkewCorrectedDate } from './utils/getSkewCorrectedDate';\nimport { getUpdatedSystemClockOffset } from './utils/getUpdatedSystemClockOffset';\n/**\n * Middleware that SigV4 signs request with AWS credentials, and correct system clock offset.\n * This middleware is expected to be placed after retry middleware.\n */\nexport var signingMiddleware = function (_a) {\n var credentials = _a.credentials, region = _a.region, service = _a.service, _b = _a.uriEscapePath, uriEscapePath = _b === void 0 ? true : _b;\n var currentSystemClockOffset;\n return function (next) {\n return function signingMiddleware(request) {\n return __awaiter(this, void 0, void 0, function () {\n var signRequestOptions, _a, signedRequest, response, dateString;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n currentSystemClockOffset = currentSystemClockOffset !== null && currentSystemClockOffset !== void 0 ? currentSystemClockOffset : 0;\n _b = {};\n if (!(typeof credentials === 'function')) return [3 /*break*/, 2];\n return [4 /*yield*/, credentials()];\n case 1:\n _a = _c.sent();\n return [3 /*break*/, 3];\n case 2:\n _a = credentials;\n _c.label = 3;\n case 3:\n signRequestOptions = (_b.credentials = _a,\n _b.signingDate = getSkewCorrectedDate(currentSystemClockOffset),\n _b.signingRegion = region,\n _b.signingService = service,\n _b.uriEscapePath = uriEscapePath,\n _b);\n return [4 /*yield*/, signRequest(request, signRequestOptions)];\n case 4:\n signedRequest = _c.sent();\n return [4 /*yield*/, next(signedRequest)];\n case 5:\n response = _c.sent();\n dateString = getDateHeader(response);\n if (dateString) {\n currentSystemClockOffset = getUpdatedSystemClockOffset(Date.parse(dateString), currentSystemClockOffset);\n }\n return [2 /*return*/, response];\n }\n });\n });\n };\n };\n};\nvar getDateHeader = function (_a) {\n var _b, _c;\n var _d = _a === void 0 ? {} : _a, headers = _d.headers;\n return (_c = (_b = headers === null || headers === void 0 ? void 0 : headers.date) !== null && _b !== void 0 ? _b : headers === null || headers === void 0 ? void 0 : headers.Date) !== null && _c !== void 0 ? _c : headers === null || headers === void 0 ? void 0 : headers['x-amz-date'];\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport var SEND_UPLOAD_PROGRESS_EVENT = 'sendUploadProgress';\nexport var SEND_DOWNLOAD_PROGRESS_EVENT = 'sendDownloadProgress';\nexport var NETWORK_ERROR_MESSAGE = 'Network Error';\nexport var NETWORK_ERROR_CODE = 'ECONNABORTED';\nexport var ABORT_ERROR_MESSAGE = 'Request aborted';\nexport var ABORT_ERROR_CODE = 'ERR_ABORTED';\nexport var CANCELED_ERROR_MESSAGE = 'canceled';\nexport var CANCELED_ERROR_CODE = 'ERR_CANCELED';\nexport var CONTENT_SHA256_HEADER = 'x-amz-content-sha256';\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nimport { getHashedPayload, } from '@aws-amplify/core/internals/aws-client-utils';\nimport { CONTENT_SHA256_HEADER } from './constants';\n/**\n * A middleware that adds the x-amz-content-sha256 header to the request if it is not already present.\n * It's required for S3 requests in browsers where the request body is sent in 1 chunk.\n * @see https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-header-based-auth.html\n *\n * @internal\n */\nexport var contentSha256Middleware = function (options) { return function (next) {\n return function contentSha256Middleware(request) {\n return __awaiter(this, void 0, void 0, function () {\n var hash;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!request.headers[CONTENT_SHA256_HEADER]) return [3 /*break*/, 1];\n return [2 /*return*/, next(request)];\n case 1: return [4 /*yield*/, getHashedPayload(request.body)];\n case 2:\n hash = _a.sent();\n request.headers[CONTENT_SHA256_HEADER] = hash;\n return [2 /*return*/, next(request)];\n }\n });\n });\n };\n}; };\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nimport { withMemoization, } from '@aws-amplify/core/internals/aws-client-utils';\nimport { ConsoleLogger as Logger } from '@aws-amplify/core';\nimport { SEND_DOWNLOAD_PROGRESS_EVENT, SEND_UPLOAD_PROGRESS_EVENT, ABORT_ERROR_CODE, ABORT_ERROR_MESSAGE, CANCELED_ERROR_CODE, CANCELED_ERROR_MESSAGE, NETWORK_ERROR_CODE, NETWORK_ERROR_MESSAGE, } from './constants';\nvar logger = new Logger('xhr-http-handler');\n/**\n * Base transfer handler implementation using XMLHttpRequest to support upload and download progress events.\n *\n * @param request - The request object.\n * @param options - The request options.\n * @returns A promise that will be resolved with the response object.\n *\n * @internal\n */\nexport var xhrTransferHandler = function (request, options) {\n var url = request.url, method = request.method, headers = request.headers, body = request.body;\n var emitter = options.emitter, responseType = options.responseType, abortSignal = options.abortSignal;\n return new Promise(function (resolve, reject) {\n var _a;\n var xhr = new XMLHttpRequest();\n xhr.open(method.toUpperCase(), url.toString());\n Object.entries(headers)\n .filter(function (_a) {\n var _b = __read(_a, 1), header = _b[0];\n return !FORBIDDEN_HEADERS.includes(header);\n })\n .forEach(function (_a) {\n var _b = __read(_a, 2), header = _b[0], value = _b[1];\n xhr.setRequestHeader(header, value);\n });\n xhr.responseType = responseType;\n if (emitter) {\n xhr.upload.addEventListener('progress', function (event) {\n emitter.emit(SEND_UPLOAD_PROGRESS_EVENT, event);\n logger.debug(event);\n });\n xhr.addEventListener('progress', function (event) {\n emitter.emit(SEND_DOWNLOAD_PROGRESS_EVENT, event);\n logger.debug(event);\n });\n }\n xhr.addEventListener('error', function () {\n var error = simulateAxiosError(NETWORK_ERROR_MESSAGE, NETWORK_ERROR_CODE, xhr, options);\n logger.error(NETWORK_ERROR_MESSAGE);\n reject(error);\n xhr = null; // clean up request\n });\n // Handle browser request cancellation (as opposed to a manual cancellation)\n xhr.addEventListener('abort', function () {\n // The abort event can be triggered after the error or load event. So we need to check if the xhr is null.\n if (!xhr || (abortSignal === null || abortSignal === void 0 ? void 0 : abortSignal.aborted))\n return;\n var error = simulateAxiosError(ABORT_ERROR_MESSAGE, ABORT_ERROR_CODE, xhr, options);\n logger.error(ABORT_ERROR_MESSAGE);\n reject(error);\n xhr = null; // clean up request\n });\n // Skip handling timeout error since we don't have a timeout\n xhr.addEventListener('readystatechange', function () {\n if (!xhr || xhr.readyState !== xhr.DONE) {\n return;\n }\n var onloadend = function () {\n // The load event is triggered after the error/abort/load event. So we need to check if the xhr is null.\n if (!xhr)\n return;\n var responseHeaders = convertResponseHeaders(xhr.getAllResponseHeaders());\n var responseType = xhr.responseType;\n var responseBlob = xhr.response;\n var responseText = responseType === 'text' ? xhr.responseText : '';\n var bodyMixIn = {\n blob: function () { return Promise.resolve(responseBlob); },\n text: withMemoization(function () {\n return responseType === 'blob'\n ? readBlobAsText(responseBlob)\n : Promise.resolve(responseText);\n }),\n json: function () {\n return Promise.reject(\n // S3 does not support JSON response. So fail-fast here with nicer error message.\n new Error('Parsing response to JSON is not implemented. Please use response.text() instead.'));\n },\n };\n var response = {\n statusCode: xhr.status,\n headers: responseHeaders,\n // The xhr.responseType is only set to 'blob' for streaming binary S3 object data. The streaming data is\n // exposed via public interface of Storage.get(). So we need to return the response as a Blob object for\n // backward compatibility. In other cases, the response payload is only used internally, we return it is\n // {@link ResponseBodyMixin}\n body: (xhr.responseType === 'blob'\n ? Object.assign(responseBlob, bodyMixIn)\n : bodyMixIn),\n };\n resolve(response);\n xhr = null; // clean up request\n };\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n // @see https://github.com/axios/axios/blob/9588fcdec8aca45c3ba2f7968988a5d03f23168c/lib/adapters/xhr.js#L98-L99\n setTimeout(onloadend);\n });\n if (abortSignal) {\n var onCancelled = function () {\n // The abort event is triggered after the error or load event. So we need to check if the xhr is null.\n if (!xhr) {\n return;\n }\n var canceledError = simulateAxiosCanceledError(CANCELED_ERROR_MESSAGE !== null && CANCELED_ERROR_MESSAGE !== void 0 ? CANCELED_ERROR_MESSAGE : abortSignal.reason, CANCELED_ERROR_CODE, xhr, options);\n xhr.abort();\n reject(canceledError);\n xhr = null;\n };\n abortSignal.aborted\n ? onCancelled()\n : abortSignal.addEventListener('abort', onCancelled);\n }\n if (typeof ReadableStream === 'function' &&\n body instanceof ReadableStream) {\n // This does not matter as previous implementation uses Axios which does not support ReadableStream anyway.\n throw new Error('ReadableStream request payload is not supported.');\n }\n xhr.send((_a = body) !== null && _a !== void 0 ? _a : null);\n });\n};\n// TODO: V6 remove this\nvar simulateAxiosError = function (message, code, request, config) {\n return Object.assign(new Error(message), {\n code: code,\n config: config,\n request: request,\n });\n};\nvar simulateAxiosCanceledError = function (message, code, request, config) {\n var error = simulateAxiosError(message, code, request, config);\n error.name = 'CanceledError';\n error['__CANCEL__'] = true;\n return error;\n};\nexport var isCancelError = function (error) {\n return !!(error === null || error === void 0 ? void 0 : error['__CANCEL__']);\n};\n/**\n * Convert xhr.getAllResponseHeaders() string to a Record. Note that modern browser already returns\n * header names in lowercase.\n * @param xhrHeaders - string of headers returned from xhr.getAllResponseHeaders()\n */\nvar convertResponseHeaders = function (xhrHeaders) {\n if (!xhrHeaders) {\n return {};\n }\n return xhrHeaders\n .split('\\r\\n')\n .reduce(function (headerMap, line) {\n var parts = line.split(': ');\n var header = parts.shift();\n var value = parts.join(': ');\n headerMap[header.toLowerCase()] = value;\n return headerMap;\n }, {});\n};\nvar readBlobAsText = function (blob) {\n var reader = new FileReader();\n return new Promise(function (resolve, reject) {\n reader.onloadend = function () {\n if (reader.readyState !== FileReader.DONE) {\n return;\n }\n resolve(reader.result);\n };\n reader.onerror = function () {\n reject(reader.error);\n };\n reader.readAsText(blob);\n });\n};\n// To add more forbidden headers as found set by S3. Intentionally NOT list all of them here to save bundle size.\n// https://developer.mozilla.org/en-US/docs/Glossary/Forbidden_header_name\nvar FORBIDDEN_HEADERS = ['host'];\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { retryMiddleware, signingMiddleware, userAgentMiddleware, } from '@aws-amplify/core/internals/aws-client-utils';\nimport { composeTransferHandler } from '@aws-amplify/core/internals/aws-client-utils/composers';\nimport { contentSha256Middleware } from '../contentSha256middleware';\nimport { xhrTransferHandler } from '../xhrTransferHandler';\n/**\n * S3 transfer handler for browser and React Native based on XHR. On top of basic transfer handler, it also supports\n * x-amz-content-sha256 header, and request&response process tracking.\n *\n * @internal\n */\nexport var s3TransferHandler = composeTransferHandler(xhrTransferHandler, [\n contentSha256Middleware,\n userAgentMiddleware,\n retryMiddleware,\n signingMiddleware,\n]);\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nimport { parseMetadata, } from '@aws-amplify/core/internals/aws-client-utils';\nimport { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';\nimport { defaultConfig } from './base';\nimport { assignStringVariables, parseXmlBody, parseXmlError, s3TransferHandler, serializeObjectConfigsToHeaders, serializePathnameObjectKey, } from './utils';\nvar copyObjectSerializer = function (input, endpoint) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, _a, url;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _a = [{}];\n return [4 /*yield*/, serializeObjectConfigsToHeaders(input)];\n case 1:\n headers = __assign.apply(void 0, [__assign.apply(void 0, _a.concat([(_b.sent())])), assignStringVariables({\n 'x-amz-copy-source': input.CopySource,\n 'x-amz-metadata-directive': input.MetadataDirective,\n })]);\n url = new URL(endpoint.url.toString());\n url.pathname = serializePathnameObjectKey(url, input.Key);\n return [2 /*return*/, {\n method: 'PUT',\n headers: headers,\n url: url,\n }];\n }\n });\n}); };\nvar copyObjectDeserializer = function (response) { return __awaiter(void 0, void 0, void 0, function () {\n var error;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(response.statusCode >= 300)) return [3 /*break*/, 2];\n return [4 /*yield*/, parseXmlError(response)];\n case 1:\n error = _a.sent();\n throw error;\n case 2: return [4 /*yield*/, parseXmlBody(response)];\n case 3:\n _a.sent();\n return [2 /*return*/, {\n $metadata: parseMetadata(response),\n }];\n }\n });\n}); };\nexport var copyObject = composeServiceApi(s3TransferHandler, copyObjectSerializer, copyObjectDeserializer, __assign(__assign({}, defaultConfig), { responseType: 'text' }));\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\n/**\n * Maps an object to a new object using the provided instructions.\n * The instructions are a map of the returning mapped object's property names to a single instruction of how to map the\n * value from the original object to the new object. There are two types of instructions:\n *\n * 1. A string representing the property name of the original object to map to the new object. The value mapped from\n * the original object will be the same as the value in the new object, and it can ONLY be string.\n *\n * 2. An array of two elements. The first element is the property name of the original object to map to the new object.\n * The second element is a function that takes the value from the original object and returns the value to be mapped to\n * the new object. The function can return any type.\n *\n * Example:\n * ```typescript\n * const input = {\n * Foo: 'foo',\n * BarList: [{value: 'bar1'}, {value: 'bar2'}]\n * }\n * const output = map(input, {\n * someFoo: 'Foo',\n * bar: ['BarList', (barList) => barList.map(bar => bar.value)]\n * baz: 'Baz' // Baz does not exist in input, so it will not be in the output.\n * });\n * // output = { someFoo: 'foo', bar: ['bar1', 'bar2'] }\n * ```\n *\n * @param obj The object containing the data to compose mapped object.\n * @param instructions The instructions mapping the object values to the new object.\n * @returns A new object with the mapped values.\n *\n * @internal\n */\nexport var map = function (obj, instructions) {\n var e_1, _a;\n var result = {};\n try {\n for (var _b = __values(Object.entries(instructions)), _c = _b.next(); !_c.done; _c = _b.next()) {\n var _d = __read(_c.value, 2), key = _d[0], instruction = _d[1];\n var _e = __read(Array.isArray(instruction)\n ? instruction\n : [instruction], 2), accessor = _e[0], deserializer = _e[1];\n if (obj.hasOwnProperty(accessor)) {\n result[key] = deserializer\n ? deserializer(obj[accessor])\n : String(obj[accessor]);\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return result;\n};\n/**\n * Deserializes a string to a number. Returns undefined if input is undefined.\n *\n * @internal\n */\nexport var deserializeNumber = function (value) {\n return value ? Number(value) : undefined;\n};\n/**\n * Deserializes a string to a boolean. Returns undefined if input is undefined. Returns true if input is 'true',\n * otherwise false.\n *\n * @internal\n */\nexport var deserializeBoolean = function (value) {\n return value ? value === 'true' : undefined;\n};\n/**\n * Deserializes a string to a Date. Returns undefined if input is undefined.\n * It supports epoch timestamp; rfc3339(cannot have a UTC, fractional precision supported); rfc7231(section 7.1.1.1)\n *\n * @see https://www.epoch101.com/\n * @see https://datatracker.ietf.org/doc/html/rfc3339.html#section-5.6\n * @see https://datatracker.ietf.org/doc/html/rfc7231.html#section-7.1.1.1\n *\n * @note For bundle size consideration, we use Date constructor to parse the timestamp string. There might be slight\n * difference among browsers.\n *\n * @internal\n */\nexport var deserializeTimestamp = function (value) {\n return value ? new Date(value) : undefined;\n};\n/**\n * Function that makes sure the deserializer receives non-empty array.\n *\n * @internal\n */\nexport var emptyArrayGuard = function (value, deserializer) {\n if (value === '') {\n return [];\n }\n var valueArray = (Array.isArray(value) ? value : [value]).filter(function (e) { return e != null; });\n return deserializer(valueArray);\n};\n/**\n * @internal\n */\nexport var deserializeMetadata = function (headers) {\n var objectMetadataHeaderPrefix = 'x-amz-meta-';\n var deserialized = Object.keys(headers)\n .filter(function (header) { return header.startsWith(objectMetadataHeaderPrefix); })\n .reduce(function (acc, header) {\n acc[header.replace(objectMetadataHeaderPrefix, '')] = headers[header];\n return acc;\n }, {});\n return Object.keys(deserialized).length > 0 ? deserialized : undefined;\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nimport { parseMetadata, presignUrl, EMPTY_SHA256_HASH, } from '@aws-amplify/core/internals/aws-client-utils';\nimport { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';\nimport { USER_AGENT_HEADER } from '@aws-amplify/core';\nimport { defaultConfig } from './base';\nimport { deserializeBoolean, deserializeMetadata, deserializeNumber, deserializeTimestamp, map, parseXmlError, s3TransferHandler, serializeObjectSsecOptionsToHeaders, serializePathnameObjectKey, CONTENT_SHA256_HEADER, } from './utils';\nvar getObjectSerializer = function (input, endpoint) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, query, url;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, serializeObjectSsecOptionsToHeaders(input)];\n case 1:\n headers = _a.sent();\n query = map(input, {\n 'response-cache-control': 'ResponseCacheControl',\n 'response-content-disposition': 'ResponseContentDisposition',\n 'response-content-encoding': 'ResponseContentEncoding',\n 'response-content-language': 'ResponseContentLanguage',\n 'response-content-type': 'ResponseContentType',\n });\n url = new URL(endpoint.url.toString());\n url.pathname = serializePathnameObjectKey(url, input.Key);\n url.search = new URLSearchParams(query).toString();\n return [2 /*return*/, {\n method: 'GET',\n headers: headers,\n url: url,\n }];\n }\n });\n}); };\nvar getObjectDeserializer = function (response) { return __awaiter(void 0, void 0, void 0, function () {\n var error;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(response.statusCode >= 300)) return [3 /*break*/, 2];\n return [4 /*yield*/, parseXmlError(response)];\n case 1:\n error = _a.sent();\n throw error;\n case 2:\n if (!response.body) {\n throw new Error('Got empty response body.');\n }\n else {\n return [2 /*return*/, __assign(__assign({}, map(response.headers, {\n DeleteMarker: ['x-amz-delete-marker', deserializeBoolean],\n AcceptRanges: 'accept-ranges',\n Expiration: 'x-amz-expiration',\n Restore: 'x-amz-restore',\n LastModified: ['last-modified', deserializeTimestamp],\n ContentLength: ['content-length', deserializeNumber],\n ETag: 'etag',\n ChecksumCRC32: 'x-amz-checksum-crc32',\n ChecksumCRC32C: 'x-amz-checksum-crc32c',\n ChecksumSHA1: 'x-amz-checksum-sha1',\n ChecksumSHA256: 'x-amz-checksum-sha256',\n MissingMeta: ['x-amz-missing-meta', deserializeNumber],\n VersionId: 'x-amz-version-id',\n CacheControl: 'cache-control',\n ContentDisposition: 'content-disposition',\n ContentEncoding: 'content-encoding',\n ContentLanguage: 'content-language',\n ContentRange: 'content-range',\n ContentType: 'content-type',\n Expires: ['expires', deserializeTimestamp],\n WebsiteRedirectLocation: 'x-amz-website-redirect-location',\n ServerSideEncryption: 'x-amz-server-side-encryption',\n SSECustomerAlgorithm: 'x-amz-server-side-encryption-customer-algorithm',\n SSECustomerKeyMD5: 'x-amz-server-side-encryption-customer-key-md5',\n SSEKMSKeyId: 'x-amz-server-side-encryption-aws-kms-key-id',\n BucketKeyEnabled: [\n 'x-amz-server-side-encryption-bucket-key-enabled',\n deserializeBoolean,\n ],\n StorageClass: 'x-amz-storage-class',\n RequestCharged: 'x-amz-request-charged',\n ReplicationStatus: 'x-amz-replication-status',\n PartsCount: ['x-amz-mp-parts-count', deserializeNumber],\n TagCount: ['x-amz-tagging-count', deserializeNumber],\n ObjectLockMode: 'x-amz-object-lock-mode',\n ObjectLockRetainUntilDate: [\n 'x-amz-object-lock-retain-until-date',\n deserializeTimestamp,\n ],\n ObjectLockLegalHoldStatus: 'x-amz-object-lock-legal-hold',\n })), { Metadata: deserializeMetadata(response.headers), $metadata: parseMetadata(response), Body: response.body })];\n }\n _a.label = 3;\n case 3: return [2 /*return*/];\n }\n });\n}); };\nexport var getObject = composeServiceApi(s3TransferHandler, getObjectSerializer, getObjectDeserializer, __assign(__assign({}, defaultConfig), { responseType: 'blob' }));\n/**\n * Get a presigned URL for the `getObject` API.\n *\n * @internal\n */\nexport var getPresignedGetObjectUrl = function (config, input) { return __awaiter(void 0, void 0, void 0, function () {\n var endpoint, _a, url, headers, method, _b, _c, _d, headerName, value;\n var e_1, _e;\n var _f;\n return __generator(this, function (_g) {\n switch (_g.label) {\n case 0:\n endpoint = defaultConfig.endpointResolver(config, input);\n return [4 /*yield*/, getObjectSerializer(input, endpoint)];\n case 1:\n _a = _g.sent(), url = _a.url, headers = _a.headers, method = _a.method;\n // TODO: set content sha256 query parameter with value of UNSIGNED-PAYLOAD.\n // It requires changes in presignUrl. Without this change, the generated url still works,\n // but not the same as other tools like AWS SDK and CLI.\n url.searchParams.append(CONTENT_SHA256_HEADER, EMPTY_SHA256_HASH);\n url.searchParams.append((_f = config.userAgentHeader) !== null && _f !== void 0 ? _f : USER_AGENT_HEADER, config.userAgentValue);\n try {\n for (_b = __values(Object.entries(headers).sort(function (_a, _b) {\n var _c = __read(_a, 1), key1 = _c[0];\n var _d = __read(_b, 1), key2 = _d[0];\n return key1.localeCompare(key2);\n })), _c = _b.next(); !_c.done; _c = _b.next()) {\n _d = __read(_c.value, 2), headerName = _d[0], value = _d[1];\n url.searchParams.append(headerName, value);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_e = _b.return)) _e.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return [2 /*return*/, presignUrl({ method: method, url: url, body: null }, __assign(__assign({}, defaultConfig), config)).toString()];\n }\n });\n}); };\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nimport { parseMetadata, } from '@aws-amplify/core/internals/aws-client-utils';\nimport { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';\nimport { defaultConfig } from './base';\nimport { deserializeMetadata, deserializeNumber, deserializeTimestamp, map, parseXmlError, s3TransferHandler, serializeObjectSsecOptionsToHeaders, serializePathnameObjectKey, } from './utils';\nvar headObjectSerializer = function (input, endpoint) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, url;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, serializeObjectSsecOptionsToHeaders(input)];\n case 1:\n headers = _a.sent();\n url = new URL(endpoint.url.toString());\n url.pathname = serializePathnameObjectKey(url, input.Key);\n return [2 /*return*/, {\n method: 'HEAD',\n headers: headers,\n url: url,\n }];\n }\n });\n}); };\nvar headObjectDeserializer = function (response) { return __awaiter(void 0, void 0, void 0, function () {\n var error, contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(response.statusCode >= 300)) return [3 /*break*/, 2];\n return [4 /*yield*/, parseXmlError(response)];\n case 1:\n error = _a.sent();\n throw error;\n case 2:\n contents = __assign(__assign({}, map(response.headers, {\n ContentLength: ['content-length', deserializeNumber],\n ContentType: 'content-type',\n ETag: 'etag',\n LastModified: ['last-modified', deserializeTimestamp],\n VersionId: 'x-amz-version-id',\n })), { Metadata: deserializeMetadata(response.headers) });\n return [2 /*return*/, __assign({ $metadata: parseMetadata(response) }, contents)];\n }\n });\n}); };\nexport var headObject = composeServiceApi(s3TransferHandler, headObjectSerializer, headObjectDeserializer, __assign(__assign({}, defaultConfig), { responseType: 'text' }));\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nimport { parseMetadata, } from '@aws-amplify/core/internals/aws-client-utils';\nimport { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';\nimport { defaultConfig } from './base';\nimport { deserializeBoolean, map, parseXmlError, s3TransferHandler, serializePathnameObjectKey, } from './utils';\nvar deleteObjectSerializer = function (input, endpoint) {\n var url = new URL(endpoint.url.toString());\n url.pathname = serializePathnameObjectKey(url, input.Key);\n return {\n method: 'DELETE',\n headers: {},\n url: url,\n };\n};\nvar deleteObjectDeserializer = function (response) { return __awaiter(void 0, void 0, void 0, function () {\n var error, content;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(response.statusCode >= 300)) return [3 /*break*/, 2];\n return [4 /*yield*/, parseXmlError(response)];\n case 1:\n error = _a.sent();\n throw error;\n case 2:\n content = map(response.headers, {\n DeleteMarker: ['x-amz-delete-marker', deserializeBoolean],\n VersionId: 'x-amz-version-id',\n RequestCharged: 'x-amz-request-charged',\n });\n return [2 /*return*/, __assign(__assign({}, content), { $metadata: parseMetadata(response) })];\n }\n });\n}); };\nexport var deleteObject = composeServiceApi(s3TransferHandler, deleteObjectSerializer, deleteObjectDeserializer, __assign(__assign({}, defaultConfig), { responseType: 'text' }));\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nimport { parseMetadata, } from '@aws-amplify/core/internals/aws-client-utils';\nimport { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';\nimport { defaultConfig } from './base';\nimport { assignStringVariables, deserializeBoolean, deserializeNumber, deserializeTimestamp, emptyArrayGuard, map, parseXmlBody, parseXmlError, s3TransferHandler, } from './utils';\nvar listObjectsV2Serializer = function (input, endpoint) {\n var headers = assignStringVariables({\n 'x-amz-request-payer': input.RequestPayer,\n 'x-amz-expected-bucket-owner': input.ExpectedBucketOwner,\n });\n var query = assignStringVariables({\n 'list-type': '2',\n 'continuation-token': input.ContinuationToken,\n delimiter: input.Delimiter,\n 'encoding-type': input.EncodingType,\n 'fetch-owner': input.FetchOwner,\n 'max-keys': input.MaxKeys,\n prefix: input.Prefix,\n 'start-after': input.StartAfter,\n });\n var url = new URL(endpoint.url.toString());\n url.search = new URLSearchParams(query).toString();\n return {\n method: 'GET',\n headers: headers,\n url: url,\n };\n};\nvar listObjectsV2Deserializer = function (response) { return __awaiter(void 0, void 0, void 0, function () {\n var error, parsed, contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(response.statusCode >= 300)) return [3 /*break*/, 2];\n return [4 /*yield*/, parseXmlError(response)];\n case 1:\n error = _a.sent();\n throw error;\n case 2: return [4 /*yield*/, parseXmlBody(response)];\n case 3:\n parsed = _a.sent();\n contents = map(parsed, {\n CommonPrefixes: [\n 'CommonPrefixes',\n function (value) { return emptyArrayGuard(value, deserializeCommonPrefixList); },\n ],\n Contents: [\n 'Contents',\n function (value) { return emptyArrayGuard(value, deserializeObjectList); },\n ],\n ContinuationToken: 'ContinuationToken',\n Delimiter: 'Delimiter',\n EncodingType: 'EncodingType',\n IsTruncated: ['IsTruncated', deserializeBoolean],\n KeyCount: ['KeyCount', deserializeNumber],\n MaxKeys: ['MaxKeys', deserializeNumber],\n Name: 'Name',\n NextContinuationToken: 'NextContinuationToken',\n Prefix: 'Prefix',\n StartAfter: 'StartAfter',\n });\n return [2 /*return*/, __assign({ $metadata: parseMetadata(response) }, contents)];\n }\n });\n}); };\nvar deserializeCommonPrefixList = function (output) {\n return output.map(deserializeCommonPrefix);\n};\nvar deserializeCommonPrefix = function (output) {\n return map(output, {\n Prefix: 'Prefix',\n });\n};\nvar deserializeObjectList = function (output) { return output.map(deserializeObject); };\nvar deserializeObject = function (output) {\n return map(output, {\n Key: 'Key',\n LastModified: ['LastModified', deserializeTimestamp],\n ETag: 'ETag',\n ChecksumAlgorithm: [\n 'ChecksumAlgorithm',\n function (value) { return emptyArrayGuard(value, deserializeChecksumAlgorithmList); },\n ],\n Size: ['Size', deserializeNumber],\n StorageClass: 'StorageClass',\n Owner: ['Owner', deserializeOwner],\n });\n};\nvar deserializeChecksumAlgorithmList = function (output) {\n return output.map(function (entry) { return String(entry); });\n};\nvar deserializeOwner = function (output) {\n return map(output, { DisplayName: 'DisplayName', ID: 'ID' });\n};\nexport var listObjectsV2 = composeServiceApi(s3TransferHandler, listObjectsV2Serializer, listObjectsV2Deserializer, __assign(__assign({}, defaultConfig), { responseType: 'text' }));\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport var AMPLIFY_SYMBOL = (typeof Symbol !== 'undefined' && typeof Symbol.for === 'function'\n ? Symbol.for('amplify_default')\n : '@@amplify_default');\nexport var localTestingStorageEndpoint = 'http://localhost:20005';\nexport var UPLOADS_STORAGE_KEY = '__uploadInProgress';\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nimport { Logger } from '@aws-amplify/core';\nimport { createMultipartUpload, uploadPart, listObjectsV2, listParts, completeMultipartUpload, abortMultipartUpload, } from '../AwsClients/S3';\nimport { isCancelError, CANCELED_ERROR_MESSAGE } from '../AwsClients/S3/utils';\nimport { calculatePartSize, DEFAULT_PART_SIZE, DEFAULT_QUEUE_SIZE, MAX_OBJECT_SIZE, } from '../common/S3ClientUtils';\nimport { byteLength, isFile } from '../common/StorageUtils';\nimport { UPLOADS_STORAGE_KEY } from '../common/StorageConstants';\nvar logger = new Logger('AWSS3UploadTask');\nexport var AWSS3UploadTaskState;\n(function (AWSS3UploadTaskState) {\n AWSS3UploadTaskState[AWSS3UploadTaskState[\"INIT\"] = 0] = \"INIT\";\n AWSS3UploadTaskState[AWSS3UploadTaskState[\"IN_PROGRESS\"] = 1] = \"IN_PROGRESS\";\n AWSS3UploadTaskState[AWSS3UploadTaskState[\"PAUSED\"] = 2] = \"PAUSED\";\n AWSS3UploadTaskState[AWSS3UploadTaskState[\"CANCELLED\"] = 3] = \"CANCELLED\";\n AWSS3UploadTaskState[AWSS3UploadTaskState[\"COMPLETED\"] = 4] = \"COMPLETED\";\n})(AWSS3UploadTaskState || (AWSS3UploadTaskState = {}));\nexport var TaskEvents;\n(function (TaskEvents) {\n TaskEvents[\"CANCEL\"] = \"cancel\";\n TaskEvents[\"UPLOAD_COMPLETE\"] = \"uploadComplete\";\n TaskEvents[\"UPLOAD_PROGRESS\"] = \"uploadPartProgress\";\n TaskEvents[\"ERROR\"] = \"error\";\n})(TaskEvents || (TaskEvents = {}));\nfunction comparePartNumber(a, b) {\n return a.PartNumber - b.PartNumber;\n}\nvar AWSS3UploadTask = /** @class */ (function () {\n function AWSS3UploadTask(_a) {\n var s3Config = _a.s3Config, file = _a.file, emitter = _a.emitter, storage = _a.storage, params = _a.params, level = _a.level, prefixPromise = _a.prefixPromise;\n this.queueSize = DEFAULT_QUEUE_SIZE;\n this.partSize = DEFAULT_PART_SIZE;\n this.inProgress = [];\n this.completedParts = [];\n this.queued = [];\n this.bytesUploaded = 0;\n this.totalBytes = 0;\n this.state = AWSS3UploadTaskState.INIT;\n this.prefixPromise = prefixPromise;\n this.s3Config = s3Config;\n this.storage = storage;\n this.storageSync = Promise.resolve();\n if (typeof this.storage['sync'] === 'function') {\n this.storageSync = this.storage['sync']();\n }\n this.params = params;\n this.file = file;\n this.totalBytes = this.file.size;\n this.bytesUploaded = 0;\n this.emitter = emitter;\n this.queued = [];\n this.fileId = this._getFileId(level);\n this._validateParams();\n // event emitter will re-throw an error if an event emits an error unless there's a listener, attaching a no-op\n // function to it unless user adds their own onError callback\n this.emitter.on(TaskEvents.ERROR, function () { });\n }\n Object.defineProperty(AWSS3UploadTask.prototype, \"percent\", {\n get: function () {\n return (this.bytesUploaded / this.totalBytes) * 100;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(AWSS3UploadTask.prototype, \"isInProgress\", {\n get: function () {\n return this.state === AWSS3UploadTaskState.IN_PROGRESS;\n },\n enumerable: false,\n configurable: true\n });\n AWSS3UploadTask.prototype._listSingleFile = function (_a) {\n var key = _a.key, bucket = _a.bucket;\n return __awaiter(this, void 0, void 0, function () {\n var objectKeyPrefix, _b, Contents, obj;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4 /*yield*/, this.prefixPromise];\n case 1:\n objectKeyPrefix = _c.sent();\n return [4 /*yield*/, listObjectsV2(this.s3Config, {\n Bucket: bucket,\n Prefix: objectKeyPrefix + key,\n })];\n case 2:\n _b = (_c.sent()).Contents, Contents = _b === void 0 ? [] : _b;\n obj = Contents.find(function (o) { return o.Key === \"\".concat(objectKeyPrefix).concat(key); });\n return [2 /*return*/, obj];\n }\n });\n });\n };\n AWSS3UploadTask.prototype._getFileId = function (level) {\n // We should check if it's a File first because File is also instance of a Blob\n if (isFile(this.file)) {\n return [\n this.file.name,\n this.file.lastModified,\n this.file.size,\n this.file.type,\n this.params.Bucket,\n level,\n this.params.Key,\n ].join('-');\n }\n else {\n return [\n this.file.size,\n this.file.type,\n this.params.Bucket,\n level,\n this.params.Key,\n ].join('-');\n }\n };\n AWSS3UploadTask.prototype._findCachedUploadParts = function () {\n return __awaiter(this, void 0, void 0, function () {\n var uploadRequests, cachedUploadFileData, _a, Parts, _b, _c;\n var _d;\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0: return [4 /*yield*/, this._listCachedUploadTasks()];\n case 1:\n uploadRequests = _e.sent();\n if (Object.keys(uploadRequests).length === 0 ||\n !Object.prototype.hasOwnProperty.call(uploadRequests, this.fileId)) {\n return [2 /*return*/, { parts: [], uploadId: null }];\n }\n cachedUploadFileData = uploadRequests[this.fileId];\n cachedUploadFileData.lastTouched = Date.now();\n this.storage.setItem(UPLOADS_STORAGE_KEY, JSON.stringify(uploadRequests));\n _b = listParts;\n _c = [this.s3Config];\n _d = {\n Bucket: this.params.Bucket\n };\n return [4 /*yield*/, this.prefixPromise];\n case 2: return [4 /*yield*/, _b.apply(void 0, _c.concat([(_d.Key = (_e.sent()) + this.params.Key,\n _d.UploadId = cachedUploadFileData.uploadId,\n _d)]))];\n case 3:\n _a = (_e.sent()).Parts, Parts = _a === void 0 ? [] : _a;\n return [2 /*return*/, {\n parts: Parts,\n uploadId: cachedUploadFileData.uploadId,\n }];\n }\n });\n });\n };\n AWSS3UploadTask.prototype._emitEvent = function (event, payload) {\n this.emitter.emit(event, payload);\n };\n AWSS3UploadTask.prototype._validateParams = function () {\n if (this.totalBytes > MAX_OBJECT_SIZE) {\n throw new Error(\"File size bigger than S3 Object limit of 5TB, got \".concat(this.totalBytes, \" Bytes\"));\n }\n };\n AWSS3UploadTask.prototype._listCachedUploadTasks = function () {\n return __awaiter(this, void 0, void 0, function () {\n var tasks;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.storageSync];\n case 1:\n _a.sent();\n tasks = this.storage.getItem(UPLOADS_STORAGE_KEY) || '{}';\n return [2 /*return*/, JSON.parse(tasks)];\n }\n });\n });\n };\n AWSS3UploadTask.prototype._cache = function (fileMetadata) {\n return __awaiter(this, void 0, void 0, function () {\n var uploadRequests;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this._listCachedUploadTasks()];\n case 1:\n uploadRequests = _a.sent();\n uploadRequests[this.fileId] = fileMetadata;\n this.storage.setItem(UPLOADS_STORAGE_KEY, JSON.stringify(uploadRequests));\n return [2 /*return*/];\n }\n });\n });\n };\n AWSS3UploadTask.prototype._isCached = function () {\n return __awaiter(this, void 0, void 0, function () {\n var _a, _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _b = (_a = Object.prototype.hasOwnProperty).call;\n return [4 /*yield*/, this._listCachedUploadTasks()];\n case 1: return [2 /*return*/, _b.apply(_a, [_c.sent(), this.fileId])];\n }\n });\n });\n };\n AWSS3UploadTask.prototype._removeFromCache = function () {\n return __awaiter(this, void 0, void 0, function () {\n var uploadRequests;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this._listCachedUploadTasks()];\n case 1:\n uploadRequests = _a.sent();\n delete uploadRequests[this.fileId];\n this.storage.setItem(UPLOADS_STORAGE_KEY, JSON.stringify(uploadRequests));\n return [2 /*return*/];\n }\n });\n });\n };\n AWSS3UploadTask.prototype._onPartUploadCompletion = function (_a) {\n var eTag = _a.eTag, partNumber = _a.partNumber, chunk = _a.chunk;\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_b) {\n this.completedParts.push({\n ETag: eTag,\n PartNumber: partNumber,\n });\n this.bytesUploaded += byteLength(chunk);\n this._emitEvent(TaskEvents.UPLOAD_PROGRESS, {\n loaded: this.bytesUploaded,\n total: this.totalBytes,\n });\n // Remove the completed item from the inProgress array\n this.inProgress = this.inProgress.filter(function (job) { return job.uploadPartInput.PartNumber !== partNumber; });\n if (this.queued.length && this.state !== AWSS3UploadTaskState.PAUSED)\n this._startNextPart();\n if (this._isDone())\n this._completeUpload();\n return [2 /*return*/];\n });\n });\n };\n AWSS3UploadTask.prototype._completeUpload = function () {\n return __awaiter(this, void 0, void 0, function () {\n var _a, _b, err_1;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _d.trys.push([0, 4, , 5]);\n _a = completeMultipartUpload;\n _b = [this.s3Config];\n _c = {\n Bucket: this.params.Bucket\n };\n return [4 /*yield*/, this.prefixPromise];\n case 1: return [4 /*yield*/, _a.apply(void 0, _b.concat([(_c.Key = (_d.sent()) + this.params.Key,\n _c.UploadId = this.uploadId,\n _c.MultipartUpload = {\n // Parts are not always completed in order, we need to manually sort them\n Parts: __spreadArray([], __read(this.completedParts), false).sort(comparePartNumber),\n },\n _c)]))];\n case 2:\n _d.sent();\n return [4 /*yield*/, this._verifyFileSize()];\n case 3:\n _d.sent();\n this._emitEvent(TaskEvents.UPLOAD_COMPLETE, {\n key: this.params.Key,\n });\n this._removeFromCache();\n this.state = AWSS3UploadTaskState.COMPLETED;\n return [3 /*break*/, 5];\n case 4:\n err_1 = _d.sent();\n logger.error('error completing upload', err_1);\n this._emitEvent(TaskEvents.ERROR, err_1);\n return [3 /*break*/, 5];\n case 5: return [2 /*return*/];\n }\n });\n });\n };\n AWSS3UploadTask.prototype._makeUploadPartRequest = function (input, abortSignal) {\n return __awaiter(this, void 0, void 0, function () {\n var res, _a, _b, _c, err_2;\n var _d;\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n _e.trys.push([0, 4, , 5]);\n _a = uploadPart;\n _b = [__assign(__assign({}, this.s3Config), { abortSignal: abortSignal })];\n _c = [__assign({}, input)];\n _d = {};\n return [4 /*yield*/, this.prefixPromise];\n case 1: return [4 /*yield*/, _a.apply(void 0, _b.concat([__assign.apply(void 0, _c.concat([(_d.Key = (_e.sent()) + this.params.Key, _d)]))]))];\n case 2:\n res = _e.sent();\n return [4 /*yield*/, this._onPartUploadCompletion({\n eTag: res.ETag,\n partNumber: input.PartNumber,\n chunk: input.Body,\n })];\n case 3:\n _e.sent();\n return [3 /*break*/, 5];\n case 4:\n err_2 = _e.sent();\n if (this.state === AWSS3UploadTaskState.PAUSED) {\n logger.log('upload paused');\n }\n else if (this.state === AWSS3UploadTaskState.CANCELLED) {\n logger.log('upload aborted');\n }\n else {\n logger.error('error starting next part of upload: ', err_2);\n }\n // xhr transfer handlers' cancel will also throw an error, however we don't need to emit an event in that case as it's an\n // expected behavior\n if (!isCancelError(err_2) && err_2.message !== CANCELED_ERROR_MESSAGE) {\n this._emitEvent(TaskEvents.ERROR, err_2);\n this.pause();\n }\n return [3 /*break*/, 5];\n case 5: return [2 /*return*/];\n }\n });\n });\n };\n AWSS3UploadTask.prototype._startNextPart = function () {\n if (this.queued.length > 0 && this.state !== AWSS3UploadTaskState.PAUSED) {\n var abortController = new AbortController();\n var nextPart = this.queued.shift();\n this.inProgress.push({\n uploadPartInput: nextPart,\n s3Request: this._makeUploadPartRequest(nextPart, abortController.signal),\n abortController: abortController,\n });\n }\n };\n /**\n * Verify on S3 side that the file size matches the one on the client side.\n *\n * @async\n * @throws throws an error if the file size does not match between local copy of the file and the file on s3.\n */\n AWSS3UploadTask.prototype._verifyFileSize = function () {\n return __awaiter(this, void 0, void 0, function () {\n var valid, obj, e_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this._listSingleFile({\n key: this.params.Key,\n bucket: this.params.Bucket,\n })];\n case 1:\n obj = _a.sent();\n valid = Boolean(obj && obj.Size === this.file.size);\n return [3 /*break*/, 3];\n case 2:\n e_1 = _a.sent();\n logger.log('Could not get file on s3 for size matching: ', e_1);\n // Don't gate verification on auth or other errors\n // unrelated to file size verification\n return [2 /*return*/];\n case 3:\n if (!valid) {\n throw new Error('File size does not match between local file and file on s3');\n }\n return [2 /*return*/];\n }\n });\n });\n };\n AWSS3UploadTask.prototype._isDone = function () {\n return (!this.queued.length &&\n !this.inProgress.length &&\n this.bytesUploaded === this.totalBytes);\n };\n AWSS3UploadTask.prototype._createParts = function () {\n var size = this.file.size;\n var parts = [];\n for (var bodyStart = 0; bodyStart < size;) {\n var bodyEnd = Math.min(bodyStart + this.partSize, size);\n parts.push({\n Body: this.file.slice(bodyStart, bodyEnd),\n Key: this.params.Key,\n Bucket: this.params.Bucket,\n PartNumber: parts.length + 1,\n UploadId: this.uploadId,\n });\n bodyStart += this.partSize;\n }\n return parts;\n };\n AWSS3UploadTask.prototype._initCachedUploadParts = function (cachedParts) {\n this.bytesUploaded += cachedParts.reduce(function (acc, part) { return acc + part.Size; }, 0);\n // Find the set of part numbers that have already been uploaded\n var uploadedPartNumSet = new Set(cachedParts.map(function (part) { return part.PartNumber; }));\n this.queued = this.queued.filter(function (part) { return !uploadedPartNumSet.has(part.PartNumber); });\n this.completedParts = cachedParts.map(function (part) { return ({\n PartNumber: part.PartNumber,\n ETag: part.ETag,\n }); });\n this._emitEvent(TaskEvents.UPLOAD_PROGRESS, {\n loaded: this.bytesUploaded,\n total: this.totalBytes,\n });\n };\n AWSS3UploadTask.prototype._initMultipartUpload = function () {\n return __awaiter(this, void 0, void 0, function () {\n var res, _a, _b, _c;\n var _d;\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n _a = createMultipartUpload;\n _b = [this.s3Config];\n _c = [__assign({}, this.params)];\n _d = {};\n return [4 /*yield*/, this.prefixPromise];\n case 1: return [4 /*yield*/, _a.apply(void 0, _b.concat([__assign.apply(void 0, _c.concat([(_d.Key = (_e.sent()) + this.params.Key, _d)]))]))];\n case 2:\n res = _e.sent();\n this._cache({\n uploadId: res.UploadId,\n lastTouched: Date.now(),\n bucket: this.params.Bucket,\n key: this.params.Key,\n fileName: this.file instanceof File ? this.file.name : '',\n });\n return [2 /*return*/, res.UploadId];\n }\n });\n });\n };\n AWSS3UploadTask.prototype._initializeUploadTask = function () {\n return __awaiter(this, void 0, void 0, function () {\n var _a, parts, uploadId, uploadId, err_3;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n this.state = AWSS3UploadTaskState.IN_PROGRESS;\n this.partSize = calculatePartSize(this.totalBytes);\n _b.label = 1;\n case 1:\n _b.trys.push([1, 7, , 8]);\n return [4 /*yield*/, this._isCached()];\n case 2:\n if (!_b.sent()) return [3 /*break*/, 4];\n return [4 /*yield*/, this._findCachedUploadParts()];\n case 3:\n _a = _b.sent(), parts = _a.parts, uploadId = _a.uploadId;\n this.uploadId = uploadId;\n this.queued = this._createParts();\n this._initCachedUploadParts(parts);\n if (this._isDone()) {\n this._completeUpload();\n }\n else {\n this._startUpload();\n }\n return [3 /*break*/, 6];\n case 4:\n if (!!this.uploadId) return [3 /*break*/, 6];\n return [4 /*yield*/, this._initMultipartUpload()];\n case 5:\n uploadId = _b.sent();\n this.uploadId = uploadId;\n this.queued = this._createParts();\n this._startUpload();\n _b.label = 6;\n case 6: return [3 /*break*/, 8];\n case 7:\n err_3 = _b.sent();\n if (!isCancelError(err_3)) {\n logger.error('Error initializing the upload task', err_3);\n this._emitEvent(TaskEvents.ERROR, err_3);\n }\n return [3 /*break*/, 8];\n case 8: return [2 /*return*/];\n }\n });\n });\n };\n AWSS3UploadTask.prototype.resume = function () {\n if (this.state === AWSS3UploadTaskState.CANCELLED) {\n logger.warn('This task has already been cancelled');\n }\n else if (this.state === AWSS3UploadTaskState.COMPLETED) {\n logger.warn('This task has already been completed');\n }\n else if (this.state === AWSS3UploadTaskState.IN_PROGRESS) {\n logger.warn('Upload task already in progress');\n // first time running resume, find any cached parts on s3 or start a new multipart upload request before\n // starting the upload\n }\n else if (!this.uploadId) {\n this._initializeUploadTask();\n }\n else {\n this._startUpload();\n }\n };\n AWSS3UploadTask.prototype._startUpload = function () {\n this.state = AWSS3UploadTaskState.IN_PROGRESS;\n for (var i = 0; i < this.queueSize; i++) {\n this._startNextPart();\n }\n };\n AWSS3UploadTask.prototype._cancel = function () {\n return __awaiter(this, void 0, void 0, function () {\n var _a, _b, err_4;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n if (!(this.state === AWSS3UploadTaskState.CANCELLED)) return [3 /*break*/, 1];\n logger.warn('This task has already been cancelled');\n return [2 /*return*/, false];\n case 1:\n if (!(this.state === AWSS3UploadTaskState.COMPLETED)) return [3 /*break*/, 2];\n logger.warn('This task has already been completed');\n return [2 /*return*/, false];\n case 2:\n this.pause();\n this.queued = [];\n this.completedParts = [];\n this.bytesUploaded = 0;\n this.state = AWSS3UploadTaskState.CANCELLED;\n _d.label = 3;\n case 3:\n _d.trys.push([3, 7, , 8]);\n _a = abortMultipartUpload;\n _b = [this.s3Config];\n _c = {\n Bucket: this.params.Bucket\n };\n return [4 /*yield*/, this.prefixPromise];\n case 4: return [4 /*yield*/, _a.apply(void 0, _b.concat([(_c.Key = (_d.sent()) + this.params.Key,\n _c.UploadId = this.uploadId,\n _c)]))];\n case 5:\n _d.sent();\n return [4 /*yield*/, this._removeFromCache()];\n case 6:\n _d.sent();\n return [2 /*return*/, true];\n case 7:\n err_4 = _d.sent();\n logger.error('Error cancelling upload task', err_4);\n return [2 /*return*/, false];\n case 8: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * pause this particular upload task\n **/\n AWSS3UploadTask.prototype.pause = function () {\n var _a;\n if (this.state === AWSS3UploadTaskState.CANCELLED) {\n logger.warn('This task has already been cancelled');\n }\n else if (this.state === AWSS3UploadTaskState.COMPLETED) {\n logger.warn('This task has already been completed');\n }\n else if (this.state === AWSS3UploadTaskState.PAUSED) {\n logger.warn('This task is already paused');\n }\n this.state = AWSS3UploadTaskState.PAUSED;\n // Abort the part request immediately\n // Add the inProgress parts back to pending\n var removedInProgressReq = this.inProgress.splice(0, this.inProgress.length);\n removedInProgressReq.forEach(function (req) {\n req.abortController.abort();\n });\n // Put all removed in progress parts back into the queue\n (_a = this.queued).unshift.apply(_a, __spreadArray([], __read(removedInProgressReq.map(function (req) { return req.uploadPartInput; })), false));\n };\n return AWSS3UploadTask;\n}());\nexport { AWSS3UploadTask };\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Hub } from '@aws-amplify/core';\nimport { AMPLIFY_SYMBOL } from './StorageConstants';\nexport var byteLength = function (x) {\n if (typeof x === 'string') {\n return x.length;\n }\n else if (isArrayBuffer(x)) {\n return x.byteLength;\n }\n else if (isBlob(x)) {\n return x.size;\n }\n else {\n throw new Error('Cannot determine byte length of ' + x);\n }\n};\nexport var dispatchStorageEvent = function (track, event, attrs, metrics, message) {\n if (track) {\n var data = { attrs: attrs };\n if (metrics) {\n data['metrics'] = metrics;\n }\n Hub.dispatch('storage', {\n event: event,\n data: data,\n message: message,\n }, 'Storage', AMPLIFY_SYMBOL);\n }\n};\nexport var isFile = function (x) {\n return typeof x !== 'undefined' && x instanceof File;\n};\nexport var isBlob = function (x) {\n return typeof x !== 'undefined' && x instanceof Blob;\n};\nvar isArrayBuffer = function (x) {\n return typeof x !== 'undefined' && x instanceof ArrayBuffer;\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Category, Credentials, Logger, getAmplifyUserAgent, } from '@aws-amplify/core';\nimport { localTestingStorageEndpoint } from './StorageConstants';\nvar logger = new Logger('S3ClientUtils');\n// placeholder credentials in order to satisfy type requirement, always results in 403 when used\nvar INVALID_CRED = { accessKeyId: '', secretAccessKey: '' };\nexport var getPrefix = function (config) {\n var credentials = config.credentials, level = config.level, customPrefix = config.customPrefix, identityId = config.identityId;\n var resolvedCustomPrefix = customPrefix || {};\n var resolvedIdentityId = identityId || credentials.identityId;\n var privatePath = (resolvedCustomPrefix.private !== undefined\n ? resolvedCustomPrefix.private\n : 'private/') +\n resolvedIdentityId +\n '/';\n var protectedPath = (resolvedCustomPrefix.protected !== undefined\n ? resolvedCustomPrefix.protected\n : 'protected/') +\n resolvedIdentityId +\n '/';\n var publicPath = resolvedCustomPrefix.public !== undefined\n ? resolvedCustomPrefix.public\n : 'public/';\n switch (level) {\n case 'private':\n return privatePath;\n case 'protected':\n return protectedPath;\n default:\n return publicPath;\n }\n};\nexport var credentialsProvider = function () { return __awaiter(void 0, void 0, void 0, function () {\n var credentials, cred, error_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, Credentials.get()];\n case 1:\n credentials = _a.sent();\n if (!credentials)\n return [2 /*return*/, INVALID_CRED];\n cred = Credentials.shear(credentials);\n logger.debug('credentials provider get credentials', cred);\n return [2 /*return*/, cred];\n case 2:\n error_1 = _a.sent();\n logger.warn('credentials provider error', error_1);\n return [2 /*return*/, INVALID_CRED];\n case 3: return [2 /*return*/];\n }\n });\n}); };\n/**\n * A function that persists the s3 configs, so we don't need to\n * assign each config parameter for every s3 API call.\n *\n * @inernal\n */\nexport var loadS3Config = function (config) {\n if (!config.region) {\n // Same error thrown by aws-sdk\n throw new Error('Region is missing.');\n }\n return __assign(__assign(__assign({}, config), { region: config.region, credentials: config.credentials\n ? function () { return Promise.resolve(config.credentials); }\n : credentialsProvider, userAgentValue: getAmplifyUserAgent({\n category: Category.Storage,\n action: config.storageAction,\n }) }), (config.dangerouslyConnectToHttpEndpointForTesting\n ? {\n customEndpoint: localTestingStorageEndpoint,\n forcePathStyle: true,\n }\n : {}));\n};\nvar MiB = 1024 * 1024;\nvar GiB = 1024 * MiB;\nvar TiB = 1024 * GiB;\nexport var DEFAULT_PART_SIZE = 5 * MiB;\nexport var MAX_OBJECT_SIZE = 5 * TiB;\nexport var MAX_PARTS_COUNT = 10000;\nexport var DEFAULT_QUEUE_SIZE = 4;\nexport var calculatePartSize = function (totalSize) {\n var partSize = DEFAULT_PART_SIZE;\n var partsCount = Math.ceil(totalSize / partSize);\n while (partsCount > MAX_PARTS_COUNT) {\n partSize *= 2;\n partsCount = Math.ceil(totalSize / partSize);\n }\n return partSize;\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nimport { parseMetadata, } from '@aws-amplify/core/internals/aws-client-utils';\nimport { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';\nimport { defaultConfig } from './base';\nimport { assignStringVariables, map, parseXmlError, s3TransferHandler, serializeObjectConfigsToHeaders, serializePathnameObjectKey, } from './utils';\nvar putObjectSerializer = function (input, endpoint) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, _a, url;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = [{}];\n return [4 /*yield*/, serializeObjectConfigsToHeaders(__assign(__assign({}, input), { ContentType: (_b = input.ContentType) !== null && _b !== void 0 ? _b : 'application/octet-stream' }))];\n case 1:\n headers = __assign.apply(void 0, [__assign.apply(void 0, _a.concat([(_c.sent())])), assignStringVariables({ 'content-md5': input.ContentMD5 })]);\n url = new URL(endpoint.url.toString());\n url.pathname = serializePathnameObjectKey(url, input.Key);\n return [2 /*return*/, {\n method: 'PUT',\n headers: headers,\n url: url,\n body: input.Body,\n }];\n }\n });\n}); };\nvar putObjectDeserializer = function (response) { return __awaiter(void 0, void 0, void 0, function () {\n var error;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(response.statusCode >= 300)) return [3 /*break*/, 2];\n return [4 /*yield*/, parseXmlError(response)];\n case 1:\n error = _a.sent();\n throw error;\n case 2: return [2 /*return*/, __assign(__assign({}, map(response.headers, {\n ETag: 'etag',\n VersionId: 'x-amz-version-id',\n })), { $metadata: parseMetadata(response) })];\n }\n });\n}); };\nexport var putObject = composeServiceApi(s3TransferHandler, putObjectSerializer, putObjectDeserializer, __assign(__assign({}, defaultConfig), { responseType: 'text' }));\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nimport { parseMetadata, } from '@aws-amplify/core/internals/aws-client-utils';\nimport { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';\nimport { defaultConfig } from './base';\nimport { map, parseXmlBody, parseXmlError, s3TransferHandler, serializeObjectConfigsToHeaders, serializePathnameObjectKey, } from './utils';\nvar createMultipartUploadSerializer = function (input, endpoint) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, url;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, serializeObjectConfigsToHeaders(input)];\n case 1:\n headers = _a.sent();\n url = new URL(endpoint.url.toString());\n url.pathname = serializePathnameObjectKey(url, input.Key);\n url.search = 'uploads';\n return [2 /*return*/, {\n method: 'POST',\n headers: headers,\n url: url,\n }];\n }\n });\n}); };\nvar createMultipartUploadDeserializer = function (response) { return __awaiter(void 0, void 0, void 0, function () {\n var error, parsed, contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(response.statusCode >= 300)) return [3 /*break*/, 2];\n return [4 /*yield*/, parseXmlError(response)];\n case 1:\n error = _a.sent();\n throw error;\n case 2: return [4 /*yield*/, parseXmlBody(response)];\n case 3:\n parsed = _a.sent();\n contents = map(parsed, {\n UploadId: 'UploadId',\n });\n return [2 /*return*/, __assign({ $metadata: parseMetadata(response) }, contents)];\n }\n });\n}); };\nexport var createMultipartUpload = composeServiceApi(s3TransferHandler, createMultipartUploadSerializer, createMultipartUploadDeserializer, __assign(__assign({}, defaultConfig), { responseType: 'text' }));\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nimport { parseMetadata, } from '@aws-amplify/core/internals/aws-client-utils';\nimport { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';\nimport { defaultConfig } from './base';\nimport { assignStringVariables, map, parseXmlError, s3TransferHandler, serializeObjectSsecOptionsToHeaders, serializePathnameObjectKey, } from './utils';\nvar uploadPartSerializer = function (input, endpoint) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, _a, url;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _a = [{}];\n return [4 /*yield*/, serializeObjectSsecOptionsToHeaders(input)];\n case 1:\n headers = __assign.apply(void 0, [__assign.apply(void 0, _a.concat([(_b.sent())])), assignStringVariables({ 'content-md5': input.ContentMD5 })]);\n headers['content-type'] = 'application/octet-stream';\n url = new URL(endpoint.url.toString());\n url.pathname = serializePathnameObjectKey(url, input.Key);\n url.search = new URLSearchParams({\n partNumber: input.PartNumber + '',\n uploadId: input.UploadId,\n }).toString();\n return [2 /*return*/, {\n method: 'PUT',\n headers: headers,\n url: url,\n body: input.Body,\n }];\n }\n });\n}); };\nvar uploadPartDeserializer = function (response) { return __awaiter(void 0, void 0, void 0, function () {\n var error;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(response.statusCode >= 300)) return [3 /*break*/, 2];\n return [4 /*yield*/, parseXmlError(response)];\n case 1:\n error = _a.sent();\n throw error;\n case 2: return [2 /*return*/, __assign(__assign({}, map(response.headers, {\n ETag: 'etag',\n })), { $metadata: parseMetadata(response) })];\n }\n });\n}); };\nexport var uploadPart = composeServiceApi(s3TransferHandler, uploadPartSerializer, uploadPartDeserializer, __assign(__assign({}, defaultConfig), { responseType: 'text' }));\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nimport { parseMetadata, } from '@aws-amplify/core/internals/aws-client-utils';\nimport { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';\nimport { defaultConfig } from './base';\nimport { map, parseXmlBody, parseXmlError, s3TransferHandler, serializePathnameObjectKey, serializeObjectSsecOptionsToHeaders, } from './utils';\nvar INVALID_PARAMETER_ERROR_MSG = 'Invalid parameter for ComplteMultipartUpload API';\nvar completeMultipartUploadSerializer = function (input, endpoint) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, url;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, serializeObjectSsecOptionsToHeaders(input)];\n case 1:\n headers = _a.sent();\n headers['content-type'] = 'application/xml';\n url = new URL(endpoint.url.toString());\n url.pathname = serializePathnameObjectKey(url, input.Key);\n url.search = new URLSearchParams({ uploadId: input.UploadId }).toString();\n return [2 /*return*/, {\n method: 'POST',\n headers: headers,\n url: url,\n body: '' +\n serializeCompletedMultipartUpload(input.MultipartUpload),\n }];\n }\n });\n}); };\nvar serializeCompletedMultipartUpload = function (input) {\n var _a;\n if (!((_a = input.Parts) === null || _a === void 0 ? void 0 : _a.length)) {\n throw new Error(\"\".concat(INVALID_PARAMETER_ERROR_MSG, \": \").concat(input));\n }\n return \"\".concat(input.Parts.map(serializeCompletedPartList).join(''), \"\");\n};\nvar serializeCompletedPartList = function (input) {\n if (!input.ETag || input.PartNumber == null) {\n throw new Error(\"\".concat(INVALID_PARAMETER_ERROR_MSG, \": \").concat(input));\n }\n return \"\".concat(input.ETag, \"\").concat(input.PartNumber, \"\");\n};\n/**\n * Parse CompleteMultipartUpload API response payload, which may be empty or error indicating internal\n * server error, even when the status code is 200.\n *\n * Ref: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html#API_CompleteMultipartUpload_Example_4\n */\nvar parseXmlBodyOrThrow = function (response) { return __awaiter(void 0, void 0, void 0, function () {\n var parsed, error;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, parseXmlBody(response)];\n case 1:\n parsed = _a.sent();\n if (!(parsed.Code !== undefined && parsed.Message !== undefined)) return [3 /*break*/, 3];\n return [4 /*yield*/, parseXmlError(__assign(__assign({}, response), { statusCode: 500 }))];\n case 2:\n error = _a.sent();\n error.$metadata.httpStatusCode = response.statusCode;\n throw error;\n case 3: return [2 /*return*/, parsed];\n }\n });\n}); };\nvar completeMultipartUploadDeserializer = function (response) { return __awaiter(void 0, void 0, void 0, function () {\n var error, parsed, contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(response.statusCode >= 300)) return [3 /*break*/, 2];\n return [4 /*yield*/, parseXmlError(response)];\n case 1:\n error = _a.sent();\n throw error;\n case 2: return [4 /*yield*/, parseXmlBodyOrThrow(response)];\n case 3:\n parsed = _a.sent();\n contents = map(parsed, {\n ETag: 'ETag',\n Key: 'Key',\n Location: 'Location',\n });\n return [2 /*return*/, __assign({ $metadata: parseMetadata(response) }, contents)];\n }\n });\n}); };\n// CompleteMultiPartUpload API returns 200 status code with empty body or error message.\n// This indicates internal server error after the response has been sent to the client.\n// Ref: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html#API_CompleteMultipartUpload_Example_4\nvar retryWhenErrorWith200StatusCode = function (response, error) { return __awaiter(void 0, void 0, void 0, function () {\n var parsed, defaultRetryDecider;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(response.statusCode === 200)) return [3 /*break*/, 2];\n if (!response.body) {\n return [2 /*return*/, true];\n }\n return [4 /*yield*/, parseXmlBody(response)];\n case 1:\n parsed = _a.sent();\n if (parsed.Code !== undefined && parsed.Message !== undefined) {\n return [2 /*return*/, true];\n }\n return [2 /*return*/, false];\n case 2:\n defaultRetryDecider = defaultConfig.retryDecider;\n return [2 /*return*/, defaultRetryDecider(response, error)];\n }\n });\n}); };\nexport var completeMultipartUpload = composeServiceApi(s3TransferHandler, completeMultipartUploadSerializer, completeMultipartUploadDeserializer, __assign(__assign({}, defaultConfig), { responseType: 'text', retryDecider: retryWhenErrorWith200StatusCode }));\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nimport { parseMetadata, } from '@aws-amplify/core/internals/aws-client-utils';\nimport { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';\nimport { defaultConfig } from './base';\nimport { parseXmlError, s3TransferHandler, serializePathnameObjectKey, } from './utils';\nvar abortMultipartUploadSerializer = function (input, endpoint) {\n var url = new URL(endpoint.url.toString());\n url.pathname = serializePathnameObjectKey(url, input.Key);\n url.search = new URLSearchParams({\n uploadId: input.UploadId,\n }).toString();\n return {\n method: 'DELETE',\n headers: {},\n url: url,\n };\n};\nvar abortMultipartUploadDeserializer = function (response) { return __awaiter(void 0, void 0, void 0, function () {\n var error;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(response.statusCode >= 300)) return [3 /*break*/, 2];\n return [4 /*yield*/, parseXmlError(response)];\n case 1:\n error = _a.sent();\n throw error;\n case 2: return [2 /*return*/, {\n $metadata: parseMetadata(response),\n }];\n }\n });\n}); };\nexport var abortMultipartUpload = composeServiceApi(s3TransferHandler, abortMultipartUploadSerializer, abortMultipartUploadDeserializer, __assign(__assign({}, defaultConfig), { responseType: 'text' }));\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nimport { parseMetadata, } from '@aws-amplify/core/internals/aws-client-utils';\nimport { composeServiceApi } from '@aws-amplify/core/internals/aws-client-utils/composers';\nimport { defaultConfig } from './base';\nimport { emptyArrayGuard, serializeObjectSsecOptionsToHeaders, map, parseXmlBody, parseXmlError, s3TransferHandler, deserializeNumber, serializePathnameObjectKey, } from './utils';\nvar listPartsSerializer = function (input, endpoint) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, url;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, serializeObjectSsecOptionsToHeaders(input)];\n case 1:\n headers = _a.sent();\n url = new URL(endpoint.url.toString());\n url.pathname = serializePathnameObjectKey(url, input.Key);\n url.search = new URLSearchParams({\n uploadId: input.UploadId,\n }).toString();\n return [2 /*return*/, {\n method: 'GET',\n headers: headers,\n url: url,\n }];\n }\n });\n}); };\nvar listPartsDeserializer = function (response) { return __awaiter(void 0, void 0, void 0, function () {\n var error, parsed, contents;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(response.statusCode >= 300)) return [3 /*break*/, 2];\n return [4 /*yield*/, parseXmlError(response)];\n case 1:\n error = _a.sent();\n throw error;\n case 2: return [4 /*yield*/, parseXmlBody(response)];\n case 3:\n parsed = _a.sent();\n contents = map(parsed, {\n UploadId: 'UploadId',\n Parts: [\n 'Part',\n function (value) { return emptyArrayGuard(value, deserializeCompletedPartList); },\n ],\n });\n return [2 /*return*/, __assign({ $metadata: parseMetadata(response) }, contents)];\n }\n });\n}); };\nvar deserializeCompletedPartList = function (input) {\n return input.map(function (item) {\n return map(item, {\n PartNumber: ['PartNumber', deserializeNumber],\n ETag: 'ETag',\n Size: ['Size', deserializeNumber],\n });\n });\n};\nexport var listParts = composeServiceApi(s3TransferHandler, listPartsSerializer, listPartsDeserializer, __assign(__assign({}, defaultConfig), { responseType: 'text' }));\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nimport { Md5 } from '@aws-sdk/md5-js';\nimport { toBase64 } from '../AwsClients/S3/utils';\nexport var calculateContentMd5 = function (content) { return __awaiter(void 0, void 0, void 0, function () {\n var hasher, buffer, digest;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n hasher = new Md5();\n if (!(typeof content === 'string')) return [3 /*break*/, 1];\n hasher.update(content);\n return [3 /*break*/, 3];\n case 1: return [4 /*yield*/, readFile(content)];\n case 2:\n buffer = _a.sent();\n hasher.update(buffer);\n _a.label = 3;\n case 3: return [4 /*yield*/, hasher.digest()];\n case 4:\n digest = _a.sent();\n return [2 /*return*/, toBase64(digest)];\n }\n });\n}); };\nvar readFile = function (file) {\n return new Promise(function (resolve, reject) {\n var reader = new FileReader();\n reader.onloadend = function () {\n if (reader.result) {\n resolve(reader.result);\n }\n reader.onabort = function () { return reject(new Error('Read aborted')); };\n reader.onerror = function () { return reject(reader.error); };\n };\n if (file !== undefined)\n reader.readAsArrayBuffer(file);\n });\n};\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nimport { ConsoleLogger as Logger, StorageAction } from '@aws-amplify/core';\nimport { putObject, createMultipartUpload, uploadPart, completeMultipartUpload, abortMultipartUpload, listParts, } from '../AwsClients/S3';\nimport { SEND_DOWNLOAD_PROGRESS_EVENT, SEND_UPLOAD_PROGRESS_EVENT, } from '../AwsClients/S3/utils';\nimport { EventEmitter } from 'events';\nimport { calculateContentMd5 } from '../common/MD5utils';\nimport { calculatePartSize, DEFAULT_PART_SIZE, DEFAULT_QUEUE_SIZE, MAX_OBJECT_SIZE, loadS3Config, getPrefix, credentialsProvider, } from '../common/S3ClientUtils';\nvar logger = new Logger('AWSS3ProviderManagedUpload');\nvar AWSS3ProviderManagedUpload = /** @class */ (function () {\n function AWSS3ProviderManagedUpload(params, opts, emitter) {\n this.opts = null;\n this.completedParts = [];\n this.partSize = DEFAULT_PART_SIZE;\n // Progress reporting\n this.bytesUploaded = 0;\n this.totalBytesToUpload = 0;\n this.emitter = null;\n this.params = params;\n this.opts = __assign({ isObjectLockEnabled: false }, opts);\n this.emitter = emitter;\n this.s3Config = loadS3Config(__assign(__assign({}, opts), { emitter: emitter, storageAction: StorageAction.Put }));\n }\n AWSS3ProviderManagedUpload.prototype.upload = function () {\n return __awaiter(this, void 0, void 0, function () {\n var isObjectLockEnabled, _a, _b, _c, _d, _e, numberOfPartsToUpload, parts, start, error_1;\n var _f;\n var _this = this;\n return __generator(this, function (_g) {\n switch (_g.label) {\n case 0:\n _g.trys.push([0, 12, , 14]);\n isObjectLockEnabled = this.opts.isObjectLockEnabled;\n if (!(isObjectLockEnabled === true)) return [3 /*break*/, 2];\n _a = this.params;\n return [4 /*yield*/, calculateContentMd5(\n // @ts-expect-error currently ReadableStream is not being supported in put api\n this.params.Body)];\n case 1:\n _a.ContentMD5 = _g.sent();\n _g.label = 2;\n case 2:\n this.body = this.validateAndSanitizeBody(this.params.Body);\n this.totalBytesToUpload = this.byteLength(this.body);\n if (!(this.totalBytesToUpload <= DEFAULT_PART_SIZE)) return [3 /*break*/, 4];\n // Multipart upload is not required. Upload the sanitized body as is\n this.params.Body = this.body;\n _b = putObject;\n _c = [this.s3Config];\n _d = [__assign({}, this.params)];\n _f = {};\n return [4 /*yield*/, this.getObjectKeyWithPrefix(this.params.Key)];\n case 3: return [2 /*return*/, _b.apply(void 0, _c.concat([__assign.apply(void 0, _d.concat([(_f.Key = _g.sent(), _f)]))]))];\n case 4:\n // Step 1: Determine appropriate part size.\n this.partSize = calculatePartSize(this.totalBytesToUpload);\n // Step 2: Initiate the multi part upload\n _e = this;\n return [4 /*yield*/, this.createMultiPartUpload()];\n case 5:\n // Step 2: Initiate the multi part upload\n _e.uploadId = _g.sent();\n numberOfPartsToUpload = Math.ceil(this.totalBytesToUpload / this.partSize);\n parts = this.createParts();\n start = 0;\n _g.label = 6;\n case 6:\n if (!(start < numberOfPartsToUpload)) return [3 /*break*/, 9];\n // Upload as many as `queueSize` parts simultaneously\n return [4 /*yield*/, this.uploadParts(this.uploadId, parts.slice(start, start + DEFAULT_QUEUE_SIZE))];\n case 7:\n // Upload as many as `queueSize` parts simultaneously\n _g.sent();\n _g.label = 8;\n case 8:\n start += DEFAULT_QUEUE_SIZE;\n return [3 /*break*/, 6];\n case 9:\n parts.map(function (part) {\n _this.removeEventListener(part);\n });\n return [4 /*yield*/, this.finishMultiPartUpload(this.uploadId)];\n case 10: \n // Step 3: Finalize the upload such that S3 can recreate the file\n return [2 /*return*/, _g.sent()];\n case 11: return [3 /*break*/, 14];\n case 12:\n error_1 = _g.sent();\n // if any error is thrown, call cleanup\n return [4 /*yield*/, this.cleanup(this.uploadId)];\n case 13:\n // if any error is thrown, call cleanup\n _g.sent();\n logger.error('Error. Cancelling the multipart upload.');\n throw error_1;\n case 14: return [2 /*return*/];\n }\n });\n });\n };\n AWSS3ProviderManagedUpload.prototype.createParts = function () {\n try {\n var parts = [];\n for (var bodyStart = 0; bodyStart < this.totalBytesToUpload;) {\n var bodyEnd = Math.min(bodyStart + this.partSize, this.totalBytesToUpload);\n parts.push({\n bodyPart: this.body.slice(bodyStart, bodyEnd),\n partNumber: parts.length + 1,\n emitter: new EventEmitter(),\n _lastUploadedBytes: 0,\n });\n bodyStart += this.partSize;\n }\n return parts;\n }\n catch (error) {\n logger.error(error);\n throw error;\n }\n };\n AWSS3ProviderManagedUpload.prototype.createMultiPartUpload = function () {\n return __awaiter(this, void 0, void 0, function () {\n var response, _a, _b, _c, error_2;\n var _d;\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n _e.trys.push([0, 3, , 4]);\n _a = createMultipartUpload;\n _b = [this.s3Config];\n _c = [__assign({}, this.params)];\n _d = {};\n return [4 /*yield*/, this.getObjectKeyWithPrefix(this.params.Key)];\n case 1: return [4 /*yield*/, _a.apply(void 0, _b.concat([__assign.apply(void 0, _c.concat([(_d.Key = _e.sent(), _d)]))]))];\n case 2:\n response = _e.sent();\n logger.debug(response.UploadId);\n return [2 /*return*/, response.UploadId];\n case 3:\n error_2 = _e.sent();\n logger.error(error_2);\n throw error_2;\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * @private Not to be extended outside of tests\n * @VisibleFotTesting\n */\n AWSS3ProviderManagedUpload.prototype.uploadParts = function (uploadId, parts) {\n return __awaiter(this, void 0, void 0, function () {\n var allResults, i, error_3;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, Promise.all(parts.map(function (part) { return __awaiter(_this, void 0, void 0, function () {\n var isObjectLockEnabled, _a, _b, Key, Bucket, SSECustomerAlgorithm, SSECustomerKey, SSECustomerKeyMD5, ContentMD5, res, _c, _d;\n var _e;\n return __generator(this, function (_f) {\n switch (_f.label) {\n case 0:\n this.setupEventListener(part);\n isObjectLockEnabled = this.opts.isObjectLockEnabled;\n if (!isObjectLockEnabled) return [3 /*break*/, 2];\n _a = this.params;\n return [4 /*yield*/, calculateContentMd5(part.bodyPart)];\n case 1:\n _a.ContentMD5 = _f.sent();\n _f.label = 2;\n case 2:\n _b = this.params, Key = _b.Key, Bucket = _b.Bucket, SSECustomerAlgorithm = _b.SSECustomerAlgorithm, SSECustomerKey = _b.SSECustomerKey, SSECustomerKeyMD5 = _b.SSECustomerKeyMD5, ContentMD5 = _b.ContentMD5;\n _c = uploadPart;\n _d = [__assign(__assign({}, this.s3Config), { emitter: part.emitter })];\n _e = {\n PartNumber: part.partNumber,\n Body: part.bodyPart,\n UploadId: uploadId\n };\n return [4 /*yield*/, this.getObjectKeyWithPrefix(this.params.Key)];\n case 3: return [4 /*yield*/, _c.apply(void 0, _d.concat([(_e.Key = _f.sent(),\n _e.Bucket = Bucket,\n _e.SSECustomerAlgorithm = SSECustomerAlgorithm,\n _e.SSECustomerKey = SSECustomerKey,\n _e.SSECustomerKeyMD5 = SSECustomerKeyMD5,\n _e.ContentMD5 = ContentMD5,\n _e)]))];\n case 4:\n res = _f.sent();\n return [2 /*return*/, res];\n }\n });\n }); }))];\n case 1:\n allResults = _a.sent();\n // The order of resolved promises is the same as input promise order.\n for (i = 0; i < allResults.length; i++) {\n this.completedParts.push({\n PartNumber: parts[i].partNumber,\n ETag: allResults[i].ETag,\n });\n }\n return [3 /*break*/, 3];\n case 2:\n error_3 = _a.sent();\n logger.error('Error happened while uploading a part. Cancelling the multipart upload');\n throw error_3;\n case 3: return [2 /*return*/];\n }\n });\n });\n };\n AWSS3ProviderManagedUpload.prototype.finishMultiPartUpload = function (uploadId) {\n return __awaiter(this, void 0, void 0, function () {\n var input, Key, error_4;\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _a = {\n Bucket: this.params.Bucket\n };\n return [4 /*yield*/, this.getObjectKeyWithPrefix(this.params.Key)];\n case 1:\n input = (_a.Key = _b.sent(),\n _a.UploadId = uploadId,\n _a.MultipartUpload = { Parts: this.completedParts },\n _a);\n _b.label = 2;\n case 2:\n _b.trys.push([2, 4, , 5]);\n return [4 /*yield*/, completeMultipartUpload(this.s3Config, input)];\n case 3:\n Key = (_b.sent()).Key;\n return [2 /*return*/, Key];\n case 4:\n error_4 = _b.sent();\n logger.error('Error happened while finishing the upload.');\n throw error_4;\n case 5: return [2 /*return*/];\n }\n });\n });\n };\n AWSS3ProviderManagedUpload.prototype.cleanup = function (uploadId) {\n return __awaiter(this, void 0, void 0, function () {\n var input, data;\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n // Reset this's state\n this.body = null;\n this.completedParts = [];\n this.bytesUploaded = 0;\n this.totalBytesToUpload = 0;\n if (!uploadId) {\n // This is a single part upload;\n return [2 /*return*/];\n }\n _a = {\n Bucket: this.params.Bucket\n };\n return [4 /*yield*/, this.getObjectKeyWithPrefix(this.params.Key)];\n case 1:\n input = (_a.Key = _b.sent(),\n _a.UploadId = uploadId,\n _a);\n return [4 /*yield*/, abortMultipartUpload(this.s3Config, input)];\n case 2:\n _b.sent();\n return [4 /*yield*/, listParts(this.s3Config, input)];\n case 3:\n data = _b.sent();\n if (data && data.Parts && data.Parts.length > 0) {\n throw new Error('Multipart upload clean up failed.');\n }\n return [2 /*return*/];\n }\n });\n });\n };\n AWSS3ProviderManagedUpload.prototype.removeEventListener = function (part) {\n part.emitter.removeAllListeners(SEND_UPLOAD_PROGRESS_EVENT);\n part.emitter.removeAllListeners(SEND_DOWNLOAD_PROGRESS_EVENT);\n };\n AWSS3ProviderManagedUpload.prototype.setupEventListener = function (part) {\n var _this = this;\n part.emitter.on(SEND_UPLOAD_PROGRESS_EVENT, function (progress) {\n _this.progressChanged(part.partNumber, progress.loaded - part._lastUploadedBytes);\n part._lastUploadedBytes = progress.loaded;\n });\n };\n AWSS3ProviderManagedUpload.prototype.progressChanged = function (partNumber, incrementalUpdate) {\n this.bytesUploaded += incrementalUpdate;\n this.emitter.emit(SEND_UPLOAD_PROGRESS_EVENT, {\n loaded: this.bytesUploaded,\n total: this.totalBytesToUpload,\n part: partNumber,\n key: this.params.Key,\n });\n };\n AWSS3ProviderManagedUpload.prototype.byteLength = function (input) {\n if (input === null || input === undefined)\n return 0;\n if (typeof input.byteLength === 'number') {\n return input.byteLength;\n }\n else if (typeof input.length === 'number') {\n return input.length;\n }\n else if (typeof input.size === 'number') {\n return input.size;\n }\n else if (typeof input.path === 'string') {\n /* NodeJs Support\n return require('fs').lstatSync(input.path).size;\n */\n }\n else {\n throw new Error('Cannot determine length of ' + input);\n }\n };\n AWSS3ProviderManagedUpload.prototype.validateAndSanitizeBody = function (body) {\n var sanitizedBody = this.isGenericObject(body)\n ? JSON.stringify(body)\n : body;\n /* TODO: streams and files for nodejs\n if (\n typeof body.path === 'string' &&\n require('fs').lstatSync(body.path).size > 0\n ) {\n sanitizedBody = body;\n } */\n if (this.byteLength(sanitizedBody) > MAX_OBJECT_SIZE) {\n throw new Error(\"File size bigger than S3 Object limit of 5TB, got \".concat(this.totalBytesToUpload, \" Bytes\"));\n }\n return sanitizedBody;\n };\n AWSS3ProviderManagedUpload.prototype.isGenericObject = function (body) {\n if (body !== null && typeof body === 'object') {\n try {\n return !(this.byteLength(body) >= 0);\n }\n catch (error) {\n // If we cannot determine the length of the body, consider it\n // as a generic object and upload a stringified version of it\n return true;\n }\n }\n return false;\n };\n AWSS3ProviderManagedUpload.prototype.getObjectKeyWithPrefix = function (keyWithoutPrefix) {\n return __awaiter(this, void 0, void 0, function () {\n var _a, _b;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _a = getPrefix;\n _b = [__assign({}, this.opts)];\n _c = {};\n return [4 /*yield*/, credentialsProvider()];\n case 1: return [4 /*yield*/, _a.apply(void 0, [__assign.apply(void 0, _b.concat([(_c.credentials = _d.sent(), _c)]))])];\n case 2: return [2 /*return*/, ((_d.sent()) + keyWithoutPrefix)];\n }\n });\n });\n };\n return AWSS3ProviderManagedUpload;\n}());\nexport { AWSS3ProviderManagedUpload };\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { ConsoleLogger as Logger, Credentials, StorageHelper, Hub, parseAWSExports, StorageAction, } from '@aws-amplify/core';\nimport { copyObject, getObject, getPresignedGetObjectUrl, headObject, deleteObject, listObjectsV2, SERVICE_NAME as S3_SERVICE_NAME, } from '../AwsClients/S3';\nimport { SEND_DOWNLOAD_PROGRESS_EVENT, SEND_UPLOAD_PROGRESS_EVENT, } from '../AwsClients/S3/utils';\nimport { StorageErrorStrings } from '../common/StorageErrorStrings';\nimport { dispatchStorageEvent } from '../common/StorageUtils';\nimport { getPrefix, loadS3Config, } from '../common/S3ClientUtils';\nimport { AWSS3ProviderManagedUpload } from './AWSS3ProviderManagedUpload';\nimport { AWSS3UploadTask, TaskEvents } from './AWSS3UploadTask';\nimport { UPLOADS_STORAGE_KEY } from '../common/StorageConstants';\nimport * as events from 'events';\nvar logger = new Logger('AWSS3Provider');\nvar DEFAULT_STORAGE_LEVEL = 'public';\nvar DEFAULT_PRESIGN_EXPIRATION = 900;\n/**\n * Provide storage methods to use AWS S3\n */\nexport var AWSS3Provider = /** @class */ (function () {\n /**\n * Initialize Storage with AWS configurations\n * @param {Object} config - Configuration object for storage\n */\n function AWSS3Provider(config) {\n var _this = this;\n this._config = config ? config : {};\n this._storage = new StorageHelper().getStorage();\n Hub.listen('auth', function (data) {\n var payload = data.payload;\n if (payload.event === 'signOut' || payload.event === 'signIn') {\n _this._storage.removeItem(UPLOADS_STORAGE_KEY);\n }\n });\n logger.debug('Storage Options', this._config);\n }\n /**\n * get the category of the plugin\n */\n AWSS3Provider.prototype.getCategory = function () {\n return AWSS3Provider.CATEGORY;\n };\n /**\n * get provider name of the plugin\n */\n AWSS3Provider.prototype.getProviderName = function () {\n return AWSS3Provider.PROVIDER_NAME;\n };\n /**\n * Configure Storage part with aws configuration\n * @param {Object} config - Configuration of the Storage\n * @return {Object} - Current configuration\n */\n AWSS3Provider.prototype.configure = function (config) {\n logger.debug('configure Storage', config);\n if (!config)\n return this._config;\n var amplifyConfig = parseAWSExports(config);\n this._config = Object.assign({}, this._config, amplifyConfig.Storage);\n if (!this._config.bucket) {\n logger.debug('Do not have bucket yet');\n }\n return this._config;\n };\n AWSS3Provider.prototype.startResumableUpload = function (addTaskInput, config) {\n var _a;\n var s3Config = addTaskInput.s3Config, emitter = addTaskInput.emitter, key = addTaskInput.key, file = addTaskInput.file, params = addTaskInput.params;\n var progressCallback = config.progressCallback, completeCallback = config.completeCallback, errorCallback = config.errorCallback, track = (_a = config.track, _a === void 0 ? false : _a);\n if (!(file instanceof Blob)) {\n throw new Error(StorageErrorStrings.INVALID_BLOB);\n }\n emitter.on(TaskEvents.UPLOAD_PROGRESS, function (event) {\n if (progressCallback) {\n if (typeof progressCallback === 'function') {\n progressCallback(event);\n }\n else {\n logger.warn('progressCallback should be a function, not a ' +\n typeof progressCallback);\n }\n }\n });\n emitter.on(TaskEvents.UPLOAD_COMPLETE, function (event) {\n if (completeCallback) {\n if (typeof completeCallback === 'function') {\n completeCallback(event);\n }\n else {\n logger.warn('completeCallback should be a function, not a ' +\n typeof completeCallback);\n }\n }\n });\n emitter.on(TaskEvents.ERROR, function (err) {\n if (errorCallback) {\n if (typeof errorCallback === 'function') {\n errorCallback(err);\n }\n else {\n logger.warn('errorCallback should be a function, not a ' + typeof errorCallback);\n }\n }\n });\n // we want to keep this function sync so we defer this promise to AWSS3UploadTask to resolve when it's needed\n // when its doing a final check with _listSingleFile function\n var prefixPromise = Credentials.get().then(function (credentials) {\n var cred = Credentials.shear(credentials);\n return getPrefix(__assign(__assign({}, config), { level: addTaskInput.accessLevel, credentials: cred }));\n });\n var task = new AWSS3UploadTask({\n s3Config: s3Config,\n file: file,\n emitter: emitter,\n level: addTaskInput.accessLevel,\n storage: this._storage,\n params: params,\n prefixPromise: prefixPromise,\n });\n dispatchStorageEvent(track, 'upload', { method: 'put', result: 'success' }, null, \"Upload Task created successfully for \".concat(key));\n // automatically start the upload task\n task.resume();\n return task;\n };\n /**\n * Copy an object from a source object to a new object within the same bucket. Can optionally copy files across\n * different level or identityId (if source object's level is 'protected').\n *\n * @async\n * @param {S3CopySource} src - Key and optionally access level and identityId of the source object.\n * @param {S3CopyDestination} dest - Key and optionally access level of the destination object.\n * @param {S3ProviderCopyConfig} [config] - Optional configuration for s3 commands.\n * @return {Promise} The key of the copied object.\n */\n AWSS3Provider.prototype.copy = function (src, dest, config) {\n return __awaiter(this, void 0, void 0, function () {\n var credentialsOK, opt, acl, bucket, cacheControl, expires, track, serverSideEncryption, SSECustomerAlgorithm, SSECustomerKey, SSECustomerKeyMD5, SSEKMSKeyId, srcLevel, srcIdentityId, srcKey, destLevel, destKey, srcPrefix, destPrefix, finalSrcKey, finalDestKey, params, error_1;\n var _a, _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4 /*yield*/, this._ensureCredentials()];\n case 1:\n credentialsOK = _c.sent();\n if (!credentialsOK || !this._isWithCredentials(this._config)) {\n throw new Error(StorageErrorStrings.NO_CREDENTIALS);\n }\n opt = Object.assign({}, this._config, config);\n acl = opt.acl, bucket = opt.bucket, cacheControl = opt.cacheControl, expires = opt.expires, track = opt.track, serverSideEncryption = opt.serverSideEncryption, SSECustomerAlgorithm = opt.SSECustomerAlgorithm, SSECustomerKey = opt.SSECustomerKey, SSECustomerKeyMD5 = opt.SSECustomerKeyMD5, SSEKMSKeyId = opt.SSEKMSKeyId;\n srcLevel = (_a = src.level, _a === void 0 ? DEFAULT_STORAGE_LEVEL : _a), srcIdentityId = src.identityId, srcKey = src.key;\n destLevel = (_b = dest.level, _b === void 0 ? DEFAULT_STORAGE_LEVEL : _b), destKey = dest.key;\n if (!srcKey || typeof srcKey !== 'string') {\n throw new Error(StorageErrorStrings.NO_SRC_KEY);\n }\n if (!destKey || typeof destKey !== 'string') {\n throw new Error(StorageErrorStrings.NO_DEST_KEY);\n }\n if (srcLevel !== 'protected' && srcIdentityId) {\n logger.warn(\"You may copy files from another user if the source level is \\\"protected\\\", currently it's \".concat(srcLevel));\n }\n srcPrefix = this._prefix(__assign(__assign(__assign({}, opt), { level: srcLevel }), (srcIdentityId && { identityId: srcIdentityId })));\n destPrefix = this._prefix(__assign(__assign({}, opt), { level: destLevel }));\n finalSrcKey = \"\".concat(bucket, \"/\").concat(srcPrefix).concat(srcKey);\n finalDestKey = \"\".concat(destPrefix).concat(destKey);\n logger.debug(\"copying \".concat(finalSrcKey, \" to \").concat(finalDestKey));\n params = {\n Bucket: bucket,\n CopySource: finalSrcKey,\n Key: finalDestKey,\n // Copies over metadata like contentType as well\n MetadataDirective: 'COPY',\n };\n if (cacheControl)\n params.CacheControl = cacheControl;\n if (expires)\n params.Expires = expires;\n if (serverSideEncryption) {\n params.ServerSideEncryption = serverSideEncryption;\n }\n if (SSECustomerAlgorithm) {\n params.SSECustomerAlgorithm = SSECustomerAlgorithm;\n }\n if (SSECustomerKey) {\n params.SSECustomerKey = SSECustomerKey;\n }\n if (SSECustomerKeyMD5) {\n params.SSECustomerKeyMD5 = SSECustomerKeyMD5;\n }\n if (SSEKMSKeyId) {\n params.SSEKMSKeyId = SSEKMSKeyId;\n }\n if (acl)\n params.ACL = acl;\n _c.label = 2;\n case 2:\n _c.trys.push([2, 4, , 5]);\n return [4 /*yield*/, copyObject(loadS3Config(__assign(__assign({}, opt), { storageAction: StorageAction.Copy })), params)];\n case 3:\n _c.sent();\n dispatchStorageEvent(track, 'copy', {\n method: 'copy',\n result: 'success',\n }, null, \"Copy success from \".concat(srcKey, \" to \").concat(destKey));\n return [2 /*return*/, {\n key: destKey,\n }];\n case 4:\n error_1 = _c.sent();\n dispatchStorageEvent(track, 'copy', {\n method: 'copy',\n result: 'failed',\n }, null, \"Copy failed from \".concat(srcKey, \" to \").concat(destKey));\n throw error_1;\n case 5: return [2 /*return*/];\n }\n });\n });\n };\n AWSS3Provider.prototype.get = function (key, config) {\n var _a;\n return __awaiter(this, void 0, void 0, function () {\n var credentialsOK, opt, bucket, download, cacheControl, contentDisposition, contentEncoding, contentLanguage, contentType, expires, track, SSECustomerAlgorithm, SSECustomerKey, SSECustomerKeyMD5, progressCallback, validateObjectExistence, prefix, final_key, emitter, s3Config, params, response, error_2, error_3, url, _b, _c, error_4;\n var _d, _e;\n return __generator(this, function (_f) {\n switch (_f.label) {\n case 0: return [4 /*yield*/, this._ensureCredentials()];\n case 1:\n credentialsOK = _f.sent();\n if (!credentialsOK || !this._isWithCredentials(this._config)) {\n throw new Error(StorageErrorStrings.NO_CREDENTIALS);\n }\n opt = Object.assign({}, this._config, config);\n bucket = opt.bucket, download = opt.download, cacheControl = opt.cacheControl, contentDisposition = opt.contentDisposition, contentEncoding = opt.contentEncoding, contentLanguage = opt.contentLanguage, contentType = opt.contentType, expires = opt.expires, track = opt.track, SSECustomerAlgorithm = opt.SSECustomerAlgorithm, SSECustomerKey = opt.SSECustomerKey, SSECustomerKeyMD5 = opt.SSECustomerKeyMD5, progressCallback = opt.progressCallback, validateObjectExistence = (_d = opt.validateObjectExistence, _d === void 0 ? false : _d);\n prefix = this._prefix(opt);\n final_key = prefix + key;\n emitter = new events.EventEmitter();\n s3Config = loadS3Config(__assign(__assign({}, opt), { emitter: emitter, storageAction: StorageAction.Get }));\n logger.debug('get ' + key + ' from ' + final_key);\n params = {\n Bucket: bucket,\n Key: final_key,\n };\n // See: https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#getObject-property\n if (cacheControl)\n params.ResponseCacheControl = cacheControl;\n if (contentDisposition)\n params.ResponseContentDisposition = contentDisposition;\n if (contentEncoding)\n params.ResponseContentEncoding = contentEncoding;\n if (contentLanguage)\n params.ResponseContentLanguage = contentLanguage;\n if (contentType)\n params.ResponseContentType = contentType;\n if (SSECustomerAlgorithm) {\n params.SSECustomerAlgorithm = SSECustomerAlgorithm;\n }\n if (SSECustomerKey) {\n params.SSECustomerKey = SSECustomerKey;\n }\n if (SSECustomerKeyMD5) {\n params.SSECustomerKeyMD5 = SSECustomerKeyMD5;\n }\n if (!(download === true)) return [3 /*break*/, 5];\n _f.label = 2;\n case 2:\n _f.trys.push([2, 4, , 5]);\n if (progressCallback) {\n if (typeof progressCallback === 'function') {\n emitter.on(SEND_DOWNLOAD_PROGRESS_EVENT, function (progress) {\n progressCallback(progress);\n });\n }\n else {\n logger.warn('progressCallback should be a function, not a ' +\n typeof progressCallback);\n }\n }\n return [4 /*yield*/, getObject(s3Config, params)];\n case 3:\n response = _f.sent();\n emitter.removeAllListeners(SEND_DOWNLOAD_PROGRESS_EVENT);\n dispatchStorageEvent(track, 'download', { method: 'get', result: 'success' }, {\n fileSize: Number(response.Body['size'] || response.Body['length']),\n }, \"Download success for \".concat(key));\n return [2 /*return*/, response];\n case 4:\n error_2 = _f.sent();\n dispatchStorageEvent(track, 'download', {\n method: 'get',\n result: 'failed',\n }, null, \"Download failed with \".concat(error_2.message));\n throw error_2;\n case 5:\n if (!validateObjectExistence) return [3 /*break*/, 9];\n _f.label = 6;\n case 6:\n _f.trys.push([6, 8, , 9]);\n return [4 /*yield*/, headObject(s3Config, params)];\n case 7:\n _f.sent();\n return [3 /*break*/, 9];\n case 8:\n error_3 = _f.sent();\n if (((_a = error_3.$metadata) === null || _a === void 0 ? void 0 : _a.httpStatusCode) === 404) {\n dispatchStorageEvent(track, 'getSignedUrl', {\n method: 'get',\n result: 'failed',\n }, null, \"\".concat(key, \" not found\"));\n }\n throw error_3;\n case 9:\n _f.trys.push([9, 12, , 13]);\n _b = getPresignedGetObjectUrl;\n _c = [__assign({}, s3Config)];\n _e = { expiration: expires || DEFAULT_PRESIGN_EXPIRATION };\n return [4 /*yield*/, s3Config.credentials()];\n case 10: return [4 /*yield*/, _b.apply(void 0, [__assign.apply(void 0, _c.concat([(_e.credentials = _f.sent(), _e.signingRegion = s3Config.region, _e.signingService = S3_SERVICE_NAME, _e)])), params])];\n case 11:\n url = _f.sent();\n dispatchStorageEvent(track, 'getSignedUrl', { method: 'get', result: 'success' }, null, \"Signed URL: \".concat(url));\n return [2 /*return*/, url];\n case 12:\n error_4 = _f.sent();\n logger.warn('get signed url error', error_4);\n dispatchStorageEvent(track, 'getSignedUrl', { method: 'get', result: 'failed' }, null, \"Could not get a signed URL for \".concat(key));\n throw error_4;\n case 13: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Get Properties of the object\n *\n * @param {string} key - key of the object\n * @param {S3ProviderGetPropertiesConfig} [config] - Optional configuration for the underlying S3 command\n * @return {Promise} - A promise resolves to contentType,\n * contentLength, eTag, lastModified, metadata\n */\n AWSS3Provider.prototype.getProperties = function (key, config) {\n var _a;\n return __awaiter(this, void 0, void 0, function () {\n var credentialsOK, opt, bucket, track, SSECustomerAlgorithm, SSECustomerKey, SSECustomerKeyMD5, prefix, final_key, s3Config, params, response, getPropertiesResponse, error_5;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4 /*yield*/, this._ensureCredentials()];\n case 1:\n credentialsOK = _c.sent();\n if (!credentialsOK || !this._isWithCredentials(this._config)) {\n throw new Error(StorageErrorStrings.NO_CREDENTIALS);\n }\n opt = Object.assign({}, this._config, config);\n bucket = opt.bucket, track = (_b = opt.track, _b === void 0 ? false : _b), SSECustomerAlgorithm = opt.SSECustomerAlgorithm, SSECustomerKey = opt.SSECustomerKey, SSECustomerKeyMD5 = opt.SSECustomerKeyMD5;\n prefix = this._prefix(opt);\n final_key = prefix + key;\n logger.debug(\"getProperties \".concat(key, \" from \").concat(final_key));\n s3Config = loadS3Config(__assign(__assign({}, opt), { storageAction: StorageAction.GetProperties }));\n params = {\n Bucket: bucket,\n Key: final_key,\n };\n if (SSECustomerAlgorithm) {\n params.SSECustomerAlgorithm = SSECustomerAlgorithm;\n }\n if (SSECustomerKey) {\n params.SSECustomerKey = SSECustomerKey;\n }\n if (SSECustomerKeyMD5) {\n params.SSECustomerKeyMD5 = SSECustomerKeyMD5;\n }\n _c.label = 2;\n case 2:\n _c.trys.push([2, 4, , 5]);\n return [4 /*yield*/, headObject(s3Config, params)];\n case 3:\n response = _c.sent();\n getPropertiesResponse = {\n contentLength: response.ContentLength,\n contentType: response.ContentType,\n eTag: response.ETag,\n lastModified: response.LastModified,\n metadata: response.Metadata,\n };\n dispatchStorageEvent(track, 'getProperties', { method: 'getProperties', result: 'success' }, null, \"getProperties successful for \".concat(key));\n return [2 /*return*/, getPropertiesResponse];\n case 4:\n error_5 = _c.sent();\n if (((_a = error_5.$metadata) === null || _a === void 0 ? void 0 : _a.httpStatusCode) === 404) {\n dispatchStorageEvent(track, 'getProperties', {\n method: 'getProperties',\n result: 'failed',\n }, null, \"\".concat(key, \" not found\"));\n }\n throw error_5;\n case 5: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Put a file in S3 bucket specified to configure method\n * @param key - key of the object\n * @param object - File to be put in Amazon S3 bucket\n * @param [config] - Optional configuration for the underlying S3 command\n * @return an instance of AWSS3UploadTask or a promise that resolves to an object with the new object's key on\n * success.\n */\n AWSS3Provider.prototype.put = function (key, object, config) {\n var opt = Object.assign({}, this._config, config);\n var bucket = opt.bucket, track = opt.track, progressCallback = opt.progressCallback, level = opt.level, resumable = opt.resumable;\n var contentType = opt.contentType, contentDisposition = opt.contentDisposition, contentEncoding = opt.contentEncoding, cacheControl = opt.cacheControl, expires = opt.expires, metadata = opt.metadata, tagging = opt.tagging, acl = opt.acl;\n var serverSideEncryption = opt.serverSideEncryption, SSECustomerAlgorithm = opt.SSECustomerAlgorithm, SSECustomerKey = opt.SSECustomerKey, SSECustomerKeyMD5 = opt.SSECustomerKeyMD5, SSEKMSKeyId = opt.SSEKMSKeyId;\n var type = contentType ? contentType : 'binary/octet-stream';\n var params = {\n Bucket: bucket,\n Key: key,\n Body: object,\n ContentType: type,\n };\n if (cacheControl) {\n params.CacheControl = cacheControl;\n }\n if (contentDisposition) {\n params.ContentDisposition = contentDisposition;\n }\n if (contentEncoding) {\n params.ContentEncoding = contentEncoding;\n }\n if (expires) {\n params.Expires = expires;\n }\n if (metadata) {\n params.Metadata = metadata;\n }\n if (tagging) {\n params.Tagging = tagging;\n }\n if (serverSideEncryption) {\n params.ServerSideEncryption = serverSideEncryption;\n }\n if (SSECustomerAlgorithm) {\n params.SSECustomerAlgorithm = SSECustomerAlgorithm;\n }\n if (SSECustomerKey) {\n params.SSECustomerKey = SSECustomerKey;\n }\n if (SSECustomerKeyMD5) {\n params.SSECustomerKeyMD5 = SSECustomerKeyMD5;\n }\n if (SSEKMSKeyId) {\n params.SSEKMSKeyId = SSEKMSKeyId;\n }\n var emitter = new events.EventEmitter();\n var uploader = new AWSS3ProviderManagedUpload(params, opt, emitter);\n if (acl) {\n params.ACL = acl;\n }\n if (resumable === true) {\n var s3Config = loadS3Config(__assign(__assign({}, opt), { storageAction: StorageAction.Put }));\n var addTaskInput = {\n bucket: bucket,\n key: key,\n s3Config: s3Config,\n file: object,\n emitter: emitter,\n accessLevel: level,\n params: params,\n };\n // explicitly asserting the type here as Typescript could not infer that resumable is of type true\n return this.startResumableUpload(addTaskInput, config);\n }\n try {\n if (progressCallback) {\n if (typeof progressCallback === 'function') {\n emitter.on(SEND_UPLOAD_PROGRESS_EVENT, function (progress) {\n progressCallback(progress);\n });\n }\n else {\n logger.warn('progressCallback should be a function, not a ' +\n typeof progressCallback);\n }\n }\n return uploader.upload().then(function (response) {\n logger.debug('upload result', response);\n dispatchStorageEvent(track, 'upload', { method: 'put', result: 'success' }, null, \"Upload success for \".concat(key));\n return { key: key };\n });\n }\n catch (error) {\n logger.warn('error uploading', error);\n dispatchStorageEvent(track, 'upload', { method: 'put', result: 'failed' }, null, \"Error uploading \".concat(key));\n throw error;\n }\n };\n /**\n * Remove the object for specified key\n * @param {string} key - key of the object\n * @param {S3ProviderRemoveConfig} [config] - Optional configuration for the underlying S3 command\n * @return {Promise} - Promise resolves upon successful removal of the object\n */\n AWSS3Provider.prototype.remove = function (key, config) {\n return __awaiter(this, void 0, void 0, function () {\n var credentialsOK, opt, bucket, track, prefix, final_key, params, s3Config, response, error_6;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this._ensureCredentials()];\n case 1:\n credentialsOK = _a.sent();\n if (!credentialsOK || !this._isWithCredentials(this._config)) {\n throw new Error(StorageErrorStrings.NO_CREDENTIALS);\n }\n opt = Object.assign({}, this._config, config);\n bucket = opt.bucket, track = opt.track;\n prefix = this._prefix(opt);\n final_key = prefix + key;\n logger.debug('remove ' + key + ' from ' + final_key);\n params = {\n Bucket: bucket,\n Key: final_key,\n };\n s3Config = loadS3Config(__assign(__assign({}, opt), { storageAction: StorageAction.Remove }));\n _a.label = 2;\n case 2:\n _a.trys.push([2, 4, , 5]);\n return [4 /*yield*/, deleteObject(s3Config, params)];\n case 3:\n response = _a.sent();\n dispatchStorageEvent(track, 'delete', { method: 'remove', result: 'success' }, null, \"Deleted \".concat(key, \" successfully\"));\n return [2 /*return*/, response];\n case 4:\n error_6 = _a.sent();\n dispatchStorageEvent(track, 'delete', { method: 'remove', result: 'failed' }, null, \"Deletion of \".concat(key, \" failed with \").concat(error_6));\n throw error_6;\n case 5: return [2 /*return*/];\n }\n });\n });\n };\n AWSS3Provider.prototype._list = function (params, opt, prefix) {\n return __awaiter(this, void 0, void 0, function () {\n var list, response;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n list = {\n results: [],\n hasNextToken: false,\n };\n return [4 /*yield*/, listObjectsV2(loadS3Config(__assign(__assign({}, opt), { storageAction: StorageAction.List })), __assign({}, params))];\n case 1:\n response = _a.sent();\n if (response && response.Contents) {\n list.results = response.Contents.map(function (item) {\n return {\n key: item.Key.substr(prefix.length),\n eTag: item.ETag,\n lastModified: item.LastModified,\n size: item.Size,\n };\n });\n list.nextToken = response.NextContinuationToken;\n list.hasNextToken = response.IsTruncated;\n }\n return [2 /*return*/, list];\n }\n });\n });\n };\n /**\n * List bucket objects relative to the level and prefix specified\n * @param {string} path - the path that contains objects\n * @param {S3ProviderListConfig} [config] - Optional configuration for the underlying S3 command\n * @return {Promise} - Promise resolves to list of keys, eTags, lastModified\n * and file size for all objects in path\n */\n AWSS3Provider.prototype.list = function (path, config) {\n return __awaiter(this, void 0, void 0, function () {\n var credentialsOK, opt, bucket, track, pageSize, nextToken, prefix, final_path, list, MAX_PAGE_SIZE, listResult, params, error_7;\n var _a, _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4 /*yield*/, this._ensureCredentials()];\n case 1:\n credentialsOK = _c.sent();\n if (!credentialsOK || !this._isWithCredentials(this._config)) {\n throw new Error(StorageErrorStrings.NO_CREDENTIALS);\n }\n opt = Object.assign({}, this._config, config);\n bucket = opt.bucket, track = opt.track, pageSize = opt.pageSize, nextToken = opt.nextToken;\n prefix = this._prefix(opt);\n final_path = prefix + path;\n logger.debug('list ' + path + ' from ' + final_path);\n _c.label = 2;\n case 2:\n _c.trys.push([2, 10, , 11]);\n list = {\n results: [],\n hasNextToken: false,\n };\n MAX_PAGE_SIZE = 1000;\n listResult = void 0;\n params = {\n Bucket: bucket,\n Prefix: final_path,\n MaxKeys: MAX_PAGE_SIZE,\n ContinuationToken: nextToken,\n };\n params.ContinuationToken = nextToken;\n if (!(pageSize === 'ALL')) return [3 /*break*/, 7];\n _c.label = 3;\n case 3: return [4 /*yield*/, this._list(params, opt, prefix)];\n case 4:\n listResult = _c.sent();\n (_a = list.results).push.apply(_a, __spreadArray([], __read(listResult.results), false));\n if (listResult.nextToken)\n params.ContinuationToken = listResult.nextToken;\n _c.label = 5;\n case 5:\n if (listResult.nextToken) return [3 /*break*/, 3];\n _c.label = 6;\n case 6: return [3 /*break*/, 9];\n case 7:\n if (pageSize &&\n pageSize <= MAX_PAGE_SIZE &&\n typeof pageSize === 'number')\n params.MaxKeys = pageSize;\n else\n logger.warn(\"pageSize should be from 0 - \".concat(MAX_PAGE_SIZE, \".\"));\n return [4 /*yield*/, this._list(params, opt, prefix)];\n case 8:\n listResult = _c.sent();\n (_b = list.results).push.apply(_b, __spreadArray([], __read(listResult.results), false));\n list.hasNextToken = listResult.hasNextToken;\n list.nextToken = null !== null && null !== void 0 ? null : listResult.nextToken;\n _c.label = 9;\n case 9:\n dispatchStorageEvent(track, 'list', { method: 'list', result: 'success' }, null, \"\".concat(list.results.length, \" items returned from list operation\"));\n logger.debug('list', list);\n return [2 /*return*/, list];\n case 10:\n error_7 = _c.sent();\n logger.error('list InvalidArgument', error_7);\n dispatchStorageEvent(track, 'list', { method: 'list', result: 'failed' }, null, \"Listing items failed: \".concat(error_7.message));\n throw error_7;\n case 11: return [2 /*return*/];\n }\n });\n });\n };\n AWSS3Provider.prototype._ensureCredentials = function () {\n return __awaiter(this, void 0, void 0, function () {\n var credentials, cred, error_8;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, Credentials.get()];\n case 1:\n credentials = _a.sent();\n if (!credentials)\n return [2 /*return*/, false];\n cred = Credentials.shear(credentials);\n logger.debug('set credentials for storage', cred);\n this._config.credentials = cred;\n return [2 /*return*/, true];\n case 2:\n error_8 = _a.sent();\n logger.warn('ensure credentials error', error_8);\n return [2 /*return*/, false];\n case 3: return [2 /*return*/];\n }\n });\n });\n };\n AWSS3Provider.prototype._isWithCredentials = function (config) {\n return typeof config === 'object' && config.hasOwnProperty('credentials');\n };\n AWSS3Provider.prototype._prefix = function (config) {\n var credentials = config.credentials, level = config.level;\n var customPrefix = config.customPrefix || {};\n var identityId = config.identityId || credentials.identityId;\n var privatePath = (customPrefix.private !== undefined ? customPrefix.private : 'private/') +\n identityId +\n '/';\n var protectedPath = (customPrefix.protected !== undefined\n ? customPrefix.protected\n : 'protected/') +\n identityId +\n '/';\n var publicPath = customPrefix.public !== undefined ? customPrefix.public : 'public/';\n switch (level) {\n case 'private':\n return privatePath;\n case 'protected':\n return protectedPath;\n default:\n return publicPath;\n }\n };\n AWSS3Provider.CATEGORY = 'Storage';\n AWSS3Provider.PROVIDER_NAME = 'AWSS3';\n return AWSS3Provider;\n}());\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nimport { Amplify, ConsoleLogger as Logger, parseAWSExports, } from '@aws-amplify/core';\nimport { AWSS3Provider } from './providers';\nimport { isCancelError } from './AwsClients/S3/utils';\nimport { AWSS3UploadTask } from './providers/AWSS3UploadTask';\nvar logger = new Logger('StorageClass');\nvar loggerStorageInstance = new Logger('Storage'); // Logging relating to Storage instance management\nvar DEFAULT_PROVIDER = 'AWSS3';\n/**\n * Provide storage methods to use AWS S3\n */\nvar Storage = /** @class */ (function () {\n /**\n * Initialize Storage\n * @param {Object} config - Configuration object for storage\n */\n function Storage() {\n this._config = {};\n this._pluggables = [];\n this._abortControllerMap = new WeakMap();\n logger.debug('Storage Options', this._config);\n this.get = this.get.bind(this);\n this.put = this.put.bind(this);\n this.remove = this.remove.bind(this);\n this.list = this.list.bind(this);\n }\n Storage.prototype.getModuleName = function () {\n return 'Storage';\n };\n /**\n * add plugin into Storage category\n * @param {Object} pluggable - an instance of the plugin\n */\n Storage.prototype.addPluggable = function (pluggable) {\n if (pluggable && pluggable.getCategory() === 'Storage') {\n this._pluggables.push(pluggable);\n var config = {};\n config = pluggable.configure(this._config[pluggable.getProviderName()]);\n return config;\n }\n };\n /**\n * Get the plugin object\n * @param providerName - the name of the plugin\n */\n Storage.prototype.getPluggable = function (providerName) {\n var pluggable = this._pluggables.find(function (pluggable) { return pluggable.getProviderName() === providerName; });\n if (pluggable === undefined) {\n logger.debug('No plugin found with providerName', providerName);\n return null;\n }\n else\n return pluggable;\n };\n /**\n * Remove the plugin object\n * @param providerName - the name of the plugin\n */\n Storage.prototype.removePluggable = function (providerName) {\n this._pluggables = this._pluggables.filter(function (pluggable) { return pluggable.getProviderName() !== providerName; });\n return;\n };\n /**\n * Configure Storage\n * @param {Object} config - Configuration object for storage\n * @return {Object} - Current configuration\n */\n Storage.prototype.configure = function (config) {\n var _this = this;\n var _a;\n logger.debug('configure Storage');\n if (!config)\n return this._config;\n var amplifyConfig = parseAWSExports(config);\n var storageConfig = (_a = amplifyConfig.Storage) !== null && _a !== void 0 ? _a : {};\n var defaultProviderConfigKeys = [\n 'bucket',\n 'region',\n 'level',\n 'track',\n 'customPrefix',\n 'ContentMD5',\n 'serverSideEncryption',\n 'SSECustomerAlgorithm',\n 'SSECustomerKey',\n // TODO(AllanZhengYP): remove in V6.\n 'SSECustomerKeyMD5',\n 'SSEKMSKeyId',\n ];\n var hasDefaultProviderConfigKeys = function (config) {\n return Object.keys(config).find(function (key) { return defaultProviderConfigKeys.includes(key); });\n };\n if (hasDefaultProviderConfigKeys(storageConfig) &&\n !storageConfig[DEFAULT_PROVIDER]) {\n storageConfig[DEFAULT_PROVIDER] = {};\n }\n Object.entries(storageConfig).forEach(function (_a) {\n var _b = __read(_a, 2), key = _b[0], value = _b[1];\n if (key &&\n defaultProviderConfigKeys.includes(key) &&\n value !== undefined) {\n storageConfig[DEFAULT_PROVIDER][key] = value;\n delete storageConfig[key];\n }\n });\n // only update new values for each provider\n Object.keys(storageConfig).forEach(function (providerName) {\n if (typeof storageConfig[providerName] !== 'string') {\n _this._config[providerName] = __assign(__assign({}, _this._config[providerName]), storageConfig[providerName]);\n }\n });\n this._pluggables.forEach(function (pluggable) {\n pluggable.configure(_this._config[pluggable.getProviderName()]);\n });\n if (this._pluggables.length === 0) {\n this.addPluggable(new AWSS3Provider());\n }\n return this._config;\n };\n Storage.prototype.getAbortController = function () {\n return new AbortController();\n };\n Storage.prototype.updateRequestToBeCancellable = function (request, abortController) {\n this._abortControllerMap.set(request, abortController);\n };\n Storage.prototype.isUploadTask = function (x) {\n return (typeof x !== 'undefined' &&\n typeof x['pause'] === 'function' &&\n typeof x['resume'] === 'function');\n };\n Storage.prototype.cancel = function (request, message) {\n if (request instanceof AWSS3UploadTask) {\n return request._cancel();\n }\n var abortController = this._abortControllerMap.get(request);\n if (abortController) {\n // TODO: [v6] clean up the aborted promise in the weak map.\n // Not doing it yet to avoid breaking changes when users may abort a request twice.\n abortController.abort(message);\n }\n else {\n logger.debug('The request does not map to any cancel token');\n }\n };\n Storage.prototype.copy = function (src, dest, config) {\n var provider = (config === null || config === void 0 ? void 0 : config.provider) || DEFAULT_PROVIDER;\n var plugin = this._pluggables.find(function (pluggable) { return pluggable.getProviderName() === provider; });\n if (plugin === undefined) {\n logger.debug('No plugin found with providerName', provider);\n return Promise.reject('No plugin found in Storage for the provider');\n }\n var abortController = this.getAbortController();\n if (typeof plugin.copy !== 'function') {\n return Promise.reject(\".copy is not implemented on provider \".concat(plugin.getProviderName()));\n }\n var responsePromise = plugin.copy(src, dest, __assign(__assign({}, config), { abortSignal: abortController.signal }));\n this.updateRequestToBeCancellable(responsePromise, abortController);\n return responsePromise;\n };\n Storage.prototype.get = function (key, config) {\n var provider = (config === null || config === void 0 ? void 0 : config.provider) || DEFAULT_PROVIDER;\n var plugin = this._pluggables.find(function (pluggable) { return pluggable.getProviderName() === provider; });\n if (plugin === undefined) {\n logger.debug('No plugin found with providerName', provider);\n return Promise.reject('No plugin found in Storage for the provider');\n }\n var abortController = this.getAbortController();\n var responsePromise = plugin.get(key, __assign(__assign({}, config), { abortSignal: abortController.signal }));\n this.updateRequestToBeCancellable(responsePromise, abortController);\n return responsePromise;\n };\n Storage.prototype.isCancelError = function (error) {\n return isCancelError(error);\n };\n Storage.prototype.getProperties = function (key, config) {\n var provider = (config === null || config === void 0 ? void 0 : config.provider) || DEFAULT_PROVIDER;\n var plugin = this._pluggables.find(function (pluggable) { return pluggable.getProviderName() === provider; });\n if (plugin === undefined) {\n logger.debug('No plugin found with providerName', provider);\n throw new Error('No plugin found with providerName');\n }\n var abortController = this.getAbortController();\n if (typeof plugin.getProperties !== 'function') {\n return Promise.reject(\".getProperties is not implemented on provider \".concat(plugin.getProviderName()));\n }\n var responsePromise = plugin === null || plugin === void 0 ? void 0 : plugin.getProperties(key, __assign({}, config));\n this.updateRequestToBeCancellable(responsePromise, abortController);\n return responsePromise;\n };\n Storage.prototype.put = function (key, object, config) {\n var provider = (config === null || config === void 0 ? void 0 : config.provider) || DEFAULT_PROVIDER;\n var plugin = this._pluggables.find(function (pluggable) { return pluggable.getProviderName() === provider; });\n if (plugin === undefined) {\n logger.debug('No plugin found with providerName', provider);\n return Promise.reject('No plugin found in Storage for the provider');\n }\n var abortController = this.getAbortController();\n var response = plugin.put(key, object, __assign(__assign({}, config), { abortSignal: abortController.signal }));\n if (!this.isUploadTask(response)) {\n this.updateRequestToBeCancellable(response, abortController);\n }\n return response;\n };\n Storage.prototype.remove = function (key, config) {\n var provider = (config === null || config === void 0 ? void 0 : config.provider) || DEFAULT_PROVIDER;\n var plugin = this._pluggables.find(function (pluggable) { return pluggable.getProviderName() === provider; });\n if (plugin === undefined) {\n logger.debug('No plugin found with providerName', provider);\n return Promise.reject('No plugin found in Storage for the provider');\n }\n return plugin.remove(key, config);\n };\n Storage.prototype.list = function (path, config) {\n var provider = (config === null || config === void 0 ? void 0 : config.provider) || DEFAULT_PROVIDER;\n var plugin = this._pluggables.find(function (pluggable) { return pluggable.getProviderName() === provider; });\n if (plugin === undefined) {\n logger.debug('No plugin found with providerName', provider);\n return Promise.reject('No plugin found in Storage for the provider');\n }\n return plugin.list(path, config);\n };\n return Storage;\n}());\nexport { Storage };\n/**\n * Configure & register Storage singleton instance.\n */\nvar _instance = null;\nvar getInstance = function () {\n if (_instance) {\n return _instance;\n }\n loggerStorageInstance.debug('Create Storage Instance, debug');\n _instance = new Storage();\n _instance.vault = new Storage();\n var old_configure = _instance.configure;\n _instance.configure = function (options) {\n loggerStorageInstance.debug('storage configure called');\n var vaultConfig = __assign({}, old_configure.call(_instance, options));\n // set level private for each provider for the vault\n Object.keys(vaultConfig).forEach(function (providerName) {\n if (typeof vaultConfig[providerName] !== 'string') {\n vaultConfig[providerName] = __assign(__assign({}, vaultConfig[providerName]), { level: 'private' });\n }\n });\n loggerStorageInstance.debug('storage vault configure called');\n _instance.vault.configure(vaultConfig);\n };\n return _instance;\n};\nexport var StorageInstance = getInstance();\nAmplify.register(StorageInstance);\n","var prefix = \"far\";\nvar fa0 = {\n prefix: 'far',\n iconName: '0',\n icon: [320, 512, [], \"30\", \"M0 192C0 103.6 71.6 32 160 32s160 71.6 160 160V320c0 88.4-71.6 160-160 160S0 408.4 0 320V192zM160 80C98.1 80 48 130.1 48 192V320c0 61.9 50.1 112 112 112s112-50.1 112-112V192c0-61.9-50.1-112-112-112z\"]\n};\nvar fa1 = {\n prefix: 'far',\n iconName: '1',\n icon: [256, 512, [], \"31\", \"M152 56c0-8.7-4.7-16.7-12.3-21s-16.9-4-24.3 .5l-104 64c-11.3 6.9-14.8 21.7-7.9 33s21.7 14.8 33 7.9L104 98.9V432H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H128 232c13.3 0 24-10.7 24-24s-10.7-24-24-24H152V56z\"]\n};\nvar fa2 = {\n prefix: 'far',\n iconName: '2',\n icon: [320, 512, [], \"32\", \"M147.5 80c-26.6 0-52.2 10.6-71 29.4L41 145c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L42.6 75.5C70.4 47.6 108.2 32 147.5 32h7.3C232.8 32 296 95.2 296 173.2c0 39.1-16.2 76.4-44.7 103.1L84.8 432H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-9.9 0-18.7-6-22.3-15.2s-1.3-19.6 5.9-26.3L218.5 241.2c18.8-17.6 29.5-42.2 29.5-68c0-51.5-41.7-93.2-93.2-93.2h-7.3z\"]\n};\nvar fa3 = {\n prefix: 'far',\n iconName: '3',\n icon: [320, 512, [], \"33\", \"M0 56C0 42.7 10.7 32 24 32H280c9.8 0 18.6 6 22.3 15.1s1.4 19.5-5.7 26.3L147.7 216H188c72.9 0 132 59.1 132 132s-59.1 132-132 132H97.4c-39.4 0-75.4-22.3-93-57.5l-1.9-3.8c-5.9-11.9-1.1-26.3 10.7-32.2s26.3-1.1 32.2 10.7l1.9 3.8c9.5 19 28.9 31 50.1 31H188c46.4 0 84-37.6 84-84s-37.6-84-84-84H88c-9.8 0-18.6-6-22.3-15.1s-1.4-19.5 5.7-26.3L220.3 80H24C10.7 80 0 69.3 0 56z\"]\n};\nvar fa4 = {\n prefix: 'far',\n iconName: '4',\n icon: [384, 512, [], \"34\", \"M189.2 67.2c6.2-11.7 1.7-26.2-10-32.4s-26.2-1.7-32.4 10l-144 272c-3.9 7.4-3.7 16.4 .6 23.6S15.6 352 24 352H272V456c0 13.3 10.7 24 24 24s24-10.7 24-24V352h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H320V152c0-13.3-10.7-24-24-24s-24 10.7-24 24V304H63.9L189.2 67.2z\"]\n};\nvar fa5 = {\n prefix: 'far',\n iconName: '5',\n icon: [320, 512, [], \"35\", \"M32.4 51.9C34.4 40.4 44.3 32 56 32H264c13.3 0 24 10.7 24 24s-10.7 24-24 24H76.2L52.5 216H188c72.9 0 132 59.1 132 132s-59.1 132-132 132H92.5c-36.4 0-69.6-20.5-85.9-53.1l-4.1-8.2c-5.9-11.9-1.1-26.3 10.7-32.2s26.3-1.1 32.2 10.7l4.1 8.2C57.7 421.7 74.3 432 92.5 432H188c46.4 0 84-37.6 84-84s-37.6-84-84-84H24c-7.1 0-13.8-3.1-18.4-8.6S-.9 242.9 .4 235.9l32-184z\"]\n};\nvar fa6 = {\n prefix: 'far',\n iconName: '6',\n icon: [320, 512, [], \"36\", \"M272 320c0-61.9-50.1-112-112-112c-32.3 0-61.5 13.7-81.9 35.6l-5.1 6.3C56.8 269.7 48 294.5 48 320c0 61.9 50.1 112 112 112s112-50.1 112-112zM145.7 160.6c4.7-.4 9.5-.6 14.3-.6c88.4 0 160 71.6 160 160s-71.6 160-160 160S0 408.4 0 320c0-41.5 15.8-79.4 41.8-107.8L181.4 40.8c8.4-10.3 23.5-11.8 33.8-3.4s11.8 23.5 3.4 33.8l-72.9 89.5z\"]\n};\nvar fa7 = {\n prefix: 'far',\n iconName: '7',\n icon: [320, 512, [], \"37\", \"M0 56C0 42.7 10.7 32 24 32H296c8.6 0 16.6 4.7 20.9 12.2s4.1 16.8-.3 24.2l-240 400c-6.8 11.4-21.6 15-32.9 8.2s-15.1-21.6-8.2-32.9L253.6 80H24C10.7 80 0 69.3 0 56z\"]\n};\nvar fa8 = {\n prefix: 'far',\n iconName: '8',\n icon: [320, 512, [], \"38\", \"M304 156c0-68.5-55.5-124-124-124H140C71.5 32 16 87.5 16 156c0 37.7 16.8 71.4 43.3 94.2C23.7 272 0 311.2 0 356c0 68.5 55.5 124 124 124h72c68.5 0 124-55.5 124-124c0-44.8-23.7-84-59.3-105.8C287.2 227.4 304 193.7 304 156zM180.1 280H196c42 0 76 34 76 76s-34 76-76 76H124c-42 0-76-34-76-76s34-76 76-76h15.9c0 0 0 0 .1 0h40c0 0 0 0 .1 0zm0-48c0 0 0 0 0 0H140c0 0 0 0 0 0c-42 0-76-34-76-76c0-42 34-76 76-76l40 0c42 0 76 34 76 76c0 42-34 76-76 76z\"]\n};\nvar fa9 = {\n prefix: 'far',\n iconName: '9',\n icon: [320, 512, [], \"39\", \"M48 192c0 61.9 50.1 112 112 112c32.3 0 61.5-13.7 81.9-35.6l5.1-6.3C263.2 242.3 272 217.5 272 192c0-61.9-50.1-112-112-112S48 130.1 48 192zM174.3 351.4c-4.7 .4-9.5 .6-14.3 .6C71.6 352 0 280.4 0 192S71.6 32 160 32s160 71.6 160 160c0 41.5-15.8 79.4-41.8 107.8L138.6 471.2c-8.4 10.3-23.5 11.8-33.8 3.4s-11.8-23.5-3.4-33.8l72.9-89.5z\"]\n};\nvar faFillDrip = {\n prefix: 'far',\n iconName: 'fill-drip',\n icon: [576, 512, [], \"f576\", \"M39 7C48.4-2.3 63.6-2.3 73 7l89.4 89.4 58.7-58.7c28.1-28.1 73.7-28.1 101.8 0L474.3 189.1c28.1 28.1 28.1 73.7 0 101.8L283.9 481.4c-37.5 37.5-98.3 37.5-135.8 0L30.6 363.9c-37.5-37.5-37.5-98.3 0-135.8l97.8-97.8L39 41C29.7 31.6 29.7 16.4 39 7zM231 233l-68.7-68.7L64.6 262.1c-7.3 7.3-11.8 16.4-13.4 25.9H409.4l31-31c9.4-9.4 9.4-24.6 0-33.9L289 71.6c-9.4-9.4-24.6-9.4-33.9 0l-58.7 58.7L265 199c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0zM512 512c-35.3 0-64-28.7-64-64c0-25.2 32.6-79.6 51.2-108.7c6-9.4 19.5-9.4 25.5 0C543.4 368.4 576 422.8 576 448c0 35.3-28.7 64-64 64z\"]\n};\nvar faArrowsToCircle = {\n prefix: 'far',\n iconName: 'arrows-to-circle',\n icon: [640, 512, [], \"e4bd\", \"M7 7C16.4-2.3 31.6-2.3 41 7l119 119V88c0-13.3 10.7-24 24-24s24 10.7 24 24v96c0 13.3-10.7 24-24 24H88c-13.3 0-24-10.7-24-24s10.7-24 24-24h38.1L7 41C-2.3 31.6-2.3 16.4 7 7zM633 7c9.4 9.4 9.4 24.6 0 33.9l-119 119H552c13.3 0 24 10.7 24 24s-10.7 24-24 24H456c-13.3 0-24-10.7-24-24V88c0-13.3 10.7-24 24-24s24 10.7 24 24v38.1L599 7c9.4-9.4 24.6-9.4 33.9 0zM256 256a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM432 424V328c0-13.3 10.7-24 24-24h96c13.3 0 24 10.7 24 24s-10.7 24-24 24H513.9L633 471c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-119-119V424c0 13.3-10.7 24-24 24s-24-10.7-24-24zm-224 0c0 13.3-10.7 24-24 24s-24-10.7-24-24V385.9L41 505c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l119-119H88c-13.3 0-24-10.7-24-24s10.7-24 24-24h96c13.3 0 24 10.7 24 24v96z\"]\n};\nvar faCircleChevronRight = {\n prefix: 'far',\n iconName: 'circle-chevron-right',\n icon: [512, 512, [\"chevron-circle-right\"], \"f138\", \"M464 256A208 208 0 1 1 48 256a208 208 0 1 1 416 0zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM241 377L345 273c9.4-9.4 9.4-24.6 0-33.9L241 135c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l87 87-87 87c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0z\"]\n};\nvar faChevronCircleRight = faCircleChevronRight;\nvar faWagonCovered = {\n prefix: 'far',\n iconName: 'wagon-covered',\n icon: [640, 512, [], \"f8ee\", \"M569.8 4.1c45.9-3.1 79.9 41.8 64.6 85.2L567.8 278c5 4.4 8.2 10.9 8.2 18c0 12.9-10.2 23.5-23 24l0 0H542.4c20.7 20.3 33.6 48.7 33.6 80c0 61.9-50.1 112-112 112c-56.4 0-103.1-41.7-110.9-96H286.9c-7.8 54.3-54.4 96-110.9 96c-61.9 0-112-50.1-112-112c0-31.3 12.9-59.7 33.6-80H87l0 0c-12.8-.5-23-11.1-23-24c0-7.2 3.2-13.6 8.2-18L5.6 89.3C-9.7 45.9 24.3 1 70.2 4.1l119.7 8c21.6 1.4 41 10.6 55.5 24.7C258.4 23.9 276.3 16 296 16h48c19.7 0 37.6 7.9 50.6 20.8c14.5-14.1 33.9-23.3 55.5-24.7l119.7-8zM519 272L589.2 73.3C593 62.4 584.5 51.2 573 52L453.3 60c-21 1.4-37.3 18.9-37.3 39.9L416 272H519zM186.7 60L67 52c-11.5-.8-20 10.5-16.2 21.3L121 272H224V99.9c0-21.1-16.3-38.5-37.3-39.9zM368 272V88c0-13.3-10.7-24-24-24H296c-13.3 0-24 10.7-24 24V99.9 272h96zM160 416H114c5.8 22.5 23.5 40.2 46 46V416zm0-32V338c-22.5 5.8-40.2 23.5-46 46h46zm32 78c22.5-5.8 40.2-23.5 46-46H192v46zm0-124v46h46c-5.8-22.5-23.5-40.2-46-46zM448 462V416H402c5.8 22.5 23.5 40.2 46 46zm-46-78h46V338c-22.5 5.8-40.2 23.5-46 46zm124 32H480v46c22.5-5.8 40.2-23.5 46-46zm0-32c-5.8-22.5-23.5-40.2-46-46v46h46z\"]\n};\nvar faLineHeight = {\n prefix: 'far',\n iconName: 'line-height',\n icon: [576, 512, [], \"f871\", \"M113.8 39.9c-4.6-5.1-11-7.9-17.8-7.9s-13.3 2.9-17.8 7.9l-72 80c-8.9 9.9-8.1 25 1.8 33.9s25 8.1 33.9-1.8L72 118.5V393.5L41.8 359.9c-8.9-9.9-24-10.7-33.9-1.8s-10.7 24-1.8 33.9l72 80c4.6 5.1 11 7.9 17.8 7.9s13.3-2.9 17.8-7.9l72-80c8.9-9.9 8.1-25-1.8-33.9s-25-8.1-33.9 1.8L120 393.5V118.5l30.2 33.5c8.9 9.9 24 10.7 33.9 1.8s10.7-24 1.8-33.9l-72-80zM248 72c-13.3 0-24 10.7-24 24s10.7 24 24 24H552c13.3 0 24-10.7 24-24s-10.7-24-24-24H248zm0 160c-13.3 0-24 10.7-24 24s10.7 24 24 24H552c13.3 0 24-10.7 24-24s-10.7-24-24-24H248zM224 416c0 13.3 10.7 24 24 24H552c13.3 0 24-10.7 24-24s-10.7-24-24-24H248c-13.3 0-24 10.7-24 24z\"]\n};\nvar faBagel = {\n prefix: 'far',\n iconName: 'bagel',\n icon: [640, 512, [129391], \"e3d7\", \"M640 208c0 114.9-93.1 208-208 208c-3.9 0-7.7-.1-11.5-.3c6.5-12.3 12-25.3 16.3-38.8c4.7-.7 9.3-2.5 13.3-5.3L471 357.3c5.1-3.5 11-5.4 17.2-5.6l25.3-.7c13.2-.4 24.8-8.8 29.3-21.3l8.5-23.9c2.1-5.8 5.8-10.9 10.6-14.6L582 275.8c10.5-8.1 14.9-21.7 11.2-34.4L586 217c-1.7-5.9-1.7-12.2 0-18.1l7.2-24.3c3.7-12.7-.7-26.3-11.2-34.4l-20.1-15.5c-4.9-3.8-8.6-8.8-10.6-14.6l-8.5-23.9c-4.4-12.5-16.1-20.9-29.3-21.3l-25.3-.7c-6.2-.2-12.1-2.1-17.2-5.6L450.1 44.4c-10.9-7.5-25.3-7.5-36.2 0L393 58.7c-5.1 3.5-11 5.4-17.2 5.6L350.5 65c-13.2 .4-24.8 8.8-29.3 21.3l-1.8 5.1c-14.4-7.6-29.7-13.7-45.7-18.3C311.8 28.4 368.6 0 432 0C546.9 0 640 93.1 640 208zm-144 0c0 30.6-21.5 56.3-50.3 62.5c-6-43.3-23.6-82.9-49.5-115.6c10.2-6.9 22.6-11 35.9-11c35.3 0 64 28.7 64 64zM48 304a160 160 0 1 0 320 0A160 160 0 1 0 48 304zM0 304a208 208 0 1 1 416 0A208 208 0 1 1 0 304zm144-96a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm160 16a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM128 368a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm112 32a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48-16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM96 256a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm96 48a16 16 0 1 0 32 0 16 16 0 1 0 -32 0zm16 64a64 64 0 1 1 0-128 64 64 0 1 1 0 128z\"]\n};\nvar faTransporter7 = {\n prefix: 'far',\n iconName: 'transporter-7',\n icon: [512, 512, [], \"e2a8\", \"M480 64l-7.3-25.4c-1.1-3.9-4.7-6.6-8.7-6.6s-7.6 2.7-8.7 6.6L448 64l-25.4 7.3c-3.9 1.1-6.6 4.7-6.6 8.7s2.7 7.6 6.6 8.7L448 96l7.3 25.4c1.1 3.9 4.7 6.6 8.7 6.6s7.6-2.7 8.7-6.6L480 96l25.4-7.3c3.9-1.1 6.6-4.7 6.6-8.7s-2.7-7.6-6.6-8.7L480 64zM64 288l-7.3-25.4c-1.1-3.9-4.7-6.6-8.7-6.6s-7.6 2.7-8.7 6.6L32 288 6.6 295.3C2.7 296.4 0 299.9 0 304s2.7 7.6 6.6 8.7L32 320l7.3 25.4c1.1 3.9 4.7 6.6 8.7 6.6s7.6-2.7 8.7-6.6L64 320l25.4-7.3c3.9-1.1 6.6-4.7 6.6-8.7s-2.7-7.6-6.6-8.7L64 288zm56 176c-13.3 0-24 10.7-24 24s10.7 24 24 24H392c13.3 0 24-10.7 24-24s-10.7-24-24-24H120z\"]\n};\nvar faAt = {\n prefix: 'far',\n iconName: 'at',\n icon: [512, 512, [61946], \"40\", \"M256 48C141.1 48 48 141.1 48 256s93.1 208 208 208c13.3 0 24 10.7 24 24s-10.7 24-24 24C114.6 512 0 397.4 0 256S114.6 0 256 0S512 114.6 512 256v28c0 50.8-41.2 92-92 92c-31.1 0-58.7-15.5-75.3-39.2C322.7 360.9 291.1 376 256 376c-66.3 0-120-53.7-120-120s53.7-120 120-120c28.8 0 55.2 10.1 75.8 27c4.3-6.6 11.7-11 20.2-11c13.3 0 24 10.7 24 24v80 28c0 24.3 19.7 44 44 44s44-19.7 44-44V256c0-114.9-93.1-208-208-208zm72 208a72 72 0 1 0 -144 0 72 72 0 1 0 144 0z\"]\n};\nvar faRectanglesMixed = {\n prefix: 'far',\n iconName: 'rectangles-mixed',\n icon: [576, 512, [], \"e323\", \"M256 80c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H256zM64 32C28.7 32 0 60.7 0 96v96c0 35.3 28.7 64 64 64H256c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM512 80c8.8 0 16 7.2 16 16V320c0 8.8-7.2 16-16 16H448c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16h64zM448 32c-35.3 0-64 28.7-64 64V320c0 35.3 28.7 64 64 64h64c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H448zM128 352H272c8.8 0 16 7.2 16 16v48c0 8.8-7.2 16-16 16H128c-8.8 0-16-7.2-16-16V368c0-8.8 7.2-16 16-16zM64 368v48c0 35.3 28.7 64 64 64H272c35.3 0 64-28.7 64-64V368c0-35.3-28.7-64-64-64H128c-35.3 0-64 28.7-64 64z\"]\n};\nvar faPhoneArrowUpRight = {\n prefix: 'far',\n iconName: 'phone-arrow-up-right',\n icon: [512, 512, [\"phone-arrow-up\", \"phone-outgoing\"], \"e224\", \"M295 183l135-135H376c-13.3 0-24-10.7-24-24s10.7-24 24-24H488c13.3 0 24 10.7 24 24V136c0 13.3-10.7 24-24 24s-24-10.7-24-24V81.9L329 217c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9zm34 103.6c11.3-13.8 30.3-18.5 46.7-11.4l112 48c17.6 7.5 27.4 26.5 23.4 45.1l-24 112c-4 18.4-20.3 31.6-39.1 31.6l0 0c-6.1 0-12.2-.1-18.2-.4l-.1 0 0 0c-10-.4-19.8-1.1-29.6-2.2C175.2 485.6 0 295.2 0 64v0C0 45.1 13.2 28.8 31.6 24.9l112-24c18.7-4 37.6 5.8 45.1 23.4l48 112c7 16.4 2.4 35.4-11.4 46.7l-40.6 33.2c26.7 46 65.1 84.4 111.1 111.1L329 286.7zm133.8 78.1l-100.4-43L333 357.6c-14.9 18.2-40.8 22.9-61.2 11.1c-53.3-30.9-97.7-75.3-128.6-128.6c-11.8-20.4-7.1-46.3 11.1-61.2l35.9-29.4-43-100.4L48.1 70.5C51.5 286.2 225.8 460.5 441.5 464l21.3-99.2z\"]\n};\nvar faPhoneArrowUp = faPhoneArrowUpRight;\nvar faPhoneOutgoing = faPhoneArrowUpRight;\nvar faTrashCan = {\n prefix: 'far',\n iconName: 'trash-can',\n icon: [448, 512, [61460, \"trash-alt\"], \"f2ed\", \"M170.5 51.6L151.5 80h145l-19-28.4c-1.5-2.2-4-3.6-6.7-3.6H177.1c-2.7 0-5.2 1.3-6.7 3.6zm147-26.6L354.2 80H368h48 8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8V432c0 44.2-35.8 80-80 80H112c-44.2 0-80-35.8-80-80V128H24c-13.3 0-24-10.7-24-24S10.7 80 24 80h8H80 93.8l36.7-55.1C140.9 9.4 158.4 0 177.1 0h93.7c18.7 0 36.2 9.4 46.6 24.9zM80 128V432c0 17.7 14.3 32 32 32H336c17.7 0 32-14.3 32-32V128H80zm80 64V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8 7.2-16 16-16s16 7.2 16 16zm80 0V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8 7.2-16 16-16s16 7.2 16 16zm80 0V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faTrashAlt = faTrashCan;\nvar faCircleL = {\n prefix: 'far',\n iconName: 'circle-l',\n icon: [512, 512, [], \"e114\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM208 152c0-13.3-10.7-24-24-24s-24 10.7-24 24V360c0 13.3 10.7 24 24 24H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H208V152z\"]\n};\nvar faHeadSideGoggles = {\n prefix: 'far',\n iconName: 'head-side-goggles',\n icon: [512, 512, [\"head-vr\"], \"f6ea\", \"M.6 240H48.7C52 275.9 66 308.7 87.5 335.1c13.6 16.6 24.5 38.5 24.5 63.4V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V398.6c0-10.7-4.8-22.2-13.7-33.1C22 330.8 3.9 287.4 .6 240zM122.8 80h93.7C234 60.4 259.6 48 288 48H249.5L248 48H224c-37.7 0-72.6 11.8-101.2 32zM64 80H52.4C93.5 31.1 155.1 0 224 0h24c48.6 0 94.8 18.1 130.5 48H384h24 24 32c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H432 408 384 288c-28.4 0-54-12.4-71.6-32H64c-35.3 0-64-28.7-64-64s28.7-64 64-64zM464 272.4l0-.4h48l0 .4c0 35.1-28.5 63.6-63.6 63.6H448v48c0 35.3-28.7 64-64 64H320v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V424c0-13.3 10.7-24 24-24h88c8.8 0 16-7.2 16-16V312c0-13.3 10.7-24 24-24h24.4c8.6 0 15.6-7 15.6-15.6zM64 128c-8.8 0-16 7.2-16 16s7.2 16 16 16H193.3c-.9-5.2-1.3-10.5-1.3-16s.5-10.8 1.3-16H64zM384 96H288c-26.5 0-48 21.5-48 48s21.5 48 48 48h96V96zm48 0v96h32V96H432z\"]\n};\nvar faHeadVr = faHeadSideGoggles;\nvar faTextHeight = {\n prefix: 'far',\n iconName: 'text-height',\n icon: [576, 512, [], \"f034\", \"M48 128V80h88l0 352H88c-13.3 0-24 10.7-24 24s10.7 24 24 24H232c13.3 0 24-10.7 24-24s-10.7-24-24-24H184l0-352h88v48c0 13.3 10.7 24 24 24s24-10.7 24-24V72c0-22.1-17.9-40-40-40H40C17.9 32 0 49.9 0 72v56c0 13.3 10.7 24 24 24s24-10.7 24-24zM497 39c-9.4-9.4-24.6-9.4-33.9 0l-64 64c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l23-23V398.1l-23-23c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0l64-64c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-23 23V113.9l23 23c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L497 39z\"]\n};\nvar faUserXmark = {\n prefix: 'far',\n iconName: 'user-xmark',\n icon: [640, 512, [\"user-times\"], \"f235\", \"M224 48a80 80 0 1 1 0 160 80 80 0 1 1 0-160zm0 208A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 96h91.4c65.7 0 120.1 48.7 129 112H49.3c8.9-63.3 63.3-112 129-112zm0-48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304H178.3zM455 143c-9.4 9.4-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47c-9.4-9.4-24.6-9.4-33.9 0z\"]\n};\nvar faUserTimes = faUserXmark;\nvar faFaceHandYawn = {\n prefix: 'far',\n iconName: 'face-hand-yawn',\n icon: [512, 512, [], \"e379\", \"M48 256C48 141.1 141.1 48 256 48s208 93.1 208 208c0 59.4-24.9 113-64.9 150.9c2.9 15.1-1.5 31.3-13.2 43l-49 49C438.7 465.1 512 369.1 512 256C512 114.6 397.4 0 256 0S0 114.6 0 256c0 94.5 51.2 177 127.3 221.4c-9.8-18-15.3-38.6-15.3-60.5V406.1C72.6 368.2 48 315 48 256zm208-48c-44.2 0-81.3 29.8-92.5 70.4l.5 0c17.9 0 33.6 9 43 22.7l47.1-47.1c18.7-18.7 49.1-18.7 67.9 0c1 1 2 2.1 3 3.2c4.7-1.1 9.5-1.5 14.3-1.2C322.6 227.4 291.6 208 256 208zM226.7 105c-8.3-10.4-23.4-12-33.7-3.7l-80 64c-10.4 8.3-12 23.4-3.7 33.7s23.4 12 33.7 3.7l80-64c10.4-8.3 12-23.4 3.7-33.7zM289 138.7l80 64c10.3 8.3 25.5 6.6 33.7-3.7s6.6-25.5-3.8-33.7l-80-64c-10.4-8.3-25.5-6.6-33.7 3.7s-6.6 25.5 3.7 33.7zm10.3 137.9c-6.2-6.2-16.4-6.2-22.6 0l-79 79c-5 5-13.7 1.5-13.7-5.7V330.4c0-11-9-20-20-20s-20 9-20 20V384v32.8c0 52.6 42.6 95.2 95.2 95.2c25.2 0 49.5-10 67.3-27.9l56.8-56.8c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L321.4 424c-2.6 2.6-6.8 2.6-9.4 0s-2.6-6.8 0-9.4l51.3-51.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L289.4 392c-2.6 2.6-6.8 2.6-9.4 0s-2.6-6.8 0-9.4l67.3-67.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L257.4 360c-2.6 2.6-6.8 2.6-9.4 0s-2.6-6.8 0-9.4l51.3-51.3c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nvar faGaugeSimpleMin = {\n prefix: 'far',\n iconName: 'gauge-simple-min',\n icon: [512, 512, [\"tachometer-slowest\"], \"f62d\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm56-160c0-30.9-25.1-56-56-56c-10.3 0-19.9 2.8-28.2 7.6L117.6 228.2c-10.9-7.5-25.9-4.7-33.4 6.3s-4.7 25.9 6.3 33.4l110.2 75.4c-.4 2.9-.7 5.8-.7 8.8c0 30.9 25.1 56 56 56s56-25.1 56-56z\"]\n};\nvar faTachometerSlowest = faGaugeSimpleMin;\nvar faStethoscope = {\n prefix: 'far',\n iconName: 'stethoscope',\n icon: [576, 512, [129658], \"f0f1\", \"M142.5 15.6c4.7 12.4-1.6 26.2-14 30.9L85.2 62.7c-3.1 1.2-5.2 4.2-5.2 7.5V200c0 57.4 46.6 104 104 104h8 8c57.4 0 104-46.6 104-104V70.2c0-3.3-2.1-6.3-5.2-7.5L255.6 46.5c-12.4-4.7-18.7-18.5-14-30.9s18.5-18.7 30.9-14l43.2 16.2C337.5 25.9 352 46.8 352 70.2V200c0 78.5-59.5 143.1-135.8 151.1C219.9 414.1 272.1 464 336 464c66.3 0 120-53.7 120-120V268.3c-32.5-10.2-56-40.5-56-76.3c0-44.2 35.8-80 80-80s80 35.8 80 80c0 35.8-23.5 66.1-56 76.3V344c0 92.8-75.2 168-168 168c-90.4 0-164.1-71.4-167.8-160.8C91.7 343.3 32 278.6 32 200V70.2c0-23.3 14.5-44.2 36.3-52.4L111.6 1.5c12.4-4.7 26.2 1.6 30.9 14zM480 160a32 32 0 1 0 0 64 32 32 0 1 0 0-64z\"]\n};\nvar faCoffin = {\n prefix: 'far',\n iconName: 'coffin',\n icon: [384, 512, [9904], \"f6c6\", \"M48.2 145.8L133.8 48H250.2l85.6 97.8L243.9 464H140.1L48.2 145.8zM102.4 10.9l-91 104C4.1 123.3 0 134.2 0 145.4c0 4.4 .6 8.7 1.8 12.9L97.3 488.9c4 13.7 16.5 23.1 30.7 23.1H255.9c14.3 0 26.8-9.4 30.7-23.1l95.5-330.6c1.2-4.2 1.8-8.5 1.8-12.9c0-11.2-4.1-22.1-11.5-30.6l-91-104C275.5 4 266.7 0 257.5 0h-131c-9.2 0-18 4-24.1 10.9z\"]\n};\nvar faMessage = {\n prefix: 'far',\n iconName: 'message',\n icon: [512, 512, [\"comment-alt\"], \"f27a\", \"M160 368c26.5 0 48 21.5 48 48v16l72.5-54.4c8.3-6.2 18.4-9.6 28.8-9.6H448c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16V352c0 8.8 7.2 16 16 16h96zm48 124l-.2 .2-5.1 3.8-17.1 12.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V474.7v-6.4V468v-4V416H112 64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H309.3L208 492z\"]\n};\nvar faCommentAlt = faMessage;\nvar faSalad = {\n prefix: 'far',\n iconName: 'salad',\n icon: [512, 512, [129367, \"bowl-salad\"], \"f81e\", \"M416 96c-70.7 0-128 57.3-128 128c0 11 1.4 21.8 4 32H240V112c0-8.8-7.2-16-16-16s-16 7.2-16 16V249.4L107.3 148.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L169.4 256H96c-53 0-96-43-96-96s43-96 96-96c8.7 0 17.2 1.2 25.3 3.4C138.5 27.7 178 0 224 0s85.5 27.7 102.7 67.4c8-2.2 16.5-3.4 25.3-3.4c28.5 0 54.2 12.5 71.8 32.2c-2.6-.2-5.2-.2-7.8-.2zM117.9 422.3c12.9 5.7 22.7 16.7 26.8 30.3c2 6.6 8.2 11.4 15.3 11.4H352c7.2 0 13.4-4.8 15.3-11.4c4-13.5 13.8-24.6 26.8-30.3c35.2-15.4 61.2-47.6 68.1-86.3H49.8c6.9 38.7 32.9 70.9 68.1 86.3zM0 315.4C0 300.3 12.3 288 27.4 288H484.6c15.1 0 27.4 12.3 27.4 27.4c0 67.4-40.6 125.4-98.6 150.8C405.5 492.7 381 512 352 512H160c-29 0-53.5-19.3-61.4-45.7C40.6 440.8 0 382.9 0 315.4zM464 224c0-26.5-21.5-48-48-48s-48 21.5-48 48c0 12.3 4.6 23.5 12.2 32H325.5c-3.5-10-5.5-20.8-5.5-32c0-53 43-96 96-96s96 43 96 96c0 11.2-1.9 22-5.5 32H451.8c7.6-8.5 12.2-19.7 12.2-32z\"]\n};\nvar faBowlSalad = faSalad;\nvar faInfo = {\n prefix: 'far',\n iconName: 'info',\n icon: [192, 512, [], \"f129\", \"M56 72a40 40 0 1 1 80 0A40 40 0 1 1 56 72zM16 200c0-13.3 10.7-24 24-24H96c13.3 0 24 10.7 24 24V464h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H72V224H40c-13.3 0-24-10.7-24-24z\"]\n};\nvar faRobotAstromech = {\n prefix: 'far',\n iconName: 'robot-astromech',\n icon: [512, 512, [], \"e2d2\", \"M256 0C185.3 0 128 57.3 128 128v16H88c-30.9 0-56 25.1-56 56V410.9L2.1 478.3c-3.3 7.4-2.6 16 1.8 22.8S15.9 512 24 512H136c13.3 0 24-10.7 24-24V415.1l22.1 24.8c4.6 5.1 11.1 8.1 17.9 8.1H312c6.9 0 13.4-2.9 17.9-8.1L352 415.1V488c0 13.3 10.7 24 24 24H488c8.1 0 15.7-4.1 20.1-10.9s5.1-15.4 1.8-22.8L480 410.9V200c0-30.9-25.1-56-56-56H384V128C384 57.3 326.7 0 256 0zM192 96a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm112 0a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM88 192h24V352 464H60.9l17-38.3c1.4-3.1 2.1-6.4 2.1-9.7V200c0-4.4 3.6-8 8-8zm72 0H352V342.9L301.2 400H210.8L160 342.9V192zm240 0h24c4.4 0 8 3.6 8 8V416c0 3.4 .7 6.7 2.1 9.7l17 38.3H400V352 192zM208 224c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H208zm0 64c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H208z\"]\n};\nvar faRingDiamond = {\n prefix: 'far',\n iconName: 'ring-diamond',\n icon: [384, 512, [], \"e5ab\", \"M144 0c-8 0-15.5 4-20 10.7l-32 48c-5 7.5-5.4 17.1-1 25l31.8 57.2C51 168.6 0 238.4 0 320C0 426 86 512 192 512s192-86 192-192c0-81.6-51-151.4-122.8-179.1L293 83.7c4.4-7.9 4-17.5-1-25l-32-48C255.5 4 248 0 240 0H144zm68.8 129.1C206 128.4 199 128 192 128s-14 .4-20.8 1.1l-31.1-56L156.8 48h70.3l16.8 25.1-31.1 56zM48 320a144 144 0 1 1 288 0A144 144 0 1 1 48 320z\"]\n};\nvar faFonduePot = {\n prefix: 'far',\n iconName: 'fondue-pot',\n icon: [512, 512, [129749], \"e40d\", \"M319 39.8l-24 96c-2.9 11.5-11.6 20-22.2 23L264.5 192h-33l10.2-41c-7.9-7.7-11.7-19.3-8.8-30.8l24-96C261.2 7.1 278.6-3.3 295.8 1s27.6 21.7 23.3 38.8zm62.9 120.2L360.6 192H322.1l33.2-49.8c-4.9-9.9-4.5-22.1 2.1-31.9l64-96C431.2-.5 451-4.4 465.8 5.4s18.7 29.7 8.9 44.4l-64 96c-6.6 9.9-17.7 14.9-28.7 14.2zM48 320c0 61.9 50.1 112 112 112H288c61.9 0 112-50.1 112-112V272H192v24c0 13.3-10.7 24-24 24s-24-10.7-24-24V280c0-4.4-3.6-8-8-8s-8 3.6-8 8v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V272H48v48zM0 256c0-17.7 14.3-32 32-32H400h16 32 40c13.3 0 24 10.7 24 24s-10.7 24-24 24H448v48c0 52.3-25.1 98.8-64 128v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V472.7c-15.2 4.8-31.3 7.3-48 7.3H160c-16.7 0-32.8-2.6-48-7.3V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V448C25.1 418.8 0 372.3 0 320V256z\"]\n};\nvar faTheta = {\n prefix: 'far',\n iconName: 'theta',\n icon: [384, 512, [], \"f69e\", \"M56 256c0-55 16.6-103.9 42.1-138.4S157.2 64 192 64s68.3 19 93.9 53.6S328 201 328 256s-16.6 103.9-42.1 138.5S226.8 448 192 448s-68.3-19-93.9-53.5S56 311 56 256zM192 16C138.4 16 91.9 45.4 59.6 89S8 191.7 8 256s19.3 123.4 51.6 167s78.9 73 132.4 73s100.1-29.4 132.4-73S376 320.3 376 256s-19.3-123.4-51.6-167S245.6 16 192 16zM120 232c-13.3 0-24 10.7-24 24s10.7 24 24 24H264c13.3 0 24-10.7 24-24s-10.7-24-24-24H120z\"]\n};\nvar faFaceHandPeeking = {\n prefix: 'far',\n iconName: 'face-hand-peeking',\n icon: [640, 512, [129763], \"e481\", \"M496.4 145.7c.4-.5 .9-1 1.4-1.4c12.9-12.9 31.8-16.1 47.7-9.6C502.2 54.5 417.5 0 320 0C248.5 0 183.8 29.3 137.3 76.6c7.7 1.8 14.9 5.7 20.9 11.7c6.6 6.6 10.6 14.7 12.2 23.2C208.2 72.3 261.3 48 320 48c74.4 0 139.6 39 176.4 97.7zm40.7 246c-5.4 .7-10.8 1.1-16.3 1.1H476.6C438.5 436.5 382.5 464 320 464c-79.9 0-149.3-45-184.1-111.1H119.2c-13.3 0-26.4-2.2-38.8-6.5C117 443.2 210.4 512 320 512c91.5 0 171.8-48 217.1-120.2zM352.8 264c-10.4-10.2-16.8-24.3-16.8-40c0-28.5 21.2-52 48.7-55.5c1-5.5 3.3-10.9 6.7-15.7c5.1-7.1 12.1-12.1 19.7-14.6c-6.2-1.4-12.6-2.1-19.2-2.1c-48.6 0-88 39.4-88 88c0 40.3 27.1 74.3 64.1 84.7c.1-1.4 .3-2.8 .6-4.2C358.6 297.3 352 285.4 352 272c0-2.7 .3-5.4 .8-8zM320 432c35.3 0 64-21.5 64-48s-28.7-48-64-48s-64 21.5-64 48s28.7 48 64 48zm90.3-192c3.8-4.2 6.1-9.9 6.1-16c0-13.3-10.7-24-24-24s-24 10.7-24 24c0 6.1 2.3 11.8 6.1 16h35.8zM248 192c0-8.8-7.2-16-16-16H118.2c-7.1 0-10.7-8.6-5.7-13.7l28.8-28.8c7.8-7.8 7.8-20.5 0-28.3s-20.5-7.8-28.3 0L51.9 166.4l-.8 .8C14.7 204.4 15 264.1 51.9 301c17.9 17.9 42.1 27.9 67.3 27.9H184c8.8 0 16-7.2 16-16s-7.2-16-16-16H170c-2.5 0-4.5-2-4.5-4.5s2-4.5 4.5-4.5h62c8.8 0 16-7.2 16-16s-7.2-16-16-16H169.6c-2.2 0-4-1.8-4-4s1.8-4 4-4l78.4 0c8.8 0 16-7.2 16-16s-7.2-16-16-16H169.6c-2.2 0-4-1.8-4-4s1.8-4 4-4l62.4 0c8.8 0 16-7.2 16-16zm163-25.3c-5.1 7.2-3.5 17.2 3.7 22.3l59.7 42.6c3.5 2.5 5.6 6.6 5.6 10.9c0 7.4-6 13.4-13.4 13.4L392 256c-8.8 0-16 7.2-16 16s7.2 16 16 16h84c2.2 0 4 1.8 4 4s-1.8 4-4 4H408c-8.8 0-16 7.2-16 16s7.2 16 16 16l67.5 0c2.5 0 4.5 2 4.5 4.5s-2 4.5-4.5 4.5H456c-8.8 0-16 7.2-16 16s7.2 16 16 16h64.8c25.2 0 49.5-10 67.3-27.9c36.9-36.9 37.2-96.6 .8-133.8l-.8-.8L543 161.3c-7.8-7.8-20.5-7.8-28.3 0s-7.8 20.5 0 28.3l14.8 14.8c6.6 6.6 2.7 18-6.6 19c-2.8 .3-5.6-.4-7.8-2L433.3 163c-7.2-5.1-17.2-3.5-22.3 3.7z\"]\n};\nvar faSquareUser = {\n prefix: 'far',\n iconName: 'square-user',\n icon: [448, 512, [], \"e283\", \"M384 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16h-1c-7.9-63.1-61.7-112-127-112H192c-65.3 0-119.1 48.9-127 112H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H384zM334.4 432H113.6c7.4-36.5 39.7-64 78.4-64h64c38.7 0 71 27.5 78.4 64zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM224 240a40 40 0 1 1 0-80 40 40 0 1 1 0 80zm-88-40a88 88 0 1 0 176 0 88 88 0 1 0 -176 0z\"]\n};\nvar faDownLeftAndUpRightToCenter = {\n prefix: 'far',\n iconName: 'down-left-and-up-right-to-center',\n icon: [512, 512, [\"compress-alt\"], \"f422\", \"M296 256H444.7c19.5 0 35.3-15.8 35.3-35.3c0-9.4-3.7-18.3-10.3-25L441.9 168 496 113.9c18.7-18.7 18.7-49.1 0-67.9L465.9 16c-18.7-18.7-49.1-18.7-67.9 0L344 70.1 316.3 42.3c-6.6-6.6-15.6-10.3-25-10.3C271.8 32 256 47.8 256 67.3V216c0 22.1 17.9 40 40 40zm95-71l23 23H304V97.9l23 23c9.4 9.4 24.6 9.4 33.9 0l71-71L462.1 80l-71 71c-9.4 9.4-9.4 24.6 0 33.9zM67.3 256C47.8 256 32 271.8 32 291.3c0 9.4 3.7 18.3 10.3 25L70.1 344 16 398.1c-18.7 18.7-18.7 49.1 0 67.9L46.1 496c18.7 18.7 49.1 18.7 67.9 0L168 441.9l27.7 27.7c6.6 6.6 15.6 10.3 25 10.3c19.5 0 35.3-15.8 35.3-35.3V296c0-22.1-17.9-40-40-40H67.3zM121 327l-23-23H208V414.1l-23-23c-9.4-9.4-24.6-9.4-33.9 0l-71 71L49.9 432l71-71c9.4-9.4 9.4-24.6 0-33.9z\"]\n};\nvar faCompressAlt = faDownLeftAndUpRightToCenter;\nvar faExplosion = {\n prefix: 'far',\n iconName: 'explosion',\n icon: [576, 512, [], \"e4e9\", \"M543.2 30.2c3.1-11.6-2.8-23.7-13.9-28.3s-23.9-.4-30 9.9L344.7 274.1 311.2 145.9C308.5 135.4 298.9 128 288 128s-20.5 7.4-23.2 17.9L227.4 289.4 145 207c-7.6-7.6-19.4-9.2-28.8-3.9s-14.1 16.2-11.5 26.7l23.9 95.7-70.8-5.4c-9.2-.7-18 4-22.7 12s-4.2 18 1.1 25.6L87.7 432h58.4l-41.7-60.2 53.7 4.1c7.7 .6 15.2-2.6 20.2-8.4s6.8-13.8 4.9-21.3l-11-43.9L223 353c6.1 6.1 15 8.4 23.3 6.2s14.8-8.8 16.9-17.1l24.8-95 24.8 95c2.4 9.4 10.3 16.4 19.9 17.7s19.1-3.2 24-11.6L451.2 188 408.8 345.8c-2 7.6-.2 15.7 4.8 21.7s12.7 9.2 20.5 8.4l36.9-3.4L429.9 432h58.4l51.5-74.3c5.3-7.7 5.7-17.7 1-25.8s-13.6-12.7-22.9-11.8L464.1 325 543.2 30.2zM465.9 464H430.1l0 0H389.2c-10.8-45.9-52-80-101.2-80s-90.4 34.1-101.2 80H145.9l0 0H110.1l0 0H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H552c13.3 0 24-10.7 24-24s-10.7-24-24-24H465.9l0 0zm-228.5 0c9-18.9 28.3-32 50.6-32s41.6 13.1 50.6 32H237.4zM312 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V72c0 13.3 10.7 24 24 24s24-10.7 24-24V24z\"]\n};\nvar faFileLines = {\n prefix: 'far',\n iconName: 'file-lines',\n icon: [384, 512, [128441, 128462, 61686, \"file-alt\", \"file-text\"], \"f15c\", \"M64 464c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zm56 256c-13.3 0-24 10.7-24 24s10.7 24 24 24H264c13.3 0 24-10.7 24-24s-10.7-24-24-24H120zm0 96c-13.3 0-24 10.7-24 24s10.7 24 24 24H264c13.3 0 24-10.7 24-24s-10.7-24-24-24H120z\"]\n};\nvar faFileAlt = faFileLines;\nvar faFileText = faFileLines;\nvar faWaveSquare = {\n prefix: 'far',\n iconName: 'wave-square',\n icon: [640, 512, [], \"f83e\", \"M136 56c0-13.3 10.7-24 24-24H320c13.3 0 24 10.7 24 24V432H456V256c0-13.3 10.7-24 24-24H616c13.3 0 24 10.7 24 24s-10.7 24-24 24H504V456c0 13.3-10.7 24-24 24H320c-13.3 0-24-10.7-24-24V80H184V256c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H136V56z\"]\n};\nvar faRing = {\n prefix: 'far',\n iconName: 'ring',\n icon: [512, 512, [], \"f70b\", \"M59.7 168c8.9-9.4 22.9-19 42.1-27.6C140 123.2 194.5 112 256 112s116 11.2 154.2 28.4c19.1 8.6 33.2 18.2 42.1 27.6c8.8 9.3 11.7 17.4 11.7 24s-2.9 14.7-11.7 24c-.8 .9-1.7 1.7-2.5 2.6C402.4 191.8 332.2 176 256 176s-146.4 15.8-193.8 42.6c-.9-.9-1.7-1.7-2.5-2.6C50.9 206.7 48 198.6 48 192s2.9-14.7 11.7-24zM464 268.6V320c0 6.6-2.9 14.7-11.7 24c-8.9 9.4-22.9 19-42.1 27.6C372 388.8 317.5 400 256 400s-116-11.2-154.2-28.4c-19.1-8.6-33.2-18.2-42.1-27.6C50.9 334.7 48 326.6 48 320V268.6c10.3 7.1 21.8 13.3 34.1 18.9C127.9 307.9 189.4 320 256 320s128.1-12.1 173.9-32.6c12.4-5.5 23.9-11.8 34.1-18.9zM0 192V320c0 22.1 10.1 41.4 24.8 57c14.6 15.4 34.5 28.2 57.4 38.5C127.9 435.9 189.4 448 256 448s128.1-12.1 173.9-32.6c22.8-10.2 42.8-23 57.4-38.5c14.7-15.6 24.8-34.9 24.8-57V192c0-22.1-10.1-41.4-24.8-57c-14.6-15.4-34.5-28.2-57.4-38.5C384.1 76.1 322.6 64 256 64S127.9 76.1 82.1 96.6C59.3 106.8 39.3 119.6 24.8 135C10.1 150.6 0 169.9 0 192zm256 80c-56.1 0-106.4-9.3-143.8-24c37.1-14.5 87.3-24 143.8-24s106.7 9.5 143.8 24c-37.4 14.7-87.7 24-143.8 24z\"]\n};\nvar faBuildingUn = {\n prefix: 'far',\n iconName: 'building-un',\n icon: [384, 512, [], \"e4d9\", \"M64 48c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16h80V400c0-26.5 21.5-48 48-48s48 21.5 48 48v64h80c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H64zM0 64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM104 248h48c8.8 0 16 7.2 16 16v48c0 8.8-7.2 16-16 16H104c-8.8 0-16-7.2-16-16V264c0-8.8 7.2-16 16-16zm112 16c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v48c0 8.8-7.2 16-16 16H232c-8.8 0-16-7.2-16-16V264zM237.3 87.1l34.7 52V96c0-8.8 7.2-16 16-16s16 7.2 16 16v96c0 7.1-4.6 13.3-11.4 15.3s-14-.6-17.9-6.4l-34.7-52V192c0 8.8-7.2 16-16 16s-16-7.2-16-16V96c0-7.1 4.6-13.3 11.4-15.3s14 .6 17.9 6.4zM112 96v64c0 8.8 7.2 16 16 16s16-7.2 16-16V96c0-8.8 7.2-16 16-16s16 7.2 16 16v64c0 26.5-21.5 48-48 48s-48-21.5-48-48V96c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faDiceThree = {\n prefix: 'far',\n iconName: 'dice-three',\n icon: [448, 512, [9858], \"f527\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm128 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm96 96a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm64 128a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faTirePressureWarning = {\n prefix: 'far',\n iconName: 'tire-pressure-warning',\n icon: [512, 512, [], \"f633\", \"M424 0c-13.3 0-24 10.7-24 24V54.5c0 30.1 4.9 60 14.4 88.5l2.5 7.4c6.1 18.4 14.4 35.6 22.2 51.5c15 30.5 26.3 66.3 22 105.3c-4 36.7-22.3 79.2-70.5 124.8H121.4c-48.2-45.6-66.4-88.1-70.5-124.8c-4.3-39 7-74.8 22-105.3c7.8-15.8 16.1-33 22.2-51.5l2.5-7.4c9.5-28.6 14.4-58.4 14.4-88.5V24c0-13.3-10.7-24-24-24S64 10.7 64 24V54.5c0 24.9-4 49.7-11.9 73.4l-2.5 7.4c-5 15-11.9 29.6-19.7 45.4C12.7 215.5-2.5 260.9 3.2 312.4c5.5 49.7 30 102.1 84.8 154.1V496c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V480h48v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V480h48v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V480h48v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V466.5c54.8-51.9 79.3-104.3 84.8-154.1c5.7-51.5-9.5-96.9-26.7-131.8c-7.8-15.8-14.7-30.4-19.7-45.4l-2.5-7.4C452 104.2 448 79.4 448 54.5V24c0-13.3-10.7-24-24-24zM256 96c-13.3 0-24 10.7-24 24V232c0 13.3 10.7 24 24 24s24-10.7 24-24V120c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faWifiFair = {\n prefix: 'far',\n iconName: 'wifi-fair',\n icon: [640, 512, [\"wifi-2\"], \"f6ab\", \"M152.4 321.2C196.5 280.7 255.4 256 320 256s123.5 24.7 167.6 65.2c9.8 9 24.9 8.3 33.9-1.5s8.3-24.9-1.5-33.9C467.4 237.5 397.1 208 320 208s-147.4 29.5-200.1 77.9c-9.8 9-10.4 24.1-1.5 33.9s24.1 10.4 33.9 1.5zM320 480a56 56 0 1 0 0-112 56 56 0 1 0 0 112z\"]\n};\nvar faWifi2 = faWifiFair;\nvar faCalendarDays = {\n prefix: 'far',\n iconName: 'calendar-days',\n icon: [448, 512, [\"calendar-alt\"], \"f073\", \"M152 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H64C28.7 64 0 92.7 0 128v16 48V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V192 144 128c0-35.3-28.7-64-64-64H344V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H152V24zM48 192h80v56H48V192zm0 104h80v64H48V296zm128 0h96v64H176V296zm144 0h80v64H320V296zm80-48H320V192h80v56zm0 160v40c0 8.8-7.2 16-16 16H320V408h80zm-128 0v56H176V408h96zm-144 0v56H64c-8.8 0-16-7.2-16-16V408h80zM272 248H176V192h96v56z\"]\n};\nvar faCalendarAlt = faCalendarDays;\nvar faMp3Player = {\n prefix: 'far',\n iconName: 'mp3-player',\n icon: [384, 512, [], \"f8ce\", \"M320 48c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H320zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM192 304a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 128a96 96 0 1 0 0-192 96 96 0 1 0 0 192zM112 80c-17.7 0-32 14.3-32 32v48c0 17.7 14.3 32 32 32H272c17.7 0 32-14.3 32-32V112c0-17.7-14.3-32-32-32H112z\"]\n};\nvar faAnchorCircleCheck = {\n prefix: 'far',\n iconName: 'anchor-circle-check',\n icon: [640, 512, [], \"e4aa\", \"M320 80a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM288 0c-44.2 0-80 35.8-80 80c0 35.9 23.7 66.3 56.3 76.4c-.2 1.2-.3 2.4-.3 3.6v32H216c-13.3 0-24 10.7-24 24s10.7 24 24 24h48V464H240c-73.7 0-133.7-58.6-135.9-131.8l16.3 14c10.1 8.6 25.2 7.5 33.8-2.6s7.5-25.2-2.6-33.8l-56-48c-9-7.7-22.3-7.7-31.2 0l-56 48c-10.1 8.6-11.2 23.8-2.6 33.8s23.8 11.2 33.8 2.6L56 332.1C58.2 431.8 139.8 512 240 512h48 48c17.2 0 33.9-2.4 49.7-6.8c-14.7-11.8-27.4-25.9-37.6-41.7c-4 .4-8 .5-12.1 .5H312V240h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H312V160c0-1.2-.1-2.4-.3-3.6C344.3 146.3 368 115.9 368 80c0-44.2-35.8-80-80-80zM640 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faTally4 = {\n prefix: 'far',\n iconName: 'tally-4',\n icon: [640, 512, [], \"e297\", \"M152 64c0-13.3-10.7-24-24-24s-24 10.7-24 24V448c0 13.3 10.7 24 24 24s24-10.7 24-24V64zm128 0c0-13.3-10.7-24-24-24s-24 10.7-24 24V448c0 13.3 10.7 24 24 24s24-10.7 24-24V64zM384 40c-13.3 0-24 10.7-24 24V448c0 13.3 10.7 24 24 24s24-10.7 24-24V64c0-13.3-10.7-24-24-24zM536 64c0-13.3-10.7-24-24-24s-24 10.7-24 24V448c0 13.3 10.7 24 24 24s24-10.7 24-24V64z\"]\n};\nvar faRectangleHistory = {\n prefix: 'far',\n iconName: 'rectangle-history',\n icon: [512, 512, [], \"e4a2\", \"M464 224c0-8.8-7.2-16-16-16L64 208c-8.8 0-16 7.2-16 16l0 224c0 8.8 7.2 16 16 16l384 0c8.8 0 16-7.2 16-16l0-224zm-16-64c35.3 0 64 28.7 64 64l0 224c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 224c0-35.3 28.7-64 64-64l384 0zm-8-80c13.3 0 24 10.7 24 24s-10.7 24-24 24L72 128c-13.3 0-24-10.7-24-24s10.7-24 24-24l368 0zM392 0c13.3 0 24 10.7 24 24s-10.7 24-24 24L120 48c-13.3 0-24-10.7-24-24s10.7-24 24-24L392 0z\"]\n};\nvar faBuildingCircleArrowRight = {\n prefix: 'far',\n iconName: 'building-circle-arrow-right',\n icon: [640, 512, [], \"e4d1\", \"M64 48H320c8.8 0 16 7.2 16 16V294.6c11.1-24.3 27.7-45.5 48-62.3V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c19.5 0 37-8.7 48.7-22.5c-13.4-14-24.5-30.3-32.7-48.1V448c0 8.8-7.2 16-16 16H240V400c0-26.5-21.5-48-48-48s-48 21.5-48 48v64H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16zm24 56v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V104c0-8.8-7.2-16-16-16H104c-8.8 0-16 7.2-16 16zM232 88c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V104c0-8.8-7.2-16-16-16H232zM88 232v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V232c0-8.8-7.2-16-16-16H104c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V232c0-8.8-7.2-16-16-16H232zM640 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zM492.7 300.7c6.2-6.2 16.4-6.2 22.6 0l56 56c6.2 6.2 6.2 16.4 0 22.6l-56 56c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L521.4 384H432c-8.8 0-16-7.2-16-16s7.2-16 16-16h89.4l-28.7-28.7c-6.2-6.2-6.2-16.4 0-22.6z\"]\n};\nvar faVolleyball = {\n prefix: 'far',\n iconName: 'volleyball',\n icon: [512, 512, [127952, \"volleyball-ball\"], \"f45f\", \"M371.5 429c-71.4 7-145.1-8.2-210-47.1c-8.8 14.8-16.2 30.3-22.3 46.3C172.5 450.8 212.7 464 256 464c42.7 0 82.5-12.9 115.5-35zm60.1-61.5c9.2-14.4 16.6-30.1 22.1-46.7c-65.9 7.3-134.5-4.3-197.1-37.1c-25.9 16.5-48.4 36.5-67.2 58.9c75.2 43.8 163.6 51 242.3 24.9zm31.8-96.4c.4-5 .5-10 .5-15.1c0-77.9-42.8-145.8-106.3-181.5c35.6 58.4 54.2 127.7 49.6 200.3c18.8 .5 37.6-.7 56.1-3.8zM101 394.7C127.6 334 172 280.5 231.7 242.7c-1.3-30-7.1-58.9-16.8-85.9C140.2 189.5 85.7 249.6 58.1 320.3c9 27.9 23.8 53.1 42.9 74.5zm-52-159.9C84.1 182.9 133.8 140 195.2 113c-8.7-15.7-18.7-30.4-29.9-44.2C101.9 99.6 56.5 161.6 49.1 234.8zM213.3 52.4c39.3 53.4 63.5 118.6 66.4 189.2c25.7 13.4 52.6 22.6 79.9 27.9c4.6-84.1-26.8-163-81.5-220.4c-7.2-.8-14.6-1.2-22.1-1.2c-14.6 0-28.9 1.5-42.7 4.4zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256 0l0 0h0l0 0z\"]\n};\nvar faVolleyballBall = faVolleyball;\nvar faSunHaze = {\n prefix: 'far',\n iconName: 'sun-haze',\n icon: [640, 512, [], \"f765\", \"M439.7 19.7c-1.5-8-6.9-14.7-14.4-17.8s-16.1-2.2-22.8 2.4L320 61.1 237.5 4.2c-6.7-4.6-15.3-5.5-22.8-2.4s-12.9 9.8-14.4 17.8l-18.1 98.5L83.7 136.3c-8 1.5-14.7 6.9-17.8 14.4s-2.2 16.1 2.4 22.8L125.1 256l0 0h53.2c0-4.8-1.4-9.5-4.2-13.6l-45.2-65.6 78.3-14.4c9.8-1.8 17.5-9.5 19.3-19.3l14.4-78.3L306.4 110c8.2 5.7 19 5.7 27.2 0l65.6-45.2 14.4 78.3c1.8 9.8 9.5 17.5 19.3 19.3l78.3 14.4L466 242.4c-2.8 4.1-4.2 8.9-4.2 13.6h53.2l0 0 56.9-82.5c4.6-6.7 5.5-15.3 2.4-22.8s-9.8-12.9-17.8-14.4l-98.5-18.1L439.7 19.7zM432 256c0-61.9-50.1-112-112-112s-112 50.1-112 112v0h48v0c0-35.3 28.7-64 64-64s64 28.7 64 64v0h48v0zm184 32H504c-13.3 0-24 10.7-24 24s10.7 24 24 24H616c13.3 0 24-10.7 24-24s-10.7-24-24-24zm-208 0H88c-13.3 0-24 10.7-24 24s10.7 24 24 24H408c13.3 0 24-10.7 24-24s-10.7-24-24-24zM576 400c0-13.3-10.7-24-24-24H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H552c13.3 0 24-10.7 24-24zM88 464c-13.3 0-24 10.7-24 24s10.7 24 24 24H200c13.3 0 24-10.7 24-24s-10.7-24-24-24H88zm208 0c-13.3 0-24 10.7-24 24s10.7 24 24 24H616c13.3 0 24-10.7 24-24s-10.7-24-24-24H296z\"]\n};\nvar faTextSize = {\n prefix: 'far',\n iconName: 'text-size',\n icon: [640, 512, [], \"f894\", \"M48 128V80H168l0 352H120c-13.3 0-24 10.7-24 24s10.7 24 24 24H264c13.3 0 24-10.7 24-24s-10.7-24-24-24H216l0-352H336v48c0 13.3 10.7 24 24 24s24-10.7 24-24V72c0-22.1-17.9-40-40-40H40C17.9 32 0 49.9 0 72v56c0 13.3 10.7 24 24 24s24-10.7 24-24zM360 296V272h96l0 160H424c-13.3 0-24 10.7-24 24s10.7 24 24 24H536c13.3 0 24-10.7 24-24s-10.7-24-24-24H504l0-160h88v24c0 13.3 10.7 24 24 24s24-10.7 24-24V264c0-22.1-17.9-40-40-40H352c-22.1 0-40 17.9-40 40v32c0 13.3 10.7 24 24 24s24-10.7 24-24z\"]\n};\nvar faUfo = {\n prefix: 'far',\n iconName: 'ufo',\n icon: [640, 512, [128760], \"e047\", \"M176.6 246.3c-17.5 16.4-17.5 16.4-17.5 16.5l0 0 0 .1 .1 .1 .3 .3c.2 .2 .4 .4 .7 .7c.6 .5 1.3 1.2 2.2 2.1c1.8 1.6 4.3 3.7 7.6 6.2c6.6 4.8 16.1 10.9 29.1 16.8c26.1 11.9 65.3 23 120.8 23s94.7-11.1 120.8-23c13-5.9 22.6-12 29.1-16.8c3.3-2.4 5.8-4.5 7.6-6.2c.9-.8 1.6-1.5 2.2-2.1c.3-.3 .5-.5 .7-.7l.3-.3 .1-.1 0-.1 0 0c0 0 0 0-17.5-16.5l17.5 16.4c3.7-3.9 6-9 6.4-14.4c.5-5.8 .7-11.6 .6-17.2c30 8.9 54.6 19.9 72.5 31.8c24.1 16.2 31.5 30.9 31.5 41.6c0 7.9-3.8 17.7-15.8 29.1c-12 11.5-30.8 23-55.8 33.1C470.3 387 399.4 400 320 400s-150.3-13-200.3-33.2c-25.1-10.1-43.8-21.6-55.8-33.1C51.8 322.2 48 312.4 48 304.5c0-10.7 7.4-25.4 31.5-41.6c17.9-12 42.4-23 72.5-31.8c-.1 5.7 .1 11.4 .6 17.2c.5 5.4 2.7 10.5 6.4 14.4l17.5-16.4zm302.8-67.2C456.8 110.9 392.6 64 320 64s-136.8 46.9-159.4 115.1c-42.7 10.5-80 25.4-107.8 44C23.4 242.9 0 270.2 0 304.5c0 25.1 12.7 46.7 30.7 63.9c17.9 17.1 42.6 31.4 71 42.9C158.8 434.3 236 448 320 448s161.2-13.7 218.3-36.7c28.5-11.5 53.1-25.8 71-42.9c18-17.1 30.7-38.7 30.7-63.9c0-34.3-23.4-61.7-52.8-81.4c-27.8-18.6-65.1-33.5-107.8-44zM440 234.6c-4.1 2.9-10.4 6.8-19.1 10.8c-19.6 8.9-52 18.7-100.9 18.7s-81.3-9.7-100.9-18.7c-8.7-4-15-7.9-19.1-10.8C199.2 164.7 255 112 320 112s120.8 52.7 120 122.6zM152 312a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm192 40a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm168-16a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faFork = {\n prefix: 'far',\n iconName: 'fork',\n icon: [512, 512, [\"utensil-fork\"], \"f2e3\", \"M398.4 43.2c10.6-8 12.8-23 4.8-33.6s-23-12.8-33.6-4.8l-122.7 92c-4.4 3.3-8.6 7-12.6 10.9l-1.9 1.9c-20.8 20.8-32.5 49-32.5 78.4c0 24.5 8.1 48.1 22.8 67.3L7 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L256.7 289.2C275.9 303.9 299.5 312 324 312c29.4 0 57.6-11.7 78.4-32.5l1.9-1.9c3.9-3.9 7.6-8.1 10.9-12.6l92-122.7c8-10.6 5.8-25.6-4.8-33.6s-25.6-5.8-33.6 4.8l-92 122.7c-2 2.6-4.1 5.1-6.4 7.4l-1.9 1.9C356.7 257.4 340.7 264 324 264s-32.7-6.6-44.5-18.4l-6.5-6.5c0 0 0 0 0 0s0 0 0 0l-6.5-6.5C254.6 220.7 248 204.7 248 188s6.6-32.7 18.4-44.5l1.9-1.9c2.3-2.3 4.8-4.5 7.4-6.4l122.7-92zM457 89c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L307 171c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L457 89z\"]\n};\nvar faUtensilFork = faFork;\nvar faArrowsUpToLine = {\n prefix: 'far',\n iconName: 'arrows-up-to-line',\n icon: [576, 512, [], \"e4c2\", \"M24 80l528 0c13.3 0 24-10.7 24-24s-10.7-24-24-24L24 32C10.7 32 0 42.7 0 56S10.7 80 24 80zM7 239c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l63-63L104 456c0 13.3 10.7 24 24 24s24-10.7 24-24l0-246.1 63 63c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L145 135c-4.5-4.5-10.6-7-17-7s-12.5 2.5-17 7L7 239zM327 273c9.4 9.4 24.6 9.4 33.9 0l63-63L424 456c0 13.3 10.7 24 24 24s24-10.7 24-24l0-246.1 63 63c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L465 135c-9.4-9.4-24.6-9.4-33.9 0L327 239c-9.4 9.4-9.4 24.6 0 33.9z\"]\n};\nvar faMobileSignal = {\n prefix: 'far',\n iconName: 'mobile-signal',\n icon: [512, 512, [], \"e1ef\", \"M64 48H288c8.8 0 16 7.2 16 16V298.7c14.5-14.1 30.6-26.5 48-37V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H224V488c0-8.1 .4-16.1 1.1-24H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16zm80 352c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H144zM488 256c-128.1 0-232 103.9-232 232c0 13.3 10.7 24 24 24s24-10.7 24-24c0-101.6 82.4-184 184-184c13.3 0 24-10.7 24-24s-10.7-24-24-24zm-8 256a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm32-136c0-13.3-10.7-24-24-24c-75.1 0-136 60.9-136 136c0 13.3 10.7 24 24 24s24-10.7 24-24c0-48.6 39.4-88 88-88c13.3 0 24-10.7 24-24z\"]\n};\nvar faBarcodeScan = {\n prefix: 'far',\n iconName: 'barcode-scan',\n icon: [640, 512, [], \"f465\", \"M88 32C74.7 32 64 42.7 64 56V192h48V56c0-13.3-10.7-24-24-24zM64 456c0 13.3 10.7 24 24 24s24-10.7 24-24V320H64V456zm96 8c0 8.8 7.2 16 16 16s16-7.2 16-16V320H160V464zm64-8c0 13.3 10.7 24 24 24s24-10.7 24-24V320H224V456zm0-400V192h48V56c0-13.3-10.7-24-24-24s-24 10.7-24 24zM336 456c0 13.3 10.7 24 24 24s24-10.7 24-24V320H336V456zm0-400V192h48V56c0-13.3-10.7-24-24-24s-24 10.7-24 24zM464 464c0 8.8 7.2 16 16 16s16-7.2 16-16V320H464V464zm0-416V192h32V48c0-8.8-7.2-16-16-16s-16 7.2-16 16zm64 408c0 13.3 10.7 24 24 24s24-10.7 24-24V320H528V456zm0-400V192h48V56c0-13.3-10.7-24-24-24s-24 10.7-24 24zM160 192h32V48c0-8.8-7.2-16-16-16s-16 7.2-16 16V192zM0 256c0 13.3 10.7 24 24 24l592 0c13.3 0 24-10.7 24-24s-10.7-24-24-24L24 232c-13.3 0-24 10.7-24 24z\"]\n};\nvar faSortDown = {\n prefix: 'far',\n iconName: 'sort-down',\n icon: [320, 512, [\"sort-desc\"], \"f0dd\", \"M160 425.4L70.6 336H249.4L160 425.4zm-22.6 45.3c12.5 12.5 32.8 12.5 45.3 0l128-128c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8H32c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l128 128z\"]\n};\nvar faSortDesc = faSortDown;\nvar faFolderArrowDown = {\n prefix: 'far',\n iconName: 'folder-arrow-down',\n icon: [512, 512, [\"folder-download\"], \"e053\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H289.9L247 53.1C233.5 39.6 215.2 32 196.1 32H64zM48 96c0-8.8 7.2-16 16-16H196.1c6.4 0 12.5 2.5 17 7l45.3 45.3c7.5 7.5 17.7 11.7 28.3 11.7H448c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96zM280 200c0-13.3-10.7-24-24-24s-24 10.7-24 24V302.1l-31-31c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l72 72c9.4 9.4 24.6 9.4 33.9 0l72-72c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-31 31V200z\"]\n};\nvar faFolderDownload = faFolderArrowDown;\nvar faCircleMinus = {\n prefix: 'far',\n iconName: 'circle-minus',\n icon: [512, 512, [\"minus-circle\"], \"f056\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM184 232c-13.3 0-24 10.7-24 24s10.7 24 24 24H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H184z\"]\n};\nvar faMinusCircle = faCircleMinus;\nvar faFaceIcicles = {\n prefix: 'far',\n iconName: 'face-icicles',\n icon: [512, 512, [], \"e37c\", \"M256 48C141.1 48 48 141.1 48 256c0 1.4-.1 2.7-.3 4l-15 180c-.4 4.5-4.1 8-8.7 8s-8.3-3.5-8.7-8L.3 260c-.2-1.3-.3-2.6-.3-4C0 114.6 114.6 0 256 0S512 114.6 512 256c0 1-.1 2-.2 3L496.5 504c-.3 4.5-4 8-8.5 8s-8.2-3.5-8.5-8L464.2 259c-.1-1-.2-2-.2-3c0-114.9-93.1-208-208-208zM168 320c-13.3 0-24 10.7-24 24s10.7 24 24 24h8V320h-8zm40 48h32V320H208v48zm96 0V320H272v48h32zm32 0h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8v48zM168 288H344c30.9 0 56 25.1 56 56c0 15.7-6.4 29.8-16.8 40l-8.9 86.7c-.5 5.3-5 9.3-10.3 9.3s-9.7-4-10.3-9.3l-7.3-70.8c-.8 0-1.6 .1-2.5 .1H317.3l-6.5 38.8c-.9 5.3-5.5 9.2-10.9 9.2s-10-3.9-10.9-9.2L282.7 400H168c-30.9 0-56-25.1-56-56s25.1-56 56-56zm-23.6-80a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM256 512c-75.5 0-143.3-32.7-190.2-84.6L72 353.1C106.9 419.1 176.2 464 256 464c3.5 0 6.9-.1 10.3-.3c7.9 10 20.2 16.3 33.7 16.3c7.9 0 15.4-2.2 21.9-6c1 10.1 5.6 19.1 12.4 25.8c-24.7 7.9-51 12.2-78.3 12.2zm151.3-49.5l7.4-72c8.9-10.5 16.8-21.9 23.5-34.1l4.7 74.6c-10.8 11.6-22.8 22.2-35.6 31.6z\"]\n};\nvar faShovel = {\n prefix: 'far',\n iconName: 'shovel',\n icon: [512, 512, [], \"f713\", \"M375 7c9.4-9.4 24.6-9.4 33.9 0l96 96c9.4 9.4 9.4 24.6 0 33.9l-44.1 44.1c-17.2 17.2-40.6 26.9-65 26.9c-16.7 0-32.3-4.4-45.8-12.2L241 305l56.4 56.4c12.5 12.5 12.5 32.8 0 45.3l-58.5 58.5c-30 30-70.7 46.9-113.1 46.9H32c-17.7 0-32-14.3-32-32V386.3c0-42.4 16.9-83.1 46.9-113.1l58.5-58.5c12.5-12.5 32.8-12.5 45.3 0L207 271 316.2 161.9c-7.8-13.5-12.2-29.1-12.2-45.8c0-24.4 9.7-47.7 26.9-65L375 7zm17 50.9L364.9 85.1c-8.2 8.2-12.9 19.4-12.9 31c0 24.2 19.6 43.9 43.9 43.9c11.6 0 22.8-4.6 31-12.9L454.1 120 392 57.9zM125.7 464c29.7 0 58.2-11.8 79.2-32.8L252.1 384 128 259.9 80.8 307.1c-21 21-32.8 49.5-32.8 79.2V464h77.7z\"]\n};\nvar faDoorOpen = {\n prefix: 'far',\n iconName: 'door-open',\n icon: [576, 512, [], \"f52b\", \"M272 49.7V464H112l0-371.2L272 49.7zM320 464V42.4C320 19 301 0 277.6 0c-3.7 0-7.4 .5-11 1.5L99.5 46.4C78.6 52.1 64 71.1 64 92.8V464H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H64 96h16H272h48V464zM224 288c13.2 0 24-14.4 24-32s-10.8-32-24-32s-24 14.4-24 32s10.7 32 24 32zM352 112H456c4.4 0 8 3.6 8 8V488c0 13.3 10.7 24 24 24h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H512V120c0-30.9-25.1-56-56-56H352v48z\"]\n};\nvar faFilms = {\n prefix: 'far',\n iconName: 'films',\n icon: [576, 512, [], \"e17a\", \"M256 264V232H416v32 72H256V264zm0-80V152 80H416v72 32H256zM440 32H416 256 232 208 160c-35.3 0-64 28.7-64 64v32 24 24 64 24 24 32c0 35.3 28.7 64 64 64h48 24 24H416h24 24 48c35.3 0 64-28.7 64-64V288 264 240 176 152 128 96c0-35.3-28.7-64-64-64H464 440zM160 80h48v48H144V96c0-8.8 7.2-16 16-16zm-16 96h64v32 32H144V176zm0 112h64v48H160c-8.8 0-16-7.2-16-16V288zm368 48H464V288h64v32c0 8.8-7.2 16-16 16zm16-96H464V208 176h64v64zm0-112H464V80h48c8.8 0 16 7.2 16 16v32zM48 120c0-13.3-10.7-24-24-24S0 106.7 0 120V344c0 75.1 60.9 136 136 136H456c13.3 0 24-10.7 24-24s-10.7-24-24-24H136c-48.6 0-88-39.4-88-88V120z\"]\n};\nvar faRightFromBracket = {\n prefix: 'far',\n iconName: 'right-from-bracket',\n icon: [512, 512, [\"sign-out-alt\"], \"f2f5\", \"M352 146.2L462 256 352 365.8l0-53.8c0-13.3-10.7-24-24-24l-120 0 0-64 120 0c13.3 0 24-10.7 24-24l0-53.8zM512 256c0-11.5-4.6-22.5-12.7-30.6L383.2 109.6c-8.7-8.7-20.5-13.6-32.8-13.6c-25.6 0-46.4 20.8-46.4 46.4l0 33.6-96 0c-26.5 0-48 21.5-48 48l0 64c0 26.5 21.5 48 48 48l96 0 0 33.6c0 25.6 20.8 46.4 46.4 46.4c12.3 0 24.1-4.9 32.8-13.6L499.3 286.6c8.1-8.1 12.7-19.1 12.7-30.6zM168 80c13.3 0 24-10.7 24-24s-10.7-24-24-24L88 32C39.4 32 0 71.4 0 120L0 392c0 48.6 39.4 88 88 88l80 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-80 0c-22.1 0-40-17.9-40-40l0-272c0-22.1 17.9-40 40-40l80 0z\"]\n};\nvar faSignOutAlt = faRightFromBracket;\nvar faFaceGlasses = {\n prefix: 'far',\n iconName: 'face-glasses',\n icon: [512, 512, [], \"e377\", \"M256 464C141.1 464 48 370.9 48 256c0-1.8 0-3.5 .1-5.3C49.5 280.4 74 304 104 304h80c30.9 0 56-25.1 56-56V200c0-2.7-.2-5.4-.6-8h33.1c-.4 2.6-.6 5.3-.6 8v48c0 30.9 25.1 56 56 56h80c30 0 54.5-23.6 55.9-53.3c0 1.8 .1 3.5 .1 5.3c0 114.9-93.1 208-208 208zM224 160.8c-10.2-10.4-24.3-16.8-40-16.8H104c-10.1 0-19.6 2.7-27.8 7.4C112.2 89.6 179.3 48 256 48s143.8 41.6 179.8 103.4c-8.2-4.7-17.7-7.4-27.8-7.4H328c-15.7 0-29.8 6.4-40 16.8V160H224v.8zM256 512c141.4 0 256-114.6 256-256c0-22.8-3-44.8-8.5-65.8c5.1-2.7 8.5-8 8.5-14.2c0-8.8-7.2-16-16-16h-2.6C455.4 66.2 363.4 0 256 0S56.6 66.2 18.6 160H16c-8.8 0-16 7.2-16 16c0 6.1 3.5 11.5 8.5 14.2C3 211.2 0 233.2 0 256C0 397.4 114.6 512 256 512zM143.7 332.7c-9.7 9-10.4 24.2-1.4 33.9c22 23.8 60 49.4 113.6 49.4s91.7-25.5 113.6-49.4c9-9.7 8.4-24.9-1.4-33.9s-24.9-8.4-33.9 1.4C319.2 350.5 293.2 368 256 368s-63.2-17.5-78.4-33.9c-9-9.7-24.2-10.4-33.9-1.4zM304 200c0-13.3 10.7-24 24-24h80c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H328c-13.3 0-24-10.7-24-24V200zM104 176h80c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H104c-13.3 0-24-10.7-24-24V200c0-13.3 10.7-24 24-24zm88.4 48a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm160 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faNfc = {\n prefix: 'far',\n iconName: 'nfc',\n icon: [448, 512, [], \"e1f7\", \"M384 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM272 256c0-17.8-9.7-33.3-24-41.6V160h72V352H128V160h8c13.3 0 24-10.7 24-24s-10.7-24-24-24H120c-22.1 0-40 17.9-40 40V360c0 22.1 17.9 40 40 40H328c22.1 0 40-17.9 40-40V152c0-22.1-17.9-40-40-40H240c-22.1 0-40 17.9-40 40v62.4c-14.3 8.3-24 23.8-24 41.6c0 26.5 21.5 48 48 48s48-21.5 48-48z\"]\n};\nvar faAtom = {\n prefix: 'far',\n iconName: 'atom',\n icon: [512, 512, [9883], \"f5d2\", \"M306.3 417.2c-16.3-4.7-33.1-10.9-50.3-18.4c-17.1 7.5-34 13.6-50.3 18.4C224.1 455.5 243.1 464 256 464s31.9-8.5 50.3-46.8zM293 325.7c14.8-8.9 28.7-18.1 41.4-27.6c1-13.5 1.6-27.6 1.6-42.1s-.5-28.6-1.6-42.1c-12.8-9.4-26.6-18.7-41.4-27.6c-12.5-7.5-24.9-14.2-37-20.2c-12.1 6-24.5 12.7-37 20.2c-14.8 8.9-28.7 18.1-41.4 27.6c-1 13.5-1.6 27.6-1.6 42.1s.5 28.6 1.6 42.1c12.8 9.4 26.6 18.7 41.4 27.6c12.5 7.5 24.9 14.2 37 20.2c12.1-6 24.5-12.7 37-20.2zm120.5-32.2c-10.2 10.2-21.3 20.2-33.4 29.9c-2.4 20.1-5.8 39.2-10.3 57c37.2 2.2 51.9-9.1 57.8-19.7c6.5-11.7 8.2-32.8-14.1-67.2zM469.6 128c20.7 37.1 9.4 82.8-23.6 128c33 45.2 44.3 90.9 23.6 128c-20.2 36.3-62.5 49.3-115.2 43.2c-22 52.1-55.6 84.8-98.4 84.8s-76.4-32.7-98.4-84.8c-52.7 6.1-95-6.8-115.2-43.2C21.7 346.9 33 301.2 66 256c-33-45.2-44.3-90.9-23.6-128c20.2-36.3 62.5-49.3 115.2-43.2C179.6 32.7 213.2 0 256 0s76.4 32.7 98.4 84.8c52.7-6.1 95 6.8 115.2 43.2zM84.4 360.7c5.9 10.6 20.6 22 57.8 19.7c-4.5-17.8-7.9-36.9-10.3-57c-12-9.7-23.2-19.8-33.4-29.9C76.2 327.8 77.8 349 84.4 360.7zM98.5 218.5c10.2-10.2 21.3-20.2 33.4-29.9c2.4-20.1 5.8-39.2 10.3-57c-37.2-2.3-51.9 9.1-57.8 19.7c-6.5 11.7-8.2 32.8 14.1 67.2zM256 113.2c17.1-7.5 34-13.6 50.3-18.4C287.9 56.5 268.9 48 256 48s-31.9 8.5-50.3 46.8c16.3 4.7 33.1 10.9 50.3 18.4zm124.2 75.4c12 9.7 23.2 19.8 33.4 29.9c22.3-34.3 20.6-55.5 14.1-67.2c-5.9-10.6-20.6-22-57.8-19.7c4.5 17.8 7.9 36.9 10.3 57zM256 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faSoap = {\n prefix: 'far',\n iconName: 'soap',\n icon: [512, 512, [129532], \"e06e\", \"M208 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM96 192H209.1c2.5 17.7 9.2 34 18.9 48H96c-26.5 0-48 21.5-48 48V416c0 26.5 21.5 48 48 48H416c26.5 0 48-21.5 48-48V288c0-26.5-21.5-48-48-48h-4.1c9.6-13.7 16.1-29.6 18.8-46.9c46 7.1 81.3 46.9 81.3 94.9V416c0 53-43 96-96 96H96c-53 0-96-43-96-96V288c0-53 43-96 96-96zm224 96h32c35.3 0 64 28.7 64 64s-28.7 64-64 64H160c-35.3 0-64-28.7-64-64s28.7-64 64-64H320zM128 352c0 17.7 14.3 32 32 32H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H160c-17.7 0-32 14.3-32 32zM320 208a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0-112a80 80 0 1 1 0 160 80 80 0 1 1 0-160zM384 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faIcons = {\n prefix: 'far',\n iconName: 'icons',\n icon: [512, 512, [\"heart-music-camera-bolt\"], \"f86d\", \"M59.6 54.4c11.1-9.4 30.8-8.7 43.5 3.7l8 8.1 17.5 17.8 17.1-18.3 7.3-7.8c12.5-12 31.7-13.1 43.8-3.4c14.2 12.1 14.8 33.3 2 46.2l0 0-70.7 70.8-71-70.8 0 0C44.3 87.9 44.9 66.6 59.5 54.5l0 0 .1-.1zM28.8 17.6C-7.7 47.9-9.4 102 23.1 134.6l0 0L101.7 213c14.7 15.1 38.3 14.1 52.5 .4l0 0 .3-.3 78.3-78.5 0 0C265.4 102 263.6 48 227.6 17.7l0 0-.3-.3c-29.9-24.3-71-21.9-99.3-1C99.7-4.4 58.2-7 28.8 17.6zM512 24c0-7.2-3.2-14-8.8-18.6s-12.9-6.4-19.9-5l-160 32C312.1 34.7 304 44.6 304 56V161.5c-5.1-1-10.5-1.5-16-1.5c-35.3 0-64 21.5-64 48s28.7 48 64 48s64-21.5 64-48V75.7L464 53.3v76.2c-5.1-1-10.5-1.5-16-1.5c-35.3 0-64 21.5-64 48s28.7 48 64 48s64-21.5 64-48V24zM106.9 309.5l2.7-5.5h68.7l2.7 5.5c8.1 16.3 24.8 26.5 42.9 26.5c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V352c0-8.8 7.2-16 16-16c18.2 0 34.8-10.3 42.9-26.5zM224 288l-7.2-14.3c-5.4-10.8-16.5-17.7-28.6-17.7H99.8c-12.1 0-23.2 6.8-28.6 17.7L64 288c-35.3 0-64 28.7-64 64v96c0 35.3 28.7 64 64 64H224c35.3 0 64-28.7 64-64V352c0-35.3-28.7-64-64-64zM192 392a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM473.4 259.1c-6-4.4-14.3-4-19.9 .9l-128 112c-5 4.4-6.8 11.4-4.4 17.7s8.3 10.4 15 10.4h55.7l-38.4 89.7c-2.9 6.9-.7 14.9 5.3 19.2s14.3 4 19.9-.9l128-112c5-4.4 6.8-11.4 4.4-17.7s-8.3-10.4-15-10.4H440.3l38.4-89.7c2.9-6.9 .7-14.9-5.3-19.2z\"]\n};\nvar faHeartMusicCameraBolt = faIcons;\nvar faMicrophoneLinesSlash = {\n prefix: 'far',\n iconName: 'microphone-lines-slash',\n icon: [640, 512, [\"microphone-alt-slash\"], \"f539\", \"M472.1 344.7c15.2-26 23.9-56.3 23.9-88.7V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v40c0 21.2-5.1 41.1-14.2 58.7L408 294.5c5.2-11.8 8-24.8 8-38.5V96c0-53-43-96-96-96s-96 43-96 96v54.3L38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L472.1 344.7zM272 187.9V96c0-26.5 21.5-48 48-48s48 21.5 48 48H336c-8.8 0-16 7.2-16 16s7.2 16 16 16h32v32H336c-8.8 0-16 7.2-16 16s7.2 16 16 16h32v64c0 2.3-.2 4.6-.5 6.8L272 187.9zm86.2 190.3C346.1 382 333.3 384 320 384c-70.7 0-128-57.3-128-128v-8.7L144.7 210c-.5 1.9-.7 3.9-.7 6v40c0 89.1 66.2 162.7 152 174.4V464H248c-13.3 0-24 10.7-24 24s10.7 24 24 24h72 72c13.3 0 24-10.7 24-24s-10.7-24-24-24H344V430.4c20.4-2.8 39.7-9.1 57.3-18.2l-43.1-33.9z\"]\n};\nvar faMicrophoneAltSlash = faMicrophoneLinesSlash;\nvar faClosedCaptioningSlash = {\n prefix: 'far',\n iconName: 'closed-captioning-slash',\n icon: [640, 512, [], \"e135\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-30-23.5c4.6-8.8 7.2-18.9 7.2-29.6V96c0-35.3-28.7-64-64-64H96c-6.7 0-13.1 1-19.2 2.9L38.8 5.1zM134.4 80H544c8.8 0 16 7.2 16 16V413.6l-92.1-72.2c10.5-5.4 19.9-12.7 27.7-21.4c8.8-9.9 8-25-1.9-33.9s-25-8-33.9 1.9c-8.8 9.9-21.6 16-35.8 16c-1.4 0-2.7-.1-4.1-.2l-41.4-32.5c-1.6-4.8-2.5-10-2.5-15.4c0-26.5 21.5-48 48-48c14.2 0 27 6.1 35.8 16c8.8 9.9 24 10.7 33.9 1.9s10.7-24 1.9-33.9c-17.5-19.6-43.1-32-71.5-32c-45.4 0-83.4 31.5-93.4 73.8l-22.4-17.5c2.9-8.1 1.5-17.4-4.7-24.3c-16.6-18.5-40.4-30.6-67-31.9L134.4 80zm353 400l-60.9-48H96c-8.8 0-16-7.2-16-16V159L32 121.2V416c0 35.3 28.7 64 64 64H487.4zM295 328.4l-39.1-30.8c-7 4.1-15.2 6.4-23.9 6.4c-26.5 0-48-21.5-48-48c0-4.7 .7-9.2 1.9-13.5l-39.1-30.8C139.9 224.9 136 240 136 256c0 53 43 96 96 96c24.1 0 46.2-8.9 63-23.6z\"]\n};\nvar faCalculatorSimple = {\n prefix: 'far',\n iconName: 'calculator-simple',\n icon: [512, 512, [\"calculator-alt\"], \"f64c\", \"M256 0c13.3 0 24 10.7 24 24V232H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H280V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V280H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H232V24c0-13.3 10.7-24 24-24zM400 32c13.3 0 24 10.7 24 24V88h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H424v32c0 13.3-10.7 24-24 24s-24-10.7-24-24V136H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h32V56c0-13.3 10.7-24 24-24zM55.4 343.4c9.4-9.4 24.6-9.4 33.9 0L112 366.1l22.6-22.6c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L145.9 400l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L112 433.9 89.4 456.6c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L78.1 400 55.4 377.4c-9.4-9.4-9.4-24.6 0-33.9zM64 88h96c13.3 0 24 10.7 24 24s-10.7 24-24 24H64c-13.3 0-24-10.7-24-24s10.7-24 24-24zM352 336h96c13.3 0 24 10.7 24 24s-10.7 24-24 24H352c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 80h96c13.3 0 24 10.7 24 24s-10.7 24-24 24H352c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faCalculatorAlt = faCalculatorSimple;\nvar faBridgeCircleCheck = {\n prefix: 'far',\n iconName: 'bridge-circle-check',\n icon: [640, 512, [], \"e4c9\", \"M56 32C42.7 32 32 42.7 32 56s10.7 24 24 24h48v64H56c-13.3 0-24 10.7-24 24s10.7 24 24 24h72H256 496h88c13.3 0 24-10.7 24-24s-10.7-24-24-24H536V80h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H56zM339.1 288.1c8-15.7 18.3-30 30.4-42.5C359 241.9 347.8 240 336 240H304c-57.4 0-104 46.6-104 104v88H152V336c0-53-43-96-96-96c-13.3 0-24 10.7-24 24s10.7 24 24 24c26.5 0 48 21.5 48 48V440c0 22.1 17.9 40 40 40h64c22.1 0 40-17.9 40-40V344c0-30.9 25.1-56 56-56h32c1.1 0 2.1 0 3.1 .1zM488 80v64H408V80h80zM360 80v64H280V80h80zM232 80v64H152V80h80zM640 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-99.3-43.3c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 385.4l60.7-60.7z\"]\n};\nvar faSlidersUp = {\n prefix: 'far',\n iconName: 'sliders-up',\n icon: [512, 512, [\"sliders-v\"], \"f3f1\", \"M96 0c13.3 0 24 10.7 24 24V83.7c32.5 10.2 56 40.5 56 76.3s-23.5 66.1-56 76.3V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V236.3C39.5 226.1 16 195.8 16 160s23.5-66.1 56-76.3V24C72 10.7 82.7 0 96 0zm0 192a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM256 384a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm80-32c0 35.8-23.5 66.1-56 76.3V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V428.3c-32.5-10.2-56-40.5-56-76.3s23.5-66.1 56-76.3V24c0-13.3 10.7-24 24-24s24 10.7 24 24V275.7c32.5 10.2 56 40.5 56 76.3zM448 192a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-8 76.3V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V268.3c-32.5-10.2-56-40.5-56-76.3s23.5-66.1 56-76.3V24c0-13.3 10.7-24 24-24s24 10.7 24 24v91.7c32.5 10.2 56 40.5 56 76.3s-23.5 66.1-56 76.3z\"]\n};\nvar faSlidersV = faSlidersUp;\nvar faLocationMinus = {\n prefix: 'far',\n iconName: 'location-minus',\n icon: [384, 512, [\"map-marker-minus\"], \"f609\", \"M336 192c0-79.5-64.5-144-144-144S48 112.5 48 192c0 12.4 4.5 31.6 15.3 57.2c10.5 24.8 25.4 52.2 42.5 79.9c28.5 46.2 61.5 90.8 86.2 122.6c24.8-31.8 57.8-76.4 86.2-122.6c17.1-27.7 32-55.1 42.5-79.9C331.5 223.6 336 204.4 336 192zm48 0c0 87.4-117 243-168.3 307.2c-12.3 15.3-35.1 15.3-47.4 0C117 435 0 279.4 0 192C0 86 86 0 192 0S384 86 384 192zM120 168H264c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faMapMarkerMinus = faLocationMinus;\nvar faPumpMedical = {\n prefix: 'far',\n iconName: 'pump-medical',\n icon: [448, 512, [], \"e06a\", \"M168 0h48c25.4 0 46.8 16.9 53.7 40h46.4c19.1 0 37.4 7.6 50.9 21.1L409 103c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L333.1 95c-4.5-4.5-10.6-7-17-7H272v40H224V56c0-4.4-3.6-8-8-8H168c-4.4 0-8 3.6-8 8v72H112V56c0-30.9 25.1-56 56-56zM101.5 222.7l-18.7 224C82.1 456 89.4 464 98.8 464H285.2c9.4 0 16.7-8 15.9-17.3l-18.7-224c-.7-8.3-7.6-14.7-15.9-14.7H117.4c-8.3 0-15.3 6.4-15.9 14.7zm-47.8-4c2.8-33.2 30.5-58.7 63.8-58.7H266.6c33.3 0 61 25.5 63.8 58.7l18.7 224c3.1 37.3-26.3 69.3-63.8 69.3H98.8c-37.4 0-66.9-32-63.8-69.3l18.7-224zM216 296v16h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H216v16c0 13.3-10.7 24-24 24s-24-10.7-24-24V360H152c-13.3 0-24-10.7-24-24s10.7-24 24-24h16V296c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faFingerprint = {\n prefix: 'far',\n iconName: 'fingerprint',\n icon: [512, 512, [], \"f577\", \"M48 256C48 141.1 141.1 48 256 48c63.1 0 119.6 28.1 157.8 72.5c8.6 10.1 23.8 11.2 33.8 2.6s11.2-23.8 2.6-33.8C403.3 34.6 333.7 0 256 0C114.6 0 0 114.6 0 256v40c0 13.3 10.7 24 24 24s24-10.7 24-24V256zm458.5-52.9c-2.7-13-15.5-21.3-28.4-18.5s-21.3 15.5-18.5 28.4c2.9 13.9 4.5 28.3 4.5 43.1v40c0 13.3 10.7 24 24 24s24-10.7 24-24V256c0-18.1-1.9-35.8-5.5-52.9zM256 80c-19 0-37.4 3-54.5 8.6c-15.2 5-18.7 23.7-8.3 35.9c7.1 8.3 18.8 10.8 29.4 7.9c10.6-2.9 21.8-4.4 33.4-4.4c70.7 0 128 57.3 128 128v24.9c0 25.2-1.5 50.3-4.4 75.3c-1.7 14.6 9.4 27.8 24.2 27.8c11.8 0 21.9-8.6 23.3-20.3c3.3-27.4 5-55 5-82.7V256c0-97.2-78.8-176-176-176zM150.7 148.7c-9.1-10.6-25.3-11.4-33.9-.4C93.7 178 80 215.4 80 256v24.9c0 24.2-2.6 48.4-7.8 71.9C68.8 368.4 80.1 384 96.1 384c10.5 0 19.9-7 22.2-17.3c6.4-28.1 9.7-56.8 9.7-85.8V256c0-27.2 8.5-52.4 22.9-73.1c7.2-10.4 8-24.6-.2-34.2zM352 256c0-53-43-96-96-96s-96 43-96 96v24.9c0 35.9-4.6 71.5-13.8 106.1c-3.8 14.3 6.7 29 21.5 29c9.5 0 17.9-6.2 20.4-15.4c10.5-39 15.9-79.2 15.9-119.7V256c0-28.7 23.3-52 52-52s52 23.3 52 52v24.9c0 36.3-3.5 72.4-10.4 107.9c-2.7 13.9 7.7 27.2 21.8 27.2c10.2 0 19-7 21-17c7.7-38.8 11.6-78.3 11.6-118.1V256zm-96-24c-13.3 0-24 10.7-24 24v24.9c0 59.9-11 119.3-32.5 175.2l-5.9 15.3c-4.8 12.4 1.4 26.3 13.8 31s26.3-1.4 31-13.8l5.9-15.3C267.9 411.9 280 346.7 280 280.9V256c0-13.3-10.7-24-24-24z\"]\n};\nvar faSkiBoot = {\n prefix: 'far',\n iconName: 'ski-boot',\n icon: [512, 512, [], \"e3cc\", \"M364.1 .3c13.1 2.2 21.8 14.6 19.6 27.7l-45 262.4L449 345.7c19 9.5 31 28.9 31 50.1V464h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H456 63.2c-35.4 0-61.9-32.5-54.9-67.2L88.5 51.2C90.8 40 100.6 32 112 32H334.3l2.1-12.1C338.6 6.9 351-1.9 364.1 .3zM202.4 80H131.6L97.7 246.4c37.7-27.1 79.9-76.4 104.7-166.4zm33.1 0C203.5 204.3 140 262.5 88.9 289.4l-33.6 165c-1 5 2.8 9.6 7.8 9.6H432V395.8c0-3-1.7-5.8-4.4-7.2L301.3 325.5c-2.8-1.4-5.2-3.3-7.2-5.5H224c-8.8 0-16-7.2-16-16s7.2-16 16-16h66.4l11-64H256c-8.8 0-16-7.2-16-16s7.2-16 16-16h50.8L326.1 80H235.5z\"]\n};\nvar faStandardDefinition = {\n prefix: 'far',\n iconName: 'standard-definition',\n icon: [576, 512, [\"rectangle-sd\"], \"e28a\", \"M512 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H512zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM304 184V328c0 13.3 10.7 24 24 24h56c53 0 96-43 96-96s-43-96-96-96H328c-13.3 0-24 10.7-24 24zm48 24h32c26.5 0 48 21.5 48 48s-21.5 48-48 48H352V208zm-189.8 4.5c.7-.7 2.1-1.9 5.4-2.9c7.1-2.3 18.8-2.9 35.5-.6c5.1 .7 21 3.3 25.6 4.4c12.9 2.9 25.8-5.1 28.7-18.1s-5.1-25.8-18.1-28.7c-6.6-1.5-24.1-4.4-29.9-5.2c-19-2.5-39.3-3.1-56.7 2.5c-19.2 6.2-34.9 20.3-39.6 43.5c-.1 .4-.2 .9-.2 1.3c-1.7 11.7-.3 23 5.2 33.2c5.3 9.9 13.3 16.7 21.1 21.3c13.9 8.3 32 12.5 45.5 15.6l1.8 .4c16.1 3.8 26.9 6.5 33.6 10.5c1.4 .8 2.2 1.5 2.7 2c.5 .4 .6 .7 .6 .7c0 0 .1 .1 .1 .5c.1 .4 .1 1.4-.1 3.2c-.4 2.4-1 3.2-1.3 3.5c-.4 .5-1.8 1.6-5.1 2.7c-7.3 2.3-19.5 2.8-36.2 .6c-7.2-1-20-4.7-31.1-8l0 0 0 0c-2.6-.7-5-1.5-7.3-2.1c-12.7-3.6-26 3.7-29.7 16.5s3.7 26 16.5 29.7c1.4 .4 3.2 .9 5.3 1.5c10.8 3.2 28.6 8.4 39.7 9.9l.1 0c19 2.5 39.6 3.2 57.1-2.4c9.1-2.9 18.2-7.7 25.6-15.6c7.6-8.1 12.1-18.1 13.8-29.3c1.7-11.7 .3-23-5.2-33.2c-5.3-9.9-13.3-16.7-21.1-21.3c-13.9-8.3-32-12.5-45.5-15.6l-1.8-.4c-16.1-3.8-26.9-6.5-33.6-10.5c-1.4-.8-2.2-1.5-2.7-2c-.5-.4-.6-.7-.6-.7l0 0c0 0-.1-.1-.1-.5s-.1-1.2 0-2.5c.5-2.3 1.3-3.3 1.8-3.8z\"]\n};\nvar faRectangleSd = faStandardDefinition;\nvar faH1 = {\n prefix: 'far',\n iconName: 'h1',\n icon: [576, 512, [], \"f313\", \"M48 88c0-13.3-10.7-24-24-24S0 74.7 0 88V248 424c0 13.3 10.7 24 24 24s24-10.7 24-24V272H272V424c0 13.3 10.7 24 24 24s24-10.7 24-24V248 88c0-13.3-10.7-24-24-24s-24 10.7-24 24V224H48V88zm456 0c0-8.5-4.5-16.4-11.8-20.7s-16.4-4.4-23.8-.3l-72 40c-11.6 6.4-15.8 21-9.3 32.6s21 15.8 32.6 9.3L456 128.8V400H408c-13.3 0-24 10.7-24 24s10.7 24 24 24h72 72c13.3 0 24-10.7 24-24s-10.7-24-24-24H504V88z\"]\n};\nvar faHandPointRight = {\n prefix: 'far',\n iconName: 'hand-point-right',\n icon: [512, 512, [], \"f0a4\", \"M448 128l-177.6 0c1 5.2 1.6 10.5 1.6 16l0 16 32 0 144 0c8.8 0 16-7.2 16-16s-7.2-16-16-16zM224 144c0-17.7-14.3-32-32-32c0 0 0 0 0 0l-24 0c-66.3 0-120 53.7-120 120l0 48c0 52.5 33.7 97.1 80.7 113.4c-.5-3.1-.7-6.2-.7-9.4c0-20 9.2-37.9 23.6-49.7c-4.9-9-7.6-19.4-7.6-30.3c0-15.1 5.3-29 14-40c-8.8-11-14-24.9-14-40l0-40c0-13.3 10.7-24 24-24s24 10.7 24 24l0 40c0 8.8 7.2 16 16 16s16-7.2 16-16l0-40 0-40zM192 64s0 0 0 0c18 0 34.6 6 48 16l208 0c35.3 0 64 28.7 64 64s-28.7 64-64 64l-82 0c1.3 5.1 2 10.5 2 16c0 25.3-14.7 47.2-36 57.6c2.6 7 4 14.5 4 22.4c0 20-9.2 37.9-23.6 49.7c4.9 9 7.6 19.4 7.6 30.3c0 35.3-28.7 64-64 64l-64 0-24 0C75.2 448 0 372.8 0 280l0-48C0 139.2 75.2 64 168 64l24 0zm64 336c8.8 0 16-7.2 16-16s-7.2-16-16-16l-48 0-16 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l64 0zm16-176c0 5.5-.7 10.9-2 16l2 0 32 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-32 0 0 16zm-24 64l-40 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l48 0 16 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-24 0z\"]\n};\nvar faMagnifyingGlassLocation = {\n prefix: 'far',\n iconName: 'magnifying-glass-location',\n icon: [512, 512, [\"search-location\"], \"f689\", \"M208 48a160 160 0 1 1 0 320 160 160 0 1 1 0-320zm0 368c48.8 0 93.7-16.8 129.1-44.9L471 505c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L371.1 337.1C399.2 301.7 416 256.8 416 208C416 93.1 322.9 0 208 0S0 93.1 0 208S93.1 416 208 416zm80-240c0-44.2-35.8-80-80-80s-80 35.8-80 80c0 48.8 46.5 111.6 68.6 138.6c6 7.3 16.8 7.3 22.7 0c22.1-27 68.6-89.8 68.6-138.6zm-112 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faSearchLocation = faMagnifyingGlassLocation;\nvar faMessageBot = {\n prefix: 'far',\n iconName: 'message-bot',\n icon: [640, 512, [], \"e3b8\", \"M272 368H224 160c-8.8 0-16-7.2-16-16V192 64c0-8.8 7.2-16 16-16H480c8.8 0 16 7.2 16 16V192 352c0 8.8-7.2 16-16 16H373.3h-16l-12.8 9.6L272 432V416 368zM96 208V352c0 35.3 28.7 64 64 64h16 48v48 4 .3 6.4V496c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L266.7 496l5.1-3.8 .2-.2 101.3-76H480c35.3 0 64-28.7 64-64V208h36.3c5.5 9.6 15.9 16 27.7 16c17.7 0 32-14.3 32-32s-14.3-32-32-32c-11.8 0-22.2 6.4-27.7 16H544V64c0-35.3-28.7-64-64-64H160C124.7 0 96 28.7 96 64V176H59.7c-5.5-9.6-15.9-16-27.7-16c-17.7 0-32 14.3-32 32s14.3 32 32 32c11.8 0 22.2-6.4 27.7-16H96zm80-80V256c0 17.7 14.3 32 32 32H432c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32H208c-17.7 0-32 14.3-32 32zm32 64a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faForwardStep = {\n prefix: 'far',\n iconName: 'forward-step',\n icon: [320, 512, [\"step-forward\"], \"f051\", \"M240 88c0-13.3 10.7-24 24-24s24 10.7 24 24V226.7v58.6V424c0 13.3-10.7 24-24 24s-24-10.7-24-24V318.9L63.3 442.6c-5.1 3.5-11.1 5.4-17.3 5.4C29.5 448 16 434.5 16 417.9V94.1C16 77.5 29.5 64 46.1 64c6.2 0 12.2 1.9 17.3 5.4L240 193.1V88zm0 172.3v-8.6L64 128.5v255L240 260.3z\"]\n};\nvar faStepForward = faForwardStep;\nvar faFaceSmileBeam = {\n prefix: 'far',\n iconName: 'face-smile-beam',\n icon: [512, 512, [128522, \"smile-beam\"], \"f5b8\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm177.6 62.1C192.8 334.5 218.8 352 256 352s63.2-17.5 78.4-33.9c9-9.7 24.2-10.4 33.9-1.4s10.4 24.2 1.4 33.9c-22 23.8-60 49.4-113.6 49.4s-91.7-25.5-113.6-49.4c-9-9.7-8.4-24.9 1.4-33.9s24.9-8.4 33.9 1.4zm40-89.3l0 0 0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0zm160 0l0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0 0 0z\"]\n};\nvar faSmileBeam = faFaceSmileBeam;\nvar faLightCeiling = {\n prefix: 'far',\n iconName: 'light-ceiling',\n icon: [512, 512, [], \"e016\", \"M280 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V161.1C112.4 172.2 16.7 265.6 2 384.1C-.2 401.6 14.3 416 32 416H480c17.7 0 32.2-14.4 30-31.9c-14.7-118.5-110.5-211.8-230-223V24zM458.4 368H53.6C75.2 276.3 157.7 208 256 208s180.8 68.3 202.4 160zM256 512c35.3 0 64-28.7 64-64H192c0 35.3 28.7 64 64 64z\"]\n};\nvar faMessageExclamation = {\n prefix: 'far',\n iconName: 'message-exclamation',\n icon: [512, 512, [\"comment-alt-exclamation\"], \"f4a5\", \"M208 416c0-26.5-21.5-48-48-48H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H448c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H309.3c-10.4 0-20.5 3.4-28.8 9.6L208 432V416zm-.2 76.2l.2-.2 101.3-76H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h48 48v48 4 .3 6.4V496c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L202.7 496l5.1-3.8zM256 80c-13.3 0-24 10.7-24 24V216c0 13.3 10.7 24 24 24s24-10.7 24-24V104c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faCommentAltExclamation = faMessageExclamation;\nvar faBowlScoop = {\n prefix: 'far',\n iconName: 'bowl-scoop',\n icon: [448, 512, [127847, \"bowl-shaved-ice\"], \"e3de\", \"M32 224H416c0-106-86-192-192-192S32 118 32 224zM173.8 368h-2.2H145c-41.4 0-77.2-26.3-90.5-64H393.5c-13.3 37.7-49.1 64-90.5 64H276.3h-2.2H173.8zm36.9 78.7L224 430.8l13.3 15.9L251.7 464H196.3l14.4-17.3zm92.3 3.9L274.2 416H303c10.6 0 20.9-1.1 30.9-3.3c58.5-12.8 104.3-61.2 112-122.8l2-15.9c.6-4.6-.8-9.1-3.9-12.6s-7.4-5.4-12-5.4H16c-4.6 0-9 2-12 5.4s-4.5 8-3.9 12.6l2 15.9c7.7 61.6 53.5 110 112 122.8c10 2.2 20.3 3.3 30.9 3.3h28.8L145 450.6l-10.9 13.1-.3 .3-.4 .5L128 471l-12.3 14.7c-4 4.8-4.8 11.4-2.2 17s8.3 9.2 14.5 9.2h19.2 8.5 .6H291.7h.6 8.5H320c6.2 0 11.9-3.6 14.5-9.2s1.8-12.3-2.2-17L320 471l-5.5-6.5-.4-.5-.3-.3L303 450.6z\"]\n};\nvar faBowlShavedIce = faBowlScoop;\nvar faSquareX = {\n prefix: 'far',\n iconName: 'square-x',\n icon: [448, 512, [], \"e286\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm154.3 40.5L224 218.8l69.7-82.3c8.6-10.1 23.7-11.4 33.8-2.8s11.4 23.7 2.8 33.8L255.4 256l74.9 88.5c8.6 10.1 7.3 25.3-2.8 33.8s-25.3 7.3-33.8-2.8L224 293.2l-69.7 82.3c-8.6 10.1-23.7 11.4-33.8 2.8s-11.4-23.7-2.8-33.8L192.6 256l-74.9-88.5c-8.6-10.1-7.3-25.3 2.8-33.8s25.3-7.3 33.8 2.8z\"]\n};\nvar faBuildingMemo = {\n prefix: 'far',\n iconName: 'building-memo',\n icon: [640, 512, [], \"e61e\", \"M64 48H320c8.8 0 16 7.2 16 16v9.6c12-6.1 25.6-9.6 40-9.6h8c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H308.1c-11-13.3-18.1-29.8-19.8-48H240V400c0-26.5-21.5-48-48-48s-48 21.5-48 48v64H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16zm232 56c0-8.8-7.2-16-16-16H232c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16h48c2.9 0 5.6-.8 8-2.1V152c0-13.1 2.9-25.5 8-36.7V104zM280 216H232c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16h48c2.9 0 5.6-.8 8-2.1V218.1c-2.4-1.4-5.1-2.1-8-2.1zM88 104v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V104c0-8.8-7.2-16-16-16H104c-8.8 0-16 7.2-16 16zm0 128v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V232c0-8.8-7.2-16-16-16H104c-8.8 0-16 7.2-16 16zM384 96c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H384zm16 88a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM376 304a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm24 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm64-168c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H480c-8.8 0-16-7.2-16-16zm16 80h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H480c-8.8 0-16-7.2-16-16s7.2-16 16-16zM464 400c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H480c-8.8 0-16-7.2-16-16z\"]\n};\nvar faUtilityPoleDouble = {\n prefix: 'far',\n iconName: 'utility-pole-double',\n icon: [512, 512, [], \"e2c4\", \"M280 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V80H128V56c0-13.3-10.7-24-24-24S80 42.7 80 56V80H64.2c-.2 0-.3 0-.5 0H48V56c0-13.3-10.7-24-24-24S0 42.7 0 56V88c0 22.1 17.9 40 40 40H83.2L232 227.2V272H128V248c0-13.3-10.7-24-24-24s-24 10.7-24 24v24H64.2c-.2 0-.3 0-.5 0H48V248c0-13.3-10.7-24-24-24s-24 10.7-24 24v32c0 22.1 17.9 40 40 40H83.2L232 419.2V488c0 13.3 10.7 24 24 24s24-10.7 24-24V419.2L428.8 320H472c22.1 0 40-17.9 40-40V248c0-13.3-10.7-24-24-24s-24 10.7-24 24v24H448.2c-.2 0-.3 0-.5 0H432V248c0-13.3-10.7-24-24-24s-24 10.7-24 24v24H280V227.2L428.8 128H472c22.1 0 40-17.9 40-40V56c0-13.3-10.7-24-24-24s-24 10.7-24 24V80H448.2c-.2 0-.3 0-.5 0H432V56c0-13.3-10.7-24-24-24s-24 10.7-24 24V80H280V24zm91.2 104L280 188.8V128h91.2zM232 188.8L140.8 128H232v60.8zM371.2 320L280 380.8V320h91.2zM232 380.8L140.8 320H232v60.8z\"]\n};\nvar faFlagCheckered = {\n prefix: 'far',\n iconName: 'flag-checkered',\n icon: [448, 512, [127937], \"f11e\", \"M24 0C37.3 0 48 10.7 48 24V52l85-21.2c38.1-9.5 78.3-5.1 113.5 12.5c46.3 23.2 100.8 23.2 147.1 0l9.6-4.8C423.8 28.1 448 43.1 448 66.1V345.8c0 13.3-8.3 25.3-20.8 30l-34.7 13c-46.2 17.3-97.6 14.6-141.7-7.4c-37.9-19-81.3-23.7-122.5-13.4L48 388V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V400 350.5 64 24C0 10.7 10.7 0 24 0zM48 150.7l80-17.4V81.5l-80 20v49.3zm0 49.1v46.9l80-17.4V182.5L48 199.9zm0 96v42.7l68.6-17.2c3.8-.9 7.6-1.8 11.4-2.5V278.5L48 295.9zm128 18.8c33.1 .7 65.9 8.7 96 23.7V288.5l-55.4-16.3c-13.2-3.9-27-5.1-40.6-3.6v46zm144 37c18.7 1.5 37.7-1.1 55.6-7.8l24.4-9.1V288L374.3 294c-17.9 4.1-36.1 5.5-54.3 4.3v53.5zm80-113V192L374.3 198c-17.9 4.1-36.1 5.5-54.3 4.3v47.8c14.5 1.4 29.2 .4 43.5-2.9l36.5-8.4zm0-96V92.9c-25.6 10.4-52.8 15.6-80 15.6v45.5c14.5 1.4 29.2 .4 43.5-2.9l36.5-8.4zM272 103.1c-16.1-3.7-31.9-9.4-47-16.9c-15.3-7.7-32.1-11.8-49-12.3v50.6c18.2-1.3 36.5 .6 54.1 5.8L272 142.5V103.1zm0 89.5l-55.4-16.3c-13.2-3.9-27-5.1-40.6-3.6v47.8c18.2-1.3 36.5 .6 54.1 5.8L272 238.5v-46z\"]\n};\nvar faChevronsUp = {\n prefix: 'far',\n iconName: 'chevrons-up',\n icon: [512, 512, [\"chevron-double-up\"], \"f325\", \"M273 47c-9.4-9.4-24.6-9.4-33.9 0L47 239c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l175-175L431 273c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L273 47zM465 431L273 239c-9.4-9.4-24.6-9.4-33.9 0L47 431c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l175-175L431 465c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9z\"]\n};\nvar faChevronDoubleUp = faChevronsUp;\nvar faFootball = {\n prefix: 'far',\n iconName: 'football',\n icon: [512, 512, [127944, \"football-ball\"], \"f44e\", \"M442.6 69.4c-32.9-5-63.1-7.4-90.7-7.4l98 98c.5-32.1-2.4-63.1-7.3-90.6zm-217 12.7c-55.4 20.5-93.3 55.2-118.6 96.5c-20.6 33.7-33 72-39.5 110.9L223.6 445.6c23.2-3.4 44.1-8.8 62.8-15.8c55.4-20.5 93.3-55.2 118.6-96.5c20.6-33.7 33-72 39.5-110.9L288.4 66.4c-23.2 3.4-44.1 8.8-62.8 15.8zM62.1 352c-.5 32.1 2.4 63.1 7.3 90.6c32.9 5 63.1 7.4 90.7 7.4l-98-98zm4-198.4c30.6-50 76.8-92 142.9-116.5C274.4 12.8 357.6 6.5 461.5 23.8c13 2.2 23.4 12.1 26.1 25.1c17.5 84.8 18.6 211.3-41.6 309.5c-30.6 50-76.8 92-142.9 116.5c-65.6 24.3-148.7 30.7-252.6 13.3c-13-2.2-23.4-12.1-26.1-25.1C6.9 378.3 5.8 251.8 66 153.6zM297 151l64 64c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0zm-56 56l64 64c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0zm-56 56l64 64c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0z\"]\n};\nvar faFootballBall = faFootball;\nvar faUserVneck = {\n prefix: 'far',\n iconName: 'user-vneck',\n icon: [448, 512, [], \"e461\", \"M224 208a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm128-80A128 128 0 1 1 96 128a128 128 0 1 1 256 0zM48.3 464H399.7c-3.1-47.3-33.7-87.3-76-103.8L274 422.4c-25.6 32-74.3 32-100 0l-49.7-62.2C82 376.7 51.4 416.7 48.3 464zm85-156.4c5.6-1.2 11.3 1.1 14.9 5.6l63.4 79.2c6.4 8 18.6 8 25 0l63.4-79.2c3.6-4.5 9.3-6.7 14.9-5.6C390.9 323.6 448 391.1 448 472v8c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32v-8c0-80.9 57.1-148.4 133.3-164.4z\"]\n};\nvar faSchoolCircleExclamation = {\n prefix: 'far',\n iconName: 'school-circle-exclamation',\n icon: [640, 512, [], \"e56c\", \"M333.3 4c-8.1-5.4-18.6-5.4-26.6 0l-138 92H72C32.2 96 0 128.2 0 168V440c0 39.8 32.2 72 72 72H256 384h10.8C349.5 480.1 320 427.5 320 368c0-16.5 2.3-32.5 6.5-47.7c-2.1-.2-4.3-.3-6.5-.3c-35.3 0-64 28.7-64 64v80H72c-13.3 0-24-10.7-24-24V168c0-13.3 10.7-24 24-24H176c4.7 0 9.4-1.4 13.3-4L320 52.8 450.7 140c3.9 2.6 8.6 4 13.3 4H568c13.3 0 24 10.7 24 24v52.5c18.8 12.3 35.1 28 48 46.3V168c0-39.8-32.2-72-72-72H471.3L333.3 4zm20.2 260.6c10.9-15 24.1-28.2 39.1-39.1c4.7-10.2 7.3-21.5 7.3-33.5c0-44.2-35.8-80-80-80s-80 35.8-80 80s35.8 80 80 80c12 0 23.3-2.6 33.5-7.3zM96 208v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H112c-8.8 0-16 7.2-16 16zm16 112c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V336c0-8.8-7.2-16-16-16H112zM320 144c8.8 0 16 7.2 16 16v16h8c8.8 0 16 7.2 16 16s-7.2 16-16 16H320c-8.8 0-16-7.2-16-16V160c0-8.8 7.2-16 16-16zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-144c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V288c0-8.8 7.2-16 16-16z\"]\n};\nvar faCrop = {\n prefix: 'far',\n iconName: 'crop',\n icon: [512, 512, [], \"f125\", \"M80 24C80 10.7 90.7 0 104 0s24 10.7 24 24V350.1L350.1 128 160 128V80l238.1 0L471 7c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-73 73L432 384h56c13.3 0 24 10.7 24 24s-10.7 24-24 24H432v56c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-326.1L161.9 384H352v48H136c-30.9 0-56-25.1-56-56V128H24c-13.3 0-24-10.7-24-24S10.7 80 24 80H80V24z\"]\n};\nvar faAnglesDown = {\n prefix: 'far',\n iconName: 'angles-down',\n icon: [448, 512, [\"angle-double-down\"], \"f103\", \"M401 113L241 273c-9.4 9.4-24.6 9.4-33.9 0L47 113c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l143 143L367 79c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9zm0 192L241 465c-9.4 9.4-24.6 9.4-33.9 0L47 305c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l143 143L367 271c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\"]\n};\nvar faAngleDoubleDown = faAnglesDown;\nvar faUsersRectangle = {\n prefix: 'far',\n iconName: 'users-rectangle',\n icon: [640, 512, [], \"e594\", \"M88 0C39.4 0 0 39.4 0 88V424c0 48.6 39.4 88 88 88H552c48.6 0 88-39.4 88-88V88c0-48.6-39.4-88-88-88H88zM48 88c0-22.1 17.9-40 40-40H552c22.1 0 40 17.9 40 40V424c0 22.1-17.9 40-40 40H88c-22.1 0-40-17.9-40-40V88zm272 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM268.4 274c-1.1 .2-2.2 .5-3.3 .7c-25.7 6.3-47.4 22.9-60.3 45.3c-8.2 14.1-12.8 30.5-12.8 48c0 17.7 14.3 32 32 32H416c17.7 0 32-14.3 32-32c0-17.5-4.7-33.9-12.8-48c-1.1-1.8-2.2-3.6-3.3-5.4c-13.1-19.6-33.3-34.1-56.9-39.9c-1.1-.3-2.2-.5-3.3-.7c-6.3-1.3-12.9-2-19.6-2H320 288c-6.7 0-13.3 .7-19.6 2zm7-49.5a72 72 0 1 0 89.2-113.1A72 72 0 1 0 275.4 224.5zM397.3 352H242.7c6.6-18.6 24.4-32 45.3-32h64c20.9 0 38.7 13.4 45.3 32zM223.8 160a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM96 293.3c0 14.7 11.9 26.7 26.7 26.7h46.6c13.7-33.9 41.5-60.6 76.2-72.8c-7.9-4.6-17-7.2-26.8-7.2H149.3C119.9 240 96 263.9 96 293.3zM470.7 320h46.6c14.7 0 26.7-11.9 26.7-26.7c0-29.5-23.9-53.3-53.3-53.3H421.3c-9.8 0-18.9 2.6-26.8 7.2c34.6 12.2 62.5 38.9 76.2 72.8zM512 160a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nvar faPeopleRoof = {\n prefix: 'far',\n iconName: 'people-roof',\n icon: [640, 512, [], \"e537\", \"M332.3 3.4l296 176c11.4 6.8 15.1 21.5 8.4 32.9s-21.5 15.1-32.9 8.4L320 51.9 36.3 220.6c-11.4 6.8-26.1 3-32.9-8.4s-3-26.1 8.4-32.9l296-176c7.6-4.5 17-4.5 24.5 0zM496 256a40 40 0 1 1 0 80 40 40 0 1 1 0-80zM480 464h32V400.5c-2-.3-4.1-.5-6.2-.5H486.2c-2.1 0-4.2 .2-6.2 .5V464zm98.9 27.4l-18.9-35V480c0 17.7-14.3 32-32 32H464c-17.7 0-32-14.3-32-32V456.3l-18.9 35c-6.3 11.7-20.8 16-32.5 9.8s-16-20.8-9.8-32.5l36.3-67.5c-1.7-1.7-3.2-3.6-4.3-5.8l-18.9-35V400c0 17.7-14.3 32-32 32H288c-17.7 0-32-14.3-32-32V360.3l-18.9 35c-1.2 2.2-2.6 4.1-4.3 5.8l36.3 67.5c6.3 11.7 1.9 26.2-9.8 32.5s-26.2 1.9-32.5-9.8l-18.9-35V480c0 17.7-14.3 32-32 32H112c-17.7 0-32-14.3-32-32V456.3l-18.9 35c-6.3 11.7-20.8 16-32.5 9.8s-16-20.8-9.8-32.5l37.9-70.3c15.3-28.5 45.1-46.3 77.5-46.3h19.5c16.3 0 31.9 4.5 45.4 12.6l33.6-62.3c15.3-28.5 45.1-46.3 77.5-46.3h19.5c32.4 0 62.1 17.8 77.5 46.3l33.6 62.3c13.5-8.1 29.1-12.6 45.4-12.6h19.5c32.4 0 62.1 17.8 77.5 46.3l37.9 70.3c6.3 11.7 1.9 26.2-9.8 32.5s-26.2 1.9-32.5-9.8zM280 200a40 40 0 1 1 80 0 40 40 0 1 1 -80 0zm24 104.5V384h32V304.5c-2-.3-4.1-.5-6.2-.5H310.2c-2.1 0-4.2 .2-6.2 .5zM144 256a40 40 0 1 1 0 80 40 40 0 1 1 0-80zM128 464h32V400.5c-2-.3-4.1-.5-6.2-.5H134.2c-2.1 0-4.2 .2-6.2 .5V464z\"]\n};\nvar faSquareArrowRight = {\n prefix: 'far',\n iconName: 'square-arrow-right',\n icon: [448, 512, [\"arrow-square-right\"], \"f33b\", \"M400 96c0-8.8-7.2-16-16-16L64 80c-8.8 0-16 7.2-16 16l0 320c0 8.8 7.2 16 16 16l320 0c8.8 0 16-7.2 16-16l0-320zM384 32c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l320 0zM345 273l-88 88c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47L120 280c-13.3 0-24-10.7-24-24s10.7-24 24-24l150.1 0-47-47c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l88 88c9.4 9.4 9.4 24.6 0 33.9z\"]\n};\nvar faArrowSquareRight = faSquareArrowRight;\nvar faLocationPlus = {\n prefix: 'far',\n iconName: 'location-plus',\n icon: [384, 512, [\"map-marker-plus\"], \"f60a\", \"M336 192c0-79.5-64.5-144-144-144S48 112.5 48 192c0 12.4 4.5 31.6 15.3 57.2c10.5 24.8 25.4 52.2 42.5 79.9c28.5 46.2 61.5 90.8 86.2 122.6c24.8-31.8 57.8-76.4 86.2-122.6c17.1-27.7 32-55.1 42.5-79.9C331.5 223.6 336 204.4 336 192zm48 0c0 87.4-117 243-168.3 307.2c-12.3 15.3-35.1 15.3-47.4 0C117 435 0 279.4 0 192C0 86 86 0 192 0S384 86 384 192zM168 280V216H104c-13.3 0-24-10.7-24-24s10.7-24 24-24h64V104c0-13.3 10.7-24 24-24s24 10.7 24 24v64h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H216v64c0 13.3-10.7 24-24 24s-24-10.7-24-24z\"]\n};\nvar faMapMarkerPlus = faLocationPlus;\nvar faLightbulbExclamationOn = {\n prefix: 'far',\n iconName: 'lightbulb-exclamation-on',\n icon: [640, 512, [], \"e1ca\", \"M69.3 4l48 32c11 7.4 14 22.3 6.7 33.3s-22.3 14-33.3 6.7l-48-32c-11-7.4-14-22.3-6.7-33.3S58.3-3.3 69.3 4zM597.3 44l-48 32c-11 7.4-25.9 4.4-33.3-6.7s-4.4-25.9 6.7-33.3l48-32c11-7.4 25.9-4.4 33.3 6.7s4.4 25.9-6.7 33.3zM24 160H88c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24zm528 0h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H552c-13.3 0-24-10.7-24-24s10.7-24 24-24zM117.3 332l-48 32c-11 7.4-25.9 4.4-33.3-6.7s-4.4-25.9 6.7-33.3l48-32c11-7.4 25.9-4.4 33.3 6.7s4.4 25.9-6.7 33.3zm432-39.9l48 32c11 7.4 14 22.3 6.7 33.3s-22.3 14-33.3 6.7l-48-32c-11-7.4-14-22.3-6.7-33.3s22.3-14 33.3-6.7zM425.2 248.9C439.6 228.3 448 203.2 448 176c0-70.7-57.3-128-128-128s-128 57.3-128 128c0 27.2 8.4 52.3 22.8 72.9c3.7 5.3 8.1 11.3 12.8 17.7l0 0 0 0 0 0c12.9 17.7 28.3 38.9 39.8 59.8c10.4 19 15.7 38.8 18.3 57.5H237c-2.2-12-5.9-23.7-11.8-34.5c-9.9-18-22.2-34.9-34.5-51.8l0 0 0 0c-5.2-7.1-10.4-14.2-15.4-21.4C155.6 247.9 144 213.3 144 176C144 78.8 222.8 0 320 0s176 78.8 176 176c0 37.3-11.6 71.9-31.4 100.3c-5 7.2-10.2 14.3-15.4 21.4l0 0 0 0 0 0 0 0c-12.3 16.8-24.6 33.7-34.5 51.8c-5.9 10.8-9.6 22.5-11.8 34.5H354.4c2.6-18.7 7.9-38.6 18.3-57.5c11.5-20.9 26.9-42.1 39.8-59.8l0 0 0 0 0 0 0 0 0 0c4.7-6.4 9-12.4 12.7-17.7zM400 432c0 44.2-35.8 80-80 80s-80-35.8-80-80V416H400v16zM336 128v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V128c0-8.8 7.2-16 16-16s16 7.2 16 16zM320 256a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faPeopleLine = {\n prefix: 'far',\n iconName: 'people-line',\n icon: [640, 512, [], \"e534\", \"M360 72a40 40 0 1 0 -80 0 40 40 0 1 0 80 0zM304 176.5c2-.3 4.1-.5 6.2-.5h19.5c2.1 0 4.2 .2 6.2 .5V256H304V176.5zm80 55.8l18.9 35c1.2 2.2 2.6 4.1 4.3 5.8l-36.3 67.5c-6.3 11.7-1.9 26.2 9.8 32.5s26.2 1.9 32.5-9.8l18.9-35V352c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V328.3l18.9 35c6.3 11.7 20.8 16 32.5 9.8s16-20.8 9.8-32.5l-37.9-70.3c-15.4-28.5-45.1-46.3-77.5-46.3H486.2c-16.3 0-31.9 4.5-45.4 12.6l-33.6-62.3c-15.4-28.5-45.1-46.3-77.5-46.3H310.2c-32.4 0-62.1 17.8-77.5 46.3l-33.6 62.3c-13.5-8.1-29.1-12.6-45.4-12.6H134.2c-32.4 0-62.1 17.8-77.5 46.3L18.9 340.6c-6.3 11.7-1.9 26.2 9.8 32.5s26.2 1.9 32.5-9.8l18.9-35V352c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V328.3l18.9 35c6.3 11.7 20.8 16 32.5 9.8s16-20.8 9.8-32.5l-36.3-67.5c1.7-1.7 3.2-3.6 4.3-5.8l18.9-35V272c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V232.3zM496 208a40 40 0 1 0 0-80 40 40 0 1 0 0 80zM480 336V272.5c2-.3 4.1-.5 6.2-.5h19.5c2.1 0 4.2 .2 6.2 .5V336H480zM24 432c-13.3 0-24 10.7-24 24s10.7 24 24 24H616c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zM144 208a40 40 0 1 0 0-80 40 40 0 1 0 0 80zM128 336V272.5c2-.3 4.1-.5 6.2-.5h19.5c2.1 0 4.2 .2 6.2 .5V336H128z\"]\n};\nvar faBeerMugEmpty = {\n prefix: 'far',\n iconName: 'beer-mug-empty',\n icon: [512, 512, [\"beer\"], \"f0fc\", \"M80 80V416c0 8.8 7.2 16 16 16H320c8.8 0 16-7.2 16-16V368.6c0-.4 0-.7 0-1.1V80H80zM384 383.7V416c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V64c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32V96h59.2c38 0 68.8 30.8 68.8 68.8V282.7c0 27.3-16.2 52.1-41.2 63l-86.8 38zM384 144V331.3l67.5-29.5c7.6-3.3 12.5-10.8 12.5-19.1V164.8c0-11.5-9.3-20.8-20.8-20.8H384zM144 128c8.8 0 16 7.2 16 16V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-8.8 7.2-16 16-16zm64 0c8.8 0 16 7.2 16 16V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-8.8 7.2-16 16-16zm64 0c8.8 0 16 7.2 16 16V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-8.8 7.2-16 16-16z\"]\n};\nvar faBeer = faBeerMugEmpty;\nvar faCrateEmpty = {\n prefix: 'far',\n iconName: 'crate-empty',\n icon: [512, 512, [], \"e151\", \"M56 272c-4.4 0-8 3.6-8 8v64H464V280c0-4.4-3.6-8-8-8H56zM48 392v64c0 4.4 3.6 8 8 8H456c4.4 0 8-3.6 8-8V392H48zM0 280c0-30.9 25.1-56 56-56H456c30.9 0 56 25.1 56 56V456c0 30.9-25.1 56-56 56H56c-30.9 0-56-25.1-56-56V280zm400 24a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm16 112a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM80 304a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM96 416a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faDiagramPredecessor = {\n prefix: 'far',\n iconName: 'diagram-predecessor',\n icon: [512, 512, [], \"e477\", \"M464 416l0-64c0-8.8-7.2-16-16-16L64 336c-8.8 0-16 7.2-16 16l0 64c0 8.8 7.2 16 16 16l384 0c8.8 0 16-7.2 16-16zm-16 64L64 480c-35.3 0-64-28.7-64-64l0-64c0-35.3 28.7-64 64-64l384 0c35.3 0 64 28.7 64 64l0 64c0 35.3-28.7 64-64 64zM288 160c0 35.3-28.7 64-64 64L64 224c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l144 0 16 0 144 0c39.8 0 72 32.2 72 72l0 38.1 23-23c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-64 64c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l23 23 0-38.1c0-13.3-10.7-24-24-24l-82 0c1.3 5.1 2 10.5 2 16l0 64z\"]\n};\nvar faTransporter = {\n prefix: 'far',\n iconName: 'transporter',\n icon: [512, 512, [], \"e042\", \"M472.7 6.6L480 32l25.4 7.3c3.9 1.1 6.6 4.7 6.6 8.7s-2.7 7.6-6.6 8.7L480 64l-7.3 25.4c-1.1 3.9-4.7 6.6-8.7 6.6s-7.6-2.7-8.7-6.6L448 64l-25.4-7.3c-3.9-1.1-6.6-4.7-6.6-8.7s2.7-7.6 6.6-8.7L448 32l7.3-25.4C456.4 2.7 459.9 0 464 0s7.6 2.7 8.7 6.6zm-416 64L64 96l25.4 7.3c3.9 1.1 6.6 4.7 6.6 8.7s-2.7 7.6-6.6 8.7L64 128l-7.3 25.4c-1.1 3.9-4.7 6.6-8.7 6.6s-7.6-2.7-8.7-6.6L32 128 6.6 120.7C2.7 119.6 0 116.1 0 112s2.7-7.6 6.6-8.7L32 96l7.3-25.4C40.4 66.7 43.9 64 48 64s7.6 2.7 8.7 6.6zM96 488c0-13.3 10.7-24 24-24H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24zM208 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm32 272V432H192V208.8l-52.9 69.7c-8 10.6-23.1 12.6-33.6 4.6s-12.6-23.1-4.6-33.6l65.7-86.7c16.6-21.9 42.6-34.8 70.1-34.8h38.6c27.5 0 53.5 12.9 70.1 34.8l65.7 86.7c8 10.6 5.9 25.6-4.6 33.6s-25.6 5.9-33.6-4.6L320 208.8V432H272V320H240zm0-48h32V176H240v96z\"]\n};\nvar faCalendarCircleUser = {\n prefix: 'far',\n iconName: 'calendar-circle-user',\n icon: [576, 512, [], \"e471\", \"M128 0c13.3 0 24 10.7 24 24V64H296V24c0-13.3 10.7-24 24-24s24 10.7 24 24V64h40c35.3 0 64 28.7 64 64v16 48H432 400 352 48V448c0 8.8 7.2 16 16 16H284.5c12.3 18.8 28 35.1 46.3 48H64c-35.3 0-64-28.7-64-64V192 144 128C0 92.7 28.7 64 64 64h40V24c0-13.3 10.7-24 24-24zM288 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm221.7 80.7c-6.2-19-24-32.7-45.1-32.7H399.4c-21 0-38.9 13.7-45.1 32.7C374.5 468.1 401.8 480 432 480s57.5-11.9 77.7-31.3zM480 336a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nvar faArrowUpLong = {\n prefix: 'far',\n iconName: 'arrow-up-long',\n icon: [384, 512, [\"long-arrow-up\"], \"f176\", \"M209 7c-9.4-9.4-24.6-9.4-33.9 0L39 143c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l95-95V488c0 13.3 10.7 24 24 24s24-10.7 24-24V81.9l95 95c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L209 7z\"]\n};\nvar faLongArrowUp = faArrowUpLong;\nvar faPersonCarryBox = {\n prefix: 'far',\n iconName: 'person-carry-box',\n icon: [384, 512, [\"person-carry\"], \"f4cf\", \"M80 0a48 48 0 1 1 0 96A48 48 0 1 1 80 0zM0 488L0 340.3c.5 .4 1.1 .9 1.6 1.3L48 378.1 48 488c0 13.3-10.7 24-24 24s-24-10.7-24-24zM59.2 176C53 176 48 181 48 187.2v85.3c0 2.5 1.1 4.8 3.1 6.3L72 295.2V179c-3.9-1.9-8.3-3-12.8-3zM120 246.2v86.7l25.8 20.3c8.1 6.4 13.4 15.6 14.9 25.8l15.1 105.6c1.9 13.1-7.2 25.3-20.4 27.2s-25.3-7.2-27.2-20.4L113.6 388.9 21.4 316.5C7.9 305.9 0 289.6 0 272.4V187.2C0 154.5 26.5 128 59.2 128c26.1 0 50.5 13.3 64.6 35.3L173.1 240H192V128c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32V256c0 17.7-14.3 32-32 32H232h-8H168.7c-13.6 0-26.3-6.9-33.6-18.4L120 246.2zM240 240h96V144H240v96z\"]\n};\nvar faPersonCarry = faPersonCarryBox;\nvar faFireFlameSimple = {\n prefix: 'far',\n iconName: 'fire-flame-simple',\n icon: [384, 512, [\"burn\"], \"f46a\", \"M209.1 8.5c72.9 68 128.7 152.4 162.7 246.1l.7 1.9c7.6 20.9 11.5 42.9 11.5 65.1C384 426.7 297.2 512 192 512S0 426.7 0 321.6c0-22.2 3.9-44.2 11.5-65.1l.7-1.9L57.3 271l-.7 1.9c-5.7 15.6-8.6 32.1-8.6 48.7C48 399.7 112.8 464 192 464s144-64.3 144-142.4c0-16.6-2.9-33.1-8.6-48.7l42.3-15.4-42.3 15.4-.7-1.9c-29-79.8-75-152.2-134.7-212.2C132.3 118.8 86.3 191.2 57.3 271L12.2 254.6C46.2 160.8 102 76.5 174.9 8.5l3.3-3C181.9 2 186.9 0 192 0s10.1 2 13.8 5.5l3.3 3zm72.6 281.4c4.1 9.3 6.2 19.4 6.2 29.5c0 53-43 96.5-96 96.5s-96-43.5-96-96.5c0-10.1 2.1-20.3 6.2-29.5l1.9-4.3c15.8-35.4 37.9-67.7 65.3-95.1l8.9-8.9c3.6-3.6 8.5-5.6 13.6-5.6s10 2 13.6 5.6l8.9 8.9c27.4 27.4 49.6 59.7 65.3 95.1l1.9 4.3z\"]\n};\nvar faBurn = faFireFlameSimple;\nvar faPerson = {\n prefix: 'far',\n iconName: 'person',\n icon: [320, 512, [129485, \"male\"], \"f183\", \"M112 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm32 128.1V304h32V176.1c-.7 0-1.5-.1-2.3-.1H146.3c-.8 0-1.5 0-2.3 .1zM144 352V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V223.6L52.9 299.8c-6.5 11.5-21.2 15.6-32.7 9.1s-15.6-21.2-9.1-32.7L69.7 172.7c15.6-27.6 44.9-44.7 76.6-44.7h27.5c31.7 0 61 17.1 76.6 44.7l58.5 103.5c6.5 11.5 2.5 26.2-9.1 32.7s-26.2 2.5-32.7-9.1L224 223.6V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V352H144z\"]\n};\nvar faMale = faPerson;\nvar faLaptop = {\n prefix: 'far',\n iconName: 'laptop',\n icon: [640, 512, [128187], \"f109\", \"M512 80H128c-8.8 0-16 7.2-16 16V320H64V96c0-35.3 28.7-64 64-64H512c35.3 0 64 28.7 64 64V320H528V96c0-8.8-7.2-16-16-16zM96 432H544c20.9 0 38.7-13.4 45.3-32H50.7c6.6 18.6 24.4 32 45.3 32zM0 384c0-17.7 14.3-32 32-32H608c17.7 0 32 14.3 32 32c0 53-43 96-96 96H96c-53 0-96-43-96-96z\"]\n};\nvar faFileCsv = {\n prefix: 'far',\n iconName: 'file-csv',\n icon: [512, 512, [], \"f6dd\", \"M64 464H96v48H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3V288H336V160H256c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16zM200 352h16c22.1 0 40 17.9 40 40v8c0 8.8-7.2 16-16 16s-16-7.2-16-16v-8c0-4.4-3.6-8-8-8H200c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8v-8c0-8.8 7.2-16 16-16s16 7.2 16 16v8c0 22.1-17.9 40-40 40H200c-22.1 0-40-17.9-40-40V392c0-22.1 17.9-40 40-40zm133.1 0H368c8.8 0 16 7.2 16 16s-7.2 16-16 16H333.1c-7.2 0-13.1 5.9-13.1 13.1c0 5.2 3 9.9 7.8 12l37.4 16.6c16.3 7.2 26.8 23.4 26.8 41.2c0 24.9-20.2 45.1-45.1 45.1H304c-8.8 0-16-7.2-16-16s7.2-16 16-16h42.9c7.2 0 13.1-5.9 13.1-13.1c0-5.2-3-9.9-7.8-12l-37.4-16.6c-16.3-7.2-26.8-23.4-26.8-41.2c0-24.9 20.2-45.1 45.1-45.1zm98.9 0c8.8 0 16 7.2 16 16v31.6c0 23 5.5 45.6 16 66c10.5-20.3 16-42.9 16-66V368c0-8.8 7.2-16 16-16s16 7.2 16 16v31.6c0 34.7-10.3 68.7-29.6 97.6l-5.1 7.7c-3 4.5-8 7.1-13.3 7.1s-10.3-2.7-13.3-7.1l-5.1-7.7c-19.3-28.9-29.6-62.9-29.6-97.6V368c0-8.8 7.2-16 16-16z\"]\n};\nvar faMenorah = {\n prefix: 'far',\n iconName: 'menorah',\n icon: [640, 512, [], \"f676\", \"M2.7 49.7L20.8 7.4C22.8 2.9 27.1 0 32 0s9.2 2.9 11.2 7.4L61.3 49.7c1.8 4.1 2.7 8.6 2.7 13.1V64c0 17.7-14.3 32-32 32S0 81.7 0 64V62.8c0-4.5 .9-8.9 2.7-13.1zm96 0L116.8 7.4C118.8 2.9 123.1 0 128 0s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V64c0 17.7-14.3 32-32 32s-32-14.3-32-32V62.8c0-4.5 .9-8.9 2.7-13.1zM212.8 7.4C214.8 2.9 219.1 0 224 0s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V64c0 17.7-14.3 32-32 32s-32-14.3-32-32V62.8c0-4.5 .9-8.9 2.7-13.1L212.8 7.4zm77.8 42.4L308.8 7.4C310.8 2.9 315.1 0 320 0s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V64c0 17.7-14.3 32-32 32s-32-14.3-32-32V62.8c0-4.5 .9-8.9 2.7-13.1zM404.8 7.4C406.8 2.9 411.1 0 416 0s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V64c0 17.7-14.3 32-32 32s-32-14.3-32-32V62.8c0-4.5 .9-8.9 2.7-13.1L404.8 7.4zm77.8 42.4L500.8 7.4C502.8 2.9 507.1 0 512 0s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V64c0 17.7-14.3 32-32 32s-32-14.3-32-32V62.8c0-4.5 .9-8.9 2.7-13.1zM596.8 7.4C598.8 2.9 603.1 0 608 0s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V64c0 17.7-14.3 32-32 32s-32-14.3-32-32V62.8c0-4.5 .9-8.9 2.7-13.1L596.8 7.4zM24 128c13.3 0 24 10.7 24 24V280c0 22.1 17.9 40 40 40H296V152c0-13.3 10.7-24 24-24s24 10.7 24 24V320H552c22.1 0 40-17.9 40-40V152c0-13.3 10.7-24 24-24s24 10.7 24 24V280c0 48.6-39.4 88-88 88H344v96H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H320 152c-13.3 0-24-10.7-24-24s10.7-24 24-24H296V368H88c-48.6 0-88-39.4-88-88V152c0-13.3 10.7-24 24-24zm128 24V264v24H104V264 152c0-13.3 10.7-24 24-24s24 10.7 24 24zm96 0V264v24H200V264 152c0-13.3 10.7-24 24-24s24 10.7 24 24zm192 0V264v24H392V264 152c0-13.3 10.7-24 24-24s24 10.7 24 24zm96 0V264v24H488V264 152c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faUnion = {\n prefix: 'far',\n iconName: 'union',\n icon: [384, 512, [8899], \"f6a2\", \"M24 32c13.3 0 24 10.7 24 24V288c0 79.5 64.5 144 144 144s144-64.5 144-144V56c0-13.3 10.7-24 24-24s24 10.7 24 24V288c0 106-86 192-192 192S0 394 0 288V56C0 42.7 10.7 32 24 32z\"]\n};\nvar faChevronsLeft = {\n prefix: 'far',\n iconName: 'chevrons-left',\n icon: [512, 512, [\"chevron-double-left\"], \"f323\", \"M47 239c-9.4 9.4-9.4 24.6 0 33.9L239 465c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L97.9 256 273 81c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L47 239zM431 47L239 239c-9.4 9.4-9.4 24.6 0 33.9L431 465c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-175-175L465 81c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0z\"]\n};\nvar faChevronDoubleLeft = faChevronsLeft;\nvar faCircleHeart = {\n prefix: 'far',\n iconName: 'circle-heart',\n icon: [512, 512, [\"heart-circle\"], \"f4c7\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM131.9 280.9L233.5 384.1c6.2 6.3 14.3 9.4 22.5 9.4s16.3-3.1 22.5-9.4L380.1 280.9c29.4-29.8 29.4-78.2 0-108s-77-29.8-106.4 0l-17.7 18-17.7-18c-29.4-29.8-77-29.8-106.4 0s-29.4 78.2 0 108z\"]\n};\nvar faHeartCircle = faCircleHeart;\nvar faTruckPlane = {\n prefix: 'far',\n iconName: 'truck-plane',\n icon: [640, 512, [], \"e58f\", \"M183.3 18.7C192.9 8.8 206.6 0 224 0c17.4 0 31.2 8.6 41.1 18.7c9.7 9.9 17 22.6 22.4 34.9c7.8 17.9 13 38.3 15.3 56c-23.5 14.1-40.5 37.9-45.3 65.9c-.9-2.6-1.4-5.3-1.4-8.1V128c0-13.6-4.2-36.3-12.5-55.2c-4.1-9.4-8.5-16.3-12.7-20.6c-4-4.1-6.2-4.2-6.8-4.2l0 0c-.2 0-2.2 0-6.3 4.2c-4.2 4.3-8.7 11.3-12.9 20.7c-8.4 19-12.8 41.7-12.8 55.1v39.4c0 7.3-3.3 14.2-9 18.8L53.7 289.3c-.7 .5-1.3 1-2 1.5c-2.3 1.5-3.7 4-3.7 6.7v28.7l111-44.8c7.4-3 15.8-2.1 22.4 2.4s10.6 11.9 10.6 19.9l0 72.3c0 7.6-3.6 14.7-9.6 19.2L128 436v23.9c6.8-2.1 15.3-4.6 24.3-7.3c22.6-6.8 49.1-14.8 64.6-19.6c4.6-1.4 9.5-1.4 14.1 0c9.1 2.8 21.9 6.7 35.5 10.8c5.4 10.5 12.7 19.9 21.4 27.7V488c0 4.4 .5 8.7 1.5 12.9l-7.6-2.3c-19.5-5.9-42-12.6-57.9-17.5c-15.9 4.9-38.4 11.6-57.9 17.5c-11.3 3.4-21.7 6.5-29.2 8.8l-8.9 2.7-2.4 .7-.6 .2-.2 0 0 0 0 0 0 0-6.9-23 6.9 23c-2.2 .7-4.5 1-6.9 1C97 512 80 495 80 474.1V432c0-12.6 5.9-24.4 16-32l48-36V339.2L53.9 375.6c-.5 .2-1.1 .4-1.7 .6C26.4 384.4 0 365.2 0 338.1V297.5c0-18.6 9.2-36 24.6-46.4L144 155.8V128c0-20.7 6.1-50 16.9-74.5c5.5-12.3 12.8-24.9 22.4-34.8zM288 192c0-16.2 6-31.1 16-42.3c11.7-13.3 28.9-21.7 48-21.7H576c35.3 0 64 28.7 64 64V376v24c0 23.7-12.9 44.4-32 55.4V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V464H368v10.1V488c0 13.3-10.7 24-24 24c-2.1 0-4.2-.3-6.1-.8c-4.9-1.3-9.2-4.1-12.3-7.9c0 0 0 0 0 0c-3.4-4.2-5.5-9.5-5.5-15.3V459.9v-4.5c-15.5-9-26.9-24.3-30.7-42.4c-.9-4.2-1.3-8.5-1.3-13V376 281.1 204.5 192zM400 304h11.2 6.4 16.8H448h45.6 23.2H544l-11.9-37c-2.5-6.5-8.4-11-15.3-11H429.6 411.2c-6.9 0-12.9 4.5-15.3 11l-1.6 5-4.4 13.8L384 304h16zm-50.3-50.3l.5-1.4 .4-1.2 .5-1.2c.2-.6 .5-1.2 .7-1.8c3.6-8.7 9.2-16.7 16.3-23.3c3.5-3.3 7.5-6.2 11.7-8.6c9.1-5.2 19.8-8.3 31.5-8.3H516.8c28.8 0 51.4 18.7 60.2 41.9l.5 1.2 .4 1.2 11.9 37 2.3 7.2V192c0-8.8-7.2-16-16-16H352c-5.7 0-10.6 2.9-13.5 7.4c-1.6 2.5-2.5 5.4-2.5 8.6v20.5 30.3 53.7l2.3-7.2 11.4-35.6zM445.5 352H422 384h-8H360c-5.1 0-9.8 1.6-13.7 4.3c-6.2 4.3-10.3 11.5-10.3 19.7v12 12c0 8.3 6.3 15.1 14.4 15.9c.5 .1 1.1 .1 1.6 .1h12.7H576c8.8 0 16-7.2 16-16V376c0-13.3-10.7-24-24-24H544 445.5zM368 406.6a24 24 0 1 1 16-45.3 24 24 0 1 1 -16 45.3zM552 360a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faRecordVinyl = {\n prefix: 'far',\n iconName: 'record-vinyl',\n icon: [512, 512, [], \"f8d9\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm160 0a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zm120 0a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faBringForward = {\n prefix: 'far',\n iconName: 'bring-forward',\n icon: [512, 512, [], \"f856\", \"M224 464H448c8.8 0 16-7.2 16-16V224c0-8.8-7.2-16-16-16H384V160h64c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H224c-35.3 0-64-28.7-64-64V384h48v64c0 8.8 7.2 16 16 16zm64-112H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H288c35.3 0 64 28.7 64 64V288c0 35.3-28.7 64-64 64z\"]\n};\nvar faSquareP = {\n prefix: 'far',\n iconName: 'square-p',\n icon: [448, 512, [], \"e279\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm152 32h92c50.8 0 92 41.2 92 92s-41.2 92-92 92H176v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V288 152c0-13.3 10.7-24 24-24zm92 136c24.3 0 44-19.7 44-44s-19.7-44-44-44H176v88h68z\"]\n};\nvar faFaceGrinStars = {\n prefix: 'far',\n iconName: 'face-grin-stars',\n icon: [512, 512, [129321, \"grin-stars\"], \"f587\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM183.2 132.6c-1.3-2.8-4.1-4.6-7.2-4.6s-5.9 1.8-7.2 4.6l-16.6 34.7-38.1 5c-3.1 .4-5.6 2.5-6.6 5.5s-.1 6.2 2.1 8.3l27.9 26.5-7 37.8c-.6 3 .7 6.1 3.2 7.9s5.8 2 8.5 .6L176 240.5l33.8 18.3c2.7 1.5 6 1.3 8.5-.6s3.7-4.9 3.2-7.9l-7-37.8L242.4 186c2.2-2.1 3.1-5.3 2.1-8.3s-3.5-5.1-6.6-5.5l-38.1-5-16.6-34.7zm160 0c-1.3-2.8-4.1-4.6-7.2-4.6s-5.9 1.8-7.2 4.6l-16.6 34.7-38.1 5c-3.1 .4-5.6 2.5-6.6 5.5s-.1 6.2 2.1 8.3l27.9 26.5-7 37.8c-.6 3 .7 6.1 3.2 7.9s5.8 2 8.5 .6L336 240.5l33.8 18.3c2.7 1.5 6 1.3 8.5-.6s3.7-4.9 3.2-7.9l-7-37.8L402.4 186c2.2-2.1 3.1-5.3 2.1-8.3s-3.5-5.1-6.6-5.5l-38.1-5-16.6-34.7zm6.3 175.8c-28.9 6.8-60.5 10.5-93.6 10.5s-64.7-3.7-93.6-10.5c-18.7-4.4-35.9 12-25.5 28.1c24.6 38.1 68.7 63.5 119.1 63.5s94.5-25.4 119.1-63.5c10.4-16.1-6.8-32.5-25.5-28.1z\"]\n};\nvar faGrinStars = faFaceGrinStars;\nvar faSigma = {\n prefix: 'far',\n iconName: 'sigma',\n icon: [384, 512, [8721], \"f68b\", \"M1.8 46.8C5.5 37.8 14.3 32 24 32H328c30.9 0 56 25.1 56 56v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V88c0-4.4-3.6-8-8-8H81.9L241 239c9.4 9.4 9.4 24.6 0 33.9L81.9 432H328c4.4 0 8-3.6 8-8V376c0-13.3 10.7-24 24-24s24 10.7 24 24v48c0 30.9-25.1 56-56 56H24c-9.7 0-18.5-5.8-22.2-14.8s-1.7-19.3 5.2-26.2l183-183L7 73C.2 66.1-1.9 55.8 1.8 46.8z\"]\n};\nvar faCameraMovie = {\n prefix: 'far',\n iconName: 'camera-movie',\n icon: [576, 512, [127909, 127910], \"f8a9\", \"M224 120A72 72 0 1 0 80 120a72 72 0 1 0 144 0zM344 240H152C85.7 240 32 186.3 32 120S85.7 0 152 0c39.3 0 74.1 18.8 96 48c21.9-29.1 56.7-48 96-48c66.3 0 120 53.7 120 120s-53.7 120-120 120zM272 120a72 72 0 1 0 144 0 72 72 0 1 0 -144 0zM112 336V448c0 8.8 7.2 16 16 16H352c8.8 0 16-7.2 16-16V336c0-8.8-7.2-16-16-16H144 128c-8.8 0-16 7.2-16 16zm32-64H352c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H128c-35.3 0-64-28.7-64-64V336c0-5.5 .7-10.9 2-16H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H128h16zm384 36.6l-80 36V292l75.6-34c2.9-1.3 6-2.2 9.1-2.8c22.6-3.8 43.3 13.7 43.3 36.6V472.5c0 21.8-17.7 39.5-39.5 39.5c-5.6 0-11.1-1.2-16.2-3.5L448 476V423.4l80 36V308.6z\"]\n};\nvar faBong = {\n prefix: 'far',\n iconName: 'bong',\n icon: [448, 512, [], \"f55c\", \"M144 208.5c0 23.3-12.4 43.2-29.9 54.4C92.3 276.9 74.5 296.7 63 320H321c-11.6-23.3-29.3-43.1-51.2-57.2c-17.4-11.2-29.9-31.1-29.9-54.4V48H144V208.5zM288 48V208.5c0 5.7 3.1 10.9 7.9 14c11.2 7.2 21.5 15.5 30.9 24.8L366.1 208l-7-7c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l24 24 24 24c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-7-7-43.3 43.3C374 314.1 384 347.9 384 384c0 39.4-11.9 76.1-32.2 106.5c-9.6 14.4-26.5 21.5-43.8 21.5H76.1c-17.3 0-34.2-7.1-43.8-21.5C11.9 460.1 0 423.4 0 384c0-67.8 35.1-127.3 88.1-161.5c4.8-3.1 7.9-8.3 7.9-14V48H88C74.7 48 64 37.3 64 24S74.7 0 88 0h24H272h24c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8z\"]\n};\nvar faClarinet = {\n prefix: 'far',\n iconName: 'clarinet',\n icon: [640, 512, [], \"f8ad\", \"M224 112c0-8.8 7.2-16 16-16h32 96 96 32c8.8 0 16 7.2 16 16s-7.2 16-16 16H480v32h44.6c7.9 0 15.6-2.3 22.2-6.7L602.7 116c7.4-4.9 16.8-5.4 24.6-1.2S640 127.1 640 136V376c0 8.9-4.9 17-12.7 21.2s-17.3 3.7-24.6-1.2l-55.9-37.3c-6.6-4.4-14.3-6.7-22.2-6.7H113.4c-8.6 0-17.1-1.3-25.3-3.7L17.1 327C7 323.9 0 314.6 0 304V208c0-10.6 7-19.9 17.1-23l71-21.3c8.2-2.5 16.7-3.7 25.3-3.7H256V128H240c-8.8 0-16-7.2-16-16zm64 48h64V128H288v32zm96 0h64V128H384v32zM248 256a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm120-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm72 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm133.4-62.8C559 202.9 542 208 524.6 208H113.4c-3.9 0-7.8 .6-11.5 1.7L48 225.9v60.3l53.9 16.2c3.7 1.1 7.6 1.7 11.5 1.7H524.6c17.4 0 34.4 5.1 48.8 14.8L592 331.2V180.8l-18.6 12.4z\"]\n};\nvar faTruckFlatbed = {\n prefix: 'far',\n iconName: 'truck-flatbed',\n icon: [640, 512, [], \"e2b6\", \"M368 120c0-13.3 10.7-24 24-24h66.7c14.9 0 29.1 5.9 39.6 16.4l93.3 93.3c10.5 10.5 16.4 24.7 16.4 39.6V368h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H576c0 53-43 96-96 96s-96-43-96-96h-8H256c0 53-43 96-96 96s-96-43-96-96H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H76.8c16.6-28.7 47.6-48 83.2-48s66.6 19.3 83.2 48H368V120zM557.7 239.6l-93.3-93.3c-1.5-1.5-3.5-2.3-5.7-2.3H416v96H558l-.2-.2-.2-.2zM208 416a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm272 48a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faSpaghettiMonsterFlying = {\n prefix: 'far',\n iconName: 'spaghetti-monster-flying',\n icon: [640, 512, [\"pastafarianism\"], \"f67b\", \"M192 48a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48 58.3c10-11.3 16-26.1 16-42.3c0-35.3-28.7-64-64-64s-64 28.7-64 64s28.7 64 64 64c1.7 0 3.4-.1 5.1-.2L212.2 158c-21.1 13.6-37.7 30.2-51.4 46.4c-7.1 8.3-13.5 16.6-19.3 24l-1.4 1.8c-6.3 8.1-11.6 14.8-16.7 20.4C112.7 262.3 107.3 264 104 264c-2.5 0-4.3-.6-7.1-3.3c-3.7-3.5-7.1-8.8-12.5-17.4l-.6-.9c-4.6-7.4-11-17.6-19.4-25.7C54.7 207.4 41.5 200 24 200c-13.3 0-24 10.7-24 24s10.7 24 24 24c2.5 0 4.3 .6 7.1 3.3c3.7 3.5 7.1 8.8 12.5 17.4l.6 .9c4.6 7.4 11 17.6 19.4 25.7C73.3 304.6 86.5 312 104 312c18.5 0 32.9-8.5 44.3-18.6c3.1 4 6.6 8.3 10.5 12.7c-2.4 7.1-4.5 14.2-6.5 20.6L151 331c-3.4 11.2-6.4 20.3-9.8 27.8c-3.5 7.5-6.6 11.5-9.4 13.8c-2.3 1.8-5.5 3.4-11.7 3.4c-8.7 0-16.9-4.2-33.7-13.2c-15-8-35.7-18.8-62.3-18.8c-13.3 0-24 10.7-24 24s10.7 24 24 24c13.4 0 24.7 5.2 39.7 13.2c1 .6 2.1 1.1 3.2 1.7l0 0C80.1 414 98.6 424 120 424c16.2 0 30.2-4.8 41.7-13.9c10.9-8.7 18-20.2 23-31.1c5-10.9 8.8-22.9 12.2-34l.8-2.7c16.4 12.2 36.1 23.6 58.9 31.3c-5.6 16.6-13.8 37.5-24.6 55.5C217.2 454 203.2 464 192 464c-13.3 0-24 10.7-24 24s10.7 24 24 24c39.1 0 65.6-32 81.2-58.2c14.5-24.2 24.6-51.4 30.7-70.4c5.2 .4 10.6 .6 16 .6s10.8-.2 16-.6c6.1 19 16.3 46.3 30.7 70.4C382.4 480 408.9 512 448 512c13.3 0 24-10.7 24-24s-10.7-24-24-24c-11.2 0-25.2-10-40-34.8c-10.8-18-19-39-24.6-55.5c22.8-7.7 42.5-19 58.9-31.3l.8 2.7c3.4 11 7.2 23.1 12.2 34c5.1 10.9 12.1 22.4 23 31.1c11.5 9.1 25.5 13.9 41.7 13.9c21.4 0 39.9-10 53.1-17.1c1.1-.6 2.2-1.2 3.2-1.7c15-8 26.3-13.2 39.7-13.2c13.3 0 24-10.7 24-24s-10.7-24-24-24c-26.6 0-47.3 10.8-62.3 18.8c-16.8 9-25 13.2-33.7 13.2c-6.3 0-9.5-1.6-11.7-3.4c-2.8-2.2-6-6.3-9.4-13.8c-3.5-7.5-6.4-16.6-9.8-27.8l-1.3-4.2c-2-6.5-4.1-13.5-6.5-20.6c3.9-4.5 7.4-8.8 10.5-12.7C503.1 303.5 517.5 312 536 312c17.5 0 30.7-7.4 40.4-16.7c8.4-8.1 14.8-18.3 19.4-25.7l.6-.9c5.4-8.6 8.8-13.9 12.5-17.4c2.8-2.7 4.6-3.3 7.1-3.3c13.3 0 24-10.7 24-24s-10.7-24-24-24c-17.5 0-30.7 7.4-40.4 16.7c-8.4 8.1-14.8 18.3-19.4 25.7l-.6 .9c-5.4 8.6-8.8 13.9-12.5 17.4c-2.8 2.7-4.6 3.3-7.1 3.3c-3.3 0-8.7-1.7-19.4-13.4c-5.1-5.6-10.4-12.3-16.7-20.4l-1.4-1.8c-5.8-7.4-12.2-15.7-19.3-24c-13.8-16.2-30.4-32.8-51.4-46.4l15.1-30.2c1.7 .1 3.4 .2 5.1 .2c35.3 0 64-28.7 64-64s-28.7-64-64-64s-64 28.7-64 64c0 16.2 6 31.1 16 42.3l-15.6 31.2c-18.7-6-39.9-9.5-64.4-9.5s-45.8 3.5-64.4 9.5L240 106.3zM459.4 256.3c-.4 .6-.9 1.3-1.4 2c-6.3 8.8-15.8 20.5-28.3 32.2C404.5 313.8 368 336 320 336s-84.5-22.2-109.7-45.6c-12.6-11.7-22-23.4-28.3-32.2c-.5-.7-1-1.3-1.4-2c5.4-6.9 10.8-13.8 16.7-20.7c26.4-31 60.4-59.6 122.7-59.6s96.3 28.6 122.7 59.6c5.9 6.9 11.3 13.8 16.7 20.7zM448 48a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faPastafarianism = faSpaghettiMonsterFlying;\nvar faArrowDownUpAcrossLine = {\n prefix: 'far',\n iconName: 'arrow-down-up-across-line',\n icon: [576, 512, [], \"e4af\", \"M143 505c9.4 9.4 24.6 9.4 33.9 0l96-96c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-55 55V280H552c13.3 0 24-10.7 24-24s-10.7-24-24-24H440V81.9l55 55c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L433 7c-9.4-9.4-24.6-9.4-33.9 0l-96 96c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l55-55V232H184 136 24c-13.3 0-24 10.7-24 24s10.7 24 24 24H136V430.1L81 375c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l96 96zm-7-313h48V56c0-13.3-10.7-24-24-24s-24 10.7-24 24V192zM440 320H392V456c0 13.3 10.7 24 24 24s24-10.7 24-24V320z\"]\n};\nvar faArrowsRotateReverse = {\n prefix: 'far',\n iconName: 'arrows-rotate-reverse',\n icon: [512, 512, [], \"e630\", \"M418 187.1C391.2 124.1 328.7 80 256 80c-39.7 0-77.8 15.8-105.9 43.9L97.9 176H152c13.3 0 24 10.7 24 24s-10.7 24-24 24H40c-13.3 0-24-10.7-24-24V88c0-13.3 10.7-24 24-24s24 10.7 24 24v54.1l52.1-52.1C153.2 52.8 203.5 32 256 32c92.6 0 172.1 56.2 206.2 136.3c5.2 12.2-.5 26.3-12.7 31.5s-26.3-.5-31.5-12.7zM50 344.1c-5.2-12.2 .4-26.3 12.6-31.5s26.3 .4 31.5 12.6C121 388.1 183.4 432 256 432c39.7 0 77.8-15.8 105.9-43.9L414.1 336H360c-13.3 0-24-10.7-24-24s10.7-24 24-24H472c13.3 0 24 10.7 24 24V424c0 13.3-10.7 24-24 24s-24-10.7-24-24V369.9l-52.1 52.1C358.8 459.2 308.5 480 256 480c-92.5 0-171.8-56-206-135.9z\"]\n};\nvar faLeafHeart = {\n prefix: 'far',\n iconName: 'leaf-heart',\n icon: [512, 512, [], \"f4cb\", \"M272 144l104 0c31.6 0 61-9.1 85.7-24.9c1.5 12.2 2.3 24.7 2.3 37.5c0 143.2-93.8 242.9-191.2 243.4l-.1 0-.8 0h-.1C201.3 400 144 342.7 144 272c0-70.7 57.3-128 128-128zM450.6 67.5C430.8 85.2 404.7 96 376 96L272 96c-93.2 0-169.5 72.5-175.6 164.1C38.3 298.8 0 364.9 0 440v16c0 13.3 10.7 24 24 24s24-10.7 24-24V440c0-48.6 20.7-92.5 53.8-123.2C121.6 392.3 190.3 448 272 448l1 0c132.1-.7 239-130.9 239-291.4c0-26.4-2.9-51.9-8.3-76.2c-.4-1.9-.9-3.8-1.3-5.6c-2.2-9.3-4.8-18.3-7.8-27.2c-1.2-3.6-2.4-7.1-3.7-10.6c-2.6-6.9-12.7-6.6-16.2-.1c-1.4 2.7-3 5.3-4.6 7.8c-4.9 7.7-10.8 14.7-17.4 20.9c-.7 .7-1.4 1.3-2.1 1.9zM189.7 242.8c0 14.4 5.8 28.3 16.2 38.4l70.9 69c6.2 6 16.1 6 22.3 0l70.9-69c10.4-10.1 16.2-23.9 16.2-38.4c0-29.5-23.9-53.5-53.5-53.5h-1.5c-14.3 0-28.1 5.6-38.4 15.6l-4.9 4.8-4.9-4.8c-10.3-10-24-15.6-38.4-15.6h-1.5c-29.5 0-53.5 23.9-53.5 53.5z\"]\n};\nvar faHouseBuilding = {\n prefix: 'far',\n iconName: 'house-building',\n icon: [640, 512, [], \"e1b1\", \"M352 48H576c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H416c0 18-6 34.6-16 48H576c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v60.6l48 44V64c0-8.8 7.2-16 16-16zm61.2 208H432c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H400c-8.8 0-16 7.2-16 16v4.6l6.1 5.6c11.2 10.3 19.2 23.4 23.1 37.9zm2.8 96h16c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16H416v64zm64-144v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H496c-8.8 0-16 7.2-16 16zm16 80c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16H496zM400 96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H400zm80 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H496c-8.8 0-16 7.2-16 16zM20.8 237C7.5 249.1 0 266.2 0 284.2V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V284.2c0-17.9-7.5-35.1-20.8-47.2l-128-117.3c-24.5-22.4-62-22.4-86.5 0L20.8 237zM48 284.2c0-4.5 1.9-8.8 5.2-11.8L181.2 155c6.1-5.6 15.5-5.6 21.6 0l128 117.3c3.3 3 5.2 7.3 5.2 11.8V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V284.2zM144 296v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V296c0-13.3-10.7-24-24-24H168c-13.3 0-24 10.7-24 24z\"]\n};\nvar faCheeseSwiss = {\n prefix: 'far',\n iconName: 'cheese-swiss',\n icon: [512, 512, [129472], \"f7f0\", \"M464 256V240.2C464 151.7 392.3 80 303.8 80c-.8 0-1.6 .2-2.3 .7l-35 23.3c12.9 8.6 21.5 23.3 21.5 40c0 26.5-21.5 48-48 48c-23.4 0-42.9-16.7-47.1-38.9L53.3 246.2C50 248.4 48 252.1 48 256H322.7c6.6-18.6 24.4-32 45.3-32s38.7 13.4 45.3 32H464zM48 304V416c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V304H403.8c-8.8 9.8-21.6 16-35.8 16s-27-6.2-35.8-16H48zm464-63.8V256 416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V256c0-20 10-38.7 26.6-49.8L274.9 40.7c8.6-5.7 18.6-8.7 28.9-8.7C418.8 32 512 125.2 512 240.2zM176 320a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faSpoon = {\n prefix: 'far',\n iconName: 'spoon',\n icon: [512, 512, [129348, 61873, \"utensil-spoon\"], \"f2e5\", \"M286.1 193.9l32 32c9.3 9.4 21.5 14 33.8 14.1c21.1 0 48.8-13.5 73.2-42.7C449 168.6 464 131.2 464 96c0-26.5-21.5-48-48-48c-35.2 0-72.6 15-101.3 38.9C285.5 111.3 272 139 272 160.1c0 12.3 4.7 24.5 14.1 33.8zm-34.9 33c-18.1-18.6-27.1-42.6-27.2-66.7C224 80 320 0 416 0c53 0 96 43 96 96c0 96-80 192-160.2 192c-24.1 0-48.2-9.1-66.7-27.2L41 505c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L251.2 226.9z\"]\n};\nvar faUtensilSpoon = faSpoon;\nvar faJarWheat = {\n prefix: 'far',\n iconName: 'jar-wheat',\n icon: [320, 512, [], \"e517\", \"M32 24c0 13.3 10.7 24 24 24H264c13.3 0 24-10.7 24-24s-10.7-24-24-24H56C42.7 0 32 10.7 32 24zM256 128c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16H256zM64 80C28.7 80 0 108.7 0 144V448c0 35.3 28.7 64 64 64H256c35.3 0 64-28.7 64-64V144c0-35.3-28.7-64-64-64H64zm192 85.8c0-3.2-2.6-5.8-5.8-5.8H208c-19.1 0-36.3 8.4-48 21.7c-11.7-13.3-28.9-21.7-48-21.7H69.8c-3.2 0-5.8 2.6-5.8 5.8C64 198 90 224 122.2 224H144h32 21.8c32.1 0 58.2-26 58.2-58.2zM250.2 256H208c-19.1 0-36.3 8.4-48 21.7c-11.7-13.3-28.9-21.7-48-21.7H69.8c-3.2 0-5.8 2.6-5.8 5.8C64 294 90 320 122.2 320H144h32 21.8c32.1 0 58.2-26 58.2-58.2c0-3.2-2.6-5.8-5.8-5.8zM256 357.8c0-3.2-2.6-5.8-5.8-5.8H208c-19.1 0-36.3 8.4-48 21.7c-11.7-13.3-28.9-21.7-48-21.7H69.8c-3.2 0-5.8 2.6-5.8 5.8C64 390 90 416 122.2 416H144v16c0 8.8 7.2 16 16 16s16-7.2 16-16V416h21.8c32.1 0 58.2-26 58.2-58.2z\"]\n};\nvar faEnvelopesBulk = {\n prefix: 'far',\n iconName: 'envelopes-bulk',\n icon: [640, 512, [\"mail-bulk\"], \"f674\", \"M112 48H432V96h48V48c0-26.5-21.5-48-48-48H112C85.5 0 64 21.5 64 48V192h48V48zM48 272H336v6.9L192.1 385.4c0 0-.1 0-.1 0s-.1 0-.1 0L48 278.9V272zm0 66.6L163.3 424c8.3 6.2 18.4 9.5 28.7 9.5s20.4-3.3 28.7-9.5L336 338.6V464H48V338.6zM0 272V464c0 26.5 21.5 48 48 48H336c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48H48c-26.5 0-48 21.5-48 48zm272-80V176H592V368H416v48H592c26.5 0 48-21.5 48-48V176c0-26.5-21.5-48-48-48H272c-26.5 0-48 21.5-48 48v16h48zm240 16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V224c0-8.8-7.2-16-16-16H512z\"]\n};\nvar faMailBulk = faEnvelopesBulk;\nvar faFileCircleExclamation = {\n prefix: 'far',\n iconName: 'file-circle-exclamation',\n icon: [576, 512, [], \"e4eb\", \"M64 464H284.5c12 18.4 27.4 34.5 45.3 47.3c-3.2 .5-6.4 .7-9.7 .7H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3v44.1c-17.2 4.9-33.4 12.3-48 21.8V160H256c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16zM432 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm0 240a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-192c-8.8 0-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16V288c0-8.8-7.2-16-16-16z\"]\n};\nvar faBowArrow = {\n prefix: 'far',\n iconName: 'bow-arrow',\n icon: [512, 512, [127993], \"f6b9\", \"M511.7 18.9c1-5.2-.7-10.5-4.4-14.3S498.2-.7 493.1 .3l-128 24c-5.8 1.1-10.6 5.3-12.3 11s-.2 11.8 4 16l35 35L144.6 333.4 93.8 320.7c-8.2-2-16.8 .4-22.8 6.3L7 391c-6.1 6.1-8.5 15-6.2 23.4s8.9 14.8 17.3 16.9l50 12.5 12.5 50c2.1 8.4 8.5 15 16.9 17.3s17.3 0 23.4-6.2l64-64c6-6 8.4-14.6 6.3-22.8l-12.7-50.8L425.7 120.3l35 35c4.2 4.2 10.4 5.7 16 4s9.9-6.5 11-12.3l24-128zM132.2 379.8l9.2 36.8L117 441.1l-5.7-22.9c-2.1-8.6-8.9-15.3-17.5-17.5L70.9 395l24.4-24.4 36.8 9.2zm-79.5-265L49 111c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9L151.4 281.4l33.9-33.9-98-98c61.2-37.6 138.2-39.2 200.8-4.9l35.1-35.1c-82.8-51.7-189.4-50-270.6 5.2zm314.7 109c34.3 62.6 32.7 139.6-4.9 200.8l-98-98-33.9 33.9L367 497c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-3.7-3.7c55.2-81.2 57-187.8 5.2-270.6l-35.1 35.1z\"]\n};\nvar faCartXmark = {\n prefix: 'far',\n iconName: 'cart-xmark',\n icon: [576, 512, [], \"e0dd\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48H69.5c3.8 0 7.1 2.7 7.9 6.5l51.6 271c6.5 34 36.2 58.5 70.7 58.5H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H199.7c-11.5 0-21.4-8.2-23.6-19.5L170.7 288H459.2c32.6 0 61.1-21.8 69.5-53.3L575.2 62.2c3.4-12.8-4.1-26-16.9-29.4s-26 4.1-29.4 16.9L482.4 222.2c-2.8 10.5-12.3 17.8-23.2 17.8H161.6l-37-194.5C119.5 19.1 96.4 0 69.5 0H24zM176 512a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm336-48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM257.8 65.8c-9.4 9.4-9.4 24.6 0 33.9L286.1 128l-28.3 28.3c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L320 161.9l28.3 28.3c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L353.9 128l28.3-28.3c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L320 94.1 291.7 65.8c-9.4-9.4-24.6-9.4-33.9 0z\"]\n};\nvar faHexagonXmark = {\n prefix: 'far',\n iconName: 'hexagon-xmark',\n icon: [512, 512, [\"times-hexagon\", \"xmark-hexagon\"], \"f2ee\", \"M17.1 292c-12.9-22.3-12.9-49.7 0-72L105.4 67.1c12.9-22.3 36.6-36 62.4-36H344.3c25.7 0 49.5 13.7 62.4 36L494.9 220c12.9 22.3 12.9 49.7 0 72L406.6 444.9c-12.9 22.3-36.6 36-62.4 36H167.7c-25.7 0-49.5-13.7-62.4-36L17.1 292zm41.6-48c-4.3 7.4-4.3 16.6 0 24l88.3 152.9c4.3 7.4 12.2 12 20.8 12H344.3c8.6 0 16.5-4.6 20.8-12L453.4 268c4.3-7.4 4.3-16.6 0-24L365.1 91.1c-4.3-7.4-12.2-12-20.8-12l-176.6 0c-8.6 0-16.5 4.6-20.8 12L58.6 244zM175 175c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faTimesHexagon = faHexagonXmark;\nvar faXmarkHexagon = faHexagonXmark;\nvar faCircleH = {\n prefix: 'far',\n iconName: 'circle-h',\n icon: [512, 512, [9405, \"hospital-symbol\"], \"f47e\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM368 152c0-13.3-10.7-24-24-24s-24 10.7-24 24v80H192V152c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 208c0 13.3 10.7 24 24 24s24-10.7 24-24l0-80H320v80c0 13.3 10.7 24 24 24s24-10.7 24-24V256 152z\"]\n};\nvar faHospitalSymbol = faCircleH;\nvar faMerge = {\n prefix: 'far',\n iconName: 'merge',\n icon: [512, 512, [], \"e526\", \"M0 88C0 74.7 10.7 64 24 64H96h48.2c17.5 0 34 8.2 44.5 22.1L297.5 228.8c1.5 2 3.9 3.2 6.4 3.2H430.1l-39-39c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l80 80c9.4 9.4 9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l39-39H303.8c-2.5 0-4.9 1.2-6.4 3.2L188.7 425.9c-10.6 13.9-27.1 22.1-44.5 22.1H96 24c-13.3 0-24-10.7-24-24s10.7-24 24-24H96h48.2c2.5 0 4.9-1.2 6.4-3.2L257.8 256 150.5 115.2c-1.5-2-3.9-3.2-6.4-3.2H96 24C10.7 112 0 101.3 0 88z\"]\n};\nvar faPager = {\n prefix: 'far',\n iconName: 'pager',\n icon: [512, 512, [128223], \"f815\", \"M448 112c8.8 0 16 7.2 16 16V384c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V128c0-8.8 7.2-16 16-16H448zM64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64zM96 192v32c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32H128c-17.7 0-32 14.3-32 32zm16 112c-13.3 0-24 10.7-24 24s10.7 24 24 24h56c13.3 0 24-10.7 24-24s-10.7-24-24-24H112zm136 0c-13.3 0-24 10.7-24 24s10.7 24 24 24h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H248z\"]\n};\nvar faCartMinus = {\n prefix: 'far',\n iconName: 'cart-minus',\n icon: [576, 512, [], \"e0db\", \"M0 24C0 10.7 10.7 0 24 0H69.5c26.9 0 50 19.1 55 45.5l37 194.5H459.2c10.9 0 20.4-7.3 23.2-17.8L528.8 49.8c3.4-12.8 16.6-20.4 29.4-16.9s20.4 16.6 16.9 29.4L528.7 234.7c-8.5 31.4-37 53.3-69.5 53.3H170.7l5.4 28.5c2.2 11.3 12.1 19.5 23.6 19.5H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H199.7c-34.6 0-64.3-24.6-70.7-58.5L77.4 54.5c-.7-3.8-4-6.5-7.9-6.5H24C10.7 48 0 37.3 0 24zM128 464a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm336-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM256 96H384c13.3 0 24 10.7 24 24s-10.7 24-24 24H256c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faAddressBook = {\n prefix: 'far',\n iconName: 'address-book',\n icon: [512, 512, [62138, \"contact-book\"], \"f2b9\", \"M384 48c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H384zM96 0C60.7 0 32 28.7 32 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H96zM240 256a64 64 0 1 0 0-128 64 64 0 1 0 0 128zm-32 32c-44.2 0-80 35.8-80 80c0 8.8 7.2 16 16 16H336c8.8 0 16-7.2 16-16c0-44.2-35.8-80-80-80H208zM512 80c0-8.8-7.2-16-16-16s-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V80zM496 192c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V208c0-8.8-7.2-16-16-16zm16 144c0-8.8-7.2-16-16-16s-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V336z\"]\n};\nvar faContactBook = faAddressBook;\nvar faPanFrying = {\n prefix: 'far',\n iconName: 'pan-frying',\n icon: [576, 512, [127859], \"e42c\", \"M400 224A176 176 0 1 0 48 224a176 176 0 1 0 352 0zM364.8 398.3C326.3 429.4 277.3 448 224 448C100.3 448 0 347.7 0 224S100.3 0 224 0S448 100.3 448 224c0 33.4-7.3 65.1-20.4 93.6l123.7 79.9C566.7 409.2 576 427.1 576 448c0 35.3-28.7 64-64 64c-15.2 0-28.3-4.6-39.3-13.5L364.8 398.3zM528 448a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM254.1 115.6c15.2 15.8 44.5 32.9 65.8 38.4c13.7 3.5 26.4 11.6 35.5 23.9c21 28.4 15.1 68.5-13.3 89.5c-8.9 6.6-18.9 10.5-29.2 12c-18.6 2.6-42.2 16.3-51.6 32.6c-22.1 38.3-71 51.4-109.3 29.3s-51.4-71-29.3-109.3c12.4-21.4 19.4-53 21.5-77.6c1.3-14.9 7.8-29.4 19.4-40.5c25.5-24.5 66-23.7 90.5 1.8zM272 224a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nvar faGrid = {\n prefix: 'far',\n iconName: 'grid',\n icon: [448, 512, [\"grid-3\"], \"e195\", \"M88 72v48H40V72H88zM40 32C17.9 32 0 49.9 0 72v48c0 22.1 17.9 40 40 40H88c22.1 0 40-17.9 40-40V72c0-22.1-17.9-40-40-40H40zM88 232v48H40V232H88zM40 192c-22.1 0-40 17.9-40 40v48c0 22.1 17.9 40 40 40H88c22.1 0 40-17.9 40-40V232c0-22.1-17.9-40-40-40H40zm0 200H88v48H40V392zM0 392v48c0 22.1 17.9 40 40 40H88c22.1 0 40-17.9 40-40V392c0-22.1-17.9-40-40-40H40c-22.1 0-40 17.9-40 40zM248 72v48H200V72h48zM200 32c-22.1 0-40 17.9-40 40v48c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V72c0-22.1-17.9-40-40-40H200zm0 200h48v48H200V232zm-40 0v48c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V232c0-22.1-17.9-40-40-40H200c-22.1 0-40 17.9-40 40zm88 160v48H200V392h48zm-48-40c-22.1 0-40 17.9-40 40v48c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V392c0-22.1-17.9-40-40-40H200zM360 72h48v48H360V72zm-40 0v48c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V72c0-22.1-17.9-40-40-40H360c-22.1 0-40 17.9-40 40zm88 160v48H360V232h48zm-48-40c-22.1 0-40 17.9-40 40v48c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V232c0-22.1-17.9-40-40-40H360zm0 200h48v48H360V392zm-40 0v48c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V392c0-22.1-17.9-40-40-40H360c-22.1 0-40 17.9-40 40z\"]\n};\nvar faGrid3 = faGrid;\nvar faFootballHelmet = {\n prefix: 'far',\n iconName: 'football-helmet',\n icon: [512, 512, [], \"f44f\", \"M434.6 185.3L275.1 205.2c-38.3 4.8-67.1 37.4-67.1 76c0 11.9 2.8 23.6 8.1 34.3L254.3 392c1.1 2.2 1.7 4.7 1.7 7.2v.9c0 8.8-7.2 16-16 16h-2.9c-2.2 0-4.3-.4-6.3-1.3l-93.9-40.2c-10-4.3-20.7-6.5-31.5-6.5H100c-22.7-31.5-36-70.1-36-112C64 150 150 64 256 64c81 0 150.4 50.2 178.6 121.3zm27.9 44.9c17.5-2.2 30.2-18.3 25.7-35.3C461.1 91.9 367.4 16 256 16C123.5 16 16 123.5 16 256c0 56.3 19.4 108.1 51.9 149.1c5.7 7.1 14.4 10.9 23.5 10.9h14c4.3 0 8.6 .9 12.6 2.6l93.9 40.2c8 3.4 16.5 5.2 25.2 5.2H240c35.3 0 64-28.7 64-64v-.9c0-9.9-2.3-19.7-6.8-28.6L288 352h39.7l9.6 50.9c10.1 54 57.2 93.1 112.1 93.1h17c25.2 0 45.6-20.4 45.6-45.6V400 368c0-26.5-21.5-48-48-48H354.3l-14-74.5 122.2-15.3zM321.7 320H272l-13-26c-2-4-3-8.4-3-12.8c0-14.4 10.7-26.6 25.1-28.4l27.4-3.4L321.7 320zm44.6 64l-6-32H464c8.8 0 16 7.2 16 16v16H366.3zM480 416v34.4c0 7.5-6.1 13.6-13.6 13.6h-17c-32.7 0-61.6-19.3-74.7-48H480zM176 360a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faHandLove = {\n prefix: 'far',\n iconName: 'hand-love',\n icon: [512, 512, [], \"e1a5\", \"M176 48c8.8 0 16 7.2 16 16V79.9l0 .1V207.8l0 .2v96c0 35.3 28.7 64 64 64c15.1 0 29-5.3 40-14c11 8.8 24.9 14 40 14c35.3 0 64-28.7 64-64V256 240 216h0V128c0-8.8 7.2-16 16-16s16 7.2 16 16V337.9c-.3 1.2-.5 2.5-.7 3.7c-6.6 66.5-61.1 118.9-128.5 122.2c-.6 0-1.3 .1-1.9 .2H296h-8.5c-55.2 0-108.1-21.9-147.1-60.9L52.7 315.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L119 336.4c6.9 6.9 17.2 8.9 26.2 5.2s14.8-12.5 14.8-22.2V64c0-8.8 7.2-16 16-16zM352 256v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V240c0-8.8 7.2-16 16-16s16 7.2 16 16v16zm0-104v26c-5.1-1.3-10.5-2-16-2c-7.9 0-15.4 1.4-22.4 4c-10.4-21.3-32.3-36-57.6-36c-5.5 0-10.9 .7-16 2V64c0-35.3-28.7-64-64-64s-64 28.7-64 64V261.5l-2.7-2.7c-25-25-65.5-25-90.5 0s-25 65.5 0 90.5L106.5 437c48 48 113.1 75 181 75H296h8c1.5 0 3-.1 4.5-.4c87.6-5.9 158.3-72.9 169.9-158.8c1.1-2.7 1.7-5.7 1.7-8.8V128c0-35.3-28.7-64-64-64s-64 28.7-64 64v23.9l0 .1zM240 216v-8.2c.1-8.8 7.2-15.8 16-15.8c8.8 0 16 7.2 16 16v32 64c0 8.8-7.2 16-16 16s-16-7.2-16-16V216h0z\"]\n};\nvar faTrees = {\n prefix: 'far',\n iconName: 'trees',\n icon: [640, 512, [], \"f724\", \"M177.4 15.1c16-19 45.2-19 61.2 0L354.4 152.5c6 7.1 7.3 17.1 3.4 25.6s-12.4 13.9-21.8 13.9H321.9l64.8 81c5.8 7.2 6.9 17.1 2.9 25.4s-12.4 13.6-21.6 13.6H342.3l62.1 88H408V216c0-13.3 10.7-24 24-24s24 10.7 24 24V400H569.7l-69.3-98.2c-5.2-7.3-5.8-16.9-1.7-24.9s12.3-13 21.3-13h22.1l-64.8-81c-5.8-7.2-6.9-17.1-2.9-25.4s12.4-13.6 21.6-13.6h12.4L432 53.3l-59.9 71.1L339.9 88.1l61.5-73c16-19 45.2-19 61.2 0L578.4 152.5c6 7.1 7.3 17.1 3.4 25.6s-12.4 13.9-21.8 13.9H545.9l64.8 81c5.8 7.2 6.9 17.1 2.9 25.4s-12.4 13.6-21.6 13.6H566.3l69.3 98.2c5.2 7.3 5.8 16.9 1.7 24.9s-12.3 13-21.3 13H456v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V448H392 368 256 232v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V448H144 24c-9 0-17.2-5-21.3-13s-3.5-17.6 1.7-24.9L73.7 312H48c-9.2 0-17.6-5.3-21.6-13.6s-2.9-18.2 2.9-25.4l64.8-81H80c-9.3 0-17.8-5.4-21.8-13.9s-2.6-18.4 3.4-25.6L177.4 15.1zM256 400h89.7l-69.3-98.2c-5.2-7.3-5.8-16.9-1.7-24.9s12.3-13 21.3-13h22.1l-64.8-81c-5.8-7.2-6.9-17.1-2.9-25.4s12.4-13.6 21.6-13.6h12.4L208 53.3 131.6 144H144c9.2 0 17.6 5.3 21.6 13.6s2.9 18.2-2.9 25.4L97.9 264H120c9 0 17.2 5 21.3 13s3.5 17.6-1.7 24.9L70.3 400H144h40V216c0-13.3 10.7-24 24-24s24 10.7 24 24V400h24z\"]\n};\nvar faStrikethrough = {\n prefix: 'far',\n iconName: 'strikethrough',\n icon: [512, 512, [], \"f0cc\", \"M145.5 138c4-21.5 17.9-37.4 41.7-47.4c24.7-10.4 59.4-13.7 99.9-7.5c12.8 2 52.4 9.5 64.9 12.8c12.8 3.3 25.9-4.3 29.3-17.2s-4.3-25.9-17.2-29.3c-14.7-3.8-56.1-11.7-69.7-13.8c-46.2-7.1-90.4-4.1-125.7 10.7c-36.1 15.1-63.3 43.1-70.5 83.9c-.1 .4-.1 .9-.2 1.3c-2.8 23.4 .5 44.2 9.8 62.2c9.2 17.8 23.2 31.2 38.8 41.5c2.4 1.6 5 3.2 7.5 4.7H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H295.8c-9.9-3.1-19.7-6-29.2-8.8l-.3-.1c-37.7-11.1-70.5-20.7-93.3-35.8c-10.9-7.2-18.2-14.9-22.6-23.5c-4.2-8.2-6.6-18.9-4.9-33.8zM364 337.1c3.7 8.6 5.5 20.1 2.6 36.3c-3.8 21.8-17.8 37.9-41.8 48c-24.7 10.4-59.4 13.7-99.8 7.5c-20.1-3.2-54.3-14.6-81.2-23.6l0 0 0 0c-5.9-2-11.4-3.8-16.3-5.4c-12.6-4.1-26.1 2.8-30.3 15.4s2.8 26.2 15.4 30.3c4 1.3 8.8 2.9 14 4.7c26.6 8.9 66.4 22.2 90.9 26.2l.1 0c46.2 7.1 90.4 4.1 125.7-10.7c36.1-15.1 63.3-43.1 70.5-83.9c4-22.9 2.4-43.5-5-61.7H351.6c5.7 5.3 9.7 11 12.3 17.1z\"]\n};\nvar faPage = {\n prefix: 'far',\n iconName: 'page',\n icon: [384, 512, [], \"e428\", \"M64 464H320c8.8 0 16-7.2 16-16V138.5c0-4.2-1.7-8.3-4.7-11.3L256.8 52.7c-3-3-7.1-4.7-11.3-4.7H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16zm256 48H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H245.5c17 0 33.3 6.7 45.3 18.7l74.5 74.5c12 12 18.7 28.3 18.7 45.3V448c0 35.3-28.7 64-64 64z\"]\n};\nvar faK = {\n prefix: 'far',\n iconName: 'k',\n icon: [320, 512, [107], \"4b\", \"M48 56c0-13.3-10.7-24-24-24S0 42.7 0 56V328 456c0 13.3 10.7 24 24 24s24-10.7 24-24V337.9l79.6-79.6L276.4 469.8c7.6 10.8 22.6 13.5 33.4 5.8s13.4-22.6 5.8-33.4L162.1 223.9 313 73c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L48 270.1V56z\"]\n};\nvar faDiagramPrevious = {\n prefix: 'far',\n iconName: 'diagram-previous',\n icon: [512, 512, [], \"e478\", \"M464 416c0 8.8-7.2 16-16 16L64 432c-8.8 0-16-7.2-16-16V352c0-8.8 7.2-16 16-16l384 0c8.8 0 16 7.2 16 16v64zm48-64c0-35.3-28.7-64-64-64H280V201.9l23 23c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-64-64c-9.4-9.4-24.6-9.4-33.9 0l-64 64c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l23-23V288H64c-35.3 0-64 28.7-64 64v64c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V352zM64 224l74.3 0c-5.7-19.1-1-40.5 14.1-55.6l64-64c21.9-21.9 57.3-21.9 79.2 0l64 64c15 15 19.7 36.5 14.1 55.6l74.3 0c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64L64 32C28.7 32 0 60.7 0 96v64c0 35.3 28.7 64 64 64z\"]\n};\nvar faGaugeMin = {\n prefix: 'far',\n iconName: 'gauge-min',\n icon: [512, 512, [\"tachometer-alt-slowest\"], \"f628\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm32-400a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM256 408c30.9 0 56-25.1 56-56s-25.1-56-56-56c-10.3 0-19.9 2.8-28.2 7.6L117.6 228.2c-10.9-7.5-25.9-4.7-33.4 6.3s-4.7 25.9 6.3 33.4l110.2 75.4c-.4 2.9-.7 5.8-.7 8.8c0 30.9 25.1 56 56 56zM192 160a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM400 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM384 160a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faTachometerAltSlowest = faGaugeMin;\nvar faFolderGrid = {\n prefix: 'far',\n iconName: 'folder-grid',\n icon: [512, 512, [], \"e188\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H289.9L247 53.1C233.5 39.6 215.2 32 196.1 32H64zM48 96c0-8.8 7.2-16 16-16H196.1c6.4 0 12.5 2.5 17 7l45.3 45.3c7.5 7.5 17.7 11.7 28.3 11.7H448c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96zm56 144c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V264c0-13.3-10.7-24-24-24H104zm104 24v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V264c0-13.3-10.7-24-24-24H232c-13.3 0-24 10.7-24 24zm152-24c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V264c0-13.3-10.7-24-24-24H360z\"]\n};\nvar faEggplant = {\n prefix: 'far',\n iconName: 'eggplant',\n icon: [512, 512, [], \"e16c\", \"M505 7c9.4 9.4 9.4 24.6 0 33.9l-9 9V192c0 8.8-7.2 16-16 16c-26.5 0-48-21.5-48-48c0-5.8-4-10.7-9.4-12.7c-13.3-4.8-25.4-13-35.1-22.8c-9.7-9.8-17.9-21.9-22.8-35.2c-2-5.4-6.9-9.4-12.6-9.4c-26.5 0-48-21.5-48-48c0-8.8 7.2-16 16-16H462.1l9-9c9.4-9.4 24.6-9.4 33.9 0zM169.9 139.3c40.3-19.6 81-39.3 113.4-66.6c8.4 14.1 20.9 25.5 36 32.3c-19.3 17.1-40.4 31-61.2 42.9c-21.5 12.3-47 24.8-70.4 36.2l0 0c-13.9 6.8-27 13.2-38 18.9c-33.6 17.6-59 34.3-76.1 54.5c-15.7 18.5-26.2 42-25.6 77.9c1 70 59 128.7 128.5 128.7c59 .1 115.4-40.1 163.9-107c33.3-46 59.2-99.9 76.2-148.5c10.2 13.3 24.4 23.3 40.8 28.2C410.6 362.7 311.1 512.2 176.4 512C79.9 511.9 1.4 431.3 0 336C-1.6 222.5 83.4 181.3 169.9 139.3z\"]\n};\nvar faExcavator = {\n prefix: 'far',\n iconName: 'excavator',\n icon: [640, 512, [], \"e656\", \"M144 48H246.9c2.7 0 5.2 1.3 6.7 3.6L325.8 160H144V48zM384 224V208 182.5c0-14.2-4.2-28.1-12.1-39.9L293.5 24.9C283.1 9.4 265.6 0 246.9 0H136C113.9 0 96 17.9 96 40V160H48c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48H336c26.5 0 48-21.5 48-48V224zm-48-16v16 48H48V208H336zM80 400H336c17.7 0 32 14.3 32 32s-14.3 32-32 32H80c-17.7 0-32-14.3-32-32s14.3-32 32-32zM0 432c0 44.2 35.8 80 80 80H336c44.2 0 80-35.8 80-80s-35.8-80-80-80H80c-44.2 0-80 35.8-80 80zm457.9 22.1c-6.4 6.4-9.9 15-9.9 24c0 18.7 15.2 33.9 33.9 33.9H560c44.2 0 80-35.8 80-80V384 336 320 144 46.6c0-2.7-.2-5.3-.7-7.8c-3.7-22-22.9-38.8-46-38.8c-11.2 0-22.1 4-30.5 11.4L416 138.7v63.5L592 49.7V80.2l-31.6 27.7L416 234.2V298L544 186l48-42v63.8V320L457.9 454.1z\"]\n};\nvar faRam = {\n prefix: 'far',\n iconName: 'ram',\n icon: [640, 512, [128015], \"f70a\", \"M336 64v8c0 13.3 10.7 24 24 24s24-10.7 24-24V64c0-8.8 7.2-16 16-16s16 7.2 16 16V88.4c-6.8 6.1-12.8 13.2-17.6 21l-47.8 20.5c-12.2 5.2-17.8 19.3-12.6 31.5s19.3 17.8 31.5 12.6l14.5-6.2V240c0 44.2 35.8 80 80 80h32c44.2 0 80-35.8 80-80V167.8l14.5 6.2c12.2 5.2 26.3-.4 31.5-12.6s-.4-26.3-12.6-31.5l-47.8-20.5c-4.9-7.8-10.8-14.9-17.6-21V64c0-8.8 7.2-16 16-16s16 7.2 16 16v8c0 13.3 10.7 24 24 24s24-10.7 24-24V64c0-35.3-28.7-64-64-64s-64 28.7-64 64v1.3c-5.2-.9-10.5-1.3-16-1.3s-10.8 .5-16 1.3V64c0-35.3-28.7-64-64-64s-64 28.7-64 64zM306.5 88.7c-8-10.3-19-18-31.8-21.9C268.8 65 262.5 64 256 64c-19.2 0-36.5 8.5-48.2 21.9C196.9 77.2 183 72 168 72c-30.1 0-55.3 20.8-62.2 48.8c-3.2-.5-6.5-.8-9.8-.8c-35.3 0-64 28.7-64 64c0 5.3 .7 10.5 1.9 15.5C13.7 210.3 0 231.5 0 256s13.7 45.7 33.9 56.5c-1.2 5-1.9 10.2-1.9 15.5c0 35.3 28.7 64 64 64c.5 0 1 0 1.5 0l17.6 93.9c2.8 15.1 16.1 26.1 31.5 26.1H176c17.7 0 32-14.3 32-32V426.3c11.7 13.3 28.9 21.7 48 21.7s36.3-8.4 48-21.7V480c0 17.7 14.3 32 32 32h29.4c15.4 0 28.6-11 31.4-26.1L414.5 392c.5 0 1 0 1.5 0c26.9 0 49.9-16.5 59.3-40H456c-14.2 0-27.7-2.8-40.1-8c-.9 0-1.7-.1-2.4-.2c-24.6-3.8-48 11.9-53.9 36c-1.7 7-8.1 12.1-15.5 12.1c-3.8 0-7.2-1.3-9.9-3.4c-20.1-16-49.1-13.3-66 6c-3 3.4-7.3 5.5-12.1 5.5s-9.1-2.1-12.1-5.5c-16.9-19.3-45.9-21.9-66-6c-2.7 2.2-6.1 3.4-9.9 3.4c-7.5 0-13.8-5.1-15.5-12.1c-5.9-24.2-29.3-39.8-53.9-36c-.8 .1-1.6 .2-2.5 .2c-8.8 0-16-7.2-16-16c0-1.4 .2-2.7 .5-3.9c5.3-21.3-4.6-43.6-24-53.9C51.3 267.4 48 262 48 256s3.3-11.4 8.5-14.2c19.4-10.4 29.3-32.6 24-53.9c-.3-1.2-.5-2.5-.5-3.9c0-8.8 7.2-16 16-16c.9 0 1.7 .1 2.5 .2c24.6 3.8 48-11.9 53.9-36c1.7-7 8.1-12.1 15.5-12.1c3.8 0 7.2 1.3 9.9 3.5c20.1 16 49.1 13.3 66-6c3-3.4 7.3-5.5 12.1-5.5c5.3 0 10 2.5 13 6.7c8.6 11.9 22 19.2 36.6 19.9c2.5-10 7.7-19.3 15.2-26.6c-6.5-6.4-11.5-14.3-14.3-23.3zM464 160a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faLandmarkFlag = {\n prefix: 'far',\n iconName: 'landmark-flag',\n icon: [512, 512, [], \"e51c\", \"M272 0H256c-8.8 0-16 7.2-16 16V128H48c-13.3 0-24 10.7-24 24s10.7 24 24 24H464c13.3 0 24-10.7 24-24s-10.7-24-24-24H272V96h80c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16H272zM112 208H64V384H56c-13.3 0-24 10.7-24 24s10.7 24 24 24H456c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V208H400V384H336V208H288V384H224V208H176V384H112V208zM0 488c0 13.3 10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H24c-13.3 0-24 10.7-24 24z\"]\n};\nvar faLips = {\n prefix: 'far',\n iconName: 'lips',\n icon: [576, 512, [128068, 128482], \"f600\", \"M258.2 138.9c-22.5-17.8-42-26.9-58.2-26.9c-10.5 0-24.3 4.1-41.7 13.7c-17.2 9.5-34 22.1-50.5 34.9c-17.5 13.6-33.2 27.9-44.4 40.5c-6 6.8-10.3 12.2-13 17C48.3 222 48 223.8 48 224c0 .4 .1 1.7 .6 4.1s1.3 5.2 2.3 8.3c9.8 29.5 28.4 58.7 51.2 85.1C138.4 363.6 190.4 400 256 400h64c65.6 0 117.6-36.4 153.9-78.5c18.1-20.9 31.8-42.8 41-61.2c9.2-18.5 13-29.2 13.1-36.3c0-.2-.2-2-2.5-5.9c-2.7-4.8-6.9-10.2-13-17c-11.2-12.6-26.9-26.9-44.4-40.5c-16.5-12.8-33.3-25.4-50.5-34.9C400.3 116.1 386.5 112 376 112c-16.2 0-35.7 9.1-58.2 26.9c-17.5 13.8-42.1 13.8-59.5 0zm239.4-16.2c19.1 14.8 37.1 31.2 50.8 46.5c13.4 15 27.6 33.7 27.6 54.8c0 20-9.4 40.3-18.1 57.8c-10.8 21.7-26.8 46.9-47.7 71.1C468.8 400.9 404.7 448 320 448H256c-84.7 0-148.8-47.1-190.2-95.1C40.3 323.4 17.7 288.8 5.3 251.5C2.6 243.1 0 233.2 0 224c0-21.1 14.2-39.7 27.6-54.8c13.6-15.3 31.7-31.7 50.8-46.5C111.5 97 156 64 200 64c32.7 0 63 17.5 88 37.3C313 81.5 343.3 64 376 64c44 0 88.5 33 121.6 58.7zM96 236c0-6.7 39.4-27.1 118.1-28c3.5 0 7 .5 10.3 1.6c11.8 3.7 42 12.4 63.6 12.4s51.7-8.7 63.6-12.4c3.3-1 6.8-1.6 10.3-1.6c78.7 .9 118.1 21.2 118.1 28c0 6.9-68.6 84-192 84s-192-77.1-192-84z\"]\n};\nvar faPencil = {\n prefix: 'far',\n iconName: 'pencil',\n icon: [512, 512, [9999, 61504, \"pencil-alt\"], \"f303\", \"M36.4 360.9L13.4 439 1 481.2C-1.5 489.7 .8 498.8 7 505s15.3 8.5 23.7 6.1L73 498.6l78.1-23c10.4-3 20.1-8 28.6-14.5l.3 .2 .5-.8c1.4-1.1 2.7-2.2 4-3.3c1.4-1.2 2.7-2.5 4-3.8L492.7 149.3c21.9-21.9 24.6-55.6 8.2-80.5c-2.3-3.5-5.1-6.9-8.2-10L453.3 19.3c-25-25-65.5-25-90.5 0L58.6 323.5c-2.5 2.5-4.9 5.2-7.1 8l-.8 .5 .2 .3c-6.5 8.5-11.4 18.2-14.5 28.6zM383 191L197.4 376.6l-49.6-12.4-12.4-49.6L321 129 383 191zM97 358.9l7.7 31c2.1 8.6 8.9 15.3 17.5 17.5l31 7.7-7.4 11.2c-2.6 1.4-5.3 2.6-8.1 3.4l-23.4 6.9L59.4 452.6l16.1-54.8 6.9-23.4c.8-2.8 2-5.6 3.4-8.1L97 358.9zM315.3 218.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-96 96c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l96-96z\"]\n};\nvar faPencilAlt = faPencil;\nvar faBackward = {\n prefix: 'far',\n iconName: 'backward',\n icon: [512, 512, [9194], \"f04a\", \"M288 94c0-16.6-13.5-30-30-30c-6.3 0-12.5 2-17.6 5.7L9.9 236.6C3.7 241.1 0 248.3 0 256s3.7 14.9 9.9 19.4L240.3 442.3c5.1 3.7 11.3 5.7 17.6 5.7c16.6 0 30-13.4 30-30V318.9L464.7 442.6c5.1 3.5 11.1 5.4 17.3 5.4c16.6 0 30.1-13.5 30.1-30.1V94.1C512 77.5 498.5 64 481.9 64c-6.2 0-12.2 1.9-17.3 5.4L288 193.1V94zm0 157.7L464 128.5v255L288 260.3v-8.6zM64.9 256L240 129.2V382.8L64.9 256z\"]\n};\nvar faCaretRight = {\n prefix: 'far',\n iconName: 'caret-right',\n icon: [256, 512, [], \"f0da\", \"M201.4 256L112 166.6l0 178.7L201.4 256zm45.3-22.6c12.5 12.5 12.5 32.8 0 45.3l-128 128c-9.2 9.2-22.9 11.9-34.9 6.9s-19.8-16.6-19.8-29.6l0-256c0-12.9 7.8-24.6 19.8-29.6s25.7-2.2 34.9 6.9l128 128z\"]\n};\nvar faComments = {\n prefix: 'far',\n iconName: 'comments',\n icon: [640, 512, [128490, 61670], \"f086\", \"M88.2 309.1c9.8-18.3 6.8-40.8-7.5-55.8C59.4 230.9 48 204 48 176c0-63.5 63.8-128 160-128s160 64.5 160 128s-63.8 128-160 128c-13.1 0-25.8-1.3-37.8-3.6c-10.4-2-21.2-.6-30.7 4.2c-4.1 2.1-8.3 4.1-12.6 6c-16 7.2-32.9 13.5-49.9 18c2.8-4.6 5.4-9.1 7.9-13.6c1.1-1.9 2.2-3.9 3.2-5.9zM0 176c0 41.8 17.2 80.1 45.9 110.3c-.9 1.7-1.9 3.5-2.8 5.1c-10.3 18.4-22.3 36.5-36.6 52.1c-6.6 7-8.3 17.2-4.6 25.9C5.8 378.3 14.4 384 24 384c43 0 86.5-13.3 122.7-29.7c4.8-2.2 9.6-4.5 14.2-6.8c15.1 3 30.9 4.5 47.1 4.5c114.9 0 208-78.8 208-176S322.9 0 208 0S0 78.8 0 176zM432 480c16.2 0 31.9-1.6 47.1-4.5c4.6 2.3 9.4 4.6 14.2 6.8C529.5 498.7 573 512 616 512c9.6 0 18.2-5.7 22-14.5c3.8-8.8 2-19-4.6-25.9c-14.2-15.6-26.2-33.7-36.6-52.1c-.9-1.7-1.9-3.4-2.8-5.1C622.8 384.1 640 345.8 640 304c0-94.4-87.9-171.5-198.2-175.8c4.1 15.2 6.2 31.2 6.2 47.8l0 .6c87.2 6.7 144 67.5 144 127.4c0 28-11.4 54.9-32.7 77.2c-14.3 15-17.3 37.6-7.5 55.8c1.1 2 2.2 4 3.2 5.9c2.5 4.5 5.2 9 7.9 13.6c-17-4.5-33.9-10.7-49.9-18c-4.3-1.9-8.5-3.9-12.6-6c-9.5-4.8-20.3-6.2-30.7-4.2c-12.1 2.4-24.7 3.6-37.8 3.6c-61.7 0-110-26.5-136.8-62.3c-16 5.4-32.8 9.4-50 11.8C279 439.8 350 480 432 480z\"]\n};\nvar faPaste = {\n prefix: 'far',\n iconName: 'paste',\n icon: [512, 512, [\"file-clipboard\"], \"f0ea\", \"M104.6 48H64C28.7 48 0 76.7 0 112V384c0 35.3 28.7 64 64 64h96V400H64c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16H80c0 17.7 14.3 32 32 32h72.4C202 108.4 227.6 96 256 96h62c-7.1-27.6-32.2-48-62-48H215.4C211.6 20.9 188.2 0 160 0s-51.6 20.9-55.4 48zM144 56a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM448 464H256c-8.8 0-16-7.2-16-16V192c0-8.8 7.2-16 16-16l140.1 0L464 243.9V448c0 8.8-7.2 16-16 16zM256 512H448c35.3 0 64-28.7 64-64V243.9c0-12.7-5.1-24.9-14.1-33.9l-67.9-67.9c-9-9-21.2-14.1-33.9-14.1H256c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64z\"]\n};\nvar faFileClipboard = faPaste;\nvar faDesktopArrowDown = {\n prefix: 'far',\n iconName: 'desktop-arrow-down',\n icon: [576, 512, [], \"e155\", \"M64 0H224V48H64c-8.8 0-16 7.2-16 16V256H528V64c0-8.8-7.2-16-16-16H352V0H512c35.3 0 64 28.7 64 64V256v48 48c0 35.3-28.7 64-64 64H364.3l8 48H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H352 224 152c-13.3 0-24-10.7-24-24s10.7-24 24-24h51.7l8-48H64c-35.3 0-64-28.7-64-64V304 256 64C0 28.7 28.7 0 64 0zM48 304v48c0 8.8 7.2 16 16 16H239.5c.3 0 .6 0 .8 0h95.2c.3 0 .6 0 .8 0H512c8.8 0 16-7.2 16-16V304H48zM252.3 464h71.3l-8-48H260.3l-8 48zM312 24V142.1l39-39c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0l-80-80c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l39 39V24c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faCodePullRequest = {\n prefix: 'far',\n iconName: 'code-pull-request',\n icon: [512, 512, [], \"e13c\", \"M305.8 2.1C314.4 5.9 320 14.5 320 24V72h16c66.3 0 120 53.7 120 120V355.7c32.5 10.2 56 40.5 56 76.3c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-35.8 23.5-66.1 56-76.3V192c0-39.8-32.2-72-72-72H320v48c0 9.5-5.6 18.1-14.2 21.9s-18.8 2.3-25.8-4.1l-80-72c-5.1-4.6-7.9-11-7.9-17.8s2.9-13.3 7.9-17.8l80-72c7-6.3 17.2-7.9 25.8-4.1zM112 80A32 32 0 1 0 48 80a32 32 0 1 0 64 0zm-8 76.3V355.7c32.5 10.2 56 40.5 56 76.3c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-35.8 23.5-66.1 56-76.3V156.3C23.5 146.1 0 115.8 0 80C0 35.8 35.8 0 80 0s80 35.8 80 80c0 35.8-23.5 66.1-56 76.3zM112 432a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm320 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faPumpkin = {\n prefix: 'far',\n iconName: 'pumpkin',\n icon: [576, 512, [], \"f707\", \"M352 118.1V35.4c0-6.9-4.1-13.2-10.5-15.9L299.3 1.4c-2.2-.9-4.5-1.4-6.8-1.4h-1.2c-6.9 0-13.1 4.1-15.8 10.4L229.4 115.7c-27.3 11.4-50.6 30.6-67 54.7c-7.5 11-4.6 25.9 6.3 33.3s25.9 4.6 33.3-6.3C220.8 170 252.3 152 288 152s67.2 18 86 45.5c7.5 11 22.4 13.8 33.3 6.3s13.8-22.4 6.3-33.3c-15.4-22.5-36.7-40.7-61.7-52.4zM141.3 144.9c12.8-16.9 28.5-31.5 46.4-43.2C176.4 98 164.4 96 152 96c-45.4 0-84 26.5-110.2 64.2C15.5 198 0 248.9 0 304s15.5 106 41.8 143.8C68 485.5 106.6 512 152 512c24.9 0 48-8.1 68-21.6c20 13.6 43.1 21.6 68 21.6s48-8.1 68-21.6c20 13.6 43.1 21.6 68 21.6c45.4 0 84-26.5 110.2-64.2C560.5 410 576 359.1 576 304s-15.5-106-41.8-143.8C508 122.5 469.4 96 424 96c-12.4 0-24.4 2-35.8 5.7c17.9 11.6 33.6 26.3 46.4 43.2c21.7 3.5 42.9 17.9 60.1 42.7c20 28.8 33.2 69.9 33.2 116.4s-13.2 87.6-33.2 116.4C474.7 449.3 449.3 464 424 464c-18 0-35.8-7.4-51.9-21.9c-9.1-8.3-23-8.3-32.2 0C323.8 456.6 306 464 288 464s-35.8-7.4-51.9-21.9c-9.1-8.3-23-8.3-32.2 0C187.8 456.6 170 464 152 464c-25.3 0-50.7-14.7-70.8-43.6C61.2 391.6 48 350.5 48 304s13.2-87.6 33.2-116.4c17.3-24.8 38.5-39.2 60.2-42.7z\"]\n};\nvar faClipboardList = {\n prefix: 'far',\n iconName: 'clipboard-list',\n icon: [384, 512, [], \"f46d\", \"M320 64H280h-9.6C263 27.5 230.7 0 192 0s-71 27.5-78.4 64H104 64C28.7 64 0 92.7 0 128V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64zM80 112v24c0 13.3 10.7 24 24 24h88 88c13.3 0 24-10.7 24-24V112h16c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V128c0-8.8 7.2-16 16-16H80zm88-32a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM136 272a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm40-16c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H176zm0 96c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H176zm-64 40a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faPenField = {\n prefix: 'far',\n iconName: 'pen-field',\n icon: [640, 512, [], \"e211\", \"M569.2 59.1L581.1 71c9.4 9.4 9.4 24.6 0 33.9L560 126.1 514.3 80.4l20.8-21.1c9.4-9.5 24.6-9.5 34.1-.1zM359.9 236.8L480.6 114.5 526.1 160 404.6 281.6c-3.3 3.3-7.5 5.6-12 6.5L343 298.5l10.4-49.7c.9-4.5 3.2-8.7 6.4-11.9zM501 25.5L325.7 203.1c-9.7 9.8-16.4 22.3-19.2 35.8l-18 85.7c-1.7 7.9 .8 16.2 6.5 21.9s14 8.2 21.9 6.5l85.5-17.9c13.7-2.9 26.2-9.7 36.1-19.6L615.1 138.9c28.1-28.1 28.1-73.7 0-101.8L603.1 25.2C574.9-3.1 529-2.9 501 25.5zM72 128c-39.8 0-72 32.2-72 72V440c0 39.8 32.2 72 72 72H504c39.8 0 72-32.2 72-72V312c0-13.3-10.7-24-24-24s-24 10.7-24 24V440c0 13.3-10.7 24-24 24H72c-13.3 0-24-10.7-24-24V200c0-13.3 10.7-24 24-24H264c13.3 0 24-10.7 24-24s-10.7-24-24-24H72zm56 224a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm128-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faBlueberries = {\n prefix: 'far',\n iconName: 'blueberries',\n icon: [512, 512, [], \"e2e8\", \"M512 176C512 78.8 433.2 0 336 0C255.4 0 187.4 54.2 166.6 128.2c3.1-.1 6.3-.2 9.4-.2c114.9 0 208 93.1 208 208c0 3.2-.1 6.3-.2 9.4C457.8 324.6 512 256.6 512 176zM384 64V96h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H384v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V128H320c-8.8 0-16-7.2-16-16s7.2-16 16-16h32V64c0-8.8 7.2-16 16-16s16 7.2 16 16zM176 208a128 128 0 1 1 0 256 128 128 0 1 1 0-256zm0 304a176 176 0 1 0 0-352 176 176 0 1 0 0 352zm0-256c0-8.8-7.2-16-16-16s-16 7.2-16 16v32H112c-8.8 0-16 7.2-16 16s7.2 16 16 16h32v32c0 8.8 7.2 16 16 16s16-7.2 16-16V320h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H176V256z\"]\n};\nvar faTruckRampBox = {\n prefix: 'far',\n iconName: 'truck-ramp-box',\n icon: [640, 512, [\"truck-loading\"], \"f4de\", \"M352 88c0-48.6 39.4-88 88-88H616c13.3 0 24 10.7 24 24s-10.7 24-24 24H440c-22.1 0-40 17.9-40 40V360.7l25.7-7 .4-.1c17.6-38.7 56.7-65.6 102-65.6c61.9 0 112 50.1 112 112s-50.1 112-112 112c-59.8 0-108.7-46.9-111.8-106L30.3 511.2c-12.8 3.5-26-4.1-29.5-16.8s4.1-26 16.8-29.5L352 373.8V88zM592 400a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zM23.1 207.7c-4.6-17.1 5.6-34.6 22.6-39.2l46.4-12.4 20.7 77.3c2.3 8.5 11.1 13.6 19.6 11.3l30.9-8.3c8.5-2.3 13.6-11.1 11.3-19.6l-20.7-77.3 46.4-12.4c17.1-4.6 34.6 5.6 39.2 22.6l41.4 154.5c4.6 17.1-5.6 34.6-22.6 39.2L103.7 384.9c-17.1 4.6-34.6-5.6-39.2-22.6L23.1 207.7z\"]\n};\nvar faTruckLoading = faTruckRampBox;\nvar faNote = {\n prefix: 'far',\n iconName: 'note',\n icon: [448, 512, [], \"e1ff\", \"M384 80c8.8 0 16 7.2 16 16V320H320c-17.7 0-32 14.3-32 32v80H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H384zM64 480H288h5.5c17 0 33.3-6.7 45.3-18.7l90.5-90.5c12-12 18.7-28.3 18.7-45.3V320 96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64zm64-120a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM104 128a24 24 0 1 0 0 48 24 24 0 1 0 0-48zm24 128a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faArrowDownToSquare = {\n prefix: 'far',\n iconName: 'arrow-down-to-square',\n icon: [512, 512, [], \"e096\", \"M385 233c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-71 71V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V270.1l-71-71c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9L239 345c9.4 9.4 24.6 9.4 33.9 0L385 233zM72 32C32.2 32 0 64.2 0 104V440c0 39.8 32.2 72 72 72H440c39.8 0 72-32.2 72-72V104c0-39.8-32.2-72-72-72H392c-13.3 0-24 10.7-24 24s10.7 24 24 24h48c13.3 0 24 10.7 24 24V440c0 13.3-10.7 24-24 24H72c-13.3 0-24-10.7-24-24V104c0-13.3 10.7-24 24-24h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H72z\"]\n};\nvar faUserCheck = {\n prefix: 'far',\n iconName: 'user-check',\n icon: [640, 512, [], \"f4fc\", \"M224 48a80 80 0 1 1 0 160 80 80 0 1 1 0-160zm0 208A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 96h91.4c65.7 0 120.1 48.7 129 112H49.3c8.9-63.3 63.3-112 129-112zm0-48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304H178.3zM625 177c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-111 111-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L625 177z\"]\n};\nvar faCloudXmark = {\n prefix: 'far',\n iconName: 'cloud-xmark',\n icon: [640, 512, [], \"e35f\", \"M354.9 121.7c13.8 16 36.5 21.1 55.9 12.5c8.9-3.9 18.7-6.2 29.2-6.2c39.8 0 72 32.2 72 72c0 4-.3 7.9-.9 11.7c-3.5 21.6 8.1 42.9 28.1 51.7C570.4 276.9 592 308 592 344c0 46.8-36.6 85.2-82.8 87.8c-.6 0-1.3 .1-1.9 .2H504 144c-53 0-96-43-96-96c0-41.7 26.6-77.3 64-90.5c19.2-6.8 32-24.9 32-45.3l0-.2v0 0c0-66.3 53.7-120 120-120c36.3 0 68.8 16.1 90.9 41.7zM512 480v-.2c71.4-4.1 128-63.3 128-135.8c0-55.7-33.5-103.7-81.5-124.7c1-6.3 1.5-12.8 1.5-19.3c0-66.3-53.7-120-120-120c-17.4 0-33.8 3.7-48.7 10.3C360.4 54.6 314.9 32 264 32C171.2 32 96 107.2 96 200l0 .2C40.1 220 0 273.3 0 336c0 79.5 64.5 144 144 144H464h40 8zM239 207c-9.4 9.4-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47c-9.4-9.4-24.6-9.4-33.9 0z\"]\n};\nvar faVialVirus = {\n prefix: 'far',\n iconName: 'vial-virus',\n icon: [512, 512, [], \"e597\", \"M24 32C10.7 32 0 42.7 0 56S10.7 80 24 80h8V384c0 53 43 96 96 96c28 0 53.3-12 70.8-31.2c-.2-14.6 5.2-29.3 16.4-40.5c.2-.2 .2-.3 .3-.3l0 0c0-.1 0-.3-.1-.6s-.2-.4-.3-.5l-.1 0c-.1 0-.2 0-.4 0c-15.2 0-29-6.1-39.1-15.9c-3.4 23.2-23.4 41-47.5 41c-26.5 0-48-21.5-48-48V240h96v70.3c10-9.6 23.6-15.4 38.6-15.4c.2 0 .4 0 .4 0l.1 0c.1-.1 .2-.2 .3-.5s.1-.5 .1-.6l0 0c0-.1-.1-.2-.3-.3c-21.9-21.9-21.9-57.3 0-79.2c2.7-2.7 5.7-5.1 8.8-7.2V80h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8H176 80 32 24zM80 192V80h96V192H80zm271.8-2.3c-13.3 0-24 10.7-24 24c0 29.3-35.4 43.9-56.1 23.2c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9c20.7 20.7 6 56.1-23.2 56.1c-13.3 0-24 10.7-24 24s10.7 24 24 24c29.3 0 43.9 35.4 23.2 56.1c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0c20.7-20.7 56.1-6 56.1 23.2c0 13.3 10.7 24 24 24s24-10.7 24-24c0-29.3 35.4-43.9 56.1-23.2c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9c-20.7-20.7-6-56.1 23.2-56.1c13.3 0 24-10.7 24-24s-10.7-24-24-24c-29.3 0-43.9-35.4-23.2-56.1c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0c-20.7 20.7-56.1 6-56.1-23.2c0-13.3-10.7-24-24-24zM320 288a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm40 96a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faBookBlank = {\n prefix: 'far',\n iconName: 'book-blank',\n icon: [448, 512, [128213, 128215, 128216, 128217, \"book-alt\"], \"f5d9\", \"M88 0C39.4 0 0 39.4 0 88V424H.4c-.3 2.6-.4 5.3-.4 8c0 44.2 35.8 80 80 80H424c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V394.6c18.9-9 32-28.3 32-50.6V56c0-30.9-25.1-56-56-56H88zM368 400v64H80c-17.7 0-32-14.3-32-32s14.3-32 32-32H368zM80 352c-11.4 0-22.2 2.4-32 6.7V88c0-22.1 17.9-40 40-40H392c4.4 0 8 3.6 8 8V344c0 4.4-3.6 8-8 8H80z\"]\n};\nvar faBookAlt = faBookBlank;\nvar faGolfFlagHole = {\n prefix: 'far',\n iconName: 'golf-flag-hole',\n icon: [512, 512, [], \"e3ac\", \"M162.7 2.5c-7.4-3.7-16.3-3.3-23.4 1.1S128 15.7 128 24V160v64 8 55.1 49.8V384c0 .7 0 1.5 .1 2.2c-.1 .6-.1 1.2-.1 1.8c0 19.9 35.8 36 80 36s80-16.1 80-36s-35.8-36-80-36c-11.4 0-22.2 1.1-32 3V326.2c24.6-3.9 51.5-6.2 80-6.2c61.7 0 116.4 10.4 154.9 26.3c19.3 8 33.3 16.9 42.1 25.5c8.7 8.6 11 15.4 11 20.2s-2.3 11.7-11 20.2c-8.8 8.6-22.8 17.5-42.1 25.5C372.4 453.6 317.7 464 256 464s-116.4-10.4-154.9-26.3c-19.3-8-33.3-16.9-42.1-25.5c-8.7-8.6-11-15.4-11-20.2s2.3-11.7 11-20.2c8-7.9 20.3-15.9 37-23.3V296.8c-4.5 1.6-9 3.3-13.2 5.1c-22.7 9.4-42.7 21.2-57.3 35.5C10.7 351.9 0 370.3 0 392s10.7 40.1 25.4 54.5c14.7 14.3 34.6 26.1 57.3 35.5C128.3 500.9 189.6 512 256 512s127.7-11.1 173.2-29.9c22.7-9.4 42.7-21.2 57.3-35.5C501.3 432.1 512 413.7 512 392s-10.7-40.1-25.4-54.5c-14.6-14.3-34.6-26.1-57.3-35.5C383.7 283.1 322.4 272 256 272c-27.8 0-54.8 1.9-80 5.6V246.8l194.7-97.4c8.1-4.1 13.3-12.4 13.3-21.5s-5.1-17.4-13.3-21.5l-208-104zM176 193.2V62.8L306.3 128 176 193.2z\"]\n};\nvar faMessageArrowDown = {\n prefix: 'far',\n iconName: 'message-arrow-down',\n icon: [512, 512, [\"comment-alt-arrow-down\"], \"e1db\", \"M208 416c0-26.5-21.5-48-48-48H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H448c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H309.3c-10.4 0-20.5 3.4-28.8 9.6L208 432V416zm-.2 76.2l.2-.2 101.3-76H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h48 48v48 4 .3 6.4V496c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L202.7 496l5.1-3.8zM280 120c0-13.3-10.7-24-24-24s-24 10.7-24 24V238.1l-31-31c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l72 72c9.4 9.4 24.6 9.4 33.9 0l72-72c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-31 31V120z\"]\n};\nvar faCommentAltArrowDown = faMessageArrowDown;\nvar faFaceUnamused = {\n prefix: 'far',\n iconName: 'face-unamused',\n icon: [512, 512, [], \"e39f\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM294.5 392.4c-7.4-7.9-20-16.4-38.5-16.4s-31.1 8.5-38.5 16.4c-9 9.7-24.2 10.2-33.9 1.2s-10.2-24.2-1.2-33.9C196.7 344.3 221.4 328 256 328s59.3 16.3 73.5 31.6c9 9.7 8.5 24.9-1.2 33.9s-24.9 8.5-33.9-1.2zM112 192h64c17.7 0 32 14.3 32 32s-14.3 32-32 32s-32-14.3-32-32H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm176 16c0-8.8 7.2-16 16-16h64c17.7 0 32 14.3 32 32s-14.3 32-32 32s-32-14.3-32-32H304c-8.8 0-16-7.2-16-16z\"]\n};\nvar faSheetPlastic = {\n prefix: 'far',\n iconName: 'sheet-plastic',\n icon: [384, 512, [], \"e571\", \"M320 48c8.8 0 16 7.2 16 16V352H256c-17.7 0-32 14.3-32 32v80H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H320zM0 448c0 35.3 28.7 64 64 64H236.1c12.7 0 24.9-5.1 33.9-14.1l99.9-99.9c9-9 14.1-21.2 14.1-33.9V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V448zM203.3 84.7c-6.2-6.2-16.4-6.2-22.6 0l-96 96c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l96-96c6.2-6.2 6.2-16.4 0-22.6zm96 54.6c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-160 160c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l160-160z\"]\n};\nvar faCircle9 = {\n prefix: 'far',\n iconName: 'circle-9',\n icon: [512, 512, [], \"e0f6\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256-80a48 48 0 1 0 0 96 48 48 0 1 0 0-96zM230 316.4c-40.4-11.4-70-48.4-70-92.4c0-53 43-96 96-96s96 43 96 96c0 32.4-14.2 63.2-38.8 84.3l-81.6 70c-10.1 8.6-25.2 7.5-33.8-2.6s-7.5-25.2 2.6-33.8L230 316.4z\"]\n};\nvar faBlog = {\n prefix: 'far',\n iconName: 'blog',\n icon: [512, 512, [], \"f781\", \"M216 0C379.5 0 512 132.5 512 296c0 13.3-10.7 24-24 24s-24-10.7-24-24C464 159 353 48 216 48c-13.3 0-24-10.7-24-24s10.7-24 24-24zM24 96c13.3 0 24 10.7 24 24V368c0 53 43 96 96 96s96-43 96-96s-43-96-96-96h-8c-13.3 0-24-10.7-24-24s10.7-24 24-24h8c79.5 0 144 64.5 144 144s-64.5 144-144 144S0 447.5 0 368V120c0-13.3 10.7-24 24-24zm168 24c0-13.3 10.7-24 24-24c110.5 0 200 89.5 200 200c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-83.9-68.1-152-152-152c-13.3 0-24-10.7-24-24z\"]\n};\nvar faUserNinja = {\n prefix: 'far',\n iconName: 'user-ninja',\n icon: [448, 512, [129399], \"f504\", \"M352 128c0 70.7-57.3 128-128 128c-57.2 0-105.6-37.5-122-89.3c-1.1 1.3-2.2 2.6-3.5 3.8c-15.8 15.8-38.8 20.7-53.6 22.1c-8.1 .8-14.6-5.7-13.8-13.8c1.4-14.7 6.3-37.8 22.1-53.6c5.8-5.8 12.6-10.1 19.6-13.4c-7-3.2-13.8-7.6-19.6-13.4C37.4 82.7 32.6 59.7 31.1 44.9c-.8-8.1 5.7-14.6 13.8-13.8c14.7 1.4 37.8 6.3 53.6 22.1c4.8 4.8 8.7 10.4 11.7 16.1C131.4 28.2 174.4 0 224 0c70.7 0 128 57.3 128 128zM144 112c0 8.8 7.2 16 16 16H288c8.8 0 16-7.2 16-16s-7.2-16-16-16H160c-8.8 0-16 7.2-16 16zM49.3 464H212.4l-6.5-7.7c-.2-.2-.4-.4-.6-.7l-78.4-93.1C85.9 380.1 55.7 418.3 49.3 464zm206.1-23.5L275.2 464H398.7c-6.4-45.7-36.6-83.9-77.7-101.5l-65.7 78zM418.3 512H264.2h-.3H29.7C13.3 512 0 498.7 0 482.3c0-83.7 57.6-153.9 135.4-173.1c5.6-1.4 11.4 .7 15.1 5.1l61.3 71.6c6.4 7.4 17.9 7.4 24.3 0l61.3-71.6c3.7-4.4 9.5-6.4 15.1-5.1C390.4 328.4 448 398.6 448 482.3c0 16.4-13.3 29.7-29.7 29.7z\"]\n};\nvar faPencilSlash = {\n prefix: 'far',\n iconName: 'pencil-slash',\n icon: [640, 512, [], \"e215\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L409.9 296 556.7 149.3c21.9-21.9 24.6-55.6 8.2-80.5c-2.3-3.5-5.1-6.9-8.2-10L517.3 19.3c-25-25-65.5-25-90.5 0L264.3 181.8 38.8 5.1zM302.3 211.6L385 129 447 191l-75.1 75.1-69.6-54.5zm.9 123.2l-41.7 41.7-49.6-12.4-12.4-49.6 34.4-34.4-38-29.9-73.2 73.2c-2.5 2.5-4.9 5.2-7.1 8l-.8 .5 .2 .3c-6.5 8.5-11.4 18.2-14.5 28.6L77.4 439 65 481.2c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1L137 498.6l78.1-23c10.4-3 20.1-8 28.6-14.5l.3 .2 .5-.8c1.4-1.1 2.7-2.2 4-3.3c1.4-1.2 2.7-2.5 4-3.8l88.6-88.6-38-29.9zM161 358.9l7.7 31c2.1 8.6 8.9 15.3 17.5 17.5l31 7.7-7.4 11.2c-2.6 1.4-5.3 2.6-8.1 3.4l-23.4 6.9-54.8 16.1 16.1-54.8 6.9-23.4c.8-2.8 2-5.6 3.4-8.1l11.1-7.4z\"]\n};\nvar faBowlingPins = {\n prefix: 'far',\n iconName: 'bowling-pins',\n icon: [512, 512, [], \"f437\", \"M128 48c-17.7 0-32 14.3-32 32v4.4c0 5.8 .7 11.5 2.1 17.1l9.4 37.4c1.7 6.9 3 14 3.7 21.1h33.6c.7-7.1 2-14.2 3.7-21.1l9.4-37.4c1.4-5.6 2.1-11.3 2.1-17.1V80c0-17.7-14.3-32-32-32zM102.3 230.2L74 305.7c-6.6 17.6-10 36.3-10 55.1c0 22.4 4.8 44.5 14.1 64.9L95.5 464h65.1l17.4-38.3c9.3-20.4 14.1-42.5 14.1-64.9c0-18.8-3.4-37.5-10-55.1l-28.3-75.5c-2.7-7.2-4.9-14.6-6.4-22.2H108.8c-1.6 7.5-3.7 14.9-6.4 22.2zM48 80C48 35.8 83.8 0 128 0s80 35.8 80 80v4.4c0 9.7-1.2 19.3-3.5 28.7l-9.4 37.4c-2.1 8.2-3.1 16.7-3.1 25.2v1c0 12.5 2.2 24.8 6.6 36.5L227 288.9c8.6 23 13 47.4 13 72c0 29.3-6.3 58.2-18.4 84.8L200 493.2c-5.2 11.4-16.6 18.8-29.1 18.8H85.2c-12.5 0-23.9-7.3-29.1-18.8L34.4 445.6C22.3 419 16 390.1 16 360.8c0-24.6 4.4-48.9 13-72l28.3-75.5c4.4-11.7 6.6-24 6.6-36.5v-1c0-8.5-1-17-3.1-25.2l-9.4-37.4c-2.3-9.4-3.5-19-3.5-28.7V80zM384 48c-17.7 0-32 14.3-32 32v4.4c0 5.8 .7 11.5 2.1 17.1l9.4 37.4c1.7 6.9 3 14 3.7 21.1h33.6c.7-7.1 2-14.2 3.7-21.1l9.4-37.4c1.4-5.6 2.1-11.3 2.1-17.1V80c0-17.7-14.3-32-32-32zM358.3 230.2L330 305.7c-6.6 17.6-10 36.3-10 55.1c0 22.4 4.8 44.5 14.1 64.9L351.5 464h65.1l17.4-38.3c9.3-20.4 14.1-42.5 14.1-64.9c0-18.8-3.4-37.5-10-55.1l-28.3-75.5c-2.7-7.2-4.9-14.6-6.4-22.2H364.8c-1.6 7.5-3.7 14.9-6.4 22.2zM304 80c0-44.2 35.8-80 80-80s80 35.8 80 80v4.4c0 9.7-1.2 19.3-3.5 28.7l-9.4 37.4c-2.1 8.2-3.1 16.7-3.1 25.2v1c0 12.5 2.2 24.8 6.6 36.5L483 288.9c8.6 23 13 47.4 13 72c0 29.3-6.3 58.2-18.4 84.8L456 493.2c-5.2 11.4-16.6 18.8-29.1 18.8H341.2c-12.6 0-23.9-7.3-29.1-18.8l-21.7-47.6C278.3 419 272 390.1 272 360.8c0-24.6 4.4-48.9 13-72l28.3-75.5c4.4-11.7 6.6-24 6.6-36.5v-1c0-8.5-1-17-3.1-25.2l-9.4-37.4c-2.3-9.4-3.5-19-3.5-28.7V80z\"]\n};\nvar faPersonArrowUpFromLine = {\n prefix: 'far',\n iconName: 'person-arrow-up-from-line',\n icon: [640, 512, [], \"e539\", \"M192 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-13.7 80h27.5c.8 0 1.5 0 2.3 .1V304H176V176.1c.7 0 1.5-.1 2.3-.1zM176 464V352h32V464H176zm-48 0H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H152h80H616c13.3 0 24-10.7 24-24s-10.7-24-24-24H256V223.6l43.1 76.2c6.5 11.5 21.2 15.6 32.7 9.1s15.6-21.2 9.1-32.7L282.3 172.7c-15.6-27.6-44.9-44.7-76.6-44.7H178.3c-31.7 0-61 17.1-76.6 44.7L43.1 276.2c-6.5 11.5-2.5 26.2 9.1 32.7s26.2 2.5 32.7-9.1L128 223.6V464zM600.1 118.2l-88-80c-9.2-8.3-23.1-8.3-32.3 0l-88 80c-9.8 8.9-10.5 24.1-1.6 33.9s24.1 10.5 33.9 1.6L472 110.3 472 392c0 13.3 10.7 24 24 24s24-10.7 24-24V110.3l47.9 43.5c9.8 8.9 25 8.2 33.9-1.6s8.2-25-1.6-33.9z\"]\n};\nvar faDownRight = {\n prefix: 'far',\n iconName: 'down-right',\n icon: [384, 512, [], \"e16b\", \"M320 384V190.6c0-1.7-.8-3.2-2.1-4.2c-2.1-1.6-5-1.4-6.9 .5L257 241c-9.4 9.4-24.6 9.4-33.9 0L98.3 116.3c-2.7-2.7-6.5-4.3-10.3-4.3s-7.6 1.5-10.3 4.3L52.3 141.7c-2.7 2.7-4.3 6.5-4.3 10.3s1.5 7.6 4.3 10.3L177 287c9.4 9.4 9.4 24.6 0 33.9L122.9 375c-1.8 1.8-2.1 4.8-.5 6.9c1 1.3 2.5 2.1 4.2 2.1H320zm48 8c0 22.1-17.9 40-40 40H126.6c-16.8 0-32.5-7.9-42.6-21.3c-15.9-21.2-13.8-50.9 4.9-69.6L126.1 304 18.3 196.3C6.6 184.5 0 168.6 0 152s6.6-32.5 18.3-44.3L43.7 82.4C55.5 70.6 71.4 64 88 64s32.5 6.6 44.3 18.3L240 190.1 277.1 153c18.7-18.7 48.4-20.8 69.6-5c13.4 10.1 21.3 25.8 21.3 42.6V392z\"]\n};\nvar faScrollTorah = {\n prefix: 'far',\n iconName: 'scroll-torah',\n icon: [640, 512, [\"torah\"], \"f6a0\", \"M80 48C62.3 48 48 62.3 48 80V432c0 17.7 14.3 32 32 32s32-14.3 32-32V416 96 80c0-17.7-14.3-32-32-32zm73.3 416C141 492.3 112.8 512 80 512c-44.2 0-80-35.8-80-80V80C0 35.8 35.8 0 80 0c32.8 0 61 19.7 73.3 48H160 480h6.7C499 19.7 527.2 0 560 0c44.2 0 80 35.8 80 80V432c0 44.2-35.8 80-80 80c-32.8 0-61-19.7-73.3-48H480 160h-6.7zm6.7-48H480V96H160V416zm368 16c0 17.7 14.3 32 32 32s32-14.3 32-32V80c0-17.7-14.3-32-32-32s-32 14.3-32 32V96 416v16zM196 313.7c0-3.2 .9-6.4 2.5-9.2L226.7 256l-28.3-48.5c-1.6-2.8-2.5-6-2.5-9.2c0-10.1 8.2-18.3 18.3-18.3H271l31.4-53.9c3.6-6.3 10.3-10.1 17.6-10.1s13.9 3.8 17.6 10.1L369 180h56.7c10.1 0 18.3 8.2 18.3 18.3c0 3.2-.9 6.4-2.5 9.2L413.3 256l28.3 48.5c1.6 2.8 2.5 6 2.5 9.2c0 10.1-8.2 18.3-18.3 18.3H369l-31.4 53.9c-3.6 6.3-10.3 10.1-17.6 10.1s-13.9-3.8-17.6-10.1L271 332H214.3c-10.1 0-18.3-8.2-18.3-18.3zm124 54.7L341.2 332H298.8L320 368.4zM254.5 256l30.3 52h70.4l30.3-52-30.3-52H284.8l-30.3 52zm144.9 23.8L383 308h32.8l-16.4-28.2zM415.8 204H383l16.4 28.2L415.8 204zM320 143.6L298.8 180h42.4L320 143.6zM224.2 204l16.4 28.2L257 204H224.2zM257 308l-16.4-28.2L224.2 308H257z\"]\n};\nvar faTorah = faScrollTorah;\nvar faWebhook = {\n prefix: 'far',\n iconName: 'webhook',\n icon: [576, 512, [], \"e5d5\", \"M306 50c41.1 9.5 67.5 49.2 61.1 90.2c-2.1 13.1 6.9 25.4 20 27.4s25.4-6.9 27.4-20C424.8 82 382.6 18.5 316.8 3.3c-68.9-15.9-137.6 27-153.5 95.9c-10.7 46.3 5.2 92.6 37.7 122.7L129.7 336c-.6 0-1.1 0-1.7 0c-26.5 0-48 21.5-48 48s21.5 48 48 48s48-21.5 48-48c0-8.1-2-15.8-5.6-22.5l82.8-132.5c3.4-5.4 4.5-11.9 3-18.1s-5.3-11.6-10.7-15c-28.2-17.6-43.4-51.7-35.5-85.9C220 67 262.9 40.1 306 50zM288 112a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm42.4 38.5c3.6-6.7 5.6-14.4 5.6-22.5c0-26.5-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48c.6 0 1.1 0 1.7 0l82.8 132.5c3.4 5.4 8.8 9.2 15 10.7s12.7 .3 18.1-3c30.9-19.3 72.1-15.5 99 11.3c31.2 31.2 31.2 81.9 0 113.1c-26.8 26.8-68.1 30.6-99 11.3c-11.2-7-26-3.6-33.1 7.6s-3.6 26 7.6 33.1c49.4 31 115.4 25 158.4-18c50-50 50-131 0-181c-37-37-91-46.6-136.8-28.9L330.4 150.5zM112 384a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm320 0a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm64 0c0-26.5-21.5-48-48-48c-17.8 0-33.3 9.7-41.6 24H232c-6.4 0-12.5 2.5-17 7s-7 10.6-7 17c0 36.4-25 69.4-62 77.9c-43.1 9.9-86-16.9-95.9-60c-8.9-38.6 11.7-77.1 47.1-91.8c12.2-5.1 18-19.1 12.9-31.4s-19.1-18-31.4-12.9C22.1 289.4-11 351 3.3 412.8c15.9 68.9 84.6 111.8 153.5 95.9c51-11.8 87.7-52.5 97-100.7H406.4c8.3 14.3 23.8 24 41.6 24c26.5 0 48-21.5 48-48z\"]\n};\nvar faBlindsOpen = {\n prefix: 'far',\n iconName: 'blinds-open',\n icon: [512, 512, [], \"f8fc\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48H144V160v48 36.1C116 254 96 280.7 96 312c0 39.8 32.2 72 72 72s72-32.2 72-72c0-31.3-20-58-48-67.9V208 160 48H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zM144 312a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM0 488c0 13.3 10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H24c-13.3 0-24 10.7-24 24zM64.3 320H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H80.3c-9-14.1-14.7-30.4-16-48zm191.3 48H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H271.7c-1.3 17.6-7 33.9-16 48zM24 160c-13.3 0-24 10.7-24 24s10.7 24 24 24h88V160H24zm200 48H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H224v48z\"]\n};\nvar faFence = {\n prefix: 'far',\n iconName: 'fence',\n icon: [512, 512, [], \"e303\", \"M64 32c7.8 0 15 3.7 19.5 10.1l40 56c2.9 4.1 4.5 8.9 4.5 13.9v48h64V112c0-5 1.6-9.9 4.5-13.9l40-56C241 35.7 248.2 32 256 32s15 3.7 19.5 10.1l40 56c2.9 4.1 4.5 8.9 4.5 13.9v48h64V112c0-5 1.6-9.9 4.5-13.9l40-56C433 35.7 440.2 32 448 32s15 3.7 19.5 10.1l40 56c2.9 4.1 4.5 8.9 4.5 13.9V448c0 17.7-14.3 32-32 32H416c-17.7 0-32-14.3-32-32V400H320v48c0 17.7-14.3 32-32 32H224c-17.7 0-32-14.3-32-32V400H128v48c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V112c0-5 1.6-9.9 4.5-13.9l40-56C49 35.7 56.2 32 64 32zM320 352h64V208H320V352zM192 208H128V352h64V208zM48 119.7V432H80V119.7L64 97.3 48 119.7zm192 0V432h32V119.7L256 97.3l-16 22.4zM432 432h32V119.7L448 97.3l-16 22.4V432z\"]\n};\nvar faUp = {\n prefix: 'far',\n iconName: 'up',\n icon: [384, 512, [\"arrow-alt-up\"], \"f357\", \"M192 82.4L334.7 232.3c.8 .8 1.3 2 1.3 3.2c0 2.5-2 4.6-4.6 4.6H248c-13.3 0-24 10.7-24 24V432H160V264c0-13.3-10.7-24-24-24H52.6c-2.5 0-4.6-2-4.6-4.6c0-1.2 .5-2.3 1.3-3.2L192 82.4zm192 153c0-13.5-5.2-26.5-14.5-36.3L222.9 45.2C214.8 36.8 203.7 32 192 32s-22.8 4.8-30.9 13.2L14.5 199.2C5.2 208.9 0 221.9 0 235.4c0 29 23.5 52.6 52.6 52.6H112V432c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48V288h59.4c29 0 52.6-23.5 52.6-52.6z\"]\n};\nvar faArrowAltUp = faUp;\nvar faBroomBall = {\n prefix: 'far',\n iconName: 'broom-ball',\n icon: [576, 512, [\"quidditch\", \"quidditch-broom-ball\"], \"f458\", \"M569 7c9.4 9.4 9.4 24.6 0 33.9L369 241l39 39c5.1 5.1 8 12.1 8 19.4c0 12.2-8.1 23-19.9 26.3l-55.6 15.9 .1 .6c7.1 46.4-8.3 93.4-41.5 126.7C271.5 496.5 234 512 194.9 512L22.3 512C10 512 0 502 0 489.7c0-6.2 2.6-12.1 7.2-16.4l49.9-46.1 24.3-22.4L104 384H81.3c-9.6 0-17.3-7.8-17.3-17.3c0-3.9 .2-7.8 .6-11.6c2.7-25.6 14-49.7 32.4-68l10.2-10.2c33.2-33.2 80.2-48.6 126.7-41.5l.6 .1 15.9-55.6c3.4-11.8 14.1-19.9 26.3-19.9c7.3 0 14.2 2.9 19.4 8l39 39L535 7c9.4-9.4 24.6-9.4 33.9 0zM321.2 297.2l28.1-8-62.4-62.4-8 28.1 42.3 42.3zm-84.9-12.9l-9.8-1.5c-31.3-4.8-63 5.6-85.4 28l-10.2 10.2c-5.1 5.1-9.3 11-12.4 17.3c13.5 4.3 24.8 14.5 30.1 28.3c7.2 18.4 2.4 39.3-12.1 52.7L88.1 464l106.8 0c26.4 0 51.7-10.5 70.3-29.1c22.4-22.4 32.8-54.1 28-85.4l-1.5-9.8-55.4-55.4zM528 432a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-112 0a80 80 0 1 1 160 0 80 80 0 1 1 -160 0z\"]\n};\nvar faQuidditch = faBroomBall;\nvar faQuidditchBroomBall = faBroomBall;\nvar faDrumstick = {\n prefix: 'far',\n iconName: 'drumstick',\n icon: [512, 512, [127831], \"f6d6\", \"M240 304c-17.7 0-32-14.3-32-32V176c0-70.7 57.3-128 128-128s128 57.3 128 128s-57.3 128-128 128H240zm-37.5 78c10.2-14.4 23.9-30 41.5-30h92c97.2 0 176-78.8 176-176S433.2 0 336 0S160 78.8 160 176v92c0 17.7-15.6 31.3-30 41.5c-2.4 1.7-4.6 3.6-6.8 5.7c-12 12-31.5 11.1-47.9 6.8c-4.9-1.3-10-2-15.4-2c-33.1 0-60 26.9-60 60s26.9 60 60 60c6.3 0 12 5.7 12 12c0 33.1 26.9 60 60 60s60-26.9 60-60c0-5.3-.7-10.5-2-15.4c-4.3-16.4-5.2-35.9 6.8-47.9c2.1-2.1 4-4.4 5.7-6.7z\"]\n};\nvar faSquareV = {\n prefix: 'far',\n iconName: 'square-v',\n icon: [448, 512, [], \"e284\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm141.5 53.3L224 314.3l82.5-165.1c5.9-11.9 20.3-16.7 32.2-10.7s16.7 20.3 10.7 32.2l-104 208c-4.1 8.1-12.4 13.3-21.5 13.3s-17.4-5.1-21.5-13.3l-104-208c-5.9-11.9-1.1-26.3 10.7-32.2s26.3-1.1 32.2 10.7z\"]\n};\nvar faFaceAwesome = {\n prefix: 'far',\n iconName: 'face-awesome',\n icon: [512, 512, [\"gave-dandy\"], \"e409\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm192-32V200c0-2-.1-3.9-.4-5.8c-4.2 3.6-9.6 5.8-15.6 5.8c-13.3 0-24-10.7-24-24c0-6 2.2-11.4 5.8-15.6c-1.9-.3-3.8-.4-5.8-.4c-22.1 0-40 17.9-40 40v24h80zm-40-96c39.8 0 72 32.2 72 72v24c0 17.7-14.3 32-32 32H112c-17.7 0-32-14.3-32-32V200c0-39.8 32.2-72 72-72zm216 72c-13.3 0-24-10.7-24-24c0-5.4 1.8-10.3 4.7-14.3c-4.1-1.1-8.3-1.7-12.7-1.7c-26.5 0-48 21.5-48 48v16h96V208c0-4.4-.6-8.7-1.7-12.7c-4 3-8.9 4.7-14.3 4.7zm-32-72c44.2 0 80 35.8 80 80v17.9c0 16.6-13.5 30.1-30.1 30.1H286.1c-16.6 0-30.1-13.5-30.1-30.1V208c0-44.2 35.8-80 80-80zM100.4 307.8c-2.3-10.2 5.5-19.8 15.9-19.8h0H395.7h0c10.4 0 18.1 9.6 15.9 19.8c-3.9 17.4-10.6 33.6-19.5 48.2l0 0c-28.2 45.9-78.9 75.6-134.9 76l-1.1 0c-4.6 0-9.3-.2-13.8-.6c-68.5-5.9-126.7-55.6-141.8-123.6zm263.8 32.4c-8.2-2.7-16.9-4.2-25.9-4.2c-39.2 0-71.9 27.3-80.2 64c44.1-.7 83.8-24.1 106.2-59.8z\"]\n};\nvar faGaveDandy = faFaceAwesome;\nvar faDialOff = {\n prefix: 'far',\n iconName: 'dial-off',\n icon: [576, 512, [], \"e162\", \"M288 64a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM264 288V397.4c-50.3-11-88-55.8-88-109.4c0-61.9 50.1-112 112-112s112 50.1 112 112c0 53.6-37.7 98.4-88 109.4V288c0-13.3-10.7-24-24-24s-24 10.7-24 24zm24 160a160 160 0 1 0 0-320 160 160 0 1 0 0 320zM576 288a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM32 320a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM128 96A32 32 0 1 0 64 96a32 32 0 1 0 64 0zm352 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM128 480a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm352 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faToggleOff = {\n prefix: 'far',\n iconName: 'toggle-off',\n icon: [576, 512, [], \"f204\", \"M384 112c79.5 0 144 64.5 144 144s-64.5 144-144 144H192c-79.5 0-144-64.5-144-144s64.5-144 144-144H384zM576 256c0-106-86-192-192-192H192C86 64 0 150 0 256S86 448 192 448H384c106 0 192-86 192-192zM192 352a96 96 0 1 0 0-192 96 96 0 1 0 0 192z\"]\n};\nvar faFaceSmileHorns = {\n prefix: 'far',\n iconName: 'face-smile-horns',\n icon: [640, 512, [], \"e391\", \"M320 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464c141.4 0 256-114.6 256-256c0-24.6-3.5-48.4-9.9-70.9c44.3-59.4 67.4-135 73.6-166c1.3-6.3-1.4-12.8-6.8-16.4s-12.4-3.6-17.8 0c-19.3 12.9-48.5 24.2-78.4 33.1c-23.3 7-46 12.2-63 15.5C430.9 19.1 377.7 0 320 0S209.1 19.1 166.2 51.3c-17-3.3-39.7-8.6-63-15.5C73.4 26.9 44.2 15.5 24.9 2.7C19.5-.9 12.5-.9 7.1 2.7S-1 12.8 .3 19.1c6.2 31 29.3 106.6 73.6 166C67.5 207.6 64 231.4 64 256c0 141.4 114.6 256 256 256zM207.7 332.7c-9.7 9-10.4 24.2-1.4 33.9c22 23.8 60 49.4 113.6 49.4s91.7-25.5 113.6-49.4c9-9.7 8.4-24.9-1.4-33.9s-24.9-8.4-33.9 1.4C383.2 350.5 357.2 368 320 368s-63.2-17.5-78.4-33.9c-9-9.7-24.2-10.4-33.9-1.4zM240.4 288c17.7 0 32-14.3 32-32c0-1.5-.1-3-.3-4.4l10.9 3.6c8.4 2.8 17.4-1.7 20.2-10.1s-1.7-17.4-10.1-20.2l-96-32c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2l30.7 10.2c-5.8 5.8-9.3 13.8-9.3 22.6c0 17.7 14.3 32 32 32zm192-32c0-8.9-3.6-17-9.5-22.8l30.2-10.1c8.4-2.8 12.9-11.9 10.1-20.2s-11.9-12.9-20.2-10.1l-96 32c-8.4 2.8-12.9 11.9-10.1 20.2s11.9 12.9 20.2 10.1l11.7-3.9c-.2 1.5-.3 3.1-.3 4.7c0 17.7 14.3 32 32 32s32-14.3 32-32z\"]\n};\nvar faBoxArchive = {\n prefix: 'far',\n iconName: 'box-archive',\n icon: [512, 512, [\"archive\"], \"f187\", \"M48 80v48H464V80H48zM32 32H480c17.7 0 32 14.3 32 32v80c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V64C0 46.3 14.3 32 32 32zM160 248c0-13.3 10.7-24 24-24H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24zM32 416V208H80V416c0 8.8 7.2 16 16 16H416c8.8 0 16-7.2 16-16V208h48V416c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64z\"]\n};\nvar faArchive = faBoxArchive;\nvar faGrapes = {\n prefix: 'far',\n iconName: 'grapes',\n icon: [512, 512, [], \"e306\", \"M346.7 6C337.6 17 320 42.3 320 72c0 40 15.3 55.3 40 80s40 40 80 40c29.7 0 55-17.6 66-26.7c4-3.3 6-8.2 6-13.3s-2-10-6-13.2c-11.4-9.1-38.3-26.8-74-26.8c-32 0-40 8-40 8s8-8 8-40c0-35.7-17.7-62.6-26.8-74C370 2 365.1 0 360 0s-10 2-13.3 6zM408 264c0-44.2-35.8-80-80-80c0-44.2-35.8-80-80-80c-28 0-52.6 14.4-66.9 36.1C167 127.6 148.4 120 128 120c-44.2 0-80 35.8-80 80c0 18 6 34.6 16 48c-19.4 14.6-32 37.8-32 64c0 17.6 5.7 33.8 15.2 47C19.4 371.5 0 399.5 0 432c0 44.2 35.8 80 80 80c32.5 0 60.5-19.4 73-47.2c13.2 9.6 29.4 15.2 47 15.2c26.2 0 49.4-12.6 64-32c13.4 10 30 16 48 16c44.2 0 80-35.8 80-80c0-20.4-7.6-39-20.1-53.1C393.6 316.6 408 292 408 264zM248 144a40 40 0 1 1 0 80 40 40 0 1 1 0-80zM128 160a40 40 0 1 1 0 80 40 40 0 1 1 0-80zM72 312a40 40 0 1 1 80 0 40 40 0 1 1 -80 0zm8 80a40 40 0 1 1 0 80 40 40 0 1 1 0-80zm80 8a40 40 0 1 1 80 0 40 40 0 1 1 -80 0zm152-56a40 40 0 1 1 0 80 40 40 0 1 1 0-80zM184 288a40 40 0 1 1 80 0 40 40 0 1 1 -80 0zm144-64a40 40 0 1 1 0 80 40 40 0 1 1 0-80z\"]\n};\nvar faPersonDrowning = {\n prefix: 'far',\n iconName: 'person-drowning',\n icon: [576, 512, [], \"e545\", \"M152 32c13.3 0 24 10.7 24 24V92.6c0 58 37.9 109.1 93.4 126c43.9 13.4 90.7 14.3 135.1 2.7l109.5-28.6c12.8-3.3 25.9 4.3 29.3 17.2s-4.3 25.9-17.2 29.3L416.5 267.8c-14.3 3.7-28.9 6.4-43.5 7.9L355.7 379.6c-10.6-3.5-21.2-8.8-30.9-15.5c-4.4-3.1-9.1-5.6-14-7.4l13.3-79.8c-23.2-1.4-46.3-5.5-68.8-12.3c-4.6-1.4-9-2.9-13.4-4.7L220.6 379.6c-9.2 3.1-18.9 4.9-28.6 4.9c-6.6 0-13.5-.9-20.6-2.7l26.3-147c-43-33.3-69.7-85.3-69.7-142.1V56c0-13.3 10.7-24 24-24zm112 96a56 56 0 1 1 112 0 56 56 0 1 1 -112 0zM111.9 398.1c21.5 18.6 51.2 33.9 80 33.9s58.5-15.3 80-33.9c9.1-8.1 22.8-8.1 31.9 0c21.6 18.6 51.2 33.9 80 33.9s58.5-15.3 80-33.9c9.1-8.1 22.8-8.1 31.9 0c16.9 15.1 39.3 26.8 61.3 31.8c12.9 2.9 21.1 15.7 18.2 28.7s-15.7 21.1-28.7 18.2c-28.7-6.4-52.3-20.5-66.7-30.4c-28.1 19.5-61.4 33.8-96 33.8s-67.9-14.3-96-33.8c-28.1 19.5-61.4 33.8-96 33.8s-67.9-14.3-96-33.8c-14.4 10-38 24-66.7 30.4c-12.9 2.9-25.8-5.2-28.7-18.2s5.2-25.8 18.2-28.7c22.2-5 44-16.8 61.2-31.7c9.1-8.1 22.8-8.1 31.9 0z\"]\n};\nvar faDialMax = {\n prefix: 'far',\n iconName: 'dial-max',\n icon: [576, 512, [], \"e15e\", \"M288 64a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM271 305l77.4 77.4c-43.4 27.8-101.7 22.8-139.6-15.1c-43.7-43.7-43.7-114.7 0-158.4s114.7-43.7 158.4 0c37.9 37.9 43 96.2 15.1 139.6L305 271c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9zm130.1 96.2A160 160 0 1 0 174.9 174.9 160 160 0 1 0 401.1 401.1zM576 288a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM32 320a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM128 96A32 32 0 1 0 64 96a32 32 0 1 0 64 0zm352 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM128 480a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm352 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faCircleM = {\n prefix: 'far',\n iconName: 'circle-m',\n icon: [512, 512, [], \"e115\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM171.5 137.9c-6.1-8.4-16.9-12-26.8-8.8s-16.6 12.4-16.6 22.8V360c0 13.3 10.7 24 24 24s24-10.7 24-24V226.2l60.5 83.8c4.5 6.2 11.7 9.9 19.5 9.9s14.9-3.7 19.5-9.9L336 226.2V360c0 13.3 10.7 24 24 24s24-10.7 24-24V152c0-10.4-6.7-19.6-16.6-22.8s-20.7 .3-26.8 8.8L256 255 171.5 137.9z\"]\n};\nvar faCalendarImage = {\n prefix: 'far',\n iconName: 'calendar-image',\n icon: [448, 512, [], \"e0d4\", \"M152 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H64C28.7 64 0 92.7 0 128v16 48V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V192 144 128c0-35.3-28.7-64-64-64H344V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H152V24zM48 192H400V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V192zm99.2 136.7L99.8 390.2c-8.1 10.5-.6 25.8 12.7 25.8H338.9c12.6 0 20.3-13.9 13.5-24.6L268.9 260.3c-6.1-9.7-20.1-9.9-26.7-.5L184 344l-11.4-15.1c-6.4-8.5-19-8.5-25.5-.2zM128 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faCircleCaretDown = {\n prefix: 'far',\n iconName: 'circle-caret-down',\n icon: [512, 512, [\"caret-circle-down\"], \"f32d\", \"M256 464a208 208 0 1 1 0-416 208 208 0 1 1 0 416zM256 0a256 256 0 1 0 0 512A256 256 0 1 0 256 0zm0 368c6.7 0 13-2.8 17.6-7.7l104-112c6.5-7 8.2-17.2 4.4-25.9s-12.5-14.4-22-14.4l-208 0c-9.5 0-18.2 5.7-22 14.4s-2.1 18.9 4.4 25.9l104 112c4.5 4.9 10.9 7.7 17.6 7.7z\"]\n};\nvar faCaretCircleDown = faCircleCaretDown;\nvar faArrowDown91 = {\n prefix: 'far',\n iconName: 'arrow-down-9-1',\n icon: [576, 512, [\"sort-numeric-desc\", \"sort-numeric-down-alt\"], \"f886\", \"M47 377l96 96c9.4 9.4 24.6 9.4 33.9 0l96-96c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-55 55V56c0-13.3-10.7-24-24-24s-24 10.7-24 24V398.1L81 343c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9zm409-65c0-7.7-3.7-15-10-19.5s-14.3-5.7-21.6-3.3l-48 16c-12.6 4.2-19.4 17.8-15.2 30.4s17.8 19.4 30.4 15.2l16.4-5.5V432H384c-13.3 0-24 10.7-24 24s10.7 24 24 24h48 48c13.3 0 24-10.7 24-24s-10.7-24-24-24H456V312zM424 160a40 40 0 1 1 0-80 40 40 0 1 1 0 80zm88-40c0-48.6-39.4-88-88-88s-88 39.4-88 88c0 42.1 29.6 77.3 69.1 86l-15.6 18.7c-8.5 10.2-7.1 25.3 3.1 33.8s25.3 7.1 33.8-3.1l64.6-77.6c13-15.6 20.3-35.1 20.9-55.3c0-.8 0-1.6 0-2.5z\"]\n};\nvar faSortNumericDesc = faArrowDown91;\nvar faSortNumericDownAlt = faArrowDown91;\nvar faFaceGrinTongueSquint = {\n prefix: 'far',\n iconName: 'face-grin-tongue-squint',\n icon: [512, 512, [128541, \"grin-tongue-squint\"], \"f58a\", \"M464 256c0-114.9-93.1-208-208-208S48 141.1 48 256c0 81.7 47.1 152.4 115.7 186.4c-2.4-8.4-3.7-17.3-3.7-26.4V392.7c-24-17.5-43.1-41.4-54.8-69.2c-5-11.8 7-22.5 19.3-18.7c39.7 12.2 84.5 19 131.8 19s92.1-6.8 131.8-19c12.3-3.8 24.3 6.9 19.3 18.7c-11.8 28-31.1 52-55.4 69.6V416c0 9.2-1.3 18-3.7 26.4C416.9 408.4 464 337.7 464 256zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm116-98.9c0-9 9.6-14.7 17.5-10.5l89.9 47.9c10.7 5.7 10.7 21.1 0 26.8l-89.9 47.9c-7.9 4.2-17.5-1.5-17.5-10.5c0-2.8 1-5.5 2.8-7.6l36-43.2-36-43.2c-1.8-2.1-2.8-4.8-2.8-7.6zm262.5-10.5c7.9-4.2 17.5 1.5 17.5 10.5c0 2.8-1 5.5-2.8 7.6l-36 43.2 36 43.2c1.8 2.1 2.8 4.8 2.8 7.6c0 9-9.6 14.7-17.5 10.5l-89.9-47.9c-10.7-5.7-10.7-21.1 0-26.8l89.9-47.9zM320 416V378.6c0-14.7-11.9-26.6-26.6-26.6h-2c-11.3 0-21.1 7.9-23.6 18.9c-2.8 12.6-20.8 12.6-23.6 0c-2.5-11.1-12.3-18.9-23.6-18.9h-2c-14.7 0-26.6 11.9-26.6 26.6V416c0 35.3 28.7 64 64 64s64-28.7 64-64z\"]\n};\nvar faGrinTongueSquint = faFaceGrinTongueSquint;\nvar faShishKebab = {\n prefix: 'far',\n iconName: 'shish-kebab',\n icon: [512, 512, [], \"f821\", \"M416 48c-26.5 0-48 21.5-48 48c0 5.7 1 11.1 2.7 16.1c6.8 19.2 11.3 51.8-11.3 74.5L337 209l24.4 24.4C375.9 247.9 384 267.5 384 288s-8.1 40.1-22.6 54.6l-18.7 18.7C328.1 375.9 308.5 384 288 384c0 20.5-8.1 40.1-22.6 54.6l-18.7 18.7C232.1 471.9 212.5 480 192 480s-40.1-8.1-54.6-22.6L113 433 41 505c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l72-72L54.6 374.6C40.1 360.1 32 340.5 32 320s8.1-40.1 22.6-54.6l18.7-18.7C87.9 232.1 107.5 224 128 224c0-20.5 8.1-40.1 22.6-54.6l18.7-18.7C183.9 136.1 203.5 128 224 128s40.1 8.1 54.6 22.6L303 175l22.5-22.5c1.1-1.1 2.5-3.3 2.8-7.8c.3-4.7-.6-10.6-2.7-16.6C321.9 118 320 107.2 320 96c0-53 43-96 96-96s96 43 96 96c0 19.7-6 38.1-16.2 53.4c-7.4 11-22.3 14-33.3 6.6s-14-22.3-6.6-33.3c5.1-7.6 8.1-16.8 8.1-26.7c0-26.5-21.5-48-48-48zM88.6 340.7l82.7 82.7c5.5 5.5 12.9 8.6 20.7 8.6s15.2-3.1 20.7-8.6l18.7-18.7c5.5-5.5 8.6-12.9 8.6-20.7s-3.1-15.2-8.6-20.7l-82.7-82.7c-5.5-5.5-12.9-8.6-20.7-8.6s-15.2 3.1-20.7 8.6L88.6 299.3C83.1 304.8 80 312.2 80 320s3.1 15.2 8.6 20.7zm178.7-13.3c5.5 5.5 12.9 8.6 20.7 8.6s15.2-3.1 20.7-8.6l18.7-18.7c5.5-5.5 8.6-12.9 8.6-20.7s-3.1-15.2-8.6-20.7l-82.7-82.7c-5.5-5.5-12.9-8.6-20.7-8.6s-15.2 3.1-20.7 8.6l-18.7 18.7c-5.5 5.5-8.6 12.9-8.6 20.7s3.1 15.2 8.6 20.7l82.7 82.7z\"]\n};\nvar faSprayCan = {\n prefix: 'far',\n iconName: 'spray-can',\n icon: [512, 512, [], \"f5bd\", \"M128 0C110.3 0 96 14.3 96 32l0 96 128 0 0-96c0-17.7-14.3-32-32-32L128 0zm96 208c26.5 0 48 21.5 48 48l0 184c0 13.3-10.7 24-24 24L72 464c-13.3 0-24-10.7-24-24l0-184c0-26.5 21.5-48 48-48l128 0zM96 160c-53 0-96 43-96 96L0 440c0 39.8 32.2 72 72 72l176 0c39.8 0 72-32.2 72-72l0-184c0-53-43-96-96-96L96 160zM224 336A64 64 0 1 0 96 336a64 64 0 1 0 128 0zM320 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm64 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM512 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM480 192a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm32 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM384 192a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faAlarmSnooze = {\n prefix: 'far',\n iconName: 'alarm-snooze',\n icon: [512, 512, [], \"f845\", \"M160 25.4C143 9.6 120.2 0 95.2 0C42.6 0 0 42.6 0 95.2c0 18.8 5.5 36.3 14.9 51.1L160 25.4zM256 112a176 176 0 1 1 0 352 176 176 0 1 1 0-352zm0 400c53.2 0 102.1-18.6 140.5-49.5L439 505c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-42.5-42.5c31-38.4 49.5-87.3 49.5-140.5C480 164.3 379.7 64 256 64S32 164.3 32 288c0 53.2 18.6 102.1 49.5 140.5L39 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l42.5-42.5c38.4 31 87.3 49.5 140.5 49.5zM497.1 146.4C506.5 131.6 512 114 512 95.2C512 42.6 469.4 0 416.8 0C391.8 0 369 9.6 352 25.4L497.1 146.4zM200 192c-13.3 0-24 10.7-24 24s10.7 24 24 24h62.9L181.1 345.3c-5.6 7.2-6.6 17-2.6 25.3s12.4 13.5 21.6 13.5H312c13.3 0 24-10.7 24-24s-10.7-24-24-24H249.1l81.9-105.3c5.6-7.2 6.6-17 2.6-25.3s-12.4-13.5-21.6-13.5H200z\"]\n};\nvar faScarecrow = {\n prefix: 'far',\n iconName: 'scarecrow',\n icon: [448, 512, [], \"f70d\", \"M168 104a56 56 0 1 1 112 0 56 56 0 1 1 -112 0zm131 72h69v32H322.6c-24.5 0-43.2 21.7-39.6 45.9l13.9 92.7-13-7.4c-7.9-4.5-17.7-4.2-25.2 .9L224 363.2 189.3 340c-7.6-5-17.3-5.4-25.2-.9l-13 7.4L165 253.9c3.6-24.2-15.1-45.9-39.6-45.9H80V176h69c18.9 19.7 45.6 32 75 32s56.1-12.3 75-32zM120 104c0 8.3 1 16.3 2.8 24H64 56 32c-5.9 0-11.3 3.2-14.1 8.5s-2.5 11.5 .8 16.4l7.6 11.4L6.4 179.2C2.4 182.2 0 187 0 192s2.4 9.8 6.4 12.8l19.9 14.9-7.6 11.4c-3.3 4.9-3.6 11.2-.8 16.4s8.2 8.5 14.1 8.5H56h8 52.1L96.3 388.4c-1.4 9.1 2.6 18.2 10.2 23.4s17.5 5.6 25.5 1L175 388.2 210.7 412c8.1 5.4 18.6 5.4 26.6 0L273 388.2l43.1 24.6c8 4.6 17.9 4.2 25.5-1s11.5-14.3 10.2-23.4L331.9 256H384h8 24c5.9 0 11.3-3.2 14.1-8.5s2.5-11.5-.8-16.4l-7.6-11.4 19.9-14.9c4-3 6.4-7.8 6.4-12.8s-2.4-9.8-6.4-12.8l-19.9-14.9 7.6-11.4c3.3-4.9 3.6-11.2 .8-16.4s-8.2-8.5-14.1-8.5H392h-8H325.2c1.8-7.7 2.8-15.7 2.8-24C328 46.6 281.4 0 224 0S120 46.6 120 104zm80 0a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm64 0a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM200 488c0 13.3 10.7 24 24 24s24-10.7 24-24V442.6c-15.2 7.2-32.8 7.2-48 0V488z\"]\n};\nvar faTruckMonster = {\n prefix: 'far',\n iconName: 'truck-monster',\n icon: [640, 512, [], \"f63b\", \"M280 48h88.2c2.5 0 4.8 1.2 6.3 3.1L421.4 112H272V56c0-4.4 3.6-8 8-8zm202 64L412.6 21.9C402 8.1 385.6 0 368.2 0H280c-30.9 0-56 25.1-56 56v56H120c-48.6 0-88 39.4-88 88v30.3c-6.1 5.1-12 10.6-17.5 16.4c-9.1 9.6-8.7 24.8 1 33.9s24.8 8.7 33.9-1C77.2 250.3 116.4 232 160 232c53.3 0 100.3 27.5 127.4 69.1c4.4 6.8 12 10.9 20.1 10.9h24.9c8.1 0 15.7-4.1 20.1-10.9C379.7 259.5 426.7 232 480 232c43.6 0 82.8 18.3 110.5 47.7c9.1 9.6 24.3 10.1 33.9 1s10.1-24.3 1-33.9c-5.5-5.8-11.3-11.3-17.5-16.4V200c0-48.6-39.4-88-88-88H482zm78 88.6c-24.5-10.7-51.6-16.6-80-16.6c-65.4 0-123.5 31.5-160 80c-36.5-48.5-94.5-80-160-80c-28.4 0-55.5 5.9-80 16.6V200c0-22.1 17.9-40 40-40H520c22.1 0 40 17.9 40 40v.6zM152 256c-12.1 0-22.1 8.9-23.8 20.6c-7.6 2.2-14.9 5.3-21.7 9c-9.4-7.1-22.8-6.3-31.3 2.3L63.8 299.1c-8.6 8.6-9.3 21.9-2.3 31.3c-3.7 6.9-6.8 14.1-9 21.8C40.9 353.9 32 363.9 32 376v16c0 12.1 8.9 22.1 20.6 23.8c2.2 7.6 5.3 14.9 9 21.8c-7 9.4-6.3 22.8 2.3 31.3l11.3 11.3c8.6 8.6 21.9 9.3 31.3 2.2c6.8 3.7 14.1 6.8 21.7 9c1.7 11.6 11.7 20.6 23.8 20.6h16c12.1 0 22.1-8.9 23.8-20.6c7.6-2.2 14.9-5.3 21.7-9c9.4 7 22.8 6.3 31.3-2.2l11.3-11.3c8.6-8.6 9.3-21.9 2.3-31.3c3.7-6.8 6.8-14.1 9-21.7c11.6-1.7 20.6-11.7 20.6-23.8V376c0-12.1-8.9-22.1-20.6-23.8c-2.2-7.6-5.3-14.9-9-21.7c7-9.4 6.3-22.8-2.3-31.3l-11.3-11.3c-8.6-8.6-21.9-9.3-31.3-2.3c-6.8-3.7-14.1-6.8-21.7-9C190.1 264.9 180.1 256 168 256H152zm8 80a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm312-80c-12.1 0-22.1 8.9-23.8 20.6c-7.6 2.2-14.9 5.3-21.7 9c-9.4-7.1-22.8-6.3-31.3 2.3l-11.3 11.3c-8.6 8.6-9.3 21.9-2.2 31.3c-3.7 6.9-6.8 14.1-9 21.8C360.9 353.9 352 363.9 352 376v16c0 12.1 8.9 22.1 20.6 23.8c2.2 7.6 5.3 14.9 9 21.8c-7 9.4-6.3 22.8 2.2 31.3l11.3 11.3c8.6 8.6 21.9 9.3 31.3 2.2c6.8 3.7 14.1 6.8 21.7 9c1.7 11.6 11.7 20.6 23.8 20.6h16c12.1 0 22.1-8.9 23.8-20.6c7.6-2.2 14.9-5.3 21.8-9c9.4 7 22.8 6.3 31.3-2.2l11.3-11.3c8.6-8.6 9.3-21.9 2.2-31.3c3.7-6.8 6.8-14.1 9-21.7c11.6-1.7 20.6-11.7 20.6-23.8V376c0-12.1-8.9-22.1-20.6-23.8c-2.2-7.6-5.3-14.9-9-21.7c7-9.4 6.3-22.8-2.2-31.3l-11.3-11.3c-8.6-8.6-21.9-9.3-31.3-2.3c-6.9-3.7-14.1-6.8-21.8-9C510.1 264.9 500.1 256 488 256H472zm8 80a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faGiftCard = {\n prefix: 'far',\n iconName: 'gift-card',\n icon: [576, 512, [], \"f663\", \"M353.5 68.8L318.7 128H320h72c22.1 0 40-17.9 40-40s-17.9-40-40-40h-2.2c-14.9 0-28.8 7.9-36.3 20.8zM288 197.5l-61.6 73.9c-8.5 10.2-23.6 11.6-33.8 3.1s-11.6-23.6-3.1-33.8L243.4 176H184 64c-8.8 0-16 7.2-16 16V320H528V192c0-8.8-7.2-16-16-16H392 332.6l53.9 64.6c8.5 10.2 7.1 25.3-3.1 33.8s-25.3 7.1-33.8-3.1L288 197.5zM48 384v64c0 8.8 7.2 16 16 16H512c8.8 0 16-7.2 16-16V384H48zM256 128h1.3L222.5 68.8C214.9 55.9 201.1 48 186.2 48H184c-22.1 0-40 17.9-40 40s17.9 40 40 40h72zm7.9-83.6l24.1 41 24.1-41C328.3 16.9 357.9 0 389.8 0H392c48.6 0 88 39.4 88 88c0 14.4-3.5 28-9.6 40H512c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192c0-35.3 28.7-64 64-64h41.6C99.5 116 96 102.4 96 88c0-48.6 39.4-88 88-88h2.2c31.9 0 61.5 16.9 77.7 44.4z\"]\n};\nvar faW = {\n prefix: 'far',\n iconName: 'w',\n icon: [576, 512, [119], \"57\", \"M15.9 33.4c12.5-4.5 26.2 2 30.7 14.5L165.9 379.4 265 49.1C268.1 39 277.4 32 288 32s19.9 7 23 17.1l99.1 330.3L529.4 47.9c4.5-12.5 18.2-18.9 30.7-14.5s18.9 18.2 14.5 30.7l-144 400c-3.5 9.7-12.9 16.1-23.2 15.9s-19.4-7.2-22.3-17.1L288 139.5 191 462.9c-3 9.9-12 16.8-22.3 17.1s-19.7-6.1-23.2-15.9L1.4 64.1c-4.5-12.5 2-26.2 14.5-30.7z\"]\n};\nvar faCodePullRequestDraft = {\n prefix: 'far',\n iconName: 'code-pull-request-draft',\n icon: [448, 512, [], \"e3fa\", \"M48 80a32 32 0 1 1 64 0A32 32 0 1 1 48 80zm56 76.3c32.5-10.2 56-40.5 56-76.3c0-44.2-35.8-80-80-80S0 35.8 0 80c0 35.8 23.5 66.1 56 76.3V355.7C23.5 365.9 0 396.2 0 432c0 44.2 35.8 80 80 80s80-35.8 80-80c0-35.8-23.5-66.1-56-76.3V156.3zM48 432a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm320-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 112a80 80 0 1 0 0-160 80 80 0 1 0 0 160zM416 80a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM368 288a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faSquareB = {\n prefix: 'far',\n iconName: 'square-b',\n icon: [448, 512, [], \"e264\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm128 56c0-13.3 10.7-24 24-24h92c42 0 76 34 76 76c0 16.2-5.1 31.3-13.8 43.7C324.3 261.6 336 283.4 336 308c0 42-34 76-76 76H152c-13.3 0-24-10.7-24-24V256 152zm144 52c0-15.5-12.5-28-28-28H176v56h68c15.5 0 28-12.5 28-28zM176 336h84c15.5 0 28-12.5 28-28s-12.5-28-28-28H244 176v56z\"]\n};\nvar faElephant = {\n prefix: 'far',\n iconName: 'elephant',\n icon: [640, 512, [128024], \"f6da\", \"M299.8 48c-33 0-59.8 26.8-59.8 59.8V112c0 35.3 28.7 64 64 64h8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8c-61.9 0-112-50.1-112-112v-4.2c0-6.4 .6-12.7 1.6-18.9C127.5 111.6 80 174.2 80 248v19c0 15.5-1.5 31-4.6 46.3c-3.3 16.3-10.1 31.7-20.1 44.9L43.2 374.4c-8 10.6-23 12.8-33.6 4.8s-12.8-23-4.8-33.6l12.1-16.2c5.7-7.6 9.6-16.3 11.4-25.6C30.8 291.7 32 279.4 32 267V248C32 137.6 114.8 46.6 221.6 33.6C241.3 12.9 269.1 0 299.8 0c30.8 0 59 12.1 79.8 32H384c88.4 0 160 71.6 160 160V296c0 13.3-10.7 24-24 24s-24-10.7-24-24V192c0-52.6-36.3-96.8-85.3-108.8c2.1 7.3 3.5 14.9 4.2 22.7l1 12.1c1.1 13.2-8.7 24.8-21.9 25.9s-24.8-8.7-25.9-21.9l-1-12.1c-2.9-35-32.1-61.9-67.2-61.9zM528 381v18.7c0 17.8 14.5 32.3 32.3 32.3c15.8 0 29.3-11.4 31.9-27l.2-1c2.2-13.1 14.5-21.9 27.6-19.7s21.9 14.5 19.7 27.6l-.2 1c-6.5 38.7-40 67.1-79.2 67.1C516 480 480 444 480 399.7V380.8c-24-4.1-45.9-13.9-64-28.1V464c0 26.5-21.5 48-48 48H320c-26.5 0-48-21.5-48-48V411.7c-21.2 2.8-42.8 2.8-64 0V464c0 26.5-21.5 48-48 48H112c-26.5 0-48-21.5-48-48V392c0-13.3 10.7-24 24-24s24 10.7 24 24v72h48V384c0-7 3-13.6 8.3-18.1s12.2-6.6 19.1-5.6l24.3 3.5c18.8 2.7 37.8 2.7 56.6 0l24.3-3.5c6.9-1 13.9 1.1 19.1 5.6S320 377 320 384v80h48V312c0-13.3 10.7-24 24-24c11.2 0 20.6 7.6 23.2 18c18.7 26.7 51.6 44.9 89.5 44.9c30.1 0 57.1-11.4 76.3-29.6c6.4-6.1 16.5-5.8 22.6 .6s5.8 16.5-.6 22.6c-19.9 18.9-46 31.9-75 36.5zM432 192a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faEarthAfrica = {\n prefix: 'far',\n iconName: 'earth-africa',\n icon: [512, 512, [127757, \"globe-africa\"], \"f57c\", \"M464 256c0-19.4-2.6-38.1-7.6-55.9L429 194.6c-7.7-1.5-15.4 2.3-18.9 9.2c-5.8 11.6-19.2 17.1-31.5 13l-14.1-4.7c-7.7-2.6-16.1-.6-21.8 5.1c-3.7 3.7-3.7 9.7 0 13.4l33.5 33.5c5 5 7.8 11.8 7.8 18.9c0 12.3-8.4 23-20.3 26l-5.3 1.3c-3.8 .9-6.4 4.3-6.4 8.2v12.1c0 13.8-4.5 27.3-12.8 38.4l-25.6 34.1c-6 8.1-15.5 12.8-25.6 12.8c-17.7 0-32-14.3-32-32V336c0-8.8-7.2-16-16-16H208c-26.5 0-48-21.5-48-48V244c0-12.6 5.9-24.4 16-32l39.4-29.5c5.6-4.2 12.4-6.5 19.4-6.5c3.5 0 6.9 .6 10.2 1.7l32 10.7c7.2 2.4 15 2.7 22.4 .9l35.4-8.8c10.2-2.5 17.3-11.7 17.3-22.2c0-8.7-4.9-16.6-12.6-20.5l-29.2-14.6c-3.7-1.8-8.1-1.1-11 1.8l-3.9 3.9c-4.6 4.6-10.9 7.2-17.4 7.2c-3.8 0-7.6-.9-11-2.6l-15.2-7.6c-6.7-3.4-14.9-1.6-19.6 4.3l-13.6 17c-5.5 6.9-15.8 7.4-22 1.2c-2.8-2.8-4.3-6.5-4.3-10.4V96.5c0-5.6-1.5-11-4.2-15.9l-10-17.4C101.7 94.1 48 168.8 48 256c0 114.9 93.1 208 208 208s208-93.1 208-208zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z\"]\n};\nvar faGlobeAfrica = faEarthAfrica;\nvar faRainbow = {\n prefix: 'far',\n iconName: 'rainbow',\n icon: [640, 512, [127752], \"f75b\", \"M320 88C169.8 88 48 209.8 48 360v96c0 13.3-10.7 24-24 24s-24-10.7-24-24V360C0 183.3 143.3 40 320 40s320 143.3 320 320v96c0 13.3-10.7 24-24 24s-24-10.7-24-24V360C592 209.8 470.2 88 320 88zm0 224c-26.5 0-48 21.5-48 48v96c0 13.3-10.7 24-24 24s-24-10.7-24-24V360c0-53 43-96 96-96s96 43 96 96v96c0 13.3-10.7 24-24 24s-24-10.7-24-24V360c0-26.5-21.5-48-48-48zM160 360v96c0 13.3-10.7 24-24 24s-24-10.7-24-24V360c0-114.9 93.1-208 208-208s208 93.1 208 208v96c0 13.3-10.7 24-24 24s-24-10.7-24-24V360c0-88.4-71.6-160-160-160s-160 71.6-160 160z\"]\n};\nvar faCircleNotch = {\n prefix: 'far',\n iconName: 'circle-notch',\n icon: [512, 512, [], \"f1ce\", \"M215.1 26.3c3.6 12.7-3.7 26-16.5 29.7C111.6 80.9 48 161.1 48 256c0 114.9 93.1 208 208 208s208-93.1 208-208c0-94.9-63.6-175.1-150.6-200c-12.7-3.6-20.1-16.9-16.5-29.7s16.9-20.1 29.7-16.5C433.6 40.5 512 139.1 512 256c0 141.4-114.6 256-256 256S0 397.4 0 256C0 139.1 78.4 40.5 185.4 9.9c12.7-3.6 26 3.7 29.7 16.5z\"]\n};\nvar faTabletScreenButton = {\n prefix: 'far',\n iconName: 'tablet-screen-button',\n icon: [448, 512, [\"tablet-alt\"], \"f3fa\", \"M48 448c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V368H48v80zm0-128H400V64c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16V320zM0 64C0 28.7 28.7 0 64 0H384c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM224 392a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faTabletAlt = faTabletScreenButton;\nvar faPaw = {\n prefix: 'far',\n iconName: 'paw',\n icon: [512, 512, [], \"f1b0\", \"M193.9 189.7c-32.3 10.6-70.1-15.6-84.4-58.5s.3-86.2 32.6-96.8s70.1 15.6 84.4 58.5s-.3 86.2-32.6 96.8zm217.7 8.9c18.9-32.4 54-47.3 78.5-33.3s29.1 51.7 10.2 84.1s-54 47.3-78.5 33.3s-29.1-51.7-10.2-84.1zm-311.3 0c18.9 32.4 14.3 70.1-10.2 84.1s-59.7-.9-78.5-33.3S-2.7 179.3 21.8 165.3s59.7 .9 78.5 33.3zM277.5 92.9c14.3-42.9 52.1-69.1 84.4-58.5s46.9 53.9 32.6 96.8s-52.1 69.1-84.4 58.5s-46.9-53.9-32.6-96.8zM114.3 409.7c-1.4 3.7-2.3 8.5-2.3 14.2c0 4.5 3.6 8.1 8.1 8.1h3.4c2.2 0 4.3-.4 6.3-1.2l72.7-29.1c34.3-13.7 72.6-13.7 107 0l72.7 29.1c2 .8 4.2 1.2 6.3 1.2h3.4c4.5 0 8.1-3.6 8.1-8.1c0-5.7-.9-10.4-2.3-14.2C352.1 287.4 276.6 272 256 272s-96.1 15.4-141.7 137.7zM69.3 393C121.7 252.4 214.8 224 256 224s134.3 28.4 186.7 169c3.7 9.9 5.3 20.4 5.3 31c0 31-25.1 56.1-56.1 56.1h-3.4c-8.3 0-16.5-1.6-24.2-4.7l-72.7-29.1c-22.9-9.2-48.4-9.2-71.3 0l-72.7 29.1c-7.7 3.1-15.9 4.7-24.2 4.7h-3.4c-31 0-56.1-25.1-56.1-56.1c0-10.5 1.6-21.1 5.3-31z\"]\n};\nvar faMessageQuestion = {\n prefix: 'far',\n iconName: 'message-question',\n icon: [512, 512, [], \"e1e3\", \"M208 416c0-26.5-21.5-48-48-48H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H448c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H309.3c-10.4 0-20.5 3.4-28.8 9.6L208 432V416zm-.2 76.2l.2-.2 101.3-76H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h48 48v48 4 .3 6.4V496c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L202.7 496l5.1-3.8zM169.8 117.3l-.4 1.2c-4.4 12.5 2.1 26.2 14.6 30.6s26.2-2.1 30.6-14.6l.4-1.2c1.1-3.2 4.2-5.3 7.5-5.3h58.3c8.4 0 15.1 6.8 15.1 15.1c0 5.4-2.9 10.4-7.6 13.1l-44.3 25.4c-7.5 4.3-12.1 12.2-12.1 20.8V216c0 13.3 10.7 24 24 24c13.1 0 23.8-10.5 24-23.6l32.3-18.5c19.6-11.3 31.7-32.2 31.7-54.8c0-34.9-28.3-63.1-63.1-63.1H222.6c-23.7 0-44.8 14.9-52.8 37.3zM288 304a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faCloud = {\n prefix: 'far',\n iconName: 'cloud',\n icon: [640, 512, [9729], \"f0c2\", \"M410.8 134.2c-19.3 8.6-42 3.5-55.9-12.5C332.8 96.1 300.3 80 264 80c-66.3 0-120 53.7-120 120c0 0 0 0 0 0s0 0 0 0l0 .2c0 20.4-12.8 38.5-32 45.3C74.6 258.7 48 294.3 48 336c0 53 43 96 96 96H504h3.3c.6-.1 1.3-.1 1.9-.2c46.2-2.7 82.8-41 82.8-87.8c0-36-21.6-67.1-52.8-80.7c-20.1-8.8-31.6-30-28.1-51.7c.6-3.8 .9-7.7 .9-11.7c0-39.8-32.2-72-72-72c-10.5 0-20.4 2.2-29.2 6.2zM512 479.8v.2h-8H464 144C64.5 480 0 415.5 0 336c0-62.7 40.1-116 96-135.8l0-.2c0-92.8 75.2-168 168-168c50.9 0 96.4 22.6 127.3 58.3C406.2 83.7 422.6 80 440 80c66.3 0 120 53.7 120 120c0 6.6-.5 13-1.5 19.3c48 21 81.5 68.9 81.5 124.7c0 72.4-56.6 131.6-128 135.8z\"]\n};\nvar faTrowelBricks = {\n prefix: 'far',\n iconName: 'trowel-bricks',\n icon: [512, 512, [], \"e58a\", \"M240.8 4.8c-9.4-5.8-21.2-6.4-31.1-1.4l-192 96C6.8 104.8 0 115.9 0 128s6.8 23.2 17.7 28.6l192 96c9.9 5 21.7 4.4 31.1-1.4s15.2-16.1 15.2-27.2V152h89c3.6 13.8 16.1 24 31 24h88c26.5 0 48-21.5 48-48s-21.5-48-48-48H376c-14.9 0-27.4 10.2-31 24H256V32c0-11.1-5.7-21.4-15.2-27.2zM288 384h16 32H464v80H256V384h32zm-80 0v80H48V384H208zm256-48H336V272H464v64zM288 272v16 48H240 48c-26.5 0-48 21.5-48 48v80c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V384c0-1.3-.1-2.7-.2-4c.1-1.3 .2-2.7 .2-4V272c0-26.5-21.5-48-48-48H336c-26.5 0-48 21.5-48 48z\"]\n};\nvar faSquare3 = {\n prefix: 'far',\n iconName: 'square-3',\n icon: [448, 512, [], \"e258\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm152 32H280c9.9 0 18.8 6.1 22.4 15.3s1.1 19.7-6.2 26.4l-50.8 46.5c41.9 4.8 74.6 40.4 74.6 83.6c0 46.5-37.7 84.2-84.2 84.2H208c-30.1 0-58.1-15.6-73.9-41.2l-2.6-4.2c-7-11.3-3.5-26.1 7.8-33s26.1-3.5 33 7.8l2.6 4.2c7.1 11.5 19.6 18.4 33 18.4h27.8c20 0 36.2-16.2 36.2-36.2c0-20.1-16.3-36.3-36.4-36.2l-51.5 .3c-9.9 .1-18.9-6-22.5-15.2s-1.2-19.8 6.1-26.5L218.3 176H152c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faFaceFlushed = {\n prefix: 'far',\n iconName: 'face-flushed',\n icon: [512, 512, [128563, \"flushed\"], \"f579\", \"M464 256A208 208 0 1 1 48 256a208 208 0 1 1 416 0zM256 0a256 256 0 1 0 0 512A256 256 0 1 0 256 0zM160.4 248a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm216-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM192 336c-13.3 0-24 10.7-24 24s10.7 24 24 24H320c13.3 0 24-10.7 24-24s-10.7-24-24-24H192zM160 176a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm0 128a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm144-80a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm128 0a80 80 0 1 0 -160 0 80 80 0 1 0 160 0z\"]\n};\nvar faFlushed = faFaceFlushed;\nvar faHospitalUser = {\n prefix: 'far',\n iconName: 'hospital-user',\n icon: [576, 512, [], \"f80d\", \"M64 48H256c8.8 0 16 7.2 16 16V415.7c11.3-20 27.9-36.7 48-47.9V271.8 64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H256c3.2 0 6.4-.2 9.5-.7c-6-10-9.5-21.8-9.5-34.4c0-4.4 .2-8.7 .7-13c-.2 0-.4 0-.7 0H64c-8.8 0-16-7.2-16-16V416h88c13.3 0 24-10.7 24-24s-10.7-24-24-24H48V320h88c13.3 0 24-10.7 24-24s-10.7-24-24-24H48V64c0-8.8 7.2-16 16-16zm72 64v24H112c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h24v24c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V184h24c8.8 0 16-7.2 16-16V152c0-8.8-7.2-16-16-16H184V112c0-8.8-7.2-16-16-16H152c-8.8 0-16 7.2-16 16zM512 272a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zM288 477.1c0 19.3 15.6 34.9 34.9 34.9H541.1c19.3 0 34.9-15.6 34.9-34.9c0-51.4-41.7-93.1-93.1-93.1H381.1c-51.4 0-93.1 41.7-93.1 93.1z\"]\n};\nvar faMicrowave = {\n prefix: 'far',\n iconName: 'microwave',\n icon: [576, 512, [], \"e01b\", \"M512 80c8.8 0 16 7.2 16 16V384c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H512zM64 32C28.7 32 0 60.7 0 96V384c0 35.3 28.7 64 64 64l0 8c0 13.3 10.7 24 24 24s24-10.7 24-24v-8H464v8c0 13.3 10.7 24 24 24s24-10.7 24-24v-8c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM432 136V344c0 13.3 10.7 24 24 24s24-10.7 24-24V136c0-13.3-10.7-24-24-24s-24 10.7-24 24zm-312-8c-13.3 0-24 10.7-24 24V328c0 13.3 10.7 24 24 24H360c13.3 0 24-10.7 24-24V152c0-13.3-10.7-24-24-24H120z\"]\n};\nvar faChfSign = {\n prefix: 'far',\n iconName: 'chf-sign',\n icon: [640, 512, [], \"e602\", \"M0 115.3C0 69 38.2 32 83.9 32c30.9 0 59.6 17.4 73.6 45.3c5.9 11.9 1.1 26.3-10.7 32.2s-26.3 1.1-32.2-10.7C108.9 87.4 96.9 80 83.9 80C64.1 80 48 96.1 48 115.3V396.7C48 415.9 64.1 432 83.9 432c13 0 25-7.4 30.6-18.7c5.9-11.9 20.3-16.7 32.2-10.7s16.7 20.3 10.7 32.2C143.5 462.6 114.7 480 83.9 480C38.2 480 0 443 0 396.7V115.3zM216 32c13.3 0 24 10.7 24 24V224H368V56c0-13.3 10.7-24 24-24s24 10.7 24 24V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V272H240V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V56c0-13.3 10.7-24 24-24zM448 56c0-13.3 10.7-24 24-24H616c13.3 0 24 10.7 24 24s-10.7 24-24 24H496V224h88c13.3 0 24 10.7 24 24s-10.7 24-24 24H496V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V56z\"]\n};\nvar faTentArrowLeftRight = {\n prefix: 'far',\n iconName: 'tent-arrow-left-right',\n icon: [576, 512, [], \"e57f\", \"M488.1 6.2c-9.9-8.9-25-8.1-33.9 1.8s-8.1 25 1.8 33.9L489.5 72 86.5 72l33.5-30.2c9.9-8.9 10.7-24 1.8-33.9S97.8-2.7 87.9 6.2l-80 72C2.9 82.7 0 89.2 0 96s2.9 13.3 7.9 17.8l80 72c9.9 8.9 25 8.1 33.9-1.8s8.1-25-1.8-33.9L86.5 120l402.9 0-33.5 30.2c-9.9 8.9-10.7 24-1.8 33.9s24 10.7 33.9 1.8l80-72c5.1-4.6 7.9-11 7.9-17.8s-2.9-13.3-7.9-17.8l-80-72zM302.7 165c-8.6-6.7-20.7-6.7-29.3 0L107.6 293.1c-11.5 8.9-19.1 22-21.2 36.4L69.5 448.1C64.6 481.8 90.8 512 124.9 512H451.1c34.1 0 60.3-30.2 55.4-63.9L489.6 329.5c-2.1-14.4-9.7-27.5-21.2-36.4L302.7 165zM137 331l127-98.2V464H124.9c-4.9 0-8.6-4.3-7.9-9.1l16.9-118.6c.3-2.1 1.4-3.9 3-5.2zm175 29V232.9L439 331c1.6 1.3 2.7 3.1 3 5.2L459 454.9c.7 4.8-3.1 9.1-7.9 9.1H374.4L312 360z\"]\n};\nvar faCartCircleArrowUp = {\n prefix: 'far',\n iconName: 'cart-circle-arrow-up',\n icon: [640, 512, [], \"e3f0\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48H69.5c3.8 0 7.1 2.7 7.9 6.5l51.6 271c6.5 34 36.2 58.5 70.7 58.5h121c-.5-5.3-.7-10.6-.7-16c0-10.9 1-21.6 2.9-32H199.7c-11.5 0-21.4-8.2-23.6-19.5L170.7 288H339.2c9.2-18 21.4-34.2 36-48H161.6L131.1 80H520.7L490.5 192.1c1.8-.1 3.7-.1 5.5-.1c14.8 0 29.1 1.8 42.8 5.2L569.7 82.4C576.6 57 557.4 32 531.1 32h-411C111 12.8 91.6 0 69.5 0H24zM176 512a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM496 224a144 144 0 1 0 0 288 144 144 0 1 0 0-288zM428.7 371.3c-6.2-6.2-6.2-16.4 0-22.6l56-56c6.2-6.2 16.4-6.2 22.6 0l56 56c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L512 342.6V432c0 8.8-7.2 16-16 16s-16-7.2-16-16V342.6l-28.7 28.7c-6.2 6.2-16.4 6.2-22.6 0z\"]\n};\nvar faTrashClock = {\n prefix: 'far',\n iconName: 'trash-clock',\n icon: [576, 512, [], \"e2b0\", \"M177.1 48h93.7c2.7 0 5.2 1.3 6.7 3.6l19 28.4h-145l19-28.4c1.5-2.2 4-3.6 6.7-3.6zM354.2 80L317.5 24.9C307.1 9.4 289.6 0 270.9 0H177.1c-18.7 0-36.2 9.4-46.6 24.9L93.8 80H80.1 32 24C10.7 80 0 90.7 0 104s10.7 24 24 24H35.6L59.6 452.7c2.5 33.4 30.3 59.3 63.8 59.3H324.6c2 0 3.9-.1 5.8-.3c-18.2-12.9-33.8-29.1-45.9-47.7h-161c-8.4 0-15.3-6.5-16-14.8L83.7 128H364.3l-5.9 80.1c15.3-7.1 31.9-12 49.2-14.4l4.9-65.7H424c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8H367.9 354.2zM576 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zM432 288c8.8 0 16 7.2 16 16v48h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H432c-8.8 0-16-7.2-16-16V304c0-8.8 7.2-16 16-16z\"]\n};\nvar faReflectBoth = {\n prefix: 'far',\n iconName: 'reflect-both',\n icon: [512, 512, [], \"e66f\", \"M345.4 48L256 137.4 166.6 48l178.7 0zM384 0L128 0c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l128 128c12.5 12.5 32.8 12.5 45.3 0l128-128c9.2-9.2 11.9-22.9 6.9-34.9S396.9 0 384 0zM137.4 256L48 345.4l0-178.7L137.4 256zM19.8 98.4C7.8 103.4 0 115.1 0 128L0 384c0 12.9 7.8 24.6 19.8 29.6s25.7 2.2 34.9-6.9l128-128c12.5-12.5 12.5-32.8 0-45.3l-128-128c-9.2-9.2-22.9-11.9-34.9-6.9zM374.6 256L464 166.6l0 178.7L374.6 256zM492.2 98.4c-12-5-25.7-2.2-34.9 6.9l-128 128c-12.5 12.5-12.5 32.8 0 45.3l128 128c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6l0-256c0-12.9-7.8-24.6-19.8-29.6zM256 374.6L345.4 464l-178.7 0L256 374.6zM413.6 492.2c5-12 2.2-25.7-6.9-34.9l-128-128c-12.5-12.5-32.8-12.5-45.3 0l-128 128c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8l256 0c12.9 0 24.6-7.8 29.6-19.8z\"]\n};\nvar faGavel = {\n prefix: 'far',\n iconName: 'gavel',\n icon: [512, 512, [\"legal\"], \"f0e3\", \"M313 7c9.3 9.3 9.4 24.3 .2 33.7L471.3 198.8c9.4-9.2 24.4-9.1 33.7 .2c9.4 9.4 9.4 24.6 0 33.9l-16.7 16.8L393 345l-16 16c-9.4 9.4-24.6 9.4-33.9 0c-9-9-9.4-23.5-.9-32.9L184 169.9c-9.4 8.4-23.9 8.1-32.9-.9c-9.4-9.4-9.4-24.6 0-33.9l16-16 95.2-95.3L279 7c9.4-9.4 24.6-9.4 33.9 0zM279.2 74.7L217.9 136 376 294.1l61.3-61.3L279.2 74.7zM223.4 254.6l33.9 33.9-49.8 49.8 7 7c12.5 12.5 12.5 32.8 0 45.3l-112 112c-12.5 12.5-32.8 12.5-45.3 0l-48-48c-12.5-12.5-12.5-32.8 0-45.3l112-112c12.5-12.5 32.8-12.5 45.3 0l7 7 49.8-49.8zm-79.4 88L54.6 432 80 457.4 169.4 368 144 342.6z\"]\n};\nvar faLegal = faGavel;\nvar faSprinklerCeiling = {\n prefix: 'far',\n iconName: 'sprinkler-ceiling',\n icon: [384, 512, [], \"e44c\", \"M0 0V96c0 11.5 8.2 21.4 19.5 23.6L128 140.2V91.4L48 76.1V0H0zM256 91.4v48.9l108.5-20.7C375.8 117.4 384 107.5 384 96V0H336V76.1L256 91.4zM160 344a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-48 64a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM24 496a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM272 344a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-80 88a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm-32 40a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm136-40a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm-24 40a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm88 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM216 56c0-13.3-10.7-24-24-24s-24 10.7-24 24V208H88c-13.3 0-24 10.7-24 24s10.7 24 24 24H192 296c13.3 0 24-10.7 24-24s-10.7-24-24-24H216V56z\"]\n};\nvar faBrowsers = {\n prefix: 'far',\n iconName: 'browsers',\n icon: [576, 512, [], \"e0cb\", \"M144 352V128H528V352c0 8.8-7.2 16-16 16H160c-8.8 0-16-7.2-16-16zM160 0C124.7 0 96 28.7 96 64V352c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H160zM48 120c0-13.3-10.7-24-24-24S0 106.7 0 120V376c0 75.1 60.9 136 136 136H456c13.3 0 24-10.7 24-24s-10.7-24-24-24H136c-48.6 0-88-39.4-88-88V120z\"]\n};\nvar faTrillium = {\n prefix: 'far',\n iconName: 'trillium',\n icon: [448, 512, [], \"e588\", \"M203.3 16.2c11.8-11 29.8-11 41.5 0c12.1 11.3 33.1 32.5 51.2 58.8c17.9 26 34.2 58.9 34.2 93.4c0 7.3-.8 14.5-2.2 21.5c7.3 2.3 14.4 5.3 21.2 9.3l0 0c29.9 17.2 50.4 47.6 64.2 75.9c13.9 28.7 21.9 57.3 25.7 73.5c3.8 15.8-5.4 31.5-20.9 36.1c-16 4.8-44.9 12.2-76.8 14.6c-31.5 2.3-68.3-.1-98.2-17.2c-7-4-13.4-8.7-19.1-14c-5.7 5.3-12.1 10-19.1 14c-29.9 17.2-66.7 19.6-98.2 17.2c-31.9-2.4-60.9-9.8-76.8-14.6C14.3 380 5.1 364.4 8.8 348.5c3.8-16.2 11.8-44.8 25.7-73.5c13.7-28.3 34.2-58.8 64.2-75.9l0 0c6.9-3.9 14-7 21.3-9.3c-1.4-6.9-2.2-14.1-2.2-21.4c0-34.4 16.4-67.4 34.2-93.4c18.1-26.3 39.1-47.5 51.2-58.8zm122 224.5l0 0c-6.9-4-14.2-6.3-21.6-7.3c-9.9-1.3-18.6-7-23.6-15.6s-5.8-19-2-28.2c2.7-6.6 4.1-13.7 4.1-21.3v0c0-20.1-10-43.2-25.8-66.2C245.9 86.9 234 73.4 224 63.1c-9.9 10.2-21.9 23.8-32.4 39.1c-15.8 23-25.8 46.1-25.8 66.2c0 7.6 1.5 14.7 4.1 21.3c3.7 9.2 3 19.6-2 28.2s-13.8 14.3-23.6 15.6c-7.4 .9-14.8 3.3-21.7 7.3C105 250.9 89.8 271.1 77.7 296c-8 16.6-13.9 33.5-17.8 47.1c13.9 3.4 31.7 6.9 50.3 8.3c27.9 2.1 53.1-.9 70.8-11c7.1-4.1 12.9-9.3 17.4-15.4c6-8 15.5-12.8 25.6-12.8s19.5 4.7 25.6 12.8c4.5 6 10.4 11.3 17.4 15.4c17.6 10.1 42.9 13.1 70.8 11c18.6-1.4 36.4-4.9 50.3-8.3c-4-13.6-9.8-30.5-17.8-47.1c-12.1-25-27.3-45.1-44.9-55.2zM100.8 123.4c-3 11.8-4.8 24.1-4.8 36.6c0 6.2 .4 12.3 1.3 18.3c-7.8 2.7-15.4 6.1-22.7 10.3c-9.9 5.7-18.8 12.6-26.9 20.2C19 182.7 5.6 157.6 0 144.3c-5.8-13.8 3-29.1 17.9-31c14.7-1.9 44.4-2.8 83 10zm249.9 55c.9-6 1.3-12.1 1.3-18.4c0-12.5-1.8-24.8-4.8-36.6c38.6-12.8 68.2-11.9 83-10c14.9 1.9 23.7 17.1 17.9 31c-5.6 13.3-19 38.4-47.7 64.6c-8.1-7.7-17.1-14.6-27-20.3c-7.3-4.2-14.9-7.6-22.6-10.3zM205.1 497.1c-8.3-12.6-22.8-38.2-31-74.3c9.8-3.1 19.4-7.2 28.5-12.5c7.8-4.5 14.9-9.7 21.4-15.4c6.5 5.8 13.6 11 21.4 15.4c9.2 5.3 18.8 9.4 28.6 12.5c-8.2 36.1-22.6 61.6-31 74.2c-9.1 13.7-28.8 13.7-37.9 0zM184 240a40 40 0 1 1 80 0 40 40 0 1 1 -80 0z\"]\n};\nvar faMusicSlash = {\n prefix: 'far',\n iconName: 'music-slash',\n icon: [640, 512, [], \"f8d1\", \"M545 0c17.1 0 31 13.9 31 31V143.5c0 .4 0 .7 0 1.1V368c0 16.7-6.2 32.2-16.7 45.1l71.5 56c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2S28.4-3.1 38.8 5.1L208 137.7V120c0-10.5 6.9-19.8 16.9-22.9l311-95.7c3-.9 6-1.4 9.1-1.4zM256 175.3l31.7 24.9L528 126.3V54L256 137.7v37.6zm77.7 60.9l87.4 68.5C437.4 294.3 457.8 288 480 288c17.5 0 33.9 3.9 48 10.7V176.5L333.7 236.3zM463.4 337.9l58 45.4c4.6-5.6 6.6-11.4 6.6-15.3c0-9.8-12.9-32-48-32c-6.2 0-11.7 .7-16.6 1.9zM208 259.9l48 37.8V432c0 44.2-43 80-96 80s-96-35.8-96-80s43-80 96-80c17.5 0 33.9 3.9 48 10.7V259.9zM160 400c-35.1 0-48 22.2-48 32s12.9 32 48 32s48-22.2 48-32s-12.9-32-48-32z\"]\n};\nvar faTruckRamp = {\n prefix: 'far',\n iconName: 'truck-ramp',\n icon: [640, 512, [], \"f4e0\", \"M440 0c-48.6 0-88 39.4-88 88V373.8L17.7 464.8C4.9 468.3-2.6 481.5 .8 494.3s16.7 20.3 29.5 16.8L416.2 406c3.1 59.1 52 106 111.8 106c61.9 0 112-50.1 112-112s-50.1-112-112-112c-45.3 0-84.3 26.9-102 65.6l-.4 .1-25.7 7V88c0-22.1 17.9-40 40-40H616c13.3 0 24-10.7 24-24s-10.7-24-24-24H440zm88 336a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]\n};\nvar faBinoculars = {\n prefix: 'far',\n iconName: 'binoculars',\n icon: [512, 512, [], \"f1e5\", \"M96 64c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32V80H96V64zM59.6 158c4.8-26.6 28-46 55.1-46H200c13.3 0 24 10.7 24 24v24h64V136c0-13.3 10.7-24 24-24h85.3c27.1 0 50.3 19.4 55.1 46l5 27.3c3.6 19.9 10.8 39 21.2 56.4l2.6 4.4c20.1 33.6 30.8 72 30.8 111.1V424c0 30.9-25.1 56-56 56H344c-30.9 0-56-25.1-56-56V288H224V424c0 30.9-25.1 56-56 56H56c-30.9 0-56-25.1-56-56V357.2C0 318 10.6 279.6 30.8 246l2.6-4.4c10.4-17.4 17.6-36.5 21.2-56.4l5-27.3zm55.1 2c-3.9 0-7.2 2.8-7.9 6.6l-5 27.3C97.2 219.5 88 244 74.6 266.4l-2.6 4.4C56.3 296.9 48 326.7 48 357.2V424c0 4.4 3.6 8 8 8H168c4.4 0 8-3.6 8-8V160H114.7zm282.6 0H336V424c0 4.4 3.6 8 8 8H456c4.4 0 8-3.6 8-8V357.2c0-30.4-8.3-60.3-23.9-86.4l-2.6-4.4c-13.4-22.3-22.6-46.9-27.3-72.5l-5-27.3c-.7-3.8-4-6.6-7.9-6.6zM352 32h32c17.7 0 32 14.3 32 32V80H320V64c0-17.7 14.3-32 32-32z\"]\n};\nvar faMicrophoneSlash = {\n prefix: 'far',\n iconName: 'microphone-slash',\n icon: [640, 512, [], \"f131\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L472.1 344.7c15.2-26 23.9-56.3 23.9-88.7V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v40c0 21.2-5.1 41.1-14.2 58.7L408 294.5c5.2-11.8 8-24.8 8-38.5V96c0-53-43-96-96-96s-96 43-96 96v54.3L38.8 5.1zM272 187.9V96c0-26.5 21.5-48 48-48s48 21.5 48 48V256c0 2.3-.2 4.6-.5 6.8L272 187.9zm86.2 190.3C346.1 382 333.3 384 320 384c-70.7 0-128-57.3-128-128v-8.7L144.7 210c-.5 1.9-.7 3.9-.7 6v40c0 89.1 66.2 162.7 152 174.4V464H248c-13.3 0-24 10.7-24 24s10.7 24 24 24h72 72c13.3 0 24-10.7 24-24s-10.7-24-24-24H344V430.4c20.4-2.8 39.7-9.1 57.3-18.2l-43.1-33.9z\"]\n};\nvar faBoxTissue = {\n prefix: 'far',\n iconName: 'box-tissue',\n icon: [512, 512, [], \"e05b\", \"M208 48H117.5l57.1 228.4 2.9 11.6H332.3l7.1-17.8L389.9 144H336c-31.1 0-56.2-9.9-75.5-28.2c-15.8-15-25.1-33.7-30.5-44.6l-.9-1.8C222.3 56 219.8 52 217.5 49.8c-.5-.5-.8-.6-1.3-.8c-.7-.3-3-1-8.2-1zM384 288h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24h8l-8-32-12-48L64.9 35.4c-.6-2.3-.9-4.6-.9-6.9C64 12.8 76.8 0 92.5 0H208c40 0 52 24 64 48s24 48 64 48h85.2C436 96 448 108 448 122.8c0 3.4-.7 6.8-1.9 10L416 208l-19.2 48L384 288zM75 208l12 48H48V368H464V256H431.3l19.2-48H464c26.5 0 48 21.5 48 48V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V256c0-26.5 21.5-48 48-48H75zM48 416v48H464V416H48z\"]\n};\nvar faCircleC = {\n prefix: 'far',\n iconName: 'circle-c',\n icon: [512, 512, [], \"e101\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM199.4 312.6c-31.2-31.2-31.2-81.9 0-113.1s81.9-31.2 113.1 0c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9c-50-50-131-50-181 0s-50 131 0 181s131 50 181 0c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0c-31.2 31.2-81.9 31.2-113.1 0z\"]\n};\nvar faStarChristmas = {\n prefix: 'far',\n iconName: 'star-christmas',\n icon: [512, 512, [], \"f7d4\", \"M279.2 17.9C276.5 7.4 266.9 0 256 0s-20.5 7.4-23.2 17.9L188.3 188.3 17.9 232.8C7.4 235.5 0 245.1 0 256s7.4 20.5 17.9 23.2l170.4 44.4 44.4 170.4c2.8 10.6 12.3 17.9 23.2 17.9s20.5-7.4 23.2-17.9l44.4-170.4 170.4-44.4c10.6-2.8 17.9-12.3 17.9-23.2s-7.4-20.5-17.9-23.2L323.7 188.3 279.2 17.9zm-48 196.1l24.8-95 24.8 95c2.2 8.4 8.8 15 17.2 17.2l95 24.8-95 24.8c-8.4 2.2-15 8.8-17.2 17.2l-24.8 95-24.8-95c-2.2-8.4-8.8-15-17.2-17.2l-95-24.8 95-24.8c8.4-2.2 15-8.8 17.2-17.2zM71 71c-9.4 9.4-9.4 24.6 0 33.9l48 48c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L105 71c-9.4-9.4-24.6-9.4-33.9 0zM441 71c-9.4-9.4-24.6-9.4-33.9 0l-48 48c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l48-48c9.4-9.4 9.4-24.6 0-33.9zm0 336l-48-48c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l48 48c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9zM71 441c9.4 9.4 24.6 9.4 33.9 0l48-48c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L71 407c-9.4 9.4-9.4 24.6 0 33.9z\"]\n};\nvar faChartBullet = {\n prefix: 'far',\n iconName: 'chart-bullet',\n icon: [512, 512, [], \"e0e1\", \"M264 32c13.3 0 24 10.7 24 24v8H464c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H288v8c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8H48c-26.5 0-48-21.5-48-48V112C0 85.5 21.5 64 48 64H240V56c0-13.3 10.7-24 24-24zM160 112v64h80V112H160zm128 0v64H464V112H288zm-176 0H48v64h64V112zM360 256c13.3 0 24 10.7 24 24v8h80c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H384v8c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8H48c-26.5 0-48-21.5-48-48V336c0-26.5 21.5-48 48-48H336v-8c0-13.3 10.7-24 24-24zM224 336v64H336V336H224zm160 0v64h80V336H384zm-208 0H48v64H176V336z\"]\n};\nvar faMotorcycle = {\n prefix: 'far',\n iconName: 'motorcycle',\n icon: [640, 512, [127949], \"f21c\", \"M292.5 224.7c11.1 14.3 20.4 30.2 27.5 47.2c15.3-36.5 40.6-67.8 72.6-90.2l-15.3-28.2-84.9 71.3zM304 384H288V352c0-88.4-71.6-160-160-160H56c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c49.6 0 95.1 17.3 130.8 46.3l95.2-80L337.7 80H280c-13.3 0-24-10.7-24-24s10.7-24 24-24h62.5c14.7 0 28.2 8.1 35.2 21l13.9 25.8 46.7-39.3c5.8-4.8 13.1-7.5 20.6-7.5H480c17.7 0 32 14.3 32 32V96c0 17.7-14.3 32-32 32H418.2l55.1 102c12.2-3.9 25.2-6 38.7-6c70.7 0 128 57.3 128 128s-57.3 128-128 128s-128-57.3-128-128c0-40 18.4-75.7 47.1-99.2l-15.4-28.6C377 253.4 352 299.8 352 352v32H304v0zm128-32c0 44.2 35.8 80 80 80s80-35.8 80-80s-35.8-80-80-80c-5.2 0-10.3 .5-15.2 1.4l36.3 67.1c6.3 11.7 2 26.2-9.7 32.5s-26.2 2-32.5-9.7l-36.3-67.1c-14 14.4-22.6 34.1-22.6 55.7zM204.3 328c-10.2-32.5-40.5-56-76.3-56c-44.2 0-80 35.8-80 80s35.8 80 80 80c35.8 0 66.1-23.5 76.3-56H149.2c-5.6 5-13.1 8-21.2 8c-17.7 0-32-14.3-32-32s14.3-32 32-32c8.1 0 15.5 3 21.2 8h55.2zM128 224a128 128 0 1 1 0 256 128 128 0 1 1 0-256z\"]\n};\nvar faTreeChristmas = {\n prefix: 'far',\n iconName: 'tree-christmas',\n icon: [448, 512, [127876], \"f7db\", \"M150.2 71l47.1-17.7L215 6.2c1.4-3.8 5-6.2 9-6.2s7.6 2.5 9 6.2l17.7 47.1L297.8 71c3.8 1.4 6.2 5 6.2 9s-2.5 7.6-6.2 9l-47.1 17.7L233 153.8c-1.4 3.8-5 6.2-9 6.2s-7.6-2.5-9-6.2l-17.7-47.1L150.2 89c-3.8-1.4-6.2-5-6.2-9s2.5-7.6 6.2-9zm125.3 60.5l15.8-5.9 122 193.1c4.7 7.4 4.9 16.7 .7 24.4s-12.3 12.4-21 12.4H367.7l76.5 119.5c4.7 7.4 5 16.8 .8 24.5s-12.3 12.5-21.1 12.5H24c-8.8 0-16.8-4.8-21.1-12.5s-3.9-17.1 .8-24.5L80.3 355.5H55c-8.7 0-16.8-4.8-21-12.4s-3.9-17 .7-24.4l122-193.1 15.8 5.9L185 165c.4 1.2 .9 2.3 1.4 3.4L98.6 307.5h25.6c8.8 0 16.8 4.8 21.1 12.5s3.9 17.1-.8 24.5L67.9 464H380.1L303.6 344.5c-4.7-7.4-5.1-16.8-.8-24.5s12.3-12.5 21.1-12.5h25.6L261.5 168.4c.5-1.1 1-2.2 1.4-3.4l12.6-33.5zM160 280a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM288 392a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faTireFlat = {\n prefix: 'far',\n iconName: 'tire-flat',\n icon: [512, 512, [], \"f632\", \"M464 288c0-114.9-93.1-208-208-208S48 173.1 48 288c0 31 6.8 60.3 18.8 86.7c6.9 15.1 7 33-.8 48.5L48.4 458.5c-.3 .5-.4 1.1-.4 1.7c0 2.1 1.7 3.8 3.8 3.8H132 380h80.2c2.1 0 3.8-1.7 3.8-3.8c0-.6-.1-1.2-.4-1.7l-17.7-35.3c-7.8-15.6-7.7-33.4-.8-48.5C457.2 348.3 464 319 464 288zm48 0c0 38.1-8.3 74.2-23.2 106.7c-1 2.2-1 4.8 .1 7l17.7 35.3c3.6 7.2 5.5 15.1 5.5 23.2c0 28.6-23.2 51.8-51.8 51.8H380 132 51.8C23.2 512 0 488.8 0 460.2c0-8 1.9-16 5.5-23.2l17.7-35.3c1.1-2.2 1.1-4.8 .1-7C8.3 362.2 0 326.1 0 288C0 146.6 114.6 32 256 32s256 114.6 256 256zm-136 0c0-31.2-11.9-59.6-31.4-80.9l-24.2 33.4c9.8 13.3 15.6 29.7 15.6 47.5l0 .9 39.2 12.8c.5-4.5 .8-9 .8-13.6zm-54.9 46.5c-10 14-24.4 24.6-41.2 29.9l0 41.3c34.4-7 63.5-28.7 80.4-58.3l-39.3-12.8zM232 364.3c-16.7-5.3-31.1-15.9-41.1-29.8l-39.3 12.8c16.8 29.6 45.9 51.3 80.3 58.3l0-41.3zM136 288c0 4.6 .3 9.2 .8 13.6L176 288.9l0-.9c0-17.8 5.8-34.2 15.6-47.5l-1.7-2.3-22.6-31.1C147.9 228.4 136 256.8 136 288zm120-80c8.9 0 17.6 1.5 25.6 4.2l24.2-33.4c-15.2-6.9-32-10.8-49.8-10.8s-34.6 3.9-49.8 10.8L228.8 210l1.6 2.2c8-2.7 16.6-4.2 25.6-4.2zM88 288a168 168 0 1 1 336 0A168 168 0 1 1 88 288zm200 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faSunglasses = {\n prefix: 'far',\n iconName: 'sunglasses',\n icon: [576, 512, [128374], \"f892\", \"M118.6 80c-11.5 0-21.4 7.9-24 19.1L57.1 259.8c25.6-7.8 52.6-11.8 78.6-11.8c40.1 0 82.2 9.6 118.5 27.3c5.8 2.9 10.4 7.3 13.5 12.7h40.6c3.1-5.4 7.7-9.8 13.5-12.7c36.2-17.8 78.4-27.3 118.5-27.3c26 0 53 4.1 78.6 11.8L481.4 99.1c-2.6-11.2-12.6-19.1-24-19.1c-3.1 0-6.2 .6-9.2 1.8L416.9 94.3c-12.3 4.9-26.3-1.1-31.2-13.4s1.1-26.3 13.4-31.2l31.3-12.5c8.6-3.4 17.7-5.2 27-5.2c33.8 0 63.1 23.3 70.8 56.2l43.9 188c1.7 7.3 2.9 14.7 3.5 22.2c.3 1.8 .5 3.7 .5 5.6v5.2l0 1.5V352l0 .6V368c0 61.9-50.1 112-112 112H419.7c-59.4 0-108.5-46.4-111.8-105.8L306.6 352H269.4l-1.2 22.2C264.9 433.6 215.8 480 156.3 480H112C50.1 480 0 429.9 0 368V352 310.7 304c0-1.9 .2-3.8 .5-5.7c.6-7.4 1.8-14.8 3.5-22.1l43.9-188C55.5 55.3 84.8 32 118.6 32c9.2 0 18.4 1.8 27 5.2l31.3 12.5c12.3 4.9 18.3 18.9 13.4 31.2s-18.9 18.3-31.2 13.4L127.8 81.8c-2.9-1.2-6-1.8-9.2-1.8zM48 352v16c0 2.6 .2 5.2 .5 7.8l144.4-72.2c-18.8-5-38.3-7.6-57.2-7.6c-29.5 0-60.5 6.4-87.7 18.2V352zm392.3-56c-29.4 0-60.4 6.3-87.7 18l3.2 57.5c0 .8 .1 1.7 .2 2.5l141-70.5c-18.6-4.9-38-7.5-56.7-7.5z\"]\n};\nvar faBadge = {\n prefix: 'far',\n iconName: 'badge',\n icon: [512, 512, [], \"f335\", \"M256 48c-24.1 0-45.1 13.5-55.7 33.5C194.9 91.7 183 96.6 172 93.2c-21.6-6.6-46.1-1.4-63.1 15.7S86.6 150.4 93.2 172c3.4 11-1.5 22.9-11.7 28.2C61.5 210.9 48 231.9 48 256s13.5 45.1 33.5 55.7C91.7 317.1 96.6 329 93.2 340c-6.6 21.6-1.4 46.1 15.7 63.1s41.5 22.3 63.1 15.7c11-3.4 22.9 1.5 28.2 11.7c10.6 20 31.6 33.5 55.7 33.5s45.1-13.5 55.7-33.5c5.4-10.2 17.2-15.1 28.2-11.7c21.6 6.6 46.1 1.4 63.1-15.7s22.3-41.5 15.7-63.1c-3.4-11 1.5-22.9 11.7-28.2c20-10.6 33.5-31.6 33.5-55.7s-13.5-45.1-33.5-55.7c-10.2-5.4-15.1-17.2-11.7-28.2c6.6-21.6 1.4-46.1-15.7-63.1S361.6 86.6 340 93.2c-11 3.4-22.9-1.5-28.3-11.7C301.1 61.5 280.1 48 256 48zm-88.1-4.6C188.2 17 220.1 0 256 0s67.8 17 88.1 43.4c33-4.3 67.6 6.2 93 31.6s35.9 60 31.6 93C495 188.2 512 220.1 512 256s-17 67.8-43.4 88.1c4.3 33-6.2 67.6-31.6 93s-60 35.9-93 31.6C323.8 495 291.9 512 256 512s-67.8-17-88.1-43.4c-33 4.3-67.6-6.2-93-31.6s-35.9-60-31.6-93C17 323.8 0 291.9 0 256s17-67.8 43.4-88.1c-4.3-33 6.2-67.6 31.6-93s60-35.9 93-31.6z\"]\n};\nvar faMessagePen = {\n prefix: 'far',\n iconName: 'message-pen',\n icon: [512, 512, [\"comment-alt-edit\", \"message-edit\"], \"f4a4\", \"M208 416c0-26.5-21.5-48-48-48H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H448c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H309.3c-10.4 0-20.5 3.4-28.8 9.6L208 432V416zm-.2 76.2l.2-.2 101.3-76H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h48 48v48 4 .3 6.4V496c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L202.7 496l5.1-3.8zM340.8 123c-14.7-14.7-38.6-14.7-53.3 0L272.6 138l53.3 53.3 14.9-14.9c14.7-14.7 14.7-38.6 0-53.3zM178.1 232.5c-4.1 4.1-7 9.2-8.4 14.9L160.5 284c-1.4 5.5 .2 11.2 4.2 15.2s9.7 5.6 15.2 4.2l36.6-9.2c5.6-1.4 10.8-4.3 14.9-8.4l71.9-71.9L250 160.6l-71.9 71.9z\"]\n};\nvar faCommentAltEdit = faMessagePen;\nvar faMessageEdit = faMessagePen;\nvar faBellConcierge = {\n prefix: 'far',\n iconName: 'bell-concierge',\n icon: [512, 512, [128718, \"concierge-bell\"], \"f562\", \"M216 64c-13.3 0-24 10.7-24 24s10.7 24 24 24h16v33.3C119.6 157.2 32 252.4 32 368H80c0-97.2 78.8-176 176-176s176 78.8 176 176h48c0-115.6-87.6-210.8-200-222.7V112h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H256 216zM24 400c-13.3 0-24 10.7-24 24s10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H24z\"]\n};\nvar faConciergeBell = faBellConcierge;\nvar faPenRuler = {\n prefix: 'far',\n iconName: 'pen-ruler',\n icon: [512, 512, [\"pencil-ruler\"], \"f5ae\", \"M13.4 439l23-78.1c4.2-14.1 11.8-27 22.2-37.4L362.7 19.3c25-25 65.5-25 90.5 0l39.4 39.4c3.1 3.1 5.9 6.5 8.2 10c16.4 24.8 13.7 58.6-8.2 80.5L188.5 453.4c-1.3 1.3-2.6 2.6-4 3.8c-9.6 8.5-21 14.8-33.4 18.4L73 498.6 30.8 511c-8.4 2.5-17.5 .2-23.7-6.1S-1.5 489.7 1 481.2L13.4 439zm62.2-41.2L59.4 452.6l54.8-16.1 23.4-6.9c6.4-1.9 12.3-5.4 17-10.1L383 191 321 129 92.5 357.4c-.6 .6-1.2 1.2-1.7 1.8c-3.9 4.4-6.7 9.6-8.4 15.2l-6.9 23.4zM173.3 27.3l65.2 65.2-33.9 33.9-26.2-26.2-23 23c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l23-23L139.3 61.3c-6.2-6.2-16.4-6.2-22.6 0L61.3 116.7c-6.2 6.2-6.2 16.4 0 22.6l65.2 65.2L92.5 238.5 27.3 173.3c-25-25-25-65.5 0-90.5L82.7 27.3c25-25 65.5-25 90.5 0zM372.7 450.7c6.2 6.2 16.4 6.2 22.6 0l55.4-55.4c6.2-6.2 6.2-16.4 0-22.6l-16.4-16.4-23 23c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l23-23-26.2-26.2 33.9-33.9 65.2 65.2c25 25 25 65.5 0 90.5l-55.4 55.4c-25 25-65.5 25-90.5 0l-65.2-65.2 33.9-33.9 65.2 65.2z\"]\n};\nvar faPencilRuler = faPenRuler;\nvar faFileMp3 = {\n prefix: 'far',\n iconName: 'file-mp3',\n icon: [512, 512, [], \"e648\", \"M48 448c0 8.8 7.2 16 16 16v48c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3V288H336V160H256c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448zm91.7-95.4c6.9-1.9 14.3 1 18 7.2L192 416.9l34.3-57.1c3.7-6.2 11.1-9.1 18-7.2s11.7 8.2 11.7 15.4V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V425.8l-18.3 30.5c-2.9 4.8-8.1 7.8-13.7 7.8s-10.8-3-13.7-7.8L160 425.8V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V368c0-7.2 4.8-13.5 11.7-15.4zM288 368c0-8.8 7.2-16 16-16h32c30.9 0 56 25.1 56 56s-25.1 56-56 56H320v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V448 368zm32 64h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H320v48zm144 80H432c-8.8 0-16-7.2-16-16s7.2-16 16-16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H440c-8.8 0-16-7.2-16-16c0-.6 0-1.1 .1-1.6c.8-8.1 7.6-14.4 15.9-14.4h24c8.8 0 16-7.2 16-16s-7.2-16-16-16H432c-8.8 0-16-7.2-16-16s7.2-16 16-16h32c26.5 0 48 21.5 48 48c0 12.3-4.6 23.5-12.2 32c7.6 8.5 12.2 19.7 12.2 32c0 26.5-21.5 48-48 48z\"]\n};\nvar faArrowProgress = {\n prefix: 'far',\n iconName: 'arrow-progress',\n icon: [512, 512, [], \"e5df\", \"M472 64a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-88 0a64 64 0 1 1 128 0A64 64 0 1 1 384 64zM0 160C0 93.7 53.7 40 120 40H256V17.9C256 8 264 0 273.9 0c4 0 7.8 1.3 11 3.8l60.8 47.3c4 3.1 6.3 7.9 6.3 12.9s-2.3 9.8-6.3 12.9l-60.8 47.3c-3.1 2.4-7 3.8-11 3.8c-9.9 0-17.9-8-17.9-17.9V88H120c-39.8 0-72 32.2-72 72s32.2 72 72 72H392c66.3 0 120 53.7 120 120c0 59.5-43.3 108.8-100 118.3c-9.1 24.3-32.5 41.7-60 41.7c-35.3 0-64-28.7-64-64s28.7-64 64-64c25.9 0 48.3 15.4 58.3 37.6c30.9-8.1 53.7-36.2 53.7-69.6c0-39.8-32.2-72-72-72H120C53.7 280 0 226.3 0 160zM123.3 424H160V401.9c0-9.9 8-17.9 17.9-17.9c4 0 7.8 1.3 11 3.8l60.8 47.3c4 3.1 6.3 7.9 6.3 12.9s-2.3 9.8-6.3 12.9l-60.8 47.3c-3.1 2.4-7 3.8-11 3.8c-9.9 0-17.9-8-17.9-17.9V472H123.3c-9.5 23.5-32.5 40-59.3 40c-35.3 0-64-28.7-64-64s28.7-64 64-64c26.9 0 49.9 16.5 59.3 40zM88 448a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm264 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faChessRookPiece = {\n prefix: 'far',\n iconName: 'chess-rook-piece',\n icon: [320, 512, [\"chess-rook-alt\"], \"f448\", \"M16 120c0-13.3 10.7-24 24-24H280c13.3 0 24 10.7 24 24V224c0 5.6-2 11.1-5.6 15.4l-33.9 40.7 4.2 71.9H220.7L216 273.4c-.4-6.1 1.6-12.1 5.5-16.8L256 215.3V144H216v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V144H136v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V144H64v71.3l34.4 41.3c3.9 4.7 5.9 10.7 5.5 16.8L99.3 352H51.3l4.2-71.9L21.6 239.4C18 235.1 16 229.6 16 224V120zM136 280.9V248c0-13.3 10.7-24 24-24s24 10.7 24 24v32.9c0 3.9-3.2 7.1-7.1 7.1H143.1c-3.9 0-7.1-3.2-7.1-7.1zM52.7 464H267.3l-16.6-32H69.2L52.7 464zm207.9-80c12 0 22.9 6.7 28.4 17.3l26.5 51.2c3 5.8 4.6 12.2 4.6 18.7c0 22.5-18.2 40.8-40.8 40.8H40.8C18.2 512 0 493.8 0 471.2c0-6.5 1.6-12.9 4.6-18.7l26.5-51.2C36.5 390.7 47.5 384 59.5 384h201z\"]\n};\nvar faChessRookAlt = faChessRookPiece;\nvar faSquareRoot = {\n prefix: 'far',\n iconName: 'square-root',\n icon: [576, 512, [8730], \"f697\", \"M344.3 80c-3.6 0-6.7 2.4-7.7 5.8L231.1 462.5c-2.6 9.4-10.7 16.3-20.5 17.4s-19.1-3.9-23.8-12.5L83.9 276.2c-1.4-2.6-4.1-4.2-7-4.2H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H76.9c20.6 0 39.5 11.3 49.3 29.5l74.7 138.8L290.3 72.9C297.1 48.7 319.2 32 344.3 32H552c13.3 0 24 10.7 24 24s-10.7 24-24 24H344.3z\"]\n};\nvar faAlbumCollectionCirclePlus = {\n prefix: 'far',\n iconName: 'album-collection-circle-plus',\n icon: [640, 512, [], \"e48e\", \"M56 0H456c13.3 0 24 10.7 24 24s-10.7 24-24 24H56C42.7 48 32 37.3 32 24S42.7 0 56 0zM6.2 232.3C1.1 194 30.9 160 69.6 160H442.4c23.9 0 44.4 13 55.4 32l-1.8 0c-26.2 0-51.1 5.7-73.4 16H69.6c-9.7 0-17.1 8.5-15.9 18.1l29.5 224c1 8 7.8 13.9 15.9 13.9H348.5c12.3 18.8 28 35.1 46.3 48H99.1c-32.1 0-59.3-23.8-63.5-55.7L6.2 232.3zM256 232c38.9 0 74.2 11.1 100.1 29.2C333.4 290.8 320 327.8 320 368c0 20.1 3.4 39.4 9.6 57.4C308 434.7 282.9 440 256 440c-79.5 0-144-46.6-144-104s64.5-104 144-104zM16 104c0-13.3 10.7-24 24-24H472c13.3 0 24 10.7 24 24s-10.7 24-24 24H40c-13.3 0-24-10.7-24-24zM256 368c17.7 0 32-10.7 32-24s-14.3-24-32-24s-32 10.7-32 24s14.3 24 32 24zM496 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm16 80c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H432c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v48c0 8.8 7.2 16 16 16s16-7.2 16-16V384h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H512V304z\"]\n};\nvar faPeopleArrows = {\n prefix: 'far',\n iconName: 'people-arrows',\n icon: [640, 512, [\"people-arrows-left-right\"], \"e068\", \"M64 64a64 64 0 1 1 128 0A64 64 0 1 1 64 64zm41.6 144c-16.6 0-30.5 12.8-31.9 29.3l-4.1 49.3C68.8 296 76.2 304 85.6 304H88h40c0 14.3 5.5 28.7 16.4 39.6L192 391.2V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V352H112V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V348.3c-26.5-9.5-44.7-35.8-42.2-65.6l4.1-49.3C29.3 191.9 64 160 105.6 160h44.8c27 0 51 13.4 65.5 34.1c-2.6 1.8-5.2 4-7.5 6.3l-28.1 28.1c-4.6-12.1-16.3-20.5-29.9-20.5H105.6zM448 488V391.2l47.6-47.6C506.5 332.7 512 318.3 512 304h40 2.4c9.4 0 16.7-8 15.9-17.3l-4.1-49.3C564.9 220.8 551 208 534.4 208H489.6c-13.5 0-25.2 8.4-29.9 20.5l-28.1-28.1c-2.4-2.4-4.9-4.5-7.5-6.3c14.5-20.7 38.6-34.1 65.5-34.1h44.8c41.6 0 76.3 31.9 79.7 73.4l4.1 49.3c2.5 29.8-15.7 56.1-42.2 65.6V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V352H496V488c0 13.3-10.7 24-24 24s-24-10.7-24-24zm0-424a64 64 0 1 1 128 0A64 64 0 1 1 448 64zM265 257l-23 23H398.1l-23-23c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l64 64c9.4 9.4 9.4 24.6 0 33.9l-64 64c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l23-23H241.9l23 23c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9l64-64c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\"]\n};\nvar faPeopleArrowsLeftRight = faPeopleArrows;\nvar faSignPost = {\n prefix: 'far',\n iconName: 'sign-post',\n icon: [512, 512, [], \"e624\", \"M232 24c0-13.3 10.7-24 24-24s24 10.7 24 24V64H417c9.5 0 18.5 4.2 24.6 11.5l61.9 74.2c4.9 5.9 4.9 14.6 0 20.5l-61.9 74.2c-6.1 7.3-15.1 11.5-24.6 11.5H280V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V256H80c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48H232V24zM449.5 160l-40-48H80v96H409.5l40-48z\"]\n};\nvar faFaceAngryHorns = {\n prefix: 'far',\n iconName: 'face-angry-horns',\n icon: [640, 512, [], \"e368\", \"M320 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464c141.4 0 256-114.6 256-256c0-24.6-3.5-48.4-9.9-70.9c44.3-59.4 67.4-135 73.6-166c1.3-6.3-1.4-12.8-6.8-16.4s-12.4-3.6-17.8 0c-19.3 12.9-48.5 24.2-78.4 33.1c-23.3 7-46 12.2-63 15.5C430.9 19.1 377.7 0 320 0S209.1 19.1 166.2 51.3c-17-3.3-39.7-8.6-63-15.5C73.4 26.9 44.2 15.5 24.9 2.7C19.5-.9 12.5-.9 7.1 2.7S-1 12.8 .3 19.1c6.2 31 29.3 106.6 73.6 166C67.5 207.6 64 231.4 64 256c0 141.4 114.6 256 256 256zm72.4-102.5c9.7-9 10.2-24.2 1.2-33.9C379.3 360.3 354.6 344 320 344s-59.3 16.3-73.5 31.6c-9 9.7-8.5 24.9 1.2 33.9s24.9 8.5 33.9-1.2c7.4-7.9 20-16.4 38.5-16.4s31.1 8.5 38.5 16.4c9 9.7 24.2 10.2 33.9 1.2zM240.4 288c17.7 0 32-14.3 32-32c0-1.5-.1-3-.3-4.4l10.9 3.6c8.4 2.8 17.4-1.7 20.2-10.1s-1.7-17.4-10.1-20.2l-96-32c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2l30.7 10.2c-5.8 5.8-9.3 13.8-9.3 22.6c0 17.7 14.3 32 32 32zm192-32c0-8.9-3.6-17-9.5-22.8l30.2-10.1c8.4-2.8 12.9-11.9 10.1-20.2s-11.9-12.9-20.2-10.1l-96 32c-8.4 2.8-12.9 11.9-10.1 20.2s11.9 12.9 20.2 10.1l11.7-3.9c-.2 1.5-.3 3.1-.3 4.7c0 17.7 14.3 32 32 32s32-14.3 32-32z\"]\n};\nvar faMarsAndVenusBurst = {\n prefix: 'far',\n iconName: 'mars-and-venus-burst',\n icon: [640, 512, [], \"e523\", \"M520 0c-13.3 0-24 10.7-24 24s10.7 24 24 24h38.1l-54.2 54.2C475.9 78.4 439.6 64 400 64c-88.4 0-160 71.6-160 160c0 80.2 59 146.6 136 158.2V416H344c-13.3 0-24 10.7-24 24s10.7 24 24 24h32v24c0 13.3 10.7 24 24 24s24-10.7 24-24V464h32c13.3 0 24-10.7 24-24s-10.7-24-24-24H424V382.2c77-11.6 136-78 136-158.2c0-31.4-9-60.7-24.7-85.4L592 81.9V112c0 13.3 10.7 24 24 24s24-10.7 24-24V24c0-13.3-10.7-24-24-24H520zM288 224a112 112 0 1 1 224 0 112 112 0 1 1 -224 0zM176 8c-8.9 0-17 4.9-21.2 12.7L124.7 77.5 61.6 65.6c-8.7-1.6-17.6 1.7-23.2 8.6s-6.8 16.4-3.3 24.5l25.6 58.9-48.6 42c-6.7 5.8-9.7 14.8-7.7 23.5s8.6 15.5 17.1 17.8l62 16.7 2.5 64.2c.3 8.9 5.6 16.8 13.6 20.7s17.5 3 24.6-2.3l51.7-38 51.7 38c6.4 4.7 14.7 5.9 22.1 3.3c-16.9-21.2-29.4-46.1-36.2-73.3l-23.4-17.2c-8.5-6.2-20-6.2-28.4 0l-29.5 21.7-1.4-36.6c-.4-10.5-7.6-19.5-17.7-22.2l-35.4-9.6 27.7-24c7.9-6.9 10.5-18.1 6.3-27.7L97.2 121.1l36 6.7c10.3 1.9 20.7-3.1 25.6-12.3L176 83.2l17.2 32.4c4.9 9.3 15.3 14.3 25.6 12.3l16.8-3.1c14.3-23.6 33.4-43.8 56.1-59.3c-.4 .1-.9 .1-1.3 .2L227.3 77.5 197.2 20.7C193 12.9 184.9 8 176 8z\"]\n};\nvar faTombstone = {\n prefix: 'far',\n iconName: 'tombstone',\n icon: [448, 512, [], \"f720\", \"M368 432V192c0-79.5-64.5-144-144-144S80 112.5 80 192V432H32V192C32 86 118 0 224 0S416 86 416 192V432H368zM0 488c0-13.3 10.7-24 24-24H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24zM248 152v40h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H248V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V240H152c-13.3 0-24-10.7-24-24s10.7-24 24-24h48V152c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faSquareCaretRight = {\n prefix: 'far',\n iconName: 'square-caret-right',\n icon: [448, 512, [\"caret-square-right\"], \"f152\", \"M400 96c0-8.8-7.2-16-16-16L64 80c-8.8 0-16 7.2-16 16l0 320c0 8.8 7.2 16 16 16l320 0c8.8 0 16-7.2 16-16l0-320zM384 32c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l320 0zM320 256c0 6.7-2.8 13-7.7 17.6l-112 104c-7 6.5-17.2 8.2-25.9 4.4s-14.4-12.5-14.4-22l0-208c0-9.5 5.7-18.2 14.4-22s18.9-2.1 25.9 4.4l112 104c4.9 4.5 7.7 10.9 7.7 17.6z\"]\n};\nvar faCaretSquareRight = faSquareCaretRight;\nvar faScissors = {\n prefix: 'far',\n iconName: 'scissors',\n icon: [512, 512, [9984, 9986, 9988, \"cut\"], \"f0c4\", \"M506.4 439.4c-8.5 10.2-23.7 11.5-33.8 3L312.4 308.2l37.4-31.3L503.4 405.6c10.2 8.5 11.5 23.7 3 33.8zM112 48a64 64 0 1 0 0 128 64 64 0 1 0 0-128zm0-48c61.9 0 112 50.1 112 112c0 17.9-4.2 34.8-11.6 49.8l75.1 62.9L472.6 69.6c10.2-8.5 25.3-7.2 33.8 3s7.2 25.3-3 33.8l-291 243.8c7.4 15 11.6 31.9 11.6 49.8c0 61.9-50.1 112-112 112S0 461.9 0 400s50.1-112 112-112c26.6 0 51.1 9.3 70.3 24.8L250.1 256l-67.8-56.8C163.1 214.7 138.6 224 112 224C50.1 224 0 173.9 0 112S50.1 0 112 0zm64 400A64 64 0 1 0 48 400a64 64 0 1 0 128 0z\"]\n};\nvar faCut = faScissors;\nvar faListMusic = {\n prefix: 'far',\n iconName: 'list-music',\n icon: [512, 512, [], \"f8c9\", \"M481.1 0C498.2 0 512 13.8 512 30.9V136c0 10.4-6.7 19.6-16.6 22.8L384 194.7V432c0 44.2-50.1 80-112 80s-112-35.8-112-80s50.1-80 112-80c23.8 0 45.9 5.3 64 14.3V64c0-10.3 6.6-19.5 16.4-22.8L471.4 1.6c3.1-1 6.4-1.6 9.8-1.6zM323.3 414.5c-11.2-8-29.2-14.5-51.3-14.5s-40.1 6.5-51.3 14.5C209.4 422.6 208 429.4 208 432s1.4 9.4 12.7 17.5c11.2 8 29.2 14.5 51.3 14.5s40.1-6.5 51.3-14.5c11.3-8.1 12.7-14.9 12.7-17.5s-1.4-9.4-12.7-17.5zM384 144.3l80-25.8V54.6L384 81.3v63zM24 48H264c13.3 0 24 10.7 24 24s-10.7 24-24 24H24C10.7 96 0 85.3 0 72S10.7 48 24 48zm0 128H264c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 128H136c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faSunPlantWilt = {\n prefix: 'far',\n iconName: 'sun-plant-wilt',\n icon: [640, 512, [], \"e57a\", \"M160-.2c-8.4 0-16.2 4.4-20.5 11.6L115.2 51.7 69.6 40.4c-8.2-2-16.8 .4-22.7 6.3s-8.3 14.6-6.3 22.7l11.3 45.6L11.6 139.4C4.4 143.7 0 151.5 0 159.9s4.4 16.2 11.6 20.5l40.2 24.3L40.5 250.4c-2 8.2 .4 16.8 6.3 22.7s14.6 8.3 22.7 6.3l45.6-11.3 24.3 40.2c4.3 7.2 12.1 11.6 20.5 11.6s16.2-4.4 20.5-11.6l24.3-40.2 45.6 11.3c8.2 2 16.8-.4 22.7-6.3s8.3-14.6 6.3-22.7l-11.3-45.6 40.2-24.3c7.2-4.3 11.6-12.1 11.6-20.5s-4.4-16.2-11.6-20.5l-40.2-24.3 11.3-45.6c2-8.2-.4-16.8-6.3-22.7s-14.6-8.3-22.7-6.3L204.9 51.7 180.6 11.4C176.2 4.2 168.5-.2 160-.2zm0 70.4l12.9 21.3c5.4 9 16.1 13.4 26.3 10.9l24.2-6-6 24.2c-2.5 10.2 1.9 20.9 10.9 26.3l21.3 12.9-21.3 12.9c-9 5.4-13.4 16.1-10.9 26.3l6 24.2-24.2-6c-10.2-2.5-20.9 1.9-26.3 10.9L160 249.6l-12.9-21.3c-5.4-9-16.1-13.4-26.3-10.9l-24.2 6 6-24.2c2.5-10.2-1.9-20.9-10.9-26.3L70.4 159.9 91.8 147c9-5.4 13.4-16.1 10.9-26.3l-6-24.2 24.2 6c10.2 2.5 20.9-1.9 26.3-10.9L160 70.3zM192 160a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm312 16c0-17.7 14.3-32 32-32s32 14.3 32 32v53.4c-14.8 7.7-24 23.1-24 44.6c0 16.8 16 44 37.4 67.2c5.8 6.2 15.5 6.2 21.2 0C624 318 640 290.7 640 274.1c0-21.5-9.2-37-24-44.6V176c0-44.2-35.8-80-80-80s-80 35.8-80 80v22.7c-9.8-4.3-20.6-6.7-32-6.7c-44.2 0-80 35.8-80 80v21.4c-14.8 7.7-24 23.1-24 44.6c0 16.8 16 44 37.4 67.2c5.8 6.2 15.5 6.2 21.2 0C400 382 416 354.7 416 338.1c0-21.5-9.2-37-24-44.6V272c0-17.7 14.3-32 32-32s32 14.3 32 32v8V464L24 464c-13.3 0-24 10.7-24 24s10.7 24 24 24H616c13.3 0 24-10.7 24-24s-10.7-24-24-24l-112 0V280v-8V176z\"]\n};\nvar faToiletsPortable = {\n prefix: 'far',\n iconName: 'toilets-portable',\n icon: [576, 512, [], \"e584\", \"M72 48H184c13.3 0 24 10.7 24 24V96H48V72c0-13.3 10.7-24 24-24zM48 432V144H208v80H184c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h24V432H48zm0 56v-8H208v8c0 13.3 10.7 24 24 24s24-10.7 24-24V72c0-39.8-32.2-72-72-72H72C32.2 0 0 32.2 0 72V488c0 13.3 10.7 24 24 24s24-10.7 24-24zM392 48H504c13.3 0 24 10.7 24 24V96H368V72c0-13.3 10.7-24 24-24zM368 432V144H528v80H504c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h24V432H368zm0 56v-8H528v8c0 13.3 10.7 24 24 24s24-10.7 24-24V72c0-39.8-32.2-72-72-72H392c-39.8 0-72 32.2-72 72V488c0 13.3 10.7 24 24 24s24-10.7 24-24z\"]\n};\nvar faHockeyPuck = {\n prefix: 'far',\n iconName: 'hockey-puck',\n icon: [512, 512, [], \"f453\", \"M48 184c0 4.8 2.3 11.7 11 20.2c8.8 8.6 22.8 17.5 42.1 25.5C139.6 245.6 194.3 256 256 256s116.4-10.4 154.9-26.3c19.3-8 33.3-16.9 42.1-25.5c8.7-8.6 11-15.4 11-20.2s-2.3-11.7-11-20.2c-8.8-8.6-22.8-17.5-42.1-25.5C372.4 122.4 317.7 112 256 112s-116.4 10.4-154.9 26.3c-19.3 8-33.3 16.9-42.1 25.5c-8.7 8.6-11 15.4-11 20.2zM0 184c0-21.7 10.7-40.1 25.4-54.5c14.7-14.3 34.6-26.1 57.3-35.5C128.3 75.1 189.6 64 256 64s127.7 11.1 173.2 29.9c22.7 9.4 42.7 21.2 57.3 35.5C501.3 143.9 512 162.3 512 184V328c0 21.7-10.7 40.1-25.4 54.5c-14.6 14.3-34.6 26.1-57.3 35.5C383.7 436.9 322.4 448 256 448s-127.7-11.1-173.2-29.9c-22.7-9.4-42.7-21.2-57.3-35.5C10.7 368.1 0 349.7 0 328V184zm464 72.2c-10.5 6.7-22.2 12.6-34.8 17.9C383.7 292.9 322.4 304 256 304s-127.7-11.1-173.2-29.9c-12.6-5.2-24.3-11.1-34.8-17.9V328c0 4.8 2.3 11.7 11 20.2c8.8 8.6 22.8 17.5 42.1 25.5C139.6 389.6 194.3 400 256 400s116.4-10.4 154.9-26.3c19.3-8 33.3-16.9 42.1-25.5c8.7-8.6 11-15.4 11-20.2V256.2z\"]\n};\nvar faMustache = {\n prefix: 'far',\n iconName: 'mustache',\n icon: [640, 512, [], \"e5bc\", \"M233.4 112c-32.9 0-64.4 13.1-87.7 36.3c-28.5 28.5-74.2 29.8-104.3 3.1l-1.5-1.3c-2.7-2.4-5.8-4.1-9-5c-1.3-.4-2.7-.7-4.1-.9c-1.1-.1-2.2-.2-3.3-.2c-3.6 .1-7 .9-10.1 2.4c-2.2 1-4.2 2.4-6 4.2C2.9 154.9 0 161.1 0 168v34C0 311.4 88.6 400 198 400c42.8 0 84.5-13.9 118.8-39.6L320 358l3.2 2.4c34.3 25.7 76 39.6 118.8 39.6c109.4 0 198-88.6 198-198V168c0-6.9-2.9-13.1-7.5-17.4c-4.2-4-9.8-6.5-16.1-6.6c-.4 0-.9 0-1.3 0c-2.4 .1-4.8 .5-7.1 1.3c-2.9 1-5.6 2.6-8 4.7l-1.5 1.3c-30.1 26.7-75.8 25.4-104.3-3.1C471 125.1 439.5 112 406.6 112h-1.2c-29.7 0-58.5 10.4-81.3 29.5l-4 3.3-4-3.3c-22.8-19-51.6-29.5-81.3-29.5h-1.2zm358.3 98.7C587.3 289.5 521.9 352 442 352c-32.5 0-64-10.5-90-30l-17.6-13.2c-8.5-6.4-20.3-6.4-28.8 0L288 322c-26 19.5-57.5 30-90 30c-79.9 0-145.3-62.5-149.8-141.3c44.3 16.7 96 7 131.4-28.4C193.9 168 213.3 160 233.4 160h1.2c18.5 0 36.4 6.5 50.6 18.3l19.3 16.1c8.9 7.4 21.8 7.4 30.7 0l19.3-16.1c14.2-11.8 32.1-18.3 50.6-18.3h1.2c20.2 0 39.5 8 53.8 22.3c35.4 35.4 87.1 45.1 131.4 28.4z\"]\n};\nvar faHyphen = {\n prefix: 'far',\n iconName: 'hyphen',\n icon: [320, 512, [], \"2d\", \"M0 256c0-13.3 10.7-24 24-24H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24z\"]\n};\nvar faTable = {\n prefix: 'far',\n iconName: 'table',\n icon: [512, 512, [], \"f0ce\", \"M48 264V160H232V264H48zm0 48H232V432H64c-8.8 0-16-7.2-16-16V312zM280 432V312H464V416c0 8.8-7.2 16-16 16H280zM464 264H280V160H464V264zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64z\"]\n};\nvar faUserChef = {\n prefix: 'far',\n iconName: 'user-chef',\n icon: [448, 512, [], \"e3d2\", \"M384 48c0 20.9-13.4 38.7-32 45.3V112v64c0 70.7-57.3 128-128 128s-128-57.3-128-128V112 93.3C77.4 86.7 64 68.9 64 48C64 21.5 85.5 0 112 0c14.3 0 27.2 6.3 36 16.3C156.8 6.3 169.7 0 184 0c16.7 0 31.4 8.5 40 21.5C232.6 8.5 247.3 0 264 0c14.3 0 27.2 6.3 36 16.3C308.8 6.3 321.7 0 336 0c26.5 0 48 21.5 48 48zM304 176V160H144v16c0 44.2 35.8 80 80 80s80-35.8 80-80zM169.4 438c-5.7 2.6-9.4 8.3-9.4 14.6V464H397.1c-7.7-28.9-30.1-51.9-58.8-60.4L304 393.4V379.1l-13.1 3.8L169.4 438zM128 452.6c0-18.8 11-35.9 28.1-43.7l35.6-16.2L144 379.1v14.3l-34.3 10.2c-28.6 8.5-51 31.5-58.8 60.4H128V452.6zM0 486.4c0-60.9 40.5-112.3 96-128.8V334c0-7.8 6.3-14 14-14c1.3 0 2.6 .2 3.9 .5L224 352l110.1-31.5c1.3-.4 2.6-.5 3.9-.5c7.8 0 14 6.3 14 14v23.5c55.5 16.5 96 68 96 128.8c0 14.1-11.5 25.6-25.6 25.6H25.6C11.5 512 0 500.5 0 486.4zM272 416a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faMessageImage = {\n prefix: 'far',\n iconName: 'message-image',\n icon: [512, 512, [\"comment-alt-image\"], \"e1e0\", \"M160 368c26.5 0 48 21.5 48 48v16l72.5-54.4c8.3-6.2 18.4-9.6 28.8-9.6H448c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16V352c0 8.8 7.2 16 16 16h96zm48 124l-.2 .2-5.1 3.8-17.1 12.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V474.7v-6.4V468v-4V416H112 64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H309.3L208 492zm88-348c5.3 0 10.2 2.6 13.2 6.9l88 128c3.4 4.9 3.7 11.3 1 16.5s-8.2 8.6-14.2 8.6H256 208 160c-6.1 0-11.6-3.4-14.3-8.8s-2.1-11.9 1.5-16.8l48-64c3-4 7.8-6.4 12.8-6.4s9.8 2.4 12.8 6.4l9.6 12.8 52.4-76.3c3-4.3 7.9-6.9 13.2-6.9zM176 112a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faCommentAltImage = faMessageImage;\nvar faUsersMedical = {\n prefix: 'far',\n iconName: 'users-medical',\n icon: [640, 512, [], \"f830\", \"M144 0a80 80 0 1 1 0 160A80 80 0 1 1 144 0zM512 0a80 80 0 1 1 0 160A80 80 0 1 1 512 0zM0 298.7C0 239.8 47.8 192 106.7 192h42.7c15.9 0 31 3.5 44.6 9.7c-1.3 7.2-1.9 14.7-1.9 22.3c0 38.2 16.8 72.5 43.3 96c-.2 0-.4 0-.7 0H21.3C9.6 320 0 310.4 0 298.7zM405.3 320c-.2 0-.4 0-.7 0c26.6-23.5 43.3-57.8 43.3-96c0-7.6-.7-15-1.9-22.3c13.6-6.3 28.7-9.7 44.6-9.7h42.7C592.2 192 640 239.8 640 298.7c0 11.8-9.6 21.3-21.3 21.3H605.3c-6.6-18.6-24.4-32-45.3-32H528c-20.9 0-38.7 13.4-45.3 32H405.3zm-26.7 32c19.3 0 37.6 4.1 54.2 11.5C422.5 372.3 416 385.4 416 400v8.6c-11.3-5.5-23.9-8.6-37.3-8.6H261.3c-39.8 0-73.2 27.2-82.6 64H428.2c8.8 9.8 21.6 16 35.8 16h16v16c0 5.6 1 11 2.7 16H154.7c-14.7 0-26.7-11.9-26.7-26.7C128 411.7 187.7 352 261.3 352H378.7zM320 272a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm0-144a96 96 0 1 1 0 192 96 96 0 1 1 0-192zM512 336c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H576v48c0 8.8-7.2 16-16 16H528c-8.8 0-16-7.2-16-16V448H464c-8.8 0-16-7.2-16-16V400c0-8.8 7.2-16 16-16h48V336z\"]\n};\nvar faSensorTriangleExclamation = {\n prefix: 'far',\n iconName: 'sensor-triangle-exclamation',\n icon: [640, 512, [\"sensor-alert\"], \"e029\", \"M64 80H384c8.8 0 16 7.2 16 16v49.9c13.1-11.4 30.1-17.9 48-17.9V96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H225c-.6-4-1-8.1-1-12.3c0-12.5 3-24.7 8.9-35.7H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16zm80 72c0-13.3-10.7-24-24-24s-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152zm96 0c0-13.3-10.7-24-24-24s-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152zm21.8 293.8c-3.8 6.7-5.8 14.2-5.8 21.9c0 24.5 19.8 44.3 44.3 44.3H595.7c24.5 0 44.3-19.8 44.3-44.3c0-7.7-2-15.2-5.8-21.9l-150.4-265C476.5 168 462.8 160 448 160s-28.5 8-35.8 20.9l-150.4 265zM464 272v88c0 8.8-7.2 16-16 16s-16-7.2-16-16V272c0-8.8 7.2-16 16-16s16 7.2 16 16zM448 408a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faSensorAlert = faSensorTriangleExclamation;\nvar faMagnifyingGlassArrowRight = {\n prefix: 'far',\n iconName: 'magnifying-glass-arrow-right',\n icon: [512, 512, [], \"e521\", \"M208 48a160 160 0 1 1 0 320 160 160 0 1 1 0-320zm0 368c48.8 0 93.7-16.8 129.1-44.9L471 505c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L371.1 337.1C399.2 301.7 416 256.8 416 208C416 93.1 322.9 0 208 0S0 93.1 0 208S93.1 416 208 416zm33-289c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l23 23H128c-13.3 0-24 10.7-24 24s10.7 24 24 24H230.1l-23 23c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l64-64c9.4-9.4 9.4-24.6 0-33.9l-64-64z\"]\n};\nvar faTachographDigital = {\n prefix: 'far',\n iconName: 'tachograph-digital',\n icon: [640, 512, [\"digital-tachograph\"], \"f566\", \"M64 112c-8.8 0-16 7.2-16 16V384c0 8.8 7.2 16 16 16H576c8.8 0 16-7.2 16-16V128c0-8.8-7.2-16-16-16H64zM0 128C0 92.7 28.7 64 64 64H576c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128zm112 16H336c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32H112c-17.7 0-32-14.3-32-32V176c0-17.7 14.3-32 32-32zM80 352c0-8.8 7.2-16 16-16H352c8.8 0 16 7.2 16 16s-7.2 16-16 16H96c-8.8 0-16-7.2-16-16zm320 0c0-8.8 7.2-16 16-16H544c8.8 0 16 7.2 16 16s-7.2 16-16 16H416c-8.8 0-16-7.2-16-16zM96 272a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm80-16a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm80-16a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faDigitalTachograph = faTachographDigital;\nvar faFaceMask = {\n prefix: 'far',\n iconName: 'face-mask',\n icon: [576, 512, [], \"e37f\", \"M128 388.9c-27.6-33.2-45.1-75.1-47.7-121l50.1 26.7c-1.6 5.5-2.4 11.4-2.4 17.4v76.9zM36.4 208.6c-7.1-2-14.9 1.1-18.5 7.9c-4.2 7.8-1.2 17.5 6.6 21.6l7.9 4.2c-.2 4.5-.4 9.1-.4 13.7c0 141.4 114.6 256 256 256s256-114.6 256-256c0-4.6-.1-9.1-.4-13.7l7.9-4.2c7.8-4.2 10.7-13.8 6.6-21.6c-3.6-6.8-11.4-9.9-18.5-7.9C517.4 89.9 413.2 0 288 0S58.6 89.9 36.4 208.6zm45 23.6C93.2 128.5 181.2 48 288 48s194.8 80.5 206.7 184.2L429.5 267c-11.6-11.7-27.7-19-45.5-19H192c-17.8 0-33.9 7.2-45.5 19L81.3 232.2zm414.3 35.7c-2.6 45.9-20.1 87.8-47.7 121V312c0-6-.8-11.9-2.4-17.4l50.1-26.7zM170.4 207.4c4.8-5.7 26.7-23.4 61.6-23.4c13.3 0 24-10.7 24-24s-10.7-24-24-24c-50.4 0-85.4 25-98.4 40.6c-8.5 10.2-7.1 25.3 3.1 33.8s25.3 7.1 33.8-3.1zM176 312c0-8.8 7.2-16 16-16H384c8.8 0 16 7.2 16 16v8H176v-8zm0 40H400v32H176V352zm0 64H400c0 13.3-10.7 24-24 24H288 200c-13.3 0-24-10.7-24-24zM344 184c36.4 0 58.7 15.3 63 19.6c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9c-13.5-13.5-48.1-33.7-97-33.7c-13.3 0-24 10.7-24 24s10.7 24 24 24z\"]\n};\nvar faPickleball = {\n prefix: 'far',\n iconName: 'pickleball',\n icon: [576, 512, [], \"e435\", \"M284.3 61.9c18.8-18.7 49.2-18.7 68 0L465.9 175.2c14.8 14.8 17.9 36.9 9.3 54.7c15.7 4.4 30.4 11.1 43.8 19.8c16.6-35.5 10.3-79.1-19.1-108.4L386.3 28C348.8-9.4 287.9-9.4 250.4 28L92.5 185.5c-22.9 22.9-29.8 57.3-17.3 87.2l18.3 43.8c5 12 2.2 25.7-6.9 34.9L34.8 402.9c-25 24.9-25 65.4 0 90.4s65.6 25 90.7 0l52-51.8c9.1-9.1 22.9-11.8 34.8-7l42.5 17.4c11.4 4.7 23.4 6.6 35.2 5.8c-8-15.3-13.6-32.1-16.2-49.9c-.3-.1-.5-.2-.8-.3l-42.5-17.4c-29.9-12.2-64.2-5.4-87.1 17.4l-52 51.8c-6.3 6.2-16.4 6.2-22.7 0c-6.3-6.2-6.2-16.3 0-22.6l51.7-51.5c23-22.9 29.8-57.3 17.3-87.2l-18.3-43.8c-4.5-10.9-2.7-23.3 4.6-32.3l148.4 148c1.7-19 6.6-37 14.3-53.5L158 187.9l126.3-126zM560 384a128 128 0 1 0 -256 0 128 128 0 1 0 256 0zM368 368a16 16 0 1 1 -32 0 16 16 0 1 1 32 0zm48 112a16 16 0 1 1 0-32 16 16 0 1 1 0 32zm32-96a16 16 0 1 1 -32 0 16 16 0 1 1 32 0zm64 32a16 16 0 1 1 0-32 16 16 0 1 1 0 32zM464 304a16 16 0 1 1 -32 0 16 16 0 1 1 32 0z\"]\n};\nvar faStarSharpHalf = {\n prefix: 'far',\n iconName: 'star-sharp-half',\n icon: [576, 512, [], \"e28c\", \"M291.7 .3C303.4 2.1 312 12.2 312 24V376c0 7.4-3.4 14.4-9.3 18.9l-144 112c-8.3 6.5-19.8 6.8-28.5 .7s-12.3-16.9-9.1-27l50.9-160.1L41.3 218.9c-8.1-6.3-11.3-17-8-26.7S45.7 176 56 176H214.5L265.1 16.7C268.7 5.4 280-1.5 291.7 .3zM264 178.6l-9.1 28.7c-3.2 10-12.4 16.7-22.9 16.7H126l88.8 69.1c7.9 6.2 11.2 16.6 8.1 26.2L190.3 421.6 264 364.3V178.6z\"]\n};\nvar faUsersSlash = {\n prefix: 'far',\n iconName: 'users-slash',\n icon: [640, 512, [], \"e073\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L440.6 320H618.7c11.8 0 21.3-9.6 21.3-21.3C640 239.8 592.2 192 533.3 192H490.7c-15.9 0-31 3.5-44.6 9.7c1.3 7.2 1.9 14.7 1.9 22.3c0 30.2-10.5 58-28 79.9l-25.2-19.7C408.1 267.7 416 246.8 416 224c0-53-43-96-96-96c-31.1 0-58.7 14.8-76.3 37.7l-40.6-31.8c13-14.2 20.9-33.1 20.9-53.9c0-44.2-35.8-80-80-80C116.3 0 91.9 14.1 77.5 35.5L38.8 5.1zM281.5 195.3c8.8-11.7 22.7-19.3 38.5-19.3c26.5 0 48 21.5 48 48c0 11.6-4.1 22.2-11 30.5l-75.5-59.2zM106.7 192C47.8 192 0 239.8 0 298.7C0 310.4 9.6 320 21.3 320H234.7c.2 0 .4 0 .7 0c-20.6-18.2-35.2-42.8-40.8-70.8L121.8 192H106.7zM261.3 352C187.7 352 128 411.7 128 485.3c0 14.7 11.9 26.7 26.7 26.7H485.3c10.5 0 19.5-6 23.9-14.8l-49.7-39.1c.7 1.9 1.2 3.9 1.8 5.9H178.7c9.5-36.8 42.9-64 82.6-64H378.7c2.6 0 5.1 .1 7.6 .3L324.9 352H261.3zM512 160A80 80 0 1 0 512 0a80 80 0 1 0 0 160z\"]\n};\nvar faClover = {\n prefix: 'far',\n iconName: 'clover',\n icon: [448, 512, [], \"e139\", \"M174.4 80c-14.4 0-26 11.7-26 26c0 6.6 1.7 13.2 5 18.9l35.6 63.2c5.3 9.4 3.7 21.1-3.9 28.8s-19.4 9.2-28.8 3.9L93 185.3c-5.8-3.3-12.3-5-18.9-5c-14.4 0-26 11.7-26 26V209c0 7.6 3 14.9 8.4 20.3l9.8 9.8c4.5 4.5 7 10.6 7 17s-2.5 12.5-7 17l-9.8 9.8C51 288.2 48 295.4 48 303v2.6c0 14.4 11.7 26 26 26c6.6 0 13.2-1.7 18.9-5l63.2-35.6c9.4-5.3 21.1-3.7 28.8 3.9s9.2 19.4 3.9 28.8L153.3 387c-3.3 5.8-5 12.3-5 18.9c0 14.4 11.7 26 26 26H177c7.6 0 14.9-3 20.3-8.4l9.8-9.8c4.5-4.5 10.6-7 17-7s12.5 2.5 17 7l9.8 9.8c5.4 5.4 12.7 8.4 20.3 8.4h2.6c14.4 0 26-11.7 26-26c0-6.6-1.7-13.2-5-18.9l-35.6-63.2c-5.3-9.4-3.7-21.1 3.9-28.8s19.4-9.2 28.8-3.9L355 326.7c5.8 3.3 12.3 5 18.9 5c14.4 0 26-11.7 26-26V303c0-7.6-3-14.9-8.4-20.3l-9.8-9.8c-4.5-4.5-7-10.6-7-17s2.5-12.5 7-17l9.8-9.8c5.4-5.4 8.4-12.7 8.4-20.3v-2.8c0-14.3-11.6-25.9-25.9-25.9c-6.7 0-13.3 1.7-19.1 5.1l-61.9 35.5c-9.3 5.3-21.1 3.8-28.7-3.7s-9.4-19.2-4.2-28.7l34.7-63.4c3.1-5.7 4.8-12.2 4.8-18.7c0-14.6-11.8-26.4-26.4-26.4H271c-7.6 0-14.9 3-20.3 8.4L241 98.2c-4.5 4.5-10.6 7-17 7s-12.5-2.5-17-7l-9.8-9.8C191.8 83 184.6 80 177 80h-2.6zm173.3 26.4c0 11.1-2.1 22.1-6.3 32.4c10.3-4.2 21.4-6.4 32.7-6.4c40.8 0 73.9 33.1 73.9 73.9V209c0 17.1-5.7 33.7-16.1 47c10.4 13.4 16.1 29.9 16.1 47v2.6c0 40.9-33.2 74-74 74c-11.2 0-22.3-2.2-32.7-6.4c4.2 10.3 6.4 21.4 6.4 32.7c0 40.9-33.2 74-74 74H271c-17.1 0-33.7-5.7-47-16.1c-13.4 10.4-29.9 16.1-47 16.1h-2.6c-40.9 0-74-33.2-74-74c0-11.2 2.2-22.3 6.4-32.7c-10.3 4.2-21.4 6.4-32.7 6.4c-40.9 0-74-33.2-74-74V303c0-17.1 5.7-33.7 16.1-47C5.7 242.6 0 226.1 0 209v-2.6c0-40.9 33.2-74 74-74c11.2 0 22.3 2.2 32.7 6.4c-4.2-10.3-6.4-21.4-6.4-32.7c0-40.9 33.2-74 74-74H177c17.1 0 33.7 5.7 47 16.1C237.4 37.7 253.9 32 271 32h2.3c41.1 0 74.4 33.3 74.4 74.4z\"]\n};\nvar faMeat = {\n prefix: 'far',\n iconName: 'meat',\n icon: [512, 512, [127830], \"f814\", \"M443.2 138.7c8.1 13.4 13.9 26.9 17.3 39.8c.5 1.9 .9 3.8 1.3 5.7c2.4 11.6 2.8 22.5 .9 32.1c-1.9 10.1-6.2 18.8-13 25.6l-.2 .2c-29 28.7-92.5 11.9-142-37.6C258 154.8 241.2 91.1 270.2 62.2c1.8-1.8 3.7-3.4 5.8-4.8c.7-.5 1.3-.9 2-1.3c3-1.9 6.3-3.5 9.8-4.7c.6-.2 1.2-.4 1.9-.6c32.7-10.1 82.4 8.5 122.8 48.9c12.4 12.4 22.8 25.7 30.8 39.1zM388.8 302.1C363 323.9 330.1 336 296 336H208c-17.7 0-32-14.3-32-32V216c0-34.1 12.1-67 33.9-92.8c.8 5 1.9 9.9 3.1 14.6c9.3 35.3 30.9 70.9 60.6 100.6s65.3 51.4 100.6 60.6c4.7 1.2 9.6 2.3 14.6 3.1zM212.6 384H296c50.9 0 99.8-20.2 135.8-56.2L483.5 276c.1-.1 .2-.2 .3-.3c23.7-23.7 29.9-54.3 27.8-82.5c-.7-9.4-2.3-18.5-4.6-27c-5.8-22-16.4-44.1-30.7-64.8c-8.7-12.5-18.7-24.6-30-35.8C416.6 35.9 381.1 14.3 345.8 5c-34-8.9-78-8.3-109.5 23.2l-52 52c-36 36-56.2 84.8-56.2 135.8v83.4c0 7.1-2.8 13.9-7.8 18.9c-10.3 10.3-26.9 9.7-40.7 5C73.4 321.1 66.8 320 60 320c-33.1 0-60 26.9-60 60s26.9 60 60 60c6.3 0 12 5.7 12 12c0 33.1 26.9 60 60 60s60-26.9 60-60c0-6.8-1.1-13.4-3.2-19.5c-4.7-13.8-5.3-30.4 5-40.7c5-5 11.8-7.8 18.9-7.8zm175-204.4c8.9-8.9 3.8-28.5-11.5-43.8s-34.9-20.4-43.8-11.5s-3.8 28.5 11.5 43.8s34.9 20.4 43.8 11.5z\"]\n};\nvar faReply = {\n prefix: 'far',\n iconName: 'reply',\n icon: [512, 512, [61714, \"mail-reply\"], \"f3e5\", \"M224 240h96c66.2 0 122 44.7 138.8 105.5c3.3-12.4 5.2-26.2 5.2-41.5c0-70.7-57.3-128-128-128H224 200c-13.3 0-24-10.7-24-24V128 99.9L55.9 208 176 316.1V288 264c0-13.3 10.7-24 24-24h24zm0 48v48 16c0 12.6-7.4 24.1-19 29.2s-25 3-34.4-5.4l-160-144C3.9 225.7 0 217.1 0 208s3.9-17.7 10.6-23.8l160-144c9.4-8.5 22.9-10.6 34.4-5.4s19 16.6 19 29.2V80v48h48 64c97.2 0 176 78.8 176 176c0 78-38.6 126.2-68.7 152.1c-4.1 3.5-8.1 6.6-11.7 9.3c-3.2 2.4-6.2 4.4-8.9 6.2c-4.5 3-8.3 5.1-10.8 6.5c-2.5 1.4-5.3 1.9-8.1 1.9c-10.9 0-19.7-8.9-19.7-19.7c0-6.8 3.6-13.2 8.3-18.1c.5-.5 .9-.9 1.4-1.4c2.4-2.3 5.1-5.1 7.7-8.6c1.7-2.3 3.4-5 5-7.9c5.3-9.7 9.5-22.9 9.5-40.2c0-53-43-96-96-96H272 224z\"]\n};\nvar faMailReply = faReply;\nvar faStarAndCrescent = {\n prefix: 'far',\n iconName: 'star-and-crescent',\n icon: [512, 512, [9770], \"f699\", \"M40 256c0 95.9 62.5 177.2 149 205.4C123.2 416.8 80 341.4 80 256s43.2-160.8 109-205.4C102.5 78.8 40 160.1 40 256zM256 0c22.2 0 43.7 2.8 64.2 8.1c2.6 .7 5.2 1.4 7.8 2.1c1.4 .4 2.8 .8 4.2 1.3c4.3 1.3 8.5 2.8 12.7 4.3c1.6 .6 3.1 1.2 4.7 1.8c7.4 2.9 11.5 10.7 9.8 18.4s-8.8 13-16.7 12.4c-1.7-.1-3.4-.2-5-.3c-3.2-.1-6.4-.2-9.6-.2c-.9 0-1.7 0-2.6 0c-3.2 0-6.5 .2-9.7 .3C206.6 54.7 120 145.2 120 256s86.6 201.3 195.7 207.6c3.2 .2 6.4 .3 9.7 .3c.9 0 1.7 0 2.6 0c3.2 0 6.4-.1 9.6-.2c1.7-.1 3.4-.2 5-.3c7.9-.5 15 4.7 16.7 12.4s-2.4 15.5-9.8 18.4c-1.6 .6-3.1 1.2-4.7 1.8c-4.2 1.6-8.4 3-12.7 4.3c-1.4 .4-2.8 .8-4.2 1.3c-2.6 .8-5.2 1.5-7.8 2.1c-20.5 5.3-42 8.1-64.2 8.1C114.6 512 0 397.4 0 256S114.6 0 256 0zM357.2 174.2l1.7-3.4 10.9-22.2 5.5-11.2c3.5-7.1 13.7-7.1 17.2 0l5.5 11.2 10.9 22.2 1.7 3.4 13.3 27c1.4 2.8 4.1 4.8 7.2 5.3l29.8 4.3 3.7 .5 24.5 3.6 12.4 1.8c7.9 1.1 11 10.8 5.3 16.4l-9 8.7-17.7 17.3-2.7 2.6-21.6 21c-2.3 2.2-3.3 5.4-2.8 8.5l5.1 29.7 .6 3.7 4.2 24.4 2.1 12.3c1.3 7.8-6.9 13.8-13.9 10.1l-11.1-5.8-21.9-11.5-3.3-1.7-26.6-14c-2.8-1.5-6.1-1.5-8.9 0l-26.6 14-3.3 1.7-21.9 11.5-11.1 5.8c-7 3.7-15.3-2.3-13.9-10.1l2.1-12.3 4.2-24.4 .6-3.7 5.1-29.7c.5-3.1-.5-6.3-2.8-8.5l-21.6-21-2.7-2.6-17.7-17.3-9-8.7c-5.7-5.6-2.6-15.2 5.3-16.4l12.4-1.8 24.5-3.6 3.7-.5 29.8-4.3c3.1-.5 5.8-2.4 7.2-5.3l13.3-27zm-7.7 78.6a36.3 36.3 0 1 0 69 22.4 36.3 36.3 0 1 0 -69-22.4z\"]\n};\nvar faEmptySet = {\n prefix: 'far',\n iconName: 'empty-set',\n icon: [512, 512, [8709, 216], \"f656\", \"M505 41c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L396.5 81.5C358.1 50.6 309.2 32 256 32C132.3 32 32 132.3 32 256c0 53.2 18.6 102.1 49.5 140.5L7 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l74.5-74.5c38.4 31 87.3 49.5 140.5 49.5c123.7 0 224-100.3 224-224c0-53.2-18.6-102.1-49.5-140.5L505 41zM362.3 115.7L115.7 362.3C93.3 332.8 80 295.9 80 256c0-97.2 78.8-176 176-176c39.9 0 76.8 13.3 106.3 35.7zM149.7 396.3L396.3 149.7C418.7 179.2 432 216.1 432 256c0 97.2-78.8 176-176 176c-39.9 0-76.8-13.3-106.3-35.7z\"]\n};\nvar faHouseFire = {\n prefix: 'far',\n iconName: 'house-fire',\n icon: [640, 512, [], \"e50c\", \"M272.5 5.7c9-7.6 22.1-7.6 31.1 0L447.9 128.2c-12.5-1.1-25.5 2.8-35.4 11.7c-4.1 3.6-8 7.3-12 11L288 55.5 112 204.8V432c0 17.7 14.3 32 32 32h48V312c0-22.1 17.9-40 40-40h77c-7.7 15.7-13.8 32-17.4 48H240V464h84.8c13.5 18.8 30.3 35.1 49.6 48H144c-44.2 0-80-35.8-80-80V245.5L39.5 266.3c-10.1 8.6-25.3 7.3-33.8-2.8s-7.3-25.3 2.8-33.8l264-224zM480 512c-88.4 0-160-71.6-160-160c0-76.7 62.5-144.7 107.2-179.4c5-3.9 10.9-5.8 16.8-5.8c7.9-.1 16 3.1 22 9.2l46 46 11.3-11.3c11.7-11.7 30.6-12.7 42.3-1C624.5 268 640 320.2 640 352c0 88.4-71.6 160-160 160zm64-111.8c0-36.5-37-73-54.8-88.4c-5.4-4.7-13.1-4.7-18.5 0C453 327.1 416 363.6 416 400.2c0 35.3 28.7 64 64 64s64-28.7 64-64z\"]\n};\nvar faSquareMinus = {\n prefix: 'far',\n iconName: 'square-minus',\n icon: [448, 512, [61767, \"minus-square\"], \"f146\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM152 232H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faMinusSquare = faSquareMinus;\nvar faHelicopter = {\n prefix: 'far',\n iconName: 'helicopter',\n icon: [640, 512, [128641], \"f533\", \"M152 0c-13.3 0-24 10.7-24 24s10.7 24 24 24H336v80H137.9L86.7 76.8C78.5 68.6 67.4 64 55.9 64C28.4 64 7.8 89.2 13.2 116.1l16.1 80.3c3.6 17.8 15.6 32.8 32.2 40.2l124.8 55.5 77.4 77.4c19.5 19.5 46 30.5 73.5 30.5H504c39.8 0 72-32.2 72-72V280c0-83.9-68.1-152-152-152H384V48H552c13.3 0 24-10.7 24-24s-10.7-24-24-24H152zM128 176H336V352c-14.4-.3-28.2-6.2-38.5-16.4L217 255c-2.1-2.1-4.5-3.8-7.2-5L80.9 192.8c-2.4-1.1-4.1-3.2-4.6-5.7L63.1 121 111 169c4.5 4.5 10.6 7 17 7zM504 352H384V176h40c57.4 0 104 46.6 104 104v48c0 13.3-10.7 24-24 24zM631 474.7c10.4-8.3 12-23.4 3.7-33.7s-23.4-12-33.7-3.8l-26.9 21.5c-4.3 3.4-9.5 5.3-15 5.3H248c-13.3 0-24 10.7-24 24s10.7 24 24 24H559.2c16.3 0 32.2-5.6 45-15.8L631 474.7z\"]\n};\nvar faBird = {\n prefix: 'far',\n iconName: 'bird',\n icon: [512, 512, [], \"e469\", \"M48.7 208H192c44.2 0 80-35.8 80-80V112c0-35.3 28.7-64 64-64s64 28.7 64 64v80c0 97.2-78.8 176-176 176c-91.8 0-167.2-70.3-175.3-160zM0 188.4V192C0 294.3 68.5 380.5 162.1 407.4l48.6 91.9c6.2 11.7 20.7 16.2 32.4 10s16.2-20.7 10-32.4L221 416c1 0 2 0 3 0c12.6 0 25-1 37.1-3.1l45.7 86.3c6.2 11.7 20.7 16.2 32.4 10s16.2-20.7 10-32.4l-40.9-77.2C390.3 366.3 448 285.9 448 192V175.5l56.2-33.7c4.8-2.9 7.8-8.1 7.8-13.7s-2.9-10.8-7.8-13.7l-61.7-37C427.9 32.4 385.7 0 336 0C274.1 0 224 50.1 224 112v16c0 17.7-14.3 32-32 32H28.4C12.7 160 0 172.7 0 188.4zM336 144a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faCompass = {\n prefix: 'far',\n iconName: 'compass',\n icon: [512, 512, [129517], \"f14e\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm306.7 69.1L162.4 380.6c-19.4 7.5-38.5-11.6-31-31l55.5-144.3c3.3-8.5 9.9-15.1 18.4-18.4l144.3-55.5c19.4-7.5 38.5 11.6 31 31L325.1 306.7c-3.2 8.5-9.9 15.1-18.4 18.4zM288 256a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faSquareCaretDown = {\n prefix: 'far',\n iconName: 'square-caret-down',\n icon: [448, 512, [\"caret-square-down\"], \"f150\", \"M384 432c8.8 0 16-7.2 16-16l0-320c0-8.8-7.2-16-16-16L64 80c-8.8 0-16 7.2-16 16l0 320c0 8.8 7.2 16 16 16l320 0zm64-16c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l320 0c35.3 0 64 28.7 64 64l0 320zM224 352c-6.7 0-13-2.8-17.6-7.7l-104-112c-6.5-7-8.2-17.2-4.4-25.9s12.5-14.4 22-14.4l208 0c9.5 0 18.2 5.7 22 14.4s2.1 18.9-4.4 25.9l-104 112c-4.5 4.9-10.9 7.7-17.6 7.7z\"]\n};\nvar faCaretSquareDown = faSquareCaretDown;\nvar faHeartHalfStroke = {\n prefix: 'far',\n iconName: 'heart-half-stroke',\n icon: [512, 512, [\"heart-half-alt\"], \"e1ac\", \"M223.3 465.9l2.5 2.3c8.2 7.6 19 11.9 30.2 11.9s22-4.2 30.2-11.9l2.5-2.3L463.9 303.2c30.7-28.5 48.1-68.5 48.1-110.4v-3.3c0-70.4-50-130.8-119.2-144C353.4 37.9 313.1 47 281 69.6l0 0c-4 2.8-7.8 5.8-11.5 9c-4.7 4.1-9.3 8.5-13.5 13.3c-7.5-8.4-15.9-15.9-25-22.3C198.9 47 158.6 37.9 119.2 45.4C50 58.6 0 119.1 0 189.5v3.3c0 41.9 17.4 81.9 48.1 110.4L223.3 465.9zM256 430.7L256 152c6.4 0 12.4-2.5 16.9-7c.4-.3 .7-.7 1-1.1l17.8-20 .1-.1 .1-.1c23.1-25.9 58-37.7 92-31.2c46.5 8.9 80.1 49.5 80.1 96.9v3.3c0 28.5-11.9 55.8-32.8 75.2L256 430.7z\"]\n};\nvar faHeartHalfAlt = faHeartHalfStroke;\nvar faFileCircleQuestion = {\n prefix: 'far',\n iconName: 'file-circle-question',\n icon: [576, 512, [], \"e4ef\", \"M64 464H284.5c12 18.4 27.4 34.5 45.3 47.3c-3.2 .5-6.4 .7-9.7 .7H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3v44.1c-17.2 4.9-33.4 12.3-48 21.8V160H256c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16zM432 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm0 240a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM368 321.6V328c0 8.8 7.2 16 16 16s16-7.2 16-16v-6.4c0-5.3 4.3-9.6 9.6-9.6h40.5c7.7 0 13.9 6.2 13.9 13.9c0 5.2-2.9 9.9-7.4 12.3l-32 16.8c-5.3 2.8-8.6 8.2-8.6 14.2V384c0 8.8 7.2 16 16 16s16-7.2 16-16v-5.1l23.5-12.3c15.1-7.9 24.5-23.6 24.5-40.6c0-25.4-20.6-45.9-45.9-45.9H409.6c-23 0-41.6 18.6-41.6 41.6z\"]\n};\nvar faTruckUtensils = {\n prefix: 'far',\n iconName: 'truck-utensils',\n icon: [640, 512, [], \"e628\", \"M64 48c-8.8 0-16 7.2-16 16V352c0 8.8 7.2 16 16 16H76.8c16.6-28.7 47.6-48 83.2-48s66.6 19.3 83.2 48H320h32c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H64zM480 512c-53 0-96-43-96-96h-8H352 320 256c0 53-43 96-96 96s-96-43-96-96c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H352c35.3 0 64 28.7 64 64V96h42.7c14.9 0 29.1 5.9 39.6 16.4l93.3 93.3c10.5 10.5 16.4 24.7 16.4 39.6V368h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H576c0 53-43 96-96 96zm78-272c-.1-.1-.2-.3-.4-.4l-93.3-93.3c-1.5-1.5-3.5-2.3-5.7-2.3H416v96H558zM160 464a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm368-48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM96 174.9l9.5-81.4c.7-5.9 5.6-10.3 11.6-10.3c6.2 0 11.3 4.8 11.6 11l4.4 75.5c.2 3 2.6 5.3 5.6 5.3s5.5-2.3 5.6-5.3l4.4-75.8c.3-6 5.3-10.6 11.3-10.6s10.9 4.7 11.3 10.6l4.4 75.8c.2 3 2.6 5.3 5.6 5.3s5.5-2.3 5.6-5.3l4.4-75.5c.4-6.2 5.5-11 11.6-11c5.9 0 10.9 4.4 11.6 10.3l9.5 81.4c0 29.4-20.5 54-48 60.3V272c0 8.8-7.2 16-16 16s-16-7.2-16-16V235.2c-27.5-6.3-48-30.9-48-60.3zM272 304V240c-17.7 0-32-14.3-32-32v-37c0-63.1 41.3-86 50.3-90.2c1.1-.5 2.3-.8 3.6-.8c5.6 0 10.1 4.5 10.1 10.1V128 240v64c0 8.8-7.2 16-16 16s-16-7.2-16-16z\"]\n};\nvar faLaptopCode = {\n prefix: 'far',\n iconName: 'laptop-code',\n icon: [640, 512, [], \"f5fc\", \"M128 80H512c8.8 0 16 7.2 16 16V320h48V96c0-35.3-28.7-64-64-64H128C92.7 32 64 60.7 64 96V320h48V96c0-8.8 7.2-16 16-16zM50.7 400H589.3c-6.6 18.6-24.4 32-45.3 32H96c-20.9 0-38.7-13.4-45.3-32zM32 352c-17.7 0-32 14.3-32 32c0 53 43 96 96 96H544c53 0 96-43 96-96c0-17.7-14.3-32-32-32H32zM281 177c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-48 48c-9.4 9.4-9.4 24.6 0 33.9l48 48c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-31-31 31-31zM393 143c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l31 31-31 31c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l48-48c9.4-9.4 9.4-24.6 0-33.9l-48-48z\"]\n};\nvar faJoystick = {\n prefix: 'far',\n iconName: 'joystick',\n icon: [448, 512, [128377], \"f8c5\", \"M224 48a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm24 173.4c50.3-11 88-55.8 88-109.4C336 50.1 285.9 0 224 0S112 50.1 112 112c0 53.6 37.7 98.4 88 109.4V320h48V221.4zM96 320c-17.7 0-32 14.3-32 32c-35.3 0-64 28.7-64 64v32c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V416c0-35.3-28.7-64-64-64H128c0-17.7-14.3-32-32-32zm0 80H384c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V416c0-8.8 7.2-16 16-16H96z\"]\n};\nvar faGrillFire = {\n prefix: 'far',\n iconName: 'grill-fire',\n icon: [576, 512, [], \"e5a4\", \"M48 80l0 16c0 97.2 78.8 176 176 176c7.3 0 14.5-.4 21.6-1.3c-8 16.2-14.3 32.8-18.1 49.3c-1.2 0-2.4 0-3.6 0c-16.9 0-33.4-1.9-49.3-5.4L151.8 368l73 0c1.5 16.6 5.2 32.7 10.7 48L160 416c0 35.3-28.7 64-64 64s-64-28.7-64-64s28.7-64 64-64c3.4 0 6.8 .3 10.1 .8L129.2 299C52.9 263.3 0 185.8 0 96L0 72C0 49.9 17.9 32 40 32l368 0c22.1 0 40 17.9 40 40l0 24c0 24.1-3.8 47.3-10.9 69.1c-8.5-8.6-17.2-17-26.2-25.1c-4.3-3.9-9.3-6.9-14.5-8.9C398.8 119.8 400 108 400 96l0-16L48 80zm72 336a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm296 96c-88.4 0-160-71.6-160-160c0-76.7 62.5-144.7 107.2-179.4c5-3.9 10.9-5.8 16.8-5.8c7.9-.1 16 3.1 22 9.2l46 46 11.3-11.3c11.7-11.7 30.6-12.7 42.3-1C560.5 268 576 320.2 576 352c0 88.4-71.6 160-160 160zm64-111.8c0-36.5-37-73-54.8-88.4c-5.4-4.7-13.1-4.7-18.5 0C389 327.1 352 363.6 352 400.2c0 35.3 28.7 64 64 64s64-28.7 64-64z\"]\n};\nvar faRectangleVerticalHistory = {\n prefix: 'far',\n iconName: 'rectangle-vertical-history',\n icon: [576, 512, [], \"e237\", \"M256 48c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H512c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H256zM192 64c0-35.3 28.7-64 64-64H512c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H256c-35.3 0-64-28.7-64-64V64zM96 72c0-13.3 10.7-24 24-24s24 10.7 24 24V440c0 13.3-10.7 24-24 24s-24-10.7-24-24V72zM0 120c0-13.3 10.7-24 24-24s24 10.7 24 24V392c0 13.3-10.7 24-24 24s-24-10.7-24-24V120z\"]\n};\nvar faSwatchbook = {\n prefix: 'far',\n iconName: 'swatchbook',\n icon: [512, 512, [], \"f5c3\", \"M0 400c0 61.9 50.1 112 112 112H448c35.3 0 64-28.7 64-64V352c0-35.3-28.7-64-64-64H385.9l50.7-50.7c25-25 25-65.5 0-90.5L365.3 75.3c-25-25-65.5-25-90.5 0L224 126.1V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V400zm448 64H209.9l128-128H448c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16zM402.7 203.3L224 382.1V193.9l84.7-84.7c6.2-6.2 16.4-6.2 22.6 0l71.4 71.4c6.2 6.2 6.2 16.4 0 22.6zM112 464c-35.3 0-64-28.7-64-64V304H176v96c0 35.3-28.7 64-64 64zM48 256V176H176v80H48zm0-128V64c0-8.8 7.2-16 16-16l96 0c8.8 0 16 7.2 16 16v64H48zm64 296a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faPrescriptionBottle = {\n prefix: 'far',\n iconName: 'prescription-bottle',\n icon: [384, 512, [], \"f485\", \"M48 48H336V80H48V48zM40 0C17.9 0 0 17.9 0 40V88c0 22.1 17.9 40 40 40H344c22.1 0 40-17.9 40-40V40c0-22.1-17.9-40-40-40H40zM32 160V448c0 35.3 28.7 64 64 64H288c35.3 0 64-28.7 64-64V160H304V448c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V416h56c13.3 0 24-10.7 24-24s-10.7-24-24-24H80V320h56c13.3 0 24-10.7 24-24s-10.7-24-24-24H80V224h56c13.3 0 24-10.7 24-24s-10.7-24-24-24H80V160H32z\"]\n};\nvar faBars = {\n prefix: 'far',\n iconName: 'bars',\n icon: [448, 512, [\"navicon\"], \"f0c9\", \"M0 88C0 74.7 10.7 64 24 64H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H24C10.7 112 0 101.3 0 88zM0 248c0-13.3 10.7-24 24-24H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24zM448 408c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H424c13.3 0 24 10.7 24 24z\"]\n};\nvar faNavicon = faBars;\nvar faKeyboardLeft = {\n prefix: 'far',\n iconName: 'keyboard-left',\n icon: [640, 512, [], \"e1c3\", \"M576 112c8.8 0 16 7.2 16 16V384c0 8.8-7.2 16-16 16H224c-8.8 0-16-7.2-16-16V128c0-8.8 7.2-16 16-16H576zM224 64c-35.3 0-64 28.7-64 64V384c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H224zm80 272v16c0 8.8 7.2 16 16 16H480c8.8 0 16-7.2 16-16V336c0-8.8-7.2-16-16-16H320c-8.8 0-16 7.2-16 16zm48-104c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V248c0-8.8-7.2-16-16-16H352zM248 248v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V248c0-8.8-7.2-16-16-16H264c-8.8 0-16 7.2-16 16zm16-96c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V168c0-8.8-7.2-16-16-16H264zm72 16v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V168c0-8.8-7.2-16-16-16H352c-8.8 0-16 7.2-16 16zm96-16c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V168c0-8.8-7.2-16-16-16H432zm72 16v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V168c0-8.8-7.2-16-16-16H520c-8.8 0-16 7.2-16 16zm16 64c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V248c0-8.8-7.2-16-16-16H520zM416 248v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V248c0-8.8-7.2-16-16-16H432c-8.8 0-16 7.2-16 16zM121 193c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L7 239c-9.4 9.4-9.4 24.6 0 33.9l80 80c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-63-63 63-63z\"]\n};\nvar faPeopleGroup = {\n prefix: 'far',\n iconName: 'people-group',\n icon: [640, 512, [], \"e533\", \"M128 128a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-16 32C50.1 160 0 210.1 0 272c0 44.7 26.2 83.2 64 101.2V416c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V384c0-13.3-10.7-24-24-24s-24 10.7-24 24v16H112l0-16V336l0-128h32c12.6 0 24.3 3.6 34.2 9.9c7.9-14.2 18.1-26.9 30.2-37.6C190.2 167.5 168 160 144 160H112zM64 229.7v84.7C54 303.1 48 288.2 48 272s6-31.1 16-42.3zM496 208h32V336v48 16H496V384c0-13.3-10.7-24-24-24s-24 10.7-24 24v32c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V373.2c37.8-18 64-56.5 64-101.2c0-61.9-50.1-112-112-112H496c-24 0-46.2 7.5-64.4 20.3c12 10.7 22.3 23.4 30.2 37.6c9.9-6.3 21.6-9.9 34.2-9.9zm96 64c0 16.2-6 31.1-16 42.3V229.7c10 11.3 16 26.1 16 42.3zM560 80a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM320 144a56 56 0 1 0 0-112 56 56 0 1 0 0 112zm-16 32c-61.9 0-112 50.1-112 112c0 44.7 26.2 83.2 64 101.2V448c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V389.2c37.8-18 64-56.5 64-101.2c0-61.9-50.1-112-112-112H304zm0 224V352 224h32l0 128v48 32H304V400zm-48-69.7c-10-11.3-16-26.1-16-42.3s6-31.1 16-42.3v84.7zm128 0V245.7c10 11.3 16 26.1 16 42.3s-6 31.1-16 42.3z\"]\n};\nvar faHourglassEnd = {\n prefix: 'far',\n iconName: 'hourglass-end',\n icon: [384, 512, [8987, \"hourglass-3\"], \"f253\", \"M0 24C0 10.7 10.7 0 24 0H360c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8V67c0 40.3-16 79-44.5 107.5L225.9 256l81.5 81.5C336 366 352 404.7 352 445v19h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24h8V445c0-40.3 16-79 44.5-107.5L158.1 256 76.5 174.5C48 146 32 107.3 32 67V48H24C10.7 48 0 37.3 0 24zM273.5 140.5C293 121 304 94.6 304 67V48H80V67c0 27.6 11 54 30.5 73.5L192 222.1l81.5-81.5z\"]\n};\nvar faHourglass3 = faHourglassEnd;\nvar faHeartCrack = {\n prefix: 'far',\n iconName: 'heart-crack',\n icon: [512, 512, [128148, \"heart-broken\"], \"f7a9\", \"M223.3 465.9l2.5 2.3c8.2 7.6 19 11.9 30.2 11.9s22-4.2 30.2-11.9l2.5-2.3L463.9 303.2c30.7-28.5 48.1-68.5 48.1-110.4v-3.3c0-70.4-50-130.8-119.2-144C353.4 37.9 313.1 47 281 69.6l0 0c-4 2.8-7.8 5.8-11.5 9c-4.7 4.1-9.3 8.5-13.5 13.3c-7.5-8.4-15.9-15.9-25-22.3C198.9 47 158.6 37.9 119.2 45.4C50 58.6 0 119.1 0 189.5v3.3c0 41.9 17.4 81.9 48.1 110.4L223.3 465.9zm6.6-331.1l-67.6 67.6c-1.5 1.5-2.4 3.6-2.3 5.8s1 4.2 2.6 5.7l112 104c2.9 2.7 7.4 2.9 10.5 .3s3.8-7 1.7-10.4l-59.7-97L316 158.9c3.6-2.1 5-6.6 3.2-10.3l-16.6-35.1c22.4-18.5 52.2-26.4 81.3-20.9c46.5 8.9 80.1 49.5 80.1 96.9v3.3c0 28.5-11.9 55.8-32.8 75.2L256 430.7 80.8 268C59.9 248.6 48 221.3 48 192.8v-3.3c0-47.3 33.6-88 80.1-96.9c34-6.5 69 5.4 92 31.2l0 0 .1 .1 9.6 10.8z\"]\n};\nvar faHeartBroken = faHeartCrack;\nvar faFaceBeamHandOverMouth = {\n prefix: 'far',\n iconName: 'face-beam-hand-over-mouth',\n icon: [512, 512, [129325], \"e47c\", \"M256 48C141.1 48 48 141.1 48 256c0 59 24.6 112.2 64 150.1v10.7c0 21.9 5.5 42.5 15.3 60.5C51.2 433 0 350.5 0 256C0 114.6 114.6 0 256 0S512 114.6 512 256c0 113.1-73.3 209.1-175.1 242.9l49-49c11.7-11.7 16.1-27.9 13.2-43C439.1 369 464 315.4 464 256c0-114.9-93.1-208-208-208zM217.6 228.8l0 0 0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0zm160 0l0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0 0 0zm-78.3 47.9c6.2 6.2 6.2 16.4 0 22.6L248 350.6c-2.6 2.6-2.6 6.8 0 9.4s6.8 2.6 9.4 0l67.3-67.3c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L280 382.6c-2.6 2.6-2.6 6.8 0 9.4s6.8 2.6 9.4 0l51.3-51.3c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L312 414.6c-2.6 2.6-2.6 6.8 0 9.4s6.8 2.6 9.4 0l19.3-19.3c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-56.8 56.8C288.7 502 264.4 512 239.2 512c-52.6 0-95.2-42.6-95.2-95.2V384 330.4c0-11 9-20 20-20s20 9 20 20v19.7c0 7.1 8.6 10.7 13.7 5.7l79-79c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faDropletPercent = {\n prefix: 'far',\n iconName: 'droplet-percent',\n icon: [384, 512, [\"humidity\"], \"f750\", \"M192 464c-79.5 0-144-64.5-144-144c0-13 5.1-33.5 17-61.1c11.5-26.6 27.6-55.8 45.5-84.7c29-46.8 61-90.2 81.5-117c20.5 26.7 52.6 70.2 81.5 117c17.9 28.9 34 58 45.5 84.7c11.9 27.6 17 48.2 17 61.1c0 79.5-64.5 144-144 144zM0 320C0 426 86 512 192 512s192-86 192-192c0-91.2-130.2-262.3-166.6-308.3C211.4 4.2 202.5 0 192.9 0h-1.8c-9.6 0-18.5 4.2-24.5 11.7C130.2 57.7 0 228.8 0 320zm267.3-75.3c-6.2-6.2-16.4-6.2-22.6 0l-128 128c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l128-128c6.2-6.2 6.2-16.4 0-22.6zM136 288a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM248 400a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faHumidity = faDropletPercent;\nvar faSquareUpRight = {\n prefix: 'far',\n iconName: 'square-up-right',\n icon: [448, 512, [8599, \"external-link-square-alt\"], \"f360\", \"M384 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H384zm64 16c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96zM320 313.4V176c0-8.8-7.2-16-16-16H166.6c-12.5 0-22.6 10.1-22.6 22.6c0 6 2.4 11.8 6.6 16L184 232l-66.3 66.3C114 302 112 306.9 112 312s2 10 5.7 13.7l36.7 36.7c3.6 3.6 8.5 5.7 13.7 5.7s10-2 13.7-5.7L248 296l33.4 33.4c4.2 4.2 10 6.6 16 6.6c12.5 0 22.6-10.1 22.6-22.6z\"]\n};\nvar faExternalLinkSquareAlt = faSquareUpRight;\nvar faFaceKissBeam = {\n prefix: 'far',\n iconName: 'face-kiss-beam',\n icon: [512, 512, [128537, \"kiss-beam\"], \"f597\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm304.7 41.7c4.3 5.1 7.3 11.4 7.3 18.3s-3.1 13.2-7.3 18.3c-4.3 5.2-10.1 9.7-16.7 13.4c-2.7 1.5-5.7 3-8.7 4.3c3.1 1.3 6 2.7 8.7 4.3c6.6 3.7 12.5 8.2 16.7 13.4c4.3 5.1 7.3 11.4 7.3 18.3s-3.1 13.2-7.3 18.3c-4.3 5.2-10.1 9.7-16.7 13.4C274.7 427.1 257.4 432 240 432c-3.6 0-6.8-2.5-7.7-6s.6-7.2 3.8-9l0 0 0 0 0 0 0 0 .2-.1c.2-.1 .5-.3 .9-.5c.8-.5 2-1.2 3.4-2.1c2.8-1.9 6.5-4.5 10.2-7.6c3.7-3.1 7.2-6.6 9.6-10.1c2.5-3.5 3.5-6.4 3.5-8.6s-1-5-3.5-8.6c-2.5-3.5-5.9-6.9-9.6-10.1c-3.7-3.1-7.4-5.7-10.2-7.6c-1.4-.9-2.6-1.6-3.4-2.1c-.4-.2-.7-.4-.9-.5l-.2-.1 0 0 0 0 0 0c-2.5-1.4-4.1-4.1-4.1-7s1.6-5.6 4.1-7l0 0 0 0 0 0 0 0 0 0 .2-.1c.2-.1 .5-.3 .9-.5c.8-.5 2-1.2 3.4-2.1c2.8-1.9 6.5-4.5 10.2-7.6c3.7-3.1 7.2-6.6 9.6-10.1c2.5-3.5 3.5-6.4 3.5-8.6s-1-5-3.5-8.6c-2.5-3.5-5.9-6.9-9.6-10.1c-3.7-3.1-7.4-5.7-10.2-7.6c-1.4-.9-2.6-1.6-3.4-2.1c-.4-.2-.7-.4-.9-.5l-.2-.1 0 0 0 0 0 0c-3.2-1.8-4.7-5.5-3.8-9s4.1-6 7.7-6c17.4 0 34.7 4.9 47.9 12.3c6.6 3.7 12.5 8.2 16.7 13.4zm-87.1-68.9l0 0 0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0zm160 0l0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0 0 0z\"]\n};\nvar faKissBeam = faFaceKissBeam;\nvar faCorn = {\n prefix: 'far',\n iconName: 'corn',\n icon: [512, 512, [127805], \"f6c7\", \"M448 0c-14.6 0-28.1 4.9-38.8 13.1C401.4 9.8 392.9 8 384 8c-20.3 0-38.5 9.5-50.2 24.3c-1.9-.2-3.9-.3-5.8-.3c-20.4 0-38.5 9.5-50.2 24.3c-1.9-.2-3.9-.3-5.8-.3c-19.9 0-37.7 9.1-49.4 23.4l3.6 3.6c11.8 11.8 21.9 25.1 30 39.5c0-.3 0-.7-.1-1c0-.5-.1-.9-.1-1.4c0-8.8 7.2-16 16-16c2.6 0 5 .6 7.1 1.7c6.3 3.1 13.7 3.3 20.1 .6s11.4-8.2 13.5-15c2-6.5 8.1-11.3 15.3-11.3c2.6 0 5 .6 7.1 1.7c6.3 3.1 13.7 3.3 20.1 .6s11.4-8.2 13.5-15c2-6.5 8.1-11.3 15.3-11.3c4.6 0 8.7 1.9 11.6 5c5.3 5.5 12.8 8.3 20.4 7.3s14.3-5.4 18-12.1c2.8-5 8-8.2 14-8.2c8.8 0 16 7.2 16 16c0 6-3.3 11.2-8.2 14c-6.7 3.7-11.2 10.4-12.1 18s1.8 15.2 7.3 20.4c3.1 2.9 5 7 5 11.6c0 7.2-4.7 13.3-11.3 15.3c-6.7 2.1-12.2 7-15 13.5s-2.6 13.8 .6 20.1c1 2.1 1.7 4.5 1.7 7.1c0 7.2-4.7 13.3-11.3 15.3c-6.7 2.1-12.2 7-15 13.5s-2.6 13.8 .6 20.1c1 2.1 1.7 4.5 1.7 7.1c0 7-4.5 12.9-10.7 15.1c7.2 4.8 14.2 10.2 20.7 16.1L435.5 287c12.6-11.7 20.5-28.4 20.5-47c0-2-.1-3.9-.3-5.8C470.5 222.5 480 204.4 480 184c0-2-.1-3.9-.3-5.8C494.5 166.5 504 148.4 504 128c0-8.9-1.8-17.4-5.1-25.2C507.1 92.1 512 78.6 512 64c0-35.3-28.7-64-64-64zM169 71c-6.1-6.1-15-8.5-23.4-6.2s-14.8 8.9-16.9 17.3l-21.9 87.4c-.4 1.4-1.1 2.7-2.1 3.7L41.9 236.1C15.1 263 0 299.4 0 337.4c0 36 13.6 70.7 38 97.1L66.1 465c27.6 30 66.6 47 107.3 47c38.7 0 75.9-15.4 103.3-42.8l62.9-62.9c.9-.9 1.9-1.5 3.1-1.9l88.8-29.6c8.1-2.7 14.2-9.5 15.9-17.9s-1.1-17-7.4-22.7l-28.5-25.7C374 274.7 325.3 256 274.8 256c-9 0-17.9 .6-26.8 1.8V213c0-40.3-16-79-44.5-107.5L169 71zm31 142v57.1c-25.9 10.2-49.7 25.7-69.8 45.7L60.9 385.2C52.5 370.8 48 354.3 48 337.4c0-25.3 10-49.5 27.9-67.3l62.8-62.8c7.2-7.2 12.3-16.2 14.7-26L165 134.9l4.5 4.5C189 159 200 185.4 200 213zM101.4 432.5l-9.6-10.3 72.3-72.3c29.3-29.3 69.1-45.8 110.6-45.8c37.7 0 74.1 13.6 102.5 38.3l-49.7 16.6c-8.2 2.7-15.7 7.4-21.9 13.5l-62.9 62.9c-18.4 18.4-43.3 28.7-69.3 28.7c-27.4 0-53.5-11.4-72.1-31.5z\"]\n};\nvar faRollerCoaster = {\n prefix: 'far',\n iconName: 'roller-coaster',\n icon: [640, 512, [], \"e324\", \"M48 184c0-40.1 22.7-74.9 56-92.3V456c0 13.3 10.7 24 24 24s24-10.7 24-24V80h5.1c15 0 29.6 3.2 42.9 9.3V456c0 13.3 10.7 24 24 24s24-10.7 24-24V132.6l48 69.1V456c0 13.3 10.7 24 24 24s24-10.7 24-24V270.9l14.9 21.5c9.4 13.6 20.6 25.6 33.1 35.8V456c0 13.3 10.7 24 24 24s24-10.7 24-24V356.1c15.3 5.9 31.4 9.7 48 11.2V456c0 13.3 10.7 24 24 24s24-10.7 24-24V365.8c20.9-4 40-13 56-25.8V456c0 13.3 10.7 24 24 24s24-10.7 24-24V240v-8c0-75.1-60.9-136-136-136h-8.1c-30.4 0-60.3 8.3-86.4 23.9L358 150.8l58 83.5V172l18.1-10.9c14.1-8.4 29.7-13.9 45.9-16V264c0 13.3 10.7 24 24 24s24-10.7 24-24V147.3c36.9 10.4 64 44.4 64 84.7v8c0 44.2-35.8 80-80 80h-8.5c-41.9 0-81.2-20.5-105.1-55L281.9 97.3C253.5 56.4 206.9 32 157.1 32H152C68.1 32 0 100.1 0 184V456c0 13.3 10.7 24 24 24s24-10.7 24-24V184z\"]\n};\nvar faPhotoFilmMusic = {\n prefix: 'far',\n iconName: 'photo-film-music',\n icon: [640, 512, [], \"e228\", \"M576 48H256c-8.8 0-16 7.2-16 16V256c0 8.7 6.9 15.8 15.6 16l69.1-94.2c4.5-6.2 11.7-9.8 19.4-9.8s14.8 3.6 19.4 9.8L380 200.4l56-85.6c4.4-6.8 12-10.9 20.1-10.9s15.7 4.1 20.1 10.9l30.5 46.7L406.3 195c-22.9 7.6-38.3 29-38.3 53.1V320H256c-35.3 0-64-28.7-64-64V64c0-35.3 28.7-64 64-64H576c35.3 0 64 28.7 64 64v69.6c-12.9-6.1-27.9-7.1-41.7-2.5l-6.3 2.1V64c0-8.8-7.2-16-16-16zM289.9 448H160 136 112 64c-35.3 0-64-28.7-64-64V176c0-35.3 28.7-64 64-64h48 24 24v48 72 88 8 72H326.3c-2.3 1.4-4.6 3-6.7 4.6c-13.8 10.3-25.2 25.2-29.6 43.4zM304 80a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM112 208V160H64c-8.8 0-16 7.2-16 16v32h64zm0 144H48v32c0 8.8 7.2 16 16 16h48V352zm0-48V256H48v48h64zM630 164.5c6.3 4.5 10 11.8 10 19.5v48V392c0 1.2-.1 2.4-.3 3.6c.2 1.5 .3 2.9 .3 4.4c0 26.5-28.7 48-64 48s-64-21.5-64-48s28.7-48 64-48c5.5 0 10.9 .5 16 1.5V265.3l-144 48V464c0 26.5-28.7 48-64 48s-64-21.5-64-48s28.7-48 64-48c5.5 0 10.9 .5 16 1.5V296 248c0-10.3 6.6-19.5 16.4-22.8l192-64c7.3-2.4 15.4-1.2 21.6 3.3z\"]\n};\nvar faRadar = {\n prefix: 'far',\n iconName: 'radar',\n icon: [512, 512, [], \"e024\", \"M316.4 161.7C299 150.5 278.2 144 256 144c-61.9 0-112 50.1-112 112s50.1 112 112 112s112-50.1 112-112h48c0 78.2-56.1 143.3-130.3 157.2c-7.3-8.1-17.9-13.2-29.7-13.2s-22.4 5.1-29.7 13.2c-64.5-12.1-115.4-63-127.5-127.5c8.1-7.3 13.2-17.9 13.2-29.7s-5.1-22.4-13.2-29.7C112.7 152.1 177.8 96 256 96c35.5 0 68.3 11.6 94.9 31.2l34.2-34.2C349.7 64.8 304.8 48 256 48C152.7 48 66.9 123.4 50.7 222.1C39.5 229.2 32 241.7 32 256s7.5 26.8 18.7 33.9c14.4 87.7 83.6 157 171.4 171.4c7.1 11.3 19.6 18.7 33.9 18.7s26.8-7.5 33.9-18.7C388.6 445.1 464 359.3 464 256h48c0 141.4-114.6 256-256 256S0 397.4 0 256S114.6 0 256 0c62.1 0 118.9 22.1 163.3 58.8L463 15c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-182 182c3.3 7.7 5.1 16.1 5.1 25c0 35.3-28.7 64-64 64s-64-28.7-64-64s28.7-64 64-64c8.9 0 17.3 1.8 25 5.1l35.4-35.4z\"]\n};\nvar faSickle = {\n prefix: 'far',\n iconName: 'sickle',\n icon: [512, 512, [], \"f822\", \"M218.2 90.2c56.2-56.2 147.4-56.2 203.6 0c2.3 2.3 4.5 4.7 6.7 7.1c-16.4-6-34-9.3-52.5-9.3c-83.9 0-152 68.1-152 152c0 17.8 3.1 35 8.7 50.9l-8.7 8.7-5.8-5.8c-56.2-56.2-56.2-147.4 0-203.6zM455.8 56.2c-75-75-196.5-75-271.5 0s-75 196.5 0 271.5L207 350.6c9.4 9.4 24.6 9.4 33.9 0l37.1-37.1c7.3-7.3 9.1-18.4 4.6-27.6C275.8 272.1 272 256.5 272 240c0-57.4 46.6-104 104-104c38.7 0 72.5 21.1 90.5 52.6c5.6 9.8 17.3 14.4 28 11s17.7-13.8 16.7-25.1c-3.9-43.2-22.4-85.3-55.4-118.4zM121 311c-9.4-9.4-24.6-9.4-33.9 0L71 327c-9.4 9.4-9.4 24.6 0 33.9l7 7L7 439c-9.4 9.4-9.4 24.6 0 33.9l32 32c9.4 9.4 24.6 9.4 33.9 0l71-71 7 7c9.4 9.4 24.6 9.4 33.9 0l16-16c9.4-9.4 9.4-24.6 0-33.9l-24-24-32-32-24-24z\"]\n};\nvar faFilm = {\n prefix: 'far',\n iconName: 'film',\n icon: [512, 512, [127902], \"f008\", \"M352 432H160V320 280H352v40V432zm0-200H160V192 80H352V192v40zM64 80h48v88H48V96c0-8.8 7.2-16 16-16zM48 216h64v80H48V216zm64 216H64c-8.8 0-16-7.2-16-16V344h64v88zM400 168V80h48c8.8 0 16 7.2 16 16v72H400zm0 48h64v80H400V216zm0 128h64v72c0 8.8-7.2 16-16 16H400V344zM448 32H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64z\"]\n};\nvar faCoconut = {\n prefix: 'far',\n iconName: 'coconut',\n icon: [512, 512, [], \"e2f6\", \"M274.5 55.3c42.7-13.2 71.9-7.4 86.7 7.5s20.6 44 7.5 86.7c-12.8 41.5-42.1 89.6-85.8 133.3s-91.8 73-133.3 85.8c-42.7 13.2-71.9 7.4-86.7-7.5s-20.6-44-7.5-86.7c12.8-41.5 42.1-89.6 85.8-133.3s91.8-73 133.3-85.8zM395.2 28.9C361.5-4.8 309.6-5.7 260.4 9.5C210 25 155.3 59.1 107.2 107.2S25 210 9.5 260.4C-5.7 309.6-4.8 361.5 28.9 395.2l41 41C118.4 484.7 184.3 512 253 512C396 512 512 396 512 253c0-68.7-27.3-134.6-75.9-183.2L395.2 28.9zm27.4 98.5c23.7 32 37.9 70.2 40.9 110.1L457 231c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l35.6 35.6c-7.2 31.1-21.2 59.6-40.4 83.7L377 343c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l41.2 41.2c-24.2 19.2-52.6 33.3-83.7 40.4L265 423c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l6.5 6.5c-39.9-2.9-78.1-17.2-110.1-40.9c12.1-1.5 24.2-4.3 36.3-8c50.4-15.5 105-49.7 153.1-97.8s82.2-102.7 97.8-153.1c3.7-12 6.5-24.2 8-36.3zM256 256c62.5-62.5 92.9-133.4 67.9-158.4s-95.9 5.4-158.4 67.9S72.6 298.9 97.6 323.9s95.9-5.4 158.4-67.9z\"]\n};\nvar faRulerHorizontal = {\n prefix: 'far',\n iconName: 'ruler-horizontal',\n icon: [640, 512, [], \"f547\", \"M48 320c0 8.8 7.2 16 16 16l512 0c8.8 0 16-7.2 16-16V192c0-8.8-7.2-16-16-16l-48 0v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V176l-64 0v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V176l-64 0v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V176l-64 0v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V176l-64 0v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V176l-48 0c-8.8 0-16 7.2-16 16l0 128zm16 64c-35.3 0-64-28.7-64-64V192c0-35.3 28.7-64 64-64H576c35.3 0 64 28.7 64 64V320c0 35.3-28.7 64-64 64L64 384z\"]\n};\nvar faShieldCross = {\n prefix: 'far',\n iconName: 'shield-cross',\n icon: [512, 512, [9960], \"f712\", \"M73 127L256 49.4 439 127c5.9 2.5 9.1 7.8 9 12.8c-.4 91.4-38.4 249.3-186.3 320.1c-3.6 1.7-7.8 1.7-11.3 0C102.4 389 64.5 231.2 64 139.7c0-5 3.1-10.2 9-12.8zM457.7 82.8L269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.8 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2zM280 120c0-13.3-10.7-24-24-24s-24 10.7-24 24v48H136c-13.3 0-24 10.7-24 24s10.7 24 24 24h96V392c0 13.3 10.7 24 24 24s24-10.7 24-24V216h96c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V120z\"]\n};\nvar faCassetteTape = {\n prefix: 'far',\n iconName: 'cassette-tape',\n icon: [576, 512, [128429], \"f8ab\", \"M512 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H472l-25.6-61.5c-8.7-20.9-29.1-34.5-51.7-34.5H181.3c-22.6 0-43 13.6-51.7 34.5L104 432H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H512zM420 432H156l17.9-43.1c1.2-3 4.2-4.9 7.4-4.9H394.7c3.2 0 6.1 1.9 7.4 4.9L420 432zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM176 208a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm64 16c0-5.5-.7-10.9-2-16H338c-1.3 5.1-2 10.5-2 16s.7 10.9 2 16H238c1.3-5.1 2-10.5 2-16zm224 0c0-35.3-28.7-64-64-64H176c-35.3 0-64 28.7-64 64s28.7 64 64 64H400c35.3 0 64-28.7 64-64zm-80 0a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faSquareTerminal = {\n prefix: 'far',\n iconName: 'square-terminal',\n icon: [448, 512, [], \"e32a\", \"M384 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm38.3 119.8c-9 9.8-8.3 25 1.5 33.9L180.5 256l-76.7 70.3c-9.8 9-10.4 24.1-1.5 33.9s24.1 10.4 33.9 1.5l96-88c5-4.5 7.8-11 7.8-17.7s-2.8-13.1-7.8-17.7l-96-88c-9.8-9-25-8.3-33.9 1.5zM216 336c-13.3 0-24 10.7-24 24s10.7 24 24 24H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H216z\"]\n};\nvar faPeopleRobbery = {\n prefix: 'far',\n iconName: 'people-robbery',\n icon: [576, 512, [], \"e536\", \"M504.5 53.3C493.1 101.7 449.8 136 400 136s-93.1-34.3-104.5-82.7l-8.2-34.8c-3-12.9-16-20.9-28.9-17.9s-20.9 16-17.9 28.9l8.2 34.8c11.3 48.1 44.3 86.5 87.2 106V488c0 13.3 10.7 24 24 24s24-10.7 24-24V352h32V488c0 13.3 10.7 24 24 24s24-10.7 24-24V170.2c42.9-19.4 75.9-57.8 87.2-105.9l8.2-34.8c3-12.9-5-25.8-17.9-28.9s-25.8 5-28.9 17.9l-8.2 34.8zM416 183.2V304H384V183.2c5.3 .5 10.6 .8 16 .8s10.7-.3 16-.8zM400 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM128 48A48 48 0 1 0 32 48a48 48 0 1 0 96 0zM16 204.5L16 488c0 13.3 10.7 24 24 24s24-10.7 24-24l0-136H96V488c0 13.3 10.7 24 24 24s24-10.7 24-24V280c0-13.3-10.7-24-24-24s-24 10.7-24 24v24H64l0-99.5C64 188.8 76.8 176 92.5 176c9.4 0 18.1 4.6 23.4 12.3l56.3 81.4c4.5 6.5 11.9 10.3 19.7 10.3h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H204.6l-49.2-71c-14.3-20.6-37.8-33-62.9-33C50.2 128 16 162.2 16 204.5z\"]\n};\nvar faLightbulb = {\n prefix: 'far',\n iconName: 'lightbulb',\n icon: [384, 512, [128161], \"f0eb\", \"M297.2 248.9C311.6 228.3 320 203.2 320 176c0-70.7-57.3-128-128-128S64 105.3 64 176c0 27.2 8.4 52.3 22.8 72.9c3.7 5.3 8.1 11.3 12.8 17.7l0 0c12.9 17.7 28.3 38.9 39.8 59.8c10.4 19 15.7 38.8 18.3 57.5H109c-2.2-12-5.9-23.7-11.8-34.5c-9.9-18-22.2-34.9-34.5-51.8l0 0 0 0c-5.2-7.1-10.4-14.2-15.4-21.4C27.6 247.9 16 213.3 16 176C16 78.8 94.8 0 192 0s176 78.8 176 176c0 37.3-11.6 71.9-31.4 100.3c-5 7.2-10.2 14.3-15.4 21.4l0 0 0 0c-12.3 16.8-24.6 33.7-34.5 51.8c-5.9 10.8-9.6 22.5-11.8 34.5H226.4c2.6-18.7 7.9-38.6 18.3-57.5c11.5-20.9 26.9-42.1 39.8-59.8l0 0 0 0 0 0c4.7-6.4 9-12.4 12.7-17.7zM192 128c-26.5 0-48 21.5-48 48c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-44.2 35.8-80 80-80c8.8 0 16 7.2 16 16s-7.2 16-16 16zm0 384c-44.2 0-80-35.8-80-80V416H272v16c0 44.2-35.8 80-80 80z\"]\n};\nvar faCaretLeft = {\n prefix: 'far',\n iconName: 'caret-left',\n icon: [256, 512, [], \"f0d9\", \"M54.6 256L144 166.6l0 178.7L54.6 256zM9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l128 128c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6l0-256c0-12.9-7.8-24.6-19.8-29.6s-25.7-2.2-34.9 6.9l-128 128z\"]\n};\nvar faCommentMiddle = {\n prefix: 'far',\n iconName: 'comment-middle',\n icon: [512, 512, [], \"e149\", \"M231.3 387.2L256 436.7l24.7-49.5c6.5-12.9 18.4-22.3 32.5-25.4C407 341 464 274.7 464 208c0-79.5-83.3-160-208-160S48 128.5 48 208c0 66.7 57 133 150.7 153.8c14.1 3.1 26.1 12.5 32.5 25.4zm92.4 21.5l-44.5 89c-4.4 8.8-13.3 14.3-23.2 14.3s-18.8-5.5-23.2-14.3l-44.5-89C79.8 384.5 0 303.8 0 208C0 93.1 114.6 0 256 0S512 93.1 512 208c0 95.8-79.8 176.5-188.3 200.7z\"]\n};\nvar faTrashCanList = {\n prefix: 'far',\n iconName: 'trash-can-list',\n icon: [640, 512, [], \"e2ab\", \"M161.1 48h93.7c2.7 0 5.2 1.3 6.7 3.6l19 28.4h-145l19-28.4c1.5-2.2 4-3.6 6.7-3.6zM338.2 80L301.5 24.9C291.1 9.4 273.6 0 254.9 0H161.1c-18.7 0-36.2 9.4-46.6 24.9L77.8 80H32 24C10.7 80 0 90.7 0 104s10.7 24 24 24h8V432c0 44.2 35.8 80 80 80H304c44.2 0 80-35.8 80-80V128h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8H338.2zM336 128V432c0 17.7-14.3 32-32 32H112c-17.7 0-32-14.3-32-32V128H336zM160 176c-8.8 0-16 7.2-16 16V400c0 8.8 7.2 16 16 16s16-7.2 16-16V192c0-8.8-7.2-16-16-16zm96 0c-8.8 0-16 7.2-16 16V400c0 8.8 7.2 16 16 16s16-7.2 16-16V192c0-8.8-7.2-16-16-16zm216-48c-13.3 0-24 10.7-24 24s10.7 24 24 24H616c13.3 0 24-10.7 24-24s-10.7-24-24-24H472zm0 128c-13.3 0-24 10.7-24 24s10.7 24 24 24H584c13.3 0 24-10.7 24-24s-10.7-24-24-24H472zM448 408c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H472c-13.3 0-24 10.7-24 24z\"]\n};\nvar faBlock = {\n prefix: 'far',\n iconName: 'block',\n icon: [640, 512, [], \"e46a\", \"M480 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H160c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H480zM160 32c-35.3 0-64 28.7-64 64V416c0 35.3 28.7 64 64 64H480c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H160zm48 88a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm248 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM208 392a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm248 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faCircleExclamation = {\n prefix: 'far',\n iconName: 'circle-exclamation',\n icon: [512, 512, [\"exclamation-circle\"], \"f06a\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-384c-13.3 0-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faExclamationCircle = faCircleExclamation;\nvar faSchoolCircleXmark = {\n prefix: 'far',\n iconName: 'school-circle-xmark',\n icon: [640, 512, [], \"e56d\", \"M333.3 4c-8.1-5.4-18.6-5.4-26.6 0l-138 92H72C32.2 96 0 128.2 0 168V440c0 39.8 32.2 72 72 72H256 384h10.8C349.5 480.1 320 427.5 320 368c0-16.5 2.3-32.5 6.5-47.7c-2.1-.2-4.3-.3-6.5-.3c-35.3 0-64 28.7-64 64v80H72c-13.3 0-24-10.7-24-24V168c0-13.3 10.7-24 24-24H176c4.7 0 9.4-1.4 13.3-4L320 52.8 450.7 140c3.9 2.6 8.6 4 13.3 4H568c13.3 0 24 10.7 24 24v52.5c18.8 12.3 35.1 28 48 46.3V168c0-39.8-32.2-72-72-72H471.3L333.3 4zm20.2 260.6c10.9-15 24.1-28.2 39.1-39.1c4.7-10.2 7.3-21.5 7.3-33.5c0-44.2-35.8-80-80-80s-80 35.8-80 80s35.8 80 80 80c12 0 23.3-2.6 33.5-7.3zM96 208v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H112c-8.8 0-16 7.2-16 16zm16 112c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V336c0-8.8-7.2-16-16-16H112zM320 144c8.8 0 16 7.2 16 16v16h8c8.8 0 16 7.2 16 16s-7.2 16-16 16H320c-8.8 0-16-7.2-16-16V160c0-8.8 7.2-16 16-16zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm22.6-144l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L496 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L473.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L496 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L518.6 368z\"]\n};\nvar faArrowRightFromBracket = {\n prefix: 'far',\n iconName: 'arrow-right-from-bracket',\n icon: [512, 512, [\"sign-out\"], \"f08b\", \"M505 273c9.4-9.4 9.4-24.6 0-33.9L377 111c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l87 87L184 232c-13.3 0-24 10.7-24 24s10.7 24 24 24l246.1 0-87 87c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L505 273zM168 80c13.3 0 24-10.7 24-24s-10.7-24-24-24L88 32C39.4 32 0 71.4 0 120L0 392c0 48.6 39.4 88 88 88l80 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-80 0c-22.1 0-40-17.9-40-40l0-272c0-22.1 17.9-40 40-40l80 0z\"]\n};\nvar faSignOut = faArrowRightFromBracket;\nvar faFaceFrownSlight = {\n prefix: 'far',\n iconName: 'face-frown-slight',\n icon: [512, 512, [], \"e376\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM334.4 385.9C319.2 369.5 293.2 352 256 352s-63.2 17.5-78.4 33.9c-9 9.7-24.2 10.4-33.9 1.4s-10.4-24.2-1.4-33.9c22-23.8 60-49.4 113.6-49.4s91.7 25.5 113.6 49.4c9 9.7 8.4 24.9-1.4 33.9s-24.9 8.4-33.9-1.4zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faCircleChevronDown = {\n prefix: 'far',\n iconName: 'circle-chevron-down',\n icon: [512, 512, [\"chevron-circle-down\"], \"f13a\", \"M256 464a208 208 0 1 1 0-416 208 208 0 1 1 0 416zM256 0a256 256 0 1 0 0 512A256 256 0 1 0 256 0zM135 241L239 345c9.4 9.4 24.6 9.4 33.9 0L377 241c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-87 87-87-87c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9z\"]\n};\nvar faChevronCircleDown = faCircleChevronDown;\nvar faSidebarFlip = {\n prefix: 'far',\n iconName: 'sidebar-flip',\n icon: [512, 512, [], \"e24f\", \"M288 80V432H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H288zM512 96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96zm-64 24c0 13.3-10.7 24-24 24H376c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24zm-24 72c13.3 0 24 10.7 24 24s-10.7 24-24 24H376c-13.3 0-24-10.7-24-24s10.7-24 24-24h48zm24 120c0 13.3-10.7 24-24 24H376c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24z\"]\n};\nvar faUnlockKeyhole = {\n prefix: 'far',\n iconName: 'unlock-keyhole',\n icon: [448, 512, [\"unlock-alt\"], \"f13e\", \"M224 48c-44.2 0-80 35.8-80 80v64H384c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V256c0-35.3 28.7-64 64-64H96V128C96 57.3 153.3 0 224 0c57 0 105.2 37.2 121.8 88.6c4.1 12.6-2.8 26.1-15.5 30.2s-26.1-2.8-30.2-15.5C289.8 71.2 259.6 48 224 48zM64 240c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V256c0-8.8-7.2-16-16-16H64zM256 376H192c-13.3 0-24-10.7-24-24s10.7-24 24-24h64c13.3 0 24 10.7 24 24s-10.7 24-24 24z\"]\n};\nvar faUnlockAlt = faUnlockKeyhole;\nvar faTemperatureList = {\n prefix: 'far',\n iconName: 'temperature-list',\n icon: [512, 512, [], \"e299\", \"M80 112c0-35.3 28.7-64 64-64s64 28.7 64 64V273.9c0 14.5 5.7 27.1 12.8 36.6c12 16 19.2 35.9 19.2 57.5c0 53-43 96-96 96s-96-43-96-96c0-21.6 7.1-41.5 19.2-57.5C74.3 301 80 288.4 80 273.9V112zM144 0C82.1 0 32 50.2 32 112V273.9c0 1.7-.7 4.4-3.2 7.8C10.7 305.7 0 335.7 0 368c0 79.5 64.5 144 144 144s144-64.5 144-144c0-32.4-10.7-62.3-28.8-86.4c-2.5-3.4-3.2-6.1-3.2-7.8V112C256 50.2 205.9 0 144 0zm0 416c26.5 0 48-21.5 48-48c0-20.9-13.4-38.7-32-45.3V176c0-8.8-7.2-16-16-16s-16 7.2-16 16V322.7c-18.6 6.6-32 24.4-32 45.3c0 26.5 21.5 48 48 48zM344 32c-13.3 0-24 10.7-24 24s10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H344zm0 128c-13.3 0-24 10.7-24 24s10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H344zm32 128c-13.3 0-24 10.7-24 24s10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H376z\"]\n};\nvar faCloudShowersHeavy = {\n prefix: 'far',\n iconName: 'cloud-showers-heavy',\n icon: [512, 512, [], \"f740\", \"M112 120c0-39.8 32.2-72 72-72c25.8 0 48.5 13.6 61.2 34c3.8 6.1 10.1 10.2 17.2 11.1s14.3-1.3 19.5-6.2c10-9.3 23.4-15 38.1-15c29 0 52.9 22.1 55.7 50.4c1.2 12.3 11.6 21.7 23.9 21.6l.3 0h0c35.3 0 64 28.7 64 64s-28.7 64-64 64H108h-1.9c-.3 0-.7-.1-1-.1C73.3 270.4 48 244.2 48 212c0-28.3 19.6-52.1 46.1-58.4c11.8-2.8 19.6-13.9 18.3-25.9c-.3-2.5-.4-5.1-.4-7.7zM184 0C120 0 67.7 50.1 64.2 113.3C26.4 130.1 0 167.9 0 212c0 57.1 44.3 103.9 100.5 107.7c1.2 .2 2.3 .3 3.5 .3h4H400c61.9 0 112-50.1 112-112c0-55.2-39.9-101.1-92.5-110.3C406.5 55 366.9 24 320 24c-18 0-34.9 4.6-49.7 12.6C248.5 14.1 217.9 0 184 0zM81.5 353.9c-12.2-5.2-26.3 .4-31.5 12.6l-48 112c-5.2 12.2 .4 26.3 12.6 31.5s26.3-.4 31.5-12.6l48-112c5.2-12.2-.4-26.3-12.6-31.5zm120 0c-12.2-5.2-26.3 .4-31.5 12.6l-48 112c-5.2 12.2 .4 26.3 12.6 31.5s26.3-.4 31.5-12.6l48-112c5.2-12.2-.4-26.3-12.6-31.5zm244.6 31.5c5.2-12.2-.4-26.3-12.6-31.5s-26.3 .4-31.5 12.6l-48 112c-5.2 12.2 .4 26.3 12.6 31.5s26.3-.4 31.5-12.6l48-112zM313.5 353.9c-12.2-5.2-26.3 .4-31.5 12.6l-48 112c-5.2 12.2 .4 26.3 12.6 31.5s26.3-.4 31.5-12.6l48-112c5.2-12.2-.4-26.3-12.6-31.5z\"]\n};\nvar faHeadphonesSimple = {\n prefix: 'far',\n iconName: 'headphones-simple',\n icon: [512, 512, [\"headphones-alt\"], \"f58f\", \"M256 80C141.1 80 48 173.1 48 288V392c0 13.3-10.7 24-24 24s-24-10.7-24-24V288C0 146.6 114.6 32 256 32s256 114.6 256 256V392c0 13.3-10.7 24-24 24s-24-10.7-24-24V288c0-114.9-93.1-208-208-208zM160 432V320c-17.7 0-32 14.3-32 32v48c0 17.7 14.3 32 32 32zm0-160h16c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H160c-44.2 0-80-35.8-80-80V352c0-44.2 35.8-80 80-80zm192 48V432c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32zm80 32v48c0 44.2-35.8 80-80 80H336c-17.7 0-32-14.3-32-32V304c0-17.7 14.3-32 32-32h16c44.2 0 80 35.8 80 80z\"]\n};\nvar faHeadphonesAlt = faHeadphonesSimple;\nvar faSitemap = {\n prefix: 'far',\n iconName: 'sitemap',\n icon: [576, 512, [], \"f0e8\", \"M320 80v64H256V80h64zM256 32c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48h8v40H112c-30.9 0-56 25.1-56 56v32H48c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48V368c0-26.5-21.5-48-48-48h-8V288c0-4.4 3.6-8 8-8H264v40h-8c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48V368c0-26.5-21.5-48-48-48h-8V280H464c4.4 0 8 3.6 8 8v32h-8c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48V368c0-26.5-21.5-48-48-48h-8V288c0-30.9-25.1-56-56-56H312V192h8c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H256zM48 368h64v64H48V368zm208 0h64v64H256V368zm208 0h64v64H464V368z\"]\n};\nvar faPipeSection = {\n prefix: 'far',\n iconName: 'pipe-section',\n icon: [640, 512, [], \"e438\", \"M48 120c0-13.3-10.7-24-24-24S0 106.7 0 120v32V360v32c0 13.3 10.7 24 24 24s24-10.7 24-24v-8H592v8c0 13.3 10.7 24 24 24s24-10.7 24-24V360 152 120c0-13.3-10.7-24-24-24s-24 10.7-24 24v8H320 48v-8zm0 56H320 592V336H48V176z\"]\n};\nvar faSpaceStationMoonConstruction = {\n prefix: 'far',\n iconName: 'space-station-moon-construction',\n icon: [512, 512, [\"space-station-moon-alt\"], \"e034\", \"M208.2 53.5C223.5 49.9 239.5 48 256 48c54.9 0 104.8 21.2 142 56H368c-13.3 0-24 10.7-24 24s10.7 24 24 24h81.5c8.8 0 17-4.9 21.1-12.6s3.7-17.2-1.1-24.6C423.7 45.6 345.2 0 256 0C114.6 0 0 114.6 0 256S114.6 512 256 512c81.4 0 153.9-38 200.7-97.1c8.2-10.4 6.5-25.5-3.9-33.7s-25.5-6.5-33.7 3.9C381 433.2 322.1 464 256 464c-80.8 0-150.8-46.1-185.3-113.3C109.9 362.7 168.9 376 256 376c116.9 0 183.2-23.9 218.9-36.8l0 0c4.8-1.7 9-3.2 12.7-4.5c7.5-2.5 13.3-8.6 15.5-16.2l.6-2.1c5.5-19.3 8.3-39.3 8.3-59.3V256c0-13.3-10.7-24-24-24s-24 10.7-24 24v1.1c0 12.3-1.3 24.5-4 36.5l-.8 .3C424.3 306.5 364.4 328 256 328s-168.3-21.5-203.2-34.1l-1.5-.5C49.1 281.2 48 268.8 48 256c0-40.8 11.7-78.8 32-110.9c.6 52.5 43.3 94.9 96 94.9c53 0 96-43 96-96c0-41.7-26.6-77.2-63.8-90.5zM128 144a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm248 40c-13.3 0-24 10.7-24 24s10.7 24 24 24h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H376z\"]\n};\nvar faSpaceStationMoonAlt = faSpaceStationMoonConstruction;\nvar faCircleDollarToSlot = {\n prefix: 'far',\n iconName: 'circle-dollar-to-slot',\n icon: [512, 512, [\"donate\"], \"f4b9\", \"M256 48a160 160 0 1 1 0 320 160 160 0 1 1 0-320zm0 368A208 208 0 1 0 256 0a208 208 0 1 0 0 416zM64 352c-35.3 0-64 28.7-64 64v32c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V416c0-35.3-28.6-64-64-64c-13.6 18.2-29.8 34.3-48 48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V416c0-8.8 7.2-16 16-16h48c-18.2-13.7-34.3-29.8-48-48zM276 104c0-11-9-20-20-20s-20 9-20 20v14c-7.6 1.7-15.2 4.4-22.2 8.5c-13.9 8.3-25.9 22.8-25.8 43.9c.1 20.3 12 33.1 24.7 40.7c11 6.6 24.7 10.8 35.6 14l1.7 .5c12.6 3.8 21.8 6.8 28 10.7c5.1 3.2 5.8 5.4 5.9 8.2c.1 5-1.8 8-5.9 10.5c-5 3.1-12.9 5-21.4 4.7c-11.1-.4-21.5-3.9-35.1-8.5c-2.3-.8-4.7-1.6-7.2-2.4c-10.5-3.5-21.8 2.2-25.3 12.6s2.2 21.8 12.6 25.3c1.9 .6 4 1.3 6.1 2.1l0 0 0 0c8.3 2.9 17.9 6.2 28.2 8.4V312c0 11 9 20 20 20s20-9 20-20V298.2c8-1.7 16-4.5 23.2-9c14.3-8.9 25.1-24.1 24.8-45c-.3-20.3-11.7-33.4-24.6-41.6c-11.5-7.2-25.9-11.6-37.1-15l-.7-.2c-12.8-3.9-21.9-6.7-28.3-10.5c-5.2-3.1-5.3-4.9-5.3-6.7c0-3.7 1.4-6.5 6.2-9.3c5.4-3.2 13.6-5.1 21.5-5c9.6 .1 20.2 2.2 31.2 5.2c10.7 2.8 21.6-3.5 24.5-14.2s-3.5-21.6-14.2-24.5c-6.5-1.7-13.7-3.4-21.1-4.7V104z\"]\n};\nvar faDonate = faCircleDollarToSlot;\nvar faMemory = {\n prefix: 'far',\n iconName: 'memory',\n icon: [576, 512, [], \"f538\", \"M64 112H512c8.8 0 16 7.2 16 16v8.4c-19.6 17.5-32 43.1-32 71.6s12.4 54 32 71.6V304H48V279.6C67.6 262 80 236.5 80 208s-12.4-54-32-71.6V128c0-8.8 7.2-16 16-16zM528 352v48H472c0-13.3-10.7-24-24-24s-24 10.7-24 24H392c0-13.3-10.7-24-24-24s-24 10.7-24 24H312c0-13.3-10.7-24-24-24s-24 10.7-24 24H232c0-13.3-10.7-24-24-24s-24 10.7-24 24H152c0-13.3-10.7-24-24-24s-24 10.7-24 24H48V352H528zM64 64C28.7 64 0 92.7 0 128v23.4c0 6.8 4.4 12.6 10.1 16.3C23.3 176.3 32 191.1 32 208s-8.7 31.7-21.9 40.3C4.4 252 0 257.8 0 264.6V416c0 17.7 14.3 32 32 32H544c17.7 0 32-14.3 32-32V264.6c0-6.8-4.4-12.6-10.1-16.3C552.7 239.7 544 224.9 544 208s8.7-31.7 21.9-40.3c5.7-3.7 10.1-9.5 10.1-16.3V128c0-35.3-28.7-64-64-64H64zm104 80c-13.3 0-24 10.7-24 24v80c0 13.3 10.7 24 24 24s24-10.7 24-24V168c0-13.3-10.7-24-24-24zm120 0c-13.3 0-24 10.7-24 24v80c0 13.3 10.7 24 24 24s24-10.7 24-24V168c0-13.3-10.7-24-24-24zm120 0c-13.3 0-24 10.7-24 24v80c0 13.3 10.7 24 24 24s24-10.7 24-24V168c0-13.3-10.7-24-24-24z\"]\n};\nvar faFaceSleeping = {\n prefix: 'far',\n iconName: 'face-sleeping',\n icon: [512, 512, [], \"e38d\", \"M48 256C48 141.1 141.1 48 256 48c30.7 0 59.9 6.7 86.1 18.6c12.1 5.5 26.3 .2 31.8-11.9s.2-26.3-11.9-31.8C329.6 8.2 293.7 0 256 0C114.6 0 0 114.6 0 256S114.6 512 256 512s256-114.6 256-256c0-37.7-8.2-73.6-22.9-105.9c-5.5-12.1-19.7-17.4-31.8-11.9s-17.4 19.7-11.9 31.8C457.3 196.1 464 225.3 464 256c0 114.9-93.1 208-208 208S48 370.9 48 256zM256 424a40 40 0 1 0 0-80 40 40 0 1 0 0 80zm64-296h25.4l-36.7 36.7c-4.6 4.6-5.9 11.5-3.5 17.4s8.3 9.9 14.8 9.9h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H358.6l36.7-36.7c4.6-4.6 5.9-11.5 3.5-17.4s-8.3-9.9-14.8-9.9H320c-8.8 0-16 7.2-16 16s7.2 16 16 16zM416 16c0 8.8 7.2 16 16 16h25.4L420.7 68.7c-4.6 4.6-5.9 11.5-3.5 17.4s8.3 9.9 14.8 9.9h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H470.6l36.7-36.7c4.6-4.6 5.9-11.5 3.5-17.4S502.5 0 496 0H432c-8.8 0-16 7.2-16 16zM351.6 252c-10.6 0-19.9-3.8-25.4-9.7c-7.6-8.1-20.2-8.5-28.3-.9s-8.5 20.2-.9 28.3c14.5 15.5 35.2 22.3 54.6 22.3s40.1-6.8 54.6-22.3c7.6-8.1 7.1-20.7-.9-28.3s-20.7-7.1-28.3 .9c-5.5 5.8-14.8 9.7-25.4 9.7zm-217.4-9.7c-7.6-8.1-20.2-8.5-28.3-.9s-8.5 20.2-.9 28.3c14.5 15.5 35.2 22.3 54.6 22.3s40.1-6.8 54.6-22.3c7.6-8.1 7.1-20.7-.9-28.3s-20.7-7.1-28.3 .9c-5.5 5.8-14.8 9.7-25.4 9.7s-19.9-3.8-25.4-9.7z\"]\n};\nvar faRoadSpikes = {\n prefix: 'far',\n iconName: 'road-spikes',\n icon: [640, 512, [], \"e568\", \"M192 352H112 64V304 150.5v-5.8V127.5 116.8c0-15.8 20.5-22 29.3-8.9l5.9 8.9 9.6 14.3L112 136l80 120V150.5v-5.8V127.5 116.8c0-15.8 20.5-22 29.3-8.9l5.9 8.9 9.6 14.3L240 136l80 120V150.5v-5.8V127.5 116.8c0-15.8 20.5-22 29.3-8.9l5.9 8.9 9.6 14.3L368 136l80 120V150.5v-5.8V127.5 116.8c0-15.8 20.5-22 29.3-8.9l5.9 8.9 9.6 14.3L496 136 606.8 302.2c14.2 21.3-1.1 49.7-26.6 49.7H512 496 454.3 448 384 368 326.3 320 256 240 198.3 192zm-25.7-48L112 222.5V304h54.3zM0 424c0-13.3 10.7-24 24-24H616c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24zM240 222.5V304h54.3L240 222.5zM422.3 304L368 222.5V304h54.3zM496 222.5V304h54.3L496 222.5z\"]\n};\nvar faFireBurner = {\n prefix: 'far',\n iconName: 'fire-burner',\n icon: [640, 512, [], \"e4f1\", \"M345.7 48.3L358 34.5c5.4-6.1 13.3-8.8 20.9-8.9c7.2 0 14.3 2.6 19.9 7.8c19.7 18.3 39.8 43.2 55 70.6C469 131.2 480 162.2 480 192.2C480 280.8 408.7 352 320 352c-89.6 0-160-71.3-160-159.8c0-37.3 16-73.4 36.8-104.5c20.9-31.3 47.5-59 70.9-80.2C273.4 2.3 280.7-.2 288 0c14.1 .3 23.8 11.4 32.7 21.6c0 0 0 0 0 0c2 2.3 4 4.6 6 6.7l19 19.9zM384 240.2c0-36.5-37-73-54.8-88.4c-5.4-4.7-13.1-4.7-18.5 0C293 167.1 256 203.6 256 240.2c0 35.3 28.7 64 64 64s64-28.7 64-64zM32 280c0-13.3 10.7-24 24-24l48 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-24 0 0 80 480 0 0-80-24 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l48 0c13.3 0 24 10.7 24 24l0 104c17.7 0 32 14.3 32 32l0 64c0 17.7-14.3 32-32 32L32 512c-17.7 0-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32l0-104zM48 464l116.3 0c-2.7-4.7-4.3-10.2-4.3-16s1.6-11.3 4.3-16L48 432l0 32zm176-16c0 5.8-1.6 11.3-4.3 16l72.6 0c-2.7-4.7-4.3-10.2-4.3-16s1.6-11.3 4.3-16l-72.6 0c2.7 4.7 4.3 10.2 4.3 16zm128 0c0 5.8-1.6 11.3-4.3 16l72.6 0c-2.7-4.7-4.3-10.2-4.3-16s1.6-11.3 4.3-16l-72.6 0c2.7 4.7 4.3 10.2 4.3 16zm240 16l0-32-116.3 0c2.7 4.7 4.3 10.2 4.3 16s-1.6 11.3-4.3 16L592 464z\"]\n};\nvar faSquirrel = {\n prefix: 'far',\n iconName: 'squirrel',\n icon: [512, 512, [], \"f71a\", \"M147.7 48C92.7 48 48 92.7 48 147.7s44.7 99.7 99.7 99.7c22.4 0 40 19.2 38 41.5l-.7 7.7c-1 11-5.9 20.4-12 27.3c-13.1 14.9-21.1 34.4-21.1 55.8c0 39.1 26.6 72 62.8 81.5c-14.3-20-22.8-44.4-22.8-70.9c0-25 7.7-49.3 22-69.8l35-49.9C284.8 219.5 304 158.5 304 96V75.2C304 69 309 64 315.2 64c15.2 0 28.7 7.6 36.8 19.2C360.1 71.6 373.6 64 388.8 64C395 64 400 69 400 75.2V96h7.6c53.4 0 98.2 40.5 103.5 93.7l.8 8c.5 4.5-.4 9.1-2.4 13.1l-4.1 8.2c-14.4 28.8-42 48.1-73.4 52.3V326c24.3 19 40 48.7 40 82c0 20.6-6 39.8-16.3 56h33.4c13.3 0 24 10.7 24 24s-10.7 24-24 24H368 352 313.7 236.3c-73 0-132.3-59.2-132.3-132.3c0-32.3 11.6-61.9 30.8-84.8C59.3 288.3 0 225 0 147.7C0 66.1 66.1 0 147.7 0C207.3 0 258.6 35.3 282 86c5.5 12 .3 26.3-11.8 31.8s-26.3 .3-31.8-11.8c-15.8-34.3-50.5-58-90.6-58zM352 464h16c30.9 0 56-25.1 56-56s-25.1-56-56-56c-5.9 0-11.5 .9-16.8 2.6c-12.6 4-26.1-3.1-30.1-15.7s3.1-26.1 15.7-30.1c9.9-3.1 20.4-4.8 31.2-4.8c5.4 0 10.8 .4 16 1.2V248c0-13.3 10.7-24 24-24h11.5c18.2 0 34.8-10.3 42.9-26.5l1-2-.1-1.1c-2.9-28.6-27-50.4-55.7-50.4H400 352h-3.3c-7.6 55.2-28.2 108.1-60.4 154.2l-35 49.9c-8.7 12.4-13.3 27.1-13.3 42.2c0 40.7 33 73.7 73.7 73.7H352zm32-288a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faArrowUpToLine = {\n prefix: 'far',\n iconName: 'arrow-up-to-line',\n icon: [384, 512, [\"arrow-to-top\"], \"f341\", \"M24 32C10.7 32 0 42.7 0 56S10.7 80 24 80l336 0c13.3 0 24-10.7 24-24s-10.7-24-24-24L24 32zM209.5 167.6c-4.5-4.8-10.9-7.6-17.5-7.6s-12.9 2.7-17.5 7.6l-128 136c-9.1 9.7-8.6 24.8 1 33.9s24.8 8.6 33.9-1L168 244.5l0 83.5 0 128c0 13.3 10.7 24 24 24s24-10.7 24-24l0-128 0-83.5 86.5 91.9c9.1 9.7 24.3 10.1 33.9 1s10.1-24.3 1-33.9l-128-136z\"]\n};\nvar faArrowToTop = faArrowUpToLine;\nvar faFlag = {\n prefix: 'far',\n iconName: 'flag',\n icon: [448, 512, [127988, 61725], \"f024\", \"M48 24C48 10.7 37.3 0 24 0S0 10.7 0 24V64 350.5 400v88c0 13.3 10.7 24 24 24s24-10.7 24-24V388l80.3-20.1c41.1-10.3 84.6-5.5 122.5 13.4c44.2 22.1 95.5 24.8 141.7 7.4l34.7-13c12.5-4.7 20.8-16.6 20.8-30V66.1c0-23-24.2-38-44.8-27.7l-9.6 4.8c-46.3 23.2-100.8 23.2-147.1 0c-35.1-17.6-75.4-22-113.5-12.5L48 52V24zm0 77.5l96.6-24.2c27-6.7 55.5-3.6 80.4 8.8c54.9 27.4 118.7 29.7 175 6.8V334.7l-24.4 9.1c-33.7 12.6-71.2 10.7-103.4-5.4c-48.2-24.1-103.3-30.1-155.6-17.1L48 338.5v-237z\"]\n};\nvar faFaceCowboyHat = {\n prefix: 'far',\n iconName: 'face-cowboy-hat',\n icon: [512, 512, [], \"e36e\", \"M216 0c-36.8 0-67.4 64.9-82.4 109.8C100 99.3 70 84.6 45.1 66.8C42.6 65 39.7 64 36.7 64C27.7 64 21 72.3 23.8 80.7C50.8 163.2 144.5 224 256 224s205.2-60.8 232.2-143.3C491 72.3 484.3 64 475.3 64c-3 0-6 1-8.4 2.8C442 84.6 412 99.3 378.4 109.8C363.4 64.9 332.8 0 296 0c-9.1 0-17.9 4-26.1 10.7c-7.9 6.5-19.8 6.5-27.7 0C233.9 4 225.1 0 216 0zM75.8 200C58.1 230.6 48 266.1 48 304c0 114.9 93.1 208 208 208s208-93.1 208-208c0-37.9-10.1-73.4-27.8-104c-12.8 9.3-26.6 17.5-41.2 24.6c13.4 23.4 21 50.5 21 79.3c0 88.4-71.6 160-160 160s-160-71.6-160-160c0-28.9 7.6-55.9 21-79.3c-14.6-7.1-28.4-15.4-41.2-24.6zM366.4 367.5c5.7-11.5-6.2-22.2-18.6-18.8c-27.9 7.8-59 12.2-91.6 12.2s-63.7-4.3-91.6-12.2c-12.4-3.5-24.3 7.3-18.6 18.8C166.2 408.1 208 436 256.2 436s90-27.9 110.2-68.6zM192 304a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm152-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faHanukiah = {\n prefix: 'far',\n iconName: 'hanukiah',\n icon: [640, 512, [128334], \"f6e6\", \"M296 56c0-19.4 13.1-43.9 18.2-52.7C315.4 1.2 317.6 0 320 0s4.6 1.2 5.8 3.3C330.9 12.1 344 36.6 344 56c0 13.3-10.7 24-24 24s-24-10.7-24-24zM0 104C0 84.6 13.1 60.1 18.2 51.3C19.4 49.2 21.6 48 24 48s4.6 1.2 5.8 3.3C34.9 60.1 48 84.6 48 104c0 13.3-10.7 24-24 24s-24-10.7-24-24zM106.2 51.3c1.2-2.1 3.4-3.3 5.8-3.3s4.6 1.2 5.8 3.3C122.9 60.1 136 84.6 136 104c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-19.4 13.1-43.9 18.2-52.7zM152 104c0-19.4 13.1-43.9 18.2-52.7c1.2-2.1 3.4-3.3 5.8-3.3s4.6 1.2 5.8 3.3C186.9 60.1 200 84.6 200 104c0 13.3-10.7 24-24 24s-24-10.7-24-24zm82.2-52.7c1.2-2.1 3.4-3.3 5.8-3.3s4.6 1.2 5.8 3.3C250.9 60.1 264 84.6 264 104c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-19.4 13.1-43.9 18.2-52.7zM376 104c0-19.4 13.1-43.9 18.2-52.7c1.2-2.1 3.4-3.3 5.8-3.3s4.6 1.2 5.8 3.3C410.9 60.1 424 84.6 424 104c0 13.3-10.7 24-24 24s-24-10.7-24-24zm82.2-52.7c1.2-2.1 3.4-3.3 5.8-3.3s4.6 1.2 5.8 3.3C474.9 60.1 488 84.6 488 104c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-19.4 13.1-43.9 18.2-52.7zM504 104c0-19.4 13.1-43.9 18.2-52.7c1.2-2.1 3.4-3.3 5.8-3.3s4.6 1.2 5.8 3.3C538.9 60.1 552 84.6 552 104c0 13.3-10.7 24-24 24s-24-10.7-24-24zM610.2 51.3c1.2-2.1 3.4-3.3 5.8-3.3s4.6 1.2 5.8 3.3C626.9 60.1 640 84.6 640 104c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-19.4 13.1-43.9 18.2-52.7zM320 112c13.3 0 24 10.7 24 24V336H552c22.1 0 40-17.9 40-40V184c0-13.3 10.7-24 24-24s24 10.7 24 24V296c0 48.6-39.4 88-88 88H344v80H496c13.3 0 24 10.7 24 24s-10.7 24-24 24H320 144c-13.3 0-24-10.7-24-24s10.7-24 24-24H296V384H88c-48.6 0-88-39.4-88-88V184c0-13.3 10.7-24 24-24s24 10.7 24 24V296c0 22.1 17.9 40 40 40H296V136c0-13.3 10.7-24 24-24zM112 160c8.8 0 16 7.2 16 16V288v16H96V288 176c0-8.8 7.2-16 16-16zm64 0c8.8 0 16 7.2 16 16V288v16H160V288 176c0-8.8 7.2-16 16-16zm64 0c8.8 0 16 7.2 16 16V288v16H224V288 176c0-8.8 7.2-16 16-16zm160 0c8.8 0 16 7.2 16 16V288v16H384V288 176c0-8.8 7.2-16 16-16zm64 0c8.8 0 16 7.2 16 16V288v16H448V288 176c0-8.8 7.2-16 16-16zm64 0c8.8 0 16 7.2 16 16V288v16H512V288 176c0-8.8 7.2-16 16-16z\"]\n};\nvar faChartScatter3d = {\n prefix: 'far',\n iconName: 'chart-scatter-3d',\n icon: [512, 512, [], \"e0e8\", \"M32 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM280 56c0-13.3-10.7-24-24-24s-24 10.7-24 24V276.8L40.6 437.6c-10.1 8.5-11.5 23.7-2.9 33.8s23.7 11.5 33.8 2.9L256 319.3l184.6 155c10.2 8.5 25.3 7.2 33.8-2.9s7.2-25.3-2.9-33.8L280 276.8V56zM384 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm32 160a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm64-64a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM160 160a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM64 256A32 32 0 1 0 0 256a32 32 0 1 0 64 0zM256 480a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faDisplayChartUp = {\n prefix: 'far',\n iconName: 'display-chart-up',\n icon: [576, 512, [], \"e5e3\", \"M512 48c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H336.5c-.3 0-.6 0-.8 0H240.4c-.3 0-.6 0-.8 0H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H512zM64 416H211.7l-8 48H152c-13.3 0-24 10.7-24 24s10.7 24 24 24h72H352h72c13.3 0 24-10.7 24-24s-10.7-24-24-24H372.3l-8-48H512c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64zm188.3 48l8-48h55.3l8 48H252.3zM376 96c-13.3 0-24 10.7-24 24s10.7 24 24 24h22.1L304 238.1l-63-63c-9.4-9.4-24.6-9.4-33.9 0L103 279c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l87-87 63 63c4.5 4.5 10.6 7 17 7s12.5-2.5 17-7l111-111V200c0 13.3 10.7 24 24 24s24-10.7 24-24V120c0-13.3-10.7-24-24-24H376z\"]\n};\nvar faSquareCode = {\n prefix: 'far',\n iconName: 'square-code',\n icon: [448, 512, [], \"e267\", \"M384 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM255 175c-9.4 9.4-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l64-64c9.4-9.4 9.4-24.6 0-33.9l-64-64c-9.4-9.4-24.6-9.4-33.9 0zM193 209c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L95 239c-9.4 9.4-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47z\"]\n};\nvar faFeather = {\n prefix: 'far',\n iconName: 'feather',\n icon: [512, 512, [129718], \"f52d\", \"M311.9 166.1L112 366.1l0-36c0-55.2 21.9-108.1 60.9-147.1L276.7 79.2c20-20 47.1-31.2 75.3-31.2s55.3 11.2 75.3 31.2l5.5 5.5c20 20 31.2 47.1 31.2 75.3c0 16.8-4 33.3-11.4 48H337.9l7.9-7.9c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0zm-22 89.9H412.1l-48 48H241.9l48-48zm24.9 96c-37.2 30.9-84.2 48-132.9 48h-36l48-48H314.9zM64 330v84L7 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l57-57h84c67.9 0 133-27 181-75L466.7 269.3c29-29 45.3-68.3 45.3-109.3s-16.3-80.3-45.3-109.3l-5.5-5.5C432.3 16.3 393 0 352 0s-80.3 16.3-109.3 45.3L139 149C91 197 64 262.1 64 330z\"]\n};\nvar faVolumeLow = {\n prefix: 'far',\n iconName: 'volume-low',\n icon: [448, 512, [128264, \"volume-down\"], \"f027\", \"M159.9 201.9L272 102.3V409.7L159.9 310.1c-4.4-3.9-10.1-6.1-15.9-6.1H56c-4.4 0-8-3.6-8-8V216c0-4.4 3.6-8 8-8h88c5.9 0 11.6-2.2 15.9-6.1zM290.2 32c-7.3 0-14.3 2.7-19.8 7.5L134.9 160H56c-30.9 0-56 25.1-56 56v80c0 30.9 25.1 56 56 56h78.9L270.4 472.5c5.5 4.8 12.5 7.5 19.8 7.5c16.5 0 29.8-13.3 29.8-29.8V61.8C320 45.3 306.7 32 290.2 32zM412.6 181.5c-10.3-8.4-25.4-6.8-33.8 3.5s-6.8 25.4 3.5 33.8C393.1 227.6 400 241 400 256s-6.9 28.4-17.7 37.3c-10.3 8.4-11.8 23.5-3.5 33.8s23.5 11.8 33.8 3.5C434.1 312.9 448 286.1 448 256s-13.9-56.9-35.4-74.5z\"]\n};\nvar faVolumeDown = faVolumeLow;\nvar faXmarkToSlot = {\n prefix: 'far',\n iconName: 'xmark-to-slot',\n icon: [576, 512, [\"times-to-slot\", \"vote-nay\"], \"f771\", \"M144 80V360H432V80H144zM96 360V80c0-26.5 21.5-48 48-48H432c26.5 0 48 21.5 48 48V360c13.3 0 24 10.7 24 24s-10.7 24-24 24H432 144 96c-13.3 0-24-10.7-24-24s10.7-24 24-24zM64 288v48H48l0 96H528V336H512V288h16c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V336c0-26.5 21.5-48 48-48H64zM207 135c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faTimesToSlot = faXmarkToSlot;\nvar faVoteNay = faXmarkToSlot;\nvar faBoxTaped = {\n prefix: 'far',\n iconName: 'box-taped',\n icon: [448, 512, [\"box-alt\"], \"f49a\", \"M261.3 80h81.1c6.3 0 12.1 3.7 14.6 9.5L388.4 160H288L261.3 80zm-74.7 0L160 160 59.6 160 91 89.5c2.6-5.8 8.3-9.5 14.6-9.5h81.1zM160 208v48c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V208H400V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V208H160zM400.9 70c-10.3-23.1-33.2-38-58.5-38H105.6C80.3 32 57.4 46.9 47.1 70L5.5 163.6c-3.6 8.2-5.5 17-5.5 26V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V189.6c0-9-1.9-17.8-5.5-26L400.9 70z\"]\n};\nvar faBoxAlt = faBoxTaped;\nvar faCommentSlash = {\n prefix: 'far',\n iconName: 'comment-slash',\n icon: [640, 512, [], \"f4b3\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L512.9 376.7C552.2 340.2 576 292.3 576 240C576 125.1 461.4 32 320 32c-67.7 0-129.3 21.4-175.1 56.3L38.8 5.1zM184.2 119C219.3 95.2 265.7 80 320 80c124.7 0 208 80.5 208 160c0 38.4-19.4 77-53.5 106.6L184.2 119zM424.1 430.1l-46-36.3c-18.1 4-37.5 6.2-58 6.2c-31.6 0-61.3-5.5-87.8-15.1c-15-5.4-31.7-3.1-44.6 6.4c-8.2 6-22.3 14.8-39.4 22.7c5.6-14.7 9.9-31.3 11.3-49.4c1-12.9-3.3-25.7-11.8-35.5C124.4 302.8 112 272 112 240c0-16.2 3.4-32.4 10-47.9l-39-30.8C70.7 185.6 64 212.2 64 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-1.6 2.7-3.3 5.4-5.1 8.1l-.3 .5c-1.6 2.3-3.2 4.6-4.8 6.9c-3.5 4.7-7.3 9.3-11.3 13.5c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c5.1 0 10.2-.3 15.3-.8l.7-.1c4.4-.5 8.8-1.1 13.2-1.9c.8-.1 1.6-.3 2.4-.5c17.8-3.5 34.9-9.5 50.1-16.1c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9c37 0 72.3-6.4 104.1-17.9z\"]\n};\nvar faSwords = {\n prefix: 'far',\n iconName: 'swords',\n icon: [512, 512, [9876], \"f71d\", \"M347.3 199.4l33.9 33.9L491.1 123.5c7.9-7.9 12.8-18.4 13.9-29.6l7-76.5c.4-4.7-1.3-9.4-4.6-12.8s-8-5.1-12.8-4.6L418.1 7c-11.2 1-21.7 5.9-29.6 13.9L278.6 130.7l33.9 33.9L422.4 54.8l38.2-3.5-3.5 38.2L347.3 199.4zM233.4 381.3l-33.9-33.9-42.7 42.7-34.7-34.7 42.7-42.7-33.9-33.9L88 321.4 75.3 308.7c-6.2-6.2-16.4-6.2-22.6 0l-16 16c-4.7 4.7-6 11.8-3.3 17.8l27.5 62L4.7 460.7c-6.2 6.2-6.2 16.4 0 22.6l24 24c6.2 6.2 16.4 6.2 22.6 0l56.2-56.2 62 27.5c6 2.7 13.1 1.4 17.8-3.3l16-16c6.2-6.2 6.2-16.4 0-22.6L190.6 424l42.7-42.7zM54.8 89.6L51.3 51.3l38.2 3.5L367.4 332.7l33.9-33.9L123.5 20.9C115.6 12.9 105.1 8 93.9 7L17.4 .1C12.7-.4 8 1.3 4.7 4.7S-.4 12.7 .1 17.4L7 93.9c1 11.2 5.9 21.7 13.9 29.6L298.7 401.4l33.9-33.9L54.8 89.6zM459.3 308.7c-6.2-6.2-16.4-6.2-22.6 0l-128 128c-6.2 6.2-6.2 16.4 0 22.6l16 16c4.7 4.7 11.8 6 17.8 3.3l62-27.5 56.2 56.2c6.2 6.2 16.4 6.2 22.6 0l24-24c6.2-6.2 6.2-16.4 0-22.6l-56.2-56.2 27.5-62c2.7-6.1 1.4-13.1-3.3-17.8l-16-16z\"]\n};\nvar faCloudSunRain = {\n prefix: 'far',\n iconName: 'cloud-sun-rain',\n icon: [640, 512, [127782], \"f743\", \"M294.2 1.2c5.1 2.1 8.7 6.7 9.6 12.1l10.4 62.4c-23.3 10.8-42.9 28.4-56 50.3c-14.6-9-31.8-14.1-50.2-14.1c-53 0-96 43-96 96c0 35.5 19.3 66.6 48 83.2c.8 31.8 13.2 60.7 33.1 82.7l-56 39.2c-4.5 3.1-10.3 3.8-15.4 1.6s-8.7-6.7-9.6-12.1L98.1 317.9 13.4 303.8c-5.4-.9-10-4.5-12.1-9.6s-1.5-10.9 1.6-15.4L52.5 208 2.9 137.2c-3.2-4.5-3.8-10.3-1.6-15.4s6.7-8.7 12.1-9.6L98.1 98.1l14.1-84.7c.9-5.4 4.5-10 9.6-12.1s10.9-1.5 15.4 1.6L208 52.5 278.8 2.9c4.5-3.2 10.3-3.8 15.4-1.6zM208 144c13.8 0 26.7 4.4 37.1 11.9c-1.2 4.1-2.2 8.3-3 12.6c-37.9 14.6-67.2 46.6-77.8 86.4C151.8 243.1 144 226.5 144 208c0-35.3 28.7-64 64-64zm69.4 276c11 7.4 14 22.3 6.7 33.3l-32 48c-7.4 11-22.3 14-33.3 6.7s-14-22.3-6.7-33.3l32-48c7.4-11 22.3-14 33.3-6.7zm96 0c11 7.4 14 22.3 6.7 33.3l-32 48c-7.4 11-22.3 14-33.3 6.7s-14-22.3-6.7-33.3l32-48c7.4-11 22.3-14 33.3-6.7zm96 0c11 7.4 14 22.3 6.7 33.3l-32 48c-7.4 11-22.3 14-33.3 6.7s-14-22.3-6.7-33.3l32-48c7.4-11 22.3-14 33.3-6.7zm96 0c11 7.4 14 22.3 6.7 33.3l-32 48c-7.4 11-22.3 14-33.3 6.7s-14-22.3-6.7-33.3l32-48c7.4-11 22.3-14 33.3-6.7zM320.1 192c0 .8 0 1.7-.1 2.5l-2 23.8c-1.1 13.2-12.7 23-25.9 21.9c-1.3-.1-2.6-.2-4-.2c-26.5 0-48 21.5-48 48s21.5 48 48 48c.6 0 1.3 0 1.9 0c.3 0 .6 0 .9 0H557.8c.3 0 .6 0 1 0c.4 0 .9 0 1.3 0c17.7 0 32-14.3 32-32s-14.3-32-32-32c-1.6 0-3.1 .1-4.6 .3c-6.9 1-13.9-1.1-19.1-5.6s-8.3-11.2-8.3-18.1V218.3c0-.3 0-.6 0-.9c0-.5 0-1 0-1.5s0-1 0-1.5c0-.3 0-.6 0-.9v-1.1c-.1-.6-.2-1.1-.3-1.7c-2.5-19.6-19.3-34.8-39.7-34.8c-12.6 0-23.8 5.8-31.1 14.9c-5.8 7.1-15.1 10.4-24.1 8.3s-15.9-9.1-18-18c-4.9-21.3-24-37.2-46.8-37.2c-26.5 0-48 21.5-48 48zm48-96c33 0 62 16.6 79.3 41.9c12.2-6.3 26-9.9 40.6-9.9c43 0 78.8 30.9 86.5 71.7c1 2.6 1.5 5.4 1.5 8.3v5.3c0 .9 0 1.8 0 2.7s0 1.8 0 2.7v6.9c36.5 7.4 64 39.7 64 78.4c0 44.2-35.8 80-80 80c-.9 0-1.8 0-2.7 0h-266c-1.1 0-2.1 .1-3.2 .1c-53 0-96-43-96-96c0-47.5 34.5-86.9 79.8-94.6l.2-2.5c.6-52.5 43.4-94.8 96-94.8z\"]\n};\nvar faAlbum = {\n prefix: 'far',\n iconName: 'album',\n icon: [448, 512, [128189], \"f89f\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM80 256a144 144 0 1 1 288 0A144 144 0 1 1 80 256zm176 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faCircleN = {\n prefix: 'far',\n iconName: 'circle-n',\n icon: [512, 512, [], \"e118\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM203.7 138.3c-6-8.6-16.9-12.4-26.9-9.2s-16.8 12.4-16.8 22.9V360c0 13.3 10.7 24 24 24s24-10.7 24-24V228.8L308.3 373.7c6 8.6 16.9 12.4 26.9 9.2s16.8-12.4 16.8-22.9V152c0-13.3-10.7-24-24-24s-24 10.7-24 24V283.2L203.7 138.3z\"]\n};\nvar faCompress = {\n prefix: 'far',\n iconName: 'compress',\n icon: [448, 512, [], \"f066\", \"M160 56c0-13.3-10.7-24-24-24s-24 10.7-24 24v88H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H136c13.3 0 24-10.7 24-24V56zM24 320c-13.3 0-24 10.7-24 24s10.7 24 24 24h88v88c0 13.3 10.7 24 24 24s24-10.7 24-24V344c0-13.3-10.7-24-24-24H24zM336 56c0-13.3-10.7-24-24-24s-24 10.7-24 24V168c0 13.3 10.7 24 24 24H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H336V56zM312 320c-13.3 0-24 10.7-24 24V456c0 13.3 10.7 24 24 24s24-10.7 24-24V368h88c13.3 0 24-10.7 24-24s-10.7-24-24-24H312z\"]\n};\nvar faWheatAwn = {\n prefix: 'far',\n iconName: 'wheat-awn',\n icon: [512, 512, [\"wheat-alt\"], \"e2cd\", \"M504.7 7.2c9.4 9.4 9.4 24.6 0 33.9L366.1 179.7c7.9 .9 15.8 2.5 23.4 4.8L471 103c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-71.4 71.4c3.1 2.5 6 5.2 8.9 8.1l16.9 16.9c9.4 9.4 9.4 24.6 0 33.9l-16.9 16.9c-16.9 16.9-37.9 27.3-59.8 31.1c6.9 9.4 6.1 22.6-2.4 31.1l-16.9 16.9c-16.9 16.9-37.9 27.3-59.8 31.1c6.9 9.4 6.1 22.6-2.4 31.1l-16.9 16.9c-43.7 43.7-114.6 43.7-158.4 0l-11.3-11.3 0 0L41 504.9c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l73.5-73.5 0 0L69.3 386.1c-43.7-43.7-43.7-114.7 0-158.4l16.9-16.9c8.5-8.5 21.7-9.3 31.1-2.4c3.8-21.9 14.2-42.9 31.1-59.8l16.9-16.9c8.5-8.5 21.7-9.3 31.1-2.4c3.8-21.9 14.2-42.9 31.1-59.8l16.9-16.9c9.4-9.4 24.6-9.4 33.9 0l16.9 16.9c2.9 2.9 5.7 5.9 8.2 9L375 7c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-81.6 81.6c2.3 7.6 3.9 15.4 4.8 23.2L470.7 7.2c9.4-9.4 24.6-9.4 33.9 0zM261.5 103.3c-25 25-25 65.5 0 90.5L271.7 204c20.5-31 17.2-73.3-10.2-100.6zm-79.2 79.2c-25 25-25 65.5 0 90.5l10.1 10.1c20.5-31 17.2-73.3-10.2-100.6zM159.7 408.7c25 25 65.5 25 90.5 0c-27.4-27.3-69.6-30.7-100.6-10.2l10.1 10.1zm-56.5-56.5l10.1 10.1c20.5-31 17.2-73.3-10.2-100.6c-25 25-25 65.5 0 90.5zm135.7-22.7c25 25 65.5 25 90.5 0c-27.4-27.3-69.6-30.7-100.6-10.2l10.1 10.1zm79.2-79.2c25 25 65.5 25 90.5 0C381.2 223 339 219.7 307.9 240.2l10.1 10.1z\"]\n};\nvar faWheatAlt = faWheatAwn;\nvar faAnkh = {\n prefix: 'far',\n iconName: 'ankh',\n icon: [320, 512, [9765], \"f644\", \"M80 128c0 42.3 22.6 78.9 50.5 107.6c10.3 10.6 20.6 19.4 29.5 26.3c8.9-6.9 19.3-15.7 29.5-26.3C217.4 206.9 240 170.3 240 128c0-44.2-35.8-80-80-80s-80 35.8-80 80zM98.9 272C66 238.9 32 189.8 32 128C32 57.3 89.3 0 160 0s128 57.3 128 128c0 61.8-34 110.9-66.9 144H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H184V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V320H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H98.9z\"]\n};\nvar faHandsHoldingChild = {\n prefix: 'far',\n iconName: 'hands-holding-child',\n icon: [640, 512, [], \"e4fa\", \"M320 80a40 40 0 1 0 0-80 40 40 0 1 0 0 80zm44.7 84.3L384.5 181c10.1 8.6 25.3 7.3 33.8-2.8s7.3-25.3-2.8-33.8l-27.9-23.6C368.7 104.8 344.7 96 320 96s-48.7 8.8-67.6 24.7l-27.9 23.6c-10.1 8.6-11.4 23.7-2.8 33.8s23.7 11.4 33.8 2.8l19.8-16.7L264.2 253c-1.6 13.2 7.7 25.1 20.8 26.8s25.1-7.7 26.8-20.8l4.4-35h7.6l4.4 35c1.6 13.2 13.6 22.5 26.8 20.8s22.5-13.6 20.8-26.8l-11.1-88.8zM144 136c0-39.8-32.2-72-72-72S0 96.2 0 136V352.2c0 31.8 12.6 62.3 35.1 84.9L103 505c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L69.1 403.1C55.6 389.6 48 371.3 48 352.2V136c0-13.3 10.7-24 24-24s24 10.7 24 24V281.9c0 25.6 10.2 50.2 28.3 68.4l15.9 15.9 0 0L167 393l0 0 16 16c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-16-16 0 0-26.7-26.7c-4-4-6.2-9.4-6.2-15c0-11.7 9.5-21.3 21.3-21.3c5.6 0 11 2.2 15 6.2l61.4 61.4C285.1 383 296 409.4 296 436.8V488c0 13.3 10.7 24 24 24s24-10.7 24-24V436.8c0-27.4 10.9-53.8 30.3-73.2l61.4-61.4c4-4 9.4-6.2 15-6.2c11.7 0 21.3 9.5 21.3 21.3c0 5.6-2.2 11-6.2 15L439 359l0 0-16 16c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l16-16 0 0 26.7-26.7 0 0 15.9-15.9c18.1-18.1 28.3-42.7 28.3-68.4V136c0-13.3 10.7-24 24-24s24 10.7 24 24V352.2c0 19.1-7.6 37.4-21.1 50.9L503 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l67.9-67.9c22.5-22.5 35.1-53 35.1-84.9V136c0-39.8-32.2-72-72-72s-72 32.2-72 72V264.8c-12.1-10.5-28-16.8-45.3-16.8c-18.4 0-36 7.3-49 20.3l-61.4 61.4c-7.7 7.7-14.5 16.2-20.4 25.3c-5.8-9.1-12.6-17.5-20.4-25.3l-61.4-61.4c-13-13-30.6-20.3-49-20.3c-17.3 0-33.1 6.3-45.3 16.8V136z\"]\n};\nvar faAsterisk = {\n prefix: 'far',\n iconName: 'asterisk',\n icon: [384, 512, [10033, 61545], \"2a\", \"M192 32c13.3 0 24 10.7 24 24V212.9l131.4-81.3c11.3-7 26.1-3.5 33 7.8s3.5 26.1-7.8 33L237.6 256l135 83.6c11.3 7 14.8 21.8 7.8 33s-21.8 14.7-33 7.8L216 299.1V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V299.1L36.6 380.4c-11.3 7-26.1 3.5-33-7.8s-3.5-26.1 7.8-33l135-83.6-135-83.6c-11.3-7-14.8-21.8-7.8-33s21.8-14.8 33-7.8L168 212.9V56c0-13.3 10.7-24 24-24z\"]\n};\nvar faKeySkeletonLeftRight = {\n prefix: 'far',\n iconName: 'key-skeleton-left-right',\n icon: [640, 512, [], \"e3b4\", \"M592 128a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zm48 0c0 70.7-57.3 128-128 128c-62.5 0-114.5-44.8-125.8-104H304v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V152H208l0 48c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-72c0-13.3 10.7-24 24-24l202.2 0C397.5 44.8 449.5 0 512 0c70.7 0 128 57.3 128 128zM48 384a80 80 0 1 0 160 0A80 80 0 1 0 48 384zM0 384c0-70.7 57.3-128 128-128c62.5 0 114.5 44.8 125.8 104l82.2 0V312c0-13.3 10.7-24 24-24s24 10.7 24 24v48h48l0-48c0-13.3 10.7-24 24-24s24 10.7 24 24l0 72c0 13.3-10.7 24-24 24H253.8C242.5 467.2 190.5 512 128 512C57.3 512 0 454.7 0 384z\"]\n};\nvar faCommentLines = {\n prefix: 'far',\n iconName: 'comment-lines',\n icon: [512, 512, [], \"f4b0\", \"M168.2 384.9c-15-5.4-31.7-3.1-44.6 6.4c-8.2 6-22.3 14.8-39.4 22.7c5.6-14.7 9.9-31.3 11.3-49.4c1-12.9-3.3-25.7-11.8-35.5C60.4 302.8 48 272 48 240c0-79.5 83.3-160 208-160s208 80.5 208 160s-83.3 160-208 160c-31.6 0-61.3-5.5-87.8-15.1zM26.3 423.8c-1.6 2.7-3.3 5.4-5.1 8.1l-.3 .5c-1.6 2.3-3.2 4.6-4.8 6.9c-3.5 4.7-7.3 9.3-11.3 13.5c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c5.1 0 10.2-.3 15.3-.8l.7-.1c4.4-.5 8.8-1.1 13.2-1.9c.8-.1 1.6-.3 2.4-.5c17.8-3.5 34.9-9.5 50.1-16.1c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9zM152 176c-13.3 0-24 10.7-24 24s10.7 24 24 24H360c13.3 0 24-10.7 24-24s-10.7-24-24-24H152zm0 96c-13.3 0-24 10.7-24 24s10.7 24 24 24H264c13.3 0 24-10.7 24-24s-10.7-24-24-24H152z\"]\n};\nvar faLuchadorMask = {\n prefix: 'far',\n iconName: 'luchador-mask',\n icon: [448, 512, [\"luchador\", \"mask-luchador\"], \"f455\", \"M288 464H160C98.1 464 48 413.9 48 352V224c0-97.2 78.8-176 176-176s176 78.8 176 176V352c0 61.9-50.1 112-112 112zM224 0C100.3 0 0 100.3 0 224V352c0 88.4 71.6 160 160 160H288c88.4 0 160-71.6 160-160V224C448 100.3 347.7 0 224 0zM160 352h35.3 57.4H288c17.7 0 32 14.3 32 32s-14.3 32-32 32H160c-17.7 0-32-14.3-32-32s14.3-32 32-32zm-6.4-31.7C121.2 323.5 96 350.8 96 384c0 35.3 28.7 64 64 64H288c35.3 0 64-28.7 64-64c0-33.2-25.2-60.5-57.6-63.7c1-3.7 1.6-7.6 1.6-11.6c0-7.3-1.8-14.4-5.3-20.7H304c44.2 0 80-35.8 80-80c0-26.5-21.5-48-48-48H304c-44.2 0-80 35.8-80 80c0-44.2-35.8-80-80-80H112c-26.5 0-48 21.5-48 48c0 44.2 35.8 80 80 80h13.3c-3.4 6.3-5.3 13.4-5.3 20.7c0 4 .6 7.9 1.6 11.6zm41.7-.3c-6.2 0-11.3-5.1-11.3-11.3c0-3 1.2-5.9 3.3-8l8-8 4.2-4.2 .4-.4 10.3-10.3c3.6-3.6 8.5-5.7 13.7-5.7s10 2 13.7 5.7L248 288l.4 .4 4.2 4.2 8 8c2.1 2.1 3.3 5 3.3 8c0 6.2-5.1 11.3-11.3 11.3H241.4h-6-.6H213.3h-.6-6H195.3zM96 208c0-8.8 7.2-16 16-16h32c26.5 0 48 21.5 48 48c0 8.8-7.2 16-16 16H144c-26.5 0-48-21.5-48-48zm240-16c8.8 0 16 7.2 16 16c0 26.5-21.5 48-48 48H272c-8.8 0-16-7.2-16-16c0-26.5 21.5-48 48-48h32z\"]\n};\nvar faLuchador = faLuchadorMask;\nvar faMaskLuchador = faLuchadorMask;\nvar faSquareCheck = {\n prefix: 'far',\n iconName: 'square-check',\n icon: [448, 512, [9745, 9989, 61510, \"check-square\"], \"f14a\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM337 209L209 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L303 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\"]\n};\nvar faCheckSquare = faSquareCheck;\nvar faShredder = {\n prefix: 'far',\n iconName: 'shredder',\n icon: [512, 512, [], \"f68a\", \"M112 192V64c0-8.8 7.2-16 16-16H357.5c4.2 0 8.3 1.7 11.3 4.7l26.5 26.5c3 3 4.7 7.1 4.7 11.3V192H112zM64 64V192c-35.3 0-64 28.7-64 64v96c0 17.7 14.3 32 32 32H480c17.7 0 32-14.3 32-32V256c0-35.3-28.7-64-64-64V90.5c0-17-6.7-33.3-18.7-45.3L402.7 18.7C390.7 6.7 374.5 0 357.5 0H128C92.7 0 64 28.7 64 64zM448 240c8.8 0 16 7.2 16 16v80H48V256c0-8.8 7.2-16 16-16H448zM40 488c0 13.3 10.7 24 24 24s24-10.7 24-24V416H40v72zm96 0c0 13.3 10.7 24 24 24s24-10.7 24-24V416H136v72zm96 0c0 13.3 10.7 24 24 24s24-10.7 24-24V416H232v72zm96 0c0 13.3 10.7 24 24 24s24-10.7 24-24V416H328v72zm96 0c0 13.3 10.7 24 24 24s24-10.7 24-24V416H424v72z\"]\n};\nvar faBookOpenCover = {\n prefix: 'far',\n iconName: 'book-open-cover',\n icon: [640, 512, [\"book-open-alt\"], \"e0c0\", \"M512 337.2V52.4L344 77V373l168-35.8zM296 373V77L128 52.4V337.2L296 373zM523.4 2.2C542.7-.7 560 14.3 560 33.8V350.1c0 15.1-10.6 28.1-25.3 31.3l-201.3 43c-8.8 1.9-17.9 1.9-26.7 0l-201.3-43C90.6 378.3 80 365.2 80 350.1V33.8C80 14.3 97.3-.7 116.6 2.2L320 32 523.4 2.2zM38.3 23.7l10.2 2c-.3 2.7-.5 5.4-.5 8.1V74.6 342.1v66.7l265.8 54.5c2 .4 4.1 .6 6.2 .6s4.2-.2 6.2-.6L592 408.8V342.1 74.6 33.8c0-2.8-.2-5.5-.5-8.1l10.2-2C621.5 19.7 640 34.8 640 55V421.9c0 15.2-10.7 28.3-25.6 31.3L335.8 510.4c-5.2 1.1-10.5 1.6-15.8 1.6s-10.6-.5-15.8-1.6L25.6 453.2C10.7 450.2 0 437.1 0 421.9V55C0 34.8 18.5 19.7 38.3 23.7z\"]\n};\nvar faBookOpenAlt = faBookOpenCover;\nvar faSandwich = {\n prefix: 'far',\n iconName: 'sandwich',\n icon: [512, 512, [129386], \"f81f\", \"M48 112H464v32H48V112zM32 64C14.3 64 0 78.3 0 96v64c0 17.7 14.3 32 32 32H480c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H32zM48 368H464v32H48V368zM32 320c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H480c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32H32zm-8-24c11.8 0 23.1-2.9 33.1-6.3c8.8-3 17.8-6.8 26.1-10.3l0 0 3.1-1.3c19.6-8.3 35.3-14.1 49.7-14.1c18.2 0 30.9 5.7 48.7 13.8C202.6 286 224.7 296 256 296s53.4-10 71.3-18.2c17.8-8.1 30.5-13.8 48.7-13.8c14.4 0 30.1 5.9 49.7 14.1l3.1 1.3 0 0c8.3 3.5 17.3 7.3 26.1 10.3c9.9 3.4 21.3 6.3 33.1 6.3c13.3 0 24-10.7 24-24s-10.7-24-24-24c-4.2 0-9.9-1.1-17.7-3.7c-7-2.4-14.3-5.5-22.8-9.1l0 0-3.1-1.3C425.9 226.1 401.6 216 376 216c-28.8 0-49.9 9.6-66.9 17.4l-1.7 .8C290.1 242 276.2 248 256 248s-34.1-6-51.4-13.8l-1.7-.8c-17-7.8-38.1-17.4-66.9-17.4c-25.6 0-49.9 10.1-68.3 17.9l-3.2 1.3 0 0c-8.5 3.6-15.9 6.7-22.8 9.1C33.9 246.9 28.2 248 24 248c-13.3 0-24 10.7-24 24s10.7 24 24 24z\"]\n};\nvar faPesetaSign = {\n prefix: 'far',\n iconName: 'peseta-sign',\n icon: [384, 512, [], \"e221\", \"M93.9 32C68.6 32 48 52.6 48 77.9V176H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H48V328 456c0 13.3 10.7 24 24 24s24-10.7 24-24V352h96c77.4 0 142-55 156.8-128H360c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8.8C343.2 95.1 275 32 192 32H93.9zM302.9 176H96V80h96c56.4 0 103.1 41.7 110.9 96zM96 224H299.4c-13.8 46.3-56.6 80-107.4 80H96V224z\"]\n};\nvar faSquareParkingSlash = {\n prefix: 'far',\n iconName: 'square-parking-slash',\n icon: [640, 512, [\"parking-slash\"], \"f617\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-86.8-68V96c0-35.3-28.7-64-64-64H160c-21.6 0-40.7 10.7-52.3 27.1L38.8 5.1zM145.7 88.9c2.6-5.3 8.1-8.9 14.3-8.9H480c8.8 0 16 7.2 16 16V363.5L408.6 295c19.3-17.6 31.4-42.9 31.4-71c0-53-43-96-96-96H264c-16.5 0-30.2 12.6-31.8 28.7L145.7 88.9zM369.8 264.5L280 194.2V176h64c26.5 0 48 21.5 48 48c0 17-8.9 32-22.2 40.5zM426.5 432H160c-8.8 0-16-7.2-16-16V209.5L96 171.6V416c0 35.3 28.7 64 64 64H480c2.3 0 4.6-.1 6.9-.4L426.5 432zM232 278.8V296v64c0 13.3 10.7 24 24 24s24-10.7 24-24v-8V320v-3.4l-48-37.8z\"]\n};\nvar faParkingSlash = faSquareParkingSlash;\nvar faTrainTunnel = {\n prefix: 'far',\n iconName: 'train-tunnel',\n icon: [512, 512, [], \"e454\", \"M48 256C48 141.1 141.1 48 256 48s208 93.1 208 208V488c0 13.3 10.7 24 24 24s24-10.7 24-24V256C512 114.6 397.4 0 256 0S0 114.6 0 256V488c0 13.3 10.7 24 24 24s24-10.7 24-24V256zm304-48v48H160V208c0-17.7 14.3-32 32-32H320c17.7 0 32 14.3 32 32zM160 368V304H352v64c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32zm32-240c-44.2 0-80 35.8-80 80V368c0 27.7 14.1 52.2 35.5 66.5L111 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l57-57H310.1l57 57c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-36.5-36.5C385.9 420.2 400 395.7 400 368V208c0-44.2-35.8-80-80-80H192zm96 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faHeading = {\n prefix: 'far',\n iconName: 'heading',\n icon: [448, 512, [\"header\"], \"f1dc\", \"M0 56C0 42.7 10.7 32 24 32H136c13.3 0 24 10.7 24 24s-10.7 24-24 24H104V224H344V80H312c-13.3 0-24-10.7-24-24s10.7-24 24-24H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H392V248 432h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H312c-13.3 0-24-10.7-24-24s10.7-24 24-24h32V272H104V432h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H56V248 80H24C10.7 80 0 69.3 0 56z\"]\n};\nvar faHeader = faHeading;\nvar faGhost = {\n prefix: 'far',\n iconName: 'ghost',\n icon: [384, 512, [128123], \"f6e2\", \"M48 192V415.5c26.3-4.9 54.6 3.7 73.6 25.5l6.4 7.3 3.8-4.3c31.9-36.4 88.5-36.4 120.4 0l3.8 4.3 6.4-7.3c19.1-21.8 47.3-30.4 73.6-25.5V192c0-79.5-64.5-144-144-144S48 112.5 48 192zM256 512c-5.1 0-9.9-2.2-13.3-6l-26.6-30.5c-12.7-14.6-35.4-14.6-48.2 0L141.3 506c-3.3 3.8-8.2 6-13.3 6s-9.9-2.2-13.3-6L85.5 472.5c-11.6-13.3-32.1-14-44.5-1.5l-2.3 2.3c-4.2 4.2-10 6.6-16 6.6C10.1 480 0 469.9 0 457.4V192C0 86 86 0 192 0S384 86 384 192V457.4c0 12.5-10.1 22.6-22.6 22.6c-6 0-11.8-2.4-16-6.6l-2.3-2.3c-12.5-12.5-32.9-11.8-44.5 1.5L269.3 506c-3.3 3.8-8.2 6-13.3 6zM96 192a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm128 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faFaceAnguished = {\n prefix: 'far',\n iconName: 'face-anguished',\n icon: [512, 512, [], \"e369\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256 64c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16H192c-8.8 0-16-7.2-16-16c0-44.2 35.8-80 80-80zM144.4 224a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM192 144c-4.4 0-8.8 .3-13 .9c-21.2 2.8-40.6 12.4-56.1 26.8c-6.5 6-16.6 5.7-22.6-.8s-5.7-16.6 .8-22.6c20.1-18.7 45.5-31.5 73.7-35.2c5.6-.7 11.4-1.1 17.2-1.1c8.8 0 16 7.2 16 16s-7.2 16-16 16zm141 .9c-4.3-.6-8.6-.9-13-.9c-8.8 0-16-7.2-16-16s7.2-16 16-16c5.8 0 11.6 .4 17.2 1.1c28.2 3.7 53.7 16.4 73.7 35.2c6.5 6 6.8 16.2 .8 22.6s-16.2 6.8-22.6 .8c-15.5-14.5-34.8-24-56.1-26.8z\"]\n};\nvar faHockeySticks = {\n prefix: 'far',\n iconName: 'hockey-sticks',\n icon: [640, 512, [], \"f454\", \"M173.3 13L302 261.7 288.4 288H261.5L130.7 35C124.6 23.3 129.2 8.8 141 2.7s26.3-1.5 32.3 10.3zM373.1 368l24.8-48H576c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64H421.2c-26.9 0-51.6-15-64-38.9L338 435.9l27-52.2L399.9 451c4.1 8 12.3 13 21.3 13H496V368H373.1zM544 368v96h32c8.8 0 16-7.2 16-16V384c0-8.8-7.2-16-16-16H544zM499 2.7c11.8 6.1 16.4 20.6 10.3 32.3L282.7 473.1c-12.4 23.9-37 38.9-64 38.9H64c-35.3 0-64-28.7-64-64V384c0-35.3 28.7-64 64-64H304c1.3 0 2.5 .1 3.7 .3L466.7 13C472.8 1.2 487.3-3.4 499 2.7zM283 368H144v96h74.8c9 0 17.2-5 21.3-13L283 368zM64 368c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16H96V368H64z\"]\n};\nvar faAbacus = {\n prefix: 'far',\n iconName: 'abacus',\n icon: [576, 512, [129518], \"f640\", \"M512 80c8.8 0 16 7.2 16 16V208H448V176h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V80h64zm-96 48h-8c-13.3 0-24 10.7-24 24s10.7 24 24 24h8v32H288V176h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V80H416v48zm-160 0h-8c-13.3 0-24 10.7-24 24s10.7 24 24 24h8v32H160V176h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V80h96v48zm-128 0h-8c-13.3 0-24 10.7-24 24s10.7 24 24 24h8v32H48V96c0-8.8 7.2-16 16-16h64v48zM48 416V240h80v24h-8c-13.3 0-24 10.7-24 24s10.7 24 24 24h8v24h-8c-13.3 0-24 10.7-24 24s10.7 24 24 24h8v48H64c-8.8 0-16-7.2-16-16zm112-32h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V312h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V240h96v24h-8c-13.3 0-24 10.7-24 24s10.7 24 24 24h8v24h-8c-13.3 0-24 10.7-24 24s10.7 24 24 24h8v48H160V384zm128-72h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V240H416v96h-8c-13.3 0-24 10.7-24 24s10.7 24 24 24h8v48H288V384h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V312zm160 72h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V240h80V416c0 8.8-7.2 16-16 16H448V384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64z\"]\n};\nvar faFilmSimple = {\n prefix: 'far',\n iconName: 'film-simple',\n icon: [512, 512, [\"film-alt\"], \"f3a0\", \"M160 432H352V320 192 80H160V192 320 432zM112 80H64c-8.8 0-16 7.2-16 16v72h64V80zm0 136H48v80h64V216zm0 128H48v72c0 8.8 7.2 16 16 16h48V344zM400 80v88h64V96c0-8.8-7.2-16-16-16H400zm64 136H400v80h64V216zm0 128H400v88h48c8.8 0 16-7.2 16-16V344zM64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32z\"]\n};\nvar faFilmAlt = faFilmSimple;\nvar faList = {\n prefix: 'far',\n iconName: 'list',\n icon: [512, 512, [\"list-squares\"], \"f03a\", \"M40 48C26.7 48 16 58.7 16 72v48c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24V72c0-13.3-10.7-24-24-24H40zM184 72c-13.3 0-24 10.7-24 24s10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H184zm0 160c-13.3 0-24 10.7-24 24s10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H184zm0 160c-13.3 0-24 10.7-24 24s10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H184zM16 232v48c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24V232c0-13.3-10.7-24-24-24H40c-13.3 0-24 10.7-24 24zM40 368c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24V392c0-13.3-10.7-24-24-24H40z\"]\n};\nvar faListSquares = faList;\nvar faTreePalm = {\n prefix: 'far',\n iconName: 'tree-palm',\n icon: [576, 512, [127796], \"f82b\", \"M102.9 91.4l30.3 50.5c-4 3.5-8 7.2-12 11.2c-71 71-60.2 151-32.7 191.3c5 7.3 15.2 7.3 21.4 1L236 219.3c2.3 9.3 4.3 20.3 5.6 32.9c4.9 46.6 .5 115.1-26.4 208.3c-7.3 25.3 11.3 51.5 38.5 51.5h84.1c20 0 37.6-15 39.6-35.7c9.2-95.5-5.9-202-34.3-284.3H446.7c2.8 0 5.4-1.5 6.9-3.9l19.6-32.7c3.1-5.2 10.6-5.2 13.7 0l19.6 32.7c1.4 2.4 4.1 3.9 6.9 3.9H560c8.8 0 16.1-7.2 14.4-15.9C565.3 128.2 516.4 64 416 64c-43.7 0-77.6 12.2-102.8 29.8C296.5 49.4 248 0 160 0C59.6 0 10.7 64.2 1.6 112.1C-.1 120.8 7.2 128 16 128H62.7c2.8 0 5.4-1.5 6.9-3.9L89.1 91.4c3.1-5.2 10.6-5.2 13.7 0zM292 192c28.6 74.1 46 177.9 38.3 272H264.1c25.8-92.9 30.7-164.5 25.2-216.8c-2.2-21.5-6.2-39.9-11.4-55.2H292z\"]\n};\nvar faSquarePhoneFlip = {\n prefix: 'far',\n iconName: 'square-phone-flip',\n icon: [448, 512, [\"phone-square-alt\"], \"f87b\", \"M384 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H384zm64 16c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96zM293.3 128.7c-9.7-2.6-19.9 2.3-23.7 11.6l-20 48c-3.4 8.2-1 17.6 5.8 23.2L280 231.7c-16.6 35.2-45.1 63.7-80.3 80.3l-20.2-24.7c-5.6-6.8-15-9.2-23.2-5.8l-48 20c-9.3 3.9-14.2 14-11.6 23.7l12 44C111.1 378 119 384 128 384c123.7 0 224-100.3 224-224c0-9-6-16.9-14.7-19.3l-44-12z\"]\n};\nvar faPhoneSquareAlt = faSquarePhoneFlip;\nvar faCartPlus = {\n prefix: 'far',\n iconName: 'cart-plus',\n icon: [576, 512, [], \"f217\", \"M0 24C0 10.7 10.7 0 24 0H69.5c26.9 0 50 19.1 55 45.5l37 194.5H459.2c10.9 0 20.4-7.3 23.2-17.8L528.8 49.8c3.4-12.8 16.6-20.4 29.4-16.9s20.4 16.6 16.9 29.4L528.7 234.7c-8.5 31.4-37 53.3-69.5 53.3H170.7l5.4 28.5c2.2 11.3 12.1 19.5 23.6 19.5H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H199.7c-34.6 0-64.3-24.6-70.7-58.5L77.4 54.5c-.7-3.8-4-6.5-7.9-6.5H24C10.7 48 0 37.3 0 24zM128 464a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm336-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM344 48V88h40c13.3 0 24 10.7 24 24s-10.7 24-24 24H344v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V136H256c-13.3 0-24-10.7-24-24s10.7-24 24-24h40V48c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faGamepad = {\n prefix: 'far',\n iconName: 'gamepad',\n icon: [640, 512, [], \"f11b\", \"M192 112c-79.5 0-144 64.5-144 144s64.5 144 144 144H448c79.5 0 144-64.5 144-144s-64.5-144-144-144H192zM0 256C0 150 86 64 192 64H448c106 0 192 86 192 192s-86 192-192 192H192C86 448 0 362 0 256zm232-56v32h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H232v32c0 13.3-10.7 24-24 24s-24-10.7-24-24V280H152c-13.3 0-24-10.7-24-24s10.7-24 24-24h32V200c0-13.3 10.7-24 24-24s24 10.7 24 24zm168 72a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm32-64a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faBorderCenterV = {\n prefix: 'far',\n iconName: 'border-center-v',\n icon: [448, 512, [], \"f89d\", \"M448 448a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm0-96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM64 352A32 32 0 1 0 0 352a32 32 0 1 0 64 0zM384 160a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zM64 160A32 32 0 1 0 0 160a32 32 0 1 0 64 0zm320 96a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zM64 256A32 32 0 1 0 0 256a32 32 0 1 0 64 0zM384 64a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zM0 64a32 32 0 1 0 64 0A32 32 0 1 0 0 64zM64 448A32 32 0 1 0 0 448a32 32 0 1 0 64 0zM288 256a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zM352 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM288 448a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zM160 64A32 32 0 1 0 96 64a32 32 0 1 0 64 0zM96 448a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm64-192a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm40 200c0 13.3 10.7 24 24 24s24-10.7 24-24l0-400c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 400z\"]\n};\nvar faCircleDot = {\n prefix: 'far',\n iconName: 'circle-dot',\n icon: [512, 512, [128280, \"dot-circle\"], \"f192\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256-96a96 96 0 1 1 0 192 96 96 0 1 1 0-192z\"]\n};\nvar faDotCircle = faCircleDot;\nvar faClipboardMedical = {\n prefix: 'far',\n iconName: 'clipboard-medical',\n icon: [384, 512, [], \"e133\", \"M320 64H280h-9.6C263 27.5 230.7 0 192 0s-71 27.5-78.4 64H104 64C28.7 64 0 92.7 0 128V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64zM80 112v24c0 13.3 10.7 24 24 24h88 88c13.3 0 24-10.7 24-24V112h16c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V128c0-8.8 7.2-16 16-16H80zm88-32a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm-8 160v48H112c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V352h48c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16H224V240c0-8.8-7.2-16-16-16H176c-8.8 0-16 7.2-16 16z\"]\n};\nvar faFaceDizzy = {\n prefix: 'far',\n iconName: 'face-dizzy',\n icon: [512, 512, [\"dizzy\"], \"f567\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256 32a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM103 135c9.4-9.4 24.6-9.4 33.9 0l23 23 23-23c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-23 23 23 23c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-23-23-23 23c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l23-23-23-23c-9.4-9.4-9.4-24.6 0-33.9zm192 0c9.4-9.4 24.6-9.4 33.9 0l23 23 23-23c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-23 23 23 23c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-23-23-23 23c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l23-23-23-23c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faDizzy = faFaceDizzy;\nvar faEgg = {\n prefix: 'far',\n iconName: 'egg',\n icon: [384, 512, [129370], \"f7fb\", \"M192 448c-74.7 0-144-75.4-144-160c0-48.3 14.1-107.7 41.3-153.5C116.4 88.8 151.1 64 192 64s75.6 24.8 102.7 70.5C321.9 180.3 336 239.7 336 288c0 84.6-69.3 160-144 160zM0 288C0 394 86 496 192 496s192-102 192-208c0-112-64-272-192-272S0 176 0 288zM170.8 134c6.5-6 7-16.1 1-22.6s-16.1-7-22.6-1c-23.9 21.8-41.1 52.7-52.3 84.2C85.7 226.1 80 259.7 80 288c0 8.8 7.2 16 16 16s16-7.2 16-16c0-24.5 5-54.4 15.1-82.8c10.1-28.5 25-54.1 43.7-71.2z\"]\n};\nvar faUpToLine = {\n prefix: 'far',\n iconName: 'up-to-line',\n icon: [384, 512, [\"arrow-alt-to-top\"], \"f34d\", \"M82.2 288L192 178 301.8 288 248 288c-13.3 0-24 10.7-24 24l0 120-64 0 0-120c0-13.3-10.7-24-24-24l-53.8 0zM192 128c-11.5 0-22.5 4.6-30.6 12.7L45.6 256.8C36.9 265.5 32 277.3 32 289.6C32 315.2 52.8 336 78.4 336l33.6 0 0 96c0 26.5 21.5 48 48 48l64 0c26.5 0 48-21.5 48-48l0-96 33.6 0c25.6 0 46.4-20.8 46.4-46.4c0-12.3-4.9-24.1-13.6-32.8L222.6 140.7c-8.1-8.1-19.1-12.7-30.6-12.7zM24 80l336 0c13.3 0 24-10.7 24-24s-10.7-24-24-24L24 32C10.7 32 0 42.7 0 56S10.7 80 24 80z\"]\n};\nvar faArrowAltToTop = faUpToLine;\nvar faHouseMedicalCircleXmark = {\n prefix: 'far',\n iconName: 'house-medical-circle-xmark',\n icon: [640, 512, [], \"e513\", \"M272.5 5.7c9-7.6 22.1-7.6 31.1 0L526.1 194.6c-9.8-1.7-19.9-2.6-30.1-2.6c-14.2 0-28.1 1.7-41.3 4.9L288 55.5 112 204.8V432c0 17.7 14.3 32 32 32H348.5c12.3 18.8 28 35.1 46.3 48H144c-44.2 0-80-35.8-80-80V245.5L39.5 266.3c-10.1 8.6-25.3 7.3-33.8-2.8s-7.3-25.3 2.8-33.8l264-224zM320 256h40.2c-15.3 18.5-26.9 40.2-33.6 64H320v48c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V320H208c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16h48V208c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48zm176-32a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm22.6 144l36.7-36.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L496 345.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L473.4 368l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L496 390.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L518.6 368z\"]\n};\nvar faWatchFitness = {\n prefix: 'far',\n iconName: 'watch-fitness',\n icon: [384, 512, [], \"f63e\", \"M112.3 0C85.6 0 64 21.6 64 48.3V65.6C27.5 73 0 105.3 0 144V368c0 38.7 27.5 71 64 78.4V464c0 26.5 21.5 48 48 48H272c26.5 0 48-21.5 48-48V446.4c36.5-7.4 64-39.7 64-78.4V144c0-38.7-27.5-71-64-78.4V48.3C320 21.6 298.4 0 271.7 0H112.3zM304 112c17.7 0 32 14.3 32 32V368c0 17.7-14.3 32-32 32H80c-17.7 0-32-14.3-32-32V144c0-17.7 14.3-32 32-32H304zM93.7 226.8c0 14.4 5.8 28.3 16.2 38.4l70.9 69c6.2 6 16.1 6 22.3 0l70.9-69c10.4-10.1 16.2-23.9 16.2-38.4c0-29.5-23.9-53.5-53.5-53.5h-1.5c-14.3 0-28.1 5.6-38.4 15.6l-4.9 4.8-4.9-4.8c-10.3-10-24-15.6-38.4-15.6h-1.5c-29.5 0-53.5 23.9-53.5 53.5z\"]\n};\nvar faClockNineThirty = {\n prefix: 'far',\n iconName: 'clock-nine-thirty',\n icon: [512, 512, [], \"e34d\", \"M48 256a208 208 0 1 1 416 0A208 208 0 1 1 48 256zm464 0A256 256 0 1 0 0 256a256 256 0 1 0 512 0zM280 392V256c0-13.3-10.7-24-24-24H152c-13.3 0-24 10.7-24 24s10.7 24 24 24h80V392c0 13.3 10.7 24 24 24s24-10.7 24-24z\"]\n};\nvar faCampground = {\n prefix: 'far',\n iconName: 'campground',\n icon: [576, 512, [9978], \"f6bb\", \"M375.4 5.6c10.2 8.5 11.5 23.6 3 33.8l-59.1 70.7L555 392.1c8.4 10.1 13 22.8 13 35.9v28c0 30.9-25.1 56-56 56H288 64c-30.9 0-56-25.1-56-56V428c0-13.1 4.6-25.8 13-35.9L256.7 110.1 197.6 39.4c-8.5-10.2-7.1-25.3 3-33.8s25.3-7.1 33.8 3L288 72.7 341.6 8.6c8.5-10.2 23.6-11.5 33.8-3zM57.9 422.8c-1.2 1.4-1.9 3.3-1.9 5.1v28c0 4.4 3.6 8 8 8h62L269.1 281.2c4.5-5.8 11.5-9.2 18.9-9.2s14.4 3.4 18.9 9.2L450 464h62c4.4 0 8-3.6 8-8V428c0-1.9-.7-3.7-1.9-5.1L288 147.5 57.9 422.8zM187 464H288 389L288 334.9 187 464z\"]\n};\nvar faFolderPlus = {\n prefix: 'far',\n iconName: 'folder-plus',\n icon: [512, 512, [], \"f65e\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H289.9L247 53.1C233.5 39.6 215.2 32 196.1 32H64zM48 96c0-8.8 7.2-16 16-16H196.1c6.4 0 12.5 2.5 17 7l45.3 45.3c7.5 7.5 17.7 11.7 28.3 11.7H448c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96zM232 376c0 13.3 10.7 24 24 24s24-10.7 24-24V312h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V200c0-13.3-10.7-24-24-24s-24 10.7-24 24v64H168c-13.3 0-24 10.7-24 24s10.7 24 24 24h64v64z\"]\n};\nvar faJug = {\n prefix: 'far',\n iconName: 'jug',\n icon: [448, 512, [], \"f8c6\", \"M192 77.5c0 17.1-5.5 33.7-15.6 47.5L95.6 234.6C85.5 248.4 80 265 80 282.1l0 5.9 288 0 0-5.9c0-17.1-5.5-33.7-15.6-47.5L271.6 124.9C261.5 111.2 256 94.6 256 77.5L256 48l-64 0 0 29.5zM80 416l0 32c0 8.8 7.2 16 16 16l256 0c8.8 0 16-7.2 16-16l0-32L80 416zM304 48l0 29.5c0 6.8 2.2 13.5 6.2 19l15 20.4C338.3 104 356.2 96 376 96c39.8 0 72 32.2 72 72c0 28.9-17.1 53.9-41.6 65.3c6.3 15.4 9.6 31.9 9.6 48.8L416 448c0 35.3-28.7 64-64 64L96 512c-35.3 0-64-28.7-64-64l0-165.9c0-27.3 8.7-53.9 25-75.9L137.8 96.5c4.1-5.5 6.2-12.2 6.2-19L144 48c-13.3 0-24-10.7-24-24s10.7-24 24-24l48 0 64 0 48 0c13.3 0 24 10.7 24 24s-10.7 24-24 24zm50.7 108.9l25.6 34.8c11.2-2 19.7-11.8 19.7-23.6c0-13.3-10.7-24-24-24c-9.2 0-17.2 5.2-21.3 12.9z\"]\n};\nvar faFutbol = {\n prefix: 'far',\n iconName: 'futbol',\n icon: [512, 512, [9917, \"futbol-ball\", \"soccer-ball\"], \"f1e3\", \"M435.4 361.3l-89.7-6c-5.2-.3-10.3 1.1-14.5 4.2s-7.2 7.4-8.4 12.5l-22 87.2c-14.4 3.2-29.4 4.8-44.8 4.8s-30.3-1.7-44.8-4.8l-22-87.2c-1.3-5-4.3-9.4-8.4-12.5s-9.3-4.5-14.5-4.2l-89.7 6C61.7 335.9 51.9 307 49 276.2L125 228.3c4.4-2.8 7.6-7 9.2-11.9s1.4-10.2-.5-15L100.4 118c19.9-22.4 44.6-40.5 72.4-52.7l69.1 57.6c4 3.3 9 5.1 14.1 5.1s10.2-1.8 14.1-5.1l69.1-57.6c27.8 12.2 52.5 30.3 72.4 52.7l-33.4 83.4c-1.9 4.8-2.1 10.1-.5 15s4.9 9.1 9.2 11.9L463 276.2c-3 30.8-12.7 59.7-27.6 85.1zM256 48l.9 0h-1.8l.9 0zM56.7 196.2c.9-3 1.9-6.1 2.9-9.1l-2.9 9.1zM132 423l3.8 2.7c-1.3-.9-2.5-1.8-3.8-2.7zm248.1-.1c-1.3 1-2.7 2-4 2.9l4-2.9zm75.2-226.6l-3-9.2c1.1 3 2.1 6.1 3 9.2zM256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm14.1-325.7c-8.4-6.1-19.8-6.1-28.2 0L194 221c-8.4 6.1-11.9 16.9-8.7 26.8l18.3 56.3c3.2 9.9 12.4 16.6 22.8 16.6h59.2c10.4 0 19.6-6.7 22.8-16.6l18.3-56.3c3.2-9.9-.3-20.7-8.7-26.8l-47.9-34.8z\"]\n};\nvar faFutbolBall = faFutbol;\nvar faSoccerBall = faFutbol;\nvar faSnowBlowing = {\n prefix: 'far',\n iconName: 'snow-blowing',\n icon: [640, 512, [], \"f761\", \"M176 64c13.3 0 24 10.7 24 24v25.4l12.7-12.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L200 158.6v55.8l48.3-27.9 12.9-48.2c2.3-8.5 11.1-13.6 19.6-11.3s13.6 11.1 11.3 19.6l-4.6 17.3 22-12.7c11.5-6.6 26.2-2.7 32.8 8.8s2.7 26.2-8.8 32.8l-22 12.7 17.3 4.6c8.5 2.3 13.6 11.1 11.3 19.6s-11.1 13.6-19.6 11.3l-48.2-12.9L224 256l48.3 27.9L320.6 271c8.5-2.3 17.3 2.8 19.6 11.3s-2.8 17.3-11.3 19.6l-17.3 4.6 22 12.7c11.5 6.6 15.4 21.3 8.8 32.8s-21.3 15.4-32.8 8.8l-22-12.7 4.6 17.3c2.3 8.5-2.8 17.3-11.3 19.6s-17.3-2.8-19.6-11.3l-12.9-48.2L200 297.6v55.8l35.3 35.3c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L200 398.6V424c0 13.3-10.7 24-24 24s-24-10.7-24-24V398.6l-12.7 12.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L152 353.4V297.6l-48.3 27.9L90.7 373.7c-2.3 8.5-11.1 13.6-19.6 11.3s-13.6-11.1-11.3-19.6l4.6-17.3-22 12.7C31 367.4 16.4 363.5 9.7 352s-2.7-26.2 8.8-32.8l22-12.7-17.3-4.6c-8.5-2.3-13.6-11.1-11.3-19.6s11.1-13.6 19.6-11.3l48.2 12.9L128 256 79.7 228.1 31.4 241c-8.5 2.3-17.3-2.8-19.6-11.3s2.8-17.3 11.3-19.6l17.3-4.6-22-12.7C7 186.2 3.1 171.5 9.7 160s21.3-15.4 32.8-8.8l22 12.7-4.6-17.3c-2.3-8.5 2.8-17.3 11.3-19.6s17.3 2.8 19.6 11.3l12.9 48.2L152 214.4V158.6l-35.3-35.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L152 113.4V88c0-13.3 10.7-24 24-24zM480 424c0-13.3 10.7-24 24-24h48c22.1 0 40-17.9 40-40s-17.9-40-40-40H408c-13.3 0-24-10.7-24-24s10.7-24 24-24H552c48.6 0 88 39.4 88 88s-39.4 88-88 88H504c-13.3 0-24-10.7-24-24zM504 64h48c48.6 0 88 39.4 88 88s-39.4 88-88 88H408c-13.3 0-24-10.7-24-24s10.7-24 24-24H552c22.1 0 40-17.9 40-40s-17.9-40-40-40H504c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faPaintbrush = {\n prefix: 'far',\n iconName: 'paintbrush',\n icon: [576, 512, [128396, \"paint-brush\"], \"f1fc\", \"M278 219.5L356.5 298 524.7 73.6c4.8-6.4 4.1-15.3-1.5-20.9s-14.5-6.3-20.9-1.5L278 219.5zM199.1 321.6c-4.9-1-9.9-1.6-15.1-1.6c-39.8 0-72 32.2-72 72c0 3.8 .3 7.5 .8 11.1c3.3 21.4-2.2 43.1-13.8 60l-.7 .9H184c39.8 0 72-32.2 72-72c0-5.2-.5-10.2-1.6-15.1l-55.4-55.4zM384 341.3c-19.1 25.5-48.6 41.1-80.3 42.6c.2 2.7 .3 5.4 .3 8.1c0 66.3-53.7 120-120 120H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h6c18.1 0 30.1-19.8 27.4-37.6c-.9-6-1.4-12.1-1.4-18.4c0-66.3 53.7-120 120-120c2.7 0 5.4 .1 8.1 .3c1.5-31.7 17-61.1 42.5-80.3L473.5 12.8C499-6.3 534.6-3.8 557.2 18.7s25.1 58.2 6 83.7L384 341.3z\"]\n};\nvar faPaintBrush = faPaintbrush;\nvar faLock = {\n prefix: 'far',\n iconName: 'lock',\n icon: [448, 512, [128274], \"f023\", \"M144 128v64H304V128c0-44.2-35.8-80-80-80s-80 35.8-80 80zM96 192V128C96 57.3 153.3 0 224 0s128 57.3 128 128v64h32c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V256c0-35.3 28.7-64 64-64H96zM48 256V448c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V256c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16z\"]\n};\nvar faArrowDownFromLine = {\n prefix: 'far',\n iconName: 'arrow-down-from-line',\n icon: [384, 512, [8615, \"arrow-from-top\"], \"f345\", \"M174.5 472.4c4.5 4.8 10.9 7.6 17.5 7.6s12.9-2.7 17.5-7.6l128-136c9.1-9.7 8.6-24.8-1-33.9s-24.8-8.6-33.9 1L216 395.5l0-83.5 0-128c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 128 0 83.5L81.5 303.6c-9.1-9.7-24.3-10.1-33.9-1s-10.1 24.3-1 33.9l128 136zM360 80c13.3 0 24-10.7 24-24s-10.7-24-24-24L24 32C10.7 32 0 42.7 0 56S10.7 80 24 80l336 0z\"]\n};\nvar faArrowFromTop = faArrowDownFromLine;\nvar faGasPump = {\n prefix: 'far',\n iconName: 'gas-pump',\n icon: [512, 512, [9981], \"f52f\", \"M256 48c8.8 0 16 7.2 16 16V192H80V64c0-8.8 7.2-16 16-16H256zm16 192V464H80l0-224H272zM32 64V464l-8 0c-13.3 0-24 10.7-24 24s10.7 24 24 24h8H80 272h48 8c13.3 0 24-10.7 24-24s-10.7-24-24-24l-8 0V304h8c22.1 0 40 17.9 40 40v32c0 39.8 32.2 72 72 72s72-32.2 72-72V155.9c0-19.1-7.6-37.4-21.1-50.9L417 31c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l33 33V160c0 29.8 20.4 54.9 48 62V376c0 13.3-10.7 24-24 24s-24-10.7-24-24V344c0-48.6-39.4-88-88-88h-8V64c0-35.3-28.7-64-64-64H96C60.7 0 32 28.7 32 64z\"]\n};\nvar faSignalBarsSlash = {\n prefix: 'far',\n iconName: 'signal-bars-slash',\n icon: [640, 512, [\"signal-alt-slash\"], \"f694\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-8.5-6.6c1.1-4.7 1.6-9.5 1.6-14.5V64c0-35.3-28.7-64-64-64s-64 28.7-64 64V363.5l-32-25.1V192c0-35.3-28.7-64-64-64s-64 28.7-64 64v46L38.8 5.1zM384 275.7V192c0-8.8 7.2-16 16-16s16 7.2 16 16V300.8l-32-25.1zM544 401.1V64c0-8.8 7.2-16 16-16s16 7.2 16 16V426.2l-32-25.1zM559.6 512l.4 0 .4 0h-.8zM336 360.7V448c0 35.3 28.7 64 64 64c31 0 56.9-22.1 62.8-51.4L416 423.8V448c0 8.8-7.2 16-16 16s-16-7.2-16-16V398.5l-48-37.8zM211.5 262.7C190.5 273.1 176 294.9 176 320V448c0 35.3 28.7 64 64 64s64-28.7 64-64V335.5l-92.5-72.9zM256 448c0 8.8-7.2 16-16 16s-16-7.2-16-16V320c0-8.8 7.2-16 16-16s16 7.2 16 16V448zM96 448a16 16 0 1 1 -32 0 16 16 0 1 1 32 0zM80 384a64 64 0 1 0 0 128 64 64 0 1 0 0-128z\"]\n};\nvar faSignalAltSlash = faSignalBarsSlash;\nvar faMonkey = {\n prefix: 'far',\n iconName: 'monkey',\n icon: [576, 512, [128018], \"f6fb\", \"M160 416c0-91.5 54.8-170.2 133.5-204.9c7.3 15.1 17.2 28.6 29.3 39.9C255.7 275.8 208 340.4 208 416v48H400V440c0-39.8-32.2-72-72-72H312c-13.3 0-24-10.7-24-24s10.7-24 24-24h16c27 0 51.9 8.9 72 24V320 287.1c5.2 .6 10.6 .9 16 .9c11 0 21.7-1.3 32-3.8v1.8l83.5 83.5C560 398 576 436.7 576 477v11c0 13.3-10.7 24-24 24s-24-10.7-24-24V477c0-27.6-11-54-30.5-73.5L448 353.9V440v24h8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8H400 208 160h-8C68.1 512 0 443.9 0 360V120C0 53.7 53.7 0 120 0h8c53 0 96 43 96 96s-43 96-96 96h-8c-13.3 0-24-10.7-24-24s10.7-24 24-24h8c26.5 0 48-21.5 48-48s-21.5-48-48-48h-8c-39.8 0-72 32.2-72 72V360c0 57.4 46.6 104 104 104h8V416zM448 251c-10.1 3.3-20.8 5-32 5c-5.4 0-10.8-.4-16-1.2c-13.5-2.1-26.1-6.8-37.4-13.5c-16.4-9.8-29.9-24.1-38.8-41.1c-1.4-2.7-2.7-5.4-3.8-8.2c-35.3 0-64-28.7-64-64s28.6-64 64-64c15.7-37.6 52.8-64 96-64s80.4 26.4 96 64c35.3 0 64 28.7 64 64s-28.6 64-64 64c-11.6 27.9-35 49.6-64 59zM384 64c-26.5 0-48 21.5-48 48c0 20.8 13.2 38.4 31.6 45.1c4.7 1.7 8.4 5.9 8.4 10.9c0 22.1 17.9 40 40 40s40-17.9 40-40c0-5 3.7-9.2 8.4-10.9c18.5-6.7 31.6-24.4 31.6-45.1c0-26.5-21.5-48-48-48H384zm0 32a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faRectanglePro = {\n prefix: 'far',\n iconName: 'rectangle-pro',\n icon: [640, 512, [\"pro\"], \"e235\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H576c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H576c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm104 64h56c35.3 0 64 28.7 64 64s-28.7 64-64 64H128v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V264 184c0-13.3 10.7-24 24-24zm56 80c8.8 0 16-7.2 16-16s-7.2-16-16-16H128v32h32zm80-56c0-13.3 10.7-24 24-24h56c35.3 0 64 28.7 64 64c0 21.9-11 41.2-27.7 52.7l24.1 38.5c7 11.2 3.6 26-7.6 33.1s-26 3.6-33.1-7.6l-33-52.7H288v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V264 184zm48 56h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H288v32zm200-80c48.6 0 88 39.4 88 88v16c0 48.6-39.4 88-88 88s-88-39.4-88-88V248c0-48.6 39.4-88 88-88zm-40 88v16c0 22.1 17.9 40 40 40s40-17.9 40-40V248c0-22.1-17.9-40-40-40s-40 17.9-40 40z\"]\n};\nvar faPro = faRectanglePro;\nvar faHouseNight = {\n prefix: 'far',\n iconName: 'house-night',\n icon: [640, 512, [], \"e010\", \"M125.2 16.1c6.2-4.4 5.4-14.8-2.2-15.6c-3.6-.4-7.3-.5-11-.5C50.1 0 0 50.1 0 112s50.1 112 112 112c32.1 0 61.1-13.5 81.5-35.2c5.2-5.6-1-14-8.6-13.2c-2.9 .3-5.9 .4-9 .4c-48.6 0-88-39.4-88-88c0-29.7 14.7-55.9 37.2-71.9zm289.9 85.3c-8.8-7.2-21.5-7.2-30.3 0l-216 176c-10.3 8.4-11.8 23.5-3.4 33.8s23.5 11.8 33.8 3.4L224 294.4V456c0 30.9 25.1 56 56 56H520c30.9 0 56-25.1 56-56V294.4l24.8 20.2c10.3 8.4 25.4 6.8 33.8-3.4s6.8-25.4-3.4-33.8l-216-176zM528 255.3V456c0 4.4-3.6 8-8 8H280c-4.4 0-8-3.6-8-8V255.3L400 151 528 255.3zM352 312v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V312c0-13.3-10.7-24-24-24H376c-13.3 0-24 10.7-24 24zM248.5 12.3L236.6 44.6 204.3 56.5c-7 2.6-7 12.4 0 15l32.3 11.9 11.9 32.3c2.6 7 12.4 7 15 0l11.9-32.3 32.3-11.9c7-2.6 7-12.4 0-15L275.4 44.6 263.5 12.3c-2.6-7-12.4-7-15 0zm-145 320c-2.6-7-12.4-7-15 0L76.6 364.6 44.3 376.5c-7 2.6-7 12.4 0 15l32.3 11.9 11.9 32.3c2.6 7 12.4 7 15 0l11.9-32.3 32.3-11.9c7-2.6 7-12.4 0-15l-32.3-11.9-11.9-32.3z\"]\n};\nvar faHotTubPerson = {\n prefix: 'far',\n iconName: 'hot-tub-person',\n icon: [512, 512, [\"hot-tub\"], \"f593\", \"M64 0a64 64 0 1 1 0 128A64 64 0 1 1 64 0zM48 336V448c0 8.8 7.2 16 16 16h48V304H48v16 16zM160 464h72V304H160V464zm120 0h72V304l-72 0V464zm-2.7-208H376l24 0 48 0c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V336 320 280 256c0-53 43-96 96-96c20.8 0 41 6.7 57.6 19.2l85.3 64c11.1 8.3 24.6 12.8 38.4 12.8zM48 256l88 0h40l-51.2-38.4c-8.3-6.2-18.4-9.6-28.8-9.6c-26.5 0-48 21.5-48 48zm352 48V464h48c8.8 0 16-7.2 16-16V320c0-8.8-7.2-16-16-16H400zM272 24v5.2c0 20.4 8.7 39.9 23.8 53.5l16.4 14.8c25.3 22.8 39.7 55.2 39.7 89.2V200c0 13.3-10.7 24-24 24s-24-10.7-24-24V186.8c0-20.4-8.7-39.9-23.8-53.5l-16.4-14.8C238.4 95.7 224 63.3 224 29.2V24c0-13.3 10.7-24 24-24s24 10.7 24 24zm112 0v5.2c0 20.4 8.7 39.9 23.8 53.5l16.4 14.8c25.3 22.8 39.7 55.2 39.7 89.2V200c0 13.3-10.7 24-24 24s-24-10.7-24-24V186.8c0-20.4-8.7-39.9-23.8-53.5l-16.4-14.8C350.4 95.7 336 63.3 336 29.2V24c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faHotTub = faHotTubPerson;\nvar faGlobePointer = {\n prefix: 'far',\n iconName: 'globe-pointer',\n icon: [512, 512, [], \"e60e\", \"M303.6 415.6C283 456.8 263.4 464 256 464c-3.1 0-8.3-1.3-14.8-5.7l-15.3 52c9.9 1.2 19.9 1.8 30.1 1.8c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256c0 10.2 .6 20.2 1.8 30.1l46.9-13.8c-.4-5.4-.6-10.8-.6-16.3c0-16.5 1.9-32.6 5.6-48h76.7c-1.3 13.3-2 27-2.2 41l48.4-14.2c.4-9.1 1.1-18 2-26.7h155c1.6 15.3 2.5 31.4 2.5 48s-.9 32.7-2.5 48h-47l-14.1 48h53.2c-5.6 24.4-13.2 45.9-22 63.6zM208.4 96.4C229 55.2 248.6 48 256 48s27 7.2 47.6 48.4c8.8 17.7 16.4 39.2 22 63.6H186.4c5.6-24.4 13.2-45.9 22-63.6zM384 256c0-16.4-.8-32.5-2.2-48h76.7c3.6 15.4 5.6 31.5 5.6 48s-1.9 32.6-5.6 48H381.8c1.5-15.5 2.2-31.6 2.2-48zm-9.3-96c-7.3-35.9-18.5-67.7-32.6-93.4c42.3 19.3 77 52.3 98.4 93.4H374.7zM71.4 160c21.4-41.1 56.1-74.1 98.4-93.4c-14.1 25.6-25.3 57.5-32.6 93.4H71.4zM374.7 352h65.9c-21.4 41.1-56.1 74.1-98.4 93.4c14.1-25.6 25.3-57.5 32.6-93.4zM39 308.5c-13.9 4.1-15.6 23.2-2.6 29.7l57.3 28.7c1.3 .7 2.6 1.5 3.7 2.5l-88 88c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l88-88c1 1.1 1.9 2.3 2.5 3.7l28.7 57.3c6.5 13 25.6 11.3 29.7-2.6l60.2-204.8c3.6-12.1-7.7-23.4-19.9-19.9L39 308.5z\"]\n};\nvar faBlanket = {\n prefix: 'far',\n iconName: 'blanket',\n icon: [448, 512, [], \"f498\", \"M48 144V276.1C66.1 263.4 88.2 256 112 256H380c7 0 13.7 1 20 3V144c0-35.3-28.7-64-64-64H112c-35.3 0-64 28.7-64 64zM0 368V144C0 82.1 50.1 32 112 32H336c61.9 0 112 50.1 112 112V320h-.1c.1 1.3 .1 2.7 .1 4c0 37.6-30.4 68-68 68H120c-13.3 0-24-10.7-24-24s10.7-24 24-24H380c11 0 20-9 20-20s-9-20-20-20H112c-35.3 0-64 28.7-64 64s28.7 64 64 64H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H112C50.1 480 0 429.9 0 368z\"]\n};\nvar faMapLocation = {\n prefix: 'far',\n iconName: 'map-location',\n icon: [576, 512, [\"map-marked\"], \"f59f\", \"M403 148.6c3.2-10.3 5-20 5-28.6C408 53.7 354.3 0 288 0C226.4 0 175.6 46.4 168.8 106.2c-.5 4.5-.8 9.1-.8 13.8c0 10.3 2.6 22 7 34.6c.7 2.1 1.5 4.2 2.3 6.3c10.4 27 28.3 57.1 46.7 84.4c18.1 26.9 36.7 51.1 49.2 66.6c7.7 9.6 22 9.6 29.6 0c12.4-15.5 31.1-39.7 49.2-66.6c.1-.2 .3-.4 .4-.6c4.6-6.8 9.1-13.7 13.5-20.8c3.3-5.3 6.5-10.7 9.6-16c0-.1 .1-.1 .1-.2c11.8-20.4 21.8-40.8 27.4-59.2zm-8.3 89.6c-13.9 22.5-29.1 44.2-42.7 62.4V453.7L224 407.2V300.6c-13.5-18.2-28.8-39.9-42.7-62.4c-1.8-2.9-3.6-5.8-5.3-8.8V407.2L48 453.7V200.8l96.9-35.2c-5.2-14.9-8.9-30.5-8.9-45.6c0-.8 0-1.5 0-2.3L15.8 161.4C6.3 164.9 0 173.9 0 184V488c0 7.8 3.8 15.2 10.2 19.7s14.6 5.6 22 2.9l167.8-61 167.8 61c5.3 1.9 11.1 1.9 16.4 0l176-64c9.5-3.4 15.8-12.5 15.8-22.6V120c0-7.8-3.8-15.2-10.2-19.7s-14.6-5.6-22-2.9l-105 38.2c-2.2 15-7.3 30.2-13.2 44.2c-2 4.6-4.1 9.3-6.3 14L528 154.3V407.2L400 453.7V229.5c-1.8 3-3.5 5.9-5.3 8.8z\"]\n};\nvar faMapMarked = faMapLocation;\nvar faHouseFloodWater = {\n prefix: 'far',\n iconName: 'house-flood-water',\n icon: [576, 512, [], \"e50e\", \"M301.9 4.4c-8.3-5.9-19.4-5.9-27.7 0l-192 136c-10.8 7.7-13.4 22.6-5.7 33.5s22.6 13.4 33.5 5.7l2.1-1.5v80.4c7.3 1.9 14.4 5.1 20.9 9.6c8.4 5.8 17.7 10.6 27.1 14.1V144.1L288 53.4l128 90.7V282.2c9.5-3.5 18.8-8.3 27.2-14.1c6.5-4.5 13.5-7.8 20.8-9.6V178.1l2.1 1.5c10.8 7.7 25.8 5.1 33.5-5.7s5.1-25.8-5.7-33.5l-192-136zM80 318.1C62.8 333 41 344.8 18.8 349.8C5.9 352.7-2.3 365.5 .6 378.5s15.7 21.1 28.7 18.2C58 390.2 81.6 376.2 96 366.2c28.1 19.5 61.4 33.8 96 33.8s67.9-14.3 96-33.8c28.1 19.5 61.4 33.8 96 33.8s67.9-14.3 96-33.8c14.4 10 38 24 66.7 30.4c12.9 2.9 25.8-5.2 28.7-18.2s-5.2-25.8-18.2-28.7c-22-4.9-44.3-16.7-61.3-31.8c-9.1-8.1-22.8-8.1-31.9 0c-21.5 18.6-51.2 33.9-80 33.9s-58.5-15.3-80-33.9c-9.1-8.1-22.8-8.1-31.9 0c-21.5 18.7-51.2 33.9-80 33.9s-58.5-15.3-80-33.9c-9.1-8.1-22.8-8.1-31.9 0zm31.9 112c-9.1-8.1-22.8-8.1-31.9 0C62.8 445 41 456.8 18.8 461.8C5.9 464.7-2.3 477.5 .6 490.5s15.7 21.1 28.7 18.2C58 502.2 81.6 488.2 96 478.2c28.1 19.5 61.4 33.8 96 33.8s67.9-14.3 96-33.8c28.1 19.5 61.4 33.8 96 33.8s67.9-14.3 96-33.8c14.4 10 38 24 66.7 30.4c12.9 2.9 25.8-5.2 28.7-18.2s-5.2-25.8-18.2-28.7c-22-4.9-44.3-16.7-61.3-31.8c-9.1-8.1-22.8-8.1-31.9 0c-21.5 18.6-51.2 33.9-80 33.9s-58.5-15.3-80-33.9c-9.1-8.1-22.8-8.1-31.9 0c-21.5 18.6-51.2 33.9-80 33.9s-58.5-15.3-80-33.9z\"]\n};\nvar faCommentsQuestionCheck = {\n prefix: 'far',\n iconName: 'comments-question-check',\n icon: [640, 512, [], \"e14f\", \"M88.2 309.1c9.8-18.3 6.8-40.8-7.5-55.8C59.4 230.9 48 204 48 176c0-63.5 63.8-128 160-128s160 64.5 160 128s-63.8 128-160 128c-13.1 0-25.8-1.3-37.8-3.6c-10.4-2-21.2-.6-30.7 4.2c-4.1 2.1-8.3 4.1-12.6 6c-16 7.2-32.9 13.5-49.9 18c2.8-4.6 5.4-9.1 7.9-13.6c1.1-1.9 2.2-3.9 3.2-5.9zM208 352c114.9 0 208-78.8 208-176S322.9 0 208 0S0 78.8 0 176c0 41.8 17.2 80.1 45.9 110.3c-.9 1.7-1.9 3.5-2.8 5.1c-10.3 18.4-22.3 36.5-36.6 52.1c-6.6 7-8.3 17.2-4.6 25.9C5.8 378.3 14.4 384 24 384c43 0 86.5-13.3 122.7-29.7c4.8-2.2 9.6-4.5 14.2-6.8c15.1 3 30.9 4.5 47.1 4.5zM432 480c16.2 0 31.9-1.6 47.1-4.5c4.6 2.3 9.4 4.6 14.2 6.8C529.5 498.7 573 512 616 512c9.6 0 18.2-5.7 22-14.5c3.8-8.8 2-19-4.6-25.9c-14.2-15.6-26.2-33.7-36.6-52.1c-.9-1.7-1.9-3.4-2.8-5.1C622.8 384.1 640 345.8 640 304c0-94.4-87.9-171.5-198.2-175.8c4.1 15.2 6.2 31.2 6.2 47.8l0 .6c87.2 6.7 144 67.5 144 127.4c0 28-11.4 54.9-32.7 77.2c-14.3 15-17.3 37.6-7.5 55.8c1.1 2 2.2 4 3.2 5.9c2.5 4.5 5.2 9 7.9 13.6c-17-4.5-33.9-10.7-49.9-18c-4.3-1.9-8.5-3.9-12.6-6c-9.5-4.8-20.3-6.2-30.7-4.2c-12.1 2.4-24.8 3.6-37.8 3.6c-61.7 0-110-26.5-136.8-62.3c-16 5.4-32.8 9.4-50 11.8C279 439.8 350 480 432 480zM184.3 86.3c-16.4 0-31 10.3-36.4 25.7l-.3 .9c-3 8.3 1.4 17.5 9.7 20.4s17.5-1.4 20.4-9.7l.3-.9c.9-2.7 3.5-4.4 6.3-4.4h41.3c6.5 0 11.7 5.3 11.7 11.7c0 4.2-2.2 8.1-5.9 10.2l-31.4 18c-5 2.9-8 8.1-8 13.9v9.5c0 8.8 7.2 16 16 16s16-7.2 16-16v-.3L247.4 168c13.6-7.8 22-22.3 22-37.9c0-24.2-19.6-43.7-43.7-43.7H184.3zM208 266.7a22.7 22.7 0 1 0 0-45.3 22.7 22.7 0 1 0 0 45.3zm331.3 22c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-74 74-31.4-31.4c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L431.4 374c6.2 6.2 16.4 6.2 22.6 0l85.3-85.3z\"]\n};\nvar faTree = {\n prefix: 'far',\n iconName: 'tree',\n icon: [448, 512, [127794], \"f1bb\", \"M241.8 7.9C237.3 2.9 230.8 0 224 0s-13.3 2.9-17.8 7.9l-144 160c-6.3 7-7.9 17.2-4.1 25.8S70.5 208 80 208H91.8l-62 72.4c-6.1 7.1-7.5 17.1-3.6 25.6s12.4 14 21.8 14H72L4.8 409.6c-5.5 7.3-6.3 17-2.3 25.1S14.9 448 24 448H160h40v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448h40H424c9.1 0 17.4-5.1 21.5-13.3s3.2-17.9-2.3-25.1L376 320h24c9.4 0 17.9-5.5 21.8-14s2.5-18.5-3.6-25.6l-62-72.4H368c9.5 0 18.1-5.6 21.9-14.2s2.3-18.8-4.1-25.8l-144-160zM248 400V216c0-13.3-10.7-24-24-24s-24 10.7-24 24V400H160 72l67.2-89.6c5.5-7.3 6.3-17 2.3-25.1s-12.4-13.3-21.5-13.3H100.2l62-72.4c6.1-7.1 7.5-17.1 3.6-25.6s-12.4-14-21.8-14H133.9L224 59.9 314.1 160H304c-9.4 0-17.9 5.5-21.8 14s-2.5 18.5 3.6 25.6l62 72.4H328c-9.1 0-17.4 5.1-21.5 13.3s-3.2 17.9 2.3 25.1L376 400H288 248z\"]\n};\nvar faArrowsCross = {\n prefix: 'far',\n iconName: 'arrows-cross',\n icon: [448, 512, [], \"e0a2\", \"M296 32c-13.3 0-24 10.7-24 24s10.7 24 24 24h70.1L7 439c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l359-359V184c0 13.3 10.7 24 24 24s24-10.7 24-24V56c0-13.3-10.7-24-24-24H296zM41 39C31.6 29.7 16.4 29.7 7 39S-2.3 63.6 7 73L167.4 233.4l33.9-33.9L41 39zM246.6 312.6L366.1 432H296c-13.3 0-24 10.7-24 24s10.7 24 24 24H424c13.3 0 24-10.7 24-24V328c0-13.3-10.7-24-24-24s-24 10.7-24 24v70.1L280.6 278.6l-33.9 33.9z\"]\n};\nvar faBackpack = {\n prefix: 'far',\n iconName: 'backpack',\n icon: [448, 512, [127890], \"f5d4\", \"M192 48h64c4.4 0 8 3.6 8 8V80H184V56c0-4.4 3.6-8 8-8zm-56 8V80h-8C57.3 80 0 137.3 0 208V448c0 35.3 28.7 64 64 64h40H344h40c35.3 0 64-28.7 64-64V208c0-70.7-57.3-128-128-128h-8V56c0-30.9-25.1-56-56-56H192c-30.9 0-56 25.1-56 56zM368 464V376 312c0-39.8-32.2-72-72-72H152c-39.8 0-72 32.2-72 72v64 88H64c-8.8 0-16-7.2-16-16V208c0-44.2 35.8-80 80-80h32H288h32c44.2 0 80 35.8 80 80V448c0 8.8-7.2 16-16 16H368zm-240 0V400H320v64H128zm16-304c-13.3 0-24 10.7-24 24s10.7 24 24 24H304c13.3 0 24-10.7 24-24s-10.7-24-24-24H144zM320 352H128V312c0-13.3 10.7-24 24-24H296c13.3 0 24 10.7 24 24v40z\"]\n};\nvar faSquareSmall = {\n prefix: 'far',\n iconName: 'square-small',\n icon: [320, 512, [], \"e27e\", \"M256 144c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V160c0-8.8 7.2-16 16-16H256zM64 96C28.7 96 0 124.7 0 160V352c0 35.3 28.7 64 64 64H256c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H64z\"]\n};\nvar faFolderArrowUp = {\n prefix: 'far',\n iconName: 'folder-arrow-up',\n icon: [512, 512, [\"folder-upload\"], \"e054\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H289.9L247 53.1C233.5 39.6 215.2 32 196.1 32H64zM48 96c0-8.8 7.2-16 16-16H196.1c6.4 0 12.5 2.5 17 7l45.3 45.3c7.5 7.5 17.7 11.7 28.3 11.7H448c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96zM280 376V273.9l31 31c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-72-72c-9.4-9.4-24.6-9.4-33.9 0l-72 72c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l31-31V376c0 13.3 10.7 24 24 24s24-10.7 24-24z\"]\n};\nvar faFolderUpload = faFolderArrowUp;\nvar faBridgeLock = {\n prefix: 'far',\n iconName: 'bridge-lock',\n icon: [640, 512, [], \"e4cc\", \"M56 32C42.7 32 32 42.7 32 56s10.7 24 24 24h48v64H56c-13.3 0-24 10.7-24 24s10.7 24 24 24h72H256 449.6c20.2-19.8 47.9-32 78.4-32c27.3 0 52.4 9.8 71.8 26.1c5-4.4 8.2-10.9 8.2-18.1c0-13.3-10.7-24-24-24H536V80h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H56zM336 240H304c-57.4 0-104 46.6-104 104v88H152V336c0-53-43-96-96-96c-13.3 0-24 10.7-24 24s10.7 24 24 24c26.5 0 48 21.5 48 48V440c0 22.1 17.9 40 40 40h64c22.1 0 40-17.9 40-40V344c0-30.9 25.1-56 56-56h32c24.9 0 45.9 16.2 53.2 38.6c5.5-12.6 14.9-23.2 26.8-30v-19c-19.1-22.9-47.8-37.5-80-37.5zM488 80v64H408V80h80zM360 80v64H280V80h80zM232 80v64H152V80h80zM528 240c17.7 0 32 14.3 32 32v48H496V272c0-17.7 14.3-32 32-32zm-80 32v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"]\n};\nvar faCrosshairsSimple = {\n prefix: 'far',\n iconName: 'crosshairs-simple',\n icon: [512, 512, [], \"e59f\", \"M462.6 232H392c-13.3 0-24 10.7-24 24s10.7 24 24 24h70.6c-11 95.7-86.9 171.6-182.6 182.6V392c0-13.3-10.7-24-24-24s-24 10.7-24 24v70.6C136.3 451.6 60.4 375.7 49.4 280H120c13.3 0 24-10.7 24-24s-10.7-24-24-24H49.4C60.4 136.3 136.3 60.4 232 49.4V120c0 13.3 10.7 24 24 24s24-10.7 24-24V49.4c95.7 11 171.6 86.9 182.6 182.6zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256z\"]\n};\nvar faSackDollar = {\n prefix: 'far',\n iconName: 'sack-dollar',\n icon: [512, 512, [128176], \"f81d\", \"M218.7 152h74.6l13.8 8.8C361.1 195.4 464 277 464 416c0 26.5-21.5 48-48 48H96c-26.5 0-48-21.5-48-48c0-139 102.9-220.6 156.9-255.2l13.8-8.8zM286 104H226l-7.5-10.8L187.4 48H324.6L293.5 93.2 286 104zM150.8 139.9C89.4 185.5 0 274.8 0 416c0 53 43 96 96 96H416c53 0 96-43 96-96c0-141.2-89.4-230.5-150.8-276.1c-10.4-7.7-20-14.2-28.2-19.4l27.3-39.5 29.8-43.2C401 21.7 389.6 0 370.3 0H141.7C122.4 0 111 21.7 121.9 37.6l29.8 43.2L179 120.4c-8.2 5.3-17.8 11.7-28.2 19.4zM276 216c0-11-9-20-20-20s-20 9-20 20v14c-7.6 1.7-15.2 4.4-22.2 8.5c-13.9 8.3-25.9 22.8-25.8 43.9c.1 20.3 12 33.1 24.7 40.7c11 6.6 24.7 10.8 35.6 14l1.7 .5c12.6 3.8 21.8 6.8 28 10.7c5.1 3.2 5.8 5.4 5.9 8.2c.1 5-1.8 8-5.9 10.5c-5 3.1-12.9 5-21.4 4.7c-11.1-.4-21.5-3.9-35.1-8.5c-2.3-.8-4.7-1.6-7.2-2.4c-10.5-3.5-21.8 2.2-25.3 12.6s2.2 21.8 12.6 25.3c1.9 .6 4 1.3 6.1 2.1l0 0 0 0c8.3 2.9 17.9 6.2 28.2 8.4V424c0 11 9 20 20 20s20-9 20-20V410.2c8-1.7 16-4.5 23.2-9c14.3-8.9 25.1-24.1 24.8-45c-.3-20.3-11.7-33.4-24.6-41.6c-11.5-7.2-25.9-11.6-37.1-15l0 0-.7-.2c-12.8-3.9-21.9-6.7-28.3-10.5c-5.2-3.1-5.3-4.9-5.3-6.7c0-3.7 1.4-6.5 6.2-9.3c5.4-3.2 13.6-5.1 21.5-5c9.6 .1 20.2 2.2 31.2 5.2c10.7 2.8 21.6-3.5 24.5-14.2s-3.5-21.6-14.2-24.5c-6.5-1.7-13.7-3.4-21.1-4.7V216z\"]\n};\nvar faPenToSquare = {\n prefix: 'far',\n iconName: 'pen-to-square',\n icon: [512, 512, [\"edit\"], \"f044\", \"M441 58.9L453.1 71c9.4 9.4 9.4 24.6 0 33.9L424 134.1 377.9 88 407 58.9c9.4-9.4 24.6-9.4 33.9 0zM209.8 256.2L344 121.9 390.1 168 255.8 302.2c-2.9 2.9-6.5 5-10.4 6.1l-58.5 16.7 16.7-58.5c1.1-3.9 3.2-7.5 6.1-10.4zM373.1 25L175.8 222.2c-8.7 8.7-15 19.4-18.3 31.1l-28.6 100c-2.4 8.4-.1 17.4 6.1 23.6s15.2 8.5 23.6 6.1l100-28.6c11.8-3.4 22.5-9.7 31.1-18.3L487 138.9c28.1-28.1 28.1-73.7 0-101.8L474.9 25C446.8-3.1 401.2-3.1 373.1 25zM88 64C39.4 64 0 103.4 0 152V424c0 48.6 39.4 88 88 88H360c48.6 0 88-39.4 88-88V312c0-13.3-10.7-24-24-24s-24 10.7-24 24V424c0 22.1-17.9 40-40 40H88c-22.1 0-40-17.9-40-40V152c0-22.1 17.9-40 40-40H200c13.3 0 24-10.7 24-24s-10.7-24-24-24H88z\"]\n};\nvar faEdit = faPenToSquare;\nvar faSquareSliders = {\n prefix: 'far',\n iconName: 'square-sliders',\n icon: [448, 512, [\"sliders-h-square\"], \"f3f0\", \"M48 416c0 8.8 7.2 16 16 16l320 0c8.8 0 16-7.2 16-16l0-320c0-8.8-7.2-16-16-16L64 80c-8.8 0-16 7.2-16 16l0 320zM0 96C0 60.7 28.7 32 64 32l320 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96zm96 80c0-13.3 10.7-24 24-24l32 0 0-16c0-13.3 10.7-24 24-24s24 10.7 24 24l0 16 128 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-128 0 0 16c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-16-32 0c-13.3 0-24-10.7-24-24zm24 184c-13.3 0-24-10.7-24-24s10.7-24 24-24l128 0 0-16c0-13.3 10.7-24 24-24s24 10.7 24 24l0 16 32 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-32 0 0 16c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-16-128 0z\"]\n};\nvar faSlidersHSquare = faSquareSliders;\nvar faCarSide = {\n prefix: 'far',\n iconName: 'car-side',\n icon: [640, 512, [128663], \"f5e4\", \"M171.3 80H224V96v80 16H99.4l34.7-86.9C140.3 90 155 80 171.3 80zM272 192V176 96 80h81.2c12.2 0 23.6 5.5 31.2 15l77.6 97H272zm252 .6L422 65c-16.7-20.9-42-33-68.7-33H171.3c-36 0-68.3 21.9-81.7 55.3l-42.8 107C19.8 201.8 0 226.6 0 256V368c0 17.7 14.3 32 32 32H65.3c7.6 45.4 47.1 80 94.7 80s87.1-34.6 94.7-80H385.3c7.6 45.4 47.1 80 94.7 80s87.1-34.6 94.7-80H608c17.7 0 32-14.3 32-32V320c0-66.7-50.9-121.4-116-127.4zM434.7 368a48 48 0 1 1 90.5 32 48 48 0 1 1 -90.5-32zm135.8-16c-13.2-37.3-48.7-64-90.5-64s-77.4 26.7-90.5 64H250.5c-13.2-37.3-48.7-64-90.5-64s-77.4 26.7-90.5 64H48V256c0-8.8 7.2-16 16-16H512c44.2 0 80 35.8 80 80v32H570.5zM160 336a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faMessageMiddleTop = {\n prefix: 'far',\n iconName: 'message-middle-top',\n icon: [512, 512, [\"comment-middle-top-alt\"], \"e1e2\", \"M343.5 144H448c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V160c0-8.8 7.2-16 16-16H168.5c14.2 0 27.8-6.3 36.9-17.3L256 66l50.6 60.7c9.1 10.9 22.6 17.3 36.9 17.3zm-175-48H64C28.7 96 0 124.7 0 160V448c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H343.5L268.3 5.8C265.3 2.1 260.7 0 256 0s-9.3 2.1-12.3 5.8L168.5 96z\"]\n};\nvar faCommentMiddleTopAlt = faMessageMiddleTop;\nvar faLightbulbOn = {\n prefix: 'far',\n iconName: 'lightbulb-on',\n icon: [640, 512, [], \"f672\", \"M69.3 4C58.3-3.3 43.4-.3 36 10.7s-4.4 25.9 6.7 33.3l48 32c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L69.3 4zM597.3 44c11-7.4 14-22.3 6.7-33.3s-22.3-14-33.3-6.7l-48 32c-11 7.4-14 22.3-6.7 33.3s22.3 14 33.3 6.7l48-32zM24 160c-13.3 0-24 10.7-24 24s10.7 24 24 24H88c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zm528 0c-13.3 0-24 10.7-24 24s10.7 24 24 24h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H552zM117.3 332c11-7.4 14-22.3 6.7-33.3s-22.3-14-33.3-6.7l-48 32c-11 7.4-14 22.3-6.7 33.3s22.3 14 33.3 6.7l48-32zm432-39.9c-11-7.4-25.9-4.4-33.3 6.7s-4.4 25.9 6.7 33.3l48 32c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3l-48-32zM448 176c0 27.2-8.4 52.3-22.8 72.9c-3.7 5.3-8 11.3-12.7 17.7l0 0 0 0 0 0 0 0c-12.9 17.7-28.3 38.9-39.8 59.8c-10.4 19-15.7 38.8-18.3 57.5H403c2.2-12 5.9-23.7 11.8-34.5c9.9-18 22.2-34.9 34.5-51.8l0 0 0 0 0 0c5.2-7.1 10.4-14.2 15.4-21.4c19.8-28.5 31.4-63 31.4-100.3C496 78.8 417.2 0 320 0S144 78.8 144 176c0 37.3 11.6 71.9 31.4 100.3c5 7.2 10.2 14.3 15.4 21.4l0 0 0 0c12.3 16.8 24.6 33.7 34.5 51.8c5.9 10.8 9.6 22.5 11.8 34.5h48.6c-2.6-18.7-7.9-38.6-18.3-57.5c-11.5-20.9-26.9-42.1-39.8-59.8l0 0 0 0c-4.7-6.4-9-12.4-12.8-17.7C200.4 228.3 192 203.2 192 176c0-70.7 57.3-128 128-128s128 57.3 128 128zm-176 0c0-26.5 21.5-48 48-48c8.8 0 16-7.2 16-16s-7.2-16-16-16c-44.2 0-80 35.8-80 80c0 8.8 7.2 16 16 16s16-7.2 16-16zM400 432V416H240v16c0 44.2 35.8 80 80 80s80-35.8 80-80z\"]\n};\nvar faKnife = {\n prefix: 'far',\n iconName: 'knife',\n icon: [512, 512, [\"utensil-knife\"], \"f2e4\", \"M451.4 10.8C458.1 3.9 467.2 0 476.8 0C496.2 0 512 15.8 512 35.2V83.6c0 65.5-25.9 128.4-72.1 174.9l-70.2 70.6c-31.2 31.4-82 31.5-113.3 .2L233.1 306 41.3 504.7c-9.2 9.5-24.4 9.8-33.9 .6s-9.8-24.4-.6-33.9L215.5 255.1 451.4 10.8zm-185 260.7l23.8 23.8c12.5 12.5 32.8 12.5 45.3-.1l70.2-70.6c37.3-37.5 58.2-88.2 58.2-141V66.8L266.4 271.5z\"]\n};\nvar faUtensilKnife = faKnife;\nvar faShareNodes = {\n prefix: 'far',\n iconName: 'share-nodes',\n icon: [448, 512, [\"share-alt\"], \"f1e0\", \"M448 128c0 53-43 96-96 96c-28.9 0-54.8-12.8-72.4-33l-89.7 44.9c1.4 6.5 2.1 13.2 2.1 20.1s-.7 13.6-2.1 20.1L279.6 321c17.6-20.2 43.5-33 72.4-33c53 0 96 43 96 96s-43 96-96 96s-96-43-96-96c0-6.9 .7-13.6 2.1-20.1L168.4 319c-17.6 20.2-43.5 33-72.4 33c-53 0-96-43-96-96s43-96 96-96c28.9 0 54.8 12.8 72.4 33l89.7-44.9c-1.4-6.5-2.1-13.2-2.1-20.1c0-53 43-96 96-96s96 43 96 96zM96 304a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM400 128a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM352 432a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faShareAlt = faShareNodes;\nvar faDisplayChartUpCircleDollar = {\n prefix: 'far',\n iconName: 'display-chart-up-circle-dollar',\n icon: [640, 512, [], \"e5e6\", \"M64 48H512c8.8 0 16 7.2 16 16V194.9c17 3.1 33.1 8.7 48 16.3V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64H211.7l-8 48H152c-13.3 0-24 10.7-24 24s10.7 24 24 24h72H352h42.8c-18.3-12.9-34.1-29.2-46.3-48H323.7 288 252.3l8-48H288h27.7 11c-4.3-15.3-6.6-31.4-6.6-48H240.4c-.3 0-.6 0-.8 0H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16zM480 192.7V120c0-13.3-10.7-24-24-24H376c-13.3 0-24 10.7-24 24s10.7 24 24 24h22.1L304 238.1l-63-63c-9.4-9.4-24.6-9.4-33.9 0L103 279c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l87-87 63 63c4.5 4.5 10.6 7 17 7s12.5-2.5 17-7l111-111V200c0 1.3 .1 2.6 .3 3.9c15-5.8 31-9.7 47.7-11.2zM640 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zM472.8 335.4c-.4 .7-.9 1.6-.8 3.6l0 .1c0 .4 0 1.9 4.8 4.5c5.6 3 13.5 5.2 23.9 8.2l.2 0c9.3 2.6 21.1 6 30.5 11.5c10.2 6 20 16.1 20.5 32.3c.5 18.2-9.7 30.4-21.7 36.9c-5.8 3.1-12.1 5.1-18.3 6.2v10.8c0 8.8-7.2 16-16 16s-16-7.2-16-16V438.1c-8.6-1.7-16.7-4.3-23.7-6.6l0 0 0 0c-1.7-.6-3.4-1.1-5-1.6c-8.4-2.6-13.2-11.6-10.5-20s11.6-13.2 20-10.5c2 .6 3.9 1.2 5.8 1.8c11.4 3.6 20.4 6.5 29.9 6.8c6.7 .2 13.8-1.1 18.5-3.6c2.2-1.2 3.4-2.4 4-3.3c.5-.8 1.1-2.1 1-4.5c0-1.4-.2-3-4.7-5.6c-5.3-3.1-12.9-5.4-23.2-8.3l-1.8-.5c-8.9-2.5-19.8-5.6-28.6-10.3c-9.9-5.3-20.6-14.7-21.6-30.7c-1.2-18.8 10-30.9 21.8-37.2c5.7-3.1 12-5.1 18-6.3V288c0-8.8 7.2-16 16-16s16 7.2 16 16v9.4c6.3 .9 12.3 2.3 17.9 3.7c8.6 2.1 13.8 10.8 11.7 19.4s-10.8 13.8-19.4 11.7c-9.3-2.3-18.2-4-26.4-4.1c-6.2-.1-13.6 1.3-18.7 4c-2.4 1.3-3.6 2.5-4.2 3.4z\"]\n};\nvar faWaveSine = {\n prefix: 'far',\n iconName: 'wave-sine',\n icon: [640, 512, [8767], \"f899\", \"M47.3 237.8l0 0 0 0 .1-.2 .3-1.1c.3-1 .7-2.5 1.3-4.5c1.2-4 3-9.8 5.6-16.8c5.2-14.1 13.1-32.6 24-50.9C101.2 126.6 132.9 96 176 96c33.3 0 55.6 16.4 74.1 46.2c19.5 31.3 32.6 73.9 46.9 120.8l.6 1.9c13.6 44.6 28.3 93.1 51.5 130.3C373.6 434.4 409.3 464 464 464c68.9 0 113.2-49.4 138.6-91.7c13-21.7 22.1-43.1 28-59.1c2.9-8 5.1-14.7 6.5-19.5c.7-2.4 1.3-4.3 1.6-5.6c.2-.7 .3-1.2 .4-1.6l.1-.5 0-.1 0-.1 0 0s0 0-23.3-5.8l23.3 5.8c3.2-12.9-4.6-25.9-17.5-29.1s-25.9 4.6-29.1 17.4l0 0 0 0-.1 .2-.3 1.1c-.3 1-.7 2.5-1.3 4.5c-1.2 4-3 9.8-5.6 16.8c-5.2 14.1-13 32.6-24 50.9C538.8 385.4 507.1 416 464 416c-33.3 0-55.6-16.4-74.1-46.2C370.4 338.5 357.2 295.9 343 249l-.6-1.9C328.8 202.5 314 154 290.9 116.8C266.4 77.6 230.7 48 176 48C107.1 48 62.8 97.4 37.4 139.7c-13 21.7-22.1 43.1-28 59.1c-2.9 8-5.1 14.7-6.5 19.5c-.7 2.4-1.3 4.3-1.6 5.6c-.2 .7-.3 1.2-.4 1.6l-.1 .5 0 .1 0 .1 0 0s0 0 23.3 5.8L.7 226.2c-3.2 12.9 4.6 25.9 17.5 29.1s25.9-4.6 29.1-17.4z\"]\n};\nvar faHeartCircleMinus = {\n prefix: 'far',\n iconName: 'heart-circle-minus',\n icon: [576, 512, [], \"e4ff\", \"M225.8 468.2l-2.5-2.3L48.1 303.2C17.4 274.7 0 234.7 0 192.8v-3.3c0-70.4 50-130.8 119.2-144C158.6 37.9 198.9 47 231 69.6c9 6.4 17.4 13.8 25 22.3c4.2-4.8 8.7-9.2 13.5-13.3c3.7-3.2 7.5-6.2 11.5-9l0 0C313.1 47 353.4 37.9 392.8 45.4C462 58.6 512 119.1 512 189.5v3.3c0 6-.4 12-1.1 17.9c-14.6-7.3-30.4-12.7-47-15.8c0-.7 0-1.4 0-2.1v-3.3c0-47.3-33.6-88-80.1-96.9c-34-6.5-69 5.4-92 31.2l-.1 .1-.1 .1-17.8 20c-.3 .4-.7 .7-1 1.1c-4.5 4.5-10.6 7-16.9 7s-12.4-2.5-16.9-7c-.4-.3-.7-.7-1-1.1l-17.8-20-.1-.1 0 0c-23.1-25.9-58-37.7-92-31.2C81.6 101.5 48 142.1 48 189.5v3.3c0 28.5 11.9 55.8 32.8 75.2L256 430.7l8.7-8c5.3 16.1 12.8 31.2 22.2 44.9l-.6 .6c-8.2 7.6-19 11.9-30.2 11.9s-22-4.2-30.2-11.9zM288 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm224 0c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16s7.2 16 16 16l128 0c8.8 0 16-7.2 16-16z\"]\n};\nvar faCircleW = {\n prefix: 'far',\n iconName: 'circle-w',\n icon: [512, 512, [], \"e12c\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM150.9 168.7c-4-12.6-17.5-19.6-30.2-15.5s-19.6 17.5-15.5 30.2l64 200c3.2 9.9 12.4 16.7 22.9 16.7s19.7-6.7 22.9-16.7L256 254.7l41.1 128.6c3.2 9.9 12.4 16.7 22.9 16.7s19.7-6.7 22.9-16.7l64-200c4-12.6-2.9-26.1-15.5-30.2s-26.1 2.9-30.2 15.5L320 297.3 278.9 168.7c-3.2-9.9-12.4-16.7-22.9-16.7s-19.7 6.7-22.9 16.7L192 297.3 150.9 168.7z\"]\n};\nvar faCircleCalendar = {\n prefix: 'far',\n iconName: 'circle-calendar',\n icon: [512, 512, [\"calendar-circle\"], \"e102\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM208 112c8.8 0 16 7.2 16 16v16h64V128c0-8.8 7.2-16 16-16s16 7.2 16 16v16h16c26.5 0 48 21.5 48 48v32 96c0 26.5-21.5 48-48 48H176c-26.5 0-48-21.5-48-48V224 192c0-26.5 21.5-48 48-48h16V128c0-8.8 7.2-16 16-16zM176 320H336V224H176v96z\"]\n};\nvar faCalendarCircle = faCircleCalendar;\nvar faHourglassHalf = {\n prefix: 'far',\n iconName: 'hourglass-half',\n icon: [384, 512, [\"hourglass-2\"], \"f252\", \"M0 24C0 10.7 10.7 0 24 0H360c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8V67c0 40.3-16 79-44.5 107.5L225.9 256l81.5 81.5C336 366 352 404.7 352 445v19h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24h8V445c0-40.3 16-79 44.5-107.5L158.1 256 76.5 174.5C48 146 32 107.3 32 67V48H24C10.7 48 0 37.3 0 24zM110.5 371.5c-3.9 3.9-7.5 8.1-10.7 12.5H284.2c-3.2-4.4-6.8-8.6-10.7-12.5L192 289.9l-81.5 81.5zM284.2 128C297 110.4 304 89 304 67V48H80V67c0 22.1 7 43.4 19.8 61H284.2z\"]\n};\nvar faHourglass2 = faHourglassHalf;\nvar faMicroscope = {\n prefix: 'far',\n iconName: 'microscope',\n icon: [512, 512, [128300], \"f610\", \"M192 0c-17.7 0-32 14.3-32 32c-17.7 0-32 14.3-32 32V288c0 17.7 14.3 32 32 32c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32c0-17.7-14.3-32-32-32H192zM176 272V80h64V272H176zM24 464c-13.3 0-24 10.7-24 24s10.7 24 24 24H320 488c13.3 0 24-10.7 24-24s-10.7-24-24-24H447c39.9-35.2 65-86.7 65-144c0-106-86-192-192-192h0v48h0c79.5 0 144 64.5 144 144s-64.5 144-144 144h0H24zm72-56c0 13.3 10.7 24 24 24H296c13.3 0 24-10.7 24-24s-10.7-24-24-24H120c-13.3 0-24 10.7-24 24z\"]\n};\nvar faSunset = {\n prefix: 'far',\n iconName: 'sunset',\n icon: [576, 512, [127751], \"f767\", \"M305 217c-9.4 9.4-24.6 9.4-33.9 0l-80-80c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l39 39V24c0-13.3 10.7-24 24-24s24 10.7 24 24V142.1l39-39c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-80 80zm88.3 8.8c7.5 3.1 12.9 9.8 14.4 17.8l18.1 98.5 98.5 18.1c8 1.5 14.7 6.9 17.8 14.4s2.2 16.1-2.4 22.8L493.9 464H552c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H82.1L36.2 397.5c-4.6-6.7-5.5-15.3-2.4-22.8s9.8-13 17.8-14.4l98.5-18.1 18.1-98.5c1.5-8 6.9-14.7 14.4-17.8s16.1-2.2 22.8 2.4L288 285.1l82.5-56.9c6.7-4.6 15.3-5.5 22.8-2.4zM140.4 464h36.7c7.8-54.3 54.4-96 110.9-96s103.1 41.7 110.9 96h36.7l43.6-63.2-78.3-14.4c-9.8-1.8-17.5-9.5-19.3-19.3l-14.4-78.3L301.6 334c-8.2 5.7-19 5.7-27.2 0l-65.6-45.2-14.4 78.3c-1.8 9.8-9.5 17.5-19.3 19.3L96.8 400.8 140.4 464zM350 464c-7.1-27.6-32.2-48-62-48s-54.9 20.4-62 48H350z\"]\n};\nvar faSink = {\n prefix: 'far',\n iconName: 'sink',\n icon: [512, 512, [], \"e06d\", \"M280 88c0-22.1 17.9-40 40-40s40 17.9 40 40v24c0 13.3 10.7 24 24 24s24-10.7 24-24V88c0-48.6-39.4-88-88-88s-88 39.4-88 88V288H160V264c0-30.9-25.1-56-56-56H56c-13.3 0-24 10.7-24 24s10.7 24 24 24h48c4.4 0 8 3.6 8 8v24H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H256 488c13.3 0 24-10.7 24-24s-10.7-24-24-24H400V264c0-4.4 3.6-8 8-8h56c13.3 0 24-10.7 24-24s-10.7-24-24-24H408c-30.9 0-56 25.1-56 56v24H280V88zM32 368v24c0 66.3 53.7 120 120 120H360c66.3 0 120-53.7 120-120V368H432v24c0 39.8-32.2 72-72 72H152c-39.8 0-72-32.2-72-72V368H32z\"]\n};\nvar faCalendarExclamation = {\n prefix: 'far',\n iconName: 'calendar-exclamation',\n icon: [448, 512, [], \"f334\", \"M152 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H64C28.7 64 0 92.7 0 128v16 48V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V192 144 128c0-35.3-28.7-64-64-64H344V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H152V24zM48 192H400V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V192zM256 400a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-8-152c0-13.3-10.7-24-24-24s-24 10.7-24 24v64c0 13.3 10.7 24 24 24s24-10.7 24-24V248z\"]\n};\nvar faTruckContainerEmpty = {\n prefix: 'far',\n iconName: 'truck-container-empty',\n icon: [640, 512, [], \"e2b5\", \"M432 168c0-13.3 10.7-24 24-24h72.8c16.8 0 32.7 7.5 43.3 20.5L631 236.4c5.8 7.1 9 16.1 9 25.3V272v16 80c0 17.7-14.3 32-32 32c0 44.2-35.8 80-80 80s-80-35.8-80-80H432 288c0 44.2-35.8 80-80 80c-26.2 0-49.4-12.6-64-32c-14.6 19.4-37.8 32-64 32c-44.2 0-80-35.8-80-80s35.8-80 80-80c26.2 0 49.4 12.6 64 32c14.6-19.4 37.8-32 64-32s49.4 12.6 64 32H432V256 168zm103 26.9c-1.5-1.9-3.8-2.9-6.2-2.9H480v64H585l-50-61.1zM528 432a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM240 400a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM80 432a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faHandHeart = {\n prefix: 'far',\n iconName: 'hand-heart',\n icon: [512, 512, [], \"f4bc\", \"M198.4 36C208.8 14.7 230.7 0 256 0s47.2 14.7 57.6 36c7-2.6 14.5-4 22.4-4c35.3 0 64 28.7 64 64v2c5.1-1.3 10.5-2 16-2c35.3 0 64 28.7 64 64V336c0 1.5-.1 3-.4 4.5c-6.2 91.7-79.4 165-171.1 171.1c-1.5 .3-2.9 .4-4.5 .4h-8-8.5c-67.9 0-133-27-181-75L18.7 349.3c-25-25-25-65.5 0-90.5s65.5-25 90.5 0l2.7 2.7V96c0-35.3 28.7-64 64-64c7.9 0 15.4 1.4 22.4 4zM240 232c0 13.3-10.7 24-24 24s-24-10.7-24-24V95.9c0-8.8-7.2-15.9-16-15.9c-8.8 0-16 7.2-16 16V319.4c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2L75.3 292.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l87.8 87.8c39 39 91.9 60.9 147.1 60.9H296h4.9c.6-.1 1.3-.1 1.9-.2c69.7-3.4 125.6-59.3 129-129c0-.6 .1-1.3 .2-1.9V160c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 .1V232c0 13.3-10.7 24-24 24s-24-10.7-24-24V152l0-.1V96c0-8.8-7.2-16-16-16s-16 7.1-16 16l0 .1V232c0 13.3-10.7 24-24 24s-24-10.7-24-24V96l0-.1V64c0-8.8-7.2-16-16-16s-16 7.2-16 16V96l0 .1V232zm-32 96.8c0-22.6 18.3-40.8 40.8-40.8c10.8 0 21.2 4.3 28.9 12l5 5 5-5c7.7-7.7 18-12 28.9-12c22.6 0 40.8 18.3 40.8 40.8c0 10.8-4.3 21.2-12 28.9l-55.2 55.2c-4.2 4.2-10.9 4.2-15.1 0L220 357.7c-7.7-7.7-12-18-12-28.9z\"]\n};\nvar faBagShopping = {\n prefix: 'far',\n iconName: 'bag-shopping',\n icon: [448, 512, [\"shopping-bag\"], \"f290\", \"M160 112v48H288V112c0-35.3-28.7-64-64-64s-64 28.7-64 64zm-48 96H48V416c0 26.5 21.5 48 48 48H352c26.5 0 48-21.5 48-48V208H336v56c0 13.3-10.7 24-24 24s-24-10.7-24-24V208H160v56c0 13.3-10.7 24-24 24s-24-10.7-24-24V208zm0-48V112C112 50.1 162.1 0 224 0s112 50.1 112 112v48h64c26.5 0 48 21.5 48 48V416c0 53-43 96-96 96H96c-53 0-96-43-96-96V208c0-26.5 21.5-48 48-48h64z\"]\n};\nvar faShoppingBag = faBagShopping;\nvar faArrowDownZA = {\n prefix: 'far',\n iconName: 'arrow-down-z-a',\n icon: [576, 512, [\"sort-alpha-desc\", \"sort-alpha-down-alt\"], \"f881\", \"M47 377l96 96c9.4 9.4 24.6 9.4 33.9 0l96-96c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-55 55V56c0-13.3-10.7-24-24-24s-24 10.7-24 24V398.1L81 343c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9zM352 32c-13.3 0-24 10.7-24 24s10.7 24 24 24h74.6L334.1 184.1c-6.3 7.1-7.8 17.2-4 25.8S342.6 224 352 224H480c13.3 0 24-10.7 24-24s-10.7-24-24-24H405.4L497.9 71.9c6.3-7.1 7.8-17.2 4-25.8S489.4 32 480 32H352zm64 240c-9.1 0-17.4 5.1-21.5 13.3l-80 160c-5.9 11.9-1.1 26.3 10.7 32.2s26.3 1.1 32.2-10.7L370.8 440H456c1.7 0 3.3-.2 4.9-.5l13.6 27.2c5.9 11.9 20.3 16.7 32.2 10.7s16.7-20.3 10.7-32.2l-80-160c-4.1-8.1-12.4-13.3-21.5-13.3zM394.8 392L416 349.7 437.2 392H394.8z\"]\n};\nvar faSortAlphaDesc = faArrowDownZA;\nvar faSortAlphaDownAlt = faArrowDownZA;\nvar faMitten = {\n prefix: 'far',\n iconName: 'mitten',\n icon: [448, 512, [], \"f7b5\", \"M0 142.6C0 63.8 63.8 0 142.6 0c63.7 0 119.6 42.2 137.1 103.4l21.4 75c15.7-11.8 35-18.4 55.2-18.4h4.5c48.2 0 87.3 39.1 87.3 87.3c0 21.9-8.3 43.1-23.1 59.2L353.3 384H304v-8c0-6 2.3-11.8 6.4-16.3l79.2-85.8c6.7-7.3 10.4-16.8 10.4-26.6c0-21.7-17.6-39.3-39.3-39.3h-4.5c-14.6 0-28.3 7.3-36.4 19.5l-9.5 14.2c-5.2 7.8-14.4 11.8-23.7 10.4s-16.8-8.1-19.4-17.1L233.5 116.6C221.9 76 184.8 48 142.6 48C90.3 48 48 90.3 48 142.6v2.5c0 7.9 1 15.8 2.9 23.5l52.4 209.5c.5 1.9 .7 3.9 .7 5.8H55.3L4.3 180.3C1.5 168.8 0 157 0 145.1v-2.5zM64 416H352c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V448c0-17.7 14.3-32 32-32z\"]\n};\nvar faReplyClock = {\n prefix: 'far',\n iconName: 'reply-clock',\n icon: [640, 512, [\"reply-time\"], \"e239\", \"M640 144a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zM496 64c8.8 0 16 7.2 16 16v48h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H496c-8.8 0-16-7.2-16-16V80c0-8.8 7.2-16 16-16zm16 272c0-5.6-.3-11.2-.8-16.6c-5 .4-10.1 .6-15.2 .6c-11.4 0-22.6-1.1-33.4-3.2c.9 6.2 1.4 12.6 1.4 19.2c0 15.3-1.9 29.1-5.2 41.5C442 316.7 386.2 272 320 272H224 200c-13.3 0-24 10.7-24 24v24 28.1L55.9 240 176 131.9V160v24c0 13.3 10.7 24 24 24h24H332c-5.9-15.1-9.8-31.2-11.3-48H272 224V112 96c0-12.6-7.4-24.1-19-29.2s-25-3-34.4 5.4l-160 144C3.9 222.3 0 230.9 0 240s3.9 17.7 10.6 23.8l160 144c9.4 8.5 22.9 10.6 34.4 5.4s19-16.6 19-29.2V368 320h48 48c53 0 96 43 96 96c0 17.3-4.2 30.5-9.5 40.2c-1.6 2.9-3.3 5.5-5 7.9c-2.6 3.5-5.3 6.4-7.7 8.6c-.5 .5-1 .9-1.4 1.4c-4.8 4.9-8.3 11.3-8.3 18.1c0 10.9 8.8 19.7 19.7 19.7c2.8 0 5.6-.6 8.1-1.9c2.6-1.4 6.3-3.5 10.8-6.5c2.7-1.8 5.7-3.8 8.9-6.2c3.7-2.7 7.6-5.8 11.7-9.3C473.4 462.2 512 413.9 512 336z\"]\n};\nvar faReplyTime = faReplyClock;\nvar faPersonRays = {\n prefix: 'far',\n iconName: 'person-rays',\n icon: [512, 512, [], \"e54d\", \"M256 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-13.7 80h27.5c.8 0 1.5 0 2.3 .1V304H240V176.1c.7 0 1.5-.1 2.3-.1zM240 488V352h32V488c0 13.3 10.7 24 24 24s24-10.7 24-24V223.6l43.1 76.2c6.5 11.5 21.2 15.6 32.7 9.1s15.6-21.2 9.1-32.7L346.3 172.7c-15.6-27.6-44.9-44.7-76.6-44.7H242.3c-31.7 0-61 17.1-76.6 44.7L107.1 276.2c-6.5 11.5-2.5 26.2 9.1 32.7s26.2 2.5 32.7-9.1L192 223.6V488c0 13.3 10.7 24 24 24s24-10.7 24-24zM7 7C-2.3 16.4-2.3 31.6 7 41l80 80c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L41 7C31.6-2.3 16.4-2.3 7 7zM505 7c-9.4-9.4-24.6-9.4-33.9 0L391 87c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9zM41 505l80-80c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L7 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0zm464 0c9.4-9.4 9.4-24.6 0-33.9l-80-80c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l80 80c9.4 9.4 24.6 9.4 33.9 0z\"]\n};\nvar faRight = {\n prefix: 'far',\n iconName: 'right',\n icon: [448, 512, [11157, \"arrow-alt-right\"], \"f356\", \"M397.6 256L247.7 398.7c-.8 .8-2 1.3-3.2 1.3c-2.5 0-4.6-2-4.6-4.6l0-83.4c0-13.3-10.7-24-24-24L48 288l0-64 168 0c13.3 0 24-10.7 24-24l0-83.4c0-2.5 2-4.6 4.6-4.6c1.2 0 2.3 .5 3.2 1.3L397.6 256zm-153 192c13.5 0 26.5-5.2 36.3-14.5L434.8 286.9c8.5-8.1 13.2-19.2 13.2-30.9s-4.8-22.8-13.2-30.9L280.8 78.5C271.1 69.2 258.1 64 244.6 64c-29 0-52.6 23.5-52.6 52.6l0 59.4L48 176c-26.5 0-48 21.5-48 48l0 64c0 26.5 21.5 48 48 48l144 0 0 59.4c0 29 23.5 52.6 52.6 52.6z\"]\n};\nvar faArrowAltRight = faRight;\nvar faCircleF = {\n prefix: 'far',\n iconName: 'circle-f',\n icon: [512, 512, [], \"e10e\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM184 128c-13.3 0-24 10.7-24 24V264v96c0 13.3 10.7 24 24 24s24-10.7 24-24V288h88c13.3 0 24-10.7 24-24s-10.7-24-24-24H208V176H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H184z\"]\n};\nvar faUsers = {\n prefix: 'far',\n iconName: 'users',\n icon: [640, 512, [], \"f0c0\", \"M144 160A80 80 0 1 0 144 0a80 80 0 1 0 0 160zm368 0A80 80 0 1 0 512 0a80 80 0 1 0 0 160zM0 298.7C0 310.4 9.6 320 21.3 320H234.7c.2 0 .4 0 .7 0c-26.6-23.5-43.3-57.8-43.3-96c0-7.6 .7-15 1.9-22.3c-13.6-6.3-28.7-9.7-44.6-9.7H106.7C47.8 192 0 239.8 0 298.7zM405.3 320H618.7c11.8 0 21.3-9.6 21.3-21.3C640 239.8 592.2 192 533.3 192H490.7c-15.9 0-31 3.5-44.6 9.7c1.3 7.2 1.9 14.7 1.9 22.3c0 38.2-16.8 72.5-43.3 96c.2 0 .4 0 .7 0zM320 176a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm0 144a96 96 0 1 0 0-192 96 96 0 1 0 0 192zm-58.7 80H378.7c39.8 0 73.2 27.2 82.6 64H178.7c9.5-36.8 42.9-64 82.6-64zm0-48C187.7 352 128 411.7 128 485.3c0 14.7 11.9 26.7 26.7 26.7H485.3c14.7 0 26.7-11.9 26.7-26.7C512 411.7 452.3 352 378.7 352H261.3z\"]\n};\nvar faFacePleading = {\n prefix: 'far',\n iconName: 'face-pleading',\n icon: [512, 512, [], \"e386\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM266.5 412.4c-2-2.1-5.3-4.4-10.5-4.4s-8.5 2.3-10.5 4.4c-9 9.7-24.2 10.2-33.9 1.2s-10.2-24.2-1.2-33.9c8.9-9.5 24.2-19.6 45.5-19.6s36.7 10.1 45.5 19.6c9 9.7 8.5 24.9-1.2 33.9s-24.9 8.5-33.9-1.2zM160 288a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm0 32c-44.2 0-80-35.8-80-80c0-18 6-34.6 16-48c-8 0-14.9-5.9-15.9-14c-1.1-8.8 5.1-16.8 13.9-17.9l11.5-1.4c25.5-3.2 46.6-21.3 53.6-45.9l1.5-5.2c2.4-8.5 11.3-13.4 19.8-11s13.4 11.3 11 19.8l-1.5 5.2c-4.2 14.8-11.8 28-21.9 38.8c40.4 4 72 38.1 72 79.6c0 44.2-35.8 80-80 80zm240-80a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm32 0c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-41.5 31.5-75.6 72-79.6c-10-10.8-17.6-24.1-21.9-38.8l-1.5-5.2c-2.4-8.5 2.5-17.4 11-19.8s17.4 2.5 19.8 11l1.5 5.2c7 24.7 28.1 42.7 53.6 45.9l11.5 1.4c8.8 1.1 15 9.1 13.9 17.9c-1 8.1-7.9 14-15.9 14c10 13.4 16 30 16 48zm-304 0c17.7 0 32-14.3 32-32c17.7 0 32 14.3 32 32s-14.3 32-32 32s-32-14.3-32-32zm224-32c17.7 0 32 14.3 32 32s-14.3 32-32 32s-32-14.3-32-32c17.7 0 32-14.3 32-32z\"]\n};\nvar faEyeSlash = {\n prefix: 'far',\n iconName: 'eye-slash',\n icon: [640, 512, [], \"f070\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L525.6 386.7c39.6-40.6 66.4-86.1 79.9-118.4c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C465.5 68.8 400.8 32 320 32c-68.2 0-125 26.3-169.3 60.8L38.8 5.1zm151 118.3C226 97.7 269.5 80 320 80c65.2 0 118.8 29.6 159.9 67.7C518.4 183.5 545 226 558.6 256c-12.6 28-36.6 66.8-70.9 100.9l-53.8-42.2c9.1-17.6 14.2-37.5 14.2-58.7c0-70.7-57.3-128-128-128c-32.2 0-61.7 11.9-84.2 31.5l-46.1-36.1zM394.9 284.2l-81.5-63.9c4.2-8.5 6.6-18.2 6.6-28.3c0-5.5-.7-10.9-2-16c.7 0 1.3 0 2 0c44.2 0 80 35.8 80 80c0 9.9-1.8 19.4-5.1 28.2zm51.3 163.3l-41.9-33C378.8 425.4 350.7 432 320 432c-65.2 0-118.8-29.6-159.9-67.7C121.6 328.5 95 286 81.4 256c8.3-18.4 21.5-41.5 39.4-64.8L83.1 161.5C60.3 191.2 44 220.8 34.5 243.7c-3.3 7.9-3.3 16.7 0 24.6c14.9 35.7 46.2 87.7 93 131.1C174.5 443.2 239.2 480 320 480c47.8 0 89.9-12.9 126.2-32.5zm-88-69.3L302 334c-23.5-5.4-43.1-21.2-53.7-42.3l-56.1-44.2c-.2 2.8-.3 5.6-.3 8.5c0 70.7 57.3 128 128 128c13.3 0 26.1-2 38.2-5.8z\"]\n};\nvar faFlaskVial = {\n prefix: 'far',\n iconName: 'flask-vial',\n icon: [640, 512, [], \"e4f3\", \"M175 389.4l49-79.6V48h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8H176 80 32 24C10.7 0 0 10.7 0 24S10.7 48 24 48h8V352c0 53 43 96 96 96c11.2 0 22-1.9 32-5.5c0-18.7 5.2-37.1 15-53.1zM80 48h96V160H80V48zm0 160h96V352c0 26.5-21.5 48-48 48s-48-21.5-48-48V208zM312 0c-13.3 0-24 10.7-24 24s10.7 24 24 24h8V217.2L202 408.9c-6.6 10.7-10 22.9-10 35.5c0 37.4 30.3 67.6 67.6 67.6H572.4c37.4 0 67.6-30.3 67.6-67.6c0-12.5-3.5-24.8-10-35.5L512 217.2V48h8c13.3 0 24-10.7 24-24s-10.7-24-24-24H312zM464 48V224c0 4.4 1.2 8.8 3.6 12.6L518.9 320H313.1l51.3-83.4c2.3-3.8 3.6-8.1 3.6-12.6V48h96zM242.9 434.1L283.6 368H548.4l40.6 66.1c1.9 3.1 2.9 6.7 2.9 10.3c0 10.8-8.8 19.6-19.6 19.6H259.6c-10.9 0-19.6-8.8-19.6-19.6c0-3.6 1-7.2 2.9-10.3z\"]\n};\nvar faPoliceBox = {\n prefix: 'far',\n iconName: 'police-box',\n icon: [384, 512, [], \"e021\", \"M192 0c8.8 0 16 7.2 16 16V32h80c17.7 0 32 14.3 32 32c17.7 0 32 14.3 32 32V464h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H320 64 24c-13.3 0-24-10.7-24-24s10.7-24 24-24h8V96c0-17.7 14.3-32 32-32c0-17.7 14.3-32 32-32h80V16c0-8.8 7.2-16 16-16zM80 464H304V112H80V464zm24-320c0-4.4 3.6-8 8-8h24v32H104V144zm0 40h32v32H112c-4.4 0-8-3.6-8-8V184zm72-48c4.4 0 8 3.6 8 8v24H152V136h24zm-24 48h32v24c0 4.4-3.6 8-8 8H152V184zm56-48h24v32H200V144c0-4.4 3.6-8 8-8zm24 48v32H208c-4.4 0-8-3.6-8-8V184h32zm16-48h24c4.4 0 8 3.6 8 8v24H248V136zm32 48v24c0 4.4-3.6 8-8 8H248V184h32zM104 248c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v48c0 8.8-7.2 16-16 16H120c-8.8 0-16-7.2-16-16V248z\"]\n};\nvar faCucumber = {\n prefix: 'far',\n iconName: 'cucumber',\n icon: [512, 512, [129362], \"e401\", \"M71.4 440.6c-31.2-31.2-31.2-81.9 0-113.1l256-256c31.2-31.2 81.9-31.2 113.1 0s31.2 81.9 0 113.1l-63 63c-4.4-4.7-10.6-7.6-17.5-7.6c-13.3 0-24 10.7-24 24c0 6.9 2.9 13.1 7.6 17.5l-159 159c-31.2 31.2-81.9 31.2-113.1 0zM37.5 474.5c47.8 47.8 124 49.9 174.3 6.3c12.6 10.3 31.1 9.6 42.9-2.2c11.6-11.6 12.4-30 2.4-42.6L436 257c12.6 10.1 31 9.3 42.6-2.4c11.7-11.7 12.5-30.3 2.2-42.9c43.6-50.3 41.5-126.5-6.3-174.3c-50-50-131-50-181 0L172 159c-12.6-10.1-31-9.3-42.6 2.4s-12.4 30-2.4 42.6L37.5 293.5c-50 50-50 131 0 181zM352 152a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM184 320a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faHeadSideBrain = {\n prefix: 'far',\n iconName: 'head-side-brain',\n icon: [512, 512, [], \"f808\", \"M48 224c0-97.2 78.8-176 176-176h24c60.1 0 115.7 36.7 139.6 88.3c3.9 8.4 7.5 17 11.4 25.9l1.5 3.5c4.3 10.1 8.9 20.7 13.9 31.1c10.1 20.8 22.5 42 40.6 60.1l4.4 4.4c2.9 2.9 4.6 6.9 4.6 11c0 8.6-7 15.6-15.6 15.6H424c-13.3 0-24 10.7-24 24v72c0 8.8-7.2 16-16 16H296c-13.3 0-24 10.7-24 24v64c0 13.3 10.7 24 24 24s24-10.7 24-24V448h64c35.3 0 64-28.7 64-64V336h.4c35.1 0 63.6-28.5 63.6-63.6c0-16.9-6.7-33-18.6-45L489 223c-12.7-12.7-22.4-28.5-31.4-47.1c-4.5-9.3-8.7-18.9-13-29l-1.5-3.5c-3.8-8.9-7.8-18.2-12-27.3C399.4 47.6 326.8 0 248 0H224C100.3 0 0 100.3 0 224c0 53.6 18.9 102.9 50.3 141.5c8.9 11 13.7 22.4 13.7 33.1V488c0 13.3 10.7 24 24 24s24-10.7 24-24V398.6c0-24.9-10.9-46.8-24.5-63.4C62.8 304.8 48 266.2 48 224zm264-32c22.1 0 40-17.9 40-40s-17.9-40-40-40c-2 0-3.9 .1-5.8 .4C299.8 102.5 288.7 96 276 96c-6.2 0-12.1 1.6-17.2 4.3C252 88.2 238.9 80 224 80s-28 8.2-34.8 20.3C184.1 97.6 178.2 96 172 96c-18.5 0-33.8 14-35.8 32l-.2 0c-22.1 0-40 17.9-40 40c0 16.5 9.9 30.6 24.1 36.7c-.1 1.1-.1 2.2-.1 3.3c0 22.1 17.9 40 40 40c5.7 0 11.1-1.2 16-3.3V296c0 13.3 10.7 24 24 24s24-10.7 24-24V247.2c2.6 .5 5.3 .8 8 .8c22.1 0 40-17.9 40-40c0-5.7-1.2-11.1-3.3-16H312z\"]\n};\nvar faHand = {\n prefix: 'far',\n iconName: 'hand',\n icon: [512, 512, [129306, 9995, \"hand-paper\"], \"f256\", \"M256 0c-25.3 0-47.2 14.7-57.6 36c-7-2.6-14.5-4-22.4-4c-35.3 0-64 28.7-64 64V261.5l-2.7-2.7c-25-25-65.5-25-90.5 0s-25 65.5 0 90.5L106.5 437c48 48 113.1 75 181 75H296h8c1.5 0 3-.1 4.5-.4c91.7-6.2 165-79.4 171.1-171.1c.3-1.5 .4-3 .4-4.5V160c0-35.3-28.7-64-64-64c-5.5 0-10.9 .7-16 2V96c0-35.3-28.7-64-64-64c-7.9 0-15.4 1.4-22.4 4C303.2 14.7 281.3 0 256 0zM240 96.1c0 0 0-.1 0-.1V64c0-8.8 7.2-16 16-16s16 7.2 16 16V95.9c0 0 0 .1 0 .1V232c0 13.3 10.7 24 24 24s24-10.7 24-24V96c0 0 0 0 0-.1c0-8.8 7.2-16 16-16s16 7.2 16 16v55.9c0 0 0 .1 0 .1v80c0 13.3 10.7 24 24 24s24-10.7 24-24V160.1c0 0 0-.1 0-.1c0-8.8 7.2-16 16-16s16 7.2 16 16V332.9c-.1 .6-.1 1.3-.2 1.9c-3.4 69.7-59.3 125.6-129 129c-.6 0-1.3 .1-1.9 .2H296h-8.5c-55.2 0-108.1-21.9-147.1-60.9L52.7 315.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L119 336.4c6.9 6.9 17.2 8.9 26.2 5.2s14.8-12.5 14.8-22.2V96c0-8.8 7.2-16 16-16c8.8 0 16 7.1 16 15.9V232c0 13.3 10.7 24 24 24s24-10.7 24-24V96.1z\"]\n};\nvar faHandPaper = faHand;\nvar faPersonBikingMountain = {\n prefix: 'far',\n iconName: 'person-biking-mountain',\n icon: [640, 512, [128693, \"biking-mountain\"], \"f84b\", \"M352 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm.5 103c-2.7-3.4-7.5-4-11-1.4l-74.6 55c-9.6 7.1-8.4 21.8 2.3 27.2l69.6 34.8c8.1 4.1 13.3 12.4 13.3 21.5V416c0 13.3-10.7 24-24 24s-24-10.7-24-24V302.8l-56.3-28.1c-42.8-21.4-47.8-80.4-9.3-108.8l74.6-55C337.2 93.1 371.2 97.5 390 121l37.6 47H480c13.3 0 24 10.7 24 24s-10.7 24-24 24H416c-7.3 0-14.2-3.3-18.7-9l-44.8-56zM188.4 166.7c-6.9 5.2-16.7 3.9-22.1-2.8l-44-55c-5.6-7.1-4.3-17.4 2.9-22.8l65.2-48.9c27.7-20.7 66.8-15.8 88.4 11.2l14.9 18.7c5.6 7.1 4.3 17.4-2.9 22.8L188.4 166.7zM120 256h16c12.1 0 22.1 8.9 23.8 20.6c7.6 2.2 14.9 5.3 21.7 9c9.4-7 22.8-6.3 31.3 2.3l11.3 11.3c8.6 8.6 9.3 21.9 2.3 31.3c3.7 6.8 6.8 14.1 9 21.7c11.6 1.7 20.6 11.7 20.6 23.8v16c0 12.1-8.9 22.1-20.6 23.8c-2.2 7.6-5.3 14.9-9 21.7c7 9.4 6.3 22.8-2.3 31.3l-11.3 11.3c-8.6 8.6-21.9 9.3-31.3 2.2c-6.8 3.7-14.1 6.8-21.7 9C158.1 503.1 148.1 512 136 512H120c-12.1 0-22.1-8.9-23.8-20.6c-7.6-2.2-14.9-5.3-21.7-9c-9.4 7.1-22.8 6.3-31.3-2.2L31.8 468.9c-8.6-8.6-9.3-21.9-2.3-31.3c-3.7-6.9-6.8-14.1-9-21.8C8.9 414.1 0 404.1 0 392V376c0-12.1 8.9-22.1 20.6-23.8c2.2-7.6 5.3-14.9 9-21.8c-7-9.4-6.3-22.8 2.3-31.3l11.3-11.3c8.6-8.6 21.9-9.3 31.3-2.3c6.8-3.7 14.1-6.8 21.7-9C97.9 264.9 107.9 256 120 256zm8 192a64 64 0 1 0 0-128 64 64 0 1 0 0 128zM480.2 276.6c1.7-11.6 11.7-20.6 23.8-20.6h16c12.1 0 22.1 8.9 23.8 20.6c7.6 2.2 14.9 5.3 21.8 9c9.4-7 22.8-6.3 31.3 2.3l11.3 11.3c8.6 8.6 9.3 21.9 2.2 31.3c3.7 6.8 6.8 14.1 9 21.7c11.6 1.7 20.6 11.7 20.6 23.8v16c0 12.1-8.9 22.1-20.6 23.8c-2.2 7.6-5.3 14.9-9 21.7c7 9.4 6.3 22.8-2.2 31.3l-11.3 11.3c-8.6 8.6-21.9 9.3-31.3 2.2c-6.9 3.7-14.1 6.8-21.8 9C542.1 503.1 532.1 512 520 512H504c-12.1 0-22.1-8.9-23.8-20.6c-7.6-2.2-14.9-5.3-21.7-9c-9.4 7.1-22.8 6.3-31.3-2.2l-11.3-11.3c-8.6-8.6-9.3-21.9-2.2-31.3c-3.7-6.9-6.8-14.1-9-21.8C392.9 414.1 384 404.1 384 392V376c0-12.1 8.9-22.1 20.6-23.8c2.2-7.6 5.3-14.9 9-21.8c-7-9.4-6.3-22.8 2.2-31.3l11.3-11.3c8.6-8.6 21.9-9.3 31.3-2.3c6.8-3.7 14.1-6.8 21.7-9zM576 384a64 64 0 1 0 -128 0 64 64 0 1 0 128 0z\"]\n};\nvar faBikingMountain = faPersonBikingMountain;\nvar faUtensilsSlash = {\n prefix: 'far',\n iconName: 'utensils-slash',\n icon: [640, 512, [], \"e464\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l76.5 59.9 4.9-43.7C121.6 8.2 133.5-1.3 146.7 .1s22.7 13.3 21.2 26.5l-8.1 73.2L200 131.5V24c0-13.3 10.7-24 24-24s24 10.7 24 24V168c0 .4 0 .7 0 1.1L291.2 203c3-5.6 4.8-12.1 4.8-19V169.3L280.1 26.7c-1.5-13.2 8-25 21.2-26.5s25 8 26.5 21.2l16 144 .1 1.3V168v16c0 18-5.4 34.8-14.7 48.8L384 275.7V176C384 32 496 0 512 0c17.7 0 32 14.3 32 32V248v56 48 49.1l86.8 68c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2zM104 184v-6.1L248 291.4V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V272h-8c-48.6 0-88-39.4-88-88zM519.7 512h.6l-.3 0-.3 0zM432 176V288c0 8.8 7.2 16 16 16h48V248 55.1c-7.1 3.6-14.9 8.5-22.6 15.2C453.7 87.4 432 118.3 432 176z\"]\n};\nvar faPrintMagnifyingGlass = {\n prefix: 'far',\n iconName: 'print-magnifying-glass',\n icon: [640, 512, [\"print-search\"], \"f81a\", \"M176 160H128V64c0-35.3 28.7-64 64-64H421.5c17 0 33.3 6.7 45.3 18.7l26.5 26.5c12 12 18.7 28.3 18.7 45.3V160H464V90.5c0-4.2-1.7-8.3-4.7-11.3L432.8 52.7c-3-3-7.1-4.7-11.3-4.7H192c-8.8 0-16 7.2-16 16v96zm16 208v96H378.2c21.1 10.2 44.8 16 69.8 16c16.7 0 32.8-2.6 48-7.3V480c0 17.7-14.3 32-32 32H176c-17.7 0-32-14.3-32-32V400H96c-17.7 0-32-14.3-32-32V256c0-35.3 28.7-64 64-64H352c-17.2 12.9-31.7 29.3-42.6 48H128c-8.8 0-16 7.2-16 16v96h32c0-17.7 14.3-32 32-32H288c0 16.7 2.6 32.8 7.3 48H192zm256 32.2a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm0 48c-70.7 0-128-57.3-128-128s57.3-128 128-128s128 57.3 128 128c0 26.7-8.2 51.4-22.1 71.9L633 471.2c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L519.9 426c-20.5 14-45.3 22.1-71.9 22.1z\"]\n};\nvar faPrintSearch = faPrintMagnifyingGlass;\nvar faTurnRight = {\n prefix: 'far',\n iconName: 'turn-right',\n icon: [512, 512, [], \"e639\", \"M505.5 240.4c8.7-9.2 8.7-23.7 0-32.9L384.1 78.6c-8.8-9.3-21-14.6-33.7-14.6C324.7 64 304 84.7 304 110.3l0 41.7-144 0C71.6 152 0 223.6 0 312L0 424c0 30.9 25.1 56 56 56l32 0c30.9 0 56-25.1 56-56l0-120c0-4.4 3.6-8 8-8l152 0 0 41.7c0 25.6 20.7 46.3 46.3 46.3c12.8 0 25-5.3 33.7-14.6l121.4-129zM352 333.5l0-61.5c0-13.3-10.7-24-24-24l-176 0c-30.9 0-56 25.1-56 56l0 120c0 4.4-3.6 8-8 8l-32 0c-4.4 0-8-3.6-8-8l0-112c0-61.9 50.1-112 112-112l168 0c13.3 0 24-10.7 24-24l0-61.5L455 224 352 333.5z\"]\n};\nvar faFolderBookmark = {\n prefix: 'far',\n iconName: 'folder-bookmark',\n icon: [512, 512, [], \"e186\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H289.9L247 53.1C233.5 39.6 215.2 32 196.1 32H64zM48 96c0-8.8 7.2-16 16-16H196.1c6.4 0 12.5 2.5 17 7L256 129.9V304c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L336 276l54.4 40.8c4.8 3.6 11.3 4.2 16.8 1.5s8.8-8.3 8.8-14.3V144h32c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96z\"]\n};\nvar faArrowTurnLeftDown = {\n prefix: 'far',\n iconName: 'arrow-turn-left-down',\n icon: [384, 512, [], \"e633\", \"M337 377c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-87 87L216 88c0-22.1 17.9-40 40-40l104 0c13.3 0 24-10.7 24-24s-10.7-24-24-24L256 0c-48.6 0-88 39.4-88 88l0 342.1L81 343c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9L175 505c9.4 9.4 24.6 9.4 33.9 0L337 377z\"]\n};\nvar faOm = {\n prefix: 'far',\n iconName: 'om',\n icon: [512, 512, [128329], \"f679\", \"M356.7 4.7c6.2-6.2 16.4-6.2 22.6 0l16 16c6.2 6.2 6.2 16.4 0 22.6l-16 16c-6.2 6.2-16.4 6.2-22.6 0l-16-16c-6.2-6.2-6.2-16.4 0-22.6l16-16zM144 152c-12.6 0-24.2 4.2-33.6 11.2c-10.6 8-25.6 5.8-33.6-4.8s-5.8-25.6 4.8-33.6C99 111.7 120.6 104 144 104c57.4 0 104 46.6 104 104c0 20.6-6 39.8-16.3 56h.3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2c14.8 0 29-5.9 39.5-16.4l20.7-20.7c17.2-17.2 40.6-26.9 65-26.9c50.7 0 91.9 41.1 91.9 91.9V388c0 50.8-41.2 92-92 92s-92-41.2-92-92v-4c0-13.3 10.7-24 24-24s24 10.7 24 24v4c0 24.3 19.7 44 44 44s44-19.7 44-44V291.9c0-24.2-19.6-43.9-43.9-43.9c-11.6 0-22.8 4.6-31 12.9l-20.7 20.7C348.9 301 322.5 312 294.9 312h-.2-.2-.2-.2-.2-.2-.2H293h-.2-.2-.2H292h-.2-.2-.3H291h-.3-.3-.3H290h-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3H285h-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3H282h-.3-.3-.3H281h-.3-.3-.3-.3-.3-.3H279h-.3-.3-.3-.3-.3-.3H277h-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3H273h-.3-.3-.3-.3-.3-.3H271h-.3-.3-.3-.3-.3-.3-.3-.3-.3H268h-.3-.3-.3-.3-.3-.3-.3-.3-.3H265h-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3H261h-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3H257h-.3-.3H256h-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.1c17.2 20.8 27.6 47 27.6 76c0 70.2-60.9 124-132 124S16 458.2 16 388c0-13.3 10.7-24 24-24s24 10.7 24 24c0 40.3 35.8 76 84 76s84-35.7 84-76s-35.8-76-84-76h-.2-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3H144h-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3H129h-.3-.3H128c-13.3 0-24-10.7-24-24s10.7-24 24-24h.3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3c30.9 0 56-25.1 56-56s-25.1-56-56-56zM298.8 65.1C313.1 83.1 338.2 96 368 96s54.9-12.9 69.2-30.9c8.2-10.4 23.3-12.1 33.7-3.9s12.1 23.3 3.9 33.7C450.8 125.2 411.4 144 368 144s-82.8-18.8-106.8-49.1c-8.2-10.4-6.5-25.5 3.9-33.7s25.5-6.5 33.7 3.9z\"]\n};\nvar faPi = {\n prefix: 'far',\n iconName: 'pi',\n icon: [448, 512, [], \"f67e\", \"M24 64C10.7 64 0 74.7 0 88s10.7 24 24 24h88V277.4c0 44.9-11.4 89-33.2 128.2L75 412.3c-6.4 11.6-2.3 26.2 9.3 32.6s26.2 2.3 32.6-9.3l3.8-6.8c25.8-46.4 39.3-98.5 39.3-151.5V112H304V374.6c0 40.6 32.9 73.4 73.4 73.4c27.8 0 53.2-15.7 65.7-40.6l2.3-4.7c5.9-11.9 1.1-26.3-10.7-32.2s-26.3-1.1-32.2 10.7l-2.3 4.7c-4.3 8.6-13.1 14.1-22.8 14.1c-14.1 0-25.4-11.4-25.4-25.4V112h72c13.3 0 24-10.7 24-24s-10.7-24-24-24H24z\"]\n};\nvar faFlaskRoundPotion = {\n prefix: 'far',\n iconName: 'flask-round-potion',\n icon: [448, 512, [\"flask-potion\"], \"f6e1\", \"M176 48h96V157.7c0 24.3 13.5 44.9 32.3 55.9C352.1 241.4 384 293 384 351.9c-64.4-.9-94.8-12.3-122.5-22.7c-23.8-9-45.7-17.2-85.5-17.2c-55.8 0-92.3 16.1-111.5 27.9c4-53.9 34.8-100.4 79.2-126.3c18.8-11 32.3-31.6 32.3-55.9V48zM320 157.7V48h8c13.3 0 24-10.7 24-24s-10.7-24-24-24H304 144 120C106.7 0 96 10.7 96 24s10.7 24 24 24h8V157.7c0 6-3.3 11.4-8.5 14.4C57.6 208.2 16 275.2 16 352c0 56 22.1 106.9 58.2 144.3C84.5 507 99.3 512 114.2 512H333.8c15 0 29.7-5 40.1-15.7C409.9 458.9 432 408 432 352c0-76.8-41.6-143.8-103.5-179.9c-5.2-3-8.5-8.4-8.5-14.4z\"]\n};\nvar faFlaskPotion = faFlaskRoundPotion;\nvar faFaceShush = {\n prefix: 'far',\n iconName: 'face-shush',\n icon: [512, 512, [], \"e38c\", \"M48 256c0 73.6 38.3 138.3 96 175.3v.7 24c0 11.8 2.3 23.1 6.5 33.3C61.8 449.1 0 359.8 0 256C0 114.6 114.6 0 256 0S512 114.6 512 256c0 82.2-38.8 155.4-99 202.3c6.4-18.5 2.7-39.4-10.4-54.7C440.5 365.9 464 313.7 464 256c0-114.9-93.1-208-208-208S48 141.1 48 256zm299.3-4.7c-8.7 8.7-20.5 17.7-35.3 24.6V248c0-2.8-.2-5.6-.6-8.4c5.2-3.5 9.6-7.3 13.3-10.9c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zM200 248v27.9c-14.8-6.9-26.6-15.9-35.3-24.6c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0c3.7 3.7 8.1 7.4 13.3 10.9c-.4 2.7-.6 5.5-.6 8.4zM176.4 112a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm160 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM280 248v72H232V248c0-13.3 10.7-24 24-24s24 10.7 24 24zM224 408v11.5L287.6 464h10c7.1 0 13.9-3.2 18.4-8.6l25.6-30.7c8.5-10.2 23.6-11.6 33.8-3.1s11.6 23.6 3.1 33.8l-25.6 30.7c-13.7 16.4-33.9 25.9-55.3 25.9H280 232c-30.9 0-56-25.1-56-56V432 408c0-30.9 25.1-56 56-56h32c30.9 0 56 25.1 56 56v8c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8c0-4.4-3.6-8-8-8H232c-4.4 0-8 3.6-8 8z\"]\n};\nvar faWorm = {\n prefix: 'far',\n iconName: 'worm',\n icon: [512, 512, [], \"e599\", \"M400 192V368c0 35.3-28.7 64-64 64s-64-28.7-64-64V320c0-53-43-96-96-96s-96 43-96 96V448c0 8.8 7.2 16 16 16s16-7.2 16-16V320c0-35.3 28.7-64 64-64s64 28.7 64 64v48c0 53 43 96 96 96s96-43 96-96V192 120 96c0-26.5-21.5-48-48-48H336c-26.5 0-48 21.5-48 48s21.5 48 48 48h16 48v48zM176 176c15.9 0 31.2 2.6 45.5 7.3c27.7 9.2 51.7 26.6 69 49.3c5.1 6.7 9.6 13.8 13.5 21.3c10.2 19.8 16 42.2 16 66v20.3V368c0 8.8 7.2 16 16 16s16-7.2 16-16V340.3 320 243.1 240 192H336c-6.3 0-12.5-.6-18.5-1.8c-27.6-5.4-51-22.6-64.7-46.2c-8.2-14.1-12.8-30.5-12.8-48c0-53 43-96 96-96h48c53 0 96 43 96 96v24 72V368c0 79.5-64.5 144-144 144c-55.7 0-104.1-31.7-128-78c-10.2-19.8-16-42.2-16-66V347.7 320c0-8.8-7.2-16-16-16s-16 7.2-16 16v27.7V368v76.9V448c0 35.3-28.7 64-64 64s-64-28.7-64-64V320c0-79.5 64.5-144 144-144zM376 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faHouseCircleXmark = {\n prefix: 'far',\n iconName: 'house-circle-xmark',\n icon: [640, 512, [], \"e50b\", \"M303.5 5.7c-9-7.6-22.1-7.6-31.1 0l-264 224c-10.1 8.6-11.3 23.7-2.8 33.8s23.7 11.3 33.8 2.8L64 245.5V432c0 44.2 35.8 80 80 80H394.8c-18.3-12.9-34.1-29.2-46.3-48H336v0H240V320h86.6c4.8-17.1 12.2-33.2 21.7-47.8c-1.4-.2-2.9-.2-4.3-.2H232c-22.1 0-40 17.9-40 40V464H144c-17.7 0-32-14.3-32-32V204.8L288 55.5 454.7 196.9c13.3-3.2 27.1-4.9 41.3-4.9c10.3 0 20.3 .9 30.1 2.6L303.5 5.7zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm22.6-144l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L496 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L473.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L496 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L518.6 368z\"]\n};\nvar faPlug = {\n prefix: 'far',\n iconName: 'plug',\n icon: [384, 512, [128268], \"f1e6\", \"M128 24c0-13.3-10.7-24-24-24S80 10.7 80 24v88h48V24zm176 0c0-13.3-10.7-24-24-24s-24 10.7-24 24v88h48V24zM24 144c-13.3 0-24 10.7-24 24s10.7 24 24 24h8v64c0 80.2 59 146.6 136 158.2V488c0 13.3 10.7 24 24 24s24-10.7 24-24V414.2c77-11.6 136-78 136-158.2V192h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8H304 80 32 24zM192 368c-61.9 0-112-50.1-112-112V192H304v64c0 61.9-50.1 112-112 112z\"]\n};\nvar faCalendarCircleExclamation = {\n prefix: 'far',\n iconName: 'calendar-circle-exclamation',\n icon: [576, 512, [], \"e46e\", \"M128 0c13.3 0 24 10.7 24 24V64H296V24c0-13.3 10.7-24 24-24s24 10.7 24 24V64h40c35.3 0 64 28.7 64 64v16 48H432 400 352 48V448c0 8.8 7.2 16 16 16H284.5c12.3 18.8 28 35.1 46.3 48H64c-35.3 0-64-28.7-64-64V192 144 128C0 92.7 28.7 64 64 64h40V24c0-13.3 10.7-24 24-24zM432 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm0 240a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-192c-8.8 0-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16V288c0-8.8-7.2-16-16-16z\"]\n};\nvar faSquareI = {\n prefix: 'far',\n iconName: 'square-i',\n icon: [448, 512, [], \"e272\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm152 32h72 72c13.3 0 24 10.7 24 24s-10.7 24-24 24H248V336h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24s10.7-24 24-24h48V176H152c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faChevronUp = {\n prefix: 'far',\n iconName: 'chevron-up',\n icon: [512, 512, [], \"f077\", \"M239 111c9.4-9.4 24.6-9.4 33.9 0L465 303c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-175-175L81 337c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L239 111z\"]\n};\nvar faFaceSaluting = {\n prefix: 'far',\n iconName: 'face-saluting',\n icon: [640, 512, [129761], \"e484\", \"M266.6 14C256.7-.6 236.8-4.4 222.2 5.5L35.1 132.5c-44.3 30.1-47.1 94.4-5.6 128.2l1.5 1.2c28.1 22.9 68.2 24 97.5 2.7l82.3-59.9c14.3-10.4 17.5-30.4 7.1-44.7s-30.4-17.5-44.7-7.1l-3.3 2.4s0 0 0 0l-9.9 7.2-14.2 10.4L128 185.8V146.8L258.1 58.5c14.6-9.9 18.4-29.8 8.5-44.4zm31.8-8.4c7.2 15.7 7.4 33.4 1.6 48.9c16.6-4.3 34-6.5 52-6.5c114.9 0 208 93.1 208 208s-93.1 208-208 208c-103 0-188.6-74.9-205.1-173.2c-13.8 9.9-29.2 16.3-45.2 19.2C126.5 425.5 229.2 512 352 512c141.4 0 256-114.6 256-256S493.4 0 352 0c-18.4 0-36.3 1.9-53.5 5.6zM256 180.5c-.4 13.7-5.1 27.1-13.8 38.2c4.4 12.4 16.2 21.4 30.2 21.4c17.7 0 32-14.3 32-32s-14.3-32-32-32c-6 0-11.6 1.6-16.3 4.5zm13.4 152.6c-11-7.4-25.9-4.6-33.3 6.4s-4.6 25.9 6.4 33.3C265 388.1 301.7 403 352 403s87-14.9 109.5-30.2c11-7.4 13.8-22.4 6.4-33.3s-22.4-13.8-33.3-6.4C419.9 343 392.6 355 352 355s-67.9-12-82.5-21.9zM432.4 240a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faGaugeSimpleLow = {\n prefix: 'far',\n iconName: 'gauge-simple-low',\n icon: [512, 512, [\"tachometer-slow\"], \"f62c\", \"M256 464a208 208 0 1 0 0-416 208 208 0 1 0 0 416zM256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zM200 352c0-14 5.1-26.8 13.7-36.6L146 161.7c-5.3-12.1 .2-26.3 12.3-31.6s26.3 .2 31.6 12.3L257.6 296c30.2 .8 54.4 25.6 54.4 56c0 30.9-25.1 56-56 56s-56-25.1-56-56z\"]\n};\nvar faTachometerSlow = faGaugeSimpleLow;\nvar faFacePersevering = {\n prefix: 'far',\n iconName: 'face-persevering',\n icon: [512, 512, [], \"e385\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM294.5 408.4c-7.4-7.9-20-16.4-38.5-16.4s-31.1 8.5-38.5 16.4c-9 9.7-24.2 10.2-33.9 1.2s-10.2-24.2-1.2-33.9C196.7 360.3 221.4 344 256 344s59.3 16.3 73.5 31.6c9 9.7 8.5 24.9-1.2 33.9s-24.9 8.5-33.9-1.2zM211.3 100.7c6.2 6.2 6.2 16.4 0 22.6l-7.4 7.4c-23.6 23.6-53.9 39.2-86.8 44.7l-2.5 .4c-8.7 1.5-17-4.4-18.4-13.2s4.4-17 13.2-18.4l2.5-.4c26.3-4.4 50.6-16.9 69.5-35.7l7.4-7.4c6.2-6.2 16.4-6.2 22.6 0zm89.4 22.6c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l7.4 7.4c18.9 18.9 43.2 31.4 69.5 35.7l2.5 .4c8.7 1.5 14.6 9.7 13.2 18.4s-9.7 14.6-18.4 13.2l-2.5-.4c-32.9-5.5-63.3-21.1-86.8-44.7l-7.4-7.4zM133.5 210.7l89.9 47.9c10.7 5.7 10.7 21.1 0 26.8l-89.9 47.9c-7.9 4.2-17.5-1.5-17.5-10.5c0-2.8 1-5.5 2.8-7.6l36-43.2-36-43.2c-1.8-2.1-2.8-4.8-2.8-7.6c0-9 9.6-14.7 17.5-10.5zM396 221.1c0 2.8-1 5.5-2.8 7.6l-36 43.2 36 43.2c1.8 2.1 2.8 4.8 2.8 7.6c0 9-9.6 14.7-17.5 10.5l-89.9-47.9c-10.7-5.7-10.7-21.1 0-26.8l89.9-47.9c7.9-4.2 17.5 1.5 17.5 10.5z\"]\n};\nvar faCircleCamera = {\n prefix: 'far',\n iconName: 'circle-camera',\n icon: [512, 512, [\"camera-circle\"], \"e103\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm196-96l6.2-16.4c3.5-9.4 12.5-15.6 22.5-15.6h62.7c10 0 19 6.2 22.5 15.6L316 160h36c17.7 0 32 14.3 32 32V320c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32V192c0-17.7 14.3-32 32-32h36zm108 96a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nvar faCameraCircle = faCircleCamera;\nvar faHandSpock = {\n prefix: 'far',\n iconName: 'hand-spock',\n icon: [576, 512, [128406], \"f259\", \"M170.2 80.8C161 47 180.8 12 214.6 2.4c34-9.6 69.4 10.2 79 44.2l30.3 107.1L337.1 84c6.6-34.7 40.1-57.5 74.8-50.9c31.4 6 53 33.9 52 64.9c10-2.6 20.8-2.8 31.5-.1c34.3 8.6 55.1 43.3 46.6 77.6L486.7 397.2C469.8 464.7 409.2 512 339.6 512c-11.2 0-22.5 0-33.7 0c-56.9 0-112.2-19-157.2-53.9l-92-71.6c-27.9-21.7-32.9-61.9-11.2-89.8s61.9-32.9 89.8-11.2l17 13.2L100.5 167.5c-13-32.9 3.2-70.1 36-83c11.1-4.4 22.7-5.4 33.7-3.7zm77.1-21.2c-2.4-8.5-11.2-13.4-19.7-11s-13.4 11.2-11 19.7l54.8 182.4c3.5 12.3-3.3 25.2-15.4 29.3s-25.3-2-30-13.9L174.9 138.1c-3.2-8.2-12.5-12.3-20.8-9s-12.3 12.5-9 20.8l73.3 185.6c12 30.3-23.7 57-49.4 37l-63.1-49.1c-7-5.4-17-4.2-22.5 2.8s-4.2 17 2.8 22.5l92 71.6c36.5 28.4 81.4 43.8 127.7 43.8c11.2 0 22.5 0 33.7 0c47.5 0 89-32.4 100.5-78.5l55.4-221.6c2.1-8.6-3.1-17.3-11.6-19.4s-17.3 3.1-19.4 11.6l-26 104C435.6 271.8 425 280 413 280c-16.5 0-28.9-15-25.8-31.2L415.7 99c1.7-8.7-4-17.1-12.7-18.7s-17.1 4-18.7 12.7L352.5 260c-2.2 11.6-12.4 20-24.2 20c-11 0-20.7-7.3-23.7-17.9L247.4 59.6z\"]\n};\nvar faSpiderWeb = {\n prefix: 'far',\n iconName: 'spider-web',\n icon: [576, 512, [128376], \"f719\", \"M137.5 23.6C141.6 12.7 153 6.3 164.4 8.4l69 12.9c36.1 6.8 73 6.8 109.1 0l69-12.9c11.5-2.1 22.8 4.2 26.9 15.2l28.9 77.2c11.7 31.1 28.5 60 49.8 85.6l45.3 54.3c7.4 8.9 7.4 21.8 0 30.7l-45.3 54.3c-21.3 25.5-38.1 54.5-49.8 85.6l-28.9 77.2c-4.1 10.9-15.4 17.3-26.9 15.2l-69-12.9c-36.1-6.8-73-6.8-109.1 0l-69 12.9c-11.5 2.1-22.8-4.2-26.9-15.2l-28.9-77.2c-11.7-31.1-28.5-60-49.8-85.6L13.6 271.4c-7.4-8.9-7.4-21.8 0-30.7l45.3-54.3c21.3-25.5 38.1-54.5 49.8-85.6l28.9-77.2zm27 64.7l-11 29.3c-13.6 36.2-33.1 69.8-57.8 99.4L83.2 232h49.8c23.5-27.6 41.7-59.2 53.7-93.4l2.5-7L164.5 88.3zm42.1-23.1l24 41.9c37.7 9.5 77.2 9.5 114.9 0l24-41.9-18 3.4c-41.9 7.9-84.9 7.9-126.8 0l-18-3.4zM411.5 88.3l-24.8 43.3 2.5 7c12.1 34.2 30.3 65.8 53.8 93.4h49.8l-12.5-14.9c-24.7-29.7-44.3-63.3-57.8-99.4l-11-29.3zM492.8 280H443c-23.6 28.1-41.8 60.4-53.6 95.3l-2.1 6.1 24.2 42.4 11-29.3c13.6-36.2 33.1-69.8 57.8-99.4L492.8 280zM369.4 446.8l-22.1-38.7c-37.9-11.7-78.3-12.8-116.7-3.2l-24 41.9 18-3.4c41.9-7.9 84.9-7.9 126.8 0l18 3.4zM164.5 423.7l24.8-43.3-2.5-7c-12.1-34.2-30.3-65.8-53.7-93.4H83.2l12.5 14.9c24.7 29.7 44.3 63.3 57.8 99.4l11 29.3zM193.2 280c10.1 15 18.9 30.7 26.5 47.1L246.6 280H193.2zm67.9 71.4c18.1-1.5 36.3-1.2 54.3 1L288 304.4l-26.9 47zm95.5-23.7c7.6-16.6 16.4-32.5 26.5-47.7H329.4l27.3 47.7zM382.8 232c-10.1-15-18.9-30.7-26.5-47.1L329.4 232h53.4zm-68.1-71c-17.7 1.7-35.6 1.7-53.3 0L288 207.6 314.7 161zm-94.9 23.9c-7.6 16.4-16.5 32.1-26.5 47.1h53.4l-26.9-47.1z\"]\n};\nvar faCircleMicrophone = {\n prefix: 'far',\n iconName: 'circle-microphone',\n icon: [512, 512, [\"microphone-circle\"], \"e116\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM208 144c0-26.5 21.5-48 48-48s48 21.5 48 48V256c0 26.5-21.5 48-48 48s-48-21.5-48-48V144zm-56 88c13.3 0 24 10.7 24 24c0 44.2 35.8 80 80 80s80-35.8 80-80c0-13.3 10.7-24 24-24s24 10.7 24 24c0 62.5-44.8 114.5-104 125.8V392c0 13.3-10.7 24-24 24s-24-10.7-24-24V381.8C172.8 370.5 128 318.5 128 256c0-13.3 10.7-24 24-24z\"]\n};\nvar faMicrophoneCircle = faCircleMicrophone;\nvar faBookArrowUp = {\n prefix: 'far',\n iconName: 'book-arrow-up',\n icon: [448, 512, [], \"e0ba\", \"M88 0C39.4 0 0 39.4 0 88V424H.4c-.3 2.6-.4 5.3-.4 8c0 44.2 35.8 80 80 80h96V464H80c-17.7 0-32-14.3-32-32s14.3-32 32-32h96V352H80c-11.4 0-22.2 2.4-32 6.7V88c0-22.1 17.9-40 40-40H392c4.4 0 8 3.6 8 8V344c0 4.4-3.6 8-8 8H304v48h64v64H304v48H424c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V394.6c18.9-9 32-28.3 32-50.6V56c0-30.9-25.1-56-56-56H88zm55 215c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l39-39L216 488c0 13.3 10.7 24 24 24s24-10.7 24-24V209.9l39 39c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-80-80c-9.4-9.4-24.6-9.4-33.9 0l-80 80z\"]\n};\nvar faPopsicle = {\n prefix: 'far',\n iconName: 'popsicle',\n icon: [320, 512, [], \"e43e\", \"M272 160c0-61.9-50.1-112-112-112S48 98.1 48 160l0 176h88V184c0-13.3 10.7-24 24-24s24 10.7 24 24V336h88V160zM136 384H48c-26.5 0-48-21.5-48-48V160C0 71.6 71.6 0 160 0s160 71.6 160 160V336c0 26.5-21.5 48-48 48H184V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V384z\"]\n};\nvar faCommand = {\n prefix: 'far',\n iconName: 'command',\n icon: [512, 512, [], \"e142\", \"M0 92C0 41.2 41.2 0 92 0s92 41.2 92 92v44H328V92c0-50.8 41.2-92 92-92s92 41.2 92 92v4c0 53-43 96-96 96H376V320h40c53 0 96 43 96 96v4c0 50.8-41.2 92-92 92s-92-41.2-92-92V376H184v44c0 50.8-41.2 92-92 92s-92-41.2-92-92v-4c0-53 43-96 96-96h40V192H96C43 192 0 149 0 96V92zm136 52v-8V92c0-24.3-19.7-44-44-44S48 67.7 48 92v4c0 26.5 21.5 48 48 48h40zm48 176v8H328v-8V192v-8H184v8V320zm-48 48H96c-26.5 0-48 21.5-48 48v4c0 24.3 19.7 44 44 44s44-19.7 44-44V376v-8zm240 8v44c0 24.3 19.7 44 44 44s44-19.7 44-44v-4c0-26.5-21.5-48-48-48H376v8zm0-232h40c26.5 0 48-21.5 48-48V92c0-24.3-19.7-44-44-44s-44 19.7-44 44v44 8z\"]\n};\nvar faBlinds = {\n prefix: 'far',\n iconName: 'blinds',\n icon: [512, 512, [], \"f8fb\", \"M0 24C0 10.7 10.7 0 24 0H488c13.3 0 24 10.7 24 24c0 8.6-4.5 16.2-11.4 20.4l11 57.6c.3 1.4 .4 2.7 .4 4.1c0 12.1-9.8 21.9-21.9 21.9H224V80H458.6l-6.1-32H192V164.1c28 9.9 48 36.6 48 67.9c0 39.8-32.2 72-72 72s-72-32.2-72-72c0-31.3 20-58 48-67.9V48H59.5L53.4 80H112v48H21.9C9.8 128 0 118.2 0 106.1c0-1.4 .1-2.8 .4-4.1l11-57.6C4.5 40.2 0 32.6 0 24zM66.8 208C65 215.7 64 223.7 64 232s1 16.3 2.8 24H21.9C9.8 256 0 246.2 0 234.1c0-1.4 .1-2.8 .4-4.1l13.3-70H62.6l-9.1 48H66.8zm202.4 48c1.8-7.7 2.8-15.7 2.8-24s-1-16.3-2.8-24H458.6l-9.1-48h48.9l13.3 70c.3 1.4 .4 2.7 .4 4.1c0 12.1-9.8 21.9-21.9 21.9H269.2zM168 336H458.6l-9.1-48h48.9l13.3 70c.3 1.4 .4 2.7 .4 4.1c0 12.1-9.8 21.9-21.9 21.9H21.9C9.8 384 0 374.2 0 362.1c0-1.4 .1-2.8 .4-4.1l13.3-70H62.6l-9.1 48H168zM13.7 416H62.6l-9.1 48H458.6l-9.1-48h48.9l13.3 70c.3 1.4 .4 2.7 .4 4.1c0 12.1-9.8 21.9-21.9 21.9H21.9C9.8 512 0 502.2 0 490.1c0-1.4 .1-2.8 .4-4.1l13.3-70zM168 256a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faStopwatch = {\n prefix: 'far',\n iconName: 'stopwatch',\n icon: [448, 512, [9201], \"f2f2\", \"M144 24c0-13.3 10.7-24 24-24H280c13.3 0 24 10.7 24 24s-10.7 24-24 24H248V97.4c43.4 5 82.8 23.3 113.8 50.9L391 119c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-31 31c24 33.9 38.1 75.3 38.1 120c0 114.9-93.1 208-208 208S16 418.9 16 304C16 197.2 96.4 109.3 200 97.4V48H168c-13.3 0-24-10.7-24-24zm80 440a160 160 0 1 0 0-320 160 160 0 1 0 0 320zm24-248V320c0 13.3-10.7 24-24 24s-24-10.7-24-24V216c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faSaxophone = {\n prefix: 'far',\n iconName: 'saxophone',\n icon: [640, 512, [127927], \"f8dc\", \"M514.5 32c-23.3 0-45.7 9.3-62.2 25.8L448 62.1l-7-7c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l7 7L400 110l-7-7c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l7 7L352 158l-7-7c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l7 7-90.6 90.6L265 176c12.8-.5 23-11.1 23-24c0-13.3-10.7-24-24-24H248 56 24c-13.3 0-24 10.7-24 24s10.7 24 24 24h2.1L4 275.3c-2.7 12-4 24.2-4 36.5C0 404.7 75.3 480 168.2 480h9.1c51.9 0 101.2-22.7 134.9-62.2l224.5-263c1.5-1.8 3.7-2.8 6.1-2.8h50.6c25.8 0 46.6-20.9 46.6-46.6c0-12.4-4.9-24.2-13.7-33L611.7 57.8C595.2 41.3 572.8 32 549.5 32h-35zM75.3 176H214.1L178.5 276.7c-1.7 4.7-2.5 9.7-2.5 14.8c0 24.5 19.9 44.4 44.4 44.4h2.3c12.4 0 24.2-4.9 33-13.6l112.1-112c.4-.4 .9-.8 1.3-1.2s.8-.8 1.2-1.3L416 161.9c.3-.3 .7-.6 1-1s.6-.7 1-1l46.4-46.3c.2-.2 .5-.4 .7-.7s.4-.4 .6-.7l20.6-20.6c7.5-7.5 17.7-11.7 28.3-11.7h35c10.6 0 20.8 4.2 28.3 11.7L590.1 104H542.8c-16.4 0-32 7.2-42.6 19.6l-224.5 263c-24.6 28.8-60.5 45.4-98.3 45.4h-9.1C101.8 432 48 378.2 48 311.8c0-8.8 1-17.5 2.9-26.1L75.3 176zM136 304a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-8-56a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faSquare2 = {\n prefix: 'far',\n iconName: 'square-2',\n icon: [448, 512, [], \"e257\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm190.7 88.7l-24.2 18.4c-10.5 8-25.6 6-33.6-4.5s-6-25.6 4.5-33.6l24.2-18.4c15.8-12 35.2-18.4 55.1-18.1l3.4 .1c46.5 .7 83.8 38.6 83.8 85.1c0 23.5-9.7 46-26.9 62.1L212.7 336H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-9.8 0-18.7-6-22.3-15.2s-1.3-19.6 5.9-26.3L244.3 240.6c7.5-7 11.7-16.8 11.7-27.1c0-20.3-16.3-36.8-36.6-37.1l-3.4-.1c-9.1-.1-18 2.8-25.3 8.3z\"]\n};\nvar faFieldHockeyStickBall = {\n prefix: 'far',\n iconName: 'field-hockey-stick-ball',\n icon: [512, 512, [127953, \"field-hockey\"], \"f44c\", \"M500.3 100.9C520.7 72 513.7 32 484.9 11.7S416-1.8 395.7 27.1L147.6 379.4c-2 2.8-5.1 4.4-8.5 4.4c-5.3 0-10.5-4.7-10.5-11c0-1.6 .4-3.1 .9-4.4l17-38.5c14.3-32.3-.3-70.1-32.7-84.4s-70.1 .3-84.4 32.7l-17 38.5C4.8 334 .7 352.9 .6 371.8C0 448.3 61.9 512 139.4 511.8c44.9-.1 86.9-22 112.8-58.7L500.3 100.9zM398.1 162.6L213 425.4c-16.9 24-44.4 38.3-73.7 38.4c-50.5 .1-91.1-41.4-90.7-91.6c.1-12.4 2.7-24.8 7.8-36.1l17-38.5c3.6-8.1 13-11.7 21.1-8.2s11.7 13 8.2 21.1l-17 38.5c-3.2 7.3-5 15.4-5 23.5c-.3 32.7 26.2 59.5 58.6 59.4c19-.1 36.7-9.3 47.6-24.8L372.5 143.4l25.6 19.2zM432 400a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 112a80 80 0 1 0 0-160 80 80 0 1 0 0 160z\"]\n};\nvar faFieldHockey = faFieldHockeyStickBall;\nvar faArrowUpSquareTriangle = {\n prefix: 'far',\n iconName: 'arrow-up-square-triangle',\n icon: [576, 512, [\"sort-shapes-up-alt\"], \"f88b\", \"M528 454.9c0 13.8-11.2 25.1-25.1 25.1H329.1c-13.8 0-25.1-11.2-25.1-25.1c0-4.5 1.2-9 3.6-12.9l84.2-140.3c5.1-8.5 14.3-13.7 24.2-13.7s19.1 5.2 24.2 13.7L524.4 442c2.3 3.9 3.6 8.4 3.6 12.9zM368 80v96h96V80H368zm94.4 352L416 354.6 369.6 432h92.8zM320 80c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H368c-26.5 0-48-21.5-48-48V80zM143 39c9.4-9.4 24.6-9.4 33.9 0l96 96c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-55-55V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V113.9L81 169c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l96-96z\"]\n};\nvar faSortShapesUpAlt = faArrowUpSquareTriangle;\nvar faFaceScream = {\n prefix: 'far',\n iconName: 'face-scream',\n icon: [640, 512, [], \"e38b\", \"M528 256c0 15.2-1.6 30-4.7 44.3c14.9-9.7 33-13.9 50.7-11.7c1.4-10.7 2.1-21.5 2.1-32.5C576 114.6 461.4 0 320 0S64 114.6 64 256c0 11 .7 21.9 2.1 32.6c17.7-2.2 35.7 2 50.7 11.7C113.6 286 112 271.2 112 256c0-114.9 93.1-208 208-208s208 93.1 208 208zM320 464c-41.6 0-80.4-12.2-112.9-33.3c6.9 20.3 11.7 41.1 14.8 61.8C252.1 505.1 285.2 512 320 512c34.8 0 68-6.9 98.2-19.5c3.1-20.7 7.9-41.5 14.8-61.8C400.5 451.8 361.7 464 320 464zM536.7 330.1C482.8 375 455 443.6 448 512l109.8 0c-.4-50.5 16.7-85.7 43.2-125.7c13.1-19.8 7.6-46.3-12.4-59.3c-16.4-10.6-37.6-8.8-51.8 3.1zM183.3 282.7c27.3 14.9 67.6-2.9 90.1-39.8s18.6-78.8-8.7-93.7s-67.6 2.9-90.1 39.8s-18.6 78.8 8.7 93.7zM320 304c-26.5 0-48 21.5-48 48v32c0 26.5 21.5 48 48 48s48-21.5 48-48V352c0-26.5-21.5-48-48-48zm46.6-61c22.5 36.9 62.8 54.7 90.1 39.8s31.1-56.9 8.7-93.7s-62.8-54.7-90.1-39.8s-31.1 56.9-8.7 93.7zM103.4 330.1C89.1 318.2 68 316.4 51.6 327c-20 13-25.6 39.5-12.4 59.3c26.4 40 43.6 75.3 43.2 125.7L192 512c-7-68.4-34.8-137-88.7-181.9z\"]\n};\nvar faSquareM = {\n prefix: 'far',\n iconName: 'square-m',\n icon: [448, 512, [], \"e276\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm139.5 41.9L224 255l84.5-117.1c6.1-8.4 16.9-12 26.8-8.8s16.6 12.4 16.6 22.8V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V226.2l-60.5 83.8c-4.5 6.2-11.7 9.9-19.5 9.9s-14.9-3.7-19.5-9.9L144 226.2V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-10.4 6.7-19.6 16.6-22.8s20.7 .3 26.8 8.8z\"]\n};\nvar faCameraWeb = {\n prefix: 'far',\n iconName: 'camera-web',\n icon: [448, 512, [\"webcam\"], \"f832\", \"M224 384a168 168 0 1 0 0-336 168 168 0 1 0 0 336zm0 48c-29.1 0-56.9-5.8-82.2-16.2L104.7 464H343.3l-37.1-48.2C280.9 426.2 253.1 432 224 432zM440 216c0 72.8-36 137.2-91.3 176.4l62.3 81c5.6 7.2 6.5 17 2.5 25.2s-12.4 13.4-21.5 13.4H56c-9.1 0-17.5-5.2-21.5-13.4s-3.1-18 2.5-25.2l62.3-81C44 353.2 8 288.8 8 216C8 96.7 104.7 0 224 0S440 96.7 440 216zm-144 0a72 72 0 1 0 -144 0 72 72 0 1 0 144 0zm-192 0a120 120 0 1 1 240 0 120 120 0 1 1 -240 0z\"]\n};\nvar faWebcam = faCameraWeb;\nvar faCommentArrowDown = {\n prefix: 'far',\n iconName: 'comment-arrow-down',\n icon: [512, 512, [], \"e143\", \"M168.2 384.9c-15-5.4-31.7-3.1-44.6 6.4c-8.2 6-22.3 14.8-39.4 22.7c5.6-14.7 9.9-31.3 11.3-49.4c1-12.9-3.3-25.7-11.8-35.5C60.4 302.8 48 272 48 240c0-79.5 83.3-160 208-160s208 80.5 208 160s-83.3 160-208 160c-31.6 0-61.3-5.5-87.8-15.1zM26.3 423.8c-1.6 2.7-3.3 5.4-5.1 8.1l-.3 .5c-1.6 2.3-3.2 4.6-4.8 6.9c-3.5 4.7-7.3 9.3-11.3 13.5c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c5.1 0 10.2-.3 15.3-.8l.7-.1c4.4-.5 8.8-1.1 13.2-1.9c.8-.1 1.6-.3 2.4-.5c17.8-3.5 34.9-9.5 50.1-16.1c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9zM280 152c0-13.3-10.7-24-24-24s-24 10.7-24 24V262.1l-31-31c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l72 72c9.4 9.4 24.6 9.4 33.9 0l72-72c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-31 31V152z\"]\n};\nvar faLightbulbCfl = {\n prefix: 'far',\n iconName: 'lightbulb-cfl',\n icon: [320, 512, [], \"e5a6\", \"M165.8 47.3l-128 32C25 82.5 11.9 74.7 8.7 61.8S13.3 35.9 26.2 32.7l128-32c12.9-3.2 25.9 4.6 29.1 17.5s-4.6 25.9-17.5 29.1zM311.3 82.2c3.2 12.9-4.6 25.9-17.5 29.1l-256 64c-12.9 3.2-25.9-4.6-29.1-17.5s4.6-25.9 17.5-29.1l256-64c12.9-3.2 25.9 4.6 29.1 17.5zm0 96c3.2 12.9-4.6 25.9-17.5 29.1l-256 64c-12.9 3.2-25.9-4.6-29.1-17.5s4.6-25.9 17.5-29.1l256-64c12.9-3.2 25.9 4.6 29.1 17.5zM144 384h80c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32H184v8c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8H96c-17.7 0-32-14.3-32-32V416c0-17.7 14.3-32 32-32V306.2l48-12V384zM311.3 274.2c3.2 12.9-4.6 25.9-17.5 29.1l-64 16-5.8 1.5V384H176V302.6c-.3-11 7.1-21.1 18.2-23.9l8-2 0 0 16-4 64-16c12.9-3.2 25.9 4.6 29.1 17.5z\"]\n};\nvar faWindowFrameOpen = {\n prefix: 'far',\n iconName: 'window-frame-open',\n icon: [512, 512, [], \"e050\", \"M432 240H280V48H416c8.8 0 16 7.2 16 16V240zm-200 0H80V64c0-8.8 7.2-16 16-16H232V240zm248 48V240 64c0-35.3-28.7-64-64-64H96C60.7 0 32 28.7 32 64V240v48H80 432h48zM24 464c-13.3 0-24 10.7-24 24s10.7 24 24 24H56 456h32c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V320H432V464H80V320H32V464H24z\"]\n};\nvar faFaceKiss = {\n prefix: 'far',\n iconName: 'face-kiss',\n icon: [512, 512, [128535, \"kiss\"], \"f596\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm304.7 25.7c4.3 5.1 7.3 11.4 7.3 18.3s-3.1 13.2-7.3 18.3c-4.3 5.2-10.1 9.7-16.7 13.4c-2.7 1.5-5.7 3-8.7 4.3c3.1 1.3 6 2.7 8.7 4.3c6.6 3.7 12.5 8.2 16.7 13.4c4.3 5.1 7.3 11.4 7.3 18.3s-3.1 13.2-7.3 18.3c-4.3 5.2-10.1 9.7-16.7 13.4C274.7 411.1 257.4 416 240 416c-3.6 0-6.8-2.5-7.7-6s.6-7.2 3.8-9l0 0 0 0 0 0 0 0 .2-.1c.2-.1 .5-.3 .9-.5c.8-.5 2-1.2 3.4-2.1c2.8-1.9 6.5-4.5 10.2-7.6c3.7-3.1 7.2-6.6 9.6-10.1c2.5-3.5 3.5-6.4 3.5-8.6s-1-5-3.5-8.6c-2.5-3.5-5.9-6.9-9.6-10.1c-3.7-3.1-7.4-5.7-10.2-7.6c-1.4-.9-2.6-1.6-3.4-2.1l-.8-.5-.1-.1-.2-.1 0 0 0 0 0 0c-2.5-1.4-4.1-4.1-4.1-7s1.6-5.6 4.1-7l0 0 0 0 0 0 0 0 0 0 .2-.1c.2-.1 .5-.3 .9-.5c.8-.5 2-1.2 3.4-2.1c2.8-1.9 6.5-4.5 10.2-7.6c3.7-3.1 7.2-6.6 9.6-10.1c2.5-3.5 3.5-6.4 3.5-8.6s-1-5-3.5-8.6c-2.5-3.5-5.9-6.9-9.6-10.1c-3.7-3.1-7.4-5.7-10.2-7.6c-1.4-.9-2.6-1.6-3.4-2.1c-.4-.2-.7-.4-.9-.5l-.2-.1 0 0 0 0 0 0c-3.2-1.8-4.7-5.5-3.8-9s4.1-6 7.7-6c17.4 0 34.7 4.9 47.9 12.3c6.6 3.7 12.5 8.2 16.7 13.4zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faKiss = faFaceKiss;\nvar faBridgeCircleXmark = {\n prefix: 'far',\n iconName: 'bridge-circle-xmark',\n icon: [640, 512, [], \"e4cb\", \"M56 32C42.7 32 32 42.7 32 56s10.7 24 24 24h48v64H56c-13.3 0-24 10.7-24 24s10.7 24 24 24h72H256 496h88c13.3 0 24-10.7 24-24s-10.7-24-24-24H536V80h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H56zM339.1 288.1c8-15.7 18.3-30 30.4-42.5C359 241.9 347.8 240 336 240H304c-57.4 0-104 46.6-104 104v88H152V336c0-53-43-96-96-96c-13.3 0-24 10.7-24 24s10.7 24 24 24c26.5 0 48 21.5 48 48V440c0 22.1 17.9 40 40 40h64c22.1 0 40-17.9 40-40V344c0-30.9 25.1-56 56-56h32c1.1 0 2.1 0 3.1 .1zM488 80v64H408V80h80zM360 80v64H280V80h80zM232 80v64H152V80h80zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm59.3-180.7L518.6 368l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L496 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L473.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L496 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faPeriod = {\n prefix: 'far',\n iconName: 'period',\n icon: [192, 512, [], \"2e\", \"M96 392a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0 96a72 72 0 1 0 0-144 72 72 0 1 0 0 144z\"]\n};\nvar faFaceGrinTongue = {\n prefix: 'far',\n iconName: 'face-grin-tongue',\n icon: [512, 512, [128539, \"grin-tongue\"], \"f589\", \"M464 256c0-114.9-93.1-208-208-208S48 141.1 48 256c0 81.7 47.1 152.4 115.7 186.4c-2.4-8.4-3.7-17.3-3.7-26.4V363.6c-8.9-8-16.7-17.1-23.1-27.1c-10.4-16.1 6.8-32.5 25.5-28.1c28.9 6.8 60.5 10.5 93.6 10.5s64.7-3.7 93.6-10.5c18.7-4.4 35.9 12 25.5 28.1c-6.4 9.9-14.2 19-23 27V416c0 9.2-1.3 18-3.7 26.4C416.9 408.4 464 337.7 464 256zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm176.4-80a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM320 416V378.6c0-14.7-11.9-26.6-26.6-26.6h-2c-11.3 0-21.1 7.9-23.6 18.9c-2.8 12.6-20.8 12.6-23.6 0c-2.5-11.1-12.3-18.9-23.6-18.9h-2c-14.7 0-26.6 11.9-26.6 26.6V416c0 35.3 28.7 64 64 64s64-28.7 64-64z\"]\n};\nvar faGrinTongue = faFaceGrinTongue;\nvar faUpToDottedLine = {\n prefix: 'far',\n iconName: 'up-to-dotted-line',\n icon: [448, 512, [], \"e457\", \"M114.2 288L224 178 333.8 288 280 288c-13.3 0-24 10.7-24 24l0 120-64 0 0-120c0-13.3-10.7-24-24-24l-53.8 0zM224 128c-11.5 0-22.5 4.6-30.6 12.7L77.6 256.8C68.9 265.5 64 277.3 64 289.6c0 25.6 20.8 46.4 46.4 46.4l33.6 0 0 96c0 26.5 21.5 48 48 48l64 0c26.5 0 48-21.5 48-48l0-96 33.6 0c25.6 0 46.4-20.8 46.4-46.4c0-12.3-4.9-24.1-13.6-32.8L254.6 140.7c-8.1-8.1-19.1-12.7-30.6-12.7zM416 32a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm-96 0a32 32 0 1 0 0 64 32 32 0 1 0 0-64zM192 64a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zM128 32a32 32 0 1 0 0 64 32 32 0 1 0 0-64zM0 64a32 32 0 1 0 64 0A32 32 0 1 0 0 64z\"]\n};\nvar faThoughtBubble = {\n prefix: 'far',\n iconName: 'thought-bubble',\n icon: [512, 512, [], \"e32e\", \"M256 0c-48.7 0-91.4 25.6-115.4 64C62.6 65.9 0 129.6 0 208c0 79.5 64.5 144 144 144c9.4 0 18.7-.9 27.6-2.7C193.3 370.7 223.1 384 256 384s62.7-13.3 84.4-34.7c9 1.7 18.2 2.7 27.6 2.7c79.5 0 144-64.5 144-144c0-78.4-62.6-142.1-140.6-144C347.4 25.6 304.7 0 256 0zM176.3 98.7C190.4 68.7 220.8 48 256 48s65.6 20.7 79.7 50.7c4.3 9.1 13.8 14.6 23.8 13.7c2.8-.2 5.6-.4 8.5-.4c53 0 96 43 96 96s-43 96-96 96c-10 0-19.7-1.5-28.7-4.4c-9.6-3-20 .3-26.2 8.3C299.9 325 279.2 336 256 336s-43.9-11-57.1-28.1c-6.1-8-16.6-11.3-26.2-8.3c-9 2.8-18.7 4.4-28.7 4.4c-53 0-96-43-96-96s43-96 96-96c2.9 0 5.7 .1 8.5 .4c10 .9 19.5-4.6 23.8-13.7zM192 432a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM64 480A32 32 0 1 0 0 480a32 32 0 1 0 64 0z\"]\n};\nvar faSkeletonRibs = {\n prefix: 'far',\n iconName: 'skeleton-ribs',\n icon: [640, 512, [], \"e5cb\", \"M344 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H254c-32.1 0-62.3 17.5-76.7 47.4c-14.1 29.2-34.2 74.3-50.9 124.3C109.8 285.3 96 341.4 96 392v11.7c0 42.1 34.2 76.3 76.3 76.3c11.2 0 22.3-2.5 32.5-7.3l70.9-33.4c6.6-3.1 13.4-5.4 20.3-7.1V488c0 13.3 10.7 24 24 24s24-10.7 24-24V432.3c6.9 1.6 13.7 4 20.3 7.1l70.9 33.4c10.2 4.8 21.3 7.3 32.5 7.3c42.1 0 76.3-34.2 76.3-76.3V392c0-50.6-13.8-106.7-30.3-156.3c-16.7-50-36.9-95.1-50.9-124.3C448.3 81.5 418.1 64 386 64H344V24zm-48 88v60.3L193.6 192.8c9.7-23.7 19.3-44.6 27-60.6c5.9-12.3 18.7-20.2 33.5-20.2h42zM173.6 245.8L296 221.3V278L152.7 319.8c4.9-22.8 11.6-46.1 19.2-68.9c.6-1.7 1.2-3.5 1.8-5.2zM144.8 372.1L296 328v55.4c-14 2.2-27.7 6.4-40.7 12.6l-70.9 33.4c-3.8 1.8-7.9 2.7-12.1 2.7c-15.6 0-28.3-12.7-28.3-28.3V392c0-6.5 .3-13.1 .8-19.9zM344 383.4V328l151.2 44.1c.5 6.8 .8 13.4 .8 19.9v11.7c0 15.6-12.7 28.3-28.3 28.3c-4.2 0-8.3-.9-12.1-2.7l-70.9-33.4c-13.1-6.1-26.8-10.3-40.7-12.6zm143.3-63.6L344 278V221.3l122.4 24.5c.6 1.7 1.2 3.5 1.8 5.2c7.6 22.7 14.3 46 19.2 68.9zm-40.9-127L344 172.3V112h42c14.8 0 27.5 7.9 33.5 20.2c7.7 16 17.3 36.9 27 60.6zM0 128V232 488c0 13.3 10.7 24 24 24s24-10.7 24-24V232c0-6.5 3.4-12.4 8.9-15.8L94 194c21.1-12.6 34-35.4 34-60v-6c0-35.3-28.7-64-64-64S0 92.7 0 128zm48 37.6V128c0-8.8 7.2-16 16-16s16 7.2 16 16v6c0 7.7-4 14.9-10.7 18.8L48 165.6zM576 64c-35.3 0-64 28.7-64 64v6c0 24.6 12.9 47.4 34 60l37.1 22.3c5.5 3.3 8.9 9.3 8.9 15.8V488c0 13.3 10.7 24 24 24s24-10.7 24-24V232 128c0-35.3-28.7-64-64-64zm-5.3 88.8c-6.6-4-10.7-11.1-10.7-18.8v-6c0-8.8 7.2-16 16-16s16 7.2 16 16v37.6l-21.3-12.8z\"]\n};\nvar faRaygun = {\n prefix: 'far',\n iconName: 'raygun',\n icon: [576, 512, [], \"e025\", \"M288 64H192L102.2 4.1C98.2 1.4 93.4 0 88.6 0C75 0 64 11 64 24.6V74.8C26.2 92.8 0 131.3 0 176c0 59.3 46.1 107.8 104.4 111.7l-69 137.9c-7.9 15.8-1.5 35 14.3 42.9l80 40c15.8 7.9 35 1.5 42.9-14.3l103-206 .2-.3H288v8c0 13.3 10.7 24 24 24s24-10.7 24-24v-8V240 112 64 56c0-13.3-10.7-24-24-24s-24 10.7-24 24v8zM112 112H288V240H112c-35.3 0-64-28.7-64-64s28.7-64 64-64zM392 64c-13.3 0-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V208h60.9l77.1 30.9c4.9 2 10.5 1.4 14.9-1.6s7-7.9 7-13.2V128c0-5.3-2.6-10.3-7-13.2s-10-3.6-14.9-1.6L476.9 144H416V88c0-13.3-10.7-24-24-24zM112 200a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm120-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM222 288.3L136.8 458.5 85.5 432.8l72.3-144.5H222z\"]\n};\nvar faFlute = {\n prefix: 'far',\n iconName: 'flute',\n icon: [640, 512, [], \"f8b9\", \"M144 304H576c8.8 0 16-7.2 16-16V224c0-8.8-7.2-16-16-16H144v96zm-48 0V208H64c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16H96zM64 160H96h24 24H576c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64H144 120 96 64c-35.3 0-64-28.7-64-64V224c0-35.3 28.7-64 64-64zm256 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm72 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm120-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faAcorn = {\n prefix: 'far',\n iconName: 'acorn',\n icon: [448, 512, [], \"f6ae\", \"M267.2 38.4c8-10.6 5.8-25.6-4.8-33.6s-25.6-5.8-33.6 4.8L224 16c-10.7 14.3-18 30.7-21.6 48H96C43 64 0 107 0 160v16c0 17.7 14.3 32 32 32H416c17.7 0 32-14.3 32-32V160c0-53-43-96-96-96H252.1c2.4-6.8 5.9-13.3 10.3-19.2l4.8-6.4zM400 160H48c0-26.5 21.5-48 48-48H352c26.5 0 48 21.5 48 48zM48.4 240c4.1 78.1 39 189.3 165.5 236.4c6.5 2.4 13.7 2.4 20.2 0C360.6 429.3 395.5 318.1 399.6 240H351.5c-3.9 65.7-32.7 150.2-127.5 188.9C129.2 390.2 100.3 305.7 96.5 240H48.4z\"]\n};\nvar faVideoArrowUpRight = {\n prefix: 'far',\n iconName: 'video-arrow-up-right',\n icon: [576, 512, [], \"e2c9\", \"M320 112c8.8 0 16 7.2 16 16V384c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V128c0-8.8 7.2-16 16-16H320zM64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V351 161 128c0-35.3-28.7-64-64-64H64zm464 84.6V363.4L416 313v52.6l104.3 46.9c5.1 2.3 10.6 3.5 16.2 3.5c21.8 0 39.5-17.7 39.5-39.5v-241c0-21.8-17.7-39.5-39.5-39.5c-5.6 0-11.1 1.2-16.2 3.5L416 146.4V199l112-50.4zM152 160c-13.3 0-24 10.7-24 24s10.7 24 24 24h54.1L103 311c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l103-103V296c0 13.3 10.7 24 24 24s24-10.7 24-24V184c0-13.3-10.7-24-24-24H152z\"]\n};\nvar faGrateDroplet = {\n prefix: 'far',\n iconName: 'grate-droplet',\n icon: [576, 512, [], \"e194\", \"M0 88C0 57.1 25.1 32 56 32h72 96 96 72c30.9 0 56 25.1 56 56v74.2c-15.1 4.3-28.2 14.6-35.8 28.8L400 214V88c0-4.4-3.6-8-8-8H344V232h46.4L336.9 332.2C325.8 353.1 320 376.4 320 400c0 29.6 8.9 57.1 24.2 80H320 224 128 56c-30.9 0-56-25.1-56-56V256 88zm56-8c-4.4 0-8 3.6-8 8V232h56V80H56zM48 424c0 4.4 3.6 8 8 8h48V280H48V424zm152 8V280H152V432h48zm96 0V280H248V432h48zM248 80V232h48V80H248zM200 232V80H152V232h48zm240.5-25.9c4.6-8.7 13.7-14.1 23.5-14.1s18.9 5.4 23.5 14.1l75.3 141.2c8.7 16.2 13.2 34.3 13.2 52.7c0 61.9-50.1 112-112 112s-112-50.1-112-112c0-18.4 4.5-36.5 13.2-52.7l75.3-141.2z\"]\n};\nvar faSealExclamation = {\n prefix: 'far',\n iconName: 'seal-exclamation',\n icon: [512, 512, [], \"e242\", \"M176 112c12.7 0 24.9-5.1 33.9-14.1L256 51.9l46.1 46.1c9 9 21.2 14.1 33.9 14.1l64 0 0 64c0 12.7 5.1 24.9 14.1 33.9l45.6 45.6-45.6 45.6c-9 9-14.1 21.2-14.1 33.9l0 64.9-64.9 0c-12.7 0-24.9 5.1-33.9 14.1L256 459.2l-45.1-45.1c-9-9-21.2-14.1-33.9-14.1L112 400l0-64.9c0-12.7-5.1-24.9-14.1-33.9L52.4 255.5l45.6-45.6c9-9 14.1-21.2 14.1-33.9l0-64 64 0zM289.9 17.9c-18.7-18.7-49.1-18.7-67.9 0L176 64l-64 0c-26.5 0-48 21.5-48 48l0 64L18.4 221.6c-18.7 18.7-18.7 49.1 0 67.9L64 335.1 64 400c0 26.5 21.5 48 48 48l64.9 0 45.1 45.1c18.7 18.7 49.1 18.7 67.9 0L335.1 448l64.9 0c26.5 0 48-21.5 48-48l0-64.9 45.6-45.6c18.7-18.7 18.7-49.1 0-67.9L448 176l0-64c0-26.5-21.5-48-48-48l-64 0L289.9 17.9zM256 128c-13.3 0-24 10.7-24 24l0 112c0 13.3 10.7 24 24 24s24-10.7 24-24l0-112c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faChessBishop = {\n prefix: 'far',\n iconName: 'chess-bishop',\n icon: [320, 512, [9821], \"f43a\", \"M104 0C90.7 0 80 10.7 80 24c0 11.2 7.6 20.6 18 23.2c-7.8 8-16.1 17-24.4 27C38.2 116.7 0 178.8 0 250.9c0 44.8 24.6 72.2 48 87.8V352H96V325c0-9-5-17.2-13-21.3c-18-9.3-35-24.7-35-52.7c0-55.5 29.8-106.8 62.4-145.9c16-19.2 32.1-34.8 44.2-45.5c1.9-1.7 3.7-3.2 5.3-4.6c1.7 1.4 3.4 3 5.3 4.6c12.1 10.7 28.2 26.3 44.2 45.5c5.3 6.3 10.5 13 15.5 20L159 191c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l57.8-57.8c12.8 25.9 21.2 54.3 21.2 83.8c0 28-17 43.4-35 52.7c-8 4.1-13 12.3-13 21.3v27h48V338.7c23.4-15.6 48-42.9 48-87.8c0-72.1-38.2-134.2-73.6-176.7c-8.3-9.9-16.6-19-24.4-27c10.3-2.7 18-12.1 18-23.2c0-13.3-10.7-24-24-24H160 104zM52.7 464l16.6-32H250.8l16.6 32H52.7zm207.9-80H59.5c-12 0-22.9 6.7-28.4 17.3L4.6 452.5c-3 5.8-4.6 12.2-4.6 18.7C0 493.8 18.2 512 40.8 512H279.2c22.5 0 40.8-18.2 40.8-40.8c0-6.5-1.6-12.9-4.6-18.7l-26.5-51.2c-5.5-10.6-16.5-17.3-28.4-17.3z\"]\n};\nvar faMessageSms = {\n prefix: 'far',\n iconName: 'message-sms',\n icon: [512, 512, [], \"e1e5\", \"M208 416c0-26.5-21.5-48-48-48H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H448c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H309.3c-10.4 0-20.5 3.4-28.8 9.6L208 432V416zm-.2 76.2l.2-.2 101.3-76H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h48 48v48 4 .3 6.4V496c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L202.7 496l5.1-3.8zM96 180.8c0 12.3 6.2 23.8 16.4 30.7l29.4 19.6c1.3 .9 2.2 2.4 2.2 4c0 2.7-2.2 4.8-4.8 4.8H112c-8.8 0-16 7.2-16 16s7.2 16 16 16h27.2c20.3 0 36.8-16.5 36.8-36.8c0-12.3-6.2-23.8-16.4-30.7l-29.4-19.6c-1.3-.9-2.2-2.4-2.2-4c0-2.7 2.2-4.8 4.8-4.8H152c8.8 0 16-7.2 16-16s-7.2-16-16-16H132.8C112.5 144 96 160.5 96 180.8zM372.8 144c-20.3 0-36.8 16.5-36.8 36.8c0 12.3 6.2 23.8 16.4 30.7l29.4 19.6c1.3 .9 2.2 2.4 2.2 4c0 2.7-2.2 4.8-4.8 4.8H352c-8.8 0-16 7.2-16 16s7.2 16 16 16h27.2c20.3 0 36.8-16.5 36.8-36.8c0-12.3-6.2-23.8-16.4-30.7l-29.4-19.6c-1.3-.9-2.2-2.4-2.2-4c0-2.7 2.2-4.8 4.8-4.8H392c8.8 0 16-7.2 16-16s-7.2-16-16-16H372.8zm-152 6.4c-4.1-5.5-11.3-7.8-17.9-5.6S192 153.1 192 160v96c0 8.8 7.2 16 16 16s16-7.2 16-16V208l19.2 25.6c3 4 7.8 6.4 12.8 6.4s9.8-2.4 12.8-6.4L288 208v48c0 8.8 7.2 16 16 16s16-7.2 16-16V160c0-6.9-4.4-13-10.9-15.2s-13.7 .1-17.9 5.6L256 197.3l-35.2-46.9z\"]\n};\nvar faCoffeeBeans = {\n prefix: 'far',\n iconName: 'coffee-beans',\n icon: [512, 512, [], \"e13f\", \"M476.8 258c50-50 39.9-141.2-22.6-203.6S300.5-18.2 250.5 31.8s-39.9 141.2 22.6 203.6S426.8 308 476.8 258zm-46.6-46.7c3.5 4.1 7 9.2 10.4 14.9c-25.8 22.7-83.8 25-133.5-24.7c-28-28-39.5-58.7-40.1-84.8c27.8 29.1 60 40.6 87.3 50.3l1.4 .5c30.2 10.8 54.3 19.8 74.6 43.8zm-10-123c28 28 39.5 58.7 40.1 84.8c-27.8-29.1-60-40.6-87.3-50.3l-1.4-.5c-30.2-10.8-54.3-19.8-74.6-43.8c-3.5-4.1-7-9.2-10.4-14.9c25.8-22.7 83.8-25 133.5 24.7zM128.1 446c-.4 5.4-1.6 11.5-3.1 17.9C90.7 461.7 48 422.3 48 352c0-39.7 13.6-69.5 31.6-88.3c-.9 40.2 13.7 71.1 26.1 97.3l.6 1.3c13.7 29 24.4 52.4 21.8 83.7zM208 352c0 39.7-13.6 69.5-31.6 88.3c.9-40.2-13.7-71.1-26.1-97.3l-.6-1.3c-13.7-29-24.4-52.4-21.8-83.7c.4-5.4 1.6-11.5 3.1-17.9C165.3 242.3 208 281.7 208 352zM128 512c70.7 0 128-71.6 128-160s-57.3-160-128-160S0 263.6 0 352s57.3 160 128 160z\"]\n};\nvar faHatWitch = {\n prefix: 'far',\n iconName: 'hat-witch',\n icon: [576, 512, [], \"f6e7\", \"M148.4 384H96l85.9-196.3C198.8 149 228 116.9 265 96.5l170.4-94c3-1.7 6.4-2.5 9.9-2.5c7 0 13.7 2.4 19.1 6.7L564 86.4c7.6 6.1 12 15.3 12 25V121c0 4.6-1 9.2-2.9 13.4l-39.1 84.7c-3.6 7.9-11.5 12.9-20.1 12.9c-10.4 0-19.4-7.2-21.7-17.4l-8-35.9C481.7 167.8 472 160 460.8 160c-8 0-15.5 4-19.9 10.7l-19.5 29.3c-3.5 5.3-5.4 11.5-5.4 17.8c0 4.1 .8 8.2 2.3 11.9L480 384H428.3L373.7 247.5l0 0c-3.8-9.5-5.7-19.7-5.7-29.8c0-15.7 4.6-31.2 13.4-44.5L401 144c13.3-20 35.8-32 59.8-32c22.8 0 43.6 10.7 56.9 27.9l9.8-21.2L444.6 52.3 288.2 138.6c-27.7 15.3-49.7 39.3-62.4 68.4L148.4 384zM240 336c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32v48H240V336zm313.4 80c12.5 0 22.6 10.1 22.6 22.6c0 6-2.4 11.7-6.9 15.6C550.1 470.3 493.4 512 416 512H160C82.6 512 25.9 470.3 6.9 454.2C2.4 450.4 0 444.6 0 438.6C0 426.1 10.1 416 22.6 416H553.4z\"]\n};\nvar faFaceGrinWink = {\n prefix: 'far',\n iconName: 'face-grin-wink',\n icon: [512, 512, [\"grin-wink\"], \"f58c\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm349.5 52.4c18.7-4.4 35.9 12 25.5 28.1C350.4 374.6 306.3 400 255.9 400s-94.5-25.4-119.1-63.5c-10.4-16.1 6.8-32.5 25.5-28.1c28.9 6.8 60.5 10.5 93.6 10.5s64.7-3.7 93.6-10.5zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm165.8 21.7c-7.6 8.1-20.2 8.5-28.3 .9s-8.5-20.2-.9-28.3c14.5-15.5 35.2-22.3 54.6-22.3s40.1 6.8 54.6 22.3c7.6 8.1 7.1 20.7-.9 28.3s-20.7 7.1-28.3-.9c-5.5-5.8-14.8-9.7-25.4-9.7s-19.9 3.8-25.4 9.7z\"]\n};\nvar faGrinWink = faFaceGrinWink;\nvar faClockThreeThirty = {\n prefix: 'far',\n iconName: 'clock-three-thirty',\n icon: [512, 512, [], \"e357\", \"M48 256a208 208 0 1 0 416 0A208 208 0 1 0 48 256zm464 0A256 256 0 1 1 0 256a256 256 0 1 1 512 0zM232 392V256c0-13.3 10.7-24 24-24H360c13.3 0 24 10.7 24 24s-10.7 24-24 24H280V392c0 13.3-10.7 24-24 24s-24-10.7-24-24z\"]\n};\nvar faEarDeaf = {\n prefix: 'far',\n iconName: 'ear-deaf',\n icon: [512, 512, [\"deaf\", \"deafness\", \"hard-of-hearing\"], \"f2a4\", \"M505 41l-64 64c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L471 7c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9zM185 361L41 505c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L151 327c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9zm55-249c-70.7 0-128 57.3-128 128c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-97.2 78.8-176 176-176s176 78.8 176 176c0 47.5-18.8 90.6-49.4 122.2c-4.8 4.9-6.6 9.9-6.6 13.8c0 75.1-60.9 136-136 136c-13.3 0-24-10.7-24-24s10.7-24 24-24c48.6 0 88-39.4 88-88c0-19.1 8.9-35.5 20.1-47.1c22.3-23 35.9-54.4 35.9-88.9c0-70.7-57.3-128-128-128zm0 88c-22.1 0-40 17.9-40 40c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-48.6 39.4-88 88-88s88 39.4 88 88c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-22.1-17.9-40-40-40z\"]\n};\nvar faDeaf = faEarDeaf;\nvar faDeafness = faEarDeaf;\nvar faHardOfHearing = faEarDeaf;\nvar faAlarmClock = {\n prefix: 'far',\n iconName: 'alarm-clock',\n icon: [512, 512, [9200], \"f34e\", \"M160 25.4C143 9.6 120.2 0 95.2 0C42.6 0 0 42.6 0 95.2c0 18.8 5.5 36.3 14.9 51.1L160 25.4zM256 112a176 176 0 1 1 0 352 176 176 0 1 1 0-352zm0 400c53.2 0 102.1-18.6 140.5-49.5L439 505c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-42.5-42.5c31-38.4 49.5-87.3 49.5-140.5C480 164.3 379.7 64 256 64S32 164.3 32 288c0 53.2 18.6 102.1 49.5 140.5L39 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l42.5-42.5c38.4 31 87.3 49.5 140.5 49.5zM497.1 146.4C506.5 131.6 512 114 512 95.2C512 42.6 469.4 0 416.8 0C391.8 0 369 9.6 352 25.4L497.1 146.4zM280 184c0-13.3-10.7-24-24-24s-24 10.7-24 24V288c0 6.4 2.5 12.5 7 17l48 48c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-41-41V184z\"]\n};\nvar faEclipse = {\n prefix: 'far',\n iconName: 'eclipse',\n icon: [640, 512, [], \"f749\", \"M375.7 19.7c-1.5-8-6.9-14.7-14.4-17.8s-16.1-2.2-22.8 2.4L256 61.1 173.5 4.2c-6.7-4.6-15.3-5.5-22.8-2.4s-12.9 9.8-14.4 17.8l-18.1 98.5L19.7 136.3c-8 1.5-14.7 6.9-17.8 14.4s-2.2 16.1 2.4 22.8L61.1 256 4.2 338.5c-4.6 6.7-5.5 15.3-2.4 22.8s9.8 13 17.8 14.4l98.5 18.1 18.1 98.5c1.5 8 6.9 14.7 14.4 17.8s16.1 2.2 22.8-2.4L256 450.9l82.5 56.9c6.7 4.6 15.3 5.5 22.8 2.4s12.9-9.8 14.4-17.8l8.1-44.3c-15.8-6.6-30.6-15.1-44.2-25.2l-4.5 24.4L269.6 402c-8.2-5.7-19-5.7-27.2 0l-65.6 45.2-14.4-78.3c-1.8-9.8-9.5-17.5-19.3-19.3L64.8 335.2 110 269.6c5.7-8.2 5.7-19 0-27.2L64.8 176.8l78.3-14.4c9.8-1.8 17.5-9.5 19.3-19.3l14.4-78.3L242.4 110c8.2 5.7 19 5.7 27.2 0l65.6-45.2 4.5 24.4C353.2 79.1 368 70.6 383.9 64l-8.2-44.3zM256 144c-61.9 0-112 50.1-112 112s50.1 112 112 112c10.4 0 20.5-1.4 30.1-4.1c-8.4-13.9-15.3-28.9-20.3-44.6c-3.2 .5-6.5 .7-9.8 .7c-35.3 0-64-28.7-64-64s28.7-64 64-64c3.3 0 6.6 .3 9.8 .7c5-15.8 11.9-30.7 20.3-44.6c-9.6-2.7-19.7-4.1-30.1-4.1zm80 112a128 128 0 1 1 256 0 128 128 0 1 1 -256 0zm304 0a176 176 0 1 0 -352 0 176 176 0 1 0 352 0z\"]\n};\nvar faFaceRelieved = {\n prefix: 'far',\n iconName: 'face-relieved',\n icon: [512, 512, [], \"e389\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm193 87c11.8 11.8 32.7 25 63 25s51.2-13.1 63-25c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9c-19.1 19.1-51.6 39-97 39s-77.9-19.9-97-39c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0zm158.7-91c10.6 0 19.9-3.8 25.4-9.7c7.6-8.1 20.2-8.5 28.3-.9s8.5 20.2 .9 28.3C391.7 285.2 371 292 351.6 292s-40.1-6.8-54.6-22.3c-7.6-8.1-7.1-20.7 .9-28.3s20.7-7.1 28.3 .9c5.5 5.8 14.8 9.7 25.4 9.7zm-217.4-9.7c5.5 5.8 14.8 9.7 25.4 9.7s19.9-3.8 25.4-9.7c7.6-8.1 20.2-8.5 28.3-.9s8.5 20.2 .9 28.3C199.7 285.2 179 292 159.6 292s-40.1-6.8-54.6-22.3c-7.6-8.1-7.1-20.7 .9-28.3s20.7-7.1 28.3 .9zm73-135.4c2.8 8.4-1.7 17.4-10.1 20.2l-6.3 2.1c-23.6 7.9-44 23.4-57.8 44.1l-7.6 11.5c-4.9 7.4-14.8 9.3-22.2 4.4s-9.3-14.8-4.4-22.2l7.6-11.5c17.8-26.6 43.9-46.6 74.3-56.7l6.3-2.1c8.4-2.8 17.4 1.7 20.2 10.1zm107.8 20.2c-8.4-2.8-12.9-11.9-10.1-20.2s11.9-12.9 20.2-10.1l6.3 2.1c30.4 10.1 56.5 30.1 74.3 56.7l7.6 11.5c4.9 7.4 2.9 17.3-4.4 22.2s-17.3 2.9-22.2-4.4L379 173.4c-13.8-20.7-34.1-36.3-57.8-44.1l-6.3-2.1z\"]\n};\nvar faRoadCircleCheck = {\n prefix: 'far',\n iconName: 'road-circle-check',\n icon: [640, 512, [], \"e564\", \"M217.7 32c-30.4 0-57.5 19-67.7 47.6L40.6 383.6C23.7 430.5 58.4 480 108.3 480H360.2c-21.9-26.6-36.2-59.7-39.5-96c-.2 0-.5 0-.7 0c-13.3 0-24 10.7-24 24v24H108.3c-16.6 0-28.2-16.5-22.6-32.1l109.4-304c3.4-9.5 12.5-15.9 22.6-15.9H296v24c0 13.3 10.7 24 24 24s24-10.7 24-24V80h78.3c10.1 0 19.2 6.3 22.6 15.9l34.9 96.9c5.4-.5 10.8-.7 16.3-.7c12.3 0 24.2 1.3 35.8 3.6L490 79.6C479.7 51 452.6 32 422.3 32H217.7zM326.9 319c4.1-14.1 9.8-27.4 17.1-39.8V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v80c0 13.3 10.7 24 24 24c2.4 0 4.7-.4 6.9-1zM640 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faDiceFive = {\n prefix: 'far',\n iconName: 'dice-five',\n icon: [448, 512, [9860], \"f523\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm128 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 192a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm64-64a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM320 128a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM288 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faOctagonMinus = {\n prefix: 'far',\n iconName: 'octagon-minus',\n icon: [512, 512, [\"minus-octagon\"], \"f308\", \"M191.5 48.1c-6.4 0-12.5 2.5-17 7L55.1 174.5c-4.5 4.5-7 10.6-7 17v129c0 6.4 2.5 12.5 7 17L21.2 371.4C7.7 357.9 .1 339.6 .1 320.5v-129c0-19.1 7.6-37.4 21.1-50.9L140.6 21.2C154.1 7.7 172.4 .1 191.5 .1h129c19.1 0 37.4 7.6 50.9 21.1L490.8 140.6c13.5 13.5 21.1 31.8 21.1 50.9v129c0 19.1-7.6 37.4-21.1 50.9L371.4 490.8c-13.5 13.5-31.8 21.1-50.9 21.1h-129c-19.1 0-37.4-7.6-50.9-21.1L21.2 371.4l33.9-33.9L174.5 456.9c4.5 4.5 10.6 7 17 7h129c6.4 0 12.5-2.5 17-7L456.9 337.5c4.5-4.5 7-10.6 7-17v-129c0-6.4-2.5-12.5-7-17L337.5 55.1c-4.5-4.5-10.6-7-17-7h-129zM184 232H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faMinusOctagon = faOctagonMinus;\nvar faSquareRss = {\n prefix: 'far',\n iconName: 'square-rss',\n icon: [448, 512, [\"rss-square\"], \"f143\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm96 40c0-13.3 10.7-24 24-24c137 0 248 111 248 248c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-110.5-89.5-200-200-200c-13.3 0-24-10.7-24-24zm0 96c0-13.3 10.7-24 24-24c83.9 0 152 68.1 152 152c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-57.4-46.6-104-104-104c-13.3 0-24-10.7-24-24zm0 120a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faRssSquare = faSquareRss;\nvar faFaceZany = {\n prefix: 'far',\n iconName: 'face-zany',\n icon: [512, 512, [], \"e3a4\", \"M436.1 152C378.7 52.5 251.5 18.4 152 75.9S18.4 260.5 75.9 360c25 43.3 63.2 74.2 106.5 90.6c-4.1-10.7-6.4-22.4-6.4-34.6v-7.8c-10.4-6.2-20.1-13.7-28.9-22.2c-10.2-9.9-6.6-26.3 5.7-33.4L391.2 214.9c12.3-7.1 28.3-2 31.8 11.8c15.2 59.4-5.9 124.1-55 165V416c0 5.5-.5 10.9-1.4 16.1C461 373 492.3 249.2 436.1 152zM384 477.7c-27.9 16.1-57.5 26.3-87.5 31.1c-7.8 2.1-16 3.2-24.5 3.2c-1.9 0-3.7-.1-5.6-.2c-92 3.7-182.9-42.6-232.1-127.8C-36.4 261.6 5.6 105 128 34.3S407 5.6 477.7 128s28.7 279-93.7 349.7zM296.4 160c-11.1 0-20.4-7.5-23.2-17.7c-.8 3.1-1.2 6.4-1.2 9.7c0 22.1 17.9 40 40 40s40-17.9 40-40s-17.9-40-40-40c-3 0-6 .3-8.8 1c9.9 2.9 17.2 12.1 17.2 23c0 13.3-10.7 24-24 24zM312 80a72 72 0 1 1 0 144 72 72 0 1 1 0-144zM176 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-96 0a64 64 0 1 1 128 0A64 64 0 1 1 80 224zm48 0a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM336 416V378.6c0-14.7-11.9-26.6-26.6-26.6h-2c-11.3 0-21.1 7.9-23.6 18.9c-2.8 12.6-20.8 12.6-23.6 0c-2.5-11.1-12.3-18.9-23.6-18.9h-2c-14.7 0-26.6 11.9-26.6 26.6V416c0 35.3 28.7 64 64 64s64-28.7 64-64z\"]\n};\nvar faTricycle = {\n prefix: 'far',\n iconName: 'tricycle',\n icon: [512, 512, [], \"e5c3\", \"M280 32c-13.3 0-24 10.7-24 24s10.7 24 24 24h73.6c7.9 0 14.4 6.4 14.4 14.4c0 4.2-1.8 8.2-5 10.9l-42.6 36.5c-.8 .7-1.6 1.4-2.3 2.2H307.2c-58.8 0-114 23.9-154.1 64.6L133.6 176H136c13.3 0 24-10.7 24-24s-10.7-24-24-24H56c-13.3 0-24 10.7-24 24s10.7 24 24 24H77.6l44 73.4c-1.3 2.2-2.6 4.5-3.9 6.7c-1.9-.1-3.9-.1-5.8-.1C50.1 256 0 306.1 0 368s50.1 112 112 112s112-50.1 112-112c0-42.4-23.6-79.4-58.4-98.4c30.7-48.1 84-77.6 141.6-77.6h12.1l11 43.8C286.4 256.1 256 300.5 256 352c0 70.7 57.3 128 128 128s128-57.3 128-128s-57.3-128-128-128c-2.4 0-4.8 .1-7.2 .2l-13.9-55.6 31.3-26.9C408 129.9 416 112.6 416 94.4C416 59.9 388.1 32 353.6 32H280zm62.2 251.8l18.5 74c3.2 12.9 16.2 20.7 29.1 17.5s20.7-16.2 17.5-29.1l-18.5-74c42 2.5 75.2 37.3 75.2 79.9c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-28.9 15.3-54.2 38.2-68.2zM112 304a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]\n};\nvar faLandMineOn = {\n prefix: 'far',\n iconName: 'land-mine-on',\n icon: [640, 512, [], \"e51b\", \"M344 24V168c0 13.3-10.7 24-24 24s-24-10.7-24-24V24c0-13.3 10.7-24 24-24s24 10.7 24 24zM192 336c0-26.5 21.5-48 48-48H400c26.5 0 48 21.5 48 48v16h31.5c19.6 0 37.3 11.9 44.6 30.2l34.4 85.9c8.4 21-7.1 43.9-29.7 43.9H111.3c-22.6 0-38.1-22.9-29.7-43.9l34.4-85.9c7.3-18.2 24.9-30.2 44.6-30.2H192V336zM505.1 464l-25.6-64h-319l-25.6 64H505.1zM36.3 138.3c7.5-10.9 22.5-13.6 33.4-6.1l104 72c10.9 7.5 13.6 22.5 6.1 33.4s-22.5 13.6-33.4 6.1l-104-72c-10.9-7.5-13.6-22.5-6.1-33.4zm534.1-6.1c10.9-7.5 25.8-4.8 33.4 6.1s4.8 25.8-6.1 33.4l-104 72c-10.9 7.5-25.8 4.8-33.4-6.1s-4.8-25.8 6.1-33.4l104-72z\"]\n};\nvar faSquareArrowUpLeft = {\n prefix: 'far',\n iconName: 'square-arrow-up-left',\n icon: [448, 512, [], \"e263\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm288 48c13.3 0 24 10.7 24 24s-10.7 24-24 24H193.9L329 327c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-135-135V328c0 13.3-10.7 24-24 24s-24-10.7-24-24V168c0-13.3 10.7-24 24-24H288z\"]\n};\nvar faICursor = {\n prefix: 'far',\n iconName: 'i-cursor',\n icon: [256, 512, [], \"f246\", \"M.1 22.2c-1 13.2 8.9 24.8 22.1 25.8l15.4 1.2C75 52 104 83.3 104 120.9V232H64c-13.3 0-24 10.7-24 24s10.7 24 24 24h40V391.1c0 37.6-29 68.9-66.5 71.8l-15.4 1.2C8.9 465.1-.9 476.6 .1 489.8s12.6 23.1 25.8 22.1l15.4-1.2c35.7-2.7 66.7-20.9 86.8-47.6c20.1 26.7 51.1 44.9 86.8 47.6l15.4 1.2c13.2 1 24.8-8.9 25.8-22.1s-8.9-24.8-22.1-25.8l-15.4-1.2C181 460 152 428.7 152 391.1V280h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H152V120.9c0-37.6 29-68.9 66.5-71.8l15.4-1.2c13.2-1 23.1-12.6 22.1-25.8S243.4-.9 230.2 .1L214.8 1.3C179.1 4 148.1 22.2 128 48.9C107.9 22.2 76.9 4 41.2 1.3L25.8 .1C12.6-.9 1.1 8.9 .1 22.2z\"]\n};\nvar faChartMixedUpCircleDollar = {\n prefix: 'far',\n iconName: 'chart-mixed-up-circle-dollar',\n icon: [576, 512, [], \"e5d9\", \"M408 0c-13.3 0-24 10.7-24 24s10.7 24 24 24h52.5L320.2 168.2 207.8 69.9c-8.2-7.1-20.1-7.9-29.1-1.9L10.7 180c-11 7.4-14 22.3-6.7 33.3s22.3 14 33.3 6.7L190 118.2l114.2 99.9c9 7.9 22.4 7.9 31.4 .2L496 80.7V136c0 13.3 10.7 24 24 24s24-10.7 24-24V24c0-13.3-10.7-24-24-24H408zM200 432c0 4.4-3.6 8-8 8s-8-3.6-8-8V272c0-4.4 3.6-8 8-8s8 3.6 8 8V432zm-8-208c-26.5 0-48 21.5-48 48V432c0 26.5 21.5 48 48 48s48-21.5 48-48V272c0-26.5-21.5-48-48-48zM72 432c0 4.4-3.6 8-8 8s-8-3.6-8-8V368c0-4.4 3.6-8 8-8s8 3.6 8 8v64zM64 320c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48s48-21.5 48-48V368c0-26.5-21.5-48-48-48zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zM408.1 339l0 .1c0 .4 0 1.9 4.8 4.5c5.6 3 13.5 5.2 23.9 8.2l.2 0c9.3 2.6 21.1 6 30.5 11.5c10.2 6 20 16.1 20.5 32.3c.5 18.2-9.7 30.4-21.7 36.9c-5.8 3.1-12.1 5.1-18.3 6.2v10.8c0 8.8-7.2 16-16 16s-16-7.2-16-16V438.1c-8.6-1.7-16.7-4.3-23.7-6.6l0 0 0 0c-1.7-.6-3.4-1.1-5-1.6c-8.4-2.6-13.2-11.6-10.5-20s11.6-13.2 20-10.5c2 .6 3.9 1.2 5.8 1.8c11.4 3.6 20.4 6.5 29.9 6.8c6.7 .2 13.8-1.1 18.5-3.6c2.2-1.2 3.4-2.4 4-3.3c.5-.8 1.1-2.1 1-4.5c0-1.4-.2-3-4.7-5.6c-5.3-3.1-12.9-5.4-23.2-8.3l-1.8-.5c-8.9-2.5-19.8-5.6-28.6-10.3c-9.9-5.3-20.6-14.7-21.6-30.7c-1.2-18.8 10-30.9 21.8-37.2c5.7-3.1 12-5.1 18-6.3V288c0-8.8 7.2-16 16-16s16 7.2 16 16v9.4c6.3 .9 12.3 2.3 17.9 3.7c8.6 2.1 13.8 10.8 11.7 19.4s-10.8 13.8-19.4 11.7c-9.3-2.3-18.2-4-26.4-4.1c-6.2-.1-13.6 1.3-18.7 4c-2.4 1.3-3.6 2.5-4.2 3.4c-.4 .7-.9 1.6-.8 3.6z\"]\n};\nvar faSaltShaker = {\n prefix: 'far',\n iconName: 'salt-shaker',\n icon: [384, 512, [129474], \"e446\", \"M325.2 464H58.8c-6 0-10.8-4.8-10.8-10.8c0-.6 .1-1.3 .2-1.9L94.5 192H289.5l46.3 259.3c.1 .6 .2 1.3 .2 1.9c0 6-4.8 10.8-10.8 10.8zM58.8 512H325.2c32.5 0 58.8-26.3 58.8-58.8c0-3.5-.3-6.9-.9-10.3L323.7 110.3C312.3 46.5 256.8 0 192 0S71.7 46.5 60.3 110.3L.9 442.9c-.6 3.4-.9 6.9-.9 10.3C0 485.7 26.3 512 58.8 512zM192 48a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM128 96a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM240 80a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faStamp = {\n prefix: 'far',\n iconName: 'stamp',\n icon: [512, 512, [], \"f5bf\", \"M299.3 116.7c3-6.2 4.7-13.2 4.7-20.7c0-26.5-21.5-48-48-48s-48 21.5-48 48c0 7.5 1.7 14.5 4.7 20.7l.3 .6c7 14.6 19 39.6 19 68.7c0 65.2-52.8 118-118 118H96c-26.5 0-48 21.5-48 48v8c0 4.4 3.6 8 8 8H456c4.4 0 8-3.6 8-8v-8c0-26.5-21.5-48-48-48H398c-65.2 0-118-52.8-118-118c0-29 12-54.1 19-68.6l0 0 .3-.6zm43.3 20.8C335.2 152.9 328 168.9 328 186c0 38.7 31.4 70 70 70h18c53 0 96 43 96 96v8c0 30.9-25.1 56-56 56H56c-30.9 0-56-25.1-56-56v-8c0-53 43-96 96-96h18c38.7 0 70-31.3 70-70c0-17.1-7.2-33.1-14.6-48.5c-6-12.6-9.4-26.6-9.4-41.5c0-53 43-96 96-96s96 43 96 96c0 14.9-3.4 28.9-9.4 41.5zM32 480c0-17.7 14.3-32 32-32H448c17.7 0 32 14.3 32 32s-14.3 32-32 32H64c-17.7 0-32-14.3-32-32z\"]\n};\nvar faFilePlus = {\n prefix: 'far',\n iconName: 'file-plus',\n icon: [384, 512, [], \"f319\", \"M48 448V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zM192 208c-13.3 0-24 10.7-24 24v48H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h48v48c0 13.3 10.7 24 24 24s24-10.7 24-24V328h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H216V232c0-13.3-10.7-24-24-24z\"]\n};\nvar faDrawSquare = {\n prefix: 'far',\n iconName: 'draw-square',\n icon: [448, 512, [], \"f5ef\", \"M64 112a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm24 43.3V356.7c16 6.5 28.9 19.3 35.3 35.3H324.7c6.5-16 19.3-28.9 35.3-35.3V155.3c-16-6.5-28.9-19.3-35.3-35.3H123.3c-6.5 16-19.3 28.9-35.3 35.3zM123.3 440c-9.5 23.5-32.5 40-59.3 40c-35.3 0-64-28.7-64-64c0-26.9 16.5-49.9 40-59.3V155.3C16.5 145.9 0 122.9 0 96C0 60.7 28.7 32 64 32c26.9 0 49.9 16.5 59.3 40H324.7c9.5-23.5 32.5-40 59.3-40c35.3 0 64 28.7 64 64c0 26.9-16.5 49.9-40 59.3V356.7c23.5 9.5 40 32.5 40 59.3c0 35.3-28.7 64-64 64c-26.9 0-49.9-16.5-59.3-40H123.3zM80 416a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm320 0a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm0-320a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faToiletPaperUnderSlash = {\n prefix: 'far',\n iconName: 'toilet-paper-under-slash',\n icon: [640, 512, [\"toilet-paper-reverse-slash\"], \"e2a1\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-54.8-43V192c0-49.5-10.5-95.4-28.5-129.9C530 28.7 501.7 0 464 0H176c-33.8 0-60 23-77.6 51.8L38.8 5.1zm97.7 76.6c14-25.4 29-33.7 39.5-33.7H388.7c-3 4.5-5.7 9.3-8.2 14.1C362.5 96.6 352 142.5 352 192c0 22 2.1 43.3 6 63.3L136.5 81.7zM460.6 335.7l-30.2-23.7c-2.5-3.6-5-7.7-7.4-12.4c-13.8-26.3-23-64.3-23-107.7s9.2-81.3 23-107.7C437.4 56.9 453.1 48 464 48s26.6 8.9 41 36.3c13.8 26.3 23 64.3 23 107.7s-9.2 81.3-23 107.7c-14.4 27.5-30.1 36.3-41 36.3c-1.1 0-2.2-.1-3.4-.3zm45.1 35.3c8.2-5.4 15.6-12.2 22.3-20v37.5l-22.3-17.5zm21.7 140.5L467.1 464H280c-4.4 0-8-3.6-8-8V416H224v40c0 30.9 25.1 56 56 56H520c2.5 0 5-.2 7.4-.5zM304.6 336H176c-10.9 0-26.6-8.9-41-36.3c-13.8-26.3-23-64.3-23-107.7c0-2.6 0-5.1 .1-7.7L66.8 148.6c-1.8 14-2.8 28.6-2.8 43.4c0 49.5 10.5 95.4 28.5 129.9C110 355.3 138.3 384 176 384H365.5l-60.9-48zM488 192c0-26.5-10.7-48-24-48s-24 21.5-24 48s10.7 48 24 48s24-21.5 24-48z\"]\n};\nvar faToiletPaperReverseSlash = faToiletPaperUnderSlash;\nvar faStairs = {\n prefix: 'far',\n iconName: 'stairs',\n icon: [576, 512, [], \"e289\", \"M384 56c0-13.3 10.7-24 24-24H552c13.3 0 24 10.7 24 24s-10.7 24-24 24H432V200c0 13.3-10.7 24-24 24H304V328c0 13.3-10.7 24-24 24H176V456c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H128V328c0-13.3 10.7-24 24-24H256V200c0-13.3 10.7-24 24-24H384V56z\"]\n};\nvar faDroneFront = {\n prefix: 'far',\n iconName: 'drone-front',\n icon: [640, 512, [\"drone-alt\"], \"f860\", \"M136 96c10.4 0 19.3 6.7 22.6 16H264c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24h89.4c3.3-9.3 12.2-16 22.6-16zm345.4 16c3.3-9.3 12.2-16 22.6-16s19.3 6.7 22.6 16H616c13.3 0 24 10.7 24 24s-10.7 24-24 24H376c-13.3 0-24-10.7-24-24s10.7-24 24-24H481.4zM112 256V192h48v49.6l10.8 5.7 47.7-27.8c30.8-18 65.9-27.5 101.6-27.5s70.7 9.5 101.6 27.5l47.7 27.8 10.8-5.7V192h48v64c0 8.9-4.9 17.1-12.8 21.2l-51.6 27.3 4.5 5.4c18 21.6 27.8 48.8 27.8 76.8V392c0 13.3-10.7 24-24 24s-24-10.7-24-24v-5.2c0-16.8-5.9-33.2-16.7-46.1l-11-13.2-41.1 21.7c-3.5 1.8-7.3 2.8-11.2 2.8H272c-3.9 0-7.8-1-11.2-2.8l-41.1-21.7-11 13.2c-10.8 12.9-16.7 29.3-16.7 46.1V392c0 13.3-10.7 24-24 24s-24-10.7-24-24v-5.2c0-28.1 9.8-55.3 27.8-76.8l4.5-5.4-51.6-27.3c-7.9-4.2-12.8-12.3-12.8-21.2zm307.3 17.7l-21.9-12.8C373.9 247.2 347.2 240 320 240s-53.9 7.2-77.4 20.9l-21.9 12.8L278 304H362l57.2-30.3z\"]\n};\nvar faDroneAlt = faDroneFront;\nvar faGlassEmpty = {\n prefix: 'far',\n iconName: 'glass-empty',\n icon: [384, 512, [], \"e191\", \"M6.3 7.8C10.9 2.8 17.3 0 24 0H360c6.7 0 13.1 2.8 17.7 7.8s6.8 11.6 6.2 18.3L347.7 446.2C344.5 483.4 313.3 512 276 512H108c-37.4 0-68.5-28.6-71.7-65.8L.1 26.1C-.5 19.4 1.8 12.7 6.3 7.8zM50.2 48l34 394.1C85.2 454.5 95.6 464 108 464H276c12.5 0 22.8-9.5 23.9-21.9L333.8 48H50.2z\"]\n};\nvar faDialHigh = {\n prefix: 'far',\n iconName: 'dial-high',\n icon: [576, 512, [], \"e15c\", \"M288 64a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0 248H397.4c-11 50.3-55.8 88-109.4 88c-61.9 0-112-50.1-112-112s50.1-112 112-112c53.6 0 98.4 37.7 109.4 88H288c-13.3 0-24 10.7-24 24s10.7 24 24 24zm160-24a160 160 0 1 0 -320 0 160 160 0 1 0 320 0zm128 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM32 320a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM128 96A32 32 0 1 0 64 96a32 32 0 1 0 64 0zm352 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM128 480a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm352 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faUserHelmetSafety = {\n prefix: 'far',\n iconName: 'user-helmet-safety',\n icon: [448, 512, [128119, \"user-construction\", \"user-hard-hat\"], \"f82c\", \"M216 0h16c13.3 0 24 10.7 24 24V80l28.4-56.9c38 20.4 64.5 59.4 67.3 104.9h.2c13.3 0 24 10.7 24 24s-10.7 24-24 24H96c-13.3 0-24-10.7-24-24s10.7-24 24-24h.2C99 82.6 125.6 43.5 163.6 23.1L192 80V24c0-13.3 10.7-24 24-24zM162 304c-34.9-19.4-59.8-54.6-65-96h48.6c7.4 36.5 39.7 64 78.4 64s71-27.5 78.4-64H351c-5.2 41.4-30.1 76.6-65 96c-18.4 10.2-39.5 16-62 16s-43.6-5.8-62-16zm-11.4 48H224h73.4 16.2C387.8 352 448 412.2 448 486.4c0 14.1-11.5 25.6-25.6 25.6H25.6C11.5 512 0 500.5 0 486.4C0 412.2 60.2 352 134.4 352h16.2zM397.1 464c-9.9-36.9-43.5-64-83.5-64H134.4c-40 0-73.6 27.1-83.5 64H397.1z\"]\n};\nvar faUserConstruction = faUserHelmetSafety;\nvar faUserHardHat = faUserHelmetSafety;\nvar faI = {\n prefix: 'far',\n iconName: 'i',\n icon: [320, 512, [105], \"49\", \"M24 32C10.7 32 0 42.7 0 56S10.7 80 24 80H136V432H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H296c13.3 0 24-10.7 24-24s-10.7-24-24-24H184V80H296c13.3 0 24-10.7 24-24s-10.7-24-24-24H160 24z\"]\n};\nvar faHryvniaSign = {\n prefix: 'far',\n iconName: 'hryvnia-sign',\n icon: [384, 512, [8372, \"hryvnia\"], \"f6f2\", \"M105.7 104.6C125.6 88.7 150.3 80 175.8 80H227c33.7 0 61 27.3 61 61c0 20.7-10.5 39.8-27.5 51H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H171l-65.3 34.8c-7 3.7-13.5 8.2-19.4 13.2H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H53.8C50 347.1 48 358.9 48 371c0 60.2 48.8 109 109 109h51.2c36.4 0 71.7-12.4 100.1-35.1l2.7-2.2c10.4-8.3 12-23.4 3.7-33.7s-23.4-12-33.7-3.8l-2.7 2.2c-19.9 15.9-44.6 24.6-70.1 24.6H157c-33.7 0-61-27.3-61-61c0-12.8 4-24.9 11-35H360c13.3 0 24-10.7 24-24s-10.7-24-24-24H183l90-48h87c13.3 0 24-10.7 24-24s-10.7-24-24-24H323.3c8.2-15.4 12.7-32.9 12.7-51c0-60.2-48.8-109-109-109H175.8c-36.4 0-71.7 12.4-100.1 35.1L73 69.3C62.7 77.5 61 92.6 69.3 103s23.4 12 33.7 3.7l2.7-2.2z\"]\n};\nvar faHryvnia = faHryvniaSign;\nvar faArrowDownLeftAndArrowUpRightToCenter = {\n prefix: 'far',\n iconName: 'arrow-down-left-and-arrow-up-right-to-center',\n icon: [512, 512, [], \"e092\", \"M489 57c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-135 135V72c0-13.3-10.7-24-24-24s-24 10.7-24 24V216c0 13.3 10.7 24 24 24H440c13.3 0 24-10.7 24-24s-10.7-24-24-24H353.9L489 57zM23 455c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l135-135V440c0 13.3 10.7 24 24 24s24-10.7 24-24V296c0-13.3-10.7-24-24-24H72c-13.3 0-24 10.7-24 24s10.7 24 24 24h86.1L23 455z\"]\n};\nvar faPills = {\n prefix: 'far',\n iconName: 'pills',\n icon: [576, 512, [], \"f484\", \"M112 80c35.3 0 64 28.7 64 64V256H48V144c0-35.3 28.7-64 64-64zM0 144V368c0 61.9 50.1 112 112 112s112-50.1 112-112V144c0-61.9-50.1-112-112-112S0 82.1 0 144zM416 432c-61.9 0-112-50.1-112-112c0-22.2 6.5-43 17.7-60.4L476.4 414.3C459 425.5 438.2 432 416 432zM355.6 225.7C373 214.5 393.8 208 416 208c61.9 0 112 50.1 112 112c0 22.2-6.5 43-17.7 60.4L355.6 225.7zM416 480a160 160 0 1 0 0-320 160 160 0 1 0 0 320z\"]\n};\nvar faFaceGrinWide = {\n prefix: 'far',\n iconName: 'face-grin-wide',\n icon: [512, 512, [128515, \"grin-alt\"], \"f581\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm349.5 52.4c18.7-4.4 35.9 12 25.5 28.1C350.4 374.6 306.3 400 255.9 400s-94.5-25.4-119.1-63.5c-10.4-16.1 6.8-32.5 25.5-28.1c28.9 6.8 60.5 10.5 93.6 10.5s64.7-3.7 93.6-10.5zM224 192c0 35.3-14.3 64-32 64s-32-28.7-32-64s14.3-64 32-64s32 28.7 32 64zm96 64c-17.7 0-32-28.7-32-64s14.3-64 32-64s32 28.7 32 64s-14.3 64-32 64z\"]\n};\nvar faGrinAlt = faFaceGrinWide;\nvar faTooth = {\n prefix: 'far',\n iconName: 'tooth',\n icon: [448, 512, [129463], \"f5c9\", \"M64 143.3c0 12.5 2.9 24.9 8.5 36.1l17.1 34.2c8.8 17.7 15.2 36.4 18.9 55.8L139.6 431c.1 .6 .6 1 1.2 1c.5 0 1-.4 1.2-.9l28.4-102.4C177.1 304.6 199 288 224 288s46.9 16.6 53.5 40.7L306 431.1c.1 .5 .6 .9 1.2 .9c.6 0 1.1-.4 1.2-1l31.1-161.6c3.7-19.4 10.1-38.2 18.9-55.8l15.1-30.2c6.9-13.9 10.6-29.2 10.6-44.8c0-32.4-26.3-58.7-58.7-58.7H314.6C298 80 282 85.9 269.4 96.7l-7 6 8.1 6c10.6 8 12.8 23 4.8 33.6s-23 12.8-33.6 4.8l-32-24-32-24-8-6C158.2 84.6 144.3 80 130 80h-2.7C92.3 80 64 108.3 64 143.3zm159-70l15.1-13C259.4 42 286.5 32 314.6 32h10.7C384.2 32 432 79.8 432 138.7c0 23-5.4 45.7-15.6 66.2l-15.1 30.2c-6.9 13.7-11.8 28.3-14.7 43.4L355.5 440.1C351 463.3 330.8 480 307.2 480c-22.1 0-41.5-14.7-47.4-36L231.3 341.5c-.9-3.3-3.9-5.5-7.3-5.5s-6.4 2.3-7.3 5.5L188.3 444c-5.9 21.3-25.3 36-47.4 36c-23.6 0-43.9-16.7-48.3-39.9L61.4 278.5c-2.9-15.1-7.8-29.7-14.7-43.4L29.6 200.8C20.7 183 16 163.3 16 143.3C16 81.8 65.8 32 127.3 32H130c24.7 0 48.7 8 68.4 22.8l8 6L223 73.2z\"]\n};\nvar faBasketballHoop = {\n prefix: 'far',\n iconName: 'basketball-hoop',\n icon: [640, 512, [], \"f435\", \"M49.2 209.4C64.9 179.7 144.6 48 320 48s255.1 131.7 270.8 161.4c.7 1.4 1.2 3.1 1.2 5.5V331.2c0 6.3-3.7 12.1-9.5 14.6l-60.3 26.8-8 56.1 87.8-39c23.1-10.3 38-33.2 38-58.5V214.9c0-8.9-1.8-18.6-6.8-28C615.3 153.1 523.3 0 320 0S24.7 153.1 6.8 187C1.8 196.3 0 206 0 214.9V331.2c0 25.3 14.9 48.2 38 58.5l87.8 39-8-56.1L57.5 345.8c-5.8-2.6-9.5-8.3-9.5-14.6V214.9c0-2.4 .5-4.2 1.2-5.5zM142.1 288l7.3 50.8 0 0 0 .1 22.9 152c1.1 7.5 6.4 13.8 13.7 16.1s15.2 .3 20.5-5.2l48.7-50.6 50.7 50.9c3.8 3.8 8.8 5.9 14.2 5.9s10.4-2.1 14.2-5.9l50.7-50.9 48.7 50.6c5.3 5.5 13.2 7.5 20.5 5.2s12.6-8.6 13.7-16.1l22.9-152 0 0 0-.1 7.3-50.8H504c13.3 0 24-10.7 24-24s-10.7-24-24-24H480 432 208 160 136c-13.3 0-24 10.7-24 24s10.7 24 24 24h6.1zm315.4 0l-4.1 28.9L418.6 288H456h1.5zM356 288l.5 .4L320 326.2l-36.4-37.8 .5-.4H356zm-134.5 0l-34.8 28.9L182.5 288H184h37.4zm61.5 134.4L320 383.9l37.1 38.5L320 459.7l-37.1-37.2zm9.3-67.4l-37.6 39-44.5-44.7L252.7 314l39.5 41.1zM198.1 394l28.8 28.9-21.2 22L198.1 394zm149.7-38.9L387.3 314l42.6 35.4-44.5 44.7-37.6-39zM441.9 394l-7.7 50.9-21.2-22L441.9 394zM208 176H432v32h48V168c0-22.1-17.9-40-40-40H200c-22.1 0-40 17.9-40 40v40h48V176z\"]\n};\nvar faObjectsAlignBottom = {\n prefix: 'far',\n iconName: 'objects-align-bottom',\n icon: [512, 512, [], \"e3bb\", \"M24 512c-13.3 0-24-10.7-24-24s10.7-24 24-24H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H24zM176 336V48H112V336h64zm-64 48c-26.5 0-48-21.5-48-48V48C64 21.5 85.5 0 112 0h64c26.5 0 48 21.5 48 48V336c0 26.5-21.5 48-48 48H112zm288-48V176H336V336h64zm-64 48c-26.5 0-48-21.5-48-48V176c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48V336c0 26.5-21.5 48-48 48H336z\"]\n};\nvar faV = {\n prefix: 'far',\n iconName: 'v',\n icon: [384, 512, [118], \"56\", \"M14.7 33.9c12.2-5.1 26.3 .6 31.4 12.8L192 394 337.9 46.7c5.1-12.2 19.2-18 31.4-12.8s18 19.2 12.8 31.4l-168 400c-3.7 8.9-12.5 14.7-22.1 14.7s-18.4-5.8-22.1-14.7L1.9 65.3C-3.3 53.1 2.5 39 14.7 33.9z\"]\n};\nvar faSparkles = {\n prefix: 'far',\n iconName: 'sparkles',\n icon: [512, 512, [10024], \"f890\", \"M327.5 85.2c-4.5 1.7-7.5 6-7.5 10.8s3 9.1 7.5 10.8L384 128l21.2 56.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L448 128l56.5-21.2c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L448 64 426.8 7.5C425.1 3 420.8 0 416 0s-9.1 3-10.8 7.5L384 64 327.5 85.2zM9.3 240C3.6 242.6 0 248.3 0 254.6s3.6 11.9 9.3 14.5L26.3 277l8.1 3.7 .6 .3 88.3 40.8L164.1 410l.3 .6 3.7 8.1 7.9 17.1c2.6 5.7 8.3 9.3 14.5 9.3s11.9-3.6 14.5-9.3l7.9-17.1 3.7-8.1 .3-.6 40.8-88.3L346 281l.6-.3 8.1-3.7 17.1-7.9c5.7-2.6 9.3-8.3 9.3-14.5s-3.6-11.9-9.3-14.5l-17.1-7.9-8.1-3.7-.6-.3-88.3-40.8L217 99.1l-.3-.6L213 90.3l-7.9-17.1c-2.6-5.7-8.3-9.3-14.5-9.3s-11.9 3.6-14.5 9.3l-7.9 17.1-3.7 8.1-.3 .6-40.8 88.3L35.1 228.1l-.6 .3-8.1 3.7L9.3 240zm83 14.5l51.2-23.6c10.4-4.8 18.7-13.1 23.5-23.5l23.6-51.2 23.6 51.2c4.8 10.4 13.1 18.7 23.5 23.5l51.2 23.6-51.2 23.6c-10.4 4.8-18.7 13.1-23.5 23.5l-23.6 51.2-23.6-51.2c-4.8-10.4-13.1-18.7-23.5-23.5L92.3 254.6zM384 384l-56.5 21.2c-4.5 1.7-7.5 6-7.5 10.8s3 9.1 7.5 10.8L384 448l21.2 56.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L448 448l56.5-21.2c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L448 384l-21.2-56.5c-1.7-4.5-6-7.5-10.8-7.5s-9.1 3-10.8 7.5L384 384z\"]\n};\nvar faSquid = {\n prefix: 'far',\n iconName: 'squid',\n icon: [512, 512, [129425], \"e450\", \"M261.5 4.8C265.3 .9 270.7-.8 276 .3L392.7 23.6C423 14.4 456.7 6.5 494.3 .2c5.1-.8 10.3 .8 13.9 4.5s5.3 8.8 4.5 13.9c-6.3 37.6-14.2 71.3-23.4 101.5l23.3 116.7c1.1 5.3-.6 10.8-4.5 14.6s-9.4 5.4-14.7 4.2l-58.9-13.1C388.4 314.5 332.8 346 286.2 353.2l16 16 .1 .1 22.5 22.5c6.2 6.2 16.4 6.2 22.6 0l56.4-56.3c18.9-18.9 49.5-18.7 68.2 .3l36.4 37.1c6.1 6.3 6.1 16.3-.1 22.5l-2.8 2.8c-34 34-87.7 33.3-121 1.9L370 414.4c-18.7 18.7-49.1 18.7-67.9 0L273.7 386c-9.4-9.2-24.4-9.2-33.7 0l-.1 .1-.1 .1c-9.2 9.4-9.2 24.4 0 33.8l.1 .1 5.7 5.7 9.9 9.9c19.5 19.5 18.6 51.5-2.1 69.8l-2.8 2.5c-6.6 5.9-16.7 5.3-22.6-1.3s-5.3-16.7 1.3-22.6l2.8-2.5c6.9-6.1 7.2-16.8 .7-23.3l-9.9-9.8-.1-.1-22.4-22.4-.1-.1c-10.2-10.1-27-9-35.8 2.3l-15.6 20c-2.7 3.5-4.2 7.7-4.2 12.1c0 10.9 8.8 19.7 19.7 19.7h12.3c8.8 0 16 7.2 16 16s-7.2 16-16 16H164.6c-28.6 0-51.7-23.2-51.7-51.7c0-11.5 3.8-22.7 10.9-31.8l21.9-28.2c7.3-9.4 6.5-22.8-1.9-31.2s-21.8-9.3-31.2-1.9L84.4 389.1C75.3 396.2 64.1 400 52.6 400C24.1 400 .9 376.8 .9 348.3L.9 336c0-8.8 7.2-16 16-16s16 7.2 16 16v12.3c0 10.9 8.8 19.7 19.7 19.7c4.4 0 8.7-1.5 12.1-4.2l20-15.6c11.3-8.8 12.4-25.5 2.4-35.8L64.6 289.9l-.2-.2L53.8 279.2c-6.4-6.4-16.7-6.2-22.9 .3L27.6 283c-6.1 6.4-16.2 6.7-22.6 .6s-6.7-16.2-.6-22.6l3.3-3.5c18.6-19.6 49.7-20 68.7-.9L93 273.1c9.4 9.2 24.4 9.1 33.8-.2c9.4-9.4 9.4-24.5 0-33.9l0 0-5.7-5.7 0 0L98.5 210.7c-18.7-18.7-18.7-49.1 0-67.9l14.3-14.3c-31.4-33.3-32.1-87 1.9-121l2.8-2.8c6.2-6.2 16.3-6.3 22.5-.1l37.1 36.4c19.1 18.7 19.2 49.3 .3 68.2l-56.4 56.4c-6.2 6.2-6.2 16.4 0 22.6l22.6 22.6 2 2 14 14c7.2-46.6 38.7-102.2 110.6-148.4L257.3 19.5c-1.2-5.3 .4-10.8 4.2-14.7zM184.9 296a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm64 32a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM432.3 62C266.7 103.7 228.1 174.4 222.4 215.4c-1.9 13.9 6 30.8 25.1 49.9s36 27 49.9 25.1c41-5.6 111.8-44.3 153.5-209.8c2.8-11.3-7.3-21.5-18.6-18.6z\"]\n};\nvar faLeafyGreen = {\n prefix: 'far',\n iconName: 'leafy-green',\n icon: [576, 512, [129388], \"e41d\", \"M233.8 27c-38-36.5-98.4-36-135.8 1.5C92 34.4 87 40.8 83 47.7C70 69.6 50.6 89.9 30.9 105.9c-2.3 1.8-4.4 3.8-6.5 5.9C-1.4 137.6-6.8 176.2 8.5 207.2c5.7 11.7 11 24.1 11 37.1v35.7c0 14.7 5.8 28.8 16.3 39.2l26.3 26.3c10.4 10.4 16.3 24.5 16.3 39.2l0 12.9c0 2.9 .2 5.8 .7 8.7l7.6-7.6c6-6 9.4-14.1 9.4-22.6V330.5c0-25.5 10.1-49.9 28.1-67.9l10.5-10.5c6-6 9.4-14.1 9.4-22.6v-43c0-25.5 10.1-49.9 28.1-67.9l29.1-29.1c5-5 8.8-12.9 13.7-27c4.4-12.9 10.8-24.8 18.9-35.5zM526 128c-9.1 35.4-9.7 73.9-6.3 106.9c.2 1.7 .3 3.4 .3 5.1c0 21-13.5 38.9-32.4 45.4c-14.5 5-38.5 13.6-57.7 32.8l-29.1 29.1c-3 3-7.1 4.7-11.3 4.7h-43c-29.7 0-58.2 11.8-79.2 32.8l-10.5 10.5c-3 3-7.1 4.7-11.3 4.7H209.9L313 297l41-41H440c13.3 0 24-10.7 24-24s-10.7-24-24-24H401.9l71-71c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L327 215l-7 7V184c0-13.3-10.7-24-24-24s-24 10.7-24 24v86.1l-96 96V330.5c0-4.2 1.7-8.3 4.7-11.3l10.5-10.5c21-21 32.8-49.5 32.8-79.2v-43c0-4.2 1.7-8.3 4.7-11.3l29.1-29.1c19.2-19.2 27.8-43.2 32.8-57.7C297.1 69.5 315 56 336 56c1.7 0 3.5 .1 5.1 .3c33 3.5 71.4 2.8 106.9-6.3c5.1-1.3 10.4-2 16-2c35.3 0 64 28.7 64 64c0 5.6-.7 10.9-2 16zM105 505l38.2-38.2c12-12 28.3-18.7 45.3-18.7h57c17 0 33.3-6.7 45.3-18.7l10.5-10.5c12-12 28.3-18.7 45.3-18.7h43c17 0 33.3-6.7 45.3-18.7l29.1-29.1c10.7-10.7 25-16.4 39.3-21.3C540.9 317.9 568 282.1 568 240c0-3.4-.2-6.8-.5-10.1c-3.1-29.1-2.3-61.5 5-89.9c2.3-8.9 3.5-18.3 3.5-28C576 50.1 525.9 0 464 0c-9.7 0-19 1.2-28 3.5c-28.4 7.3-60.8 8.1-89.9 5c-3.3-.3-6.7-.5-10.1-.5c-42.1 0-77.9 27.1-90.8 64.9c-4.9 14.3-10.6 28.6-21.3 39.3l-29.1 29.1c-12 12-18.7 28.3-18.7 45.3v43c0 17-6.7 33.3-18.7 45.3l-10.5 10.5c-12 12-18.7 28.3-18.7 45.3v57c0 17-6.7 33.3-18.7 45.3L71 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0z\"]\n};\nvar faCircleArrowUpRight = {\n prefix: 'far',\n iconName: 'circle-arrow-up-right',\n icon: [512, 512, [], \"e0fc\", \"M256 464a208 208 0 1 0 0-416 208 208 0 1 0 0 416zM256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zM192 144H344c13.3 0 24 10.7 24 24V328c0 13.3-10.7 24-24 24s-24-10.7-24-24V225.9L185 361c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l135-135H192c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faCalendars = {\n prefix: 'far',\n iconName: 'calendars',\n icon: [512, 512, [], \"e0d7\", \"M224 0c13.3 0 24 10.7 24 24V64H360V24c0-13.3 10.7-24 24-24s24 10.7 24 24V64h40c35.3 0 64 28.7 64 64v48 16V352c0 35.3-28.7 64-64 64H160c-35.3 0-64-28.7-64-64V192 176 128c0-35.3 28.7-64 64-64h40V24c0-13.3 10.7-24 24-24zM144 192V352c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V192H144zm-96-8V392c0 39.8 32.2 72 72 72H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H120C53.7 512 0 458.3 0 392V184c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faBangladeshiTakaSign = {\n prefix: 'far',\n iconName: 'bangladeshi-taka-sign',\n icon: [384, 512, [], \"e2e6\", \"M26.4 32.1C13.2 30.8 1.4 40.4 .1 53.6s8.3 25 21.5 26.3L44 82.1c20.4 2 36 19.3 36 39.8V176H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H80V392c0 48.6 39.4 88 88 88h32c101.6 0 184-82.4 184-184V264c0-48.6-39.4-88-88-88H280c-13.3 0-24 10.7-24 24s10.7 24 24 24h16c22.1 0 40 17.9 40 40v32c0 75.1-60.9 136-136 136H168c-22.1 0-40-17.9-40-40V224h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H128V121.9c0-45.2-34.3-83.1-79.2-87.6L26.4 32.1z\"]\n};\nvar faBicycle = {\n prefix: 'far',\n iconName: 'bicycle',\n icon: [640, 512, [128690], \"f206\", \"M312 32c-13.3 0-24 10.7-24 24s10.7 24 24 24h25.7l34.6 64H222.9l-27.4-38C191 99.7 183.7 96 176 96H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h43.7l22.1 30.7-26.6 53.1c-10-2.5-20.5-3.8-31.2-3.8C57.3 224 0 281.3 0 352s57.3 128 128 128c65.3 0 119.1-48.9 127-112h49c8.5 0 16.3-4.5 20.7-11.8l84.8-143.5 21.7 40.1C402.4 276.3 384 312 384 352c0 70.7 57.3 128 128 128s128-57.3 128-128s-57.3-128-128-128c-13.5 0-26.5 2.1-38.7 6L375.4 48.8C369.8 38.4 359 32 347.2 32H312zM454.6 296.3l36.3 67.1c6.3 11.7 20.9 16 32.5 9.7s16-20.9 9.7-32.5l-36.3-67.1c4.9-.9 10-1.4 15.2-1.4c44.2 0 80 35.8 80 80s-35.8 80-80 80s-80-35.8-80-80c0-21.7 8.6-41.3 22.6-55.7zM136.9 272.5l-28.1 56.1c-9 18.1 4.1 39.4 24.3 39.4h73.2c-7.4 36.5-39.7 64-78.4 64c-44.2 0-80-35.8-80-80s35.8-80 80-80c3 0 6 .2 8.9 .5zM166.8 320l50.7-101.3 72.9 101.2-.1 .1H166.8zm90.6-128H365.9L317 274.8 257.4 192z\"]\n};\nvar faHammerWar = {\n prefix: 'far',\n iconName: 'hammer-war',\n icon: [384, 512, [], \"f6e4\", \"M216 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V52L36.7 32.4C17.7 29.5 0 44.7 0 64V256c0 19.3 17.7 34.5 36.7 31.6l150.5-22.6c3.1-.5 6.3-.5 9.5 0l150.5 22.6c19.1 2.9 36.7-12.4 36.7-31.6V64c0-19.3-17.7-34.5-36.7-31.6L216 52V24zm0 276.3l-24-3.6-24 3.6V488c0 13.3 10.7 24 24 24s24-10.7 24-24V300.3zm-35.9-82.7L48 237.4V82.6l132.1 19.8c7.9 1.2 15.9 1.2 23.7 0L336 82.6V237.4L203.9 217.6c-7.9-1.2-15.9-1.2-23.7 0z\"]\n};\nvar faCircleD = {\n prefix: 'far',\n iconName: 'circle-d',\n icon: [512, 512, [], \"e104\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM184 128c-13.3 0-24 10.7-24 24V360c0 13.3 10.7 24 24 24h72c70.7 0 128-57.3 128-128s-57.3-128-128-128H184zm72 208H208V176h48c44.2 0 80 35.8 80 80s-35.8 80-80 80z\"]\n};\nvar faSpiderBlackWidow = {\n prefix: 'far',\n iconName: 'spider-black-widow',\n icon: [512, 512, [], \"f718\", \"M144.6 1.6c12.4 4.8 18.5 18.6 13.8 31l-32.5 84.6c-1.1 3-.4 6.3 1.8 8.5L160 158.1c.6-32.8 17.8-61.6 43.3-78.4c5.8-3.8 13.1-4.9 19.8-3s12.3 6.7 15.2 13L256 128.1l17.7-38.3c2.9-6.3 8.5-11.1 15.2-13s13.9-.8 19.8 3c25.6 16.8 42.7 45.5 43.3 78.4l32.3-32.3c2.2-2.2 2.9-5.6 1.8-8.5L353.6 32.6c-4.8-12.4 1.4-26.3 13.8-31s26.3 1.4 31 13.8L430.9 100c7.9 20.7 3 44.1-12.7 59.7l-57.4 57.4 80.4-26.8c2.4-.8 4.3-2.7 5.1-5.1l18.9-56.8c4.2-12.6 17.8-19.4 30.4-15.2s19.4 17.8 15.2 30.4l-18.9 56.8c-5.6 16.7-18.7 29.8-35.4 35.4L395.9 256l60.5 20.2c16.7 5.6 29.8 18.7 35.4 35.4l18.9 56.8c4.2 12.6-2.6 26.2-15.2 30.4s-26.2-2.6-30.4-15.2l-18.9-56.8c-.8-2.4-2.7-4.3-5.1-5.1l-68.8-22.9c.8 3.2 1.5 6.4 2 9.7l43.8 43.8c15.6 15.6 20.6 39 12.7 59.7l-32.5 84.6c-4.8 12.4-18.6 18.5-31 13.8s-18.5-18.6-13.8-31l32.5-84.6c1.1-3 .4-6.3-1.8-8.5l-12.1-12.1C358.8 425.8 311.9 464 256 464s-102.8-38.2-116.2-89.9l-12.1 12.1c-2.2 2.2-2.9 5.6-1.8 8.5l32.5 84.6c4.8 12.4-1.4 26.3-13.8 31s-26.3-1.4-31-13.8L81.1 412c-7.9-20.7-3-44.1 12.7-59.7l43.8-43.8c.5-3.3 1.2-6.5 2-9.7L70.8 321.7c-2.4 .8-4.3 2.7-5.1 5.1L46.8 383.6C42.6 396.2 29 403 16.4 398.8S-3 381 1.2 368.4l18.9-56.8c5.6-16.7 18.7-29.8 35.4-35.4L116.1 256 55.6 235.8c-16.7-5.6-29.8-18.7-35.4-35.4L1.2 143.6C-3 131 3.8 117.4 16.4 113.2s26.2 2.6 30.4 15.2l18.9 56.8c.8 2.4 2.7 4.3 5.1 5.1l80.4 26.8L93.7 159.7C78.1 144 73.1 120.6 81.1 100l32.5-84.6c4.8-12.4 18.6-18.5 31-13.8zm66 142.7c-1.7 4.9-2.6 10.2-2.6 15.7v88c0 3.4 .4 6.7 1 9.9c1.6 7.6-.6 15.5-5.9 21.2C191.2 292 184 309.1 184 328v16c0 39.8 32.2 72 72 72s72-32.2 72-72V328c0-18.9-7.2-36-19.1-48.9c-5.3-5.7-7.5-13.6-5.9-21.2c.7-3.2 1-6.5 1-9.9V160c0-5.5-.9-10.8-2.6-15.7l-15.6 33.8c-3.9 8.5-12.4 13.9-21.8 13.9H248c-9.4 0-17.9-5.4-21.8-13.9l-15.6-33.8zm7.8 162.9c-1.6-2.1-2.4-4.6-2.4-7.2c0-6.6 5.4-12 12-12h56c6.6 0 12 5.4 12 12c0 2.6-.8 5.1-2.4 7.2L272 336l21.6 28.8c1.6 2.1 2.4 4.6 2.4 7.2c0 6.6-5.4 12-12 12H228c-6.6 0-12-5.4-12-12c0-2.6 .8-5.1 2.4-7.2L240 336l-21.6-28.8z\"]\n};\nvar faStaffSnake = {\n prefix: 'far',\n iconName: 'staff-snake',\n icon: [384, 512, [\"rod-asclepius\", \"rod-snake\", \"staff-aesculapius\"], \"e579\", \"M222.6 43.2l-.1 4.8H296c48.6 0 88 39.4 88 88s-39.4 88-88 88H248V176h48c22.1 0 40-17.9 40-40s-17.9-40-40-40H221l-6 192h25c44.2 0 80 35.8 80 80s-35.8 80-80 80V400c17.7 0 32-14.3 32-32s-14.3-32-32-32H213.5l-3.6 115.5L208.5 495l0 1c-.3 8.9-7.6 16-16.5 16s-16.2-7.1-16.5-16l0-1-1.4-43.5L174 448H120c-13.3 0-24-10.7-24-24s10.7-24 24-24h52.5l-2-64H144c-44.2 0-80-35.8-80-80c0-41.5 31.6-75.6 72-79.6V225c-13.8 3.6-24 16.1-24 31c0 17.7 14.3 32 32 32h25L163 96H127.4c.4 2.6 .6 5.3 .6 8c0 30.9-25.1 56-56 56H56c-30.9 0-56-25.1-56-56S25.1 48 56 48h8 8 89.5l-.1-4.8L161 32c0-.7 0-1.3 0-1.9c.5-16.6 14.1-30 31-30s30.5 13.4 31 30c0 .6 0 1.3 0 1.9l-.4 11.2zM64 112a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faRodAsclepius = faStaffSnake;\nvar faRodSnake = faStaffSnake;\nvar faStaffAesculapius = faStaffSnake;\nvar faPear = {\n prefix: 'far',\n iconName: 'pear',\n icon: [512, 512, [], \"e20c\", \"M505 7c9.4 9.4 9.4 24.6 0 33.9L457.9 88.1c14 20.5 22.1 45.3 22.1 71.9c0 30.7-10.8 58.9-28.9 81c-29.9 36.5-61.4 81.8-73.3 127.4c-8.3 32-25 62.3-50.1 87.3c-75 75-196.5 75-271.5 0s-75-196.5 0-271.5c25.1-25.1 55.3-41.8 87.3-50.1c45.7-11.8 90.9-43.4 127.4-73.3c22.1-18 50.3-28.9 81-28.9c26.7 0 51.4 8.2 71.9 22.1L471 7c9.4-9.4 24.6-9.4 33.9 0zM367 111l22-22c-11.1-5.8-23.7-9.1-37-9.1c-19.2 0-36.8 6.7-50.6 18C264 128.6 212 166 155.6 180.6c-23.9 6.2-46.6 18.7-65.5 37.5c-56.2 56.2-56.2 147.4 0 203.6s147.4 56.2 203.6 0c18.9-18.9 31.3-41.5 37.5-65.5C346 300 383.4 248 414 210.6c11.3-13.8 18-31.3 18-50.6c0-13.4-3.3-25.9-9.1-37l-22 22c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9zM288 320c0 53-43 96-96 96c-8.8 0-16-7.2-16-16s7.2-16 16-16c35.3 0 64-28.7 64-64c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faHeadSideCoughSlash = {\n prefix: 'far',\n iconName: 'head-side-cough-slash',\n icon: [640, 512, [], \"e062\", \"M129 75.8C156.4 58.2 189 48 224 48h24c60.1 0 115.7 36.7 139.6 88.3c3.9 8.4 7.5 17 11.4 25.9l1.5 3.5c4.3 10.1 8.9 20.7 13.9 31.1c10.1 20.8 22.5 42 40.6 60.1l4.4 4.4c2.9 2.9 4.6 6.9 4.6 11c0 8.6-7 15.6-15.6 15.6H424c-6.3 0-12 2.4-16.2 6.3L129 75.8zM459.7 335c29.7-5.3 52.3-31.3 52.3-62.6c0-16.9-6.7-33-18.6-45L489 223c-12.7-12.7-22.4-28.5-31.4-47.1c-4.5-9.3-8.7-18.9-13-29l-1.5-3.5c-3.8-8.9-7.8-18.2-12-27.3C399.4 47.6 326.8 0 248 0H224C173.5 0 127 16.7 89.5 44.8L38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L459.7 335zM27 117.3C9.8 149 0 185.4 0 224c0 53.6 18.9 102.9 50.3 141.5c8.9 11 13.7 22.4 13.7 33.1V488c0 13.3 10.7 24 24 24s24-10.7 24-24V398.6c0-24.9-10.9-46.8-24.5-63.4C62.8 304.8 48 266.2 48 224c0-27.4 6.3-53.3 17.4-76.4L27 117.3zM339.2 363.2l-1.3 .3c-10.5 2.6-17.8 12-17.8 22.8c0 12.2 9.4 22.4 21.6 23.4l58.4 4.9V424v8c0 8.8-7.2 16-16 16H296c-13.3 0-24 10.7-24 24v16c0 13.3 10.7 24 24 24c10.4 0 19.3-6.7 22.6-16H384c30 0 55.2-20.6 62.1-48.5l-107-84.3zM640 384a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-88-24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm88-72a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faFileMov = {\n prefix: 'far',\n iconName: 'file-mov',\n icon: [512, 512, [], \"e647\", \"M48 448c0 8.8 7.2 16 16 16v48c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3V288H336V160H256c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448zm109.7-88.2L192 416.9l34.3-57.1c3.7-6.2 11.1-9.1 18-7.2s11.7 8.2 11.7 15.4V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V425.8l-18.3 30.5c-2.9 4.8-8.1 7.8-13.7 7.8s-10.8-3-13.7-7.8L160 425.8V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V368c0-7.2 4.8-13.5 11.7-15.4s14.3 1 18 7.2zM448 368v31.6c0 23 5.5 45.6 16 66c10.5-20.3 16-42.9 16-66V368c0-8.8 7.2-16 16-16s16 7.2 16 16v31.6c0 34.7-10.3 68.7-29.6 97.6l-5.1 7.7c-3 4.5-8 7.1-13.3 7.1s-10.3-2.7-13.3-7.1l-5.1-7.7c-19.3-28.9-29.6-62.9-29.6-97.6V368c0-8.8 7.2-16 16-16s16 7.2 16 16zM288 392c0-22.1 17.9-40 40-40h16c22.1 0 40 17.9 40 40v80c0 22.1-17.9 40-40 40H328c-22.1 0-40-17.9-40-40V392zm40-8c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8V392c0-4.4-3.6-8-8-8H328z\"]\n};\nvar faTriangle = {\n prefix: 'far',\n iconName: 'triangle',\n icon: [512, 512, [9650], \"f2ec\", \"M248.4 84.3c1.6-2.7 4.5-4.3 7.6-4.3s6 1.6 7.6 4.3L461.9 410c1.4 2.3 2.1 4.9 2.1 7.5c0 8-6.5 14.5-14.5 14.5H62.5c-8 0-14.5-6.5-14.5-14.5c0-2.7 .7-5.3 2.1-7.5L248.4 84.3zm-41-25L9.1 385c-6 9.8-9.1 21-9.1 32.5C0 452 28 480 62.5 480h387c34.5 0 62.5-28 62.5-62.5c0-11.5-3.2-22.7-9.1-32.5L304.6 59.3C294.3 42.4 275.9 32 256 32s-38.3 10.4-48.6 27.3z\"]\n};\nvar faApartment = {\n prefix: 'far',\n iconName: 'apartment',\n icon: [576, 512, [], \"e468\", \"M176 96V64c0-8.8 7.2-16 16-16H384c8.8 0 16 7.2 16 16V192c0 26.5 21.5 48 48 48h64c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H384 352 320V416c0-17.7-14.3-32-32-32s-32 14.3-32 32v48H192 64c-8.8 0-16-7.2-16-16V160c0-8.8 7.2-16 16-16h64c26.5 0 48-21.5 48-48zm16 416h64 64 32 32H512c35.3 0 64-28.7 64-64V256c0-35.3-28.7-64-64-64H496 448V144 64c0-35.3-28.7-64-64-64H192c-35.3 0-64 28.7-64 64V96H80 64C28.7 96 0 124.7 0 160V448c0 35.3 28.7 64 64 64H192zM352 336c8.8 0 16-7.2 16-16V288c0-8.8-7.2-16-16-16H320c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32zm144 80V384c0-8.8-7.2-16-16-16H448c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16zM128 336c8.8 0 16-7.2 16-16V288c0-8.8-7.2-16-16-16H96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32zm16 80V384c0-8.8-7.2-16-16-16H96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16zm112-80c8.8 0 16-7.2 16-16V288c0-8.8-7.2-16-16-16H224c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32zM368 96c0-8.8-7.2-16-16-16H320c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V96zM256 80H224c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16zM368 224V192c0-8.8-7.2-16-16-16H320c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16zM480 336c8.8 0 16-7.2 16-16V288c0-8.8-7.2-16-16-16H448c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32zM144 224V192c0-8.8-7.2-16-16-16H96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16zm112 16c8.8 0 16-7.2 16-16V192c0-8.8-7.2-16-16-16H224c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32z\"]\n};\nvar faTruckMedical = {\n prefix: 'far',\n iconName: 'truck-medical',\n icon: [640, 512, [128657, \"ambulance\"], \"f0f9\", \"M64 48c-8.8 0-16 7.2-16 16V352c0 8.8 7.2 16 16 16H76.8c16.6-28.7 47.6-48 83.2-48s66.6 19.3 83.2 48H320h32c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H64zM480 512c-53 0-96-43-96-96h-8H352 320 256c0 53-43 96-96 96s-96-43-96-96c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H352c35.3 0 64 28.7 64 64V96h42.7c14.9 0 29.1 5.9 39.6 16.4l93.3 93.3c10.5 10.5 16.4 24.7 16.4 39.6V368h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H576c0 53-43 96-96 96zm78-272c-.1-.1-.2-.3-.4-.4l-93.3-93.3c-1.5-1.5-3.5-2.3-5.7-2.3H416v96H558zM160 464a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm368-48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM176 96c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H240v48c0 8.8-7.2 16-16 16H192c-8.8 0-16-7.2-16-16V208H128c-8.8 0-16-7.2-16-16V160c0-8.8 7.2-16 16-16h48V96z\"]\n};\nvar faAmbulance = faTruckMedical;\nvar faPepper = {\n prefix: 'far',\n iconName: 'pepper',\n icon: [512, 512, [129745], \"e432\", \"M252.6 11.7C245.8 .3 231-3.4 219.7 3.4s-15.1 21.6-8.2 32.9l10.3 17.2c6.7 11.2 10.3 24 10.3 37v10.9c-17.1-6.1-36.2-7.4-55.1-2.7l-.2 0c-10.5 2.6-20.1 6.9-28.7 12.4C126.5 97.5 99.5 92.2 72.7 98.9C21.3 111.7-10 163.8 2.9 215.3l56 224c12.9 51.4 65 82.7 116.4 69.8c10.5-2.6 20.1-6.9 28.7-12.4c5.7 3.6 11.8 6.7 18.3 9.2c10.6 4 22 6.1 33.7 6.1h0l0-24 0 24h0c11.7 0 23.1-2.1 33.7-6.1c6.5-2.4 12.6-5.5 18.3-9.2c8.6 5.5 18.3 9.8 28.7 12.4c51.4 12.9 103.6-18.4 116.4-69.8l56-224c12.9-51.4-18.4-103.6-69.9-116.4c-26.8-6.7-53.8-1.4-75.3 12.4c-8.6-5.6-18.3-9.8-28.7-12.4c-19-4.8-38.1-3.5-55.3 2.6V90.6c0-21.7-5.9-43.1-17.1-61.7L252.6 11.7zM84.4 145.4c10.5-2.6 21.1-1.6 30.4 2.4c-10.4 20-13.8 43.8-7.9 67.5l33.6 134.4c3.2 12.9 16.2 20.7 29.1 17.5s20.7-16.2 17.5-29.1L153.4 203.6c-6.2-25 8.3-50.3 32.7-57.6c.7-.2 1.5-.4 2.2-.6c18.7-4.7 37.6 2.3 49 16.4c4.6 5.6 11.4 8.9 18.7 8.9s14.1-3.3 18.7-8.9c11.4-14.1 30.3-21.1 49-16.4c9.2 2.3 17 7 23 13.3c4.5 4.7 10.8 7.4 17.3 7.4s12.8-2.7 17.3-7.4c11.6-12.1 29-17.7 46.3-13.4c25.7 6.4 41.4 32.5 34.9 58.2l-56 224c-6.4 25.7-32.5 41.4-58.2 34.9c-9.2-2.3-17-7-23-13.3c-4.5-4.7-10.8-7.4-17.3-7.4s-12.8 2.7-17.3 7.4c-.2 .2-.5 .5-.7 .7l0 0c-4.7 4.7-10.5 8.5-17.1 11l0 0c-5.3 2-11 3.1-16.8 3.1h0c-5.8 0-11.5-1.1-16.8-3.1l0 0c-6.6-2.5-12.3-6.2-17-10.9l0 0c-.2-.2-.5-.5-.7-.8c-4.5-4.7-10.8-7.4-17.3-7.4s-12.8 2.7-17.3 7.4c-6 6.3-13.9 11-23 13.3c-25.7 6.4-51.8-9.2-58.2-34.9l-56-224c-6.4-25.7 9.2-51.8 34.9-58.2z\"]\n};\nvar faPiano = {\n prefix: 'far',\n iconName: 'piano',\n icon: [512, 512, [], \"f8d4\", \"M432 384v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V384H368v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V384H240v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V384H176v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V384H112v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V384H48v64c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V384H432zM48 336H464v-8.4c0-6.1-3.4-11.6-8.8-14.3L396.8 284c-37.2-18.6-60.8-56.7-60.8-98.3C336 109.7 274.3 48 198.3 48H192C112.5 48 48 112.5 48 192V336zm464-8.4V336v24 24 64c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V384 360 336 192C0 86 86 0 192 0h6.3C300.8 0 384 83.2 384 185.7c0 23.5 13.2 44.9 34.2 55.4l58.4 29.2c21.7 10.8 35.4 33 35.4 57.2z\"]\n};\nvar faGunSquirt = {\n prefix: 'far',\n iconName: 'gun-squirt',\n icon: [576, 512, [], \"e19d\", \"M104 32c13.3 0 24 10.7 24 24v8H448c41.8 0 77.4 26.7 90.5 64H552c13.3 0 24 10.7 24 24v16c0 13.3-10.7 24-24 24H538.5c-13.2 37.3-48.7 64-90.5 64H249l-18 72h41V312c0-13.3 10.7-24 24-24s24 10.7 24 24v40 40c0 13.3-10.7 24-24 24s-24-10.7-24-24V376H219L199 455.8C195.5 470 182.7 480 168 480H64c-9.9 0-19.2-4.5-25.2-12.3s-8.2-17.9-5.8-27.5L79.4 254.6C34.3 246.7 0 207.3 0 160c0-47.6 34.6-87.1 80-94.7V56c0-13.3 10.7-24 24-24zm24.5 224l-44 176h71l44-176h-71zM448 208c26.5 0 48-21.5 48-48s-21.5-48-48-48H104 96c-26.5 0-48 21.5-48 48s21.5 48 48 48H211.5 261 448zM96 144H448c8.8 0 16 7.2 16 16s-7.2 16-16 16H96c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faWheatAwnCircleExclamation = {\n prefix: 'far',\n iconName: 'wheat-awn-circle-exclamation',\n icon: [640, 512, [], \"e598\", \"M504.7 7.2c9.4 9.4 9.4 24.6 0 33.9L366.1 179.7c7.9 .9 15.8 2.5 23.4 4.8L471 103c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-63.7 63.7c-21.6 7.1-41.4 18.2-58.4 32.5c-24.3-10.1-52.5-7.8-75 7l10.1 10.1c9.4 9.4 21 15.3 33.1 17.6c-11.9 17.2-20.9 36.7-26.1 57.7c-27.3-23.7-66.9-25.8-96.4-6.2l10.1 10.1c23 23 59.1 24.8 84.2 5.5c-2 10.7-3.1 21.7-3.1 32.9c0 7.4 .5 14.8 1.4 21.9c-5.8 2-11.8 3.6-17.8 4.7c6.9 9.4 6.1 22.6-2.4 31.1l-16.9 16.9c-43.7 43.7-114.6 43.7-158.4 0l-11.3-11.3 0 0L41 504.9c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l73.5-73.5 0 0L69.3 386.1c-43.7-43.7-43.7-114.7 0-158.4l16.9-16.9c8.5-8.5 21.7-9.3 31.1-2.4c3.8-21.9 14.2-42.9 31.1-59.8l16.9-16.9c8.5-8.5 21.7-9.3 31.1-2.4c3.8-21.9 14.2-42.9 31.1-59.8l16.9-16.9c9.4-9.4 24.6-9.4 33.9 0l16.9 16.9c2.9 2.9 5.7 5.9 8.2 9L375 7c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-81.6 81.6c2.3 7.6 3.9 15.4 4.8 23.2L470.7 7.2c9.4-9.4 24.6-9.4 33.9 0zM261.5 103.3c-25 25-25 65.5 0 90.5L271.7 204c20.5-31 17.2-73.3-10.2-100.6zm-79.2 79.2c-25 25-25 65.5 0 90.5l10.1 10.1c20.5-31 17.2-73.3-10.2-100.6zM159.7 408.7c25 25 65.5 25 90.5 0c-27.4-27.3-69.6-30.7-100.6-10.2l10.1 10.1zm-56.5-56.5l10.1 10.1c20.5-31 17.2-73.3-10.2-100.6c-25 25-25 65.5 0 90.5zM496 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm0 240a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-192c-8.8 0-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16V288c0-8.8-7.2-16-16-16z\"]\n};\nvar faSnowman = {\n prefix: 'far',\n iconName: 'snowman',\n icon: [512, 512, [9731, 9924], \"f7d0\", \"M256 0C189.7 0 136 53.7 136 120c0 19 4.4 37 12.3 53c-7.2 9.3-13.2 19.6-17.8 30.6L104 192.2V152c0-13.3-10.7-24-24-24s-24 10.7-24 24v19.6l-22.5-9.7c-12.2-5.2-26.3 .4-31.5 12.6s.4 26.3 12.6 31.5l56 24 49.5 21.2c-.1 1.6-.1 3.1-.1 4.7c0 12.5 1.7 24.7 4.9 36.3C106.7 318.2 96 349.9 96 384c0 39.2 14.1 75.1 37.5 102.9c15.6 18.6 38.4 25.1 58.3 25.1H320.3c19.8 0 42.6-6.5 58.3-25.1C401.9 459.1 416 423.2 416 384c0-34.1-10.7-65.8-28.9-91.7c3.2-11.6 4.9-23.7 4.9-36.3c0-1.6 0-3.1-.1-4.7l49.5-21.2 56-24c12.2-5.2 17.8-19.3 12.6-31.5s-19.3-17.8-31.5-12.6L456 171.6V152c0-13.3-10.7-24-24-24s-24 10.7-24 24v40.2l-26.5 11.4c-4.6-11-10.6-21.3-17.8-30.6c7.9-16 12.3-34 12.3-53C376 53.7 322.3 0 256 0zM184 120c0-39.8 32.2-72 72-72s72 32.2 72 72c0 15.6-5 30-13.4 41.8c-6.9 9.6-5.7 22.9 2.8 31.1c16.4 16 26.6 38.3 26.6 63c0 11.3-2.1 22.1-6 32c-3.2 8.2-1.7 17.4 3.9 24.1C358.2 331.6 368 356.6 368 384c0 27.5-9.8 52.5-26.2 72c-3.8 4.6-11.1 8-21.5 8H191.7c-10.4 0-17.7-3.4-21.5-8c-16.4-19.5-26.2-44.6-26.2-72c0-27.4 9.8-52.4 26.1-71.8c5.6-6.7 7.1-16 3.9-24.1c-3.9-9.9-6-20.7-6-32c0-24.7 10.2-47 26.6-63c8.5-8.3 9.7-21.5 2.8-31.1C189 150 184 135.6 184 120zm56-16a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm48 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm-48 24v3.2c0 3.2 .8 6.3 2.3 9l9 16.9c.9 1.7 2.7 2.8 4.7 2.8s3.8-1.1 4.7-2.8l9-16.9c1.5-2.8 2.3-5.9 2.3-9V144c0-8.8-7.2-16-16-16s-16 7.2-16 16zm16 112a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm16 48a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-16 80a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faUserAlien = {\n prefix: 'far',\n iconName: 'user-alien',\n icon: [448, 512, [], \"e04a\", \"M112 167c0-67.7 52.1-119 112-119s112 51.3 112 119c0 33.9-18.3 69.4-46.1 102.4c-23.3 27.7-49.6 49.4-65.9 61.6c-16.3-12.2-42.6-34-65.9-61.6C130.3 236.4 112 201 112 167zM224 0C135.6 0 64 74.8 64 167c0 101 106.6 185 139.2 208.3c6.1 4.3 13.4 6.5 20.8 6.5s14.7-2.1 20.8-6.5C277.4 352 384 268.1 384 167C384 74.8 312.4 0 224 0zM0 486.4C0 500.5 11.5 512 25.6 512H422.4c14.1 0 25.6-11.5 25.6-25.6c0-71.4-55.7-129.8-126.1-134.1c-22.6 22.1-44 38.6-56.7 47.7h48.3c40 0 73.6 27.1 83.5 64H50.9c9.9-36.9 43.5-64 83.5-64h48.3c-12.7-9.2-34-25.6-56.7-47.7C55.7 356.6 0 415 0 486.4zM208 222.9c0-30.3-24.6-54.9-54.9-54.9h-16c-5 0-9.1 4.1-9.1 9.1c0 30.3 24.6 54.9 54.9 54.9h16c5 0 9.1-4.1 9.1-9.1zM294.9 168c-30.3 0-54.9 24.6-54.9 54.9c0 5 4.1 9.1 9.1 9.1h16c30.3 0 54.9-24.6 54.9-54.9c0-5-4.1-9.1-9.1-9.1h-16z\"]\n};\nvar faShieldCheck = {\n prefix: 'far',\n iconName: 'shield-check',\n icon: [512, 512, [], \"f2f7\", \"M73 127L256 49.4 439 127c5.9 2.5 9.1 7.8 9 12.8c-.4 91.4-38.4 249.3-186.3 320.1c-3.6 1.7-7.8 1.7-11.3 0C102.4 389 64.5 231.2 64 139.7c0-5 3.1-10.2 9-12.8zM457.7 82.8L269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.8 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2zM369 209c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-111 111-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L369 209z\"]\n};\nvar faMortarPestle = {\n prefix: 'far',\n iconName: 'mortar-pestle',\n icon: [512, 512, [], \"f5a7\", \"M504.3 11.1c10.9 12.7 10.2 31.7-1.6 43.5L397.3 160H252.3L461 6.2c13.5-9.9 32.3-7.8 43.2 4.9zM80 240v16c0 62.9 31.3 109.5 91.9 131c14.6 5.2 25.8 17.1 30.1 32.1s1 31-8.6 43.1c-.5 .6-1 1.2-1.4 1.8H320c-.5-.6-.9-1.2-1.4-1.8c-9.7-12.1-12.9-28.2-8.6-43.1s15.5-26.9 30.1-32.1c60.7-21.6 91.9-68.1 91.9-131V240H80zm432-24c0 13.3-10.7 24-24 24h-8v16c0 66-27.8 120.8-80 154.8c-13.1 8.5-27.7 15.7-43.9 21.5c10 12.6 17.7 27.1 22.5 42.9c.5 1.7 1 3.5 1.4 5.2c4.4 17.1-10.4 31.7-28.1 31.7H160c-17.7 0-32.4-14.6-28.1-31.7c.4-1.8 .9-3.5 1.4-5.2c4.7-15.8 12.5-30.3 22.5-42.9c-16.1-5.7-30.8-12.9-43.9-21.5C59.8 376.8 32 322 32 256V240H24c-13.3 0-24-10.7-24-24s10.7-24 24-24h8H480h8c13.3 0 24 10.7 24 24z\"]\n};\nvar faRoadBarrier = {\n prefix: 'far',\n iconName: 'road-barrier',\n icon: [640, 512, [], \"e562\", \"M24 32c13.3 0 24 10.7 24 24V80H592V56c0-13.3 10.7-24 24-24s24 10.7 24 24V80v48V256v48V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V304H48V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V56C0 42.7 10.7 32 24 32zM592 256V128H570.8l-64 128H592zM48 256H69.2l64-128H48V256zM389.2 128H314.8l-64 128h74.3l64-128zM378.8 256h74.3l64-128H442.8l-64 128zm-192-128l-64 128h74.3l64-128H186.8z\"]\n};\nvar faChartCandlestick = {\n prefix: 'far',\n iconName: 'chart-candlestick',\n icon: [512, 512, [], \"e0e2\", \"M48 56c0-13.3-10.7-24-24-24S0 42.7 0 56V408c0 39.8 32.2 72 72 72H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H72c-13.3 0-24-10.7-24-24V56zm272-8c0-8.8-7.2-16-16-16s-16 7.2-16 16V96c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32v48c0 8.8 7.2 16 16 16s16-7.2 16-16V256c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32V48zm64 176v64c0 17.7 14.3 32 32 32v48c0 8.8 7.2 16 16 16s16-7.2 16-16V320c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32V144c0-8.8-7.2-16-16-16s-16 7.2-16 16v48c-17.7 0-32 14.3-32 32zM160 128c-17.7 0-32 14.3-32 32V288c0 17.7 14.3 32 32 32v48c0 8.8 7.2 16 16 16s16-7.2 16-16V320c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32V80c0-8.8-7.2-16-16-16s-16 7.2-16 16v48z\"]\n};\nvar faBriefcaseBlank = {\n prefix: 'far',\n iconName: 'briefcase-blank',\n icon: [512, 512, [], \"e0c8\", \"M176 56V96H336V56c0-4.4-3.6-8-8-8H184c-4.4 0-8 3.6-8 8zM128 96V56c0-30.9 25.1-56 56-56H328c30.9 0 56 25.1 56 56V96h64c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V160c0-35.3 28.7-64 64-64h64zm232 48H152 64c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16H360z\"]\n};\nvar faSchool = {\n prefix: 'far',\n iconName: 'school',\n icon: [640, 512, [127979], \"f549\", \"M306.7 4c8.1-5.4 18.6-5.4 26.6 0l138 92H568c39.8 0 72 32.2 72 72V440c0 39.8-32.2 72-72 72H384 256 72c-39.8 0-72-32.2-72-72V168c0-39.8 32.2-72 72-72h96.7l138-92zM568 464c13.3 0 24-10.7 24-24V168c0-13.3-10.7-24-24-24H464c-4.7 0-9.4-1.4-13.3-4L320 52.8 189.3 140c-3.9 2.6-8.6 4-13.3 4H72c-13.3 0-24 10.7-24 24V440c0 13.3 10.7 24 24 24H256V384c0-35.3 28.7-64 64-64s64 28.7 64 64v80H568zM112 192h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V208c0-8.8 7.2-16 16-16zm368 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H496c-8.8 0-16-7.2-16-16V208zM112 320h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16zm368 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H496c-8.8 0-16-7.2-16-16V336zM240 192a80 80 0 1 1 160 0 80 80 0 1 1 -160 0zm80-48c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h24c8.8 0 16-7.2 16-16s-7.2-16-16-16h-8V160c0-8.8-7.2-16-16-16z\"]\n};\nvar faIgloo = {\n prefix: 'far',\n iconName: 'igloo',\n icon: [576, 512, [], \"f7ae\", \"M512 432H400V368H528v48c0 8.8-7.2 16-16 16zM395.4 320c-13.8-46.3-56.6-80-107.4-80s-93.6 33.7-107.4 80H144V192H432V320H395.4zm95.7-128c23.4 37 36.9 80.9 36.9 128H480V192h11.1zM96 192V320H48c0-47.1 13.5-91 36.9-128H96zM288 80c5.4 0 10.7 .2 16 .5V144H124.8C167.7 104.3 225 80 288 80zm64 64V88.6c37.6 10.4 71.4 29.6 99.2 55.4H352zM176 368v64H64c-8.8 0-16-7.2-16-16V368H176zM64 480H176 400 512c35.3 0 64-28.7 64-64V320C576 160.9 447.1 32 288 32S0 160.9 0 320v96c0 35.3 28.7 64 64 64zM288 288c35.3 0 64 28.7 64 64v80H224V352c0-35.3 28.7-64 64-64z\"]\n};\nvar faBracketRound = {\n prefix: 'far',\n iconName: 'bracket-round',\n icon: [192, 512, [\"parenthesis\"], \"28\", \"M156.6 43.7c6.8 11.4 3 26.1-8.3 32.9C115.3 96.3 48 160.7 48 256s67.3 159.7 100.3 179.4c11.4 6.8 15.1 21.5 8.3 32.9s-21.5 15.1-32.9 8.3C82 451.8 0 374.1 0 256S82 60.2 123.7 35.4c11.4-6.8 26.1-3 32.9 8.3z\"]\n};\nvar faParenthesis = faBracketRound;\nvar faJoint = {\n prefix: 'far',\n iconName: 'joint',\n icon: [640, 512, [], \"f595\", \"M464 24V43c0 38.2 15.2 74.8 42.2 101.8l21 21c21 21 32.8 49.5 32.8 79.2v19c0 13.3-10.7 24-24 24s-24-10.7-24-24V245c0-17-6.7-33.3-18.7-45.3l-21-21C436.2 142.7 416 93.9 416 43V24c0-13.3 10.7-24 24-24s24 10.7 24 24zM592 264V245c0-38.2-15.2-74.8-42.2-101.8l-21-21c-21-21-32.8-49.5-32.8-79.2V24c0-13.3 10.7-24 24-24s24 10.7 24 24V43c0 17 6.7 33.3 18.7 45.3l21 21c36 36 56.2 84.8 56.2 135.8v19c0 13.3-10.7 24-24 24s-24-10.7-24-24zM120.2 436.8C171.7 450.7 235.2 464 288 464h27.4l-52.6-63.1c-47 3.2-99.1 14.6-142.6 26.3c-5.8 1.6-11.7 3.2-17.5 4.8c5.8 1.7 11.6 3.3 17.5 4.8zM324.6 400l53.3 64h97.5l-53.3-64H324.6zm160 0l53.3 64H592V400H484.6zM15.8 409.5c30.1-11 61.1-20.3 92-28.6C160.3 366.7 228.8 352 288 352H600c22.1 0 40 17.9 40 40v80c0 22.1-17.9 40-40 40H288c-59.2 0-127.7-14.7-180.2-28.8c-30.8-8.3-62-17.8-92-28.6C6.3 451.1 0 442.1 0 432s6.3-19.1 15.8-22.5z\"]\n};\nvar faHorseSaddle = {\n prefix: 'far',\n iconName: 'horse-saddle',\n icon: [576, 512, [], \"f8c3\", \"M426.8 .6c1.7-.4 3.4-.6 5.2-.6h8 32 .5c2.5 0 5 .1 7.5 .3V0h56c13.3 0 24 10.7 24 24c0 8.5-4.4 16-11.1 20.3c5.4 9.4 9.1 20 10.7 31.3l9.9 69.2c5.2 36.7-15.3 72.2-49.7 86c-18.3 7.3-38 7.5-55.8 1.5V240l0 .7 0 1.6c0 33.2-12.2 62.9-32 85.5V464c0 26.5-21.5 48-48 48H336c-26.5 0-48-21.5-48-48V364.5l-51.8-15.1c-1 3.8-2.2 7.5-3.6 11.2l-12.1 32.3c-.6 1.6-.7 3.3-.2 5l14.8 53.3c8.5 30.6-14.5 60.8-46.2 60.8H139.1c-21.6 0-40.5-14.4-46.2-35.2L81.6 436.4c-8.6-31-7.2-63.9 4.1-94.1l8.2-21.7L72 265.9c-5.3-13.3-8-27.4-8-41.7c0-2.9 .1-5.7 .3-8.5C54.4 223 48 234.8 48 248v64c0 13.3-10.7 24-24 24s-24-10.7-24-24V248c0-47.3 37.3-85.9 84.1-87.9c20.3-29.1 54-48.1 92.1-48.1h22.6H232h61.3C309.8 51.5 362.6 6.1 426.8 .6zM416 239V184c0-10.2 6.4-19.3 16.1-22.6s20.3-.3 26.7 7.7l5.9 7.3c8.9 11.1 24.1 15.1 37.3 9.8c13.9-5.5 22.2-19.9 20-34.7l-9.9-69.2C509.3 62.6 492.4 48 472.5 48H472 440h-4.6c-.6 .1-1.3 .2-2 .2c-50 3.1-90.5 41.6-96.6 90.8c-.2 1.4-.4 2.7-.8 3.9c0 .4 0 .7 0 1.1v32c0 40.3-27.1 74.2-64 84.7v49.1l38.7 11.3c2.1 .6 4.2 1.1 6.3 1.6c11.1 2.3 19 12.1 19 23.5V464h48V318.2c0-6.5 2.6-12.7 7.3-17.2c15.1-14.8 24.7-35.3 24.7-58.8c0-.6 0-1.2 0-1.7c0-.5 0-1 0-1.5zM288 160H232 208v16c0 22.1 17.9 40 40 40s40-17.9 40-40V160zm-128 2.1c-27.6 7.2-48 32.3-48 62.2c0 8.2 1.6 16.3 4.6 23.9l21.9 54.6c4.4 11.1 4.6 23.5 .4 34.7l-8.2 21.7c-7.7 20.6-8.7 43.1-2.8 64.4L139.1 464h49.8l-14.8-53.3c-3.2-11.4-2.6-23.6 1.5-34.6l12.1-32.3c2.8-7.5 4.3-15.4 4.3-23.5c0-.4 0-.9 0-1.3c-.2-7.6 3.3-14.9 9.4-19.5s14-6.1 21.3-4l1.3 .4V260.7c-36.9-10.4-64-44.4-64-84.7V162.1zM464 80a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faMugMarshmallows = {\n prefix: 'far',\n iconName: 'mug-marshmallows',\n icon: [512, 512, [], \"f7b7\", \"M197.7 125.7C194 122 192 117.1 192 112s2-10 5.7-13.7l60.7-60.7C262 34 266.9 32 272 32s10 2 13.7 5.7l60.7 60.7c3.6 3.6 5.7 8.5 5.7 13.7s-2 10-5.7 13.7L344 128H200l-2.3-2.3zM32 64c0-17.7 14.3-32 32-32H192c7.5 0 14.4 2.6 19.8 6.9L175 75.7c-9.6 9.6-15 22.7-15 36.3c0 5.5 .9 10.9 2.6 16H32V64zM48 384c0 26.5 21.5 48 48 48H288c26.5 0 48-21.5 48-48V208H152v56c0 13.3-10.7 24-24 24s-24-10.7-24-24V208H48V384zM0 192c0-17.7 14.3-32 32-32H352h48c61.9 0 112 50.1 112 112s-50.1 112-112 112H384c0 53-43 96-96 96H96c-53 0-96-43-96-96V192zM384 336h16c35.3 0 64-28.7 64-64s-28.7-64-64-64H384V336z\"]\n};\nvar faFilters = {\n prefix: 'far',\n iconName: 'filters',\n icon: [640, 512, [], \"e17e\", \"M233.8 32C210.7 32 192 50.7 192 73.8c0 9.3 3.1 18.4 8.9 25.8L336 272.3v63.9c0 12.3 5.6 23.9 15.3 31.5l92.9 73c21 16.5 51.8 1.5 51.8-25.2V272.3L631.1 99.6c5.8-7.4 8.9-16.4 8.9-25.8C640 50.7 621.3 32 598.2 32H233.8zM378.9 249.2L246.5 80h339L453.1 249.2c-3.3 4.2-5.1 9.4-5.1 14.8V382.6l-64-50.3V264c0-5.4-1.8-10.6-5.1-14.8zM163.4 96H41.8C18.7 96 0 114.7 0 137.8c0 9.3 3.1 18.4 8.9 25.8L144 336.3v31.9c0 12.3 5.6 23.9 15.3 31.5l92.9 73c21 16.5 51.8 1.5 51.8-25.2V336.3v-.1V283.3l-9.7-12.5-33.2 42.4c-3.3 4.2-5.1 9.4-5.1 14.8v86.6l-64-50.3V328c0-5.4-1.8-10.6-5.1-14.8L54.5 144H195l-19.3-24.6c-5.5-7-9.6-15-12.3-23.4z\"]\n};\nvar faBellOn = {\n prefix: 'far',\n iconName: 'bell-on',\n icon: [640, 512, [128365], \"f8fa\", \"M320 0c-17.7 0-32 14.3-32 32V51.2C215 66 160 130.6 160 208v25.4c0 45.4-15.5 89.5-43.8 124.9L101.3 377c-5.8 7.2-6.9 17.1-2.9 25.4s12.4 13.6 21.6 13.6H520c9.2 0 17.6-5.3 21.6-13.6s2.9-18.2-2.9-25.4l-14.9-18.6C495.5 322.9 480 278.8 480 233.4V208c0-77.4-55-142-128-156.8V32c0-17.7-14.3-32-32-32zm0 96c61.9 0 112 50.1 112 112v25.4c0 47.9 13.9 94.6 39.7 134.6H168.3c25.8-40 39.7-86.7 39.7-134.6V208c0-61.9 50.1-112 112-112zm64 352H320 256c0 17 6.7 33.3 18.7 45.3s28.3 18.7 45.3 18.7s33.3-6.7 45.3-18.7s18.7-28.3 18.7-45.3zM0 200c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H24c-13.3 0-24 10.7-24 24zm536-24c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H536zM597.5 21.3c-5.9-11.9-20.3-16.7-32.2-10.7l-64 32c-11.9 5.9-16.7 20.3-10.7 32.2s20.3 16.7 32.2 10.7l64-32c11.9-5.9 16.7-20.3 10.7-32.2zM53.3 53.5l64 32c11.9 5.9 26.3 1.1 32.2-10.7s1.1-26.3-10.7-32.2l-64-32C62.9 4.6 48.5 9.4 42.5 21.3s-1.1 26.3 10.7 32.2z\"]\n};\nvar faAngleRight = {\n prefix: 'far',\n iconName: 'angle-right',\n icon: [320, 512, [8250], \"f105\", \"M273 239c9.4 9.4 9.4 24.6 0 33.9L113 433c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l143-143L79 113c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L273 239z\"]\n};\nvar faDialMed = {\n prefix: 'far',\n iconName: 'dial-med',\n icon: [576, 512, [], \"e15f\", \"M288 64a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM176 288c0-53.6 37.7-98.4 88-109.4V288c0 13.3 10.7 24 24 24s24-10.7 24-24V178.6c50.3 11 88 55.8 88 109.4c0 61.9-50.1 112-112 112s-112-50.1-112-112zM288 128a160 160 0 1 0 0 320 160 160 0 1 0 0-320zM576 288a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM32 320a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM128 96A32 32 0 1 0 64 96a32 32 0 1 0 64 0zm352 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM128 480a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm352 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faHorse = {\n prefix: 'far',\n iconName: 'horse',\n icon: [576, 512, [128014], \"f6f0\", \"M432 0c-1.8 0-3.5 .2-5.2 .6c-64.2 5.5-117 51-133.5 111.4H232 198.9 176.2c-38.1 0-71.8 19-92.1 48.1C37.3 162.1 0 200.7 0 248v64c0 13.3 10.7 24 24 24s24-10.7 24-24V248c0-13.2 6.4-25 16.3-32.2c-.2 2.8-.3 5.6-.3 8.5c0 14.3 2.7 28.4 8 41.7l21.9 54.6-8.2 21.7c-11.3 30.1-12.7 63.1-4.1 94.1l11.2 40.5c5.8 20.8 24.7 35.2 46.2 35.2h49.8c31.7 0 54.7-30.3 46.2-60.8l-14.8-53.3c-.5-1.6-.4-3.4 .2-5l12.1-32.3c1.4-3.7 2.6-7.4 3.6-11.2L288 364.5V464c0 26.5 21.5 48 48 48h48c26.5 0 48-21.5 48-48V327.8c19.8-22.6 32-52.3 32-85.5l0-1.6 0-.7v-7.8c17.7 6 37.5 5.8 55.8-1.5c34.4-13.8 55-49.3 49.7-86l-9.9-69.2c-1.6-11.3-5.3-21.9-10.7-31.3C555.6 40 560 32.5 560 24c0-13.3-10.7-24-24-24H480V.3c-2.5-.2-5-.3-7.5-.3H472 440h-8zM416 240.5c0 .6 0 1.2 0 1.7c0 23.5-9.6 44.1-24.7 58.8c-4.6 4.5-7.3 10.7-7.3 17.2V464H336V346.2c0-11.3-7.9-21.1-19-23.5c-2.1-.4-4.2-1-6.3-1.6l-88-25.7c-7.3-2.1-15.3-.7-21.3 4s-9.6 11.9-9.4 19.5c0 .4 0 .9 0 1.3c0 8-1.4 16-4.3 23.5L175.6 376c-4.2 11.1-4.7 23.2-1.5 34.6L188.9 464H139.1l-11.2-40.5c-5.9-21.2-4.9-43.7 2.8-64.4l8.2-21.7c4.2-11.2 4.1-23.6-.4-34.7l-21.9-54.6c-3-7.6-4.6-15.7-4.6-23.9c0-35.5 28.8-64.2 64.2-64.2h22.6H232h81c12.1 0 22.3-9 23.8-21c6.1-49.1 46.6-87.7 96.6-90.8c.7 0 1.3-.1 2-.2H440h32 .5c19.9 0 36.8 14.6 39.6 34.3l9.9 69.2c2.1 14.8-6.2 29.1-20 34.7c-13.3 5.3-28.4 1.3-37.3-9.8l-5.9-7.3c-6.4-8-17.1-11-26.7-7.7s-16.1 12.5-16.1 22.6v55c0 .5 0 1 0 1.5zM480 96a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faQ = {\n prefix: 'far',\n iconName: 'q',\n icon: [448, 512, [113], \"51\", \"M48 256c0 97.2 78.8 176 176 176c35.7 0 69-10.6 96.7-28.9l-91-107.6c-8.6-10.1-7.3-25.3 2.8-33.8s25.3-7.3 33.8 2.8l90.5 107C383.7 340.6 400 300.2 400 256c0-97.2-78.8-176-176-176S48 158.8 48 256zM351.9 439.9C315.6 465.2 271.5 480 224 480C100.3 480 0 379.7 0 256S100.3 32 224 32s224 100.3 224 224c0 58.9-22.7 112.5-59.9 152.4l54.2 64.1c8.6 10.1 7.3 25.3-2.8 33.8s-25.3 7.3-33.8-2.8l-53.8-63.6z\"]\n};\nvar faMonitorWaveform = {\n prefix: 'far',\n iconName: 'monitor-waveform',\n icon: [576, 512, [\"monitor-heart-rate\"], \"f611\", \"M64 80c-8.8 0-16 7.2-16 16V240H176c8.4 0 16.2 4.4 20.6 11.7l25.5 42.5 60.4-120.9c3.9-7.8 11.8-12.9 20.5-13.2s17 4.1 21.5 11.6l41 68.3H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H352c-8.4 0-16.2-4.4-20.6-11.7l-25.5-42.5L245.5 354.7c-3.9 7.8-11.8 12.9-20.5 13.2s-17-4.1-21.5-11.6l-41-68.3H48V416c0 8.8 7.2 16 16 16H512c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96z\"]\n};\nvar faMonitorHeartRate = faMonitorWaveform;\nvar faLinkSimple = {\n prefix: 'far',\n iconName: 'link-simple',\n icon: [576, 512, [], \"e1cd\", \"M0 256C0 167.6 71.6 96 160 96h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C98.1 144 48 194.1 48 256s50.1 112 112 112h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H160C71.6 416 0 344.4 0 256zm576 0c0 88.4-71.6 160-160 160H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c61.9 0 112-50.1 112-112s-50.1-112-112-112H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c88.4 0 160 71.6 160 160zM184 232H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faWhistle = {\n prefix: 'far',\n iconName: 'whistle',\n icon: [640, 512, [], \"f460\", \"M119 95.2C107.8 76.5 87.4 64 64 64C28.7 64 0 92.7 0 128c0 28.4 18.5 52.5 44.1 60.8C36.3 209.7 32 232.4 32 256c0 106 86 192 192 192c64.7 0 121.9-32 156.7-81L529 444.4c4.6 2.4 9.6 3.6 14.8 3.6h2c9 0 17.6-3.8 23.7-10.5l63.3-69.6c4.6-5.1 7.2-11.7 7.2-18.5c0-8.4-3.9-16.4-10.5-21.6L352.5 108.7C315.9 79.7 270.6 64 224 64c-38.8 0-74.8 11.5-105 31.2zM68.5 143.4c-1.4 .4-2.9 .6-4.5 .6c-8.8 0-16-7.2-16-16s7.2-16 16-16s16 7.2 16 16c0 .3 0 .7 0 1c-4 4.6-7.9 9.4-11.5 14.3zM402.9 324.4c-21.3-11.1-47.5-4.8-61.4 14.8C315.4 376.1 272.5 400 224 400c-79.5 0-144-64.5-144-144s64.5-144 144-144c35.8 0 70.6 12.1 98.7 34.3l70 55.4-11.9 15.9c-8 10.6-5.8 25.6 4.8 33.6s25.6 5.8 33.6-4.8l11.2-14.9L582.6 351.8l-40.9 45L402.9 324.4zM224 304a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faG = {\n prefix: 'far',\n iconName: 'g',\n icon: [448, 512, [103], \"47\", \"M224 80C126.8 80 48 158.8 48 256s78.8 176 176 176c89.1 0 162.7-66.2 174.4-152h-149c-13.3 0-24-10.7-24-24s10.7-24 24-24H408c21.6 0 41.2 17.9 39.3 41.9C438.2 389.3 341.7 480 224 480C100.3 480 0 379.7 0 256S100.3 32 224 32c57.4 0 109.7 21.6 149.3 57c9.9 8.8 10.7 24 1.9 33.9s-24 10.7-33.9 1.9C310.2 96.9 269.1 80 224 80z\"]\n};\nvar faWineGlassCrack = {\n prefix: 'far',\n iconName: 'wine-glass-crack',\n icon: [320, 512, [\"fragile\"], \"f4bb\", \"M32.1 22.1C33.1 9.6 43.5 0 56 0H165.9h29H264c12.5 0 22.9 9.6 23.9 22.1l13.9 176.4C307.7 273.1 255.2 337.9 184 350V464h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H160 72c-13.3 0-24-10.7-24-24s10.7-24 24-24h64V350C64.8 337.9 12.3 273.1 18.1 198.5L32.1 22.1zM163.3 48H78.2L66 202.3C61.7 257.1 105 304 160 304s98.3-46.9 94-101.7L241.8 48H217.6l4.2 21.2c1.3 6.5-1.6 13.2-7.2 16.7L171.2 113c-6.5 4.1-9.2 12.2-6.5 19.3l30.9 80.4c2.1 5.5-1.9 11.3-7.8 11.3c-2.5 0-4.8-1.1-6.4-3l-76-89.8c-5.4-6.4-5-15.8 .9-21.6l52.3-52.3c2.6-2.6 4.1-5.9 4.6-9.3z\"]\n};\nvar faFragile = faWineGlassCrack;\nvar faSlotMachine = {\n prefix: 'far',\n iconName: 'slot-machine',\n icon: [640, 512, [], \"e3ce\", \"M400 416H112v32c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V416zm48 32c0 5.5-.7 10.9-2 16h82c22.1 0 40-17.9 40-40V217.6c-14.3-8.3-24-23.8-24-41.6c0-26.5 21.5-48 48-48s48 21.5 48 48c0 17.8-9.7 33.3-24 41.6V424c0 48.6-39.4 88-88 88H384 128c-35.3 0-64-28.7-64-64V416c-35.3 0-64-28.7-64-64V160c0-35.3 28.7-64 64-64V64C64 28.7 92.7 0 128 0H384c35.3 0 64 28.7 64 64V96c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64l0 32zM400 96V64c0-8.8-7.2-16-16-16L128 48c-8.8 0-16 7.2-16 16l0 32H400zm48 48H64c-8.8 0-16 7.2-16 16V352c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zM112 176h56c7.8 0 15.1 3.8 19.6 10.2s5.6 14.5 3 21.9l-40 112c-4.5 12.5-18.2 19-30.7 14.5s-19-18.2-14.5-30.7L133.9 224H112c-13.3 0-24-10.7-24-24s10.7-24 24-24zm96 24c0-13.3 10.7-24 24-24h56c7.8 0 15.1 3.8 19.6 10.2s5.6 14.5 3 21.9l-40 112c-4.5 12.5-18.2 19-30.7 14.5s-19-18.2-14.5-30.7L253.9 224H232c-13.3 0-24-10.7-24-24zm144-24h56c7.8 0 15.1 3.8 19.6 10.2s5.6 14.5 3 21.9l-40 112c-4.5 12.5-18.2 19-30.7 14.5s-19-18.2-14.5-30.7L373.9 224H352c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faNotesMedical = {\n prefix: 'far',\n iconName: 'notes-medical',\n icon: [512, 512, [], \"f481\", \"M144 96c0-8.8 7.2-16 16-16H416c8.8 0 16 7.2 16 16V293.5c0 4.2-1.7 8.3-4.7 11.3l-58.5 58.5c-3 3-7.1 4.7-11.3 4.7H160c-8.8 0-16-7.2-16-16V96zM96 96V352c0 35.3 28.7 64 64 64H357.5c17 0 33.3-6.7 45.3-18.7l58.5-58.5c12-12 18.7-28.3 18.7-45.3V96c0-35.3-28.7-64-64-64H160c-35.3 0-64 28.7-64 64zm176 32c-8.8 0-16 7.2-16 16v48H208c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V256h48c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H320V144c0-8.8-7.2-16-16-16H272zm24 336H136c-48.6 0-88-39.4-88-88l0-224c0-13.3-10.7-24-24-24s-24 10.7-24 24V376c0 75.1 60.9 136 136 136H296c13.3 0 24-10.7 24-24s-10.7-24-24-24z\"]\n};\nvar faCarWash = {\n prefix: 'far',\n iconName: 'car-wash',\n icon: [448, 512, [], \"f5e6\", \"M224 128c26.5 0 48-16 48-48c0-22.2-23-52-37.2-68.2c-5.8-6.7-15.9-6.7-21.7 0C199 28 176 57.8 176 80c0 26.5 21.5 48 48 48zm-70.2 80H294.2c10.1 0 19.2 6.4 22.6 15.9L333.9 272H114.1l17.2-48.1c3.4-9.6 12.5-15.9 22.6-15.9zM57.4 287.9c-.2 .5-.3 .9-.5 1.4C32.2 306.7 16 335.5 16 368v32 16 32 40c0 13.3 10.7 24 24 24s24-10.7 24-24V448H384v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448 416 400 368c0-32.5-16.2-61.3-40.9-78.6c-.1-.5-.3-.9-.5-1.4L362 207.8c-10.2-28.7-37.4-47.8-67.8-47.8H153.8c-30.4 0-57.6 19.1-67.8 47.8L57.4 287.9zM384 368v32H64V368c0-26.5 21.5-48 48-48H336c26.5 0 48 21.5 48 48zM128 384a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm216-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM112 80c0-22.2-23-52-37.2-68.2C69 5.1 59 5.1 53.2 11.8C39 28 16 57.8 16 80c0 26.5 21.5 48 48 48s48-16 48-48zm272 48c26.5 0 48-16 48-48c0-22.2-23-52-37.2-68.2c-5.8-6.7-15.9-6.7-21.7 0C359 28 336 57.8 336 80c0 26.5 21.5 48 48 48z\"]\n};\nvar faEscalator = {\n prefix: 'far',\n iconName: 'escalator',\n icon: [640, 512, [], \"e171\", \"M208 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm182.1 85.8c16-14 36.6-21.8 57.9-21.8H552c48.6 0 88 39.4 88 88s-39.4 88-88 88H481.1L249.9 490.2c-16 14-36.6 21.8-57.9 21.8H88c-48.6 0-88-39.4-88-88s39.4-88 88-88h70.9L390.1 133.8zM448 160c-9.7 0-19 3.5-26.3 9.9L183.8 378.1c-4.4 3.8-10 5.9-15.8 5.9H88c-22.1 0-40 17.9-40 40s17.9 40 40 40H192c9.7 0 19-3.5 26.3-9.9L456.2 245.9c4.4-3.8 10-5.9 15.8-5.9h80c22.1 0 40-17.9 40-40s-17.9-40-40-40H448zM256 128c23.7 0 44.4 12.9 55.5 32L192 264.5V192c0-35.3 28.7-64 64-64z\"]\n};\nvar faCommentImage = {\n prefix: 'far',\n iconName: 'comment-image',\n icon: [512, 512, [], \"e148\", \"M123.6 391.3c12.9-9.4 29.6-11.8 44.6-6.4c26.5 9.6 56.2 15.1 87.8 15.1c124.7 0 208-80.5 208-160s-83.3-160-208-160S48 160.5 48 240c0 32 12.4 62.8 35.7 89.2c8.6 9.7 12.8 22.5 11.8 35.5c-1.4 18.1-5.7 34.7-11.3 49.4c17-7.9 31.1-16.7 39.4-22.7zM21.2 431.9c1.8-2.7 3.5-5.4 5.1-8.1c10-16.6 19.5-38.4 21.4-62.9C17.7 326.8 0 285.1 0 240C0 125.1 114.6 32 256 32s256 93.1 256 208s-114.6 208-256 208c-37.1 0-72.3-6.4-104.1-17.9c-11.9 8.7-31.3 20.6-54.3 30.6c-15.1 6.6-32.3 12.6-50.1 16.1c-.8 .2-1.6 .3-2.4 .5c-4.4 .8-8.7 1.5-13.2 1.9l-.7 .1c-5.1 .5-10.2 .8-15.3 .8c-6.5 0-12.3-3.9-14.8-9.9c-2.5-6-1.1-12.8 3.4-17.4c4.1-4.2 7.8-8.7 11.3-13.5c1.7-2.3 3.3-4.6 4.8-6.9l.3-.5zM296 160c5.3 0 10.2 2.6 13.2 6.9l88 128c3.4 4.9 3.7 11.3 1 16.5s-8.2 8.6-14.2 8.6H256 208 160c-6.1 0-11.6-3.4-14.3-8.8s-2.1-11.9 1.5-16.8l48-64c3-4 7.8-6.4 12.8-6.4s9.8 2.4 12.8 6.4l9.6 12.8 52.4-76.3c3-4.3 7.9-6.9 13.2-6.9zM176 128a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faTemperatureHalf = {\n prefix: 'far',\n iconName: 'temperature-half',\n icon: [320, 512, [127777, \"temperature-2\", \"thermometer-2\", \"thermometer-half\"], \"f2c9\", \"M160 48c-35.3 0-64 28.7-64 64V273.9c0 14.5-5.7 27.1-12.8 36.6C71.1 326.5 64 346.4 64 368c0 53 43 96 96 96s96-43 96-96c0-21.6-7.1-41.5-19.2-57.5c-7.1-9.5-12.8-22.1-12.8-36.6V112c0-35.3-28.7-64-64-64zM48 112C48 50.2 98.1 0 160 0s112 50.1 112 112V273.9c0 1.7 .7 4.4 3.2 7.8c18.1 24.1 28.8 54 28.8 86.4c0 79.5-64.5 144-144 144S16 447.5 16 368c0-32.4 10.7-62.3 28.8-86.4c2.5-3.4 3.2-6.1 3.2-7.8V112zM208 368c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3V200c0-8.8 7.2-16 16-16s16 7.2 16 16V322.7c18.6 6.6 32 24.4 32 45.3z\"]\n};\nvar faTemperature2 = faTemperatureHalf;\nvar faThermometer2 = faTemperatureHalf;\nvar faThermometerHalf = faTemperatureHalf;\nvar faDongSign = {\n prefix: 'far',\n iconName: 'dong-sign',\n icon: [384, 512, [], \"e169\", \"M296 32c-13.3 0-24 10.7-24 24v8H216c-13.3 0-24 10.7-24 24s10.7 24 24 24h56v76.1c-21.9-17.6-49.7-28.1-80-28.1c-70.7 0-128 57.3-128 128s57.3 128 128 128c30.3 0 58.1-10.5 80-28.1V392c0 13.3 10.7 24 24 24s24-10.7 24-24V288 112h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V56c0-13.3-10.7-24-24-24zM112 288a80 80 0 1 1 160 0 80 80 0 1 1 -160 0zM24 448c-13.3 0-24 10.7-24 24s10.7 24 24 24H360c13.3 0 24-10.7 24-24s-10.7-24-24-24H24z\"]\n};\nvar faDonut = {\n prefix: 'far',\n iconName: 'donut',\n icon: [512, 512, [127849, \"doughnut\"], \"e406\", \"M48 289.9c7.7 5 14.4 11.5 19.5 19.2c9.4 13 22 23.4 36.5 30.2c14.7 6.8 30.8 9.7 46.9 8.4l.6 0 .6 0c17.7-.2 35.3 3.3 51.7 10.1l.1 0c16.4 7 34.1 10.5 51.9 10.3l.3 0 0 0c17.8 .2 35.5-3.3 51.9-10.3l.1 0 0 0c16.4-6.8 34-10.2 51.7-10.1l.6 0 .6 0c16.1 1.3 32.2-1.5 46.9-8.3c14.6-6.7 27.1-17.1 36.5-30.1c5.1-7.8 11.8-14.3 19.5-19.3v14c0 21.7-14.2 48.5-52.4 72.4C374 399.9 319.1 416 256 416s-118-16.1-155.6-39.6C62.2 352.5 48 325.7 48 304V289.9zM256 48C114.6 48 0 119.6 0 208v96c0 88.4 114.6 160 256 160s256-71.6 256-160V208c0-88.4-114.6-160-256-160zm64 144c0 17.7-28.7 32-64 32s-64-14.3-64-32s28.7-32 64-32s64 14.3 64 32zM283.3 84.7c6.2 6.2 6.2 16.4 0 22.6l-16 16c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l16-16c6.2-6.2 16.4-6.2 22.6 0zm-112 38.6l-32 32c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l32-32c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zm224 9.4l32 32c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-32-32c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0zM64 192H96c8.8 0 16 7.2 16 16s-7.2 16-16 16H64c-8.8 0-16-7.2-16-16s7.2-16 16-16zm331.3 36.7l32 32c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-32-32c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0zm-240 16l32 32c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-32-32c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0zm176 38.6l-32 32c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l32-32c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faDoughnut = faDonut;\nvar faCapsules = {\n prefix: 'far',\n iconName: 'capsules',\n icon: [576, 512, [], \"f46b\", \"M48 144c0-35.3 28.7-64 64-64s64 28.7 64 64V256H48V144zM0 144V368c0 61.9 50.1 112 112 112s112-50.1 112-112V189.6c1.8 19.1 8.2 38 19.8 54.8L372.3 431.7c35.5 51.7 105.3 64.3 156 28.1s63-107.5 27.5-159.2L427.3 113.3C391.8 61.5 321.9 49 271.3 85.2c-28 20-44.3 50.8-47.3 83V144c0-61.9-50.1-112-112-112S0 82.1 0 144zm283.4 73.3c-20.9-30.4-13.3-72.2 15.8-93c28.5-20.4 68-13.7 88.5 16.2l66.9 97.5L348.5 312.2l-65.1-94.9z\"]\n};\nvar faPooStorm = {\n prefix: 'far',\n iconName: 'poo-storm',\n icon: [448, 512, [\"poo-bolt\"], \"f75a\", \"M175.3 10.1C179.8 3.8 187 0 194.8 0c58.8 0 132.5 41.8 140.5 121.2C364.2 135.7 384 165.5 384 200c0 2.2-.1 4.4-.2 6.6C421.3 221 448 257.4 448 300c0 55.2-44.8 100-100 100h-8.2c11.5-12.9 15.4-31.2 9.5-47.9l0-.1c28.1-.7 50.7-23.7 50.7-52c0-27-20.7-49.3-47-51.8c-7.6-.7-14.4-5-18.3-11.5s-4.5-14.5-1.7-21.5c1.9-4.7 3-9.8 3-15.2c0-18.6-12.7-34.3-30-38.7c-10.9-2.8-18.4-12.8-18-24.1c0-.5 0-1 0-1.5c0-40.2-26.7-68.8-58.4-81c1.3 5.6 2.4 11.6 2.4 16.8c0 38-19.6 61-39 73.6c-9.3 6-18.5 9.6-25.2 11.7c-3.4 1.1-6.3 1.8-8.4 2.2l-.4 .1c-2.2 .7-4.5 1-6.9 1H152c-22.1 0-40 17.9-40 40c0 5.4 1.1 10.5 3 15.2c2.9 7 2.3 15-1.7 21.5s-10.7 10.8-18.3 11.5C68.7 250.7 48 273 48 300c0 18 9.1 33.8 22.9 43.1c-7.3 12-9.1 27-4.2 40.8c1.6 4.6 3.8 8.8 6.6 12.5C31 384.7 0 346 0 300c0-42.6 26.7-79 64.2-93.4c-.2-2.2-.2-4.4-.2-6.6c0-47.6 37.8-86.3 84.9-87.9l.5-.1c.9-.2 2.4-.6 4.3-1.1c3.8-1.2 8.6-3.1 13.3-6.1c8.6-5.5 17-14.7 17-33.3c0 0 0 0 0 0c0-.3-.2-1.5-.7-4c-.6-2.8-1.5-6.1-2.6-9.9c-2.2-7.5-5-15.3-7.1-21.3l0 0 0 0 0-.1c-.5-1.6-1.1-3.1-1.5-4.3c-2.5-7.3-1.3-15.4 3.2-21.7zM282.1 227.6c5.8 4.7 7.6 12.9 4.3 19.6L233.9 352H304c6.8 0 12.8 4.3 15.1 10.7s.2 13.5-5.1 17.8l-160 128c-5.9 4.7-14.2 4.7-20.1-.1s-7.6-12.9-4.3-19.6L182.1 384H112c-6.8 0-12.8-4.3-15.1-10.7s-.2-13.5 5.1-17.8l160-128c5.9-4.7 14.2-4.7 20.1 .1z\"]\n};\nvar faPooBolt = faPooStorm;\nvar faTally1 = {\n prefix: 'far',\n iconName: 'tally-1',\n icon: [640, 512, [], \"e294\", \"M128 40c13.3 0 24 10.7 24 24V448c0 13.3-10.7 24-24 24s-24-10.7-24-24V64c0-13.3 10.7-24 24-24z\"]\n};\nvar faFileVector = {\n prefix: 'far',\n iconName: 'file-vector',\n icon: [384, 512, [], \"e64c\", \"M64 464c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zM240 224H144c0-8.8-7.2-16-16-16H96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16v96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16h96c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V384c0-8.8-7.2-16-16-16V272c8.8 0 16-7.2 16-16V224c0-8.8-7.2-16-16-16H256c-8.8 0-16 7.2-16 16zM144 368V272h96v96H144z\"]\n};\nvar faFaceFrownOpen = {\n prefix: 'far',\n iconName: 'face-frown-open',\n icon: [512, 512, [128550, \"frown-open\"], \"f57a\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM182.4 382.5c-12.4 5.2-26.5-4.1-21.1-16.4c16-36.6 52.4-62.1 94.8-62.1s78.8 25.6 94.8 62.1c5.4 12.3-8.7 21.6-21.1 16.4c-22.4-9.5-47.4-14.8-73.7-14.8s-51.3 5.3-73.7 14.8zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faFrownOpen = faFaceFrownOpen;\nvar faSquareDashed = {\n prefix: 'far',\n iconName: 'square-dashed',\n icon: [448, 512, [], \"e269\", \"M88 32h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H88c-22.1 0-40 17.9-40 40v16c0 13.3-10.7 24-24 24s-24-10.7-24-24V120C0 71.4 39.4 32 88 32zM24 192c13.3 0 24 10.7 24 24v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V216c0-13.3 10.7-24 24-24zm400 0c13.3 0 24 10.7 24 24v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V216c0-13.3 10.7-24 24-24zm0-32c-13.3 0-24-10.7-24-24V120c0-22.1-17.9-40-40-40H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h16c48.6 0 88 39.4 88 88v16c0 13.3-10.7 24-24 24zm24 216v16c0 48.6-39.4 88-88 88H344c-13.3 0-24-10.7-24-24s10.7-24 24-24h16c22.1 0 40-17.9 40-40V376c0-13.3 10.7-24 24-24s24 10.7 24 24zM48 376v16c0 22.1 17.9 40 40 40h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H88c-48.6 0-88-39.4-88-88V376c0-13.3 10.7-24 24-24s24 10.7 24 24zM184 480c-13.3 0-24-10.7-24-24s10.7-24 24-24h80c13.3 0 24 10.7 24 24s-10.7 24-24 24H184zM160 56c0-13.3 10.7-24 24-24h80c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24z\"]\n};\nvar faBagShoppingPlus = {\n prefix: 'far',\n iconName: 'bag-shopping-plus',\n icon: [448, 512, [], \"e651\", \"M160 112v48H288V112c0-35.3-28.7-64-64-64s-64 28.7-64 64zm-48 48V112C112 50.1 162.1 0 224 0s112 50.1 112 112v48h64c26.5 0 48 21.5 48 48V416c0 53-43 96-96 96H96c-53 0-96-43-96-96V208c0-26.5 21.5-48 48-48h64zM48 416c0 26.5 21.5 48 48 48H352c26.5 0 48-21.5 48-48V208H48V416zm72-80c0-13.3 10.7-24 24-24h56V256c0-13.3 10.7-24 24-24s24 10.7 24 24v56h56c13.3 0 24 10.7 24 24s-10.7 24-24 24H248v56c0 13.3-10.7 24-24 24s-24-10.7-24-24V360H144c-13.3 0-24-10.7-24-24z\"]\n};\nvar faSquareJ = {\n prefix: 'far',\n iconName: 'square-j',\n icon: [448, 512, [], \"e273\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm304 56V288c0 53-43 96-96 96s-96-43-96-96v-8c0-13.3 10.7-24 24-24s24 10.7 24 24v8c0 26.5 21.5 48 48 48s48-21.5 48-48V152c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faHandPointUp = {\n prefix: 'far',\n iconName: 'hand-point-up',\n icon: [384, 512, [9757], \"f0a6\", \"M64 64V241.6c5.2-1 10.5-1.6 16-1.6H96V208 64c0-8.8-7.2-16-16-16s-16 7.2-16 16zM80 288c-17.7 0-32 14.3-32 32c0 0 0 0 0 0v24c0 66.3 53.7 120 120 120h48c52.5 0 97.1-33.7 113.4-80.7c-3.1 .5-6.2 .7-9.4 .7c-20 0-37.9-9.2-49.7-23.6c-9 4.9-19.4 7.6-30.3 7.6c-15.1 0-29-5.3-40-14c-11 8.8-24.9 14-40 14H120c-13.3 0-24-10.7-24-24s10.7-24 24-24h40c8.8 0 16-7.2 16-16s-7.2-16-16-16H120 80zM0 320s0 0 0 0c0-18 6-34.6 16-48V64C16 28.7 44.7 0 80 0s64 28.7 64 64v82c5.1-1.3 10.5-2 16-2c25.3 0 47.2 14.7 57.6 36c7-2.6 14.5-4 22.4-4c20 0 37.9 9.2 49.7 23.6c9-4.9 19.4-7.6 30.3-7.6c35.3 0 64 28.7 64 64v64 24c0 92.8-75.2 168-168 168H168C75.2 512 0 436.8 0 344V320zm336-64c0-8.8-7.2-16-16-16s-16 7.2-16 16v48 16c0 8.8 7.2 16 16 16s16-7.2 16-16V256zM160 240c5.5 0 10.9 .7 16 2v-2V208c0-8.8-7.2-16-16-16s-16 7.2-16 16v32h16zm64 24v40c0 8.8 7.2 16 16 16s16-7.2 16-16V256 240c0-8.8-7.2-16-16-16s-16 7.2-16 16v24z\"]\n};\nvar faMoneyBill = {\n prefix: 'far',\n iconName: 'money-bill',\n icon: [576, 512, [], \"f0d6\", \"M112 112c0 35.3-28.7 64-64 64V336c35.3 0 64 28.7 64 64H464c0-35.3 28.7-64 64-64V176c-35.3 0-64-28.7-64-64H112zM0 128C0 92.7 28.7 64 64 64H512c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128zm288 32a96 96 0 1 1 0 192 96 96 0 1 1 0-192z\"]\n};\nvar faArrowUpBigSmall = {\n prefix: 'far',\n iconName: 'arrow-up-big-small',\n icon: [576, 512, [\"sort-size-up\"], \"f88e\", \"M368 208V80l128 0V208H368zm-48 0c0 26.5 21.5 48 48 48H496c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H368c-26.5 0-48 21.5-48 48V208zM177 39c-9.4-9.4-24.6-9.4-33.9 0L47 135c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l55-55V456c0 13.3 10.7 24 24 24s24-10.7 24-24V113.9l55 55c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L177 39zM368 368h64v64H368V368zm-48 0v64c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48V368c0-26.5-21.5-48-48-48H368c-26.5 0-48 21.5-48 48z\"]\n};\nvar faSortSizeUp = faArrowUpBigSmall;\nvar faBarcodeRead = {\n prefix: 'far',\n iconName: 'barcode-read',\n icon: [576, 512, [], \"f464\", \"M56 48c-4.4 0-8 3.6-8 8v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V56C0 25.1 25.1 0 56 0h80c13.3 0 24 10.7 24 24s-10.7 24-24 24H56zm64 80c13.3 0 24 10.7 24 24V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24zm56 16c0-8.8 7.2-16 16-16s16 7.2 16 16V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V144zm272 0c0-8.8 7.2-16 16-16s16 7.2 16 16V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V144zm-208 8c0-13.3 10.7-24 24-24s24 10.7 24 24V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V152zm152-24c13.3 0 24 10.7 24 24V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24zM528 56c0-4.4-3.6-8-8-8H440c-13.3 0-24-10.7-24-24s10.7-24 24-24h80c30.9 0 56 25.1 56 56v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V56zM56 464h80c13.3 0 24 10.7 24 24s-10.7 24-24 24H56c-30.9 0-56-25.1-56-56V376c0-13.3 10.7-24 24-24s24 10.7 24 24v80c0 4.4 3.6 8 8 8zm472-8V376c0-13.3 10.7-24 24-24s24 10.7 24 24v80c0 30.9-25.1 56-56 56H440c-13.3 0-24-10.7-24-24s10.7-24 24-24h80c4.4 0 8-3.6 8-8z\"]\n};\nvar faBaguette = {\n prefix: 'far',\n iconName: 'baguette',\n icon: [640, 512, [129366], \"e3d8\", \"M578.6 83.6c-24.5-36.8-74.2-46.7-110.9-22.2l-69.7 46.5L433 143c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-41.9-41.9-74.5 49.6L321 223c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-45.1-45.1-74.5 49.6L209 303c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-48.3-48.3L83.6 317.4c-36.8 24.5-46.7 74.2-22.2 110.9s74.2 46.7 110.9 22.2l384-256c36.8-24.5 46.7-74.2 22.2-110.9zM618.5 57c39.2 58.8 23.3 138.3-35.5 177.5l-384 256C140.2 529.7 60.7 513.8 21.5 455S-1.8 316.7 57 277.5l384-256C499.8-17.7 579.3-1.8 618.5 57z\"]\n};\nvar faBowlSoftServe = {\n prefix: 'far',\n iconName: 'bowl-soft-serve',\n icon: [512, 512, [], \"e46b\", \"M256 0c-8.9 0-17 4.9-21.2 12.7s-3.7 17.3 1.2 24.6l10.8 16.3c.7 1.1 1.1 2.4 1.1 3.7c0 3.7-3 6.7-6.7 6.7H172c-42 0-76 34-76 76c0 4.7 .4 9.3 1.2 13.8C51 162.5 16 203.2 16 252c0 29 12.3 55.1 32 73.3V344c0 57.4 46.6 104 104 104h30.1l-20.4 40.8c-1.1 2.3-1.7 4.7-1.7 7.2c0 2.9 .8 5.8 2.4 8.4c2.9 4.7 8.1 7.6 13.6 7.6H336c5.5 0 10.7-2.9 13.6-7.6c1.6-2.6 2.4-5.5 2.4-8.4c0-2.4-.6-4.9-1.7-7.2L329.9 448H360c57.4 0 104-46.6 104-104V325.3c19.7-18.3 32-44.4 32-73.3c0-49.1-35.3-89.9-82-98.4c1.3-5.7 2-11.6 2-17.6C416 60.9 355.1 0 280 0H256zM396 304H116c-28.7 0-52-23.3-52-52s23.3-52 52-52h12 6.5H168c13.3 0 24-10.7 24-24s-10.7-24-24-24H146.7c-1.7-3.6-2.7-7.7-2.7-12c0-15.5 12.5-28 28-28h69.3c30.2 0 54.7-24.5 54.7-54.7c0-2.7-.2-5.3-.6-8C336.7 56.6 368 92.7 368 136c0 5.8-1.5 11.3-4.3 16H280c-13.3 0-24 10.7-24 24s10.7 24 24 24h95.2H384h12c28.7 0 52 23.3 52 52s-23.3 52-52 52z\"]\n};\nvar faFaceHoldingBackTears = {\n prefix: 'far',\n iconName: 'face-holding-back-tears',\n icon: [512, 512, [129401], \"e482\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm208-16a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm32 32v16 16c0 8.8-7.2 16-16 16s-16-7.2-16-16c-13.4 10-30 16-48 16c-11.4 0-22.2-2.4-32-6.7V320c0 8.8-7.2 16-16 16s-16-7.2-16-16V288c-10-13.4-16-30-16-48s6-34.6 16-48c-8 0-14.9-5.9-15.9-14c-1.1-8.8 5.1-16.8 13.9-17.9l11.5-1.4c25.5-3.2 46.6-21.3 53.6-45.9l1.5-5.2c2.4-8.5 11.3-13.4 19.8-11s13.4 11.3 11 19.8l-1.5 5.2c-4.2 14.8-11.8 28-21.9 38.8c40.4 4 72 38.1 72 79.6v32zm112 16a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm64 0v32c0 8.8-7.2 16-16 16s-16-7.2-16-16v-6.7c-9.8 4.3-20.6 6.7-32 6.7c-44.2 0-80-35.8-80-80c0-41.5 31.5-75.6 72-79.6c-10-10.8-17.6-24.1-21.9-38.8l-1.5-5.2c-2.4-8.5 2.5-17.4 11-19.8s17.4 2.5 19.8 11l1.5 5.2c7 24.7 28.1 42.7 53.6 45.9l11.5 1.4c8.8 1.1 15 9.1 13.9 17.9c-1 8.1-7.9 14-15.9 14c10 13.4 16 30 16 48s-6 34.6-16 48zM310.4 362.5c9-9.7 24.2-10.4 33.9-1.4s10.4 24.2 1.4 33.9C328.3 413.8 298.3 434 256 434s-72.3-20.2-89.6-38.9c-9-9.7-8.4-24.9 1.4-33.9s24.9-8.4 33.9 1.4C212.1 373.9 230.1 386 256 386s43.9-12.1 54.4-23.5zM128 240c17.7 0 32-14.3 32-32c17.7 0 32 14.3 32 32s-14.3 32-32 32s-32-14.3-32-32zm224-32c17.7 0 32 14.3 32 32s-14.3 32-32 32s-32-14.3-32-32c17.7 0 32-14.3 32-32z\"]\n};\nvar faSquareUp = {\n prefix: 'far',\n iconName: 'square-up',\n icon: [448, 512, [11014, \"arrow-alt-square-up\"], \"f353\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM119.2 217.4l91-84c3.8-3.5 8.7-5.4 13.9-5.4s10.1 1.9 13.9 5.4l91 84c4.6 4.2 7.2 10.1 7.2 16.4c0 12.3-10 22.3-22.3 22.3H272v96c0 17.7-14.3 32-32 32H208c-17.7 0-32-14.3-32-32V256H134.3C122 256 112 246 112 233.7c0-6.2 2.6-12.1 7.2-16.4z\"]\n};\nvar faArrowAltSquareUp = faSquareUp;\nvar faTrainSubwayTunnel = {\n prefix: 'far',\n iconName: 'train-subway-tunnel',\n icon: [512, 512, [\"subway-tunnel\"], \"e2a3\", \"M256 48C141.1 48 48 141.1 48 256V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V256C0 114.6 114.6 0 256 0S512 114.6 512 256V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V256c0-114.9-93.1-208-208-208zm24 128l0 80h72V208c0-17.7-14.3-32-32-32H280zm-48 0H192c-17.7 0-32 14.3-32 32v48h72l0-80zM160 304v64c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32V304H160zm-48-96c0-44.2 35.8-80 80-80H320c44.2 0 80 35.8 80 80V368c0 27.7-14.1 52.2-35.5 66.5L401 471c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-57-57H201.9l-57 57c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l36.5-36.5C126.1 420.2 112 395.7 112 368V208zm64 144a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm136-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faSubwayTunnel = faTrainSubwayTunnel;\nvar faSquareExclamation = {\n prefix: 'far',\n iconName: 'square-exclamation',\n icon: [448, 512, [\"exclamation-square\"], \"f321\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm224 32c13.3 0 24 10.7 24 24V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24zM192 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faExclamationSquare = faSquareExclamation;\nvar faSemicolon = {\n prefix: 'far',\n iconName: 'semicolon',\n icon: [192, 512, [], \"3b\", \"M72 128a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm96 0A72 72 0 1 0 24 128a72 72 0 1 0 144 0zM84.4 347c1.4-6.4 7.1-11 13.6-11c7.3 0 13.9 6.2 13.9 14.3c0 2.7-.8 5.4-2.1 7.6L67.1 428l17.3-81zm-.7 145.8L150.8 383c6-9.8 9.2-21.2 9.2-32.7c0-34.2-27.7-62.3-61.9-62.3c-29.2 0-54.4 20.4-60.6 49L10.4 463.6C5 488.5 24 512 49.5 512c14 0 26.9-7.3 34.2-19.2z\"]\n};\nvar faBookmark = {\n prefix: 'far',\n iconName: 'bookmark',\n icon: [384, 512, [128278, 61591], \"f02e\", \"M0 48C0 21.5 21.5 0 48 0l0 48V441.4l130.1-92.9c8.3-6 19.6-6 27.9 0L336 441.4V48H48V0H336c26.5 0 48 21.5 48 48V488c0 9-5 17.2-13 21.3s-17.6 3.4-24.9-1.8L192 397.5 37.9 507.5c-7.3 5.2-16.9 5.9-24.9 1.8S0 497 0 488V48z\"]\n};\nvar faFanTable = {\n prefix: 'far',\n iconName: 'fan-table',\n icon: [448, 512, [], \"e004\", \"M224 400a176 176 0 1 0 0-352 176 176 0 1 0 0 352zM448 224c0 115.6-87.6 210.8-200 222.7V464H360c13.3 0 24 10.7 24 24s-10.7 24-24 24H224 88c-13.3 0-24-10.7-24-24s10.7-24 24-24H200V446.7C87.6 434.8 0 339.6 0 224C0 100.3 100.3 0 224 0S448 100.3 448 224zM118.4 197.6c-16.6-41 3.2-87.6 44.2-104.1c12.3-5 26.3 1 31.2 13.3l29.2 72.2c16.7-23.7 45.8-37.5 76.6-33.2c43.8 6.1 74.2 46.6 68.1 90.4c-1.8 13.1-14 22.3-27.1 20.4l-77.1-10.8c12.2 26.4 9.6 58.4-9.6 82.9c-27.2 34.8-77.5 41-112.3 13.8c-10.4-8.2-12.3-23.2-4.1-33.7l47.9-61.4c-28.9-2.6-55.4-21-67-49.7zM224 240a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faAlignJustify = {\n prefix: 'far',\n iconName: 'align-justify',\n icon: [448, 512, [], \"f039\", \"M24 40C10.7 40 0 50.7 0 64S10.7 88 24 88H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zm0 128c-13.3 0-24 10.7-24 24s10.7 24 24 24H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zM0 320c0 13.3 10.7 24 24 24H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H24c-13.3 0-24 10.7-24 24zM24 424c-13.3 0-24 10.7-24 24s10.7 24 24 24H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H24z\"]\n};\nvar faBatteryLow = {\n prefix: 'far',\n iconName: 'battery-low',\n icon: [576, 512, [\"battery-1\"], \"e0b1\", \"M464 144c17.7 0 32 14.3 32 32V336c0 17.7-14.3 32-32 32H80c-17.7 0-32-14.3-32-32V176c0-17.7 14.3-32 32-32H464zM80 96C35.8 96 0 131.8 0 176V336c0 44.2 35.8 80 80 80H464c44.2 0 80-35.8 80-80V320c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32V176c0-44.2-35.8-80-80-80H80zm80 96H96V320h64V192z\"]\n};\nvar faBattery1 = faBatteryLow;\nvar faCreditCardFront = {\n prefix: 'far',\n iconName: 'credit-card-front',\n icon: [576, 512, [], \"f38a\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H512c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM96 360c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24zm128 0c0-13.3 10.7-24 24-24H360c13.3 0 24 10.7 24 24s-10.7 24-24 24H248c-13.3 0-24-10.7-24-24zM96 280c0-13.3 10.7-24 24-24H456c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24zM376 128h80c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H376c-13.3 0-24-10.7-24-24V152c0-13.3 10.7-24 24-24z\"]\n};\nvar faBrainArrowCurvedRight = {\n prefix: 'far',\n iconName: 'brain-arrow-curved-right',\n icon: [640, 512, [\"mind-share\"], \"f677\", \"M153.5 76.9c-1.9 6.8-6.8 12.4-13.2 15.3c-16.6 7.5-28.2 24.1-28.3 43.5c-.1 9.1-5.2 17.3-13.3 21.3C82.8 164.9 72 181.2 72 200c0 7.1 1.5 13.7 4.2 19.7c4.4 9.7 1.9 21-6.1 28C56.5 259.4 48 276.7 48 296c0 20.2 9.3 38.1 23.9 49.9c6.7 5.4 10 14 8.7 22.5c-.4 2.5-.6 5-.6 7.6c0 26.1 20.8 47.3 46.7 48c9.2 .3 17.4 5.7 21.2 14.1c6.9 15.3 22.3 25.9 40.1 25.9c24.3 0 44-19.7 44-44V88c0-22.1-17.9-40-40-40c-18.2 0-33.7 12.2-38.5 28.9zM256 482c-16.8 18.5-41.1 30-68 30c-32.2 0-60.5-16.5-76.9-41.5c-45-8-79.1-47.3-79.1-94.5c0-.5 0-1.1 0-1.6C12.2 354.2 0 326.5 0 296c0-27.8 10.1-53.2 26.8-72.7C25 215.8 24 208 24 200c0-32.6 16.3-61.5 41.1-78.8c4.5-28.9 21.8-53.5 45.9-67.8C124.5 22 155.7 0 192 0c25.2 0 48 10.6 64 27.6C272 10.6 294.8 0 320 0c36.3 0 67.5 22 80.9 53.4c24.1 14.3 41.5 38.9 45.9 67.8C471.7 138.5 488 167.4 488 200c0 8-1 15.8-2.8 23.3c1.3 1.5 2.6 3.1 3.8 4.8c-5.7 8-9 17.7-9 28v16H459.4c-3.8-9.4-9.8-17.8-17.4-24.3c-8-6.9-10.5-18.3-6.1-28c2.7-6 4.2-12.6 4.2-19.7c0-18.8-10.8-35.1-26.7-43c-8.1-4-13.3-12.3-13.3-21.3c-.1-19.3-11.7-36-28.3-43.5c-6.4-2.9-11.3-8.5-13.2-15.3C353.7 60.2 338.2 48 320 48c-22.1 0-40 17.9-40 40V420c0 19.8 13.1 36.5 31 42.1c6.5 20.5 16.6 36.8 26.4 49c-4.4 .6-8.8 1-13.4 1c-26.9 0-51.2-11.6-68-30zM539.3 244.7l96 96c6.2 6.2 6.2 16.4 0 22.6l-96 96c-4.6 4.6-11.5 5.9-17.4 3.5s-9.9-8.3-9.9-14.8V400H464c-35.3 0-64 28.7-64 64v35.7c0 6.8-5.5 12.3-12.3 12.3c-2.4 0-4.8-.7-6.7-2.2c-10.5-8.2-45-39.5-45-93.8c0-61.9 50.1-112 112-112h64V256c0-6.5 3.9-12.3 9.9-14.8s12.9-1.1 17.4 3.5z\"]\n};\nvar faMindShare = faBrainArrowCurvedRight;\nvar faUmbrellaBeach = {\n prefix: 'far',\n iconName: 'umbrella-beach',\n icon: [576, 512, [127958], \"f5ca\", \"M399.7 18.8c0 0 0 0 0 0c1.3 .5 2.6 .9 4 1.4c4.1 1.5 8.1 3 12 4.7c0 0 0 0 0 0C519.4 68.6 580.3 173.8 571.4 281.8c-1.6 19.2-21.5 30-39.6 23.4L349.7 239l-45.1-16.4L122.5 156.3c-18.1-6.6-26.4-27.7-15.3-43.4c64.2-90.8 182.8-132 292.6-94zM288.8 54.6c-48 6.4-92.7 29.5-125.8 65.4l68.8 25c14.2-32.9 33.4-63.4 57-90.4zM413.3 211c9.4-32.5 13.2-66.4 11.2-100.2c-1.1-18.2-12-34.2-28.2-41.9c-3-1.2-6-2.4-9-3.5c-1-.4-2-.7-2.9-1c-18.2-5.9-38.3-.9-51.5 13.1c-23.3 24.6-42.2 53.1-55.9 84L413.3 211zm45.2 16.4L524 251.3c-2.2-47-20.3-91.9-51-127.2c.4 35-4.5 69.8-14.5 103.3zM552 464c13.3 0 24 10.7 24 24s-10.7 24-24 24L24 512c-13.3 0-24-10.7-24-24s10.7-24 24-24l192.7 0 76.9-211.4L338.7 269l-71 195L552 464z\"]\n};\nvar faHelmetUn = {\n prefix: 'far',\n iconName: 'helmet-un',\n icon: [512, 512, [], \"e503\", \"M240 48c106 0 192 86 192 192H256c-9.4 0-18 5.5-21.8 14.1L196.9 336H82.4c-19 0-34.4-15.4-34.4-34.4V240C48 134 134 48 240 48zm80 372.7l-77.7-68.6L271.5 288H320V420.7zm48 42.4V288H488c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8C480 107.5 372.5 0 240 0S0 107.5 0 240v61.6C0 347.1 36.9 384 82.4 384H205.9l2.3 2 136 120c4.4 3.9 10 6 15.9 6h96c13.3 0 24-10.7 24-24s-10.7-24-24-24H369.1l-1.1-.9zM285.3 103.1c-3.9-5.9-11.2-8.5-17.9-6.4s-11.4 8.3-11.4 15.3v96c0 8.8 7.2 16 16 16s16-7.2 16-16V164.8l34.7 52c3.9 5.9 11.2 8.5 17.9 6.4s11.4-8.3 11.4-15.3V112c0-8.8-7.2-16-16-16s-16 7.2-16 16v43.2l-34.7-52zM160 112c0-8.8-7.2-16-16-16s-16 7.2-16 16v64c0 26.5 21.5 48 48 48s48-21.5 48-48V112c0-8.8-7.2-16-16-16s-16 7.2-16 16v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V112z\"]\n};\nvar faLocationSmile = {\n prefix: 'far',\n iconName: 'location-smile',\n icon: [384, 512, [\"map-marker-smile\"], \"f60d\", \"M336 192c0-79.5-64.5-144-144-144S48 112.5 48 192c0 12.4 4.5 31.6 15.3 57.2c10.5 24.8 25.4 52.2 42.5 79.9c28.5 46.2 61.5 90.8 86.2 122.6c24.8-31.8 57.8-76.4 86.2-122.6c17.1-27.7 32-55.1 42.5-79.9C331.5 223.6 336 204.4 336 192zm48 0c0 87.4-117 243-168.3 307.2c-12.3 15.3-35.1 15.3-47.4 0C117 435 0 279.4 0 192C0 86 86 0 192 0S384 86 384 192zM136 128a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm88 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm-79.4 76.9c4.5 6.7 21.6 23.1 47.4 23.1s42.9-16.4 47.4-23.1c6.1-9.2 18.5-11.7 27.7-5.5s11.7 18.5 5.5 27.7C262.9 265.7 234.5 292 192 292s-70.9-26.3-80.6-40.9c-6.1-9.2-3.6-21.6 5.5-27.7s21.6-3.6 27.7 5.5z\"]\n};\nvar faMapMarkerSmile = faLocationSmile;\nvar faArrowLeftToLine = {\n prefix: 'far',\n iconName: 'arrow-left-to-line',\n icon: [448, 512, [8676, \"arrow-to-left\"], \"f33e\", \"M0 424c0 13.3 10.7 24 24 24s24-10.7 24-24L48 88c0-13.3-10.7-24-24-24S0 74.7 0 88L0 424zM135.6 238.5c-4.8 4.5-7.6 10.9-7.6 17.5s2.7 12.9 7.6 17.5l136 128c9.7 9.1 24.8 8.6 33.9-1s8.6-24.8-1-33.9L212.5 280l83.5 0 128 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-128 0-83.5 0 91.9-86.5c9.7-9.1 10.1-24.3 1-33.9s-24.3-10.1-33.9-1l-136 128z\"]\n};\nvar faArrowToLeft = faArrowLeftToLine;\nvar faBullseye = {\n prefix: 'far',\n iconName: 'bullseye',\n icon: [512, 512, [], \"f140\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM256 368a112 112 0 1 0 0-224 112 112 0 1 0 0 224zm0-272a160 160 0 1 1 0 320 160 160 0 1 1 0-320zm0 176a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm0-80a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]\n};\nvar faSushi = {\n prefix: 'far',\n iconName: 'sushi',\n icon: [576, 512, [127843, \"nigiri\"], \"e48a\", \"M524.5 302.9c23.1 7.7 46-12.3 41.5-36.3l-8.6-46c-7.1-37.7-24.8-71-49.8-97.2L421.7 268.8l102.8 34.1zM393.7 65.6L296.5 230.2c9 1 17.9 2.9 26.6 5.8l67.5 22.4 92.5-156.6C457.4 82.7 426.7 70 393.7 65.6zM357.5 64H246.6L119.9 278.4l120.9-41.9c5.7-2 11.6-3.6 17.5-4.7L357.5 64zM207.3 64C115 64 35.7 129.8 18.6 220.6l-8.5 45.2C5.6 290 28.9 310 52.1 302l21.1-7.3L209.5 64h-2.1zM32 336.7V352c0 53 43 96 96 96c17.3 0 33.6-4.6 47.6-12.6c2.7-1.6 6.1-1.6 8.8 0c14 8 30.3 12.6 47.6 12.6c18.8 0 36.4-5.4 51.2-14.8c2.9-1.8 6.6-1.8 9.5 0c14.8 9.4 32.4 14.8 51.2 14.8c17.3 0 33.6-4.6 47.6-12.6c2.7-1.6 6.1-1.6 8.8 0c14 8 30.3 12.6 47.6 12.6c53 0 96-43 96-96V337.4c-8.5 .8-17.4-.1-26.2-3.1L496 327.1V352c0 26.5-21.5 48-48 48c-8.7 0-16.8-2.3-23.8-6.3c-17.5-10-39-10-56.5 0c-7 4-15 6.3-23.8 6.3c-9.5 0-18.2-2.7-25.6-7.4c-18.6-11.7-42.3-11.7-60.8 0c-7.4 4.7-16.1 7.4-25.6 7.4c-8.7 0-16.8-2.3-23.8-6.3c-17.5-10-39-10-56.5 0c-7 4-15 6.3-23.8 6.3c-26.5 0-48-21.5-48-48V326.1l-20.9 7.2c-9.1 3.2-18.3 4.2-27.1 3.3z\"]\n};\nvar faNigiri = faSushi;\nvar faMessageCaptions = {\n prefix: 'far',\n iconName: 'message-captions',\n icon: [512, 512, [\"comment-alt-captions\"], \"e1de\", \"M208 416c0-26.5-21.5-48-48-48H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H448c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H309.3c-10.4 0-20.5 3.4-28.8 9.6L208 432V416zm-.2 76.2l.2-.2 101.3-76H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h48 48v48 4 .3 6.4V496c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L202.7 496l5.1-3.8zM120 192c-13.3 0-24 10.7-24 24s10.7 24 24 24H264c13.3 0 24-10.7 24-24s-10.7-24-24-24H120zm224 0c-13.3 0-24 10.7-24 24s10.7 24 24 24h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H344zM120 272c-13.3 0-24 10.7-24 24s10.7 24 24 24h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H120zm128 0c-13.3 0-24 10.7-24 24s10.7 24 24 24H392c13.3 0 24-10.7 24-24s-10.7-24-24-24H248z\"]\n};\nvar faCommentAltCaptions = faMessageCaptions;\nvar faTrashList = {\n prefix: 'far',\n iconName: 'trash-list',\n icon: [640, 512, [], \"e2b1\", \"M170.5 51.6L151.5 80h113l-19-28.4c-1.5-2.2-4-3.6-6.7-3.6H177.1c-2.7 0-5.2 1.3-6.7 3.6zm115-26.6L322.2 80h13.7H384h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H380.4L356.4 452.7c-2.5 33.4-30.3 59.3-63.8 59.3H123.4c-33.5 0-61.3-25.9-63.8-59.3L35.6 128H24c-13.3 0-24-10.7-24-24S10.7 80 24 80h8H80.1 93.8l36.7-55.1C140.9 9.4 158.4 0 177.1 0h61.7c18.7 0 36.2 9.4 46.6 24.9zM83.7 128l23.8 321.2c.6 8.4 7.6 14.8 16 14.8H292.6c8.4 0 15.3-6.5 16-14.8L332.3 128H83.7zM472 128H616c13.3 0 24 10.7 24 24s-10.7 24-24 24H472c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 128H584c13.3 0 24 10.7 24 24s-10.7 24-24 24H472c-13.3 0-24-10.7-24-24s10.7-24 24-24zM448 408c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H472c-13.3 0-24-10.7-24-24z\"]\n};\nvar faBacon = {\n prefix: 'far',\n iconName: 'bacon',\n icon: [576, 512, [129363], \"f7e5\", \"M441.7 216c-26.1 23-45.1 49.9-67.3 82.1l-2.2 3.2C327.8 365.9 275.5 442 142.3 508.6c-12.3 6.2-27.2 3.7-36.9-6l-96-96c-7.3-7.3-10.6-17.6-9-27.8s8.1-18.9 17.3-23.5C136.1 296.2 180.9 231 223.3 169.3l2.3-3.4c21.8-31.8 44.9-64.9 77.7-93.9c33.4-29.5 75.8-53.6 135.9-70.8c11.2-3.2 23.2-.1 31.4 8.1l96 96c8 8 11.2 19.7 8.3 30.7s-11.3 19.6-22.2 22.7c-51.9 14.8-85.6 34.7-111.1 57.2zM262.9 196.4l0 0c-41.7 60.7-89.2 129.6-204.1 191.7l24.3 24.3C197.6 352.8 242.8 287 284.5 226.3l2.3-3.3c21.9-31.9 43.9-63.5 75.1-90.9c26.6-23.5 59.5-43.6 104.2-59.3L443.4 50.1c-49 15.1-82.4 35.1-108.3 58c-27.8 24.5-47.8 53-69.9 85.1l0 0-2.3 3.4zM106.8 436.1l24.3 24.3c114.5-59.7 159.8-125.5 201.3-186l.2-.3 0 0 2.2-3.2 0 0c21.9-31.9 43.9-63.5 75.1-90.9c26.6-23.5 59.5-43.6 104.2-59.3L491.4 98c-49 15.1-82.4 35.1-108.3 58c-27.8 24.5-47.8 52.9-69.9 85.1l-2.2 3.3C269.3 304.9 221.9 374 106.8 436.1z\"]\n};\nvar faOption = {\n prefix: 'far',\n iconName: 'option',\n icon: [640, 512, [], \"e318\", \"M172.1 120.4c-4.6-5.3-11.2-8.4-18.2-8.4H24C10.7 112 0 101.3 0 88S10.7 64 24 64H153.9c21 0 41 9.2 54.7 25.1L467.9 391.6c4.6 5.3 11.2 8.4 18.2 8.4H616c13.3 0 24 10.7 24 24s-10.7 24-24 24H486.1c-21 0-41-9.2-54.7-25.1L172.1 120.4zM616 64c13.3 0 24 10.7 24 24s-10.7 24-24 24H440c-13.3 0-24-10.7-24-24s10.7-24 24-24H616z\"]\n};\nvar faRaccoon = {\n prefix: 'far',\n iconName: 'raccoon',\n icon: [512, 512, [], \"e613\", \"M336 93.1c12.7-16.1 33.6-24.3 54.1-20.6C376.5 57 356.8 48 336 48s-40.5 9-54.1 24.5c20.5-3.6 41.4 4.5 54.1 20.6zm0 69.5c-2.6 3.4-5.7 6.5-9.1 9.2l-35.8 28.6c3.4 1.9 6.8 4 10.1 6.2l10.9 7.3c1.1-12.3 11.4-21.9 23.9-21.9s22.8 9.6 23.9 21.9l10.9-7.3c3.3-2.2 6.7-4.2 10.1-6.2l-35.8-28.6c-3.4-2.7-6.5-5.8-9.1-9.2zm78.8 23.9l31.9-9.6c5.6-1.7 9.4-6.8 9.4-12.6c0-2.8-.9-5.6-2.6-7.9l-17.8-23.7-42.9-25.7c-14.4-8.6-32.9-.4-36.2 16c-1.8 8.9 1.5 18 8.6 23.7l49.6 39.7zM306.9 146.8c7.1-5.7 10.4-14.8 8.6-23.7c-3.3-16.4-21.9-24.7-36.2-16l-42.9 25.7-17.7 23.7c-1.7 2.3-2.6 5-2.6 7.9c0 5.8 3.8 10.9 9.4 12.6l31.9 9.6 49.6-39.7zM206.2 93.1L194.2 57.3c-1.5-4.4-2.2-9.1-2.2-13.8C192 19.5 211.5 0 235.5 0h1.3c3.3 0 6.5 .4 9.7 1.1l41 9.1C302.7 3.6 319.1 0 336 0s33.3 3.6 48.4 10.2l41-9.1c3.2-.7 6.5-1.1 9.7-1.1h1.3c24 0 43.5 19.5 43.5 43.5c0 4.7-.8 9.3-2.2 13.8L465.8 93.1l25.9 34.6c7.9 10.6 12.2 23.5 12.2 36.7c0 27-17.7 50.8-43.6 58.5l-35.3 10.6c-9.8 2.9-19.2 7.3-27.7 13l-18.8 12.6C366 267.5 351.2 272 336 272s-30-4.5-42.6-12.9l-18.8-12.6c-8.5-5.7-17.9-10.1-27.7-13l-35.3-10.6c-25.9-7.8-43.6-31.6-43.6-58.5c0-13.2 4.3-26.1 12.2-36.7l25.9-34.6zM144 241.9c4.7-4.5 9.6-8.8 14.6-12.8c11.3 10.9 25.2 19.2 40.9 24l6 1.8C159.1 282.9 128 333.8 128 392c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-10.9 .8-21.6 2.4-32H48v32c0 39.8 32.2 72 72 72H304v-8c0-13.3-10.7-24-24-24H232c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c39.8 0 72 32.2 72 72v8h80v-8c0-13.3-10.7-24-24-24s-24-10.7-24-24s10.7-24 24-24c39.8 0 72 32.2 72 72v32c0 13.3-10.7 24-24 24H120C53.7 512 0 458.3 0 392V224 104C0 64.2 32.2 32 72 32s72 32.2 72 72V241.9zm-48 70V264H48v48H95.9l.1-.1zM96 216V168H48v48H96zM307.3 364.4l-64-40c-11.2-7-14.7-21.8-7.6-33.1s21.8-14.7 33.1-7.6l64 40c11.2 7 14.7 21.8 7.6 33.1s-21.8 14.7-33.1 7.6zm56.4-7.6c-7-11.2-3.6-26 7.6-33.1l64-40c11.2-7 26-3.6 33.1 7.6s3.6 26-7.6 33.1l-64 40c-11.2 7-26 3.6-33.1-7.6zM48 120H96V104c0-13.3-10.7-24-24-24s-24 10.7-24 24v16zm240-8a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm80 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faHandPointDown = {\n prefix: 'far',\n iconName: 'hand-point-down',\n icon: [384, 512, [], \"f0a7\", \"M64 448l0-177.6c5.2 1 10.5 1.6 16 1.6l16 0 0 32 0 144c0 8.8-7.2 16-16 16s-16-7.2-16-16zM80 224c-17.7 0-32-14.3-32-32c0 0 0 0 0 0l0-24c0-66.3 53.7-120 120-120l48 0c52.5 0 97.1 33.7 113.4 80.7c-3.1-.5-6.2-.7-9.4-.7c-20 0-37.9 9.2-49.7 23.6c-9-4.9-19.4-7.6-30.3-7.6c-15.1 0-29 5.3-40 14c-11-8.8-24.9-14-40-14l-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-40 0-40 0zM0 192s0 0 0 0c0 18 6 34.6 16 48l0 208c0 35.3 28.7 64 64 64s64-28.7 64-64l0-82c5.1 1.3 10.5 2 16 2c25.3 0 47.2-14.7 57.6-36c7 2.6 14.5 4 22.4 4c20 0 37.9-9.2 49.7-23.6c9 4.9 19.4 7.6 30.3 7.6c35.3 0 64-28.7 64-64l0-64 0-24C384 75.2 308.8 0 216 0L168 0C75.2 0 0 75.2 0 168l0 24zm336 64c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-48 0-16c0-8.8 7.2-16 16-16s16 7.2 16 16l0 64zM160 272c5.5 0 10.9-.7 16-2l0 2 0 32c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-32 16 0zm64-24l0-40c0-8.8 7.2-16 16-16s16 7.2 16 16l0 48 0 16c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-24z\"]\n};\nvar faArrowUpFromBracket = {\n prefix: 'far',\n iconName: 'arrow-up-from-bracket',\n icon: [448, 512, [], \"e09a\", \"M241 7c-9.4-9.4-24.6-9.4-33.9 0L79 135c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l87-87L200 328c0 13.3 10.7 24 24 24s24-10.7 24-24l0-246.1 87 87c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L241 7zM48 344c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 80c0 48.6 39.4 88 88 88l272 0c48.6 0 88-39.4 88-88l0-80c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 80c0 22.1-17.9 40-40 40L88 464c-22.1 0-40-17.9-40-40l0-80z\"]\n};\nvar faHeadSideGear = {\n prefix: 'far',\n iconName: 'head-side-gear',\n icon: [512, 512, [], \"e611\", \"M48 224c0-97.2 78.8-176 176-176h24c60.1 0 115.7 36.7 139.6 88.3c3.9 8.4 7.5 17 11.4 25.9l1.5 3.5c4.3 10.1 8.9 20.7 13.9 31.1c10.1 20.8 22.5 42 40.6 60.1l4.4 4.4c2.9 2.9 4.6 6.9 4.6 11c0 8.6-7 15.6-15.6 15.6H424c-13.3 0-24 10.7-24 24v72c0 8.8-7.2 16-16 16H296c-13.3 0-24 10.7-24 24v64c0 13.3 10.7 24 24 24s24-10.7 24-24V448h64c35.3 0 64-28.7 64-64V336h.4c35.1 0 63.6-28.5 63.6-63.6c0-16.9-6.7-33-18.6-45L489 223c-12.7-12.7-22.4-28.5-31.4-47.1c-4.5-9.3-8.7-18.9-13-29l-1.5-3.5c-3.8-8.9-7.8-18.2-12-27.3C399.4 47.6 326.8 0 248 0H224C100.3 0 0 100.3 0 224c0 53.6 18.9 102.9 50.3 141.5c8.9 11 13.7 22.4 13.7 33.1V488c0 13.3 10.7 24 24 24s24-10.7 24-24V398.6c0-24.9-10.9-46.8-24.5-63.4C62.8 304.8 48 266.2 48 224zm288.6-28.1c6.3-3.6 9.5-11.1 6.8-18c-2.1-5.5-4.6-10.8-7.4-15.9l-2.3-4c-3.1-5.1-6.5-9.9-10.2-14.5c-4.6-5.7-12.7-6.7-19-3l-2.9 1.7c-9.2 5.3-20.4 4-29.6-1.3s-16.1-14.5-16.1-25.1v-3.4c0-7.3-4.9-13.8-12.1-14.9c-6.5-1-13.1-1.5-19.9-1.5s-13.4 .5-19.9 1.5c-7.2 1.1-12.1 7.6-12.1 14.9v3.4c0 10.6-6.9 19.8-16.1 25.1s-20.4 6.6-29.6 1.3l-2.9-1.7c-6.3-3.6-14.4-2.6-19 3c-3.7 4.6-7.1 9.5-10.2 14.6l-2.3 3.9c-2.8 5.1-5.3 10.4-7.4 15.9c-2.6 6.8 .5 14.3 6.8 18l2.9 1.7c9.2 5.3 13.7 15.8 13.7 26.4s-4.5 21.1-13.7 26.4l-3 1.7c-6.3 3.6-9.5 11.1-6.8 18c2.1 5.5 4.6 10.7 7.4 15.8l2.4 4.1c3.1 5.1 6.4 9.9 10.1 14.5c4.6 5.7 12.7 6.7 19 3l2.9-1.7c9.2-5.3 20.4-4 29.6 1.3s16.1 14.5 16.1 25.1v3.4c0 7.3 4.9 13.8 12.1 14.9c6.5 1 13.1 1.5 19.9 1.5s13.4-.5 19.9-1.5c7.2-1.1 12.1-7.6 12.1-14.9v-3.4c0-10.6 6.9-19.8 16.1-25.1s20.4-6.6 29.6-1.3l2.9 1.7c6.3 3.6 14.4 2.6 19-3c3.7-4.6 7.1-9.4 10.1-14.5l2.4-4.2c2.8-5.1 5.3-10.3 7.4-15.8c2.6-6.8-.5-14.3-6.8-18l-3-1.7c-9.2-5.3-13.7-15.8-13.7-26.4s4.5-21.1 13.7-26.4l3-1.7zM184 224a40 40 0 1 1 80 0 40 40 0 1 1 -80 0z\"]\n};\nvar faTrashPlus = {\n prefix: 'far',\n iconName: 'trash-plus',\n icon: [448, 512, [], \"e2b2\", \"M170.5 51.6L151.5 80h145l-19-28.4c-1.5-2.2-4-3.6-6.7-3.6H177.1c-2.7 0-5.2 1.3-6.7 3.6zm147-26.6L354.2 80h13.7H416h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H412.4L388.4 452.7c-2.5 33.4-30.3 59.3-63.8 59.3H123.4c-33.5 0-61.3-25.9-63.8-59.3L35.6 128H24c-13.3 0-24-10.7-24-24S10.7 80 24 80h8H80.1 93.8l36.7-55.1C140.9 9.4 158.4 0 177.1 0h93.7c18.7 0 36.2 9.4 46.6 24.9zM83.7 128l23.8 321.2c.6 8.4 7.6 14.8 16 14.8H324.6c8.4 0 15.3-6.5 16-14.8L364.3 128H83.7zM204 376V308H136c-11 0-20-9-20-20s9-20 20-20h68V200c0-11 9-20 20-20s20 9 20 20v68h68c11 0 20 9 20 20s-9 20-20 20H244v68c0 11-9 20-20 20s-20-9-20-20z\"]\n};\nvar faFileCad = {\n prefix: 'far',\n iconName: 'file-cad',\n icon: [512, 512, [], \"e672\", \"M64 464l48 0 0 48-48 0c-35.3 0-64-28.7-64-64L0 64C0 28.7 28.7 0 64 0L229.5 0c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3L384 304l-48 0 0-144-80 0c-17.7 0-32-14.3-32-32l0-80L64 48c-8.8 0-16 7.2-16 16l0 384c0 8.8 7.2 16 16 16zM200 352l16 0c22.1 0 40 17.9 40 40l0 8c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-8c0-4.4-3.6-8-8-8l-16 0c-4.4 0-8 3.6-8 8l0 80c0 4.4 3.6 8 8 8l16 0c4.4 0 8-3.6 8-8l0-8c0-8.8 7.2-16 16-16s16 7.2 16 16l0 8c0 22.1-17.9 40-40 40l-16 0c-22.1 0-40-17.9-40-40l0-80c0-22.1 17.9-40 40-40zm232 0l32 0c26.5 0 48 21.5 48 48l0 64c0 26.5-21.5 48-48 48l-32 0c-8.8 0-16-7.2-16-16l0-128c0-8.8 7.2-16 16-16zm16 32l0 96 16 0c8.8 0 16-7.2 16-16l0-64c0-8.8-7.2-16-16-16l-16 0zm-160 8c0-22.1 17.9-40 40-40l16 0c22.1 0 40 17.9 40 40l0 56 0 48c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-32-32 0 0 32c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-48 0-56zm32 0l0 40 32 0 0-40c0-4.4-3.6-8-8-8l-16 0c-4.4 0-8 3.6-8 8z\"]\n};\nvar faObjectsAlignTop = {\n prefix: 'far',\n iconName: 'objects-align-top',\n icon: [512, 512, [], \"e3c0\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zM176 176V464H112V176h64zm-64-48c-26.5 0-48 21.5-48 48V464c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48V176c0-26.5-21.5-48-48-48H112zm288 48V336H336V176h64zm-64-48c-26.5 0-48 21.5-48 48V336c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48V176c0-26.5-21.5-48-48-48H336z\"]\n};\nvar faFolder = {\n prefix: 'far',\n iconName: 'folder',\n icon: [512, 512, [128193, 128447, 61716, \"folder-blank\"], \"f07b\", \"M0 96C0 60.7 28.7 32 64 32H196.1c19.1 0 37.4 7.6 50.9 21.1L289.9 96H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16H286.6c-10.6 0-20.8-4.2-28.3-11.7L213.1 87c-4.5-4.5-10.6-7-17-7H64z\"]\n};\nvar faFolderBlank = faFolder;\nvar faFaceAnxiousSweat = {\n prefix: 'far',\n iconName: 'face-anxious-sweat',\n icon: [576, 512, [], \"e36a\", \"M496 256c0 114.9-93.1 208-208 208c-65.4 0-123.8-30.2-162-77.5c-3.9 17.1-13.4 32-26.4 42.8C146.4 480.2 213.5 512 288 512c141.4 0 256-114.6 256-256S429.4 0 288 0S32 114.6 32 256c0 1.1 0 2.2 0 3.3c16.3-7.1 36.4-2.8 48 12.8l.7 .9c-.5-5.6-.7-11.3-.7-17C80 141.1 173.1 48 288 48s208 93.1 208 208zM48 416c12 0 23-4.3 31.5-11.5C89.6 395.9 96 383.2 96 369c0-20-28.4-60.4-41.6-77.7c-3.2-4.4-9.6-4.4-12.8 0c-1.7 2.3-3.8 5-5.9 8.1C21.4 319.1 0 351.7 0 369c0 26 21.5 47 48 47zM335.6 272a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm-128 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm19.7-155.3c-6.2-6.2-16.4-6.2-22.6 0l-7.4 7.4c-18.9 18.9-43.2 31.4-69.5 35.7l-2.5 .4c-8.7 1.5-14.6 9.7-13.2 18.4s9.7 14.6 18.4 13.2l2.5-.4c32.9-5.5 63.3-21.1 86.8-44.7l7.4-7.4c6.2-6.2 6.2-16.4 0-22.6zm121.4 22.6l7.4 7.4c23.6 23.6 53.9 39.2 86.8 44.7l2.5 .4c8.7 1.5 17-4.4 18.4-13.2s-4.4-17-13.2-18.4l-2.5-.4c-26.3-4.4-50.6-16.9-69.5-35.7l-7.4-7.4c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6zM288 320c-44.2 0-80 35.8-80 80c0 8.8 7.2 16 16 16H352c8.8 0 16-7.2 16-16c0-44.2-35.8-80-80-80z\"]\n};\nvar faCreditCardBlank = {\n prefix: 'far',\n iconName: 'credit-card-blank',\n icon: [576, 512, [], \"f389\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H512c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM96 360c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24zm128 0c0-13.3 10.7-24 24-24H360c13.3 0 24 10.7 24 24s-10.7 24-24 24H248c-13.3 0-24-10.7-24-24z\"]\n};\nvar faFileWaveform = {\n prefix: 'far',\n iconName: 'file-waveform',\n icon: [448, 512, [\"file-medical-alt\"], \"f478\", \"M384 464H128c-8.8 0-16-7.2-16-16V352H64v96c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L338.7 18.7C326.7 6.7 310.5 0 293.5 0H128C92.7 0 64 28.7 64 64V240h48V64c0-8.8 7.2-16 16-16H288v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16zM276.8 228.1c-4.4-7.7-12.7-12.3-21.5-12.1s-16.8 5.3-20.8 13.3l-45.5 91L164 282.7C159.5 276 152 272 144 272H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H131.2L172 381.3c4.7 7.1 12.9 11.2 21.5 10.6s16.1-5.6 20-13.2l43.9-87.9 9.8 17.1c4.3 7.5 12.2 12.1 20.8 12.1h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H301.9l-25.1-43.9z\"]\n};\nvar faFileMedicalAlt = faFileWaveform;\nvar faMicrochipAi = {\n prefix: 'far',\n iconName: 'microchip-ai',\n icon: [512, 512, [], \"e1ec\", \"M184 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64h-8c-35.3 0-64 28.7-64 64v8H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H64v48H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H64v48H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H64v8c0 35.3 28.7 64 64 64h8v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448h48v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448h48v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448h8c35.3 0 64-28.7 64-64v-8h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H448V280h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H448V184h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H448v-8c0-35.3-28.7-64-64-64h-8V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H280V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H184V24zM112 128c0-8.8 7.2-16 16-16H384c8.8 0 16 7.2 16 16V384c0 8.8-7.2 16-16 16H128c-8.8 0-16-7.2-16-16V128zm224 44c-11 0-20 9-20 20V320c0 11 9 20 20 20s20-9 20-20V192c0-11-9-20-20-20zM234.3 184c-3.2-7.3-10.4-12-18.3-12s-15.1 4.7-18.3 12l-56 128c-4.4 10.1 .2 21.9 10.3 26.3s21.9-.2 26.3-10.3l5.3-12h64.8l5.3 12c4.4 10.1 16.2 14.7 26.3 10.3s14.7-16.2 10.3-26.3l-56-128zM216 241.9L230.9 276H201.1L216 241.9z\"]\n};\nvar faMug = {\n prefix: 'far',\n iconName: 'mug',\n icon: [576, 512, [], \"f874\", \"M80 352c0 26.5 21.5 48 48 48H320c26.5 0 48-21.5 48-48V112H80V352zM32 96c0-17.7 14.3-32 32-32H384h64c70.7 0 128 57.3 128 128s-57.3 128-128 128H416v32c0 53-43 96-96 96H128c-53 0-96-43-96-96V96zM416 272h32c44.2 0 80-35.8 80-80s-35.8-80-80-80H416V272z\"]\n};\nvar faPlaneUpSlash = {\n prefix: 'far',\n iconName: 'plane-up-slash',\n icon: [640, 512, [], \"e22e\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L504.2 369.9l19.6 6.3c25.8 8.3 52.2-11 52.2-38.1l0-40.6c0-19.1-9.7-36.9-25.8-47.2L400 154.2l0-26.2c0-20.6-5.8-49.8-16.5-74.4c-5.4-12.4-12.7-25-22.4-34.9C351.2 8.6 337.4 0 320 0c-17.4 0-31.1 8.8-40.7 18.7c-9.6 9.9-16.9 22.4-22.4 34.8C246.1 78 240 107.3 240 128l0 26.2-6 3.9L38.8 5.1zM274 189.5l2.9-1.9c6.9-4.4 11.1-12 11.1-20.2l0-39.4c0-13.4 4.4-36.1 12.8-55.1c4.2-9.4 8.7-16.4 12.9-20.7c4.1-4.2 6.1-4.2 6.3-4.2c0 0 0 0 0 0c.6 0 2.8 .1 6.8 4.2c4.2 4.3 8.6 11.2 12.7 20.6C347.8 91.7 352 114.4 352 128l0 39.4c0 8.2 4.2 15.8 11.1 20.2L524.3 290.8c2.3 1.5 3.7 4 3.7 6.7l0 29.6L395.6 284.7 274 189.5zM464 461.6l-48-37.8 0 12.2 0 12 0 12.4-88.9-27.4c-4.6-1.4-9.5-1.4-14.1 0c-15.5 4.8-42 12.8-64.6 19.6c-9.1 2.7-17.5 5.3-24.3 7.3l0-23.9 54.4-40.8c6-4.5 9.6-11.6 9.6-19.2l0-53.1-47-37.1L112 327.1l0-29.6c0-2.7 1.4-5.3 3.7-6.7l72.6-46.4-39.9-31.4L89.8 250.3l12.9 20.2L89.8 250.3C73.7 260.6 64 278.4 64 297.5l0 40.6c0 27.1 26.4 46.4 52.2 38.1L240 336.6l0 27.4-48 36c-10.1 7.6-16 19.4-16 32l0 42.1c0 20.9 17 37.9 37.9 37.9c2.3 0 4.6-.3 6.9-1l-6.9-23c6.9 23 6.9 23 6.9 23s0 0 0 0s0 0 0 0c0 0 0 0 0 0l.2 0 .6-.2 2.4-.7 8.9-2.7c7.5-2.2 17.8-5.4 29.2-8.8c19.5-5.9 42-12.6 57.8-17.5l95 29.2c24 7.4 49.1-10.7 49.1-36.2l0-12.5z\"]\n};\nvar faRadiation = {\n prefix: 'far',\n iconName: 'radiation',\n icon: [512, 512, [], \"f7b9\", \"M113.2 104.7l41.9 72.5c-7.3 9.3-13.3 19.6-17.8 30.8l-83.8 0c9.5-40.1 30.6-75.8 59.7-103.3zm83.1 350.6l41.9-72.6c5.8 .8 11.8 1.2 17.8 1.2s11.9-.4 17.8-1.2l41.9 72.6C296.8 461 276.8 464 256 464s-40.8-3-59.7-8.7zM398.8 104.7c29.1 27.5 50.2 63.1 59.7 103.3l-83.8 0c-4.5-11.1-10.5-21.5-17.8-30.8l41.9-72.5zM160 256c8.8 0 15.8-7.2 17.6-15.9c3.5-17.4 12.7-32.8 25.5-44.1c6.6-5.8 9.4-15.5 5-23.2L144 62c-8.8-15.3-28.6-20.7-42.7-10C47.8 92.7 10.7 154 2 224.1C-.2 241.6 14.3 256 32 256l128 0zm48 83.2L144 450.1c-8.8 15.3-3.7 35.1 12.6 41.9c30.6 12.9 64.2 20 99.4 20s68.9-7.1 99.4-20c16.3-6.9 21.4-26.6 12.6-41.9L304 339.2c-4.4-7.7-14.2-10.1-22.6-7.3c-8 2.7-16.5 4.1-25.4 4.1s-17.4-1.4-25.4-4.1c-8.4-2.8-18.2-.4-22.6 7.3zm126.4-99.1c1.7 8.7 8.7 15.9 17.6 15.9l128 0c17.7 0 32.2-14.4 30-31.9C501.3 154 464.2 92.7 410.7 52c-14.1-10.7-33.8-5.3-42.7 10L304 172.9c-4.4 7.6-1.7 17.3 5 23.2c12.8 11.3 22 26.7 25.5 44.1zM256 304a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faPenCircle = {\n prefix: 'far',\n iconName: 'pen-circle',\n icon: [512, 512, [], \"e20e\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM357.8 139.7l14.4 14.4c15.6 15.6 15.6 40.9 0 56.6l-21.4 21.4-71-71 21.4-21.4c15.6-15.6 40.9-15.6 56.6 0zM151.9 289L257.1 183.8l71 71L222.9 359.9c-4.1 4.1-9.2 7-14.9 8.4l-60.1 15c-5.5 1.4-11.2-.2-15.2-4.2s-5.6-9.7-4.2-15.2l15-60.1c1.4-5.6 4.3-10.8 8.4-14.9z\"]\n};\nvar faBagSeedling = {\n prefix: 'far',\n iconName: 'bag-seedling',\n icon: [512, 512, [], \"e5f2\", \"M91.9 150.1C84 181.9 80 214.4 80 247.2v17.7c0 32.7 4 65.3 11.9 97L97.5 384h317l5.5-22.1c7.9-31.7 11.9-64.3 11.9-97V247.2c0-32.7-4-65.3-11.9-97L414.5 128H97.5l-5.5 22.1zM427.5 48H84.5L98.7 80H413.3l14.2-32zM83.7 464H428.3l-12.8-32H96.5L83.7 464zM55 99.8L35.4 55.7C33.2 50.6 32 45.1 32 39.6C32 17.7 49.7 0 71.6 0H440.4C462.3 0 480 17.7 480 39.6c0 5.5-1.2 11-3.4 16.1L457 99.8l9.7 38.7c8.9 35.5 13.4 72 13.4 108.7v17.7c0 36.6-4.5 73.1-13.4 108.7l-8.8 35.1 19.3 48.2c1.9 4.8 2.9 9.8 2.9 14.9c0 22.2-18 40.2-40.2 40.2H72.2C50 512 32 494 32 471.8c0-5.1 1-10.2 2.9-14.9l19.3-48.2-8.8-35.1C36.5 338 32 301.5 32 264.8V247.2c0-36.6 4.5-73.1 13.4-108.7L55 99.8zM144 160h2c47.3 0 88.4 26 110 64.5C277.6 186 318.7 160 366 160h2c8.8 0 16 7.2 16 16c0 59.2-45.9 107.6-104 111.7V328c0 13.3-10.7 24-24 24s-24-10.7-24-24V287.7c-58.1-4.1-104-52.6-104-111.7c0-8.8 7.2-16 16-16z\"]\n};\nvar faChartSimple = {\n prefix: 'far',\n iconName: 'chart-simple',\n icon: [448, 512, [], \"e473\", \"M240 80V432H208V80h32zM208 32c-26.5 0-48 21.5-48 48V432c0 26.5 21.5 48 48 48h32c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H208zM80 272V432H48V272H80zM48 224c-26.5 0-48 21.5-48 48V432c0 26.5 21.5 48 48 48H80c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48H48zm320-80h32V432H368V144zm-48 0V432c0 26.5 21.5 48 48 48h32c26.5 0 48-21.5 48-48V144c0-26.5-21.5-48-48-48H368c-26.5 0-48 21.5-48 48z\"]\n};\nvar faCrutches = {\n prefix: 'far',\n iconName: 'crutches',\n icon: [640, 512, [], \"f7f8\", \"M183 7L7 183c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l15-15L201.9 347.8c1.9 1.9 3.8 3.6 5.8 5.3l3.5-3.5c1.1-1.1 1.8-2.4 2.2-3.9l9.9-44.4L89.9 168 168 89.9l95.7 95.7c1.9-2.2 3.9-4.3 5.9-6.4l27.8-27.8L201.9 56l15-15c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0zM402 402.7l-27.2 6L471 505c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-77.2-77.2c-8.2 3.9-16.8 6.9-25.8 8.9zM423 7c-9.4 9.4-9.4 24.6 0 33.9L599 217c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L457 7c-9.4-9.4-24.6-9.4-33.9 0zm-7.6 71.6L292.2 201.9c-11.8 11.8-20 26.8-23.7 43.1L244.6 352.6c-1.7 7.4-5.4 14.2-10.8 19.6L135 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l98.8-98.8c5.4-5.4 12.2-9.1 19.6-10.8L395 371.5c16.3-3.6 31.3-11.8 43.1-23.7L561.4 224.6l-33.9-33.9L456 262.1 377.9 184l71.4-71.4L415.4 78.6zM326.2 235.8L344 217.9 422.1 296l-17.8 17.9c-5.4 5.4-12.2 9.1-19.6 10.8l-89 19.8 19.8-89c1.7-7.4 5.4-14.2 10.8-19.6z\"]\n};\nvar faCircleParking = {\n prefix: 'far',\n iconName: 'circle-parking',\n icon: [512, 512, [\"parking-circle\"], \"f615\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm216 16h64c26.5 0 48-21.5 48-48s-21.5-48-48-48H216v96zm64 48H216v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V296 160c0-17.7 14.3-32 32-32h80c53 0 96 43 96 96s-43 96-96 96z\"]\n};\nvar faParkingCircle = faCircleParking;\nvar faMarsStroke = {\n prefix: 'far',\n iconName: 'mars-stroke',\n icon: [512, 512, [9894], \"f229\", \"M352 24c0-13.3 10.7-24 24-24H488c13.3 0 24 10.7 24 24V136c0 13.3-10.7 24-24 24s-24-10.7-24-24V81.9L409.9 136l31 31c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-31-31-27.7 27.7C370.7 227.2 384 264.1 384 304c0 97.2-78.8 176-176 176s-176-78.8-176-176s78.8-176 176-176c39.9 0 76.8 13.3 106.3 35.7L342.1 136l-31-31c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l31 31L430.1 48H376c-13.3 0-24-10.7-24-24zM208 432a128 128 0 1 0 0-256 128 128 0 1 0 0 256z\"]\n};\nvar faLeafOak = {\n prefix: 'far',\n iconName: 'leaf-oak',\n icon: [512, 512, [], \"f6f7\", \"M302 0c-33.4 0-62.4 22.7-70.5 55.1l-1.9 7.5c-25.2-23.7-64.8-23.2-89.4 1.4c-14.3 14.3-21 34.5-18.2 54.6l5.4 37.6c-20.5-2-41.6 5-57 20.4l-3.2 3.2c-23.2 23.2-29 58.7-14.3 88.1l12.4 24.7c7.2 14.4 11 30.4 11 46.5v62.8L7 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l72.4-72.4h56.3c16.1 0 32.1 3.8 46.5 11l24.7 12.4c29.4 14.7 64.9 8.9 88.1-14.3l3.2-3.2c15.4-15.4 22.4-36.5 20.4-57l37.6 5.4c20 2.9 40.2-3.9 54.6-18.2c24.6-24.6 25.1-64.2 1.4-89.4l7.5-1.9c32.4-8.1 55.1-37.2 55.1-70.5c0-24.3-12.2-47-32.4-60.5l-7-4.6 2.8-11.3c6.6-26.4-1.1-54.3-20.3-73.5s-47.1-26.9-73.5-20.4l-11.3 2.8-4.6-7C349 12.1 326.3 0 302 0zM161.3 384.6L313.9 232.1c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L124.1 353.9V339.1c0-23.6-5.5-46.9-16-68L95.7 246.4c-5.4-10.9-3.3-24.1 5.3-32.7l3.2-3.2c7.7-7.7 19.7-8.8 28.7-2.8c21.5 14.3 49.7-3.5 46.1-29l-9.5-66.8c-.7-5.1 1-10.2 4.6-13.8c6.4-6.4 16.7-6.4 23 0l18.5 18.5c17.6 17.6 47.6 9.3 53.7-14.9L278 66.7c2.7-11 12.6-18.7 24-18.7c8.3 0 16 4.1 20.6 11l7.8 11.7c9.4 14.1 26.6 20.7 43 16.6L390 83.1c10-2.5 20.6 .4 27.9 7.7s10.2 17.9 7.7 27.9l-4.2 16.7c-4.1 16.4 2.6 33.6 16.6 43l11.7 7.8c6.9 4.6 11 12.3 11 20.6c0 11.3-7.7 21.2-18.7 24l-34.9 8.7c-24.1 6-32.5 36.1-14.9 53.7l18.5 18.5c6.4 6.4 6.4 16.7 0 23c-3.6 3.6-8.7 5.3-13.8 4.6l-66.8-9.5c-25.5-3.6-43.4 24.6-29 46.1c6 9 4.8 21-2.8 28.7l-3.2 3.2c-8.6 8.6-21.8 10.7-32.7 5.3l-24.7-12.4c-21.1-10.6-44.4-16-68-16h-8.3z\"]\n};\nvar faSquareBolt = {\n prefix: 'far',\n iconName: 'square-bolt',\n icon: [448, 512, [], \"e265\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm298.1 19.6c5.8 4.7 7.6 12.9 4.3 19.6L249.9 240H320c6.8 0 12.9 4.3 15.1 10.7s.2 13.5-5.1 17.8l-160 128c-5.9 4.7-14.2 4.7-20.1-.1s-7.6-12.9-4.3-19.6L198.1 272H128c-6.8 0-12.8-4.3-15.1-10.7s-.2-13.5 5.1-17.8l160-128c5.9-4.7 14.2-4.7 20.1 .1z\"]\n};\nvar faVial = {\n prefix: 'far',\n iconName: 'vial',\n icon: [512, 512, [129514], \"f492\", \"M329 7c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l15 15L30.2 335.8C10.9 355.2 0 381.4 0 408.8C0 465.8 46.2 512 103.2 512c27.4 0 53.6-10.9 73-30.2L456 201.9l15 15c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-32-32L361 39 329 7zm-151 249L344 89.9 422.1 168l-88 88H177.9z\"]\n};\nvar faGauge = {\n prefix: 'far',\n iconName: 'gauge',\n icon: [512, 512, [\"dashboard\", \"gauge-med\", \"tachometer-alt-average\"], \"f624\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm56-160c0-22.3-13.1-41.6-32-50.6V120c0-13.3-10.7-24-24-24s-24 10.7-24 24V301.4c-18.9 9-32 28.3-32 50.6c0 30.9 25.1 56 56 56s56-25.1 56-56zM160 192a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm-16 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm256 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM384 160a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faDashboard = faGauge;\nvar faGaugeMed = faGauge;\nvar faTachometerAltAverage = faGauge;\nvar faWandMagicSparkles = {\n prefix: 'far',\n iconName: 'wand-magic-sparkles',\n icon: [576, 512, [\"magic-wand-sparkles\"], \"e2ca\", \"M234.7 42.7L197 56.8c-3 1.1-5 4-5 7.2s2 6.1 5 7.2l37.7 14.1L248.8 123c1.1 3 4 5 7.2 5s6.1-2 7.2-5l14.1-37.7L315 71.2c3-1.1 5-4 5-7.2s-2-6.1-5-7.2L277.3 42.7 263.2 5c-1.1-3-4-5-7.2-5s-6.1 2-7.2 5L234.7 42.7zM461.4 48L496 82.6 386.2 192.3l-34.6-34.6L461.4 48zM80 429.4L317.7 191.7l34.6 34.6L114.6 464 80 429.4zM427.4 14.1L46.1 395.4c-18.7 18.7-18.7 49.1 0 67.9l34.6 34.6c18.7 18.7 49.1 18.7 67.9 0L529.9 116.5c18.7-18.7 18.7-49.1 0-67.9L495.3 14.1c-18.7-18.7-49.1-18.7-67.9 0zM7.5 117.2C3 118.9 0 123.2 0 128s3 9.1 7.5 10.8L64 160l21.2 56.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L128 160l56.5-21.2c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L128 96 106.8 39.5C105.1 35 100.8 32 96 32s-9.1 3-10.8 7.5L64 96 7.5 117.2zm352 256c-4.5 1.7-7.5 6-7.5 10.8s3 9.1 7.5 10.8L416 416l21.2 56.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L480 416l56.5-21.2c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L480 352l-21.2-56.5c-1.7-4.5-6-7.5-10.8-7.5s-9.1 3-10.8 7.5L416 352l-56.5 21.2z\"]\n};\nvar faMagicWandSparkles = faWandMagicSparkles;\nvar faLambda = {\n prefix: 'far',\n iconName: 'lambda',\n icon: [448, 512, [], \"f66e\", \"M24 32C10.7 32 0 42.7 0 56S10.7 80 24 80H132.6c3 0 5.7 1.7 7.1 4.3l10.2 19.6L2 446.5c-5.3 12.2 .4 26.3 12.5 31.5s26.3-.3 31.5-12.5L178.4 158.9l151.3 291c9.6 18.5 28.8 30.2 49.7 30.2H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H379.4c-3 0-5.7-1.7-7.1-4.3L182.3 62.2C172.6 43.6 153.5 32 132.6 32H24z\"]\n};\nvar faE = {\n prefix: 'far',\n iconName: 'e',\n icon: [320, 512, [101], \"45\", \"M56 32C25.1 32 0 57.1 0 88V256 424c0 30.9 25.1 56 56 56H296c13.3 0 24-10.7 24-24s-10.7-24-24-24H56c-4.4 0-8-3.6-8-8V272H232c13.3 0 24-10.7 24-24s-10.7-24-24-24H48V88c0-4.4 3.6-8 8-8H296c13.3 0 24-10.7 24-24s-10.7-24-24-24H56z\"]\n};\nvar faPizza = {\n prefix: 'far',\n iconName: 'pizza',\n icon: [576, 512, [127829], \"f817\", \"M254.2 322.1c-8.4 3.8-14.2 12.2-14.2 21.9c0 13.3 10.7 24 24 24c9.8 0 18.2-5.8 21.9-14.2L318.1 386c-18.8 9-39.8 14-62.1 14c-79.5 0-144-64.5-144-144s64.5-144 144-144c22.2 0 43.3 5 62.1 14l-84.7 84.7c-25 25-25 65.5 0 90.5l20.8 20.8zm87.6 87.6l23.4 23.4C333.5 452.7 296.1 464 256 464C141.1 464 48 370.9 48 256S141.1 48 256 48c40.1 0 77.5 11.3 109.2 30.9l-23.4 23.4C316.4 88.1 287.1 80 256 80C158.8 80 80 158.8 80 256s78.8 176 176 176c31.1 0 60.4-8.1 85.8-22.3zM425.4 448c6.6-5.8 6.6-16 .3-22.3L267.3 267.3c-6.2-6.2-6.2-16.4 0-22.6L425.7 86.3C432 80 432 69.9 425.4 64C380.2 24.2 320.9 0 256 0C114.6 0 0 114.6 0 256S114.6 512 256 512c64.9 0 124.2-24.2 169.4-64zm71.7-82.8l-23.4-23.4C487.9 316.4 496 287.1 496 256s-8.1-60.4-22.3-85.8l23.4-23.4C516.7 178.5 528 215.9 528 256s-11.3 77.5-30.9 109.2zM464 256c0 22.2-5 43.3-14 62.1L387.9 256 450 193.9c9 18.8 14 39.8 14 62.1zm48 169.4c39.8-45.1 64-104.4 64-169.4s-24.2-124.2-64-169.4c-5.8-6.6-16-6.6-22.3-.3L331.3 244.7c-6.2 6.2-6.2 16.4 0 22.6L489.7 425.7c6.2 6.2 16.4 6.3 22.3-.3zM216 192a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm-32 64a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faBowlChopsticksNoodles = {\n prefix: 'far',\n iconName: 'bowl-chopsticks-noodles',\n icon: [512, 512, [], \"e2ea\", \"M13.1 93.6L128 72V56c0-13.3 10.7-24 24-24s24 10.7 24 24v7 37.5 38V176v48 0h32v0V176 137.5v-42V57 40c0-13.3 10.7-24 24-24s24 10.7 24 24v8V88v48 40 48 0h32v0H464c26.5 0 48 21.5 48 48c0 90.8-54.1 169-131.7 204.2c-8.1 21-28.4 35.8-52.3 35.8H184c-23.8 0-44.2-14.9-52.3-35.8C54.1 441 0 362.8 0 272c0-26.5 21.5-48 48-48h80V176H16.2C7.3 176 0 168.7 0 159.7c0-8.8 7-16 15.7-16.2L128 140V108L18.5 125.1C8.8 126.6 0 119.1 0 109.3C0 101.6 5.5 95 13.1 93.6zM488.4 176H288V135l199.6-6.2C501 128.3 512 139 512 152.4c0 13-10.6 23.6-23.6 23.6zm3.9-124.9L288 83V42L484.4 5.2C498.7 2.5 512 13.5 512 28.1c0 11.5-8.4 21.2-19.7 23zM151.5 432.5c11.5 5.2 20.4 14.7 25 26.4c1.2 3.1 4.2 5.1 7.5 5.1H328c3.3 0 6.3-2 7.5-5.1c4.5-11.7 13.5-21.2 25-26.4C421.6 404.8 464 343.3 464 272H48c0 71.3 42.4 132.8 103.5 160.5z\"]\n};\nvar faH3 = {\n prefix: 'far',\n iconName: 'h3',\n icon: [640, 512, [], \"f315\", \"M48 88c0-13.3-10.7-24-24-24S0 74.7 0 88V248 424c0 13.3 10.7 24 24 24s24-10.7 24-24V272H272V424c0 13.3 10.7 24 24 24s24-10.7 24-24V248 88c0-13.3-10.7-24-24-24s-24 10.7-24 24V224H48V88zM400 64c-13.3 0-24 10.7-24 24s10.7 24 24 24H542.1L423 231c-6.9 6.9-8.9 17.2-5.2 26.2s12.5 14.8 22.2 14.8h88c35.3 0 64 28.7 64 64s-28.7 64-64 64H455.4c-15.6 0-29-11.3-31.6-26.7l-.2-1.2c-2.2-13.1-14.5-21.9-27.6-19.7s-21.9 14.5-19.7 27.6l.2 1.2c6.4 38.6 39.8 66.8 78.9 66.8H528c61.9 0 112-50.1 112-112s-50.1-112-112-112H497.9L617 105c6.9-6.9 8.9-17.2 5.2-26.2S609.7 64 600 64H400z\"]\n};\nvar faPenClip = {\n prefix: 'far',\n iconName: 'pen-clip',\n icon: [512, 512, [\"pen-alt\"], \"f305\", \"M320 62.1l42.7-42.7c25-25 65.5-25 90.5 0l39.4 39.4c25 25 25 65.5 0 90.5L229.5 412.5c-48 48-109.2 80.8-175.8 94.1l-25 5c-7.9 1.6-16-.9-21.7-6.6s-8.1-13.8-6.6-21.7l5-25c13.3-66.6 46.1-127.8 94.1-175.8L286.1 96 273 82.9c-9.4-9.4-24.6-9.4-33.9 0L137 185c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L205.1 49c28.1-28.1 73.7-28.1 101.8 0L320 62.1zm0 67.9L133.5 316.5c-38.8 38.8-66 87.5-78.6 140.7c53.2-12.7 101.9-39.9 140.7-78.6L382.1 192 320 129.9z\"]\n};\nvar faPenAlt = faPenClip;\nvar faBridgeCircleExclamation = {\n prefix: 'far',\n iconName: 'bridge-circle-exclamation',\n icon: [640, 512, [], \"e4ca\", \"M56 32C42.7 32 32 42.7 32 56s10.7 24 24 24h48v64H56c-13.3 0-24 10.7-24 24s10.7 24 24 24h72H256 496h88c13.3 0 24-10.7 24-24s-10.7-24-24-24H536V80h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H56zM339.1 288.1c8-15.7 18.3-30 30.4-42.5C359 241.9 347.8 240 336 240H304c-57.4 0-104 46.6-104 104v88H152V336c0-53-43-96-96-96c-13.3 0-24 10.7-24 24s10.7 24 24 24c26.5 0 48 21.5 48 48V440c0 22.1 17.9 40 40 40h64c22.1 0 40-17.9 40-40V344c0-30.9 25.1-56 56-56h32c1.1 0 2.1 0 3.1 .1zM488 80v64H408V80h80zM360 80v64H280V80h80zM232 80v64H152V80h80zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-144c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V288c0-8.8 7.2-16 16-16z\"]\n};\nvar faBadgePercent = {\n prefix: 'far',\n iconName: 'badge-percent',\n icon: [512, 512, [], \"f646\", \"M200.3 81.5C210.9 61.5 231.9 48 256 48s45.1 13.5 55.7 33.5C317.1 91.7 329 96.6 340 93.2c21.6-6.6 46.1-1.4 63.1 15.7s22.3 41.5 15.7 63.1c-3.4 11 1.5 22.9 11.7 28.2c20 10.6 33.5 31.6 33.5 55.7s-13.5 45.1-33.5 55.7c-10.2 5.4-15.1 17.2-11.7 28.2c6.6 21.6 1.4 46.1-15.7 63.1s-41.5 22.3-63.1 15.7c-11-3.4-22.9 1.5-28.2 11.7c-10.6 20-31.6 33.5-55.7 33.5s-45.1-13.5-55.7-33.5c-5.4-10.2-17.2-15.1-28.2-11.7c-21.6 6.6-46.1 1.4-63.1-15.7S86.6 361.6 93.2 340c3.4-11-1.5-22.9-11.7-28.2C61.5 301.1 48 280.1 48 256s13.5-45.1 33.5-55.7C91.7 194.9 96.6 183 93.2 172c-6.6-21.6-1.4-46.1 15.7-63.1S150.4 86.6 172 93.2c11 3.4 22.9-1.5 28.2-11.7zM256 0c-35.9 0-67.8 17-88.1 43.4c-33-4.3-67.6 6.2-93 31.6s-35.9 60-31.6 93C17 188.2 0 220.1 0 256s17 67.8 43.4 88.1c-4.3 33 6.2 67.6 31.6 93s60 35.9 93 31.6C188.2 495 220.1 512 256 512s67.8-17 88.1-43.4c33 4.3 67.6-6.2 93-31.6s35.9-60 31.6-93C495 323.8 512 291.9 512 256s-17-67.8-43.4-88.1c4.3-33-6.2-67.6-31.6-93s-60-35.9-93-31.6C323.8 17 291.9 0 256 0zM192 224a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm160 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM337 209c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L175 303c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L337 209z\"]\n};\nvar faRotateReverse = {\n prefix: 'far',\n iconName: 'rotate-reverse',\n icon: [512, 512, [], \"e631\", \"M418 187.1C391.2 124.1 328.7 80 256 80c-39.7 0-77.8 15.8-105.9 43.9l-4.1 4.1 35.7 35.7c6.6 6.6 10.3 15.6 10.3 25c0 19.5-15.8 35.3-35.3 35.3H40c-13.3 0-24-10.7-24-24V83.3C16 63.8 31.8 48 51.3 48c9.4 0 18.3 3.7 25 10.3L112 94.1l4.1-4.1C153.2 52.8 203.5 32 256 32c92.6 0 172.1 56.2 206.2 136.3c5.2 12.2-.5 26.3-12.7 31.5s-26.3-.5-31.5-12.7zM50 344.1c-5.2-12.2 .4-26.3 12.6-31.5s26.3 .4 31.5 12.6C121 388.1 183.4 432 256 432c39.7 0 77.8-15.8 105.9-43.9l4.1-4.1-35.7-35.7c-6.6-6.6-10.3-15.6-10.3-25c0-19.5 15.8-35.3 35.3-35.3H472c13.3 0 24 10.7 24 24V428.7c0 19.5-15.8 35.3-35.3 35.3c-9.4 0-18.3-3.7-25-10.3L400 417.9l-4.1 4.1C358.8 459.2 308.5 480 256 480c-92.5 0-171.8-56-206-135.9zM64 176h62.1L64 113.9V176zM448 336H385.9L448 398.1V336z\"]\n};\nvar faUser = {\n prefix: 'far',\n iconName: 'user',\n icon: [448, 512, [128100, 62144], \"f007\", \"M304 128a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zM96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM49.3 464H398.7c-8.9-63.3-63.3-112-129-112H178.3c-65.7 0-120.1 48.7-129 112zM0 482.3C0 383.8 79.8 304 178.3 304h91.4C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7H29.7C13.3 512 0 498.7 0 482.3z\"]\n};\nvar faSensor = {\n prefix: 'far',\n iconName: 'sensor',\n icon: [448, 512, [], \"e028\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm144 56V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24s24 10.7 24 24zm96 0V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faComma = {\n prefix: 'far',\n iconName: 'comma',\n icon: [192, 512, [], \"2c\", \"M120 353.4c0-9.6-7.8-17.4-17.4-17.4c-8.4 0-15.6 6-17.1 14.3L66.7 453.6l50.4-85.7c1.9-3.3 2.9-7 2.9-10.7v-3.8zm48 0v3.8c0 12.3-3.3 24.4-9.5 35.1l-57.2 97.2C93.1 503.4 78 512 61.8 512H60c-24.3 0-44-19.7-44-44c0-2.6 .2-5.3 .7-7.9L38.2 341.7C43.9 310.6 71 288 102.6 288c36.1 0 65.4 29.3 65.4 65.4z\"]\n};\nvar faSchoolCircleCheck = {\n prefix: 'far',\n iconName: 'school-circle-check',\n icon: [640, 512, [], \"e56b\", \"M333.3 4c-8.1-5.4-18.6-5.4-26.6 0l-138 92H72C32.2 96 0 128.2 0 168V440c0 39.8 32.2 72 72 72H256 384h10.8C349.5 480.1 320 427.5 320 368c0-16.5 2.3-32.5 6.5-47.7c-2.1-.2-4.3-.3-6.5-.3c-35.3 0-64 28.7-64 64v80H72c-13.3 0-24-10.7-24-24V168c0-13.3 10.7-24 24-24H176c4.7 0 9.4-1.4 13.3-4L320 52.8 450.7 140c3.9 2.6 8.6 4 13.3 4H568c13.3 0 24 10.7 24 24v52.5c18.8 12.3 35.1 28 48 46.3V168c0-39.8-32.2-72-72-72H471.3L333.3 4zm20.2 260.6c10.9-15 24.1-28.2 39.1-39.1c4.7-10.2 7.3-21.5 7.3-33.5c0-44.2-35.8-80-80-80s-80 35.8-80 80s35.8 80 80 80c12 0 23.3-2.6 33.5-7.3zM96 208v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H112c-8.8 0-16 7.2-16 16zm16 112c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V336c0-8.8-7.2-16-16-16H112zM320 144c8.8 0 16 7.2 16 16v16h8c8.8 0 16 7.2 16 16s-7.2 16-16 16H320c-8.8 0-16-7.2-16-16V160c0-8.8 7.2-16 16-16zM640 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-99.3-43.3c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 385.4l60.7-60.7z\"]\n};\nvar faToiletPaperUnder = {\n prefix: 'far',\n iconName: 'toilet-paper-under',\n icon: [512, 512, [\"toilet-paper-reverse\"], \"e2a0\", \"M48 192c0 43.3 9.2 81.3 23 107.7c14.4 27.5 30.1 36.3 41 36.3H324.7c-3-4.5-5.7-9.3-8.2-14.1C298.5 287.4 288 241.5 288 192s10.5-95.4 28.5-129.9c2.5-4.8 5.3-9.5 8.2-14.1H112c-10.9 0-26.6 8.9-41 36.3C57.2 110.7 48 148.7 48 192zM359 84.3c-13.8 26.3-23 64.3-23 107.7s9.2 81.3 23 107.7c14.4 27.5 30.1 36.3 41 36.3s26.6-8.9 41-36.3c13.8-26.3 23-64.3 23-107.7s-9.2-81.3-23-107.7C426.6 56.9 410.9 48 400 48s-26.6 8.9-41 36.3zM464 456V351.1c-16.6 19.3-38.1 32.9-64 32.9H112c-37.7 0-66-28.7-83.5-62.1C10.5 287.4 0 241.5 0 192S10.5 96.6 28.5 62.1C46 28.7 74.3 0 112 0H400c37.7 0 66 28.7 83.5 62.1C501.5 96.6 512 142.5 512 192V456c0 30.9-25.1 56-56 56H216c-30.9 0-56-25.1-56-56V416h48v40c0 4.4 3.6 8 8 8H456c4.4 0 8-3.6 8-8zM400 240c-13.3 0-24-21.5-24-48s10.7-48 24-48s24 21.5 24 48s-10.7 48-24 48zM112 192a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm64 0a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faToiletPaperReverse = faToiletPaperUnder;\nvar faLightEmergency = {\n prefix: 'far',\n iconName: 'light-emergency',\n icon: [448, 512, [], \"e41f\", \"M352 304V208c0-70.7-57.3-128-128-128S96 137.3 96 208v96H48V208c0-97.2 78.8-176 176-176s176 78.8 176 176v96H352zM48 384l0 48H400V384H48zm0-48H400c26.5 0 48 21.5 48 48v48c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V384c0-26.5 21.5-48 48-48zM160 208c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-53 43-96 96-96c8.8 0 16 7.2 16 16s-7.2 16-16 16c-35.3 0-64 28.7-64 64z\"]\n};\nvar faArrowDownToArc = {\n prefix: 'far',\n iconName: 'arrow-down-to-arc',\n icon: [512, 512, [], \"e4ae\", \"M256 464c114.9 0 208-93.1 208-208c0-13.3 10.7-24 24-24s24 10.7 24 24c0 141.4-114.6 256-256 256S0 397.4 0 256c0-13.3 10.7-24 24-24s24 10.7 24 24c0 114.9 93.1 208 208 208zM377.6 232.3l-104 112c-4.5 4.9-10.9 7.7-17.6 7.7s-13-2.8-17.6-7.7l-104-112c-9-9.7-8.5-24.9 1.3-33.9s24.9-8.5 33.9 1.3L232 266.9 232 24c0-13.3 10.7-24 24-24s24 10.7 24 24l0 242.9 62.4-67.2c9-9.7 24.2-10.3 33.9-1.3s10.3 24.2 1.3 33.9z\"]\n};\nvar faDumpster = {\n prefix: 'far',\n iconName: 'dumpster',\n icon: [576, 512, [], \"f793\", \"M49.7 32c-10.5 0-19.8 6.9-22.9 16.9L.9 133c-.6 2-.9 4.1-.9 6.1C0 150.7 9.3 160 20.9 160h94L140.5 32H49.7zM272 160V32H173.1L147.5 160H272zm32 0H428.5L402.9 32H304V160zm157.1 0h94c11.5 0 20.9-9.3 20.9-20.9c0-2.1-.3-4.1-.9-6.1L549.2 48.9C546.1 38.9 536.8 32 526.3 32H435.5l25.6 128zM86.4 240H489.6l-20 160H106.4l-20-160zM112 448H464v8c0 13.3 10.7 24 24 24s24-10.7 24-24v-8l22-176h18c13.3 0 24-10.7 24-24s-10.7-24-24-24H540l4-32H495.6 80.4 32l4 32H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H42L64 448v8c0 13.3 10.7 24 24 24s24-10.7 24-24v-8z\"]\n};\nvar faVanShuttle = {\n prefix: 'far',\n iconName: 'van-shuttle',\n icon: [640, 512, [128656, \"shuttle-van\"], \"f5b6\", \"M48 96v96H176V80H64c-8.8 0-16 7.2-16 16zm0 144v80c0 8.8 7.2 16 16 16H76.8c16.6-28.7 47.6-48 83.2-48s66.6 19.3 83.2 48H396.8c16.6-28.7 47.6-48 83.2-48s66.6 19.3 83.2 48H576c8.8 0 16-7.2 16-16V240H360 200 48zm176-48H336V80H224V192zm160 0H564.1L471.3 82.8c-1.5-1.8-3.7-2.8-6.1-2.8H384V192zM640 320c0 35.3-28.7 64-64 64c0 53-43 96-96 96s-96-43-96-96H256c0 53-43 96-96 96s-96-43-96-96c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H200 360 465.2c16.4 0 32 7.2 42.7 19.7L626.7 191.5c8.6 10.1 13.3 23 13.3 36.3V320zM528 384a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM160 432a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faShuttleVan = faVanShuttle;\nvar faBuildingUser = {\n prefix: 'far',\n iconName: 'building-user',\n icon: [640, 512, [], \"e4da\", \"M64 48H320c8.8 0 16 7.2 16 16V415.7c11.3-20 27.9-36.7 48-47.9V271.8 64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c3.2 0 6.4-.2 9.5-.7c-6-10-9.5-21.8-9.5-34.4c0-4.4 .2-8.7 .7-13c-.2 0-.4 0-.7 0H240V400c0-26.5-21.5-48-48-48s-48 21.5-48 48v64H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16zm24 56v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V104c0-8.8-7.2-16-16-16H104c-8.8 0-16 7.2-16 16zM232 88c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V104c0-8.8-7.2-16-16-16H232zM88 232v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V232c0-8.8-7.2-16-16-16H104c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V232c0-8.8-7.2-16-16-16H232zm344 56a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zM352 477.1c0 19.3 15.6 34.9 34.9 34.9H605.1c19.3 0 34.9-15.6 34.9-34.9c0-51.4-41.7-93.1-93.1-93.1H445.1c-51.4 0-93.1 41.7-93.1 93.1z\"]\n};\nvar faLightSwitch = {\n prefix: 'far',\n iconName: 'light-switch',\n icon: [384, 512, [], \"e017\", \"M192 64c-10.4 0-19.3-6.7-22.6-16H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H169.4c3.3-9.3 12.2-16 22.6-16s19.3 6.7 22.6 16H320c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H214.6c-3.3 9.3-12.2 16-22.6 16zM0 64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM144 368h96V280H144v88zm0-224v88h96V144H144zm-48 0c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48V368c0 26.5-21.5 48-48 48H144c-26.5 0-48-21.5-48-48V144z\"]\n};\nvar faSquareCaretLeft = {\n prefix: 'far',\n iconName: 'square-caret-left',\n icon: [448, 512, [\"caret-square-left\"], \"f191\", \"M48 416c0 8.8 7.2 16 16 16l320 0c8.8 0 16-7.2 16-16l0-320c0-8.8-7.2-16-16-16L64 80c-8.8 0-16 7.2-16 16l0 320zm16 64c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l320 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480zm64-224c0-6.7 2.8-13 7.7-17.6l112-104c7-6.5 17.2-8.2 25.9-4.4s14.4 12.5 14.4 22l0 208c0 9.5-5.7 18.2-14.4 22s-18.9 2.1-25.9-4.4l-112-104c-4.9-4.5-7.7-10.9-7.7-17.6z\"]\n};\nvar faCaretSquareLeft = faSquareCaretLeft;\nvar faHighlighter = {\n prefix: 'far',\n iconName: 'highlighter',\n icon: [576, 512, [], \"f591\", \"M184 296.6v-48l22.5-16.2 113 113L303.4 368l-48 0c-12.7 0-24.9 5.1-33.9 14.1l-38.1 38.1-51.5-51.5 38.1-38.1c9-9 14.1-21.2 14.1-33.9zM502.8 90.2L347.9 306 246 204.1 461.8 49.2c1.1-.8 2.4-1.2 3.7-1.2c1.7 0 3.3 .7 4.5 1.9L502.1 82c1.2 1.2 1.9 2.8 1.9 4.5c0 1.3-.4 2.6-1.2 3.7zM255.4 416h48c15.5 0 30-7.4 39-20L541.8 118.2C548.4 109 552 97.9 552 86.5c0-14.4-5.7-28.2-15.9-38.4L503.9 15.9C493.7 5.7 479.9 0 465.5 0C454.1 0 443 3.6 433.8 10.2L156 209.6c-12.6 9-20 23.5-20 39v48L92.3 340.3c-10.7 10.7-14.1 26-10.1 39.5L9.4 452.7c-6 6-9.4 14.1-9.4 22.6V480c0 17.7 14.3 32 32 32h84.7c8.5 0 16.6-3.4 22.6-9.4l32.8-32.8c13.6 4 28.8 .6 39.5-10.1L255.4 416zM134.7 439.3L110.1 464H65.9l46.7-46.7 22.1 22.1z\"]\n};\nvar faWavePulse = {\n prefix: 'far',\n iconName: 'wave-pulse',\n icon: [640, 512, [\"heart-rate\"], \"f5f8\", \"M319.4 0c11.1-.3 21 7.1 23.8 17.9l79.3 303.9 27.1-57.7c9.2-19.6 29-32.2 50.7-32.2H616c13.3 0 24 10.7 24 24s-10.7 24-24 24H500.3c-3.1 0-5.9 1.8-7.2 4.6L437.7 402.2c-4.3 9.1-13.9 14.6-23.9 13.7s-18.5-8.1-21-17.8L322.7 129.4 247.5 492.9c-2.2 10.9-11.6 18.8-22.7 19.1s-21-6.9-23.9-17.6L143.3 285.9c-1-3.5-4.1-5.9-7.7-5.9H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H135.6c25.2 0 47.3 16.8 54 41.1l31 112.6L296.5 19.1C298.8 8.2 308.2 .3 319.4 0z\"]\n};\nvar faHeartRate = faWavePulse;\nvar faKey = {\n prefix: 'far',\n iconName: 'key',\n icon: [512, 512, [128273], \"f084\", \"M208 176c0-70.7 57.3-128 128-128s128 57.3 128 128s-57.3 128-128 128c-10.4 0-20.5-1.2-30.1-3.6c-8.1-2-16.7 .4-22.6 6.4L254.1 336H200c-13.3 0-24 10.7-24 24v40H136c-13.3 0-24 10.7-24 24v40H48V385.9L205.2 228.7c5.9-5.9 8.3-14.5 6.4-22.6c-2.3-9.6-3.6-19.7-3.6-30.1zM336 0C238.8 0 160 78.8 160 176c0 9.5 .7 18.8 2.2 27.9L7 359c-4.5 4.5-7 10.6-7 17V488c0 13.3 10.7 24 24 24H136c13.3 0 24-10.7 24-24V448h40c13.3 0 24-10.7 24-24V384h40c6.4 0 12.5-2.5 17-7l27.2-27.2c9.1 1.4 18.4 2.2 27.9 2.2c97.2 0 176-78.8 176-176S433.2 0 336 0zm32 176a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faArrowLeftToBracket = {\n prefix: 'far',\n iconName: 'arrow-left-to-bracket',\n icon: [512, 512, [], \"e669\", \"M295 401L167 273c-9.4-9.4-9.4-24.6 0-33.9L295 111c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-87 87L488 232c13.3 0 24 10.7 24 24s-10.7 24-24 24l-246.1 0 87 87c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0zM168 80L88 80c-22.1 0-40 17.9-40 40l0 272c0 22.1 17.9 40 40 40l80 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-80 0c-48.6 0-88-39.4-88-88L0 120C0 71.4 39.4 32 88 32l80 0c13.3 0 24 10.7 24 24s-10.7 24-24 24z\"]\n};\nvar faHatSanta = {\n prefix: 'far',\n iconName: 'hat-santa',\n icon: [640, 512, [], \"f7a7\", \"M64 352h51.7l78.6-196.4C212.5 109.9 256.8 80 305.9 80c35.4 0 69 15.6 91.8 42.6l19 22.5c-4-.7-8-1.1-12-1.1h-1.2c-37.3 0-67.6 30.3-67.6 67.6c0 10 2.2 19.8 6.4 28.8L395 352h53L385.9 220c-1.2-2.6-1.9-5.5-1.9-8.4c0-10.8 8.8-19.6 19.6-19.6h1.2c2.1 0 4.2 .3 6.3 1l47.1 14.9c1.9-2.7 4-5.1 6.3-7.4c0-14.3 5.5-28.7 16.4-39.6c2.2-2.2 4.6-4.2 7.1-6L434.4 91.6c-32-37.8-79-59.6-128.5-59.6c-68.8 0-130.7 41.9-156.3 105.8L64 352zM583.9 182.2C583 169.8 572.7 160 560 160s-23 9.8-23.9 22.2c-9.4-8.1-23.7-7.7-32.6 1.2s-9.4 23.2-1.2 32.6C489.8 217 480 227.3 480 240s9.8 23 22.2 23.9c-8.1 9.4-7.7 23.7 1.2 32.6s23.2 9.4 32.6 1.2C537 310.2 547.3 320 560 320s23-9.8 23.9-22.2c9.4 8.1 23.7 7.7 32.6-1.2s9.4-23.2 1.2-32.6C630.2 263 640 252.7 640 240s-9.8-23-22.2-23.9c8.1-9.4 7.7-23.7-1.2-32.6s-23.2-9.4-32.6-1.2zM0 432c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48s-21.5-48-48-48H48c-26.5 0-48 21.5-48 48z\"]\n};\nvar faTamale = {\n prefix: 'far',\n iconName: 'tamale',\n icon: [320, 512, [129748], \"e451\", \"M319.6 69.3L296.4 208l-.4 0H247.8L270.7 70.3c-6.4-4.6-14.9-8.8-25.4-12.1L229.2 208H197.1L213.8 51.3c-12.5-1.8-25.3-2.7-37.8-3V208H160 144V48.2c-12.5 .4-25.4 1.3-37.8 3L122.9 208H90.8L74.7 58.2c-10.6 3.4-19 7.5-25.4 12.1L72.2 208H24l-.4 0L.4 69.3c-1.7-10.2 1.7-20.6 9-27.9C46 5 112.3 0 160 0s114 5 150.6 41.3c7.3 7.3 10.7 17.7 9 27.9zM296 304l.4 0 23.1 138.7c1.7 10.2-1.7 20.6-9 27.9C274 507 207.7 512 160 512s-114-5-150.6-41.3c-7.3-7.3-10.7-17.7-9-27.9L23.6 304l.4 0H66.7c-3.7 10.5-3.6 22 .1 32.3L49.3 441.7c6.4 4.6 14.9 8.8 25.4 12.1l10.1-94.3c9.5 6.5 20.6 9.2 31.3 8.3l-10 92.9c12.5 1.8 25.3 2.6 37.8 3v-108c2.3-2.1 4.5-4.4 6.4-7L160 336l9.6 12.8c1.9 2.6 4.1 4.9 6.4 7v108c12.5-.4 25.4-1.3 37.8-3l-10-92.9c10.7 .9 21.8-1.7 31.3-8.3l10.1 94.3c10.6-3.4 19-7.5 25.4-12.1L253.2 336.3c3.7-10.3 3.8-21.7 .1-32.3H296zM24 240H160 296c8.8 0 16 7.2 16 16s-7.2 16-16 16H192l28.8 38.4c5.3 7.1 3.9 17.1-3.2 22.4s-17.1 3.9-22.4-3.2L160 282.7l-35.2 46.9c-5.3 7.1-15.3 8.5-22.4 3.2s-8.5-15.3-3.2-22.4L128 272H24c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faBoxCheck = {\n prefix: 'far',\n iconName: 'box-check',\n icon: [448, 512, [], \"f467\", \"M248 80h94.4c6.3 0 12.1 3.7 14.6 9.5L388.4 160H248V80zM48 208H400V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V208zm152-48H59.6L91 89.5c2.6-5.8 8.3-9.5 14.6-9.5H200v80zM400.9 70c-10.3-23.1-33.2-38-58.5-38H105.6C80.3 32 57.4 46.9 47.1 70L5.5 163.6c-3.6 8.2-5.5 17-5.5 26V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V189.6c0-9-1.9-17.8-5.5-26L400.9 70zM337 265c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-111 111-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L337 265z\"]\n};\nvar faBullhorn = {\n prefix: 'far',\n iconName: 'bullhorn',\n icon: [512, 512, [128226, 128363], \"f0a1\", \"M432 73.9L421.3 84.6C364.5 141.4 288.1 174 208 175.9v.1V304v0 .1c80.1 1.9 156.5 34.5 213.3 91.3L432 406.1V73.9zM160 128h40.7c70 0 137.2-27.8 186.7-77.3l38-38C445.5-7.5 480 6.8 480 35.3V179.6c18.6 8.8 32 32.5 32 60.4s-13.4 51.6-32 60.4V444.7c0 28.5-34.5 42.8-54.6 22.6l-38-38c-47.8-47.8-112-75.4-179.4-77.2V456c0 30.9-25.1 56-56 56H120c-30.9 0-56-25.1-56-56l0-104c-35.3 0-64-28.7-64-64V192c0-35.3 28.7-64 64-64h96zM112 352V456c0 4.4 3.6 8 8 8h32c4.4 0 8-3.6 8-8V352H112zM64 176c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16l0 0h48 48V176l-96 0z\"]\n};\nvar faSteak = {\n prefix: 'far',\n iconName: 'steak',\n icon: [576, 512, [129385], \"f824\", \"M301.5 72.6c-15.9 14.8-25.5 34.1-32.8 50.6c-4.2 9.6-7.7 18-10.9 25.7l-1.3 3.2c-9.3 22.5-18.4 44.6-39.1 65.3c-26.6 26.6-56.8 42.7-81.6 55.3c-2.8 1.4-5.5 2.8-8.1 4.1l0 0c-22.4 11.4-39.6 20.1-55.1 32.5C57.7 321.2 48 337.8 48 360c0 50 42.8 75.3 77.6 87.3C162.2 459.8 206.1 464 240 464c70.2 0 140.7-26.7 194-66.3c52.5-39.1 94-95.4 94-157.7c0-48.1-19-95-47-130c-27.6-34.5-67.9-62-113-62c-27.4 0-49.4 8.6-66.5 24.6zM268.8 37.4C295.7 12.4 329.7 0 368 0c65 0 117.7 39 150.5 80c33.9 42.4 57.5 99.6 57.5 160c0 83.9-55.1 152.8-113.4 196.2C402.1 481.2 321.7 512 240 512c-36.8 0-86.5-4.4-130-19.3C73.4 480.1 0 444.3 0 360c0-38.6 17.8-68.3 42.5-88.1c19.6-15.8 41.4-26.8 63.3-37.8c27.3-13.8 54.6-27.6 77.7-50.7c13.8-13.8 19.7-27.9 30-52.9c3.2-7.7 6.8-16.5 11.2-26.6c7.7-17.6 20.6-44.7 44.1-66.5zm36.8 122c2.5-6 4.8-11.8 7.1-17c6.9-15.7 13.3-27.1 21.5-34.7c7.5-7 17.5-11.7 33.9-11.7c25.4 0 53.3 16.2 75.5 44c22 27.5 36.5 64.1 36.5 100c0 40.8-28.3 84.6-74.7 119.2C359.4 393.4 298.6 416 240 416c-31 0-69.1-3.9-98.8-14.1C110.1 391.2 96 376.7 96 360c0-9 2.6-13.2 6.9-16.9c5.8-5 15-9.1 30.2-15.5l1.2-.5c29.3-12.4 71.2-30 117-75.8c28.6-28.6 42.9-63.7 54.3-91.9zM416 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faLocationCrosshairsSlash = {\n prefix: 'far',\n iconName: 'location-crosshairs-slash',\n icon: [640, 512, [\"location-slash\"], \"f603\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-146-114.5c13.4-22.3 22.4-47.6 25.8-74.6H552c13.3 0 24-10.7 24-24s-10.7-24-24-24H510.5C499.7 145.2 430.8 76.3 344 65.5V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V65.5c-43.1 5.4-81.8 25-111.1 54.1L38.8 5.1zM223.1 149.5C248.6 126.2 282.7 112 320 112c79.5 0 144 64.5 144 144c0 24.9-6.3 48.3-17.4 68.7L408 294.5c5.2-11.8 8-24.8 8-38.5c0-53-43-96-96-96c-22 0-42.2 7.4-58.4 19.8l-38.6-30.2zM367.5 262.8l-65.5-51.3c5.5-2.2 11.6-3.5 17.9-3.5c26.5 0 48 21.5 48 48c0 2.3-.2 4.6-.5 6.8zM373 389.9c-16.4 6.5-34.3 10.1-53 10.1c-79.5 0-144-64.5-144-144c0-6.9 .5-13.6 1.4-20.2l-41.9-33c-2.7 9.5-4.7 19.2-6 29.3H88c-13.3 0-24 10.7-24 24s10.7 24 24 24h41.5c10.8 86.8 79.7 155.7 166.5 166.5V488c0 13.3 10.7 24 24 24s24-10.7 24-24V446.5c25.5-3.2 49.5-11.4 70.9-23.6l-41.9-33z\"]\n};\nvar faLocationSlash = faLocationCrosshairsSlash;\nvar faPersonDolly = {\n prefix: 'far',\n iconName: 'person-dolly',\n icon: [512, 512, [], \"f4d0\", \"M128 48A48 48 0 1 0 32 48a48 48 0 1 0 96 0zM0 340.3L0 488c0 13.3 10.7 24 24 24s24-10.7 24-24l0-109.9L1.6 341.6c-.5-.4-1.1-.9-1.6-1.3zM48 187.2C48 181 53 176 59.2 176c4.5 0 8.9 1.1 12.8 3V295.2L51.1 278.7c-1.9-1.5-3.1-3.8-3.1-6.3V187.2zm72 145.7V246.2l15.1 23.5c7.4 11.4 20 18.4 33.6 18.4h54.5l27.1 108.3c-16 11.6-26.3 30.5-26.3 51.7c0 35.3 28.7 64 64 64c32.3 0 59.1-24 63.4-55.1l134.4-33.6c12.9-3.2 20.7-16.2 17.5-29.1s-16.2-20.7-29.1-17.5L339.7 410.3c-10-13.7-25.3-23.3-42.8-25.7L247.3 186.2c-3.2-12.9-16.2-20.7-29.1-17.5s-20.7 16.2-17.5 29.1L211.3 240H173.1l-49.3-76.7c-14.1-22-38.5-35.3-64.6-35.3C26.5 128 0 154.5 0 187.2v85.3c0 17.2 7.9 33.4 21.4 44l92.2 72.4 14.6 102.5c1.9 13.1 14 22.2 27.2 20.4s22.2-14 20.4-27.2L160.7 379c-1.5-10.2-6.8-19.4-14.9-25.8L120 332.9zM288 432a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm69.4-55.8L449 353.4c17.1-4.3 27.6-21.7 23.3-38.8L449.4 223c-4.3-17.1-21.7-27.6-38.8-23.3L319 222.6c-17.1 4.3-27.6 21.7-23.3 38.8L318.6 353c4.3 17.1 21.7 27.6 38.8 23.3z\"]\n};\nvar faGlobe = {\n prefix: 'far',\n iconName: 'globe',\n icon: [512, 512, [127760], \"f0ac\", \"M256 464c7.4 0 27-7.2 47.6-48.4c8.8-17.7 16.4-39.2 22-63.6H186.4c5.6 24.4 13.2 45.9 22 63.6C229 456.8 248.6 464 256 464zM178.5 304h155c1.6-15.3 2.5-31.4 2.5-48s-.9-32.7-2.5-48h-155c-1.6 15.3-2.5 31.4-2.5 48s.9 32.7 2.5 48zm7.9-144H325.6c-5.6-24.4-13.2-45.9-22-63.6C283 55.2 263.4 48 256 48s-27 7.2-47.6 48.4c-8.8 17.7-16.4 39.2-22 63.6zm195.3 48c1.5 15.5 2.2 31.6 2.2 48s-.8 32.5-2.2 48h76.7c3.6-15.4 5.6-31.5 5.6-48s-1.9-32.6-5.6-48H381.8zm58.8-48c-21.4-41.1-56.1-74.1-98.4-93.4c14.1 25.6 25.3 57.5 32.6 93.4h65.9zm-303.3 0c7.3-35.9 18.5-67.7 32.6-93.4c-42.3 19.3-77 52.3-98.4 93.4h65.9zM53.6 208c-3.6 15.4-5.6 31.5-5.6 48s1.9 32.6 5.6 48h76.7c-1.5-15.5-2.2-31.6-2.2-48s.8-32.5 2.2-48H53.6zM342.1 445.4c42.3-19.3 77-52.3 98.4-93.4H374.7c-7.3 35.9-18.5 67.7-32.6 93.4zm-172.2 0c-14.1-25.6-25.3-57.5-32.6-93.4H71.4c21.4 41.1 56.1 74.1 98.4 93.4zM256 512A256 256 0 1 1 256 0a256 256 0 1 1 0 512z\"]\n};\nvar faSynagogue = {\n prefix: 'far',\n iconName: 'synagogue',\n icon: [640, 512, [128333], \"f69b\", \"M305.1 5.2c8.7-6.9 21-6.9 29.7 0L462.5 105.9C483.7 122.6 496 148.1 496 175v63l31-31c9.4-9.4 24.6-9.4 33.9 0l62.6 62.6c10.5 10.5 16.4 24.7 16.4 39.6V440c0 39.8-32.2 72-72 72H472 384 256 168 72c-39.8 0-72-32.2-72-72V309.3c0-14.9 5.9-29.1 16.4-39.6L79 207c9.4-9.4 24.6-9.4 33.9 0l31 31V175c0-26.9 12.3-52.4 33.5-69.1L305.1 5.2zM496 464h72c13.3 0 24-10.7 24-24V309.3c0-2.1-.8-4.2-2.3-5.7L544 257.9l-45.7 45.7c-1.5 1.5-2.3 3.5-2.3 5.7V464zM448 175c0-12.2-5.6-23.8-15.2-31.4L320 54.6l-112.8 89c-9.6 7.6-15.2 19.2-15.2 31.4V309.3 464h64V384c0-35.3 28.7-64 64-64s64 28.7 64 64v80h64V309.3 175zM144 309.3c0-2.1-.8-4.2-2.3-5.7L96 257.9 50.3 303.6c-1.5 1.5-2.3 3.5-2.3 5.7V440c0 13.3 10.7 24 24 24h72V309.3zM327 124.3l15.9 28.1 32.3-.3c6.2-.1 10.1 6.7 7 12.1L365.7 192l16.4 27.8c3.2 5.4-.7 12.1-7 12.1l-32.3-.3L327 259.7c-3.1 5.4-10.9 5.4-13.9 0l-15.9-28.1-32.3 .3c-6.2 .1-10.1-6.7-7-12.1L274.3 192l-16.4-27.8c-3.2-5.4 .7-12.1 7-12.1l32.3 .3L313 124.3c3.1-5.4 10.9-5.4 13.9 0z\"]\n};\nvar faFileChartColumn = {\n prefix: 'far',\n iconName: 'file-chart-column',\n icon: [384, 512, [\"file-chart-line\"], \"f659\", \"M48 448V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zM216 280c0-13.3-10.7-24-24-24s-24 10.7-24 24V408c0 13.3 10.7 24 24 24s24-10.7 24-24V280zm88 32c0-13.3-10.7-24-24-24s-24 10.7-24 24v96c0 13.3 10.7 24 24 24s24-10.7 24-24V312zM128 344c0-13.3-10.7-24-24-24s-24 10.7-24 24v64c0 13.3 10.7 24 24 24s24-10.7 24-24V344z\"]\n};\nvar faFileChartLine = faFileChartColumn;\nvar faPersonHalfDress = {\n prefix: 'far',\n iconName: 'person-half-dress',\n icon: [320, 512, [], \"e548\", \"M154 .4A48 48 0 1 1 166 95.6 48 48 0 1 1 154 .4zM176 352V304h0V176.1l0 0V128c30.8 .8 59.1 17.7 74.3 44.6l58.5 103.5c6.5 11.5 2.5 26.2-9.1 32.7s-26.2 2.5-32.7-9.1L224 223.6V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V352h0zM62.9 184.6c17.1-30.3 47.2-50.6 81.1-55.5v90.8L111.4 336H144v48h0V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V384H69.1c-10.6 0-18.3-10.1-15.4-20.3L90.3 233.7 52.9 299.8c-6.5 11.5-21.2 15.6-32.7 9.1s-15.6-21.2-9.1-32.7l51.8-91.5z\"]\n};\nvar faFolderImage = {\n prefix: 'far',\n iconName: 'folder-image',\n icon: [512, 512, [], \"e18a\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H289.9L247 53.1C233.5 39.6 215.2 32 196.1 32H64zM48 96c0-8.8 7.2-16 16-16H196.1c6.4 0 12.5 2.5 17 7l45.3 45.3c7.5 7.5 17.7 11.7 28.3 11.7H448c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96zM160 208a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm155.2 9.6c-4.5-6-11.6-9.6-19.2-9.6s-14.7 3.6-19.2 9.6l-54.2 72.2L202.7 265c-4.6-5.7-11.5-9-18.7-9s-14.2 3.3-18.7 9l-64 80c-5.8 7.2-6.9 17.1-2.9 25.4s12.4 13.6 21.6 13.6h80 48H392c9.1 0 17.4-5.1 21.5-13.3s3.2-17.9-2.3-25.1l-96-128z\"]\n};\nvar faCalendarPen = {\n prefix: 'far',\n iconName: 'calendar-pen',\n icon: [448, 512, [\"calendar-edit\"], \"f333\", \"M128 0c13.3 0 24 10.7 24 24V64H296V24c0-13.3 10.7-24 24-24s24 10.7 24 24V64h40c35.3 0 64 28.7 64 64v16 48V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192 144 128C0 92.7 28.7 64 64 64h40V24c0-13.3 10.7-24 24-24zM400 192H48V448c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V192zm-91.2 51c14.7 14.7 14.7 38.6 0 53.3l-14.9 14.9L240.6 258 255.5 243c14.7-14.7 38.6-14.7 53.3 0zM146.1 352.5L218 280.6l53.3 53.3-71.9 71.9c-4.1 4.1-9.2 7-14.9 8.4l-36.6 9.2c-5.5 1.4-11.2-.2-15.2-4.2s-5.6-9.7-4.2-15.2l9.2-36.6c1.4-5.6 4.3-10.8 8.4-14.9z\"]\n};\nvar faCalendarEdit = faCalendarPen;\nvar faRoadBridge = {\n prefix: 'far',\n iconName: 'road-bridge',\n icon: [640, 512, [], \"e563\", \"M576 48c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H504V408c0-13.3-10.7-24-24-24s-24 10.7-24 24v56H384c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16h72v56c0 13.3 10.7 24 24 24s24-10.7 24-24V48h72zm0-48H384c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64zM480 192c-13.3 0-24 10.7-24 24v80c0 13.3 10.7 24 24 24s24-10.7 24-24V216c0-13.3-10.7-24-24-24zM24 96C10.7 96 0 106.7 0 120s10.7 24 24 24H72v64H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H96 224h64V208H248V144h40V96H24zM272 304c-57.4 0-104 46.6-104 104v56H120V400c0-53-43-96-96-96c-13.3 0-24 10.7-24 24s10.7 24 24 24c26.5 0 48 21.5 48 48v72c0 22.1 17.9 40 40 40h64c22.1 0 40-17.9 40-40V408c0-30.9 25.1-56 56-56h16V304H272zM200 144v64H120V144h80z\"]\n};\nvar faFaceSmileTear = {\n prefix: 'far',\n iconName: 'face-smile-tear',\n icon: [512, 512, [], \"e393\", \"M338.7 446.9c4.3 .7 8.8 1.1 13.3 1.1c43.4 0 80-34.6 80-79c0-.7 0-1.4 0-2c20.3-32.1 32-70.2 32-111c0-114.9-93.1-208-208-208S48 141.1 48 256s93.1 208 208 208c29.4 0 57.4-6.1 82.7-17.1zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm136.3 61.9c10-8.7 25.2-7.6 33.9 2.4C187 339.8 215.5 360 256 360c13.3 0 24 10.7 24 24s-10.7 24-24 24c-58 0-98.8-29.4-122.1-56.3c-8.7-10-7.6-25.2 2.4-33.9zM352 416c-26.5 0-48-21-48-47c0-20 28.4-60.4 41.6-77.7c3.2-4.4 9.6-4.4 12.8 0C371.4 308.6 400 349 400 369c0 26-21.5 47-48 47zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faMessagePlus = {\n prefix: 'far',\n iconName: 'message-plus',\n icon: [512, 512, [\"comment-alt-plus\"], \"f4a8\", \"M208 416c0-26.5-21.5-48-48-48H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H448c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H309.3c-10.4 0-20.5 3.4-28.8 9.6L208 432V416zm-.2 76.2l.2-.2 101.3-76H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h48 48v48 4 .3 6.4V496c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L202.7 496l5.1-3.8zM232 296c0 13.3 10.7 24 24 24s24-10.7 24-24V232h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V120c0-13.3-10.7-24-24-24s-24 10.7-24 24v64H168c-13.3 0-24 10.7-24 24s10.7 24 24 24h64v64z\"]\n};\nvar faCommentAltPlus = faMessagePlus;\nvar faLocationArrow = {\n prefix: 'far',\n iconName: 'location-arrow',\n icon: [448, 512, [], \"f124\", \"M224 208H129.4l241.4-98.7L272 350.6V256c0-26.5-21.5-48-48-48zm-48 48h48v48V432c0 15.3 10.8 28.4 25.8 31.4s30-5.1 35.8-19.3l144-352c4.9-11.9 2.1-25.6-7-34.7s-22.8-11.9-34.7-7l-352 144c-14.2 5.8-22.2 20.8-19.3 35.8s16.1 25.8 31.4 25.8H176z\"]\n};\nvar faC = {\n prefix: 'far',\n iconName: 'c',\n icon: [384, 512, [99], \"43\", \"M343.5 131.7C275.8 63 166 63 98.3 131.7s-67.7 180 0 248.7s177.5 68.7 245.2 0c9.3-9.4 24.4-9.4 33.7 0s9.3 24.7 0 34.2c-86.3 87.5-226.3 87.5-312.6 0s-86.3-229.5 0-317s226.3-87.5 312.6 0c9.3 9.4 9.3 24.7 0 34.2s-24.4 9.4-33.7 0z\"]\n};\nvar faTabletButton = {\n prefix: 'far',\n iconName: 'tablet-button',\n icon: [448, 512, [], \"f10a\", \"M64 48c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H64zM0 64C0 28.7 28.7 0 64 0H384c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM224 392a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faPersonDressFairy = {\n prefix: 'far',\n iconName: 'person-dress-fairy',\n icon: [640, 512, [], \"e607\", \"M256 64a64 64 0 1 1 128 0A64 64 0 1 1 256 64zm48.3 144c-7.1 0-13.4 4.7-15.4 11.6L255.6 336H384.4L351.1 219.6c-2-6.9-8.2-11.6-15.4-11.6H304.3zm0-48h31.5c28.6 0 53.7 18.9 61.5 46.4l39.1 136.8c5.8 20.4-9.5 40.8-30.8 40.8H384V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V384H304V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V384H234.4c-21.3 0-36.6-20.3-30.8-40.8l39.1-136.8c7.8-27.5 33-46.4 61.5-46.4zM32 32c91.1 0 172.4 42.3 225.1 108.4c-14.1 8-26.1 19.5-34.7 33.5C181.6 120.7 119 85.2 48 80.5V112c0 71.4 33.3 134.9 85.4 176l18.1 14.3c10.1 8 12.1 22.5 4.5 33L142.5 354c-16.3 22.3-26.9 49-29.7 78c32.1-.2 61.9-9.7 87-26.2c7.2 4.6 15.4 7.9 24.3 9.3v32.1C191.7 468 153.2 480 112 480H96c-17.7 0-32-14.3-32-32c0-45.7 14.7-88 39.7-122.3C40.6 275.9 0 198.7 0 112V64C0 46.3 14.3 32 32 32zM417.6 173.9c-8.6-14-20.6-25.5-34.7-33.5C435.6 74.3 516.9 32 608 32c17.7 0 32 14.3 32 32v48c0 86.7-40.6 163.9-103.7 213.7C561.3 360 576 402.3 576 448c0 17.7-14.3 32-32 32H528c-41.2 0-79.7-12-112-32.7V415.2c8.9-1.4 17.1-4.7 24.3-9.3c25 16.4 54.9 26 87 26.2c-2.9-29-13.5-55.7-29.7-78l-13.6-18.7c-7.6-10.4-5.6-25 4.5-33L506.6 288C558.7 246.9 592 183.4 592 112V80.5c-71 4.7-133.6 40.2-174.4 93.3z\"]\n};\nvar faRectangleHistoryCircleUser = {\n prefix: 'far',\n iconName: 'rectangle-history-circle-user',\n icon: [640, 512, [], \"e4a4\", \"M64 464l284.5 0c12.3 18.8 28 35.1 46.3 48L64 512c-35.3 0-64-28.7-64-64V224c0-35.3 28.7-64 64-64l384 0c23.8 0 44.5 12.9 55.5 32.2c-2.5-.1-5-.2-7.5-.2c-26.2 0-51.1 5.7-73.4 16L64 208c-8.8 0-16 7.2-16 16l0 224c0 8.8 7.2 16 16 16zM440 80c13.3 0 24 10.7 24 24s-10.7 24-24 24L72 128c-13.3 0-24-10.7-24-24s10.7-24 24-24l368 0zM392 0c13.3 0 24 10.7 24 24s-10.7 24-24 24L120 48c-13.3 0-24-10.7-24-24s10.7-24 24-24H392zM352 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm221.7 80.7c-6.2-19-24-32.7-45.1-32.7H463.4c-21 0-38.9 13.7-45.1 32.7C438.5 468.1 465.8 480 496 480s57.5-11.9 77.7-31.3zM544 336a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nvar faBuildingLock = {\n prefix: 'far',\n iconName: 'building-lock',\n icon: [576, 512, [], \"e4d6\", \"M64 48H320c8.8 0 16 7.2 16 16V309.7c4.6-5.2 10-9.6 16-13.1V272c0-30.5 12.2-58.2 32-78.4V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c2.8 0 5.6-.2 8.3-.5c-5.3-9.3-8.3-20-8.3-31.5V464H240V400c0-26.5-21.5-48-48-48s-48 21.5-48 48v64H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16zm24 56v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V104c0-8.8-7.2-16-16-16H104c-8.8 0-16 7.2-16 16zM232 88c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V104c0-8.8-7.2-16-16-16H232zM88 232v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V232c0-8.8-7.2-16-16-16H104c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V232c0-8.8-7.2-16-16-16H232zm232 24c17.7 0 32 14.3 32 32v48H432V272c0-17.7 14.3-32 32-32zm-80 32v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H544c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"]\n};\nvar faChartLineUp = {\n prefix: 'far',\n iconName: 'chart-line-up',\n icon: [512, 512, [], \"e0e5\", \"M48 56c0-13.3-10.7-24-24-24S0 42.7 0 56V408c0 39.8 32.2 72 72 72H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H72c-13.3 0-24-10.7-24-24V56zm272 96c0 13.3 10.7 24 24 24h54.1L304 270.1l-79-79c-9.4-9.4-24.6-9.4-33.9 0l-80 80c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l63-63 79 79c9.4 9.4 24.6 9.4 33.9 0l111-111V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152c0-13.3-10.7-24-24-24H344c-13.3 0-24 10.7-24 24z\"]\n};\nvar faMailbox = {\n prefix: 'far',\n iconName: 'mailbox',\n icon: [576, 512, [128234], \"f813\", \"M48 208c0-53 43-96 96-96s96 43 96 96V400H64c-8.8 0-16-7.2-16-16V208zM240 448h48H512c35.3 0 64-28.7 64-64V208c0-79.5-64.5-144-144-144H144C64.5 64 0 128.5 0 208V384c0 35.3 28.7 64 64 64H240zm48-240c0-36.9-13.9-70.5-36.7-96H432c53 0 96 43 96 96V384c0 8.8-7.2 16-16 16H288V208zM104 192c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H104zm256 0c-13.3 0-24 10.7-24 24s10.7 24 24 24h56v24c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24V216c0-13.3-10.7-24-24-24H440 360z\"]\n};\nvar faSignPosts = {\n prefix: 'far',\n iconName: 'sign-posts',\n icon: [576, 512, [], \"e625\", \"M64 24l0 8H48C21.5 32 0 53.5 0 80V368c0 26.5 21.5 48 48 48H64l0 72c0 13.3 10.7 24 24 24s24-10.7 24-24l0-72H464l0 72c0 13.3 10.7 24 24 24s24-10.7 24-24l0-72h16c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H512l0-8c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 8H112l0-8c0-13.3-10.7-24-24-24S64 10.7 64 24zM528 80V368H48L48 80H528z\"]\n};\nvar faTruckBolt = {\n prefix: 'far',\n iconName: 'truck-bolt',\n icon: [640, 512, [], \"e3d0\", \"M352 48c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H320 243.2c-16.6-28.7-47.6-48-83.2-48s-66.6 19.3-83.2 48H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H352zm32 368c0 53 43 96 96 96s96-43 96-96h40c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V245.3c0-14.9-5.9-29.1-16.4-39.6l-93.3-93.3C487.8 101.9 473.6 96 458.7 96H416V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64c0 53 43 96 96 96s96-43 96-96h64 32 24 8zM557.7 239.6c.1 .1 .3 .3 .4 .4H416V144h42.7c2.1 0 4.2 .8 5.7 2.3l93.3 93.3zM112 416a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm368-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM267.2 84.6c-5.3-5.2-13.4-6.1-19.7-2.2l-128 80c-6.1 3.8-8.9 11.1-6.9 18s8.2 11.6 15.4 11.6h51.7l-33.5 55.8c-3.8 6.3-2.8 14.5 2.5 19.6s13.4 6.1 19.7 2.2l128-80c6.1-3.8 8.9-11.1 6.9-18s-8.2-11.6-15.4-11.6H236.3l33.5-55.8c3.8-6.3 2.8-14.5-2.5-19.6z\"]\n};\nvar faPizzaSlice = {\n prefix: 'far',\n iconName: 'pizza-slice',\n icon: [512, 512, [], \"f818\", \"M122.2 35.6L.5 491.9c-1.5 5.5 .1 11.4 4.1 15.4s9.9 5.6 15.4 4.1L476.4 389.8c20.8-5.5 36.3-24.7 34.7-47.5C498.5 159.5 352.5 13.5 169.7 .9c-22.8-1.6-41.9 14-47.5 34.7zM144.6 138C264.3 152.7 359.3 247.7 374 367.4L61.2 450.8 144.6 138zm12.5-46.8l11.3-42.3C325.6 60.7 451.3 186.4 463.1 343.7l-42.3 11.3c-19.7-136.2-127.5-244-263.7-263.7zM192 352a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm96 0a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM224 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faMoneyBillWave = {\n prefix: 'far',\n iconName: 'money-bill-wave',\n icon: [576, 512, [], \"f53a\", \"M265.7 407.9c4.5-1.1 9-2.3 13.5-3.4l0 0c55.9-14.3 119.4-30.6 185.3-28.7c4.1-31.4 30.9-55.7 63.5-55.7V144c-35.3 0-63.9-28.6-64-63.9c-47-1.7-96.8 9.5-153.7 24c-4.5 1.1-9 2.3-13.5 3.5l0 0c-55.9 14.3-119.4 30.6-185.3 28.7C107.4 167.7 80.5 192 48 192V368c35.3 0 63.9 28.6 64 63.9c47 1.7 96.8-9.5 153.7-24zM0 421.5V113C0 88.8 25.4 72.7 48.4 79C128.2 101 208.1 80.6 288 60.3c86.9-22.1 173.8-44.3 260.7-12C565.8 54.6 576 72 576 90.5V399c0 24.3-25.4 40.3-48.3 34C447.8 411 367.9 431.4 288 451.7c-86.9 22.1-173.8 44.3-260.7 12C10.2 457.4 0 440 0 421.5zM288 352c-44.2 0-80-43-80-96s35.8-96 80-96s80 43 80 96s-35.8 96-80 96z\"]\n};\nvar faChartArea = {\n prefix: 'far',\n iconName: 'chart-area',\n icon: [512, 512, [\"area-chart\"], \"f1fe\", \"M48 56c0-13.3-10.7-24-24-24S0 42.7 0 56V408c0 39.8 32.2 72 72 72H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H72c-13.3 0-24-10.7-24-24V56zM286.1 225.9c9 9 21.2 14.1 33.9 14.1s24.9-5.1 33.9-14.1l27.3-27.3L432 257.8l0 78.2H144l0-92.1 80-80 62.1 62.1zM320 192l-33.9-33.9-39.4-39.4c-12.5-12.5-32.8-12.5-45.3 0l-91.3 91.3c-9 9-14.1 21.2-14.1 33.9V352c0 17.7 14.3 32 32 32H448c17.7 0 32-14.3 32-32V257.8c0-11.5-4.1-22.5-11.6-31.2l-62-72.3c-12.1-14.2-33.7-15-46.9-1.8l-5.6 5.6L320 192z\"]\n};\nvar faAreaChart = faChartArea;\nvar faHouseFlag = {\n prefix: 'far',\n iconName: 'house-flag',\n icon: [640, 512, [], \"e50d\", \"M472 0c-13.3 0-24 10.7-24 24v8V192 512h48V192H624c8.8 0 16-7.2 16-16V48c0-8.8-7.2-16-16-16H496V24c0-13.3-10.7-24-24-24zM416 133L286.3 36.7c-8.5-6.3-20.1-6.3-28.6 0l-248 184c-10.6 7.9-12.9 22.9-5 33.6s22.9 12.9 33.6 5L64 240.2V432c0 44.2 35.8 80 80 80l256 0c5.5 0 10.8-.6 16-1.6V459.7c-4.7 2.7-10.2 4.3-16 4.3H352V344c0-22.1-17.9-40-40-40H232c-22.1 0-40 17.9-40 40V464H144c-17.7 0-32-14.3-32-32V204.6L272 85.9 416 192.7V133zM304 352V464l-64 0V352h64z\"]\n};\nvar faCircleThreeQuartersStroke = {\n prefix: 'far',\n iconName: 'circle-three-quarters-stroke',\n icon: [512, 512, [], \"e5d4\", \"M256 48V224c0 17.7 14.3 32 32 32H464c0-114.9-93.1-208-208-208zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z\"]\n};\nvar faPersonCircleMinus = {\n prefix: 'far',\n iconName: 'person-circle-minus',\n icon: [576, 512, [], \"e540\", \"M112 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm32 128.1V304h32V176.1c-.7 0-1.5-.1-2.3-.1H146.3c-.8 0-1.5 0-2.3 .1zM144 352V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V223.6L52.9 299.8c-6.5 11.5-21.2 15.6-32.7 9.1s-15.6-21.2-9.1-32.7L69.7 172.7c15.6-27.6 44.9-44.7 76.6-44.7h27.5c31.7 0 61 17.1 76.6 44.7L297 255.1c-11.7 14-21.3 29.9-28.3 47.1c-.6-.8-1.1-1.6-1.6-2.4L224 223.6V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V352H144zm144 16a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm224 0c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16s7.2 16 16 16H496c8.8 0 16-7.2 16-16z\"]\n};\nvar faScalpel = {\n prefix: 'far',\n iconName: 'scalpel',\n icon: [512, 512, [], \"f61d\", \"M421.4 59.2c5.1-6.1 13-9.2 20.9-8.5C454.6 52 464 62.4 464 74.7c0 5.9-2.2 11.6-6.1 16L325.1 240l-56.3 0L421.4 59.2zM227.7 288h.7 96.8c13.7 0 26.8-5.9 35.9-16.1L493.8 122.6C505.5 109.4 512 92.3 512 74.7c0-37-28.1-68-64.9-71.7c-23.7-2.4-47 7.1-62.4 25.3L206.1 240l-.4 .5-5.6 6.7-12.2 14.5c-4 4.8-4.9 11.4-2.3 17.1s8.3 9.3 14.5 9.3h19 8.8zm-63 36.7l-160 160c-4.6 4.6-5.9 11.5-3.5 17.4s8.3 9.9 14.8 9.9c18.1 0 84.1-8.4 145.9-33.1C222.5 454.6 288 410.9 288 336V320H272 176h-6.6l-4.7 4.7z\"]\n};\nvar faBan = {\n prefix: 'far',\n iconName: 'ban',\n icon: [512, 512, [128683, \"cancel\"], \"f05e\", \"M385.1 419.1L92.9 126.9C64.8 162.3 48 207.2 48 256c0 114.9 93.1 208 208 208c48.8 0 93.7-16.8 129.1-44.9zm33.9-33.9C447.2 349.7 464 304.8 464 256c0-114.9-93.1-208-208-208c-48.8 0-93.7 16.8-129.1 44.9L419.1 385.1zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z\"]\n};\nvar faCancel = faBan;\nvar faBellExclamation = {\n prefix: 'far',\n iconName: 'bell-exclamation',\n icon: [448, 512, [], \"f848\", \"M224 0c-17.7 0-32 14.3-32 32V51.2C119 66 64 130.6 64 208v25.4c0 45.4-15.5 89.5-43.8 124.9L5.3 377c-5.8 7.2-6.9 17.1-2.9 25.4S14.8 416 24 416H424c9.2 0 17.6-5.3 21.6-13.6s2.9-18.2-2.9-25.4l-14.9-18.6C399.5 322.9 384 278.8 384 233.4V208c0-77.4-55-142-128-156.8V32c0-17.7-14.3-32-32-32zm0 96c61.9 0 112 50.1 112 112v25.4c0 47.9 13.9 94.6 39.7 134.6H72.3C98.1 328 112 281.3 112 233.4V208c0-61.9 50.1-112 112-112zm64 352H224 160c0 17 6.7 33.3 18.7 45.3s28.3 18.7 45.3 18.7s33.3-6.7 45.3-18.7s18.7-28.3 18.7-45.3zM256 320a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-8-168c0-13.3-10.7-24-24-24s-24 10.7-24 24v80c0 13.3 10.7 24 24 24s24-10.7 24-24V152z\"]\n};\nvar faCircleBookmark = {\n prefix: 'far',\n iconName: 'circle-bookmark',\n icon: [512, 512, [\"bookmark-circle\"], \"e100\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM160 176V368c0 6.2 3.5 11.8 9.1 14.4s12.1 1.9 16.9-1.9l70-56 70 56c4.8 3.8 11.4 4.6 16.9 1.9s9.1-8.3 9.1-14.4V176c0-26.5-21.5-48-48-48H208c-26.5 0-48 21.5-48 48z\"]\n};\nvar faBookmarkCircle = faCircleBookmark;\nvar faEggFried = {\n prefix: 'far',\n iconName: 'egg-fried',\n icon: [512, 512, [], \"f7fc\", \"M403.9 162.5c-26.9-6.9-56.4-20.3-82.6-35.6s-52.4-34.3-71.6-54.3c-30.6-31.9-81.3-32.9-113.1-2.2c-14.5 14-22.6 32-24.3 50.6C107.7 173.6 92.7 244.5 63 296c-30.9 53.6-12.6 122.1 41 153s122.1 12.6 153-41c14.7-25.4 38.1-45.6 61.1-59.7c23.3-14.3 50.6-25.3 77.1-29c12.7-1.8 25.3-6.7 36.4-15c35.5-26.3 42.9-76.4 16.6-111.9c-11.4-15.4-27.2-25.4-44.4-29.8zM284.3 39.3c30.4 31.6 89.1 65.9 131.5 76.7c27.5 7 52.8 23.2 71 47.8c42.1 56.8 30.2 137-26.6 179.1c-17.8 13.2-37.9 21.1-58.4 24c-37.2 5.2-84.5 32.7-103.3 65.2c-44.2 76.5-142 102.7-218.6 58.6S-22.7 348.5 21.4 272c24.8-42.9 38.7-105.9 43.1-155.2C67.1 87 80.1 58 103.3 35.7c51-49 132-47.4 181 3.6zM112 240a112 112 0 1 1 224 0 112 112 0 1 1 -224 0zm112-32c8.8 0 16-7.2 16-16s-7.2-16-16-16c-39.8 0-72 32.2-72 72c0 8.8 7.2 16 16 16s16-7.2 16-16c0-22.1 17.9-40 40-40z\"]\n};\nvar faFaceWeary = {\n prefix: 'far',\n iconName: 'face-weary',\n icon: [512, 512, [], \"e3a1\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm176.5 64.3C196.1 302.1 223.8 288 256 288s59.9 14.1 79.5 32.3C354.5 338.1 368 362 368 384c0 5.4-2.7 10.4-7.2 13.4s-10.2 3.4-15.2 1.3l-17.2-7.5c-22.8-10-47.5-15.1-72.4-15.1s-49.6 5.2-72.4 15.1l-17.2 7.5c-4.9 2.2-10.7 1.7-15.2-1.3s-7.2-8-7.2-13.4c0-22 13.5-45.9 32.5-63.7zm34.8-155.6c6.2 6.2 6.2 16.4 0 22.6l-7.4 7.4c-23.6 23.6-53.9 39.2-86.8 44.7l-2.5 .4c-8.7 1.5-17-4.4-18.4-13.2s4.4-17 13.2-18.4l2.5-.4c26.3-4.4 50.6-16.9 69.5-35.7l7.4-7.4c6.2-6.2 16.4-6.2 22.6 0zm89.4 22.6c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l7.4 7.4c18.9 18.9 43.2 31.4 69.5 35.7l2.5 .4c8.7 1.5 14.6 9.7 13.2 18.4s-9.7 14.6-18.4 13.2l-2.5-.4c-32.9-5.5-63.3-21.1-86.8-44.7l-7.4-7.4z\"]\n};\nvar faUniformMartialArts = {\n prefix: 'far',\n iconName: 'uniform-martial-arts',\n icon: [640, 512, [], \"e3d1\", \"M188.4 48c-26.3 0-50.4 14.3-63.1 37.3L58.9 206C51.7 219 48 233.6 48 248.4V392c0 4.4 3.6 8 8 8H88c4.4 0 8-3.6 8-8V248.4c0-13.6 4.5-27.2 9.7-39c5.4-12.1 12.5-24.4 19.7-35.8c12.1-19.2 26.5-37.4 37.5-57.3c5.3-9.6 16.4-14.4 27-11.7s18 12.3 18 23.2V288H160V209.2c-6.7 11.3-16 25.7-16 39.2V392c0 30.9-25.1 56-56 56H56c-30.9 0-56-25.1-56-56V248.4c0-22.9 5.8-45.5 16.8-65.5L83.2 62.2C104.3 23.8 144.6 0 188.4 0H240c9 0 17.2 5 21.3 13L320 127.1 378.7 13C382.8 5 391 0 400 0h51.6c43.8 0 84.1 23.8 105.1 62.2l66.4 120.7c11 20.1 16.8 42.6 16.8 65.5V392c0 30.9-25.1 56-56 56H552c-30.9 0-56-25.1-56-56V248.4c0-13.5-9.3-27.9-16-39.2V288H432V128c0-11 7.4-20.5 18-23.2s21.7 2.1 27 11.7c11 19.9 25.4 38.1 37.5 57.3c7.2 11.4 14.4 23.7 19.7 35.8c5.2 11.8 9.7 25.4 9.7 39V392c0 4.4 3.6 8 8 8h32c4.4 0 8-3.6 8-8V248.4c0-14.8-3.7-29.4-10.9-42.4L514.7 85.3C502.1 62.3 477.9 48 451.6 48h-37L291.2 288h-54L293 179.6 225.4 48h-37zM160 384h48v64c0 8.8 7.2 16 16 16H416c8.8 0 16-7.2 16-16V384h48v64c0 35.3-28.7 64-64 64H224c-35.3 0-64-28.7-64-64V384zm0-64v32H290.1l-47.4 71.1c-4.9 7.4-2.9 17.3 4.4 22.2s17.3 2.9 22.2-4.4l50.7-76 50.7 76c4.9 7.4 14.8 9.3 22.2 4.4s9.3-14.8 4.4-22.2L349.9 352H480V320H160z\"]\n};\nvar faCameraRotate = {\n prefix: 'far',\n iconName: 'camera-rotate',\n icon: [640, 512, [], \"e0d8\", \"M263.1 32c-24.1 0-45.5 15.4-53.1 38.3l22.8 7.6-22.8-7.6L201.4 96H128c-35.3 0-64 28.7-64 64V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H438.6l-8.6-25.7C422.4 47.4 401 32 376.9 32H263.1zm-7.6 53.5c1.1-3.3 4.1-5.5 7.6-5.5H376.9c3.4 0 6.5 2.2 7.6 5.5l14 42.1c3.3 9.8 12.4 16.4 22.8 16.4H512c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H128c-8.8 0-16-7.2-16-16V160c0-8.8 7.2-16 16-16h90.7c10.3 0 19.5-6.6 22.8-16.4l14-42.1zM362.4 237.6l-15 15c-2.1 2.1-3.3 5-3.3 8c0 6.2 5.1 11.3 11.3 11.3H416c8.8 0 16-7.2 16-16V195.3c0-6.2-5.1-11.3-11.3-11.3c-3 0-5.9 1.2-8 3.3l-16.1 16.1C375.1 185.8 348 176 320 176c-32 0-62.6 12.7-85.3 35.3L231 215c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l3.7-3.7C282.3 231.6 300.8 224 320 224c15.3 0 30.1 4.8 42.4 13.6zM208 380.7c0 6.2 5.1 11.3 11.3 11.3c3 0 5.9-1.2 8-3.3l16.1-16.1C264.9 390.2 292 400 320 400c32 0 62.6-12.7 85.3-35.3L409 361c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-3.7 3.7C357.7 344.4 339.2 352 320 352c-15.3 0-30.1-4.8-42.4-13.6l15-15c2.1-2.1 3.3-5 3.3-8c0-6.2-5.1-11.3-11.3-11.3H224c-8.8 0-16 7.2-16 16v60.7z\"]\n};\nvar faSunDust = {\n prefix: 'far',\n iconName: 'sun-dust',\n icon: [512, 512, [], \"f764\", \"M375.7 19.7c-1.5-8-6.9-14.7-14.4-17.8s-16.1-2.2-22.8 2.4L256 61.1 173.5 4.2c-6.7-4.6-15.3-5.5-22.8-2.4s-12.9 9.8-14.4 17.8l-18.1 98.5L19.7 136.3c-8 1.5-14.7 6.9-17.8 14.4s-2.2 16.1 2.4 22.8L61.1 256 4.2 338.5c-4.6 6.7-5.5 15.3-2.4 22.8s9.8 13 17.8 14.4l98.5 18.1 0 0 37.6-37.6c-3.4-3.4-7.7-5.7-12.6-6.6L64.8 335.2 110 269.6c5.7-8.2 5.7-19 0-27.2L64.8 176.8l78.3-14.4c9.8-1.8 17.5-9.5 19.3-19.3l14.4-78.3L242.4 110c8.2 5.7 19 5.7 27.2 0l65.6-45.2 14.4 78.3c.9 4.9 3.3 9.3 6.6 12.6l37.6-37.6 0 0L375.7 19.7zM256 144c-61.9 0-112 50.1-112 112c0 30.9 12.5 58.9 32.8 79.2l33.9-33.9C199.2 289.7 192 273.7 192 256c0-35.3 28.7-64 64-64c17.7 0 33.7 7.2 45.3 18.7l33.9-33.9C314.9 156.5 286.9 144 256 144zm256 16a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-80 80a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm48 112a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM240 432a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm-80 80a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm192-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm128 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM432 400a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM320 352a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faCommentText = {\n prefix: 'far',\n iconName: 'comment-text',\n icon: [512, 512, [], \"e14d\", \"M168.2 384.9c-15-5.4-31.7-3.1-44.6 6.4c-8.2 6-22.3 14.8-39.4 22.7c5.6-14.7 9.9-31.3 11.3-49.4c1-12.9-3.3-25.7-11.8-35.5C60.4 302.8 48 272 48 240c0-79.5 83.3-160 208-160s208 80.5 208 160s-83.3 160-208 160c-31.6 0-61.3-5.5-87.8-15.1zM26.3 423.8c-1.6 2.7-3.3 5.4-5.1 8.1l-.3 .5c-1.6 2.3-3.2 4.6-4.8 6.9c-3.5 4.7-7.3 9.3-11.3 13.5c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c5.1 0 10.2-.3 15.3-.8l.7-.1c4.4-.5 8.8-1.1 13.2-1.9c.8-.1 1.6-.3 2.4-.5c17.8-3.5 34.9-9.5 50.1-16.1c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9zM184 160c-13.3 0-24 10.7-24 24s10.7 24 24 24h48V312c0 13.3 10.7 24 24 24s24-10.7 24-24V208h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H256 184z\"]\n};\nvar faSprayCanSparkles = {\n prefix: 'far',\n iconName: 'spray-can-sparkles',\n icon: [512, 512, [\"air-freshener\"], \"f5d0\", \"M381.8 51.6C383 51 384 49.4 384 48c0-1.4-1-3-2.2-3.6L352 32 339.6 2.2C339 1 337.4 0 336 0s-3 1-3.6 2.2L320 32 290.2 44.4C289 45 288 46.6 288 48c0 1.4 1 3 2.2 3.6L320 64l12.4 29.8C333 95 334.6 96 336 96s3-1 3.6-2.2L352 64l29.8-12.4zM448 64l12.4 29.8C461 95 462.6 96 464 96s3-1 3.6-2.2L480 64l29.8-12.4C511 51 512 49.4 512 48c0-1.4-1-3-2.2-3.6L480 32 467.6 2.2C467 1 465.4 0 464 0s-3 1-3.6 2.2L448 32 418.2 44.4C417 45 416 46.6 416 48c0 1.4 1 3 2.2 3.6L448 64zm32 160l-12.4-29.8c-.6-1.2-2.2-2.2-3.6-2.2s-3 1-3.6 2.2L448 224l-29.8 12.4c-1.2 .6-2.2 2.2-2.2 3.6c0 1.4 1 3 2.2 3.6L448 256l12.4 29.8c.6 1.2 2.2 2.2 3.6 2.2s3-1 3.6-2.2L480 256l29.8-12.4c1.2-.6 2.2-2.2 2.2-3.6c0-1.4-1-3-2.2-3.6L480 224zm-34.2-76.4c1.2-.6 2.2-2.2 2.2-3.6c0-1.4-1-3-2.2-3.6L416 128 403.6 98.2C403 97 401.4 96 400 96s-3 1-3.6 2.2L384 128l-29.8 12.4c-1.2 .6-2.2 2.2-2.2 3.6c0 1.4 1 3 2.2 3.6L384 160l12.4 29.8c.6 1.2 2.2 2.2 3.6 2.2s3-1 3.6-2.2L416 160l29.8-12.4zM128 0C110.3 0 96 14.3 96 32l0 96 128 0 0-96c0-17.7-14.3-32-32-32L128 0zm96 208c26.5 0 48 21.5 48 48l0 184c0 13.3-10.7 24-24 24L72 464c-13.3 0-24-10.7-24-24l0-184c0-26.5 21.5-48 48-48l128 0zM96 160c-53 0-96 43-96 96L0 440c0 39.8 32.2 72 72 72l176 0c39.8 0 72-32.2 72-72l0-184c0-53-43-96-96-96L96 160zM224 336A64 64 0 1 0 96 336a64 64 0 1 0 128 0z\"]\n};\nvar faAirFreshener = faSprayCanSparkles;\nvar faSignalBars = {\n prefix: 'far',\n iconName: 'signal-bars',\n icon: [640, 512, [\"signal-alt\", \"signal-alt-4\", \"signal-bars-strong\"], \"f690\", \"M576 448V64c0-8.8-7.2-16-16-16s-16 7.2-16 16V448c0 8.8 7.2 16 16 16s16-7.2 16-16zM496 64c0-35.3 28.7-64 64-64s64 28.7 64 64V448c0 35.3-28.7 64-64 64s-64-28.7-64-64V64zM416 448V192c0-8.8-7.2-16-16-16s-16 7.2-16 16V448c0 8.8 7.2 16 16 16s16-7.2 16-16zM336 192c0-35.3 28.7-64 64-64s64 28.7 64 64V448c0 35.3-28.7 64-64 64s-64-28.7-64-64V192zM240 464c8.8 0 16-7.2 16-16V320c0-8.8-7.2-16-16-16s-16 7.2-16 16V448c0 8.8 7.2 16 16 16zm0-208c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64s-64-28.7-64-64V320c0-35.3 28.7-64 64-64zM80 464a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm64-16A64 64 0 1 1 16 448a64 64 0 1 1 128 0z\"]\n};\nvar faSignalAlt = faSignalBars;\nvar faSignalAlt4 = faSignalBars;\nvar faSignalBarsStrong = faSignalBars;\nvar faDiamondExclamation = {\n prefix: 'far',\n iconName: 'diamond-exclamation',\n icon: [512, 512, [], \"e405\", \"M50.9 249L249 50.9c1.9-1.9 4.4-2.9 7-2.9s5.2 1 7 2.9L461.1 249c1.9 1.9 2.9 4.4 2.9 7s-1 5.2-2.9 7L263 461.1c-1.9 1.9-4.4 2.9-7 2.9s-5.2-1-7-2.9L50.9 263c-1.9-1.9-2.9-4.4-2.9-7s1-5.2 2.9-7zM215 17L17 215C6.1 225.9 0 240.6 0 256s6.1 30.1 17 41L215 495c10.9 10.9 25.6 17 41 17s30.1-6.1 41-17L495 297c10.9-10.9 17-25.6 17-41s-6.1-30.1-17-41L297 17C286.1 6.1 271.4 0 256 0s-30.1 6.1-41 17zm41 111c-13.3 0-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faStar = {\n prefix: 'far',\n iconName: 'star',\n icon: [576, 512, [11088, 61446], \"f005\", \"M287.9 0c9.2 0 17.6 5.2 21.6 13.5l68.6 141.3 153.2 22.6c9 1.3 16.5 7.6 19.3 16.3s.5 18.1-5.9 24.5L433.6 328.4l26.2 155.6c1.5 9-2.2 18.1-9.7 23.5s-17.3 6-25.3 1.7l-137-73.2L151 509.1c-8.1 4.3-17.9 3.7-25.3-1.7s-11.2-14.5-9.7-23.5l26.2-155.6L31.1 218.2c-6.5-6.4-8.7-15.9-5.9-24.5s10.3-14.9 19.3-16.3l153.2-22.6L266.3 13.5C270.4 5.2 278.7 0 287.9 0zm0 79L235.4 187.2c-3.5 7.1-10.2 12.1-18.1 13.3L99 217.9 184.9 303c5.5 5.5 8.1 13.3 6.8 21L171.4 443.7l105.2-56.2c7.1-3.8 15.6-3.8 22.6 0l105.2 56.2L384.2 324.1c-1.3-7.7 1.2-15.5 6.8-21l85.9-85.1L358.6 200.5c-7.8-1.2-14.6-6.1-18.1-13.3L287.9 79z\"]\n};\nvar faDialMin = {\n prefix: 'far',\n iconName: 'dial-min',\n icon: [576, 512, [], \"e161\", \"M288 64a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM271 271l-77.4 77.4c-27.8-43.4-22.8-101.7 15.1-139.6c43.7-43.7 114.7-43.7 158.4 0s43.7 114.7 0 158.4c-37.9 37.9-96.2 43-139.6 15.1L305 305c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0zM174.9 401.1A160 160 0 1 0 401.1 174.9 160 160 0 1 0 174.9 401.1zM576 288a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM32 320a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM128 96A32 32 0 1 0 64 96a32 32 0 1 0 64 0zm352 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM128 480a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm352 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faRepeat = {\n prefix: 'far',\n iconName: 'repeat',\n icon: [512, 512, [128257], \"f363\", \"M22.8 280C9.6 279.3-.6 268 0 254.8l.4-8C5.3 148.9 86.2 72 184.2 72H304l0-36.4C304 15.9 319.9 0 339.6 0c8.8 0 17.3 3.3 23.8 9.1l76.7 69c5.1 4.6 7.9 11 7.9 17.8s-2.9 13.3-7.9 17.8l-76.7 69c-6.5 5.9-15 9.1-23.8 9.1c-19.6 0-35.6-15.9-35.6-35.6V120H184.2C111.7 120 52 176.8 48.4 249.2l-.4 8C47.3 270.4 36 280.6 22.8 280zM352 128.5L388.1 96 352 63.5l0 65zM489.2 232c13.2 .7 23.4 11.9 22.8 25.2l-.4 8C506.7 363.1 425.8 440 327.8 440H208v36.4c0 19.6-15.9 35.6-35.6 35.6c-8.8 0-17.3-3.3-23.8-9.1l-76.7-69c-5.1-4.6-7.9-11-7.9-17.8s2.9-13.3 7.9-17.8l76.7-69c6.5-5.9 15-9.1 23.8-9.1c19.6 0 35.6 15.9 35.6 35.6V392H327.8c72.5 0 132.2-56.8 135.8-129.2l.4-8c.7-13.2 11.9-23.4 25.2-22.8zM160 383.5L123.9 416 160 448.5v-65z\"]\n};\nvar faCross = {\n prefix: 'far',\n iconName: 'cross',\n icon: [384, 512, [128327, 10013], \"f654\", \"M112 48c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48v64h64c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H272V464c0 26.5-21.5 48-48 48H160c-26.5 0-48-21.5-48-48V272H48c-26.5 0-48-21.5-48-48V160c0-26.5 21.5-48 48-48h64V48zm112 0H160v88c0 13.3-10.7 24-24 24H48v64h88c13.3 0 24 10.7 24 24V464h64V248c0-13.3 10.7-24 24-24h88V160H248c-13.3 0-24-10.7-24-24V48z\"]\n};\nvar faPageCaretDown = {\n prefix: 'far',\n iconName: 'page-caret-down',\n icon: [384, 512, [\"file-caret-down\"], \"e429\", \"M48 448c0 8.8 7.2 16 16 16H320c8.8 0 16-7.2 16-16V138.5c0-4.2-1.7-8.3-4.7-11.3L256.8 52.7c-3-3-7.1-4.7-11.3-4.7H64c-8.8 0-16 7.2-16 16V448zm272 64H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H245.5c17 0 33.3 6.7 45.3 18.7l74.5 74.5c12 12 18.7 28.3 18.7 45.3V448c0 35.3-28.7 64-64 64zM192 352c-4.5 0-8.8-1.9-11.8-5.2l-75.7-82.6c-14.1-15.4-3.2-40.2 17.7-40.2l139.6 0c20.9 0 31.8 24.8 17.7 40.2l-75.7 82.6c-3 3.3-7.3 5.2-11.8 5.2z\"]\n};\nvar faFileCaretDown = faPageCaretDown;\nvar faBox = {\n prefix: 'far',\n iconName: 'box',\n icon: [448, 512, [128230], \"f466\", \"M342.4 80H248v80H388.4L357 89.5c-2.6-5.8-8.3-9.5-14.6-9.5zM400 208H48V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V208zM59.6 160H200V80H105.6c-6.3 0-12.1 3.7-14.6 9.5L59.6 160zM342.4 32c25.3 0 48.2 14.9 58.5 38l41.6 93.6c3.6 8.2 5.5 17 5.5 26V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V189.6c0-9 1.9-17.8 5.5-26L47.1 70c10.3-23.1 33.2-38 58.5-38H342.4z\"]\n};\nvar faVenusMars = {\n prefix: 'far',\n iconName: 'venus-mars',\n icon: [640, 512, [9892], \"f228\", \"M176 304a128 128 0 1 0 0-256 128 128 0 1 0 0 256zM352 176c0 89.1-66.2 162.7-152 174.4V400h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H200v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V448H104c-13.3 0-24-10.7-24-24s10.7-24 24-24h48V350.4C66.2 338.7 0 265.1 0 176C0 78.8 78.8 0 176 0s176 78.8 176 176zM271.9 360.6c14.6-7.6 28.1-16.8 40.4-27.5C335.2 354.8 366 368 400 368c70.7 0 128-57.3 128-128s-57.3-128-128-128c-8.6 0-17.1 .9-25.2 2.5c-4.9-15.8-11.6-30.7-19.9-44.7C369.3 66 384.4 64 400 64c39.9 0 76.8 13.3 106.3 35.7L558.1 48H504c-13.3 0-24-10.7-24-24s10.7-24 24-24H616c13.3 0 24 10.7 24 24V136c0 13.3-10.7 24-24 24s-24-10.7-24-24V81.9l-51.7 51.7C562.7 163.2 576 200.1 576 240c0 97.2-78.8 176-176 176c-50.5 0-96-21.3-128.1-55.4z\"]\n};\nvar faClockSevenThirty = {\n prefix: 'far',\n iconName: 'clock-seven-thirty',\n icon: [512, 512, [], \"e351\", \"M48 256a208 208 0 1 0 416 0A208 208 0 1 0 48 256zm464 0A256 256 0 1 1 0 256a256 256 0 1 1 512 0zM232 392V335.3l-20 30c-7.4 11-22.3 14-33.3 6.7s-14-22.3-6.7-33.3l64-96c5.9-8.8 16.8-12.7 26.9-9.7s17 12.4 17 23V392c0 13.3-10.7 24-24 24s-24-10.7-24-24z\"]\n};\nvar faArrowPointer = {\n prefix: 'far',\n iconName: 'arrow-pointer',\n icon: [320, 512, [\"mouse-pointer\"], \"f245\", \"M144 272h85.8L48 110.4V356.8l59.9-68.4C117 278 130.2 272 144 272zM0 426V55.2C0 42.4 10.4 32 23.2 32c5.7 0 11.2 2.1 15.4 5.9l274 243.6c4.7 4.2 7.4 10.2 7.4 16.5c0 12.2-9.9 22.1-22.1 22.1H170.5l59.1 126.8c5.6 12 .4 26.3-11.6 31.9s-26.3 .4-31.9-11.6L126.7 339.7 38.6 440.5C34.4 445.3 28.4 448 22 448c-12.2 0-22-9.9-22-22z\"]\n};\nvar faMousePointer = faArrowPointer;\nvar faClockFourThirty = {\n prefix: 'far',\n iconName: 'clock-four-thirty',\n icon: [512, 512, [], \"e34b\", \"M48 256a208 208 0 1 1 416 0A208 208 0 1 1 48 256zm464 0A256 256 0 1 0 0 256a256 256 0 1 0 512 0zM280 392V300.8L338.7 340c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3l-96-64c-7.4-4.9-16.8-5.4-24.6-1.2S232 247.1 232 256V392c0 13.3 10.7 24 24 24s24-10.7 24-24z\"]\n};\nvar faSignalBarsGood = {\n prefix: 'far',\n iconName: 'signal-bars-good',\n icon: [640, 512, [\"signal-alt-3\"], \"f693\", \"M416 192V448c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8 7.2-16 16-16s16 7.2 16 16zm-16-64c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64s64-28.7 64-64V192c0-35.3-28.7-64-64-64zM240 464c-8.8 0-16-7.2-16-16V320c0-8.8 7.2-16 16-16s16 7.2 16 16V448c0 8.8-7.2 16-16 16zm0-208c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64s64-28.7 64-64V320c0-35.3-28.7-64-64-64zM80 432a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM16 448a64 64 0 1 0 128 0A64 64 0 1 0 16 448z\"]\n};\nvar faSignalAlt3 = faSignalBarsGood;\nvar faCactus = {\n prefix: 'far',\n iconName: 'cactus',\n icon: [512, 512, [127797], \"f8a7\", \"M304 448c0 8.8-7.2 16-16 16H224c-8.8 0-16-7.2-16-16V96c0-26.5 21.5-48 48-48s48 21.5 48 48V448zM256 0c-53 0-96 43-96 96V224H112c-8.8 0-16-7.2-16-16V144c0-26.5-21.5-48-48-48S0 117.5 0 144v64c0 61.9 50.1 112 112 112h48V448c0 35.3 28.7 64 64 64h64c35.3 0 64-28.7 64-64h48c61.9 0 112-50.1 112-112V272c0-26.5-21.5-48-48-48s-48 21.5-48 48v64c0 8.8-7.2 16-16 16H352V96c0-53-43-96-96-96zm0 144a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm16 240a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faLightbulbGear = {\n prefix: 'far',\n iconName: 'lightbulb-gear',\n icon: [576, 512, [], \"e5fd\", \"M314.4 213.6c3.6-11.9 5.6-24.5 5.6-37.6c0-70.7-57.3-128-128-128S64 105.3 64 176c0 27.2 8.4 52.3 22.8 72.9c3.7 5.3 8.1 11.3 12.8 17.7l0 0c12.9 17.7 28.3 38.9 39.8 59.8c10.4 19 15.7 38.8 18.3 57.5H109c-2.2-12-5.9-23.7-11.8-34.5c-9.9-18-22.2-34.9-34.5-51.8l0 0 0 0c-5.2-7.1-10.4-14.2-15.4-21.4C27.6 247.9 16 213.3 16 176C16 78.8 94.8 0 192 0c97 0 175.6 78.4 176 175.3c-17.8 7.7-28 25.6-28 43.3v.9c-7.7-4.3-16.7-6.4-25.6-5.9zM245.6 416c3.5 9.2 7.7 18.3 12.8 27c2.9 5 6 9.9 9.4 14.6C257.1 489.2 227.2 512 192 512c-44.2 0-80-35.8-80-80V416H245.6zM144 176c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-44.2 35.8-80 80-80c8.8 0 16 7.2 16 16s-7.2 16-16 16c-26.5 0-48 21.5-48 48zm228 42.2c0-7 4.5-13.3 11.3-14.8c10.5-2.4 21.5-3.7 32.7-3.7s22.2 1.3 32.7 3.7c6.8 1.5 11.3 7.8 11.3 14.8v17.7c0 7.8 4.8 14.8 11.6 18.7c6.8 3.9 15.1 4.5 21.8 .6l13.8-7.9c6.1-3.5 13.7-2.7 18.5 2.4c7.6 8.1 14.3 17.2 20.1 27.2s10.3 20.4 13.5 31c2.1 6.7-1.1 13.7-7.2 17.2l-14.4 8.3c-6.5 3.7-10 10.9-10 18.4s3.5 14.7 10 18.4l14.4 8.3c6.1 3.5 9.2 10.5 7.2 17.2c-3.3 10.6-7.8 21-13.5 31s-12.5 19.1-20.1 27.2c-4.8 5.1-12.5 5.9-18.5 2.4l-13.8-7.9c-6.7-3.9-15.1-3.3-21.8 .6c-6.8 3.9-11.6 10.9-11.6 18.7l0 17.7c0 7-4.5 13.3-11.3 14.8c-10.5 2.4-21.5 3.7-32.7 3.7s-22.2-1.3-32.7-3.7c-6.8-1.5-11.3-7.8-11.3-14.8V467.8c0-7.9-4.9-14.9-11.7-18.9c-6.8-3.9-15.2-4.5-22-.6l-13.5 7.8c-6.1 3.5-13.7 2.7-18.5-2.4c-7.6-8.1-14.3-17.2-20.1-27.2s-10.3-20.4-13.5-31c-2.1-6.7 1.1-13.7 7.2-17.2l14-8.1c6.5-3.8 10.1-11.1 10.1-18.6s-3.5-14.8-10.1-18.6l-14-8.1c-6.1-3.5-9.2-10.5-7.2-17.2c3.3-10.6 7.7-21 13.5-31s12.5-19.1 20.1-27.2c4.8-5.1 12.4-5.9 18.5-2.4l13.6 7.8c6.8 3.9 15.2 3.3 22-.6c6.9-3.9 11.7-11 11.7-18.9V218.2zm92.1 133.5a48.1 48.1 0 1 0 -96.1 0 48.1 48.1 0 1 0 96.1 0z\"]\n};\nvar faMaximize = {\n prefix: 'far',\n iconName: 'maximize',\n icon: [512, 512, [\"expand-arrows-alt\"], \"f31e\", \"M156.1 80H80v76.1L156.1 80zM32 192V64c0-17.7 14.3-32 32-32H192c17.7 0 32 14.3 32 32v2.7c0 8.5-3.4 16.6-9.4 22.6L169 135l87 87 87-87L297.4 89.4c-6-6-9.4-14.1-9.4-22.6V64c0-17.7 14.3-32 32-32H448c17.7 0 32 14.3 32 32V192c0 17.7-14.3 32-32 32h-2.7c-8.5 0-16.6-3.4-22.6-9.4L377 169l-87 87 87 87 45.7-45.7c6-6 14.1-9.4 22.6-9.4H448c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H320c-17.7 0-32-14.3-32-32v-2.7c0-8.5 3.4-16.6 9.4-22.6L343 377l-87-87-87 87 45.7 45.7c6 6 9.4 14.1 9.4 22.6V448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V320c0-17.7 14.3-32 32-32h2.7c8.5 0 16.6 3.4 22.6 9.4L135 343l87-87-87-87L89.4 214.6c-6 6-14.1 9.4-22.6 9.4H64c-17.7 0-32-14.3-32-32zM355.9 432H432V355.9L355.9 432zM80 355.9V432h76.1L80 355.9zM355.9 80L432 156.1V80H355.9z\"]\n};\nvar faExpandArrowsAlt = faMaximize;\nvar faChargingStation = {\n prefix: 'far',\n iconName: 'charging-station',\n icon: [576, 512, [], \"f5e7\", \"M96 48c-8.8 0-16 7.2-16 16V464H272V64c0-8.8-7.2-16-16-16H96zM32 464V64C32 28.7 60.7 0 96 0H256c35.3 0 64 28.7 64 64V256h8c48.6 0 88 39.4 88 88v28c0 15.5 12.5 28 28 28s28-12.5 28-28V268.3c-32.5-10.2-56-40.5-56-76.3V152c0-13.3 10.7-24 24-24h8V80c0-8.8 7.2-16 16-16s16 7.2 16 16v48h32V80c0-8.8 7.2-16 16-16s16 7.2 16 16v48h8c13.3 0 24 10.7 24 24v40c0 35.8-23.5 66.1-56 76.3V372c0 42-34 76-76 76s-76-34-76-76V344c0-22.1-17.9-40-40-40h-8V464l8 0c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8H272 80 32 24c-13.3 0-24-10.7-24-24s10.7-24 24-24l8 0zM464 192c0 17.7 14.3 32 32 32s32-14.3 32-32V176H464v16zM222.9 117.9L199.6 176H240c6.7 0 12.8 4.2 15 10.6s.4 13.4-4.8 17.7l-96 80c-5.6 4.7-13.7 5-19.6 .7s-8.2-12.1-5.5-18.9L152.4 208H112c-6.7 0-12.8-4.2-15-10.6s-.4-13.4 4.8-17.7l96-80c5.6-4.7 13.7-5 19.6-.7s8.2 12.1 5.5 18.9z\"]\n};\nvar faShapes = {\n prefix: 'far',\n iconName: 'shapes',\n icon: [512, 512, [\"triangle-circle-square\"], \"f61f\", \"M288 63.1L220.3 176H355.7L288 63.1zM411.4 175.5c5.9 9.9 6.1 22.2 .4 32.2s-16.3 16.2-27.8 16.2H192c-11.5 0-22.2-6.2-27.8-16.2s-5.5-22.3 .4-32.2l96-160C266.3 5.9 276.8 0 288 0s21.7 5.9 27.4 15.5l96 160zM464 320H336V448H464V320zM328 272H472c22.1 0 40 17.9 40 40V456c0 22.1-17.9 40-40 40H328c-22.1 0-40-17.9-40-40V312c0-22.1 17.9-40 40-40zM208 384A80 80 0 1 0 48 384a80 80 0 1 0 160 0zM0 384a128 128 0 1 1 256 0A128 128 0 1 1 0 384z\"]\n};\nvar faTriangleCircleSquare = faShapes;\nvar faPlaneTail = {\n prefix: 'far',\n iconName: 'plane-tail',\n icon: [512, 512, [], \"e22c\", \"M.8 39L61.5 308.8l-15.5 4.3C18.8 320.5 0 345.2 0 373.4c0 26 16.1 49.3 40.4 58.5l196.1 74.4c10 3.8 20.5 5.7 31.2 5.7H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H267.7c-4.8 0-9.7-.9-14.2-2.6L57.4 387c-5.7-2.1-9.4-7.6-9.4-13.6c0-6.6 4.4-12.3 10.7-14.1L254 305.4c3.5-1 7-1.4 10.6-1.4H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H384L154.9 19.5C142.8 7 126.2 0 108.9 0H32C11.5 0-3.7 19 .8 39zM216 352c-13.3 0-24 10.7-24 24s10.7 24 24 24H360c13.3 0 24-10.7 24-24s-10.7-24-24-24H216z\"]\n};\nvar faGaugeSimpleMax = {\n prefix: 'far',\n iconName: 'gauge-simple-max',\n icon: [512, 512, [\"tachometer-fastest\"], \"f62b\", \"M256 464a208 208 0 1 0 0-416 208 208 0 1 0 0 416zM256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zM200 352c0-30.9 25.1-56 56-56c10.3 0 19.9 2.8 28.2 7.6l110.2-75.4c10.9-7.5 25.9-4.7 33.4 6.3s4.7 25.9-6.3 33.4L311.3 343.2c.4 2.9 .7 5.8 .7 8.8c0 30.9-25.1 56-56 56s-56-25.1-56-56z\"]\n};\nvar faTachometerFastest = faGaugeSimpleMax;\nvar faCircleU = {\n prefix: 'far',\n iconName: 'circle-u',\n icon: [512, 512, [], \"e127\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM192 168c0-13.3-10.7-24-24-24s-24 10.7-24 24V288c0 61.9 50.1 112 112 112s112-50.1 112-112V168c0-13.3-10.7-24-24-24s-24 10.7-24 24V288c0 35.3-28.7 64-64 64s-64-28.7-64-64V168z\"]\n};\nvar faShieldSlash = {\n prefix: 'far',\n iconName: 'shield-slash',\n icon: [640, 512, [], \"e24b\", \"M174.2 111.2L320 49.4 503 127c5.9 2.5 9.1 7.8 9 12.8c-.3 52.8-13 127.8-52.2 195.3L174.2 111.2zM497.9 365c47.4-78.8 61.8-166.3 62.1-225c.1-26.2-16.3-47.9-38.3-57.2L333.4 2.9C329.2 1 324.7 0 320 0s-9.2 1-13.4 2.9L131 77.4 38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L497.9 365zM80.6 159.5c5.5 102 51.5 266.3 213.1 343.7c16.7 8 36.1 8 52.8 0c35.7-17.1 65.8-38.5 91.1-62.5l-38.2-30.1c-20.8 18.9-45.1 35.7-73.5 49.3c-3.6 1.7-7.8 1.7-11.3 0C195.8 403.1 147.9 290.6 133.3 201L80.6 159.5z\"]\n};\nvar faSquarePhoneHangup = {\n prefix: 'far',\n iconName: 'square-phone-hangup',\n icon: [448, 512, [\"phone-square-down\"], \"e27a\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM345.9 303.3c-4.8 7.6-15.1 10.7-24 7.4l-41.6-15.4c-7.9-2.9-12.7-10.1-11.8-17.7l2.6-23.3c-30.4-9.5-63.7-9.5-94.1 0l2.6 23.3c.8 7.6-4 14.8-11.8 17.7l-41.6 15.4c-8.9 3.3-19.2 .1-24-7.4L82.5 272.4c-4.3-6.8-3-15.3 3.1-20.8c76.4-68.8 200.3-68.8 276.7 0c6.1 5.5 7.4 14.1 3.1 20.8l-19.6 30.8z\"]\n};\nvar faPhoneSquareDown = faSquarePhoneHangup;\nvar faArrowUpLeft = {\n prefix: 'far',\n iconName: 'arrow-up-left',\n icon: [384, 512, [], \"e09d\", \"M56 96c-13.3 0-24 10.7-24 24V360c0 13.3 10.7 24 24 24s24-10.7 24-24V177.9L311 409c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-231-231H296c13.3 0 24-10.7 24-24s-10.7-24-24-24H56z\"]\n};\nvar faTransporter1 = {\n prefix: 'far',\n iconName: 'transporter-1',\n icon: [512, 512, [], \"e043\", \"M256 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM192 288h48V176h32V288h48V208.8l52.9 69.7c8 10.6 23.1 12.6 33.6 4.6s12.6-23.1 4.6-33.6l-65.7-86.7c-16.6-21.9-42.6-34.8-70.1-34.8H236.7c-27.5 0-53.5 12.9-70.1 34.8l-65.7 86.7c-8 10.6-5.9 25.6 4.6 33.6s25.6 5.9 33.6-4.6L192 208.8V288zM480 160l-7.3-25.4c-1.1-3.9-4.7-6.6-8.7-6.6s-7.6 2.7-8.7 6.6L448 160l-25.4 7.3c-3.9 1.1-6.6 4.7-6.6 8.7s2.7 7.6 6.6 8.7L448 192l7.3 25.4c1.1 3.9 4.7 6.6 8.7 6.6s7.6-2.7 8.7-6.6L480 192l25.4-7.3c3.9-1.1 6.6-4.7 6.6-8.7s-2.7-7.6-6.6-8.7L480 160zM64 352l-7.3-25.4c-1.1-3.9-4.7-6.6-8.7-6.6s-7.6 2.7-8.7 6.6L32 352 6.6 359.3C2.7 360.4 0 363.9 0 368s2.7 7.6 6.6 8.7L32 384l7.3 25.4c1.1 3.9 4.7 6.6 8.7 6.6s7.6-2.7 8.7-6.6L64 384l25.4-7.3c3.9-1.1 6.6-4.7 6.6-8.7s-2.7-7.6-6.6-8.7L64 352zm56 112c-13.3 0-24 10.7-24 24s10.7 24 24 24H392c13.3 0 24-10.7 24-24s-10.7-24-24-24H120zm56-144c-8.8 0-16 7.2-16 16s7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H176zm0 64c-8.8 0-16 7.2-16 16s7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H176z\"]\n};\nvar faPeanuts = {\n prefix: 'far',\n iconName: 'peanuts',\n icon: [640, 512, [129372], \"e431\", \"M123 504.9c-16.8-19.6-27-45-27-72.9c0-5.2-.1-10.6-.1-16.1v0 0l0 0c-.6-55.4-1.3-125.1 52.8-179.2c26.5-26.5 59-43.2 94.7-49.8c22.9-4.6 39.5-10.9 50-21.5s16.9-27.1 21.5-50c1.6-8.9 3.9-17.5 6.7-26L299.2 38.9C284.4 5.8 245.7-9 212.6 5.7L161.7 28.3c-15 6.7-28 16.1-38.7 27.3c-10.6 11.2-19.3 24.6-25.2 39.9l-.2 .5c-5.8 15.3-8.3 31-7.9 46.4c.2 8.5 1.3 17 3.4 25.4c4.5 19.9 6.9 41-.4 60s-23.1 33.1-39.8 44.9c-7.2 4.9-13.7 10.5-19.5 16.6C22.7 300.5 14 314 8.1 329.4C2.2 344.7-.4 360.6 0 376c.4 15.5 3.8 31.1 10.5 46.2l22.7 50.9c14.7 33.1 53.5 48 86.6 33.2l3.2-1.4zM563 218.4l-.6 .6 0 0c-9.6 9.5-20.5 16.6-32.2 21.4l0 0c-6.4 2.7-13.2 4.7-20.2 5.9l-.4 .1-.4 .1c-26.6 5.3-63.2 15.3-91.3 43.4s-38.2 64.7-43.4 91.3l-.1 .4-.1 .4c-1.3 7-3.3 13.8-5.9 20.2l0 0c-4.8 11.5-11.8 22.3-21.1 31.9l0 0c-.2 .2-.5 .5-.7 .7c-.1 .1-.3 .3-.4 .4l32.7 33.2-32.7-33.2C328.1 453.1 303.4 464 276 464H208c-17.7 0-32-14.3-32-32V364c0-13.6 2.7-26.5 7.6-38.3l0 0c4.9-11.7 12.1-22.8 21.7-32.4c9.7-9.7 20.7-16.9 32.5-21.7l0 0c6.4-2.7 13.2-4.7 20.2-5.9l.4-.1 .4-.1c26.6-5.3 63.2-15.3 91.3-43.4s38.2-64.7 43.4-91.3l.1-.4 .1-.4c1.3-7 3.3-13.8 5.9-20.2l0 0c4.8-11.7 12-22.6 21.5-32.2l0 0 .3-.3c9.6-9.6 20.6-16.8 32.3-21.6l0 0C465.5 50.7 478.4 48 492 48h68c17.7 0 32 14.3 32 32v68c0 27.5-11 52.3-29 70.4l0 0zm34.1 33.8C623.6 225.4 640 188.6 640 148V80c0-44.2-35.8-80-80-80H492c-20.1 0-39.2 4-56.7 11.2c-17.4 7.2-33.7 17.8-47.8 32l-.4 .4C373 57.8 362.4 74 355.2 91.4c-4 9.5-6.9 19.6-8.8 30c-4.8 24.5-12.6 49.1-30.3 66.7s-42.2 25.4-66.7 30.3c-10.4 1.9-20.5 4.9-30 8.8c-17.5 7.2-33.9 17.9-48.1 32.1c-14.2 14.2-24.9 30.5-32.1 48C132 324.8 128 343.9 128 364v68c0 44.2 35.8 80 80 80h68c40.5 0 77.1-16.2 103.8-42.5c.6-.6 1.1-1.1 1.7-1.7c13.8-14 24.2-30.1 31.3-47.2c4-9.5 6.9-19.6 8.8-30c4.8-24.5 12.6-49.1 30.3-66.7s42.2-25.4 66.7-30.3c10.4-1.9 20.5-4.9 30-8.8c17.3-7.2 33.5-17.7 47.6-31.7l.9-.9zm-77.1-97a19.2 19.2 0 1 0 0-38.4 19.2 19.2 0 1 0 0 38.4zm-64 64a19.2 19.2 0 1 0 0-38.4 19.2 19.2 0 1 0 0 38.4zm-192 192a19.2 19.2 0 1 0 0-38.4 19.2 19.2 0 1 0 0 38.4zM347.2 392a19.2 19.2 0 1 0 -38.4 0 19.2 19.2 0 1 0 38.4 0zM520 219.2a19.2 19.2 0 1 0 0-38.4 19.2 19.2 0 1 0 0 38.4zM347.2 328a19.2 19.2 0 1 0 -38.4 0 19.2 19.2 0 1 0 38.4 0z\"]\n};\nvar faShuffle = {\n prefix: 'far',\n iconName: 'shuffle',\n icon: [512, 512, [128256, \"random\"], \"f074\", \"M425 31l80 80c9.4 9.4 9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l39-39H352c-12.6 0-24.4 5.9-32 16l-46 61.3-30-40 37.6-50.1C298.2 117 324.3 104 352 104h78.1L391 65c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0zM204 322.7l-37.6 50.1C149.8 395 123.7 408 96 408H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H96c12.6 0 24.4-5.9 32-16l46-61.3 30 40zM391 287c9.4-9.4 24.6-9.4 33.9 0l80 80c9.4 9.4 9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l39-39H352c-27.7 0-53.8-13-70.4-35.2L128 168c-7.6-10.1-19.4-16-32-16H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H96c27.7 0 53.8 13 70.4 35.2L320 344c7.6 10.1 19.4 16 32 16h78.1l-39-39c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faRandom = faShuffle;\nvar faPersonRunning = {\n prefix: 'far',\n iconName: 'person-running',\n icon: [448, 512, [127939, \"running\"], \"f70c\", \"M224 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm-85.3 60.6c14-3.5 28.7-3.5 42.7 0l95 23.7c19 4.8 34.2 19.1 39.9 37.9L336 234.4c1 3.4 4.1 5.6 7.6 5.6H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H343.6c-24.6 0-46.3-16-53.5-39.5l-5.6-18.2-28.1 84.4 32.1 18c16.5 9.3 24.2 28.8 18.6 46.8L270.9 495.2c-4 12.7-17.4 19.7-30.1 15.8s-19.7-17.4-15.7-30.1l34.2-109.5-88-49.5c-23.4-13.2-34.2-41.1-25.7-66.5l32.7-98-8.6-2.1c-6.4-1.6-13-1.6-19.4 0l-1.8 .5c-6 1.5-11.6 4.4-16.3 8.4L87.6 202.2c-10.1 8.6-25.2 7.5-33.8-2.6s-7.5-25.2 2.6-33.8l44.5-38.2c10.4-8.9 22.7-15.2 35.9-18.6l1.8-.5zm75.1 182.1l38.3-115L225 169 191.1 270.5c-1.2 3.6 .3 7.6 3.7 9.5l19 10.7zM103.4 368l19.1-50.9c7.7 13.3 18.9 24.7 33 32.6l4.9 2.8-14.1 37.6c-5.9 15.6-20.8 25.9-37.4 25.9H24c-13.3 0-24-10.7-24-24s10.7-24 24-24h79.4z\"]\n};\nvar faRunning = faPersonRunning;\nvar faMobileRetro = {\n prefix: 'far',\n iconName: 'mobile-retro',\n icon: [320, 512, [], \"e527\", \"M256 48c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H256zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H256c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM80 160v64c0 17.7 14.3 32 32 32h96c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32H112c-17.7 0-32 14.3-32 32zM96 352a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm24 56a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm40-56a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm24 56a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm40-56a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm24 56a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM128 64c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H128z\"]\n};\nvar faGripLinesVertical = {\n prefix: 'far',\n iconName: 'grip-lines-vertical',\n icon: [192, 512, [], \"f7a5\", \"M32 32C18.7 32 8 42.7 8 56V456c0 13.3 10.7 24 24 24s24-10.7 24-24V56c0-13.3-10.7-24-24-24zm128 0c-13.3 0-24 10.7-24 24V456c0 13.3 10.7 24 24 24s24-10.7 24-24V56c0-13.3-10.7-24-24-24z\"]\n};\nvar faBinBottlesRecycle = {\n prefix: 'far',\n iconName: 'bin-bottles-recycle',\n icon: [640, 512, [], \"e5f6\", \"M152 0h80c13.3 0 24 10.7 24 24v8c8.8 0 16 7.2 16 16s-7.2 16-16 16H128c-8.8 0-16-7.2-16-16s7.2-16 16-16V24c0-13.3 10.7-24 24-24zM32 192c0-53 43-96 96-96H256c24.9 0 47.6 9.5 64.6 25c1.1 1 2.2 2 3.2 3.1C341.3 141.5 352 165.5 352 192h32c0-40.7-19-76.9-48.6-100.4c5.2-5.6 11.5-10.3 18.6-13.6l13.2-6.2c5.3-2.5 10.8-4.4 16.4-5.7V24c0-13.3 10.7-24 24-24h80c13.3 0 24 10.7 24 24V66.1c5.6 1.3 11.1 3.2 16.4 5.7L541.2 78c21 9.9 34.4 31 34.4 54.2c0 12.3-3.7 23.8-10.1 33.3c5 7.8 8.4 16.9 9.6 26.5H608h8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8L584.3 441.3c-4.7 40.3-38.9 70.7-79.5 70.7H135.1c-40.6 0-74.7-30.4-79.5-70.7L32 240H24c-13.3 0-24-10.7-24-24s10.7-24 24-24h8zm48.3 48l23 195.7c1.9 16.1 15.6 28.3 31.8 28.3H504.9c16.2 0 29.9-12.1 31.8-28.3l23-195.7H80.3zm228.1 70.1l-7.6 11.4c-4.8 7.2-14.5 9.3-21.8 4.7c-7.6-4.8-9.8-14.9-4.8-22.4l7.6-11.4c8.5-12.7 22.8-20.4 38.1-20.4c15.4 0 29.8 7.7 38.2 20.6l8.5 12.9c4.9 7.5 2.7 17.6-4.9 22.4c-7.4 4.6-17.1 2.5-21.8-4.8l-8.5-12.9c-2.6-3.9-6.9-6.2-11.5-6.2c-4.6 0-8.9 2.3-11.5 6.1zm-43.1 64.7l-7.9 11.9c-.9 1.4-1.4 3.1-1.4 4.7c0 4.7 3.8 8.6 8.6 8.6h25.2c8.8 0 16 7.2 16 16s-7.2 16-16 16H264.6c-22.4 0-40.6-18.2-40.6-40.6c0-8 2.4-15.8 6.8-22.5l7.9-11.9c4.8-7.2 14.5-9.3 21.8-4.7c7.6 4.8 9.8 14.9 4.8 22.4zM353.7 400h20.9c4.8 0 8.6-3.9 8.6-8.6c0-1.7-.5-3.3-1.4-4.7l-6.6-10.1c-4.9-7.5-2.7-17.6 4.9-22.4c7.4-4.6 17.1-2.5 21.8 4.8l6.6 10.1c4.4 6.6 6.7 14.4 6.7 22.4c0 22.4-18.2 40.6-40.6 40.6H353.7c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faArrowUpFromSquare = {\n prefix: 'far',\n iconName: 'arrow-up-from-square',\n icon: [512, 512, [], \"e09c\", \"M273 7c-9.4-9.4-24.6-9.4-33.9 0L127 119c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l71-71V328c0 13.3 10.7 24 24 24s24-10.7 24-24V81.9l71 71c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L273 7zM72 32C32.2 32 0 64.2 0 104V440c0 39.8 32.2 72 72 72H440c39.8 0 72-32.2 72-72V104c0-39.8-32.2-72-72-72h-8c-13.3 0-24 10.7-24 24s10.7 24 24 24h8c13.3 0 24 10.7 24 24V440c0 13.3-10.7 24-24 24H72c-13.3 0-24-10.7-24-24V104c0-13.3 10.7-24 24-24h8c13.3 0 24-10.7 24-24s-10.7-24-24-24H72z\"]\n};\nvar faFileDashedLine = {\n prefix: 'far',\n iconName: 'file-dashed-line',\n icon: [640, 512, [\"page-break\"], \"f877\", \"M448 464H192c-8.8 0-16-7.2-16-16V368H128v80c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V368H464v80c0 8.8-7.2 16-16 16zm16-304v96h48V154.5c0-17-6.7-33.3-18.7-45.3L402.7 18.7C390.7 6.7 374.5 0 357.5 0H192c-35.3 0-64 28.7-64 64V256h48V64c0-8.8 7.2-16 16-16H352v80c0 17.7 14.3 32 32 32h80zM56 288c-13.3 0-24 10.7-24 24s10.7 24 24 24H168c13.3 0 24-10.7 24-24s-10.7-24-24-24H56zm224 0c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H280zm192 0c-13.3 0-24 10.7-24 24s10.7 24 24 24H584c13.3 0 24-10.7 24-24s-10.7-24-24-24H472z\"]\n};\nvar faPageBreak = faFileDashedLine;\nvar faBracketCurlyRight = {\n prefix: 'far',\n iconName: 'bracket-curly-right',\n icon: [256, 512, [], \"7d\", \"M192 120c0-48.6-39.4-88-88-88H56C42.7 32 32 42.7 32 56s10.7 24 24 24h48c22.1 0 40 17.9 40 40v45.5c0 23.3 9.3 45.7 25.8 62.2L198.1 256l-28.3 28.3c-16.5 16.5-25.8 38.9-25.8 62.2V392c0 22.1-17.9 40-40 40H56c-13.3 0-24 10.7-24 24s10.7 24 24 24h48c48.6 0 88-39.4 88-88V346.5c0-10.6 4.2-20.8 11.7-28.3L249 273c9.4-9.4 9.4-24.6 0-33.9l-45.3-45.3c-7.5-7.5-11.7-17.7-11.7-28.3V120z\"]\n};\nvar faSpider = {\n prefix: 'far',\n iconName: 'spider',\n icon: [512, 512, [128375], \"f717\", \"M158.4 32.6c4.8-12.4-1.4-26.3-13.8-31s-26.3 1.4-31 13.8L81.1 100c-7.9 20.7-3 44.1 12.7 59.7l57.4 57.4L70.8 190.3c-2.4-.8-4.3-2.7-5.1-5.1L46.8 128.4C42.6 115.8 29 109 16.4 113.2S-3 131 1.2 143.6l18.9 56.8c5.6 16.7 18.7 29.8 35.4 35.4L116.1 256 55.6 276.2c-16.7 5.6-29.8 18.7-35.4 35.4L1.2 368.4C-3 381 3.8 394.6 16.4 398.8s26.2-2.6 30.4-15.2l18.9-56.8c.8-2.4 2.7-4.3 5.1-5.1l68.8-22.9c-.8 3.2-1.5 6.4-2 9.7L93.7 352.3C78.1 368 73.1 391.4 81.1 412l32.5 84.6c4.8 12.4 18.6 18.5 31 13.8s18.5-18.6 13.8-31l-32.5-84.6c-1.1-3-.4-6.3 1.8-8.5l12.1-12.1C153.2 425.8 200.1 464 256 464s102.8-38.2 116.2-89.9l12.1 12.1c2.2 2.2 2.9 5.6 1.8 8.5l-32.5 84.6c-4.8 12.4 1.4 26.3 13.8 31s26.3-1.4 31-13.8L430.9 412c7.9-20.7 3-44.1-12.7-59.7l-43.8-43.8c-.5-3.3-1.2-6.5-2-9.7l68.8 22.9c2.4 .8 4.3 2.7 5.1 5.1l18.9 56.8c4.2 12.6 17.8 19.4 30.4 15.2s19.4-17.8 15.2-30.4l-18.9-56.8c-5.6-16.7-18.7-29.8-35.4-35.4L395.9 256l60.5-20.2c16.7-5.6 29.8-18.7 35.4-35.4l18.9-56.8c4.2-12.6-2.6-26.2-15.2-30.4s-26.2 2.6-30.4 15.2l-18.9 56.8c-.8 2.4-2.7 4.3-5.1 5.1l-80.4 26.8 57.4-57.4c15.6-15.6 20.6-39 12.7-59.7L398.4 15.4C393.6 3 379.8-3.2 367.4 1.6s-18.5 18.6-13.8 31l32.5 84.6c1.1 3 .4 6.3-1.8 8.5L352 158.1c-.6-32.8-17.8-61.6-43.3-78.4c-5.8-3.8-13.1-4.9-19.8-3s-12.3 6.7-15.2 13L256 128.1 238.3 89.7c-2.9-6.3-8.5-11.1-15.2-13s-13.9-.8-19.8 3c-25.6 16.8-42.7 45.5-43.3 78.4l-32.3-32.3c-2.2-2.2-2.9-5.6-1.8-8.5l32.5-84.6zM208 160c0-5.5 .9-10.8 2.6-15.7l15.6 33.8c3.9 8.5 12.4 13.9 21.8 13.9h16c9.4 0 17.9-5.4 21.8-13.9l15.6-33.8c1.7 4.9 2.6 10.2 2.6 15.7v88c0 3.4-.4 6.7-1 9.9c-1.6 7.6 .6 15.5 5.9 21.2C320.8 292 328 309.1 328 328v16c0 39.8-32.2 72-72 72s-72-32.2-72-72V328c0-18.9 7.2-36 19.1-48.9c5.3-5.7 7.5-13.6 5.9-21.2c-.7-3.2-1-6.5-1-9.9V160z\"]\n};\nvar faClockThree = {\n prefix: 'far',\n iconName: 'clock-three',\n icon: [512, 512, [], \"e356\", \"M464 256A208 208 0 1 1 48 256a208 208 0 1 1 416 0zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM232 120V256c0 13.3 10.7 24 24 24H360c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V120c0-13.3-10.7-24-24-24s-24 10.7-24 24z\"]\n};\nvar faHandsBound = {\n prefix: 'far',\n iconName: 'hands-bound',\n icon: [640, 512, [], \"e4f9\", \"M16 72V206.6c0 22.2 7.4 43.7 21.1 61.2l69.2 88.6C100 360.7 96 367.9 96 376c0 13.3 10.7 24 24 24H520c13.3 0 24-10.7 24-24c0-8.1-4-15.3-10.2-19.7l69.2-88.6c13.7-17.5 21.1-39 21.1-61.2V72c0-39.8-32.2-72-72-72s-72 32.2-72 72v66.3c-.5-.5-1-.9-1.6-1.4c-29.8-25.2-74.3-22-100.2 7.2l-46.7 52.5c-4.2 4.7-8 9.7-11.5 14.8c-3.5-5.2-7.3-10.1-11.5-14.8l-46.7-52.5c-25.9-29.2-70.4-32.4-100.2-7.2c-.5 .5-1.1 .9-1.6 1.4V72c0-39.8-32.2-72-72-72S16 32.2 16 72zM163.8 352L74.9 238.2C67.8 229.2 64 218 64 206.6V72c0-13.3 10.7-24 24-24s24 10.7 24 24V179.4l71.5 95.3c.1 .2 .3 .4 .4 .6c7.5 9.4 20.9 11.6 31 5c11.4-7.4 14.1-22.9 6-33.7c-.1-.2-.3-.4-.4-.6L189.3 207c-2.7-3.3-4.3-7.2-5-11.2c-1.3-8.1 1.6-16.6 8.2-22.2c9.9-8.4 24.8-7.3 33.4 2.4l46.7 52.5c15.1 16.9 23.4 38.8 23.4 61.5V352H163.8zM344 352V290.1c0-22.7 8.3-44.6 23.4-61.5l46.7-52.5c8.6-9.7 23.5-10.8 33.4-2.4c6.7 5.6 9.5 14.1 8.2 22.2c-.6 4-2.3 7.8-5 11.2l-31.3 39.1c-.2 .2-.3 .4-.4 .6c-8.1 10.8-5.4 26.3 6 33.7c10.1 6.6 23.5 4.3 31-5c.2-.2 .3-.4 .4-.6L528 179.4V72c0-13.3 10.7-24 24-24s24 10.7 24 24V206.6c0 11.5-3.8 22.6-10.9 31.7L476.2 352H344zM120 424c-13.3 0-24 10.7-24 24s10.7 24 24 24h8v16c0 13.3 10.7 24 24 24s24-10.7 24-24V472H296v16c0 13.3 10.7 24 24 24s24-10.7 24-24V472H464v16c0 13.3 10.7 24 24 24s24-10.7 24-24V472h8c13.3 0 24-10.7 24-24s-10.7-24-24-24H120z\"]\n};\nvar faScalpelLineDashed = {\n prefix: 'far',\n iconName: 'scalpel-line-dashed',\n icon: [576, 512, [\"scalpel-path\"], \"f61e\", \"M441.4 48c-6.7 0-13 2.9-17.3 8L268.9 240h63.8L457.7 91.7l36.7 31L369.3 271c-9.1 10.8-22.5 17-36.7 17H228.4h-.7H219 200c-6.2 0-11.9-3.6-14.5-9.3s-1.7-12.3 2.3-17.1L200 247.2l5.6-6.7 .4-.5L387.4 25.1C400.8 9.2 420.6 0 441.4 0c39 0 70.6 31.6 70.6 70.6v4c0 17.6-6.2 34.6-17.6 48.1l-36.7-31c4-4.8 6.3-10.9 6.3-17.1v-4C464 58.1 453.9 48 441.4 48zm-272 272H176h96 16v16c0 74.9-65.5 118.6-126.1 142.9C100.1 503.6 34.1 512 16 512c-6.5 0-12.3-3.9-14.8-9.9s-1.1-12.9 3.5-17.4l160-160 4.7-4.7zM248 464h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H248c-13.3 0-24-10.7-24-24s10.7-24 24-24zm128 0h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H376c-13.3 0-24-10.7-24-24s10.7-24 24-24zm176 0c13.3 0 24 10.7 24 24s-10.7 24-24 24H504c-13.3 0-24-10.7-24-24s10.7-24 24-24h48z\"]\n};\nvar faScalpelPath = faScalpelLineDashed;\nvar faFileInvoiceDollar = {\n prefix: 'far',\n iconName: 'file-invoice-dollar',\n icon: [384, 512, [], \"f571\", \"M336 448V160H256c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H320c8.8 0 16-7.2 16-16zM0 64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM192 215.6c11 0 20 9 20 20v10.1c7.2 1.1 14.2 2.5 20.6 4.1c10.7 2.5 17.4 13.3 14.9 24.1s-13.3 17.4-24.1 14.9c-11-2.6-21.8-4.5-31.7-4.7c-8.2-.1-16.7 1.6-22.4 4.6c-5.2 2.8-5.3 4.7-5.3 5.9c0 .4 0 .4 0 .4c0 0 0 0 0 0c.3 .4 1.4 1.6 4.4 3.2c6.5 3.5 15.8 6 28.6 9.5l.7 .2c11.2 3 25.4 6.8 36.8 13.2c12.4 7 25.2 19.2 25.4 39.3c.3 20.7-11.7 34.8-25.7 42.5c-6.9 3.8-14.6 6.3-22.3 7.8v10.1c0 11-9 20-20 20s-20-9-20-20V409.7c-10-1.9-19.3-4.8-27.5-7.3l0 0c-2.1-.7-4.2-1.3-6.1-1.9c-10.6-3.1-16.6-14.3-13.5-24.9s14.3-16.6 24.9-13.5c2.5 .7 4.9 1.5 7.2 2.2l0 0 0 0c13.6 4.1 24.2 7.3 35.7 7.7c8.9 .3 17.2-1.5 22.4-4.4c4.4-2.5 5.1-4.5 5-6.9l0-.1c0-.5 .2-2-5-4.8c-6.4-3.6-15.7-6.3-28.3-9.7l-1.7-.5c-10.9-2.9-24.5-6.6-35.4-12.4c-12.2-6.5-25.4-18.4-25.6-38.6c-.1-21 13.2-34.4 26.7-41.5c6.7-3.5 14-5.9 21.3-7.3V235.6c0-11 9-20 20-20zM96 96h80c8.8 0 16 7.2 16 16s-7.2 16-16 16H96c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64h80c8.8 0 16 7.2 16 16s-7.2 16-16 16H96c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faPipeSmoking = {\n prefix: 'far',\n iconName: 'pipe-smoking',\n icon: [640, 512, [], \"e3c4\", \"M586.8 48c-36.4 0-70.1 19-89 50.2L412.1 239.8c13 16 14.6 39.3 2.4 57.2L318.7 438.3c-31.3 46.1-83.3 73.7-139 73.7H168C75.2 512 0 436.8 0 344V232c0-30.9 25.1-56 56-56H216c30.9 0 56 25.1 56 56v9.4l23-29.9c12.3-16 32.9-22.2 51.4-16.9l111.2-138C486.4 20.8 529.9 0 575.9 0h10.9H616c13.3 0 24 10.7 24 24s-10.7 24-24 24H586.8zM56 224c-4.4 0-8 3.6-8 8V344c0 66.3 53.7 120 120 120h11.7c39.8 0 77-19.7 99.3-52.6l95.9-141.3L333 240.8l-66 85.8c-6.3 8.1-17 11.4-26.8 8.1s-16.3-12.4-16.3-22.7V232c0-4.4-3.6-8-8-8H56z\"]\n};\nvar faFaceAstonished = {\n prefix: 'far',\n iconName: 'face-astonished',\n icon: [512, 512, [], \"e36b\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256 48c26.5 0 48 21.5 48 48v32c0 26.5-21.5 48-48 48s-48-21.5-48-48V352c0-26.5 21.5-48 48-48zM144.4 224a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM192 144c-4.4 0-8.8 .3-13 .9c-21.2 2.8-40.6 12.4-56.1 26.8c-6.5 6-16.6 5.7-22.6-.8s-5.7-16.6 .8-22.6c20.1-18.7 45.5-31.5 73.7-35.2c5.6-.7 11.4-1.1 17.2-1.1c8.8 0 16 7.2 16 16s-7.2 16-16 16zm141 .9c-4.3-.6-8.6-.9-13-.9c-8.8 0-16-7.2-16-16s7.2-16 16-16c5.8 0 11.6 .4 17.2 1.1c28.2 3.7 53.7 16.4 73.7 35.2c6.5 6 6.8 16.2 .8 22.6s-16.2 6.8-22.6 .8c-15.5-14.5-34.8-24-56.1-26.8z\"]\n};\nvar faWindow = {\n prefix: 'far',\n iconName: 'window',\n icon: [512, 512, [], \"f40e\", \"M0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64v64 48 16V416c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64V224 208 160 96zM464 224H48l0 192c0 8.8 7.2 16 16 16l384 0c8.8 0 16-7.2 16-16l0-192zM96 160a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm128-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm64 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faPlaneCircleExclamation = {\n prefix: 'far',\n iconName: 'plane-circle-exclamation',\n icon: [640, 512, [], \"e556\", \"M215.3 18.7C224.9 8.8 238.6 0 256 0c17.4 0 31.2 8.6 41.1 18.7c9.7 9.9 17 22.6 22.4 34.9C330.2 78.2 336 107.4 336 128v26.2l84.8 54.3c-16 7.5-30.6 17.4-43.5 29.2l-78.3-50.1c-6.9-4.4-11.1-12-11.1-20.2V128c0-13.6-4.2-36.3-12.5-55.2c-4.1-9.4-8.5-16.3-12.7-20.6c-4-4.1-6.2-4.2-6.8-4.2l0 0c-.2 0-2.2 0-6.3 4.2c-4.2 4.3-8.7 11.3-12.9 20.7c-8.4 19-12.8 41.7-12.8 55.1v39.4c0 8.2-4.2 15.8-11.1 20.2L51.7 290.8c-2.3 1.5-3.7 4-3.7 6.7v29.6l144.7-46.3c7.3-2.3 15.3-1 21.5 3.5s9.8 11.7 9.8 19.4l0 72.3c0 7.6-3.6 14.7-9.6 19.2L160 436v23.9c6.8-2.1 15.3-4.6 24.3-7.3c22.6-6.8 49.1-14.8 64.6-19.6c4.6-1.4 9.5-1.4 14.1 0c15.5 4.8 42 12.8 64.6 19.6l17.3 5.2c10.6 17.7 24.3 33.3 40.3 46.2c-6.4 5-14.5 7.9-23.2 7.9c-2.3 0-4.6-.3-6.9-1l6.9-23c-6.9 23-6.9 23-6.9 23l0 0 0 0 0 0-.2 0-.6-.2-2.4-.7-8.9-2.7c-7.5-2.2-17.8-5.4-29.2-8.8c-19.5-5.9-42-12.6-57.9-17.5c-15.9 4.9-38.4 11.6-57.9 17.5c-11.3 3.4-21.7 6.5-29.2 8.8l-8.9 2.7-2.4 .7-.6 .2-.2 0 0 0 0 0 0 0s0 0-6.9-23l6.9 23c-2.2 .7-4.5 1-6.9 1C129 512 112 495 112 474.1V432c0-12.6 5.9-24.4 16-32l48-36 0-27.4L52.2 376.2C26.4 384.4 0 365.2 0 338.1V297.5c0-19.1 9.7-36.9 25.8-47.2l12.9 20.2L25.8 250.3 176 154.2V128c0-20.7 6.1-50 16.9-74.5c5.5-12.3 12.8-24.9 22.4-34.8zm104 262.1l20.1 6.4C327 311.3 320 338.6 320 367.5c0 17.4 2.5 34.1 7.2 49.9l-29.6-22.2c-6-4.5-9.6-11.6-9.6-19.2V303.7c0-7.7 3.7-14.9 9.8-19.4s14.2-5.8 21.5-3.5zM496 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm0 240a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-192c-8.8 0-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16V288c0-8.8-7.2-16-16-16z\"]\n};\nvar faEar = {\n prefix: 'far',\n iconName: 'ear',\n icon: [384, 512, [128066], \"f5f0\", \"M336 192c0-79.5-64.5-144-144-144S48 112.5 48 192V368c0 53 43 96 96 96s96-43 96-96c0-21.7 10.9-42.6 29.8-54.8C309.7 287.5 336 242.8 336 192zm48 0c0 67.8-35.1 127.4-88.2 161.5c-4.9 3.2-7.8 8.6-7.8 14.5c0 79.5-64.5 144-144 144S0 447.5 0 368V192C0 86 86 0 192 0S384 86 384 192zm-256 0v20.2c0 3 1.7 5.8 4.4 7.2l14 7c18.1 9.1 29.5 27.6 29.5 47.8c0 15.9-7 30.9-19.2 41.1l-37.4 31.2c-10.2 8.5-25.3 7.1-33.8-3.1s-7.1-25.3 3.1-33.8L126 278.4c1.2-1 2-2.6 2-4.2c0-2.1-1.2-4-3-4.9l-14-7c-19-9.5-31-28.9-31-50.1V192c0-61.9 50.1-112 112-112s112 50.1 112 112v8c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8c0-35.3-28.7-64-64-64s-64 28.7-64 64z\"]\n};\nvar faFileLock = {\n prefix: 'far',\n iconName: 'file-lock',\n icon: [576, 512, [], \"e3a6\", \"M320 464H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V309.7c4.6-5.2 10-9.6 16-13.1V272c0-30.5 12.2-58.2 32-78.4V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c2.8 0 5.6-.2 8.3-.5c-5.3-9.3-8.3-20-8.3-31.5V464zM464 240c17.7 0 32 14.3 32 32v48H432V272c0-17.7 14.3-32 32-32zm-80 32v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H544c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"]\n};\nvar faDiagramVenn = {\n prefix: 'far',\n iconName: 'diagram-venn',\n icon: [640, 512, [], \"e15a\", \"M270 425.9c-47.8-41.1-78-102-78-169.9s30.3-128.8 78-169.9c-14.7-4-30.1-6.1-46-6.1C126.8 80 48 158.8 48 256s78.8 176 176 176c15.9 0 31.4-2.1 46-6.1zM252 320H388c5.9-15.1 9.8-31.2 11.3-48H240.7c1.5 16.8 5.4 32.9 11.3 48zm16.5 32c13.4 20.6 31 38.1 51.5 51.5c20.6-13.4 38.1-31 51.5-51.5H268.5zM252 192c-5.9 15.1-9.8 31.2-11.3 48H399.3c-1.5-16.8-5.4-32.9-11.3-48H252zm119.5-32c-13.4-20.6-31-38.1-51.5-51.5c-20.6 13.4-38.1 31-51.5 51.5H371.5zM320 458.4c-29.1 13.8-61.6 21.6-96 21.6C100.3 480 0 379.7 0 256S100.3 32 224 32c34.4 0 66.9 7.7 96 21.6C349.1 39.7 381.6 32 416 32c123.7 0 224 100.3 224 224s-100.3 224-224 224c-34.4 0-66.9-7.7-96-21.6z\"]\n};\nvar faArrowDownFromBracket = {\n prefix: 'far',\n iconName: 'arrow-down-from-bracket',\n icon: [448, 512, [], \"e667\", \"M241 505c-9.4 9.4-24.6 9.4-33.9 0L79 377c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l87 87L200 184c0-13.3 10.7-24 24-24s24 10.7 24 24l0 246.1 87-87c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L241 505zM48 168c0 13.3-10.7 24-24 24s-24-10.7-24-24L0 88C0 39.4 39.4 0 88 0L360 0c48.6 0 88 39.4 88 88l0 80c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-80c0-22.1-17.9-40-40-40L88 48C65.9 48 48 65.9 48 88l0 80z\"]\n};\nvar faXRay = {\n prefix: 'far',\n iconName: 'x-ray',\n icon: [512, 512, [], \"f497\", \"M24 32C10.7 32 0 42.7 0 56S10.7 80 24 80h8V432H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H56 456h32c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V80h8c13.3 0 24-10.7 24-24s-10.7-24-24-24H456 56 24zM80 432V80H432V432H80zM256 96c-8.8 0-16 7.2-16 16v32H176c-8.8 0-16 7.2-16 16s7.2 16 16 16h64v32H144c-8.8 0-16 7.2-16 16s7.2 16 16 16h96v54.6L189.1 275c-5.2-2-10.6-3-16.2-3h-2.1c-23.6 0-42.8 19.2-42.8 42.8c0 9.6 3.2 18.9 9.1 26.4l18.2 23.2c9.7 12.4 24.6 19.6 40.3 19.6H316.4c15.7 0 30.6-7.2 40.3-19.6l18.2-23.2c5.9-7.5 9.1-16.8 9.1-26.4c0-23.6-19.2-42.8-42.8-42.8H339c-5.5 0-11 1-16.2 3L272 294.6V240h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H272V176h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H272V112c0-8.8-7.2-16-16-16zM208 320a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm80 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faGoalNet = {\n prefix: 'far',\n iconName: 'goal-net',\n icon: [640, 512, [], \"e3ab\", \"M48 120c0-22.1 17.9-40 40-40H552c22.1 0 40 17.9 40 40V456c0 13.3 10.7 24 24 24s24-10.7 24-24V120c0-48.6-39.4-88-88-88H88C39.4 32 0 71.4 0 120V456c0 13.3 10.7 24 24 24s24-10.7 24-24V120zm128 8c-8.8 0-16 7.2-16 16v48H112c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v64H112c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v64H112c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v48c0 8.8 7.2 16 16 16s16-7.2 16-16V416h64v48c0 8.8 7.2 16 16 16s16-7.2 16-16V416h64v48c0 8.8 7.2 16 16 16s16-7.2 16-16V416h64v48c0 8.8 7.2 16 16 16s16-7.2 16-16V416h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H480V320h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H480V224h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H480V144c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H384V144c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H288V144c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H192V144c0-8.8-7.2-16-16-16zm80 256H192V320h64v64zm96 0H288V320h64v64zm96 0H384V320h64v64zm0-96H384V224h64v64zm-96 0H288V224h64v64zm-96 0H192V224h64v64z\"]\n};\nvar faCoffinCross = {\n prefix: 'far',\n iconName: 'coffin-cross',\n icon: [384, 512, [], \"e051\", \"M140.1 464H243.9l91.9-318.2L250.2 48H133.8L48.2 145.8 140.1 464zM11.5 114.9l91-104C108.5 4 117.3 0 126.5 0h131c9.2 0 18 4 24.1 10.9l91 104c7.4 8.5 11.5 19.3 11.5 30.6c0 4.4-.6 8.7-1.8 12.9L286.7 488.9c-4 13.7-16.5 23.1-30.7 23.1H128.1c-14.3 0-26.8-9.4-30.7-23.1L1.8 158.3C.6 154.1 0 149.8 0 145.4c0-11.2 4.1-22.1 11.5-30.6zM216 120v40h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H216V328c0 13.3-10.7 24-24 24s-24-10.7-24-24V208H120c-13.3 0-24-10.7-24-24s10.7-24 24-24h48V120c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faSpellCheck = {\n prefix: 'far',\n iconName: 'spell-check',\n icon: [576, 512, [], \"f891\", \"M134.1 14.6C130.4 5.8 121.6 0 112 0s-18.3 5.8-22.1 14.6l-88 208c-5.2 12.2 .5 26.3 12.8 31.5s26.3-.5 31.5-12.8L56.8 216H167.2l10.7 25.4c5.2 12.2 19.2 17.9 31.5 12.8s17.9-19.2 12.8-31.5l-88-208zM146.9 168H77.1L112 85.6 146.9 168zM256 24V128 232c0 13.3 10.7 24 24 24h92c42 0 76-34 76-76c0-24.6-11.7-46.4-29.8-60.3C426.9 107.3 432 92.2 432 76c0-42-34-76-76-76H280c-13.3 0-24 10.7-24 24zm100 80H304V48h52c15.5 0 28 12.5 28 28s-12.5 28-28 28zm-52 48h52 16c15.5 0 28 12.5 28 28s-12.5 28-28 28H304V152zM568.6 313.3c9.6-9.2 9.9-24.4 .7-33.9s-24.4-9.9-33.9-.7l-183 175.7L265 367c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9L335 505c9.2 9.2 24.2 9.4 33.6 .3l200-192z\"]\n};\nvar faLocationXmark = {\n prefix: 'far',\n iconName: 'location-xmark',\n icon: [384, 512, [\"map-marker-times\", \"map-marker-xmark\"], \"f60e\", \"M336 192c0-79.5-64.5-144-144-144S48 112.5 48 192c0 12.4 4.5 31.6 15.3 57.2c10.5 24.8 25.4 52.2 42.5 79.9c28.5 46.2 61.5 90.8 86.2 122.6c24.8-31.8 57.8-76.4 86.2-122.6c17.1-27.7 32-55.1 42.5-79.9C331.5 223.6 336 204.4 336 192zm48 0c0 87.4-117 243-168.3 307.2c-12.3 15.3-35.1 15.3-47.4 0C117 435 0 279.4 0 192C0 86 86 0 192 0S384 86 384 192zM111 111c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faMapMarkerTimes = faLocationXmark;\nvar faMapMarkerXmark = faLocationXmark;\nvar faCircleQuarterStroke = {\n prefix: 'far',\n iconName: 'circle-quarter-stroke',\n icon: [512, 512, [], \"e5d3\", \"M464 256c0-114.9-93.1-208-208-208c-1.4 0-2.9 0-4.3 0c2.7 4.6 4.3 10.1 4.3 16V224c0 17.7-14.3 32-32 32H64c-5.8 0-11.3-1.6-16-4.3c0 1.4 0 2.9 0 4.3c0 114.9 93.1 208 208 208s208-93.1 208-208zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z\"]\n};\nvar faLasso = {\n prefix: 'far',\n iconName: 'lasso',\n icon: [576, 512, [], \"f8c8\", \"M576 176c0 97.2-128.9 176-288 176c-14.9 0-29.6-.7-43.9-2c7.7 15.3 11.9 32.4 11.9 50.2C256 461.9 205.9 512 144.2 512H56c-13.3 0-24-10.7-24-24s10.7-24 24-24h88.2c35.2 0 63.8-28.6 63.8-63.8c0-24.9-14.5-47.5-37.1-57.9l-44.3-20.5C50.2 290.1 0 236.6 0 176C0 78.8 128.9 0 288 0S576 78.8 576 176zM288 304c132.5 0 240-57.3 240-128s-107.5-128-240-128S48 105.3 48 176s107.5 128 240 128z\"]\n};\nvar faSlash = {\n prefix: 'far',\n iconName: 'slash',\n icon: [640, 512, [], \"f715\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z\"]\n};\nvar faPersonToPortal = {\n prefix: 'far',\n iconName: 'person-to-portal',\n icon: [512, 512, [\"portal-enter\"], \"e022\", \"M272 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-90.7 12.6c-14-3.5-28.7-3.5-42.7 0l-1.8 .5c-13.3 3.3-25.6 9.7-35.9 18.6L56.4 165.8c-10.1 8.6-11.2 23.8-2.6 33.8s23.8 11.2 33.8 2.6l44.5-38.2c4.7-4 10.3-6.9 16.3-8.4l1.8-.5c6.4-1.6 13-1.6 19.4 0l8.6 2.1-32.7 98c-8.5 25.5 2.3 53.4 25.7 66.5l88 49.5L225.1 480.8c-4 12.7 3.1 26.1 15.7 30.1s26.1-3.1 30.1-15.8L307 379.5c5.6-18-2.1-37.5-18.6-46.8l-32.1-18 28.1-84.4 5.6 18.2c7.2 23.5 28.9 39.5 53.5 39.5H352h16.5H392c13.3 0 24-10.7 24-24s-10.7-24-24-24H368.1c1.2-82.9 11.4-134.5 24.1-164c12.4-28.7 22.4-28.1 23.7-28l.1 0 .1 0c1.3-.1 11.3-.7 23.7 28c13.5 31.4 24.2 87.7 24.2 180s-10.7 148.6-24.2 180c-12.4 28.7-22.4 28.1-23.7 28l-.1 0-.1 0c-1.3 .1-11.3 .7-23.7-28c-10.1-23.4-18.6-60.5-22.2-116H352 321.9c8.8 140.7 47.6 192 94.1 192c53 0 96-66.6 96-256S469 0 416 0c-46.2 0-84.8 50.6-93.9 189.1l-5.8-18.9c-5.8-18.7-20.9-33.1-39.9-37.9l-95-23.7zm70.8 67.2l-38.3 115-19-10.7c-3.3-1.9-4.9-5.9-3.7-9.5L225 169l27.1 6.8zM122.5 317.1L103.4 368H24c-13.3 0-24 10.7-24 24s10.7 24 24 24h84.9c16.7 0 31.6-10.3 37.4-25.9l14.1-37.6-4.9-2.8c-14.1-8-25.4-19.3-33-32.6z\"]\n};\nvar faPortalEnter = faPersonToPortal;\nvar faCalendarStar = {\n prefix: 'far',\n iconName: 'calendar-star',\n icon: [448, 512, [], \"f736\", \"M128 0c13.3 0 24 10.7 24 24V64H296V24c0-13.3 10.7-24 24-24s24 10.7 24 24V64h40c35.3 0 64 28.7 64 64v16 48V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192 144 128C0 92.7 28.7 64 64 64h40V24c0-13.3 10.7-24 24-24zM400 192H48V448c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V192zM233.3 242.9l23.6 47.8 52.7 7.7c8.5 1.2 11.9 11.7 5.8 17.7l-38.2 37.2 9 52.5c1.5 8.5-7.5 15-15.1 11L224 392l-47.2 24.8c-7.6 4-16.5-2.5-15.1-11l9-52.5-38.2-37.2c-6.2-6-2.8-16.5 5.8-17.7l52.7-7.7 23.6-47.8c3.8-7.7 14.8-7.7 18.7 0z\"]\n};\nvar faComputerMouse = {\n prefix: 'far',\n iconName: 'computer-mouse',\n icon: [384, 512, [128433, \"mouse\"], \"f8cc\", \"M192 224H48V352c0 61.9 50.1 112 112 112h64c61.9 0 112-50.1 112-112V224H192zm192-48v24 24V352c0 88.4-71.6 160-160 160H160C71.6 512 0 440.4 0 352V224 200 176 160C0 71.6 71.6 0 160 0h8 24 24 8c88.4 0 160 71.6 160 160v16zM216 48V176H336V160c0-61.9-50.1-112-112-112h-8zm-48 0h-8C98.1 48 48 98.1 48 160v16H168V48z\"]\n};\nvar faMouse = faComputerMouse;\nvar faArrowRightToBracket = {\n prefix: 'far',\n iconName: 'arrow-right-to-bracket',\n icon: [512, 512, [\"sign-in\"], \"f090\", \"M217 401L345 273c9.4-9.4 9.4-24.6 0-33.9L217 111c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l87 87L24 232c-13.3 0-24 10.7-24 24s10.7 24 24 24l246.1 0-87 87c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0zM344 80l80 0c22.1 0 40 17.9 40 40l0 272c0 22.1-17.9 40-40 40l-80 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l80 0c48.6 0 88-39.4 88-88l0-272c0-48.6-39.4-88-88-88l-80 0c-13.3 0-24 10.7-24 24s10.7 24 24 24z\"]\n};\nvar faSignIn = faArrowRightToBracket;\nvar faPegasus = {\n prefix: 'far',\n iconName: 'pegasus',\n icon: [576, 512, [], \"f703\", \"M432 0c-1.8 0-3.5 .2-5.2 .6C366.3 5.8 316 46.3 296.6 101.5L162.7 34.5c-7.4-3.7-16.3-3.3-23.4 1.1S128 47.7 128 56c0 81 33.4 133.2 67.7 164.8c16.9 15.6 33.8 26 46.6 32.5c6.4 3.3 11.8 5.6 15.7 7.2c2 .8 3.6 1.4 4.7 1.8c.5 .2 1 .3 1.3 .5c2.5 .9 5.1 1.3 7.9 1.3c13.3 0 24-10.7 24-24c0-10.8-7.2-20-17-23l-.4-.1c-.6-.2-1.6-.6-2.9-1.1c-2.6-1-6.6-2.8-11.5-5.2c-9.8-5-22.9-13.1-35.9-25.1c-19.9-18.3-40.3-46.4-48.5-88.8l121.5 60.8c3.6 1.8 7.4 2.6 11.2 2.5h.5c12.1 0 22.3-9 23.8-21c6.1-49.1 46.6-87.7 96.6-90.8c.7 0 1.3-.1 2-.2H440h24 8 .5c19.9 0 36.8 14.6 39.6 34.3l9.9 69.2c2.1 14.8-6.2 29.1-20 34.7c-13.3 5.3-28.4 1.3-37.3-9.8l-5.9-7.3c-6.4-8-17.1-11-26.7-7.7s-16.1 12.5-16.1 22.6v55c0 .5 0 1 0 1.5c0 .6 0 1.2 0 1.7c0 23.5-9.6 44.1-24.7 58.8c-4.6 4.5-7.3 10.7-7.3 17.2V464H336V346.2c0-11.3-7.9-21.1-19-23.5c-2.1-.4-4.2-1-6.3-1.6l-88-25.7c-7.3-2.1-15.3-.7-21.3 4s-9.6 11.9-9.4 19.5c0 .4 0 .9 0 1.3c0 8-1.4 16-4.3 23.5L175.6 376c-4.2 11.1-4.7 23.2-1.5 34.6L188.9 464H139.1l-11.2-40.5c-5.9-21.2-4.9-43.7 2.8-64.4l8.2-21.7c4.2-11.2 4.1-23.6-.4-34.7l-21.9-54.6c-3-7.6-4.6-15.7-4.6-23.9c0-15.5 5.5-29.7 14.6-40.8c-7.7-14.2-14.5-30.1-19.6-47.6c-8.8 6.9-16.5 15-22.9 24.2C37.3 162.1 0 200.7 0 248v64c0 13.3 10.7 24 24 24s24-10.7 24-24V248c0-13.2 6.4-25 16.3-32.2c-.2 2.8-.3 5.6-.3 8.5c0 14.3 2.7 28.4 8 41.7l21.9 54.6-8.2 21.7c-11.3 30.1-12.7 63.1-4.1 94.1l11.2 40.5c5.8 20.8 24.7 35.2 46.2 35.2h49.8c31.7 0 54.7-30.3 46.2-60.8l-14.8-53.3c-.5-1.6-.4-3.4 .2-5l12.1-32.3c1.4-3.7 2.6-7.4 3.6-11.2L288 364.5V464c0 26.5 21.5 48 48 48h48c26.5 0 48-21.5 48-48V327.8c19.8-22.6 32-52.3 32-85.5l0-1.6 0-.7v-7.8c17.7 6 37.5 5.8 55.8-1.5c34.4-13.8 55-49.3 49.7-86l-9.9-69.2c-1.6-11.3-5.3-21.9-10.7-31.3C555.6 40 560 32.5 560 24c0-13.3-10.7-24-24-24H472.5 472h-8H440h-8zm48 96a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faFilesMedical = {\n prefix: 'far',\n iconName: 'files-medical',\n icon: [448, 512, [], \"f7fd\", \"M384 368H160c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H320V96c0 17.7 14.3 32 32 32h48V352c0 8.8-7.2 16-16 16zM160 416H384c35.3 0 64-28.7 64-64V122.5c0-17-6.7-33.3-18.7-45.3L370.7 18.7C358.7 6.7 342.5 0 325.5 0H160C124.7 0 96 28.7 96 64V352c0 35.3 28.7 64 64 64zM48 120c0-13.3-10.7-24-24-24S0 106.7 0 120V376c0 75.1 60.9 136 136 136H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H136c-48.6 0-88-39.4-88-88V120zm197.3 72v37.3H208c-8.8 0-16 7.2-16 16v21.3c0 8.8 7.2 16 16 16h37.3V320c0 8.8 7.2 16 16 16h21.3c8.8 0 16-7.2 16-16V282.7H336c8.8 0 16-7.2 16-16V245.3c0-8.8-7.2-16-16-16H298.7V192c0-8.8-7.2-16-16-16H261.3c-8.8 0-16 7.2-16 16z\"]\n};\nvar faCannon = {\n prefix: 'far',\n iconName: 'cannon',\n icon: [640, 512, [], \"e642\", \"M261.2 406.7c-11.5 6.9-20.5 12.2-26.6 15.3c-47.4 23.5-104.9 4.3-128.5-43s-4.6-104.9 42.7-128.7c22.2-10.7 90.8-36.6 170.7-65.6C398.3 156.1 484.4 125.8 538 107c7.3-2.6 15.6 .6 19.2 8l30.7 61.4c3.7 7.3 1.3 15.8-5.2 20.2c-24.3 16.3-56.1 37.5-90.8 60.6c12.4 10.3 23.1 22.8 31.5 36.7c32.9-21.9 62.9-41.9 86-57.4c26.7-17.9 35.7-52.7 21.4-81.5L600.2 93.5c-14.4-28.7-47.7-42.4-78-31.8C414.8 99.3 177.1 183.2 127.6 207.2c-56.1 28-85.9 87.7-78.5 146.6L26.5 365.1C2.8 376.9-6.8 405.8 5.1 429.5s40.7 33.3 64.4 21.5L92 439.7c42.7 41.2 108.3 53.2 164.4 25.1c6.1-3.2 14.8-8.1 25.4-14.5c-9.2-13.1-16.2-27.8-20.6-43.6zM400 304a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm0 176a112 112 0 1 0 0-224 112 112 0 1 0 0 224z\"]\n};\nvar faNfcLock = {\n prefix: 'far',\n iconName: 'nfc-lock',\n icon: [576, 512, [], \"e1f8\", \"M384 80H64c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H320v48H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64v65.1c-17.7 2.5-34 9.2-48 18.9V96c0-8.8-7.2-16-16-16zm-16 72v62.3c-10.2 16.9-16 36.6-16 57.7v24.6c-19.1 11.1-32 31.7-32 55.4V160H248v54.4c14.3 8.3 24 23.8 24 41.6c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-17.8 9.7-33.3 24-41.6V152c0-22.1 17.9-40 40-40h88c22.1 0 40 17.9 40 40zM128 352H320v48H120c-22.1 0-40-17.9-40-40V152c0-22.1 17.9-40 40-40h16c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8V352zM464 240c-17.7 0-32 14.3-32 32v48h64V272c0-17.7-14.3-32-32-32zm-80 32c0-44.2 35.8-80 80-80s80 35.8 80 80v48c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H384c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32V272z\"]\n};\nvar faPersonSkiLift = {\n prefix: 'far',\n iconName: 'person-ski-lift',\n icon: [512, 512, [\"ski-lift\"], \"f7c8\", \"M240 0c8.8 0 16 7.2 16 16V207.9l-32 7.5V16c0-8.8 7.2-16 16-16zM112 32a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM13.6 178.3c12-5.7 26.3-.7 32 11.3l65 135.8c8.3 17.4 28 26.4 46.6 21.3l36.5-9.9c12.8-3.5 26 4.1 29.5 16.8s-4.1 26-16.8 29.5l-36.5 9.9c-41 11.2-84.2-8.6-102.5-46.9L2.3 210.4c-5.7-12-.7-26.3 11.3-32zM488 288c13.3 0 24 10.7 24 24v1c0 33.5-20.9 63.4-52.3 75L128.3 510.5c-12.4 4.6-26.2-1.8-30.8-14.2s1.8-26.2 14.2-30.8L272 406.2V286.3l-94.2 22.2c-18 4.2-36.6-4.5-44.9-21L90.3 202.3C78.8 179.2 95.5 152 121.4 152c13.2 0 25.2 7.4 31.1 19.2l42 84L280.7 235c20.1-4.7 39.3 10.5 39.3 31.1V388.5L443.1 343c12.6-4.6 20.9-16.6 20.9-30v-1c0-13.3 10.7-24 24-24z\"]\n};\nvar faSkiLift = faPersonSkiLift;\nvar faSquare6 = {\n prefix: 'far',\n iconName: 'square-6',\n icon: [448, 512, [], \"e25b\", \"M384 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM224 240a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm-96 48c0 53 43 96 96 96s96-43 96-96c0-44-29.6-81.1-70-92.4l29.6-25.4c10.1-8.6 11.2-23.8 2.6-33.8s-23.8-11.2-33.8-2.6l-81.6 70C142.2 224.8 128 255.6 128 288z\"]\n};\nvar faShopSlash = {\n prefix: 'far',\n iconName: 'shop-slash',\n icon: [640, 512, [\"store-alt-slash\"], \"e070\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-54.8-43V224h25.8c21.1 0 38.2-17.1 38.2-38.2c0-6.4-1.6-12.7-4.7-18.3L557.6 25C549.2 9.6 533.1 0 515.5 0h-391C106.9 0 90.8 9.6 82.4 25L76.9 35 38.8 5.1zM115.2 65l9.3-17 391 0 69.8 128H256.8L115.2 65zM318.1 224H528V388.5L318.1 224zM0 185.8C0 206.9 17.1 224 38.2 224H64V472c0 22.1 17.9 40 40 40H344c22.1 0 40-17.9 40-40V398.5L284.3 320H112V224h50.5l-60.9-48H54.7l14.1-25.8L30.5 120 4.7 167.4C1.6 173.1 0 179.4 0 185.8zM552 512l-.2 0h.5l-.2 0zM112 464V368H336v96H112z\"]\n};\nvar faStoreAltSlash = faShopSlash;\nvar faWindTurbine = {\n prefix: 'far',\n iconName: 'wind-turbine',\n icon: [512, 512, [], \"f89b\", \"M315.7 414.8c9.1 14.8 32 6.5 29.5-10.7L316.9 212c-.5-3.4 .1-6.9 1.8-9.9L411 31.2c8.3-15.3-10.4-31-24-20.1L234.7 131.7c-2.7 2.1-6 3.4-9.5 3.5L31.1 140.6C13.7 141 9.5 165 25.7 171.4l180.6 71.5c3.2 1.3 5.9 3.5 7.7 6.5L315.7 414.8zM232 339.8V464H152c-13.3 0-24 10.7-24 24s10.7 24 24 24H256 360c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V417.8l-48-78zM256 168a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faSlidersSimple = {\n prefix: 'far',\n iconName: 'sliders-simple',\n icon: [512, 512, [], \"e253\", \"M80 336a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm76.3 8L488 344c13.3 0 24 10.7 24 24s-10.7 24-24 24l-331.7 0c-10.2 32.5-40.5 56-76.3 56c-44.2 0-80-35.8-80-80s35.8-80 80-80c35.8 0 66.1 23.5 76.3 56zM400 144a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm-44.3-24c10.2-32.5 40.5-56 76.3-56c44.2 0 80 35.8 80 80s-35.8 80-80 80c-35.8 0-66.1-23.5-76.3-56L24 168c-13.3 0-24-10.7-24-24s10.7-24 24-24l331.7 0z\"]\n};\nvar faGridRound = {\n prefix: 'far',\n iconName: 'grid-round',\n icon: [448, 512, [], \"e5da\", \"M88 96A24 24 0 1 1 40 96a24 24 0 1 1 48 0zM64 32a64 64 0 1 0 0 128A64 64 0 1 0 64 32zM88 256a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zM64 192a64 64 0 1 0 0 128 64 64 0 1 0 0-128zm0 200a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM0 416a64 64 0 1 0 128 0A64 64 0 1 0 0 416zM248 96a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zM224 32a64 64 0 1 0 0 128 64 64 0 1 0 0-128zm0 200a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm-64 24a64 64 0 1 0 128 0 64 64 0 1 0 -128 0zm88 160a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zm-24-64a64 64 0 1 0 0 128 64 64 0 1 0 0-128zM384 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM320 96a64 64 0 1 0 128 0A64 64 0 1 0 320 96zm88 160a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zm-24-64a64 64 0 1 0 0 128 64 64 0 1 0 0-128zm0 200a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm-64 24a64 64 0 1 0 128 0 64 64 0 1 0 -128 0z\"]\n};\nvar faBadgeSheriff = {\n prefix: 'far',\n iconName: 'badge-sheriff',\n icon: [448, 512, [], \"f8a2\", \"M256.1 63.9c5-6.7 7.9-14.9 7.9-23.9c0-22.1-17.9-40-40-40s-40 17.9-40 40c0 9 2.9 17.2 7.9 23.9c-.9 1.2-1.7 2.4-2.5 3.8l-37.3 64-74 .3c-1.2 0-2.3 .1-3.5 .2c-6.9-12-19.9-20-34.7-20c-22.1 0-40 17.9-40 40s17.9 40 40 40c1.2 0 2.4-.1 3.6-.2L80.4 256 43.6 320.2c-1.2-.1-2.4-.2-3.6-.2c-22.1 0-40 17.9-40 40s17.9 40 40 40c14.8 0 27.8-8.1 34.7-20c1.1 .1 2.3 .2 3.5 .2l74 .3 37.3 64c.8 1.3 1.6 2.6 2.5 3.8c-5 6.7-7.9 14.9-7.9 23.9c0 22.1 17.9 40 40 40s40-17.9 40-40c0-9-2.9-17.2-7.9-23.9c.9-1.2 1.7-2.4 2.5-3.8l37.3-64 74-.3c1.2 0 2.3-.1 3.5-.2c6.9 12 19.9 20 34.7 20c22.1 0 40-17.9 40-40s-17.9-40-40-40c-1.2 0-2.4 .1-3.6 .2L367.6 256l36.7-64.2c1.2 .1 2.4 .2 3.6 .2c22.1 0 40-17.9 40-40s-17.9-40-40-40c-14.8 0-27.8 8.1-34.7 20c-1.1-.1-2.3-.2-3.5-.2l-74-.3-37.3-64c-.8-1.3-1.6-2.6-2.5-3.8zM272 256a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm-80.7-96.3l32.7-56 32.7 56c7.1 12.2 20.2 19.8 34.4 19.9l64.9 .3-32.2 56.3c-7 12.3-7 27.4 0 39.7l32.2 56.3-64.9 .3c-14.2 .1-27.3 7.6-34.4 19.9l-32.7 56-32.7-56c-7.1-12.2-20.2-19.8-34.4-19.9l-64.9-.3 32.2-56.3c7-12.3 7-27.4 0-39.7L92.1 179.8l64.9-.3c14.2-.1 27.3-7.6 34.4-19.9z\"]\n};\nvar faServer = {\n prefix: 'far',\n iconName: 'server',\n icon: [512, 512, [], \"f233\", \"M64 80c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM64 336c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V352c0-8.8-7.2-16-16-16H64zM0 352c0-35.3 28.7-64 64-64H448c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V352zm392 32a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm24-280a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM328 384a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm24-280a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faVirusCovidSlash = {\n prefix: 'far',\n iconName: 'virus-covid-slash',\n icon: [640, 512, [], \"e4a9\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L472.1 344.7c11.4-19.5 19.1-41.4 22.3-64.7H528v16c0 13.3 10.7 24 24 24s24-10.7 24-24V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v16H494.4c-4.2-30.7-16.3-58.8-34.1-82.3L484 125.9l11.3 11.3c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L472.7 46.7c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9L450.1 92l-23.8 23.8C402.8 97.9 374.7 85.8 344 81.6V48h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H280c-13.3 0-24 10.7-24 24s10.7 24 24 24h16V81.6c-30.7 4.2-58.8 16.3-82.3 34.1L189.9 92l11.3-11.3c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L134.1 79.8 38.8 5.1zm197 154.4C258.3 139.9 287.8 128 320 128c70.7 0 128 57.3 128 128c0 21.2-5.1 41.1-14.2 58.7L235.8 159.5zM401.3 412.2l-43.1-33.9C346.1 382 333.3 384 320 384c-70.7 0-128-57.3-128-128c0-2.9 .1-5.7 .3-8.5l-43.1-34c-1.5 6-2.7 12.2-3.5 18.5H112V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v80c0 13.3 10.7 24 24 24s24-10.7 24-24V280h33.6c4.2 30.7 16.3 58.8 34.1 82.3L156 386.1l-11.3-11.3c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l56.6 56.6c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L189.9 420l23.8-23.8c23.5 17.9 51.7 29.9 82.3 34.1V464H280c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H344V430.4c20.4-2.8 39.7-9.1 57.3-18.2z\"]\n};\nvar faIntersection = {\n prefix: 'far',\n iconName: 'intersection',\n icon: [384, 512, [8898], \"f668\", \"M24 480c13.3 0 24-10.7 24-24V224c0-79.5 64.5-144 144-144s144 64.5 144 144V456c0 13.3 10.7 24 24 24s24-10.7 24-24V224c0-106-86-192-192-192S0 118 0 224V456c0 13.3 10.7 24 24 24z\"]\n};\nvar faShopLock = {\n prefix: 'far',\n iconName: 'shop-lock',\n icon: [640, 512, [], \"e4a5\", \"M0 185.8c0-6.4 1.6-12.7 4.7-18.3L82.4 25C90.8 9.6 106.9 0 124.5 0h391c17.6 0 33.7 9.6 42.1 25l77.7 142.4c3.1 5.6 4.7 11.9 4.7 18.3c0 12.4-5.9 23.3-14.9 30.3c-9.6-16.7-23.4-30.6-39.9-40.4L515.5 48l-391 0L54.7 176H470.3c-18.8 11.3-34 28-43.5 48H384V472c0 22.1-17.9 40-40 40H104c-22.1 0-40-17.9-40-40V224H38.2C17.1 224 0 206.9 0 185.8zM112 224v96H336V224H112zm0 240H336V368H112v96zM528 240c-17.7 0-32 14.3-32 32v48h64V272c0-17.7-14.3-32-32-32zm-80 32c0-44.2 35.8-80 80-80s80 35.8 80 80v48c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H448c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32V272z\"]\n};\nvar faFamily = {\n prefix: 'far',\n iconName: 'family',\n icon: [512, 512, [], \"e300\", \"M192 64A64 64 0 1 0 64 64a64 64 0 1 0 128 0zM105.6 208H128h22.4 32.3c-4.3-9.8-6.7-20.6-6.7-32c0-3.9 .3-7.8 .8-11.5c-8.3-2.9-17.2-4.5-26.4-4.5H105.6c-41.6 0-76.3 31.9-79.7 73.4l-4.1 49.3c-2.5 29.8 15.7 56.1 42.2 65.6V488c0 13.3 10.7 24 24 24s24-10.7 24-24V352h32V336c0-11.1 1.6-21.9 4.6-32H88 85.6c-9.4 0-16.7-8-15.9-17.3l4.1-49.3C75.1 220.8 89 208 105.6 208zM336 176c0 11.4-2.4 22.2-6.7 32h38.9H384h15.7c7.1 0 13.4 4.7 15.4 11.6L448.4 336H368v16c0 11.2-1.9 22-5.5 32H400V488c0 13.3 10.7 24 24 24s24-10.7 24-24V384h21.6c21.3 0 36.6-20.3 30.8-40.8L461.3 206.4c-7.8-27.5-33-46.4-61.5-46.4H368.3c-11.8 0-23 3.2-32.6 8.9c.2 2.3 .3 4.7 .3 7.1zM448 64A64 64 0 1 0 320 64a64 64 0 1 0 128 0zM256 224a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm32 112v16c0 8.8-7.2 16-16 16H256 240c-8.8 0-16-7.2-16-16V336c0-17.7 14.3-32 32-32s32 14.3 32 32zm48 16V336c0-44.2-35.8-80-80-80s-80 35.8-80 80v16c0 24 13.2 44.9 32.7 55.8c-.5 2.7-.7 5.4-.7 8.2v64c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V416c0-2.8-.2-5.5-.7-8.2C322.8 396.9 336 376 336 352z\"]\n};\nvar faHourglassStart = {\n prefix: 'far',\n iconName: 'hourglass-start',\n icon: [384, 512, [\"hourglass-1\"], \"f251\", \"M0 488c0 13.3 10.7 24 24 24H360c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V445c0-40.3-16-79-44.5-107.5L225.9 256l81.5-81.5C336 146 352 107.3 352 67V48h8c13.3 0 24-10.7 24-24s-10.7-24-24-24H24C10.7 0 0 10.7 0 24S10.7 48 24 48h8V67c0 40.3 16 79 44.5 107.5L158.1 256 76.5 337.5C48 366 32 404.7 32 445v19H24c-13.3 0-24 10.7-24 24zM84.1 96C81.4 86.7 80 76.9 80 67V48H304V67c0 9.9-1.4 19.7-4.1 29H84.1zM273.5 371.5C293 391 304 417.4 304 445v19H80V445c0-27.6 11-54 30.5-73.5L192 289.9l81.5 81.5z\"]\n};\nvar faHourglass1 = faHourglassStart;\nvar faUserHairBuns = {\n prefix: 'far',\n iconName: 'user-hair-buns',\n icon: [448, 512, [], \"e3d3\", \"M304 128v16c0 44.2-35.8 80-80 80s-80-35.8-80-80V128c0-5.5 .6-10.8 1.6-16H160c26.2 0 49.4-12.6 64-32c14.6 19.4 37.8 32 64 32h14.4c1 5.2 1.6 10.5 1.6 16zM84 192c7 0 13.7-1.6 19.6-4.6c17.8 49.3 65 84.6 120.4 84.6s102.7-35.3 120.4-84.6c5.9 2.9 12.5 4.6 19.6 4.6c24.3 0 44-19.7 44-44V108c0-24.3-19.7-44-44-44c-9.3 0-17.9 2.9-25 7.8C318.2 29.3 274.5 0 224 0s-94.2 29.3-115 71.8C101.9 66.9 93.3 64 84 64c-24.3 0-44 19.7-44 44v40c0 24.3 19.7 44 44 44zM49.3 464c8.3-54.4 55.3-96 112-96H286.7c56.7 0 103.7 41.6 112 96H49.3zM0 481.3c0 17 13.8 30.7 30.7 30.7H417.3c17 0 30.7-13.8 30.7-30.7C448 392.2 375.8 320 286.7 320H161.3C72.2 320 0 392.2 0 481.3z\"]\n};\nvar faBlenderPhone = {\n prefix: 'far',\n iconName: 'blender-phone',\n icon: [576, 512, [], \"f6b6\", \"M158.1 64.1c4.7-12.4 .2-26.7-10.6-33.4l-44-27.2c-9.7-6-21.9-4.2-29.8 4.3C-24.6 114-24.6 286 73.7 392.2c7.9 8.5 20.1 10.3 29.8 4.3l44-27.2c10.8-6.7 15.3-21 10.6-33.4l-22-57.8c-4.2-10.9-14.5-17.6-25.3-16.4l-33.3 3.6c-13.6-42.2-13.6-88.4 0-130.7l33.3 3.6c10.9 1.2 21.2-5.5 25.3-16.4l22-57.8zM268.2 336H442.5l28-112H368c-8.8 0-16-7.2-16-16s7.2-16 16-16H478.5l16-64H368c-8.8 0-16-7.2-16-16s7.2-16 16-16H502.5l12-48H244.2l24 288zM566.1 39.8L489.6 345.5C521.8 361 544 393.9 544 432v16c0 35.3-28.7 64-64 64H224c-35.3 0-64-28.7-64-64V432c0-40.5 25.1-75.1 60.6-89.2L196.3 52C194 24 216.1 0 244.2 0H535c20.8 0 36.1 19.6 31 39.8zM208 432v16c0 8.8 7.2 16 16 16H480c8.8 0 16-7.2 16-16V432c0-26.5-21.5-48-48-48H256c-26.5 0-48 21.5-48 48zm144-32a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faHourglassClock = {\n prefix: 'far',\n iconName: 'hourglass-clock',\n icon: [576, 512, [], \"e41b\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48h8V67c0 40.3 16 79 44.5 107.5L158.1 256 76.5 337.5C48 366 32 404.7 32 445v19H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H330.8c-18.3-12.9-34.1-29.2-46.3-48H80V445c0-27.6 11-54 30.5-73.5L192 289.9l64.5 64.5c1.5-19.3 6-37.7 13.2-54.7L225.9 256l81.5-81.5C336 146 352 107.3 352 67V48h8c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zM192 222.1l-81.5-81.5C91 121 80 94.6 80 67V48H304V67c0 27.6-11 54-30.5 73.5L192 222.1zM576 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zM432 288c8.8 0 16 7.2 16 16v48h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H432c-8.8 0-16-7.2-16-16V304c0-8.8 7.2-16 16-16z\"]\n};\nvar faPersonSeatReclined = {\n prefix: 'far',\n iconName: 'person-seat-reclined',\n icon: [512, 512, [], \"e21f\", \"M176 32a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm16.9 189.6l16.9 76.2c.8 3.7 4.1 6.3 7.8 6.3h16.4l-19.4-87.3c-1.1-5.1-5.7-8.7-10.9-8.7c-7.1 0-12.4 6.6-10.9 13.6zm68.6-15.2l.4 1.7H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H272.6l10.7 48h35.5c30 0 56.9 18.6 67.4 46.7l28.5 76.1 34.7-9.9c12.7-3.6 26 3.7 29.7 16.5s-3.7 26-16.5 29.7l-56 16c-12 3.4-24.7-2.9-29.1-14.6l-36.3-96.9c-3.5-9.4-12.5-15.6-22.5-15.6H264.5c-.3 0-.7 0-1 0H217.7c-26.2 0-49-18.2-54.7-43.9L146.1 232c-8.2-36.9 19.9-72 57.7-72c27.7 0 51.7 19.3 57.7 46.3zM79.6 147.8l34 192.7c6.1 34.4 36 59.5 70.9 59.5H280c13.3 0 24 10.7 24 24s-10.7 24-24 24H184.5c-58.2 0-108.1-41.8-118.2-99.1l-34-192.7c-2.3-13.1 6.4-25.5 19.5-27.8s25.5 6.4 27.8 19.5z\"]\n};\nvar faPaperPlaneTop = {\n prefix: 'far',\n iconName: 'paper-plane-top',\n icon: [512, 512, [\"paper-plane-alt\", \"send\"], \"e20a\", \"M133.9 232L65.8 95.9 383.4 232H133.9zm0 48H383.4L65.8 416.1l68-136.1zM44.6 34.6C32.3 29.3 17.9 32.3 8.7 42S-2.6 66.3 3.4 78.3L92.2 256 3.4 433.7c-6 12-3.9 26.5 5.3 36.3s23.5 12.7 35.9 7.5l448-192c11.8-5 19.4-16.6 19.4-29.4s-7.6-24.4-19.4-29.4l-448-192z\"]\n};\nvar faPaperPlaneAlt = faPaperPlaneTop;\nvar faSend = faPaperPlaneTop;\nvar faMessageArrowUp = {\n prefix: 'far',\n iconName: 'message-arrow-up',\n icon: [512, 512, [\"comment-alt-arrow-up\"], \"e1dc\", \"M208 416c0-26.5-21.5-48-48-48H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H448c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H309.3c-10.4 0-20.5 3.4-28.8 9.6L208 432V416zm-.2 76.2l.2-.2 101.3-76H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h48 48v48 4 .3 6.4V496c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L202.7 496l5.1-3.8zM280 296V177.9l31 31c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-72-72c-9.4-9.4-24.6-9.4-33.9 0l-72 72c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l31-31V296c0 13.3 10.7 24 24 24s24-10.7 24-24z\"]\n};\nvar faCommentAltArrowUp = faMessageArrowUp;\nvar faLightbulbExclamation = {\n prefix: 'far',\n iconName: 'lightbulb-exclamation',\n icon: [384, 512, [], \"f671\", \"M320 176c0 27.2-8.4 52.3-22.8 72.9c-3.7 5.3-8.1 11.3-12.7 17.7l0 0 0 0 0 0 0 0c-12.9 17.7-28.3 38.9-39.8 59.8c-10.4 19-15.7 38.8-18.3 57.5H275c2.2-12 5.9-23.7 11.8-34.5c9.9-18 22.2-34.9 34.5-51.8l0 0 0 0 0 0c5.2-7.1 10.4-14.2 15.4-21.4c19.8-28.5 31.4-63 31.4-100.3C368 78.8 289.2 0 192 0S16 78.8 16 176c0 37.3 11.6 71.9 31.4 100.3c5 7.2 10.2 14.3 15.4 21.4l0 0 0 0c12.3 16.8 24.6 33.7 34.5 51.8c5.9 10.8 9.6 22.5 11.8 34.5h48.6c-2.6-18.7-7.9-38.6-18.3-57.5c-11.5-20.9-26.9-42.1-39.8-59.8l0 0c-4.7-6.4-9-12.4-12.8-17.7C72.4 228.3 64 203.2 64 176c0-70.7 57.3-128 128-128s128 57.3 128 128zM192 512c44.2 0 80-35.8 80-80V416H112v16c0 44.2 35.8 80 80 80zm0-400c-8.8 0-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16V128c0-8.8-7.2-16-16-16zm24 168a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faLayerMinus = {\n prefix: 'far',\n iconName: 'layer-minus',\n icon: [576, 512, [\"layer-group-minus\"], \"f5fe\", \"M408 60H520c11 0 20 9 20 20s-9 20-20 20H408c-11 0-20-9-20-20s9-20 20-20zM263.2 133.1c7.8-3.4 16.3-5.1 24.8-5.1s17 1.7 24.8 5.1l209.3 89.7c13.3 5.7 21.9 18.8 21.9 33.2s-8.6 27.5-21.9 33.2L312.8 378.9c-7.8 3.4-16.3 5.1-24.8 5.1s-17-1.7-24.8-5.1L53.9 289.2C40.6 283.5 32 270.5 32 256s8.6-27.5 21.9-33.2l209.3-89.7zM288 176c-2 0-4 .4-5.9 1.2L98.3 256l183.8 78.8c1.9 .8 3.9 1.2 5.9 1.2s4-.4 5.9-1.2L477.7 256 293.9 177.2c-1.9-.8-3.9-1.2-5.9-1.2zM53.9 350.8l31.2-13.4L146 363.5 98.3 384l183.8 78.8c1.9 .8 3.9 1.2 5.9 1.2s4-.4 5.9-1.2L477.7 384 430 363.5l60.9-26.1 31.2 13.4c13.3 5.7 21.9 18.8 21.9 33.2s-8.6 27.5-21.9 33.2L312.8 506.9c-7.8 3.4-16.3 5.1-24.8 5.1s-17-1.7-24.8-5.1L53.9 417.2C40.6 411.5 32 398.5 32 384s8.6-27.5 21.9-33.2z\"]\n};\nvar faLayerGroupMinus = faLayerMinus;\nvar faChartPieSimpleCircleCurrency = {\n prefix: 'far',\n iconName: 'chart-pie-simple-circle-currency',\n icon: [640, 512, [], \"e604\", \"M496 192c-46.8 0-89.3 18.2-120.8 48H272V16.6c0-9 7-16.6 16-16.6C401 0 494.5 83.7 509.8 192.5c-4.6-.4-9.2-.5-13.8-.5zM272 288h67.2c-7.6 14.9-13.2 31-16.3 48H224c-26.5 0-48-21.5-48-48V90.9C101.4 117.3 48 188.4 48 272c0 106 86 192 192 192c34.5 0 66.9-9.1 94.9-25c6.5 14.8 15 28.6 25.2 40.9C324.8 500.3 283.8 512 240 512C107.5 512 0 404.6 0 272C0 156.5 81.5 60.1 190.2 37.2c18.1-3.8 33.8 11 33.8 29.5V240v48h48zm80 80a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm118.6-25.4a35.9 35.9 0 1 1 50.7 50.7 35.9 35.9 0 1 1 -50.7-50.7zM531.3 426l17.3 17.3c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L554 403.3c13.2-21.6 13.2-49.1 0-70.7l17.3-17.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L531.3 310c-21.6-13.2-49.1-13.2-70.7 0l-17.3-17.3c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L438 332.7c-13.2 21.6-13.2 49.1 0 70.7l-17.3 17.3c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L460.7 426c21.6 13.2 49.1 13.2 70.7 0z\"]\n};\nvar faCircleE = {\n prefix: 'far',\n iconName: 'circle-e',\n icon: [512, 512, [], \"e109\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM184 128c-13.3 0-24 10.7-24 24V256 360c0 13.3 10.7 24 24 24H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H208V280h88c13.3 0 24-10.7 24-24s-10.7-24-24-24H208V176H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H184z\"]\n};\nvar faBuildingWheat = {\n prefix: 'far',\n iconName: 'building-wheat',\n icon: [640, 512, [], \"e4db\", \"M320 48c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H240V400c0-26.5-21.5-48-48-48s-48 21.5-48 48v64H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H320zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zm40 88c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V104c0-8.8-7.2-16-16-16H104zm112 16v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V104c0-8.8-7.2-16-16-16H232c-8.8 0-16 7.2-16 16zM104 216c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V232c0-8.8-7.2-16-16-16H104zm112 16v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V232c0-8.8-7.2-16-16-16H232c-8.8 0-16 7.2-16 16zm424-40H624c-44.2 0-80 35.8-80 80v16h16c44.2 0 80-35.8 80-80V192zm0 128V304H624c-44.2 0-80 35.8-80 80v16h16c44.2 0 80-35.8 80-80zm0 112V416H624c-44.2 0-80 35.8-80 80v16h16c44.2 0 80-35.8 80-80zM512 496c0-44.2-35.8-80-80-80H416v16c0 44.2 35.8 80 80 80h16V496zm0-96V384c0-44.2-35.8-80-80-80H416v16c0 44.2 35.8 80 80 80h16zm0-128c0-44.2-35.8-80-80-80H416v16c0 44.2 35.8 80 80 80h16V272zM528 32c-13.3 0-24 10.7-24 24V160c0 13.3 10.7 24 24 24s24-10.7 24-24V56c0-13.3-10.7-24-24-24zm96 64c0-13.3-10.7-24-24-24s-24 10.7-24 24v32c0 13.3 10.7 24 24 24s24-10.7 24-24V96zM456 72c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24s24-10.7 24-24V96c0-13.3-10.7-24-24-24z\"]\n};\nvar faGaugeMax = {\n prefix: 'far',\n iconName: 'gauge-max',\n icon: [512, 512, [\"tachometer-alt-fastest\"], \"f626\", \"M256 464a208 208 0 1 0 0-416 208 208 0 1 0 0 416zM256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zm32 112a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM256 408c-30.9 0-56-25.1-56-56s25.1-56 56-56c10.3 0 19.9 2.8 28.2 7.6l110.2-75.4c10.9-7.5 25.9-4.7 33.4 6.3s4.7 25.9-6.3 33.4L311.3 343.2c.4 2.9 .7 5.8 .7 8.8c0 30.9-25.1 56-56 56zM384 160a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM112 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm80-64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0z\"]\n};\nvar faTachometerAltFastest = faGaugeMax;\nvar faPersonBreastfeeding = {\n prefix: 'far',\n iconName: 'person-breastfeeding',\n icon: [448, 512, [], \"e53a\", \"M192 80a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm112 0A80 80 0 1 0 144 80a80 80 0 1 0 160 0zM116.9 282.2c19.6-26.5 50.6-42.2 83.6-42.2h58.3c27.6 0 54.1 11 73.7 30.6l55.2 55.3c12 12 12.5 31.3 1.2 43.9L326.1 440c-8.8 9.9-8 25.1 1.9 33.9s25.1 8 33.9-1.9l62.8-70.2c28.3-31.6 27-79.8-3-109.8l-55.2-55.3C338 208.1 299.3 192 258.9 192H200.6c-48.2 0-93.6 22.9-122.2 61.7l-56 75.7C-8.1 370.6 7.5 429.5 54.5 450.2L190.3 510c12.1 5.3 26.3-.2 31.6-12.3s-.2-26.3-12.3-31.6L73.8 406.2c-18.8-8.3-25-31.8-12.8-48.3l56-75.7zM192 328c0-13.3-10.7-24-24-24s-24 10.7-24 24v43.4c0 7.5 2.1 14.8 6.1 21.2C177.8 437 226.5 464 278.9 464H280c13.3 0 24-10.7 24-24s-10.7-24-24-24h-1.1c-35.1 0-67.7-17.7-86.9-46.9V328zm80 56a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faApostrophe = {\n prefix: 'far',\n iconName: 'apostrophe',\n icon: [192, 512, [], \"27\", \"M128 176c8.8 0 16-7.2 16-16V128 96c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h64zm16 46c-5.1 1.3-10.5 2-16 2H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32h64c35.3 0 64 28.7 64 64v32 32 72c0 66.3-53.7 120-120 120H56c-13.3 0-24-10.7-24-24s10.7-24 24-24H72c39.8 0 72-32.2 72-72V222z\"]\n};\nvar faFilePng = {\n prefix: 'far',\n iconName: 'file-png',\n icon: [512, 512, [], \"e666\", \"M64 464l48 0 0 48-48 0c-35.3 0-64-28.7-64-64L0 64C0 28.7 28.7 0 64 0L229.5 0c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3L384 304l-48 0 0-144-80 0c-17.7 0-32-14.3-32-32l0-80L64 48c-8.8 0-16 7.2-16 16l0 384c0 8.8 7.2 16 16 16zM318.3 360.8L352 428.2l0-60.2c0-8.8 7.2-16 16-16s16 7.2 16 16l0 128c0 7.4-5.1 13.9-12.3 15.6s-14.7-1.8-18-8.4L320 435.8l0 60.2c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-128c0-7.4 5.1-13.9 12.3-15.6s14.7 1.8 18 8.4zM176 352l32 0c30.9 0 56 25.1 56 56s-25.1 56-56 56l-16 0 0 32c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-48 0-80c0-8.8 7.2-16 16-16zm32 80c13.3 0 24-10.7 24-24s-10.7-24-24-24l-16 0 0 48 16 0zm208-40c0-22.1 17.9-40 40-40l16 0c22.1 0 40 17.9 40 40l0 8c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-8c0-4.4-3.6-8-8-8l-16 0c-4.4 0-8 3.6-8 8l0 80c0 4.4 3.6 8 8 8l16 0c4.4 0 8-3.6 8-8l0-8c-8.8 0-16-7.2-16-16s7.2-16 16-16l16 0c8.8 0 16 7.2 16 16l0 24c0 22.1-17.9 40-40 40l-16 0c-22.1 0-40-17.9-40-40l0-80z\"]\n};\nvar faFireHydrant = {\n prefix: 'far',\n iconName: 'fire-hydrant',\n icon: [384, 512, [], \"e17f\", \"M192 0c-17.7 0-32 14.3-32 32v4c-45 11.6-80.4 47-92 92H56c-13.3 0-24 10.7-24 24s10.7 24 24 24H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H316c-11.6-45-47-80.4-92-92V32c0-17.7-14.3-32-32-32zM56 464c-13.3 0-24 10.7-24 24s10.7 24 24 24H328c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V384h16c17.7 0 32-14.3 32-32V288c0-17.7-14.3-32-32-32H320V208H272V464H112V208H64v48H48c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H64v80H56zM248 320a56 56 0 1 0 -112 0 56 56 0 1 0 112 0z\"]\n};\nvar faRightToBracket = {\n prefix: 'far',\n iconName: 'right-to-bracket',\n icon: [512, 512, [\"sign-in-alt\"], \"f2f6\", \"M192 365.8L302 256 192 146.2l0 53.8c0 13.3-10.7 24-24 24L48 224l0 64 120 0c13.3 0 24 10.7 24 24l0 53.8zM352 256c0 11.5-4.6 22.5-12.7 30.6L223.2 402.4c-8.7 8.7-20.5 13.6-32.8 13.6c-25.6 0-46.4-20.8-46.4-46.4l0-33.6-96 0c-26.5 0-48-21.5-48-48l0-64c0-26.5 21.5-48 48-48l96 0 0-33.6c0-25.6 20.8-46.4 46.4-46.4c12.3 0 24.1 4.9 32.8 13.6L339.3 225.4c8.1 8.1 12.7 19.1 12.7 30.6zm-8 176l80 0c22.1 0 40-17.9 40-40l0-272c0-22.1-17.9-40-40-40l-80 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l80 0c48.6 0 88 39.4 88 88l0 272c0 48.6-39.4 88-88 88l-80 0c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faSignInAlt = faRightToBracket;\nvar faVideoPlus = {\n prefix: 'far',\n iconName: 'video-plus',\n icon: [576, 512, [], \"f4e1\", \"M320 112c8.8 0 16 7.2 16 16V384c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V128c0-8.8 7.2-16 16-16H320zM64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V351 161 128c0-35.3-28.7-64-64-64H64zm464 84.6V363.4L416 313v52.6l104.3 46.9c5.1 2.3 10.6 3.5 16.2 3.5c21.8 0 39.5-17.7 39.5-39.5v-241c0-21.8-17.7-39.5-39.5-39.5c-5.6 0-11.1 1.2-16.2 3.5L416 146.4V199l112-50.4zM216 184c0-13.3-10.7-24-24-24s-24 10.7-24 24v48H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h48v48c0 13.3 10.7 24 24 24s24-10.7 24-24V280h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H216V184z\"]\n};\nvar faSquareRight = {\n prefix: 'far',\n iconName: 'square-right',\n icon: [448, 512, [10145, \"arrow-alt-square-right\"], \"f352\", \"M400 96c0-8.8-7.2-16-16-16L64 80c-8.8 0-16 7.2-16 16l0 320c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16l0-320zM384 32c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384zM262.6 151.2l84 91c3.5 3.8 5.4 8.7 5.4 13.9s-1.9 10.1-5.4 13.9l-84 91c-4.2 4.6-10.1 7.2-16.4 7.2C234 368 224 358 224 345.7V304H128c-17.7 0-32-14.3-32-32V240c0-17.7 14.3-32 32-32l96 0V166.3c0-12.3 10-22.3 22.3-22.3c6.2 0 12.1 2.6 16.4 7.2z\"]\n};\nvar faArrowAltSquareRight = faSquareRight;\nvar faCommentSmile = {\n prefix: 'far',\n iconName: 'comment-smile',\n icon: [512, 512, [], \"f4b4\", \"M168.2 384.9c-15-5.4-31.7-3.1-44.6 6.4c-8.2 6-22.3 14.8-39.4 22.7c5.6-14.7 9.9-31.3 11.3-49.4c1-12.9-3.3-25.7-11.8-35.5C60.4 302.8 48 272 48 240c0-79.5 83.3-160 208-160s208 80.5 208 160s-83.3 160-208 160c-31.6 0-61.3-5.5-87.8-15.1zM26.3 423.8c-1.6 2.7-3.3 5.4-5.1 8.1l-.3 .5c-1.6 2.3-3.2 4.6-4.8 6.9c-3.5 4.7-7.3 9.3-11.3 13.5c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c5.1 0 10.2-.3 15.3-.8l.7-.1c4.4-.5 8.8-1.1 13.2-1.9c.8-.1 1.6-.3 2.4-.5c17.8-3.5 34.9-9.5 50.1-16.1c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9zM192 208a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm128 0a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM150.5 270.1c-9.9 8.8-10.7 24-1.9 33.9c26.3 29.4 64.7 48 107.3 48s81-18.6 107.3-48c8.8-9.9 8-25-1.9-33.9s-25-8-33.9 1.9c-17.6 19.7-43.1 32-71.6 32s-53.9-12.3-71.6-32c-8.8-9.9-24-10.7-33.9-1.9z\"]\n};\nvar faVenus = {\n prefix: 'far',\n iconName: 'venus',\n icon: [384, 512, [9792], \"f221\", \"M64 176a128 128 0 1 1 256 0A128 128 0 1 1 64 176zM216 350.4c85.8-11.7 152-85.3 152-174.4C368 78.8 289.2 0 192 0S16 78.8 16 176c0 89.1 66.2 162.7 152 174.4V400H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h48v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H216V350.4z\"]\n};\nvar faPassport = {\n prefix: 'far',\n iconName: 'passport',\n icon: [448, 512, [], \"f5ab\", \"M384 48c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H384zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM96 400c0 8.8 7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H112c-8.8 0-16 7.2-16 16zm33.3-176h39.1c1.6 30.4 7.7 53.8 14.6 70.8c-27.9-13.2-48.4-39.4-53.7-70.8zM224 304l-.3 0c-2.4-3.5-5.7-8.9-9.1-16.5c-6-13.6-12.4-34.3-14.2-63.5h47.1c-1.8 29.2-8.1 49.9-14.2 63.5c-3.4 7.6-6.7 13-9.1 16.5l-.3 0zm94.7-80c-5.3 31.4-25.8 57.6-53.7 70.8c6.8-17.1 12.9-40.4 14.6-70.8h39.1zm0-32H279.6c-1.6-30.4-7.7-53.8-14.6-70.8c27.9 13.2 48.4 39.4 53.7 70.8zM224 112l.3 0c2.4 3.5 5.7 8.9 9.1 16.5c6 13.6 12.4 34.3 14.2 63.5H200.5c1.8-29.2 8.1-49.9 14.2-63.5c3.4-7.6 6.7-13 9.1-16.5l.3 0zm-94.7 80c5.3-31.4 25.8-57.6 53.7-70.8c-6.8 17.1-12.9 40.4-14.6 70.8H129.3zM224 336a128 128 0 1 0 0-256 128 128 0 1 0 0 256z\"]\n};\nvar faInboxIn = {\n prefix: 'far',\n iconName: 'inbox-in',\n icon: [512, 512, [128229, \"inbox-arrow-down\"], \"f310\", \"M280 24V230.1l63-63c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L273 305c-9.4 9.4-24.6 9.4-33.9 0L135 201c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l63 63V24c0-13.3 10.7-24 24-24s24 10.7 24 24zM149.1 405.5L130.3 368H48v96H464V368H381.7l-18.7 37.5C354.8 421.7 338.2 432 320 432H192c-18.2 0-34.8-10.3-42.9-26.5zm24.2-58.9L192 384H320l18.7-37.5c8.1-16.3 24.8-26.5 42.9-26.5H464c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V368c0-26.5 21.5-48 48-48h82.3c18.2 0 34.8 10.3 42.9 26.5z\"]\n};\nvar faInboxArrowDown = faInboxIn;\nvar faHeartPulse = {\n prefix: 'far',\n iconName: 'heart-pulse',\n icon: [512, 512, [\"heartbeat\"], \"f21e\", \"M225.8 468.2c8.2 7.6 19 11.9 30.2 11.9s22-4.2 30.2-11.9l2.5-2.3L445.7 320H375.2L256 430.7 136.8 320H66.3L223.3 465.9l2.5 2.3zM0 192.8c0 34.9 12.1 68.5 33.9 95.2H56h46.3 20.3c19.4 0 36.9-11.7 44.3-29.5l17.6-42.2 56.8 126.3c2.5 5.6 8.1 9.3 14.3 9.4s11.9-3.3 14.6-8.8L320 243.8l8.8 17.7c8.1 16.3 24.8 26.5 42.9 26.5h37.9H456h22.1c21.8-26.7 33.9-60.3 33.9-95.2v-3.3c0-70.4-50-130.8-119.2-144C353.4 37.9 313.1 47 281 69.6l0 0c-4 2.8-7.8 5.8-11.5 9c-4.7 4.1-9.3 8.5-13.5 13.3c-7.5-8.4-15.9-15.9-25-22.3C198.9 47 158.6 37.9 119.2 45.4C50 58.6 0 119.1 0 189.5v3.3zM442.2 256H371.8c-6.1 0-11.6-3.4-14.3-8.8l-23.2-46.3c-2.7-5.4-8.2-8.8-14.3-8.8s-11.6 3.4-14.3 8.8l-48.9 97.9L198.6 169.4c-2.6-5.8-8.4-9.5-14.8-9.4s-12.1 4-14.5 9.8l-31.8 76.3c-2.5 6-8.3 9.8-14.8 9.8H69.8C55.8 238.1 48 215.9 48 192.8v-3.3c0-47.3 33.6-88 80.1-96.9c34-6.5 69 5.4 92 31.2l0 0 .1 .1 17.8 20c.3 .4 .7 .7 1 1.1c4.5 4.5 10.6 7 16.9 7s12.4-2.5 16.9-7c.4-.3 .7-.7 1-1.1l17.8-20 .1-.1 .1-.1c23.1-25.9 58-37.7 92-31.2c46.5 8.9 80.1 49.5 80.1 96.9v3.3c0 23.1-7.8 45.3-21.8 63.2z\"]\n};\nvar faHeartbeat = faHeartPulse;\nvar faCircle8 = {\n prefix: 'far',\n iconName: 'circle-8',\n icon: [512, 512, [], \"e0f5\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM264 128c39.8 0 72 32.2 72 72c0 15.7-5 30.1-13.5 42c18 14.7 29.5 37 29.5 62c0 44.2-35.8 80-80 80H240c-44.2 0-80-35.8-80-80c0-25 11.5-47.4 29.5-62C181 230.1 176 215.7 176 200c0-39.8 32.2-72 72-72h16zm-16 96s0 0 0 0h16s0 0 0 0c13.2 0 24-10.8 24-24s-10.7-24-24-24H248c-13.3 0-24 10.7-24 24s10.7 24 24 24zm16 48H248h-8c-17.7 0-32 14.3-32 32s14.3 32 32 32h32c17.7 0 32-14.3 32-32s-14.3-32-32-32h-8z\"]\n};\nvar faCloudsMoon = {\n prefix: 'far',\n iconName: 'clouds-moon',\n icon: [640, 512, [], \"f745\", \"M352 160c0 11.5 1.2 22.7 3.5 33.4c53.7 8.2 96.5 49.8 106.4 103c14.2 5.5 27.2 13.4 38.5 23.2c3.7 .3 7.4 .4 11.2 .4c43.2 0 82.5-17.3 111.2-45.3c5-4.9 6.3-12.5 3.1-18.7s-10.1-9.7-17-8.5c-6.5 1.1-13.2 1.7-20 1.7c-64.3 0-116.5-52.3-116.5-116.9c0-43.7 23.9-81.8 59.3-101.9c6.1-3.5 9.2-10.5 7.7-17.3S532 1.2 525.1 .6c-4.5-.4-9-.6-13.5-.6C423.4 0 352 71.7 352 160zM335.8 272c26.5 0 48 21.5 48 48c0 .8 0 1.7 .1 2.5l2 23.8c1.1 13.2 12.7 23 25.9 21.9c1.3-.1 2.6-.2 4-.2c26.5 0 48 21.5 48 48s-21.5 48-48 48c-.6 0-1.3 0-1.9 0c-.3 0-.6 0-.9 0H146.1c-.3 0-.6 0-1 0c-.4 0-.9 0-1.3 0c-17.7 0-32-14.3-32-32s14.3-32 32-32c1.6 0 3.1 .1 4.6 .3c6.9 1 13.9-1.1 19.1-5.6s8.3-11.2 8.3-18.1V346.3c0-.3 0-.6 0-.9c0-.5 0-1 0-1.5s0-1 0-1.5c0-.3 0-.6 0-.9v-1.1c.1-.6 .2-1.1 .3-1.7c2.5-19.6 19.3-34.8 39.7-34.8c12.6 0 23.8 5.8 31.1 14.9c5.8 7.1 15.1 10.4 24.1 8.3s15.9-9.1 18-18c4.9-21.3 24-37.2 46.8-37.2zm96 46.8c-.6-52.5-43.4-94.8-96-94.8c-33 0-62 16.6-79.3 41.9c-12.2-6.3-26-9.9-40.6-9.9c-43 0-78.8 30.9-86.5 71.7c-1 2.6-1.5 5.4-1.5 8.3v5.3c0 .9 0 1.8 0 2.7s0 1.8 0 2.7v6.9c-36.5 7.4-64 39.7-64 78.4c0 44.2 35.8 80 80 80c.9 0 1.8 0 2.7 0h266c1.1 0 2.1 .1 3.2 .1c53 0 96-43 96-96c0-47.5-34.5-86.9-79.8-94.6l-.2-2.5zM320 192.1h0c0-35.3-28.6-64-64-64c-7.4 0-14.6 1.3-21.2 3.6c-11.5-30.1-40.6-51.6-74.8-51.6c-38.9 0-71.3 27.8-78.5 64.6c-3.1-.4-6.3-.6-9.5-.6c-39.8 0-72 32.2-72 72s32.2 72 72 72l0 0h34.8c9.4-19.9 24.6-36.6 43.4-48H73.8c-.6 0-1.2 0-1.7 0c-13.2 0-24-10.7-24-24s10.7-24 24-24c1.1 0 2.2 .1 3.2 .2c25.1 3.3 48.5-13.5 53.4-38.4c2.9-14.7 15.9-25.8 31.4-25.8c13.6 0 25.3 8.5 29.9 20.6c9.2 24.3 36.2 36.9 60.8 28.2c1.6-.6 3.4-.9 5.3-.9c8.8 0 16 7.2 16 16l0 .9c-.1 6.6-1.6 12.9-4.1 18.6c15.5-9.7 33.2-16.3 52.1-18.7l0-.9z\"]\n};\nvar faClockTenThirty = {\n prefix: 'far',\n iconName: 'clock-ten-thirty',\n icon: [512, 512, [], \"e355\", \"M48 256a208 208 0 1 1 416 0A208 208 0 1 1 48 256zm464 0A256 256 0 1 0 0 256a256 256 0 1 0 512 0zM280 392V256c0-8-4-15.5-10.7-20l-96-64c-11-7.4-25.9-4.4-33.3 6.7s-4.4 25.9 6.7 33.3L232 268.8V392c0 13.3 10.7 24 24 24s24-10.7 24-24z\"]\n};\nvar faPeopleCarryBox = {\n prefix: 'far',\n iconName: 'people-carry-box',\n icon: [640, 512, [\"people-carry\"], \"f4ce\", \"M176 48A48 48 0 1 0 80 48a48 48 0 1 0 96 0zM53 344.3L1.6 479.5c-4.7 12.4 1.5 26.3 13.9 31s26.3-1.5 31-13.9L92.6 375.4 53 344.3zM96 187.5c0-6.4 5.2-11.5 11.5-11.5c4.4 0 8.6 1 12.5 2.8V295.2L99.1 278.7c-1.9-1.5-3.1-3.8-3.1-6.3V187.5zm72 145.4V243.3l26 39.1c3.3 4.9 7.6 9.1 12.7 12.1l26.1 15.7c5.6 5.9 13.5 9.6 22.3 9.9c.4 0 .9 0 1.3 0H383.6c.4 0 .9 0 1.3 0c8.7-.2 16.6-4 22.2-9.9l26.1-15.7c5.1-3 9.4-7.2 12.7-12.1l26-39.1v89.6l-25.8 20.3c-8.1 6.4-13.4 15.6-14.9 25.8L416.2 484.6c-1.9 13.1 7.2 25.3 20.4 27.2s25.3-7.2 27.2-20.4l14.6-102.5 92.2-72.4c13.5-10.6 21.4-26.9 21.4-44V187.5c0-32.9-26.6-59.5-59.5-59.5c-25.8 0-50 12.9-64.3 34.4L416 240.7V160c0-17.7-14.3-32-32-32H256c-17.7 0-32 14.3-32 32v80.7l-52.2-78.3c-14.3-21.5-38.5-34.4-64.3-34.4C74.6 128 48 154.6 48 187.5v84.9c0 17.2 7.9 33.4 21.4 44l92.2 72.4 14.6 102.5c1.9 13.1 14 22.2 27.2 20.4s22.2-14 20.4-27.2L208.7 379c-1.5-10.2-6.8-19.4-14.9-25.8L168 332.9zM272 176h96v96H272V176zM512 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM638.4 479.5L587 344.3l-39.5 31.1 46.2 121.2c4.7 12.4 18.6 18.6 31 13.9s18.6-18.6 13.9-31zM532.5 176c6.4 0 11.5 5.2 11.5 11.5v84.9c0 2.5-1.1 4.8-3.1 6.3L520 295.2V178.8c3.8-1.8 8.1-2.8 12.5-2.8z\"]\n};\nvar faPeopleCarry = faPeopleCarryBox;\nvar faFolderUser = {\n prefix: 'far',\n iconName: 'folder-user',\n icon: [512, 512, [], \"e18e\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H289.9L247 53.1C233.5 39.6 215.2 32 196.1 32H64zM48 96c0-8.8 7.2-16 16-16H196.1c6.4 0 12.5 2.5 17 7l45.3 45.3c7.5 7.5 17.7 11.7 28.3 11.7H448c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H368c0-44.2-35.8-80-80-80H224c-44.2 0-80 35.8-80 80H64c-8.8 0-16-7.2-16-16V96zM320 256a64 64 0 1 0 -128 0 64 64 0 1 0 128 0z\"]\n};\nvar faTrashCanXmark = {\n prefix: 'far',\n iconName: 'trash-can-xmark',\n icon: [448, 512, [], \"e2ae\", \"M170.5 51.6L151.5 80h145l-19-28.4c-1.5-2.2-4-3.6-6.7-3.6H177.1c-2.7 0-5.2 1.3-6.7 3.6zm147-26.6L354.2 80H368h48 8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8V432c0 44.2-35.8 80-80 80H112c-44.2 0-80-35.8-80-80V128H24c-13.3 0-24-10.7-24-24S10.7 80 24 80h8H80 93.8l36.7-55.1C140.9 9.4 158.4 0 177.1 0h93.7c18.7 0 36.2 9.4 46.6 24.9zM80 128V432c0 17.7 14.3 32 32 32H336c17.7 0 32-14.3 32-32V128H80zm63 79c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faTemperatureHigh = {\n prefix: 'far',\n iconName: 'temperature-high',\n icon: [512, 512, [], \"f769\", \"M416 48a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm0 144A96 96 0 1 0 416 0a96 96 0 1 0 0 192zM80 112c0-35.3 28.7-64 64-64s64 28.7 64 64V273.9c0 14.5 5.7 27.1 12.8 36.6c12 16 19.2 35.9 19.2 57.5c0 53-43 96-96 96s-96-43-96-96c0-21.6 7.1-41.5 19.2-57.5C74.3 301 80 288.4 80 273.9V112zM144 0C82.1 0 32 50.2 32 112V273.9c0 1.7-.7 4.4-3.2 7.8C10.7 305.7 0 335.7 0 368c0 79.5 64.5 144 144 144s144-64.5 144-144c0-32.4-10.7-62.3-28.8-86.4c-2.5-3.4-3.2-6.1-3.2-7.8V112C256 50.2 205.9 0 144 0zm0 416c26.5 0 48-21.5 48-48c0-20.9-13.4-38.7-32-45.3V112c0-8.8-7.2-16-16-16s-16 7.2-16 16V322.7c-18.6 6.6-32 24.4-32 45.3c0 26.5 21.5 48 48 48z\"]\n};\nvar faMicrochip = {\n prefix: 'far',\n iconName: 'microchip',\n icon: [512, 512, [], \"f2db\", \"M184 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64h-8c-35.3 0-64 28.7-64 64v8H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H64v48H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H64v48H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H64v8c0 35.3 28.7 64 64 64h8v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448h48v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448h48v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448h8c35.3 0 64-28.7 64-64v-8h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H448V280h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H448V184h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H448v-8c0-35.3-28.7-64-64-64h-8V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H280V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H184V24zM400 128V384c0 8.8-7.2 16-16 16H128c-8.8 0-16-7.2-16-16V128c0-8.8 7.2-16 16-16H384c8.8 0 16 7.2 16 16zM192 160c-17.7 0-32 14.3-32 32V320c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32H192zm16 48h96v96H208V208z\"]\n};\nvar faLeftLongToLine = {\n prefix: 'far',\n iconName: 'left-long-to-line',\n icon: [640, 512, [], \"e41e\", \"M0 88C0 74.7 10.7 64 24 64s24 10.7 24 24l0 336c0 13.3-10.7 24-24 24s-24-10.7-24-24L0 88zM134.5 272.4c-8.7-9.2-8.7-23.7 0-32.9l121.4-129c8.8-9.3 21-14.6 33.7-14.6c25.6 0 46.3 20.7 46.3 46.3l0 33.7 248 0c30.9 0 56 25.1 56 56l0 48c0 30.9-25.1 56-56 56l-248 0 0 33.7c0 25.6-20.7 46.3-46.3 46.3c-12.8 0-25-5.3-33.7-14.6l-121.4-129zM288 200l0-53.5L185 256 288 365.5l0-53.5c0-13.3 10.7-24 24-24l272 0c4.4 0 8-3.6 8-8l0-48c0-4.4-3.6-8-8-8l-272 0c-13.3 0-24-10.7-24-24z\"]\n};\nvar faCrown = {\n prefix: 'far',\n iconName: 'crown',\n icon: [576, 512, [128081], \"f521\", \"M309 106c11.4-7 19-19.7 19-34c0-22.1-17.9-40-40-40s-40 17.9-40 40c0 14.4 7.6 27 19 34l-5.8 11.6L209.7 220.6c-9.1 18.2-32.7 23.4-48.6 10.7l-72-57.6L72 160c5-6.7 8-15 8-24c0-22.1-17.9-40-40-40S0 113.9 0 136s17.9 40 40 40c.2 0 .5 0 .7 0l4.4 23.9L86.4 427.4c5.5 30.4 32 52.6 63 52.6H426.6c30.9 0 57.4-22.1 63-52.6l41.4-227.5 4.4-23.9c.2 0 .5 0 .7 0c22.1 0 40-17.9 40-40s-17.9-40-40-40s-40 17.9-40 40c0 9 3 17.3 8 24l-17.1 13.7-72 57.6c-15.9 12.7-39.5 7.5-48.6-10.7L314.8 117.7 309 106zM133.7 418.9L102.2 245.6l28.9 23.1c39.8 31.8 98.8 18.9 121.5-26.7L288 171.3l35.4 70.7c22.8 45.6 81.8 58.5 121.5 26.7l28.9-23.1L442.3 418.9c-1.4 7.6-8 13.1-15.7 13.1H149.4c-7.7 0-14.4-5.5-15.7-13.1z\"]\n};\nvar faWeightHanging = {\n prefix: 'far',\n iconName: 'weight-hanging',\n icon: [512, 512, [], \"f5cd\", \"M216 88a40 40 0 1 1 80 0 40 40 0 1 1 -80 0zm118.4 40c6.1-12 9.6-25.6 9.6-40c0-48.6-39.4-88-88-88s-88 39.4-88 88c0 14.4 3.5 28 9.6 40H120c-22 0-41.2 15-46.6 36.4l-72 288c-3.6 14.3-.4 29.5 8.7 41.2S33.2 512 48 512H464c14.8 0 28.7-6.8 37.8-18.5s12.3-26.8 8.7-41.2l-72-288C433.2 143 414 128 392 128H334.4zM256 176H392l72 288H48l72-288H256z\"]\n};\nvar faXmarksLines = {\n prefix: 'far',\n iconName: 'xmarks-lines',\n icon: [640, 512, [], \"e59a\", \"M24 32H616c13.3 0 24 10.7 24 24s-10.7 24-24 24H24C10.7 80 0 69.3 0 56S10.7 32 24 32zm0 400H616c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24zM41 167l55 55 55-55c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-55 55 55 55c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-55-55L41 345c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l55-55L7 201c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0zm224 0l55 55 55-55c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-55 55 55 55c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-55-55-55 55c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l55-55-55-55c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0zM455 167c9.4-9.4 24.6-9.4 33.9 0l55 55 55-55c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-55 55 55 55c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-55-55-55 55c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l55-55-55-55c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faFilePrescription = {\n prefix: 'far',\n iconName: 'file-prescription',\n icon: [384, 512, [], \"f572\", \"M48 448V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zm40 192c-13.3 0-24 10.7-24 24v80 64c0 13.3 10.7 24 24 24s24-10.7 24-24V320h22.1c.3 .3 .6 .7 .9 1l55 55-23 23c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l23-23 23 23c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-23-23 23-23c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-23 23-31.1-31.1C227.5 299.7 240 279.3 240 256c0-35.3-28.7-64-64-64H104zm72 80H128V240h48c8.8 0 16 7.2 16 16s-7.2 16-16 16z\"]\n};\nvar faTableCellsLock = {\n prefix: 'far',\n iconName: 'table-cells-lock',\n icon: [640, 512, [], \"e679\", \"M360 80l0 88 104 0 0-72c0-8.8-7.2-16-16-16l-88 0zm-48 0L200 80l0 88 112 0 0-88zM152 80L64 80c-8.8 0-16 7.2-16 16l0 72 104 0 0-88zM48 216l0 80 104 0 0-80L48 216zm0 128l0 72c0 8.8 7.2 16 16 16l88 0 0-88L48 344zm152 88l112 0 0-88-112 0 0 88zm160 0l24 0 0 48L64 480c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l384 0c35.3 0 64 28.7 64 64l0 65.1c-34.7 5-64.2 25.8-81 54.9l-71 0 0 80 56 0 0 .6c-16.9 9.8-29 27.1-31.5 47.4L360 344l0 88zM200 296l112 0 0-80-112 0 0 80zm328-56c-17.7 0-32 14.3-32 32l0 48 64 0 0-48c0-17.7-14.3-32-32-32zm-80 32c0-44.2 35.8-80 80-80s80 35.8 80 80l0 48c17.7 0 32 14.3 32 32l0 128c0 17.7-14.3 32-32 32l-160 0c-17.7 0-32-14.3-32-32l0-128c0-17.7 14.3-32 32-32l0-48z\"]\n};\nvar faCalendarRange = {\n prefix: 'far',\n iconName: 'calendar-range',\n icon: [448, 512, [], \"e0d6\", \"M152 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H64C28.7 64 0 92.7 0 128v16 48V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V192 144 128c0-35.3-28.7-64-64-64H344V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H152V24zM48 192H400V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V192zm48 96a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm224 64a32 32 0 1 0 0 64 32 32 0 1 0 0-64zM192 288c0 13.3 10.7 24 24 24H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H216c-13.3 0-24 10.7-24 24zm40 72H120c-13.3 0-24 10.7-24 24s10.7 24 24 24H232c13.3 0 24-10.7 24-24s-10.7-24-24-24z\"]\n};\nvar faFlowerDaffodil = {\n prefix: 'far',\n iconName: 'flower-daffodil',\n icon: [512, 512, [9880], \"f800\", \"M112 88c0-48.6 39.4-88 88-88c21.3 0 40.8 7.6 56 20.1C271.2 7.6 290.7 0 312 0c48.6 0 88 39.4 88 88c0 21.3-7.6 40.8-20.1 56c12.6 15.2 20.1 34.7 20.1 56c0 48.6-39.4 88-88 88c-11.3 0-22.1-2.1-32-6v91.4c41-52 104.6-85.4 176-85.4h28c15.5 0 28 12.5 28 28c0 108.2-87.8 196-196 196H280 232 196C87.8 512 0 424.2 0 316c0-15.5 12.5-28 28-28H56c71.4 0 135 33.4 176 85.4V282c-9.9 3.9-20.7 6-32 6c-48.6 0-88-39.4-88-88c0-21.3 7.6-40.8 20.1-56C119.6 128.8 112 109.3 112 88zm88-40c-22.1 0-40 17.9-40 40c0 15 8.3 28.2 20.6 35c7.6 4.2 12.4 12.3 12.4 21s-4.7 16.8-12.4 21c-12.4 6.9-20.6 20-20.6 35c0 22.1 17.9 40 40 40c15 0 28.2-8.3 35-20.6c4.2-7.6 12.3-12.4 21-12.4s16.8 4.7 21 12.4c6.9 12.4 20 20.6 35 20.6c22.1 0 40-17.9 40-40c0-15-8.3-28.2-20.6-35c-7.6-4.2-12.4-12.3-12.4-21s4.7-16.8 12.4-21c12.4-6.9 20.6-20 20.6-35c0-22.1-17.9-40-40-40c-15 0-28.2 8.3-35 20.6C272.8 76.3 264.7 81 256 81s-16.8-4.7-21-12.4C228.2 56.3 215 48 200 48zM49.3 336C59.1 408.3 121 464 196 464h29.4C204.5 390.1 136.6 336 56 336H49.3zm413.3 0H456c-80.6 0-148.5 54.1-169.4 128H316c75 0 136.9-55.7 146.7-128zM256 112a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faHandBackPointUp = {\n prefix: 'far',\n iconName: 'hand-back-point-up',\n icon: [448, 512, [], \"e1a2\", \"M144 0C108.7 0 80 28.7 80 64V252.8c-5.2 3.6-10.2 7.6-14.9 11.9L44.8 283.2C26.5 299.9 16 323.5 16 348.3v10.2c0 54.1 28.7 104.1 75.4 131.3l2.6 1.5c23.2 13.6 49.7 20.7 76.6 20.7H296c66.3 0 120-53.7 120-120v-8V288c0-35.3-28.7-64-64-64c-2.8 0-5.6 .2-8.3 .5c-11-19.4-31.8-32.5-55.7-32.5c-5.3 0-10.5 .7-15.5 1.9c-10.8-20.2-32-33.9-56.5-33.9c-2.7 0-5.4 .2-8 .5V64c0-35.3-28.7-64-64-64zM128 64c0-8.8 7.2-16 16-16s16 7.2 16 16V200c0 10.3 6.6 19.5 16.4 22.8s20.6-.1 26.8-8.3c3-3.9 7.6-6.4 12.8-6.4c8.8 0 16 7.2 16 16v8c0 10.3 6.6 19.5 16.4 22.8s20.6-.1 26.8-8.3c3-3.9 7.6-6.4 12.8-6.4c8.8 0 16 7.2 16 16c0 9.1 5.1 17.4 13.3 21.5s17.9 3.2 25.1-2.3c2.7-2 6-3.2 9.6-3.2c8.8 0 16 7.2 16 16v96 8c0 39.8-32.2 72-72 72H170.6c-18.4 0-36.5-4.9-52.4-14.2l-11.7 20 11.7-20-2.6-1.5C83.6 429.7 64 395.5 64 358.5V348.3c0-11.3 4.8-22 13.1-29.6L96 301.5V344c0 8.8 7.2 16 16 16s16-7.2 16-16V266v-2V64z\"]\n};\nvar faWeightScale = {\n prefix: 'far',\n iconName: 'weight-scale',\n icon: [512, 512, [\"weight\"], \"f496\", \"M128 176a128 128 0 1 1 256 0 128 128 0 1 1 -256 0zm304 0c0-22.6-4.3-44.2-12-64h28c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V128c0-8.8 7.2-16 16-16H92c-7.7 19.8-12 41.4-12 64c0 97.2 78.8 176 176 176s176-78.8 176-176zM391.8 64C359.5 24.9 310.7 0 256 0S152.5 24.9 120.2 64H64C28.7 64 0 92.7 0 128V448c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H391.8zM296 224c0-10.6-4.1-20.2-10.9-27.4l33.6-78.3c3.5-8.1-.3-17.5-8.4-21s-17.5 .3-21 8.4L255.7 184c-22 .1-39.7 18-39.7 40c0 22.1 17.9 40 40 40s40-17.9 40-40z\"]\n};\nvar faWeight = faWeightScale;\nvar faArrowUpToArc = {\n prefix: 'far',\n iconName: 'arrow-up-to-arc',\n icon: [512, 512, [], \"e617\", \"M256 48c114.9 0 208 93.1 208 208c0 13.3 10.7 24 24 24s24-10.7 24-24C512 114.6 397.4 0 256 0S0 114.6 0 256c0 13.3 10.7 24 24 24s24-10.7 24-24C48 141.1 141.1 48 256 48zM377.6 279.7l-104-112c-4.5-4.9-10.9-7.7-17.6-7.7s-13 2.8-17.6 7.7l-104 112c-9 9.7-8.5 24.9 1.3 33.9s24.9 8.5 33.9-1.3L232 245.1 232 488c0 13.3 10.7 24 24 24s24-10.7 24-24l0-242.9 62.4 67.2c9 9.7 24.2 10.3 33.9 1.3s10.3-24.2 1.3-33.9z\"]\n};\nvar faStarExclamation = {\n prefix: 'far',\n iconName: 'star-exclamation',\n icon: [576, 512, [], \"f2f3\", \"M309.5 13.5C305.5 5.2 297.1 0 287.9 0s-17.6 5.2-21.6 13.5L197.7 154.8 44.5 177.5c-9 1.3-16.5 7.6-19.3 16.3s-.5 18.1 5.9 24.5L142.2 328.4 116 483.9c-1.5 9 2.2 18.1 9.7 23.5s17.3 6 25.3 1.7l137-73.2 137 73.2c8.1 4.3 17.9 3.7 25.3-1.7s11.2-14.5 9.7-23.5L433.6 328.4 544.8 218.2c6.5-6.4 8.7-15.9 5.9-24.5s-10.3-14.9-19.3-16.3L378.1 154.8 309.5 13.5zM235.4 187.2L287.9 79l52.6 108.2c3.5 7.1 10.2 12.1 18.1 13.3l118.3 17.5L391 303c-5.5 5.5-8.1 13.3-6.8 21l20.2 119.6L299.2 387.5c-7.1-3.8-15.6-3.8-22.6 0L171.4 443.7l20.2-119.6c1.3-7.7-1.2-15.5-6.8-21L99 217.9l118.3-17.5c7.8-1.2 14.6-6.1 18.1-13.3zM288 168c-13.3 0-24 10.7-24 24v64c0 13.3 10.7 24 24 24s24-10.7 24-24V192c0-13.3-10.7-24-24-24zm32 168a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faBooks = {\n prefix: 'far',\n iconName: 'books',\n icon: [512, 512, [128218], \"f5db\", \"M48 416v48h64V416H48zm88 89.6c-7.1 4.1-15.3 6.4-24 6.4H48c-26.5 0-48-21.5-48-48V416 392 368 144 120 96 48C0 21.5 21.5 0 48 0h64c8.7 0 16.9 2.3 24 6.4C143.1 2.3 151.3 0 160 0h64c20.6 0 38.1 12.9 45 31.1c5.6-6.1 12.9-10.7 21.4-13L349.9 1.6c24.7-6.8 50.1 8.3 56.7 33.8l18 69.2 6 23.2 61.8 238.3 6 23.2 11.9 46c6.6 25.5-8 51.7-32.7 58.5l-59.6 16.5c-24.7 6.8-50.1-8.3-56.7-33.8l-18-69.2-6-23.2L275.6 145.9 272 132.2V144 368v24 24 48c0 26.5-21.5 48-48 48H160c-8.7 0-16.9-2.3-24-6.4zM160 464h64V416H160v48zM112 48H48V96h64V48zm0 96H48V368h64V144zm48-48h64V48H160V96zm64 272V144H160V368h64zm216.1-12.3l-55.8-215-56.5 15.6 55.8 215 56.5-15.6zm-44.4 62.1l11.9 45.7L464 447.9c0-.1 0-.2 0-.3l0-.1-11.7-45.2-56.5 15.6zm-79.9-308l56.5-15.6L360.4 48.5 304 64.1c0 .1 0 .2 0 .4l11.7 45.2z\"]\n};\nvar faUserGroup = {\n prefix: 'far',\n iconName: 'user-group',\n icon: [640, 512, [128101, \"user-friends\"], \"f500\", \"M224 48a80 80 0 1 1 0 160 80 80 0 1 1 0-160zm0 208A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 96h91.4c65.7 0 120.1 48.7 129 112H49.3c8.9-63.3 63.3-112 129-112zm0-48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304H178.3zm431 208c17 0 30.7-13.8 30.7-30.7C640 392.2 567.8 320 478.7 320H417.3c-4.4 0-8.8 .2-13.2 .5c46.4 38.6 75.9 96.7 75.9 161.8c0 10.8-2.8 20.9-7.6 29.7H609.3zM432 256c61.9 0 112-50.1 112-112s-50.1-112-112-112c-24.8 0-47.7 8.1-66.3 21.7C377.4 75.9 384 101.2 384 128c0 35.6-11.6 68.5-31.3 95.1C373 243.4 401 256 432 256z\"]\n};\nvar faUserFriends = faUserGroup;\nvar faArrowUpAZ = {\n prefix: 'far',\n iconName: 'arrow-up-a-z',\n icon: [576, 512, [\"sort-alpha-up\"], \"f15e\", \"M416 32c9.1 0 17.4 5.1 21.5 13.3l80 160c5.9 11.9 1.1 26.3-10.7 32.2s-26.3 1.1-32.2-10.7l-13.6-27.2c-1.6 .3-3.2 .5-4.9 .5H370.8l-13.4 26.7c-5.9 11.9-20.3 16.7-32.2 10.7s-16.7-20.3-10.7-32.2l80-160C398.6 37.1 406.9 32 416 32zM394.8 152h42.3L416 109.7 394.8 152zM143 39c9.4-9.4 24.6-9.4 33.9 0l96 96c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-55-55V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V113.9L81 169c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l96-96zM352 288H480c9.4 0 18 5.5 21.9 14.2s2.3 18.7-4 25.8L405.4 432H480c13.3 0 24 10.7 24 24s-10.7 24-24 24H352c-9.4 0-18-5.5-21.9-14.2s-2.3-18.7 4-25.8L426.6 336H352c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faSortAlphaUp = faArrowUpAZ;\nvar faLayerPlus = {\n prefix: 'far',\n iconName: 'layer-plus',\n icon: [576, 512, [\"layer-group-plus\"], \"f5ff\", \"M464 4c-11 0-20 9-20 20V60H408c-11 0-20 9-20 20s9 20 20 20h36v36c0 11 9 20 20 20s20-9 20-20V100h36c11 0 20-9 20-20s-9-20-20-20H484V24c0-11-9-20-20-20zM288 128c-8.5 0-17 1.7-24.8 5.1L53.9 222.8C40.6 228.5 32 241.5 32 256s8.6 27.5 21.9 33.2l209.3 89.7c7.8 3.4 16.3 5.1 24.8 5.1s17-1.7 24.8-5.1l209.3-89.7c13.3-5.7 21.9-18.8 21.9-33.2s-8.6-27.5-21.9-33.2L312.8 133.1c-7.8-3.4-16.3-5.1-24.8-5.1zm-5.9 49.2c1.9-.8 3.9-1.2 5.9-1.2s4 .4 5.9 1.2L477.7 256 293.9 334.8c-1.9 .8-3.9 1.2-5.9 1.2s-4-.4-5.9-1.2L98.3 256l183.8-78.8zM85.1 337.4L53.9 350.8C40.6 356.5 32 369.5 32 384s8.6 27.5 21.9 33.2l209.3 89.7c7.8 3.4 16.3 5.1 24.8 5.1s17-1.7 24.8-5.1l209.3-89.7c13.3-5.7 21.9-18.8 21.9-33.2s-8.6-27.5-21.9-33.2l-31.2-13.4L430 363.5 477.7 384 293.9 462.8c-1.9 .8-3.9 1.2-5.9 1.2s-4-.4-5.9-1.2L98.3 384 146 363.5 85.1 337.4z\"]\n};\nvar faLayerGroupPlus = faLayerPlus;\nvar faPlayPause = {\n prefix: 'far',\n iconName: 'play-pause',\n icon: [640, 512, [], \"e22f\", \"M432 88c0-13.3-10.7-24-24-24s-24 10.7-24 24V424c0 13.3 10.7 24 24 24s24-10.7 24-24V88zm144 0c0-13.3-10.7-24-24-24s-24 10.7-24 24V424c0 13.3 10.7 24 24 24s24-10.7 24-24V88zM112 381.8V130.2L263 256 112 381.8zm4.5-310.4c-9.5-7.9-22.8-9.7-34.1-4.4S64 83.6 64 96V416c0 12.4 7.2 23.7 18.4 29s24.5 3.6 34.1-4.4l192-160c7.3-6.1 11.5-15.1 11.5-24.6s-4.2-18.5-11.5-24.6l-192-160z\"]\n};\nvar faBlockQuestion = {\n prefix: 'far',\n iconName: 'block-question',\n icon: [640, 512, [], \"e3dd\", \"M160 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H480c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H160zM96 96c0-35.3 28.7-64 64-64H480c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H160c-35.3 0-64-28.7-64-64V96zm137.8 77.3c7.9-22.3 29.1-37.3 52.8-37.3h58.3c34.9 0 63.1 28.3 63.1 63.1c0 22.6-12.1 43.5-31.7 54.8L344 272.4c-.2 13-10.9 23.6-24 23.6c-13.3 0-24-10.7-24-24V258.5c0-8.6 4.6-16.5 12.1-20.8l44.3-25.4c4.7-2.7 7.6-7.7 7.6-13.1c0-8.4-6.8-15.1-15.1-15.1H286.6c-3.4 0-6.4 2.1-7.5 5.3l-.4 1.2c-4.4 12.5-18.2 19-30.6 14.6s-19-18.2-14.6-30.6l.4-1.2zM288 360a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM160 120a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM456 96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM160 392a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm296-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faSnooze = {\n prefix: 'far',\n iconName: 'snooze',\n icon: [448, 512, [128164, \"zzz\"], \"f880\", \"M184 0c-13.3 0-24 10.7-24 24s10.7 24 24 24h59.1l-77.2 88.2c-6.2 7.1-7.7 17.1-3.8 25.7S174.6 176 184 176H296c13.3 0 24-10.7 24-24s-10.7-24-24-24H236.9l77.2-88.2c6.2-7.1 7.7-17.1 3.8-25.7S305.4 0 296 0H184zM312 224c-13.3 0-24 10.7-24 24s10.7 24 24 24h62.9L293.1 377.3c-5.6 7.2-6.6 17-2.6 25.3s12.4 13.5 21.6 13.5H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H361.1l81.9-105.3c5.6-7.2 6.6-17 2.6-25.3s-12.4-13.5-21.6-13.5H312zM24 224c-13.3 0-24 10.7-24 24s10.7 24 24 24H152.6L4.6 473.8c-5.3 7.3-6.1 17-2.1 25S15 512 24 512H200c13.3 0 24-10.7 24-24s-10.7-24-24-24H71.4l148-201.8c5.3-7.3 6.1-17 2.1-25S209 224 200 224H24z\"]\n};\nvar faZzz = faSnooze;\nvar faScannerImage = {\n prefix: 'far',\n iconName: 'scanner-image',\n icon: [576, 512, [], \"f8f3\", \"M66.7 34.5c-11.9-5.9-26.3-1.1-32.2 10.7s-1.1 26.3 10.7 32.2L466.3 288H64c-35.3 0-64 28.7-64 64v64c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V384 352v-8.4c0-33.3-18.8-63.8-48.6-78.7L66.7 34.5zM528 352v32 32c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V352c0-8.8 7.2-16 16-16H512c8.8 0 16 7.2 16 16zM120 384a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm56 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faTvRetro = {\n prefix: 'far',\n iconName: 'tv-retro',\n icon: [512, 512, [128250], \"f401\", \"M135 7c9.4-9.4 24.6-9.4 33.9 0l87 87L343 7c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-55 55H432c44.2 0 80 35.8 80 80V432c0 44.2-35.8 80-80 80H80c-44.2 0-80-35.8-80-80V176c0-44.2 35.8-80 80-80H190.1L135 41c-9.4-9.4-9.4-24.6 0-33.9zM80 144c-17.7 0-32 14.3-32 32V432c0 17.7 14.3 32 32 32H432c17.7 0 32-14.3 32-32V176c0-17.7-14.3-32-32-32H80zm336 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM392 304a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM144 192H304c26.5 0 48 21.5 48 48V368c0 26.5-21.5 48-48 48H144c-26.5 0-48-21.5-48-48V240c0-26.5 21.5-48 48-48z\"]\n};\nvar faSquareT = {\n prefix: 'far',\n iconName: 'square-t',\n icon: [448, 512, [], \"e280\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm120 48H224 328c13.3 0 24 10.7 24 24s-10.7 24-24 24H248V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V192H120c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faFarm = {\n prefix: 'far',\n iconName: 'farm',\n icon: [576, 512, [\"barn-silo\"], \"f864\", \"M48 464l0-288H163.3l23.4-50.2c7.2-15.5 19.8-27.9 35.3-35C212.1 39.1 166.6 0 112 0C50.1 0 0 50.1 0 112V464c0 26.5 21.5 48 48 48H148.1c-11-13.3-18.1-29.8-19.8-48H48zM176 128H48V112c0-35.3 28.7-64 64-64s64 28.7 64 64v16zm81.9 34.4L368 114.2l110.1 48.2 49.9 107V456c0 4.4-3.6 8-8 8H432V408c0-22.1-17.9-40-40-40H344c-22.1 0-40 17.9-40 40v56H216c-4.4 0-8-3.6-8-8V269.3l49.9-107zM384 68.8c-10.2-4.5-21.8-4.5-32.1 0L235.9 119.6c-8.9 3.9-16.1 10.9-20.2 19.7L163.8 250.6c-2.5 5.3-3.8 11.1-3.8 16.9V456c0 30.9 25.1 56 56 56H520c30.9 0 56-25.1 56-56V267.5c0-5.8-1.3-11.6-3.8-16.9L520.3 139.3c-4.1-8.8-11.3-15.8-20.2-19.7L384 68.8zM320 248v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V248c0-13.3-10.7-24-24-24H344c-13.3 0-24 10.7-24 24z\"]\n};\nvar faBarnSilo = faFarm;\nvar faChessKnight = {\n prefix: 'far',\n iconName: 'chess-knight',\n icon: [448, 512, [9822], \"f441\", \"M226.6 48H117.3l17.1 12.8c6 4.5 9.6 11.6 9.6 19.2s-3.6 14.7-9.6 19.2l-6.5 4.9c-10 7.5-16 19.3-16 31.9l-.3 91c0 10.2 4.9 19.9 13.2 25.8l1.9 1.3c9.9 7.1 23.3 7 33.2-.1l49.9-36.3c10.7-7.8 25.7-5.4 33.5 5.3s5.4 25.7-5.3 33.5l-49.9 36.3-53.8 39.1c-7.3 5.3-13 12.2-16.9 20.1H66.8c5.3-22.1 17.8-41.9 35.9-56.3c-1.3-.8-2.6-1.7-3.8-2.6L97 291.8c-21-15-33.4-39.2-33.3-65l.3-91c.1-19.8 6.7-38.7 18.6-53.9l-.4-.3C70.7 73 64 59.6 64 45.3C64 20.3 84.3 0 109.3 0H226.6C331.2 0 416 84.8 416 189.4c0 11.1-1 22.2-2.9 33.2L390.1 352H341.3l24.5-137.8c1.5-8.2 2.2-16.5 2.2-24.8C368 111.3 304.7 48 226.6 48zM85.2 432L68.7 464H379.3l-16.6-32H85.2zm315.7-30.7l26.5 51.2c3 5.8 4.6 12.2 4.6 18.7c0 22.5-18.2 40.8-40.8 40.8H56.8C34.2 512 16 493.8 16 471.2c0-6.5 1.6-12.9 4.6-18.7l26.5-51.2C52.5 390.7 63.5 384 75.5 384h297c12 0 22.9 6.7 28.4 17.3zM172 128a20 20 0 1 1 0 40 20 20 0 1 1 0-40z\"]\n};\nvar faBarsSort = {\n prefix: 'far',\n iconName: 'bars-sort',\n icon: [448, 512, [], \"e0ae\", \"M0 88C0 74.7 10.7 64 24 64H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H24C10.7 112 0 101.3 0 88zM0 248c0-13.3 10.7-24 24-24H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24zM192 408c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H168c13.3 0 24 10.7 24 24z\"]\n};\nvar faPalletBoxes = {\n prefix: 'far',\n iconName: 'pallet-boxes',\n icon: [640, 512, [57863, \"palette-boxes\", \"pallet-alt\"], \"f483\", \"M272 48H112V208H272V48zM112 0H272c26.5 0 48 21.5 48 48V208c0 26.5-21.5 48-48 48H112c-26.5 0-48-21.5-48-48V48C64 21.5 85.5 0 112 0zM528 112H432v96h96V112zM432 64h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H432c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48zM0 344c0-13.3 10.7-24 24-24H88 320 552h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H576v96h40c13.3 0 24 10.7 24 24s-10.7 24-24 24H552 320 88 24c-13.3 0-24-10.7-24-24s10.7-24 24-24H64V368H24c-13.3 0-24-10.7-24-24zM112 464H296V368H112v96zm232 0H528V368H344v96z\"]\n};\nvar faPaletteBoxes = faPalletBoxes;\nvar faPalletAlt = faPalletBoxes;\nvar faFaceLaughSquint = {\n prefix: 'far',\n iconName: 'face-laugh-squint',\n icon: [512, 512, [\"laugh-squint\"], \"f59b\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm130.7 57.9c-4.2-13.6 7.1-25.9 21.3-25.9H364.5c14.2 0 25.5 12.4 21.3 25.9C369 368.4 318.2 408 258.2 408s-110.8-39.6-127.5-94.1zm2.8-183.3l89.9 47.9c10.7 5.7 10.7 21.1 0 26.8l-89.9 47.9c-7.9 4.2-17.5-1.5-17.5-10.5c0-2.8 1-5.5 2.8-7.6l36-43.2-36-43.2c-1.8-2.1-2.8-4.8-2.8-7.6c0-9 9.6-14.7 17.5-10.5zM396 141.1c0 2.8-1 5.5-2.8 7.6l-36 43.2 36 43.2c1.8 2.1 2.8 4.8 2.8 7.6c0 9-9.6 14.7-17.5 10.5l-89.9-47.9c-10.7-5.7-10.7-21.1 0-26.8l89.9-47.9c7.9-4.2 17.5 1.5 17.5 10.5z\"]\n};\nvar faLaughSquint = faFaceLaughSquint;\nvar faCodeSimple = {\n prefix: 'far',\n iconName: 'code-simple',\n icon: [576, 512, [], \"e13d\", \"M216.6 105.4c9.6-9.2 9.9-24.3 .8-33.9s-24.3-9.9-33.9-.8l-176 168C2.7 243.2 0 249.4 0 256s2.7 12.8 7.4 17.4l176 168c9.6 9.2 24.8 8.8 33.9-.8s8.8-24.8-.8-33.9L58.8 256 216.6 105.4zm142.9 0L517.2 256 359.4 406.6c-9.6 9.2-9.9 24.3-.8 33.9s24.3 9.9 33.9 .8l176-168c4.7-4.5 7.4-10.8 7.4-17.4s-2.7-12.8-7.4-17.4l-176-168c-9.6-9.2-24.8-8.8-33.9 .8s-8.8 24.8 .8 33.9z\"]\n};\nvar faBoltSlash = {\n prefix: 'far',\n iconName: 'bolt-slash',\n icon: [640, 512, [], \"e0b8\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L450.2 327.6l49.5-42c7.8-6.6 12.3-16.4 12.3-26.6c0-19.3-15.6-34.9-34.9-34.9H391.8L445.4 36.6C450.6 18.3 436.8 0 417.7 0c-6.8 0-13.5 2.4-18.7 6.9L227.9 153.3 38.8 5.1zM266.4 183.5L381.6 85 337.5 239.3l-71.1-55.7zM379.3 272h62.2l-29.8 25.3L379.3 272zm-4.4 119.4l-38.5-30.3-78.2 66.4L288.1 323l-40.7-32.1L194.6 475.4c-5.2 18.4 8.5 36.6 27.6 36.6c6.8 0 13.4-2.4 18.6-6.8L374.9 391.4zM153.5 216.9l-13.7 11.7c-7.5 6.4-11.8 15.8-11.8 25.6c0 18.6 15.1 33.7 33.7 33.7h82l-90.2-71.1z\"]\n};\nvar faPanelFire = {\n prefix: 'far',\n iconName: 'panel-fire',\n icon: [640, 512, [], \"e42f\", \"M384 80L64 80c-8.8 0-16 7.2-16 16l0 320c0 8.8 7.2 16 16 16l242.1 0c8.1 17.5 18.8 33.7 31.5 48L64 480c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l320 0c35.3 0 64 28.7 64 64l0 32.2c-12.6-1.2-25.5 2.7-35.5 11.7c-4.2 3.8-8.4 7.6-12.5 11.5L400 96c0-8.8-7.2-16-16-16zM293.8 311.3c-1.8 .5-3.8 .7-5.8 .7c-13.3 0-24-10.7-24-24s10.7-24 24-24c8.2 0 15.5 4.1 19.8 10.4c-5.8 12.1-10.6 24.5-14 36.9zM96 160c0-17.7 14.3-32 32-32l192 0c17.7 0 32 14.3 32 32l0 32c0 17.7-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32l0-32zm32 104a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm56 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm321.7-79.9L518 194.3c5.4-6.1 13.3-8.8 20.9-8.9c7.2 0 14.3 2.6 19.9 7.8c19.7 18.3 39.8 43.2 55 70.6C629 291.1 640 322 640 352c0 88.7-71.3 159.8-160 159.8c-89.6 0-160-71.3-160-159.8c0-37.3 16-73.4 36.8-104.5c20.9-31.3 47.5-59 70.9-80.2c5.7-5.2 13.1-7.7 20.3-7.5c14.1 .3 23.8 11.4 32.7 21.6c0 0 0 0 0 0c2 2.3 4 4.6 6 6.7l19 19.9zM544 400c0-36.5-37-73-54.8-88.4c-5.4-4.7-13.1-4.7-18.5 0C453 327 416 363.5 416 400c0 35.3 28.7 64 64 64s64-28.7 64-64z\"]\n};\nvar faBinaryCircleCheck = {\n prefix: 'far',\n iconName: 'binary-circle-check',\n icon: [640, 512, [], \"e33c\", \"M318 4.5C324.3 9 328 16.3 328 24V176h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H304 248c-13.3 0-24-10.7-24-24s10.7-24 24-24h32V57.3l-16.4 5.5C251 67 237.4 60.2 233.2 47.6S235.8 21.4 248.4 17.2l48-16C303.7-1.2 311.8 0 318 4.5zM94 292.5c6.3 4.5 10 11.8 10 19.5V464h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H80 24c-13.3 0-24-10.7-24-24s10.7-24 24-24H56V345.3l-16.4 5.5C27 355 13.4 348.2 9.2 335.6S11.8 309.4 24.4 305.2l48-16c7.3-2.4 15.4-1.2 21.6 3.3zM72 0h48c39.8 0 72 32.2 72 72v80c0 39.8-32.2 72-72 72H72c-39.8 0-72-32.2-72-72V72C0 32.2 32.2 0 72 0zM48 72v80c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V72c0-13.3-10.7-24-24-24H72C58.7 48 48 58.7 48 72zM192 360c0-39.8 32.2-72 72-72h48c8.8 0 17.2 1.6 25 4.5c-6.8 14.4-11.8 29.8-14.5 45.9c-3.2-1.5-6.7-2.4-10.5-2.4H264c-13.3 0-24 10.7-24 24v80c0 13.3 10.7 24 24 24h48l.1 0h36.4c5.4 8.2 11.4 15.9 18 23.1C353.2 502.4 333.7 512 312 512H264c-39.8 0-72-32.2-72-72V360zm160 8a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm211.3-43.3c-6.2-6.2-16.4-6.2-22.6 0L480 385.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nvar faCommentMinus = {\n prefix: 'far',\n iconName: 'comment-minus',\n icon: [512, 512, [], \"f4b1\", \"M168.2 384.9c-15-5.4-31.7-3.1-44.6 6.4c-8.2 6-22.3 14.8-39.4 22.7c5.6-14.7 9.9-31.3 11.3-49.4c1-12.9-3.3-25.7-11.8-35.5C60.4 302.8 48 272 48 240c0-79.5 83.3-160 208-160s208 80.5 208 160s-83.3 160-208 160c-31.6 0-61.3-5.5-87.8-15.1zM26.3 423.8c-1.6 2.7-3.3 5.4-5.1 8.1l-.3 .5c-1.6 2.3-3.2 4.6-4.8 6.9c-3.5 4.7-7.3 9.3-11.3 13.5c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c5.1 0 10.2-.3 15.3-.8l.7-.1c4.4-.5 8.8-1.1 13.2-1.9c.8-.1 1.6-.3 2.4-.5c17.8-3.5 34.9-9.5 50.1-16.1c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9zM184 216c-13.3 0-24 10.7-24 24s10.7 24 24 24H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H184z\"]\n};\nvar faBurrito = {\n prefix: 'far',\n iconName: 'burrito',\n icon: [512, 512, [127791], \"f7ed\", \"M67.9 304c-4.4 4.4-8.1 9.4-11.2 14.7c17.3 6 35.9 9.3 55.3 9.3c75.6 0 139.5-49.9 160.6-118.6c4.8-15.6 7.4-32.2 7.4-49.4c0-20.3-3.6-39.8-10.2-57.9L67.9 304zm-53.8-7.4l0 0c5.3-9.7 11.9-18.6 19.8-26.5L242 62c8.2-35.5 40-62 78-62c11.4 0 22.2 2.4 32 6.7C361.8 2.4 372.6 0 384 0c34.6 0 64.1 22 75.2 52.8C490 63.9 512 93.4 512 128c0 11.4-2.4 22.2-6.7 32c2.7 6.1 4.6 12.7 5.7 19.6c6.6 41.7-20.4 81-61 90.4L241.9 478.1C220.2 499.8 190.7 512 160 512s-60.2-12.2-81.9-33.9L112 444.1c12.7 12.7 30 19.9 48 19.9s35.3-7.2 48-19.9L409.9 242.2c-18-6.6-37.5-10.2-57.9-10.2c-13 0-25.7 1.5-37.9 4.3C283.3 317.9 204.5 376 112 376c-21.7 0-42.6-3.2-62.4-9.1c2.8 12.5 9.1 24 18.2 33.1L112 444.1 78.1 478.1 33.9 433.9C12.2 412.2 0 382.7 0 352c0-2.4 .1-4.8 .2-7.1l0 0c1-17 5.8-33.5 13.9-48.3z\"]\n};\nvar faViolin = {\n prefix: 'far',\n iconName: 'violin',\n icon: [640, 512, [127931], \"f8ed\", \"M496 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM345 41L41 345c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L311 7c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9zM198.4 403.2c6.4-4.8 15.3-4.1 20.9 1.5l16 16c5.6 5.6 6.3 14.5 1.5 20.9l-5.3 7.1c16.6 9.7 35.9 15.3 56.5 15.3c25.2 0 48.3-8.2 67-22.2c-2-8.3-3-17-3-25.8c0-60 47.3-109.1 106.6-111.9c8.2-19.7 8.4-46.6-12.7-76.1L361 313c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L412 194.1c-29.5-21-56.4-20.8-76.1-12.7C333.1 240.8 284 288 224 288c-8.8 0-17.5-1-25.8-3c-14 18.7-22.2 41.8-22.2 67c0 20.6 5.6 39.9 15.3 56.5l7.1-5.3zm-45.7 34.3c-15.7-24.7-24.7-54-24.7-85.5c0-41.2 15.5-78.7 41.1-107c9.7-10.7 25.8-10.1 39.8-6.7c4.8 1.2 9.9 1.8 15.1 1.8c35.3 0 64-28.7 64-64c0-11.6 2.6-24 12.4-30.1c39.3-24.7 94.3-26.4 145.8 14L599 7c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L480.2 193.8c40.3 51.5 38.6 106.5 14 145.8C488 349.4 475.6 352 464 352c-35.3 0-64 28.7-64 64c0 5.2 .6 10.2 1.8 15.1c3.4 14.1 4 30.2-6.7 39.8C366.7 496.5 329.2 512 288 512c-31.4 0-60.7-9.1-85.5-24.7l-13.7 18.3c-2.8 3.7-7 6-11.7 6.4s-9.2-1.4-12.4-4.6l-32-32c-3.3-3.3-5-7.8-4.6-12.4s2.6-8.9 6.4-11.7l18.3-13.7zM448 72a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm120 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm48-48a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faObjectsColumn = {\n prefix: 'far',\n iconName: 'objects-column',\n icon: [448, 512, [], \"e3c1\", \"M48 80V240h96V80H48zM0 80C0 53.5 21.5 32 48 32h96c26.5 0 48 21.5 48 48V240c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80zM304 272V432h96V272H304zm-48 0c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48V432c0 26.5-21.5 48-48 48H304c-26.5 0-48-21.5-48-48V272zM144 368H48v64h96V368zM48 320h96c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V368c0-26.5 21.5-48 48-48zM304 80v64h96V80H304zm-48 0c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H304c-26.5 0-48-21.5-48-48V80z\"]\n};\nvar faSquareChevronDown = {\n prefix: 'far',\n iconName: 'square-chevron-down',\n icon: [448, 512, [\"chevron-square-down\"], \"f329\", \"M384 432c8.8 0 16-7.2 16-16l0-320c0-8.8-7.2-16-16-16L64 80c-8.8 0-16 7.2-16 16l0 320c0 8.8 7.2 16 16 16l320 0zm64-16c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l320 0c35.3 0 64 28.7 64 64l0 320zM207 345L103 241c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l87 87 87-87c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L241 345c-9.4 9.4-24.6 9.4-33.9 0z\"]\n};\nvar faChevronSquareDown = faSquareChevronDown;\nvar faCommentPlus = {\n prefix: 'far',\n iconName: 'comment-plus',\n icon: [512, 512, [], \"f4b2\", \"M168.2 384.9c-15-5.4-31.7-3.1-44.6 6.4c-8.2 6-22.3 14.8-39.4 22.7c5.6-14.7 9.9-31.3 11.3-49.4c1-12.9-3.3-25.7-11.8-35.5C60.4 302.8 48 272 48 240c0-79.5 83.3-160 208-160s208 80.5 208 160s-83.3 160-208 160c-31.6 0-61.3-5.5-87.8-15.1zM26.3 423.8c-1.6 2.7-3.3 5.4-5.1 8.1l-.3 .5c-1.6 2.3-3.2 4.6-4.8 6.9c-3.5 4.7-7.3 9.3-11.3 13.5c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c5.1 0 10.2-.3 15.3-.8l.7-.1c4.4-.5 8.8-1.1 13.2-1.9c.8-.1 1.6-.3 2.4-.5c17.8-3.5 34.9-9.5 50.1-16.1c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9zM232 328c0 13.3 10.7 24 24 24s24-10.7 24-24V264h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V152c0-13.3-10.7-24-24-24s-24 10.7-24 24v64H168c-13.3 0-24 10.7-24 24s10.7 24 24 24h64v64z\"]\n};\nvar faTriangleInstrument = {\n prefix: 'far',\n iconName: 'triangle-instrument',\n icon: [576, 512, [\"triangle-music\"], \"f8e2\", \"M312 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V67.3c-21.3 5.9-40 19.5-52.1 38.7L46.5 367.7C37 382.8 32 400.2 32 418c0 51.9 42.1 94 94 94H450c51.9 0 94-42.1 94-94c0-17.8-5-35.2-14.5-50.2L448.2 239l-34.8 34.8 75.5 119.5c4.6 7.4 7.1 15.9 7.1 24.6c0 25.4-20.6 46-46 46H126c-25.4 0-46-20.6-46-46c0-8.7 2.5-17.2 7.1-24.6L252.4 131.6c7.7-12.2 21.1-19.6 35.6-19.6s27.9 7.4 35.6 19.6l46 72.9-62.8 62.8c-5.9-2.1-12.2-3.2-18.8-3.2c-30.9 0-56 25.1-56 56s25.1 56 56 56s56-25.1 56-56c0-6.6-1.1-12.9-3.2-18.8l55.1-55.1 34.8-34.8L537 105c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-98.6 98.6L364.1 106C352 86.8 333.3 73.2 312 67.3V24z\"]\n};\nvar faTriangleMusic = faTriangleInstrument;\nvar faWheelchair = {\n prefix: 'far',\n iconName: 'wheelchair',\n icon: [512, 512, [], \"f193\", \"M192 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM120.5 247.2C78.1 263.2 48 304.1 48 352c0 61.9 50.1 112 112 112c42.8 0 80-24 98.9-59.3c6.2-11.7 20.8-16.1 32.5-9.9s16.1 20.8 9.9 32.5C274.3 477.7 221.2 512 160 512C71.6 512 0 440.4 0 352c0-68.5 43.1-126.9 103.5-149.7c12.4-4.7 26.2 1.6 30.9 14s-1.6 26.2-14 30.9zm67.2-118.8c13-2.4 25.5 6.3 27.9 19.3l5.1 28.3H344c13.3 0 24 10.7 24 24s-10.7 24-24 24H229.5l13.4 73.4c.7 3.8 4 6.6 7.9 6.6H373.5c15.9 0 30.3 9.4 36.6 24l43 98.3 27.2-9.1c12.6-4.2 26.2 2.6 30.4 15.2s-2.6 26.2-15.2 30.4l-48 16c-11.8 3.9-24.6-1.8-29.6-13.1L368.3 352H250.7c-27.1 0-50.3-19.4-55.1-46L168.4 156.3c-2.4-13 6.3-25.5 19.3-27.9z\"]\n};\nvar faUserPilotTie = {\n prefix: 'far',\n iconName: 'user-pilot-tie',\n icon: [448, 512, [], \"e2c1\", \"M217.9 .8l-152 40c-8.6 2.3-15.3 9.1-17.3 17.8s1 17.8 7.8 23.6L80 102.5v8.4c0 10.7 5.3 20.8 15.1 25.2c24.1 10.8 68.6 24 128.9 24s104.8-13.2 128.9-24c9.8-4.4 15.1-14.5 15.1-25.2v-8.4l23.6-20.2c6.8-5.8 9.8-14.9 7.8-23.6s-8.7-15.6-17.3-17.8l-152-40c-4-1.1-8.2-1.1-12.2 0zM183.2 65.7L224 86.1l40.8-20.4c7.9-4 17.5-.7 21.5 7.2s.7 17.5-7.2 21.5l-48 24c-4.5 2.3-9.8 2.3-14.3 0l-48-24c-7.9-4-11.1-13.6-7.2-21.5s13.6-11.1 21.5-7.2zM96 192c0 70.7 57.3 128 128 128s128-57.3 128-128c0-7.9-.7-15.7-2.1-23.2c-14 5.4-28.5 9.9-43.3 13.4c.4 3.2 .6 6.5 .6 9.8c0 46-37.2 83.2-83.2 83.2s-83.2-37.2-83.2-83.2c0-3.3 .2-6.6 .6-9.8c-14.8-3.6-29.3-8.1-43.3-13.4C96.7 176.3 96 184.1 96 192zm91.6 183.2L208 416l-12.2 48.9 0 0-.5-.9 0 0L133 360.3c-3-5-8.6-8.1-14.4-7.4C51.8 360.8 0 417.5 0 486.4C0 500.5 11.5 512 25.6 512H168h0 1 21.2H192v0h64v0h1.7 21.2 1 0H422.4c14.1 0 25.6-11.5 25.6-25.6c0-68.9-51.8-125.6-118.6-133.5c-5.8-.7-11.4 2.4-14.4 7.4L252.8 464l0 0-.5 .9 0 0L240 416l20.4-40.8c5.3-10.6-2.4-23.2-14.3-23.2H201.9c-11.9 0-19.6 12.5-14.3 23.2zM139.2 464H50.9c7.2-27 27.3-48.8 53.2-58.5L139.2 464zm257.8 0H308.8l35.1-58.5c25.9 9.7 45.9 31.5 53.2 58.5z\"]\n};\nvar faPianoKeyboard = {\n prefix: 'far',\n iconName: 'piano-keyboard',\n icon: [576, 512, [127929], \"f8d5\", \"M528 224V384c0 8.8-7.2 16-16 16H432V315.7c9.6-5.5 16-15.9 16-27.7V224h80zM400 400H304V315.7c9.6-5.5 16-15.9 16-27.7V224h64v64c0 11.8 6.4 22.2 16 27.7V400zm-128 0H176V315.7c9.6-5.5 16-15.9 16-27.7V224h64v64c0 11.8 6.4 22.2 16 27.7V400zm-128 0H64c-8.8 0-16-7.2-16-16V224h80v64c0 11.8 6.4 22.2 16 27.7V400zM528 176H416 288 160 48V128c0-8.8 7.2-16 16-16H512c8.8 0 16 7.2 16 16v48zm48 0V128c0-35.3-28.7-64-64-64H64C28.7 64 0 92.7 0 128v48 24 24V384c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V224 200 176z\"]\n};\nvar faBedEmpty = {\n prefix: 'far',\n iconName: 'bed-empty',\n icon: [640, 512, [128719], \"f8f9\", \"M48 56c0-13.3-10.7-24-24-24S0 42.7 0 56V184 360v96c0 13.3 10.7 24 24 24s24-10.7 24-24V384H592v80c0 13.3 10.7 24 24 24s24-10.7 24-24V360 280c0-66.3-53.7-120-120-120H48V56zM592 336H48V208H520c39.8 0 72 32.2 72 72v56z\"]\n};\nvar faCircleArrowUp = {\n prefix: 'far',\n iconName: 'circle-arrow-up',\n icon: [512, 512, [\"arrow-circle-up\"], \"f0aa\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM361 223l-88-88c-9.4-9.4-24.6-9.4-33.9 0l-88 88c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47V360c0 13.3 10.7 24 24 24s24-10.7 24-24V209.9l47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9z\"]\n};\nvar faArrowCircleUp = faCircleArrowUp;\nvar faToggleOn = {\n prefix: 'far',\n iconName: 'toggle-on',\n icon: [576, 512, [], \"f205\", \"M192 112c-79.5 0-144 64.5-144 144s64.5 144 144 144H384c79.5 0 144-64.5 144-144s-64.5-144-144-144H192zM0 256C0 150 86 64 192 64H384c106 0 192 86 192 192s-86 192-192 192H192C86 448 0 362 0 256zm384-96a96 96 0 1 1 0 192 96 96 0 1 1 0-192z\"]\n};\nvar faRectangleVertical = {\n prefix: 'far',\n iconName: 'rectangle-vertical',\n icon: [384, 512, [\"rectangle-portrait\"], \"f2fb\", \"M336 448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16L48 64c0-8.8 7.2-16 16-16l256 0c8.8 0 16 7.2 16 16l0 384zM384 64c0-35.3-28.7-64-64-64L64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64l0-384z\"]\n};\nvar faRectanglePortrait = faRectangleVertical;\nvar faPersonWalking = {\n prefix: 'far',\n iconName: 'person-walking',\n icon: [320, 512, [128694, \"walking\"], \"f554\", \"M160 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm11.7 128.8l-29.9 89.8c-1.1 3.2 0 6.6 2.5 8.7l16.4 13.3 32.4-103.8c.1-.3 .2-.7 .3-1c-6.7-3.5-14-5.9-21.7-7.1zm57.6 53.1l-28.5 91.3 50.1 40.7c6.9 5.6 11.7 13.4 13.8 22.1l22.8 98.6c3 12.9-5.1 25.8-18 28.8s-25.8-5.1-28.8-18l-22.1-96L114 312.6C96 297.9 88.9 273.5 96.2 251.4L119 183.1c-24.7 9.8-44.7 28.9-55.6 53.3l-9.5 21.3c-5.4 12.1-19.6 17.6-31.7 12.2s-17.6-19.6-12.2-31.7L19.5 217c17.1-38.5 49.6-68 89.5-81.3c15.3-5.1 31.3-7.7 47.4-7.7h4.9c52.5 0 98.7 34.8 113.2 85.4l10.9 38.1L313 279c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L250 283.9c-4.8-4.8-8.3-10.8-10.2-17.3l-10.5-36.7zM75.5 402.5l24.1-60.4 39 31.7-19.2 48c-2 5-5 9.6-8.9 13.4L41 505c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l68.5-68.5z\"]\n};\nvar faWalking = faPersonWalking;\nvar faL = {\n prefix: 'far',\n iconName: 'l',\n icon: [320, 512, [108], \"4c\", \"M56 32c13.3 0 24 10.7 24 24V432H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H56c-13.3 0-24-10.7-24-24V56c0-13.3 10.7-24 24-24z\"]\n};\nvar faSignalStream = {\n prefix: 'far',\n iconName: 'signal-stream',\n icon: [576, 512, [], \"f8dd\", \"M99.8 69.4c10.2 8.4 11.6 23.6 3.2 33.8C68.6 144.7 48 197.9 48 256s20.6 111.3 55 152.8c8.4 10.2 7 25.3-3.2 33.8s-25.3 7-33.8-3.2C24.8 389.6 0 325.7 0 256S24.8 122.4 66 72.6c8.4-10.2 23.6-11.6 33.8-3.2zm376.5 0c10.2-8.4 25.3-7 33.8 3.2c41.2 49.8 66 113.8 66 183.4s-24.8 133.6-66 183.4c-8.4 10.2-23.6 11.6-33.8 3.2s-11.6-23.6-3.2-33.8c34.3-41.5 55-94.7 55-152.8s-20.6-111.3-55-152.8c-8.4-10.2-7-25.3 3.2-33.8zM248 256a40 40 0 1 1 80 0 40 40 0 1 1 -80 0zm-61.1-78.5C170 199.2 160 226.4 160 256s10 56.8 26.9 78.5c8.1 10.5 6.3 25.5-4.2 33.7s-25.5 6.3-33.7-4.2c-23.2-29.8-37-67.3-37-108s13.8-78.2 37-108c8.1-10.5 23.2-12.3 33.7-4.2s12.3 23.2 4.2 33.7zM427 148c23.2 29.8 37 67.3 37 108s-13.8 78.2-37 108c-8.1 10.5-23.2 12.3-33.7 4.2s-12.3-23.2-4.2-33.7C406 312.8 416 285.6 416 256s-10-56.8-26.9-78.5c-8.1-10.5-6.3-25.5 4.2-33.7s25.5-6.3 33.7 4.2z\"]\n};\nvar faDownToBracket = {\n prefix: 'far',\n iconName: 'down-to-bracket',\n icon: [448, 512, [], \"e4e7\", \"M114.2 192L224 302 333.8 192 280 192c-13.3 0-24-10.7-24-24l0-120-64 0 0 120c0 13.3-10.7 24-24 24l-53.8 0zM224 352c-11.5 0-22.5-4.6-30.6-12.7L77.6 223.2C68.9 214.5 64 202.7 64 190.4c0-25.6 20.8-46.4 46.4-46.4l33.6 0 0-96c0-26.5 21.5-48 48-48l64 0c26.5 0 48 21.5 48 48l0 96 33.6 0c25.6 0 46.4 20.8 46.4 46.4c0 12.3-4.9 24.1-13.6 32.8L254.6 339.3c-8.1 8.1-19.1 12.7-30.6 12.7zM48 344l0 80c0 22.1 17.9 40 40 40l272 0c22.1 0 40-17.9 40-40l0-80c0-13.3 10.7-24 24-24s24 10.7 24 24l0 80c0 48.6-39.4 88-88 88L88 512c-48.6 0-88-39.4-88-88l0-80c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faCircleZ = {\n prefix: 'far',\n iconName: 'circle-z',\n icon: [512, 512, [], \"e130\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM184 128c-13.3 0-24 10.7-24 24s10.7 24 24 24h98.2L164.3 346.3c-5.1 7.3-5.7 16.9-1.5 24.8S175.1 384 184 384H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H229.8L347.7 165.7c5.1-7.3 5.7-16.9 1.5-24.8S336.9 128 328 128H184z\"]\n};\nvar faStars = {\n prefix: 'far',\n iconName: 'stars',\n icon: [512, 512, [], \"f762\", \"M325.8 152.3c1.3 4.6 5.5 7.7 10.2 7.7s8.9-3.1 10.2-7.7L360 104l48.3-13.8c4.6-1.3 7.7-5.5 7.7-10.2s-3.1-8.9-7.7-10.2L360 56 346.2 7.7C344.9 3.1 340.7 0 336 0s-8.9 3.1-10.2 7.7L312 56 263.7 69.8c-4.6 1.3-7.7 5.5-7.7 10.2s3.1 8.9 7.7 10.2L312 104l13.8 48.3zM115.7 346.2L75.5 307l55.5-8.1c15.6-2.3 29.2-12.1 36.1-26.3l24.8-50.3 24.8 50.3c7 14.2 20.5 24 36.1 26.3l55.5 8.1-40.2 39.2c-11.3 11-16.4 26.9-13.8 42.4l9.5 55.4-49.5-26.1c-14-7.4-30.7-7.4-44.7 0L120 444l9.5-55.4c2.7-15.6-2.5-31.4-13.8-42.4zm54.7-188.8l-46.3 94L20.5 266.5C.9 269.3-7 293.5 7.2 307.4l74.9 73.2L64.5 483.9c-3.4 19.6 17.2 34.6 34.8 25.3l92.6-48.8 92.6 48.8c17.6 9.3 38.2-5.7 34.8-25.3L301.6 380.6l74.9-73.2c14.2-13.9 6.4-38.1-13.3-40.9L259.7 251.4l-46.3-94c-8.8-17.9-34.3-17.9-43.1 0zm258.4 85.8l11 38.6c1 3.6 4.4 6.2 8.2 6.2s7.1-2.5 8.2-6.2l11-38.6 38.6-11c3.6-1 6.2-4.4 6.2-8.2s-2.5-7.1-6.2-8.2l-38.6-11-11-38.6c-1-3.6-4.4-6.2-8.2-6.2s-7.1 2.5-8.2 6.2l-11 38.6-38.6 11c-3.6 1-6.2 4.4-6.2 8.2s2.5 7.1 6.2 8.2l38.6 11z\"]\n};\nvar faFire = {\n prefix: 'far',\n iconName: 'fire',\n icon: [448, 512, [128293], \"f06d\", \"M89.3 156.3C113 115 143.2 77 170.5 50.4c18.7 18.7 40.9 47.2 60.1 71.7c3.8 4.8 7.4 9.5 10.9 13.9c4.6 5.8 11.7 9.2 19.1 9.1s14.4-3.6 18.9-9.5c3.3-4.3 7.7-10.8 12.3-17.4c2.6-3.8 5.3-7.6 7.8-11.2c5.6-7.9 10.5-14.5 14.4-19.1c20 20.8 41 53 57.4 88.4c17.7 38.2 28.6 77 28.6 106.3c0 103-78.8 181.4-176 181.4c-98.3 0-176-78.4-176-181.4c0-37.5 16.2-82.4 41.3-126.2zM199.5 11.6C183.3-3.8 158-3.9 141.8 11.5c-32 30.1-67 73.6-94.1 121C20.7 179.5 0 233 0 282.6C0 410.9 98.1 512 224 512c124.6 0 224-100.9 224-229.4c0-39.1-13.9-85.2-33.1-126.5C395.7 114.6 369.8 74.9 343 49c-16.3-15.8-42-15.8-58.3-.1c-7.9 7.6-17 20-24.3 30.3l-1.1 1.6C240.6 57 218.4 29.5 199.5 11.6zM225.7 416c25.3 0 47.7-7 68.8-21c42.1-29.4 53.4-88.2 28.1-134.4c-4.5-9-16-9.6-22.5-2l-25.2 29.3c-6.6 7.6-18.5 7.4-24.7-.5c-16.5-21-46-58.5-62.8-79.8c-6.3-8-18.3-8.1-24.7-.1c-33.8 42.5-50.8 69.3-50.8 99.4C112 375.4 162.6 416 225.7 416z\"]\n};\nvar faBedPulse = {\n prefix: 'far',\n iconName: 'bed-pulse',\n icon: [640, 512, [\"procedures\"], \"f487\", \"M483.2 9.6L524 64h92c13.3 0 24 10.7 24 24s-10.7 24-24 24H512c-7.6 0-14.7-3.6-19.2-9.6L468.7 70.3l-47 99.9c-3.7 7.8-11.3 13.1-19.9 13.7s-16.9-3.4-21.7-10.6L339.2 112H216c-13.3 0-24-10.7-24-24s10.7-24 24-24H352c8 0 15.5 4 20 10.7l24.4 36.6 45.9-97.5C445.9 6.2 453.2 1 461.6 .1s16.6 2.7 21.6 9.5zM288 216c0-27.3 19.5-50 45.4-55l20 30.1c4.7 7 10.8 12.7 17.8 16.9H344c-4.4 0-8 3.6-8 8V368H592V280c0-39.8-32.2-72-72-72H428.8c9.3-5.6 17-13.9 21.8-24.2L461.9 160H520c66.3 0 120 53.7 120 120V392 496c0 13.3-10.7 24-24 24s-24-10.7-24-24V416H312 48v72c0 13.3-10.7 24-24 24s-24-10.7-24-24V392 88C0 74.7 10.7 64 24 64s24 10.7 24 24V368H288V216zm-80 32a40 40 0 1 0 -80 0 40 40 0 1 0 80 0zM80 248a88 88 0 1 1 176 0A88 88 0 1 1 80 248z\"]\n};\nvar faProcedures = faBedPulse;\nvar faHouseDay = {\n prefix: 'far',\n iconName: 'house-day',\n icon: [640, 512, [], \"e00e\", \"M174.2 8.3C171.4 3.2 166-.1 160.1-.1s-11.3 3.2-14.1 8.4L118.4 59.5 62.8 42.8c-5.6-1.7-11.7-.1-15.9 4s-5.7 10.3-4 15.9l16.7 55.7L8.3 146c-5.2 2.8-8.4 8.2-8.4 14.1s3.2 11.3 8.4 14.1l51.2 27.6L42.8 257.4c-1.7 5.6-.1 11.7 4 15.9s10.3 5.7 15.9 4l55.7-16.7 6.2 11.5 24-19.6 14.5-11.8c-1 0-2.1 .1-3.1 .1c-44.2 0-80-35.8-80-80s35.8-80 80-80s80 35.8 80 80c0 6.6-.8 13-2.3 19.2l54.6-44.5-31.7-17.1 16.7-55.7c1.7-5.6 .1-11.7-4-15.9s-10.3-5.7-15.9-4L201.8 59.5 174.2 8.3zM208 160a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm207.2-58.6c-8.8-7.2-21.5-7.2-30.3 0l-216 176c-10.3 8.4-11.8 23.5-3.4 33.8s23.5 11.8 33.8 3.4L224 294.4V456c0 30.9 25.1 56 56 56H520c30.9 0 56-25.1 56-56V294.4l24.8 20.2c10.3 8.4 25.4 6.8 33.8-3.4s6.8-25.4-3.4-33.8l-216-176zM528 255.3V456c0 4.4-3.6 8-8 8H280c-4.4 0-8-3.6-8-8V255.3L400 151 528 255.3zM352 312v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V312c0-13.3-10.7-24-24-24H376c-13.3 0-24 10.7-24 24z\"]\n};\nvar faShuttleSpace = {\n prefix: 'far',\n iconName: 'shuttle-space',\n icon: [640, 512, [\"space-shuttle\"], \"f197\", \"M32 384H24c-13.3 0-24-10.7-24-24V328 184 152c0-13.3 10.7-24 24-24h8V80c0-26.5 21.5-48 48-48h50c40.6 0 80.4 11 115.2 31.9L405.3 160H456c69.3 0 135 22.7 179.2 81.6c6.4 8.5 6.4 20.3 0 28.8C591 329.3 525.3 352 456 352H405.3L245.2 448.1C210.4 469 170.6 480 130 480H80c-26.5 0-48-21.5-48-48V384zm280-32H168c-9.9 13.2-23.9 23.3-40 28.3V432h2c31.9 0 63.2-8.7 90.6-25.1L312 352zm0-192l-91.5-54.9C193.2 88.7 161.9 80 130 80h-2v51.7c16.1 5.1 30.1 15.1 40 28.3H312zM48 184V328v8h56c12.7 0 23.8-7.4 28.9-18.3c4-8.4 12.4-13.7 21.7-13.7H456c32.6 0 62.4-5.8 88-18.5V226.5c-25.6-12.6-55.4-18.5-88-18.5H154.6c-9.3 0-17.7-5.3-21.7-13.7C127.8 183.4 116.7 176 104 176H48v8zm416 40c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V240c0-8.8 7.2-16 16-16z\"]\n};\nvar faSpaceShuttle = faShuttleSpace;\nvar faShirtLongSleeve = {\n prefix: 'far',\n iconName: 'shirt-long-sleeve',\n icon: [640, 512, [], \"e3c7\", \"M188.4 48c-26.3 0-50.4 14.3-63.1 37.3L58.9 206C51.7 219 48 233.6 48 248.4V400H96V248.4c0-13.6 4.5-27.2 9.7-39c5.4-12.1 12.5-24.4 19.7-35.8c6.1-9.6 12.6-19.2 18.4-27.8c1.1-1.6 2.2-3.2 3.2-4.7c6.9-10.2 12.3-18.4 15.9-24.8c5.3-9.6 16.4-14.4 27-11.7s18 12.3 18 23.2V448c0 8.8 7.2 16 16 16H416c8.8 0 16-7.2 16-16V128c0-11 7.4-20.5 18-23.2s21.7 2.1 27 11.7c3.5 6.4 9 14.7 15.9 24.8c1 1.5 2.1 3.1 3.2 4.7c5.9 8.6 12.3 18.2 18.4 27.8c7.2 11.4 14.4 23.7 19.7 35.8c5.2 11.8 9.7 25.4 9.7 39V400h48V248.4c0-14.8-3.7-29.4-10.9-42.4L514.7 85.3C502.1 62.3 477.9 48 451.6 48H444c-.4 0-.9 0-1.3 0c-1 .1-2 0-3 0H421.2c-10.8 45.9-52 80-101.2 80s-90.4-34.1-101.2-80H200.3c-1 .1-2 .1-3 0c-.4 0-.9 0-1.3 0h-7.6zM83.2 62.2C104.3 23.8 144.6 0 188.4 0H196c.8 0 1.5 0 2.3 0c.6 0 1.1 0 1.7 0h24c23 0 37.7 18.2 41.1 35.2C270.3 60.7 292.9 80 320 80s49.7-19.3 54.9-44.8C378.3 18.2 393 0 416 0h24c.6 0 1.1 0 1.7 0c.8 0 1.5 0 2.3 0h7.6c43.8 0 84.1 23.8 105.1 62.2l66.4 120.7c11 20.1 16.8 42.6 16.8 65.5V424c0 13.3-10.7 24-24 24H520c-13.3 0-24-10.7-24-24V248.4c0-3.7-1.4-10.1-5.6-19.4c-2.7-6.2-6.3-12.8-10.4-19.8V448c0 35.3-28.7 64-64 64H224c-35.3 0-64-28.7-64-64V209.2c-4.1 7-7.7 13.6-10.4 19.8c-4.2 9.4-5.6 15.7-5.6 19.4V424c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V248.4c0-22.9 5.8-45.5 16.8-65.5L83.2 62.2z\"]\n};\nvar faChartPieSimple = {\n prefix: 'far',\n iconName: 'chart-pie-simple',\n icon: [512, 512, [\"chart-pie-alt\"], \"f64e\", \"M495.4 240c9 0 16.6-7 16.6-16C512 100.3 411.7 0 288 0c-9 0-16 7.6-16 16.6V240H495.4zM176 288c0 26.5 21.5 48 48 48H421.1C394.7 410.6 323.6 464 240 464C134 464 48 378 48 272c0-83.6 53.4-154.7 128-181.1V288zM224 66.7c0-18.5-15.7-33.3-33.8-29.5C81.5 60.1 0 156.5 0 272C0 404.6 107.5 512 240 512c115.5 0 211.9-81.5 234.8-190.2c3.8-18.1-11-33.8-29.5-33.8H272 224V240 66.7z\"]\n};\nvar faChartPieAlt = faChartPieSimple;\nvar faFaceLaugh = {\n prefix: 'far',\n iconName: 'face-laugh',\n icon: [512, 512, [\"laugh\"], \"f599\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm130.7 57.9c-4.2-13.6 7.1-25.9 21.3-25.9H364.5c14.2 0 25.5 12.4 21.3 25.9C369 368.4 318.2 408 258.2 408s-110.8-39.6-127.5-94.1zM144.4 192a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faLaugh = faFaceLaugh;\nvar faFolderOpen = {\n prefix: 'far',\n iconName: 'folder-open',\n icon: [576, 512, [128194, 128449, 61717], \"f07c\", \"M384 480h48c11.4 0 21.9-6 27.6-15.9l112-192c5.8-9.9 5.8-22.1 .1-32.1S555.5 224 544 224H144c-11.4 0-21.9 6-27.6 15.9L48 357.1V96c0-8.8 7.2-16 16-16H181.5c4.2 0 8.3 1.7 11.3 4.7l26.5 26.5c21 21 49.5 32.8 79.2 32.8H416c8.8 0 16 7.2 16 16v32h48V160c0-35.3-28.7-64-64-64H298.5c-17 0-33.3-6.7-45.3-18.7L226.7 50.7c-12-12-28.3-18.7-45.3-18.7H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H87.7 384z\"]\n};\nvar faAlbumCollectionCircleUser = {\n prefix: 'far',\n iconName: 'album-collection-circle-user',\n icon: [640, 512, [], \"e48f\", \"M56 0H456c13.3 0 24 10.7 24 24s-10.7 24-24 24H56C42.7 48 32 37.3 32 24S42.7 0 56 0zM6.2 232.3C1.1 194 30.9 160 69.6 160H442.4c23.9 0 44.4 13 55.4 32l-1.8 0c-26.2 0-51.1 5.7-73.4 16H69.6c-9.7 0-17.1 8.5-15.9 18.1l29.5 224c1 8 7.8 13.9 15.9 13.9H348.5c12.3 18.8 28 35.1 46.3 48H99.1c-32.1 0-59.3-23.8-63.5-55.7L6.2 232.3zM256 232c38.9 0 74.2 11.1 100.1 29.2C333.4 290.8 320 327.8 320 368c0 20.1 3.4 39.4 9.6 57.4C308 434.7 282.9 440 256 440c-79.5 0-144-46.6-144-104s64.5-104 144-104zM16 104c0-13.3 10.7-24 24-24H472c13.3 0 24 10.7 24 24s-10.7 24-24 24H40c-13.3 0-24-10.7-24-24zM256 368c17.7 0 32-10.7 32-24s-14.3-24-32-24s-32 10.7-32 24s14.3 24 32 24zm96 0a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm221.7 80.7c-6.2-19-24-32.7-45.1-32.7H463.4c-21 0-38.9 13.7-45.1 32.7C438.5 468.1 465.8 480 496 480s57.5-11.9 77.7-31.3zM544 336a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nvar faCandy = {\n prefix: 'far',\n iconName: 'candy',\n icon: [640, 512, [127852], \"e3e7\", \"M309 399.6L198.5 178.7C184.3 201 176 227.5 176 256c0 75.8 58.6 137.9 133 143.6zM233.3 141L360 394.4c17.1-4.9 32.8-12.9 46.7-23.4L280 117.6c-17.1 4.9-32.8 12.9-46.7 23.4zM331 112.4L441.5 333.3C455.7 311 464 284.5 464 256c0-75.8-58.6-137.9-133-143.6zM320 64c88 0 162.1 59.1 184.8 139.8l91.9-49c10.5-5.6 23.5-2.7 30.6 6.9s6.1 22.9-2.3 31.3l-29.6 29.6 29.1 10.9C633.8 237 640 246 640 256s-6.2 19-15.6 22.5l-29.1 10.9L625 319c8.4 8.4 9.4 21.7 2.3 31.3s-20.1 12.5-30.6 6.9l-91.9-49C482.1 388.9 408 448 320 448s-162.1-59.1-184.8-139.8l-91.9 49c-10.5 5.6-23.5 2.7-30.6-6.9S6.6 327.4 15 319l29.6-29.6L15.6 278.5C6.2 275 0 266 0 256s6.2-19 15.6-22.5l29.1-10.9L15 193c-8.4-8.4-9.4-21.7-2.3-31.3s20.1-12.5 30.6-6.9l91.9 49C157.9 123.1 232 64 320 64z\"]\n};\nvar faBowlHot = {\n prefix: 'far',\n iconName: 'bowl-hot',\n icon: [512, 512, [\"soup\"], \"f823\", \"M152 0c13.3 0 24 10.7 24 24v8c0 17.6 8.3 34.2 22.4 44.8C224.6 96.4 240 127.3 240 160v8c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8c0-17.6-8.3-34.2-22.4-44.8C143.4 95.6 128 64.7 128 32V24c0-13.3 10.7-24 24-24zm-.5 432.5c11.5 5.2 20.4 14.7 25 26.4c1.2 3.1 4.2 5.1 7.5 5.1H328c3.3 0 6.3-2 7.5-5.1c4.5-11.7 13.5-21.2 25-26.4C421.6 404.8 464 343.3 464 272H48c0 71.3 42.4 132.8 103.5 160.5zM0 272c0-26.5 21.5-48 48-48H464c26.5 0 48 21.5 48 48c0 90.8-54.1 169-131.7 204.2c-8.1 21-28.4 35.8-52.3 35.8H184c-23.8 0-44.2-14.9-52.3-35.8C54.1 441 0 362.8 0 272zM304 24v8c0 17.6 8.3 34.2 22.4 44.8C352.6 96.4 368 127.3 368 160v8c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8c0-17.6-8.3-34.2-22.4-44.8C271.4 95.6 256 64.7 256 32V24c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faSoup = faBowlHot;\nvar faFlatbread = {\n prefix: 'far',\n iconName: 'flatbread',\n icon: [512, 512, [129747], \"e40b\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm361-71L185 361c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L327 151c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9zM241 111c9.4 9.4 9.4 24.6 0 33.9l-96 96c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l96-96c9.4-9.4 24.6-9.4 33.9 0zM401 305l-96 96c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l96-96c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\"]\n};\nvar faHeartCirclePlus = {\n prefix: 'far',\n iconName: 'heart-circle-plus',\n icon: [576, 512, [], \"e500\", \"M225.8 468.2l-2.5-2.3L48.1 303.2C17.4 274.7 0 234.7 0 192.8v-3.3c0-70.4 50-130.8 119.2-144C158.6 37.9 198.9 47 231 69.6c9 6.4 17.4 13.8 25 22.3c4.2-4.8 8.7-9.2 13.5-13.3c3.7-3.2 7.5-6.2 11.5-9l0 0C313.1 47 353.4 37.9 392.8 45.4C462 58.6 512 119.1 512 189.5v3.3c0 6-.4 12-1.1 17.9c-14.6-7.3-30.4-12.7-47-15.8c0-.7 0-1.4 0-2.1v-3.3c0-47.3-33.6-88-80.1-96.9c-34-6.5-69 5.4-92 31.2l-.1 .1-.1 .1-17.8 20c-.3 .4-.7 .7-1 1.1c-4.5 4.5-10.6 7-16.9 7s-12.4-2.5-16.9-7c-.4-.3-.7-.7-1-1.1l-17.8-20-.1-.1 0 0c-23.1-25.9-58-37.7-92-31.2C81.6 101.5 48 142.1 48 189.5v3.3c0 28.5 11.9 55.8 32.8 75.2L256 430.7l8.7-8c5.3 16.1 12.8 31.2 22.2 44.9l-.6 .6c-8.2 7.6-19 11.9-30.2 11.9s-22-4.2-30.2-11.9zM432 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm16 80c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H368c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v48c0 8.8 7.2 16 16 16s16-7.2 16-16V384h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H448V304z\"]\n};\nvar faCodeFork = {\n prefix: 'far',\n iconName: 'code-fork',\n icon: [448, 512, [], \"e13b\", \"M80 112a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm80-32c0 35.8-23.5 66.1-56 76.3V192c0 22.1 17.9 40 40 40H304c22.1 0 40-17.9 40-40V156.3c-32.5-10.2-56-40.5-56-76.3c0-44.2 35.8-80 80-80s80 35.8 80 80c0 35.8-23.5 66.1-56 76.3V192c0 48.6-39.4 88-88 88H248v75.7c32.5 10.2 56 40.5 56 76.3c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-35.8 23.5-66.1 56-76.3V280H144c-48.6 0-88-39.4-88-88V156.3C23.5 146.1 0 115.8 0 80C0 35.8 35.8 0 80 0s80 35.8 80 80zm208 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM256 432a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faCity = {\n prefix: 'far',\n iconName: 'city',\n icon: [640, 512, [127961], \"f64f\", \"M104 0C90.7 0 80 10.7 80 24V64H72C32.2 64 0 96.2 0 136V440c0 39.8 32.2 72 72 72H240c-10-13.4-16-30-16-48H72c-13.3 0-24-10.7-24-24V136c0-13.3 10.7-24 24-24h8 48 48 48V64 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H128V24c0-13.3-10.7-24-24-24zM464 160c0 26.5 21.5 48 48 48h64c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H448 320c-8.8 0-16-7.2-16-16V224 64c0-8.8 7.2-16 16-16H448c8.8 0 16 7.2 16 16v96zm48-48V64c0-35.3-28.7-64-64-64H320c-35.3 0-64 28.7-64 64V224 448c0 35.3 28.7 64 64 64H448 576c35.3 0 64-28.7 64-64V224c0-35.3-28.7-64-64-64H560 512V112zM352 336c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16v32zM368 96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H368zM352 240c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16v32zM496 416h32c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16H496c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16zM480 304c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H496c-8.8 0-16 7.2-16 16v32zM112 320h32c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H112c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16zM96 400c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16H112c-8.8 0-16 7.2-16 16v32zm16-176h32c8.8 0 16-7.2 16-16V176c0-8.8-7.2-16-16-16H112c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16z\"]\n};\nvar faSignalBarsWeak = {\n prefix: 'far',\n iconName: 'signal-bars-weak',\n icon: [640, 512, [\"signal-alt-1\"], \"f691\", \"M96 448a16 16 0 1 1 -32 0 16 16 0 1 1 32 0zM80 384a64 64 0 1 0 0 128 64 64 0 1 0 0-128z\"]\n};\nvar faSignalAlt1 = faSignalBarsWeak;\nvar faMicrophoneLines = {\n prefix: 'far',\n iconName: 'microphone-lines',\n icon: [384, 512, [127897, \"microphone-alt\"], \"f3c9\", \"M240 128v32H208c-8.8 0-16 7.2-16 16s7.2 16 16 16h32v32H208c-8.8 0-16 7.2-16 16s7.2 16 16 16h32c0 26.5-21.5 48-48 48s-48-21.5-48-48V96c0-26.5 21.5-48 48-48s48 21.5 48 48H208c-8.8 0-16 7.2-16 16s7.2 16 16 16h32zM96 96V256c0 53 43 96 96 96s96-43 96-96V96c0-53-43-96-96-96S96 43 96 96zM64 216c0-13.3-10.7-24-24-24s-24 10.7-24 24v40c0 89.1 66.2 162.7 152 174.4V464H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h72 72c13.3 0 24-10.7 24-24s-10.7-24-24-24H216V430.4c85.8-11.7 152-85.3 152-174.4V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v40c0 70.7-57.3 128-128 128s-128-57.3-128-128V216z\"]\n};\nvar faMicrophoneAlt = faMicrophoneLines;\nvar faClockTwelve = {\n prefix: 'far',\n iconName: 'clock-twelve',\n icon: [512, 512, [], \"e358\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM280 120V256c0 13.3-10.7 24-24 24s-24-10.7-24-24V120c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faPepperHot = {\n prefix: 'far',\n iconName: 'pepper-hot',\n icon: [512, 512, [127798], \"f816\", \"M428.3 3c11.6-6.4 26.2-2.3 32.6 9.3l4.8 8.7c19.3 34.7 19.8 75.7 3.4 110C495.8 159.6 512 197.9 512 240c0 18.5-3.1 36.3-8.9 52.8c-6.1 17.3-28.5 16.3-36.8-.1l-11.7-23.4c-4.1-8.1-12.4-13.3-21.5-13.3H360c-13.3 0-24-10.7-24-24V152c0-13.3-10.7-24-24-24l-17.1 0c-21.3 0-30-23.9-10.8-32.9C304.7 85.4 327.7 80 352 80c28.3 0 54.8 7.3 77.8 20.2c5.5-18.2 3.7-38.4-6-55.8L419 35.7c-6.4-11.6-2.3-26.2 9.3-32.6zm-256 302.7L261.7 160l42.3 0v22.8l-90.7 148c-24.9 40.7-65.3 69.5-111.9 79.8L66 418.5c-10.5 2.3-18 11.7-18 22.5c0 12.7 10.3 23 23 23h32.1c133.7 0 254.1-68.7 323.6-176h1.4l23.9 47.8C372.3 443.9 244.3 512 103.2 512H71c-39.2 0-71-31.8-71-71c0-33.3 23.1-62.1 55.6-69.3L91 363.8c33.9-7.5 63.2-28.5 81.4-58.1z\"]\n};\nvar faCitrusSlice = {\n prefix: 'far',\n iconName: 'citrus-slice',\n icon: [512, 512, [], \"e2f5\", \"M7 391c-4.5 4.5-7 10.6-7 17s2.5 12.5 7 17c115.6 115.6 302.6 116 418.3 .3S540.5 122.6 425 7c-9.4-9.4-24.6-9.4-33.9 0L7 391zm384.3 .3c-91.1 91.1-235.2 96.2-332.6 15.8l22.4-22.4C118.1 414.3 165 432 216 432c119.3 0 216-96.7 216-216c0-51-17.7-97.9-47.2-134.8l22.4-22.4c80.4 97.4 75.3 241.5-15.8 332.6zm-40.8-276c13.3 17.8 23.2 38.3 28.7 60.6H289.9l60.6-60.6zM272 208H383.8c.1 2.7 .2 5.3 .2 8c0 40.6-14.4 77.9-38.4 106.9l-82.4-82.4c5.9-10 8.9-21.3 8.9-32.5zm-31.5 55.1l82.4 82.4C293.9 369.6 256.6 384 216 384c-2.7 0-5.3-.1-8-.2V272c11.3 0 22.5-3 32.5-8.9zM115.4 350.6L176 289.9v89.3c-22.3-5.4-42.8-15.3-60.6-28.7z\"]\n};\nvar faSheep = {\n prefix: 'far',\n iconName: 'sheep',\n icon: [640, 512, [128017], \"f711\", \"M384 135.8V208c0 44.2 35.8 80 80 80h32c44.2 0 80-35.8 80-80V135.8l14.5 6.2c12.2 5.2 26.3-.4 31.5-12.6s-.4-26.3-12.6-31.5L561.6 77.4C544.7 50.2 514.5 32 480 32s-64.7 18.2-81.6 45.4L350.5 97.9c-12.2 5.2-17.8 19.3-12.6 31.5s19.3 17.8 31.5 12.6l14.5-6.2zm80-7.8a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm-203.1-1l-.4-.9c-6.9-16.1-5.7-33.5 1.8-47.9c-7.4-11.8-18.5-21-31.7-26C271.6 65.5 264 64 256 64c-19.2 0-36.5 8.5-48.2 21.9C196.9 77.2 183 72 168 72c-30.1 0-55.3 20.8-62.2 48.8c-3.2-.5-6.5-.8-9.8-.8c-35.3 0-64 28.7-64 64c0 5.3 .7 10.5 1.9 15.5C13.7 210.3 0 231.5 0 256s13.7 45.7 33.9 56.5c-1.2 5-1.9 10.2-1.9 15.5c0 35.3 28.7 64 64 64c.5 0 1 0 1.5 0l17.6 93.9c2.8 15.1 16.1 26.1 31.5 26.1H176c17.7 0 32-14.3 32-32V426.3c11.7 13.3 28.9 21.7 48 21.7s36.3-8.4 48-21.7V480c0 17.7 14.3 32 32 32h29.4c15.4 0 28.6-11 31.4-26.1L414.5 392c.5 0 1 0 1.5 0c35.3 0 64-28.7 64-64c0-2.7-.2-5.4-.5-8H464c-11.8 0-23.2-1.8-33.8-5.2c.2 3.1 .6 6.2 1.4 9.3c.3 1.2 .5 2.5 .5 3.9c0 8.8-7.2 16-16 16c-.9 0-1.7-.1-2.5-.2c-24.6-3.8-48 11.9-53.9 36c-1.7 7-8.1 12.1-15.5 12.1c-3.8 0-7.2-1.3-9.9-3.4c-20.1-16-49.1-13.3-66 6c-3 3.4-7.3 5.5-12.1 5.5s-9.1-2.1-12.1-5.5c-16.9-19.3-45.9-21.9-66-6c-2.7 2.2-6.1 3.4-9.9 3.4c-7.5 0-13.8-5.1-15.5-12.1c-5.9-24.2-29.3-39.8-53.9-36c-.8 .1-1.6 .2-2.5 .2c-8.8 0-16-7.2-16-16c0-1.4 .2-2.7 .5-3.9c5.3-21.3-4.6-43.6-24-53.9C51.3 267.4 48 262 48 256s3.3-11.4 8.5-14.2c19.4-10.4 29.3-32.6 24-53.9c-.3-1.2-.5-2.5-.5-3.9c0-8.8 7.2-16 16-16c.9 0 1.7 .1 2.5 .2c24.6 3.8 48-11.9 53.9-36c1.7-7 8.1-12.1 15.5-12.1c3.8 0 7.2 1.3 9.9 3.5c20.1 16 49.1 13.3 66-6c3-3.4 7.3-5.5 12.1-5.5c5.8 0 10.9 3 13.7 7.8c8 13.3 22 21.9 37.4 23.1c.6 0 1.2 .1 1.7 .1z\"]\n};\nvar faUnlock = {\n prefix: 'far',\n iconName: 'unlock',\n icon: [448, 512, [128275], \"f09c\", \"M144 128c0-44.2 35.8-80 80-80c35.6 0 65.8 23.2 76.1 55.4c4.1 12.6 17.6 19.5 30.2 15.5s19.5-17.6 15.5-30.2C329.2 37.2 281 0 224 0C153.3 0 96 57.3 96 128v64H64c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V256c0-35.3-28.7-64-64-64H144V128zM48 256c0-8.8 7.2-16 16-16H384c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V256z\"]\n};\nvar faColonSign = {\n prefix: 'far',\n iconName: 'colon-sign',\n icon: [384, 512, [], \"e140\", \"M255.3 29.6c3.1-12.9-4.8-25.9-17.7-29s-25.9 4.8-29 17.7l-13.5 56C103.6 88.3 32 163.2 32 256c0 63 33 117.8 82.9 150.8L96.7 482.4c-3.1 12.9 4.8 25.9 17.7 29s25.9-4.8 29-17.7L159 428.7c9.3 3.2 18.9 5.8 28.8 7.7l-11.1 46c-3.1 12.9 4.8 25.9 17.7 29s25.9-4.8 29-17.7l13-53.9c39.3-2 75.7-15.1 105.5-36.1c10.8-7.7 13.4-22.6 5.7-33.5s-22.6-13.4-33.5-5.7c-18.8 13.3-41.3 22.5-65.9 26l59.6-247c2.1 1.3 4.2 2.7 6.3 4.2c10.8 7.7 25.8 5.1 33.5-5.7s5.1-25.8-5.7-33.5c-7.1-5-14.5-9.5-22.3-13.6l15.7-65.2c3.1-12.9-4.8-25.9-17.7-29s-25.9 4.8-29 17.7L274.3 77.8c-9.6-2.3-19.4-4-29.4-4.9l10.4-43.2zm-72.7 96.4l-55.5 230C98 331 80 295.1 80 256c0-60.1 42.5-112.6 102.7-129.9zM170.3 381.8l63.2-261.6c10.2 .5 20.1 1.9 29.6 4.2L199 389.7c-10-1.7-19.6-4.4-28.7-7.9z\"]\n};\nvar faHeadset = {\n prefix: 'far',\n iconName: 'headset',\n icon: [512, 512, [], \"f590\", \"M48 256C48 141.1 141.1 48 256 48s208 93.1 208 208V400.1c0 22.1-17.9 40-40 40L313.6 440c-8.3-14.4-23.8-24-41.6-24H240c-26.5 0-48 21.5-48 48s21.5 48 48 48h32c17.8 0 33.3-9.7 41.6-24l110.4 .1c48.6 0 88.1-39.4 88.1-88V256C512 114.6 397.4 0 256 0S0 114.6 0 256v40c0 13.3 10.7 24 24 24s24-10.7 24-24V256zm112-32V336c-17.7 0-32-14.3-32-32V256c0-17.7 14.3-32 32-32zM80 256v48c0 44.2 35.8 80 80 80h16c17.7 0 32-14.3 32-32V208c0-17.7-14.3-32-32-32H160c-44.2 0-80 35.8-80 80zm272-32c17.7 0 32 14.3 32 32v48c0 17.7-14.3 32-32 32V224zm80 32c0-44.2-35.8-80-80-80H336c-17.7 0-32 14.3-32 32V352c0 17.7 14.3 32 32 32h16c44.2 0 80-35.8 80-80V256z\"]\n};\nvar faBadgerHoney = {\n prefix: 'far',\n iconName: 'badger-honey',\n icon: [640, 512, [129441], \"f6b4\", \"M465 112c16.9 0 33.6 3.7 49 10.9L559.2 144H486.9c-49.3 0-97.7 13.4-139.9 38.8l-69.4 41.7c-17 10.2-36.4 15.6-56.2 15.6c-55.4 0-101.1-41.2-108.3-94.6c4.9-.9 9.9-1.4 15-1.4H332.2c27.3 0 54.1-6.3 78.5-18.5l2.5-1.2c16.1-8 33.8-12.2 51.8-12.2zm126.8 64c-.6 4.7-2.8 9-6.1 12.4L583 191l16.4 16.4L583 191c-5.5 5.5-13.8 9.2-23.9 10.1c-67.9 6.4-128.1 37.5-169.4 67.9c-7.8 5.7-11.4 15.6-9.1 25c0 .2 .1 .4 .1 .6l0 0 21.3 128c.8 4.9-2.9 9.3-7.9 9.3H363.1c-3.9 0-7.2-2.8-7.9-6.7L338.3 324.1c-1.9-11.6-11.9-20.1-23.7-20.1H204.6c-9.6 0-18.3 5.7-22.1 14.5l-16 37.3c-5.2 12.1-5.9 25.6-2.2 38.2l8.3 27.7c1.5 5.1-2.3 10.3-7.7 10.3H135.8c-3.5 0-6.6-2.3-7.7-5.7L115 382.6c-1.3-4.4-1.3-9.1-.1-13.5l10.7-37.6c1.8-6.2 1-13-2.3-18.6s-8.6-9.7-14.9-11.3C73.7 292.9 48 261.4 48 224c0-27.3 13.7-51.5 34.7-65.9C95.4 223 152.6 272 221.3 272c25.6 0 50.7-7 72.7-20.1l69.4-41.7c33.2-19.9 70.6-31.5 109.1-33.8c2 8.9 10 15.6 19.5 15.6c9.7 0 17.7-6.9 19.6-16h80.2zM48 323.9c7.8 6.2 16.3 11.6 25.4 15.9l-4.6 16.1c-3.8 13.2-3.7 27.3 .3 40.5l13.1 43.7c7.1 23.7 28.9 39.9 53.6 39.9H165c37.5 0 64.4-36.2 53.6-72.1l-8.3-27.7c-.5-1.8-.4-3.7 .3-5.4l9.8-22.8h73.9l13.5 81.2c4.5 27 27.9 46.8 55.2 46.8h31.1c34.6 0 60.9-31.1 55.2-65.2L430.2 299.3c28.6-19.1 64.3-36.8 103.4-45.6l19.6 31.4c3.1 5 10.4 5 13.6 0l27.8-44.5c8.1-3.8 15.7-9 22.4-15.7l2.6-2.6c13.1-13.1 20.4-30.8 20.4-49.3c0-27.1-15.7-51.7-40.2-63.1L534.2 79.4C512.6 69.2 488.9 64 465 64c-25.4 0-50.5 5.9-73.2 17.3l-2.5 1.2C371.6 91.4 352 96 332.2 96H128C57.3 96 0 153.3 0 224V328c0 13.3 10.7 24 24 24s24-10.7 24-24v-4.1z\"]\n};\nvar faH4 = {\n prefix: 'far',\n iconName: 'h4',\n icon: [640, 512, [], \"f86a\", \"M455.5 92.9L421.5 256H592V88c0-13.3 10.7-24 24-24s24 10.7 24 24V424c0 13.3-10.7 24-24 24s-24-10.7-24-24V304H392c-7.2 0-14.1-3.3-18.6-8.9s-6.3-13-4.9-20l40-192c2.7-13 15.4-21.3 28.4-18.6s21.3 15.4 18.6 28.4zM24 64c13.3 0 24 10.7 24 24V224H272V88c0-13.3 10.7-24 24-24s24 10.7 24 24V248 424c0 13.3-10.7 24-24 24s-24-10.7-24-24V272H48V424c0 13.3-10.7 24-24 24s-24-10.7-24-24V248 88C0 74.7 10.7 64 24 64z\"]\n};\nvar faStoreSlash = {\n prefix: 'far',\n iconName: 'store-slash',\n icon: [640, 512, [], \"e071\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-86.8-68V384 336 252.6c-4 1-8 1.8-12.3 2.3l-.1 0c-5.3 .7-10.7 1.1-16.2 1.1c-6.6 0-13.1-.5-19.4-1.6V336H461L301.2 210.7c1.9-1.2 3.7-2.4 5.5-3.7c4.8-3.5 9.2-7.6 13.2-12c4 4.4 8.4 8.4 13.2 11.9c14.5 10.6 32.4 17 52 17c19.8 0 37.8-6.5 52.3-17.3c4.7-3.5 9-7.4 12.9-11.7c3.9 4.3 8.3 8.3 13 11.8c14.5 10.7 32.5 17.2 52.2 17.2c4.1 0 8.1-.3 12.1-.8c55.5-7.4 81.8-72.5 52.1-119.4L522.3 13.1C517.2 5 508.1 0 498.4 0H141.6c-9.7 0-18.8 5-23.9 13.1l-22.7 36L38.8 5.1zm94.1 73.7L152.4 48H487.6l51.5 81.5 0 0c5.8 9.2 6.4 20.5 2.3 30.1c-3.9 9.2-11.1 14.8-20.1 16c-2 .3-3.9 .4-5.8 .4c-11.7 0-22.2-5.1-29.7-13.2c-9.1-10-22-15.7-35.6-15.7s-26.5 5.8-35.5 15.8c-7.3 8.1-17.7 13.2-29.6 13.2c-11.8 0-22.3-5.1-29.6-13.2c-9.1-10.1-22-15.8-35.6-15.8s-26.5 5.7-35.6 15.8c-6.9 7.6-16.5 12.5-27.5 13.1L132.9 78.9zm382 422.8L467.1 464H160c-8.8 0-16-7.2-16-16V384H365.5l-60.9-48H144V254.4c-6.4 1.1-12.9 1.6-19.6 1.6c-5.5 0-11-.4-16.3-1.1l-.1 0c-4.1-.6-8.1-1.3-12-2.3V336v48 64c0 35.3 28.7 64 64 64H480c12.9 0 24.8-3.8 34.9-10.3zM155.3 218.4L48.9 134.5c-6.1 40.6 19.5 82.8 63.3 88.7c4 .5 8.1 .8 12.1 .8c11 0 21.4-2 31-5.6z\"]\n};\nvar faRoadCircleXmark = {\n prefix: 'far',\n iconName: 'road-circle-xmark',\n icon: [640, 512, [], \"e566\", \"M217.7 32c-30.4 0-57.5 19-67.7 47.6L40.6 383.6C23.7 430.5 58.4 480 108.3 480H360.2c-21.9-26.6-36.2-59.7-39.5-96c-.2 0-.5 0-.7 0c-13.3 0-24 10.7-24 24v24H108.3c-16.6 0-28.2-16.5-22.6-32.1l109.4-304c3.4-9.5 12.5-15.9 22.6-15.9H296v24c0 13.3 10.7 24 24 24s24-10.7 24-24V80h78.3c10.1 0 19.2 6.3 22.6 15.9l34.9 96.9c5.4-.5 10.8-.7 16.3-.7c12.3 0 24.2 1.3 35.8 3.6L490 79.6C479.7 51 452.6 32 422.3 32H217.7zM326.9 319c4.1-14.1 9.8-27.4 17.1-39.8V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v80c0 13.3 10.7 24 24 24c2.4 0 4.7-.4 6.9-1zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm22.6-144l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L496 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L473.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L496 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L518.6 368z\"]\n};\nvar faSignalSlash = {\n prefix: 'far',\n iconName: 'signal-slash',\n icon: [640, 512, [], \"f695\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L600 445V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V407.3l-80-62.7V120c0-13.3-10.7-24-24-24s-24 10.7-24 24V307l-80-62.7V216c0-13.3-10.7-24-24-24c-10.4 0-19.2 6.6-22.6 15.8L38.8 5.1zM576 512l-.2 0h.5l-.2 0zM472 488V467.9l-48-37.8V488c0 13.3 10.7 24 24 24s24-10.7 24-24zM344 367l-48-37.8V488c0 13.3 10.7 24 24 24s24-10.7 24-24V367zM192 288c-13.3 0-24 10.7-24 24V488c0 13.3 10.7 24 24 24s24-10.7 24-24V312c0-13.3-10.7-24-24-24zM64 384c-13.3 0-24 10.7-24 24v80c0 13.3 10.7 24 24 24s24-10.7 24-24V408c0-13.3-10.7-24-24-24z\"]\n};\nvar faUserMinus = {\n prefix: 'far',\n iconName: 'user-minus',\n icon: [640, 512, [], \"f503\", \"M224 48a80 80 0 1 1 0 160 80 80 0 1 1 0-160zm0 208A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 96h91.4c65.7 0 120.1 48.7 129 112H49.3c8.9-63.3 63.3-112 129-112zm0-48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304H178.3zM472 200c-13.3 0-24 10.7-24 24s10.7 24 24 24H616c13.3 0 24-10.7 24-24s-10.7-24-24-24H472z\"]\n};\nvar faMarsStrokeUp = {\n prefix: 'far',\n iconName: 'mars-stroke-up',\n icon: [320, 512, [9896, \"mars-stroke-v\"], \"f22a\", \"M175.6 5.8c-9-7.7-22.3-7.7-31.2 0l-56 48c-10.1 8.6-11.2 23.8-2.6 33.8s23.8 11.2 33.8 2.6l16.4-14V128H104c-13.3 0-24 10.7-24 24s10.7 24 24 24h32v17.8C59 205.4 0 271.8 0 352c0 88.4 71.6 160 160 160s160-71.6 160-160c0-80.2-59-146.6-136-158.2V176h32c13.3 0 24-10.7 24-24s-10.7-24-24-24H184V76.2l16.4 14c10.1 8.6 25.2 7.5 33.8-2.6s7.5-25.2-2.6-33.8l-56-48zM160 240a112 112 0 1 1 0 224 112 112 0 1 1 0-224z\"]\n};\nvar faMarsStrokeV = faMarsStrokeUp;\nvar faChampagneGlasses = {\n prefix: 'far',\n iconName: 'champagne-glasses',\n icon: [640, 512, [129346, \"glass-cheers\"], \"f79f\", \"M159.2 12.6c5.7-10.5 18.1-15.2 29.3-11.1L320 49.3 451.5 1.5c11.2-4.1 23.7 .7 29.3 11.1l81.6 151c32.4 60.1 10.6 133.3-45.6 167L552.6 429l55.2-20.1c12.5-4.5 26.2 1.9 30.8 14.3s-1.9 26.2-14.3 30.8l-77.8 28.3-77.8 28.3c-12.5 4.5-26.2-1.9-30.8-14.3s1.9-26.2 14.3-30.8l55.2-20.1-35.8-98.5c-61.2 9.4-121.7-29.6-136.3-92.5L320 188.6l-15.3 65.8c-14.6 62.9-75.1 101.9-136.3 92.5l-35.8 98.5 55.2 20.1c12.5 4.5 18.9 18.3 14.3 30.8s-18.3 18.9-30.8 14.3L93.6 482.3 15.8 454C3.3 449.4-3.1 435.7 1.5 423.2s18.3-18.9 30.8-14.3L87.4 429l35.8-98.4c-56.2-33.7-78.1-106.9-45.6-167l81.6-151zm32.4 41L156.8 118 277 161.7l16.5-71L191.6 53.6zM119.8 186.4c-22.4 41.5-2.8 93.3 41.6 109.4c41.3 15 86.5-9.4 96.5-52.3l8.1-34.7L133.7 160.7l-13.9 25.7zM448.4 53.6L346.5 90.7l16.5 71L483.2 118 448.4 53.6zm71.7 132.7l-13.9-25.7L374 208.8l8.1 34.7c10 42.9 55.2 67.3 96.5 52.3c44.3-16.1 64-67.9 41.6-109.4z\"]\n};\nvar faGlassCheers = faChampagneGlasses;\nvar faTaco = {\n prefix: 'far',\n iconName: 'taco',\n icon: [512, 512, [127790], \"f826\", \"M274.8 38.4c-11-8.6-26.5-8.6-37.5 0L193.1 72.6c-5.6 4.4-12.6 6.6-19.7 6.4l-55.8-1.7c-14-.4-26.5 8.6-30.4 22.1L71.7 152.9c-2 6.8-6.3 12.8-12.2 16.8L13.4 201C1.9 208.9-2.9 223.6 1.8 236.7l17.1 47.7C70.9 209.2 157.7 160 256 160s185.1 49.2 237.1 124.4l17.1-47.7c4.7-13.1 0-27.8-11.6-35.7l-46.1-31.4c-5.9-4-10.2-9.9-12.2-16.8L424.7 99.3c-3.9-13.4-16.4-22.5-30.4-22.1L338.6 79c-7.1 .2-14.1-2-19.7-6.4L274.8 38.4zM256 240c109.5 0 199.2 84.6 207.4 192H48.6C56.8 324.6 146.5 240 256 240zM32 480H480c17.7 0 32-14.3 32-32c0-141.4-114.6-256-256-256S0 306.6 0 448c0 17.7 14.3 32 32 32zM168 368a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm40-40a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faHexagonPlus = {\n prefix: 'far',\n iconName: 'hexagon-plus',\n icon: [512, 512, [\"plus-hexagon\"], \"f300\", \"M17.1 292c-12.9-22.3-12.9-49.7 0-72L105.4 67.1c12.9-22.3 36.6-36 62.4-36H344.3c25.7 0 49.5 13.7 62.4 36L494.9 220c12.9 22.3 12.9 49.7 0 72L406.6 444.9c-12.9 22.3-36.6 36-62.4 36H167.7c-25.7 0-49.5-13.7-62.4-36L17.1 292zm41.6-48c-4.3 7.4-4.3 16.6 0 24l88.3 152.9c4.3 7.4 12.2 12 20.8 12H344.3c8.6 0 16.5-4.6 20.8-12L453.4 268c4.3-7.4 4.3-16.6 0-24L365.1 91.1c-4.3-7.4-12.2-12-20.8-12l-176.6 0c-8.6 0-16.5 4.6-20.8 12L58.6 244zM232 344V280H168c-13.3 0-24-10.7-24-24s10.7-24 24-24h64V168c0-13.3 10.7-24 24-24s24 10.7 24 24v64h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H280v64c0 13.3-10.7 24-24 24s-24-10.7-24-24z\"]\n};\nvar faPlusHexagon = faHexagonPlus;\nvar faClipboard = {\n prefix: 'far',\n iconName: 'clipboard',\n icon: [384, 512, [128203], \"f328\", \"M280 64h40c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128C0 92.7 28.7 64 64 64h40 9.6C121 27.5 153.3 0 192 0s71 27.5 78.4 64H280zM64 112c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H320c8.8 0 16-7.2 16-16V128c0-8.8-7.2-16-16-16H304v24c0 13.3-10.7 24-24 24H192 104c-13.3 0-24-10.7-24-24V112H64zm128-8a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faHouseCircleExclamation = {\n prefix: 'far',\n iconName: 'house-circle-exclamation',\n icon: [640, 512, [], \"e50a\", \"M303.5 5.7c-9-7.6-22.1-7.6-31.1 0l-264 224c-10.1 8.6-11.3 23.7-2.8 33.8s23.7 11.3 33.8 2.8L64 245.5V432c0 44.2 35.8 80 80 80H394.8c-18.3-12.9-34.1-29.2-46.3-48H336v0H240V320h86.6c4.8-17.1 12.2-33.2 21.7-47.8c-1.4-.2-2.9-.2-4.3-.2H232c-22.1 0-40 17.9-40 40V464H144c-17.7 0-32-14.3-32-32V204.8L288 55.5 454.7 196.9c13.3-3.2 27.1-4.9 41.3-4.9c10.3 0 20.3 .9 30.1 2.6L303.5 5.7zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-144c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V288c0-8.8 7.2-16 16-16z\"]\n};\nvar faFileArrowUp = {\n prefix: 'far',\n iconName: 'file-arrow-up',\n icon: [384, 512, [\"file-upload\"], \"f574\", \"M48 448V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zM216 408V305.9l31 31c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-72-72c-9.4-9.4-24.6-9.4-33.9 0l-72 72c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l31-31V408c0 13.3 10.7 24 24 24s24-10.7 24-24z\"]\n};\nvar faFileUpload = faFileArrowUp;\nvar faWifi = {\n prefix: 'far',\n iconName: 'wifi',\n icon: [640, 512, [\"wifi-3\", \"wifi-strong\"], \"f1eb\", \"M39.9 185.7C114.6 119.9 212.6 80 320 80s205.4 39.9 280.1 105.7c9.9 8.8 25.1 7.8 33.9-2.2s7.8-25.1-2.2-33.9C548.7 76.4 439.5 32 320 32S91.3 76.4 8.2 149.6c-9.9 8.8-10.9 23.9-2.2 33.9s23.9 10.9 33.9 2.2zM320 256c64.6 0 123.5 24.7 167.6 65.2c9.8 9 24.9 8.3 33.9-1.5s8.3-24.9-1.5-33.9C467.4 237.5 397.1 208 320 208s-147.4 29.5-200.1 77.9c-9.8 9-10.4 24.1-1.5 33.9s24.1 10.4 33.9 1.5C196.5 280.7 255.4 256 320 256zm56 168a56 56 0 1 0 -112 0 56 56 0 1 0 112 0z\"]\n};\nvar faWifi3 = faWifi;\nvar faWifiStrong = faWifi;\nvar faMessages = {\n prefix: 'far',\n iconName: 'messages',\n icon: [640, 512, [\"comments-alt\"], \"f4b6\", \"M48 72c0-13.3 10.7-24 24-24H344c13.3 0 24 10.7 24 24V248c0 13.3-10.7 24-24 24H216c-4.7 0-9.4 1.4-13.3 4L144 315.2V296c0-13.3-10.7-24-24-24H72c-13.3 0-24-10.7-24-24V72zM72 0C32.2 0 0 32.2 0 72V248c0 39.8 32.2 72 72 72H96v40c0 8.9 4.9 17 12.7 21.2s17.3 3.7 24.6-1.2l90-60H344c39.8 0 72-32.2 72-72V72c0-39.8-32.2-72-72-72H72zM256 376c0 39.8 32.2 72 72 72h88.7l90 60c7.4 4.9 16.8 5.4 24.6 1.2S544 496.9 544 488V448h24c39.8 0 72-32.2 72-72V200c0-39.8-32.2-72-72-72H448v48H568c13.3 0 24 10.7 24 24V376c0 13.3-10.7 24-24 24H520c-13.3 0-24 10.7-24 24v19.2L437.3 404c-3.9-2.6-8.6-4-13.3-4H328c-13.3 0-24-10.7-24-24V352H256v24z\"]\n};\nvar faCommentsAlt = faMessages;\nvar faBath = {\n prefix: 'far',\n iconName: 'bath',\n icon: [512, 512, [128705, \"bathtub\"], \"f2cd\", \"M101.3 48C89.5 48 80 57.5 80 69.3V256H432h48 8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8H432 80 32 24c-13.3 0-24-10.7-24-24s10.7-24 24-24h8V69.3C32 31 63 0 101.3 0c18.4 0 36 7.3 49 20.3l4.8 4.8c11.1-5.8 23.7-9.1 37-9.1c23.9 0 45.4 10.5 60.1 27.2c9.2-5.3 21.1-4 28.9 3.9c9.4 9.4 9.4 24.6 0 33.9L177 185c-9.4 9.4-24.6 9.4-33.9 0c-7.8-7.8-9.1-19.7-3.9-28.9C122.5 141.4 112 119.9 112 96c0-13.4 3.3-25.9 9.1-37l-4.8-4.8c-4-4-9.4-6.2-15-6.2zM32 336H80v32c0 26.5 21.5 48 48 48H384c26.5 0 48-21.5 48-48V336h48v32c0 28.4-12.4 54-32 71.6V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V462.7c-5.2 .9-10.5 1.3-16 1.3H128c-5.5 0-10.8-.5-16-1.3V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V439.6C44.4 422 32 396.4 32 368V336zM192 64c-17.7 0-32 14.3-32 32c0 10.4 4.9 19.6 12.6 25.5l44.8-44.8C211.6 68.9 202.4 64 192 64z\"]\n};\nvar faBathtub = faBath;\nvar faUmbrellaSimple = {\n prefix: 'far',\n iconName: 'umbrella-simple',\n icon: [512, 512, [\"umbrella-alt\"], \"e2bc\", \"M256 0c13.3 0 24 10.7 24 24v9.1c119.6 11.1 215.3 104.5 230 223c2.2 17.5-12.4 31.9-30 31.9H32C14.3 288-.2 273.6 2 256.1C16.7 137.6 112.4 44.2 232 33.1V24c0-13.3 10.7-24 24-24zM458.4 240C436.8 148.3 354.3 80 256 80S75.2 148.3 53.6 240H458.4zM280 438.6c0 40.6-32.9 73.4-73.4 73.4c-27.8 0-53.2-15.7-65.7-40.6l-2.3-4.7c-5.9-11.9-1.1-26.3 10.7-32.2s26.3-1.1 32.2 10.7l2.3 4.7c4.3 8.6 13.1 14.1 22.8 14.1c14.1 0 25.4-11.4 25.4-25.4V320h48V438.6z\"]\n};\nvar faUmbrellaAlt = faUmbrellaSimple;\nvar faRectangleHistoryCirclePlus = {\n prefix: 'far',\n iconName: 'rectangle-history-circle-plus',\n icon: [640, 512, [], \"e4a3\", \"M64 464l284.5 0c12.3 18.8 28 35.1 46.3 48L64 512c-35.3 0-64-28.7-64-64V224c0-35.3 28.7-64 64-64l384 0c23.8 0 44.5 12.9 55.5 32.2c-2.5-.1-5-.2-7.5-.2c-26.2 0-51.1 5.7-73.4 16L64 208c-8.8 0-16 7.2-16 16l0 224c0 8.8 7.2 16 16 16zM440 80c13.3 0 24 10.7 24 24s-10.7 24-24 24L72 128c-13.3 0-24-10.7-24-24s10.7-24 24-24l368 0zM392 0c13.3 0 24 10.7 24 24s-10.7 24-24 24L120 48c-13.3 0-24-10.7-24-24s10.7-24 24-24H392zM496 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm16 80c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H432c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v48c0 8.8 7.2 16 16 16s16-7.2 16-16V384h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H512V304z\"]\n};\nvar faUnderline = {\n prefix: 'far',\n iconName: 'underline',\n icon: [448, 512, [], \"f0cd\", \"M16 56c0-13.3 10.7-24 24-24h96c13.3 0 24 10.7 24 24s-10.7 24-24 24H112V224c0 61.9 50.1 112 112 112s112-50.1 112-112V80H312c-13.3 0-24-10.7-24-24s10.7-24 24-24h96c13.3 0 24 10.7 24 24s-10.7 24-24 24H384V224c0 88.4-71.6 160-160 160s-160-71.6-160-160V80H40C26.7 80 16 69.3 16 56zM0 456c0-13.3 10.7-24 24-24H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24z\"]\n};\nvar faPrescriptionBottlePill = {\n prefix: 'far',\n iconName: 'prescription-bottle-pill',\n icon: [576, 512, [], \"e5c0\", \"M48 48H336V80H48V48zM40 0C17.9 0 0 17.9 0 40V88c0 22.1 17.9 40 40 40H344c22.1 0 40-17.9 40-40V40c0-22.1-17.9-40-40-40H40zM32 160V448c0 35.3 28.7 64 64 64H288c11.6 0 22.4-3.1 31.8-8.4c-13.7-11.3-25.6-24.7-35.3-39.6H96c-8.8 0-16-7.2-16-16V416h56c13.3 0 24-10.7 24-24s-10.7-24-24-24H80V320h56c13.3 0 24-10.7 24-24s-10.7-24-24-24H80V224h56c13.3 0 24-10.7 24-24s-10.7-24-24-24H80V160H32zm320 0H304v87.2c13.8-14.6 30-26.8 48-36V160zm80 112a96 96 0 1 1 0 192 96 96 0 1 1 0-192zm0 240a144 144 0 1 0 0-288 144 144 0 1 0 0 288zM383 319c-9.4 9.4-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-64-64c-9.4-9.4-24.6-9.4-33.9 0z\"]\n};\nvar faUserPen = {\n prefix: 'far',\n iconName: 'user-pen',\n icon: [640, 512, [\"user-edit\"], \"f4ff\", \"M144 128a80 80 0 1 1 160 0 80 80 0 1 1 -160 0zm208 0A128 128 0 1 0 96 128a128 128 0 1 0 256 0zM49.3 464c8.9-63.3 63.3-112 129-112h91.4c34.9 0 66.5 13.7 89.9 36l33.9-33.9c-32.1-31-75.7-50.1-123.9-50.1H178.3C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H322.8c-3.1-8.8-3.7-18.4-1.4-27.8l5.1-20.2H49.3zM613.8 235.7c-15.6-15.6-40.9-15.6-56.6 0l-29.4 29.4 71 71 29.4-29.4c15.6-15.6 15.6-40.9 0-56.6l-14.4-14.4zM375.9 417c-4.1 4.1-7 9.2-8.4 14.9l-15 60.1c-1.4 5.5 .2 11.2 4.2 15.2s9.7 5.6 15.2 4.2l60.1-15c5.6-1.4 10.8-4.3 14.9-8.4L576.1 358.7l-71-71L375.9 417z\"]\n};\nvar faUserEdit = faUserPen;\nvar faBinarySlash = {\n prefix: 'far',\n iconName: 'binary-slash',\n icon: [640, 512, [], \"e33e\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L512 376V360c0-39.8-32.2-72-72-72H399.7L295.4 206.2C310.5 193 320 173.6 320 152V72c0-39.8-32.2-72-72-72H200c-39.8 0-72 32.2-72 72v3L38.8 5.1zM176 112.6V72c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v80c0 10.7-7 19.7-16.6 22.8L176 112.6zM456 24c0-7.7-3.7-15-10-19.5s-14.3-5.7-21.6-3.3l-48 16C363.8 21.4 357 35 361.2 47.6S379 67 391.6 62.8L408 57.3V176H376c-13.3 0-24 10.7-24 24s10.7 24 24 24h56 56c13.3 0 24-10.7 24-24s-10.7-24-24-24H456V24zM232 312c0-7.7-3.7-15-10-19.5s-14.3-5.7-21.6-3.3l-48 16c-12.6 4.2-19.4 17.8-15.2 30.4s17.8 19.4 30.4 15.2l16.4-5.5V464H152c-13.3 0-24 10.7-24 24s10.7 24 24 24h56 56c13.3 0 24-10.7 24-24s-10.7-24-24-24H232V312zm88 48v80c0 39.8 32.2 72 72 72h48c22.2 0 42-10 55.2-25.8l-37.8-29.7c-4.4 4.7-10.6 7.6-17.5 7.6H392c-13.3 0-24-10.7-24-24V385.9l-47.1-37.1c-.6 3.7-.9 7.4-.9 11.2z\"]\n};\nvar faSquareO = {\n prefix: 'far',\n iconName: 'square-o',\n icon: [448, 512, [], \"e278\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM144 256a80 80 0 1 0 160 0 80 80 0 1 0 -160 0zm80 128a128 128 0 1 1 0-256 128 128 0 1 1 0 256z\"]\n};\nvar faCaduceus = {\n prefix: 'far',\n iconName: 'caduceus',\n icon: [512, 512, [], \"e681\", \"M280 89.6c14.3-8.3 24-23.8 24-41.6c0-26.5-21.5-48-48-48s-48 21.5-48 48c0 17.8 9.7 33.3 24 41.6l0 12.6L183.4 73.9c-11.1-6.5-23.7-9.9-36.5-9.9c-18.2 0-35.7 6.9-49.1 19.2L11.3 163.1C4.1 169.7 0 179.1 0 188.9C0 208.3 15.7 224 35.1 224l111 0c30 0 59.5-7.3 85.9-21.3l0 127.7-20.6-12.3c-12-7.2-19.4-20.2-19.4-34.3l0-3.8c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 3.8c0 30.9 16.2 59.6 42.7 75.5l22.6 13.6-6.6 4c-26.5 15.9-42.7 44.5-42.7 75.5l0 3.8c0 13.3 10.7 24 24 24s24-10.7 24-24l0-3.8c0-14.1 7.4-27.1 19.4-34.3l4.6-2.7 0 40.8 0 32c0 13.3 10.7 24 24 24s24-10.7 24-24l0-32 0-40.8 4.6 2.7c12 7.2 19.4 20.2 19.4 34.3l0 3.8c0 13.3 10.7 24 24 24s24-10.7 24-24l0-3.8c0-30.9-16.2-59.6-42.7-75.5l-6.6-4 22.6-13.6c26.5-15.9 42.7-44.5 42.7-75.5l0-3.8c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 3.8c0 14.1-7.4 27.1-19.4 34.3L280 330.4l0-127.7c26.4 13.9 55.9 21.3 85.9 21.3l111 0c19.4 0 35.1-15.7 35.1-35.1c0-9.8-4.1-19.2-11.3-25.8L414.2 83.2C400.8 70.9 383.3 64 365.1 64c-12.8 0-25.4 3.4-36.5 9.9L280 102.2l0-12.6zM130.4 118.5c4.5-4.2 10.4-6.5 16.5-6.5c4.3 0 8.6 1.1 12.3 3.3l63.6 37.1-4.6 2.9c-21.6 13.5-46.6 20.7-72.1 20.7l-78.1 0 62.3-57.5zM365.1 112c6.1 0 12 2.3 16.5 6.5L443.9 176l-78.1 0c-25.5 0-50.5-7.2-72.1-20.7l-4.6-2.9 63.6-37.1c3.7-2.2 8-3.3 12.3-3.3z\"]\n};\nvar faSignature = {\n prefix: 'far',\n iconName: 'signature',\n icon: [640, 512, [], \"f5b7\", \"M176 128c0-26.5 21.5-48 48-48s48 21.5 48 48v7.9c0 27.5-2.3 55-7 82.1L158 251.1c-36.9 11.4-62 45.5-62 84.1V410c0 38.6 31.3 70 70 70c24.6 0 47.4-12.9 60-34l15.9-26.4c29.6-49.4 51.1-103.3 63.6-159.5l1-4.7 110.8-34.3-23.9 66.8c-2.6 7.4-1.5 15.5 3 21.9s11.8 10.2 19.6 10.2H552c13.3 0 24-10.7 24-24s-10.7-24-24-24H450.1l28.5-79.9c3.1-8.6 1-18.1-5.3-24.7s-15.7-9-24.4-6.3l-133 41.2c2.7-22 4.1-44.2 4.1-66.4V128c0-53-43-96-96-96s-96 43-96 96v40c0 13.3 10.7 24 24 24s24-10.7 24-24V128zm-3.8 169l80.9-25c-11.7 43.2-29.4 84.5-52.4 123l-15.9 26.4c-4 6.6-11.1 10.7-18.8 10.7c-12.1 0-22-9.8-22-22V335.2c0-17.5 11.4-33 28.2-38.2zM64 368H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H64.2c-.1-2-.2-4-.2-6V368zm216.8 48H616c13.3 0 24-10.7 24-24s-10.7-24-24-24H304.1c-7 16.3-14.8 32.4-23.3 48z\"]\n};\nvar faStroopwafel = {\n prefix: 'far',\n iconName: 'stroopwafel',\n icon: [512, 512, [], \"f551\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm97.6-45.3l22.6 22.6 45.3-45.3-22.6-22.6c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l22.6 22.6 45.3-45.3L210.7 97.6c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L256 97.6 278.6 75c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-22.6 22.6 45.3 45.3 22.6-22.6c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-22.6 22.6 45.3 45.3 22.6-22.6c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L414.4 256 437 278.6c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-22.6-22.6-45.3 45.3 22.6 22.6c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-22.6-22.6-45.3 45.3 22.6 22.6c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L256 414.4 233.4 437c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l22.6-22.6-45.3-45.3-22.6 22.6c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l22.6-22.6-45.3-45.3L97.6 301.3c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L97.6 256 75 233.4c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0zm90.5 0L142.9 256l45.3 45.3L233.4 256l-45.3-45.3zM256 233.4l45.3-45.3L256 142.9l-45.3 45.3L256 233.4zM278.6 256l45.3 45.3L369.1 256l-45.3-45.3L278.6 256zM256 278.6l-45.3 45.3L256 369.1l45.3-45.3L256 278.6z\"]\n};\nvar faBold = {\n prefix: 'far',\n iconName: 'bold',\n icon: [384, 512, [], \"f032\", \"M0 56C0 42.7 10.7 32 24 32H72 88 212c68.5 0 124 55.5 124 124c0 34.7-14.3 66.2-37.3 88.7C339.7 264.9 368 307.1 368 356c0 68.5-55.5 124-124 124H88 72 24c-13.3 0-24-10.7-24-24s10.7-24 24-24H48V256 80H24C10.7 80 0 69.3 0 56zM212 232c42 0 76-34 76-76s-34-76-76-76H96V232H212zM96 280V432H244c42 0 76-34 76-76s-34-76-76-76H212 96z\"]\n};\nvar faAnchorLock = {\n prefix: 'far',\n iconName: 'anchor-lock',\n icon: [640, 512, [], \"e4ad\", \"M320 80a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM288 0c-44.2 0-80 35.8-80 80c0 35.9 23.7 66.3 56.3 76.4c-.2 1.2-.3 2.4-.3 3.6v32H216c-13.3 0-24 10.7-24 24s10.7 24 24 24h48V464H240c-73.7 0-133.7-58.6-135.9-131.8l16.3 14c10.1 8.6 25.2 7.5 33.8-2.6s7.5-25.2-2.6-33.8l-56-48c-9-7.7-22.3-7.7-31.2 0l-56 48c-10.1 8.6-11.2 23.8-2.6 33.8s23.8 11.2 33.8 2.6L56 332.1C58.2 431.8 139.8 512 240 512h48 48c18.3 0 36.1-2.7 52.8-7.7c-3.1-7.5-4.8-15.7-4.8-24.3V455.3c-14.9 5.6-31.1 8.7-48 8.7H312V240h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H312V160c0-1.2-.1-2.4-.3-3.6C344.3 146.3 368 115.9 368 80c0-44.2-35.8-80-80-80zM528 240c17.7 0 32 14.3 32 32v48H496V272c0-17.7 14.3-32 32-32zm-80 32v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"]\n};\nvar faBuildingNgo = {\n prefix: 'far',\n iconName: 'building-ngo',\n icon: [384, 512, [], \"e4d7\", \"M320 48H64 2C9.1 20.4 34.2 0 64 0H320c29.8 0 54.9 20.4 62 48H320zm16 192h48V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V240H48V448c0 8.8 7.2 16 16 16h80V400c0-26.5 21.5-48 48-48s48 21.5 48 48v64h80c8.8 0 16-7.2 16-16V240zM168 80h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H184v64h16V160c0-8.8 7.2-16 16-16s16 7.2 16 16v24c0 13.3-10.7 24-24 24H176c-13.3 0-24-10.7-24-24V96c0-8.8 7.2-16 16-16zm136 32c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16s16-7.2 16-16V128c0-8.8-7.2-16-16-16zm-48 16c0-26.5 21.5-48 48-48s48 21.5 48 48v32c0 26.5-21.5 48-48 48s-48-21.5-48-48V128zM61.3 87.1l34.7 52V96c0-8.8 7.2-16 16-16s16 7.2 16 16v96c0 7.1-4.6 13.3-11.4 15.3s-14-.6-17.9-6.4L64 148.8V192c0 8.8-7.2 16-16 16s-16-7.2-16-16V96c0-7.1 4.6-13.3 11.4-15.3s14 .6 17.9 6.4zM88 264c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v48c0 8.8-7.2 16-16 16H104c-8.8 0-16-7.2-16-16V264zm144-16h48c8.8 0 16 7.2 16 16v48c0 8.8-7.2 16-16 16H232c-8.8 0-16-7.2-16-16V264c0-8.8 7.2-16 16-16z\"]\n};\nvar faTransporter3 = {\n prefix: 'far',\n iconName: 'transporter-3',\n icon: [512, 512, [], \"e045\", \"M480 32L472.7 6.6C471.6 2.7 468.1 0 464 0s-7.6 2.7-8.7 6.6L448 32l-25.4 7.3c-3.9 1.1-6.6 4.7-6.6 8.7s2.7 7.6 6.6 8.7L448 64l7.3 25.4c1.1 3.9 4.7 6.6 8.7 6.6s7.6-2.7 8.7-6.6L480 64l25.4-7.3c3.9-1.1 6.6-4.7 6.6-8.7s-2.7-7.6-6.6-8.7L480 32zM64 128l-7.3-25.4C55.6 98.7 52.1 96 48 96s-7.6 2.7-8.7 6.6L32 128 6.6 135.3C2.7 136.4 0 139.9 0 144s2.7 7.6 6.6 8.7L32 160l7.3 25.4c1.1 3.9 4.7 6.6 8.7 6.6s7.6-2.7 8.7-6.6L64 160l25.4-7.3c3.9-1.1 6.6-4.7 6.6-8.7s-2.7-7.6-6.6-8.7L64 128zm56 336c-13.3 0-24 10.7-24 24s10.7 24 24 24H392c13.3 0 24-10.7 24-24s-10.7-24-24-24H120zM304 48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM176 128c-8.8 0-16 7.2-16 16s7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H176zm-32 64c-8.8 0-16 7.2-16 16s7.2 16 16 16H368c8.8 0 16-7.2 16-16s-7.2-16-16-16H144zm-32 64c-8.8 0-16 7.2-16 16s7.2 16 16 16H400c8.8 0 16-7.2 16-16s-7.2-16-16-16H112zm64 64c-8.8 0-16 7.2-16 16s7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H176zm0 64c-8.8 0-16 7.2-16 16s7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H176z\"]\n};\nvar faEngineWarning = {\n prefix: 'far',\n iconName: 'engine-warning',\n icon: [640, 512, [\"engine-exclamation\"], \"f5f2\", \"M424 88c0 13.3-10.7 24-24 24l-72 0v32l68.6 0c12.6 0 25 3.7 35.5 10.7L483.5 189c17.8 11.9 28.5 31.9 28.5 53.3V384c0 35.3-28.7 64-64 64H254.8c-19.4 0-37.8-8.8-50-24l-32-40H144c-35.3 0-64-28.7-64-64V280H48v72c0 13.3-10.7 24-24 24s-24-10.7-24-24V160c0-13.3 10.7-24 24-24s24 10.7 24 24v72H80V208c0-35.3 28.7-64 64-64h16 32l88 0V112l-72 0c-13.3 0-24-10.7-24-24s10.7-24 24-24H400c13.3 0 24 10.7 24 24zM210.3 354l32 40c3 3.8 7.6 6 12.5 6H448c8.8 0 16-7.2 16-16V242.3c0-5.3-2.7-10.3-7.1-13.3l-51.4-34.3c-2.6-1.8-5.7-2.7-8.9-2.7H192 160 144c-8.8 0-16 7.2-16 16V320c0 8.8 7.2 16 16 16h28.8c14.6 0 28.4 6.6 37.5 18zM544 224c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H576c-17.7 0-32-14.3-32-32V224zM304 212c11 0 20 9 20 20v56c0 11-9 20-20 20s-20-9-20-20V232c0-11 9-20 20-20zM280 352a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faEngineExclamation = faEngineWarning;\nvar faCircleDownRight = {\n prefix: 'far',\n iconName: 'circle-down-right',\n icon: [512, 512, [], \"e108\", \"M256 464a208 208 0 1 1 0-416 208 208 0 1 1 0 416zM256 0a256 256 0 1 0 0 512A256 256 0 1 0 256 0zm96 198.6c0-12.5-10.1-22.6-22.6-22.6c-6 0-11.8 2.4-16 6.6L280 216l-66.3-66.3C210 146 205.1 144 200 144s-10 2-13.7 5.7l-36.7 36.7C146 190 144 194.9 144 200s2 10 5.7 13.7L216 280l-33.4 33.4c-4.2 4.2-6.6 10-6.6 16c0 12.5 10.1 22.6 22.6 22.6H336c8.8 0 16-7.2 16-16V198.6z\"]\n};\nvar faSquareK = {\n prefix: 'far',\n iconName: 'square-k',\n icon: [448, 512, [], \"e274\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm313.1 72.8l-73 74.3 75.3 102.7c7.8 10.7 5.5 25.7-5.2 33.5s-25.7 5.5-33.5-5.2L206 277.8l-30 30.5V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V298.5 152c0-13.3 10.7-24 24-24s24 10.7 24 24v87.8L278.9 135.2c9.3-9.5 24.5-9.6 33.9-.3s9.6 24.5 .3 33.9z\"]\n};\nvar faManatSign = {\n prefix: 'far',\n iconName: 'manat-sign',\n icon: [384, 512, [], \"e1d5\", \"M192 32c-13.3 0-24 10.7-24 24V97.5C73.3 109.3 0 190.1 0 288V456c0 13.3 10.7 24 24 24s24-10.7 24-24V288c0-71.4 51.9-130.6 120-142V456c0 13.3 10.7 24 24 24s24-10.7 24-24V146c68.1 11.4 120 70.7 120 142V456c0 13.3 10.7 24 24 24s24-10.7 24-24V288c0-97.9-73.3-178.7-168-190.5V56c0-13.3-10.7-24-24-24z\"]\n};\nvar faMoneyCheckPen = {\n prefix: 'far',\n iconName: 'money-check-pen',\n icon: [640, 512, [\"money-check-edit\"], \"f872\", \"M64 112H512c8.8 0 16 7.2 16 16v91.6l6.6-6.6c11.6-11.6 26.3-18.5 41.4-20.5V128c0-35.3-28.7-64-64-64H64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H330.5l6-23.9c2.2-8.8 6.2-17 11.8-24.1H64c-8.8 0-16-7.2-16-16V128c0-8.8 7.2-16 16-16zm56 160c-13.3 0-24 10.7-24 24s10.7 24 24 24H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H120zM96 200c0 13.3 10.7 24 24 24H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H120c-13.3 0-24 10.7-24 24zm517.8 35.7c-15.6-15.6-40.9-15.6-56.6 0l-29.4 29.4 71 71 29.4-29.4c15.6-15.6 15.6-40.9 0-56.6l-14.4-14.4zM375.9 417c-4.1 4.1-7 9.2-8.4 14.9l-15 60.1c-1.4 5.5 .2 11.2 4.2 15.2s9.7 5.6 15.2 4.2l60.1-15c5.6-1.4 10.8-4.3 14.9-8.4L576.1 358.7l-71-71L375.9 417z\"]\n};\nvar faMoneyCheckEdit = faMoneyCheckPen;\nvar faNotEqual = {\n prefix: 'far',\n iconName: 'not-equal',\n icon: [448, 512, [], \"f53e\", \"M373.5 36.2c11 7.5 13.8 22.4 6.3 33.3L329.2 144H408c13.3 0 24 10.7 24 24s-10.7 24-24 24H296.5l-87 128H408c13.3 0 24 10.7 24 24s-10.7 24-24 24H176.9l-69 101.5c-7.5 11-22.4 13.8-33.3 6.3s-13.8-22.4-6.4-33.3L118.8 368H40c-13.3 0-24-10.7-24-24s10.7-24 24-24H151.5l87-128H40c-13.3 0-24-10.7-24-24s10.7-24 24-24H271.1l69-101.5c7.5-11 22.4-13.8 33.3-6.4z\"]\n};\nvar faBorderTopLeft = {\n prefix: 'far',\n iconName: 'border-top-left',\n icon: [448, 512, [\"border-style\"], \"f853\", \"M0 456c0 13.3 10.7 24 24 24s24-10.7 24-24l0-352c0-13.3 10.7-24 24-24l352 0c13.3 0 24-10.7 24-24s-10.7-24-24-24L72 32C32.2 32 0 64.2 0 104L0 456zm128-40a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm192 0a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm-96 64a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm192-64a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm0-128a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0 32a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm0-128a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faBorderStyle = faBorderTopLeft;\nvar faMapLocationDot = {\n prefix: 'far',\n iconName: 'map-location-dot',\n icon: [576, 512, [\"map-marked-alt\"], \"f5a0\", \"M408 120c0 8.6-1.8 18.3-5 28.6c-5.7 18.4-15.6 38.8-27.4 59.2l-.1 .2c-3.1 5.4-6.3 10.7-9.6 16c-4.4 7-8.9 14-13.5 20.8l-.4 .6c-18.1 26.9-36.7 51.1-49.2 66.6c-7.7 9.6-22 9.6-29.6 0c-12.4-15.5-31.1-39.7-49.2-66.6c-18.4-27.3-36.3-57.5-46.7-84.4c-.8-2.1-1.6-4.2-2.3-6.3c-4.4-12.6-7-24.4-7-34.6c0-4.7 .3-9.3 .8-13.8C175.6 46.4 226.4 0 288 0c66.3 0 120 53.7 120 120zM352 300.6c13.5-18.2 28.8-39.9 42.7-62.4c1.8-2.9 3.6-5.8 5.3-8.8V453.7l128-46.5V154.3L419.3 193.8c2.2-4.7 4.4-9.3 6.3-14c5.9-14 11-29.2 13.2-44.2l105-38.2c7.4-2.7 15.6-1.6 22 2.9s10.2 11.8 10.2 19.7V424c0 10.1-6.3 19.1-15.8 22.6l-176 64c-5.3 1.9-11.1 1.9-16.4 0L200 449.5l-167.8 61c-7.4 2.7-15.6 1.6-22-2.9S0 495.8 0 488V184c0-10.1 6.3-19.1 15.8-22.6L136 117.7c0 .8 0 1.5 0 2.3c0 15.1 3.7 30.7 8.9 45.6L48 200.8V453.7l128-46.5V229.5c1.8 3 3.5 5.9 5.3 8.8c13.9 22.5 29.1 44.2 42.7 62.4V407.2l128 46.5V300.6zM288 152a40 40 0 1 0 0-80 40 40 0 1 0 0 80z\"]\n};\nvar faMapMarkedAlt = faMapLocationDot;\nvar faTilde = {\n prefix: 'far',\n iconName: 'tilde',\n icon: [448, 512, [63135], \"7e\", \"M100.5 176c-29 0-52.5 23.5-52.5 52.5V320c0 13.3-10.7 24-24 24s-24-10.7-24-24V228.5C0 173 45 128 100.5 128c29.6 0 57.6 13 76.7 35.6L307.4 317.4c10 11.8 24.6 18.6 40.1 18.6c29 0 52.5-23.5 52.5-52.5V192c0-13.3 10.7-24 24-24s24 10.7 24 24v91.5C448 339 403 384 347.5 384c-29.6 0-57.6-13-76.7-35.6L140.6 194.6c-10-11.8-24.6-18.6-40.1-18.6z\"]\n};\nvar faJedi = {\n prefix: 'far',\n iconName: 'jedi',\n icon: [576, 512, [], \"f669\", \"M224.8 267.9L246 299.7c1.3 1.9 .2 4.5-2 4.9l-37.6 7.5c-3.7 .7-6.4 4-6.4 7.8s2.7 7.1 6.4 7.8l37.6 7.5c2.2 .4 3.3 3 2 4.9l-21.2 31.9c-2.1 3.2-1.7 7.4 1 10.1s6.9 3.1 10.1 1l26.9-17.9c2.2-1.4 5.1 .2 5 2.8l-2.1 61.7C214.5 419.4 176 374.2 176 320c0-29.6 11.5-56.5 30.2-76.5c4.5-4.8 6.8-11.2 6.4-17.7s-3.3-12.6-8.3-16.9C177.2 185.4 160 150.7 160 112c0-26.9 8.3-51.9 22.5-72.5c6.4-9.3 5.5-21.7-2.2-30s-20-10-29.7-4.4C70.1 52.4 16 139.9 16 240c0 150.2 121.8 272 272 272s272-121.8 272-272C560 139.9 505.9 52.4 425.4 5.2c-9.7-5.7-22.1-3.9-29.7 4.4s-8.6 20.7-2.2 30C407.7 60.1 416 85.1 416 112c0 38.7-17.2 73.4-44.4 96.9c-4.9 4.3-7.9 10.4-8.3 16.9s2 12.9 6.4 17.7c18.8 20 30.2 46.9 30.2 76.5c0 54.2-38.5 99.4-89.7 109.8l-2.1-61.7c-.1-2.6 2.8-4.2 5-2.8l26.9 17.9c3.2 2.1 7.4 1.7 10.1-1s3.1-6.9 1-10.1L330 340.3c-1.3-1.9-.2-4.5 2-4.9l37.5-7.5c3.7-.7 6.4-4 6.4-7.8s-2.7-7.1-6.4-7.8L332 304.6c-2.2-.4-3.3-3-2-4.9l21.2-31.9c2.1-3.2 1.7-7.4-1-10.1s-6.9-3.1-10.1-1l-30 20c-2.1 1.4-4.9 0-5-2.6L296.3 8c-.1-4.5-3.8-8-8.3-8s-8.1 3.5-8.3 8l-8.9 266.2c-.1 2.5-2.9 3.9-5 2.6l-30-20c-3.2-2.1-7.4-1.7-10.1 1s-3.1 6.9-1 10.1zM64.1 233.5c.3-10.7 1.4-21.3 3.1-31.6l17.5 17.5c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L76.5 165.9c8.3-23.7 20.5-45.6 35.8-64.9c-.2 3.6-.3 7.3-.3 11c0 44.9 16.8 85.8 44.4 116.9C138.5 254.8 128 286.2 128 320c0 44.5 18.1 84.7 47.4 113.7c-54.9-32-94.9-86.6-107.4-151l16.6 16.6c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L64.1 233.5zm447.8 0l-43.2 43.2c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l16.6-16.6c-12.4 64.4-52.5 119.1-107.4 151c29.3-29 47.4-69.2 47.4-113.7c0-33.8-10.5-65.2-28.4-91.1c27.6-31.1 44.4-72 44.4-116.9c0-3.7-.1-7.4-.3-11c15.3 19.3 27.5 41.2 35.8 64.9l-30.8 30.8c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l17.5-17.5c1.8 10.3 2.8 20.9 3.1 31.6z\"]\n};\nvar faSquarePollVertical = {\n prefix: 'far',\n iconName: 'square-poll-vertical',\n icon: [448, 512, [\"poll\"], \"f681\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM128 224c13.3 0 24 10.7 24 24V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V248c0-13.3 10.7-24 24-24zm72-72c0-13.3 10.7-24 24-24s24 10.7 24 24V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V152zM320 288c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V312c0-13.3 10.7-24 24-24z\"]\n};\nvar faPoll = faSquarePollVertical;\nvar faArrowDownSquareTriangle = {\n prefix: 'far',\n iconName: 'arrow-down-square-triangle',\n icon: [576, 512, [\"sort-shapes-down-alt\"], \"f889\", \"M47 377l96 96c9.4 9.4 24.6 9.4 33.9 0l96-96c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-55 55V56c0-13.3-10.7-24-24-24s-24 10.7-24 24V398.1L81 343c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9zm481 78c0-4.5-1.2-9-3.6-12.9L440.2 301.7c-5.1-8.5-14.3-13.7-24.2-13.7s-19.1 5.2-24.2 13.7L307.6 442c-2.3 3.9-3.6 8.4-3.6 12.9c0 13.8 11.2 25.1 25.1 25.1H502.9c13.8 0 25.1-11.2 25.1-25.1zM368 80h96v96H368V80zm94.4 352H369.6L416 354.6 462.4 432zM320 80v96c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H368c-26.5 0-48 21.5-48 48z\"]\n};\nvar faSortShapesDownAlt = faArrowDownSquareTriangle;\nvar faMugHot = {\n prefix: 'far',\n iconName: 'mug-hot',\n icon: [512, 512, [9749], \"f7b6\", \"M88 0c13.3 0 24 10.7 24 24c0 16.1 7.5 23.7 23.8 37.9l1.1 1C152.6 76.6 176 97.1 176 136c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-16.1-7.5-23.7-23.8-37.9l-1.1-1C87.4 83.4 64 62.9 64 24C64 10.7 74.7 0 88 0zM48 416c0 26.5 21.5 48 48 48H288c26.5 0 48-21.5 48-48V240H48V416zM0 224c0-17.7 14.3-32 32-32H352h48c61.9 0 112 50.1 112 112s-50.1 112-112 112H384c0 53-43 96-96 96H96c-53 0-96-43-96-96V224zM384 368h16c35.3 0 64-28.7 64-64s-28.7-64-64-64H384V368zM224 24c0 16.1 7.5 23.7 23.8 37.9l1.1 1C264.6 76.6 288 97.1 288 136c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-16.1-7.5-23.7-23.8-37.9l-1.1-1C199.4 83.4 176 62.9 176 24c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faDogLeashed = {\n prefix: 'far',\n iconName: 'dog-leashed',\n icon: [576, 512, [129454], \"f6d4\", \"M69.6 8.6C78.2-1.6 93.3-2.9 103.4 5.6L292.6 164.5 313.5 39.3l.1-.4 .9-5.6 3.1-18.4C319 6.3 326.4 0 335.1 0c5.6 0 10.9 2.6 14.3 7.1l11.2 14.9 3.4 4.6 .2 .3L368 32h76.1c12.7 0 24.9 5.1 33.9 14.1L496 64h32c26.5 0 48 21.5 48 48v32c0 53-43 96-96 96H434.7L432 256V448c0 35.3-28.7 64-64 64H352c-35.3 0-64-28.7-64-64V428.6 379.6c-10.4 2.3-21.1 3.7-32 4.2c-2.7 .1-5.3 .2-8 .2s-5.3-.1-8-.2c-10.9-.5-21.6-1.9-32-4.2v48.9V448c0 35.3-28.7 64-64 64H128c-35.3 0-64-28.7-64-64V224c0-1.3 .1-2.6 .2-3.8c-1.1-.3-2.2-.7-3.3-1.1c-27.4-9.6-49-32.4-56.4-61.8L.7 141.8c-3.2-12.9 4.6-25.9 17.5-29.1s25.9 4.6 29.1 17.5l0 0 3.9 15.5C55.6 163.5 71.6 176 90 176h54 87.6L72.6 42.4C62.4 33.9 61.1 18.7 69.6 8.6zM318 342.2c11.4 9.1 18 22.9 18 37.4V448c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V274.8l-96-48V331.6c10.8 0 21.4 3.7 30 10.6zm-78-6.4V224H144 112.1l-.1 .8V448c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V379.6c0-14.6 6.6-28.3 18-37.4s26.2-12.6 40.4-9.4c7 1.5 14.2 2.6 21.6 3zm94.2-139.5l55.3 27.6c6.7-18.8 24.6-31.9 45.2-31.9H480c26.5 0 48-21.5 48-48V112H496c-12.7 0-24.9-5.1-33.9-14.1L444.1 80 368 80c-4.2 0-8.4-.6-12.4-1.6L338 183.9c-.7 4.4-2 8.5-3.8 12.4zM416 112a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faCarBattery = {\n prefix: 'far',\n iconName: 'car-battery',\n icon: [512, 512, [\"battery-car\"], \"f5df\", \"M80 96c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32l96 0c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32h16c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V160c0-35.3 28.7-64 64-64l16 0zM64 144c-8.8 0-16 7.2-16 16V384c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16H64zm304 32c8.8 0 16 7.2 16 16v32h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H384v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V256H320c-8.8 0-16-7.2-16-16s7.2-16 16-16h32V192c0-8.8 7.2-16 16-16zM96 224h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H96c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faBatteryCar = faCarBattery;\nvar faFaceDowncastSweat = {\n prefix: 'far',\n iconName: 'face-downcast-sweat',\n icon: [512, 512, [], \"e371\", \"M35.2 126.3C14.9 120.8 0 102.7 0 81C0 61 28.6 20.6 41.6 3.3c3.2-4.4 9.6-4.4 12.8 0c9.5 12.6 27.1 37.2 36 57.5c.3 .7 .6 1.4 .9 2.1C94.2 69.7 96 76 96 81c0 26-21.5 47-48 47c-4.4 0-8.7-.6-12.8-1.7zm81.4-85.1C156.7 15.2 204.6 0 256 0C397.4 0 512 114.6 512 256s-114.6 256-256 256S0 397.4 0 256c0-35.8 7.3-69.9 20.6-100.8c8.6 3.1 17.8 4.8 27.4 4.8c8.9 0 17.6-1.5 25.7-4.2C57.3 185.5 48 219.7 48 256c0 114.9 93.1 208 208 208s208-93.1 208-208s-93.1-208-208-208c-48.7 0-93.4 16.7-128.9 44.7c.6-3.8 .9-7.7 .9-11.7c0-11.4-3.8-22.4-7.1-30.5c-1.3-3.1-2.7-6.2-4.3-9.3zM96 272c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16zm208-16h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H304c-8.8 0-16-7.2-16-16s7.2-16 16-16zM183.6 409.5c-9.7-9-10.2-24.2-1.2-33.9C196.7 360.3 221.4 344 256 344s59.3 16.3 73.5 31.6c9 9.7 8.5 24.9-1.2 33.9s-24.9 8.5-33.9-1.2c-7.4-7.9-20-16.4-38.5-16.4s-31.1 8.5-38.5 16.4c-9 9.7-24.2 10.2-33.9 1.2z\"]\n};\nvar faMailboxFlagUp = {\n prefix: 'far',\n iconName: 'mailbox-flag-up',\n icon: [576, 512, [], \"e5bb\", \"M376 224c-13.3 0-24-10.7-24-24V88 56c0-13.3 10.7-24 24-24h64c13.3 0 24 10.7 24 24V88c0 13.3-10.7 24-24 24H400v88c0 13.3-10.7 24-24 24zM144 112c-53 0-96 43-96 96V384c0 8.8 7.2 16 16 16H240V208c0-53-43-96-96-96zm107.3 0c22.8 25.5 36.7 59.1 36.7 96V400H512c8.8 0 16-7.2 16-16V208c0-34.9-18.7-65.5-46.6-82.3c9.1-9.9 14.6-23.2 14.6-37.7V79c47.4 23.6 80 72.5 80 129V384c0 35.3-28.7 64-64 64H288 240 64c-35.3 0-64-28.7-64-64V208C0 128.5 64.5 64 144 64l176 0V88v24H251.3zM104 192h80c13.3 0 24 10.7 24 24s-10.7 24-24 24H104c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faMemoCircleInfo = {\n prefix: 'far',\n iconName: 'memo-circle-info',\n icon: [576, 512, [], \"e49a\", \"M320 48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H284.5c12 18.4 27.4 34.5 45.3 47.3c-3.2 .5-6.4 .7-9.7 .7H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V198.6c-17.2 4.9-33.4 12.3-48 21.8V64c0-8.8-7.2-16-16-16zM96 152c0-13.3 10.7-24 24-24H264c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24zm24 72H264c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 96h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24zm312-96a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm0 96a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm-32 48c0 8.8 7.2 16 16 16h0v48h0c-8.8 0-16 7.2-16 16s7.2 16 16 16h16 16c8.8 0 16-7.2 16-16s-7.2-16-16-16V368c0-8.8-7.2-16-16-16H416c-8.8 0-16 7.2-16 16z\"]\n};\nvar faGift = {\n prefix: 'far',\n iconName: 'gift',\n icon: [512, 512, [127873], \"f06b\", \"M231.9 44.4C215.7 16.9 186.1 0 154.2 0H152C103.4 0 64 39.4 64 88c0 14.4 3.5 28 9.6 40H48c-26.5 0-48 21.5-48 48v64c0 20.9 13.4 38.7 32 45.3V288 448c0 35.3 28.7 64 64 64H416c35.3 0 64-28.7 64-64V288v-2.7c18.6-6.6 32-24.4 32-45.3V176c0-26.5-21.5-48-48-48H438.4c6.1-12 9.6-25.6 9.6-40c0-48.6-39.4-88-88-88h-2.2c-31.9 0-61.5 16.9-77.7 44.4L256 85.5l-24.1-41zM464 176v64H432 288V176h72H464zm-240 0v64H80 48V176H152h72zm0 112V464H96c-8.8 0-16-7.2-16-16V288H224zm64 176V288H432V448c0 8.8-7.2 16-16 16H288zm72-336H288h-1.3l34.8-59.2C329.1 55.9 342.9 48 357.8 48H360c22.1 0 40 17.9 40 40s-17.9 40-40 40zm-136 0H152c-22.1 0-40-17.9-40-40s17.9-40 40-40h2.2c14.9 0 28.8 7.9 36.3 20.8L225.3 128H224z\"]\n};\nvar faDiceTwo = {\n prefix: 'far',\n iconName: 'dice-two',\n icon: [448, 512, [9857], \"f528\", \"M384 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM352 352a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM128 192a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faVolume = {\n prefix: 'far',\n iconName: 'volume',\n icon: [576, 512, [128265, \"volume-medium\"], \"f6a8\", \"M191.9 201.9L304 102.3V409.7L191.9 310.1c-4.4-3.9-10.1-6.1-15.9-6.1H88c-4.4 0-8-3.6-8-8V216c0-4.4 3.6-8 8-8h88c5.9 0 11.6-2.2 15.9-6.1zM322.2 32c-7.3 0-14.3 2.7-19.8 7.5L166.9 160H88c-30.9 0-56 25.1-56 56v80c0 30.9 25.1 56 56 56h78.9L302.4 472.5c5.5 4.8 12.5 7.5 19.8 7.5c16.5 0 29.8-13.3 29.8-29.8V61.8C352 45.3 338.7 32 322.2 32zm182.9 75c-10.3-8.4-25.4-6.8-33.8 3.5s-6.8 25.4 3.5 33.8C507.3 170.7 528 210.9 528 256s-20.7 85.3-53.2 111.8c-10.3 8.4-11.8 23.5-3.5 33.8s23.5 11.8 33.8 3.5c43.2-35.2 70.9-88.9 70.9-149s-27.7-113.8-70.9-149zm-60.5 74.5c-10.3-8.4-25.4-6.8-33.8 3.5s-6.8 25.4 3.5 33.8C425.1 227.6 432 241 432 256s-6.9 28.4-17.7 37.3c-10.3 8.4-11.8 23.5-3.5 33.8s23.5 11.8 33.8 3.5C466.1 312.9 480 286.1 480 256s-13.9-56.9-35.4-74.5z\"]\n};\nvar faVolumeMedium = faVolume;\nvar faTransporter5 = {\n prefix: 'far',\n iconName: 'transporter-5',\n icon: [512, 512, [], \"e2a6\", \"M224 0c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H224zM176 128c-8.8 0-16 7.2-16 16s7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H176zM112 256c-8.8 0-16 7.2-16 16s7.2 16 16 16H400c8.8 0 16-7.2 16-16s-7.2-16-16-16H112zm64 128c-8.8 0-16 7.2-16 16s7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H176zm-56 80c-13.3 0-24 10.7-24 24s10.7 24 24 24H392c13.3 0 24-10.7 24-24s-10.7-24-24-24H120zM64 160l-7.3-25.4c-1.1-3.9-4.7-6.6-8.7-6.6s-7.6 2.7-8.7 6.6L32 160 6.6 167.3C2.7 168.4 0 171.9 0 176s2.7 7.6 6.6 8.7L32 192l7.3 25.4c1.1 3.9 4.7 6.6 8.7 6.6s7.6-2.7 8.7-6.6L64 192l25.4-7.3c3.9-1.1 6.6-4.7 6.6-8.7s-2.7-7.6-6.6-8.7L64 160zM472.7 6.6C471.6 2.7 468.1 0 464 0s-7.6 2.7-8.7 6.6L448 32l-25.4 7.3c-3.9 1.1-6.6 4.7-6.6 8.7s2.7 7.6 6.6 8.7L448 64l7.3 25.4c1.1 3.9 4.7 6.6 8.7 6.6s7.6-2.7 8.7-6.6L480 64l25.4-7.3c3.9-1.1 6.6-4.7 6.6-8.7s-2.7-7.6-6.6-8.7L480 32 472.7 6.6z\"]\n};\nvar faGaugeCircleBolt = {\n prefix: 'far',\n iconName: 'gauge-circle-bolt',\n icon: [640, 512, [], \"e496\", \"M256 464c29.4 0 57.3-6.1 82.6-17.1c7.4 14.7 16.7 28.2 27.7 40.1C333 503 295.5 512 256 512C114.6 512 0 397.4 0 256S114.6 0 256 0C375.4 0 475.6 81.7 504 192.2c-2.6-.1-5.3-.2-8-.2c-14 0-27.5 1.6-40.6 4.7C429.9 110.7 350.3 48 256 48C141.1 48 48 141.1 48 256s93.1 208 208 208zm0-56c-30.9 0-56-25.1-56-56c0-22.3 13.1-41.6 32-50.6V120c0-13.3 10.7-24 24-24s24 10.7 24 24V301.4c18.9 9 32 28.3 32 50.6c0 30.9-25.1 56-56 56zM128 160a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm-16 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm208-64a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm176 64a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm47.9 63c-4.3-3.7-10.6-4-15.1-.6l-96 72c-4.1 3.1-5.8 8.5-4.2 13.4s6.2 8.2 11.4 8.2h35.6l-30.1 54.2c-2.7 5-1.7 11.1 2.6 14.9s10.6 4 15.1 .6l96-72c4.1-3.1 5.8-8.5 4.2-13.4s-6.2-8.2-11.4-8.2H516.4l30.1-54.2c2.8-5 1.7-11.1-2.6-14.9z\"]\n};\nvar faCoinFront = {\n prefix: 'far',\n iconName: 'coin-front',\n icon: [512, 512, [], \"e3fc\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-384a128 128 0 1 1 0 256 128 128 0 1 1 0-256zm0 304a176 176 0 1 0 0-352 176 176 0 1 0 0 352zm24-248c0-13.3-10.7-24-24-24s-24 10.7-24 24V328c0 13.3 10.7 24 24 24s24-10.7 24-24V184z\"]\n};\nvar faFileSlash = {\n prefix: 'far',\n iconName: 'file-slash',\n icon: [640, 512, [], \"e3a7\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L512 376V154.5c0-17-6.7-33.3-18.7-45.3L402.7 18.7C390.7 6.7 374.5 0 357.5 0H192c-35.3 0-64 28.7-64 64V75L38.8 5.1zM176 112.6V64c0-8.8 7.2-16 16-16H352v80c0 17.7 14.3 32 32 32h80V338.4L176 112.6zM497.8 488.2l-37.7-29.7c-2.9 3.4-7.3 5.5-12.1 5.5H192c-8.8 0-16-7.2-16-16V234.7l-48-37.8V448c0 35.3 28.7 64 64 64H448c20.1 0 38.1-9.3 49.8-23.8z\"]\n};\nvar faMessageArrowUpRight = {\n prefix: 'far',\n iconName: 'message-arrow-up-right',\n icon: [512, 512, [], \"e1dd\", \"M208 416c0-26.5-21.5-48-48-48H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H448c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H309.3c-10.4 0-20.5 3.4-28.8 9.6L208 432V416zm-.2 76.2l.2-.2 101.3-76H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h48 48v48 4 .3 6.4V496c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L202.7 496l5.1-3.8zM216 128c-13.3 0-24 10.7-24 24s10.7 24 24 24h54.1l-87 87c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l87-87V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152c0-13.3-10.7-24-24-24H216z\"]\n};\nvar faTreasureChest = {\n prefix: 'far',\n iconName: 'treasure-chest',\n icon: [576, 512, [], \"f723\", \"M160 80H416V240H352V224c0-17.7-14.3-32-32-32H256c-17.7 0-32 14.3-32 32v16H160V80zM48 160c0-38.7 27.5-71 64-78.4V240H48l0-80zm0 272l0-144h64V432H48zM416 288V432H160V288h64v32c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V288h64zM528 432H464V288h64V432zm0-272v80H464V81.6c36.5 7.4 64 39.7 64 78.4zM128 32C57.3 32 0 89.3 0 160V432c0 26.5 21.5 48 48 48H528c26.5 0 48-21.5 48-48V160c0-70.7-57.3-128-128-128H128zM304 256v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V256c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faChessQueen = {\n prefix: 'far',\n iconName: 'chess-queen',\n icon: [512, 512, [9819], \"f445\", \"M256 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-95.2-8c-18.1 0-31.3 12.8-35.6 26.9c-8 26.2-32.4 45.2-61.2 45.2c-10 0-19.4-2.3-27.7-6.3c-7.6-3.7-16.7-3.3-24 1.2C.7 162.1-3.1 177.1 3.7 188.9L97.6 352H153l-83-144.1c40.5-2.2 75.3-25.9 93.1-59.8c22 26.8 55.4 43.9 92.8 43.9s70.8-17.1 92.8-43.9c17.8 34 52.6 57.7 93.1 59.8L359 352h55.4l93.9-163.1c6.8-11.7 3-26.7-8.6-33.8c-7.3-4.5-16.4-4.9-24-1.2c-8.4 4-17.7 6.3-27.7 6.3c-28.8 0-53.2-19-61.2-45.2C382.5 100.8 369.3 88 351.2 88c-14.5 0-26.3 8.5-32.4 19.3c-12.4 22-35.9 36.7-62.8 36.7s-50.4-14.8-62.8-36.7C187.1 96.5 175.4 88 160.8 88zM133.2 432H378.8l16.6 32H116.7l16.6-32zm283.7-30.7c-5.5-10.6-16.5-17.3-28.4-17.3h-265c-12 0-22.9 6.7-28.4 17.3L68.6 452.5c-3 5.8-4.6 12.2-4.6 18.7c0 22.5 18.2 40.8 40.8 40.8H407.2c22.5 0 40.8-18.2 40.8-40.8c0-6.5-1.6-12.9-4.6-18.7l-26.5-51.2z\"]\n};\nvar faPaintbrushFine = {\n prefix: 'far',\n iconName: 'paintbrush-fine',\n icon: [576, 512, [\"paint-brush-alt\", \"paint-brush-fine\", \"paintbrush-alt\"], \"f5a9\", \"M489 57L306.2 239.7l30.1 30.1L519 87c8.3-8.3 8.3-21.8 0-30.1s-21.8-8.3-30.1 0zM210.5 325c-8.2-3.3-17.2-5-26.5-5c-39.8 0-72 32.2-72 72c0 3.8 .3 7.5 .8 11.1c3.3 21.4-2.2 43.1-13.8 60l-.7 .9H184c39.8 0 72-32.2 72-72c0-9.4-1.8-18.3-5-26.5L210.5 325zm-6.2-51.3L455 23c27-27 70.9-27 97.9 0s27 70.9 0 97.9L302.3 371.7c1.1 6.6 1.7 13.4 1.7 20.3c0 66.3-53.7 120-120 120H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h6c18.1 0 30.1-19.8 27.4-37.6c-.9-6-1.4-12.1-1.4-18.4c0-66.3 53.7-120 120-120c6.9 0 13.7 .6 20.3 1.7z\"]\n};\nvar faPaintBrushAlt = faPaintbrushFine;\nvar faPaintBrushFine = faPaintbrushFine;\nvar faPaintbrushAlt = faPaintbrushFine;\nvar faGlasses = {\n prefix: 'far',\n iconName: 'glasses',\n icon: [576, 512, [], \"f530\", \"M118.6 80c-11.5 0-21.4 7.9-24 19.1L57.1 259.8c25.6-7.8 52.6-11.8 78.6-11.8c40.1 0 82.2 9.6 118.5 27.3c5.8 2.9 10.4 7.3 13.5 12.7h40.6c3.1-5.4 7.7-9.8 13.5-12.7c36.2-17.8 78.4-27.3 118.5-27.3c26 0 53 4.1 78.6 11.8L481.4 99.1c-2.6-11.2-12.6-19.1-24-19.1c-3.1 0-6.2 .6-9.2 1.8L416.9 94.3c-12.3 4.9-26.3-1.1-31.2-13.4s1.1-26.3 13.4-31.2l31.3-12.5c8.6-3.4 17.7-5.2 27-5.2c33.8 0 63.1 23.3 70.8 56.2l43.9 188c1.7 7.3 2.9 14.7 3.5 22.2c.3 1.8 .5 3.7 .5 5.6v5.2c0 .5 0 1 0 1.5V352c0 .2 0 .4 0 .6V368c0 61.9-50.1 112-112 112H419.7c-59.4 0-108.5-46.4-111.8-105.8L306.6 352H269.4l-1.2 22.2C264.9 433.6 215.8 480 156.3 480H112C50.1 480 0 429.9 0 368V352 310.7 304c0-1.9 .2-3.8 .5-5.7c.6-7.4 1.8-14.8 3.5-22.1l43.9-188C55.5 55.3 84.8 32 118.6 32c9.2 0 18.4 1.8 27 5.2l31.3 12.5c12.3 4.9 18.3 18.9 13.4 31.2s-18.9 18.3-31.2 13.4L127.8 81.8c-2.9-1.2-6-1.8-9.2-1.8zM48 352v16c0 35.3 28.7 64 64 64h44.3c34 0 62-26.5 63.9-60.5l3.2-57.5c-27.3-11.7-58.3-18-87.7-18c-29.5 0-60.5 6.4-87.7 18.2V352zm392.3-56c-29.4 0-60.4 6.3-87.7 18l3.2 57.5c1.9 33.9 29.9 60.5 63.9 60.5H464c35.3 0 64-28.7 64-64V314.2c-27.2-11.8-58.2-18.2-87.7-18.2z\"]\n};\nvar faHoodCloak = {\n prefix: 'far',\n iconName: 'hood-cloak',\n icon: [576, 512, [], \"f6ef\", \"M454.4 15.3c3 7.7 1.8 16.2-2.9 22.7c-1 1.3-2.1 2.6-3.3 3.7l-32 29c11.4 10.2 22.6 21.8 33.1 34.8C484.5 149.1 512 208.6 512 288c0 58.5 14.6 101.6 28.6 129.7c7 14.1 14 24.5 19 31.1c2.5 3.3 4.5 5.7 5.7 7.1c.6 .7 1.1 1.2 1.3 1.4l.1 .1 0 0 0 0 0 0c9 9.2 11.7 22.8 6.8 34.7c-5 12-16.6 19.8-29.6 19.8H32c-12.9 0-24.6-7.8-29.6-19.8c-4.9-11.9-2.2-25.6 6.8-34.7l.2-.2c.2-.2 .7-.7 1.3-1.4c1.3-1.4 3.2-3.8 5.7-7.1c5-6.6 11.9-17 19-31.1C49.4 389.6 64 346.5 64 288C64 151.8 111.4 76.9 167.7 37.7C222 0 278.2 0 288 0h0H432c9.9 0 18.8 6.1 22.4 15.3zm43.3 423.8c-17-34-33.7-84.4-33.7-151.2c0-86.7-38.5-144.2-79.9-181.5c-10.1-9.1-15.9-22-15.9-35.6c0-8.1 2-16 5.8-22.9H288h0c-7.2 0-51 0-92.8 29.1C154.3 105.5 112 164 112 288c0 66.8-16.7 117.2-33.7 151.2c-4.8 9.6-9.6 17.9-14.1 24.8H160V336c0-70.7 57.3-128 128-128s128 57.3 128 128V464h95.8c-4.5-7-9.3-15.2-14.1-24.8zM208 464H368V336c0-44.2-35.8-80-80-80s-80 35.8-80 80V464z\"]\n};\nvar faSquareQuote = {\n prefix: 'far',\n iconName: 'square-quote',\n icon: [448, 512, [], \"e329\", \"M384 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM208 240V216 192c0-17.7-14.3-32-32-32H128c-17.7 0-32 14.3-32 32v48c0 17.7 14.3 32 32 32h32v7.3c0 11.7-8.5 21.7-20.1 23.7l-7.9 1.3c-13.1 2.2-21.9 14.5-19.7 27.6s14.5 21.9 27.6 19.7l7.9-1.3c34.7-5.8 60.2-35.8 60.2-71V240zm144 39.3V240 216 192c0-17.7-14.3-32-32-32H272c-17.7 0-32 14.3-32 32v48c0 17.7 14.3 32 32 32h32v7.3c0 11.7-8.5 21.7-20.1 23.7l-7.9 1.3c-13.1 2.2-21.9 14.5-19.7 27.6s14.5 21.9 27.6 19.7l7.9-1.3c34.7-5.8 60.2-35.8 60.2-71z\"]\n};\nvar faUpLeft = {\n prefix: 'far',\n iconName: 'up-left',\n icon: [384, 512, [], \"e2bd\", \"M64 128V321.4c0 1.7 .8 3.2 2.1 4.2c2.1 1.6 5 1.4 6.9-.5L127 271c9.4-9.4 24.6-9.4 33.9 0L285.7 395.7c2.7 2.7 6.5 4.3 10.3 4.3s7.6-1.5 10.3-4.3l25.4-25.4c2.7-2.7 4.3-6.5 4.3-10.3s-1.5-7.6-4.3-10.3L207 225c-9.4-9.4-9.4-24.6 0-33.9L261.1 137c1.8-1.8 2.1-4.8 .5-6.9c-1-1.3-2.5-2.1-4.2-2.1H64zm-48-8c0-22.1 17.9-40 40-40H257.4c16.8 0 32.5 7.9 42.6 21.3c15.9 21.2 13.8 50.9-4.9 69.6L257.9 208 365.7 315.7C377.4 327.5 384 343.4 384 360s-6.6 32.5-18.3 44.3l-25.4 25.4C328.5 441.4 312.6 448 296 448s-32.5-6.6-44.3-18.3L144 321.9 106.9 359c-18.7 18.7-48.4 20.8-69.6 5C23.9 353.9 16 338.1 16 321.4V120z\"]\n};\nvar faBringFront = {\n prefix: 'far',\n iconName: 'bring-front',\n icon: [640, 512, [], \"f857\", \"M64 48H192c8.8 0 16 7.2 16 16h48c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V192c0 35.3 28.7 64 64 64h64V208H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16zM448 512H576c35.3 0 64-28.7 64-64V320c0-35.3-28.7-64-64-64H512v48h64c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H448c-8.8 0-16-7.2-16-16H384c0 35.3 28.7 64 64 64zM224 96c-35.3 0-64 28.7-64 64V352c0 35.3 28.7 64 64 64H416c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H224z\"]\n};\nvar faChessBoard = {\n prefix: 'far',\n iconName: 'chess-board',\n icon: [448, 512, [], \"f43c\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm128 0v64h64V96h64v64h64V96h64v64H320v64h64v64H320v64h64v64H320V352H256v64H192V352H128v64H64V352h64V288H64V224h64V160H64V96h64zm64 128h64V160H192v64zm0 64V224H128v64h64zm64 0H192v64h64V288zm0 0h64V224H256v64z\"]\n};\nvar faBurgerCheese = {\n prefix: 'far',\n iconName: 'burger-cheese',\n icon: [512, 512, [127828, \"cheeseburger\"], \"f7f1\", \"M396.5 134.9c-7.7-8.5-17-17.1-28.6-24.9c.1 .6 .1 1.3 .1 2c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-6.5 3.8-12 9.3-14.6c-19.9-9.1-44.5-15.6-75.3-17.1c1.2 2.3 1.9 4.9 1.9 7.7c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-2.8 .7-5.4 1.9-7.7c-30.7 1.5-55.4 8-75.3 17.1c5.5 2.5 9.3 8.1 9.3 14.6c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-.7 0-1.3 .1-2c-11.6 7.8-21 16.4-28.6 24.9c-12.8 14.2-21.5 29-27.1 41.1H423.6c-5.7-12.1-14.3-26.9-27.1-41.1zM450.9 224H61.1C45 224 32 211 32 194.9c0-1.9 .2-3.7 .6-5.6C37.9 168.3 78.8 32 256 32s218.1 136.3 223.4 157.3c.5 1.9 .6 3.7 .6 5.6c0 16.1-13 29.1-29.1 29.1zM128 432H384c20.9 0 38.7-13.4 45.3-32H82.7c6.6 18.6 24.4 32 45.3 32zM32 384c0-17.7 14.3-32 32-32H448c17.7 0 32 14.3 32 32c0 53-43 96-96 96H128c-53 0-96-43-96-96zM253.5 262.8l52.2 26.1c9 4.5 19.6 4.5 28.6 0l52.2-26.1c8.9-4.4 18.7-6.8 28.6-6.8H432h32c17.7 0 32 14.3 32 32s-14.3 32-32 32H48c-17.7 0-32-14.3-32-32s14.3-32 32-32H208h16.9c9.9 0 19.7 2.3 28.6 6.8z\"]\n};\nvar faCheeseburger = faBurgerCheese;\nvar faBuildingCircleCheck = {\n prefix: 'far',\n iconName: 'building-circle-check',\n icon: [640, 512, [], \"e4d2\", \"M64 48H320c8.8 0 16 7.2 16 16V294.6c11.1-24.3 27.7-45.5 48-62.3V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c19.5 0 37-8.7 48.7-22.5c-13.4-14-24.5-30.3-32.7-48.1V448c0 8.8-7.2 16-16 16H240V400c0-26.5-21.5-48-48-48s-48 21.5-48 48v64H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16zm24 56v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V104c0-8.8-7.2-16-16-16H104c-8.8 0-16 7.2-16 16zM232 88c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V104c0-8.8-7.2-16-16-16H232zM88 232v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V232c0-8.8-7.2-16-16-16H104c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V232c0-8.8-7.2-16-16-16H232zM640 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faRepeat1 = {\n prefix: 'far',\n iconName: 'repeat-1',\n icon: [512, 512, [128258], \"f365\", \"M0 254.8C-.6 268 9.6 279.3 22.8 280s24.5-9.5 25.2-22.8l.4-8C52 176.8 111.7 120 184.2 120H304v36.4c0 19.6 15.9 35.6 35.6 35.6c8.8 0 17.3-3.3 23.8-9.1l76.7-69c5.1-4.6 7.9-11 7.9-17.8s-2.9-13.3-7.9-17.8l-76.7-69c-6.5-5.9-15-9.1-23.8-9.1C319.9 0 304 15.9 304 35.6L304 72H184.2C86.2 72 5.3 148.9 .4 246.8l-.4 8zM388.1 96L352 128.5l0-65L388.1 96zM512 257.2c.7-13.2-9.5-24.5-22.8-25.2s-24.5 9.5-25.2 22.8l-.4 8C460 335.2 400.3 392 327.8 392H208V355.6c0-19.6-15.9-35.6-35.6-35.6c-8.8 0-17.3 3.3-23.8 9.1l-76.7 69c-5.1 4.6-7.9 11-7.9 17.8s2.9 13.3 7.9 17.8l76.7 69c6.5 5.9 15 9.1 23.8 9.1c19.6 0 35.6-15.9 35.6-35.6V440H327.8c98 0 178.9-76.9 183.8-174.8l.4-8zM123.9 416L160 383.5v65L123.9 416zM288 208c0-9.1-5.1-17.4-13.3-21.5s-17.9-3.2-25.1 2.3l-32 24c-10.6 8-12.8 23-4.8 33.6c6.5 8.6 17.6 11.6 27.2 8.2V304c0 13.3 10.7 24 24 24s24-10.7 24-24V208z\"]\n};\nvar faArrowDownToLine = {\n prefix: 'far',\n iconName: 'arrow-down-to-line',\n icon: [384, 512, [\"arrow-to-bottom\"], \"f33d\", \"M360 480c13.3 0 24-10.7 24-24s-10.7-24-24-24L24 432c-13.3 0-24 10.7-24 24s10.7 24 24 24l336 0zM174.5 344.4c4.5 4.8 10.9 7.6 17.5 7.6s12.9-2.7 17.5-7.6l128-136c9.1-9.7 8.6-24.8-1-33.9s-24.8-8.6-33.9 1L216 267.5l0-83.5 0-128c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 128 0 83.5L81.5 175.6c-9.1-9.7-24.3-10.1-33.9-1s-10.1 24.3-1 33.9l128 136z\"]\n};\nvar faArrowToBottom = faArrowDownToLine;\nvar faGrid5 = {\n prefix: 'far',\n iconName: 'grid-5',\n icon: [448, 512, [], \"e199\", \"M0 48c0-8.8 7.2-16 16-16H48c8.8 0 16 7.2 16 16V80c0 8.8-7.2 16-16 16H16C7.2 96 0 88.8 0 80V48zm0 96c0-8.8 7.2-16 16-16H48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H16c-8.8 0-16-7.2-16-16V144zm16 80H48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H16c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zM0 336c0-8.8 7.2-16 16-16H48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H16c-8.8 0-16-7.2-16-16V336zm16 80H48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H16c-8.8 0-16-7.2-16-16V432c0-8.8 7.2-16 16-16zM96 48c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16V80c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V48zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16zM96 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V240zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16zM96 432c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V432zM208 32h32c8.8 0 16 7.2 16 16V80c0 8.8-7.2 16-16 16H208c-8.8 0-16-7.2-16-16V48c0-8.8 7.2-16 16-16zM192 144c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H208c-8.8 0-16-7.2-16-16V144zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H208c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zM192 336c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H208c-8.8 0-16-7.2-16-16V336zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H208c-8.8 0-16-7.2-16-16V432c0-8.8 7.2-16 16-16zM288 48c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16V80c0 8.8-7.2 16-16 16H304c-8.8 0-16-7.2-16-16V48zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H304c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16zM288 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H304c-8.8 0-16-7.2-16-16V240zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H304c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16zM288 432c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H304c-8.8 0-16-7.2-16-16V432zM400 32h32c8.8 0 16 7.2 16 16V80c0 8.8-7.2 16-16 16H400c-8.8 0-16-7.2-16-16V48c0-8.8 7.2-16 16-16zM384 144c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H400c-8.8 0-16-7.2-16-16V144zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H400c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zM384 336c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H400c-8.8 0-16-7.2-16-16V336zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H400c-8.8 0-16-7.2-16-16V432c0-8.8 7.2-16 16-16z\"]\n};\nvar faSwapArrows = {\n prefix: 'far',\n iconName: 'swap-arrows',\n icon: [640, 512, [], \"e60a\", \"M111 7c9.4-9.4 24.6-9.4 33.9 0l88 88c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47V360c0 39.8 32.2 72 72 72s72-32.2 72-72V152c0-66.3 53.7-120 120-120s120 53.7 120 120l0 278.1 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-88 88c-9.4 9.4-24.6 9.4-33.9 0l-88-88c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47V152c0-39.8-32.2-72-72-72s-72 32.2-72 72V360c0 66.3-53.7 120-120 120s-120-53.7-120-120l0-278.1L57 129c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L111 7z\"]\n};\nvar faRightLongToLine = {\n prefix: 'far',\n iconName: 'right-long-to-line',\n icon: [640, 512, [], \"e444\", \"M640 88c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 336c0 13.3 10.7 24 24 24s24-10.7 24-24l0-336zM505.5 272.4c8.7-9.2 8.7-23.7 0-32.9l-121.4-129c-8.8-9.3-21-14.6-33.7-14.6c-25.6 0-46.3 20.7-46.3 46.3l0 33.7L56 176c-30.9 0-56 25.1-56 56l0 48c0 30.9 25.1 56 56 56l248 0 0 33.7c0 25.6 20.7 46.3 46.3 46.3c12.8 0 25-5.3 33.7-14.6l121.4-129zM352 200l0-53.5L455 256 352 365.5l0-53.5c0-13.3-10.7-24-24-24L56 288c-4.4 0-8-3.6-8-8l0-48c0-4.4 3.6-8 8-8l272 0c13.3 0 24-10.7 24-24z\"]\n};\nvar faPersonChalkboard = {\n prefix: 'far',\n iconName: 'person-chalkboard',\n icon: [640, 512, [], \"e53d\", \"M192 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-13.7 80H208V304H176V176.1c.7 0 1.5-.1 2.3-.1zM176 488V352h32V488c0 13.3 10.7 24 24 24s24-10.7 24-24V176H392c13.3 0 24-10.7 24-24s-10.7-24-24-24H368V48H592V272H368V224H320v48c0 26.5 21.5 48 48 48H592c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H368c-26.5 0-48 21.5-48 48v80H243.1 178.3c-31.7 0-61 17.1-76.6 44.7L43.1 276.2c-6.5 11.5-2.5 26.2 9.1 32.7s26.2 2.5 32.7-9.1L128 223.6V488c0 13.3 10.7 24 24 24s24-10.7 24-24z\"]\n};\nvar faMarsStrokeRight = {\n prefix: 'far',\n iconName: 'mars-stroke-right',\n icon: [640, 512, [9897, \"mars-stroke-h\"], \"f22b\", \"M80 256a128 128 0 1 1 256 0A128 128 0 1 1 80 256zm302.4-24C370.7 146.2 297.1 80 208 80C110.8 80 32 158.8 32 256s78.8 176 176 176c89.1 0 162.7-66.2 174.4-152H416v48c0 13.3 10.7 24 24 24s24-10.7 24-24V280h78.1l-31 31c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l72-72c9.4-9.4 9.4-24.6 0-33.9l-72-72c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l31 31H464V184c0-13.3-10.7-24-24-24s-24 10.7-24 24v48H382.4z\"]\n};\nvar faMarsStrokeH = faMarsStrokeRight;\nvar faHandBackFist = {\n prefix: 'far',\n iconName: 'hand-back-fist',\n icon: [448, 512, [\"hand-rock\"], \"f255\", \"M144 64c0-8.8 7.2-16 16-16s16 7.2 16 16c0 9.1 5.1 17.4 13.3 21.5s17.9 3.2 25.1-2.3c2.7-2 6-3.2 9.6-3.2c8.8 0 16 7.2 16 16c0 9.1 5.1 17.4 13.3 21.5s17.9 3.2 25.1-2.3c2.7-2 6-3.2 9.6-3.2c8.8 0 16 7.2 16 16c0 9.1 5.1 17.4 13.3 21.5s17.9 3.2 25.1-2.3c2.7-2 6-3.2 9.6-3.2c8.8 0 16 7.2 16 16V264c0 31.3-20 58-48 67.9c-9.6 3.4-16 12.5-16 22.6V488c0 13.3 10.7 24 24 24s24-10.7 24-24V370.2c38-20.1 64-60.1 64-106.2V160c0-35.3-28.7-64-64-64c-2.8 0-5.6 .2-8.3 .5C332.8 77.1 311.9 64 288 64c-2.8 0-5.6 .2-8.3 .5C268.8 45.1 247.9 32 224 32c-2.8 0-5.6 .2-8.3 .5C204.8 13.1 183.9 0 160 0C124.7 0 96 28.7 96 64v64.3c-11.7 7.4-22.5 16.4-32 26.9l17.8 16.1L64 155.2l-9.4 10.5C40 181.8 32 202.8 32 224.6v12.8c0 49.6 24.2 96.1 64.8 124.5l13.8-19.7L96.8 361.9l8.9 6.2c6.9 4.8 14.4 8.6 22.3 11.3V488c0 13.3 10.7 24 24 24s24-10.7 24-24V359.9c0-12.6-9.8-23.1-22.4-23.9c-7.3-.5-14.3-2.9-20.3-7.1l-13.1 18.7 13.1-18.7-8.9-6.2C96.6 303.1 80 271.3 80 237.4V224.6c0-9.9 3.7-19.4 10.3-26.8l9.4-10.5c3.8-4.2 7.9-8.1 12.3-11.6V208c0 8.8 7.2 16 16 16s16-7.2 16-16V142.3 128 64z\"]\n};\nvar faHandRock = faHandBackFist;\nvar faGridRound5 = {\n prefix: 'far',\n iconName: 'grid-round-5',\n icon: [448, 512, [], \"e5de\", \"M64 64A32 32 0 1 1 0 64a32 32 0 1 1 64 0zm0 96A32 32 0 1 1 0 160a32 32 0 1 1 64 0zM32 288a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm32 64A32 32 0 1 1 0 352a32 32 0 1 1 64 0zM32 480a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM160 64A32 32 0 1 1 96 64a32 32 0 1 1 64 0zM128 192a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm32 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM128 384a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm32 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM224 96a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm32 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM224 288a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm32 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM224 480a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM352 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM320 192a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm32 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM320 384a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm32 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM416 96a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm32 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM416 288a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm32 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM416 480a32 32 0 1 1 0-64 32 32 0 1 1 0 64z\"]\n};\nvar faTally = {\n prefix: 'far',\n iconName: 'tally',\n icon: [640, 512, [\"tally-5\"], \"f69c\", \"M128 40c13.3 0 24 10.7 24 24V286.7L232 260V64c0-13.3 10.7-24 24-24s24 10.7 24 24V244l80-26.7V64c0-13.3 10.7-24 24-24s24 10.7 24 24V201.4l80-26.7V64c0-13.3 10.7-24 24-24s24 10.7 24 24v94.7l64.4-21.5c12.6-4.2 26.2 2.6 30.4 15.2s-2.6 26.2-15.2 30.4L536 209.3V448c0 13.3-10.7 24-24 24s-24-10.7-24-24V225.3L408 252V448c0 13.3-10.7 24-24 24s-24-10.7-24-24V268l-80 26.7V448c0 13.3-10.7 24-24 24s-24-10.7-24-24V310.6l-80 26.7V448c0 13.3-10.7 24-24 24s-24-10.7-24-24V353.3L39.6 374.8C27 379 13.4 372.2 9.2 359.6S11.8 333.4 24.4 329.2L104 302.7V64c0-13.3 10.7-24 24-24z\"]\n};\nvar faTally5 = faTally;\nvar faSquareCaretUp = {\n prefix: 'far',\n iconName: 'square-caret-up',\n icon: [448, 512, [\"caret-square-up\"], \"f151\", \"M64 80c-8.8 0-16 7.2-16 16l0 320c0 8.8 7.2 16 16 16l320 0c8.8 0 16-7.2 16-16l0-320c0-8.8-7.2-16-16-16L64 80zM0 96C0 60.7 28.7 32 64 32l320 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96zm224 64c6.7 0 13 2.8 17.6 7.7l104 112c6.5 7 8.2 17.2 4.4 25.9s-12.5 14.4-22 14.4l-208 0c-9.5 0-18.2-5.7-22-14.4s-2.1-18.9 4.4-25.9l104-112c4.5-4.9 10.9-7.7 17.6-7.7z\"]\n};\nvar faCaretSquareUp = faSquareCaretUp;\nvar faCloudShowersWater = {\n prefix: 'far',\n iconName: 'cloud-showers-water',\n icon: [576, 512, [], \"e4e4\", \"M184.1 107.8C186.3 74.4 214.1 48 248 48c23.4 0 43.9 12.6 55.1 31.5c3.4 5.7 9 9.8 15.5 11.2s13.3 .1 18.8-3.7c6.4-4.4 14.2-7 22.6-7c19.1 0 35.2 13.4 39.1 31.4c2.4 11 12.2 18.9 23.4 18.9h10.6c17 0 30.9 13.8 30.9 30.9s-13.8 30.9-30.9 30.9H142.9c-17 0-30.9-13.8-30.9-30.9s13.8-30.9 30.9-30.9h17.3c12.7 0 23.1-9.8 24-22.5zM248 0c-51.6 0-95 34.9-108 82.3c-42.2 1.5-76 36.2-76 78.8c0 43.6 35.3 78.9 78.9 78.9H433.1c43.6 0 78.9-35.3 78.9-78.9c0-41.4-31.8-75.3-72.4-78.6C425.6 52.7 395.2 32 360 32c-10.1 0-19.9 1.7-28.9 4.9C310.6 14.3 281 0 248 0zM132.6 308.3c6.8-11.4 3.1-26.1-8.2-32.9s-26.1-3.1-32.9 8.2l-48 80c-6.8 11.4-3.1 26.1 8.2 32.9s26.1 3.1 32.9-8.2l48-80zm327.8-32.9c-11.4-6.8-26.1-3.1-32.9 8.2l-48 80c-6.8 11.4-3.1 26.1 8.2 32.9s26.1 3.1 32.9-8.2l48-80c6.8-11.4 3.1-26.1-8.2-32.9zM244.6 308.3c6.8-11.4 3.1-26.1-8.2-32.9s-26.1-3.1-32.9 8.2l-48 80c-6.8 11.4-3.1 26.1 8.2 32.9s26.1 3.1 32.9-8.2l48-80zm103.8-32.9c-11.4-6.8-26.1-3.1-32.9 8.2l-48 80c-6.8 11.4-3.1 26.1 8.2 32.9s26.1 3.1 32.9-8.2l48-80c6.8-11.4 3.1-26.1-8.2-32.9zM111.9 430.1c-9.1-8.1-22.8-8.1-31.9 0C62.8 445 41 456.8 18.8 461.8C5.9 464.7-2.3 477.5 .6 490.5s15.7 21.1 28.7 18.2C58 502.2 81.6 488.2 96 478.2c28.1 19.5 61.4 33.8 96 33.8s67.9-14.3 96-33.8c28.1 19.5 61.4 33.8 96 33.8s67.9-14.3 96-33.8c14.4 10 38 24 66.7 30.4c12.9 2.9 25.8-5.2 28.7-18.2s-5.2-25.8-18.2-28.7c-22-4.9-44.3-16.7-61.3-31.8c-9.1-8.1-22.8-8.1-31.9 0c-21.5 18.6-51.2 33.9-80 33.9s-58.5-15.3-80-33.9c-9.1-8.1-22.8-8.1-31.9 0c-21.5 18.6-51.2 33.9-80 33.9s-58.5-15.3-80-33.9z\"]\n};\nvar faChartBar = {\n prefix: 'far',\n iconName: 'chart-bar',\n icon: [512, 512, [\"bar-chart\"], \"f080\", \"M24 32c13.3 0 24 10.7 24 24V408c0 13.3 10.7 24 24 24H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H72c-39.8 0-72-32.2-72-72V56C0 42.7 10.7 32 24 32zM128 136c0-13.3 10.7-24 24-24l208 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-208 0c-13.3 0-24-10.7-24-24zm24 72H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 96H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faBarChart = faChartBar;\nvar faHandsBubbles = {\n prefix: 'far',\n iconName: 'hands-bubbles',\n icon: [576, 512, [\"hands-wash\"], \"e05e\", \"M416 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM528 64a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM144 464a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0-112a80 80 0 1 1 0 160 80 80 0 1 1 0-160zM48 143.8v84.6c0 39.8 16 77.3 43.4 104.7c-14.4 7.6-26.9 18.3-36.6 31.2C20.1 328.3 0 279.8 0 228.4V143.8c0-35.3 28.7-64 64-64c22.6 0 42.5 11.7 53.9 29.4L164.7 28C180.2 1.2 214.4-8 241.2 7.5c3.8 2.2 7.2 4.8 10.3 7.6c17.4-12.7 41.3-14.8 61.1-3.3s30 33.2 27.7 54.6c4 1.2 8 2.9 11.7 5.1c12.4 7.2 21.1 18.4 25.2 31c-21.4-8.7-46.2-9.1-69 1l-53 23.5 20.2-35 0-.1 16-27.7c2.2-3.8 .9-8.7-2.9-10.9s-8.7-.9-10.9 2.9l-8 13.8 0 .1-8 13.9-31.5 54.5c-19.1 9.6-36.4 21.8-51.5 36.1c-9.8-7.1-12.9-20.7-6.7-31.4l48-83.1 0-.1c2.2-3.8 .9-8.7-2.9-10.9s-8.7-.9-10.9 2.9L124.8 193.2c-5.4 9.4-16.5 14-27 11.2S80 192.1 80 181.2V143.8c0-8.8-7.2-16-16-16s-16 7.2-16 16zM326.1 512c-31.3 0-60.7-7.9-86.4-21.8c8.4-13.8 13.9-29.5 15.7-46.4c20.5 12.8 44.7 20.1 70.7 20.1H456c4.4 0 8-3.6 8-8c0-4.4-3.5-7.9-7.9-8H392c-13.3 0-24-10.7-24-24s10.7-24 24-24h63.9l.2 0H488c4.4 0 8-3.6 8-8c0-4.4-3.5-8-7.9-8H392c-13.3 0-24-10.7-24-24s10.7-24 24-24h95.8l.2 0h32c4.4 0 8-3.6 8-8s-3.6-8-8-8H504.2l-.2 0H392c-13.3 0-24-10.7-24-24s10.7-24 24-24h95.8l.2 0c4.4 0 8-3.6 8-8s-3.6-8-8-8H335.9c-11.2 0-21-7.8-23.4-18.8s3-22.2 13.2-27l25.1-11.8c8-3.8 11.4-13.3 7.7-21.3s-13.3-11.4-21.3-7.7l-56.4 26.5c-27.6 13-50.1 33.5-65.5 58.4c-.2 .2-.3 .5-.5 .7c-14.6 21.7-22.8 47.6-22.8 74.8l0 .9c-14.5-6.9-30.7-10.7-47.7-10.8c1.8-33.2 12.6-64.6 30.4-91.3c20.2-32.4 49.6-59.2 85.7-76.1l56.4-26.5c32-15.1 70.1-1.3 85.2 30.7c7.9 16.8 7.9 35.3 1.4 51.3H488c30.9 0 56 25.1 56 56c0 4.4-.5 8.6-1.5 12.7c19.7 8.7 33.5 28.4 33.5 51.3s-13.8 42.6-33.5 51.3c1 4.1 1.5 8.3 1.5 12.7c0 22.9-13.8 42.6-33.5 51.3c1 4.1 1.5 8.3 1.5 12.7c0 30.9-25.1 56-56 56H326.1z\"]\n};\nvar faHandsWash = faHandsBubbles;\nvar faLessThanEqual = {\n prefix: 'far',\n iconName: 'less-than-equal',\n icon: [448, 512, [], \"f537\", \"M401 78.2c12.3-5 18.2-19 13.2-31.3s-19-18.2-31.3-13.2L47 169.8c-9.1 3.7-15 12.5-15 22.2s5.9 18.6 15 22.2l336 136c12.3 5 26.3-1 31.3-13.2s-1-26.3-13.2-31.3L120 192 401 78.2zM24 432c-13.3 0-24 10.7-24 24s10.7 24 24 24H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H24z\"]\n};\nvar faTrain = {\n prefix: 'far',\n iconName: 'train',\n icon: [448, 512, [128646], \"f238\", \"M352 48c26.5 0 48 21.5 48 48v96H48V96c0-26.5 21.5-48 48-48H352zM48 352V240H400V352c0 26.5-21.5 48-48 48H96c-26.5 0-48-21.5-48-48zM96 0C43 0 0 43 0 96V352c0 42.8 28 79 66.6 91.4L39 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l57-57H318.1l57 57c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-27.6-27.6C420 431 448 394.8 448 352V96c0-53-43-96-96-96H96zM224 360a40 40 0 1 0 0-80 40 40 0 1 0 0 80z\"]\n};\nvar faUpFromDottedLine = {\n prefix: 'far',\n iconName: 'up-from-dotted-line',\n icon: [448, 512, [], \"e456\", \"M114.2 192L224 82 333.8 192H280c-13.3 0-24 10.7-24 24V336H192V216c0-13.3-10.7-24-24-24H114.2zM224 32c-11.5 0-22.5 4.6-30.6 12.7L77.6 160.8C68.9 169.5 64 181.3 64 193.6c0 25.6 20.8 46.4 46.4 46.4H144v96c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48V240h33.6c25.6 0 46.4-20.8 46.4-46.4c0-12.3-4.9-24.1-13.6-32.8L254.6 44.7C246.5 36.6 235.5 32 224 32zM32 480a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm96 0a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm128-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm64 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm128-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faEyeLowVision = {\n prefix: 'far',\n iconName: 'eye-low-vision',\n icon: [640, 512, [\"low-vision\"], \"f2a8\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L525.6 386.7c39.6-40.6 66.4-86.1 79.9-118.4c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C465.5 68.8 400.8 32 320 32c-68.2 0-125 26.3-169.3 60.8L38.8 5.1zm151 118.3C226 97.7 269.5 80 320 80c65.2 0 118.8 29.6 159.9 67.7C518.4 183.5 545 226 558.6 256c-12.6 28-36.6 66.8-70.9 100.9l-53.8-42.2c9.1-17.6 14.2-37.5 14.2-58.7c0-70.7-57.3-128-128-128c-32.2 0-61.7 11.9-84.2 31.5l-46.1-36.1zM394.9 284.2l-81.5-63.9c4.2-8.5 6.6-18.2 6.6-28.3c0-5.5-.7-10.9-2-16c.7 0 1.3 0 2 0c44.2 0 80 35.8 80 80c0 9.9-1.8 19.4-5.1 28.2zM83.1 161.5c-11 14.4-20.5 28.7-28.4 42.2l339 265.7c18.7-5.5 36.2-13 52.6-21.8L83.1 161.5zM320 480c3.1 0 6.1-.1 9.2-.2l-74-58c-36.7-11.8-68.5-32.9-95-57.5c-18.3-17-34-35.6-46.8-53.6L33.1 247.8c-1.8 6.8-1.3 14 1.4 20.5c14.9 35.7 46.2 87.7 93 131.1C174.5 443.2 239.2 480 320 480z\"]\n};\nvar faLowVision = faEyeLowVision;\nvar faTrafficLightGo = {\n prefix: 'far',\n iconName: 'traffic-light-go',\n icon: [320, 512, [], \"f638\", \"M64 48c-8.8 0-16 7.2-16 16V352c0 61.9 50.1 112 112 112s112-50.1 112-112V64c0-8.8-7.2-16-16-16H64zM0 64C0 28.7 28.7 0 64 0H256c35.3 0 64 28.7 64 64V352c0 88.4-71.6 160-160 160S0 440.4 0 352V64zM160 424a48 48 0 1 1 0-96 48 48 0 1 1 0 96zm0-184a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm0 64a48 48 0 1 1 0-96 48 48 0 1 1 0 96zM144 136a16 16 0 1 0 32 0 16 16 0 1 0 -32 0zm64 0a48 48 0 1 1 -96 0 48 48 0 1 1 96 0z\"]\n};\nvar faFaceExhaling = {\n prefix: 'far',\n iconName: 'face-exhaling',\n icon: [576, 512, [], \"e480\", \"M48 256C48 141.1 141.1 48 256 48s208 93.1 208 208c0 7-.3 13.9-1 20.7c11.6-8 25.6-12.7 40.8-12.7c2.7 0 5.4 .2 8.1 .5c.1-2.8 .1-5.6 .1-8.5C512 114.6 397.4 0 256 0S0 114.6 0 256S114.6 512 256 512c55.8 0 107.4-17.9 149.5-48.2c-10.5-9.3-17.9-22.1-20.5-36.5l-7.7-2.3c-34.1 24.5-76 39-121.3 39C141.1 464 48 370.9 48 256zM256 424a40 40 0 1 0 0-80 40 40 0 1 0 0 80zm95.6-172c-10.6 0-19.9-3.8-25.4-9.7c-7.6-8.1-20.2-8.5-28.3-.9s-8.5 20.2-.9 28.3c14.5 15.5 35.2 22.3 54.6 22.3s40.1-6.8 54.6-22.3c7.6-8.1 7.1-20.7-.9-28.3s-20.7-7.1-28.3 .9c-5.5 5.8-14.8 9.7-25.4 9.7zm-217.4-9.7c-7.6-8.1-20.2-8.5-28.3-.9s-8.5 20.2-.9 28.3c14.5 15.5 35.2 22.3 54.6 22.3s40.1-6.8 54.6-22.3c7.6-8.1 7.1-20.7-.9-28.3s-20.7-7.1-28.3 .9c-5.5 5.8-14.8 9.7-25.4 9.7s-19.9-3.8-25.4-9.7zm409.2 96.2c.1-.8 .1-1.7 .1-2.5c0-22.1-17.9-40-39.9-40c-16.9 0-31.4 10.5-37.2 25.4c-3.3-.9-6.9-1.4-10.5-1.4c-20.7 0-37.7 15.8-39.7 35.9l-72.3 18.1c-4.6 1.1-7.8 5.2-7.8 9.9s3.2 8.8 7.8 9.9L416.1 412c-.1 1.3-.2 2.6-.2 4c0 22.1 17.9 40 39.9 40c4.9 0 9.6-.9 14-2.5c7.1 11.1 19.5 18.5 33.7 18.5c22.1 0 39.9-17.9 39.9-40c0-.8 0-1.7-.1-2.5c19-6.4 32.6-24.4 32.6-45.5s-13.6-39.1-32.6-45.5z\"]\n};\nvar faSensorFire = {\n prefix: 'far',\n iconName: 'sensor-fire',\n icon: [640, 512, [], \"e02a\", \"M64 80l320 0c8.8 0 16 7.2 16 16l0 55.4c4.1-3.9 8.2-7.7 12.5-11.5c10-8.9 23-12.8 35.5-11.7L448 96c0-35.3-28.7-64-64-64L64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l273.6 0c-12.7-14.3-23.4-30.5-31.5-48L64 432c-8.8 0-16-7.2-16-16L48 96c0-8.8 7.2-16 16-16zm80 72c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 112c0 13.3 10.7 24 24 24s24-10.7 24-24l0-112zm96 0c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 112c0 13.3 10.7 24 24 24s24-10.7 24-24l0-112zm265.7 56.1l-19-19.9c-2-2.1-4-4.4-6-6.7c0 0 0 0 0 0c-9-10.2-18.6-21.3-32.7-21.6c-7.3-.2-14.6 2.3-20.3 7.5c-23.4 21.1-50 48.9-70.9 80.2C336 278.6 320 314.7 320 352c0 88.6 70.4 159.8 160 159.8c88.7 0 160-71.2 160-159.8c0-30-11-60.9-26.2-88.1c-15.2-27.4-35.3-52.3-55-70.6c-5.6-5.2-12.8-7.8-19.9-7.8c-7.6 0-15.5 2.8-20.9 8.9l-12.3 13.8zM544 400c0 35.3-28.7 64-64 64s-64-28.7-64-64c0-36.5 37-73 54.8-88.4c5.4-4.7 13.1-4.7 18.5 0C507 327 544 363.5 544 400z\"]\n};\nvar faUserUnlock = {\n prefix: 'far',\n iconName: 'user-unlock',\n icon: [640, 512, [], \"e058\", \"M144 128a80 80 0 1 1 160 0 80 80 0 1 1 -160 0zm208 0A128 128 0 1 0 96 128a128 128 0 1 0 256 0zM49.3 464c8.9-63.3 63.3-112 129-112h91.4c49.3 0 92.1 27.3 114.3 67.7V352c0-2.1 .1-4.2 .3-6.3c-31-26-71-41.7-114.6-41.7H178.3C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H392.6c-5.4-9.4-8.6-20.3-8.6-32V464H49.3zM496 272c0-17.7 14.3-32 32-32s32 14.3 32 32h48c0-44.2-35.8-80-80-80s-80 35.8-80 80v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32H560 512 496V272z\"]\n};\nvar faHexagonDivide = {\n prefix: 'far',\n iconName: 'hexagon-divide',\n icon: [512, 512, [], \"e1ad\", \"M17.1 292c-12.9-22.3-12.9-49.7 0-72L105.4 67.1c12.9-22.3 36.6-36 62.4-36H344.3c25.7 0 49.5 13.7 62.4 36L494.9 220c12.9 22.3 12.9 49.7 0 72L406.6 444.9c-12.9 22.3-36.6 36-62.4 36H167.7c-25.7 0-49.5-13.7-62.4-36L17.1 292zm41.6-48c-4.3 7.4-4.3 16.6 0 24l88.3 152.9c4.3 7.4 12.2 12 20.8 12H344.3c8.6 0 16.5-4.6 20.8-12L453.4 268c4.3-7.4 4.3-16.6 0-24L365.1 91.1c-4.3-7.4-12.2-12-20.8-12l-176.6 0c-8.6 0-16.5 4.6-20.8 12L58.6 244zM256 128a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM168 232H344c13.3 0 24 10.7 24 24s-10.7 24-24 24H168c-13.3 0-24-10.7-24-24s10.7-24 24-24zm56 120a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar fa00 = {\n prefix: 'far',\n iconName: '00',\n icon: [640, 512, [], \"e467\", \"M144 32C64.5 32 0 96.5 0 176V336c0 79.5 64.5 144 144 144s144-64.5 144-144V176c0-79.5-64.5-144-144-144zM48 176c0-53 43-96 96-96s96 43 96 96V336c0 53-43 96-96 96s-96-43-96-96V176zM496 32c-79.5 0-144 64.5-144 144V336c0 79.5 64.5 144 144 144s144-64.5 144-144V176c0-79.5-64.5-144-144-144zM400 176c0-53 43-96 96-96s96 43 96 96V336c0 53-43 96-96 96s-96-43-96-96V176z\"]\n};\nvar faCrow = {\n prefix: 'far',\n iconName: 'crow',\n icon: [640, 512, [], \"f520\", \"M39.2 442.6l72-58.6H259.2l46.6 113.1c5 12.3 19.1 18.1 31.3 13.1s18.1-19.1 13.1-31.3L311.1 384H352c1.1 0 2.1 0 3.2 0l46.6 113.2c5 12.3 19.1 18.1 31.3 13.1s18.1-19.1 13.1-31.3l-42-102C484.9 354.1 544 280 544 192V128v-8l96-24c-9.4-37.6-43.2-64-82-64H515C496.1 12.3 469.5 0 440 0C382.6 0 336 46.6 336 104v35.1L94.1 336 80.9 346.8l-72 58.6 0 0 0 0C-1.4 413.8-3 428.9 5.4 439.2s23.5 11.8 33.8 3.5l0 0zM195.4 315.4L333.1 203.4c-10.9 51.4-51 93.1-104 104.7l-33.7 7.4zM384 161.9l0 0V139.1 104c0-30.9 25.1-56 56-56s56 25.1 56 56v24 64c0 79.5-64.5 144-144 144H289.5c57.1-31.8 94.5-92.7 94.5-160.8V161.9zM464 104a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faCassetteBetamax = {\n prefix: 'far',\n iconName: 'cassette-betamax',\n icon: [576, 512, [\"betamax\"], \"f8a4\", \"M48 416V160H528V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM368 256h80v80H368V256zm-48-16V352c0 17.7 14.3 32 32 32H464c17.7 0 32-14.3 32-32V240c0-17.7-14.3-32-32-32H352c-17.7 0-32 14.3-32 32zm-136 0a56 56 0 1 1 0 112 56 56 0 1 1 0-112zm0 160a104 104 0 1 0 0-208 104 104 0 1 0 0 208zm0-80a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faBetamax = faCassetteBetamax;\nvar faSailboat = {\n prefix: 'far',\n iconName: 'sailboat',\n icon: [576, 512, [], \"e445\", \"M284.6 6.2c-4.2-5.4-11.4-7.5-17.8-5.3S256 9.2 256 16V304c0 8.8 7.2 16 16 16H496c6.1 0 11.7-3.5 14.4-9s2-12-1.7-16.9l-224-288zm-72 90.5c-6.7-2-14 .6-17.9 6.4l-128 192c-3.3 4.9-3.6 11.2-.8 16.4s8.2 8.5 14.1 8.5H208c8.8 0 16-7.2 16-16V112c0-7.1-4.6-13.3-11.4-15.3zM60 400H516l-.4 1.6c-8.2 36.5-40.6 62.4-78 62.4H138.4c-37.4 0-69.8-25.9-78-62.4L60 400zM20 352c-10.3 0-17.9 9.5-15.6 19.5l9.1 40.6c13.1 58.4 65 99.9 124.9 99.9H437.6c59.9 0 111.7-41.5 124.9-99.9l9.1-40.6c2.2-10-5.4-19.5-15.6-19.5H20z\"]\n};\nvar faWindowRestore = {\n prefix: 'far',\n iconName: 'window-restore',\n icon: [512, 512, [], \"f2d2\", \"M432 48H208c-17.7 0-32 14.3-32 32V96H128V80c0-44.2 35.8-80 80-80H432c44.2 0 80 35.8 80 80V304c0 44.2-35.8 80-80 80H416V336h16c17.7 0 32-14.3 32-32V80c0-17.7-14.3-32-32-32zM48 448c0 8.8 7.2 16 16 16H320c8.8 0 16-7.2 16-16V256H48V448zM64 128H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192c0-35.3 28.7-64 64-64z\"]\n};\nvar faNfcMagnifyingGlass = {\n prefix: 'far',\n iconName: 'nfc-magnifying-glass',\n icon: [640, 512, [], \"e1f9\", \"M384 80H64c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H333.7c20.2 20.6 46 35.8 74.8 43.1c-7.6 3.2-15.9 4.9-24.6 4.9H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64v64c-16.7 0-32.8 2.6-48 7.3V96c0-8.8-7.2-16-16-16zm-16 72v29.4c-18.7 10.8-35.1 25.4-48 42.6V160H248v54.4c14.3 8.3 24 23.8 24 41.6c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-17.8 9.7-33.3 24-41.6V152c0-22.1 17.9-40 40-40h88c22.1 0 40 17.9 40 40zM309.4 400H120c-22.1 0-40-17.9-40-40V152c0-22.1 17.9-40 40-40h16c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8V352H291.2c3.5 17.2 9.7 33.3 18.2 48zm138.6 .2a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm0 48c-70.7 0-128-57.3-128-128s57.3-128 128-128s128 57.3 128 128c0 26.7-8.2 51.4-22.1 71.9L633 471.2c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L519.9 426c-20.5 14-45.3 22.1-71.9 22.1z\"]\n};\nvar faFileBinary = {\n prefix: 'far',\n iconName: 'file-binary',\n icon: [384, 512, [], \"e175\", \"M64 464c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zm64 240c-30.9 0-56 25.1-56 56v64c0 30.9 25.1 56 56 56h16c30.9 0 56-25.1 56-56V296c0-30.9-25.1-56-56-56H128zm-8 56c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v64c0 4.4-3.6 8-8 8H128c-4.4 0-8-3.6-8-8V296zm120-56c-13.3 0-24 10.7-24 24s10.7 24 24 24v80c-13.3 0-24 10.7-24 24s10.7 24 24 24h24 24c13.3 0 24-10.7 24-24s-10.7-24-24-24V264c0-13.3-10.7-24-24-24H240z\"]\n};\nvar faCircleV = {\n prefix: 'far',\n iconName: 'circle-v',\n icon: [512, 512, [], \"e12a\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM173.5 157.3c-5.9-11.9-20.3-16.7-32.2-10.7s-16.7 20.3-10.7 32.2l104 208c4.1 8.1 12.4 13.3 21.5 13.3s17.4-5.1 21.5-13.3l104-208c5.9-11.9 1.1-26.3-10.7-32.2s-26.3-1.1-32.2 10.7L256 322.3 173.5 157.3z\"]\n};\nvar faSquarePlus = {\n prefix: 'far',\n iconName: 'square-plus',\n icon: [448, 512, [61846, \"plus-square\"], \"f0fe\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM200 344V280H136c-13.3 0-24-10.7-24-24s10.7-24 24-24h64V168c0-13.3 10.7-24 24-24s24 10.7 24 24v64h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H248v64c0 13.3-10.7 24-24 24s-24-10.7-24-24z\"]\n};\nvar faPlusSquare = faSquarePlus;\nvar faBowlScoops = {\n prefix: 'far',\n iconName: 'bowl-scoops',\n icon: [448, 512, [127813], \"e3df\", \"M224 208c0 5.4 .4 10.8 1.1 16H446.9c.7-5.2 1.1-10.6 1.1-16c0-61.9-50.1-112-112-112l-1.1 0c-38.7 .4-72.7 20.4-92.6 50.6C230.7 164.2 224 185.3 224 208zM0 208c0 5.4 .4 10.8 1.1 16H192.9c-.6-5.3-.9-10.6-.9-16c0-22 4.9-42.8 13.7-61.4c-19.8-30.2-53.8-50.2-92.6-50.6L112 96C50.1 96 0 146.1 0 208zM325.4 64.4C307.5 26.3 268.8 0 224 0s-83.5 26.3-101.4 64.4c40.9 3 77.1 23 101.4 53.1c24.3-30.1 60.5-50.1 101.4-53.1zM173.8 368h-2.2H145c-41.4 0-77.2-26.3-90.5-64H393.5c-13.3 37.7-49.1 64-90.5 64H276.3h-2.2H173.8zm36.9 78.7L224 430.8l13.3 15.9L251.7 464H196.3l14.4-17.3zm92.3 3.9L274.2 416H303c10.6 0 20.9-1.1 30.9-3.3c58.5-12.8 104.3-61.2 112-122.8l2-15.9c.6-4.6-.8-9.1-3.9-12.6s-7.4-5.4-12-5.4H16c-4.6 0-9 2-12 5.4s-4.5 8-3.9 12.6l2 15.9c7.7 61.6 53.5 110 112 122.8c10 2.2 20.3 3.3 30.9 3.3h28.8L145 450.6l-10.9 13.1-.3 .3-.4 .5L128 471l-12.3 14.7c-4 4.8-4.8 11.4-2.2 17s8.3 9.2 14.5 9.2h19.2 8.5 .6H291.7h.6 8.5H320c6.2 0 11.9-3.6 14.5-9.2s1.8-12.3-2.2-17L320 471l-5.5-6.5-.4-.5-.3-.3L303 450.6z\"]\n};\nvar faMistletoe = {\n prefix: 'far',\n iconName: 'mistletoe',\n icon: [576, 512, [], \"f7b4\", \"M288 0c13.3 0 24 10.7 24 24V86.1l98 98 8.7 1.7 65.9 12.7C537.7 208.6 576 255 576 309c0 41.4-33.6 75-75 75c-54 0-100.3-38.3-110.5-91.3l-12.7-65.9-1.7-8.7L312 153.9V288l6 8 46.8 62.4C377.3 375 384 395.2 384 416c0 53-43 96-96 96s-96-43-96-96c0-20.8 6.7-41 19.2-57.6L258 296l6-8V153.9L199.9 218l-1.4 7.4c3-.9 6.2-1.4 9.5-1.4c17.7 0 32 14.3 32 32s-14.3 32-32 32c-7.6 0-14.7-2.7-20.2-7.2l-2.3 11.9C175.4 345.7 129 384 75 384c-41.4 0-75-33.6-75-75c0-54 38.3-100.3 91.3-110.5l65.9-12.7 8.7-1.7 98-98V24c0-13.3 10.7-24 24-24zM100.4 245.6C70 251.4 48 278 48 309c0 14.9 12.1 27 27 27c30.9 0 57.5-22 63.4-52.4l9.1-47.1-47.1 9.1zm328.2-9.1l9.1 47.1C443.4 314 470 336 501 336c14.9 0 27-12.1 27-27c0-30.9-22-57.5-52.4-63.4l-47.1-9.1zM249.6 387.2c-6.2 8.3-9.6 18.4-9.6 28.8c0 26.5 21.5 48 48 48s48-21.5 48-48c0-10.4-3.4-20.5-9.6-28.8L288 336l-38.4 51.2zM384 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faCustard = {\n prefix: 'far',\n iconName: 'custard',\n icon: [576, 512, [127854], \"e403\", \"M116.1 112.8L53.7 368h49.4l33.6-137.6c14.1-3.8 27.9-6.4 39.3-6.4c16.7 0 28.8 5.6 45.6 13.6l1 .5C238.9 246 259.8 256 288 256s49.1-10 65.4-17.9l1-.5c16.8-8.1 28.9-13.6 45.6-13.6c11.4 0 25.2 2.6 39.3 6.4L472.9 368h49.4L459.9 112.8c-7-28.6-32.7-48.8-62.2-48.8H178.2c-29.5 0-55.2 20.2-62.2 48.8zm310.5 65.6c-9-1.5-18-2.4-26.6-2.4c-28.2 0-49.1 10-65.4 17.9l-1 .5C316.8 202.4 304.7 208 288 208s-28.8-5.6-45.6-13.6l-1-.5C225.1 186 204.2 176 176 176c-8.6 0-17.6 .9-26.6 2.4l13.3-54.2c1.8-7.2 8.2-12.2 15.5-12.2H397.8c7.4 0 13.8 5 15.5 12.2l13.3 54.2zM0 424c0 13.3 10.7 24 24 24H552c13.3 0 24-10.7 24-24s-10.7-24-24-24H24c-13.3 0-24 10.7-24 24z\"]\n};\nvar faLacrosseStick = {\n prefix: 'far',\n iconName: 'lacrosse-stick',\n icon: [512, 512, [], \"e3b5\", \"M261.5 107.5l-6.6 19.7c-6.3 18.9-16 36.5-28.6 51.9l-34.4 42c-10.3 12.6-15.9 28.3-15.9 44.5c0 38.8 31.5 70.3 70.3 70.3c16.2 0 32-5.6 44.5-15.9l42-34.4c15.4-12.6 33-22.3 51.9-28.6l19.7-6.6C440 238.7 464 205.4 464 168h0l0-.3c0-22.9-15.2-53-40.9-78.8S367.2 48 344.3 48l-.3 0v0c-37.4 0-70.7 24-82.5 59.5zM344 0V0l.3 0C385.1 0 426.8 24.8 457 55s55 71.9 55 112.7l0 .3h0c0 58.1-37.2 109.7-92.3 128.1L400 302.6c-13.4 4.5-25.8 11.3-36.7 20.2l-42 34.4c-21.1 17.3-47.6 26.7-74.9 26.7c-24 0-46.3-7.1-65-19.4L41 505c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L147.4 330.6c-12.3-18.6-19.4-41-19.4-65c0-27.3 9.5-53.8 26.7-74.9l34.4-42c8.9-10.9 15.8-23.3 20.2-36.7l6.6-19.7C234.3 37.2 285.9 0 344 0z\"]\n};\nvar faHockeyMask = {\n prefix: 'far',\n iconName: 'hockey-mask',\n icon: [448, 512, [], \"f6ee\", \"M48 240c0-57.4 14.3-105.3 41.1-137.9C114.7 70.9 156.1 48 224 48s109.3 22.9 134.9 54.1C385.7 134.7 400 182.6 400 240c0 95.1-12.6 148.4-36 178.6C343.4 445.3 306 464 224 464s-119.4-18.7-140-45.4C60.6 388.4 48 335.1 48 240zM224 0C64 0 0 111 0 240C0 432 48 512 224 512s224-80 224-272C448 111 384 0 224 0zM200 208c0-17.7-14.3-32-32-32H104c-17.7 0-32 14.3-32 32c0 35.3 28.7 64 64 64s64-28.7 64-64zm112 64c35.3 0 64-28.7 64-64c0-17.7-14.3-32-32-32H280c-17.7 0-32 14.3-32 32c0 35.3 28.7 64 64 64zM176 112a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm64 32a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM208 304a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm0 64a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-16 80a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm64 0a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm0-64a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm0-64a16 16 0 1 0 0-32 16 16 0 1 0 0 32zM288 96a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faSunrise = {\n prefix: 'far',\n iconName: 'sunrise',\n icon: [576, 512, [127749], \"f766\", \"M271 7c9.4-9.4 24.6-9.4 33.9 0l80 80c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-39-39V200c0 13.3-10.7 24-24 24s-24-10.7-24-24V81.9l-39 39c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L271 7zM393.3 225.8c7.5 3.1 12.9 9.8 14.4 17.8l18.1 98.5 98.5 18.1c8 1.5 14.7 6.9 17.8 14.4s2.2 16.1-2.4 22.8L493.9 464H552c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H82.1L36.2 397.5c-4.6-6.7-5.5-15.3-2.4-22.8s9.8-13 17.8-14.4l98.5-18.1 18.1-98.5c1.5-8 6.9-14.7 14.4-17.8s16.1-2.2 22.8 2.4L288 285.1l82.5-56.9c6.7-4.6 15.3-5.5 22.8-2.4zM140.4 464h36.7c7.8-54.3 54.4-96 110.9-96s103.1 41.7 110.9 96h36.7l43.6-63.2-78.3-14.4c-9.8-1.8-17.5-9.5-19.3-19.3l-14.4-78.3L301.6 334c-8.2 5.7-19 5.7-27.2 0l-65.6-45.2-14.4 78.3c-1.8 9.8-9.5 17.5-19.3 19.3L96.8 400.8 140.4 464zM350 464c-7.1-27.6-32.2-48-62-48s-54.9 20.4-62 48H350z\"]\n};\nvar faSubtitles = {\n prefix: 'far',\n iconName: 'subtitles',\n icon: [576, 512, [], \"e60f\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H512c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM120 240H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24zm256 0h80c13.3 0 24 10.7 24 24s-10.7 24-24 24H376c-13.3 0-24-10.7-24-24s10.7-24 24-24zM120 336h80c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24zm160 0H456c13.3 0 24 10.7 24 24s-10.7 24-24 24H280c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faPanelEws = {\n prefix: 'far',\n iconName: 'panel-ews',\n icon: [512, 512, [], \"e42e\", \"M64 48c-8.8 0-16 7.2-16 16V294.7C76.3 307 96 335.2 96 368v16c0 17.7 14.3 32 32 32s32-14.3 32-32V352c-17.7 0-32-14.3-32-32V288c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32v32c0 35.3-28.7 64-64 64s-64-28.7-64-64V368c0-14.2-6.2-27-16-35.8V448c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H64zM0 64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM112 96h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm192 0h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H304c-8.8 0-16-7.2-16-16s7.2-16 16-16zM112 160h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm192 0h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H304c-8.8 0-16-7.2-16-16s7.2-16 16-16zm16 96h64c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H320c-17.7 0-32-14.3-32-32V288c0-17.7 14.3-32 32-32z\"]\n};\nvar faToriiGate = {\n prefix: 'far',\n iconName: 'torii-gate',\n icon: [512, 512, [9961], \"f6a1\", \"M48 112c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V64.5l-1.6 .6C437.9 75 411.6 80 385.2 80H126.8c-26.5 0-52.7-5-77.2-14.9L48 64.5V112zM0 112V13.4C0 6 6 0 13.4 0c1.7 0 3.4 .3 5 1l49 19.6C86.3 28.1 106.5 32 126.8 32H385.2c20.4 0 40.5-3.9 59.4-11.4L493.6 1c1.6-.6 3.3-1 5-1C506 0 512 6 512 13.4V112c0 35.3-28.7 64-64 64v64h40c13.3 0 24 10.7 24 24s-10.7 24-24 24H448V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V288l-144 0-144 0V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V288H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H64V176c-35.3 0-64-28.7-64-64zM112 240l120 0V176H112v64zm168-64v64l120 0V176H280z\"]\n};\nvar faCloudExclamation = {\n prefix: 'far',\n iconName: 'cloud-exclamation',\n icon: [640, 512, [], \"e491\", \"M354.9 121.7c13.8 16 36.5 21.1 55.9 12.5c8.9-3.9 18.7-6.2 29.2-6.2c39.8 0 72 32.2 72 72c0 4-.3 7.9-.9 11.7c-3.5 21.6 8.1 42.9 28.1 51.7C570.4 276.9 592 308 592 344c0 46.8-36.6 85.2-82.8 87.8c-.6 0-1.3 .1-1.9 .2H504 144c-53 0-96-43-96-96c0-41.7 26.6-77.3 64-90.5c19.2-6.8 32-24.9 32-45.3l0-.2v0 0c0-66.3 53.7-120 120-120c36.3 0 68.8 16.1 90.9 41.7zM512 480v-.2c71.4-4.1 128-63.3 128-135.8c0-55.7-33.5-103.7-81.5-124.7c1-6.3 1.5-12.8 1.5-19.3c0-66.3-53.7-120-120-120c-17.4 0-33.8 3.7-48.7 10.3C360.4 54.6 314.9 32 264 32C171.2 32 96 107.2 96 200l0 .2C40.1 220 0 273.3 0 336c0 79.5 64.5 144 144 144H464h40 8zM320 144c-13.3 0-24 10.7-24 24V280c0 13.3 10.7 24 24 24s24-10.7 24-24V168c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faMessageLines = {\n prefix: 'far',\n iconName: 'message-lines',\n icon: [512, 512, [\"comment-alt-lines\"], \"f4a6\", \"M208 416c0-26.5-21.5-48-48-48H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H448c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H309.3c-10.4 0-20.5 3.4-28.8 9.6L208 432V416zm-.2 76.2l.2-.2 101.3-76H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h48 48v48 4 .3 6.4V496c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L202.7 496l5.1-3.8zM152 144c-13.3 0-24 10.7-24 24s10.7 24 24 24H360c13.3 0 24-10.7 24-24s-10.7-24-24-24H152zm0 96c-13.3 0-24 10.7-24 24s10.7 24 24 24H264c13.3 0 24-10.7 24-24s-10.7-24-24-24H152z\"]\n};\nvar faCommentAltLines = faMessageLines;\nvar faFrog = {\n prefix: 'far',\n iconName: 'frog',\n icon: [576, 512, [], \"f52e\", \"M322.4 113c-5.9 17.8-21.6 30.6-40.2 32.7C150.4 160.5 48 272.3 48 408v16c0 4.4 3.6 8 8 8H238.1c.3-.3 .6-.7 .9-1l56.8-56.8c10.4-10.3 16.2-24.4 16.2-39c0-30.5-24.7-55.2-55.2-55.2c-14.6 0-28.7 5.8-39 16.2L169 345c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l48.8-48.8c19.4-19.4 45.6-30.2 73-30.2c50.2 0 92 35.8 101.3 83.2c3-6.3 7.4-11.9 12.9-16.4c4.6-3.8 9.5-7.3 14.5-10.5l135.9-86.5c4.1-2.6 6.5-7.1 6.5-11.9c0-6.2-4-11.7-10-13.5l-70-21.5c-16.8-5.2-29.5-19.1-32.9-36.4C410.6 96.5 391.2 80 368 80c-21.2 0-39.3 13.8-45.6 33zM434.1 371.3l54 58.1c1.5 1.6 3.6 2.6 5.9 2.6h58c13.3 0 24 10.7 24 24s-10.7 24-24 24H494c-15.6 0-30.4-6.5-41-17.9l-23.5-25.3-28.7-31-16.4-17.6-16.4-17.6L355.4 384l-20.3 21.8L310.9 432h48.6 .5c4.7 0 9.2 1.4 12.9 3.7C379.6 440 384 447.5 384 456c0 .8 0 1.5-.1 2.3C382.7 470.5 372.5 480 360 480H310.9 56c-30.9 0-56-25.1-56-56V408C0 247.6 121.1 115.5 276.8 98c12.6-38.3 48.7-66 91.2-66c46.5 0 85.3 33.1 94.1 77l70 21.5c26.1 8 43.9 32.1 43.9 59.4c0 21.2-10.9 41-28.8 52.4L442 309.3l-30.7 19.6c-3.5 2.2-6.8 4.6-9.9 7.2l1.7 1.9 0 0 31 33.4zM368 120a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faBucket = {\n prefix: 'far',\n iconName: 'bucket',\n icon: [448, 512, [], \"e4cf\", \"M96 152v8H48v-8C48 68.1 116.1 0 200 0h48c83.9 0 152 68.1 152 152v8H352v-8c0-57.4-46.6-104-104-104H200C142.6 48 96 94.6 96 152zM0 216c0-13.3 10.7-24 24-24H72.4 375.6 424c13.3 0 24 10.7 24 24s-10.7 24-24 24h-6L389.3 470c-3 24-23.4 42-47.6 42H106.4c-24.2 0-44.6-18-47.6-42L30 240H24c-13.3 0-24-10.7-24-24zm78.4 24l28 224H341.6l28-224H78.4z\"]\n};\nvar faFloppyDiskPen = {\n prefix: 'far',\n iconName: 'floppy-disk-pen',\n icon: [576, 512, [], \"e182\", \"M48 96V416c0 8.8 7.2 16 16 16H270.5l-12 48H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H309.5c17 0 33.3 6.7 45.3 18.7l74.5 74.5-33.9 33.9L320.8 84.7c-.3-.3-.5-.5-.8-.8V184c0 13.3-10.7 24-24 24H104c-13.3 0-24-10.7-24-24V80H64c-8.8 0-16 7.2-16 16zm381.3 29.3c12 12 18.7 28.3 18.7 45.3v65.1l-48 48V170.5c0-4.2-1.7-8.3-4.7-11.3l33.9-33.9zM128 80v80H272V80H128zm32 240a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zm389.8-84.2l14.4 14.4c15.6 15.6 15.6 40.9 0 56.6l-29.4 29.4-71-71 29.4-29.4c15.6-15.6 40.9-15.6 56.6 0zM311.9 417.1L441.1 287.9l71 71L382.9 488.1c-4.1 4.1-9.2 7-14.9 8.4l-60.1 15c-5.5 1.4-11.2-.2-15.2-4.2s-5.6-9.7-4.2-15.2l15-60.1c1.4-5.6 4.3-10.8 8.4-14.9z\"]\n};\nvar faImage = {\n prefix: 'far',\n iconName: 'image',\n icon: [512, 512, [], \"f03e\", \"M448 80c8.8 0 16 7.2 16 16V415.8l-5-6.5-136-176c-4.5-5.9-11.6-9.3-19-9.3s-14.4 3.4-19 9.3L202 340.7l-30.5-42.7C167 291.7 159.8 288 152 288s-15 3.7-19.5 10.1l-80 112L48 416.3l0-.3V96c0-8.8 7.2-16 16-16H448zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm80 192a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faWindowFrame = {\n prefix: 'far',\n iconName: 'window-frame',\n icon: [512, 512, [129695], \"e04f\", \"M80 464H232V272H80V464zm-48 0V64C32 28.7 60.7 0 96 0H416c35.3 0 64 28.7 64 64V464h8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8H432 80 32 24c-13.3 0-24-10.7-24-24s10.7-24 24-24h8zm400 0V272H280V464H432zM80 224H232V48H96c-8.8 0-16 7.2-16 16V224zm200 0H432V64c0-8.8-7.2-16-16-16H280V224z\"]\n};\nvar faMicrophone = {\n prefix: 'far',\n iconName: 'microphone',\n icon: [384, 512, [], \"f130\", \"M240 96V256c0 26.5-21.5 48-48 48s-48-21.5-48-48V96c0-26.5 21.5-48 48-48s48 21.5 48 48zM96 96V256c0 53 43 96 96 96s96-43 96-96V96c0-53-43-96-96-96S96 43 96 96zM64 216c0-13.3-10.7-24-24-24s-24 10.7-24 24v40c0 89.1 66.2 162.7 152 174.4V464H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h72 72c13.3 0 24-10.7 24-24s-10.7-24-24-24H216V430.4c85.8-11.7 152-85.3 152-174.4V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v40c0 70.7-57.3 128-128 128s-128-57.3-128-128V216z\"]\n};\nvar faCow = {\n prefix: 'far',\n iconName: 'cow',\n icon: [640, 512, [128004], \"f6c8\", \"M72 184c0-23 10.7-43.4 27.5-56.6C97.2 135.2 96 143.5 96 152V400c0 26.5 21.5 48 48 48h32c26.5 0 48-21.5 48-48V378.6c2.5 .6 5.2 1.2 8 1.7V392c0 8.8 7.2 16 16 16s16-7.2 16-16v-8.1c2.6 .1 5.3 .1 8 .1s5.4 0 8-.1V392c0 8.8 7.2 16 16 16s16-7.2 16-16V380.4c2.8-.5 5.5-1.1 8-1.7V400c0 26.5 21.5 48 48 48h32c26.5 0 48-21.5 48-48V271.1l16 18V336c0 4.6 1.3 9 3.8 12.9l42.3 66.5C523 435.7 545.4 448 569.5 448c38.9 0 70.5-31.6 70.5-70.5V274.9c0-12.4-4.1-24.4-11.7-34.2l-4.3-5.6V168c0-13.3-10.7-24-24-24s-24 10.7-24 24v5l-48.2-62.4C505.1 81.2 470 64 432.9 64H256 184 144C77.7 64 24 117.7 24 184v54C9.4 249.8 0 267.8 0 288v17.6c0 8 6.4 14.4 14.4 14.4C46.2 320 72 294.2 72 262.4V256 224 184zm91.2-66.1c3.6 12.3 10.3 23.6 19.5 32.8l7.4 7.4C211.8 179.8 241.3 192 272 192s60.2-12.2 81.9-33.9l7.4-7.4c10.7-10.7 17.9-24.1 21-38.6h50.5c22.3 0 43.3 10.3 57 28L590.3 270c1.1 1.4 1.7 3.1 1.7 4.9V377.5c0 12.4-10.1 22.5-22.5 22.5c-7.7 0-14.8-3.9-19-10.4L512 329V280c0-5.9-2.2-11.6-6.1-15.9l-64-72c-6.6-7.4-17.2-10-26.5-6.5S400 198 400 208V400H368V352v-8-8c0-53-43-96-96-96s-96 43-96 96v8 8 48H144V152c0-14.5 7.7-27.1 19.2-34.1zm62.4 211.4l-1.1-.4C228 305.7 247.9 288 272 288s44 17.7 47.5 40.9l-1.1 .4c-9.7 3.2-25.1 6.8-46.4 6.8s-36.7-3.5-46.4-6.8zM576 320a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faFileZip = {\n prefix: 'far',\n iconName: 'file-zip',\n icon: [512, 512, [], \"e5ee\", \"M64 464h96v48H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3V288H336V160H256c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16zM240 352h64c5.5 0 10.7 2.9 13.6 7.6s3.2 10.6 .7 15.6L265.9 480H304c8.8 0 16 7.2 16 16s-7.2 16-16 16H240c-5.5 0-10.7-2.9-13.6-7.6s-3.2-10.6-.7-15.6L278.1 384H240c-8.8 0-16-7.2-16-16s7.2-16 16-16zm144 16V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V368c0-8.8 7.2-16 16-16s16 7.2 16 16zm32 0c0-8.8 7.2-16 16-16h24c30.9 0 56 25.1 56 56s-25.1 56-56 56h-8v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V448 368zm32 64h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8v48z\"]\n};\nvar faSquareRing = {\n prefix: 'far',\n iconName: 'square-ring',\n icon: [448, 512, [], \"e44f\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM304 256a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zM96 256a128 128 0 1 1 256 0A128 128 0 1 1 96 256z\"]\n};\nvar faDownFromLine = {\n prefix: 'far',\n iconName: 'down-from-line',\n icon: [384, 512, [\"arrow-alt-from-top\"], \"f349\", \"M82.2 320L192 430 301.8 320 248 320c-13.3 0-24-10.7-24-24l0-120-64 0 0 120c0 13.3-10.7 24-24 24l-53.8 0zM192 480c-11.5 0-22.5-4.6-30.6-12.7L45.6 351.2C36.9 342.5 32 330.7 32 318.4C32 292.8 52.8 272 78.4 272l33.6 0 0-96c0-26.5 21.5-48 48-48l64 0c26.5 0 48 21.5 48 48l0 96 33.6 0c25.6 0 46.4 20.8 46.4 46.4c0 12.3-4.9 24.1-13.6 32.8L222.6 467.3c-8.1 8.1-19.1 12.7-30.6 12.7zM24 80C10.7 80 0 69.3 0 56S10.7 32 24 32l336 0c13.3 0 24 10.7 24 24s-10.7 24-24 24L24 80z\"]\n};\nvar faArrowAltFromTop = faDownFromLine;\nvar faCaretUp = {\n prefix: 'far',\n iconName: 'caret-up',\n icon: [320, 512, [], \"f0d8\", \"M160 182.6L70.6 272H249.4L160 182.6zm-22.6-45.3c12.5-12.5 32.8-12.5 45.3 0l128 128c9.2 9.2 11.9 22.9 6.9 34.9s-16.6 19.8-29.6 19.8H32c-12.9 0-24.6-7.8-29.6-19.8s-2.2-25.7 6.9-34.9l128-128z\"]\n};\nvar faShieldXmark = {\n prefix: 'far',\n iconName: 'shield-xmark',\n icon: [512, 512, [\"shield-times\"], \"e24c\", \"M73 127L256 49.4 439 127c5.9 2.5 9.1 7.8 9 12.8c-.4 91.4-38.4 249.3-186.3 320.1c-3.6 1.7-7.8 1.7-11.3 0C102.4 389 64.5 231.2 64 139.7c0-5 3.1-10.2 9-12.8zM457.7 82.8L269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.8 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2zM175 175c-9.4 9.4-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47c-9.4-9.4-24.6-9.4-33.9 0z\"]\n};\nvar faShieldTimes = faShieldXmark;\nvar faScrewdriver = {\n prefix: 'far',\n iconName: 'screwdriver',\n icon: [512, 512, [129691], \"f54a\", \"M445.9 55.9l10.2 10.2L396.2 144H368V115.8l77.9-59.9zM507 78.6c7.4-9.6 6.5-23.1-2.1-31.6L465 7c-8.5-8.5-22-9.4-31.6-2.1l-104 80c-5.9 4.5-9.4 11.6-9.4 19v54.1l-85.6 85.6c6.7 4.2 13 9.3 18.8 15.1s10.9 12.2 15.1 18.8L353.9 192H408c7.5 0 14.5-3.5 19-9.4l80-104zM155.3 315.3c11.4-11.4 29.9-11.4 41.4 0s11.4 29.9 0 41.4L96 457.4 54.6 416 155.3 315.3zm75.3-33.9c-30.2-30.2-79.1-30.2-109.3 0l-112 112c-12.5 12.5-12.5 32.8 0 45.3l64 64c12.5 12.5 32.8 12.5 45.3 0l112-112c30.2-30.2 30.2-79.1 0-109.3z\"]\n};\nvar faCircleSortDown = {\n prefix: 'far',\n iconName: 'circle-sort-down',\n icon: [512, 512, [\"sort-circle-down\"], \"e031\", \"M48 256a208 208 0 1 1 416 0A208 208 0 1 1 48 256zm464 0A256 256 0 1 0 0 256a256 256 0 1 0 512 0zM267.3 411.3l96-96c4.6-4.6 5.9-11.5 3.5-17.4s-8.3-9.9-14.8-9.9H160c-6.5 0-12.3 3.9-14.8 9.9s-1.1 12.9 3.5 17.4l96 96c6.2 6.2 16.4 6.2 22.6 0zm0-310.6c-6.2-6.2-16.4-6.2-22.6 0l-96 96c-4.6 4.6-5.9 11.5-3.5 17.4s8.3 9.9 14.8 9.9H352c6.5 0 12.3-3.9 14.8-9.9s1.1-12.9-3.5-17.4l-96-96zM313.4 192H198.6L256 134.6 313.4 192z\"]\n};\nvar faSortCircleDown = faCircleSortDown;\nvar faFolderClosed = {\n prefix: 'far',\n iconName: 'folder-closed',\n icon: [512, 512, [], \"e185\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H289.9L247 53.1C233.5 39.6 215.2 32 196.1 32H64zM48 96c0-8.8 7.2-16 16-16H196.1c6.4 0 12.5 2.5 17 7l45.3 45.3c7.5 7.5 17.7 11.7 28.3 11.7H448c8.8 0 16 7.2 16 16v32H48V96zm0 144H464V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V240z\"]\n};\nvar faHouseTsunami = {\n prefix: 'far',\n iconName: 'house-tsunami',\n icon: [576, 512, [], \"e515\", \"M50 176.4C62 104.5 127.8 48 209.4 48c18.8 0 36.7 3 53.4 8.5c12.6 4.2 26.2-2.7 30.3-15.3s-2.7-26.2-15.3-30.3C256.4 3.8 233.4 0 209.4 0C95 0 0 88.4 0 200c0 93.2 54.7 174 144.8 194.8c12.7 3.4 26 5.2 39.7 5.2c.6 0 1.2 0 1.8-.1c1.8 0 3.6 .1 5.4 .1c.1 0 .3 0 .4 0v0c34.6 0 67.9-14.3 96-33.8c28.1 19.5 61.4 33.8 96 33.8s67.9-14.3 96-33.8c14.4 10 38 24 66.7 30.4c12.9 2.9 25.8-5.2 28.7-18.2s-5.2-25.8-18.2-28.7c-22-4.9-44.3-16.7-61.3-31.8c-9.1-8.1-22.8-8.1-31.9 0c-21.5 18.6-51.2 33.9-80 33.9s-58.5-15.3-80-33.9c-9.1-8.1-22.8-8.1-31.9 0c-21.5 18.6-51.2 33.9-80 33.9v0c-.1 0-.3 0-.4 0c-12.9 0-25.2-1.4-36.7-4.2c-43.4-12.7-75-52.6-75-99.8c0-57.4 46.7-104 104.4-104c15.9 0 30.9 3.5 44.3 9.8c12 5.6 26.3 .4 31.9-11.6s.4-26.3-11.6-31.9C229.4 101.1 207.5 96 184.4 96C126.3 96 75.6 128.5 50 176.4zM368 286.8V152l79.9-60L527.5 152l.3 124.4c9.4 6.4 20.2 11.3 30.8 13.7c6.2 1.4 12 3.7 17.2 6.8l-.3-153c0-10-4.7-19.5-12.7-25.5L467.2 46.5c-11.4-8.6-27.1-8.6-38.5 0l-96 72c-8.1 6-12.8 15.5-12.8 25.6V265c1.7 1 3.3 2 4.8 3.1c13.4 9.3 28.4 15.9 43.2 18.7zM111.9 430.1c-9.1-8.1-22.8-8.1-31.9 0C62.8 445 41 456.8 18.8 461.8C5.9 464.7-2.3 477.5 .6 490.5s15.7 21.1 28.7 18.2C58 502.2 81.6 488.2 96 478.2c28.1 19.5 61.4 33.8 96 33.8s67.9-14.3 96-33.8c28.1 19.5 61.4 33.8 96 33.8s67.9-14.3 96-33.8c14.4 10 38 24 66.7 30.4c12.9 2.9 25.8-5.2 28.7-18.2s-5.2-25.8-18.2-28.7c-22-4.9-44.3-16.7-61.3-31.8c-9.1-8.1-22.8-8.1-31.9 0c-21.5 18.6-51.2 33.9-80 33.9s-58.5-15.3-80-33.9c-9.1-8.1-22.8-8.1-31.9 0c-21.5 18.6-51.2 33.9-80 33.9s-58.5-15.3-80-33.9z\"]\n};\nvar faSquareNfi = {\n prefix: 'far',\n iconName: 'square-nfi',\n icon: [448, 512, [], \"e576\", \"M64 80H384c8.8 0 16 7.2 16 16v32h48V96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96v32H48V96c0-8.8 7.2-16 16-16zM48 384H0v32c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V384H400v32c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V384zm1-223c-10.1 3.1-17 12.4-17 23V328c0 13.3 10.7 24 24 24s24-10.7 24-24V263.3l52 78c5.9 8.8 16.8 12.7 26.9 9.7s17-12.4 17-23V184c0-13.3-10.7-24-24-24s-24 10.7-24 24v64.7l-52-78C70.1 161.9 59.2 158 49 161zm167 23v80 64c0 13.3 10.7 24 24 24s24-10.7 24-24V288h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H264V208h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H240c-13.3 0-24 10.7-24 24zm200 0c0-13.3-10.7-24-24-24s-24 10.7-24 24V328c0 13.3 10.7 24 24 24s24-10.7 24-24V184z\"]\n};\nvar faForklift = {\n prefix: 'far',\n iconName: 'forklift',\n icon: [640, 512, [], \"f47a\", \"M80 160H96V40c0-22.1 17.9-40 40-40H293c16.6 0 31.5 10.3 37.4 25.8l83 218.9c1.7 4.5 2.6 9.3 2.6 14.2V272v72.4c19.6 17.6 32 43.1 32 71.6c0 53-43 96-96 96s-96-43-96-96H192c0 53-43 96-96 96s-96-43-96-96V368 240c0-44.2 35.8-80 80-80zm160 80H360.3L287.4 48H144V171.4L240 240zm0 48c-10 0-19.8-3.1-27.9-8.9L112.6 208H80c-17.7 0-32 14.3-32 32v92.8C62.1 324.7 78.5 320 96 320c35.5 0 66.6 19.3 83.2 48h89.7c16.6-28.7 47.6-48 83.2-48c5.5 0 10.8 .5 16 1.3V288H240zM96 464a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm256 0a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM528 24V400h88c13.3 0 24 10.7 24 24s-10.7 24-24 24H504c-13.3 0-24-10.7-24-24V24c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faArrowUpFromGroundWater = {\n prefix: 'far',\n iconName: 'arrow-up-from-ground-water',\n icon: [576, 512, [], \"e4b5\", \"M288 352c13.3 0 24-10.7 24-24V81.9l39 39c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L305 7c-9.4-9.4-24.6-9.4-33.9 0L191 87c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l39-39V328c0 13.3 10.7 24 24 24zM80 430.1C62.8 445 41 456.8 18.8 461.8C5.9 464.7-2.3 477.5 .6 490.5s15.7 21.1 28.7 18.2C58 502.2 81.6 488.2 96 478.2c28.1 19.5 61.4 33.8 96 33.8s67.9-14.3 96-33.8c28.1 19.5 61.4 33.8 96 33.8s67.9-14.3 96-33.8c14.4 10 38 24 66.7 30.4c12.9 2.9 25.8-5.2 28.7-18.2s-5.2-25.8-18.2-28.7c-22-4.9-44.3-16.7-61.3-31.8c-9.1-8.1-22.8-8.1-31.9 0c-21.6 18.6-51.2 33.9-80 33.9s-58.5-15.3-80-33.9c-9.1-8.1-22.8-8.1-31.9 0c-21.5 18.6-51.2 33.9-80 33.9s-58.5-15.3-80-33.9c-9.1-8.1-22.8-8.1-31.9 0zM192 192H64c-35.3 0-64 28.7-64 64V425c5.3-3.1 11.2-5.4 17.5-6.9c10.4-2.4 21.2-7.2 30.5-13.5L48 256c0-8.8 7.2-16 16-16H192V192zm384 64c0-35.3-28.7-64-64-64H384v48H512c8.8 0 16 7.2 16 16V404.6c9.3 6.3 20.1 11.1 30.5 13.6c6.3 1.5 12.1 3.8 17.5 6.9V256z\"]\n};\nvar faBracketSquareRight = {\n prefix: 'far',\n iconName: 'bracket-square-right',\n icon: [192, 512, [], \"5d\", \"M192 88c0-30.9-25.1-56-56-56H72C58.7 32 48 42.7 48 56s10.7 24 24 24h64c4.4 0 8 3.6 8 8V424c0 4.4-3.6 8-8 8H72c-13.3 0-24 10.7-24 24s10.7 24 24 24h64c30.9 0 56-25.1 56-56V88z\"]\n};\nvar faMartiniGlass = {\n prefix: 'far',\n iconName: 'martini-glass',\n icon: [512, 512, [127864, \"glass-martini-alt\"], \"f57b\", \"M35.3 0C15.8 0 0 15.8 0 35.3c0 9.4 3.7 18.3 10.3 25L232 281.9V464H152c-13.3 0-24 10.7-24 24s10.7 24 24 24H256 360c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V281.9L501.7 60.3c6.6-6.6 10.3-15.6 10.3-25C512 15.8 496.2 0 476.7 0H35.3zM318.1 176L256 238.1 193.9 176H318.1zm48-48H145.9l-80-80H446.1l-80 80z\"]\n};\nvar faGlassMartiniAlt = faMartiniGlass;\nvar faRotateLeft = {\n prefix: 'far',\n iconName: 'rotate-left',\n icon: [512, 512, [\"rotate-back\", \"rotate-backward\", \"undo-alt\"], \"f2ea\", \"M140.8 122.9C171.7 96.2 212 80 256 80c97.2 0 176 78.8 176 176s-78.8 176-176 176c-39.7 0-76.2-13.1-105.6-35.2c-10.6-8-25.6-5.8-33.6 4.8s-5.8 25.6 4.8 33.6C159 463.3 205.6 480 256 480c123.7 0 224-100.3 224-224S379.7 32 256 32c-57.3 0-109.6 21.5-149.2 56.9L76.3 58.3C69.7 51.7 60.7 48 51.3 48C31.8 48 16 63.8 16 83.3V200c0 13.3 10.7 24 24 24H156.7c19.5 0 35.3-15.8 35.3-35.3c0-9.4-3.7-18.3-10.3-25l-40.8-40.8zm-76.8-9L126.1 176H64V113.9z\"]\n};\nvar faRotateBack = faRotateLeft;\nvar faRotateBackward = faRotateLeft;\nvar faUndoAlt = faRotateLeft;\nvar faTableColumns = {\n prefix: 'far',\n iconName: 'table-columns',\n icon: [512, 512, [\"columns\"], \"f0db\", \"M48 416V160H232V432H64c-8.8 0-16-7.2-16-16zm232 16V160H464V416c0 8.8-7.2 16-16 16H280zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64z\"]\n};\nvar faColumns = faTableColumns;\nvar faSquareA = {\n prefix: 'far',\n iconName: 'square-a',\n icon: [448, 512, [], \"e25f\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm224 32c9.1 0 17.4 5.1 21.5 13.3l104 208c5.9 11.9 1.1 26.3-10.7 32.2s-26.3 1.1-32.2-10.7L289.2 336H158.8l-17.4 34.7c-5.9 11.9-20.3 16.7-32.2 10.7s-16.7-20.3-10.7-32.2l104-208c4.1-8.1 12.4-13.3 21.5-13.3zm0 77.7L182.8 288h82.3L224 205.7z\"]\n};\nvar faTick = {\n prefix: 'far',\n iconName: 'tick',\n icon: [192, 512, [], \"e32f\", \"M72 104c0-13.3 10.7-24 24-24s24 10.7 24 24l0 1.9c0 1.4-.1 2.8-.4 4.3c0 0 0 0 0 0L96 252 72.4 110.1c-.2-1.4-.4-2.8-.4-4.3l0-1.9zm95 14c.7-4 1-8.1 1-12.1l0-1.9c0-39.8-32.2-72-72-72s-72 32.2-72 72l0 1.9c0 4.1 .3 8.1 1 12.1L49.4 264.5C53.2 287.3 72.9 304 96 304s42.8-16.7 46.6-39.5L167 118z\"]\n};\nvar faLemon = {\n prefix: 'far',\n iconName: 'lemon',\n icon: [448, 512, [127819], \"f094\", \"M368 80c-3.2 0-6.2 .4-8.9 1.3C340 86.8 313 91.9 284.8 84.6C227.4 69.7 160.2 92 110.1 142.1S37.7 259.4 52.6 316.8c7.3 28.2 2.2 55.2-3.3 74.3c-.8 2.8-1.3 5.8-1.3 8.9c0 17.7 14.3 32 32 32c3.2 0 6.2-.4 8.9-1.3c19.1-5.5 46.1-10.7 74.3-3.3c57.4 14.9 124.6-7.4 174.7-57.5s72.4-117.3 57.5-174.7c-7.3-28.2-2.2-55.2 3.3-74.3c.8-2.8 1.3-5.8 1.3-8.9c0-17.7-14.3-32-32-32zm0-48c44.2 0 80 35.8 80 80c0 7.7-1.1 15.2-3.1 22.3c-4.6 15.8-7.1 32.9-3 48.9c20.1 77.6-10.9 161.5-70 220.7s-143.1 90.2-220.7 70c-16-4.1-33-1.6-48.9 3c-7.1 2-14.6 3.1-22.3 3.1c-44.2 0-80-35.8-80-80c0-7.7 1.1-15.2 3.1-22.3c4.6-15.8 7.1-32.9 3-48.9C-14 251.3 17 167.3 76.2 108.2S219.3 18 296.8 38.1c16 4.1 33 1.6 48.9-3c7.1-2 14.6-3.1 22.3-3.1zM246.7 167c-52 15.2-96.5 59.7-111.7 111.7c-3.7 12.7-17.1 20-29.8 16.3s-20-17.1-16.3-29.8c19.8-67.7 76.6-124.5 144.3-144.3c12.7-3.7 26.1 3.6 29.8 16.3s-3.6 26.1-16.3 29.8z\"]\n};\nvar faHeadSideMask = {\n prefix: 'far',\n iconName: 'head-side-mask',\n icon: [576, 512, [], \"e063\", \"M80 224c0-8 .5-15.8 1.5-23.4L256 316.8V320 480c0 17.7 14.3 32 32 32H431.7c28.6 0 53.7-18.9 61.5-46.4L534.9 320l4.7-16.6c2.8-9.7 4.2-19.7 4.4-29.8c0-.4 0-.8 0-1.2l0-.2 0-.2h0c-.1-16.7-6.8-32.7-18.6-44.6L521 223c-12.7-12.7-22.4-28.5-31.4-47.1c-4.5-9.3-8.7-18.9-13-29l-1.5-3.5c-3.8-8.9-7.8-18.2-12-27.3C431.4 47.6 358.8 0 280 0H256C132.3 0 32 100.3 32 224c0 53.6 18.9 102.9 50.3 141.5c8.9 11 13.7 22.4 13.7 33.1V488c0 13.3 10.7 24 24 24s24-10.7 24-24V398.6c0-24.9-10.9-46.8-24.5-63.4C94.8 304.8 80 266.2 80 224zm195.3 48L95.3 152C122.8 90.7 184.4 48 256 48h24c60.1 0 115.7 36.7 139.6 88.3c3.9 8.4 7.5 17 11.4 25.9l1.5 3.5c4.3 10.1 8.9 20.7 13.9 31.1c10.1 20.8 22.5 42 40.6 60.1l4.4 4.4c2.8 2.8 4.5 6.6 4.6 10.6H304 275.3zM368 224a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm63.7 240H304V320H484.9l-6.9 24H368c-8.8 0-16 7.2-16 16s7.2 16 16 16H468.9l-9.1 32H368c-8.8 0-16 7.2-16 16s7.2 16 16 16h82.6l-3.5 12.4c-2 6.9-8.2 11.6-15.4 11.6z\"]\n};\nvar faHandshake = {\n prefix: 'far',\n iconName: 'handshake',\n icon: [640, 512, [], \"f2b5\", \"M272.2 64.6l-51.1 51.1c-15.3 4.2-29.5 11.9-41.5 22.5L153 161.9C142.8 171 129.5 176 115.8 176H96V304c20.4 .6 39.8 8.9 54.3 23.4l35.6 35.6 7 7 0 0L219.9 397c6.2 6.2 16.4 6.2 22.6 0c1.7-1.7 3-3.7 3.7-5.8c2.8-7.7 9.3-13.5 17.3-15.3s16.4 .6 22.2 6.5L296.5 393c11.6 11.6 30.4 11.6 41.9 0c5.4-5.4 8.3-12.3 8.6-19.4c.4-8.8 5.6-16.6 13.6-20.4s17.3-3 24.4 2.1c9.4 6.7 22.5 5.8 30.9-2.6c9.4-9.4 9.4-24.6 0-33.9L340.1 243l-35.8 33c-27.3 25.2-69.2 25.6-97 .9c-31.7-28.2-32.4-77.4-1.6-106.5l70.1-66.2C303.2 78.4 339.4 64 377.1 64c36.1 0 71 13.3 97.9 37.2L505.1 128H544h40 40c8.8 0 16 7.2 16 16V352c0 17.7-14.3 32-32 32H576c-11.8 0-22.2-6.4-27.7-16H463.4c-3.4 6.7-7.9 13.1-13.5 18.7c-17.1 17.1-40.8 23.8-63 20.1c-3.6 7.3-8.5 14.1-14.6 20.2c-27.3 27.3-70 30-100.4 8.1c-25.1 20.8-62.5 19.5-86-4.1L159 404l-7-7-35.6-35.6c-5.5-5.5-12.7-8.7-20.4-9.3C96 369.7 81.6 384 64 384H32c-17.7 0-32-14.3-32-32V144c0-8.8 7.2-16 16-16H56 96h19.8c2 0 3.9-.7 5.3-2l26.5-23.6C175.5 77.7 211.4 64 248.7 64H259c4.4 0 8.9 .2 13.2 .6zM544 320V176H496c-5.9 0-11.6-2.2-15.9-6.1l-36.9-32.8c-18.2-16.2-41.7-25.1-66.1-25.1c-25.4 0-49.8 9.7-68.3 27.1l-70.1 66.2c-10.3 9.8-10.1 26.3 .5 35.7c9.3 8.3 23.4 8.1 32.5-.3l71.9-66.4c9.7-9 24.9-8.4 33.9 1.4s8.4 24.9-1.4 33.9l-.8 .8 74.4 74.4c10 10 16.5 22.3 19.4 35.1H544zM64 336a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm528 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faGem = {\n prefix: 'far',\n iconName: 'gem',\n icon: [512, 512, [128142], \"f3a5\", \"M168.5 72L256 165l87.5-93h-175zM383.9 99.1L311.5 176h129L383.9 99.1zm50 124.9H256 78.1L256 420.3 433.9 224zM71.5 176h129L128.1 99.1 71.5 176zm434.3 40.1l-232 256c-4.5 5-11 7.9-17.8 7.9s-13.2-2.9-17.8-7.9l-232-256c-7.7-8.5-8.3-21.2-1.5-30.4l112-152c4.5-6.1 11.7-9.8 19.3-9.8H376c7.6 0 14.8 3.6 19.3 9.8l112 152c6.8 9.2 6.1 21.9-1.5 30.4z\"]\n};\nvar faDolly = {\n prefix: 'far',\n iconName: 'dolly',\n icon: [576, 512, [\"dolly-box\"], \"f472\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48h80.8c3.5 0 6.5 2.2 7.6 5.5l91.9 281.6C177.7 352.1 160 382 160 416c0 53 43 96 96 96s96-43 96-96c0-2.8-.1-5.5-.3-8.2L560 334.6c12.5-4.4 19.1-18.1 14.7-30.6s-18.1-19.1-30.6-14.7L335.8 362.5C318.5 336.9 289.2 320 256 320c-2 0-4 .1-6 .2L158 38.6C150.5 15.6 129 0 104.8 0H24zM256 368a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM457.4 117.3c-10.6-28.7-42.2-43.7-71.1-33.5L224.9 140.5l14.9 45.6 57.5-20.2 24.1 66.3c4.5 12.5 18.3 18.9 30.8 14.4s18.9-18.3 14.4-30.8L342.6 150l59.6-20.9c4.1-1.4 8.7 .7 10.2 4.8L467 282.5l45.3-15.9L457.4 117.3z\"]\n};\nvar faDollyBox = faDolly;\nvar faSmoking = {\n prefix: 'far',\n iconName: 'smoking',\n icon: [640, 512, [128684], \"f48d\", \"M440 0c13.3 0 24 10.7 24 24V43c0 38.2 15.2 74.8 42.2 101.8l21 21c21 21 32.8 49.5 32.8 79.2v19c0 13.3-10.7 24-24 24s-24-10.7-24-24V245c0-17-6.7-33.3-18.7-45.3l-21-21C436.2 142.7 416 93.9 416 43V24c0-13.3 10.7-24 24-24zM616 288c-13.3 0-24-10.7-24-24V245c0-38.2-15.2-74.8-42.2-101.8l-21-21c-21-21-32.8-49.5-32.8-79.2V24c0-13.3 10.7-24 24-24s24 10.7 24 24V43c0 17 6.7 33.3 18.7 45.3l21 21c36 36 56.2 84.8 56.2 135.8v19c0 13.3-10.7 24-24 24zm-56 88V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V376c0-13.3 10.7-24 24-24s24 10.7 24 24zm80 0V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V376c0-13.3 10.7-24 24-24s24 10.7 24 24zM224 464H432V400H224v64zM0 416c0-35.3 28.7-64 64-64H448c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H64c-35.3 0-64-28.7-64-64V416z\"]\n};\nvar faMinimize = {\n prefix: 'far',\n iconName: 'minimize',\n icon: [512, 512, [\"compress-arrows-alt\"], \"f78c\", \"M7 7C-2.3 16.4-2.3 31.6 7 41l80 80L41.4 166.6c-6 6-9.4 14.1-9.4 22.6V192c0 17.7 14.3 32 32 32H192c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32h-2.7c-8.5 0-16.6 3.4-22.6 9.4L121 87 41 7C31.6-2.3 16.4-2.3 7 7zM505 41c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L391 87 345.4 41.4c-6-6-14.1-9.4-22.6-9.4H320c-17.7 0-32 14.3-32 32V192c0 17.7 14.3 32 32 32H448c17.7 0 32-14.3 32-32v-2.7c0-8.5-3.4-16.6-9.4-22.6L425 121l80-80zM505 471l-80-80 45.7-45.7c6-6 9.4-14.1 9.4-22.6V320c0-17.7-14.3-32-32-32H320c-17.7 0-32 14.3-32 32V448c0 17.7 14.3 32 32 32h2.7c8.5 0 16.6-3.4 22.6-9.4L391 425l80 80c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9zM7 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80 45.7 45.7c6 6 14.1 9.4 22.6 9.4H192c17.7 0 32-14.3 32-32V320c0-17.7-14.3-32-32-32H64c-17.7 0-32 14.3-32 32v2.7c0 8.5 3.4 16.6 9.4 22.6L87 391 7 471zM412.1 176H336V99.9L412.1 176zM336 412.1V336h76.1L336 412.1zM99.9 176L176 99.9V176H99.9zM176 412.1L99.9 336H176v76.1z\"]\n};\nvar faCompressArrowsAlt = faMinimize;\nvar faRefrigerator = {\n prefix: 'far',\n iconName: 'refrigerator',\n icon: [384, 512, [], \"e026\", \"M288 48c26.5 0 48 21.5 48 48v64H288V120c0-13.3-10.7-24-24-24s-24 10.7-24 24v40H48V96c0-26.5 21.5-48 48-48H288zM240 208V344c0 13.3 10.7 24 24 24s24-10.7 24-24V208h48V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V208H240zM96 0C43 0 0 43 0 96V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V96c0-53-43-96-96-96H96z\"]\n};\nvar faMonument = {\n prefix: 'far',\n iconName: 'monument',\n icon: [384, 512, [], \"f5a6\", \"M175 7c9.4-9.4 24.6-9.4 33.9 0l80 80c3.8 3.8 6.2 8.7 6.8 14l41.4 331H288.8L249.2 115.1 192 57.9l-57.2 57.2L95.2 432H46.8L88.2 101c.7-5.3 3.1-10.2 6.8-14L175 7zM42.8 464H91.2 292.8h48.4H360c13.3 0 24 10.7 24 24s-10.7 24-24 24H320 64 24c-13.3 0-24-10.7-24-24s10.7-24 24-24H42.8zM144 312c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H168c-13.3 0-24-10.7-24-24z\"]\n};\nvar faOctagonXmark = {\n prefix: 'far',\n iconName: 'octagon-xmark',\n icon: [512, 512, [\"times-octagon\", \"xmark-octagon\"], \"f2f0\", \"M191.5 48.1c-6.4 0-12.5 2.5-17 7L55.1 174.5c-4.5 4.5-7 10.6-7 17v129c0 6.4 2.5 12.5 7 17L21.2 371.4C7.7 357.9 .1 339.6 .1 320.5v-129c0-19.1 7.6-37.4 21.1-50.9L140.6 21.2C154.1 7.7 172.4 .1 191.5 .1h129c19.1 0 37.4 7.6 50.9 21.1L490.8 140.6c13.5 13.5 21.1 31.8 21.1 50.9v129c0 19.1-7.6 37.4-21.1 50.9L371.4 490.8c-13.5 13.5-31.8 21.1-50.9 21.1h-129c-19.1 0-37.4-7.6-50.9-21.1L21.2 371.4l33.9-33.9L174.5 456.9c4.5 4.5 10.6 7 17 7h129c6.4 0 12.5-2.5 17-7L456.9 337.5c4.5-4.5 7-10.6 7-17v-129c0-6.4-2.5-12.5-7-17L337.5 55.1c-4.5-4.5-10.6-7-17-7h-129zM175 175c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faTimesOctagon = faOctagonXmark;\nvar faXmarkOctagon = faOctagonXmark;\nvar faAlignSlash = {\n prefix: 'far',\n iconName: 'align-slash',\n icon: [640, 512, [], \"f846\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L471.2 344H520c13.3 0 24-10.7 24-24s-10.7-24-24-24H409.9L307.9 216H520c13.3 0 24-10.7 24-24s-10.7-24-24-24H246.6L144.6 88H520c13.3 0 24-10.7 24-24s-10.7-24-24-24H120c-9 0-16.9 5-21 12.3L38.8 5.1zM477.2 472l-60.9-48H120c-13.3 0-24 10.7-24 24s10.7 24 24 24H477.2zM314.8 344l-60.9-48H120c-13.3 0-24 10.7-24 24s10.7 24 24 24H314.8zM152.3 216l-50.4-39.7C98.2 180.5 96 186 96 192c0 13.3 10.7 24 24 24h32.3z\"]\n};\nvar faSnowplow = {\n prefix: 'far',\n iconName: 'snowplow',\n icon: [640, 512, [], \"f7d2\", \"M298.8 48c3.2 0 6.1 1.9 7.4 4.9L371.8 208H219.5l-56.8-71-2.7-3.4V48H298.8zM429 220.3c-.4-1.2-.9-2.4-1.4-3.6L350.4 34.2C341.6 13.5 321.3 0 298.8 0H152c-22.1 0-40 17.9-40 40v88H96c-26.5 0-48 21.5-48 48V308.1C19 328.3 0 361.9 0 400c0 61.9 50.1 112 112 112H368c61.9 0 112-50.1 112-112c0-20.4-5.5-39.5-15-56h47v56c0 6 2.2 11.7 6.2 16.1l80 88c8.9 9.8 24.1 10.5 33.9 1.6s10.5-24.1 1.6-33.9L560 390.7V249.3l73.8-81.1c8.9-9.8 8.2-25-1.6-33.9s-25-8.2-33.9 1.6l-80 88c-4 4.4-6.2 10.2-6.2 16.1v56H432V238.5 232c0-4.2-1.1-8.2-3-11.7zm-45 68.8c-5.2-.7-10.6-1.1-16-1.1H112c-5.4 0-10.8 .4-16 1.1V176h36.5l56.8 71c4.6 5.7 11.4 9 18.7 9H384v33.1zM112 336H368c35.3 0 64 28.7 64 64s-28.7 64-64 64H112c-35.3 0-64-28.7-64-64s28.7-64 64-64zm32 64a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm56 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm104-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm56 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faAnglesRight = {\n prefix: 'far',\n iconName: 'angles-right',\n icon: [512, 512, [187, \"angle-double-right\"], \"f101\", \"M113 433L273 273c9.4-9.4 9.4-24.6 0-33.9L113 79c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l143 143L79 399c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0zm192 0L465 273c9.4-9.4 9.4-24.6 0-33.9L305 79c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l143 143L271 399c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0z\"]\n};\nvar faAngleDoubleRight = faAnglesRight;\nvar faTruckRampCouch = {\n prefix: 'far',\n iconName: 'truck-ramp-couch',\n icon: [640, 512, [\"truck-couch\"], \"f4dd\", \"M352 88c0-48.6 39.4-88 88-88H616c13.3 0 24 10.7 24 24s-10.7 24-24 24H440c-22.1 0-40 17.9-40 40V360.7l25.7-7 .4-.1c17.6-38.7 56.7-65.6 102-65.6c61.9 0 112 50.1 112 112s-50.1 112-112 112c-59.8 0-108.7-46.9-111.8-106L30.3 511.2c-12.8 3.5-26-4.1-29.5-16.8s4.1-26 16.8-29.5L352 373.8V88zM592 400a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zM294.5 209.2c8.7-2.3 17.4-2.1 25.5 .2V334.8l-38.7 10.4L126.7 386.6 64.9 403.2c-17.1 4.6-34.6-5.6-39.2-22.6L13.3 334.2c-6.9-25.6 8.3-51.9 33.9-58.8s51.9 8.3 58.8 33.9l4.1 15.5 154.5-41.4-4.1-15.5c-6.9-25.6 8.3-51.9 33.9-58.8zM8 252.8c-9.1-34.1 11.1-69.2 45.3-78.4l185.5-49.7c34.1-9.1 69.2 11.1 78.4 45.3l1.7 6.4c-10.6-1.6-21.6-1.1-32.6 1.9c-37.4 10-61.5 44.9-59.2 82.1L131.2 286c-16.6-33.4-54.9-51.5-92.3-41.5c-11 2.9-20.8 8-29.2 14.7L8 252.8z\"]\n};\nvar faTruckCouch = faTruckRampCouch;\nvar faCannabis = {\n prefix: 'far',\n iconName: 'cannabis',\n icon: [512, 512, [], \"f55f\", \"M275.9 10.6C271.5 4 264 0 256 0s-15.5 4-19.9 10.6c-16.1 24.1-36.5 67.2-49.2 115.1c-6.8 25.8-11.7 54.2-12 82.5c-15-10.3-30.7-19-45.9-26.4c-34.5-16.7-68.6-27-92.3-31.7c-7.9-1.6-16 .9-21.7 6.6s-8.1 13.8-6.5 21.7c6.9 34.4 26.5 93.6 62.3 143.2c-21.3 8.1-39.3 17.5-50.5 23.7C12.7 349.5 8 357.6 8 366.3s4.7 16.8 12.4 21c14.6 8.1 40.5 21.5 70.1 30.4c17.6 5.3 37.8 9.5 58.5 9.3l-5.8 23.2c-2.3 9.1 .9 18.7 8.2 24.5s17.3 7 25.7 2.8L232 450.2V488c0 13.3 10.7 24 24 24s24-10.7 24-24V450.2l54.9 27.3c8.4 4.2 18.4 3.1 25.7-2.8s10.5-15.5 8.2-24.5L363.1 427c20.6 .2 40.8-4 58.5-9.3c29.6-8.9 55.6-22.3 70.1-30.4c7.6-4.2 12.4-12.3 12.4-21s-4.7-16.8-12.4-21c-11.1-6.2-29.1-15.6-50.5-23.7C477 272.2 496.6 213 503.5 178.4c1.6-7.9-.9-16-6.5-21.7s-13.8-8.2-21.7-6.6c-23.7 4.7-57.7 15-92.3 31.7c-15.3 7.4-30.9 16.1-45.9 26.4c-.3-28.3-5.2-56.7-12-82.5c-12.6-47.9-33-91.1-49.2-115.1zM280 396.6V344c0-13.3-10.7-24-24-24s-24 10.7-24 24v52.6l-29.6 14.7 2-7.8c2.2-8.6-.6-17.6-7.1-23.6s-15.8-7.8-24.1-4.9c-19 6.7-43.3 4.3-68.7-3.3c-5.5-1.6-10.8-3.5-16-5.4c9.3-3.5 19.2-6.7 29.3-9c8.5-1.9 15.2-8.3 17.7-16.6s.3-17.3-5.8-23.5c-30.1-31-50.9-73.8-63.1-109.2c13.1 4.5 27.3 10.1 41.7 17.1C139 240 168.8 260 189.6 285c7.4 9 20.2 11.3 30.3 5.5s14.7-17.9 10.8-28.9c-12.4-34.8-8.9-79.8 2.6-123.7c6.2-23.5 14.4-45.4 22.7-63.6c8.3 18.2 16.5 40.2 22.7 63.6c11.6 43.8 15 88.8 2.6 123.7c-3.9 11 .6 23.1 10.8 28.9s22.9 3.4 30.3-5.5c20.8-25.1 50.6-45 81.5-59.9c14.3-6.9 28.6-12.6 41.7-17.1c-11.1 32-29.2 70.2-55 100.3c-2.6 3.1-5.3 6-8.1 8.9c-6 6.2-8.2 15.2-5.8 23.5s9.2 14.6 17.7 16.6c10.1 2.3 20 5.5 29.3 9c-5.2 2-10.5 3.8-16 5.4c-25.4 7.7-49.7 10-68.7 3.3c-8.3-2.9-17.6-1.1-24.1 4.9s-9.3 15-7.1 23.6l2 7.8L280 396.6z\"]\n};\nvar faCirclePlay = {\n prefix: 'far',\n iconName: 'circle-play',\n icon: [512, 512, [61469, \"play-circle\"], \"f144\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM188.3 147.1c7.6-4.2 16.8-4.1 24.3 .5l144 88c7.1 4.4 11.5 12.1 11.5 20.5s-4.4 16.1-11.5 20.5l-144 88c-7.4 4.5-16.7 4.7-24.3 .5s-12.3-12.2-12.3-20.9V168c0-8.7 4.7-16.7 12.3-20.9z\"]\n};\nvar faPlayCircle = faCirclePlay;\nvar faArrowUpRightAndArrowDownLeftFromCenter = {\n prefix: 'far',\n iconName: 'arrow-up-right-and-arrow-down-left-from-center',\n icon: [512, 512, [], \"e0a0\", \"M295 183c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l135-135V168c0 13.3 10.7 24 24 24s24-10.7 24-24V24c0-13.3-10.7-24-24-24H344c-13.3 0-24 10.7-24 24s10.7 24 24 24h86.1L295 183zM217 329c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L48 430.1V344c0-13.3-10.7-24-24-24s-24 10.7-24 24V488c0 13.3 10.7 24 24 24H168c13.3 0 24-10.7 24-24s-10.7-24-24-24H81.9L217 329z\"]\n};\nvar faLocationArrowUp = {\n prefix: 'far',\n iconName: 'location-arrow-up',\n icon: [448, 512, [], \"e63a\", \"M224 98.5L87.2 420l122.1-95c8.7-6.7 20.8-6.7 29.5 0l122.1 95L224 98.5zM190.8 54c5.7-13.3 18.7-22 33.2-22s27.5 8.6 33.2 22L412.5 418.9c2.3 5.4 3.5 11.3 3.5 17.2v2.1c0 23.1-18.7 41.9-41.9 41.9c-9.3 0-18.4-3.1-25.7-8.8L224 374.4 99.6 471.2c-7.3 5.7-16.4 8.8-25.7 8.8C50.7 480 32 461.3 32 438.1v-2.1c0-5.9 1.2-11.8 3.5-17.2L190.8 54z\"]\n};\nvar faTablets = {\n prefix: 'far',\n iconName: 'tablets',\n icon: [640, 512, [], \"f490\", \"M608.8 254.9c-4.7 6.4-9.9 12.5-15.7 18.2s-11.9 11-18.2 15.7c-62.6 46.2-151.3 41-208-15.7s-62-145.4-15.7-208c4.7-6.4 9.9-12.5 15.7-18.2s11.9-11 18.2-15.7c62.6-46.2 151.3-41 208 15.7s62 145.4 15.7 208zM559.2 80.8c-37.9-37.9-96.2-43-139.6-15.1L574.3 220.4c27.8-43.4 22.8-101.7-15.1-139.6zM540.4 254.3L385.7 99.6c-27.8 43.4-22.8 101.7 15.1 139.6s96.2 43 139.6 15.1zM318.2 328c1.2 7.8 1.8 15.8 1.8 24s-.6 16.2-1.8 24c-11.6 77-78 136-158.2 136S13.4 453 1.8 376C.6 368.2 0 360.2 0 352s.6-16.2 1.8-24c11.6-77 78-136 158.2-136s146.6 59 158.2 136zM160 240c-53.6 0-98.4 37.7-109.4 88H269.4c-11-50.3-55.8-88-109.4-88zm0 224c53.6 0 98.4-37.7 109.4-88H50.6c11 50.3 55.8 88 109.4 88z\"]\n};\nvar fa360Degrees = {\n prefix: 'far',\n iconName: '360-degrees',\n icon: [640, 512, [], \"e2dc\", \"M608 64a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM24 64C10.7 64 0 74.7 0 88s10.7 24 24 24h83.2L36 218.7c-4.9 7.4-5.4 16.8-1.2 24.6S47.1 256 56 256H88c30.9 0 56 25.1 56 56v40c0 26.5-21.5 48-48 48H94.5c-16 0-31-8-39.9-21.4L44 362.7c-7.4-11-22.3-14-33.3-6.7s-14 22.3-6.7 33.3l10.6 15.9C32.5 432 62.4 448 94.5 448H96c53 0 96-43 96-96V312c0-53.3-40-97.2-91.6-103.3L172 101.3c4.9-7.4 5.4-16.8 1.2-24.6S160.9 64 152 64H24zm440 80c0-17.7 14.3-32 32-32s32 14.3 32 32V368c0 17.7-14.3 32-32 32s-32-14.3-32-32V144zM576 368V144c0-44.2-35.8-80-80-80s-80 35.8-80 80V368c0 44.2 35.8 80 80 80s80-35.8 80-80zM272 160c0-26.5 21.5-48 48-48c13.3 0 24-10.7 24-24s-10.7-24-24-24c-53 0-96 43-96 96V288l0 .2V368c0 44.2 35.8 80 80 80s80-35.8 80-80V272c0-44.2-35.8-80-80-80c-11.4 0-22.2 2.4-32 6.7V160zm32 80c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V272c0-17.7 14.3-32 32-32z\"]\n};\nvar faEthernet = {\n prefix: 'far',\n iconName: 'ethernet',\n icon: [512, 512, [], \"f796\", \"M128 96c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32v32h32c17.7 0 32 14.3 32 32v32h32c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H400 304 208 112 32c-17.7 0-32-14.3-32-32V224c0-17.7 14.3-32 32-32H64V160c0-17.7 14.3-32 32-32h32V96zm48 16v40c0 13.3-10.7 24-24 24H112v40c0 13.3-10.7 24-24 24H48V400H88V344c0-13.3 10.7-24 24-24s24 10.7 24 24v56h48V344c0-13.3 10.7-24 24-24s24 10.7 24 24v56h48V344c0-13.3 10.7-24 24-24s24 10.7 24 24v56h48V344c0-13.3 10.7-24 24-24s24 10.7 24 24v56h40V240H424c-13.3 0-24-10.7-24-24V176H360c-13.3 0-24-10.7-24-24V112H176z\"]\n};\nvar faEuroSign = {\n prefix: 'far',\n iconName: 'euro-sign',\n icon: [320, 512, [8364, \"eur\", \"euro\"], \"f153\", \"M48.6 240c-.4 5.3-.6 10.6-.6 16s.2 10.7 .6 16H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H57.3C84.8 412.5 170.5 480 272 480h24c13.3 0 24-10.7 24-24s-10.7-24-24-24H272c-74.6 0-138.4-46.4-164-112H264c13.3 0 24-10.7 24-24s-10.7-24-24-24H96.7c-.5-5.3-.7-10.6-.7-16s.2-10.7 .7-16H264c13.3 0 24-10.7 24-24s-10.7-24-24-24H108c25.6-65.6 89.4-112 164-112h24c13.3 0 24-10.7 24-24s-10.7-24-24-24H272C170.5 32 84.8 99.5 57.3 192H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H48.6z\"]\n};\nvar faEur = faEuroSign;\nvar faEuro = faEuroSign;\nvar faChair = {\n prefix: 'far',\n iconName: 'chair',\n icon: [448, 512, [129681], \"f6c0\", \"M248 48H200V224H152V58.7c-23.9 13.8-40 39.7-40 69.3v96H64V128C64 57.3 121.3 0 192 0h64c70.7 0 128 57.3 128 128v96H336V128c0-29.6-16.1-55.5-40-69.3V224H248V48zM67.1 304l-18 48H398.9l-18-48H67.1zM22.1 287.1c7-18.7 24.9-31.1 44.9-31.1H380.9c20 0 37.9 12.4 44.9 31.1l19.2 51.3c1.9 5.1 2.9 10.5 2.9 16c0 20.4-13.5 37.7-32 43.5v90c0 13.3-10.7 24-24 24s-24-10.7-24-24V400H80v88c0 13.3-10.7 24-24 24s-24-10.7-24-24V398c-18.5-5.8-32-23.1-32-43.5c0-5.5 1-10.9 2.9-16l19.2-51.3z\"]\n};\nvar faCircleCheck = {\n prefix: 'far',\n iconName: 'circle-check',\n icon: [512, 512, [61533, \"check-circle\"], \"f058\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 209c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-111 111-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L369 209z\"]\n};\nvar faCheckCircle = faCircleCheck;\nvar faSquareDashedCirclePlus = {\n prefix: 'far',\n iconName: 'square-dashed-circle-plus',\n icon: [576, 512, [], \"e5c2\", \"M104 32H88C39.4 32 0 71.4 0 120v16c0 13.3 10.7 24 24 24s24-10.7 24-24V120c0-22.1 17.9-40 40-40h16c13.3 0 24-10.7 24-24s-10.7-24-24-24zM0 296c0 13.3 10.7 24 24 24s24-10.7 24-24V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v80zm24 56c-13.3 0-24 10.7-24 24v16c0 48.6 39.4 88 88 88h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H88c-22.1 0-40-17.9-40-40V376c0-13.3-10.7-24-24-24zM424 192c13.3 0 24-10.7 24-24V120c0-48.6-39.4-88-88-88H344c-13.3 0-24 10.7-24 24s10.7 24 24 24h16c22.1 0 40 17.9 40 40v48c0 13.3 10.7 24 24 24zM256 456c0-13.3-10.7-24-24-24H184c-13.3 0-24 10.7-24 24s10.7 24 24 24h48c13.3 0 24-10.7 24-24zm8-376c13.3 0 24-10.7 24-24s-10.7-24-24-24H184c-13.3 0-24 10.7-24 24s10.7 24 24 24h80zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm16-208v48h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H448v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V384H368c-8.8 0-16-7.2-16-16s7.2-16 16-16h48V304c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faHandHoldingCircleDollar = {\n prefix: 'far',\n iconName: 'hand-holding-circle-dollar',\n icon: [576, 512, [], \"e621\", \"M128 144a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm120.8-32.6c.6-.9 1.8-2.1 4.2-3.4c5.1-2.7 12.5-4.1 18.7-4c8.2 .1 17.1 1.8 26.4 4.1c8.6 2.1 17.3-3.1 19.4-11.7s-3.1-17.3-11.7-19.4c-5.6-1.4-11.6-2.7-17.9-3.7V64c0-8.8-7.2-16-16-16s-16 7.2-16 16v9.5c-6.1 1.2-12.3 3.2-18 6.3c-11.8 6.3-23 18.4-21.8 37.2c1 16 11.7 25.3 21.6 30.7c8.8 4.7 19.7 7.8 28.6 10.3l1.8 .5c10.3 2.9 17.9 5.2 23.2 8.3c4.5 2.7 4.7 4.2 4.7 5.6c.1 2.4-.5 3.7-1 4.5c-.6 1-1.8 2.2-4 3.3c-4.7 2.5-11.8 3.8-18.5 3.6c-9.5-.3-18.5-3.1-29.9-6.8c-1.9-.6-3.8-1.2-5.8-1.8c-8.4-2.6-17.4 2.1-20 10.5s2.1 17.4 10.5 20c1.6 .5 3.3 1 5 1.6l0 0 0 0c7.1 2.3 15.1 4.9 23.7 6.6v11.4c0 8.8 7.2 16 16 16s16-7.2 16-16V214.7c6.2-1.1 12.5-3.1 18.3-6.2c12.1-6.5 22.3-18.7 21.7-36.9c-.5-16.2-10.3-26.3-20.5-32.3c-9.4-5.6-21.2-8.9-30.5-11.5l-.2 0c-10.4-2.9-18.3-5.2-23.9-8.2c-4.8-2.6-4.8-4-4.8-4.5l0-.1c-.1-1.9 .3-2.9 .8-3.6zM187.4 352c-7.9 0-15.6 2.3-22.2 6.7L85.3 412c-3.9 2.6-8.6 4-13.3 4H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H64.7l73.8-49.2C153 309.1 170 304 187.4 304H344c35.3 0 64 28.7 64 64c0 .7 0 1.3 0 2l64.9-40c10.7-6.6 22.9-10 35.5-10h7.4c33.3 0 60.3 27 60.3 60.3c0 20.4-10.4 39.5-27.5 50.6l-95.6 61.9c-19.4 12.6-42.1 19.3-65.2 19.3H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H387.7c13.9 0 27.5-4 39.1-11.6l95.6-61.9c3.5-2.3 5.6-6.1 5.6-10.3c0-6.8-5.5-12.3-12.3-12.3h-7.4c-3.6 0-7.2 1-10.3 2.9l-93.5 57.5c-3.8 2.3-8.1 3.6-12.6 3.6H344 320 256c-13.3 0-24-10.7-24-24s10.7-24 24-24h64 24c8.8 0 16-7.2 16-16s-7.2-16-16-16H187.4z\"]\n};\nvar faMoneySimpleFromBracket = {\n prefix: 'far',\n iconName: 'money-simple-from-bracket',\n icon: [640, 512, [], \"e313\", \"M48 88v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V88C0 39.4 39.4 0 88 0H552c48.6 0 88 39.4 88 88v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V88c0-22.1-17.9-40-40-40H88C65.9 48 48 65.9 48 88zm416 8h48l0 352c0 35.3-28.7 64-64 64H192c-35.3 0-64-28.7-64-64l0-352h48l0 352c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16l0-352zM320 352c-53 0-96-35.8-96-80s43-80 96-80s96 35.8 96 80s-43 80-96 80z\"]\n};\nvar faBat = {\n prefix: 'far',\n iconName: 'bat',\n icon: [576, 512, [], \"f6b5\", \"M356.3 187.3c-13.3-6.8-22.7-19.3-25.4-33.9l-6.5-34.9c-11.1 6.2-23.6 9.5-36.4 9.5s-25.3-3.3-36.4-9.5l-6.5 34.9c-2.7 14.6-12.1 27.2-25.4 33.9s-28.9 7-42.4 .6l-68.7-32.7C70.1 202.4 48.7 261.3 48 322.3l13.3-6.6c29.9-15 66.3-4.4 83.5 24.3l8.7 14.6 7.6-7.6c27.3-27.3 72.4-24.4 96 6.2L288 393.3l30.8-40.1c23.6-30.6 68.7-33.6 96-6.2l7.6 7.6 8.7-14.6c17.2-28.7 53.6-39.3 83.5-24.3l13.3 6.6c-.6-61-22-120-60.6-167.2l-68.7 32.7c-13.5 6.4-29.1 6.2-42.4-.6zM576 346.3v0 2 28.5c0 10.6-11.2 17.5-20.6 12.8l-25.5-12.8L528 376l0 0-34.7-17.4c-7.5-3.7-16.6-1.1-20.9 6.1l-29.8 49.7c-5.4 8.9-17.7 10.4-25 3.1l-36.6-36.6c-6.8-6.8-18.1-6.1-24 1.6l-56.2 73.1c-6.4 8.3-19 8.3-25.4 0l-56.2-73.1c-5.9-7.7-17.2-8.4-24-1.6l-36.6 36.6c-7.4 7.4-19.7 5.8-25-3.1l-29.8-49.7c-4.3-7.2-13.4-9.8-20.9-6.1L48 376l0 0-1.8 .9L20.7 389.7C11.2 394.4 0 387.5 0 376.9V348.4v-2 0V325.2C0 249.6 27.1 176.4 76.3 119c11.6-13.6 30.9-17.7 47.1-10l29.7 14.1 44.8 21.3 9.2-48.8 6.8-36.2c1.3-6.7 7.1-11.5 13.9-11.5c2.8 0 5.5 .8 7.8 2.4l37.8 25.2c4.3 2.9 9.4 4.4 14.7 4.4s10.3-1.5 14.7-4.4l37.8-25.2c2.3-1.5 5-2.4 7.8-2.4c6.8 0 12.6 4.8 13.9 11.5l6.8 36.2 9.2 48.8 44.8-21.3L452.6 109c16.2-7.7 35.5-3.6 47.1 10C548.9 176.4 576 249.6 576 325.2v21.1z\"]\n};\nvar faCircleStop = {\n prefix: 'far',\n iconName: 'circle-stop',\n icon: [512, 512, [62094, \"stop-circle\"], \"f28d\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm192-96H320c17.7 0 32 14.3 32 32V320c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V192c0-17.7 14.3-32 32-32z\"]\n};\nvar faStopCircle = faCircleStop;\nvar faHeadSideHeadphones = {\n prefix: 'far',\n iconName: 'head-side-headphones',\n icon: [512, 512, [], \"f8c2\", \"M184 52.6C106.1 70.7 48 140.5 48 224c0 42.2 14.8 80.8 39.5 111.1c13.6 16.6 24.5 38.5 24.5 63.4V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V398.6c0-10.7-4.8-22.2-13.7-33.1C18.9 326.9 0 277.6 0 224C0 100.3 100.3 0 224 0h24c78.8 0 151.4 47.6 183.2 116.2c4.2 9.1 8.2 18.4 12 27.3l1.5 3.5c4.3 10.1 8.5 19.7 13 29c9 18.6 18.7 34.5 31.4 47.1l4.4 4.4c11.9 11.9 18.6 28.1 18.6 45c0 35.1-28.5 63.6-63.6 63.6H448v48c0 35.3-28.7 64-64 64H320v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V424c0-13.3 10.7-24 24-24h88c8.8 0 16-7.2 16-16V312c0-13.3 10.7-24 24-24h24.4c8.6 0 15.6-7 15.6-15.6c0-4.1-1.6-8.1-4.6-11L455 257c-18.1-18.1-30.6-39.4-40.6-60.1c-5-10.4-9.6-21-13.9-31.1l-1.5-3.5c-3.8-9-7.5-17.6-11.4-25.9C363.7 84.7 308.1 48 248 48H232V98.6c50.3 11 88 55.8 88 109.4c0 61.9-50.1 112-112 112s-112-50.1-112-112c0-53.6 37.7-98.4 88-109.4v-46zM272 208a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zm-96 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faPhoneRotary = {\n prefix: 'far',\n iconName: 'phone-rotary',\n icon: [512, 512, [9742], \"f8d3\", \"M0 176V141.3c0-8.5 3.4-16.6 9.9-22.1C38.2 95.4 125.9 32 256 32s217.8 63.4 246.1 87.2c6.5 5.5 9.9 13.6 9.9 22.1V176c0 17.7-14.3 32-32 32H437.7c-13.1 0-24.9-8-29.7-20.1l-19.4-48.6c-2.9-7.3-8.4-13.2-15.7-16c-18.6-7-59.5-19.3-116.8-19.3s-98.2 12.3-116.8 19.3c-7.3 2.8-12.8 8.7-15.7 16L104 187.9C99.2 200 87.4 208 74.3 208H32c-17.7 0-32-14.3-32-32zM80 401v31H432V401c0-2.8-.7-5.5-2.1-7.9l-101.1-177c-2.8-5-8.2-8.1-13.9-8.1H197.1c-5.7 0-11 3.1-13.9 8.1L82.1 393.1c-1.4 2.4-2.1 5.2-2.1 7.9zm61.6-208.7C153 172.3 174.2 160 197.1 160H314.9c23 0 44.2 12.3 55.6 32.2l101.1 177c5.5 9.7 8.4 20.6 8.4 31.8v31c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48V401c0-11.1 2.9-22.1 8.4-31.8l101.1-177zM256 256a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]\n};\nvar faArrowUpToBracket = {\n prefix: 'far',\n iconName: 'arrow-up-to-bracket',\n icon: [448, 512, [], \"e66a\", \"M369 295L241 167c-9.4-9.4-24.6-9.4-33.9 0L79 295c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l87-87L200 488c0 13.3 10.7 24 24 24s24-10.7 24-24l0-246.1 87 87c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9zM48 168l0-80c0-22.1 17.9-40 40-40l272 0c22.1 0 40 17.9 40 40l0 80c0 13.3 10.7 24 24 24s24-10.7 24-24l0-80c0-48.6-39.4-88-88-88L88 0C39.4 0 0 39.4 0 88l0 80c0 13.3 10.7 24 24 24s24-10.7 24-24z\"]\n};\nvar faCompassDrafting = {\n prefix: 'far',\n iconName: 'compass-drafting',\n icon: [512, 512, [\"drafting-compass\"], \"f568\", \"M304 96a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm-19.6 91.7c-9 2.8-18.5 4.3-28.4 4.3s-19.4-1.5-28.4-4.3L158.1 306.4C187.9 320.3 221 328 256 328c85.8 0 160.8-46.6 201-116c6.6-11.5 21.3-15.4 32.8-8.8s15.4 21.3 8.8 32.8C450.2 319.6 359.7 376 256 376c-43.8 0-85.3-10.1-122.2-28L44.7 500.1c-6.7 11.4-21.4 15.3-32.8 8.6S-3.4 487.3 3.3 475.9L92.6 323.4C60.4 300.2 33.4 270.4 13.5 236c-6.6-11.5-2.7-26.2 8.8-32.8s26.2-2.7 32.8 8.8c15.8 27.2 36.9 51 61.9 69.7l69.8-119.2C170.2 145.2 160 121.8 160 96c0-53 43-96 96-96s96 43 96 96c0 25.8-10.2 49.2-26.7 66.5l53.5 91.4c-12.6 9.8-26.4 18.1-41.1 24.7l-53.2-90.9zM508.7 475.9c6.7 11.4 2.9 26.1-8.6 32.8s-26.1 2.9-32.8-8.6L394.4 375.7c14.4-7.1 28.2-15.4 41.2-24.6l73 124.8z\"]\n};\nvar faDraftingCompass = faCompassDrafting;\nvar faPlateWheat = {\n prefix: 'far',\n iconName: 'plate-wheat',\n icon: [512, 512, [], \"e55a\", \"M176 32c-8.8 0-16 7.2-16 16V64c0 44.2 35.8 80 80 80c8.8 0 16-7.2 16-16V112c0-44.2-35.8-80-80-80zM56 64C42.7 64 32 74.7 32 88s10.7 24 24 24h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H56zM24 136c-13.3 0-24 10.7-24 24s10.7 24 24 24H136c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zm8 96c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H56c-13.3 0-24 10.7-24 24zM272 48V64c0 44.2 35.8 80 80 80c8.8 0 16-7.2 16-16V112c0-44.2-35.8-80-80-80c-8.8 0-16 7.2-16 16zM400 32c-8.8 0-16 7.2-16 16V64c0 44.2 35.8 80 80 80c8.8 0 16-7.2 16-16V112c0-44.2-35.8-80-80-80zm80 160c0-8.8-7.2-16-16-16c-44.2 0-80 35.8-80 80v16c0 8.8 7.2 16 16 16c44.2 0 80-35.8 80-80V192zM352 176c-44.2 0-80 35.8-80 80v16c0 8.8 7.2 16 16 16c44.2 0 80-35.8 80-80V192c0-8.8-7.2-16-16-16zm-96 16c0-8.8-7.2-16-16-16c-44.2 0-80 35.8-80 80v16c0 8.8 7.2 16 16 16c44.2 0 80-35.8 80-80V192zM130 423.7c-7.3-13.2-20.4-22.2-35.3-24.3C76 396.8 60.3 384.6 52.8 368H459.2c-7.5 16.6-23.2 28.8-41.9 31.5c-14.9 2.1-28 11.1-35.3 24.3c-2.8 5-8.1 8.3-14 8.3H144c-6 0-11.2-3.2-14-8.3zM25.6 320C11.5 320 0 331.5 0 345.6C0 397.3 38.3 440 88 447c10.9 19.7 31.9 33 56 33H368c24.1 0 45.1-13.3 56-33c49.7-7 88-49.7 88-101.4c0-14.1-11.5-25.6-25.6-25.6H25.6z\"]\n};\nvar faCalendarCircleMinus = {\n prefix: 'far',\n iconName: 'calendar-circle-minus',\n icon: [576, 512, [], \"e46f\", \"M128 0c13.3 0 24 10.7 24 24V64H296V24c0-13.3 10.7-24 24-24s24 10.7 24 24V64h40c35.3 0 64 28.7 64 64v16 48H432 400 352 48V448c0 8.8 7.2 16 16 16H284.5c12.3 18.8 28 35.1 46.3 48H64c-35.3 0-64-28.7-64-64V192 144 128C0 92.7 28.7 64 64 64h40V24c0-13.3 10.7-24 24-24zM288 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm224 0c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16s7.2 16 16 16H496c8.8 0 16-7.2 16-16z\"]\n};\nvar faChopsticks = {\n prefix: 'far',\n iconName: 'chopsticks',\n icon: [640, 512, [], \"e3f7\", \"M144.9 332.9L332.9 54.7c3.5-4.3 8.4-6.7 13.6-6.7c9.2 0 18.1 8 18.1 19.5c0 4.6-1.4 8.7-3.8 11.9L144.9 332.9zM346.5 0c-21.4 0-40.3 10.4-52.2 26.1l-.4 .5-.4 .6L7.4 450.7c-12 16.4-9.2 39.8 6.8 52.8C30.8 517 54.7 514 67.7 497.6L397.9 109.9l.4-.5 .4-.5c8.7-11.5 13.9-25.9 13.9-41.4C412.6 31 383.7 0 346.5 0zm-37 356.7L561.1 116.2c3.2-2.6 7.3-4.2 11.9-4.2c10.4 0 18.9 8.4 18.9 18.9c0 5.5-2.4 10.5-6.2 14L309.5 356.7zM573 64c-16.6 0-31.8 6.1-43.5 16.1l-.5 .4-.5 .4-381 364.2c-15.5 13.8-17.1 37.6-3.5 53.5s37.3 17.9 53.4 4.7L615.5 182.4l.5-.4 .5-.4c14.3-12.2 23.3-30.4 23.3-50.8C639.9 93.9 609.9 64 573 64z\"]\n};\nvar faCarWrench = {\n prefix: 'far',\n iconName: 'car-wrench',\n icon: [512, 512, [\"car-mechanic\"], \"f5e3\", \"M468.9 104H456l-.5 0c-.7 0-1.4-.1-2.1-.1C441.3 102.5 432 92.4 432 80s9.3-22.5 21.3-23.9c.7-.1 1.4-.1 2.1-.1l.5 0h12.9 17.6c10.8 0 18.4-10.6 12.5-19.6c-3.6-5.5-7.8-10.5-12.5-14.9c-4.2-3.9-8.8-7.4-13.8-10.3C470.8 10 468.9 9 466.9 8C456.4 2.9 444.5 0 432 0c-29.1 0-54.5 15.5-68.5 38.7c-3.3 5.4-8.9 9.3-15.3 9.3H163.8c-6.4 0-12-3.8-15.3-9.3C134.5 15.5 109.1 0 80 0C67.5 0 55.6 2.9 45.1 8c-2 1-3.9 2-5.8 3.1c-5 2.9-9.6 6.4-13.8 10.3c-4.7 4.4-9 9.4-12.5 14.9C7 45.4 14.7 56 25.5 56H43.1 56l.5 0c.7 0 1.4 .1 2.1 .1C70.7 57.5 80 67.6 80 80s-9.3 22.5-21.3 23.9c-.7 .1-1.4 .1-2.1 .1l-.5 0H43.1 25.5C14.7 104 7 114.6 12.9 123.6c3.6 5.5 7.8 10.5 12.5 14.9c4.2 3.9 8.8 7.4 13.8 10.3c1.9 1.1 3.8 2.2 5.8 3.1c10.6 5.1 22.4 8 34.9 8c29.1 0 54.5-15.5 68.5-38.7c3.3-5.4 8.9-9.3 15.3-9.3H348.2c6.4 0 12 3.8 15.3 9.3c14 23.2 39.5 38.7 68.5 38.7c12.5 0 24.4-2.9 34.9-8c2-1 3.9-2 5.8-3.1c5-2.9 9.6-6.4 13.8-10.3c4.7-4.4 9-9.4 12.5-14.9c5.9-9-1.7-19.6-12.5-19.6H468.9zM185.8 208H326.2c10.1 0 19.2 6.4 22.6 15.9L365.9 272H146.1l17.2-48.1c3.4-9.6 12.5-15.9 22.6-15.9zM89.4 287.9c-.2 .5-.3 .9-.5 1.4C64.2 306.7 48 335.5 48 368v32 16 32 40c0 13.3 10.7 24 24 24s24-10.7 24-24V448H416v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448 416 400 368c0-32.5-16.2-61.3-40.9-78.7c-.1-.5-.3-.9-.5-1.4L394 207.8c-10.2-28.7-37.4-47.8-67.8-47.8H185.8c-30.4 0-57.6 19.1-67.8 47.8L89.4 287.9zM368 320c26.5 0 48 21.5 48 48v32H96V368c0-26.5 21.5-48 48-48H368zM160 384a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm216-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faCarMechanic = faCarWrench;\nvar faIcicles = {\n prefix: 'far',\n iconName: 'icicles',\n icon: [512, 512, [], \"f7ad\", \"M5.2 9.1C9.7 3.4 16.7 0 24 0H488c6.9 0 13.5 3 18.1 8.2s6.6 12.2 5.7 19L448.9 483c-2.3 16.6-16.5 29-33.2 29c-15.8 0-29.4-11-32.8-26.4L332.6 256.5l-11.2 38.2c-4.4 15-18.1 25.2-33.7 25.2c-14.5 0-27.6-9-32.8-22.5l-9.4-24.6-20.2 84.9C221.5 373.1 207.8 384 192 384s-29.5-10.9-33.2-26.2l-20.2-84.9-9.5 24.8C123.9 311.1 111 320 96.6 320c-16.2 0-30.2-11.1-33.9-26.8L.6 29.5C-1 22.4 .6 14.8 5.2 9.1zM54.3 48L99.6 240.6l22-57.2c3.8-9.8 13.5-16 24-15.3s19.3 8.2 21.7 18.4L192 290l24.7-103.5c2.4-10.2 11.3-17.7 21.7-18.4s20.2 5.5 24 15.3L286 244.8 313 153.2c3.1-10.5 12.9-17.6 23.9-17.2s20.3 8.1 22.6 18.8l53 241.4L460.5 48H54.3z\"]\n};\nvar faPersonShelter = {\n prefix: 'far',\n iconName: 'person-shelter',\n icon: [512, 512, [], \"e54f\", \"M268.1 3.3c-7.5-4.4-16.8-4.4-24.3 0l-232 136C4.5 143.6 0 151.5 0 160V488c0 13.3 10.7 24 24 24s24-10.7 24-24V173.8L256 51.8 464 173.8V488c0 13.3 10.7 24 24 24s24-10.7 24-24V160c0-8.5-4.5-16.4-11.9-20.7l-232-136zM256 208a40 40 0 1 0 0-80 40 40 0 1 0 0 80zm-16 64.5c2-.3 4.1-.5 6.2-.5h19.5c2.1 0 4.2 .2 6.2 .5V368H240V272.5zM240 416h32v72c0 13.3 10.7 24 24 24s24-10.7 24-24V328.3l18.9 35c6.3 11.7 20.8 16 32.5 9.8s16-20.8 9.8-32.5l-37.9-70.3c-15.3-28.5-45.1-46.3-77.5-46.3H246.2c-32.4 0-62.1 17.8-77.5 46.3l-37.9 70.3c-6.3 11.7-1.9 26.2 9.8 32.5s26.2 1.9 32.5-9.8l18.9-35V488c0 13.3 10.7 24 24 24s24-10.7 24-24V416z\"]\n};\nvar faNeuter = {\n prefix: 'far',\n iconName: 'neuter',\n icon: [384, 512, [9906], \"f22c\", \"M64 176a128 128 0 1 1 256 0A128 128 0 1 1 64 176zM216 350.4c85.8-11.7 152-85.3 152-174.4C368 78.8 289.2 0 192 0S16 78.8 16 176c0 89.1 66.2 162.7 152 174.4V488c0 13.3 10.7 24 24 24s24-10.7 24-24V350.4z\"]\n};\nvar faIdBadge = {\n prefix: 'far',\n iconName: 'id-badge',\n icon: [384, 512, [], \"f2c1\", \"M256 48V64c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H320c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H256zM0 64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM160 320h64c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16c0-44.2 35.8-80 80-80zm-32-96a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z\"]\n};\nvar faKazoo = {\n prefix: 'far',\n iconName: 'kazoo',\n icon: [640, 512, [], \"f8c7\", \"M560 256c0 29.6-8.9 57.1-24.2 80H576c8.8 0 16-7.2 16-16V192c0-8.8-7.2-16-16-16H535.8c15.3 22.9 24.2 50.4 24.2 80zm16 128H482c-19.8 10.2-42.2 16-66 16s-46.3-5.8-66-16H241.7c-11.8 0-23.4-1.6-34.7-4.8c-39.3-11.1-136.7-38.7-184-52.5C9.4 322.7 0 310.2 0 296V216c0-14.2 9.4-26.7 23-30.7c47.3-13.8 144.7-41.4 184-52.5c11.3-3.2 23-4.8 34.7-4.8H350c19.8-10.2 42.2-16 66-16s46.3 5.8 66 16h94c35.3 0 64 28.7 64 64V320c0 35.3-28.7 64-64 64zM241.7 336h54.5c-15.3-22.9-24.2-50.4-24.2-80s8.9-57.1 24.2-80H241.7c-7.4 0-14.6 1-21.7 3C183.7 189.3 97.9 213.6 48 228v56c49.9 14.5 135.7 38.7 172.1 49c7 2 14.3 3 21.7 3zM416 352a96 96 0 1 0 0-192 96 96 0 1 0 0 192zM398.1 209.9L416 227.7l17.9-17.9c7.8-7.8 20.5-7.8 28.3 0s7.8 20.5 0 28.3L444.3 256l17.9 17.9c7.8 7.8 7.8 20.5 0 28.3s-20.5 7.8-28.3 0L416 284.3l-17.9 17.9c-7.8 7.8-20.5 7.8-28.3 0s-7.8-20.5 0-28.3L387.7 256l-17.9-17.9c-7.8-7.8-7.8-20.5 0-28.3s20.5-7.8 28.3 0z\"]\n};\nvar faMarker = {\n prefix: 'far',\n iconName: 'marker',\n icon: [512, 512, [], \"f5a1\", \"M336 113.9L225.9 224 288 286.1 447 127c17.1-17.1 17.1-44.9 0-62.1s-44.9-17.1-62.1 0l-15 15L336 113.9zm-144 144l-58.5 58.5c-38.8 38.8-66 87.5-78.6 140.7c53.2-12.7 101.9-39.9 140.7-78.6L254.1 320 192 257.9zM232.4 23.7c27.9-18.4 65.9-15.4 90.5 9.2l0 0L336 46.1l15-15 0 0C386.9-4.8 445.1-4.8 481 31c35.9 35.9 35.9 94.1 0 129.9L229.5 412.5c-48 48-109.2 80.8-175.8 94.1l-25 5c-7.9 1.6-16-.9-21.7-6.6s-8.1-13.8-6.6-21.7l5-25c13.3-66.6 46.1-127.8 94.1-175.8l80-80L199 183l69.1-69.1 6.2-6.2L285.1 97l17-17L289 66.9l0 0c-9.4-9.4-24.6-9.3-33.9 0L169 153c-4.1 4.1-9.3 6.4-14.7 6.9c-6.9 .7-14-1.7-19.3-6.9c-9.4-9.4-9.4-24.6 0-33.9L221.1 33c3.5-3.5 7.3-6.6 11.3-9.2z\"]\n};\nvar faBinBottles = {\n prefix: 'far',\n iconName: 'bin-bottles',\n icon: [640, 512, [], \"e5f5\", \"M152 0h80c13.3 0 24 10.7 24 24v8c8.8 0 16 7.2 16 16s-7.2 16-16 16H128c-8.8 0-16-7.2-16-16s7.2-16 16-16V24c0-13.3 10.7-24 24-24zM32 192c0-53 43-96 96-96H256c24.9 0 47.6 9.5 64.6 25c1.1 1 2.2 2 3.2 3.1C341.3 141.5 352 165.5 352 192h32c0-40.7-19-76.9-48.6-100.4c5.2-5.6 11.5-10.3 18.6-13.6l13.2-6.2c5.3-2.5 10.8-4.4 16.4-5.7V24c0-13.3 10.7-24 24-24h80c13.3 0 24 10.7 24 24V66.1c5.6 1.3 11.1 3.2 16.4 5.7L541.2 78c21 9.9 34.4 31 34.4 54.2c0 12.3-3.7 23.8-10.1 33.3c5 7.8 8.4 16.9 9.6 26.5H608h8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8L584.3 441.3c-4.7 40.3-38.9 70.7-79.5 70.7H135.1c-40.6 0-74.7-30.4-79.5-70.7L32 240H24c-13.3 0-24-10.7-24-24s10.7-24 24-24h8zm71.4 243.7c1.9 16.1 15.6 28.3 31.8 28.3H504.9c16.2 0 29.9-12.1 31.8-28.3l23-195.7H80.3l23 195.7z\"]\n};\nvar faFaceLaughBeam = {\n prefix: 'far',\n iconName: 'face-laugh-beam',\n icon: [512, 512, [128513, \"laugh-beam\"], \"f59a\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm130.7 57.9c-4.2-13.6 7.1-25.9 21.3-25.9H364.5c14.2 0 25.5 12.4 21.3 25.9C369 368.4 318.2 408 258.2 408s-110.8-39.6-127.5-94.1zm86.9-85.1l0 0 0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0zm160 0l0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0 0 0z\"]\n};\nvar faLaughBeam = faFaceLaughBeam;\nvar faSquareArrowDownLeft = {\n prefix: 'far',\n iconName: 'square-arrow-down-left',\n icon: [448, 512, [], \"e261\", \"M64 432c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H384c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64zM0 416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416zm288-48c13.3 0 24-10.7 24-24s-10.7-24-24-24H193.9L329 185c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-135 135V184c0-13.3-10.7-24-24-24s-24 10.7-24 24V344c0 13.3 10.7 24 24 24H288z\"]\n};\nvar faBatteryBolt = {\n prefix: 'far',\n iconName: 'battery-bolt',\n icon: [576, 512, [], \"f376\", \"M80 96C35.8 96 0 131.8 0 176V336c0 44.2 35.8 80 80 80h92.2c-11.6-13-15.3-31.5-9.5-48H80c-17.7 0-32-14.3-32-32V176c0-17.7 14.3-32 32-32H239.2l60-48H80zM464 368H304.8l-60 48H464c44.2 0 80-35.8 80-80V320c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32V176c0-44.2-35.8-80-80-80H371.8c11.6 13 15.3 31.5 9.5 48H464c17.7 0 32 14.3 32 32V336c0 17.7-14.3 32-32 32zM346.1 115.6c-5.8-4.7-14.2-4.7-20.1-.1l-160 128c-5.3 4.2-7.4 11.4-5.1 17.8s8.3 10.7 15.1 10.7h70.1L193.7 376.8c-3.4 6.7-1.6 14.9 4.3 19.6s14.2 4.7 20.1 .1l160-128c5.3-4.2 7.4-11.4 5.1-17.8s-8.3-10.7-15.1-10.7H297.9l52.4-104.8c3.4-6.7 1.6-14.9-4.2-19.6z\"]\n};\nvar faTreeLarge = {\n prefix: 'far',\n iconName: 'tree-large',\n icon: [448, 512, [], \"f7dd\", \"M224 0c7.4 0 14.4 3.4 18.9 9.3L381.2 186.9c5.6 7.2 6.6 17 2.6 25.3s-12.4 13.5-21.6 13.5H345.7l67.2 100.6c4.9 7.4 5.4 16.8 1.2 24.6s-12.3 12.7-21.2 12.7H369l74.9 111.1c5 7.4 5.5 16.9 1.3 24.7S432.9 512 424 512H24c-8.9 0-17-4.9-21.2-12.7s-3.7-17.3 1.3-24.7L79 363.5H55c-8.9 0-17-4.9-21.2-12.7s-3.7-17.3 1.2-24.6l67.2-100.6H85.8c-9.2 0-17.5-5.2-21.6-13.5s-3-18 2.6-25.3L205.1 9.3C209.6 3.4 216.6 0 224 0zM134.9 177.6h12.3c8.9 0 17 4.9 21.2 12.7s3.7 17.3-1.2 24.6L99.9 315.5h24.2c8.9 0 17 4.9 21.2 12.7s3.7 17.3-1.3 24.7L69.1 464H378.9L303.9 352.9c-5-7.4-5.5-16.9-1.3-24.7s12.3-12.7 21.2-12.7h24.2L280.8 214.9c-4.9-7.4-5.4-16.8-1.2-24.6s12.3-12.7 21.2-12.7h12.3L224 63.1 134.9 177.6z\"]\n};\nvar faHelicopterSymbol = {\n prefix: 'far',\n iconName: 'helicopter-symbol',\n icon: [512, 512, [], \"e502\", \"M461.6 224H510C495.6 108.2 403.8 16.4 288 2V50.5C377.3 64.2 447.8 134.8 461.6 224zM510 288H461.6C447.8 377.3 377.3 447.8 288 461.6V510c115.8-14.4 207.6-106.2 222-222zM2 288C16.4 403.8 108.2 495.6 224 510V461.6C134.7 447.8 64.2 377.3 50.4 288H2zm0-64H50.4C64.2 134.8 134.7 64.2 224 50.5V2C108.2 16.4 16.4 108.2 2 224zm190-64c0-13.3-10.7-24-24-24s-24 10.7-24 24V352c0 13.3 10.7 24 24 24s24-10.7 24-24V280H320v72c0 13.3 10.7 24 24 24s24-10.7 24-24V160c0-13.3-10.7-24-24-24s-24 10.7-24 24v72H192V160z\"]\n};\nvar faAperture = {\n prefix: 'far',\n iconName: 'aperture',\n icon: [512, 512, [], \"e2df\", \"M256 464l67-116 13.8-23.8c0-.1 .1-.1 .1-.2l11.5-20 56.3 97.5C366.9 440.1 314.2 464 256 464zM163.6 208l-56.3-97.5C145.1 71.9 197.8 48 256 48L189 164l-13.9 24-11.5 20zm87.8-56l56.3-97.5c54.8 14 100.9 49.8 128.5 97.5h-134H274.7c-.1 0-.2 0-.3 0H251.4zm104.1 68.3c-.1-.1-.1-.2-.2-.3l-11.5-20H456.4c5 17.8 7.6 36.6 7.6 56c0 37.9-10.1 73.4-27.8 104l-67-116-13.7-23.7zM48 256c0-37.9 10.1-73.4 27.8-104l67 116 25.4 44H55.6c-5-17.8-7.6-36.6-7.6-56zM204.3 457.5c-54.8-14-100.9-49.8-128.5-97.5h134 50.8l-56.3 97.5zM256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216.7 212c4.3-7.4 12.1-11.9 20.6-12h37.3c8.5 .1 16.3 4.6 20.5 11.8l18.7 32.3c4.2 7.4 4.2 16.4 0 23.8c0 0 0 .1-.1 .1l-18.5 32c0 0 0 .1 0 .1c-4.3 7.4-12.2 11.9-20.7 11.9H237.5c-8.6 0-16.5-4.6-20.8-12l-18.5-32c-4.3-7.4-4.3-16.6 0-24l18.5-32z\"]\n};\nvar faUniversalAccess = {\n prefix: 'far',\n iconName: 'universal-access',\n icon: [512, 512, [], \"f29a\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm161.5-86.1l11.9 5.1c26.1 11.2 54.2 17 82.7 17s56.5-5.8 82.7-17l11.9-5.1c12.2-5.2 26.3 .4 31.5 12.6s-.4 26.3-12.6 31.5l-11.9 5.1c-17.3 7.4-35.2 12.9-53.6 16.3v50.1c0 4.3 .7 8.6 2.1 12.6l28.7 86.1c4.2 12.6-2.6 26.2-15.2 30.4s-26.2-2.6-30.4-15.2l-24.4-73.2c-1.3-3.8-4.8-6.4-8.8-6.4s-7.6 2.6-8.8 6.4l-24.4 73.2c-4.2 12.6-17.8 19.4-30.4 15.2s-19.4-17.8-15.2-30.4l28.7-86.1c1.4-4.1 2.1-8.3 2.1-12.6V235.5c-18.4-3.5-36.3-8.9-53.6-16.3l-11.9-5.1c-12.2-5.2-17.8-19.3-12.6-31.5s19.3-17.8 31.5-12.6zM256 80a40 40 0 1 1 0 80 40 40 0 1 1 0-80z\"]\n};\nvar faGearComplex = {\n prefix: 'far',\n iconName: 'gear-complex',\n icon: [512, 512, [], \"e5e9\", \"M256 160a96 96 0 1 0 0 192 96 96 0 1 0 0-192zm48 96a48 48 0 1 1 -96 0 48 48 0 1 1 96 0zM234.9 0c-22.2 0-41.5 15.2-46.7 36.7L180 71l-1.1 .4L148.9 53c-18.9-11.6-43.3-8.7-59 7L60.1 89.9c-15.7 15.7-18.6 40.1-7 59l18.4 30L71 180l-34.2 8.3C15.2 193.4 0 212.7 0 234.9v42.2c0 22.2 15.2 41.5 36.7 46.7L71 332l.4 1.1L53 363.1c-11.6 18.9-8.7 43.3 7 59l29.8 29.8c15.7 15.7 40.1 18.6 59 7l30-18.4 1.1 .4 8.3 34.2c5.2 21.6 24.5 36.7 46.7 36.7h42.2c22.2 0 41.5-15.2 46.7-36.7L332 441l1.1-.4 30 18.4c18.9 11.6 43.3 8.7 59-7l29.8-29.8c15.7-15.7 18.6-40.1 7-59l-18.4-30 .4-1.1 34.2-8.3c21.6-5.2 36.7-24.5 36.7-46.7V234.9c0-22.2-15.2-41.5-36.7-46.7L441 180l-.4-1.1 18.4-30c11.6-18.9 8.7-43.3-7-59L422.1 60.1c-15.7-15.7-40.1-18.6-59-7l-30 18.4L332 71l-8.3-34.2C318.6 15.2 299.3 0 277.1 0H234.9zm0 48l42.2 0 11.3 46.6c1.9 8 7.9 14.5 15.7 17.1c6.8 2.3 13.5 5 19.9 8.2c7.4 3.7 16.2 3.3 23.3-1l40.9-25L418 123.8l-25 40.9c-4.3 7.1-4.7 15.9-1 23.3c3.2 6.4 6 13 8.2 19.9c2.6 7.9 9.1 13.8 17.1 15.7L464 234.9v42.2l-46.6 11.3c-8 1.9-14.5 7.9-17.1 15.7c-2.3 6.8-5 13.5-8.2 19.9c-3.7 7.4-3.3 16.2 1 23.3l25 40.9L388.2 418l-40.9-25c-7.1-4.3-15.9-4.7-23.3-1c-6.4 3.2-13 6-19.9 8.2c-7.9 2.6-13.8 9.1-15.7 17.1L277.1 464H234.9l-11.3-46.6c-1.9-8-7.9-14.5-15.7-17.1c-6.8-2.3-13.5-5-19.9-8.2c-7.4-3.7-16.2-3.3-23.3 1l-40.9 25L94 388.2l25-40.9c4.3-7.1 4.7-15.9 1-23.3c-3.2-6.4-6-13-8.2-19.9c-2.6-7.9-9.1-13.8-17.1-15.7L48 277.1l0-42.2 46.6-11.3c8-1.9 14.5-7.9 17.1-15.7c2.3-6.8 5-13.5 8.2-19.9c3.7-7.4 3.3-16.2-1-23.3L94 123.8 123.8 94l40.9 25c7.1 4.3 15.9 4.7 23.3 1c6.4-3.2 13-6 19.9-8.2c7.9-2.6 13.8-9.1 15.7-17.1L234.9 48z\"]\n};\nvar faFileMagnifyingGlass = {\n prefix: 'far',\n iconName: 'file-magnifying-glass',\n icon: [384, 512, [\"file-search\"], \"f865\", \"M64 464c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zM272 304c0-53-43-96-96-96s-96 43-96 96s43 96 96 96c17.8 0 34.4-4.8 48.7-13.2L263 425.1c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-38.3-38.3c8.5-14.3 13.3-31 13.3-48.9zm-96-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faFileSearch = faFileMagnifyingGlass;\nvar faUpRight = {\n prefix: 'far',\n iconName: 'up-right',\n icon: [384, 512, [], \"e2be\", \"M320 128V321.4c0 1.7-.8 3.2-2.1 4.2c-2.1 1.6-5 1.4-6.9-.5L257 271c-9.4-9.4-24.6-9.4-33.9 0L98.3 395.7c-2.7 2.7-6.5 4.3-10.3 4.3s-7.6-1.5-10.3-4.3L52.3 370.3c-2.7-2.7-4.3-6.5-4.3-10.3s1.5-7.6 4.3-10.3L177 225c9.4-9.4 9.4-24.6 0-33.9L122.9 137c-1.8-1.8-2.1-4.8-.5-6.9c1-1.3 2.5-2.1 4.2-2.1H320zm48-8c0-22.1-17.9-40-40-40H126.6c-16.8 0-32.5 7.9-42.6 21.3c-15.9 21.2-13.8 50.9 4.9 69.6L126.1 208 18.3 315.7C6.6 327.5 0 343.4 0 360s6.6 32.5 18.3 44.3l25.4 25.4C55.5 441.4 71.4 448 88 448s32.5-6.6 44.3-18.3L240 321.9 277.1 359c18.7 18.7 48.4 20.8 69.6 5c13.4-10.1 21.3-25.8 21.3-42.6V120z\"]\n};\nvar faCircleChevronUp = {\n prefix: 'far',\n iconName: 'circle-chevron-up',\n icon: [512, 512, [\"chevron-circle-up\"], \"f139\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM377 271L273 167c-9.4-9.4-24.6-9.4-33.9 0L135 271c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l87-87 87 87c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9z\"]\n};\nvar faChevronCircleUp = faCircleChevronUp;\nvar faUserPolice = {\n prefix: 'far',\n iconName: 'user-police',\n icon: [448, 512, [], \"e333\", \"M230.1 .8c-4-1.1-8.2-1.1-12.2 0l-152 40c-8.6 2.3-15.3 9.1-17.3 17.8s1 17.8 7.8 23.6L80 102.5v8.4c0 10.7 5.3 20.8 15.1 25.2c24.1 10.8 68.6 24 128.9 24s104.8-13.2 128.9-24c9.8-4.4 15.1-14.5 15.1-25.2v-8.4l23.6-20.2c6.8-5.8 9.8-14.9 7.8-23.6s-8.7-15.6-17.3-17.8l-152-40zM227 48.6l32 12.8c3 1.2 5 4.2 5 7.4c0 17.2-7 46.1-36.9 58.6c-2 .8-4.2 .8-6.2 0C191 114.9 184 86 184 68.8c0-3.3 2-6.2 5-7.4l32-12.8c1.9-.8 4-.8 5.9 0zM96 192c0 70.7 57.3 128 128 128s128-57.3 128-128c0-7.9-.7-15.7-2.1-23.2c-14 5.4-28.5 9.9-43.3 13.4c.4 3.2 .6 6.5 .6 9.8c0 46-37.2 83.2-83.2 83.2s-83.2-37.2-83.2-83.2c0-3.3 .2-6.6 .6-9.8c-14.8-3.6-29.3-8.1-43.3-13.4C96.7 176.3 96 184.1 96 192zm20.6 209.8l65.2 57.1c2.1 1.9 4.3 3.6 6.6 5.1H50.9c8.4-31.2 33.8-55.5 65.7-62.2zM358.4 464l4.7-3.4c2.8-2 4-5.7 2.9-9s-4.2-5.5-7.6-5.5l-17.4 0-5.4-16.6c-1.1-3.3-4.1-5.5-7.6-5.5s-6.5 2.2-7.6 5.5L315 446.2l-17.4 0c-3.5 0-6.6 2.2-7.6 5.5s.1 6.9 2.9 9l4.7 3.4H259.5c2.3-1.5 4.5-3.2 6.6-5.1l65.2-57.1c31.9 6.7 57.3 30.9 65.7 62.2H358.4zM137.2 356.1c-3-2.6-6.8-4.1-10.7-3.8C55.9 356.3 0 414.8 0 486.4C0 500.5 11.5 512 25.6 512H422.4c14.1 0 25.6-11.5 25.6-25.6c0-71.6-55.9-130.1-126.5-134.2c-3.9-.2-7.8 1.2-10.7 3.8l-76.3 66.7c-6 5.3-15 5.3-21.1 0l-76.3-66.7z\"]\n};\nvar faLariSign = {\n prefix: 'far',\n iconName: 'lari-sign',\n icon: [384, 512, [], \"e1c8\", \"M144 32c13.3 0 24 10.7 24 24V97.5c7.9-1 15.9-1.5 24-1.5s16.1 .5 24 1.5V56c0-13.3 10.7-24 24-24s24 10.7 24 24v54c58.9 23.8 103.2 76 116.2 139.7c2.6 13-5.8 25.7-18.7 28.3s-25.7-5.8-28.3-18.7c-8.3-41-34-75.6-69.1-95.9V264c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-118c-7.8-1.3-15.8-2-24-2s-16.2 .7-24 2l0 118c0 13.3-10.7 24-24 24s-24-10.7-24-24V163.3C77 188.2 48 234.7 48 288c0 79.5 64.5 144 144 144H360c13.3 0 24 10.7 24 24s-10.7 24-24 24H192 24c-13.3 0-24-10.7-24-24s10.7-24 24-24H65C25.1 396.8 0 345.3 0 288c0-80.6 49.6-149.6 120-178V56c0-13.3 10.7-24 24-24z\"]\n};\nvar faVolcano = {\n prefix: 'far',\n iconName: 'volcano',\n icon: [512, 512, [127755], \"f770\", \"M160 144c-35.3 0-64-28.7-64-64s28.7-64 64-64c15.7 0 30 5.6 41.2 15C212.4 12.4 232.7 0 256 0s43.6 12.4 54.8 31C322 21.6 336.3 16 352 16c35.3 0 64 28.7 64 64s-28.7 64-64 64c-14.7 0-28.3-5-39.1-13.3l-32 48C275.3 187 266 192 256 192s-19.3-5-24.9-13.3l-32-48C188.3 139 174.7 144 160 144zM48 459.8c0 2.3 1.9 4.2 4.2 4.2H459.8c2.3 0 4.2-1.9 4.2-4.2c0-1-.4-2-1.1-2.8L361.3 342.7l-15 15c-6.6 6.6-15.5 10.3-24.8 10.3c-11 0-21.4-5.2-28-14l-18-24c-12.3-16.4-31.5-26-52-26c-15.2 0-29.9 5.3-41.6 15.1l-39.4 32.8L49.1 457.1c-.7 .8-1.1 1.7-1.1 2.8zM163.4 256.2c18.2-20.5 44.3-32.2 71.8-32.2h41.8c27.4 0 53.5 11.7 71.8 32.2l150.2 169c8.5 9.5 13.2 21.9 13.2 34.7c0 28.8-23.4 52.2-52.2 52.2H52.2C23.4 512 0 488.6 0 459.8c0-12.8 4.7-25.1 13.2-34.7l150.2-169z\"]\n};\nvar faTeddyBear = {\n prefix: 'far',\n iconName: 'teddy-bear',\n icon: [576, 512, [], \"e3cf\", \"M144 80c0-17.7 14.3-32 32-32c14 0 25.9 9 30.3 21.5c4 11.5 15.9 18.2 27.8 15.6c16-3.5 34.2-5.1 54-5.1s38 1.7 54 5.1c11.9 2.6 23.8-4.1 27.8-15.6C374.1 57 386 48 400 48c17.7 0 32 14.3 32 32c0 11.5-6.1 21.7-15.4 27.3c-9 5.5-13.3 16.2-10.8 26.4c1.3 5.3 2.1 11.3 2.1 18.3c0 54.9-51 104-120 104s-120-49.1-120-104c0-6.9 .8-13 2.1-18.3c2.6-10.2-1.8-20.9-10.8-26.4C150.1 101.7 144 91.5 144 80zM176 0C131.8 0 96 35.8 96 80c0 22.8 9.5 43.3 24.7 57.9c-.4 3.4-.6 6.8-.7 10.3c-25.2-16.9-59.5-16.5-84.6 3.3c-31.2 24.6-36.6 69.9-12 101.1l25.8 32.7c5.5 6.9 11.2 13.6 17.1 19.9C28.6 311.7 0 344.5 0 384c0 3.9 .3 7.7 .8 11.4c.1 .8 .3 1.5 .4 2.3l13 53.3c8 33 35.8 56.9 68.9 60.6c1.6 .3 3.2 .5 4.8 .5h4 28H456h28 4c1.6 0 3.3-.2 4.8-.5c33.1-3.6 60.9-27.6 68.9-60.6l13-53.3c.2-.8 .3-1.5 .4-2.3c.5-3.7 .8-7.5 .8-11.4c0-39.5-28.6-72.3-66.3-78.8c5.9-6.3 11.6-13 17.1-19.9l25.8-32.7c24.6-31.2 19.2-76.5-12-101.1c-25.1-19.8-59.4-20.2-84.6-3.3c-.1-3.5-.3-6.9-.7-10.3C470.5 123.3 480 102.8 480 80c0-44.2-35.8-80-80-80c-27.5 0-51.8 13.9-66.1 35c-14.7-2.1-30.2-3-45.9-3s-31.1 .9-45.9 3C227.8 13.9 203.5 0 176 0zM92 464H90.6c-.3 0-.6-.1-.9-.1c-13.8-1-25.5-10.7-28.8-24.3l-12.7-52c-.1-1.2-.2-2.4-.2-3.6c0-17.7 14.3-32 32-32c16.1 0 29.5 11.9 31.7 27.4c1.7 11.8 11.8 20.6 23.8 20.6h.6c13.3 0 24-10.7 24-24V332.5c0-8.1-4.1-15.7-11-20.1c-22.9-14.8-44-33.7-62.1-56.8L61.1 222.9c-8.2-10.4-6.4-25.5 4-33.7s25.5-6.4 33.7 4l25.8 32.7c83.3 105.7 243.5 105.7 326.8 0l25.8-32.7c8.2-10.4 23.3-12.2 33.7-4s12.2 23.3 4 33.7l-25.8 32.7c-18.1 23-39.2 41.9-62.1 56.8c-6.8 4.4-11 12-11 20.1V376c0 13.3 10.7 24 24 24h.6c11.9 0 22.1-8.8 23.8-20.6c2.2-15.5 15.6-27.4 31.7-27.4c17.7 0 32 14.3 32 32c0 1.2-.1 2.4-.2 3.6l-12.7 52c-3.3 13.6-15 23.4-28.8 24.3c-.3 0-.6 0-.9 .1H484 456 376V416c0-44.2-35.8-80-80-80H280c-44.2 0-80 35.8-80 80v48H120 92zm156 0V416c0-17.7 14.3-32 32-32h16c17.7 0 32 14.3 32 32v48H248zm8-320a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm80 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm-16 32c0-13.3-14.3-24-32-24s-32 10.7-32 24s14.3 24 32 24s32-10.7 32-24z\"]\n};\nvar faStocking = {\n prefix: 'far',\n iconName: 'stocking',\n icon: [384, 512, [], \"f7d5\", \"M96 0C78.3 0 64 14.3 64 32V64c0 17.7 14.3 32 32 32H352c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H96zm48 238.9V128H96V238.9c0 10.7-5.3 20.7-14.2 26.6L55.7 282.9C20.9 306.1 0 345.1 0 386.9v2.2C0 457 55 512 122.8 512c24.2 0 48-7.2 68.1-20.6L295 422c35.6-23.7 57-63.7 57-106.5V128H304V315.5c0 26.7-13.4 51.7-35.6 66.6L164.3 451.4C152 459.6 137.6 464 122.8 464C81.5 464 48 430.5 48 389.2v-2.2c0-25.8 12.9-49.8 34.3-64.1l26.1-17.4c22.3-14.8 35.6-39.8 35.6-66.6z\"]\n};\nvar faPersonWalkingDashedLineArrowRight = {\n prefix: 'far',\n iconName: 'person-walking-dashed-line-arrow-right',\n icon: [640, 512, [], \"e553\", \"M208 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM141.8 266.6l29.9-89.8c7.7 1.2 15 3.6 21.7 7.1c-.1 .3-.2 .7-.3 1L160.7 288.6l-16.4-13.3c-2.6-2.1-3.6-5.6-2.5-8.7zm59 54.6l28.5-91.3 10.5 36.7c1.9 6.5 5.4 12.5 10.2 17.3L279 313c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-27.6-27.6-10.9-38.1C260.1 162.8 213.9 128 161.3 128h-4.9c-16.1 0-32.1 2.6-47.4 7.7C69.1 149 36.6 178.5 19.5 217l-9.5 21.3c-5.4 12.1 .1 26.3 12.2 31.7s26.3-.1 31.7-12.2l9.5-21.3C74.3 212 94.3 192.9 119 183.1L96.2 251.4c-7.4 22.1-.3 46.5 17.8 61.2l104.4 84.8 22.1 96c3 12.9 15.9 21 28.8 18s21-15.9 18-28.8L264.6 384c-2-8.7-6.8-16.4-13.8-22.1l-50.1-40.7zm-101.1 21L75.5 402.5 7 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l69.7-69.7c3.8-3.8 6.8-8.4 8.9-13.4l19.2-48-39-31.7zM416 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V72c0 13.3 10.7 24 24 24s24-10.7 24-24V24zM553 159c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l39 39H392c-13.3 0-24 10.7-24 24s10.7 24 24 24H558.1l-39 39c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9l-80-80zM392 128c-13.3 0-24 10.7-24 24v16c0 13.3 10.7 24 24 24s24-10.7 24-24V152c0-13.3-10.7-24-24-24zm24 216c0-13.3-10.7-24-24-24s-24 10.7-24 24v16c0 13.3 10.7 24 24 24s24-10.7 24-24V344zm-24 72c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24s24-10.7 24-24V440c0-13.3-10.7-24-24-24z\"]\n};\nvar faImageSlash = {\n prefix: 'far',\n iconName: 'image-slash',\n icon: [640, 512, [], \"e1b7\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-55.5-43.5c.5-3.1 .7-6.3 .7-9.6V96c0-35.3-28.7-64-64-64H128c-14.4 0-27.8 4.8-38.5 12.9L38.8 5.1zM134.4 80H512c8.8 0 16 7.2 16 16V388.5l-53.4-41.9L387 233.3c-4.5-5.9-11.6-9.3-19-9.3s-14.4 3.4-19 9.3l-7.2 9.3L256 175.3c-.4-26.2-21.7-47.3-48-47.3c-3.7 0-7.4 .4-10.8 1.2L134.4 80zm353 400L282.9 318.9 266 340.7l-30.5-42.7C231 291.7 223.8 288 216 288s-15 3.7-19.5 10.1l-80 112-4.5 6.3 0-.3V184.2L64 146.4V416c0 35.3 28.7 64 64 64H487.4z\"]\n};\nvar faMaskSnorkel = {\n prefix: 'far',\n iconName: 'mask-snorkel',\n icon: [576, 512, [], \"e3b7\", \"M552 32c13.3 0 24 10.7 24 24l0 104H528V56c0-13.3 10.7-24 24-24zM528 376.6V192h48l0 184.6C576 451.4 515.4 512 440.6 512c-67.4 0-124.5-49.5-134-116.2l-2.3-16.4c-1.9-13.1 7.2-25.3 20.4-27.2s25.3 7.2 27.2 20.4l2.3 16.4c6.2 43.1 43 75 86.5 75c48.3 0 87.4-39.1 87.4-87.4zM64 112c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h79.7c7.1 0 13.4-4.7 15.4-11.6l3.4-11.7c17.7-61.9 105.4-61.9 123.1 0l3.4 11.7c2 6.9 8.2 11.6 15.4 11.6H384c8.8 0 16-7.2 16-16V128c0-8.8-7.2-16-16-16H64zM304.3 288c-22.3 0-42.4-11.5-54-29.6c-.7-1-1.3-2.1-1.9-3.2c-.3-.5-.6-1-.8-1.5c-2-3.8-3.6-7.8-4.8-12.1l-.6-2.2-2.7-9.6c-4.4-15.5-26.3-15.5-30.8 0l-2.7 9.6-.6 2.2c-1.2 4.2-2.8 8.3-4.8 12.1c-.3 .5-.5 1-.8 1.5c-.6 1.1-1.2 2.2-1.9 3.2c-11.5 18.1-31.7 29.6-54 29.6H64c-35.3 0-64-28.7-64-64V128C0 92.7 28.7 64 64 64H384c35.3 0 64 28.7 64 64v96c0 35.3-28.7 64-64 64H304.3z\"]\n};\nvar faSmoke = {\n prefix: 'far',\n iconName: 'smoke',\n icon: [640, 512, [], \"f760\", \"M80 128c0-44.2 35.8-80 80-80c31.1 0 58 17.7 71.3 43.7c3.3 6.5 9.5 11.2 16.7 12.6s14.7-.5 20.2-5.3c14-11.9 32-19 51.8-19c24.3 0 46.1 10.8 60.7 27.9c4.9 2 9.7 4.3 14.4 6.8c9.3-9.9 19.8-18.6 31.2-25.9C403.4 54.5 364.3 32 320 32c-21.9 0-42.6 5.5-60.7 15.3C235.9 18.5 200.1 0 160 0C89.3 0 32 57.3 32 128c0 32 11.7 61.2 31.1 83.6c16.1-8.3 33.6-14.3 52.2-17.3C94 180 80 155.6 80 128zm512 96c0 27.5-13.8 51.7-34.9 66.1c12.3 10.4 22.8 22.9 31 36.8C619.6 303.6 640 266.2 640 224c0-70.7-57.3-128-128-128c-46.6 0-87.3 24.8-109.7 62c-22.2-18.7-51-30-82.3-30c-51.6 0-96 30.5-116.3 74.4c10.7 3.9 20.9 8.7 30.5 14.5c7.9-5 16.2-9.4 25-13C273.9 186.8 295.7 176 320 176c24.3 0 46.1 10.8 60.7 27.9c13.7 5.6 26.5 13.1 38 22.2c7.5-3 13.1-9.6 14.7-17.7c7.2-36.7 39.7-64.4 78.5-64.4c44.2 0 80 35.8 80 80zM48 368c0-53 43-96 96-96c29.5 0 55.9 13.3 73.5 34.3c4.7 5.6 11.8 8.8 19.2 8.5s14.2-3.9 18.6-9.9c14.6-20 38.1-33 64.7-33c36.6 0 67.5 24.6 77 58.2c2 7.1 7.2 12.9 14.1 15.7s14.6 2.3 21-1.4c9.4-5.4 20.2-8.5 31.9-8.5c35.3 0 64 28.7 64 64s-28.7 64-64 64H144c-53 0-96-43-96-96zm96-144C64.5 224 0 288.5 0 368s64.5 144 144 144H464c61.9 0 112-50.1 112-112s-50.1-112-112-112c-10.7 0-21 1.5-30.8 4.3C411.8 251.7 369.1 224 320 224c-32.7 0-62.5 12.2-85.1 32.3C210.2 236.1 178.5 224 144 224z\"]\n};\nvar faSterlingSign = {\n prefix: 'far',\n iconName: 'sterling-sign',\n icon: [320, 512, [163, \"gbp\", \"pound-sign\"], \"f154\", \"M96 159.2C96 115.5 131.5 80 175.2 80c8.5 0 17 1.4 25.1 4.1l80.1 26.7c12.6 4.2 26.2-2.6 30.4-15.2s-2.6-26.2-15.2-30.4L215.5 38.5c-13-4.3-26.6-6.5-40.2-6.5C105 32 48 89 48 159.2V224H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H48v63.4c0 17.4-4.4 34.5-12.7 49.8L2.9 444.5c-4.1 7.4-3.9 16.5 .4 23.7S15.5 480 24 480H296c13.3 0 24-10.7 24-24s-10.7-24-24-24H64.4l13-23.9C89.6 385.8 96 360.8 96 335.4V272H232c13.3 0 24-10.7 24-24s-10.7-24-24-24H96V159.2z\"]\n};\nvar faGbp = faSterlingSign;\nvar faPoundSign = faSterlingSign;\nvar faBatteryExclamation = {\n prefix: 'far',\n iconName: 'battery-exclamation',\n icon: [576, 512, [], \"e0b0\", \"M208 96v48H80c-17.7 0-32 14.3-32 32V336c0 17.7 14.3 32 32 32H193.6c-1 5.2-1.6 10.5-1.6 16c0 11.4 2.4 22.2 6.7 32H80c-44.2 0-80-35.8-80-80V176c0-44.2 35.8-80 80-80H208zM464 416H345.3c4.3-9.8 6.7-20.6 6.7-32c0-5.5-.6-10.8-1.6-16H464c17.7 0 32-14.3 32-32V176c0-17.7-14.3-32-32-32H336V96H464c44.2 0 80 35.8 80 80v16c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32v16c0 44.2-35.8 80-80 80zM272 96c13.3 0 24 10.7 24 24V296c0 13.3-10.7 24-24 24s-24-10.7-24-24V120c0-13.3 10.7-24 24-24zM240 384a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faViruses = {\n prefix: 'far',\n iconName: 'viruses',\n icon: [640, 512, [], \"e076\", \"M327.8 293.8c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-9.5-9.5C259.1 293 216 310.9 216 346.5V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V346.5c0-35.6-43.1-53.5-68.3-28.3l-9.5 9.5c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l9.5-9.5C91 259.1 73.1 216 37.5 216H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H37.5c35.6 0 53.5-43.1 28.3-68.3l-9.5-9.5c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 34 0l9.5 9.5C124.9 91 168 73.1 168 37.5V24c0-13.3 10.7-24 24-24s24 10.7 24 24V37.5c0 35.6 43.1 53.5 68.3 28.3l9.5-9.5c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-9.5 9.5C293 124.9 310.9 168 346.5 168H360c13.3 0 24 10.7 24 24s-10.7 24-24 24H346.5c-35.6 0-53.5 43.1-28.3 68.3l0 0 9.5 9.5zM285.8 192c-17.9-17.2-28-41.6-27.5-66.4c-11.1 .2-22.1-1.7-32.4-5.5c-12.7-4.7-24.4-12.2-33.9-22c-17.2 17.9-41.6 28-66.4 27.5c.5 24.8-9.6 49.2-27.5 66.4c17.9 17.2 28 41.6 27.5 66.4c24.8-.5 49.2 9.6 66.4 27.5c17.2-17.9 41.6-28 66.4-27.5c-.5-24.8 9.6-49.2 27.5-66.4zM512 240c0 33 39.9 49.5 63.2 26.2c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6C574.5 312.1 591 352 624 352c8.8 0 16 7.2 16 16s-7.2 16-16 16c-33 0-49.5 39.9-26.2 63.2c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0C551.9 446.5 512 463 512 496c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-33-39.9-49.5-63.2-26.2c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6C417.5 423.9 401 384 368 384c-8.8 0-16-7.2-16-16s7.2-16 16-16c33 0 49.5-39.9 26.2-63.2c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0C440.1 289.5 480 273 480 240c0-8.8 7.2-16 16-16s16 7.2 16 16zm0 112a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM152 176a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm72 16a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faSquarePersonConfined = {\n prefix: 'far',\n iconName: 'square-person-confined',\n icon: [448, 512, [], \"e577\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM292 200c33.1 0 60 26.9 60 60v88c0 31.8-24.7 57.8-56 59.9v.1c-.7 0-1.5 0-2.2 0c-.6 0-1.2 0-1.8 0c-5.7 0-11.1-.8-16.3-2.2c-19.6-4.4-37.5-15.1-50.7-30.7l-44.6-52.7-39.3 73c-6.3 11.7-20.8 16-32.5 9.8s-16-20.8-9.8-32.5l56-104c3.8-7 10.7-11.7 18.6-12.5s15.7 2.3 20.8 8.4L232 309V260c0-33.1 26.9-60 60-60zm-4.2 159.2c1.8 .3 3.7 .6 5.6 .7c6-.7 10.6-5.8 10.6-11.9V260c0-6.6-5.4-12-12-12s-12 5.4-12 12v88c0 5.2 3.2 9.5 7.8 11.2zM208 112a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faUserTie = {\n prefix: 'far',\n iconName: 'user-tie',\n icon: [448, 512, [], \"f508\", \"M224 208a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm128-80A128 128 0 1 1 96 128a128 128 0 1 1 256 0zM209.1 359.2l-18.6-31c-6.4-10.7 1.3-24.2 13.7-24.2H224h19.7c12.4 0 20.1 13.6 13.7 24.2l-18.6 31 15.9 59.2 43.8-87.6c3-6 9.4-9.5 15.9-8.4C390.4 335.6 448 401.7 448 481.3c0 17-13.8 30.7-30.7 30.7H30.7C13.8 512 0 498.2 0 481.3c0-79.6 57.6-145.7 133.5-158.9c6.6-1.1 12.9 2.4 15.9 8.4l43.8 87.6 15.9-59.2zm-90.6 17.1C82.3 391.1 55.4 424.2 49.3 464h113l-43.8-87.7zM285.7 464h113c-6.1-39.8-33-72.9-69.2-87.7L285.7 464z\"]\n};\nvar faUpToBracket = {\n prefix: 'far',\n iconName: 'up-to-bracket',\n icon: [448, 512, [], \"e66e\", \"M114.2 320L224 210 333.8 320 280 320c-13.3 0-24 10.7-24 24l0 120-64 0 0-120c0-13.3-10.7-24-24-24l-53.8 0zM224 160c-11.5 0-22.5 4.6-30.6 12.7L77.6 288.8C68.9 297.5 64 309.3 64 321.6c0 25.6 20.8 46.4 46.4 46.4l33.6 0 0 96c0 26.5 21.5 48 48 48l64 0c26.5 0 48-21.5 48-48l0-96 33.6 0c25.6 0 46.4-20.8 46.4-46.4c0-12.3-4.9-24.1-13.6-32.8L254.6 172.7c-8.1-8.1-19.1-12.7-30.6-12.7zM48 168l0-80c0-22.1 17.9-40 40-40l272 0c22.1 0 40 17.9 40 40l0 80c0 13.3 10.7 24 24 24s24-10.7 24-24l0-80c0-48.6-39.4-88-88-88L88 0C39.4 0 0 39.4 0 88l0 80c0 13.3 10.7 24 24 24s24-10.7 24-24z\"]\n};\nvar faArrowDownLong = {\n prefix: 'far',\n iconName: 'arrow-down-long',\n icon: [384, 512, [\"long-arrow-down\"], \"f175\", \"M175 505c9.4 9.4 24.6 9.4 33.9 0L345 369c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-95 95L216 24c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 406.1L73 335c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9L175 505z\"]\n};\nvar faLongArrowDown = faArrowDownLong;\nvar faTentArrowDownToLine = {\n prefix: 'far',\n iconName: 'tent-arrow-down-to-line',\n icon: [640, 512, [], \"e57e\", \"M241.8 111.9c8.9 9.9 8.1 25-1.8 33.9l-80 72c-9.1 8.2-23 8.2-32.1 0l-80-72c-9.9-8.9-10.7-24-1.8-33.9s24-10.7 33.9-1.8l39.9 36L120 24c0-13.3 10.7-24 24-24s24 10.7 24 24l0 122.1 39.9-36c9.9-8.9 25-8.1 33.9 1.8zM369.3 133c8.6-6.7 20.7-6.7 29.4 0L565.2 261.7c10.7 8.3 18 20.1 20.7 33.3l33.9 169.3C631.2 466.1 640 476 640 488c0 13.3-10.7 24-24 24H600 168 24c-13.3 0-24-10.7-24-24s10.7-24 24-24H148.3l33.8-169c2.6-13.2 10-25.1 20.7-33.3L369.3 133zm-172 331H360V200.9L232.1 299.7c-1.5 1.2-2.6 2.9-3 4.8L197.3 464zM472 464h98.7L538.8 304.4c-.4-1.9-1.4-3.6-3-4.8L408 200.9V336l64 128z\"]\n};\nvar faCertificate = {\n prefix: 'far',\n iconName: 'certificate',\n icon: [512, 512, [], \"f0a3\", \"M178.7 122.2c11.2-6.5 19.3-17.2 22.5-29.8l5.3-20.9 15 15.5c9 9.3 21.4 14.5 34.4 14.5s25.4-5.2 34.4-14.5l15-15.5 5.3 20.9c3.2 12.6 11.3 23.3 22.5 29.8s24.6 8.1 37 4.6l20.8-5.9-5.9 20.8c-3.5 12.5-1.9 25.8 4.6 37s17.2 19.3 29.8 22.5l20.9 5.3-15.5 15c-9.3 9-14.5 21.4-14.5 34.4s5.2 25.4 14.5 34.4l15.5 15-20.9 5.3c-12.6 3.2-23.3 11.3-29.8 22.5s-8.1 24.6-4.6 37l5.9 20.8-20.8-5.9c-12.5-3.5-25.8-1.9-37 4.6s-19.3 17.2-22.5 29.8l-5.3 20.9-15-15.5c-9-9.3-21.4-14.5-34.4-14.5s-25.4 5.2-34.4 14.5l-15 15.5-5.3-20.9c-3.2-12.6-11.3-23.3-22.5-29.8s-24.6-8.1-37-4.6l-20.8 5.9 5.9-20.8c3.5-12.5 1.9-25.8-4.6-37s-17.2-19.3-29.8-22.5l-20.9-5.3 15.5-15c9.3-9 14.5-21.4 14.5-34.4s-5.2-25.4-14.5-34.4l-15.5-15 20.9-5.3c12.6-3.2 23.3-11.3 29.8-22.5s8.1-24.6 4.6-37l-5.9-20.8 20.8 5.9c12.5 3.5 25.8 1.9 37.1-4.6zM222.5 19.1L211 7.3C205 1 196-1.4 187.6 .8s-14.9 8.9-17.1 17.3l-4 15.9L154.7 80.6 108.5 67.5 92.7 63.1c-8.4-2.4-17.4 0-23.5 6.1s-8.5 15.1-6.1 23.5l4.5 15.8 13.1 46.2L34.1 166.5l-15.9 4c-8.4 2.1-15 8.7-17.3 17.1S1 205 7.3 211l11.8 11.5L53.5 256 19.1 289.5 7.3 301C1 307-1.4 316 .8 324.4s8.9 14.9 17.3 17.1l15.9 4 46.5 11.8L67.5 403.5l-4.5 15.8c-2.4 8.4 0 17.4 6.1 23.5s15.1 8.5 23.5 6.1l15.8-4.5 46.2-13.1 11.8 46.5 4 15.9c2.1 8.4 8.7 15 17.1 17.3s17.3-.2 23.4-6.4L222.5 493 256 458.5 289.5 493 301 504.7c6.1 6.2 15 8.7 23.4 6.4s14.9-8.9 17.1-17.3l4-15.9 11.8-46.5 46.2 13.1 15.8 4.5c8.4 2.4 17.4 0 23.5-6.1s8.5-15.1 6.1-23.5l-4.5-15.8-13.1-46.2 46.5-11.8 15.9-4c8.4-2.1 15-8.7 17.3-17.1s-.2-17.4-6.4-23.4L493 289.5 458.5 256 493 222.5 504.7 211c6.2-6.1 8.7-15 6.4-23.4s-8.9-14.9-17.3-17.1l-15.9-4-46.5-11.8 13.1-46.2 4.5-15.8c2.4-8.4 0-17.4-6.1-23.5s-15.1-8.5-23.5-6.1l-15.8 4.5L357.3 80.6 345.5 34.1l-4-15.9c-2.1-8.4-8.7-15-17.1-17.3S307 1 301 7.3L289.5 19.1 256 53.5 222.5 19.1z\"]\n};\nvar faCrystalBall = {\n prefix: 'far',\n iconName: 'crystal-ball',\n icon: [448, 512, [], \"e362\", \"M400 224c0 71-42 132.2-102.6 160h83.3c41.5-40.7 67.2-97.3 67.2-160C448 100.3 347.7 0 224 0S0 100.3 0 224c0 62.7 25.7 119.3 67.2 160h83.3C90 356.2 48 295 48 224c0-97.2 78.8-176 176-176s176 78.8 176 176zM167.5 100.3c-2.6-7-12.4-7-15 0l-9.8 26.4-26.4 9.8c-7 2.6-7 12.4 0 15l26.4 9.8 9.8 26.4c2.6 7 12.4 7 15 0l9.8-26.4 26.4-9.8c7-2.6 7-12.4 0-15l-26.4-9.8-9.8-26.4zm113 48l-18.4 49.8-49.8 18.4c-7 2.6-7 12.4 0 15l49.8 18.4 18.4 49.8c2.6 7 12.4 7 15 0l18.4-49.8 49.8-18.4c7-2.6 7-12.4 0-15l-49.8-18.4-18.4-49.8c-2.6-7-12.4-7-15 0zM20.3 474.2c-5.1 7.3-5.8 16.9-1.6 24.8S31.1 512 40 512H408c8.9 0 17.2-5 21.3-12.9s3.5-17.5-1.6-24.8L386.9 416H61.1L20.3 474.2z\"]\n};\nvar faReplyAll = {\n prefix: 'far',\n iconName: 'reply-all',\n icon: [576, 512, [\"mail-reply-all\"], \"f122\", \"M208.5 73.4c9.6-9.1 10-24.3 .9-33.9s-24.3-10-33.9-.9L33.8 173.2c-19.9 18.9-19.9 50.7 0 69.6L175.5 377.4c9.6 9.1 24.8 8.7 33.9-.9s8.7-24.8-.9-33.9L66.8 208 208.5 73.4zM352 240l0 0H328c-13.3 0-24 10.7-24 24v24 28.1L183.9 208 304 99.9V128v24c0 13.3 10.7 24 24 24h24 48c70.7 0 128 57.3 128 128c0 15.3-1.9 29.1-5.2 41.5C506 284.7 450.2 240 384 240H352zm0 96V288h32c5.4 0 10.8 .5 16 1.3c45.4 7.6 80 47.1 80 94.7c0 17.3-4.2 30.5-9.5 40.2c-1.6 2.9-3.3 5.5-5 7.9c-2.6 3.5-5.3 6.4-7.7 8.6c-.5 .5-1 .9-1.4 1.4c-4.8 4.9-8.3 11.3-8.3 18.1c0 10.9 8.8 19.7 19.7 19.7c2.8 0 5.6-.6 8.1-1.9c2.6-1.4 6.3-3.5 10.8-6.5c2.7-1.8 5.7-3.8 8.9-6.2c3.7-2.7 7.6-5.8 11.7-9.3C537.4 430.2 576 382 576 304c0-97.2-78.8-176-176-176H352V80 64c0-12.6-7.4-24.1-19-29.2s-25-3-34.4 5.4l-160 144c-6.7 6.1-10.6 14.7-10.6 23.8s3.9 17.7 10.6 23.8l160 144c9.4 8.5 22.9 10.6 34.4 5.4s19-16.6 19-29.2V336z\"]\n};\nvar faMailReplyAll = faReplyAll;\nvar faSuitcase = {\n prefix: 'far',\n iconName: 'suitcase',\n icon: [512, 512, [129523], \"f0f2\", \"M176 56V96H336V56c0-4.4-3.6-8-8-8H184c-4.4 0-8 3.6-8 8zM128 96V56c0-30.9 25.1-56 56-56H328c30.9 0 56 25.1 56 56V96h64c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V160c0-35.3 28.7-64 64-64h64zm232 48H152h-8V432H368V144h-8zM64 144c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H96V144H64zM448 432c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16H416V432h32z\"]\n};\nvar faPersonSkating = {\n prefix: 'far',\n iconName: 'person-skating',\n icon: [448, 512, [\"skating\"], \"f7c5\", \"M352 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM128 120c0-13.3 10.7-24 24-24H321.4c35.6 0 53.5 43.1 28.3 68.3L268.9 245l69.3 60c8.8 7.6 13.8 18.6 13.8 30.2V424c0 13.3-10.7 24-24 24s-24-10.7-24-24V339l-85.3-74c-24.8-21.5-26-59.7-1.9-82.5c11.9-11.2 26.8-25.1 41.6-38.5H152c-13.3 0-24-10.7-24-24zM79 367L179.4 266.6c4.8 8.5 11.2 16.4 19 23.2l13.7 11.9L113 401c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9zm324.9 81.4c8.6 2.1 13.8 10.8 11.6 19.4l-.4 1.7c-6.2 24.9-28.6 42.4-54.3 42.4H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h88.8c11 0 20.6-7.5 23.3-18.2l.4-1.7c2.1-8.6 10.8-13.8 19.4-11.6zM135.2 478.3l-6.2 3.1c-21.6 10.8-47.6 6.6-64.6-10.5L4.7 411.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l59.6 59.6c7.3 7.3 18.5 9.1 27.7 4.5l6.2-3.1c7.9-4 17.5-.7 21.5 7.2s.7 17.5-7.2 21.5z\"]\n};\nvar faSkating = faPersonSkating;\nvar faStarShooting = {\n prefix: 'far',\n iconName: 'star-shooting',\n icon: [512, 512, [127776], \"e036\", \"M313 41L265 89c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L279 7c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9zM129.5 388.7L120 444l49.5-26.1c14-7.4 30.7-7.4 44.7 0L263.8 444l-9.5-55.4c-2.7-15.6 2.5-31.4 13.8-42.4L308.3 307l-55.5-8.1c-15.6-2.3-29.2-12.1-36.1-26.3l-24.8-50.3-24.8 50.3c-7 14.2-20.5 24-36.1 26.3L75.5 307l40.2 39.2c11.3 11 16.4 26.9 13.8 42.4zm-5.4-137.3l46.3-94c8.8-17.9 34.3-17.9 43.1 0l46.3 94 103.5 15.1c19.7 2.9 27.5 27 13.3 40.9l-74.9 73.2 17.7 103.3c3.4 19.6-17.2 34.6-34.8 25.3l-92.6-48.8L99.3 509.2c-17.6 9.3-38.2-5.7-34.8-25.3L82.2 380.6 7.2 307.4C-7 293.5 .9 269.3 20.5 266.5l103.5-15.1zM505 199c9.4 9.4 9.4 24.6 0 33.9l-48 48c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l48-48c9.4-9.4 24.6-9.4 33.9 0zM505 41L361 185c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L471 7c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\"]\n};\nvar faBinaryLock = {\n prefix: 'far',\n iconName: 'binary-lock',\n icon: [640, 512, [], \"e33d\", \"M318 4.5c-6.3-4.5-14.3-5.7-21.6-3.3l-48 16C235.8 21.4 229 35 233.2 47.6S251 67 263.6 62.8L280 57.3V176H248c-13.3 0-24 10.7-24 24s10.7 24 24 24h56 56c13.3 0 24-10.7 24-24s-10.7-24-24-24H328V24c0-7.7-3.7-15-10-19.5zM94 292.5c-6.3-4.5-14.3-5.7-21.6-3.3l-48 16C11.8 309.4 5 323 9.2 335.6S27 355 39.6 350.8L56 345.3V464H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H80h56c13.3 0 24-10.7 24-24s-10.7-24-24-24H104V312c0-7.7-3.7-15-10-19.5zM72 0C32.2 0 0 32.2 0 72v80c0 39.8 32.2 72 72 72h48c39.8 0 72-32.2 72-72V72c0-39.8-32.2-72-72-72H72zM48 72c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v80c0 13.3-10.7 24-24 24H72c-13.3 0-24-10.7-24-24V72zM192 360v80c0 39.8 32.2 72 72 72h48c39.8 0 72-32.2 72-72V360c0-39.8-32.2-72-72-72H264c-39.8 0-72 32.2-72 72zm72-24h48c13.3 0 24 10.7 24 24v80c0 13.3-10.7 24-24 24H264c-13.3 0-24-10.7-24-24V360c0-13.3 10.7-24 24-24zm264-96c17.7 0 32 14.3 32 32v48H496V272c0-17.7 14.3-32 32-32zm-80 32v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"]\n};\nvar faFilterCircleDollar = {\n prefix: 'far',\n iconName: 'filter-circle-dollar',\n icon: [576, 512, [\"funnel-dollar\"], \"f662\", \"M0 41.7C0 18.7 18.7 0 41.7 0H469.9C493.2 0 512 18.8 512 42.1c0 8.9-2.8 17.6-8.1 24.8L411.6 193.2c-30.9 3.6-59.3 15.1-83.2 32.5L458.3 48H55L218.6 248.8c3.5 4.3 5.4 9.6 5.4 15.2v68.4L256.3 358c-.2 3.3-.3 6.6-.3 10c0 20.8 3.6 40.7 10.2 59.2l-75.1-59.6c-9.6-7.6-15.1-19.1-15.1-31.3V272.5L9.4 68C3.3 60.6 0 51.3 0 41.7zM288 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm120.8-32.6c.6-.9 1.8-2.1 4.2-3.4c5.1-2.7 12.5-4.1 18.7-4c8.2 .1 17.1 1.8 26.4 4.1c8.6 2.1 17.3-3.1 19.4-11.7s-3.1-17.3-11.7-19.4c-5.6-1.4-11.6-2.7-17.9-3.7V288c0-8.8-7.2-16-16-16s-16 7.2-16 16v9.5c-6.1 1.2-12.3 3.2-18 6.3c-11.8 6.3-23 18.4-21.8 37.2c1 16 11.7 25.3 21.6 30.7c8.8 4.7 19.7 7.8 28.6 10.3l1.8 .5c10.3 2.9 17.9 5.2 23.2 8.3c4.5 2.7 4.7 4.2 4.7 5.6c.1 2.4-.5 3.7-1 4.5c-.6 1-1.8 2.2-4 3.3c-4.7 2.5-11.8 3.8-18.5 3.6c-9.5-.3-18.5-3.1-29.9-6.8c-1.9-.6-3.8-1.2-5.8-1.8c-8.4-2.6-17.4 2.1-20 10.5s2.1 17.4 10.5 20c1.6 .5 3.3 1 5 1.6l0 0 0 0c7 2.3 15.1 4.8 23.7 6.6v11.4c0 8.8 7.2 16 16 16s16-7.2 16-16V438.7c6.2-1.1 12.5-3.1 18.3-6.2c12.1-6.5 22.3-18.7 21.7-36.9c-.5-16.2-10.3-26.3-20.5-32.3c-9.4-5.6-21.2-8.9-30.5-11.5l-.2 0c-10.4-2.9-18.3-5.2-23.9-8.2c-4.8-2.6-4.8-4-4.8-4.5l0-.1c-.1-1.9 .3-2.9 .8-3.6z\"]\n};\nvar faFunnelDollar = faFilterCircleDollar;\nvar faCameraRetro = {\n prefix: 'far',\n iconName: 'camera-retro',\n icon: [512, 512, [128247], \"f083\", \"M192 112H64c-8.8 0-16 7.2-16 16v64H156.1c23.5-29.3 59.5-48 99.9-48s76.5 18.7 99.9 48H464V96c0-8.8-7.2-16-16-16H271.1c-2.5 0-4.9 .6-7.2 1.7l-50.5 25.2c-6.7 3.3-14 5.1-21.5 5.1zM48 240V416c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V240H380c2.6 10.2 4 21 4 32c0 70.7-57.3 128-128 128s-128-57.3-128-128c0-11 1.4-21.8 4-32H48zM0 416V128C0 92.7 28.7 64 64 64l0-16c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16V64h32l50.5-25.2c8.9-4.4 18.7-6.8 28.6-6.8H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64zM336 272a80 80 0 1 0 -160 0 80 80 0 1 0 160 0z\"]\n};\nvar faCircleArrowDown = {\n prefix: 'far',\n iconName: 'circle-arrow-down',\n icon: [512, 512, [\"arrow-circle-down\"], \"f0ab\", \"M256 48a208 208 0 1 0 0 416 208 208 0 1 0 0-416zm0 464A256 256 0 1 1 256 0a256 256 0 1 1 0 512zM361 289l-88 88c-9.4 9.4-24.6 9.4-33.9 0l-88-88c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47V152c0-13.3 10.7-24 24-24s24 10.7 24 24V302.1l47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\"]\n};\nvar faArrowCircleDown = faCircleArrowDown;\nvar faCommentPen = {\n prefix: 'far',\n iconName: 'comment-pen',\n icon: [512, 512, [\"comment-edit\"], \"f4ae\", \"M168.2 384.9c-15-5.4-31.7-3.1-44.6 6.4c-8.2 6-22.3 14.8-39.4 22.7c5.6-14.7 9.9-31.3 11.3-49.4c1-12.9-3.3-25.7-11.8-35.5C60.4 302.8 48 272 48 240c0-79.5 83.3-160 208-160s208 80.5 208 160s-83.3 160-208 160c-31.6 0-61.3-5.5-87.8-15.1zM26.3 423.8c-1.6 2.7-3.3 5.4-5.1 8.1l-.3 .5c-1.6 2.3-3.2 4.6-4.8 6.9c-3.5 4.7-7.3 9.3-11.3 13.5c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c5.1 0 10.2-.3 15.3-.8l.7-.1c4.4-.5 8.8-1.1 13.2-1.9c.8-.1 1.6-.3 2.4-.5c17.8-3.5 34.9-9.5 50.1-16.1c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9zM340.8 155c-14.7-14.7-38.6-14.7-53.3 0L272.6 170l53.3 53.3 14.9-14.9c14.7-14.7 14.7-38.6 0-53.3zM178.1 264.5c-4.1 4.1-7 9.2-8.4 14.9L160.5 316c-1.4 5.5 .2 11.2 4.2 15.2s9.7 5.6 15.2 4.2l36.6-9.2c5.6-1.4 10.8-4.3 14.9-8.4l71.9-71.9L250 192.6l-71.9 71.9z\"]\n};\nvar faCommentEdit = faCommentPen;\nvar faFileImport = {\n prefix: 'far',\n iconName: 'file-import',\n icon: [512, 512, [\"arrow-right-to-file\"], \"f56f\", \"M448 464H192c-8.8 0-16-7.2-16-16V368H128v80c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L402.7 18.7C390.7 6.7 374.5 0 357.5 0H192c-35.3 0-64 28.7-64 64V256h48V64c0-8.8 7.2-16 16-16H352v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16zM297 215c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l39 39H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H302.1l-39 39c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9l-80-80z\"]\n};\nvar faArrowRightToFile = faFileImport;\nvar faBanjo = {\n prefix: 'far',\n iconName: 'banjo',\n icon: [512, 512, [129685], \"f8a3\", \"M465 7c-9.4-9.4-24.6-9.4-33.9 0L383 55c-2.4 2.4-4.3 5.3-5.5 8.5l-22.2 59.1-61.5 61.5-1.2 1.2c-22-16.5-48.2-27.7-76.6-31.7V152c0-13.3-10.7-24-24-24s-24 10.7-24 24v1.7c-28.5 4.1-54.6 15.3-76.6 31.7l-1.2-1.2c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l1.2 1.2C41 241.4 29.8 267.5 25.7 296H24c-13.3 0-24 10.7-24 24s10.7 24 24 24h1.7c4.1 28.5 15.3 54.6 31.7 76.6l-1.2 1.2c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l1.2-1.2c22 16.5 48.2 27.7 76.6 31.7V488c0 13.3 10.7 24 24 24s24-10.7 24-24v-1.7c28.5-4.1 54.6-15.3 76.6-31.7l1.2 1.2c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-1.2-1.2c16.5-22 27.7-48.2 31.7-76.6H360c13.3 0 24-10.7 24-24s-10.7-24-24-24h-1.7c-4.1-28.5-15.3-54.6-31.7-76.6l1.2-1.2 0 0 61.5-61.5 59.1-22.2c3.2-1.2 6.1-3.1 8.5-5.5l48-48c9.4-9.4 9.4-24.6 0-33.9L465 7zM192 192a128 128 0 1 1 0 256 128 128 0 1 1 0-256zM153 311c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l48 48c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-48-48z\"]\n};\nvar faSquareArrowUpRight = {\n prefix: 'far',\n iconName: 'square-arrow-up-right',\n icon: [448, 512, [\"external-link-square\"], \"f14c\", \"M384 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H384zm64 16c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96zM160 144c-13.3 0-24 10.7-24 24s10.7 24 24 24h94.1L119 327c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l135-135V328c0 13.3 10.7 24 24 24s24-10.7 24-24V168c0-13.3-10.7-24-24-24H160z\"]\n};\nvar faExternalLinkSquare = faSquareArrowUpRight;\nvar faLightEmergencyOn = {\n prefix: 'far',\n iconName: 'light-emergency-on',\n icon: [640, 512, [], \"e420\", \"M69.3 36c-11-7.4-25.9-4.4-33.3 6.7s-4.4 25.9 6.7 33.3l48 32c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3l-48-32zM597.3 76c11-7.4 14-22.3 6.7-33.3s-22.3-14-33.3-6.7l-48 32c-11 7.4-14 22.3-6.7 33.3s22.3 14 33.3 6.7l48-32zM24 192c-13.3 0-24 10.7-24 24s10.7 24 24 24H72c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zm544 0c-13.3 0-24 10.7-24 24s10.7 24 24 24h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H568zM448 208v96h48V208c0-97.2-78.8-176-176-176s-176 78.8-176 176v96h48V208c0-70.7 57.3-128 128-128s128 57.3 128 128zM144 432V384H496v48H144zM96 384v48c0 26.5 21.5 48 48 48H496c26.5 0 48-21.5 48-48V384c0-26.5-21.5-48-48-48H144c-26.5 0-48 21.5-48 48zM320 144c8.8 0 16-7.2 16-16s-7.2-16-16-16c-53 0-96 43-96 96c0 8.8 7.2 16 16 16s16-7.2 16-16c0-35.3 28.7-64 64-64z\"]\n};\nvar faKerning = {\n prefix: 'far',\n iconName: 'kerning',\n icon: [640, 512, [], \"f86f\", \"M453.8 34.1c5.6-12 .4-26.3-11.6-31.9s-26.3-.4-31.9 11.6l-216 464c-5.6 12-.4 26.3 11.6 31.9s26.3 .4 31.9-11.6l216-464zM45.5 109.3C39.5 97.4 25.1 92.6 13.3 98.5S-3.4 118.9 2.5 130.7l136 272c4.1 8.1 12.4 13.3 21.5 13.3s17.4-5.1 21.5-13.3l136-272c5.9-11.9 1.1-26.3-10.7-32.2s-26.3-1.1-32.2 10.7L160 338.3 45.5 109.3zm328.2 293L397.3 352H562.7l23.6 50.2c5.6 12 19.9 17.1 31.9 11.5s17.1-19.9 11.5-31.9l-128-272c-4-8.4-12.4-13.8-21.7-13.8s-17.8 5.4-21.7 13.8l-128 272c-5.6 12-.5 26.3 11.5 31.9s26.3 .5 31.9-11.5zM480 176.4L540.1 304H419.9L480 176.4z\"]\n};\nvar faBoxOpen = {\n prefix: 'far',\n iconName: 'box-open',\n icon: [640, 512, [], \"f49e\", \"M17.2 125.5c-9 17.9 .6 39.6 19.8 45.1l163.3 46.7c13.9 4 28.8-1.9 36.2-14.3L320 64 75.2 33.4c-6.7-.8-13.3 2.7-16.3 8.7L17.2 125.5zM320 64l83.4 139c7.4 12.4 22.3 18.3 36.2 14.3l163.3-46.7c19.3-5.5 28.8-27.2 19.8-45.1L581.1 42.1c-3-6.1-9.6-9.6-16.3-8.7L320 64zm-1.1 64h2.2l0 0h-2.2l0 0zM528 225.3V378.5l-184 46V184c0-13.3-10.7-24-24-24s-24 10.7-24 24V424.5l-184-46V225.3L64 211.6v167c0 22 15 41.2 36.4 46.6l204.1 51c10.2 2.5 20.9 2.5 31 0l204.1-51c21.4-5.3 36.4-24.5 36.4-46.6v-167l-48 13.7z\"]\n};\nvar faSquareF = {\n prefix: 'far',\n iconName: 'square-f',\n icon: [448, 512, [], \"e270\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm152 32H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H176v64h88c13.3 0 24 10.7 24 24s-10.7 24-24 24H176v72c0 13.3-10.7 24-24 24s-24-10.7-24-24V264 152c0-13.3 10.7-24 24-24z\"]\n};\nvar faScroll = {\n prefix: 'far',\n iconName: 'scroll',\n icon: [576, 512, [128220], \"f70e\", \"M48 112c0-17.7 14.3-32 32-32s32 14.3 32 32V400c0 44.2 35.8 80 80 80H496c44.2 0 80-35.8 80-80V352c0-26.5-21.5-48-48-48h-.6-.6-.6-.6-.6-.6H524h-.6-.6-.6-.6-.6-.6-.6-.6H519h-.6-.6-.6-.6-.5-.6-.5-.6-.5-.5H513h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H507h-.5H506h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H499h-.5H498h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H487h-.5H486h-.5H485h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H456h-.5H455h-.5H454h-.5H453h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H441h-.5H440h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H431h-.5H430h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H423h-.5H422h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H415h-.5H414h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H407h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H400h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H393h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H386h-.5H385h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H378h-.5H377h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H370h-.5H369h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H360h-.5H359h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H347h-.5H346h-.5H345h-.5H344h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H315h-.5H314h-.5H313h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H302h-.5H301h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H294h-.5H293h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H287h-.5-.5-.5-.5-.5-.5-.5-.6-.6-.6H281h-.6-.6-.6-.6-.6-.6-.6-.6H276h-.6-.6-.6-.6-.6-.6H272c-26.5 0-48 21.5-48 48v48c0 17.7-14.3 32-32 32s-32-14.3-32-32V112c0-11.4-2.4-22.2-6.7-32H400c17.7 0 32 14.3 32 32V272h48V112c0-44.2-35.8-80-80-80H80C35.8 32 0 67.8 0 112v48c0 26.5 21.5 48 48 48H80V160H48V112zM496 432H265.3c4.3-9.8 6.7-20.6 6.7-32V352h0 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .6 .5 .6 .5 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 0v48c0 17.7-14.3 32-32 32z\"]\n};\nvar faSpa = {\n prefix: 'far',\n iconName: 'spa',\n icon: [576, 512, [], \"f5bb\", \"M288 92.1c21.2 24.9 52.1 69.7 68.6 134.5c13.3-10.3 27.4-19.5 42.2-27.6c-27.3-91.6-79.3-145.6-96.8-161.8c-3.8-3.5-8.8-5.2-13.9-5.2s-10.1 1.7-13.9 5.2c-17.5 16.2-69.5 70.1-96.8 161.8c14.8 8.1 28.9 17.3 42.2 27.6c16.5-64.8 47.3-109.7 68.6-134.5zm-96 377c22.9 6.7 47 10.5 72 10.9h48c25-.4 49.1-4.1 72-10.9c111-32.7 192-135.4 192-257c0-11.1-9-20.1-20.1-20.1c-61.7 0-121.7 17.9-171.9 54.1c-41.8 30-75.1 71-96 118.7c-20.9-47.7-54.2-88.6-96-118.7C141.8 209.9 81.8 192 20.1 192C9 192 0 201 0 212.1c0 121.6 81 224.3 192 257zm0-50.5C116.8 390.9 60.8 323.2 49.9 241.4c55.1 5.9 104.6 30.5 142.1 67.2c33.5 32.9 57.4 75.5 67.2 123.2c-23.5-.9-46.1-5.5-67.2-13.3zm192 0c-21.1 7.7-43.6 12.4-67.2 13.3c9.7-47.8 33.7-90.4 67.2-123.2c37.5-36.8 87-61.3 142.1-67.2C515.2 323.2 459.2 390.9 384 418.5z\"]\n};\nvar faArrowLeftFromLine = {\n prefix: 'far',\n iconName: 'arrow-left-from-line',\n icon: [448, 512, [8612, \"arrow-from-right\"], \"f344\", \"M7.6 238.5C2.7 243.1 0 249.4 0 256s2.7 12.9 7.6 17.5l136 128c9.7 9.1 24.8 8.6 33.9-1s8.6-24.8-1-33.9L84.5 280l83.5 0 128 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-128 0-83.5 0 91.9-86.5c9.7-9.1 10.1-24.3 1-33.9s-24.3-10.1-33.9-1l-136 128zM400 424c0 13.3 10.7 24 24 24s24-10.7 24-24l0-336c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 336z\"]\n};\nvar faArrowFromRight = faArrowLeftFromLine;\nvar faStrawberry = {\n prefix: 'far',\n iconName: 'strawberry',\n icon: [512, 512, [], \"e32b\", \"M494.1 33.5c5.2-12.2-.4-26.3-12.6-31.5s-26.3 .4-31.5 12.6C439.7 38.4 420.3 61.8 402 80c-.7 .7-1.4 1.4-2 2c0-.7 0-1.4 0-2.1c0-35.7-17.7-62.6-26.8-74C370 2 365.1 0 360 0s-10 2-13.3 6C337.6 17 320 42.3 320 72c0 40 15.3 55.3 40 80s40 40 80 40c29.7 0 55-17.6 66-26.7c4-3.3 6-8.2 6-13.3s-2-10-6-13.2c-10.8-8.6-35.4-24.9-68.2-26.6c19.4-19.7 42.9-47.5 56.3-78.7zM192.2 112c20.5 0 40.8 7.8 56.4 23.4l128 128c15.6 15.6 23.4 36 23.4 56.6c0 59.2-62.9 144-224 144c-60 0-87.8-11.7-102.1-25.9S48 396 48 336c0-161 84.9-224 144.2-224zm0-48C96.2 64 0 160 0 336C0 464 48 512 176 512c176 0 272-96 272-192c0-32.8-12.5-65.5-37.5-90.5l-128-128C257.6 76.6 224.9 64.1 192.2 64zm-2.8 90.5c-5.9-5.9-22.4-3.2-34.3 8.7s-14.6 28.3-8.7 34.3s22.4 3.2 34.3-8.7s14.6-28.3 8.7-34.3zm47.3 98.3c11.9-11.9 14.6-28.3 8.7-34.3s-22.4-3.2-34.3 8.7s-14.6 28.3-8.7 34.3s22.4 3.2 34.3-8.7zm-32 80c11.9-11.9 14.6-28.3 8.7-34.3s-22.4-3.2-34.3 8.7s-14.6 28.3-8.7 34.3s22.4 3.2 34.3-8.7zm-32 80c11.9-11.9 14.6-28.3 8.7-34.3s-22.4-3.2-34.3 8.7s-14.6 28.3-8.7 34.3s22.4 3.2 34.3-8.7zm96.7-66.3c-5.9-5.9-22.4-3.2-34.3 8.7s-14.6 28.3-8.7 34.3s22.4 3.2 34.3-8.7s14.6-28.3 8.7-34.3zm24-80c-5.9-5.9-22.4-3.2-34.3 8.7s-14.6 28.3-8.7 34.3s22.4 3.2 34.3-8.7s14.6-28.3 8.7-34.3zm55.3 90.3c11.9-11.9 14.6-28.3 8.7-34.3s-22.4-3.2-34.3 8.7s-14.6 28.3-8.7 34.3s22.4 3.2 34.3-8.7zm-192-80c11.9-11.9 14.6-28.3 8.7-34.3s-22.4-3.2-34.3 8.7s-14.6 28.3-8.7 34.3s22.4 3.2 34.3-8.7zm-23.3 53.7c-5.9-5.9-22.4-3.2-34.3 8.7s-14.6 28.3-8.7 34.3s22.4 3.2 34.3-8.7s14.6-28.3 8.7-34.3z\"]\n};\nvar faLocationPinLock = {\n prefix: 'far',\n iconName: 'location-pin-lock',\n icon: [512, 512, [], \"e51f\", \"M192 451.7c18.5-23.7 41.6-54.7 64-88.1v83.2c-15.3 20.6-29.3 38.6-40.3 52.3c-12.3 15.3-35.1 15.3-47.4 0C117 435 0 279.4 0 192C0 86 86 0 192 0c95.7 0 175 70 189.6 161.5c-16.9 2.8-32.6 9.4-46.1 18.9C329.6 106.3 267.6 48 192 48C112.5 48 48 112.5 48 192c0 12.4 4.5 31.6 15.3 57.2c10.5 24.8 25.4 52.2 42.5 79.9c28.5 46.2 61.5 90.8 86.2 122.6zM224 192a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-112 0a80 80 0 1 1 160 0 80 80 0 1 1 -160 0zm288 48c-17.7 0-32 14.3-32 32v48h64V272c0-17.7-14.3-32-32-32zm-80 32c0-44.2 35.8-80 80-80s80 35.8 80 80v48c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H320c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32V272z\"]\n};\nvar faPause = {\n prefix: 'far',\n iconName: 'pause',\n icon: [320, 512, [9208], \"f04c\", \"M48 112l0 288H96V112H48zM0 112C0 85.5 21.5 64 48 64H96c26.5 0 48 21.5 48 48V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112zm224 0V400h48V112H224zm-48 0c0-26.5 21.5-48 48-48h48c26.5 0 48 21.5 48 48V400c0 26.5-21.5 48-48 48H224c-26.5 0-48-21.5-48-48V112z\"]\n};\nvar faClockEightThirty = {\n prefix: 'far',\n iconName: 'clock-eight-thirty',\n icon: [512, 512, [], \"e346\", \"M48 256a208 208 0 1 0 416 0A208 208 0 1 0 48 256zm464 0A256 256 0 1 1 0 256a256 256 0 1 1 512 0zM232 392V300.8L173.3 340c-11 7.4-25.9 4.4-33.3-6.7s-4.4-25.9 6.7-33.3l96-64c7.4-4.9 16.8-5.4 24.6-1.2S280 247.1 280 256V392c0 13.3-10.7 24-24 24s-24-10.7-24-24z\"]\n};\nvar faPlaneEngines = {\n prefix: 'far',\n iconName: 'plane-engines',\n icon: [576, 512, [9992, \"plane-alt\"], \"f3de\", \"M576 256c0-17.4-8.8-31.1-18.7-40.7c-9.9-9.6-22.4-16.9-34.8-22.4C498 182.1 468.7 176 448 176H381.8l-32.5-50.9C360.3 120.1 368 109 368 96c0-17.7-14.3-32-32-32H310.1L285.7 25.8C275.4 9.7 257.6 0 238.5 0H197.9c-27.1 0-46.4 26.4-38.1 52.2L199.4 176H148l-36-48c-7.6-10.1-19.4-16-32-16H37.9C17 112 0 129 0 149.9c0 3.8 .6 7.5 1.7 11.1l0 0 19.9 64.7C9 230.1 0 242 0 256s9 25.9 21.6 30.3L1.7 350.9l0 0C.6 354.6 0 358.3 0 362.1C0 383 17 400 37.9 400H80c12.6 0 24.4-5.9 32-16L92.8 369.6 112 384l36-48h51.4L159.8 459.8c-8.3 25.8 11 52.2 38.1 52.2h40.6c19.1 0 36.9-9.7 47.2-25.8L310.1 448H336c17.7 0 32-14.3 32-32c0-13-7.7-24.1-18.8-29.1L381.8 336H448c20.6 0 49.8-5.8 74.4-16.5c12.4-5.4 25-12.7 34.9-22.4c10-9.8 18.7-23.6 18.7-41.1zM448 224c13.4 0 36.1 4.4 55.1 12.8c9.4 4.2 16.4 8.7 20.7 12.9c4.2 4.1 4.2 6.1 4.2 6.3v0c0 .6-.1 2.8-4.2 6.8c-4.3 4.2-11.2 8.6-20.6 12.7C484.3 283.8 461.6 288 448 288H368.6c-8.2 0-15.8 4.2-20.2 11.1L245.2 460.3c-1.5 2.3-4 3.7-6.7 3.7H208.9l46.3-144.7c2.3-7.3 1-15.3-3.5-21.5s-11.7-9.8-19.4-9.8H136c-7.6 0-14.7 3.6-19.2 9.6L76 352H51.6l27.4-88.9c1.4-4.6 1.4-9.5 0-14.1L51.6 160H76l40.8 54.4c4.5 6 11.6 9.6 19.2 9.6h96.3c7.7 0 14.9-3.7 19.4-9.8s5.8-14.2 3.5-21.5L208.9 48h29.6c2.7 0 5.3 1.4 6.7 3.7l20.2-12.9L245.2 51.7 348.4 212.9c4.4 6.9 12 11.1 20.2 11.1l79.4 0z\"]\n};\nvar faPlaneAlt = faPlaneEngines;\nvar faHillAvalanche = {\n prefix: 'far',\n iconName: 'hill-avalanche',\n icon: [576, 512, [], \"e507\", \"M551.1 391.1c34.4-34.4 34.4-90.1 0-124.4c-27.8-27.8-69.5-33.1-102.6-16c-11.8 6.1-16.4 20.6-10.3 32.3s20.6 16.4 32.3 10.3c15.1-7.8 34-5.3 46.6 7.3c15.6 15.6 15.6 40.9 0 56.6s-40.9 15.6-56.6 0l-81.7-81.7C401.2 261.3 416 236.4 416 208c0-33.9-21.1-62.9-50.9-74.5c1.9-6.8 2.9-14 2.9-21.5c0-44.2-35.8-80-80-80c-27.3 0-51.5 13.7-65.9 34.6C216.3 46.6 197.9 32 176 32c-26.5 0-48 21.5-48 48c0 4 .5 7.9 1.4 11.6L439.7 401.9c34.2 23.1 81.1 19.5 111.4-10.8zM448 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm64 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM48 440V145.9L366.1 464H72c-13.3 0-24-10.7-24-24zM68.3 98.3C43.1 73.1 0 91 0 126.6V440c0 39.8 32.2 72 72 72H385.4c35.6 0 53.5-43.1 28.3-68.3L68.3 98.3z\"]\n};\nvar faTemperatureEmpty = {\n prefix: 'far',\n iconName: 'temperature-empty',\n icon: [320, 512, [\"temperature-0\", \"thermometer-0\", \"thermometer-empty\"], \"f2cb\", \"M96 112c0-35.3 28.7-64 64-64s64 28.7 64 64V273.9c0 14.5 5.7 27.1 12.8 36.6c12 16 19.2 35.9 19.2 57.5c0 53-43 96-96 96s-96-43-96-96c0-21.6 7.1-41.5 19.2-57.5C90.3 301 96 288.4 96 273.9V112zM160 0C98.1 0 48 50.2 48 112V273.9c0 1.7-.7 4.4-3.2 7.8C26.7 305.7 16 335.7 16 368c0 79.5 64.5 144 144 144s144-64.5 144-144c0-32.4-10.7-62.3-28.8-86.4c-2.5-3.4-3.2-6.1-3.2-7.8V112C272 50.2 221.9 0 160 0zm0 416a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faTemperature0 = faTemperatureEmpty;\nvar faThermometer0 = faTemperatureEmpty;\nvar faThermometerEmpty = faTemperatureEmpty;\nvar faBomb = {\n prefix: 'far',\n iconName: 'bomb',\n icon: [512, 512, [128163], \"f1e2\", \"M459.1 52.4l45.7 16.8c4.3 1.6 7.3 5.9 7.2 10.4c0 4.5-3 8.7-7.2 10.2l-45.7 16.8-16.5 45.8c-1.5 4.4-5.8 7.5-10.4 7.5s-8.9-3.1-10.4-7.5l-16.8-45.8L359.2 89.8c-4.2-1.5-7.2-5.7-7.2-10.2c0-4.6 3-8.9 7.2-10.4l46-16.8L421.7 6.5c1.9-3.9 6.1-6.5 10.4-6.5s8.5 2.6 10.4 6.5l16.5 45.8zM302.9 149.6c-12.1 7.2-27.1 8.8-40.7 3.8c-16.9-6.1-35.1-9.4-54.2-9.4c-88.4 0-160 71.6-160 160s71.6 160 160 160s160-71.6 160-160c0-19.1-3.3-37.4-9.4-54.2c-4.9-13.7-3.3-28.6 3.8-40.7l-59.5-59.5zm-24.4-41.3l2.9-2.9c12.5-12.5 32.8-12.5 45.3 0l80 80c12.5 12.5 12.5 32.8 0 45.3l-2.9 2.9c7.9 22 12.2 45.7 12.2 70.5c0 114.9-93.1 208-208 208S0 418.9 0 304S93.1 96 208 96c24.7 0 48.5 4.3 70.5 12.3zM200 224c-39.8 0-72 32.2-72 72c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-66.3 53.7-120 120-120c13.3 0 24 10.7 24 24s-10.7 24-24 24z\"]\n};\nvar faGaugeLow = {\n prefix: 'far',\n iconName: 'gauge-low',\n icon: [512, 512, [\"tachometer-alt-slow\"], \"f627\", \"M256 464a208 208 0 1 0 0-416 208 208 0 1 0 0 416zM256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zm32 112a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM256 408c-30.9 0-56-25.1-56-56c0-14 5.1-26.8 13.7-36.6L146 161.7c-5.3-12.1 .2-26.3 12.3-31.6s26.3 .2 31.6 12.3L257.6 296c30.2 .8 54.4 25.6 54.4 56c0 30.9-25.1 56-56 56zM384 160a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm16 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM144 256a32 32 0 1 1 -64 0 32 32 0 1 1 64 0z\"]\n};\nvar faTachometerAltSlow = faGaugeLow;\nvar faRegistered = {\n prefix: 'far',\n iconName: 'registered',\n icon: [512, 512, [174], \"f25d\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM160 152V264v96c0 13.3 10.7 24 24 24s24-10.7 24-24V288h60.9l37.2 81.9c5.5 12.1 19.7 17.4 31.8 11.9s17.4-19.7 11.9-31.8L315.7 275c21.8-14.3 36.3-39 36.3-67c0-44.2-35.8-80-80-80H184c-13.3 0-24 10.7-24 24zm48 88V176h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H208z\"]\n};\nvar faTrashCanPlus = {\n prefix: 'far',\n iconName: 'trash-can-plus',\n icon: [448, 512, [], \"e2ac\", \"M170.5 51.6L151.5 80h145l-19-28.4c-1.5-2.2-4-3.6-6.7-3.6H177.1c-2.7 0-5.2 1.3-6.7 3.6zm147-26.6L354.2 80H368h48 8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8V432c0 44.2-35.8 80-80 80H112c-44.2 0-80-35.8-80-80V128H24c-13.3 0-24-10.7-24-24S10.7 80 24 80h8H80 93.8l36.7-55.1C140.9 9.4 158.4 0 177.1 0h93.7c18.7 0 36.2 9.4 46.6 24.9zM80 128V432c0 17.7 14.3 32 32 32H336c17.7 0 32-14.3 32-32V128H80zM200 376V312H136c-13.3 0-24-10.7-24-24s10.7-24 24-24h64V200c0-13.3 10.7-24 24-24s24 10.7 24 24v64h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H248v64c0 13.3-10.7 24-24 24s-24-10.7-24-24z\"]\n};\nvar faAddressCard = {\n prefix: 'far',\n iconName: 'address-card',\n icon: [576, 512, [62140, \"contact-card\", \"vcard\"], \"f2bb\", \"M512 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H512zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM208 256a64 64 0 1 0 0-128 64 64 0 1 0 0 128zm-32 32c-44.2 0-80 35.8-80 80c0 8.8 7.2 16 16 16H304c8.8 0 16-7.2 16-16c0-44.2-35.8-80-80-80H176zM376 144c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H376zm0 96c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H376z\"]\n};\nvar faContactCard = faAddressCard;\nvar faVcard = faAddressCard;\nvar faScaleUnbalancedFlip = {\n prefix: 'far',\n iconName: 'scale-unbalanced-flip',\n icon: [640, 512, [\"balance-scale-right\"], \"f516\", \"M97.1 16.7c-4 12.6 2.9 26.1 15.5 30.2L240.4 87.7c3.1 32.4 25.5 59.2 55.6 68.6V464H120c-13.3 0-24 10.7-24 24s10.7 24 24 24H320c13.3 0 24-10.7 24-24V156.3c14.2-4.5 26.8-12.8 36.4-23.8l132.3 42.3c12.6 4 26.1-2.9 30.2-15.5s-2.9-26.1-15.5-30.2L399.6 88.3c.3-2.7 .4-5.5 .4-8.3c0-44.2-35.8-80-80-80c-29.8 0-55.8 16.3-69.6 40.5L127.3 1.1c-12.6-4-26.1 2.9-30.2 15.5zM128 163.8L200.4 288H55.6L128 163.8zM254 305.1c2.6-11-1-22.3-6.7-32.1L152.1 109.8c-5-8.6-14.2-13.8-24.1-13.8s-19.1 5.3-24.1 13.8L8.7 273.1C3 282.8-.6 294.1 2 305.1C12.8 350 65.1 384 128 384s115.2-34 126-78.9zM583.3 416H438.4l72.4-124.2L583.3 416zm-72.4 96c62.9 0 115.2-34 126-78.9c2.6-11-1-22.3-6.7-32.1L534.9 237.8c-5-8.6-14.2-13.8-24.1-13.8s-19.1 5.3-24.1 13.8L391.6 401.1c-5.7 9.8-9.3 21.1-6.7 32.1C395.7 478 448 512 510.8 512zM320 48a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faBalanceScaleRight = faScaleUnbalancedFlip;\nvar faGlobeSnow = {\n prefix: 'far',\n iconName: 'globe-snow',\n icon: [448, 512, [], \"f7a3\", \"M297.4 384C358 356.2 400 295 400 224c0-97.2-78.8-176-176-176S48 126.8 48 224c0 71 42 132.2 102.6 160H67.2C25.7 343.3 0 286.7 0 224C0 100.3 100.3 0 224 0S448 100.3 448 224c0 62.7-25.7 119.3-67.2 160H297.4zM232 80a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm3.3 84.7l64 64c4.6 4.6 5.9 11.5 3.5 17.4s-8.3 9.9-14.8 9.9H271.5l44.8 53.8c4 4.8 4.8 11.4 2.2 17s-8.3 9.2-14.5 9.2H248v48H200V336H144c-6.2 0-11.9-3.6-14.5-9.2s-1.8-12.3 2.2-17L176.5 256H160c-6.5 0-12.3-3.9-14.8-9.9s-1.1-12.9 3.5-17.4l64-64c6.2-6.2 16.4-6.2 22.6 0zM328 144a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM80 184a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM20.3 474.2L61.1 416H386.9l40.8 58.2c5.1 7.3 5.8 16.9 1.6 24.8S416.9 512 408 512H40c-8.9 0-17.2-5-21.3-12.9s-3.5-17.5 1.6-24.8z\"]\n};\nvar faSubscript = {\n prefix: 'far',\n iconName: 'subscript',\n icon: [512, 512, [], \"f12c\", \"M24 64C10.7 64 0 74.7 0 88s10.7 24 24 24H51.2l96 144-96 144H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H64c8 0 15.5-4 20-10.7l92-138 92 138C272.5 444 280 448 288 448h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H300.8l-96-144 96-144H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H288c-8 0-15.5 4-20 10.7l-92 138L84 74.7C79.5 68 72 64 64 64H24zM472 312c0-8-3.9-15.4-10.5-19.9s-15-5.4-22.4-2.4l-40 16c-12.3 4.9-18.3 18.9-13.4 31.2s18.9 18.3 31.2 13.4l7.1-2.8V464H408c-13.3 0-24 10.7-24 24s10.7 24 24 24h40 40c13.3 0 24-10.7 24-24s-10.7-24-24-24H472V312z\"]\n};\nvar faDiamondTurnRight = {\n prefix: 'far',\n iconName: 'diamond-turn-right',\n icon: [512, 512, [\"directions\"], \"f5eb\", \"M50.9 249L249 50.9c1.9-1.9 4.4-2.9 7-2.9s5.2 1 7 2.9L461.1 249c1.9 1.9 2.9 4.4 2.9 7s-1 5.2-2.9 7L263 461.1c-1.9 1.9-4.4 2.9-7 2.9s-5.2-1-7-2.9L50.9 263c-1.9-1.9-2.9-4.4-2.9-7s1-5.2 2.9-7zM215 17L17 215C6.1 225.9 0 240.6 0 256s6.1 30.1 17 41L215 495c10.9 10.9 25.6 17 41 17s30.1-6.1 41-17L495 297c10.9-10.9 17-25.6 17-41s-6.1-30.1-17-41L297 17C286.1 6.1 271.4 0 256 0s-30.1 6.1-41 17zM315.3 148.7c-4.6-4.6-11.5-5.9-17.4-3.5s-9.9 8.3-9.9 14.8v40H240c-35.3 0-64 28.7-64 64v48c0 13.3 10.7 24 24 24s24-10.7 24-24V264c0-8.8 7.2-16 16-16h48v40c0 6.5 3.9 12.3 9.9 14.8s12.9 1.1 17.4-3.5l64-64c6.2-6.2 6.2-16.4 0-22.6l-64-64z\"]\n};\nvar faDirections = faDiamondTurnRight;\nvar faIntegral = {\n prefix: 'far',\n iconName: 'integral',\n icon: [320, 512, [], \"f667\", \"M216 48c-17.7 0-32 14.3-32 32V432c0 44.2-35.8 80-80 80s-80-35.8-80-80V416c0-13.3 10.7-24 24-24s24 10.7 24 24v16c0 17.7 14.3 32 32 32s32-14.3 32-32V80c0-44.2 35.8-80 80-80s80 35.8 80 80V96c0 13.3-10.7 24-24 24s-24-10.7-24-24V80c0-17.7-14.3-32-32-32z\"]\n};\nvar faBurst = {\n prefix: 'far',\n iconName: 'burst',\n icon: [512, 512, [], \"e4dc\", \"M161.7 216.4c4.9-14.3 2.7-30.1-5.9-42.6l-39.2-57.1 57.1 39.2c12.5 8.6 28.3 10.7 42.6 5.9s25.5-16.2 30.2-30.6l9.4-29.1 11.7 36c4 12.4 12.9 22.6 24.6 28.3s25.2 6.4 37.5 2l22-8-8 22.1c-4.5 12.2-3.8 25.8 2 37.5s15.9 20.6 28.3 24.6l36 11.7-32.6 10.6c-13.5 4.4-24.3 14.5-29.7 27.6s-4.6 27.9 2 40.4l17 32.2-32.2-17c-12.5-6.6-27.3-7.3-40.4-2s-23.2 16.2-27.6 29.7L256 410.1l-10.6-32.6c-4.4-13.5-14.5-24.3-27.6-29.7s-27.9-4.6-40.4 2l-32.2 17 16.9-32.2c6.6-12.5 7.3-27.3 2-40.4s-16.2-23.2-29.7-27.6L101.9 256l29.1-9.4c14.4-4.7 25.8-15.9 30.6-30.2zm-2-128.5L37.6 4.2C28-2.3 15.2-1.1 7 7s-9.4 21-2.8 30.5l83.7 122 28.3 41.3L68.6 216.3l-52 16.8C6.7 236.4 0 245.6 0 256s6.7 19.6 16.6 22.8l56.7 18.4 46.3 15L97 355.3 66.8 412.8c-4.9 9.3-3.2 20.7 4.3 28.1s18.8 9.2 28.1 4.3L156.7 415l43.1-22.7 15 46.3 18.4 56.7c3.2 9.9 12.4 16.6 22.8 16.6s19.6-6.7 22.8-16.6l18.4-56.7 15-46.3L355.3 415l57.5 30.2c9.3 4.9 20.7 3.2 28.1-4.3s9.2-18.8 4.3-28.1L415 355.3l-22.7-43.1 46.3-15 56.7-18.4c9.9-3.2 16.6-12.4 16.6-22.8s-6.7-19.6-16.6-22.8l-60.8-19.7-45.7-14.8 16.4-45.1 9.2-25.3c3.2-8.8 1-18.6-5.6-25.2s-16.4-8.8-25.2-5.6l-25.3 9.2-45.1 16.4L298.5 77.4 278.8 16.6C275.6 6.7 266.4 0 256 0s-19.6 6.7-22.8 16.6l-16.8 52-15.4 47.6L159.6 87.9z\"]\n};\nvar faHouseLaptop = {\n prefix: 'far',\n iconName: 'house-laptop',\n icon: [640, 512, [\"laptop-house\"], \"e066\", \"M224.8 5.4c8.8-7.2 21.5-7.2 30.3 0l216 176c10.3 8.4 11.8 23.5 3.4 33.8s-23.5 11.8-33.8 3.4L416 198.4V240H368V159.3L240 55 112 159.3V360c0 4.4 3.6 8 8 8H272v48H120c-30.9 0-56-25.1-56-56V198.4L39.2 218.6c-10.3 8.4-25.4 6.8-33.8-3.4s-6.8-25.4 3.4-33.8l216-176zM288 216v45.7c-6 6.8-10.6 14.9-13.3 23.8c-3.2 1.6-6.9 2.5-10.7 2.5H216c-13.3 0-24-10.7-24-24V216c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24zm64 104V464H544V320H352zm-48-16c0-17.7 14.3-32 32-32H560c17.7 0 32 14.3 32 32V464h36c6.6 0 12 5.4 12 12c0 19.9-16.1 36-36 36H592 544 352 304 292c-19.9 0-36-16.1-36-36c0-6.6 5.4-12 12-12h36V304z\"]\n};\nvar faLaptopHouse = faHouseLaptop;\nvar faFaceTired = {\n prefix: 'far',\n iconName: 'face-tired',\n icon: [512, 512, [128555, \"tired\"], \"f5c8\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm176.5 64.3C196.1 302.1 223.8 288 256 288s59.9 14.1 79.5 32.3C354.5 338.1 368 362 368 384c0 5.4-2.7 10.4-7.2 13.4s-10.2 3.4-15.2 1.3l-17.2-7.5c-22.8-10-47.5-15.1-72.4-15.1s-49.6 5.2-72.4 15.1l-17.2 7.5c-4.9 2.2-10.7 1.7-15.2-1.3s-7.2-8-7.2-13.4c0-22 13.5-45.9 32.5-63.7zm-43-173.6l89.9 47.9c10.7 5.7 10.7 21.1 0 26.8l-89.9 47.9c-7.9 4.2-17.5-1.5-17.5-10.5c0-2.8 1-5.5 2.8-7.6l36-43.2-36-43.2c-1.8-2.1-2.8-4.8-2.8-7.6c0-9 9.6-14.7 17.5-10.5zM396 157.1c0 2.8-1 5.5-2.8 7.6l-36 43.2 36 43.2c1.8 2.1 2.8 4.8 2.8 7.6c0 9-9.6 14.7-17.5 10.5l-89.9-47.9c-10.7-5.7-10.7-21.1 0-26.8l89.9-47.9c7.9-4.2 17.5 1.5 17.5 10.5z\"]\n};\nvar faTired = faFaceTired;\nvar faMoneyBills = {\n prefix: 'far',\n iconName: 'money-bills',\n icon: [640, 512, [], \"e1f3\", \"M528 80c0 35.3 28.7 64 64 64V272c-35.3 0-64 28.7-64 64H208c0-35.3-28.7-64-64-64V144c35.3 0 64-28.7 64-64H528zM160 32c-35.3 0-64 28.7-64 64V320c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H160zM448 208a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zM48 120c0-13.3-10.7-24-24-24S0 106.7 0 120V360c0 66.3 53.7 120 120 120H520c13.3 0 24-10.7 24-24s-10.7-24-24-24H120c-39.8 0-72-32.2-72-72V120z\"]\n};\nvar faBlindsRaised = {\n prefix: 'far',\n iconName: 'blinds-raised',\n icon: [512, 512, [], \"f8fd\", \"M24 0C10.7 0 0 10.7 0 24C0 34.6 6.9 43.6 16.4 46.8l-15 45C.5 94.6 0 97.5 0 100.5C0 115.7 12.3 128 27.5 128H112V80H55.9L66.6 48H112h32V80v48 80 48V372.1C116 382 96 408.6 96 440c0 39.8 32.2 72 72 72s72-32.2 72-72c0-31.4-20-58-48-67.9V256 208 128 80 48h32H445.4l10.7 32H224v48H484.5c15.2 0 27.5-12.3 27.5-27.5c0-3-.5-5.9-1.4-8.7l-15-45C505.1 43.6 512 34.6 512 24c0-13.3-10.7-24-24-24h-8H192 144 32 24zM144 440a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM112 208H55.5l15.4-48H20.5L1.3 219.9c-.9 2.7-1.3 5.6-1.3 8.4C0 243.6 12.4 256 27.7 256H112V208zm112 48H484.3c15.3 0 27.7-12.4 27.7-27.7c0-2.9-.4-5.7-1.3-8.4L491.5 160H441.1l15.4 48H224v48z\"]\n};\nvar faSmog = {\n prefix: 'far',\n iconName: 'smog',\n icon: [640, 512, [], \"f75f\", \"M80 144c0-53 43-96 96-96c29.5 0 55.9 13.3 73.5 34.3c4.7 5.6 11.8 8.8 19.2 8.5s14.2-3.9 18.6-9.9c14.6-20 38.1-33 64.7-33c36.6 0 67.5 24.6 77 58.2c2 7.1 7.2 12.9 14.1 15.7s14.6 2.3 21-1.4c9.4-5.4 20.2-8.5 31.9-8.5c35.3 0 64 28.7 64 64s-28.7 64-64 64H459c-6.5 0-12.8 2.7-17.3 7.4c-14.6 15.2-35 24.6-57.7 24.6s-43.1-9.4-57.7-24.6c-4.5-4.7-10.8-7.4-17.3-7.4H176c-53 0-96-43-96-96zM176 0C96.5 0 32 64.5 32 144s64.5 144 144 144H299.3c22.5 19.9 52.2 32 84.7 32s62.1-12.1 84.7-32H496c61.9 0 112-50.1 112-112s-50.1-112-112-112c-10.7 0-21 1.5-30.8 4.3C443.8 27.7 401.1 0 352 0c-32.7 0-62.5 12.2-85.1 32.3C242.2 12.1 210.5 0 176 0zM552 464H440c-13.3 0-24 10.7-24 24s10.7 24 24 24H552c13.3 0 24-10.7 24-24s-10.7-24-24-24zm-192 0H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H360c13.3 0 24-10.7 24-24s-10.7-24-24-24zm280-72c0-13.3-10.7-24-24-24H280c-13.3 0-24 10.7-24 24s10.7 24 24 24H616c13.3 0 24-10.7 24-24zM200 368H96c-13.3 0-24 10.7-24 24s10.7 24 24 24H200c13.3 0 24-10.7 24-24s-10.7-24-24-24z\"]\n};\nvar faUfoBeam = {\n prefix: 'far',\n iconName: 'ufo-beam',\n icon: [576, 512, [], \"e048\", \"M152.5 163.3l-16.9 17c-4-4-6.5-9.2-7-14.9c-.6-7-.8-14-.5-20.7c-22 6.7-40.3 14.6-53.9 23C52.5 181.2 48 192.2 48 197.9c0 4.1 2.2 11 12.6 20.2c10.4 9.1 26.8 18.4 49.1 26.7C154.2 261.3 217.2 272 288 272s133.8-10.7 178.3-27.2c22.3-8.3 38.7-17.6 49.1-26.7c10.4-9.2 12.6-16 12.6-20.2c0-5.7-4.5-16.7-26.2-30.1c-13.7-8.4-31.9-16.3-53.9-23c.3 6.8 .1 13.7-.5 20.7c-.5 5.6-3 10.9-7 14.9l-16.9-17c16.9 17 16.9 17 16.9 17.1l0 0 0 0-.1 .1-.3 .3c-.2 .2-.4 .4-.7 .7c-.6 .5-1.3 1.1-2.1 1.9c-1.8 1.5-4.2 3.3-7.3 5.5c-6.3 4.3-15.4 9.7-27.7 14.9C377.4 214.2 340.3 224 288 224s-89.4-9.8-114.1-20.2c-12.3-5.2-21.4-10.6-27.7-14.9c-3.1-2.2-5.6-4-7.3-5.5c-.9-.7-1.6-1.4-2.1-1.9c-.3-.3-.5-.5-.7-.7l-.3-.3-.1-.1 0 0 0 0c0 0 0 0 16.9-17.1zM49 126.9c24-14.8 55.6-26.7 91.7-35.2C165.7 36.3 224.3 0 288 0s122.3 36.3 147.3 91.7c36.1 8.6 67.8 20.4 91.7 35.2c26.1 16.1 49 39.7 49 70.9c0 23-12.6 41.9-28.9 56.2c-16.3 14.4-38.6 26.2-64.1 35.7C432 308.7 363 320 288 320s-144-11.3-195-30.2c-25.4-9.5-47.7-21.3-64.1-35.7C12.6 239.8 0 220.8 0 197.9c0-31.2 22.9-54.8 49-70.9zm351 24c-.5-57.5-50.3-103-112-103s-111.4 45.5-112 103c3.8 2.4 9.3 5.5 16.7 8.6c18.4 7.8 49.1 16.4 95.3 16.4s76.9-8.6 95.3-16.4c7.4-3.1 12.9-6.2 16.7-8.6zM117.2 363.2l-72 136c-6.2 11.7-20.7 16.2-32.4 10S-3.4 488.5 2.8 476.8l72-136c6.2-11.7 20.7-16.2 32.4-10s16.2 20.7 10 32.4zm384-22.5l72 136c6.2 11.7 1.7 26.2-10 32.4s-26.2 1.7-32.4-10l-72-136c-6.2-11.7-1.7-26.2 10-32.4s26.2-1.7 32.4 10z\"]\n};\nvar faCircleCaretUp = {\n prefix: 'far',\n iconName: 'circle-caret-up',\n icon: [512, 512, [\"caret-circle-up\"], \"f331\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-368c-6.7 0-13 2.8-17.6 7.7l-104 112c-6.5 7-8.2 17.2-4.4 25.9s12.5 14.4 22 14.4H360c9.5 0 18.2-5.7 22-14.4s2.1-18.9-4.4-25.9l-104-112c-4.5-4.9-10.9-7.7-17.6-7.7z\"]\n};\nvar faCaretCircleUp = faCircleCaretUp;\nvar faUserVneckHairLong = {\n prefix: 'far',\n iconName: 'user-vneck-hair-long',\n icon: [448, 512, [], \"e463\", \"M304 128c0-11.4-2.4-22.2-6.7-32H296c-20.5 0-38.7-9.6-50.4-24.5C231.9 95.7 205.8 112 176 112H145.6c-1 5.2-1.6 10.5-1.6 16v16c0 44.2 35.8 80 80 80s80-35.8 80-80V128zM96 128C96 57.3 153.3 0 224 0s128 57.3 128 128v11c0 33.9 13.5 66.5 37.5 90.5l3.9 3.9c4.2 4.2 6.6 10 6.6 16c0 12.5-10.1 22.6-22.6 22.6H224 70.6C58.1 272 48 261.9 48 249.4c0-6 2.4-11.8 6.6-16l3.9-3.9c24-24 37.5-56.6 37.5-90.5V128zM48.3 461.9H399.7c-3.1-46.7-32.9-86.2-74.4-103.1l-50.2 66.9c-25.6 34.1-76.8 34.1-102.4 0l-50.2-66.9c-41.4 16.9-71.3 56.4-74.4 103.1zm83.8-156.2c5.8-1.3 11.7 1.2 15.3 5.9l63.9 85.2c6.4 8.5 19.2 8.5 25.6 0l63.9-85.2c3.6-4.7 9.5-7.2 15.3-5.9C391.4 322.2 448 389.5 448 469.9v8c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32v-8c0-80.5 56.6-147.7 132.1-164.2z\"]\n};\nvar faSquareALock = {\n prefix: 'far',\n iconName: 'square-a-lock',\n icon: [576, 512, [], \"e44d\", \"M64 80H384c8.8 0 16 7.2 16 16v84.1c14-9.8 30.3-16.4 48-18.9V96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H320V432H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16zm181.8 61.9c-3.9-8.5-12.4-13.9-21.8-13.9s-17.9 5.4-21.8 13.9l-96 208c-5.6 12-.3 26.3 11.7 31.8s26.3 .3 31.8-11.7l12-26.1H286.2l12 26.1c4 8.8 12.7 13.9 21.8 13.9V352c0-11.4 3-22.1 8.2-31.4L245.8 141.9zM224 209.3L264 296H184l40-86.7zM464 240c17.7 0 32 14.3 32 32v48H432V272c0-17.7 14.3-32 32-32zm-80 32v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H544c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"]\n};\nvar faCrutch = {\n prefix: 'far',\n iconName: 'crutch',\n icon: [512, 512, [], \"f7f7\", \"M329 7L505 183c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L295 41c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0zM164.2 201.9L287.4 78.6l33.9 33.9L249.9 184 328 262.1l71.4-71.4 33.9 33.9L310.1 347.8c-11.8 11.8-26.8 20-43.1 23.7L159.4 395.4c-7.4 1.7-14.2 5.4-19.6 10.8L41 505c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l98.8-98.8c5.4-5.4 9.1-12.2 10.8-19.6L140.5 245c3.6-16.3 11.8-31.3 23.7-43.1zM216 217.9l-17.9 17.9c-5.4 5.4-9.1 12.2-10.8 19.6l-19.8 89 89-19.8c7.4-1.7 14.2-5.4 19.6-10.8L294.1 296 216 217.9z\"]\n};\nvar faGasPumpSlash = {\n prefix: 'far',\n iconName: 'gas-pump-slash',\n icon: [640, 512, [], \"f5f4\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-67.2-52.7C571.4 404.9 576 391 576 376V155.9c0-19.1-7.6-37.4-21.1-50.9L481 31c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l33 33V160c0 29.8 20.4 54.9 48 62V376c0 3.8-.9 7.4-2.5 10.6L384 275.7V64c0-35.3-28.7-64-64-64H160c-30.9 0-56.7 21.9-62.7 51L38.8 5.1zM144 87.6V64c0-8.8 7.2-16 16-16H320c8.8 0 16 7.2 16 16V238L144 87.6zm240 311l-48-37.8V464H144V209.5L96 171.6V464l-8 0c-13.3 0-24 10.7-24 24s10.7 24 24 24h8 48H336h48 8c13.3 0 24-10.7 24-24s-10.7-24-24-24l-8 0V398.5z\"]\n};\nvar faFontAwesome = {\n prefix: 'far',\n iconName: 'font-awesome',\n icon: [512, 512, [62501, 62694, \"font-awesome-flag\", \"font-awesome-logo-full\"], \"f2b4\", \"M91.7 96C106.3 86.8 116 70.5 116 52C116 23.3 92.7 0 64 0S12 23.3 12 52c0 16.7 7.8 31.5 20 41l0 3 0 48 0 256 0 48 0 64 48 0 0-64 389.6 0c14.6 0 26.4-11.8 26.4-26.4c0-3.7-.8-7.3-2.3-10.7L432 272l61.7-138.9c1.5-3.4 2.3-7 2.3-10.7c0-14.6-11.8-26.4-26.4-26.4L91.7 96zM80 400l0-256 356.4 0L388.1 252.5c-5.5 12.4-5.5 26.6 0 39L436.4 400 80 400z\"]\n};\nvar faFontAwesomeFlag = faFontAwesome;\nvar faFontAwesomeLogoFull = faFontAwesome;\nvar faCloudArrowUp = {\n prefix: 'far',\n iconName: 'cloud-arrow-up',\n icon: [640, 512, [62338, \"cloud-upload\", \"cloud-upload-alt\"], \"f0ee\", \"M354.9 121.7c13.8 16 36.5 21.1 55.9 12.5c8.9-3.9 18.7-6.2 29.2-6.2c39.8 0 72 32.2 72 72c0 4-.3 7.9-.9 11.7c-3.5 21.6 8.1 42.9 28.1 51.7C570.4 276.9 592 308 592 344c0 46.8-36.6 85.2-82.8 87.8c-.6 0-1.3 .1-1.9 .2H504 144c-53 0-96-43-96-96c0-41.7 26.6-77.3 64-90.5c19.2-6.8 32-24.9 32-45.3l0-.2v0 0c0-66.3 53.7-120 120-120c36.3 0 68.8 16.1 90.9 41.7zM512 480v-.2c71.4-4.1 128-63.3 128-135.8c0-55.7-33.5-103.7-81.5-124.7c1-6.3 1.5-12.8 1.5-19.3c0-66.3-53.7-120-120-120c-17.4 0-33.8 3.7-48.7 10.3C360.4 54.6 314.9 32 264 32C171.2 32 96 107.2 96 200l0 .2C40.1 220 0 273.3 0 336c0 79.5 64.5 144 144 144H464h40 8zM223 255c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l39-39V384c0 13.3 10.7 24 24 24s24-10.7 24-24V249.9l39 39c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-80-80c-9.4-9.4-24.6-9.4-33.9 0l-80 80z\"]\n};\nvar faCloudUpload = faCloudArrowUp;\nvar faCloudUploadAlt = faCloudArrowUp;\nvar faPalette = {\n prefix: 'far',\n iconName: 'palette',\n icon: [512, 512, [127912], \"f53f\", \"M464 258.2c0 2.7-1 5.2-4.2 8c-3.8 3.1-10.1 5.8-17.8 5.8H344c-53 0-96 43-96 96c0 6.8 .7 13.4 2.1 19.8c3.3 15.7 10.2 31.1 14.4 40.6l0 0c.7 1.6 1.4 3 1.9 4.3c5 11.5 5.6 15.4 5.6 17.1c0 5.3-1.9 9.5-3.8 11.8c-.9 1.1-1.6 1.6-2 1.8c-.3 .2-.8 .3-1.6 .4c-2.9 .1-5.7 .2-8.6 .2C141.1 464 48 370.9 48 256S141.1 48 256 48s208 93.1 208 208c0 .7 0 1.4 0 2.2zm48 .5c0-.9 0-1.8 0-2.7C512 114.6 397.4 0 256 0S0 114.6 0 256S114.6 512 256 512c3.5 0 7.1-.1 10.6-.2c31.8-1.3 53.4-30.1 53.4-62c0-14.5-6.1-28.3-12.1-42c-4.3-9.8-8.7-19.7-10.8-29.9c-.7-3.2-1-6.5-1-9.9c0-26.5 21.5-48 48-48h97.9c36.5 0 69.7-24.8 70.1-61.3zM160 256a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm0-64a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm128-64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm64 64a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faTransporter4 = {\n prefix: 'far',\n iconName: 'transporter-4',\n icon: [512, 512, [], \"e2a5\", \"M224 0h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H224c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H224c-8.8 0-16-7.2-16-16s7.2-16 16-16zm-48 64H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16s7.2-16 16-16zm-32 64H368c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16s7.2-16 16-16zm-32 64H400c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm64 64H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16s7.2-16 16-16zM472.7 134.6L480 160l25.4 7.3c3.9 1.1 6.6 4.7 6.6 8.7s-2.7 7.6-6.6 8.7L480 192l-7.3 25.4c-1.1 3.9-4.7 6.6-8.7 6.6s-7.6-2.7-8.7-6.6L448 192l-25.4-7.3c-3.9-1.1-6.6-4.7-6.6-8.7s2.7-7.6 6.6-8.7L448 160l7.3-25.4c1.1-3.9 4.7-6.6 8.7-6.6s7.6 2.7 8.7 6.6zm-416 224L64 384l25.4 7.3c3.9 1.1 6.6 4.7 6.6 8.7s-2.7 7.6-6.6 8.7L64 416l-7.3 25.4c-1.1 3.9-4.7 6.6-8.7 6.6s-7.6-2.7-8.7-6.6L32 416 6.6 408.7C2.7 407.6 0 404.1 0 400s2.7-7.6 6.6-8.7L32 384l7.3-25.4c1.1-3.9 4.7-6.6 8.7-6.6s7.6 2.7 8.7 6.6zM96 488c0-13.3 10.7-24 24-24H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24z\"]\n};\nvar faChartMixedUpCircleCurrency = {\n prefix: 'far',\n iconName: 'chart-mixed-up-circle-currency',\n icon: [576, 512, [], \"e5d8\", \"M408 0c-13.3 0-24 10.7-24 24s10.7 24 24 24h52.5L320.2 168.2 207.8 69.9c-8.2-7.1-20.1-7.9-29.1-1.9L10.7 180c-11 7.4-14 22.3-6.7 33.3s22.3 14 33.3 6.7L190 118.2l114.2 99.9c9 7.9 22.4 7.9 31.4 .2L496 80.7V136c0 13.3 10.7 24 24 24s24-10.7 24-24V24c0-13.3-10.7-24-24-24H408zM200 432c0 4.4-3.6 8-8 8s-8-3.6-8-8V272c0-4.4 3.6-8 8-8s8 3.6 8 8V432zm-8-208c-26.5 0-48 21.5-48 48V432c0 26.5 21.5 48 48 48s48-21.5 48-48V272c0-26.5-21.5-48-48-48zM72 432c0 4.4-3.6 8-8 8s-8-3.6-8-8V368c0-4.4 3.6-8 8-8s8 3.6 8 8v64zM64 320c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48s48-21.5 48-48V368c0-26.5-21.5-48-48-48zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm25.4-169.4a35.9 35.9 0 1 0 -50.7 50.7 35.9 35.9 0 1 0 50.7-50.7zM396.7 426l-17.3 17.3c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L374 403.3c-13.2-21.6-13.2-49.1 0-70.7l-17.3-17.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L396.7 310c21.6-13.2 49.1-13.2 70.7 0l17.3-17.3c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L490 332.7c13.2 21.6 13.2 49.1 0 70.7l17.3 17.3c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L467.3 426c-21.6 13.2-49.1 13.2-70.7 0z\"]\n};\nvar faObjectsAlignRight = {\n prefix: 'far',\n iconName: 'objects-align-right',\n icon: [512, 512, [], \"e3bf\", \"M512 24c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 464c0 13.3 10.7 24 24 24s24-10.7 24-24l0-464zM336 176L48 176l0-64 288 0 0 64zm48-64c0-26.5-21.5-48-48-48L48 64C21.5 64 0 85.5 0 112l0 64c0 26.5 21.5 48 48 48l288 0c26.5 0 48-21.5 48-48l0-64zM336 400l-160 0 0-64 160 0 0 64zm48-64c0-26.5-21.5-48-48-48l-160 0c-26.5 0-48 21.5-48 48l0 64c0 26.5 21.5 48 48 48l160 0c26.5 0 48-21.5 48-48l0-64z\"]\n};\nvar faArrowsTurnRight = {\n prefix: 'far',\n iconName: 'arrows-turn-right',\n icon: [448, 512, [], \"e4c0\", \"M294.4 7.7c9-9.7 24.2-10.3 33.9-1.3l112 104c4.9 4.5 7.7 10.9 7.7 17.6s-2.8 13-7.7 17.6l-112 104c-9.7 9-24.9 8.5-33.9-1.3s-8.5-24.9 1.3-33.9L362.9 152H120c-39.8 0-72 32.2-72 72v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V224c0-66.3 53.7-120 120-120H362.9L295.7 41.6c-9.7-9-10.3-24.2-1.3-33.9zm-96 256c9-9.7 24.2-10.3 33.9-1.3l112 104c4.9 4.5 7.7 10.9 7.7 17.6s-2.8 13-7.7 17.6l-112 104c-9.7 9-24.9 8.5-33.9-1.3s-8.5-24.9 1.3-33.9L266.9 408H88c-22.1 0-40 17.9-40 40v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V448c0-48.6 39.4-88 88-88H266.9l-67.2-62.4c-9.7-9-10.3-24.2-1.3-33.9z\"]\n};\nvar faVest = {\n prefix: 'far',\n iconName: 'vest',\n icon: [448, 512, [], \"e085\", \"M104 0h8.3 5c19.4 0 35.2 10 45.5 19.2C172.3 27.6 191.4 40 224 40s51.7-12.4 61.2-20.8C295.5 10 311.3 0 330.7 0h5H344c1.9 0 3.8 .1 5.7 .3C378 3.2 400 27 400 56v72 58.7c0 4.4 1.2 8.6 3.4 12.3l34.3 57.2c6.7 11.2 10.3 24 10.3 37V456c0 30.9-25.1 56-56 56H264c-30.9 0-56-25.1-56-56V295.1c0-7.1 1-14.1 3.1-20.9L269.5 81.5c-13 4-28.1 6.5-45.5 6.5s-32.5-2.6-45.5-6.5l28.8 95-25.1 82.8L119.9 53.7c-1-3.4-4.1-5.7-7.7-5.7H104c-4.4 0-8 3.6-8 8v72 58.7c0 13-3.5 25.9-10.3 37L51.4 280.9c-2.2 3.7-3.4 8-3.4 12.3V398.1l55-55c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L51.4 462.5c1.3 .9 2.9 1.5 4.6 1.5H176.4c1.6 17.6 8.4 33.8 18.8 46.9c-3.6 .7-7.4 1.1-11.2 1.1H56c-30.9 0-56-25.1-56-56V293.3c0-13 3.5-25.9 10.3-37l34.3-57.2c2.2-3.7 3.4-8 3.4-12.3V128 56C48 25.1 73.1 0 104 0zM352 56c0-4.4-3.6-8-8-8h0-8.3c-3.5 0-6.6 2.3-7.7 5.7L257 288.2c-.7 2.3-1 4.6-1 7V456c0 4.4 3.6 8 8 8H392c1.7 0 3.3-.5 4.6-1.5L311 377c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l55 55V293.3c0-4.4-1.2-8.6-3.4-12.3l-34.3-57.2c-6.7-11.2-10.3-24-10.3-37V128 56z\"]\n};\nvar faPig = {\n prefix: 'far',\n iconName: 'pig',\n icon: [640, 512, [128022], \"f706\", \"M475 32c-4 0-7.9 .5-11.8 1.5L417.1 45c-21.1 5.3-38.6 18-50.2 35H240C162.6 80 98 135 83.2 208H47.4c-8.5 0-15.4-6.9-15.4-15.4c0-7.1 4.8-13.3 11.7-15l8.2-2c8.6-2.1 13.8-10.8 11.6-19.4s-10.8-13.8-19.4-11.6l-8.2 2C14.8 151.8 0 170.8 0 192.6C0 218.8 21.2 240 47.4 240H80v16c0 55.8 31.8 104.2 78.1 128.1l22.3 68.3c5.4 16.5 20.7 27.6 38 27.6H264c22.1 0 40-17.9 40-40V416h16 32v24c0 22.1 17.9 40 40 40h45.5c17.3 0 32.7-11.1 38-27.6l13.7-42.1c26.1-7.5 49.6-22.2 67.8-42.4H592c26.5 0 48-21.5 48-48V240c0-26.5-21.5-48-48-48h-8.7c-6.7-4.7-12.5-10.5-17.2-17.3l0 0c21-14.9 33.9-39.3 33.9-65.6C600 93 587 80 570.9 80H552v29.1c0 12.2-6.9 23.4-17.8 28.9c-4.1-3.8-8.4-7.4-12.7-10.8c4.2-10.3 6.5-21.5 6.5-33.2V82.3C528 54.5 505.5 32 477.7 32H475zm-.1 48l.1 0 0 0h2.6c1.3 0 2.3 1 2.3 2.3V94c0 9.4-3.3 18.2-8.9 25.1c-4.3 5.3-6.1 12.2-5 19s5.1 12.7 10.9 16.4c19.3 12.2 36.3 28.2 49.7 47.6c8.8 12.8 20.1 23.6 33.1 31.9c6.7 4.3 14.1 6 20.9 6H592v80H553.8c-12.8 0-23.8 6.1-31.1 14.5c-14.5 16.7-34.3 28.1-56.3 32c-8.7 1.6-15.8 7.8-18.6 16.2L431.7 432H400V392c0-13.3-10.7-24-24-24H320 280c-13.3 0-24 10.7-24 24v40H224.3l-23.7-72.7c-2.2-6.6-7.1-12-13.6-14.7c-34.7-14.5-59-48.8-59-88.6V240c0-61.9 50.1-112 112-112H381c9.6 0 18.3-5.7 22.1-14.5c4.6-10.7 13.9-19 25.7-21.9L474.9 80zM468 256a20 20 0 1 0 0-40 20 20 0 1 0 0 40z\"]\n};\nvar faInboxFull = {\n prefix: 'far',\n iconName: 'inbox-full',\n icon: [512, 512, [], \"e1ba\", \"M48 416c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V336H382.8l-20.9 41.9c-6.8 13.6-20.6 22.1-35.8 22.1H185.9c-15.2 0-29-8.6-35.8-22.1L129.2 336H48v80zM405.6 92.1C403.8 85 397.4 80 390 80H122c-7.3 0-13.7 5-15.5 12.1L57.5 288h76.6c15.2 0 29 8.6 35.8 22.1L190.8 352H321.2l20.9-41.9c6.8-13.6 20.6-22.1 35.8-22.1h76.6l-49-195.9zM0 416V327.9c0-5.2 .6-10.4 1.9-15.5l58-231.9C67 52 92.6 32 122 32H390c29.4 0 55 20 62.1 48.5l58 231.9c1.3 5.1 1.9 10.3 1.9 15.5V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64zM184 128H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24zm-32 80H360c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faCircleEnvelope = {\n prefix: 'far',\n iconName: 'circle-envelope',\n icon: [512, 512, [\"envelope-circle\"], \"e10c\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm-7.3-256.4c2.2 1.2 4.7 1.9 7.3 1.9s5.1-.6 7.3-1.9l120.6-66.4C382.5 172.9 368.7 160 352 160H160c-16.7 0-30.5 12.9-31.9 29.3l120.6 66.4zm30 28c-7 3.8-14.8 5.8-22.7 5.8s-15.8-2-22.7-5.8L128 225.7V320c0 17.7 14.3 32 32 32H352c17.7 0 32-14.3 32-32V225.7L278.7 283.6z\"]\n};\nvar faEnvelopeCircle = faCircleEnvelope;\nvar faTrianglePersonDigging = {\n prefix: 'far',\n iconName: 'triangle-person-digging',\n icon: [640, 512, [\"construction\"], \"f85d\", \"M70.3 464L320 55.3 570.2 464H70.3zM285.9 19.1l-264 432c-7.5 12.3-7.8 27.8-.8 40.4S41.5 512 56 512H584.5c14.5 0 27.8-7.8 34.9-20.4s6.8-28.1-.8-40.4L354.1 19.1C346.8 7.2 333.9 0 320 0s-26.9 7.3-34.1 19.1zM312 224a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm36.5 100.1l-19.7-49.2c-8.4-21.1-28.9-34.9-51.6-34.9c-18.6 0-35.9 9.3-46.3 24.8l-4.2 6.4c-2.5 3.7-3.3 8.2-2.3 12.5s3.8 8 7.6 10.2l153.5 88.6-15.2 25.4c-3 4.9-3 11.1-.2 16.1s8.2 8.1 13.9 8.1h96c5.8 0 11.1-3.1 13.9-8.1s2.8-11.2-.2-16.1l-48-80c-2.9-4.8-8.1-7.8-13.7-7.8s-10.8 2.9-13.7 7.8L402 355l-53.5-30.9zm-131.6-3.4l-7.5 16.8-32 72c-3.6 8.1 0 17.5 8.1 21.1s17.5 0 21.1-8.1l24.5-55.2L272 392.9V416c0 8.8 7.2 16 16 16s16-7.2 16-16V384c0-5.5-2.8-10.6-7.5-13.6l-64-40-15.6-9.8z\"]\n};\nvar faConstruction = faTrianglePersonDigging;\nvar faFerry = {\n prefix: 'far',\n iconName: 'ferry',\n icon: [576, 512, [], \"e4ea\", \"M192 32c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32h68c17.1 0 28.7 17.4 22.2 33.2L468 80h4c30.9 0 56 25.1 56 56V293.9c0 11.5-3.5 22.7-10.1 32.1l-50.2 71.7c-7.6 10.9-22.6 13.5-33.4 5.9s-13.5-22.6-5.9-33.4L463.5 320H424 152 112.5l35.2 50.2c7.6 10.9 5 25.8-5.9 33.4s-25.8 5-33.4-5.9L58.1 326C51.5 316.6 48 305.4 48 293.9V136c0-30.9 25.1-56 56-56h4l-6.2-14.8C95.3 49.4 106.9 32 124 32h68zM480 272V136c0-4.4-3.6-8-8-8H448 128 104c-4.4 0-8 3.6-8 8V272h32V184c0-13.3 10.7-24 24-24H424c13.3 0 24 10.7 24 24v88h32zM176 208v64H400V208H176zM111.9 430.1c21.5 18.6 51.2 33.9 80 33.9s58.5-15.3 80-33.9c9.1-8.1 22.8-8.1 31.9 0c21.6 18.6 51.2 33.9 80 33.9s58.5-15.3 80-33.9c9.1-8.1 22.8-8.1 31.9 0c16.9 15.1 39.3 26.8 61.3 31.8c12.9 2.9 21.1 15.7 18.2 28.7s-15.7 21.1-28.7 18.2c-28.7-6.4-52.3-20.5-66.7-30.4c-28.1 19.5-61.4 33.8-96 33.8s-67.9-14.3-96-33.8c-28.1 19.5-61.4 33.8-96 33.8s-67.9-14.3-96-33.8c-14.4 10-38 24-66.7 30.4c-12.9 2.9-25.8-5.2-28.7-18.2s5.2-25.8 18.2-28.7c22.2-5 44-16.8 61.2-31.7c9.1-8.1 22.8-8.1 31.9 0z\"]\n};\nvar faBullseyeArrow = {\n prefix: 'far',\n iconName: 'bullseye-arrow',\n icon: [512, 512, [127919], \"f648\", \"M361.5 218.4c4.2 11.8 6.5 24.4 6.5 37.6c0 61.9-50.1 112-112 112s-112-50.1-112-112s50.1-112 112-112c13.2 0 25.9 2.3 37.6 6.5l4.9-4.9-7.6-45.8C279.6 97.3 268 96 256 96C167.6 96 96 167.6 96 256s71.6 160 160 160s160-71.6 160-160c0-12-1.3-23.6-3.8-34.9l-45.8-7.6-4.9 4.9zm97.4-8.1c3.3 14.7 5 30 5 45.7c0 114.9-93.1 208-208 208S48 370.9 48 256S141.1 48 256 48c15.7 0 31 1.7 45.7 5l38.8-38.8C314 5 285.6 0 256 0C114.6 0 0 114.6 0 256S114.6 512 256 512s256-114.6 256-256c0-29.6-5-58-14.3-84.5L459 210.3zm-93.9-29.4l50.7 8.4c10.2 1.7 20.6-1.6 27.9-8.9l51.2-51.2c8.1-8.1 5.3-21.9-5.4-26.2L432 80 409 22.5c-4.3-10.7-18-13.5-26.2-5.4L331.6 68.4c-7.3 7.3-10.6 17.7-8.9 27.9l8.4 50.7L239 239c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l92.1-92.1z\"]\n};\nvar faArrowsDownToPeople = {\n prefix: 'far',\n iconName: 'arrows-down-to-people',\n icon: [640, 512, [], \"e4b9\", \"M120 24c0-13.3 10.7-24 24-24s24 10.7 24 24V142.1l23-23c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-64 64c-9.4 9.4-24.6 9.4-33.9 0L63 153c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l23 23V24zm295 95c9.4-9.4 24.6-9.4 33.9 0l23 23V24c0-13.3 10.7-24 24-24s24 10.7 24 24V142.1l23-23c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-64 64c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9zm81 137a40 40 0 1 1 0 80 40 40 0 1 1 0-80zM480 464h32V400.5c-2-.3-4.1-.5-6.2-.5H486.2c-2.1 0-4.2 .2-6.2 .5V464zm98.9 27.4l-18.9-35V480c0 17.7-14.3 32-32 32H464c-17.7 0-32-14.3-32-32V456.3l-18.9 35c-6.3 11.7-20.8 16-32.5 9.8s-16-20.8-9.8-32.5l36.3-67.5c-1.7-1.7-3.2-3.6-4.3-5.8l-18.9-35V400c0 17.7-14.3 32-32 32H288c-17.7 0-32-14.3-32-32V360.3l-18.9 35c-1.2 2.2-2.6 4.1-4.3 5.8l36.3 67.5c6.3 11.7 1.9 26.2-9.8 32.5s-26.2 1.9-32.5-9.8l-18.9-35V480c0 17.7-14.3 32-32 32H112c-17.7 0-32-14.3-32-32V456.3l-18.9 35c-6.3 11.7-20.8 16-32.5 9.8s-16-20.8-9.8-32.5l37.9-70.3c15.3-28.5 45.1-46.3 77.5-46.3h19.5c16.3 0 31.9 4.5 45.4 12.6l33.6-62.3c15.3-28.5 45.1-46.3 77.5-46.3h19.5c32.4 0 62.1 17.8 77.5 46.3l33.6 62.3c13.5-8.1 29.1-12.6 45.4-12.6h19.5c32.4 0 62.1 17.8 77.5 46.3l37.9 70.3c6.3 11.7 1.9 26.2-9.8 32.5s-26.2 1.9-32.5-9.8zM280 200a40 40 0 1 1 80 0 40 40 0 1 1 -80 0zm24 104.5V384h32V304.5c-2-.3-4.1-.5-6.2-.5H310.2c-2.1 0-4.2 .2-6.2 .5zM144 256a40 40 0 1 1 0 80 40 40 0 1 1 0-80zM128 464h32V400.5c-2-.3-4.1-.5-6.2-.5H134.2c-2.1 0-4.2 .2-6.2 .5V464z\"]\n};\nvar faSeedling = {\n prefix: 'far',\n iconName: 'seedling',\n icon: [512, 512, [127793, \"sprout\"], \"f4d8\", \"M307.3 207c82.9-9.1 148.4-75.6 156-159H456c-76.7 0-142 49.1-166.1 117.5c-8.8-16.8-19.4-32.6-31.6-47.1C296.1 48 370.5 0 456 0h24c17.7 0 32 14.3 32 32c0 113.6-84.6 207.4-194.2 222c-2.1-16.2-5.6-31.9-10.5-47.1zM48 112v16c0 97.2 78.8 176 176 176h8V288c0 0 0 0 0 0c0-97.2-78.8-176-176-176H48zM280 288v16 48l0 136c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-136h-8C100.3 352 0 251.7 0 128V96C0 78.3 14.3 64 32 64H56c123.7 0 224 100.3 224 224z\"]\n};\nvar faSprout = faSeedling;\nvar faClockSeven = {\n prefix: 'far',\n iconName: 'clock-seven',\n icon: [512, 512, [], \"e350\", \"M464 256A208 208 0 1 1 48 256a208 208 0 1 1 416 0zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM232 120V248.7l-60 90c-7.4 11-4.4 25.9 6.7 33.3s25.9 4.4 33.3-6.7l64-96c2.6-3.9 4-8.6 4-13.3V120c0-13.3-10.7-24-24-24s-24 10.7-24 24z\"]\n};\nvar faLeftRight = {\n prefix: 'far',\n iconName: 'left-right',\n icon: [512, 512, [8596, \"arrows-alt-h\"], \"f337\", \"M505.6 239.7c8.5 9.2 8.5 23.4 0 32.6l-89.4 96.8c-8.8 9.5-21.1 14.9-34 14.9c-25.5 0-46.3-20.7-46.3-46.3l0-9.7-160 0 0 9.7c0 25.5-20.7 46.3-46.3 46.3c-12.9 0-25.2-5.4-34-14.9L6.4 272.3c-8.5-9.2-8.5-23.4 0-32.6l89.4-96.8c8.8-9.5 21.1-14.9 34-14.9c25.5 0 46.3 20.7 46.3 46.3l0 9.7 160 0 0-9.7c0-25.5 20.7-46.3 46.3-46.3c12.9 0 25.2 5.4 34 14.9l89.4 96.8zM384 178.7l0 29.3c0 13.3-10.7 24-24 24l-208 0c-13.3 0-24-10.7-24-24l0-29.3L56.7 256 128 333.3l0-29.3c0-13.3 10.7-24 24-24l208 0c13.3 0 24 10.7 24 24l0 29.3L455.3 256 384 178.7zm-253-3.3s0 0 0 0l-1.3-1.2 1.3 1.2 0 0z\"]\n};\nvar faArrowsAltH = faLeftRight;\nvar faBoxesPacking = {\n prefix: 'far',\n iconName: 'boxes-packing',\n icon: [640, 512, [], \"e4c7\", \"M592 48H304v80H256V48c0-26.5 21.5-48 48-48H592c26.5 0 48 21.5 48 48V464c0 26.5-21.5 48-48 48H381.3c1.8-5 2.7-10.4 2.7-16V464H592V48zM561 311c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-23-23V392c0 13.3-10.7 24-24 24s-24-10.7-24-24V321.9l-23 23c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l64-64c9.4-9.4 24.6-9.4 33.9 0l64 64zM48 208v48H80 304h32V208H48zM0 272V192c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32v80c0 17.7-14.3 32-32 32V480c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32l0-176c-17.7 0-32-14.3-32-32zm80 32V464H304V304H80zm72 32h80c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faCircleArrowLeft = {\n prefix: 'far',\n iconName: 'circle-arrow-left',\n icon: [512, 512, [\"arrow-circle-left\"], \"f0a8\", \"M48 256a208 208 0 1 1 416 0A208 208 0 1 1 48 256zm464 0A256 256 0 1 0 0 256a256 256 0 1 0 512 0zM223 151l-88 88c-9.4 9.4-9.4 24.6 0 33.9l88 88c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47L360 280c13.3 0 24-10.7 24-24s-10.7-24-24-24l-150.1 0 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0z\"]\n};\nvar faArrowCircleLeft = faCircleArrowLeft;\nvar faFlashlight = {\n prefix: 'far',\n iconName: 'flashlight',\n icon: [640, 512, [128294], \"f8b8\", \"M384 304H48V208H384c11.6 0 22.9-4.2 31.7-11.9l.1-.1c.2-.2 .7-.6 1.4-1.2c1.5-1.2 3.9-3.1 7.4-5.4c6.9-4.8 17.5-11.4 31.4-18.2c15-7.3 33.9-14.6 56.1-19.8V360.7c-22.2-5.2-41-12.5-56.1-19.8c-14-6.8-24.5-13.4-31.4-18.2c-3.4-2.4-5.9-4.3-7.4-5.4c-.7-.6-1.2-1-1.4-1.2l-.1-.1c-8.8-7.7-20-11.9-31.6-11.9zm192 64c-5.5 0-10.8-.2-16-.4V144.4c5.2-.3 10.5-.4 16-.4h16V368H576zM384 160H48c-26.5 0-48 21.5-48 48v96c0 26.5 21.5 48 48 48H384s72 64 192 64h32c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32H576c-120 0-192 64-192 64zM248 232c-13.3 0-24 10.7-24 24s10.7 24 24 24h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H248z\"]\n};\nvar faFileJpg = {\n prefix: 'far',\n iconName: 'file-jpg',\n icon: [512, 512, [], \"e646\", \"M64 464H96v48H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3V288H336V160H256c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16zm144 48c-26.5 0-48-21.5-48-48V448c0-8.8 7.2-16 16-16s16 7.2 16 16v16c0 8.8 7.2 16 16 16s16-7.2 16-16V368c0-8.8 7.2-16 16-16s16 7.2 16 16v96c0 26.5-21.5 48-48 48zm96-160h32c30.9 0 56 25.1 56 56s-25.1 56-56 56H320v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V448 368c0-8.8 7.2-16 16-16zm32 80c13.3 0 24-10.7 24-24s-10.7-24-24-24H320v48h16zm80-40c0-22.1 17.9-40 40-40h16c22.1 0 40 17.9 40 40v8c0 8.8-7.2 16-16 16s-16-7.2-16-16v-8c0-4.4-3.6-8-8-8H456c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8v-8c-8.8 0-16-7.2-16-16s7.2-16 16-16h16c8.8 0 16 7.2 16 16v24c0 22.1-17.9 40-40 40H456c-22.1 0-40-17.9-40-40V392z\"]\n};\nvar faGroupArrowsRotate = {\n prefix: 'far',\n iconName: 'group-arrows-rotate',\n icon: [512, 512, [], \"e4f6\", \"M215 34.4c3.8 12.7-3.5 26.1-16.2 29.8c-14.2 4.2-27.8 10-40.5 17.1C159.4 86.1 160 91 160 96c0 35.3-28.7 64-64 64c-5 0-9.9-.6-14.6-1.7c-7.1 12.7-12.9 26.3-17.1 40.5c-3.8 12.7-17.1 19.9-29.8 16.2s-19.9-17.1-16.2-29.8c5.7-19.3 13.8-37.7 23.8-54.7C35.7 120.5 32 108.7 32 96c0-35.3 28.7-64 64-64c12.7 0 24.5 3.7 34.5 10.1c17-10 35.4-18 54.7-23.8c12.7-3.8 26.1 3.5 29.8 16.2zm82 0c3.8-12.7 17.1-19.9 29.8-16.2c19.3 5.7 37.7 13.8 54.7 23.8C391.5 35.7 403.3 32 416 32c35.3 0 64 28.7 64 64c0 12.7-3.7 24.5-10.1 34.5c10 17 18 35.4 23.8 54.7c3.8 12.7-3.5 26.1-16.2 29.8s-26.1-3.5-29.8-16.2c-4.2-14.2-10-27.8-17.1-40.5c-4.7 1.1-9.6 1.7-14.6 1.7c-35.3 0-64-28.7-64-64c0-5 .6-9.9 1.7-14.6c-12.7-7.1-26.3-12.9-40.5-17.1c-12.7-3.8-19.9-17.1-16.2-29.8zM34.4 297c12.7-3.8 26.1 3.5 29.8 16.2c4.2 14.2 10 27.8 17.1 40.5C86.1 352.6 91 352 96 352c35.3 0 64 28.7 64 64c0 5-.6 9.9-1.7 14.6c12.7 7.1 26.3 12.9 40.5 17.1c12.7 3.8 19.9 17.1 16.2 29.8s-17.1 19.9-29.8 16.2c-19.3-5.8-37.7-13.8-54.7-23.8c-10 6.4-21.8 10.1-34.5 10.1c-35.3 0-64-28.7-64-64c0-12.7 3.7-24.5 10.1-34.5c-10-17-18-35.4-23.8-54.7c-3.8-12.7 3.5-26.1 16.2-29.8zm443.1 0c12.7 3.8 19.9 17.1 16.2 29.8c-5.8 19.3-13.8 37.6-23.8 54.7c6.4 10 10.1 21.8 10.1 34.5c0 35.3-28.7 64-64 64c-12.7 0-24.5-3.7-34.5-10.1c-17 10-35.4 18-54.7 23.8c-12.7 3.8-26.1-3.5-29.8-16.2s3.5-26.1 16.2-29.8c14.2-4.2 27.8-10 40.5-17.1c-1.1-4.7-1.7-9.6-1.7-14.6c0-35.3 28.7-64 64-64c5 0 9.9 .6 14.6 1.7c7.1-12.7 12.9-26.3 17.1-40.5c3.8-12.7 17.1-19.9 29.8-16.2zM112 96A16 16 0 1 0 80 96a16 16 0 1 0 32 0zM96 432a16 16 0 1 0 0-32 16 16 0 1 0 0 32zM432 96a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM416 432a16 16 0 1 0 0-32 16 16 0 1 0 0 32zM192.8 256.8c0 24.8 14.1 46.4 34.9 57c11.8 6 16.5 20.5 10.4 32.3s-20.5 16.5-32.3 10.4c-36.2-18.5-61.1-56.2-61.1-99.8c0-28.9 11-55.2 28.9-75.1l-11.2-11.2c-6.6-6.6-1.9-17.8 7.4-17.8h60.5c5.7 0 10.4 4.7 10.4 10.4v60.5c0 9.3-11.2 13.9-17.8 7.4l-15.3-15.3c-9.3 11.1-14.9 25.4-14.9 41.1zm93.1-58.6c-11.8-6-16.5-20.5-10.4-32.3s20.5-16.5 32.3-10.4c36.2 18.5 61.1 56.2 61.1 99.8c0 28.9-11 55.2-28.9 75.1L351 341.5c6.6 6.6 1.9 17.8-7.4 17.8H283.2c-5.7 0-10.4-4.7-10.4-10.4V288.3c0-9.3 11.2-13.9 17.8-7.4l15.3 15.3c9.3-11.1 14.9-25.4 14.9-41.1c0-24.8-14.1-46.4-34.9-57z\"]\n};\nvar faBowlFood = {\n prefix: 'far',\n iconName: 'bowl-food',\n icon: [512, 512, [], \"e4c6\", \"M0 192c0 11.7 3.1 22.6 8.6 32H503.4c5.4-9.4 8.6-20.3 8.6-32c0-35.3-28.7-64-64-64c-.5 0-1.1 0-1.6 0C439 91.5 406.7 64 368 64c-15 0-29 4.1-40.9 11.2C313.8 49.6 286.9 32 256 32s-57.8 17.6-71.1 43.2C173 68.1 159 64 144 64c-38.7 0-71 27.5-78.4 64c-.5 0-1.1 0-1.6 0c-35.3 0-64 28.7-64 64zM144.7 420.6c-4-13.5-13.8-24.6-26.8-30.3C82.7 374.9 56.7 342.7 49.8 304H462.2c-6.9 38.7-32.9 70.9-68.1 86.3c-12.9 5.7-22.7 16.7-26.8 30.3c-2 6.6-8.2 11.4-15.3 11.4H160c-7.2 0-13.4-4.8-15.3-11.4zM27.4 256C12.3 256 0 268.3 0 283.4c0 67.4 40.6 125.4 98.6 150.8C106.5 460.7 131 480 160 480H352c29 0 53.5-19.3 61.4-45.7c58.1-25.4 98.6-83.4 98.6-150.8c0-15.1-12.3-27.4-27.4-27.4H27.4z\"]\n};\nvar faSquare9 = {\n prefix: 'far',\n iconName: 'square-9',\n icon: [448, 512, [], \"e25e\", \"M384 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM224 272a48 48 0 1 1 0-96 48 48 0 1 1 0 96zm-26 44.4l-29.6 25.4c-10.1 8.6-11.2 23.8-2.6 33.8s23.8 11.2 33.8 2.6l81.6-70C305.8 287.2 320 256.4 320 224c0-53-43-96-96-96s-96 43-96 96c0 44 29.6 81.1 70 92.4z\"]\n};\nvar faCandyCane = {\n prefix: 'far',\n iconName: 'candy-cane',\n icon: [512, 512, [], \"f786\", \"M343 82.3c5.8-1.5 11.9-2.3 18-2.3c13.8 0 26.7 3.9 37.6 10.8l23-23C404.6 55.3 383.6 48 361 48c-9.6 0-19 1.3-28.1 3.9L343 82.3zm78.3 31.1c6.8 10.9 10.8 23.8 10.8 37.6v5.6c0 3.5-.2 6.9-.7 10.3l30.7 10.2c1.3-6.7 1.9-13.6 1.9-20.5V151c0-22.7-7.3-43.6-19.7-60.7l-23 23zm30.2 93.9L420.5 197c-6.1 9.8-14.4 18.3-24.5 24.6l-51.2 32L375 272.5l37.9-23.7c16.5-10.3 29.7-24.7 38.5-41.4zm-106.6 84l-30.2-18.9-77 48.1 30.2 18.9 77-48.1zm-107.2 67l-30.2-18.9-73 45.6L164.6 404l73-45.6zM134.4 422.9L104.2 404 55.5 434.4c-7.5 4.7-9.8 14.6-5.1 22s14.6 9.8 22 5.1l61.9-38.7zM303.6 65.4l-24.1 15c-7.5 4.7-9.8 14.6-5.1 22s14.6 9.8 22 5.1l17.5-11L303.6 65.4zM361 128c-4.3 0-8.6 1.2-12.2 3.5l-26.8 16.8c-30 18.7-69.5 9.6-88.2-20.4s-9.6-69.5 20.4-88.2L280.9 23C304.9 8 332.7 0 361 0c83.4 0 151 67.6 151 151v5.6c0 54-27.8 104.2-73.6 132.8L97.9 502.3c-30 18.7-69.5 9.6-88.2-20.4s-9.6-69.5 20.4-88.2L370.5 180.9c8.4-5.2 13.5-14.4 13.5-24.3V151c0-12.7-10.3-23-23-23z\"]\n};\nvar faArrowDownWideShort = {\n prefix: 'far',\n iconName: 'arrow-down-wide-short',\n icon: [576, 512, [\"sort-amount-asc\", \"sort-amount-down\"], \"f160\", \"M15 377l96 96c9.4 9.4 24.6 9.4 33.9 0l96-96c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-55 55V56c0-13.3-10.7-24-24-24s-24 10.7-24 24V398.1L49 343c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9zM312 480h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H312c-13.3 0-24 10.7-24 24s10.7 24 24 24zm0-128H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H312c-13.3 0-24 10.7-24 24s10.7 24 24 24zm0-128H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H312c-13.3 0-24 10.7-24 24s10.7 24 24 24zm0-128H552c13.3 0 24-10.7 24-24s-10.7-24-24-24H312c-13.3 0-24 10.7-24 24s10.7 24 24 24z\"]\n};\nvar faSortAmountAsc = faArrowDownWideShort;\nvar faSortAmountDown = faArrowDownWideShort;\nvar faSquareDollar = {\n prefix: 'far',\n iconName: 'square-dollar',\n icon: [448, 512, [\"dollar-square\", \"usd-square\"], \"f2e9\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm244.8 37.6v14.2c9.7 1.2 19.4 3.9 29 6.6c1.9 .5 3.7 1 5.6 1.6c11.5 3.2 18.3 15.1 15.1 26.6s-15.1 18.2-26.6 15.1c-1.6-.4-3.1-.9-4.7-1.3c-7-2-14-3.9-21.1-5.3c-13.2-2.5-28.5-1.3-40.8 4c-11 4.8-20.1 16.4-7.6 24.4c9.8 6.3 21.8 9.5 33.2 12.6c2.4 .6 4.7 1.3 7 1.9c15.6 4.4 35.5 10.1 50.4 20.3c19.4 13.3 28.5 34.9 24.2 58.1c-4.1 22.4-19.7 37.1-38.4 44.7c-7.8 3.2-16.3 5.2-25.2 6.2l0 15.2c0 11.9-9.7 21.6-21.6 21.6s-21.6-9.7-21.6-21.6l0-17.4c-14.5-3.3-28.7-7.9-42.8-12.5c-11.3-3.7-17.5-16-13.7-27.3s16-17.5 27.3-13.7c2.5 .8 5 1.7 7.5 2.5c11.3 3.8 22.9 7.7 34.5 9.6c17 2.5 30.6 1 39.5-2.6c12-4.8 17.7-19.1 5.9-27.1c-10.1-6.9-22.6-10.3-34.5-13.5c-2.3-.6-4.5-1.2-6.8-1.9c-15.1-4.3-34-9.6-48.2-18.7c-19.5-12.5-29.4-33.3-25.2-56.4c4-21.8 21-36.3 39-44.1c5.5-2.4 11.4-4.3 17.5-5.7V133.6c0-11.9 9.7-21.6 21.6-21.6s21.6 9.7 21.6 21.6z\"]\n};\nvar faDollarSquare = faSquareDollar;\nvar faUsdSquare = faSquareDollar;\nvar faPhoneArrowRight = {\n prefix: 'far',\n iconName: 'phone-arrow-right',\n icon: [512, 512, [], \"e5be\", \"M329 286.7c11.3-13.8 30.3-18.5 46.7-11.4l112 48c17.6 7.5 27.4 26.5 23.4 45.1l-24 112c-4 18.4-20.3 31.6-39.1 31.6l0 0c-6.1 0-12.2-.1-18.2-.4l-.1 0 0 0c-10-.4-19.8-1.1-29.6-2.2C175.2 485.6 0 295.2 0 64v0C0 45.1 13.2 28.8 31.6 24.9l112-24c18.7-4 37.6 5.8 45.1 23.4l48 112c7 16.4 2.4 35.4-11.4 46.7l-40.6 33.2c26.7 46 65.1 84.4 111.1 111.1L329 286.7zm133.8 78.1l-100.4-43L333 357.6c-14.9 18.2-40.8 22.9-61.2 11.1c-53.3-30.9-97.7-75.3-128.6-128.6c-11.8-20.4-7.1-46.3 11.1-61.2l35.9-29.4-43-100.4L48.1 70.5C51.5 286.2 225.8 460.5 441.5 464l21.3-99.2zM425 7l80 80c9.4 9.4 9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l39-39H312c-13.3 0-24-10.7-24-24s10.7-24 24-24H430.1L391 41c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0z\"]\n};\nvar faHandHoldingSeedling = {\n prefix: 'far',\n iconName: 'hand-holding-seedling',\n icon: [576, 512, [], \"f4bf\", \"M115.6 0C96 0 80 16 80 35.6C80 113.2 142.8 176 220.4 176H264v80c0 13.3 10.7 24 24 24s24-10.7 24-24V152C312 68.1 243.9 0 160 0H115.6zM160 48c49.2 0 90.4 34.1 101.2 80H220.4c-46.8 0-85.5-34.8-91.5-80H160zm5.2 310.7c6.6-4.4 14.3-6.7 22.2-6.7H344c8.8 0 16 7.2 16 16s-7.2 16-16 16H320 256c-13.3 0-24 10.7-24 24s10.7 24 24 24h64 24 48c4.4 0 8.8-1.2 12.6-3.6l93.5-57.5c3.1-1.9 6.7-2.9 10.3-2.9h7.4c6.8 0 12.3 5.5 12.3 12.3c0 4.2-2.1 8-5.6 10.3l-95.6 61.9C415.1 460 401.5 464 387.7 464H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H387.7c23.1 0 45.8-6.7 65.2-19.3l95.6-61.9c17.2-11.1 27.5-30.2 27.5-50.6c0-33.3-27-60.3-60.3-60.3h-7.4c-12.5 0-24.8 3.5-35.5 10L408 370c0-.7 0-1.3 0-2c0-35.3-28.7-64-64-64H187.4c-17.4 0-34.4 5.1-48.8 14.8L64.7 368H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H72c4.7 0 9.4-1.4 13.3-4l79.9-53.3zM355.6 176C433.2 176 496 113.2 496 35.6C496 16 480 0 460.4 0H416c-41.7 0-79.5 16.8-107 44c10 13.8 18.1 29 24 45.2C352 64.2 382.1 48 416 48h31.2c-6 45.2-44.7 80-91.5 80H342.4c1 7.9 1.6 15.9 1.6 24v24h11.6z\"]\n};\nvar faMessageCheck = {\n prefix: 'far',\n iconName: 'message-check',\n icon: [512, 512, [\"comment-alt-check\"], \"f4a2\", \"M208 416c0-26.5-21.5-48-48-48H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H448c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H309.3c-10.4 0-20.5 3.4-28.8 9.6L208 432V416zm-.2 76.2l.2-.2 101.3-76H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h48 48v48 4 .3 6.4V496c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L202.7 496l5.1-3.8zM369 153c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-111 111-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L369 153z\"]\n};\nvar faCommentAltCheck = faMessageCheck;\nvar faCloudBolt = {\n prefix: 'far',\n iconName: 'cloud-bolt',\n icon: [512, 512, [127785, \"thunderstorm\"], \"f76c\", \"M184 48c-39.8 0-72 32.2-72 72c0 2.6 .1 5.2 .4 7.7c1.3 12-6.6 23.1-18.3 25.9C67.6 159.9 48 183.7 48 212c0 32.2 25.3 58.4 57.1 59.9c.3 0 .7 0 1 .1H108h95.2l-60 48H108h-4c-1.2 0-2.4-.1-3.5-.3C44.3 315.9 0 269.1 0 212c0-44.1 26.4-81.9 64.2-98.7C67.7 50.1 120 0 184 0c33.9 0 64.5 14.1 86.3 36.6C285.1 28.6 302 24 320 24c46.9 0 86.5 31 99.5 73.7C472.1 106.9 512 152.8 512 208c0 61.9-50.1 112-112 112H352 333.7l24-48H400c35.3 0 64-28.7 64-64s-28.6-64-64-64h0l-.3 0c-12.4 0-22.7-9.3-23.9-21.6C372.9 94.1 349 72 320 72c-14.7 0-28.1 5.7-38.1 15c-5.3 4.9-12.4 7.2-19.5 6.2s-13.4-5-17.2-11.1C232.5 61.6 209.8 48 184 48zM330.1 227.6c5.8 4.7 7.6 12.9 4.3 19.6L281.9 352H352c6.8 0 12.8 4.3 15.1 10.7s.2 13.5-5.1 17.8l-160 128c-5.9 4.7-14.2 4.7-20.1-.1s-7.6-12.9-4.3-19.6L230.1 384H160c-6.8 0-12.8-4.3-15.1-10.7s-.2-13.5 5.1-17.8l160-128c5.9-4.7 14.2-4.7 20.1 .1z\"]\n};\nvar faThunderstorm = faCloudBolt;\nvar faChartLineUpDown = {\n prefix: 'far',\n iconName: 'chart-line-up-down',\n icon: [512, 512, [], \"e5d7\", \"M24 32c13.3 0 24 10.7 24 24V408c0 13.3 10.7 24 24 24H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H72c-39.8 0-72-32.2-72-72V56C0 42.7 10.7 32 24 32zm352 80c-13.3 0-24-10.7-24-24s10.7-24 24-24h80c6.4 0 12.5 2.5 17 7s7 10.6 7 17l0 80c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-22.1L305 273c-9.4 9.4-24.6 9.4-33.9 0l-63-63-63 63c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l80-80c9.4-9.4 24.6-9.4 33.9 0l63 63L398.1 112H376zm0 272c-13.3 0-24-10.7-24-24s10.7-24 24-24h22.1l-47-47L385 255l47 47 0-22.1c0-13.3 10.7-24 24-24s24 10.7 24 24l0 80c0 6.4-2.5 12.5-7 17s-10.6 7-17 7H376z\"]\n};\nvar faTextSlash = {\n prefix: 'far',\n iconName: 'text-slash',\n icon: [640, 512, [\"remove-format\"], \"f87d\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-281.9-221L396.4 80H521.3l-8.5 34.2c-3.2 12.9 4.6 25.9 17.5 29.1s25.9-4.6 29.1-17.5l11-44.1C576.6 56.5 557.5 32 531.5 32h-335c-18.4 0-34.4 12.5-38.8 30.3l-7.5 30.1L38.8 5.1zM191.5 124.8L202.7 80H346.5L308.1 216.2 191.5 124.8zm129 223.7l-40.8-32.1L248.9 425.5l-1.8 6.5H192c-13.3 0-24 10.7-24 24s10.7 24 24 24H352c13.3 0 24-10.7 24-24s-10.7-24-24-24H296.9l23.6-83.5z\"]\n};\nvar faRemoveFormat = faTextSlash;\nvar faWatch = {\n prefix: 'far',\n iconName: 'watch',\n icon: [384, 512, [8986], \"f2e1\", \"M112 0C85.5 0 64 21.5 64 48v64h1C25.1 147.2 0 198.7 0 256s25.1 108.8 65 144H64v64c0 26.5 21.5 48 48 48H272c26.5 0 48-21.5 48-48V400h-1c39.9-35.2 65-86.7 65-144s-25.1-108.8-65-144h1V48c0-26.5-21.5-48-48-48H112zM48 256a144 144 0 1 1 288 0A144 144 0 1 1 48 256zm168-80c0-13.3-10.7-24-24-24s-24 10.7-24 24v80c0 8 4 15.5 10.7 20l48 32c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L216 243.2V176z\"]\n};\nvar faCircleDownLeft = {\n prefix: 'far',\n iconName: 'circle-down-left',\n icon: [512, 512, [], \"e107\", \"M256 48a208 208 0 1 0 0 416 208 208 0 1 0 0-416zm0 464A256 256 0 1 1 256 0a256 256 0 1 1 0 512zM160 198.6c0-12.5 10.1-22.6 22.6-22.6c6 0 11.8 2.4 16 6.6L232 216l66.3-66.3c3.6-3.6 8.5-5.7 13.7-5.7s10 2 13.7 5.7l36.7 36.7c3.6 3.6 5.7 8.5 5.7 13.7s-2 10-5.7 13.7L296 280l33.4 33.4c4.2 4.2 6.6 10 6.6 16c0 12.5-10.1 22.6-22.6 22.6H176c-8.8 0-16-7.2-16-16V198.6z\"]\n};\nvar faText = {\n prefix: 'far',\n iconName: 'text',\n icon: [448, 512, [], \"f893\", \"M48 80v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V72C0 49.9 17.9 32 40 32H408c22.1 0 40 17.9 40 40v56c0 13.3-10.7 24-24 24s-24-10.7-24-24V80H248l0 352h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24s10.7-24 24-24h48l0-352H48z\"]\n};\nvar faProjector = {\n prefix: 'far',\n iconName: 'projector',\n icon: [640, 512, [], \"f8d6\", \"M424 24c0-13.3-10.7-24-24-24s-24 10.7-24 24v80c0 13.3 10.7 24 24 24s24-10.7 24-24V24zM265 39c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l56 56c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L265 39zM569 73c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L479 95c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l56-56zM288 320a112 112 0 1 1 224 0 112 112 0 1 1 -224 0zm272 0c0-29.1-7.8-56.5-21.4-80H576c8.8 0 16 7.2 16 16V384c0 8.8-7.2 16-16 16H538.6c13.6-23.5 21.4-50.9 21.4-80zM400 480c36 0 69.3-11.9 96-32h16v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448h16c35.3 0 64-28.7 64-64V256c0-35.3-28.7-64-64-64H496c-26.7-20.1-60-32-96-32s-69.3 11.9-96 32H64c-35.3 0-64 28.7-64 64V384c0 35.3 28.7 64 64 64H80v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448H304c26.7 20.1 60 32 96 32zM240 320c0 29.1 7.8 56.5 21.4 80H64c-8.8 0-16-7.2-16-16V256c0-8.8 7.2-16 16-16H261.4c-13.6 23.5-21.4 50.9-21.4 80zm-112 0a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm56 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faFaceSmileWink = {\n prefix: 'far',\n iconName: 'face-smile-wink',\n icon: [512, 512, [128521, \"smile-wink\"], \"f4da\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm177.6 62.1C192.8 334.5 218.8 352 256 352s63.2-17.5 78.4-33.9c9-9.7 24.2-10.4 33.9-1.4s10.4 24.2 1.4 33.9c-22 23.8-60 49.4-113.6 49.4s-91.7-25.5-113.6-49.4c-9-9.7-8.4-24.9 1.4-33.9s24.9-8.4 33.9 1.4zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm165.8 21.7c-7.6 8.1-20.2 8.5-28.3 .9s-8.5-20.2-.9-28.3c14.5-15.5 35.2-22.3 54.6-22.3s40.1 6.8 54.6 22.3c7.6 8.1 7.1 20.7-.9 28.3s-20.7 7.1-28.3-.9c-5.5-5.8-14.8-9.7-25.4-9.7s-19.9 3.8-25.4 9.7z\"]\n};\nvar faSmileWink = faFaceSmileWink;\nvar faTombstoneBlank = {\n prefix: 'far',\n iconName: 'tombstone-blank',\n icon: [448, 512, [129702, \"tombstone-alt\"], \"f721\", \"M368 192V432h48V192C416 86 330 0 224 0S32 86 32 192V432H80V192c0-79.5 64.5-144 144-144s144 64.5 144 144zM24 464c-13.3 0-24 10.7-24 24s10.7 24 24 24H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H24z\"]\n};\nvar faTombstoneAlt = faTombstoneBlank;\nvar faChessKingPiece = {\n prefix: 'far',\n iconName: 'chess-king-piece',\n icon: [256, 512, [\"chess-king-alt\"], \"f440\", \"M144 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V32H96c-8.8 0-16 7.2-16 16s7.2 16 16 16h16V96H66.9C43.2 96 24 115.2 24 138.9c0 4.7 .8 9.4 2.3 13.8l19.6 57.5C37.7 214.1 32 222.4 32 232c0 11.6 8.2 21.3 19.2 23.5L49.1 352h48l2.1-96h57.6l2.1 96h48l-2.1-96.5c10.9-2.2 19.2-11.9 19.2-23.5c0-9.6-5.7-17.9-13.9-21.8l19.6-57.5c1.5-4.5 2.3-9.1 2.3-13.8c0-23.7-19.2-42.9-42.9-42.9H144V64h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H144V16zm16.2 192H95.8L74 144H182l-21.8 64zm-91 224H186.8l16.6 32H52.7l16.6-32zm-9.7-48c-12 0-22.9 6.7-28.4 17.3L4.6 452.5c-3 5.8-4.6 12.2-4.6 18.7C0 493.8 18.2 512 40.8 512H215.2c22.5 0 40.8-18.2 40.8-40.8c0-6.5-1.6-12.9-4.6-18.7l-26.5-51.2c-5.5-10.6-16.5-17.3-28.4-17.3H59.5z\"]\n};\nvar faChessKingAlt = faChessKingPiece;\nvar faCircle6 = {\n prefix: 'far',\n iconName: 'circle-6',\n icon: [512, 512, [], \"e0f3\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256 80a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-96-48c0-32.4 14.2-63.2 38.8-84.3l81.6-70c10.1-8.6 25.2-7.5 33.8 2.6s7.5 25.2-2.6 33.8L282 195.6c40.4 11.4 70 48.4 70 92.4c0 53-43 96-96 96s-96-43-96-96z\"]\n};\nvar faWavesSine = {\n prefix: 'far',\n iconName: 'waves-sine',\n icon: [640, 512, [], \"e65d\", \"M95.9 381.1c12.7-21.1 23.5-46.7 33.7-75c7.4 22 15.6 44.7 24.9 66.4c-5.4 11.8-11.2 23-17.5 33.4C112.4 446.8 77.2 480 24 480c-13.3 0-24-10.7-24-24s10.7-24 24-24c29 0 51.3-16.8 71.9-50.9zM248.1 130.9c-12.7 21.1-23.5 46.7-33.7 75c-7.4-22-15.6-44.7-24.9-66.4c5.4-11.8 11.2-23 17.5-33.4C231.6 65.2 266.8 32 320 32s88.4 33.2 113 74.1c24 39.8 41.2 91.9 57.2 140.7l0 0 0 0 .6 1.7c16.7 50.8 32.4 97.9 53.3 132.6C564.7 415.2 587 432 616 432c13.3 0 24 10.7 24 24s-10.7 24-24 24c-53.2 0-88.4-33.2-113-74.1c-24-39.8-41.2-91.9-57.2-140.7l-.6-1.7c-16.7-50.8-32.4-97.9-53.3-132.6C371.3 96.8 349 80 320 80s-51.3 16.8-71.9 50.9zM391.9 381.1c12.7-21.1 23.5-46.7 33.7-75c7.4 22 15.6 44.7 24.9 66.4c-5.4 11.8-11.2 23-17.5 33.4C408.4 446.8 373.2 480 320 480s-88.4-33.2-113-74.1c-24-39.8-41.2-91.9-57.2-140.7l-.6-1.7c-16.7-50.8-32.4-97.9-53.3-132.6C75.3 96.8 53 80 24 80C10.7 80 0 69.3 0 56S10.7 32 24 32c53.2 0 88.4 33.2 113 74.1c24 39.8 41.2 91.9 57.2 140.7l.6 1.7c16.7 50.8 32.4 97.9 53.3 132.6C268.7 415.2 291 432 320 432s51.3-16.8 71.9-50.9zM544.1 130.9c-12.7 21.1-23.5 46.7-33.7 75c-7.4-22-15.6-44.7-24.9-66.4c5.4-11.8 11.2-23 17.5-33.4C527.6 65.2 562.8 32 616 32c13.3 0 24 10.7 24 24s-10.7 24-24 24c-29 0-51.3 16.8-71.9 50.9z\"]\n};\nvar faLeft = {\n prefix: 'far',\n iconName: 'left',\n icon: [448, 512, [\"arrow-alt-left\"], \"f355\", \"M50.4 256L200.3 113.3c.8-.8 2-1.3 3.2-1.3c2.5 0 4.6 2 4.6 4.6l0 83.4c0 13.3 10.7 24 24 24l168 0 0 64-168 0c-13.3 0-24 10.7-24 24l0 83.4c0 2.5-2 4.6-4.6 4.6c-1.2 0-2.3-.5-3.2-1.3L50.4 256zm153-192c-13.5 0-26.5 5.2-36.3 14.5L13.2 225.1C4.8 233.2 0 244.3 0 256s4.8 22.8 13.2 30.9L167.2 433.5c9.8 9.3 22.8 14.5 36.3 14.5c29 0 52.6-23.5 52.6-52.6l0-59.4 144 0c26.5 0 48-21.5 48-48l0-64c0-26.5-21.5-48-48-48l-144 0 0-59.4c0-29-23.5-52.6-52.6-52.6z\"]\n};\nvar faArrowAltLeft = faLeft;\nvar faFileWord = {\n prefix: 'far',\n iconName: 'file-word',\n icon: [384, 512, [], \"f1c2\", \"M48 448V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zm55 241.1c-3.8-12.7-17.2-19.9-29.9-16.1s-19.9 17.2-16.1 29.9l48 160c3 10.2 12.4 17.1 23 17.1s19.9-7 23-17.1l25-83.4 25 83.4c3 10.2 12.4 17.1 23 17.1s19.9-7 23-17.1l48-160c3.8-12.7-3.4-26.1-16.1-29.9s-26.1 3.4-29.9 16.1l-25 83.4-25-83.4c-3-10.2-12.4-17.1-23-17.1s-19.9 7-23 17.1l-25 83.4-25-83.4z\"]\n};\nvar faFilePowerpoint = {\n prefix: 'far',\n iconName: 'file-powerpoint',\n icon: [384, 512, [], \"f1c4\", \"M64 464c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zm72 208c-13.3 0-24 10.7-24 24V336v56c0 13.3 10.7 24 24 24s24-10.7 24-24V360h44c42 0 76-34 76-76s-34-76-76-76H136zm68 104H160V256h44c15.5 0 28 12.5 28 28s-12.5 28-28 28z\"]\n};\nvar faSquareDown = {\n prefix: 'far',\n iconName: 'square-down',\n icon: [448, 512, [11015, \"arrow-alt-square-down\"], \"f350\", \"M400 416l0-320c0-8.8-7.2-16-16-16L64 80c-8.8 0-16 7.2-16 16l0 320c0 8.8 7.2 16 16 16l320 0c8.8 0 16-7.2 16-16zm48 0c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64l0 320zM328.8 294.6l-91 84c-3.8 3.5-8.7 5.4-13.9 5.4s-10.1-1.9-13.9-5.4l-91-84c-4.6-4.2-7.2-10.1-7.2-16.4c0-12.3 10-22.3 22.3-22.3H176V160c0-17.7 14.3-32 32-32l32 0c17.7 0 32 14.3 32 32v96h41.7c12.3 0 22.3 10 22.3 22.3c0 6.2-2.6 12.1-7.2 16.4z\"]\n};\nvar faArrowAltSquareDown = faSquareDown;\nvar faObjectsAlignCenterVertical = {\n prefix: 'far',\n iconName: 'objects-align-center-vertical',\n icon: [512, 512, [], \"e3bd\", \"M112 80V432h64V80H112zM64 80c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48V232h64V144c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48v88h40c13.3 0 24 10.7 24 24s-10.7 24-24 24H448v88c0 26.5-21.5 48-48 48H336c-26.5 0-48-21.5-48-48V280H224V432c0 26.5-21.5 48-48 48H112c-26.5 0-48-21.5-48-48V280H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H64V80zm272 64V368h64V144H336z\"]\n};\nvar faArrowsLeftRight = {\n prefix: 'far',\n iconName: 'arrows-left-right',\n icon: [512, 512, [\"arrows-h\"], \"f07e\", \"M505 273c9.4-9.4 9.4-24.6 0-33.9l-96-96c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l55 55L81.9 232l55-55c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L7 239c-9.4 9.4-9.4 24.6 0 33.9l96 96c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-55-55 348.1 0-55 55c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l96-96z\"]\n};\nvar faArrowsH = faArrowsLeftRight;\nvar faHouseLock = {\n prefix: 'far',\n iconName: 'house-lock',\n icon: [640, 512, [], \"e510\", \"M272.5 5.7c9-7.6 22.1-7.6 31.1 0L492.2 165.8c-16.3 5.5-31 14.7-43 26.5L288 55.5 112 204.8V432c0 17.7 14.3 32 32 32h48V312c0-22.1 17.9-40 40-40H344c22.1 0 40 17.9 40 40V464h0v16c0 11.7 3.1 22.6 8.6 32H144c-44.2 0-80-35.8-80-80V245.5L39.5 266.3c-10.1 8.6-25.3 7.3-33.8-2.8s-7.3-25.3 2.8-33.8l264-224zM240 464h96V320H240V464zM528 240c-17.7 0-32 14.3-32 32v48h64V272c0-17.7-14.3-32-32-32zm-80 32c0-44.2 35.8-80 80-80s80 35.8 80 80v48c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H448c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32V272z\"]\n};\nvar faCloudArrowDown = {\n prefix: 'far',\n iconName: 'cloud-arrow-down',\n icon: [640, 512, [62337, \"cloud-download\", \"cloud-download-alt\"], \"f0ed\", \"M354.9 121.7c13.8 16 36.5 21.1 55.9 12.5c8.9-3.9 18.7-6.2 29.2-6.2c39.8 0 72 32.2 72 72c0 4-.3 7.9-.9 11.7c-3.5 21.6 8.1 42.9 28.1 51.7C570.4 276.9 592 308 592 344c0 46.8-36.6 85.2-82.8 87.8c-.6 0-1.3 .1-1.9 .2H504 144c-53 0-96-43-96-96c0-41.7 26.6-77.3 64-90.5c19.2-6.8 32-24.9 32-45.3l0-.2v0 0c0-66.3 53.7-120 120-120c36.3 0 68.8 16.1 90.9 41.7zM512 480v-.2c71.4-4.1 128-63.3 128-135.8c0-55.7-33.5-103.7-81.5-124.7c1-6.3 1.5-12.8 1.5-19.3c0-66.3-53.7-120-120-120c-17.4 0-33.8 3.7-48.7 10.3C360.4 54.6 314.9 32 264 32C171.2 32 96 107.2 96 200l0 .2C40.1 220 0 273.3 0 336c0 79.5 64.5 144 144 144H464h40 8zM223 313l80 80c9.4 9.4 24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-39 39V184c0-13.3-10.7-24-24-24s-24 10.7-24 24V318.1l-39-39c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9z\"]\n};\nvar faCloudDownload = faCloudArrowDown;\nvar faCloudDownloadAlt = faCloudArrowDown;\nvar faWreath = {\n prefix: 'far',\n iconName: 'wreath',\n icon: [448, 512, [], \"f7e2\", \"M339.4 88.7c-24.5 7.3-50.4-5.9-58.9-30c-2.2-6.3-8.2-10.7-15.1-10.7c-4 0-7.5 1.4-10.3 3.8c-17.9 15.2-44.2 15.2-62.1 0c-2.8-2.4-6.3-3.8-10.3-3.8c-6.9 0-12.9 4.4-15.1 10.7c-8.5 24.1-34.4 37.3-58.9 30c-1.4-.4-2.9-.7-4.6-.7c-8.8 0-16 7.2-16 16c0 1.7 .2 3.2 .7 4.6c7.3 24.5-5.9 50.4-30 58.9c-6.3 2.2-10.7 8.2-10.7 15.1c0 4 1.4 7.5 3.8 10.3c15.2 17.9 15.2 44.2 0 62.2c-2.4 2.8-3.8 6.3-3.8 10.3c0 6.9 4.4 12.9 10.7 15.1c24.1 8.5 37.3 34.4 30 58.9c-.4 1.4-.7 2.9-.7 4.6c0 8.8 7.2 16 16 16c1.7 0 3.2-.2 4.6-.7c5.4-1.6 10.8-2.2 16.1-1.9c-17 8.5-28.7 26.1-28.7 46.4v3.7c-31.6-3.9-56-30.9-56-63.5c0-6.3 .9-12.5 2.6-18.2C17.8 317 0 293.3 0 265.4c0-15.8 5.7-30.2 15.2-41.4C5.7 212.8 0 198.4 0 182.6c0-27.9 17.8-51.6 42.6-60.3C40.9 116.5 40 110.3 40 104c0-35.3 28.7-64 64-64c6.3 0 12.5 .9 18.2 2.6C131 17.8 154.7 0 182.6 0c15.8 0 30.2 5.7 41.4 15.2C235.2 5.7 249.6 0 265.4 0c27.9 0 51.6 17.8 60.3 42.6c5.8-1.7 11.9-2.6 18.2-2.6c35.3 0 64 28.7 64 64c0 6.3-.9 12.5-2.6 18.2c24.8 8.8 42.6 32.5 42.6 60.3c0 15.8-5.7 30.2-15.2 41.4c9.5 11.2 15.2 25.6 15.2 41.4c0 27.9-17.8 51.6-42.6 60.3c1.7 5.8 2.6 11.9 2.6 18.2c0 32.6-24.4 59.6-56 63.5v-3.7c0-20.3-11.7-37.9-28.7-46.4c5.3-.3 10.8 .3 16.1 1.9c1.4 .4 2.9 .7 4.6 .7c8.8 0 16-7.2 16-16c0-1.7-.2-3.2-.7-4.6c-7.3-24.5 5.9-50.4 30-58.9c6.3-2.2 10.7-8.2 10.7-15.1c0-4-1.4-7.5-3.8-10.3c-15.2-17.9-15.2-44.2 0-62.2c2.4-2.8 3.8-6.3 3.8-10.3c0-6.9-4.4-12.9-10.7-15.1c-24.1-8.5-37.3-34.4-30-58.9c.4-1.4 .7-2.9 .7-4.6c0-8.8-7.2-16-16-16c-1.7 0-3.2 .2-4.6 .7zM128 492.2V403.8c0-10.9 8.9-19.8 19.8-19.8c2.8 0 5.5 .6 8 1.7L224 416l68.2-30.3c2.5-1.1 5.3-1.7 8-1.7c10.9 0 19.8 8.9 19.8 19.8v88.4c0 10.9-8.9 19.8-19.8 19.8c-2.8 0-5.5-.6-8-1.7L224 480l-68.2 30.3c-2.5 1.1-5.3 1.7-8 1.7c-10.9 0-19.8-8.9-19.8-19.8zm69.9-294.3c-2 9.3-5.6 18.2-10.8 26.1c5.2 8 8.9 16.8 10.8 26.1c9.3 2 18.2 5.6 26.1 10.8c8-5.2 16.8-8.9 26.1-10.8c2-9.3 5.6-18.2 10.8-26.1c-5.2-8-8.9-16.8-10.8-26.1c-4.7-1-9.3-2.4-13.7-4.2c-4.3-1.8-8.5-4-12.4-6.6c-8 5.2-16.8 8.9-26.1 10.8zm5.2-55.5c11.3-12.1 30.6-12.1 41.9 0c5.7 6 13.6 9.4 21.9 9.1c16.6-.6 30.2 13 29.6 29.6c-.3 8.3 3 16.3 9.1 21.9c12.1 11.3 12.1 30.6 0 41.9c-6 5.7-9.4 13.6-9.1 21.9c.6 16.6-13 30.2-29.6 29.6c-8.3-.3-16.3 3-21.9 9.1c-11.3 12.1-30.6 12.1-41.9 0c-5.7-6-13.6-9.4-21.9-9.1c-16.6 .6-30.2-13-29.6-29.6c.3-8.3-3-16.3-9.1-21.9c-12.1-11.3-12.1-30.6 0-41.9c6-5.7 9.4-13.6 9.1-21.9c-.6-16.6 13-30.2 29.6-29.6c8.3 .3 16.3-3 21.9-9.1z\"]\n};\nvar faChildren = {\n prefix: 'far',\n iconName: 'children',\n icon: [640, 512, [], \"e4e1\", \"M160 48a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0 96A72 72 0 1 0 160 0a72 72 0 1 0 0 144zm0 16c-34.6 0-67.3 16.2-88.2 43.8L12.9 281.5c-8 10.6-5.9 25.6 4.6 33.6s25.6 5.9 33.6-4.6l45.3-59.8L57.2 368.4c-2.4 7.3-1.2 15.4 3.3 21.6s11.8 10 19.5 10H96v88c0 13.3 10.7 24 24 24s24-10.7 24-24V400h32v88c0 13.3 10.7 24 24 24s24-10.7 24-24V400h16c7.7 0 15-3.7 19.5-10s5.7-14.3 3.3-21.6L223.5 250.7l45.3 59.8c8 10.6 23.1 12.6 33.6 4.6s12.6-23.1 4.6-33.6l-58.9-77.7C227.3 176.2 194.7 160 160 160zM113.3 352L160 211.9 206.7 352H113.3zM456 72a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm96 0A72 72 0 1 0 408 72a72 72 0 1 0 144 0zM480 208c5.5 0 10.9 .9 16 2.6V336H464V210.6c5.1-1.7 10.5-2.6 16-2.6zM464 488V384h32V488c0 13.3 10.7 24 24 24s24-10.7 24-24V264.8l27.7 44c7.1 11.2 21.9 14.6 33.1 7.5s14.6-21.9 7.5-33.1l-48.4-76.9C545.8 177.5 514.1 160 480 160s-65.8 17.5-83.9 46.3l-48.4 76.9c-7.1 11.2-3.7 26 7.5 33.1s26 3.7 33.1-7.5l27.7-44V488c0 13.3 10.7 24 24 24s24-10.7 24-24z\"]\n};\nvar faMeterDroplet = {\n prefix: 'far',\n iconName: 'meter-droplet',\n icon: [640, 512, [], \"e1ea\", \"M256 464c48.8 0 93.8-16.8 129.2-45c2.3 17.2 7.6 33.5 15.4 48.3C359.5 495.5 309.7 512 256 512C114.6 512 0 397.4 0 256S114.6 0 256 0C366.8 0 461.2 70.4 496.8 169c-8.5 5.3-15.7 12.9-20.6 22.1l-15.4 28.8C443.8 122.2 358.6 48 256 48C141.1 48 48 141.1 48 256s93.1 208 208 208zM192 152v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24s24 10.7 24 24zm88 0v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24s24 10.7 24 24zm88 0v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24s24 10.7 24 24zm136.5 54.1c4.6-8.7 13.7-14.1 23.5-14.1s18.9 5.4 23.5 14.1l75.3 141.2c8.7 16.2 13.2 34.3 13.2 52.7c0 61.9-50.1 112-112 112s-112-50.1-112-112c0-18.4 4.5-36.5 13.2-52.7l75.3-141.2z\"]\n};\nvar faChalkboard = {\n prefix: 'far',\n iconName: 'chalkboard',\n icon: [576, 512, [\"blackboard\"], \"f51b\", \"M80 88c0-4.4 3.6-8 8-8H488c4.4 0 8 3.6 8 8V400h48V88c0-30.9-25.1-56-56-56H88C57.1 32 32 57.1 32 88V400H80V88zM224 408v24H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H224h24H392h24H552c13.3 0 24-10.7 24-24s-10.7-24-24-24H416V408c0-30.9-25.1-56-56-56H280c-30.9 0-56 25.1-56 56zm144 0v24H272V408c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8z\"]\n};\nvar faBlackboard = faChalkboard;\nvar faUserLargeSlash = {\n prefix: 'far',\n iconName: 'user-large-slash',\n icon: [640, 512, [\"user-alt-slash\"], \"f4fa\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L381.9 274c48.5-23.2 82.1-72.7 82.1-130C464 64.5 399.5 0 320 0C250.4 0 192.4 49.3 178.9 114.9L38.8 5.1zM224.2 150.4c-.1-2.1-.2-4.3-.2-6.4c0-53 43-96 96-96s96 43 96 96c0 47.3-34.3 86.7-79.3 94.6L224.2 150.4zM545.5 512H528l-60.9-48H113.3c8.3-54.4 55.3-96 112-96H345.2l-60.9-48h-59C136.2 320 64 392.2 64 481.3c0 17 13.8 30.7 30.7 30.7H545.3l.3 0z\"]\n};\nvar faUserAltSlash = faUserLargeSlash;\nvar faSignalStrong = {\n prefix: 'far',\n iconName: 'signal-strong',\n icon: [640, 512, [\"signal-4\"], \"f68f\", \"M448 96c13.3 0 24 10.7 24 24V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V120c0-13.3 10.7-24 24-24zM320 192c13.3 0 24 10.7 24 24V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V216c0-13.3 10.7-24 24-24zM192 288c13.3 0 24 10.7 24 24V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V312c0-13.3 10.7-24 24-24zM64 384c13.3 0 24 10.7 24 24v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V408c0-13.3 10.7-24 24-24z\"]\n};\nvar faSignal4 = faSignalStrong;\nvar faLollipop = {\n prefix: 'far',\n iconName: 'lollipop',\n icon: [512, 512, [127853, \"lollypop\"], \"e424\", \"M210.8 334.8C265.3 314.2 304 261.6 304 200v-8c0-61.9-50.1-112-112-112S80 130.1 80 192c0 39.8 32.2 72 72 72s72-32.2 72-72v-8c0-13.3-10.7-24-24-24s-24 10.7-24 24v8c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-35.3 28.7-64 64-64s64 28.7 64 64v8c0 53-43 96-96 96h-8C94.6 296 48 249.4 48 192c0-79.5 64.5-144 144-144s144 64.5 144 144c0 73.2-54.6 133.6-125.2 142.8zM0 192C0 298 86 384 192 384c44.4 0 85.2-15 117.7-40.3L471 505c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L343.7 309.7C369 277.2 384 236.4 384 192C384 86 298 0 192 0S0 86 0 192z\"]\n};\nvar faLollypop = faLollipop;\nvar faListTree = {\n prefix: 'far',\n iconName: 'list-tree',\n icon: [512, 512, [], \"e1d2\", \"M24 48C10.7 48 0 58.7 0 72v48c0 13.3 10.7 24 24 24V256 384c0 30.9 25.1 56 56 56h48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V392c0-13.3-10.7-24-24-24H152c-13.3 0-24 10.7-24 24H80c-4.4 0-8-3.6-8-8V280h56c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V232c0-13.3-10.7-24-24-24H152c-13.3 0-24 10.7-24 24H72V144c13.3 0 24-10.7 24-24V72c0-13.3-10.7-24-24-24H24zM160 96c0 13.3 10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H184c-13.3 0-24 10.7-24 24zM288 256c0 13.3 10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H312c-13.3 0-24 10.7-24 24zm0 160c0 13.3 10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H312c-13.3 0-24 10.7-24 24z\"]\n};\nvar faEnvelopeOpen = {\n prefix: 'far',\n iconName: 'envelope-open',\n icon: [512, 512, [62135], \"f2b6\", \"M255.4 48.2c.2-.1 .4-.2 .6-.2s.4 .1 .6 .2L460.6 194c2.1 1.5 3.4 3.9 3.4 6.5v13.6L291.5 355.7c-20.7 17-50.4 17-71.1 0L48 214.1V200.5c0-2.6 1.2-5 3.4-6.5L255.4 48.2zM48 276.2L190 392.8c38.4 31.5 93.7 31.5 132 0L464 276.2V456c0 4.4-3.6 8-8 8H56c-4.4 0-8-3.6-8-8V276.2zM256 0c-10.2 0-20.2 3.2-28.5 9.1L23.5 154.9C8.7 165.4 0 182.4 0 200.5V456c0 30.9 25.1 56 56 56H456c30.9 0 56-25.1 56-56V200.5c0-18.1-8.7-35.1-23.4-45.6L284.5 9.1C276.2 3.2 266.2 0 256 0z\"]\n};\nvar faDrawCircle = {\n prefix: 'far',\n iconName: 'draw-circle',\n icon: [512, 512, [], \"f5ed\", \"M256 80a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm54.8 17.1C299.6 115.6 279.2 128 256 128s-43.6-12.4-54.8-30.9c-48.7 16.8-87.3 55.4-104.1 104.1C115.6 212.4 128 232.8 128 256s-12.4 43.6-30.9 54.8c16.8 48.7 55.4 87.3 104.1 104.1C212.4 396.4 232.8 384 256 384s43.6 12.4 54.8 30.9c48.7-16.8 87.3-55.4 104.1-104.1C396.4 299.6 384 279.2 384 256s12.4-43.6 30.9-54.8c-16.8-48.7-55.4-87.3-104.1-104.1zm152.1 96.6c28.2 6.7 49.1 32 49.1 62.3s-20.9 55.5-49.1 62.3c-20.8 69.2-75.4 123.8-144.6 144.6c-6.7 28.2-32 49.1-62.3 49.1s-55.5-20.9-62.3-49.1C124.5 442.1 69.9 387.5 49.1 318.3C20.9 311.5 0 286.2 0 256s20.9-55.5 49.1-62.3C69.9 124.5 124.5 69.9 193.7 49.1C200.5 20.9 225.8 0 256 0s55.5 20.9 62.3 49.1c69.2 20.8 123.8 75.4 144.6 144.6zM256 464a16 16 0 1 0 0-32 16 16 0 1 0 0 32zM80 256a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm368 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faCatSpace = {\n prefix: 'far',\n iconName: 'cat-space',\n icon: [640, 512, [], \"e001\", \"M464 304c70.7 0 128-57.3 128-128c0-32.5-12.1-62.1-32-84.7V176c0 53-43 96-96 96s-96-43-96-96V91.3c-19.9 22.6-32 52.2-32 84.7c0 70.7 57.3 128 128 128zM397.8 66.4l29.4 39.2c3 4 7.8 6.4 12.8 6.4h48c5 0 9.8-2.4 12.8-6.4l29.4-39.2C510.9 54.7 488.2 48 464 48s-46.9 6.7-66.2 18.4zM464 352v96c0 8.8 7.2 16 16 16s16-7.2 16-16V349.1c-10.4 1.9-21.1 2.9-32 2.9zM640 176c0 68.4-39 127.7-96 156.8V448c0 35.3-28.7 64-64 64s-64-28.7-64-64V394L336 441v23h24c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-48.6 0-88-39.4-88-88v-.1V184.5c0-20.2-15-37.2-35-39.7l-7.9-1c-13.2-1.6-22.5-13.6-20.8-26.8S45.8 94.5 59 96.2l7.9 1c44 5.5 77.1 42.9 77.1 87.3V279c34.5-46.4 85.2-80.1 144.3-92.7c-.2-3.4-.3-6.9-.3-10.3C288 78.8 366.8 0 464 0s176 78.8 176 176zM144 423.9v.1c0 22.1 17.9 40 40 40H288V400c0-17.7-14.3-32-32-32h-8c-13.3 0-24-10.7-24-24s10.7-24 24-24h8c39.4 0 72.2 28.5 78.8 66l73.3-43.1c-51.7-17.3-92.7-58-110.5-109.5C209 252.6 144 331.2 144 423.9zM231.5 12.3l10.7 28.8c.8 2.2 2.5 3.9 4.7 4.7l28.8 10.7c7 2.6 7 12.4 0 15L246.9 82.2c-2.2 .8-3.9 2.5-4.7 4.7l-10.7 28.8c-2.6 7-12.4 7-15 0L205.8 86.9c-.8-2.2-2.5-3.9-4.7-4.7L172.3 71.5c-7-2.6-7-12.4 0-15l28.8-10.7c2.2-.8 3.9-2.5 4.7-4.7l10.7-28.8c2.6-7 12.4-7 15 0zM432 192a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm80-16a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faHandshakeSimpleSlash = {\n prefix: 'far',\n iconName: 'handshake-simple-slash',\n icon: [640, 512, [\"handshake-alt-slash\"], \"e05f\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L501.8 368H584c13.3 0 24-10.7 24-24s-10.7-24-24-24H456 440.6l-99.4-77.9 35.1-32.4c9.7-9 10.3-24.2 1.4-33.9s-24.2-10.3-33.9-1.4l-40.9 37.7-39-30.5 44.9-42.4c18.5-17.4 42.9-27.1 68.3-27.1c24.4 0 47.9 8.9 66.1 25.1l36.9 32.8c4.4 3.9 10.1 6.1 15.9 6.1h88c13.3 0 24-10.7 24-24s-10.7-24-24-24H505.1L475 101.2C448 77.3 413.2 64 377.1 64c-37.6 0-73.9 14.4-101.2 40.2l-50.1 47.4-31.2-24.4c8.3-5 17.2-8.9 26.5-11.5l51.1-51.1c-4.4-.4-8.8-.6-13.2-.6H248.7c-34 0-66.9 11.4-93.6 32.2L38.8 5.1zM388.9 402.4l-42-33.1c.8 8.5-2.1 17.2-8.6 23.7c-11.6 11.6-30.4 11.6-41.9 0l-10.7-10.7c-5.8-5.8-14.2-8.2-22.2-6.5s-14.6 7.5-17.3 15.3c-.8 2.1-2 4.1-3.7 5.8c-6.2 6.2-16.4 6.2-22.6 0L193 370.1l0 0-7-7-35.6-35.6c-15-15-35.4-23.4-56.6-23.4H56c-13.3 0-24 10.7-24 24s10.7 24 24 24H93.7c8.5 0 16.6 3.4 22.6 9.4L152 397l7 7L185.9 431c23.6 23.6 60.9 24.9 86 4.1c30.4 22 73 19.3 100.4-8.1c7.3-7.3 12.8-15.6 16.6-24.5zM101.5 176L44.4 131C37 135.1 32 143 32 152c0 13.3 10.7 24 24 24h45.5z\"]\n};\nvar faHandshakeAltSlash = faHandshakeSimpleSlash;\nvar faRabbitRunning = {\n prefix: 'far',\n iconName: 'rabbit-running',\n icon: [576, 512, [\"rabbit-fast\"], \"f709\", \"M501.8 167.8c-8.6-5.9-17.8-10.8-27.4-14.6C457.7 98.3 413.9 55 358 39.7l-2-.6c-13-3.6-26.9-1.8-38.5 5c-20.2 11.7-29.8 35.7-23.1 58.1l7.8 26.3c1.2 4 2.5 8 4 11.9l-57.1-20.8c-13.8-5-28.4-7.6-43.1-7.6H193.7c-30.1 0-57.5 11.7-77.9 30.9C103.7 133.5 88.5 128 72 128c-39.8 0-72 32.2-72 72s32.2 72 72 72c5.9 0 11.5-.7 17-2c6 14.1 14.8 27 26.1 37.8l37.7 36.1-28.3 18.9c-29.4 19.6-37.4 59.3-17.8 88.8s59.3 37.4 88.8 17.8l52.1-34.7 5.3 5.1C269.2 455.3 291 464 313.7 464H416c35.3 0 64-28.7 64-64c0-19.1-8.4-36.3-21.7-48h33.4c46.5 0 84.3-37.7 84.3-84.3c0-25.3-11.4-49.3-31-65.3l-18.9-15.4c13.8-52.7-1.7-108.8-40.6-147l-1.4-1.4c-5.7-5.6-13.8-8-21.6-6.5l-1.6 .3c-8.8 1.7-16 8.3-18.4 16.9c-.8 2.8-1.5 5.5-2.1 8.3c28.7 25.3 49.7 59 59.4 97.4c1.1 4.2 1.7 8.5 2 12.7zM88.5 182.5c-5.1 12.4-8.1 25.9-8.4 40.1c-2.5 .9-5.2 1.4-8 1.4c-13.3 0-24-10.7-24-24s10.7-24 24-24c6.4 0 12.2 2.5 16.5 6.5zm62.7 220.1l37.2-24.8L212 400.5l-43.2 28.8c-7.4 4.9-17.3 2.9-22.2-4.4s-2.9-17.3 4.4-22.2zm190.3-317c.6-.3 1.2-.4 1.9-.2l2 .6c41.5 11.4 74 44.6 84.6 86.5c.3 10.6 7.6 19.7 17.8 22.4c11.7 3.1 22.8 8.7 32.3 16.5l34.6 28.2c8.4 6.9 13.4 17.2 13.4 28.1c0 20-16.2 36.3-36.3 36.3H392c-6.4 0-12.5 2.5-17 7l-9.9 9.9c-9.7-43.6-43.3-79.2-88-90.4l-23.3-5.8c-12.9-3.2-25.9 4.6-29.1 17.5s4.6 25.9 17.5 29.1l23.3 5.8c32.1 8 54.5 36.8 54.5 69.8v13c0 13.3 10.7 24 24 24h40l.1 0H416c8.8 0 16 7.2 16 16s-7.2 16-16 16H313.7c-10.3 0-20.2-4-27.6-11.1L148.3 273.1c-13-12.4-20.3-29.5-20.3-47.5c0-36.3 29.4-65.7 65.7-65.7H206c9.1 0 18.1 1.6 26.7 4.7l129.4 47.1c11 4 23.3-.5 29.1-10.7s3.4-23.1-5.7-30.5c-17.6-14.3-30.7-33.7-37.3-55.8l-7.8-26.3c-.3-1.1 .1-2.2 1.1-2.8zM480 256a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faRabbitFast = faRabbitRunning;\nvar faMemoPad = {\n prefix: 'far',\n iconName: 'memo-pad',\n icon: [448, 512, [], \"e1da\", \"M400 128V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V128H400zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM96 200c0 13.3 10.7 24 24 24H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H120c-13.3 0-24 10.7-24 24zm0 96c0 13.3 10.7 24 24 24H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H120c-13.3 0-24 10.7-24 24zm0 96c0 13.3 10.7 24 24 24H232c13.3 0 24-10.7 24-24s-10.7-24-24-24H120c-13.3 0-24 10.7-24 24z\"]\n};\nvar faMattressPillow = {\n prefix: 'far',\n iconName: 'mattress-pillow',\n icon: [640, 512, [], \"e525\", \"M240 112V400H64c-8.8 0-16-7.2-16-16V128c0-8.8 7.2-16 16-16H240zm48 0H576c8.8 0 16 7.2 16 16V384c0 8.8-7.2 16-16 16H288V112zM64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64zM80 176V336c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V176c0-17.7-14.3-32-32-32H112c-17.7 0-32 14.3-32 32z\"]\n};\nvar faAlarmPlus = {\n prefix: 'far',\n iconName: 'alarm-plus',\n icon: [512, 512, [], \"f844\", \"M160 25.4C143 9.6 120.2 0 95.2 0C42.6 0 0 42.6 0 95.2c0 18.8 5.5 36.3 14.9 51.1L160 25.4zM256 112a176 176 0 1 1 0 352 176 176 0 1 1 0-352zm0 400c53.2 0 102.1-18.6 140.5-49.5L439 505c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-42.5-42.5c31-38.4 49.5-87.3 49.5-140.5C480 164.3 379.7 64 256 64S32 164.3 32 288c0 53.2 18.6 102.1 49.5 140.5L39 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l42.5-42.5c38.4 31 87.3 49.5 140.5 49.5zM497.1 146.4C506.5 131.6 512 114 512 95.2C512 42.6 469.4 0 416.8 0C391.8 0 369 9.6 352 25.4L497.1 146.4zM256 176c-13.3 0-24 10.7-24 24v64H168c-13.3 0-24 10.7-24 24s10.7 24 24 24h64v64c0 13.3 10.7 24 24 24s24-10.7 24-24V312h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V200c0-13.3-10.7-24-24-24z\"]\n};\nvar faAlicorn = {\n prefix: 'far',\n iconName: 'alicorn',\n icon: [640, 512, [], \"f6b0\", \"M426.8 .6c1.7-.4 3.4-.6 5.2-.6h8 24 8 .5H536c13.3 0 24 10.7 24 24c0 8.5-4.4 16-11.1 20.3c3.5 6.1 6.3 12.7 8.3 19.7h73.5c5.1 0 9.3 4.2 9.3 9.3c0 4-2.6 7.6-6.4 8.8l-69.8 23.3 5.6 39.4c5.2 36.7-15.3 72.2-49.7 86c-18.3 7.3-38 7.5-55.8 1.5V240l0 .7 0 1.6c0 33.2-12.2 62.9-32 85.5V464c0 26.5-21.5 48-48 48H336c-26.5 0-48-21.5-48-48V364.5l-51.8-15.1c-1 3.8-2.2 7.5-3.6 11.2l-12.1 32.3c-.6 1.6-.7 3.3-.2 5l14.8 53.3c8.5 30.6-14.5 60.8-46.2 60.8H139.1c-21.6 0-40.5-14.4-46.2-35.2L81.6 436.4c-8.6-31-7.2-63.9 4.1-94.1l8.2-21.7L72 265.9c-5.3-13.3-8-27.4-8-41.7c0-2.9 .1-5.7 .3-8.5C54.4 223 48 234.8 48 248v64c0 13.3-10.7 24-24 24s-24-10.7-24-24V248c0-47.3 37.3-85.9 84.1-87.9c6.4-9.1 14.1-17.3 22.9-24.2c5.1 17.5 11.8 33.3 19.6 47.6c-9.1 11.1-14.6 25.3-14.6 40.8c0 8.2 1.6 16.3 4.6 23.9l21.9 54.6c4.4 11.1 4.6 23.5 .4 34.7l-8.2 21.7c-7.7 20.6-8.7 43.1-2.8 64.4L139.1 464h49.8l-14.8-53.3c-3.2-11.4-2.6-23.6 1.5-34.6l12.1-32.3c2.8-7.5 4.3-15.4 4.3-23.5c0-.4 0-.9 0-1.3c-.2-7.6 3.3-14.9 9.4-19.5s14-6.1 21.3-4l88 25.7c2.1 .6 4.2 1.1 6.3 1.6c11.1 2.3 19 12.1 19 23.5V464h48V318.2c0-6.5 2.6-12.7 7.3-17.2c15.1-14.8 24.7-35.3 24.7-58.8c0-.6 0-1.2 0-1.7c0-.5 0-1 0-1.5V184c0-10.2 6.4-19.3 16.1-22.6s20.3-.3 26.7 7.7l5.9 7.3c8.9 11.1 24.1 15.1 37.3 9.8c13.9-5.5 22.2-19.9 20-34.7l-9.9-69.2C509.3 62.6 492.4 48 472.5 48H472h-8H440h-4.6c-.6 .1-1.3 .2-2 .2c-50 3.1-90.5 41.6-96.6 90.8c-1.5 12-11.7 21-23.8 21h-.5c-3.8 .1-7.6-.7-11.2-2.5L179.7 96.7c8.2 42.4 28.6 70.5 48.5 88.8c13.1 12 26.2 20.1 35.9 25.1c4.9 2.5 8.8 4.2 11.5 5.2c1.3 .5 2.3 .9 2.9 1.1l.4 .1c9.9 3 17 12.1 17 23c0 13.3-10.7 24-24 24c-2.8 0-5.4-.5-7.9-1.3c-.4-.1-.8-.3-1.3-.5c-1.2-.4-2.8-1-4.7-1.8c-3.9-1.6-9.3-3.9-15.7-7.2c-12.7-6.5-29.6-16.9-46.6-32.5C161.4 189.2 128 137 128 56c0-8.3 4.3-16 11.4-20.4s15.9-4.8 23.4-1.1l133.9 66.9C316 46.3 366.3 5.8 426.8 .6zM464 80a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faCommentQuestion = {\n prefix: 'far',\n iconName: 'comment-question',\n icon: [512, 512, [], \"e14b\", \"M168.2 384.9c-15-5.4-31.7-3.1-44.6 6.4c-8.2 6-22.3 14.8-39.4 22.7c5.6-14.7 9.9-31.3 11.3-49.4c1-12.9-3.3-25.7-11.8-35.5C60.4 302.8 48 272 48 240c0-79.5 83.3-160 208-160s208 80.5 208 160s-83.3 160-208 160c-31.6 0-61.3-5.5-87.8-15.1zM26.3 423.8c-1.6 2.7-3.3 5.4-5.1 8.1l-.3 .5c-1.6 2.3-3.2 4.6-4.8 6.9c-3.5 4.7-7.3 9.3-11.3 13.5c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c5.1 0 10.2-.3 15.3-.8l.7-.1c4.4-.5 8.8-1.1 13.2-1.9c.8-.1 1.6-.3 2.4-.5c17.8-3.5 34.9-9.5 50.1-16.1c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9zM169.8 149.3l-.4 1.2c-4.4 12.5 2.1 26.2 14.6 30.6s26.2-2.1 30.6-14.6l.4-1.2c1.1-3.2 4.2-5.3 7.5-5.3h58.3c8.4 0 15.1 6.8 15.1 15.1c0 5.4-2.9 10.4-7.6 13.1l-44.3 25.4c-7.5 4.3-12.1 12.2-12.1 20.8V248c0 13.3 10.7 24 24 24c13.1 0 23.8-10.5 24-23.6l32.3-18.5c19.6-11.3 31.7-32.2 31.7-54.8c0-34.9-28.3-63.1-63.1-63.1H222.6c-23.7 0-44.8 14.9-52.8 37.3zM288 336a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faGingerbreadMan = {\n prefix: 'far',\n iconName: 'gingerbread-man',\n icon: [448, 512, [], \"f79d\", \"M152 120c0-39.8 32.2-72 72-72s72 32.2 72 72c0 9.5-1.8 18.4-5.1 26.6c-7.6 19 4.4 45.4 30.1 45.4h39c22.1 0 40 17.9 40 40s-17.9 40-40 40h-7c-39.2 0-60.7 45.6-35.8 75.9l41.7 50.7c14 17.1 11.6 42.3-5.5 56.3s-42.3 11.6-56.3-5.5l-37.3-45.3c-18.6-22.6-53.1-22.6-71.7 0l-37.3 45.3c-14 17.1-39.2 19.5-56.3 5.5s-19.5-39.2-5.5-56.3l41.7-50.7C155.7 317.6 134.2 272 95 272H88c-22.1 0-40-17.9-40-40s17.9-40 40-40h39c25.7 0 37.7-26.4 30.1-45.4c-3.3-8.2-5.1-17.2-5.1-26.6zM224 0C157.7 0 104 53.7 104 120c0 8.2 .8 16.2 2.4 24H88c-48.6 0-88 39.4-88 88s39.4 88 88 88h3.6L52 368.1c-30.9 37.5-25.5 93 12 123.9l14.5-17.6L64.1 492c37.5 30.9 93 25.5 123.9-12l36-43.8 36 43.8c30.9 37.5 86.3 42.9 123.9 12s42.9-86.3 12-123.9L356.4 320H360c48.6 0 88-39.4 88-88s-39.4-88-88-88H341.6c1.6-7.8 2.4-15.8 2.4-24C344 53.7 290.3 0 224 0zm0 240a16 16 0 1 0 0-32 16 16 0 1 0 0 32zM208 112a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm48 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32zM240 352a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-16-48a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faGuaraniSign = {\n prefix: 'far',\n iconName: 'guarani-sign',\n icon: [384, 512, [], \"e19a\", \"M192 0c-13.3 0-24 10.7-24 24V65.5C73.3 77.3 0 158.1 0 256s73.3 178.7 168 190.5V488c0 13.3 10.7 24 24 24s24-10.7 24-24V446.5c94.7-11.8 168-92.6 168-190.5c0-13.3-10.7-24-24-24H216V114c29.7 5 56.2 19 76.8 39.2c9.5 9.3 24.7 9.1 33.9-.3s9.1-24.7-.3-33.9C297.2 90.2 258.8 70.8 216 65.5V24c0-13.3-10.7-24-24-24zM168 114V398C99.9 386.6 48 327.4 48 256s51.9-130.6 120-142zm48 284V280H334c-10.1 60.3-57.7 107.9-118 118z\"]\n};\nvar faBurgerFries = {\n prefix: 'far',\n iconName: 'burger-fries',\n icon: [640, 512, [], \"e0cd\", \"M167.6 2.4C162.9 5.3 160 10.5 160 16V206.7l0 0v63.2c9.2 1.4 19.8 2.2 32 2.2s22.8-.8 32-2.2V31.8c-.1-6-3.5-11.4-8.8-14.1l-32-16c-5-2.5-10.8-2.2-15.6 .7zM128 261V14.7l-.2-1.3c-.8-5-4-9.3-8.5-11.6s-9.9-2.3-14.4-.1l-32 16c-6.3 3.1-9.8 10-8.6 16.9l32 192c.5 1.2 .9 2.3 1.2 3.4c2 6.3 6.7 15.9 18.7 24.3c3.2 2.2 7.1 4.5 11.8 6.6zM58.2 193L40.3 85.6 19.9 80.5c-5.3-1.3-10.8 .1-14.8 3.8S-.7 93.4 .2 98.8l16.5 93.4c1.6-.1 3.1-.2 4.7-.2H48c3.6 0 7 .4 10.2 1zm312-17.5l13.5-76.8c.9-5.3-.9-10.8-4.8-14.5s-9.5-5.1-14.8-3.8L346.2 85l-19 107.8c2.5-.4 5.1-.7 7.9-.8c10.4-6.1 22.1-11.7 35.1-16.4zM286.6 230c.7-2.3 1.7-4.7 2.8-7L319.8 50.8c.9-5.3-.9-10.8-4.8-14.5s-9.5-5.1-14.8-3.8l-32 8C262 42 257.3 47 256.2 53.2l-.2 1.4V261c4.8-2.1 8.7-4.4 11.8-6.6c2.1-1.5 4-3 5.7-4.5c3.2-4.9 7-10 11.4-15.4c.7-1.6 1.3-3.1 1.7-4.5zM192 304c-91.7 0-117.7-41-125.1-64.3C64.3 231.2 56.8 224 48 224H21.4C9.6 224 0 233.6 0 245.4c0 1.7 .2 3.4 .6 5.1l57.5 237C61.5 501.9 74.4 512 89.2 512H294.1c-14-13.1-24.9-29.5-31.3-48h-161L66.1 316.8c1.4 1.1 2.8 2.1 4.3 3.1C99.3 340.1 139.1 352 192 352c26.8 0 50.3-3.1 70.6-8.7c-4.3-11.8-6.6-24.6-6.6-37.8c0-3.2 .1-6.7 .5-10.5c-16.7 5.5-37.8 9-64.5 9zm257.9-63.8c-1.2 2.3-1.9 4.9-1.9 7.6c0 8.8 7.2 16 16 16s16-7.2 16-16c0-2.8-.7-5.3-1.9-7.6c22.5 1.3 40.8 5.5 55.7 11.3c-3.5 2.9-5.8 7.4-5.8 12.3c0 8.8 7.2 16 16 16c8.3 0 15.2-6.4 15.9-14.6c18.4 12.7 27.4 26.8 31.1 33.6c.4 .7 1 2.3 1 6.1c0 17-13.8 30.8-30.8 30.8H366.8c-17 0-30.8-13.8-30.8-30.8c0-3.7 .6-5.4 1-6.1c3.7-6.9 12.7-21 31.1-33.6c.7 8.2 7.6 14.6 15.9 14.6c8.8 0 16-7.2 16-16c0-4.9-2.2-9.4-5.8-12.3c14.8-5.8 33.1-10.1 55.7-11.3zM627.8 347.1c7.7-12.2 12.2-26.6 12.2-42.1c0-8.4-1.3-18.7-6.7-28.8C619 249.5 574.2 191.8 464 191.8s-155 57.7-169.3 84.4c-5.4 10-6.7 20.4-6.7 28.8c0 15.5 4.5 29.9 12.2 42.1c-7.5 7.3-12.2 17.5-12.2 28.7c0 8.1 2.4 15.6 6.5 21.8c-4.1 7.8-6.5 16.7-6.5 26.2c0 48.6 39.4 88 88 88H552c48.6 0 88-39.4 88-88c0-9.5-2.3-18.4-6.5-26.2c4.1-6.3 6.5-13.8 6.5-21.8c0-11.3-4.7-21.5-12.2-28.7zM344 415.8H584c4.4 0 8 3.6 8 8c0 22.1-17.9 40-40 40H376c-22.1 0-40-17.9-40-40c0-4.4 3.6-8 8-8z\"]\n};\nvar faMugTea = {\n prefix: 'far',\n iconName: 'mug-tea',\n icon: [576, 512, [], \"f875\", \"M80 112h72v10.7c0 8.5-3.4 16.6-9.4 22.6l-21.3 21.3c-6 6-9.4 14.1-9.4 22.6V256c0 17.7 14.3 32 32 32h48c17.7 0 32-14.3 32-32V189.3c0-8.5-3.4-16.6-9.4-22.6l-21.3-21.3c-6-6-9.4-14.1-9.4-22.6V112H368V352c0 26.5-21.5 48-48 48H128c-26.5 0-48-21.5-48-48V112zM64 64C46.3 64 32 78.3 32 96V352c0 53 43 96 96 96H320c53 0 96-43 96-96V320h32c70.7 0 128-57.3 128-128s-57.3-128-128-128H384 64zM448 272H416V112h32c44.2 0 80 35.8 80 80s-35.8 80-80 80z\"]\n};\nvar faBorderTop = {\n prefix: 'far',\n iconName: 'border-top',\n icon: [448, 512, [], \"f855\", \"M0 56C0 42.7 10.7 32 24 32H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H24C10.7 80 0 69.3 0 56zM64 160A32 32 0 1 1 0 160a32 32 0 1 1 64 0zm320 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm-128 0a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM0 352a32 32 0 1 1 64 0A32 32 0 1 1 0 352zm448 0a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm-256 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM64 256A32 32 0 1 1 0 256a32 32 0 1 1 64 0zm320 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm-128 0a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM0 448a32 32 0 1 1 64 0A32 32 0 1 1 0 448zm448 0a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm-256 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM160 256a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM96 448a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm256 0a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM288 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faArrowsRotate = {\n prefix: 'far',\n iconName: 'arrows-rotate',\n icon: [512, 512, [128472, \"refresh\", \"sync\"], \"f021\", \"M94 187.1C120.8 124.1 183.3 80 256 80c39.7 0 77.8 15.8 105.9 43.9L414.1 176H360c-13.3 0-24 10.7-24 24s10.7 24 24 24H472c13.3 0 24-10.7 24-24V88c0-13.3-10.7-24-24-24s-24 10.7-24 24v54.1L395.9 89.9C358.8 52.8 308.5 32 256 32C163.4 32 83.9 88.2 49.8 168.3c-5.2 12.2 .5 26.3 12.7 31.5s26.3-.5 31.5-12.7zm368 157c5.2-12.2-.4-26.3-12.6-31.5s-26.3 .4-31.5 12.6C391 388.1 328.6 432 256 432c-39.7 0-77.8-15.8-105.9-43.9L97.9 336H152c13.3 0 24-10.7 24-24s-10.7-24-24-24H40c-13.3 0-24 10.7-24 24V424c0 13.3 10.7 24 24 24s24-10.7 24-24V369.9l52.1 52.1C153.2 459.2 203.5 480 256 480c92.5 0 171.8-56 206-135.9z\"]\n};\nvar faRefresh = faArrowsRotate;\nvar faSync = faArrowsRotate;\nvar faCircleBookOpen = {\n prefix: 'far',\n iconName: 'circle-book-open',\n icon: [512, 512, [\"book-circle\"], \"e0ff\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM184 336c23.1 0 41 11.1 46.3 14.8c1.1 .8 2.4 1.2 3.7 1.2c3.3 0 5.9-2.7 5.9-5.9V185.3c0-5.8-3.1-11.1-8.3-13.5C221.2 167.1 202.5 160 184 160s-37.2 7.1-47.7 11.9c-5.2 2.4-8.3 7.7-8.3 13.5V346.1c0 3.3 2.7 5.9 5.9 5.9c1.3 0 2.6-.4 3.7-1.2C143 347.1 160.9 336 184 336zm144 0c23.1 0 41 11.1 46.3 14.8c1.1 .8 2.4 1.2 3.7 1.2c3.3 0 5.9-2.7 5.9-5.9V185.3c0-5.8-3.1-11.1-8.3-13.5C365.2 167.1 346.5 160 328 160s-37.2 7.1-47.7 11.9c-5.2 2.4-8.3 7.7-8.3 13.5V346.1c0 3.3 2.7 5.9 5.9 5.9c1.3 0 2.6-.4 3.7-1.2C287 347.1 304.9 336 328 336z\"]\n};\nvar faBookCircle = faCircleBookOpen;\nvar faArrowsToDottedLine = {\n prefix: 'far',\n iconName: 'arrows-to-dotted-line',\n icon: [448, 512, [], \"e0a6\", \"M241 185l72-72c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-31 31L248 24c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 86.1L169 79c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l72 72c9.4 9.4 24.6 9.4 33.9 0zM0 256a32 32 0 1 0 64 0A32 32 0 1 0 0 256zm96 0a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm128-32a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm64 32a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm128-32a32 32 0 1 0 0 64 32 32 0 1 0 0-64zM313 399l-72-72c-9.4-9.4-24.6-9.4-33.9 0l-72 72c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l31-31V488c0 13.3 10.7 24 24 24s24-10.7 24-24V401.9l31 31c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9z\"]\n};\nvar faFireExtinguisher = {\n prefix: 'far',\n iconName: 'fire-extinguisher',\n icon: [512, 512, [129519], \"f134\", \"M500.3 7.3C507.7 13.3 512 22.4 512 32v96c0 9.6-4.3 18.7-11.7 24.7s-17.2 8.5-26.6 6.6l-160-32C301.5 124.9 292 115.7 289 104H200v26.6c50.3 11 88 55.8 88 109.4V448c0 35.3-28.7 64-64 64H128c-35.3 0-64-28.7-64-64V240c0-53.6 37.7-98.4 88-109.4V104.9c-46.9 5.5-86.5 34.8-106.3 75.6c-5.8 11.9-20.2 16.9-32.1 11.1S-3.3 171.4 2.5 159.5C30.1 102.8 86.1 62.4 152 56.7V24c0-13.3 10.7-24 24-24s24 10.7 24 24V56h89c3-11.7 12.5-20.9 24.7-23.4l160-32c9.4-1.9 19.1 .6 26.6 6.6zM112 416v32c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16V416H112zm0-48H240V240c0-35.3-28.7-64-64-64s-64 28.7-64 64V368z\"]\n};\nvar faMagnifyingGlassArrowsRotate = {\n prefix: 'far',\n iconName: 'magnifying-glass-arrows-rotate',\n icon: [512, 512, [], \"e65e\", \"M208 48c39.6 0 75.9 14.4 103.8 38.2L279 119c-6.9 6.9-8.9 17.2-5.2 26.2s12.5 14.8 22.2 14.8h96c13.3 0 24-10.7 24-24V40c0-9.7-5.8-18.5-14.8-22.2s-19.3-1.7-26.2 5.2L345.8 52.2C309.1 19.7 260.9 0 208 0C108.6 0 25.6 69.7 4.9 162.8c-2.9 12.9 5.3 25.8 18.2 28.6c1.4 .3 2.7 .5 4.1 .5h2.3c10.5-.5 19.9-8 22.2-18.8C67.7 101.6 131.6 48 208 48zM386 224c-10.4 .7-19.4 8.1-21.8 18.8C348.4 314.4 284.4 368 208 368c-39.6 0-75.9-14.4-103.8-38.2L137 297c6.9-6.9 8.9-17.2 5.2-26.2s-12.5-14.8-22.2-14.8H24c-13.3 0-24 10.7-24 24v96c0 9.7 5.8 18.5 14.8 22.2s19.3 1.7 26.2-5.2l29.2-29.2c36.7 32.5 85 52.2 137.8 52.2c48.8 0 93.7-16.8 129.1-44.9L471 505c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L371.1 337.1c19.2-24.2 33.1-52.8 40-84c2.9-12.9-5.3-25.8-18.2-28.6c-1.2-.3-2.4-.4-3.6-.5H386z\"]\n};\nvar faGarageOpen = {\n prefix: 'far',\n iconName: 'garage-open',\n icon: [640, 512, [], \"e00b\", \"M323 51.1c-1.9-.8-4.1-.8-6 0L63 154.1c-9.1 3.7-15 12.5-15 22.2V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V176.3c0-29.3 17.8-55.7 44.9-66.7L299 6.6c13.5-5.5 28.6-5.5 42.1 0l254 103c27.2 11 45 37.4 45 66.7V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V176.3c0-9.8-5.9-18.6-15-22.2L323 51.1zM144 320V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V232c0-22.1 17.9-40 40-40H504c22.1 0 40 17.9 40 40V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V320H144zm0-48H496V240H144v32zm88 144v16H408V416c0-8.8-7.2-16-16-16H248c-8.8 0-16 7.2-16 16zm0 64v8c0 13.3-10.7 24-24 24s-24-10.7-24-24V416c0-35.3 28.7-64 64-64H392c35.3 0 64 28.7 64 64v72c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8H232z\"]\n};\nvar faShelvesEmpty = {\n prefix: 'far',\n iconName: 'shelves-empty',\n icon: [640, 512, [], \"e246\", \"M48 24C48 10.7 37.3 0 24 0S0 10.7 0 24V184 440v48c0 13.3 10.7 24 24 24s24-10.7 24-24V464H592v24c0 13.3 10.7 24 24 24s24-10.7 24-24V440 184 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V160H48V24zm0 184H592V416H48V208z\"]\n};\nvar faCruzeiroSign = {\n prefix: 'far',\n iconName: 'cruzeiro-sign',\n icon: [448, 512, [], \"e152\", \"M80 256c0-97 79.3-176 177.6-176c45.6 0 87 17 118.5 44.9c9.9 8.8 25.1 7.9 33.9-2s7.9-25.1-2-33.9C368 53.5 315.3 32 257.6 32C133.2 32 32 132.1 32 256s101.2 224 225.6 224c57.7 0 110.4-21.5 150.3-57c9.9-8.8 10.8-24 2-33.9s-24-10.8-33.9-2C344.6 415 303.2 432 257.6 432c-6.3 0-12.5-.3-18.6-1c.7-2.2 1-4.6 1-7V320v-1.8c0-21.1 17.1-38.2 38.2-38.2c10.1 0 19.9 4 27 11.2L311 297c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-5.8-5.8c-16.2-16.2-38.1-25.3-61-25.3c-14.1 0-27.4 3.4-39.2 9.4C236.2 231.3 227 224 216 224c-13.3 0-24 10.7-24 24v70.2V320v99.6C126.3 393.7 80 330.1 80 256z\"]\n};\nvar faWatchApple = {\n prefix: 'far',\n iconName: 'watch-apple',\n icon: [384, 512, [], \"e2cb\", \"M112.3 0C85.6 0 64 21.6 64 48.3V65.6C27.5 73 0 105.3 0 144V368c0 38.7 27.5 71 64 78.4V464c0 26.5 21.5 48 48 48H272c26.5 0 48-21.5 48-48V446.4c36.5-7.4 64-39.7 64-78.4V144c0-38.7-27.5-71-64-78.4V48.3C320 21.6 298.4 0 271.7 0H112.3zM304 112c17.7 0 32 14.3 32 32V368c0 17.7-14.3 32-32 32H80c-17.7 0-32-14.3-32-32V144c0-17.7 14.3-32 32-32H304zM192 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm64 40a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM152 352a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM256 184a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM152 208a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm-8 48a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm120 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faWatchCalculator = {\n prefix: 'far',\n iconName: 'watch-calculator',\n icon: [384, 512, [], \"f8f0\", \"M112.3 0C85.6 0 64 21.6 64 48.3V65.6C27.5 73 0 105.3 0 144V368c0 38.7 27.5 71 64 78.4V464c0 26.5 21.5 48 48 48H272c26.5 0 48-21.5 48-48V446.4c36.5-7.4 64-39.7 64-78.4V144c0-38.7-27.5-71-64-78.4V48.3C320 21.6 298.4 0 271.7 0H112.3zM304 112c17.7 0 32 14.3 32 32V368c0 17.7-14.3 32-32 32H80c-17.7 0-32-14.3-32-32V144c0-17.7 14.3-32 32-32H304zM104 160c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16H280c8.8 0 16-7.2 16-16V176c0-8.8-7.2-16-16-16H104zM88 272a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zm104-24a24 24 0 1 0 0 48 24 24 0 1 0 0-48zm56 24a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zM112 312a24 24 0 1 0 0 48 24 24 0 1 0 0-48zm56 24a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zm104-24a24 24 0 1 0 0 48 24 24 0 1 0 0-48z\"]\n};\nvar faListDropdown = {\n prefix: 'far',\n iconName: 'list-dropdown',\n icon: [512, 512, [], \"e1cf\", \"M48 192V416c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V192H48zM0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm436.7 0H363.3c-7.1 0-10.7 8.6-5.7 13.7l36.7 36.7c3.1 3.1 8.2 3.1 11.3 0l36.7-36.7c5-5 1.5-13.7-5.7-13.7zM128 232H384c13.3 0 24 10.7 24 24s-10.7 24-24 24H128c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 96H384c13.3 0 24 10.7 24 24s-10.7 24-24 24H128c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faCabinetFiling = {\n prefix: 'far',\n iconName: 'cabinet-filing',\n icon: [448, 512, [128452], \"f64b\", \"M400 232H48V64c0-8.8 7.2-16 16-16H384c8.8 0 16 7.2 16 16V232zM0 256v24V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V280 256 232 64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V232v24zM400 448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V280H400V448zM160 152v-8H288v8c0 13.3 10.7 24 24 24s24-10.7 24-24V136c0-22.1-17.9-40-40-40H152c-22.1 0-40 17.9-40 40v16c0 13.3 10.7 24 24 24s24-10.7 24-24zm-8 184c-22.1 0-40 17.9-40 40v16c0 13.3 10.7 24 24 24s24-10.7 24-24v-8H288v8c0 13.3 10.7 24 24 24s24-10.7 24-24V376c0-22.1-17.9-40-40-40H152z\"]\n};\nvar faBurgerSoda = {\n prefix: 'far',\n iconName: 'burger-soda',\n icon: [640, 512, [], \"f858\", \"M249.3 0c-26 0-48.6 17.9-54.5 43.2l-20 84.8H80.2 32 24c-13.3 0-24 10.7-24 24s10.7 24 24 24H36 84.2h89.9 35.8 89.9H348h12c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8H303.8 224.2l17.4-73.8c.9-3.6 4.1-6.2 7.8-6.2H280c13.3 0 24-10.7 24-24s-10.7-24-24-24H249.3zM60.3 468c2.1 24.9 22.9 44 47.8 44H275.8c5.4 0 10.7-.9 15.5-2.6c-12.7-12.7-22.6-28.1-28.7-45.4H108.2L86.8 208H38.7L60.3 468zM449.9 240.2c-1.2 2.3-1.9 4.9-1.9 7.6c0 8.8 7.2 16 16 16s16-7.2 16-16c0-2.8-.7-5.3-1.9-7.6c22.5 1.3 40.8 5.5 55.7 11.3c-3.5 2.9-5.8 7.4-5.8 12.3c0 8.8 7.2 16 16 16c8.3 0 15.2-6.4 15.9-14.6c18.4 12.7 27.4 26.8 31.1 33.6c.3 .7 1 2.3 1 6.1c0 17-13.8 30.8-30.8 30.8H366.8c-17 0-30.8-13.8-30.8-30.8c0-3.7 .6-5.4 1-6.1c3.7-6.9 12.7-21 31.1-33.6c.7 8.2 7.6 14.6 15.9 14.6c8.8 0 16-7.2 16-16c0-4.9-2.2-9.4-5.8-12.3c14.8-5.8 33.1-10.1 55.7-11.3zM627.8 347.1c7.7-12.2 12.2-26.6 12.2-42.1c0-8.4-1.3-18.7-6.7-28.8C619 249.5 574.2 191.8 464 191.8s-155 57.7-169.3 84.4c-5.4 10-6.7 20.4-6.7 28.8c0 15.5 4.5 29.9 12.2 42.1c-7.5 7.3-12.2 17.5-12.2 28.7c0 8.1 2.4 15.6 6.5 21.8c-4.1 7.8-6.5 16.7-6.5 26.2c0 48.6 39.4 88 88 88H552c48.6 0 88-39.4 88-88c0-9.5-2.3-18.4-6.5-26.2c4.1-6.3 6.5-13.8 6.5-21.8c0-11.3-4.7-21.5-12.2-28.7zM344 415.8H584c4.4 0 8 3.6 8 8c0 22.1-17.9 40-40 40H376c-22.1 0-40-17.9-40-40c0-4.4 3.6-8 8-8z\"]\n};\nvar faSquareArrowUp = {\n prefix: 'far',\n iconName: 'square-arrow-up',\n icon: [448, 512, [\"arrow-square-up\"], \"f33c\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm241 39l88 88c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V209.9l-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l88-88c9.4-9.4 24.6-9.4 33.9 0z\"]\n};\nvar faArrowSquareUp = faSquareArrowUp;\nvar faGreaterThanEqual = {\n prefix: 'far',\n iconName: 'greater-than-equal',\n icon: [448, 512, [], \"f532\", \"M47 78.2c-12.3-5-18.2-19-13.2-31.3s19-18.2 31.3-13.2l336 136c9.1 3.7 15 12.5 15 22.2s-5.9 18.6-15 22.2L65 350.2c-12.3 5-26.3-1-31.3-13.2s1-26.3 13.2-31.3L328 192 47 78.2zM424 432c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H424z\"]\n};\nvar faPalletBox = {\n prefix: 'far',\n iconName: 'pallet-box',\n icon: [640, 512, [], \"e208\", \"M384 48v80c0 5.9-3.2 11.3-8.5 14.1s-11.5 2.5-16.4-.8L320 115.2l-39.1 26.1c-4.9 3.3-11.2 3.6-16.4 .8s-8.5-8.2-8.5-14.1V48H176V240H464V48H384zM128 48c0-26.5 21.5-48 48-48H464c26.5 0 48 21.5 48 48V240c0 26.5-21.5 48-48 48H176c-26.5 0-48-21.5-48-48V48zM0 344c0-13.3 10.7-24 24-24H88 320 552h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H576v96h40c13.3 0 24 10.7 24 24s-10.7 24-24 24H552 320 88 24c-13.3 0-24-10.7-24-24s10.7-24 24-24H64V368H24c-13.3 0-24-10.7-24-24zM112 464H296V368H112v96zm232 0H528V368H344v96z\"]\n};\nvar faFaceConfounded = {\n prefix: 'far',\n iconName: 'face-confounded',\n icon: [512, 512, [], \"e36c\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm231 77.3l25 20 25-20c8.2-6.5 19.6-7 28.3-1.2l31.6 21.1L351 343c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-24 24c-8.1 8.1-20.8 9.3-30.3 3l-33.4-22.3-26.3 21c-8.8 7-21.2 7-30 0l-26.3-21L181.3 404c-9.5 6.3-22.2 5.1-30.3-3l-24-24c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l10.1 10.1L202.7 332c8.7-5.8 20.1-5.3 28.3 1.2zM133.5 178.7l89.9 47.9c10.7 5.7 10.7 21.1 0 26.8l-89.9 47.9c-7.9 4.2-17.5-1.5-17.5-10.5c0-2.8 1-5.5 2.8-7.6l36-43.2-36-43.2c-1.8-2.1-2.8-4.8-2.8-7.6c0-9 9.6-14.7 17.5-10.5zM396 189.1c0 2.8-1 5.5-2.8 7.6l-36 43.2 36 43.2c1.8 2.1 2.8 4.8 2.8 7.6c0 9-9.6 14.7-17.5 10.5l-89.9-47.9c-10.7-5.7-10.7-21.1 0-26.8l89.9-47.9c7.9-4.2 17.5 1.5 17.5 10.5z\"]\n};\nvar faShieldHalved = {\n prefix: 'far',\n iconName: 'shield-halved',\n icon: [512, 512, [\"shield-alt\"], \"f3ed\", \"M232 59.6V450.3C99.2 375.7 64.4 227.3 64 139.7c0-5 3.1-10.2 9-12.8L232 59.6zm48 390.8V59.6L439 127c5.9 2.5 9.1 7.8 9 12.8c-.4 87.5-35.2 236-168 310.6zM457.7 82.8L269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.8 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2z\"]\n};\nvar faShieldAlt = faShieldHalved;\nvar faTruckPlow = {\n prefix: 'far',\n iconName: 'truck-plow',\n icon: [640, 512, [], \"f7de\", \"M184 80h86.1c2.8 0 5.4 1.5 6.8 3.8L343 192H176V88c0-4.4 3.6-8 8-8zM398.6 192c-.6-1.5-1.3-3.1-2.2-4.5L317.8 58.8C307.7 42.2 289.6 32 270.1 32H184c-30.9 0-56 25.1-56 56V192H56c-30.9 0-56 25.1-56 56v96c0 19.4 13.7 35.5 32 39.2l0 .8c0 53 43 96 96 96s96-43 96-96h48c0 53 43 96 96 96s96-43 96-96h54.1l.1 .1 80 88c8.9 9.8 24.1 10.5 33.9 1.6s10.5-24.1 1.6-33.9L560 358.7V217.3l73.8-81.1c8.9-9.8 8.2-25-1.6-33.9s-25-8.2-33.9 1.6l-80 88c-4 4.4-6.2 10.2-6.2 16.1V336H480V248c0-30.9-25.1-56-56-56H398.6zM432 312.4c-17-15.2-39.4-24.4-64-24.4c-35.5 0-66.6 19.3-83.2 48H211.2c-16.6-28.7-47.6-48-83.2-48c-33.4 0-62.8 17-80 42.9V248c0-4.4 3.6-8 8-8H424c4.4 0 8 3.6 8 8v64.4zM80 384a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm288-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faBookAtlas = {\n prefix: 'far',\n iconName: 'book-atlas',\n icon: [448, 512, [\"atlas\"], \"f558\", \"M0 88C0 39.4 39.4 0 88 0H392c30.9 0 56 25.1 56 56V344c0 22.3-13.1 41.6-32 50.6V464h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H80c-44.2 0-80-35.8-80-80c0-2.7 .1-5.4 .4-8H0V88zM80 400c-17.7 0-32 14.3-32 32s14.3 32 32 32H368V400H80zM48 358.7c9.8-4.3 20.6-6.7 32-6.7H392c4.4 0 8-3.6 8-8V56c0-4.4-3.6-8-8-8H88C65.9 48 48 65.9 48 88V358.7zM176.5 216h-31c4.8 26.1 21.1 48.2 43.5 60.8c-6.6-16.9-11-37.8-12.5-60.8zm0-32c1.4-22.9 5.9-43.8 12.5-60.8c-22.4 12.6-38.7 34.7-43.5 60.8h31zM112 200a120 120 0 1 1 240 0 120 120 0 1 1 -240 0zm206.5 16h-31c-1.4 22.9-5.9 43.8-12.5 60.8c22.4-12.6 38.7-34.7 43.5-60.8zM275 123.2c6.6 16.9 11 37.8 12.5 60.8h31c-4.8-26.1-21.1-48.2-43.5-60.8zM255.4 216H208.6c1.6 22.6 6.5 41.8 12.8 55.3c4.7 10.1 8.6 14.2 10.6 15.8c2-1.6 5.9-5.7 10.6-15.8c6.3-13.5 11.2-32.7 12.8-55.3zm-46.9-32h46.9c-1.6-22.6-6.5-41.8-12.8-55.3c-4.7-10.1-8.6-14.2-10.6-15.8c-2 1.6-5.9 5.7-10.6 15.8c-6.3 13.5-11.2 32.7-12.8 55.3z\"]\n};\nvar faAtlas = faBookAtlas;\nvar faVirus = {\n prefix: 'far',\n iconName: 'virus',\n icon: [512, 512, [], \"e074\", \"M75 75c12.5-12.5 32.8-12.5 45.3 0l8.2 8.2C163.7 118.4 224 93.4 224 43.5V32c0-17.7 14.3-32 32-32s32 14.3 32 32V43.5c0 49.9 60.3 74.9 95.6 39.6l8.2-8.2c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-8.2 8.2c-35.3 35.3-10.3 95.6 39.6 95.6H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H468.5c-49.9 0-74.9 60.3-39.6 95.6l8.2 8.2c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0l-8.2-8.2c-35.3-35.3-95.6-10.3-95.6 39.6V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V468.5c0-49.9-60.3-74.9-95.6-39.6l-8.2 8.2c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l8.2-8.2C118.4 348.3 93.4 288 43.5 288H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H43.5c49.9 0 74.9-60.3 39.6-95.6L75 120.2C62.5 107.7 62.5 87.5 75 75zM256 99.6c-23.3 36.4-68.4 55.1-110.6 45.8c9.3 42.2-9.4 87.3-45.8 110.6c36.4 23.3 55.1 68.4 45.8 110.6c42.2-9.3 87.3 9.4 110.6 45.8c23.3-36.4 68.4-55.1 110.6-45.8c-9.3-42.2 9.4-87.3 45.8-110.6c-36.4-23.3-55.1-68.4-45.8-110.6c-21.2 4.7-43.1 2.3-62.6-5.8c-19.4-8.1-36.4-21.8-48-40zM192 224a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm112 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faGridRound2 = {\n prefix: 'far',\n iconName: 'grid-round-2',\n icon: [512, 512, [], \"e5db\", \"M128 176a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm96-48A96 96 0 1 1 32 128a96 96 0 1 1 192 0zM128 432a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm96-48A96 96 0 1 1 32 384a96 96 0 1 1 192 0zM336 128a48 48 0 1 0 96 0 48 48 0 1 0 -96 0zm48 96a96 96 0 1 1 0-192 96 96 0 1 1 0 192zm0 208a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm96-48a96 96 0 1 1 -192 0 96 96 0 1 1 192 0z\"]\n};\nvar faCommentMiddleTop = {\n prefix: 'far',\n iconName: 'comment-middle-top',\n icon: [512, 512, [], \"e14a\", \"M231.3 124.8L256 75.3l24.7 49.5c6.5 12.9 18.4 22.3 32.5 25.4C407 171 464 237.3 464 304c0 79.5-83.3 160-208 160S48 383.5 48 304c0-66.7 57-133 150.7-153.8c14.1-3.1 26.1-12.5 32.5-25.4zm92.4-21.5l-44.5-89C274.8 5.5 265.8 0 256 0s-18.8 5.5-23.2 14.3l-44.5 89C79.8 127.5 0 208.2 0 304C0 418.9 114.6 512 256 512s256-93.1 256-208c0-95.8-79.8-176.5-188.3-200.7z\"]\n};\nvar faWave = {\n prefix: 'far',\n iconName: 'wave',\n icon: [576, 512, [], \"e65b\", \"M304 80c-83.9 0-152 68.1-152 152c0 66.3-53.7 120-120 120c-13.3 0-24-10.7-24-24s10.7-24 24-24c39.8 0 72-32.2 72-72c0-110.5 89.5-200 200-200c67.7 0 127.5 33.6 163.6 85c6.3 8.9 5.8 20.9-1.3 29.3s-18.8 10.9-28.6 6.2C426.3 147 413.5 144 400 144c-48.6 0-88 39.4-88 88c0 39.8 32.2 72 72 72c28.8 0 58.5-15.3 80-33.9c9.1-8.1 22.8-8.1 31.9 0c16.9 15.1 39.3 26.8 61.3 31.8c12.9 2.9 21.1 15.7 18.2 28.7s-15.7 21.1-28.7 18.2c-28.7-6.4-52.3-20.5-66.7-30.4c-28.1 19.5-61.4 33.8-96 33.8c-66.3 0-120-53.7-120-120c0-66.9 48.3-122.6 112-133.9C354.6 86.6 330.1 80 304 80zM80 398.1c9.1-8.1 22.8-8.1 31.9 0c21.5 18.6 51.2 33.9 80 33.9s58.5-15.3 80-33.9c9.1-8.1 22.8-8.1 31.9 0c21.6 18.6 51.2 33.9 80 33.9s58.5-15.3 80-33.9c9.1-8.1 22.8-8.1 31.9 0c16.9 15.1 39.3 26.8 61.3 31.8c12.9 2.9 21.1 15.7 18.2 28.7s-15.7 21.1-28.7 18.2c-28.7-6.4-52.3-20.5-66.7-30.4c-28.1 19.5-61.4 33.8-96 33.8s-67.9-14.3-96-33.8c-28.1 19.5-61.4 33.8-96 33.8s-67.9-14.3-96-33.8c-14.4 10-38 24-66.7 30.4c-12.9 2.9-25.8-5.2-28.7-18.2s5.2-25.8 18.2-28.7c22.2-5 44-16.8 61.2-31.7z\"]\n};\nvar faEnvelopeCircleCheck = {\n prefix: 'far',\n iconName: 'envelope-circle-check',\n icon: [640, 512, [], \"e4e8\", \"M64 112H448c8.8 0 16 7.2 16 16v22.1l-22.6 18.5C458.6 163 477 160 496 160c5.4 0 10.7 .2 16 .7V128c0-35.3-28.7-64-64-64H64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H360.2c-11.8-14.3-21.4-30.5-28.2-48H64c-8.8 0-16-7.2-16-16V212.2L190 328.8c37.7 31 91.8 31.5 130.1 1.5c.9-29.2 8.9-56.5 22.4-80.4l-50.9 41.8c-20.7 17-50.4 17-71.1 0L48 150.1V128c0-8.8 7.2-16 16-16zM640 336a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 353.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faLayerGroup = {\n prefix: 'far',\n iconName: 'layer-group',\n icon: [576, 512, [], \"f5fd\", \"M288 0c-8.5 0-17 1.7-24.8 5.1L53.9 94.8C40.6 100.5 32 113.5 32 128s8.6 27.5 21.9 33.2l209.3 89.7c7.8 3.4 16.3 5.1 24.8 5.1s17-1.7 24.8-5.1l209.3-89.7c13.3-5.7 21.9-18.8 21.9-33.2s-8.6-27.5-21.9-33.2L312.8 5.1C305 1.7 296.5 0 288 0zm-5.9 49.2C284 48.4 286 48 288 48s4 .4 5.9 1.2L477.7 128 293.9 206.8c-1.9 .8-3.9 1.2-5.9 1.2s-4-.4-5.9-1.2L98.3 128 282.1 49.2zM53.9 222.8C40.6 228.5 32 241.5 32 256s8.6 27.5 21.9 33.2l209.3 89.7c7.8 3.4 16.3 5.1 24.8 5.1s17-1.7 24.8-5.1l209.3-89.7c13.3-5.7 21.9-18.8 21.9-33.2s-8.6-27.5-21.9-33.2l-31.2-13.4L430 235.5 477.7 256 293.9 334.8c-1.9 .8-3.9 1.2-5.9 1.2s-4-.4-5.9-1.2L98.3 256 146 235.5 85.1 209.4 53.9 222.8zm0 128C40.6 356.5 32 369.5 32 384s8.6 27.5 21.9 33.2l209.3 89.7c7.8 3.4 16.3 5.1 24.8 5.1s17-1.7 24.8-5.1l209.3-89.7c13.3-5.7 21.9-18.8 21.9-33.2s-8.6-27.5-21.9-33.2l-31.2-13.4L430 363.5 477.7 384 293.9 462.8c-1.9 .8-3.9 1.2-5.9 1.2s-4-.4-5.9-1.2L98.3 384 146 363.5 85.1 337.4 53.9 350.8z\"]\n};\nvar faRestroomSimple = {\n prefix: 'far',\n iconName: 'restroom-simple',\n icon: [640, 512, [], \"e23a\", \"M128 128A64 64 0 1 0 128 0a64 64 0 1 0 0 128zM73.7 237.3C75.1 220.8 89 208 105.6 208h44.8c16.6 0 30.5 12.8 31.9 29.3l4.1 49.3c.8 9.3-6.6 17.3-15.9 17.3H168 88 85.6c-9.4 0-16.7-8-15.9-17.3l4.1-49.3zM112 352h32V488c0 13.3 10.7 24 24 24s24-10.7 24-24V348.3c26.5-9.5 44.7-35.8 42.2-65.6l-4.1-49.3C226.7 191.9 192 160 150.4 160H105.6c-41.6 0-76.3 31.9-79.7 73.4l-4.1 49.3c-2.5 29.8 15.7 56.1 42.2 65.6V488c0 13.3 10.7 24 24 24s24-10.7 24-24V352zM320 0c-13.3 0-24 10.7-24 24V488c0 13.3 10.7 24 24 24s24-10.7 24-24V24c0-13.3-10.7-24-24-24zM576 64A64 64 0 1 0 448 64a64 64 0 1 0 128 0zM496.3 208h31.4c7.1 0 13.4 4.7 15.4 11.6L576.4 336H447.6l33.3-116.4c2-6.9 8.2-11.6 15.4-11.6zm0-48c-28.6 0-53.7 18.9-61.5 46.4L395.7 343.2c-5.8 20.4 9.5 40.8 30.8 40.8H448V488c0 13.3 10.7 24 24 24s24-10.7 24-24V384h32V488c0 13.3 10.7 24 24 24s24-10.7 24-24V384h21.6c21.3 0 36.6-20.3 30.8-40.8L589.3 206.4c-7.8-27.5-33-46.4-61.5-46.4H496.3z\"]\n};\nvar faArrowsToDot = {\n prefix: 'far',\n iconName: 'arrows-to-dot',\n icon: [512, 512, [], \"e4be\", \"M280 24c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 86.1L201 79c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l72 72c9.4 9.4 24.6 9.4 33.9 0l72-72c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-31 31L280 24zM433 345c9.4-9.4 9.4-24.6 0-33.9l-31-31H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H401.9l31-31c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-72 72c-9.4 9.4-9.4 24.6 0 33.9l72 72c9.4 9.4 24.6 9.4 33.9 0zM288 256a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM113 167c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l31 31L24 232c-13.3 0-24 10.7-24 24s10.7 24 24 24h86.1L79 311c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l72-72c9.4-9.4 9.4-24.6 0-33.9l-72-72zM167 433c9.4 9.4 24.6 9.4 33.9 0l31-31 0 86.1c0 13.3 10.7 24 24 24s24-10.7 24-24V401.9l31 31c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-72-72c-9.4-9.4-24.6-9.4-33.9 0l-72 72c-9.4 9.4-9.4 24.6 0 33.9z\"]\n};\nvar faBorderOuter = {\n prefix: 'far',\n iconName: 'border-outer',\n icon: [448, 512, [], \"f851\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm224 96a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm-64 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm64 32a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm128-32a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM224 384a32 32 0 1 1 0-64 32 32 0 1 1 0 64z\"]\n};\nvar faHashtagLock = {\n prefix: 'far',\n iconName: 'hashtag-lock',\n icon: [576, 512, [], \"e415\", \"M188.7 32.5c13 2.6 21.4 15.2 18.8 28.2L192.5 136h111l16.9-84.7c2.6-13 15.2-21.4 28.2-18.8s21.4 15.2 18.8 28.2L352.5 136H424c13.3 0 24 10.7 24 24c0 .4 0 .8 0 1.1c-19.9 2.9-38.2 11-53.3 22.9H342.9L287.5 460.7c-2.6 13-15.2 21.4-28.2 18.8s-21.4-15.2-18.8-28.2L255.5 376l-111 0-16.9 84.7c-2.6 13-15.2 21.4-28.2 18.8s-21.4-15.2-18.8-28.2L95.5 376 24 376c-13.3 0-24-10.7-24-24s10.7-24 24-24l81.1 0 28.8-144H56c-13.3 0-24-10.7-24-24s10.7-24 24-24h87.5l16.9-84.7c2.6-13 15.2-21.4 28.2-18.8zM182.9 184L154.1 328l111 0 28.8-144h-111zM464 240c-17.7 0-32 14.3-32 32v48h64V272c0-17.7-14.3-32-32-32zm-80 32c0-44.2 35.8-80 80-80s80 35.8 80 80v48c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H384c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32V272z\"]\n};\nvar faClockTwoThirty = {\n prefix: 'far',\n iconName: 'clock-two-thirty',\n icon: [512, 512, [], \"e35b\", \"M48 256a208 208 0 1 0 416 0A208 208 0 1 0 48 256zm464 0A256 256 0 1 1 0 256a256 256 0 1 1 512 0zM232 392V256c0-8 4-15.5 10.7-20l96-64c11-7.4 25.9-4.4 33.3 6.7s4.4 25.9-6.7 33.3L280 268.8V392c0 13.3-10.7 24-24 24s-24-10.7-24-24z\"]\n};\nvar faArchway = {\n prefix: 'far',\n iconName: 'archway',\n icon: [512, 512, [], \"f557\", \"M0 56C0 42.7 10.7 32 24 32H56 456h24c13.3 0 24 10.7 24 24s-10.7 24-24 24V432h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H456 424 360c-13.3 0-24-10.7-24-24V336c0-44.2-35.8-80-80-80s-80 35.8-80 80V456c0 13.3-10.7 24-24 24H88 56 24c-13.3 0-24-10.7-24-24s10.7-24 24-24h8V80H24C10.7 80 0 69.3 0 56zM80 80v32H432V80H80zm0 80V432h8 40V336c0-70.7 57.3-128 128-128s128 57.3 128 128v96h40 8V160H80z\"]\n};\nvar faHeartCircleCheck = {\n prefix: 'far',\n iconName: 'heart-circle-check',\n icon: [576, 512, [], \"e4fd\", \"M225.8 468.2l-2.5-2.3L48.1 303.2C17.4 274.7 0 234.7 0 192.8v-3.3c0-70.4 50-130.8 119.2-144C158.6 37.9 198.9 47 231 69.6c9 6.4 17.4 13.8 25 22.3c4.2-4.8 8.7-9.2 13.5-13.3c3.7-3.2 7.5-6.2 11.5-9l0 0C313.1 47 353.4 37.9 392.8 45.4C462 58.6 512 119.1 512 189.5v3.3c0 6-.4 12-1.1 17.9c-14.6-7.3-30.4-12.7-47-15.8c0-.7 0-1.4 0-2.1v-3.3c0-47.3-33.6-88-80.1-96.9c-34-6.5-69 5.4-92 31.2l-.1 .1-.1 .1-17.8 20c-.3 .4-.7 .7-1 1.1c-4.5 4.5-10.6 7-16.9 7s-12.4-2.5-16.9-7c-.4-.3-.7-.7-1-1.1l-17.8-20-.1-.1 0 0c-23.1-25.9-58-37.7-92-31.2C81.6 101.5 48 142.1 48 189.5v3.3c0 28.5 11.9 55.8 32.8 75.2L256 430.7l8.7-8c5.3 16.1 12.8 31.2 22.2 44.9l-.6 .6c-8.2 7.6-19 11.9-30.2 11.9s-22-4.2-30.2-11.9zM288 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm211.3-43.3c-6.2-6.2-16.4-6.2-22.6 0L416 385.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nvar faHouseChimneyCrack = {\n prefix: 'far',\n iconName: 'house-chimney-crack',\n icon: [576, 512, [\"house-damage\"], \"f6f1\", \"M303.5 5.7c-9-7.6-22.1-7.6-31.1 0l-264 224c-10.1 8.6-11.3 23.7-2.8 33.8s23.7 11.3 33.8 2.8L64 245.5V432c0 44.2 35.8 80 80 80H432c44.2 0 80-35.8 80-80V245.5l24.5 20.8c10.1 8.6 25.3 7.3 33.8-2.8s7.3-25.3-2.8-33.8L512 182.6V56c0-13.3-10.7-24-24-24s-24 10.7-24 24v85.9L303.5 5.7zM464 204.8V432c0 17.7-14.3 32-32 32H325.9L288 403.8l79.7-63.3c8.2-6.5 8-19.1-.4-25.3L252.2 229c-14.9-11.1-33.6 7.8-22.3 22.5L288 327.6l-84.8 67.3c-6.4 5.1-7.9 14.2-3.6 21.1L229.9 464H144c-17.7 0-32-14.3-32-32V204.8L288 55.5 464 204.8z\"]\n};\nvar faHouseDamage = faHouseChimneyCrack;\nvar faFileZipper = {\n prefix: 'far',\n iconName: 'file-zipper',\n icon: [384, 512, [\"file-archive\"], \"f1c6\", \"M64 464c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16h48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16h48v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zm48 112c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H128c-8.8 0-16 7.2-16 16zm0 64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H128c-8.8 0-16 7.2-16 16zm-6.3 71.8L82.1 335.9c-1.4 5.4-2.1 10.9-2.1 16.4c0 35.2 28.8 63.7 64 63.7s64-28.5 64-63.7c0-5.5-.7-11.1-2.1-16.4l-23.5-88.2c-3.7-14-16.4-23.8-30.9-23.8H136.6c-14.5 0-27.2 9.7-30.9 23.8zM128 336h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H128c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faFileArchive = faFileZipper;\nvar faTicketPerforated = {\n prefix: 'far',\n iconName: 'ticket-perforated',\n icon: [640, 512, [], \"e63e\", \"M48 128c0-8.8 7.2-16 16-16H576c8.8 0 16 7.2 16 16v35c-41.4 10.7-72 48.2-72 93s30.6 82.3 72 93v35c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V128zM64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V322.7c0-11.2-12.8-18.7-24-18.7c-26.5 0-48-21.5-48-48s21.5-48 48-48c11.2 0 24-7.5 24-18.7V128c0-35.3-28.7-64-64-64H64zm384 96a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm0 64a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-16 80a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm16 48a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faHeartHalf = {\n prefix: 'far',\n iconName: 'heart-half',\n icon: [512, 512, [], \"e1ab\", \"M236.7 476.9c2.1 2 4.9 3.1 7.8 3.1c6.3 0 11.5-5.1 11.5-11.5V456.2 433.8v-4.6V96L244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5L208 450.1l3.3 3.1 16.4 15.3 9 8.4zM208 384.5L80.3 265.3C59.7 246.1 48 219.1 48 190.9v-5.8c0-46.4 33.6-86 79.3-93.6c29.3-4.9 59.1 4.2 80.7 24.5V384.5z\"]\n};\nvar faCommentCheck = {\n prefix: 'far',\n iconName: 'comment-check',\n icon: [512, 512, [], \"f4ac\", \"M168.2 384.9c-15-5.4-31.7-3.1-44.6 6.4c-8.2 6-22.3 14.8-39.4 22.7c5.6-14.7 9.9-31.3 11.3-49.4c1-12.9-3.3-25.7-11.8-35.5C60.4 302.8 48 272 48 240c0-79.5 83.3-160 208-160s208 80.5 208 160s-83.3 160-208 160c-31.6 0-61.3-5.5-87.8-15.1zM26.3 423.8c-1.6 2.7-3.3 5.4-5.1 8.1l-.3 .5c-1.6 2.3-3.2 4.6-4.8 6.9c-3.5 4.7-7.3 9.3-11.3 13.5c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c5.1 0 10.2-.3 15.3-.8l.7-.1c4.4-.5 8.8-1.1 13.2-1.9c.8-.1 1.6-.3 2.4-.5c17.8-3.5 34.9-9.5 50.1-16.1c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9zM369 193c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-111 111-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L369 193z\"]\n};\nvar faSquare = {\n prefix: 'far',\n iconName: 'square',\n icon: [448, 512, [9632, 9723, 9724, 61590], \"f0c8\", \"M384 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64z\"]\n};\nvar faMemo = {\n prefix: 'far',\n iconName: 'memo',\n icon: [384, 512, [], \"e1d8\", \"M64 48c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H320c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H64zM0 64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zm120 64H264c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 96H264c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 96h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faMartiniGlassEmpty = {\n prefix: 'far',\n iconName: 'martini-glass-empty',\n icon: [512, 512, [\"glass-martini\"], \"f000\", \"M0 35.3C0 15.8 15.8 0 35.3 0H476.7C496.2 0 512 15.8 512 35.3c0 9.4-3.7 18.3-10.3 25L280 281.9V464h80c13.3 0 24 10.7 24 24s-10.7 24-24 24H256 152c-13.3 0-24-10.7-24-24s10.7-24 24-24h80V281.9L10.3 60.3C3.7 53.7 0 44.7 0 35.3zM256 238.1L446.1 48H65.9L256 238.1z\"]\n};\nvar faGlassMartini = faMartiniGlassEmpty;\nvar faCouch = {\n prefix: 'far',\n iconName: 'couch',\n icon: [640, 512, [], \"f4b8\", \"M448 80H192c-44.2 0-80 35.8-80 80v40c-12.3-5.1-25.8-8-40-8c-2.7 0-5.4 .1-8 .3V160C64 89.3 121.3 32 192 32H448c70.7 0 128 57.3 128 128v32.3c-2.6-.2-5.3-.3-8-.3c-14.2 0-27.7 2.8-40 8V160c0-44.2-35.8-80-80-80zM568 224c2.7 0 5.4 .1 8 .4c36 4 64 34.5 64 71.6V432c0 26.5-21.5 48-48 48H544c-20.9 0-38.7-13.4-45.3-32H141.3c-6.6 18.6-24.4 32-45.3 32H48c-26.5 0-48-21.5-48-48V296c0-37.1 28-67.6 64-71.6c2.6-.3 5.3-.4 8-.4c15.2 0 29.4 4.7 41 12.8c16.7 11.6 28.2 30 30.5 51.2H496.4c2.3-21.2 13.9-39.6 30.5-51.2c11.6-8.1 25.8-12.8 41-12.8zm-24 72v40 64 32h48V296c0-13.3-10.7-24-24-24s-24 10.7-24 24zM496 400V336H144v64H496zM96 400V336 296c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 136H96V400z\"]\n};\nvar faCediSign = {\n prefix: 'far',\n iconName: 'cedi-sign',\n icon: [384, 512, [], \"e0df\", \"M216 0c13.3 0 24 10.7 24 24V72.5C277.9 75 313 88 341.9 108.4c10.8 7.7 13.4 22.6 5.7 33.5s-22.6 13.4-33.5 5.7c-20.9-14.8-46.3-24.5-74.1-27V391.4c27.8-2.5 53.2-12.2 74.1-27c10.8-7.7 25.8-5.1 33.5 5.7s5.1 25.8-5.7 33.5C313 424 277.9 437 240 439.5V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V437.2C102 422 32 347.7 32 256s70-166 160-181.2V24c0-13.3 10.7-24 24-24zM80 256c0 63.2 47 117.9 112 132.3V123.7C127 138.1 80 192.8 80 256z\"]\n};\nvar faItalic = {\n prefix: 'far',\n iconName: 'italic',\n icon: [384, 512, [], \"f033\", \"M128 56c0-13.3 10.7-24 24-24H360c13.3 0 24 10.7 24 24s-10.7 24-24 24H291.3L144.7 432H232c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H92.7L239.3 80H152c-13.3 0-24-10.7-24-24z\"]\n};\nvar faGlassCitrus = {\n prefix: 'far',\n iconName: 'glass-citrus',\n icon: [512, 512, [], \"f869\", \"M464 144c0-53-43-96-96-96c-35.5 0-66.6 19.3-83.2 48H232.2C252 40.1 305.3 0 368 0c79.5 0 144 64.5 144 144c0 78.4-62.7 142.2-140.7 144l4.6-48.3c49.3-4 88.1-45.3 88.1-95.7zM6.2 135.9c4.5-5 11-7.9 17.8-7.9H328c6.8 0 13.2 2.9 17.8 7.9s6.8 11.7 6.1 18.4l-29.2 307c-2.7 28.7-26.9 50.7-55.7 50.7H85.1c-28.9 0-53-21.9-55.7-50.7L.1 154.3c-.6-6.7 1.6-13.4 6.1-18.4zM62.6 304L77.1 456.8c.4 4.1 3.8 7.2 8 7.2H266.9c4.1 0 7.6-3.1 8-7.2L289.4 304H62.6zM58 256H294l7.6-80H50.4L58 256z\"]\n};\nvar faCalendarLinesPen = {\n prefix: 'far',\n iconName: 'calendar-lines-pen',\n icon: [576, 512, [], \"e472\", \"M128 0c13.3 0 24 10.7 24 24V64H296V24c0-13.3 10.7-24 24-24s24 10.7 24 24V64h40c35.3 0 64 28.7 64 64v16 48H400 384 48V448c0 8.8 7.2 16 16 16H262.5l-5.1 20.2c-2.3 9.4-1.8 19 1.4 27.8H64c-35.3 0-64-28.7-64-64V192 144 128C0 92.7 28.7 64 64 64h40V24c0-13.3 10.7-24 24-24zm-8 256H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24zM96 376c0-13.3 10.7-24 24-24H232c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24zM549.8 235.7l14.4 14.4c15.6 15.6 15.6 40.9 0 56.6l-29.4 29.4-71-71 29.4-29.4c15.6-15.6 40.9-15.6 56.6 0zM311.9 417L441.1 287.8l71 71L382.9 487.9c-4.1 4.1-9.2 7-14.9 8.4l-60.1 15c-5.5 1.4-11.2-.2-15.2-4.2s-5.6-9.7-4.2-15.2l15-60.1c1.4-5.6 4.3-10.8 8.4-14.9z\"]\n};\nvar faTableCellsColumnLock = {\n prefix: 'far',\n iconName: 'table-cells-column-lock',\n icon: [640, 512, [], \"e678\", \"M448 80c8.8 0 16 7.2 16 16l0 72-104 0 0-88 88 0zM200 80l112 0 0 88-112 0 0-88zM312 432l-112 0 0-88 112 0 0 88zm72 0l-24 0 0-88 24.5 0c2.5-20.3 14.6-37.6 31.5-47.4l0-.6-56 0 0-80 71 0c16.8-29.1 46.4-49.9 81-54.9L512 96c0-35.3-28.7-64-64-64L64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0 0-48zM200 296l0-80 112 0 0 80-112 0zm328-56c17.7 0 32 14.3 32 32l0 48-64 0 0-48c0-17.7 14.3-32 32-32zm-80 32l0 48c-17.7 0-32 14.3-32 32l0 128c0 17.7 14.3 32 32 32l160 0c17.7 0 32-14.3 32-32l0-128c0-17.7-14.3-32-32-32l0-48c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"]\n};\nvar faChurch = {\n prefix: 'far',\n iconName: 'church',\n icon: [640, 512, [9962], \"f51d\", \"M344 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V48H264c-13.3 0-24 10.7-24 24s10.7 24 24 24h32v26.9L192.9 189.7c-20.5 13.3-32.9 36-32.9 60.4V464H72c-13.3 0-24-10.7-24-24V370.1c0-8.1 4.1-15.7 11-20.2l69-44.7V248.1L32.9 309.7C12.4 322.9 0 345.7 0 370.1V440c0 39.8 32.2 72 72 72H192v0H448h8H568c39.8 0 72-32.2 72-72V370.1c0-24.4-12.4-47.2-32.9-60.4L512 248.1v57.2L581 350c6.8 4.4 11 12 11 20.1V440c0 13.3-10.7 24-24 24H480V250.1c0-24.4-12.4-47.2-32.9-60.4L344 122.9V96h32c13.3 0 24-10.7 24-24s-10.7-24-24-24H344V24zM320 164.6L421 230c6.8 4.4 11 12 11 20.1V464H368V368c0-26.5-21.5-48-48-48s-48 21.5-48 48v96H208V250.1c0-8.1 4.1-15.7 11-20.1l101-65.4z\"]\n};\nvar faPersonSnowmobiling = {\n prefix: 'far',\n iconName: 'person-snowmobiling',\n icon: [640, 512, [\"snowmobile\"], \"f7d1\", \"M240 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm99.7 75.4c11.4-6.8 26.1-3.1 32.9 8.2l46.8 78.1 138.9 69.4c10.8 5.4 17.7 16.5 17.7 28.6v59.1c0 10.7-5.3 20.7-14.2 26.6L492 392l54 72h20.1l33-33c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-40 40c-4.5 4.5-10.6 7-17 7H440c-13.3 0-24-10.7-24-24s10.7-24 24-24h46l-48-64H313.3c4.3 9.8 6.7 20.6 6.7 32c0 44.2-35.8 80-80 80H80c-44.2 0-80-35.8-80-80c0-26.2 12.6-49.4 32-64l8-16 31.2-62.3C76.6 278.8 87.7 272 99.8 272H288l24-32H280c-7.6 0-14.7-3.6-19.2-9.6l-33.4-44.5c-4.7-6.2-12-9.9-19.8-9.9c-9.8 0-18.6 5.7-22.6 14.7l-19.1 43.1c-5.4 12.1-19.6 17.6-31.7 12.2s-17.6-19.6-12.2-31.7l19.1-43.1c11.7-26.3 37.7-43.2 66.4-43.2c22.9 0 44.4 10.8 58.2 29.1L292 192h56l18.7-24.9-35.3-58.8c-6.8-11.4-3.1-26.1 8.2-32.9zM80 400c-17.7 0-32 14.3-32 32s14.3 32 32 32H240c17.7 0 32-14.3 32-32s-14.3-32-32-32H80zm160-48H465.5L528 310.3V269.7L398.4 204.8l-72 96L312 320H288 109.7l-16 32H240z\"]\n};\nvar faSnowmobile = faPersonSnowmobiling;\nvar faFaceHushed = {\n prefix: 'far',\n iconName: 'face-hushed',\n icon: [512, 512, [], \"e37b\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm176.4-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM179 160.9c-21.2 2.8-40.6 12.4-56.1 26.8c-6.5 6-16.6 5.7-22.6-.8s-5.7-16.6 .8-22.6c20.1-18.7 45.5-31.5 73.7-35.2c5.6-.7 11.4-1.1 17.2-1.1c8.8 0 16 7.2 16 16s-7.2 16-16 16c-4.4 0-8.8 .3-13 .9zm141-.9c-8.8 0-16-7.2-16-16s7.2-16 16-16c5.8 0 11.6 .4 17.2 1.1c28.2 3.7 53.7 16.4 73.7 35.2c6.5 6 6.8 16.2 .8 22.6s-16.2 6.8-22.6 .8c-15.5-14.5-34.8-24-56.1-26.8c-4.3-.6-8.6-.9-13-.9zM256 336a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faCommentsDollar = {\n prefix: 'far',\n iconName: 'comments-dollar',\n icon: [640, 512, [], \"f653\", \"M80.7 253.2c14.3 15 17.3 37.6 7.5 55.8c-1.1 2-2.2 4-3.2 5.9c-2.5 4.5-5.2 9-7.9 13.6c17.1-4.5 33.9-10.7 49.9-18c4.3-1.9 8.5-3.9 12.6-6c9.5-4.8 20.3-6.2 30.7-4.2c12.1 2.4 24.8 3.6 37.8 3.6c96.2 0 160-64.5 160-128s-63.8-128-160-128S48 112.5 48 176c0 28 11.4 54.9 32.7 77.2zM416 176c0 97.2-93.1 176-208 176c-16.2 0-31.9-1.6-47.1-4.5c-4.6 2.3-9.4 4.6-14.2 6.8C110.5 370.7 67 384 24 384c-9.6 0-18.2-5.7-22-14.5c-3.8-8.8-2-19 4.6-25.9c14.2-15.6 26.2-33.7 36.6-52.1c.9-1.7 1.9-3.4 2.8-5.1C17.2 256.1 0 217.8 0 176C0 78.8 93.1 0 208 0S416 78.8 416 176zM245.2 381.5c17.2-2.4 34-6.3 50-11.8C322 405.5 370.3 432 432 432c13.1 0 25.8-1.3 37.8-3.6c10.4-2 21.2-.6 30.7 4.2c4.1 2.1 8.3 4.1 12.6 6c16 7.2 32.9 13.5 49.9 18c-2.8-4.6-5.4-9.1-7.9-13.6c-1.1-1.9-2.2-3.9-3.2-5.9c-9.8-18.3-6.8-40.8 7.5-55.8C580.6 358.9 592 332 592 304c0-59.9-56.8-120.7-144-127.4l0-.6c0-16.6-2.2-32.6-6.2-47.8C552.1 132.5 640 209.6 640 304c0 41.8-17.2 80.1-45.9 110.3c.9 1.7 1.9 3.5 2.8 5.1c10.3 18.4 22.3 36.5 36.6 52.1c6.6 7 8.3 17.2 4.6 25.9c-3.8 8.8-12.5 14.5-22 14.5c-43 0-86.5-13.3-122.7-29.7c-4.8-2.2-9.6-4.5-14.2-6.8c-15.1 3-30.9 4.5-47.1 4.5c-82 0-153-40.2-186.8-98.5zM224 83.6V97.4c7.2 1.1 14.1 2.7 20.5 4.4c8.5 2.2 13.7 11 11.4 19.5s-11 13.7-19.5 11.4c-10-2.6-19.7-4.5-28.6-4.7c-7.4-.1-15.1 1.6-20.5 4.7c-4.8 2.8-6.5 5.8-6.4 9.8c0 2.3 .6 4.4 5.7 7.4c6 3.6 14.5 6.2 25.9 9.6l.5 .2 0 0c10.1 3 22.9 6.8 33 13.1c11.2 7 21 18.2 21.2 35.5c.2 18-9.1 30.9-21.5 38.5c-6.7 4.1-14.2 6.7-21.7 8v13.7c0 8.8-7.2 16-16 16s-16-7.2-16-16V254.1c-9.7-1.9-18.8-5-26.7-7.7l0 0 0 0c-1.9-.7-3.8-1.3-5.5-1.9c-8.4-2.8-13-11.8-10.2-20.2s11.8-13 20.2-10.2c2.2 .7 4.4 1.5 6.5 2.2l0 0c12.2 4.1 21.9 7.4 32.3 7.7c8 .3 15.6-1.5 20.5-4.5c4.2-2.6 6.3-5.7 6.2-10.8c0-3.2-1.1-5.6-6.1-8.7c-5.9-3.7-14.5-6.4-25.7-9.8l-1.5-.4 0 0c-9.8-2.9-22-6.6-31.6-12.3c-11-6.6-21.2-17.4-21.3-34.7c-.1-18.1 10.2-30.5 22.3-37.6c6.5-3.8 13.7-6.2 20.8-7.6V83.6c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faTicketsSimple = {\n prefix: 'far',\n iconName: 'tickets-simple',\n icon: [640, 512, [], \"e659\", \"M144 96c0-8.8 7.2-16 16-16H576c8.8 0 16 7.2 16 16v38.2c-24 15.7-40 42.8-40 73.8s16 58.1 40 73.8V320c0 8.8-7.2 16-16 16H160c-8.8 0-16-7.2-16-16V281.8c24-15.7 40-42.8 40-73.8s-16-58.1-40-73.8V96zM96 96v56c0 8.8 7.4 15.7 15.6 19.1c14.4 6.1 24.4 20.3 24.4 36.9s-10.1 30.8-24.4 36.9C103.4 248.3 96 255.2 96 264v56c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V264c0-8.8-7.4-15.7-15.6-19.1C610.1 238.8 600 224.6 600 208s10.1-30.8 24.4-36.9c8.1-3.4 15.6-10.3 15.6-19.1V96c0-35.3-28.7-64-64-64H160c-35.3 0-64 28.7-64 64zM48 120c0-13.3-10.7-24-24-24S0 106.7 0 120V360c0 66.3 53.7 120 120 120H520c13.3 0 24-10.7 24-24s-10.7-24-24-24H120c-39.8 0-72-32.2-72-72V120z\"]\n};\nvar faPickaxe = {\n prefix: 'far',\n iconName: 'pickaxe',\n icon: [512, 512, [], \"e5bf\", \"M460.3 112.6c47.6 66.4 63.4 152.5 42 231.5c-.3 .9-.5 1.9-.8 2.8c-1.3 4.4-2.6 8.9-4.1 13.2l-.2 .6c-1.5 4.5-3.2 8.9-5 13.3c-5.4 13.3-24.9 13-29.8-.5c-1.8-4.6-3.6-9.3-5.6-13.9c-1.6-3.7-3.2-7.4-4.9-11.1l-.8-1.7c-28.4-62.2-70.9-119.9-118.5-167.6C285.3 131.9 227.5 88.9 165.3 60.8l-1.7-.8c-3.7-1.7-7.5-3.3-11.3-4.9c-4.6-1.9-9.2-3.7-13.8-5.5c-13.4-5-13.7-24.5-.5-29.8c4.4-1.8 8.8-3.4 13.3-5l.2-.1c4.5-1.5 9-2.9 13.5-4.2c1-.3 2-.5 2.9-.8c78.9-21.3 165-5.5 231.3 42.1l9.5-9.9c6-6.2 14.2-9.7 22.8-9.8s16.9 3.3 22.9 9.4l16 16c6.1 6.1 9.5 14.3 9.4 22.9s-3.6 16.8-9.8 22.8l-9.9 9.5zm-62.2 .7C357 72.3 301 49.8 244.2 48.4c45.4 27.7 86.9 61.4 122.4 97c35.9 35.9 69.4 77.5 97 122.8c-1.3-57.2-24.1-113.6-65.5-154.8zM8.9 457.8l272-282.9c9.7 8.4 19.5 17.4 29.1 27s18.6 19.4 27 29.1L54.2 503.1c-12.6 12.1-32.5 11.9-44.8-.4S-3.1 470.4 8.9 457.8z\"]\n};\nvar faLinkSimpleSlash = {\n prefix: 'far',\n iconName: 'link-simple-slash',\n icon: [640, 512, [], \"e1ce\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L532.4 392c45.4-28.2 75.6-78.6 75.6-136c0-88.4-71.6-160-160-160H376c-13.3 0-24 10.7-24 24s10.7 24 24 24h72c61.9 0 112 50.1 112 112c0 46.6-28.5 86.6-69.1 103.5L389.5 280H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H328.3L216 144h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H192c-11.3 0-22.3 1.2-32.9 3.4L38.8 5.1zm69.6 176.3L70.7 151.7C46.6 179.7 32 216.1 32 256c0 88.4 71.6 160 160 160h72c13.3 0 24-10.7 24-24s-10.7-24-24-24H192c-61.9 0-112-50.1-112-112c0-28.6 10.7-54.8 28.4-74.6z\"]\n};\nvar faDemocrat = {\n prefix: 'far',\n iconName: 'democrat',\n icon: [640, 512, [], \"f747\", \"M102.2 4.7C99.8 11.1 96 23.1 96 32c0 12.7 5 22.8 11.1 30.5c-5.3 3.6-10.2 7.9-14.7 12.6l-70.6 76C7.8 166.2 0 186.1 0 206.6C0 251.4 36.2 288 81.2 288c13.8 0 27.4-3.5 39.4-10.2L157 257.5l35 75.7V456c0 30.9 25.1 56 56 56h32c30.9 0 56-25.1 56-56V432h96v24c0 30.9 25.1 56 56 56h32c30.9 0 56-25.1 56-56V328 216c0-1.4 0-2.8-.1-4.2c5.5 5.7 9.9 11.1 13.2 15.4c2.2 2.9 3.9 5.4 5 7c.5 .8 .9 1.4 1.1 1.8l.2 .3 0 0 0 0 0 0 0 0 0 0c6.8 11.3 21.5 15.1 32.9 8.3c11.4-6.8 15.1-21.5 8.4-32.9L616 224c20.6-12.3 20.6-12.3 20.6-12.3l0 0 0 0-.1-.1-.2-.3-.5-.8c-.4-.7-1-1.6-1.8-2.8c-1.5-2.3-3.8-5.5-6.6-9.3c-5.7-7.6-14.2-17.7-25.1-27.9c-21.5-20-55.1-42.4-98.3-42.4c-1.9 0-3.7 .2-5.5 .6c-3.5-.4-7-.6-10.5-.6H291.1c-1.8 0-3.5-.6-5-1.7L209.9 66.1c7.3-8 14.1-19.3 14.1-34.1c0-8.9-3.8-20.9-6.2-27.3C216.8 1.8 214 0 211 0c-1.9 0-3.8 .7-5.2 2.1L160 45.7 114.2 2.1C112.8 .7 110.9 0 109 0c-3 0-5.8 1.8-6.8 4.7zM240 352H528V456c0 4.4-3.6 8-8 8H488c-4.4 0-8-3.6-8-8V408c0-13.3-10.7-24-24-24H312c-13.3 0-24 10.7-24 24v48c0 4.4-3.6 8-8 8H248c-4.4 0-8-3.6-8-8V352zm288-48H231.4l-41.6-90.1c-2.8-6.1-8-10.7-14.3-12.8s-13.3-1.4-19.1 1.8l-59 32.8c-4.9 2.7-10.5 4.2-16.1 4.2C63 240 48 225.1 48 206.6c0-8.5 3.2-16.7 8.9-22.8l70.6-76c7.1-7.7 17.1-12.2 27.5-12.4c9.1-.2 17.9 2.7 25 8.3L256.4 164c9.9 7.8 22.1 12 34.7 12H488c22.1 0 40 17.9 40 40v88zM379.3 210.3c-.7-1.4-2.2-2.3-3.8-2.3s-3.1 .9-3.8 2.3l-8.4 16.4-18.8 2.6c-1.6 .2-2.9 1.3-3.4 2.8s-.1 3.1 1.1 4.2l13.6 12.8-3.2 18.1c-.3 1.5 .4 3.1 1.7 4s3.1 1 4.5 .3l16.8-8.5 16.8 8.5c1.4 .7 3.2 .6 4.5-.3s2-2.5 1.7-4l-3.2-18.1 13.6-12.8c1.2-1.1 1.6-2.7 1.1-4.2s-1.8-2.6-3.4-2.8l-18.8-2.6-8.4-16.4zM279.5 208c-1.6 0-3.1 .9-3.8 2.3l-8.4 16.4-18.8 2.6c-1.6 .2-2.9 1.3-3.4 2.8s-.1 3.1 1.1 4.2l13.6 12.8-3.2 18.1c-.3 1.5 .4 3.1 1.7 4s3.1 1 4.5 .3l16.8-8.5 16.8 8.5c1.4 .7 3.2 .6 4.5-.3s2-2.5 1.7-4l-3.2-18.1 13.6-12.8c1.2-1.1 1.6-2.7 1.1-4.2s-1.8-2.6-3.4-2.8l-18.8-2.6-8.4-16.4c-.7-1.4-2.2-2.3-3.8-2.3zm195.8 2.3c-.7-1.4-2.2-2.3-3.8-2.3s-3.1 .9-3.8 2.3l-8.4 16.4-18.8 2.6c-1.6 .2-2.9 1.3-3.4 2.8s-.1 3.1 1.1 4.2l13.6 12.8-3.2 18.1c-.3 1.5 .4 3.1 1.7 4s3.1 1 4.5 .3l16.8-8.5 16.8 8.5c1.4 .7 3.2 .6 4.5-.3s2-2.5 1.7-4l-3.2-18.1 13.6-12.8c1.2-1.1 1.6-2.7 1.1-4.2s-1.8-2.6-3.4-2.8l-18.8-2.6-8.4-16.4z\"]\n};\nvar faFaceConfused = {\n prefix: 'far',\n iconName: 'face-confused',\n icon: [512, 512, [], \"e36d\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM203.2 385.6l-12.8 9.6c-10.6 8-25.6 5.8-33.6-4.8s-5.8-25.6 4.8-33.6l12.8-9.6c37.4-28 82.9-43.2 129.6-43.2h40c13.3 0 24 10.7 24 24s-10.7 24-24 24H304c-36.4 0-71.7 11.8-100.8 33.6zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faPinball = {\n prefix: 'far',\n iconName: 'pinball',\n icon: [448, 512, [], \"e229\", \"M352 176a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm0-144a96 96 0 1 1 0 192 96 96 0 1 1 0-192zM312 408L126.8 251.2c-20.3-17-50.5-14.3-67.6 6s-14.4 50.6 6 67.7c4.5 3.8 9.8 6.8 15.9 8.8l.1 0L312 408zM66.3 379.3c-12.1-3.9-22.8-10-32-17.7c-40.6-34.1-46-94.7-11.9-135.3s94.6-45.9 135.2-11.8l246 208.3c12.6 9.8 15.8 27.1 8.4 40.6c-7.2 13.2-23.1 19.9-37.9 15L66.3 379.3zM96 264a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faZ = {\n prefix: 'far',\n iconName: 'z',\n icon: [384, 512, [122], \"5a\", \"M0 56C0 42.7 10.7 32 24 32H360c9.3 0 17.8 5.4 21.8 13.9s2.6 18.4-3.4 25.6L75.5 432H360c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-9.3 0-17.8-5.4-21.8-13.9s-2.6-18.4 3.4-25.6L308.5 80H24C10.7 80 0 69.3 0 56z\"]\n};\nvar faPersonSkiing = {\n prefix: 'far',\n iconName: 'person-skiing',\n icon: [512, 512, [9975, \"skiing\"], \"f7c9\", \"M380.7 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM2.7 268.9c6.1-11.8 20.6-16.3 32.4-10.2L239.8 365l49.6-74.5-82.7-87.9c-9.5-10.1-14.4-22.4-15.1-34.9l87.7 42 49.4 52.5c12.8 13.6 14.5 34.1 4.2 49.6l-50.2 75.4 135.8 70.5c13.6 7.1 29.8 7.2 43.6 .3l15.2-7.6c11.9-5.9 26.3-1.1 32.2 10.7s1.1 26.3-10.7 32.2l-15.2 7.6c-27.5 13.7-59.9 13.5-87.2-.7L12.9 301.3C1.2 295.2-3.4 280.7 2.7 268.9zM118.9 65.6L137 74.2l8.7-17.4c4-7.9 13.6-11.1 21.5-7.2s11.1 13.6 7.2 21.5l-8.5 16.9 55.5 26.6c1.7-.9 3.5-1.7 5.4-2.5l80.9-32.4c32.4-13 68.6 6.5 75.6 40.7l12.3 59.7 62.9 30.1c12 5.7 17 20 11.3 32s-20 17-32 11.3l-54.2-25.9c-1-.3-1.9-.6-2.8-1l-229.1-110-9.2 18.4c-4 7.9-13.6 11.1-21.5 7.2s-11.1-13.6-7.2-21.5l9-18-17.6-8.4c-8-3.8-11.3-13.4-7.5-21.3s13.4-11.3 21.3-7.5zm217.3 64.7c-1-4.9-6.2-7.7-10.8-5.8l-45.7 18.3 65.5 31.5-9-43.9z\"]\n};\nvar faSkiing = faPersonSkiing;\nvar faDeer = {\n prefix: 'far',\n iconName: 'deer',\n icon: [512, 512, [129420], \"f78e\", \"M256 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V40c0 30.9 25.1 56 56 56h8 8 24l-50.4 12.6c-8 2-13.6 9.2-13.6 17.4c0 9.9 8 18 18 18h28.2L295 168H104c-36.5 0-68.3 20.4-84.5 50.4c-9.2 13.7-15.1 30-16.2 47.6L0 319c-.6 8.8 6.2 16.4 15 17c8.5 .5 15.9-5.7 16.9-14.1l1.1 1.1c4.5 4.5 7 10.6 7 17v4.3c0 2.6-.4 5.1-1.2 7.6l-8.2 24.7c-5.1 15.4-4.9 32.1 .6 47.4l22.5 61.8C59.4 501.5 74.4 512 91.2 512h46c27.8 0 47.1-27.6 37.6-53.7L157 409.5l6.5-4.3c15.2-10.1 25.6-25.4 29.9-42.4c20 8.7 41.7 13.3 63.8 13.3H264v96c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V311.8c0-2.6 .4-5.1 1.2-7.6L409.3 256h42.3c37.8 0 68.4-30.6 68.4-68.4c0-19.3-8.1-37.6-22.4-50.6L444.1 88.4C460.8 78.7 472 60.7 472 40V16c0-8.8-7.2-16-16-16s-16 7.2-16 16V40c0 13.3-10.7 24-24 24H386.1 346.6c3.5-7.3 5.4-15.4 5.4-24V16c0-8.8-7.2-16-16-16s-16 7.2-16 16V40c0 13.3-10.7 24-24 24h-8-8c-13.3 0-24-10.7-24-24V16zm130.1 96c8.1 0 15.9 3 21.9 8.5l57.3 52.1c4.2 3.9 6.7 9.3 6.7 15.1c0 11.3-9.1 20.4-20.4 20.4H392c-10.3 0-19.5 6.6-22.8 16.4L347.7 289c-2.4 7.3-3.7 15-3.7 22.8V464H312V352c0-13.3-10.7-24-24-24H257.2c-22.1 0-43.7-6.5-62.1-18.8L181.3 300c-8-5.3-18.3-5.4-26.3-.2s-12.2 14.7-10.6 24.1l2.9 17.4c1.6 9.3-2.5 18.7-10.4 23.9L114.7 380c-9.2 6.1-13 17.8-9.2 28.2L125.7 464H96.8L76.3 407.5c-1.9-5.1-1.9-10.7-.2-15.8L84.3 367c2.4-7.3 3.7-15 3.7-22.8v-4.3c0-19.1-7.6-37.4-21.1-50.9L63 285.1c-4.5-4.5-7-10.6-7-17V264c0-26.5 21.5-48 48-48H312.9c10.6 0 20-7 23-17.1l19-63.6c4.1-13.8 16.8-23.2 31.2-23.2zM416 160a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faInputPipe = {\n prefix: 'far',\n iconName: 'input-pipe',\n icon: [640, 512, [], \"e1be\", \"M64 112c-8.8 0-16 7.2-16 16V384c0 8.8 7.2 16 16 16H576c8.8 0 16-7.2 16-16V128c0-8.8-7.2-16-16-16H64zM0 128C0 92.7 28.7 64 64 64H576c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128zm144 56V328c0 13.3-10.7 24-24 24s-24-10.7-24-24V184c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faRoadLock = {\n prefix: 'far',\n iconName: 'road-lock',\n icon: [640, 512, [], \"e567\", \"M217.7 32c-30.4 0-57.5 19-67.7 47.6L40.6 383.6C23.7 430.5 58.4 480 108.3 480H384V432H344V408c0-13.3-10.7-24-24-24s-24 10.7-24 24v24H108.3c-16.6 0-28.2-16.5-22.6-32.1l109.4-304c3.4-9.5 12.5-15.9 22.6-15.9H296v24c0 13.3 10.7 24 24 24s24-10.7 24-24V80h78.3c10.1 0 19.2 6.3 22.6 15.9l28.3 78.5c13.8-7.8 29.4-12.7 46-14L490 79.6C479.7 51 452.6 32 422.3 32H217.7zM344 216c0-13.3-10.7-24-24-24s-24 10.7-24 24v80c0 13.3 10.7 24 24 24s24-10.7 24-24V216zm184 24c17.7 0 32 14.3 32 32v48H496V272c0-17.7 14.3-32 32-32zm-80 32v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"]\n};\nvar faA = {\n prefix: 'far',\n iconName: 'a',\n icon: [384, 512, [97], \"41\", \"M214.1 46.7C210.4 37.8 201.7 32 192 32s-18.4 5.8-22.1 14.7l-168 400c-5.1 12.2 .6 26.3 12.8 31.4s26.3-.6 31.4-12.8L80.3 384H303.7l34.1 81.3c5.1 12.2 19.2 18 31.4 12.8s18-19.2 12.8-31.4l-168-400zM283.6 336H100.4L192 118l91.6 218z\"]\n};\nvar faBookmarkSlash = {\n prefix: 'far',\n iconName: 'bookmark-slash',\n icon: [640, 512, [], \"e0c2\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L512 376V48c0-26.5-21.5-48-48-48H176c-26.5 0-48 21.5-48 48V75L38.8 5.1zM176 112.6V48H464V338.4L176 112.6zM509.9 497.8L315.3 344.5c-3.3 .6-6.5 2-9.3 4L176 441.4V234.7l-48-37.8V488c0 9 5 17.2 13 21.3s17.6 3.4 24.9-1.8L320 397.5l154.1 110c7.3 5.2 16.9 5.9 24.9 1.8c4.9-2.5 8.8-6.7 10.9-11.6z\"]\n};\nvar faTemperatureArrowDown = {\n prefix: 'far',\n iconName: 'temperature-arrow-down',\n icon: [576, 512, [\"temperature-down\"], \"e03f\", \"M176 48c-35.3 0-64 28.7-64 64V273.9c0 14.5-5.7 27.1-12.8 36.6C87.1 326.5 80 346.4 80 368c0 53 43 96 96 96s96-43 96-96c0-21.6-7.1-41.5-19.2-57.5c-7.1-9.5-12.8-22.1-12.8-36.6V112c0-35.3-28.7-64-64-64zM64 112C64 50.1 114.1 0 176 0s112 50.1 112 112V273.9c0 1.7 .7 4.4 3.2 7.8c18.1 24.1 28.8 54 28.8 86.4c0 79.5-64.5 144-144 144S32 447.5 32 368c0-32.4 10.7-62.3 28.8-86.4c2.5-3.4 3.2-6.1 3.2-7.8V112zM224 368c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3V272c0-8.8 7.2-16 16-16s16 7.2 16 16v50.7c18.6 6.6 32 24.4 32 45.3zM448 480c-6.8 0-13.3-2.9-17.8-7.9l-72-80c-8.9-9.9-8.1-25 1.8-33.9s25-8.1 33.9 1.8L424 393.5 424 56c0-13.3 10.7-24 24-24s24 10.7 24 24l0 337.5 30.2-33.5c8.9-9.9 24-10.7 33.9-1.8s10.7 24 1.8 33.9l-72 80c-4.6 5.1-11 7.9-17.8 7.9z\"]\n};\nvar faTemperatureDown = faTemperatureArrowDown;\nvar faMace = {\n prefix: 'far',\n iconName: 'mace',\n icon: [512, 512, [], \"f6f8\", \"M244.8 95l28-84.1C275 4.4 281.1 0 288 0s13 4.4 15.2 10.9l28 84.1c40.4 13.5 72.3 45.4 85.8 85.8l84.1 28c6.5 2.2 10.9 8.3 10.9 15.2s-4.4 13-10.9 15.2l-84.1 28c-13.5 40.4-45.4 72.3-85.8 85.8l-28 84.1C301 443.6 294.9 448 288 448s-13-4.4-15.2-10.9l-28-84.1c-12.4-4.1-24-10-34.5-17.4L41 505c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L176.4 301.7c-7.3-10.5-13.2-22.1-17.4-34.5l-84.1-28C68.4 237 64 230.9 64 224s4.4-13 10.9-15.2l84.1-28c13.5-40.4 45.4-72.3 85.8-85.8zM288 312a88 88 0 1 0 0-176 88 88 0 1 0 0 176zm-32-88a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faFeatherPointed = {\n prefix: 'far',\n iconName: 'feather-pointed',\n icon: [512, 512, [\"feather-alt\"], \"f56b\", \"M117.7 343.9c-11.2-41.4-11.7-113 53.7-178.3c38.1-38.1 93.7-66.3 152.8-85.7c50.6-16.7 100.7-26 138.3-30.3c-4.3 37.6-13.6 87.7-30.3 138.3c-2.2 6.8-4.6 13.5-7 20.1H337.9l7.9-7.9c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L122.8 355.2c-2.6-4.1-4.2-7.9-5.1-11.3zm4.6 79.7c10 7.6 21 13.7 33.3 17c54.1 14.6 144.7 14 224.8-66.1C471.5 283.5 505 120.5 511.9 36.8c.8-9.9-3-19.6-10-26.6s-16.7-10.8-26.6-10C391.5 7 228.5 40.5 137.4 131.6C57.3 211.7 56.7 302.3 71.3 356.4c3.3 12.2 9.4 23.2 17 33.3L7 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l81.3-81.3zm34.5-34.5L193.9 352H334.3c-61.9 53.9-127.3 52.9-166.2 42.3c-3.5-.9-7.2-2.6-11.3-5.2zm220-85.2H241.9l48-48H404.6c-8.4 17-17.7 33.2-27.9 48z\"]\n};\nvar faFeatherAlt = faFeatherPointed;\nvar faSausage = {\n prefix: 'far',\n iconName: 'sausage',\n icon: [512, 512, [], \"f820\", \"M447.5 69.3l15.2-41.9c.8-2.2 1.2-4.6 1.2-7C464 9.1 454.9 0 443.6 0H388.4C377.1 0 368 9.1 368 20.4c0 2.4 .4 4.7 1.2 7l15.2 41.9C346.9 82.3 320 118 320 160c0 88.4-71.6 160-160 160c-42 0-77.7 26.9-90.7 64.5L27.4 369.2c-2.2-.8-4.6-1.2-7-1.2C9.1 368 0 377.1 0 388.4v55.2C0 454.9 9.1 464 20.4 464c2.4 0 4.7-.4 7-1.2l41.9-15.2C82.3 485.1 118 512 160 512c194.4 0 352-157.6 352-352c0-42-26.9-77.7-64.5-90.7zM112 416c0-26.5 21.5-48 48-48c114.9 0 208-93.1 208-208c0-26.5 21.5-48 48-48s48 21.5 48 48c0 167.9-136.1 304-304 304c-26.5 0-48-21.5-48-48z\"]\n};\nvar faTrashCanClock = {\n prefix: 'far',\n iconName: 'trash-can-clock',\n icon: [576, 512, [], \"e2aa\", \"M170.5 51.6L151.5 80h145l-19-28.4c-1.5-2.2-4-3.6-6.7-3.6H177.1c-2.7 0-5.2 1.3-6.7 3.6zm147-26.6L354.2 80H368h48 8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8v64.7c-16.8 1.5-32.9 5.4-48 11.3V128H80V432c0 17.7 14.3 32 32 32H284.5c12.3 18.8 28 35.1 46.3 48H112c-44.2 0-80-35.8-80-80V128H24c-13.3 0-24-10.7-24-24S10.7 80 24 80h8H80 93.8l36.7-55.1C140.9 9.4 158.4 0 177.1 0h93.7c18.7 0 36.2 9.4 46.6 24.9zM320 192v40.2c-12.1 10-22.9 21.7-32 34.6V192c0-8.8 7.2-16 16-16s16 7.2 16 16zm-160 0V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8 7.2-16 16-16s16 7.2 16 16zm80 0V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8 7.2-16 16-16s16 7.2 16 16zm48 176a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-80c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H448V304c0-8.8-7.2-16-16-16z\"]\n};\nvar faP = {\n prefix: 'far',\n iconName: 'p',\n icon: [320, 512, [112], \"50\", \"M56 80H168c57.4 0 104 46.6 104 104s-46.6 104-104 104H48V88c0-4.4 3.6-8 8-8zM48 336H168c83.9 0 152-68.1 152-152s-68.1-152-152-152H56C25.1 32 0 57.1 0 88V312 456c0 13.3 10.7 24 24 24s24-10.7 24-24V336z\"]\n};\nvar faBroomWide = {\n prefix: 'far',\n iconName: 'broom-wide',\n icon: [512, 512, [], \"e5d1\", \"M505 41c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L335 143l-12.9-12.9c-20.2-20.2-51.4-24.6-76.3-10.7L16.4 246.9C6.3 252.5 0 263.2 0 274.8c0 8.5 3.4 16.6 9.3 22.6L214.7 502.7c6 6 14.1 9.3 22.6 9.3c11.6 0 22.3-6.3 27.9-16.4L392.6 266.2c13.9-25 9.5-56.1-10.7-76.3L369 177 505 41zM323.6 291.6l-90 162.1L137 357.1l18-53.9c2.1-6.3-3.9-12.2-10.1-10.1L90.9 311 58.4 278.5l162.1-90L323.6 291.6z\"]\n};\nvar faSnowflake = {\n prefix: 'far',\n iconName: 'snowflake',\n icon: [448, 512, [10052, 10054], \"f2dc\", \"M224 0c13.3 0 24 10.7 24 24V70.1l23-23c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-57 57v76.5l66.2-38.2 20.9-77.8c3.4-12.8 16.6-20.4 29.4-17s20.4 16.6 17 29.4L373 142.2l37.1-21.4c11.5-6.6 26.2-2.7 32.8 8.8s2.7 26.2-8.8 32.8L397 183.8l31.5 8.4c12.8 3.4 20.4 16.6 17 29.4s-16.6 20.4-29.4 17l-77.8-20.9L272 256l66.2 38.2 77.8-20.9c12.8-3.4 26 4.2 29.4 17s-4.2 26-17 29.4L397 328.2l37.1 21.4c11.5 6.6 15.4 21.3 8.8 32.8s-21.3 15.4-32.8 8.8L373 369.8l8.4 31.5c3.4 12.8-4.2 26-17 29.4s-26-4.2-29.4-17l-20.9-77.8L248 297.6v76.5l57 57c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-23-23V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V441.9l-23 23c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l57-57V297.6l-66.2 38.2-20.9 77.8c-3.4 12.8-16.6 20.4-29.4 17s-20.4-16.6-17-29.4L75 369.8 37.9 391.2c-11.5 6.6-26.2 2.7-32.8-8.8s-2.7-26.2 8.8-32.8L51 328.2l-31.5-8.4c-12.8-3.4-20.4-16.6-17-29.4s16.6-20.4 29.4-17l77.8 20.9L176 256l-66.2-38.2L31.9 238.6c-12.8 3.4-26-4.2-29.4-17s4.2-26 17-29.4L51 183.8 13.9 162.4c-11.5-6.6-15.4-21.3-8.8-32.8s21.3-15.4 32.8-8.8L75 142.2l-8.4-31.5c-3.4-12.8 4.2-26 17-29.4s26 4.2 29.4 17l20.9 77.8L200 214.4V137.9L143 81c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l23 23V24c0-13.3 10.7-24 24-24z\"]\n};\nvar faStomach = {\n prefix: 'far',\n iconName: 'stomach',\n icon: [512, 512, [], \"f623\", \"M184 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V96c0 66.3 53.7 120 120 120h.2c-.2 2.6-.2 5.3-.2 8v64c0 39.8-32.2 72-72 72H120C53.7 360 0 413.7 0 480v8c0 13.3 10.7 24 24 24s24-10.7 24-24v-8c0-35.3 28.7-64 64-64c9.6 0 19 3.5 30.6 11.1c8.8 5.7 17.1 12.6 26.9 20.7c4.2 3.4 8.6 7.1 13.5 11C214.6 484 255.9 512 320 512c106 0 192-86 192-192V224c0-70.7-57.3-128-128-128c-50.6 0-94.4 29.4-115.1 72H256c-39.8 0-72-32.2-72-72V24zm18 388.3c-2-1.6-4-3.3-6-4.9c46.2-4.6 84.6-35.4 100.4-77.3c12.2-6.9 22.6-8 32.7-6.6c12.4 1.7 24.9 7.1 41.1 14.4l1.2 .6c14.8 6.6 33.1 14.8 53 17.6c11.5 1.6 23.3 1.3 35.4-1.5C444.4 417.4 387.6 464 320 464c-47.9 0-78.6-20-107-42.7c-3.5-2.8-7.2-5.8-10.9-8.9l0 0 0 0 0 0zM464 301.6c-12.4 7.1-22.9 8.2-33.1 6.8c-12.4-1.7-24.9-7.1-41.1-14.4l-1.2-.6c-14.8-6.6-33.1-14.8-53-17.6c-10.3-1.4-20.8-1.4-31.6 .7V224c0-44.2 35.8-80 80-80s80 35.8 80 80v77.6z\"]\n};\nvar faNewspaper = {\n prefix: 'far',\n iconName: 'newspaper',\n icon: [512, 512, [128240], \"f1ea\", \"M168 80c-13.3 0-24 10.7-24 24V408c0 8.4-1.4 16.5-4.1 24H440c13.3 0 24-10.7 24-24V104c0-13.3-10.7-24-24-24H168zM72 480c-39.8 0-72-32.2-72-72V112C0 98.7 10.7 88 24 88s24 10.7 24 24V408c0 13.3 10.7 24 24 24s24-10.7 24-24V104c0-39.8 32.2-72 72-72H440c39.8 0 72 32.2 72 72V408c0 39.8-32.2 72-72 72H72zM176 136c0-13.3 10.7-24 24-24h96c13.3 0 24 10.7 24 24v80c0 13.3-10.7 24-24 24H200c-13.3 0-24-10.7-24-24V136zm200-24h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H376c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 80h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H376c-13.3 0-24-10.7-24-24s10.7-24 24-24zM200 272H408c13.3 0 24 10.7 24 24s-10.7 24-24 24H200c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 80H408c13.3 0 24 10.7 24 24s-10.7 24-24 24H200c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faRectangleAd = {\n prefix: 'far',\n iconName: 'rectangle-ad',\n icon: [576, 512, [\"ad\"], \"f641\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H512c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm229.5 77.3l72 144c5.9 11.9 1.1 26.3-10.7 32.2s-26.3 1.1-32.2-10.7L253.2 328H162.8l-5.4 10.7c-5.9 11.9-20.3 16.7-32.2 10.7s-16.7-20.3-10.7-32.2l72-144c4.1-8.1 12.4-13.3 21.5-13.3s17.4 5.1 21.5 13.3zM208 237.7L186.8 280h42.3L208 237.7zM392 256a24 24 0 1 0 0 48 24 24 0 1 0 0-48zm24-43.9V184c0-13.3 10.7-24 24-24s24 10.7 24 24v96 48c0 13.3-10.7 24-24 24c-6.6 0-12.6-2.7-17-7c-9.4 4.5-19.9 7-31 7c-39.8 0-72-32.2-72-72s32.2-72 72-72c8.4 0 16.5 1.4 24 4.1z\"]\n};\nvar faAd = faRectangleAd;\nvar faGuitarElectric = {\n prefix: 'far',\n iconName: 'guitar-electric',\n icon: [512, 512, [127928], \"f8be\", \"M352 126.1V81.1c0-10.7 5.3-20.7 14.2-26.6L435.6 8.3C443.7 2.9 453.2 0 462.9 0H464c26.5 0 48 21.5 48 48s-21.5 48-48 48H449.9L314.4 231.6c9.1 8.1 13.8 8.4 14.9 8.4c2.6 .1 4.3-.6 10.9-3.5l3.7-1.6c13.2-5.6 36-8.3 52.3 8.2c15.8 15.9 15.8 41.7 0 57.6l-21.6 21.8c-12.2 12.3-28.2 18.8-38.7 23l-2.1 .8c-5.5 2.2-12.7 6.3-20.3 14c-17.3 17.5-23.7 39.4-30.6 63.5c-.9 3-1.7 6-2.6 9.1c-5.2 17.5-14.1 35-28.1 49.2c-39.4 39.9-103.5 39.9-142.9 0L29.5 401.3c-39.3-39.7-39.3-104 0-143.7c14.1-14.2 31.4-23.3 48.8-28.5c2.9-.9 5.7-1.7 8.6-2.6l0 0c23.9-7.1 45.6-13.5 63-31.1c6.3-6.3 10.1-12.4 12.5-17.5c.8-1.8 1.8-3.8 2.8-6c5.4-11.9 13.1-29.1 25.6-41.7l29.9-30.2c15.9-16.1 41.8-16.1 57.7 0c16.1 16.3 14.2 39.7 5.2 54.6c-1.1 1.8-2.1 3.4-3 4.9l0 0c-4.9 8-7.8 12.7-8.8 18.2c-.6 3.2-1 9.2 8.7 19.8L352 126.1zM167 263c9.4-9.4 24.6-9.4 33.9 0l48 48c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-48-48c-9.4-9.4-9.4-24.6 0-33.9zm-64 64c9.4-9.4 24.6-9.4 33.9 0l48 48c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-48-48c-9.4-9.4-9.4-24.6 0-33.9zM242.4 129.8l0 0 0 0 0-.1zm-18 39.8c.4-2.3 .9-4.5 1.5-6.7l-1.2 1.2c-5.9 5.9-9.4 13.5-14.7 25.1l0 0c-1.3 2.9-2.8 6-4.4 9.4c-4.6 9.6-11.5 20.2-21.7 30.6c-26.7 27-60.7 36.8-83.8 43.5l0 0c-2.8 .8-5.5 1.6-7.9 2.3c-11.5 3.5-21.3 9-28.6 16.4c-20.8 21-20.8 55.2 0 76.2l79.9 80.8c20.6 20.9 54 20.9 74.6 0c7.3-7.4 12.8-17.4 16.3-29.1c.8-2.6 1.5-5.3 2.4-8.2c6.6-23.3 16.2-57.6 42.8-84.4c12.5-12.6 25.3-20.2 36.2-24.7c12.9-5.2 20-8.4 24.7-13.2l2.3-2.4c-4.6 1.1-9.7 1.7-15 1.6c-18-.5-35-9.6-52.1-26.9l0 0L248 233.2l-.1-.1c-20.4-20.6-27.2-42.3-23.5-63.5z\"]\n};\nvar faArrowTurnDownRight = {\n prefix: 'far',\n iconName: 'arrow-turn-down-right',\n icon: [512, 512, [], \"e3d6\", \"M48 56c0-13.3-10.7-24-24-24S0 42.7 0 56V224c0 48.6 39.4 88 88 88H430.1l-87 87c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L505 305c9.4-9.4 9.4-24.6 0-33.9L377 143c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l87 87H88c-22.1 0-40-17.9-40-40V56z\"]\n};\nvar faMoonCloud = {\n prefix: 'far',\n iconName: 'moon-cloud',\n icon: [640, 512, [], \"f754\", \"M635.2 416.6c-2.6 2.5-5.2 5-7.9 7.3c-4.5 4-9.1 7.8-13.9 11.4c-1.8 1.4-3.7 2.7-5.5 4C571.5 465 527.2 480 479.5 480c-60.9 0-116.1-24.4-156.4-64c11.6-12 20.3-26.9 25-43.4C380.2 409 427.2 432 479.5 432c13.3 0 26.2-1.5 38.6-4.3C430.5 397.4 367.6 314 367.6 216c0-43 12.1-83.2 33.1-117.3C343.4 127.6 304 187.1 304 256l0 .3c-13.9-8.9-30.1-14.6-47.5-16c7.6-110.9 95.8-199.6 206.3-207.7c2.3-.2 4.6-.3 6.9-.4c3.2-.1 6.5-.2 9.8-.2c2.7 0 5.5 0 8.2 .1c3.6 .1 7.2 .3 10.7 .6c7 .6 12.8 5.7 14.3 12.5s-1.6 13.9-7.7 17.3c-3.2 1.8-6.4 3.8-9.6 5.8c-4.3 2.8-8.5 5.8-12.5 9c-1.1 .8-2.1 1.7-3.2 2.6c-39.2 32.3-64.1 81.2-64.1 136c0 97.1 78.5 175.8 175.2 176l.3 0c1.2 0 2.5 0 3.7 0c5.2-.1 10.3-.4 15.3-1c3.7-.4 7.4-.9 11.1-1.6c6.9-1.2 13.8 2.2 17 8.5s1.9 13.8-3.1 18.7zM64 416c-35.3 0-64-28.7-64-64s28.7-64 64-64c.5 0 1.1 0 1.6 0c7.4-36.5 39.7-64 78.4-64c35 0 64.8 22.5 75.6 53.8c8.7-3.7 18.3-5.8 28.4-5.8c39.8 0 72 32.2 72 72s-32.2 72-72 72H64z\"]\n};\nvar faBreadSliceButter = {\n prefix: 'far',\n iconName: 'bread-slice-butter',\n icon: [512, 512, [], \"e3e1\", \"M112 256V432H400V256c0-26.5 21.5-48 48-48c8.8 0 16-7.2 16-16c0-34.5-24.6-62.3-74.9-83.9C340.2 87.2 282.8 80 256 80s-84.2 7.2-133.1 28.1C72.6 129.7 48 157.5 48 192c0 8.8 7.2 16 16 16c26.5 0 48 21.5 48 48zm336 0v48V432c0 26.5-21.5 48-48 48H112c-26.5 0-48-21.5-48-48V304 256c-35.3 0-64-28.7-64-64C0 64 192 32 256 32s256 32 256 160c0 35.3-28.7 64-64 64zm-265.4 9.4l50.7-50.7c12.5-12.5 32.8-12.5 45.3 0l50.7 50.7c12.5 12.5 12.5 32.8 0 45.3l-50.7 50.7c-12.5 12.5-32.8 12.5-45.3 0l-50.7-50.7c-12.5-12.5-12.5-32.8 0-45.3z\"]\n};\nvar faCircleArrowRight = {\n prefix: 'far',\n iconName: 'circle-arrow-right',\n icon: [512, 512, [\"arrow-circle-right\"], \"f0a9\", \"M464 256A208 208 0 1 1 48 256a208 208 0 1 1 416 0zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM289 361l88-88c9.4-9.4 9.4-24.6 0-33.9l-88-88c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l47 47L152 232c-13.3 0-24 10.7-24 24s10.7 24 24 24l150.1 0-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0z\"]\n};\nvar faArrowCircleRight = faCircleArrowRight;\nvar faUserGroupCrown = {\n prefix: 'far',\n iconName: 'user-group-crown',\n icon: [640, 512, [\"users-crown\"], \"f6a5\", \"M144 144c0 44.2 35.8 80 80 80s80-35.8 80-80V128H144v16zm-.1-124.9l.1 .1c10.2 7.5 23.8 8.3 34.9 2L209.1 4c4.6-2.6 9.7-4 14.9-4s10.4 1.4 14.9 4l30.2 17.2c11 6.3 24.7 5.5 34.9-2l.1-.1c.3-.2 .6-.4 .8-.6l3-2.4L323.6 3.5c2.8-2.3 6.4-3.5 10-3.5H336c8.8 0 16 7.2 16 16V39v3.2 .1V144c0 70.7-57.3 128-128 128s-128-57.3-128-128V42.3v-.1V39 16c0-8.8 7.2-16 16-16h2.4c3.6 0 7.2 1.2 10 3.5L140 16l3 2.4c.3 .2 .6 .4 .8 .6zM48.3 464H399.7c-4.1-62.5-56.2-112-119.7-112H168c-63.6 0-115.6 49.5-119.7 112zM0 472c0-92.8 75.2-168 168-168H280c92.8 0 168 75.2 168 168v8c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32v-8zM432 256c-27.7 0-53-10.1-72.6-26.7c.5-.8 1-1.5 1.4-2.3c12.1-19.9 20-42.6 22.4-67c.5-5.3 .8-10.6 .8-16V42.8C398.5 35.9 414.8 32 432 32c61.9 0 112 50.1 112 112s-50.1 112-112 112zM609.3 512H471.4c5.4-9.4 8.6-20.3 8.6-32v-8c0-60.7-27.1-115.2-69.8-151.8c2.4-.1 4.7-.2 7.1-.2h61.4C567.8 320 640 392.2 640 481.3c0 17-13.8 30.7-30.7 30.7z\"]\n};\nvar faUsersCrown = faUserGroupCrown;\nvar faCircleI = {\n prefix: 'far',\n iconName: 'circle-i',\n icon: [512, 512, [], \"e111\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM184 128c-13.3 0-24 10.7-24 24s10.7 24 24 24h48V336H184c-13.3 0-24 10.7-24 24s10.7 24 24 24H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V176h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H256 184z\"]\n};\nvar faToiletPaperCheck = {\n prefix: 'far',\n iconName: 'toilet-paper-check',\n icon: [640, 512, [], \"e5b2\", \"M16.8 487.4c-1.9-8-.7-16.5 3.6-23.7l0-.1c3.8-7 7.3-14.2 10.5-21.6C63.6 366.5 64 269.6 64 192C64 86 107 0 160 0H492.1l0 .1c1.3-.1 2.5-.1 3.8-.1c24.5 0 44.1 11.4 58 24.5c13.6 13 23.7 29.4 31.1 46.1C600 104.2 608 147.1 608 192s-8 87.8-22.9 121.3c-7.4 16.7-17.5 33.2-31.1 46.1c-13.9 13.2-33.5 24.5-58 24.5c-17.8 0-33-6-45.3-14.3c3-18.3 5.8-38.5 7.9-60.8C469.1 326 482 336 496 336c35.3 0 64-64.5 64-144s-28.7-144-64-144c-1.6 0-3.1 .1-4.6 .4C458.2 53.7 432 116 432 192c0 58.9-3.8 108.1-9.3 148.6l-.1 .8c-9.4 68.1-23.7 111.3-33.3 134.5c-10 24-33.2 36.1-55.4 36.1H48c-11.5 0-22.2-6.2-27.8-16.2c-1.5-2.7-2.6-5.5-3.3-8.4zM160 48c-.1 0-.1 0-.3 0s-.4 .1-.9 .3c-.9 .4-2.7 1.3-5.2 3.4c-5.2 4.4-11.9 12.6-18.6 26C121.7 104.5 112 144.8 112 192c0 42.3-.1 93.4-5.9 144.1C101.2 378.5 92 423.1 73.8 464H333.9c2.7 0 5.3-.8 7.3-2c1.7-1 3-2.4 3.8-4.5C357.7 427 384 345.2 384 192c0-44.9 8-87.8 22.9-121.3C410.3 63 414.3 55.3 419 48H160zM520 192c0 26.5-10.7 48-24 48s-24-21.5-24-48s10.7-48 24-48s24 21.5 24 48zm-204.7-4.7l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L232 225.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faFilterCircleXmark = {\n prefix: 'far',\n iconName: 'filter-circle-xmark',\n icon: [576, 512, [], \"e17b\", \"M0 41.7C0 18.7 18.7 0 41.7 0H469.9C493.2 0 512 18.8 512 42.1c0 8.9-2.8 17.6-8.1 24.8L411.6 193.2c-30.9 3.6-59.3 15.1-83.2 32.5L458.3 48H55L218.6 248.8c3.5 4.3 5.4 9.6 5.4 15.2v68.4L256.3 358c-.2 3.3-.3 6.6-.3 10c0 20.8 3.6 40.7 10.2 59.2l-75.1-59.6c-9.6-7.6-15.1-19.1-15.1-31.3V272.5L9.4 68C3.3 60.6 0 51.3 0 41.7zM432 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm59.3 107.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L432 345.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L409.4 368l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L432 390.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L454.6 368l36.7-36.7z\"]\n};\nvar faLocust = {\n prefix: 'far',\n iconName: 'locust',\n icon: [576, 512, [], \"e520\", \"M304 32c-13.3 0-24 10.7-24 24s10.7 24 24 24h24c94.6 0 173.9 65.7 194.7 154c-12.9-6.4-27.4-10-42.7-10H434.6l-45.5-83.5c-3.9-7.2-11.3-11.9-19.4-12.5s-16.1 3.1-21 9.7l-35 47.5-29.4-46.2c-4.2-6.6-11.3-10.7-19-11.1s-15.2 3-20.1 9.1L176.6 224H102.1C63.4 224 32 255.4 32 294.1c0 26.9 15.4 51.3 39.4 63.1L5.2 441.1c-8.2 10.4-6.4 25.5 4 33.7s25.5 6.4 33.7-4l73.5-93.1 41.5 19-33.2 45c-7.9 10.7-5.6 25.7 5.1 33.6s25.7 5.6 33.6-5.1l42.5-57.6c11.8 2.3 23.9 3.4 36 3.4h33.4l-16.1 28.1c-6.6 11.5-2.6 26.2 8.9 32.7s26.2 2.6 32.7-8.9L330.5 416H441.2l25.4 50.7c5.9 11.9 20.3 16.7 32.2 10.7s16.7-20.3 10.7-32.2l-15.2-30.3c46.2-6.9 81.6-46.7 81.7-94.7l0-.2V280C576 143 465 32 328 32H304zm61 164.6l15 27.4H344.8L365 196.6zm-103.1-3.2L281.4 224H237.7l24.2-30.6zM102.1 272h36.5L102 318.4l-9.1-4.2C85.1 310.7 80 302.8 80 294.1c0-12.2 9.9-22.1 22.1-22.1zm97.7 0H480c26.5 0 48 21.5 48 48s-21.5 48-48 48H456.5c-.2 0-.3 0-.5 0s-.3 0-.5 0H241.8c-20.7 0-41.1-4.4-59.9-13l-35-16 52.9-67zM472 344a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faSort = {\n prefix: 'far',\n iconName: 'sort',\n icon: [320, 512, [\"unsorted\"], \"f0dc\", \"M70.6 176H249.4L160 86.6 70.6 176zm112-134.6l128 128c9.2 9.2 11.9 22.9 6.9 34.9s-16.6 19.8-29.6 19.8H32c-12.9 0-24.6-7.8-29.6-19.8s-2.2-25.7 6.9-34.9l128-128c12.5-12.5 32.8-12.5 45.3 0zM70.6 336L160 425.4 249.4 336H70.6zm112 134.6c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-9.2-9.2-11.9-22.9-6.9-34.9s16.6-19.8 29.6-19.8H288c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9l-128 128z\"]\n};\nvar faUnsorted = faSort;\nvar faListOl = {\n prefix: 'far',\n iconName: 'list-ol',\n icon: [512, 512, [\"list-1-2\", \"list-numeric\"], \"f0cb\", \"M24 56c0-13.3 10.7-24 24-24H80c13.3 0 24 10.7 24 24V176h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H40c-13.3 0-24-10.7-24-24s10.7-24 24-24H56V80H48C34.7 80 24 69.3 24 56zM86.7 341.2c-6.5-7.4-18.3-6.9-24 1.2L51.5 357.9c-7.7 10.8-22.7 13.3-33.5 5.6s-13.3-22.7-5.6-33.5l11.1-15.6c23.7-33.2 72.3-35.6 99.2-4.9c21.3 24.4 20.8 60.9-1.1 84.7L86.8 432H120c13.3 0 24 10.7 24 24s-10.7 24-24 24H32c-9.5 0-18.2-5.6-22-14.4s-2.1-18.9 4.3-25.9l72-78c5.3-5.8 5.4-14.6 .3-20.5zM216 72H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 160H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 160H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faList12 = faListOl;\nvar faListNumeric = faListOl;\nvar faChartWaterfall = {\n prefix: 'far',\n iconName: 'chart-waterfall',\n icon: [512, 512, [], \"e0eb\", \"M24 32c13.3 0 24 10.7 24 24V408c0 13.3 10.7 24 24 24H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H72c-39.8 0-72-32.2-72-72V56C0 42.7 10.7 32 24 32zM168 224c13.3 0 24 10.7 24 24v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V248c0-13.3 10.7-24 24-24zm120-72v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24s24 10.7 24 24zm72-88c13.3 0 24 10.7 24 24v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V88c0-13.3 10.7-24 24-24zM480 88V328c0 13.3-10.7 24-24 24s-24-10.7-24-24V88c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faSparkle = {\n prefix: 'far',\n iconName: 'sparkle',\n icon: [448, 512, [], \"e5d6\", \"M224 32c9.4 0 17.9 5.4 21.8 13.9l59.5 128.8 128.8 59.5c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8L305.3 337.3 245.8 466.1c-3.9 8.5-12.4 13.9-21.8 13.9s-17.9-5.4-21.8-13.9L142.7 337.3 13.9 277.8C5.4 273.9 0 265.4 0 256s5.4-17.9 13.9-21.8l128.8-59.5L202.2 45.9C206.1 37.4 214.6 32 224 32zm0 81.2l-41.4 89.6c-2.4 5.2-6.5 9.3-11.7 11.7L81.2 256l89.6 41.4c5.2 2.4 9.3 6.5 11.7 11.7L224 398.8l41.4-89.6c2.4-5.2 6.5-9.3 11.7-11.7L366.8 256l-89.6-41.4c-5.2-2.4-9.3-6.5-11.7-11.7L224 113.2z\"]\n};\nvar faFaceParty = {\n prefix: 'far',\n iconName: 'face-party',\n icon: [640, 512, [], \"e383\", \"M320 464c59 0 112.2-24.6 150.1-64h61.6C485.6 467.6 408 512 320 512C178.6 512 64 397.4 64 256S178.6 0 320 0C433.4 0 529.7 73.8 563.3 176H560c-15.9 0-30.7 4.6-43.2 12.6C488.9 106.8 411.3 48 320 48c-114.9 0-208 93.1-208 208s93.1 208 208 208zM204.8 233.6c-5.3 7.1-15.3 8.5-22.4 3.2s-8.5-15.3-3.2-22.4c30.4-40.5 91.2-40.5 121.6 0c5.3 7.1 3.9 17.1-3.2 22.4s-17.1 3.9-22.4-3.2c-17.6-23.5-52.8-23.5-70.4 0zm160 0c-5.3 7.1-15.3 8.5-22.4 3.2s-8.5-15.3-3.2-22.4c30.4-40.5 91.2-40.5 121.6 0c5.3 7.1 3.9 17.1-3.2 22.4s-17.1 3.9-22.4-3.2c-17.6-23.5-52.8-23.5-70.4 0zM416 316c0 6.9-3.1 13.2-7.3 18.3c-.5 .6-1 1.1-1.5 1.7H592c8.8 0 16-7.2 16-16V256c0-8.8-7.2-16-16-16H560c-8.8 0-16 7.2-16 16s7.2 16 16 16h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H560c-26.5 0-48-21.5-48-48s21.5-48 48-48h32c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H407.2c.5 .6 1 1.1 1.5 1.7c4.3 5.1 7.3 11.4 7.3 18.3s-3.1 13.2-7.3 18.3c-4.3 5.2-10.1 9.7-16.7 13.4C378.7 427.1 361.4 432 344 432c-3.6 0-6.8-2.5-7.7-6s.6-7.2 3.8-9l0 0 0 0 0 0 0 0 .2-.1c.2-.1 .5-.3 .9-.5c.8-.5 2-1.2 3.4-2.1c2.8-1.9 6.5-4.5 10.2-7.6c3.7-3.1 7.2-6.6 9.6-10.1c2.5-3.5 3.5-6.4 3.5-8.6s-1-5-3.5-8.6c-2.5-3.5-5.9-6.9-9.6-10.1c-3.7-3.1-7.4-5.7-10.2-7.6c-1.4-.9-2.6-1.6-3.4-2.1c-.4-.2-.7-.4-.9-.5l-.2-.1 0 0 0 0 0 0c-2.5-1.4-4.1-4.1-4.1-7s1.6-5.6 4.1-7l0 0 0 0 0 0 0 0 0 0 .2-.1c.2-.1 .5-.3 .9-.5c.8-.5 2-1.2 3.4-2.1c2.8-1.9 6.5-4.5 10.2-7.6c3.7-3.1 7.2-6.6 9.6-10.1c2.5-3.5 3.5-6.4 3.5-8.6s-1-5-3.5-8.6c-2.5-3.5-5.9-6.9-9.6-10.1c-3.7-3.1-7.4-5.7-10.2-7.6c-1.4-.9-2.6-1.6-3.4-2.1c-.4-.2-.7-.4-.9-.5l-.2-.1 0 0 0 0 0 0c-3.2-1.8-4.7-5.5-3.8-9s4.1-6 7.7-6c17.4 0 34.7 4.9 47.9 12.3c6.6 3.7 12.5 8.2 16.7 13.4c4.3 5.1 7.3 11.4 7.3 18.3zM51.3 152.2l-20-52C46.6 71.8 66 46 88.8 23.4L132 37.8C96.5 68.5 68.5 107.7 51.3 152.2zM55.1 12.2C40.9 27.6 28 44.4 16.6 62.1L1.1 21.7C-1.2 16 .2 9.4 4.4 4.9S15.2-1.1 21.1 .8L55.1 12.2z\"]\n};\nvar faKidneys = {\n prefix: 'far',\n iconName: 'kidneys',\n icon: [640, 512, [], \"f5fb\", \"M165.8 0c-24 0-52.6 6.6-76.2 27.3C58.2 54.8 0 119.5 0 221.2c0 23 3.2 49.4 6.4 70.3c8.9 57.7 59.1 95.9 113.3 95.9c69.6 0 123.8-60.3 116.4-129.5l-.5-5.1 15.9 7.9c2.7 1.4 4.4 4.1 4.4 7.2V488c0 13.3 10.7 24 24 24s24-10.7 24-24V267.8c0-21.2-12-40.6-31-50.1l-31-15.5 16.4-17.4c18.7-19.8 29.1-46 29.1-73.3c0-36.7-18.9-70.9-50-90.4L232.5 18 219.8 38.2 232.5 18C213.8 6.2 192.1 0 170 0h-4.2zM121.2 63.4C133.8 52.4 150 48 165.8 48H170c13.1 0 25.9 3.7 37 10.6l5.2 3.2c17.1 10.7 27.5 29.5 27.5 49.7c0 15-5.7 29.4-16 40.3l-16.9 17.8c-16.1 17-23.9 40.2-21.4 63.4l3.2 29.8c4.3 40.8-27.7 76.4-68.7 76.4c-32.4 0-60.9-22.6-65.9-55.1c-3.1-20.2-5.9-43.7-5.9-63c0-82 46.8-134.6 73.2-157.8zm310.7-4.8C443 51.7 455.8 48 468.9 48h4.2c15.8 0 32 4.4 44.6 15.4c26.4 23.2 73.2 75.8 73.2 157.8c0 19.3-2.8 42.7-5.9 63c-5 32.5-33.5 55.1-65.9 55.1c-41.1 0-73.1-35.6-68.7-76.4l3.2-29.8c2.5-23.3-5.4-46.4-21.4-63.4l-16.9-17.8c-10.3-10.9-16-25.3-16-40.3c0-20.2 10.4-39 27.5-49.7l5.2-3.2zM468.9 0c-22.1 0-43.8 6.2-62.5 18l-5.2 3.2c-31.1 19.5-50 53.6-50 90.4c0 27.2 10.4 53.5 29.1 73.3l16.8 17.7L367 217.7c-19 9.5-31 28.9-31 50.1V488c0 13.3 10.7 24 24 24s24-10.7 24-24V267.8c0-3 1.7-5.8 4.4-7.2l14.8-7.4-.5 4.6c-7.4 69.2 46.9 129.5 116.4 129.5c54.3 0 104.5-38.1 113.3-95.9c3.2-20.9 6.4-47.3 6.4-70.3c0-101.7-58.2-166.3-89.6-193.9C525.8 6.6 497.2 0 473.2 0h-4.2z\"]\n};\nvar faWifiExclamation = {\n prefix: 'far',\n iconName: 'wifi-exclamation',\n icon: [640, 512, [], \"e2cf\", \"M344 56c0-13.3-10.7-24-24-24s-24 10.7-24 24V312c0 13.3 10.7 24 24 24s24-10.7 24-24V56zM8.2 149.6c-9.9 8.8-10.9 23.9-2.2 33.9s23.9 10.9 33.9 2.2c61.5-54.2 138.8-90.8 224.1-102V56c0-7.5 1.5-14.6 4.1-21.2C169 45.7 79.1 87.2 8.2 149.6zM119.9 285.9c-9.8 9-10.4 24.1-1.5 33.9s24.1 10.4 33.9 1.5c31-28.4 69.2-49.1 111.6-58.9V213.3c-54.9 10.5-104.5 36.2-144.1 72.6zM376 213.3v49.1c42.4 9.8 80.6 30.4 111.6 58.9c9.8 9 25 8.3 33.9-1.5s8.3-24.9-1.5-33.9c-39.6-36.3-89.1-62-144.1-72.6zM264 424a56 56 0 1 0 112 0 56 56 0 1 0 -112 0zM376 56V83.7c85.3 11.2 162.6 47.8 224.1 102c9.9 8.8 25.1 7.8 33.9-2.2s7.8-25.1-2.2-33.9C560.9 87.2 471 45.7 371.9 34.8c2.7 6.5 4.1 13.7 4.1 21.2z\"]\n};\nvar faChartNetwork = {\n prefix: 'far',\n iconName: 'chart-network',\n icon: [640, 512, [], \"f78a\", \"M288 64c0 16.9-6.5 32.2-17.2 43.6l26.9 57.5c12.2-3.4 25-5.2 38.3-5.2c39 0 74.4 15.5 100.3 40.7l77.6-56.9c-1.3-5-1.9-10.3-1.9-15.7c0-35.3 28.7-64 64-64s64 28.7 64 64s-28.7 64-64 64c-12.3 0-23.9-3.5-33.7-9.6l-77.6 56.9c9.8 19.4 15.3 41.4 15.3 64.6c0 18.5-3.5 36.2-9.9 52.5l67.3 40.4c10.7-8.1 24.1-12.9 38.5-12.9c35.3 0 64 28.7 64 64s-28.7 64-64 64s-64-28.7-64-64c0-3.4 .3-6.7 .8-9.9l-67.4-40.4C419 428.5 379.8 448 336 448c-71.4 0-130.6-51.9-142-120H123.3c-9.5 23.5-32.5 40-59.3 40c-35.3 0-64-28.7-64-64s28.7-64 64-64c26.9 0 49.9 16.5 59.3 40H194c6.6-39.1 28.9-72.9 60.2-94.5l-26.9-57.6c-1.1 .1-2.2 .1-3.3 .1c-35.3 0-64-28.7-64-64s28.7-64 64-64s64 28.7 64 64zm48 336a96 96 0 1 0 0-192 96 96 0 1 0 0 192z\"]\n};\nvar faPersonDressBurst = {\n prefix: 'far',\n iconName: 'person-dress-burst',\n icon: [640, 512, [], \"e544\", \"M480 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM587.1 299.8l-37.4-66.1 36.5 129.9c2.9 10.2-4.8 20.3-15.4 20.3H544V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V384H464V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V384H389.1c-10.6 0-18.3-10.1-15.4-20.3l36.5-129.9-37.4 66.1c-6.5 11.5-21.2 15.6-32.7 9.1s-15.6-21.2-9.1-32.7l51.8-91.5c19.8-35 56.9-56.6 97.1-56.6s77.3 21.6 97.1 56.6l51.8 91.5c6.5 11.5 2.5 26.2-9.1 32.7s-26.2 2.5-32.7-9.1zM475.4 179.5L431.4 336h97.3l-44-156.5c-.6-2.1-2.5-3.5-4.6-3.5s-4 1.4-4.6 3.5zM176 8c8.9 0 17 4.9 21.2 12.7l30.1 56.7 63.1-11.8c8.7-1.6 17.6 1.7 23.2 8.6s6.8 16.4 3.3 24.5l-25.6 58.9L332.2 193l-31.7 56.1-32 8.6-2.5 64.2c-.3 8.9-5.6 16.8-13.6 20.7s-17.5 3-24.6-2.3l-51.7-38-51.7 38c-7.2 5.3-16.6 6.1-24.6 2.3s-13.2-11.8-13.6-20.7l-2.5-64.2L21.6 241c-8.6-2.3-15.2-9.2-17.1-17.8s1-17.7 7.7-23.5l48.6-42L35.1 98.8c-3.5-8.1-2.3-17.6 3.3-24.5s14.5-10.3 23.2-8.6l63.1 11.8 30.1-56.7C159 12.9 167.1 8 176 8zm0 75.2l-17.2 32.4c-4.9 9.3-15.3 14.3-25.6 12.3l-36-6.7 14.6 33.6c4.2 9.6 1.6 20.9-6.3 27.7l-27.7 24 35.4 9.6c10.1 2.7 17.3 11.7 17.7 22.2l1.4 36.6 29.5-21.7c8.5-6.2 20-6.2 28.4 0l29.5 21.7 1.4-36.6c.4-10.5 7.6-19.5 17.7-22.2l35.4-9.6-27.7-24c-7.9-6.9-10.5-18.1-6.3-27.7l14.6-33.6-36 6.7c-10.3 1.9-20.7-3.1-25.6-12.3L176 83.2z\"]\n};\nvar faDiceD4 = {\n prefix: 'far',\n iconName: 'dice-d4',\n icon: [512, 512, [], \"f6d0\", \"M256 0c7.3 0 14.1 3.3 18.7 8.9l232 288c4.1 5.1 5.9 11.5 5.1 18s-4.1 12.3-9.3 16.2l-232 176c-8.6 6.5-20.4 6.5-29 0l-232-176c-5.2-3.9-8.5-9.8-9.3-16.2s1.1-12.9 5.1-18l232-288C241.9 3.3 248.7 0 256 0zM58.2 307.8L232 439.7V92.1L58.2 307.8zM280 92.1V439.7L453.8 307.8 280 92.1z\"]\n};\nvar faMoneyCheckDollar = {\n prefix: 'far',\n iconName: 'money-check-dollar',\n icon: [576, 512, [\"money-check-alt\"], \"f53d\", \"M64 112c-8.8 0-16 7.2-16 16V384c0 8.8 7.2 16 16 16H512c8.8 0 16-7.2 16-16V128c0-8.8-7.2-16-16-16H64zM0 128C0 92.7 28.7 64 64 64H512c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128zM280 272H456c13.3 0 24 10.7 24 24s-10.7 24-24 24H280c-13.3 0-24-10.7-24-24s10.7-24 24-24zm-24-72c0-13.3 10.7-24 24-24H456c13.3 0 24 10.7 24 24s-10.7 24-24 24H280c-13.3 0-24-10.7-24-24zm-76-48v13.9c7.5 1.2 14.6 2.9 21.1 4.7c10.7 2.8 17 13.8 14.2 24.5s-13.8 17-24.5 14.2c-11-2.9-21.6-5-31.2-5.2c-7.9-.1-16 1.8-21.5 5c-4.8 2.8-6.2 5.6-6.2 9.3c0 1.8 .1 3.5 5.3 6.7c6.3 3.8 15.5 6.7 28.3 10.5l.7 .2c11.2 3.4 25.6 7.7 37.1 15c12.9 8.1 24.3 21.3 24.6 41.6c.3 20.9-10.5 36.1-24.8 45c-7.2 4.5-15.2 7.3-23.2 9V360c0 11-9 20-20 20s-20-9-20-20V345.4c-10.3-2.2-20-5.5-28.2-8.4l0 0 0 0c-2.1-.7-4.1-1.4-6.1-2.1c-10.5-3.5-16.1-14.8-12.6-25.3s14.8-16.1 25.3-12.6c2.5 .8 4.9 1.7 7.2 2.4c13.6 4.6 24 8.1 35.1 8.5c8.6 .3 16.5-1.6 21.4-4.7c4.1-2.5 6-5.5 5.9-10.5c0-2.9-.8-5-5.9-8.2c-6.3-4-15.4-6.9-28-10.7l-1.7-.5c-10.9-3.3-24.6-7.4-35.6-14c-12.7-7.7-24.6-20.5-24.7-40.7c-.1-21.1 11.8-35.7 25.8-43.9c6.9-4.1 14.5-6.8 22.2-8.5V152c0-11 9-20 20-20s20 9 20 20z\"]\n};\nvar faMoneyCheckAlt = faMoneyCheckDollar;\nvar faVectorSquare = {\n prefix: 'far',\n iconName: 'vector-square',\n icon: [448, 512, [], \"f5cb\", \"M360 72h48v48H360V72zm-8-40c-17.7 0-32 14.3-32 32v8H128V64c0-17.7-14.3-32-32-32H32C14.3 32 0 46.3 0 64v64c0 17.7 14.3 32 32 32h8l0 192H32c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H96c17.7 0 32-14.3 32-32v-8H320v8c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V384c0-17.7-14.3-32-32-32h-8V160h8c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H352zM88 352l0-192h8c17.7 0 32-14.3 32-32v-8H320v8c0 17.7 14.3 32 32 32h8V352h-8c-17.7 0-32 14.3-32 32v8H128v-8c0-17.7-14.3-32-32-32H88zM40 440V392H88v48H40zm320 0V392h48v48H360zM40 120V72H88v48H40z\"]\n};\nvar faBreadSlice = {\n prefix: 'far',\n iconName: 'bread-slice',\n icon: [512, 512, [], \"f7ec\", \"M64 208c-8.8 0-16-7.2-16-16c0-34.5 24.6-62.3 74.9-83.9C171.8 87.2 229.2 80 256 80s84.2 7.2 133.1 28.1C439.4 129.7 464 157.5 464 192c0 8.8-7.2 16-16 16c-26.5 0-48 21.5-48 48V432H112V256c0-26.5-21.5-48-48-48zm384 96V256c35.3 0 64-28.7 64-64C512 64 320 32 256 32S0 64 0 192c0 35.3 28.7 64 64 64v48V432c0 26.5 21.5 48 48 48H400c26.5 0 48-21.5 48-48V304z\"]\n};\nvar faLanguage = {\n prefix: 'far',\n iconName: 'language',\n icon: [640, 512, [], \"f1ab\", \"M64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H272h32 16H576c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H320 304 272 64zm512 48c8.8 0 16 7.2 16 16V384c0 8.8-7.2 16-16 16H320V112H576zM178.3 175.9l64 144c4.5 10.1-.1 21.9-10.2 26.4s-21.9-.1-26.4-10.2L196.8 316H123.2l-8.9 20.1c-4.5 10.1-16.3 14.6-26.4 10.2s-14.6-16.3-10.2-26.4l64-144c3.2-7.2 10.4-11.9 18.3-11.9s15.1 4.7 18.3 11.9zM179 276l-19-42.8L141 276h38zM456 164c-11 0-20 9-20 20v4H384c-11 0-20 9-20 20s9 20 20 20h72 35.1c-7.3 16.7-17.4 31.9-29.8 45l-.5-.5-14.6-14.6c-7.8-7.8-20.5-7.8-28.3 0s-7.8 20.5 0 28.3L430 298.3c-5.9 3.6-12.1 6.9-18.5 9.8l-3.6 1.6c-10.1 4.5-14.6 16.3-10.2 26.4s16.3 14.6 26.4 10.2l3.6-1.6c12-5.3 23.4-11.8 34-19.4c4.3 3 8.6 5.8 13.1 8.5l18.9 11.3c9.5 5.7 21.8 2.6 27.4-6.9s2.6-21.8-6.9-27.4l-18.9-11.3c-.9-.5-1.8-1.1-2.7-1.6c17.2-18.8 30.7-40.9 39.6-65.4L534 228h2c11 0 20-9 20-20s-9-20-20-20H520 476v-4c0-11-9-20-20-20z\"]\n};\nvar faWheatAwnSlash = {\n prefix: 'far',\n iconName: 'wheat-awn-slash',\n icon: [640, 512, [], \"e338\", \"M568.7 7.2c9.4 9.4 9.4 24.6 0 33.9L430.1 179.7c7.9 .9 15.8 2.5 23.4 4.8L535 103c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-71.4 71.4c3.1 2.5 6 5.2 8.9 8.1l16.9 16.9c9.4 9.4 9.4 24.6 0 33.9l-16.9 16.9c-16.9 16.9-37.9 27.3-59.8 31.1c2.8 3.9 4.4 8.4 4.6 13L630.8 469.1c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2S28.4-3.1 38.8 5.1L216.6 144.4l12.8-12.8c8.5-8.5 21.7-9.3 31.1-2.4c3.8-21.9 14.2-42.9 31.1-59.8l16.9-16.9c9.4-9.4 24.6-9.4 33.9 0l16.9 16.9c2.9 2.9 5.7 5.9 8.2 9L439 7c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-81.6 81.6c2.3 7.6 3.9 15.4 4.8 23.2L534.7 7.2c9.4-9.4 24.6-9.4 33.9 0zM148.2 212.8L376.5 392.6c-3 .8-6 1.4-9 2c6.9 9.4 6 22.6-2.4 31.1l-16.9 16.9c-43.7 43.7-114.6 43.7-158.4 0l-11.3-11.3 0 0L105 504.9c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l73.5-73.5 0 0-11.3-11.3c-43.7-43.7-43.7-114.7 0-158.4l15-15zM325.5 103.3c-25 25-25 65.5 0 90.5L335.7 204c20.5-31 17.2-73.3-10.2-100.6zM223.7 408.7c25 25 65.5 25 90.5 0c-27.4-27.3-69.6-30.7-100.6-10.2l10.1 10.1zm-56.5-56.5l10.1 10.1c20.5-31 17.2-73.3-10.2-100.6c-25 25-25 65.5 0 90.5zM382.1 250.4c25 25 65.5 25 90.5 0C445.2 223 403 219.7 371.9 240.2l10.1 10.1z\"]\n};\nvar faFaceKissWinkHeart = {\n prefix: 'far',\n iconName: 'face-kiss-wink-heart',\n icon: [512, 512, [128536, \"kiss-wink-heart\"], \"f598\", \"M338.9 446.8c-25.4 11-53.4 17.2-82.9 17.2C141.1 464 48 370.9 48 256S141.1 48 256 48s208 93.1 208 208c0 22.4-3.5 43.9-10.1 64.1c3.1 4.5 5.7 9.4 7.8 14.6c12.7-1.6 25.1 .4 36.2 5c9.1-26.2 14-54.4 14-83.7C512 114.6 397.4 0 256 0S0 114.6 0 256S114.6 512 256 512c35.4 0 69.1-7.2 99.7-20.2c-4.8-5.5-8.5-12.2-10.4-19.7l-6.5-25.3zM296 316c0-6.9-3.1-13.2-7.3-18.3c-4.3-5.2-10.1-9.7-16.7-13.4C258.7 276.9 241.4 272 224 272c-3.6 0-6.8 2.5-7.7 6s.6 7.2 3.8 9l0 0 0 0 0 0 .2 .1c.2 .1 .5 .3 .9 .5c.8 .5 2 1.2 3.4 2.1c2.8 1.9 6.5 4.5 10.2 7.6c3.7 3.1 7.2 6.6 9.6 10.1c2.5 3.5 3.5 6.4 3.5 8.6s-1 5-3.5 8.6c-2.5 3.5-5.9 6.9-9.6 10.1c-3.7 3.1-7.4 5.7-10.2 7.6c-1.4 .9-2.6 1.6-3.4 2.1c-.4 .2-.7 .4-.9 .5l-.2 .1 0 0 0 0 0 0 0 0 0 0c-2.5 1.4-4.1 4.1-4.1 7s1.6 5.6 4.1 7l0 0 0 0 0 0 .2 .1c.2 .1 .5 .3 .9 .5c.8 .5 2 1.2 3.4 2.1c2.8 1.9 6.5 4.5 10.2 7.6c3.7 3.1 7.2 6.6 9.6 10.1c2.5 3.5 3.5 6.4 3.5 8.6s-1 5-3.5 8.6c-2.5 3.5-5.9 6.9-9.6 10.1c-3.7 3.1-7.4 5.7-10.2 7.6c-1.4 .9-2.6 1.6-3.4 2.1c-.4 .2-.7 .4-.9 .5l-.2 .1 0 0 0 0 0 0 0 0c-3.2 1.8-4.7 5.5-3.8 9s4.1 6 7.7 6c17.4 0 34.7-4.9 47.9-12.3c6.6-3.7 12.5-8.2 16.7-13.4c4.3-5.1 7.3-11.4 7.3-18.3s-3.1-13.2-7.3-18.3c-4.3-5.2-10.1-9.7-16.7-13.4c-2.7-1.5-5.7-3-8.7-4.3c3.1-1.3 6-2.7 8.7-4.3c6.6-3.7 12.5-8.2 16.7-13.4c4.3-5.1 7.3-11.4 7.3-18.3zM176.4 240a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm159.3-20c10.6 0 19.9 3.8 25.4 9.7c7.6 8.1 20.2 8.5 28.3 .9s8.5-20.2 .9-28.3C375.7 186.8 355 180 335.6 180s-40.1 6.8-54.6 22.3c-7.6 8.1-7.1 20.7 .9 28.3s20.7 7.1 28.3-.9c5.5-5.8 14.8-9.7 25.4-9.7zM434 352.3c-6-23.2-28.8-37-51.1-30.8s-35.4 30.1-29.5 53.4l22.9 89.3c2.2 8.7 11.2 13.9 19.8 11.4l84.9-23.8c22.2-6.2 35.4-30.1 29.5-53.4s-28.8-37-51.1-30.8l-20.2 5.6-5.4-21z\"]\n};\nvar faKissWinkHeart = faFaceKissWinkHeart;\nvar faDagger = {\n prefix: 'far',\n iconName: 'dagger',\n icon: [384, 512, [], \"f6cb\", \"M192 0c13.3 0 24 10.7 24 24V128h32 24 64c26.5 0 48 21.5 48 48s-21.5 48-48 48s-48-21.5-48-48H272 224 192 160 112 96c0 26.5-21.5 48-48 48s-48-21.5-48-48s21.5-48 48-48h64 24 32V24c0-13.3 10.7-24 24-24zm32 397.9V208h48V397.9c0 11.5-3.5 22.7-10.1 32.1l-50.2 71.7c-4.5 6.4-11.8 10.2-19.7 10.2s-15.2-3.8-19.7-10.2L122.1 430c-6.6-9.4-10.1-20.6-10.1-32.1V208h48V397.9c0 1.6 .5 3.2 1.4 4.6L192 446.2l30.6-43.7c.9-1.3 1.4-2.9 1.4-4.6z\"]\n};\nvar faPodium = {\n prefix: 'far',\n iconName: 'podium',\n icon: [448, 512, [], \"f680\", \"M168 72c-22.1 0-40 17.9-40 40v32H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H80V112c0-48.6 39.4-88 88-88h14.4C190.7 9.7 206.2 0 224 0h64c26.5 0 48 21.5 48 48s-21.5 48-48 48H224c-17.8 0-33.3-9.7-41.6-24H168zM73.5 455.2L47.3 224H95.6l25.7 225.8c.9 8.1 7.8 14.2 15.9 14.2H310.9c8.1 0 15-6.1 15.9-14.2L352.4 224h48.3L374.5 455.2c-3.7 32.3-31 56.8-63.6 56.8H137.1c-32.6 0-59.9-24.4-63.6-56.8z\"]\n};\nvar faMemoCircleCheck = {\n prefix: 'far',\n iconName: 'memo-circle-check',\n icon: [576, 512, [], \"e1d9\", \"M64 48H320c8.8 0 16 7.2 16 16V220.5c14.6-9.5 30.8-17 48-21.8V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c3.3 0 6.6-.3 9.7-.7c-17.9-12.8-33.3-28.8-45.3-47.3H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16zm56 80c-13.3 0-24 10.7-24 24s10.7 24 24 24H264c13.3 0 24-10.7 24-24s-10.7-24-24-24H120zm0 96c-13.3 0-24 10.7-24 24s10.7 24 24 24H264c13.3 0 24-10.7 24-24s-10.7-24-24-24H120zm0 96c-13.3 0-24 10.7-24 24s10.7 24 24 24h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H120zm456 48a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L416 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faRouteHighway = {\n prefix: 'far',\n iconName: 'route-highway',\n icon: [448, 512, [], \"f61a\", \"M236.3 3.4c-7.6-4.6-17.1-4.6-24.7 0L202.3 9c-37.5 22.5-83.6 25.1-123.3 7C60.3 7.6 38.2 14.7 28.1 32.5L7.4 68.7c-6.6 11.6-7 25.8-1 37.7l8.5 16.9C26.1 145.9 32 170.8 32 196.1c0 20.7-3.9 41.2-11.6 60.4L8.7 285.7C2.9 300 0 315.3 0 330.7c0 46.7 26.8 89.2 68.8 109.4l144.8 69.5c6.6 3.2 14.2 3.2 20.8 0l144.8-69.5c42.1-20.2 68.8-62.7 68.8-109.4c0-15.4-2.9-30.7-8.7-45.1l-11.7-29.2c-7.7-19.2-11.6-39.7-11.6-60.4c0-25.2 5.9-50.1 17.2-72.7l8.5-16.9c6-12 5.6-26.1-1-37.7L419.9 32.5c-10.2-17.8-32.2-24.9-50.9-16.4c-39.8 18.1-85.9 15.4-123.3-7l-9.4-5.6zM80 192H368c0 1.4 0 2.7 0 4.1c0 26.8 5.1 53.3 15.1 78.2l11.7 29.2c3.5 8.7 5.2 17.9 5.2 27.2c0 28.2-16.2 53.9-41.6 66.1L224 461.4 89.6 396.9C64.2 384.7 48 359 48 330.7c0-9.3 1.8-18.6 5.2-27.2l11.7-29.2c10-24.9 15.1-51.4 15.1-78.2c0-1.4 0-2.7 0-4.1z\"]\n};\nvar faDownToLine = {\n prefix: 'far',\n iconName: 'down-to-line',\n icon: [384, 512, [\"arrow-alt-to-bottom\"], \"f34a\", \"M82.2 224L192 334 301.8 224 248 224c-13.3 0-24-10.7-24-24l0-120-64 0 0 120c0 13.3-10.7 24-24 24l-53.8 0zM192 384c-11.5 0-22.5-4.6-30.6-12.7L45.6 255.2C36.9 246.5 32 234.7 32 222.4C32 196.8 52.8 176 78.4 176l33.6 0 0-96c0-26.5 21.5-48 48-48l64 0c26.5 0 48 21.5 48 48l0 96 33.6 0c25.6 0 46.4 20.8 46.4 46.4c0 12.3-4.9 24.1-13.6 32.8L222.6 371.3c-8.1 8.1-19.1 12.7-30.6 12.7zM24 432l336 0c13.3 0 24 10.7 24 24s-10.7 24-24 24L24 480c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faArrowAltToBottom = faDownToLine;\nvar faFilter = {\n prefix: 'far',\n iconName: 'filter',\n icon: [512, 512, [], \"f0b0\", \"M0 73.7C0 50.7 18.7 32 41.7 32H470.3c23 0 41.7 18.7 41.7 41.7c0 9.6-3.3 18.9-9.4 26.3L336 304.5V447.7c0 17.8-14.5 32.3-32.3 32.3c-7.3 0-14.4-2.5-20.1-7l-92.5-73.4c-9.6-7.6-15.1-19.1-15.1-31.3V304.5L9.4 100C3.3 92.6 0 83.3 0 73.7zM55 80L218.6 280.8c3.5 4.3 5.4 9.6 5.4 15.2v68.4l64 50.8V296c0-5.5 1.9-10.9 5.4-15.2L457 80H55z\"]\n};\nvar faSquareG = {\n prefix: 'far',\n iconName: 'square-g',\n icon: [448, 512, [], \"e271\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM144 256c0 44.2 35.8 80 80 80c35.8 0 66.1-23.5 76.3-56H248c-13.3 0-24-10.7-24-24s10.7-24 24-24h80c13.3 0 24 10.7 24 24c0 70.7-57.3 128-128 128s-128-57.3-128-128s57.3-128 128-128c32.8 0 62.7 12.3 85.3 32.6c9.9 8.8 10.7 24 1.9 33.9s-24 10.7-33.9 1.9C263.2 183.7 244.5 176 224 176c-44.2 0-80 35.8-80 80z\"]\n};\nvar faCirclePhone = {\n prefix: 'far',\n iconName: 'circle-phone',\n icon: [512, 512, [\"phone-circle\"], \"e11b\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM186.7 128.7l-44 12C134 143.1 128 151 128 160c0 123.7 100.3 224 224 224c9 0 16.9-6 19.3-14.7l12-44c2.6-9.7-2.3-19.9-11.6-23.7l-48-20c-8.2-3.4-17.6-1-23.2 5.8L280.3 312c-35.2-16.6-63.7-45.1-80.3-80.3l24.7-20.2c6.8-5.6 9.2-15 5.8-23.2l-20-48c-3.9-9.3-14-14.2-23.7-11.6z\"]\n};\nvar faPhoneCircle = faCirclePhone;\nvar faClipboardPrescription = {\n prefix: 'far',\n iconName: 'clipboard-prescription',\n icon: [384, 512, [], \"f5e8\", \"M320 64H280h-9.6C263 27.5 230.7 0 192 0s-71 27.5-78.4 64H104 64C28.7 64 0 92.7 0 128V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64zM80 112v24c0 13.3 10.7 24 24 24h88 88c13.3 0 24-10.7 24-24V112h16c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V128c0-8.8 7.2-16 16-16H80zm88-32a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM104 204c-11 0-20 9-20 20v80 64c0 11 9 20 20 20s20-9 20-20V324h35.7l52 52-25.9 25.9c-7.8 7.8-7.8 20.5 0 28.3s20.5 7.8 28.3 0L240 404.3l25.9 25.9c7.8 7.8 20.5 7.8 28.3 0s7.8-20.5 0-28.3L268.3 376l25.9-25.9c7.8-7.8 7.8-20.5 0-28.3s-20.5-7.8-28.3 0L240 347.7l-32.6-32.6C224.6 304.6 236 285.6 236 264c0-33.1-26.9-60-60-60H104zm72 80h-8H124V244h52c11 0 20 9 20 20s-9 20-20 20z\"]\n};\nvar faUserNurseHair = {\n prefix: 'far',\n iconName: 'user-nurse-hair',\n icon: [448, 512, [], \"e45d\", \"M96 70.2c0-13.3 8.3-25.3 20.8-30l96-36c7.2-2.7 15.2-2.7 22.5 0l96 36c12.5 4.7 20.8 16.6 20.8 30V128h-.3c.2 2.6 .3 5.3 .3 8v40c0 70.7-57.3 128-128 128s-128-57.3-128-128V136c0-2.7 .1-5.4 .3-8H96V70.2zM304 160h-8c-20.5 0-38.7-9.6-50.4-24.5C231.9 159.7 205.8 176 176 176l-32 0c0 44.2 35.8 80 80 80s80-35.8 80-80V160zM49.3 461.9H398.7c-6-39.3-32.2-72-67.7-87.1l-61.7 61.7c-25 25-65.5 25-90.5 0l-61.7-61.7c-35.5 15.1-61.7 47.8-67.7 87.1zm65.1-137.1c10.1-3.1 20.9 .4 28.4 7.9l69.8 69.8c6.2 6.2 16.4 6.2 22.6 0l69.8-69.8c7.5-7.5 18.3-11 28.4-7.9C399.8 344.9 448 406.4 448 479.2c0 17-13.8 30.7-30.7 30.7H30.7c-17 0-30.7-13.8-30.7-30.7c0-72.8 48.2-134.3 114.4-154.4zM208 48V64H192c-4.4 0-8 3.6-8 8V88c0 4.4 3.6 8 8 8h16v16c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8V96h16c4.4 0 8-3.6 8-8V72c0-4.4-3.6-8-8-8H240V48c0-4.4-3.6-8-8-8H216c-4.4 0-8 3.6-8 8z\"]\n};\nvar faQuestion = {\n prefix: 'far',\n iconName: 'question',\n icon: [320, 512, [10067, 10068, 61736], \"3f\", \"M64 160c0-44.2 35.8-80 80-80h32c44.2 0 80 35.8 80 80v4.6c0 24.1-12 46.6-32.1 59.9l-52.3 34.9C149.4 274.2 136 299.2 136 326v2c0 13.3 10.7 24 24 24s24-10.7 24-24v-2c0-10.7 5.3-20.7 14.2-26.6l52.3-34.9c33.4-22.3 53.4-59.7 53.4-99.8V160c0-70.7-57.3-128-128-128H144C73.3 32 16 89.3 16 160c0 13.3 10.7 24 24 24s24-10.7 24-24zm96 320a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faFileSignature = {\n prefix: 'far',\n iconName: 'file-signature',\n icon: [576, 512, [], \"f573\", \"M64 464H320c8.8 0 16-7.2 16-16v-6.7l39.8-9.9c2.8-.7 5.6-1.6 8.2-2.7V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3v49.1l-48 48V160H256c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16zm96-115l-9.8 32.8c-6.1 20.3-24.8 34.2-46 34.2H96c-8.8 0-16-7.2-16-16s7.2-16 16-16h8.2c7.1 0 13.3-4.6 15.3-11.4l14.9-49.5c3.4-11.3 13.8-19.1 25.6-19.1s22.2 7.7 25.6 19.1l11.6 38.6c7.4-6.2 16.8-9.7 26.8-9.7c15.9 0 30.4 9 37.5 23.2l4.4 8.8h25.6l12-48.2c1.4-5.6 4.3-10.8 8.4-14.9L441.1 191.8l71 71L382.9 391.9c-4.1 4.1-9.2 7-14.9 8.4l-60.1 15c-1.1 .3-2.1 .4-3.2 .5c-.8 .1-1.5 .2-2.3 .2H256c-6.1 0-11.6-3.4-14.3-8.8l-8.8-17.7c-1.7-3.4-5.1-5.5-8.8-5.5s-7.2 2.1-8.8 5.5l-8.8 17.7c-2.9 5.9-9.2 9.4-15.7 8.8s-12.1-5.1-13.9-11.3L160 349zM549.8 139.7l14.4 14.4c15.6 15.6 15.6 40.9 0 56.6l-29.4 29.4-71-71 29.4-29.4c15.6-15.6 40.9-15.6 56.6 0z\"]\n};\nvar faToggleLargeOn = {\n prefix: 'far',\n iconName: 'toggle-large-on',\n icon: [576, 512, [], \"e5b1\", \"M192 64C86 64 0 150 0 256S86 448 192 448H384c106 0 192-86 192-192s-86-192-192-192H192zm192 48a144 144 0 1 1 0 288 144 144 0 1 1 0-288z\"]\n};\nvar faUpDownLeftRight = {\n prefix: 'far',\n iconName: 'up-down-left-right',\n icon: [512, 512, [\"arrows-alt\"], \"f0b2\", \"M256 55.8L289.5 96h-67L256 55.8zM229.8 12.3L168.2 86.2c-5.3 6.3-8.2 14.3-8.2 22.6c0 19.5 15.8 35.2 35.2 35.2H232v88H144V195.2c0-19.5-15.8-35.2-35.2-35.2c-8.2 0-16.2 2.9-22.6 8.2L12.3 229.8C4.5 236.2 0 245.9 0 256s4.5 19.8 12.3 26.2l73.9 61.6c6.3 5.3 14.3 8.2 22.6 8.2c19.5 0 35.2-15.8 35.2-35.2V280h88v88H195.2c-19.5 0-35.2 15.8-35.2 35.2c0 8.2 2.9 16.2 8.2 22.6l61.6 73.9c6.5 7.8 16.1 12.3 26.2 12.3s19.8-4.5 26.2-12.3l61.6-73.9c5.3-6.3 8.2-14.3 8.2-22.6c0-19.5-15.8-35.2-35.2-35.2H280V280h88v36.8c0 19.5 15.8 35.2 35.2 35.2c8.2 0 16.2-2.9 22.6-8.2l73.9-61.6c7.8-6.5 12.3-16.1 12.3-26.2s-4.5-19.8-12.3-26.2l-73.9-61.6c-6.3-5.3-14.3-8.2-22.6-8.2c-19.5 0-35.2 15.8-35.2 35.2V232H280V144h36.8c19.5 0 35.2-15.8 35.2-35.2c0-8.2-2.9-16.2-8.2-22.6L282.2 12.3C275.8 4.5 266.1 0 256 0s-19.8 4.5-26.2 12.3zM256 456.2L222.5 416h67L256 456.2zM456.2 256L416 289.5v-67L456.2 256zM96 289.5L55.8 256 96 222.5v67z\"]\n};\nvar faArrowsAlt = faUpDownLeftRight;\nvar faDryerHeat = {\n prefix: 'far',\n iconName: 'dryer-heat',\n icon: [448, 512, [\"dryer-alt\"], \"f862\", \"M64 48c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H64zM0 64C0 28.7 28.7 0 64 0H384c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM104 80a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm56 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM80 288a144 144 0 1 1 288 0A144 144 0 1 1 80 288zm107.3-83.3c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L177.4 240c4.2 4.2 6.6 10 6.6 16s-2.4 11.8-6.6 16l-9.4 9.4c-10.2 10.2-16 24.1-16 38.6s5.8 28.4 16 38.6l12.7 12.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L190.6 336c-4.2-4.2-6.6-10-6.6-16s2.4-11.8 6.6-16l9.4-9.4c10.2-10.2 16-24.1 16-38.6s-5.8-28.4-16-38.6l-12.7-12.7zm80 0c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L257.4 240c4.2 4.2 6.6 10 6.6 16s-2.4 11.8-6.6 16l-9.4 9.4c-10.2 10.2-16 24.1-16 38.6s5.8 28.4 16 38.6l12.7 12.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L270.6 336c-4.2-4.2-6.6-10-6.6-16s2.4-11.8 6.6-16l9.4-9.4c10.2-10.2 16-24.1 16-38.6s-5.8-28.4-16-38.6l-12.7-12.7z\"]\n};\nvar faDryerAlt = faDryerHeat;\nvar faHouseChimneyUser = {\n prefix: 'far',\n iconName: 'house-chimney-user',\n icon: [576, 512, [], \"e065\", \"M272.5 5.7c9-7.6 22.1-7.6 31.1 0L464 141.9V56c0-13.3 10.7-24 24-24s24 10.7 24 24V182.6l55.5 47.1c10.1 8.6 11.3 23.7 2.8 33.8s-23.7 11.3-33.8 2.8L512 245.5V432c0 44.2-35.8 80-80 80H144c-44.2 0-80-35.8-80-80V245.5L39.5 266.3c-10.1 8.6-25.3 7.3-33.8-2.8s-7.3-25.3 2.8-33.8l264-224zM288 55.5L112 204.8V432c0 17.7 14.3 32 32 32H432c17.7 0 32-14.3 32-32V204.8L288 55.5zM288 160a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM176 400c0-44.2 35.8-80 80-80h64c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16H192c-8.8 0-16-7.2-16-16z\"]\n};\nvar faHandHoldingHeart = {\n prefix: 'far',\n iconName: 'hand-holding-heart',\n icon: [576, 512, [], \"f4be\", \"M163.9 136.9c-29.4-29.8-29.4-78.2 0-108s77-29.8 106.4 0l17.7 18 17.7-18c29.4-29.8 77-29.8 106.4 0s29.4 78.2 0 108L310.5 240.1c-6.2 6.3-14.3 9.4-22.5 9.4s-16.3-3.1-22.5-9.4L163.9 136.9zM187.4 352c-7.9 0-15.6 2.3-22.2 6.7L85.3 412c-3.9 2.6-8.6 4-13.3 4H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H64.7l73.8-49.2C153 309.1 170 304 187.4 304H344c35.3 0 64 28.7 64 64c0 .7 0 1.3 0 2l64.9-40c10.7-6.6 22.9-10 35.5-10h7.4c33.3 0 60.3 27 60.3 60.3c0 20.4-10.4 39.5-27.5 50.6l-95.6 61.9c-19.4 12.6-42.1 19.3-65.2 19.3H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H387.7c13.9 0 27.5-4 39.1-11.6l95.6-61.9c3.5-2.3 5.6-6.1 5.6-10.3c0-6.8-5.5-12.3-12.3-12.3h-7.4c-3.6 0-7.2 1-10.3 2.9l-93.5 57.5c-3.8 2.3-8.1 3.6-12.6 3.6H344 320 256c-13.3 0-24-10.7-24-24s10.7-24 24-24h64 24c8.8 0 16-7.2 16-16s-7.2-16-16-16H187.4z\"]\n};\nvar faArrowUpSmallBig = {\n prefix: 'far',\n iconName: 'arrow-up-small-big',\n icon: [576, 512, [\"sort-size-up-alt\"], \"f88f\", \"M368 144V80h64v64H368zm-48 0c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H368c-26.5 0-48 21.5-48 48v64zM177 39c-9.4-9.4-24.6-9.4-33.9 0L47 135c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l55-55V456c0 13.3 10.7 24 24 24s24-10.7 24-24V113.9l55 55c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L177 39zM368 304H496V432H368V304zm-48 0V432c0 26.5 21.5 48 48 48H496c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48H368c-26.5 0-48 21.5-48 48z\"]\n};\nvar faSortSizeUpAlt = faArrowUpSmallBig;\nvar faTrainTrack = {\n prefix: 'far',\n iconName: 'train-track',\n icon: [576, 512, [], \"e453\", \"M222.6 64.1c4.5-12.5-2-26.2-14.5-30.7s-26.2 2-30.7 14.5L160.1 96H112c-13.3 0-24 10.7-24 24s10.7 24 24 24h30.8L114 224H72c-13.3 0-24 10.7-24 24s10.7 24 24 24H96.7L67.9 352H32c-13.3 0-24 10.7-24 24s10.7 24 24 24H50.7L33.4 447.9c-4.5 12.5 2 26.2 14.5 30.7s26.2-2 30.7-14.5L101.7 400H474.3l23.1 64.1c4.5 12.5 18.2 18.9 30.7 14.5s18.9-18.2 14.5-30.7L525.3 400H544c13.3 0 24-10.7 24-24s-10.7-24-24-24H508.1l-28.8-80H504c13.3 0 24-10.7 24-24s-10.7-24-24-24H462l-28.8-80H464c13.3 0 24-10.7 24-24s-10.7-24-24-24H415.9L398.6 47.9c-4.5-12.5-18.2-18.9-30.7-14.5s-18.9 18.2-14.5 30.7L364.9 96H211.1l11.5-31.9zM193.8 144H382.2L411 224H165l28.8-80zM457.1 352H118.9l28.8-80H428.3l28.8 80z\"]\n};\nvar faPuzzlePiece = {\n prefix: 'far',\n iconName: 'puzzle-piece',\n icon: [512, 512, [129513], \"f12e\", \"M201.1 57.3C194.1 62.5 192 68 192 72c0 4.2 2.4 10.1 10.4 15.6c7.8 5.3 13.6 14.6 13.6 25.6c0 17-13.8 30.7-30.7 30.7H56c-4.4 0-8 3.6-8 8v52.5c7.4-2.9 15.5-4.5 24-4.5c43.1 0 72 39.4 72 80s-28.9 80-72 80c-8.5 0-16.6-1.6-24-4.5V456c0 4.4 3.6 8 8 8H156.5c-2.9-7.4-4.5-15.5-4.5-24c0-43.1 39.4-72 80-72s80 28.9 80 72c0 8.5-1.6 16.6-4.5 24H360c4.4 0 8-3.6 8-8V326.7c0-17 13.8-30.7 30.7-30.7c11.1 0 20.3 5.8 25.6 13.6c5.5 8 11.4 10.4 15.6 10.4c4 0 9.5-2.1 14.7-9.1s9.3-17.9 9.3-30.9s-4-23.8-9.3-30.9s-10.7-9.1-14.7-9.1c-4.2 0-10.1 2.4-15.6 10.4c-5.3 7.8-14.6 13.6-25.6 13.6c-17 0-30.7-13.8-30.7-30.7V152c0-4.4-3.6-8-8-8H278.7c-17 0-30.7-13.8-30.7-30.7c0-11.1 5.8-20.3 13.6-25.6c8-5.5 10.4-11.4 10.4-15.6c0-4-2.1-9.5-9.1-14.7S245 48 232 48s-23.8 4-30.9 9.3zM172.3 18.9C188.5 6.8 209.6 0 232 0s43.5 6.8 59.7 18.9S320 49.5 320 72c0 8.6-1.8 16.7-4.9 24H360c30.9 0 56 25.1 56 56v44.9c7.3-3.1 15.4-4.9 24-4.9c22.5 0 41 12.2 53.1 28.3S512 257.6 512 280s-6.8 43.5-18.9 59.7S462.5 368 440 368c-8.6 0-16.7-1.8-24-4.9V456c0 30.9-25.1 56-56 56H281.9c-18.7 0-33.9-15.2-33.9-33.9c0-10.1 4.5-18.5 9.9-24.2c4.2-4.3 6.1-9.2 6.1-13.9c0-9.9-10.7-24-32-24s-32 14.1-32 24c0 4.7 1.9 9.5 6.1 13.9c5.5 5.7 9.9 14.1 9.9 24.2c0 18.7-15.2 33.9-33.9 33.9H56c-30.9 0-56-25.1-56-56V329.9C0 311.2 15.2 296 33.9 296c10.1 0 18.5 4.5 24.2 9.9c4.3 4.2 9.2 6.1 13.9 6.1c9.9 0 24-10.7 24-32s-14.1-32-24-32c-4.7 0-9.5 1.9-13.9 6.1C52.4 259.5 44 264 33.9 264C15.2 264 0 248.8 0 230.1V152c0-30.9 25.1-56 56-56h92.9c-3.1-7.3-4.9-15.4-4.9-24c0-22.5 12.2-41 28.3-53.1z\"]\n};\nvar faMoneyCheck = {\n prefix: 'far',\n iconName: 'money-check',\n icon: [576, 512, [], \"f53c\", \"M64 112c-8.8 0-16 7.2-16 16V384c0 8.8 7.2 16 16 16H512c8.8 0 16-7.2 16-16V128c0-8.8-7.2-16-16-16H64zM0 128C0 92.7 28.7 64 64 64H512c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128zm120 80H264c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24zM96 328c0-13.3 10.7-24 24-24H456c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24zM376 160h80c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H376c-13.3 0-24-10.7-24-24V184c0-13.3 10.7-24 24-24z\"]\n};\nvar faStarHalfStroke = {\n prefix: 'far',\n iconName: 'star-half-stroke',\n icon: [576, 512, [\"star-half-alt\"], \"f5c0\", \"M309.5 13.5C305.5 5.2 297.1 0 287.9 0s-17.6 5.2-21.6 13.5L197.7 154.8 44.5 177.5c-9 1.3-16.5 7.6-19.3 16.3s-.5 18.1 5.9 24.5L142.2 328.4 116 483.9c-1.5 9 2.2 18.1 9.7 23.5s17.3 6 25.3 1.7l137-73.2 137 73.2c8.1 4.3 17.9 3.7 25.3-1.7s11.2-14.5 9.7-23.5L433.6 328.4 544.8 218.2c6.5-6.4 8.7-15.9 5.9-24.5s-10.3-14.9-19.3-16.3L378.1 154.8 309.5 13.5zM288 384.7V79.1l52.5 108.1c3.5 7.1 10.2 12.1 18.1 13.3l118.3 17.5L391 303c-5.5 5.5-8.1 13.3-6.8 21l20.2 119.6L299.2 387.5c-3.5-1.9-7.4-2.8-11.2-2.8z\"]\n};\nvar faStarHalfAlt = faStarHalfStroke;\nvar faFileExclamation = {\n prefix: 'far',\n iconName: 'file-exclamation',\n icon: [384, 512, [], \"f31a\", \"M48 448V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zM192 176c-13.3 0-24 10.7-24 24V312c0 13.3 10.7 24 24 24s24-10.7 24-24V200c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faCode = {\n prefix: 'far',\n iconName: 'code',\n icon: [640, 512, [], \"f121\", \"M399.1 1.1c-12.7-3.9-26.1 3.1-30 15.8l-144 464c-3.9 12.7 3.1 26.1 15.8 30s26.1-3.1 30-15.8l144-464c3.9-12.7-3.1-26.1-15.8-30zm71.4 118.5c-9.1 9.7-8.6 24.9 1.1 33.9L580.9 256 471.6 358.5c-9.7 9.1-10.2 24.3-1.1 33.9s24.3 10.2 33.9 1.1l128-120c4.8-4.5 7.6-10.9 7.6-17.5s-2.7-13-7.6-17.5l-128-120c-9.7-9.1-24.9-8.6-33.9 1.1zm-301 0c-9.1-9.7-24.3-10.2-33.9-1.1l-128 120C2.7 243 0 249.4 0 256s2.7 13 7.6 17.5l128 120c9.7 9.1 24.9 8.6 33.9-1.1s8.6-24.9-1.1-33.9L59.1 256 168.4 153.5c9.7-9.1 10.2-24.3 1.1-33.9z\"]\n};\nvar faWhiskeyGlass = {\n prefix: 'far',\n iconName: 'whiskey-glass',\n icon: [512, 512, [129347, \"glass-whiskey\"], \"f7a0\", \"M80.8 288H431.2L461.5 80H50.5L80.8 288zm7 48l10 68.6c2.3 15.7 15.8 27.4 31.7 27.4h253c15.9 0 29.4-11.7 31.7-27.4l10-68.6H87.8zM7.8 43.1C13.9 36 22.7 32 32 32H480c9.3 0 18.1 4 24.2 11.1s8.8 16.4 7.5 25.5l-50 342.9c-5.7 39.3-39.4 68.5-79.2 68.5h-253c-39.7 0-73.4-29.1-79.2-68.5L.3 68.6C-1 59.4 1.7 50.1 7.8 43.1z\"]\n};\nvar faGlassWhiskey = faWhiskeyGlass;\nvar faMoonStars = {\n prefix: 'far',\n iconName: 'moon-stars',\n icon: [512, 512, [], \"f755\", \"M295.8 137.8c1 3.6 4.4 6.2 8.2 6.2s7.1-2.5 8.2-6.2l11-38.6 38.6-11c3.6-1 6.2-4.4 6.2-8.2s-2.5-7.1-6.2-8.2l-38.6-11-11-38.6c-1-3.6-4.4-6.2-8.2-6.2s-7.1 2.5-8.2 6.2l-11 38.6-38.6 11c-3.6 1-6.2 4.4-6.2 8.2s2.5 7.1 6.2 8.2l38.6 11 11 38.6zM403.8 310.8c1.6 5.5 6.6 9.2 12.2 9.2s10.7-3.8 12.2-9.2l16.6-58 58-16.6c5.5-1.6 9.2-6.6 9.2-12.2s-3.8-10.7-9.2-12.2l-58-16.6-16.6-58c-1.6-5.5-6.6-9.2-12.2-9.2s-10.7 3.8-12.2 9.2l-16.6 58-58 16.6c-5.5 1.6-9.2 6.6-9.2 12.2s3.8 10.7 9.2 12.2l58 16.6 16.6 58zM48 320c0-70 50-128.3 116.2-141.3C141.6 206.3 128 241.5 128 280c0 83.2 63.5 151.6 144.7 159.3c-23 15.6-50.8 24.7-80.7 24.7c-79.5 0-144-64.5-144-144zM192 128C86 128 0 214 0 320S86 512 192 512c69.4 0 130.2-36.9 163.9-92c5.3-8.7 4.6-19.9-2-27.8s-17.3-10.8-26.9-7.2c-12.1 4.5-25.3 7-39.1 7c-61.9 0-112-50.1-112-112c0-45 26.6-83.9 65-101.7c9.3-4.3 14.8-14 13.8-24.2s-8.4-18.6-18.3-20.9c-14.3-3.4-29.2-5.2-44.4-5.2z\"]\n};\nvar faBuildingCircleExclamation = {\n prefix: 'far',\n iconName: 'building-circle-exclamation',\n icon: [640, 512, [], \"e4d3\", \"M64 48H320c8.8 0 16 7.2 16 16V294.6c11.1-24.3 27.7-45.5 48-62.3V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c19.5 0 37-8.7 48.7-22.5c-13.4-14-24.5-30.3-32.7-48.1V448c0 8.8-7.2 16-16 16H240V400c0-26.5-21.5-48-48-48s-48 21.5-48 48v64H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16zm24 56v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V104c0-8.8-7.2-16-16-16H104c-8.8 0-16 7.2-16 16zM232 88c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V104c0-8.8-7.2-16-16-16H232zM88 232v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V232c0-8.8-7.2-16-16-16H104c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V232c0-8.8-7.2-16-16-16H232zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-144c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V288c0-8.8 7.2-16 16-16z\"]\n};\nvar faClothesHanger = {\n prefix: 'far',\n iconName: 'clothes-hanger',\n icon: [640, 512, [], \"e136\", \"M211.4 91.3C221 38.4 267 0 320.8 0C382.2 0 432 49.8 432 111.2v2.9c0 36.5-17.5 70.8-47 92.3l-23.2 16.9L611 391.7c18.1 12.2 29 32.7 29 54.5c0 36.3-29.5 65.8-65.8 65.8H65.8C29.5 512 0 482.5 0 446.2c0-21.9 10.9-42.3 29-54.5L306.2 204.3l50.6-36.8c17.1-12.4 27.2-32.3 27.2-53.5v-2.9C384 76.3 355.7 48 320.8 48c-30.6 0-56.7 21.8-62.2 51.9l-3 16.4c-2.4 13-14.9 21.7-27.9 19.3s-21.7-14.9-19.3-27.9l3-16.4zM320 253L55.8 431.5c-4.9 3.3-7.8 8.8-7.8 14.7C48 456 56 464 65.8 464H574.2c9.8 0 17.8-8 17.8-17.8c0-5.9-2.9-11.4-7.8-14.7L320 253z\"]\n};\nvar faMobileNotch = {\n prefix: 'far',\n iconName: 'mobile-notch',\n icon: [384, 512, [\"mobile-iphone\"], \"e1ee\", \"M256 48V64c0 8.8-7.2 16-16 16H144c-8.8 0-16-7.2-16-16V48H96C78.3 48 64 62.3 64 80V432c0 17.7 14.3 32 32 32H288c17.7 0 32-14.3 32-32V80c0-17.7-14.3-32-32-32H256zM16 80C16 35.8 51.8 0 96 0H288c44.2 0 80 35.8 80 80V432c0 44.2-35.8 80-80 80H96c-44.2 0-80-35.8-80-80V80z\"]\n};\nvar faMobileIphone = faMobileNotch;\nvar faMagnifyingGlassChart = {\n prefix: 'far',\n iconName: 'magnifying-glass-chart',\n icon: [512, 512, [], \"e522\", \"M208 48a160 160 0 1 1 0 320 160 160 0 1 1 0-320zm0 368c48.8 0 93.7-16.8 129.1-44.9L471 505c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L371.1 337.1C399.2 301.7 416 256.8 416 208C416 93.1 322.9 0 208 0S0 93.1 0 208S93.1 416 208 416zM104 216v64c0 13.3 10.7 24 24 24s24-10.7 24-24l0-64c0-13.3-10.7-24-24-24s-24 10.7-24 24zm80-96V280c0 13.3 10.7 24 24 24s24-10.7 24-24V120c0-13.3-10.7-24-24-24s-24 10.7-24 24zm80 64v96c0 13.3 10.7 24 24 24s24-10.7 24-24V184c0-13.3-10.7-24-24-24s-24 10.7-24 24z\"]\n};\nvar faArrowUpRightFromSquare = {\n prefix: 'far',\n iconName: 'arrow-up-right-from-square',\n icon: [512, 512, [\"external-link\"], \"f08e\", \"M304 24c0 13.3 10.7 24 24 24H430.1L207 271c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l223-223V184c0 13.3 10.7 24 24 24s24-10.7 24-24V24c0-13.3-10.7-24-24-24H328c-13.3 0-24 10.7-24 24zM72 32C32.2 32 0 64.2 0 104V440c0 39.8 32.2 72 72 72H408c39.8 0 72-32.2 72-72V312c0-13.3-10.7-24-24-24s-24 10.7-24 24V440c0 13.3-10.7 24-24 24H72c-13.3 0-24-10.7-24-24V104c0-13.3 10.7-24 24-24H200c13.3 0 24-10.7 24-24s-10.7-24-24-24H72z\"]\n};\nvar faExternalLink = faArrowUpRightFromSquare;\nvar faCubesStacked = {\n prefix: 'far',\n iconName: 'cubes-stacked',\n icon: [448, 512, [], \"e4e6\", \"M240 80v32h32V80H240zM224 32h64c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H224c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32zM136.5 268.2l27.7-16-16-27.7-27.7 16 16 27.7zM71 250.7c-8.8-15.3-3.6-34.9 11.7-43.7l55.4-32c15.3-8.8 34.9-3.6 43.7 11.7l32 55.4c8.8 15.3 3.6 34.9-11.7 43.7l-55.4 32c-15.3 8.8-34.9 3.6-43.7-11.7L71 250.7zM304 272h32V240H304v32zm-48-48c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H288c-17.7 0-32-14.3-32-32V224zM368 432h32V400H368v32zm-48-48c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H352c-17.7 0-32-14.3-32-32V384zM208 400v32h32V400H208zm-16-48h64c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V384c0-17.7 14.3-32 32-32zM48 432H80V400H48v32zM0 384c0-17.7 14.3-32 32-32H96c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V384z\"]\n};\nvar faImagesUser = {\n prefix: 'far',\n iconName: 'images-user',\n icon: [576, 512, [], \"e1b9\", \"M512 80H160c-8.8 0-16 7.2-16 16V320c0 8.8 7.2 16 16 16h64c0-35.3 28.7-64 64-64h96c35.3 0 64 28.7 64 64h64c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16zM160 32H512c35.3 0 64 28.7 64 64V320c0 35.3-28.7 64-64 64H160c-35.3 0-64-28.7-64-64V96c0-35.3 28.7-64 64-64zM24 96c13.3 0 24 10.7 24 24V344c0 48.6 39.4 88 88 88H456c13.3 0 24 10.7 24 24s-10.7 24-24 24H136C60.9 480 0 419.1 0 344V120c0-13.3 10.7-24 24-24zm248 80a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z\"]\n};\nvar faWonSign = {\n prefix: 'far',\n iconName: 'won-sign',\n icon: [512, 512, [8361, \"krw\", \"won\"], \"f159\", \"M71.1 49.5C67.5 36.8 54.3 29.3 41.5 32.9S21.3 49.7 24.9 62.5L79.1 256H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H92.5l44.4 158.5c2.9 10.5 12.6 17.7 23.6 17.5s20.3-7.8 22.9-18.4L221.2 304h69.7l37.8 157.6c2.6 10.6 12 18.2 22.9 18.4s20.6-7 23.6-17.5L419.5 304H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H432.9L487.1 62.5c3.6-12.8-3.9-26-16.6-29.6s-26 3.9-29.6 16.6L383.1 256H328.7L279.3 50.4C276.7 39.6 267.1 32 256 32s-20.7 7.6-23.3 18.4L183.3 256H128.9L71.1 49.5zM142.4 304h29.4l-13.6 56.6L142.4 304zm90.3-48L256 158.8 279.3 256H232.7zm107.5 48h29.4l-15.9 56.6L340.2 304z\"]\n};\nvar faKrw = faWonSign;\nvar faWon = faWonSign;\nvar faImagePolaroidUser = {\n prefix: 'far',\n iconName: 'image-polaroid-user',\n icon: [448, 512, [], \"e1b6\", \"M48 416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V368H48v48zm286-96h66V96c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16V320h66c7.1-27.6 32.2-48 62-48h96c29.8 0 54.9 20.4 62 48zM448 96V320v24 24 48c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V368 344 320 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64zM160 176a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z\"]\n};\nvar faVirusCovid = {\n prefix: 'far',\n iconName: 'virus-covid',\n icon: [512, 512, [], \"e4a8\", \"M216 0c-13.3 0-24 10.7-24 24s10.7 24 24 24h16V81.6c-30.7 4.2-58.8 16.3-82.3 34.1L125.9 92l11.3-11.3c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L46.7 103.3c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L92 125.9l23.8 23.8C97.9 173.2 85.8 201.3 81.6 232H48V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v80c0 13.3 10.7 24 24 24s24-10.7 24-24V280H81.6c4.2 30.7 16.3 58.8 34.1 82.3L92 386.1 80.6 374.8c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l56.6 56.6c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L125.9 420l23.8-23.8c23.5 17.9 51.7 29.9 82.3 34.1V464H216c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V430.4c30.7-4.2 58.8-16.3 82.3-34.1L386.1 420l-11.3 11.3c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l56.6-56.6c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L420 386.1l-23.8-23.8c17.9-23.5 29.9-51.7 34.1-82.3H464v16c0 13.3 10.7 24 24 24s24-10.7 24-24V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v16H430.4c-4.2-30.7-16.3-58.8-34.1-82.3L420 125.9l11.3 11.3c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L408.7 46.7c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9L386.1 92l-23.8 23.8C338.8 97.9 310.7 85.8 280 81.6V48h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H216zm40 128a128 128 0 1 1 0 256 128 128 0 1 1 0-256zm0 112a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm48 88a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faSquareEllipsis = {\n prefix: 'far',\n iconName: 'square-ellipsis',\n icon: [448, 512, [], \"e26e\", \"M48 416c0 8.8 7.2 16 16 16l320 0c8.8 0 16-7.2 16-16l0-320c0-8.8-7.2-16-16-16L64 80c-8.8 0-16 7.2-16 16l0 320zm16 64c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l320 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480zM192 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm-64 32a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm160-32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faPie = {\n prefix: 'far',\n iconName: 'pie',\n icon: [576, 512, [129383], \"f705\", \"M525.8 225.1c3.1 7.8 8.8 14.4 16.3 18.2l16.2 8.1c15.8 7.9 22.2 27.1 14.3 42.9s-27.1 22.2-42.9 14.3l-29.6-14.8c-14.7-7.4-31.7-8.8-47.4-3.9l-41.6 12.8c-23.3 7.2-48.3 6.5-71.2-1.8l-30-10.9c-14.1-5.1-29.6-5.1-43.7 0l-30 10.9c-22.9 8.3-47.9 9-71.2 1.8l-41.6-12.8c-15.7-4.8-32.7-3.4-47.4 3.9L46.3 308.6c-15.8 7.9-35 1.5-42.9-14.3s-1.5-35 14.3-42.9l16.2-8.1c7.5-3.8 13.2-10.4 16.3-18.2C87.9 130.7 180.1 64 288 64s200.1 66.7 237.8 161.1zM199.2 129.7c-7.9-4-17.5-.7-21.5 7.2l-16 32c-4 7.9-.7 17.5 7.2 21.5c2.2 1.1 4.5 1.6 6.8 1.7l.7 0c5.7-.1 11.2-3.3 14-8.8l16-32c4-7.9 .7-17.5-7.2-21.5zm177.7 0c-7.9 4-11.1 13.6-7.2 21.5l16 32c2.7 5.5 8.2 8.7 14 8.8l.7 0c2.3 0 4.6-.6 6.8-1.7c7.9-4 11.1-13.6 7.2-21.5l-16-32c-4-7.9-13.6-11.1-21.5-7.2zM288 128c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16s16-7.2 16-16l0-32c0-8.8-7.2-16-16-16zM90.2 322.4c4.2-2.1 8.8-3.2 13.4-3.4l23.3 70c2.2 6.5 8.3 10.9 15.2 10.9l291.7 0c6.9 0 13-4.4 15.2-10.9l23.3-70c4.6 .1 9.2 1.3 13.4 3.4l29.6 14.8c.4 .2 .9 .4 1.3 .6l-22.1 66.4c-8.7 26.1-33.2 43.8-60.7 43.8l-291.7 0c-27.5 0-52-17.6-60.7-43.8L59.3 337.9c.4-.2 .9-.4 1.3-.6l29.6-14.8z\"]\n};\nvar faChessKnightPiece = {\n prefix: 'far',\n iconName: 'chess-knight-piece',\n icon: [320, 512, [\"chess-knight-alt\"], \"f442\", \"M68.9 112l79.8 0C216.8 112 272 167.2 272 235.3c0 11.3-1.6 22.5-4.6 33.4L243.9 352h49.9l19.8-70.3c4.3-15.1 6.4-30.7 6.4-46.4C320 140.7 243.3 64 148.7 64L40.8 64C18.5 64 .4 82.1 .4 104.5c0 11.6 5 22.5 13.3 30C5 148.3 .3 164.4 .3 181L.1 232C0 253.2 8 273.7 22.4 289.2l1.9 2c6.5 7 14 12.6 22 16.8c-8.3 13-13.1 28.2-13.8 43.9H80.5c1.1-11.5 7-22 16.2-29l25.1-15.4c2.7-1.4 5.3-3 7.8-4.8l42.9-26.3c11.3-6.9 14.8-21.7 7.9-33s-21.7-14.8-33-7.9l-42.7 26.2-.1-.2c-.5 .4-1 .8-1.5 1.2l-4.9 3c-12.8 6.4-28.7 3.8-38.8-7.1l-1.9-2c-6.2-6.6-9.6-15.4-9.5-24.4l.2-51c0-10.6 4.2-20.7 11.7-28.1l8-8c5.5-5.5 8-13.2 6.7-20.8c-.7-4.6-2.8-8.8-5.8-12.2zM96 192a16 16 0 1 0 0-32 16 16 0 1 0 0 32zM52.7 464l16.6-32H250.8l16.6 32H52.7zm207.9-80H59.5c-12 0-22.9 6.7-28.4 17.3L4.6 452.5c-3 5.8-4.6 12.2-4.6 18.7C0 493.8 18.2 512 40.8 512H279.2c22.5 0 40.8-18.2 40.8-40.8c0-6.5-1.6-12.9-4.6-18.7l-26.5-51.2c-5.5-10.6-16.5-17.3-28.4-17.3z\"]\n};\nvar faChessKnightAlt = faChessKnightPiece;\nvar faAustralSign = {\n prefix: 'far',\n iconName: 'austral-sign',\n icon: [448, 512, [], \"e0a9\", \"M246.1 46.7C242.4 37.8 233.7 32 224 32s-18.4 5.8-22.1 14.7L127.4 224H24c-13.3 0-24 10.7-24 24s10.7 24 24 24h83.2L87.1 320H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H66.9L33.9 446.7c-5.1 12.2 .6 26.3 12.8 31.4s26.3-.6 31.4-12.8L119 368H329l40.9 97.3c5.1 12.2 19.2 18 31.4 12.8s18-19.2 12.8-31.4L381.1 368H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H360.9l-20.2-48H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H320.6L246.1 46.7zM268.5 224H179.5L224 118l44.5 106zM159.3 272H288.7l20.2 48H139.2l20.2-48z\"]\n};\nvar faCloudPlus = {\n prefix: 'far',\n iconName: 'cloud-plus',\n icon: [640, 512, [], \"e35e\", \"M354.9 121.7c13.8 16 36.5 21.1 55.9 12.5c8.9-3.9 18.7-6.2 29.2-6.2c39.8 0 72 32.2 72 72c0 4-.3 7.9-.9 11.7c-3.5 21.6 8.1 42.9 28.1 51.7C570.4 276.9 592 308 592 344c0 46.8-36.6 85.2-82.8 87.8c-.6 0-1.3 .1-1.9 .2H504 144c-53 0-96-43-96-96c0-41.7 26.6-77.3 64-90.5c19.2-6.8 32-24.9 32-45.3l0-.2v0 0c0-66.3 53.7-120 120-120c36.3 0 68.8 16.1 90.9 41.7zM512 480v-.2c71.4-4.1 128-63.3 128-135.8c0-55.7-33.5-103.7-81.5-124.7c1-6.3 1.5-12.8 1.5-19.3c0-66.3-53.7-120-120-120c-17.4 0-33.8 3.7-48.7 10.3C360.4 54.6 314.9 32 264 32C171.2 32 96 107.2 96 200l0 .2C40.1 220 0 273.3 0 336c0 79.5 64.5 144 144 144H464h40 8zM296 376c0 13.3 10.7 24 24 24s24-10.7 24-24V312h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H344V200c0-13.3-10.7-24-24-24s-24 10.7-24 24v64H232c-13.3 0-24 10.7-24 24s10.7 24 24 24h64v64z\"]\n};\nvar faF = {\n prefix: 'far',\n iconName: 'f',\n icon: [320, 512, [102], \"46\", \"M56 32C25.1 32 0 57.1 0 88V248 456c0 13.3 10.7 24 24 24s24-10.7 24-24V272H232c13.3 0 24-10.7 24-24s-10.7-24-24-24H48V88c0-4.4 3.6-8 8-8H296c13.3 0 24-10.7 24-24s-10.7-24-24-24H56z\"]\n};\nvar faLeaf = {\n prefix: 'far',\n iconName: 'leaf',\n icon: [512, 512, [], \"f06c\", \"M149.6 234.4c20.9-6.7 43.2-10.4 66.4-10.4h80c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-25.4 0-49.5 5.6-71 15.7C152.7 351 206.6 400 271.9 400h.1l.8 0 .1 0C370.2 399.5 464 299.7 464 156.6c0-12.8-.8-25.3-2.3-37.5C437 134.9 407.6 144 376 144l-104 0c-57.6 0-106.3 38.1-122.4 90.4zM96.4 260.1C102.5 168.5 178.8 96 272 96l104 0c28.7 0 54.8-10.8 74.6-28.5c.7-.6 1.4-1.3 2.1-1.9c6.6-6.2 12.5-13.2 17.4-20.9c1.6-2.5 3.2-5.1 4.6-7.8c3.5-6.5 13.6-6.8 16.2 .1c1.3 3.5 2.5 7 3.7 10.6c2.9 8.9 5.5 17.9 7.8 27.2c.5 1.9 .9 3.8 1.3 5.6c5.4 24.3 8.3 49.8 8.3 76.2C512 317.1 405.1 447.3 273 448l-1 0c-81.7 0-150.4-55.7-170.2-131.2C68.7 347.5 48 391.3 48 440v16c0 13.3-10.7 24-24 24s-24-10.7-24-24V440c0-75.1 38.3-141.2 96.4-179.9z\"]\n};\nvar faBedBunk = {\n prefix: 'far',\n iconName: 'bed-bunk',\n icon: [576, 512, [], \"f8f8\", \"M24 0C37.3 0 48 10.7 48 24V160H256V40c0-22.1 17.9-40 40-40H456c66.3 0 120 53.7 120 120v64 96V439.7 488c0 13.3-10.7 24-24 24s-24-10.7-24-24V463.7H280 48V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V439.7 184 24C0 10.7 10.7 0 24 0zM256 415.7V296c0-22.1 17.9-40 40-40H528V208H280 48V415.7H256zM528 160V120c0-39.8-32.2-72-72-72H304V160H528zm0 144H304V415.7H528V304zM96 328a56 56 0 1 1 112 0A56 56 0 1 1 96 328zM152 16a56 56 0 1 1 0 112 56 56 0 1 1 0-112z\"]\n};\nvar faRoad = {\n prefix: 'far',\n iconName: 'road',\n icon: [576, 512, [128739], \"f018\", \"M185.7 32c-30.4 0-57.5 19-67.7 47.6L8.6 383.6C-8.3 430.5 26.4 480 76.3 480H499.7c49.9 0 84.6-49.5 67.7-96.4L458 79.6C447.7 51 420.6 32 390.3 32H185.7zM163.2 95.9c3.4-9.5 12.5-15.9 22.6-15.9H264v24c0 13.3 10.7 24 24 24s24-10.7 24-24V80h78.3c10.1 0 19.2 6.3 22.6 15.9l109.4 304c5.6 15.6-6 32.1-22.6 32.1H312V408c0-13.3-10.7-24-24-24s-24 10.7-24 24v24H76.3c-16.6 0-28.2-16.5-22.6-32.1l109.4-304zM312 216c0-13.3-10.7-24-24-24s-24 10.7-24 24v80c0 13.3 10.7 24 24 24s24-10.7 24-24V216z\"]\n};\nvar faTaxi = {\n prefix: 'far',\n iconName: 'taxi',\n icon: [512, 512, [128662, \"cab\"], \"f1ba\", \"M192 0c-17.7 0-32 14.3-32 32V64c0 .1 0 .1 0 .2c-35.2 2.2-65.9 25.2-77.7 58.8L48.1 220.8C19.3 237.4 0 268.4 0 304v80 48 56c0 13.3 10.7 24 24 24s24-10.7 24-24V432H464v56c0 13.3 10.7 24 24 24s24-10.7 24-24V432 384 304c0-35.6-19.4-66.6-48.1-83.2l-34.3-97.9C417.9 89.3 387.2 66.3 352 64.2c0-.1 0-.1 0-.2V32c0-17.7-14.3-32-32-32H192zM165.4 112H346.6c17 0 32.1 10.7 37.8 26.8L408.6 208H103.4l24.2-69.2c5.6-16 20.8-26.8 37.8-26.8zM96 256H416c26.5 0 48 21.5 48 48v80H48V304c0-26.5 21.5-48 48-48zm48 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm256 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faCab = faTaxi;\nvar faPersonCirclePlus = {\n prefix: 'far',\n iconName: 'person-circle-plus',\n icon: [576, 512, [], \"e541\", \"M112 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm32 128.1V304h32V176.1c-.7 0-1.5-.1-2.3-.1H146.3c-.8 0-1.5 0-2.3 .1zM144 352V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V223.6L52.9 299.8c-6.5 11.5-21.2 15.6-32.7 9.1s-15.6-21.2-9.1-32.7L69.7 172.7c15.6-27.6 44.9-44.7 76.6-44.7h27.5c31.7 0 61 17.1 76.6 44.7L297 255.1c-11.7 14-21.3 29.9-28.3 47.1c-.6-.8-1.1-1.6-1.6-2.4L224 223.6V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V352H144zM432 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm16 80c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H368c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v48c0 8.8 7.2 16 16 16s16-7.2 16-16V384h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H448V304z\"]\n};\nvar faChartPie = {\n prefix: 'far',\n iconName: 'chart-pie',\n icon: [576, 512, [\"pie-chart\"], \"f200\", \"M493.1 192H352V50.9C423.5 64 480 120.5 493.1 192zM352 240H527.4c9 0 16.6-7 16.6-16C544 100.3 443.7 0 320 0c-9 0-16 7.6-16 16.6V192v48h48zM222.1 321.9L348.4 448.2C325 458.4 299.2 464 272 464C166 464 80 378 80 272c0-83.6 53.4-154.7 128-181.1V288c0 12.7 5.1 24.9 14.1 33.9zM239 34.3C122.1 50.3 32 150.7 32 272c0 132.5 107.5 240 240 240c51.8 0 99.8-16.4 139-44.3c7.7-5.5 8.2-16.5 1.5-23.1L256 288V49.6c0-9.2-7.8-16.6-17-15.4zM558.4 288H320L478.7 446.7c5.8 5.8 15.2 6.3 21.2 .7c39.3-36.7 66.2-86.5 73.9-142.3c1.3-9.2-6.1-17-15.4-17z\"]\n};\nvar faPieChart = faChartPie;\nvar faBoltLightning = {\n prefix: 'far',\n iconName: 'bolt-lightning',\n icon: [384, 512, [], \"e0b7\", \"M77 48L51.4 240H208c7.4 0 14.4 3.4 18.9 9.2s6.2 13.4 4.4 20.6l-23 91.8L322.8 192H176c-7.9 0-15.3-3.9-19.8-10.4s-5.4-14.9-2.6-22.2L196.9 48H77zM30.4 34.7C33 14.8 50 0 70 0H208.6c28.1 0 47.5 28.3 37.3 54.5L211.1 144H337.9c32.1 0 51.1 35.8 33.2 62.4l-199.2 295c-6.5 9.7-19 13.2-29.7 8.5s-16.3-16.4-13.5-27.7L177.3 288H42.3C18.1 288-.6 266.7 2.6 242.7l27.7-208z\"]\n};\nvar faClockEight = {\n prefix: 'far',\n iconName: 'clock-eight',\n icon: [512, 512, [], \"e345\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM280 120V256c0 8-4 15.5-10.7 20l-96 64c-11 7.4-25.9 4.4-33.3-6.7s-4.4-25.9 6.7-33.3L232 243.2V120c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faSackXmark = {\n prefix: 'far',\n iconName: 'sack-xmark',\n icon: [512, 512, [], \"e56a\", \"M293.3 152H218.7l-13.8 8.8C150.9 195.4 48 277 48 416c0 26.5 21.5 48 48 48H416c26.5 0 48-21.5 48-48c0-139-102.9-220.6-156.9-255.2L293.3 152zm.2-58.8L324.6 48H187.4l31.1 45.2L226 104h60l7.5-10.8zM0 416C0 274.8 89.4 185.5 150.8 139.9c10.4-7.7 20-14.2 28.2-19.4L151.8 80.9 121.9 37.6C111 21.7 122.4 0 141.7 0H370.3c19.3 0 30.7 21.7 19.8 37.6L360.2 80.9 333 120.4c8.2 5.3 17.8 11.7 28.2 19.4C422.6 185.5 512 274.8 512 416c0 53-43 96-96 96H96c-53 0-96-43-96-96zM209 239l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0z\"]\n};\nvar faFileXls = {\n prefix: 'far',\n iconName: 'file-xls',\n icon: [512, 512, [], \"e64d\", \"M128 464H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V288h48V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64h64V464zm96-96c0-8.8-7.2-16-16-16s-16 7.2-16 16c0 13.6 4 26.9 11.6 38.2L220.8 432l-17.2 25.8C196 469.1 192 482.4 192 496c0 8.8 7.2 16 16 16s16-7.2 16-16c0-7.3 2.2-14.4 6.2-20.4l9.8-14.7 9.8 14.7c4 6.1 6.2 13.2 6.2 20.4c0 8.8 7.2 16 16 16s16-7.2 16-16c0-13.6-4-26.9-11.6-38.2L259.2 432l17.2-25.8C284 394.9 288 381.6 288 368c0-8.8-7.2-16-16-16s-16 7.2-16 16c0 7.3-2.2 14.4-6.2 20.4L240 403.2l-9.8-14.7c-4-6.1-6.2-13.2-6.2-20.4zm96 128c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H352V368c0-8.8-7.2-16-16-16s-16 7.2-16 16V496zm88-98.3c0 17.3 9.8 33.1 25.2 40.8l31.2 15.6c4.6 2.3 7.6 7 7.6 12.2c0 7.5-6.1 13.7-13.7 13.7H432c-8.8 0-16 7.2-16 16s7.2 16 16 16h26.3c25.2 0 45.7-20.4 45.7-45.7c0-17.3-9.8-33.1-25.2-40.8l-31.2-15.6c-4.6-2.3-7.6-7-7.6-12.2c0-7.5 6.1-13.7 13.7-13.7H480c8.8 0 16-7.2 16-16s-7.2-16-16-16H453.7c-25.2 0-45.7 20.4-45.7 45.7z\"]\n};\nvar faFileExcel = {\n prefix: 'far',\n iconName: 'file-excel',\n icon: [384, 512, [], \"f1c3\", \"M48 448V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zm90.9 233.3c-8.1-10.5-23.2-12.3-33.7-4.2s-12.3 23.2-4.2 33.7L161.6 320l-44.5 57.3c-8.1 10.5-6.3 25.5 4.2 33.7s25.5 6.3 33.7-4.2L192 359.1l37.1 47.6c8.1 10.5 23.2 12.3 33.7 4.2s12.3-23.2 4.2-33.7L222.4 320l44.5-57.3c8.1-10.5 6.3-25.5-4.2-33.7s-25.5-6.3-33.7 4.2L192 280.9l-37.1-47.6z\"]\n};\nvar faFileContract = {\n prefix: 'far',\n iconName: 'file-contract',\n icon: [384, 512, [], \"f56c\", \"M48 448V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zM96 96c-8.8 0-16 7.2-16 16s7.2 16 16 16h80c8.8 0 16-7.2 16-16s-7.2-16-16-16H96zm0 64c-8.8 0-16 7.2-16 16s7.2 16 16 16h80c8.8 0 16-7.2 16-16s-7.2-16-16-16H96zm54.2 221.8L160 349l16.7 55.6c1.9 6.3 7.4 10.8 13.9 11.3s12.8-2.9 15.7-8.8l10.6-21.3c.6-1.2 1.8-1.9 3.1-1.9s2.5 .7 3.1 1.9l10.6 21.3c2.7 5.4 8.3 8.8 14.3 8.8h40c8.8 0 16-7.2 16-16s-7.2-16-16-16H257.9l-6.2-12.4c-6-12-18.3-19.6-31.7-19.6c-8.6 0-16.8 3.1-23.1 8.6l-11.3-37.5C182.2 311.7 171.8 304 160 304s-22.2 7.7-25.6 19.1l-14.9 49.5c-2 6.8-8.3 11.4-15.3 11.4H96c-8.8 0-16 7.2-16 16s7.2 16 16 16h8.2c21.2 0 39.9-13.9 46-34.2z\"]\n};\nvar faFishFins = {\n prefix: 'far',\n iconName: 'fish-fins',\n icon: [576, 512, [], \"e4f2\", \"M247.3 166c-13.1 6.7-25.4 14.5-36.5 22.8c-10.2 7.6-19.5 15.8-27.9 24c-14.2 13.9-35.5 17.6-53.6 9.3L70.6 195.3l21.1 36.9c8.4 14.8 8.4 32.9 0 47.6L70.6 316.7l58.7-26.9c18.1-8.3 39.4-4.6 53.6 9.3c8.4 8.3 17.8 16.4 27.9 24c11.2 8.4 23.5 16.3 36.8 23c16.7 8.4 27 25.8 26.3 44.4l-.8 23.6 46.2-36.3c7.7-6.1 17.2-9.6 27-10.2c44.7-2.5 83.7-21 114.9-44.5c29.4-22.1 51.3-48 64-67.2c-12.7-19.2-34.6-45.1-64-67.2c-31.3-23.5-70.2-42-114.9-44.5c-9.8-.5-19.2-4.1-27-10.2L272.9 97.6l.6 24.3c.5 18.5-9.7 35.7-26.3 44.1zM8.4 373.6C-1 363.3-2.7 348.2 4.2 336.1L50 256 4.2 175.9c-6.9-12.1-5.2-27.2 4.2-37.5s24.3-13.3 36.9-7.5l103.9 47.6c9.8-9.6 20.8-19.2 32.7-28.1c13.1-9.8 27.7-19.2 43.6-27.2L224 64.9c-.3-12.4 6.5-23.9 17.6-29.4s24.4-4.2 34.1 3.4L349 96.4c56.6 3.2 104.5 26.6 141.1 54c39.2 29.4 67.2 64.7 81.6 89.5c5.8 9.9 5.8 22.2 0 32.1c-14.4 24.8-42.5 60.1-81.6 89.5c-36.6 27.5-84.5 50.9-141.1 54l-73.2 57.5c-9.8 7.7-23.1 9-34.2 3.4s-17.9-17.2-17.5-29.6l1.9-57.9c-16.1-8.1-30.8-17.5-44-27.4c-12-9-22.9-18.5-32.7-28.1L45.3 381.1c-12.6 5.8-27.6 2.8-36.9-7.5zM416 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faCircleQ = {\n prefix: 'far',\n iconName: 'circle-q',\n icon: [512, 512, [], \"e11e\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM176 256c0-44.2 35.8-80 80-80s80 35.8 80 80c0 13.4-3.3 25.9-9.1 37l-30-30c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l30 30c-11.1 5.8-23.7 9.1-37 9.1c-44.2 0-80-35.8-80-80zm208 0c0-70.7-57.3-128-128-128s-128 57.3-128 128s57.3 128 128 128c26.7 0 51.4-8.2 71.9-22.1L343 377c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-15.1-15.1c14-20.5 22.1-45.3 22.1-71.9z\"]\n};\nvar faBuildingFlag = {\n prefix: 'far',\n iconName: 'building-flag',\n icon: [640, 512, [], \"e4d5\", \"M64 48c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16h80V400c0-26.5 21.5-48 48-48s48 21.5 48 48v64h80c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H64zM0 64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zm88 40c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v48c0 8.8-7.2 16-16 16H104c-8.8 0-16-7.2-16-16V104zM232 88h48c8.8 0 16 7.2 16 16v48c0 8.8-7.2 16-16 16H232c-8.8 0-16-7.2-16-16V104c0-8.8 7.2-16 16-16zM88 232c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v48c0 8.8-7.2 16-16 16H104c-8.8 0-16-7.2-16-16V232zm144-16h48c8.8 0 16 7.2 16 16v48c0 8.8-7.2 16-16 16H232c-8.8 0-16-7.2-16-16V232c0-8.8 7.2-16 16-16zM448 0c17.7 0 32 14.3 32 32H624c8.8 0 16 7.2 16 16V176c0 8.8-7.2 16-16 16H480V512H416V32c0-17.7 14.3-32 32-32z\"]\n};\nvar faFaceGrinBeam = {\n prefix: 'far',\n iconName: 'face-grin-beam',\n icon: [512, 512, [128516, \"grin-beam\"], \"f582\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm349.5 52.4c18.7-4.4 35.9 12 25.5 28.1C350.4 374.6 306.3 400 255.9 400s-94.5-25.4-119.1-63.5c-10.4-16.1 6.8-32.5 25.5-28.1c28.9 6.8 60.5 10.5 93.6 10.5s64.7-3.7 93.6-10.5zM217.6 228.8l0 0 0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0zm160 0l0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0 0 0z\"]\n};\nvar faGrinBeam = faFaceGrinBeam;\nvar faObjectUngroup = {\n prefix: 'far',\n iconName: 'object-ungroup',\n icon: [640, 512, [], \"f248\", \"M48.2 66.8c-.1-.8-.2-1.7-.2-2.5c0-.1 0-.1 0-.2c0-8.8 7.2-16 16-16c.9 0 1.9 .1 2.8 .2C74.3 49.5 80 56.1 80 64c0 8.8-7.2 16-16 16c-7.9 0-14.5-5.7-15.8-13.2zM0 64c0 26.9 16.5 49.9 40 59.3V228.7C16.5 238.1 0 261.1 0 288c0 35.3 28.7 64 64 64c26.9 0 49.9-16.5 59.3-40H324.7c9.5 23.5 32.5 40 59.3 40c35.3 0 64-28.7 64-64c0-26.9-16.5-49.9-40-59.3V123.3c23.5-9.5 40-32.5 40-59.3c0-35.3-28.7-64-64-64c-26.9 0-49.9 16.5-59.3 40H123.3C113.9 16.5 90.9 0 64 0C28.7 0 0 28.7 0 64zm368 0a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM324.7 88c6.5 16 19.3 28.9 35.3 35.3V228.7c-16 6.5-28.9 19.3-35.3 35.3H123.3c-6.5-16-19.3-28.9-35.3-35.3V123.3c16-6.5 28.9-19.3 35.3-35.3H324.7zM384 272a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM80 288c0 7.9-5.7 14.5-13.2 15.8c-.8 .1-1.7 .2-2.5 .2l-.2 0c-8.8 0-16-7.2-16-16c0-.9 .1-1.9 .2-2.8C49.5 277.7 56.1 272 64 272c8.8 0 16 7.2 16 16zm391.3-40h45.4c6.5 16 19.3 28.9 35.3 35.3V388.7c-16 6.5-28.9 19.3-35.3 35.3H315.3c-6.5-16-19.3-28.9-35.3-35.3V352H232v36.7c-23.5 9.5-40 32.5-40 59.3c0 35.3 28.7 64 64 64c26.9 0 49.9-16.5 59.3-40H516.7c9.5 23.5 32.5 40 59.3 40c35.3 0 64-28.7 64-64c0-26.9-16.5-49.9-40-59.3V283.3c23.5-9.5 40-32.5 40-59.3c0-35.3-28.7-64-64-64c-26.9 0-49.9 16.5-59.3 40H448v16.4c9.8 8.8 17.8 19.5 23.3 31.6zm88.9-26.7a16 16 0 1 1 31.5 5.5 16 16 0 1 1 -31.5-5.5zM271.8 450.7a16 16 0 1 1 -31.5-5.5 16 16 0 1 1 31.5 5.5zm301.5 13c-7.5-1.3-13.2-7.9-13.2-15.8c0-8.8 7.2-16 16-16c7.9 0 14.5 5.7 15.8 13.2l0 .1c.1 .9 .2 1.8 .2 2.7c0 8.8-7.2 16-16 16c-.9 0-1.9-.1-2.8-.2z\"]\n};\nvar faFaceDisguise = {\n prefix: 'far',\n iconName: 'face-disguise',\n icon: [512, 512, [], \"e370\", \"M464 256c0 114.9-93.1 208-208 208S48 370.9 48 256c0-16.5 1.9-32.6 5.6-48H72c0 50.1 38.4 91.2 87.3 95.6c-9.6 7.9-15.3 19.7-15.3 32.4c0 15.9 9 30.4 23.1 37.5L147.5 398c-5.5 6.9-4.4 17 2.5 22.5s17 4.4 22.5-2.5l23.9-29.9 7.3 3.6-10.5 26.3c-3.3 8.2 .7 17.5 8.9 20.8s17.5-.7 20.8-8.9l10-24.9c2.4 .7 4.8 1.3 7.2 1.8V432c0 8.8 7.2 16 16 16s16-7.2 16-16V406.8c2.4-.5 4.8-1.1 7.2-1.8l10 24.9c3.3 8.2 12.6 12.2 20.8 8.9s12.2-12.6 8.9-20.8l-10.5-26.3 7.3-3.6L339.5 418c5.5 6.9 15.6 8 22.5 2.5s8-15.6 2.5-22.5l-19.6-24.5C359 366.4 368 351.9 368 336c0-12.7-5.7-24.5-15.3-32.4c49-4.4 87.3-45.5 87.3-95.6h18.4c3.6 15.4 5.6 31.5 5.6 48zM218 229.5l-21.4 35.7c-1.1 .6-1.9 1-2.6 1.3c-7.9 3.5-16.8 5.5-26.1 5.5c-35.3 0-64-28.7-64-64s28.7-64 64-64s64 28.7 64 64c0 2.5-.1 4.9-.4 7.3c-5.4 3.6-10.1 8.4-13.5 14.1zM280 208c0-35.3 28.7-64 64-64s64 28.7 64 64s-28.7 64-64 64c-9.3 0-18.1-2-26.1-5.5c-.6-.3-1.5-.7-2.6-1.3L294 229.5c-3.5-5.8-8.1-10.6-13.5-14.1c-.3-2.4-.4-4.9-.4-7.3zm219.4-31.6C465.9 74 369.6 0 256 0S46.1 74 12.6 176.4C5.4 177.9 0 184.3 0 192c0 4.7 2 9 5.3 11.9C1.8 220.7 0 238.1 0 256C0 397.4 114.6 512 256 512s256-114.6 256-256c0-17.9-1.8-35.3-5.3-52.1c3.3-2.9 5.3-7.2 5.3-11.9c0-7.7-5.4-14.1-12.6-15.6zM63.9 176c6.4-15.3 14.5-29.7 24.2-42.9c-.6 4.5 .2 9.3 2.4 13.6l1.4 2.7c-6.1 8-11 16.9-14.4 26.5H63.9zm384.1 0H434.5c-3.4-9.6-8.3-18.6-14.4-26.5l1.4-2.7c2.2-4.4 2.9-9.1 2.4-13.6c9.7 13.2 17.8 27.6 24.2 42.9zM104.9 113.1C142.8 73 196.5 48 256 48s113.2 25 151.1 65.1c-9-2.8-18.7 0-24.9 6.8c-2-.9-4.1-1.7-6.2-2.4V112c0-13.3-10.7-24-24-24s-24 10.7-24 24v1.3c-1.5 .2-2.9 .5-4.4 .8c-6.7-9.6-19.6-13-30.3-7.6s-15.7 17.8-12.1 28.9c-10.7 9.3-19.4 21-25.2 34.2c-5.8-13.2-14.4-24.9-25.2-34.2c3.6-11.1-1.3-23.5-12.1-28.9s-23.6-1.9-30.4 7.6c-1.4-.3-2.9-.6-4.4-.8V112c0-13.3-10.7-24-24-24s-24 10.7-24 24v5.5c-2.1 .7-4.2 1.6-6.2 2.4c-6.2-6.9-16-9.6-24.9-6.8zM256 240c4.3 0 8.3 2.3 10.5 6l39.8 66.3 2.4 4 4.2 2.1 17.7 8.8c3.4 1.7 5.5 5.1 5.5 8.8s-2.1 7.2-5.5 8.8l-53.1 26.5c-13.5 6.8-29.4 6.8-42.9 0l-53.1-26.5c-3.4-1.7-5.5-5.1-5.5-8.8s2.1-7.2 5.5-8.8l17.7-8.8 4.2-2.1 2.4-4L245.5 246c2.2-3.7 6.2-6 10.5-6zm-64-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm152 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faCircleArrowDownRight = {\n prefix: 'far',\n iconName: 'circle-arrow-down-right',\n icon: [512, 512, [], \"e0fa\", \"M256 464a208 208 0 1 1 0-416 208 208 0 1 1 0 416zM256 0a256 256 0 1 0 0 512A256 256 0 1 0 256 0zM192 368H344c13.3 0 24-10.7 24-24V184c0-13.3-10.7-24-24-24s-24 10.7-24 24V286.1L185 151c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l135 135H192c-13.3 0-24 10.7-24 24s10.7 24 24 24z\"]\n};\nvar faAlien8bit = {\n prefix: 'far',\n iconName: 'alien-8bit',\n icon: [640, 512, [128126, \"alien-monster\"], \"f8f6\", \"M152 32c13.3 0 24 10.7 24 24h24c13.3 0 24 10.7 24 24v48H416V80c0-13.3 10.7-24 24-24h24c0-13.3 10.7-24 24-24s24 10.7 24 24V80c0 13.3-10.7 24-24 24H464v48 8h24c13.3 0 24 10.7 24 24v56h8 40V152c0-13.3 10.7-24 24-24s24 10.7 24 24V264c0 13.3-10.7 24-24 24H544v72c0 13.3-10.7 24-24 24H480v72c0 13.3-10.7 24-24 24H376c-13.3 0-24-10.7-24-24s10.7-24 24-24h56V384H208v48h56c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24V384H120c-13.3 0-24-10.7-24-24V288H56c-13.3 0-24-10.7-24-24V152c0-13.3 10.7-24 24-24s24 10.7 24 24v88h40 8V184c0-13.3 10.7-24 24-24h24v-8V104H152c-13.3 0-24-10.7-24-24V56c0-13.3 10.7-24 24-24zm72 144v8c0 13.3-10.7 24-24 24H176v56c0 13.3-10.7 24-24 24h-8v48h40H456h40V288h-8c-13.3 0-24-10.7-24-24V208H440c-13.3 0-24-10.7-24-24v-8H224zm0 64c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48c0 8.8-7.2 16-16 16H240c-8.8 0-16-7.2-16-16V240zm144-16h32c8.8 0 16 7.2 16 16v48c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16z\"]\n};\nvar faAlienMonster = faAlien8bit;\nvar faHandPointRibbon = {\n prefix: 'far',\n iconName: 'hand-point-ribbon',\n icon: [448, 512, [], \"e1a6\", \"M112 48c8.8 0 16 7.2 16 16V80H96V64c0-8.8 7.2-16 16-16zm64 32V64c0-35.3-28.7-64-64-64S48 28.7 48 64V80H11.8C5.3 80 0 85.3 0 91.8c0 3.9 1.9 7.5 5.1 9.7L43.6 128 5.1 154.5c-3.2 2.2-5.1 5.8-5.1 9.7C0 170.7 5.3 176 11.8 176H48v96c-10 13.4-16 30-16 48v0 24c0 92.8 75.2 168 168 168h48c92.8 0 168-75.2 168-168V320 256c0-35.3-28.7-64-64-64c-11 0-21.3 2.8-30.3 7.6C309.9 185.2 292 176 272 176c-7.9 0-15.4 1.4-22.4 4c-10.4-21.3-32.3-36-57.6-36V96c0-8.8-7.2-16-16-16zm-48 96v32 32H112c-5.5 0-10.8 .6-16 1.6V176h32zm24 112h40c8.8 0 16 7.2 16 16s-7.2 16-16 16H152c-13.3 0-24 10.7-24 24s10.7 24 24 24h40c15.1 0 29-5.3 40-14c11 8.8 24.9 14 40 14c11 0 21.3-2.8 30.3-7.6C314.1 374.8 332 384 352 384c3.2 0 6.3-.2 9.4-.7C345.1 430.3 300.5 464 248 464H200c-66.3 0-120-53.7-120-120V320v0c0-17.7 14.3-32 32-32h40zm200-48c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V304 256c0-8.8 7.2-16 16-16zm-144 2c-5.1-1.3-10.5-2-16-2H176V208c0-8.8 7.2-16 16-16s16 7.2 16 16v32 2zm48-2c0-8.8 7.2-16 16-16s16 7.2 16 16v16 48c0 8.8-7.2 16-16 16s-16-7.2-16-16V264 240z\"]\n};\nvar faPoop = {\n prefix: 'far',\n iconName: 'poop',\n icon: [512, 512, [], \"f619\", \"M201.8 14.8C205.5 5.8 214.3 0 224 0h8c71.6 0 131.6 49.5 147.7 116.1C410.8 133 432 166 432 204c0 1.1 0 2.2-.1 3.3c33 14 56.1 46.6 56.1 84.7c0 14.3-3.3 27.8-9.1 39.9c20.3 19 33.1 46 33.1 76.1c0 57.4-46.6 104-104 104H104C46.6 512 0 465.4 0 408c0-30.1 12.8-57.1 33.1-76.1C27.3 319.8 24 306.3 24 292c0-38.1 23.1-70.7 56.1-84.7c0-1.1-.1-2.2-.1-3.3c0-48.1 33.9-88.2 79.1-97.8c5.7-1.4 11.7-2.2 17.8-2.2H180h14.7c16.2 0 29.3-13.1 29.3-29.3V71.4c0-8.6-3.4-16.9-9.5-23L207 41c-6.9-6.9-8.9-17.2-5.2-26.2zm68.5 40.5c1.1 5.3 1.6 10.7 1.6 16.1v3.2c0 42.7-34.6 77.3-77.3 77.3H180h-3.1c-2.2 0-4.3 .3-6.3 .8c-.4 .1-.8 .2-1.2 .3C145.8 158 128 178.9 128 204c0 4.9 .7 9.7 1.9 14.1c1.9 6.7 .8 13.9-3 19.7s-10 9.7-16.9 10.6c-21.5 2.9-38 21.3-38 43.6c0 11.4 4.3 21.8 11.4 29.6c5 5.4 7.1 12.9 5.9 20.1s-5.7 13.6-12.2 17.1C59.7 368.3 48 386.8 48 408c0 30.9 25.1 56 56 56H408c30.9 0 56-25.1 56-56c0-21.2-11.8-39.7-29.2-49.2c-6.5-3.5-10.9-9.8-12.2-17.1s1-14.7 5.9-20.1c7.1-7.8 11.4-18.2 11.4-29.6c0-22.3-16.6-40.7-38-43.6c-6.9-.9-13-4.8-16.9-10.6s-4.9-13-3-19.7c1.3-4.5 1.9-9.2 1.9-14.1c0-22.3-14-41.4-33.8-48.7c-8.2-3-14-10.3-15.3-18.9c-5.6-37-30.7-67.6-64.5-81z\"]\n};\nvar faObjectExclude = {\n prefix: 'far',\n iconName: 'object-exclude',\n icon: [512, 512, [], \"e49c\", \"M64 48H288c8.8 0 16 7.2 16 16v64h48V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V288c0 35.3 28.7 64 64 64h64V304H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16zm96 336v64c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V224c0-35.3-28.7-64-64-64H384v48h64c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H224c-8.8 0-16-7.2-16-16V384H160zm128-32c35.3 0 64-28.7 64-64H304c0 8.8-7.2 16-16 16H256v48h32zm64-144V160H304 288v48h16v48h48V208zM224 352l0-48H208V256H160v48 48h48 16zM160 224h48c0-8.8 7.2-16 16-16h32V160H224c-35.3 0-64 28.7-64 64z\"]\n};\nvar faTelescope = {\n prefix: 'far',\n iconName: 'telescope',\n icon: [576, 512, [128301], \"e03e\", \"M459.7 231.7l61.5-35.5-80-138.6L379.7 93.1l80 138.6zM328.4 99.6c-6.2-14.6-.6-31.9 13.5-40.1L431.1 8C446.4-.8 466 4.4 474.8 19.7l96 166.3c8.8 15.3 3.6 34.9-11.7 43.7l-89.2 51.5c-15.3 8.8-34.9 3.6-43.7-11.7l-.5-.8-42.6 23.1c.6 4 .9 8.1 .9 12.3c0 20.1-7.4 38.5-19.7 52.5l49.9 122.4c5 12.3-.9 26.3-13.2 31.3s-26.3-.9-31.3-13.2l-47-115.3c-6 1.5-12.3 2.2-18.8 2.2s-12.8-.8-18.8-2.2l-47 115.3c-5 12.3-19 18.2-31.3 13.2s-18.2-19-13.2-31.3l44.3-108.8L149.5 418c-15.2 8.2-34.3 2.9-42.9-12.1l-.7-1.3L61.7 430.1c-11.5 6.6-26.2 2.7-32.8-8.8L3.1 376.4c-6.6-11.5-2.7-26.2 8.8-32.8l44.1-25.5L52 311.4c-8.6-14.9-3.9-33.8 10.6-43L328.4 99.6zm73.3 127.5l-49.5-85.7L101.3 300.7l39.1 67.7L226 322.1c-1.3-5.8-2-11.9-2-18.1c0-44.2 35.8-80 80-80c22.7 0 43.2 9.5 57.8 24.7l39.9-21.6zM304 336a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faLocationPin = {\n prefix: 'far',\n iconName: 'location-pin',\n icon: [384, 512, [\"map-marker\"], \"f041\", \"M320.7 249.2c-10.5 24.8-25.4 52.2-42.5 79.9C249.8 375.3 216.8 420 192 451.7c-24.8-31.8-57.8-76.4-86.2-122.6c-17.1-27.7-32-55.1-42.5-79.9C52.5 223.6 48 204.4 48 192c0-79.5 64.5-144 144-144s144 64.5 144 144c0 12.4-4.5 31.6-15.3 57.2zm-105 250C267 435 384 279.4 384 192C384 86 298 0 192 0S0 86 0 192c0 87.4 117 243 168.3 307.2c12.3 15.3 35.1 15.3 47.4 0z\"]\n};\nvar faMapMarker = faLocationPin;\nvar faSquareList = {\n prefix: 'far',\n iconName: 'square-list',\n icon: [448, 512, [], \"e489\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm96 64a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm104 0c0-13.3 10.7-24 24-24h96c13.3 0 24 10.7 24 24s-10.7 24-24 24H224c-13.3 0-24-10.7-24-24zm0 96c0-13.3 10.7-24 24-24h96c13.3 0 24 10.7 24 24s-10.7 24-24 24H224c-13.3 0-24-10.7-24-24zm0 96c0-13.3 10.7-24 24-24h96c13.3 0 24 10.7 24 24s-10.7 24-24 24H224c-13.3 0-24-10.7-24-24zm-72-64a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM96 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faKaaba = {\n prefix: 'far',\n iconName: 'kaaba',\n icon: [576, 512, [128331], \"f66b\", \"M288 48.8L490.4 112 288 175.2 85.6 112 288 48.8zm9.5 173.8l230.5-72v45.7L292.8 269.7c-3.1 1-6.4 1-9.5 0L48 196.2V150.5l230.5 72c6.2 1.9 12.9 1.9 19.1 0zM48 229.8l225.7 70.5c9.3 2.9 19.3 2.9 28.6 0L528 229.8v30.5l-4.8 1.5c-8.4 2.6-13.1 11.6-10.5 20c2.1 6.8 8.5 11.2 15.3 11.2v95.2l-240 75-240-75V293c6.8 0 13.1-4.4 15.3-11.2c2.6-8.4-2.1-17.4-10.5-20L48 260.2V229.8zM22.5 81.5C9.1 85.6 0 98 0 112V400c0 14 9.1 26.4 22.5 30.5l256 80c6.2 1.9 12.9 1.9 19.1 0l256-80C566.9 426.4 576 414 576 400V112c0-14-9.1-26.4-22.5-30.5l-256-80c-6.2-1.9-12.9-1.9-19.1 0l-256 80zm94.3 200.3c-8.4-2.6-17.4 2.1-20 10.5s2.1 17.4 10.5 20l64 20c8.4 2.6 17.4-2.1 20-10.5s-2.1-17.4-10.5-20l-64-20zm352 30.5c8.4-2.6 13.1-11.6 10.5-20s-11.6-13.1-20-10.5l-64 20c-8.4 2.6-13.1 11.6-10.5 20s11.6 13.1 20 10.5l64-20zm-224 9.5c-8.4-2.6-17.4 2.1-20 10.5s2.1 17.4 10.5 20l38.5 12c9.3 2.9 19.3 2.9 28.6 0l38.5-12c8.4-2.6 13.1-11.6 10.5-20s-11.6-13.1-20-10.5l-38.5 12c-3.1 1-6.4 1-9.5 0l-38.5-12z\"]\n};\nvar faToiletPaper = {\n prefix: 'far',\n iconName: 'toilet-paper',\n icon: [640, 512, [129531], \"f71e\", \"M16.9 487.4c-1.9-8-.7-16.5 3.6-23.7l0-.1c3.8-7 7.3-14.2 10.5-21.6C63.6 366.5 64 269.6 64 192C64 86 107 0 160 0H492.2l0 .1c1.3-.1 2.6-.1 3.8-.1c24.5 0 44.1 11.4 58 24.5c13.6 13 23.7 29.4 31.1 46.1C600 104.2 608 147.1 608 192s-8 87.8-22.9 121.3c-7.4 16.7-17.5 33.2-31.1 46.1c-13.9 13.2-33.5 24.5-58 24.5c-17.8 0-33-6-45.3-14.3c3-18.3 5.8-38.5 7.9-60.8C469.1 326 482 336 496 336c35.3 0 64-64.5 64-144s-28.7-144-64-144c-1.6 0-3.1 .1-4.6 .4C458.2 53.7 432 116 432 192c0 58.9-3.8 108.1-9.3 148.6l-.1 .8c-9.4 68.1-23.7 111.3-33.3 134.5c-10 24-33.2 36.1-55.4 36.1H48c-11.5 0-22.2-6.2-27.8-16.2c-1.5-2.7-2.6-5.5-3.3-8.4zM160 48c-.1 0-.1 0-.3 0s-.4 .1-.9 .3c-.9 .4-2.7 1.3-5.2 3.4c-5.2 4.4-11.9 12.6-18.6 26C121.7 104.5 112 144.8 112 192c0 42.3-.1 93.4-5.9 144.1C101.2 378.5 92 423.1 73.8 464H333.9c2.7 0 5.3-.8 7.3-2c1.7-1 3-2.4 3.8-4.5C357.7 427 384 345.2 384 192c0-44.9 8-87.8 22.9-121.3C410.3 63 414.3 55.3 419 48H160zM520 192c0 26.5-10.7 48-24 48s-24-21.5-24-48s10.7-48 24-48s24 21.5 24 48zm-344 0a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm64 0a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faHelmetSafety = {\n prefix: 'far',\n iconName: 'helmet-safety',\n icon: [576, 512, [\"hard-hat\", \"hat-hard\"], \"f807\", \"M264 80h48c4.4 0 8 3.6 8 8V296c0 13.3 10.7 24 24 24s24-10.7 24-24V88c0-30.9-25.1-56-56-56H264c-30.9 0-56 25.1-56 56V296c0 13.3 10.7 24 24 24s24-10.7 24-24V88c0-4.4 3.6-8 8-8zM559.4 384H16.6C7.4 384 0 391.4 0 400.6c0 4.7 2 9.2 5.8 11.9C27.5 428.4 111.8 480 288 480s260.5-51.6 282.2-67.5c3.8-2.8 5.8-7.2 5.8-11.9c0-9.2-7.4-16.6-16.6-16.6zM32 288v64H80V288c0-68.4 39-127.7 96-156.8V78.7C91.8 110.9 32 192.5 32 288zm464-2.2l0 66.2h48l0-64 0-2.4c-1-94.5-60.5-174.9-144-206.9v52.5c56.4 28.8 95.2 87.2 96 154.6z\"]\n};\nvar faHardHat = faHelmetSafety;\nvar faHatHard = faHelmetSafety;\nvar faCommentCode = {\n prefix: 'far',\n iconName: 'comment-code',\n icon: [512, 512, [], \"e147\", \"M168.2 384.9c-15-5.4-31.7-3.1-44.6 6.4c-8.2 6-22.3 14.8-39.4 22.7c5.6-14.7 9.9-31.3 11.3-49.4c1-12.9-3.3-25.7-11.8-35.5C60.4 302.8 48 272 48 240c0-79.5 83.3-160 208-160s208 80.5 208 160s-83.3 160-208 160c-31.6 0-61.3-5.5-87.8-15.1zM26.3 423.8c-1.6 2.7-3.3 5.4-5.1 8.1l-.3 .5c-1.6 2.3-3.2 4.6-4.8 6.9c-3.5 4.7-7.3 9.3-11.3 13.5c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c5.1 0 10.2-.3 15.3-.8l.7-.1c4.4-.5 8.8-1.1 13.2-1.9c.8-.1 1.6-.3 2.4-.5c17.8-3.5 34.9-9.5 50.1-16.1c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9zM217 193c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-64 64c-9.4 9.4-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47zM329 159c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l64-64c9.4-9.4 9.4-24.6 0-33.9l-64-64z\"]\n};\nvar faSimCards = {\n prefix: 'far',\n iconName: 'sim-cards',\n icon: [448, 512, [], \"e251\", \"M144 352c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V138.5c0-4.2-1.7-8.3-4.7-11.3L320.8 52.7c-3-3-7.1-4.7-11.3-4.7H160c-8.8 0-16 7.2-16 16V352zM429.3 93.3c12 12 18.7 28.3 18.7 45.3V352c0 35.3-28.7 64-64 64H160c-35.3 0-64-28.7-64-64V64c0-35.3 28.7-64 64-64H309.5c17 0 33.3 6.7 45.3 18.7l74.5 74.5zM24 96c13.3 0 24 10.7 24 24V376c0 48.6 39.4 88 88 88H360c13.3 0 24 10.7 24 24s-10.7 24-24 24H136C60.9 512 0 451.1 0 376V120c0-13.3 10.7-24 24-24zm184 80h64v64H256 176V208c0-17.7 14.3-32 32-32zM176 304V272h64v64H208c-17.7 0-32-14.3-32-32zm192 0c0 17.7-14.3 32-32 32H272V272h16 80v32zm0-96v32H304V176h32c17.7 0 32 14.3 32 32z\"]\n};\nvar faStarship = {\n prefix: 'far',\n iconName: 'starship',\n icon: [640, 512, [], \"e039\", \"M0 96C0 60.7 28.7 32 64 32H192c35.3 0 64 28.7 64 64s-28.7 64-64 64H164.8l37.7 26.1 70.1-8.4C302.6 110.7 369.9 64 448 64c106 0 192 86 192 192s-86 192-192 192c-78.1 0-145.4-46.7-175.3-113.7l-70.1-8.4L164.8 352H192c35.3 0 64 28.7 64 64s-28.7 64-64 64H64c-35.3 0-64-28.7-64-64s28.7-64 64-64H80.5l50.1-34.7-13.7-1.6C86.7 312 64 286.4 64 256s22.7-56 52.9-59.6l13.7-1.6L80.5 160H64C28.7 160 0 131.3 0 96zM64 80c-8.8 0-16 7.2-16 16s7.2 16 16 16H192c8.8 0 16-7.2 16-16s-7.2-16-16-16H64zm58.6 164c-6.1 .7-10.6 5.9-10.6 12s4.6 11.3 10.6 12l135.4 16.3c-1.4-9.2-2.1-18.6-2.1-28.2s.7-19 2.1-28.2L122.6 244zM48 416c0 8.8 7.2 16 16 16H192c8.8 0 16-7.2 16-16s-7.2-16-16-16H64c-8.8 0-16 7.2-16 16zm400-16a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm32-144a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-112 0a80 80 0 1 1 160 0 80 80 0 1 1 -160 0z\"]\n};\nvar faEject = {\n prefix: 'far',\n iconName: 'eject',\n icon: [448, 512, [9167], \"f052\", \"M4.1 323.3c-7.7-17.4-4.3-37.7 8.6-51.8l176-192C197.7 69.6 210.5 64 224 64s26.3 5.6 35.4 15.6l176 192c12.9 14 16.2 34.3 8.6 51.8S419 352 400 352H48c-19 0-36.3-11.2-43.9-28.7zM48 304l352 0L224 112 48 304zM24 400H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faCircleRight = {\n prefix: 'far',\n iconName: 'circle-right',\n icon: [512, 512, [61838, \"arrow-alt-circle-right\"], \"f35a\", \"M464 256A208 208 0 1 1 48 256a208 208 0 1 1 416 0zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM294.6 135.1c-4.2-4.5-10.1-7.1-16.3-7.1C266 128 256 138 256 150.3V208H160c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32h96v57.7c0 12.3 10 22.3 22.3 22.3c6.2 0 12.1-2.6 16.3-7.1l99.9-107.1c3.5-3.8 5.5-8.7 5.5-13.8s-2-10.1-5.5-13.8L294.6 135.1z\"]\n};\nvar faArrowAltCircleRight = faCircleRight;\nvar faPlaneCircleCheck = {\n prefix: 'far',\n iconName: 'plane-circle-check',\n icon: [640, 512, [], \"e555\", \"M215.3 18.7C224.9 8.8 238.6 0 256 0c17.4 0 31.2 8.6 41.1 18.7c9.7 9.9 17 22.6 22.4 34.9C330.2 78.2 336 107.4 336 128v26.2l84.8 54.3c-16 7.5-30.6 17.4-43.5 29.2l-78.3-50.1c-6.9-4.4-11.1-12-11.1-20.2V128c0-13.6-4.2-36.3-12.5-55.2c-4.1-9.4-8.5-16.3-12.7-20.6c-4-4.1-6.2-4.2-6.8-4.2l0 0c-.2 0-2.2 0-6.3 4.2c-4.2 4.3-8.7 11.3-12.9 20.7c-8.4 19-12.8 41.7-12.8 55.1v39.4c0 8.2-4.2 15.8-11.1 20.2L51.7 290.8c-2.3 1.5-3.7 4-3.7 6.7v29.6l144.7-46.3c7.3-2.3 15.3-1 21.5 3.5s9.8 11.7 9.8 19.4l0 72.3c0 7.6-3.6 14.7-9.6 19.2L160 436v23.9c6.8-2.1 15.3-4.6 24.3-7.3c22.6-6.8 49.1-14.8 64.6-19.6c4.6-1.4 9.5-1.4 14.1 0c15.5 4.8 42 12.8 64.6 19.6l17.3 5.2c10.6 17.7 24.3 33.3 40.3 46.2c-6.4 5-14.5 7.9-23.2 7.9c-2.3 0-4.6-.3-6.9-1l6.9-23c-6.9 23-6.9 23-6.9 23l0 0 0 0 0 0-.2 0-.6-.2-2.4-.7-8.9-2.7c-7.5-2.2-17.8-5.4-29.2-8.8c-19.5-5.9-42-12.6-57.9-17.5c-15.9 4.9-38.4 11.6-57.9 17.5c-11.3 3.4-21.7 6.5-29.2 8.8l-8.9 2.7-2.4 .7-.6 .2-.2 0 0 0 0 0 0 0s0 0-6.9-23l6.9 23c-2.2 .7-4.5 1-6.9 1C129 512 112 495 112 474.1V432c0-12.6 5.9-24.4 16-32l48-36 0-27.4L52.2 376.2C26.4 384.4 0 365.2 0 338.1V297.5c0-19.1 9.7-36.9 25.8-47.2l12.9 20.2L25.8 250.3 176 154.2V128c0-20.7 6.1-50 16.9-74.5c5.5-12.3 12.8-24.9 22.4-34.8zm104 262.1l20.1 6.4C327 311.3 320 338.6 320 367.5c0 17.4 2.5 34.1 7.2 49.9l-29.6-22.2c-6-4.5-9.6-11.6-9.6-19.2V303.7c0-7.7 3.7-14.9 9.8-19.4s14.2-5.8 21.5-3.5zM352 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm211.3-43.3c-6.2-6.2-16.4-6.2-22.6 0L480 385.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nvar faSeal = {\n prefix: 'far',\n iconName: 'seal',\n icon: [512, 512, [], \"e241\", \"M210.4 97.9c-9 9-21.2 14.1-33.9 14.1H112v64.5c0 12.7-5.1 24.9-14.1 33.9L52.4 256l45.6 45.6c9 9 14.1 21.2 14.1 33.9V400h64.5c12.7 0 24.9 5.1 33.9 14.1L256 459.6l45.6-45.6c9-9 21.2-14.1 33.9-14.1H400V335.5c0-12.7 5.1-24.9 14.1-33.9L459.6 256l-45.6-45.6c-9-9-14.1-21.2-14.1-33.9V112H335.5c-12.7 0-24.9-5.1-33.9-14.1L256 52.4 210.4 97.9zm11.6-79.5c18.7-18.7 49.1-18.7 67.9 0L335.5 64H400c26.5 0 48 21.5 48 48v64.5l45.6 45.6c18.7 18.7 18.7 49.1 0 67.9L448 335.5V400c0 26.5-21.5 48-48 48H335.5l-45.6 45.6c-18.7 18.7-49.1 18.7-67.9 0L176.5 448H112c-26.5 0-48-21.5-48-48V335.5L18.4 289.9c-18.7-18.7-18.7-49.1 0-67.9L64 176.5V112c0-26.5 21.5-48 48-48h64.5l45.6-45.6z\"]\n};\nvar faUserCowboy = {\n prefix: 'far',\n iconName: 'user-cowboy',\n icon: [448, 512, [], \"f8ea\", \"M208.5 9.9c4.8 3.3 8.8 6.1 15.5 6.1s10.8-2.8 15.5-6.1C246.1 5.4 254 0 272 0c35.6 0 58.8 59.3 72.4 112c7.1-2.2 13.7-4.5 19.8-6.9c32.4-12.7 49.4-27.2 55-34.7c4.7-6.3 13.3-8.2 20.2-4.6s10.2 11.8 7.8 19.2c-9.3 27.9-35 62.4-72.5 89.9c-7.4 5.4-15.4 10.6-23.8 15.5c.8 5.8 1.2 11.6 1.2 17.6c0 70.7-57.3 128-128 128s-128-57.3-128-128c0-6 .4-11.9 1.2-17.6c-8.4-4.8-16.4-10-23.8-15.5C35.8 147.5 10.1 113 .8 85.1c-2.5-7.4 .8-15.6 7.8-19.2s15.5-1.7 20.2 4.6c5.6 7.5 22.7 22 55 34.7c6.1 2.4 12.7 4.7 19.8 6.9C117.2 59.3 140.4 0 176 0c18 0 25.9 5.4 32.5 9.9zM224 224c-29 0-55.8-4.8-79.9-12.7c1.7 42.7 36.8 76.7 79.9 76.7s78.2-34.1 79.9-76.7C279.8 219.2 253 224 224 224zM54.2 458.7l-.6 5.3H394.4l-.6-5.3c-2.7-24.3-23.2-42.7-47.7-42.7H101.9c-24.5 0-45 18.4-47.7 42.7zM6.5 453.4C11.9 404.8 53 368 101.9 368H346.1c48.9 0 90 36.8 95.4 85.4l2.6 23.1c2.1 19-12.7 35.5-31.8 35.5H35.8c-19.1 0-33.9-16.6-31.8-35.5l2.6-23.1z\"]\n};\nvar faHexagonVerticalNft = {\n prefix: 'far',\n iconName: 'hexagon-vertical-nft',\n icon: [448, 512, [], \"e505\", \"M260.9 495.5c-22.3 12.9-49.7 12.9-72 0L36 407.2C13.7 394.4 0 370.6 0 344.9V168.3c0-25.7 13.7-49.5 36-62.4L188.9 17.7c22.3-12.9 49.7-12.9 72 0l152.9 88.3c22.3 12.9 36 36.6 36 62.4V344.9c0 25.7-13.7 49.5-36 62.4L260.9 495.5zm-48-41.6c7.4 4.3 16.6 4.3 24 0l152.9-88.3c7.4-4.3 12-12.2 12-20.8V168.3c0-8.6-4.6-16.5-12-20.8L236.9 59.2c-7.4-4.3-16.6-4.3-24 0L60 147.5c-7.4 4.3-12 12.2-12 20.8l0 176.6c0 8.6 4.6 16.5 12 20.8l152.9 88.3zM95.8 170.6l33.1 82.9V176.6c0-8.8 7.2-16 16-16s16 7.2 16 16v160c0 7.7-5.4 14.3-13 15.7s-15-2.6-17.9-9.8L96.9 259.7v76.9c0 8.8-7.2 16-16 16s-16-7.2-16-16v-160c0-7.7 5.4-14.3 13-15.7s15 2.6 17.9 9.8zm97.1 5.9c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16s-7.2 16-16 16h-32v48h32c8.8 0 16 7.2 16 16s-7.2 16-16 16h-32v64c0 8.8-7.2 16-16 16s-16-7.2-16-16v-80-80zm112-16h64c8.8 0 16 7.2 16 16s-7.2 16-16 16h-16v144c0 8.8-7.2 16-16 16s-16-7.2-16-16v-144h-16c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faFaceRollingEyes = {\n prefix: 'far',\n iconName: 'face-rolling-eyes',\n icon: [512, 512, [128580, \"meh-rolling-eyes\"], \"f5a5\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM168 376c0 13.3 10.7 24 24 24H320c13.3 0 24-10.7 24-24s-10.7-24-24-24H192c-13.3 0-24 10.7-24 24zm-8-104c-26.5 0-48-21.5-48-48c0-14.3 6.3-27.2 16.2-36c-.2 1.3-.2 2.6-.2 4c0 17.7 14.3 32 32 32s32-14.3 32-32c0-1.4-.1-2.7-.2-4c10 8.8 16.2 21.7 16.2 36c0 26.5-21.5 48-48 48zm0 32a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm192-32c-26.5 0-48-21.5-48-48c0-14.3 6.3-27.2 16.2-36c-.2 1.3-.2 2.6-.2 4c0 17.7 14.3 32 32 32s32-14.3 32-32c0-1.4-.1-2.7-.2-4c10 8.8 16.2 21.7 16.2 36c0 26.5-21.5 48-48 48zm0 32a80 80 0 1 0 0-160 80 80 0 1 0 0 160z\"]\n};\nvar faMehRollingEyes = faFaceRollingEyes;\nvar faBreadLoaf = {\n prefix: 'far',\n iconName: 'bread-loaf',\n icon: [640, 512, [127838], \"f7eb\", \"M64 208c-8.8 0-16-7.2-16-16c0-36.7 23.6-63.9 68.1-84.4C160.5 87.1 213.4 80 240 80s79.5 7.1 123.9 27.6C408.4 128.1 432 155.3 432 192c0 8.8-7.2 16-16 16c-26.5 0-48 21.5-48 48V432H320 112V256c0-26.5-21.5-48-48-48zm352 48H528V432H416V304 256zm155.3-47.8c-1.1-.1-2.2-.2-3.3-.2H478c1.3-5.1 2-10.5 2-16c0-51.1-28-86.9-65.8-111.5c28.7 2 72.2 9.7 109.7 27C568.4 128.1 592 155.3 592 192c0 8.8-7.2 16-16 16c-1.6 0-3.1 .1-4.7 .2zM112 480H320h48H528c26.5 0 48-21.5 48-48V304 256c35.3 0 64-28.7 64-64C640 64 464 32 400 32H288 240C176 32 0 64 0 192c0 35.3 28.7 64 64 64v48V432c0 26.5 21.5 48 48 48z\"]\n};\nvar faRingsWedding = {\n prefix: 'far',\n iconName: 'rings-wedding',\n icon: [512, 512, [], \"f81b\", \"M119.9 105.1C50.2 128.6 0 194.4 0 272c0 97.2 78.8 176 176 176c7.8 0 15.5-.5 23-1.5c32.3 39.9 81.6 65.5 137 65.5c97.2 0 176-78.8 176-176c0-91.9-70.4-167.3-160.3-175.3c10.4 16.5 18.6 34.5 24.2 53.6C427.1 231.1 464 279.2 464 336c0 70.7-57.3 128-128 128c-32.8 0-62.7-12.3-85.3-32.6l0 0c-12.3-11-22.5-24.4-29.8-39.5l0 0C212.6 375 208 356.1 208 336c0-54.9 34.6-101.8 83.2-119.9C299.4 233 304 251.9 304 272c0 43.5-21.7 81.9-54.8 105c7 14.8 17.7 27.5 30.8 37c43.7-32 72-83.7 72-142c0-77.6-50.2-143.4-119.9-166.9l22.5-50.6c1.9-4.4 1.8-9.4-.3-13.7l-16-32C235.6 3.4 230.1 0 224 0H128c-6.1 0-11.6 3.4-14.3 8.8l-16 32c-2.1 4.3-2.3 9.3-.3 13.7l22.5 50.6zM147.8 48h56.4l.4 .8L187.2 88H164.8L147.4 48.8l.4-.8zM160 336c0 22.6 4.2 44.1 12 63.9C103.1 397.8 48 341.3 48 272c0-70.7 57.3-128 128-128c32.8 0 62.7 12.3 85.3 32.6C201.5 204.7 160 265.5 160 336z\"]\n};\nvar faObjectGroup = {\n prefix: 'far',\n iconName: 'object-group',\n icon: [576, 512, [], \"f247\", \"M48 115.8C38.2 107 32 94.2 32 80c0-26.5 21.5-48 48-48c14.2 0 27 6.2 35.8 16H460.2c8.8-9.8 21.6-16 35.8-16c26.5 0 48 21.5 48 48c0 14.2-6.2 27-16 35.8V396.2c9.8 8.8 16 21.6 16 35.8c0 26.5-21.5 48-48 48c-14.2 0-27-6.2-35.8-16H115.8c-8.8 9.8-21.6 16-35.8 16c-26.5 0-48-21.5-48-48c0-14.2 6.2-27 16-35.8V115.8zM125.3 96c-4.8 13.6-15.6 24.4-29.3 29.3V386.7c13.6 4.8 24.4 15.6 29.3 29.3H450.7c4.8-13.6 15.6-24.4 29.3-29.3V125.3c-13.6-4.8-24.4-15.6-29.3-29.3H125.3zm2.7 64c0-17.7 14.3-32 32-32H288c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32V160zM256 320h32c35.3 0 64-28.7 64-64V224h64c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H288c-17.7 0-32-14.3-32-32V320z\"]\n};\nvar faFrenchFries = {\n prefix: 'far',\n iconName: 'french-fries',\n icon: [384, 512, [127839], \"f803\", \"M167.6 2.4c4.7-2.9 10.6-3.2 15.6-.7l32 16c5.4 2.7 8.8 8.1 8.8 14.1v238c-9.2 1.4-19.8 2.2-32 2.2s-22.8-.8-32-2.2V206.7l0 0V16c0-5.5 2.9-10.7 7.6-13.6zM128 261c-4.8-2.1-8.7-4.4-11.8-6.6c-12-8.4-16.7-18-18.7-24.3c-.4-1.1-.8-2.3-1.2-3.4l-32-192c-1.2-6.9 2.3-13.8 8.6-16.9l32-16c4.5-2.3 9.9-2.3 14.4 .1s7.7 6.6 8.5 11.6l.2 1.3V261zM58.2 193c-3.2-.7-6.6-1-10.2-1H21.4c-1.6 0-3.2 .1-4.7 .2L.2 98.8C-.7 93.4 1.1 88 5.1 84.3s9.5-5.1 14.8-3.8l20.4 5.1L58.2 193zm309.1-.8c-1.6-.1-3.1-.2-4.7-.2H336c-3.1 0-6 .3-8.8 .8L346.2 85l17.9-4.5c5.3-1.3 10.8 .1 14.8 3.8s5.8 9.1 4.8 14.5l-16.5 93.4zM289.4 223c-1.1 2.4-2.1 4.7-2.8 7c-2 6.3-6.7 15.9-18.7 24.3c-3.2 2.2-7.1 4.5-11.8 6.6V54.6l.2-1.4C257.3 47 262 42 268.1 40.5l32-8c5.3-1.3 10.8 .1 14.8 3.8s5.8 9.1 4.8 14.5L289.4 223zM48 224c8.8 0 16.3 7.2 18.9 15.7C74.3 263 100.3 304 192 304s117.7-41 125.1-64.3c2.7-8.4 10.1-15.7 18.9-15.7h26.6c11.8 0 21.4 9.6 21.4 21.4c0 1.7-.2 3.4-.6 5.1l-57.5 237c-3.5 14.4-16.3 24.5-31.1 24.5H89.2c-14.8 0-27.6-10.1-31.1-24.5L.6 250.5c-.4-1.7-.6-3.3-.6-5.1C0 233.6 9.6 224 21.4 224H48zm269.9 92.8c-1.4 1.1-2.8 2.1-4.3 3.1C284.7 340.1 244.9 352 192 352s-92.7-11.9-121.6-32.1c-1.5-1-2.9-2.1-4.3-3.1L101.8 464H282.2l35.7-147.2z\"]\n};\nvar faChartLine = {\n prefix: 'far',\n iconName: 'chart-line',\n icon: [512, 512, [\"line-chart\"], \"f201\", \"M48 56c0-13.3-10.7-24-24-24S0 42.7 0 56V408c0 39.8 32.2 72 72 72H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H72c-13.3 0-24-10.7-24-24V56zM473 169c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-119 119-79-79c-4.5-4.5-10.6-7-17-7s-12.5 2.5-17 7l-96 96c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l79-79 79 79c9.4 9.4 24.6 9.4 33.9 0L473 169z\"]\n};\nvar faLineChart = faChartLine;\nvar faCalendarArrowDown = {\n prefix: 'far',\n iconName: 'calendar-arrow-down',\n icon: [448, 512, [\"calendar-download\"], \"e0d0\", \"M128 0c13.3 0 24 10.7 24 24V64H296V24c0-13.3 10.7-24 24-24s24 10.7 24 24V64h40c35.3 0 64 28.7 64 64v16 48V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192 144 128C0 92.7 28.7 64 64 64h40V24c0-13.3 10.7-24 24-24zM400 192H48V448c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V192zM248 248V350.1l39-39c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0l-80-80c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l39 39V248c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faCalendarDownload = faCalendarArrowDown;\nvar faSendBack = {\n prefix: 'far',\n iconName: 'send-back',\n icon: [640, 512, [], \"f87e\", \"M192 48c8.8 0 16 7.2 16 16V192c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H192zM64 0C28.7 0 0 28.7 0 64V192c0 35.3 28.7 64 64 64H192c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM576 304c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H448c-8.8 0-16-7.2-16-16V320c0-8.8 7.2-16 16-16H576zM448 256c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V320c0-35.3-28.7-64-64-64H448zM160 288v64c0 35.3 28.7 64 64 64H352V320c0-53 43-96 96-96h32V160c0-35.3-28.7-64-64-64H288v96c0 53-43 96-96 96H160z\"]\n};\nvar faMaskVentilator = {\n prefix: 'far',\n iconName: 'mask-ventilator',\n icon: [640, 512, [], \"e524\", \"M176 300.8c0 26.7 8.9 52.3 24.7 73.6c-.5-4.3-.7-8.7-.7-13.1c0-31.9 12.4-72.4 31.4-104.9c9.6-16.5 21.7-32.1 36-43.8C281.7 200.9 299.5 192 320 192c20.4 0 38.2 8.9 52.4 20.7s26.3 27.3 36 43.8c19.1 32.5 31.6 73 31.6 104.9c0 4.3-.2 8.5-.6 12.7C455 352.8 464 327.4 464 300.8c0-38.2-17.9-96.6-49.1-145.7C382.2 103.7 346.7 80 320 80c-27.3 0-62.7 23.8-95.2 75C193.7 204.1 176 262.5 176 300.8zm72 60.5c0 21.8 9.2 41.2 24 54.5v58.6c-45.3-10.8-84-36.5-109.8-71.1L90.9 385.5C37.5 372.1 0 324.1 0 269V184c0-30.9 25.1-56 56-56H185.1C219.8 73.8 267.4 32 320 32c52.1 0 99.7 41.8 134.5 96H584c30.9 0 56 25.1 56 56v85c0 55.1-37.5 103.1-90.9 116.4l-71.6 17.9c-26 34.6-64.7 60.2-109.5 71V415.7c14.7-13.3 24-32.6 24-54.3c0-21.6-9.2-53.7-25-80.6c-7.8-13.2-16.4-23.9-25.1-31.1s-16-9.7-21.9-9.7c-6 0-13.5 2.6-22.1 9.7c-8.7 7.1-17.3 17.8-25.1 31c-15.7 26.8-24.8 59-24.8 80.6zm257.6-14.5l31.8-8c32.1-8 54.5-36.8 54.5-69.9V184c0-4.4-3.6-8-8-8H480.7c19.8 43.2 31.3 88.7 31.3 124.8c0 16-2.2 31.4-6.4 46.1zM159.1 176H56c-4.4 0-8 3.6-8 8v85c0 33 22.5 61.8 54.5 69.9l31.8 7.9c-4.1-14.7-6.3-30.1-6.3-46c0-36.1 11.4-81.6 31.1-124.8zM296 328c0-13.3 10.7-24 24-24s24 10.7 24 24V512H296V328z\"]\n};\nvar faTickets = {\n prefix: 'far',\n iconName: 'tickets',\n icon: [640, 512, [], \"e658\", \"M160 80c-8.8 0-16 7.2-16 16v38.2c24 15.7 40 42.8 40 73.8s-16 58.1-40 73.8V320c0 8.8 7.2 16 16 16H576c8.8 0 16-7.2 16-16V281.8c-24-15.7-40-42.8-40-73.8s16-58.1 40-73.8V96c0-8.8-7.2-16-16-16H160zm0-48H576c35.3 0 64 28.7 64 64v56c0 8.8-7.4 15.7-15.6 19.1C610.1 177.2 600 191.4 600 208s10.1 30.8 24.4 36.9c8.1 3.4 15.6 10.3 15.6 19.1v56c0 35.3-28.7 64-64 64H160c-35.3 0-64-28.7-64-64V264c0-8.8 7.4-15.7 15.6-19.1c14.4-6.1 24.4-20.3 24.4-36.9s-10.1-30.8-24.4-36.9C103.4 167.7 96 160.8 96 152V96c0-35.3 28.7-64 64-64zM24 96c13.3 0 24 10.7 24 24V360c0 39.8 32.2 72 72 72H520c13.3 0 24 10.7 24 24s-10.7 24-24 24H120C53.7 480 0 426.3 0 360V120c0-13.3 10.7-24 24-24zM464 240V176H272v64H464zM224 160c0-17.7 14.3-32 32-32H480c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H256c-17.7 0-32-14.3-32-32V160z\"]\n};\nvar faSignatureLock = {\n prefix: 'far',\n iconName: 'signature-lock',\n icon: [640, 512, [], \"e3ca\", \"M80 128c0-26.5 21.5-48 48-48s48 21.5 48 48v7.9c0 27.5-2.3 55-7 82.1L62 251.1C25.1 262.5 0 296.6 0 335.2V410c0 38.6 31.3 70 70 70c24.6 0 47.4-12.9 60-34l15.9-26.4c29.6-49.4 51.1-103.3 63.6-159.5l1-4.7 110.8-34.3-23.9 66.8c-2.6 7.4-1.5 15.5 3 21.9s11.8 10.2 19.6 10.2h72.6c5.6-9.7 13.7-17.8 23.4-23.4V272H354.1l28.5-79.9c3.1-8.6 1-18.1-5.3-24.7s-15.7-9-24.4-6.3l-133 41.2c2.7-22 4.1-44.2 4.1-66.4V128c0-53-43-96-96-96s-96 43-96 96v40c0 13.3 10.7 24 24 24s24-10.7 24-24V128zM208.1 368c-7 16.3-14.8 32.4-23.3 48H384V368H208.1zM76.2 297l80.9-25c-11.7 43.2-29.4 84.5-52.4 123L88.8 421.3C84.8 428 77.7 432 70 432c-12.1 0-22-9.8-22-22V335.2c0-17.5 11.4-33 28.2-38.2zM528 240c17.7 0 32 14.3 32 32v48H496V272c0-17.7 14.3-32 32-32zm-80 32v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"]\n};\nvar faArrowRight = {\n prefix: 'far',\n iconName: 'arrow-right',\n icon: [448, 512, [8594], \"f061\", \"M440.6 273.4c4.7-4.5 7.4-10.8 7.4-17.4s-2.7-12.8-7.4-17.4l-176-168c-9.6-9.2-24.8-8.8-33.9 .8s-8.8 24.8 .8 33.9L364.1 232 24 232c-13.3 0-24 10.7-24 24s10.7 24 24 24l340.1 0L231.4 406.6c-9.6 9.2-9.9 24.3-.8 33.9s24.3 9.9 33.9 .8l176-168z\"]\n};\nvar faSignsPost = {\n prefix: 'far',\n iconName: 'signs-post',\n icon: [512, 512, [\"map-signs\"], \"f277\", \"M232 24c0-13.3 10.7-24 24-24s24 10.7 24 24v8H440.3c4.9 0 9.5 2.2 12.5 6L504 102c4.7 5.8 4.7 14.1 0 20l-51.2 64c-3 3.8-7.6 6-12.5 6H280v32H448c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H280V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V384H71.7c-4.9 0-9.5-2.2-12.5-6L8 314c-4.7-5.8-4.7-14.1 0-20l51.2-64c3-3.8 7.6-6 12.5-6H232V192H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H232V24zM80 80v64H424.9l25.6-32L424.9 80H80zM432 336V272H87.1L61.5 304l25.6 32H432z\"]\n};\nvar faMapSigns = faSignsPost;\nvar faOctagonPlus = {\n prefix: 'far',\n iconName: 'octagon-plus',\n icon: [512, 512, [\"plus-octagon\"], \"f301\", \"M191.5 48.1c-6.4 0-12.5 2.5-17 7L55.1 174.5c-4.5 4.5-7 10.6-7 17v129c0 6.4 2.5 12.5 7 17L21.2 371.4C7.7 357.9 .1 339.6 .1 320.5v-129c0-19.1 7.6-37.4 21.1-50.9L140.6 21.2C154.1 7.7 172.4 .1 191.5 .1h129c19.1 0 37.4 7.6 50.9 21.1L490.8 140.6c13.5 13.5 21.1 31.8 21.1 50.9v129c0 19.1-7.6 37.4-21.1 50.9L371.4 490.8c-13.5 13.5-31.8 21.1-50.9 21.1h-129c-19.1 0-37.4-7.6-50.9-21.1L21.2 371.4l33.9-33.9L174.5 456.9c4.5 4.5 10.6 7 17 7h129c6.4 0 12.5-2.5 17-7L456.9 337.5c4.5-4.5 7-10.6 7-17v-129c0-6.4-2.5-12.5-7-17L337.5 55.1c-4.5-4.5-10.6-7-17-7h-129zM232 344V280H168c-13.3 0-24-10.7-24-24s10.7-24 24-24h64V168c0-13.3 10.7-24 24-24s24 10.7 24 24v64h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H280v64c0 13.3-10.7 24-24 24s-24-10.7-24-24z\"]\n};\nvar faPlusOctagon = faOctagonPlus;\nvar faCashRegister = {\n prefix: 'far',\n iconName: 'cash-register',\n icon: [512, 512, [], \"f788\", \"M64 0C46.3 0 32 14.3 32 32V96c0 17.7 14.3 32 32 32h80v32H87.5c-31.8 0-58.9 23.4-63.4 54.9L.6 379.5c-.4 3-.6 6-.6 9V448c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V388.5c0-3-.2-6.1-.6-9L487.8 214.9c-4.5-31.5-31.5-54.9-63.4-54.9H208V128h80c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H64zM96 48H256c8.8 0 16 7.2 16 16s-7.2 16-16 16H96c-8.8 0-16-7.2-16-16s7.2-16 16-16zM48 448V432H464v16c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16zM440.3 221.7L463.5 384H48.5L71.7 221.7c1.1-7.9 7.9-13.7 15.8-13.7h337c8 0 14.7 5.9 15.8 13.7zM112 232a24 24 0 1 0 0 48 24 24 0 1 0 0-48zm72 24a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zm-24 56a24 24 0 1 0 0 48 24 24 0 1 0 0-48zm120-56a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zm-24 56a24 24 0 1 0 0 48 24 24 0 1 0 0-48zm120-56a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zm-24 56a24 24 0 1 0 0 48 24 24 0 1 0 0-48z\"]\n};\nvar faPersonCircleQuestion = {\n prefix: 'far',\n iconName: 'person-circle-question',\n icon: [576, 512, [], \"e542\", \"M112 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm32 128.1V304h32V176.1c-.7 0-1.5-.1-2.3-.1H146.3c-.8 0-1.5 0-2.3 .1zM144 352V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V223.6L52.9 299.8c-6.5 11.5-21.2 15.6-32.7 9.1s-15.6-21.2-9.1-32.7L69.7 172.7c15.6-27.6 44.9-44.7 76.6-44.7h27.5c31.7 0 61 17.1 76.6 44.7L297 255.1c-11.7 14-21.3 29.9-28.3 47.1c-.6-.8-1.1-1.6-1.6-2.4L224 223.6V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V352H144zM432 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm0 240a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM368 321.6V328c0 8.8 7.2 16 16 16s16-7.2 16-16v-6.4c0-5.3 4.3-9.6 9.6-9.6h40.5c7.7 0 13.9 6.2 13.9 13.9c0 5.2-2.9 9.9-7.4 12.3l-32 16.8c-5.3 2.8-8.6 8.2-8.6 14.2V384c0 8.8 7.2 16 16 16s16-7.2 16-16v-5.1l23.5-12.3c15.1-7.9 24.5-23.6 24.5-40.6c0-25.4-20.6-45.9-45.9-45.9H409.6c-23 0-41.6 18.6-41.6 41.6z\"]\n};\nvar faMelonSlice = {\n prefix: 'far',\n iconName: 'melon-slice',\n icon: [512, 512, [], \"e311\", \"M7 391c-4.5 4.5-7 10.6-7 17s2.5 12.5 7 17c115.6 115.6 302.6 116 418.3 .3S540.5 122.6 425 7c-9.4-9.4-24.6-9.4-33.9 0L319 79c-6.2 6.2-8.5 15.3-6.1 23.7l0 0 .1 .4c.1 .5 .3 1.3 .6 2.4c.5 2.3 1.2 5.8 1.8 10.4c1.2 9.2 2.1 22.3 .6 37.9c-2.9 30.9-15.1 71.3-53 109.2c-42.3 42.3-82.7 54-111.6 55.9c-14.7 1-26.8-.5-35-2.2c-4.1-.8-7.2-1.7-9.2-2.3c-1-.3-1.7-.5-2-.7l-.3-.1C96 310.2 85.8 312.2 79 319L7 391zM313 102.7l0 0 0 0 0 0c0 0 0 0 0-.1zm51.8 35.2C377.1 161.3 384 187.8 384 216c0 92.8-75.2 168-168 168c-26.2 0-51-6-73.1-16.7c3.8 0 7.7-.2 11.8-.4c39.9-2.7 91.4-19 142.2-69.9c47.2-47.2 63-98.7 66.8-138.6c.7-7.2 1-14.1 1-20.4zM81.2 384.8C118.1 414.3 165 432 216 432c119.3 0 216-96.7 216-216c0-51-17.7-97.9-47.2-134.8l22.4-22.4c80.4 97.4 75.3 241.5-15.8 332.6s-235.2 96.2-332.6 15.8l22.4-22.4z\"]\n};\nvar faSpaceStationMoon = {\n prefix: 'far',\n iconName: 'space-station-moon',\n icon: [512, 512, [], \"e033\", \"M256 48c-16.5 0-32.5 1.9-47.8 5.5C245.4 66.8 272 102.3 272 144c0 53-43 96-96 96c-52.7 0-95.4-42.4-96-94.9C59.7 177.2 48 215.2 48 256c0 12.8 1.1 25.2 3.3 37.4c.5 .2 1 .3 1.5 .5C87.7 306.5 147.6 328 256 328s168.3-21.5 203.2-34.1l0 0c.5-.2 1-.4 1.5-.5c2.2-12.1 3.3-24.6 3.3-37.4c0-114.9-93.1-208-208-208zM441.3 350.7C402.1 362.7 343 376 256 376s-146.1-13.3-185.3-25.3C105.2 417.9 175.2 464 256 464s150.8-46.1 185.3-113.3zM512 256A256 256 0 1 1 0 256a256 256 0 1 1 512 0zM176 192a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faMessageSmile = {\n prefix: 'far',\n iconName: 'message-smile',\n icon: [512, 512, [\"comment-alt-smile\"], \"f4aa\", \"M208 416c0-26.5-21.5-48-48-48H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H448c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H309.3c-10.4 0-20.5 3.4-28.8 9.6L208 432V416zm-.2 76.2l.2-.2 101.3-76H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h48 48v48 4 .3 6.4V496c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L202.7 496l5.1-3.8zM192 176a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm128 0a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM150.5 238.1c-9.9 8.8-10.7 24-1.9 33.9c26.3 29.4 64.7 48 107.3 48s81-18.6 107.3-48c8.8-9.9 8-25-1.9-33.9s-25-8-33.9 1.9c-17.6 19.7-43.1 32-71.6 32s-53.9-12.3-71.6-32c-8.8-9.9-24-10.7-33.9-1.9z\"]\n};\nvar faCommentAltSmile = faMessageSmile;\nvar faCupStraw = {\n prefix: 'far',\n iconName: 'cup-straw',\n icon: [384, 512, [129380], \"e363\", \"M194.8 43.2l-20 84.8H80.2 32 24c-13.3 0-24 10.7-24 24s10.7 24 24 24H36 84.2h89.9 35.8 89.9H348h12c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8H303.8 224.2l17.4-73.8c.9-3.6 4.1-6.2 7.8-6.2H280c13.3 0 24-10.7 24-24s-10.7-24-24-24H249.3c-26 0-48.6 17.9-54.5 43.2zM38.7 208L60.3 468c2.1 24.9 22.9 44 47.8 44H275.8c25 0 45.8-19.1 47.8-44l21.7-260H297.2L275.8 464H108.2L86.8 208H38.7z\"]\n};\nvar faLeftFromLine = {\n prefix: 'far',\n iconName: 'left-from-line',\n icon: [448, 512, [\"arrow-alt-from-right\"], \"f348\", \"M160 146.2L50 256 160 365.8l0-53.8c0-13.3 10.7-24 24-24l120 0 0-64-120 0c-13.3 0-24-10.7-24-24l0-53.8zM0 256c0-11.5 4.6-22.5 12.7-30.6L128.8 109.6c8.7-8.7 20.5-13.6 32.8-13.6c25.6 0 46.4 20.8 46.4 46.4l0 33.6 96 0c26.5 0 48 21.5 48 48l0 64c0 26.5-21.5 48-48 48l-96 0 0 33.6c0 25.6-20.8 46.4-46.4 46.4c-12.3 0-24.1-4.9-32.8-13.6L12.7 286.6C4.6 278.5 0 267.5 0 256zM400 88c0-13.3 10.7-24 24-24s24 10.7 24 24l0 336c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-336z\"]\n};\nvar faArrowAltFromRight = faLeftFromLine;\nvar faH = {\n prefix: 'far',\n iconName: 'h',\n icon: [384, 512, [104], \"48\", \"M336 256l0 200c0 13.3 10.7 24 24 24s24-10.7 24-24l0-232V56c0-13.3-10.7-24-24-24s-24 10.7-24 24V208L48 208 48 56c0-13.3-10.7-24-24-24S0 42.7 0 56L0 456c0 13.3 10.7 24 24 24s24-10.7 24-24l0-200 288 0z\"]\n};\nvar faBasketShoppingSimple = {\n prefix: 'far',\n iconName: 'basket-shopping-simple',\n icon: [576, 512, [\"shopping-basket-alt\"], \"e0af\", \"M243.1 2.7c11.8 6.1 16.3 20.6 10.2 32.4L171.7 192H404.3L322.7 35.1c-6.1-11.8-1.5-26.3 10.2-32.4s26.2-1.5 32.4 10.2L458.4 192h36.1H544h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H532L476.1 463.5C469 492 443.4 512 414 512H162c-29.4 0-55-20-62.1-48.5L44 240H24c-13.3 0-24-10.7-24-24s10.7-24 24-24h8H81.5h36.1L210.7 12.9c6.1-11.8 20.6-16.3 32.4-10.2zM482.5 240H93.5l53 211.9c1.8 7.1 8.2 12.1 15.5 12.1H414c7.3 0 13.7-5 15.5-12.1l53-211.9zM144 296a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm264-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faShoppingBasketAlt = faBasketShoppingSimple;\nvar faHandsHoldingHeart = {\n prefix: 'far',\n iconName: 'hands-holding-heart',\n icon: [640, 512, [\"hands-heart\"], \"f4c3\", \"M195.9 136.9L297.5 240.1c6.2 6.3 14.3 9.4 22.5 9.4s16.3-3.1 22.5-9.4L444.1 136.9c29.4-29.8 29.4-78.2 0-108s-77-29.8-106.4 0L320 46.9l-17.7-18c-29.4-29.8-77-29.8-106.4 0s-29.4 78.2 0 108zM144 136c0-39.8-32.2-72-72-72S0 96.2 0 136V352.2c0 31.8 12.6 62.3 35.1 84.9L103 505c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L69.1 403.1C55.6 389.6 48 371.3 48 352.2V136c0-13.3 10.7-24 24-24s24 10.7 24 24V281.9c0 25.6 10.2 50.2 28.3 68.4l15.9 15.9 0 0L167 393l0 0 16 16c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-16-16 0 0-26.7-26.7c-4-4-6.2-9.4-6.2-15c0-11.7 9.5-21.3 21.3-21.3c5.6 0 11 2.2 15 6.2l61.4 61.4C285.1 383 296 409.4 296 436.8V488c0 13.3 10.7 24 24 24s24-10.7 24-24V436.8c0-27.4 10.9-53.8 30.3-73.2l61.4-61.4c4-4 9.4-6.2 15-6.2c11.7 0 21.3 9.5 21.3 21.3c0 5.6-2.2 11-6.2 15L439 359l0 0-16 16c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l16-16 0 0 26.7-26.7 0 0 15.9-15.9c18.1-18.1 28.3-42.7 28.3-68.4V136c0-13.3 10.7-24 24-24s24 10.7 24 24V352.2c0 19.1-7.6 37.4-21.1 50.9L503 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l67.9-67.9c22.5-22.5 35.1-53 35.1-84.9V136c0-39.8-32.2-72-72-72s-72 32.2-72 72V264.8c-12.1-10.5-28-16.8-45.3-16.8c-18.4 0-36 7.3-49 20.3l-61.4 61.4c-7.7 7.7-14.5 16.2-20.4 25.3c-5.8-9.1-12.6-17.5-20.4-25.3l-61.4-61.4c-13-13-30.6-20.3-49-20.3c-17.3 0-33.1 6.3-45.3 16.8V136z\"]\n};\nvar faHandsHeart = faHandsHoldingHeart;\nvar faClockNine = {\n prefix: 'far',\n iconName: 'clock-nine',\n icon: [512, 512, [], \"e34c\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM280 120V256c0 13.3-10.7 24-24 24H152c-13.3 0-24-10.7-24-24s10.7-24 24-24h80V120c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faHammerBrush = {\n prefix: 'far',\n iconName: 'hammer-brush',\n icon: [640, 512, [], \"e620\", \"M152 0C68.1 0 0 68.1 0 152v16c0 8.3 4.3 16 11.4 20.4s15.9 4.8 23.4 1.1l45.7-22.9c10.2 10.7 23.2 18.5 37.5 22.5L100.4 448.1C98 482.7 125.4 512 160 512s62-29.3 59.6-63.9L202.2 191.8c23.4-1.7 44.9-13.4 59-31.8H304v8c0 13.3 10.7 24 24 24s24-10.7 24-24V136.2l0-.2V56l0-.2V24c0-13.3-10.7-24-24-24s-24 10.7-24 24v8H261.2C245.8 12.1 221.9 0 196.2 0H152zM304 112H248c-9.1 0-17.4 5.1-21.5 13.3c-5.7 11.5-17.5 18.7-30.3 18.7H139.8c-12.8 0-24.6-7.3-30.3-18.7c-5.9-11.9-20.3-16.7-32.2-10.7L50.8 127.7C61.8 82 102.9 48 152 48h44.2c12.8 0 24.6 7.3 30.3 18.7C230.6 74.9 238.9 80 248 80h56v32zM592 464H480V416c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H400V320H592V464zM380.5 237c-17.8 11.9-28.5 31.9-28.5 53.3V464c0 26.5 21.5 48 48 48H592c26.5 0 48-21.5 48-48V290.3c0-21.4-10.7-41.4-28.5-53.3L544 192V48c0-26.5-21.5-48-48-48s-48 21.5-48 48V192l-67.5 45zM480 48a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faTarp = {\n prefix: 'far',\n iconName: 'tarp',\n icon: [576, 512, [], \"e57b\", \"M48 128c0-8.8 7.2-16 16-16l448 0c8.8 0 16 7.2 16 16V288H448c-17.7 0-32 14.3-32 32v80L64 400c-8.8 0-16-7.2-16-16l0-256zm528 0c0-35.3-28.7-64-64-64H64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64l364.1 0c12.7 0 24.9-5.1 33.9-14.1l99.9-99.9c9-9 14.1-21.2 14.1-33.9V128zM112 208a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faFaceSleepy = {\n prefix: 'far',\n iconName: 'face-sleepy',\n icon: [512, 512, [], \"e38e\", \"M256 464c47 0 90.4-15.6 125.2-41.9c2.7 14.8 2.8 29.6 2.8 41.9c0 4.5 .4 8.9 1.1 13.1C347.2 499.3 303.1 512 256 512C114.6 512 0 397.4 0 256S114.6 0 256 0S512 114.6 512 256c0 37-7.8 72.1-22 103.9c-7.4-6.2-15.1-11.8-22.7-16.7c-5.8-3.8-11.8-7.3-17.9-10.6C458.8 308.9 464 283 464 256c0-114.9-93.1-208-208-208S48 141.1 48 256s93.1 208 208 208zm-80-74.5C191.1 364.8 221.3 348 256 348s64.9 16.8 80.1 41.5c6.8 11.1-6 20.7-18.3 16.4c-18.9-6.5-39.8-10.1-61.8-10.1s-42.9 3.6-61.8 10.1c-12.3 4.2-25.1-5.3-18.3-16.4zM326.2 250.3c5.5 5.8 14.8 9.7 25.4 9.7s19.9-3.8 25.4-9.7c7.6-8.1 20.2-8.5 28.3-.9s8.5 20.2 .9 28.3C391.7 293.2 371 300 351.6 300s-40.1-6.8-54.6-22.3c-7.6-8.1-7.1-20.7 .9-28.3s20.7-7.1 28.3 .9zM159.6 260c10.6 0 19.9-3.8 25.4-9.7c7.6-8.1 20.2-8.5 28.3-.9s8.5 20.2 .9 28.3C199.7 293.2 179 300 159.6 300s-40.1-6.8-54.6-22.3c-7.6-8.1-7.1-20.7 .9-28.3s20.7-7.1 28.3 .9c5.5 5.8 14.8 9.7 25.4 9.7zM512 464c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-32 0-102.4-64-128c48 0 160 48 160 128z\"]\n};\nvar faHandHorns = {\n prefix: 'far',\n iconName: 'hand-horns',\n icon: [384, 512, [], \"e1a9\", \"M80 48c8.8 0 16 7.2 16 16V208v32H80c-5.5 0-10.8 .6-16 1.6V64c0-8.8 7.2-16 16-16zM16 64V272C6 285.4 0 302 0 320c0 0 0 0 0 0v24c0 92.8 75.2 168 168 168h48c92.8 0 168-75.2 168-168V288 256 128c0-35.3-28.7-64-64-64s-64 28.7-64 64v50c-5.1-1.3-10.5-2-16-2c-7.9 0-15.4 1.4-22.4 4c-10.4-21.3-32.3-36-57.6-36c-5.5 0-10.9 .7-16 2V64c0-35.3-28.7-64-64-64S16 28.7 16 64zM336 256v32 56c0 66.3-53.7 120-120 120H168c-66.3 0-120-53.7-120-120V320s0 0 0 0c0-17.7 14.3-32 32-32h40 40c8.8 0 16 7.2 16 16s-7.2 16-16 16H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h40c15.1 0 29-5.3 40-14c11 8.8 24.9 14 40 14c35.3 0 64-28.7 64-64V256 240 128c0-8.8 7.2-16 16-16s16 7.2 16 16V256zM160 240H144V208c0-8.8 7.2-16 16-16s16 7.2 16 16v32 2c-5.1-1.3-10.5-2-16-2zm96 16v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V264 240c0-8.8 7.2-16 16-16s16 7.2 16 16v16z\"]\n};\nvar faScrewdriverWrench = {\n prefix: 'far',\n iconName: 'screwdriver-wrench',\n icon: [512, 512, [\"tools\"], \"f7d9\", \"M78.6 5C69.1-2.4 55.6-1.5 47 7L7 47c-8.5 8.5-9.4 22-2.1 31.6l80 104c4.5 5.9 11.6 9.4 19 9.4h54.1l109 109c-14.7 29-10 65.4 14.3 89.6l112 112c12.5 12.5 32.8 12.5 45.3 0l64-64c12.5-12.5 12.5-32.8 0-45.3l-112-112c-24.2-24.2-60.6-29-89.6-14.3l-109-109V104c0-7.5-3.5-14.5-9.4-19L78.6 5zM23.2 376.8C8.3 391.7 0 411.8 0 432.8C0 476.5 35.5 512 79.2 512c21 0 41.1-8.3 56-23.2L238.5 385.5c-8.9-17.6-12.8-37.1-11.6-56.3L101.3 454.9c-5.9 5.8-13.8 9.1-22.1 9.1C62 464 48 450 48 432.8c0-8.3 3.3-16.2 9.1-22.1L194.3 273.5l-33.9-33.9L23.2 376.8zM463.9 164c-1.4 38.9-22.6 72.8-53.8 91.8c1.1 1 2.1 2 3.1 3l31.6 31.6c40.7-29 67.2-76.6 67.2-130.3c0-24.8-5.7-48.3-15.7-69.3c-4.4-9.2-16.5-10.5-23.7-3.3l-67.9 67.9c-3 3-7.1 4.7-11.3 4.7H368c-8.8 0-16-7.2-16-16V118.6c0-4.2 1.7-8.3 4.7-11.3l67.9-67.9c7.2-7.2 5.9-19.3-3.3-23.7C400.3 5.7 376.8 0 352 0C294.7 0 244.4 30.1 216.2 75.4C221.2 84 224 93.8 224 104v40.8l16 16 0-.8c0-60.5 48-109.9 108-111.9L322.7 73.4l0 0c-12 12-18.7 28.3-18.7 45.3V144c0 35.3 28.7 64 64 64h25.4c17 0 33.3-6.7 45.3-18.7L463.9 164z\"]\n};\nvar faTools = faScrewdriverWrench;\nvar faArrowsToEye = {\n prefix: 'far',\n iconName: 'arrows-to-eye',\n icon: [640, 512, [], \"e4bf\", \"M49 15C39.6 5.7 24.4 5.7 15 15S5.7 39.6 15 49l63 63H40c-13.3 0-24 10.7-24 24s10.7 24 24 24h96c13.3 0 24-10.7 24-24V40c0-13.3-10.7-24-24-24s-24 10.7-24 24V78.1L49 15zM320 352c-64.5 0-113.8-52.1-138.5-96c24.7-43.9 74-96 138.5-96s113.8 52.1 138.5 96c-24.7 43.9-74 96-138.5 96zm0-240c-97.3 0-161.4 81.6-186.5 131.9c-3.8 7.6-3.8 16.5 0 24.2C158.6 318.4 222.7 400 320 400s161.4-81.6 186.5-131.9c3.8-7.6 3.8-16.5 0-24.2C481.4 193.6 417.3 112 320 112zM625 15c-9.4-9.4-24.6-9.4-33.9 0l-63 63V40c0-13.3-10.7-24-24-24s-24 10.7-24 24v96c0 13.3 10.7 24 24 24h96c13.3 0 24-10.7 24-24s-10.7-24-24-24H561.9l63-63c9.4-9.4 9.4-24.6 0-33.9zM49 497l63-63V472c0 13.3 10.7 24 24 24s24-10.7 24-24V376c0-13.3-10.7-24-24-24H40c-13.3 0-24 10.7-24 24s10.7 24 24 24H78.1L15 463c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0zm576 0c9.4-9.4 9.4-24.6 0-33.9l-63-63H600c13.3 0 24-10.7 24-24s-10.7-24-24-24H504c-13.3 0-24 10.7-24 24v96c0 13.3 10.7 24 24 24s24-10.7 24-24V433.9l63 63c9.4 9.4 24.6 9.4 33.9 0zM320 320a64 64 0 1 0 0-128 64 64 0 1 0 0 128z\"]\n};\nvar faCircleThreeQuarters = {\n prefix: 'far',\n iconName: 'circle-three-quarters',\n icon: [512, 512, [], \"e125\", \"M256 304c-26.5 0-48-21.5-48-48V53.6C116.3 75.2 48 157.7 48 256c0 114.9 93.1 208 208 208c98.3 0 180.8-68.3 202.4-160H256zM224.1 2C241.6-.2 256 14.3 256 32V208v48h48H480c17.7 0 32.2 14.4 30 31.9C494.3 414.2 386.6 512 256 512C114.6 512 0 397.4 0 256C0 125.4 97.8 17.7 224.1 2z\"]\n};\nvar faTrophyStar = {\n prefix: 'far',\n iconName: 'trophy-star',\n icon: [576, 512, [\"trophy-alt\"], \"f2eb\", \"M176.9 48c6.4 160.7 44.3 231.4 71.8 261.7c13.7 15.1 25.9 21.4 33.1 24.1c2.6 1 4.7 1.5 6.1 1.9c1.4-.3 3.5-.9 6.1-1.9c7.2-2.7 19.4-9 33.1-24.1c27.5-30.3 65.5-101 71.8-261.7H176.9zM176 0H400c26.5 0 48.1 21.8 47.1 48.2c-.2 5.3-.4 10.6-.7 15.8H552c13.3 0 24 10.7 24 24c0 108.5-45.9 177.7-101.4 220.6c-53.9 41.7-115.7 57.6-149.5 63.7c-4.7 2.5-9.1 4.5-13.1 6.1V464h80c13.3 0 24 10.7 24 24s-10.7 24-24 24H288 184c-13.3 0-24-10.7-24-24s10.7-24 24-24h80V378.4c-4-1.6-8.4-3.6-13.1-6.1c-33.8-6-95.5-22-149.5-63.7C45.9 265.7 0 196.5 0 88C0 74.7 10.7 64 24 64H129.6c-.3-5.2-.5-10.4-.7-15.8C127.9 21.8 149.5 0 176 0zM390.8 302.6c18.1-8 36.8-18.4 54.4-32c40.6-31.3 75.9-80.2 81.9-158.6H442.7c-9.1 90.1-29.2 150.3-51.9 190.6zm-260-32c17.5 13.6 36.3 24 54.4 32c-22.7-40.3-42.8-100.5-51.9-190.6H48.9c6 78.4 41.3 127.3 81.9 158.6zM295.2 102.5l14.5 29.3c1.2 2.4 3.4 4 6 4.4l32.4 4.7c6.6 1 9.2 9 4.4 13.6l-23.4 22.8c-1.9 1.8-2.7 4.5-2.3 7.1l5.5 32.2c1.1 6.5-5.7 11.5-11.6 8.4l-29-15.2c-2.3-1.2-5.1-1.2-7.4 0l-29 15.2c-5.9 3.1-12.7-1.9-11.6-8.4l5.5-32.2c.4-2.6-.4-5.2-2.3-7.1l-23.4-22.8c-4.7-4.6-2.1-12.7 4.4-13.6l32.4-4.7c2.6-.4 4.9-2 6-4.4l14.5-29.3c2.9-5.9 11.4-5.9 14.3 0z\"]\n};\nvar faTrophyAlt = faTrophyStar;\nvar faPlugCircleBolt = {\n prefix: 'far',\n iconName: 'plug-circle-bolt',\n icon: [576, 512, [], \"e55b\", \"M128 24c0-13.3-10.7-24-24-24S80 10.7 80 24v88h48V24zm176 0c0-13.3-10.7-24-24-24s-24 10.7-24 24v88h48V24zM24 144c-13.3 0-24 10.7-24 24s10.7 24 24 24h8v64c0 80.2 59 146.6 136 158.2V488c0 13.3 10.7 24 24 24s24-10.7 24-24V414.2c15.2-2.3 29.7-6.7 43.1-12.9c-2.1-10.8-3.1-21.9-3.1-33.3c0-7.1 .4-14.1 1.2-20.9C238.9 360.2 216.3 368 192 368c-61.9 0-112-50.1-112-112V192H304v55.2c13.8-14.6 30-26.8 48-36V192h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8H304 80 32 24zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm47.9-225c4.3 3.7 5.4 9.9 2.6 14.9L452.4 356H488c5.2 0 9.8 3.3 11.4 8.2s-.1 10.3-4.2 13.4l-96 72c-4.5 3.4-10.8 3.2-15.1-.6s-5.4-9.9-2.6-14.9L411.6 380H376c-5.2 0-9.8-3.3-11.4-8.2s.1-10.3 4.2-13.4l96-72c4.5-3.4 10.8-3.2 15.1 .6z\"]\n};\nvar faFaceThermometer = {\n prefix: 'far',\n iconName: 'face-thermometer',\n icon: [576, 512, [], \"e39a\", \"M288 48C173.1 48 80 141.1 80 256s93.1 208 208 208c65.9 0 124.7-30.7 162.8-78.5c1.5-1.3 3-2.6 4.4-4L540 301.1C518.8 421 414 512 288 512C146.6 512 32 397.4 32 256S146.6 0 288 0c97 0 181.4 54 224.8 133.5c-16.5-.3-33.1 4.4-47.3 14.1C429 87.8 363.1 48 288 48zM546.8 180.1c19.8 19.8 19.4 52.1-.9 71.4L415.1 376.1c-1.2 4.2-3.4 8.1-6.8 11.2c-9.7 9-24.9 8.4-33.9-1.4C359.2 369.5 333.2 352 296 352s-63.2 17.5-78.4 33.9c-9 9.7-24.2 10.4-33.9 1.4s-10.4-24.2-1.4-33.9c22-23.8 60-49.4 113.6-49.4c16.2 0 31.1 2.3 44.4 6.3L477 179.4c19.6-18.8 50.6-18.4 69.8 .7zM401.3 345l28-26.7-5.8-5.8c-4.7-4.7-4.7-12.3 0-17s12.3-4.7 17 0l6.3 6.3 15.4-14.7-6.6-6.6c-4.7-4.7-4.7-12.3 0-17s12.3-4.7 17 0l7 7 15.4-14.7-7.4-7.4c-4.7-4.7-4.7-12.3 0-17s12.3-4.7 17 0l7.8 7.8 11.5-11c7.3-6.9 7.4-18.5 .3-25.6c-6.9-6.9-18-7-25-.3L372.5 323.9c11.2 6.3 20.8 13.7 28.9 21.1zm-193-169a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faGridRound4 = {\n prefix: 'far',\n iconName: 'grid-round-4',\n icon: [448, 512, [], \"e5dd\", \"M44.8 64a12.8 12.8 0 1 1 0 25.6 12.8 12.8 0 1 1 0-25.6zM0 76.8a44.8 44.8 0 1 0 89.6 0A44.8 44.8 0 1 0 0 76.8zM44.8 183.5a12.8 12.8 0 1 1 0 25.6 12.8 12.8 0 1 1 0-25.6zM0 196.3a44.8 44.8 0 1 0 89.6 0A44.8 44.8 0 1 0 0 196.3zM57.6 315.7a12.8 12.8 0 1 1 -25.6 0 12.8 12.8 0 1 1 25.6 0zM44.8 270.9a44.8 44.8 0 1 0 0 89.6 44.8 44.8 0 1 0 0-89.6zm0 151.5a12.8 12.8 0 1 1 0 25.6 12.8 12.8 0 1 1 0-25.6zM0 435.2a44.8 44.8 0 1 0 89.6 0A44.8 44.8 0 1 0 0 435.2zM177.1 76.8a12.8 12.8 0 1 1 -25.6 0 12.8 12.8 0 1 1 25.6 0zM164.3 32a44.8 44.8 0 1 0 0 89.6 44.8 44.8 0 1 0 0-89.6zm0 151.5a12.8 12.8 0 1 1 0 25.6 12.8 12.8 0 1 1 0-25.6zm-44.8 12.8a44.8 44.8 0 1 0 89.6 0 44.8 44.8 0 1 0 -89.6 0zm57.6 119.5a12.8 12.8 0 1 1 -25.6 0 12.8 12.8 0 1 1 25.6 0zm-12.8-44.8a44.8 44.8 0 1 0 0 89.6 44.8 44.8 0 1 0 0-89.6zm0 151.5a12.8 12.8 0 1 1 0 25.6 12.8 12.8 0 1 1 0-25.6zm-44.8 12.8a44.8 44.8 0 1 0 89.6 0 44.8 44.8 0 1 0 -89.6 0zM296.5 76.8a12.8 12.8 0 1 1 -25.6 0 12.8 12.8 0 1 1 25.6 0zM283.7 32a44.8 44.8 0 1 0 0 89.6 44.8 44.8 0 1 0 0-89.6zm0 151.5a12.8 12.8 0 1 1 0 25.6 12.8 12.8 0 1 1 0-25.6zm-44.8 12.8a44.8 44.8 0 1 0 89.6 0 44.8 44.8 0 1 0 -89.6 0zm57.6 119.5a12.8 12.8 0 1 1 -25.6 0 12.8 12.8 0 1 1 25.6 0zm-12.8-44.8a44.8 44.8 0 1 0 0 89.6 44.8 44.8 0 1 0 0-89.6zm0 151.5a12.8 12.8 0 1 1 0 25.6 12.8 12.8 0 1 1 0-25.6zm-44.8 12.8a44.8 44.8 0 1 0 89.6 0 44.8 44.8 0 1 0 -89.6 0zM416 76.8a12.8 12.8 0 1 1 -25.6 0 12.8 12.8 0 1 1 25.6 0zM403.2 32a44.8 44.8 0 1 0 0 89.6 44.8 44.8 0 1 0 0-89.6zm0 151.5a12.8 12.8 0 1 1 0 25.6 12.8 12.8 0 1 1 0-25.6zm-44.8 12.8a44.8 44.8 0 1 0 89.6 0 44.8 44.8 0 1 0 -89.6 0zM416 315.7a12.8 12.8 0 1 1 -25.6 0 12.8 12.8 0 1 1 25.6 0zm-12.8-44.8a44.8 44.8 0 1 0 0 89.6 44.8 44.8 0 1 0 0-89.6zm0 151.5a12.8 12.8 0 1 1 0 25.6 12.8 12.8 0 1 1 0-25.6zm-44.8 12.8a44.8 44.8 0 1 0 89.6 0 44.8 44.8 0 1 0 -89.6 0z\"]\n};\nvar faSignPostsWrench = {\n prefix: 'far',\n iconName: 'sign-posts-wrench',\n icon: [640, 512, [], \"e626\", \"M64 24l0 8H48C21.5 32 0 53.5 0 80V368c0 26.5 21.5 48 48 48H64l0 72c0 13.3 10.7 24 24 24s24-10.7 24-24l0-72H384c-10.8-14.3-19.2-30.5-24.7-48H48L48 80H528v80.8c16.9 1.7 33.1 6 48 12.5V80c0-26.5-21.5-48-48-48H512l0-8c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 8H112l0-8c0-13.3-10.7-24-24-24S64 10.7 64 24zM640 320c0-47.4-25.7-88.8-64-110.9c-7.4-4.3-16 1.5-16 10V304c0 26.5-21.5 48-48 48s-48-21.5-48-48V219.1c0-8.5-8.6-14.3-16-10c-38.3 22.1-64 63.5-64 110.9c0 40.4 18.7 76.5 48 99.9V476c0 19.9 16.1 36 36 36h88c19.9 0 36-16.1 36-36V419.9c29.3-23.5 48-59.5 48-99.9zM512.3 192l-.3 0-.3 0h.7z\"]\n};\nvar faShirtRunning = {\n prefix: 'far',\n iconName: 'shirt-running',\n icon: [384, 512, [], \"e3c8\", \"M88 0c13.3 0 24 10.7 24 24V72c0 44.2 35.8 80 80 80s80-35.8 80-80V24c0-13.3 10.7-24 24-24s24 10.7 24 24c0 127.9 26.8 181 41.5 200.5c9.6 12.8 22.5 32.8 22.5 56.3V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V280.7c0-23.5 12.9-43.5 22.5-56.3C37.2 205 64 151.9 64 24C64 10.7 74.7 0 88 0zM60.8 253.4C52.2 264.8 48 273.9 48 280.7V390.8L299.3 209.3c-5.4-13.6-10.4-29.8-14.6-49.1C261.4 184.7 228.5 200 192 200s-69.4-15.3-92.7-39.8C89 206.9 74.1 235.7 60.8 253.4zM48.1 450c1 7.9 7.7 14 15.9 14H320c8.8 0 16-7.2 16-16V280.7c0-6.8-4.2-15.9-12.8-27.3c-.3-.4-.7-.9-1-1.4L48.1 450z\"]\n};\nvar faBookCircleArrowUp = {\n prefix: 'far',\n iconName: 'book-circle-arrow-up',\n icon: [640, 512, [], \"e0bd\", \"M88 0C39.4 0 0 39.4 0 88V424H.4c-.3 2.6-.4 5.3-.4 8c0 44.2 35.8 80 80 80H394.8c-18.3-12.9-34.1-29.2-46.3-48H80c-17.7 0-32-14.3-32-32s14.3-32 32-32H322.9c-1.9-10.4-2.9-21.1-2.9-32c0-5.4 .2-10.7 .7-16H80c-11.4 0-22.2 2.4-32 6.7V88c0-22.1 17.9-40 40-40H392c4.4 0 8 3.6 8 8V220.5c14.6-9.5 30.8-17 48-21.8V56c0-30.9-25.1-56-56-56H88zM496 224a144 144 0 1 0 0 288 144 144 0 1 0 0-288zM428.7 371.3c-6.2-6.2-6.2-16.4 0-22.6l56-56c6.2-6.2 16.4-6.2 22.6 0l56 56c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L512 342.6V432c0 8.8-7.2 16-16 16s-16-7.2-16-16V342.6l-28.7 28.7c-6.2 6.2-16.4 6.2-22.6 0z\"]\n};\nvar faFaceNauseated = {\n prefix: 'far',\n iconName: 'face-nauseated',\n icon: [512, 512, [], \"e381\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm335.6-80a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm-128 32a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm-12.3-84.7l-7.4 7.4c-23.6 23.6-53.9 39.2-86.8 44.7l-2.5 .4c-8.7 1.5-17-4.4-18.4-13.2s4.4-17 13.2-18.4l2.5-.4c26.3-4.4 50.6-16.9 69.5-35.7l7.4-7.4c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zm121.4-22.6c6.2-6.2 16.4-6.2 22.6 0l7.4 7.4c18.9 18.9 43.2 31.4 69.5 35.7l2.5 .4c8.7 1.5 14.6 9.7 13.2 18.4s-9.7 14.6-18.4 13.2l-2.5-.4c-32.9-5.5-63.3-21.1-86.8-44.7l-7.4-7.4c-6.2-6.2-6.2-16.4 0-22.6zM172 267.2C189 277 202 293 208 312h96.2c6.1-18.8 19-34.5 35.8-44.2c11.5-6.6 26.2-2.7 32.8 8.8s2.7 26.2-8.8 32.8c-9.4 5.5-15.7 15.6-15.7 27.2s6.3 21.8 15.7 27.2c11.5 6.6 15.4 21.3 8.8 32.8s-21.3 15.4-32.8 8.8c-17.1-9.9-30.2-26-36.2-45.3H208c-6 19-19.1 35-36 44.8c-11.5 6.6-26.2 2.7-32.8-8.8s-2.7-26.2 8.8-32.8c9.5-5.5 15.7-15.6 15.7-27.2s-6.3-21.8-15.7-27.2c-11.5-6.6-15.4-21.3-8.8-32.8s21.3-15.4 32.8-8.8z\"]\n};\nvar faHeart = {\n prefix: 'far',\n iconName: 'heart',\n icon: [512, 512, [128153, 128154, 128155, 128156, 128420, 129293, 129294, 129505, 9829, 10084, 61578], \"f004\", \"M225.8 468.2l-2.5-2.3L48.1 303.2C17.4 274.7 0 234.7 0 192.8v-3.3c0-70.4 50-130.8 119.2-144C158.6 37.9 198.9 47 231 69.6c9 6.4 17.4 13.8 25 22.3c4.2-4.8 8.7-9.2 13.5-13.3c3.7-3.2 7.5-6.2 11.5-9c0 0 0 0 0 0C313.1 47 353.4 37.9 392.8 45.4C462 58.6 512 119.1 512 189.5v3.3c0 41.9-17.4 81.9-48.1 110.4L288.7 465.9l-2.5 2.3c-8.2 7.6-19 11.9-30.2 11.9s-22-4.2-30.2-11.9zM239.1 145c-.4-.3-.7-.7-1-1.1l-17.8-20c0 0-.1-.1-.1-.1c0 0 0 0 0 0c-23.1-25.9-58-37.7-92-31.2C81.6 101.5 48 142.1 48 189.5v3.3c0 28.5 11.9 55.8 32.8 75.2L256 430.7 431.2 268c20.9-19.4 32.8-46.7 32.8-75.2v-3.3c0-47.3-33.6-88-80.1-96.9c-34-6.5-69 5.4-92 31.2c0 0 0 0-.1 .1s0 0-.1 .1l-17.8 20c-.3 .4-.7 .7-1 1.1c-4.5 4.5-10.6 7-16.9 7s-12.4-2.5-16.9-7z\"]\n};\nvar faFileChartPie = {\n prefix: 'far',\n iconName: 'file-chart-pie',\n icon: [384, 512, [], \"f65a\", \"M320 464c8.8 0 16-7.2 16-16V160H256c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H320zM0 64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM160 240.1c8.7-1.5 16 5.8 16 14.7V320c0 8.8 7.2 16 16 16h64c8.9 0 16.3 7.4 14.6 16.1c-.5 2.5-1 5-1.7 7.4c-13.7 51.2-66.4 81.6-117.6 67.9s-81.6-66.4-67.9-117.6c10-37.4 40.8-63.7 76.5-69.8zm63.9-30.8c40.3 6.7 72 38.5 78.8 78.8c1.5 8.7-5.8 15.9-14.7 15.9H224c-8.8 0-16-7.2-16-16V224c0-8.8 7.2-16.1 15.9-14.7z\"]\n};\nvar faMarsAndVenus = {\n prefix: 'far',\n iconName: 'mars-and-venus',\n icon: [512, 512, [9893], \"f224\", \"M352 24c0 13.3 10.7 24 24 24h38.1L371.2 90.9C340.3 64.2 300 48 256 48C158.8 48 80 126.8 80 224c0 89.1 66.2 162.7 152 174.4V416H208c-13.3 0-24 10.7-24 24s10.7 24 24 24h24v24c0 13.3 10.7 24 24 24s24-10.7 24-24V464h24c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V398.4c85.8-11.7 152-85.3 152-174.4c0-35.8-10.7-69.2-29.1-97L448 81.9V120c0 13.3 10.7 24 24 24s24-10.7 24-24V24c0-13.3-10.7-24-24-24H376c-13.3 0-24 10.7-24 24zM256 96a128 128 0 1 1 0 256 128 128 0 1 1 0-256z\"]\n};\nvar faHouseUser = {\n prefix: 'far',\n iconName: 'house-user',\n icon: [576, 512, [\"home-user\"], \"e1b0\", \"M303.5 5.7c-9-7.6-22.1-7.6-31.1 0l-264 224c-10.1 8.6-11.3 23.7-2.8 33.8s23.7 11.3 33.8 2.8L64 245.5V432c0 44.2 35.8 80 80 80H432c44.2 0 80-35.8 80-80V245.5l24.5 20.8c10.1 8.6 25.3 7.3 33.8-2.8s7.3-25.3-2.8-33.8l-264-224zM464 204.8V432c0 17.7-14.3 32-32 32H144c-17.7 0-32-14.3-32-32V204.8L288 55.5 464 204.8zM352 224a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zm-96 96c-44.2 0-80 35.8-80 80c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16c0-44.2-35.8-80-80-80H256z\"]\n};\nvar faHomeUser = faHouseUser;\nvar faCircleArrowDownLeft = {\n prefix: 'far',\n iconName: 'circle-arrow-down-left',\n icon: [512, 512, [], \"e0f9\", \"M256 48a208 208 0 1 0 0 416 208 208 0 1 0 0-416zm0 464A256 256 0 1 1 256 0a256 256 0 1 1 0 512zm64-144H168c-13.3 0-24-10.7-24-24V184c0-13.3 10.7-24 24-24s24 10.7 24 24V286.1L327 151c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-135 135H320c13.3 0 24 10.7 24 24s-10.7 24-24 24z\"]\n};\nvar faDumpsterFire = {\n prefix: 'far',\n iconName: 'dumpster-fire',\n icon: [640, 512, [], \"f794\", \"M49.7 32l90.8 0L114.9 160l-94 0C9.3 160 0 150.7 0 139.1c0-2.1 .3-4.1 .9-6.1L26.8 48.9C29.9 38.9 39.2 32 49.7 32zM272 160l-124.5 0L173.1 32 272 32l0 128zm32 0l0-128 98.9 0 14.4 72.1c-1.7 1.1-3.3 2.4-4.8 3.8c-18.4 16.4-35.4 34-50.5 52.1l-58 0zm209.9-23.7c-1.7 1.6-3.4 3.2-5 4.8C498 129.6 486.7 118.6 475 108c-7.6-6.9-17-10.8-26.6-11.8L435.5 32l90.8 0c10.5 0 19.8 6.9 22.9 16.9L575.1 133c.2 .7 .4 1.4 .5 2.1c-17.8-15-44.3-14.6-61.7 1.2zM80.4 192l257.1 0c-4.4 6.2-8.5 12.5-12.3 18.7c-5.8 9.5-11.3 19.3-16.2 29.3L86.4 240l20 160 199.7 0c8.1 17.5 18.8 33.7 31.5 48L112 448l0 8c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-8L42 272l-18 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l12 0-4-32 48.4 0zm425.3-15.7L518 162.5c5.4-6.1 13.3-8.8 20.9-8.9c7.2 0 14.3 2.6 19.9 7.8c19.7 18.3 39.8 43.2 55 70.6C629 259.2 640 290.2 640 320.2C640 408.8 568.7 480 480 480c-89.6 0-160-71.3-160-159.8c0-37.3 16-73.4 36.8-104.5c20.9-31.3 47.5-59 70.9-80.2c5.7-5.2 13.1-7.7 20.3-7.5c14.1 .3 23.8 11.4 32.7 21.6c0 0 0 0 0 0c2 2.3 4 4.6 6 6.7l19 19.9zM544 368.2c0-36.5-37-73-54.8-88.4c-5.4-4.7-13.1-4.7-18.5 0C453 295.1 416 331.6 416 368.2c0 35.3 28.7 64 64 64s64-28.7 64-64z\"]\n};\nvar faHexagonMinus = {\n prefix: 'far',\n iconName: 'hexagon-minus',\n icon: [512, 512, [\"minus-hexagon\"], \"f307\", \"M17.1 292c-12.9-22.3-12.9-49.7 0-72L105.4 67.1c12.9-22.3 36.6-36 62.4-36H344.3c25.7 0 49.5 13.7 62.4 36L494.9 220c12.9 22.3 12.9 49.7 0 72L406.6 444.9c-12.9 22.3-36.6 36-62.4 36H167.7c-25.7 0-49.5-13.7-62.4-36L17.1 292zm41.6-48c-4.3 7.4-4.3 16.6 0 24l88.3 152.9c4.3 7.4 12.2 12 20.8 12H344.3c8.6 0 16.5-4.6 20.8-12L453.4 268c4.3-7.4 4.3-16.6 0-24L365.1 91.1c-4.3-7.4-12.2-12-20.8-12l-176.6 0c-8.6 0-16.5 4.6-20.8 12L58.6 244zM184 232H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faMinusHexagon = faHexagonMinus;\nvar faLeftToLine = {\n prefix: 'far',\n iconName: 'left-to-line',\n icon: [448, 512, [\"arrow-alt-to-left\"], \"f34b\", \"M256 146.2L146 256 256 365.8l0-53.8c0-13.3 10.7-24 24-24l120 0 0-64-120 0c-13.3 0-24-10.7-24-24l0-53.8zM96 256c0-11.5 4.6-22.5 12.7-30.6L224.8 109.6c8.7-8.7 20.5-13.6 32.8-13.6c25.6 0 46.4 20.8 46.4 46.4l0 33.6 96 0c26.5 0 48 21.5 48 48l0 64c0 26.5-21.5 48-48 48l-96 0 0 33.6c0 25.6-20.8 46.4-46.4 46.4c-12.3 0-24.1-4.9-32.8-13.6L108.7 286.6C100.6 278.5 96 267.5 96 256zM48 88l0 336c0 13.3-10.7 24-24 24s-24-10.7-24-24L0 88C0 74.7 10.7 64 24 64s24 10.7 24 24z\"]\n};\nvar faArrowAltToLeft = faLeftToLine;\nvar faHouseCrack = {\n prefix: 'far',\n iconName: 'house-crack',\n icon: [576, 512, [], \"e3b1\", \"M272.5 5.7c9-7.6 22.1-7.6 31.1 0l264 224c10.1 8.6 11.3 23.7 2.8 33.8s-23.7 11.3-33.8 2.8L512 245.5V432c0 44.2-35.8 80-80 80H144c-44.2 0-80-35.8-80-80V245.5L39.5 266.3c-10.1 8.6-25.3 7.3-33.8-2.8s-7.3-25.3 2.8-33.8l264-224zM288 55.5L112 204.8V432c0 17.7 14.3 32 32 32h85.9l-30.3-48.1c-4.4-6.9-2.8-16 3.6-21.1L288 327.6l-58.1-76.1c-11.3-14.8 7.4-33.6 22.3-22.5l115.2 86.2c8.4 6.3 8.6 18.8 .4 25.3L288 403.8 325.9 464H432c17.7 0 32-14.3 32-32V204.8L288 55.5z\"]\n};\nvar faPawSimple = {\n prefix: 'far',\n iconName: 'paw-simple',\n icon: [448, 512, [\"paw-alt\"], \"f701\", \"M192 80A48 48 0 1 0 96 80a48 48 0 1 0 96 0zm-.7 146.1c7.1-11.3 19.4-18.1 32.7-18.1s25.7 6.9 32.7 18.1l49.2 78.6c8.7 14 20.9 22.8 32.2 28.1c17.8 8.4 30 26.4 30 47.1c0 28.7-23.3 52-52 52c-11.1 0-21.2-3.4-29.6-9.2c-19.6-13.6-43.8-17.6-62.4-17.6s-42.8 4-62.4 17.6c-8.4 5.8-18.5 9.2-29.6 9.2c-28.7 0-52-23.3-52-52c0-20.8 12.2-38.8 30-47.1c11.2-5.3 23.4-14.1 32.2-28.1l49.2-78.6zm-89.9 53.2c-2.8 4.5-7.1 7.8-11.8 10.1C55.6 305.4 32 339.9 32 380c0 55.2 44.8 100 100 100c21.2 0 40.8-6.6 56.9-17.8c17.4-12 52.8-12 70.1 0C275.2 473.4 294.8 480 316 480c55.2 0 100-44.8 100-100c0-40.1-23.6-74.6-57.6-90.6c-4.8-2.2-9-5.6-11.8-10.1l-49.1-78.6C281.6 175.4 253.9 160 224 160s-57.6 15.4-73.4 40.7l-49.2 78.6zM304 128a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm144 64a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM48 240a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faPawAlt = faPawSimple;\nvar faArrowLeftLongToLine = {\n prefix: 'far',\n iconName: 'arrow-left-long-to-line',\n icon: [640, 512, [], \"e3d4\", \"M0 88V424c0 13.3 10.7 24 24 24s24-10.7 24-24V88c0-13.3-10.7-24-24-24S0 74.7 0 88zM135 239c-9.4 9.4-9.4 24.6 0 33.9L271 409c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-95-95L616 280c13.3 0 24-10.7 24-24s-10.7-24-24-24l-406.1 0 95-95c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L135 239z\"]\n};\nvar faBracketsRound = {\n prefix: 'far',\n iconName: 'brackets-round',\n icon: [512, 512, [\"parentheses\"], \"e0c5\", \"M148.3 76.6c11.4-6.8 15.1-21.5 8.3-32.9s-21.5-15.1-32.9-8.3C82 60.2 0 137.9 0 256S82 451.8 123.7 476.6c11.4 6.8 26.1 3 32.9-8.3s3-26.1-8.3-32.9C115.3 415.7 48 351.3 48 256s67.3-159.7 100.3-179.4zm215.4 0C396.7 96.3 464 160.7 464 256s-67.3 159.7-100.3 179.4c-11.4 6.8-15.1 21.5-8.3 32.9s21.5 15.1 32.9 8.3C430 451.8 512 374.1 512 256s-82-195.8-123.7-220.6c-11.4-6.8-26.1-3-32.9 8.3s-3 26.1 8.3 32.9z\"]\n};\nvar faParentheses = faBracketsRound;\nvar faMartiniGlassCitrus = {\n prefix: 'far',\n iconName: 'martini-glass-citrus',\n icon: [576, 512, [\"cocktail\"], \"f561\", \"M432 240c-14.3 0-27.9-3.1-40.1-8.7l-35.4 35.4C378.5 280.2 404.3 288 432 288c79.5 0 144-64.5 144-144S511.5 0 432 0C369.3 0 316 40.1 296.2 96h52.6c16.6-28.7 47.6-48 83.2-48c53 0 96 43 96 96s-43 96-96 96zM24 128c-9.7 0-18.5 5.8-22.2 14.8s-1.7 19.3 5.2 26.2l177 177V464H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h88 88c13.3 0 24-10.7 24-24s-10.7-24-24-24H232V345.9L409 169c6.9-6.9 8.9-17.2 5.2-26.2s-12.5-14.8-22.2-14.8H24zm310.1 48L208 302.1 81.9 176H334.1z\"]\n};\nvar faCocktail = faMartiniGlassCitrus;\nvar faUserShakespeare = {\n prefix: 'far',\n iconName: 'user-shakespeare',\n icon: [448, 512, [], \"e2c2\", \"M224 48c-44.2 0-80 35.8-80 80v32c0 40.1 29.5 73.3 68 79.1V224c0-6.6 5.4-12 12-12s12 5.4 12 12v15.1c38.5-5.8 68-39 68-79.1V128c0-44.2-35.8-80-80-80zM96 128C96 57.3 153.3 0 224 0s128 57.3 128 128v23.2c0 10.9 3.7 21.5 10.5 30L373.6 195c6.7 8.4 10.4 18.8 10.4 29.6c0 26.2-21.2 47.4-47.4 47.4H286c-18.4 10.2-39.5 16-62 16s-43.6-5.8-62-16H111.4C85.2 272 64 250.8 64 224.6c0-10.8 3.7-21.2 10.4-29.6l11.1-13.9c6.8-8.5 10.5-19.1 10.5-30V128zm96-16a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm-7.5 39.5c2 2 6 5.3 10.7 8.1c4.9 2.9 9.4 4.4 12.8 4.4c6.6 0 12 5.4 12 12s-5.4 12-12 12c-9.5 0-18.3-3.8-24.8-7.6c-2.5-1.5-4.9-3.1-7.1-4.6C211.6 201 199 204 192 204c-6.6 0-12-5.4-12-12s5.4-12 12-12c2.1 0 12.9-1.9 23.5-12.5c4.7-4.7 12.3-4.7 17 0zM240 416.7c-.3 8.5-7.4 15.3-16 15.3s-15.6-6.8-16-15.3c-23.1 1.9-42.4 7.7-56.5 13.5c-8.6 3.5-15.2 7-19.6 9.6c-2.2 1.3-3.8 2.3-4.8 2.9c-.5 .3-.8 .6-1 .7l-.1 .1c-7.3 5.3-16.9 6-24.9 1.9C93.1 441.3 88 433 88 424V394.9C67.7 412.1 53.5 436.4 49.3 464H208c0-8.8 7.2-16 16-16s16 7.2 16 16H398.7c-4.2-27.6-18.4-51.9-38.7-69.1V424c0 9-5.1 17.3-13.1 21.4c-8 4.1-17.6 3.3-24.9-1.9l-.1-.1c-.2-.1-.5-.3-1-.7c-1-.6-2.6-1.7-4.8-2.9c-4.4-2.5-11-6-19.6-9.6c-14.1-5.8-33.3-11.6-56.5-13.5zM117.9 325.9C133.4 312.3 153.7 304 176 304h96c22.3 0 42.6 8.3 58.1 21.9c68 18.9 117.9 81.3 117.9 155.4c0 17-13.8 30.7-30.7 30.7H30.7C13.8 512 0 498.2 0 481.3c0-74 49.9-136.4 117.9-155.4zM224 368c35.9 0 65.8 8 87.3 16.4C307.7 366 291.5 352 272 352H176c-19.5 0-35.7 14-39.3 32.4C158.2 376 188.1 368 224 368z\"]\n};\nvar faArrowRightToArc = {\n prefix: 'far',\n iconName: 'arrow-right-to-arc',\n icon: [512, 512, [], \"e4b2\", \"M464 256c0-114.9-93.1-208-208-208c-13.3 0-24-10.7-24-24s10.7-24 24-24C397.4 0 512 114.6 512 256s-114.6 256-256 256c-13.3 0-24-10.7-24-24s10.7-24 24-24c114.9 0 208-93.1 208-208zM232.3 134.4l112 104c4.9 4.5 7.7 10.9 7.7 17.6s-2.8 13-7.7 17.6l-112 104c-9.7 9-24.9 8.5-33.9-1.3s-8.5-24.9 1.3-33.9L266.9 280H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H266.9l-67.2-62.4c-9.7-9-10.3-24.2-1.3-33.9s24.2-10.3 33.9-1.3z\"]\n};\nvar faFaceSurprise = {\n prefix: 'far',\n iconName: 'face-surprise',\n icon: [512, 512, [128558, \"surprise\"], \"f5c2\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm176.4-80a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM256 288a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]\n};\nvar faSurprise = faFaceSurprise;\nvar faBottleWater = {\n prefix: 'far',\n iconName: 'bottle-water',\n icon: [320, 512, [], \"e4c5\", \"M120 0C106.7 0 96 10.7 96 24l0 59.4c-7.6 2.1-14.9 5-21.8 8.9L68 95.7c-27.1 15.1-44 43.7-44 74.8c0 15.9 4.3 30.8 11.9 43.5C28.4 226.2 24 240.6 24 256c0 18 6 34.6 16 48c-10 13.4-16 30-16 48c0 14.6 3.9 28.2 10.7 40C27.9 403.8 24 417.4 24 432c0 44.2 35.8 80 80 80l112 0c44.2 0 80-35.8 80-80c0-14.6-3.9-28.2-10.7-40c6.8-11.8 10.7-25.4 10.7-40c0-18-6-34.6-16-48c10-13.4 16-30 16-48c0-15.4-4.4-29.8-11.9-42c7.6-12.8 11.9-27.6 11.9-43.5c0-31.1-16.8-59.7-44-74.8l-6.2-3.4c-6.9-3.8-14.3-6.8-21.8-8.9L224 24c0-13.3-10.7-24-24-24L120 0zM76.7 239.2c9.4-15.2 9.6-34.3 .5-49.7c-3.3-5.5-5.2-12-5.2-19.1c0-13.6 7.4-26.2 19.3-32.8l6.2-3.4c7.4-4.1 15.6-6.2 24.1-6.2l76.9 0c8.4 0 16.7 2.1 24.1 6.2l6.2 3.4c11.9 6.6 19.3 19.2 19.3 32.8c0 7.1-1.9 13.5-5.2 19.1c-9.1 15.4-8.9 34.5 .5 49.7c3 4.8 4.7 10.5 4.7 16.8c0 7.3-2.4 13.8-6.4 19.2c-12.8 17.1-12.8 40.6 0 57.7c4 5.3 6.4 11.9 6.4 19.2c0 5.9-1.6 11.3-4.3 16c-8.6 14.9-8.6 33.2 0 48.1c2.7 4.7 4.3 10.1 4.3 16c0 17.7-14.3 32-32 32l-112 0c-17.7 0-32-14.3-32-32c0-5.9 1.6-11.3 4.3-16c8.6-14.9 8.6-33.2 0-48.1c-2.7-4.7-4.3-10.1-4.3-16c0-7.3 2.4-13.8 6.4-19.2c12.8-17.1 12.8-40.6 0-57.7c-4-5.3-6.4-11.9-6.4-19.2c0-6.2 1.7-11.9 4.7-16.8zM136 208c-13.3 0-24 10.7-24 24s10.7 24 24 24l48 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-48 0zM112 360c0 13.3 10.7 24 24 24l48 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-48 0c-13.3 0-24 10.7-24 24z\"]\n};\nvar faCirclePause = {\n prefix: 'far',\n iconName: 'circle-pause',\n icon: [512, 512, [62092, \"pause-circle\"], \"f28b\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm224-72V328c0 13.3-10.7 24-24 24s-24-10.7-24-24V184c0-13.3 10.7-24 24-24s24 10.7 24 24zm112 0V328c0 13.3-10.7 24-24 24s-24-10.7-24-24V184c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faPauseCircle = faCirclePause;\nvar faGaugeCirclePlus = {\n prefix: 'far',\n iconName: 'gauge-circle-plus',\n icon: [640, 512, [], \"e498\", \"M256 464c29.4 0 57.3-6.1 82.6-17.1c7.4 14.7 16.7 28.2 27.7 40.1C333 503 295.5 512 256 512C114.6 512 0 397.4 0 256S114.6 0 256 0C375.4 0 475.6 81.7 504 192.2c-2.6-.1-5.3-.2-8-.2c-14 0-27.5 1.6-40.6 4.7C429.9 110.7 350.3 48 256 48C141.1 48 48 141.1 48 256s93.1 208 208 208zm0-56c-30.9 0-56-25.1-56-56c0-22.3 13.1-41.6 32-50.6V120c0-13.3 10.7-24 24-24s24 10.7 24 24V301.4c18.9 9 32 28.3 32 50.6c0 30.9-25.1 56-56 56zM128 160a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm-16 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm208-64a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm176 64a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm16 80c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H432c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v48c0 8.8 7.2 16 16 16s16-7.2 16-16V384h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H512V304z\"]\n};\nvar faFolders = {\n prefix: 'far',\n iconName: 'folders',\n icon: [576, 512, [], \"f660\", \"M512 336H160c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H277.5c4.2 0 8.3 1.7 11.3 4.7l26.5 26.5c21 21 49.5 32.8 79.2 32.8H512c8.8 0 16 7.2 16 16V320c0 8.8-7.2 16-16 16zM160 384H512c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H394.5c-17 0-33.3-6.7-45.3-18.7L322.7 50.7c-12-12-28.3-18.7-45.3-18.7H160c-35.3 0-64 28.7-64 64V320c0 35.3 28.7 64 64 64zM48 120c0-13.3-10.7-24-24-24S0 106.7 0 120V344c0 75.1 60.9 136 136 136H456c13.3 0 24-10.7 24-24s-10.7-24-24-24H136c-48.6 0-88-39.4-88-88V120z\"]\n};\nvar faAngel = {\n prefix: 'far',\n iconName: 'angel',\n icon: [576, 512, [], \"f779\", \"M384 64c0 0 0 .1 0 .2s-.1 .3-.2 .6c-.3 .6-.9 1.8-2.3 3.5c-1.4 1.7-3.4 3.6-6.2 5.6c6.7 8.3 12.2 17.6 16.3 27.7C407 91 416 78 416 64c0-35.3-57.3-64-128-64S160 28.7 160 64c0 14 9 27 24.3 37.5c4.1-10 9.6-19.3 16.3-27.7c-2.7-2-4.8-4-6.2-5.6c-1.4-1.7-2-2.8-2.3-3.5c-.1-.3-.2-.5-.2-.6s0-.1 0-.2s0-.1 0-.2s.1-.3 .2-.6c.3-.6 .9-1.8 2.3-3.5c2.9-3.5 8.4-7.9 17.3-12.4C229.6 38.4 256.5 32 288 32s58.4 6.4 76.2 15.4c8.9 4.5 14.4 8.9 17.3 12.4c1.4 1.7 2 2.8 2.3 3.5c.1 .3 .2 .5 .2 .6s0 .1 0 .2zM256 144a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm112 0a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zM87.6 388.2c5.6-11.1 8.4-23.4 8.4-35.8v-.9c0-12.4-2.9-24.7-8.4-35.8L69.2 279c-3.4-6.7-5.2-14.4-5.2-22.1c0-27.1 22-48.9 48.2-48.9c12.8 0 25 5.1 34.1 14.1l66.4 66.4c-6.8 7.2-12.7 15.5-17.3 24.7L120 464H49.7l37.9-75.8zM253.8 261.8l-73.6-73.6c-18-18-42.5-28.2-68-28.2C59.1 160 16 203.8 16 256.9c0 15.1 3.5 30.1 10.2 43.6l18.4 36.7c2.2 4.4 3.4 9.3 3.4 14.3v.9c0 5-1.2 9.9-3.4 14.3L4.8 446.4C1.6 452.7 0 459.7 0 466.7c0 25 20.3 45.3 45.3 45.3H96h53.7H426.3 480h50.7c25 0 45.3-20.3 45.3-45.3c0-7-1.6-14-4.8-20.3l-39.8-79.7c-2.2-4.4-3.4-9.3-3.4-14.3v-.9c0-5 1.2-9.9 3.4-14.3l18.4-36.7C556.5 287 560 272 560 256.9c0-53.1-43.1-96.9-96.2-96.9c-25.5 0-50 10.1-68 28.2l-73.6 73.6C311.4 258 299.8 256 288 256s-23.4 2-34.2 5.8zm109.6 26.7l66.4-66.4c9-9 21.3-14.1 34.1-14.1c26.1 0 48.2 21.8 48.2 48.9c0 7.7-1.8 15.4-5.2 22.1l-18.4 36.7c-5.6 11.1-8.4 23.4-8.4 35.8v.9c0 12.4 2.9 24.7 8.4 35.8L526.3 464H456L380.6 313.2c-4.6-9.2-10.4-17.5-17.3-24.7zm-25.7 46.2L402.3 464H173.7l64.6-129.3C247.7 315.9 267 304 288 304s40.3 11.9 49.7 30.7z\"]\n};\nvar faValueAbsolute = {\n prefix: 'far',\n iconName: 'value-absolute',\n icon: [512, 512, [], \"f6a6\", \"M24 32C10.7 32 0 42.7 0 56V456c0 13.3 10.7 24 24 24s24-10.7 24-24V56c0-13.3-10.7-24-24-24zM177 143c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l79 79-79 79c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l79-79 79 79c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-79-79 79-79c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-79 79-79-79zM512 56c0-13.3-10.7-24-24-24s-24 10.7-24 24V456c0 13.3 10.7 24 24 24s24-10.7 24-24V56z\"]\n};\nvar faRabbit = {\n prefix: 'far',\n iconName: 'rabbit',\n icon: [512, 512, [128007], \"f708\", \"M245.7 0c-24.4 0-45.1 17.9-48.5 42.1l-.7 4.9c-7.8 54.3 8.4 108.9 43.5 150.1v20.6c-66.8 20.7-119.8 73-141.4 139.4C90.3 353.8 81.4 352 72 352c-39.8 0-72 32.2-72 72s32.2 72 72 72c14.7 0 28.3-4.4 39.7-11.9C127.8 501.3 150.6 512 176 512h32l96 0c23.9 0 44.7-13.1 55.7-32.4l5.1 6.8c21.2 28.3 61.3 34 89.6 12.8s34-61.3 12.8-89.6L388 304c46.4-.1 84-37.8 84-84.3c0-25.3-11.4-49.3-31-65.3L404 124.3c-5.6-4.5-11.5-8.6-17.6-12c10.1-24.8 13.6-52.1 9.8-79.4l-.9-6C393.1 11.4 379.9 0 364.3 0c-8.2 0-16.2 3.3-22 9.1l-2 2c-5.8 5.7-11 11.9-15.7 18.3c14.7 21.5 25.1 45.4 30.7 70.4c-8.4-2.1-17-3.4-25.7-3.7c-8.2-29.3-23.8-56.6-46.2-78.8l-3.1-3.1L263.4 31.1l16.8-16.9C271 5.1 258.6 0 245.7 0zM88.7 406.7c-.4 5.7-.7 11.4-.7 17.3c0 5.6 .5 11.1 1.5 16.4C85.1 445.1 78.9 448 72 448c-13.3 0-24-10.7-24-24s10.7-24 24-24c6.5 0 12.4 2.6 16.7 6.7zm156-357.9c.1-.5 .5-.9 1-.9c.3 0 .5 .1 .7 .3l3.1 3.1 16.8-16.9L249.5 51.4c20.4 20.2 33.2 46.2 37.2 73.7c1 6.7 4.7 12.6 10.3 16.4s12.5 5 19 3.5c2.7-.6 5.5-1 8.5-1c17.9 0 35.3 6.2 49.3 17.5l36.9 30.1c8.4 6.9 13.4 17.2 13.4 28.1c0 20-16.2 36.3-36.3 36.3H352c-13.3 0-24 10.7-24 24v16c0 5.2 1.7 10.2 4.8 14.4l96 128c5.3 7.1 3.9 17.1-3.2 22.4s-17.1 3.9-22.4-3.2l-68.6-91.4c-4.2-5.6-10.6-9-17.5-9.5s-13.8 2.1-18.7 7L271 391c-6.9 6.9-8.9 17.2-5.2 26.2s12.5 14.8 22.2 14.8h16c8.8 0 16 7.2 16 16s-7.2 16-16 16l-96 0H176c-22.1 0-40-17.9-40-40c0-80.8 57-148.2 133-164.3c11.1-2.4 19-12.1 19-23.5V187.9c0-6.1-2.4-12.1-6.6-16.5C251.8 140.1 237.8 96.8 244 53.8l.7-4.9zM352 208a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faToiletPaperSlash = {\n prefix: 'far',\n iconName: 'toilet-paper-slash',\n icon: [640, 512, [], \"e072\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L518.1 380.8c14.4-4.3 26.5-12.4 35.9-21.3c13.6-13 23.7-29.4 31.1-46.1C600 279.8 608 236.9 608 192s-8-87.8-22.9-121.3C577.7 54 567.6 37.5 554 24.5C540.1 11.4 520.5 0 496 0c-1.3 0-2.6 0-3.8 .1l0-.1H160c-24.8 0-47.4 18.8-64.4 49.6L38.8 5.1zM134 79.8c.3-.7 .7-1.4 1-2.1c6.7-13.4 13.4-21.6 18.6-26c2.5-2.1 4.3-3 5.2-3.4c.5-.2 .8-.3 .9-.3s.2 0 .3 0H419c-4.7 7.3-8.6 15-12.1 22.7C392 104.2 384 147.1 384 192c0 29.8-1 57-2.7 81.6L134 79.8zM426.5 309c3.4-33.8 5.5-72.6 5.5-117c0-76 26.2-138.3 59.4-143.6c1.5-.2 3.1-.4 4.6-.4c35.3 0 64 64.5 64 144s-28.7 144-64 144H461l-34.5-27zM64 192c0 77.6-.4 174.5-32.9 250c-3.2 7.4-6.7 14.6-10.5 21.6l0 .1c-4.3 7.2-5.5 15.8-3.6 23.7c.7 2.9 1.8 5.7 3.3 8.4C25.8 505.8 36.5 512 48 512H333.9c22.3 0 45.4-12.1 55.4-36.1c5.4-12.9 12.2-32.1 18.8-58.4l-41.7-32.8c-7.5 35.6-15.8 59.2-21.5 72.8c-.9 2.1-2.1 3.5-3.8 4.5c-2 1.2-4.6 2-7.3 2H73.8c18.1-40.9 27.3-85.5 32.2-127.9c5.9-50.6 5.9-101.7 5.9-144.1c0-2.6 0-5.1 .1-7.7L66.5 148.4C64.9 162.4 64 177 64 192zm432 48c13.3 0 24-21.5 24-48s-10.7-48-24-48s-24 21.5-24 48s10.7 48 24 48z\"]\n};\nvar faCircleEuro = {\n prefix: 'far',\n iconName: 'circle-euro',\n icon: [512, 512, [], \"e5ce\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm128 16h16c-.6-5-.9-10.1-.9-15.2c0-5.7 .4-11.3 1.1-16.8H128c-8.8 0-16-7.2-16-16s7.2-16 16-16h24.7c19.2-46.9 65.4-80 119.2-80H313c13.3 0 24 10.7 24 24s-10.7 24-24 24H271.9c-26.3 0-49.6 12.6-64.4 32H288c8.8 0 16 7.2 16 16s-7.2 16-16 16H192.9c-1.1 5.4-1.7 11-1.7 16.8c0 5.2 .5 10.3 1.4 15.2H288c8.8 0 16 7.2 16 16s-7.2 16-16 16H206.4c14.7 20.3 38.5 33.5 65.5 33.5H313c13.3 0 24 10.7 24 24s-10.7 24-24 24H271.9c-54.4 0-101-33.8-119.8-81.5H128c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faAppleWhole = {\n prefix: 'far',\n iconName: 'apple-whole',\n icon: [448, 512, [127822, 127823, \"apple-alt\"], \"f5d1\", \"M224 112h16c44.2 0 80-35.8 80-80V16c0-8.8-7.2-16-16-16H288c-44.2 0-80 35.8-80 80V96c0 8.8 7.2 16 16 16zM48 288c0-31.7 7.6-62.5 20.4-83.7C80.5 184.3 94.7 176 112 176c17.8 0 43.2 7.4 65.3 16c30 11.7 63.5 11.7 93.5 0c22.1-8.6 47.5-16 65.3-16c17.3 0 31.5 8.3 43.6 28.3C392.4 225.5 400 256.3 400 288c0 54.2-17 100-40.4 131.2c-24 32-51.2 44.8-71.6 44.8c-4.6 0-13.6-1.7-24.9-5.1c-25.4-7.6-52.7-7.6-78.1 0c-11.3 3.4-20.3 5.1-24.9 5.1c-20.4 0-47.6-12.8-71.6-44.8C65 388 48 342.2 48 288zm64-160C35.7 128 0 211.7 0 288C0 416 80 512 160 512c11.9 0 26.5-3.4 38.8-7.1c16.4-4.9 34.1-4.9 50.5 0c12.2 3.7 26.8 7.1 38.8 7.1c80 0 160-96 160-224c0-76.3-35.7-160-112-160c-27.3 0-59.7 10.3-82.7 19.3c-18.8 7.3-39.9 7.3-58.7 0C171.7 138.3 139.3 128 112 128z\"]\n};\nvar faAppleAlt = faAppleWhole;\nvar faKitchenSet = {\n prefix: 'far',\n iconName: 'kitchen-set',\n icon: [576, 512, [], \"e51a\", \"M240 144A96 96 0 1 0 48 144a96 96 0 1 0 192 0zm46 24c-11.4 68.1-70.7 120-142 120C64.5 288 0 223.5 0 144S64.5 0 144 0c71.4 0 130.6 51.9 142 120h66.7c3.8-22.7 23.6-40 47.3-40h96c26.5 0 48 21.5 48 48v32c0 26.5-21.5 48-48 48H400c-23.8 0-43.5-17.3-47.3-40H286zM80 144a64 64 0 1 1 128 0A64 64 0 1 1 80 144zM376 264c0-13.3 10.7-24 24-24s24 10.7 24 24v8h40 56c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8V464c0 26.5-21.5 48-48 48H336c-26.5 0-48-21.5-48-48V320h-8c-13.3 0-24-10.7-24-24s10.7-24 24-24h56 40v-8zm-40 56V464H464V320H336zM32 336c0-8.8 7.2-16 16-16h80 16 32c26.5 0 48 21.5 48 48s-21.5 48-48 48H160c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V336zm128 48h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H160v32zM0 488c0-13.3 10.7-24 24-24H200c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24zM400 128v32h96V128H400z\"]\n};\nvar faDiamondHalf = {\n prefix: 'far',\n iconName: 'diamond-half',\n icon: [512, 512, [], \"e5b7\", \"M215 17C225.9 6.1 240.6 0 256 0V48 464v48c-15.4 0-30.1-6.1-41-17L17 297C6.1 286.1 0 271.4 0 256s6.1-30.1 17-41L215 17zm-7 403.1V91.9L50.9 249c-1.9 1.9-2.9 4.4-2.9 7s1 5.2 2.9 7L208 420.1z\"]\n};\nvar faLockKeyhole = {\n prefix: 'far',\n iconName: 'lock-keyhole',\n icon: [448, 512, [\"lock-alt\"], \"f30d\", \"M224 48c44.2 0 80 35.8 80 80v64H144V128c0-44.2 35.8-80 80-80zM96 128v64H64c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V256c0-35.3-28.7-64-64-64H352V128C352 57.3 294.7 0 224 0S96 57.3 96 128zM64 240H384c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V256c0-8.8 7.2-16 16-16zm184 80c0-13.3-10.7-24-24-24s-24 10.7-24 24v64c0 13.3 10.7 24 24 24s24-10.7 24-24V320z\"]\n};\nvar faLockAlt = faLockKeyhole;\nvar faR = {\n prefix: 'far',\n iconName: 'r',\n icon: [320, 512, [114], \"52\", \"M56 32C25.1 32 0 57.1 0 88V280 456c0 13.3 10.7 24 24 24s24-10.7 24-24V304H157.9L276.5 469.9c7.7 10.8 22.7 13.3 33.5 5.6s13.3-22.7 5.6-33.5L214.5 300.6C274.9 286.7 320 232.6 320 168c0-75.1-60.9-136-136-136H56zM176 256H48V88c0-4.4 3.6-8 8-8H184c48.6 0 88 39.4 88 88s-39.4 88-88 88h-8z\"]\n};\nvar faTemperatureQuarter = {\n prefix: 'far',\n iconName: 'temperature-quarter',\n icon: [320, 512, [\"temperature-1\", \"thermometer-1\", \"thermometer-quarter\"], \"f2ca\", \"M160 48c-35.3 0-64 28.7-64 64V273.9c0 14.5-5.7 27.1-12.8 36.6C71.1 326.5 64 346.4 64 368c0 53 43 96 96 96s96-43 96-96c0-21.6-7.1-41.5-19.2-57.5c-7.1-9.5-12.8-22.1-12.8-36.6V112c0-35.3-28.7-64-64-64zM48 112C48 50.2 98.1 0 160 0s112 50.1 112 112V273.9c0 1.7 .7 4.4 3.2 7.8c18.1 24.1 28.8 54 28.8 86.4c0 79.5-64.5 144-144 144S16 447.5 16 368c0-32.4 10.7-62.3 28.8-86.4c2.5-3.4 3.2-6.1 3.2-7.8V112zM208 368c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3V272c0-8.8 7.2-16 16-16s16 7.2 16 16v50.7c18.6 6.6 32 24.4 32 45.3z\"]\n};\nvar faTemperature1 = faTemperatureQuarter;\nvar faThermometer1 = faTemperatureQuarter;\nvar faThermometerQuarter = faTemperatureQuarter;\nvar faSquareInfo = {\n prefix: 'far',\n iconName: 'square-info',\n icon: [448, 512, [8505, \"info-square\"], \"f30f\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM184 336h24V272H184c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faInfoSquare = faSquareInfo;\nvar faWifiSlash = {\n prefix: 'far',\n iconName: 'wifi-slash',\n icon: [640, 512, [], \"f6ac\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-267-209.3c47.2 8.4 89.8 30.2 123.8 61.4c9.8 9 24.9 8.3 33.9-1.5s8.3-24.9-1.5-33.9C467.4 237.5 397.1 208 320 208c-7.2 0-14.3 .3-21.4 .8L169.4 107.5C216.2 89.7 267 80 320 80c107.4 0 205.4 39.9 280.1 105.7c9.9 8.8 25.1 7.8 33.9-2.2s7.8-25.1-2.2-33.9C548.7 76.4 439.5 32 320 32c-69.1 0-134.7 14.9-193.9 41.5L38.8 5.1zM226.3 274.3L184 241c-23.4 12.1-44.9 27.2-64.1 44.8c-9.8 9-10.4 24.1-1.5 33.9s24.1 10.4 33.9 1.5c21.5-19.7 46.5-35.7 73.9-46.9zM76.9 156.6L37.7 125.7c-10.2 7.6-20 15.6-29.5 23.9c-9.9 8.8-10.9 23.9-2.2 33.9s23.9 10.9 33.9 2.2c11.8-10.4 24.1-20.1 37-29.1zM376 424a56 56 0 1 0 -112 0 56 56 0 1 0 112 0z\"]\n};\nvar faToiletPaperXmark = {\n prefix: 'far',\n iconName: 'toilet-paper-xmark',\n icon: [512, 512, [], \"e5b3\", \"M48 192c0 43.3 9.2 81.3 23 107.7c14.4 27.5 30.1 36.3 41 36.3H324.7c-3-4.5-5.7-9.3-8.2-14.1C298.5 287.4 288 241.5 288 192s10.5-95.4 28.5-129.9c2.5-4.8 5.3-9.5 8.2-14.1H112c-10.9 0-26.6 8.9-41 36.3C57.2 110.7 48 148.7 48 192zM359 84.3c-13.8 26.3-23 64.3-23 107.7s9.2 81.3 23 107.7c14.4 27.5 30.1 36.3 41 36.3s26.6-8.9 41-36.3c13.8-26.3 23-64.3 23-107.7s-9.2-81.3-23-107.7C426.6 56.9 410.9 48 400 48s-26.6 8.9-41 36.3zM464 456V351.1c-16.6 19.3-38.1 32.9-64 32.9H112c-37.7 0-66-28.7-83.5-62.1C10.5 287.4 0 241.5 0 192S10.5 96.6 28.5 62.1C46 28.7 74.3 0 112 0H400c37.7 0 66 28.7 83.5 62.1C501.5 96.6 512 142.5 512 192V456c0 30.9-25.1 56-56 56H216c-30.9 0-56-25.1-56-56V416h48v40c0 4.4 3.6 8 8 8H456c4.4 0 8-3.6 8-8zM400 240c-13.3 0-24-21.5-24-48s10.7-48 24-48s24 21.5 24 48s-10.7 48-24 48zM235.3 132.7c6.2 6.2 6.2 16.4 0 22.6L198.6 192l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L176 214.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L153.4 192l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L176 169.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faHandsHoldingDollar = {\n prefix: 'far',\n iconName: 'hands-holding-dollar',\n icon: [640, 512, [\"hands-usd\"], \"f4c5\", \"M344 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V34.9c-6.9 1.8-13.8 4.5-20.2 8.2c-14.9 8.8-27.9 24.5-27.7 47.4c.1 22.1 13.1 36 26.6 44.1c11.4 6.9 25.6 11.2 36.4 14.4l1.9 .6c12.7 3.8 21.3 6.7 27.1 10.3c4 2.5 4 3.6 4 4.6l0 .2c0 2.3-.5 3.5-.8 4.1c-.4 .7-1.3 1.8-3.2 2.9c-4.1 2.6-11.2 4.4-19.2 4.1c-10.5-.3-20.2-3.6-33.9-8.3c-2.3-.8-4.8-1.6-7.3-2.5c-12.6-4.2-26.2 2.6-30.4 15.2s2.6 26.2 15.2 30.4c1.9 .6 3.9 1.3 6 2c7.4 2.6 16.2 5.6 25.6 7.8V232c0 13.3 10.7 24 24 24s24-10.7 24-24V221.4c7.4-1.8 14.6-4.7 21.3-8.8c15.3-9.5 27-25.9 26.7-48.5c-.3-22-12.8-36.3-26.4-44.9c-12-7.5-26.8-12-37.9-15.3l0 0-.9-.3c-12.9-3.9-21.6-6.6-27.4-10.1c-2.4-1.5-3.2-2.4-3.3-2.6c0-.1 0-.3 0-.6c0-1.6 .4-2.3 .7-2.8c.4-.6 1.4-1.8 3.5-3c4.7-2.8 12-4.5 19.4-4.4c9.1 .1 19.3 2.1 30.2 5c12.8 3.4 26-4.2 29.4-17s-4.2-26-17-29.4c-5.6-1.5-11.7-3-18.2-4.2V24zM144 136c0-39.8-32.2-72-72-72S0 96.2 0 136V352.2c0 31.8 12.6 62.3 35.1 84.9L103 505c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L69.1 403.1C55.6 389.6 48 371.3 48 352.2V136c0-13.3 10.7-24 24-24s24 10.7 24 24V281.9c0 25.6 10.2 50.2 28.3 68.4l15.9 15.9 0 0L167 393l0 0 16 16c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-16-16 0 0-26.7-26.7c-4-4-6.2-9.4-6.2-15c0-11.7 9.5-21.3 21.3-21.3c5.6 0 11 2.2 15 6.2l61.4 61.4C285.1 383 296 409.4 296 436.8V488c0 13.3 10.7 24 24 24s24-10.7 24-24V436.8c0-27.4 10.9-53.8 30.3-73.2l61.4-61.4c4-4 9.4-6.2 15-6.2c11.7 0 21.3 9.5 21.3 21.3c0 5.6-2.2 11-6.2 15L439 359l0 0-16 16c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l16-16 0 0 26.7-26.7 0 0 15.9-15.9c18.1-18.1 28.3-42.7 28.3-68.4V136c0-13.3 10.7-24 24-24s24 10.7 24 24V352.2c0 19.1-7.6 37.4-21.1 50.9L503 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l67.9-67.9c22.5-22.5 35.1-53 35.1-84.9V136c0-39.8-32.2-72-72-72s-72 32.2-72 72V264.8c-12.1-10.5-28-16.8-45.3-16.8c-18.4 0-36 7.3-49 20.3l-61.4 61.4c-7.7 7.7-14.5 16.2-20.4 25.3c-5.8-9.1-12.6-17.5-20.4-25.3l-61.4-61.4c-13-13-30.6-20.3-49-20.3c-17.3 0-33.1 6.3-45.3 16.8V136z\"]\n};\nvar faHandsUsd = faHandsHoldingDollar;\nvar faCube = {\n prefix: 'far',\n iconName: 'cube',\n icon: [512, 512, [], \"f1b2\", \"M258.8 50.7c-1.8-.7-3.8-.7-5.7 0L63.6 122.6 256 198.2l192.4-75.6L258.8 50.7zM48 377.9c0 3.3 2.1 6.3 5.2 7.5L232 453.2V240.4L48 168.1V377.9zm232 75.3l178.8-67.8c3.1-1.2 5.2-4.2 5.2-7.5V168.1L280 240.4V453.2zM236.1 5.9c12.8-4.9 26.9-4.9 39.7 0l200 75.9C497.6 90 512 110.8 512 134.1V377.9c0 23.3-14.4 44.1-36.1 52.4l-200 75.9c-12.8 4.9-26.9 4.9-39.7 0l-200-75.9C14.4 422 0 401.2 0 377.9V134.1C0 110.8 14.4 90 36.1 81.7l200-75.9z\"]\n};\nvar faArrowDownTriangleSquare = {\n prefix: 'far',\n iconName: 'arrow-down-triangle-square',\n icon: [576, 512, [\"sort-shapes-down\"], \"f888\", \"M47 377l96 96c9.4 9.4 24.6 9.4 33.9 0l96-96c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-55 55V56c0-13.3-10.7-24-24-24s-24 10.7-24 24V398.1L81 343c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9zM416 32c-9.9 0-19.1 5.2-24.2 13.7L307.6 186c-2.3 3.9-3.6 8.4-3.6 12.9c0 13.8 11.2 25.1 25.1 25.1H502.9c13.8 0 25.1-11.2 25.1-25.1c0-4.5-1.2-9-3.6-12.9L440.2 45.7C435.1 37.2 425.9 32 416 32zM368 432V336h96v96H368zM416 98.6L462.4 176H369.6L416 98.6zM320 432c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V336c0-26.5-21.5-48-48-48H368c-26.5 0-48 21.5-48 48v96z\"]\n};\nvar faSortShapesDown = faArrowDownTriangleSquare;\nvar faBitcoinSign = {\n prefix: 'far',\n iconName: 'bitcoin-sign',\n icon: [320, 512, [], \"e0b4\", \"M64 24C64 10.7 74.7 0 88 0s24 10.7 24 24V64h32V24c0-13.3 10.7-24 24-24s24 10.7 24 24V64.7c54 6 96 51.8 96 107.3c0 27.5-10.3 52.6-27.2 71.6C295.9 261.5 320 297.9 320 340c0 59.6-48.4 108-108 108H192v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V448H112v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V448H41.7C18.7 448 0 429.3 0 406.3V280v-6.3V232 101.6C0 80.8 16.8 64 37.6 64H64V24zM48 232H180c33.1 0 60-26.9 60-60s-26.9-60-60-60H48V232zm132 48H48V400H212c33.1 0 60-26.9 60-60s-26.9-60-60-60H180z\"]\n};\nvar faShutters = {\n prefix: 'far',\n iconName: 'shutters',\n icon: [512, 512, [], \"e449\", \"M24 32C10.7 32 0 42.7 0 56S10.7 80 24 80H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zM13.7 128L.4 198c-.3 1.4-.4 2.7-.4 4.1C0 214.2 9.8 224 21.9 224H490.1c12.1 0 21.9-9.8 21.9-21.9c0-1.4-.1-2.8-.4-4.1l-13.3-70H449.4l9.1 48H53.4l9.1-48H13.7zM.4 326c-.3 1.4-.4 2.7-.4 4.1C0 342.2 9.8 352 21.9 352H490.1c12.1 0 21.9-9.8 21.9-21.9c0-1.4-.1-2.8-.4-4.1l-13.3-70H449.4l9.1 48H53.4l9.1-48H13.7L.4 326zm0 128c-.3 1.4-.4 2.7-.4 4.1C0 470.2 9.8 480 21.9 480H490.1c12.1 0 21.9-9.8 21.9-21.9c0-1.4-.1-2.8-.4-4.1l-13.3-70H449.4l9.1 48H53.4l9.1-48H13.7L.4 454z\"]\n};\nvar faShieldDog = {\n prefix: 'far',\n iconName: 'shield-dog',\n icon: [512, 512, [], \"e573\", \"M73 127L256 49.4 439 127c5.9 2.5 9.1 7.8 9 12.8c-.4 91.4-38.4 249.3-186.3 320.1c-3.6 1.7-7.8 1.7-11.3 0C102.4 389 64.5 231.2 64 139.7c0-5 3.1-10.2 9-12.8zM457.7 82.8L269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.8 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2zM160.9 270.2l-15 30c-1.2 2.5-1.9 5.2-1.9 8c0 7.1 4.3 13.6 10.8 16.4l98.7 42.3c1.7 .7 3.4 1.1 5.2 1.1c7.3 0 13.3-5.9 13.3-13.3V304h48c44.2 0 80-35.8 80-80V192c0-8.8-7.2-16-16-16H320l-7.2-14.3c-5.4-10.8-16.5-17.7-28.6-17.7H240v64c0 35.3-28.7 64-64 64c-5.2 0-10.3-.6-15.1-1.8zM160 144c-8.8 0-16 7.2-16 16v48c0 17.7 14.3 32 32 32s32-14.3 32-32V176 144h-8H160zm96 48a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faSolarPanel = {\n prefix: 'far',\n iconName: 'solar-panel',\n icon: [640, 512, [], \"f5ba\", \"M114.5 48c-3.8 0-7.1 2.7-7.9 6.5L86.5 160H203.1L214.3 48H114.5zm83.8 160H77.4L54.8 326.5c-.9 4.9 2.8 9.5 7.9 9.5H185.5l12.8-128zm48.2 0L233.7 336H406.3L393.5 208h-147zm142.2-48L377.5 48h-115L251.3 160H388.7zm53 48l12.8 128H577.3c5 0 8.8-4.6 7.9-9.5L562.6 208H441.7zm111.8-48L533.4 54.5c-.7-3.8-4-6.5-7.9-6.5H425.7l11.2 112H553.5zM59.5 45.5C64.5 19.1 87.6 0 114.5 0h411c26.9 0 50 19.1 55 45.5l51.8 272c6.6 34.5-19.9 66.5-55 66.5H344v80h80c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h80V384H62.7c-35.1 0-61.6-32-55-66.5l51.8-272z\"]\n};\nvar faLockOpen = {\n prefix: 'far',\n iconName: 'lock-open',\n icon: [576, 512, [], \"f3c1\", \"M352 128c0-44.2 35.8-80 80-80s80 35.8 80 80v72c0 13.3 10.7 24 24 24s24-10.7 24-24V128C560 57.3 502.7 0 432 0S304 57.3 304 128v64H64c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V256c0-35.3-28.7-64-64-64H352V128zM64 240H384c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V256c0-8.8 7.2-16 16-16z\"]\n};\nvar faTableTree = {\n prefix: 'far',\n iconName: 'table-tree',\n icon: [512, 512, [], \"e293\", \"M48 160V416c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V160H128v64c0 8.8 7.2 16 16 16h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-5.6 0-11-1-16-2.7V320c0 8.8 7.2 16 16 16h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-26.5 0-48-21.5-48-48V224 160H48zM0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM224 240c0-8.8 7.2-16 16-16H400c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H240c-8.8 0-16-7.2-16-16V240zm80 80h96c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H304c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16z\"]\n};\nvar faHouseChimneyHeart = {\n prefix: 'far',\n iconName: 'house-chimney-heart',\n icon: [576, 512, [], \"e1b2\", \"M303.5 5.7c-9-7.6-22.1-7.6-31.1 0l-264 224c-10.1 8.6-11.3 23.7-2.8 33.8s23.7 11.3 33.8 2.8L64 245.5V432c0 44.2 35.8 80 80 80H432c44.2 0 80-35.8 80-80V245.5l24.5 20.8c10.1 8.6 25.3 7.3 33.8-2.8s7.3-25.3-2.8-33.8L512 182.6V56c0-13.3-10.7-24-24-24s-24 10.7-24 24v85.9L303.5 5.7zM464 204.8V432c0 17.7-14.3 32-32 32H144c-17.7 0-32-14.3-32-32V204.8L288 55.5 464 204.8zM237.3 208c-33.8 0-61.3 27.4-61.3 61.3c0 16.2 6.5 31.8 17.9 43.3l82.7 82.7c6.2 6.2 16.4 6.2 22.6 0l82.7-82.7c11.5-11.5 17.9-27.1 17.9-43.3c0-33.8-27.4-61.3-61.3-61.3c-16.2 0-31.8 6.5-43.3 17.9l-7.4 7.4-7.4-7.4c-11.5-11.5-27.1-17.9-43.3-17.9z\"]\n};\nvar faTally3 = {\n prefix: 'far',\n iconName: 'tally-3',\n icon: [640, 512, [], \"e296\", \"M128 40c13.3 0 24 10.7 24 24V448c0 13.3-10.7 24-24 24s-24-10.7-24-24V64c0-13.3 10.7-24 24-24zm128 0c13.3 0 24 10.7 24 24V448c0 13.3-10.7 24-24 24s-24-10.7-24-24V64c0-13.3 10.7-24 24-24zM408 64V448c0 13.3-10.7 24-24 24s-24-10.7-24-24V64c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faElevator = {\n prefix: 'far',\n iconName: 'elevator',\n icon: [512, 512, [], \"e16d\", \"M132.7 4.7c6.2-6.2 16.4-6.2 22.6 0l64 64c4.6 4.6 5.9 11.5 3.5 17.4s-8.3 9.9-14.8 9.9H80c-6.5 0-12.3-3.9-14.8-9.9s-1.1-12.9 3.5-17.4l64-64zm224 86.6l-64-64c-4.6-4.6-5.9-11.5-3.5-17.4s8.3-9.9 14.8-9.9H432c6.5 0 12.3 3.9 14.8 9.9s1.1 12.9-3.5 17.4l-64 64c-6.2 6.2-16.4 6.2-22.6 0zM64 176c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V192c0-8.8-7.2-16-16-16H64zM0 192c0-35.3 28.7-64 64-64H448c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192zM272 400c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48c0 17.7-14.3 32-32 32H304c-17.7 0-32-14.3-32-32zM128 352h64c26.5 0 48 21.5 48 48c0 17.7-14.3 32-32 32H112c-17.7 0-32-14.3-32-32c0-26.5 21.5-48 48-48zm176-80a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM160 224a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faMoneyBillTransfer = {\n prefix: 'far',\n iconName: 'money-bill-transfer',\n icon: [640, 512, [], \"e528\", \"M558.1 64L535 41c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l64 64c4.5 4.5 7 10.6 7 17s-2.5 12.5-7 17l-64 64c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l23-23-64.6 0 0 0H160v16c0 35.3-28.7 64-64 64H80v93.5L50.7 314.7 32 333.5V128c0-35.3 28.7-64 64-64H383.6l.4 0 174.1 0zM560 320V226.5l29.3-29.3L608 178.5V384c0 35.3-28.7 64-64 64H146.5l0 0-64.6 0 23 23c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L7 441c-4.5-4.5-7-10.6-7-17s2.5-12.5 7-17l64-64c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-23 23L256 400c.1 0 .3 0 .4 0H480V384c0-35.3 28.7-64 64-64h16zM320 160a96 96 0 1 1 0 192 96 96 0 1 1 0-192z\"]\n};\nvar faMoneyBillTrendUp = {\n prefix: 'far',\n iconName: 'money-bill-trend-up',\n icon: [512, 512, [], \"e529\", \"M320 24c0 13.3 10.7 24 24 24h54.1L286.7 159.3 191.6 77.8c-9-7.7-22.4-7.7-31.3 .1l-120 104c-10 8.7-11.1 23.8-2.4 33.9s23.8 11.1 33.9 2.4l104.4-90.5 96.3 82.5c9.5 8.2 23.7 7.6 32.6-1.3l127-127V136c0 13.3 10.7 24 24 24s24-10.7 24-24V24c0-13.3-10.7-24-24-24H344c-13.3 0-24 10.7-24 24zM103.5 304h305c3.6 29 26.6 51.9 55.5 55.5v49c-29 3.6-51.9 26.6-55.5 55.5h-305c-3.6-29-26.6-51.9-55.5-55.5v-49c28.9-3.6 51.9-26.6 55.5-55.5zM48 256c-26.5 0-48 21.5-48 48V464c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48H48zM256 448a64 64 0 1 0 0-128 64 64 0 1 0 0 128z\"]\n};\nvar faHouseFloodWaterCircleArrowRight = {\n prefix: 'far',\n iconName: 'house-flood-water-circle-arrow-right',\n icon: [640, 512, [], \"e50f\", \"M316.1 107.1c-3.5-16.5-9.4-32.2-17.2-46.7L378.1 4.4c8.3-5.9 19.4-5.9 27.7 0l192 136c10.8 7.7 13.4 22.6 5.7 33.5s-22.6 13.4-33.5 5.7l-2.1-1.5V281.4c-5.3-2.9-10.3-6.2-14.8-9.9c-9.7-8.2-21.3-13.1-33.2-14.6V144.1L392 53.4l-75.9 53.7zM143.9 318.1c21.5 18.6 51.2 33.9 80 33.9s58.5-15.3 80-33.9c9.1-8.1 22.8-8.1 31.9 0c21.6 18.6 51.2 33.9 80 33.9s58.5-15.3 80-33.9c9.1-8.1 22.8-8.1 31.9 0c16.9 15.1 39.3 26.8 61.3 31.8c12.9 2.9 21.1 15.7 18.2 28.7s-15.7 21.1-28.7 18.2c-28.7-6.4-52.3-20.5-66.7-30.4c-28.1 19.5-61.4 33.8-96 33.8s-67.9-14.3-96-33.8c-28.1 19.5-61.4 33.8-96 33.8s-67.9-14.3-96-33.8c-14.4 10-38 24-66.7 30.4c-12.9 2.9-25.8-5.2-28.7-18.2s5.2-25.8 18.2-28.7c22.2-5 44-16.8 61.2-31.7c9.1-8.1 22.8-8.1 31.9 0zM112 430.1c9.1-8.1 22.8-8.1 31.9 0c21.5 18.6 51.2 33.9 80 33.9s58.5-15.3 80-33.9c9.1-8.1 22.8-8.1 31.9 0c21.6 18.6 51.2 33.9 80 33.9s58.5-15.3 80-33.9c9.1-8.1 22.8-8.1 31.9 0c16.9 15.1 39.3 26.8 61.3 31.8c12.9 2.9 21.1 15.7 18.2 28.7s-15.7 21.1-28.7 18.2c-28.7-6.4-52.3-20.5-66.7-30.4c-28.1 19.5-61.4 33.8-96 33.8s-67.9-14.3-96-33.8c-28.1 19.5-61.4 33.8-96 33.8s-67.9-14.3-96-33.8c-14.4 10-38 24-66.7 30.4c-12.9 2.9-25.8-5.2-28.7-18.2s5.2-25.8 18.2-28.7c22.2-5 44-16.8 61.2-31.7zM0 144a144 144 0 1 1 288 0A144 144 0 1 1 0 144zM140.7 76.7c-6.2 6.2-6.2 16.4 0 22.6L169.4 128H80c-8.8 0-16 7.2-16 16s7.2 16 16 16h89.4l-28.7 28.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l56-56c6.2-6.2 6.2-16.4 0-22.6l-56-56c-6.2-6.2-16.4-6.2-22.6 0z\"]\n};\nvar faSquarePollHorizontal = {\n prefix: 'far',\n iconName: 'square-poll-horizontal',\n icon: [448, 512, [\"poll-h\"], \"f682\", \"M400 96c0-8.8-7.2-16-16-16L64 80c-8.8 0-16 7.2-16 16l0 320c0 8.8 7.2 16 16 16l320 0c8.8 0 16-7.2 16-16l0-320zM384 32c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l320 0zM256 160c0 13.3-10.7 24-24 24l-112 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l112 0c13.3 0 24 10.7 24 24zm72 72c13.3 0 24 10.7 24 24s-10.7 24-24 24l-208 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l208 0zM192 352c0 13.3-10.7 24-24 24l-48 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l48 0c13.3 0 24 10.7 24 24z\"]\n};\nvar faPollH = faSquarePollHorizontal;\nvar faCircle = {\n prefix: 'far',\n iconName: 'circle',\n icon: [512, 512, [128308, 128309, 128992, 128993, 128994, 128995, 128996, 9679, 9898, 9899, 11044, 61708, 61915], \"f111\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z\"]\n};\nvar faLeftToBracket = {\n prefix: 'far',\n iconName: 'left-to-bracket',\n icon: [512, 512, [], \"e66d\", \"M320 365.8L210 256 320 146.2l0 53.8c0 13.3 10.7 24 24 24l120 0 0 64-120 0c-13.3 0-24 10.7-24 24l0 53.8zM160 256c0 11.5 4.6 22.5 12.7 30.6L288.8 402.4c8.7 8.7 20.5 13.6 32.8 13.6c25.6 0 46.4-20.8 46.4-46.4l0-33.6 96 0c26.5 0 48-21.5 48-48l0-64c0-26.5-21.5-48-48-48l-96 0 0-33.6c0-25.6-20.8-46.4-46.4-46.4c-12.3 0-24.1 4.9-32.8 13.6L172.7 225.4c-8.1 8.1-12.7 19.1-12.7 30.6zm8 176l-80 0c-22.1 0-40-17.9-40-40l0-272c0-22.1 17.9-40 40-40l80 0c13.3 0 24-10.7 24-24s-10.7-24-24-24L88 32C39.4 32 0 71.4 0 120L0 392c0 48.6 39.4 88 88 88l80 0c13.3 0 24-10.7 24-24s-10.7-24-24-24z\"]\n};\nvar faCartCircleExclamation = {\n prefix: 'far',\n iconName: 'cart-circle-exclamation',\n icon: [640, 512, [], \"e3f2\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48H69.5c3.8 0 7.1 2.7 7.9 6.5l51.6 271c6.5 34 36.2 58.5 70.7 58.5h121c-.5-5.3-.7-10.6-.7-16c0-10.9 1-21.6 2.9-32H199.7c-11.5 0-21.4-8.2-23.6-19.5L170.7 288H339.2c9.2-18 21.4-34.2 36-48H161.6L131.1 80H520.7L490.5 192.1c1.8-.1 3.7-.1 5.5-.1c14.8 0 29.1 1.8 42.8 5.2L569.7 82.4C576.6 57 557.4 32 531.1 32h-411C111 12.8 91.6 0 69.5 0H24zM176 512a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm320 0a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-144c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V288c0-8.8 7.2-16 16-16z\"]\n};\nvar faSword = {\n prefix: 'far',\n iconName: 'sword',\n icon: [512, 512, [128481], \"f71c\", \"M507.3 4.7C503.7 1 498.5-.6 493.4 .2L417.6 12.8c-16.4 2.7-31.6 10.6-43.4 22.3L166.6 242.7l33.9 33.9L408.1 69.1c4.7-4.7 10.8-7.8 17.4-8.9l31.6-5.3-5.3 31.6c-1.1 6.6-4.2 12.7-8.9 17.4L235.3 311.4l33.9 33.9L476.8 137.8c11.8-11.8 19.6-27 22.3-43.4l12.6-75.8c.8-5.1-.8-10.3-4.5-13.9zM84.7 228.7l-16 16c-5.4 5.4-6.2 13.8-2 20.2l53.1 79.6c2.1 3.2 1.7 7.4-1 10.1L79.2 394.2c-2.1 2.1-5.3 2.9-8.2 1.9L37.1 384.8c-5.7-1.9-12.1-.4-16.4 3.9l-16 16c-6.2 6.2-6.2 16.4 0 22.6l80 80c6.2 6.2 16.4 6.2 22.6 0l16-16c4.3-4.3 5.8-10.6 3.9-16.4L115.9 441c-1-2.9-.2-6 1.9-8.2l39.6-39.6c2.7-2.7 6.9-3.1 10.1-1l79.6 53.1c6.3 4.2 14.8 3.4 20.2-2l16-16c6.2-6.2 6.2-16.4 0-22.6l-176-176c-6.2-6.2-16.4-6.2-22.6 0z\"]\n};\nvar faBackwardFast = {\n prefix: 'far',\n iconName: 'backward-fast',\n icon: [512, 512, [9198, \"fast-backward\"], \"f049\", \"M16 424c0 13.3 10.7 24 24 24s24-10.7 24-24V287.9L238.6 440.6c5.4 4.8 12.4 7.4 19.6 7.4c16.5 0 29.8-13.3 29.8-29.8V287.9L462.6 440.6c5.4 4.8 12.4 7.4 19.6 7.4c16.5 0 29.8-13.3 29.8-29.8V93.8C512 77.3 498.7 64 482.2 64c-7.2 0-14.2 2.6-19.6 7.4L288 224.1V93.8C288 77.3 274.7 64 258.2 64c-7.2 0-14.2 2.6-19.6 7.4L64 224.1V88c0-13.3-10.7-24-24-24S16 74.7 16 88V424zM464 133.9V378.1L324.4 256 464 133.9zM240 378.1L100.4 256 240 133.9V378.1z\"]\n};\nvar faFastBackward = faBackwardFast;\nvar faRecycle = {\n prefix: 'far',\n iconName: 'recycle',\n icon: [512, 512, [9842, 9850, 9851], \"f1b8\", \"M181.5 40.9C197.7 15.3 226 0 256 0s58.3 15.3 74.5 40.9L392.8 139l6.6-31.8c2.7-13 15.4-21.3 28.3-18.7s21.3 15.4 18.7 28.3l-19.4 94.4c-1.4 6.7-5.6 12.5-11.5 15.9s-13.1 4.2-19.6 2l-91.4-30.4c-12.6-4.2-19.4-17.8-15.2-30.3s17.8-19.4 30.3-15.2l32.2 10.7L290 66.6C282.7 55.1 269.8 48 256 48s-26.7 7.1-34 18.6l-21.5 33.9c-7 11-21.4 14.4-32.6 7.7c-11.6-6.9-15.1-22-7.9-33.4l21.5-33.9zM439 255.5c11.2-6.7 25.6-3.3 32.6 7.7l26.8 42.2c8.8 13.9 13.5 30 13.6 46.4c.3 48.6-39 88.2-87.6 88.2l-137.2 0 24.8 22c9.9 8.8 10.8 24 2 33.9s-24 10.8-33.9 2l-72-64c-5.1-4.6-8.1-11.1-8.1-17.9s2.9-13.4 8.1-17.9l72-64c9.9-8.8 25.1-7.9 33.9 2s7.9 25.1-2 33.9L287.1 392l137.3 0c22 0 39.8-17.9 39.6-39.9c0-7.4-2.2-14.7-6.2-21l-26.8-42.2c-7.2-11.4-3.6-26.5 7.9-33.4zm-311.6 3.7l-6.7-32.8L54.2 331.1c-4 6.3-6.1 13.6-6.2 21c-.1 22 17.7 39.9 39.6 39.9l48.4 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-48.4 0C39 440-.3 400.5 0 351.9c.1-16.4 4.8-32.5 13.6-46.4L78.8 202.8 47.6 213.1c-12.6 4.2-26.2-2.6-30.3-15.2s2.6-26.2 15.2-30.3l91.4-30.4c6.5-2.2 13.6-1.4 19.6 2s10.1 9.2 11.5 15.9l19.4 94.4c2.7 13-5.7 25.7-18.7 28.3s-25.7-5.7-28.3-18.7z\"]\n};\nvar faUserAstronaut = {\n prefix: 'far',\n iconName: 'user-astronaut',\n icon: [448, 512, [], \"f4fb\", \"M224 48a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm181.2 80.4C379 53.6 307.8 0 224 0S69 53.6 42.8 128.4C27.6 130.9 16 144.1 16 160l0 64c0 15.9 11.6 29.1 26.8 31.6c9.7 27.6 25.5 52.4 45.8 72.6C35.6 359.1 0 416.5 0 482.3C0 498.7 13.3 512 29.7 512L160 512l0-48c0-8.8 7.2-16 16-16s16 7.2 16 16l0 48 226.3 0c16.4 0 29.7-13.3 29.7-29.7c0-65.8-35.6-123.2-88.6-154.1c20.3-20.2 36.2-45 45.8-72.6c15.2-2.5 26.8-15.7 26.8-31.6l0-64c0-15.9-11.6-29.1-26.8-31.6zM319.7 358.5c44.5 18 77.1 59.3 82.6 108.7l-66.4 0 0-19.2c0-17.7-14.3-32-32-32l-160 0c-17.7 0-32 14.3-32 32l0 19.2-66.4 0c5.6-49.5 38.1-90.7 82.6-108.7C156.5 374.7 189.1 384 224 384s67.5-9.3 95.7-25.5zM160 128c-26.5 0-48 21.5-48 48l0 16c0 53 43 96 96 96l32 0c53 0 96-43 96-96l0-16c0-26.5-21.5-48-48-48l-128 0zm39.3 45.5l6 21.2 21.2 6c3.3 .9 5.5 3.9 5.5 7.3s-2.2 6.4-5.5 7.3l-21.2 6-6 21.2c-.9 3.3-3.9 5.5-7.3 5.5s-6.4-2.2-7.3-5.5l-6-21.2-21.2-6c-3.3-.9-5.5-3.9-5.5-7.3s2.2-6.4 5.5-7.3l21.2-6 6-21.2c.9-3.3 3.9-5.5 7.3-5.5s6.4 2.2 7.3 5.5zM256 464a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faInterrobang = {\n prefix: 'far',\n iconName: 'interrobang',\n icon: [320, 512, [8253], \"e5ba\", \"M144 80c-44.2 0-80 35.8-80 80c0 13.3-10.7 24-24 24s-24-10.7-24-24C16 89.3 73.3 32 144 32h32c70.7 0 128 57.3 128 128v4.6c0 40.1-20.1 77.6-53.4 99.8l-52.3 34.9c-8.9 5.9-14.2 15.9-14.2 26.6v2 16c0 13.3-10.7 24-24 24s-24-10.7-24-24V328v-2V168c0-13.3 10.7-24 24-24s24 10.7 24 24v83.2l39.9-26.6c20-13.4 32.1-35.8 32.1-59.9V160c0-44.2-35.8-80-80-80H144zM128 448a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faPlaneSlash = {\n prefix: 'far',\n iconName: 'plane-slash',\n icon: [640, 512, [], \"e069\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L461 336h19c20.6 0 49.8-5.8 74.4-16.5c12.4-5.4 25-12.7 34.9-22.4c10-9.8 18.7-23.6 18.7-41.1c0-17.4-8.8-31.1-18.7-40.7c-9.9-9.6-22.4-16.9-34.8-22.4C530 182.1 500.7 176 480 176H413.8L317.7 25.8C307.4 9.7 289.6 0 270.5 0H229.9c-27.1 0-46.4 26.4-38.1 52.2l31.1 97.2L38.8 5.1zM288.3 200.7c.1-2.7-.3-5.4-1.1-8L240.9 48h29.6c2.7 0 5.3 1.4 6.7 3.7l20.2-12.9L277.2 51.7 380.4 212.9c4.4 6.9 12 11.1 20.2 11.1l79.4 0c13.4 0 36.1 4.4 55.1 12.8c9.4 4.2 16.4 8.7 20.7 12.9c4.2 4.1 4.2 6.1 4.2 6.3v0c0 .6-.1 2.8-4.2 6.8c-4.3 4.2-11.2 8.6-20.6 12.7C516.3 283.8 493.6 288 480 288H400.6c-.3 0-.6 0-.9 0L288.3 200.7zm88.9 192.5l-37.9-29.8-62.1 97c-1.5 2.3-4 3.7-6.7 3.7H240.9l45.5-142.3L243.7 288H168c-7.6 0-14.7 3.6-19.2 9.6L108 352H83.6l27.4-88.9c1.4-4.6 1.4-9.5 0-14.1L84.3 162.4 39.6 127.2c-4.8 6.3-7.6 14.2-7.6 22.7c0 3.8 .6 7.5 1.7 11.1l0 0L62.9 256 33.7 350.9l0 0c-1.1 3.6-1.7 7.4-1.7 11.1C32 383 49 400 69.9 400H112c12.6 0 24.4-5.9 32-16l-19.2-14.4L144 384l36-48h51.4L191.8 459.8c-8.3 25.8 11 52.2 38.1 52.2h40.6c19.1 0 36.9-9.7 47.2-25.8l59.5-93z\"]\n};\nvar faCircleDashed = {\n prefix: 'far',\n iconName: 'circle-dashed',\n icon: [512, 512, [], \"e105\", \"M27.7 232c12.3 0 22.5-9.3 25.2-21.3c5.3-23.9 14.7-46.2 27.4-66.2c6.6-10.4 6-24.2-2.8-32.9c-10.1-10.1-26.8-9.4-34.7 2.5c-18.2 27.3-31.3 58.3-37.9 91.6c-2.8 14 8.5 26.3 22.8 26.3zM144.5 80.4c20-12.7 42.3-22.1 66.2-27.4c12-2.7 21.3-12.9 21.3-25.2c0-14.3-12.3-25.6-26.3-22.8c-33.3 6.6-64.3 19.7-91.6 37.9c-11.9 7.9-12.6 24.6-2.5 34.7c8.7 8.7 22.5 9.4 32.9 2.8zM280 484.3c0 14.3 12.3 25.6 26.3 22.8c33.3-6.6 64.3-19.7 91.6-37.9c11.9-7.9 12.6-24.6 2.5-34.7c-8.7-8.7-22.5-9.4-32.9-2.8c-20 12.7-42.3 22.1-66.2 27.4c-12 2.7-21.3 12.9-21.3 25.2zM431.6 367.5c-6.6 10.4-6 24.2 2.8 32.9c10.1 10.1 26.8 9.4 34.7-2.5c18.2-27.3 31.3-58.3 37.9-91.6c2.8-14-8.5-26.3-22.8-26.3c-12.3 0-22.5 9.3-25.2 21.3c-5.3 23.9-14.7 46.2-27.4 66.2zm-320 66.8c-10.1 10.1-9.4 26.8 2.5 34.7c27.3 18.2 58.3 31.3 91.6 37.9c14 2.8 26.3-8.5 26.3-22.8c0-12.3-9.3-22.5-21.3-25.2c-23.9-5.3-46.2-14.7-66.2-27.4c-10.4-6.6-24.2-6-32.9 2.8zM42.9 397.9c7.9 11.9 24.6 12.6 34.7 2.5c8.7-8.7 9.4-22.5 2.8-32.9c-12.7-20-22.1-42.3-27.4-66.2c-2.7-12-12.9-21.3-25.2-21.3c-14.3 0-25.6 12.3-22.8 26.3c6.6 33.3 19.7 64.3 37.9 91.6zM400.4 77.6c10.1-10.1 9.4-26.8-2.5-34.7c-27.3-18.2-58.3-31.3-91.6-37.9c-14-2.8-26.3 8.5-26.3 22.8c0 12.3 9.3 22.5 21.3 25.2c23.9 5.3 46.2 14.7 66.2 27.4c10.4 6.6 24.2 6 32.9-2.8zm31.2 66.8c12.7 20 22.1 42.3 27.4 66.2c2.7 12 12.9 21.3 25.2 21.3c14.3 0 25.6-12.3 22.8-26.3c-6.6-33.3-19.7-64.3-37.9-91.6c-7.9-11.9-24.6-12.6-34.7-2.5c-8.7 8.7-9.4 22.5-2.8 32.9z\"]\n};\nvar faTrademark = {\n prefix: 'far',\n iconName: 'trademark',\n icon: [640, 512, [8482], \"f25c\", \"M331.4 105.8c-6.1-8.4-17-11.9-26.8-8.7s-16.6 12.4-16.6 22.8V392c0 13.3 10.7 24 24 24s24-10.7 24-24V193.5L444.6 342.2c4.5 6.2 11.7 9.8 19.4 9.8s14.9-3.7 19.4-9.8L592 193.5V392c0 13.3 10.7 24 24 24s24-10.7 24-24V120c0-10.4-6.7-19.6-16.6-22.8s-20.7 .3-26.8 8.7L464 287.3 331.4 105.8zM0 120c0 13.3 10.7 24 24 24h80V392c0 13.3 10.7 24 24 24s24-10.7 24-24V144h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H24C10.7 96 0 106.7 0 120z\"]\n};\nvar faBasketball = {\n prefix: 'far',\n iconName: 'basketball',\n icon: [512, 512, [127936, \"basketball-ball\"], \"f434\", \"M304 458.4c0-.8 0-1.6 0-2.4c0-33.3 10.7-64.1 28.9-89.2l52.2 52.2c-23.5 18.6-51 32.2-81.1 39.4zM256.2 464c-.1 0-.1 0-.2 0c-48.8 0-93.7-16.8-129.1-44.9L256 289.9l42.6 42.6C271.9 366.6 256 409.4 256 456c0 2.7 .1 5.3 .2 8zm76.4-165.4L289.9 256 419.1 126.9C447.2 162.3 464 207.2 464 256c0 .1 0 .1 0 .2c-2.7-.1-5.3-.2-8-.2c-46.6 0-89.4 15.9-123.4 42.6zM458.4 304c-7.1 30.1-20.8 57.7-39.4 81.1l-52.2-52.2c25-18.2 55.9-28.9 89.2-28.9c.8 0 1.6 0 2.4 0zM256 222.1l-42.6-42.6C240.1 145.4 256 102.6 256 56c0-2.7-.1-5.3-.2-8c.1 0 .1 0 .2 0c48.8 0 93.7 16.8 129.1 44.9L256 222.1zm-76.9-76.9L126.9 92.9c23.5-18.6 51-32.2 81.1-39.4c0 .8 0 1.6 0 2.4c0 33.3-10.7 64.1-28.9 89.2zm-33.9 33.9C120.1 197.3 89.3 208 56 208c-.8 0-1.6 0-2.4 0c7.1-30.1 20.8-57.7 39.4-81.1l52.2 52.2zM48 255.8c2.7 .1 5.3 .2 8 .2c46.6 0 89.4-15.9 123.4-42.6L222.1 256 92.9 385.1C64.8 349.7 48 304.8 48 256c0-.1 0-.1 0-.2zM256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512z\"]\n};\nvar faBasketballBall = faBasketball;\nvar faForkKnife = {\n prefix: 'far',\n iconName: 'fork-knife',\n icon: [576, 512, [\"utensils-alt\"], \"f2e6\", \"M467.2 9.6c8 10.6 5.8 25.6-4.8 33.6l-122.7 92c-2.6 2-5.1 4.1-7.4 6.4l-1.9 1.9C318.6 155.3 312 171.3 312 188s6.6 32.7 18.4 44.5l6.5 6.5 0 0 0 0 6.5 6.5C355.3 257.4 371.3 264 388 264s32.7-6.6 44.5-18.4l1.9-1.9c2.3-2.3 4.5-4.8 6.4-7.4l92-122.7c8-10.6 23-12.8 33.6-4.8s12.8 23 4.8 33.6l-92 122.7c-3.3 4.4-7 8.6-10.9 12.6l-1.9 1.9c-20.8 20.8-49 32.5-78.4 32.5c-24.5 0-48.1-8.1-67.3-22.8L105 505c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L286.8 255.3C272.1 236.1 264 212.4 264 188c0-29.4 11.7-57.6 32.5-78.4l1.9-1.9c3.9-3.9 8.1-7.6 12.6-10.9l122.7-92c10.6-8 25.6-5.8 33.6 4.8zM521 55c9.4 9.4 9.4 24.6 0 33.9L405 205c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L487 55c9.4-9.4 24.6-9.4 33.9 0zM382.2 343.9l123 127.4c9.2 9.5 8.9 24.7-.6 33.9s-24.7 8.9-33.9-.6L313.4 341.8l12.1-12.1c17.6 8.5 36.8 13.4 56.7 14.2zM235.6 261.2L48 66.8V83.6c0 52.8 20.9 103.5 58.2 141l70.2 70.6c4.6 4.7 10.3 7.6 16.3 8.8l-36.3 36.3c-5-3.2-9.7-6.9-14-11.3L72.1 258.5C25.9 212 0 149.1 0 83.6V35.2C0 15.8 15.8 0 35.2 0c9.6 0 18.7 3.9 25.3 10.8L232 188.3c0 21.7 5 42.9 14.4 62.1l-10.7 10.7z\"]\n};\nvar faUtensilsAlt = faForkKnife;\nvar faSatelliteDish = {\n prefix: 'far',\n iconName: 'satellite-dish',\n icon: [512, 512, [128225], \"f7c0\", \"M192 24c0 13.3 10.7 24 24 24c137 0 248 111 248 248c0 13.3 10.7 24 24 24s24-10.7 24-24C512 132.5 379.5 0 216 0c-13.3 0-24 10.7-24 24zm24 80c-13.3 0-24 10.7-24 24s10.7 24 24 24c79.5 0 144 64.5 144 144c0 13.3 10.7 24 24 24s24-10.7 24-24c0-106-86-192-192-192zm-7 233l40-40c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-40 40L71 199c-13.5-13.5-35.9-12.3-45.1 4.4C9.4 233.2 0 267.5 0 304C0 418.9 93.1 512 208 512c36.5 0 70.8-9.4 100.6-25.9c16.7-9.2 17.8-31.6 4.4-45.1L209 337zM48 304c0-18.1 3-35.5 8.5-51.6L259.6 455.5C243.5 461 226.1 464 208 464c-88.4 0-160-71.6-160-160z\"]\n};\nvar faBadgeCheck = {\n prefix: 'far',\n iconName: 'badge-check',\n icon: [512, 512, [], \"f336\", \"M200.3 81.5C210.9 61.5 231.9 48 256 48s45.1 13.5 55.7 33.5C317.1 91.7 329 96.6 340 93.2c21.6-6.6 46.1-1.4 63.1 15.7s22.3 41.5 15.7 63.1c-3.4 11 1.5 22.9 11.7 28.2c20 10.6 33.5 31.6 33.5 55.7s-13.5 45.1-33.5 55.7c-10.2 5.4-15.1 17.2-11.7 28.2c6.6 21.6 1.4 46.1-15.7 63.1s-41.5 22.3-63.1 15.7c-11-3.4-22.9 1.5-28.2 11.7c-10.6 20-31.6 33.5-55.7 33.5s-45.1-13.5-55.7-33.5c-5.4-10.2-17.2-15.1-28.2-11.7c-21.6 6.6-46.1 1.4-63.1-15.7S86.6 361.6 93.2 340c3.4-11-1.5-22.9-11.7-28.2C61.5 301.1 48 280.1 48 256s13.5-45.1 33.5-55.7C91.7 194.9 96.6 183 93.2 172c-6.6-21.6-1.4-46.1 15.7-63.1S150.4 86.6 172 93.2c11 3.4 22.9-1.5 28.2-11.7zM256 0c-35.9 0-67.8 17-88.1 43.4c-33-4.3-67.6 6.2-93 31.6s-35.9 60-31.6 93C17 188.2 0 220.1 0 256s17 67.8 43.4 88.1c-4.3 33 6.2 67.6 31.6 93s60 35.9 93 31.6C188.2 495 220.1 512 256 512s67.8-17 88.1-43.4c33 4.3 67.6-6.2 93-31.6s35.9-60 31.6-93C495 323.8 512 291.9 512 256s-17-67.8-43.4-88.1c4.3-33-6.2-67.6-31.6-93s-60-35.9-93-31.6C323.8 17 291.9 0 256 0zM369 209c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-111 111-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L369 209z\"]\n};\nvar faCircleUp = {\n prefix: 'far',\n iconName: 'circle-up',\n icon: [512, 512, [61467, \"arrow-alt-circle-up\"], \"f35b\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM135.1 217.4c-4.5 4.2-7.1 10.1-7.1 16.3c0 12.3 10 22.3 22.3 22.3H208v96c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V256h57.7c12.3 0 22.3-10 22.3-22.3c0-6.2-2.6-12.1-7.1-16.3L269.8 117.5c-3.8-3.5-8.7-5.5-13.8-5.5s-10.1 2-13.8 5.5L135.1 217.4z\"]\n};\nvar faArrowAltCircleUp = faCircleUp;\nvar faSlider = {\n prefix: 'far',\n iconName: 'slider',\n icon: [512, 512, [], \"e252\", \"M352 144c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H320c-8.8 0-16-7.2-16-16V160c0-8.8 7.2-16 16-16h32zM320 96c-35.3 0-64 28.7-64 64V352c0 35.3 28.7 64 64 64h32c35.3 0 64-28.7 64-64V280h72c13.3 0 24-10.7 24-24s-10.7-24-24-24H416V160c0-35.3-28.7-64-64-64H320zM0 256c0 13.3 10.7 24 24 24H224V232H24c-13.3 0-24 10.7-24 24z\"]\n};\nvar faMobileScreenButton = {\n prefix: 'far',\n iconName: 'mobile-screen-button',\n icon: [384, 512, [\"mobile-alt\"], \"f3cd\", \"M64 448c0 8.8 7.2 16 16 16H304c8.8 0 16-7.2 16-16V368H64v80zm0-128H320V64c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16V320zM16 64C16 28.7 44.7 0 80 0H304c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H80c-35.3 0-64-28.7-64-64V64zM192 392a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faMobileAlt = faMobileScreenButton;\nvar faClockOneThirty = {\n prefix: 'far',\n iconName: 'clock-one-thirty',\n icon: [512, 512, [], \"e34f\", \"M48 256a208 208 0 1 1 416 0A208 208 0 1 1 48 256zm464 0A256 256 0 1 0 0 256a256 256 0 1 0 512 0zM280 392V263.3l60-90c7.4-11 4.4-25.9-6.7-33.3s-25.9-4.4-33.3 6.7l-64 96c-2.6 3.9-4 8.6-4 13.3V392c0 13.3 10.7 24 24 24s24-10.7 24-24z\"]\n};\nvar faInboxOut = {\n prefix: 'far',\n iconName: 'inbox-out',\n icon: [512, 512, [128228, \"inbox-arrow-up\"], \"f311\", \"M280 288c0 13.3-10.7 24-24 24s-24-10.7-24-24V81.9l-63 63c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L239 7c9.4-9.4 24.6-9.4 33.9 0L377 111c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-63-63V288zM149.1 405.5L130.3 368H48v96H464V368H381.7l-18.7 37.5C354.8 421.7 338.2 432 320 432H192c-18.2 0-34.8-10.3-42.9-26.5zm24.2-58.9L192 384H320l18.7-37.5c8.1-16.3 24.8-26.5 42.9-26.5H464c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V368c0-26.5 21.5-48 48-48h82.3c18.2 0 34.8 10.3 42.9 26.5z\"]\n};\nvar faInboxArrowUp = faInboxOut;\nvar faCloudSlash = {\n prefix: 'far',\n iconName: 'cloud-slash',\n icon: [640, 512, [], \"e137\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-33.4-26.2C623.6 418.1 640 383 640 344c0-55.7-33.5-103.7-81.5-124.7c1-6.3 1.5-12.8 1.5-19.3c0-66.3-53.7-120-120-120c-17.4 0-33.8 3.7-48.7 10.3C360.4 54.6 314.9 32 264 32c-48.5 0-92.1 20.5-122.8 53.4L38.8 5.1zm140.4 110C200.9 93.4 230.9 80 264 80c36.3 0 68.8 16.1 90.9 41.7c13.8 16 36.5 21.1 55.9 12.5c8.9-3.9 18.7-6.2 29.2-6.2c39.8 0 72 32.2 72 72c0 4-.3 7.9-.9 11.7c-3.5 21.6 8.1 42.9 28.1 51.7C570.4 276.9 592 308 592 344c0 27.8-12.9 52.6-33.1 68.8L179.2 115.1zM487.4 480l-60.9-48H144c-53 0-96-43-96-96c0-41.7 26.6-77.3 64-90.5c16.4-5.8 28.2-19.9 31.2-36.6L98.1 173.3C96.7 182 96 190.9 96 200l0 .2C40.1 220 0 273.3 0 336c0 79.5 64.5 144 144 144H464h23.4z\"]\n};\nvar faVolumeHigh = {\n prefix: 'far',\n iconName: 'volume-high',\n icon: [640, 512, [128266, \"volume-up\"], \"f028\", \"M533.6 32.5c-10.3-8.4-25.4-6.8-33.8 3.5s-6.8 25.4 3.5 33.8C557.5 113.8 592 180.8 592 256s-34.5 142.2-88.7 186.3c-10.3 8.4-11.8 23.5-3.5 33.8s23.5 11.8 33.8 3.5C598.5 426.7 640 346.2 640 256s-41.5-170.8-106.4-223.5zM473.1 107c-10.3-8.4-25.4-6.8-33.8 3.5s-6.8 25.4 3.5 33.8C475.3 170.7 496 210.9 496 256s-20.7 85.3-53.2 111.8c-10.3 8.4-11.8 23.5-3.5 33.8s23.5 11.8 33.8 3.5c43.2-35.2 70.9-88.9 70.9-149s-27.7-113.8-70.9-149zm-60.5 74.5c-10.3-8.4-25.4-6.8-33.8 3.5s-6.8 25.4 3.5 33.8C393.1 227.6 400 241 400 256s-6.9 28.4-17.7 37.3c-10.3 8.4-11.8 23.5-3.5 33.8s23.5 11.8 33.8 3.5C434.1 312.9 448 286.1 448 256s-13.9-56.9-35.4-74.5zM159.9 201.9L272 102.3V409.7L159.9 310.1c-4.4-3.9-10.1-6.1-15.9-6.1H56c-4.4 0-8-3.6-8-8V216c0-4.4 3.6-8 8-8h88c5.9 0 11.6-2.2 15.9-6.1zM290.2 32c-7.3 0-14.3 2.7-19.8 7.5L134.9 160H56c-30.9 0-56 25.1-56 56v80c0 30.9 25.1 56 56 56h78.9L270.4 472.5c5.5 4.9 12.5 7.5 19.8 7.5c16.5 0 29.8-13.3 29.8-29.8V61.8C320 45.3 306.7 32 290.2 32z\"]\n};\nvar faVolumeUp = faVolumeHigh;\nvar faUsersRays = {\n prefix: 'far',\n iconName: 'users-rays',\n icon: [640, 512, [], \"e593\", \"M7 7C16.4-2.3 31.6-2.3 41 7l72 72c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L7 41C-2.3 31.6-2.3 16.4 7 7zM633 7c9.4 9.4 9.4 24.6 0 33.9l-72 72c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L599 7c9.4-9.4 24.6-9.4 33.9 0zM41 505c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l72-72c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L41 505zm592 0c-9.4 9.4-24.6 9.4-33.9 0l-72-72c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l72 72c9.4 9.4 9.4 24.6 0 33.9zM320 208a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm-51.6 82c6.3-1.3 12.9-2 19.6-2h32 32c6.7 0 13.3 .7 19.6 2c1.1 .2 2.2 .5 3.3 .7c23.6 5.8 43.8 20.3 56.9 39.9c1.2 1.7 2.3 3.5 3.3 5.4c8.2 14.1 12.8 30.5 12.8 48c0 17.7-14.3 32-32 32H224c-17.7 0-32-14.3-32-32c0-17.5 4.7-33.9 12.8-48c12.9-22.3 34.6-39 60.3-45.3c1.1-.3 2.2-.5 3.3-.7zm96.2-162.6A72 72 0 1 1 275.4 240.5a72 72 0 1 1 89.2-113.1zM397.3 368c-6.6-18.6-24.4-32-45.3-32H288c-20.9 0-38.7 13.4-45.3 32H397.3zM127.8 176a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM96 309.3c0-29.5 23.9-53.3 53.3-53.3h69.3c9.8 0 18.9 2.6 26.8 7.2c-34.6 12.2-62.5 38.9-76.2 72.8H122.7C107.9 336 96 324.1 96 309.3zM470.7 336c-13.7-33.9-41.5-60.6-76.2-72.8c7.9-4.6 17-7.2 26.8-7.2h69.3c29.5 0 53.3 23.9 53.3 53.3c0 14.7-11.9 26.7-26.7 26.7H470.7zM416 176a48 48 0 1 1 96 0 48 48 0 1 1 -96 0z\"]\n};\nvar faWallet = {\n prefix: 'far',\n iconName: 'wallet',\n icon: [512, 512, [], \"f555\", \"M88 32C39.4 32 0 71.4 0 120V392c0 48.6 39.4 88 88 88H424c48.6 0 88-39.4 88-88V216c0-48.6-39.4-88-88-88H120c-13.3 0-24 10.7-24 24s10.7 24 24 24H424c22.1 0 40 17.9 40 40V392c0 22.1-17.9 40-40 40H88c-22.1 0-40-17.9-40-40V120c0-22.1 17.9-40 40-40H456c13.3 0 24-10.7 24-24s-10.7-24-24-24H88zM384 336a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faOctagonCheck = {\n prefix: 'far',\n iconName: 'octagon-check',\n icon: [512, 512, [], \"e426\", \"M191.5 48.1c-6.4 0-12.5 2.5-17 7L55.1 174.5c-4.5 4.5-7 10.6-7 17v129c0 6.4 2.5 12.5 7 17L21.2 371.4C7.7 357.9 .1 339.6 .1 320.5v-129c0-19.1 7.6-37.4 21.1-50.9L140.6 21.2C154.1 7.7 172.4 .1 191.5 .1h129c19.1 0 37.4 7.6 50.9 21.1L490.8 140.6c13.5 13.5 21.1 31.8 21.1 50.9v129c0 19.1-7.6 37.4-21.1 50.9L371.4 490.8c-13.5 13.5-31.8 21.1-50.9 21.1h-129c-19.1 0-37.4-7.6-50.9-21.1L21.2 371.4l33.9-33.9L174.5 456.9c4.5 4.5 10.6 7 17 7h129c6.4 0 12.5-2.5 17-7L456.9 337.5c4.5-4.5 7-10.6 7-17v-129c0-6.4-2.5-12.5-7-17L337.5 55.1c-4.5-4.5-10.6-7-17-7h-129zM369 209L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\"]\n};\nvar faFlatbreadStuffed = {\n prefix: 'far',\n iconName: 'flatbread-stuffed',\n icon: [576, 512, [129369], \"e40c\", \"M272.2 4c-12.8-7-28.7-4.5-38.7 6.1L186.6 59.9c-4.6 4.9-10.5 8.2-17.1 9.5L102.4 82.7c-14.3 2.8-24.9 15-25.7 29.6l-3.8 68.3c-.4 6.7-2.8 13-7 18.2L23.1 252.1c-9.1 11.4-9.4 27.5-.7 39.2l40.9 54.8c4 5.3 6.2 11.8 6.4 18.5l.9 41.2c2.6-4.9 5.9-9.4 9.9-13.3l55.9-55.9C121.1 316.3 112 291.2 112 264c0-66.3 53.7-120 120-120c27.2 0 52.3 9.1 72.5 24.3L424.4 48.4c4.6-4.6 10-8.3 15.8-11.1c-6.1-3.9-13.4-5.7-21-4.8l-67.9 8.1c-6.6 .8-13.3-.5-19.2-3.7L272.2 4zM159.3 313.5L281.5 191.3C267.4 181.6 250.4 176 232 176c-48.6 0-88 39.4-88 88c0 18.4 5.6 35.4 15.3 49.5zM275 243l-86 86-86 86c-4.8 4.8-7.4 11.5-7 18.3s3.7 13.2 9 17.4C150.8 487.1 207.3 512 272 512c150.2 0 272-121.8 272-272c0-64.7-24.9-121.2-61.2-166.9c-4.3-5.4-10.6-8.6-17.4-9s-13.5 2.2-18.3 7l-43 43-43 43-86 86zM395 191l43-43 23-23c21.8 34 35 72.7 35 115c0 123.7-100.3 224-224 224c-42.4 0-81-13.2-115-35l66-66 86-86 86-86zM296 400a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm72-8a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faClipboardCheck = {\n prefix: 'far',\n iconName: 'clipboard-check',\n icon: [384, 512, [], \"f46c\", \"M320 64H280h-9.6C263 27.5 230.7 0 192 0s-71 27.5-78.4 64H104 64C28.7 64 0 92.7 0 128V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64zM80 112v24c0 13.3 10.7 24 24 24h88 88c13.3 0 24-10.7 24-24V112h16c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V128c0-8.8 7.2-16 16-16H80zm88-32a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM289 267.6c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-89.7 89.7L129 287c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l53.3 53.3c9.4 9.4 24.6 9.4 33.9 0L289 267.6z\"]\n};\nvar faCartCirclePlus = {\n prefix: 'far',\n iconName: 'cart-circle-plus',\n icon: [640, 512, [], \"e3f3\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48H69.5c3.8 0 7.1 2.7 7.9 6.5l51.6 271c6.5 34 36.2 58.5 70.7 58.5h121c-.5-5.3-.7-10.6-.7-16c0-10.9 1-21.6 2.9-32H199.7c-11.5 0-21.4-8.2-23.6-19.5L170.7 288H339.2c9.2-18 21.4-34.2 36-48H161.6L131.1 80H520.7L490.5 192.1c1.8-.1 3.7-.1 5.5-.1c14.8 0 29.1 1.8 42.8 5.2L569.7 82.4C576.6 57 557.4 32 531.1 32h-411C111 12.8 91.6 0 69.5 0H24zM176 512a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM352 368a144 144 0 1 0 288 0 144 144 0 1 0 -288 0zm208 16H512v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V384H432c-8.8 0-16-7.2-16-16s7.2-16 16-16h48V304c0-8.8 7.2-16 16-16s16 7.2 16 16v48h48c8.8 0 16 7.2 16 16s-7.2 16-16 16z\"]\n};\nvar faTruckClock = {\n prefix: 'far',\n iconName: 'truck-clock',\n icon: [640, 512, [\"shipping-timed\"], \"f48c\", \"M64 48c-8.8 0-16 7.2-16 16V352c0 8.8 7.2 16 16 16H76.8c16.6-28.7 47.6-48 83.2-48s66.6 19.3 83.2 48H320h32c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H64zM480 512c-53 0-96-43-96-96h-8H352 320 256c0 53-43 96-96 96s-96-43-96-96c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H352c35.3 0 64 28.7 64 64V96h42.7c14.9 0 29.1 5.9 39.6 16.4l93.3 93.3c10.5 10.5 16.4 24.7 16.4 39.6V368h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H576c0 53-43 96-96 96zm78-272c-.1-.1-.2-.3-.4-.4l-93.3-93.3c-1.5-1.5-3.5-2.3-5.7-2.3H416v96H558zM160 464a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm368-48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM96 192a112 112 0 1 1 224 0A112 112 0 1 1 96 192zm112-64c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H224V144c0-8.8-7.2-16-16-16z\"]\n};\nvar faShippingTimed = faTruckClock;\nvar faPool8Ball = {\n prefix: 'far',\n iconName: 'pool-8-ball',\n icon: [512, 512, [], \"e3c5\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm120-56a136 136 0 1 1 272 0 136 136 0 1 1 -272 0zm173.3-25.8C300 166 304 155.5 304 144c0-26.5-21.5-48-48-48s-48 21.5-48 48c0 11.5 4 22 10.7 30.2C207.2 184.5 200 199.4 200 216c0 30.9 25.1 56 56 56s56-25.1 56-56c0-16.6-7.2-31.5-18.7-41.8zM240 144a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm16 48a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faFileAudio = {\n prefix: 'far',\n iconName: 'file-audio',\n icon: [384, 512, [], \"f1c7\", \"M64 464H320c8.8 0 16-7.2 16-16V160H256c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16zM0 64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM192 272V400c0 6.5-3.9 12.3-9.9 14.8s-12.9 1.1-17.4-3.5L129.4 376H112c-8.8 0-16-7.2-16-16V312c0-8.8 7.2-16 16-16h17.4l35.3-35.3c4.6-4.6 11.5-5.9 17.4-3.5s9.9 8.3 9.9 14.8zm85.8-4c11.6 20 18.2 43.3 18.2 68s-6.6 48-18.2 68c-6.6 11.5-21.3 15.4-32.8 8.8s-15.4-21.3-8.8-32.8c7.5-12.9 11.8-27.9 11.8-44s-4.3-31.1-11.8-44c-6.6-11.5-2.7-26.2 8.8-32.8s26.2-2.7 32.8 8.8z\"]\n};\nvar faTurnDownLeft = {\n prefix: 'far',\n iconName: 'turn-down-left',\n icon: [512, 512, [], \"e331\", \"M6.5 271.6c-8.7 9.2-8.7 23.7 0 32.9l121.4 129c8.8 9.3 21 14.6 33.7 14.6c25.6 0 46.3-20.7 46.3-46.3l0-41.7 144 0c88.4 0 160-71.6 160-160l0-112c0-30.9-25.1-56-56-56l-32 0c-30.9 0-56 25.1-56 56l0 120c0 4.4-3.6 8-8 8l-152 0 0-41.7c0-25.6-20.7-46.3-46.3-46.3c-12.8 0-25 5.3-33.7 14.6L6.5 271.6zm153.5-93l0 61.5c0 13.3 10.7 24 24 24l176 0c30.9 0 56-25.1 56-56l0-120c0-4.4 3.6-8 8-8l32 0c4.4 0 8 3.6 8 8l0 112c0 61.9-50.1 112-112 112l-168 0c-13.3 0-24 10.7-24 24l0 61.5L57 288 160 178.5z\"]\n};\nvar faLockHashtag = {\n prefix: 'far',\n iconName: 'lock-hashtag',\n icon: [448, 512, [], \"e423\", \"M144 128v32H304V128c0-44.2-35.8-80-80-80s-80 35.8-80 80zM96 160V128C96 57.3 153.3 0 224 0s128 57.3 128 128v32h32c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V224c0-35.3 28.7-64 64-64H96zm0 48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V224c0-8.8-7.2-16-16-16H352 304 144 96zm88 16c13.3 0 24 10.7 24 24v24h32V248c0-13.3 10.7-24 24-24s24 10.7 24 24v24h24c13.3 0 24 10.7 24 24s-10.7 24-24 24H288v32h24c13.3 0 24 10.7 24 24s-10.7 24-24 24H288v24c0 13.3-10.7 24-24 24s-24-10.7-24-24V400H208v24c0 13.3-10.7 24-24 24s-24-10.7-24-24V400H136c-13.3 0-24-10.7-24-24s10.7-24 24-24h24V320H136c-13.3 0-24-10.7-24-24s10.7-24 24-24h24V248c0-13.3 10.7-24 24-24zm24 128h32V320H208v32z\"]\n};\nvar faChartRadar = {\n prefix: 'far',\n iconName: 'chart-radar',\n icon: [512, 512, [], \"e0e7\", \"M17.1 220c-12.9 22.3-12.9 49.7 0 72l88.3 152.9c12.9 22.3 36.6 36 62.4 36H344.3c25.7 0 49.5-13.7 62.4-36L494.9 292c12.9-22.3 12.9-49.7 0-72L406.6 67.1c-12.9-22.3-36.6-36-62.4-36H167.7c-25.7 0-49.5 13.7-62.4 36L17.1 220zm41.6 48c-4.3-7.4-4.3-16.6 0-24L146.9 91.1c4.3-7.4 12.2-12 20.8-12l176.6 0c8.6 0 16.5 4.6 20.8 12L453.4 244c4.3 7.4 4.3 16.6 0 24L365.1 420.9c-4.3 7.4-12.2 12-20.8 12H167.7c-8.6 0-16.5-4.6-20.8-12L58.6 268zm231.5-87.2c3.7-6.1 5.8-13.2 5.8-20.8c0-22.1-17.9-40-40-40s-40 17.9-40 40c0 3.9 .6 7.7 1.6 11.2L160 248c-22.1 0-40 17.9-40 40s17.9 40 40 40c10.2 0 19.6-3.9 26.7-10.2l97.2 19.4c6.4 13.5 20.2 22.7 36.1 22.7c22.1 0 40-17.9 40-40c0-18.5-12.6-34.1-29.6-38.6L290.2 180.8zM202 271.9l47.5-63.4 31.7 79.2L202 271.9z\"]\n};\nvar faStaff = {\n prefix: 'far',\n iconName: 'staff',\n icon: [512, 512, [], \"f71b\", \"M238.8 57.5C256.4 22.3 292.4 0 331.8 0H408c57.4 0 104 46.6 104 104V207.9c0 42.8-26.1 80.8-65.1 96.5l-17.3 30.7c-4.3 7.7-14.1 10.4-21.8 6.1l-29.4-16.6L253.7 360.1 122.9 490.9C94.8 519 49.2 519 21.1 490.9l16.8-16.8L21.1 490.9C-7 462.8-7 417.2 21.1 389.1L96 314.2V288c0-8.8 7.2-16 16-16h26.2l21-21c12.5-12.5 28-21.6 45-26.5L368 177.7V144H355.9c-19.8 29.8-59.2 40.8-92.1 24.4c-35.6-17.8-50-61-32.2-96.6l7.2-14.3zm93-9.5c-21.2 0-40.6 12-50.1 31l-7.2 14.3c-5.9 11.9-1.1 26.3 10.7 32.2s26.3 1.1 32.2-10.7l2.7-5.5c4.1-8.1 12.4-13.3 21.5-13.3H392c13.3 0 24 10.7 24 24v75.8c0 10.7-7.1 20.1-17.4 23.1L217.4 270.6c-9.2 2.6-17.5 7.5-24.2 14.2L55 423c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L224.2 321.8c2.9-2.9 6.5-5 10.4-6.1l188.8-54c24-6.9 40.6-28.8 40.6-53.8V104c0-30.9-25.1-56-56-56H331.8z\"]\n};\nvar faBurger = {\n prefix: 'far',\n iconName: 'burger',\n icon: [512, 512, [\"hamburger\"], \"f805\", \"M396.5 134.9c-7.7-8.5-17-17.1-28.6-24.9c.1 .6 .1 1.3 .1 2c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-6.5 3.8-12 9.3-14.6c-19.9-9.1-44.5-15.6-75.3-17.1c1.2 2.3 1.9 4.9 1.9 7.7c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-2.8 .7-5.4 1.9-7.7c-30.7 1.5-55.4 8-75.3 17.1c5.5 2.5 9.3 8.1 9.3 14.6c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-.7 0-1.3 .1-2c-11.6 7.8-21 16.4-28.6 24.9c-12.8 14.2-21.5 29-27.1 41.1H423.6c-5.7-12.1-14.3-26.9-27.1-41.1zM450.9 224H61.1C45 224 32 211 32 194.9c0-1.9 .2-3.7 .6-5.6C37.9 168.3 78.8 32 256 32s218.1 136.3 223.4 157.3c.5 1.9 .6 3.7 .6 5.6c0 16.1-13 29.1-29.1 29.1zM128 432H384c20.9 0 38.7-13.4 45.3-32H82.7c6.6 18.6 24.4 32 45.3 32zM32 384c0-17.7 14.3-32 32-32H448c17.7 0 32 14.3 32 32c0 53-43 96-96 96H128c-53 0-96-43-96-96zM16 288c0-17.7 14.3-32 32-32H464c17.7 0 32 14.3 32 32s-14.3 32-32 32H48c-17.7 0-32-14.3-32-32z\"]\n};\nvar faHamburger = faBurger;\nvar faUtilityPole = {\n prefix: 'far',\n iconName: 'utility-pole',\n icon: [512, 512, [], \"e2c3\", \"M280 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V80H128V56c0-13.3-10.7-24-24-24S80 42.7 80 56V80H64.2c-.2 0-.3 0-.5 0H48V56c0-13.3-10.7-24-24-24S0 42.7 0 56V88c0 22.1 17.9 40 40 40H83.2L232 227.2V296 488c0 13.3 10.7 24 24 24s24-10.7 24-24V296 227.2L428.8 128H472c22.1 0 40-17.9 40-40V56c0-13.3-10.7-24-24-24s-24 10.7-24 24V80H448.2c-.2 0-.3 0-.5 0H432V56c0-13.3-10.7-24-24-24s-24 10.7-24 24V80H280V24zm91.2 104L280 188.8V128h91.2zM232 188.8L140.8 128H232v60.8z\"]\n};\nvar faTransporter6 = {\n prefix: 'far',\n iconName: 'transporter-6',\n icon: [512, 512, [], \"e2a7\", \"M56.7 6.6L64 32l25.4 7.3C93.3 40.4 96 43.9 96 48s-2.7 7.6-6.6 8.7L64 64 56.7 89.4C55.6 93.3 52.1 96 48 96s-7.6-2.7-8.7-6.6L32 64 6.6 56.7C2.7 55.6 0 52.1 0 48s2.7-7.6 6.6-8.7L32 32 39.3 6.6C40.4 2.7 43.9 0 48 0s7.6 2.7 8.7 6.6zm416 352L480 384l25.4 7.3c3.9 1.1 6.6 4.7 6.6 8.7s-2.7 7.6-6.6 8.7L480 416l-7.3 25.4c-1.1 3.9-4.7 6.6-8.7 6.6s-7.6-2.7-8.7-6.6L448 416l-25.4-7.3c-3.9-1.1-6.6-4.7-6.6-8.7s2.7-7.6 6.6-8.7L448 384l7.3-25.4c1.1-3.9 4.7-6.6 8.7-6.6s7.6 2.7 8.7 6.6zM96 488c0-13.3 10.7-24 24-24H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24zM224 0h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H224c-8.8 0-16-7.2-16-16s7.2-16 16-16zM112 256H400c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faArrowTurnLeft = {\n prefix: 'far',\n iconName: 'arrow-turn-left',\n icon: [512, 512, [], \"e632\", \"M135 369c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-87-87H424c22.1 0 40 17.9 40 40V456c0 13.3 10.7 24 24 24s24-10.7 24-24V288c0-48.6-39.4-88-88-88H81.9l87-87c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L7 207c-9.4 9.4-9.4 24.6 0 33.9L135 369z\"]\n};\nvar faWrench = {\n prefix: 'far',\n iconName: 'wrench',\n icon: [512, 512, [128295], \"f0ad\", \"M322.3 268c9.4 2.6 19.3 4 29.7 4c60.5 0 109.8-48 111.9-108l-25.3 25.3c-12 12-28.3 18.7-45.3 18.7H368c-35.3 0-64-28.7-64-64V118.6c0-17 6.7-33.3 18.7-45.3l0 0L348 48.1C288 50.1 240 99.5 240 160c0 10.3 1.4 20.3 4 29.7c4.6 16.6-.2 34.4-12.4 46.6L57.1 410.7c-5.9 5.8-9.1 13.8-9.1 22.1C48 450 62 464 79.2 464c8.3 0 16.2-3.3 22.1-9.1L275.7 280.4c12.2-12.2 30-16.9 46.6-12.4zM424.6 39.4l-67.9 67.9c-3 3-4.7 7.1-4.7 11.3V144c0 8.8 7.2 16 16 16h25.4c4.2 0 8.3-1.7 11.3-4.7l67.9-67.9c7.2-7.2 19.3-5.9 23.7 3.3c10.1 21 15.7 44.5 15.7 69.3c0 88.4-71.6 160-160 160c-14.7 0-28.9-2-42.3-5.7L135.2 488.8c-14.9 14.9-35 23.2-56 23.2C35.5 512 0 476.5 0 432.8c0-21 8.3-41.1 23.2-56L197.7 202.3C194 188.9 192 174.7 192 160C192 71.6 263.6 0 352 0c24.8 0 48.3 5.7 69.3 15.7c9.2 4.4 10.5 16.5 3.3 23.7zM88 408a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faBugs = {\n prefix: 'far',\n iconName: 'bugs',\n icon: [576, 512, [], \"e4d0\", \"M164.5 107.4l33.4-73.5c5.5-12.1 .1-26.3-11.9-31.8s-26.3-.1-31.8 11.9L128 71.7 101.9 14.1C96.4 2 82.1-3.3 70.1 2.1S52.7 21.9 58.1 33.9l33.4 73.5c-10.2 7.1-18.2 17-22.9 28.6h-17l-4.1-20.7c-2.6-13-15.2-21.4-28.2-18.8S-2.1 111.7 .5 124.7l8 40C10.7 175.9 20.6 184 32 184H64v23.3l-37.8 9.5c-9.5 2.4-16.6 10.2-17.9 19.9l-8 56c-1.9 13.1 7.2 25.3 20.4 27.2s25.3-7.2 27.2-20.4l5.7-40 18.4-4.6C82.7 274.6 103.8 288 128 288s45.3-13.4 56.1-33.2l18.4 4.6 5.7 40c1.9 13.1 14 22.2 27.2 20.4s22.2-14 20.4-27.2l-8-56c-1.4-9.7-8.5-17.5-17.9-19.9L192 207.3V184h32c11.4 0 21.3-8.1 23.5-19.3l8-40c2.6-13-5.8-25.6-18.8-28.2s-25.6 5.8-28.2 18.8L204.3 136h-17c-4.7-11.6-12.7-21.5-22.9-28.6zM496 286.5l65.6-47c10.8-7.7 13.3-22.7 5.6-33.5s-22.7-13.3-33.5-5.6l-51.4 36.8 6.1-62.9c1.3-13.2-8.4-24.9-21.6-26.2s-24.9 8.4-26.2 21.6L432.8 250c-12.3 1-24.2 5.6-34.1 13.3L384 254.8l6.8-20c4.2-12.6-2.5-26.2-15-30.4s-26.2 2.5-30.4 15l-13.1 38.6c-3.7 10.8 .8 22.8 10.7 28.5l27.7 16L359 322.7 321.5 312c-9.4-2.7-19.5 .6-25.5 8.3l-34.9 44.5c-8.2 10.4-6.4 25.5 4.1 33.7s25.5 6.4 33.7-4.1l25-31.8 18.2 5.2c-.5 22.6 11 44.7 32 56.8s45.9 11 65.2-.7l13.6 13.2-15.1 37.5c-4.9 12.3 1 26.3 13.3 31.2s26.3-1 31.2-13.3L503.5 440c3.6-9.1 1.4-19.4-5.6-26.2l-28-27.1 11.6-20.1 27.7 16c9.9 5.7 22.5 3.7 30-4.9L566.2 347c8.7-10 7.8-25.1-2.2-33.9s-25.1-7.8-33.9 2.2l-13.9 15.9-14.7-8.5c1.7-12.4-.2-25-5.5-36.2zM144 224c0 8.8-7.2 16-16 16s-16-7.2-16-16V160c0-8.8 7.2-16 16-16s16 7.2 16 16v64zm307.9 97.8l-32 55.4c-4.4 7.7-14.2 10.3-21.9 5.9s-10.3-14.2-5.9-21.9l32-55.4c4.4-7.7 14.2-10.3 21.9-5.9s10.3 14.2 5.9 21.9z\"]\n};\nvar faVectorPolygon = {\n prefix: 'far',\n iconName: 'vector-polygon',\n icon: [448, 512, [], \"e2c7\", \"M360 72h48v48H360V72zm-8-40c-17.7 0-32 14.3-32 32v8H128V64c0-17.7-14.3-32-32-32H32C14.3 32 0 46.3 0 64v64c0 17.7 14.3 32 32 32h8l0 192H32c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H96c17.7 0 32-14.3 32-32v-8H320v8c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V384c0-17.7-14.3-32-32-32H373.6l-27.4-45.6c3.7-5.2 5.8-11.5 5.8-18.4V224c0-6.8-2.1-13.2-5.8-18.4L373.6 160H416c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H352zM298.4 320l27.4 45.6c-3.7 5.2-5.8 11.5-5.8 18.4v8H128v-8c0-17.7-14.3-32-32-32H88l0-192h8c17.7 0 32-14.3 32-32v-8H320v8c0 6.8 2.1 13.2 5.8 18.4L298.4 192H256c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32h42.4zM40 440V392H88v48H40zm320 0V392h48v48H360zM40 120V72H88v48H40zM264 232h48v48H264V232z\"]\n};\nvar faDiagramNested = {\n prefix: 'far',\n iconName: 'diagram-nested',\n icon: [448, 512, [], \"e157\", \"M144 80v96H48V80h96zM48 32C21.5 32 0 53.5 0 80v96c0 26.5 21.5 48 48 48H72v96c0 48.6 39.4 88 88 88h96v24c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V336c0-26.5-21.5-48-48-48H304c-26.5 0-48 21.5-48 48v24H160c-22.1 0-40-17.9-40-40V224h24c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H48zM400 336v96H304V336h96z\"]\n};\nvar faRupeeSign = {\n prefix: 'far',\n iconName: 'rupee-sign',\n icon: [448, 512, [8360, \"rupee\"], \"f156\", \"M0 56C0 42.7 10.7 32 24 32h96c75.1 0 136 60.9 136 136c0 59.4-38.1 109.9-91.1 128.4l57.5 151c4.7 12.4-1.5 26.3-13.9 31s-26.3-1.5-31-13.9L116.4 304H48V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V280 56zM48 256h72c48.6 0 88-39.4 88-88s-39.4-88-88-88H48V256zm264.6 10.4c-1.2 7.9-.2 12.8 1 15.9s3.5 6.2 7.5 9.4c9.2 7.4 23.3 12.5 43.1 19.6l.8 .3c17.4 6.2 40 14.2 56.7 28.5c9 7.7 16.8 17.6 21.5 30.4c4.7 12.7 5.7 26.7 3.5 41.9c-3.9 26.6-19.1 46.5-41 57.6c-21 10.6-46.4 12.3-71.6 7.6l-.2 0 0 0c-9-1.7-20.2-5.7-29.5-9.2c-6.3-2.4-13-5.1-18.5-7.3l0 0 0 0c-2.7-1.1-5-2-6.9-2.8c-12.3-4.8-18.4-18.8-13.6-31.1s18.8-18.4 31.1-13.6c2.6 1 5.3 2.1 8.2 3.3l0 0 0 0c5.1 2.1 10.7 4.3 16.7 6.6c9.4 3.5 17 6 21.5 6.9c18.1 3.3 32.1 1.2 41.2-3.3c8.1-4.1 13.5-10.7 15.1-21.7c1.3-8.8 .4-14.5-1-18.3c-1.4-3.8-3.8-7.1-7.7-10.5c-9-7.7-22.9-13.1-42.4-20l-2.9-1c-16.8-5.9-38.1-13.5-54.1-26.2c-9-7.2-17.1-16.6-22.1-29s-6.2-26.1-4-40.8c7.8-52.8 62.2-74.5 112.6-65.2c7.1 1.3 28.4 6.1 36.5 8.7c12.6 4 19.7 17.4 15.7 30.1s-17.4 19.7-30.1 15.7c-5.5-1.7-24.7-6.1-30.8-7.3c-36.3-6.7-54.2 10.2-56.4 25z\"]\n};\nvar faRupee = faRupeeSign;\nvar faFileImage = {\n prefix: 'far',\n iconName: 'file-image',\n icon: [384, 512, [128443], \"f1c5\", \"M64 464c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zm96 256a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm69.2 46.9c-3-4.3-7.9-6.9-13.2-6.9s-10.2 2.6-13.2 6.9l-41.3 59.7-11.9-19.1c-2.9-4.7-8.1-7.5-13.6-7.5s-10.6 2.8-13.6 7.5l-40 64c-3.1 4.9-3.2 11.1-.4 16.2s8.2 8.2 14 8.2h48 32 40 72c6 0 11.4-3.3 14.2-8.6s2.4-11.6-1-16.5l-72-104z\"]\n};\nvar faCircleQuestion = {\n prefix: 'far',\n iconName: 'circle-question',\n icon: [512, 512, [62108, \"question-circle\"], \"f059\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm169.8-90.7c7.9-22.3 29.1-37.3 52.8-37.3h58.3c34.9 0 63.1 28.3 63.1 63.1c0 22.6-12.1 43.5-31.7 54.8L280 264.4c-.2 13-10.9 23.6-24 23.6c-13.3 0-24-10.7-24-24V250.5c0-8.6 4.6-16.5 12.1-20.8l44.3-25.4c4.7-2.7 7.6-7.7 7.6-13.1c0-8.4-6.8-15.1-15.1-15.1H222.6c-3.4 0-6.4 2.1-7.5 5.3l-.4 1.2c-4.4 12.5-18.2 19-30.6 14.6s-19-18.2-14.6-30.6l.4-1.2zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faQuestionCircle = faCircleQuestion;\nvar faTicketsPerforated = {\n prefix: 'far',\n iconName: 'tickets-perforated',\n icon: [640, 512, [], \"e63f\", \"M160 80H576c8.8 0 16 7.2 16 16v38.2c-24 15.7-40 42.8-40 73.8s16 58.1 40 73.8V320c0 8.8-7.2 16-16 16H160c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16zM96 96V320c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V264c0-8.8-7.4-15.7-15.6-19.1C610.1 238.8 600 224.6 600 208s10.1-30.8 24.4-36.9c8.1-3.4 15.6-10.3 15.6-19.1V96c0-35.3-28.7-64-64-64H160c-35.3 0-64 28.7-64 64zm400 32a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm0 64a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm16 48a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-16 80a16 16 0 1 0 0-32 16 16 0 1 0 0 32zM48 120c0-13.3-10.7-24-24-24S0 106.7 0 120V360c0 66.3 53.7 120 120 120H520c13.3 0 24-10.7 24-24s-10.7-24-24-24H120c-39.8 0-72-32.2-72-72V120z\"]\n};\nvar faImageUser = {\n prefix: 'far',\n iconName: 'image-user',\n icon: [512, 512, [], \"e1b8\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm192 96a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM144 356.6c0-37.9 30.7-68.6 68.6-68.6h86.9c37.9 0 68.6 30.7 68.6 68.6c0 15.1-12.3 27.4-27.4 27.4H171.4c-15.1 0-27.4-12.3-27.4-27.4z\"]\n};\nvar faBuoy = {\n prefix: 'far',\n iconName: 'buoy',\n icon: [576, 512, [], \"e5b5\", \"M184 0c-13.3 0-24 10.7-24 24s10.7 24 24 24h12.1L142.2 304H96c-17.7 0-32 14.3-32 32v16c0 13.3 1.8 26.1 5.2 38.3c15.8-7.3 33.9-7.9 50.2-1.5c-4.7-11.3-7.3-23.8-7.3-36.8H464c0 13.1-2.6 25.5-7.3 36.9c16.2-6.4 34.4-5.8 50.2 1.5c3.4-12.2 5.2-25.1 5.2-38.3V336c0-17.7-14.3-32-32-32H433.8L379.9 48H392c13.3 0 24-10.7 24-24s-10.7-24-24-24H184zM330.8 48l11.9 56.6L288 168.5l-54.8-63.9L245.2 48h85.7zM220.8 163.8l35.6 41.5-58.8 68.6 23.2-110.1zM288 242.2L341 304H235l53-61.8zm90.4 31.7l-58.8-68.6 35.6-41.5 23.2 110.1zM111.9 430.1c-9.1-8.1-22.8-8.1-31.9 0C62.8 445 41 456.8 18.8 461.8C5.9 464.7-2.3 477.5 .6 490.5s15.7 21.1 28.7 18.2C58 502.2 81.6 488.2 96 478.2c28.1 19.5 61.4 33.8 96 33.8s67.9-14.3 96-33.8c28.1 19.5 61.4 33.8 96 33.8s67.9-14.3 96-33.8c14.4 10 38 24 66.7 30.4c12.9 2.9 25.8-5.2 28.7-18.2s-5.2-25.8-18.2-28.7c-22-4.9-44.3-16.7-61.3-31.8c-9.1-8.1-22.8-8.1-31.9 0c-21.6 18.6-51.2 33.9-80 33.9s-58.5-15.3-80-33.9c-9.1-8.1-22.8-8.1-31.9 0c-21.5 18.6-51.2 33.9-80 33.9s-58.5-15.3-80-33.9z\"]\n};\nvar faPlaneDeparture = {\n prefix: 'far',\n iconName: 'plane-departure',\n icon: [640, 512, [128747], \"f5b0\", \"M154.5 87.6c9.2-3.8 19.4-4.1 28.8-.8L369 152.8c6.3 2.2 13.2 1.7 19.2-1.4l83.1-43.5c14.9-7.8 31.4-11.9 48.3-11.9h50.8c11.2 0 18.6 11.6 13.9 21.8c-17.2 36.8-46 67-81.9 85.8L251.8 335.1c-1.1 .6-2.4 .9-3.7 .9H126.7c-2.3 0-4.6-1-6.1-2.8L54.2 255.7l23-11.5c2.1-1.1 4.6-1.1 6.8-.2l58.2 25.9c6.7 3 14.4 2.7 20.9-.7l88.1-46.2c7.6-4 12.5-11.7 12.8-20.3s-3.9-16.7-11.2-21.3L124 100.4l30.5-12.7zm44.8-46c-20.6-7.3-43.1-6.7-63.3 1.7L91.3 62c-29.9 12.5-33.4 53.5-5.9 70.8L192 199.9l-40.9 21.4-47.6-21.2c-15.3-6.8-32.8-6.4-47.8 1.1L66.1 222 55.8 201.3 23.6 217.4C.3 229-5.8 259.4 11.1 279.2l73.1 85.3 17.6-15.1L84.2 364.4c10.6 12.4 26.2 19.6 42.5 19.6H248.1c9.1 0 18-2.2 26-6.4L524.5 246.1c45.3-23.8 81.5-61.7 103.1-108c19.6-42-11-90.1-57.4-90.1H519.5c-24.6 0-48.8 6-70.5 17.4L375.1 104 199.3 41.6zM24 464c-13.3 0-24 10.7-24 24s10.7 24 24 24H616c13.3 0 24-10.7 24-24s-10.7-24-24-24H24z\"]\n};\nvar faHandshakeSlash = {\n prefix: 'far',\n iconName: 'handshake-slash',\n icon: [640, 512, [], \"e060\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L501.8 368h46.5c5.5 9.6 15.9 16 27.7 16h32c17.7 0 32-14.3 32-32V144c0-8.8-7.2-16-16-16H584 544 505.1L475 101.2C448 77.3 413.2 64 377.1 64c-37.6 0-73.9 14.4-101.2 40.2l-50.1 47.4-31.2-24.4c8.3-5 17.2-8.9 26.5-11.5l51.1-51.1c-4.4-.4-8.8-.6-13.2-.6H248.7c-34 0-66.9 11.4-93.6 32.2L38.8 5.1zM263.9 181.5l44.9-42.4c18.5-17.4 42.9-27.1 68.3-27.1c24.4 0 47.9 8.9 66.1 25.1l36.9 32.8c4.4 3.9 10.1 6.1 15.9 6.1h48V320H456 440.6l-99.4-77.9 35.1-32.4c9.7-9 10.3-24.2 1.4-33.9s-24.2-10.3-33.9-1.4l-40.9 37.7-39-30.5zM96 171.6L40.6 128H16c-8.8 0-16 7.2-16 16V352c0 17.7 14.3 32 32 32H64c17.6 0 32-14.3 32-31.9c7.7 .5 14.9 3.8 20.4 9.3L152 397l7 7L185.9 431c23.6 23.6 60.9 24.9 86 4.1c30.4 22 73 19.3 100.4-8.1c7.3-7.3 12.8-15.6 16.6-24.5l-42-33.1c.8 8.5-2.1 17.2-8.6 23.7c-11.6 11.6-30.4 11.6-41.9 0l-10.7-10.7c-5.8-5.8-14.2-8.2-22.2-6.5s-14.6 7.5-17.3 15.3c-.8 2.1-2 4.1-3.7 5.8c-6.2 6.2-16.4 6.2-22.6 0L193 370.1l0 0-7-7-35.6-35.6C135.8 313 116.4 304.6 96 304V224 176v-4.4zM32 336a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm560-16a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faBookBookmark = {\n prefix: 'far',\n iconName: 'book-bookmark',\n icon: [448, 512, [], \"e0bb\", \"M0 88C0 39.4 39.4 0 88 0H392c30.9 0 56 25.1 56 56V344c0 22.3-13.1 41.6-32 50.6V464h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H80c-44.2 0-80-35.8-80-80c0-2.7 .1-5.4 .4-8H0V88zM80 400c-17.7 0-32 14.3-32 32s14.3 32 32 32H368V400H80zM48 358.7c9.8-4.3 20.6-6.7 32-6.7H392c4.4 0 8-3.6 8-8V56c0-4.4-3.6-8-8-8H352V206.7c0 13.4-15.5 20.9-26 12.5L272 176l-54 43.2c-10.5 8.4-26 .9-26-12.5V48H88C65.9 48 48 65.9 48 88V358.7z\"]\n};\nvar faBorderCenterH = {\n prefix: 'far',\n iconName: 'border-center-h',\n icon: [448, 512, [], \"f89c\", \"M32 480a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm96 0a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0-384a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM320 416a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm0-320a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM224 416a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm0-320a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM416 416a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm0-384a32 32 0 1 0 0 64 32 32 0 1 0 0-64zM32 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM224 320a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm192 64a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM32 320a32 32 0 1 0 0 64 32 32 0 1 0 0-64zM416 192a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM32 128a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm192 64a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM24 232c-13.3 0-24 10.7-24 24s10.7 24 24 24l400 0c13.3 0 24-10.7 24-24s-10.7-24-24-24L24 232z\"]\n};\nvar faCanFood = {\n prefix: 'far',\n iconName: 'can-food',\n icon: [384, 512, [129387], \"e3e6\", \"M320 434.3c-3.4 3-10.2 7.5-21.7 12.2C273.5 456.6 235.9 464 192 464s-81.5-7.4-106.3-17.5c-11.5-4.7-18.3-9.2-21.7-12.2V289.4c14.2 6.1 31 11.3 49.7 15.1c7.6 36.3 39.8 63.5 78.3 63.5s70.7-27.2 78.3-63.5c18.7-3.8 35.5-8.9 49.7-15.1V434.3zm48 5.7V240 72c0-39.8-78.8-72-176-72S16 32.2 16 72V240 440c0 39.8 78.8 72 176 72s176-32.2 176-72zM304 72c0 13.3-50.1 24-112 24S80 85.3 80 72s50.1-24 112-24s112 10.7 112 24zM192 256a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faTypewriter = {\n prefix: 'far',\n iconName: 'typewriter',\n icon: [512, 512, [], \"f8e7\", \"M128 64c0-8.8 7.2-16 16-16H335.4c4.2 0 8.3 1.7 11.3 4.7l32.6 32.6c3 3 4.7 7.1 4.7 11.3V160h48V96.6c0-17-6.7-33.3-18.7-45.3L380.7 18.7C368.7 6.7 352.4 0 335.4 0H144C108.7 0 80 28.7 80 64v96h48V64zM0 224v32c0 17.7 14.3 32 32 32V448c0 35.3 28.7 64 64 64H416c35.3 0 64-28.7 64-64V288c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32H365.3c-8.5 0-16.6 3.4-22.6 9.4l-13.3 13.3c-6 6-14.1 9.4-22.6 9.4H205.3c-8.5 0-16.6-3.4-22.6-9.4l-13.3-13.3c-6-6-14.1-9.4-22.6-9.4H32c-17.7 0-32 14.3-32 32zm80 64H432V448c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V288zm48 112v16c0 8.8 7.2 16 16 16H368c8.8 0 16-7.2 16-16V400c0-8.8-7.2-16-16-16H144c-8.8 0-16 7.2-16 16zm40-60a20 20 0 1 0 -40 0 20 20 0 1 0 40 0zm52 20a20 20 0 1 0 0-40 20 20 0 1 0 0 40zm92-20a20 20 0 1 0 -40 0 20 20 0 1 0 40 0zm52 20a20 20 0 1 0 0-40 20 20 0 1 0 0 40z\"]\n};\nvar faArrowRightFromArc = {\n prefix: 'far',\n iconName: 'arrow-right-from-arc',\n icon: [512, 512, [], \"e4b1\", \"M48 256C48 141.1 141.1 48 256 48c13.3 0 24-10.7 24-24s-10.7-24-24-24C114.6 0 0 114.6 0 256S114.6 512 256 512c13.3 0 24-10.7 24-24s-10.7-24-24-24C141.1 464 48 370.9 48 256zM392.3 134.4c-9.7-9-24.9-8.5-33.9 1.3s-8.5 24.9 1.3 33.9L426.9 232H184c-13.3 0-24 10.7-24 24s10.7 24 24 24H426.9l-67.2 62.4c-9.7 9-10.3 24.2-1.3 33.9s24.2 10.3 33.9 1.3l112-104c4.9-4.5 7.7-10.9 7.7-17.6s-2.8-13-7.7-17.6l-112-104z\"]\n};\nvar faCircleK = {\n prefix: 'far',\n iconName: 'circle-k',\n icon: [512, 512, [], \"e113\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm89.1-343.2c9.3-9.5 9.2-24.6-.3-33.9s-24.6-9.2-33.9 .3L208 239.8V152c0-13.3-10.7-24-24-24s-24 10.7-24 24V298.5 360c0 13.3 10.7 24 24 24s24-10.7 24-24V308.3l30-30.5 70.7 96.4c7.8 10.7 22.9 13 33.5 5.2s13-22.9 5.2-33.5L272.1 243.1l73.1-74.3z\"]\n};\nvar faFaceHandOverMouth = {\n prefix: 'far',\n iconName: 'face-hand-over-mouth',\n icon: [512, 512, [129762], \"e378\", \"M256 48C141.1 48 48 141.1 48 256c0 59 24.6 112.2 64 150.1v10.7c0 21.9 5.5 42.5 15.3 60.5C51.2 433 0 350.5 0 256C0 114.6 114.6 0 256 0S512 114.6 512 256c0 113.1-73.3 209.1-175.1 242.9l49-49c11.7-11.7 16.1-27.9 13.2-43C439.1 369 464 315.4 464 256c0-114.9-93.1-208-208-208zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM299.3 276.7c6.2 6.2 6.2 16.4 0 22.6L248 350.6c-2.6 2.6-2.6 6.8 0 9.4s6.8 2.6 9.4 0l67.3-67.3c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L280 382.6c-2.6 2.6-2.6 6.8 0 9.4s6.8 2.6 9.4 0l51.3-51.3c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L312 414.6c-2.6 2.6-2.6 6.8 0 9.4s6.8 2.6 9.4 0l19.3-19.3c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-56.8 56.8C288.7 502 264.4 512 239.2 512c-52.6 0-95.2-42.6-95.2-95.2V384 330.4c0-11 9-20 20-20s20 9 20 20v19.7c0 7.1 8.6 10.7 13.7 5.7l79-79c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faPopcorn = {\n prefix: 'far',\n iconName: 'popcorn',\n icon: [448, 512, [127871], \"f819\", \"M32 156c0-20.9 14.5-38.3 34-42.9c-1.3-4.2-2-8.6-2-13.1c0-24.3 19.7-44 44-44c1.9 0 3.7 .1 5.6 .3C118.7 37.7 135.7 24 156 24c8.5 0 16.5 2.4 23.2 6.6C186.2 12.7 203.6 0 224 0s37.8 12.7 44.8 30.6c6.7-4.2 14.7-6.6 23.2-6.6c20.3 0 37.3 13.7 42.4 32.3c1.8-.2 3.7-.3 5.6-.3c24.3 0 44 19.7 44 44c0 4.6-.7 9-2 13.1c19.5 4.5 34 22 34 42.9c0 1.3-.1 2.7-.2 4H328.2 119.8 32.2c-.1-1.3-.2-2.7-.2-4zm22.3 84l62.2 224h215l62.2-224h-47L303.6 419.7c-2.1 8.6-10.7 13.9-19.3 11.8s-13.9-10.7-11.8-19.3L313.8 240H240V416c0 8.8-7.2 16-16 16s-16-7.2-16-16V240H134.2l41.3 172.3c2.1 8.6-3.2 17.2-11.8 19.3s-17.2-3.2-19.3-11.8L101.3 240h-47zM224 192H419.8c15.6 0 28.2 12.6 28.2 28.2c0 2.5-.3 5.1-1 7.5L377.8 476.8C372 497.6 353.1 512 331.5 512h-215c-21.6 0-40.5-14.4-46.2-35.2L1 227.7c-.7-2.5-1-5-1-7.5C0 204.6 12.6 192 28.2 192H224z\"]\n};\nvar faHouseWater = {\n prefix: 'far',\n iconName: 'house-water',\n icon: [576, 512, [\"house-flood\"], \"f74f\", \"M272.5 5.7c9-7.6 22.1-7.6 31.1 0l264 224c10.1 8.6 11.4 23.7 2.8 33.8s-23.7 11.3-33.8 2.8L512 245.5V393c-14.6-8.4-31.9-10.7-48-6.5V204.8L288 55.5 112 204.8V386.5c-16.1-4.1-33.4-1.9-48 6.6V245.5L39.5 266.3c-10.1 8.6-25.3 7.3-33.8-2.8s-7.3-25.3 2.8-33.8l264-224zM256 224v64h64V224H256zm-8-48h80c22.1 0 40 17.9 40 40v80c0 22.1-17.9 40-40 40H248c-22.1 0-40-17.9-40-40V216c0-22.1 17.9-40 40-40zM111.9 430.1c21.5 18.6 51.2 33.9 80 33.9s58.5-15.3 80-33.9c9.1-8.1 22.8-8.1 31.9 0c21.6 18.6 51.2 33.9 80 33.9s58.5-15.3 80-33.9c9.1-8.1 22.8-8.1 31.9 0c16.9 15.1 39.3 26.8 61.3 31.8c12.9 2.9 21.1 15.7 18.2 28.7s-15.7 21.1-28.7 18.2c-28.7-6.4-52.3-20.5-66.7-30.4c-28.1 19.5-61.4 33.8-96 33.8s-67.9-14.3-96-33.8c-28.1 19.5-61.4 33.8-96 33.8s-67.9-14.3-96-33.8c-14.4 10-38 24-66.7 30.4c-12.9 2.9-25.8-5.2-28.7-18.2s5.2-25.8 18.2-28.7c22.2-5 44-16.8 61.2-31.7c9.1-8.1 22.8-8.1 31.9 0z\"]\n};\nvar faHouseFlood = faHouseWater;\nvar faObjectSubtract = {\n prefix: 'far',\n iconName: 'object-subtract',\n icon: [512, 512, [], \"e49e\", \"M64 48l32 0V0H64C28.7 0 0 28.7 0 64V96H48l0-32c0-8.8 7.2-16 16-16zm160 0V0H128V48l96 0zM48 128H0v96H48l0-96zm0 128H0v32c0 35.3 28.7 64 64 64H96l0-48H64c-8.8 0-16-7.2-16-16l0-32zm80 96h32l48 0h16V304l-96 0v48zm32 32l0 64c0 35.3 28.7 64 64 64l224 0c35.3 0 64-28.7 64-64V224c0-35.3-28.7-64-64-64l-64 0v48l64 0c8.8 0 16 7.2 16 16l0 224c0 8.8-7.2 16-16 16l-224 0c-8.8 0-16-7.2-16-16l0-64H160zM352 208l0-48V128H304l0 96h48V208zm0-144c0-35.3-28.7-64-64-64H256V48l32 0c8.8 0 16 7.2 16 16V96h48V64zM256 304v48h32c35.3 0 64-28.7 64-64V256H304v32c0 8.8-7.2 16-16 16H256z\"]\n};\nvar faCodeBranch = {\n prefix: 'far',\n iconName: 'code-branch',\n icon: [448, 512, [], \"f126\", \"M80 112a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm80-32c0 35.8-23.5 66.1-56 76.3V256c20.1-15.1 45-24 72-24h96c39.8 0 72-32.2 72-72v-3.7c-32.5-10.2-56-40.5-56-76.3c0-44.2 35.8-80 80-80s80 35.8 80 80c0 35.8-23.5 66.1-56 76.3V160c0 66.3-53.7 120-120 120H176c-39.8 0-72 32.2-72 72v3.7c32.5 10.2 56 40.5 56 76.3c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-35.8 23.5-66.1 56-76.3V352 156.3C23.5 146.1 0 115.8 0 80C0 35.8 35.8 0 80 0s80 35.8 80 80zm240 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM80 464a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faWarehouseFull = {\n prefix: 'far',\n iconName: 'warehouse-full',\n icon: [640, 512, [\"warehouse-alt\"], \"f495\", \"M323 51.1c-1.9-.8-4.1-.8-6 0L63 154.1c-9.1 3.7-15 12.5-15 22.2V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V176.3c0-29.3 17.8-55.7 44.9-66.7L299 6.6c13.5-5.5 28.6-5.5 42.1 0l254 103c27.2 11 45 37.4 45 66.7V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V176.3c0-9.8-5.9-18.6-15-22.2L323 51.1zM144 240V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V232c0-22.1 17.9-40 40-40H504c22.1 0 40 17.9 40 40V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V240H144zM376 416h64c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H376c-13.3 0-24-10.7-24-24V440c0-13.3 10.7-24 24-24zM176 312c0-13.3 10.7-24 24-24h96c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H200c-13.3 0-24-10.7-24-24V312zm24 104h96c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H200c-13.3 0-24-10.7-24-24V440c0-13.3 10.7-24 24-24z\"]\n};\nvar faWarehouseAlt = faWarehouseFull;\nvar faHatCowboy = {\n prefix: 'far',\n iconName: 'hat-cowboy',\n icon: [640, 512, [], \"f8c0\", \"M254.2 82.7c-2 2.8-4.4 6.7-7.1 11.8C236.8 114 226.9 142 218.2 173c-8.5 30.4-15.3 61-19.9 84.3c-.9 4.7-1.8 9.1-2.5 13.1c-16.8-5-32-10.6-45.7-16.6C163.6 184.2 198.7 32 248 32c21.3 0 31.6 9.1 41.2 17.6C297.7 57 305.6 64 320 64s22.3-7 30.8-14.4C360.4 41.1 370.7 32 392 32c49.4 0 84.4 152.2 97.9 221.9c-13.7 5.9-28.9 11.6-45.7 16.6c-.8-4-1.6-8.4-2.5-13.2c-4.6-23.3-11.3-54-19.9-84.3c-8.7-30.9-18.6-59-28.9-78.5c-2.7-5.1-5.1-9-7.1-11.8c-.5 .4-1 .9-1.6 1.4c-.5 .5-1.1 1-1.8 1.6l0 0 0 0C374 93.3 353.4 112 320 112s-54-18.7-62.3-26.2l0 0c-.7-.6-1.3-1.2-1.8-1.6c-.6-.5-1.2-1-1.6-1.4zM380.9 77l0 0c0 0 0 0 0 0l.1 0zm-121.7 0c0 0 0 0 0 0l.1 0s0 0 0 0zM111.1 270.7c47.2 24.5 117.5 49.3 209 49.3s161.8-24.8 208.9-49.3c24.8-12.9 49.8-28.3 70.1-47.7c7.9-7.9 20.2-9.2 29.6-3.3c9.5 5.9 13.5 17.9 9.9 28.5c-13.5 37.7-38.4 72.3-66.1 100.6C523.7 398.9 443.6 448 320 448s-203.6-49.1-252.5-99.2C39.8 320.4 14.9 285.8 1.4 248.1c-3.6-10.6 .4-22.6 9.9-28.5c9.5-5.9 21.7-4.5 29.6 3.3c20.4 19.4 45.3 34.8 70.1 47.7z\"]\n};\nvar faBridge = {\n prefix: 'far',\n iconName: 'bridge',\n icon: [576, 512, [], \"e4c8\", \"M24 32C10.7 32 0 42.7 0 56S10.7 80 24 80H72v64H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H96 224 552c13.3 0 24-10.7 24-24s-10.7-24-24-24H504V80h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zM456 80v64H376V80h80zM328 80v64H248V80h80zM200 80v64H120V80h80zM24 240c-13.3 0-24 10.7-24 24s10.7 24 24 24c26.5 0 48 21.5 48 48V440c0 22.1 17.9 40 40 40h64c22.1 0 40-17.9 40-40V344c0-30.9 25.1-56 56-56h32c30.9 0 56 25.1 56 56v96c0 22.1 17.9 40 40 40h64c22.1 0 40-17.9 40-40V336c0-26.5 21.5-48 48-48c13.3 0 24-10.7 24-24s-10.7-24-24-24c-53 0-96 43-96 96v96H408V344c0-57.4-46.6-104-104-104H272c-57.4 0-104 46.6-104 104v88H120V336c0-53-43-96-96-96z\"]\n};\nvar faPhoneFlip = {\n prefix: 'far',\n iconName: 'phone-flip',\n icon: [512, 512, [128381, \"phone-alt\"], \"f879\", \"M136.2 275.2c16.4-7 35.4-2.4 46.7 11.4l33.2 40.6c46-26.7 84.4-65.1 111.1-111.1L286.7 183c-13.8-11.3-18.5-30.3-11.4-46.7l48-112C330.8 6.7 349.7-3.1 368.4 .9l112 24C498.8 28.8 512 45.1 512 64v0c0 231.2-175.2 421.5-400.1 445.5c-9.8 1-19.7 1.8-29.6 2.2c0 0 0 0 0 0c0 0-.1 0-.1 0c-6.1 .2-12.1 .4-18.3 .4l0 0c-18.9 0-35.2-13.2-39.1-31.6l-24-112c-4-18.7 5.8-37.6 23.4-45.1l112-48zM70.5 464C286.3 460.5 460.5 286.2 464 70.5L364.8 49.2l-43 100.4L357.6 179c18.2 14.9 22.9 40.8 11.1 61.2c-30.9 53.3-75.3 97.7-128.6 128.6c-20.4 11.8-46.3 7.1-61.2-11.1l-29.4-35.9-100.4 43L70.5 464zM464 64s0 0 0 0v0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\"]\n};\nvar faPhoneAlt = faPhoneFlip;\nvar faArrowDownFromDottedLine = {\n prefix: 'far',\n iconName: 'arrow-down-from-dotted-line',\n icon: [448, 512, [], \"e090\", \"M241.5 472.4c-4.5 4.8-10.9 7.6-17.5 7.6s-12.9-2.7-17.5-7.6l-128-136c-9.1-9.7-8.6-24.8 1-33.9s24.8-8.6 33.9 1L200 395.5V312 184c0-13.3 10.7-24 24-24s24 10.7 24 24V312v83.5l86.5-91.9c9.1-9.7 24.3-10.1 33.9-1s10.1 24.3 1 33.9l-128 136zM32 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm96 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM256 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm64-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM448 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0z\"]\n};\nvar faFileDoc = {\n prefix: 'far',\n iconName: 'file-doc',\n icon: [512, 512, [], \"e5ed\", \"M64 464H96v48H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3V288H336V160H256c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16zM176 352h32c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H176c-8.8 0-16-7.2-16-16V368c0-8.8 7.2-16 16-16zm16 128h16c8.8 0 16-7.2 16-16V400c0-8.8-7.2-16-16-16H192v96zM456 352h16c22.1 0 40 17.9 40 40v8c0 8.8-7.2 16-16 16s-16-7.2-16-16v-8c0-4.4-3.6-8-8-8H456c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8v-8c0-8.8 7.2-16 16-16s16 7.2 16 16v8c0 22.1-17.9 40-40 40H456c-22.1 0-40-17.9-40-40V392c0-22.1 17.9-40 40-40zM288 392c0-22.1 17.9-40 40-40h16c22.1 0 40 17.9 40 40v80c0 22.1-17.9 40-40 40H328c-22.1 0-40-17.9-40-40V392zm40-8c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8V392c0-4.4-3.6-8-8-8H328z\"]\n};\nvar faSquareQuarters = {\n prefix: 'far',\n iconName: 'square-quarters',\n icon: [448, 512, [], \"e44e\", \"M52.7 84.7L224 256 395.3 84.7c-2.9-2.9-6.9-4.7-11.3-4.7H64c-4.4 0-8.4 1.8-11.3 4.7zm0 342.6c2.9 2.9 6.9 4.7 11.3 4.7H384c4.4 0 8.4-1.8 11.3-4.7L224 256 52.7 427.3zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96z\"]\n};\nvar faTruckFront = {\n prefix: 'far',\n iconName: 'truck-front',\n icon: [512, 512, [], \"e2b7\", \"M80 48C62.3 48 48 62.3 48 80V232c4.2-3.2 8.7-6.1 13.3-8.7l40-85.8C113.2 112.2 138.6 96 166.6 96H345.4c28 0 53.4 16.2 65.2 41.6l40 85.8c4.6 2.6 9.1 5.5 13.3 8.7V80c0-17.7-14.3-32-32-32H80zM48 328v40c0 17.7 14.3 32 32 32H432c17.7 0 32-14.3 32-32V328c0-39.8-32.2-72-72-72H120c-39.8 0-72 32.2-72 72zM0 328V80C0 35.8 35.8 0 80 0H432c44.2 0 80 35.8 80 80V328v40c0 26.2-12.6 49.4-32 64v56c0 13.3-10.7 24-24 24s-24-10.7-24-24V448H80v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V432C12.6 417.4 0 394.2 0 368V328zM121.4 208H390.6l-23.4-50.1c-3.9-8.4-12.4-13.9-21.7-13.9H166.6c-9.3 0-17.8 5.4-21.7 13.9L121.4 208zM96 320a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm288-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faCat = {\n prefix: 'far',\n iconName: 'cat',\n icon: [576, 512, [128008], \"f6be\", \"M361 0c10.9 0 21.3 4.3 29 12l36 36h44.1l36-36c7.7-7.7 18.1-12 29-12c22.6 0 41 18.3 41 41V160c0 70.7-57.3 128-128 128s-128-57.3-128-128V41c0-22.6 18.3-41 41-41zm7 160c0 44.2 35.8 80 80 80s80-35.8 80-80V57.9L501.7 84.3C494.2 91.8 484 96 473.4 96H422.6c-10.6 0-20.8-4.2-28.3-11.7L368 57.9V160zm48-32a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM285 182l4.4-.4c2.2 16.6 7 32.4 13.9 46.9l-14 1.3C188.9 238.9 112 323.1 112 423.9v.1c0 22.1 17.9 40 40 40H256V400c0-17.7-14.3-32-32-32h-8c-13.3 0-24-10.7-24-24s10.7-24 24-24h8c39.4 0 72.2 28.5 78.8 66l93-54.7c7.4-4.4 16.6-4.4 24.1-.1s12.1 12.2 12.1 20.8v96c0 8.8 7.2 16 16 16s16-7.2 16-16V319.2c16.9-1.7 33.1-6 48-12.5V448c0 35.3-28.7 64-64 64s-64-28.7-64-64V394L304 441v23h24c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-48.6 0-88-39.4-88-88v-.1V184.5c0-20.2-15-37.2-35-39.7l-7.9-1C7.9 142.2-1.5 130.2 .2 117S13.8 94.5 27 96.2l7.9 1c44 5.5 77.1 42.9 77.1 87.3V279c40-53.7 101.7-90.5 173-97z\"]\n};\nvar faTrashXmark = {\n prefix: 'far',\n iconName: 'trash-xmark',\n icon: [448, 512, [], \"e2b4\", \"M170.5 51.6L151.5 80h145l-19-28.4c-1.5-2.2-4-3.6-6.7-3.6H177.1c-2.7 0-5.2 1.3-6.7 3.6zm147-26.6L354.2 80h13.7H416h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H412.4L388.4 452.7c-2.5 33.4-30.3 59.3-63.8 59.3H123.4c-33.5 0-61.3-25.9-63.8-59.3L35.6 128H24c-13.3 0-24-10.7-24-24S10.7 80 24 80h8H80.1 93.8l36.7-55.1C140.9 9.4 158.4 0 177.1 0h93.7c18.7 0 36.2 9.4 46.6 24.9zM83.7 128l23.8 321.2c.6 8.4 7.6 14.8 16 14.8H324.6c8.4 0 15.3-6.5 16-14.8L364.3 128H83.7zm62.2 81.9c7.8-7.8 20.5-7.8 28.3 0L224 259.7l49.9-49.9c7.8-7.8 20.5-7.8 28.3 0s7.8 20.5 0 28.3L252.3 288l49.9 49.9c7.8 7.8 7.8 20.5 0 28.3s-20.5 7.8-28.3 0L224 316.3l-49.9 49.9c-7.8 7.8-20.5 7.8-28.3 0s-7.8-20.5 0-28.3L195.7 288l-49.9-49.9c-7.8-7.8-7.8-20.5 0-28.3z\"]\n};\nvar faCircleCaretLeft = {\n prefix: 'far',\n iconName: 'circle-caret-left',\n icon: [512, 512, [\"caret-circle-left\"], \"f32e\", \"M48 256a208 208 0 1 1 416 0A208 208 0 1 1 48 256zm464 0A256 256 0 1 0 0 256a256 256 0 1 0 512 0zm-368 0c0 6.7 2.8 13 7.7 17.6l112 104c7 6.5 17.2 8.2 25.9 4.4s14.4-12.5 14.4-22l0-208c0-9.5-5.7-18.2-14.4-22s-18.9-2.1-25.9 4.4l-112 104c-4.9 4.5-7.7 10.9-7.7 17.6z\"]\n};\nvar faCaretCircleLeft = faCircleCaretLeft;\nvar faFiles = {\n prefix: 'far',\n iconName: 'files',\n icon: [448, 512, [], \"e178\", \"M160 368H384c8.8 0 16-7.2 16-16V128H352c-17.7 0-32-14.3-32-32V48H160c-8.8 0-16 7.2-16 16V352c0 8.8 7.2 16 16 16zm224 48H160c-35.3 0-64-28.7-64-64V64c0-35.3 28.7-64 64-64H325.5c17 0 33.3 6.7 45.3 18.7l58.5 58.5c12 12 18.7 28.3 18.7 45.3V352c0 35.3-28.7 64-64 64zM24 96c13.3 0 24 10.7 24 24V376c0 48.6 39.4 88 88 88H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H136C60.9 512 0 451.1 0 376V120c0-13.3 10.7-24 24-24z\"]\n};\nvar faAnchorCircleExclamation = {\n prefix: 'far',\n iconName: 'anchor-circle-exclamation',\n icon: [640, 512, [], \"e4ab\", \"M320 80a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM288 0c-44.2 0-80 35.8-80 80c0 35.9 23.7 66.3 56.3 76.4c-.2 1.2-.3 2.4-.3 3.6v32H216c-13.3 0-24 10.7-24 24s10.7 24 24 24h48V464H240c-73.7 0-133.7-58.6-135.9-131.8l16.3 14c10.1 8.6 25.2 7.5 33.8-2.6s7.5-25.2-2.6-33.8l-56-48c-9-7.7-22.3-7.7-31.2 0l-56 48c-10.1 8.6-11.2 23.8-2.6 33.8s23.8 11.2 33.8 2.6L56 332.1C58.2 431.8 139.8 512 240 512h48 48c17.2 0 33.9-2.4 49.7-6.8c-14.7-11.8-27.4-25.9-37.6-41.7c-4 .4-8 .5-12.1 .5H312V240h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H312V160c0-1.2-.1-2.4-.3-3.6C344.3 146.3 368 115.9 368 80c0-44.2-35.8-80-80-80zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-144c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V288c0-8.8 7.2-16 16-16z\"]\n};\nvar faFaceClouds = {\n prefix: 'far',\n iconName: 'face-clouds',\n icon: [640, 512, [], \"e47d\", \"M128 0c27.9 0 51.7 17.9 60.4 42.8C198.6 36 210.8 32 224 32c35.3 0 64 28.7 64 64s-28.7 64-64 64H64C28.7 160 0 131.3 0 96S28.7 32 64 32h8.6C83.6 12.9 104.3 0 128 0zM72.1 192h50c-6.5 20.2-10 41.7-10 64c0 80.2 45.4 149.9 112 184.6c.1 22.3 7.2 42.9 19.3 59.7C139.4 467.7 64 370.6 64 256c0-22.1 2.8-43.5 8.1-64zM307.4 48.4C296.8 29.8 280.1 15.2 260.1 7c19.2-4.6 39.2-7 59.9-7C461.4 0 576 114.6 576 256c0 14.8-1.3 29.3-3.7 43.5c-12.5-10.8-28.3-17.8-45.7-19.2c.9-8 1.4-16.1 1.4-24.3c0-114.9-93.1-208-208-208c-4.2 0-8.4 .1-12.6 .4zM208.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM336 368c0-44.2 35.8-80 80-80c29.3 0 54.9 15.8 68.9 39.3c8.8-9.4 21.3-15.3 35.1-15.3c26.5 0 48 21.5 48 48c0 2.7-.2 5.4-.7 8h.7c39.8 0 72 32.2 72 72s-32.2 72-72 72H328c-39.8 0-72-32.2-72-72s32.2-72 72-72h8z\"]\n};\nvar faUserCrown = {\n prefix: 'far',\n iconName: 'user-crown',\n icon: [448, 512, [], \"f6a4\", \"M144 128H304v16c0 44.2-35.8 80-80 80s-80-35.8-80-80V128zm0-108.8l-.1-.1c-.3-.2-.6-.4-.8-.6L140 16 124.4 3.5C121.5 1.2 118 0 114.4 0H112c-8.8 0-16 7.2-16 16V39v3.2 .1V144c0 70.7 57.3 128 128 128s128-57.3 128-128V42.3v-.1V39 16c0-8.8-7.2-16-16-16h-2.4c-3.6 0-7.2 1.2-10 3.5L308 16l-3 2.4c-.3 .2-.6 .4-.8 .6l-.1 .1c-10.2 7.5-23.8 8.3-34.9 2L238.9 4c-4.6-2.6-9.7-4-14.9-4s-10.4 1.4-14.9 4L178.9 21.2c-11 6.3-24.7 5.5-34.9-2zM168 352H280c63.6 0 115.6 49.5 119.7 112H48.3c4.1-62.5 56.2-112 119.7-112zm0-48C75.2 304 0 379.2 0 472v8c0 17.7 14.3 32 32 32H416c17.7 0 32-14.3 32-32v-8c0-92.8-75.2-168-168-168H168z\"]\n};\nvar faBasketShoppingPlus = {\n prefix: 'far',\n iconName: 'basket-shopping-plus',\n icon: [576, 512, [], \"e653\", \"M243.1 2.7c11.8 6.1 16.3 20.6 10.2 32.4L171.7 192H404.3L322.7 35.1c-6.1-11.8-1.5-26.3 10.2-32.4s26.2-1.5 32.4 10.2L458.4 192h36.1H544h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H532L476.1 463.5C469 492 443.4 512 414 512H162c-29.4 0-55-20-62.1-48.5L44 240H24c-13.3 0-24-10.7-24-24s10.7-24 24-24h8H81.5h36.1L210.7 12.9c6.1-11.8 20.6-16.3 32.4-10.2zM482.5 240H93.5l53 211.9c1.8 7.1 8.2 12.1 15.5 12.1H414c7.3 0 13.7-5 15.5-12.1l53-211.9zM200 352c0-13.3 10.7-24 24-24h40V288c0-13.3 10.7-24 24-24s24 10.7 24 24v40h40c13.3 0 24 10.7 24 24s-10.7 24-24 24H312v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V376H224c-13.3 0-24-10.7-24-24z\"]\n};\nvar faTruckField = {\n prefix: 'far',\n iconName: 'truck-field',\n icon: [640, 512, [], \"e58d\", \"M336 80c8.8 0 16 7.2 16 16v8V224v96 16H243.2c-16.6-28.7-47.6-48-83.2-48s-66.6 19.3-83.2 48H64V288 128 96c0-8.8 7.2-16 16-16H336zM16 283.7V336v1.4C6.7 340.7 0 349.5 0 360s6.7 19.3 16 22.6V384h8H64c0 53 43 96 96 96s96-43 96-96h96 32c0 53 43 96 96 96s96-43 96-96h32 8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V288c0-35.3-28.7-64-64-64h-5l-.3-.7L486.4 112.2c-9.2-19.6-29-32.2-50.7-32.2H398c-7.1-27.6-32.2-48-62-48H80C44.7 32 16 60.7 16 96v36.3C6.4 137.8 0 148.2 0 160v96c0 11.8 6.4 22.2 16 27.7zM160 336a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM485.9 224H400V128h35.7c3.1 0 5.9 1.8 7.2 4.6l43 91.4zM528 384a48 48 0 1 1 -96 0 48 48 0 1 1 96 0z\"]\n};\nvar faRoute = {\n prefix: 'far',\n iconName: 'route',\n icon: [512, 512, [], \"f4d7\", \"M438.6 155.7c-7.2 11.5-15 22.6-22.6 32.7c-7.5-10.1-15.4-21.2-22.6-32.7C375.7 127.3 368 106.3 368 96c0-26.5 21.5-48 48-48s48 21.5 48 48c0 10.3-7.7 31.3-25.4 59.7zM427.4 251C452.9 221.1 512 146.2 512 96c0-53-43-96-96-96s-96 43-96 96c0 33.3 25.9 77.3 50.8 112H328c-48.6 0-88 39.4-88 88s39.4 88 88 88h96c22.1 0 40 17.9 40 40s-17.9 40-40 40H177.8c-2.7 3.8-5.5 7.6-8.2 11.2c-10.7 14.2-21.3 26.9-30 36.8H424c48.6 0 88-39.4 88-88s-39.4-88-88-88H328c-22.1 0-40-17.9-40-40s17.9-40 40-40h84.9c5.1 1.1 10.7-.6 14.5-5zM118.9 408.4c-7.3 11-15.3 21.7-22.9 31.2c-7.6-9.5-15.6-20.2-22.9-31.2C55.4 381.7 48 361.9 48 352c0-26.5 21.5-48 48-48s48 21.5 48 48c0 9.9-7.4 29.7-25.1 56.4zm19 55.6c25.9-33.1 54.1-77.3 54.1-112c0-53-43-96-96-96s-96 43-96 96c0 50.5 59.8 121 85 148.4c6 6.5 16 6.5 21.9 0c.1-.1 .2-.2 .3-.3c.3-.3 .6-.7 .9-1c2.8-3.1 6-6.7 9.5-10.7c.1-.1 .1-.1 .2-.2c6.1-7 13-15.2 20-24.2z\"]\n};\nvar faCartCircleCheck = {\n prefix: 'far',\n iconName: 'cart-circle-check',\n icon: [640, 512, [], \"e3f1\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48H69.5c3.8 0 7.1 2.7 7.9 6.5l51.6 271c6.5 34 36.2 58.5 70.7 58.5h121c-.5-5.3-.7-10.6-.7-16c0-10.9 1-21.6 2.9-32H199.7c-11.5 0-21.4-8.2-23.6-19.5L170.7 288H339.2c9.2-18 21.4-34.2 36-48H161.6L131.1 80H520.7L490.5 192.1c1.8-.1 3.7-.1 5.5-.1c14.8 0 29.1 1.8 42.8 5.2L569.7 82.4C576.6 57 557.4 32 531.1 32h-411C111 12.8 91.6 0 69.5 0H24zM176 512a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM640 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-99.3-43.3c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 385.4l60.7-60.7z\"]\n};\nvar faClipboardQuestion = {\n prefix: 'far',\n iconName: 'clipboard-question',\n icon: [384, 512, [], \"e4e3\", \"M320 64H280h-9.6C263 27.5 230.7 0 192 0s-71 27.5-78.4 64H104 64C28.7 64 0 92.7 0 128V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64zM80 112v24c0 13.3 10.7 24 24 24h88 88c13.3 0 24-10.7 24-24V112h16c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V128c0-8.8 7.2-16 16-16H80zm88-32a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM105.8 229.3l-.4 1.2c-4.4 12.5 2.1 26.2 14.6 30.6s26.2-2.1 30.6-14.6l.4-1.2c1.1-3.2 4.2-5.3 7.5-5.3h58.3c8.4 0 15.1 6.8 15.1 15.1c0 5.4-2.9 10.4-7.6 13.1l-44.3 25.4c-7.5 4.3-12.1 12.2-12.1 20.8V328c0 13.3 10.7 24 24 24c13.1 0 23.8-10.5 24-23.6l32.3-18.5c19.6-11.3 31.7-32.2 31.7-54.8c0-34.9-28.3-63.1-63.1-63.1H158.6c-23.7 0-44.8 14.9-52.8 37.3zM224 416a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faPanorama = {\n prefix: 'far',\n iconName: 'panorama',\n icon: [640, 512, [], \"e209\", \"M48 80.9C72.3 88.8 177.5 120 320 120s247.7-31.2 272-39.1V431.1c-9.8-3.2-32.9-10.2-66.3-17.4c-.5-1-1-1.9-1.6-2.8l-136-208c-4.4-6.8-12-10.9-20.1-10.9s-15.7 4.1-20.1 10.9L264.8 330l-29.5-40.2c-4.5-6.2-11.7-9.8-19.4-9.8s-14.8 3.6-19.4 9.8l-88 120c-1.3 1.8-2.4 3.8-3.1 5.8c-28.7 6.5-48.6 12.6-57.5 15.5V80.9zM579.6 34.4C565.4 39.2 462.4 72 320 72S74.6 39.2 60.4 34.4C55.6 32.8 50.7 32 45.6 32C20.4 32 0 52.4 0 77.6V434.4C0 459.6 20.4 480 45.6 480c5.1 0 10-.8 14.7-2.4C74.6 472.8 177.6 440 320 440s245.4 32.8 259.6 37.6c4.7 1.6 9.7 2.4 14.7 2.4c25.2 0 45.6-20.4 45.6-45.6V77.6C640 52.4 619.6 32 594.4 32c-5 0-10 .8-14.7 2.4zM144 240a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faCommentMedical = {\n prefix: 'far',\n iconName: 'comment-medical',\n icon: [512, 512, [], \"f7f5\", \"M168.2 384.9c-15-5.4-31.7-3.1-44.6 6.4c-8.2 6-22.3 14.8-39.4 22.7c5.6-14.7 9.9-31.3 11.3-49.4c1-12.9-3.3-25.7-11.8-35.5C60.4 302.8 48 272 48 240c0-79.5 83.3-160 208-160s208 80.5 208 160s-83.3 160-208 160c-31.6 0-61.3-5.5-87.8-15.1zM26.3 423.8c-1.6 2.7-3.3 5.4-5.1 8.1l-.3 .5c-1.6 2.3-3.2 4.6-4.8 6.9c-3.5 4.7-7.3 9.3-11.3 13.5c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c5.1 0 10.2-.3 15.3-.8l.7-.1c4.4-.5 8.8-1.1 13.2-1.9c.8-.1 1.6-.3 2.4-.5c17.8-3.5 34.9-9.5 50.1-16.1c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9zM224 160v48H176c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V272h48c8.8 0 16-7.2 16-16V224c0-8.8-7.2-16-16-16H288V160c0-8.8-7.2-16-16-16H240c-8.8 0-16 7.2-16 16z\"]\n};\nvar faTeethOpen = {\n prefix: 'far',\n iconName: 'teeth-open',\n icon: [576, 512, [], \"f62f\", \"M480 48H96C69.5 48 48 69.5 48 96v29.4C63.9 102.8 90.2 88 120 88c15.2 0 29.5 3.9 42 10.7C178.1 77.6 203.5 64 232 64c21.3 0 40.8 7.5 56 20.1C303.2 71.5 322.7 64 344 64c28.5 0 53.9 13.6 70 34.7C426.5 91.9 440.8 88 456 88c29.8 0 56.1 14.8 72 37.4V96c0-26.5-21.5-48-48-48zm0 208H432 368 320 256 208 144 96 64c-35.3 0-64-28.7-64-64V96C0 43 43 0 96 0H480c53 0 96 43 96 96v96c0 35.3-28.7 64-64 64H480zm0-48c8.8 0 16-7.2 16-16V176c0-22.1-17.9-40-40-40c-9.2 0-17.6 3.1-24.3 8.3c-2.9 2.2-5.5 4.8-7.7 7.7c-5 6.7-8 15-8 24v16c0 8.2 6.1 14.9 14 15.9c.6 .1 1.3 .1 2 .1h48zm-112 0c.7 0 1.3 0 2-.1c7.9-1 14-7.7 14-15.9V176 152c0-6.9-1.7-13.4-4.8-19c-6.8-12.5-20-21-35.2-21c-11.2 0-21.3 4.6-28.6 12c-7.1 7.2-11.4 17.1-11.4 28v40c0 8.2 6.1 14.9 14 15.9c.7 .1 1.3 .1 2 .1h48zm-112 0c.7 0 1.3 0 2-.1c7.9-1 14-7.7 14-15.9V152c0-10.9-4.4-20.8-11.4-28c-7.3-7.4-17.4-12-28.6-12c-15.2 0-28.4 8.5-35.2 21c-3.1 5.7-4.8 12.1-4.8 19v24 16c0 8.2 6.1 14.9 14 15.9c.7 .1 1.3 .1 2 .1h48zm-112 0c.7 0 1.3 0 2-.1c7.9-1 14-7.7 14-15.9V176c0-9-3-17.3-8-24c-2.2-2.9-4.8-5.5-7.7-7.7c-6.7-5.2-15.2-8.3-24.3-8.3c-22.1 0-40 17.9-40 40v16c0 8.8 7.2 16 16 16h48zM480 464c26.5 0 48-21.5 48-48v-5.4c-15.9 22.6-42.2 37.4-72 37.4c-21.3 0-40.8-7.5-56-20.1c-15.2 12.6-34.7 20.1-56 20.1s-40.8-7.5-56-20.1c-15.2 12.6-34.7 20.1-56 20.1s-40.8-7.5-56-20.1c-15.2 12.6-34.7 20.1-56 20.1c-29.8 0-56.1-14.8-72-37.4V416c0 26.5 21.5 48 48 48H480zm0-128H432c-.7 0-1.3 0-2 .1c-7.9 1-14 7.7-14 15.9v8c0 10.9 4.4 20.8 11.4 28c7.3 7.4 17.4 12 28.6 12c22.1 0 40-17.9 40-40v-8c0-8.8-7.2-16-16-16zm-112 0H320c-.7 0-1.3 0-2 .1c-7.9 1-14 7.7-14 15.9v8c0 10.9 4.4 20.8 11.4 28c7.3 7.4 17.4 12 28.6 12s21.3-4.6 28.6-12c7.1-7.2 11.4-17.1 11.4-28v-8c0-8.2-6.1-14.9-14-15.9c-.6-.1-1.3-.1-2-.1zm112-48h32c35.3 0 64 28.7 64 64v64c0 53-43 96-96 96H96c-53 0-96-43-96-96V352c0-35.3 28.7-64 64-64H96h48 64 48 64 48 64 48zM96 336c-8.8 0-16 7.2-16 16v8c0 22.1 17.9 40 40 40c11.2 0 21.3-4.6 28.6-12c7.1-7.2 11.4-17.1 11.4-28v-8c0-8.2-6.1-14.9-14-15.9c-.7-.1-1.3-.1-2-.1H96zm112 0c-.7 0-1.3 0-2 .1c-7.9 1-14 7.7-14 15.9v8c0 10.9 4.4 20.8 11.4 28c7.3 7.4 17.4 12 28.6 12s21.3-4.6 28.6-12c7.1-7.2 11.4-17.1 11.4-28v-8c0-8.2-6.1-14.9-14-15.9c-.7-.1-1.3-.1-2-.1H208z\"]\n};\nvar faUserTieHairLong = {\n prefix: 'far',\n iconName: 'user-tie-hair-long',\n icon: [448, 512, [], \"e460\", \"M304 144c0 44.2-35.8 80-80 80s-80-35.8-80-80V128c0-5.5 .6-10.8 1.6-16H176c29.8 0 55.9-16.3 69.6-40.5C257.3 86.4 275.5 96 296 96h1.3c4.3 9.8 6.7 20.6 6.7 32v16zM224 0C153.3 0 96 57.3 96 128v11c0 33.9-13.5 66.5-37.5 90.5l-3.9 3.9c-4.2 4.2-6.6 10-6.6 16C48 261.9 58.1 272 70.6 272H224 377.4c12.5 0 22.6-10.1 22.6-22.6c0-6-2.4-11.8-6.6-16l-3.9-3.9c-24-24-37.5-56.6-37.5-90.5V128C352 57.3 294.7 0 224 0zM168.2 511.1l-.2 .9H280l-.2-.9H417.3c17 0 30.7-13.8 30.7-30.7c0-79.6-57.6-145.7-133.5-158.9c-6.6-1.1-12.9 2.4-15.9 8.4l-44 87.9-15.8-58.6 18.6-31c6.4-10.7-1.3-24.2-13.7-24.2H224 204.3c-12.4 0-20.1 13.6-13.7 24.2l18.6 31-15.8 58.6-44-87.9c-3-6-9.4-9.5-15.9-8.4C57.6 334.7 0 400.8 0 480.4c0 17 13.8 30.7 30.7 30.7H168.2zM118.5 375.5l43.8 87.7H49.3c6.1-39.8 33-72.9 69.2-87.7zm167.2 87.7l43.8-87.7c36.2 14.8 63.1 47.8 69.2 87.7h-113z\"]\n};\nvar faFileCircleMinus = {\n prefix: 'far',\n iconName: 'file-circle-minus',\n icon: [576, 512, [], \"e4ed\", \"M64 464H284.5c12 18.4 27.4 34.5 45.3 47.3c-3.2 .5-6.4 .7-9.7 .7H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3v44.1c-17.2 4.9-33.4 12.3-48 21.8V160H256c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16zm224-96a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm224 0c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16s7.2 16 16 16H496c8.8 0 16-7.2 16-16z\"]\n};\nvar faHeadSideMedical = {\n prefix: 'far',\n iconName: 'head-side-medical',\n icon: [512, 512, [], \"f809\", \"M48 224c0-97.2 78.8-176 176-176h24c60.1 0 115.7 36.7 139.6 88.3c3.9 8.4 7.5 17 11.4 25.9l1.5 3.5c4.3 10.1 8.9 20.7 13.9 31.1c10.1 20.8 22.5 42 40.6 60.1l4.4 4.4c2.9 2.9 4.6 6.9 4.6 11c0 8.6-7 15.6-15.6 15.6H424c-13.3 0-24 10.7-24 24v72c0 8.8-7.2 16-16 16H296c-13.3 0-24 10.7-24 24v64c0 13.3 10.7 24 24 24s24-10.7 24-24V448h64c35.3 0 64-28.7 64-64V336h.4c35.1 0 63.6-28.5 63.6-63.6c0-16.9-6.7-33-18.6-45L489 223c-12.7-12.7-22.4-28.5-31.4-47.1c-4.5-9.3-8.7-18.9-13-29l-1.5-3.5c-3.8-8.9-7.8-18.2-12-27.3C399.4 47.6 326.8 0 248 0H224C100.3 0 0 100.3 0 224c0 53.6 18.9 102.9 50.3 141.5c8.9 11 13.7 22.4 13.7 33.1V488c0 13.3 10.7 24 24 24s24-10.7 24-24V398.6c0-24.9-10.9-46.8-24.5-63.4C62.8 304.8 48 266.2 48 224zM192 112v48H144c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V224h48c8.8 0 16-7.2 16-16V176c0-8.8-7.2-16-16-16H256V112c0-8.8-7.2-16-16-16H208c-8.8 0-16 7.2-16 16z\"]\n};\nvar faArrowTurnRight = {\n prefix: 'far',\n iconName: 'arrow-turn-right',\n icon: [512, 512, [], \"e635\", \"M377 369c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l87-87H88c-22.1 0-40 17.9-40 40V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V288c0-48.6 39.4-88 88-88H430.1l-87-87c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L505 207c9.4 9.4 9.4 24.6 0 33.9L377 369z\"]\n};\nvar faTags = {\n prefix: 'far',\n iconName: 'tags',\n icon: [512, 512, [], \"f02c\", \"M345 39.1c-9.3-9.4-24.5-9.5-33.9-.2s-9.5 24.5-.2 33.9L438.6 202.1c33.9 34.3 33.9 89.4 0 123.7L326.7 439.1c-9.3 9.4-9.2 24.6 .2 33.9s24.6 9.2 33.9-.2L472.8 359.6c52.4-53 52.4-138.2 0-191.2L345 39.1zM242.7 50.7c-12-12-28.3-18.7-45.3-18.7H48C21.5 32 0 53.5 0 80V229.5c0 17 6.7 33.3 18.7 45.3l168 168c25 25 65.5 25 90.5 0L410.7 309.3c25-25 25-65.5 0-90.5l-168-168zM48 80H197.5c4.2 0 8.3 1.7 11.3 4.7l168 168c6.2 6.2 6.2 16.4 0 22.6L243.3 408.8c-6.2 6.2-16.4 6.2-22.6 0l-168-168c-3-3-4.7-7.1-4.7-11.3V80zm96 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faWineGlass = {\n prefix: 'far',\n iconName: 'wine-glass',\n icon: [320, 512, [127863], \"f4e3\", \"M32.1 22.1C33.1 9.6 43.5 0 56 0H264c12.5 0 22.9 9.6 23.9 22.1l13.9 176.4C307.7 273.1 255.2 337.9 184 350V464h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H160 72c-13.3 0-24-10.7-24-24s10.7-24 24-24h64V350C64.8 337.9 12.3 273.1 18.1 198.5L32.1 22.1zM160 304c55 0 98.3-46.9 94-101.7L251.9 176H68.1L66 202.3C61.7 257.1 105 304 160 304zM71.9 128H248.1l-6.3-80H78.2l-6.3 80z\"]\n};\nvar faForwardFast = {\n prefix: 'far',\n iconName: 'forward-fast',\n icon: [512, 512, [9197, \"fast-forward\"], \"f050\", \"M496 424c0 13.3-10.7 24-24 24s-24-10.7-24-24V287.9L273.4 440.6c-5.4 4.8-12.4 7.4-19.6 7.4c-16.5 0-29.8-13.3-29.8-29.8V287.9L49.4 440.6C44 445.4 37 448 29.8 448C13.3 448 0 434.7 0 418.2V93.8C0 77.3 13.3 64 29.8 64C37 64 44 66.6 49.4 71.4L224 224.1V93.8C224 77.3 237.3 64 253.8 64c7.2 0 14.2 2.6 19.6 7.4L448 224.1V88c0-13.3 10.7-24 24-24s24 10.7 24 24V424zM48 133.9V378.1L187.6 256 48 133.9zM272 378.1L411.6 256 272 133.9V378.1z\"]\n};\nvar faFastForward = faForwardFast;\nvar faFaceMehBlank = {\n prefix: 'far',\n iconName: 'face-meh-blank',\n icon: [512, 512, [128566, \"meh-blank\"], \"f5a4\", \"M256 48a208 208 0 1 0 0 416 208 208 0 1 0 0-416zM512 256A256 256 0 1 1 0 256a256 256 0 1 1 512 0zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faMehBlank = faFaceMehBlank;\nvar faUserRobot = {\n prefix: 'far',\n iconName: 'user-robot',\n icon: [448, 512, [], \"e04b\", \"M240 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V64H144c-44.2 0-80 35.8-80 80v96c0 44.2 35.8 80 80 80H304c44.2 0 80-35.8 80-80V144c0-44.2-35.8-80-80-80H240V16zm96 128v96c0 17.7-14.3 32-32 32V256c0-8.8-7.2-16-16-16s-16 7.2-16 16v16H240V256c0-8.8-7.2-16-16-16s-16 7.2-16 16v16H176V256c0-8.8-7.2-16-16-16s-16 7.2-16 16v16c-17.7 0-32-14.3-32-32V144c0-17.7 14.3-32 32-32H304c17.7 0 32 14.3 32 32zm64 304v16H304V432c0-8.8-7.2-16-16-16s-16 7.2-16 16v32H240V432c0-8.8-7.2-16-16-16s-16 7.2-16 16v32H176V432c0-8.8-7.2-16-16-16s-16 7.2-16 16v32H48l0-16c0-26.5 21.5-48 48-48H352c26.5 0 48 21.5 48 48zM160 512h64 64H400c26.5 0 48-21.5 48-48V448c0-53-43-96-96-96H96c-53 0-96 43-96 96v16c0 26.5 21.5 48 48 48H160zM16 128c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V144c0-8.8-7.2-16-16-16zm432 16c0-8.8-7.2-16-16-16s-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V144zM208 176a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm64 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faSquareParking = {\n prefix: 'far',\n iconName: 'square-parking',\n icon: [448, 512, [127359, \"parking\"], \"f540\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM184 272h64c26.5 0 48-21.5 48-48s-21.5-48-48-48H184v96zm64 48H184v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V296 160c0-17.7 14.3-32 32-32h80c53 0 96 43 96 96s-43 96-96 96z\"]\n};\nvar faParking = faSquareParking;\nvar faCardDiamond = {\n prefix: 'far',\n iconName: 'card-diamond',\n icon: [384, 512, [], \"e3ea\", \"M64 48c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H320c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H64zM0 64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zm180.7 84.7c6.2-6.2 16.4-6.2 22.6 0l96 96c6.2 6.2 6.2 16.4 0 22.6l-96 96c-6.2 6.2-16.4 6.2-22.6 0l-96-96c-6.2-6.2-6.2-16.4 0-22.6l96-96z\"]\n};\nvar faFaceZipper = {\n prefix: 'far',\n iconName: 'face-zipper',\n icon: [512, 512, [], \"e3a5\", \"M389.2 394.3l29.1 58.1c14.7 29.3 53.7 35.6 76.9 12.5l1.8-1.8c23.2-23.2 16.8-62.2-12.5-76.9l-58.1-29.1c-6.2-3.1-13.6-1.9-18.5 3l-15.7 15.7c-4.9 4.9-6.1 12.3-3 18.5zm91.3 38.2l-16 16c-4.7 4.7-12.3 4.7-17 0s-4.7-12.3 0-17l16-16c4.7-4.7 12.3-4.7 17 0s4.7 12.3 0 17zM256 48C141.1 48 48 141.1 48 256s93.1 208 208 208c42.5 0 82-12.7 114.9-34.6l18.7 37.3c1 2 2 3.9 3.1 5.7C353.2 497.5 306.3 512 256 512C114.6 512 0 397.4 0 256S114.6 0 256 0S512 114.6 512 256c0 34.9-7 68.1-19.6 98.4l-43.1-21.5c9.5-23.8 14.7-49.7 14.7-76.9c0-114.9-93.1-208-208-208zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM208 320c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V336c0-8.8 7.2-16 16-16zm80 16v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V336c0-8.8 7.2-16 16-16s16 7.2 16 16zm48-16c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V336c0-8.8 7.2-16 16-16zM160 336v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V336c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faFaceRaisedEyebrow = {\n prefix: 'far',\n iconName: 'face-raised-eyebrow',\n icon: [512, 512, [], \"e388\", \"M256 48a208 208 0 1 0 0 416 208 208 0 1 0 0-416zM512 256A256 256 0 1 1 0 256a256 256 0 1 1 512 0zM144.4 240a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM160 352c0-13.3 10.7-24 24-24H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24zM328.8 141.8l-29.5 29.5c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l29.5-29.5c25-25 66.6-20.9 86.2 8.5l4.9 7.4c4.9 7.4 2.9 17.3-4.4 22.2s-17.3 2.9-22.2-4.4l-4.9-7.4c-8.4-12.6-26.2-14.4-36.9-3.7zM128 144h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H128c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faHouseSignal = {\n prefix: 'far',\n iconName: 'house-signal',\n icon: [576, 512, [], \"e012\", \"M320.8 5.4c8.8-7.2 21.5-7.2 30.3 0l216 176c10.3 8.4 11.8 23.5 3.4 33.8s-23.5 11.8-33.8 3.4L512 198.4V360c0 30.9-25.1 56-56 56H278.1c-4.7-16.7-11.1-32.8-18.8-48H456c4.4 0 8-3.6 8-8V159.3L336 55 208 159.3V298.7c-14.5-14.1-30.6-26.5-48-37V198.4l-24.8 20.2c-10.3 8.4-25.4 6.8-33.8-3.4s-6.8-25.4 3.4-33.8l216-176zM312 192h48c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H312c-13.3 0-24-10.7-24-24V216c0-13.3 10.7-24 24-24zM24 256c128.1 0 232 103.9 232 232c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-101.6-82.4-184-184-184c-13.3 0-24-10.7-24-24s10.7-24 24-24zm8 192a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM0 376c0-13.3 10.7-24 24-24c75.1 0 136 60.9 136 136c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-48.6-39.4-88-88-88c-13.3 0-24-10.7-24-24z\"]\n};\nvar faSquareChevronUp = {\n prefix: 'far',\n iconName: 'square-chevron-up',\n icon: [448, 512, [\"chevron-square-up\"], \"f32c\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm241 71L345 271c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-87-87-87 87c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L207 167c9.4-9.4 24.6-9.4 33.9 0z\"]\n};\nvar faChevronSquareUp = faSquareChevronUp;\nvar faNfcSymbol = {\n prefix: 'far',\n iconName: 'nfc-symbol',\n icon: [512, 512, [], \"e531\", \"M357.4 473.6c7.7 7.2 19.2 8.5 28.3 3.2C461.4 433 512 349.3 512 256s-50.6-177-126.3-220.8c-11.5-6.6-26.2-2.7-32.8 8.8s-2.7 26.2 8.8 32.8C422.7 112.1 464 180.1 464 256c0 69.6-34.7 132.6-87.6 169.8L200.3 262.4c-9.7-9-24.9-8.4-33.9 1.3s-8.4 24.9 1.3 33.9l189.7 176zM154.6 38.4c-7.7-7.2-19.2-8.5-28.3-3.2C50.6 79 0 162.7 0 256s50.6 177 126.3 220.8c11.5 6.6 26.2 2.7 32.8-8.8s2.7-26.2-8.8-32.8C89.3 399.9 48 331.9 48 256c0-69.6 34.7-132.6 87.6-169.8L311.7 249.6c9.7 9 24.9 8.4 33.9-1.3s8.4-24.9-1.3-33.9L154.6 38.4z\"]\n};\nvar faBarsProgress = {\n prefix: 'far',\n iconName: 'bars-progress',\n icon: [512, 512, [\"tasks-alt\"], \"f828\", \"M464 112v64H320V112H464zM48 64C21.5 64 0 85.5 0 112v64c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48H48zM464 336v64H192V336H464zM48 288c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V336c0-26.5-21.5-48-48-48H48z\"]\n};\nvar faTasksAlt = faBarsProgress;\nvar faFaucetDrip = {\n prefix: 'far',\n iconName: 'faucet-drip',\n icon: [512, 512, [128688], \"e006\", \"M248 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V45L96 32C78.3 32 64 46.3 64 64s14.3 32 32 32L200 83v45H181.3c-14.9 0-29.1 5.9-39.6 16.4L126.1 160H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H136c6.4 0 12.5-2.5 17-7l22.6-22.6c1.5-1.5 3.5-2.3 5.7-2.3h93.5c2.1 0 4.2 .8 5.7 2.3L303 201c4.5 4.5 10.6 7 17 7h40c57.4 0 104 46.6 104 104v16c0 4.4-3.6 8-8 8H408c-4.4 0-8-3.6-8-8c0-30.9-25.1-56-56-56H311.7c-8.2 0-15.8 4.2-20.2 11.1C277.2 305.3 252.3 320 224 320s-53.2-14.7-67.4-36.9c-4.4-6.9-12-11.1-20.2-11.1H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H124.1c23.4 29.2 59.5 48 99.9 48s76.5-18.8 99.9-48H344c4.4 0 8 3.6 8 8c0 30.9 25.1 56 56 56h48c30.9 0 56-25.1 56-56V312c0-83.9-68.1-152-152-152H329.9l-15.6-15.6c-10.5-10.5-24.7-16.4-39.6-16.4H248V83L352 96c17.7 0 32-14.3 32-32s-14.3-32-32-32L248 45V24zM420.8 423.4l-18.2 42.4c-1.8 4.1-2.7 8.6-2.7 13.1V480c0 17.7 14.3 32 32 32s32-14.3 32-32v-1.2c0-4.5-.9-8.9-2.7-13.1l-18.2-42.4c-1.9-4.5-6.3-7.4-11.2-7.4s-9.2 2.9-11.2 7.4z\"]\n};\nvar faArrowsToLine = {\n prefix: 'far',\n iconName: 'arrows-to-line',\n icon: [448, 512, [], \"e0a7\", \"M241 185l72-72c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-31 31L248 24c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 86.1L169 79c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l72 72c9.4 9.4 24.6 9.4 33.9 0zM0 256c0 13.3 10.7 24 24 24H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H24c-13.3 0-24 10.7-24 24zm241 71c-9.4-9.4-24.6-9.4-33.9 0l-72 72c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l31-31V488c0 13.3 10.7 24 24 24s24-10.7 24-24V401.9l31 31c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-72-72z\"]\n};\nvar faDolphin = {\n prefix: 'far',\n iconName: 'dolphin',\n icon: [512, 512, [], \"e168\", \"M80 160c0 13.3 2.3 26 6.5 37.8c3.9 10.8-.4 22.8-10.2 28.7L56.8 238.2 44.7 217.9l12.1 20.2c-5.5 3.3-8.8 9.2-8.8 15.6c0 10.1 8.2 18.2 18.2 18.2H192h24 32.9c6.3 0 12.3 2.5 16.8 6.8L304 316.3V296c0-13.3 10.7-24 24-24h16c48.6 0 88 39.4 88 88v8c0 .9 0 1.8 0 2.6c19.9-21.2 32-49.6 32-81c0-60.8-22.4-116.2-59.4-158.7c-7.2-8.2-7.9-20.3-1.7-29.3c10.4-15.3 23.4-35.5 31.4-51.9c-27.3 4-58.4 14.3-84.2 24.6c-6.4 2.5-13.5 2.2-19.6-.8C297.9 57.2 261.2 48 222.3 48H192C130.1 48 80 98.1 80 160zM277.7 408H344c22.1 0 40-17.9 40-40v-8c0-19.4-13.7-35.5-32-39.2v1.9c0 25-20.3 45.3-45.3 45.3c-11.8 0-23.2-4.6-31.7-12.9L239.1 320H216 192 66.2C29.6 320 0 290.4 0 253.8C0 230.5 12.2 209 32.1 197l3.7-2.2C33.3 183.6 32 171.9 32 160C32 71.6 103.6 0 192 0h30.3C265 0 305.6 9.3 342.2 25.9C374.9 13.5 418.7 0 456 0c7.8 0 17.9 2.4 25.2 11.3c6.7 8.1 7.5 17.4 7.3 23.2c-.4 11.3-5.2 23.4-9.7 33.1c-7 15-17.1 31.8-26.4 46.2C489.8 162.5 512 223.5 512 289.7C512 381.5 437.5 456 345.7 456H344 277.7c-19.9 34.5-56.8 56-97 56H176c-5.5 0-10.7-2.9-13.6-7.6s-3.2-10.6-.7-15.6L190.1 432l-28.4-56.8c-2.5-5-2.2-10.9 .7-15.6s8.1-7.6 13.6-7.6h4.7c40.2 0 77.1 21.5 97 56zM136 160a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faArrowUpRight = {\n prefix: 'far',\n iconName: 'arrow-up-right',\n icon: [384, 512, [], \"e09f\", \"M328 96c13.3 0 24 10.7 24 24V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V177.9L73 409c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l231-231H88c-13.3 0-24-10.7-24-24s10.7-24 24-24H328z\"]\n};\nvar faCircleR = {\n prefix: 'far',\n iconName: 'circle-r',\n icon: [512, 512, [], \"e120\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM184 128c-13.3 0-24 10.7-24 24V264v96c0 13.3 10.7 24 24 24s24-10.7 24-24V288h44l64.8 86.4c8 10.6 23 12.8 33.6 4.8s12.8-23 4.8-33.6L309.8 285c33.6-9.5 58.2-40.4 58.2-77c0-44.2-35.8-80-80-80H184zm80 112H208V176h80c17.7 0 32 14.3 32 32s-14.3 32-32 32H264z\"]\n};\nvar faCartFlatbed = {\n prefix: 'far',\n iconName: 'cart-flatbed',\n icon: [640, 512, [\"dolly-flatbed\"], \"f474\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48H72c4.4 0 8 3.6 8 8V408c0 30.9 25.1 56 56 56h24c0 26.5 21.5 48 48 48s48-21.5 48-48H448c0 26.5 21.5 48 48 48s48-21.5 48-48h72c13.3 0 24-10.7 24-24s-10.7-24-24-24H496 208 136c-4.4 0-8-3.6-8-8V56c0-30.9-25.1-56-56-56H24zM240 80h96v96c0 5.9 3.2 11.3 8.5 14.1s11.5 2.5 16.4-.8L400 163.2l39.1 26.1c4.9 3.3 11.2 3.6 16.4 .8s8.5-8.2 8.5-14.1V80h96V304H240V80zm-48 0V304c0 26.5 21.5 48 48 48H560c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H240c-26.5 0-48 21.5-48 48z\"]\n};\nvar faDollyFlatbed = faCartFlatbed;\nvar faBanSmoking = {\n prefix: 'far',\n iconName: 'ban-smoking',\n icon: [512, 512, [128685, \"smoking-ban\"], \"f54d\", \"M92.9 126.9L385.1 419.1C349.7 447.2 304.8 464 256 464C141.1 464 48 370.9 48 256c0-48.8 16.8-93.7 44.9-129.1zm165 97.1L126.9 92.9C162.3 64.8 207.2 48 256 48c114.9 0 208 93.1 208 208c0 48.8-16.8 93.7-44.9 129.1L353.9 320H400c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H257.9zm32 32H384v32H321.9l-32-32zM256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM272 96c-8.8 0-16 7.2-16 16c0 26.5 21.5 48 48 48h32c8.8 0 16 7.2 16 16s7.2 16 16 16s16-7.2 16-16c0-26.5-21.5-48-48-48H304c-8.8 0-16-7.2-16-16s-7.2-16-16-16zM112 224c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16H240.8l-96-96H112z\"]\n};\nvar faSmokingBan = faBanSmoking;\nvar faCircleSortUp = {\n prefix: 'far',\n iconName: 'circle-sort-up',\n icon: [512, 512, [\"sort-circle-up\"], \"e032\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM267.3 100.7l96 96c4.6 4.6 5.9 11.5 3.5 17.4s-8.3 9.9-14.8 9.9H160c-6.5 0-12.3-3.9-14.8-9.9s-1.1-12.9 3.5-17.4l96-96c6.2-6.2 16.4-6.2 22.6 0zm0 310.6c-6.2 6.2-16.4 6.2-22.6 0l-96-96c-4.6-4.6-5.9-11.5-3.5-17.4s8.3-9.9 14.8-9.9H352c6.5 0 12.3 3.9 14.8 9.9s1.1 12.9-3.5 17.4l-96 96zM313.4 320H198.6L256 377.4 313.4 320z\"]\n};\nvar faSortCircleUp = faCircleSortUp;\nvar faTerminal = {\n prefix: 'far',\n iconName: 'terminal',\n icon: [576, 512, [], \"f120\", \"M6.3 72.2c-9-9.8-8.3-24.9 1.4-33.9s24.9-8.3 33.9 1.4l184 200c8.5 9.2 8.5 23.3 0 32.5l-184 200c-9 9.8-24.2 10.4-33.9 1.4s-10.4-24.2-1.4-33.9L175.4 256 6.3 72.2zM248 432H552c13.3 0 24 10.7 24 24s-10.7 24-24 24H248c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faMobileButton = {\n prefix: 'far',\n iconName: 'mobile-button',\n icon: [384, 512, [], \"f10b\", \"M80 48c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H304c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H80zM16 64C16 28.7 44.7 0 80 0H304c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H80c-35.3 0-64-28.7-64-64V64zM192 392a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faHouseMedicalFlag = {\n prefix: 'far',\n iconName: 'house-medical-flag',\n icon: [640, 512, [], \"e514\", \"M496 24v8H624c8.8 0 16 7.2 16 16V176c0 8.8-7.2 16-16 16H496V512H448V192 32 24c0-13.3 10.7-24 24-24s24 10.7 24 24zM286.3 36.7L416 133v59.8L272 85.9 112 204.6V432c0 17.7 14.3 32 32 32l256 0c5.8 0 11.3-1.6 16-4.3v50.7c-5.2 1-10.5 1.6-16 1.6l-256 0c-44.2 0-80-35.8-80-80V240.2L38.3 259.3c-10.6 7.9-25.7 5.7-33.6-5s-5.7-25.7 5-33.6l248-184c8.5-6.3 20.1-6.3 28.6 0zM240 208c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H304v48c0 8.8-7.2 16-16 16H256c-8.8 0-16-7.2-16-16V320H192c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16h48V208z\"]\n};\nvar faBasketShopping = {\n prefix: 'far',\n iconName: 'basket-shopping',\n icon: [576, 512, [\"shopping-basket\"], \"f291\", \"M243.1 2.7c11.8 6.1 16.3 20.6 10.2 32.4L171.7 192H404.3L322.7 35.1c-6.1-11.8-1.5-26.3 10.2-32.4s26.2-1.5 32.4 10.2L458.4 192h36.1H544h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H532L476.1 463.5C469 492 443.4 512 414 512H162c-29.4 0-55-20-62.1-48.5L44 240H24c-13.3 0-24-10.7-24-24s10.7-24 24-24h8H81.5h36.1L210.7 12.9c6.1-11.8 20.6-16.3 32.4-10.2zM93.5 240l53 211.9c1.8 7.1 8.2 12.1 15.5 12.1H414c7.3 0 13.7-5 15.5-12.1l53-211.9H93.5zM224 312v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V312c0-13.3 10.7-24 24-24s24 10.7 24 24zm64-24c13.3 0 24 10.7 24 24v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V312c0-13.3 10.7-24 24-24zm112 24v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V312c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faShoppingBasket = faBasketShopping;\nvar faTape = {\n prefix: 'far',\n iconName: 'tape',\n icon: [576, 512, [], \"f4db\", \"M224 80a176 176 0 1 1 0 352 176 176 0 1 1 0-352zM362.6 432c52-41 85.4-104.6 85.4-176C448 132.3 347.7 32 224 32S0 132.3 0 256S100.3 480 224 480H552c13.3 0 24-10.7 24-24s-10.7-24-24-24H362.6zM224 208a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm0 144a96 96 0 1 0 0-192 96 96 0 1 0 0 192z\"]\n};\nvar faChestnut = {\n prefix: 'far',\n iconName: 'chestnut',\n icon: [448, 512, [127792], \"e3f6\", \"M154 90.5c13.9-11.4 27.8-22.7 41.1-34.8c7.6-6.9 12.7-12.3 15.5-16.6c3-4.5 8-7.1 13.3-7.1s10.3 2.7 13.3 7.1c2.9 4.3 7.9 9.7 15.5 16.6c13.3 12.1 27.2 23.4 41.1 34.8c19.6 16.1 39.3 32.1 57.3 50.2C400.8 190.2 448 258 448 352c0 70.7-57.3 128-128 128H128C57.3 480 0 422.7 0 352c0-94 47.2-161.8 96.7-211.3c18.1-18.1 37.7-34.1 57.3-50.2zM393.3 384H54.7C67 412.3 95.2 432 128 432H320c32.8 0 61-19.7 73.3-48zm-76-209.4c-13.6-13.6-28.6-26.3-45.2-39.9c-2.7-2.2-5.5-4.5-8.2-6.8l0 0c-12.8-10.5-26.6-21.7-39.9-33.6c-13.3 11.9-27.1 23.1-39.9 33.6l0 0c-2.8 2.3-5.6 4.5-8.2 6.8c-16.6 13.6-31.6 26.3-45.2 39.9C88.9 216.4 53.4 268 48.6 336H399.4c-4.8-68-40.3-119.6-82.1-161.4z\"]\n};\nvar faBusSimple = {\n prefix: 'far',\n iconName: 'bus-simple',\n icon: [448, 512, [\"bus-alt\"], \"f55e\", \"M51.5 96H397.2C381.4 78.9 335.2 48 224 48C121.8 48 69.8 78.3 51.5 96zM400 144H48v80H400V144zm0 128H48V376c0 13.3 10.7 24 24 24H300.2 376c13.3 0 24-10.7 24-24V272zM10.2 70C35.9 38.7 103.8 0 224 0C352.6 0 414 38.6 438.4 70.6c7.5 9.8 9.6 20.9 9.6 29.9V376c0 25-12.7 47-32 59.9V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V448H300.2 80v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V435.9C12.7 423 0 401 0 376V100.4C0 91.6 2 80 10.2 70zM112 304a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm224 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faBusAlt = faBusSimple;\nvar faEye = {\n prefix: 'far',\n iconName: 'eye',\n icon: [576, 512, [128065], \"f06e\", \"M288 80c-65.2 0-118.8 29.6-159.9 67.7C89.6 183.5 63 226 49.4 256c13.6 30 40.2 72.5 78.6 108.3C169.2 402.4 222.8 432 288 432s118.8-29.6 159.9-67.7C486.4 328.5 513 286 526.6 256c-13.6-30-40.2-72.5-78.6-108.3C406.8 109.6 353.2 80 288 80zM95.4 112.6C142.5 68.8 207.2 32 288 32s145.5 36.8 192.6 80.6c46.8 43.5 78.1 95.4 93 131.1c3.3 7.9 3.3 16.7 0 24.6c-14.9 35.7-46.2 87.7-93 131.1C433.5 443.2 368.8 480 288 480s-145.5-36.8-192.6-80.6C48.6 356 17.3 304 2.5 268.3c-3.3-7.9-3.3-16.7 0-24.6C17.3 208 48.6 156 95.4 112.6zM288 336c44.2 0 80-35.8 80-80s-35.8-80-80-80c-.7 0-1.3 0-2 0c1.3 5.1 2 10.5 2 16c0 35.3-28.7 64-64 64c-5.5 0-10.9-.7-16-2c0 .7 0 1.3 0 2c0 44.2 35.8 80 80 80zm0-208a128 128 0 1 1 0 256 128 128 0 1 1 0-256z\"]\n};\nvar faFaceSadCry = {\n prefix: 'far',\n iconName: 'face-sad-cry',\n icon: [512, 512, [128557, \"sad-cry\"], \"f5b3\", \"M400 406.1V288c0-13.3-10.7-24-24-24s-24 10.7-24 24V440.6c-28.7 15-61.4 23.4-96 23.4s-67.3-8.5-96-23.4V288c0-13.3-10.7-24-24-24s-24 10.7-24 24V406.1C72.6 368.2 48 315 48 256C48 141.1 141.1 48 256 48s208 93.1 208 208c0 59-24.6 112.2-64 150.1zM256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM159.6 220c10.6 0 19.9 3.8 25.4 9.7c7.6 8.1 20.2 8.5 28.3 .9s8.5-20.2 .9-28.3C199.7 186.8 179 180 159.6 180s-40.1 6.8-54.6 22.3c-7.6 8.1-7.1 20.7 .9 28.3s20.7 7.1 28.3-.9c5.5-5.8 14.8-9.7 25.4-9.7zm166.6 9.7c5.5-5.8 14.8-9.7 25.4-9.7s19.9 3.8 25.4 9.7c7.6 8.1 20.2 8.5 28.3 .9s8.5-20.2 .9-28.3C391.7 186.8 371 180 351.6 180s-40.1 6.8-54.6 22.3c-7.6 8.1-7.1 20.7 .9 28.3s20.7 7.1 28.3-.9zM208 320v32c0 26.5 21.5 48 48 48s48-21.5 48-48V320c0-26.5-21.5-48-48-48s-48 21.5-48 48z\"]\n};\nvar faSadCry = faFaceSadCry;\nvar faHeat = {\n prefix: 'far',\n iconName: 'heat',\n icon: [448, 512, [], \"e00c\", \"M176 32c13.3 0 24 10.7 24 24v88c0 36.4 11.8 71.7 33.6 100.8l19.2 25.6c28 37.4 43.2 82.9 43.2 129.6v56c0 13.3-10.7 24-24 24s-24-10.7-24-24V400c0-36.3-11.8-71.7-33.6-100.8l-19.2-25.6C167.2 236.2 152 190.7 152 144V56c0-13.3 10.7-24 24-24zM24 96c13.3 0 24 10.7 24 24v37.9c0 33.2 9.8 65.6 28.2 93.2l31.5 47.3c23.7 35.5 36.3 77.2 36.3 119.8V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V418.1c0-33.2-9.8-65.6-28.2-93.2L36.3 277.7C12.6 242.2 0 200.5 0 157.9V120c0-13.3 10.7-24 24-24zm328 24v37.9c0 33.2 9.8 65.6 28.2 93.2l31.5 47.3c23.7 35.5 36.3 77.2 36.3 119.8V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V418.1c0-33.2-9.8-65.6-28.2-93.2l-31.5-47.3C316.6 242.2 304 200.5 304 157.9V120c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faTicketAirline = {\n prefix: 'far',\n iconName: 'ticket-airline',\n icon: [640, 512, [\"ticket-perforated-plane\", \"ticket-plane\"], \"e29a\", \"M64 112c-8.8 0-16 7.2-16 16V384c0 8.8 7.2 16 16 16H576c8.8 0 16-7.2 16-16V349c-41.4-10.7-72-48.2-72-93s30.6-82.3 72-93V128c0-8.8-7.2-16-16-16H64zM0 128C0 92.7 28.7 64 64 64H576c35.3 0 64 28.7 64 64v61.3c0 11.2-12.8 18.7-24 18.7c-26.5 0-48 21.5-48 48s21.5 48 48 48c11.2 0 24 7.5 24 18.7V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128zm432 16a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm0 64a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm-16 80a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm16 48a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM186.7 224l-23.2-69.5c-1.7-5.2 2.1-10.5 7.6-10.5h31.1c8.5 0 16.4 4.5 20.7 11.9L262.7 224h40.3c16.1 0 31.5 6.4 42.8 17.7c7.9 7.9 7.9 20.7 0 28.5C334.4 281.6 319 288 302.9 288H262.7l-39.7 68.1c-4.3 7.4-12.2 11.9-20.7 11.9H171.1c-5.5 0-9.3-5.4-7.6-10.5L186.7 288H144l-19.2 25.6c-3 4-7.8 6.4-12.8 6.4H98.2c-5.2 0-9-4.9-7.8-9.9L103 259.9c.6-2.5 .6-5.2 0-7.8L90.5 201.9c-1.3-5 2.6-9.9 7.8-9.9H112c5 0 9.8 2.4 12.8 6.4L144 224h42.7z\"]\n};\nvar faTicketPerforatedPlane = faTicketAirline;\nvar faTicketPlane = faTicketAirline;\nvar faBootHeeled = {\n prefix: 'far',\n iconName: 'boot-heeled',\n icon: [512, 512, [], \"e33f\", \"M31.3 0C14 0 0 14 0 31.3c0 1.8 .1 3.9 .6 6.2C2.6 47.1 24 154.3 24 232c0 33.2-12.8 93.5-19.7 123.2C1.6 367 0 379.3 0 391.8V440v48c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24V465.3l121.6 40.5c12.2 4.1 25 6.2 37.9 6.2H456h32c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V430.7c0-28.1-16.3-53.6-41.8-65.4L313.8 307.9c-25.5-11.8-41.8-37.3-41.8-65.4V24c0-13.3-10.7-24-24-24H31.3zM432 430.7V464H287.6c-7.7 0-15.4-1.2-22.8-3.7L135.6 417.2c-2.4-.8-5-1.2-7.6-1.2H104 48V391.8c0-8.5 1.1-17.2 3.1-25.8C57.6 337.7 72 271.8 72 232C72 167.4 58.5 85.7 51.5 48H96V232c0 13.3 10.7 24 24 24s24-10.7 24-24V48h80V242.6c0 46.8 27.2 89.3 69.7 109l124.3 57.4c8.5 3.9 13.9 12.4 13.9 21.8z\"]\n};\nvar faArrowsMinimize = {\n prefix: 'far',\n iconName: 'arrows-minimize',\n icon: [512, 512, [\"compress-arrows\"], \"e0a5\", \"M23 23c9.4-9.4 24.6-9.4 33.9 0l119 119V56c0-13.3 10.7-24 24-24s24 10.7 24 24V200c0 13.3-10.7 24-24 24H56c-13.3 0-24-10.7-24-24s10.7-24 24-24h86.1L23 57c-9.4-9.4-9.4-24.6 0-33.9zM489 23c9.4 9.4 9.4 24.6 0 33.9l-119 119H456c13.3 0 24 10.7 24 24s-10.7 24-24 24H312c-13.3 0-24-10.7-24-24V56c0-13.3 10.7-24 24-24s24 10.7 24 24v86.1L455 23c9.4-9.4 24.6-9.4 33.9 0zM56 336c-13.3 0-24-10.7-24-24s10.7-24 24-24H200c13.3 0 24 10.7 24 24V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V369.9L57 489c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l119-119H56zm232-24c0-13.3 10.7-24 24-24H456c13.3 0 24 10.7 24 24s-10.7 24-24 24H369.9L489 455c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-119-119V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V312z\"]\n};\nvar faCompressArrows = faArrowsMinimize;\nvar faAudioDescription = {\n prefix: 'far',\n iconName: 'audio-description',\n icon: [576, 512, [], \"f29e\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H512c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm213.5 77.3l72 144c5.9 11.9 1.1 26.3-10.7 32.2s-26.3 1.1-32.2-10.7l-9.4-18.9H150.9l-9.4 18.9c-5.9 11.9-20.3 16.7-32.2 10.7s-16.7-20.3-10.7-32.2l72-144c4.1-8.1 12.4-13.3 21.5-13.3s17.4 5.1 21.5 13.3zm-.4 106.6L192 237.7l-21.1 42.2h42.2zM304 184c0-13.3 10.7-24 24-24h56c53 0 96 43 96 96s-43 96-96 96H328c-13.3 0-24-10.7-24-24V184zm48 24v96h32c26.5 0 48-21.5 48-48s-21.5-48-48-48H352z\"]\n};\nvar faPersonMilitaryToPerson = {\n prefix: 'far',\n iconName: 'person-military-to-person',\n icon: [512, 512, [], \"e54c\", \"M71 12.5L182.2 .1C191.7-1 200 6.5 200 16V30.1c0 8.8-7.2 16-16 16H72.9C63.6 46.1 56 38.6 56 29.2c0-8.6 6.5-15.8 15-16.8zM384 32a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM336 256v16h96V256c0-8.8-7.2-16-16-16H352c-8.8 0-16 7.2-16 16zm-48 0c0-35.3 28.7-64 64-64h64c35.3 0 64 28.7 64 64v32c0 17.7-14.3 32-32 32H320c-17.7 0-32-14.3-32-32V256zM66 80H190c1.3 5.1 2 10.5 2 16c0 35.3-28.7 64-64 64s-64-28.7-64-64c0-5.5 .7-10.9 2-16zM224 432c0 6.9-3 13.5-8.2 18.1l-64 56c-10 8.7-25.1 7.7-33.9-2.3s-7.7-25.1 2.3-33.9L136.1 456 24 456c-13.3 0-24-10.7-24-24s10.7-24 24-24l112.1 0-15.9-13.9c-10-8.7-11-23.9-2.3-33.9s23.9-11 33.9-2.3l64 56c5.2 4.6 8.2 11.1 8.2 18.1zm72.2 18.1c-5.2-4.6-8.2-11.1-8.2-18.1s3-13.5 8.2-18.1l64-56c10-8.7 25.1-7.7 33.9 2.3s7.7 25.1-2.3 33.9L375.9 408 488 408c13.3 0 24 10.7 24 24s-10.7 24-24 24l-112.1 0 15.9 13.9c10 8.7 11 23.9 2.3 33.9s-23.9 11-33.9 2.3l-64-56zM32 256c0-18.8 8.1-35.7 21-47.4l144.2 111c-1.7 .3-3.4 .4-5.2 .4H64c-17.7 0-32-14.3-32-32V256zm192 32c0 3.7-.6 7.2-1.8 10.5L85.1 192.9c3.6-.6 7.2-.9 10.9-.9h64c35.3 0 64 28.7 64 64v32z\"]\n};\nvar faFileShield = {\n prefix: 'far',\n iconName: 'file-shield',\n icon: [576, 512, [], \"e4f0\", \"M64 464H310.7c11 14.4 24.1 28.1 39.5 40.4c-9 4.8-19.3 7.6-30.2 7.6H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3V207l-48 19.2V160H256c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16zM423.1 225.7c5.7-2.3 12.1-2.3 17.8 0l120 48C570 277.4 576 286.2 576 296c0 63.3-25.9 168.8-134.8 214.2c-5.9 2.5-12.6 2.5-18.5 0C313.9 464.8 288 359.3 288 296c0-9.8 6-18.6 15.1-22.3l120-48zM527.4 312L432 273.8V461.7c68.2-33 91.5-99 95.4-149.7z\"]\n};\nvar faHexagon = {\n prefix: 'far',\n iconName: 'hexagon',\n icon: [512, 512, [11043], \"f312\", \"M17.1 220c-12.9 22.3-12.9 49.7 0 72l88.3 152.9c12.9 22.3 36.6 36 62.4 36l176.6 0c25.7 0 49.5-13.7 62.4-36L494.9 292c12.9-22.3 12.9-49.7 0-72L406.6 67.1c-12.9-22.3-36.6-36-62.4-36l-176.6 0c-25.7 0-49.5 13.7-62.4 36L17.1 220zm41.6 48c-4.3-7.4-4.3-16.6 0-24L146.9 91.1c4.3-7.4 12.2-12 20.8-12l176.6 0c8.6 0 16.5 4.6 20.8 12L453.4 244c4.3 7.4 4.3 16.6 0 24L365.1 420.9c-4.3 7.4-12.2 12-20.8 12l-176.6 0c-8.6 0-16.5-4.6-20.8-12L58.6 268z\"]\n};\nvar faManhole = {\n prefix: 'far',\n iconName: 'manhole',\n icon: [512, 512, [], \"e1d6\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM281.4 115.4c5.8-7.5 14.5-14.7 23.6-11.8c64.4 20.7 111 81.1 111 152.4s-46.6 131.7-111 152.4c-9 2.9-17.8-4.3-23.6-11.8c-5.8-7.6-15.1-12.6-25.4-12.6s-19.6 4.9-25.4 12.6c-5.8 7.5-14.5 14.7-23.6 11.8C142.6 387.7 96 327.3 96 256s46.6-131.7 111-152.4c9-2.9 17.8 4.3 23.6 11.8c5.8 7.6 15.1 12.6 25.4 12.6s19.6-4.9 25.4-12.6zM192 176a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm0 64a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm0 64a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm80-112a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-32 64a16 16 0 1 0 32 0 16 16 0 1 0 -32 0zm32 64a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm48-144a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm0 64a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm0 64a16 16 0 1 0 0 32 16 16 0 1 0 0-32z\"]\n};\nvar faUserSlash = {\n prefix: 'far',\n iconName: 'user-slash',\n icon: [640, 512, [], \"f506\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L353.3 251.6C407.9 237 448 187.2 448 128C448 57.3 390.7 0 320 0C250.2 0 193.5 55.8 192 125.2L38.8 5.1zM290.5 202.4l-35.6-27.9C245.5 161.4 240 145.3 240 128c0-44.2 35.8-80 80-80s80 35.8 80 80s-35.8 80-80 80c-10.4 0-20.4-2-29.5-5.6zM264.3 304.3C170.5 309.4 96 387.2 96 482.3c0 16.4 13.3 29.7 29.7 29.7H514.3c3.9 0 7.6-.7 11-2.1L467.1 464H145.3c8.9-63.3 63.3-112 129-112h50.6l-60.6-47.7z\"]\n};\nvar faPen = {\n prefix: 'far',\n iconName: 'pen',\n icon: [512, 512, [128394], \"f304\", \"M36.4 360.9L13.4 439 1 481.2C-1.5 489.7 .8 498.8 7 505s15.3 8.5 23.7 6.1L73 498.6l78.1-23c12.4-3.6 23.7-9.9 33.4-18.4c1.4-1.2 2.7-2.5 4-3.8L492.7 149.3c21.9-21.9 24.6-55.6 8.2-80.5c-2.3-3.5-5.1-6.9-8.2-10L453.3 19.3c-25-25-65.5-25-90.5 0L58.6 323.5c-10.4 10.4-18 23.3-22.2 37.4zm46 13.5c1.7-5.6 4.5-10.8 8.4-15.2c.6-.6 1.1-1.2 1.7-1.8L321 129 383 191 154.6 419.5c-4.7 4.7-10.6 8.2-17 10.1l-23.4 6.9L59.4 452.6l16.1-54.8 6.9-23.4z\"]\n};\nvar faTowerObservation = {\n prefix: 'far',\n iconName: 'tower-observation',\n icon: [512, 512, [], \"e586\", \"M245.7 2.3c6.5-3.1 14.1-3.1 20.6 0l168 80c12 5.7 17 20 11.3 32c-5.3 11.2-18.2 16.4-29.7 12.3V200c0 27.2-19.4 49.9-45.2 55l34.8 209H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24h82.3l34.8-209c-25.7-5-45.2-27.7-45.2-55V126.6c-11.4 4.1-24.3-1.1-29.7-12.3c-5.7-12-.6-26.3 11.4-32l168-80zM256 50.6L144 103.9V128H368V103.9L256 50.6zM144 176v24c0 4.4 3.6 8 8 8H360c4.4 0 8-3.6 8-8V176H144zM330.8 464L256 400.7 181.2 464H330.8zM189.7 256l-3.7 22.5L256 337.8l70.1-59.3L322.3 256H189.7zm-12.9 77.6l-13.8 83 55.9-47.3-42.1-35.6zm116.4 35.6l55.9 47.3-13.8-83-42.1 35.6z\"]\n};\nvar faFloppyDisks = {\n prefix: 'far',\n iconName: 'floppy-disks',\n icon: [512, 512, [], \"e183\", \"M144 352c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V138.5c0-4.2-1.7-8.3-4.7-11.3l33.9-33.9-33.9 33.9L384.8 52.7c-.3-.3-.5-.5-.8-.8V120c0 13.3-10.7 24-24 24H200c-13.3 0-24-10.7-24-24V48H160c-8.8 0-16 7.2-16 16V352zM224 0H373.5c17 0 33.3 6.7 45.3 18.7l74.5 74.5c12 12 18.7 28.3 18.7 45.3V352c0 35.3-28.7 64-64 64H160c-35.3 0-64-28.7-64-64V64c0-35.3 28.7-64 64-64h16 48zm0 48V96H336V48H224zM48 120V376c0 48.6 39.4 88 88 88H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H136C60.9 512 0 451.1 0 376V120c0-13.3 10.7-24 24-24s24 10.7 24 24zM240 256a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z\"]\n};\nvar faToiletPaperBlankUnder = {\n prefix: 'far',\n iconName: 'toilet-paper-blank-under',\n icon: [512, 512, [\"toilet-paper-reverse-alt\"], \"e29f\", \"M71 84.3C85.4 56.9 101.1 48 112 48H324.7c-3 4.5-5.7 9.3-8.2 14.1C298.5 96.6 288 142.5 288 192s10.5 95.4 28.5 129.9c2.5 4.8 5.3 9.5 8.2 14.1H112c-10.9 0-26.6-8.9-41-36.3C57.2 273.3 48 235.3 48 192s9.2-81.3 23-107.7zM400 48c10.9 0 26.6 8.9 41 36.3c13.8 26.3 23 64.3 23 107.7s-9.2 81.3-23 107.7c-14.4 27.5-30.1 36.3-41 36.3s-26.6-8.9-41-36.3c-13.8-26.3-23-64.3-23-107.7s9.2-81.3 23-107.7C373.4 56.9 389.1 48 400 48zm64 303.1V456c0 4.4-3.6 8-8 8H216c-4.4 0-8-3.6-8-8V416H160v40c0 30.9 25.1 56 56 56H456c30.9 0 56-25.1 56-56V192c0-49.5-10.5-95.4-28.5-129.9C466 28.7 437.7 0 400 0H112C74.3 0 46 28.7 28.5 62.1C10.5 96.6 0 142.5 0 192s10.5 95.4 28.5 129.9C46 355.3 74.3 384 112 384H400c25.9 0 47.4-13.6 64-32.9zM424 192c0-26.5-10.7-48-24-48s-24 21.5-24 48s10.7 48 24 48s24-21.5 24-48z\"]\n};\nvar faToiletPaperReverseAlt = faToiletPaperBlankUnder;\nvar faFileCode = {\n prefix: 'far',\n iconName: 'file-code',\n icon: [384, 512, [], \"f1c9\", \"M64 464c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zm97 289c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L79 303c-9.4 9.4-9.4 24.6 0 33.9l48 48c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-31-31 31-31zM257 255c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l31 31-31 31c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l48-48c9.4-9.4 9.4-24.6 0-33.9l-48-48z\"]\n};\nvar faSignal = {\n prefix: 'far',\n iconName: 'signal',\n icon: [640, 512, [128246, \"signal-5\", \"signal-perfect\"], \"f012\", \"M576 0c13.3 0 24 10.7 24 24V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V24c0-13.3 10.7-24 24-24zM448 96c13.3 0 24 10.7 24 24V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V120c0-13.3 10.7-24 24-24zM320 192c13.3 0 24 10.7 24 24V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V216c0-13.3 10.7-24 24-24zM192 288c13.3 0 24 10.7 24 24V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V312c0-13.3 10.7-24 24-24zM64 384c13.3 0 24 10.7 24 24v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V408c0-13.3 10.7-24 24-24z\"]\n};\nvar faSignal5 = faSignal;\nvar faSignalPerfect = faSignal;\nvar faPump = {\n prefix: 'far',\n iconName: 'pump',\n icon: [640, 512, [], \"e442\", \"M88 0C74.7 0 64 10.7 64 24s10.7 24 24 24h8V208H48v-8c0-13.3-10.7-24-24-24s-24 10.7-24 24v32V376v32c0 13.3 10.7 24 24 24s24-10.7 24-24v-8H320V352H48V256h72c13.3 0 24-10.7 24-24V48h96V232c0 13.3 10.7 24 24 24h56V208H288V48h8c13.3 0 24-10.7 24-24s-10.7-24-24-24H264 120 88zM458.5 146.7c2.6-1.8 5.7-2.7 8.9-2.7H576c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H467.4c-3.2 0-6.2-.9-8.9-2.7l-51.4-34.2c-4.4-3-7.1-8-7.1-13.3V194.3c0-5.3 2.7-10.3 7.1-13.3l51.4-34.3zM431.9 501.3c10.5 7 22.9 10.7 35.5 10.7H576c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H467.4c-12.6 0-25 3.7-35.5 10.7L380.5 141c-17.8 11.9-28.5 31.9-28.5 53.3V413.7c0 21.4 10.7 41.4 28.5 53.3l51.4 34.3zM448 224c0 8.8 7.2 16 16 16h80c8.8 0 16-7.2 16-16s-7.2-16-16-16H464c-8.8 0-16 7.2-16 16zm0 80c0 8.8 7.2 16 16 16h80c8.8 0 16-7.2 16-16s-7.2-16-16-16H464c-8.8 0-16 7.2-16 16zm0 80c0 8.8 7.2 16 16 16h80c8.8 0 16-7.2 16-16s-7.2-16-16-16H464c-8.8 0-16 7.2-16 16z\"]\n};\nvar faBus = {\n prefix: 'far',\n iconName: 'bus',\n icon: [576, 512, [128653], \"f207\", \"M363.7 96h97.5C445.4 78.9 399.2 48 288 48C185.8 48 133.8 78.3 115.5 96h96.8c5.5-9.6 15.9-16 27.7-16l96 0c11.8 0 22.2 6.4 27.7 16zM464 144H312v80H464V144zm-352 0v80H264V144H112zm0 128V376c0 13.3 10.7 24 24 24H364.2 440c13.3 0 24-10.7 24-24V272H112zM74.2 70C99.9 38.7 167.8 0 288 0C416.6 0 478 38.6 502.4 70.6c7.5 9.8 9.6 20.9 9.6 29.9V128c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32V376c0 25-12.7 47-32 59.9V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V448H364.2 144v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V435.9C76.7 423 64 401 64 376V256c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32V100.4C64 91.6 66 80 74.2 70zM176 304a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm224 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faHeartCircleXmark = {\n prefix: 'far',\n iconName: 'heart-circle-xmark',\n icon: [576, 512, [], \"e501\", \"M225.8 468.2l-2.5-2.3L48.1 303.2C17.4 274.7 0 234.7 0 192.8v-3.3c0-70.4 50-130.8 119.2-144C158.6 37.9 198.9 47 231 69.6c9 6.4 17.4 13.8 25 22.3c4.2-4.8 8.7-9.2 13.5-13.3c3.7-3.2 7.5-6.2 11.5-9l0 0C313.1 47 353.4 37.9 392.8 45.4C462 58.6 512 119.1 512 189.5v3.3c0 6-.4 12-1.1 17.9c-14.6-7.3-30.4-12.7-47-15.8c0-.7 0-1.4 0-2.1v-3.3c0-47.3-33.6-88-80.1-96.9c-34-6.5-69 5.4-92 31.2l-.1 .1-.1 .1-17.8 20c-.3 .4-.7 .7-1 1.1c-4.5 4.5-10.6 7-16.9 7s-12.4-2.5-16.9-7c-.4-.3-.7-.7-1-1.1l-17.8-20-.1-.1 0 0c-23.1-25.9-58-37.7-92-31.2C81.6 101.5 48 142.1 48 189.5v3.3c0 28.5 11.9 55.8 32.8 75.2L256 430.7l8.7-8c5.3 16.1 12.8 31.2 22.2 44.9l-.6 .6c-8.2 7.6-19 11.9-30.2 11.9s-22-4.2-30.2-11.9zM432 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm59.3 107.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L432 345.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L409.4 368l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L432 390.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L454.6 368l36.7-36.7z\"]\n};\nvar faArrowUpLeftFromCircle = {\n prefix: 'far',\n iconName: 'arrow-up-left-from-circle',\n icon: [512, 512, [], \"e09e\", \"M184 0H24C10.7 0 0 10.7 0 24V184c0 13.3 10.7 24 24 24s24-10.7 24-24V81.9L295 329c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L81.9 48H184c13.3 0 24-10.7 24-24s-10.7-24-24-24zM288 64c-13.3 0-24 10.7-24 24s10.7 24 24 24c97.2 0 176 78.8 176 176s-78.8 176-176 176s-176-78.8-176-176c0-13.3-10.7-24-24-24s-24 10.7-24 24c0 123.7 100.3 224 224 224s224-100.3 224-224S411.7 64 288 64z\"]\n};\nvar faHouseChimney = {\n prefix: 'far',\n iconName: 'house-chimney',\n icon: [576, 512, [63499, \"home-lg\"], \"e3af\", \"M303.5 5.7c-9-7.6-22.1-7.6-31.1 0l-264 224c-10.1 8.6-11.3 23.7-2.8 33.8s23.7 11.3 33.8 2.8L64 245.5V432c0 44.2 35.8 80 80 80H432c44.2 0 80-35.8 80-80V245.5l24.5 20.8c10.1 8.6 25.3 7.3 33.8-2.8s7.3-25.3-2.8-33.8L512 182.6V56c0-13.3-10.7-24-24-24s-24 10.7-24 24v85.9L303.5 5.7zM464 204.8V432c0 17.7-14.3 32-32 32H384V312c0-22.1-17.9-40-40-40H232c-22.1 0-40 17.9-40 40V464H144c-17.7 0-32-14.3-32-32V204.8L288 55.5 464 204.8zM336 464H240V320h96V464z\"]\n};\nvar faHomeLg = faHouseChimney;\nvar faWindowMaximize = {\n prefix: 'far',\n iconName: 'window-maximize',\n icon: [512, 512, [128470], \"f2d0\", \"M.3 89.5C.1 91.6 0 93.8 0 96V224 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64V224 96c0-35.3-28.7-64-64-64H64c-2.2 0-4.4 .1-6.5 .3c-9.2 .9-17.8 3.8-25.5 8.2C21.8 46.5 13.4 55.1 7.7 65.5c-3.9 7.3-6.5 15.4-7.4 24zM48 224H464l0 192c0 8.8-7.2 16-16 16L64 432c-8.8 0-16-7.2-16-16l0-192z\"]\n};\nvar faDryer = {\n prefix: 'far',\n iconName: 'dryer',\n icon: [448, 512, [], \"f861\", \"M384 48c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H384zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zm64 104a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm56 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm40 256c-44.7 0-82.3-30.6-93-72h53c13.3 0 24-10.7 24-24s-10.7-24-24-24H131c10.7-41.4 48.2-72 93-72c53 0 96 43 96 96s-43 96-96 96zm0 48a144 144 0 1 0 0-288 144 144 0 1 0 0 288z\"]\n};\nvar faFaceFrown = {\n prefix: 'far',\n iconName: 'face-frown',\n icon: [512, 512, [9785, \"frown\"], \"f119\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM174.6 384.1c-4.5 12.5-18.2 18.9-30.7 14.4s-18.9-18.2-14.4-30.7C146.9 319.4 198.9 288 256 288s109.1 31.4 126.6 79.9c4.5 12.5-2 26.2-14.4 30.7s-26.2-2-30.7-14.4C328.2 358.5 297.2 336 256 336s-72.2 22.5-81.4 48.1zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faFrown = faFaceFrown;\nvar faChessBishopPiece = {\n prefix: 'far',\n iconName: 'chess-bishop-piece',\n icon: [256, 512, [\"chess-bishop-alt\"], \"f43b\", \"M64 56c0-13.3 10.7-24 24-24h80c13.3 0 24 10.7 24 24c0 12.2-9.2 22.3-21 23.8c6.2 6.4 13.2 14.4 20.2 23.8C210.8 129.8 232 168.8 232 216c0 20-5.9 35.9-13.9 48.2c3.7 4.2 5.9 9.7 5.9 15.8c0 11.3-7.8 20.8-18.3 23.3l4.9 48.7H162.3l-4.8-48h-59l-4.8 48H45.5l4.9-48.7C39.8 300.8 32 291.3 32 280c0-6 2.2-11.6 5.9-15.8C29.9 251.9 24 236 24 216c0-47.2 21.2-86.2 40.8-112.4c7-9.4 14.1-17.4 20.2-23.8C73.2 78.3 64 68.2 64 56zm93.3 200l7.5-5.1c9.6-6.5 19.2-16.9 19.2-34.9c0-13.8-2.6-26.9-6.9-39.2L161 193c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l26.1-26.1c-.1-.2-.2-.3-.4-.5c-8.1-10.8-16.2-19.3-22.2-25.1c-.9-.9-1.8-1.7-2.6-2.5c-.8 .8-1.7 1.6-2.6 2.5c-6 5.8-14.1 14.4-22.2 25.1C86.8 154.2 72 183.2 72 216c0 18.1 9.6 28.5 19.2 34.9l7.5 5.1h58.7zM69.2 432L52.7 464H203.3l-16.6-32H69.2zm-9.7-48h137c12 0 22.9 6.7 28.4 17.3l26.5 51.2c3 5.8 4.6 12.2 4.6 18.7c0 22.5-18.2 40.8-40.8 40.8H40.8C18.2 512 0 493.8 0 471.2c0-6.5 1.6-12.9 4.6-18.7l26.5-51.2C36.5 390.7 47.5 384 59.5 384z\"]\n};\nvar faChessBishopAlt = faChessBishopPiece;\nvar faShirtTankTop = {\n prefix: 'far',\n iconName: 'shirt-tank-top',\n icon: [384, 512, [], \"e3c9\", \"M112 24c0-13.3-10.7-24-24-24S64 10.7 64 24c0 127.9-26.8 181-41.5 200.5C12.9 237.2 0 257.2 0 280.7V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V280.7c0-23.5-12.9-43.5-22.5-56.3C346.8 205 320 151.9 320 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V72c0 44.2-35.8 80-80 80s-80-35.8-80-80V24zM99.3 160.2C122.6 184.7 155.5 200 192 200s69.4-15.3 92.7-39.8c10.3 46.7 25.2 75.5 38.5 93.1c8.6 11.4 12.8 20.5 12.8 27.3V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V280.7c0-6.8 4.2-15.9 12.8-27.3c13.3-17.6 28.2-46.5 38.5-93.1z\"]\n};\nvar faDiploma = {\n prefix: 'far',\n iconName: 'diploma',\n icon: [640, 512, [\"scroll-ribbon\"], \"f5ea\", \"M320 80.3L302 59.7C286.6 42.1 264.4 32 241 32h-1c-44.2 0-80 35.8-80 80c0 11.4 2.4 22.2 6.7 32H96c-65.1 .3-96 71.5-96 128c0 56.9 24.1 119.2 81 140.7c10.5 4 22.5 4.2 33.4 1.8L256 383v81c0 6.2 3.6 11.9 9.2 14.5s12.3 1.8 17-2.2L320 444.8l37.8 31.5c4.8 4 11.4 4.8 17 2.2s9.2-8.3 9.2-14.5V383l141.6 31.5c10.9 2.4 22.9 2.2 33.4-1.8c56.9-21.5 81-83.8 81-140.7c0-56.5-30.9-127.7-96-128H473.3c4.3-9.8 6.7-20.6 6.7-32c0-44.2-35.8-80-80-80h-1c-23.4 0-45.6 10.1-61 27.7L320 80.3zM400 144h-8H345.6c-6.9 0-10.5-8.1-6-13.3l34.5-39.5c5.5-6.3 13.1-10.2 21.3-11.1c1.2-.1 2.3-.2 3.5-.2h1c17.7 0 32 14.3 32 32s-14.3 32-32 32zm-105.6 0H240c-17.7 0-32-14.3-32-32s14.3-32 32-32h1c9.5 0 18.6 4.1 24.8 11.3l34.5 39.5c4.5 5.2 .9 13.3-6 13.3zM240 192h16V333.8L104 367.6c-1.5 .3-3.1 .5-4.3 .4c-1.1 0-1.6-.2-1.7-.2l0 0C68.1 356.5 48 319.7 48 272c0-20.6 5.9-43.3 16.1-59.3C73.6 197.8 84 192.1 96.1 192H240zm144 0h16H543.9c12.1 .1 22.6 5.8 32.1 20.7c10.2 16 16.1 38.7 16.1 59.3c0 47.7-20.1 84.5-50 95.8l0 0c-.1 0-.6 .2-1.7 .2c-1.3 .1-2.8-.1-4.3-.4L384 333.8V192z\"]\n};\nvar faScrollRibbon = faDiploma;\nvar faScreencast = {\n prefix: 'far',\n iconName: 'screencast',\n icon: [576, 512, [], \"e23e\", \"M512 80H64c-8.8 0-16 7.2-16 16v97.1c-7.9-.7-15.9-1.1-24-1.1H0V96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H288V456c0-8.1-.4-16.1-1.1-24H512c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16zM24 224c128.1 0 232 103.9 232 232c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-101.6-82.4-184-184-184c-13.3 0-24-10.7-24-24s10.7-24 24-24zm8 192a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM0 344c0-13.3 10.7-24 24-24c75.1 0 136 60.9 136 136c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-48.6-39.4-88-88-88c-13.3 0-24-10.7-24-24z\"]\n};\nvar faWalker = {\n prefix: 'far',\n iconName: 'walker',\n icon: [448, 512, [], \"f831\", \"M186.4 48H320c22.1 0 40 17.9 40 40v88H124l23.5-97.4c4.3-18 20.4-30.6 38.9-30.6zM360 224V388.7c-23.5 9.5-40 32.5-40 59.3c0 35.3 28.7 64 64 64s64-28.7 64-64c0-26.9-16.5-49.9-40-59.3V88c0-48.6-39.4-88-88-88H186.4c-40.6 0-76 27.8-85.5 67.4L.7 482.4c-3.1 12.9 4.8 25.9 17.7 29s25.9-4.8 29-17.7L112.4 224H360zm24 208a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faPrescription = {\n prefix: 'far',\n iconName: 'prescription',\n icon: [448, 512, [], \"f5b1\", \"M24 0C10.7 0 0 10.7 0 24V200v96c0 13.3 10.7 24 24 24s24-10.7 24-24V224h78.1l128 128L135 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l119-119L407 505c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-119-119L441 233c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-119 119-95.3-95.3C246.6 214.7 288 168.2 288 112C288 50.1 237.9 0 176 0H24zM176 176H48V48H176c35.3 0 64 28.7 64 64s-28.7 64-64 64z\"]\n};\nvar faShop = {\n prefix: 'far',\n iconName: 'shop',\n icon: [640, 512, [\"store-alt\"], \"f54f\", \"M0 185.8c0-6.4 1.6-12.7 4.7-18.3L82.4 25C90.8 9.6 106.9 0 124.5 0h391c17.6 0 33.7 9.6 42.1 25l77.7 142.4c3.1 5.6 4.7 11.9 4.7 18.3c0 21.1-17.1 38.2-38.2 38.2H576V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V224H384V472c0 22.1-17.9 40-40 40H104c-22.1 0-40-17.9-40-40V224H38.2C17.1 224 0 206.9 0 185.8zM112 224v96H336V224H112zM515.5 48l-391 0L54.7 176H585.3L515.5 48zM112 464H336V368H112v96z\"]\n};\nvar faStoreAlt = faShop;\nvar faFloppyDisk = {\n prefix: 'far',\n iconName: 'floppy-disk',\n icon: [448, 512, [128190, 128426, \"save\"], \"f0c7\", \"M48 96V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V170.5c0-4.2-1.7-8.3-4.7-11.3l33.9-33.9c12 12 18.7 28.3 18.7 45.3V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H309.5c17 0 33.3 6.7 45.3 18.7l74.5 74.5-33.9 33.9L320.8 84.7c-.3-.3-.5-.5-.8-.8V184c0 13.3-10.7 24-24 24H104c-13.3 0-24-10.7-24-24V80H64c-8.8 0-16 7.2-16 16zm80-16v80H272V80H128zm32 240a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z\"]\n};\nvar faSave = faFloppyDisk;\nvar faVihara = {\n prefix: 'far',\n iconName: 'vihara',\n icon: [640, 512, [], \"f6a7\", \"M308.5 61.4c-31 21.7-64.8 39-100.5 51.3V160H320 432V112.7c-35.7-12.3-69.5-29.6-100.5-51.3L320 53.3l-11.5 8.1zm173.2 65.8l-1.7-.5v39.7l1.7 1.9 2.5 2.9c27.3 31.5 62.5 55.1 102.1 68.3l4.8 1.6c1.6 .5 3.2 1.2 4.6 2c3.1 1.7 5.8 4.1 7.8 7s3.5 6.1 4.1 9.6c.5 2.7 .6 5.5 .1 8.3s-1.4 5.4-2.7 7.8c-1.7 3.1-4.1 5.8-7 7.8s-6.1 3.5-9.6 4.1c-1.6 .3-3.3 .4-5 .4H544v36.6l4.3 7.4 1.9 3.3c17.2 29.6 43.4 52.9 74.8 66.5c8.8 3.6 15 12.2 15 22.3c0 13.3-10.7 24-24 24H576v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V448H344v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V448H112v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V448H24c-13.3 0-24-10.7-24-24c0-10.1 6.2-18.7 15-22.3c31.4-13.6 57.6-36.9 74.8-66.5l1.9-3.3 4.3-7.4V288H56.6c-1.7 0-3.4-.1-5-.4c-3.5-.7-6.8-2.1-9.6-4.1s-5.2-4.7-7-7.8c-1.3-2.4-2.3-5-2.7-7.8s-.4-5.6 .1-8.3c.7-3.5 2.1-6.8 4.1-9.6s4.7-5.2 7.8-6.9c1.4-.8 3-1.5 4.6-2l4.8-1.6c39.5-13.2 74.8-36.8 102.1-68.3l2.5-2.9 1.7-1.9V126.7l-1.7 .5c-12.8 3.5-26-4.1-29.5-16.8s4.1-26 16.8-29.5l23.6-6.4C209.2 63.5 247 45.8 281 22L305.8 4.7c1.3-.9 2.7-1.8 4.1-2.4C313.1 .7 316.6 0 320 0s6.9 .7 10.1 2.2c1.4 .7 2.8 1.5 4.1 2.4L359 22C393 45.8 430.8 63.5 470.8 74.4l23.6 6.4c12.8 3.5 20.3 16.7 16.8 29.5s-16.7 20.3-29.5 16.8zM496 320V288H320 144v32H320 496zM152.8 240H320 487.2c-12.3-9.6-23.9-20.3-34.5-32H320 187.3c-10.6 11.7-22.2 22.4-34.5 32zM100.5 400H320 539.5c-9.5-9.8-18.1-20.5-25.5-32H320 126c-7.5 11.5-16 22.2-25.5 32z\"]\n};\nvar faFaceKissClosedEyes = {\n prefix: 'far',\n iconName: 'face-kiss-closed-eyes',\n icon: [512, 512, [], \"e37d\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm304.7 41.7c4.3 5.1 7.3 11.4 7.3 18.3s-3.1 13.2-7.3 18.3c-4.3 5.2-10.1 9.7-16.7 13.4c-2.7 1.5-5.7 3-8.7 4.3c3.1 1.3 6 2.7 8.7 4.3c6.6 3.7 12.5 8.2 16.7 13.4c4.3 5.1 7.3 11.4 7.3 18.3s-3.1 13.2-7.3 18.3c-4.3 5.2-10.1 9.7-16.7 13.4C274.7 427.1 257.4 432 240 432c-3.6 0-6.8-2.5-7.7-6s.6-7.2 3.8-9l0 0 0 0 0 0 0 0 .2-.1c.2-.1 .5-.3 .9-.5c.8-.5 2-1.2 3.4-2.1c2.8-1.9 6.5-4.5 10.2-7.6c3.7-3.1 7.2-6.6 9.6-10.1c2.5-3.5 3.5-6.4 3.5-8.6s-1-5-3.5-8.6c-2.5-3.5-5.9-6.9-9.6-10.1c-3.7-3.1-7.4-5.7-10.2-7.6c-1.4-.9-2.6-1.6-3.4-2.1c-.4-.2-.7-.4-.9-.5l-.2-.1 0 0 0 0 0 0c-2.5-1.4-4.1-4.1-4.1-7s1.6-5.6 4.1-7l0 0 0 0 0 0 0 0 0 0 .2-.1c.2-.1 .5-.3 .9-.5c.8-.5 2-1.2 3.4-2.1c2.8-1.9 6.5-4.5 10.2-7.6c3.7-3.1 7.2-6.6 9.6-10.1c2.5-3.5 3.5-6.4 3.5-8.6s-1-5-3.5-8.6c-2.5-3.5-5.9-6.9-9.6-10.1c-3.7-3.1-7.4-5.7-10.2-7.6c-1.4-.9-2.6-1.6-3.4-2.1c-.4-.2-.7-.4-.9-.5l-.2-.1 0 0 0 0 0 0c-3.2-1.8-4.7-5.5-3.8-9s4.1-6 7.7-6c17.4 0 34.7 4.9 47.9 12.3c6.6 3.7 12.5 8.2 16.7 13.4zM175.6 220c-10.6 0-19.9 3.8-25.4 9.7c-7.6 8.1-20.2 8.5-28.3 .9s-8.5-20.2-.9-28.3c14.5-15.5 35.2-22.3 54.6-22.3s40.1 6.8 54.6 22.3c7.6 8.1 7.1 20.7-.9 28.3s-20.7 7.1-28.3-.9c-5.5-5.8-14.8-9.7-25.4-9.7zm134.6 9.7c-7.6 8.1-20.2 8.5-28.3 .9s-8.5-20.2-.9-28.3c14.5-15.5 35.2-22.3 54.6-22.3s40.1 6.8 54.6 22.3c7.6 8.1 7.1 20.7-.9 28.3s-20.7 7.1-28.3-.9c-5.5-5.8-14.8-9.7-25.4-9.7s-19.9 3.8-25.4 9.7z\"]\n};\nvar faScaleUnbalanced = {\n prefix: 'far',\n iconName: 'scale-unbalanced',\n icon: [640, 512, [\"balance-scale-left\"], \"f515\", \"M542.9 16.7c4 12.6-2.9 26.1-15.5 30.2L399.6 87.7c-3.1 32.4-25.5 59.2-55.6 68.6V464H520c13.3 0 24 10.7 24 24s-10.7 24-24 24H320c-13.3 0-24-10.7-24-24V156.3c-14.2-4.5-26.8-12.8-36.4-23.8L127.3 174.9c-12.6 4-26.1-2.9-30.2-15.5s2.9-26.1 15.5-30.2L240.4 88.3c-.3-2.7-.4-5.5-.4-8.3c0-44.2 35.8-80 80-80c29.8 0 55.8 16.3 69.6 40.5L512.7 1.1c12.6-4 26.1 2.9 30.2 15.5zM512 163.8L439.6 288H584.4L512 163.8zM386 305.1c-2.6-11 1-22.3 6.7-32.1l95.2-163.2c5-8.6 14.2-13.8 24.1-13.8s19.1 5.3 24.1 13.8l95.2 163.2c5.7 9.8 9.3 21.1 6.7 32.1C627.2 350 574.9 384 512 384s-115.2-34-126-78.9zM56.7 416H201.6L129.2 291.8 56.7 416zm72.4 96C66.3 512 14 478 3.2 433.1c-2.6-11 1-22.3 6.7-32.1l95.2-163.2c5-8.6 14.2-13.8 24.1-13.8s19.1 5.3 24.1 13.8l95.2 163.2c5.7 9.8 9.3 21.1 6.7 32.1C244.3 478 192 512 129.2 512zM320 112a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faBalanceScaleLeft = faScaleUnbalanced;\nvar faFileUser = {\n prefix: 'far',\n iconName: 'file-user',\n icon: [384, 512, [], \"f65c\", \"M304 464c0-44.2-35.8-80-80-80H160c-44.2 0-80 35.8-80 80H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H304zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zM256 288a64 64 0 1 0 -128 0 64 64 0 1 0 128 0z\"]\n};\nvar faUserPoliceTie = {\n prefix: 'far',\n iconName: 'user-police-tie',\n icon: [448, 512, [], \"e334\", \"M217.9 .8l-152 40c-8.6 2.3-15.3 9.1-17.3 17.8s1 17.8 7.8 23.6L80 102.5v8.4c0 10.7 5.3 20.8 15.1 25.2c24.1 10.8 68.6 24 128.9 24s104.8-13.2 128.9-24c9.8-4.4 15.1-14.5 15.1-25.2v-8.4l23.6-20.2c6.8-5.8 9.8-14.9 7.8-23.6s-8.7-15.6-17.3-17.8l-152-40c-4-1.1-8.2-1.1-12.2 0zM221 48.6c1.9-.8 4-.8 5.9 0l32 12.8c3 1.2 5 4.2 5 7.4c0 17.2-7 46.1-36.9 58.6c-2 .8-4.2 .8-6.2 0C191 114.9 184 86 184 68.8c0-3.3 2-6.2 5-7.4l32-12.8zM96 192c0 70.7 57.3 128 128 128s128-57.3 128-128c0-7.9-.7-15.7-2.1-23.2c-14 5.4-28.5 9.9-43.3 13.4c.4 3.2 .6 6.5 .6 9.8c0 46-37.2 83.2-83.2 83.2s-83.2-37.2-83.2-83.2c0-3.3 .2-6.6 .6-9.8c-14.8-3.6-29.3-8.1-43.3-13.4C96.7 176.3 96 184.1 96 192zm91.6 183.2L208 416l-12.2 48.9 0 0-.5-.9 0 0L133 360.3c-3-5-8.6-8.1-14.4-7.4C51.8 360.8 0 417.5 0 486.4C0 500.5 11.5 512 25.6 512H168h0 1 21.2H192v0h64v0h1.7 21.2 1 0H422.4c14.1 0 25.6-11.5 25.6-25.6c0-68.9-51.8-125.6-118.6-133.5c-5.8-.7-11.4 2.4-14.4 7.4L252.8 464l0 0-.5 .9 0 0L240 416l20.4-40.8c5.3-10.6-2.4-23.2-14.3-23.2H201.9c-11.9 0-19.6 12.5-14.3 23.2zM139.2 464H50.9c7.2-27 27.3-48.8 53.2-58.5L139.2 464zm257.8 0H308.8l35.1-58.5c25.9 9.7 45.9 31.5 53.2 58.5z\"]\n};\nvar faFaceTongueMoney = {\n prefix: 'far',\n iconName: 'face-tongue-money',\n icon: [512, 512, [], \"e39d\", \"M348.3 442.4c2.2-7.7 3.5-15.9 3.7-24.3c30.5-21.1 53.2-52.1 63.3-88.1c3.8-13.7-7.4-26.1-21.6-26.1H352 320 192 160 118.4c-14.2 0-25.5 12.4-21.6 26.1c10.1 36 32.8 66.9 63.3 88.1c.2 8.4 1.5 16.5 3.7 24.3C95.1 408.4 48 337.7 48 256C48 141.1 141.1 48 256 48s208 93.1 208 208c0 81.7-47.1 152.4-115.7 186.4zm-44.4 16C292.2 471.7 275.1 480 256 480s-36.2-8.3-47.9-21.5c-5.5-6.2-9.8-13.5-12.6-21.6c-2.3-6.5-3.5-13.6-3.5-20.9V336H320v80c0 7.3-1.2 14.4-3.5 20.9c-2.8 8-7.1 15.3-12.6 21.6zM256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM192 120c0-8.8-7.2-16-16-16s-16 7.2-16 16v9.3c-5.7 1.2-11.6 3.3-17 7.1c-7.5 5.4-12.6 13.5-14.4 23.6c-1.3 7.3-.7 14.5 2.2 21.2c2.9 6.6 7.6 11.3 12.4 14.6c8.4 5.8 19.3 9 27.2 11.2l1.1 .3c9.6 2.7 15.4 4.6 18.8 7c2.6 1.8 2.2 6.4-.6 8l0 0c-1.2 .7-3.8 1.6-8.8 1.5c-10.1-.2-22.5-3.9-32-7.1c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2c5.1 1.7 12.6 4.2 21.1 6V264c0 8.8 7.2 16 16 16s16-7.2 16-16v-8.9c4.8-.9 9.8-2.5 14.4-5.2c9.1-5.5 15-14.4 17-25.9c1.3-7.3 .7-14.5-2.2-21.2c-2.9-6.6-7.6-11.3-12.4-14.6c-7.1-5-15.5-7.2-23.9-9.4c-8.2-2.2-16.4-4.3-23.3-9.1c-2.4-1.7-2.4-5.3 .2-7.2c1-.7 3.1-1.7 7.1-2.1c8.2-.9 18.7 1 27 3.2c8.5 2.3 17.3-2.8 19.6-11.3s-2.8-17.3-11.3-19.6c-3.4-.9-7.5-1.9-12.1-2.7V120zm144-16c-8.8 0-16 7.2-16 16v9.3c-5.7 1.2-11.6 3.3-17 7.1c-7.5 5.4-12.6 13.5-14.4 23.6c-1.3 7.3-.7 14.5 2.2 21.2c2.9 6.6 7.6 11.3 12.4 14.6c8.4 5.8 19.4 9 27.2 11.2l1.1 .3c9.5 2.7 15.4 4.6 18.8 7c2.6 1.8 2.2 6.4-.6 8l0 0c-1.2 .7-3.8 1.6-8.8 1.5c-10.1-.2-22.5-3.9-32-7.1c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2c5.1 1.7 12.6 4.2 21.1 6V264c0 8.8 7.2 16 16 16s16-7.2 16-16v-8.9c4.8-.9 9.8-2.5 14.4-5.2c9.1-5.5 15-14.4 17-25.9c1.3-7.3 .7-14.5-2.2-21.2c-2.9-6.6-7.6-11.3-12.4-14.6c-7.1-5-15.5-7.2-23.9-9.4c-8.2-2.2-16.4-4.3-23.3-9.1c-2.4-1.7-2.4-5.3 .2-7.2c1-.7 3.1-1.7 7.1-2.1c8.2-.9 18.7 1 27 3.2c8.5 2.3 17.3-2.8 19.6-11.3s-2.8-17.3-11.3-19.6c-3.4-.9-7.5-1.9-12.1-2.7V120c0-8.8-7.2-16-16-16zM267.2 355.6c0-6.4-5.4-11.6-12-11.6s-12 5.2-12 11.6v6.8c-4.3 .8-8.7 2.4-12.7 5.2c-5.6 4-9.5 9.8-10.8 17.2c-.9 5.3-.5 10.6 1.7 15.4c2.2 4.8 5.7 8.2 9.3 10.6c6.3 4.2 14.5 6.5 20.4 8.1l.8 .2c7.2 2 11.5 3.3 14.1 5.1c1.9 1.3 1.6 4.6-.4 5.8l0 0c-.9 .5-2.8 1.1-6.6 1.1c-7.6-.1-16.9-2.9-24-5.2c-6.3-2-13.1 1.3-15.2 7.4s1.3 12.7 7.6 14.7c3.8 1.2 9.5 3 15.8 4.4v7.8c0 6.4 5.4 11.6 12 11.6s12-5.2 12-11.6v-6.5c3.6-.6 7.3-1.8 10.8-3.8c6.8-4 11.2-10.5 12.7-18.9c.9-5.3 .5-10.6-1.7-15.4c-2.2-4.8-5.7-8.2-9.3-10.6c-5.4-3.6-11.7-5.2-17.9-6.8c-6.2-1.6-12.3-3.2-17.5-6.6c-1.8-1.2-1.8-3.9 .2-5.2c.7-.5 2.3-1.2 5.3-1.5c6.1-.6 14 .7 20.2 2.3c6.4 1.7 13-2 14.7-8.3s-2.1-12.6-8.5-14.2c-2.5-.7-5.7-1.4-9.1-2v-7.2z\"]\n};\nvar faTennisBall = {\n prefix: 'far',\n iconName: 'tennis-ball',\n icon: [512, 512, [127934], \"f45e\", \"M248 463.8c0-55.2 21.1-110.4 63.3-152.6s97.4-63.2 152.6-63.3C459.7 139.5 372.5 52.3 264 48.2c0 55.2-21.1 110.4-63.3 152.6S103.4 264 48.2 264C52.3 372.5 139.5 459.7 248 463.8zm48-3.7C378.8 444 444 378.8 460.2 296c-41.7 1-83.1 17.3-114.9 49.2S297 418.4 296 460.2zM51.9 216c41.7-1 83.1-17.3 114.9-49.2S215 93.6 216 51.9C133.2 68 68 133.2 51.9 216zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z\"]\n};\nvar faSquareL = {\n prefix: 'far',\n iconName: 'square-l',\n icon: [448, 512, [], \"e275\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm176 56V336H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24V152c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faSortUp = {\n prefix: 'far',\n iconName: 'sort-up',\n icon: [320, 512, [\"sort-asc\"], \"f0de\", \"M160 86.6L70.6 176H249.4L160 86.6zM137.4 41.4c12.5-12.5 32.8-12.5 45.3 0l128 128c9.2 9.2 11.9 22.9 6.9 34.9s-16.6 19.8-29.6 19.8H32c-12.9 0-24.6-7.8-29.6-19.8s-2.2-25.7 6.9-34.9l128-128z\"]\n};\nvar faSortAsc = faSortUp;\nvar faCalendarArrowUp = {\n prefix: 'far',\n iconName: 'calendar-arrow-up',\n icon: [448, 512, [\"calendar-upload\"], \"e0d1\", \"M128 0c13.3 0 24 10.7 24 24V64H296V24c0-13.3 10.7-24 24-24s24 10.7 24 24V64h40c35.3 0 64 28.7 64 64v16 48V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192 144 128C0 92.7 28.7 64 64 64h40V24c0-13.3 10.7-24 24-24zM400 192H48V448c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V192zM200 408l0-102.1-39 39c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l80-80c9.4-9.4 24.6-9.4 33.9 0l80 80c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-39-39L248 408c0 13.3-10.7 24-24 24s-24-10.7-24-24z\"]\n};\nvar faCalendarUpload = faCalendarArrowUp;\nvar faCommentDots = {\n prefix: 'far',\n iconName: 'comment-dots',\n icon: [512, 512, [128172, 62075, \"commenting\"], \"f4ad\", \"M168.2 384.9c-15-5.4-31.7-3.1-44.6 6.4c-8.2 6-22.3 14.8-39.4 22.7c5.6-14.7 9.9-31.3 11.3-49.4c1-12.9-3.3-25.7-11.8-35.5C60.4 302.8 48 272 48 240c0-79.5 83.3-160 208-160s208 80.5 208 160s-83.3 160-208 160c-31.6 0-61.3-5.5-87.8-15.1zM26.3 423.8c-1.6 2.7-3.3 5.4-5.1 8.1l-.3 .5c-1.6 2.3-3.2 4.6-4.8 6.9c-3.5 4.7-7.3 9.3-11.3 13.5c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c5.1 0 10.2-.3 15.3-.8l.7-.1c4.4-.5 8.8-1.1 13.2-1.9c.8-.1 1.6-.3 2.4-.5c17.8-3.5 34.9-9.5 50.1-16.1c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9zM144 272a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm144-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm80 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faCommenting = faCommentDots;\nvar faPlantWilt = {\n prefix: 'far',\n iconName: 'plant-wilt',\n icon: [512, 512, [], \"e5aa\", \"M280 112c0-35.3 28.7-64 64-64s64 28.7 64 64v18.7c-33.9 8-56 33.6-56 72.4c0 27.9 25.3 74.8 66 111.6c3.8 3.5 8.9 5.3 14 5.3s10.2-1.8 14-5.3c40.7-36.8 66-83.7 66-111.6c0-38.8-22.1-64.4-56-72.4V112C456 50.1 405.9 0 344 0S232 50.1 232 112v36.1c-18.1-12.7-40.2-20.1-64-20.1c-61.9 0-112 50.1-112 112v18.7c-33.9 8-56 33.6-56 72.4C0 359 25.3 405.9 66 442.7c3.8 3.5 8.9 5.3 14 5.3s10.2-1.8 14-5.3c40.7-36.8 66-83.7 66-111.6c0-38.8-22.1-64.4-56-72.4V240c0-35.3 28.7-64 64-64s64 28.7 64 64v32V488c0 13.3 10.7 24 24 24s24-10.7 24-24V272 240 112zM54.7 311.3c3.2-2.9 9.9-6.7 22.3-7.2c1 .1 2 .2 3.1 .2s2.1-.1 3.1-.2c12.3 .5 19.1 4.3 22.3 7.2c2.9 2.6 6.7 7.9 6.7 19.8c0 0 0 0 0 0c0 .1 0 .8-.3 2.3c-.3 1.6-.8 3.7-1.8 6.4c-1.8 5.4-4.9 12.2-9.3 19.9c-5.4 9.3-12.3 19.2-20.7 28.9c-8.3-9.7-15.3-19.6-20.7-28.9c-4.4-7.7-7.4-14.4-9.3-19.9c-.9-2.7-1.4-4.8-1.8-6.4c-.3-1.5-.3-2.2-.3-2.3c0 0 0 0 0 0c0-11.9 3.8-17.1 6.7-19.8zM400 203.1c0-11.9 3.8-17.1 6.7-19.8c3.5-3.1 11-7.3 25.3-7.3s21.9 4.1 25.3 7.3c2.9 2.6 6.7 7.9 6.7 19.8c0 0 0 0 0 0c0 .1 0 .8-.3 2.3c-.3 1.6-.8 3.7-1.8 6.4c-1.8 5.4-4.9 12.2-9.3 19.9c-5.4 9.3-12.3 19.2-20.7 28.9c-8.3-9.7-15.3-19.6-20.7-28.9c-4.4-7.7-7.4-14.4-9.3-19.9c-.9-2.7-1.4-4.8-1.8-6.4c-.3-1.5-.3-2.2-.3-2.3l0 0z\"]\n};\nvar faScarf = {\n prefix: 'far',\n iconName: 'scarf',\n icon: [512, 512, [129507], \"f7c1\", \"M306.7 256l0 0 33.9 33.9L362.7 312 312 362.7 162.4 213.1c-11.7-11.7-18.4-27.7-18.4-44.3c0-10.8 2.8-21.3 8-30.7l41.5-73.8C199.2 54.2 209.9 48 221.4 48h69.1c11.6 0 22.2 6.2 27.9 16.3L360 138.1c5.3 9.4 8 20 8 30.7c0 16.6-6.6 32.6-18.3 44.3l-9 9-50.7-50.7 8-8c3.9-3.9 6.1-9.1 6.1-14.6c0-11.4-9.3-20.7-20.7-20.7H228.7c-11.4 0-20.7 9.3-20.7 20.7c0 5.5 2.2 10.7 6.1 14.6L306.7 256h0zm101.8 33.9l-11.9-11.9L374.6 256l9-9c20.8-20.8 32.4-48.9 32.4-78.2c0-19-4.9-37.7-14.2-54.2L360.3 40.8C346.1 15.6 319.5 0 290.6 0H221.4c-28.9 0-55.6 15.6-69.7 40.8l-41.5 73.8C100.9 131.1 96 149.8 96 168.8c0 29.3 11.7 57.5 32.4 78.2L278.1 396.7l30.6 30.6 0 0 3.3 3.3 76.7 76.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L334.6 408l11.3-11.3L360 382.6l76.7 76.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L382.6 360l14.1-14.1L408 334.6l76.7 76.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L430.6 312l-3.3-3.3 0 0-18.7-18.7zM116.7 276.7l-112 112c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l112-112-22.6-22.6zm48 48l-112 112c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l112-112-22.6-22.6zm48 48l-112 112c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l112-112-22.6-22.6z\"]\n};\nvar faAlbumCirclePlus = {\n prefix: 'far',\n iconName: 'album-circle-plus',\n icon: [576, 512, [], \"e48c\", \"M64 80H384c8.8 0 16 7.2 16 16v98.9c10.4-1.9 21.1-2.9 32-2.9c5.4 0 10.7 .2 16 .7V96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H296.2c-11.8-14.3-21.4-30.5-28.2-48H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16zm160 32c-79.5 0-144 64.5-144 144s64.5 144 144 144c11.8 0 23.2-1.4 34.2-4.1c-1.4-9.1-2.2-18.4-2.2-27.9c0-71.4 42.5-132.9 103.6-160.5C339.7 151.8 286.5 112 224 112zM192 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm16-208v48h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H448v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V384H368c-8.8 0-16-7.2-16-16s7.2-16 16-16h48V304c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faUserNurseHairLong = {\n prefix: 'far',\n iconName: 'user-nurse-hair-long',\n icon: [448, 512, [], \"e45e\", \"M96 70.2V128h.3c-.2 2.6-.3 5.3-.3 8v24 11c0 33.9-13.5 66.5-37.5 90.5l-3.9 3.9c-4.2 4.2-6.6 10-6.6 16C48 293.9 58.1 304 70.6 304H224 377.4c12.5 0 22.6-10.1 22.6-22.6c0-6-2.4-11.8-6.6-16l-3.9-3.9c-24-24-37.5-56.6-37.5-90.5V160 136c0-2.7-.1-5.4-.3-8h.3V70.2c0-13.3-8.3-25.3-20.8-30l-96-36c-7.2-2.7-15.2-2.7-22.5 0l-96 36C104.3 44.9 96 56.8 96 70.2zM304 160v16c0 44.2-35.8 80-80 80s-80-35.8-80-80l32 0c29.8 0 55.9-16.3 69.6-40.5C257.3 150.4 275.5 160 296 160h8zM50 461.9c7.8-38.7 38-69.3 76.4-77.7l52.3 52.3c25 25 65.5 25 90.5 0l52.3-52.3c38.5 8.4 68.6 39 76.4 77.7H50zm80.4-127C56.9 343.6 0 406 0 481.8c0 15.6 12.6 28.2 28.2 28.2H419.8c15.6 0 28.2-12.6 28.2-28.2C448 406 391.1 343.6 317.6 335c-8.7-1-17.2 2.5-23.4 8.7l-58.9 58.9c-6.2 6.2-16.4 6.2-22.6 0l-58.9-58.9c-6.2-6.2-14.7-9.8-23.4-8.7zM208 48c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8V64h16c4.4 0 8 3.6 8 8V88c0 4.4-3.6 8-8 8H240v16c0 4.4-3.6 8-8 8H216c-4.4 0-8-3.6-8-8V96H192c-4.4 0-8-3.6-8-8V72c0-4.4 3.6-8 8-8h16V48z\"]\n};\nvar faDiamond = {\n prefix: 'far',\n iconName: 'diamond',\n icon: [512, 512, [9830], \"f219\", \"M249 50.9L50.9 249c-1.9 1.9-2.9 4.4-2.9 7s1 5.2 2.9 7L249 461.1c1.9 1.9 4.4 2.9 7 2.9s5.2-1 7-2.9L461.1 263c1.9-1.9 2.9-4.4 2.9-7s-1-5.2-2.9-7L263 50.9c-1.9-1.9-4.4-2.9-7-2.9s-5.2 1-7 2.9zM17 215L215 17C225.9 6.1 240.6 0 256 0s30.1 6.1 41 17L495 215c10.9 10.9 17 25.6 17 41s-6.1 30.1-17 41L297 495c-10.9 10.9-25.6 17-41 17s-30.1-6.1-41-17L17 297C6.1 286.1 0 271.4 0 256s6.1-30.1 17-41z\"]\n};\nvar faSquareLeft = {\n prefix: 'far',\n iconName: 'square-left',\n icon: [448, 512, [11013, \"arrow-alt-square-left\"], \"f351\", \"M48 416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16L64 80c-8.8 0-16 7.2-16 16l0 320zm16 64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64zM185.4 360.8l-84-91c-3.5-3.8-5.4-8.7-5.4-13.9s1.9-10.1 5.4-13.9l84-91c4.2-4.6 10.1-7.2 16.4-7.2c12.3 0 22.3 10 22.3 22.3V208h96c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32H224v41.7c0 12.3-10 22.3-22.3 22.3c-6.2 0-12.1-2.6-16.4-7.2z\"]\n};\nvar faArrowAltSquareLeft = faSquareLeft;\nvar faFaceGrinSquint = {\n prefix: 'far',\n iconName: 'face-grin-squint',\n icon: [512, 512, [128518, \"grin-squint\"], \"f585\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm349.5 52.4c18.7-4.4 35.9 12 25.5 28.1C350.4 374.6 306.3 400 255.9 400s-94.5-25.4-119.1-63.5c-10.4-16.1 6.8-32.5 25.5-28.1c28.9 6.8 60.5 10.5 93.6 10.5s64.7-3.7 93.6-10.5zm-216-161.7l89.9 47.9c10.7 5.7 10.7 21.1 0 26.8l-89.9 47.9c-7.9 4.2-17.5-1.5-17.5-10.5c0-2.8 1-5.5 2.8-7.6l36-43.2-36-43.2c-1.8-2.1-2.8-4.8-2.8-7.6c0-9 9.6-14.7 17.5-10.5zM396 157.1c0 2.8-1 5.5-2.8 7.6l-36 43.2 36 43.2c1.8 2.1 2.8 4.8 2.8 7.6c0 9-9.6 14.7-17.5 10.5l-89.9-47.9c-10.7-5.7-10.7-21.1 0-26.8l89.9-47.9c7.9-4.2 17.5 1.5 17.5 10.5z\"]\n};\nvar faGrinSquint = faFaceGrinSquint;\nvar faCircleEllipsisVertical = {\n prefix: 'far',\n iconName: 'circle-ellipsis-vertical',\n icon: [512, 512, [], \"e10b\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm-32-64a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm32 160a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faHandHoldingDollar = {\n prefix: 'far',\n iconName: 'hand-holding-dollar',\n icon: [576, 512, [\"hand-holding-usd\"], \"f4c0\", \"M312 24V34.5c6.4 1.2 12.6 2.7 18.2 4.2c12.8 3.4 20.4 16.6 17 29.4s-16.6 20.4-29.4 17c-10.9-2.9-21.1-4.9-30.2-5c-7.3-.1-14.7 1.7-19.4 4.4c-2.1 1.3-3.1 2.4-3.5 3c-.3 .5-.7 1.2-.7 2.8c0 .3 0 .5 0 .6c.2 .2 .9 1.2 3.3 2.6c5.8 3.5 14.4 6.2 27.4 10.1l.9 .3c11.1 3.3 25.9 7.8 37.9 15.3c13.7 8.6 26.1 22.9 26.4 44.9c.3 22.5-11.4 38.9-26.7 48.5c-6.7 4.1-13.9 7-21.3 8.8V232c0 13.3-10.7 24-24 24s-24-10.7-24-24V220.6c-9.5-2.3-18.2-5.3-25.6-7.8c-2.1-.7-4.1-1.4-6-2c-12.6-4.2-19.4-17.8-15.2-30.4s17.8-19.4 30.4-15.2c2.6 .9 5 1.7 7.3 2.5c13.6 4.6 23.4 7.9 33.9 8.3c8 .3 15.1-1.6 19.2-4.1c1.9-1.2 2.8-2.2 3.2-2.9c.4-.6 .9-1.8 .8-4.1l0-.2c0-1 0-2.1-4-4.6c-5.7-3.6-14.3-6.4-27.1-10.3l-1.9-.6c-10.8-3.2-25-7.5-36.4-14.4c-13.5-8.1-26.5-22-26.6-44.1c-.1-22.9 12.9-38.6 27.7-47.4c6.4-3.8 13.3-6.4 20.2-8.2V24c0-13.3 10.7-24 24-24s24 10.7 24 24zM187.4 352c-7.9 0-15.6 2.3-22.2 6.7L85.3 412c-3.9 2.6-8.6 4-13.3 4H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H64.7l73.8-49.2C153 309.1 170 304 187.4 304H344c35.3 0 64 28.7 64 64c0 .7 0 1.3 0 2l64.9-40c10.7-6.6 22.9-10 35.5-10h7.4c33.3 0 60.3 27 60.3 60.3c0 20.4-10.4 39.5-27.5 50.6l-95.6 61.9c-19.4 12.6-42.1 19.3-65.2 19.3H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H387.7c13.9 0 27.5-4 39.1-11.6l95.6-61.9c3.5-2.3 5.6-6.1 5.6-10.3c0-6.8-5.5-12.3-12.3-12.3h-7.4c-3.6 0-7.2 1-10.3 2.9l-93.5 57.5c-3.8 2.3-8.1 3.6-12.6 3.6H344 320 256c-13.3 0-24-10.7-24-24s10.7-24 24-24h64 24c8.8 0 16-7.2 16-16s-7.2-16-16-16H187.4z\"]\n};\nvar faHandHoldingUsd = faHandHoldingDollar;\nvar faGridDividers = {\n prefix: 'far',\n iconName: 'grid-dividers',\n icon: [512, 512, [], \"e3ad\", \"M0 24C0 10.7 10.7 0 24 0H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H24C10.7 48 0 37.3 0 24zM80 176h32V144H80v32zM32 128c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V128zM80 464h32V432H80v32zM32 416c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V416zM240 144v32h32V144H240zM224 96h64c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H224c-17.7 0-32-14.3-32-32V128c0-17.7 14.3-32 32-32zm16 368h32V432H240v32zm-48-48c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H224c-17.7 0-32-14.3-32-32V416zM400 144v32h32V144H400zM384 96h64c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H384c-17.7 0-32-14.3-32-32V128c0-17.7 14.3-32 32-32zm16 368h32V432H400v32zm-48-48c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H384c-17.7 0-32-14.3-32-32V416zM24 288H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faBacterium = {\n prefix: 'far',\n iconName: 'bacterium',\n icon: [512, 512, [], \"e05a\", \"M423.1 30.6c3.6-12.7-3.7-26-16.5-29.7s-26 3.7-29.7 16.5l-4.2 14.7c-9.8-.4-19.9 .5-29.9 2.8c-12.1 2.8-23.7 5.9-34.9 9.4l-5.9-13.7c-5.2-12.2-19.3-17.8-31.5-12.6s-17.8 19.3-12.6 31.5l4.9 11.3c-22 9.4-42 20.1-60.2 31.8L196 82.7c-7.4-11-22.3-14-33.3-6.7s-14 22.3-6.7 33.3l7.8 11.6c-18 15-33.7 30.8-47.3 47.1L103 157.3c-10.4-8.3-25.5-6.6-33.7 3.7s-6.6 25.5 3.7 33.7l15 12c-2.1 3.2-4.1 6.5-6 9.7c-8.6 14.3-16.5 29.5-23.3 45.2l-9.8-3.9c-12.3-4.9-26.3 1.1-31.2 13.4s1.1 26.3 13.4 31.2l11.4 4.5c-4.8 16.8-8.2 34-10 51c-.5 5-.6 10-.4 14.9l-14.7 4.2C4.7 380.6-2.7 393.8 .9 406.6s16.9 20.1 29.7 16.5l13.8-3.9c10.6 20.7 27.6 37.8 48.5 48.5l-3.9 13.7c-3.6 12.7 3.7 26 16.5 29.7s26-3.7 29.7-16.5l4.2-14.7c23.8 1 46.3-5.5 65.1-17.6L215 473c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-10.6-10.6c9.1-14.1 15.1-30.5 17-48.3c.6-3.9 1.4-7.7 2.5-11.5l12.7 5.5c12.2 5.2 26.3-.4 31.5-12.6s-.4-26.3-12.6-31.5l-11.3-4.8c9.9-14.9 24.9-31.6 48.6-46l2.1 7.5c3.6 12.7 16.9 20.1 29.7 16.5s20.1-16.9 16.5-29.7L371 259.2c6.9-2.2 14.3-4.3 22.2-6.1c12.9-3 24.7-8 35.2-14.8L439 249c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-10.6-10.6c12.2-19 18.6-41.6 17.6-65.1l14.7-4.2c12.7-3.6 20.1-16.9 16.5-29.7s-16.9-20.1-29.7-16.5l-13.7 3.9c-10.8-21.2-28-38-48.5-48.5l3.9-13.8zM207.9 372.9c-.1 .7-.2 1.4-.3 2.1c-3.8 34.6-34.6 59.9-69.4 56.8c-35.1-3.2-61-34.2-58-69.2c4.4-41 20.4-84 42.9-121.4c38-63.4 107.9-131.1 230.5-159.4c34.4-7.9 68.8 13.5 76.8 48s-13.5 68.8-48 76.8C297 226.1 254.9 270.3 232.9 306.9c-10.8 18-21.1 40.8-25 66zM192 320a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm48-88a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faHandPointer = {\n prefix: 'far',\n iconName: 'hand-pointer',\n icon: [448, 512, [], \"f25a\", \"M160 64c0-8.8 7.2-16 16-16s16 7.2 16 16V200c0 10.3 6.6 19.5 16.4 22.8s20.6-.1 26.8-8.3c3-3.9 7.6-6.4 12.8-6.4c8.8 0 16 7.2 16 16c0 10.3 6.6 19.5 16.4 22.8s20.6-.1 26.8-8.3c3-3.9 7.6-6.4 12.8-6.4c7.8 0 14.3 5.6 15.7 13c1.6 8.2 7.3 15.1 15.1 18s16.7 1.6 23.3-3.6c2.7-2.1 6.1-3.4 9.9-3.4c8.8 0 16 7.2 16 16l0 16V392c0 39.8-32.2 72-72 72H272 212.3h-.9c-37.4 0-72.4-18.7-93.2-49.9L50.7 312.9c-4.9-7.4-2.9-17.3 4.4-22.2s17.3-2.9 22.2 4.4L116 353.2c5.9 8.8 16.8 12.7 26.9 9.7s17-12.4 17-23V320 64zM176 0c-35.3 0-64 28.7-64 64V261.7C91.2 238 55.5 232.8 28.5 250.7C-.9 270.4-8.9 310.1 10.8 339.5L78.3 440.8c29.7 44.5 79.6 71.2 133.1 71.2h.9H272h56c66.3 0 120-53.7 120-120V288l0-16c0-35.3-28.7-64-64-64c-4.5 0-8.8 .5-13 1.3c-11.7-15.4-30.2-25.3-51-25.3c-6.9 0-13.5 1.1-19.7 3.1C288.7 170.7 269.6 160 248 160c-2.7 0-5.4 .2-8 .5V64c0-35.3-28.7-64-64-64zm48 304c0-8.8-7.2-16-16-16s-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V304zm48-16c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V304c0-8.8-7.2-16-16-16zm80 16c0-8.8-7.2-16-16-16s-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V304z\"]\n};\nvar faDrumSteelpan = {\n prefix: 'far',\n iconName: 'drum-steelpan',\n icon: [576, 512, [], \"f56a\", \"M528 160c0-9.9-8-29.9-55-49.8c-20-8.5-44.3-15.4-71.9-20.6c-1.2 4.1-2.4 8.8-3.6 13.8c-4.5 18.9-7.6 39.2-5.7 53.3c2.2 16.3 10.4 35.1 19.3 51.1c4 7.3 7.9 13.5 10.9 18c19.1-4.5 36.2-9.9 51-16.2c47.1-19.9 55-39.9 55-49.8zM369.1 231.2c-6.9-12.5-14.9-28.8-20.1-46.3c-15.4 8-36 15.1-61 15.1s-45.6-7.1-61-15.1c-5.2 17.5-13.2 33.8-20.1 46.3c-.7 1.3-1.4 2.5-2.1 3.8c25.7 3.3 53.7 5 83.2 5s57.5-1.8 83.2-5c-.7-1.2-1.4-2.5-2.1-3.8zM350.8 92.3c.8-3.2 1.6-6.3 2.3-9.3c-20.6-2-42.4-3-65.1-3s-44.5 1-65.1 3c.8 2.9 1.6 6 2.3 9.3c2.6 11 5.4 24.5 6.7 38.4c.1 .1 .2 .2 .3 .2c2.6 2.3 6.6 5.4 11.8 8.6c10.5 6.4 25.4 12.5 44 12.5s33.5-6.2 44-12.5c5.2-3.2 9.2-6.3 11.8-8.6c.1-.1 .2-.2 .3-.2c1.3-13.9 4.1-27.4 6.7-38.4zM103 209.8c14.8 6.3 31.9 11.7 51 16.2c3-4.5 6.9-10.8 10.9-18c8.9-16 17.1-34.9 19.3-51.1c1.9-14.2-1.1-34.5-5.7-53.3c-1.2-5-2.5-9.7-3.6-13.8c-27.6 5.1-51.9 12.1-71.9 20.6C56 130.1 48 150.1 48 160s8 29.9 55 49.8zM576 160V352c0 24.3-11.3 44.9-28.1 61c-16.5 15.8-39.1 28.3-64.8 37.8C431.7 470.1 362.6 480 288 480s-143.7-9.9-195.1-29.1c-25.6-9.6-48.2-22-64.8-37.8C11.3 396.9 0 376.3 0 352V160C0 80 128.9 32 288 32s288 48 288 128zm-48 74.9C476.4 269 388.2 288 288 288s-188.4-19-240-53.1V352c0 8.2 3.5 16.9 13.3 26.3c10.2 9.7 26.2 19.3 48.4 27.6C153.9 422.4 216.8 432 288 432s134.1-9.6 178.3-26.1c22.1-8.3 38.2-17.8 48.4-27.6c9.9-9.4 13.3-18.2 13.3-26.3V234.9z\"]\n};\nvar faHandScissors = {\n prefix: 'far',\n iconName: 'hand-scissors',\n icon: [512, 512, [], \"f257\", \"M.2 276.3c-1.2-35.3 26.4-65 61.7-66.2l3.3-.1L57 208.1C22.5 200.5 .7 166.3 8.3 131.8S50.2 75.5 84.7 83.2l173 38.3c2.3-2.9 4.7-5.7 7.1-8.5l18.4-20.3C299.9 74.5 323.5 64 348.3 64l10.2 0c54.1 0 104.1 28.7 131.3 75.4l1.5 2.6c13.6 23.2 20.7 49.7 20.7 76.6L512 344c0 66.3-53.7 120-120 120l-8 0-96 0c-35.3 0-64-28.7-64-64c0-2.8 .2-5.6 .5-8.3c-19.4-11-32.5-31.8-32.5-55.7c0-.8 0-1.6 0-2.4L66.4 338c-35.3 1.2-65-26.4-66.2-61.7zm63.4-18.2c-8.8 .3-15.7 7.7-15.4 16.5s7.7 15.7 16.5 15.4l161.5-5.6c9.8-.3 18.7 5.3 22.7 14.2s2.2 19.3-4.5 26.4c-2.8 2.9-4.4 6.7-4.4 11c0 8.8 7.2 16 16 16c9.1 0 17.4 5.1 21.5 13.3s3.2 17.9-2.3 25.1c-2 2.7-3.2 6-3.2 9.6c0 8.8 7.2 16 16 16l96 0 8 0c39.8 0 72-32.2 72-72l0-125.4c0-18.4-4.9-36.5-14.2-52.4l-1.5-2.6c-18.6-32-52.8-51.6-89.8-51.6l-10.2 0c-11.3 0-22 4.8-29.6 13.1l-17.5-15.9 17.5 15.9-18.4 20.3c-.6 .6-1.1 1.3-1.7 1.9l57 13.2c8.6 2 14 10.6 12 19.2s-10.6 14-19.2 12l-85.6-19.7L74.3 130c-8.6-1.9-17.2 3.5-19.1 12.2s3.5 17.2 12.2 19.1l187.5 41.6c10.2 2.3 17.8 10.9 18.7 21.4l.1 1c.6 6.6-1.5 13.1-5.8 18.1s-10.6 7.9-17.2 8.2L63.6 258.1z\"]\n};\nvar faHandsPraying = {\n prefix: 'far',\n iconName: 'hands-praying',\n icon: [640, 512, [\"praying-hands\"], \"f684\", \"M277.8 48c-5.9 0-11.4 2.9-14.8 7.7l-99.8 141c-12.4 17.6-19.1 38.6-19.1 60.1v40.2c0 24.1-15.4 45.5-38.3 53.1L31.6 374.8C19 379 5.4 372.2 1.2 359.6S3.8 333.4 16.4 329.2l74.1-24.7c3.3-1.1 5.5-4.1 5.5-7.6V256.7c0-31.5 9.8-62.2 28-87.9l99.8-141C236.2 10.4 256.4 0 277.8 0c16.1 0 30.8 5.8 42.2 15.3C331.4 5.8 346.1 0 362.2 0c21.5 0 41.6 10.4 54 27.9l99.8 141c18.2 25.7 28 56.4 28 87.9v40.2c0 3.4 2.2 6.5 5.5 7.6l74.1 24.7c12.6 4.2 19.4 17.8 15.2 30.4s-17.8 19.4-30.4 15.2l-74.1-24.7c-22.9-7.6-38.3-29-38.3-53.1V256.7c0-21.5-6.7-42.5-19.1-60.1L377 55.7c-3.4-4.8-8.9-7.7-14.8-7.7c-9.6 0-18 8-18.2 18.2c0 .1 0 .3 0 .4s0 .3 0 .4c.1 3.7 1.3 7.4 3.3 10.3L416.5 178c10.1 14.7 15.5 32.1 15.5 49.9V236v60c0 13.3-10.7 24-24 24s-24-10.7-24-24V236c0-11-9-20-20-20c-10.9 0-19.8 8.7-20 19.6c0 .1 0 .3 0 .4v74c0 .3 0 .6 0 .9c.4 46.6 31.8 87.3 76.9 99.5l201.4 54.4c12.8 3.5 20.4 16.6 16.9 29.4s-16.6 20.4-29.4 16.9L408.3 456.7C370.9 446.6 339.9 423 320 392c-19.9 31-50.9 54.6-88.3 64.8L30.3 511.2c-12.8 3.5-26-4.1-29.4-16.9s4.1-26 16.9-29.4l201.4-54.4c45.1-12.2 76.5-52.9 76.9-99.5c0-.3 0-.6 0-.9V236c0-.1 0-.3 0-.4c-.2-10.8-9.1-19.6-20-19.6c-11 0-20 9-20 20v60c0 13.3-10.7 24-24 24s-24-10.7-24-24V236v-8.1c0-17.8 5.4-35.2 15.5-49.9L292.7 77.3c2-2.9 3.2-6.6 3.3-10.3c0-.1 0-.3 0-.4s0-.3 0-.4C295.8 56 287.4 48 277.8 48zM320 122.4L287.9 169c12.1 2.1 23.1 7.5 32.1 15.1c9-7.6 20-13 32.1-15.1L320 122.4z\"]\n};\nvar faPrayingHands = faHandsPraying;\nvar faFacePensive = {\n prefix: 'far',\n iconName: 'face-pensive',\n icon: [512, 512, [], \"e384\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM208 368h96c13.3 0 24 10.7 24 24s-10.7 24-24 24H208c-13.3 0-24-10.7-24-24s10.7-24 24-24zm143.6-84c10.6 0 19.9-3.8 25.4-9.7c7.6-8.1 20.2-8.5 28.3-.9s8.5 20.2 .9 28.3C391.7 317.2 371 324 351.6 324s-40.1-6.8-54.6-22.3c-7.6-8.1-7.1-20.7 .9-28.3s20.7-7.1 28.3 .9c5.5 5.8 14.8 9.7 25.4 9.7zm-217.4-9.7c5.5 5.8 14.8 9.7 25.4 9.7s19.9-3.8 25.4-9.7c7.6-8.1 20.2-8.5 28.3-.9s8.5 20.2 .9 28.3C199.7 317.2 179 324 159.6 324s-40.1-6.8-54.6-22.3c-7.6-8.1-7.1-20.7 .9-28.3s20.7-7.1 28.3 .9zM81.7 215.2c-4-7.9-.7-17.5 7.2-21.5l22.9-11.4c14.5-7.2 27.2-17.6 37.4-30.2l14.4-18c5.5-6.9 15.6-8 22.5-2.5s8 15.6 2.5 22.5l-14.4 18c-13 16.3-29.4 29.5-48 38.8l-22.9 11.4c-7.9 4-17.5 .7-21.5-7.2zm341.5-21.5c7.9 4 11.1 13.6 7.2 21.5s-13.6 11.1-21.5 7.2L386 210.9c-18.6-9.3-35-22.6-48.1-38.8l-14.4-18c-5.5-6.9-4.4-17 2.5-22.5s17-4.4 22.5 2.5l14.4 18c10.1 12.7 22.9 23 37.4 30.2l22.9 11.4z\"]\n};\nvar faUserMusic = {\n prefix: 'far',\n iconName: 'user-music',\n icon: [640, 512, [], \"f8eb\", \"M304 128a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zM96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM49.3 464H288v0c0 19.1 7.7 35.4 18.9 48H29.7C13.3 512 0 498.7 0 482.3C0 383.8 79.8 304 178.3 304h91.4c36.3 0 70.1 10.9 98.3 29.5v51.6c-3.2 .4-6.5 1-9.6 1.7C335.1 365.2 304 352 269.7 352H178.3c-65.7 0-120.1 48.7-129 112zM630 164.5c6.3 4.5 10 11.8 10 19.5v48V392c0 1.2-.1 2.4-.3 3.6c.2 1.5 .3 2.9 .3 4.4c0 26.5-28.7 48-64 48s-64-21.5-64-48s28.7-48 64-48c5.5 0 10.9 .5 16 1.5V265.3l-144 48V464c0 26.5-28.7 48-64 48s-64-21.5-64-48s28.7-48 64-48c5.5 0 10.9 .5 16 1.5V296 248c0-10.3 6.6-19.5 16.4-22.8l192-64c7.3-2.4 15.4-1.2 21.6 3.3z\"]\n};\nvar faArrowRotateRight = {\n prefix: 'far',\n iconName: 'arrow-rotate-right',\n icon: [512, 512, [8635, \"arrow-right-rotate\", \"arrow-rotate-forward\", \"redo\"], \"f01e\", \"M472 224c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24s-24 10.7-24 24v80.1l-20-23.5C387 63.4 325.1 32 256 32C132.3 32 32 132.3 32 256s100.3 224 224 224c50.4 0 97-16.7 134.4-44.8c10.6-8 12.7-23 4.8-33.6s-23-12.7-33.6-4.8C332.2 418.9 295.7 432 256 432c-97.2 0-176-78.8-176-176s78.8-176 176-176c54.3 0 102.9 24.6 135.2 63.4l.1 .2 0 0L418.9 176H328c-13.3 0-24 10.7-24 24s10.7 24 24 24H472z\"]\n};\nvar faArrowRightRotate = faArrowRotateRight;\nvar faArrowRotateForward = faArrowRotateRight;\nvar faRedo = faArrowRotateRight;\nvar faMessagesDollar = {\n prefix: 'far',\n iconName: 'messages-dollar',\n icon: [640, 512, [\"comments-alt-dollar\"], \"f652\", \"M72 48C58.7 48 48 58.7 48 72V248c0 13.3 10.7 24 24 24h48c13.3 0 24 10.7 24 24v19.2L202.7 276c3.9-2.6 8.6-4 13.3-4H344c13.3 0 24-10.7 24-24V72c0-13.3-10.7-24-24-24H72zM0 72C0 32.2 32.2 0 72 0H344c39.8 0 72 32.2 72 72V248c0 39.8-32.2 72-72 72H223.3l-90 60c-7.4 4.9-16.8 5.4-24.6 1.2S96 368.9 96 360V320H72c-39.8 0-72-32.2-72-72V72zM256 352h48v24c0 13.3 10.7 24 24 24h96c4.7 0 9.4 1.4 13.3 4L496 443.2V424c0-13.3 10.7-24 24-24h48c13.3 0 24-10.7 24-24V200c0-13.3-10.7-24-24-24H448V128H568c39.8 0 72 32.2 72 72V376c0 39.8-32.2 72-72 72H544v40c0 8.9-4.9 17-12.7 21.2s-17.3 3.7-24.6-1.2l-90-60H328c-39.8 0-72-32.2-72-72V352zM224 79.1V89.5c5.9 .9 11.6 2.3 16.8 3.6c8.6 2.2 13.7 10.9 11.5 19.5s-10.9 13.7-19.5 11.5c-8.8-2.3-17.3-3.9-25-4c-6.4-.1-13 1.4-17.4 3.9c-3.9 2.2-4.8 4.3-4.8 6.8l0 .1c0 1 0 2.2 4.1 4.6c5.1 3 12.5 5.2 22.7 8.2l.5 .2c9 2.6 20.4 6 29.6 11.6c10.2 6.3 19.6 16.6 19.8 32.8c.2 16.7-8.6 28.6-20 35.5c-5.7 3.4-12 5.7-18.4 7v10.3c0 8.8-7.2 16-16 16s-16-7.2-16-16V230c-8.2-1.7-15.8-4.3-22.5-6.5l0 0 0 0c-1.7-.6-3.3-1.1-4.9-1.6c-8.4-2.7-13-11.7-10.3-20.2s11.7-13 20.2-10.3c2 .6 3.9 1.3 5.8 1.9l0 0 0 0c10.9 3.6 19.2 6.4 28.2 6.6c6.9 .2 13.3-1.3 17.3-3.7c3.3-2 4.6-4.2 4.6-7.7c0-1.8-.4-3.4-4.5-5.9c-5-3.1-12.4-5.4-22.5-8.4l-1.4-.4c-8.7-2.5-19.7-5.8-28.4-10.9c-10.1-5.9-19.8-16-19.9-32.2c-.1-16.8 9.7-28.3 20.8-34.7c5.5-3.2 11.5-5.3 17.6-6.6V79.1c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faCommentsAltDollar = faMessagesDollar;\nvar faSensorOn = {\n prefix: 'far',\n iconName: 'sensor-on',\n icon: [640, 512, [], \"e02b\", \"M384 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm56 96c-13.3 0-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152c0-13.3-10.7-24-24-24zm96 0c-13.3 0-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152c0-13.3-10.7-24-24-24zm381.3-20c11-7.4 14-22.3 6.7-33.3s-22.3-14-33.3-6.7l-48 32c-11 7.4-14 22.3-6.7 33.3s22.3 14 33.3 6.7l48-32zM536 232c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H536zm13.3 140c-11-7.4-25.9-4.4-33.3 6.7s-4.4 25.9 6.7 33.3l48 32c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3l-48-32z\"]\n};\nvar faBalloon = {\n prefix: 'far',\n iconName: 'balloon',\n icon: [384, 512, [], \"e2e3\", \"M48 192c0-79.5 64.5-144 144-144s144 64.5 144 144c0 35.8-18.4 74.2-46.5 110.7c-27.5 35.7-60.2 64.2-79 79.3c-7.6 6.1-13.8 13.5-18.4 21.8c-4.6-8.3-10.9-15.8-18.4-21.8c-18.9-15.1-51.5-43.6-79-79.3C66.4 266.2 48 227.8 48 192zM150.7 450.5L144 464l-.1 .1-3 6-11.6 23.2c-.9 1.8-1.4 3.8-1.4 5.8c0 7.1 5.8 12.9 12.9 12.9h25.9 6.7 .1 36.7 .1 6.7 25.9c7.1 0 12.9-5.8 12.9-12.9c0-2-.5-4-1.4-5.8l-11.6-23.2-3-6-.1-.1-6.7-13.5c-5.3-10.6-2.1-23.6 7.1-31C281.2 386.9 384 294.6 384 192C384 86 298 0 192 0S0 86 0 192C0 294.6 102.8 386.9 143.6 419.5c9.3 7.4 12.5 20.4 7.1 31zM128 184c0-30.9 25.1-56 56-56c13.3 0 24-10.7 24-24s-10.7-24-24-24C126.6 80 80 126.6 80 184c0 13.3 10.7 24 24 24s24-10.7 24-24z\"]\n};\nvar faWebAwesome = {\n prefix: 'far',\n iconName: 'web-awesome',\n icon: [640, 512, [], \"e682\", \"M372.2 52c0 20.9-12.4 39-30.2 47.2L448 192l102.2-20.4 2.2-.4c-5.3-7.7-8.4-17.1-8.4-27.1c0-26.5 21.5-48 48-48s48 21.5 48 48c0 26-20.6 47.1-46.4 48l-9.8 21.8L481 442.3c-10.3 23-33.2 37.7-58.4 37.7l-205.2 0c-25.2 0-48-14.8-58.4-37.7L56.2 213.8 46.4 192C20.6 191.1 0 170 0 144c0-26.5 21.5-48 48-48s48 21.5 48 48c0 10.1-3.1 19.4-8.4 27.1l2.2 .4L192 192 298.1 99.1c-17.7-8.3-30-26.3-30-47.1c0-28.7 23.3-52 52-52s52 23.3 52 52zm44.2 176.1L320 143.8l-96.4 84.3c-11.2 9.8-26.4 13.9-41 10.9L114 225.4l88.7 197.2c2.6 5.7 8.3 9.4 14.6 9.4l205.2 0c6.3 0 12-3.7 14.6-9.4L526 225.4l-68.5 13.7c-14.6 2.9-29.8-1.1-41-10.9z\"]\n};\nvar faBiohazard = {\n prefix: 'far',\n iconName: 'biohazard',\n icon: [576, 512, [9763], \"f780\", \"M173.2 0c-1.8 0-3.5 .7-4.8 2C138.5 32.3 120 74 120 120c0 26.2 6 50.9 16.6 73c-22 2.4-43.8 9.1-64.2 20.5C37.9 232.8 13.3 262.4 .4 296c-.7 1.7-.5 3.7 .5 5.2c2.2 3.7 7.4 4.3 10.6 1.3C64.2 254.3 158 245.1 205 324s-8.1 153.1-77.6 173.2c-4.2 1.2-6.3 5.9-4.1 9.6c1 1.6 2.6 2.7 4.5 3c36.5 5.9 75.2 .1 109.7-19.2c20.4-11.4 37.4-26.5 50.5-43.8c13.1 17.3 30.1 32.4 50.5 43.8c34.5 19.3 73.3 25.2 109.7 19.2c1.9-.3 3.5-1.4 4.5-3c2.2-3.7 .1-8.4-4.1-9.6C379.1 477.1 324 403 371 324s140.7-69.8 193.5-21.4c3.2 2.9 8.4 2.3 10.6-1.3c1-1.6 1.1-3.5 .5-5.2c-12.9-33.6-37.5-63.2-72.1-82.5c-20.4-11.4-42.2-18.1-64.2-20.5C450 170.9 456 146.2 456 120c0-46-18.5-87.7-48.4-118c-1.3-1.3-3-2-4.8-2c-5 0-8.4 5.2-6.7 9.9C421.7 80.5 385.6 176 288 176S154.3 80.5 179.9 9.9c1.7-4.7-1.6-9.9-6.7-9.9zM240 272a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM181.7 417.6c3.3-6.2 5.9-12.8 7.3-19.8c-29.9-23.5-51.1-57.5-58.3-96.4c-7.1-2.2-14.4-3.4-21.7-3.8c-9-.4-18.1 .6-27.1 2.7c7.8 57.1 38.7 106.8 82.9 139.4c6.8-6.7 12.6-14.1 16.8-22.1zM288 64c-28.8 0-56.3 5.9-81.2 16.5c2 8.3 5 16.2 9 23.5c3.8 6.9 8.5 13.3 14.3 18.8c18-7 37.5-10.8 57.9-10.8s40 3.8 57.9 10.8c5.8-5.5 10.5-11.9 14.3-18.8c4-7.3 7-15.2 9-23.5C344.3 69.9 316.8 64 288 64zM445.3 301.3c-7.2 38.9-28.5 72.9-58.3 96.4c1.5 7 4 13.7 7.3 19.8c4.3 8 10 15.4 16.8 22.1c44.3-32.6 75.2-82.3 82.9-139.4c-9-2.2-18.1-3.1-27.1-2.7c-7.3 .3-14.6 1.5-21.7 3.8z\"]\n};\nvar faChessQueenPiece = {\n prefix: 'far',\n iconName: 'chess-queen-piece',\n icon: [256, 512, [\"chess-queen-alt\"], \"f446\", \"M104 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM16 232c0-13.3 10.7-24 24-24h5.1L3.6 140.6c-6.4-10.4-4-24 5.7-31.5l2.5-1.9c6.1-4.7 14.1-6.3 21.5-4.1c2.1 .6 4.4 1 6.8 1c11.7 0 21.4-8.3 23.6-19.4c1.9-9.7 9.5-17.3 19.2-19s19.5 2.6 24.7 11C111.8 83.5 119.4 88 128 88s16.2-4.5 20.5-11.4c5.2-8.4 15-12.8 24.7-11s17.4 9.3 19.2 19c2.1 11 11.9 19.4 23.6 19.4c2.4 0 4.7-.3 6.8-1c7.4-2.2 15.4-.6 21.5 4.1l2.5 1.9c9.7 7.5 12.1 21.1 5.7 31.5L211 208h5c13.3 0 24 10.7 24 24s-10.7 24-24 24H200.8l4.4 96h-48l-4.4-96H103.3l-4.4 96h-48l4.4-96H40c-13.3 0-24-10.7-24-24zm138.6-24l37.1-60.2c-11.6-4.2-21.8-11.2-29.7-20.3c-10.1 5.4-21.6 8.5-33.9 8.5s-23.8-3.1-33.9-8.5c-8 9.1-18.2 16.1-29.7 20.3L101.4 208h53.2zM52.7 464H203.3l-16.6-32H69.2L52.7 464zm143.9-80c12 0 22.9 6.7 28.4 17.3l26.5 51.2c3 5.8 4.6 12.2 4.6 18.7c0 22.5-18.2 40.8-40.8 40.8H40.8C18.2 512 0 493.8 0 471.2c0-6.5 1.6-12.9 4.6-18.7l26.5-51.2C36.5 390.7 47.5 384 59.5 384h137z\"]\n};\nvar faChessQueenAlt = faChessQueenPiece;\nvar faLocationCrosshairs = {\n prefix: 'far',\n iconName: 'location-crosshairs',\n icon: [512, 512, [\"location\"], \"f601\", \"M256 0c13.3 0 24 10.7 24 24V65.5C366.8 76.3 435.7 145.2 446.5 232H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H446.5C435.7 366.8 366.8 435.7 280 446.5V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V446.5C145.2 435.7 76.3 366.8 65.5 280H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H65.5C76.3 145.2 145.2 76.3 232 65.5V24c0-13.3 10.7-24 24-24zM112 256a144 144 0 1 0 288 0 144 144 0 1 0 -288 0zm192 0a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm-144 0a96 96 0 1 1 192 0 96 96 0 1 1 -192 0z\"]\n};\nvar faLocation = faLocationCrosshairs;\nvar faMarsDouble = {\n prefix: 'far',\n iconName: 'mars-double',\n icon: [640, 512, [9891], \"f227\", \"M288 56c0-13.3 10.7-24 24-24H424c13.3 0 24 10.7 24 24V168c0 13.3-10.7 24-24 24s-24-10.7-24-24V113.9l-83.7 83.7C338.7 227.2 352 264.1 352 304c0 97.2-78.8 176-176 176S0 401.2 0 304s78.8-176 176-176c39.9 0 76.8 13.3 106.3 35.7L366.1 80H312c-13.3 0-24-10.7-24-24zM176 432a128 128 0 1 0 0-256 128 128 0 1 0 0 256zM480 158.1L558.1 80H504c-13.3 0-24-10.7-24-24s10.7-24 24-24H616c13.3 0 24 10.7 24 24V168c0 13.3-10.7 24-24 24s-24-10.7-24-24V113.9l-83.7 83.7C530.7 227.2 544 264.1 544 304c0 97.2-78.8 176-176 176c-22.6 0-44.2-4.3-64-12c14.3-11.2 27.1-24.2 38-38.6c8.4 1.7 17.1 2.6 26 2.6c70.7 0 128-57.3 128-128c0-35.7-14.7-68.1-38.3-91.3C471.3 202.5 480 186.3 480 168v-9.9z\"]\n};\nvar faLeftFromBracket = {\n prefix: 'far',\n iconName: 'left-from-bracket',\n icon: [512, 512, [], \"e66c\", \"M160 365.8L50 256 160 146.2l0 53.8c0 13.3 10.7 24 24 24l120 0 0 64-120 0c-13.3 0-24 10.7-24 24l0 53.8zM0 256c0 11.5 4.6 22.5 12.7 30.6L128.8 402.4c8.7 8.7 20.5 13.6 32.8 13.6c25.6 0 46.4-20.8 46.4-46.4l0-33.6 96 0c26.5 0 48-21.5 48-48l0-64c0-26.5-21.5-48-48-48l-96 0 0-33.6c0-25.6-20.8-46.4-46.4-46.4c-12.3 0-24.1 4.9-32.8 13.6L12.7 225.4C4.6 233.5 0 244.5 0 256zM344 432c-13.3 0-24 10.7-24 24s10.7 24 24 24l80 0c48.6 0 88-39.4 88-88l0-272c0-48.6-39.4-88-88-88l-80 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l80 0c22.1 0 40 17.9 40 40l0 272c0 22.1-17.9 40-40 40l-80 0z\"]\n};\nvar faHousePersonLeave = {\n prefix: 'far',\n iconName: 'house-person-leave',\n icon: [640, 512, [\"house-leave\", \"house-person-depart\"], \"e00f\", \"M528 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM461.8 266.6c-1.1 3.2 0 6.6 2.5 8.7l16.3 13.3 32.4-103.8c.1-.3 .2-.7 .3-1c-6.7-3.5-14-5.9-21.7-7.1l-29.9 89.8zm59 54.6l50.1 40.7c6.9 5.6 11.8 13.4 13.8 22.1l22.8 98.6c3 12.9-5.1 25.8-18 28.8s-25.8-5.1-28.8-18l-22.1-96L434 312.6c-18.1-14.7-25.2-39.1-17.8-61.2L439 183.1c-24.7 9.8-44.7 28.9-55.6 53.3l-9.5 21.3c-5.4 12.1-19.6 17.6-31.7 12.2s-17.6-19.6-12.2-31.7l9.5-21.3c17.1-38.5 49.6-68 89.5-81.3c15.3-5.1 31.3-7.7 47.4-7.7h4.9c52.5 0 98.7 34.8 113.2 85.4l10.9 38.1L633 279c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L570 283.9c-4.8-4.8-8.3-10.8-10.2-17.3l-10.5-36.7-28.5 91.3zm-101.1 21l39 31.7-19.2 48c-2 5-5 9.6-8.9 13.4L361 505c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l68.5-68.5 24.1-60.4zM255.2 5.4L391.9 116.8c-14.8 7.8-28.4 17.5-40.5 28.9L240 55 112 159.3V360c0 4.4 3.6 8 8 8H320h40 14.9l-6.6 16.5L336.8 416H120c-30.9 0-56-25.1-56-56V198.4L39.2 218.6c-10.3 8.4-25.4 6.8-33.8-3.4s-6.8-25.4 3.4-33.8l216-176c8.8-7.2 21.5-7.2 30.3 0zM160 208c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V208z\"]\n};\nvar faHouseLeave = faHousePersonLeave;\nvar faHousePersonDepart = faHousePersonLeave;\nvar faRulerTriangle = {\n prefix: 'far',\n iconName: 'ruler-triangle',\n icon: [512, 512, [128208], \"f61c\", \"M48 448V67.9l66.7 66.7-14.1 14.1c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l14.1-14.1 57.4 57.4-14.1 14.1c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l14.1-14.1 57.4 57.4-14.1 14.1c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l14.1-14.1 57.4 57.4-14.1 14.1c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l14.1-14.1L444.1 464H64c-8.8 0-16-7.2-16-16zm454.6 6.6L57.4 9.4C51.4 3.4 43.2 0 34.7 0H32C14.3 0 0 14.3 0 32V448c0 35.3 28.7 64 64 64H480c17.7 0 32-14.3 32-32v-2.7c0-8.5-3.4-16.6-9.4-22.6zM128 256V384H256L128 256z\"]\n};\nvar faCardClub = {\n prefix: 'far',\n iconName: 'card-club',\n icon: [384, 512, [], \"e3e9\", \"M320 48c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H320zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zm66.1 208.3C101.9 211.3 80 235.1 80 264c0 30.9 25.1 56 56 56c15.7 0 29.8-6.4 40-16.8V336H160c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H208V303.2c10.2 10.4 24.3 16.8 40 16.8c30.9 0 56-25.1 56-56c0-28.9-21.9-52.7-50.1-55.7c1.4-5.2 2.1-10.7 2.1-16.3c0-35.3-28.7-64-64-64s-64 28.7-64 64c0 5.6 .7 11.1 2.1 16.3z\"]\n};\nvar faChildDress = {\n prefix: 'far',\n iconName: 'child-dress',\n icon: [320, 512, [], \"e59c\", \"M184 72a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM88 72a72 72 0 1 1 144 0A72 72 0 1 1 88 72zm-17 129.8c21.3-25.7 52.7-40.9 86-41.8c.7 0 1.4 0 2.2 0h.9 .9c.7 0 1.4 0 2.2 0c33.3 .9 64.6 16.1 86 41.8l65.4 78.8c8.5 10.2 7.1 25.3-3.1 33.8s-25.3 7.1-33.8-3.1l-43.1-52 36.3 109c2.4 7.3 1.2 15.4-3.3 21.6s-11.8 10-19.5 10H224v88c0 13.3-10.7 24-24 24s-24-10.7-24-24V400H144v88c0 13.3-10.7 24-24 24s-24-10.7-24-24V400H72c-7.7 0-15-3.7-19.5-10s-5.7-14.3-3.3-21.6l36.3-109-43.1 52c-8.5 10.2-23.6 11.6-33.8 3.1S-2.9 290.9 5.5 280.7l65.4-78.8zM160 208c-.5 0-1 0-1.4 0c-3.2 .2-6.1 2.3-7.1 5.5L105.3 352H214.7L168.5 213.5c-1-3.1-3.9-5.3-7.1-5.5c-.5 0-1 0-1.4 0z\"]\n};\nvar faUsersBetweenLines = {\n prefix: 'far',\n iconName: 'users-between-lines',\n icon: [640, 512, [], \"e591\", \"M24 0H616c13.3 0 24 10.7 24 24s-10.7 24-24 24H24C10.7 48 0 37.3 0 24S10.7 0 24 0zm0 464H616c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24zM321.6 208a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm-60.5 80.8c4.1-.5 8.3-.8 12.5-.8h48 48c4.2 0 8.4 .3 12.5 .8c47.1 6.1 83.5 46.4 83.5 95.2c0 17.7-14.3 32-32 32h-224c-17.7 0-32-14.3-32-32c0-11.2 1.9-22 5.5-32h0c10.5-29.7 35.3-52.8 66.1-60.9c0 0 0 0 0 0c3.9-1 7.9-1.8 11.9-2.3zM273.6 240c-19.4-14.6-32-37.8-32-64c0-44.2 35.8-80 80-80s80 35.8 80 80c0 26.2-12.6 49.4-32 64l0 0c-13.4 10-30 16-48 16s-34.6-6-48-16l0 0zM392.7 341.9c-6.8-3.8-14.7-5.9-23.1-5.9h-96c-20.9 0-38.7 13.4-45.3 32H414.9c-2.6-7.3-6.9-13.8-12.4-19c-3.7-1.7-7-4.2-9.8-7.1zM147.2 96a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM96 256h96c12.2 0 23.7 3.4 33.4 9.4c-37.2 15.1-65.6 47.2-75.8 86.6H64c-17.7 0-32-14.3-32-32c0-35.3 28.7-64 64-64zm480 96H493.6c-10.3-40.1-39.6-72.6-77.7-87.4c9.4-5.5 20.4-8.6 32.1-8.6h96c35.3 0 64 28.7 64 64c0 17.7-14.3 32-32 32zM499.2 96a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]\n};\nvar faLungsVirus = {\n prefix: 'far',\n iconName: 'lungs-virus',\n icon: [640, 512, [], \"e067\", \"M344 24V150.4c-7.1-4.1-15.3-6.4-24-6.4s-16.9 2.3-24 6.4V24c0-13.3 10.7-24 24-24s24 10.7 24 24zM256 165.3v24.1c-14.4-9.6-32.8-10.5-48-2.9V165.3c0-11.8-9.6-21.3-21.3-21.3c-6.8 0-12.8 3.2-16.4 8.3c-14.7 21.1-42.3 62.6-67.8 111.6C77 312.8 54.3 367.9 48 417v6c0 22.6 18.3 41 41 41c3.4 0 6.7-.4 9.9-1.2l72.7-18.2c6.4-1.6 12.3-4.5 17.3-8.3c1.8 2.9 4 5.6 6.6 8.2c10.7 10.7 25.3 15.3 39.2 13.8c-12.8 15.9-30.6 27.7-51.5 32.9l-72.7 18.2c-7.1 1.8-14.3 2.7-21.6 2.7c-49.1 0-89-39.8-89-89v-7c0-1.3 .1-2.7 .2-4c7.2-57.9 33.1-119.4 59.6-170.3c26.8-51.5 55.6-94.8 71-116.9c13-18.6 34-28.8 55.8-28.8C225 96 256 127 256 165.3zm273.4 344l-72.7-18.2c-20.9-5.2-38.7-17.1-51.5-32.9c14 1.5 28.5-3 39.2-13.8l-22.6-22.6 22.6 22.6c2.5-2.5 4.7-5.3 6.6-8.2c5 3.8 10.9 6.7 17.3 8.3l72.7 18.2c3.3 .8 6.6 1.2 9.9 1.2c22.6 0 41-18.3 41-41v-6c-6.3-49.1-29-104.2-54.4-153.1c-25.5-49-53.1-90.5-67.8-111.6c-3.6-5.1-9.6-8.3-16.4-8.3c-11.8 0-21.3 9.6-21.3 21.3v21.2c-15.2-7.6-33.6-6.6-48 2.9V165.3C384 127 415 96 453.3 96c21.7 0 42.8 10.2 55.8 28.8c15.4 22.1 44.3 65.4 71 116.9c26.5 50.9 52.4 112.5 59.6 170.3c.2 1.3 .2 2.6 .2 4v7c0 49.1-39.8 89-89 89c-7.3 0-14.5-.9-21.6-2.7zM320 176c8.8 0 16 7.2 16 16c0 33 39.9 49.5 63.2 26.2c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6C398.5 264.1 415 304 448 304c8.8 0 16 7.2 16 16s-7.2 16-16 16c-33 0-49.5 39.9-26.2 63.2c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0C375.9 398.5 336 415 336 448c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-33-39.9-49.5-63.2-26.2c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6C241.5 375.9 225 336 192 336c-8.8 0-16-7.2-16-16s7.2-16 16-16c33 0 49.5-39.9 26.2-63.2c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0C264.1 241.5 304 225 304 192c0-8.8 7.2-16 16-16zM296 320a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm72 32a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faSpinnerThird = {\n prefix: 'far',\n iconName: 'spinner-third',\n icon: [512, 512, [], \"f3f4\", \"M457 372c11.5 6.6 26.3 2.7 31.8-9.3C503.7 330.2 512 294.1 512 256C512 122.7 410.1 13.2 280 1.1C266.8-.1 256 10.7 256 24s10.8 23.9 24 25.4C383.5 61.2 464 149.2 464 256c0 29.3-6.1 57.3-17 82.6c-5.3 12.2-1.5 26.8 10 33.5z\"]\n};\nvar faFaceGrinTears = {\n prefix: 'far',\n iconName: 'face-grin-tears',\n icon: [640, 512, [128514, \"grin-tears\"], \"f588\", \"M516.1 325.5c1 3 2.1 6 3.3 8.9c3.3 8.1 8.4 18.5 16.5 26.6c3.9 3.9 8.2 7.4 12.7 10.3C506.4 454.8 419.9 512 320 512s-186.4-57.2-228.6-140.6c4.5-2.9 8.7-6.3 12.7-10.3c8.1-8.1 13.2-18.6 16.5-26.6c1.2-2.9 2.3-5.9 3.3-8.9C152.5 406.2 229.5 464 320 464s167.5-57.8 196.1-138.5zM320 48c-101.4 0-185.8 72.5-204.3 168.5c-6.7-3.1-14.3-4.3-22.3-3.1c-6.8 .9-16.2 2.4-26.6 4.4C85.3 94.5 191.6 0 320 0S554.7 94.5 573.2 217.7c-10.3-2-19.8-3.5-26.6-4.4c-8-1.2-15.7 .1-22.3 3.1C505.8 120.5 421.4 48 320 48zM78.5 341.1C60 356.7 32 355.5 14.3 337.7c-18.7-18.7-19.1-48.8-.7-67.2c8.6-8.6 30.1-15.1 50.5-19.6c13-2.8 25.5-4.8 33.9-6c5.4-.8 9.9 3.7 9 9c-3.1 21.5-11.4 70.2-25.5 84.4c-.9 1-1.9 1.8-2.9 2.7zm483 0c-.8-.6-1.5-1.3-2.3-2c-.2-.2-.5-.4-.7-.7c-14.1-14.1-22.5-62.9-25.5-84.4c-.8-5.4 3.7-9.9 9-9c1 .1 2.2 .3 3.3 .5c8.2 1.2 19.2 3 30.6 5.5c20.4 4.4 41.9 10.9 50.5 19.6c18.4 18.4 18 48.5-.7 67.2c-17.7 17.7-45.7 19-64.2 3.4zM439 336.5C414.4 374.6 370.3 400 319.9 400s-94.5-25.4-119.1-63.5c-10.4-16.1 6.8-32.5 25.5-28.1c28.9 6.8 60.5 10.5 93.6 10.5s64.7-3.7 93.6-10.5c18.7-4.4 35.9 12 25.5 28.1zM281.6 228.8l0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0 0 0zm160 0l0 0 0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0z\"]\n};\nvar faGrinTears = faFaceGrinTears;\nvar faPhone = {\n prefix: 'far',\n iconName: 'phone',\n icon: [512, 512, [128222, 128379], \"f095\", \"M375.8 275.2c-16.4-7-35.4-2.4-46.7 11.4l-33.2 40.6c-46-26.7-84.4-65.1-111.1-111.1L225.3 183c13.8-11.3 18.5-30.3 11.4-46.7l-48-112C181.2 6.7 162.3-3.1 143.6 .9l-112 24C13.2 28.8 0 45.1 0 64v0C0 295.2 175.2 485.6 400.1 509.5c9.8 1 19.6 1.8 29.6 2.2c0 0 0 0 0 0c0 0 .1 0 .1 0c6.1 .2 12.1 .4 18.2 .4l0 0c18.9 0 35.2-13.2 39.1-31.6l24-112c4-18.7-5.8-37.6-23.4-45.1l-112-48zM441.5 464C225.8 460.5 51.5 286.2 48.1 70.5l99.2-21.3 43 100.4L154.4 179c-18.2 14.9-22.9 40.8-11.1 61.2c30.9 53.3 75.3 97.7 128.6 128.6c20.4 11.8 46.3 7.1 61.2-11.1l29.4-35.9 100.4 43L441.5 464zM48 64v0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0s0 0 0 0\"]\n};\nvar faComputerMouseScrollwheel = {\n prefix: 'far',\n iconName: 'computer-mouse-scrollwheel',\n icon: [384, 512, [\"mouse-alt\"], \"f8cd\", \"M336 352V160c0-61.9-50.1-112-112-112H160C98.1 48 48 98.1 48 160V352c0 61.9 50.1 112 112 112h64c61.9 0 112-50.1 112-112zM0 160C0 71.6 71.6 0 160 0h64c88.4 0 160 71.6 160 160V352c0 88.4-71.6 160-160 160H160C71.6 512 0 440.4 0 352V160zM192 96c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V128c0-17.7 14.3-32 32-32z\"]\n};\nvar faMouseAlt = faComputerMouseScrollwheel;\nvar faCalendarXmark = {\n prefix: 'far',\n iconName: 'calendar-xmark',\n icon: [448, 512, [\"calendar-times\"], \"f273\", \"M128 0c13.3 0 24 10.7 24 24V64H296V24c0-13.3 10.7-24 24-24s24 10.7 24 24V64h40c35.3 0 64 28.7 64 64v16 48V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192 144 128C0 92.7 28.7 64 64 64h40V24c0-13.3 10.7-24 24-24zM400 192H48V448c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V192zm-95 89l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\"]\n};\nvar faCalendarTimes = faCalendarXmark;\nvar faChildReaching = {\n prefix: 'far',\n iconName: 'child-reaching',\n icon: [384, 512, [], \"e59d\", \"M192 48a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0 96A72 72 0 1 0 192 0a72 72 0 1 0 0 144zm-.2 32c-41.6 0-80-22.4-100.6-58.5L76.9 92.2c-6.5-11.5-21.2-15.6-32.7-9s-15.6 21.2-9 32.7l14.4 25.3c15 26.5 36.8 47.7 62.5 62.1V488c0 13.3 10.7 24 24 24s24-10.7 24-24V384h64V488c0 13.3 10.7 24 24 24s24-10.7 24-24V203c25-14 46.2-34.6 61.1-60.2l15.6-26.7c6.7-11.4 2.8-26.1-8.6-32.8s-26.1-2.8-32.8 8.6l-15.6 26.7C271 154.2 232.9 176 191.8 176zM224 336H160V220.9c10.4 2.1 21 3.1 31.8 3.1c10.9 0 21.7-1.1 32.2-3.2V336z\"]\n};\nvar faTableLayout = {\n prefix: 'far',\n iconName: 'table-layout',\n icon: [512, 512, [], \"e290\", \"M448 80c8.8 0 16 7.2 16 16v64H48V96c0-8.8 7.2-16 16-16H448zM48 416V208h96V432H64c-8.8 0-16-7.2-16-16zm144 16V208H464V416c0 8.8-7.2 16-16 16H192zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64z\"]\n};\nvar faNarwhal = {\n prefix: 'far',\n iconName: 'narwhal',\n icon: [640, 512, [], \"f6fe\", \"M639.4 20.5c2.3-7.7-1.6-16-9-19.2s-16-.4-20.1 6.5L516 167.3c-15.7-4.7-32.3-7.3-49.6-7.3c-53.1 0-104.4 19.5-144.1 54.8L177.9 343.2c-6.4 5.7-14.6 8.8-23.1 8.8c-19.2 0-34.8-15.6-34.8-34.8V304 258.7l37.9-26.5c21.4-15 34.1-39.4 34.1-65.5l0-54.7c0-6-3.3-11.4-8.6-14.2s-11.7-2.3-16.6 1.1L96 148.5 25.2 98.9c-4.9-3.4-11.3-3.8-16.6-1.1S0 106 0 112l0 54.7c0 26.1 12.7 50.6 34.1 65.5L72 258.7V304v13.2V352c0 88.4 71.6 160 160 160H464c97.2 0 176-80 176-177.2c0-50.1-21.2-95.5-55.1-127.5L639.4 20.5zM232 464c-46.3 0-86-28.1-103.1-68.1c8.1 2.7 16.8 4.1 25.9 4.1c20.3 0 39.8-7.4 55-20.9L354.2 250.7c30.9-27.5 70.9-42.7 112.2-42.7C535.4 208 592 265 592 334.8C592 405.9 534.3 464 464 464H232zM496 328a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faRampLoading = {\n prefix: 'far',\n iconName: 'ramp-loading',\n icon: [448, 512, [], \"f4d4\", \"M96 48H352c8.8 0 16 7.2 16 16V312.4l48 88V64c0-35.3-28.7-64-64-64H96C60.7 0 32 28.7 32 64V400.4l48-88V64c0-8.8 7.2-16 16-16zm67 240c-20.5 0-39.3 11.2-49.2 29.2l-74 135.7C25.3 479.5 44.6 512 75 512H373c30.4 0 49.7-32.5 35.1-59.2l-74-135.7c-9.8-18-28.7-29.2-49.2-29.2H163zm-7 52.2c1.4-2.6 4.1-4.2 7-4.2H285c2.9 0 5.6 1.6 7 4.2L359.6 464H88.4L156 340.2z\"]\n};\nvar faCalendarCirclePlus = {\n prefix: 'far',\n iconName: 'calendar-circle-plus',\n icon: [576, 512, [], \"e470\", \"M128 0c13.3 0 24 10.7 24 24V64H296V24c0-13.3 10.7-24 24-24s24 10.7 24 24V64h40c35.3 0 64 28.7 64 64v16 48H432 400 352 48V448c0 8.8 7.2 16 16 16H284.5c12.3 18.8 28 35.1 46.3 48H64c-35.3 0-64-28.7-64-64V192 144 128C0 92.7 28.7 64 64 64h40V24c0-13.3 10.7-24 24-24zM432 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm16 80c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H368c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v48c0 8.8 7.2 16 16 16s16-7.2 16-16V384h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H448V304z\"]\n};\nvar faToothbrush = {\n prefix: 'far',\n iconName: 'toothbrush',\n icon: [576, 512, [129701], \"f635\", \"M64 176c-8.8 0-16-7.2-16-16s7.2-16 16-16H288c29.4 0 55.1-11.9 71-36.1c4.3-6.5 7.4-13.2 9.7-19.9c6.4 2.7 12 6 16.6 9.7c9.5 7.7 14.6 17 14.6 30.3c0 26.5-21.5 48-48 48H64zM0 160c0 35.3 28.7 64 64 64H352c53 0 96-43 96-96c0-58.5-51.6-89.9-104-95.2c-8.8-.9-15.8 6.4-16.4 15.2c-1.5 25.3-8.4 48-39.6 48H64C28.7 96 0 124.7 0 160zM80 280c0-13.3-10.7-24-24-24s-24 10.7-24 24V432H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H56h80 80 80 80H552c13.3 0 24-10.7 24-24s-10.7-24-24-24H400V280c0-13.3-10.7-24-24-24s-24 10.7-24 24V432H320V280c0-13.3-10.7-24-24-24s-24 10.7-24 24V432H240V280c0-13.3-10.7-24-24-24s-24 10.7-24 24V432H160V280c0-13.3-10.7-24-24-24s-24 10.7-24 24V432H80V280z\"]\n};\nvar faBorderInner = {\n prefix: 'far',\n iconName: 'border-inner',\n icon: [448, 512, [], \"f84e\", \"M416 416a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0-96a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM32 320a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM384 160a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM32 128a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM384 64a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM0 64a32 32 0 1 1 64 0A32 32 0 1 1 0 64zM32 416a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM288 64a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm32 352a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM96 64a32 32 0 1 1 64 0A32 32 0 1 1 96 64zm32 352a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm96 64c-13.3 0-24-10.7-24-24l0-176L24 280c-13.3 0-24-10.7-24-24s10.7-24 24-24l176 0 0-176c0-13.3 10.7-24 24-24s24 10.7 24 24l0 176 176 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-176 0 0 176c0 13.3-10.7 24-24 24z\"]\n};\nvar faPawClaws = {\n prefix: 'far',\n iconName: 'paw-claws',\n icon: [512, 512, [], \"f702\", \"M178.1 15.3L138.9 58.4C121.6 77.4 112 102.3 112 128h0c-.2 11.3 1.5 23.2 5.5 35.1c14.3 42.9 52.1 69.1 84.4 58.5s46.9-53.9 32.6-96.8C226.3 100.2 210.3 81 192 71.2V20.7c0-7.3-9-10.8-13.9-5.4zm132 206.3c32.3 10.6 70.1-15.6 84.4-58.5c4-11.9 5.7-23.9 5.5-35.1h0c0-25.7-9.6-50.6-26.9-69.6L333.9 15.3C329 9.9 320 13.4 320 20.7V71.2c-18.3 9.8-34.3 28.9-42.5 53.6c-14.3 42.9 .3 86.2 32.6 96.8zm-209.7 8.9C91.1 214.7 77.9 203 64 196.8V152.6c0-7.7-9.9-11-14.5-4.7L12.2 199.2C4.3 210.1 0 223.3 0 236.8V240H0c-.1 13.3 3.7 27.8 11.6 41.4c18.9 32.4 54 47.3 78.5 33.3s29.1-51.7 10.2-84.1zM256 304c20.6 0 96.1 15.4 141.7 137.7c1.4 3.7 2.3 8.5 2.3 14.2c0 4.5-3.6 8.1-8.1 8.1h-3.4c-2.2 0-4.3-.4-6.3-1.2l-72.7-29.1c-34.3-13.7-72.6-13.7-107 0l-72.7 29.1c-2 .8-4.2 1.2-6.3 1.2h-3.4c-4.5 0-8.1-3.6-8.1-8.1c0-5.7 .9-10.4 2.3-14.2C159.9 319.4 235.4 304 256 304zm0-48c-41.2 0-134.3 28.4-186.7 169c-3.7 9.9-5.3 20.4-5.3 31c0 31 25.1 56.1 56.1 56.1h3.4c8.3 0 16.5-1.6 24.2-4.7l72.7-29.1c22.9-9.2 48.4-9.2 71.3 0l72.7 29.1c7.7 3.1 15.9 4.7 24.2 4.7h3.4c31 0 56.1-25.1 56.1-56.1c0-10.5-1.6-21.1-5.3-31C390.3 284.4 297.2 256 256 256zm165.8 58.7c24.5 14 59.7-.9 78.5-33.3c7.9-13.6 11.7-28.1 11.6-41.4h0v-3.2c0-13.5-4.3-26.7-12.2-37.6l-37.3-51.3c-4.6-6.3-14.5-3-14.5 4.7v44.2c-13.9 6.1-27.1 17.8-36.4 33.7c-18.9 32.4-14.3 70.1 10.2 84.1z\"]\n};\nvar faKiwiFruit = {\n prefix: 'far',\n iconName: 'kiwi-fruit',\n icon: [448, 512, [], \"e30c\", \"M399.8 265.3C358.7 298.6 295.3 320 224 320s-134.7-21.4-175.8-54.7C53.1 358.2 129.9 432 224 432s170.9-73.8 175.8-166.7zM448 176v80c0 123.7-100.3 224-224 224S0 379.7 0 256V176C0 96.5 100.3 32 224 32s224 64.5 224 144zM224 64c-8.8 0-16 7.2-16 16v24c0 8.8 7.2 16 16 16s16-7.2 16-16V80c0-8.8-7.2-16-16-16zM64 176c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zm256 0c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H336c-8.8 0-16 7.2-16 16zm-96 56c-8.8 0-16 7.2-16 16v24c0 8.8 7.2 16 16 16s16-7.2 16-16V248c0-8.8-7.2-16-16-16zM139.3 92.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l16 16c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-16-16zm192 0c-6.2-6.2-16.4-6.2-22.6 0l-16 16c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l16-16c6.2-6.2 6.2-16.4 0-22.6zm-176 150.6c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-16 16c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l16-16zm160-22.6c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l16 16c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-16-16zM280 176c0-13.3-25.1-24-56-24s-56 10.7-56 24s25.1 24 56 24s56-10.7 56-24z\"]\n};\nvar faTrafficLightSlow = {\n prefix: 'far',\n iconName: 'traffic-light-slow',\n icon: [320, 512, [], \"f639\", \"M64 48c-8.8 0-16 7.2-16 16V352c0 61.9 50.1 112 112 112s112-50.1 112-112V64c0-8.8-7.2-16-16-16H64zM0 64C0 28.7 28.7 0 64 0H256c35.3 0 64 28.7 64 64V352c0 88.4-71.6 160-160 160S0 440.4 0 352V64zM144 376a16 16 0 1 0 32 0 16 16 0 1 0 -32 0zm64 0a48 48 0 1 1 -96 0 48 48 0 1 1 96 0zm0-120a48 48 0 1 1 -96 0 48 48 0 1 1 96 0zM144 136a16 16 0 1 0 32 0 16 16 0 1 0 -32 0zm64 0a48 48 0 1 1 -96 0 48 48 0 1 1 96 0z\"]\n};\nvar faRectangleCode = {\n prefix: 'far',\n iconName: 'rectangle-code',\n icon: [512, 512, [], \"e322\", \"M448 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H448zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM287 175c-9.4 9.4-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l64-64c9.4-9.4 9.4-24.6 0-33.9l-64-64c-9.4-9.4-24.6-9.4-33.9 0zM225 209c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-64 64c-9.4 9.4-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47z\"]\n};\nvar faHeadSideVirus = {\n prefix: 'far',\n iconName: 'head-side-virus',\n icon: [512, 512, [], \"e064\", \"M48 224c0-97.2 78.8-176 176-176h24c60.1 0 115.7 36.7 139.6 88.3c3.9 8.4 7.5 17 11.4 25.9l1.5 3.5c4.3 10.1 8.9 20.7 13.9 31.1c10.1 20.8 22.5 42 40.6 60.1l4.4 4.4c2.9 2.9 4.6 6.9 4.6 11c0 8.6-7 15.6-15.6 15.6H424c-13.3 0-24 10.7-24 24v72c0 8.8-7.2 16-16 16H296c-13.3 0-24 10.7-24 24v64c0 13.3 10.7 24 24 24s24-10.7 24-24V448h64c35.3 0 64-28.7 64-64V336h.4c35.1 0 63.6-28.5 63.6-63.6c0-16.9-6.7-33-18.6-45L489 223c-12.7-12.7-22.4-28.5-31.4-47.1c-4.5-9.3-8.7-18.9-13-29l-1.5-3.5c-3.8-8.9-7.8-18.2-12-27.3C399.4 47.6 326.8 0 248 0H224C100.3 0 0 100.3 0 224c0 53.6 18.9 102.9 50.3 141.5c8.9 11 13.7 22.4 13.7 33.1V488c0 13.3 10.7 24 24 24s24-10.7 24-24V398.6c0-24.9-10.9-46.8-24.5-63.4C62.8 304.8 48 266.2 48 224zM224 72c-8.8 0-16 7.2-16 16c0 33-39.9 49.5-63.2 26.2c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6C145.5 160.1 129 200 96 200c-8.8 0-16 7.2-16 16s7.2 16 16 16c33 0 49.5 39.9 26.2 63.2c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0C168.1 294.5 208 311 208 344c0 8.8 7.2 16 16 16s16-7.2 16-16c0-33 39.9-49.5 63.2-26.2c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6C302.5 271.9 319 232 352 232c8.8 0 16-7.2 16-16s-7.2-16-16-16c-33 0-49.5-39.9-26.2-63.2c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0C279.9 137.5 240 121 240 88c0-8.8-7.2-16-16-16zm-24 96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm40 80a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faKeyboardBrightness = {\n prefix: 'far',\n iconName: 'keyboard-brightness',\n icon: [640, 512, [], \"e1c0\", \"M129 167c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l80 80c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-80-80zm167 33c0 13.3 10.7 24 24 24s24-10.7 24-24V88c0-13.3-10.7-24-24-24s-24 10.7-24 24V200zm135 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-80 80zM0 392c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H24c-13.3 0-24 10.7-24 24zm216-24c-13.3 0-24 10.7-24 24s10.7 24 24 24H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H216zm320 0c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H536z\"]\n};\nvar faBooksMedical = {\n prefix: 'far',\n iconName: 'books-medical',\n icon: [576, 512, [], \"f7e8\", \"M112 416v48h64V416H112zm88 89.6c-7.1 4.1-15.3 6.4-24 6.4H112c-26.5 0-48-21.5-48-48V416 392v-8H176V368 320h48v48h64V144H224v48H176V144 128H64v-8V96 48C64 21.5 85.5 0 112 0h64c8.7 0 16.9 2.3 24 6.4C207.1 2.3 215.3 0 224 0h64c20.6 0 38.1 12.9 45 31.1c5.6-6.1 12.9-10.7 21.4-13L413.9 1.6c24.7-6.8 50.1 8.3 56.7 33.8l18 69.2 6 23.2 61.8 238.3 6 23.2 11.9 46c6.6 25.5-8 51.7-32.7 58.5l-59.6 16.5c-24.7 6.8-50.1-8.3-56.7-33.8l-18-69.2-6-23.2L339.6 145.9 336 132.2V144 368v24 24 48c0 26.5-21.5 48-48 48H224c-8.7 0-16.9-2.3-24-6.4zM224 464h64V416H224v48zM176 48H112V96h64V48zm48 48h64V48H224V96zM504.1 355.7l-55.8-215-56.5 15.6 55.8 215 56.5-15.6zm-44.4 62.1l11.9 45.7L528 447.9c0-.1 0-.2 0-.3l0-.1-11.7-45.2-56.5 15.6zm-79.9-308l56.5-15.6L424.4 48.5 368 64.1c0 .1 0 .2 0 .4l11.7 45.2zM64 176c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H128v48c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V288H16c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16H64V176z\"]\n};\nvar faLightbulbSlash = {\n prefix: 'far',\n iconName: 'lightbulb-slash',\n icon: [640, 512, [], \"f673\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-195-152.8c4.4-6.2 8.9-12.4 13.4-18.6l0 0 0 0 0 0 0 0c5.2-7.1 10.4-14.2 15.4-21.4c19.8-28.5 31.4-63 31.4-100.3C496 78.8 417.2 0 320 0C249.7 0 189.1 41.2 160.8 100.8L38.8 5.1zM200 131.4C218.1 82.7 265 48 320 48c70.7 0 128 57.3 128 128c0 27.2-8.4 52.3-22.8 72.9c-3.7 5.3-8.1 11.3-12.7 17.7l0 0 0 0 0 0 0 0c-4.6 6.3-9.5 13-14.4 20L268.9 185.5c1.9-2.6 3.1-5.9 3.1-9.5c0-26.5 21.5-48 48-48c8.8 0 16-7.2 16-16s-7.2-16-16-16c-40 0-73.1 29.3-79 67.6l-41-32.1zM400 424.9L388.7 416H240v16c0 44.2 35.8 80 80 80s80-35.8 80-80v-7.1zM152.4 229.8c5.4 16.8 13.2 32.4 23 46.6c5 7.2 10.2 14.3 15.4 21.4l0 0 0 0c12.3 16.8 24.6 33.7 34.5 51.8c5.9 10.8 9.6 22.5 11.8 34.5h48.6c-2.6-18.7-7.9-38.6-18.3-57.5c-2-3.7-4.2-7.5-6.5-11.2L152.4 229.8z\"]\n};\nvar faHouseBlank = {\n prefix: 'far',\n iconName: 'house-blank',\n icon: [576, 512, [\"home-blank\"], \"e487\", \"M303.5 5.7c-9-7.6-22.1-7.6-31.1 0l-264 224c-10.1 8.6-11.3 23.7-2.8 33.8s23.7 11.3 33.8 2.8L64 245.5V432c0 44.2 35.8 80 80 80H432c44.2 0 80-35.8 80-80V245.5l24.5 20.8c10.1 8.6 25.3 7.3 33.8-2.8s7.3-25.3-2.8-33.8l-264-224zM464 204.8V432c0 17.7-14.3 32-32 32H144c-17.7 0-32-14.3-32-32V204.8L288 55.5 464 204.8z\"]\n};\nvar faHomeBlank = faHouseBlank;\nvar faSquare5 = {\n prefix: 'far',\n iconName: 'square-5',\n icon: [448, 512, [], \"e25a\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm176 32H280c13.3 0 24 10.7 24 24s-10.7 24-24 24H196l-7.8 43 61.4 6.9c40.1 4.5 70.4 38.4 70.4 78.8c0 43.8-35.5 79.3-79.3 79.3h-36c-27.5 0-53.3-13.7-68.6-36.6l-4.1-6.1c-7.4-11-4.5-25.9 6.5-33.3s25.9-4.5 33.3 6.5l4.1 6.1c6.4 9.6 17.2 15.3 28.8 15.3h36c17.3 0 31.3-14 31.3-31.3c0-15.9-12-29.3-27.8-31.1l-86.9-9.8c-6.6-.7-12.6-4.2-16.6-9.5s-5.5-12.1-4.4-18.6l16-88c2.1-11.4 12-19.7 23.6-19.7z\"]\n};\nvar faSquareHeart = {\n prefix: 'far',\n iconName: 'square-heart',\n icon: [448, 512, [128159, \"heart-square\"], \"f4c8\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM335.7 265.6l-91.5 92.9c-5.6 5.7-13 8.5-20.3 8.5c-7.3 0-14.6-2.9-20.1-8.5l-91.5-92.9c-26.4-26.8-26.4-70.4 0-97.2s69.3-26.8 95.8 0l16 16.2 16-16.2c26.4-26.8 69.3-26.8 95.8 0s26.4 70.4 0 97.2z\"]\n};\nvar faHeartSquare = faSquareHeart;\nvar faPuzzle = {\n prefix: 'far',\n iconName: 'puzzle',\n icon: [512, 512, [], \"e443\", \"M448 0c35.3 0 64 28.7 64 64V192c0 8.8-7.2 16-16 16H444c-6.6 0-12 5.4-12 12v4c0 17.7-14.3 32-32 32s-32-14.3-32-32v-4c0-6.6-5.4-12-12-12l-36 0c-8.8 0-16-7.2-16-16V160c0-8.8 7.2-16 16-16h16c17.7 0 32-14.3 32-32s-14.3-32-32-32H320c-8.8 0-16-7.2-16-16V16c0-8.8 7.2-16 16-16H448zM0 240V128C0 92.7 28.7 64 64 64H208c8.8 0 16 7.2 16 16v52c0 6.6 5.4 12 12 12h4c17.7 0 32 14.3 32 32s-14.3 32-32 32h-4c-6.6 0-12 5.4-12 12v52c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V256c0-17.7-14.3-32-32-32s-32 14.3-32 32v16c0 8.8-7.2 16-16 16H48V440c0 13.3 10.7 24 24 24H224V428c0-6.6-5.4-12-12-12h-4c-17.7 0-32-14.3-32-32s14.3-32 32-32h4c6.6 0 12-5.4 12-12V304c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v16c0 17.7 14.3 32 32 32s32-14.3 32-32V304c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16V448c0 35.3-28.7 64-64 64H256 240 72c-39.8 0-72-32.2-72-72V272 240z\"]\n};\nvar faUserGear = {\n prefix: 'far',\n iconName: 'user-gear',\n icon: [640, 512, [\"user-cog\"], \"f4fe\", \"M304 128a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zM96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM49.3 464H336.6c3.3 4.2 6.7 8.2 10.3 12c15.7 16.9 39.6 18.4 57.2 8.7v.9c0 9.2 2.7 18.5 7.9 26.3H29.7C13.3 512 0 498.7 0 482.3C0 383.8 79.8 304 178.3 304h91.4c11.8 0 23.4 1.2 34.5 3.3c-2.1 18.5 7.4 35.6 21.8 44.8c-3.6 2.3-7 5.1-9.9 8.4c-14.4-5.5-30.1-8.5-46.5-8.5H178.3c-65.7 0-120.1 48.7-129 112zM436 218.2c0-7 4.5-13.3 11.3-14.8c10.5-2.4 21.5-3.7 32.7-3.7s22.2 1.3 32.7 3.7c6.8 1.5 11.3 7.8 11.3 14.8v17.7c0 7.8 4.8 14.8 11.6 18.7c6.8 3.9 15.1 4.5 21.8 .6l13.8-7.9c6.1-3.5 13.7-2.7 18.5 2.4c7.6 8.1 14.3 17.2 20.1 27.2s10.3 20.4 13.5 31c2.1 6.7-1.1 13.7-7.2 17.2l-14.4 8.3c-6.5 3.7-10 10.9-10 18.4s3.5 14.7 10 18.4l14.4 8.3c6.1 3.5 9.2 10.5 7.2 17.2c-3.3 10.6-7.8 21-13.5 31s-12.5 19.1-20.1 27.2c-4.8 5.1-12.5 5.9-18.5 2.4l-13.8-7.9c-6.7-3.9-15.1-3.3-21.8 .6c-6.8 3.9-11.6 10.9-11.6 18.7v17.7c0 7-4.5 13.3-11.3 14.8c-10.5 2.4-21.5 3.7-32.7 3.7s-22.2-1.3-32.7-3.7c-6.8-1.5-11.3-7.8-11.3-14.8V467.8c0-7.9-4.9-14.9-11.7-18.9c-6.8-3.9-15.2-4.5-22-.6l-13.5 7.8c-6.1 3.5-13.7 2.7-18.5-2.4c-7.6-8.1-14.3-17.2-20.1-27.2s-10.3-20.4-13.5-31c-2.1-6.7 1.1-13.7 7.2-17.2l14-8.1c6.5-3.8 10.1-11.1 10.1-18.6s-3.5-14.8-10.1-18.6l-14-8.1c-6.1-3.5-9.2-10.5-7.2-17.2c3.3-10.6 7.7-21 13.5-31s12.5-19.1 20.1-27.2c4.8-5.1 12.4-5.9 18.5-2.4l13.6 7.8c6.8 3.9 15.2 3.3 22-.6c6.9-3.9 11.7-11 11.7-18.9V218.2zm92.1 133.5a48.1 48.1 0 1 0 -96.1 0 48.1 48.1 0 1 0 96.1 0z\"]\n};\nvar faUserCog = faUserGear;\nvar faPipeCircleCheck = {\n prefix: 'far',\n iconName: 'pipe-circle-check',\n icon: [640, 512, [], \"e436\", \"M24 96c13.3 0 24 10.7 24 24v8H320 464v-8c0-13.3 10.7-24 24-24s24 10.7 24 24v32 40.7c-5.3-.5-10.6-.7-16-.7c-10.9 0-21.6 1-32 2.9V176H320 48V336H322.9c-1.9 10.4-2.9 21.1-2.9 32c0 5.4 .2 10.7 .7 16H48v8c0 13.3-10.7 24-24 24s-24-10.7-24-24V360 152 120c0-13.3 10.7-24 24-24zM352 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm188.7-43.3L480 385.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0z\"]\n};\nvar faArrowUp19 = {\n prefix: 'far',\n iconName: 'arrow-up-1-9',\n icon: [576, 512, [\"sort-numeric-up\"], \"f163\", \"M456 56V176h24c13.3 0 24 10.7 24 24s-10.7 24-24 24H432 384c-13.3 0-24-10.7-24-24s10.7-24 24-24h24V89.3l-16.4 5.5C379 99 365.4 92.2 361.2 79.6S363.8 53.4 376.4 49.2l48-16c7.3-2.4 15.4-1.2 21.6 3.3s10 11.8 10 19.5zM143 39c9.4-9.4 24.6-9.4 33.9 0l96 96c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-55-55V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V113.9L81 169c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l96-96zM424 304a40 40 0 1 0 0 80 40 40 0 1 0 0-80zM406.1 430.2c-40-8.3-70.1-43.7-70.1-86.2c0-48.6 39.4-88 88-88s88 39.4 88 88c0 21.1-7.3 41.5-20.6 57.8l-56.8 69.4c-8.4 10.3-23.5 11.8-33.8 3.4s-11.8-23.5-3.4-33.8l8.7-10.6z\"]\n};\nvar faSortNumericUp = faArrowUp19;\nvar faOctagonExclamation = {\n prefix: 'far',\n iconName: 'octagon-exclamation',\n icon: [512, 512, [], \"e204\", \"M191.5 48.1c-6.4 0-12.5 2.5-17 7L55.1 174.5c-4.5 4.5-7 10.6-7 17v129c0 6.4 2.5 12.5 7 17L21.2 371.4C7.7 357.9 .1 339.6 .1 320.5v-129c0-19.1 7.6-37.4 21.1-50.9L140.6 21.2C154.1 7.7 172.4 .1 191.5 .1h129c19.1 0 37.4 7.6 50.9 21.1L490.8 140.6c13.5 13.5 21.1 31.8 21.1 50.9v129c0 19.1-7.6 37.4-21.1 50.9L371.4 490.8c-13.5 13.5-31.8 21.1-50.9 21.1h-129c-19.1 0-37.4-7.6-50.9-21.1L21.2 371.4l33.9-33.9L174.5 456.9c4.5 4.5 10.6 7 17 7h129c6.4 0 12.5-2.5 17-7L456.9 337.5c4.5-4.5 7-10.6 7-17v-129c0-6.4-2.5-12.5-7-17L337.5 55.1c-4.5-4.5-10.6-7-17-7h-129zM256 128c13.3 0 24 10.7 24 24V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faDialLow = {\n prefix: 'far',\n iconName: 'dial-low',\n icon: [576, 512, [], \"e15d\", \"M288 64a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0 336c-53.6 0-98.4-37.7-109.4-88H288c13.3 0 24-10.7 24-24s-10.7-24-24-24H178.6c11-50.3 55.8-88 109.4-88c61.9 0 112 50.1 112 112s-50.1 112-112 112zM128 288a160 160 0 1 0 320 0 160 160 0 1 0 -320 0zm448 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM32 320a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM128 96A32 32 0 1 0 64 96a32 32 0 1 0 64 0zm352 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM128 480a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm352 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faDoorClosed = {\n prefix: 'far',\n iconName: 'door-closed',\n icon: [576, 512, [128682], \"f52a\", \"M416 48c8.8 0 16 7.2 16 16V464H144V64c0-8.8 7.2-16 16-16H416zm64 416V64c0-35.3-28.7-64-64-64H160C124.7 0 96 28.7 96 64V464H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H96h48H432h48 72c13.3 0 24-10.7 24-24s-10.7-24-24-24H480zM368 224a32 32 0 1 0 0 64 32 32 0 1 0 0-64z\"]\n};\nvar faLaptopMobile = {\n prefix: 'far',\n iconName: 'laptop-mobile',\n icon: [640, 512, [\"phone-laptop\"], \"f87a\", \"M128 48H448c8.8 0 16 7.2 16 16V96h48V64c0-35.3-28.7-64-64-64H128C92.7 0 64 28.7 64 64V320H16c-8.8 0-16 7.2-16 16c0 26.5 21.5 48 48 48H352V320H112V64c0-8.8 7.2-16 16-16zM384 176V464c0 26.5 21.5 48 48 48H592c26.5 0 48-21.5 48-48V176c0-26.5-21.5-48-48-48H432c-26.5 0-48 21.5-48 48zm48 0H592V464H432V176z\"]\n};\nvar faPhoneLaptop = faLaptopMobile;\nvar faConveyorBeltBoxes = {\n prefix: 'far',\n iconName: 'conveyor-belt-boxes',\n icon: [640, 512, [\"conveyor-belt-alt\"], \"f46f\", \"M304 48V208H144V48H304zM144 0C117.5 0 96 21.5 96 48V208c0 26.5 21.5 48 48 48H304c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H144zM528 112v96H432V112h96zM432 64c-26.5 0-48 21.5-48 48v96c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48H432zm96 272c35.3 0 64 28.7 64 64s-28.7 64-64 64H112c-35.3 0-64-28.7-64-64s28.7-64 64-64H528zM112 288C50.1 288 0 338.1 0 400s50.1 112 112 112H528c61.9 0 112-50.1 112-112s-50.1-112-112-112H112zm48 112a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm160 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm224-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faConveyorBeltAlt = faConveyorBeltBoxes;\nvar faShieldVirus = {\n prefix: 'far',\n iconName: 'shield-virus',\n icon: [512, 512, [], \"e06c\", \"M73 127L256 49.4 439 127c5.9 2.5 9.1 7.8 9 12.8c-.4 91.4-38.4 249.3-186.3 320.1c-3.6 1.7-7.8 1.7-11.3 0C102.4 389 64.5 231.2 64 139.7c0-5 3.1-10.2 9-12.8zM457.7 82.8L269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.8 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2zM256 96c-8.8 0-16 7.2-16 16c0 33-39.9 49.5-63.2 26.2c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6C177.5 184.1 161 224 128 224c-8.8 0-16 7.2-16 16s7.2 16 16 16c33 0 49.5 39.9 26.2 63.2c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0C200.1 318.5 240 335 240 368c0 8.8 7.2 16 16 16s16-7.2 16-16c0-33 39.9-49.5 63.2-26.2c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6C334.5 295.9 351 256 384 256c8.8 0 16-7.2 16-16s-7.2-16-16-16c-33 0-49.5-39.9-26.2-63.2c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0C311.9 161.5 272 145 272 112c0-8.8-7.2-16-16-16zm-24 96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm40 80a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faStarfighterTwinIonEngineAdvanced = {\n prefix: 'far',\n iconName: 'starfighter-twin-ion-engine-advanced',\n icon: [640, 512, [\"starfighter-alt-advanced\"], \"e28e\", \"M118.5 7.6c9-9.7 24.2-10.2 33.9-1.2s10.2 24.2 1.2 33.9L50.2 151.2c-1.4 1.5-2.2 3.4-2.2 5.5V195l137.9-26.3C214.4 124.9 263.8 96 320 96s105.6 28.9 134.1 72.7L592 195V156.6c0-2-.8-4-2.2-5.5L486.5 40.4c-9-9.7-8.5-24.9 1.2-33.9s24.9-8.5 33.9 1.2L624.9 118.4c9.7 10.4 15.1 24 15.1 38.2v47.5V224v64 19.9 47.5c0 14.2-5.4 27.8-15.1 38.2L521.5 504.4c-9 9.7-24.2 10.2-33.9 1.2s-10.2-24.2-1.2-33.9L589.8 360.8c1.4-1.5 2.2-3.4 2.2-5.5V317L454.1 343.3C425.6 387.1 376.2 416 320 416s-105.6-28.9-134.1-72.7L48 317v38.4c0 2 .8 4 2.2 5.5L153.5 471.6c9 9.7 8.5 24.9-1.2 33.9s-24.9 8.5-33.9-1.2L15.1 393.6C5.4 383.2 0 369.6 0 355.4V307.9 288 224 204.1 156.6c0-14.2 5.4-27.8 15.1-38.2L118.5 7.6zM48 268.1l115.7 22c-2.4-11-3.7-22.4-3.7-34.2s1.3-23.2 3.7-34.2L48 243.9v24.3zm428.3-46.3c2.4 11 3.7 22.4 3.7 34.2s-1.3 23.2-3.7 34.2l115.7-22V243.9l-115.7-22zM304 334.4c-10.2-2.1-19.7-6.1-28.1-11.7l-23 23c14.7 11 32.1 18.4 51.1 21.2V334.4zm-50.7-34.3c-5.6-8.4-9.6-17.9-11.7-28.1H209.1c2.7 19 10.2 36.4 21.2 51.1l23-23zM241.6 240c2.1-10.2 6.1-19.7 11.7-28.1l-23-23c-11 14.7-18.5 32.1-21.2 51.1h32.5zm34.3-50.7c8.4-5.6 17.9-9.6 28.1-11.7V145.1c-19 2.7-36.4 10.2-51.1 21.2l23 23zM336 366.9c19-2.7 36.4-10.2 51.1-21.2l-23-23c-8.4 5.6-17.9 9.6-28.1 11.7v32.5zM430.9 272H398.4c-2.1 10.2-6.1 19.7-11.7 28.1l23 23c11-14.7 18.4-32.1 21.2-51.1zm-32.5-32h32.5c-2.7-19-10.2-36.4-21.2-51.1l-23 23c5.6 8.4 9.6 17.9 11.7 28.1zM336 145.1v32.5c10.2 2.1 19.7 6.1 28.1 11.7l23-23c-14.7-11-32.1-18.4-51.1-21.2zM352 256c0-8.8-3.5-16.7-9.2-22.5l-.3-.3c-5.7-5.7-13.6-9.2-22.2-9.2h-.5c-8.7 .1-16.5 3.6-22.2 9.2l-.3 .3c-5.7 5.8-9.2 13.7-9.2 22.5c0 17.7 14.3 32 32 32s32-14.3 32-32z\"]\n};\nvar faStarfighterAltAdvanced = faStarfighterTwinIonEngineAdvanced;\nvar faDiceSix = {\n prefix: 'far',\n iconName: 'dice-six',\n icon: [448, 512, [9861], \"f526\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm96 64a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm0 96a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm32 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM288 160a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm32 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM288 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faStarfighterTwinIonEngine = {\n prefix: 'far',\n iconName: 'starfighter-twin-ion-engine',\n icon: [576, 512, [\"starfighter-alt\"], \"e038\", \"M24 32c13.3 0 24 10.7 24 24V193.7l105.8-24.9C182.4 125 231.8 96 288 96s105.6 29 134.2 72.8L528 193.7V56c0-13.3 10.7-24 24-24s24 10.7 24 24V205v19 64 19V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V318.3L422.2 343.2C393.6 387 344.2 416 288 416s-105.6-29-134.2-72.8L48 318.3V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V307 288 224 205 56C0 42.7 10.7 32 24 32zM444.7 288.6L528 269V243l-83.3-19.6c2.2 10.5 3.3 21.4 3.3 32.6s-1.1 22.1-3.3 32.6zM48 269l83.3 19.6c-2.2-10.5-3.3-21.4-3.3-32.6s1.1-22.1 3.3-32.6L48 243v26zm224 97.9V334.4c-10.2-2.1-19.7-6.1-28.1-11.7l-23 23c14.7 11 32.1 18.4 51.1 21.2zm-73.7-43.8l23-23c-5.6-8.4-9.6-17.9-11.7-28.1H177.1c2.7 19 10.2 36.4 21.2 51.1zM177.1 240h32.5c2.1-10.2 6.1-19.7 11.7-28.1l-23-23c-11 14.7-18.5 32.1-21.2 51.1zm43.8-73.7l23 23c8.4-5.6 17.9-9.6 28.1-11.7V145.1c-19 2.7-36.4 10.2-51.1 21.2zM355.1 345.7l-23-23c-8.4 5.6-17.9 9.6-28.1 11.7v32.5c19-2.7 36.4-10.2 51.1-21.2zm22.6-22.6c11-14.7 18.4-32.1 21.2-51.1H366.4c-2.1 10.2-6.1 19.7-11.7 28.1l23 23zm-23-111.2c5.6 8.4 9.6 17.9 11.7 28.1h32.5c-2.7-19-10.2-36.4-21.2-51.1l-23 23zm.3-45.6c-14.7-11-32.1-18.4-51.1-21.2v32.5c10.2 2.1 19.7 6.1 28.1 11.7l23-23zM310.6 278.6c5.8-5.8 9.4-13.8 9.4-22.6c0-8.8-3.5-16.7-9.2-22.5l-.3-.3c-5.7-5.7-13.6-9.2-22.3-9.2h-.5c-8.7 .1-16.5 3.6-22.3 9.2l-.3 .3c-5.7 5.8-9.2 13.7-9.2 22.5c0 17.7 14.3 32 32 32c8.8 0 16.8-3.6 22.6-9.4z\"]\n};\nvar faStarfighterAlt = faStarfighterTwinIonEngine;\nvar faRocketLaunch = {\n prefix: 'far',\n iconName: 'rocket-launch',\n icon: [512, 512, [128640], \"e027\", \"M197.9 253.9c12.9 6.4 24.7 14.8 35 25.2s18.8 22.2 25.2 35c105.8-30 156.7-79.5 181.5-126c25-46.8 27.3-97.6 22-137.7c-40.1-5.3-90.9-3-137.7 22c-46.5 24.8-96 75.8-126 181.5zM384 312.1v82.2c0 25.4-13.4 49-35.3 61.9l-88.5 52.5c-7.4 4.4-16.6 4.5-24.1 .2s-12.1-12.2-12.1-20.9l0-114.7c0-22.6-9-44.3-25-60.3s-37.7-25-60.3-25H24c-8.6 0-16.6-4.6-20.9-12.1s-4.2-16.7 .2-24.1l52.5-88.5c13-21.9 36.5-35.3 61.9-35.3h82.2C281.7-3.8 408.8-8.5 483.9 5.3c11.6 2.1 20.7 11.2 22.8 22.8c13.8 75.1 9.1 202.2-122.7 284zM28.3 511.9c-16 .4-28.6-12.2-28.2-28.2C1 446 7.7 379.7 42 345.5c34.4-34.4 90.1-34.4 124.5 0s34.4 90.1 0 124.5C132.3 504.3 66 511 28.3 511.9zm50.2-64.5c12.8-.7 31.2-3.7 41.3-13.7c11.4-11.4 11.4-30 0-41.4s-30-11.4-41.4 0c-10.1 10.1-13 28.5-13.7 41.3c-.5 8 5.9 14.3 13.9 13.9zM328 144a40 40 0 1 1 80 0 40 40 0 1 1 -80 0z\"]\n};\nvar faMosquitoNet = {\n prefix: 'far',\n iconName: 'mosquito-net',\n icon: [640, 512, [], \"e52c\", \"M168.8 462.3c-7.9-4-11.1-13.6-7.2-21.5L192 380.2l0-44.2c0-4.2 1.7-8.3 4.7-11.3L256 265.4V242.2L139.2 344C87.8 395.3 0 358.9 0 286.3c0-41.1 30.6-75.8 71.4-80.9l159.9-23.9-49.6-41.3c-5.1-4.2-7-11.1-4.9-17.4l13.9-41.7-29-58.1c-4-7.9-.7-17.5 7.2-21.5s17.5-.7 21.5 7.2l32 64c1.9 3.8 2.2 8.2 .9 12.2l-12.5 37.6L256 160.5V137.9c0-14.9 10.1-27.3 23.8-31V63.7c0-4.5 3.7-8.2 8.2-8.2s8.2 3.7 8.2 8.2V107c13.7 3.6 23.8 16.1 23.8 31v22.6l45.4-37.8L352.8 85.1c-1.3-4-1-8.4 .9-12.2l32-64c4-7.9 13.6-11.1 21.5-7.2s11.1 13.6 7.2 21.5l-29 58.1 13.9 41.7c2.1 6.2 .1 13.1-4.9 17.4l-49.6 41.3 159.9 23.9c22.5 2.8 41.8 14.6 54.7 31.4c-2.7 2.6-5.2 5.4-7.3 8.6c-8.6-12.9-23.3-21.5-40-21.5s-31.4 8.5-40 21.5c-8.6-12.9-23.3-21.5-40-21.5c-13.3 0-25.3 5.4-34 14.1l-11.7-1.7 7.5 6.5c-3.4 4.5-6.1 9.6-7.8 15.2c-10.7 3.2-19.8 10.1-25.9 19.2l-40.2-35v23.1l32.4 32.4c-.3 2-.4 4.1-.4 6.2c0 16.7 8.5 31.4 21.5 40c-4 2.6-7.5 5.9-10.6 9.5L320 310.6v50c0 17.7-14.3 32-32 32s-32-14.3-32-32v-50l-32 32 0 41.4c0 2.5-.6 4.9-1.7 7.2l-32 64c-4 7.9-13.6 11.1-21.5 7.2zM105.2 310c.8-.8 1.6-1.5 2.4-2.3l82-71.4L78.5 252.9c-.4 .1-.8 .1-1.1 .2C60.6 255.2 48 269.5 48 286.3c0 29.8 36.1 44.8 57.2 23.7zM512 256c8.8 0 16 7.2 16 16v16h48V272c0-8.8 7.2-16 16-16s16 7.2 16 16v16h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H608v48h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H608v48h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H608v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V480H528v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V480H448v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V480H400c-8.8 0-16-7.2-16-16s7.2-16 16-16h16V400H400c-8.8 0-16-7.2-16-16s7.2-16 16-16h16V320H400c-8.8 0-16-7.2-16-16s7.2-16 16-16h16V272c0-8.8 7.2-16 16-16s16 7.2 16 16v16h48V272c0-8.8 7.2-16 16-16zm16 112h48V320H528v48zm0 80h48V400H528v48zM448 320v48h48V320H448zm0 80v48h48V400H448z\"]\n};\nvar faVentDamper = {\n prefix: 'far',\n iconName: 'vent-damper',\n icon: [640, 512, [], \"e465\", \"M512 112c8.8 0 16 7.2 16 16V384c0 8.8-7.2 16-16 16H128c-8.8 0-16-7.2-16-16V128c0-8.8 7.2-16 16-16H512zM128 64c-35.3 0-64 28.7-64 64v32H32c-17.7 0-32 14.3-32 32V320c0 17.7 14.3 32 32 32H64v32c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V352h32c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32H576V128c0-35.3-28.7-64-64-64H128zm56 80c-13.3 0-24 10.7-24 24s10.7 24 24 24H456c13.3 0 24-10.7 24-24s-10.7-24-24-24H184zm0 88c-13.3 0-24 10.7-24 24s10.7 24 24 24H456c13.3 0 24-10.7 24-24s-10.7-24-24-24H184zm0 88c-13.3 0-24 10.7-24 24s10.7 24 24 24H456c13.3 0 24-10.7 24-24s-10.7-24-24-24H184z\"]\n};\nvar faBridgeWater = {\n prefix: 'far',\n iconName: 'bridge-water',\n icon: [576, 512, [], \"e4ce\", \"M48 112v50.8c45.9 10.9 80 52.2 80 101.5V361c-14.8-8.5-32-10.6-48-6.5V264.3C80 233.2 54.8 208 23.7 208C10.6 208 0 197.4 0 184.3V96C0 78.3 14.3 64 32 64H544c17.7 0 32 14.3 32 32v88.3c0 13.1-10.6 23.7-23.7 23.7c-31.1 0-56.3 25.2-56.3 56.3v90.2c-16-4.1-33.2-2-48 6.6V264.3c0-49.2 34.1-90.5 80-101.5V112H48zM192 384.5c-5.2 0-10.5-.6-16-1.7V272c0-61.9 50.1-112 112-112s112 50.1 112 112V382.8c-5.5 1.1-10.8 1.7-16 1.7c-10.4 0-21.3-2.2-32-6.1V272c0-35.3-28.7-64-64-64s-64 28.7-64 64V378.4c-10.3 3.8-21.1 6.1-32 6.1zm-80.1 13.6c21.5 18.6 51.2 33.9 80 33.9s58.5-15.3 80-33.9c9.1-8.1 22.8-8.1 31.9 0c21.6 18.6 51.2 33.9 80 33.9s58.5-15.3 80-33.9c9.1-8.1 22.8-8.1 31.9 0c16.9 15.1 39.3 26.8 61.3 31.8c12.9 2.9 21.1 15.7 18.2 28.7s-15.7 21.1-28.7 18.2c-28.7-6.4-52.3-20.5-66.7-30.4c-28.1 19.5-61.4 33.8-96 33.8s-67.9-14.3-96-33.8c-28.1 19.5-61.4 33.8-96 33.8s-67.9-14.3-96-33.8c-14.4 10-38 24-66.7 30.4c-12.9 2.9-25.8-5.2-28.7-18.2s5.2-25.8 18.2-28.7c22.2-5 44-16.8 61.2-31.7c9.1-8.1 22.8-8.1 31.9 0z\"]\n};\nvar faBanBug = {\n prefix: 'far',\n iconName: 'ban-bug',\n icon: [512, 512, [\"debug\"], \"f7f9\", \"M256 464C141.1 464 48 370.9 48 256c0-48.8 16.8-93.7 44.9-129.1L385.1 419.1C349.7 447.2 304.8 464 256 464zm78.9-163c.2-1.1 .3-2.1 .5-3.2l29.5 5.9c8.7 1.7 17.1-3.9 18.8-12.6s-3.9-17.1-12.6-18.8l-35.1-7V246.7l35.1-7c8.7-1.7 14.3-10.2 12.6-18.8s-10.2-14.3-18.8-12.6l-29.5 5.9c-1.1-9.2-3.8-17.8-7.7-25.8l24.5-14.7c7.6-4.5 10-14.4 5.5-22s-14.4-10-22-5.5L307.8 163c-14-11.9-32.1-19-51.8-19c-21.6 0-41.2 8.6-55.6 22.5L126.9 92.9C162.3 64.8 207.2 48 256 48c114.9 0 208 93.1 208 208c0 48.8-16.8 93.7-44.9 129.1L334.9 301zM256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM140.9 272.3c-8.7 1.7-14.3 10.2-12.6 18.8s10.2 14.3 18.8 12.6l29.5-5.9c1.1 9.2 3.8 17.8 7.7 25.8l-24.5 14.7c-7.6 4.5-10 14.4-5.5 22s14.4 10 22 5.5L204.2 349c14 11.9 32.1 19 51.8 19c6.6 0 13-.8 19.2-2.3L175 265.5l-34.1 6.8z\"]\n};\nvar faDebug = faBanBug;\nvar faPersonBooth = {\n prefix: 'far',\n iconName: 'person-booth',\n icon: [576, 512, [], \"f756\", \"M299.2 48l75.1 191.2c2.7 6.8 2.1 14.4-1.5 20.7L316.8 358c-3.1 5.5-4.8 11.7-4.8 18c0 13.3 10.7 24 24 24c8.3 0 15.7-4.2 20-10.7c4.4-6.7 11.9-10.7 20-10.7s15.5 4 20 10.7c4.3 6.5 11.7 10.7 20 10.7c8.6 0 16.2-4.5 20.5-11.5c4.3-6.9 11.8-11.2 19.9-11.4s15.8 3.8 20.4 10.5c5.1 7.5 13.6 12.3 23.2 12.3c13.2 0 24.3-9.2 27.3-21.5c.2-.9 .5-1.7 .7-2.5V372 56c0-4.4-3.6-8-8-8H299.2zM528 442.7c-8.7 3.4-18.1 5.3-28 5.3c-15.8 0-30.5-4.8-42.6-13.1c-11.7 8.2-26 13.1-41.4 13.1c-14.8 0-28.6-4.5-40-12.1c-11.4 7.7-25.2 12.1-40 12.1c-39.8 0-72-32.2-72-72c0-14.7 3.8-29.1 11.1-41.8l50.4-88.1L247.6 48c-4.3 .2-7.6 3.7-7.6 8V208H192V56c0-30.9 25.1-56 56-56h16H520c30.9 0 56 25.1 56 56V372v12V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V442.7zM192 320h48V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V320zM64 32a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM61.2 208c-7.3 0-13.2 5.9-13.2 13.2v42.2l0 .6v13c.1 1.7 .7 3.4 1.8 4.7L72 309V209.9c-3.4-1.2-7.1-1.9-10.8-1.9zM0 276.6V221.2C0 187.4 27.4 160 61.2 160c24.2 0 47.2 11 62.3 29.9l40 50.1H216c13.3 0 24 10.7 24 24s-10.7 24-24 24H159.7c-12.2 0-23.6-5.5-31.2-15L120 262.4V368.1l23 28.4c5.8 7.1 9 16 9 25.2V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V424.5L48 355.6V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V277.5l0-.9z\"]\n};\nvar faTextWidth = {\n prefix: 'far',\n iconName: 'text-width',\n icon: [448, 512, [], \"f035\", \"M48 112l0-32 152 0 0 160-32 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l112 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-32 0 0-160 152 0 0 32c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40c0-22.1-17.9-40-40-40L40 32C17.9 32 0 49.9 0 72l0 40c0 13.3 10.7 24 24 24s24-10.7 24-24zM441 401c9.4-9.4 9.4-24.6 0-33.9l-64-64c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l23 23L81.9 360l23-23c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L7 367c-9.4 9.4-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-23-23 284.1 0-23 23c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l64-64z\"]\n};\nvar faGarageCar = {\n prefix: 'far',\n iconName: 'garage-car',\n icon: [640, 512, [], \"e00a\", \"M323 51.1c-1.9-.8-4.1-.8-6 0L63 154.1c-9.1 3.7-15 12.5-15 22.2V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V176.3c0-29.3 17.8-55.7 44.9-66.7L299 6.6c13.5-5.5 28.6-5.5 42.1 0l254 103c27.2 11 45 37.4 45 66.7V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V176.3c0-9.8-5.9-18.6-15-22.2L323 51.1zM144 240V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V232c0-22.1 17.9-40 40-40H504c22.1 0 40 17.9 40 40V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V240H144zm127.9 85.9l-7 26.1H375l-7.5-26.2c-1-3.4-4.1-5.8-7.7-5.8H279.6c-3.6 0-6.8 2.4-7.7 5.9zm-59.7 37l4.6-17.2 8.7-32.3c6.6-24.4 28.8-41.4 54.1-41.4h80.2c25 0 47 16.6 53.8 40.6l9.4 32.8 5.1 17.8C445 374.7 456 394.1 456 416v72c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8H232v8c0 13.3-10.7 24-24 24s-24-10.7-24-24V416c0-22.1 11.2-41.5 28.2-53zM408 416c0-8.8-7.2-16-16-16H248c-8.8 0-16 7.2-16 16v16H408V416z\"]\n};\nvar faSquareKanban = {\n prefix: 'far',\n iconName: 'square-kanban',\n icon: [448, 512, [], \"e488\", \"M64 432c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H384c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64zM0 416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416zM128 288c13.3 0 24-10.7 24-24V152c0-13.3-10.7-24-24-24s-24 10.7-24 24V264c0 13.3 10.7 24 24 24zm168 40c0 13.3 10.7 24 24 24s24-10.7 24-24V152c0-13.3-10.7-24-24-24s-24 10.7-24 24V328zm-72-72c13.3 0 24-10.7 24-24V152c0-13.3-10.7-24-24-24s-24 10.7-24 24v80c0 13.3 10.7 24 24 24z\"]\n};\nvar faHatWizard = {\n prefix: 'far',\n iconName: 'hat-wizard',\n icon: [512, 512, [], \"f6e8\", \"M327.7 227.6c-5.1-11.5-7.7-23.9-7.7-36.5c0-10.1 1.7-20.1 5-29.7l27.7-79.1-98.3 56.2c-26.6 15.2-47.7 38.5-60.1 66.5L100.5 416H48L150.4 185.5c16.6-37.4 44.7-68.4 80.2-88.7L376.9 13.2l.1 0 2.1-1.2 16.6-9.5C398.5 .9 401.7 0 405 0c10.5 0 19 8.5 19 19v1.5c0 2.3-.4 4.6-1.2 6.8l-5 14.2-1.5 4.2-.1 .3-46 131.3c-1.6 4.4-2.4 9.1-2.4 13.8c0 5.9 1.2 11.7 3.6 17l-43.9 19.5zm43.9-19.5L464 416H411.5L327.7 227.6l43.9-19.5zM246.2 416H201.8l-6.5-19.4-40.4-13.5C148.4 381 144 374.9 144 368s4.4-13 10.9-15.2l40.4-13.5 13.5-40.4c2.2-6.5 8.3-10.9 15.2-10.9s13 4.4 15.2 10.9l13.5 40.4 40.4 13.5c6.5 2.2 10.9 8.3 10.9 15.2s-4.4 13-10.9 15.2l-40.4 13.5L246.2 416zM0 480c0-17.7 14.3-32 32-32H480c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zM264 168c3.4 0 6.5 2.2 7.6 5.5l6.7 20.2 20.2 6.7c3.3 1.1 5.5 4.1 5.5 7.6s-2.2 6.5-5.5 7.6l-20.2 6.7-6.7 20.2c-1.1 3.3-4.1 5.5-7.6 5.5s-6.5-2.2-7.6-5.5l-6.7-20.2-20.2-6.7c-3.3-1.1-5.5-4.1-5.5-7.6s2.2-6.5 5.5-7.6l20.2-6.7 6.7-20.2c1.1-3.3 4.1-5.5 7.6-5.5z\"]\n};\nvar faChartKanban = {\n prefix: 'far',\n iconName: 'chart-kanban',\n icon: [448, 512, [], \"e64f\", \"M368 432l0-352 32 0 0 352H368zm-48 0c0 26.5 21.5 48 48 48h32c26.5 0 48-21.5 48-48l0-352c0-26.5-21.5-48-48-48H368c-26.5 0-48 21.5-48 48l0 352zM80 368H48L48 80H80l0 288zM48 416H80c26.5 0 48-21.5 48-48l0-288c0-26.5-21.5-48-48-48H48C21.5 32 0 53.5 0 80L0 368c0 26.5 21.5 48 48 48zM240 240H208l0-160h32l0 160zm-32 48h32c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H208c-26.5 0-48 21.5-48 48l0 160c0 26.5 21.5 48 48 48z\"]\n};\nvar faPenFancy = {\n prefix: 'far',\n iconName: 'pen-fancy',\n icon: [512, 512, [128395, 10002], \"f5ac\", \"M399.4 59.9c7.1-7.6 17-11.9 27.3-11.9C447.3 48 464 64.7 464 85.3c0 10.4-4.3 20.2-11.9 27.3l-195.5 182-39.2-39.2 182-195.5zM426.7 0C403 0 380.4 9.8 364.2 27.2L170.8 234.9 97.2 257.6c-22.8 7-40.6 24.9-47.6 47.6L1.9 460.1c-9.4 30.7 19.3 59.4 50 50l154.8-47.6c22.8-7 40.6-24.9 47.6-47.6l22.6-73.6L484.8 147.8C502.2 131.6 512 109 512 85.3C512 38.2 473.8 0 426.7 0zM228.8 334.8l-20.3 65.9c-2.3 7.6-8.3 13.5-15.9 15.9L85 449.7 134.7 400c.4 0 .9 0 1.3 0c13.3 0 24-10.7 24-24s-10.7-24-24-24s-24 10.7-24 24c0 .4 0 .9 0 1.3L62.3 427 95.5 319.3c2.3-7.6 8.3-13.5 15.9-15.9l65.9-20.3 51.6 51.6z\"]\n};\nvar faCoffeePot = {\n prefix: 'far',\n iconName: 'coffee-pot',\n icon: [512, 512, [], \"e002\", \"M88 80c-22.1 0-40 17.9-40 40v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V120C0 71.4 39.4 32 88 32h34.4H192 453.6C468.2 32 480 43.8 480 58.4c0 3.7-.8 7.3-2.3 10.7l-48.4 109c50 34.7 82.7 92.5 82.7 157.9v8c0 55.5-34.6 99.4-55.9 121.2C446.2 475.3 432.3 480 418 480H158c-14.2 0-28.1-4.7-38.1-14.8C98.6 443.4 64 399.5 64 344v-8c0-65.4 32.7-123.2 82.7-157.9L103.1 80H88zm296.8 80l35.6-80H192 155.6l35.6 80H384.8zm1.2 48H190c-41.8 21.6-71.7 63.1-77.1 112H463.1c-5.4-48.9-35.3-90.4-77.1-112zm32.2 224H157.7c.1 0 .1 0 .2 0H418c.1 0 .1 0 .2 0z\"]\n};\nvar faMouseField = {\n prefix: 'far',\n iconName: 'mouse-field',\n icon: [512, 512, [], \"e5a8\", \"M393.4 50.8C397.9 49 402.8 48 408 48c22.1 0 40 17.9 40 40c0 8.1-2.4 15.6-6.5 21.9c-10.4-5.3-21.7-9.1-33.6-11.4c-.9-17.4-6.1-33.7-14.5-47.8zm86.2 88.4C489.9 124.8 496 107.1 496 88c0-48.6-39.4-88-88-88c-18.4 0-35.5 5.7-49.6 15.3C342.5 5.6 323.9 0 304 0C246.6 0 200 46.6 200 104v3.2c0 21.2 6.4 41.3 17.7 58.1C143.2 184.4 88 252 88 332.6c0 12.7 2.8 24.7 7.9 35.4H72c-39.8 0-72 32.2-72 72s32.2 72 72 72H456c13.3 0 24-10.7 24-24s-10.7-24-24-24H72c-13.3 0-24-10.7-24-24s10.7-24 24-24h99.4H344h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H344.2l32-80H456c30.9 0 56-25.1 56-56v-7.7c0-32.6-12.2-62.4-32.4-85.1zM292.6 368H171.4c-19.6 0-35.4-15.9-35.4-35.4C136 263.8 191.8 208 260.6 208H280c11.4 0 21.2-8 23.5-19.2s-3.6-22.4-14.1-26.9l-7.5-3.2c-20.6-8.8-33.9-29.1-33.9-51.5V104c0-30.9 25.1-56 56-56s56 25.1 56 56v16c0 12.5 9.7 23 22.2 23.9l8 .6c41.7 3.2 73.9 38 73.9 79.8V232c0 4.4-3.6 8-8 8H360c-9.8 0-18.6 6-22.3 15.1L292.6 368zM396 216a20 20 0 1 0 0-40 20 20 0 1 0 0 40z\"]\n};\nvar faPersonDigging = {\n prefix: 'far',\n iconName: 'person-digging',\n icon: [576, 512, [\"digging\"], \"f85e\", \"M208 64a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM440.8 288c8.2 .3 15.7 4.7 19.8 11.8l104 176c4.4 7.4 4.5 16.6 .2 24.1s-12.2 12.1-20.8 12.1H288c-7.7 0-15-3.7-19.5-10s-5.7-14.3-3.3-21.6l16-48c3.3-9.8 12.4-16.4 22.8-16.4h35.4l20.3-29.5L22.8 246.2c-12.2-5.1-18-19.1-12.9-31.4s19.1-18 31.4-12.9L61 210.1l19.8-36.2C96.2 145.6 125.8 128 158 128h3.8c52.3 0 98.5 33.8 114.4 83.6l32.3 101.6 79 32.9 32.8-47.7c4.6-6.8 12.4-10.7 20.6-10.4zm-190.4 1l-20-62.8c-9.5-29.9-37.3-50.2-68.6-50.2H158c-14.6 0-28.1 8-35.1 20.8l-17.3 31.8L250.4 289zm188.1 67.6l-66.7 97L364.6 464H501.9L438.5 356.6zM81.4 301.1l128 54.4c8.9 3.8 14.6 12.5 14.6 22.1V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V393.5L87.5 355.9 47 494.7c-3.7 12.7-17 20-29.8 16.3S-2.7 494 1 481.3L49 316.5l7.6-25.9 24.9 10.6z\"]\n};\nvar faDigging = faPersonDigging;\nvar faShowerDown = {\n prefix: 'far',\n iconName: 'shower-down',\n icon: [384, 512, [\"shower-alt\"], \"e24d\", \"M192 0c13.3 0 24 10.7 24 24v9.8c77 11.6 136 78 136 158.2v16h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H328 56 24c-13.3 0-24-10.7-24-24s10.7-24 24-24h8V192C32 111.8 91 45.4 168 33.8V24c0-13.3 10.7-24 24-24zM80 208H304V192c0-61.9-50.1-112-112-112S80 130.1 80 192v16zM52.8 295.4c1.9-4.5 6.3-7.4 11.2-7.4s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V352c0 17.7-14.3 32-32 32s-32-14.3-32-32v-1.2c0-4.5 .9-8.9 2.7-13.1l18.2-42.4zm109.8 42.4l18.2-42.4c1.9-4.5 6.3-7.4 11.2-7.4s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V352c0 17.7-14.3 32-32 32s-32-14.3-32-32v-1.2c0-4.5 .9-8.9 2.7-13.1zm64 128l18.2-42.4c1.9-4.5 6.3-7.4 11.2-7.4s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V480c0 17.7-14.3 32-32 32s-32-14.3-32-32v-1.2c0-4.5 .9-8.9 2.7-13.1zm82.2-170.4c1.9-4.5 6.3-7.4 11.2-7.4s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V352c0 17.7-14.3 32-32 32s-32-14.3-32-32v-1.2c0-4.5 .9-8.9 2.7-13.1l18.2-42.4zM98.7 465.7l18.2-42.4c1.9-4.5 6.3-7.4 11.2-7.4s9.2 2.9 11.2 7.4l18.2 42.4c1.8 4.1 2.7 8.6 2.7 13.1V480c0 17.7-14.3 32-32 32s-32-14.3-32-32v-1.2c0-4.5 .9-8.9 2.7-13.1z\"]\n};\nvar faShowerAlt = faShowerDown;\nvar faBoxCircleCheck = {\n prefix: 'far',\n iconName: 'box-circle-check',\n icon: [576, 512, [], \"e0c4\", \"M342.4 80c6.3 0 12.1 3.7 14.6 9.5L388.4 160H248V80h94.4zM48 208H358.6c22.3-10.3 47.2-16 73.4-16c5.4 0 10.7 .2 16 .7v-3.1c0-9-1.9-17.8-5.5-26L400.9 70c-10.3-23.1-33.2-38-58.5-38H105.6C80.3 32 57.4 46.9 47.1 70L5.5 163.6c-3.6 8.2-5.5 17-5.5 26V416c0 35.3 28.7 64 64 64H296.2c-11.8-14.3-21.4-30.5-28.2-48H64c-8.8 0-16-7.2-16-16V208zm11.6-48L91 89.5c2.6-5.8 8.3-9.5 14.6-9.5H200v80H59.6zM576 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L416 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faBrightness = {\n prefix: 'far',\n iconName: 'brightness',\n icon: [512, 512, [], \"e0c9\", \"M232 88c0 13.3 10.7 24 24 24s24-10.7 24-24V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V88zm24 120a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm0 144a96 96 0 1 0 0-192 96 96 0 1 0 0 192zM0 256c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24s-10.7-24-24-24H24c-13.3 0-24 10.7-24 24zm424-24c-13.3 0-24 10.7-24 24s10.7 24 24 24h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H424zM256 512c13.3 0 24-10.7 24-24V424c0-13.3-10.7-24-24-24s-24 10.7-24 24v64c0 13.3 10.7 24 24 24zM75 75c-9.4 9.4-9.4 24.6 0 33.9l45.3 45.3c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L108.9 75c-9.4-9.4-24.6-9.4-33.9 0zM391.8 357.8c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9L403.1 437c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-45.3-45.3zM75 437c9.4 9.4 24.6 9.4 33.9 0l45.3-45.3c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L75 403.1c-9.4 9.4-9.4 24.6 0 33.9zM357.8 120.2c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L437 108.9c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-45.3 45.3z\"]\n};\nvar faCarSideBolt = {\n prefix: 'far',\n iconName: 'car-side-bolt',\n icon: [640, 512, [], \"e344\", \"M134.2 105.1L99.4 192H128v48H64c-8.8 0-16 7.2-16 16v96H69.5c13.2-37.3 48.7-64 90.5-64s77.4 26.7 90.5 64H389.5c13.2-37.3 48.7-64 90.5-64s77.4 26.7 90.5 64H592V320c0-44.2-35.8-80-80-80H416V192h46.1L384.5 95c-7.6-9.5-19.1-15-31.2-15H171.3c-16.4 0-31.1 10-37.1 25.1zM46.8 194.3l42.8-107C103 53.9 135.3 32 171.3 32H353.2c26.7 0 52 12.2 68.7 33L524 192.6c65.1 6 116 60.8 116 127.4v48c0 17.7-14.3 32-32 32H574.7c-7.6 45.4-47.1 80-94.7 80s-87.1-34.6-94.7-80H254.7c-7.6 45.4-47.1 80-94.7 80s-87.1-34.6-94.7-80H32c-17.7 0-32-14.3-32-32V256c0-29.4 19.8-54.2 46.8-61.7zM434.7 400a48 48 0 1 0 90.5-32 48 48 0 1 0 -90.5 32zM208 384a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM331.2 100.6c5.3 5.2 6.3 13.3 2.5 19.6L300.3 176H352c7.1 0 13.4 4.7 15.4 11.6s-.8 14.2-6.9 18l-128 80c-6.3 3.9-14.4 3-19.7-2.2s-6.3-13.3-2.5-19.6L243.7 208H192c-7.1 0-13.4-4.7-15.4-11.6s.8-14.2 6.9-18l128-80c6.3-3.9 14.4-3 19.7 2.2z\"]\n};\nvar faFileXml = {\n prefix: 'far',\n iconName: 'file-xml',\n icon: [512, 512, [], \"e654\", \"M64 464H96v48H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3V288H336V160H256c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16zm128-96c0 7.3 2.2 14.4 6.2 20.4l9.8 14.7 9.8-14.7c4-6.1 6.2-13.2 6.2-20.4c0-8.8 7.2-16 16-16s16 7.2 16 16c0 13.6-4 26.9-11.6 38.2L227.2 432l17.2 25.8C252 469.1 256 482.4 256 496c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-7.3-2.2-14.4-6.2-20.4L208 460.8l-9.8 14.7c-4 6.1-6.2 13.2-6.2 20.4c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-13.6 4-26.9 11.6-38.2L188.8 432l-17.2-25.8C164 394.9 160 381.6 160 368c0-8.8 7.2-16 16-16s16 7.2 16 16zM448 496V368c0-8.8 7.2-16 16-16s16 7.2 16 16V480h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H464c-8.8 0-16-7.2-16-16zM299.7 352.6c6.9-1.9 14.3 1 18 7.2L352 416.9l34.3-57.1c3.7-6.2 11.1-9.1 18-7.2s11.7 8.2 11.7 15.4V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V425.8l-18.3 30.5c-2.9 4.8-8.1 7.8-13.7 7.8s-10.8-2.9-13.7-7.8L320 425.8V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V368c0-7.2 4.8-13.5 11.7-15.4z\"]\n};\nvar faOrnament = {\n prefix: 'far',\n iconName: 'ornament',\n icon: [384, 512, [], \"f7b8\", \"M192 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm55.4 64c5.4-9.4 8.6-20.3 8.6-32c0-35.3-28.7-64-64-64s-64 28.7-64 64c0 11.7 3.1 22.6 8.6 32H128c-17.7 0-32 14.3-32 32v25.7C38.6 186.9 0 248.9 0 320C0 426 86 512 192 512s192-86 192-192c0-71.1-38.6-133.1-96-166.3V128c0-17.7-14.3-32-32-32h-8.6zM192 176c42.6 0 81 18.5 107.3 48H84.7c26.4-29.5 64.7-48 107.3-48zM56.2 272H327.8c5.3 15 8.2 31.2 8.2 48s-2.9 33-8.2 48H56.2c-5.3-15-8.2-31.2-8.2-48s2.9-33 8.2-48zM84.7 416H299.3C273 445.5 234.6 464 192 464s-81-18.5-107.3-48z\"]\n};\nvar faPhoneArrowDownLeft = {\n prefix: 'far',\n iconName: 'phone-arrow-down-left',\n icon: [512, 512, [\"phone-arrow-down\", \"phone-incoming\"], \"e223\", \"M329 286.7c11.3-13.8 30.3-18.5 46.7-11.4l112 48c17.6 7.5 27.4 26.5 23.4 45.1l-24 112c-4 18.4-20.3 31.6-39.1 31.6l0 0c-6.1 0-12.2-.1-18.2-.4l-.1 0 0 0c-10-.4-19.8-1.1-29.6-2.2C175.2 485.6 0 295.2 0 64v0C0 45.1 13.2 28.8 31.6 24.9l112-24c18.7-4 37.6 5.8 45.1 23.4l48 112c7 16.4 2.4 35.4-11.4 46.7l-40.6 33.2c26.7 46 65.1 84.4 111.1 111.1L329 286.7zm133.8 78.1l-100.4-43L333 357.6c-14.9 18.2-40.8 22.9-61.2 11.1c-53.3-30.9-97.7-75.3-128.6-128.6c-11.8-20.4-7.1-46.3 11.1-61.2l35.9-29.4-43-100.4L48.1 70.5C51.5 286.2 225.8 460.5 441.5 464l21.3-99.2zM505 41l-135 135H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H312c-13.3 0-24-10.7-24-24V88c0-13.3 10.7-24 24-24s24 10.7 24 24v54.1L471 7c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\"]\n};\nvar faPhoneArrowDown = faPhoneArrowDownLeft;\nvar faPhoneIncoming = faPhoneArrowDownLeft;\nvar faCloudWord = {\n prefix: 'far',\n iconName: 'cloud-word',\n icon: [640, 512, [], \"e138\", \"M410.8 134.2c-19.3 8.6-42 3.5-55.9-12.5C332.8 96.1 300.3 80 264 80c-66.3 0-120 53.7-120 120v0 0l0 .2c0 20.4-12.8 38.5-32 45.3C74.6 258.7 48 294.3 48 336c0 53 43 96 96 96H504h3.3c.6-.1 1.3-.1 1.9-.2c46.2-2.7 82.8-41 82.8-87.8c0-36-21.6-67.1-52.8-80.7c-20.1-8.8-31.6-30-28.1-51.7c.6-3.8 .9-7.7 .9-11.7c0-39.8-32.2-72-72-72c-10.5 0-20.4 2.2-29.2 6.2zM512 479.8v.2h-8H464 144C64.5 480 0 415.5 0 336c0-62.7 40.1-116 96-135.8l0-.2c0-92.8 75.2-168 168-168c50.9 0 96.4 22.6 127.3 58.3C406.2 83.7 422.6 80 440 80c66.3 0 120 53.7 120 120c0 6.6-.5 13-1.5 19.3c48 21 81.5 68.9 81.5 124.7c0 72.4-56.6 131.6-128 135.8zM512 368c0 8.8-7.2 16-16 16H304c-8.8 0-16-7.2-16-16s7.2-16 16-16H496c8.8 0 16 7.2 16 16zM240 352c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16s7.2-16 16-16h96zM128 304c0-8.8 7.2-16 16-16H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16zm272-16h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H400c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faHandFingersCrossed = {\n prefix: 'far',\n iconName: 'hand-fingers-crossed',\n icon: [384, 512, [], \"e1a3\", \"M169.8 57.6c3.7-8 13.3-11.5 21.3-7.7s11.5 13.3 7.7 21.3L120 240H84.7l55.7-119.5c1-1.7 1.9-3.5 2.5-5.3l26.8-57.6zM126.3 37.3l-6.5 14C102.9 24.1 68 13.1 38.3 27C6.3 41.9-7.6 80 7.3 112l42.1 90.2L22 261c-.9 2-1.5 4-1.9 6C7.6 281.1 0 299.7 0 320v0 24c0 92.8 75.2 168 168 168h48c92.8 0 168-75.2 168-168V272 256 224c0-35.3-28.7-64-64-64c-7.9 0-15.4 1.4-22.4 4c-10.4-21.3-32.3-36-57.6-36c-5.4 0-10.7 .7-15.7 1.9l18-38.5c14.9-32 1.1-70.1-31-85.1s-70.1-1.1-85.1 31zM50.8 91.7c-3.7-8-.3-17.5 7.7-21.3s17.5-.3 21.3 7.7l13.7 29.3L75.9 145.4l-25-53.7zM240 176c8.8 0 16 7.2 16 16v32 16c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8 7.2-16 16-16zm0 128c7.9 0 15.4-1.4 22.4-4c10.4 21.3 32.3 36 57.6 36c5.5 0 10.9-.7 16-2v10c0 66.3-53.7 120-120 120H168c-66.3 0-120-53.7-120-120l0-24 0 0c0-17.7 14.3-32 32-32h80c8.8 0 16 7.2 16 16s-7.2 16-16 16H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h40c35.3 0 64-28.7 64-64c0-.7 0-1.4 0-2c5.1 1.3 10.5 2 16 2zm96-48v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V240 224c0-8.8 7.2-16 16-16s16 7.2 16 16v32z\"]\n};\nvar faTrash = {\n prefix: 'far',\n iconName: 'trash',\n icon: [448, 512, [], \"f1f8\", \"M177.1 48h93.7c2.7 0 5.2 1.3 6.7 3.6l19 28.4h-145l19-28.4c1.5-2.2 4-3.6 6.7-3.6zM354.2 80L317.5 24.9C307.1 9.4 289.6 0 270.9 0H177.1c-18.7 0-36.2 9.4-46.6 24.9L93.8 80H80.1 32 24C10.7 80 0 90.7 0 104s10.7 24 24 24H35.6L59.6 452.7c2.5 33.4 30.3 59.3 63.8 59.3H324.6c33.5 0 61.3-25.9 63.8-59.3L412.4 128H424c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8H367.9 354.2zm10.1 48L340.5 449.2c-.6 8.4-7.6 14.8-16 14.8H123.4c-8.4 0-15.3-6.5-16-14.8L83.7 128H364.3z\"]\n};\nvar faGaugeSimple = {\n prefix: 'far',\n iconName: 'gauge-simple',\n icon: [512, 512, [\"gauge-simple-med\", \"tachometer-average\"], \"f629\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm56-160c0-22.3-13.1-41.6-32-50.6V120c0-13.3-10.7-24-24-24s-24 10.7-24 24V301.4c-18.9 9-32 28.3-32 50.6c0 30.9 25.1 56 56 56s56-25.1 56-56z\"]\n};\nvar faGaugeSimpleMed = faGaugeSimple;\nvar faTachometerAverage = faGaugeSimple;\nvar faArrowDownSmallBig = {\n prefix: 'far',\n iconName: 'arrow-down-small-big',\n icon: [576, 512, [\"sort-size-down-alt\"], \"f88d\", \"M143 473L47 377c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l55 55V56c0-13.3 10.7-24 24-24s24 10.7 24 24V398.1l55-55c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-96 96c-9.4 9.4-24.6 9.4-33.9 0zM368 144h64V80H368v64zm-48 0V80c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H368c-26.5 0-48-21.5-48-48zm48 160V432H496V304H368zm-48 0c0-26.5 21.5-48 48-48H496c26.5 0 48 21.5 48 48V432c0 26.5-21.5 48-48 48H368c-26.5 0-48-21.5-48-48V304z\"]\n};\nvar faSortSizeDownAlt = faArrowDownSmallBig;\nvar faBookMedical = {\n prefix: 'far',\n iconName: 'book-medical',\n icon: [448, 512, [], \"f7e6\", \"M0 88C0 39.4 39.4 0 88 0H392c30.9 0 56 25.1 56 56V344c0 22.3-13.1 41.6-32 50.6V464h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H80c-44.2 0-80-35.8-80-80c0-2.7 .1-5.4 .4-8H0V88zM48 432c0 17.7 14.3 32 32 32H368V400H80c-17.7 0-32 14.3-32 32zm0-73.3c9.8-4.3 20.6-6.7 32-6.7H392c4.4 0 8-3.6 8-8V56c0-4.4-3.6-8-8-8H88C65.9 48 48 65.9 48 88V358.7zM208 112c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272v48c0 8.8-7.2 16-16 16H224c-8.8 0-16-7.2-16-16V224H160c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h48V112z\"]\n};\nvar faFaceMelting = {\n prefix: 'far',\n iconName: 'face-melting',\n icon: [640, 512, [129760], \"e483\", \"M528 256c0-114.9-93.1-208-208-208s-208 93.1-208 208c0 33.5 7.9 65 21.9 93c16.7 33.4 12.5 72.2-.1 100.7c-2.1 4.7-4.6 9.5-7.6 14.4H319.9l.1 0h0 0l.1 0h164c-2.7-7.5-4.1-15.6-4.1-24c0-32.6 21.6-60.1 51.3-69c-10.9-20.5-14.2-44.9-9.1-66.1c3.8-15.6 5.8-32 5.8-48.9zm40.9 60.1c-6 24.8 11.1 51.9 36.6 51.9h0H616c13.3 0 24 10.7 24 24s-10.7 24-24 24H605.5h0L552 416c-13.3 0-24 10.7-24 24s10.7 24 24 24s24 10.7 24 24s-10.7 24-24 24H320.1l-.1 0-.1 0H46.6 24c-13.3 0-24-10.7-24-24s10.7-24 24-24H46.6c38.9 0 61.8-58.8 44.4-93.6C73.7 336 64 297.1 64 256C64 114.6 178.6 0 320 0S576 114.6 576 256c0 20.7-2.5 40.8-7.1 60.1zm-305.1-158a32 32 0 1 1 -16.6 61.8 32 32 0 1 1 16.6-61.8zm115.4 64A32 32 0 1 1 441 238.7a32 32 0 1 1 -61.8-16.6zM220.4 279.9c11.3 23.2 33.6 50.1 72.7 60.6s71.9-1.7 93.2-16.1c11-7.4 25.9-4.6 33.3 6.4s4.6 25.9-6.4 33.3c-29.5 19.9-76.5 37.8-132.5 22.8s-87.9-54-103.4-86c-5.8-11.9-.8-26.3 11.1-32.1s26.3-.8 32.1 11.1z\"]\n};\nvar faPoo = {\n prefix: 'far',\n iconName: 'poo',\n icon: [512, 512, [128169], \"f2fe\", \"M224 0c-9.7 0-18.5 5.8-22.2 14.8s-1.7 19.3 5.2 26.2l7.4 7.4c6.1 6.1 9.5 14.4 9.5 23v3.2c0 16.2-13.1 29.3-29.3 29.3H180h-3.1c-6.1 0-12.1 .8-17.8 2.2C113.9 115.8 80 155.9 80 204c0 1.1 0 2.2 .1 3.3C47.1 221.3 24 253.9 24 292c0 14.3 3.3 27.8 9.1 39.9C12.8 350.9 0 377.9 0 408c0 57.4 46.6 104 104 104H408c57.4 0 104-46.6 104-104c0-30.1-12.8-57.1-33.1-76.1c5.8-12.1 9.1-25.6 9.1-39.9c0-38.1-23.1-70.7-56.1-84.7c0-1.1 .1-2.2 .1-3.3c0-38-21.2-71-52.3-87.9C363.6 49.5 303.6 0 232 0h-8zm48 71.4c0-5.5-.6-10.9-1.6-16.1c33.8 13.4 58.9 44 64.5 81c1.3 8.6 7.2 15.9 15.3 18.9C370 162.6 384 181.7 384 204c0 4.9-.7 9.7-1.9 14.1c-1.9 6.7-.8 13.9 3 19.7s10 9.7 16.9 10.6c21.5 2.9 38 21.3 38 43.6c0 11.4-4.3 21.8-11.4 29.6c-5 5.4-7.1 12.9-5.9 20.1s5.7 13.6 12.2 17.1c17.4 9.5 29.2 28 29.2 49.2c0 30.9-25.1 56-56 56H104c-30.9 0-56-25.1-56-56c0-21.2 11.7-39.7 29.2-49.2c6.5-3.5 10.9-9.8 12.2-17.1s-1-14.7-5.9-20.1C76.3 313.8 72 303.4 72 292c0-22.3 16.6-40.7 38-43.6c6.9-.9 13-4.8 16.9-10.6s4.9-13 3-19.7c-1.3-4.5-1.9-9.2-1.9-14.1c0-25.1 17.8-46 41.4-50.9c.4-.1 .8-.2 1.2-.3c2-.5 4.1-.8 6.3-.8H180h14.7c42.7 0 77.3-34.6 77.3-77.3V71.4zM192 320a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm128 0a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM172.3 352c-6.8 0-12.3 5.5-12.3 12.3c0 2.4 .7 4.8 2.2 6.7c8.2 10.5 39.5 45 93.8 45s85.6-34.6 93.8-45c1.5-1.9 2.2-4.3 2.2-6.7c0-6.8-5.5-12.3-12.3-12.3H172.3z\"]\n};\nvar faPenClipSlash = {\n prefix: 'far',\n iconName: 'pen-clip-slash',\n icon: [640, 512, [\"pen-alt-slash\"], \"e20f\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L409.9 296 556.7 149.3c25-25 25-65.5 0-90.5L517.3 19.3c-25-25-65.5-25-90.5 0L384 62.1 370.9 49c-28.1-28.1-73.7-28.1-101.8 0l-76.6 76.6L38.8 5.1zM230.5 155.4L303 82.9c9.4-9.4 24.6-9.4 33.9 0L350.1 96l-85.8 85.8-33.7-26.4zm71.8 56.2L384 129.9 446.1 192l-74.2 74.2-69.6-54.5zm38.8 153.2l-38-29.9-43.6 43.6c-38.8 38.8-87.5 66-140.7 78.6c12.7-53.2 39.9-101.9 78.6-140.7l36.3-36.3-38-29.9-32.3 32.3c-48 48-80.8 109.2-94.1 175.8l-5 25c-1.6 7.9 .9 16 6.6 21.7s13.8 8.1 21.7 6.6l25-5c66.6-13.3 127.8-46.1 175.8-94.1l47.7-47.7z\"]\n};\nvar faPenAltSlash = faPenClipSlash;\nvar faQuoteRight = {\n prefix: 'far',\n iconName: 'quote-right',\n icon: [448, 512, [8221, \"quote-right-alt\"], \"f10e\", \"M448 296c0 66.3-53.7 120-120 120H312c-13.3 0-24-10.7-24-24s10.7-24 24-24h16c39.8 0 72-32.2 72-72V286c-5.1 1.3-10.5 2-16 2H320c-35.3 0-64-28.7-64-64V160c0-35.3 28.7-64 64-64h64c35.3 0 64 28.7 64 64v32 32 72zm-48-72V192 160c0-8.8-7.2-16-16-16H320c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16zM64 240h64c8.8 0 16-7.2 16-16V192 160c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16zm128-48v32 72c0 66.3-53.7 120-120 120H56c-13.3 0-24-10.7-24-24s10.7-24 24-24H72c39.8 0 72-32.2 72-72V286c-5.1 1.3-10.5 2-16 2H64c-35.3 0-64-28.7-64-64V160c0-35.3 28.7-64 64-64h64c35.3 0 64 28.7 64 64v32z\"]\n};\nvar faQuoteRightAlt = faQuoteRight;\nvar faScrollOld = {\n prefix: 'far',\n iconName: 'scroll-old',\n icon: [576, 512, [], \"f70f\", \"M80 80c-17.7 0-32 14.3-32 32v48H80v48H48c-26.5 0-48-21.5-48-48V112C0 67.8 35.8 32 80 32H400c44.2 0 80 35.8 80 80V272H448 432 400c-8.8 0-16-7.2-16-16s7.2-16 16-16h32V160H400c-8.8 0-16-7.2-16-16s7.2-16 16-16h32V112c0-17.7-14.3-32-32-32H153.3c4.3 9.8 6.7 20.6 6.7 32V224h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H160V400c0 17.7 14.3 32 32 32s32-14.3 32-32V352c0-26.5 21.5-48 48-48h.6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .6 .5 .6 .5 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6c26.5 0 48 21.5 48 48v48c0 44.2-35.8 80-80 80H192c-44.2 0-80-35.8-80-80V112c0-17.7-14.3-32-32-32zM265.3 432H496c17.7 0 32-14.3 32-32V352h0-.6-.6-.6-.6-.6-.6H524h-.6-.6-.6-.6-.6-.6-.6-.6H519h-.6-.6-.6-.6-.5-.6-.5-.6-.5-.5H513h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H507h-.5H506h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H499h-.5H498h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H487h-.5H486h-.5H485h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H456h-.5H455h-.5H454h-.5H453h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H441h-.5H440h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H431h-.5H430h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H423h-.5H422h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H415h-.5H414h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H407h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H400v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V352h-.4-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H360h-.5H359h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H347h-.5H346h-.5H345h-.5H344h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H315h-.5H314h-.5H313h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H302h-.5H301h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H294h-.5H293h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H287h-.5-.5-.5-.5-.5-.5-.5-.6-.6-.6H281h-.6-.6-.6-.6-.6-.6-.6-.6H276h-.6-.6-.6-.6-.6-.6H272h0v48c0 11.4-2.4 22.2-6.7 32z\"]\n};\nvar faGuitars = {\n prefix: 'far',\n iconName: 'guitars',\n icon: [512, 512, [], \"f8bf\", \"M152 178V133.7l19.8-39.6c2.8-5.6 4.2-11.7 4.2-17.9V24c0-13.3-10.7-24-24-24H104C90.7 0 80 10.7 80 24V76.2c0 6.2 1.4 12.3 4.2 17.9L104 133.7V178c-50.3 8.6-88 43.8-88 86c0 14 4.2 27.3 11.6 39.1c8.2 13 7.5 32-2.9 43.4C9.2 363.7 0 385 0 408c0 57.4 57.3 104 128 104c29.3 0 56.3-8 77.8-21.4c-8.4-14.7-13.4-31.7-13.8-49.7c-13.1 12.9-34.3 23.2-64 23.2c-54 0-80-33.9-80-56c0-9.7 3.7-19.8 12.4-29.3c26.2-29 26.4-71.9 7.8-101.2c-3-4.8-4.2-9.2-4.2-13.5c0-9.6 11.2-29.7 40-37.1V312c0 13.3 10.7 24 24 24s24-10.7 24-24V226.9c28.8 7.4 40 27.5 40 37.1c0 4.2-1.2 8.7-4.2 13.5c-18.6 29.4-18.4 72.2 7.8 101.2c2.5 2.7 4.6 5.5 6.3 8.4c4.1-11.5 8.8-22.1 12.9-31.2l0 0 1-2.3c3.3-7.4 6.1-13.9 8.5-19.7c-3-10.1-1.5-21.8 4.1-30.7c1.1-1.7 2.1-3.5 3.1-5.3c-.9-4.9-2.7-10.7-5.7-19.3l-.4-1.3c-3.5-10-8.5-24.7-9.2-40.9c-.1-1.3-.1-2.5-.1-3.8V219.6 209.6c-15.8-15.7-38.2-27.1-64-31.5zm170.6-53.9L344 148.6V240c-23.7 0-38.6-8.8-48-19.8c-2.5-2.9-4.6-6-6.3-9.1c-3.7-6.6-6-13.3-7.4-19.1l0-.2c-2.1-8.6-9.3-15.8-18.2-15.8s-16 7.2-16 16v8 19.6 12.9c0 .8 0 1.7 .1 2.5c.5 11.5 4.2 22.3 7.9 33.1c4 11.6 8 23.3 8 35.9c0 20-9.3 40.9-19 62.5c-10.3 23.2-21 47.1-21 71.7c0 40.8 33 73.8 73.8 73.8H438.2c40.8 0 73.8-33 73.8-73.8c0-24.5-10.7-48.5-21-71.7c-9.6-21.6-19-42.5-19-62.5c0-12 4-22.9 8.1-33.8l0 0c3.3-8.9 6.6-17.8 7.6-27.2c.2-1.9 .3-3.8 .3-5.7v-1.6V222 208c0-8.8-7.2-16-16-16s-16.2 7.3-19.5 15.5l-.2 .5c-1.9 4.5-4.7 9.4-9.1 14c-1 1.1-2.1 2.1-3.2 3.1c-9.4 8.3-24.3 14.9-48 14.9V74.1c9.6-6.4 16-17.3 16-29.7V39.8C408 17.8 390.2 0 368.2 0c-18.8 0-35 13.1-38.9 31.5L315.4 96.3c-2.1 9.9 .6 20.2 7.2 27.8zM344 384c-13.3 0-24 10.7-24 24s10.7 24 24 24h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H344zm81.9-99.7c-1.1 6.1-1.9 12.8-1.9 19.7c0 30.7 13.5 60.6 22.2 80l0 0c.7 1.5 1.4 3 2 4.4c10.7 24 15.8 38 15.8 49.8c0 14.2-11.6 25.8-25.8 25.8H297.8c-14.2 0-25.8-11.6-25.8-25.8c0-11.9 5.2-25.8 15.8-49.8c.6-1.4 1.3-2.9 2-4.4l0 0c8.7-19.4 22.2-49.2 22.2-80c0-7.2-.8-14.1-1.9-20.5c10.4 2.9 21.7 4.5 33.9 4.5h48c12.1 0 23.4-1.3 33.9-3.7z\"]\n};\nvar faPhoneXmark = {\n prefix: 'far',\n iconName: 'phone-xmark',\n icon: [640, 512, [], \"e227\", \"M393 286.7c11.3-13.8 30.3-18.5 46.7-11.4l112 48c17.6 7.5 27.4 26.5 23.4 45.1l-24 112c-4 18.4-20.3 31.6-39.1 31.6l0 0c-6.1 0-12.2-.1-18.2-.4l-.1 0 0 0c-10-.4-19.8-1.1-29.6-2.2C239.2 485.6 64 295.2 64 64v0c0-18.9 13.2-35.2 31.6-39.1l112-24c18.7-4 37.6 5.8 45.1 23.4l48 112c7 16.4 2.4 35.4-11.4 46.7l-40.6 33.2c26.7 46 65.1 84.4 111.1 111.1L393 286.7zm133.8 78.1l-100.4-43L397 357.6c-14.9 18.2-40.8 22.9-61.2 11.1c-53.3-30.9-97.7-75.3-128.6-128.6c-11.8-20.4-7.1-46.3 11.1-61.2l35.9-29.4-43-100.4L112.1 70.5C115.5 286.2 289.8 460.5 505.5 464l21.3-99.2zM407 7c9.4-9.4 24.6-9.4 33.9 0l47 47L535 7c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47L407 41c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faHose = {\n prefix: 'far',\n iconName: 'hose',\n icon: [448, 512, [], \"e419\", \"M312 128c13.3 0 24-10.7 24-24v-2.3l80.2-11.5C417.3 98 423.9 104 432 104c8.8 0 16-7.2 16-16V40c0-8.8-7.2-16-16-16c-8.1 0-14.7 6-15.8 13.7L336 26.3V24c0-13.3-10.7-24-24-24s-24 10.7-24 24v80c0 13.3 10.7 24 24 24zM8 488c0 13.3 10.7 24 24 24H416c13.3 0 24-10.7 24-24s-10.7-24-24-24H32c-13.3 0-24 10.7-24 24zM32 384c-13.3 0-24 10.7-24 24s10.7 24 24 24H416c13.3 0 24-10.7 24-24s-10.7-24-24-24H32zM8 328c0 13.3 10.7 24 24 24H416c13.3 0 24-10.7 24-24s-10.7-24-24-24H32c-13.3 0-24 10.7-24 24zM56 156c0-37.6 30.4-68 68-68H256V40H124C59.9 40 8 91.9 8 156s51.9 116 116 116H416c13.3 0 24-10.7 24-24s-10.7-24-24-24H124c-37.6 0-68-30.4-68-68z\"]\n};\nvar faClockSix = {\n prefix: 'far',\n iconName: 'clock-six',\n icon: [512, 512, [], \"e352\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM280 120V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V120c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faShirt = {\n prefix: 'far',\n iconName: 'shirt',\n icon: [640, 512, [128085, \"t-shirt\", \"tshirt\"], \"f553\", \"M233.7 33.1l-23.5 4.6 0 0 23.5-4.6zm172.7 0l-23.5-4.6v0l23.5 4.6zm71.9 13.2l15.4-18.4 0 0L478.3 46.3zM604.5 151.4L619.8 133v0l-15.4 18.4zm3.6 45.7L590 181.3v0l18.1 15.8zm-56 64l18.1 15.8-18.1-15.8zm-44.6 3.5L492.2 283v0l15.4-18.4zM456 221.7l15.4-18.4c-7.2-6-17.1-7.2-25.5-3.3s-13.8 12.4-13.8 21.7h24zm-272 0h24c0-9.3-5.4-17.8-13.8-21.7s-18.4-2.7-25.5 3.3L184 221.7zm-51.5 42.9L147.9 283h0l-15.4-18.4zm-44.6-3.5L69.9 276.9l18.1-15.8zm-56-64L50 181.3l0 0L31.9 197.1zm-7.8-23.6L.2 171.6l23.9 1.9zm11.4-22.1L20.1 133l0 0 15.4 18.4zM161.7 46.3l15.4 18.4L161.7 46.3zm95.5-17.8C254.3 13.6 241.3 0 223.2 0V48c-7.8 0-12.2-5.7-13.1-10.3l47.1-9.3zM320 80c-31.1 0-57-22.2-62.8-51.5l-47.1 9.3C220.2 89.2 265.6 128 320 128V80zm62.8-51.5C377 57.8 351.1 80 320 80v48c54.4 0 99.8-38.8 109.9-90.3l-47.1-9.3zM416.8 0c-18.2 0-31.1 13.6-34 28.5l47.1 9.3C429 42.3 424.6 48 416.8 48V0zm76.8 27.8C472.1 9.8 444.9 0 416.8 0V48c16.8 0 33.2 5.9 46.1 16.7l30.7-36.9zM619.8 133L493.7 27.8 462.9 64.7 589.1 169.9 619.8 133zm20 38.6c-1.2-15-8.4-29-20-38.6l-30.7 36.9c1.7 1.4 2.7 3.4 2.9 5.5l47.9-3.8zm-13.7 41.3c9.9-11.4 14.9-26.2 13.7-41.3L592 175.4c.2 2.1-.5 4.3-2 5.9l36.1 31.6zm-56 64l56-64L590 181.3l-56 64 36.1 31.6zm-78 6.1c23.4 19.5 58 16.7 78-6.1L534 245.3c-2.9 3.3-7.8 3.7-11.1 .9L492.2 283zm-51.5-42.9L492.2 283l30.7-36.9-51.5-42.9-30.7 36.9zM432 221.7V448h48V221.7H432zM432 448c0 8.8-7.2 16-16 16v48c35.3 0 64-28.7 64-64H432zm-16 16H224v48H416V464zm-192 0c-8.8 0-16-7.2-16-16H160c0 35.3 28.7 64 64 64V464zm-16-16V221.7H160V448h48zM147.9 283l51.5-42.9-30.7-36.9-51.5 42.9L147.9 283zm-78-6.1c20 22.9 54.6 25.6 78 6.1l-30.7-36.9c-3.3 2.8-8.3 2.4-11.1-.9L69.9 276.9zm-56-64l56 64L106 245.3l-56-64L13.9 212.9zM.2 171.6c-1.2 15 3.7 29.9 13.7 41.3L50 181.3c-1.4-1.6-2.1-3.7-2-5.9L.2 171.6zm20-38.6c-11.6 9.7-18.8 23.6-20 38.6L48 175.4c.2-2.1 1.2-4.1 2.9-5.5L20.1 133zM146.3 27.8L20.1 133l30.7 36.9L177.1 64.7 146.3 27.8zM223.2 0c-28.1 0-55.3 9.8-76.8 27.8l30.7 36.9C190 53.9 206.3 48 223.2 48V0z\"]\n};\nvar faTShirt = faShirt;\nvar faTshirt = faShirt;\nvar faBillboard = {\n prefix: 'far',\n iconName: 'billboard',\n icon: [640, 512, [], \"e5cd\", \"M440 24c0-13.3-10.7-24-24-24s-24 10.7-24 24v8H248V24c0-13.3-10.7-24-24-24s-24 10.7-24 24v8H80C53.5 32 32 53.5 32 80V352H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H80 296v88c0 13.3 10.7 24 24 24s24-10.7 24-24V400H560h56c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V80c0-26.5-21.5-48-48-48H440V24zM320 352H80L80 80H200v48h-8c-13.3 0-24 10.7-24 24s10.7 24 24 24h32 32c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V80H392v48h-8c-13.3 0-24 10.7-24 24s10.7 24 24 24h32 32c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V80H560V352H320z\"]\n};\nvar faSquareR = {\n prefix: 'far',\n iconName: 'square-r',\n icon: [448, 512, [], \"e27c\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm152 32H256c44.2 0 80 35.8 80 80c0 36.6-24.6 67.5-58.2 77l45.4 60.6c8 10.6 5.8 25.6-4.8 33.6s-25.6 5.8-33.6-4.8L220 288H176v72c0 13.3-10.7 24-24 24s-24-10.7-24-24V264 152c0-13.3 10.7-24 24-24zm80 112h24c17.7 0 32-14.3 32-32s-14.3-32-32-32H176v64h56z\"]\n};\nvar faCubes = {\n prefix: 'far',\n iconName: 'cubes',\n icon: [576, 512, [], \"f1b3\", \"M290.7 48.3c-1.7-.6-3.6-.6-5.4 0l-81.2 29L288 109.5l83.9-32.1-81.2-29zM176 207.2l88 31.4V151.7l-88-33.7v89.3zm136 31.4l88-31.4V117.9l-88 33.7v86.9zM448 93V207.5l91.9 34.8c21.8 8.2 36.1 29.1 36.1 52.4V413.9c0 22.2-13.1 42.3-33.5 51.3l-96.4 42.4c-14 6.1-29.8 6.3-43.9 .5L288 460.7 173.8 508c-14.1 5.8-30 5.7-43.9-.5L33.5 465.1C13.1 456.2 0 436.1 0 413.9V294.7c0-23.3 14.4-44.1 36.1-52.4L128 207.5V93c0-23.7 14.9-44.8 37.2-52.7l104-37.1c12.2-4.3 25.5-4.3 37.6 0l104 37.1C433.1 48.2 448 69.3 448 93zM264 320.2l-88 33.7V455.1l88-36.4V320.2zM52.8 421.2L128 454.3V353.9L48 323.2v90.7c0 3.2 1.9 6 4.8 7.3zM400 455.1V353.9l-88-33.7v98.6l88 36.4zm48-.9l75.2-33.1c2.9-1.3 4.8-4.2 4.8-7.3V323.2l-80 30.6V454.3zM155 250.7c-1.8-.6-3.7-.6-5.5 .1L70.8 280.6 152 311.7l83.9-32.1L155 250.7zm266 0l-80.9 28.9L424 311.7l81.2-31.1-78.7-29.8c-1.8-.7-3.7-.7-5.5-.1z\"]\n};\nvar faEnvelopeOpenDollar = {\n prefix: 'far',\n iconName: 'envelope-open-dollar',\n icon: [512, 512, [], \"f657\", \"M120 48c-4.4 0-8 3.6-8 8V225.2L69.2 190.1c-1.7-1.4-3.4-2.6-5.2-3.8V56C64 25.1 89.1 0 120 0H392c30.9 0 56 25.1 56 56V186.2c-1.8 1.2-3.5 2.5-5.2 3.8L400 225.2V56c0-4.4-3.6-8-8-8H120zM48 276.2V456c0 4.4 3.6 8 8 8H456c4.4 0 8-3.6 8-8V276.2L322 392.8c-38.4 31.5-93.7 31.5-132 0L48 276.2zM0 237.9C0 221.4 13.4 208 29.9 208c6.9 0 13.6 2.4 19 6.8l171.6 141c20.7 17 50.4 17 71.1 0l171.6-141c5.3-4.4 12.1-6.8 19-6.8c16.5 0 29.9 13.4 29.9 29.9V456c0 30.9-25.1 56-56 56H56c-30.9 0-56-25.1-56-56V237.9zM276 88v13.9c7.5 1.2 14.6 2.9 21.1 4.7c10.7 2.8 17 13.8 14.2 24.5s-13.8 17-24.5 14.2c-11-2.9-21.6-5-31.2-5.2c-7.9-.1-16 1.8-21.5 5c-4.8 2.8-6.2 5.6-6.2 9.3c0 1.8 .1 3.5 5.3 6.7c6.3 3.8 15.5 6.7 28.3 10.5l.7 .2c11.2 3.4 25.6 7.7 37.1 15c12.9 8.1 24.3 21.3 24.6 41.6c.3 20.9-10.5 36.1-24.8 45c-7.2 4.5-15.2 7.3-23.2 9V296c0 11-9 20-20 20s-20-9-20-20V281.4c-10.3-2.2-20-5.5-28.2-8.4l0 0 0 0c-2.1-.7-4.1-1.4-6.1-2.1c-10.5-3.5-16.1-14.8-12.6-25.3s14.8-16.1 25.3-12.6c2.5 .8 4.9 1.7 7.2 2.4c13.6 4.6 24 8.1 35.1 8.5c8.6 .3 16.5-1.6 21.4-4.7c4.1-2.5 6-5.5 5.9-10.5c0-2.9-.8-5-5.9-8.2c-6.3-4-15.4-6.9-28-10.7l-1.7-.5c-10.9-3.3-24.6-7.4-35.6-14c-12.7-7.7-24.6-20.5-24.7-40.7c-.1-21.1 11.8-35.7 25.8-43.9c6.9-4.1 14.5-6.8 22.2-8.5V88c0-11 9-20 20-20s20 9 20 20z\"]\n};\nvar faDivide = {\n prefix: 'far',\n iconName: 'divide',\n icon: [448, 512, [10135, 247], \"f529\", \"M264 96a40 40 0 1 0 -80 0 40 40 0 1 0 80 0zm0 320a40 40 0 1 0 -80 0 40 40 0 1 0 80 0zM408 280c13.3 0 24-10.7 24-24s-10.7-24-24-24H40c-13.3 0-24 10.7-24 24s10.7 24 24 24H408z\"]\n};\nvar faSunCloud = {\n prefix: 'far',\n iconName: 'sun-cloud',\n icon: [640, 512, [127780], \"f763\", \"M375.7 19.7c-1.5-8-6.9-14.7-14.4-17.8s-16.1-2.2-22.8 2.4L256 61.1 173.5 4.2c-6.7-4.6-15.3-5.5-22.8-2.4s-12.9 9.8-14.4 17.8l-18.1 98.5L19.7 136.3c-8 1.5-14.7 6.9-17.8 14.4s-2.2 16.1 2.4 22.8L61.1 256 4.2 338.5c-4.6 6.7-5.5 15.3-2.4 22.8s9.8 13 17.8 14.4l98.5 18.1 18.1 98.5c1.5 8 6.9 14.7 14.4 17.8s16.1 2.2 22.8-2.4L256 450.9l82.5 56.9c6.7 4.6 15.3 5.5 22.8 2.4s12.9-9.8 14.4-17.8l8.1-44.3c-16.9 0-32.8-4.4-46.6-12.1l-2.1 11.3L269.6 402c-8.2-5.7-19-5.7-27.2 0l-65.6 45.2-14.4-78.3c-1.8-9.8-9.5-17.5-19.3-19.3L64.8 335.2 110 269.6c5.7-8.2 5.7-19 0-27.2L64.8 176.8l78.3-14.4c9.8-1.8 17.5-9.5 19.3-19.3l14.4-78.3L242.4 110c8.2 5.7 19 5.7 27.2 0l65.6-45.2 14.4 78.3c1.8 9.8 9.5 17.5 19.3 19.3l78.3 14.4-13.3 19.3c9.6-2.7 19.7-4.1 30.1-4.1c9.8 0 19.4 1.3 28.5 3.7l15.3-22.1c4.6-6.7 5.5-15.3 2.4-22.8s-9.8-12.9-17.8-14.4l-98.5-18.1L375.7 19.7zM256 144c-61.9 0-112 50.1-112 112s50.1 112 112 112c11.4 0 22.3-1.7 32.6-4.8c-.4-3.7-.6-7.4-.6-11.2c0-21.4 7-41.2 18.8-57.1C295.1 310.1 276.7 320 256 320c-35.3 0-64-28.7-64-64s28.7-64 64-64s64 28.7 64 64c0 14.2-4.6 27.3-12.4 37.9c13.2-17.3 32.1-30 54-35.3c1.8-4 3.8-8 6.1-11.7C363 189.3 314.8 144 256 144zM384 416H568c39.8 0 72-32.2 72-72s-32.2-72-72-72c-10.1 0-19.7 2.1-28.4 5.8C528.8 246.5 499 224 464 224c-38.7 0-71 27.5-78.4 64c-.5 0-1.1 0-1.6 0c-35.3 0-64 28.7-64 64s28.7 64 64 64z\"]\n};\nvar faLampFloor = {\n prefix: 'far',\n iconName: 'lamp-floor',\n icon: [640, 512, [], \"e015\", \"M183.6 176H456.4L405.2 48H234.8L183.6 176zM194.3 20.1C199.1 8 210.9 0 224 0H416c13.1 0 24.9 8 29.7 20.1l64 160c3.9 9.9 2.7 21-3.2 29.8s-15.9 14.1-26.5 14.1H160c-10.6 0-20.5-5.3-26.5-14.1s-7.2-20-3.2-29.8l64-160zM216 464h80V256h48V464h80c13.3 0 24 10.7 24 24s-10.7 24-24 24H320 216c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faSquare7 = {\n prefix: 'far',\n iconName: 'square-7',\n icon: [448, 512, [], \"e25c\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm152 32H296c8.4 0 16.3 4.4 20.6 11.7s4.5 16.2 .5 23.7l-112 208c-6.3 11.7-20.8 16-32.5 9.8s-16-20.8-9.8-32.5l93-172.6H152c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faTengeSign = {\n prefix: 'far',\n iconName: 'tenge-sign',\n icon: [384, 512, [8376, \"tenge\"], \"f7d7\", \"M0 56C0 42.7 10.7 32 24 32H360c13.3 0 24 10.7 24 24s-10.7 24-24 24H24C10.7 80 0 69.3 0 56zM0 184c0-13.3 10.7-24 24-24H192 360c13.3 0 24 10.7 24 24s-10.7 24-24 24H216V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V208H24c-13.3 0-24-10.7-24-24z\"]\n};\nvar faTenge = faTengeSign;\nvar faHeadphones = {\n prefix: 'far',\n iconName: 'headphones',\n icon: [512, 512, [127911], \"f025\", \"M49.6 262C62.4 159.4 149.9 80 256 80s193.6 79.4 206.4 182c-9.4-3.9-19.6-6-30.4-6c-26.5 0-48 21.5-48 48V432c0 26.5 21.5 48 48 48c44.2 0 80-35.8 80-80V368 336 288C512 146.6 397.4 32 256 32S0 146.6 0 288v48 32 32c0 44.2 35.8 80 80 80c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48c-10.8 0-21 2.1-30.4 6zM48 336c0-17.7 14.3-32 32-32V432c-17.7 0-32-14.3-32-32V368 336zm416 0v32 32c0 17.7-14.3 32-32 32V304c17.7 0 32 14.3 32 32z\"]\n};\nvar faHandsHolding = {\n prefix: 'far',\n iconName: 'hands-holding',\n icon: [640, 512, [], \"f4c2\", \"M72 64c39.8 0 72 32.2 72 72V264.8c12.1-10.5 28-16.8 45.3-16.8c18.4 0 36 7.3 49 20.3l61.4 61.4c7.7 7.7 14.5 16.2 20.4 25.3c5.8-9.1 12.6-17.5 20.4-25.3l61.4-61.4c13-13 30.6-20.3 49-20.3c17.3 0 33.1 6.3 45.3 16.8V136c0-39.8 32.2-72 72-72s72 32.2 72 72V352.2c0 31.8-12.6 62.3-35.1 84.9L537 505c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l67.9-67.9c13.5-13.5 21.1-31.8 21.1-50.9V136c0-13.3-10.7-24-24-24s-24 10.7-24 24V281.9c0 25.6-10.2 50.2-28.3 68.4l-15.9 15.9c0 0 0 0 0 0L473 393c0 0 0 0 0 0l-16 16c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l16-16c0 0 0 0 0 0l26.7-26.7c4-4 6.2-9.4 6.2-15c0-11.7-9.5-21.3-21.3-21.3c-5.6 0-11 2.2-15 6.2l-61.4 61.4C354.9 383 344 409.4 344 436.8V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V436.8c0-27.4-10.9-53.8-30.3-73.2l-61.4-61.4c-4-4-9.4-6.2-15-6.2c-11.7 0-21.3 9.5-21.3 21.3c0 5.6 2.2 11 6.2 15L201 359l0 0 16 16c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-16-16 0 0-26.7-26.7 0 0-15.9-15.9C106.2 332.1 96 307.5 96 281.9V136c0-13.3-10.7-24-24-24s-24 10.7-24 24V352.2c0 19.1 7.6 37.4 21.1 50.9L137 471c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L35.1 437.1C12.6 414.6 0 384.1 0 352.2V136C0 96.2 32.2 64 72 64z\"]\n};\nvar faCampfire = {\n prefix: 'far',\n iconName: 'campfire',\n icon: [512, 512, [], \"f6ba\", \"M279.1 43.9L262.1 25.8c-1.8-1.9-3.6-4-5.4-6.1c0 0 0 0 0 0C248.6 10.4 239.9 .3 227.2 0c-6.5-.2-13.1 2.1-18.3 6.8c-21.1 19.2-45 44.4-63.8 72.9c-18.7 28.3-33.1 61-33.1 95C112 255.2 175.4 320 256 320c79.8 0 144-64.7 144-145.3c0-27.3-9.9-55.4-23.6-80.1C362.7 69.7 344.7 47 326.9 30.4c-5-4.7-11.5-7.1-17.9-7.1c-6.8 0-14 2.5-18.8 8.1l-11 12.5zm36.5 174.4c0 32.1-26 58.2-58.2 58.2s-58.2-26-58.2-58.2c0-33.2 33.7-66.4 49.8-80.4c4.9-4.2 11.9-4.2 16.8 0c16.1 14 49.8 47.2 49.8 80.4zM32.5 289.6c-12.4-4.7-26.3 1.5-31 13.9s1.5 26.2 13.9 31L188.3 400 15.5 465.6c-12.4 4.7-18.6 18.6-13.9 31s18.6 18.6 31 13.9L256 425.7l223.5 84.8c12.4 4.7 26.3-1.5 31-13.9s-1.5-26.2-13.9-31L323.7 400l172.8-65.6c12.4-4.7 18.6-18.6 13.9-31s-18.6-18.6-31-13.9L256 374.3 32.5 289.6z\"]\n};\nvar faCircleAmpersand = {\n prefix: 'far',\n iconName: 'circle-ampersand',\n icon: [512, 512, [], \"e0f8\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 191.6c0-8.6 7-15.6 15.6-15.6h19.2c7.3 0 13.2 5.9 13.2 13.2c0 4.2-2 8.1-5.4 10.6L235 217.1l-14.5-14.5c-2.9-2.9-4.6-6.9-4.6-11zm71 46.9c15.7-11.5 25-29.8 25-49.3c0-33.8-27.4-61.2-61.2-61.2H231.6c-35.1 0-63.6 28.5-63.6 63.6c0 16.9 6.7 33 18.6 45l9.2 9.2-24.7 18.1c-17.1 12.5-27.2 32.4-27.2 53.6c0 36.7 29.8 66.5 66.5 66.5h32.2c24.1 0 46.9-10.9 62-29.4L327 377c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-28.4-28.4 31.1-45c7.5-10.9 4.8-25.8-6.1-33.4s-25.8-4.8-33.4 6.1l-26.2 37.8-28.7-28.7L287 238.5zm-87.5 64.1l30.7-22.5 40.1 40.1-1.4 2c-6 8.6-15.8 13.8-26.3 13.8H210.5c-10.2 0-18.5-8.3-18.5-18.5c0-5.9 2.8-11.4 7.5-14.9z\"]\n};\nvar faSnowflakes = {\n prefix: 'far',\n iconName: 'snowflakes',\n icon: [640, 512, [], \"f7cf\", \"M224 0c13.3 0 24 10.7 24 24V70.1l23-23c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-57 57v76.5l66.2-38.2 20.9-77.8c3.4-12.8 16.6-20.4 29.4-17s20.4 16.6 17 29.4L373 142.2l37.1-21.4c11.5-6.6 26.2-2.7 32.8 8.8s2.7 26.2-8.8 32.8L397 183.8l31.5 8.4c12.8 3.4 20.4 16.6 17 29.4s-16.6 20.4-29.4 17l-77.8-20.9L272 256l66.2 38.2 77.8-20.9c12.8-3.4 26 4.2 29.4 17s-4.2 26-17 29.4L397 328.2l37.1 21.4c11.5 6.6 15.4 21.3 8.8 32.8s-21.3 15.4-32.8 8.8L373 369.8l8.4 31.5c3.4 12.8-4.2 26-17 29.4s-26-4.2-29.4-17l-20.9-77.8L248 297.6v76.5l57 57c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-23-23V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V441.9l-23 23c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l57-57V297.6l-66.2 38.2-20.9 77.8c-3.4 12.8-16.6 20.4-29.4 17s-20.4-16.6-17-29.4L75 369.8 37.9 391.2c-11.5 6.6-26.2 2.7-32.8-8.8s-2.7-26.2 8.8-32.8L51 328.2l-31.5-8.4c-12.8-3.4-20.4-16.6-17-29.4s16.6-20.4 29.4-17l77.8 20.9L176 256l-66.2-38.2L31.9 238.6c-12.8 3.4-26-4.2-29.4-17s4.2-26 17-29.4L51 183.8 13.9 162.4c-11.5-6.6-15.4-21.3-8.8-32.8s21.3-15.4 32.8-8.8L75 142.2l-8.4-31.5c-3.4-12.8 4.2-26 17-29.4s26 4.2 29.4 17l20.9 77.8L200 214.4V137.9L143 81c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l23 23V24c0-13.3 10.7-24 24-24zM487 7c9.4-9.4 24.6-9.4 33.9 0l23 23L567 7c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-23 23 23 23c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-23-23-23 23c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l23-23L487 41c-9.4-9.4-9.4-24.6 0-33.9zm32 192c9.4-9.4 24.6-9.4 33.9 0l23 23 23-23c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-23 23 23 23c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-23-23-23 23c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l23-23-23-23c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faHandsClapping = {\n prefix: 'far',\n iconName: 'hands-clapping',\n icon: [512, 512, [], \"e1a8\", \"M328 0c8.8 0 16 7.2 16 16V80c0 8.8-7.2 16-16 16s-16-7.2-16-16V16c0-8.8 7.2-16 16-16zM223.1 18.7c7.4-4.9 17.3-2.9 22.2 4.4l32 48c4.9 7.4 2.9 17.3-4.4 22.2s-17.3 2.9-22.2-4.4l-32-48c-4.9-7.4-2.9-17.3 4.4-22.2zM412 152c9.5-5.1 20.4-8 32-8c37.6 0 68 30.4 68 68V329.6c0 100.5-81.3 182-181.7 182.4c27.3-16.9 50.5-39.8 67.8-66.8c39.4-23.4 65.8-66.4 65.8-115.6V212c0-11-9-20-20-20c-5 0-9.6 1.9-13.1 4.9c-2.5-16.7-9.2-32-18.9-44.9zM410.7 23.1c4.9-7.4 14.8-9.3 22.2-4.4s9.3 14.8 4.4 22.2l-32 48c-4.9 7.4-14.8 9.3-22.2 4.4s-9.3-14.8-4.4-22.2l32-48zM320 208v40c0 3.3-.6 6.4-1.8 9.2s-2.9 5.5-5.2 7.8s-5 4-7.8 5.2s-5.9 1.8-9.2 1.8s-6.4-.6-9.2-1.8s-5.5-2.9-7.8-5.2L169 154.9c-1.9-1.9-4.4-2.9-7-2.9c-5.5 0-9.9 4.5-9.9 9.9c0 2.6 1 5.2 2.9 7L233 247c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L121 202.9l-32-32c-1.9-1.9-4.4-2.9-7-2.9c-5.5 0-9.9 4.5-9.9 9.9c0 2.6 1 5.2 2.9 7l24 24L185 295c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L65 242.9s0 0 0 0c-1.9-1.9-4.4-2.9-7-2.9c-5.5 0-9.9 4.5-9.9 9.9c0 2.6 1 5.2 2.9 7l48 48 0 0L137 343c1.2 1.2 2.2 2.4 3.1 3.8c6.2 9.3 5.1 22-3.1 30.2c-9.4 9.4-24.6 9.4-33.9 0L65 338.9l0 0c-1.9-1.9-4.4-2.9-7-2.9c-5.5 0-9.9 4.5-9.9 9.9c0 2.6 1 5.2 2.9 7l22 22 0 0 16 16 0 0 33.6 33.6c25.2 25.2 59.4 39.4 95 39.4C291.8 464 352 403.8 352 329.6V208c0-8.8-7.2-16-16-16s-16 7.2-16 16zM113.9 129.6c10.4-15.4 28.1-25.6 48.1-25.6c15.4 0 30.1 6.1 41 17L274 192.1c7.1-27.6 32.2-48.1 62-48.1c35.3 0 64 28.7 64 64V329.6C400 430.3 318.3 512 217.6 512c-48.4 0-94.8-19.2-129-53.4L55 425l0 0L39 409l0 0-22-22C6.1 376 0 361.3 0 345.9c0-19.6 9.7-36.9 24.6-47.4L17 290.9C6.1 280 0 265.3 0 249.9c0-21.2 11.4-39.8 28.4-49.9c-2.9-7-4.4-14.5-4.4-22.1c0-32 25.9-57.9 57.9-57.9c11.4 0 22.5 3.4 31.9 9.6z\"]\n};\nvar faRepublican = {\n prefix: 'far',\n iconName: 'republican',\n icon: [640, 512, [], \"f75e\", \"M152 32C68.1 32 0 100.1 0 184v80V424c0 30.9 25.1 56 56 56H88c30.9 0 56-25.1 56-56V384H304v40c0 30.9 25.1 56 56 56h32c30.9 0 56-25.1 56-56V384h48v24c0 39.8 32.2 72 72 72s72-32.2 72-72V344c0-13.3-10.7-24-24-24s-24 10.7-24 24v64c0 13.3-10.7 24-24 24s-24-10.7-24-24V360 264 184c0-83.9-68.1-152-152-152H152zM496 288v48H424c-13.3 0-24 10.7-24 24v64c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8V360c0-13.3-10.7-24-24-24H120c-13.3 0-24 10.7-24 24v64c0 4.4-3.6 8-8 8H56c-4.4 0-8-3.6-8-8V288H496zm0-48H48V184C48 126.6 94.6 80 152 80H392c57.4 0 104 46.6 104 104v56zM405.7 115.4c-1.1-2.1-3.3-3.4-5.7-3.4s-4.7 1.3-5.7 3.4l-12.6 24.6-28.2 4c-2.4 .3-4.4 2-5.2 4.2s-.1 4.7 1.6 6.3l20.4 19.2-4.8 27.1c-.4 2.3 .6 4.7 2.5 6s4.6 1.6 6.7 .5l25.2-12.8 25.2 12.8c2.2 1.1 4.8 .9 6.7-.5s3-3.7 2.5-6l-4.8-27.1L450 154.5c1.7-1.6 2.4-4.1 1.6-6.3s-2.8-3.9-5.2-4.2l-28.2-4-12.6-24.6zM271.9 112c-2.4 0-4.7 1.3-5.7 3.4l-12.6 24.6-28.2 4c-2.4 .3-4.4 2-5.2 4.2s-.1 4.7 1.6 6.3l20.4 19.2-4.8 27.1c-.4 2.3 .6 4.7 2.5 6s4.6 1.6 6.7 .5l25.2-12.8 25.2 12.8c2.2 1.1 4.8 .9 6.7-.5s3-3.7 2.5-6l-4.8-27.1L322 154.5c1.7-1.6 2.4-4.1 1.6-6.3s-2.8-3.9-5.2-4.2l-28.2-4-12.6-24.6c-1.1-2.1-3.3-3.4-5.7-3.4zm-122.3 3.4c-1.1-2.1-3.3-3.4-5.7-3.4s-4.7 1.3-5.7 3.4l-12.6 24.6-28.2 4c-2.4 .3-4.4 2-5.2 4.2s-.1 4.7 1.6 6.3l20.4 19.2-4.8 27.1c-.4 2.3 .6 4.7 2.5 6s4.6 1.6 6.7 .5l25.2-12.8 25.2 12.8c2.2 1.1 4.8 .9 6.7-.5s3-3.7 2.5-6l-4.8-27.1L194 154.5c1.7-1.6 2.4-4.1 1.6-6.3s-2.8-3.9-5.2-4.2l-28.2-4-12.6-24.6z\"]\n};\nvar faLeafMaple = {\n prefix: 'far',\n iconName: 'leaf-maple',\n icon: [512, 512, [127809], \"f6f6\", \"M344.8 13.3c-3.7-7.4-11-12.4-19.3-13.2s-16.4 2.8-21.4 9.5L249.9 82l-2.1-16.1c-.9-7-4.8-13.2-10.7-17.1s-13.2-4.9-19.9-2.9L181.8 56.4 147 15.9c-4.6-5.3-11.2-8.4-18.2-8.4s-13.7 3.1-18.2 8.4L74 58.5 27 52.6c-7.9-1-15.8 2-21 8S-1.2 74.7 .8 82.4L41.4 238 10.7 258.5c-7 4.6-11 12.6-10.7 20.9s5 15.9 12.3 20l106.9 59.4L7 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L153.2 392.8l59.4 106.9c4.1 7.3 11.6 12 20 12.3s16.3-3.7 20.9-10.7L274 470.6l155.6 40.6c7.7 2 15.9 .1 21.9-5.2s9-13.1 8-21l-5.4-42.8c-.3-2.7 .7-5.3 2.7-7.1l39.3-33.7c5.3-4.6 8.4-11.2 8.4-18.2s-3.1-13.7-8.4-18.2l-40.6-34.8 10.5-35.4c2-6.8 .9-14-2.9-19.9s-10.1-9.8-17.1-10.7L430 262.1l72.4-54.3c6.7-5 10.2-13.1 9.5-21.4s-5.7-15.6-13.2-19.3l-36.1-18.1c-3.4-1.7-5.2-5.7-4.1-9.4l22.6-79.2c2.4-8.4 .1-17.4-6.1-23.6s-15.2-8.5-23.6-6.1L372.2 53.5c-3.7 1.1-7.6-.7-9.4-4.1L344.8 13.3zM188.5 357.5L313.9 232.1c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L154.5 323.5 70.1 276.6l2.7-1.8c14.2-9.5 20.8-26.9 16.5-43.4L56.2 104.6l24.7 3.1c8 1 16-2.1 21.2-8.2l26.7-31.1 26.7 31.1c6.2 7.2 16 10.1 25.1 7.4l23.2-6.9 6 46.8c1.2 9.7 8.2 17.7 17.7 20.2s19.5-1 25.3-8.8l66.5-88.7 .7 1.4C332 95 359.5 107.1 385.4 99.7l37.7-10.8-10.8 37.7c-7.4 25.9 4.7 53.4 28.8 65.5l1.4 .7-88.7 66.5c-7.8 5.9-11.3 15.9-8.8 25.3s10.5 16.4 20.2 17.7l46.8 6-6.9 23.2c-2.7 9.1 .2 18.9 7.4 25.1l31.1 26.7-18.1 15.5c-14.3 12.2-21.5 30.8-19.1 49.5l1 7.7L280.6 422.8c-16.5-4.3-33.9 2.3-43.4 16.5l-1.8 2.7-46.9-84.5z\"]\n};\nvar faArrowLeft = {\n prefix: 'far',\n iconName: 'arrow-left',\n icon: [448, 512, [8592], \"f060\", \"M7.4 273.4C2.7 268.8 0 262.6 0 256s2.7-12.8 7.4-17.4l176-168c9.6-9.2 24.8-8.8 33.9 .8s8.8 24.8-.8 33.9L83.9 232 424 232c13.3 0 24 10.7 24 24s-10.7 24-24 24L83.9 280 216.6 406.6c9.6 9.2 9.9 24.3 .8 33.9s-24.3 9.9-33.9 .8l-176-168z\"]\n};\nvar faPersonCircleXmark = {\n prefix: 'far',\n iconName: 'person-circle-xmark',\n icon: [576, 512, [], \"e543\", \"M112 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm32 128.1V304h32V176.1c-.7 0-1.5-.1-2.3-.1H146.3c-.8 0-1.5 0-2.3 .1zM144 352V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V223.6L52.9 299.8c-6.5 11.5-21.2 15.6-32.7 9.1s-15.6-21.2-9.1-32.7L69.7 172.7c15.6-27.6 44.9-44.7 76.6-44.7h27.5c31.7 0 61 17.1 76.6 44.7L297 255.1c-11.7 14-21.3 29.9-28.3 47.1c-.6-.8-1.1-1.6-1.6-2.4L224 223.6V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V352H144zM432 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm59.3 107.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L432 345.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L409.4 368l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L432 390.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L454.6 368l36.7-36.7z\"]\n};\nvar faRuler = {\n prefix: 'far',\n iconName: 'ruler',\n icon: [512, 512, [128207], \"f545\", \"M63.2 379.3c-6.2-6.2-6.2-16.4 0-22.6l39.4-39.4 30.1 30.1c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-30.1-30.1 41.4-41.4 30.1 30.1c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-30.1-30.1 41.4-41.4 30.1 30.1c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-30.1-30.1 41.4-41.4 30.1 30.1c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-30.1-30.1 39.4-39.4c6.2-6.2 16.4-6.2 22.6 0l69.5 69.5c6.2 6.2 6.2 16.4 0 22.6L155.3 448.8c-6.2 6.2-16.4 6.2-22.6 0L63.2 379.3zM98.7 482.7c25 25 65.5 25 90.5 0L482.7 189.3c25-25 25-65.5 0-90.5L413.3 29.3c-25-25-65.5-25-90.5 0L29.3 322.7c-25 25-25 65.5 0 90.5l69.5 69.5z\"]\n};\nvar faArrowLeftFromBracket = {\n prefix: 'far',\n iconName: 'arrow-left-from-bracket',\n icon: [512, 512, [], \"e668\", \"M7 273c-9.4-9.4-9.4-24.6 0-33.9L135 111c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-87 87L328 232c13.3 0 24 10.7 24 24s-10.7 24-24 24L81.9 280l87 87c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L7 273zM344 80c-13.3 0-24-10.7-24-24s10.7-24 24-24l80 0c48.6 0 88 39.4 88 88l0 272c0 48.6-39.4 88-88 88l-80 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l80 0c22.1 0 40-17.9 40-40l0-272c0-22.1-17.9-40-40-40l-80 0z\"]\n};\nvar faCupStrawSwoosh = {\n prefix: 'far',\n iconName: 'cup-straw-swoosh',\n icon: [384, 512, [], \"e364\", \"M249.3 0H280c13.3 0 24 10.7 24 24s-10.7 24-24 24H249.3c-3.7 0-6.9 2.6-7.8 6.2L224.2 128h79.6H352h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H348 299.8 209.9 174.1 84.2 36 24c-13.3 0-24-10.7-24-24s10.7-24 24-24h8H80.2h94.7l20-84.8C200.8 17.9 223.4 0 249.3 0zM60.3 468L38.7 208H86.8L99.7 362.4c15.7-3.1 27.5-7.3 36.9-11.9c19.3-9.5 30.1-22 42.8-37.6l1.9-2.3c12.3-15.2 27.4-33.8 53.1-47.7c16-8.6 35.4-15.1 59.8-18.9l3-36h48.2L323.7 468c-2.1 24.9-22.9 44-47.8 44H108.2c-25 0-45.8-19.1-47.8-44zM290 293.5c-14.1 3.1-24.6 7.1-32.9 11.6c-17.2 9.3-26.9 21.2-39.9 37.2l-.7 .8c-13.3 16.4-29.5 35.9-58.7 50.4c-14.9 7.4-32.6 13.1-54.2 17l4.5 53.5H275.8L290 293.5z\"]\n};\nvar faTemperatureSun = {\n prefix: 'far',\n iconName: 'temperature-sun',\n icon: [640, 512, [\"temperature-hot\"], \"f76a\", \"M320.6 98.5l-2.7-.5L303.8 13.4c-.9-5.4-4.5-10-9.6-12.1s-10.9-1.5-15.4 1.6L208 52.5 137.2 2.9c-4.5-3.2-10.3-3.8-15.4-1.6s-8.7 6.7-9.6 12.1L98.1 98.1 13.4 112.2c-5.4 .9-10 4.5-12.1 9.6s-1.5 10.9 1.6 15.4L52.5 208 2.9 278.8c-3.2 4.5-3.8 10.3-1.6 15.4s6.7 8.7 12.1 9.6l84.7 14.1 14.1 84.7c.9 5.4 4.5 10 9.6 12.1s10.9 1.5 15.4-1.6L208 363.5l70.8 49.6c4.5 3.1 10.3 3.8 15.4 1.6c.7-.3 1.5-.7 2.1-1.1c-5.4-16.9-8.3-35-8.3-53.7c0-37.7 11.8-72.6 32-101.2V112c0-4.5 .2-9 .6-13.5zM208 272a64 64 0 1 0 0-128 64 64 0 1 0 0 128zm0-160a96 96 0 1 1 0 192 96 96 0 1 1 0-192zm192 0c0-35.3 28.7-64 64-64s64 28.7 64 64V273.9c0 14.5 5.7 27.1 12.8 36.6c12 16 19.2 35.9 19.2 57.5c0 53-43 96-96 96s-96-43-96-96c0-21.6 7.1-41.5 19.2-57.5c7.1-9.5 12.8-22.1 12.8-36.6V112zM464 0C402.1 0 352 50.2 352 112V273.9c0 1.7-.7 4.4-3.2 7.8c-18.1 24.1-28.8 54-28.8 86.4c0 79.5 64.5 144 144 144s144-64.5 144-144c0-32.4-10.7-62.3-28.8-86.4c-2.5-3.4-3.2-6.1-3.2-7.8V112C576 50.2 525.9 0 464 0zm0 416c26.5 0 48-21.5 48-48c0-20.9-13.4-38.7-32-45.3V112c0-8.8-7.2-16-16-16s-16 7.2-16 16V322.7c-18.6 6.6-32 24.4-32 45.3c0 26.5 21.5 48 48 48z\"]\n};\nvar faTemperatureHot = faTemperatureSun;\nvar faAlignLeft = {\n prefix: 'far',\n iconName: 'align-left',\n icon: [448, 512, [], \"f036\", \"M24 40C10.7 40 0 50.7 0 64S10.7 88 24 88H264c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zm0 128c-13.3 0-24 10.7-24 24s10.7 24 24 24H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zM0 320c0 13.3 10.7 24 24 24H264c13.3 0 24-10.7 24-24s-10.7-24-24-24H24c-13.3 0-24 10.7-24 24zM24 424c-13.3 0-24 10.7-24 24s10.7 24 24 24H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H24z\"]\n};\nvar faDiceD6 = {\n prefix: 'far',\n iconName: 'dice-d6',\n icon: [448, 512, [], \"f6d1\", \"M243.9 7.7c-12.4-7-27.6-6.9-39.9 .3L19.8 115.6C7.5 122.8 0 135.9 0 150.1V366.6c0 14.5 7.8 27.8 20.5 34.9l184 103c12.1 6.8 26.9 6.8 39.1 0l184-103c12.6-7.1 20.5-20.4 20.5-34.9V146.8c0-14.4-7.7-27.7-20.3-34.8L243.9 7.7zM71.8 140.8L224.2 51.7l152 86.2L223.8 228.2l-152-87.4zM48 182.4l152 87.4V447.1L48 361.9V182.4zM248 447.1V269.7l152-90.1V361.9L248 447.1z\"]\n};\nvar faRestroom = {\n prefix: 'far',\n iconName: 'restroom',\n icon: [640, 512, [], \"f7bd\", \"M128 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-7.3 80h14.6c3 0 5.9 .3 8.7 1V304H112V177c2.8-.6 5.7-1 8.7-1zM112 488V352h32V488c0 13.3 10.7 24 24 24s24-10.7 24-24V251.4l17.6 45.3c4.8 12.4 18.7 18.5 31.1 13.7s18.5-18.7 13.7-31.1l-37-95.2c-13.2-33.8-45.7-56.1-82-56.1H120.7c-36.3 0-68.9 22.3-82 56.1L1.6 279.3c-4.8 12.4 1.3 26.3 13.7 31.1s26.3-1.3 31.1-13.7L64 251.4V488c0 13.3 10.7 24 24 24s24-10.7 24-24zM320 0c-13.3 0-24 10.7-24 24V488c0 13.3 10.7 24 24 24s24-10.7 24-24V24c0-13.3-10.7-24-24-24zM560 48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm-48 80c-40.7 0-77.2 25-92 62.9l-34.4 88.4c-4.8 12.4 1.3 26.3 13.7 31.1c7.6 3 15.8 1.8 22.1-2.5l-15.7 55.8c-2.9 10.2 4.8 20.3 15.4 20.3H448V488c0 13.3 10.7 24 24 24s24-10.7 24-24V384h32V488c0 13.3 10.7 24 24 24s24-10.7 24-24V384h26.9c10.6 0 18.3-10.1 15.4-20.3l-15.7-55.8c6.3 4.2 14.5 5.4 22.1 2.5c12.4-4.8 18.5-18.7 13.7-31.1L604 190.9C589.2 153 552.7 128 512 128zm0 48c2.2 0 4 1.4 4.6 3.5l44 156.5H463.4l44-156.5c.6-2.1 2.5-3.5 4.6-3.5z\"]\n};\nvar faHighDefinition = {\n prefix: 'far',\n iconName: 'high-definition',\n icon: [576, 512, [\"rectangle-hd\"], \"e1ae\", \"M512 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H512zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM304 184V328c0 13.3 10.7 24 24 24h56c53 0 96-43 96-96s-43-96-96-96H328c-13.3 0-24 10.7-24 24zm80 24c26.5 0 48 21.5 48 48s-21.5 48-48 48H352V208h32zM160 184c0-13.3-10.7-24-24-24s-24 10.7-24 24v72 72c0 13.3 10.7 24 24 24s24-10.7 24-24V280h64v48c0 13.3 10.7 24 24 24s24-10.7 24-24V256 184c0-13.3-10.7-24-24-24s-24 10.7-24 24v48H160V184z\"]\n};\nvar faRectangleHd = faHighDefinition;\nvar faJ = {\n prefix: 'far',\n iconName: 'j',\n icon: [320, 512, [106], \"4a\", \"M296 32c13.3 0 24 10.7 24 24V320c0 88.4-71.6 160-160 160S0 408.4 0 320V280c0-13.3 10.7-24 24-24s24 10.7 24 24v40c0 61.9 50.1 112 112 112s112-50.1 112-112V56c0-13.3 10.7-24 24-24z\"]\n};\nvar faGalaxy = {\n prefix: 'far',\n iconName: 'galaxy',\n icon: [512, 512, [], \"e008\", \"M160 184c0-68.3 50.4-124.9 116.1-134.5c-31.2 28.4-51.6 66.6-58 108.1c-1.4 9.3 2.7 18.6 10.6 23.7s18.1 5.2 26 .1C275.9 167.8 301 160 328 160c68.3 0 124.9 50.4 134.6 116.1c-28.4-31.2-66.6-51.6-108.1-58c-9.3-1.4-18.6 2.7-23.7 10.6s-5.2 18.1-.1 26C344.2 275.9 352 301 352 328c0 68.3-50.4 124.9-116.1 134.5c31.2-28.4 51.6-66.6 58-108.1c1.4-9.3-2.7-18.6-10.6-23.7s-18.1-5.2-26-.1C236.1 344.2 211 352 184 352c-68.3 0-124.9-50.4-134.5-116.1c28.4 31.2 66.6 51.6 108.1 58c9.3 1.4 18.6-2.7 23.7-10.6s5.2-18.1 .1-26C167.8 236.1 160 211 160 184zM296 0C194.4 0 112 82.4 112 184c0 15.9 2 31.3 5.8 46c-16.4-9.4-30.8-22.2-42.2-37.9l-13-17.9c-6.5-9-16.9-14.2-28-14.2C15.5 160 0 175.5 0 194.6V216C0 317.6 82.4 400 184 400c15.9 0 31.3-2 46-5.8c-9.4 16.4-22.2 30.8-37.9 42.2l-17.9 13c-9 6.5-14.2 16.9-14.2 28c0 19.1 15.5 34.6 34.6 34.6H216c101.6 0 184-82.4 184-184c0-15.9-2-31.3-5.8-46c16.4 9.4 30.8 22.2 42.2 37.9l13 17.9c6.5 9 16.9 14.2 28 14.2c19.1 0 34.6-15.5 34.6-34.6V296c0-101.6-82.4-184-184-184c-15.9 0-31.3 2-46 5.8c9.4-16.4 22.2-30.8 37.9-42.2l17.9-13-14-19.3 14 19.3c9-6.5 14.2-16.9 14.2-28C352 15.5 336.5 0 317.4 0H296zM256 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faUsersViewfinder = {\n prefix: 'far',\n iconName: 'users-viewfinder',\n icon: [640, 512, [], \"e595\", \"M48 48v88c0 13.3-10.7 24-24 24s-24-10.7-24-24V32C0 14.3 14.3 0 32 0H136c13.3 0 24 10.7 24 24s-10.7 24-24 24H48zm544 0H504c-13.3 0-24-10.7-24-24s10.7-24 24-24H608c17.7 0 32 14.3 32 32V136c0 13.3-10.7 24-24 24s-24-10.7-24-24V48zM136 464c13.3 0 24 10.7 24 24s-10.7 24-24 24H32c-17.7 0-32-14.3-32-32V376c0-13.3 10.7-24 24-24s24 10.7 24 24v88h88zm456 0V376c0-13.3 10.7-24 24-24s24 10.7 24 24V480c0 17.7-14.3 32-32 32H504c-13.3 0-24-10.7-24-24s10.7-24 24-24h88zM320 208a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm-51.6 82c6.3-1.3 12.9-2 19.6-2h32 32c6.7 0 13.3 .7 19.6 2c1.1 .2 2.2 .5 3.3 .7c23.6 5.8 43.8 20.3 56.9 39.9c1.2 1.7 2.3 3.5 3.3 5.4c8.2 14.1 12.8 30.5 12.8 48c0 17.7-14.3 32-32 32H224c-17.7 0-32-14.3-32-32c0-17.5 4.7-33.9 12.8-48c12.9-22.3 34.6-39 60.3-45.3c1.1-.3 2.2-.5 3.3-.7zm96.2-162.6A72 72 0 1 1 275.4 240.5a72 72 0 1 1 89.2-113.1zM397.3 368c-6.6-18.6-24.4-32-45.3-32H288c-20.9 0-38.7 13.4-45.3 32H397.3zM127.8 176a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM96 309.3c0-29.5 23.9-53.3 53.3-53.3h69.3c9.8 0 18.9 2.6 26.8 7.2c-34.6 12.2-62.5 38.9-76.2 72.8H122.7C107.9 336 96 324.1 96 309.3zM470.7 336c-13.7-33.9-41.5-60.6-76.2-72.8c7.9-4.6 17-7.2 26.8-7.2h69.3c29.5 0 53.3 23.9 53.3 53.3c0 14.7-11.9 26.7-26.7 26.7H470.7zM416 176a48 48 0 1 1 96 0 48 48 0 1 1 -96 0z\"]\n};\nvar faFileVideo = {\n prefix: 'far',\n iconName: 'file-video',\n icon: [384, 512, [], \"f1c8\", \"M320 464c8.8 0 16-7.2 16-16V160H256c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H320zM0 64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM80 288c0-17.7 14.3-32 32-32h96c17.7 0 32 14.3 32 32v16l44.9-29.9c2-1.3 4.4-2.1 6.8-2.1c6.8 0 12.3 5.5 12.3 12.3V387.7c0 6.8-5.5 12.3-12.3 12.3c-2.4 0-4.8-.7-6.8-2.1L240 368v16c0 17.7-14.3 32-32 32H112c-17.7 0-32-14.3-32-32V288z\"]\n};\nvar faCherries = {\n prefix: 'far',\n iconName: 'cherries',\n icon: [640, 512, [], \"e0ec\", \"M288 24L302.1 4.5c-6.9-5-15.9-5.9-23.7-2.5s-13.2 10.7-14.2 19.1c0 0 0 0 0 0s0 0 0 0l0 0 0 .2-.1 .9c-.1 .9-.3 2.2-.6 4c-.6 3.6-1.5 9-2.9 15.8c-2.8 13.7-7.6 33.3-15.3 56.3c-14 42-37.4 94.7-75.8 143.7C152.3 233.5 126.5 224 96 224c0 0-96 0-96 112C0 480 144 512 192 512s192-16 192-176c0-112-96-112-96-112c-20.5 0-38.9 4.3-54 9.7c27.1-42.6 45-85.1 56.7-120.2c5.7-17 9.9-32.3 13-45.1c11.7 10.8 25.8 24.7 40.1 41.2c29.6 34.3 59.1 78.4 73.1 128.5c-12-5.3-27-10.3-44.2-12.7c16.3 14.8 30.1 35.3 37.4 63c1.8 1 3.3 2 4.6 2.8c1.5 1 2.6 1.8 3.2 2.2l.4 .3c17.4 13.7 41.9 13.7 59.3 0l.4-.3c.6-.4 1.6-1.2 3.2-2.2c3.1-2 8-4.9 14.2-7.8c12.6-5.9 29.3-11.3 48-11.4l.1 0 .6 0c1.1 .1 3.1 .3 5.7 .8c5.3 1 11.9 3 18 6.6c9.1 5.3 24.2 17.4 24.2 56.5c0 62-26.1 90.5-53.8 106.3c-31.5 18-69.7 21.7-90.2 21.7c-12.3 0-36.6-3.4-61.7-13.4c-9.2 14.8-20.2 27.5-32.3 38.2C390.4 506.3 427.7 512 448 512c48 0 192-16 192-176c0-112-96-112-96-112c-32.3 0-59.2 10.6-76.3 19.6C453.5 176 415.2 118.9 380.2 78.3c-19.9-23-39.2-41.3-53.6-53.9c-7.2-6.3-13.2-11.2-17.5-14.5c-2.1-1.7-3.8-3-5-3.9c-.6-.4-1.1-.8-1.4-1l-.4-.3-.1-.1 0 0 0 0s0 0-14.1 19.4zM162.4 293.8c17.4 13.7 41.9 13.7 59.3 0l.4-.3c.6-.4 1.6-1.2 3.2-2.2c3.1-2 8-4.9 14.2-7.8c12.6-5.9 29.3-11.3 48-11.4l.1 0 .6 0c1.1 .1 3.1 .3 5.7 .8c5.3 1 11.9 3 18 6.6c9.1 5.3 24.2 17.4 24.2 56.5c0 62-26.1 90.5-53.8 106.3c-31.5 18-69.7 21.7-90.2 21.7c-16.7 0-55.6-6.3-88.7-26.8C72.7 418.3 48 388.4 48 336c0-39.1 15.1-51.2 24.2-56.5c6.1-3.6 12.7-5.6 18-6.6c2.6-.5 4.6-.7 5.7-.8c.3 0 .6 0 .7-.1c18.7 .1 35.4 5.5 48 11.4c6.2 2.9 11.1 5.8 14.2 7.8c1.5 1 2.6 1.8 3.2 2.2l.4 .3z\"]\n};\nvar faUpRightFromSquare = {\n prefix: 'far',\n iconName: 'up-right-from-square',\n icon: [512, 512, [\"external-link-alt\"], \"f35d\", \"M304 41c0 10.9 4.3 21.3 12 29L362.1 116 207 271c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l155-155L442.1 196c7.7 7.7 18.1 12 29 12c22.6 0 41-18.3 41-41V40c0-22.1-17.9-40-40-40H345c-22.6 0-41 18.3-41 41zm57.9 7H464V150.1L361.9 48zM72 32C32.2 32 0 64.2 0 104V440c0 39.8 32.2 72 72 72H408c39.8 0 72-32.2 72-72V312c0-13.3-10.7-24-24-24s-24 10.7-24 24V440c0 13.3-10.7 24-24 24H72c-13.3 0-24-10.7-24-24V104c0-13.3 10.7-24 24-24H200c13.3 0 24-10.7 24-24s-10.7-24-24-24H72z\"]\n};\nvar faExternalLinkAlt = faUpRightFromSquare;\nvar faCircleSort = {\n prefix: 'far',\n iconName: 'circle-sort',\n icon: [512, 512, [\"sort-circle\"], \"e030\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM267.3 100.7l96 96c4.6 4.6 5.9 11.5 3.5 17.4s-8.3 9.9-14.8 9.9H160c-6.5 0-12.3-3.9-14.8-9.9s-1.1-12.9 3.5-17.4l96-96c6.2-6.2 16.4-6.2 22.6 0zM244.7 411.3l-96-96c-4.6-4.6-5.9-11.5-3.5-17.4s8.3-9.9 14.8-9.9H352c6.5 0 12.3 3.9 14.8 9.9s1.1 12.9-3.5 17.4l-96 96c-6.2 6.2-16.4 6.2-22.6 0z\"]\n};\nvar faSortCircle = faCircleSort;\nvar faTableCells = {\n prefix: 'far',\n iconName: 'table-cells',\n icon: [512, 512, [\"th\"], \"f00a\", \"M360 80v88H464V96c0-8.8-7.2-16-16-16H360zm-48 0H200v88H312V80zM152 80H64c-8.8 0-16 7.2-16 16v72H152V80zM48 216v80H152V216H48zm0 128v72c0 8.8 7.2 16 16 16h88V344H48zm152 88H312V344H200v88zm160 0h88c8.8 0 16-7.2 16-16V344H360v88zM464 296V216H360v80H464zM0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM200 296H312V216H200v80z\"]\n};\nvar faTh = faTableCells;\nvar faBagShoppingMinus = {\n prefix: 'far',\n iconName: 'bag-shopping-minus',\n icon: [448, 512, [], \"e650\", \"M224 48c35.3 0 64 28.7 64 64v48H160V112c0-35.3 28.7-64 64-64zM112 112v48H48c-26.5 0-48 21.5-48 48V416c0 53 43 96 96 96H352c53 0 96-43 96-96V208c0-26.5-21.5-48-48-48H336V112C336 50.1 285.9 0 224 0S112 50.1 112 112zM48 208H400V416c0 26.5-21.5 48-48 48H96c-26.5 0-48-21.5-48-48V208zm96 104c-13.3 0-24 10.7-24 24s10.7 24 24 24H304c13.3 0 24-10.7 24-24s-10.7-24-24-24H144z\"]\n};\nvar faFilePdf = {\n prefix: 'far',\n iconName: 'file-pdf',\n icon: [512, 512, [], \"f1c1\", \"M64 464l48 0 0 48-48 0c-35.3 0-64-28.7-64-64L0 64C0 28.7 28.7 0 64 0L229.5 0c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3L384 304l-48 0 0-144-80 0c-17.7 0-32-14.3-32-32l0-80L64 48c-8.8 0-16 7.2-16 16l0 384c0 8.8 7.2 16 16 16zM176 352l32 0c30.9 0 56 25.1 56 56s-25.1 56-56 56l-16 0 0 32c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-48 0-80c0-8.8 7.2-16 16-16zm32 80c13.3 0 24-10.7 24-24s-10.7-24-24-24l-16 0 0 48 16 0zm96-80l32 0c26.5 0 48 21.5 48 48l0 64c0 26.5-21.5 48-48 48l-32 0c-8.8 0-16-7.2-16-16l0-128c0-8.8 7.2-16 16-16zm32 128c8.8 0 16-7.2 16-16l0-64c0-8.8-7.2-16-16-16l-16 0 0 96 16 0zm80-112c0-8.8 7.2-16 16-16l48 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-32 0 0 32 32 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-32 0 0 48c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-64 0-64z\"]\n};\nvar faSiren = {\n prefix: 'far',\n iconName: 'siren',\n icon: [448, 512, [], \"e02d\", \"M345.6 304H394L375 152.1C371 120 343.8 96 311.5 96h-175C104.2 96 77 120 73 152.1L54 304h48.4l18.2-146c1-8 7.8-14 15.9-14h175c8.1 0 14.9 6 15.9 14l18.2 146zm-165.5 0l11.8-94c1.1-8.8-5.1-16.8-13.9-17.9s-16.8 5.1-17.9 13.9l-12.2 98h32.2zM48 384H400v48H48l0-48zM0 384v48c0 26.5 21.5 48 48 48H400c26.5 0 48-21.5 48-48V384c0-26.5-21.5-48-48-48H48c-26.5 0-48 21.5-48 48z\"]\n};\nvar faArrowUpToDottedLine = {\n prefix: 'far',\n iconName: 'arrow-up-to-dotted-line',\n icon: [448, 512, [], \"e0a1\", \"M32 32a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm96 0a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm64 32a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zM320 32a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm64 32a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zM241.5 151.6c-4.5-4.8-10.9-7.6-17.5-7.6s-12.9 2.7-17.5 7.6l-128 136c-9.1 9.7-8.6 24.8 1 33.9s24.8 8.6 33.9-1L200 228.5V312 440c0 13.3 10.7 24 24 24s24-10.7 24-24V312 228.5l86.5 91.9c9.1 9.7 24.3 10.1 33.9 1s10.1-24.3 1-33.9l-128-136z\"]\n};\nvar faImageLandscape = {\n prefix: 'far',\n iconName: 'image-landscape',\n icon: [576, 512, [\"landscape\"], \"e1b5\", \"M64 112c-8.8 0-16 7.2-16 16V384c0 8.8 7.2 16 16 16H83.8l80.8-110.2c4.5-6.2 11.7-9.8 19.4-9.8s14.8 3.6 19.4 9.8L232.8 330l83.1-127.1c4.4-6.8 12-10.9 20.1-10.9s15.7 4.1 20.1 10.9L485 400h27c8.8 0 16-7.2 16-16V128c0-8.8-7.2-16-16-16H64zM96 448H64c-35.3 0-64-28.7-64-64V128C0 92.7 28.7 64 64 64H512c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H472 272 200 96zm64-288a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faLandscape = faImageLandscape;\nvar faTankWater = {\n prefix: 'far',\n iconName: 'tank-water',\n icon: [448, 512, [], \"e452\", \"M277.2 80L263.9 55.7 251 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H197L184.1 55.7 170.8 80H64c-8.8 0-16 7.2-16 16V302.4c14.1-2.7 27.8-8.7 39.3-15.3c6.9-3.9 13.1-8.2 18.9-12.7c12.9-10 30.6-10 43.4 0c5.9 4.6 12 8.8 18.9 12.7c15.9 9 35.6 16.9 55.3 16.9s39.5-7.8 55.3-16.9c6.9-3.9 13.1-8.2 18.9-12.7c12.9-10 30.6-10 43.4 0c5.9 4.6 12 8.8 19 12.8c11.6 6.6 25.2 12.5 39.4 15.3V96c0-8.8-7.2-16-16-16H277.2zM48 416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V351c-25-3.1-47.1-13-63.1-22.1c-6.5-3.7-12.2-7.4-17-10.7c-4.7 3.3-10.5 7-16.9 10.7c-19.3 11-47.6 23.1-79.1 23.1s-59.7-12.2-79.1-23.1c-6.5-3.7-12.2-7.4-16.9-10.7c-4.7 3.3-10.5 7-16.9 10.7c-16 9.1-38.1 19-63 22.1v65zM212.2 71c2.4-4.3 6.9-7 11.8-7s9.5 2.7 11.8 7L273 139.2c4.6 8.4 7 17.9 7 27.5V168c0 30.9-25.1 56-56 56s-56-25.1-56-56v-1.4c0-9.6 2.4-19 7-27.5L212.2 71z\"]\n};\nvar faCurlingStone = {\n prefix: 'far',\n iconName: 'curling-stone',\n icon: [576, 512, [129356, \"curling\"], \"f44a\", \"M264 80c-22.1 0-40 17.9-40 40v24H416c35.3 0 64 28.7 64 64v1.1c54.3 7.8 96 54.4 96 110.9v48c0 61.9-50.1 112-112 112H112C50.1 480 0 429.9 0 368V320c0-56.4 41.7-103.1 96-110.9V208c0-35.3 28.7-64 64-64h16V120c0-48.6 39.4-88 88-88H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H264zM112 432H464c35.3 0 64-28.7 64-64H48c0 35.3 28.7 64 64 64zM48 320H528c0-35.3-28.7-64-64-64H112c-35.3 0-64 28.7-64 64z\"]\n};\nvar faCurling = faCurlingStone;\nvar faGamepadModern = {\n prefix: 'far',\n iconName: 'gamepad-modern',\n icon: [640, 512, [127918, 63676, \"gamepad-alt\"], \"e5a2\", \"M216 336H424c22 0 41.2 15 46.6 36.4l3.6 14.3c6.7 26.6 30.6 45.3 58 45.3c33 0 59.8-26.8 59.8-59.8v-2.8c0-3.5-.3-7.1-.9-10.6L558.4 168c-6.2-36-27.8-60.4-54.6-67.1C461.4 90.3 399.7 80 320 80s-141.5 10.3-183.7 20.9C109.4 107.6 87.8 132 81.6 168L48.9 358.8c-.6 3.5-.9 7-.9 10.6v2.8c0 33 26.8 59.8 59.8 59.8c27.4 0 51.4-18.7 58-45.3l3.6-14.3C174.8 351 194 336 216 336zm211.6 62.3L424 384H216l-3.6 14.3c-12 48-55.1 81.7-104.6 81.7C48.3 480 0 431.7 0 372.2v-2.8c0-6.3 .5-12.5 1.6-18.7L34.3 159.8c8.6-50.2 40.9-93.2 90.3-105.5C170.5 42.9 236.2 32 320 32s149.5 10.9 195.3 22.3c49.4 12.3 81.7 55.3 90.3 105.5l32.7 190.9c1.1 6.2 1.6 12.4 1.6 18.7v2.8C640 431.7 591.7 480 532.2 480c-49.5 0-92.6-33.7-104.6-81.7zM232 168v32h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H232v32c0 13.3-10.7 24-24 24s-24-10.7-24-24V248H152c-13.3 0-24-10.7-24-24s10.7-24 24-24h32V168c0-13.3 10.7-24 24-24s24 10.7 24 24zm168 72a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm32-64a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faGamepadAlt = faGamepadModern;\nvar faMessagesQuestion = {\n prefix: 'far',\n iconName: 'messages-question',\n icon: [640, 512, [], \"e1e7\", \"M72 48C58.7 48 48 58.7 48 72V248c0 13.3 10.7 24 24 24h48c13.3 0 24 10.7 24 24v19.2L202.7 276c3.9-2.6 8.6-4 13.3-4H344c13.3 0 24-10.7 24-24V72c0-13.3-10.7-24-24-24H72zM0 72C0 32.2 32.2 0 72 0H344c39.8 0 72 32.2 72 72V248c0 39.8-32.2 72-72 72H223.3l-90 60c-7.4 4.9-16.8 5.4-24.6 1.2S96 368.9 96 360V320H72c-39.8 0-72-32.2-72-72V72zM256 352h48v24c0 13.3 10.7 24 24 24h96c4.7 0 9.4 1.4 13.3 4L496 443.2V424c0-13.3 10.7-24 24-24h48c13.3 0 24-10.7 24-24V200c0-13.3-10.7-24-24-24H448V128H568c39.8 0 72 32.2 72 72V376c0 39.8-32.2 72-72 72H544v40c0 8.9-4.9 17-12.7 21.2s-17.3 3.7-24.6-1.2l-90-60H328c-39.8 0-72-32.2-72-72V352zM147.9 96.1c5.5-15.4 20.1-25.7 36.4-25.7h41.3c24.2 0 43.7 19.6 43.7 43.7c0 15.7-8.4 30.1-22 37.9L224 165.4v.3c0 8.8-7.2 16-16 16s-16-7.2-16-16v-9.5c0-5.7 3.1-11 8-13.9l31.4-18c3.6-2.1 5.9-6 5.9-10.2c0-6.5-5.3-11.7-11.7-11.7H184.3c-2.8 0-5.3 1.8-6.3 4.4l-.3 .9c-3 8.3-12.1 12.7-20.4 9.7s-12.7-12.1-9.7-20.4l.3-.9zM185.3 228a22.7 22.7 0 1 1 45.3 0 22.7 22.7 0 1 1 -45.3 0z\"]\n};\nvar faBookBible = {\n prefix: 'far',\n iconName: 'book-bible',\n icon: [448, 512, [\"bible\"], \"f647\", \"M0 88C0 39.4 39.4 0 88 0H392c30.9 0 56 25.1 56 56V344c0 22.3-13.1 41.6-32 50.6V464h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H80c-44.2 0-80-35.8-80-80c0-2.7 .1-5.4 .4-8H0V88zM48 432c0 17.7 14.3 32 32 32H368V400H80c-17.7 0-32 14.3-32 32zm0-73.3c9.8-4.3 20.6-6.7 32-6.7H392c4.4 0 8-3.6 8-8V56c0-4.4-3.6-8-8-8H88C65.9 48 48 65.9 48 88V358.7zM208 96c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272v96c0 8.8-7.2 16-16 16H224c-8.8 0-16-7.2-16-16V208H160c-8.8 0-16-7.2-16-16V160c0-8.8 7.2-16 16-16h48V96z\"]\n};\nvar faBible = faBookBible;\nvar faO = {\n prefix: 'far',\n iconName: 'o',\n icon: [448, 512, [111], \"4f\", \"M224 80a176 176 0 1 0 0 352 176 176 0 1 0 0-352zM448 256A224 224 0 1 1 0 256a224 224 0 1 1 448 0z\"]\n};\nvar faSuitcaseMedical = {\n prefix: 'far',\n iconName: 'suitcase-medical',\n icon: [512, 512, [\"medkit\"], \"f0fa\", \"M184 48H328c4.4 0 8 3.6 8 8V96H176V56c0-4.4 3.6-8 8-8zm-56 8V96H64C28.7 96 0 124.7 0 160V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H384V56c0-30.9-25.1-56-56-56H184c-30.9 0-56 25.1-56 56zm240 88V432H144V144h8H360h8zM96 144V432H64c-8.8 0-16-7.2-16-16V160c0-8.8 7.2-16 16-16H96zM416 432V144h32c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H416zM229.3 224v37.3H192c-8.8 0-16 7.2-16 16v21.3c0 8.8 7.2 16 16 16h37.3V352c0 8.8 7.2 16 16 16h21.3c8.8 0 16-7.2 16-16V314.7H320c8.8 0 16-7.2 16-16V277.3c0-8.8-7.2-16-16-16l-37.3 0V224c0-8.8-7.2-16-16-16H245.3c-8.8 0-16 7.2-16 16z\"]\n};\nvar faMedkit = faSuitcaseMedical;\nvar faBriefcaseArrowRight = {\n prefix: 'far',\n iconName: 'briefcase-arrow-right',\n icon: [512, 512, [], \"e2f2\", \"M184 48H328c4.4 0 8 3.6 8 8V96H176V56c0-4.4 3.6-8 8-8zm-56 8V96H64C28.7 96 0 124.7 0 160V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H384V56c0-30.9-25.1-56-56-56H184c-30.9 0-56 25.1-56 56zm24 88H360h88c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V160c0-8.8 7.2-16 16-16h88zm145 47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l39 39H152c-13.3 0-24 10.7-24 24s10.7 24 24 24H302.1l-39 39c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9l-80-80z\"]\n};\nvar faExpandWide = {\n prefix: 'far',\n iconName: 'expand-wide',\n icon: [512, 512, [], \"f320\", \"M136 64c13.3 0 24 10.7 24 24s-10.7 24-24 24H48v88c0 13.3-10.7 24-24 24s-24-10.7-24-24V88C0 74.7 10.7 64 24 64H136zM0 312c0-13.3 10.7-24 24-24s24 10.7 24 24v88h88c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V312zM488 64c13.3 0 24 10.7 24 24V200c0 13.3-10.7 24-24 24s-24-10.7-24-24V112H376c-13.3 0-24-10.7-24-24s10.7-24 24-24H488zM464 312c0-13.3 10.7-24 24-24s24 10.7 24 24V424c0 13.3-10.7 24-24 24H376c-13.3 0-24-10.7-24-24s10.7-24 24-24h88V312z\"]\n};\nvar faClockElevenThirty = {\n prefix: 'far',\n iconName: 'clock-eleven-thirty',\n icon: [512, 512, [], \"e348\", \"M48 256a208 208 0 1 0 416 0A208 208 0 1 0 48 256zm464 0A256 256 0 1 1 0 256a256 256 0 1 1 512 0zM232 392V263.3l-60-90c-7.4-11-4.4-25.9 6.7-33.3s25.9-4.4 33.3 6.7l64 96c2.6 3.9 4 8.6 4 13.3V392c0 13.3-10.7 24-24 24s-24-10.7-24-24z\"]\n};\nvar faRv = {\n prefix: 'far',\n iconName: 'rv',\n icon: [640, 512, [], \"f7be\", \"M224 24c0-13.3 10.7-24 24-24H360c13.3 0 24 10.7 24 24v8H520c48.6 0 88 39.4 88 88v40c0 22.5-15.5 41.4-36.4 46.6l53.1 41.7c9.7 7.6 15.3 19.2 15.3 31.5V376c0 22.1-17.9 40-40 40H574.4c1 5.2 1.6 10.5 1.6 16c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-5.5 .6-10.8 1.6-16H408 254.4c1 5.2 1.6 10.5 1.6 16c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-7 .9-13.7 2.6-20.1c-1.3-.8-2.4-1.8-3.5-2.9L21.1 335C7.6 321.5 0 303.2 0 284.1V104C0 64.2 32.2 32 72 32H224V24zM72 80c-13.3 0-24 10.7-24 24V284.1c0 6.4 2.5 12.5 7 17L121.9 368H128c13.4-10 30-16 48-16s34.6 6 48 16H384V256 184c0-13.3 10.7-24 24-24h16 80 56V120c0-22.1-17.9-40-40-40H72zM556.8 256l-61.1-48H432v48H556.8zM208 432a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm320 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM120 128H264c13.3 0 24 10.7 24 24v80c0 13.3-10.7 24-24 24H120c-13.3 0-24-10.7-24-24V152c0-13.3 10.7-24 24-24z\"]\n};\nvar faUserSecret = {\n prefix: 'far',\n iconName: 'user-secret',\n icon: [448, 512, [128373], \"f21b\", \"M224 16c-6.7 0-10.8-2.8-15.5-6.1C201.9 5.4 194 0 176 0c-30.5 0-52 43.7-66 89.4C62.7 98.1 32 112.2 32 128c0 13.4 22.1 25.6 57.7 34.3C88.6 169.4 88 176.6 88 184c0 13.9 2.1 27.4 6 40H45.4C38 224 32 230 32 237.4c0 1.7 .3 3.4 1 5l38.8 96.9C28.2 371.8 0 423.8 0 482.3C0 498.7 13.3 512 29.7 512H168 280 418.3c16.4 0 29.7-13.3 29.7-29.7c0-58.5-28.2-110.4-71.7-143L415 242.4c.6-1.6 1-3.3 1-5c0-7.4-6-13.4-13.4-13.4H354c3.9-12.6 6-26.1 6-40c0-7.4-.6-14.6-1.7-21.7c35.6-8.7 57.7-20.9 57.7-34.3c0-15.8-30.7-29.9-78-38.6C324 43.7 302.5 0 272 0c-18 0-25.9 5.4-32.5 9.9c-4.8 3.3-8.8 6.1-15.5 6.1zm44 448l-24.8-99.1c-2.1-8.2-.8-16.9 3.6-24.2l15.7-26.2c25.7-7.6 48.3-22.6 65.2-42.5h23.8l-19.8 49.5c-8.1 20.2-1.6 43.3 15.9 56.3c27.3 20.4 46.2 51 51.2 86.2H268zM185.5 314.5l15.7 26.2c4.4 7.3 5.7 16 3.6 24.2L180 464H49.3c4.9-35.2 23.9-65.8 51.2-86.2c17.4-13 23.9-36.1 15.9-56.3L96.5 272h23.8c16.9 19.9 39.5 34.9 65.2 42.5zM224 272c-38.2 0-70.7-24.4-82.9-58.4c7.1 6.5 16.5 10.4 26.9 10.4h12.4c16.5 0 31.1-10.6 36.3-26.2c2.3-7 12.2-7 14.5 0c5.2 15.6 19.9 26.2 36.3 26.2H280c10.4 0 19.8-3.9 26.9-10.4c-12.2 34-44.7 58.4-82.9 58.4z\"]\n};\nvar faOtter = {\n prefix: 'far',\n iconName: 'otter',\n icon: [640, 512, [129446], \"f700\", \"M135.1 185c-4.5-3-7.1-8-7.1-13.3V168c0-13.3 10.7-24 24-24h16c13.3 0 24 10.7 24 24v3.7c0 5.3-2.7 10.3-7.1 13.3l-11.8 7.9 8.4 4.2 12.9 6.4c5.9 3 12.4 4.5 19.1 4.5c23.5 0 42.6-19.1 42.6-42.6V144c0-35.3-28.7-64-64-64H128c-35.3 0-64 28.7-64 64v21.4c0 23.5 19.1 42.6 42.6 42.6c6.6 0 13.1-1.5 19.1-4.5l12.9-6.4 8.4-4.2L135.1 185zM160 240l-12.9 6.4c-12.6 6.3-26.5 9.6-40.5 9.6c-5.1 0-10.1-.4-14.9-1.2c9.5 28.6 36.5 49.2 68.3 49.2h64c13.3 0 24 10.7 24 24c0 2.8-.5 5.5-1.4 8H352c0-11.4 2.4-22.2 6.7-32H328c-36.7 0-68.1-22.4-81.3-54.3c-10.3 4.1-21.5 6.3-33.3 6.3c-14.1 0-27.9-3.3-40.5-9.6L160 240zm250.8 16c10.8-45.9 52-80 101.2-80c13.3 0 24 10.7 24 24v-5.7c0-38.8-24.9-73.3-61.7-85.6l-17.9-6c-12.1-4-18.9-16.8-15.6-29s15.7-19.8 28.1-17.2l16.2 3.4C575.4 78.9 640 158.5 640 250.8c0 120.3-92.6 218.9-210.4 228.5c-4.5 .5-9 .8-13.6 .8h-5.2H384 257.6C133 480 32 379 32 254.4V216.8c-10.1-14.6-16-32.3-16-51.4V144l0-1.4C6.7 139.3 0 130.5 0 120c0-13.3 10.7-24 24-24h2.8C44.8 58.2 83.3 32 128 32h64c44.7 0 83.2 26.2 101.2 64H296c13.3 0 24 10.7 24 24c0 10.5-6.7 19.3-16 22.6l0 1.4v21.4c0 8-1 15.7-3 23.1c12.4-7.9 27.2-12.5 43-12.5h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H344c-16.6 0-30.2 12.6-31.8 28.7c4.9 2.1 10.2 3.3 15.8 3.3h82.8zM99.7 335.8l.1 .2h.3l-.4-.2zM410.8 432c4.7 0 9.4-.2 14.1-.5c35.6-4.4 63.1-34.7 63.1-71.5V304 256 229.4c-18.9 9-32 28.3-32 50.6c0 13.3-10.7 24-24 24c-17.7 0-32 14.3-32 32v24c0 13.3-10.7 24-24 24H136.2c31.8 29.8 74.5 48 121.4 48H384h26.8zM536 360c0 8.2-.8 16.3-2.4 24c35.9-33.1 58.4-80.6 58.4-133.3c0-16.7-2.8-32.8-8-47.9V208c0 35.5-19.3 66.6-48 83.2V360zM96 128a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm112 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faDreidel = {\n prefix: 'far',\n iconName: 'dreidel',\n icon: [448, 512, [], \"f792\", \"M441 39c9.4 9.4 9.4 24.6 0 33.9L327.6 186.3l67.7 67.7c18.7 18.7 18.7 49.1 0 67.9L256 461.3c-12 12-28.3 18.7-45.3 18.7H64c-35.3 0-64-28.7-64-64V269.3c0-17 6.7-33.3 18.7-45.3L158.1 84.7c18.7-18.7 49.1-18.7 67.9 0l67.7 67.7L407 39c9.4-9.4 24.6-9.4 33.9 0zM106.3 204.3L52.7 257.9c-3 3-4.7 7.1-4.7 11.3V416c0 8.8 7.2 16 16 16H210.7c4.2 0 8.3-1.7 11.3-4.7l53.7-53.7L106.3 204.3zm33.9-33.9L309.7 339.7 361.4 288 192 118.6l-51.7 51.7z\"]\n};\nvar faPersonDress = {\n prefix: 'far',\n iconName: 'person-dress',\n icon: [320, 512, [\"female\"], \"f182\", \"M208 48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm21.7 185.7l37.4 66.1c6.5 11.5 21.2 15.6 32.7 9.1s15.6-21.2 9.1-32.7l-51.8-91.5c-19.8-35-56.9-56.6-97.1-56.6s-77.3 21.6-97.1 56.6L11.1 276.2c-6.5 11.5-2.5 26.2 9.1 32.7s26.2 2.5 32.7-9.1l37.4-66.1L53.7 363.7C50.8 373.9 58.5 384 69.1 384H96V488c0 13.3 10.7 24 24 24s24-10.7 24-24V384h32V488c0 13.3 10.7 24 24 24s24-10.7 24-24V384h26.9c10.6 0 18.3-10.1 15.4-20.3L229.7 233.7zM160 176c2.2 0 4 1.4 4.6 3.5l44 156.5H111.4l44-156.5c.6-2.1 2.5-3.5 4.6-3.5z\"]\n};\nvar faFemale = faPersonDress;\nvar faCommentDollar = {\n prefix: 'far',\n iconName: 'comment-dollar',\n icon: [512, 512, [], \"f651\", \"M168.2 384.9c-15-5.4-31.7-3.1-44.6 6.4c-8.2 6-22.3 14.8-39.4 22.7c5.6-14.7 9.9-31.3 11.3-49.4c1-12.9-3.3-25.7-11.8-35.5C60.4 302.8 48 272 48 240c0-79.5 83.3-160 208-160s208 80.5 208 160s-83.3 160-208 160c-31.6 0-61.3-5.5-87.8-15.1zM26.3 423.8c-1.6 2.7-3.3 5.4-5.1 8.1l-.3 .5c-1.6 2.3-3.2 4.6-4.8 6.9c-3.5 4.7-7.3 9.3-11.3 13.5c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c5.1 0 10.2-.3 15.3-.8l.7-.1c4.4-.5 8.8-1.1 13.2-1.9c.8-.1 1.6-.3 2.4-.5c17.8-3.5 34.9-9.5 50.1-16.1c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9zM276 136c0-11-9-20-20-20s-20 9-20 20v14c-7.6 1.7-15.2 4.4-22.2 8.5c-13.9 8.3-25.9 22.8-25.8 43.9c.1 20.3 12 33.1 24.7 40.7c11 6.6 24.7 10.8 35.6 14l1.7 .5c12.6 3.8 21.8 6.8 28 10.7c5.1 3.2 5.8 5.4 5.9 8.2c.1 5-1.8 8-5.9 10.5c-5 3.1-12.9 5-21.4 4.7c-11.1-.4-21.5-3.9-35.1-8.5c-2.3-.8-4.7-1.6-7.2-2.4c-10.5-3.5-21.8 2.2-25.3 12.6s2.2 21.8 12.6 25.3c1.9 .6 4 1.3 6.1 2.1l0 0 0 0c8.3 2.9 17.9 6.2 28.2 8.4V344c0 11 9 20 20 20s20-9 20-20V330.2c8-1.7 16-4.5 23.2-9c14.3-8.9 25.1-24.1 24.8-45c-.3-20.3-11.7-33.4-24.6-41.6c-11.5-7.2-25.9-11.6-37.1-15l-.7-.2c-12.8-3.9-21.9-6.7-28.3-10.5c-5.2-3.1-5.3-4.9-5.3-6.7c0-3.7 1.4-6.5 6.2-9.3c5.4-3.2 13.6-5.1 21.5-5c9.6 .1 20.2 2.2 31.2 5.2c10.7 2.8 21.6-3.5 24.5-14.2s-3.5-21.6-14.2-24.5c-6.5-1.7-13.7-3.4-21.1-4.7V136z\"]\n};\nvar faBusinessTime = {\n prefix: 'far',\n iconName: 'business-time',\n icon: [640, 512, [\"briefcase-clock\"], \"f64a\", \"M176 56V96H336V56c0-4.4-3.6-8-8-8H184c-4.4 0-8 3.6-8 8zM128 96V56c0-30.9 25.1-56 56-56H328c30.9 0 56 25.1 56 56V96h64c35.3 0 64 28.7 64 64v32.7c-5.3-.5-10.6-.7-16-.7c-10.9 0-21.6 1-32 2.9V160c0-8.8-7.2-16-16-16H360 152 64c-8.8 0-16 7.2-16 16v96H192 352h8.2c-21.9 26.6-36.2 59.7-39.5 96l-.7 0H224c-17.7 0-32-14.3-32-32V304H48V416c0 8.8 7.2 16 16 16H332c6.9 17.5 16.4 33.7 28.2 48H64c-35.3 0-64-28.7-64-64V280 160c0-35.3 28.7-64 64-64h64zM352 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-80c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H512V304c0-8.8-7.2-16-16-16z\"]\n};\nvar faBriefcaseClock = faBusinessTime;\nvar faFlowerTulip = {\n prefix: 'far',\n iconName: 'flower-tulip',\n icon: [512, 512, [127799], \"f801\", \"M273.9 8.1C269.4 2.9 262.9 0 256 0s-13.4 2.9-17.9 8.1L189 63.3 134.7 21.1c-7.2-5.6-17-6.6-25.3-2.6S96 30.8 96 40V152c0 75.1 60.9 136 136 136v85.4C191 321.4 127.4 288 56 288H28c-15.5 0-28 12.5-28 28C0 424.2 87.8 512 196 512h36 48 36c108.2 0 196-87.8 196-196c0-15.5-12.5-28-28-28H456c-71.4 0-135 33.4-176 85.4V288c75.1 0 136-60.9 136-136V40c0-9.2-5.2-17.5-13.5-21.6s-18-3-25.3 2.6L323 63.3 273.9 8.1zM280 240H232c-48.6 0-88-39.4-88-88V89.1l33.3 25.9c10 7.8 24.3 6.5 32.7-3L256 60.1l46.1 51.8c8.4 9.5 22.7 10.8 32.7 3L368 89.1V152c0 48.6-39.4 88-88 88zM196 464c-75 0-136.9-55.7-146.7-128H56c80.6 0 148.5 54.1 169.4 128H196zm120 0H286.6c20.9-73.9 88.8-128 169.4-128h6.7C452.9 408.3 391 464 316 464z\"]\n};\nvar faPeoplePantsSimple = {\n prefix: 'far',\n iconName: 'people-pants-simple',\n icon: [512, 512, [], \"e21a\", \"M64 64a64 64 0 1 1 128 0A64 64 0 1 1 64 64zm41.6 144c-16.6 0-30.5 12.8-31.9 29.3l-4.1 49.3C68.8 296 76.2 304 85.6 304H88h80 2.4c9.4 0 16.7-8 15.9-17.3l-4.1-49.3C180.9 220.8 167 208 150.4 208H105.6zM144 352H112V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V348.3c-26.5-9.5-44.7-35.8-42.2-65.6l4.1-49.3C29.3 191.9 64 160 105.6 160h44.8c41.6 0 76.3 31.9 79.7 73.4l4.1 49.3c2.5 29.8-15.7 56.1-42.2 65.6V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V352zM320 64a64 64 0 1 1 128 0A64 64 0 1 1 320 64zm41.6 144c-16.6 0-30.5 12.8-31.9 29.3l-4.1 49.3c-.8 9.3 6.6 17.3 15.9 17.3H344h80 2.4c9.4 0 16.7-8 15.9-17.3l-4.1-49.3C436.9 220.8 423 208 406.4 208H361.6zM400 352H368V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V348.3c-26.5-9.5-44.7-35.8-42.2-65.6l4.1-49.3c3.5-41.5 38.1-73.4 79.7-73.4h44.8c41.6 0 76.3 31.9 79.7 73.4l4.1 49.3c2.5 29.8-15.7 56.1-42.2 65.6V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V352z\"]\n};\nvar faCloudDrizzle = {\n prefix: 'far',\n iconName: 'cloud-drizzle',\n icon: [512, 512, [], \"f738\", \"M112 120c0-39.8 32.2-72 72-72c25.8 0 48.5 13.6 61.2 34c3.8 6.1 10.1 10.2 17.2 11.1s14.3-1.3 19.5-6.2c10-9.3 23.4-15 38.1-15c29 0 52.9 22.1 55.7 50.4c1.2 12.3 11.6 21.7 23.9 21.6l.3 0h0c35.3 0 64 28.7 64 64s-28.7 64-64 64H108h-1.9c-.3 0-.7-.1-1-.1C73.3 270.4 48 244.2 48 212c0-28.3 19.6-52.1 46.1-58.4c11.8-2.8 19.6-13.9 18.3-25.9c-.3-2.5-.4-5.1-.4-7.7zM184 0C120 0 67.7 50.1 64.2 113.3C26.4 130.1 0 167.9 0 212c0 57.1 44.3 103.9 100.5 107.7c1.2 .2 2.3 .3 3.5 .3h4H400c61.9 0 112-50.1 112-112c0-55.2-39.9-101.1-92.5-110.3C406.5 55 366.9 24 320 24c-18 0-34.9 4.6-49.7 12.6C248.5 14.1 217.9 0 184 0zM88 376c0-13.3-10.7-24-24-24s-24 10.7-24 24v48c0 13.3 10.7 24 24 24s24-10.7 24-24V376zm96 64c0-13.3-10.7-24-24-24s-24 10.7-24 24v48c0 13.3 10.7 24 24 24s24-10.7 24-24V440zm168-24c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24s24-10.7 24-24V440c0-13.3-10.7-24-24-24zm-72-40c0-13.3-10.7-24-24-24s-24 10.7-24 24v48c0 13.3 10.7 24 24 24s24-10.7 24-24V376zm168-24c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24s24-10.7 24-24V376c0-13.3-10.7-24-24-24z\"]\n};\nvar faTableCellsLarge = {\n prefix: 'far',\n iconName: 'table-cells-large',\n icon: [512, 512, [\"th-large\"], \"f009\", \"M280 80V232H464V96c0-8.8-7.2-16-16-16H280zm-48 0H64c-8.8 0-16 7.2-16 16V232H232V80zM48 280V416c0 8.8 7.2 16 16 16H232V280H48zM280 432H448c8.8 0 16-7.2 16-16V280H280V432zM0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96z\"]\n};\nvar faThLarge = faTableCellsLarge;\nvar faBookTanakh = {\n prefix: 'far',\n iconName: 'book-tanakh',\n icon: [448, 512, [\"tanakh\"], \"f827\", \"M448 88c0-48.6-39.4-88-88-88H56C25.1 0 0 25.1 0 56V344c0 22.3 13.1 41.6 32 50.6V464H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H368c44.2 0 80-35.8 80-80c0-2.7-.1-5.4-.4-8h.4V88zM368 400c17.7 0 32 14.3 32 32s-14.3 32-32 32H80V400H368zm32-41.3c-9.8-4.3-20.6-6.7-32-6.7H56c-4.4 0-8-3.6-8-8V56c0-4.4 3.6-8 8-8H360c22.1 0 40 17.9 40 40V358.7zM216 104l13.9 24H202.1L216 104zM202.1 80l-27.7 48H119c-12.3 0-20 13.3-13.9 24l27.7 48-27.7 48c-6.2 10.7 1.5 24 13.9 24h55.4l27.7 48c6.2 10.7 21.6 10.7 27.7 0l27.7-48H313c12.3 0 20-13.3 13.9-24l-27.7-48 27.7-48c6.2-10.7-1.5-24-13.9-24H257.6L229.9 80c-6.2-10.7-21.6-10.7-27.7 0zm-69.3 72h27.7l-13.9 24-13.9-24zm55.4 0h55.4l27.7 48-27.7 48H188.3l-27.7-48 27.7-48zm-55.4 96l13.9-24 13.9 24H132.9zM216 296l-13.9-24h27.7L216 296zm83.1-48H271.4l13.9-24 13.9 24zm0-96l-13.9 24-13.9-24h27.7z\"]\n};\nvar faTanakh = faBookTanakh;\nvar faSolarSystem = {\n prefix: 'far',\n iconName: 'solar-system',\n icon: [512, 512, [], \"e02f\", \"M464 256c0 42.1-12.5 81.3-34 114.1c-4.4-1.3-9.1-2.1-14-2.1c-26.5 0-48 21.5-48 48s21.5 48 48 48s48-21.5 48-48c0-3.2-.3-6.4-.9-9.4C493.8 364.3 512 312.3 512 256C512 114.6 397.4 0 256 0c-42.3 0-82.1 10.2-117.2 28.4c14.2 9 25.3 22.3 31.6 38C196.5 54.6 225.5 48 256 48c114.9 0 208 93.1 208 208zM256 464C141.1 464 48 370.9 48 256c0-42.1 12.5-81.3 34-114.1c4.4 1.3 9.1 2.1 14 2.1c26.5 0 48-21.5 48-48s-21.5-48-48-48S48 69.5 48 96c0 3.2 .3 6.4 .9 9.4C18.2 147.7 0 199.7 0 256C0 397.4 114.6 512 256 512c42.1 0 81.7-10.1 116.8-28.1c-14.1-9.1-25.1-22.4-31.3-38.2c-26.1 11.8-55 18.3-85.5 18.3zM390.8 169.8c.8-3.1 1.2-6.4 1.2-9.8c0-22.1-17.9-40-40-40c-3.4 0-6.6 .4-9.8 1.2C317.3 105.2 287.8 96 256 96C167.6 96 96 167.6 96 256s71.6 160 160 160s160-71.6 160-160c0-31.8-9.3-61.3-25.2-86.2zM312 159c0 .3 0 .7 0 1c0 22.1 17.9 40 40 40c.3 0 .7 0 1 0c9.5 16.5 15 35.6 15 56c0 61.9-50.1 112-112 112s-112-50.1-112-112s50.1-112 112-112c20.4 0 39.5 5.5 56 15zm-56 81a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm0 80a64 64 0 1 0 0-128 64 64 0 1 0 0 128z\"]\n};\nvar faSealQuestion = {\n prefix: 'far',\n iconName: 'seal-question',\n icon: [512, 512, [], \"e243\", \"M176 112c12.7 0 24.9-5.1 33.9-14.1L256 51.9l46.1 46.1c9 9 21.2 14.1 33.9 14.1l64 0 0 64c0 12.7 5.1 24.9 14.1 33.9l45.6 45.6-45.6 45.6c-9 9-14.1 21.2-14.1 33.9l0 64.9-64.9 0c-12.7 0-24.9 5.1-33.9 14.1L256 459.2l-45.1-45.1c-9-9-21.2-14.1-33.9-14.1L112 400l0-64.9c0-12.7-5.1-24.9-14.1-33.9L52.4 255.5l45.6-45.6c9-9 14.1-21.2 14.1-33.9l0-64 64 0zM289.9 17.9c-18.7-18.7-49.1-18.7-67.9 0L176 64l-64 0c-26.5 0-48 21.5-48 48l0 64L18.4 221.6c-18.7 18.7-18.7 49.1 0 67.9L64 335.1 64 400c0 26.5 21.5 48 48 48l64.9 0 45.1 45.1c18.7 18.7 49.1 18.7 67.9 0L335.1 448l64.9 0c26.5 0 48-21.5 48-48l0-64.9 45.6-45.6c18.7-18.7 18.7-49.1 0-67.9L448 176l0-64c0-26.5-21.5-48-48-48l-64 0L289.9 17.9zM169.8 165.3l-.4 1.2c-4.4 12.5 2.1 26.2 14.6 30.6s26.2-2.1 30.6-14.6l.4-1.2c1.1-3.2 4.2-5.3 7.5-5.3l58.3 0c8.4 0 15.1 6.8 15.1 15.1c0 5.4-2.9 10.4-7.6 13.1l-44.3 25.4c-7.5 4.3-12.1 12.2-12.1 20.8l0 13.5c0 13.3 10.7 24 24 24c13.1 0 23.8-10.5 24-23.6l32.3-18.5c19.6-11.3 31.7-32.2 31.7-54.8c0-34.9-28.3-63.1-63.1-63.1l-58.3 0c-23.7 0-44.8 14.9-52.8 37.3zM288 352a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faPhoneVolume = {\n prefix: 'far',\n iconName: 'phone-volume',\n icon: [512, 512, [\"volume-control-phone\"], \"f2a0\", \"M280 0C408.1 0 512 103.9 512 232c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-101.6-82.4-184-184-184c-13.3 0-24-10.7-24-24s10.7-24 24-24zm8 192a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm-32-72c0-13.3 10.7-24 24-24c75.1 0 136 60.9 136 136c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-48.6-39.4-88-88-88c-13.3 0-24-10.7-24-24zm73 166.7c11.3-13.8 30.3-18.5 46.7-11.4l112 48c17.6 7.5 27.4 26.5 23.4 45.1l-24 112c-4 18.4-20.3 31.6-39.1 31.6l0 0c-6.1 0-12.2-.1-18.2-.4l-.1 0 0 0c-10-.4-19.8-1.1-29.6-2.2C175.2 485.6 0 295.2 0 64v0C0 45.1 13.2 28.8 31.6 24.9l112-24c18.7-4 37.6 5.8 45.1 23.4l48 112c7 16.4 2.4 35.4-11.4 46.7l-40.6 33.2c26.7 46 65.1 84.4 111.1 111.1L329 286.7zm133.8 78.1l-100.4-43L333 357.6c-14.9 18.2-40.8 22.9-61.2 11.1c-53.3-30.9-97.7-75.3-128.6-128.6c-11.8-20.4-7.1-46.3 11.1-61.2l35.9-29.4-43-100.4L48.1 70.5C51.5 286.2 225.8 460.5 441.5 464l21.3-99.2z\"]\n};\nvar faVolumeControlPhone = faPhoneVolume;\nvar faDiscDrive = {\n prefix: 'far',\n iconName: 'disc-drive',\n icon: [512, 512, [], \"f8b5\", \"M80 96V432H432V96c0-8.8-7.2-16-16-16H96c-8.8 0-16 7.2-16 16zm400 0V432h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H456 56 24c-13.3 0-24-10.7-24-24s10.7-24 24-24h8V96c0-35.3 28.7-64 64-64H416c35.3 0 64 28.7 64 64zM112 256a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm176 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faHatCowboySide = {\n prefix: 'far',\n iconName: 'hat-cowboy-side',\n icon: [640, 512, [], \"f8c1\", \"M444.8 256H311.3l-31.5-25.6c-25-20.3-55-33-86.6-37.1l4.9-63.4c.3-3.6 2.9-6.5 6.4-7.2L412.3 81.2 444.8 256zM560 400H520c0-1.4-.1-2.9-.4-4.4l-26-139.6c10.2 5.4 21.6 12 32.8 19.8C563.6 301.2 592 332.9 592 368c0 17.7-14.3 32-32 32zM498 204.6c-5.9-2.8-11.1-5.1-15.3-6.9l-24.6-132C454.6 46.2 437.6 32 417.7 32c-2.7 0-5.4 .3-8.1 .8L195.1 75.7c-24.6 4.9-42.9 25.6-44.9 50.6L145 194C62.9 206.8 0 277.9 0 363.6v18.8C0 418.6 29.4 448 65.6 448H464h16 80c44.2 0 80-35.8 80-80c0-60.9-47.6-105.2-86.4-131.8c-20.3-13.9-40.5-24.5-55.5-31.6zM48 363.6C48 295.3 103.3 240 171.6 240c28.4 0 55.9 9.8 77.9 27.7L412.4 400H65.6c-9.7 0-17.6-7.9-17.6-17.6V363.6z\"]\n};\nvar faTableRows = {\n prefix: 'far',\n iconName: 'table-rows',\n icon: [512, 512, [\"rows\"], \"e292\", \"M448 432l-320 0 0-152 336 0 0 136c0 8.8-7.2 16-16 16zm16-200l-336 0 0-152 320 0c8.8 0 16 7.2 16 16l0 136zM0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32C28.7 32 0 60.7 0 96L0 416z\"]\n};\nvar faRows = faTableRows;\nvar faLocationExclamation = {\n prefix: 'far',\n iconName: 'location-exclamation',\n icon: [384, 512, [\"map-marker-exclamation\"], \"f608\", \"M336 192c0-79.5-64.5-144-144-144S48 112.5 48 192c0 12.4 4.5 31.6 15.3 57.2c10.5 24.8 25.4 52.2 42.5 79.9c28.5 46.2 61.5 90.8 86.2 122.6c24.8-31.8 57.8-76.4 86.2-122.6c17.1-27.7 32-55.1 42.5-79.9C331.5 223.6 336 204.4 336 192zm48 0c0 87.4-117 243-168.3 307.2c-12.3 15.3-35.1 15.3-47.4 0C117 435 0 279.4 0 192C0 86 86 0 192 0S384 86 384 192zM192 96c13.3 0 24 10.7 24 24V232c0 13.3-10.7 24-24 24s-24-10.7-24-24V120c0-13.3 10.7-24 24-24zM160 320a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faMapMarkerExclamation = faLocationExclamation;\nvar faFaceFearful = {\n prefix: 'far',\n iconName: 'face-fearful',\n icon: [512, 512, [], \"e375\", \"M464 256c0-43.5-13.3-83.9-36.2-117.2l-.1 .2c-6 6.5-16.2 6.8-22.6 .8c-15.5-14.5-34.8-24-56.1-26.8c-4.3-.6-8.6-.9-13-.9c-8.8 0-16-7.2-16-16s7.2-16 16-16c5.8 0 11.6 .4 17.2 1.1c8 1.1 15.7 2.8 23.2 5.2C342.4 62.2 300.9 48 256 48s-86.4 14.2-120.4 38.4c7.5-2.4 15.2-4.2 23.2-5.2c5.6-.7 11.4-1.1 17.2-1.1c8.8 0 16 7.2 16 16s-7.2 16-16 16c-4.4 0-8.8 .3-13 .9c-21.2 2.8-40.6 12.4-56.1 26.8c-6.5 6-16.6 5.7-22.6-.8l-.1-.2C61.3 172.1 48 212.5 48 256c0 114.9 93.1 208 208 208s208-93.1 208-208zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256 64c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16H192c-8.8 0-16-7.2-16-16c0-44.2 35.8-80 80-80zM136.4 224a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm216-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM160 176a48 48 0 1 0 0 96 48 48 0 1 0 0-96zm80 48A80 80 0 1 1 80 224a80 80 0 1 1 160 0zm64 0a48 48 0 1 0 96 0 48 48 0 1 0 -96 0zm48 80a80 80 0 1 1 0-160 80 80 0 1 1 0 160z\"]\n};\nvar faClipboardUser = {\n prefix: 'far',\n iconName: 'clipboard-user',\n icon: [384, 512, [], \"f7f3\", \"M320 64H280h-9.6C263 27.5 230.7 0 192 0s-71 27.5-78.4 64H104 64C28.7 64 0 92.7 0 128V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64zM80 112v24c0 13.3 10.7 24 24 24h88 88c13.3 0 24-10.7 24-24V112h16c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H304c0-44.2-35.8-80-80-80H160c-44.2 0-80 35.8-80 80H64c-8.8 0-16-7.2-16-16V128c0-8.8 7.2-16 16-16H80zm88-32a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm88 208a64 64 0 1 0 -128 0 64 64 0 1 0 128 0z\"]\n};\nvar faBusSchool = {\n prefix: 'far',\n iconName: 'bus-school',\n icon: [512, 512, [], \"f5dd\", \"M96 95v1h84.3c5.5-9.6 15.9-16 27.7-16l96 0c11.8 0 22.2 6.4 27.7 16H416V95c0-.4 0-.8-.1-1l0-.1C404.2 79.4 363.5 48 256 48C156.9 48 109.6 79.1 96 94.3c0 .2 0 .4 0 .7zm0 49v82.8c7.7-1.8 15.7-2.8 24-2.8H232V144H96zm320 82.8V144H280v80H392c8.3 0 16.3 1 24 2.8zM464 95v33h16c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H467c17.9 18.7 29 44.1 29 72v56c0 29.8-20.4 54.9-48 62v42c0 13.3-10.7 24-24 24s-24-10.7-24-24V448H112v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V446c-27.6-7.1-48-32.2-48-62V328c0-27.9 11-53.3 29-72H32c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32H48V95c0-8.8 2-20.6 10.4-30.6C82.9 35.2 145.9 0 256 0C373.7 0 430.9 35.1 454.3 65c7.7 9.8 9.7 21.1 9.7 30zM112 336a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm224 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM120 272c-30.9 0-56 25.1-56 56v56c0 8.8 7.2 16 16 16H432c8.8 0 16-7.2 16-16V328c0-30.9-25.1-56-56-56H120z\"]\n};\nvar faFilmSlash = {\n prefix: 'far',\n iconName: 'film-slash',\n icon: [640, 512, [], \"e179\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1L89.5 44.9C100.2 36.8 113.6 32 128 32H512c35.3 0 64 28.7 64 64V416c0 3.3-.2 6.5-.7 9.6l55.5 43.5c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2zM176 112.6V80H134.4L176 112.6zM328.3 232H416V192 80H224v70.3L328.3 232zM528 388.5V344H471.2L528 388.5zM416 423.8L487.4 480H128c-35.3 0-64-28.7-64-64V146.4L152.3 216H112v80h64V234.7L233.5 280H224v40V432H416v-8.2zM176 344H112v72c0 8.8 7.2 16 16 16h48V344zM464 80v88h64V96c0-8.8-7.2-16-16-16H464zm64 136H464v80h64V216z\"]\n};\nvar faSquareArrowDownRight = {\n prefix: 'far',\n iconName: 'square-arrow-down-right',\n icon: [448, 512, [], \"e262\", \"M384 432c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384zm64-16c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416zM160 368c-13.3 0-24-10.7-24-24s10.7-24 24-24h94.1L119 185c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l135 135V184c0-13.3 10.7-24 24-24s24 10.7 24 24V344c0 13.3-10.7 24-24 24H160z\"]\n};\nvar faBookSparkles = {\n prefix: 'far',\n iconName: 'book-sparkles',\n icon: [448, 512, [\"book-spells\"], \"f6b8\", \"M0 88C0 39.4 39.4 0 88 0H392c30.9 0 56 25.1 56 56V344c0 22.3-13.1 41.6-32 50.6V464h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H80c-44.2 0-80-35.8-80-80c0-2.7 .1-5.4 .4-8H0V88zM80 400c-17.7 0-32 14.3-32 32s14.3 32 32 32H368V400H80zM48 358.7c9.8-4.3 20.6-6.7 32-6.7H392c4.4 0 8-3.6 8-8V56c0-4.4-3.6-8-8-8H88C65.9 48 48 65.9 48 88V358.7zM160 112l8.8-17.7c2.9-5.9 11.4-5.9 14.3 0L192 112l17.7 8.8c5.9 2.9 5.9 11.4 0 14.3L192 144l-8.8 17.7c-2.9 5.9-11.4 5.9-14.3 0L160 144l-17.7-8.8c-5.9-2.9-5.9-11.4 0-14.3L160 112zM264 216l16.6-38.8c2.8-6.5 11.9-6.5 14.7 0L312 216l38.8 16.6c6.5 2.8 6.5 11.9 0 14.7L312 264l-16.6 38.8c-2.8 6.5-11.9 6.5-14.7 0L264 264l-38.8-16.6c-6.5-2.8-6.5-11.9 0-14.7L264 216z\"]\n};\nvar faBookSpells = faBookSparkles;\nvar faWashingMachine = {\n prefix: 'far',\n iconName: 'washing-machine',\n icon: [448, 512, [\"washer\"], \"f898\", \"M384 48c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H384zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zm64 104a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm56 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM314.6 319.7c-3.5 .2-7 .3-10.6 .3c-32 0-56-16-80-32s-48-32-80-32c-3.5 0-7.1 .2-10.7 .4C146.4 218.9 182 192 224 192c53 0 96 43 96 96c0 11.1-1.9 21.8-5.4 31.7zM368 288A144 144 0 1 0 80 288a144 144 0 1 0 288 0z\"]\n};\nvar faWasher = faWashingMachine;\nvar faChild = {\n prefix: 'far',\n iconName: 'child',\n icon: [320, 512, [], \"f1ae\", \"M160 96a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-96a72 72 0 1 1 0 144A72 72 0 1 1 160 0zM128 214V336h64V214.4c-10.2-4.2-21.2-6.4-32.4-6.4c-11 0-21.6 2.1-31.6 6zm0 170V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V257.9L43.7 309.8c-7.6 10.9-22.6 13.5-33.4 5.9S-3.3 293.1 4.3 282.2L50.1 217c25-35.7 65.9-57 109.5-57c43.2 0 83.7 20.8 108.8 56L315.5 282c7.7 10.8 5.2 25.8-5.6 33.5s-25.8 5.2-33.5-5.6L240 258.9V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V384H128z\"]\n};\nvar faLiraSign = {\n prefix: 'far',\n iconName: 'lira-sign',\n icon: [320, 512, [8356], \"f195\", \"M96 159.2C96 115.5 131.5 80 175.2 80c8.5 0 17 1.4 25.1 4.1l80.1 26.7c12.6 4.2 26.2-2.6 30.4-15.2s-2.6-26.2-15.2-30.4L215.5 38.5c-13-4.3-26.6-6.5-40.2-6.5C105 32 48 89 48 159.2V192H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H48v48H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H48v4.5c0 18.8-5.1 37.3-14.8 53.5L3.4 443.7c-4.4 7.4-4.6 16.6-.3 24.2S15.4 480 24 480H296c13.3 0 24-10.7 24-24s-10.7-24-24-24H66.4l8-13.3C88.5 395.1 96 368.1 96 340.5V336H232c13.3 0 24-10.7 24-24s-10.7-24-24-24H96V240H232c13.3 0 24-10.7 24-24s-10.7-24-24-24H96V159.2z\"]\n};\nvar faUserVisor = {\n prefix: 'far',\n iconName: 'user-visor',\n icon: [448, 512, [], \"e04c\", \"M224 208c26.2 0 49.4-12.6 64-32H160c14.6 19.4 37.8 32 64 32zm0 48c-54 0-100.2-33.5-119-80.8c-14.3-3.2-25-16-25-31.2V80c0-17.7 14.3-32 32-32h12.1C147.5 18.7 183.6 0 224 0s76.5 18.7 99.9 48H336c17.7 0 32 14.3 32 32v64c0 15.3-10.7 28-25 31.2C324.2 222.5 278 256 224 256zM128 112c0 8.8 7.2 16 16 16H304c8.8 0 16-7.2 16-16s-7.2-16-16-16H144c-8.8 0-16 7.2-16 16zM269.7 352H178.3c-65.7 0-120.1 48.7-129 112H398.7c-8.9-63.3-63.3-112-129-112zM0 482.3C0 383.8 79.8 304 178.3 304h91.4C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7H29.7C13.3 512 0 498.7 0 482.3zM313.5 429c-7.9 0-18.8 9.5-26.5 16.3c-2.1 1.9-4 3.5-5.5 4.7c-2.3 1.7-5.7 0-5.4-2.9c3.2-30.5 13.2-55.5 29.8-74.7c1.3-1.5 4.1-1.6 5.1 .1c15.8 20.6 24.2 45.9 25.1 75.3c0 3.2-4.1 4.7-6.1 2.1c-10.2-14.4-14.7-19.2-16.6-20.9z\"]\n};\nvar faFilePlusMinus = {\n prefix: 'far',\n iconName: 'file-plus-minus',\n icon: [384, 512, [], \"e177\", \"M48 448V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zM216 200c0-13.3-10.7-24-24-24s-24 10.7-24 24v40H128c-13.3 0-24 10.7-24 24s10.7 24 24 24h40v40c0 13.3 10.7 24 24 24s24-10.7 24-24V288h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H216V200zM128 384c-13.3 0-24 10.7-24 24s10.7 24 24 24H256c13.3 0 24-10.7 24-24s-10.7-24-24-24H128z\"]\n};\nvar faChessClockFlip = {\n prefix: 'far',\n iconName: 'chess-clock-flip',\n icon: [640, 512, [\"chess-clock-alt\"], \"f43e\", \"M384 56c0-13.3 10.7-24 24-24H520c13.3 0 24 10.7 24 24s-10.7 24-24 24H488v32h88c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V176c0-35.3 28.7-64 64-64H96V96c0-8.8 7.2-16 16-16H240c8.8 0 16 7.2 16 16v16H440V80H408c-13.3 0-24-10.7-24-24zM64 160c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H576c8.8 0 16-7.2 16-16V176c0-8.8-7.2-16-16-16H64zm376 32a104 104 0 1 1 0 208 104 104 0 1 1 0-208zm16 48c0-8.8-7.2-16-16-16s-16 7.2-16 16v48c0 8.8 7.2 16 16 16s16-7.2 16-16V240zM126.5 222.5A104 104 0 1 1 273.5 369.5 104 104 0 1 1 126.5 222.5zm124.5 22.6c-6.2-6.2-16.4-6.2-22.6 0L194.3 279c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l33.9-33.9c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nvar faChessClockAlt = faChessClockFlip;\nvar faSatellite = {\n prefix: 'far',\n iconName: 'satellite',\n icon: [512, 512, [128752], \"f7bf\", \"M241 7c-9.4-9.4-24.6-9.4-33.9 0L95 119c-9.4 9.4-9.4 24.6 0 33.9l58.1 58.1c-50.9-9.8-105.5 3.2-147.2 39.7c-3.8 3.3-5.9 8-5.9 13v.5c0 4.9 1.9 9.6 5.4 13L103 375 55 423c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l48-48 97.6 97.6c3.5 3.5 8.1 5.4 13 5.4h.5c5 0 9.8-2.2 13-5.9c36.5-41.7 49.6-96.3 39.7-147.2L359 417c9.4 9.4 24.6 9.4 33.9 0L505 305c9.4-9.4 9.4-24.6 0-33.9l-68-68L463 177c10.9-10.9 17-25.6 17-41s-6.1-30.1-17-41L417 49c-10.9-10.9-25.6-17-41-17s-30.1 6.1-41 17L309 75 241 7zm34.6 289.5c-6.4-9.7-13.8-18.8-22.3-27.3l-10.6-10.6c-8.5-8.5-17.6-15.9-27.3-22.3L369 82.9c1.9-1.9 4.4-2.9 7-2.9s5.2 1 7 2.9L429.1 129c1.9 1.9 2.9 4.4 2.9 7s-1 5.2-2.9 7L275.6 296.6zM275 109L197 187l-51-51L224 57.9l51 51zM376 366.1l-51-51L403 237l51 51L376 366.1zM219.4 303.2c38.8 38.8 47.1 97 23.8 144.1L64.7 268.8c47.1-23.2 105.3-14.9 144.1 23.8l10.6 10.6z\"]\n};\nvar faTruckFire = {\n prefix: 'far',\n iconName: 'truck-fire',\n icon: [640, 512, [], \"e65a\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48h8V98.7C13.4 105.3 0 123.1 0 144V368c0 26.5 21.5 48 48 48H64c0 53 43 96 96 96s96-43 96-96H384c0 53 43 96 96 96s96-43 96-96h16c26.5 0 48-21.5 48-48V144c0-26.5-21.5-48-48-48H544c0-17.7-14.3-32-32-32s-32 14.3-32 32H384V48H616c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zM336 48V96H280V48h56zm0 96h48v80H48l0-80H336zM48 368l0-96H400c17.7 0 32-14.3 32-32V144H592V368H563.2c-16.6-28.7-47.6-48-83.2-48s-66.6 19.3-83.2 48H243.2c-16.6-28.7-47.6-48-83.2-48s-66.6 19.3-83.2 48H48zM232 48V96H184V48h48zm-96 0V96H80V48h56zM112 416a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm368-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm8-192c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V200c0-13.3-10.7-24-24-24H488z\"]\n};\nvar faPlaneLock = {\n prefix: 'far',\n iconName: 'plane-lock',\n icon: [640, 512, [], \"e558\", \"M215.3 18.7C224.9 8.8 238.6 0 256 0c17.4 0 31.2 8.6 41.1 18.7c9.7 9.9 17 22.6 22.4 34.9C330.2 78.2 336 107.4 336 128v26.2l95.3 61c-8.3 14.1-13.5 30.2-14.9 47.4L299.1 187.6c-6.9-4.4-11.1-12-11.1-20.2V128c0-13.6-4.2-36.3-12.5-55.2c-4.1-9.4-8.5-16.3-12.7-20.6c-4-4.1-6.2-4.2-6.8-4.2l0 0c-.2 0-2.2 0-6.3 4.2c-4.2 4.3-8.7 11.3-12.9 20.7c-8.4 19-12.8 41.7-12.8 55.1v39.4c0 8.2-4.2 15.8-11.1 20.2L51.7 290.8c-2.3 1.5-3.7 4-3.7 6.7v29.6l144.7-46.3c7.3-2.3 15.3-1 21.5 3.5s9.8 11.7 9.8 19.4l0 72.3c0 7.6-3.6 14.7-9.6 19.2L160 436v23.9c6.8-2.1 15.3-4.6 24.3-7.3c22.6-6.8 49.1-14.8 64.6-19.6c4.6-1.4 9.5-1.4 14.1 0c15.5 4.8 42 12.8 64.6 19.6c9 2.7 17.5 5.3 24.3 7.3V436l-54.4-40.8c-6-4.5-9.6-11.6-9.6-19.2V303.7c0-7.7 3.7-14.9 9.8-19.4s14.2-5.8 21.5-3.5l82.5 26.4c-11 11.5-17.8 27.1-17.8 44.3v.4l-48-15.4V364l48 36v79.3c0 7.9 1.4 15.4 4 22.4c-6.8 6.4-15.9 10.3-26 10.3c-2.3 0-4.6-.3-6.9-1l6.9-23c-6.9 23-6.9 23-6.9 23l0 0 0 0 0 0-.2 0-.6-.2-2.4-.7-8.9-2.7c-7.5-2.2-17.8-5.4-29.2-8.8c-19.5-5.9-42-12.6-57.9-17.5c-15.9 4.9-38.4 11.6-57.9 17.5c-11.3 3.4-21.7 6.5-29.2 8.8l-8.9 2.7-2.4 .7-.6 .2-.2 0 0 0 0 0 0 0s0 0-6.9-23l6.9 23c-2.2 .7-4.5 1-6.9 1C129 512 112 495 112 474.1V432c0-12.6 5.9-24.4 16-32l48-36 0-27.4L52.2 376.2C26.4 384.4 0 365.2 0 338.1V297.5c0-19.1 9.7-36.9 25.8-47.2l12.9 20.2L25.8 250.3 176 154.2V128c0-20.7 6.1-50 16.9-74.5c5.5-12.3 12.8-24.9 22.4-34.8zM528 240c-17.7 0-32 14.3-32 32v48h64V272c0-17.7-14.3-32-32-32zm-80 32c0-44.2 35.8-80 80-80s80 35.8 80 80v48c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H448c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32V272z\"]\n};\nvar faSteeringWheel = {\n prefix: 'far',\n iconName: 'steering-wheel',\n icon: [512, 512, [], \"f622\", \"M232 369v93.6C133.7 451.3 56.2 371.4 48.6 272H156.4l74.3 95.5c.4 .5 .8 1 1.3 1.5zm48 0c.4-.5 .9-1 1.3-1.5L355.6 272H463.4c-7.6 99.4-85 179.3-183.4 190.6V369zm72-145l-7.2-14.3c-5.4-10.8-16.5-17.7-28.6-17.7H195.8c-12.1 0-23.2 6.8-28.6 17.7L160 224H50.4C65.8 124.3 152 48 256 48s190.2 76.3 205.6 176H352zM256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512z\"]\n};\nvar faTag = {\n prefix: 'far',\n iconName: 'tag',\n icon: [448, 512, [127991], \"f02b\", \"M197.5 32c17 0 33.3 6.7 45.3 18.7l176 176c25 25 25 65.5 0 90.5L285.3 450.7c-25 25-65.5 25-90.5 0l-176-176C6.7 262.7 0 246.5 0 229.5V80C0 53.5 21.5 32 48 32H197.5zM48 229.5c0 4.2 1.7 8.3 4.7 11.3l176 176c6.2 6.2 16.4 6.2 22.6 0L384.8 283.3c6.2-6.2 6.2-16.4 0-22.6l-176-176c-3-3-7.1-4.7-11.3-4.7H48V229.5zM112 112a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faStretcher = {\n prefix: 'far',\n iconName: 'stretcher',\n icon: [640, 512, [], \"f825\", \"M41.4 71.5c-9.1-9.6-24.3-10-33.9-.9s-10 24.3-.9 33.9L139.7 244.6c16.6 17.5 39.7 27.4 63.8 27.4H616c13.3 0 24-10.7 24-24s-10.7-24-24-24H203.5c-11 0-21.4-4.5-29-12.4L41.4 71.5zM241.2 304l86 62.5-37.3 27.1c-9.8-6.1-21.4-9.7-33.9-9.7c-35.3 0-64 28.7-64 64s28.7 64 64 64s64-28.7 64-64c0-5.3-.7-10.5-1.9-15.5L368 396.2l49.9 36.3c-1.2 5-1.9 10.2-1.9 15.5c0 35.3 28.7 64 64 64s64-28.7 64-64s-28.7-64-64-64c-12.4 0-24 3.5-33.9 9.7l-37.3-27.1 86-62.5H413.2L368 336.9 322.8 304H241.2zM240 448a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm224 0a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faBookSection = {\n prefix: 'far',\n iconName: 'book-section',\n icon: [448, 512, [\"book-law\"], \"e0c1\", \"M0 88C0 39.4 39.4 0 88 0H392c30.9 0 56 25.1 56 56V344c0 22.3-13.1 41.6-32 50.6V464h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H80c-44.2 0-80-35.8-80-80c0-2.7 .1-5.4 .4-8H0V88zM80 400c-17.7 0-32 14.3-32 32s14.3 32 32 32H368V400H80zM48 358.7c9.8-4.3 20.6-6.7 32-6.7H392c4.4 0 8-3.6 8-8V56c0-4.4-3.6-8-8-8H88C65.9 48 48 65.9 48 88V358.7zM224.7 246.1c-20.7-5.5-63.7-17-55.7-58.8c2-10.5 7.5-19.2 15.6-25.8c-11.5-8.8-19.4-21.7-15.6-41.7c5.7-29.8 37.9-45 82-38.7c7.8 1.1 16.8 3.3 28.3 6.9c7.9 2.5 12.3 10.9 9.9 18.8c-2.5 7.9-11 12.3-18.8 9.9c-9.9-3.1-17.5-4.9-23.6-5.8c-26.1-3.8-46 2.3-48.4 14.7c-1.7 8.7-.2 15.1 34 24.1l6.8 1.8 0 0c28.2 7.3 70.9 18.3 62.8 60.6c-2 10.5-7.5 19.2-15.6 25.9c11.8 8.9 19.4 21.7 15.6 41.6c-4.8 25.3-28.9 40.2-63.1 40.2c-6 0-12.3-.5-18.9-1.4c-12.1-1.7-24.9-5.8-36.1-9.5l-5.4-1.8c-7.9-2.5-12.2-11-9.7-18.8c2.5-7.9 11-12.3 18.9-9.7l5.5 1.8c10.1 3.3 21.5 7 31 8.3c26.3 3.7 46.1-2.3 48.4-14.7c2.3-11.9-5.4-16.8-40.9-26l-7-1.8zM222 177.9c-8.1 1.1-21.6 4.5-23.6 15.1c-1.7 8.7-.2 15.1 34 24.1c0 0 13.2 3.5 16.6 4.4c8.2-1.1 21.6-4.5 23.6-15c2.3-11.9-5.4-16.8-40.9-26c0 0-8.8-2.3-9.7-2.6z\"]\n};\nvar faBookLaw = faBookSection;\nvar faInboxes = {\n prefix: 'far',\n iconName: 'inboxes',\n icon: [512, 512, [], \"e1bb\", \"M62.5 96h67.9c18.2 0 34.8 10.3 42.9 26.5L192 160H320l18.7-37.5c8.1-16.3 24.8-26.5 42.9-26.5h67.8l-40-48-307 0-40 48zM48 144v96H464V144l-82.3 0-18.7 37.5C354.8 197.7 338.2 208 320 208H192c-18.2 0-34.8-10.3-42.9-26.5L130.3 144 48 144zM0 144V113.4c0-11.2 3.9-22.1 11.1-30.7L65.6 17.3C74.7 6.3 88.2 0 102.5 0h307c14.2 0 27.8 6.3 36.9 17.3l54.5 65.4c7.2 8.6 11.1 19.5 11.1 30.7V144v96c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V144zM310.1 432H201.9c-24.2 0-46.4-13.7-57.2-35.4L130.3 368H48v96H464V368l-82.3 0-14.3 28.6-42.6-21.3 42.6 21.3c-10.8 21.7-33 35.4-57.2 35.4zM48 320h82.3c18.2 0 34.8 10.3 42.9 26.5l14.3 28.6c2.7 5.4 8.3 8.8 14.3 8.8H310.1c6.1 0 11.6-3.4 14.3-8.8l14.3-28.6c8.1-16.3 24.8-26.5 42.9-26.5H464c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V368c0-26.5 21.5-48 48-48z\"]\n};\nvar faCoffeeBean = {\n prefix: 'far',\n iconName: 'coffee-bean',\n icon: [448, 512, [], \"e13e\", \"M385.4 134.2c-13.2 27.4-29.7 55.9-48.4 74.7c-34.5 34.8-69.6 52.3-101.5 68.2l-.8 .4c-32.1 16-61 30.6-89.7 59.4c-16.5 16.6-34.2 46.5-49.4 76.9c22.9 13.6 52.9 19.1 87.6 14.1c45.5-6.5 96.1-30.9 138.9-73.8s67.3-93.4 73.8-138.9c4.5-31.5 .4-59.1-10.5-81zm-34.9-39c-23.2-14.8-54.2-20.9-90.3-15.8c-45.5 6.5-96.1 30.9-138.9 73.8S54 246.7 47.5 292.2c-4.8 33.6 .2 62.7 12.8 85.3c14.6-27.4 32.1-55.8 50.7-74.4c34.5-34.8 69.6-52.3 101.5-68.2l.8-.4c32.1-16 61-30.6 89.7-59.4c16.8-16.9 33.6-48.3 47.5-79.8zm50.5-20.7c74.2 74.2 54.2 214.6-44.8 313.6s-239.4 119-313.6 44.8s-54.2-214.6 44.8-313.6s239.4-119 313.6-44.8z\"]\n};\nvar faCircleYen = {\n prefix: 'far',\n iconName: 'circle-yen',\n icon: [512, 512, [], \"e5d0\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM159.9 150.2c9.8-8.9 25-8.2 33.9 1.6L256 220.3l62.2-68.5c8.9-9.8 24.1-10.5 33.9-1.6s10.5 24.1 1.6 33.9L288.4 256H320c8.8 0 16 7.2 16 16s-7.2 16-16 16H280v32h40c8.8 0 16 7.2 16 16s-7.2 16-16 16H280v25c0 13.3-10.7 24-24 24s-24-10.7-24-24V352H192c-8.8 0-16-7.2-16-16s7.2-16 16-16h40V288H192c-8.8 0-16-7.2-16-16s7.2-16 16-16h31.6l-65.3-71.9c-8.9-9.8-8.2-25 1.6-33.9z\"]\n};\nvar faBracketsCurly = {\n prefix: 'far',\n iconName: 'brackets-curly',\n icon: [576, 512, [], \"f7ea\", \"M152 32c-48.6 0-88 39.4-88 88v45.5c0 10.6-4.2 20.8-11.7 28.3L7 239c-9.4 9.4-9.4 24.6 0 33.9l45.3 45.3c7.5 7.5 11.7 17.7 11.7 28.3V392c0 48.6 39.4 88 88 88h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H152c-22.1 0-40-17.9-40-40V346.5c0-23.3-9.3-45.7-25.8-62.2L57.9 256l28.3-28.3c16.5-16.5 25.8-38.9 25.8-62.2V120c0-22.1 17.9-40 40-40h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H152zm272 0H376c-13.3 0-24 10.7-24 24s10.7 24 24 24h48c22.1 0 40 17.9 40 40v45.5c0 23.3 9.3 45.7 25.8 62.2L518.1 256l-28.3 28.3c-16.5 16.5-25.8 38.9-25.8 62.2V392c0 22.1-17.9 40-40 40H376c-13.3 0-24 10.7-24 24s10.7 24 24 24h48c48.6 0 88-39.4 88-88V346.5c0-10.6 4.2-20.8 11.7-28.3L569 273c9.4-9.4 9.4-24.6 0-33.9l-45.3-45.3c-7.5-7.5-11.7-17.7-11.7-28.3V120c0-48.6-39.4-88-88-88z\"]\n};\nvar faEllipsisStrokeVertical = {\n prefix: 'far',\n iconName: 'ellipsis-stroke-vertical',\n icon: [192, 512, [\"ellipsis-v-alt\"], \"f39c\", \"M96 72a24 24 0 1 0 0 48 24 24 0 1 0 0-48zm0 88A64 64 0 1 1 96 32a64 64 0 1 1 0 128zm24 96a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-88 0a64 64 0 1 1 128 0A64 64 0 1 1 32 256zm88 160a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-88 0a64 64 0 1 1 128 0A64 64 0 1 1 32 416z\"]\n};\nvar faEllipsisVAlt = faEllipsisStrokeVertical;\nvar faComment = {\n prefix: 'far',\n iconName: 'comment',\n icon: [512, 512, [128489, 61669], \"f075\", \"M123.6 391.3c12.9-9.4 29.6-11.8 44.6-6.4c26.5 9.6 56.2 15.1 87.8 15.1c124.7 0 208-80.5 208-160s-83.3-160-208-160S48 160.5 48 240c0 32 12.4 62.8 35.7 89.2c8.6 9.7 12.8 22.5 11.8 35.5c-1.4 18.1-5.7 34.7-11.3 49.4c17-7.9 31.1-16.7 39.4-22.7zM21.2 431.9c1.8-2.7 3.5-5.4 5.1-8.1c10-16.6 19.5-38.4 21.4-62.9C17.7 326.8 0 285.1 0 240C0 125.1 114.6 32 256 32s256 93.1 256 208s-114.6 208-256 208c-37.1 0-72.3-6.4-104.1-17.9c-11.9 8.7-31.3 20.6-54.3 30.6c-15.1 6.6-32.3 12.6-50.1 16.1c-.8 .2-1.6 .3-2.4 .5c-4.4 .8-8.7 1.5-13.2 1.9c-.2 0-.5 .1-.7 .1c-5.1 .5-10.2 .8-15.3 .8c-6.5 0-12.3-3.9-14.8-9.9c-2.5-6-1.1-12.8 3.4-17.4c4.1-4.2 7.8-8.7 11.3-13.5c1.7-2.3 3.3-4.6 4.8-6.9c.1-.2 .2-.3 .3-.5z\"]\n};\nvar faSquare1 = {\n prefix: 'far',\n iconName: 'square-1',\n icon: [448, 512, [], \"e256\", \"M384 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm172 99.2c-7.4-4.3-16.5-4.3-24-.1l-56 32c-11.5 6.6-15.5 21.2-8.9 32.7s21.2 15.5 32.7 8.9L200 193.4V336H160c-13.3 0-24 10.7-24 24s10.7 24 24 24h64 64c13.3 0 24-10.7 24-24s-10.7-24-24-24H248V152c0-8.6-4.6-16.5-12-20.8z\"]\n};\nvar faCakeCandles = {\n prefix: 'far',\n iconName: 'cake-candles',\n icon: [448, 512, [127874, \"birthday-cake\", \"cake\"], \"f1fd\", \"M86.4 5.5L61.8 47.6C58 54.1 56 61.6 56 69.2V72c0 22.1 17.9 40 40 40s40-17.9 40-40V69.2c0-7.6-2-15-5.8-21.6L105.6 5.5C103.6 2.1 100 0 96 0s-7.6 2.1-9.6 5.5zm128 0L189.8 47.6c-3.8 6.5-5.8 14-5.8 21.6V72c0 22.1 17.9 40 40 40s40-17.9 40-40V69.2c0-7.6-2-15-5.8-21.6L233.6 5.5C231.6 2.1 228 0 224 0s-7.6 2.1-9.6 5.5zM317.8 47.6c-3.8 6.5-5.8 14-5.8 21.6V72c0 22.1 17.9 40 40 40s40-17.9 40-40V69.2c0-7.6-2-15-5.8-21.6L361.6 5.5C359.6 2.1 356 0 352 0s-7.6 2.1-9.6 5.5L317.8 47.6zM120 168c0-13.3-10.7-24-24-24s-24 10.7-24 24v56H64c-35.3 0-64 28.7-64 64V480c0 17.7 14.3 32 32 32H416c17.7 0 32-14.3 32-32V288c0-35.3-28.7-64-64-64h-8V168c0-13.3-10.7-24-24-24s-24 10.7-24 24v56H248V168c0-13.3-10.7-24-24-24s-24 10.7-24 24v56H120V168zM64 272H384c8.8 0 16 7.2 16 16v60.8c-5.5-2.1-10.9-5.1-15.8-8.5c-3.2-2.2-6.1-5-9.1-7.7c-6.7-6.3-13.5-12.6-23.2-12.6c-9.4 0-16.5 6.5-23.4 12.8c-2.9 2.7-5.8 5.4-8.9 7.5C310.2 347 299 352 288 352s-22.2-5-31.8-11.7c-3.2-2.2-6.1-5-9.1-7.7c-6.7-6.3-13.5-12.6-23.2-12.6c-9.4 0-16.5 6.5-23.4 12.8c-2.9 2.7-5.8 5.4-8.9 7.5C182.2 347 171 352 160 352s-22.2-5-31.8-11.7c-3.2-2.2-6.1-5-9.1-7.7C112.4 326.3 105.7 320 96 320c-9.4 0-16.5 6.5-23.4 12.8c-2.9 2.7-5.8 5.4-8.9 7.5c-4.9 3.4-10.3 6.4-15.8 8.5V288c0-8.8 7.2-16 16-16zM400 398.5V464H48V398.5c17.5-3.3 33.9-11.6 48-22.3c18.4 14 40.6 23.8 64 23.8s45.6-9.8 64-23.8c18.4 14 40.6 23.8 64 23.8s45.6-9.8 64-23.8c14.1 10.7 30.5 19 48 22.3z\"]\n};\nvar faBirthdayCake = faCakeCandles;\nvar faCake = faCakeCandles;\nvar faHeadSide = {\n prefix: 'far',\n iconName: 'head-side',\n icon: [512, 512, [], \"f6e9\", \"M48 224c0-97.2 78.8-176 176-176h24c60.1 0 115.7 36.7 139.6 88.3c3.9 8.4 7.5 17 11.4 25.9l1.5 3.5c4.3 10.1 8.9 20.7 13.9 31.1c10.1 20.8 22.5 42 40.6 60.1l4.4 4.4c2.9 2.9 4.6 6.9 4.6 11c0 8.6-7 15.6-15.6 15.6H424c-13.3 0-24 10.7-24 24v72c0 8.8-7.2 16-16 16H296c-13.3 0-24 10.7-24 24v64c0 13.3 10.7 24 24 24s24-10.7 24-24V448h64c35.3 0 64-28.7 64-64V336h.4c35.1 0 63.6-28.5 63.6-63.6c0-16.9-6.7-33-18.6-45L489 223c-12.7-12.7-22.4-28.5-31.4-47.1c-4.5-9.3-8.7-18.9-13-29l-1.5-3.5c-3.8-8.9-7.8-18.2-12-27.3C399.4 47.6 326.8 0 248 0H224C100.3 0 0 100.3 0 224c0 53.6 18.9 102.9 50.3 141.5c8.9 11 13.7 22.4 13.7 33.1V488c0 13.3 10.7 24 24 24s24-10.7 24-24V398.6c0-24.9-10.9-46.8-24.5-63.4C62.8 304.8 48 266.2 48 224zm288 0a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faTruckLadder = {\n prefix: 'far',\n iconName: 'truck-ladder',\n icon: [640, 512, [], \"e657\", \"M0 24C0 37.3 10.7 48 24 48h8v96H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H328c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V48h8c13.3 0 24-10.7 24-24s-10.7-24-24-24H24C10.7 0 0 10.7 0 24zM272 144H240V48h32v96zM160 48h32v96H160V48zm-48 96H80V48h32v96zM408 96c-13.3 0-24 10.7-24 24V224H56c-30.9 0-56 25.1-56 56v80c0 30.9 25.1 56 56 56h8c0 53 43 96 96 96s96-43 96-96H384c0 53 43 96 96 96s96-43 96-96h8c30.9 0 56-25.1 56-56V251.2c0-12.7-4.3-25.1-12.3-35L548.3 117c-10.6-13.3-26.7-21-43.7-21H408zM76.8 368H56c-4.4 0-8-3.6-8-8V280c0-4.4 3.6-8 8-8H384h48H592v88c0 4.4-3.6 8-8 8H563.2c-16.6-28.7-47.6-48-83.2-48s-66.6 19.3-83.2 48H243.2c-16.6-28.7-47.6-48-83.2-48s-66.6 19.3-83.2 48zM432 224V144h72.6c2.4 0 4.7 1.1 6.2 3l61.6 77H432zM112 416a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm368-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faEnvelope = {\n prefix: 'far',\n iconName: 'envelope',\n icon: [512, 512, [128386, 9993, 61443], \"f0e0\", \"M64 112c-8.8 0-16 7.2-16 16v22.1L220.5 291.7c20.7 17 50.4 17 71.1 0L464 150.1V128c0-8.8-7.2-16-16-16H64zM48 212.2V384c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V212.2L322 328.8c-38.4 31.5-93.7 31.5-132 0L48 212.2zM0 128C0 92.7 28.7 64 64 64H448c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128z\"]\n};\nvar faDollyEmpty = {\n prefix: 'far',\n iconName: 'dolly-empty',\n icon: [576, 512, [], \"f473\", \"M0 24C0 10.7 10.7 0 24 0h80.8C129 0 150.5 15.6 158 38.6L250 320.2c2-.1 4-.2 6-.2c33.2 0 62.5 16.9 79.8 42.5L544 289.4c12.5-4.4 26.2 2.2 30.6 14.7s-2.2 26.2-14.7 30.6L351.7 407.8c.2 2.7 .3 5.4 .3 8.2c0 53-43 96-96 96s-96-43-96-96c0-34 17.7-63.9 44.3-80.9L112.4 53.5c-1.1-3.3-4.1-5.5-7.6-5.5H24C10.7 48 0 37.3 0 24zM304 416a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nvar faFaceTissue = {\n prefix: 'far',\n iconName: 'face-tissue',\n icon: [512, 512, [], \"e39c\", \"M256 464c114.9 0 208-93.1 208-208s-93.1-208-208-208S48 141.1 48 256c0 8.7 .5 17.3 1.6 25.7L8.1 288.7c-2 .3-4 .8-5.9 1.4C.8 278.9 0 267.5 0 256C0 114.6 114.6 0 256 0S512 114.6 512 256s-114.6 256-256 256c-11.5 0-22.9-.8-34-2.2c.6-1.9 1-3.9 1.4-5.9l6.9-41.5c8.4 1 17 1.6 25.7 1.6zm-13.3-76l9-54.1 4.3 3.4 25-20c8.2-6.5 19.6-7 28.3-1.2l31.6 21.1L351 327c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-24 24c-8.1 8.1-20.8 9.3-30.3 3l-33.4-22.3-26.3 21c-8.2 6.6-19.7 7-28.3 1.2zM116 141.1c0-9 9.6-14.7 17.5-10.5l89.9 47.9c10.7 5.7 10.7 21.1 0 26.8l-89.9 47.9c-7.9 4.2-17.5-1.5-17.5-10.5c0-2.8 1-5.5 2.8-7.6l36-43.2-36-43.2c-1.8-2.1-2.8-4.8-2.8-7.6zm262.5-10.5c7.9-4.2 17.5 1.5 17.5 10.5c0 2.8-1 5.5-2.8 7.6l-36 43.2 36 43.2c1.8 2.1 2.8 4.8 2.8 7.6c0 9-9.6 14.7-17.5 10.5l-89.9-47.9c-10.7-5.7-10.7-21.1 0-26.8l89.9-47.9zm-159.2 162c3.7 3.7 5.3 8.8 4.5 13.9l-32 192c-1.1 6.7-6.3 11.9-13 13.1s-13.4-1.9-16.7-7.8l-26-45.5L51.9 479.5c-5.5 1.4-11.2-.2-15.2-4.2s-5.6-9.7-4.2-15.2l21.1-84.2-45.5-26c-5.9-3.4-9-10-7.8-16.7s6.4-11.9 13.1-13l192-32c5.1-.8 10.3 .8 13.9 4.5z\"]\n};\nvar faAnglesUp = {\n prefix: 'far',\n iconName: 'angles-up',\n icon: [448, 512, [\"angle-double-up\"], \"f102\", \"M241 47c-9.4-9.4-24.6-9.4-33.9 0L47 207c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l143-143L367 241c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L241 47zM401 399L241 239c-9.4-9.4-24.6-9.4-33.9 0L47 399c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l143-143L367 433c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9z\"]\n};\nvar faAngleDoubleUp = faAnglesUp;\nvar faBinRecycle = {\n prefix: 'far',\n iconName: 'bin-recycle',\n icon: [576, 512, [], \"e5f7\", \"M0 56C0 42.7 10.7 32 24 32h8H80.1 495.9 544h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H540.6L516.2 420.6C513.9 454.1 486 480 452.4 480H123.6c-33.6 0-61.4-25.9-63.8-59.4L35.4 80H24C10.7 80 0 69.3 0 56zM83.6 80l24.1 337.1c.6 8.4 7.6 14.9 16 14.9H452.4c8.4 0 15.4-6.5 16-14.9L492.4 80H83.6zM288 176c-2.2 0-4.3 1.1-5.5 2.9l-20.7 29.6c-7.3 10.5-21.6 13.4-32.4 6.6c-11.7-7.3-14.8-22.9-6.9-34.1l20.7-29.6c10.2-14.6 27-23.3 44.8-23.3s34.6 8.7 44.8 23.3l20.7 29.6c7.9 11.3 4.7 26.8-6.9 34.1c-10.8 6.8-25.1 3.9-32.4-6.6l-20.7-29.6c-1.3-1.8-3.3-2.9-5.5-2.9zm-88.3 77.1c11.7 7.3 14.8 22.9 6.9 34.1l-21.5 30.7c-.8 1.1-1.2 2.4-1.2 3.7c0 3.5 2.9 6.4 6.4 6.4H240c13.3 0 24 10.7 24 24s-10.7 24-24 24H190.4c-30.1 0-54.4-24.4-54.4-54.4c0-11.2 3.4-22.1 9.8-31.2l21.5-30.7c7.3-10.5 21.6-13.4 32.4-6.6zM312 352c0-13.3 10.7-24 24-24h49.6c3.5 0 6.4-2.9 6.4-6.4c0-1.3-.4-2.6-1.2-3.7l-21.5-30.7c-7.9-11.3-4.7-26.8 6.9-34.1c10.8-6.8 25.1-3.9 32.4 6.6l21.5 30.7c6.4 9.1 9.8 20 9.8 31.2c0 30.1-24.4 54.4-54.4 54.4H336c-13.3 0-24-10.7-24-24z\"]\n};\nvar faPaperclip = {\n prefix: 'far',\n iconName: 'paperclip',\n icon: [448, 512, [128206], \"f0c6\", \"M375 73c-26-26-68.1-26-94.1 0L89 265C45.3 308.6 45.3 379.4 89 423s114.4 43.6 158.1 0L399 271c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L281 457c-62.4 62.4-163.5 62.4-225.9 0S-7.4 293.4 55 231L247 39C291.7-5.7 364.2-5.7 409 39s44.7 117.2 0 161.9L225.2 384.7c-31.6 31.6-83.6 28.7-111.5-6.2c-23.8-29.8-21.5-72.8 5.5-99.8L271 127c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L153.2 312.7c-9.7 9.7-10.6 25.1-2 35.8c10 12.5 28.7 13.6 40 2.2L375 167c26-26 26-68.1 0-94.1z\"]\n};\nvar faChartLineDown = {\n prefix: 'far',\n iconName: 'chart-line-down',\n icon: [512, 512, [128201], \"f64d\", \"M48 56c0-13.3-10.7-24-24-24S0 42.7 0 56V408c0 39.8 32.2 72 72 72H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H72c-13.3 0-24-10.7-24-24V56zM320 296c0 13.3 10.7 24 24 24H456c13.3 0 24-10.7 24-24V184c0-13.3-10.7-24-24-24s-24 10.7-24 24v54.1L321 127c-9.4-9.4-24.6-9.4-33.9 0l-79 79-63-63c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l80 80c9.4 9.4 24.6 9.4 33.9 0l79-79L398.1 272H344c-13.3 0-24 10.7-24 24z\"]\n};\nvar faArrowRightToCity = {\n prefix: 'far',\n iconName: 'arrow-right-to-city',\n icon: [640, 512, [], \"e4b3\", \"M336 56c0-4.4 3.6-8 8-8H456c4.4 0 8 3.6 8 8V216c0 13.3 10.7 24 24 24h80 16c4.4 0 8 3.6 8 8V488c0 13.3 10.7 24 24 24s24-10.7 24-24V248c0-28.2-20.9-51.6-48-55.4V120c0-13.3-10.7-24-24-24s-24 10.7-24 24v72H512V56c0-30.9-25.1-56-56-56H344c-30.9 0-56 25.1-56 56V488c0 13.3 10.7 24 24 24s24-10.7 24-24V56zm32 40v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H384c-8.8 0-16 7.2-16 16zm16 80c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V192c0-8.8-7.2-16-16-16H384zM368 288v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V288c0-8.8-7.2-16-16-16H384c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V288c0-8.8-7.2-16-16-16H512zM496 384v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V384c0-8.8-7.2-16-16-16H512c-8.8 0-16 7.2-16 16zM160.1 158.2c-9.8-8.9-25-8.2-33.9 1.6s-8.2 25 1.6 33.9L169.9 232H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H169.9l-42.1 38.2c-9.8 8.9-10.5 24.1-1.6 33.9s24.1 10.5 33.9 1.6l88-80c5-4.5 7.9-11 7.9-17.8s-2.9-13.2-7.9-17.8l-88-80z\"]\n};\nvar faLockA = {\n prefix: 'far',\n iconName: 'lock-a',\n icon: [448, 512, [], \"e422\", \"M224 48c44.2 0 80 35.8 80 80v32H144V128c0-44.2 35.8-80 80-80zM96 128v32H64c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V224c0-35.3-28.7-64-64-64H352V128C352 57.3 294.7 0 224 0S96 57.3 96 128zM64 208H96h48H304h48 32c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V224c0-8.8 7.2-16 16-16zm58.5 197.3c-5.9 11.9-1.1 26.3 10.7 32.2s26.3 1.1 32.2-10.7L178.8 400h90.3l13.4 26.7c5.9 11.9 20.3 16.7 32.2 10.7s16.7-20.3 10.7-32.2L245.6 245.5c-1.2-2.4-2.7-4.6-4.6-6.5c-2.2-2.2-4.7-3.9-7.4-5c-3.1-1.3-6.3-2-9.5-2s-6.4 .6-9.5 2c-2.7 1.2-5.3 2.9-7.4 5c-1.9 1.9-3.4 4.1-4.6 6.5L122.5 405.3zM202.8 352L224 309.7 245.2 352H202.8z\"]\n};\nvar faRibbon = {\n prefix: 'far',\n iconName: 'ribbon',\n icon: [448, 512, [127895], \"f4d6\", \"M6.5 415.6l96.6-103.4L136 347.4 60.5 428.2l40.3 28.2 68.5-73.3 32.8 35.1-80.5 86.2c-8.2 8.7-21.5 10.1-31.3 3.3l-80-56c-5.7-4-9.4-10.2-10.1-17.2s1.6-13.8 6.3-18.9zM245.9 159.4l7-7.5c12.3-13.1 19.1-30.4 19.1-48.4c0-15.3-5-30.2-14.1-42.5l-9.3-12.5c-7.3-.4-15.5-.6-24.4-.6V0c14.8 0 27.9 .6 39 1.5c9.1 .7 17 1.7 23.5 2.6c21.2 3.1 38.2 15.4 49.5 30.6l40.2 53.6c15.4 20.6 23.7 45.6 23.7 71.3c0 30.1-11.4 59.1-32 81.2l-23 24.6-32.8-35.2L332.9 208c12.3-13.1 19.1-30.4 19.1-48.4c0-15.3-5-30.2-14.2-42.5L319.5 92.6c.3 3.6 .5 7.3 .5 11c0 30.1-11.4 59.1-32 81.2l-9.2 9.8-32.8-35.2zM224 48c-8.9 0-17.1 .2-24.4 .6l-9.3 12.5c-9.2 12.3-14.1 27.2-14.1 42.5c0 18 6.8 35.3 19.1 48.4L441.5 415.6c4.7 5.1 7.1 12 6.3 18.9s-4.4 13.2-10.1 17.2l-80 56c-9.8 6.9-23.1 5.5-31.3-3.3L80.1 240.7c-20.6-22-32-51-32-81.2c0-25.7 8.3-50.7 23.7-71.3L112 34.7c11.4-15.2 28.4-27.5 49.5-30.6c6.6-1 14.4-1.9 23.5-2.6C196.1 .6 209.2 0 224 0V48zM110.2 117.1c-9.2 12.3-14.1 27.2-14.1 42.5c0 18 6.8 35.3 19.1 48.4L347.3 456.4l40.3-28.2L160.1 184.7c-20.6-22-32-51-32-81.2c0-3.7 .2-7.4 .5-11l-18.4 24.5z\"]\n};\nvar faLungs = {\n prefix: 'far',\n iconName: 'lungs',\n icon: [640, 512, [129729], \"f604\", \"M344 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V166.8c0 18.1-8.7 35.1-23.5 45.6L256 224.2V184.7 176 165.3C256 127 225 96 186.7 96c-21.7 0-42.8 10.2-55.8 28.8c-15.4 22.1-44.3 65.4-71 116.9C33.4 292.6 7.5 354.2 .2 412c-.2 1.3-.2 2.6-.2 4v7c0 49.1 39.8 89 89 89c7.3 0 14.5-.9 21.6-2.7l72.7-18.2C226 480.5 256 442.1 256 398V322.5l-48 34.3V398c0 22-15 41.2-36.4 46.6L98.9 462.8c-3.3 .8-6.6 1.2-9.9 1.2c-22.6 0-41-18.3-41-41v-6c6.3-49.1 29-104.2 54.4-153.1c25.5-49 53.1-90.5 67.8-111.6c3.6-5.1 9.6-8.3 16.4-8.3c11.8 0 21.3 9.6 21.3 21.3V176v43.2 39.3l-69.9 50c-10.8 7.7-13.3 22.7-5.6 33.5s22.7 13.3 33.5 5.6l42.1-30 48-34.3 44.4-31.7c7.4-5.3 13.9-11.4 19.6-18.2c5.6 6.8 12.2 12.9 19.6 18.2L384 283.2l48 34.3 42.1 30c10.8 7.7 25.8 5.2 33.5-5.6s5.2-25.8-5.6-33.5l-69.9-50V219.2 176 165.3c0-11.8 9.6-21.3 21.3-21.3c6.8 0 12.8 3.2 16.4 8.3c14.7 21.1 42.3 62.6 67.8 111.6C563 312.8 585.7 367.9 592 417v6c0 22.6-18.3 41-41 41c-3.4 0-6.7-.4-9.9-1.2l-72.7-18.2C447 439.3 432 420.1 432 398V356.8l-48-34.3V398c0 44.1 30 82.5 72.7 93.1l72.7 18.2c7.1 1.8 14.3 2.7 21.6 2.7c49.1 0 89-39.8 89-89v-7c0-1.3-.1-2.7-.2-4c-7.2-57.9-33.1-119.4-59.6-170.3c-26.8-51.5-55.6-94.8-71-116.9c-13-18.6-34-28.8-55.8-28.8C415 96 384 127 384 165.3V176v8.7 39.5l-16.6-11.8c-14.7-10.5-23.4-27.5-23.4-45.6V24z\"]\n};\nvar faPersonPinball = {\n prefix: 'far',\n iconName: 'person-pinball',\n icon: [640, 512, [], \"e21d\", \"M80 96A48 48 0 1 0 80 0a48 48 0 1 0 0 96zM48 186.2c0-5.6 4.6-10.2 10.2-10.2c4.9 0 9.7 1.3 13.8 3.7V299.8L50.6 279.9c-1.6-1.5-2.6-3.6-2.6-5.9V186.2zm72 158.2v-88l6.5 11.5c7.1 12.5 20.4 20.2 34.7 20.2H192v88V488c0 13.3 10.7 24 24 24s24-10.7 24-24V400H592v88c0 13.3 10.7 24 24 24s24-10.7 24-24V376 208 24c0-13.3-10.7-24-24-24H504c-13.3 0-24 10.7-24 24V66c0 6.9 1.3 13.8 3.8 20.3l44 113.2L251 249.3c-4.4-5.7-11.3-9.3-19-9.3H165.9l-42.3-74c-13.4-23.5-38.4-38-65.4-38C26.1 128 0 154.1 0 186.2V274c0 15.6 6.5 30.4 17.9 41L112 402.5V488c0 13.3 10.7 24 24 24s24-10.7 24-24V399c0-11.1-4.6-21.7-12.8-29.3L120 344.4zM592 352H240V300.1l32.1-5.8c0 .6-.1 1.1-.1 1.7c0 13.3 10.7 24 24 24s24-10.7 24-24c0-3.5-.8-6.9-2.2-9.9L592 236.7V352zM48 386.7L0 342.1 0 488c0 13.3 10.7 24 24 24s24-10.7 24-24l0-101.3zM528 66V48h64V187.2l-16.5 2.4L528.5 68.9c-.4-.9-.5-1.9-.5-2.9z\"]\n};\nvar faArrowUp91 = {\n prefix: 'far',\n iconName: 'arrow-up-9-1',\n icon: [576, 512, [\"sort-numeric-up-alt\"], \"f887\", \"M424 80a40 40 0 1 0 0 80 40 40 0 1 0 0-80zm88 40c0 .8 0 1.6 0 2.5c-.6 20.2-7.9 39.7-20.9 55.3l-64.6 77.6c-8.5 10.2-23.6 11.6-33.8 3.1s-11.6-23.6-3.1-33.8L405.1 206c-39.5-8.6-69.1-43.8-69.1-86c0-48.6 39.4-88 88-88s88 39.4 88 88zM143 39c9.4-9.4 24.6-9.4 33.9 0l96 96c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-55-55V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V113.9L81 169c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l96-96zM456 312V432h24c13.3 0 24 10.7 24 24s-10.7 24-24 24H432 384c-13.3 0-24-10.7-24-24s10.7-24 24-24h24V345.3l-16.4 5.5c-12.6 4.2-26.2-2.6-30.4-15.2s2.6-26.2 15.2-30.4l48-16c7.3-2.4 15.4-1.2 21.6 3.3s10 11.8 10 19.5z\"]\n};\nvar faSortNumericUpAlt = faArrowUp91;\nvar faAppleCore = {\n prefix: 'far',\n iconName: 'apple-core',\n icon: [384, 512, [], \"e08f\", \"M192 112c-8.8 0-16-7.2-16-16V80c0-44.2 35.8-80 80-80h16c8.8 0 16 7.2 16 16V32c0 44.2-35.8 80-80 80H192zM128 464c4.6 0 13.6-1.7 24.9-5.1c25.4-7.6 52.7-7.6 78.1 0c11.3 3.4 20.3 5.1 24.9 5.1c11.4 0 24.9-3.9 38.9-13.1C260.7 411.6 240 360.2 240 304c0-46 13.9-88.8 37.7-124.4c-12.7 3-26.4 7.5-39 12.4c-30 11.7-63.5 11.7-93.5 0c-12.6-4.9-26.2-9.4-39-12.4C130.1 215.2 144 258 144 304c0 56.2-20.7 107.6-54.9 146.9c14 9.2 27.4 13.1 38.9 13.1zM304 128c6.7 0 13 .6 19.1 1.9l0 0 .5 .1c11.3 2.3 21.5 6.7 30.6 12.7c8.6 5.6 7.3 17.9-.7 24.3c-40 32.3-65.5 81.7-65.5 137c0 54.4 24.7 103 63.4 135.3c7 5.9 8.8 16.3 2.7 23.1C325.8 493.7 290.9 512 256 512c-11.9 0-26.5-3.4-38.8-7.1c-16.4-4.9-34.1-4.9-50.5 0c-12.2 3.7-26.8 7.1-38.8 7.1c-34.9 0-69.8-18.3-98.1-49.6c-6.2-6.8-4.4-17.3 2.7-23.1C71.3 407 96 358.4 96 304c0-55.4-25.6-104.7-65.5-137c-8-6.5-9.3-18.7-.7-24.3c9.2-6 19.4-10.3 30.6-12.7l.5-.1 0 0C67 128.6 73.3 128 80 128c27.3 0 59.7 10.3 82.7 19.3c18.8 7.3 39.9 7.3 58.7 0c22.9-8.9 55.4-19.3 82.7-19.3z\"]\n};\nvar faCircleY = {\n prefix: 'far',\n iconName: 'circle-y',\n icon: [512, 512, [], \"e12f\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM170.1 152.3c-8.7-10-23.8-11.1-33.9-2.4s-11.1 23.8-2.4 33.9L232 297v79c0 13.3 10.7 24 24 24s24-10.7 24-24V297l98.1-113.2c8.7-10 7.6-25.2-2.4-33.9s-25.2-7.6-33.9 2.4L256 251.4l-85.9-99.1z\"]\n};\nvar faH6 = {\n prefix: 'far',\n iconName: 'h6',\n icon: [640, 512, [], \"e413\", \"M48 88c0-13.3-10.7-24-24-24S0 74.7 0 88V248 424c0 13.3 10.7 24 24 24s24-10.7 24-24V272H272V424c0 13.3 10.7 24 24 24s24-10.7 24-24V248 88c0-13.3-10.7-24-24-24s-24 10.7-24 24V224H48V88zM519 69.3c-10.3-8.3-25.5-6.6-33.7 3.7l-98 122.5C364.4 224 352 259.5 352 296h.2c-.1 2.6-.2 5.3-.2 8c0 79.5 64.5 144 144 144s144-64.5 144-144s-64.5-144-144-144c-6.8 0-13.4 .5-20 1.4L522.7 103c8.3-10.4 6.6-25.5-3.8-33.7zM496 208a96 96 0 1 1 0 192 96 96 0 1 1 0-192z\"]\n};\nvar faLitecoinSign = {\n prefix: 'far',\n iconName: 'litecoin-sign',\n icon: [384, 512, [], \"e1d3\", \"M112 56c0-13.3-10.7-24-24-24S64 42.7 64 56V220.5L17.8 232.8C5 236.2-2.6 249.4 .8 262.2s16.6 20.4 29.4 17l33.8-9V456c0 13.3 10.7 24 24 24H360c13.3 0 24-10.7 24-24s-10.7-24-24-24H112V257.4l158.2-42.2c12.8-3.4 20.4-16.6 17-29.4s-16.6-20.4-29.4-17L112 207.7V56z\"]\n};\nvar faBottleBaby = {\n prefix: 'far',\n iconName: 'bottle-baby',\n icon: [512, 512, [], \"e673\", \"M220.6 49.7L224 48l0-16c0-17.7 14.3-32 32-32s32 14.3 32 32l0 16 3.4 1.7C308.9 58.5 320 76.4 320 96c17.7 0 32 14.3 32 32l0 16 21.8 21.8c27 27 42.2 63.6 42.2 101.8L416 448c0 35.3-28.7 64-64 64l-192 0c-35.3 0-64-28.7-64-64l0-180.4c0-38.2 15.2-74.8 42.2-101.8L160 144l0-16c0-17.7 14.3-32 32-32c0-19.6 11.1-37.5 28.6-46.3zM368 448l0-180.4c0-25.5-10.1-49.9-28.1-67.9l-7.8-7.8-152.2 0-7.8 7.8c-18 18-28.1 42.4-28.1 67.9l0 4.4 88 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-88 0 0 48 88 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-88 0 0 32c0 8.8 7.2 16 16 16l192 0c8.8 0 16-7.2 16-16z\"]\n};\nvar faCircleSmall = {\n prefix: 'far',\n iconName: 'circle-small',\n icon: [320, 512, [], \"e122\", \"M272 256A112 112 0 1 0 48 256a112 112 0 1 0 224 0zM0 256a160 160 0 1 1 320 0A160 160 0 1 1 0 256z\"]\n};\nvar faBorderNone = {\n prefix: 'far',\n iconName: 'border-none',\n icon: [448, 512, [], \"f850\", \"M32 480a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm96-64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0-384a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 256a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM320 416a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0-320a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0 128a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM224 480a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0-448a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 256a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM416 416a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0-384a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM32 96a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM416 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM32 288a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm192 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm192 64a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM32 320a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM416 192a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM32 128a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm192 64a32 32 0 1 1 0-64 32 32 0 1 1 0 64z\"]\n};\nvar faArrowTurnDownLeft = {\n prefix: 'far',\n iconName: 'arrow-turn-down-left',\n icon: [512, 512, [], \"e2e1\", \"M464 56c0-13.3 10.7-24 24-24s24 10.7 24 24V224c0 48.6-39.4 88-88 88H81.9l87 87c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L7 305c-9.4-9.4-9.4-24.6 0-33.9L135 143c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-87 87H424c22.1 0 40-17.9 40-40V56z\"]\n};\nvar faCircleWifiCircleWifi = {\n prefix: 'far',\n iconName: 'circle-wifi-circle-wifi',\n icon: [640, 512, [\"circle-wifi-group\"], \"e67e\", \"M256 48c94.3 0 173.9 62.7 199.4 148.7c13-3.1 26.6-4.7 40.6-4.7c2.7 0 5.3 .1 8 .2C475.6 81.7 375.4 0 256 0C114.6 0 0 114.6 0 256S114.6 512 256 512c39.5 0 77-9 110.4-25c-11-12-20.4-25.5-27.7-40.1c-25.3 11-53.3 17.1-82.6 17.1C141.1 464 48 370.9 48 256S141.1 48 256 48zM416.6 205.6C374.1 167.3 317.7 144 256 144s-118.1 23.3-160.6 61.6c-9.8 8.9-10.6 24-1.8 33.9s24 10.6 33.9 1.8c34-30.7 79-49.3 128.5-49.3c46.8 0 89.7 16.7 123 44.5c12.2-10.9 26-20.1 40.9-27.3c-1-1.3-2-2.5-3.3-3.6zM256 240c-35.1 0-67.1 13.3-91.2 35.1c-9.8 8.9-10.6 24.1-1.7 33.9s24.1 10.6 33.9 1.7c15.6-14.1 36.3-22.7 59-22.7s43.4 8.6 59 22.7c3.7 3.3 8.1 5.3 12.6 5.9c4.5-14.9 11-29 19.1-42C322.7 253.1 290.9 240 256 240zm0 160a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm384-32a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zM496 320c-27.2 0-51.9 10.2-70.6 27.1c-6.6 5.9-16.7 5.4-22.6-1.2s-5.4-16.7 1.2-22.6c24.4-21.9 56.6-35.3 92-35.3s67.7 13.4 92 35.3c6.6 5.9 7.1 16 1.2 22.6s-16 7.1-22.6 1.2C547.9 330.2 523.2 320 496 320zM476 432a20 20 0 1 1 40 0 20 20 0 1 1 -40 0zm-11.5-35.9c-6.6 5.9-16.7 5.4-22.6-1.1s-5.4-16.7 1.1-22.6c14-12.7 32.6-20.4 53-20.4s39 7.7 53 20.4c6.6 5.9 7.1 16 1.1 22.6s-16 7.1-22.6 1.1c-8.3-7.5-19.4-12.1-31.5-12.1s-23.2 4.6-31.5 12.1z\"]\n};\nvar faCircleWifiGroup = faCircleWifiCircleWifi;\nvar faCircleNodes = {\n prefix: 'far',\n iconName: 'circle-nodes',\n icon: [512, 512, [], \"e4e2\", \"M368 80a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm-29.9 50.6c6.8 8.3 15.2 15.2 24.7 20.2L326 352.6c-11.5 1.4-22.2 5.3-31.7 11.1L153.3 240.2c4.3-9.9 6.7-20.7 6.7-32.2c0-2-.1-4.1-.2-6.1l178.3-71.3zM410 159.4c39.5-4.9 70-38.6 70-79.4c0-44.2-35.8-80-80-80s-80 35.8-80 80c0 2 .1 4.1 .2 6.1L141.9 157.4C127.3 139.4 105 128 80 128c-44.2 0-80 35.8-80 80s35.8 80 80 80c15.3 0 29.5-4.3 41.6-11.7L262.7 399.8c-4.3 9.9-6.7 20.7-6.7 32.2c0 44.2 35.8 80 80 80s80-35.8 80-80c0-30.7-17.3-57.4-42.7-70.8L410 159.4zM304 432a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM80 176a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faParachuteBox = {\n prefix: 'far',\n iconName: 'parachute-box',\n icon: [512, 512, [], \"f4cd\", \"M383.5 192c.3-5.3 .5-10.6 .5-16c0-51-15.9-96-40.2-127.6C319.5 16.9 288.2 0 256 0s-63.5 16.9-87.8 48.4C143.9 80 128 125 128 176c0 5.4 .2 10.7 .5 16H232V320H208c-3.3 0-6.5 .3-9.6 1L96.3 188.9c-.2-4.3-.3-8.6-.3-12.9c0-64 22.2-121.2 57.1-159.3C62 49.3 18.6 122.6 4.2 173.6C1.5 183.1 9 192 18.9 192H38L162.4 353c-1.6 4.7-2.4 9.8-2.4 15v96c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V368c0-5.3-.8-10.3-2.4-15L474 192h19.1c9.9 0 17.4-8.9 14.7-18.4C493.4 122.6 450 49.3 358.9 16.7C393.8 54.8 416 112.1 416 176c0 4.3-.1 8.6-.3 12.9L313.6 321c-3.1-.6-6.3-1-9.6-1H280V192H383.5zM208 368h96v96H208V368z\"]\n};\nvar faReflectHorizontal = {\n prefix: 'far',\n iconName: 'reflect-horizontal',\n icon: [512, 512, [], \"e664\", \"M256 0c13.3 0 24 10.7 24 24l0 464c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-464c0-13.3 10.7-24 24-24zM48 166.6l0 178.7L137.4 256 48 166.6zM0 128c0-12.9 7.8-24.6 19.8-29.6s25.7-2.2 34.9 6.9l128 128c12.5 12.5 12.5 32.8 0 45.3l-128 128c-9.2 9.2-22.9 11.9-34.9 6.9S0 396.9 0 384L0 128zM374.6 256L464 345.4l0-178.7L374.6 256zM492.2 98.4c12 5 19.8 16.6 19.8 29.6l0 256c0 12.9-7.8 24.6-19.8 29.6s-25.7 2.2-34.9-6.9l-128-128c-12.5-12.5-12.5-32.8 0-45.3l128-128c9.2-9.2 22.9-11.9 34.9-6.9z\"]\n};\nvar faMessageMedical = {\n prefix: 'far',\n iconName: 'message-medical',\n icon: [512, 512, [\"comment-alt-medical\"], \"f7f4\", \"M208 416c0-26.5-21.5-48-48-48H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H448c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H309.3c-10.4 0-20.5 3.4-28.8 9.6L208 432V416zm-.2 76.2l.2-.2 101.3-76H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h48 48v48 4 .3 6.4V496c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L202.7 496l5.1-3.8zM224 128v48H176c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240h48c8.8 0 16-7.2 16-16V192c0-8.8-7.2-16-16-16H288V128c0-8.8-7.2-16-16-16H240c-8.8 0-16 7.2-16 16z\"]\n};\nvar faCommentAltMedical = faMessageMedical;\nvar faRugbyBall = {\n prefix: 'far',\n iconName: 'rugby-ball',\n icon: [512, 512, [], \"e3c6\", \"M336 16h32c70.7 0 128 57.3 128 128v32c0 176.7-143.3 320-320 320H144C73.3 496 16 438.7 16 368V336C16 159.3 159.3 16 336 16zM308.5 65.4C252.1 71 200.9 93.9 160 128.6c-11.5 9.8-22.2 20.5-32 32.1c-34.8 41.3-57.6 93.1-62.8 150C88.5 266 125.5 216.6 172 170c45.1-45.1 92.9-81.2 136.4-104.6zm-108 381.5c57.2-5.1 109.3-27.9 150.8-62.9c11.6-9.8 22.3-20.5 32.1-32c34.9-41.1 57.8-92.6 63.3-149.3c-23.4 43.7-59.7 91.7-105 137c-46.8 46.8-96.4 83.9-141.3 107.2zM90.4 421.4c2.7 2.7 8.8 5.9 22.3 5c13.4-.9 31.2-5.8 52.5-15.6c42.3-19.4 93.5-55.8 142.7-105s85.6-100.4 105-142.7c9.8-21.2 14.7-39 15.6-52.5c.9-13.5-2.3-19.6-5-22.3s-8.8-5.9-22.3-5c-13.4 .9-31.2 5.8-52.5 15.6c-42.3 19.5-93.5 55.8-142.7 105s-85.6 100.4-105 142.7c-9.8 21.2-14.7 39-15.6 52.5c-.9 13.5 2.3 19.6 5 22.3z\"]\n};\nvar faCommentMusic = {\n prefix: 'far',\n iconName: 'comment-music',\n icon: [512, 512, [], \"f8b0\", \"M168.2 384.9c-15-5.4-31.7-3.1-44.6 6.4c-8.2 6-22.3 14.8-39.4 22.7c5.6-14.7 9.9-31.3 11.3-49.4c1-12.9-3.3-25.7-11.8-35.5C60.4 302.8 48 272 48 240c0-79.5 83.3-160 208-160s208 80.5 208 160s-83.3 160-208 160c-31.6 0-61.3-5.5-87.8-15.1zM26.3 423.8c-1.6 2.7-3.3 5.4-5.1 8.1l-.3 .5c-1.6 2.3-3.2 4.6-4.8 6.9c-3.5 4.7-7.3 9.3-11.3 13.5c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c5.1 0 10.2-.3 15.3-.8l.7-.1c4.4-.5 8.8-1.1 13.2-1.9c.8-.1 1.6-.3 2.4-.5c17.8-3.5 34.9-9.5 50.1-16.1c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9zM352 128c0-5.2-2.6-10.2-6.9-13.2s-9.8-3.7-14.7-1.8l-128 48c-6.2 2.3-10.4 8.3-10.4 15v32 81.8c-5-1.2-10.4-1.8-16-1.8c-26.5 0-48 14.3-48 32s21.5 32 48 32s48-14.3 48-32V219.1l96-36v74.7c-5-1.2-10.4-1.8-16-1.8c-26.5 0-48 14.3-48 32s21.5 32 48 32s48-14.3 48-32V160 128z\"]\n};\nvar faIndent = {\n prefix: 'far',\n iconName: 'indent',\n icon: [448, 512, [], \"f03c\", \"M0 64C0 77.3 10.7 88 24 88H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H24C10.7 40 0 50.7 0 64zM192 192c0 13.3 10.7 24 24 24H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H216c-13.3 0-24 10.7-24 24zm24 104c-13.3 0-24 10.7-24 24s10.7 24 24 24H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H216zM0 448c0 13.3 10.7 24 24 24H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H24c-13.3 0-24 10.7-24 24zM121 268.4c7.8-6.4 7.8-18.3 0-24.7L26.2 165.6C15.7 157 0 164.4 0 177.9V334.1c0 13.5 15.7 20.9 26.2 12.4L121 268.4z\"]\n};\nvar faTreeDeciduous = {\n prefix: 'far',\n iconName: 'tree-deciduous',\n icon: [512, 512, [127795, \"tree-alt\"], \"f400\", \"M185.9 103.6c-1.4 6.2-5.3 11.6-10.7 15s-12 4.4-18.2 3c-4.1-1-8.5-1.5-13-1.5c-30.9 0-56 25.1-56 56c0 6.4 1.1 12.5 3 18.2c3.8 11.1-1 23.4-11.3 28.9C60.8 233.2 48 253.2 48 276c0 33.1 26.9 60 60 60H232V320 256 152c0-13.3 10.7-24 24-24s24 10.7 24 24V256v64 16H404c33.1 0 60-26.9 60-60c0-22.8-12.8-42.8-31.7-52.9c-10.4-5.6-15.2-17.8-11.3-28.9c1.9-5.7 3-11.8 3-18.2c0-30.9-25.1-56-56-56c-4.5 0-8.8 .5-13 1.5c-6.2 1.5-12.7 .4-18.2-3s-9.3-8.7-10.7-15C318.7 71.7 290.1 48 256 48s-62.7 23.7-70.1 55.6zM232 384H108C48.4 384 0 335.6 0 276c0-34.4 16.1-65 41.1-84.8c-.7-5-1.1-10.1-1.1-15.2C40 118.6 86.6 72 144 72c.7 0 1.3 0 2 0C164.5 29.6 206.8 0 256 0s91.5 29.6 110 72c.7 0 1.3 0 2 0c57.4 0 104 46.6 104 104c0 5.2-.4 10.2-1.1 15.2C495.9 211 512 241.6 512 276c0 59.6-48.4 108-108 108H280V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V384z\"]\n};\nvar faTreeAlt = faTreeDeciduous;\nvar faPuzzlePieceSimple = {\n prefix: 'far',\n iconName: 'puzzle-piece-simple',\n icon: [640, 512, [\"puzzle-piece-alt\"], \"e231\", \"M168 112c-4.4 0-8 3.6-8 8v79.1c0 22.6-18.3 40.9-40.9 40.9c-15 0-26.5-8.1-33.5-16.3c-4.9-5.9-9.8-7.7-13.6-7.7c-4 0-9.5 2.1-14.7 9.1S48 243 48 256s4 23.8 9.3 30.9s10.7 9.1 14.7 9.1c3.7 0 8.6-1.8 13.6-7.7c7-8.3 18.5-16.3 33.5-16.3c22.6 0 40.9 18.3 40.9 40.9V392c0 4.4 3.6 8 8 8h76.5c-2.9-7.4-4.5-15.5-4.5-24c0-43.1 39.4-72 80-72s80 28.9 80 72c0 8.5-1.6 16.6-4.5 24H472c4.4 0 8-3.6 8-8V312.9c0-22.6 18.3-40.9 40.9-40.9c15 0 26.5 8.1 33.5 16.3c4.9 5.9 9.8 7.7 13.6 7.7c4 0 9.5-2.1 14.7-9.1s9.3-17.9 9.3-30.9s-4-23.8-9.3-30.9s-10.7-9.1-14.7-9.1c-3.7 0-8.6 1.8-13.6 7.7c-7 8.3-18.5 16.3-33.5 16.3c-22.6 0-40.9-18.3-40.9-40.9V120c0-4.4-3.6-8-8-8H395.5c2.9 7.4 4.5 15.5 4.5 24c0 43.1-39.4 72-80 72s-80-28.9-80-72c0-8.5 1.6-16.6 4.5-24H168zm-56 8c0-30.9 25.1-56 56-56H270.1C288.8 64 304 79.2 304 97.9c0 10.1-4.5 18.5-9.9 24.2c-4.2 4.3-6.1 9.2-6.1 13.9c0 9.9 10.7 24 32 24s32-14.1 32-24c0-4.7-1.9-9.5-6.1-13.9c-5.5-5.7-9.9-14.1-9.9-24.2C336 79.2 351.2 64 369.9 64H472c30.9 0 56 25.1 56 56v62.6c10.9-8.8 24.6-14.6 40-14.6c22.5 0 41 12.2 53.1 28.3S640 233.6 640 256s-6.8 43.5-18.9 59.7S590.5 344 568 344c-15.4 0-29.1-5.8-40-14.6V392c0 30.9-25.1 56-56 56H369.9c-18.7 0-33.9-15.2-33.9-33.9c0-10.1 4.5-18.5 9.9-24.2c4.2-4.3 6.1-9.2 6.1-13.9c0-9.9-10.7-24-32-24s-32 14.1-32 24c0 4.7 1.9 9.5 6.1 13.9c5.5 5.7 9.9 14.1 9.9 24.2c0 18.7-15.2 33.9-33.9 33.9H168c-30.9 0-56-25.1-56-56V329.4C101.1 338.2 87.4 344 72 344c-22.5 0-41-12.2-53.1-28.3S0 278.4 0 256s6.8-43.5 18.9-59.7S49.5 168 72 168c15.4 0 29.1 5.8 40 14.6V120z\"]\n};\nvar faPuzzlePieceAlt = faPuzzlePieceSimple;\nvar faTruckFieldUn = {\n prefix: 'far',\n iconName: 'truck-field-un',\n icon: [640, 512, [], \"e58e\", \"M80 80c-8.8 0-16 7.2-16 16v32V288v48H76.8c16.6-28.7 47.6-48 83.2-48s66.6 19.3 83.2 48H352V320 224 104 96c0-8.8-7.2-16-16-16H80zM16 336V283.7C6.4 278.2 0 267.8 0 256V160c0-11.8 6.4-22.2 16-27.7V96c0-35.3 28.7-64 64-64H336c29.8 0 54.9 20.4 62 48h37.7c21.7 0 41.4 12.5 50.7 32.2l52.3 111.2 .3 .7h5c35.3 0 64 28.7 64 64v48h8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8H576c0 53-43 96-96 96s-96-43-96-96H352 256c0 53-43 96-96 96s-96-43-96-96H24 16v-1.4C6.7 379.3 0 370.5 0 360s6.7-19.3 16-22.6V336zm96 48a48 48 0 1 0 96 0 48 48 0 1 0 -96 0zM400 224h85.9l-43-91.4c-1.3-2.8-4.1-4.6-7.2-4.6H400v96zm80 208a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM253.3 135.1l34.7 52V144c0-8.8 7.2-16 16-16s16 7.2 16 16v96c0 7.1-4.6 13.3-11.4 15.3s-14-.6-17.9-6.4l-34.7-52V240c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-7.1 4.6-13.3 11.4-15.3s14 .6 17.9 6.4zM128 144v64c0 8.8 7.2 16 16 16s16-7.2 16-16V144c0-8.8 7.2-16 16-16s16 7.2 16 16v64c0 26.5-21.5 48-48 48s-48-21.5-48-48V144c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faNfcTrash = {\n prefix: 'far',\n iconName: 'nfc-trash',\n icon: [640, 512, [], \"e1fd\", \"M384 80H64c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H378.2l3.4 48H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64v66.7c-11.5 4.1-21.3 12.5-26.9 23.8l-2.7 5.5H400V96c0-8.8-7.2-16-16-16zM352 240c0 13.7 5.8 26.1 15 34.8l1 14.3V360c0 22.1-17.9 40-40 40H120c-22.1 0-40-17.9-40-40V152c0-22.1 17.9-40 40-40h16c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8V352H320V160H248v54.4c14.3 8.3 24 23.8 24 41.6c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-17.8 9.7-33.3 24-41.6V152c0-22.1 17.9-40 40-40h88c22.1 0 40 17.9 40 40v52.2c-9.8 8.8-16 21.6-16 35.8zm97.7-39.2c2.7-5.4 8.2-8.8 14.3-8.8h96c6.1 0 11.6 3.4 14.3 8.8L585.9 224H624c8.8 0 16 7.2 16 16s-7.2 16-16 16H576 448 400c-8.8 0-16-7.2-16-16s7.2-16 16-16h38.1l11.6-23.2zM413.9 482.3L400 288H624L610.1 482.3C608.9 499 595 512 578.2 512H445.8c-16.8 0-30.7-13-31.9-29.7z\"]\n};\nvar faHourglass = {\n prefix: 'far',\n iconName: 'hourglass',\n icon: [384, 512, [9203, 62032, \"hourglass-empty\"], \"f254\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48h8V67c0 40.3 16 79 44.5 107.5L158.1 256 76.5 337.5C48 366 32 404.7 32 445v19H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H360c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V445c0-40.3-16-79-44.5-107.5L225.9 256l81.5-81.5C336 146 352 107.3 352 67V48h8c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zM192 289.9l81.5 81.5C293 391 304 417.4 304 445v19H80V445c0-27.6 11-54 30.5-73.5L192 289.9zm0-67.9l-81.5-81.5C91 121 80 94.6 80 67V48H304V67c0 27.6-11 54-30.5 73.5L192 222.1z\"]\n};\nvar faHourglassEmpty = faHourglass;\nvar faMountain = {\n prefix: 'far',\n iconName: 'mountain',\n icon: [512, 512, [127956], \"f6fc\", \"M464 424.1c0 4.4-3.5 7.9-7.9 7.9H55.9c-4.4 0-7.9-3.5-7.9-7.9c0-1.5 .4-2.9 1.2-4.2L149.6 260l39.5 50.8c4.6 5.9 11.7 9.3 19.2 9.3s14.5-3.6 19-9.6L268 256h92L462.8 419.9c.8 1.3 1.2 2.7 1.2 4.2zM329.8 208H256c-7.6 0-14.7 3.6-19.2 9.6l-29.1 38.9-30.9-39.8L256 90.3 329.8 208zM55.9 480H456.1c30.9 0 55.9-25 55.9-55.9c0-10.5-3-20.8-8.6-29.7L286.8 49c-6.6-10.6-18.3-17-30.8-17s-24.1 6.4-30.8 17L8.6 394.4C3 403.3 0 413.6 0 424.1C0 455 25 480 55.9 480z\"]\n};\nvar faFileXmark = {\n prefix: 'far',\n iconName: 'file-xmark',\n icon: [384, 512, [\"file-times\"], \"f317\", \"M64 464c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zm47 239c-9.4 9.4-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47c-9.4-9.4-24.6-9.4-33.9 0z\"]\n};\nvar faFileTimes = faFileXmark;\nvar faHouseHeart = {\n prefix: 'far',\n iconName: 'house-heart',\n icon: [576, 512, [\"home-heart\"], \"f4c9\", \"M272.5 5.7c9-7.6 22.1-7.6 31.1 0l264 224c10.1 8.6 11.4 23.7 2.8 33.8s-23.7 11.3-33.8 2.8L512 245.5V432c0 44.2-35.8 80-80 80H144c-44.2 0-80-35.8-80-80V245.5L39.5 266.3c-10.1 8.6-25.3 7.3-33.8-2.8s-7.3-25.3 2.8-33.8l264-224zM288 55.5L112 204.8V432c0 17.7 14.3 32 32 32H432c17.7 0 32-14.3 32-32V204.8L288 55.5zM176 269.3c0-33.8 27.4-61.3 61.3-61.3c16.2 0 31.8 6.5 43.3 17.9l7.4 7.4 7.4-7.4c11.5-11.5 27.1-17.9 43.3-17.9c33.8 0 61.3 27.4 61.3 61.3c0 16.2-6.5 31.8-17.9 43.3l-82.7 82.7c-6.2 6.2-16.4 6.2-22.6 0l-82.7-82.7c-11.5-11.5-17.9-27.1-17.9-43.3z\"]\n};\nvar faHomeHeart = faHouseHeart;\nvar faHouseChimneyBlank = {\n prefix: 'far',\n iconName: 'house-chimney-blank',\n icon: [576, 512, [], \"e3b0\", \"M272.5 5.7c9-7.6 22.1-7.6 31.1 0L464 141.9V56c0-13.3 10.7-24 24-24s24 10.7 24 24V182.6l55.5 47.1c10.1 8.6 11.4 23.7 2.8 33.8s-23.7 11.3-33.8 2.8L512 245.5V432c0 44.2-35.8 80-80 80H144c-44.2 0-80-35.8-80-80V245.5L39.5 266.3c-10.1 8.6-25.3 7.3-33.8-2.8s-7.3-25.3 2.8-33.8l264-224zM288 55.5L112 204.8V432c0 17.7 14.3 32 32 32H432c17.7 0 32-14.3 32-32V204.8L288 55.5z\"]\n};\nvar faMeterBolt = {\n prefix: 'far',\n iconName: 'meter-bolt',\n icon: [640, 512, [], \"e1e9\", \"M464 256c0 8.9-.6 17.6-1.6 26.2l49.3-39.4C504.8 107.5 393 0 256 0C114.6 0 0 114.6 0 256S114.6 512 256 512c73.7 0 140.1-31.1 186.8-81l7.5-15H432c-11.5 0-22.3-4.1-30.7-11.1C363.8 441.5 312.5 464 256 464C141.1 464 48 370.9 48 256S141.1 48 256 48s208 93.1 208 208zM192 152c0-13.3-10.7-24-24-24s-24 10.7-24 24v48c0 13.3 10.7 24 24 24s24-10.7 24-24V152zm88 0c0-13.3-10.7-24-24-24s-24 10.7-24 24v48c0 13.3 10.7 24 24 24s24-10.7 24-24V152zm88 0c0-13.3-10.7-24-24-24s-24 10.7-24 24v48c0 13.3 10.7 24 24 24s24-10.7 24-24V152zm234.1 75.6c-5.8-4.7-14.2-4.7-20.1-.1l-160 128c-5.3 4.2-7.4 11.4-5.1 17.8s8.3 10.7 15.1 10.7h70.1L449.7 488.8c-3.4 6.7-1.6 14.9 4.3 19.6s14.2 4.7 20.1 .1l160-128c5.3-4.2 7.4-11.4 5.1-17.8s-8.3-10.7-15.1-10.7H553.9l52.4-104.8c3.4-6.7 1.6-14.9-4.2-19.6z\"]\n};\nvar faUserDoctor = {\n prefix: 'far',\n iconName: 'user-doctor',\n icon: [448, 512, [\"user-md\"], \"f0f0\", \"M224 48a80 80 0 1 1 0 160 80 80 0 1 1 0-160zM96 128a128 128 0 1 0 256 0A128 128 0 1 0 96 128zm64 225c5.2-.7 10.6-1 16-1h96c5.4 0 10.8 .3 16 1v49c-27.6 7.1-48 32.2-48 62v32c0 8.8 7.2 16 16 16h24c8.8 0 16-7.2 16-16s-7.2-16-16-16h-8V464c0-17.7 14.3-32 32-32s32 14.3 32 32v16h-8c-8.8 0-16 7.2-16 16s7.2 16 16 16h24c8.8 0 16-7.2 16-16V464c0-29.8-20.4-54.9-48-62V361.3c46.9 19 80 65 80 118.7v8c0 13.3 10.7 24 24 24s24-10.7 24-24v-8c0-97.2-78.8-176-176-176H176C78.8 304 0 382.8 0 480v8c0 13.3 10.7 24 24 24s24-10.7 24-24v-8c0-53.7 33.1-99.7 80-118.7v41c-23.1 6.9-40 28.3-40 53.7c0 30.9 25.1 56 56 56s56-25.1 56-56c0-25.4-16.9-46.8-40-53.7V353zm-16 79a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faUserMd = faUserDoctor;\nvar faSlashBack = {\n prefix: 'far',\n iconName: 'slash-back',\n icon: [320, 512, [], \"5c\", \"M11.9 3.3C.4 10-3.4 24.7 3.3 36.1l272 464c6.7 11.4 21.4 15.3 32.8 8.6s15.3-21.4 8.6-32.8l-272-464C38 .4 23.3-3.4 11.9 3.3z\"]\n};\nvar faCircleInfo = {\n prefix: 'far',\n iconName: 'circle-info',\n icon: [512, 512, [\"info-circle\"], \"f05a\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V248c0-13.3-10.7-24-24-24H216c-13.3 0-24 10.7-24 24s10.7 24 24 24h24v64H216zm40-144a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faInfoCircle = faCircleInfo;\nvar faFishingRod = {\n prefix: 'far',\n iconName: 'fishing-rod',\n icon: [448, 512, [], \"e3a8\", \"M280.4 48c-3.2 0-6.3 .5-9.3 1.4L206.6 69.2C136.1 90.9 88 156.1 88 229.8v42.9c22.7 3.8 40 23.6 40 47.3V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V320c0-23.8 17.3-43.5 40-47.3V229.8C40 135 101.8 51.2 192.5 23.4L256.9 3.5C264.5 1.2 272.4 0 280.4 0c44 0 79.6 35.7 79.6 79.6V136c0 13.3-10.7 24-24 24s-24-10.7-24-24V79.6C312 62.2 297.8 48 280.4 48zM48 320V464H80V320H48zm208 24c0-71.6 55.6-127.8 89-148.1c4.3-2.6 9.6-2.6 14 0c33.5 20.3 89 76.6 89 148.1c0 32-16 80-64 112l27.3 27.3c3 3 4.7 7.1 4.7 11.3V496c0 8.8-7.2 16-16 16H304c-8.8 0-16-7.2-16-16v-1.4c0-4.2 1.7-8.3 4.7-11.3L320 456c-48-32-64-80-64-112zm128-32a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faHammerCrash = {\n prefix: 'far',\n iconName: 'hammer-crash',\n icon: [640, 512, [], \"e414\", \"M289.9 328.5l1.5 .7c15 7.5 31.5 8.6 46.4 4.2l-.3 1.8 54.1-23.5c9.6-4.2 20.9-1.6 27.7 6.3l38.6 44.6 15.4-56.9c2.7-10.1 11.7-17.3 22.2-17.7l58.9-2.3-34.9-47.5c-6.2-8.5-6.2-20 0-28.4l34.9-47.5L495.4 160c-10.5-.4-19.5-7.6-22.2-17.7L457.8 85.3l-20.3 23.6c-6-9.1-14.4-16.9-24.9-22.1L399 80l52-60.3c5.8-6.7 14.8-9.7 23.5-7.7s15.5 8.6 17.8 17.1L515 112.7l86.5 3.4c8.9 .3 16.8 5.6 20.7 13.6s3 17.5-2.3 24.6L568.6 224l51.3 69.7c5.3 7.2 6.1 16.6 2.3 24.6s-11.8 13.2-20.7 13.6L515 335.3l-22.6 83.5c-2.3 8.6-9.2 15.2-17.8 17.1s-17.7-1-23.5-7.7l-56.6-65.5-79.4 34.5c-8.1 3.5-17.6 2.3-24.5-3.3s-10.3-14.5-8.6-23.2l7.9-42.3zM81.9 64L53.5 120.8 312.8 250.5l49.7-99.4L188.2 64H81.9zM43.4 33.7C48.8 22.8 59.9 16 72 16H192c5 0 9.9 1.2 14.3 3.4l192 96c15.8 7.9 22.2 27.1 14.3 42.9l-64 128c-7.9 15.8-27.1 22.2-42.9 14.3L186.4 241 69.5 474.7c-5.9 11.9-20.3 16.7-32.2 10.7s-16.7-20.3-10.7-32.2L143.4 219.5 17.7 156.6C1.9 148.7-4.5 129.5 3.4 113.7l40-80z\"]\n};\nvar faMessageHeart = {\n prefix: 'far',\n iconName: 'message-heart',\n icon: [512, 512, [], \"e5c9\", \"M208 416c0-26.5-21.5-48-48-48H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H448c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H309.3c-10.4 0-20.5 3.4-28.8 9.6L208 432V416zm-.2 76.2l.2-.2 101.3-76H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h48 48v48 4 .3 6.4V496c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L202.7 496l5.1-3.8zM144 173.3c0 16.2 6.5 31.8 17.9 43.3l82.7 82.7c6.2 6.2 16.4 6.2 22.6 0l82.7-82.7c11.5-11.5 17.9-27.1 17.9-43.3c0-33.8-27.4-61.3-61.3-61.3c-16.2 0-31.8 6.5-43.3 17.9l-7.4 7.4-7.4-7.4c-11.5-11.5-27.1-17.9-43.3-17.9c-33.8 0-61.3 27.4-61.3 61.3z\"]\n};\nvar faCloudMeatball = {\n prefix: 'far',\n iconName: 'cloud-meatball',\n icon: [512, 512, [], \"f73b\", \"M184 49.2c-38.7 0-72 33.3-72 76.8c0 2.8 .1 5.6 .4 8.4c1.2 11.9-6.5 22.8-18.1 25.7C68.5 166.5 48 191.5 48 222.6c0 35.5 26.4 62.6 57.2 64.1c.3 0 .7 0 1 .1H108h63.3c-18.3 9.2-31.6 27-34.6 48H108l-4 0c-1.2 0-2.4-.1-3.6-.3C43.3 330.4 0 280.9 0 222.6C0 177.4 25.9 137.7 64.1 120C67.1 54.9 118.6 1.2 184 1.2c34.2 0 64.8 14.8 86.4 38.2c14.7-8.3 31.6-13 49.6-13c47.9 0 87.2 33.2 99.7 77.4C472.9 113.5 512 162 512 218.4c0 63.2-49.1 116.4-112 116.4H375.3c-3-21-16.3-38.8-34.6-48H400c34.3 0 64-29.5 64-68.4s-29.7-68.4-64-68.4l0 0-.3 0c-12.4 0-22.8-9.4-23.9-21.7c-3-31.2-27.7-53.9-55.7-53.9c-14.4 0-27.6 5.8-37.7 15.6c-5.3 5.1-12.6 7.6-19.9 6.6s-13.7-5.2-17.5-11.6c-13-21.9-35.7-35.9-60.9-35.9zM288 320c0 1-.1 2.1-.1 3.1c.7-.8 1.3-1.6 2.1-2.3c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3c-.7 .7-1.5 1.4-2.3 2.1c1-.1 2.1-.1 3.1-.1c17.7 0 32 14.3 32 32s-14.3 32-32 32c-1 0-2.1-.1-3.1-.2c.8 .7 1.6 1.4 2.3 2.1c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0c-.7-.7-1.4-1.5-2.1-2.3c.1 1 .1 2.1 .1 3.1c0 17.7-14.3 32-32 32s-32-14.3-32-32c0-1 .1-2.1 .1-3.1c-.7 .8-1.3 1.6-2.1 2.3c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3c.7-.7 1.5-1.4 2.3-2.1c-1 .1-2.1 .2-3.1 .2c-17.7 0-32-14.3-32-32s14.3-32 32-32c1 0 2.1 0 3.1 .1c-.8-.7-1.6-1.3-2.3-2.1c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0c.7 .7 1.4 1.5 2.1 2.3c-.1-1-.1-2.1-.1-3.1c0-17.7 14.3-32 32-32s32 14.3 32 32zM48 368a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm416 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faCameraPolaroid = {\n prefix: 'far',\n iconName: 'camera-polaroid',\n icon: [576, 512, [], \"f8aa\", \"M512 432H64c-8.8 0-16-7.2-16-16V384H528v32c0 8.8-7.2 16-16 16zM68.4 336l32.9-49.3c7-10.5 10.7-22.9 10.7-35.5V96c0-8.8 7.2-16 16-16H448c8.8 0 16 7.2 16 16V251.2c0 12.6 3.7 25 10.7 35.5L507.6 336H68.4zM64 480H512c35.3 0 64-28.7 64-64V371.4c0-12.6-3.7-25-10.7-35.5L514.7 260c-1.8-2.6-2.7-5.7-2.7-8.9V96c0-35.3-28.7-64-64-64H128C92.7 32 64 60.7 64 96V251.2c0 3.2-.9 6.2-2.7 8.9L10.7 335.9C3.7 346.4 0 358.7 0 371.4V416c0 35.3 28.7 64 64 64zM408 112a24 24 0 1 0 0 48 24 24 0 1 0 0-48zM288 288a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm-32-80a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faCamera = {\n prefix: 'far',\n iconName: 'camera',\n icon: [512, 512, [62258, \"camera-alt\"], \"f030\", \"M199.1 32c-24.1 0-45.5 15.4-53.1 38.3l22.8 7.6-22.8-7.6L137.4 96H64C28.7 96 0 124.7 0 160V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H374.6l-8.6-25.7C358.4 47.4 337 32 312.9 32H199.1zm-7.6 53.5c1.1-3.3 4.1-5.5 7.6-5.5H312.9c3.4 0 6.5 2.2 7.6 5.5l14 42.1c3.3 9.8 12.4 16.4 22.8 16.4H448c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V160c0-8.8 7.2-16 16-16h90.7c10.3 0 19.5-6.6 22.8-16.4l14-42.1zM256 400a112 112 0 1 0 0-224 112 112 0 1 0 0 224zM192 288a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z\"]\n};\nvar faCameraAlt = faCamera;\nvar faSquareVirus = {\n prefix: 'far',\n iconName: 'square-virus',\n icon: [448, 512, [], \"e578\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm224 13.6c13.3 0 24 10.7 24 24c0 23.8 28.8 35.7 45.6 18.9c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9c-16.8 16.8-4.9 45.6 18.9 45.6c13.3 0 24 10.7 24 24s-10.7 24-24 24c-23.8 0-35.7 28.8-18.9 45.6c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0c-16.8-16.8-45.6-4.9-45.6 18.9c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-23.8-28.8-35.7-45.6-18.9c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9c16.8-16.8 4.9-45.6-18.9-45.6c-13.3 0-24-10.7-24-24s10.7-24 24-24c23.8 0 35.7-28.8 18.9-45.6c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0c16.8 16.8 45.6 4.9 45.6-18.9c0-13.3 10.7-24 24-24zM192 256a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm88 32a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faCartArrowUp = {\n prefix: 'far',\n iconName: 'cart-arrow-up',\n icon: [576, 512, [], \"e3ee\", \"M296 184V81.9l-23 23c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L303 7c9.4-9.4 24.6-9.4 33.9 0l64 64c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-23-23V184c0 13.3-10.7 24-24 24s-24-10.7-24-24zM0 24C0 10.7 10.7 0 24 0H69.5c26.9 0 50 19.1 55 45.5l37 194.5H459.2c10.9 0 20.4-7.3 23.2-17.8L528.8 49.8c3.4-12.8 16.6-20.4 29.4-16.9s20.4 16.6 16.9 29.4L528.7 234.7c-8.5 31.4-37 53.3-69.5 53.3H170.7l5.4 28.5c2.2 11.3 12.1 19.5 23.6 19.5H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H199.7c-34.6 0-64.3-24.6-70.7-58.5L77.4 54.5c-.7-3.8-4-6.5-7.9-6.5H24C10.7 48 0 37.3 0 24zM128 464a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm336-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faMeteor = {\n prefix: 'far',\n iconName: 'meteor',\n icon: [512, 512, [9732], \"f753\", \"M474.8 0c-5.2 0-10.3 1.1-15 3.2L324 62.9l1.4-18.2c2.5-34.2-36.2-55.5-63.7-35.1L82.7 142.5C30.6 181.2 0 242.7 0 307.5C0 419.8 91 512 203.6 512c65.7 0 127.4-31.8 165.7-85.3L495.6 249.8c19.7-27.6-1.8-65.7-35.6-63.1l-10.7 .8L508.8 52.2c2.1-4.7 3.2-9.8 3.2-15C512 16.7 495.3 0 474.8 0zm-168 122.9l147-64.7L389.2 204.9c-3.4 7.7-2.5 16.7 2.4 23.5s13 10.7 21.4 10.1l33.5-2.6-116.4 163C301 439.7 253.8 464 203.6 464C117.8 464 48 393.6 48 307.5c0-49.7 23.6-96.9 63.4-126.5L276.2 58.6l-3 40.6c-.6 8.4 3.2 16.5 10.1 21.4s15.8 5.8 23.5 2.4zM200 424a112 112 0 1 0 0-224 112 112 0 1 0 0 224zM176 264a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm24 96a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faCarOn = {\n prefix: 'far',\n iconName: 'car-on',\n icon: [512, 512, [], \"e4dd\", \"M280 24c0-13.3-10.7-24-24-24s-24 10.7-24 24v80c0 13.3 10.7 24 24 24s24-10.7 24-24V24zM185.8 208H326.2c10.1 0 19.2 6.4 22.6 15.9L365.9 272H146.1l17.2-48.1c3.4-9.6 12.5-15.9 22.6-15.9zM89.4 287.9c-.2 .5-.3 .9-.5 1.4C64.2 306.7 48 335.5 48 368v32 16 32 40c0 13.3 10.7 24 24 24s24-10.7 24-24V448H416v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448 416 400 368c0-32.5-16.2-61.3-40.9-78.7c-.1-.5-.3-.9-.5-1.4L394 207.8c-10.2-28.7-37.4-47.8-67.8-47.8H185.8c-30.4 0-57.6 19.1-67.8 47.8L89.4 287.9zM416 368v32H96V368c0-26.5 21.5-48 48-48H368c26.5 0 48 21.5 48 48zM160 384a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm216-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM39 39c-9.4 9.4-9.4 24.6 0 33.9l48 48c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L73 39c-9.4-9.4-24.6-9.4-33.9 0zm400 0L391 87c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l48-48c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0z\"]\n};\nvar faSleigh = {\n prefix: 'far',\n iconName: 'sleigh',\n icon: [640, 512, [], \"f7cc\", \"M24 32C10.7 32 0 42.7 0 56S10.7 80 24 80h8V256c0 62.5 44.8 114.5 104 125.8V432H56c-13.3 0-24 10.7-24 24s10.7 24 24 24H560c44.2 0 80-35.8 80-80V384c0-13.3-10.7-24-24-24s-24 10.7-24 24v16c0 17.7-14.3 32-32 32H440V383.8C507 379.6 560 324 560 256V144h24c13.3 0 24-10.7 24-24s-10.7-24-24-24H560 536 512 456c-22.1 0-40 17.9-40 40v45.7c0 23.3-18.9 42.3-42.3 42.3c-58.3 0-112.5-30-143.4-79.5l-18.9-30.2C182.5 67.9 133.7 38.1 80 32.8c-5.1-.5-10.2-.8-15.4-.8L64 32H63 32 24zM392 432H184V384H392v48zm40-96H392 184 160c-44.2 0-80-35.8-80-80V81.1c37.2 5 70.5 26.3 90.7 58.6L189.6 170c39.7 63.5 109.2 102 184.1 102c49.9 0 90.3-40.4 90.3-90.3V144h48V256c0 44.2-35.8 80-80 80z\"]\n};\nvar faArrowDown19 = {\n prefix: 'far',\n iconName: 'arrow-down-1-9',\n icon: [576, 512, [\"sort-numeric-asc\", \"sort-numeric-down\"], \"f162\", \"M456 56c0-7.7-3.7-15-10-19.5s-14.3-5.7-21.6-3.3l-48 16C363.8 53.4 357 67 361.2 79.6S379 99 391.6 94.8L408 89.3V128v48H384c-13.3 0-24 10.7-24 24s10.7 24 24 24h48 48c13.3 0 24-10.7 24-24s-10.7-24-24-24H456V128 56zM143 473c9.4 9.4 24.6 9.4 33.9 0l96-96c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-55 55V56c0-13.3-10.7-24-24-24s-24 10.7-24 24V398.1L81 343c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l96 96zm281-89a40 40 0 1 1 0-80 40 40 0 1 1 0 80zm-17.9 46.2l-8.7 10.6c-8.4 10.3-6.9 25.4 3.4 33.8s25.4 6.9 33.8-3.4l56.8-69.4C504.7 385.5 512 365.1 512 344c0-48.6-39.4-88-88-88s-88 39.4-88 88c0 42.5 30.1 77.9 70.1 86.2z\"]\n};\nvar faSortNumericAsc = faArrowDown19;\nvar faSortNumericDown = faArrowDown19;\nvar faBuoyMooring = {\n prefix: 'far',\n iconName: 'buoy-mooring',\n icon: [576, 512, [], \"e5b6\", \"M264 24c0-13.3 10.7-24 24-24s24 10.7 24 24V66.6c42.6 9.4 76.7 43.2 85.3 87.5l47.1 241.2c-.4 .3-.8 .6-1.2 .9c-13.3 9.2-28.9 15.9-43.8 18.8L383.9 336H192.1l-15.4 78.9c-14.9-2.9-30.5-9.6-43.8-18.8c-.4-.3-.8-.6-1.3-.9l47.1-241.2c8.6-44.3 42.8-78.1 85.3-87.5V24zm24 88c-30.3 0-56.4 21.5-62.2 51.3L201.4 288H374.6L350.2 163.3C344.4 133.5 318.3 112 288 112zM111.9 430.1c21.5 18.6 51.2 33.9 80 33.9s58.5-15.3 80-33.9c9.1-8.1 22.8-8.1 31.9 0c21.6 18.6 51.2 33.9 80 33.9s58.5-15.3 80-33.9c9.1-8.1 22.8-8.1 31.9 0c16.9 15.1 39.3 26.8 61.3 31.8c12.9 2.9 21.1 15.7 18.2 28.7s-15.7 21.1-28.7 18.2c-28.7-6.4-52.3-20.5-66.7-30.4c-28.1 19.5-61.4 33.8-96 33.8s-67.9-14.3-96-33.8c-28.1 19.5-61.4 33.8-96 33.8s-67.9-14.3-96-33.8c-14.4 10-38 24-66.7 30.4c-12.9 2.9-25.8-5.2-28.7-18.2s5.2-25.8 18.2-28.7c22.2-5 44-16.8 61.2-31.7c9.1-8.1 22.8-8.1 31.9 0z\"]\n};\nvar faSquare4 = {\n prefix: 'far',\n iconName: 'square-4',\n icon: [448, 512, [], \"e259\", \"M384 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm127.6 97.2c-12.6-4.2-26.2 2.6-30.4 15.2l-48 144c-2.4 7.3-1.2 15.4 3.3 21.6s11.8 10 19.5 10H240v40c0 13.3 10.7 24 24 24s24-10.7 24-24V320h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v56H169.3l37.5-112.4c4.2-12.6-2.6-26.2-15.2-30.4z\"]\n};\nvar faHandHoldingDroplet = {\n prefix: 'far',\n iconName: 'hand-holding-droplet',\n icon: [576, 512, [\"hand-holding-water\"], \"f4c1\", \"M275.5 6.6C278.3 2.5 283 0 288 0s9.7 2.5 12.5 6.6L366.8 103C378 119.3 384 138.6 384 158.3V160c0 53-43 96-96 96s-96-43-96-96v-1.7c0-19.8 6-39 17.2-55.3L275.5 6.6zM187.4 352c-7.9 0-15.6 2.3-22.2 6.7L85.3 412c-3.9 2.6-8.6 4-13.3 4H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H64.7l73.8-49.2C153 309.1 170 304 187.4 304H344c35.3 0 64 28.7 64 64c0 .7 0 1.3 0 2l64.9-40c10.7-6.6 22.9-10 35.5-10h7.4c33.3 0 60.3 27 60.3 60.3c0 20.4-10.4 39.5-27.5 50.6l-95.6 61.9c-19.4 12.6-42.1 19.3-65.2 19.3H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H387.7c13.9 0 27.5-4 39.1-11.6l95.6-61.9c3.5-2.3 5.6-6.1 5.6-10.3c0-6.8-5.5-12.3-12.3-12.3h-7.4c-3.6 0-7.2 1-10.3 2.9l-93.5 57.5c-3.8 2.3-8.1 3.6-12.6 3.6H344 320 256c-13.3 0-24-10.7-24-24s10.7-24 24-24h64 24c8.8 0 16-7.2 16-16s-7.2-16-16-16H187.4z\"]\n};\nvar faHandHoldingWater = faHandHoldingDroplet;\nvar faFileEps = {\n prefix: 'far',\n iconName: 'file-eps',\n icon: [512, 512, [], \"e644\", \"M64 464H96v48H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3V288H336V160H256c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16zm96-96c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H192v32h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H192v32h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V432 368zm144-16h32c30.9 0 56 25.1 56 56s-25.1 56-56 56H320v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V448 368c0-8.8 7.2-16 16-16zm32 80c13.3 0 24-10.7 24-24s-10.7-24-24-24H320v48h16zm117.7-80H480c8.8 0 16 7.2 16 16s-7.2 16-16 16H453.7c-7.5 0-13.7 6.1-13.7 13.7c0 5.2 2.9 9.9 7.6 12.2l31.2 15.6c15.5 7.7 25.2 23.5 25.2 40.8c0 25.2-20.4 45.7-45.7 45.7H424c-8.8 0-16-7.2-16-16s7.2-16 16-16h34.3c7.5 0 13.7-6.1 13.7-13.7c0-5.2-2.9-9.9-7.6-12.2l-31.2-15.6C417.8 430.8 408 415 408 397.7c0-25.2 20.4-45.7 45.7-45.7z\"]\n};\nvar faTricycleAdult = {\n prefix: 'far',\n iconName: 'tricycle-adult',\n icon: [640, 512, [], \"e5c4\", \"M288 88c0-13.3 10.7-24 24-24h38.9c18.7 0 36.2 9.4 46.6 24.9L512.4 261.3c9.9-3.4 20.5-5.3 31.6-5.3c53 0 96 43 96 96s-43 96-96 96s-96-43-96-96c0-24.6 9.3-47 24.5-64l-13.4-20.1-39.8 53.1c-14.7 19.5-37.7 31.1-62.1 31.1c-5 0-10-.5-14.9-1.4l-55.1-10.7c.5 4 .8 8.1 .8 12.2c0 53-43 96-96 96c-17.5 0-33.9-4.7-48-12.8c.6-.4 1.3-.8 1.9-1.1c-14.5 8.9-31.6 14-49.9 14c-53 0-96-43-96-96c0-24.4 9.1-46.6 24-63.5l-4.6-.9c-13-2.5-21.5-15.1-19-28.2s15.1-21.5 28.2-19l322.9 63c1.9 .4 3.8 .5 5.7 .5c9.3 0 18.1-4.4 23.7-11.9l50-66.6-73.3-110c-1.5-2.2-4-3.6-6.7-3.6H312c-13.3 0-24-10.7-24-24zM186.6 320.2c3.5 10 5.4 20.7 5.4 31.8c0 16.9-4.3 32.7-12 46.5c3.8 1 7.8 1.5 12 1.5c26.5 0 48-21.5 48-48c0-8.1-2-15.8-5.6-22.5l-47.8-9.3zM48.7 97.1c12.6-4 26.1 2.9 30.2 15.5l15.3 47.9c2.7 8.3 9.7 14.6 18.3 16.2l84.1 16.4c13 2.5 21.5 15.1 19 28.2s-15.1 21.5-28.2 19l-84.1-16.4c-25.8-5-46.8-23.7-54.8-48.7L33.1 127.3c-4-12.6 2.9-26.1 15.5-30.2zM144 352a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm448 0a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nvar faWaveform = {\n prefix: 'far',\n iconName: 'waveform',\n icon: [640, 512, [], \"f8f1\", \"M320 0c12 0 22.1 8.8 23.8 20.7l42 304.4L424.3 84.2c1.9-11.7 12-20.3 23.9-20.2s21.9 8.9 23.6 20.6l28.2 197.3 20.5-102.6c2.2-10.8 11.3-18.7 22.3-19.3s20.9 6.4 24.2 16.9L593.7 264H616c13.3 0 24 10.7 24 24s-10.7 24-24 24H576c-10.5 0-19.8-6.9-22.9-16.9l-4.1-13.4-29.4 147c-2.3 11.5-12.5 19.6-24.2 19.3s-21.4-9-23.1-20.6L446.7 248.3l-39 243.5c-1.9 11.7-12.1 20.3-24 20.2s-21.9-8.9-23.5-20.7L320 199.6 279.8 491.3c-1.6 11.8-11.6 20.6-23.5 20.7s-22.1-8.5-24-20.2l-39-243.5L167.8 427.4c-1.7 11.6-11.4 20.3-23.1 20.6s-21.9-7.8-24.2-19.3l-29.4-147-4.1 13.4C83.8 305.1 74.5 312 64 312H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H46.3l26.8-87.1c3.2-10.5 13.2-17.5 24.2-16.9s20.2 8.5 22.3 19.3l20.5 102.6L168.2 84.6c1.7-11.7 11.7-20.5 23.6-20.6s22 8.5 23.9 20.2l38.5 240.9 42-304.4C297.9 8.8 308 0 320 0z\"]\n};\nvar faWater = {\n prefix: 'far',\n iconName: 'water',\n icon: [576, 512, [], \"f773\", \"M80 78.1c9.1-8.1 22.8-8.1 31.9 0c21.5 18.6 51.2 33.9 80 33.9s58.5-15.3 80-33.9c9.1-8.1 22.8-8.1 31.9 0c21.6 18.6 51.2 33.9 80 33.9s58.5-15.3 80-33.9c9.1-8.1 22.8-8.1 31.9 0c16.9 15.1 39.3 26.8 61.3 31.8c12.9 2.9 21.1 15.7 18.2 28.7s-15.7 21.1-28.7 18.2c-28.7-6.4-52.3-20.5-66.7-30.4c-28.1 19.5-61.4 33.8-96 33.8s-67.9-14.3-96-33.8c-28.1 19.5-61.4 33.8-96 33.8s-67.9-14.3-96-33.8c-14.4 10-38 24-66.7 30.4c-12.9 2.9-25.8-5.2-28.7-18.2s5.2-25.8 18.2-28.7C41 104.8 62.8 93 80 78.1zm0 288c9.1-8.1 22.8-8.1 31.9 0c21.5 18.6 51.2 33.9 80 33.9s58.5-15.3 80-33.9c9.1-8.1 22.8-8.1 31.9 0c21.6 18.6 51.2 33.9 80 33.9s58.5-15.3 80-33.9c9.1-8.1 22.8-8.1 31.9 0c16.9 15.1 39.3 26.8 61.3 31.8c12.9 2.9 21.1 15.7 18.2 28.7s-15.7 21.1-28.7 18.2c-28.7-6.4-52.3-20.5-66.7-30.4c-28.1 19.5-61.4 33.8-96 33.8s-67.9-14.3-96-33.8c-28.1 19.5-61.4 33.8-96 33.8s-67.9-14.3-96-33.8c-14.4 10-38 24-66.7 30.4c-12.9 2.9-25.8-5.2-28.7-18.2s5.2-25.8 18.2-28.7c22.2-5 44-16.8 61.2-31.7zm31.9-144c21.5 18.6 51.2 33.9 80 33.9s58.5-15.3 80-33.9c9.1-8.1 22.8-8.1 31.9 0c21.6 18.6 51.2 33.9 80 33.9s58.5-15.3 80-33.9c9.1-8.1 22.8-8.1 31.9 0c16.9 15.1 39.3 26.8 61.3 31.8c12.9 2.9 21.1 15.7 18.2 28.7s-15.7 21.1-28.7 18.2c-28.7-6.4-52.3-20.5-66.7-30.4c-28.1 19.5-61.4 33.8-96 33.8s-67.9-14.3-96-33.8c-28.1 19.5-61.4 33.8-96 33.8s-67.9-14.3-96-33.8c-14.4 10-38 24-66.7 30.4c-12.9 2.9-25.8-5.2-28.7-18.2s5.2-25.8 18.2-28.7c22.2-5 44-16.8 61.2-31.7c9.1-8.1 22.8-8.1 31.9 0z\"]\n};\nvar faStarSharpHalfStroke = {\n prefix: 'far',\n iconName: 'star-sharp-half-stroke',\n icon: [576, 512, [\"star-sharp-half-alt\"], \"e28d\", \"M310.9 16.7C307.7 6.8 298.5 0 288 0s-19.7 6.8-22.9 16.7L214.5 176H56c-10.3 0-19.4 6.5-22.7 16.2s-.1 20.4 8 26.7L172.1 320.7 121.1 480.7c-3.2 10 .5 21 9.1 27s20.2 5.7 28.5-.7L288 406.4 417.3 506.9c8.3 6.5 19.8 6.8 28.5 .7s12.3-16.9 9.1-27L403.9 320.7 534.7 218.9c8.1-6.3 11.3-17 8-26.7s-12.4-16.2-22.7-16.2H361.6L310.9 16.7zM288 103.2l0 0 33.1 104.1c3.2 10 12.4 16.7 22.9 16.7H450.1l-88.8 69.1c-7.9 6.2-11.2 16.6-8.1 26.2l32.5 102.3-82.9-64.5c-4.3-3.4-9.5-5.1-14.7-5.1V103.2z\"]\n};\nvar faStarSharpHalfAlt = faStarSharpHalfStroke;\nvar faNfcSignal = {\n prefix: 'far',\n iconName: 'nfc-signal',\n icon: [512, 512, [], \"e1fb\", \"M384 80H64c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H230c-3.4 15.5-5.3 31.6-5.8 48H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V227c-16.6 2.5-32.6 6.6-48 12V96c0-8.8-7.2-16-16-16zm-16 72V252.8c-17.2 8.8-33.3 19.4-48 31.6V160H248v54.4c14.3 8.3 24 23.8 24 41.6c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-17.8 9.7-33.3 24-41.6V152c0-22.1 17.9-40 40-40h88c22.1 0 40 17.9 40 40zM239 400H120c-22.1 0-40-17.9-40-40V152c0-22.1 17.9-40 40-40h16c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8V352H261.7c-9.1 15.1-16.7 31.1-22.7 48zM488 256c13.3 0 24 10.7 24 24s-10.7 24-24 24c-101.6 0-184 82.4-184 184c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-128.1 103.9-232 232-232zm-8 192a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm32-72c0 13.3-10.7 24-24 24c-48.6 0-88 39.4-88 88c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-75.1 60.9-136 136-136c13.3 0 24 10.7 24 24z\"]\n};\nvar faPlaneProp = {\n prefix: 'far',\n iconName: 'plane-prop',\n icon: [576, 512, [], \"e22b\", \"M267.3 176h49.5L299.1 48H284.9L267.3 176zM344.7 27.6l5 36.4c.7-.1 1.5-.1 2.2-.1h16V48c0-8.8 7.2-16 16-16s16 7.2 16 16V80c8.8 0 16 7.2 16 16s-7.2 16-16 16v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V128h-9.4l6.6 48h93.1c21 0 48.1 6.2 70.4 17.4C549.4 203.8 576 223.9 576 256c0 32.5-26.4 52.6-47.4 63c-22.5 11.1-49.5 17-70.3 17H365.2l-6.6 48H368V368c0-8.8 7.2-16 16-16s16 7.2 16 16v32c8.8 0 16 7.2 16 16s-7.2 16-16 16v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V448H352c-.8 0-1.5 0-2.2-.1l-5 36.4C342.5 500.2 329 512 313 512H271c-16 0-29.5-11.8-31.7-27.6l-5-36.4H224c-17.7 0-32-14.3-32-32s14.3-32 32-32h1.4l-7.2-52.4-75.7-9.1-5.8 34.3C134.3 372.4 120.8 384 105 384H71c-15.9 0-29.4-11.7-31.7-27.4L28.7 287.8C12.6 286.2 0 272.5 0 256s12.6-30.2 28.7-31.8l10.7-68.7C41.6 139.7 55.1 128 71 128h34c15.8 0 29.3 11.6 31.6 27.2l5.8 34.3 75.7-9.1 7.2-52.4H224c-17.7 0-32-14.3-32-32s14.3-32 32-32h10.3l5-36.4C241.5 11.8 255 0 271 0H313c16 0 29.5 11.8 31.7 27.6zM267.3 336l17.7 128h14.2l17.7-128H267.3zm191.1-48c13.4 0 33.1-4.1 49-12c17.4-8.6 20.7-16.5 20.7-20c0-2.9-3.2-10.8-20.8-19.7c-15.9-8-35.7-12.3-48.9-12.3H257.4L125.5 239.8c-12.7 1.5-24.4-7.2-26.5-19.8l-7.5-44H84.7L72.3 256l12.4 80h6.8L99 292c2.2-12.6 13.8-21.3 26.5-19.8L257.4 288H458.3z\"]\n};\nvar faCalendarCheck = {\n prefix: 'far',\n iconName: 'calendar-check',\n icon: [448, 512, [], \"f274\", \"M128 0c13.3 0 24 10.7 24 24V64H296V24c0-13.3 10.7-24 24-24s24 10.7 24 24V64h40c35.3 0 64 28.7 64 64v16 48V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192 144 128C0 92.7 28.7 64 64 64h40V24c0-13.3 10.7-24 24-24zM400 192H48V448c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V192zM329 297L217 409c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47 95-95c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\"]\n};\nvar faClockDesk = {\n prefix: 'far',\n iconName: 'clock-desk',\n icon: [448, 512, [], \"e134\", \"M400 224A176 176 0 1 0 48 224a176 176 0 1 0 352 0zM224 0C347.7 0 448 100.3 448 224V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V224C0 100.3 100.3 0 224 0zm0 96c13.3 0 24 10.7 24 24v94.1l41 41c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-48-48c-4.5-4.5-7-10.6-7-17V120c0-13.3 10.7-24 24-24z\"]\n};\nvar faCalendarClock = {\n prefix: 'far',\n iconName: 'calendar-clock',\n icon: [576, 512, [\"calendar-time\"], \"e0d2\", \"M128 0c13.3 0 24 10.7 24 24V64H296V24c0-13.3 10.7-24 24-24s24 10.7 24 24V64h40c35.3 0 64 28.7 64 64v16 48H432 400 288 48V448c0 8.8 7.2 16 16 16H284.5c12.3 18.8 28 35.1 46.3 48H64c-35.3 0-64-28.7-64-64V192 144 128C0 92.7 28.7 64 64 64h40V24c0-13.3 10.7-24 24-24zM288 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-80c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H448V304c0-8.8-7.2-16-16-16z\"]\n};\nvar faCalendarTime = faCalendarClock;\nvar faBraille = {\n prefix: 'far',\n iconName: 'braille',\n icon: [640, 512, [], \"f2a1\", \"M0 96a64 64 0 1 1 128 0A64 64 0 1 1 0 96zM224 280a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-88a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM88 416a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM0 416a64 64 0 1 1 128 0A64 64 0 1 1 0 416zm248 0a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-88 0a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM64 192a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM224 32a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM352 96a64 64 0 1 1 128 0A64 64 0 1 1 352 96zm248 0a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-88 0a64 64 0 1 1 128 0A64 64 0 1 1 512 96zm64 184a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-88a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm24 224a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-88 0a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM416 280a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-88a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm24 224a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-88 0a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z\"]\n};\nvar faPrescriptionBottleMedical = {\n prefix: 'far',\n iconName: 'prescription-bottle-medical',\n icon: [384, 512, [\"prescription-bottle-alt\"], \"f486\", \"M48 48H336V80H48V48zM32 0C14.3 0 0 14.3 0 32V96c0 17.7 14.3 32 32 32H352c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H32zm0 160V448c0 35.3 28.7 64 64 64H288c35.3 0 64-28.7 64-64V160H304V448c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V160H32zm133.3 80v37.3H128c-8.8 0-16 7.2-16 16v21.3c0 8.8 7.2 16 16 16h37.3V368c0 8.8 7.2 16 16 16h21.3c8.8 0 16-7.2 16-16V330.7H256c8.8 0 16-7.2 16-16V293.3c0-8.8-7.2-16-16-16l-37.3 0V240c0-8.8-7.2-16-16-16H181.3c-8.8 0-16 7.2-16 16z\"]\n};\nvar faPrescriptionBottleAlt = faPrescriptionBottleMedical;\nvar faPlateUtensils = {\n prefix: 'far',\n iconName: 'plate-utensils',\n icon: [640, 512, [58713], \"e43b\", \"M24 16c13.3 0 24 10.7 24 24V168c0 4.4 3.6 8 8 8h8V40c0-13.3 10.7-24 24-24s24 10.7 24 24V176h8c4.4 0 8-3.6 8-8V40c0-13.3 10.7-24 24-24s24 10.7 24 24V168c0 30.9-25.1 56-56 56h-8V472c0 13.3-10.7 24-24 24s-24-10.7-24-24V224H56c-30.9 0-56-25.1-56-56V40C0 26.7 10.7 16 24 16zM560 160V272h32V216 85.2c-16.6 15.3-32 39.1-32 74.8zm32 160H544c-17.7 0-32-14.3-32-32V160C512 59.2 596.2 23.2 613.1 17c2-.7 4-1 6.1-1c11.5 0 20.9 9.3 20.9 20.9V216v56 48V472c0 13.3-10.7 24-24 24s-24-10.7-24-24V320zM336 480c-81.5 0-152.8-43.5-192-108.6V252.7c5.7-1.6 11.1-3.8 16.3-6.4c-.2 3.2-.3 6.5-.3 9.7c0 97.2 78.8 176 176 176c70.8 0 131.8-41.8 159.7-102c10.6 12.2 25.8 20.3 42.8 21.8C502.6 427.6 425.4 480 336 480zM208 72.2C244.3 46.8 288.4 32 336 32c60.3 0 115 23.8 155.3 62.5c-6.5 17.5-10.6 37.5-11.2 60.3C448.2 109.6 395.6 80 336 80c-50.4 0-95.9 21.2-128 55.2V72.2zM416 256a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zm-208 0a128 128 0 1 1 256 0 128 128 0 1 1 -256 0z\"]\n};\nvar faFamilyPants = {\n prefix: 'far',\n iconName: 'family-pants',\n icon: [512, 512, [], \"e302\", \"M64 64a64 64 0 1 1 128 0A64 64 0 1 1 64 64zm41.6 144c-16.6 0-30.5 12.8-31.9 29.3l-4.1 49.3C68.8 296 76.2 304 85.6 304H88h60.6c-3 10.1-4.6 20.9-4.6 32v16H112V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V348.3c-26.5-9.5-44.7-35.8-42.2-65.6l4.1-49.3C29.3 191.9 64 160 105.6 160h44.8c9.2 0 18.1 1.6 26.4 4.5c-.5 3.8-.8 7.6-.8 11.5c0 11.4 2.4 22.2 6.7 32H150.4 128 105.6zM336 176c0-3.9-.3-7.8-.8-11.5c8.3-2.9 17.2-4.5 26.4-4.5h44.8c41.6 0 76.3 31.9 79.7 73.4l4.1 49.3c2.5 29.8-15.7 56.1-42.2 65.6V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V352H368V336c0-11.1-1.6-21.9-4.6-32H424h2.4c9.4 0 16.7-8 15.9-17.3l-4.1-49.3C436.9 220.8 423 208 406.4 208H384 361.6 329.3c4.3-9.8 6.7-20.6 6.7-32zM320 64a64 64 0 1 1 128 0A64 64 0 1 1 320 64zm-64 64a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm32 208c0-17.7-14.3-32-32-32s-32 14.3-32 32v16c0 8.8 7.2 16 16 16h16 16c8.8 0 16-7.2 16-16V336zm48 16c0 24-13.2 44.9-32.7 55.8c.5 2.7 .7 5.4 .7 8.2v64c0 17.7-14.3 32-32 32H240c-17.7 0-32-14.3-32-32V416c0-2.8 .2-5.5 .7-8.2C189.2 396.9 176 376 176 352V336c0-44.2 35.8-80 80-80s80 35.8 80 80v16z\"]\n};\nvar faHoseReel = {\n prefix: 'far',\n iconName: 'hose-reel',\n icon: [640, 512, [], \"e41a\", \"M320 48c-114.9 0-208 93.1-208 208s93.1 208 208 208c45.6 0 87.7-14.6 122-39.5c10.7-7.8 25.7-5.4 33.5 5.3s5.4 25.7-5.3 33.5C428 494 376.1 512 320 512C178.6 512 64 397.4 64 256S178.6 0 320 0S576 114.6 576 256v96h16c13.3 0 24 10.7 24 24s-10.7 24-24 24h-2.3l-11.5 80.2c7.8 1.1 13.7 7.8 13.7 15.8c0 8.8-7.2 16-16 16H528c-8.8 0-16-7.2-16-16c0-8.1 6-14.7 13.7-15.8L514.3 400H512c-13.3 0-24-10.7-24-24s10.7-24 24-24h16V256c0-114.9-93.1-208-208-208zM208 256a112 112 0 1 0 224 0 112 112 0 1 0 -224 0zM320 416a160 160 0 1 1 0-320 160 160 0 1 1 0 320zM256 256a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z\"]\n};\nvar faHouseWindow = {\n prefix: 'far',\n iconName: 'house-window',\n icon: [576, 512, [], \"e3b3\", \"M272.5 5.7c9-7.6 22.1-7.6 31.1 0l264 224c10.1 8.6 11.4 23.7 2.8 33.8s-23.7 11.3-33.8 2.8L512 245.5V432c0 44.2-35.8 80-80 80H144c-44.2 0-80-35.8-80-80V245.5L39.5 266.3c-10.1 8.6-25.3 7.3-33.8-2.8s-7.3-25.3 2.8-33.8l264-224zM288 55.5L112 204.8V432c0 17.7 14.3 32 32 32H432c17.7 0 32-14.3 32-32V204.8L288 55.5zM256 288h64V224H256v64zm-48-72c0-22.1 17.9-40 40-40h80c22.1 0 40 17.9 40 40v80c0 22.1-17.9 40-40 40H248c-22.1 0-40-17.9-40-40V216z\"]\n};\nvar faLandmark = {\n prefix: 'far',\n iconName: 'landmark',\n icon: [512, 512, [127963], \"f66f\", \"M267.6 3c-7.2-4-16-4-23.2 0L17.6 128.1C6.7 134.1 0 145.5 0 157.9C0 176.8 15.2 192 34.1 192H477.9c18.8 0 34.1-15.2 34.1-34.1c0-12.4-6.7-23.8-17.6-29.8L267.6 3zM256 51.4L423.8 144H88.2L256 51.4zM112 224H64V384H56c-13.3 0-24 10.7-24 24s10.7 24 24 24H456c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V224H400V384H336V224H288V384H224V224H176V384H112V224zM0 488c0 13.3 10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H24c-13.3 0-24 10.7-24 24z\"]\n};\nvar faTruck = {\n prefix: 'far',\n iconName: 'truck',\n icon: [640, 512, [128666, 9951], \"f0d1\", \"M352 48c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H320 243.2c-16.6-28.7-47.6-48-83.2-48s-66.6 19.3-83.2 48H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H352zm32 368c0 53 43 96 96 96s96-43 96-96h40c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V245.3c0-14.9-5.9-29.1-16.4-39.6l-93.3-93.3C487.8 101.9 473.6 96 458.7 96H416V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64c0 53 43 96 96 96s96-43 96-96h64 32 24 8zM557.7 239.6c.1 .1 .3 .3 .4 .4H416V144h42.7c2.1 0 4.2 .8 5.7 2.3l93.3 93.3zM112 416a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm368-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faMusicMagnifyingGlass = {\n prefix: 'far',\n iconName: 'music-magnifying-glass',\n icon: [640, 512, [], \"e662\", \"M352 367.2c80.9-8 144-76.2 144-159.2c0-88.4-71.6-160-160-160c-72.7 0-134 48.5-153.5 114.8l-52.6 17.5C143.3 78.6 230.5 0 336 0C450.9 0 544 93.1 544 208c0 48.8-16.8 93.7-44.9 129.1L633 471c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L465.1 371.1c-32 25.4-71.6 41.5-114.9 44.4c1.1-4.9 1.8-10.1 1.8-15.5c0-1.4 0-2.8-.1-4.2c.1-1.3 .1-2.5 .1-3.8V367.2zM320 184c0-7.7-3.7-15-10-19.5s-14.3-5.7-21.6-3.3l-192 64C86.6 228.5 80 237.7 80 248v48V417.5c-5.1-1-10.5-1.5-16-1.5c-35.3 0-64 21.5-64 48s28.7 48 64 48s64-21.5 64-48V313.3l144-48v88.2c-5.1-1-10.5-1.5-16-1.5c-35.3 0-64 21.5-64 48s28.7 48 64 48s64-21.5 64-48c0-1.5-.1-3-.3-4.4c.2-1.2 .3-2.4 .3-3.6V232 184z\"]\n};\nvar faCrosshairs = {\n prefix: 'far',\n iconName: 'crosshairs',\n icon: [512, 512, [], \"f05b\", \"M256 0c13.3 0 24 10.7 24 24V41.3C380.1 52.4 459.6 131.9 470.7 232H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H470.7C459.6 380.1 380.1 459.6 280 470.7V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V470.7C131.9 459.6 52.4 380.1 41.3 280H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H41.3C52.4 131.9 131.9 52.4 232 41.3V24c0-13.3 10.7-24 24-24zM89.7 280c10.5 73.6 68.7 131.8 142.3 142.3V392c0-13.3 10.7-24 24-24s24 10.7 24 24v30.3c73.6-10.5 131.8-68.7 142.3-142.3H392c-13.3 0-24-10.7-24-24s10.7-24 24-24h30.3C411.8 158.4 353.6 100.2 280 89.7V120c0 13.3-10.7 24-24 24s-24-10.7-24-24V89.7C158.4 100.2 100.2 158.4 89.7 232H120c13.3 0 24 10.7 24 24s-10.7 24-24 24H89.7zM256 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faCloudRainbow = {\n prefix: 'far',\n iconName: 'cloud-rainbow',\n icon: [576, 512, [], \"f73e\", \"M291.5 195.2C344.7 107 441.5 48 552 48c13.3 0 24-10.7 24-24s-10.7-24-24-24C420.9 0 306.5 71.7 245.9 178.1c10.8 6 20.8 13.4 29.6 21.9c5.2-1.9 10.5-3.5 16-4.8zM394.6 216c38.1-44.1 94.5-72 157.4-72c13.3 0 24-10.7 24-24s-10.7-24-24-24c-82.4 0-155.7 38.9-202.5 99.4c16.5 3.9 31.8 11 45.2 20.6zm42.9 53.3c9.8 2.8 19.2 6.7 28 11.6C486.1 255.9 517.2 240 552 240c13.3 0 24-10.7 24-24s-10.7-24-24-24c-50.1 0-94.8 23-124.1 59.1c3.7 5.8 6.9 11.8 9.7 18.2zM112 312c0-39.8 32.2-72 72-72c25.8 0 48.5 13.6 61.2 34c3.8 6.1 10.1 10.2 17.2 11.1s14.3-1.3 19.5-6.2c10-9.3 23.4-15 38.1-15c29 0 52.9 22.1 55.7 50.4c1.2 12.3 11.6 21.7 23.9 21.6l.3 0h0c35.3 0 64 28.7 64 64s-28.7 64-64 64H108h-1.9c-.3 0-.7-.1-1-.1C73.3 462.4 48 436.2 48 404c0-28.3 19.6-52.1 46.1-58.4c11.8-2.8 19.6-13.9 18.3-25.9c-.3-2.5-.4-5.1-.4-7.7zm72-120c-64 0-116.3 50.1-119.8 113.3C26.4 322.1 0 359.9 0 404c0 57.1 44.3 103.9 100.5 107.7c1.2 .2 2.3 .3 3.5 .3h4H400c61.9 0 112-50.1 112-112c0-55.2-39.9-101.1-92.5-110.3C406.5 247 366.9 216 320 216c-18 0-34.9 4.6-49.7 12.6C248.5 206.1 217.9 192 184 192z\"]\n};\nvar faPersonCane = {\n prefix: 'far',\n iconName: 'person-cane',\n icon: [448, 512, [], \"e53c\", \"M176 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM128 209.5L76.9 299.8c-6.5 11.5-21.2 15.6-32.7 9.1s-15.6-21.2-9.1-32.7L93.7 172.7c15.6-27.6 44.9-44.7 76.6-44.7h35c26 0 50.6 11.5 67.3 31.4l81.7 97.2c8.5 10.1 7.2 25.3-2.9 33.8s-25.3 7.2-33.8-2.9L256 214.2V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V352H176V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V209.5zm80-33.4c-.9-.1-1.8-.1-2.7-.1H176V304h32V176.1zM352 376v8c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8c0-30.9 25.1-56 56-56s56 25.1 56 56V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V376c0-4.4-3.6-8-8-8s-8 3.6-8 8z\"]\n};\nvar faAlien = {\n prefix: 'far',\n iconName: 'alien',\n icon: [448, 512, [128125], \"f8f5\", \"M194.7 503.2c8.6 5.9 18.9 8.8 29.3 8.8s20.7-2.9 29.3-8.8C299.2 471.7 448 359.3 448 224C448 100.3 347.7 0 224 0S0 100.3 0 224C0 359.3 148.8 471.7 194.7 503.2zM224 48c97.2 0 176 78.8 176 176c0 50.4-28.2 101.3-68.2 146.9c-39.2 44.7-84.2 78.1-105.6 92.7l0 0 0 0-.1 0c0 0-.1 0-.1 0s-.1 0-.1 0l-.1 0c-.3 .1-.9 .2-1.8 .2s-1.4-.1-1.8-.2c-.1 0-.2-.1-.2-.1l-.1 0-.1 0 0 0 0 0c-21.4-14.6-66.4-48-105.6-92.7C76.2 325.3 48 274.4 48 224c0-97.2 78.8-176 176-176zm16 258.3c0 7.6 6.1 13.7 13.7 13.7h32c45.4 0 82.3-36.8 82.3-82.3c0-7.6-6.1-13.7-13.7-13.7h-32c-45.4 0-82.3 36.8-82.3 82.3zM125.7 224h-32c-7.6 0-13.7 6.1-13.7 13.7c0 45.4 36.8 82.3 82.3 82.3h32c7.6 0 13.7-6.1 13.7-13.7c0-45.4-36.8-82.3-82.3-82.3z\"]\n};\nvar faTent = {\n prefix: 'far',\n iconName: 'tent',\n icon: [576, 512, [], \"e57d\", \"M274.4 4.2c8.2-5.7 19-5.7 27.3 0L521.5 155.9c13.5 9.3 22.2 24 23.9 40.2l26.7 254c3.5 33.1-22.4 61.9-55.7 61.9H440 264 59.5C26.3 512 .4 483.2 3.9 450.1l26.7-254c1.7-16.3 10.4-31 23.9-40.2L274.4 4.2zM516.5 464c4.7 0 8.5-4.1 8-8.8l-26.7-254c-.2-2.3-1.5-4.4-3.4-5.7L312 69.7V279.3L413.6 464H516.5zM264 69.7L81.7 195.4c-1.9 1.3-3.2 3.4-3.4 5.7l-26.7 254c-.5 4.7 3.2 8.8 8 8.8H264l0-136 0-136 0-122.3z\"]\n};\nvar faLaptopBinary = {\n prefix: 'far',\n iconName: 'laptop-binary',\n icon: [640, 512, [], \"e5e7\", \"M128 80H512c8.8 0 16 7.2 16 16V320h48V96c0-35.3-28.7-64-64-64H128C92.7 32 64 60.7 64 96V320h48V96c0-8.8 7.2-16 16-16zM50.7 400H589.3c-6.6 18.6-24.4 32-45.3 32H96c-20.9 0-38.7-13.4-45.3-32zM32 352c-17.7 0-32 14.3-32 32c0 53 43 96 96 96H544c53 0 96-43 96-96c0-17.7-14.3-32-32-32H32zM200 128c-22.1 0-40 17.9-40 40v32c0 22.1 17.9 40 40 40h16c22.1 0 40-17.9 40-40V168c0-22.1-17.9-40-40-40H200zm-8 40c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v32c0 4.4-3.6 8-8 8H200c-4.4 0-8-3.6-8-8V168zm112-40c-8.8 0-16 7.2-16 16s7.2 16 16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V144c0-8.8-7.2-16-16-16H304zm80 40v32c0 22.1 17.9 40 40 40h16c22.1 0 40-17.9 40-40V168c0-22.1-17.9-40-40-40H424c-22.1 0-40 17.9-40 40zm40-8h16c4.4 0 8 3.6 8 8v32c0 4.4-3.6 8-8 8H424c-4.4 0-8-3.6-8-8V168c0-4.4 3.6-8 8-8zM192 272c-8.8 0-16 7.2-16 16s7.2 16 16 16v16h32V288c0-8.8-7.2-16-16-16H192zm240 0H416c-8.8 0-16 7.2-16 16s7.2 16 16 16v16h32V288c0-8.8-7.2-16-16-16zm-64 40c0-22.1-17.9-40-40-40H312c-22.1 0-40 17.9-40 40v8h32v-8c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v8h32v-8z\"]\n};\nvar faVestPatches = {\n prefix: 'far',\n iconName: 'vest-patches',\n icon: [448, 512, [], \"e086\", \"M178.5 81.5l28.8 95-25.1 82.8-64-211.2c-.3 0-.6-.1-.9-.1H104c-4.4 0-8 3.6-8 8v72 58.7c0 13-3.5 25.9-10.3 37L51.4 280.9c-2.2 3.7-3.4 8-3.4 12.3V456c0 4.4 3.6 8 8 8H176.4c1.6 17.6 8.4 33.8 18.8 46.9c-3.6 .7-7.4 1.1-11.2 1.1H56c-30.9 0-56-25.1-56-56V293.3c0-13 3.5-25.9 10.3-37l34.3-57.2c2.2-3.7 3.4-8 3.4-12.3V128 56C48 25.1 73.1 0 104 0h13.3 6.8c10.1 0 19.5 3.8 26.7 10.2c4.6 2.8 8.6 6 12 9C172.3 27.6 191.4 40 224 40s51.7-12.4 61.2-20.8c3.4-3.1 7.5-6.2 12-9C304.4 3.8 313.8 0 323.9 0h6.8H344c30.9 0 56 25.1 56 56v72 58.7c0 4.4 1.2 8.6 3.4 12.3l34.3 57.2c6.7 11.2 10.3 24 10.3 37V456c0 30.9-25.1 56-56 56H264c-30.9 0-56-25.1-56-56V295.1c0-7.1 1-14.1 3.1-20.9L269.5 81.5c-13 4-28.1 6.5-45.5 6.5s-32.5-2.6-45.5-6.5zM329.8 48.1L257 288.2c-.7 2.3-1 4.6-1 7V456c0 4.4 3.6 8 8 8H392c4.4 0 8-3.6 8-8V293.3c0-4.4-1.2-8.6-3.4-12.3l-34.3-57.2c-6.7-11.2-10.3-24-10.3-37V128 56c0-3.9-2.7-7.1-6.4-7.8c-.5-.1-1.1-.2-1.6-.2H330.7c-.3 0-.6 0-.9 .1zM288 288v-8c0-13.3 10.7-24 24-24s24 10.7 24 24v8h8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8H304c-8.8 0-16-7.2-16-16V288zM84.7 260.7c6.2-6.2 16.4-6.2 22.6 0L120 273.4l12.7-12.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L142.6 296l12.7 12.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L120 318.6l-12.7 12.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L97.4 296 84.7 283.3c-6.2-6.2-6.2-16.4 0-22.6zM112 360a40 40 0 1 1 0 80 40 40 0 1 1 0-80z\"]\n};\nvar faPeopleDressSimple = {\n prefix: 'far',\n iconName: 'people-dress-simple',\n icon: [512, 512, [], \"e218\", \"M192 64A64 64 0 1 0 64 64a64 64 0 1 0 128 0zM112.3 208h31.4c7.1 0 13.4 4.7 15.4 11.6L192.4 336H63.6L96.9 219.6c2-6.9 8.2-11.6 15.4-11.6zm0-48c-28.6 0-53.7 18.9-61.5 46.4L11.7 343.2C5.8 363.7 21.2 384 42.4 384H64V488c0 13.3 10.7 24 24 24s24-10.7 24-24V384h32V488c0 13.3 10.7 24 24 24s24-10.7 24-24V384h21.6c21.3 0 36.6-20.3 30.8-40.8L205.3 206.4c-7.9-27.5-33-46.4-61.5-46.4H112.3zM448 64A64 64 0 1 0 320 64a64 64 0 1 0 128 0zM368.3 208h31.4c7.1 0 13.4 4.7 15.4 11.6L448.4 336H319.6l33.3-116.4c2-6.9 8.2-11.6 15.4-11.6zm0-48c-28.6 0-53.7 18.9-61.5 46.4L267.7 343.2c-5.8 20.4 9.5 40.8 30.8 40.8H320V488c0 13.3 10.7 24 24 24s24-10.7 24-24V384h32V488c0 13.3 10.7 24 24 24s24-10.7 24-24V384h21.6c21.3 0 36.6-20.3 30.8-40.8L461.3 206.4c-7.8-27.5-33-46.4-61.5-46.4H368.3z\"]\n};\nvar faCheckDouble = {\n prefix: 'far',\n iconName: 'check-double',\n icon: [448, 512, [], \"f560\", \"M337 81c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-143 143L97 127c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l80 80c9.4 9.4 24.6 9.4 33.9 0L337 81zM441 201c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-247 247L41 295c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9L143 465c9.4 9.4 24.6 9.4 33.9 0L441 201z\"]\n};\nvar faArrowDownAZ = {\n prefix: 'far',\n iconName: 'arrow-down-a-z',\n icon: [576, 512, [\"sort-alpha-asc\", \"sort-alpha-down\"], \"f15d\", \"M47 377l96 96c9.4 9.4 24.6 9.4 33.9 0l96-96c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-55 55V56c0-13.3-10.7-24-24-24s-24 10.7-24 24V398.1L81 343c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9zm305-89c-13.3 0-24 10.7-24 24s10.7 24 24 24h74.6L334.1 440.1c-6.3 7.1-7.8 17.2-4 25.8S342.6 480 352 480H480c13.3 0 24-10.7 24-24s-10.7-24-24-24H405.4l92.5-104.1c6.3-7.1 7.8-17.2 4-25.8S489.4 288 480 288H352zM416 32c-9.1 0-17.4 5.1-21.5 13.3l-80 160c-5.9 11.9-1.1 26.3 10.7 32.2s26.3 1.1 32.2-10.7L370.8 200H456c1.7 0 3.3-.2 4.9-.5l13.6 27.2c5.9 11.9 20.3 16.7 32.2 10.7s16.7-20.3 10.7-32.2l-80-160C433.4 37.1 425.1 32 416 32zM394.8 152L416 109.7 437.2 152H394.8z\"]\n};\nvar faSortAlphaAsc = faArrowDownAZ;\nvar faSortAlphaDown = faArrowDownAZ;\nvar faBowlingBallPin = {\n prefix: 'far',\n iconName: 'bowling-ball-pin',\n icon: [576, 512, [], \"e0c3\", \"M464 48c-17.7 0-32 14.3-32 32v4.4c0 5.8 .7 11.5 2.1 17.1l9.4 37.4c1.7 6.9 3 14 3.7 21.1h33.6c.7-7.1 2-14.2 3.7-21.1l9.4-37.4c1.4-5.6 2.1-11.3 2.1-17.1V80c0-17.7-14.3-32-32-32zM438.3 230.2l-1 2.7c-8.5-27.4-21.8-52.7-38.8-74.9c-.4-2.5-1-5-1.6-7.4l-9.4-37.4c-2.3-9.4-3.5-19-3.5-28.7V80c0-44.2 35.8-80 80-80s80 35.8 80 80v4.4c0 9.7-1.2 19.3-3.5 28.7l-9.4 37.4c-2.1 8.2-3.1 16.7-3.1 25.2v1c0 12.5 2.2 24.8 6.6 36.5L563 288.9c8.6 23 13 47.4 13 72c0 29.3-6.3 58.2-18.4 84.8L536 493.2c-5.2 11.4-16.6 18.8-29.1 18.8H421.2c-12.6 0-23.9-7.3-29.1-18.8l-10.6-23.3c12.6-13.1 23.7-27.7 33-43.4l17 37.5h65.1l17.4-38.3c9.3-20.4 14.1-42.5 14.1-64.9c0-18.8-3.4-37.5-10-55.1l-28.3-75.5c-2.7-7.2-4.9-14.6-6.4-22.2H444.8c-1.6 7.5-3.7 14.9-6.4 22.2zM168 196a28 28 0 1 1 56 0 28 28 0 1 1 -56 0zm28 60a28 28 0 1 1 0 56 28 28 0 1 1 0-56zM96 244a28 28 0 1 1 56 0 28 28 0 1 1 -56 0zm272 60A160 160 0 1 0 48 304a160 160 0 1 0 320 0zM0 304a208 208 0 1 1 416 0A208 208 0 1 1 0 304z\"]\n};\nvar faBellSchoolSlash = {\n prefix: 'far',\n iconName: 'bell-school-slash',\n icon: [640, 512, [], \"f5d6\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L570.7 422c3.4-6.6 5.3-14.1 5.3-22c0-26.5-21.5-48-48-48c-12.1 0-23.1 4.5-31.5 11.8L445 323.5c22.1-33 35-72.8 35-115.5C480 93.1 386.9 0 272 0C211.2 0 156.6 26.1 118.5 67.6L38.8 5.1zM156.5 97.3C185.6 66.9 226.6 48 272 48c88.4 0 160 71.6 160 160c0 31.6-9.1 61-24.9 85.8L356.3 254c7.5-13.7 11.7-29.3 11.7-46c0-53-43-96-96-96c-25 0-47.7 9.5-64.8 25.1L156.5 97.3zm161 126.2l-71.3-55.9c7.5-4.8 16.4-7.6 25.9-7.6c26.5 0 48 21.5 48 48c0 5.4-.9 10.6-2.6 15.5zM467.1 464H414c1.3-5.1 2-10.5 2-16V423.8l-85-67C312.7 364 292.8 368 272 368c-88.4 0-160-71.6-160-160c0-7.6 .5-15.2 1.6-22.5l-42-33.1C66.6 170.1 64 188.7 64 208c0 59 24.6 112.2 64 150.1V448c0 35.3 28.7 64 64 64H336h16H480c13.1 0 25.3-3.5 35.9-9.6L467.1 464zM336 464H192c-8.8 0-16-7.2-16-16V392.6c28.7 15 61.4 23.4 96 23.4s67.3-8.5 96-23.4V448c0 8.8-7.2 16-16 16H336z\"]\n};\nvar faPlusLarge = {\n prefix: 'far',\n iconName: 'plus-large',\n icon: [512, 512, [], \"e59e\", \"M488 232c13.3 0 24 10.7 24 24s-10.7 24-24 24l-208 0 0 208c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-208L24 280c-13.3 0-24-10.7-24-24s10.7-24 24-24H232l0-208c0-13.3 10.7-24 24-24s24 10.7 24 24l0 208 208 0z\"]\n};\nvar faMoneyBillWheat = {\n prefix: 'far',\n iconName: 'money-bill-wheat',\n icon: [512, 512, [], \"e52a\", \"M176 0c-8.8 0-16 7.2-16 16c0 44.2 35.8 80 80 80c8.8 0 16-7.2 16-16c0-44.2-35.8-80-80-80zM56 16C42.7 16 32 26.7 32 40s10.7 24 24 24h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H56zM24 88C10.7 88 0 98.7 0 112s10.7 24 24 24H136c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zm8 96c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H56c-13.3 0-24 10.7-24 24zM272 16c0 44.2 35.8 80 80 80c8.8 0 16-7.2 16-16c0-44.2-35.8-80-80-80c-8.8 0-16 7.2-16 16zM400 0c-8.8 0-16 7.2-16 16c0 44.2 35.8 80 80 80c8.8 0 16-7.2 16-16c0-44.2-35.8-80-80-80zm80 144c0-8.8-7.2-16-16-16c-44.2 0-80 35.8-80 80c0 8.8 7.2 16 16 16c44.2 0 80-35.8 80-80zM352 128c-44.2 0-80 35.8-80 80c0 8.8 7.2 16 16 16c44.2 0 80-35.8 80-80c0-8.8-7.2-16-16-16zm-96 16c0-8.8-7.2-16-16-16c-44.2 0-80 35.8-80 80c0 8.8 7.2 16 16 16c44.2 0 80-35.8 80-80zM48 359.5c28.9-3.6 51.9-26.6 55.5-55.5h305c3.6 29 26.6 51.9 55.5 55.5v49c-29 3.6-51.9 26.6-55.5 55.5h-305c-3.6-29-26.6-51.9-55.5-55.5v-49zM48 256c-26.5 0-48 21.5-48 48V464c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48H48zM256 448a64 64 0 1 0 0-128 64 64 0 1 0 0 128z\"]\n};\nvar faCameraViewfinder = {\n prefix: 'far',\n iconName: 'camera-viewfinder',\n icon: [512, 512, [\"screenshot\"], \"e0da\", \"M56 0h80c13.3 0 24 10.7 24 24s-10.7 24-24 24H56c-4.4 0-8 3.6-8 8v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V56C0 25.1 25.1 0 56 0zM376 0h80c30.9 0 56 25.1 56 56v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V56c0-4.4-3.6-8-8-8H376c-13.3 0-24-10.7-24-24s10.7-24 24-24zM48 376v80c0 4.4 3.6 8 8 8h80c13.3 0 24 10.7 24 24s-10.7 24-24 24H56c-30.9 0-56-25.1-56-56V376c0-13.3 10.7-24 24-24s24 10.7 24 24zm464 0v80c0 30.9-25.1 56-56 56H376c-13.3 0-24-10.7-24-24s10.7-24 24-24h80c4.4 0 8-3.6 8-8V376c0-13.3 10.7-24 24-24s24 10.7 24 24zM173.8 120.2c6.3-14.7 20.8-24.2 36.8-24.2h90.9c16 0 30.5 9.5 36.8 24.2l3.3 7.8H352c35.3 0 64 28.7 64 64V320c0 35.3-28.7 64-64 64H160c-35.3 0-64-28.7-64-64V192c0-35.3 28.7-64 64-64h10.5l3.3-7.8zm42 23.8l-7.5 17.5c-3.8 8.8-12.5 14.5-22.1 14.5H160c-8.8 0-16 7.2-16 16V320c0 8.8 7.2 16 16 16H352c8.8 0 16-7.2 16-16V192c0-8.8-7.2-16-16-16H325.7c-9.6 0-18.3-5.7-22.1-14.5L296.2 144H215.8zM200 256a56 56 0 1 1 112 0 56 56 0 1 1 -112 0z\"]\n};\nvar faScreenshot = faCameraViewfinder;\nvar faMessageMusic = {\n prefix: 'far',\n iconName: 'message-music',\n icon: [512, 512, [\"comment-alt-music\"], \"f8af\", \"M208 416c0-26.5-21.5-48-48-48H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H448c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H309.3c-10.4 0-20.5 3.4-28.8 9.6L208 432V416zm-.2 76.2l.2-.2 101.3-76H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h48 48v48 4 .3 6.4V496c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L202.7 496l5.1-3.8zM352 96c0-5.2-2.6-10.2-6.9-13.2s-9.8-3.7-14.7-1.8l-128 48c-6.2 2.3-10.4 8.3-10.4 15v32 81.8c-5-1.2-10.4-1.8-16-1.8c-26.5 0-48 14.3-48 32s21.5 32 48 32s48-14.3 48-32V187.1l96-36v74.7c-5-1.2-10.4-1.8-16-1.8c-26.5 0-48 14.3-48 32s21.5 32 48 32s48-14.3 48-32V128 96z\"]\n};\nvar faCommentAltMusic = faMessageMusic;\nvar faCarBuilding = {\n prefix: 'far',\n iconName: 'car-building',\n icon: [640, 512, [], \"f859\", \"M288 48H64c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H192v48H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H288c35.3 0 64 28.7 64 64v64.5c-17.5 1.7-33.9 7.7-48 17.1V64c0-8.8-7.2-16-16-16zM256 219.1l-13.1 36.6c-.9 .2-1.9 .3-2.9 .3H208c-8.8 0-16-7.2-16-16V208c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v11.1zM96 112c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V112zM208 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H208c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zM96 208c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V208zm0 96c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V304zm265.8-96c-10.1 0-19.2 6.4-22.6 15.9L322.1 272H541.9l-17.2-48.1c-3.4-9.6-12.5-15.9-22.6-15.9H361.8zm-96.4 79.9L294 207.8c10.2-28.7 37.4-47.8 67.8-47.8H502.2c30.4 0 57.6 19.1 67.8 47.8l28.6 80.1c.2 .5 .3 .9 .5 1.4C623.8 306.7 640 335.5 640 368v32 16 32 40c0 13.3-10.7 24-24 24s-24-10.7-24-24V448H272v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V448 416 400 368c0-32.5 16.2-61.3 40.9-78.7c.1-.5 .3-.9 .5-1.4zM544 320H320c-26.5 0-48 21.5-48 48v32H592V368c0-26.5-21.5-48-48-48zM336 336a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm168 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faBorderBottomRight = {\n prefix: 'far',\n iconName: 'border-bottom-right',\n icon: [448, 512, [\"border-style-alt\"], \"f854\", \"M448 56c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 352c0 13.3-10.7 24-24 24L24 432c-13.3 0-24 10.7-24 24s10.7 24 24 24l352 0c39.8 0 72-32.2 72-72l0-352zM320 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM128 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm96-64a32 32 0 1 0 0 64 32 32 0 1 0 0-64zM32 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0 128a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm0-32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0 128a32 32 0 1 0 0 64 32 32 0 1 0 0-64z\"]\n};\nvar faBorderStyleAlt = faBorderBottomRight;\nvar faOctagon = {\n prefix: 'far',\n iconName: 'octagon',\n icon: [512, 512, [128721], \"f306\", \"M170.5 57.4c6-6 14.1-9.4 22.6-9.4H318.9c8.5 0 16.6 3.4 22.6 9.4L454.6 170.5c6 6 9.4 14.1 9.4 22.6V318.9c0 8.5-3.4 16.6-9.4 22.6L341.5 454.6c-6 6-14.1 9.4-22.6 9.4H193.1c-8.5 0-16.6-3.4-22.6-9.4L57.4 341.5c-6-6-9.4-14.1-9.4-22.6V193.1c0-8.5 3.4-16.6 9.4-22.6L170.5 57.4zM136.6 23.4L23.4 136.6C8.4 151.6 0 171.9 0 193.1V318.9c0 21.2 8.4 41.6 23.4 56.6L136.6 488.6c15 15 35.4 23.4 56.6 23.4H318.9c21.2 0 41.6-8.4 56.6-23.4L488.6 375.4c15-15 23.4-35.4 23.4-56.6V193.1c0-21.2-8.4-41.6-23.4-56.6L375.4 23.4C360.4 8.4 340.1 0 318.9 0H193.1c-21.2 0-41.6 8.4-56.6 23.4z\"]\n};\nvar faCommentArrowUpRight = {\n prefix: 'far',\n iconName: 'comment-arrow-up-right',\n icon: [512, 512, [], \"e145\", \"M168.2 384.9c-15-5.4-31.7-3.1-44.6 6.4c-8.2 6-22.3 14.8-39.4 22.7c5.6-14.7 9.9-31.3 11.3-49.4c1-12.9-3.3-25.7-11.8-35.5C60.4 302.8 48 272 48 240c0-79.5 83.3-160 208-160s208 80.5 208 160s-83.3 160-208 160c-31.6 0-61.3-5.5-87.8-15.1zM26.3 423.8c-1.6 2.7-3.3 5.4-5.1 8.1l-.3 .5c-1.6 2.3-3.2 4.6-4.8 6.9c-3.5 4.7-7.3 9.3-11.3 13.5c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c5.1 0 10.2-.3 15.3-.8l.7-.1c4.4-.5 8.8-1.1 13.2-1.9c.8-.1 1.6-.3 2.4-.5c17.8-3.5 34.9-9.5 50.1-16.1c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9zM200 152c-13.3 0-24 10.7-24 24s10.7 24 24 24h54.1l-87 87c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l87-87V288c0 13.3 10.7 24 24 24s24-10.7 24-24V176c0-13.3-10.7-24-24-24H200z\"]\n};\nvar faOctagonDivide = {\n prefix: 'far',\n iconName: 'octagon-divide',\n icon: [512, 512, [], \"e203\", \"M191.5 48.1c-6.4 0-12.5 2.5-17 7L55.1 174.5c-4.5 4.5-7 10.6-7 17v129c0 6.4 2.5 12.5 7 17L21.2 371.4C7.7 357.9 .1 339.6 .1 320.5v-129c0-19.1 7.6-37.4 21.1-50.9L140.6 21.2C154.1 7.7 172.4 .1 191.5 .1h129c19.1 0 37.4 7.6 50.9 21.1L490.8 140.6c13.5 13.5 21.1 31.8 21.1 50.9v129c0 19.1-7.6 37.4-21.1 50.9L371.4 490.8c-13.5 13.5-31.8 21.1-50.9 21.1h-129c-19.1 0-37.4-7.6-50.9-21.1L21.2 371.4l33.9-33.9L174.5 456.9c4.5 4.5 10.6 7 17 7h129c6.4 0 12.5-2.5 17-7L456.9 337.5c4.5-4.5 7-10.6 7-17v-129c0-6.4-2.5-12.5-7-17L337.5 55.1c-4.5-4.5-10.6-7-17-7h-129zM256 128a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM168 232H344c13.3 0 24 10.7 24 24s-10.7 24-24 24H168c-13.3 0-24-10.7-24-24s10.7-24 24-24zm56 120a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faCookie = {\n prefix: 'far',\n iconName: 'cookie',\n icon: [512, 512, [127850], \"f563\", \"M240.5 64.6c-12-1.7-24.3 .5-35.1 6.2l-74 39.5C120.7 116 112 125 106.6 136L69.9 211.6c-5.4 11-7.1 23.5-5 35.6L79.4 330c2.1 12.1 8 23.2 16.8 31.7l60.3 58.4c8.8 8.5 20 14 32 15.7l83 11.7c12 1.7 24.3-.5 35.1-6.2l74-39.5C391.3 396 400 387 405.4 376l36.7-75.5c5.4-11 7.1-23.5 5-35.6L432.6 182c-2.1-12.1-8-23.2-16.8-31.7L355.5 91.9c-8.8-8.5-20-14-32-15.7l-83-11.7zM182.8 28.4c19.7-10.5 42.3-14.5 64.4-11.4l83 11.7c22.1 3.1 42.7 13.2 58.7 28.7l60.3 58.4c16.1 15.6 26.8 35.8 30.7 57.9l14.6 82.8c3.9 22.1 .7 44.8-9.1 64.9L448.6 397c-9.8 20.1-25.7 36.6-45.4 47.2l-74 39.5c-19.7 10.5-42.3 14.5-64.4 11.4l-83-11.7c-22.1-3.1-42.7-13.2-58.7-28.7L62.8 396.2C46.8 380.6 36 360.3 32.2 338.3L17.6 255.5c-3.9-22.1-.7-44.8 9.1-64.9L63.4 115c9.8-20.1 25.7-36.6 45.4-47.2l74-39.5zM288 128a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm0 96a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm-96 96a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM160 160a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM320 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faArrowRotateLeft = {\n prefix: 'far',\n iconName: 'arrow-rotate-left',\n icon: [512, 512, [8634, \"arrow-left-rotate\", \"arrow-rotate-back\", \"arrow-rotate-backward\", \"undo\"], \"f0e2\", \"M40 224c-13.3 0-24-10.7-24-24V56c0-13.3 10.7-24 24-24s24 10.7 24 24v80.1l20-23.5C125 63.4 186.9 32 256 32c123.7 0 224 100.3 224 224s-100.3 224-224 224c-50.4 0-97-16.7-134.4-44.8c-10.6-8-12.7-23-4.8-33.6s23-12.7 33.6-4.8C179.8 418.9 216.3 432 256 432c97.2 0 176-78.8 176-176s-78.8-176-176-176c-54.3 0-102.9 24.6-135.2 63.4l-.1 .2 0 0L93.1 176H184c13.3 0 24 10.7 24 24s-10.7 24-24 24H40z\"]\n};\nvar faArrowLeftRotate = faArrowRotateLeft;\nvar faArrowRotateBack = faArrowRotateLeft;\nvar faArrowRotateBackward = faArrowRotateLeft;\nvar faUndo = faArrowRotateLeft;\nvar faTvMusic = {\n prefix: 'far',\n iconName: 'tv-music',\n icon: [640, 512, [], \"f8e6\", \"M576 48c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H576zM64 0C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM96 488c0 13.3 10.7 24 24 24H520c13.3 0 24-10.7 24-24s-10.7-24-24-24H120c-13.3 0-24 10.7-24 24zM416 96c0-5.2-2.6-10.2-6.9-13.2s-9.8-3.7-14.7-1.8l-128 48c-6.2 2.3-10.4 8.3-10.4 15v32 81.8c-5-1.2-10.4-1.8-16-1.8c-26.5 0-48 14.3-48 32s21.5 32 48 32s48-14.3 48-32V187.1l96-36v74.7c-5-1.2-10.4-1.8-16-1.8c-26.5 0-48 14.3-48 32s21.5 32 48 32s48-14.3 48-32V128 96z\"]\n};\nvar faHardDrive = {\n prefix: 'far',\n iconName: 'hard-drive',\n icon: [512, 512, [128436, \"hdd\"], \"f0a0\", \"M64 80c-8.8 0-16 7.2-16 16V258c5.1-1.3 10.5-2 16-2H448c5.5 0 10.9 .7 16 2V96c0-8.8-7.2-16-16-16H64zM48 320v96c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V320c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16zM0 320V96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V320v96c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V320zm280 48a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm120-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faHdd = faHardDrive;\nvar faReel = {\n prefix: 'far',\n iconName: 'reel',\n icon: [448, 512, [], \"e238\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48H64V88c0 13.3 10.7 24 24 24H360c13.3 0 24-10.7 24-24V48h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H384 344 104 64 24zm80 72V48H344V72H104zM24 464c-13.3 0-24 10.7-24 24s10.7 24 24 24H64h40H344h40 40c13.3 0 24-10.7 24-24s-10.7-24-24-24H384V424c0-13.3-10.7-24-24-24H88c-13.3 0-24 10.7-24 24v40H24zm320 0H104V440H344v24zM80 144c-8.8 0-16 7.2-16 16s7.2 16 16 16H368c8.8 0 16-7.2 16-16s-7.2-16-16-16H80zm0 64c-8.8 0-16 7.2-16 16s7.2 16 16 16H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H80zm0 64c-8.8 0-16 7.2-16 16s7.2 16 16 16H368c8.8 0 16-7.2 16-16s-7.2-16-16-16H80zm0 64c-8.8 0-16 7.2-16 16s7.2 16 16 16H368c8.8 0 16-7.2 16-16s-7.2-16-16-16H80z\"]\n};\nvar faFaceGrinSquintTears = {\n prefix: 'far',\n iconName: 'face-grin-squint-tears',\n icon: [512, 512, [129315, \"grin-squint-tears\"], \"f586\", \"M426.8 14.2C446-5 477.5-4.6 497.1 14.9s20 51 .7 70.3c-14.8 14.8-65.7 23.6-88.3 26.7c-5.6 .9-10.3-3.9-9.5-9.5C403.3 79.9 412 29 426.8 14.2zM75 75C158.2-8.3 284.5-22.2 382.2 33.2c-1.5 4.8-2.9 9.6-4.1 14.3c-3.1 12.2-5.5 24.6-7.3 35c-80.8-53.6-190.7-44.8-261.9 26.4C37.7 180.1 28.9 290 82.5 370.8c-10.5 1.8-22.9 4.2-35 7.3c-4.7 1.2-9.5 2.5-14.3 4.1C-22.2 284.5-8.2 158.2 75 75zm389.6 58.9c4.7-1.2 9.5-2.5 14.3-4.1C534.2 227.5 520.2 353.8 437 437c-83.2 83.2-209.5 97.2-307.2 41.8c1.5-4.8 2.8-9.6 4-14.3c3.1-12.2 5.5-24.6 7.3-35c80.8 53.6 190.7 44.8 261.9-26.4c71.2-71.2 80-181.1 26.4-261.9c10.5-1.8 22.9-4.2 35-7.3zm-105.4 93c10.1-16.3 33.9-16.9 37.9 1.9c9.5 44.4-3.7 93.5-39.3 129.1s-84.8 48.8-129.1 39.3c-18.7-4-18.2-27.8-1.9-37.9c25.2-15.7 50.2-35.4 73.6-58.8s43.1-48.4 58.8-73.6zM92 265.3l97.4-29.7c11.6-3.5 22.5 7.3 19 19l-29.7 97.4c-2.6 8.6-13.4 11.3-19.8 4.9c-2-2-3.2-4.6-3.4-7.3l-5.1-56.1-56.1-5.1c-2.8-.3-5.4-1.5-7.3-3.4c-6.3-6.3-3.6-17.2 4.9-19.8zm193-178.2c2 2 3.2 4.6 3.4 7.3l5.1 56.1 56.1 5.1c2.8 .3 5.4 1.5 7.3 3.4c6.3 6.3 3.6 17.2-4.9 19.8l-97.4 29.7c-11.6 3.5-22.5-7.3-19-19L265.3 92c2.6-8.6 13.4-11.3 19.8-4.9zM14.9 497.1c-19.6-19.6-20-51-.7-70.3C29 412 79.8 403.2 102.4 400.1c5.6-.9 10.3 3.9 9.5 9.5c-3.2 22.5-11.9 73.5-26.7 88.3C66 517 34.5 516.6 14.9 497.1z\"]\n};\nvar faGrinSquintTears = faFaceGrinSquintTears;\nvar faDumbbell = {\n prefix: 'far',\n iconName: 'dumbbell',\n icon: [640, 512, [], \"f44b\", \"M128 88c0-30.9 25.1-56 56-56h16c30.9 0 56 25.1 56 56V232H384V88c0-30.9 25.1-56 56-56h16c30.9 0 56 25.1 56 56v16h24c30.9 0 56 25.1 56 56v72h24c13.3 0 24 10.7 24 24s-10.7 24-24 24H592v72c0 30.9-25.1 56-56 56H512v16c0 30.9-25.1 56-56 56H440c-30.9 0-56-25.1-56-56V280H256V424c0 30.9-25.1 56-56 56H184c-30.9 0-56-25.1-56-56V408H104c-30.9 0-56-25.1-56-56V280H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H48V160c0-30.9 25.1-56 56-56h24V88zm48 16v24V384v24 16c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8V88c0-4.4-3.6-8-8-8H184c-4.4 0-8 3.6-8 8v16zm-48 48H104c-4.4 0-8 3.6-8 8V352c0 4.4 3.6 8 8 8h24V152zM464 384V128 104 88c0-4.4-3.6-8-8-8H440c-4.4 0-8 3.6-8 8V424c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8V408 384zm72-24c4.4 0 8-3.6 8-8V160c0-4.4-3.6-8-8-8H512V360h24z\"]\n};\nvar faRectangleList = {\n prefix: 'far',\n iconName: 'rectangle-list',\n icon: [576, 512, [\"list-alt\"], \"f022\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H512c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm96 64a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm104 0c0-13.3 10.7-24 24-24H448c13.3 0 24 10.7 24 24s-10.7 24-24 24H224c-13.3 0-24-10.7-24-24zm0 96c0-13.3 10.7-24 24-24H448c13.3 0 24 10.7 24 24s-10.7 24-24 24H224c-13.3 0-24-10.7-24-24zm0 96c0-13.3 10.7-24 24-24H448c13.3 0 24 10.7 24 24s-10.7 24-24 24H224c-13.3 0-24-10.7-24-24zm-72-64a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM96 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faListAlt = faRectangleList;\nvar faTarpDroplet = {\n prefix: 'far',\n iconName: 'tarp-droplet',\n icon: [576, 512, [], \"e57c\", \"M288 160c-35.3 0-64-26.9-64-60c0-24 33.7-70.1 52.2-93.5c6.1-7.7 17.5-7.7 23.6 0C318.3 29.9 352 76 352 100c0 33.1-28.7 60-64 60zM64 128H197.5c7 19.8 20.3 36.6 37.5 48H64c-8.8 0-16 7.2-16 16l0 256c0 8.8 7.2 16 16 16l352 0V384c0-17.7 14.3-32 32-32h80V192c0-8.8-7.2-16-16-16l-170.9 0c17.2-11.4 30.5-28.2 37.5-48H512c35.3 0 64 28.7 64 64V364.1c0 12.7-5.1 24.9-14.1 33.9l-99.9 99.9c-9 9-21.2 14.1-33.9 14.1L64 512c-35.3 0-64-28.7-64-64V192c0-35.3 28.7-64 64-64zm48 80a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faAlarmExclamation = {\n prefix: 'far',\n iconName: 'alarm-exclamation',\n icon: [512, 512, [], \"f843\", \"M14.9 146.4C5.5 131.6 0 114 0 95.2C0 42.6 42.6 0 95.2 0c25 0 47.8 9.6 64.8 25.4L14.9 146.4zM432 288A176 176 0 1 0 80 288a176 176 0 1 0 352 0zM396.5 462.5C358.1 493.4 309.2 512 256 512s-102.1-18.6-140.5-49.5L73 505c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l42.5-42.5C50.6 390.1 32 341.2 32 288C32 164.3 132.3 64 256 64s224 100.3 224 224c0 53.2-18.6 102.1-49.5 140.5L473 471c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-42.5-42.5zM352 25.4C369 9.6 391.8 0 416.8 0C469.4 0 512 42.6 512 95.2c0 18.8-5.5 36.3-14.9 51.1L352 25.4zM256 352a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm24-168V296c0 13.3-10.7 24-24 24s-24-10.7-24-24V184c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faHouseMedicalCircleCheck = {\n prefix: 'far',\n iconName: 'house-medical-circle-check',\n icon: [640, 512, [], \"e511\", \"M272.5 5.7c9-7.6 22.1-7.6 31.1 0L526.1 194.6c-9.8-1.7-19.9-2.6-30.1-2.6c-14.2 0-28.1 1.7-41.3 4.9L288 55.5 112 204.8V432c0 17.7 14.3 32 32 32H348.5c12.3 18.8 28 35.1 46.3 48H144c-44.2 0-80-35.8-80-80V245.5L39.5 266.3c-10.1 8.6-25.3 7.3-33.8-2.8s-7.3-25.3 2.8-33.8l264-224zM320 256h40.2c-15.3 18.5-26.9 40.2-33.6 64H320v48c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V320H208c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16h48V208c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48zm32 112a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm211.3-43.3c-6.2-6.2-16.4-6.2-22.6 0L480 385.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nvar faTrafficCone = {\n prefix: 'far',\n iconName: 'traffic-cone',\n icon: [512, 512, [], \"f636\", \"M217.8 15c3.7-9 12.5-15 22.2-15h32c9.8 0 18.6 5.9 22.2 15L476.9 464H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H35.1L217.8 15zM386 368H126L86.9 464H425.1l-39-96zm-19.5-48L320.9 208H191.1L145.5 320h221zM210.6 160h90.8L256 48.4 210.6 160z\"]\n};\nvar faGrate = {\n prefix: 'far',\n iconName: 'grate',\n icon: [448, 512, [], \"e193\", \"M56 32C25.1 32 0 57.1 0 88V256 424c0 30.9 25.1 56 56 56h72 96 96 72c30.9 0 56-25.1 56-56V256 88c0-30.9-25.1-56-56-56H320 224 128 56zm48 48V232H48V88c0-4.4 3.6-8 8-8h48zM48 280h56V432H56c-4.4 0-8-3.6-8-8V280zM152 432V280h48V432H152zm96 0V280h48V432H248zm96 0V280h56V424c0 4.4-3.6 8-8 8H344zm56-200H344V80h48c4.4 0 8 3.6 8 8V232zM296 80V232H248V80h48zm-96 0V232H152V80h48z\"]\n};\nvar faArrowDownRight = {\n prefix: 'far',\n iconName: 'arrow-down-right',\n icon: [384, 512, [], \"e093\", \"M328 416c13.3 0 24-10.7 24-24V152c0-13.3-10.7-24-24-24s-24 10.7-24 24V334.1L73 103c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l231 231H88c-13.3 0-24 10.7-24 24s10.7 24 24 24H328z\"]\n};\nvar faPersonSkiingNordic = {\n prefix: 'far',\n iconName: 'person-skiing-nordic',\n icon: [576, 512, [\"skiing-nordic\"], \"f7ca\", \"M336 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-90.7 12.6c-14-3.5-28.7-3.5-42.7 0l-1.8 .5c-13.3 3.3-25.6 9.7-35.9 18.6l-44.5 38.2c-10.1 8.6-11.2 23.8-2.6 33.8c1.2 1.5 2.6 2.7 4.1 3.8L67 464H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H311.5c.4 0 .7 0 1.1 0H504c39.8 0 72-32.2 72-72v-8c0-13.3-10.7-24-24-24s-24 10.7-24 24v8c0 13.3-10.7 24-24 24H434.6l27.2-176.7c10.4-2.6 18.2-12 18.2-23.3c0-13.3-10.7-24-24-24H407.6c-3.5 0-6.6-2.3-7.6-5.6l-19.7-64.2c-5.8-18.7-20.9-33.1-39.9-37.9l-95-23.7zM429.4 288L402.3 464H344.6L371 379.5c5.6-18-2.1-37.5-18.6-46.8l-32.1-18 28.1-84.4 5.6 18.2C361.3 272 383 288 407.6 288h21.7zM99.7 464l55.8-265.1 40.6-34.8c4.7-4 10.3-6.9 16.3-8.4l1.8-.5c6.4-1.6 13-1.6 19.4 0l8.6 2.1-32.7 98c-8.5 25.5 2.3 53.4 25.7 66.5l88 49.5L294.4 464H190.7l36.8-109.8-8-4.5c-13.1-7.4-23.6-17.6-31.2-29.6L140.1 464H99.7zM316.1 175.8l-38.3 115-19-10.7c-3.3-1.9-4.9-5.9-3.7-9.5L289 169l27.1 6.8z\"]\n};\nvar faSkiingNordic = faPersonSkiingNordic;\nvar faCalendarPlus = {\n prefix: 'far',\n iconName: 'calendar-plus',\n icon: [448, 512, [], \"f271\", \"M152 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H64C28.7 64 0 92.7 0 128v16 48V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V192 144 128c0-35.3-28.7-64-64-64H344V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H152V24zM48 192H400V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V192zm176 40c-13.3 0-24 10.7-24 24v48H152c-13.3 0-24 10.7-24 24s10.7 24 24 24h48v48c0 13.3 10.7 24 24 24s24-10.7 24-24V352h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H248V256c0-13.3-10.7-24-24-24z\"]\n};\nvar faPersonFromPortal = {\n prefix: 'far',\n iconName: 'person-from-portal',\n icon: [512, 512, [\"portal-exit\"], \"e023\", \"M72.2 436C58.7 404.6 48 348.4 48 256s10.7-148.6 24.2-180C84.6 47.3 94.6 47.9 95.9 48l.1 0 .1 0c1.3-.1 11.3-.7 23.7 28c13.5 31.4 24.2 87.7 24.2 180c0 45.7-2.6 82.6-6.9 112H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h7s0 0 0 0h49.7s0 0 0 0h28.2c16.7 0 31.6-10.3 37.4-25.9l14.1-37.6-4.9-2.8c-14.1-8-25.4-19.3-33-32.6L199.4 368H185.6c4.2-31.3 6.4-68.4 6.4-112c0-21.4-.5-41.2-1.6-59.6l37.7-32.4c4.7-4 10.3-6.9 16.3-8.4l1.8-.5c6.4-1.6 13-1.6 19.4 0l8.6 2.1-32.7 98c-8.5 25.5 2.3 53.4 25.7 66.5l88 49.5L321.1 480.8c-4 12.7 3.1 26.1 15.8 30.1s26.1-3.1 30.1-15.8L403 379.5c5.6-18-2.1-37.5-18.6-46.8l-32.1-18 28.1-84.4 5.6 18.2C393.3 272 415 288 439.6 288H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H439.6c-3.5 0-6.6-2.3-7.6-5.6l-19.7-64.2c-5.8-18.7-20.9-33.1-39.9-37.9l-95-23.7c-14-3.5-28.7-3.5-42.7 0l-1.8 .5c-13.3 3.3-25.6 9.7-35.9 18.6L184.7 138C170.3 38 136 0 96 0C43 0 0 66.6 0 256S43 512 96 512c28 0 53.2-18.6 70.7-64H113.9c-9.5 16.5-16.7 16.1-17.8 16l-.1 0-.1 0c-1.3 .1-11.3 .7-23.7-28zM368 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-19.9 79.8l-38.3 115-19-10.7c-3.3-1.9-4.9-5.9-3.7-9.5L321 169l27.1 6.8z\"]\n};\nvar faPortalExit = faPersonFromPortal;\nvar faPlaneArrival = {\n prefix: 'far',\n iconName: 'plane-arrival',\n icon: [640, 512, [128748], \"f5af\", \"M552.2 333.2c4.3 4 2.8 11.1-2.8 12.9c-26.5 8.8-54.9 9.7-81.9 2.6L141.9 264c-1.2-.3-2.3-.9-3.2-1.7l-87.7-75c-1.8-1.5-2.8-3.7-2.8-6.1l-.2-86.6 18.2 4.6c2.5 .6 4.5 2.4 5.5 4.8l25.9 64.8c2.8 7 8.8 12.3 16.1 14.3l113.9 30.4c8.4 2.2 17.4-.2 23.4-6.5s8.3-15.3 5.8-23.6L216.3 48 242 48 349.1 238.4c3.2 5.6 8.5 9.8 14.7 11.4l113 30.1c16.3 4.3 31.3 12.6 43.7 24l31.6 29.2zm12.3 58.5c40.3-13.3 51.5-65 20.3-93.8l-31.6-29.2c-18.1-16.7-40-28.8-63.8-35.1L386 206.1 281.5 20.4C274.4 7.8 261.1 0 246.6 0H205.5c-26.8 0-46 25.8-38.3 51.5l31.4 104.6-60.8-16.2L116.4 86.3c-6.7-16.7-21-29.2-38.4-33.5L49.7 45.7C24.5 39.4 0 58.5 0 84.6l.2 96.8 0 0c0 16.3 7.2 31.8 19.6 42.4l87.7 75c6.4 5.5 14.1 9.5 22.3 11.6l325.5 84.7c35.9 9.4 73.8 8.1 109.1-3.5zM24 464c-13.3 0-24 10.7-24 24s10.7 24 24 24H616c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zm168-96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm64 64a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faCowbellCirclePlus = {\n prefix: 'far',\n iconName: 'cowbell-circle-plus',\n icon: [576, 512, [\"cowbell-more\"], \"f8b4\", \"M176 48h96V96H176V48zm-48-8V96H112c-21.4 0-40.3 14.2-46.2 34.8l-64 224c-4.1 14.5-1.2 30.1 7.8 42.1S32.9 416 48 416H262.6c-4.3-15.3-6.6-31.4-6.6-48H48l64-224H336l18.8 65.8c14.2-7 29.6-12.1 45.6-15l-18.3-64C376.3 110.2 357.4 96 336 96H320V40c0-22.1-17.9-40-40-40H168c-22.1 0-40 17.9-40 40zm32 408c0 35.3 28.7 64 64 64c29.2 0 53.9-19.6 61.5-46.4c-3.8-5.7-7.2-11.5-10.3-17.6H160zm272 64a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm16-208v48h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H448v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V384H368c-8.8 0-16-7.2-16-16s7.2-16 16-16h48V304c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faCowbellMore = faCowbellCirclePlus;\nvar faCircleLeft = {\n prefix: 'far',\n iconName: 'circle-left',\n icon: [512, 512, [61840, \"arrow-alt-circle-left\"], \"f359\", \"M48 256a208 208 0 1 1 416 0A208 208 0 1 1 48 256zm464 0A256 256 0 1 0 0 256a256 256 0 1 0 512 0zM217.4 376.9c4.2 4.5 10.1 7.1 16.3 7.1c12.3 0 22.3-10 22.3-22.3V304h96c17.7 0 32-14.3 32-32V240c0-17.7-14.3-32-32-32H256V150.3c0-12.3-10-22.3-22.3-22.3c-6.2 0-12.1 2.6-16.3 7.1L117.5 242.2c-3.5 3.8-5.5 8.7-5.5 13.8s2 10.1 5.5 13.8l99.9 107.1z\"]\n};\nvar faArrowAltCircleLeft = faCircleLeft;\nvar faDistributeSpacingVertical = {\n prefix: 'far',\n iconName: 'distribute-spacing-vertical',\n icon: [512, 512, [], \"e366\", \"M0 56C0 69.3 10.7 80 24 80H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H24C10.7 32 0 42.7 0 56zM368 208v96H144V208H368zM144 160c-26.5 0-48 21.5-48 48v96c0 26.5 21.5 48 48 48H368c26.5 0 48-21.5 48-48V208c0-26.5-21.5-48-48-48H144zM24 432c-13.3 0-24 10.7-24 24s10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H24z\"]\n};\nvar faSignalBarsFair = {\n prefix: 'far',\n iconName: 'signal-bars-fair',\n icon: [640, 512, [\"signal-alt-2\"], \"f692\", \"M240 304c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16s16-7.2 16-16V320c0-8.8-7.2-16-16-16zm-64 16c0-35.3 28.7-64 64-64s64 28.7 64 64V448c0 35.3-28.7 64-64 64s-64-28.7-64-64V320zM80 464a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm64-16A64 64 0 1 1 16 448a64 64 0 1 1 128 0z\"]\n};\nvar faSignalAlt2 = faSignalBarsFair;\nvar faSportsball = {\n prefix: 'far',\n iconName: 'sportsball',\n icon: [512, 512, [], \"e44b\", \"M447 99c3.8 33.4 4.4 70.2-.1 107c-25.6-8.1-49.2-20.8-69.7-37.2L447 99zm-9 154.5c-7.2 28-17.9 55.2-33 79.8c-4.7 7.7-9.9 15.1-15.5 22.3L289.9 256l53.1-53.1c27.5 22.9 59.7 40.3 94.9 50.6zM356.1 390.1c-19.4 16.1-42.4 29.6-69.7 39.8c-10.2 3.8-21 7.1-32.4 9.9c-10.2-35.9-27.8-68.7-51.1-96.7L256 289.9 356.1 390.1zM206.3 447.8c-31.5 3.2-67 3-106.9-1.3l69.3-69.3c16.6 20.8 29.5 44.6 37.5 70.6zM22.9 455.2l0 0c.5 2.7 1 5.3 1.6 7.9c1.6 7.5 5.7 14 11.4 18.6c4.2 3.3 9.2 5.6 14.6 6.5c103.9 17.4 187 11 252.6-13.3c66-24.5 112.2-66.5 142.9-116.5c60.2-98.2 59.1-224.7 41.6-309.5c-1.5-7.1-5.2-13.3-10.5-17.8c-.7-.6-1.5-1.3-2.3-1.8c-3.9-2.8-8.4-4.7-13.3-5.5c-2.1-.3-4.2-.7-6.2-1l0 0C395.7 13.3 343 11.7 296.6 16.9c0 0 0 0 0 0c-16.6 1.9-32.4 4.6-47.5 8.1c0 0 0 0 0 0c-14.1 3.3-27.5 7.4-40.3 12.1c-34.1 12.7-63 30-87.1 50.7l0 0C109.4 98.5 98.3 110 88.3 122.2l0 0c-8.2 10-15.6 20.5-22.2 31.4c-18.4 29.9-31 62.5-39.2 95.7c0 0 0 0 0 0c-3.9 15.7-6.8 31.6-8.8 47.4c0 0 0 0 0 0c-7.4 56.9-3.6 113 4.9 158.4zM65 413c-3.8-33.4-4.4-70.2 .1-107c25.6 8.1 49.2 20.8 69.7 37.2L65 413zm9-154.5c7.2-28 17.9-55.2 33-79.8c4.7-7.7 9.9-15.1 15.5-22.3L222.1 256l-53.1 53.1c-27.5-22.9-59.7-40.3-94.9-50.6zm81.9-136.6c19.4-16.1 42.4-29.6 69.7-39.8c10.2-3.8 21-7.1 32.4-9.9c10.2 35.9 27.8 68.7 51.1 96.7L256 222.1 155.9 121.9zM305.7 64.2c31.5-3.2 67-3 106.9 1.3l-69.3 69.3c-16.6-20.8-29.5-44.6-37.5-70.6z\"]\n};\nvar faGameConsoleHandheldCrank = {\n prefix: 'far',\n iconName: 'game-console-handheld-crank',\n icon: [640, 512, [], \"e5b9\", \"M96 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H416c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H96zM32 96c0-35.3 28.7-64 64-64H416c35.3 0 64 28.7 64 64V272h32V200 168c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v32c0 13.3-10.7 24-24 24H560v72c0 13.3-10.7 24-24 24H480v96c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V96zm128 32H352c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32zm16 160c8.8 0 16 7.2 16 16v16h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H192v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V352H144c-8.8 0-16-7.2-16-16s7.2-16 16-16h16V304c0-8.8 7.2-16 16-16zm120 16a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm40 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faTrainSubway = {\n prefix: 'far',\n iconName: 'train-subway',\n icon: [448, 512, [\"subway\"], \"f239\", \"M200 48l0 160H48V96c0-26.5 21.5-48 48-48H200zm48 0H352c26.5 0 48 21.5 48 48V208H248l0-160zM48 352V256H400v96c0 26.5-21.5 48-48 48H96c-26.5 0-48-21.5-48-48zM96 0C43 0 0 43 0 96V352c0 42.8 28 79 66.6 91.4L39 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l57-57H318.1l57 57c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-27.6-27.6C420 431 448 394.8 448 352V96c0-53-43-96-96-96H96zm32 352a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm224-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faSubway = faTrainSubway;\nvar faChartGantt = {\n prefix: 'far',\n iconName: 'chart-gantt',\n icon: [512, 512, [], \"e0e4\", \"M24 32c13.3 0 24 10.7 24 24V408c0 13.3 10.7 24 24 24H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H72c-39.8 0-72-32.2-72-72V56C0 42.7 10.7 32 24 32zM128 136c0-13.3 10.7-24 24-24l112 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-112 0c-13.3 0-24-10.7-24-24zm88 72H360c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm160 96h80c13.3 0 24 10.7 24 24s-10.7 24-24 24H376c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faFaceSmileUpsideDown = {\n prefix: 'far',\n iconName: 'face-smile-upside-down',\n icon: [512, 512, [], \"e395\", \"M48 256a208 208 0 1 1 416 0A208 208 0 1 1 48 256zm464 0A256 256 0 1 0 0 256a256 256 0 1 0 512 0zM177.6 193.9C192.8 177.5 218.8 160 256 160s63.2 17.5 78.4 33.9c9 9.7 24.2 10.4 33.9 1.4s10.4-24.2 1.4-33.9c-22-23.8-60-49.4-113.6-49.4s-91.7 25.5-113.6 49.4c-9 9.7-8.4 24.9 1.4 33.9s24.9 8.4 33.9-1.4zM208.4 304a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm128-32a32 32 0 1 0 0 64 32 32 0 1 0 0-64z\"]\n};\nvar faBallPile = {\n prefix: 'far',\n iconName: 'ball-pile',\n icon: [640, 512, [], \"f77e\", \"M368 96a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm48 0c0 26.7-10.9 50.9-28.6 68.3c9-2.8 18.6-4.3 28.6-4.3c53 0 96 43 96 96c0 26.7-10.9 50.9-28.6 68.3c9-2.8 18.6-4.3 28.6-4.3c53 0 96 43 96 96s-43 96-96 96s-96-43-96-96c0-26.7 10.9-50.9 28.6-68.3c-9 2.8-18.6 4.3-28.6 4.3s-19.5-1.5-28.6-4.3C405.1 365.1 416 389.3 416 416c0 53-43 96-96 96s-96-43-96-96c0-26.7 10.9-50.9 28.6-68.3c-9 2.8-18.6 4.3-28.6 4.3s-19.5-1.5-28.6-4.3C213.1 365.1 224 389.3 224 416c0 53-43 96-96 96s-96-43-96-96s43-96 96-96c9.9 0 19.5 1.5 28.6 4.3C138.9 306.9 128 282.7 128 256c0-53 43-96 96-96c9.9 0 19.5 1.5 28.6 4.3C234.9 146.9 224 122.7 224 96c0-53 43-96 96-96s96 43 96 96zm-96 96c-9.9 0-19.5-1.5-28.6-4.3C309.1 205.1 320 229.3 320 256c0-26.7 10.9-50.9 28.6-68.3c-9 2.8-18.6 4.3-28.6 4.3zm0 64c0 26.7-10.9 50.9-28.6 68.3c9-2.8 18.6-4.3 28.6-4.3s19.5 1.5 28.6 4.3C330.9 306.9 320 282.7 320 256zM176 416a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm48-112a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM368 416a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm48-112a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM560 416a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nvar faBadgeDollar = {\n prefix: 'far',\n iconName: 'badge-dollar',\n icon: [512, 512, [], \"f645\", \"M200.3 81.5C210.9 61.5 231.9 48 256 48s45.1 13.5 55.7 33.5C317.1 91.7 329 96.6 340 93.2c21.6-6.6 46.1-1.4 63.1 15.7s22.3 41.5 15.7 63.1c-3.4 11 1.5 22.9 11.7 28.2c20 10.6 33.5 31.6 33.5 55.7s-13.5 45.1-33.5 55.7c-10.2 5.4-15.1 17.2-11.7 28.2c6.6 21.6 1.4 46.1-15.7 63.1s-41.5 22.3-63.1 15.7c-11-3.4-22.9 1.5-28.2 11.7c-10.6 20-31.6 33.5-55.7 33.5s-45.1-13.5-55.7-33.5c-5.4-10.2-17.2-15.1-28.2-11.7c-21.6 6.6-46.1 1.4-63.1-15.7S86.6 361.6 93.2 340c3.4-11-1.5-22.9-11.7-28.2C61.5 301.1 48 280.1 48 256s13.5-45.1 33.5-55.7C91.7 194.9 96.6 183 93.2 172c-6.6-21.6-1.4-46.1 15.7-63.1S150.4 86.6 172 93.2c11 3.4 22.9-1.5 28.2-11.7zM256 0c-35.9 0-67.8 17-88.1 43.4c-33-4.3-67.6 6.2-93 31.6s-35.9 60-31.6 93C17 188.2 0 220.1 0 256s17 67.8 43.4 88.1c-4.3 33 6.2 67.6 31.6 93s60 35.9 93 31.6C188.2 495 220.1 512 256 512s67.8-17 88.1-43.4c33 4.3 67.6-6.2 93-31.6s35.9-60 31.6-93C495 323.8 512 291.9 512 256s-17-67.8-43.4-88.1c4.3-33-6.2-67.6-31.6-93s-60-35.9-93-31.6C323.8 17 291.9 0 256 0zm20.9 140.4c0-11-9-20-20-20s-20 9-20 20v17.4c-8.8 1.8-17.7 4.8-25.7 9.6c-15 8.9-27.7 24.4-27.6 46.9c.1 21.5 12.6 35.1 26.3 43.4c11.9 7.2 27 11.7 39.1 15.4l1.9 .6c13.9 4.2 24.4 7.6 31.7 12.2c6.1 3.8 7.5 6.8 7.6 11c.1 6.5-2.5 10.4-7.6 13.6c-6 3.7-15.2 5.9-25.1 5.6c-12.7-.4-24.6-4.4-39.7-9.6l0 0 0 0 0 0 0 0c-2.6-.9-5.2-1.8-8-2.7c-10.5-3.5-21.8 2.2-25.3 12.6s2.2 21.8 12.6 25.3c2.2 .7 4.5 1.5 6.8 2.3c9.7 3.3 20.9 7.2 32.8 9.6v18c0 11 9 20 20 20s20-9 20-20V354.4c9.3-1.7 18.6-4.9 26.8-10.1c15.3-9.5 26.8-25.7 26.5-48.1c-.3-21.6-12.4-35.6-26.3-44.3c-12.5-7.9-28.3-12.6-40.8-16.4l-.6-.2c-14.1-4.3-24.6-7.5-31.9-11.9c-6.2-3.7-7-6.3-7-9.3c0-5.1 2.1-8.8 7.9-12.3c6.5-3.8 16-6 25-5.8c10.9 .2 22.9 2.6 35.2 5.8c10.7 2.8 21.6-3.5 24.5-14.2s-3.5-21.6-14.2-24.5c-7.8-2.1-16.3-4.1-25.1-5.4V140.4z\"]\n};\nvar faMoneyBillsSimple = {\n prefix: 'far',\n iconName: 'money-bills-simple',\n icon: [640, 512, [\"money-bills-alt\"], \"e1f4\", \"M576 80c8.8 0 16 7.2 16 16V320c0 8.8-7.2 16-16 16H160c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H576zM160 32c-35.3 0-64 28.7-64 64V320c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H160zM448 208a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zM48 120c0-13.3-10.7-24-24-24S0 106.7 0 120V360c0 66.3 53.7 120 120 120H520c13.3 0 24-10.7 24-24s-10.7-24-24-24H120c-39.8 0-72-32.2-72-72V120z\"]\n};\nvar faMoneyBillsAlt = faMoneyBillsSimple;\nvar faListTimeline = {\n prefix: 'far',\n iconName: 'list-timeline',\n icon: [512, 512, [], \"e1d1\", \"M219.9 112H400V80H219.9l-16 16 16 16zm-72.6-4.7c-6.2-6.2-6.2-16.4 0-22.6l43.3-43.3c6-6 14.1-9.4 22.6-9.4H416c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H213.3c-8.5 0-16.6-3.4-22.6-9.4l-43.3-43.3zM64 128a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0 160a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM32 416a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm187.9 16H400V400H219.9l-16 16 16 16zm-72.6-4.7c-6.2-6.2-6.2-16.4 0-22.6l43.3-43.3c6-6 14.1-9.4 22.6-9.4H416c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H213.3c-8.5 0-16.6-3.4-22.6-9.4l-43.3-43.3zM203.9 256l16 16H464V240H219.9l-16 16zm-13.3 54.6l-43.3-43.3c-6.2-6.2-6.2-16.4 0-22.6l43.3-43.3c6-6 14.1-9.4 22.6-9.4H480c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H213.3c-8.5 0-16.6-3.4-22.6-9.4z\"]\n};\nvar faIndianRupeeSign = {\n prefix: 'far',\n iconName: 'indian-rupee-sign',\n icon: [320, 512, [\"indian-rupee\", \"inr\"], \"e1bc\", \"M0 56C0 42.7 10.7 32 24 32h80H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H211.3c17.7 19.8 30.1 44.6 34.7 72h50c13.3 0 24 10.7 24 24s-10.7 24-24 24H246c-11.4 68.1-70.7 120-142 120H98.9L261.9 436.5c10.8 7.7 13.3 22.7 5.6 33.5s-22.7 13.3-33.5 5.6l-224-160C1.6 309.5-2 298.6 1.1 288.7S13.6 272 24 272h80c44.7 0 82.3-30.6 93-72H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H197c-10.7-41.4-48.2-72-93-72H24C10.7 80 0 69.3 0 56z\"]\n};\nvar faIndianRupee = faIndianRupeeSign;\nvar faInr = faIndianRupeeSign;\nvar faCropSimple = {\n prefix: 'far',\n iconName: 'crop-simple',\n icon: [512, 512, [\"crop-alt\"], \"f565\", \"M128 24c0-13.3-10.7-24-24-24S80 10.7 80 24V80H24C10.7 80 0 90.7 0 104s10.7 24 24 24H80V376c0 30.9 25.1 56 56 56H352V384H136c-4.4 0-8-3.6-8-8V24zM384 488c0 13.3 10.7 24 24 24s24-10.7 24-24V432h56c13.3 0 24-10.7 24-24s-10.7-24-24-24H432l0-248c0-30.9-25.1-56-56-56L160 80v48l216 0c4.4 0 8 3.6 8 8l0 352z\"]\n};\nvar faCropAlt = faCropSimple;\nvar faMoneyBill1 = {\n prefix: 'far',\n iconName: 'money-bill-1',\n icon: [576, 512, [\"money-bill-alt\"], \"f3d1\", \"M112 112c0 35.3-28.7 64-64 64V336c35.3 0 64 28.7 64 64H464c0-35.3 28.7-64 64-64V176c-35.3 0-64-28.7-64-64H112zM0 128C0 92.7 28.7 64 64 64H512c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128zM176 256a112 112 0 1 1 224 0 112 112 0 1 1 -224 0zm80-48c0 8.8 7.2 16 16 16v64h-8c-8.8 0-16 7.2-16 16s7.2 16 16 16h24 24c8.8 0 16-7.2 16-16s-7.2-16-16-16h-8V208c0-8.8-7.2-16-16-16H272c-8.8 0-16 7.2-16 16z\"]\n};\nvar faMoneyBillAlt = faMoneyBill1;\nvar faLeftLong = {\n prefix: 'far',\n iconName: 'left-long',\n icon: [512, 512, [\"long-arrow-alt-left\"], \"f30a\", \"M6.5 272.4c-8.7-9.2-8.7-23.7 0-32.9l121.4-129c8.8-9.3 21-14.6 33.7-14.6c25.6 0 46.3 20.7 46.3 46.3l0 33.7 248 0c30.9 0 56 25.1 56 56l0 48c0 30.9-25.1 56-56 56l-248 0 0 33.7c0 25.6-20.7 46.3-46.3 46.3c-12.8 0-25-5.3-33.7-14.6L6.5 272.4zm153.5 93l0-53.5c0-13.3 10.7-24 24-24l272 0c4.4 0 8-3.6 8-8l0-48c0-4.4-3.6-8-8-8l-272 0c-6.4 0-12.5-2.5-17-7s-7-10.6-7-17l0-53.5L57 256 160 365.5z\"]\n};\nvar faLongArrowAltLeft = faLeftLong;\nvar faKeyboardDown = {\n prefix: 'far',\n iconName: 'keyboard-down',\n icon: [576, 512, [], \"e1c2\", \"M64 48c-8.8 0-16 7.2-16 16V240c0 8.8 7.2 16 16 16H512c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H64zM0 64C0 28.7 28.7 0 64 0H512c35.3 0 64 28.7 64 64V240c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM159 359c9.4-9.4 24.6-9.4 33.9 0l95 95 95-95c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L305 505c-4.5 4.5-10.6 7-17 7s-12.5-2.5-17-7L159 393c-9.4-9.4-9.4-24.6 0-33.9zm1-167c0-8.8 7.2-16 16-16H400c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V192zM120 88h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H120c-8.8 0-16-7.2-16-16V104c0-8.8 7.2-16 16-16zm64 16c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H200c-8.8 0-16-7.2-16-16V104zm96-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H280c-8.8 0-16-7.2-16-16V104c0-8.8 7.2-16 16-16zm64 16c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H360c-8.8 0-16-7.2-16-16V104zm96-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H440c-8.8 0-16-7.2-16-16V104c0-8.8 7.2-16 16-16z\"]\n};\nvar faCircleUpRight = {\n prefix: 'far',\n iconName: 'circle-up-right',\n icon: [512, 512, [], \"e129\", \"M256 464a208 208 0 1 0 0-416 208 208 0 1 0 0 416zM256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zm96 313.4c0 12.5-10.1 22.6-22.6 22.6c-6 0-11.8-2.4-16-6.6L280 296l-66.3 66.3C210 366 205.1 368 200 368s-10-2-13.7-5.7l-36.7-36.7C146 322 144 317.1 144 312s2-10 5.7-13.7L216 232l-33.4-33.4c-4.2-4.2-6.6-10-6.6-16c0-12.5 10.1-22.6 22.6-22.6H336c8.8 0 16 7.2 16 16V313.4z\"]\n};\nvar faCloudBoltMoon = {\n prefix: 'far',\n iconName: 'cloud-bolt-moon',\n icon: [576, 512, [\"thunderstorm-moon\"], \"f76d\", \"M361.4 79.9c31.2 18.7 52.5 52.2 54.3 90.8c33.3 15.8 57.6 47.5 63 85.3c.8 0 1.6 0 2.4 0c34.9 0 66.7-13.8 89.9-36.1c5.1-4.9 6.4-12.5 3.2-18.7s-10.1-9.7-17-8.6c-4.9 .8-10 1.3-15.2 1.3c-49 0-88.4-39.3-88.4-87.4c0-32.6 18-61.1 44.9-76.1c6.1-3.4 9.3-10.5 7.8-17.4s-7.3-12-14.3-12.6c-3.6-.3-7.3-.5-10.9-.5C427.1 0 380.6 33 361.4 79.9zM128.1 160c0-26.5 21.5-48 48-48c22.8 0 41.9 15.9 46.8 37.2c2.1 8.9 9 15.9 18 18s18.3-1.2 24.1-8.3c7.4-9.1 18.6-14.9 31.1-14.9c20.3 0 37.2 15.2 39.7 34.8c.1 .6 .2 1.2 .3 1.7v1.1c0 .3 0 .6 0 .9c0 .5 0 1 0 1.5s0 1 0 1.5c0 .3 0 .6 0 .9v30.2c0 7 3 13.6 8.3 18.1s12.2 6.6 19.1 5.6c1.5-.2 3-.3 4.6-.3c17.7 0 32 14.3 32 32s-14.3 32-32 32c-.4 0-.9 0-1.3 0c-.3 0-.6 0-1 0H293.7l-8 16.1H304c20.3 0 38.4 12.8 45.2 31.9h16.1c.9 0 1.8 0 2.7 0c44.2 0 80-35.8 80-80c0-38.7-27.5-71-64-78.4v-6.9c0-.9 0-1.8 0-2.7s0-1.8 0-2.7V176c0-2.9-.5-5.7-1.5-8.3C374.9 126.9 339.1 96 296.1 96c-14.7 0-28.5 3.6-40.6 9.9C238.1 80.6 209.1 64 176.1 64c-52.6 0-95.4 42.4-96 94.8l-.2 2.5C34.6 169 .1 208.5 .1 256c0 43.4 28.8 80 68.3 91.9c3.1-6.6 7.6-12.6 13.6-17.4l33.3-26.6H98.9c-.3 0-.6 0-.9 0c-.6 0-1.2 0-1.9 0c-26.5 0-48-21.5-48-48s21.5-48 48-48c1.4 0 2.7 .1 4 .2c13.2 1.1 24.8-8.7 25.9-21.9l2-23.8c.1-.8 .1-1.6 .1-2.5zm154 67.6c-5.8-4.7-14.2-4.7-20.1-.1l-160 128c-5.3 4.2-7.4 11.4-5.1 17.8s8.3 10.7 15.1 10.7h70.1L129.7 488.8c-3.4 6.7-1.6 14.9 4.3 19.6s14.2 4.7 20.1 .1l160-128c5.3-4.2 7.4-11.4 5.1-17.8s-8.3-10.7-15.1-10.7H233.9l52.4-104.8c3.4-6.7 1.6-14.9-4.3-19.6z\"]\n};\nvar faThunderstormMoon = faCloudBoltMoon;\nvar faTurnLeftUp = {\n prefix: 'far',\n iconName: 'turn-left-up',\n icon: [384, 512, [], \"e638\", \"M208.4 6.5c-9.2-8.7-23.7-8.7-32.9 0L46.6 127.9c-9.3 8.8-14.6 21-14.6 33.7C32 187.3 52.7 208 78.3 208H120V352c0 88.4 71.6 160 160 160h48c30.9 0 56-25.1 56-56V424c0-30.9-25.1-56-56-56H272c-4.4 0-8-3.6-8-8V208h41.7c25.6 0 46.3-20.7 46.3-46.3c0-12.8-5.3-25-14.6-33.7L208.4 6.5zm93 153.5H240c-13.3 0-24 10.7-24 24V360c0 30.9 25.1 56 56 56h56c4.4 0 8 3.6 8 8v32c0 4.4-3.6 8-8 8H280c-61.9 0-112-50.1-112-112V184c0-13.3-10.7-24-24-24H82.5L192 57 301.5 160z\"]\n};\nvar faDna = {\n prefix: 'far',\n iconName: 'dna',\n icon: [448, 512, [129516], \"f471\", \"M416 24c0-13.3-10.7-24-24-24s-24 10.7-24 24c0 2.7-.1 5.4-.2 8H80.2c-.2-2.6-.2-5.3-.2-8C80 10.7 69.3 0 56 0S32 10.7 32 24c0 55.6 24.5 101.9 58.1 141.9c27.2 32.4 61.5 62 95.8 90.1c-34.3 28.1-68.6 57.7-95.8 90.1C56.5 386.1 32 432.4 32 488c0 13.3 10.7 24 24 24s24-10.7 24-24c0-2.7 .1-5.4 .2-8H367.8c.2 2.6 .2 5.3 .2 8c0 13.3 10.7 24 24 24s24-10.7 24-24c0-55.6-24.5-101.9-58.1-141.9c-20.6-24.5-45.2-47.3-70.8-69.2c-8.7 7.1-17.3 14.1-25.7 20.9l0 0-2.2 1.8c-3.4 2.7-6.7 5.5-10.1 8.1c11.2 9.4 22.1 18.8 32.3 28.3h-115c22-20.4 46.7-40.4 72.2-61c.3-.2 .5-.4 .8-.6l.7-.6c41.3-33.4 84.7-68.6 117.7-107.9C391.5 125.9 416 79.6 416 24zM121.1 384H326.9c12.4 15.7 22.4 31.6 29.4 48H91.7c7-16.4 17-32.3 29.4-48zM91.7 80H356.3c-7 16.4-17 32.3-29.4 48H121.1c-12.4-15.7-22.4-31.6-29.4-48zm189.8 96c-17.8 16.4-37.2 32.6-57.5 49.1c-20.3-16.5-39.7-32.7-57.5-49.1h115z\"]\n};\nvar faVirusSlash = {\n prefix: 'far',\n iconName: 'virus-slash',\n icon: [640, 512, [], \"e075\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-154.3-121c-2-30.1 20.8-60.1 56-60.1H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H532.5c-49.9 0-74.9-60.3-39.6-95.6l8.2-8.2c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-8.2 8.2C412.3 118.4 352 93.4 352 43.5V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V43.5c0 49.9-60.3 74.9-95.6 39.6L184.2 75c-12.5-12.5-32.8-12.5-45.3 0c-1.6 1.6-3.1 3.4-4.3 5.3L38.8 5.1zM220 147.1c39 4.3 78.6-14.2 100-47.6c11.6 18.2 28.6 31.9 48 40c19.5 8.1 41.4 10.5 62.6 5.8c-9.3 42.2 9.4 87.3 45.8 110.6c-21.2 13.6-36.4 34.5-43.6 58L220 147.1zM402 412.7l-44.6-35.1c-14.9 8.2-27.9 20.1-37.4 34.8c-23.3-36.4-68.4-55.1-110.6-45.8c9.3-42.2-9.4-87.3-45.8-110.6c7.1-4.6 13.6-9.9 19.2-16l-38.1-30c-9.5 8.5-22.2 14-37.2 14H96c-17.7 0-32 14.3-32 32s14.3 32 32 32h11.5c49.9 0 74.9 60.3 39.6 95.6l-8.2 8.2c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l8.2-8.2c35.3-35.3 95.6-10.3 95.6 39.6V480c0 17.7 14.3 32 32 32s32-14.3 32-32V468.5c0-31.2 23.6-52.7 50-55.7z\"]\n};\nvar faBracketRoundRight = {\n prefix: 'far',\n iconName: 'bracket-round-right',\n icon: [192, 512, [], \"29\", \"M35.4 43.7c-6.8 11.4-3 26.1 8.3 32.9C76.7 96.3 144 160.7 144 256s-67.3 159.7-100.3 179.4c-11.4 6.8-15.1 21.5-8.3 32.9s21.5 15.1 32.9 8.3C110 451.8 192 374.1 192 256S110 60.2 68.3 35.4c-11.4-6.8-26.1-3-32.9 8.3z\"]\n};\nvar faCircleSterling = {\n prefix: 'far',\n iconName: 'circle-sterling',\n icon: [512, 512, [], \"e5cf\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm261.5-96c-16.8 0-30.4 13.7-30.3 30.5l.2 33.5H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H231.7l.1 9.7c.1 18.6-3.1 37-9.6 54.3H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-8.4 0-16.1-4.4-20.5-11.5s-4.7-16-.8-23.5l9.6-18.6c7.7-14.9 11.6-31.5 11.5-48.3l-.1-10.1H176c-8.8 0-16-7.2-16-16s7.2-16 16-16h7.5l-.2-33.1c-.3-43.5 34.8-78.9 78.3-78.9c10 0 19.8 1.9 29.1 5.6l30.3 12.1c12.3 4.9 18.3 18.9 13.4 31.2s-18.9 18.3-31.2 13.4l-30.3-12.1c-3.6-1.4-7.4-2.2-11.3-2.2z\"]\n};\nvar faCircle5 = {\n prefix: 'far',\n iconName: 'circle-5',\n icon: [512, 512, [], \"e0f2\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM208 128c-11.6 0-21.5 8.3-23.6 19.7l-16 88c-1.2 6.5 .4 13.3 4.4 18.6s10 8.8 16.6 9.5l86.9 9.8c15.8 1.8 27.8 15.2 27.8 31.1c0 17.3-14 31.3-31.3 31.3h-36c-11.5 0-22.3-5.7-28.8-15.3l-4.1-6.1c-7.4-11-22.3-13.9-33.3-6.5s-13.9 22.3-6.5 33.3l4.1 6.1c15.4 22.9 41.1 36.6 68.6 36.6h36c43.8 0 79.3-35.5 79.3-79.3c0-40.3-30.3-74.3-70.4-78.8L220.2 219l7.8-43h84c13.3 0 24-10.7 24-24s-10.7-24-24-24H208z\"]\n};\nvar faMinus = {\n prefix: 'far',\n iconName: 'minus',\n icon: [448, 512, [8211, 8722, 10134, \"subtract\"], \"f068\", \"M432 256c0 13.3-10.7 24-24 24L40 280c-13.3 0-24-10.7-24-24s10.7-24 24-24l368 0c13.3 0 24 10.7 24 24z\"]\n};\nvar faSubtract = faMinus;\nvar faFireFlame = {\n prefix: 'far',\n iconName: 'fire-flame',\n icon: [384, 512, [\"flame\"], \"f6df\", \"M209.1 8.5c72.9 68 128.7 152.4 162.7 246.1l.7 1.9c7.6 20.9 11.5 42.9 11.5 65.1C384 426.7 297.2 512 192 512S0 426.7 0 321.6c0-22.2 3.9-44.2 11.5-65.1l.7-1.9L57.3 271l-.7 1.9c-5.7 15.6-8.6 32.1-8.6 48.7C48 399.7 112.8 464 192 464s144-64.3 144-142.4c0-16.6-2.9-33.1-8.6-48.7l42.3-15.4-42.3 15.4-.7-1.9c-29-79.8-75-152.2-134.7-212.2C132.3 118.8 86.3 191.2 57.3 271L12.2 254.6C46.2 160.8 102 76.5 174.9 8.5l3.3-3C181.9 2 186.9 0 192 0s10.1 2 13.8 5.5l3.3 3zM189.3 163.8c1.7-2.4 4.4-3.8 7.4-3.8c5 0 9.1 4.1 9.1 9.1v10.8c0 7.8 3.1 15.3 8.5 20.8l44.1 45.1c19 19.4 29.6 45.5 29.6 72.6V320c0 53-43 96-96 96s-96-43-96-96V308.6c0-18.4 6.6-36.3 18.6-50.3l6-7c1.8-2.1 4.4-3.3 7.1-3.3c5.2 0 9.4 4.2 9.4 9.4v40.9c0 20.8 16.9 37.7 37.7 37.7s37.7-16.9 37.7-37.7v-1.5c0-10.2-3.9-19.9-11-27.3l-11-11.4c-12.3-12.8-19.2-29.8-19.2-47.5c0-14.4 4.5-28.4 13-40.1l4.9-6.7z\"]\n};\nvar faFlame = faFireFlame;\nvar faRightToLine = {\n prefix: 'far',\n iconName: 'right-to-line',\n icon: [448, 512, [\"arrow-alt-to-right\"], \"f34c\", \"M192 146.2L302 256 192 365.8l0-53.8c0-13.3-10.7-24-24-24L48 288l0-64 120 0c13.3 0 24-10.7 24-24l0-53.8zM352 256c0-11.5-4.6-22.5-12.7-30.6L223.2 109.6c-8.7-8.7-20.5-13.6-32.8-13.6c-25.6 0-46.4 20.8-46.4 46.4l0 33.6-96 0c-26.5 0-48 21.5-48 48l0 64c0 26.5 21.5 48 48 48l96 0 0 33.6c0 25.6 20.8 46.4 46.4 46.4c12.3 0 24.1-4.9 32.8-13.6L339.3 286.6c8.1-8.1 12.7-19.1 12.7-30.6zM400 88l0 336c0 13.3 10.7 24 24 24s24-10.7 24-24l0-336c0-13.3-10.7-24-24-24s-24 10.7-24 24z\"]\n};\nvar faArrowAltToRight = faRightToLine;\nvar faGif = {\n prefix: 'far',\n iconName: 'gif',\n icon: [576, 512, [], \"e190\", \"M512 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H512zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM296 160c-13.3 0-24 10.7-24 24V328c0 13.3 10.7 24 24 24s24-10.7 24-24V184c0-13.3-10.7-24-24-24zm56 24v80 64c0 13.3 10.7 24 24 24s24-10.7 24-24V288h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H400V208h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H376c-13.3 0-24 10.7-24 24zM128 256c0-26.5 21.5-48 48-48c8 0 15.4 1.9 22 5.3c11.8 6.1 26.3 1.5 32.3-10.3s1.5-26.3-10.3-32.3c-13.2-6.8-28.2-10.7-44-10.7c-53 0-96 43-96 96s43 96 96 96c19.6 0 37.5-6.1 52.8-15.8c7-4.4 11.2-12.1 11.2-20.3V264c0-13.3-10.7-24-24-24H184c-13.3 0-24 10.7-24 24s10.7 24 24 24h8v13.1c-5.3 1.9-10.6 2.9-16 2.9c-26.5 0-48-21.5-48-48z\"]\n};\nvar faChess = {\n prefix: 'far',\n iconName: 'chess',\n icon: [512, 512, [], \"f439\", \"M144 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V32H96c-8.8 0-16 7.2-16 16s7.2 16 16 16h16V96H66.9C43.2 96 24 115.2 24 138.9c0 4.7 .8 9.4 2.3 13.8l19.6 57.5C37.7 214.1 32 222.4 32 232c0 11.6 8.2 21.3 19.2 23.5L49.1 352h48l2.1-96h57.6l2.1 96h48l-2.1-96.5c10.9-2.2 19.2-11.9 19.2-23.5c0-9.6-5.7-17.9-13.9-21.8l19.6-57.5c1.5-4.5 2.3-9.1 2.3-13.8c0-23.7-19.2-42.9-42.9-42.9H144V64h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H144V16zm16.2 192H95.8L74 144H182l-21.8 64zm-91 224H186.8l16.6 32H52.7l16.6-32zm-9.7-48c-12 0-22.9 6.7-28.4 17.3L4.6 452.5c-3 5.8-4.6 12.2-4.6 18.7C0 493.8 18.2 512 40.8 512H192h23.2 80.5H320 472.2c22 0 39.8-17.8 39.8-39.8c0-6.8-1.7-13.4-5-19.3l-31.4-56.6c-4.2-7.6-12.3-12.3-21-12.3H313.4c-8.7 0-16.7 4.7-21 12.3L261 452.9c-3.2 5.8-5 12.4-5 19.1h0c0-.2 0-.5 0-.8c0-6.5-1.6-12.9-4.6-18.7l-26.5-51.2c-5.5-10.6-16.5-17.3-28.4-17.3H59.5zM256 184v72c0 5 1.6 9.9 4.5 13.9L296 319.7V352h48V312c0-5-1.6-9.9-4.5-13.9L304 248.3V208h32v16c0 8.8 7.2 16 16 16s16-7.2 16-16V208h32v16c0 8.8 7.2 16 16 16s16-7.2 16-16V208h32v40.3l-35.5 49.7c-2.9 4.1-4.5 8.9-4.5 13.9v40h48V319.7l35.5-49.7c2.9-4.1 4.5-8.9 4.5-13.9V184c0-13.3-10.7-24-24-24H280c-13.3 0-24 10.7-24 24zm53.8 280l17.8-32H440.5l17.8 32H309.8z\"]\n};\nvar faTrashSlash = {\n prefix: 'far',\n iconName: 'trash-slash',\n icon: [640, 512, [], \"e2b3\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L491.3 359.8 508.4 128H520c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8H463.9 450.2L413.5 24.9C403.1 9.4 385.6 0 366.9 0H273.1c-18.7 0-36.2 9.4-46.6 24.9L189.8 80H176.1 134.4L38.8 5.1zM195.6 128H460.3L445.8 324.1 195.6 128zM479.2 473.6l-42.1-33.1-.6 8.7c-.6 8.4-7.6 14.8-16 14.8H219.4c-8.4 0-15.3-6.5-16-14.8L188.3 244.4l-51.1-40.3 18.4 248.6c2.5 33.4 30.3 59.3 63.8 59.3H420.6c26.1 0 48.8-15.7 58.7-38.4zM273.1 48h93.7c2.7 0 5.2 1.3 6.7 3.6l19 28.4h-145l19-28.4c1.5-2.2 4-3.6 6.7-3.6z\"]\n};\nvar faArrowLeftLong = {\n prefix: 'far',\n iconName: 'arrow-left-long',\n icon: [512, 512, [\"long-arrow-left\"], \"f177\", \"M7 239c-9.4 9.4-9.4 24.6 0 33.9L143 409c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-95-95L488 280c13.3 0 24-10.7 24-24s-10.7-24-24-24L81.9 232l95-95c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L7 239z\"]\n};\nvar faLongArrowLeft = faArrowLeftLong;\nvar faPlugCircleCheck = {\n prefix: 'far',\n iconName: 'plug-circle-check',\n icon: [576, 512, [], \"e55c\", \"M128 24c0-13.3-10.7-24-24-24S80 10.7 80 24v88h48V24zm176 0c0-13.3-10.7-24-24-24s-24 10.7-24 24v88h48V24zM24 144c-13.3 0-24 10.7-24 24s10.7 24 24 24h8v64c0 80.2 59 146.6 136 158.2V488c0 13.3 10.7 24 24 24s24-10.7 24-24V414.2c15.2-2.3 29.7-6.7 43.1-12.9c-2.1-10.8-3.1-21.9-3.1-33.3c0-7.1 .4-14.1 1.2-20.9C238.9 360.2 216.3 368 192 368c-61.9 0-112-50.1-112-112V192H304v55.2c13.8-14.6 30-26.8 48-36V192h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8H304 80 32 24zM576 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L416 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faFontCase = {\n prefix: 'far',\n iconName: 'font-case',\n icon: [640, 512, [], \"f866\", \"M198.4 47.5C194.9 38.2 186 32 176 32s-18.9 6.2-22.4 15.5l-152 400c-4.7 12.4 1.5 26.3 13.9 31s26.3-1.5 31-13.9L83.1 368H268.9l36.7 96.5c4.7 12.4 18.6 18.6 31 13.9s18.6-18.6 13.9-31l-152-400zM250.7 320H101.4L176 123.6 250.7 320zM616 160c-13.3 0-24 10.7-24 24v8.8c-22.1-20.4-51.6-32.8-84-32.8c-68.5 0-124 55.5-124 124v72c0 68.5 55.5 124 124 124c32.4 0 61.9-12.4 84-32.8V456c0 13.3 10.7 24 24 24s24-10.7 24-24V184c0-13.3-10.7-24-24-24zM432 284c0-42 34-76 76-76s76 34 76 76v72c0 42-34 76-76 76s-76-34-76-76V284z\"]\n};\nvar faStreetView = {\n prefix: 'far',\n iconName: 'street-view',\n icon: [512, 512, [], \"f21d\", \"M256 48a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0 96A72 72 0 1 0 256 0a72 72 0 1 0 0 144zM192 280l0 0V240c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32v40l0 0c-19.4 4.9-33.8 21.3-36 41.2l-6.2 55.6c-.5 4.1-3.9 7.1-8 7.1H242.1c-4.1 0-7.5-3.1-8-7.1L228 321.3c-2.2-19.9-16.6-36.3-36-41.2zm-5.6 102.2c3.2 28.4 27.1 49.8 55.7 49.8h27.8c28.5 0 52.5-21.5 55.7-49.8l6.2-55.6c20.8-5.2 36.3-24.1 36.3-46.6V240c0-44.2-35.8-80-80-80H224c-44.2 0-80 35.8-80 80v40c0 22.5 15.4 41.3 36.3 46.6l6.2 55.6zm-54.1 12c13-2.4 21.7-14.9 19.3-27.9s-14.9-21.7-27.9-19.3c-32.4 5.9-60.9 14.2-82 24.8c-10.5 5.3-20.3 11.7-27.8 19.6C6.4 399.5 0 410.5 0 424c0 21.4 15.5 36.1 29.1 45c14.7 9.6 34.3 17.3 56.4 23.4C130.2 504.7 190.4 512 256 512s125.8-7.3 170.4-19.6c22.1-6.1 41.8-13.8 56.4-23.4c13.7-8.9 29.1-23.6 29.1-45c0-13.5-6.4-24.5-14-32.6c-7.5-7.9-17.3-14.3-27.8-19.6c-21-10.6-49.5-18.9-82-24.8c-13-2.4-25.5 6.3-27.9 19.3s6.3 25.5 19.3 27.9c30.2 5.5 53.7 12.8 69 20.5c3.2 1.6 5.8 3.1 7.9 4.5c3.6 2.4 3.6 7.2 0 9.6c-8.8 5.7-23.1 11.8-43 17.3C374.3 457 318.5 464 256 464s-118.3-7-157.7-17.9c-19.9-5.5-34.2-11.6-43-17.3c-3.6-2.4-3.6-7.2 0-9.6c2.1-1.4 4.8-2.9 7.9-4.5c15.3-7.7 38.8-14.9 69-20.5z\"]\n};\nvar faArrowDownLeft = {\n prefix: 'far',\n iconName: 'arrow-down-left',\n icon: [384, 512, [], \"e091\", \"M56 416c-13.3 0-24-10.7-24-24V152c0-13.3 10.7-24 24-24s24 10.7 24 24V334.1L311 103c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-231 231H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H56z\"]\n};\nvar faFrancSign = {\n prefix: 'far',\n iconName: 'franc-sign',\n icon: [320, 512, [], \"e18f\", \"M72 32C58.7 32 48 42.7 48 56V216 320H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H48v88c0 13.3 10.7 24 24 24s24-10.7 24-24V368H200c13.3 0 24-10.7 24-24s-10.7-24-24-24H96V240H264c13.3 0 24-10.7 24-24s-10.7-24-24-24H96V80H296c13.3 0 24-10.7 24-24s-10.7-24-24-24H72z\"]\n};\nvar faFlaskRoundPoison = {\n prefix: 'far',\n iconName: 'flask-round-poison',\n icon: [448, 512, [\"flask-poison\"], \"f6e0\", \"M176 48h96V157.7c0 24.3 13.5 44.9 32.3 55.9C352.1 241.4 384 293 384 352c0 43.1-17 82.1-44.7 110.9c-.1 .1-.3 .2-.8 .4c-.9 .4-2.5 .7-4.8 .7H114.2c-2.2 0-3.8-.4-4.8-.7c-.4-.2-.7-.3-.8-.4C81 434.1 64 395.1 64 352c0-59 31.9-110.6 79.7-138.4c18.8-11 32.3-31.6 32.3-55.9V48zM320 157.7V48h8c13.3 0 24-10.7 24-24s-10.7-24-24-24H304 144 120C106.7 0 96 10.7 96 24s10.7 24 24 24h8V157.7c0 6-3.3 11.4-8.5 14.4C57.6 208.2 16 275.2 16 352c0 56 22.1 106.9 58.2 144.3C84.5 507 99.3 512 114.2 512H333.8c15 0 29.7-5 40.1-15.7C409.9 458.9 432 408 432 352c0-76.8-41.6-143.8-103.5-179.9c-5.2-3-8.5-8.4-8.5-14.4zM286.8 378.4c15.6-13 25.2-30.8 25.2-50.4c0-39.8-39.4-72-88-72s-88 32.2-88 72c0 19.6 9.6 37.4 25.2 50.4c4.1 3.4 6.8 8.3 6.8 13.6v8c0 8.8 7.2 16 16 16h80c8.8 0 16-7.2 16-16v-8c0-5.3 2.7-10.2 6.8-13.6zM192 312a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faFlaskPoison = faFlaskRoundPoison;\nvar faVolumeOff = {\n prefix: 'far',\n iconName: 'volume-off',\n icon: [320, 512, [], \"f026\", \"M272 102.3L159.9 201.9c-4.4 3.9-10.1 6.1-15.9 6.1H56c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8h88c5.9 0 11.6 2.2 15.9 6.1L272 409.7V102.3zm-1.6-62.8c5.5-4.8 12.5-7.5 19.8-7.5C306.7 32 320 45.3 320 61.8V450.2c0 16.5-13.3 29.8-29.8 29.8c-7.3 0-14.3-2.7-19.8-7.5L134.9 352H56c-30.9 0-56-25.1-56-56V216c0-30.9 25.1-56 56-56h78.9L270.4 39.5z\"]\n};\nvar faBookCircleArrowRight = {\n prefix: 'far',\n iconName: 'book-circle-arrow-right',\n icon: [640, 512, [], \"e0bc\", \"M88 0C39.4 0 0 39.4 0 88V424H.4c-.3 2.6-.4 5.3-.4 8c0 44.2 35.8 80 80 80H394.8c-18.3-12.9-34.1-29.2-46.3-48H80c-17.7 0-32-14.3-32-32s14.3-32 32-32H322.9c-1.9-10.4-2.9-21.1-2.9-32c0-5.4 .2-10.7 .7-16H80c-11.4 0-22.2 2.4-32 6.7V88c0-22.1 17.9-40 40-40H392c4.4 0 8 3.6 8 8V220.5c14.6-9.5 30.8-17 48-21.8V56c0-30.9-25.1-56-56-56H88zM640 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zM492.7 300.7c6.2-6.2 16.4-6.2 22.6 0l56 56c6.2 6.2 6.2 16.4 0 22.6l-56 56c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L521.4 384H432c-8.8 0-16-7.2-16-16s7.2-16 16-16h89.4l-28.7-28.7c-6.2-6.2-6.2-16.4 0-22.6z\"]\n};\nvar faChartUser = {\n prefix: 'far',\n iconName: 'chart-user',\n icon: [640, 512, [\"user-chart\"], \"f6a3\", \"M576 48H224c-8.8 0-16 7.2-16 16v41.3c-14.8-6-31-9.3-48-9.3V64c0-35.3 28.7-64 64-64H576c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H336.8c-8.3-18-19.8-34.2-33.7-48H576c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16zM412.7 139.3c-4.6-4.6-5.9-11.5-3.5-17.4s8.3-9.9 14.8-9.9h88c8.8 0 16 7.2 16 16v88c0 6.5-3.9 12.3-9.9 14.8s-12.9 1.1-17.4-3.5l-27-27L401 273c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47 55.7-55.7-27-27zM160 272a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm0-144a96 96 0 1 1 0 192 96 96 0 1 1 0-192zM133.3 400c-39.8 0-73.2 27.2-82.6 64H269.3c-9.5-36.8-42.9-64-82.6-64H133.3zm0-48h53.3C260.3 352 320 411.7 320 485.3c0 14.7-11.9 26.7-26.7 26.7H26.7C11.9 512 0 500.1 0 485.3C0 411.7 59.7 352 133.3 352z\"]\n};\nvar faUserChart = faChartUser;\nvar faHandsAslInterpreting = {\n prefix: 'far',\n iconName: 'hands-asl-interpreting',\n icon: [640, 512, [\"american-sign-language-interpreting\", \"asl-interpreting\", \"hands-american-sign-language-interpreting\"], \"f2a3\", \"M186.3 55.8l-51.8 86.3c-5.8 9.6-17.4 14-28.1 10.5S89 138.6 90 127.5l5.9-61.9c.8-8.8-5.6-16.6-14.4-17.4s-16.6 5.6-17.4 14.4l-16 168-.1 .8v.8 32c0 61.9 50.1 112 112 112h48c31.6 0 60.5-14.5 76.2-41.6c4.4-7.7 1.8-17.4-5.8-21.9c-2.5-1.4-5.1-2.1-7.7-2.2l-.3 0-.3 0c-5.5 .1-10.7 3-13.6 8C247.4 334.1 230 344 208 344c-30.9 0-56-25.1-56-56s25.1-56 56-56c11.6 0 21.7 1.8 30.1 5.8c8.9 4.2 14.8 10.3 18.4 16.6c2.9 5 8.1 7.9 13.6 8l.3 0 .3 0c2.6 0 5.2-.7 7.7-2.2c7.6-4.4 10.3-14.2 5.8-21.9c-6-10.3-13.5-18-21.9-23.6c-7.1-4.8-11.1-12.9-10.5-21.5s5.6-16.1 13.2-19.9l46.2-23.1c7.9-4 11.1-13.6 7.2-21.5s-13.6-11.1-21.5-7.2l-87.4 43.7c-9.5 4.8-21.1 2.7-28.3-5.2s-8.5-19.5-3-28.7l35.6-59.4c4.5-7.6 2.1-17.4-5.5-22s-17.4-2.1-22 5.5zm92.8 349.5C257.5 417.8 232.7 424 208 424H160C71.6 424 0 352.4 0 264V232v-1.9c0-.8 0-1.5 .1-2.3l.2-1.9 16-168C19.6 22.8 50.9-3.1 86.1 .3c24.7 2.4 44.9 18.5 53.4 40.1l5.6-9.3c18.2-30.3 57.5-40.1 87.8-22c26.9 16.2 37.7 49 27 77.4l15.4-7.7c31.4-15.7 69.5-3.2 85.5 28C382.5 94.2 407.3 88 432 88h48c88.4 0 160 71.6 160 160v32 1.9c0 .8 0 1.5-.1 2.3l-.2 1.9-16 168c-3.4 35.2-34.6 61-69.8 57.6c-24.7-2.4-44.9-18.5-53.4-40.1l-5.6 9.3c-18.2 30.3-57.5 40.1-87.8 22c-26.9-16.2-37.7-49-27-77.4l-15.4 7.7c-31.4 15.7-69.5 3.2-85.5-28zm174.6 51l51.8-86.3c5.8-9.6 17.4-14 28.1-10.5s17.5 13.9 16.4 25.1l-5.9 61.9c-.8 8.8 5.6 16.6 14.4 17.4s16.6-5.6 17.4-14.4l16-168 .1-.8V280 248c0-61.9-50.1-112-112-112H432c-31.6 0-60.5 14.5-76.2 41.6c-4.4 7.6-1.8 17.4 5.8 21.9c2.5 1.4 5.1 2.1 7.7 2.2l.3 0 .3 0c5.5-.1 10.7-3 13.6-8C392.6 177.9 410 168 432 168c30.9 0 56 25.1 56 56s-25.1 56-56 56c-11.6 0-21.7-1.8-30.1-5.8c-8.9-4.2-14.8-10.3-18.4-16.6c-2.9-5-8.1-7.9-13.6-8l-.3 0-.3 0c-2.6 0-5.2 .7-7.7 2.2c-7.7 4.4-10.3 14.2-5.8 21.9c6 10.3 13.5 18 21.9 23.6c7.1 4.8 11.1 12.9 10.6 21.5s-5.6 16.1-13.2 19.9l-46.2 23.1c-7.9 4-11.1 13.6-7.2 21.5s13.6 11.1 21.5 7.2l87.4-43.7c9.5-4.8 21.1-2.7 28.3 5.2s8.5 19.5 3 28.7l-35.6 59.4c-4.5 7.6-2.1 17.4 5.5 22s17.4 2.1 22-5.5zM224 288a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm208-48a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faAmericanSignLanguageInterpreting = faHandsAslInterpreting;\nvar faAslInterpreting = faHandsAslInterpreting;\nvar faHandsAmericanSignLanguageInterpreting = faHandsAslInterpreting;\nvar faPresentationScreen = {\n prefix: 'far',\n iconName: 'presentation-screen',\n icon: [576, 512, [\"presentation\"], \"f685\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48H552c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zm8 80V296c0 30.9 25.1 56 56 56H264v46.1l-73 73c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l63-63 63 63c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-73-73V352H488c30.9 0 56-25.1 56-56V80H496V296c0 4.4-3.6 8-8 8H288 88c-4.4 0-8-3.6-8-8V80H32z\"]\n};\nvar faPresentation = faPresentationScreen;\nvar faCircleBolt = {\n prefix: 'far',\n iconName: 'circle-bolt',\n icon: [512, 512, [], \"e0fe\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM330.1 115.6c5.8 4.7 7.6 12.9 4.2 19.6L281.9 240H352c6.8 0 12.9 4.3 15.1 10.7s.2 13.5-5.1 17.8l-160 128c-5.9 4.7-14.2 4.7-20.1-.1s-7.6-12.9-4.3-19.6L230.1 272H160c-6.8 0-12.8-4.3-15.1-10.7s-.2-13.5 5.1-17.8l160-128c5.9-4.7 14.2-4.7 20.1 .1z\"]\n};\nvar faFaceSmileHalo = {\n prefix: 'far',\n iconName: 'face-smile-halo',\n icon: [512, 512, [], \"e38f\", \"M512 80C512 35.8 397.4 0 256 0S0 35.8 0 80s114.6 80 256 80s256-35.8 256-80zm-64 0c0 17.7-86 32-192 32S64 97.7 64 80s86-32 192-32s192 14.3 192 32zM45.6 156.5C26.7 190.7 16 230.1 16 272c0 132.5 107.5 240 240 240s240-107.5 240-240c0-41.9-10.7-81.3-29.6-115.5c-14 5.8-29.6 11.1-46.4 15.6c17.8 29.1 28 63.3 28 99.9c0 106-86 192-192 192S64 378 64 272c0-36.6 10.2-70.8 28-99.9c-16.9-4.6-32.4-9.8-46.4-15.6zm172 128.3l0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C126.7 244.4 120 262.1 120 280c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8l0 0 0 0 0 0 .2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2 0 0 0 0zm-73.9 47.9c-9.7 9-10.4 24.2-1.4 33.9c22 23.8 60 49.4 113.6 49.4s91.7-25.5 113.6-49.4c9-9.7 8.4-24.9-1.4-33.9s-24.9-8.4-33.9 1.4C319.2 350.5 293.2 368 256 368s-63.2-17.5-78.4-33.9c-9-9.7-24.2-10.4-33.9-1.4zm233.9-47.9l0 0 0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C286.7 244.4 280 262.1 280 280c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8l0 0 0 0 0 0 .2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2 0 0z\"]\n};\nvar faCartCircleArrowDown = {\n prefix: 'far',\n iconName: 'cart-circle-arrow-down',\n icon: [640, 512, [], \"e3ef\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48H69.5c3.8 0 7.1 2.7 7.9 6.5l51.6 271c6.5 34 36.2 58.5 70.7 58.5h121c-.5-5.3-.7-10.6-.7-16c0-10.9 1-21.6 2.9-32H199.7c-11.5 0-21.4-8.2-23.6-19.5L170.7 288H339.2c9.2-18 21.4-34.2 36-48H161.6L131.1 80H520.7L490.5 192.1c1.8-.1 3.7-.1 5.5-.1c14.8 0 29.1 1.8 42.8 5.2L569.7 82.4C576.6 57 557.4 32 531.1 32h-411C111 12.8 91.6 0 69.5 0H24zM176 512a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm320 0a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm67.3-147.3c6.2 6.2 6.2 16.4 0 22.6l-56 56c-6.2 6.2-16.4 6.2-22.6 0l-56-56c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 393.4V304c0-8.8 7.2-16 16-16s16 7.2 16 16v89.4l28.7-28.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faHousePersonReturn = {\n prefix: 'far',\n iconName: 'house-person-return',\n icon: [640, 512, [\"house-person-arrive\", \"house-return\"], \"e011\", \"M432 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm66.2 266.6l-29.9-89.8c-7.7 1.2-15 3.6-21.7 7.1c.1 .3 .2 .7 .3 1l32.4 103.8 16.3-13.3c2.6-2.1 3.6-5.6 2.5-8.7zm-59 54.6l-28.5-91.3-10.5 36.7c-1.9 6.5-5.4 12.5-10.2 17.3L361 313c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l27.6-27.6 10.9-38.1c14.4-50.5 60.6-85.4 113.2-85.4h4.9c16.1 0 32.1 2.6 47.4 7.7c39.9 13.3 72.4 42.8 89.5 81.3l9.5 21.3c5.4 12.1-.1 26.3-12.2 31.7s-26.3-.1-31.7-12.2l-9.5-21.3c-10.9-24.4-30.9-43.5-55.6-53.3l22.8 68.3c7.4 22.1 .3 46.5-17.8 61.2L421.5 397.4l-22.1 96c-3 12.9-15.9 21-28.8 18s-21-15.9-18-28.8L375.4 384c2-8.7 6.8-16.4 13.8-22.1l50.1-40.7zm101.1 21l24.1 60.4L633 471c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-69.7-69.7c-3.8-3.8-6.8-8.4-8.9-13.4l-19.2-48 39-31.7zm-146.7-224l2.9 2.4c-13.5 8.9-25.6 20-35.7 32.8L240 55 112 159.3V360c0 4.4 3.6 8 8 8H346.8c-1.1 2.9-1.9 5.8-2.6 8.8L335.1 416H120c-30.9 0-56-25.1-56-56V198.4L39.2 218.6c-10.3 8.4-25.4 6.8-33.8-3.4s-6.8-25.4 3.4-33.8l216-176c8.8-7.2 21.5-7.2 30.3 0L371.1 99.8c6.3 7.4 14 13.7 22.6 18.4zM160 208c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V208z\"]\n};\nvar faHousePersonArrive = faHousePersonReturn;\nvar faHouseReturn = faHousePersonReturn;\nvar faMessageXmark = {\n prefix: 'far',\n iconName: 'message-xmark',\n icon: [512, 512, [\"comment-alt-times\", \"message-times\"], \"f4ab\", \"M208 416c0-26.5-21.5-48-48-48H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H448c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H309.3c-10.4 0-20.5 3.4-28.8 9.6L208 432V416zm-.2 76.2l.2-.2 101.3-76H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h48 48v48 4 .3 6.4V496c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L202.7 496l5.1-3.8zM175 127c-9.4 9.4-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47c-9.4-9.4-24.6-9.4-33.9 0z\"]\n};\nvar faCommentAltTimes = faMessageXmark;\nvar faMessageTimes = faMessageXmark;\nvar faFileCertificate = {\n prefix: 'far',\n iconName: 'file-certificate',\n icon: [512, 512, [\"file-award\"], \"f5f3\", \"M448 464H224v32c0 5.5-1 10.9-2.7 16H448c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L402.7 18.7C390.7 6.7 374.5 0 357.5 0H192c-35.3 0-64 28.7-64 64v71.1l.1-.1c1.5-.7 4-2 6.6-3c13.6-5.5 28.3-5.4 41.3-.5V64c0-8.8 7.2-16 16-16H352v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16zM109.2 161.6c-10-4.1-21.5-1-28.1 7.5L70.6 182.6c-1.3 1.7-3.2 2.7-5.2 3l-16.9 2.3c-10.7 1.5-19.1 9.9-20.5 20.5l-2.3 16.9c-.3 2.1-1.4 4-3 5.2L9.1 241.1c-8.5 6.6-11.6 18.1-7.5 28.1L8 285c.8 1.9 .8 4.1 0 6.1L1.6 306.8c-4.1 10-1 21.5 7.5 28.1l13.5 10.5c1.7 1.3 2.7 3.2 3 5.2l2.3 16.9c1.5 10.7 9.9 19.1 20.5 20.6L64 390.2V496c0 5.9 3.2 11.3 8.5 14.1s11.5 2.5 16.4-.8L128 483.2l39.1 26.1c4.9 3.3 11.2 3.6 16.4 .8s8.5-8.2 8.5-14.1V390.2l15.5-2.1c10.7-1.5 19.1-9.9 20.5-20.6l2.3-16.9c.3-2.1 1.4-4 3-5.2l13.5-10.5c8.5-6.6 11.6-18.1 7.5-28.1L248 291c-.8-1.9-.8-4.1 0-6.1l6.5-15.8c4.1-10 1-21.5-7.5-28.1l-13.5-10.5c-1.7-1.3-2.7-3.2-3-5.2l-2.3-16.9c-1.5-10.7-9.9-19.1-20.5-20.5l-16.9-2.3c-2.1-.3-4-1.4-5.2-3l-10.5-13.5c-6.6-8.5-18.1-11.6-28.1-7.5L131 168c-1.9 .8-4.1 .8-6.1 0l-15.8-6.5zM64 288a64 64 0 1 1 128 0A64 64 0 1 1 64 288z\"]\n};\nvar faFileAward = faFileCertificate;\nvar faUserDoctorHairLong = {\n prefix: 'far',\n iconName: 'user-doctor-hair-long',\n icon: [448, 512, [], \"e459\", \"M304 128c0-11.4-2.4-22.2-6.7-32H296c-20.5 0-38.7-9.6-50.4-24.5C231.9 95.7 205.8 112 176 112H145.6c-1 5.2-1.6 10.5-1.6 16v16c0 44.2 35.8 80 80 80s80-35.8 80-80V128zM96 128C96 57.3 153.3 0 224 0s128 57.3 128 128v11c0 33.9 13.5 66.5 37.5 90.5l3.9 3.9c4.2 4.2 6.6 10 6.6 16c0 12.5-10.1 22.6-22.6 22.6H224 70.6C58.1 272 48 261.9 48 249.4c0-6 2.4-11.8 6.6-16l3.9-3.9c24-24 37.5-56.6 37.5-90.5V128zm80 224c-5.4 0-10.8 .3-16 1v49.3c23.1 6.9 40 28.3 40 53.7c0 30.9-25.1 56-56 56s-56-25.1-56-56c0-25.4 16.9-46.8 40-53.7v-41c-46.9 19-80 65-80 118.7v8c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8c0-97.2 78.8-176 176-176h96c97.2 0 176 78.8 176 176v8c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8c0-53.7-33.1-99.7-80-118.7V402c27.6 7.1 48 32.2 48 62v32c0 8.8-7.2 16-16 16H328c-8.8 0-16-7.2-16-16s7.2-16 16-16h8V464c0-17.7-14.3-32-32-32s-32 14.3-32 32v16h8c8.8 0 16 7.2 16 16s-7.2 16-16 16H256c-8.8 0-16-7.2-16-16V464c0-29.8 20.4-54.9 48-62V353c-5.2-.7-10.6-1-16-1H176zm-8 104a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faCameraSecurity = {\n prefix: 'far',\n iconName: 'camera-security',\n icon: [448, 512, [\"camera-home\"], \"f8fe\", \"M384 48c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H384zM64 0C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h40.1L67.6 475.4c-4.6 7.4-4.8 16.7-.5 24.3s12.3 12.3 21 12.3H360c8.7 0 16.7-4.7 21-12.3s4-16.9-.5-24.3L343.9 416H384c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM287.5 416l29.5 48H130.9l29.5-48h127zM336 208a112 112 0 1 0 -224 0 112 112 0 1 0 224 0zM224 144a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]\n};\nvar faCameraHome = faCameraSecurity;\nvar faGear = {\n prefix: 'far',\n iconName: 'gear',\n icon: [512, 512, [9881, \"cog\"], \"f013\", \"M256 0c17 0 33.6 1.7 49.8 4.8c7.9 1.5 21.8 6.1 29.4 20.1c2 3.7 3.6 7.6 4.6 11.8l9.3 38.5C350.5 81 360.3 86.7 366 85l38-11.2c4-1.2 8.1-1.8 12.2-1.9c16.1-.5 27 9.4 32.3 15.4c22.1 25.1 39.1 54.6 49.9 86.3c2.6 7.6 5.6 21.8-2.7 35.4c-2.2 3.6-4.9 7-8 10L459 246.3c-4.2 4-4.2 15.5 0 19.5l28.7 27.3c3.1 3 5.8 6.4 8 10c8.2 13.6 5.2 27.8 2.7 35.4c-10.8 31.7-27.8 61.1-49.9 86.3c-5.3 6-16.3 15.9-32.3 15.4c-4.1-.1-8.2-.8-12.2-1.9L366 427c-5.7-1.7-15.5 4-16.9 9.8l-9.3 38.5c-1 4.2-2.6 8.2-4.6 11.8c-7.7 14-21.6 18.5-29.4 20.1C289.6 510.3 273 512 256 512s-33.6-1.7-49.8-4.8c-7.9-1.5-21.8-6.1-29.4-20.1c-2-3.7-3.6-7.6-4.6-11.8l-9.3-38.5c-1.4-5.8-11.2-11.5-16.9-9.8l-38 11.2c-4 1.2-8.1 1.8-12.2 1.9c-16.1 .5-27-9.4-32.3-15.4c-22-25.1-39.1-54.6-49.9-86.3c-2.6-7.6-5.6-21.8 2.7-35.4c2.2-3.6 4.9-7 8-10L53 265.7c4.2-4 4.2-15.5 0-19.5L24.2 218.9c-3.1-3-5.8-6.4-8-10C8 195.3 11 181.1 13.6 173.6c10.8-31.7 27.8-61.1 49.9-86.3c5.3-6 16.3-15.9 32.3-15.4c4.1 .1 8.2 .8 12.2 1.9L146 85c5.7 1.7 15.5-4 16.9-9.8l9.3-38.5c1-4.2 2.6-8.2 4.6-11.8c7.7-14 21.6-18.5 29.4-20.1C222.4 1.7 239 0 256 0zM218.1 51.4l-8.5 35.1c-7.8 32.3-45.3 53.9-77.2 44.6L97.9 120.9c-16.5 19.3-29.5 41.7-38 65.7l26.2 24.9c24 22.8 24 66.2 0 89L59.9 325.4c8.5 24 21.5 46.4 38 65.7l34.6-10.2c31.8-9.4 69.4 12.3 77.2 44.6l8.5 35.1c24.6 4.5 51.3 4.5 75.9 0l8.5-35.1c7.8-32.3 45.3-53.9 77.2-44.6l34.6 10.2c16.5-19.3 29.5-41.7 38-65.7l-26.2-24.9c-24-22.8-24-66.2 0-89l26.2-24.9c-8.5-24-21.5-46.4-38-65.7l-34.6 10.2c-31.8 9.4-69.4-12.3-77.2-44.6l-8.5-35.1c-24.6-4.5-51.3-4.5-75.9 0zM208 256a48 48 0 1 0 96 0 48 48 0 1 0 -96 0zm48 96a96 96 0 1 1 0-192 96 96 0 1 1 0 192z\"]\n};\nvar faCog = faGear;\nvar faDropletSlash = {\n prefix: 'far',\n iconName: 'droplet-slash',\n icon: [640, 512, [\"tint-slash\"], \"f5c7\", \"M320 464c37.9 0 72.4-14.6 98.1-38.6l38 30C421.4 490.3 373.2 512 320 512c-106 0-192-86-192-192c0-27.7 12-62.9 29.8-99.6l38.7 30.5c-1.2 2.7-2.4 5.4-3.6 8c-11.9 27.6-17 48.2-17 61.1c0 79.5 64.5 144 144 144zm185.2-93.3l125.6 98.4c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2S28.4-3.1 38.8 5.1L205.8 136c34.9-54.7 72-103 88.9-124.3C300.6 4.2 309.5 0 319.1 0h1.8c9.6 0 18.5 4.2 24.5 11.7C381.8 57.7 512 228.8 512 320c0 17.5-2.4 34.6-6.8 50.7zm-42.3-33.1c.7-5.8 1.1-11.6 1.1-17.6c0-13-5.1-33.5-17-61.1c-11.5-26.6-27.6-55.8-45.5-84.7c-29-46.8-61-90.2-81.5-117c-19.3 25.1-48.7 65-76.3 108.5L462.9 337.5zM224 312c0-11.9 8.7-21.8 20.1-23.7l27.9 21.9c0 .6 .1 1.2 .1 1.7c0 30.9 25.1 56 56 56c13.3 0 24 10.7 24 24s-10.7 24-24 24c-57.4 0-104-46.6-104-104z\"]\n};\nvar faTintSlash = faDropletSlash;\nvar faBookHeart = {\n prefix: 'far',\n iconName: 'book-heart',\n icon: [448, 512, [], \"f499\", \"M0 88C0 39.4 39.4 0 88 0H392c30.9 0 56 25.1 56 56V344c0 22.3-13.1 41.6-32 50.6V464h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H80c-44.2 0-80-35.8-80-80c0-2.7 .1-5.4 .4-8H0V88zM80 400c-17.7 0-32 14.3-32 32s14.3 32 32 32H368V400H80zM48 358.7c9.8-4.3 20.6-6.7 32-6.7H392c4.4 0 8-3.6 8-8V56c0-4.4-3.6-8-8-8H88C65.9 48 48 65.9 48 88V358.7zm80-185.4c0-33.8 27.4-61.3 61.3-61.3c16.2 0 31.8 6.5 43.3 17.9l7.4 7.4 7.4-7.4c11.5-11.5 27.1-17.9 43.3-17.9c33.8 0 61.3 27.4 61.3 61.3c0 16.2-6.5 31.8-17.9 43.3l-82.7 82.7c-6.2 6.2-16.4 6.2-22.6 0l-82.7-82.7c-11.5-11.5-17.9-27.1-17.9-43.3z\"]\n};\nvar faMosque = {\n prefix: 'far',\n iconName: 'mosque',\n icon: [640, 512, [128332], \"f678\", \"M400 0c7.6 0 14.7 3.6 19.2 9.6c18 24 40.1 42.1 66.5 59.5c15.7 10.3 31.3 19.5 48.2 29.3c13.1 7.6 26.9 15.7 42.2 25.2c31 19.2 48 53.2 48 88.3c0 25.6-8.9 49.2-23.8 67.7C623.8 291.4 640 315.8 640 344v96c0 39.8-32.2 72-72 72H448 352 240h-8H72c-39.8 0-72-32.2-72-72V176 140.7C0 96.3 20.5 54.3 55.6 27l25.7-20c8.7-6.7 20.8-6.7 29.5 0l25.7 20c26.9 20.9 45.2 50.4 52.3 83.1c-24.1 21.6-38.9 51-43.3 81.9H144 48V440c0 13.3 10.7 24 24 24h92.1c-2.7-7.5-4.1-15.6-4.1-24V344c0-28.2 16.2-52.6 39.8-64.4C184.9 261 176 237.5 176 211.8c0-35.1 17-69.1 48-88.3c15.2-9.4 29.1-17.5 42.2-25.2l0 0c16.9-9.9 32.5-19 48.2-29.3c26.4-17.4 48.5-35.5 66.4-59.5C385.3 3.6 392.4 0 400 0zM232 464h8 16V408c0-13.3 10.7-24 24-24s24 10.7 24 24v56h48V414c0-19 8.4-37 23-49.2L400 344l25 20.8C439.6 377 448 395 448 414v50h48V408c0-13.3 10.7-24 24-24s24 10.7 24 24v56h24c13.3 0 24-10.7 24-24V344c0-13.3-10.7-24-24-24H515.8 400 284.2 232c-13.3 0-24 10.7-24 24v96c0 13.3 10.7 24 24 24zM48 144h96v-3.3c0-29.6-13.7-57.6-37.1-75.8L96 56.4 85.1 64.9C61.7 83.1 48 111.1 48 140.7V144zm528 67.8c0-19.9-9.6-37.7-25.3-47.5c-12.6-7.8-25.9-15.6-39-23.3c-18.3-10.8-36.5-21.4-52.4-31.9C438.2 95.3 418.1 80 400 61c-18.1 18.9-38.2 34.2-59.3 48.1c-16 10.5-34.1 21.1-52.4 31.9c-13.1 7.7-26.4 15.5-39 23.3C233.6 174.1 224 192 224 211.8c0 33.2 26.9 60.2 60.2 60.2H400 515.8c33.2 0 60.2-26.9 60.2-60.2z\"]\n};\nvar faDuck = {\n prefix: 'far',\n iconName: 'duck',\n icon: [512, 512, [129414], \"f6d8\", \"M69.1 324.1c11.2 4.8 23.7 5.2 35.2 1l146.5-52.7c14.6-5.3 25.8-17.3 30-32.2s.9-31-8.8-43.1c-10-12.4-15.9-28-15.9-45.1c0-39.8 32.2-72 72-72s72 32.2 72 72c0 20.1-8.2 38.2-21.5 51.4l7.5 7.6-7.5-7.6c-7.1 7-13.6 15.5-18.4 25.5c-8.7 18.2-5.1 39.9 9 54.4c14.3 14.5 22.9 34.3 22.9 56V352c0 44.2-35.8 80-80 80H196c-69.8 0-128.7-49.4-144.1-115.2l17.2 7.4zM446.8 135C438.5 76.8 388.5 32 328 32c-66.3 0-120 53.7-120 120c0 11.2 1.5 22 4.4 32.2c4.4 15.9 12.1 30.5 22.1 43l-47 16.9L88 280 37 258.1c-3.3-1.4-6.9-2.1-10.5-2.1C11.9 256 0 268.1 0 282.7C0 391 87.8 480 196 480H312c70.7 0 128-57.3 128-128V339.2c0-34.7-13.9-66.4-36.6-89.6c2.1-4.4 5.1-8.5 8.7-12c1.8-1.8 3.6-3.7 5.3-5.6h3.5c50.3 0 91.1-40.8 91.1-91.1c0-6.8-6-12.1-12.8-11.3L463.9 134c-5.7 .7-11.4 1-17.1 1zM344 176a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM299.2 289.1c-13.1-1.8-25.2 7.5-27 20.6c-2.7 20-18 38.3-40.8 44c-18.6 4.6-36.8-.5-49.3-11.6c-9.9-8.8-25.1-7.9-33.9 2s-7.9 25.1 2 33.9c24.2 21.5 58.7 30.8 92.8 22.3c41.6-10.4 71.4-44.4 76.7-84.2c1.8-13.1-7.5-25.2-20.6-27z\"]\n};\nvar faMosquito = {\n prefix: 'far',\n iconName: 'mosquito',\n icon: [640, 512, [], \"e52b\", \"M177.5 506.9c-10.3-8.2-12.2-23.5-4.3-34.1l43.1-57.3 0-55.6c0-5.8 2-11.4 5.7-15.8l62.3-74.6L154.6 387.8C97.6 447.6 0 405.2 0 320.6c0-47.9 34-88.3 79.3-94.2l153-23.9-40.8-40.9c-7.8-7.8-9.4-20.1-3.9-29.8l23.9-41.7L173.3 39.2c-8-10.6-6.1-25.9 4.3-34.1s25.2-6.3 33.2 4.4l48 63.9c5.9 7.9 6.6 18.6 1.7 27.2L237.8 140 288 190.3l0-38.1c0-14.9 10.2-27.4 24-31l0-57.2c0-4.4 3.6-8 8-8s8 3.6 8 8l0 57.2c13.8 3.6 24 16.1 24 31l0 38.2L402.2 140l-22.6-39.5c-4.9-8.6-4.2-19.3 1.7-27.2l48-63.9c8-10.6 22.8-12.6 33.2-4.4s12.2 23.5 4.3 34.1L428.5 90.1l23.9 41.7c5.5 9.7 3.9 22-3.9 29.8l-40.8 40.9 153 23.9c45.3 5.9 79.4 46.3 79.4 94.2c0 84.6-97.6 127-154.6 67.1L355.7 269.4 418 344c3.7 4.4 5.7 10 5.7 15.8l0 62.7 42.1 49c8.6 10.1 7.7 25.5-2.1 34.3s-24.7 7.9-33.4-2.1l-48-55.9c-3.8-4.4-5.9-10.2-5.9-16.1l0-62.9L352 339.7l0 68.1c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-68.1-24.3 29.2 0 54.9c0 5.4-1.7 10.6-4.9 14.9l-48 63.9c-8 10.6-22.8 12.6-33.2 4.4zM119.9 354.6c.8-.8 1.6-1.6 2.4-2.3L233.4 250.9l-146.6 23c-.4 .1-.8 .1-1.2 .2C65.8 276.6 48 295.1 48 320.6c0 22.3 12.2 37.3 27 43.7c14.5 6.3 31.3 4.5 44.9-9.7zM406.6 250.9L517.7 352.3c.8 .7 1.6 1.5 2.4 2.3c13.6 14.2 30.4 16 44.9 9.7c14.8-6.4 27-21.4 27-43.7c0-25.5-17.8-44-37.6-46.6c-.4-.1-.8-.1-1.2-.2L406.6 250.9z\"]\n};\nvar faStarOfDavid = {\n prefix: 'far',\n iconName: 'star-of-david',\n icon: [512, 512, [10017], \"f69a\", \"M408.9 301.9L378.2 352h61.5l-30.8-50.1zM380.8 256l-58.9-96H190.1l-58.9 96 58.9 96H321.9l58.9-96zm56.3 0l53.4 87c3.6 5.9 5.5 12.7 5.5 19.6c0 20.7-16.8 37.4-37.4 37.4H348.7l-56.2 91.5C284.8 504.3 270.9 512 256 512s-28.8-7.7-36.6-20.5L163.3 400H53.4C32.8 400 16 383.2 16 362.6c0-6.9 1.9-13.7 5.5-19.6l53.4-87L21.5 169c-3.6-5.9-5.5-12.7-5.5-19.6C16 128.8 32.8 112 53.4 112H163.3l56.2-91.5C227.2 7.7 241.1 0 256 0s28.8 7.7 36.6 20.5L348.7 112H458.6c20.7 0 37.4 16.8 37.4 37.4c0 6.9-1.9 13.7-5.5 19.6l-53.4 87zm-58.9-96l30.7 50.1L439.7 160H378.2zm-85.8-48L256 52.7 219.6 112h72.8zM133.8 160H72.3l30.8 50.1L133.8 160zM103.1 301.9L72.3 352h61.5l-30.8-50.1zM219.6 400L256 459.3 292.4 400H219.6z\"]\n};\nvar faFlagSwallowtail = {\n prefix: 'far',\n iconName: 'flag-swallowtail',\n icon: [448, 512, [\"flag-alt\"], \"f74c\", \"M48 24C48 10.7 37.3 0 24 0S0 10.7 0 24v8V80 304v48V488c0 13.3 10.7 24 24 24s24-10.7 24-24V352H424c13.3 0 24-10.7 24-24c0-5.2-1.7-10.2-4.8-14.4L352 192 443.2 70.4c3.1-4.2 4.8-9.2 4.8-14.4c0-13.3-10.7-24-24-24H48V24zm0 56H376l-62.4 83.2c-12.8 17.1-12.8 40.5 0 57.6L376 304H48V80z\"]\n};\nvar faFlagAlt = faFlagSwallowtail;\nvar faPersonMilitaryRifle = {\n prefix: 'far',\n iconName: 'person-military-rifle',\n icon: [512, 512, [], \"e54b\", \"M160 39c0 13.8 11.2 25 25 25H336c8.8 0 16-7.2 16-16V17.4C352 8 344 .7 334.7 1.4L182.9 14.1C170 15.2 160 26 160 39zm277.9 1c-7.7-4.4-17.4-1.8-21.9 5.9s-1.8 17.4 5.9 21.9L327.2 231.6c-10.1-3.8-20.8-6.2-31.7-7.1c-2.5-.3-5-.4-7.6-.4h-2.7H226.7 224c-2.6 0-5.1 .1-7.5 .4c-35.7 3.1-68.5 22-88.9 52L36.2 410.5c-7.5 11-4.6 25.9 6.3 33.4s25.9 4.6 33.3-6.3L160 314.1V480c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32V314.1l84.2 123.5c7.5 11 22.4 13.8 33.4 6.3s13.8-22.4 6.3-33.3l-85.2-125 38.6-66.9c8.8-15.3 3.6-34.9-11.7-43.7l-1.6-.9 55.5-96.1c4.4-7.7 1.8-17.4-5.9-21.9l-13.9-8-13.9-8zM304 403.6L228.8 272h56.5c1.7 0 3.5 .1 5.2 .2c7.7 1.2 13.5 7.8 13.5 15.8V403.6zm-96-71.3L283.2 464H208V332.4zM176 112c0 44.2 35.8 80 80 80s80-35.8 80-80c0-5.5-.6-10.8-1.6-16H283.7c2.7 4.7 4.3 10.2 4.3 16c0 17.7-14.3 32-32 32s-32-14.3-32-32c0-5.8 1.6-11.3 4.3-16H177.6c-1 5.2-1.6 10.5-1.6 16z\"]\n};\nvar faCarGarage = {\n prefix: 'far',\n iconName: 'car-garage',\n icon: [640, 512, [], \"f5e2\", \"M331.4 2.9c-7.1-3.8-15.7-3.8-22.8 0l-296 160c-11.7 6.3-16 20.9-9.7 32.5s20.9 16 32.5 9.7L320 51.3 604.6 205.1c11.7 6.3 26.2 2 32.5-9.7s2-26.2-9.7-32.5l-296-160zM249.8 208H390.2c10.1 0 19.2 6.4 22.6 15.9L429.9 272H210.1l17.2-48.1c3.4-9.6 12.5-15.9 22.6-15.9zm-96.4 79.9c-.2 .5-.3 .9-.5 1.4C128.2 306.7 112 335.5 112 368v32 16 32 40c0 13.3 10.7 24 24 24s24-10.7 24-24V448H480v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448 416 400 368c0-32.5-16.2-61.3-40.9-78.7c-.1-.5-.3-.9-.5-1.4L458 207.8c-10.2-28.7-37.4-47.8-67.8-47.8H249.8c-30.4 0-57.6 19.1-67.8 47.8l-28.6 80.1zM432 320c26.5 0 48 21.5 48 48v32H160V368c0-26.5 21.5-48 48-48H432zM224 384a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm216-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faCartShopping = {\n prefix: 'far',\n iconName: 'cart-shopping',\n icon: [576, 512, [128722, \"shopping-cart\"], \"f07a\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48H69.5c3.8 0 7.1 2.7 7.9 6.5l51.6 271c6.5 34 36.2 58.5 70.7 58.5H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H199.7c-11.5 0-21.4-8.2-23.6-19.5L170.7 288H459.2c32.6 0 61.1-21.8 69.5-53.3l41-152.3C576.6 57 557.4 32 531.1 32h-411C111 12.8 91.6 0 69.5 0H24zM131.1 80H520.7L482.4 222.2c-2.8 10.5-12.3 17.8-23.2 17.8H161.6L131.1 80zM176 512a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm336-48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nvar faShoppingCart = faCartShopping;\nvar faBookFont = {\n prefix: 'far',\n iconName: 'book-font',\n icon: [448, 512, [], \"e0bf\", \"M0 88C0 39.4 39.4 0 88 0H392c30.9 0 56 25.1 56 56V344c0 22.3-13.1 41.6-32 50.6V464h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H80c-44.2 0-80-35.8-80-80c0-2.7 .1-5.4 .4-8H0V88zM80 400c-17.7 0-32 14.3-32 32s14.3 32 32 32H368V400H80zM48 358.7c9.8-4.3 20.6-6.7 32-6.7H392c4.4 0 8-3.6 8-8V56c0-4.4-3.6-8-8-8H88C65.9 48 48 65.9 48 88V358.7zM261.5 93.3l88 176c5.9 11.9 1.1 26.3-10.7 32.2s-26.3 1.1-32.2-10.7L289.2 256c-.4 0-.8 0-1.2 0H192c-.4 0-.8 0-1.2 0l-17.4 34.8c-5.9 11.9-20.3 16.7-32.2 10.7s-16.7-20.3-10.7-32.2l88-176C222.6 85.1 230.9 80 240 80s17.4 5.1 21.5 13.3zM265.2 208L240 157.7 214.8 208h50.3z\"]\n};\nvar faShieldPlus = {\n prefix: 'far',\n iconName: 'shield-plus',\n icon: [512, 512, [], \"e24a\", \"M73 127L256 49.4 439 127c5.9 2.5 9.1 7.8 9 12.8c-.4 91.4-38.4 249.3-186.3 320.1c-3.6 1.7-7.8 1.7-11.3 0C102.4 389 64.5 231.2 64 139.7c0-5 3.1-10.2 9-12.8zM457.7 82.8L269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.8 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2zM232 344c0 13.3 10.7 24 24 24s24-10.7 24-24V280h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V168c0-13.3-10.7-24-24-24s-24 10.7-24 24v64H168c-13.3 0-24 10.7-24 24s10.7 24 24 24h64v64z\"]\n};\nvar faVials = {\n prefix: 'far',\n iconName: 'vials',\n icon: [512, 512, [], \"f493\", \"M0 56C0 42.7 10.7 32 24 32H56 168h32c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8V400c0 44.2-35.8 80-80 80s-80-35.8-80-80V80H24C10.7 80 0 69.3 0 56zM80 80V256h64V80H80zM288 56c0-13.3 10.7-24 24-24h32H456h32c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8V400c0 44.2-35.8 80-80 80s-80-35.8-80-80V80h-8c-13.3 0-24-10.7-24-24zm80 24V256h64V80H368z\"]\n};\nvar faEyeDropperFull = {\n prefix: 'far',\n iconName: 'eye-dropper-full',\n icon: [512, 512, [], \"e172\", \"M199 169L233 202.9 309.1 279 343 313l8 8c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-8-8 33.9-33.9 71.3-71.3c19.1-19.1 29.8-45 29.8-72C512 45.6 466.4 0 410.2 0c-27 0-52.9 10.7-72 29.8l-71.3 71.3L233 135l-8-8c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l0 0 8 8zm249.2-29.1L343 245.1 266.9 169 372.1 63.8C382.2 53.7 395.9 48 410.2 48c29.7 0 53.8 24.1 53.8 53.8c0 14.3-5.7 28-15.8 38.1zM53.1 329C39.6 342.5 32 360.8 32 379.9v52.9l-28 42c-6.3 9.5-5.1 22.2 3 30.3s20.8 9.3 30.3 3l42-28h52.9c19.1 0 37.4-7.6 50.9-21.1L313.4 328.6 183.4 198.6 53.1 329z\"]\n};\nvar faDistributeSpacingHorizontal = {\n prefix: 'far',\n iconName: 'distribute-spacing-horizontal',\n icon: [512, 512, [], \"e365\", \"M456 0c-13.3 0-24 10.7-24 24l0 464c0 13.3 10.7 24 24 24s24-10.7 24-24l0-464c0-13.3-10.7-24-24-24zM304 368l-96 0 0-224 96 0 0 224zm48-224c0-26.5-21.5-48-48-48l-96 0c-26.5 0-48 21.5-48 48l0 224c0 26.5 21.5 48 48 48l96 0c26.5 0 48-21.5 48-48l0-224zM80 24C80 10.7 69.3 0 56 0S32 10.7 32 24l0 464c0 13.3 10.7 24 24 24s24-10.7 24-24L80 24z\"]\n};\nvar faTabletRugged = {\n prefix: 'far',\n iconName: 'tablet-rugged',\n icon: [448, 512, [], \"f48f\", \"M352 48c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H352zM96 0C66.6 0 41.8 19.8 34.3 46.8L8.8 59.6C3.4 62.3 0 67.8 0 73.9v76.2c0 6.1 3.4 11.6 8.8 14.3L32 176v16L8.8 203.6C3.4 206.3 0 211.8 0 217.9v76.2c0 6.1 3.4 11.6 8.8 14.3L32 320v16L8.8 347.6C3.4 350.3 0 355.8 0 361.9v76.2c0 6.1 3.4 11.6 8.8 14.3l25.5 12.7C41.8 492.2 66.6 512 96 512H352c29.4 0 54.2-19.8 61.7-46.8l25.5-12.7c5.4-2.7 8.8-8.2 8.8-14.3V361.9c0-6.1-3.4-11.6-8.8-14.3L416 336V320l23.2-11.6c5.4-2.7 8.8-8.3 8.8-14.3V217.9c0-6.1-3.4-11.6-8.8-14.3L416 192V176l23.2-11.6c5.4-2.7 8.8-8.3 8.8-14.3V73.9c0-6.1-3.4-11.6-8.8-14.3L413.7 46.8C406.2 19.8 381.4 0 352 0H96z\"]\n};\nvar faTemperatureSnow = {\n prefix: 'far',\n iconName: 'temperature-snow',\n icon: [576, 512, [\"temperature-frigid\"], \"f768\", \"M368 112c0-35.3 28.7-64 64-64s64 28.7 64 64V273.9c0 14.5 5.7 27.1 12.8 36.6c12 16 19.2 35.9 19.2 57.5c0 53-43 96-96 96s-96-43-96-96c0-21.6 7.1-41.5 19.2-57.5c7.1-9.5 12.8-22.1 12.8-36.6V112zM432 0C370.1 0 320 50.1 320 112V273.9c0 1.7-.7 4.4-3.2 7.8c-18.1 24.1-28.8 54-28.8 86.4c0 79.5 64.5 144 144 144s144-64.5 144-144c0-32.4-10.7-62.3-28.8-86.4c-2.5-3.4-3.2-6.1-3.2-7.8V112C544 50.1 493.9 0 432 0zm0 416c26.5 0 48-21.5 48-48c0-20.9-13.4-38.7-32-45.3V272c0-8.8-7.2-16-16-16s-16 7.2-16 16v50.7c-18.6 6.6-32 24.4-32 45.3c0 26.5 21.5 48 48 48zM288 131.6l-88 50.8V126.6l35.3-35.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L200 81.4V56c0-13.3-10.7-24-24-24s-24 10.7-24 24V81.4L139.3 68.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L152 126.6v55.8l-48.3-27.9L90.7 106.3C88.5 97.7 79.7 92.7 71.2 95s-13.6 11.1-11.3 19.6l4.6 17.3-22-12.7C31 112.6 16.3 116.5 9.7 128s-2.7 26.2 8.8 32.8l22 12.7-17.3 4.6c-8.5 2.3-13.6 11.1-11.3 19.6s11.1 13.6 19.6 11.3l48.2-12.9L128 224 79.7 251.9 31.4 239c-8.5-2.3-17.3 2.8-19.6 11.3s2.8 17.3 11.3 19.6l17.3 4.6-22 12.7C7 293.8 3.1 308.5 9.7 320s21.3 15.4 32.8 8.8l22-12.7-4.6 17.3c-2.3 8.5 2.8 17.3 11.3 19.6s17.3-2.8 19.6-11.3l12.9-48.2L152 265.6v55.8l-35.3 35.3c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L152 366.6V392c0 13.3 10.7 24 24 24s24-10.7 24-24V366.6l12.7 12.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L200 321.4V265.6l67.7 39.1c5.2-13.5 12-26.2 20.3-37.9v-5.8l-64-37 64-37V131.6z\"]\n};\nvar faTemperatureFrigid = faTemperatureSnow;\nvar faMoped = {\n prefix: 'far',\n iconName: 'moped',\n icon: [640, 512, [], \"e3b9\", \"M328 56c0-13.3 10.7-24 24-24h41.3c23.8 0 45.1 15.1 52.9 37.6l8.1 23.3 51-25.5c4.4-2.2 9.3-3.4 14.3-3.4H528c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16h-8.4c-5 0-9.9-1.2-14.3-3.4l-34.9-17.5L500 224.4c4-.3 8-.4 12-.4c43.7 0 83.3 17.5 112.1 45.8c9.5 9.3 9.6 24.5 .3 33.9s-24.5 9.6-33.9 .3C570.2 284.2 542.6 272 512 272c-55.1 0-101 39.8-110.3 92.3c-2 11.5-12 19.8-23.6 19.8H336c-.9 0-1.7 0-2.6-.1H288 256c0 53-43 96-96 96s-96-43-96-96H32c-17.7 0-32-14.3-32-32V320c0-70.7 57.3-128 128-128h96c17.7 0 32 14.3 32 32v80c0 17.7 14.3 32 32 32h40 31.3c14.5-46 49.1-83.1 93.6-100.7L400.8 85.4c-1.1-3.2-4.2-5.4-7.6-5.4H352c-13.3 0-24-10.7-24-24zM120 112H232c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24zm88 128H128c-44.2 0-80 35.8-80 80v16H214.7c-4.3-9.8-6.7-20.6-6.7-32V240zM160 432c26.5 0 48-21.5 48-48H112c0 26.5 21.5 48 48 48zm352 0a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm0-144a96 96 0 1 1 0 192 96 96 0 1 1 0-192z\"]\n};\nvar faFaceSmilePlus = {\n prefix: 'far',\n iconName: 'face-smile-plus',\n icon: [640, 512, [\"smile-plus\"], \"f5b9\", \"M544 0c13.3 0 24 10.7 24 24V72h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H568v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V120H472c-13.3 0-24-10.7-24-24s10.7-24 24-24h48V24c0-13.3 10.7-24 24-24zM400 288A176 176 0 1 0 48 288a176 176 0 1 0 352 0zM0 288a224 224 0 1 1 448 0A224 224 0 1 1 0 288zm144.4-80a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM146 332.8c19.1 21.6 46.9 35.2 78 35.2s58.9-13.6 78-35.2c8.8-9.9 23.9-10.9 33.9-2.1s10.9 23.9 2.1 33.9C310.2 396.1 269.4 416 224 416s-86.2-19.9-114-51.5c-8.8-9.9-7.8-25.1 2.1-33.9s25.1-7.8 33.9 2.1z\"]\n};\nvar faSmilePlus = faFaceSmilePlus;\nvar faRadioTuner = {\n prefix: 'far',\n iconName: 'radio-tuner',\n icon: [512, 512, [\"radio-alt\"], \"f8d8\", \"M511.1 17.6c3.5 12.8-4 26-16.8 29.5L201.2 128H448c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V304 192v-3.4c0-32.4 21.6-60.8 52.9-69.4L481.6 .9c12.8-3.5 26 4 29.5 16.8zM48 272v32V448c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V272H48zm256 96a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM96 320H224c8.8 0 16 7.2 16 16s-7.2 16-16 16H96c-8.8 0-16-7.2-16-16s7.2-16 16-16zm16 64h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faRadioAlt = faRadioTuner;\nvar faFaceSwear = {\n prefix: 'far',\n iconName: 'face-swear',\n icon: [640, 512, [], \"e399\", \"M320 48c114.9 0 208 93.1 208 208h48C576 114.6 461.4 0 320 0S64 114.6 64 256h48c0-114.9 93.1-208 208-208zM240.4 224c17.7 0 32-14.3 32-32c0-1.5-.1-3-.3-4.4l10.9 3.6c8.4 2.8 17.4-1.7 20.2-10.1s-1.7-17.4-10.1-20.2l-96-32c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2l30.7 10.2c-5.8 5.8-9.3 13.8-9.3 22.6c0 17.7 14.3 32 32 32zm192-32c0-8.9-3.6-17-9.5-22.8l30.2-10.1c8.4-2.8 12.9-11.9 10.1-20.2s-11.9-12.9-20.2-10.1l-96 32c-8.4 2.8-12.9 11.9-10.1 20.2s11.9 12.9 20.2 10.1l11.7-3.9c-.2 1.5-.3 3.1-.3 4.7c0 17.7 14.3 32 32 32s32-14.3 32-32zM48 288c-26.5 0-48 21.5-48 48V464c0 26.5 21.5 48 48 48H592c26.5 0 48-21.5 48-48V336c0-26.5-21.5-48-48-48H48zm352 96H384v32h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H384v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V448H320v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V448H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h16V384H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h16V336c0-8.8 7.2-16 16-16s16 7.2 16 16v16h32V336c0-8.8 7.2-16 16-16s16 7.2 16 16v16h16c8.8 0 16 7.2 16 16s-7.2 16-16 16zm-80 0v32h32V384H320zm250.4-52.1c6.7 5.8 7.5 15.8 1.7 22.6l-96 112c-5.8 6.7-15.8 7.5-22.6 1.7s-7.5-15.8-1.7-22.6l96-112c5.8-6.7 15.8-7.5 22.6-1.7zM448 352a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm104 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM208 320c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V336c0-8.8 7.2-16 16-16zM184 456a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM128 336v1.8c4.6 .8 8.7 1.7 12.1 2.6c8.5 2.3 13.6 11 11.3 19.6s-11 13.6-19.6 11.3c-7.9-2.1-18.5-3.9-26.8-2.9c-4.1 .5-6.3 1.4-7.4 2.2c-2.3 1.7-2.2 4.5-.1 5.9c6.9 4.7 14.9 6.9 22.9 9.2l0 0c8.6 2.4 17.2 4.8 24.6 10.2c4.7 3.4 9.3 8.2 12.1 14.7c2.9 6.6 3.4 13.8 2.2 21.1c-2 11.5-7.9 20.5-17 25.9c-4.9 3-10.1 4.6-15.3 5.4v.8c0 8.8-7.2 16-16 16s-16-7.2-16-16v-3c-8.1-1.9-15.3-4.2-20.2-5.9c-8.4-2.8-12.9-11.9-10.1-20.2s11.9-12.9 20.2-10.1c9.5 3.2 21.9 6.9 32 7.1c5 .1 7.6-.8 8.8-1.5l0 0c3-1.8 2.9-6.7 .4-8.5c-6.8-5-15.2-7.3-23.6-9.7c-8.1-2.3-16.2-4.5-23.1-9.2c-4.7-3.2-9.4-7.7-12.4-14.1c-3.1-6.5-3.7-13.7-2.5-20.9c1.8-10.2 7-18.1 14.5-23.5c5.3-3.8 11.2-5.9 16.9-7V336c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faWaterArrowDown = {\n prefix: 'far',\n iconName: 'water-arrow-down',\n icon: [576, 512, [\"water-lower\"], \"f774\", \"M312 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V161.7l-47.9-43.5c-9.8-8.9-25-8.2-33.9 1.6s-8.2 25 1.6 33.9l88 80c9.2 8.3 23.1 8.3 32.3 0l88-80c9.8-8.9 10.5-24.1 1.6-33.9s-24.1-10.5-33.9-1.6L312 161.7V24zM80 302.1C62.8 317 41 328.8 18.8 333.8C5.9 336.7-2.3 349.5 .6 362.5s15.7 21.1 28.7 18.2C58 374.2 81.6 360.2 96 350.2c28.1 19.5 61.4 33.8 96 33.8s67.9-14.3 96-33.8c28.1 19.5 61.4 33.8 96 33.8s67.9-14.3 96-33.8c14.4 10 38 24 66.7 30.4c12.9 2.9 25.8-5.2 28.7-18.2s-5.2-25.8-18.2-28.7c-22-4.9-44.3-16.7-61.3-31.8c-9.1-8.1-22.8-8.1-31.9 0c-21.5 18.6-51.2 33.9-80 33.9s-58.5-15.3-80-33.9c-9.1-8.1-22.8-8.1-31.9 0c-21.5 18.7-51.2 33.9-80 33.9s-58.5-15.3-80-33.9c-9.1-8.1-22.8-8.1-31.9 0zm0 128C62.8 445 41 456.8 18.8 461.8C5.9 464.7-2.3 477.5 .6 490.5s15.7 21.1 28.7 18.2C58 502.2 81.6 488.2 96 478.2c28.1 19.5 61.4 33.8 96 33.8s67.9-14.3 96-33.8c28.1 19.5 61.4 33.8 96 33.8s67.9-14.3 96-33.8c14.4 10 38 24 66.7 30.4c12.9 2.9 25.8-5.2 28.7-18.2s-5.2-25.8-18.2-28.7c-22-4.9-44.3-16.7-61.3-31.8c-9.1-8.1-22.8-8.1-31.9 0c-21.5 18.6-51.2 33.9-80 33.9s-58.5-15.3-80-33.9c-9.1-8.1-22.8-8.1-31.9 0c-21.5 18.6-51.2 33.9-80 33.9s-58.5-15.3-80-33.9c-9.1-8.1-22.8-8.1-31.9 0z\"]\n};\nvar faWaterLower = faWaterArrowDown;\nvar faScannerTouchscreen = {\n prefix: 'far',\n iconName: 'scanner-touchscreen',\n icon: [512, 512, [], \"f48a\", \"M128 24V64h48V24c0-13.3-10.7-24-24-24s-24 10.7-24 24zm176 0V64h48V24c0-13.3-10.7-24-24-24s-24 10.7-24 24zM240 0c-8.8 0-16 7.2-16 16V64h32V16c0-8.8-7.2-16-16-16zM384 16V272c0 8.8 7.2 16 16 16s16-7.2 16-16V16c0-8.8-7.2-16-16-16s-16 7.2-16 16zM488 0c-13.3 0-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V24c0-13.3-10.7-24-24-24zM64 144H288c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V160c0-8.8 7.2-16 16-16zm0-48C28.7 96 0 124.7 0 160V448c0 35.3 28.7 64 64 64H288c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H64zm40 80c-13.3 0-24 10.7-24 24V408c0 13.3 10.7 24 24 24H248c13.3 0 24-10.7 24-24V200c0-13.3-10.7-24-24-24H104z\"]\n};\nvar faCircle7 = {\n prefix: 'far',\n iconName: 'circle-7',\n icon: [512, 512, [], \"e0f4\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM184 128c-13.3 0-24 10.7-24 24s10.7 24 24 24H287.8l-93 172.6c-6.3 11.7-1.9 26.2 9.8 32.5s26.2 1.9 32.5-9.8l112-208c4-7.4 3.8-16.4-.5-23.7s-12.2-11.7-20.6-11.7H184z\"]\n};\nvar faPlugCirclePlus = {\n prefix: 'far',\n iconName: 'plug-circle-plus',\n icon: [576, 512, [], \"e55f\", \"M288 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-80c-8.8 0-16 7.2-16 16v48H368c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v48c0 8.8 7.2 16 16 16s16-7.2 16-16V384h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H448V304c0-8.8-7.2-16-16-16zM104 0c13.3 0 24 10.7 24 24v88H80V24C80 10.7 90.7 0 104 0zM280 0c13.3 0 24 10.7 24 24v88H256V24c0-13.3 10.7-24 24-24zM0 168c0-13.3 10.7-24 24-24h8H80 304h48 8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8v19.2c-18 9.2-34.2 21.4-48 36V192H80v64c0 61.9 50.1 112 112 112c24.3 0 46.9-7.8 65.2-20.9c-.8 6.9-1.2 13.9-1.2 20.9c0 11.4 1.1 22.5 3.1 33.3c-13.5 6.2-28 10.7-43.1 12.9V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V414.2C91 402.6 32 336.2 32 256V192H24c-13.3 0-24-10.7-24-24z\"]\n};\nvar faPersonSkiJumping = {\n prefix: 'far',\n iconName: 'person-ski-jumping',\n icon: [512, 512, [\"ski-jump\"], \"f7c7\", \"M352 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM112 120c0-13.3 10.7-24 24-24H301.2c37 0 54.2 45.9 26.3 70.2L202.4 275 171 385 433.7 249.1c18.6-9.6 30.3-28.8 30.3-49.7V192c0-13.3 10.7-24 24-24s24 10.7 24 24v7.3c0 38.9-21.7 74.5-56.2 92.4L35 509.3C23.3 515.4 8.8 510.8 2.7 499s-1.5-26.3 10.3-32.3l113.2-58.6c-5.4-5.9-7.6-14.4-5.3-22.7l37.2-130.1c.1-.2 .1-.5 .2-.7l8.3-29c2.7-9.4 7.8-18 14.9-24.9c11.1-10.7 36.2-34.6 60.8-56.8H136c-13.3 0-24-10.7-24-24z\"]\n};\nvar faSkiJump = faPersonSkiJumping;\nvar faPlaceOfWorship = {\n prefix: 'far',\n iconName: 'place-of-worship',\n icon: [640, 512, [], \"f67f\", \"M320 0c6.8 0 13.3 2.9 17.8 7.9l67.9 75.4c6.6 7.3 10.3 16.9 10.3 26.8v75.4l38.4 24.9c15.9 10.3 25.6 28 25.6 47V464h88c13.3 0 24-10.7 24-24V370.1c0-8.1-4.1-15.7-11-20.2l-69-44.7V248.1l95.1 61.5c20.5 13.3 32.9 36 32.9 60.4V440c0 39.8-32.2 72-72 72H384v0H224v0H72c-39.8 0-72-32.2-72-72V370.1c0-24.4 12.4-47.2 32.9-60.4L128 248.1v57.2L59 350c-6.8 4.4-11 12-11 20.2V440c0 13.3 10.7 24 24 24h88V257.4c0-19 9.6-36.7 25.6-47L224 185.5V110.1c0-9.9 3.7-19.4 10.3-26.8L302.2 7.9C306.7 2.9 313.2 0 320 0zM272 113.2v85.4c0 8.1-4.1 15.7-11 20.1l-49.4 32c-2.3 1.5-3.7 4-3.7 6.7V464h64V368c0-26.5 21.5-48 48-48s48 21.5 48 48v96h64V257.4c0-2.7-1.4-5.2-3.7-6.7l-49.4-32c-6.8-4.4-11-12-11-20.1V113.2L320 59.9l-48 53.3z\"]\n};\nvar faWaterArrowUp = {\n prefix: 'far',\n iconName: 'water-arrow-up',\n icon: [576, 512, [\"water-rise\"], \"f775\", \"M312 216c0 13.3-10.7 24-24 24s-24-10.7-24-24V78.3l-47.9 43.5c-9.8 8.9-25 8.2-33.9-1.6s-8.2-25 1.6-33.9l88-80c9.2-8.3 23.1-8.3 32.3 0l88 80c9.8 8.9 10.5 24.1 1.6 33.9s-24.1 10.5-33.9 1.6L312 78.3V216zM80 302.1c9.1-8.1 22.8-8.1 31.9 0c21.5 18.6 51.2 33.9 80 33.9s58.5-15.3 80-33.9c9.1-8.1 22.8-8.1 31.9 0c21.6 18.6 51.2 33.9 80 33.9s58.5-15.3 80-33.9c9.1-8.1 22.8-8.1 31.9 0c16.9 15.1 39.3 26.8 61.3 31.8c12.9 2.9 21.1 15.7 18.2 28.7s-15.7 21.1-28.7 18.2c-28.7-6.4-52.3-20.5-66.7-30.4c-28.1 19.5-61.4 33.8-96 33.8s-67.9-14.3-96-33.8c-28.1 19.5-61.4 33.8-96 33.8s-67.9-14.3-96-33.8c-14.4 10-38 24-66.7 30.4c-12.9 2.9-25.8-5.2-28.7-18.2s5.2-25.8 18.2-28.7c22.2-5 44-16.8 61.2-31.7zm0 128c9.1-8.1 22.8-8.1 31.9 0c21.5 18.6 51.2 33.9 80 33.9s58.5-15.3 80-33.9c9.1-8.1 22.8-8.1 31.9 0c21.6 18.6 51.2 33.9 80 33.9s58.5-15.3 80-33.9c9.1-8.1 22.8-8.1 31.9 0c16.9 15.1 39.3 26.8 61.3 31.8c12.9 2.9 21.1 15.7 18.2 28.7s-15.7 21.1-28.7 18.2c-28.7-6.4-52.3-20.5-66.7-30.4c-28.1 19.5-61.4 33.8-96 33.8s-67.9-14.3-96-33.8c-28.1 19.5-61.4 33.8-96 33.8s-67.9-14.3-96-33.8c-14.4 10-38 24-66.7 30.4c-12.9 2.9-25.8-5.2-28.7-18.2s5.2-25.8 18.2-28.7c22.2-5 44-16.8 61.2-31.7z\"]\n};\nvar faWaterRise = faWaterArrowUp;\nvar faWaveformLines = {\n prefix: 'far',\n iconName: 'waveform-lines',\n icon: [640, 512, [\"waveform-path\"], \"f8f2\", \"M320 0c13.3 0 24 10.7 24 24V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V24c0-13.3 10.7-24 24-24zM520 64c13.3 0 24 10.7 24 24V424c0 13.3-10.7 24-24 24s-24-10.7-24-24V88c0-13.3 10.7-24 24-24zM216 96c13.3 0 24 10.7 24 24V392c0 13.3-10.7 24-24 24s-24-10.7-24-24V120c0-13.3 10.7-24 24-24zm208 32c13.3 0 24 10.7 24 24V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24zM120 192c13.3 0 24 10.7 24 24v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V216c0-13.3 10.7-24 24-24zM24 224c13.3 0 24 10.7 24 24v16c0 13.3-10.7 24-24 24s-24-10.7-24-24V248c0-13.3 10.7-24 24-24zm592 0c13.3 0 24 10.7 24 24v16c0 13.3-10.7 24-24 24s-24-10.7-24-24V248c0-13.3 10.7-24 24-24z\"]\n};\nvar faWaveformPath = faWaveformLines;\nvar faSplit = {\n prefix: 'far',\n iconName: 'split',\n icon: [512, 512, [], \"e254\", \"M391 31c9.4-9.4 24.6-9.4 33.9 0l80 80c9.4 9.4 9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l39-39H346.5c-10.6 0-20.8 4.2-28.3 11.7L225.9 256l92.3 92.3c7.5 7.5 17.7 11.7 28.3 11.7h83.5l-39-39c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l80 80c9.4 9.4 9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l39-39H346.5c-23.3 0-45.7-9.3-62.2-25.8L182.1 280H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H182.1L284.3 129.8c16.5-16.5 38.9-25.8 62.2-25.8h83.5L391 65c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faFilmCanister = {\n prefix: 'far',\n iconName: 'film-canister',\n icon: [576, 512, [\"film-cannister\"], \"f8b7\", \"M96 32c0-17.7 14.3-32 32-32h96c17.7 0 32 14.3 32 32h40 32c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8V464h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H296 56 24c-13.3 0-24-10.7-24-24s10.7-24 24-24h8V80H24C10.7 80 0 69.3 0 56S10.7 32 24 32H56 96zM80 80V464H272V80H80zm464 48c17.7 0 32 14.3 32 32V288c0 17.7-14.3 32-32 32s-32 14.3-32 32v32c0 17.7-14.3 32-32 32H352V128H544zM392 184v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V184c0-8.8-7.2-16-16-16H408c-8.8 0-16 7.2-16 16zm112-16c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V184c0-8.8-7.2-16-16-16H504zM392 344v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V344c0-8.8-7.2-16-16-16H408c-8.8 0-16 7.2-16 16z\"]\n};\nvar faFilmCannister = faFilmCanister;\nvar faFolderXmark = {\n prefix: 'far',\n iconName: 'folder-xmark',\n icon: [512, 512, [\"folder-times\"], \"f65f\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H289.9L247 53.1C233.5 39.6 215.2 32 196.1 32H64zM48 96c0-8.8 7.2-16 16-16H196.1c6.4 0 12.5 2.5 17 7l45.3 45.3c7.5 7.5 17.7 11.7 28.3 11.7H448c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96zM175 207c-9.4 9.4-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47c-9.4-9.4-24.6-9.4-33.9 0z\"]\n};\nvar faFolderTimes = faFolderXmark;\nvar faToiletPaperBlank = {\n prefix: 'far',\n iconName: 'toilet-paper-blank',\n icon: [640, 512, [\"toilet-paper-alt\"], \"f71f\", \"M20.5 463.6c-4.3 7.2-5.5 15.8-3.6 23.7c.7 2.9 1.8 5.7 3.3 8.4C25.8 505.8 36.5 512 48 512H333.9c22.3 0 45.4-12.1 55.4-36.1c9.6-23.2 23.9-66.4 33.3-134.5c0-.3 .1-.6 .1-.8c5.5-40.5 9.3-89.7 9.3-148.6c0-76 26.2-138.3 59.4-143.6c1.5-.2 3.1-.4 4.6-.4c35.3 0 64 64.5 64 144s-28.7 144-64 144c-14 0-26.9-10-37.4-27.1c-2.2 22.3-4.9 42.5-7.9 60.8C463 378 478.2 384 496 384c24.5 0 44.1-11.4 58-24.5c13.6-13 23.7-29.4 31.1-46.1C600 279.8 608 236.9 608 192s-8-87.8-22.9-121.3C577.7 54 567.6 37.5 554 24.5C540.1 11.4 520.5 0 496 0c-1.3 0-2.6 0-3.8 .1l0-.1H160C107 0 64 86 64 192c0 77.6-.4 174.5-32.9 250c-3.2 7.4-6.7 14.6-10.5 21.6l0 .1zM419 48c-4.7 7.3-8.6 15-12.1 22.7C392 104.2 384 147.1 384 192c0 153.2-26.3 235-39 265.5c-.9 2.1-2.1 3.5-3.8 4.5c-2 1.2-4.6 2-7.3 2H73.8c18.1-40.9 27.3-85.5 32.2-127.9c5.9-50.6 5.9-101.7 5.9-144.1c0-47.2 9.7-87.5 23.1-114.3c6.7-13.4 13.4-21.6 18.6-26c2.5-2.1 4.3-3 5.2-3.4c.5-.2 .8-.3 .9-.3s.2 0 .3 0H419zm77 192c13.3 0 24-21.5 24-48s-10.7-48-24-48s-24 21.5-24 48s10.7 48 24 48z\"]\n};\nvar faToiletPaperAlt = faToiletPaperBlank;\nvar faTabletScreen = {\n prefix: 'far',\n iconName: 'tablet-screen',\n icon: [448, 512, [\"tablet-android-alt\"], \"f3fc\", \"M48 448c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V368H48v80zm0-128H400V64c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16V320zM0 64C0 28.7 28.7 0 64 0H384c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM192 400h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H192c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faTabletAndroidAlt = faTabletScreen;\nvar faHexagonVerticalNftSlanted = {\n prefix: 'far',\n iconName: 'hexagon-vertical-nft-slanted',\n icon: [448, 512, [], \"e506\", \"M188.9 495.5c22.3 12.9 49.7 12.9 72 0l152.9-88.3c22.3-12.9 36-36.6 36-62.4V168.3c0-25.7-13.7-49.5-36-62.4L260.9 17.7c-22.3-12.9-49.7-12.9-72 0L36 105.9C13.7 118.8 0 142.6 0 168.3V344.9c0 25.7 13.7 49.5 36 62.4l152.9 88.3zm48-41.6c-7.4 4.3-16.6 4.3-24 0L60 365.7c-7.4-4.3-12-12.2-12-20.8l0-176.6c0-8.6 4.6-16.5 12-20.8L212.9 59.2c7.4-4.3 16.6-4.3 24 0l152.9 88.3c7.4 4.3 12 12.2 12 20.8V344.9c0 8.6-4.6 16.5-12 20.8L236.9 453.9zm27-344.3c5 2.8 8.1 8.2 8.1 13.9c0 12.3-13.3 20-23.9 13.9l-24.2-13.8v117h32c8.8 0 16 7.2 16 16s-7.2 16-16 16h-32v128c0 8.8-7.2 16-16 16s-16-7.2-16-16v-144V96.3c0-1.6 .2-3.2 .6-4.7c.5-1.9 1.4-3.7 2.6-5.2c1.1-1.5 2.5-2.8 4-3.7c2.5-1.7 5.6-2.6 8.8-2.6c0 0 .1 0 .1 0c.5 0 1 0 1.4 .1c2.5 .2 4.8 1 6.8 2.2l47.8 27.3zm32.1 55.2c-5-2.8-8.1-8.2-8.1-13.9c0-12.3 13.3-20 23.9-13.9l72 41.1c7.7 4.4 10.3 14.2 6 21.8s-14.2 10.3-21.8 6l-16.2-9.3V352.6c0 8.8-7.2 16-16 16s-16-7.2-16-16V178.4l-23.8-13.6zM159.8 144.6v224c0 7.8-5.7 14.5-13.4 15.8s-15.3-3.3-17.7-10.7L95.8 275.2v61.4c0 8.8-7.2 16-16 16s-16-7.2-16-16v-160c0-7.8 5.7-14.5 13.4-15.8s15.3 3.3 17.7 10.7L127.8 270V144.6c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faFolderMusic = {\n prefix: 'far',\n iconName: 'folder-music',\n icon: [512, 512, [], \"e18d\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H289.9L247 53.1C233.5 39.6 215.2 32 196.1 32H64zM48 96c0-8.8 7.2-16 16-16H196.1c6.4 0 12.5 2.5 17 7l45.3 45.3c7.5 7.5 17.7 11.7 28.3 11.7H448c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96zm304 96c0-5.2-2.6-10.2-6.9-13.2s-9.8-3.7-14.7-1.8l-128 48c-6.2 2.3-10.4 8.3-10.4 15v32 81.8c-5-1.2-10.4-1.8-16-1.8c-26.5 0-48 14.3-48 32s21.5 32 48 32s48-14.3 48-32V283.1l96-36v74.7c-5-1.2-10.4-1.8-16-1.8c-26.5 0-48 14.3-48 32s21.5 32 48 32s48-14.3 48-32V224 192z\"]\n};\nvar faDisplayMedical = {\n prefix: 'far',\n iconName: 'display-medical',\n icon: [576, 512, [\"desktop-medical\"], \"e166\", \"M512 48c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H336.5c-.3 0-.6 0-.8 0H240.4c-.3 0-.6 0-.8 0H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H512zM64 416H211.7l-8 48H152c-13.3 0-24 10.7-24 24s10.7 24 24 24h72H352h72c13.3 0 24-10.7 24-24s-10.7-24-24-24H372.3l-8-48H512c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64zm188.3 48l8-48h55.3l8 48H252.3zM256 128v48H208c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240h48c8.8 0 16-7.2 16-16V192c0-8.8-7.2-16-16-16H320V128c0-8.8-7.2-16-16-16H272c-8.8 0-16 7.2-16 16z\"]\n};\nvar faDesktopMedical = faDisplayMedical;\nvar faShareAll = {\n prefix: 'far',\n iconName: 'share-all',\n icon: [576, 512, [], \"f367\", \"M367.5 73.4c-9.6-9.1-10-24.3-.9-33.9s24.3-10 33.9-.9L542.2 173.2c19.9 18.9 19.9 50.7 0 69.6L400.5 377.4c-9.6 9.1-24.8 8.7-33.9-.9s-8.7-24.8 .9-33.9L509.2 208 367.5 73.4zM224 240l0 0h24c13.3 0 24 10.7 24 24v24 28.1L392.1 208 272 99.9V128v24c0 13.3-10.7 24-24 24H224 176c-70.7 0-128 57.3-128 128c0 15.3 1.9 29.1 5.2 41.5C70 284.7 125.8 240 192 240h32zm0 96V288H192c-5.5 0-10.8 .5-16 1.3c-45.4 7.6-80 47.1-80 94.7c0 17.3 4.2 30.5 9.5 40.2c1.6 2.9 3.3 5.5 5 7.9c2.6 3.5 5.3 6.4 7.7 8.6c.5 .5 1 .9 1.4 1.4c4.8 4.9 8.3 11.3 8.3 18.1c0 10.9-8.8 19.7-19.7 19.7c-2.8 0-5.6-.6-8.1-1.9c-2.6-1.4-6.3-3.5-10.8-6.5c-2.7-1.8-5.7-3.8-8.9-6.2c-3.7-2.7-7.6-5.8-11.7-9.3C38.6 430.2 0 382 0 304c0-97.2 78.8-176 176-176h48V80 64c0-12.6 7.4-24.1 19-29.2s25-3 34.4 5.4l160 144c6.7 6.1 10.6 14.7 10.6 23.8s-3.8 17.7-10.6 23.8l-160 144c-9.4 8.5-22.9 10.6-34.4 5.4s-19-16.6-19-29.2V336z\"]\n};\nvar faPeapod = {\n prefix: 'far',\n iconName: 'peapod',\n icon: [512, 512, [], \"e31c\", \"M416 48C212.8 48 48 212.8 48 416v48H96c203.2 0 368-164.8 368-368V48H416zm0-48h48c26.5 0 48 21.5 48 48V96c0 229.8-186.2 416-416 416H48c-26.5 0-48-21.5-48-48V416C0 186.2 186.2 0 416 0zM256 200a56 56 0 1 1 0 112 56 56 0 1 1 0-112zM88 368a56 56 0 1 1 112 0A56 56 0 1 1 88 368zM368 88a56 56 0 1 1 0 112 56 56 0 1 1 0-112z\"]\n};\nvar faChessClock = {\n prefix: 'far',\n iconName: 'chess-clock',\n icon: [640, 512, [], \"f43d\", \"M256 56c0-13.3-10.7-24-24-24H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h32v32H64c-35.3 0-64 28.7-64 64V416c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V176c0-35.3-28.7-64-64-64H544V96c0-8.8-7.2-16-16-16H400c-8.8 0-16 7.2-16 16v16H200V80h32c13.3 0 24-10.7 24-24zM576 160c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16H576zM200 400a104 104 0 1 0 0-208 104 104 0 1 0 0 208zM184 240c0-8.8 7.2-16 16-16s16 7.2 16 16v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V240zM513.5 369.5A104 104 0 1 0 366.5 222.5 104 104 0 1 0 513.5 369.5zM490.9 245.1c6.2 6.2 6.2 16.4 0 22.6L457 301.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l33.9-33.9c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faAxe = {\n prefix: 'far',\n iconName: 'axe',\n icon: [640, 512, [129683], \"f6b2\", \"M486.6 9.4c-12.5-12.5-32.8-12.5-45.3 0L408 42.7 374.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3L384 301.3V384c0 17.7 14.3 32 32 32c123.7 0 224-100.3 224-224c0-17.7-14.3-32-32-32H525.3l-56-56 33.4-33.4c12.5-12.5 12.5-32.8 0-45.3l-16-16zM305.4 267.9l-61.3-61.3L9.4 441.4c-12.5 12.5-12.5 32.8 0 45.3l16 16c12.5 12.5 32.8 12.5 45.3 0L305.4 267.9zm185.9-73.9c9 9 21.2 14.1 33.9 14.1h66c-7.6 84.4-74.8 151.7-159.3 159.3v-66c0-12.7-5.1-24.9-14.1-33.9L278.6 128 352 54.6 491.3 193.9z\"]\n};\nvar faSquareD = {\n prefix: 'far',\n iconName: 'square-d',\n icon: [448, 512, [], \"e268\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm152 32h72c70.7 0 128 57.3 128 128s-57.3 128-128 128H152c-13.3 0-24-10.7-24-24V152c0-13.3 10.7-24 24-24zm24 208h48c44.2 0 80-35.8 80-80s-35.8-80-80-80H176V336z\"]\n};\nvar faGripVertical = {\n prefix: 'far',\n iconName: 'grip-vertical',\n icon: [320, 512, [], \"f58e\", \"M40 440l0-48 48 0 0 48-48 0zm0 40l48 0c22.1 0 40-17.9 40-40l0-48c0-22.1-17.9-40-40-40l-48 0c-22.1 0-40 17.9-40 40l0 48c0 22.1 17.9 40 40 40zm192-40l0-48 48 0 0 48-48 0zm0 40l48 0c22.1 0 40-17.9 40-40l0-48c0-22.1-17.9-40-40-40l-48 0c-22.1 0-40 17.9-40 40l0 48c0 22.1 17.9 40 40 40zM40 232l48 0 0 48-48 0 0-48zM0 280c0 22.1 17.9 40 40 40l48 0c22.1 0 40-17.9 40-40l0-48c0-22.1-17.9-40-40-40l-48 0c-22.1 0-40 17.9-40 40l0 48zm232 0l0-48 48 0 0 48-48 0zm0 40l48 0c22.1 0 40-17.9 40-40l0-48c0-22.1-17.9-40-40-40l-48 0c-22.1 0-40 17.9-40 40l0 48c0 22.1 17.9 40 40 40zM40 72l48 0 0 48-48 0 0-48zM0 120c0 22.1 17.9 40 40 40l48 0c22.1 0 40-17.9 40-40l0-48c0-22.1-17.9-40-40-40L40 32C17.9 32 0 49.9 0 72l0 48zm232 0l0-48 48 0 0 48-48 0zm0 40l48 0c22.1 0 40-17.9 40-40l0-48c0-22.1-17.9-40-40-40l-48 0c-22.1 0-40 17.9-40 40l0 48c0 22.1 17.9 40 40 40z\"]\n};\nvar faMobileSignalOut = {\n prefix: 'far',\n iconName: 'mobile-signal-out',\n icon: [512, 512, [], \"e1f0\", \"M64 48H224V0H64C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H288c35.3 0 64-28.7 64-64V288H304V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16zm80 352c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H144zM280 0c-13.3 0-24 10.7-24 24s10.7 24 24 24c101.6 0 184 82.4 184 184c0 13.3 10.7 24 24 24s24-10.7 24-24C512 103.9 408.1 0 280 0zm8 256a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM256 120c0 13.3 10.7 24 24 24c48.6 0 88 39.4 88 88c0 13.3 10.7 24 24 24s24-10.7 24-24c0-75.1-60.9-136-136-136c-13.3 0-24 10.7-24 24z\"]\n};\nvar faArrowTurnUp = {\n prefix: 'far',\n iconName: 'arrow-turn-up',\n icon: [384, 512, [\"level-up\"], \"f148\", \"M24 464c-13.3 0-24 10.7-24 24s10.7 24 24 24l104 0c48.6 0 88-39.4 88-88l0-342.1 87 87c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L209 7c-9.4-9.4-24.6-9.4-33.9 0L47 135c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l87-87L168 424c0 22.1-17.9 40-40 40L24 464z\"]\n};\nvar faLevelUp = faArrowTurnUp;\nvar faU = {\n prefix: 'far',\n iconName: 'u',\n icon: [384, 512, [117], \"55\", \"M24 32c13.3 0 24 10.7 24 24V288c0 79.5 64.5 144 144 144s144-64.5 144-144V56c0-13.3 10.7-24 24-24s24 10.7 24 24V288c0 106-86 192-192 192S0 394 0 288V56C0 42.7 10.7 32 24 32z\"]\n};\nvar faArrowUpFromDottedLine = {\n prefix: 'far',\n iconName: 'arrow-up-from-dotted-line',\n icon: [448, 512, [], \"e09b\", \"M241.5 39.6C236.9 34.7 230.6 32 224 32s-12.9 2.7-17.5 7.6l-128 136c-9.1 9.7-8.6 24.8 1 33.9s24.8 8.6 33.9-1L200 116.5V200 328c0 13.3 10.7 24 24 24s24-10.7 24-24V200 116.5l86.5 91.9c9.1 9.7 24.3 10.1 33.9 1s10.1-24.3 1-33.9l-128-136zM32 416a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm96 0a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm64 32a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm128-32a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm64 32a32 32 0 1 0 64 0 32 32 0 1 0 -64 0z\"]\n};\nvar faSquareRootVariable = {\n prefix: 'far',\n iconName: 'square-root-variable',\n icon: [576, 512, [\"square-root-alt\"], \"f698\", \"M344.3 80c-3.6 0-6.7 2.4-7.7 5.8L231.1 462.5c-2.6 9.4-10.7 16.3-20.5 17.4s-19.1-3.9-23.8-12.5L83.9 276.2c-1.4-2.6-4.1-4.2-7-4.2H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H76.9c20.6 0 39.5 11.3 49.3 29.5l74.7 138.8L290.3 72.9C297.1 48.7 319.2 32 344.3 32H552c13.3 0 24 10.7 24 24s-10.7 24-24 24H344.3zM399 239c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faSquareRootAlt = faSquareRootVariable;\nvar faLightSwitchOn = {\n prefix: 'far',\n iconName: 'light-switch-on',\n icon: [384, 512, [], \"e019\", \"M169.4 48c3.3 9.3 12.2 16 22.6 16s19.3-6.7 22.6-16H320c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H214.6c-3.3-9.3-12.2-16-22.6-16s-19.3 6.7-22.6 16H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H169.4zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zm80 256h96V368H144V256zm0-160c-26.5 0-48 21.5-48 48V368c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V144c0-26.5-21.5-48-48-48H144z\"]\n};\nvar faArrowDownArrowUp = {\n prefix: 'far',\n iconName: 'arrow-down-arrow-up',\n icon: [576, 512, [\"sort-alt\"], \"f883\", \"M47 377l96 96c9.4 9.4 24.6 9.4 33.9 0l96-96c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-55 55V56c0-13.3-10.7-24-24-24s-24 10.7-24 24V398.1L81 343c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9zM399 39l-96 96c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l55-55V456c0 13.3 10.7 24 24 24s24-10.7 24-24V113.9l55 55c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L433 39c-9.4-9.4-24.6-9.4-33.9 0z\"]\n};\nvar faSortAlt = faArrowDownArrowUp;\nvar faRaindrops = {\n prefix: 'far',\n iconName: 'raindrops',\n icon: [448, 512, [], \"f75c\", \"M105.9 106.6l41.9-67.8C150.4 34.6 155 32 160 32s9.6 2.6 12.2 6.8l41.9 67.8c6.5 10.5 9.9 22.6 9.9 34.9V144c0 35.3-28.7 64-64 64s-64-28.7-64-64v-2.5c0-12.3 3.4-24.4 9.9-34.9zm-96 192l41.9-67.8C54.4 226.6 59 224 64 224s9.6 2.6 12.2 6.8l41.9 67.8c6.5 10.5 9.9 22.6 9.9 34.9V336c0 35.3-28.7 64-64 64s-64-28.7-64-64v-2.5c0-12.3 3.4-24.4 9.9-34.9zm242.6 11.5c-8.2 12.7-12.5 27.6-12.5 42.7c0 43.4 35.9 79.2 80 79.2s80-35.8 80-79.2c0-15.1-4.3-30-12.5-42.7L320 204.6 252.5 310.1zm-40.4-25.9l95.6-149.5c2.7-4.2 7.3-6.7 12.3-6.7s9.6 2.5 12.3 6.7l95.6 149.5C441 304.7 448 328.5 448 352.8C448 423 390.3 480 320 480s-128-57-128-127.2c0-24.3 7-48.1 20.1-68.6z\"]\n};\nvar faDash = {\n prefix: 'far',\n iconName: 'dash',\n icon: [512, 512, [\"minus-large\"], \"e404\", \"M0 256c0-13.3 10.7-24 24-24H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24z\"]\n};\nvar faMinusLarge = faDash;\nvar faClock = {\n prefix: 'far',\n iconName: 'clock',\n icon: [512, 512, [128339, \"clock-four\"], \"f017\", \"M464 256A208 208 0 1 1 48 256a208 208 0 1 1 416 0zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM232 120V256c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2V120c0-13.3-10.7-24-24-24s-24 10.7-24 24z\"]\n};\nvar faClockFour = faClock;\nvar faInputNumeric = {\n prefix: 'far',\n iconName: 'input-numeric',\n icon: [640, 512, [], \"e1bd\", \"M576 112c8.8 0 16 7.2 16 16V384c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V128c0-8.8 7.2-16 16-16H576zM64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64zm40 120c0 13.3 10.7 24 24 24h8v96H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H184V184c0-13.3-10.7-24-24-24H128c-13.3 0-24 10.7-24 24zm190.6 30.4c5.7-8 17.5-8.6 24-1.2c5.2 5.9 5 14.7-.3 20.5l-72 78c-6.5 7-8.2 17.2-4.3 25.9s12.5 14.4 22 14.4h88c13.3 0 24-10.7 24-24s-10.7-24-24-24H318.8l34.8-37.7c22-23.8 22.4-60.3 1.1-84.7c-26.9-30.7-75.4-28.4-99.2 4.9l-11.1 15.6c-7.7 10.8-5.2 25.8 5.6 33.5s25.8 5.2 33.5-5.6l11.1-15.6z\"]\n};\nvar faTruckTow = {\n prefix: 'far',\n iconName: 'truck-tow',\n icon: [640, 512, [], \"e2b8\", \"M96 64v96c0 26.5-21.5 48-48 48s-48-21.5-48-48V144c0-8.8 7.2-16 16-16s16 7.2 16 16v16c0 8.8 7.2 16 16 16s16-7.2 16-16V32C64 20.2 70.4 9.8 80 4.3C84.7 1.6 90.2 0 96 0h21.7 28c9.1 0 17.8 3.9 23.9 10.7L373.3 240H384V152c0-30.9 25.1-56 56-56h50.1c20.9 0 40.7 9.1 54.4 24.8l81.8 94.4c8.8 10.2 13.7 23.2 13.7 36.7V360c0 30.9-25.1 56-56 56h-8c0 53-43 96-96 96s-96-43-96-96H256c0 53-43 96-96 96s-96-43-96-96H56c-30.9 0-56-25.1-56-56V296c0-30.9 25.1-56 56-56H184L96 64zM243.2 368H396.8c16.6-28.7 47.6-48 83.2-48s66.6 19.3 83.2 48H584c4.4 0 8-3.6 8-8V288H432 416 384 351.8 208 56c-4.4 0-8 3.6-8 8v64c0 4.4 3.6 8 8 8H76.8c16.6-28.7 47.6-48 83.2-48s66.6 19.3 83.2 48zM145.8 56.3L237.7 240h71.4L145.8 56.3zM584.2 240l-76-87.7c-4.6-5.3-11.2-8.3-18.1-8.3H440c-4.4 0-8 3.6-8 8v88H584.2zM208 416a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm272 48a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faBackwardStep = {\n prefix: 'far',\n iconName: 'backward-step',\n icon: [320, 512, [\"step-backward\"], \"f048\", \"M80 88c0-13.3-10.7-24-24-24S32 74.7 32 88V226.7v58.6V424c0 13.3 10.7 24 24 24s24-10.7 24-24V318.9L256.7 442.6c5.1 3.5 11.1 5.4 17.3 5.4c16.6 0 30.1-13.5 30.1-30.1V94.1C304 77.5 290.5 64 273.9 64c-6.2 0-12.2 1.9-17.3 5.4L80 193.1V88zm0 172.3v-8.6L256 128.5v255L80 260.3z\"]\n};\nvar faStepBackward = faBackwardStep;\nvar faPallet = {\n prefix: 'far',\n iconName: 'pallet',\n icon: [640, 512, [], \"f482\", \"M24 320c-13.3 0-24 10.7-24 24s10.7 24 24 24H64v96H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H88 320 552h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H576V368h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H552 320 88 24zm88 48H296v96H112V368zm232 0H528v96H344V368z\"]\n};\nvar faCarBolt = {\n prefix: 'far',\n iconName: 'car-bolt',\n icon: [512, 512, [], \"e341\", \"M127.7 106.8L103.4 176H128v48H96c-26.5 0-48 21.5-48 48v80H464V272c0-26.5-21.5-48-48-48H384V176h24.6l-24.2-69.2c-5.6-16-20.8-26.8-37.8-26.8H165.4c-17 0-32.1 10.7-37.8 26.8zm-79.6 82L82.3 90.9C94.7 55.6 128 32 165.4 32H346.6c37.4 0 70.7 23.6 83.1 58.9l34.3 97.9C492.6 205.4 512 236.4 512 272v80 48 56c0 13.3-10.7 24-24 24s-24-10.7-24-24V400H48v56c0 13.3-10.7 24-24 24s-24-10.7-24-24V400 352 272c0-35.6 19.3-66.6 48.1-83.2zM112 256a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm256 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM315.2 116.6c5.3 5.2 6.3 13.3 2.5 19.6L284.3 192H336c7.1 0 13.4 4.7 15.4 11.6s-.8 14.2-6.9 18l-128 80c-6.3 3.9-14.4 3-19.7-2.2s-6.3-13.3-2.5-19.6L227.7 224H176c-7.1 0-13.4-4.7-15.4-11.6s.8-14.2 6.9-18l128-80c6.3-3.9 14.4-3 19.7 2.2z\"]\n};\nvar faArrowsMaximize = {\n prefix: 'far',\n iconName: 'arrows-maximize',\n icon: [512, 512, [\"expand-arrows\"], \"f31d\", \"M328 32c-13.3 0-24 10.7-24 24s10.7 24 24 24h70.1L256 222.1 113.9 80H184c13.3 0 24-10.7 24-24s-10.7-24-24-24H56C42.7 32 32 42.7 32 56V184c0 13.3 10.7 24 24 24s24-10.7 24-24V113.9L222.1 256 80 398.1V328c0-13.3-10.7-24-24-24s-24 10.7-24 24V456c0 13.3 10.7 24 24 24H184c13.3 0 24-10.7 24-24s-10.7-24-24-24H113.9L256 289.9 398.1 432H328c-13.3 0-24 10.7-24 24s10.7 24 24 24H456c13.3 0 24-10.7 24-24V328c0-13.3-10.7-24-24-24s-24 10.7-24 24v70.1L289.9 256 432 113.9V184c0 13.3 10.7 24 24 24s24-10.7 24-24V56c0-13.3-10.7-24-24-24H328z\"]\n};\nvar faExpandArrows = faArrowsMaximize;\nvar faFaucet = {\n prefix: 'far',\n iconName: 'faucet',\n icon: [512, 512, [], \"e005\", \"M224 64c13.3 0 24 10.7 24 24v21L352 96c17.7 0 32 14.3 32 32s-14.3 32-32 32L248 147v45h26.7c14.9 0 29.1 5.9 39.6 16.4L329.9 224H360c83.9 0 152 68.1 152 152v16c0 30.9-25.1 56-56 56H408c-30.9 0-56-25.1-56-56c0-4.4-3.6-8-8-8H323.9c-23.4 29.2-59.5 48-99.9 48s-76.5-18.8-99.9-48H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H136.3c8.2 0 15.8 4.2 20.2 11.1C170.8 369.3 195.7 384 224 384s53.2-14.7 67.4-36.9c4.4-6.9 12-11.1 20.2-11.1H344c30.9 0 56 25.1 56 56c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V376c0-57.4-46.6-104-104-104H320c-6.4 0-12.5-2.5-17-7l-22.6-22.6c-1.5-1.5-3.5-2.3-5.7-2.3H181.3c-2.1 0-4.2 .8-5.7 2.3L153 265c-4.5 4.5-10.6 7-17 7H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H126.1l15.6-15.6c10.5-10.5 24.7-16.4 39.6-16.4H200V147L96 160c-17.7 0-32-14.3-32-32s14.3-32 32-32l104 13V88c0-13.3 10.7-24 24-24z\"]\n};\nvar faCloudSleet = {\n prefix: 'far',\n iconName: 'cloud-sleet',\n icon: [512, 512, [], \"f741\", \"M112 120c0-39.8 32.2-72 72-72c25.8 0 48.5 13.6 61.2 34c3.8 6.1 10.1 10.2 17.2 11.1s14.3-1.3 19.5-6.2c10-9.3 23.4-15 38.1-15c29 0 52.9 22.1 55.7 50.4c1.2 12.3 11.6 21.7 23.9 21.6l.3 0h0c35.3 0 64 28.7 64 64s-28.7 64-64 64H108h-1.9c-.3 0-.7-.1-1-.1C73.3 270.4 48 244.2 48 212c0-28.3 19.6-52.1 46.1-58.4c11.8-2.8 19.6-13.9 18.3-25.9c-.3-2.5-.4-5.1-.4-7.7zM184 0C120 0 67.7 50.1 64.2 113.3C26.4 130.1 0 167.9 0 212c0 57.1 44.3 103.9 100.5 107.7c1.2 .2 2.3 .3 3.5 .3h4H400c61.9 0 112-50.1 112-112c0-55.2-39.9-101.1-92.5-110.3C406.5 55 366.9 24 320 24c-18 0-34.9 4.6-49.7 12.6C248.5 14.1 217.9 0 184 0zM81.5 353.9c-12.2-5.2-26.3 .4-31.5 12.6l-48 112c-5.2 12.2 .4 26.3 12.6 31.5s26.3-.4 31.5-12.6l48-112c5.2-12.2-.4-26.3-12.6-31.5zm272 0c-12.2-5.2-26.3 .4-31.5 12.6l-48 112c-5.2 12.2 .4 26.3 12.6 31.5s26.3-.4 31.5-12.6l48-112c5.2-12.2-.4-26.3-12.6-31.5zM216 376c0-13.3-10.7-24-24-24s-24 10.7-24 24v16H152c-13.3 0-24 10.7-24 24s10.7 24 24 24h16v16c0 13.3 10.7 24 24 24s24-10.7 24-24V440h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H216V376zm256 0c0-13.3-10.7-24-24-24s-24 10.7-24 24v16H408c-13.3 0-24 10.7-24 24s10.7 24 24 24h16v16c0 13.3 10.7 24 24 24s24-10.7 24-24V440h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H472V376z\"]\n};\nvar faLampStreet = {\n prefix: 'far',\n iconName: 'lamp-street',\n icon: [512, 512, [], \"e1c5\", \"M48 172c0-68.5 55.5-124 124-124c65 0 118.3 50 123.6 113.5c-84 10.7-151.1 75.6-164.9 158.6C127.7 337.6 142.3 352 160 352H480c17.7 0 32.3-14.4 29.4-31.9C495.5 236.9 428 171.8 343.7 161.4C338.2 71.4 263.4 0 172 0C77 0 0 77 0 172V488c0 13.3 10.7 24 24 24s24-10.7 24-24V172zM455.8 304H184.2c19.8-55.9 73.1-96 135.8-96s116.1 40.1 135.8 96zM320 448c35.3 0 64-28.7 64-64H256c0 35.3 28.7 64 64 64z\"]\n};\nvar faListRadio = {\n prefix: 'far',\n iconName: 'list-radio',\n icon: [512, 512, [], \"e1d0\", \"M64 32a64 64 0 1 0 0 128A64 64 0 1 0 64 32zM184 72c-13.3 0-24 10.7-24 24s10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H184zm0 160c-13.3 0-24 10.7-24 24s10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H184zm0 160c-13.3 0-24 10.7-24 24s10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H184zM64 280a24 24 0 1 1 0-48 24 24 0 1 1 0 48zm0-88a64 64 0 1 0 0 128 64 64 0 1 0 0-128zM40 416a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm88 0A64 64 0 1 0 0 416a64 64 0 1 0 128 0z\"]\n};\nvar faPenNibSlash = {\n prefix: 'far',\n iconName: 'pen-nib-slash',\n icon: [640, 512, [], \"e4a1\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L448.6 326.3 476.2 225l10.4-10.4 71-71c21.9-21.9 21.9-57.3 0-79.2L511.6 18.3c-21.9-21.9-57.3-21.9-79.2 0l-71 71L351 99.8 209 138.5 38.8 5.1zM256.1 175.4l104.8-28.6 68.3 68.3-21.6 79.1L256.1 175.4zM401 411.9l-44.7-35.2L149.1 449.5 251.3 347.3c6.3 3 13.3 4.7 20.7 4.7c13.5 0 25.7-5.6 34.4-14.6l-75-59.1c-4.7 7.4-7.4 16.2-7.4 25.7c0 7.4 1.7 14.4 4.7 20.7L126.5 426.9l63.6-181.1-39.8-31.4L71 440c-6.5 18.5-1.8 39.1 12 52.9s34.4 18.5 52.9 12l264.1-92.8 .8-.3z\"]\n};\nvar faBaseballBatBall = {\n prefix: 'far',\n iconName: 'baseball-bat-ball',\n icon: [512, 512, [], \"f432\", \"M372 17.5C383.8 6.3 399.5 0 415.7 0c16.8 0 32.9 6.7 44.7 18.5l33 33c11.9 11.9 18.5 28 18.5 44.7c0 16.3-6.3 31.9-17.5 43.7L356.3 284.7c-14.1 14.8-30.3 27.5-48 37.8L201.8 384.2c-12.6 7.3-24.3 16.3-34.6 26.6l-38.6 38.6c-.3-.3-.6-.7-1-1l-64-64c-.3-.3-.7-.6-1-1l38.6-38.6c10.3-10.3 19.3-22 26.6-34.6l61.6-106.5c10.3-17.7 23-33.9 37.8-48L372 17.5zM171.9 329.9l10.2 10.2L284.2 281c13.8-8 26.4-17.9 37.3-29.4L459.8 106.8c2.7-2.8 4.2-6.6 4.2-10.5c0-4-1.6-7.9-4.5-10.8l-33-33c-2.9-2.9-6.7-4.5-10.8-4.5c-3.9 0-7.7 1.5-10.5 4.2L260.4 190.4c-11.5 11-21.4 23.6-29.4 37.3L171.9 329.9zM464 432a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-112 0a80 80 0 1 1 160 0 80 80 0 1 1 -160 0zM15 399c9.4-9.4 24.6-9.4 33.9 0l64 64c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L15 433c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faSquareUpLeft = {\n prefix: 'far',\n iconName: 'square-up-left',\n icon: [448, 512, [], \"e282\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM128 313.4V176c0-8.8 7.2-16 16-16H281.4c12.5 0 22.6 10.1 22.6 22.6c0 6-2.4 11.8-6.6 16L264 232l66.3 66.3c3.6 3.6 5.7 8.5 5.7 13.7s-2 10-5.7 13.7l-36.7 36.7C290 366 285.1 368 280 368s-10-2-13.7-5.7L200 296l-33.4 33.4c-4.2 4.2-10 6.6-16 6.6c-12.5 0-22.6-10.1-22.6-22.6z\"]\n};\nvar faOverline = {\n prefix: 'far',\n iconName: 'overline',\n icon: [448, 512, [], \"f876\", \"M24 32C10.7 32 0 42.7 0 56S10.7 80 24 80H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zm200 80c-97.2 0-176 78.8-176 176v16c0 97.2 78.8 176 176 176s176-78.8 176-176V288c0-97.2-78.8-176-176-176zM96 288c0-70.7 57.3-128 128-128s128 57.3 128 128v16c0 70.7-57.3 128-128 128s-128-57.3-128-128V288z\"]\n};\nvar faS = {\n prefix: 'far',\n iconName: 's',\n icon: [320, 512, [115], \"53\", \"M91.2 90.6c-24 10.1-37.9 26.2-41.8 48c-2.8 16.1-1 27.4 2.8 35.7c3.8 8.5 10.6 16.1 21.1 23.3c22.1 15.1 54.9 24.6 93.2 35.3c.8 .2 1.6 .4 2.4 .7c35.3 9.9 75.6 21.2 104.9 41.2c15.6 10.6 29.3 24.5 37.7 43.1c8.5 18.7 10.6 40 6.4 63.9c-7.2 40.8-34.4 68.8-70.5 83.9c-35.3 14.8-79.6 17.8-125.7 10.7l-.1 0c-24.5-3.9-64.3-17.2-90.9-26.2c-5.3-1.8-10-3.4-14-4.7C4 441.4-2.9 427.8 1.2 415.2s17.7-19.5 30.3-15.4c4.9 1.6 10.5 3.5 16.3 5.4c26.9 9 61.2 20.4 81.3 23.6c40.4 6.2 75.1 2.9 99.8-7.5c24-10.1 37.9-26.2 41.8-48c2.8-16.1 1-27.4-2.8-35.7c-3.8-8.5-10.6-16.1-21.1-23.3c-22.1-15.1-54.9-24.6-93.2-35.3c-.8-.2-1.6-.4-2.4-.7c-35.3-9.9-75.6-21.2-104.9-41.2c-15.6-10.6-29.3-24.5-37.7-43.1c-8.5-18.7-10.6-40-6.4-63.9l23.6 4.2L2.1 130.3C9.3 89.5 36.5 61.5 72.6 46.4c35.3-14.8 79.6-17.8 125.7-10.7c13.7 2.1 55.1 9.9 69.7 13.8c12.8 3.3 20.5 16.5 17.2 29.3s-16.5 20.5-29.3 17.2c-12.4-3.2-52-10.8-64.9-12.8l3.6-23.7L191 83.1c-40.4-6.2-75.2-2.9-99.9 7.5z\"]\n};\nvar faTimeline = {\n prefix: 'far',\n iconName: 'timeline',\n icon: [640, 512, [], \"e29c\", \"M128 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm24 108.3c32.5-10.2 56-40.5 56-76.3c0-44.2-35.8-80-80-80S48 51.8 48 96c0 35.8 23.5 66.1 56 76.3V232H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H296v59.7c-32.5 10.2-56 40.5-56 76.3c0 44.2 35.8 80 80 80s80-35.8 80-80c0-35.8-23.5-66.1-56-76.3V280H616c13.3 0 24-10.7 24-24s-10.7-24-24-24H536V172.3c32.5-10.2 56-40.5 56-76.3c0-44.2-35.8-80-80-80s-80 35.8-80 80c0 35.8 23.5 66.1 56 76.3V232H152V172.3zM320 448a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM480 96a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faKeyboard = {\n prefix: 'far',\n iconName: 'keyboard',\n icon: [576, 512, [9000], \"f11c\", \"M64 112c-8.8 0-16 7.2-16 16V384c0 8.8 7.2 16 16 16H512c8.8 0 16-7.2 16-16V128c0-8.8-7.2-16-16-16H64zM0 128C0 92.7 28.7 64 64 64H512c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128zM176 320H400c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16zm-72-72c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H120c-8.8 0-16-7.2-16-16V248zm16-96h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H120c-8.8 0-16-7.2-16-16V168c0-8.8 7.2-16 16-16zm64 96c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H200c-8.8 0-16-7.2-16-16V248zm16-96h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H200c-8.8 0-16-7.2-16-16V168c0-8.8 7.2-16 16-16zm64 96c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H280c-8.8 0-16-7.2-16-16V248zm16-96h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H280c-8.8 0-16-7.2-16-16V168c0-8.8 7.2-16 16-16zm64 96c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H360c-8.8 0-16-7.2-16-16V248zm16-96h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H360c-8.8 0-16-7.2-16-16V168c0-8.8 7.2-16 16-16zm64 96c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H440c-8.8 0-16-7.2-16-16V248zm16-96h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H440c-8.8 0-16-7.2-16-16V168c0-8.8 7.2-16 16-16z\"]\n};\nvar faArrowsFromDottedLine = {\n prefix: 'far',\n iconName: 'arrows-from-dotted-line',\n icon: [448, 512, [], \"e0a3\", \"M241 7c-9.4-9.4-24.6-9.4-33.9 0L135 79c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l31-31V168c0 13.3 10.7 24 24 24s24-10.7 24-24V81.9l31 31c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L241 7zm7 337c0-13.3-10.7-24-24-24s-24 10.7-24 24v86.1l-31-31c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l72 72c9.4 9.4 24.6 9.4 33.9 0l72-72c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-31 31V344zM32 224a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm96 0a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm64 32a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm128-32a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm64 32a32 32 0 1 0 64 0 32 32 0 1 0 -64 0z\"]\n};\nvar faUsbDrive = {\n prefix: 'far',\n iconName: 'usb-drive',\n icon: [640, 512, [], \"f8e9\", \"M64 144c-8.8 0-16 7.2-16 16V352c0 8.8 7.2 16 16 16H400V144H64zM0 160c0-35.3 28.7-64 64-64H416c17.7 0 32 14.3 32 32V384c0 17.7-14.3 32-32 32H64c-35.3 0-64-28.7-64-64V160zm608-32c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H480V128H608zm-48 56a24 24 0 1 0 0 48 24 24 0 1 0 0-48zM536 304a24 24 0 1 0 48 0 24 24 0 1 0 -48 0z\"]\n};\nvar faBallot = {\n prefix: 'far',\n iconName: 'ballot',\n icon: [448, 512, [], \"f732\", \"M384 48c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H384zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM80 112v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H96c-8.8 0-16 7.2-16 16zM96 224c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H96zM80 368v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16H96c-8.8 0-16 7.2-16 16zM200 104c-13.3 0-24 10.7-24 24s10.7 24 24 24H344c13.3 0 24-10.7 24-24s-10.7-24-24-24H200zm0 128c-13.3 0-24 10.7-24 24s10.7 24 24 24H344c13.3 0 24-10.7 24-24s-10.7-24-24-24H200zm0 128c-13.3 0-24 10.7-24 24s10.7 24 24 24H344c13.3 0 24-10.7 24-24s-10.7-24-24-24H200z\"]\n};\nvar faCaretDown = {\n prefix: 'far',\n iconName: 'caret-down',\n icon: [320, 512, [], \"f0d7\", \"M160 329.4L249.4 240 70.6 240 160 329.4zm22.6 45.3c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-9.2-9.2-11.9-22.9-6.9-34.9s16.6-19.8 29.6-19.8l256 0c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9l-128 128z\"]\n};\nvar faLocationDotSlash = {\n prefix: 'far',\n iconName: 'location-dot-slash',\n icon: [640, 512, [\"map-marker-alt-slash\"], \"f605\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L459 334.5c30-51.6 53-103.7 53-142.5C512 86 426 0 320 0C249.2 0 187.3 38.4 154 95.4L38.8 5.1zM192.3 125.4C216.3 79.4 264.5 48 320 48c79.5 0 144 64.5 144 144c0 12.4-4.5 31.6-15.3 57.2c-7.4 17.4-16.9 36.2-27.9 55.4l-57.7-45.2C385.3 245.1 400 220.3 400 192c0-44.2-35.8-80-80-80c-35.1 0-65 22.7-75.7 54.1l-52-40.7zM318 223.9l-28.5-22.4c-.9-3-1.5-6.2-1.5-9.6c0-17.7 14.3-32 32-32s32 14.3 32 32s-14.3 32-32 32c-.7 0-1.3 0-2-.1zm88.2 192.1l-37.8-29.8c-17.3 24.6-34.2 47.2-48.5 65.4c-24.8-31.8-57.8-76.4-86.2-122.6c-17.1-27.7-32-55.1-42.5-79.9c-.5-1.2-1-2.5-1.5-3.7l-61.7-48.6c4.2 88.2 117.8 239.3 168.2 302.2c12.3 15.3 35.1 15.3 47.4 0c16.2-20.2 39-49.6 62.5-83.1z\"]\n};\nvar faMapMarkerAltSlash = faLocationDotSlash;\nvar faCards = {\n prefix: 'far',\n iconName: 'cards',\n icon: [640, 512, [], \"e3ed\", \"M244.7 49c3.7-2.1 8.4-.9 10.5 2.8l167 289.3c2.1 3.7 .9 8.4-2.8 10.5L226.5 463c-3.7 2.1-8.4 .9-10.5-2.8L49 170.9c-2.1-3.7-.9-8.4 2.8-10.5L244.7 49zM27.8 118.8C1.2 134.2-7.9 168.2 7.5 194.9l167 289.3c15.4 26.6 49.4 35.8 76.1 20.4L443.4 393.2c26.6-15.4 35.8-49.4 20.4-76.1L296.8 27.8C281.4 1.2 247.3-7.9 220.7 7.5L27.8 118.8zM324.1 499c9.7 8.1 22.2 13 35.9 13H584c30.9 0 56-25.1 56-56V120c0-30.9-25.1-56-56-56H360c-1.8 0-3.5 .1-5.3 .2L491.5 301.1c24.2 41.9 9.8 95.6-32.1 119.8L324.1 499zM582 187.6l-48.2 49.9c-3.2 3.2-8.5 3.2-11.5 0l-48.4-49.9c-14-14.5-13.2-38.5 2.5-51.9c13.5-11.7 34.2-9.5 46.7 3.2l5 5.2 4.7-5.2c12.5-12.7 33-15 46.9-3.2c15.5 13.5 16.2 37.5 2.2 51.9zM171.4 174.3l-7.2 26.9-20.4 76.1c-7 26 8.5 52.7 34.4 59.7s52.7-8.5 59.7-34.4l2.4-8.8c.1-.4 .2-.8 .3-1.1l17.7 30.7-12.1 7c-6.7 3.8-8.9 12.4-5.1 19s12.4 8.9 19 5.1l48.2-27.8c6.7-3.8 8.9-12.4 5.1-19s-12.4-8.9-19-5.1l-12.1 7-17.7-30.7c.4 .1 .8 .2 1.1 .3l8.8 2.4c26 7 52.7-8.5 59.7-34.4s-8.5-52.7-34.4-59.7l-76.1-20.4L197 159.6c-11.1-3-22.6 3.6-25.6 14.8z\"]\n};\nvar faHouseChimneyMedical = {\n prefix: 'far',\n iconName: 'house-chimney-medical',\n icon: [576, 512, [\"clinic-medical\"], \"f7f2\", \"M303.5 5.7c-9-7.6-22.1-7.6-31.1 0l-264 224c-10.1 8.6-11.3 23.7-2.8 33.8s23.7 11.3 33.8 2.8L64 245.5V432c0 44.2 35.8 80 80 80H432c44.2 0 80-35.8 80-80V245.5l24.5 20.8c10.1 8.6 25.3 7.3 33.8-2.8s7.3-25.3-2.8-33.8L512 182.6V56c0-13.3-10.7-24-24-24s-24 10.7-24 24v85.9L303.5 5.7zM464 204.8V432c0 17.7-14.3 32-32 32H144c-17.7 0-32-14.3-32-32V204.8L288 55.5 464 204.8zM272 192c-8.8 0-16 7.2-16 16v48H208c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320h48c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H320V208c0-8.8-7.2-16-16-16H272z\"]\n};\nvar faClinicMedical = faHouseChimneyMedical;\nvar faBoxingGlove = {\n prefix: 'far',\n iconName: 'boxing-glove',\n icon: [448, 512, [129354, \"glove-boxing\"], \"f438\", \"M48 120c0-39.8 32.2-72 72-72H272c39.8 0 72 32.2 72 72v8H312c-40.3 0-74.2 27.1-84.7 64H167.5c-19.9 0-36.8-14.6-39.6-34.3l-.2-1.1c-1.9-13.1-14-22.2-27.2-20.4s-22.2 14-20.4 27.2l.2 1.1c6.2 43.4 43.3 75.6 87.1 75.6h59.8c10.4 36.9 44.4 64 84.7 64c13.3 0 24-10.7 24-24s-10.7-24-24-24c-22.1 0-40-17.9-40-40s17.9-40 40-40h51.1c.6 .1 1.2 .2 1.9 .3c19.7 2.5 35 19.3 35 39.7v38.9c0 14.9-5.9 29.1-16.4 39.6l-60.9 60.9c-12 12-18.7 28.3-18.7 45.3V448c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V359.6c0-6.8-2.9-13.3-8-17.9C57.2 328.5 48 309.3 48 288V120zM120 0C53.7 0 0 53.7 0 120V288c0 31.5 12.2 60.2 32 81.6V448c0 35.3 28.7 64 64 64H288c35.3 0 64-28.7 64-64V400.6c0-4.2 1.7-8.3 4.7-11.3l60.9-60.9c19.5-19.5 30.5-46 30.5-73.5V216c0-37.3-23.2-69.2-56-82V120C392 53.7 338.3 0 272 0H120zm32.9 346.7c-7.4-4.9-17.3-2.9-22.2 4.4s-2.9 17.3 4.4 22.2l28 18.7-28 18.7c-7.4 4.9-9.3 14.8-4.4 22.2s14.8 9.3 22.2 4.4L192 411.2l39.1 26.1c7.4 4.9 17.3 2.9 22.2-4.4s2.9-17.3-4.4-22.2l-28-18.7 28-18.7c7.4-4.9 9.3-14.8 4.4-22.2s-14.8-9.3-22.2-4.4L192 372.8l-39.1-26.1z\"]\n};\nvar faGloveBoxing = faBoxingGlove;\nvar faTemperatureThreeQuarters = {\n prefix: 'far',\n iconName: 'temperature-three-quarters',\n icon: [320, 512, [\"temperature-3\", \"thermometer-3\", \"thermometer-three-quarters\"], \"f2c8\", \"M160 48c-35.3 0-64 28.7-64 64V273.9c0 14.5-5.7 27.1-12.8 36.6C71.1 326.5 64 346.4 64 368c0 53 43 96 96 96s96-43 96-96c0-21.6-7.1-41.5-19.2-57.5c-7.1-9.5-12.8-22.1-12.8-36.6V112c0-35.3-28.7-64-64-64zM48 112C48 50.2 98.1 0 160 0s112 50.1 112 112V273.9c0 1.7 .7 4.4 3.2 7.8c18.1 24.1 28.8 54 28.8 86.4c0 79.5-64.5 144-144 144S16 447.5 16 368c0-32.4 10.7-62.3 28.8-86.4c2.5-3.4 3.2-6.1 3.2-7.8V112zM208 368c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3V152c0-8.8 7.2-16 16-16s16 7.2 16 16V322.7c18.6 6.6 32 24.4 32 45.3z\"]\n};\nvar faTemperature3 = faTemperatureThreeQuarters;\nvar faThermometer3 = faTemperatureThreeQuarters;\nvar faThermometerThreeQuarters = faTemperatureThreeQuarters;\nvar faBellSchool = {\n prefix: 'far',\n iconName: 'bell-school',\n icon: [512, 512, [], \"f5d5\", \"M208 48a160 160 0 1 1 0 320 160 160 0 1 1 0-320zM352 358.1c39.4-37.9 64-91.1 64-150.1C416 93.1 322.9 0 208 0S0 93.1 0 208c0 59 24.6 112.2 64 150.1V448c0 35.3 28.7 64 64 64H272h16H416c39.2 0 71.1-31.4 72-70.4c14.4-8.3 24-23.8 24-41.6c0-26.5-21.5-48-48-48s-48 21.5-48 48c0 17.7 9.6 33.2 24 41.5c-.8 12.5-11.2 22.5-24 22.5H350c1.3-5.1 2-10.5 2-16V358.1zM288 464H272 128c-8.8 0-16-7.2-16-16V392.6c28.7 15 61.4 23.4 96 23.4s67.3-8.5 96-23.4V448c0 8.8-7.2 16-16 16zM208 160a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm0 144a96 96 0 1 0 0-192 96 96 0 1 0 0 192z\"]\n};\nvar faMobileScreen = {\n prefix: 'far',\n iconName: 'mobile-screen',\n icon: [384, 512, [\"mobile-android-alt\"], \"f3cf\", \"M64 448c0 8.8 7.2 16 16 16H304c8.8 0 16-7.2 16-16V368H64v80zm0-128H320V64c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16V320zM16 64C16 28.7 44.7 0 80 0H304c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H80c-35.3 0-64-28.7-64-64V64zM160 400h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H160c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faMobileAndroidAlt = faMobileScreen;\nvar faPlaneUp = {\n prefix: 'far',\n iconName: 'plane-up',\n icon: [512, 512, [], \"e22d\", \"M215.3 18.7C224.9 8.8 238.6 0 256 0c17.4 0 31.2 8.6 41.1 18.7c9.7 9.9 17 22.6 22.4 34.9C330.2 78.2 336 107.4 336 128v26.2l150.2 96.1c16.1 10.3 25.8 28.1 25.8 47.2v40.6c0 27.1-26.4 46.4-52.2 38.1L336 336.6V364l48 36c10.1 7.6 16 19.4 16 32v42.1c0 20.9-17 37.9-37.9 37.9c-3.8 0-7.5-.6-11.1-1.7L256 481.1l-94.9 29.2c-3.6 1.1-7.4 1.7-11.1 1.7C129 512 112 495 112 474.1V432c0-12.6 5.9-24.4 16-32l48-36 0-27.4L52.2 376.2C26.4 384.4 0 365.2 0 338.1V297.5c0-19.1 9.7-36.9 25.8-47.2l12.9 20.2L25.8 250.3 176 154.2V128c0-20.7 6.1-50 16.9-74.5c5.5-12.3 12.8-24.9 22.4-34.8zm21.5 54.2c-8.4 19-12.8 41.7-12.8 55.1v39.4c0 8.2-4.2 15.8-11.1 20.2L51.7 290.8c-2.3 1.5-3.7 4-3.7 6.7v29.6l144.7-46.3c7.3-2.3 15.3-1 21.5 3.5s9.8 11.7 9.8 19.4l0 72.3c0 7.6-3.6 14.7-9.6 19.2L160 436v24.4l88.9-27.4c4.6-1.4 9.5-1.4 14.1 0L352 460.4V436l-54.4-40.8c-6-4.5-9.6-11.6-9.6-19.2V303.7c0-7.7 3.7-14.9 9.8-19.4s14.2-5.8 21.5-3.5L464 327.1V297.5c0-2.7-1.4-5.3-3.7-6.7L299.1 187.6c-6.9-4.4-11.1-12-11.1-20.2V128c0-13.6-4.2-36.3-12.5-55.2c-4.1-9.4-8.5-16.3-12.7-20.6c-4-4.1-6.2-4.2-6.8-4.2l0 0c-.2 0-2.2 0-6.3 4.2c-4.2 4.3-8.7 11.3-12.9 20.7zM146.9 464.4s0 0 0 0l0 0z\"]\n};\nvar faFolderHeart = {\n prefix: 'far',\n iconName: 'folder-heart',\n icon: [512, 512, [], \"e189\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H289.9L247 53.1C233.5 39.6 215.2 32 196.1 32H64zM48 96c0-8.8 7.2-16 16-16H196.1c6.4 0 12.5 2.5 17 7l45.3 45.3c7.5 7.5 17.7 11.7 28.3 11.7H448c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96zm96 157.3c0 16.2 6.5 31.8 17.9 43.3l82.7 82.7c6.2 6.2 16.4 6.2 22.6 0l82.7-82.7c11.5-11.5 17.9-27.1 17.9-43.3c0-33.8-27.4-61.3-61.3-61.3c-16.2 0-31.8 6.5-43.3 17.9l-7.4 7.4-7.4-7.4c-11.5-11.5-27.1-17.9-43.3-17.9c-33.8 0-61.3 27.4-61.3 61.3z\"]\n};\nvar faCircleLocationArrow = {\n prefix: 'far',\n iconName: 'circle-location-arrow',\n icon: [512, 512, [\"location-circle\"], \"f602\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm358.2-73.3l-84 196c-3.5 8.1-11.4 13.3-20.2 13.3c-1.4 0-2.9-.1-4.4-.4C239.4 389.5 232 380.4 232 370V280H142c-10.4 0-19.5-7.4-21.5-17.6c-2.1-10.2 3.3-20.5 12.9-24.6l196-84c8.5-3.5 18-1.7 24.2 4.7c6.4 6.3 8.2 15.9 4.7 24.2z\"]\n};\nvar faLocationCircle = faCircleLocationArrow;\nvar faFaceHeadBandage = {\n prefix: 'far',\n iconName: 'face-head-bandage',\n icon: [576, 512, [], \"e37a\", \"M71.3 354c6.6-9.7 13.4-19.2 20.6-28.4C120.5 406.2 197.5 464 288 464c114.9 0 208-93.1 208-208c0-13.2-1.2-26.2-3.6-38.7c11.9 3 23.7 6.3 35.4 9.8l15 4.5c.8 8 1.1 16.2 1.1 24.4c0 141.4-114.6 256-256 256c-99.5 0-185.8-56.8-228.2-139.8c2.5-3.8 4.8-7.5 6.7-10.7c1.9-3.1 3.5-5.7 4.7-7.5zM218.5 209.6c12.7 4.2 21.9 16.2 21.9 30.4c0 17.7-14.3 32-32 32s-32-14.3-32-32c13.5-10.8 27.6-20.9 42.1-30.4zM368.1 12.8c-45.1 9.1-88.5 23-129.6 41.1c-13.9 3.4-27.2 8.2-39.8 14.2c-33.5 3.1-66.5 7.9-98.9 14.3C146.6 31.8 213.6 0 288 0c28 0 54.9 4.5 80.1 12.8zm-.3 382.7C352.2 381.2 328.4 368 296 368c-12.3 0-23.2 1.9-32.8 4.9c-12.6 4-26.1-3-30.1-15.7s3-26.1 15.7-30.1c14.2-4.5 30-7.1 47.2-7.1c46.5 0 81.4 19.3 104.2 39.9c9.8 8.9 10.5 24.1 1.6 33.9s-24.1 10.5-33.9 1.6zM336.4 240a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM300.6 64.1c38.3-13 78.3-22.2 119.5-27.4c20.8 12.6 39.7 28 56.1 45.7C419.3 71.1 360.6 64.9 300.6 64.1zM406 103.4c34 4.3 67.3 10.5 100.1 18.3c14.1 22.8 24.6 47.9 31 74.7C458.2 172.7 374.6 160 288 160c-17.1 0-34.1 .5-51 1.5c-47.8 2.8-94.6 9.4-140 19.7c-19.6 4.4-39 9.5-58.1 15.3c6.4-26.8 17-51.9 31-74.7c48.4-11.6 98.2-19.5 149.3-23.2C241.9 96.8 264.9 96 288 96c40 0 79.3 2.5 118 7.4zM50.3 226.4c41-12.2 83.3-21.3 126.6-27.1c-51.6 37.5-96.5 83.8-132.2 136.7C36.5 310.9 32 284 32 256c0-3 .1-6.1 .2-9.1c5.9-7 12-13.8 18.2-20.5z\"]\n};\nvar faSushiRoll = {\n prefix: 'far',\n iconName: 'sushi-roll',\n icon: [448, 512, [\"maki-roll\", \"makizushi\"], \"e48b\", \"M400 207.7c-13.2 11.2-29 19.7-45 26.1C319 248.2 272.7 256 224 256s-95-7.8-131-22.2c-16-6.4-31.9-14.9-45-26.1V368c0 3 3.6 18.5 39.1 36.3C119.6 420.5 168 432 224 432s104.4-11.5 136.9-27.7C396.4 386.5 400 371 400 368V207.7zM64 144c0 10.4 6.2 20.1 17.1 28.8c20.4-23.3 45.9-40.4 70.3-52.7c20.1-10.1 40.2-17.3 57.5-21.9c-1.7-5.8-3-11.7-3.8-17.7C125.7 84.2 64 111.2 64 144zm54 47.9c28.2 10 65.4 16.1 106 16.1c30.9 0 59.8-3.5 84.2-9.6c-35.3-13.5-63.8-36.1-82-63.4c-16 3.8-36.4 10.5-56.9 20.8c-18.6 9.3-36.6 21.3-51.4 36.1zM384 144c0-32.4-60.1-59.2-138.2-63.4c9.3 42.5 53.3 85.3 122.8 90.8c9.8-8.3 15.4-17.6 15.4-27.4zM224 32c123.7 0 224 50.1 224 112V368c0 61.9-100.3 112-224 112S0 429.9 0 368V144C0 82.1 100.3 32 224 32z\"]\n};\nvar faMakiRoll = faSushiRoll;\nvar faMakizushi = faSushiRoll;\nvar faCarBump = {\n prefix: 'far',\n iconName: 'car-bump',\n icon: [640, 512, [], \"f5e0\", \"M142.2 101.6L307.3 57.4c16.4-4.4 33.8 2.1 43.4 16.1l38.6 56.6L107.5 205.6l5.1-68.4c1.3-17 13.1-31.2 29.5-35.6zM64.8 133.7l-7.6 101c-21.4 23.4-30.7 56.8-21.9 89.7l18.5 69.1L60 416.5l6.2 23.3 13.9 52.1c3.3 12.3 16 19.6 28.3 16.3s19.6-16 16.3-28.3l-13.9-52.1 1.7-.5L495.8 324.7l1.7-.5 13.9 52.1c3.3 12.3 16 19.6 28.3 16.3s19.6-16 16.3-28.3l-13.9-52.1 0 0L529.8 266l-18.5-69.1c-8.8-32.9-33.6-57.1-63.8-66.7L390.4 46.4C369.3 15.5 331 1.3 294.9 11L129.8 55.2c-36.1 9.7-62.2 41.1-65 78.4zm50.8 119.5l290.5-77.8c25.6-6.9 51.9 8.3 58.8 33.9l18.5 69.1L100.2 381.1 81.7 311.9c-6.9-25.6 8.3-51.9 33.9-58.8zm56.6 46.7a30.8 30.8 0 1 0 -59.5 15.9 30.8 30.8 0 1 0 59.5-15.9zm245.9-34a30.8 30.8 0 1 0 -15.9-59.5 30.8 30.8 0 1 0 15.9 59.5zM584.8 512c19.5 0 34.7-17.7 25.8-35c-18.6-36.2-56.3-61-99.7-61s-81.2 24.8-99.7 61c-8.9 17.3 6.3 35 25.8 35H584.8z\"]\n};\nvar faPiggyBank = {\n prefix: 'far',\n iconName: 'piggy-bank',\n icon: [576, 512, [], \"f4d3\", \"M277.1 48c23 0 42.5 14.7 49.8 35.2c4.4 12.5 18.1 19 30.6 14.6s19-18.1 14.6-30.6C358.3 28.1 321 0 277.1 0S195.8 28.1 182 67.2c-4.4 12.5 2.1 26.2 14.6 30.6s26.2-2.1 30.6-14.6C234.5 62.7 254.1 48 277.1 48zM66.7 197.5c11.9-5.9 16.7-20.3 10.7-32.2s-20.3-16.7-32.2-10.7l-4.7 2.3C15.7 169.3 0 194.7 0 222.6c0 37.4 28 68.3 64.2 72.9C66.4 344.7 91 388.2 128 416v48c0 26.5 21.5 48 48 48h48c26.5 0 48-21.5 48-48V448h48v16c0 26.5 21.5 48 48 48h48c26.5 0 48-21.5 48-48V426.6c18.7-10.8 35.1-25.4 48-42.6h32c17.7 0 32-14.3 32-32V256c0-17.7-14.3-32-32-32H530.7c-8.2-18.8-19.9-35.7-34.2-49.8l11.3-36.8-22.9-7 22.9 7c6.3-20.6-9.1-41.4-30.6-41.4H456c-31.5 0-60.2 12.2-81.6 32H224c-74.4 0-137 50.8-154.9 119.6c-12-2-21.1-12.5-21.1-25.1c0-9.6 5.4-18.4 14.1-22.8l4.7-2.3zM424 288a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM402.3 168c13.1-14.7 32.1-23.9 53.2-24L446 174.8c-2.9 9.4 .2 19.6 7.9 25.8c17.4 13.9 30.4 32.8 37.1 54.5c3.1 10.1 12.4 17 22.9 17h14v64H499.4c-8.3 0-16 4.3-20.3 11.3c-11.7 18.7-28.7 33.7-48.9 42.8C421.5 394 416 402.5 416 412v52H368V424c0-13.3-10.7-24-24-24H248c-13.3 0-24 10.7-24 24v40H176V403.4c0-8.3-4.3-16-11.3-20.3c-31.7-19.8-52.7-55-52.7-95c0-61.9 50.1-112 112-112H384h0l.4 0c6.8 0 13.4-2.9 17.9-8z\"]\n};\nvar faRacquet = {\n prefix: 'far',\n iconName: 'racquet',\n icon: [512, 512, [], \"f45a\", \"M349 48c31.9 0 61.1 10.9 82.6 32.4S464 131.2 464 163c0 40.6-17.7 84.9-52.9 120.1c-64 64-154.5 68.7-202.7 20.5C186.9 282.1 176 252.8 176 221c0-40.6 17.7-84.9 52.9-120.1S308.4 48 349 48zm0-48c-54.2 0-110.5 23.4-154 66.9s-67 99.8-66.9 154c0 17.2 2.4 34.3 7.3 50.6c8.2 27.4 7.6 58.9-9.9 80.6c-12.6-11.3-31.9-10.9-44 1.2l-72 72c-12.5 12.5-12.5 32.8 0 45.3l32 32c12.5 12.5 32.8 12.5 45.3 0l72-72c12.1-12.1 12.5-31.4 1.2-44c21.7-17.5 53.2-18 80.5-9.7c67.7 20.4 148.5-3.6 204.8-59.8c43.6-43.6 67-99.8 66.9-154c0-42.8-14.8-84.9-46.5-116.6S391.8 0 349 0zM54.6 448L104 398.6l9.4 9.4L64 457.4 54.6 448z\"]\n};\nvar faCarMirrors = {\n prefix: 'far',\n iconName: 'car-mirrors',\n icon: [576, 512, [], \"e343\", \"M197.4 80c-17 0-32.1 10.7-37.8 26.8L135.4 176H440.6l-24.2-69.2c-5.6-16-20.8-26.8-37.8-26.8H197.4zM44.8 224H40c-13.3 0-24-10.7-24-24s10.7-24 24-24H84.6l29.8-85.1C126.7 55.6 160 32 197.4 32H378.6c37.4 0 70.7 23.6 83.1 58.9L491.4 176H536c13.3 0 24 10.7 24 24s-10.7 24-24 24h-4.8c8.2 14.1 12.8 30.5 12.8 48v80 48 56c0 13.3-10.7 24-24 24s-24-10.7-24-24V400H80v56c0 13.3-10.7 24-24 24s-24-10.7-24-24V400 352 272c0-17.5 4.7-33.9 12.8-48zm83.2 0c-26.5 0-48 21.5-48 48v80H496V272c0-26.5-21.5-48-48-48H128zm-16 64a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm320-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faIndustryWindows = {\n prefix: 'far',\n iconName: 'industry-windows',\n icon: [576, 512, [127981, \"industry-alt\"], \"f3b3\", \"M80 88c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8V214.7c0 8.6 4.6 16.5 12 20.8s16.6 4.2 24-.1L320 153.8l0 70.9c0 8.8 4.8 16.8 12.5 21.1s17.1 3.9 24.5-.8l139.1-89L496 304v16 88c0 13.3-10.7 24-24 24H104c-13.3 0-24-10.7-24-24V352 304 88zm8-56C57.1 32 32 57.1 32 88V304v48 56c0 39.8 32.2 72 72 72H472c39.8 0 72-32.2 72-72V320 304 155.9c0-37.9-41.9-60.9-73.9-40.4L368 180.8v-27c0-37-40.2-60.1-72.2-41.5L192 172.9V88c0-30.9-25.1-56-56-56H88zm56 264c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V312c0-8.8-7.2-16-16-16H144zm104 16v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V312c0-8.8-7.2-16-16-16H264c-8.8 0-16 7.2-16 16zm136-16c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V312c0-8.8-7.2-16-16-16H384z\"]\n};\nvar faIndustryAlt = faIndustryWindows;\nvar faBoltAuto = {\n prefix: 'far',\n iconName: 'bolt-auto',\n icon: [576, 512, [], \"e0b6\", \"M317.4 36.6C322.6 18.3 308.8 0 289.7 0c-6.8 0-13.5 2.4-18.7 6.9L11.8 228.6C4.3 235 0 244.4 0 254.3C0 272.9 15.1 288 33.7 288h86.4L66.6 475.4C61.4 493.7 75.2 512 94.3 512c6.8 0 13.4-2.4 18.6-6.8L371.7 285.6c7.8-6.6 12.3-16.4 12.3-26.6c0-19.3-15.6-34.9-34.9-34.9H263.8L317.4 36.6zM72.4 240L253.6 85 208.9 241.4c-2.1 7.2-.6 15 3.9 21s11.6 9.5 19.2 9.5h81.5L130.3 427.5l44.8-156.9c2.1-7.2 .6-15-3.9-21s-11.6-9.5-19.2-9.5H72.4zM464 288c-9.1 0-17.4 5.1-21.5 13.3l-88 176c-5.9 11.9-1.1 26.3 10.7 32.2s26.3 1.1 32.2-10.7L410.8 472H517.2l13.4 26.7c5.9 11.9 20.3 16.7 32.2 10.7s16.7-20.3 10.7-32.2l-88-176c-4.1-8.1-12.4-13.3-21.5-13.3zm0 77.7L493.2 424H434.8L464 365.7z\"]\n};\nvar faBatteryHalf = {\n prefix: 'far',\n iconName: 'battery-half',\n icon: [576, 512, [\"battery-3\"], \"f242\", \"M464 144c17.7 0 32 14.3 32 32V336c0 17.7-14.3 32-32 32H80c-17.7 0-32-14.3-32-32V176c0-17.7 14.3-32 32-32H464zM80 96C35.8 96 0 131.8 0 176V336c0 44.2 35.8 80 80 80H464c44.2 0 80-35.8 80-80V320c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32V176c0-44.2-35.8-80-80-80H80zm208 96H96V320H288V192z\"]\n};\nvar faBattery3 = faBatteryHalf;\nvar faFluxCapacitor = {\n prefix: 'far',\n iconName: 'flux-capacitor',\n icon: [448, 512, [], \"f8ba\", \"M384 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM283.3 253.3c6.6 1.8 13.6 2.7 20.7 2.7c44.2 0 80-35.8 80-80s-35.8-80-80-80s-80 35.8-80 80c0-44.2-35.8-80-80-80s-80 35.8-80 80s35.8 80 80 80c7.2 0 14.1-.9 20.7-2.7l-49-49c-15.6-15.6-15.6-40.9 0-56.6s40.9-15.6 56.6 0L224 199.4l51.7-51.7c15.6-15.6 40.9-15.6 56.6 0s15.6 40.9 0 56.6l-49 49zM180.4 268.9c-21.9 14.3-36.4 39-36.4 67.1c0 44.2 35.8 80 80 80s80-35.8 80-80c0-28.1-14.5-52.8-36.4-67.1l-3.6 3.6V336c0 22.1-17.9 40-40 40s-40-17.9-40-40V272.6l-3.6-3.6zM155.3 164.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L208 262.6V336c0 8.8 7.2 16 16 16s16-7.2 16-16V262.6l75.3-75.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L224 233.4l-68.7-68.7z\"]\n};\nvar faMountainCity = {\n prefix: 'far',\n iconName: 'mountain-city',\n icon: [640, 512, [], \"e52e\", \"M344 48c-4.4 0-8 3.6-8 8V219.7l-48-79.6V56c0-30.9 25.1-56 56-56H456c30.9 0 56 25.1 56 56V192h32V120c0-13.3 10.7-24 24-24s24 10.7 24 24v72.6c27.1 3.9 48 27.2 48 55.4V480c0 13.3-10.7 24-24 24s-24-10.7-24-24V248c0-4.4-3.6-8-8-8H568 488c-13.3 0-24-10.7-24-24V56c0-4.4-3.6-8-8-8H344zm27.3 230.2c2.9-3.8 7.5-6.2 12.7-6.2h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16h-9.8l-34.9-57.8zM384 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H384c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16zM368 192c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H384c-8.8 0-16-7.2-16-16V192zm128 96c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H512c-8.8 0-16-7.2-16-16V288zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H512c-8.8 0-16-7.2-16-16V384c0-8.8 7.2-16 16-16zM224 188.9L154.5 304.1l21.3 30.8 28-37.3c4.5-6 11.6-9.6 19.2-9.6h60.8L224 188.9zM58 464H390L312.8 336H235l-40.8 54.4c-4.6 6.2-11.9 9.7-19.7 9.6s-14.9-4-19.3-10.4l-28-40.5L58 464zM253.4 144.7L442.9 458.9c6.5 10.8 6.7 24.3 .7 35.3s-17.6 17.8-30.1 17.8H34.5c-12.5 0-24-6.8-30.1-17.8s-5.8-24.5 .7-35.3L194.6 144.7C200.9 134.3 212 128 224 128s23.1 6.3 29.4 16.7z\"]\n};\nvar faCoins = {\n prefix: 'far',\n iconName: 'coins',\n icon: [512, 512, [], \"f51e\", \"M176 88v0c0 .1 .1 .6 .6 1.5c.6 1.2 2 3.1 4.7 5.5c.4 .3 .8 .7 1.2 1c-18.7 .4-36.9 1.7-54.4 4.1V88c0-18 9.7-32.4 21.1-42.7s26.7-18.5 43.5-24.9C226.4 7.5 271.5 0 320 0s93.6 7.5 127.3 20.3c16.8 6.4 32.1 14.6 43.5 24.9S512 70 512 88V192 296c0 18-9.7 32.4-21.1 42.7s-26.7 18.5-43.5 24.9c-9.6 3.7-20.1 6.9-31.3 9.6V323.6c5.1-1.5 9.8-3.1 14.2-4.8c13.6-5.2 23-10.8 28.5-15.7c2.7-2.4 4.1-4.3 4.7-5.5c.6-1.1 .6-1.5 .6-1.5v0V252.4c-5.3 2.6-10.9 5-16.7 7.2c-9.6 3.7-20.1 6.9-31.3 9.6V219.6c5.1-1.5 9.8-3.1 14.2-4.8c13.6-5.2 23-10.8 28.5-15.7c2.7-2.4 4.1-4.3 4.7-5.5c.5-.9 .6-1.4 .6-1.5v0 0V148.4c-5.3 2.6-10.9 5-16.7 7.2c-13.7 5.2-29.4 9.6-46.3 12.9c-5.1-7.5-11-13.9-16.8-19.1c-10.1-9.1-21.8-16.5-34-22.6c31.7-2.3 59.3-8.2 80-16.1c13.6-5.2 23-10.8 28.5-15.7c2.7-2.4 4.1-4.3 4.7-5.5c.5-.9 .6-1.4 .6-1.5v0 0 0c0 0 0-.5-.6-1.5c-.6-1.2-2-3.1-4.7-5.5c-5.5-5-14.9-10.6-28.5-15.7C403.2 54.9 364.2 48 320 48s-83.2 6.9-110.2 17.2c-13.6 5.2-23 10.8-28.5 15.7c-2.7 2.4-4.1 4.3-4.7 5.5c-.6 1.1-.6 1.5-.6 1.5l0 0zM48 216v0c0 .1 .1 .6 .6 1.5c.6 1.2 2 3.1 4.7 5.5c5.5 5 14.9 10.6 28.5 15.7c27 10.3 66 17.2 110.2 17.2s83.2-6.9 110.2-17.2c13.6-5.2 23-10.8 28.5-15.7c2.7-2.4 4.1-4.3 4.7-5.5c.5-.9 .6-1.4 .6-1.5v0 0 0c0 0 0-.5-.6-1.5c-.6-1.2-2-3.1-4.7-5.5c-5.5-5-14.9-10.6-28.5-15.7c-27-10.3-66-17.2-110.2-17.2s-83.2 6.9-110.2 17.2c-13.6 5.2-23 10.8-28.5 15.7c-2.7 2.4-4.1 4.3-4.7 5.5c-.6 1.1-.6 1.5-.6 1.5l0 0zM0 216c0-18 9.7-32.4 21.1-42.7s26.7-18.5 43.5-24.9C98.4 135.5 143.5 128 192 128s93.6 7.5 127.3 20.3c16.8 6.4 32.1 14.6 43.5 24.9S384 198 384 216V320 424c0 18-9.7 32.4-21.1 42.7s-26.7 18.5-43.5 24.9C285.6 504.5 240.5 512 192 512s-93.6-7.5-127.3-20.3c-16.8-6.4-32-14.6-43.5-24.9S0 442 0 424V320 216zM336 320V276.4c-5.3 2.6-10.9 5-16.7 7.2C285.6 296.5 240.5 304 192 304s-93.6-7.5-127.3-20.3c-5.8-2.2-11.4-4.6-16.7-7.2V320v0c0 .1 .1 .6 .6 1.5c.6 1.2 2 3.1 4.7 5.5c5.5 5 14.9 10.6 28.5 15.7c27 10.3 66 17.2 110.2 17.2s83.2-6.9 110.2-17.2c13.6-5.2 23-10.8 28.5-15.7c2.7-2.4 4.1-4.3 4.7-5.5c.5-.9 .6-1.4 .6-1.5v0 0zM64.7 387.7c-5.8-2.2-11.4-4.6-16.7-7.2V424l0 0c0 0 0 .5 .6 1.5c.6 1.2 2 3.1 4.7 5.5c5.5 5 14.9 10.6 28.5 15.7c27 10.3 66 17.2 110.2 17.2s83.2-6.9 110.2-17.2c13.6-5.2 23-10.8 28.5-15.7c2.7-2.4 4.1-4.3 4.7-5.5c.6-1.1 .6-1.5 .6-1.5v0V380.4c-5.3 2.6-10.9 5-16.7 7.2C285.6 400.5 240.5 408 192 408s-93.6-7.5-127.3-20.3z\"]\n};\nvar faHoneyPot = {\n prefix: 'far',\n iconName: 'honey-pot',\n icon: [448, 512, [127855], \"e418\", \"M78.6 352c21.5 40.9 49 67 64.6 79.6l.1 0c.4 .1 1.4 .4 3.1 .4H301.6c1.6 0 2.6-.2 3.1-.4l.1 0c15.5-12.6 43.1-38.7 64.6-79.6H78.6zM48 224H400c0-79.5-64.5-144-144-144H192c-5.4 0-10.7 .3-16 .9V136c0 13.3-10.7 24-24 24s-24-10.7-24-24V95c-47.4 23.6-80 72.5-80 129zM56 32h96 40 64H392c13.3 0 24 10.7 24 24s-10.7 24-24 24h-9c39.9 35.2 65 86.7 65 144c0 138.8-79.6 217.9-113.3 245.1c-9.3 7.5-21.1 10.9-33.1 10.9H146.4c-12 0-23.7-3.3-33.1-10.9C79.6 441.9 0 362.8 0 224C0 166.7 25.1 115.2 65 80H56C42.7 80 32 69.3 32 56s10.7-24 24-24z\"]\n};\nvar faOlive = {\n prefix: 'far',\n iconName: 'olive',\n icon: [448, 512, [], \"e316\", \"M160 432C98.1 432 48 381.9 48 320c0-79.2 37-138.4 85.9-179.1C184.3 99 243.7 80 280 80c13.6 0 31.8 7.5 50.4 19.9c8.5 5.7 15.7 11.4 20.8 15.8c2.5 2.1 4.4 3.9 5.6 5c.6 .6 1 1 1.2 1.2l.1 .1 .1 .1c.2 .2 .6 .6 1.2 1.2c1.1 1.2 2.9 3.1 5 5.6c4.3 5 10.1 12.2 15.8 20.8C392.5 168.2 400 186.4 400 200c0 36.3-19 95.7-60.9 146.1C298.4 395 239.2 432 160 432zM0 320c0 88.4 71.6 160 160 160c192 0 288-181.9 288-280c0-56-56-112-56-112s-56-56-112-56C181.9 32 0 128 0 320zM271.1 208.9c30.3 30.3 69.6 40.1 87.8 21.9s8.4-57.5-21.9-87.8s-69.6-40.1-87.8-21.9s-8.4 57.5 21.9 87.8z\"]\n};\nvar faKhanda = {\n prefix: 'far',\n iconName: 'khanda',\n icon: [512, 512, [9772], \"f66d\", \"M245.8 3.7c5.9-4.9 14.6-4.9 20.5 0l48 40c5.9 4.9 7.5 13.2 3.8 19.9l0 0 0 0 0 0 0 0-.1 .1-.3 .6c-.3 .5-.7 1.3-1.2 2.3c-1 2-2.6 5-4.4 8.6c-.5 .9-.9 1.9-1.4 2.9C344.9 97.4 368 134 368 176s-23.1 78.6-57.3 97.8c.5 1 1 2 1.4 2.9c1.8 3.7 3.3 6.6 4.4 8.6c.5 1 .9 1.8 1.2 2.3l.3 .6 .1 .1 0 0 0 0c3.6 6.7 2 15-3.8 19.9L272 343.5v19.8l35.6-24.5c0 0 0 0 .1 0h0l41.1-28.2c72.1-49.6 86.2-151.1 39.1-221.7c-4-6-3.5-14 1.3-19.5s12.8-6.9 19.3-3.6c58.5 30 104.7 91.3 104.7 158.2c0 53.1-26.4 100.5-51.2 133.6c-14.8 19.7-31.7 38.7-50.6 54.7c-5.1 4.3-12.4 4.9-18.2 1.6l-75.6-43-32.7 22.5 45.5 31.3c1.8-.4 3.7-.7 5.7-.7c13.3 0 24 10.7 24 24s-10.7 24-24 24c-12.2 0-22.3-9.1-23.8-21L272 423.4v28.9c9.6 5.5 16 15.9 16 27.7c0 17.7-14.3 32-32 32s-32-14.3-32-32c0-11.8 6.4-22.2 16-27.7V424.1l-40.3 27.7C197.8 463.3 187.9 472 176 472c-13.3 0-24-10.7-24-24s10.7-24 24-24c2.2 0 4.4 .3 6.5 .9l45.8-31.5-32.7-22.5-75.6 43c-5.8 3.3-13 2.7-18.2-1.6c-19-15.9-35.8-35-50.6-54.7C26.4 324.5 0 277.1 0 224c0-53.7 26.9-93.6 52.7-119.3c15.4-15.4 32.7-29.2 52.2-39c6.5-3.2 14.3-1.7 19.2 3.7c6.9 7.8 3.4 16.3-1.5 23.7C76.1 162.6 95 262.9 164.4 310.6l41.1 28.2 .1 0L240 362.6V343.5l-42.2-35.2c-5.9-4.9-7.5-13.2-3.8-19.9l0 0 0 0 0 0 .1-.1 .3-.6c.3-.5 .7-1.3 1.2-2.3c1-2 2.6-5 4.4-8.6c.5-.9 .9-1.9 1.4-2.9C167.1 254.6 144 218 144 176s23.1-78.6 57.3-97.8c-.5-1-1-2-1.4-2.9c-1.8-3.7-3.3-6.6-4.4-8.6c-.5-1-.9-1.8-1.2-2.3l-.3-.6-.1-.1 0 0 0 0 0 0c-3.6-6.7-2-15 3.8-19.9l48-40zM220.2 122.9c-17 11.5-28.2 31-28.2 53.1s11.2 41.6 28.2 53.1C227 210.2 232 190.9 232 176s-5-34.2-11.8-53.1zm71.5 106.2c17-11.5 28.2-31 28.2-53.1s-11.2-41.6-28.2-53.1C285 141.8 280 161.1 280 176s5 34.2 11.8 53.1zM57.3 163C47 180.1 40 200.4 40 224c0 40.4 20.4 79.2 43.2 109.6c10 13.4 20.7 25.9 32 37l36-20.5-9.5-6.5C81.5 302.2 51.5 231.7 57.3 163zM429.9 333.6c22.8-30.4 43.2-69.2 43.2-109.6c0-24.3-7.4-45.1-18.2-62.5c6.7 68.5-20.8 138.9-83.6 182l-9.5 6.5 35.9 20.4c11.4-11.1 22.1-23.6 32.1-36.9z\"]\n};\nvar faFilterList = {\n prefix: 'far',\n iconName: 'filter-list',\n icon: [512, 512, [], \"e17c\", \"M41.2 64C18.5 64 0 82.5 0 105.2c0 10.4 3.9 20.4 11 28.1l93 100.1v126c0 13.4 6.7 26 18 33.4l75.5 49.8c5.3 3.5 11.6 5.4 18 5.4c18 0 32.6-14.6 32.6-32.6v-182l93-100.1c7.1-7.6 11-17.6 11-28.1C352 82.5 333.5 64 310.8 64H41.2zM145.6 207.7L56.8 112H295.2l-88.8 95.7c-4.1 4.4-6.4 10.3-6.4 16.3V386.8l-48-31.7V224c0-6.1-2.3-11.9-6.4-16.3zM344 392c-13.3 0-24 10.7-24 24s10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H344zM320 256c0 13.3 10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H344c-13.3 0-24 10.7-24 24zM408 72c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H408z\"]\n};\nvar faOutlet = {\n prefix: 'far',\n iconName: 'outlet',\n icon: [448, 512, [], \"e01c\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM80 256c0-52.3 26.5-85.2 43.6-100.9c8.6-8 20.2-11.1 31.9-11.1h137c11.7 0 23.3 3.1 31.9 11.1c17 15.8 43.6 48.7 43.6 100.9s-26.5 85.2-43.6 100.9c-8.6 8-20.2 11.1-31.9 11.1h-137c-11.7 0-23.3-3.1-31.9-11.1C106.5 341.2 80 308.3 80 256zm96-48c0-8.8-7.2-16-16-16s-16 7.2-16 16v48c0 8.8 7.2 16 16 16s16-7.2 16-16V208zm128 0c0-8.8-7.2-16-16-16s-16 7.2-16 16v48c0 8.8 7.2 16 16 16s16-7.2 16-16V208zM200 296v16c0 4.4 3.6 8 8 8h32c4.4 0 8-3.6 8-8V296c0-13.3-10.7-24-24-24s-24 10.7-24 24z\"]\n};\nvar faSliders = {\n prefix: 'far',\n iconName: 'sliders',\n icon: [512, 512, [\"sliders-h\"], \"f1de\", \"M0 416c0 13.3 10.7 24 24 24l59.7 0c10.2 32.5 40.5 56 76.3 56s66.1-23.5 76.3-56L488 440c13.3 0 24-10.7 24-24s-10.7-24-24-24l-251.7 0c-10.2-32.5-40.5-56-76.3-56s-66.1 23.5-76.3 56L24 392c-13.3 0-24 10.7-24 24zm128 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM320 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm32-80c-35.8 0-66.1 23.5-76.3 56L24 232c-13.3 0-24 10.7-24 24s10.7 24 24 24l251.7 0c10.2 32.5 40.5 56 76.3 56s66.1-23.5 76.3-56l59.7 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-59.7 0c-10.2-32.5-40.5-56-76.3-56zM192 128a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm76.3-56C258.1 39.5 227.8 16 192 16s-66.1 23.5-76.3 56L24 72C10.7 72 0 82.7 0 96s10.7 24 24 24l91.7 0c10.2 32.5 40.5 56 76.3 56s66.1-23.5 76.3-56L488 120c13.3 0 24-10.7 24-24s-10.7-24-24-24L268.3 72z\"]\n};\nvar faSlidersH = faSliders;\nvar faCauldron = {\n prefix: 'far',\n iconName: 'cauldron',\n icon: [448, 512, [], \"f6bf\", \"M160 64a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm112 64a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM74.2 252.5c9.6-17.7 20.1-33.2 28.6-44.5H224 345.2c8.5 11.4 19 26.9 28.6 44.5c15.9 29.2 26.2 58.5 26.2 81.9c0 39.2-18.3 70-49.4 92.5C318.3 450.2 272.6 464 224 464s-94.3-13.8-126.6-37.1C66.3 404.4 48 373.6 48 334.4c0-23.3 10.3-52.6 26.2-81.9zM44.6 208C22.5 243.4 0 290.8 0 334.4c0 37.4 11.9 69.4 32 95.5V488c0 13.3 10.7 24 24 24s24-10.7 24-24V473c40.4 25.5 91.8 39 144 39s103.6-13.5 144-39v15c0 13.3 10.7 24 24 24s24-10.7 24-24V429.9c20.1-26.1 32-58.1 32-95.5c0-43.6-22.5-91-44.6-126.4H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H368 224 80 24c-13.3 0-24 10.7-24 24s10.7 24 24 24H44.6z\"]\n};\nvar faPeople = {\n prefix: 'far',\n iconName: 'people',\n icon: [640, 512, [], \"e216\", \"M160 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-13.7 80h27.5c.8 0 1.5 0 2.3 .1V304H144V176.1c.7 0 1.5-.1 2.3-.1zM144 488V352h32V488c0 13.3 10.7 24 24 24s24-10.7 24-24V223.6l43.1 76.2c6.5 11.5 21.2 15.6 32.7 9.1s15.6-21.2 9.1-32.7L250.3 172.7c-15.6-27.6-44.9-44.7-76.6-44.7H146.3c-31.7 0-61 17.1-76.6 44.7L11.1 276.2c-6.5 11.5-2.5 26.2 9.1 32.7s26.2 2.5 32.7-9.1L96 223.6V488c0 13.3 10.7 24 24 24s24-10.7 24-24zM480 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM587.1 299.8c6.5 11.5 21.2 15.6 32.7 9.1s15.6-21.2 9.1-32.7l-51.8-91.5c-19.8-35-56.9-56.6-97.1-56.6s-77.3 21.6-97.1 56.6l-51.8 91.5c-6.5 11.5-2.5 26.2 9.1 32.7s26.2 2.5 32.7-9.1l37.4-66.1L373.7 363.7c-2.9 10.2 4.8 20.3 15.4 20.3H416V488c0 13.3 10.7 24 24 24s24-10.7 24-24V384h32V488c0 13.3 10.7 24 24 24s24-10.7 24-24V384h26.9c10.6 0 18.3-10.1 15.4-20.3L549.7 233.7l37.4 66.1zM475.4 179.5c.6-2.1 2.5-3.5 4.6-3.5s4 1.4 4.6 3.5l44 156.5H431.4l44-156.5z\"]\n};\nvar faFolderTree = {\n prefix: 'far',\n iconName: 'folder-tree',\n icon: [576, 512, [], \"f802\", \"M48 24C48 10.7 37.3 0 24 0S0 10.7 0 24V136 392c0 30.9 25.1 56 56 56H256V400H56c-4.4 0-8-3.6-8-8V160H256V112H48V24zM336 176V48h44.1l17 17c9.6 9.6 22.6 15 36.2 15H528v96H336zM288 32V192c0 17.7 14.3 32 32 32H544c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H433.3c-.8 0-1.7-.3-2.3-.9L409.4 9.4c-6-6-14.1-9.4-22.6-9.4H320c-17.7 0-32 14.3-32 32zm48 432V336h44.1l17 17c9.6 9.6 22.6 15 36.2 15H528v96H336zM288 320V480c0 17.7 14.3 32 32 32H544c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32H433.3c-.8 0-1.7-.3-2.3-.9l-21.7-21.7c-6-6-14.1-9.4-22.6-9.4H320c-17.7 0-32 14.3-32 32z\"]\n};\nvar faNetworkWired = {\n prefix: 'far',\n iconName: 'network-wired',\n icon: [640, 512, [], \"f6ff\", \"M400 48v96H240V48H400zM240 0c-26.5 0-48 21.5-48 48v96c0 26.5 21.5 48 48 48h56v40H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H136v40H80c-26.5 0-48 21.5-48 48v96c0 26.5 21.5 48 48 48H240c26.5 0 48-21.5 48-48V368c0-26.5-21.5-48-48-48H184V280H456v40H400c-26.5 0-48 21.5-48 48v96c0 26.5 21.5 48 48 48H560c26.5 0 48-21.5 48-48V368c0-26.5-21.5-48-48-48H504V280H616c13.3 0 24-10.7 24-24s-10.7-24-24-24H344V192h56c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H240zM80 368H240v96H80V368zm480 0v96H400V368H560z\"]\n};\nvar faCroissant = {\n prefix: 'far',\n iconName: 'croissant',\n icon: [512, 512, [129360], \"f7f6\", \"M323.7 242.1c2 18.9-4.5 38.1-18.4 51.9L294 305.3c-13.9 13.9-33 20.4-51.9 18.4L208 350.2V384l15.6 93.6c.3 1.6 .4 3.2 .4 4.9c0 16.3-13.2 29.6-29.6 29.6H189c-4.2 0-8.3-.7-12.2-2.3c-35.8-14.3-67.5-36.5-93.2-64.3c-16.4 7.1-36 2.5-45.3-13.7C14 389.4 0 340.3 0 288c0-22.4 2.6-44.2 7.4-65.1C2.7 215.6 0 207 0 197.9c0-5 .8-10 2.5-14.6C33.2 99.6 99.6 33.2 183.3 2.5C188 .8 193 0 197.9 0c9.1 0 17.7 2.7 24.9 7.4C243.8 2.6 265.6 0 288 0c52.3 0 101.4 14 143.7 38.4c16.2 9.3 20.8 28.9 13.7 45.3c27.9 25.7 50 57.4 64.3 93.2c1.5 3.9 2.3 8 2.3 12.2v5.4c0 16.3-13.2 29.6-29.6 29.6c-1.6 0-3.3-.1-4.9-.4L384 208H350.2l-26.5 34.1zm-74.3-191l55.3 137.3L394.5 72.9C362.5 57 326.3 48 288 48c-13.1 0-26 1.1-38.6 3.1zM51.1 249.4C49.1 262 48 274.9 48 288c0 38.3 9 74.5 24.9 106.5l115.5-89.8L51.1 249.4zM388 160l3.9 .7 62 10.3c-10-17.9-22.6-34.3-37.2-48.4L387.6 160h.4zM171 453.9l-10.3-62L160 388v-.4l-37.4 29.1c14.2 14.6 30.5 27.2 48.4 37.2zm71.8-179c6 2.4 12.8 1 17.3-3.5l11.3-11.3c4.5-4.5 5.9-11.3 3.5-17.3l-78.2-194c-67.9 25.9-122 80-147.9 147.9l194 78.2z\"]\n};\nvar faMapPin = {\n prefix: 'far',\n iconName: 'map-pin',\n icon: [320, 512, [128205], \"f276\", \"M64 144a96 96 0 1 1 192 0A96 96 0 1 1 64 144zM184 286c68.1-11.4 120-70.7 120-142C304 64.5 239.5 0 160 0S16 64.5 16 144c0 71.4 51.9 130.6 120 142V488c0 13.3 10.7 24 24 24s24-10.7 24-24V286z\"]\n};\nvar faHamsa = {\n prefix: 'far',\n iconName: 'hamsa',\n icon: [512, 512, [], \"f665\", \"M184 104v96c0 13.3 10.7 24 24 24s24-10.7 24-24V104 72c0-13.3 10.7-24 24-24s24 10.7 24 24v32 96c0 13.3 10.7 24 24 24s24-10.7 24-24V104c0-13.3 10.7-24 24-24s24 10.7 24 24V280c0 13.3 10.7 24 24 24h48.4c8.6 0 15.6 7 15.6 15.6c0 4.1-1.6 8.1-4.6 11l-83.8 83.8C343.9 446.2 300.9 464 256 464s-87.9-17.8-119.6-49.5L52.6 330.6c-2.9-2.9-4.6-6.9-4.6-11C48 311 55 304 63.6 304H112c13.3 0 24-10.7 24-24V104c0-13.3 10.7-24 24-24s24 10.7 24 24zm7.8-64.6C182.2 34.7 171.4 32 160 32c-39.8 0-72 32.2-72 72V256H63.6C28.5 256 0 284.5 0 319.6c0 16.9 6.7 33 18.6 45l83.8 83.8c40.7 40.7 96 63.6 153.5 63.6s112.8-22.9 153.5-63.6l83.8-83.8c11.9-11.9 18.6-28.1 18.6-45c0-35.1-28.5-63.6-63.6-63.6H424V104c0-39.8-32.2-72-72-72c-11.4 0-22.2 2.7-31.8 7.4C308.3 16 284 0 256 0s-52.3 16-64.2 39.4zM165.4 338.2c-3.6 3.7-5.4 8.7-5.4 13.8s1.8 10.1 5.4 13.8C179.2 380.2 217.6 416 256 416s76.8-35.8 90.6-50.2c3.6-3.7 5.4-8.7 5.4-13.8s-1.8-10.1-5.4-13.8C332.8 323.8 294.4 288 256 288s-76.8 35.8-90.6 50.2zM256 320a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faCentSign = {\n prefix: 'far',\n iconName: 'cent-sign',\n icon: [384, 512, [], \"e3f5\", \"M216 0c13.3 0 24 10.7 24 24V72.5C277.9 75 313 88 341.9 108.4c10.8 7.7 13.4 22.6 5.7 33.5s-22.6 13.4-33.5 5.7C289.7 130.3 259.2 120 226 120c-82 0-146 62.2-146 136s64 136 146 136c33.3 0 63.7-10.3 88.2-27.6c10.8-7.7 25.8-5.1 33.5 5.7s5.1 25.8-5.7 33.5C313 424 277.9 437 240 439.5V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V437.2C102 422 32 347.7 32 256s70-166 160-181.2V24c0-13.3 10.7-24 24-24z\"]\n};\nvar faSwordsLaser = {\n prefix: 'far',\n iconName: 'swords-laser',\n icon: [640, 512, [], \"e03d\", \"M204.6 250.7l42.9-39.3 50.7 55.5-37 40.5L281 327c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-.7-.7-59 59L105 501.7C98.3 508.3 89.4 512 80 512s-18.3-3.7-25-10.3L10.3 457C3.7 450.3 0 441.4 0 432s3.7-18.3 10.3-25l82.3-82.3 0 0 0 0 59-59-.7-.7c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l19.7 19.7zM505.7 40.2l-115.3 126-46.7-42.7L471.8 6.3c9.5-8.7 24.1-8.3 33.2 .7s9.4 23.7 .7 33.2zM177.1 361.6l-26.7-26.7-12.4 12.4 26.7 26.7 12.4-12.4zm-61.8 8.3L53.3 432 80 458.7l62.1-62.1-26.7-26.7zM173 312.3L199.7 339l12.7-12.7-26.7-26.7L173 312.3zM135 7c9.1-9.1 23.7-9.4 33.2-.7L360 181.8V286.9L134.3 40.2c-8.7-9.5-8.3-24.1 .7-33.2zM626.8 459.8l-39 39c-8.4 8.4-19.9 13.2-31.8 13.2s-23.4-4.7-31.8-13.2L398.1 372.7c-9-9-14.1-21.2-14.1-33.9V211.3c0-21.4 25.9-32.1 41-17L626.8 396.2c8.4 8.4 13.2 19.9 13.2 31.8s-4.7 23.4-13.2 31.8zM590.7 428l-66.1-66.1-34.7 34.7L556 462.7 590.7 428zm-88.7-88.7L432 269.3v69.5l35.3 35.3 34.7-34.7z\"]\n};\nvar faFlask = {\n prefix: 'far',\n iconName: 'flask',\n icon: [448, 512, [], \"f0c3\", \"M176 196.8c0 20.7-5.8 41-16.6 58.7L119.7 320H328.3l-39.7-64.5c-10.9-17.7-16.6-38-16.6-58.7V48H176V196.8zM320 48V196.8c0 11.8 3.3 23.5 9.5 33.5L437.7 406.2c6.7 10.9 10.3 23.5 10.3 36.4c0 38.3-31.1 69.4-69.4 69.4H69.4C31.1 512 0 480.9 0 442.6c0-12.8 3.6-25.4 10.3-36.4L118.5 230.4c6.2-10.1 9.5-21.7 9.5-33.5V48h-8c-13.3 0-24-10.7-24-24s10.7-24 24-24h40H288h40c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8z\"]\n};\nvar faPersonPregnant = {\n prefix: 'far',\n iconName: 'person-pregnant',\n icon: [384, 512, [], \"e31e\", \"M240 48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM96 352c0 17.7 14.3 32 32 32V488c0 13.3 10.7 24 24 24s24-10.7 24-24V384h16 16V488c0 13.3 10.7 24 24 24s24-10.7 24-24V384h48 16c17.7 0 32-14.3 32-32V320c0-46.8-33.4-85.7-77.7-94.3l-6.1-32.5c-6.8-36.1-37.1-62.7-73.3-65.1c-1-.1-1.9-.2-2.9-.2h-2.4H176h-4.7c-32.5 0-62.3 17.9-77.6 46.5L34.8 284.7c-6.2 11.7-1.8 26.2 9.9 32.5s26.2 1.8 32.5-9.9L96 272.1V352zm80-176h13.6c15.4 0 28.6 11 31.5 26.1l6.1 32.5c3.6 19.4 18.7 34.5 38.1 38.3c22.1 4.3 38.8 23.8 38.8 47.1v16H192 144V208c0-17.7 14.3-32 32-32z\"]\n};\nvar faSquareU = {\n prefix: 'far',\n iconName: 'square-u',\n icon: [448, 512, [], \"e281\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm160 64V280c0 35.3 28.7 64 64 64s64-28.7 64-64V160c0-13.3 10.7-24 24-24s24 10.7 24 24V280c0 61.9-50.1 112-112 112s-112-50.1-112-112V160c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faWandSparkles = {\n prefix: 'far',\n iconName: 'wand-sparkles',\n icon: [512, 512, [], \"f72b\", \"M455.9 49.3c.9-.8 2.1-1.3 3.3-1.3c2.7 0 4.9 2.2 4.9 4.9c0 1.2-.4 2.4-1.3 3.3L97.3 459.6c-2.5 2.8-6.1 4.4-9.9 4.4c-3.5 0-6.9-1.4-9.4-3.9L51.9 434c-2.5-2.5-3.9-5.9-3.9-9.4c0-3.8 1.6-7.3 4.4-9.9L455.9 49.3zM459.1 0C446 0 433.4 4.9 423.6 13.7l-263 238.2c-2.9 2.7-6.8 4.1-10.7 4.1H112c-8.8 0-16 7.2-16 16v31.3c0 4.5-1.9 8.8-5.3 11.9L20.2 379.1C7.3 390.7 0 407.2 0 424.5c0 16.3 6.5 31.9 18 43.4L44.1 494c11.5 11.5 27.1 18 43.4 18c17.3 0 33.8-7.3 45.4-20.2L399.7 197.3c3-3.3 7.3-5.3 11.9-5.3H432c8.8 0 16-7.2 16-16V150.1c0-4 1.5-7.8 4.1-10.7l46.2-51C507.1 78.6 512 66 512 52.9C512 23.7 488.3 0 459.1 0zM432 288c-3.6 0-6.7 2.4-7.7 5.8l-14.8 51.7-51.7 14.8c-3.4 1-5.8 4.1-5.8 7.7s2.4 6.7 5.8 7.7l51.7 14.8 14.8 51.7c1 3.4 4.1 5.8 7.7 5.8s6.7-2.4 7.7-5.8l14.8-51.7 51.7-14.8c3.4-1 5.8-4.1 5.8-7.7s-2.4-6.7-5.8-7.7l-51.7-14.8-14.8-51.7c-1-3.4-4.1-5.8-7.7-5.8zM87.7 69.8c-1-3.4-4.1-5.8-7.7-5.8s-6.7 2.4-7.7 5.8L57.5 121.5 5.8 136.3c-3.4 1-5.8 4.1-5.8 7.7s2.4 6.7 5.8 7.7l51.7 14.8 14.8 51.7c1 3.4 4.1 5.8 7.7 5.8s6.7-2.4 7.7-5.8l14.8-51.7 51.7-14.8c3.4-1 5.8-4.1 5.8-7.7s-2.4-6.7-5.8-7.7l-51.7-14.8L87.7 69.8zM208 0c-3.7 0-6.9 2.5-7.8 6.1l-6.8 27.3-27.3 6.8c-3.6 .9-6.1 4.1-6.1 7.8s2.5 6.9 6.1 7.8l27.3 6.8 6.8 27.3c.9 3.6 4.1 6.1 7.8 6.1s6.9-2.5 7.8-6.1l6.8-27.3 27.3-6.8c3.6-.9 6.1-4.1 6.1-7.8s-2.5-6.9-6.1-7.8l-27.3-6.8L215.8 6.1C214.9 2.5 211.7 0 208 0z\"]\n};\nvar faRouter = {\n prefix: 'far',\n iconName: 'router',\n icon: [576, 512, [], \"f8da\", \"M198.6 105.9c-9.9 8.8-25.1 7.8-33.9-2.1s-7.8-25.1 2.1-33.9C216.2 26.4 281.1 0 352 0s135.8 26.4 185.1 69.9c9.9 8.8 10.9 23.9 2.1 33.9s-23.9 10.9-33.9 2.1C464.5 69.8 410.8 48 352 48s-112.5 21.8-153.4 57.9zM64 352c-8.8 0-16 7.2-16 16v80c0 8.8 7.2 16 16 16H512c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16H64zM0 368c0-35.3 28.7-64 64-64H328V248c0-13.3 10.7-24 24-24s24 10.7 24 24v56H512c35.3 0 64 28.7 64 64v80c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V368zm104 16a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm56 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM352 160c-28.6 0-54.9 10-75.5 26.7c-10.3 8.3-25.4 6.8-33.8-3.5s-6.8-25.4 3.5-33.8C275.2 126 312 112 352 112s76.8 14 105.7 37.4c10.3 8.3 11.9 23.5 3.5 33.8s-23.5 11.9-33.8 3.5C406.9 170 380.6 160 352 160z\"]\n};\nvar faEllipsisVertical = {\n prefix: 'far',\n iconName: 'ellipsis-vertical',\n icon: [128, 512, [\"ellipsis-v\"], \"f142\", \"M64 368a48 48 0 1 0 0 96 48 48 0 1 0 0-96zm0-160a48 48 0 1 0 0 96 48 48 0 1 0 0-96zM112 96A48 48 0 1 0 16 96a48 48 0 1 0 96 0z\"]\n};\nvar faEllipsisV = faEllipsisVertical;\nvar faSwordLaserAlt = {\n prefix: 'far',\n iconName: 'sword-laser-alt',\n icon: [512, 512, [], \"e03c\", \"M505.7 40.2c8.7-9.5 8.3-24.1-.7-33.2s-23.7-9.4-33.2-.7L225.1 232H330.2L505.7 40.2zM13.2 459.8l39 39C60.6 507.3 72.1 512 84 512s23.4-4.7 31.8-13.2L310.6 304l1.1-1.1 8.3-8.3 11.3-11.3c4.6-4.6 5.9-11.5 3.5-17.4s-8.3-9.9-14.8-9.9H304 292.3h-1.5H173.3c-12.7 0-24.9 5.1-33.9 14.1L13.2 396.2C4.7 404.6 0 416.1 0 428s4.7 23.4 13.2 31.8zM242.7 304l-70.1 70.1-34.7-34.7L173.3 304h69.5zm-92.7 92.7L84 462.7 49.3 428l66.1-66.1 34.7 34.7z\"]\n};\nvar faTicket = {\n prefix: 'far',\n iconName: 'ticket',\n icon: [576, 512, [127903], \"f145\", \"M64 64C28.7 64 0 92.7 0 128v60.1c0 10.2 6.4 19.2 16 22.6c18.7 6.6 32 24.4 32 45.3s-13.3 38.7-32 45.3c-9.6 3.4-16 12.5-16 22.6V384c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V323.9c0-10.2-6.4-19.2-16-22.6c-18.7-6.6-32-24.4-32-45.3s13.3-38.7 32-45.3c9.6-3.4 16-12.5 16-22.6V128c0-35.3-28.7-64-64-64H64zM48 128c0-8.8 7.2-16 16-16H512c8.8 0 16 7.2 16 16v44.9c-28.7 16.6-48 47.6-48 83.1s19.3 66.6 48 83.1V384c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V339.1c28.7-16.6 48-47.6 48-83.1s-19.3-66.6-48-83.1V128zM400 304H176V208H400v96zM128 192V320c0 17.7 14.3 32 32 32H416c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32H160c-17.7 0-32 14.3-32 32z\"]\n};\nvar faPowerOff = {\n prefix: 'far',\n iconName: 'power-off',\n icon: [512, 512, [9211], \"f011\", \"M280 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V24zM134.2 107.3c10.7-7.9 12.9-22.9 5.1-33.6s-22.9-12.9-33.6-5.1C46.5 112.3 8 182.7 8 262C8 394.6 115.5 502 248 502s240-107.5 240-240c0-79.3-38.5-149.7-97.8-193.3c-10.7-7.9-25.7-5.6-33.6 5.1s-5.6 25.7 5.1 33.6c47.5 35 78.2 91.2 78.2 154.7c0 106-86 192-192 192S56 368 56 262c0-63.4 30.7-119.7 78.2-154.7z\"]\n};\nvar faCoin = {\n prefix: 'far',\n iconName: 'coin',\n icon: [512, 512, [129689], \"f85c\", \"M98.5 268C59.1 245.8 48 222.7 48 208s11.1-37.8 50.5-60c37.9-21.3 93.5-36 157.5-36s119.6 14.7 157.5 36c39.4 22.2 50.5 45.3 50.5 60s-11.1 37.8-50.5 60C375.6 289.3 320 304 256 304s-119.6-14.7-157.5-36zM256 64C114.6 64 0 128.5 0 208l0 48 0 64c0 70.7 114.6 128 256 128s256-57.3 256-128l0-64 0-48c0-79.5-114.6-144-256-144zM216 350.3c13 1.1 26.4 1.7 40 1.7s27-.6 40-1.7l0 48c-12.9 1.1-26.3 1.7-40 1.7s-27.1-.6-40-1.7l0-48zm-32-4l0 48.1c-23.7-3.9-45.3-9.6-64-16.6l0-47.7c19.7 7 41.2 12.5 64 16.2zM48 292c11.6 9.1 25 17.4 40 24.7l0 46.5C54.2 344.2 48 326.8 48 320l0-28zM328 394.3l0-48.1c22.8-3.8 44.3-9.2 64-16.2l0 47.7c-18.7 7-40.3 12.7-64 16.6zm96-31.2l0-46.5c15-7.3 28.4-15.6 40-24.7l0 28c0 6.8-6.2 24.2-40 43.1zM256 184c40.2 0 75.7 5.2 100.3 12.9c11.8 3.7 19.9 7.7 24.7 11.1c-4.8 3.4-12.9 7.3-24.7 11.1c-24.6 7.8-60 12.9-100.3 12.9s-75.7-5.2-100.3-12.9c-11.8-3.7-19.9-7.7-24.7-11.1c4.8-3.4 12.9-7.3 24.7-11.1c24.6-7.8 60-12.9 100.3-12.9zm128.8 27.4a.2 .2 0 1 0 -.4 .1 .2 .2 0 1 0 .4-.1zm-.1-6.6a.2 .2 0 1 0 -.1-.5 .2 .2 0 1 0 .1 .5zm-257.4-.2a.2 .2 0 1 0 .4-.1 .2 .2 0 1 0 -.4 .1zm.1 6.6a.2 .2 0 1 0 .1 .5 .2 .2 0 1 0 -.1-.5zM432 208c0-17.7-11.3-30.3-21.6-37.9c-10.7-8-24.6-14.2-39.7-18.9c-30.4-9.6-71-15.2-114.7-15.2s-84.3 5.6-114.7 15.2c-15.1 4.8-29 10.9-39.7 18.9C91.3 177.7 80 190.3 80 208s11.3 30.3 21.6 37.9c10.7 8 24.6 14.2 39.7 18.9c30.4 9.6 71 15.2 114.7 15.2s84.3-5.6 114.7-15.2c15.1-4.8 29-10.9 39.7-18.9c10.3-7.7 21.6-20.2 21.6-37.9z\"]\n};\nvar faLaptopSlash = {\n prefix: 'far',\n iconName: 'laptop-slash',\n icon: [640, 512, [], \"e1c7\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-20.3-15.9c18.2-17.5 29.5-42 29.5-69.2c0-17.7-14.3-32-32-32H481.4L134.4 80H512c8.8 0 16 7.2 16 16V320h48V96c0-35.3-28.7-64-64-64H128c-14.4 0-27.8 4.8-38.5 12.9L38.8 5.1zM542.6 400h46.6c-3.3 9.3-9.4 17.3-17.3 23l-29.4-23zM112 184.4L64 146.6V320h48V184.4zM385.7 400l-60.9-48H32c-17.7 0-32 14.3-32 32c0 53 43 96 96 96H487.2l-60.9-48H96c-20.9 0-38.7-13.4-45.3-32H385.7z\"]\n};\nvar faRightLong = {\n prefix: 'far',\n iconName: 'right-long',\n icon: [512, 512, [\"long-arrow-alt-right\"], \"f30b\", \"M505.5 239.6c8.7 9.2 8.7 23.7 0 32.9l-121.4 129c-8.8 9.3-21 14.6-33.7 14.6c-25.6 0-46.3-20.7-46.3-46.3l0-33.7L56 336c-30.9 0-56-25.1-56-56l0-48c0-30.9 25.1-56 56-56l248 0 0-33.7c0-25.6 20.7-46.3 46.3-46.3c12.8 0 25 5.3 33.7 14.6l121.4 129zM352 146.5l0 53.5c0 13.3-10.7 24-24 24L56 224c-4.4 0-8 3.6-8 8l0 48c0 4.4 3.6 8 8 8l272 0c6.4 0 12.5 2.5 17 7s7 10.6 7 17l0 53.5L455 256 352 146.5z\"]\n};\nvar faLongArrowAltRight = faRightLong;\nvar faCircleB = {\n prefix: 'far',\n iconName: 'circle-b',\n icon: [512, 512, [], \"e0fd\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM160 152V256 360c0 13.3 10.7 24 24 24H292c42 0 76-34 76-76c0-24.6-11.7-46.4-29.8-60.3c8.7-12.4 13.8-27.4 13.8-43.7c0-42-34-76-76-76H184c-13.3 0-24 10.7-24 24zm144 52c0 15.5-12.5 28-28 28H208V176h68c15.5 0 28 12.5 28 28zM208 336V280h68 16c15.5 0 28 12.5 28 28s-12.5 28-28 28H208z\"]\n};\nvar faPersonDressSimple = {\n prefix: 'far',\n iconName: 'person-dress-simple',\n icon: [256, 512, [], \"e21c\", \"M128 0a64 64 0 1 1 0 128A64 64 0 1 1 128 0zM96.9 219.6L63.6 336H192.4L159.1 219.6c-2-6.9-8.2-11.6-15.4-11.6H112.3c-7.1 0-13.4 4.7-15.4 11.6zM50.7 206.4c7.8-27.5 33-46.4 61.5-46.4h31.4c28.6 0 53.7 18.9 61.5 46.4l39.1 136.8c5.8 20.4-9.5 40.8-30.8 40.8H192V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V384H112V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V384H42.4c-21.3 0-36.6-20.3-30.8-40.8L50.7 206.4z\"]\n};\nvar faPipeCollar = {\n prefix: 'far',\n iconName: 'pipe-collar',\n icon: [512, 512, [], \"e437\", \"M109.3 18.7c-25-25-65.5-25-90.5 0s-25 65.5 0 90.5L35.4 126C12.9 164.1 0 208.5 0 256s12.9 91.9 35.4 130L18.7 402.7c-25 25-25 65.5 0 90.5s65.5 25 90.5 0L126 476.6c38.1 22.5 82.6 35.4 130 35.4s91.9-12.9 130-35.4l16.7 16.7c25 25 65.5 25 90.5 0s25-65.5 0-90.5L476.6 386c22.5-38.1 35.4-82.6 35.4-130s-12.9-91.9-35.4-130l16.7-16.7c25-25 25-65.5 0-90.5s-65.5-25-90.5 0L386 35.4C347.9 12.9 303.5 0 256 0s-91.9 12.9-130 35.4L109.3 18.7zM48 256a208 208 0 1 1 416 0A208 208 0 1 1 48 256zM256 144a112 112 0 1 1 0 224 112 112 0 1 1 0-224zm0 272a160 160 0 1 0 0-320 160 160 0 1 0 0 320zM48 64a16 16 0 1 1 32 0A16 16 0 1 1 48 64zm0 384a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm400-16a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM432 64a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faLightsHoliday = {\n prefix: 'far',\n iconName: 'lights-holiday',\n icon: [640, 512, [], \"f7b2\", \"M35.3 66.8l0 0 .1 0 .6 .3c.6 .3 1.7 .8 3.1 1.5c2.8 1.4 7.3 3.4 13.2 5.8c11.9 4.9 30 11.6 54.1 18.3C154.5 106.3 226.4 120 320 120s165.5-13.7 213.5-27.1c24-6.7 42.1-13.4 54.1-18.3c6-2.5 10.4-4.5 13.2-5.8c1.4-.7 2.5-1.2 3.1-1.5l.6-.3 0 0 0 0c11.7-6.3 26.2-1.9 32.5 9.8s1.9 26.2-9.8 32.5L616 88c11.4 21.1 11.4 21.1 11.4 21.1l0 0 0 0-.1 .1-.4 .2-1.2 .6c-1 .5-2.4 1.2-4.2 2c-3.6 1.7-8.8 4.1-15.6 6.9c-13.6 5.6-33.5 12.9-59.4 20.2C494.5 153.7 418.4 168 320 168s-174.5-14.3-226.5-28.9c-26-7.3-45.9-14.6-59.4-20.2c-6.8-2.8-12-5.2-15.6-6.9c-1.8-.9-3.2-1.5-4.2-2l-1.2-.6-.4-.2-.1-.1 0 0 0 0s0 0 11.4-21.1L12.6 109.1C1 102.8-3.4 88.3 2.9 76.6c6.3-11.7 20.8-16 32.5-9.8zm80 155.3L130 181c14.8 3.1 30.7 6.1 47.9 8.7l-17.3 48.6c27.2 20.5 39.2 56.9 27.2 90.7c-16.1 45.2-95.7 101.8-118.3 93.8s-48.6-102.2-32.5-147.4c12-33.7 44.4-54.4 78.3-53.1zM296 259.7V199.7c7.9 .2 15.9 .3 24 .3s16.1-.1 24-.3v59.9c32.5 10.2 56 40.5 56 76.3c0 48-56 128-80 128s-80-80-80-128c0-35.8 23.5-66.1 56-76.3zm183.4-21.4l-17.3-48.6c17.1-2.6 33.1-5.5 47.9-8.7l14.7 41.2c34-1.3 66.3 19.4 78.3 53.1c16.1 45.2-9.8 139.4-32.5 147.4s-102.2-48.6-118.3-93.8c-12-33.7 0-70.2 27.2-90.7zM82.2 291.4c-1.2 3.4-2.6 11-2.1 23.3c.4 11.6 2.3 24.6 5.3 37c1.3 5.3 2.7 10.2 4.2 14.6c3.9-2.5 8.1-5.4 12.5-8.7c10.2-7.7 19.9-16.6 27.5-25.4c8-9.2 11.8-16 13-19.4c5.9-16.7-2.8-35-19.4-40.9s-35 2.8-40.9 19.4zM288 336c0 3.6 1.3 11.3 5.8 22.6c4.3 10.8 10.4 22.4 17.4 33.1c3 4.6 6 8.7 8.8 12.4c2.8-3.7 5.8-7.8 8.8-12.4c7-10.7 13.1-22.3 17.4-33.1c4.5-11.4 5.8-19 5.8-22.6c0-17.7-14.3-32-32-32s-32 14.3-32 32zm228.9-64c-16.7 5.9-25.3 24.2-19.4 40.9c1.2 3.4 5 10.2 13 19.4c7.6 8.8 17.3 17.6 27.5 25.4c4.4 3.3 8.6 6.2 12.5 8.7c1.5-4.4 2.9-9.3 4.2-14.6c3-12.4 4.9-25.4 5.3-37c.4-12.2-.9-19.9-2.1-23.3c-5.9-16.7-24.2-25.3-40.9-19.4z\"]\n};\nvar faCitrus = {\n prefix: 'far',\n iconName: 'citrus',\n icon: [512, 512, [], \"e2f4\", \"M304 128h80c53 0 96-43 96-96V16c0-8.8-7.2-16-16-16H384c-31 0-58.7 14.7-76.2 37.6c-16.7-3.7-34-5.6-51.8-5.6C123.5 32 16 139.5 16 272s107.5 240 240 240s240-107.5 240-240c0-49.5-15-95.5-40.7-133.7c-13.5 9.1-28.8 15.7-45.3 19.1c23.9 32 38 71.7 38 114.6c0 106-86 192-192 192S64 378 64 272S150 80 256 80c11.2 0 22.2 1 32.9 2.8c-.6 4.3-.9 8.7-.9 13.2v16c0 8.8 7.2 16 16 16z\"]\n};\nvar faFlagUsa = {\n prefix: 'far',\n iconName: 'flag-usa',\n icon: [448, 512, [], \"f74d\", \"M24 0C37.3 0 48 10.7 48 24V52l85-21.2c38.1-9.5 78.3-5.1 113.5 12.5c46.3 23.2 100.8 23.2 147.1 0l9.6-4.8C423.8 28.1 448 43.1 448 66.1v66.2 51.3 52.7 51.3 74.2c0 13.3-8.3 25.3-20.8 30l-34.7 13c-46.2 17.3-97.6 14.6-141.7-7.4c-37.9-19-81.3-23.7-122.5-13.4L48 404l0 84c0 13.3-10.7 24-24 24s-24-10.7-24-24V416 366.5 313.2 264 217.2 168 64 24C0 10.7 10.7 0 24 0zM400 93c-56.4 22.9-120.2 20.6-175-6.8c-15.3-7.7-32.1-11.8-49-12.3v60.7c18.8 .6 37.5 3.6 55.6 9l49.3 14.8c35.2 10.6 72.9 9.3 107.3-3.6l11.8-4.4V93zM48 252.9l68.5-15.8c39.8-9.2 81.4-6.9 119.9 6.6l41.9 14.7c37.1 13 77.6 12.5 114.5-1.3l7.3-2.7V201.6c-42.9 14.9-89.4 15.9-132.9 2.8l-49.3-14.8c-28-8.4-57.6-9.3-86.1-2.8L48 206.2v46.7zm0 49.3v52.4l68.6-17.2c52.2-13.1 107.4-7 155.6 17.1c32.2 16.1 69.7 18.1 103.4 5.4l24.4-9.1V305.4c-44.7 14.4-93.1 13.9-137.6-1.7L220.5 289c-30-10.5-62.3-12.3-93.3-5.1L48 302.2zM96 104a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm32 0a16 16 0 1 0 0-32 16 16 0 1 0 0 32zM96 152a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm32 0a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faLaptopFile = {\n prefix: 'far',\n iconName: 'laptop-file',\n icon: [640, 512, [], \"e51d\", \"M448 48H128c-8.8 0-16 7.2-16 16V320H320v64H48c-26.5 0-48-21.5-48-48c0-8.8 7.2-16 16-16H64V64C64 28.7 92.7 0 128 0H448c35.3 0 64 28.7 64 64V96H464V64c0-8.8-7.2-16-16-16zM400 464H592V256H544c-17.7 0-32-14.3-32-32V176l-112 0V464zm192 48H400c-26.5 0-48-21.5-48-48V176c0-26.5 21.5-48 48-48H524.1c12.7 0 24.9 5.1 33.9 14.1l67.9 67.9c9 9 14.1 21.2 14.1 33.9V464c0 26.5-21.5 48-48 48z\"]\n};\nvar faTty = {\n prefix: 'far',\n iconName: 'tty',\n icon: [512, 512, [\"teletype\"], \"f1e4\", \"M370 188.8v25.9l76.6 16.9 15.8-53.4c3.3-11.2-.3-17.4-2.5-19.4C421 123.4 349.4 80 256 80s-165 43.4-203.9 78.6c-2.2 2-5.8 8.2-2.5 19.4l15.8 53.4L142 214.6V188.8c0-19.5 11.8-37.1 29.9-44.5c53.9-21.9 114.2-21.9 168.1 0c18.1 7.4 29.9 24.9 29.9 44.5zm-48 25.9V188.8c-42.3-17.2-89.7-17.2-132 0v25.9c0 22.5-15.7 42-37.7 46.9L75.7 278.4c-24.6 5.4-49.2-9.1-56.4-33.3L3.5 191.7c-7.2-24.5-2.6-51.4 16.3-68.6C64.9 82.2 147.6 32 256 32s191.1 50.2 236.2 91.1c18.9 17.2 23.5 44.1 16.3 68.6l-15.8 53.4c-7.1 24.2-31.8 38.7-56.4 33.3l-76.6-16.9c-22-4.8-37.7-24.3-37.7-46.9zM32 336c0-8.8 7.2-16 16-16H80c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H48c-8.8 0-16-7.2-16-16V336zm0 96c0-8.8 7.2-16 16-16H80c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H48c-8.8 0-16-7.2-16-16V432zM144 320h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H144c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H240c-8.8 0-16-7.2-16-16V336zm112-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H336c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H432c-8.8 0-16-7.2-16-16V336zm16 80h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H432c-8.8 0-16-7.2-16-16V432c0-8.8 7.2-16 16-16zM128 432c0-8.8 7.2-16 16-16H368c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H144c-8.8 0-16-7.2-16-16V432z\"]\n};\nvar faTeletype = faTty;\nvar faChartTreeMap = {\n prefix: 'far',\n iconName: 'chart-tree-map',\n icon: [512, 512, [], \"e0ea\", \"M176 80V192H48L48 80H176zM48 32C21.5 32 0 53.5 0 80V192c0 26.5 21.5 48 48 48H176c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H48zM176 320V432H48l0-112H176zM48 272c-26.5 0-48 21.5-48 48V432c0 26.5 21.5 48 48 48H176c26.5 0 48-21.5 48-48V320c0-26.5-21.5-48-48-48H48zM304 80H464v32H304V80zm-48 0v32c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H304c-26.5 0-48 21.5-48 48zM464 240v32H304V240H464zM304 192c-26.5 0-48 21.5-48 48v32c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V240c0-26.5-21.5-48-48-48H304zm0 208H464v32H304V400zm-48 0v32c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V400c0-26.5-21.5-48-48-48H304c-26.5 0-48 21.5-48 48z\"]\n};\nvar faDiagramNext = {\n prefix: 'far',\n iconName: 'diagram-next',\n icon: [512, 512, [], \"e476\", \"M448 224c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96v64c0 35.3 28.7 64 64 64H232v86.1l-23-23c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0l64-64c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-23 23V224H448zM64 288c-35.3 0-64 28.7-64 64v64c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64V352c0-35.3-28.7-64-64-64l-74.3 0c4.8 16 2.2 33.8-7.7 48h82c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H368 144l-80 0c-8.8 0-16-7.2-16-16V352c0-8.8 7.2-16 16-16h82c-9.9-14.2-12.5-32-7.7-48L64 288z\"]\n};\nvar faPersonRifle = {\n prefix: 'far',\n iconName: 'person-rifle',\n icon: [576, 512, [], \"e54e\", \"M240 0c-44.2 0-80 35.8-80 80s35.8 80 80 80c43.9 0 79.5-35.3 80-79V79c-.5-43.7-36.1-79-80-79zm20.7 192H219.3c-45.5 0-87 25.7-107.3 66.3L34.5 413.3c-5.9 11.9-1.1 26.3 10.7 32.2s26.3 1.1 32.2-10.7L152 285.7V488c0 13.3 10.7 24 24 24s24-10.7 24-24V242.6c6.2-1.7 12.7-2.6 19.3-2.6h41.3c3.8 0 7.6 .3 11.3 .9V488c0 13.3 10.7 24 24 24s24-10.7 24-24V271.2 207.7c-17.8-10.1-38.1-15.7-59.3-15.7zM208 80a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM416 0c-8.8 0-16 7.2-16 16s7.2 16 16 16V132.3c-9.6 5.5-16 15.9-16 27.7v32H384c-17.7 0-32 14.3-32 32V352c0 17.7 14.3 32 32 32h32v48 64c0 8.8 7.2 16 16 16h59.5c10.4 0 18-9.8 15.5-19.9L484 400h44c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16H480V325.3l53.1-17.7c6.5-2.2 10.9-8.3 10.9-15.2V208c0-8.8-7.2-16-16-16H512c-8.8 0-16 7.2-16 16v56l-16 5.3V160c0-11.8-6.4-22.2-16-27.7V16c0-8.8-7.2-16-16-16H432 416zm16 336H416 400V240h32v96z\"]\n};\nvar faClockFiveThirty = {\n prefix: 'far',\n iconName: 'clock-five-thirty',\n icon: [512, 512, [], \"e34a\", \"M48 256a208 208 0 1 1 416 0A208 208 0 1 1 48 256zm464 0A256 256 0 1 0 0 256a256 256 0 1 0 512 0zM280 392V335.3l20 30c7.4 11 22.3 14 33.3 6.7s14-22.3 6.7-33.3l-64-96c-5.9-8.8-16.8-12.7-26.9-9.7s-17 12.4-17 23V392c0 13.3 10.7 24 24 24s24-10.7 24-24z\"]\n};\nvar faPipeValve = {\n prefix: 'far',\n iconName: 'pipe-valve',\n icon: [512, 512, [], \"e439\", \"M280 56c0-13.3-10.7-24-24-24s-24 10.7-24 24V77L128 64c-17.7 0-32 14.3-32 32s14.3 32 32 32l104-13v77H48v-8c0-13.3-10.7-24-24-24s-24 10.7-24 24v32V424v32c0 13.3 10.7 24 24 24s24-10.7 24-24v-8H464v8c0 13.3 10.7 24 24 24s24-10.7 24-24V424 216 184c0-13.3-10.7-24-24-24s-24 10.7-24 24v8H280V115l104 13c17.7 0 32-14.3 32-32s-14.3-32-32-32L280 77V56zM48 400V240H256 464V400H48z\"]\n};\nvar faArrowUpFromArc = {\n prefix: 'far',\n iconName: 'arrow-up-from-arc',\n icon: [512, 512, [], \"e4b4\", \"M256 464C141.1 464 48 370.9 48 256c0-13.3-10.7-24-24-24s-24 10.7-24 24C0 397.4 114.6 512 256 512s256-114.6 256-256c0-13.3-10.7-24-24-24s-24 10.7-24 24c0 114.9-93.1 208-208 208zM134.4 119.7c-9 9.7-8.5 24.9 1.3 33.9s24.9 8.5 33.9-1.3L232 85.1 232 328c0 13.3 10.7 24 24 24s24-10.7 24-24l0-242.9 62.4 67.2c9 9.7 24.2 10.3 33.9 1.3s10.3-24.2 1.3-33.9l-104-112C269 2.8 262.7 0 256 0s-13 2.8-17.6 7.7l-104 112z\"]\n};\nvar faFaceSpiralEyes = {\n prefix: 'far',\n iconName: 'face-spiral-eyes',\n icon: [512, 512, [], \"e485\", \"M464 256c0-114.9-93.1-208-208-208c-71 0-133.6 35.5-171.1 89.8c18.5-21.6 45.8-36.5 76.6-37.7c6.6-.3 12.2 4.9 12.5 11.5s-4.9 12.2-11.5 12.5c-46.9 1.9-82.2 45-78.1 84.3l0 .3 0 .3c2 40.2 40.8 70.7 76.2 66.7l.3 0 .3 0c36.3-2 62.1-35.7 58.4-64.5l0-.3 0-.3c-2.1-29.8-31.3-51-56-47.5l-.3 0-.3 0c-25.7 2.2-42 26.2-38.9 44.5l.1 .4 0 .4c2.1 19.5 21.5 31.3 35.5 28.6l.3-.1 .3 0c15.2-2.1 22-16.3 19.9-24l-.1-.4-.1-.4c-.9-4.3-3.4-7.4-6.5-9.2c-.9-.5-1.8-.9-2.6-1.2c1.7 1.9 2.8 4.2 3 6.9c1 11.1-8.8 15.8-14.1 16.4c-6.6 .8-13.4-2.2-17.6-8.5c-5-6.8-4.4-15.6-1.8-21.8c2.9-7 8.9-13.2 17.8-16c9.2-3.3 19.4-1.3 27.5 3.3c8.3 4.9 15.5 13.4 17.9 24.8c5.8 22.8-11.9 49.5-39.5 53.6c-27.7 5.3-59.8-16.2-63.6-49.2c-5.4-33 21.9-68.7 60.3-72.1c38.2-5.2 79.6 25.8 82.9 69.3c5.4 43.3-31.5 88.2-80.6 91.2c-48.8 5.3-99.6-35.2-102.5-89.1c-1.2-11.3 0-22.5 3-33.3C53.5 201.5 48 228.1 48 256c0 114.9 93.1 208 208 208s208-93.1 208-208zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm338.1 48.5c-.3-6.6 4.9-12.2 11.5-12.5c46.9-1.9 82.2-45 78.1-84.3l0-.3 0-.3c-2-40.2-40.8-70.7-76.2-66.7l-.3 0-.3 0c-36.3 2-62.1 35.7-58.4 64.5l0 .3 0 .3c2.1 29.8 31.3 51 56 47.5l.3 0 .3 0c25.7-2.2 42-26.2 38.9-44.5l-.1-.4 0-.4c-2.1-19.5-21.5-31.3-35.5-28.6l-.3 .1-.3 0c-15.2 2.1-21.9 16.3-19.9 24l.1 .4 .1 .4c.9 4.3 3.4 7.4 6.5 9.2c.9 .5 1.8 .9 2.6 1.2c-1.7-1.9-2.8-4.2-3-6.9c-1-11.1 8.8-15.8 14.1-16.4c6.6-.8 13.4 2.2 17.6 8.5c5 6.8 4.4 15.6 1.8 21.8c-2.9 7-8.9 13.2-17.8 16c-9.2 3.3-19.4 1.3-27.5-3.3c-8.3-4.9-15.5-13.4-17.9-24.8c-5.8-22.8 11.9-49.5 39.5-53.6c27.7-5.3 59.8 16.2 63.6 49.2c5.4 33-21.9 68.7-60.3 72.1c-38.2 5.2-79.6-25.8-82.9-69.3c-5.4-43.3 31.5-88.2 80.6-91.2c48.8-5.3 99.6 35.2 102.5 89.1c5.5 53.8-41.1 108.1-101 110.5c-6.6 .3-12.2-4.9-12.5-11.5zm-35.9 46.6l6.7-4.5c22.2-14.8 51.8-11.9 70.7 7L385 359c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-5.4-5.4c-2.7-2.7-6.9-3.1-10.1-1l-6.7 4.5c-20.3 13.5-47 12.4-66-2.9l-1.7-1.4c-2.9-2.3-7.1-2.3-10 0l-1.7 1.4c-19 15.2-45.8 16.4-66 2.9l-6.7-4.5c-3.2-2.1-7.4-1.7-10.1 1L161 393c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l5.4-5.4c18.9-18.9 48.5-21.8 70.7-7l6.7 4.5c2.9 1.9 6.7 1.8 9.4-.4l1.7-1.4c20.5-16.4 49.5-16.4 70 0l1.7 1.4c2.7 2.2 6.5 2.3 9.4 .4z\"]\n};\nvar faCompressWide = {\n prefix: 'far',\n iconName: 'compress-wide',\n icon: [512, 512, [], \"f326\", \"M160 88c0-13.3-10.7-24-24-24s-24 10.7-24 24v88H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H136c13.3 0 24-10.7 24-24V88zM24 288c-13.3 0-24 10.7-24 24s10.7 24 24 24h88v88c0 13.3 10.7 24 24 24s24-10.7 24-24V312c0-13.3-10.7-24-24-24H24zM400 88c0-13.3-10.7-24-24-24s-24 10.7-24 24V200c0 13.3 10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H400V88zM376 288c-13.3 0-24 10.7-24 24V424c0 13.3 10.7 24 24 24s24-10.7 24-24V336h88c13.3 0 24-10.7 24-24s-10.7-24-24-24H376z\"]\n};\nvar faCirclePhoneHangup = {\n prefix: 'far',\n iconName: 'circle-phone-hangup',\n icon: [512, 512, [\"phone-circle-down\"], \"e11d\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM391.4 294l21.7-35.2c4.8-7.8 3.4-17.5-3.4-23.8c-84.9-78.6-222.6-78.6-307.5 0c-6.8 6.3-8.2 16.1-3.4 23.8L120.6 294c5.3 8.6 16.8 12.3 26.7 8.5l46.2-17.6c8.7-3.3 14.1-11.6 13.1-20.3L203.7 238c33.8-10.8 70.8-10.8 104.6 0l-2.9 26.7c-.9 8.7 4.4 16.9 13.1 20.3l46.2 17.6c9.9 3.8 21.4 .2 26.7-8.5z\"]\n};\nvar faPhoneCircleDown = faCirclePhoneHangup;\nvar faGearComplexCode = {\n prefix: 'far',\n iconName: 'gear-complex-code',\n icon: [512, 512, [], \"e5eb\", \"M188.2 36.7C193.4 15.2 212.7 0 234.9 0h42.2c22.2 0 41.5 15.2 46.7 36.7L332 71l1.1 .4 30-18.4c18.9-11.6 43.3-8.7 59 7l29.8 29.8c15.7 15.7 18.6 40.1 7 59l-18.4 30 .4 1.1 34.2 8.3c21.6 5.2 36.7 24.5 36.7 46.7v42.2c0 22.2-15.2 41.5-36.7 46.7L441 332l-.4 1.1 18.4 30c11.6 18.9 8.7 43.3-7 59l-29.8 29.8c-15.7 15.7-40.1 18.6-59 7l-30-18.4L332 441l-8.3 34.2c-5.2 21.6-24.5 36.7-46.7 36.7H234.9c-22.2 0-41.5-15.2-46.7-36.7L180 441l-1.1-.4-30 18.4c-18.9 11.6-43.3 8.7-59-7L60.1 422.1c-15.7-15.7-18.6-40.1-7-59l18.4-30L71 332l-34.2-8.3C15.2 318.6 0 299.3 0 277.1V234.9c0-22.2 15.2-41.5 36.7-46.7L71 180l.4-1.1L53 148.9c-11.6-18.9-8.7-43.3 7-59L89.9 60.1c15.7-15.7 40.1-18.6 59-7l30 18.4L180 71l8.3-34.2zM277.1 48l-42.2 0L223.6 94.6c-1.9 8-7.9 14.5-15.7 17.1c-6.8 2.3-13.5 5-19.9 8.2c-7.4 3.7-16.2 3.3-23.3-1L123.8 94 94 123.8l25 40.9c4.3 7.1 4.7 15.9 1 23.3c-3.2 6.4-6 13-8.2 19.9c-2.6 7.9-9.1 13.8-17.1 15.7L48 234.9l0 42.2 46.6 11.3c8 1.9 14.5 7.9 17.1 15.7c2.3 6.8 5 13.5 8.2 19.9c3.7 7.4 3.3 16.2-1 23.3L94 388.2 123.8 418l40.9-25c7.1-4.3 15.9-4.7 23.3-1c6.4 3.2 13 6 19.9 8.2c7.9 2.6 13.8 9.1 15.7 17.1L234.9 464h42.2l11.3-46.6c1.9-8 7.9-14.5 15.7-17.1c6.8-2.3 13.5-5 19.9-8.2c7.4-3.7 16.2-3.3 23.3 1l40.9 25L418 388.2l-25-40.9c-4.3-7.1-4.7-15.9-1-23.3c3.2-6.4 6-13 8.2-19.9c2.6-7.9 9.1-13.8 17.1-15.7L464 277.1V234.9l-46.6-11.3c-8-1.9-14.5-7.9-17.1-15.7c-2.3-6.8-5-13.5-8.2-19.9c-3.7-7.4-3.3-16.2 1-23.3l25-40.9L388.2 94l-40.9 25c-7.1 4.3-15.9 4.7-23.3 1c-6.4-3.2-13-6-19.9-8.2c-7.9-2.6-13.8-9.1-15.7-17.1L277.1 48zm14.6 115.3l-32 192c-1.8 10.9-12.1 18.3-23 16.4s-18.3-12.1-16.4-23l32-192c1.8-10.9 12.1-18.3 23-16.4s18.3 12.1 16.4 23zm-93.6 66.9L172.3 256l25.9 25.9c7.8 7.8 7.8 20.5 0 28.3s-20.5 7.8-28.3 0l-40-40c-7.8-7.8-7.8-20.5 0-28.3l40-40c7.8-7.8 20.5-7.8 28.3 0s7.8 20.5 0 28.3zm144-28.3l40 40c7.8 7.8 7.8 20.5 0 28.3l-40 40c-7.8 7.8-20.5 7.8-28.3 0s-7.8-20.5 0-28.3L339.7 256l-25.9-25.9c-7.8-7.8-7.8-20.5 0-28.3s20.5-7.8 28.3 0z\"]\n};\nvar faHouseMedicalCircleExclamation = {\n prefix: 'far',\n iconName: 'house-medical-circle-exclamation',\n icon: [640, 512, [], \"e512\", \"M272.5 5.7c9-7.6 22.1-7.6 31.1 0L526.1 194.6c-9.8-1.7-19.9-2.6-30.1-2.6c-14.2 0-28.1 1.7-41.3 4.9L288 55.5 112 204.8V432c0 17.7 14.3 32 32 32H348.5c12.3 18.8 28 35.1 46.3 48H144c-44.2 0-80-35.8-80-80V245.5L39.5 266.3c-10.1 8.6-25.3 7.3-33.8-2.8s-7.3-25.3 2.8-33.8l264-224zM320 256h40.2c-15.3 18.5-26.9 40.2-33.6 64H320v48c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V320H208c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16h48V208c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48zm176-32a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm0 240a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-192c-8.8 0-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16V288c0-8.8-7.2-16-16-16z\"]\n};\nvar faBadminton = {\n prefix: 'far',\n iconName: 'badminton',\n icon: [576, 512, [], \"e33a\", \"M228.9 100.9C193.7 136.1 176 180.4 176 221c0 31.9 10.9 61.1 32.4 82.6c48.2 48.2 138.8 43.5 202.7-20.5C446.3 247.9 464 203.6 464 163c0-31.9-10.9-61.1-32.4-82.6S380.8 48 349 48c-40.6 0-84.9 17.7-120.1 52.9zM194.9 66.9C238.5 23.4 294.8 0 349 0c42.8 0 84.9 14.8 116.6 46.5S512 120.2 512 163c0 54.2-23.4 110.5-66.9 154c-56.3 56.3-137 80.2-204.8 59.8c-27.3-8.2-58.7-7.8-80.5 9.7c11.3 12.6 10.9 31.9-1.2 44l-72 72c-12.5 12.5-32.8 12.5-45.3 0l-32-32c-12.5-12.5-12.5-32.8 0-45.3l72-72c12.1-12.1 31.4-12.5 44-1.2c17.5-21.8 18.1-53.3 9.9-80.6c-4.9-16.3-7.3-33.4-7.3-50.6c0-54.2 23.4-110.5 66.9-154zM104 398.6L54.6 448l9.4 9.4L113.4 408l-9.4-9.4zM512 352c26.5 0 48 21.5 48 48v32H464V400c0-26.5 21.5-48 48-48zm-50.3 96h33.4l-15.8 52.6c-2.5 8.5-11.5 13.3-19.9 10.7s-13.3-11.5-10.7-19.9l13-43.4zm34.3 0h32v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V448zm32.9 0h33.4l13 43.4c2.5 8.5-2.3 17.4-10.7 19.9s-17.4-2.3-19.9-10.7L528.9 448z\"]\n};\nvar faClosedCaptioning = {\n prefix: 'far',\n iconName: 'closed-captioning',\n icon: [576, 512, [], \"f20a\", \"M512 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H512zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM200 208c14.2 0 27 6.1 35.8 16c8.8 9.9 24 10.7 33.9 1.9s10.7-24 1.9-33.9c-17.5-19.6-43.1-32-71.5-32c-53 0-96 43-96 96s43 96 96 96c28.4 0 54-12.4 71.5-32c8.8-9.9 8-25-1.9-33.9s-25-8-33.9 1.9c-8.8 9.9-21.6 16-35.8 16c-26.5 0-48-21.5-48-48s21.5-48 48-48zm144 48c0-26.5 21.5-48 48-48c14.2 0 27 6.1 35.8 16c8.8 9.9 24 10.7 33.9 1.9s10.7-24 1.9-33.9c-17.5-19.6-43.1-32-71.5-32c-53 0-96 43-96 96s43 96 96 96c28.4 0 54-12.4 71.5-32c8.8-9.9 8-25-1.9-33.9s-25-8-33.9 1.9c-8.8 9.9-21.6 16-35.8 16c-26.5 0-48-21.5-48-48z\"]\n};\nvar faPersonHiking = {\n prefix: 'far',\n iconName: 'person-hiking',\n icon: [384, 512, [\"hiking\"], \"f6ec\", \"M288 48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM136.5 125.8c3.8-15.1-7.7-29.8-23.3-29.8h-4.2C73 96 41.4 120.1 31.9 155L7 246.4c-3.7 13.7 5.2 27.7 19.2 30l47.9 8c12.3 2.1 24.2-5.7 27.2-17.9l35.2-140.7zM384 184c0-13.3-10.7-24-24-24s-24 10.7-24 24v24H308.8l-28.7-43.1c-11.2-16.9-28.6-28.7-48.5-32.9c-32-6.9-63.6 13.3-70.9 45.2l-19.8 86.5c-4.7 20.4 2.4 41.7 18.4 55.2L240 387.1V488c0 13.3 10.7 24 24 24s24-10.7 24-24V383.4c0-11.8-5.2-22.9-14.2-30.5l-27.5-23.2 22.4-95.2 2.5 3.7c7.4 11.1 19.9 17.8 33.3 17.8H336V488c0 13.3 10.7 24 24 24s24-10.7 24-24V184zm-162.4-5.1c3.6 .8 7 2.2 10 4.1L205.3 294.9l-14.9-12.6c-2.3-1.9-3.3-5-2.6-7.9l19.8-86.5c1.4-6.3 7.7-10.3 14.1-9zM80.9 481.5c-3.6 12.8 3.8 26 16.6 29.6s26-3.8 29.6-16.6l36.7-130-24.8-21c-5.6-4.7-10.5-10.1-14.6-15.8L80.9 481.5z\"]\n};\nvar faHiking = faPersonHiking;\nvar faRightFromLine = {\n prefix: 'far',\n iconName: 'right-from-line',\n icon: [448, 512, [\"arrow-alt-from-left\"], \"f347\", \"M288 146.2L398 256 288 365.8l0-53.8c0-13.3-10.7-24-24-24l-120 0 0-64 120 0c13.3 0 24-10.7 24-24l0-53.8zM448 256c0-11.5-4.6-22.5-12.7-30.6L319.2 109.6c-8.7-8.7-20.5-13.6-32.8-13.6c-25.6 0-46.4 20.8-46.4 46.4l0 33.6-96 0c-26.5 0-48 21.5-48 48l0 64c0 26.5 21.5 48 48 48l96 0 0 33.6c0 25.6 20.8 46.4 46.4 46.4c12.3 0 24.1-4.9 32.8-13.6L435.3 286.6c8.1-8.1 12.7-19.1 12.7-30.6zM48 88c0-13.3-10.7-24-24-24S0 74.7 0 88L0 424c0 13.3 10.7 24 24 24s24-10.7 24-24L48 88z\"]\n};\nvar faArrowAltFromLeft = faRightFromLine;\nvar faVenusDouble = {\n prefix: 'far',\n iconName: 'venus-double',\n icon: [640, 512, [9890], \"f226\", \"M192 304a128 128 0 1 0 0-256 128 128 0 1 0 0 256zM368 176c0 89.1-66.2 162.7-152 174.4V400h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H216v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V448H120c-13.3 0-24-10.7-24-24s10.7-24 24-24h48V350.4C82.2 338.7 16 265.1 16 176C16 78.8 94.8 0 192 0s176 78.8 176 176zM344 318c10.9-11.7 20.5-24.6 28.5-38.6C393.7 294.9 419.8 304 448 304c70.7 0 128-57.3 128-128s-57.3-128-128-128c-28.2 0-54.3 9.1-75.5 24.6c-8-14-17.6-26.9-28.5-38.6C373.1 12.6 409.1 0 448 0c97.2 0 176 78.8 176 176c0 89.1-66.2 162.7-152 174.4V400h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H472v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V448H376c-13.3 0-24-10.7-24-24s10.7-24 24-24h48V350.4c-29.7-4-57-15.5-80-32.4z\"]\n};\nvar faImages = {\n prefix: 'far',\n iconName: 'images',\n icon: [576, 512, [], \"f302\", \"M160 80H512c8.8 0 16 7.2 16 16V320c0 8.8-7.2 16-16 16H490.8L388.1 178.9c-4.4-6.8-12-10.9-20.1-10.9s-15.7 4.1-20.1 10.9l-52.2 79.8-12.4-16.9c-4.5-6.2-11.7-9.8-19.4-9.8s-14.8 3.6-19.4 9.8L175.6 336H160c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16zM96 96V320c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H160c-35.3 0-64 28.7-64 64zM48 120c0-13.3-10.7-24-24-24S0 106.7 0 120V344c0 75.1 60.9 136 136 136H456c13.3 0 24-10.7 24-24s-10.7-24-24-24H136c-48.6 0-88-39.4-88-88V120zm208 24a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faCalculator = {\n prefix: 'far',\n iconName: 'calculator',\n icon: [384, 512, [128425], \"f1ec\", \"M336 176V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V176H336zm0-48H48V64c0-8.8 7.2-16 16-16H320c8.8 0 16 7.2 16 16v64zm48 0V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64v64 24 24V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V176 152 128zM80 232a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zm24 64a24 24 0 1 0 0 48 24 24 0 1 0 0-48zM80 408c0 13.3 10.7 24 24 24h88c13.3 0 24-10.7 24-24s-10.7-24-24-24H104c-13.3 0-24 10.7-24 24zM192 208a24 24 0 1 0 0 48 24 24 0 1 0 0-48zM168 320a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zM280 208a24 24 0 1 0 0 48 24 24 0 1 0 0-48zM256 320a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zm24 64a24 24 0 1 0 0 48 24 24 0 1 0 0-48z\"]\n};\nvar faShuttlecock = {\n prefix: 'far',\n iconName: 'shuttlecock',\n icon: [512, 512, [], \"f45b\", \"M247 48l-43.3 89.2L280 97.4V48H247zM168.5 209.6l-38.9 80L159 319l75.9-75.9 25.7-81.5-92.1 48zM328 40V80h72c17.7 0 32 14.3 32 32v72h40c22.1 0 40 17.9 40 40v46c0 15.3-8.7 29.3-22.5 36l-242 117.5c-.7 1.4-1.7 2.7-2.8 3.8l-51.5 51.5c-21.2 21.2-50 33.1-80 33.1C50.7 512 0 461.3 0 398.9c0-30 11.9-58.8 33.1-80l51.5-51.5c1.2-1.2 2.5-2.1 3.8-2.8L206 22.5C212.7 8.7 226.7 0 242 0h46c22.1 0 40 17.9 40 40zM222.3 382.3l80-38.9 48-92.1-81.5 25.7L193 353l29.4 29.4zm70.4-163.1L384 190.4V128H321.6l-28.8 91.2zM188.1 416L96 323.9 73.3 346.6l92.1 92.1L188.1 416zm-48.4 42.3l-86-86C50 380.6 48 389.6 48 398.9c0 36 29.2 65.1 65.1 65.1c9.2 0 18.3-2 26.6-5.7zm235.1-150L464 265V232H414.6l-39.7 76.3z\"]\n};\nvar faUserHair = {\n prefix: 'far',\n iconName: 'user-hair',\n icon: [448, 512, [], \"e45a\", \"M304 128c0-11.4-2.4-22.2-6.7-32H296c-20.5 0-38.7-9.6-50.4-24.5C231.9 95.7 205.8 112 176 112H145.6c-1 5.2-1.6 10.5-1.6 16v16c0 44.2 35.8 80 80 80s80-35.8 80-80V128zM96 128C96 57.3 153.3 0 224 0s128 57.3 128 128v16c0 70.7-57.3 128-128 128s-128-57.3-128-128V128zM49.6 464H398.4c-9.3-54.5-56.8-96-113.9-96H163.6c-57.2 0-104.6 41.5-113.9 96zM0 483.6C0 393.2 73.2 320 163.6 320H284.4C374.8 320 448 393.2 448 483.6c0 15.7-12.7 28.4-28.4 28.4H28.4C12.7 512 0 499.3 0 483.6z\"]\n};\nvar faEyeEvil = {\n prefix: 'far',\n iconName: 'eye-evil',\n icon: [640, 512, [], \"f6db\", \"M288.4 115.5L320 65l31.6 50.6c6.3 10 16 17.4 27.4 20.7c10.6 3.1 20.6 6.9 30 11.4c11 5.3 23.5 6.2 35.2 2.6l27.7-8.6-2.3 3.6c-10.6 16.2-10.5 37.1 .3 53.2c4.2 6.2 7.6 12.5 10.3 19c5.2 12.4 15.4 22 28.1 26.5L542.1 256l-33.9 12.1c-12.7 4.5-22.8 14.1-28.1 26.5c-2.7 6.5-6.2 12.8-10.3 19c-10.8 16.1-10.9 37-.3 53.2l2.3 3.6-27.7-8.6c-11.6-3.6-24.2-2.7-35.2 2.6c-9.4 4.5-19.4 8.4-30 11.4c-11.4 3.3-21.1 10.6-27.4 20.7L320 447l-31.6-50.6c-6.3-10-16-17.4-27.4-20.7c-10.6-3.1-20.6-6.9-30-11.4c-11-5.3-23.5-6.2-35.2-2.6l-27.7 8.6 2.3-3.6c10.6-16.2 10.5-37.1-.3-53.2c-4.2-6.2-7.6-12.5-10.3-19c-5.2-12.4-15.4-22-28.1-26.5L97.9 256l33.9-12.1c12.7-4.5 22.8-14.1 28.1-26.5c2.7-6.5 6.2-12.8 10.3-19c10.8-16.1 10.9-37 .3-53.2l-2.3-3.6 27.7 8.6c11.6 3.6 24.2 2.7 35.2-2.6c9.4-4.5 19.4-8.4 30-11.4c11.4-3.3 21.1-10.6 27.4-20.7zM392.3 90.1L344.5 13.6C339.2 5.1 330 0 320 0s-19.2 5.1-24.5 13.6L247.7 90.1c-13.1 3.8-25.7 8.6-37.5 14.3L114.9 74.7c-9.2-2.9-19.1 .3-24.9 8s-6.1 18.1-.8 26.1l41.3 62.7c-5.8 8.6-10.7 17.7-14.7 27.1L15.1 234.6C6 237.8 0 246.4 0 256s6 18.2 15.1 21.4l100.6 35.9c4 9.4 8.9 18.5 14.7 27.1L89.2 403.2c-5.3 8-4.9 18.5 .8 26.1s15.7 10.9 24.9 8l95.3-29.8c11.8 5.7 24.4 10.5 37.5 14.3l47.8 76.5C300.8 506.9 310 512 320 512s19.2-5.1 24.5-13.6l47.8-76.5c13.1-3.8 25.7-8.6 37.5-14.3l95.3 29.8c9.2 2.9 19.1-.3 24.9-8s6.1-18.1 .8-26.1l-41.3-62.7c5.8-8.6 10.7-17.7 14.7-27.1l100.6-35.9c9-3.2 15.1-11.8 15.1-21.4s-6-18.2-15.1-21.4L524.3 198.7c-4-9.4-8.9-18.5-14.7-27.1l41.3-62.7c5.3-8 4.9-18.5-.8-26.1s-15.7-10.9-24.9-8l-95.3 29.8c-11.8-5.7-24.4-10.5-37.5-14.3zM256 245.5c12 4 24.5 7 37.3 8.7c.1 .4 .2 .7 .4 1.1c5.5 14.4 13.5 24.4 18.1 29.3c2.1 2.3 5.1 3.4 8.2 3.4s6.1-1.1 8.2-3.4c4.5-4.9 12.6-14.9 18.1-29.3c.1-.4 .3-.7 .4-1.1c12.9-1.7 25.3-4.6 37.3-8.7c0 .8 0 1.6 0 2.5c0 35.3-28.7 64-64 64s-64-28.7-64-64c0-.8 0-1.6 0-2.5zM246 242l0 0c0 0 .1 0 .1 0l-.1 0c0 0 0 0 0 0zm148 0a.1 .1 0 1 0 -.1-.1 .1 .1 0 1 0 .1 .1zM220.1 219c-2.7 9.2-4.1 18.9-4.1 29c0 57.4 46.6 104 104 104s104-46.6 104-104c0-10-1.4-19.8-4.1-29c-4.9-16.8-25-20.6-41.3-14.1C360.5 212.1 340.7 216 320 216s-40.5-3.9-58.6-11.1c-16.3-6.4-36.4-2.7-41.3 14.1z\"]\n};\nvar faPeoplePulling = {\n prefix: 'far',\n iconName: 'people-pulling',\n icon: [576, 512, [], \"e535\", \"M80 0a48 48 0 1 1 0 96A48 48 0 1 1 80 0zM48 271.9V328c0 13.3-10.7 24-24 24s-24-10.7-24-24V184c0-30.9 25.1-56 56-56h58.4c15.1 0 29.9 3.9 43 11.2l122.5 68.7c17.9-34 48.4-60 85.1-72.3c15.3-5.1 31.3-7.7 47.4-7.7h4.9c52.5 0 98.7 34.8 113.2 85.4l10.9 38.1L569 279c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L506 283.9c-4.8-4.8-8.3-10.8-10.2-17.3l-10.5-36.7-28.5 91.3 50.1 40.7c6.9 5.6 11.8 13.4 13.8 22.1l22.8 98.6c3 12.9-5.1 25.8-18 28.8s-25.8-5.1-28.8-18l-22.1-96L370 312.6c-18.1-14.7-25.2-39.1-17.8-61.2L375 183.1c-24.7 9.8-44.7 28.9-55.6 53.3l-9.5 21.3c-5.4 12.1-19.6 17.6-31.7 12.2c-6.8-3-11.5-8.8-13.3-15.4L160.5 196l63 286.9c2.8 12.9-5.3 25.7-18.3 28.6s-25.7-5.4-28.6-18.3L145.6 352H114.7l28.7 130.9c2.8 12.9-5.3 25.7-18.3 28.6s-25.7-5.4-28.6-18.3L48 271.9zM106.9 176H76.1l28.1 128H135L106.9 176zM464 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM397.8 266.6c-1.1 3.2 0 6.6 2.5 8.7l16.3 13.3 32.4-103.8c.1-.3 .2-.7 .3-1c-6.7-3.5-14-5.9-21.7-7.1l-29.9 89.8zm-42.1 75.6l39 31.7-19.2 48c-2 5-5 9.6-8.9 13.4L297 505c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l68.5-68.5 24.1-60.4z\"]\n};\nvar faN = {\n prefix: 'far',\n iconName: 'n',\n icon: [384, 512, [110], \"4e\", \"M15.8 33.4c9.5-3.5 20.1-.6 26.6 7.1L336 390.1V56c0-13.3 10.7-24 24-24s24 10.7 24 24V456c0 10.1-6.3 19.1-15.8 22.6s-20.1 .6-26.6-7.1L48 121.9V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V56C0 45.9 6.3 36.9 15.8 33.4z\"]\n};\nvar faSwap = {\n prefix: 'far',\n iconName: 'swap',\n icon: [640, 512, [], \"e609\", \"M240 119c0 22.6-18.3 41-41 41H152V360c0 39.8 32.2 72 72 72s72-32.2 72-72V152c0-66.3 53.7-120 120-120s120 53.7 120 120V352h47c22.6 0 41 18.3 41 41c0 10.9-4.3 21.3-12 29l-83 83c-4.5 4.5-10.6 7-17 7s-12.5-2.5-17-7l-83-83c-7.7-7.7-12-18.1-12-29c0-22.6 18.3-41 41-41h47V152c0-39.8-32.2-72-72-72s-72 32.2-72 72V360c0 66.3-53.7 120-120 120s-120-53.7-120-120V160H57c-22.6 0-41-18.3-41-41c0-10.9 4.3-21.3 12-29L111 7c4.5-4.5 10.6-7 17-7s12.5 2.5 17 7l83 83c7.7 7.7 12 18.1 12 29zM73.9 112l108.1 0L128 57.9 73.9 112zm384 288L512 454.1 566.1 400H457.9z\"]\n};\nvar faGarage = {\n prefix: 'far',\n iconName: 'garage',\n icon: [640, 512, [], \"e009\", \"M323 51.1c-1.9-.8-4.1-.8-6 0L63 154.1c-9.1 3.7-15 12.5-15 22.2V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V176.3c0-29.3 17.8-55.7 44.9-66.7L299 6.6c13.5-5.5 28.6-5.5 42.1 0l254 103c27.2 11 45 37.4 45 66.7V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V176.3c0-9.8-5.9-18.6-15-22.2L323 51.1zM144 368V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V232c0-22.1 17.9-40 40-40H504c22.1 0 40 17.9 40 40V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V368H144zm0-48H496V240H144v80zm136 96h80c13.3 0 24 10.7 24 24s-10.7 24-24 24H280c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faCableCar = {\n prefix: 'far',\n iconName: 'cable-car',\n icon: [512, 512, [128673, 57551, \"tram\"], \"f7da\", \"M288 64a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm-64-8a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM432 288v64H352V272h64c8.8 0 16 7.2 16 16zm0 112v48c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V400H184 328 432zM80 352V288c0-8.8 7.2-16 16-16h64v80H80zm128-80h96v80H208V272zM96 224c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H416c35.3 0 64-28.7 64-64V288c0-35.3-28.7-64-64-64H280V147.5l212.9-44c13-2.7 21.3-15.4 18.6-28.4s-15.4-21.3-28.4-18.6l-232 48-232 48c-13 2.7-21.3 15.4-18.6 28.4s15.4 21.3 28.4 18.6l203.1-42V224H96z\"]\n};\nvar faTram = faCableCar;\nvar faShovelSnow = {\n prefix: 'far',\n iconName: 'shovel-snow',\n icon: [512, 512, [], \"f7c3\", \"M391 7c9.4-9.4 24.6-9.4 33.9 0l80 80c9.4 9.4 9.4 24.6 0 33.9l-31.4 31.4c-15.1 15.1-35.6 23.6-57 23.6c-13.5 0-26.2-3.3-37.4-9.2L297.9 248l35.3 35.3c19.8 19.8 21.9 51.2 4.9 73.5L236.7 489.9c-10.6 13.9-27.1 22.1-44.5 22.1h-2.9c-14.9 0-29.1-5.9-39.6-16.4L16.4 362.3C5.9 351.8 0 337.6 0 322.7v-2.9c0-17.5 8.2-34 22.1-44.5L155.2 173.9c22.3-17 53.7-14.9 73.5 4.9L264 214.1l81.2-81.2c-5.9-11.2-9.2-23.9-9.2-37.4c0-21.4 8.5-41.9 23.6-57L391 7zm17 50.9L393.5 72.4c-6.1 6.1-9.5 14.4-9.5 23c0 18 14.6 32.6 32.6 32.6c8.6 0 16.9-3.4 23-9.5L454.1 104 408 57.9zM184.3 212L51.2 313.5c-2 1.5-3.2 3.9-3.2 6.4v2.9c0 2.1 .8 4.2 2.3 5.7L183.6 461.7c1.5 1.5 3.5 2.3 5.7 2.3h2.9c2.5 0 4.9-1.2 6.4-3.2L300 327.7c2.4-3.2 2.1-7.7-.7-10.5L194.8 212.7c-2.8-2.8-7.3-3.1-10.5-.7zm5.8 90.1l-32 32c-7.8 7.8-20.5 7.8-28.3 0s-7.8-20.5 0-28.3l32-32c7.8-7.8 20.5-7.8 28.3 0s7.8 20.5 0 28.3zm48 48l-32 32c-7.8 7.8-20.5 7.8-28.3 0s-7.8-20.5 0-28.3l32-32c7.8-7.8 20.5-7.8 28.3 0s7.8 20.5 0 28.3z\"]\n};\nvar faCloudRain = {\n prefix: 'far',\n iconName: 'cloud-rain',\n icon: [512, 512, [127783, 9926], \"f73d\", \"M112 120c0-39.8 32.2-72 72-72c25.8 0 48.5 13.6 61.2 34c3.8 6.1 10.1 10.2 17.2 11.1s14.3-1.3 19.5-6.2c10-9.3 23.4-15 38.1-15c29 0 52.9 22.1 55.7 50.4c1.2 12.3 11.6 21.7 23.9 21.6l.3 0h0c35.3 0 64 28.7 64 64s-28.7 64-64 64H108h-1.9c-.3 0-.7-.1-1-.1C73.3 270.4 48 244.2 48 212c0-28.3 19.6-52.1 46.1-58.4c11.8-2.8 19.6-13.9 18.3-25.9c-.3-2.5-.4-5.1-.4-7.7zM184 0C120 0 67.7 50.1 64.2 113.3C26.4 130.1 0 167.9 0 212c0 57.1 44.3 103.9 100.5 107.7c1.2 .2 2.3 .3 3.5 .3h4H400c61.9 0 112-50.1 112-112c0-55.2-39.9-101.1-92.5-110.3C406.5 55 366.9 24 320 24c-18 0-34.9 4.6-49.7 12.6C248.5 14.1 217.9 0 184 0zM89.2 372L54.2 436.6C50.1 444.1 48 452.5 48 461v3c0 26.5 21.5 48 48 48s48-21.5 48-48v-3c0-8.5-2.1-16.9-6.2-24.3L102.8 372c-1.3-2.5-3.9-4-6.8-4s-5.4 1.5-6.8 4zm160 0l-35.1 64.6c-4.1 7.5-6.2 15.8-6.2 24.3v3c0 26.5 21.5 48 48 48s48-21.5 48-48v-3c0-8.5-2.1-16.9-6.2-24.3L262.8 372c-1.3-2.5-3.9-4-6.8-4s-5.4 1.5-6.8 4zm124.9 64.6c-4.1 7.5-6.2 15.8-6.2 24.3v3c0 26.5 21.5 48 48 48s48-21.5 48-48v-3c0-8.5-2.1-16.9-6.2-24.3L422.8 372c-1.3-2.5-3.9-4-6.8-4s-5.4 1.5-6.8 4l-35.1 64.6z\"]\n};\nvar faFaceLying = {\n prefix: 'far',\n iconName: 'face-lying',\n icon: [512, 512, [], \"e37e\", \"M431.3 368H352c-13.3 0-24-10.7-24-24s10.7-24 24-24h88c13.3 0 24-10.7 24-24s-10.7-24-24-24H288c-13.3 0-24-10.7-24-24s10.7-24 24-24H440c7.7 0 15.1 1.2 22.1 3.4C448.1 126.1 361.2 48 256 48C141.1 48 48 141.1 48 256s93.1 208 208 208c73.6 0 138.3-38.3 175.3-96zm67.4-30.3C464.6 439 368.8 512 256 512C114.6 512 0 397.4 0 256S114.6 0 256 0S512 114.6 512 256c0 8.8-.4 17.6-1.3 26.2c.9 4.5 1.3 9.1 1.3 13.8c0 15.6-4.9 30-13.3 41.7zM144.4 176a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm160 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM195.2 390.4c-8 10.6-23 12.7-33.6 4.8s-12.7-23-4.8-33.6C175.7 336.4 206 320 240 320c14.7 0 28.8 3.1 41.6 8.7c12.1 5.3 17.7 19.5 12.4 31.6s-19.5 17.7-31.6 12.4c-6.8-3-14.4-4.6-22.4-4.6c-18.3 0-34.6 8.8-44.8 22.4z\"]\n};\nvar faSprinkler = {\n prefix: 'far',\n iconName: 'sprinkler',\n icon: [512, 512, [], \"e035\", \"M0 24a24 24 0 1 1 48 0A24 24 0 1 1 0 24zm24 80a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0 104a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM88 48a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM64 184a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm88-80a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM512 232a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zM488 104a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm24-80a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zM424 48a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm24 136a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zm-88-80a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM97.8 270.8c3.7-9 12.5-14.8 22.2-14.8H232V88c0-13.3 10.7-24 24-24s24 10.7 24 24V256H392c9.7 0 18.5 5.8 22.2 14.8s1.7 19.3-5.2 26.2l-89 89V472c0 22.1-17.9 40-40 40H232c-22.1 0-40-17.9-40-40V385.9l-89-89c-6.9-6.9-8.9-17.2-5.2-26.2zM256 304H177.9l55 55c4.5 4.5 7 10.6 7 17v88h32V376c0-6.4 2.5-12.5 7-17l55-55H256z\"]\n};\nvar faBuildingCircleXmark = {\n prefix: 'far',\n iconName: 'building-circle-xmark',\n icon: [640, 512, [], \"e4d4\", \"M64 48H320c8.8 0 16 7.2 16 16V294.6c11.1-24.3 27.7-45.5 48-62.3V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c19.5 0 37-8.7 48.7-22.5c-13.4-14-24.5-30.3-32.7-48.1V448c0 8.8-7.2 16-16 16H240V400c0-26.5-21.5-48-48-48s-48 21.5-48 48v64H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16zm24 56v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V104c0-8.8-7.2-16-16-16H104c-8.8 0-16 7.2-16 16zM232 88c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V104c0-8.8-7.2-16-16-16H232zM88 232v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V232c0-8.8-7.2-16-16-16H104c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V232c0-8.8-7.2-16-16-16H232zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm59.3-180.7L518.6 368l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L496 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L473.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L496 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faPersonSledding = {\n prefix: 'far',\n iconName: 'person-sledding',\n icon: [512, 512, [\"sledding\"], \"f7cb\", \"M400 32a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM128 152c0-13.3 10.7-24 24-24H321.4c35.6 0 53.5 43.1 28.3 68.3L281.9 264H344c22.1 0 40 17.9 40 40v80c0 7.7-3.7 14.6-9.4 19l43.9 22.8c13.6 7.1 29.8 7.2 43.6 .3l15.2-7.6c11.9-5.9 26.3-1.1 32.2 10.7s1.1 26.3-10.7 32.2l-15.2 7.6c-27.5 13.7-59.9 13.5-87.2-.7L12.9 269.3C1.2 263.2-3.4 248.7 2.7 236.9s20.6-16.3 32.4-10.2l124.1 64.4c-4.3-11.5-2.2-25.4 8.8-35.1l90.7-80H152c-13.3 0-24-10.7-24-24zM336 312H199.3L336 383V312z\"]\n};\nvar faSledding = faPersonSledding;\nvar faGameConsoleHandheld = {\n prefix: 'far',\n iconName: 'game-console-handheld',\n icon: [384, 512, [], \"f8bb\", \"M64 48c-8.8 0-16 7.2-16 16V416c0 26.5 21.5 48 48 48H288c26.5 0 48-21.5 48-48V64c0-8.8-7.2-16-16-16H64zM0 64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V416c0 53-43 96-96 96H96c-53 0-96-43-96-96V64zM232 336a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm24-24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM128 288c8.8 0 16 7.2 16 16v16h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H144v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V352H96c-8.8 0-16-7.2-16-16s7.2-16 16-16h16V304c0-8.8 7.2-16 16-16zM112 96H272c8.8 0 16 7.2 16 16V224c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32V112c0-8.8 7.2-16 16-16z\"]\n};\nvar faShip = {\n prefix: 'far',\n iconName: 'ship',\n icon: [576, 512, [128674], \"f21a\", \"M192 32c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32V64h40c30.9 0 56 25.1 56 56V238.4l25.9 9.7c38.1 14.3 48.7 63.2 19.9 92L457 409c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l68.9-68.9c4.1-4.1 2.6-11.1-2.8-13.1L290.8 218.7c-1.8-.7-3.8-.7-5.6 0L87 293c-5.4 2-7 9-2.8 13.1L153 375c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L50.2 340.1c-28.8-28.8-18.2-77.7 19.9-92L96 238.4V120c0-30.9 25.1-56 56-56h40V32zm-48 88V220.4l124.3-46.6c12.7-4.8 26.6-4.8 39.3 0L432 220.4V120c0-4.4-3.6-8-8-8H152c-4.4 0-8 3.6-8 8zM111.9 430.1c21.5 18.6 51.2 33.9 80 33.9s58.5-15.3 80-33.9c9.1-8.1 22.8-8.1 31.9 0c21.6 18.6 51.2 33.9 80 33.9s58.5-15.3 80-33.9c9.1-8.1 22.8-8.1 31.9 0c16.9 15.1 39.3 26.8 61.3 31.8c12.9 2.9 21.1 15.7 18.2 28.7s-15.7 21.1-28.7 18.2c-28.7-6.4-52.3-20.5-66.7-30.4c-28.1 19.5-61.4 33.8-96 33.8s-67.9-14.3-96-33.8c-28.1 19.5-61.4 33.8-96 33.8s-67.9-14.3-96-33.8c-14.4 10-38 24-66.7 30.4c-12.9 2.9-25.8-5.2-28.7-18.2s5.2-25.8 18.2-28.7c22.2-5 44-16.8 61.2-31.7c9.1-8.1 22.8-8.1 31.9 0z\"]\n};\nvar faClockSixThirty = {\n prefix: 'far',\n iconName: 'clock-six-thirty',\n icon: [512, 512, [], \"e353\", \"M48 256a208 208 0 1 1 416 0A208 208 0 1 1 48 256zm464 0A256 256 0 1 0 0 256a256 256 0 1 0 512 0zM280 392V256c0-13.3-10.7-24-24-24s-24 10.7-24 24V392c0 13.3 10.7 24 24 24s24-10.7 24-24z\"]\n};\nvar faBatterySlash = {\n prefix: 'far',\n iconName: 'battery-slash',\n icon: [640, 512, [], \"f377\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-87.5-68.6C563.1 386 576 362.5 576 336V320c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32V176c0-44.2-35.8-80-80-80H154.8L38.8 5.1zM216 144H496c17.7 0 32 14.3 32 32V336c0 15.9-11.6 29.1-26.7 31.6L216 144zM345.2 368H112c-17.7 0-32-14.3-32-32V176c0-5.1 1.2-10 3.4-14.3l-38-30C36.9 144.4 32 159.6 32 176V336c0 44.2 35.8 80 80 80H406.2l-60.9-48z\"]\n};\nvar faTugrikSign = {\n prefix: 'far',\n iconName: 'tugrik-sign',\n icon: [384, 512, [], \"e2ba\", \"M24 32C10.7 32 0 42.7 0 56S10.7 80 24 80H168V205.3L58.2 232.7c-12.9 3.2-20.7 16.2-17.5 29.1s16.2 20.7 29.1 17.5L168 254.7v46.5L58.2 328.7c-12.9 3.2-20.7 16.2-17.5 29.1s16.2 20.7 29.1 17.5L168 350.7V456c0 13.3 10.7 24 24 24s24-10.7 24-24V338.7l109.8-27.5c12.9-3.2 20.7-16.2 17.5-29.1s-16.2-20.7-29.1-17.5L216 289.3V242.7l109.8-27.5c12.9-3.2 20.7-16.2 17.5-29.1s-16.2-20.7-29.1-17.5L216 193.3V80H360c13.3 0 24-10.7 24-24s-10.7-24-24-24H192 24z\"]\n};\nvar faArrowsDownToLine = {\n prefix: 'far',\n iconName: 'arrows-down-to-line',\n icon: [576, 512, [], \"e4b8\", \"M552 432L24 432c-13.3 0-24 10.7-24 24s10.7 24 24 24l528 0c13.3 0 24-10.7 24-24s-10.7-24-24-24zm17-159c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-63 63L472 56c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 246.1-63-63c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9L431 377c4.5 4.5 10.6 7 17 7s12.5-2.5 17-7L569 273zM249 239c-9.4-9.4-24.6-9.4-33.9 0l-63 63L152 56c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 246.1L41 239c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9L111 377c9.4 9.4 24.6 9.4 33.9 0L249 273c9.4-9.4 9.4-24.6 0-33.9z\"]\n};\nvar faDownload = {\n prefix: 'far',\n iconName: 'download',\n icon: [512, 512, [], \"f019\", \"M280 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V294.1l-95-95c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9L239 369c9.4 9.4 24.6 9.4 33.9 0L409 233c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-95 95V24zM128.8 304H64c-35.3 0-64 28.7-64 64v80c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V368c0-35.3-28.7-64-64-64H383.2l-48 48H448c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V368c0-8.8 7.2-16 16-16H176.8l-48-48zM432 408a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faAnglesUpDown = {\n prefix: 'far',\n iconName: 'angles-up-down',\n icon: [448, 512, [], \"e60d\", \"M239 498.7c-8.8 7-21.2 7-30 0L49 370.7c-10.4-8.3-12-23.4-3.7-33.7s23.4-12 33.7-3.8l145 116 145-116c10.4-8.3 25.5-6.6 33.7 3.8s6.6 25.5-3.8 33.7l-160 128zM399 141.3c10.3 8.3 12 23.4 3.7 33.7s-23.4 12-33.7 3.7L224 62.7 79 178.7c-10.4 8.3-25.5 6.6-33.7-3.7s-6.6-25.5 3.7-33.7l160-128c8.8-7 21.2-7 30 0l160 128z\"]\n};\nvar faShelves = {\n prefix: 'far',\n iconName: 'shelves',\n icon: [640, 512, [\"inventory\"], \"f480\", \"M24 0C37.3 0 48 10.7 48 24V160H592V24c0-13.3 10.7-24 24-24s24 10.7 24 24V184 440v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V464H48v24c0 13.3-10.7 24-24 24s-24-10.7-24-24V440 184 24C0 10.7 10.7 0 24 0zM48 416H592V208H48V416zM352 32c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32V96c0 17.7-14.3 32-32 32H384c-17.7 0-32-14.3-32-32V32zM128 256h64c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32V288c0-17.7 14.3-32 32-32zm160 0h64c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H288c-17.7 0-32-14.3-32-32V288c0-17.7 14.3-32 32-32z\"]\n};\nvar faInventory = faShelves;\nvar faCloudSnow = {\n prefix: 'far',\n iconName: 'cloud-snow',\n icon: [512, 512, [127784], \"f742\", \"M112 120c0-39.8 32.2-72 72-72c25.8 0 48.5 13.6 61.2 34c3.8 6.1 10.1 10.2 17.2 11.1s14.3-1.3 19.5-6.2c10-9.3 23.4-15 38.1-15c29 0 52.9 22.1 55.7 50.4c1.2 12.3 11.6 21.7 23.9 21.6l.3 0h0c35.3 0 64 28.7 64 64s-28.7 64-64 64H108h-1.9c-.3 0-.7-.1-1-.1C73.3 270.4 48 244.2 48 212c0-28.3 19.6-52.1 46.1-58.4c11.8-2.8 19.6-13.9 18.3-25.9c-.3-2.5-.4-5.1-.4-7.7zM184 0C120 0 67.7 50.1 64.2 113.3C26.4 130.1 0 167.9 0 212c0 57.1 44.3 103.9 100.5 107.7c1.2 .2 2.3 .3 3.5 .3h4H400c61.9 0 112-50.1 112-112c0-55.2-39.9-101.1-92.5-110.3C406.5 55 366.9 24 320 24c-18 0-34.9 4.6-49.7 12.6C248.5 14.1 217.9 0 184 0zM64 352c-13.3 0-24 10.7-24 24v16H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H40v16c0 13.3 10.7 24 24 24s24-10.7 24-24V440h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H88V376c0-13.3-10.7-24-24-24zm192 32c-13.3 0-24 10.7-24 24v16H216c-13.3 0-24 10.7-24 24s10.7 24 24 24h16v16c0 13.3 10.7 24 24 24s24-10.7 24-24V472h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V408c0-13.3-10.7-24-24-24zm216-8c0-13.3-10.7-24-24-24s-24 10.7-24 24v16H408c-13.3 0-24 10.7-24 24s10.7 24 24 24h16v16c0 13.3 10.7 24 24 24s24-10.7 24-24V440h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H472V376z\"]\n};\nvar faFaceGrin = {\n prefix: 'far',\n iconName: 'face-grin',\n icon: [512, 512, [128512, \"grin\"], \"f580\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm349.5 52.4c18.7-4.4 35.9 12 25.5 28.1C350.4 374.6 306.3 400 255.9 400s-94.5-25.4-119.1-63.5c-10.4-16.1 6.8-32.5 25.5-28.1c28.9 6.8 60.5 10.5 93.6 10.5s64.7-3.7 93.6-10.5zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faGrin = faFaceGrin;\nvar faDeleteLeft = {\n prefix: 'far',\n iconName: 'delete-left',\n icon: [576, 512, [9003, \"backspace\"], \"f55a\", \"M205.3 64c-17 0-33.3 6.7-45.3 18.7L9.4 233.4c-6 6-9.4 14.1-9.4 22.6s3.4 16.6 9.4 22.6L160 429.3c12 12 28.3 18.7 45.3 18.7H512c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H205.3zM528 128V384c0 8.8-7.2 16-16 16H205.3c-4.2 0-8.3-1.7-11.3-4.7L54.6 256 193.9 116.7c3-3 7.1-4.7 11.3-4.7H512c8.8 0 16 7.2 16 16zm-95 47c-9.4-9.4-24.6-9.4-33.9 0l-47 47-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9z\"]\n};\nvar faBackspace = faDeleteLeft;\nvar faOven = {\n prefix: 'far',\n iconName: 'oven',\n icon: [448, 512, [], \"e01d\", \"M352 48c26.5 0 48 21.5 48 48v64H48V96c0-26.5 21.5-48 48-48H352zm48 160V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V208H400zM96 0C43 0 0 43 0 96V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-53-43-96-96-96H96zm32 104a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm56 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm104-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm56 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM112 240c-17.7 0-32 14.3-32 32V400c0 17.7 14.3 32 32 32H336c17.7 0 32-14.3 32-32V272c0-17.7-14.3-32-32-32H112zm32 48H304c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faCloudBinary = {\n prefix: 'far',\n iconName: 'cloud-binary',\n icon: [640, 512, [], \"e601\", \"M354.9 121.7c13.8 16 36.5 21.1 55.9 12.5c8.9-3.9 18.7-6.2 29.2-6.2c39.8 0 72 32.2 72 72c0 4-.3 7.9-.9 11.7c-3.5 21.6 8.1 42.9 28.1 51.7C570.4 276.9 592 308 592 344c0 46.8-36.6 85.2-82.8 87.8c-.6 0-1.3 .1-1.9 .2H504 144c-53 0-96-43-96-96c0-41.7 26.6-77.3 64-90.5c19.2-6.8 32-24.9 32-45.3l0-.2v0 0c0-66.3 53.7-120 120-120c36.3 0 68.8 16.1 90.9 41.7zM512 480v-.2c71.4-4.1 128-63.3 128-135.8c0-55.7-33.5-103.7-81.5-124.7c1-6.3 1.5-12.8 1.5-19.3c0-66.3-53.7-120-120-120c-17.4 0-33.8 3.7-48.7 10.3C360.4 54.6 314.9 32 264 32C171.2 32 96 107.2 96 200l0 .2C40.1 220 0 273.3 0 336c0 79.5 64.5 144 144 144H464h40 8zM176 216v16c0 22.1 17.9 40 40 40h16c22.1 0 40-17.9 40-40V216c0-22.1-17.9-40-40-40H216c-22.1 0-40 17.9-40 40zm40-8h16c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H216c-4.4 0-8-3.6-8-8V216c0-4.4 3.6-8 8-8zm72-16c0 8.8 7.2 16 16 16v48c0 8.8 7.2 16 16 16s16-7.2 16-16V192c0-8.8-7.2-16-16-16H304c-8.8 0-16 7.2-16 16zm120-16c-22.1 0-40 17.9-40 40v16c0 22.1 17.9 40 40 40h16c22.1 0 40-17.9 40-40V216c0-22.1-17.9-40-40-40H408zm-8 40c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H408c-4.4 0-8-3.6-8-8V216zM192 320c0 8.8 7.2 16 16 16v48c0 8.8 7.2 16 16 16s16-7.2 16-16V320c0-8.8-7.2-16-16-16H208c-8.8 0-16 7.2-16 16zm80 24v16c0 22.1 17.9 40 40 40h16c22.1 0 40-17.9 40-40V344c0-22.1-17.9-40-40-40H312c-22.1 0-40 17.9-40 40zm40-8h16c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H312c-4.4 0-8-3.6-8-8V344c0-4.4 3.6-8 8-8zm88-32c-8.8 0-16 7.2-16 16s7.2 16 16 16v48c0 8.8 7.2 16 16 16s16-7.2 16-16V320c0-8.8-7.2-16-16-16H400z\"]\n};\nvar faEyeDropper = {\n prefix: 'far',\n iconName: 'eye-dropper',\n icon: [512, 512, [\"eye-dropper-empty\", \"eyedropper\"], \"f1fb\", \"M199 169L233 202.9 309.1 279 343 313l8 8c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-8-8 33.9-33.9 71.3-71.3c19.1-19.1 29.8-45 29.8-72C512 45.6 466.4 0 410.2 0c-27 0-52.9 10.7-72 29.8l-71.3 71.3L233 135l-8-8c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l0 0 8 8zm249.2-29.1L343 245.1 266.9 169 372.1 63.8C382.2 53.7 395.9 48 410.2 48c29.7 0 53.8 24.1 53.8 53.8c0 14.3-5.7 28-15.8 38.1zM53.1 329C39.6 342.5 32 360.8 32 379.9v52.9l-28 42c-6.3 9.5-5.1 22.2 3 30.3s20.8 9.3 30.3 3l42-28h52.9c19.1 0 37.4-7.6 50.9-21.1L313.4 328.6l-33.9-33.9L149.1 425c-4.5 4.5-10.6 7-17 7H80V379.9c0-6.4 2.5-12.5 7-17L217.4 232.6l-33.9-33.9L53.1 329z\"]\n};\nvar faEyeDropperEmpty = faEyeDropper;\nvar faEyedropper = faEyeDropper;\nvar faCommentCaptions = {\n prefix: 'far',\n iconName: 'comment-captions',\n icon: [512, 512, [], \"e146\", \"M168.2 384.9c-15-5.4-31.7-3.1-44.6 6.4c-8.2 6-22.3 14.8-39.4 22.7c5.6-14.7 9.9-31.3 11.3-49.4c1-12.9-3.3-25.7-11.8-35.5C60.4 302.8 48 272 48 240c0-79.5 83.3-160 208-160s208 80.5 208 160s-83.3 160-208 160c-31.6 0-61.3-5.5-87.8-15.1zM26.3 423.8c-1.6 2.7-3.3 5.4-5.1 8.1l-.3 .5c-1.6 2.3-3.2 4.6-4.8 6.9c-3.5 4.7-7.3 9.3-11.3 13.5c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c5.1 0 10.2-.3 15.3-.8l.7-.1c4.4-.5 8.8-1.1 13.2-1.9c.8-.1 1.6-.3 2.4-.5c17.8-3.5 34.9-9.5 50.1-16.1c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9zM120 192c-13.3 0-24 10.7-24 24s10.7 24 24 24H264c13.3 0 24-10.7 24-24s-10.7-24-24-24H120zm224 0c-13.3 0-24 10.7-24 24s10.7 24 24 24h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H344zM136 272c-13.3 0-24 10.7-24 24s10.7 24 24 24h32c13.3 0 24-10.7 24-24s-10.7-24-24-24H136zm112 0c-13.3 0-24 10.7-24 24s10.7 24 24 24H376c13.3 0 24-10.7 24-24s-10.7-24-24-24H248z\"]\n};\nvar faCommentsQuestion = {\n prefix: 'far',\n iconName: 'comments-question',\n icon: [640, 512, [], \"e14e\", \"M80.7 253.2c14.3 15 17.3 37.6 7.5 55.8c-1.1 2-2.2 4-3.2 5.9c-2.5 4.5-5.2 9-7.9 13.6c17.1-4.5 33.9-10.7 49.9-18c4.3-1.9 8.5-3.9 12.6-6c9.5-4.8 20.3-6.2 30.7-4.2c12.1 2.4 24.8 3.6 37.8 3.6c96.2 0 160-64.5 160-128s-63.8-128-160-128S48 112.5 48 176c0 28 11.4 54.9 32.7 77.2zM416 176c0 97.2-93.1 176-208 176c-16.2 0-31.9-1.6-47.1-4.5c-4.6 2.3-9.4 4.6-14.2 6.8C110.5 370.7 67 384 24 384c-9.6 0-18.2-5.7-22-14.5c-3.8-8.8-2-19 4.6-25.9c14.2-15.6 26.2-33.7 36.6-52.1c.9-1.7 1.9-3.4 2.8-5.1C17.2 256.1 0 217.8 0 176C0 78.8 93.1 0 208 0S416 78.8 416 176zM245.2 381.5c17.2-2.4 34-6.3 50-11.8C322 405.5 370.3 432 432 432c13.1 0 25.8-1.3 37.8-3.6c10.4-2 21.2-.6 30.7 4.2c4.1 2.1 8.3 4.1 12.6 6c16 7.2 32.9 13.5 49.9 18c-2.8-4.6-5.4-9.1-7.9-13.6c-1.1-1.9-2.2-3.9-3.2-5.9c-9.8-18.3-6.8-40.8 7.5-55.8C580.6 358.9 592 332 592 304c0-59.9-56.8-120.7-144-127.4l0-.6c0-16.6-2.2-32.6-6.2-47.8C552.1 132.5 640 209.6 640 304c0 41.8-17.2 80.1-45.9 110.3c.9 1.7 1.9 3.5 2.8 5.1c10.3 18.4 22.3 36.5 36.6 52.1c6.6 7 8.3 17.2 4.6 25.9c-3.8 8.8-12.5 14.5-22 14.5c-43 0-86.5-13.3-122.7-29.7c-4.8-2.2-9.6-4.5-14.2-6.8c-15.1 3-30.9 4.5-47.1 4.5c-82 0-153-40.2-186.8-98.5zM147.9 112.1c5.5-15.4 20.1-25.7 36.4-25.7h41.3c24.2 0 43.7 19.6 43.7 43.7c0 15.7-8.4 30.1-22 37.9L224 181.4v.3c0 8.8-7.2 16-16 16s-16-7.2-16-16v-9.5c0-5.7 3.1-11 8-13.9l31.4-18c3.6-2.1 5.9-6 5.9-10.2c0-6.5-5.3-11.7-11.7-11.7H184.3c-2.8 0-5.3 1.8-6.3 4.4l-.3 .9c-3 8.3-12.1 12.7-20.4 9.7s-12.7-12.1-9.7-20.4l.3-.9zM185.3 244a22.7 22.7 0 1 1 45.3 0 22.7 22.7 0 1 1 -45.3 0z\"]\n};\nvar faScribble = {\n prefix: 'far',\n iconName: 'scribble',\n icon: [512, 512, [], \"e23f\", \"M183.3 21.4C198.3 7.7 218 0 238.4 0h1C283.9 0 320 36.1 320 80.6c0 21.4-8.5 41.9-23.6 57L89.5 344.4c-6.1 6.1-9.5 14.4-9.5 23c0 18 14.6 32.6 32.6 32.6c8.6 0 16.9-3.4 23-9.5L374.5 151.6c15.1-15.1 35.6-23.6 57-23.6c44.5 0 80.6 36.1 80.6 80.6c0 21.4-8.5 41.9-23.6 57L384.2 369.8c-10.4 10.3-16.2 24.4-16.2 39c0 30.5 24.7 55.2 55.2 55.2h4.4c5.6 0 11.2-.9 16.6-2.7l36.2-12.1c12.6-4.2 26.2 2.6 30.4 15.2s-2.6 26.2-15.2 30.4l-36.2 12.1c-10.2 3.4-21 5.2-31.8 5.2h-4.4c-57 0-103.2-46.2-103.2-103.2c0-27.4 10.9-53.6 30.2-73L454.5 231.6c6.1-6.1 9.5-14.4 9.5-23c0-18-14.6-32.6-32.6-32.6c-8.6 0-16.9 3.4-23 9.5L169.5 424.4c-15.1 15.1-35.6 23.6-57 23.6C68.1 448 32 411.9 32 367.4c0-21.4 8.5-41.9 23.6-57L262.5 103.6c6.1-6.1 9.5-14.4 9.5-23c0-18-14.6-32.6-32.6-32.6h-1c-8.4 0-16.5 3.2-22.7 8.8L40.2 217.7c-9.8 9-25 8.3-33.9-1.5s-8.3-25 1.5-33.9L183.3 21.4z\"]\n};\nvar faRotateExclamation = {\n prefix: 'far',\n iconName: 'rotate-exclamation',\n icon: [512, 512, [], \"e23c\", \"M256 80c-72.7 0-135.2 44.1-162 107.1c-5.2 12.2-19.3 17.9-31.5 12.7s-17.9-19.3-12.7-31.5C83.9 88.2 163.4 32 256 32c52.5 0 102.8 20.8 139.9 57.9L448 142.1V88c0-13.3 10.7-24 24-24s24 10.7 24 24V200c0 13.3-10.7 24-24 24H360c-13.3 0-24-10.7-24-24s10.7-24 24-24h54.1l-52.1-52.1C333.8 95.8 295.7 80 256 80zM449.4 312.6c12.2 5.2 17.8 19.3 12.6 31.5C427.8 424 348.5 480 256 480c-52.5 0-102.8-20.8-139.9-57.9L64 369.9V424c0 13.3-10.7 24-24 24s-24-10.7-24-24V312c0-13.3 10.7-24 24-24H152c13.3 0 24 10.7 24 24s-10.7 24-24 24H97.9l52.1 52.1C178.2 416.2 216.3 432 256 432c72.6 0 135-43.9 161.9-106.8c5.2-12.2 19.3-17.8 31.5-12.6zM256 128c13.3 0 24 10.7 24 24V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faFileCircleCheck = {\n prefix: 'far',\n iconName: 'file-circle-check',\n icon: [576, 512, [], \"e5a0\", \"M64 464H284.5c12 18.4 27.4 34.5 45.3 47.3c-3.2 .5-6.4 .7-9.7 .7H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3v44.1c-17.2 4.9-33.4 12.3-48 21.8V160H256c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16zm224-96a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm211.3-43.3c-6.2-6.2-16.4-6.2-22.6 0L416 385.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nvar faGlass = {\n prefix: 'far',\n iconName: 'glass',\n icon: [384, 512, [129371], \"f804\", \"M24 0C17.3 0 10.9 2.8 6.3 7.8S-.5 19.4 .1 26.1L36.3 446.2C39.5 483.4 70.7 512 108 512H276c37.4 0 68.5-28.6 71.7-65.8L383.9 26.1c.6-6.7-1.7-13.3-6.2-18.3s-11-7.8-17.7-7.8H24zM57.1 128L50.2 48H333.8l-6.9 80H57.1zm4.1 48H322.8L299.9 442.1C298.8 454.5 288.4 464 276 464H108c-12.5 0-22.8-9.5-23.9-21.9L61.2 176z\"]\n};\nvar faLoader = {\n prefix: 'far',\n iconName: 'loader',\n icon: [512, 512, [], \"e1d4\", \"M280 24c0-13.3-10.7-24-24-24s-24 10.7-24 24v80c0 13.3 10.7 24 24 24s24-10.7 24-24V24zm0 384c0-13.3-10.7-24-24-24s-24 10.7-24 24v80c0 13.3 10.7 24 24 24s24-10.7 24-24V408zM0 256c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H24c-13.3 0-24 10.7-24 24zm408-24c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H408zM437 75c-9.4-9.4-24.6-9.4-33.9 0l-56.6 56.6c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L437 108.9c9.4-9.4 9.4-24.6 0-33.9zM165.5 380.4c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L75 403.1c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l56.6-56.6zM75 75c-9.4 9.4-9.4 24.6 0 33.9l56.6 56.6c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L108.9 75c-9.4-9.4-24.6-9.4-33.9 0zM380.5 346.5c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9L403.1 437c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-56.6-56.6z\"]\n};\nvar faForward = {\n prefix: 'far',\n iconName: 'forward',\n icon: [512, 512, [9193], \"f04e\", \"M224 94c0-16.6 13.5-30 30-30c6.3 0 12.5 2 17.6 5.7L502.1 236.6c6.2 4.5 9.9 11.7 9.9 19.4s-3.7 14.9-9.9 19.4L271.7 442.3c-5.1 3.7-11.3 5.7-17.6 5.7c-16.6 0-30-13.4-30-30V318.9L47.3 442.6c-5.1 3.5-11.1 5.4-17.3 5.4C13.5 448 0 434.5 0 417.9V94.1C0 77.5 13.5 64 30.1 64c6.2 0 12.2 1.9 17.3 5.4L224 193.1V94zm0 157.7L48 128.5v255L224 260.3v-8.6zM447.1 256L272 129.2V382.8L447.1 256z\"]\n};\nvar faUserPilot = {\n prefix: 'far',\n iconName: 'user-pilot',\n icon: [448, 512, [], \"e2c0\", \"M217.9 .8c4-1.1 8.2-1.1 12.2 0l152 40c8.6 2.3 15.3 9.1 17.3 17.8s-1 17.8-7.8 23.6L368 102.5v8.4c0 10.7-5.3 20.8-15.1 25.2c-24.1 10.8-68.6 24-128.9 24s-104.8-13.2-128.9-24C85.3 131.7 80 121.6 80 110.9v-8.4L56.4 82.2c-6.8-5.8-9.8-14.9-7.8-23.6s8.7-15.6 17.3-17.8l152-40zM183.2 65.7c-7.9-4-17.5-.7-21.5 7.2s-.7 17.5 7.2 21.5l48 24c4.5 2.3 9.8 2.3 14.3 0l48-24c7.9-4 11.1-13.6 7.2-21.5s-13.6-11.1-21.5-7.2L224 86.1 183.2 65.7zM98.1 168.8c14 5.4 28.5 9.9 43.3 13.4c-.4 3.2-.6 6.5-.6 9.8c0 46 37.2 83.2 83.2 83.2s83.2-37.2 83.2-83.2c0-3.3-.2-6.6-.6-9.8c14.8-3.6 29.3-8.1 43.3-13.4c1.4 7.5 2.1 15.3 2.1 23.2c0 70.7-57.3 128-128 128s-128-57.3-128-128c0-7.9 .7-15.7 2.1-23.2zM50.9 464H188.5c-2.3-1.5-4.5-3.2-6.6-5.1l-65.2-57.1c-31.9 6.7-57.3 30.9-65.7 62.2zm346.1 0c-8.4-31.2-33.8-55.5-65.7-62.2l-65.2 57.1c-2.1 1.9-4.3 3.6-6.6 5.1H397.1zM126.5 352.2c3.9-.2 7.8 1.2 10.7 3.8l76.3 66.7c6 5.3 15 5.3 21.1 0l76.3-66.7c3-2.6 6.8-4.1 10.7-3.8C392.1 356.3 448 414.8 448 486.4c0 14.1-11.5 25.6-25.6 25.6H25.6C11.5 512 0 500.5 0 486.4c0-71.6 55.9-130.1 126.5-134.2z\"]\n};\nvar faMobile = {\n prefix: 'far',\n iconName: 'mobile',\n icon: [384, 512, [128241, \"mobile-android\", \"mobile-phone\"], \"f3ce\", \"M80 48c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H304c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H80zM16 64C16 28.7 44.7 0 80 0H304c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H80c-35.3 0-64-28.7-64-64V64zM160 400h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H160c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faMobileAndroid = faMobile;\nvar faMobilePhone = faMobile;\nvar faCodePullRequestClosed = {\n prefix: 'far',\n iconName: 'code-pull-request-closed',\n icon: [512, 512, [], \"e3f9\", \"M144 80A32 32 0 1 0 80 80a32 32 0 1 0 64 0zm48 0c0 35.8-23.5 66.1-56 76.3V355.7c32.5 10.2 56 40.5 56 76.3c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-35.8 23.5-66.1 56-76.3V156.3C55.5 146.1 32 115.8 32 80C32 35.8 67.8 0 112 0s80 35.8 80 80zM112 464a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm288 0a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0 48c-44.2 0-80-35.8-80-80c0-35.8 23.5-66.1 56-76.3V224c0-13.3 10.7-24 24-24s24 10.7 24 24V355.7c32.5 10.2 56 40.5 56 76.3c0 44.2-35.8 80-80 80zM327 7c9.4-9.4 24.6-9.4 33.9 0l39 39L439 7c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-39 39 39 39c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-39-39-39 39c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l39-39L327 41c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faFaceMeh = {\n prefix: 'far',\n iconName: 'face-meh',\n icon: [512, 512, [128528, \"meh\"], \"f11a\", \"M464 256A208 208 0 1 1 48 256a208 208 0 1 1 416 0zM256 0a256 256 0 1 0 0 512A256 256 0 1 0 256 0zM176.4 240a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm192-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM184 328c-13.3 0-24 10.7-24 24s10.7 24 24 24H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H184z\"]\n};\nvar faMeh = faFaceMeh;\nvar faAlignCenter = {\n prefix: 'far',\n iconName: 'align-center',\n icon: [448, 512, [], \"f037\", \"M120 40c-13.3 0-24 10.7-24 24s10.7 24 24 24H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H120zM24 168c-13.3 0-24 10.7-24 24s10.7 24 24 24H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zM96 320c0 13.3 10.7 24 24 24H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H120c-13.3 0-24 10.7-24 24zM24 424c-13.3 0-24 10.7-24 24s10.7 24 24 24H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H24z\"]\n};\nvar faBookSkull = {\n prefix: 'far',\n iconName: 'book-skull',\n icon: [448, 512, [\"book-dead\"], \"f6b7\", \"M0 88C0 39.4 39.4 0 88 0H392c30.9 0 56 25.1 56 56V344c0 22.3-13.1 41.6-32 50.6V464h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H80c-44.2 0-80-35.8-80-80c0-2.7 .1-5.4 .4-8H0V88zM48 432c0 17.7 14.3 32 32 32H368V400H80c-17.7 0-32 14.3-32 32zm0-73.3c9.8-4.3 20.6-6.7 32-6.7H392c4.4 0 8-3.6 8-8V56c0-4.4-3.6-8-8-8H88C65.9 48 48 65.9 48 88V358.7zM288 195.2V208c0 8.8-7.2 16-16 16H208c-8.8 0-16-7.2-16-16V195.2c-19.4-11.7-32-30.3-32-51.2c0-35.3 35.8-64 80-64s80 28.7 80 64c0 20.9-12.6 39.5-32 51.2zM224 144a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm48 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32zM128.8 234.9c2.8-8.4 11.9-12.9 20.2-10.1L240 255.1l90.9-30.3c8.4-2.8 17.4 1.7 20.2 10.1s-1.7 17.4-10.1 20.2L290.6 272l50.5 16.8c8.4 2.8 12.9 11.9 10.1 20.2s-11.9 12.9-20.2 10.1L240 288.9l-90.9 30.3c-8.4 2.8-17.4-1.7-20.2-10.1s1.7-17.4 10.1-20.2L189.4 272l-50.5-16.8c-8.4-2.8-12.9-11.9-10.1-20.2z\"]\n};\nvar faBookDead = faBookSkull;\nvar faIdCard = {\n prefix: 'far',\n iconName: 'id-card',\n icon: [576, 512, [62147, \"drivers-license\"], \"f2c2\", \"M528 160V416c0 8.8-7.2 16-16 16H320c0-44.2-35.8-80-80-80H176c-44.2 0-80 35.8-80 80H64c-8.8 0-16-7.2-16-16V160H528zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM272 256a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zm104-48c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H376zm0 96c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H376z\"]\n};\nvar faDriversLicense = faIdCard;\nvar faFaceDotted = {\n prefix: 'far',\n iconName: 'face-dotted',\n icon: [512, 512, [129765], \"e47f\", \"M256 0c-13.6 0-27 1.1-40 3.1c-13.1 2.1-22 14.3-20 27.4s14.3 22 27.4 20C234 48.9 244.9 48 256 48s22 .9 32.6 2.5c13.1 2.1 25.4-6.9 27.4-20s-6.9-25.4-20-27.4C283 1.1 269.6 0 256 0zM133.7 87.7c10.7-7.8 13.1-22.8 5.3-33.5s-22.8-13.1-33.5-5.3C83.8 64.7 64.7 83.8 48.9 105.5c-7.8 10.7-5.4 25.7 5.3 33.5s25.7 5.4 33.5-5.3c12.8-17.6 28.4-33.2 46.1-46.1zM406.5 48.9c-10.7-7.8-25.7-5.4-33.5 5.3s-5.4 25.7 5.3 33.5c17.6 12.8 33.2 28.4 46 46.1c7.8 10.7 22.8 13.1 33.5 5.3s13.1-22.8 5.3-33.5c-15.8-21.7-34.9-40.8-56.6-56.6zM50.5 223.4c2.1-13.1-6.9-25.4-20-27.4s-25.4 6.9-27.4 20C1.1 229 0 242.4 0 256s1.1 27 3.1 40c2.1 13.1 14.3 22 27.4 20s22-14.3 20-27.4C48.9 278 48 267.1 48 256s.9-22 2.5-32.6zM508.9 216c-2.1-13.1-14.3-22-27.4-20s-22 14.3-20 27.4c1.7 10.6 2.5 21.5 2.5 32.6s-.9 22-2.5 32.6c-2.1 13.1 6.9 25.4 20 27.4s25.4-6.9 27.4-20c2.1-13.1 3.1-26.4 3.1-40s-1.1-27-3.1-40zM87.7 378.3c-7.8-10.7-22.8-13.1-33.5-5.3s-13.1 22.8-5.3 33.5c15.8 21.7 34.9 40.8 56.6 56.6c10.7 7.8 25.7 5.4 33.5-5.3s5.4-25.7-5.3-33.5c-17.6-12.8-33.2-28.4-46.1-46zm375.4 28.2c7.8-10.7 5.4-25.7-5.3-33.5s-25.7-5.4-33.5 5.3c-12.8 17.6-28.4 33.2-46 46c-10.7 7.8-13.1 22.8-5.3 33.5s22.8 13.1 33.5 5.3c21.7-15.8 40.8-34.9 56.6-56.6zm-239.7 55c-13.1-2.1-25.4 6.9-27.4 20s6.9 25.4 20 27.4c13.1 2.1 26.4 3.1 40 3.1s27-1.1 40-3.1c13.1-2.1 22-14.3 20-27.4s-14.3-22-27.4-20C278 463.1 267.1 464 256 464s-22-.9-32.6-2.5zM176.4 240a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm192-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM184 328c-13.3 0-24 10.7-24 24s10.7 24 24 24H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H184z\"]\n};\nvar faFaceWorried = {\n prefix: 'far',\n iconName: 'face-worried',\n icon: [512, 512, [], \"e3a3\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM182.4 414.5c-12.4 5.2-26.5-4.1-21.1-16.4c16-36.6 52.4-62.1 94.8-62.1s78.8 25.6 94.8 62.1c5.4 12.3-8.7 21.6-21.1 16.4c-22.4-9.5-47.4-14.8-73.7-14.8s-51.3 5.3-73.7 14.8zM144.4 272a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM192 160c-4.4 0-8.8 .3-13 .9c-21.2 2.8-40.6 12.4-56.1 26.8c-6.5 6-16.6 5.7-22.6-.8s-5.7-16.6 .8-22.6c20.1-18.7 45.5-31.5 73.7-35.2c5.6-.7 11.4-1.1 17.2-1.1c8.8 0 16 7.2 16 16s-7.2 16-16 16zm141 .9c-4.3-.6-8.6-.9-13-.9c-8.8 0-16-7.2-16-16s7.2-16 16-16c5.8 0 11.6 .4 17.2 1.1c28.2 3.7 53.7 16.4 73.7 35.2c6.5 6 6.8 16.2 .8 22.6s-16.2 6.8-22.6 .8c-15.5-14.5-34.8-24-56.1-26.8z\"]\n};\nvar faOutdent = {\n prefix: 'far',\n iconName: 'outdent',\n icon: [448, 512, [\"dedent\"], \"f03b\", \"M0 64C0 50.7 10.7 40 24 40H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H24C10.7 88 0 77.3 0 64zM192 192c0-13.3 10.7-24 24-24H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24zm24 104H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zM0 448c0-13.3 10.7-24 24-24H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24zM7 268.4C-.8 262-.8 250 7 243.6l94.8-78.1c10.4-8.6 26.2-1.2 26.2 12.4V334.1c0 13.5-15.7 20.9-26.2 12.4L7 268.4z\"]\n};\nvar faDedent = faOutdent;\nvar faCourtSport = {\n prefix: 'far',\n iconName: 'court-sport',\n icon: [640, 512, [], \"e643\", \"M64 80c-8.8 0-16 7.2-16 16v32H64c35.3 0 64 28.7 64 64V320c0 35.3-28.7 64-64 64H48v32c0 8.8 7.2 16 16 16H296V365.4c-50.3-11-88-55.8-88-109.4s37.7-98.4 88-109.4V80H64zM344 365.4V432H576c8.8 0 16-7.2 16-16V384H576c-35.3 0-64-28.7-64-64V192c0-35.3 28.7-64 64-64h16V96c0-8.8-7.2-16-16-16H344v66.6c50.3 11 88 55.8 88 109.4s-37.7 98.4-88 109.4zm0-168.8V315.3c23.5-9.5 40-32.5 40-59.3s-16.5-49.9-40-59.3zm-48 0c-23.5 9.5-40 32.5-40 59.3s16.5 49.9 40 59.3V196.7zM48 176V336H64c8.8 0 16-7.2 16-16V192c0-8.8-7.2-16-16-16H48zM576 336h16V176H576c-8.8 0-16 7.2-16 16V320c0 8.8 7.2 16 16 16zM0 96C0 60.7 28.7 32 64 32H576c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96z\"]\n};\nvar faHeartCircleExclamation = {\n prefix: 'far',\n iconName: 'heart-circle-exclamation',\n icon: [576, 512, [], \"e4fe\", \"M225.8 468.2l-2.5-2.3L48.1 303.2C17.4 274.7 0 234.7 0 192.8v-3.3c0-70.4 50-130.8 119.2-144C158.6 37.9 198.9 47 231 69.6c9 6.4 17.4 13.8 25 22.3c4.2-4.8 8.7-9.2 13.5-13.3c3.7-3.2 7.5-6.2 11.5-9l0 0C313.1 47 353.4 37.9 392.8 45.4C462 58.6 512 119.1 512 189.5v3.3c0 6-.4 12-1.1 17.9c-14.6-7.3-30.4-12.7-47-15.8c0-.7 0-1.4 0-2.1v-3.3c0-47.3-33.6-88-80.1-96.9c-34-6.5-69 5.4-92 31.2l-.1 .1-.1 .1-17.8 20c-.3 .4-.7 .7-1 1.1c-4.5 4.5-10.6 7-16.9 7s-12.4-2.5-16.9-7c-.4-.3-.7-.7-1-1.1l-17.8-20-.1-.1 0 0c-23.1-25.9-58-37.7-92-31.2C81.6 101.5 48 142.1 48 189.5v3.3c0 28.5 11.9 55.8 32.8 75.2L256 430.7l8.7-8c5.3 16.1 12.8 31.2 22.2 44.9l-.6 .6c-8.2 7.6-19 11.9-30.2 11.9s-22-4.2-30.2-11.9zM432 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm0 240a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-192c-8.8 0-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16V288c0-8.8-7.2-16-16-16z\"]\n};\nvar faHouse = {\n prefix: 'far',\n iconName: 'house',\n icon: [576, 512, [127968, 63498, 63500, \"home\", \"home-alt\", \"home-lg-alt\"], \"f015\", \"M272.5 5.7c9-7.6 22.1-7.6 31.1 0l264 224c10.1 8.6 11.4 23.7 2.8 33.8s-23.7 11.3-33.8 2.8L512 245.5V432c0 44.2-35.8 80-80 80H144c-44.2 0-80-35.8-80-80V245.5L39.5 266.3c-10.1 8.6-25.3 7.3-33.8-2.8s-7.3-25.3 2.8-33.8l264-224zM288 55.5L112 204.8V432c0 17.7 14.3 32 32 32h48V312c0-22.1 17.9-40 40-40H344c22.1 0 40 17.9 40 40V464h48c17.7 0 32-14.3 32-32V204.8L288 55.5zM240 464h96V320H240V464z\"]\n};\nvar faHome = faHouse;\nvar faHomeAlt = faHouse;\nvar faHomeLgAlt = faHouse;\nvar faVectorCircle = {\n prefix: 'far',\n iconName: 'vector-circle',\n icon: [512, 512, [], \"e2c6\", \"M232 88h48V40H232V88zM192 32c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32V49.6c67.8 21 121.4 74.5 142.4 142.4H480c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H462.4c-21 67.8-74.5 121.4-142.4 142.4V480c0 17.7-14.3 32-32 32H224c-17.7 0-32-14.3-32-32V462.4C124.2 441.4 70.6 387.8 49.6 320H32c-17.7 0-32-14.3-32-32V224c0-17.7 14.3-32 32-32H49.6C70.6 124.2 124.2 70.6 192 49.6V32zM100.5 192.3C116 194.5 128 207.9 128 224v64c0 16.1-12 29.5-27.5 31.7c17 41.6 50.3 74.8 91.8 91.8C194.5 396 207.9 384 224 384h64c16.1 0 29.5 12 31.7 27.5c41.6-17 74.8-50.3 91.8-91.8C396 317.5 384 304.1 384 288V224c0-16.1 12-29.5 27.5-31.7c-17-41.6-50.3-74.8-91.8-91.8C317.5 116 304.1 128 288 128H224c-16.1 0-29.5-12-31.7-27.5c-41.6 17-74.8 50.3-91.8 91.8zM424 232v48h48V232H424zM232 424v48h48V424H232zM40 232v48H88V232H40z\"]\n};\nvar faCarCircleBolt = {\n prefix: 'far',\n iconName: 'car-circle-bolt',\n icon: [640, 512, [], \"e342\", \"M127.7 106.8L103.4 176H408.6l-24.2-69.2c-5.6-16-20.8-26.8-37.8-26.8H165.4c-17 0-32.1 10.7-37.8 26.8zm-79.6 82L82.3 90.9C94.7 55.6 128 32 165.4 32H346.6c37.4 0 70.7 23.6 83.1 58.9l34.3 97.9c2.6 1.5 5.2 3.2 7.6 4.9c-28.3 3.9-54.4 14.6-76.8 30.3H96c-26.5 0-48 21.5-48 48v80H320.7c-.5 5.3-.7 10.6-.7 16c0 10.9 1 21.6 2.9 32H48v56c0 13.3-10.7 24-24 24s-24-10.7-24-24V400 352 272c0-35.6 19.3-66.6 48.1-83.2zM112 256a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm384-32a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm47.9 63c-4.3-3.7-10.6-4-15.1-.6l-96 72c-4.1 3.1-5.8 8.5-4.2 13.4s6.2 8.2 11.4 8.2h35.6l-30.1 54.2c-2.8 5-1.7 11.1 2.6 14.9s10.6 4 15.1 .6l96-72c4.1-3.1 5.8-8.5 4.2-13.4s-6.2-8.2-11.4-8.2H516.4l30.1-54.2c2.8-5 1.7-11.1-2.6-14.9z\"]\n};\nvar faCalendarWeek = {\n prefix: 'far',\n iconName: 'calendar-week',\n icon: [448, 512, [], \"f784\", \"M128 0c13.3 0 24 10.7 24 24V64H296V24c0-13.3 10.7-24 24-24s24 10.7 24 24V64h40c35.3 0 64 28.7 64 64v16 48V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192 144 128C0 92.7 28.7 64 64 64h40V24c0-13.3 10.7-24 24-24zM400 192H48V448c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V192zM112 256H336c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16z\"]\n};\nvar faFlyingDisc = {\n prefix: 'far',\n iconName: 'flying-disc',\n icon: [640, 512, [], \"e3a9\", \"M486.4 89.6c7.9 7.9 16.9 31.4 .6 80.4c-15.3 45.9-49.5 101-100.7 152.2S279.9 407.6 234 422.9c-49 16.3-72.5 7.3-80.4-.6c-5.6-5.6-11.8-19.2-9-44.3c19.9 19.2 45.3 20.8 62.5 18.9c18.1-2 36.3-8.8 52.8-17c33.6-16.6 70.7-44.5 105.1-78.9s62.2-71.5 78.9-105.1c8.2-16.6 14.9-34.7 17-52.8c1.9-17.2 .3-42.6-18.9-62.5c25.1-2.8 38.7 3.3 44.3 9zM201.2 175.4C104.3 281.9 67.6 404.2 119.7 456.3c55.3 55.3 189.8 10.5 300.5-100.2S575.6 111 520.3 55.7C468.2 3.6 345.9 40.3 239.5 137.1c-6.6 6-13.2 12.2-19.7 18.7c-6.5 6.5-12.7 13-18.6 19.6zm35.6 32.2c5.4-6 11.1-11.9 17-17.8c5.9-5.9 11.9-11.6 17.9-17c57.9-52.3 116.2-78.4 135.5-59.1c21.4 21.4-12.7 90.1-76.1 153.4s-132.1 97.4-153.4 76.1c-19.4-19.4 6.8-77.7 59.1-135.6z\"]\n};\nvar faLaptopMedical = {\n prefix: 'far',\n iconName: 'laptop-medical',\n icon: [640, 512, [], \"f812\", \"M128 80H512c8.8 0 16 7.2 16 16V320h48V96c0-35.3-28.7-64-64-64H128C92.7 32 64 60.7 64 96V320h48V96c0-8.8 7.2-16 16-16zM50.7 400H589.3c-6.6 18.6-24.4 32-45.3 32H96c-20.9 0-38.7-13.4-45.3-32zM32 352c-17.7 0-32 14.3-32 32c0 53 43 96 96 96H544c53 0 96-43 96-96c0-17.7-14.3-32-32-32H32zM288 144v48H240c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V256h48c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H352V144c0-8.8-7.2-16-16-16H304c-8.8 0-16 7.2-16 16z\"]\n};\nvar faSquareDownRight = {\n prefix: 'far',\n iconName: 'square-down-right',\n icon: [448, 512, [], \"e26c\", \"M384 432c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384zm64-16c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416zM320 198.6V336c0 8.8-7.2 16-16 16H166.6c-12.5 0-22.6-10.1-22.6-22.6c0-6 2.4-11.8 6.6-16L184 280l-66.3-66.3C114 210 112 205.1 112 200s2-10 5.7-13.7l36.7-36.7c3.6-3.6 8.5-5.7 13.7-5.7s10 2 13.7 5.7L248 216l33.4-33.4c4.2-4.2 10-6.6 16-6.6c12.5 0 22.6 10.1 22.6 22.6z\"]\n};\nvar faB = {\n prefix: 'far',\n iconName: 'b',\n icon: [320, 512, [98], \"42\", \"M56 32C25.1 32 0 57.1 0 88V256 424c0 30.9 25.1 56 56 56H196c68.5 0 124-55.5 124-124c0-48.9-28.3-91.1-69.3-111.3c23-22.5 37.3-53.9 37.3-88.7c0-68.5-55.5-124-124-124H56zM164 232H48V88c0-4.4 3.6-8 8-8H164c42 0 76 34 76 76s-34 76-76 76zM48 280H164h28 4c42 0 76 34 76 76s-34 76-76 76H56c-4.4 0-8-3.6-8-8V280z\"]\n};\nvar faSeatAirline = {\n prefix: 'far',\n iconName: 'seat-airline',\n icon: [448, 512, [], \"e244\", \"M48 24C48 10.7 37.3 0 24 0S0 10.7 0 24V142.9c0 14.7 3.1 29.2 9.1 42.5L89.1 364c14.2 31.6 45.6 52 80.3 52H216v48H120c-13.3 0-24 10.7-24 24s10.7 24 24 24H360c13.3 0 24-10.7 24-24s-10.7-24-24-24H264V416h88c29.1 0 55.3-17.5 66.5-44.3l27.7-66.5c3.1-7.4 2.3-15.9-2.2-22.5S432 272 424 272H100.5L86.2 240H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H64.6L52.9 165.8c-3.2-7.2-4.9-15-4.9-22.9V24zm84.9 320.4L122 320H388l-13.8 33.2c-3.7 8.9-12.5 14.8-22.2 14.8H169.4c-15.8 0-30.1-9.3-36.5-23.6z\"]\n};\nvar faMoonOverSun = {\n prefix: 'far',\n iconName: 'moon-over-sun',\n icon: [512, 512, [\"eclipse-alt\"], \"f74a\", \"M361.3 1.8c7.5 3.1 12.9 9.8 14.4 17.8l18.1 98.5 98.5 18.1c8 1.5 14.7 6.9 17.8 14.4s2.2 16.1-2.4 22.8L450.9 256l56.9 82.5c4.6 6.7 5.5 15.3 2.4 22.8s-9.8 13-17.8 14.4l-98.5 18.1-18.1 98.5c-1.5 8-6.9 14.7-14.4 17.8s-16.1 2.2-22.8-2.4L256 450.9l-82.5 56.9c-6.7 4.6-15.3 5.5-22.8 2.4s-12.9-9.8-14.4-17.8l-18.1-98.5L19.7 375.7c-8-1.5-14.7-6.9-17.8-14.4s-2.2-16.1 2.4-22.8L61.1 256 4.2 173.5c-4.6-6.7-5.5-15.3-2.4-22.8s9.8-12.9 17.8-14.4l98.5-18.1 18.1-98.5c1.5-8 6.9-14.7 14.4-17.8s16.1-2.2 22.8 2.4L256 61.1 338.5 4.2c6.7-4.6 15.3-5.5 22.8-2.4zm-26.1 63L269.6 110c-8.2 5.7-19 5.7-27.2 0L176.8 64.8l-14.4 78.3c-1.8 9.8-9.5 17.5-19.3 19.3L64.8 176.8 110 242.4c5.7 8.2 5.7 19 0 27.2L64.8 335.2l78.3 14.4c9.8 1.8 17.5 9.5 19.3 19.3l14.4 78.3L242.4 402c8.2-5.7 19-5.7 27.2 0l65.6 45.2 14.4-78.3c1.8-9.8 9.5-17.5 19.3-19.3l78.3-14.4L402 269.6c-5.7-8.2-5.7-19 0-27.2l45.2-65.6-78.3-14.4c-9.8-1.8-17.5-9.5-19.3-19.3L335.2 64.8zM144 256a112 112 0 1 1 224 0 112 112 0 1 1 -224 0zm151.7 50.2C310.5 294.5 320 276.4 320 256c0-35.3-28.7-64-64-64c-.2 0-.4 0-.5 0c-12.3 12.2-19.9 29-19.9 47.5c0 34.4 26.2 62.9 60.1 66.7z\"]\n};\nvar faEclipseAlt = faMoonOverSun;\nvar faPipe = {\n prefix: 'far',\n iconName: 'pipe',\n icon: [64, 512, [], \"7c\", \"M32 0C45.3 0 56 10.7 56 24V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V24C8 10.7 18.7 0 32 0z\"]\n};\nvar faFileMedical = {\n prefix: 'far',\n iconName: 'file-medical',\n icon: [384, 512, [], \"f477\", \"M64 464c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zm96 240v48H112c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V352h48c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16H224V240c0-8.8-7.2-16-16-16H176c-8.8 0-16 7.2-16 16z\"]\n};\nvar faPotato = {\n prefix: 'far',\n iconName: 'potato',\n icon: [512, 512, [129364], \"e440\", \"M464 144c0-53-43-96-96-96c-26.6 0-50.5 10.7-68 28.2C269.3 107 232 134.9 194 155.7c-16.1 8.8-29.4 22.1-38.2 38.2C134.9 232 107 269.3 76.2 300C58.7 317.5 48 341.4 48 368c0 53 43 96 96 96c20.2 0 38.9-6.2 54.3-16.8c31.8-21.9 67.9-39.9 104.3-52.2c29.5-10 53.5-34 62.1-66.1c11.5-42.8 36.5-84.4 68.8-114.7C452.4 196.6 464 171.7 464 144zm48 0c0 41.5-17.6 78.9-45.7 105.2c-25.8 24.2-46.1 57.9-55.2 92.1c-12.9 48.3-49 84.3-93.1 99.2c-32.3 10.9-64.4 26.9-92.5 46.2C202.4 502.7 174.3 512 144 512C64.5 512 0 447.5 0 368c0-39.8 16.2-75.9 42.3-102C69.8 238.6 95 205 113.6 170.9c13.2-24.1 33.1-44 57.3-57.3C205 95 238.6 69.8 266 42.3C292.1 16.2 328.2 0 368 0c79.5 0 144 64.5 144 144zM352 168a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM168 256a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm-8 104a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faDiceOne = {\n prefix: 'far',\n iconName: 'dice-one',\n icon: [448, 512, [9856], \"f525\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM224 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faCircleA = {\n prefix: 'far',\n iconName: 'circle-a',\n icon: [512, 512, [], \"e0f7\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-400c-9.1 0-17.4 5.1-21.5 13.3l-104 208c-5.9 11.9-1.1 26.3 10.7 32.2s26.3 1.1 32.2-10.7L190.8 320H321.2l17.4 34.7c5.9 11.9 20.3 16.7 32.2 10.7s16.7-20.3 10.7-32.2l-104-208c-4.1-8.1-12.4-13.3-21.5-13.3zm0 77.7L297.2 272H214.8L256 189.7z\"]\n};\nvar faHelmetBattle = {\n prefix: 'far',\n iconName: 'helmet-battle',\n icon: [576, 512, [], \"f6eb\", \"M80 17.1L65.1 225.7c-1.2 17-15.4 30.2-32.5 30.2H30.4C13.6 256 0 242.4 0 225.6c0-2.3 .3-4.6 .8-6.8L48.4 12.4c1.9-8.1 9.7-13.5 18-12.2s14.2 8.6 13.6 17zM75.5 420.5c-9.2-5.6-13.5-16.7-10.6-27.1C81.9 333.6 96 270.2 96 208c0-85 89.1-149.2 153.1-189c1.9-1.2 4-2.6 6.3-4.1C264.8 8.4 277.3 0 288 0s23.2 8.4 32.7 14.9c2.3 1.5 4.4 3 6.3 4.1C390.9 58.8 480 123 480 208c0 62.2 14.1 125.6 31.1 185.4c3 10.4-1.4 21.4-10.6 27.1L316.8 506c-8.5 3.9-17.7 6-27 6h-3.7c-9.3 0-18.6-2-27-6L75.5 420.5zM312 455.3l147.4-68.7C444.4 330.7 432 269.5 432 208c0-25-13.1-50.9-39.2-78.3c-26-27.1-60-50.6-91.2-70c-2.7-1.7-5.9-3.9-8.3-5.4l-1.5-1c-1.4-1-2.7-1.8-3.9-2.5c-1.2 .7-2.4 1.6-3.9 2.5l-1.5 1c-2.3 1.6-5.5 3.7-8.3 5.4c-31.2 19.4-65.2 42.9-91.2 70C157.1 157.1 144 183 144 208c0 61.5-12.4 122.7-27.4 178.7L264 455.3V299.2c0-6.7-4.2-12.7-10.5-15l-65.1-23.7c-7.4-2.7-12.4-9.8-12.4-17.7c0-10.4 8.4-18.8 18.8-18.8H381.2c10.4 0 18.8 8.4 18.8 18.8c0 7.9-5 15-12.4 17.7l-65.1 23.7c-6.3 2.3-10.5 8.3-10.5 15V455.3zM509.6 .2c8.3-1.2 16.1 4.1 18 12.2l47.6 206.4c.5 2.2 .8 4.5 .8 6.8c0 16.8-13.6 30.4-30.4 30.4h-2.2c-17.1 0-31.3-13.2-32.5-30.2L496 17.1c-.6-8.3 5.3-15.7 13.6-17z\"]\n};\nvar faButter = {\n prefix: 'far',\n iconName: 'butter',\n icon: [640, 512, [129480], \"e3e4\", \"M464 112V288H416V112H128c-8.8 0-16 7.2-16 16V288H64V128c0-35.3 28.7-64 64-64H416h24 24 48c35.3 0 64 28.7 64 64V288H528V128c0-8.8-7.2-16-16-16H464zM0 344c0-13.3 10.7-24 24-24H616c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8v48c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V368H24c-13.3 0-24-10.7-24-24z\"]\n};\nvar faBlanketFire = {\n prefix: 'far',\n iconName: 'blanket-fire',\n icon: [640, 512, [], \"e3da\", \"M48 112c0-35.3 28.7-64 64-64l224 0c35.3 0 64 28.7 64 64l0 39.4c4.1-3.9 8.2-7.7 12.5-11.5c10-8.9 23-12.8 35.5-11.7l0-16.2C448 50.1 397.9 0 336 0L112 0C50.1 0 0 50.1 0 112L0 336c0 61.9 50.1 112 112 112l202.4 0c-8.7-14.9-15.4-31-19.9-48L112 400c-35.3 0-64-28.7-64-64s28.7-64 64-64l197 0c4.9-10 10.3-19.8 16.2-29.3c3.8-6.2 7.9-12.5 12.3-18.7L112 224c-23.8 0-45.9 7.4-64 20.1L48 112zM288 350.1c0-12.4 2-25.2 5.6-38.1L120 312c-13.3 0-24 10.7-24 24s10.7 24 24 24l168.3 0c-.2-3.3-.3-6.6-.3-9.9zM505.7 208.3l-19-19.9c-2-2.1-4-4.4-6-6.7c0 0 0 0 0 0c-9-10.2-18.6-21.3-32.7-21.6c-7.3-.2-14.6 2.3-20.3 7.5c-23.4 21.1-50 48.9-70.9 80.2C336 278.8 320 314.8 320 352.2C320 440.7 390.4 512 480 512c88.7 0 160-71.2 160-159.8c0-30-11-60.9-26.2-88.1c-15.2-27.4-35.3-52.3-55-70.6c-5.6-5.2-12.8-7.8-19.9-7.8c-7.6 0-15.5 2.8-20.9 8.9l-12.3 13.8zM544 400.2c0 35.3-28.7 64-64 64s-64-28.7-64-64c0-36.5 37-73 54.8-88.4c5.4-4.7 13.1-4.7 18.5 0C507 327.1 544 363.6 544 400.2z\"]\n};\nvar faKiwiBird = {\n prefix: 'far',\n iconName: 'kiwi-bird',\n icon: [576, 512, [], \"f535\", \"M266.4 347.3c31.2-18.9 74.9-43.3 125.9-43.3H448c44.2 0 80-35.8 80-80s-35.8-80-80-80H392.3c-51 0-94.7-24.4-125.9-43.3C244.7 87.6 219.3 80 192 80C112.5 80 48 144.5 48 224s64.5 144 144 144c27.3 0 52.7-7.6 74.4-20.7zM392.3 352c-36.4 0-69.9 17.6-101.1 36.4c-11.1 6.7-22.9 12.3-35.2 16.7V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V415.3c-5.3 .4-10.6 .7-16 .7c-16.6 0-32.7-2.1-48-6v46c0 13.3-10.7 24-24 24s-24-10.7-24-24V390.3C38.6 357.1 0 295.1 0 224C0 118 86 32 192 32c36.3 0 70.3 10.1 99.2 27.6C322.4 78.4 355.9 96 392.3 96H448c70.7 0 128 57.3 128 128V464c0 7.3-4.9 13.7-12 15.5s-14.5-1.3-18-7.7L477.6 348.6c-9.5 2.2-19.4 3.4-29.6 3.4H392.3zM448 200a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faCastle = {\n prefix: 'far',\n iconName: 'castle',\n icon: [640, 512, [], \"e0de\", \"M176 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V224H48V184c0-13.3-10.7-24-24-24s-24 10.7-24 24V440c0 39.8 32.2 72 72 72H568c39.8 0 72-32.2 72-72V184c0-13.3-10.7-24-24-24s-24 10.7-24 24v40H512V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H400V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H288V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H176V24zm0 88H464V224H176V112zM48 272H592V440c0 13.3-10.7 24-24 24H384V384c0-35.3-28.7-64-64-64s-64 28.7-64 64v80H72c-13.3 0-24-10.7-24-24V272z\"]\n};\nvar faGolfClub = {\n prefix: 'far',\n iconName: 'golf-club',\n icon: [512, 512, [], \"f451\", \"M498.7 2.5c11.9 5.9 16.7 20.3 10.7 32.2L290.7 472.2c-12.2 24.4-37.1 39.8-64.4 39.8H56c-30.9 0-56-25.1-56-56V347.1c0-37.6 36.3-64.5 72.2-53.6L293 360.4 466.5 13.3c5.9-11.9 20.3-16.7 32.2-10.7zM271.2 404L58.3 339.5c-5.1-1.6-10.3 2.3-10.3 7.7V368H80c8.8 0 16 7.2 16 16s-7.2 16-16 16H48v16H80c8.8 0 16 7.2 16 16s-7.2 16-16 16H48v8c0 4.4 3.6 8 8 8H226.3c9.1 0 17.4-5.1 21.5-13.3L271.2 404z\"]\n};\nvar faArrowRightArrowLeft = {\n prefix: 'far',\n iconName: 'arrow-right-arrow-left',\n icon: [448, 512, [8644, \"exchange\"], \"f0ec\", \"M103 497c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-55-55L424 408c13.3 0 24-10.7 24-24s-10.7-24-24-24L81.9 360l55-55c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L7 367c-9.4 9.4-9.4 24.6 0 33.9l96 96zM441 145c9.4-9.4 9.4-24.6 0-33.9L345 15c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l55 55L24 104c-13.3 0-24 10.7-24 24s10.7 24 24 24l342.1 0-55 55c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l96-96z\"]\n};\nvar faExchange = faArrowRightArrowLeft;\nvar faRotateRight = {\n prefix: 'far',\n iconName: 'rotate-right',\n icon: [512, 512, [\"redo-alt\", \"rotate-forward\"], \"f2f9\", \"M371.2 122.9C340.3 96.2 300 80 256 80C158.8 80 80 158.8 80 256s78.8 176 176 176c39.7 0 76.2-13.1 105.6-35.2c10.6-8 25.6-5.8 33.6 4.8s5.8 25.6-4.8 33.6C353 463.3 306.4 480 256 480C132.3 480 32 379.7 32 256S132.3 32 256 32c57.3 0 109.6 21.5 149.2 56.9l30.5-30.5c6.6-6.6 15.6-10.3 25-10.3C480.2 48 496 63.8 496 83.3V200c0 13.3-10.7 24-24 24H355.3c-19.5 0-35.3-15.8-35.3-35.3c0-9.4 3.7-18.3 10.3-25l40.8-40.8zm76.8-9L385.9 176H448V113.9z\"]\n};\nvar faRedoAlt = faRotateRight;\nvar faRotateForward = faRotateRight;\nvar faUtensils = {\n prefix: 'far',\n iconName: 'utensils',\n icon: [448, 512, [127860, 61685, \"cutlery\"], \"f2e7\", \"M71.9 26.7c1.5-13.2-8-25-21.2-26.5s-25 8-26.5 21.2l-16 144L8 166.7V168v16c0 48.6 39.4 88 88 88h8V488c0 13.3 10.7 24 24 24s24-10.7 24-24V272h8c48.6 0 88-39.4 88-88V168v-1.3l-.1-1.3-16-144C230.4 8.2 218.5-1.3 205.3 .1s-22.7 13.3-21.2 26.5L200 169.3V184c0 22.1-17.9 40-40 40H128 96c-22.1 0-40-17.9-40-40V169.3L71.9 26.7zM152 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V168c0 13.3 10.7 24 24 24s24-10.7 24-24V24zM336 176c0-57.7 21.7-88.6 41.4-105.7c7.7-6.6 15.5-11.6 22.6-15.2V248v56H352c-8.8 0-16-7.2-16-16V176zm64 176V488c0 13.3 10.7 24 24 24s24-10.7 24-24V352 304 248 32c0-17.7-14.3-32-32-32C400 0 288 32 288 176V288c0 35.3 28.7 64 64 64h48z\"]\n};\nvar faCutlery = faUtensils;\nvar faArrowUpWideShort = {\n prefix: 'far',\n iconName: 'arrow-up-wide-short',\n icon: [576, 512, [\"sort-amount-up\"], \"f161\", \"M111 39c9.4-9.4 24.6-9.4 33.9 0l96 96c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-55-55V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V113.9L49 169c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l96-96zM312 480c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H312zm0-128c-13.3 0-24-10.7-24-24s10.7-24 24-24H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H312zm0-128c-13.3 0-24-10.7-24-24s10.7-24 24-24H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H312zm0-128c-13.3 0-24-10.7-24-24s10.7-24 24-24H552c13.3 0 24 10.7 24 24s-10.7 24-24 24H312z\"]\n};\nvar faSortAmountUp = faArrowUpWideShort;\nvar faChartPieSimpleCircleDollar = {\n prefix: 'far',\n iconName: 'chart-pie-simple-circle-dollar',\n icon: [640, 512, [], \"e605\", \"M496 192c-46.8 0-89.3 18.2-120.8 48H272V16.6c0-9 7-16.6 16-16.6C401 0 494.5 83.7 509.8 192.5c-4.6-.4-9.2-.5-13.8-.5zM272 288h67.2c-7.6 14.9-13.2 31-16.3 48H224c-26.5 0-48-21.5-48-48V90.9C101.4 117.3 48 188.4 48 272c0 106 86 192 192 192c34.5 0 66.9-9.1 94.9-25c6.5 14.8 15 28.6 25.2 40.9C324.8 500.3 283.8 512 240 512C107.5 512 0 404.6 0 272C0 156.5 81.5 60.1 190.2 37.2c18.1-3.8 33.8 11 33.8 29.5V240v48h48zm80 80a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm120.8-32.6c.6-.9 1.8-2.1 4.2-3.4c5.1-2.7 12.5-4.1 18.7-4c8.2 .1 17.1 1.8 26.4 4.1c8.6 2.1 17.3-3.1 19.4-11.7s-3.1-17.3-11.7-19.4c-5.6-1.4-11.6-2.7-17.9-3.7V288c0-8.8-7.2-16-16-16s-16 7.2-16 16v9.5c-6.1 1.2-12.3 3.2-18 6.3c-11.8 6.3-23 18.4-21.8 37.2c1 16 11.7 25.3 21.6 30.7c8.8 4.7 19.7 7.8 28.6 10.3l1.8 .5c10.3 2.9 17.9 5.2 23.2 8.3c4.5 2.7 4.7 4.2 4.7 5.6c.1 2.4-.5 3.7-1 4.5c-.6 1-1.8 2.2-4 3.3c-4.7 2.5-11.8 3.8-18.5 3.6c-9.5-.3-18.5-3.1-29.9-6.8c-1.9-.6-3.8-1.2-5.8-1.8c-8.4-2.6-17.4 2.1-20 10.5s2.1 17.4 10.5 20c1.6 .5 3.3 1 5 1.6l0 0 0 0c7 2.3 15.1 4.8 23.7 6.6v11.4c0 8.8 7.2 16 16 16s16-7.2 16-16V438.7c6.2-1.1 12.5-3.1 18.3-6.2c12.1-6.5 22.3-18.7 21.7-36.9c-.5-16.2-10.3-26.3-20.5-32.3c-9.4-5.6-21.2-8.9-30.5-11.5l-.2 0c-10.4-2.9-18.3-5.2-23.9-8.2c-4.8-2.6-4.8-4-4.8-4.5l0-.1c-.1-1.9 .3-2.9 .8-3.6z\"]\n};\nvar faBalloons = {\n prefix: 'far',\n iconName: 'balloons',\n icon: [640, 512, [], \"e2e4\", \"M272 160c0-61.9-50.1-112-112-112S48 98.1 48 160c0 31.6 15.3 65.1 38.2 96.6c22.5 30.8 48.7 54.8 62.4 66.3c4.4 3.7 8.2 7.9 11.4 12.5c3.2-4.6 7-8.8 11.4-12.5c13.7-11.5 39.9-35.5 62.4-66.3c23-31.5 38.2-65 38.2-96.6zM112 400l10-20.1c3.5-6.9 1.6-15.3-4.4-20.3C87.2 334 0 252.5 0 160C0 71.6 71.6 0 160 0s160 71.6 160 160c0 92.5-87.2 174-117.7 199.7c-5.9 5-7.8 13.4-4.4 20.3L208 400l.1 .1 3 6 11.6 23.2c.9 1.8 1.4 3.8 1.4 5.8c0 7.1-5.8 12.9-12.9 12.9H185.2h-6.7-.1H141.7h-.1-6.7 0H108.9c-7.1 0-12.9-5.8-12.9-12.9c0-2 .5-4 1.4-5.8l11.6-23.2 3-6 .1-.1zm48-264c-13.3 0-24 10.7-24 24s-10.7 24-24 24s-24-10.7-24-24c0-39.8 32.2-72 72-72c13.3 0 24 10.7 24 24s-10.7 24-24 24zM437.7 423.7c-26.2-22.1-94.5-85.6-113-161.8C340.5 231.8 352 197.2 352 160c0-9.9-.7-19.6-2.2-29c29-40.5 76.5-67 130.2-67c88.4 0 160 71.6 160 160c0 92.5-87.2 174-117.7 199.7c-5.9 5-7.8 13.4-4.4 20.3L528 464l.1 .1 3 6 11.6 23.2c.9 1.8 1.4 3.8 1.4 5.8c0 7.1-5.8 12.9-12.9 12.9H505.2h-6.7-.1H461.7h-.1-6.7H428.9c-7.1 0-12.9-5.8-12.9-12.9c0-2 .5-4 1.4-5.8l11.6-23.2 3-6 .1-.1 10-20.1c3.5-6.9 1.6-15.3-4.4-20.3zM480 112c-61.9 0-112 50.1-112 112c0 31.6 15.3 65.1 38.2 96.6c22.5 30.8 48.7 54.8 62.4 66.3c4.4 3.7 8.2 7.9 11.4 12.5c3.2-4.6 7-8.8 11.4-12.5c13.7-11.5 39.9-35.5 62.4-66.3c23-31.5 38.2-65 38.2-96.6c0-61.9-50.1-112-112-112zM456 224c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-39.8 32.2-72 72-72c13.3 0 24 10.7 24 24s-10.7 24-24 24s-24 10.7-24 24z\"]\n};\nvar faMillSign = {\n prefix: 'far',\n iconName: 'mill-sign',\n icon: [384, 512, [], \"e1ed\", \"M302.4 32.5c4.7-12.4-1.5-26.3-13.9-31s-26.3 1.5-31 13.9l-36.1 95.3c-11.3 6.6-21.2 15.2-29.4 25.3C172.2 111.6 141.9 96 108 96c-22.5 0-43.3 6.9-60.6 18.6C44.9 103.9 35.4 96 24 96C10.7 96 0 106.7 0 120v80H.1c0 1.3-.1 2.7-.1 4V424c0 13.3 10.7 24 24 24s24-10.7 24-24V204c0-33.1 26.9-60 60-60s60 26.9 60 60v47.6L81.6 479.5c-4.7 12.4 1.5 26.3 13.9 31s26.3-1.5 31-13.9L168 386.9V416v8c0 13.3 10.7 24 24 24s24-10.7 24-24v-8V260.4l43.3-114c5.3-1.5 10.9-2.4 16.7-2.4c33.1 0 60 26.9 60 60V424c0 13.3 10.7 24 24 24s24-10.7 24-24V204c0-58.9-47.1-106.7-105.7-108l24.1-63.5z\"]\n};\nvar faBowlRice = {\n prefix: 'far',\n iconName: 'bowl-rice',\n icon: [512, 512, [], \"e2eb\", \"M176 56c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H200c-13.3 0-24 10.7-24 24zm24 48c-13.3 0-24 10.7-24 24s10.7 24 24 24h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H200zM56 176c-13.3 0-24 10.7-24 24s10.7 24 24 24H72c13.3 0 24-10.7 24-24s-10.7-24-24-24H56zm88.7 244.6c-4-13.5-13.8-24.6-26.8-30.3C82.7 374.9 56.7 342.7 49.8 304H462.2c-6.9 38.7-32.9 70.9-68.1 86.3c-12.9 5.7-22.7 16.7-26.8 30.3c-2 6.6-8.2 11.4-15.3 11.4H160c-7.2 0-13.4-4.8-15.3-11.4zM27.4 256C12.3 256 0 268.3 0 283.4c0 67.4 40.6 125.4 98.6 150.8C106.5 460.7 131 480 160 480H352c29 0 53.5-19.3 61.4-45.7c58.1-25.4 98.6-83.4 98.6-150.8c0-15.1-12.3-27.4-27.4-27.4H27.4zM224 200c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H248c-13.3 0-24 10.7-24 24zm-96 0c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H152c-13.3 0-24 10.7-24 24zm-24-96c-13.3 0-24 10.7-24 24s10.7 24 24 24h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H104zm216 96c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H344c-13.3 0-24 10.7-24 24zm-24-96c-13.3 0-24 10.7-24 24s10.7 24 24 24h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H296zm120 96c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H440c-13.3 0-24 10.7-24 24zm-24-96c-13.3 0-24 10.7-24 24s10.7 24 24 24h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H392zM296 32c-13.3 0-24 10.7-24 24s10.7 24 24 24h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H296z\"]\n};\nvar faTimelineArrow = {\n prefix: 'far',\n iconName: 'timeline-arrow',\n icon: [640, 512, [], \"e29d\", \"M160 96A32 32 0 1 0 96 96a32 32 0 1 0 64 0zm48 0c0 35.8-23.5 66.1-56 76.3V232H328V172.3c-32.5-10.2-56-40.5-56-76.3c0-44.2 35.8-80 80-80s80 35.8 80 80c0 35.8-23.5 66.1-56 76.3V232H554.6l-58.9-54.4c-9.7-9-10.3-24.2-1.4-33.9s24.2-10.3 33.9-1.4l103.9 95.9c.1 .1 .3 .3 .4 .4c.3 .3 .6 .6 .9 .9c4 4.3 6.5 10.1 6.5 16.4s-2.5 12.1-6.5 16.4c-.3 .3-.6 .6-.9 .9c-.1 .1-.3 .3-.4 .4L528.3 369.6c-9.7 9-24.9 8.4-33.9-1.4s-8.4-24.9 1.4-33.9L554.6 280H248v59.7c32.5 10.2 56 40.5 56 76.3c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-35.8 23.5-66.1 56-76.3V280H24c-13.3 0-24-10.7-24-24s10.7-24 24-24h80V172.3C71.5 162.1 48 131.8 48 96c0-44.2 35.8-80 80-80s80 35.8 80 80zM192 416a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zM352 128a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faSkull = {\n prefix: 'far',\n iconName: 'skull',\n icon: [512, 512, [128128], \"f54c\", \"M368 400c-.4-16 7.3-31.2 20.4-40.4C436.1 326.2 464 276.9 464 224c0-91.4-86.9-176-208-176S48 132.6 48 224c0 52.9 27.9 102.2 75.6 135.6c13.1 9.2 20.8 24.4 20.4 40.4l0 0v64h48V440c0-13.3 10.7-24 24-24s24 10.7 24 24v24h32V440c0-13.3 10.7-24 24-24s24 10.7 24 24v24h48V400l0 0zm48-1.1c0 .4 0 .7 0 1.1v64c0 26.5-21.5 48-48 48H144c-26.5 0-48-21.5-48-48V400c0-.4 0-.7 0-1.1C37.5 357.8 0 294.7 0 224C0 100.3 114.6 0 256 0S512 100.3 512 224c0 70.7-37.5 133.8-96 174.9zM112 256a56 56 0 1 1 112 0 56 56 0 1 1 -112 0zm232-56a56 56 0 1 1 0 112 56 56 0 1 1 0-112z\"]\n};\nvar faGameBoardSimple = {\n prefix: 'far',\n iconName: 'game-board-simple',\n icon: [448, 512, [\"game-board-alt\"], \"f868\", \"M384 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm16 80V256H224V112H80zM224 256V400H368V256H224z\"]\n};\nvar faGameBoardAlt = faGameBoardSimple;\nvar faCircleVideo = {\n prefix: 'far',\n iconName: 'circle-video',\n icon: [512, 512, [\"video-circle\"], \"e12b\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm144-56c0-13.3 10.7-24 24-24h96c13.3 0 24 10.7 24 24V312c0 13.3-10.7 24-24 24H168c-13.3 0-24-10.7-24-24V200zM364.9 317.9L320 288V224l44.9-29.9c2-1.3 4.4-2.1 6.8-2.1c6.8 0 12.3 5.5 12.3 12.3V307.7c0 6.8-5.5 12.3-12.3 12.3c-2.4 0-4.8-.7-6.8-2.1z\"]\n};\nvar faVideoCircle = faCircleVideo;\nvar faChartScatterBubble = {\n prefix: 'far',\n iconName: 'chart-scatter-bubble',\n icon: [512, 512, [], \"e0e9\", \"M24 32c13.3 0 24 10.7 24 24V408c0 13.3 10.7 24 24 24H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H72c-39.8 0-72-32.2-72-72V56C0 42.7 10.7 32 24 32zM176 256a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm200 32a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-88 0a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM240 128a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm168 0a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-88 0a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z\"]\n};\nvar faHouseTurret = {\n prefix: 'far',\n iconName: 'house-turret',\n icon: [640, 512, [], \"e1b4\", \"M56 48c-4.4 0-8 3.6-8 8V203.8c0 2 .7 3.9 2 5.3l55.9 62.9c3.9 4.4 6.1 10.1 6.1 15.9V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V297.1L14.1 241C5 230.8 0 217.5 0 203.8V56C0 25.1 25.1 0 56 0H296c30.9 0 56 25.1 56 56v68.6l-48 44V56c0-4.4-3.6-8-8-8H256V88c0 13.3-10.7 24-24 24s-24-10.7-24-24V48H144V88c0 13.3-10.7 24-24 24s-24-10.7-24-24V48H56zm120 96c22.1 0 40 17.9 40 40v40c0 8.8-7.2 16-16 16H152c-8.8 0-16-7.2-16-16V184c0-22.1 17.9-40 40-40zm100.8 93l128-117.3c24.5-22.4 62-22.4 86.5 0L619.2 237c13.2 12.1 20.8 29.2 20.8 47.2V448c0 35.3-28.7 64-64 64H320c-35.3 0-64-28.7-64-64V284.2c0-17.9 7.5-35.1 20.8-47.2zM304 284.2V448c0 8.8 7.2 16 16 16H576c8.8 0 16-7.2 16-16V284.2c0-4.5-1.9-8.8-5.2-11.8L458.8 155c-6.1-5.6-15.5-5.6-21.6 0l-128 117.3c-3.3 3-5.2 7.3-5.2 11.8zM400 296c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H424c-13.3 0-24-10.7-24-24V296z\"]\n};\nvar faBanana = {\n prefix: 'far',\n iconName: 'banana',\n icon: [576, 512, [], \"e2e5\", \"M352 144c0 46.7-10.5 90.9-29.3 130.4l-25.3-20.2c-4.4-3.5-9.1-6.8-13.9-9.8C296.7 213.6 304 179.7 304 144c0-31.4-5.6-61.3-15.9-89c-9.5-25.5 8.6-55 38-55c9.8 0 19.5 3.6 27 10.4C411.4 63.1 448 139.3 448 224c0 10.9-.6 21.6-1.8 32.1c-10.9 .4-21.7 2.1-32.3 4.9l-17.6 4.7c2.4-13.5 3.6-27.5 3.6-41.7c0-59.5-21.7-114-57.6-156c6.2 24.3 9.6 49.7 9.6 76zM211.3 304c-12.5 0-24.7 4.1-34.7 11.6l-42.2 31.6c-10.6 8-25.6 5.8-33.6-4.8s-5.8-25.6 4.8-33.6l42.2-31.6c18.3-13.7 40.6-21.2 63.5-21.2c24 0 47.4 8.2 66.1 23.2l48.1 38.5h0l96.7-25.8h0c6.1-1.6 12.3-2.7 18.5-3.4l0 0c3.7-.4 7.5-.6 11.3-.6c40.7 0 78.4 21.3 99.3 56.2l21.3 35.4c6.8 11.4 3.1 26.1-8.2 32.9s-26.1 3.1-32.9-8.2l-21.3-35.4C497.9 348.5 475.8 336 452 336c-5.9 0-11.8 .8-17.5 2.3l-11.5 3.1C378.2 441.9 277.3 512 160 512L48 512c-26.5 0-48-21.5-48-48V448c0-26.5 21.5-48 48-48c77 0 146.1-34 193-87.8c-8.9-5.3-19.2-8.2-29.7-8.2z\"]\n};\nvar faHandHoldingSkull = {\n prefix: 'far',\n iconName: 'hand-holding-skull',\n icon: [576, 512, [], \"e1a4\", \"M192 128c0 29.9 20.4 58.1 53.8 71.8c9.9 4.1 15.9 14.2 14.7 24.9L258.8 240h58.4l-1.7-15.3c-1.2-10.6 4.8-20.8 14.7-24.9C363.6 186.1 384 157.9 384 128c0-41.1-39.6-80-96-80s-96 38.9-96 80zM288 0c76.2 0 144 54.2 144 128c0 46.7-27.7 86.1-66.9 108.2l2.8 25.2c.8 6.8-1.4 13.6-6 18.7s-11.1 8-17.9 8H232c-6.8 0-13.3-2.9-17.9-8s-6.7-11.9-6-18.7l2.8-25.2C171.7 214.1 144 174.7 144 128C144 54.2 211.8 0 288 0zM187.4 352c-7.9 0-15.6 2.3-22.2 6.7L85.3 412c-3.9 2.6-8.6 4-13.3 4H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H64.7l73.8-49.2C153 309.1 170 304 187.4 304H344c35.3 0 64 28.7 64 64c0 .7 0 1.3 0 2l64.9-40c10.7-6.6 22.9-10 35.5-10h7.4c33.3 0 60.3 27 60.3 60.3c0 20.4-10.4 39.5-27.5 50.6l-95.6 61.9c-19.4 12.6-42.1 19.3-65.2 19.3H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H387.7c13.9 0 27.5-4 39.1-11.6l95.6-61.9c3.5-2.3 5.6-6.1 5.6-10.3c0-6.8-5.5-12.3-12.3-12.3h-7.4c-3.6 0-7.2 1-10.3 2.9l-93.5 57.5c-3.8 2.3-8.1 3.6-12.6 3.6H344 320 256c-13.3 0-24-10.7-24-24s10.7-24 24-24h64 24c8.8 0 16-7.2 16-16s-7.2-16-16-16H187.4zM224 120a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM328 96a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faPeopleDress = {\n prefix: 'far',\n iconName: 'people-dress',\n icon: [640, 512, [], \"e217\", \"M160 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM267.1 299.8l-37.4-66.1 36.5 129.9c2.9 10.2-4.8 20.3-15.4 20.3H224V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V384H144V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V384H69.1c-10.6 0-18.3-10.1-15.4-20.3L90.3 233.7 52.9 299.8c-6.5 11.5-21.2 15.6-32.7 9.1s-15.6-21.2-9.1-32.7l51.8-91.5c19.8-35 56.9-56.6 97.1-56.6s77.3 21.6 97.1 56.6l51.8 91.5c6.5 11.5 2.5 26.2-9.1 32.7s-26.2 2.5-32.7-9.1zM155.4 179.5L111.4 336h97.3l-44-156.5c-.6-2.1-2.5-3.5-4.6-3.5s-4 1.4-4.6 3.5zM480 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM587.1 299.8l-37.4-66.1 36.5 129.9c2.9 10.2-4.8 20.3-15.4 20.3H544V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V384H464V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V384H389.1c-10.6 0-18.3-10.1-15.4-20.3l36.5-129.9-37.4 66.1c-6.5 11.5-21.2 15.6-32.7 9.1s-15.6-21.2-9.1-32.7l51.8-91.5c19.8-35 56.9-56.6 97.1-56.6s77.3 21.6 97.1 56.6l51.8 91.5c6.5 11.5 2.5 26.2-9.1 32.7s-26.2 2.5-32.7-9.1zM475.4 179.5L431.4 336h97.3l-44-156.5c-.6-2.1-2.5-3.5-4.6-3.5s-4 1.4-4.6 3.5z\"]\n};\nvar faLoveseat = {\n prefix: 'far',\n iconName: 'loveseat',\n icon: [512, 512, [\"couch-small\"], \"f4cc\", \"M176 80H336c44.2 0 80 35.8 80 80v34.8c7.7-1.8 15.7-2.8 24-2.8s16.3 1 24 2.8V160c0-70.7-57.3-128-128-128H176C105.3 32 48 89.3 48 160v34.8c7.7-1.8 15.7-2.8 24-2.8s16.3 1 24 2.8V160c0-44.2 35.8-80 80-80zM462.5 227.6c-7.1-2.3-14.6-3.6-22.5-3.6c-9.5 0-18.5 1.8-26.8 5.2c-24.1 9.7-41.8 32-44.7 58.8H143.6c-3-26.8-20.6-49.1-44.7-58.8C90.5 225.8 81.5 224 72 224c-7.9 0-15.4 1.3-22.5 3.6C20.7 237 0 264.1 0 296V432c0 26.5 21.5 48 48 48H96c20.9 0 38.7-13.4 45.3-32H370.7c6.6 18.6 24.4 32 45.3 32h48c26.5 0 48-21.5 48-48V296c0-31.9-20.7-59-49.5-68.4zM368 400H144V336h32H336h32v64zM96 400v32H48l0-136c0-13.3 10.7-24 24-24s24 10.7 24 24v40 64zM464 296V432H416V296c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faCouchSmall = faLoveseat;\nvar faTowerBroadcast = {\n prefix: 'far',\n iconName: 'tower-broadcast',\n icon: [576, 512, [\"broadcast-tower\"], \"f519\", \"M54.8 1.9C42.6-3.4 28.5 2.3 23.3 14.4C8.3 49.3 0 87.7 0 128s8.3 78.7 23.3 113.6c5.2 12.2 19.3 17.8 31.5 12.6s17.8-19.3 12.6-31.5C54.9 193.6 48 161.6 48 128s6.9-65.6 19.4-94.6C72.6 21.2 67 7.1 54.8 1.9zm466.4 0C509 7.1 503.4 21.2 508.6 33.4c12.5 29 19.4 61 19.4 94.6s-6.9 65.6-19.4 94.6c-5.2 12.2 .4 26.3 12.6 31.5s26.3-.4 31.5-12.6c15-34.9 23.3-73.3 23.3-113.6s-8.3-78.7-23.3-113.6C547.5 2.3 533.4-3.4 521.2 1.9zM312 187.3c23.5-9.5 40-32.5 40-59.3c0-35.3-28.7-64-64-64s-64 28.7-64 64c0 26.9 16.5 49.9 40 59.3V488c0 13.3 10.7 24 24 24s24-10.7 24-24V187.3zM166.5 87.6c4.2-12.6-2.6-26.2-15.2-30.3S125.1 59.8 121 72.4c-5.8 17.5-9 36.2-9 55.6s3.1 38.1 9 55.6c4.2 12.6 17.8 19.4 30.3 15.2s19.4-17.8 15.2-30.3c-4.2-12.7-6.5-26.3-6.5-40.4s2.3-27.7 6.5-40.4zM455 72.4c-4.2-12.6-17.8-19.4-30.3-15.2s-19.4 17.8-15.2 30.3c4.2 12.7 6.5 26.3 6.5 40.4s-2.3 27.7-6.5 40.4c-4.2 12.6 2.6 26.2 15.2 30.3s26.2-2.6 30.3-15.2c5.8-17.5 9-36.2 9-55.6s-3.1-38.1-9-55.6z\"]\n};\nvar faBroadcastTower = faTowerBroadcast;\nvar faTruckPickup = {\n prefix: 'far',\n iconName: 'truck-pickup',\n icon: [640, 512, [128763], \"f63c\", \"M272 88v88H446.9L374.7 83.1c-1.5-1.9-3.8-3.1-6.3-3.1H280c-4.4 0-8 3.6-8 8zM412.6 53.6L507.7 176H552c30.9 0 56 25.1 56 56v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8H560h-1.3c.9 5.2 1.3 10.5 1.3 16c0 53-43 96-96 96s-96-43-96-96c0-5.5 .5-10.8 1.3-16H270.7c.9 5.2 1.3 10.5 1.3 16c0 53-43 96-96 96s-96-43-96-96c0-5.5 .5-10.8 1.3-16H80 32 24c-13.3 0-24-10.7-24-24s10.7-24 24-24h8V232c0-30.9 25.1-56 56-56H224V88c0-30.9 25.1-56 56-56h88.3c17.3 0 33.6 8 44.2 21.6zM96 320h8.4c17.6-19.6 43.1-32 71.6-32s54 12.4 71.6 32H256 384h8.4c17.6-19.6 43.1-32 71.6-32s54 12.4 71.6 32H544h16V232c0-4.4-3.6-8-8-8H496.2h-.5H248 88c-4.4 0-8 3.6-8 8v88H96zm128 64a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm240 48a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faBlockQuote = {\n prefix: 'far',\n iconName: 'block-quote',\n icon: [448, 512, [], \"e0b5\", \"M24 72C10.7 72 0 82.7 0 96s10.7 24 24 24H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zM152 232c-13.3 0-24 10.7-24 24s10.7 24 24 24H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H152zM128 416c0 13.3 10.7 24 24 24H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H152c-13.3 0-24 10.7-24 24zM0 424c0 13.3 10.7 24 24 24s24-10.7 24-24l0-176c0-13.3-10.7-24-24-24s-24 10.7-24 24V424z\"]\n};\nvar faUpLong = {\n prefix: 'far',\n iconName: 'up-long',\n icon: [320, 512, [\"long-arrow-alt-up\"], \"f30c\", \"M143.6 6.5c9.2-8.7 23.7-8.7 32.9 0l129 121.4c9.3 8.8 14.6 21 14.6 33.7c0 25.6-20.7 46.3-46.3 46.3H240V456c0 30.9-25.1 56-56 56H136c-30.9 0-56-25.1-56-56V208H46.3C20.7 208 0 187.3 0 161.7c0-12.8 5.3-25 14.6-33.7L143.6 6.5zM50.5 160H104c13.3 0 24 10.7 24 24V456c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V184c0-13.3 10.7-24 24-24h53.5L160 57 50.5 160z\"]\n};\nvar faLongArrowAltUp = faUpLong;\nvar faStop = {\n prefix: 'far',\n iconName: 'stop',\n icon: [384, 512, [9209], \"f04d\", \"M320 112c8.8 0 16 7.2 16 16V384c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V128c0-8.8 7.2-16 16-16H320zM64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64z\"]\n};\nvar faCodeMerge = {\n prefix: 'far',\n iconName: 'code-merge',\n icon: [448, 512, [], \"f387\", \"M80 48a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm24.7 108.1C136.8 145.7 160 115.6 160 80c0-44.2-35.8-80-80-80S0 35.8 0 80c0 35.8 23.5 66.1 56 76.3V355.7C23.5 365.9 0 396.2 0 432c0 44.2 35.8 80 80 80s80-35.8 80-80c0-35.8-23.5-66.1-56-76.3V254.9c27.2 25.5 63.8 41.1 104 41.1h83.7c10.2 32.5 40.5 56 76.3 56c44.2 0 80-35.8 80-80s-35.8-80-80-80c-35.8 0-66.1 23.5-76.3 56H208c-53.3 0-97.3-40.2-103.3-91.9zM80 400a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM336 272a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faMoneyCheckDollarPen = {\n prefix: 'far',\n iconName: 'money-check-dollar-pen',\n icon: [640, 512, [\"money-check-edit-alt\"], \"f873\", \"M512 112H64c-8.8 0-16 7.2-16 16V384c0 8.8 7.2 16 16 16H348.3c-5.6 7.1-9.6 15.3-11.8 24.1l-6 23.9H64c-35.3 0-64-28.7-64-64V128C0 92.7 28.7 64 64 64H512c35.3 0 64 28.7 64 64v64.6c-15.2 2-29.8 8.8-41.4 20.5l-6.6 6.6V128c0-8.8-7.2-16-16-16zM256 296c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H280c-13.3 0-24-10.7-24-24zm24-120H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H280c-13.3 0-24-10.7-24-24s10.7-24 24-24zM160 132c11 0 20 9 20 20v13.9c7.5 1.2 14.6 2.9 21.1 4.7c10.7 2.8 17 13.8 14.2 24.5s-13.8 17-24.5 14.2c-11-2.9-21.6-5-31.2-5.2c-7.9-.1-16 1.8-21.5 5c-4.8 2.8-6.2 5.6-6.2 9.3c0 1.8 .1 3.5 5.3 6.7c6.3 3.8 15.5 6.7 28.3 10.5l.7 .2c11.2 3.4 25.6 7.7 37.1 15c12.9 8.1 24.3 21.3 24.6 41.6c.3 20.9-10.5 36.1-24.8 45c-7.2 4.5-15.2 7.3-23.2 9V360c0 11-9 20-20 20s-20-9-20-20V345.4c-10.3-2.2-20-5.5-28.2-8.4l0 0 0 0c-2.1-.7-4.1-1.4-6.1-2.1c-10.5-3.5-16.1-14.8-12.6-25.3s14.8-16.1 25.3-12.6c2.5 .8 4.9 1.7 7.2 2.4c13.6 4.6 24 8.1 35.1 8.5c8.6 .3 16.5-1.6 21.4-4.7c4.1-2.5 6-5.5 5.9-10.5c0-2.9-.8-5-5.9-8.2c-6.3-4-15.4-6.9-28-10.7l-1.7-.5c-10.9-3.3-24.6-7.4-35.6-14c-12.7-7.7-24.6-20.5-24.7-40.7c-.1-21.1 11.8-35.7 25.8-43.9c6.9-4.1 14.5-6.8 22.2-8.5V152c0-11 9-20 20-20zM613.8 235.7l14.4 14.4c15.6 15.6 15.6 40.9 0 56.6l-29.4 29.4-71-71 29.4-29.4c15.6-15.6 40.9-15.6 56.6 0zM375.9 417L505.1 287.8l71 71L446.9 487.9c-4.1 4.1-9.2 7-14.9 8.4l-60.1 15c-5.5 1.4-11.2-.2-15.2-4.2s-5.6-9.7-4.2-15.2l15-60.1c1.4-5.6 4.3-10.8 8.4-14.9z\"]\n};\nvar faMoneyCheckEditAlt = faMoneyCheckDollarPen;\nvar faUpFromLine = {\n prefix: 'far',\n iconName: 'up-from-line',\n icon: [384, 512, [\"arrow-alt-from-bottom\"], \"f346\", \"M82.2 192L192 82 301.8 192 248 192c-13.3 0-24 10.7-24 24l0 120-64 0 0-120c0-13.3-10.7-24-24-24l-53.8 0zM192 32c-11.5 0-22.5 4.6-30.6 12.7L45.6 160.8C36.9 169.5 32 181.3 32 193.6C32 219.2 52.8 240 78.4 240l33.6 0 0 96c0 26.5 21.5 48 48 48l64 0c26.5 0 48-21.5 48-48l0-96 33.6 0c25.6 0 46.4-20.8 46.4-46.4c0-12.3-4.9-24.1-13.6-32.8L222.6 44.7C214.5 36.6 203.5 32 192 32zM24 432c-13.3 0-24 10.7-24 24s10.7 24 24 24l336 0c13.3 0 24-10.7 24-24s-10.7-24-24-24L24 432z\"]\n};\nvar faArrowAltFromBottom = faUpFromLine;\nvar faUpload = {\n prefix: 'far',\n iconName: 'upload',\n icon: [512, 512, [], \"f093\", \"M280 360c0 13.3-10.7 24-24 24s-24-10.7-24-24V81.9l-95 95c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L239 7c9.4-9.4 24.6-9.4 33.9 0L409 143c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-95-95V360zm32-8V304H448c35.3 0 64 28.7 64 64v80c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V368c0-35.3 28.7-64 64-64H200v48H64c-8.8 0-16 7.2-16 16v80c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16H312zm72 56a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faHurricane = {\n prefix: 'far',\n iconName: 'hurricane',\n icon: [384, 512, [], \"f751\", \"M48 208C48 133.5 99 70.8 168 53v52.4c0 21.2 16 37.1 34.6 40.2C278.3 158.3 336 224.1 336 303.4c0 74.5-51 137.2-120 155V406c0-21.2-16-37.1-34.6-40.2C105.7 353.1 48 287.3 48 208zM216 42.1c0-22.7-20.1-43.4-45.6-38.7C73.5 21.1 0 105.9 0 208C0 309.2 72.3 393.5 168 412.2v57.1c0 22.7 20.1 43.4 45.6 38.7C310.5 490.3 384 405.5 384 303.4c0-101.2-72.3-185.5-168-204.2V42.1zM176 256a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm80 0a64 64 0 1 0 -128 0 64 64 0 1 0 128 0z\"]\n};\nvar faGridRound2Plus = {\n prefix: 'far',\n iconName: 'grid-round-2-plus',\n icon: [512, 512, [], \"e5dc\", \"M80 128a48 48 0 1 0 96 0 48 48 0 1 0 -96 0zm48 96a96 96 0 1 1 0-192 96 96 0 1 1 0 192zM80 384a48 48 0 1 0 96 0 48 48 0 1 0 -96 0zm48 96a96 96 0 1 1 0-192 96 96 0 1 1 0 192zM384 176a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm96-48a96 96 0 1 1 -192 0 96 96 0 1 1 192 0zM384 272c13.3 0 24 10.7 24 24v64h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H408v64c0 13.3-10.7 24-24 24s-24-10.7-24-24V408H296c-13.3 0-24-10.7-24-24s10.7-24 24-24h64V296c0-13.3 10.7-24 24-24z\"]\n};\nvar faPeoplePants = {\n prefix: 'far',\n iconName: 'people-pants',\n icon: [640, 512, [], \"e219\", \"M160 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-13.7 80h27.5c.8 0 1.5 0 2.3 .1V304H144V176.1c.7 0 1.5-.1 2.3-.1zM144 488V352h32V488c0 13.3 10.7 24 24 24s24-10.7 24-24V223.6l43.1 76.2c6.5 11.5 21.2 15.6 32.7 9.1s15.6-21.2 9.1-32.7L250.3 172.7c-15.6-27.6-44.9-44.7-76.6-44.7H146.3c-31.7 0-61 17.1-76.6 44.7L11.1 276.2c-6.5 11.5-2.5 26.2 9.1 32.7s26.2 2.5 32.7-9.1L96 223.6V488c0 13.3 10.7 24 24 24s24-10.7 24-24zM480 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-13.7 80h27.5c.8 0 1.5 0 2.3 .1V304H464V176.1c.7 0 1.5-.1 2.3-.1zM464 488V352h32V488c0 13.3 10.7 24 24 24s24-10.7 24-24V223.6l43.1 76.2c6.5 11.5 21.2 15.6 32.7 9.1s15.6-21.2 9.1-32.7L570.3 172.7c-15.6-27.6-44.9-44.7-76.6-44.7H466.3c-31.7 0-61 17.1-76.6 44.7L331.1 276.2c-6.5 11.5-2.5 26.2 9.1 32.7s26.2 2.5 32.7-9.1L416 223.6V488c0 13.3 10.7 24 24 24s24-10.7 24-24z\"]\n};\nvar faMound = {\n prefix: 'far',\n iconName: 'mound',\n icon: [576, 512, [], \"e52d\", \"M485 368H91l94.8-164.9c21-36.6 60-59.1 102.2-59.1s81.2 22.6 102.2 59.1L485 368zM288 96c-59.4 0-114.2 31.7-143.9 83.2L35.6 368c-12.3 21.3 3.1 48 27.7 48H512.7c24.6 0 40-26.6 27.7-48L431.9 179.2C402.2 127.7 347.4 96 288 96z\"]\n};\nvar faWindsock = {\n prefix: 'far',\n iconName: 'windsock',\n icon: [512, 512, [], \"f777\", \"M24 0C37.3 0 48 10.7 48 24V96h80V87.4c0-20.3 18.7-35.5 38.5-31.3l320 66.7c14.8 3.1 25.5 16.2 25.5 31.3V262c0 15.2-10.6 28.2-25.5 31.3L166.5 360c-19.9 4.1-38.5-11-38.5-31.3V320H48V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V296 120 24C0 10.7 10.7 0 24 0zM48 144V272h80V144H48zM416 259l48-10V167l-48-10V259zm-48 10V147l-80-16.7V285.6L368 269zM240 295.6V120.4L176 107V309l64-13.3z\"]\n};\nvar faCircleHalf = {\n prefix: 'far',\n iconName: 'circle-half',\n icon: [512, 512, [], \"e110\", \"M208 53.6C116.3 75.2 48 157.7 48 256s68.3 180.8 160 202.4V53.6zM224.1 2C241.6-.2 256 14.3 256 32V480c0 17.7-14.4 32.2-31.9 30C97.8 494.3 0 386.6 0 256S97.8 17.7 224.1 2z\"]\n};\nvar faBrakeWarning = {\n prefix: 'far',\n iconName: 'brake-warning',\n icon: [640, 512, [], \"e0c7\", \"M320 80a176 176 0 1 1 0 352 176 176 0 1 1 0-352zm0 400a224 224 0 1 0 0-448 224 224 0 1 0 0 448zM83.9 75.8c-11.1-7.2-26-4-33.2 7.2C18.6 132.9 0 192.3 0 256s18.6 123.1 50.7 173c7.2 11.1 22 14.4 33.2 7.2s14.4-22 7.2-33.2C63.8 360.6 48 310.2 48 256s15.8-104.6 43.1-147c7.2-11.1 4-26-7.2-33.2zm472.2 0c-11.1 7.2-14.4 22-7.2 33.2c27.3 42.4 43.1 92.8 43.1 147s-15.8 104.6-43.1 147c-7.2 11.1-4 26 7.2 33.2s26 4 33.2-7.2C621.4 379.1 640 319.7 640 256s-18.6-123.1-50.7-173c-7.2-11.1-22-14.4-33.2-7.2zM320 128c-13.3 0-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faToiletPortable = {\n prefix: 'far',\n iconName: 'toilet-portable',\n icon: [320, 512, [], \"e583\", \"M48 72V96H272V72c0-13.3-10.7-24-24-24H72C58.7 48 48 58.7 48 72zm0 72V432H272V320H248c-13.3 0-24-10.7-24-24V248c0-13.3 10.7-24 24-24h24V144H48zm0 336v8c0 13.3-10.7 24-24 24s-24-10.7-24-24V72C0 32.2 32.2 0 72 0H248c39.8 0 72 32.2 72 72V488c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8H48z\"]\n};\nvar faCompactDisc = {\n prefix: 'far',\n iconName: 'compact-disc',\n icon: [512, 512, [128191, 128192, 128440], \"f51f\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-160a96 96 0 1 0 0-192 96 96 0 1 0 0 192zm0-120a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM241.8 128.8c8.8-1 15.1-8.9 14.1-17.7s-8.9-15.1-17.7-14.1C164.1 105.2 105.2 164.1 97 238.2c-1 8.8 5.4 16.7 14.1 17.7s16.7-5.4 17.7-14.1c6.6-59.3 53.7-106.4 113-113z\"]\n};\nvar faFileArrowDown = {\n prefix: 'far',\n iconName: 'file-arrow-down',\n icon: [384, 512, [\"file-download\"], \"f56d\", \"M48 448V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zM216 232c0-13.3-10.7-24-24-24s-24 10.7-24 24V334.1l-31-31c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l72 72c9.4 9.4 24.6 9.4 33.9 0l72-72c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-31 31V232z\"]\n};\nvar faFileDownload = faFileArrowDown;\nvar faSaxophoneFire = {\n prefix: 'far',\n iconName: 'saxophone-fire',\n icon: [640, 512, [\"sax-hot\"], \"f8db\", \"M256 153.6c0 7.6-.7 15.1-2 22.4H176.4c-7.7-23.3-29.5-44.6-41-54.6c-4.3-3.7-10.5-3.7-14.8 0c-11.6 10-33.4 31.3-41 54.6H2c-1.3-7.3-2-14.8-2-22.4C0 92.3 50 37.9 85.8 10.1c4-3.1 8.7-4.6 13.4-4.7c6.4-.1 12.8 2.5 17.6 7.4l36.8 36.8 9.1-9.1c9.4-9.4 24.4-10.1 33.8-.8C243.6 86.4 256 128.1 256 153.6zM452.3 89.8C468.8 73.3 491.2 64 514.5 64h35c23.3 0 45.7 9.3 62.2 25.8l14.6 14.6c8.7 8.7 13.7 20.6 13.7 33c0 25.8-20.9 46.6-46.6 46.6H542.8c-2.3 0-4.6 1-6.1 2.8l-224.5 263c-33.7 39.5-83 62.2-134.9 62.2h-5.5C76.9 512 0 435.1 0 340.2c0-9.5 .8-18.9 2.3-28.2l9.8-59.1C4.9 248.8 0 241 0 232c0-13.3 10.7-24 24-24H40 232h16c13.3 0 24 10.7 24 24c0 13-10.3 23.6-23.2 24l-21.2 58.3L318 224l-7-7c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l7 7L366 176l-7-7c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l7 7L414 128l-7-7c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l7 7 4.3-4.3zM255.6 354.2c-8.7 8.7-20.6 13.6-33 13.6h-2.4c-24.4 0-44.3-19.8-44.3-44.3c0-5.2 .9-10.3 2.7-15.1L197.7 256H60.3L49.7 319.9c-1.1 6.7-1.7 13.5-1.7 20.3C48 408.6 103.4 464 171.8 464h5.5c37.8 0 73.8-16.6 98.3-45.4l224.5-263c10.6-12.5 26.2-19.6 42.6-19.6h47.3l-12.3-12.3c-7.5-7.5-17.7-11.7-28.3-11.7h-35c-10.6 0-20.8 4.2-28.3 11.7l-20.6 20.6c-.2 .2-.4 .5-.6 .7s-.5 .4-.7 .7L417.9 192c-.3 .3-.6 .7-1 1s-.7 .7-1 1l-45.8 45.8c-.4 .4-.8 .9-1.2 1.3s-.8 .8-1.3 1.2l-112.1 112zM120 288a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faSaxHot = faSaxophoneFire;\nvar faCameraWebSlash = {\n prefix: 'far',\n iconName: 'camera-web-slash',\n icon: [640, 512, [\"webcam-slash\"], \"f833\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L485.3 355.1C516.9 317.5 536 269 536 216C536 96.7 439.3 0 320 0C248.3 0 184.8 34.9 145.5 88.7L38.8 5.1zM183.3 118.3C213.8 75.8 263.6 48 320 48c92.8 0 168 75.2 168 168c0 41.8-15.3 80-40.5 109.4l-37.8-29.7C428.5 274.6 440 246.6 440 216c0-66.3-53.7-120-120-120c-41 0-77.2 20.6-98.9 52l-37.8-29.7zM371.7 266.1L259 177.7c12.7-20.3 35.3-33.7 61-33.7c39.8 0 72 32.2 72 72c0 19.5-7.7 37.1-20.3 50.1zM552 512H528l-60.9-48H200.7l37.1-48.2C263.1 426.2 290.9 432 320 432c30 0 58.6-6.1 84.6-17.2l-45-35.5c-12.7 3.1-25.9 4.7-39.6 4.7c-92.8 0-168-75.2-168-168l0-.2-45.1-35.5C105 191.9 104 203.8 104 216c0 72.8 36 137.2 91.3 176.4l-62.3 81c-5.6 7.2-6.5 17-2.5 25.2s12.4 13.4 21.5 13.4H552v0z\"]\n};\nvar faWebcamSlash = faCameraWebSlash;\nvar faFolderMedical = {\n prefix: 'far',\n iconName: 'folder-medical',\n icon: [512, 512, [], \"e18c\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H289.9L247 53.1C233.5 39.6 215.2 32 196.1 32H64zM48 96c0-8.8 7.2-16 16-16H196.1c6.4 0 12.5 2.5 17 7l45.3 45.3c7.5 7.5 17.7 11.7 28.3 11.7H448c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96zM224 208v48H176c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320h48c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H288V208c0-8.8-7.2-16-16-16H240c-8.8 0-16 7.2-16 16z\"]\n};\nvar faFolderGear = {\n prefix: 'far',\n iconName: 'folder-gear',\n icon: [512, 512, [\"folder-cog\"], \"e187\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H289.9L247 53.1C233.5 39.6 215.2 32 196.1 32H64zM48 96c0-8.8 7.2-16 16-16H196.1c6.4 0 12.5 2.5 17 7l45.3 45.3c7.5 7.5 17.7 11.7 28.3 11.7H448c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96zM353.2 264.2c6.3-3.6 9.5-11.2 6.8-17.9c-1.7-4.3-3.7-8.4-5.9-12.4l-2-3.5c-2.4-4-5.1-7.9-7.9-11.5c-4.5-5.7-12.6-6.8-18.9-3.1l-1.2 .7c-8 4.6-17.9 3.5-25.9-1.2s-14.1-12.7-14.1-21.9v-1.4c0-7.3-4.9-13.8-12.2-14.8c-5.2-.7-10.5-1.1-15.8-1.1s-10.7 .4-15.8 1.1c-7.2 1-12.2 7.5-12.2 14.8v1.4c0 9.3-6.1 17.3-14.1 21.9s-17.9 5.8-25.9 1.2l-1.2-.7c-6.3-3.6-14.4-2.6-18.9 3.1c-2.9 3.7-5.5 7.5-8 11.5l-2 3.4c-2.2 4-4.2 8.2-5.9 12.5c-2.7 6.8 .4 14.3 6.8 17.9l1.2 .7c8 4.6 12 13.8 12 23.1s-4 18.4-12 23.1l-1.2 .7c-6.3 3.6-9.5 11.2-6.8 17.9c1.7 4.3 3.7 8.4 5.9 12.4l2.1 3.6c2.4 4 5 7.8 7.9 11.5c4.5 5.7 12.6 6.8 18.9 3.1l1.2-.7c8-4.6 17.9-3.5 25.9 1.2s14.1 12.7 14.1 21.9v1.4c0 7.3 4.9 13.8 12.2 14.8c5.2 .7 10.5 1.1 15.8 1.1s10.7-.4 15.8-1.1c7.2-1 12.2-7.5 12.2-14.8v-1.4c0-9.3 6.1-17.3 14.1-21.9s17.9-5.8 25.9-1.2l1.2 .7c6.3 3.6 14.4 2.6 18.9-3.1c2.9-3.6 5.5-7.5 7.9-11.4l2.1-3.6c2.2-4 4.2-8.1 5.9-12.4c2.7-6.8-.4-14.3-6.8-17.9l-1.2-.7c-8-4.6-12-13.8-12-23.1s4-18.5 12-23.1l1.2-.7zM221 288a35 35 0 1 1 70 0 35 35 0 1 1 -70 0z\"]\n};\nvar faFolderCog = faFolderGear;\nvar faHandWave = {\n prefix: 'far',\n iconName: 'hand-wave',\n icon: [512, 512, [], \"e1a7\", \"M336.2 82.3L335 73.8c-3-21.1-19.6-37.7-40.7-40.7l-8.5-1.2c-8.7-1.2-14.8-9.4-13.6-18.1S281.5-1.1 290.3 .2l8.5 1.2c35.2 5 62.9 32.7 67.9 67.9l1.2 8.5c1.2 8.7-4.8 16.9-13.6 18.1s-16.9-4.8-18.1-13.6zM80 68.7c17.9-17.9 43.8-23 66.2-15.2c3.1-6.8 7.4-13.1 13-18.7c25-25 65.5-25 90.5 0L368 153v-5.2c0-35.3 28.7-64 64-64s64 28.7 64 64V305.6c0 1.6 0 3.1-.1 4.7c0 .6 .1 1.1 .1 1.7c0 109.9-88.7 199.2-198.5 200l-.5 0h-1l0 0-6.6 0c-53 0-103.9-21.1-141.4-58.6L34.7 340.2c-25-25-25-65.5 0-90.5c3.9-3.9 8.2-7.2 12.7-9.9l-1.4-1.4c-25-25-25-65.5 0-90.5c5.6-5.6 11.9-9.9 18.7-13C57 112.5 62.1 86.6 80 68.7zm79.3 56.7l-.1-.1-22.6-22.6c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l22.5 22.5 .1 .1L232.7 244c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-96.1-96.1-.1-.1c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L119.5 244l.1 .1 56.6 56.6c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L91.4 283.7l-.1-.1c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L181.9 419.5C210.4 448 249.1 464 289.4 464l6.6 0 0 0h.6l.2 0c82.8-.5 149.9-67.1 151.1-149.8c-.1-1-.1-2.1-.1-3.1c.1-1.8 .1-3.6 .1-5.5V147.9c0-8.8-7.2-16-16-16s-16 7.2-16 16V211c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2L215.8 68.7c-6.2-6.2-16.4-6.2-22.6 0c-6.2 6.2-6.2 16.3-.1 22.6l96.2 96.2c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-96.1-96.1zM13.7 368.2c8.7-1.3 16.9 4.8 18.1 13.6l1.2 8.5c3 21.1 19.6 37.7 40.7 40.7l8.5 1.2c8.7 1.2 14.8 9.4 13.6 18.1s-9.4 14.8-18.1 13.6l-8.5-1.2c-35.2-5-62.9-32.7-67.9-67.9L.2 386.3c-1.2-8.7 4.8-16.9 13.6-18.1z\"]\n};\nvar faArrowUpArrowDown = {\n prefix: 'far',\n iconName: 'arrow-up-arrow-down',\n icon: [576, 512, [\"sort-up-down\"], \"e099\", \"M529 377c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-55 55V56c0-13.3-10.7-24-24-24s-24 10.7-24 24V398.1l-55-55c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l96 96c9.4 9.4 24.6 9.4 33.9 0l96-96zM177 39c-9.4-9.4-24.6-9.4-33.9 0L47 135c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l55-55V456c0 13.3 10.7 24 24 24s24-10.7 24-24V113.9l55 55c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L177 39z\"]\n};\nvar faSortUpDown = faArrowUpArrowDown;\nvar faCaravan = {\n prefix: 'far',\n iconName: 'caravan',\n icon: [640, 512, [], \"f8ff\", \"M416 80c61.9 0 112 50.1 112 112V368H480V168c0-22.1-17.9-40-40-40H360c-22.1 0-40 17.9-40 40V368H275.2c-16.6-28.7-47.6-48-83.2-48s-66.6 19.3-83.2 48H80c-17.7 0-32-14.3-32-32V112c0-17.7 14.3-32 32-32H416zM80 416H96c0 53 43 96 96 96s96-43 96-96h64 96 80 48l40 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-40 0V192c0-88.4-71.6-160-160-160H80C35.8 32 0 67.8 0 112V336c0 44.2 35.8 80 80 80zM432 224H416c-13.3 0-24 10.7-24 24s10.7 24 24 24h16v96H368V176h64v48zM128 128c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H256c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32H128zm64 240a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faShieldCat = {\n prefix: 'far',\n iconName: 'shield-cat',\n icon: [512, 512, [], \"e572\", \"M73 127L256 49.4 439 127c5.9 2.5 9.1 7.8 9 12.8c-.4 91.4-38.4 249.3-186.3 320.1c-3.6 1.7-7.8 1.7-11.3 0C102.4 389 64.5 231.2 64 139.7c0-5 3.1-10.2 9-12.8zM457.7 82.8L269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.8 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2zM160 154.4V272c0 53 43 96 96 96s96-43 96-96V154.4c0-5.8-4.7-10.4-10.4-10.4h-.2c-3.4 0-6.5 1.6-8.5 4.3l-40 53.3c-3 4-7.8 6.4-12.8 6.4H232c-5 0-9.8-2.4-12.8-6.4l-40-53.3c-2-2.7-5.2-4.3-8.5-4.3h-.2c-5.8 0-10.4 4.7-10.4 10.4zM216 256a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm64 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faMessageSlash = {\n prefix: 'far',\n iconName: 'message-slash',\n icon: [640, 512, [\"comment-alt-slash\"], \"f4a9\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-82.3-64.5C565.1 393 576 373.8 576 352V64c0-35.3-28.7-64-64-64H128C104.4 0 83.8 12.7 72.7 31.7L38.8 5.1zm73.3 57.4c.7-8.1 7.6-14.5 15.9-14.5H512c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H501.8L112.1 62.5zM406.2 416l-54.4-42.9c-2.5 1.3-4.9 2.8-7.2 4.5L272 432V416c0-26.5-21.5-48-48-48H128c-8.8 0-16-7.2-16-16V184.2L64 146.4V352c0 35.3 28.7 64 64 64h48 48v48 4 .3 6.4V496c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L266.7 496l5.1-3.8 .2-.2 101.3-76h32.8z\"]\n};\nvar faCommentAltSlash = faMessageSlash;\nvar faBolt = {\n prefix: 'far',\n iconName: 'bolt',\n icon: [448, 512, [9889, \"zap\"], \"f0e7\", \"M321.7 0c19.1 0 32.9 18.3 27.6 36.6L295.8 224h85.2c19.3 0 34.9 15.6 34.9 34.9c0 10.3-4.5 20-12.3 26.6L144.9 505.2c-5.2 4.4-11.8 6.8-18.6 6.8c-19.1 0-32.9-18.3-27.6-36.6L152.2 288H65.7C47.1 288 32 272.9 32 254.3c0-9.9 4.3-19.2 11.8-25.6L303.1 6.9C308.3 2.4 314.9 0 321.7 0zM285.6 85L104.4 240H184c7.5 0 14.6 3.5 19.2 9.5s6 13.8 3.9 21L162.3 427.5 345.5 272H264c-7.5 0-14.6-3.5-19.2-9.5s-6-13.8-3.9-21L285.6 85z\"]\n};\nvar faZap = faBolt;\nvar faTrashCanCheck = {\n prefix: 'far',\n iconName: 'trash-can-check',\n icon: [448, 512, [], \"e2a9\", \"M170.5 51.6L151.5 80h145l-19-28.4c-1.5-2.2-4-3.6-6.7-3.6H177.1c-2.7 0-5.2 1.3-6.7 3.6zm147-26.6L354.2 80H368h48 8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8V432c0 44.2-35.8 80-80 80H112c-44.2 0-80-35.8-80-80V128H24c-13.3 0-24-10.7-24-24S10.7 80 24 80h8H80 93.8l36.7-55.1C140.9 9.4 158.4 0 177.1 0h93.7c18.7 0 36.2 9.4 46.6 24.9zM80 128V432c0 17.7 14.3 32 32 32H336c17.7 0 32-14.3 32-32V128H80zM337 241L209 369c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L303 207c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\"]\n};\nvar faGlassWater = {\n prefix: 'far',\n iconName: 'glass-water',\n icon: [384, 512, [], \"e4f4\", \"M24 0C17.3 0 10.9 2.8 6.3 7.8S-.5 19.4 .1 26.1L36.3 446.2C39.5 483.4 70.7 512 108 512H276c37.4 0 68.5-28.6 71.7-65.8L383.9 26.1c.6-6.7-1.7-13.3-6.2-18.3s-11-7.8-17.7-7.8H24zM57.6 134.3L50.2 48H333.8l-7.4 86.3-25.2 14c-16.2 9-36.2 7.3-50.7-4.3c-34.2-27.4-82.8-27.4-117 0C119 155.6 99 157.3 82.8 148.3l-25.2-14zm5 57.6c32.7 16.6 72.1 12.6 100.9-10.4c16.7-13.3 40.4-13.3 57 0c28.8 23 68.3 27 100.9 10.4L299.9 442.1C298.8 454.5 288.4 464 276 464H108c-12.5 0-22.8-9.5-23.9-21.9L62.6 191.9z\"]\n};\nvar faOilWell = {\n prefix: 'far',\n iconName: 'oil-well',\n icon: [576, 512, [], \"e532\", \"M482 73.7c-4.6-17.1-22.1-27.2-39.2-22.6l58 216.4c17.1-4.6 27.2-22.1 22.6-39.2L482 73.7zm-51.6-69c42.7-11.4 86.5 13.9 98 56.6l41.4 154.5c11.4 42.7-13.9 86.5-56.6 98l-15.5 4.1c-17.1 4.6-34.6-5.6-39.2-22.6L431.3 193.6 96 280.5V464h44.1L198 294.3l55.6-14.4L229.1 352h85.9l-27.6-80.8 46.6-12.1 70 204.9H552c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H48V184c0-13.3 10.7-24 24-24s24 10.7 24 24v46.9l135.7-35.2 17.6-51.5c3.3-9.7 12.4-16.2 22.7-16.2s19.4 6.5 22.7 16.2l11 32.3 113.1-29.3L392.3 48c-4.6-17.1 5.6-34.6 22.6-39.2l15.5-4.1zM353.2 464l-21.9-64H212.7l-21.9 64H353.2z\"]\n};\nvar faPersonSimple = {\n prefix: 'far',\n iconName: 'person-simple',\n icon: [256, 512, [], \"e220\", \"M128 128A64 64 0 1 0 128 0a64 64 0 1 0 0 128zM73.7 237.3C75.1 220.8 89 208 105.6 208h44.8c16.6 0 30.5 12.8 31.9 29.3l4.1 49.3c.8 9.3-6.6 17.3-15.9 17.3H168 88 85.6c-9.4 0-16.7-8-15.9-17.3l4.1-49.3zM112 352h32V488c0 13.3 10.7 24 24 24s24-10.7 24-24V348.3c26.5-9.5 44.7-35.8 42.2-65.6l-4.1-49.3C226.7 191.9 192 160 150.4 160H105.6c-41.6 0-76.3 31.9-79.7 73.4l-4.1 49.3c-2.5 29.8 15.7 56.1 42.2 65.6V488c0 13.3 10.7 24 24 24s24-10.7 24-24V352z\"]\n};\nvar faArrowTurnLeftUp = {\n prefix: 'far',\n iconName: 'arrow-turn-left-up',\n icon: [384, 512, [], \"e634\", \"M337 135c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-87-87L216 424c0 22.1 17.9 40 40 40l104 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-104 0c-48.6 0-88-39.4-88-88l0-342.1L81 169c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L175 7c9.4-9.4 24.6-9.4 33.9 0L337 135z\"]\n};\nvar faVault = {\n prefix: 'far',\n iconName: 'vault',\n icon: [576, 512, [], \"e2c5\", \"M64 48c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H512c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H64zM0 64C0 28.7 28.7 0 64 0H512c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64v8c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8H112v8c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-8c-35.3 0-64-28.7-64-64V64zM320 240a96 96 0 1 0 -192 0 96 96 0 1 0 192 0zM80 240a144 144 0 1 1 288 0A144 144 0 1 1 80 240zm144-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm272-16c0 17.8-9.7 33.3-24 41.6V328c0 13.3-10.7 24-24 24s-24-10.7-24-24V217.6c-14.3-8.3-24-23.8-24-41.6c0-26.5 21.5-48 48-48s48 21.5 48 48z\"]\n};\nvar faMars = {\n prefix: 'far',\n iconName: 'mars',\n icon: [448, 512, [9794], \"f222\", \"M312 32c-13.3 0-24 10.7-24 24s10.7 24 24 24h54.1l-83.7 83.7C252.8 141.3 215.9 128 176 128C78.8 128 0 206.8 0 304s78.8 176 176 176s176-78.8 176-176c0-39.9-13.3-76.8-35.7-106.3L400 113.9V168c0 13.3 10.7 24 24 24s24-10.7 24-24V56c0-13.3-10.7-24-24-24H312zM48 304a128 128 0 1 1 256 0A128 128 0 1 1 48 304z\"]\n};\nvar faToilet = {\n prefix: 'far',\n iconName: 'toilet',\n icon: [448, 512, [128701], \"f7d8\", \"M0 24C0 37.3 10.7 48 24 48H56 392h32c13.3 0 24-10.7 24-24s-10.7-24-24-24H392 56 24C10.7 0 0 10.7 0 24zM81.6 182.9l-1.6 .5V80H32V207.1l-.4 .4C17.5 219.4 8 235.7 8 256c0 72.7 33.4 120.2 78.4 148.3c1.7 1.1 3.5 2.1 5.2 3.2L69.3 448.2c-3.5 6.3-5.3 13.5-5.3 20.7c0 23.8 19.3 43.1 43.1 43.1H340.9c23.8 0 43.1-19.3 43.1-43.1c0-7.2-1.8-14.4-5.3-20.7l-22.3-40.7c1.8-1 3.5-2.1 5.2-3.2c45-28.1 78.4-75.6 78.4-148.3c0-20.3-9.5-36.6-23.6-48.5l-.4-.4V80H368V183.4l-1.6-.5C328.4 172 277.7 168 224 168s-104.4 4-142.4 14.9zM373.8 326.8c-9.8 15.7-22.9 27.6-37.6 36.9C303 384.4 259.9 392 224 392s-79-7.6-112.2-28.3c-14.7-9.2-27.8-21.2-37.6-36.9c2.4 .8 4.9 1.5 7.4 2.3C119.6 340 170.3 344 224 344s104.4-4 142.4-14.9c2.5-.7 4.9-1.5 7.4-2.3zM56 256c0-3.7 1.2-7.4 6.6-12c6.1-5.1 16.5-10.4 32.3-15C126.3 220 171.6 216 224 216s97.7 4 129.1 13.1c15.8 4.5 26.2 9.8 32.2 15c5.4 4.6 6.6 8.2 6.6 12s-1.2 7.4-6.6 12c-6.1 5.1-16.5 10.4-32.2 15C321.7 292 276.4 296 224 296s-97.7-4-129.1-13.1c-15.8-4.5-26.2-9.8-32.3-15c-5.4-4.6-6.6-8.2-6.6-12zM312.3 426.8L332.6 464H115.4l20.4-37.2c30.5 9.7 61.8 13.2 88.3 13.2s57.7-3.5 88.3-13.2zM128 80c-8.8 0-16 7.2-16 16s7.2 16 16 16h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H128z\"]\n};\nvar faPlaneCircleXmark = {\n prefix: 'far',\n iconName: 'plane-circle-xmark',\n icon: [640, 512, [], \"e557\", \"M215.3 18.7C224.9 8.8 238.6 0 256 0c17.4 0 31.2 8.6 41.1 18.7c9.7 9.9 17 22.6 22.4 34.9C330.2 78.2 336 107.4 336 128v26.2l84.8 54.3c-16 7.5-30.6 17.4-43.5 29.2l-78.3-50.1c-6.9-4.4-11.1-12-11.1-20.2V128c0-13.6-4.2-36.3-12.5-55.2c-4.1-9.4-8.5-16.3-12.7-20.6c-4-4.1-6.2-4.2-6.8-4.2l0 0c-.2 0-2.2 0-6.3 4.2c-4.2 4.3-8.7 11.3-12.9 20.7c-8.4 19-12.8 41.7-12.8 55.1v39.4c0 8.2-4.2 15.8-11.1 20.2L51.7 290.8c-2.3 1.5-3.7 4-3.7 6.7v29.6l144.7-46.3c7.3-2.3 15.3-1 21.5 3.5s9.8 11.7 9.8 19.4l0 72.3c0 7.6-3.6 14.7-9.6 19.2L160 436v23.9c6.8-2.1 15.3-4.6 24.3-7.3c22.6-6.8 49.1-14.8 64.6-19.6c4.6-1.4 9.5-1.4 14.1 0c15.5 4.8 42 12.8 64.6 19.6l17.3 5.2c10.6 17.7 24.3 33.3 40.3 46.2c-6.4 5-14.5 7.9-23.2 7.9c-2.3 0-4.6-.3-6.9-1l6.9-23c-6.9 23-6.9 23-6.9 23l0 0 0 0 0 0-.2 0-.6-.2-2.4-.7-8.9-2.7c-7.5-2.2-17.8-5.4-29.2-8.8c-19.5-5.9-42-12.6-57.9-17.5c-15.9 4.9-38.4 11.6-57.9 17.5c-11.3 3.4-21.7 6.5-29.2 8.8l-8.9 2.7-2.4 .7-.6 .2-.2 0 0 0 0 0 0 0s0 0-6.9-23l6.9 23c-2.2 .7-4.5 1-6.9 1C129 512 112 495 112 474.1V432c0-12.6 5.9-24.4 16-32l48-36 0-27.4L52.2 376.2C26.4 384.4 0 365.2 0 338.1V297.5c0-19.1 9.7-36.9 25.8-47.2l12.9 20.2L25.8 250.3 176 154.2V128c0-20.7 6.1-50 16.9-74.5c5.5-12.3 12.8-24.9 22.4-34.8zm104 262.1l20.1 6.4C327 311.3 320 338.6 320 367.5c0 17.4 2.5 34.1 7.2 49.9l-29.6-22.2c-6-4.5-9.6-11.6-9.6-19.2V303.7c0-7.7 3.7-14.9 9.8-19.4s14.2-5.8 21.5-3.5zM496 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm59.3 107.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L496 345.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L473.4 368l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L496 390.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L518.6 368l36.7-36.7z\"]\n};\nvar faYenSign = {\n prefix: 'far',\n iconName: 'yen-sign',\n icon: [320, 512, [165, \"cny\", \"jpy\", \"rmb\", \"yen\"], \"f157\", \"M43.8 42.5c-7.5-11-22.4-13.8-33.3-6.4S-3.3 58.5 4.2 69.5L109.2 224H40c-13.3 0-24 10.7-24 24s10.7 24 24 24h96v48H40c-13.3 0-24 10.7-24 24s10.7 24 24 24h96v88c0 13.3 10.7 24 24 24s24-10.7 24-24V368h96c13.3 0 24-10.7 24-24s-10.7-24-24-24H184V272h96c13.3 0 24-10.7 24-24s-10.7-24-24-24H210.8L315.8 69.5c7.5-11 4.6-25.9-6.4-33.3s-25.9-4.6-33.3 6.4L160 213.3 43.8 42.5z\"]\n};\nvar faCny = faYenSign;\nvar faJpy = faYenSign;\nvar faRmb = faYenSign;\nvar faYen = faYenSign;\nvar faGearCode = {\n prefix: 'far',\n iconName: 'gear-code',\n icon: [512, 512, [], \"e5e8\", \"M256 0c17 0 33.6 1.7 49.8 4.8c7.9 1.5 21.8 6.1 29.4 20.1c2 3.7 3.6 7.6 4.6 11.8l9.3 38.5C350.5 81 360.3 86.7 366 85l38-11.2c4-1.2 8.1-1.8 12.2-1.9c16.1-.5 27 9.4 32.3 15.4c22.1 25.1 39.1 54.6 49.9 86.3c2.6 7.6 5.6 21.8-2.7 35.4c-2.2 3.6-4.9 7-8 10L459 246.3c-4.2 4-4.2 15.5 0 19.5l28.7 27.3c3.1 3 5.8 6.4 8 10c8.2 13.6 5.2 27.8 2.7 35.4c-10.8 31.7-27.8 61.1-49.9 86.3c-5.3 6-16.3 15.9-32.3 15.4c-4.1-.1-8.2-.8-12.2-1.9L366 427c-5.7-1.7-15.5 4-16.9 9.8l-9.3 38.5c-1 4.2-2.6 8.2-4.6 11.8c-7.7 14-21.6 18.5-29.4 20.1C289.6 510.3 273 512 256 512s-33.6-1.7-49.8-4.8c-7.9-1.5-21.8-6.1-29.4-20.1c-2-3.7-3.6-7.6-4.6-11.8l-9.3-38.5c-1.4-5.8-11.2-11.5-16.9-9.8l-38 11.2c-4 1.2-8.1 1.8-12.2 1.9c-16.1 .5-27-9.4-32.3-15.4c-22-25.1-39.1-54.6-49.9-86.3c-2.6-7.6-5.6-21.8 2.7-35.4c2.2-3.6 4.9-7 8-10L53 265.7c4.2-4 4.2-15.5 0-19.5L24.2 218.9c-3.1-3-5.8-6.4-8-10C8 195.3 11 181.1 13.6 173.6c10.8-31.7 27.8-61.1 49.9-86.3c5.3-6 16.3-15.9 32.3-15.4c4.1 .1 8.2 .8 12.2 1.9L146 85c5.7 1.7 15.5-4 16.9-9.8l9.3-38.5c1-4.2 2.6-8.2 4.6-11.8c7.7-14 21.6-18.5 29.4-20.1C222.4 1.7 239 0 256 0zM218.1 51.4l-8.5 35.1c-7.8 32.3-45.3 53.9-77.2 44.6L97.9 120.9c-16.5 19.3-29.5 41.7-38 65.7l26.2 24.9c24 22.8 24 66.2 0 89L59.9 325.4c8.5 24 21.5 46.4 38 65.7l34.6-10.2c31.8-9.4 69.4 12.3 77.2 44.6l8.5 35.1c24.6 4.5 51.3 4.5 75.9 0l8.5-35.1c7.8-32.3 45.3-53.9 77.2-44.6l34.6 10.2c16.5-19.3 29.5-41.7 38-65.7l-26.2-24.9c-24-22.8-24-66.2 0-89l26.2-24.9c-8.5-24-21.5-46.4-38-65.7l-34.6 10.2c-31.8 9.4-69.4-12.3-77.2-44.6l-8.5-35.1c-24.6-4.5-51.3-4.5-75.9 0zm73.7 111.8l-32 192c-1.8 10.9-12.1 18.3-23 16.4s-18.3-12.1-16.4-23l32-192c1.8-10.9 12.1-18.3 23-16.4s18.3 12.1 16.4 23zm-93.6 66.9L172.3 256l25.9 25.9c7.8 7.8 7.8 20.5 0 28.3s-20.5 7.8-28.3 0l-40-40c-7.8-7.8-7.8-20.5 0-28.3l40-40c7.8-7.8 20.5-7.8 28.3 0s7.8 20.5 0 28.3zm144-28.3l40 40c7.8 7.8 7.8 20.5 0 28.3l-40 40c-7.8 7.8-20.5 7.8-28.3 0s-7.8-20.5 0-28.3L339.7 256l-25.9-25.9c-7.8-7.8-7.8-20.5 0-28.3s20.5-7.8 28.3 0z\"]\n};\nvar faNotes = {\n prefix: 'far',\n iconName: 'notes',\n icon: [512, 512, [], \"e202\", \"M144 96c0-8.8 7.2-16 16-16H416c8.8 0 16 7.2 16 16V288H384c-17.7 0-32 14.3-32 32v48H160c-8.8 0-16-7.2-16-16V96zM96 96V352c0 35.3 28.7 64 64 64H357.5c17 0 33.3-6.7 45.3-18.7l58.5-58.5c12-12 18.7-28.3 18.7-45.3V96c0-35.3-28.7-64-64-64H160c-35.3 0-64 28.7-64 64zM320 488c0-13.3-10.7-24-24-24H136c-48.6 0-88-39.4-88-88l0-224c0-13.3-10.7-24-24-24s-24 10.7-24 24V376c0 75.1 60.9 136 136 136H296c13.3 0 24-10.7 24-24z\"]\n};\nvar faRubleSign = {\n prefix: 'far',\n iconName: 'ruble-sign',\n icon: [384, 512, [8381, \"rouble\", \"rub\", \"ruble\"], \"f158\", \"M111.3 32C85.2 32 64 53.2 64 79.3V272H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H64v48H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H64v40c0 13.3 10.7 24 24 24s24-10.7 24-24V416H296c13.3 0 24-10.7 24-24s-10.7-24-24-24H112V320H240c79.5 0 144-64.5 144-144s-64.5-144-144-144H111.3zM240 272H112V80H240c53 0 96 43 96 96s-43 96-96 96z\"]\n};\nvar faRouble = faRubleSign;\nvar faRub = faRubleSign;\nvar faRuble = faRubleSign;\nvar faTrashUndo = {\n prefix: 'far',\n iconName: 'trash-undo',\n icon: [448, 512, [\"trash-arrow-turn-left\"], \"f895\", \"M177.1 48h93.7c2.7 0 5.2 1.3 6.7 3.6l19 28.4h-145l19-28.4c1.5-2.2 4-3.6 6.7-3.6zM354.2 80L317.5 24.9C307.1 9.4 289.6 0 270.9 0H177.1c-18.7 0-36.2 9.4-46.6 24.9L93.8 80H80.1 32 24C10.7 80 0 90.7 0 104s10.7 24 24 24H35.6L59.6 452.7c2.5 33.4 30.3 59.3 63.8 59.3H324.6c33.5 0 61.3-25.9 63.8-59.3L412.4 128H424c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8H367.9 354.2zm10.1 48L340.5 449.2c-.6 8.4-7.6 14.8-16 14.8H123.4c-8.4 0-15.3-6.5-16-14.8L83.7 128H364.3zM222.9 194.7c-7.3-8.3-20-9-28.2-1.7l-72 64c-4.3 3.8-6.7 9.2-6.7 14.9s2.4 11.2 6.7 14.9l72 64c8.3 7.3 20.9 6.6 28.2-1.7s6.6-20.9-1.7-28.2L188.6 292H240c24.3 0 44 19.7 44 44v24c0 11 9 20 20 20s20-9 20-20V336c0-46.4-37.6-84-84-84H188.6l32.7-29.1c8.3-7.3 9-20 1.7-28.2z\"]\n};\nvar faTrashArrowTurnLeft = faTrashUndo;\nvar faChampagneGlass = {\n prefix: 'far',\n iconName: 'champagne-glass',\n icon: [320, 512, [\"glass-champagne\"], \"f79e\", \"M80 0C68.1 0 58 8.7 56.3 20.5L29.7 201C19.1 272.5 67.8 337.3 136 349.8V464H72c-13.3 0-24 10.7-24 24s10.7 24 24 24h88 88c13.3 0 24-10.7 24-24s-10.7-24-24-24H184V349.8c64.4-12.2 110.8-72.8 102.6-140.6l-22.8-188C262.4 9.1 252.1 0 240 0H80zm8.9 128l11.8-80h118l9.7 80H88.9zm-7.1 48H234.2l4.7 38.9c5.7 47.4-31.2 89.1-78.9 89.1c-51.1 0-90.3-45.4-82.9-96l4.7-32z\"]\n};\nvar faGlassChampagne = faChampagneGlass;\nvar faObjectsAlignCenterHorizontal = {\n prefix: 'far',\n iconName: 'objects-align-center-horizontal',\n icon: [512, 512, [], \"e3bc\", \"M432 176L80 176l0-64 352 0 0 64zm48-64c0-26.5-21.5-48-48-48L280 64l0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40L80 64c-26.5 0-48 21.5-48 48l0 64c0 26.5 21.5 48 48 48l152 0 0 64-88 0c-26.5 0-48 21.5-48 48l0 64c0 26.5 21.5 48 48 48l88 0 0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40 88 0c26.5 0 48-21.5 48-48l0-64c0-26.5-21.5-48-48-48l-88 0 0-64 152 0c26.5 0 48-21.5 48-48l0-64zM368 400l-224 0 0-64 224 0 0 64z\"]\n};\nvar faSun = {\n prefix: 'far',\n iconName: 'sun',\n icon: [512, 512, [9728], \"f185\", \"M375.7 19.7c-1.5-8-6.9-14.7-14.4-17.8s-16.1-2.2-22.8 2.4L256 61.1 173.5 4.2c-6.7-4.6-15.3-5.5-22.8-2.4s-12.9 9.8-14.4 17.8l-18.1 98.5L19.7 136.3c-8 1.5-14.7 6.9-17.8 14.4s-2.2 16.1 2.4 22.8L61.1 256 4.2 338.5c-4.6 6.7-5.5 15.3-2.4 22.8s9.8 13 17.8 14.4l98.5 18.1 18.1 98.5c1.5 8 6.9 14.7 14.4 17.8s16.1 2.2 22.8-2.4L256 450.9l82.5 56.9c6.7 4.6 15.3 5.5 22.8 2.4s12.9-9.8 14.4-17.8l18.1-98.5 98.5-18.1c8-1.5 14.7-6.9 17.8-14.4s2.2-16.1-2.4-22.8L450.9 256l56.9-82.5c4.6-6.7 5.5-15.3 2.4-22.8s-9.8-12.9-17.8-14.4l-98.5-18.1L375.7 19.7zM269.6 110l65.6-45.2 14.4 78.3c1.8 9.8 9.5 17.5 19.3 19.3l78.3 14.4L402 242.4c-5.7 8.2-5.7 19 0 27.2l45.2 65.6-78.3 14.4c-9.8 1.8-17.5 9.5-19.3 19.3l-14.4 78.3L269.6 402c-8.2-5.7-19-5.7-27.2 0l-65.6 45.2-14.4-78.3c-1.8-9.8-9.5-17.5-19.3-19.3L64.8 335.2 110 269.6c5.7-8.2 5.7-19 0-27.2L64.8 176.8l78.3-14.4c9.8-1.8 17.5-9.5 19.3-19.3l14.4-78.3L242.4 110c8.2 5.7 19 5.7 27.2 0zM256 368a112 112 0 1 0 0-224 112 112 0 1 0 0 224zM192 256a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z\"]\n};\nvar faTrashCanSlash = {\n prefix: 'far',\n iconName: 'trash-can-slash',\n icon: [640, 512, [\"trash-alt-slash\"], \"e2ad\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L512 376V128h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8H464 450.2L413.5 24.9C403.1 9.4 385.6 0 366.9 0H273.1c-18.7 0-36.2 9.4-46.6 24.9L189.8 80H176 134.4L38.8 5.1zM195.6 128H464V338.4l-48-37.6V192c0-8.8-7.2-16-16-16s-16 7.2-16 16v83.7L336 238V192c0-8.8-7.2-16-16-16s-16 7.2-16 16v21L195.6 128zM454.9 454.4c-5.8 5.9-13.9 9.6-22.9 9.6H208c-17.7 0-32-14.3-32-32V234.7l-48-37.8V432c0 44.2 35.8 80 80 80H432c24.3 0 46-10.8 60.7-27.8l-37.8-29.8zM336 360.7l-32-25.2V400c0 8.8 7.2 16 16 16s16-7.2 16-16V360.7zM224 272.5V400c0 8.8 7.2 16 16 16s16-7.2 16-16V297.7l-32-25.2zM273.1 48h93.7c2.7 0 5.2 1.3 6.7 3.6l19 28.4h-145l19-28.4c1.5-2.2 4-3.6 6.7-3.6z\"]\n};\nvar faTrashAltSlash = faTrashCanSlash;\nvar faScreenUsers = {\n prefix: 'far',\n iconName: 'screen-users',\n icon: [640, 512, [\"users-class\"], \"f63d\", \"M80 320a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm80 0A64 64 0 1 0 32 320a64 64 0 1 0 128 0zM64 416c-35.3 0-64 28.7-64 64c0 17.7 14.3 32 32 32H160c17.7 0 32-14.3 32-32c0-35.3-28.7-64-64-64H64zm240-96a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm80 0a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zm-96 96c-35.3 0-64 28.7-64 64c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32c0-35.3-28.7-64-64-64H288zM544 304a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm0 80a64 64 0 1 0 0-128 64 64 0 1 0 0 128zm-96 96c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32c0-35.3-28.7-64-64-64H512c-35.3 0-64 28.7-64 64zM544 48H96c-8.8 0-16 7.2-16 16V225.3c-18.3 3.1-34.8 11.3-48 23.1V64C32 28.7 60.7 0 96 0H544c35.3 0 64 28.7 64 64V248.4c-13.2-11.8-29.7-20.1-48-23.1V64c0-8.8-7.2-16-16-16z\"]\n};\nvar faUsersClass = faScreenUsers;\nvar faGuitar = {\n prefix: 'far',\n iconName: 'guitar',\n icon: [512, 512, [], \"f7a6\", \"M431 7c9.4-9.4 24.6-9.4 33.9 0l40 40c9.4 9.4 9.4 24.6 0 33.9l-48 48c-2.4 2.4-5.3 4.3-8.5 5.5l-59.1 22.2-35.8 35.8c38.2 50.8 41.4 115.2 4.6 152c-12 12-26.8 19.7-43.2 23.4c-18.1 4.1-33.5 20.8-34.5 39.4c-1.4 27.9-11.7 53.8-31.2 73.4C200.3 529.4 112 520.3 51.8 460.2S-17.4 311.7 31.4 262.8C51 243.2 76.9 233 104.8 231.5c18.5-.9 35.3-16.4 39.4-34.5c3.7-16.4 11.4-31.2 23.4-43.2c36.8-36.8 101.2-33.6 152 4.6l35.8-35.8 22.2-59.1c1.2-3.2 3.1-6.1 5.5-8.5L431 7zM254.4 291.6c1.1 4 1.6 8.1 1.6 12.4c0 26.5-21.5 48-48 48s-48-21.5-48-48s21.5-48 48-48c4.3 0 8.5 .6 12.4 1.6l64.8-64.8c-36-24.5-70.6-18.1-83.8-5c-5 5-8.6 11.5-10.5 19.8c-8.3 37-41.6 69.7-83.8 71.9c-17.6 .9-31.7 7.1-41.9 17.3c-23.9 23.9-27.9 81.2 20.4 129.5s105.6 44.3 129.5 20.4c10.1-10.1 16.4-24.3 17.3-41.9c2.1-42.2 34.9-75.4 71.9-83.8c8.3-1.9 14.8-5.5 19.8-10.5c13.2-13.2 19.6-47.8-5-83.8l-64.8 64.8z\"]\n};\nvar faSquareArrowLeft = {\n prefix: 'far',\n iconName: 'square-arrow-left',\n icon: [448, 512, [\"arrow-square-left\"], \"f33a\", \"M48 96c0-8.8 7.2-16 16-16l320 0c8.8 0 16 7.2 16 16l0 320c0 8.8-7.2 16-16 16L64 432c-8.8 0-16-7.2-16-16L48 96zM64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zm39 241l88 88c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47L328 280c13.3 0 24-10.7 24-24s-10.7-24-24-24l-150.1 0 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-88 88c-9.4 9.4-9.4 24.6 0 33.9z\"]\n};\nvar faArrowSquareLeft = faSquareArrowLeft;\nvar faSquare8 = {\n prefix: 'far',\n iconName: 'square-8',\n icon: [448, 512, [], \"e25d\", \"M384 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm168 96H216c-39.8 0-72 32.2-72 72c0 15.7 5 30.1 13.5 42c-18 14.7-29.5 37-29.5 62c0 44.2 35.8 80 80 80h32c44.2 0 80-35.8 80-80c0-25-11.5-47.4-29.5-62c8.5-11.8 13.5-26.3 13.5-42c0-39.8-32.2-72-72-72zm-16 96c-13.2 0-24-10.8-24-24s10.7-24 24-24h16c13.3 0 24 10.7 24 24s-10.7 24-24 24c0 0 0 0 0 0H216s0 0 0 0zm0 48c0 0 0 0 0 0h16c0 0 0 0 0 0h8c17.7 0 32 14.3 32 32s-14.3 32-32 32H208c-17.7 0-32-14.3-32-32s14.3-32 32-32h8z\"]\n};\nvar faFaceSmileHearts = {\n prefix: 'far',\n iconName: 'face-smile-hearts',\n icon: [640, 512, [], \"e390\", \"M553.5 361.1C568 329 576 293.4 576 256c0-24.5-3.4-48.2-9.9-70.6c-3.6-12.7-16.9-20.1-29.7-16.5s-20.1 16.9-16.5 29.7c5.2 18.2 8 37.4 8 57.4c0 35.3-8.8 68.5-24.3 97.6c16.7-3.7 34.5-1.2 49.8 7.4zM448.1 419.9C412.8 447.5 368.3 464 320 464c-50.4 0-96.6-17.9-132.6-47.7c-3.4 9.1-8.8 17.7-16.1 25l-13.1 13.1C202.4 490.4 258.7 512 320 512c53.3 0 102.8-16.3 143.8-44.2c-11.2-13.9-16.5-31-15.7-47.9zm-326-99.8C115.5 299.9 112 278.4 112 256c0-114.9 93.1-208 208-208c30.7 0 59.9 6.7 86.1 18.6c12.1 5.5 26.3 .2 31.8-11.9s.2-26.3-11.9-31.8C393.6 8.2 357.7 0 320 0C178.6 0 64 114.6 64 256c0 25.7 3.8 50.5 10.8 73.8c1.8 1.1 3.5 2.2 5.2 3.4c12.5-9 27.3-13.4 42-13.2zm85.7-3.3c-9.7 9-10.4 24.2-1.4 33.9c22 23.8 60 49.4 113.6 49.4s91.7-25.5 113.6-49.4c9-9.7 8.4-24.9-1.4-33.9s-24.9-8.4-33.9 1.4C383.2 334.5 357.2 352 320 352s-63.2-17.5-78.4-33.9c-9-9.7-24.2-10.4-33.9-1.4zm6.5-87.1c5.5-5.8 14.8-9.7 25.4-9.7s19.9 3.8 25.4 9.7c7.6 8.1 20.2 8.5 28.3 .9s8.5-20.2 .9-28.3C279.7 186.8 259 180 239.6 180s-40.1 6.8-54.6 22.3c-7.6 8.1-7.1 20.7 .9 28.3s20.7 7.1 28.3-.9zM399.6 220c10.6 0 19.9 3.8 25.4 9.7c7.6 8.1 20.2 8.5 28.3 .9s8.5-20.2 .9-28.3C439.7 186.8 419 180 399.6 180s-40.1 6.8-54.6 22.3c-7.6 8.1-7.1 20.7 .9 28.3s20.7 7.1 28.3-.9c5.5-5.8 14.8-9.7 25.4-9.7zM573.7 11.5L560 25.3 546.3 11.4c-15.2-15.3-39.8-15.3-54.9 0s-15.2 40 0 55.2l55.5 55.8c7.3 7.3 19.1 7.3 26.3 0l55.4-55.8c15.2-15.3 15.2-40 0-55.2s-39.8-15.3-54.9 0zm54.9 384c-15.2-15.3-39.8-15.3-54.9 0L560 409.3l-13.7-13.8c-15.2-15.3-39.8-15.3-54.9 0s-15.2 40 0 55.2l55.5 55.8c7.3 7.3 19.1 7.3 26.3 0l55.4-55.8c15.2-15.3 15.2-40 0-55.2zm-534.9-32L80 377.3 66.3 363.4c-15.2-15.3-39.8-15.3-54.9 0s-15.2 40 0 55.2l55.5 55.8c7.3 7.3 19.1 7.3 26.3 0l55.4-55.8c15.2-15.3 15.2-40 0-55.2s-39.8-15.3-54.9 0z\"]\n};\nvar faBracketsSquare = {\n prefix: 'far',\n iconName: 'brackets-square',\n icon: [448, 512, [\"brackets\"], \"f7e9\", \"M56 32C25.1 32 0 57.1 0 88V424c0 30.9 25.1 56 56 56h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H56c-4.4 0-8-3.6-8-8V88c0-4.4 3.6-8 8-8h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H56zm336 0H328c-13.3 0-24 10.7-24 24s10.7 24 24 24h64c4.4 0 8 3.6 8 8V424c0 4.4-3.6 8-8 8H328c-13.3 0-24 10.7-24 24s10.7 24 24 24h64c30.9 0 56-25.1 56-56V88c0-30.9-25.1-56-56-56z\"]\n};\nvar faBrackets = faBracketsSquare;\nvar faLaptopArrowDown = {\n prefix: 'far',\n iconName: 'laptop-arrow-down',\n icon: [640, 512, [], \"e1c6\", \"M256 32V80H128c-8.8 0-16 7.2-16 16V320H64V96c0-35.3 28.7-64 64-64H256zM384 80V32H512c35.3 0 64 28.7 64 64V320H528V96c0-8.8-7.2-16-16-16H384zM320 32c13.3 0 24 10.7 24 24V238.1l39-39c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0l-80-80c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l39 39V56c0-13.3 10.7-24 24-24zM96 432H544c20.9 0 38.7-13.4 45.3-32H50.7c6.6 18.6 24.4 32 45.3 32zM0 384c0-17.7 14.3-32 32-32H608c17.7 0 32 14.3 32 32c0 53-43 96-96 96H96c-53 0-96-43-96-96z\"]\n};\nvar faHockeyStickPuck = {\n prefix: 'far',\n iconName: 'hockey-stick-puck',\n icon: [640, 512, [], \"e3ae\", \"M499 2.7c11.8 6.1 16.4 20.6 10.3 32.3L282.7 473.1c-12.4 23.9-37 38.9-64 38.9H64c-35.3 0-64-28.7-64-64V384c0-35.3 28.7-64 64-64H304c1.3 0 2.5 .1 3.7 .3L466.7 13C472.8 1.2 487.3-3.4 499 2.7zM283 368H144v96h74.8c9 0 17.2-5 21.3-13L283 368zM64 368c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16H96V368H64zm368 64v32H592V432H432zm-48 0c0-26.5 21.5-48 48-48H592c26.5 0 48 21.5 48 48v32c0 26.5-21.5 48-48 48H432c-26.5 0-48-21.5-48-48V432z\"]\n};\nvar faHouseTree = {\n prefix: 'far',\n iconName: 'house-tree',\n icon: [640, 512, [], \"e1b3\", \"M417.4 7.5C412.9 2.7 406.6 0 400 0s-12.9 2.7-17.4 7.5l-103.5 109 35.4 32.4 85.5-90L496.1 160H448c-9.6 0-18.2 5.7-22 14.5s-2 19 4.6 26L528.3 304H480c-9.4 0-17.9 5.4-21.8 13.9s-2.6 18.5 3.5 25.6L564.1 464H416c0 18-6 34.6-16 48H616c9.4 0 17.9-5.4 21.8-13.9s2.6-18.5-3.5-25.6L531.9 352H584c9.6 0 18.2-5.7 22-14.5s2-19-4.6-26L503.7 208H552c9.6 0 18.3-5.7 22.1-14.5s2-19-4.7-26l-152-160zM20.8 237C7.5 249.1 0 266.2 0 284.2V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V284.2c0-17.9-7.5-35.1-20.8-47.2l-128-117.3c-24.5-22.4-62-22.4-86.5 0L20.8 237zM48 284.2c0-4.5 1.9-8.8 5.2-11.8L181.2 155c6.1-5.6 15.5-5.6 21.6 0l128 117.3c3.3 3 5.2 7.3 5.2 11.8V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V284.2zM144 296v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V296c0-13.3-10.7-24-24-24H168c-13.3 0-24 10.7-24 24z\"]\n};\nvar faSignalFair = {\n prefix: 'far',\n iconName: 'signal-fair',\n icon: [640, 512, [\"signal-2\"], \"f68d\", \"M192 288c13.3 0 24 10.7 24 24V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V312c0-13.3 10.7-24 24-24zM64 384c13.3 0 24 10.7 24 24v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V408c0-13.3 10.7-24 24-24z\"]\n};\nvar faSignal2 = faSignalFair;\nvar faFaceLaughWink = {\n prefix: 'far',\n iconName: 'face-laugh-wink',\n icon: [512, 512, [\"laugh-wink\"], \"f59c\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm130.7 57.9c-4.2-13.6 7.1-25.9 21.3-25.9H364.5c14.2 0 25.5 12.4 21.3 25.9C369 368.4 318.2 408 258.2 408s-110.8-39.6-127.5-94.1zM144.4 192a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm165.8 21.7c-7.6 8.1-20.2 8.5-28.3 .9s-8.5-20.2-.9-28.3c14.5-15.5 35.2-22.3 54.6-22.3s40.1 6.8 54.6 22.3c7.6 8.1 7.1 20.7-.9 28.3s-20.7 7.1-28.3-.9c-5.5-5.8-14.8-9.7-25.4-9.7s-19.9 3.8-25.4 9.7z\"]\n};\nvar faLaughWink = faFaceLaughWink;\nvar faCircleDollar = {\n prefix: 'far',\n iconName: 'circle-dollar',\n icon: [512, 512, [\"dollar-circle\", \"usd-circle\"], \"f2e8\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM276.8 133.6v14.2c9.7 1.2 19.4 3.9 29 6.6c1.9 .5 3.7 1 5.6 1.6c11.5 3.2 18.3 15.1 15.1 26.6s-15.1 18.2-26.6 15.1c-1.6-.4-3.1-.9-4.7-1.3c-7-2-14-3.9-21.1-5.3c-13.2-2.5-28.5-1.3-40.8 4c-11 4.8-20.1 16.4-7.6 24.4c9.8 6.3 21.8 9.5 33.2 12.6c2.4 .6 4.7 1.3 7 1.9c15.6 4.4 35.5 10.1 50.4 20.3c19.4 13.3 28.5 34.9 24.2 58.1c-4.1 22.4-19.7 37.1-38.4 44.7c-7.8 3.2-16.3 5.2-25.2 6.2l0 15.2c0 11.9-9.7 21.6-21.6 21.6s-21.6-9.7-21.6-21.6l0-17.4c-14.5-3.3-28.7-7.9-42.8-12.5c-11.3-3.7-17.5-16-13.7-27.3s16-17.5 27.3-13.7c2.5 .8 5 1.7 7.5 2.5c11.3 3.8 22.9 7.7 34.5 9.6c17 2.5 30.6 1 39.5-2.6c12-4.8 17.7-19.1 5.9-27.1c-10.1-6.9-22.6-10.3-34.5-13.5c-2.3-.6-4.5-1.2-6.8-1.9c-15.1-4.3-34-9.6-48.2-18.7c-19.5-12.5-29.4-33.3-25.2-56.4c4-21.8 21-36.3 39-44.1c5.5-2.4 11.4-4.3 17.5-5.7V133.6c0-11.9 9.7-21.6 21.6-21.6s21.6 9.7 21.6 21.6z\"]\n};\nvar faDollarCircle = faCircleDollar;\nvar faUsdCircle = faCircleDollar;\nvar faHorseHead = {\n prefix: 'far',\n iconName: 'horse-head',\n icon: [640, 512, [], \"f7ab\", \"M405.1 48.7c9.2-3.3 18.9 3.6 18.9 13.4c0 4.2-1.9 8.2-5.1 10.9l-34.3 28.5c-7.3 6.1-10.4 16-7.7 25.2s10.6 15.9 20.1 17.1l1.5 .2c31.3 3.9 58.7 23 73.3 51L520 287.8c11 21.3 7 47.2-9.9 64.2c-10.3 10.3-24.3 16.1-38.8 16.1h-7.4c-18.5 0-36-8-48.2-21.9l-26.2-30c-10.3-11.8-28-13.5-40.4-3.9c-27.6 21.5-67.3 17.2-89.7-9.7l-25-30c-8.5-10.2-23.6-11.6-33.8-3.1s-11.6 23.6-3.1 33.8l25 30c25 30 62.3 43.8 98.6 40l43.4 68.2c2.3 3.5 3.5 7.7 3.5 11.9c0 5.8-4.7 10.6-10.6 10.6H136c-13.3 0-24-10.7-24-24V316.7c0-98.2 61.8-185.7 154.3-218.6L405.1 48.7zm0 367l-21.5-33.8c21 21.7 50 34.1 80.4 34.1h7.4c27.3 0 53.5-10.8 72.8-30.1c31.7-31.7 39.2-80.4 18.5-120.2l-48.3-92.8c-14.4-27.8-37.3-49.6-64.7-63C463.8 98 472 80.5 472 62.1c0-43-42.5-73-83-58.6L250.2 52.9C138.6 92.5 64 198.2 64 316.7V440c0 39.8 32.2 72 72 72H357.4c32.4 0 58.6-26.2 58.6-58.6c0-13.3-3.8-26.4-11-37.6zM360 224a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faArrowsRepeat = {\n prefix: 'far',\n iconName: 'arrows-repeat',\n icon: [512, 512, [\"repeat-alt\"], \"f364\", \"M0 254.5c-.8 13.2 9.2 24.6 22.5 25.5s24.6-9.2 25.5-22.5l.5-8C51.9 194.7 97.3 152 152.2 152H366.1l-55 55c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l96-96c9.4-9.4 9.4-24.6 0-33.9L345 15c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l55 55H152.2C72 104 5.6 166.4 .5 246.5l-.5 8zm511.9 3c.8-13.2-9.2-24.6-22.5-25.5s-24.6 9.2-25.4 22.5l-.5 8c-3.4 54.8-48.9 97.5-103.8 97.5H145.9l55-55c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L71 367c-9.4 9.4-9.4 24.6 0 33.9l96 96c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-55-55H359.8c80.3 0 146.7-62.4 151.7-142.5l.5-8z\"]\n};\nvar faRepeatAlt = faArrowsRepeat;\nvar faBoreHole = {\n prefix: 'far',\n iconName: 'bore-hole',\n icon: [512, 512, [], \"e4c3\", \"M256 0c13.3 0 24 10.7 24 24V228.7c23.5 9.5 40 32.5 40 59.3c0 35.3-28.7 64-64 64s-64-28.7-64-64c0-26.9 16.5-49.9 40-59.3V24c0-13.3 10.7-24 24-24zm0 272a16 16 0 1 0 0 32 16 16 0 1 0 0-32zM112 176H80c-17.7 0-32 14.3-32 32V432c0 17.7 14.3 32 32 32H432c17.7 0 32-14.3 32-32V208c0-17.7-14.3-32-32-32H400V288c0 79.5-64.5 144-144 144s-144-64.5-144-144V176zm16-48c17.7 0 32 14.3 32 32V288c0 53 43 96 96 96s96-43 96-96V160c0-17.7 14.3-32 32-32h48c44.2 0 80 35.8 80 80V432c0 44.2-35.8 80-80 80H80c-44.2 0-80-35.8-80-80V208c0-44.2 35.8-80 80-80h48z\"]\n};\nvar faIndustry = {\n prefix: 'far',\n iconName: 'industry',\n icon: [576, 512, [], \"f275\", \"M88 80c-4.4 0-8 3.6-8 8V304v48 56c0 13.3 10.7 24 24 24H472c13.3 0 24-10.7 24-24V320 304l0-148.1-139.1 89c-7.4 4.7-16.8 5-24.5 .8s-12.5-12.3-12.5-21.1l0-70.9L180.1 235.4c-7.4 4.3-16.6 4.4-24 .1s-12-12.2-12-20.8V88c0-4.4-3.6-8-8-8H88zM32 88c0-30.9 25.1-56 56-56h48c30.9 0 56 25.1 56 56v84.9l103.8-60.6c32-18.7 72.2 4.4 72.2 41.5v27l102.1-65.4C502.1 95 544 117.9 544 155.9V304v16 88c0 39.8-32.2 72-72 72H104c-39.8 0-72-32.2-72-72V352 304 88z\"]\n};\nvar faImagePolaroid = {\n prefix: 'far',\n iconName: 'image-polaroid',\n icon: [448, 512, [], \"f8c4\", \"M400 368v48c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V368H400zM75.3 320H48V96c0-8.8 7.2-16 16-16H384c8.8 0 16 7.2 16 16V320H376.4L284.1 178.9c-4.4-6.8-12-10.9-20.1-10.9s-15.7 4.1-20.1 10.9l-56 85.6-16.6-22.6c-4.5-6.2-11.7-9.8-19.4-9.8s-14.8 3.6-19.4 9.8L75.3 320zM448 320V96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V320v24 24 48c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V368 344 320zM144 144a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faWaveTriangle = {\n prefix: 'far',\n iconName: 'wave-triangle',\n icon: [640, 512, [], \"f89a\", \"M176.1 32c7.7 0 14.9 3.7 19.4 10L464.1 415.1 596.6 233.8c7.8-10.7 22.8-13 33.5-5.2s13 22.8 5.2 33.5l-152 208c-4.5 6.2-11.8 9.9-19.5 9.8s-14.9-3.7-19.4-10L175.9 96.9 43.4 278.2c-7.8 10.7-22.8 13-33.5 5.2s-13-22.8-5.2-33.5l152-208c4.5-6.2 11.8-9.9 19.5-9.8z\"]\n};\nvar faTurnLeftDown = {\n prefix: 'far',\n iconName: 'turn-left-down',\n icon: [384, 512, [], \"e637\", \"M208.4 505.5c-9.2 8.7-23.7 8.7-32.9 0L46.6 384.1c-9.3-8.8-14.6-21-14.6-33.7C32 324.7 52.7 304 78.3 304H120V160C120 71.6 191.6 0 280 0h48c30.9 0 56 25.1 56 56V88c0 30.9-25.1 56-56 56H272c-4.4 0-8 3.6-8 8V304h41.7c25.6 0 46.3 20.7 46.3 46.3c0 12.8-5.3 25-14.6 33.7l-129 121.4zm93-153.5H240c-13.3 0-24-10.7-24-24V152c0-30.9 25.1-56 56-56h56c4.4 0 8-3.6 8-8V56c0-4.4-3.6-8-8-8H280c-61.9 0-112 50.1-112 112V328c0 13.3-10.7 24-24 24H82.5L192 455 301.5 352z\"]\n};\nvar faPersonRunningFast = {\n prefix: 'far',\n iconName: 'person-running-fast',\n icon: [512, 512, [], \"e5ff\", \"M368 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-90.7 12.6c-14-3.5-28.7-3.5-42.7 0l-1.8 .5c-13.3 3.3-25.6 9.7-35.9 18.6l-44.5 38.2c-10.1 8.6-11.2 23.8-2.6 33.8s23.8 11.2 33.8 2.6l44.5-38.2c4.7-4 10.3-6.9 16.3-8.4l1.8-.5c6.4-1.6 13-1.6 19.4 0l8.6 2.1-32.7 98c-8.5 25.5 2.3 53.4 25.7 66.5l88 49.5L321.1 480.8c-4 12.7 3.1 26.1 15.8 30.1s26.1-3.1 30.1-15.8L403 379.5c5.6-18-2.1-37.5-18.6-46.8l-32.1-18 28.1-84.4 5.6 18.2C393.3 272 415 288 439.6 288H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H439.6c-3.5 0-6.6-2.3-7.6-5.6l-19.7-64.2c-5.8-18.7-20.9-33.1-39.9-37.9l-95-23.7zm70.8 67.2l-38.3 115-19-10.7c-3.3-1.9-4.9-5.9-3.7-9.5L321 169l27.1 6.8zM218.5 317.1L199.4 368H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h84.9c16.7 0 31.6-10.3 37.4-25.9l14.1-37.6-4.9-2.8c-14.1-8-25.4-19.3-33-32.6zM16 95.8c-8.8 0-16 7.2-16 16s7.2 16 16 16H144c8.8 0 16-7.2 16-16s-7.2-16-16-16H16zm-16 80c0 8.8 7.2 16 16 16H80c8.8 0 16-7.2 16-16s-7.2-16-16-16H16c-8.8 0-16 7.2-16 16zm16 48c-8.8 0-16 7.2-16 16s7.2 16 16 16H144c8.8 0 16-7.2 16-16s-7.2-16-16-16H16z\"]\n};\nvar faCircleDown = {\n prefix: 'far',\n iconName: 'circle-down',\n icon: [512, 512, [61466, \"arrow-alt-circle-down\"], \"f358\", \"M256 464a208 208 0 1 1 0-416 208 208 0 1 1 0 416zM256 0a256 256 0 1 0 0 512A256 256 0 1 0 256 0zM376.9 294.6c4.5-4.2 7.1-10.1 7.1-16.3c0-12.3-10-22.3-22.3-22.3H304V160c0-17.7-14.3-32-32-32l-32 0c-17.7 0-32 14.3-32 32v96H150.3C138 256 128 266 128 278.3c0 6.2 2.6 12.1 7.1 16.3l107.1 99.9c3.8 3.5 8.7 5.5 13.8 5.5s10.1-2 13.8-5.5l107.1-99.9z\"]\n};\nvar faArrowAltCircleDown = faCircleDown;\nvar faGrill = {\n prefix: 'far',\n iconName: 'grill',\n icon: [448, 512, [], \"e5a3\", \"M48 80H400V96c0 97.2-78.8 176-176 176S48 193.2 48 96V80zM40 32C17.9 32 0 49.9 0 72V96c0 89.8 52.9 167.3 129.2 203l-23.1 53.8c-3.3-.5-6.7-.8-10.1-.8c-35.3 0-64 28.7-64 64s28.7 64 64 64s64-28.7 64-64H316.7l21.2 49.5c5.2 12.2 19.3 17.8 31.5 12.6s17.8-19.3 12.6-31.5L318.8 299C395.1 263.3 448 185.8 448 96V72c0-22.1-17.9-40-40-40H40zM151.8 368l22.9-53.4c15.9 3.6 32.3 5.4 49.3 5.4s33.4-1.9 49.3-5.4L296.2 368H151.8zM72 416a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faArrowsTurnToDots = {\n prefix: 'far',\n iconName: 'arrows-turn-to-dots',\n icon: [512, 512, [], \"e4c1\", \"M255 31c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-39 39L424 104c48.6 0 88 39.4 88 88v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V192c0-22.1-17.9-40-40-40l-174.1 0 39 39c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-80-80c-9.4-9.4-9.4-24.6 0-33.9l80-80zM257 287l80 80c9.4 9.4 9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l39-39L88 408c-22.1 0-40 17.9-40 40v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V448c0-48.6 39.4-88 88-88l174.1 0-39-39c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0zm127 97a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM64 192A64 64 0 1 1 64 64a64 64 0 1 1 0 128z\"]\n};\nvar faChartMixed = {\n prefix: 'far',\n iconName: 'chart-mixed',\n icon: [512, 512, [\"analytics\"], \"f643\", \"M503.6 74.2c10.1-8.6 11.2-23.8 2.6-33.8s-23.8-11.2-33.8-2.6L320.2 168.3 207.8 69.9c-8.2-7.1-20.1-7.9-29.1-1.9L10.7 180c-11 7.4-14 22.3-6.7 33.3s22.3 14 33.3 6.7L190 118.2l114.2 99.9c9 7.9 22.4 7.9 31.4 .2l168-144zM200 432c0 4.4-3.6 8-8 8s-8-3.6-8-8V272c0-4.4 3.6-8 8-8s8 3.6 8 8V432zm-8-208c-26.5 0-48 21.5-48 48V432c0 26.5 21.5 48 48 48s48-21.5 48-48V272c0-26.5-21.5-48-48-48zM72 432c0 4.4-3.6 8-8 8s-8-3.6-8-8V368c0-4.4 3.6-8 8-8s8 3.6 8 8v64zM64 320c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48s48-21.5 48-48V368c0-26.5-21.5-48-48-48zm264 16v96c0 4.4-3.6 8-8 8s-8-3.6-8-8V336c0-4.4 3.6-8 8-8s8 3.6 8 8zm-56 0v96c0 26.5 21.5 48 48 48s48-21.5 48-48V336c0-26.5-21.5-48-48-48s-48 21.5-48 48zm184 96c0 4.4-3.6 8-8 8s-8-3.6-8-8V272c0-4.4 3.6-8 8-8s8 3.6 8 8V432zm-8-208c-26.5 0-48 21.5-48 48V432c0 26.5 21.5 48 48 48s48-21.5 48-48V272c0-26.5-21.5-48-48-48z\"]\n};\nvar faAnalytics = faChartMixed;\nvar faFlorinSign = {\n prefix: 'far',\n iconName: 'florin-sign',\n icon: [384, 512, [], \"e184\", \"M315.3 32c-36 0-68.3 21.9-81.7 55.3L179 224H56c-13.3 0-24 10.7-24 24s10.7 24 24 24H159.8L105.8 406.9C99.7 422 85 432 68.7 432H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H68.7c36 0 68.3-21.9 81.7-55.3L211.4 272H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H230.6l47.5-118.9C284.3 90 299 80 315.3 80H360c13.3 0 24-10.7 24-24s-10.7-24-24-24H315.3z\"]\n};\nvar faArrowDownShortWide = {\n prefix: 'far',\n iconName: 'arrow-down-short-wide',\n icon: [576, 512, [\"sort-amount-desc\", \"sort-amount-down-alt\"], \"f884\", \"M15 377l96 96c9.4 9.4 24.6 9.4 33.9 0l96-96c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-55 55V56c0-13.3-10.7-24-24-24s-24 10.7-24 24V398.1L49 343c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9zM312 48c-13.3 0-24 10.7-24 24s10.7 24 24 24h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H312zm0 128c-13.3 0-24 10.7-24 24s10.7 24 24 24H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H312zm0 128c-13.3 0-24 10.7-24 24s10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H312zm0 128c-13.3 0-24 10.7-24 24s10.7 24 24 24H552c13.3 0 24-10.7 24-24s-10.7-24-24-24H312z\"]\n};\nvar faSortAmountDesc = faArrowDownShortWide;\nvar faSortAmountDownAlt = faArrowDownShortWide;\nvar faLessThan = {\n prefix: 'far',\n iconName: 'less-than',\n icon: [384, 512, [62774], \"3c\", \"M381.5 77.3c5.9 11.9 1.1 26.3-10.7 32.2L77.7 256 370.7 402.5c11.9 5.9 16.7 20.3 10.7 32.2s-20.3 16.7-32.2 10.7l-336-168C5.1 273.4 0 265.1 0 256s5.1-17.4 13.3-21.5l336-168c11.9-5.9 26.3-1.1 32.2 10.7z\"]\n};\nvar faDisplayCode = {\n prefix: 'far',\n iconName: 'display-code',\n icon: [576, 512, [\"desktop-code\"], \"e165\", \"M512 48c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H336.5c-.3 0-.6 0-.8 0H240.4c-.3 0-.6 0-.8 0H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H512zM64 416H211.7l-8 48H152c-13.3 0-24 10.7-24 24s10.7 24 24 24h72H352h72c13.3 0 24-10.7 24-24s-10.7-24-24-24H372.3l-8-48H512c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64zm188.3 48l8-48h55.3l8 48H252.3zM249 177c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-48 48c-9.4 9.4-9.4 24.6 0 33.9l48 48c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-31-31 31-31zM361 143c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l31 31-31 31c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l48-48c9.4-9.4 9.4-24.6 0-33.9l-48-48z\"]\n};\nvar faDesktopCode = faDisplayCode;\nvar faFaceDrooling = {\n prefix: 'far',\n iconName: 'face-drooling',\n icon: [512, 512, [], \"e372\", \"M48 256c0 114.9 93.1 208 208 208v48C114.6 512 0 397.4 0 256S114.6 0 256 0S512 114.6 512 256c0 80.8-37.5 152.9-96 199.9V388.9c30-36 48-82.4 48-132.9c0-114.9-93.1-208-208-208S48 141.1 48 256zm110.8-32.4c-4.2 12.6-17.8 19.4-30.4 15.2s-19.4-17.8-15.2-30.4c3.8-11.3 12.2-26.8 25.8-39.8C153.2 155.2 173.5 144 200 144c13.3 0 24 10.7 24 24s-10.7 24-24 24c-11.9 0-20.9 4.8-27.9 11.4c-7.4 7-11.8 15.5-13.4 20.2zM129 309.3c10.4-8.3 25.5-6.6 33.7 3.7c18.7 23.4 49.8 47 93.3 47s74.5-23.6 93.3-47c8.3-10.4 23.4-12 33.7-3.7s12 23.4 3.8 33.7c-.9 1.1-1.8 2.2-2.7 3.3V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V376.4c-9.5 7-20.2 13.3-32 18.5V464c0 8.8-7.2 16-16 16s-16-7.2-16-16V404.9c-10 2-20.7 3.1-32 3.1c-62.6 0-106.2-34.3-130.7-65c-8.3-10.3-6.6-25.5 3.7-33.7zM339.9 203.4c-7-6.6-16-11.4-27.9-11.4c-13.3 0-24-10.7-24-24s10.7-24 24-24c26.5 0 46.8 11.2 60.9 24.6c13.7 13 22.1 28.5 25.8 39.8c4.2 12.6-2.6 26.2-15.2 30.4s-26.2-2.6-30.4-15.2c-1.6-4.7-6-13.2-13.4-20.2z\"]\n};\nvar faOilTemperature = {\n prefix: 'far',\n iconName: 'oil-temperature',\n icon: [576, 512, [\"oil-temp\"], \"f614\", \"M264 24c0-13.3 10.7-24 24-24h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H312V96h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H312v83.7c32.5 10.2 56 40.5 56 76.3c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-35.8 23.5-66.1 56-76.3V120 24zm24 312a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM111.9 286.1c17.8 15.4 41.2 28.5 65 32.6c2.4 18.1 9.1 34.9 19.1 49.3c-1.3 0-2.7 .1-4.1 .1c-34.6 0-67.9-14.3-96-33.8c-14.4 10-38 24-66.7 30.4c-12.9 2.9-25.8-5.2-28.7-18.2s5.2-25.8 18.2-28.7c22.2-5 44-16.8 61.2-31.7c9.1-8.1 22.8-8.1 31.9 0zM384 368c-1.3 0-2.7 0-4-.1c10-14.3 16.7-31.1 19.1-49.3c23.8-4.1 47.2-17.2 65-32.6c9.1-8.1 22.8-8.1 31.9 0c16.9 15.1 39.3 26.8 61.3 31.8c12.9 2.9 21.1 15.7 18.2 28.7s-15.7 21.1-28.7 18.2c-28.7-6.4-52.3-20.5-66.7-30.4c-28.1 19.5-61.4 33.8-96 33.8zm-272 62.1c21.5 18.6 51.2 33.9 80 33.9s58.5-15.3 80-33.9c9.1-8.1 22.8-8.1 31.9 0c21.6 18.6 51.2 33.9 80 33.9s58.5-15.3 80-33.9c9.1-8.1 22.8-8.1 31.9 0c16.9 15.1 39.3 26.8 61.3 31.8c12.9 2.9 21.1 15.7 18.2 28.7s-15.7 21.1-28.7 18.2c-28.7-6.4-52.3-20.5-66.7-30.4c-28.1 19.5-61.4 33.8-96 33.8s-67.9-14.3-96-33.8c-28.1 19.5-61.4 33.8-96 33.8s-67.9-14.3-96-33.8c-14.4 10-38 24-66.7 30.4c-12.9 2.9-25.8-5.2-28.7-18.2s5.2-25.8 18.2-28.7c22.2-5 44-16.8 61.2-31.7c9.1-8.1 22.8-8.1 31.9 0z\"]\n};\nvar faOilTemp = faOilTemperature;\nvar faSquareQuestion = {\n prefix: 'far',\n iconName: 'square-question',\n icon: [448, 512, [\"question-square\"], \"f2fd\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm137.8 69.3c7.9-22.3 29.1-37.3 52.8-37.3h58.3c34.9 0 63.1 28.3 63.1 63.1c0 22.6-12.1 43.5-31.7 54.8L248 264.4c-.2 13-10.9 23.6-24 23.6c-13.3 0-24-10.7-24-24V250.5c0-8.6 4.6-16.5 12.1-20.8l44.3-25.4c4.7-2.7 7.6-7.7 7.6-13.1c0-8.4-6.8-15.1-15.1-15.1H190.6c-3.4 0-6.4 2.1-7.5 5.3l-.4 1.2c-4.4 12.5-18.2 19-30.6 14.6s-19-18.2-14.6-30.6l.4-1.2zM192 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faQuestionSquare = faSquareQuestion;\nvar faAirConditioner = {\n prefix: 'far',\n iconName: 'air-conditioner',\n icon: [576, 512, [], \"f8f4\", \"M64 48c-8.8 0-16 7.2-16 16V192c0 8.8 7.2 16 16 16H512c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H64zM0 64C0 28.7 28.7 0 64 0H512c35.3 0 64 28.7 64 64V192c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zm120 64H456c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24zM368 288V392c0 22.1 17.9 40 40 40s40-17.9 40-40c0-14.8-8-27.7-20-34.7c-11.5-6.6-15.4-21.3-8.7-32.8s21.3-15.4 32.8-8.7C478.3 331 496 359.4 496 392c0 48.6-39.4 88-88 88s-88-39.4-88-88V288h48zM208 424V288h48V424c0 48.6-39.4 88-88 88s-88-39.4-88-88c0-32.6 17.7-61 43.9-76.2c11.5-6.6 26.2-2.7 32.8 8.7s2.7 26.2-8.7 32.8c-12 7-20 19.9-20 34.7c0 22.1 17.9 40 40 40s40-17.9 40-40z\"]\n};\nvar faAngleDown = {\n prefix: 'far',\n iconName: 'angle-down',\n icon: [448, 512, [8964], \"f107\", \"M241 369c-9.4 9.4-24.6 9.4-33.9 0L47 209c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l143 143L367 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L241 369z\"]\n};\nvar faMountains = {\n prefix: 'far',\n iconName: 'mountains',\n icon: [640, 512, [9968], \"f6fd\", \"M464 424.1c0 4.4-3.5 7.9-7.9 7.9H55.9c-4.4 0-7.9-3.5-7.9-7.9c0-1.5 .4-2.9 1.2-4.2L256 90.3 462.8 419.9c.8 1.3 1.2 2.7 1.2 4.2zm-464 0C0 455 25 480 55.9 480H456.1 578.9c33.8 0 61.1-27.4 61.1-61.1c0-11.2-3.1-22.2-8.9-31.8l-132-216.3C495 164.1 487.8 160 480 160s-15 4.1-19.1 10.7l-48.2 79L286.8 49c-6.6-10.6-18.3-17-30.8-17s-24.1 6.4-30.8 17L8.6 394.4C3 403.3 0 413.6 0 424.1z\"]\n};\nvar faOmega = {\n prefix: 'far',\n iconName: 'omega',\n icon: [448, 512, [], \"f67a\", \"M224 80C126.8 80 48 158.8 48 256c0 63.7 33.8 119.5 84.6 150.4c11.4 7 19.4 19.6 19.4 34.2c0 21.8-17.6 39.4-39.4 39.4H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H85.4C33.4 391 0 327.4 0 256C0 132.3 100.3 32 224 32s224 100.3 224 224c0 71.4-33.4 135-85.4 176H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H335.4c-21.8 0-39.4-17.6-39.4-39.4c0-14.6 8-27.2 19.4-34.2C366.2 375.5 400 319.7 400 256c0-97.2-78.8-176-176-176z\"]\n};\nvar faCarTunnel = {\n prefix: 'far',\n iconName: 'car-tunnel',\n icon: [512, 512, [], \"e4de\", \"M256 48C141.1 48 48 141.1 48 256V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V256C0 114.6 114.6 0 256 0S512 114.6 512 256V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V256c0-114.9-93.1-208-208-208zM190.8 277.5L177 320H335l-13.8-42.5c-1.1-3.3-4.1-5.5-7.6-5.5H198.4c-3.5 0-6.5 2.2-7.6 5.5zM122.7 332l22.5-69.3c7.5-23.1 29-38.7 53.3-38.7H313.6c24.3 0 45.8 15.6 53.3 38.7L389.3 332c16.1 11.6 26.7 30.6 26.7 52V488c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8H144v8c0 13.3-10.7 24-24 24s-24-10.7-24-24V384c0-21.4 10.5-40.4 26.7-52zM144 432H368V384c0-8.8-7.2-16-16-16H160c-8.8 0-16 7.2-16 16v48zm16-32a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm168-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faPersonDollyEmpty = {\n prefix: 'far',\n iconName: 'person-dolly-empty',\n icon: [512, 512, [], \"f4d1\", \"M80 0a48 48 0 1 1 0 96A48 48 0 1 1 80 0zM0 488L0 340.3c.5 .4 1.1 .9 1.6 1.3L48 378.1 48 488c0 13.3-10.7 24-24 24s-24-10.7-24-24zM59.2 176C53 176 48 181 48 187.2v85.3c0 2.5 1.1 4.8 3.1 6.3L72 295.2V179c-3.9-1.9-8.3-3-12.8-3zM120 246.2v86.7l25.8 20.3c8.1 6.4 13.4 15.6 14.9 25.8l15.1 105.6c1.9 13.1-7.2 25.3-20.4 27.2s-25.3-7.2-27.2-20.4L113.6 388.9 21.4 316.5C7.9 305.9 0 289.6 0 272.4V187.2C0 154.5 26.5 128 59.2 128c26.1 0 50.5 13.3 64.6 35.3L173.1 240h38.2l-10.5-42.2c-3.2-12.9 4.6-25.9 17.5-29.1s25.9 4.6 29.1 17.5l49.6 198.4c17.6 2.4 32.9 12 42.8 25.7l134.4-33.6c12.9-3.2 25.9 4.6 29.1 17.5s-4.6 25.9-17.5 29.1L351.4 456.9C347.1 488 320.3 512 288 512c-35.3 0-64-28.7-64-64c0-21.3 10.4-40.1 26.3-51.7L223.3 288H168.7c-13.6 0-26.3-6.9-33.6-18.4L120 246.2zM304 448a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faPanFood = {\n prefix: 'far',\n iconName: 'pan-food',\n icon: [640, 512, [129368], \"e42b\", \"M528 256a208 208 0 1 0 -416 0 208 208 0 1 0 416 0zM64 256a256 256 0 1 1 512 0A256 256 0 1 1 64 256zM48 184V328c0 13.3-10.7 24-24 24s-24-10.7-24-24V184c0-13.3 10.7-24 24-24s24 10.7 24 24zm568-24c13.3 0 24 10.7 24 24V328c0 13.3-10.7 24-24 24s-24-10.7-24-24V184c0-13.3 10.7-24 24-24zM243.4 142.8C250.7 106.3 282.8 80 320 80s69.3 26.3 76.6 62.8l.6 3.2c1.4 7.3-4.1 14-11.5 14H254.3c-7.4 0-12.9-6.8-11.5-14l.6-3.2zm-13.3 43.1c7.8 7.8 7.8 20.5 0 28.3l-32 32c-7.8 7.8-20.5 7.8-28.3 0s-7.8-20.5 0-28.3l32-32c7.8-7.8 20.5-7.8 28.3 0zM296 224a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM416 360a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM227.3 284.7c2.1 2.1 3.5 4.6 4.2 7.3c.4 1.7 .8 3.4 1.1 5.1c1.1 5.4 2.1 11 5.9 14.7l3.4 3.4c3 3 7.1 4.7 11.3 4.7H280c30.9 0 56 25.1 56 56s-25.1 56-56 56s-56-25.1-56-56V349.3c0-4.2-1.7-8.3-4.7-11.3l-3.4-3.4c-3.8-3.8-9.3-4.8-14.7-5.9c-1.7-.3-3.5-.7-5.1-1.1c-2.7-.7-5.2-2.1-7.3-4.2c-6.2-6.2-6.2-16.4 0-22.6l8-8 8-8c6.2-6.2 16.4-6.2 22.6 0zm132.9-4.9l79.6-79.6c4.5-4.5 11.9-4.5 16.4 0l2.8 2.8c13.4 13.4 21 31.6 21 50.6v4.8c0 18.7-8.5 36.4-23.1 48.1C446 315.2 432.4 320 418.4 320l-4.1 0c-19.4 0-38-7.7-51.8-21.4l-2.4-2.4c-4.5-4.5-4.5-11.9 0-16.4z\"]\n};\nvar faHeadSideCough = {\n prefix: 'far',\n iconName: 'head-side-cough',\n icon: [640, 512, [], \"e061\", \"M224 48C126.8 48 48 126.8 48 224c0 42.2 14.8 80.8 39.5 111.1c13.6 16.6 24.5 38.5 24.5 63.4V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V398.6c0-10.7-4.8-22.2-13.7-33.1C18.9 326.9 0 277.6 0 224C0 100.3 100.3 0 224 0h24c78.8 0 151.4 47.6 183.2 116.2c4.2 9.1 8.2 18.4 12 27.3l1.5 3.5c4.3 10.1 8.5 19.7 13 29c9 18.6 18.7 34.5 31.4 47.1l4.4 4.4c11.9 11.9 18.6 28.1 18.6 45c0 35.1-28.5 63.6-63.6 63.6H448v0 24 64 8c0 35.3-28.7 64-64 64H318.6c-3.3 9.3-12.2 16-22.6 16c-13.3 0-24-10.7-24-24V472c0-13.3 10.7-24 24-24h88c8.8 0 16-7.2 16-16v-8-9.3l-58.4-4.9c-12.2-1-21.6-11.2-21.6-23.4c0-10.8 7.3-20.2 17.8-22.8L400 348V336v-8V312c0-13.3 10.7-24 24-24h24.4c8.6 0 15.6-7 15.6-15.6c0-4.1-1.6-8.1-4.6-11L455 257c-18.1-18.1-30.6-39.4-40.6-60.1c-5-10.4-9.6-21-13.9-31.1l-1.5-3.5c-3.8-9-7.5-17.6-11.4-25.9C363.7 84.7 308.1 48 248 48H224zm80 144a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM488 360a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm104 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm24 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM528 336a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm88-72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM528 432a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faGripLines = {\n prefix: 'far',\n iconName: 'grip-lines',\n icon: [448, 512, [], \"f7a4\", \"M448 192c0-13.3-10.7-24-24-24L24 168c-13.3 0-24 10.7-24 24s10.7 24 24 24l400 0c13.3 0 24-10.7 24-24zm0 128c0-13.3-10.7-24-24-24L24 296c-13.3 0-24 10.7-24 24s10.7 24 24 24l400 0c13.3 0 24-10.7 24-24z\"]\n};\nvar faThumbsDown = {\n prefix: 'far',\n iconName: 'thumbs-down',\n icon: [512, 512, [128078, 61576], \"f165\", \"M323.8 477.2c-38.2 10.9-78.1-11.2-89-49.4l-5.7-20c-3.7-13-10.4-25-19.5-35l-51.3-56.4c-8.9-9.8-8.2-25 1.6-33.9s25-8.2 33.9 1.6l51.3 56.4c14.1 15.5 24.4 34 30.1 54.1l5.7 20c3.6 12.7 16.9 20.1 29.7 16.5s20.1-16.9 16.5-29.7l-5.7-20c-5.7-19.9-14.7-38.7-26.6-55.5c-5.2-7.3-5.8-16.9-1.7-24.9s12.3-13 21.3-13L448 288c8.8 0 16-7.2 16-16c0-6.8-4.3-12.7-10.4-15c-7.4-2.8-13-9-14.9-16.7s.1-15.8 5.3-21.7c2.5-2.8 4-6.5 4-10.6c0-7.8-5.6-14.3-13-15.7c-8.2-1.6-15.1-7.3-18-15.2s-1.6-16.7 3.6-23.3c2.1-2.7 3.4-6.1 3.4-9.9c0-6.7-4.2-12.6-10.2-14.9c-11.5-4.5-17.7-16.9-14.4-28.8c.4-1.3 .6-2.8 .6-4.3c0-8.8-7.2-16-16-16H286.5c-12.6 0-25 3.7-35.5 10.7l-61.7 41.1c-11 7.4-25.9 4.4-33.3-6.7s-4.4-25.9 6.7-33.3l61.7-41.1c18.4-12.3 40-18.8 62.1-18.8H384c34.7 0 62.9 27.6 64 62c14.6 11.7 24 29.7 24 50c0 4.5-.5 8.8-1.3 13c15.4 11.7 25.3 30.2 25.3 51c0 6.5-1 12.8-2.8 18.7C504.8 238.3 512 254.3 512 272c0 35.3-28.6 64-64 64l-92.3 0c4.7 10.4 8.7 21.2 11.8 32.2l5.7 20c10.9 38.2-11.2 78.1-49.4 89zM32 384c-17.7 0-32-14.3-32-32V128c0-17.7 14.3-32 32-32H96c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H32z\"]\n};\nvar faUserLock = {\n prefix: 'far',\n iconName: 'user-lock',\n icon: [640, 512, [], \"f502\", \"M144 128a80 80 0 1 1 160 0 80 80 0 1 1 -160 0zm208 0A128 128 0 1 0 96 128a128 128 0 1 0 256 0zM49.3 464c8.9-63.3 63.3-112 129-112h91.4c49.3 0 92.1 27.3 114.3 67.7V352c0-2.1 .1-4.2 .3-6.3c-31-26-71-41.7-114.6-41.7H178.3C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H392.6c-5.4-9.4-8.6-20.3-8.6-32V464H49.3zM528 240c17.7 0 32 14.3 32 32v48H496V272c0-17.7 14.3-32 32-32zm-80 32v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"]\n};\nvar faArrowRightLong = {\n prefix: 'far',\n iconName: 'arrow-right-long',\n icon: [512, 512, [\"long-arrow-right\"], \"f178\", \"M505 273c9.4-9.4 9.4-24.6 0-33.9L369 103c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l95 95L24 232c-13.3 0-24 10.7-24 24s10.7 24 24 24l406.1 0-95 95c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L505 273z\"]\n};\nvar faLongArrowRight = faArrowRightLong;\nvar faTicketsAirline = {\n prefix: 'far',\n iconName: 'tickets-airline',\n icon: [640, 512, [\"tickets-perforated-plane\", \"tickets-plane\"], \"e29b\", \"M144 96V320c0 8.8 7.2 16 16 16H576c8.8 0 16-7.2 16-16V281.8c-24-15.7-40-42.8-40-73.8s16-58.1 40-73.8V96c0-8.8-7.2-16-16-16H160c-8.8 0-16 7.2-16 16zm16-64H576c35.3 0 64 28.7 64 64v56c0 8.8-7.4 15.7-15.6 19.1C610.1 177.2 600 191.4 600 208s10.1 30.8 24.4 36.9c8.1 3.4 15.6 10.3 15.6 19.1v56c0 35.3-28.7 64-64 64H160c-35.3 0-64-28.7-64-64V96c0-35.3 28.7-64 64-64zm320 80a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm0 64a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm16 48a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm-16 80a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM24 96c13.3 0 24 10.7 24 24V360c0 39.8 32.2 72 72 72H520c13.3 0 24 10.7 24 24s-10.7 24-24 24H120C53.7 480 0 426.3 0 360V120c0-13.3 10.7-24 24-24zm264.4 80l-23.2-69.5c-1.7-5.2 2.1-10.5 7.6-10.5H304c8.5 0 16.4 4.5 20.7 11.9L364.4 176h40.3c16.1 0 31.5 6.4 42.8 17.7c7.9 7.9 7.9 20.7 0 28.5c-11.4 11.4-26.8 17.7-42.8 17.7H364.4l-39.7 68.1c-4.3 7.4-12.2 11.9-20.7 11.9H272.9c-5.5 0-9.3-5.3-7.6-10.5L288.4 240H245.8l-19.2 25.6c-3 4-7.8 6.4-12.8 6.4H200c-5.2 0-9-4.9-7.8-9.9l12.5-50.2c.6-2.5 .6-5.2 0-7.8l-12.5-50.2c-1.3-5 2.6-9.9 7.8-9.9h13.8c5 0 9.8 2.4 12.8 6.4L245.8 176h42.7z\"]\n};\nvar faTicketsPerforatedPlane = faTicketsAirline;\nvar faTicketsPlane = faTicketsAirline;\nvar faTentDoublePeak = {\n prefix: 'far',\n iconName: 'tent-double-peak',\n icon: [576, 512, [], \"e627\", \"M131.3 93.4l30-37.5 6.1 6.1C199.4 94 242.8 112 288 112s88.6-18 120.6-49.9l6.1-6.1 30 37.5c16 20 34.5 37.9 55 53.3L528 168v24H312 264 48V168l28.4-21.3c20.5-15.4 39-33.3 55-53.3zM264 240V464L48 464V240H264zm48 0H528V464l-112 0L312 240zM393.4 9.4L374.6 28.1C351.7 51.1 320.5 64 288 64s-63.7-12.9-86.6-35.9L182.6 9.4C176.2 2.9 167.3-.5 158.2 0s-17.5 4.9-23.2 12L93.9 63.5c-13.5 16.9-29 31.9-46.3 44.9L12.8 134.4C4.7 140.4 0 149.9 0 160V480c0 17.7 14.3 32 32 32H544c17.7 0 32-14.3 32-32V160c0-10.1-4.7-19.6-12.8-25.6l-34.7-26.1c-17.3-12.9-32.8-28-46.3-44.9L441 12C435.3 4.9 426.9 .6 417.8 0s-18 2.9-24.4 9.3z\"]\n};\nvar faAnchorCircleXmark = {\n prefix: 'far',\n iconName: 'anchor-circle-xmark',\n icon: [640, 512, [], \"e4ac\", \"M320 80a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM288 0c-44.2 0-80 35.8-80 80c0 35.9 23.7 66.3 56.3 76.4c-.2 1.2-.3 2.4-.3 3.6v32H216c-13.3 0-24 10.7-24 24s10.7 24 24 24h48V464H240c-73.7 0-133.7-58.6-135.9-131.8l16.3 14c10.1 8.6 25.2 7.5 33.8-2.6s7.5-25.2-2.6-33.8l-56-48c-9-7.7-22.3-7.7-31.2 0l-56 48c-10.1 8.6-11.2 23.8-2.6 33.8s23.8 11.2 33.8 2.6L56 332.1C58.2 431.8 139.8 512 240 512h48 48c17.2 0 33.9-2.4 49.7-6.8c-14.7-11.8-27.4-25.9-37.6-41.7c-4 .4-8 .5-12.1 .5H312V240h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H312V160c0-1.2-.1-2.4-.3-3.6C344.3 146.3 368 115.9 368 80c0-44.2-35.8-80-80-80zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm59.3-180.7L518.6 368l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L496 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L473.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L496 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faEllipsis = {\n prefix: 'far',\n iconName: 'ellipsis',\n icon: [448, 512, [\"ellipsis-h\"], \"f141\", \"M432 256a48 48 0 1 1 -96 0 48 48 0 1 1 96 0zm-160 0a48 48 0 1 1 -96 0 48 48 0 1 1 96 0zM64 304a48 48 0 1 1 0-96 48 48 0 1 1 0 96z\"]\n};\nvar faEllipsisH = faEllipsis;\nvar faNfcSlash = {\n prefix: 'far',\n iconName: 'nfc-slash',\n icon: [640, 512, [], \"e1fc\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-86.8-68V96c0-35.3-28.7-64-64-64H160c-21.6 0-40.7 10.7-52.3 27.1L38.8 5.1zM145.7 88.9c2.6-5.3 8.1-8.9 14.3-8.9H480c8.8 0 16 7.2 16 16V363.5l-32-25.1V152c0-22.1-17.9-40-40-40H336c-22.1 0-40 17.9-40 40v54.7l-60-47c11.4-1.9 20-11.8 20-23.7c0-13.3-10.7-24-24-24H216c-10.5 0-20.1 4-27.2 10.7L145.7 88.9zM416 300.8l-48.5-38c.3-2.2 .5-4.5 .5-6.8c0-17.8-9.7-33.3-24-41.6V160h72V300.8zm70.9 178.9L426.5 432H160c-8.8 0-16-7.2-16-16V209.5L96 171.6V416c0 35.3 28.7 64 64 64H480c2.3 0 4.6-.1 6.9-.4zM385.8 400l-60.9-48H224V272.5l-48-37.8V360c0 22.1 17.9 40 40 40H385.8z\"]\n};\nvar faChessPawn = {\n prefix: 'far',\n iconName: 'chess-pawn',\n icon: [320, 512, [9823], \"f443\", \"M232 152A72 72 0 1 0 88 152a72 72 0 1 0 144 0zm24 120H243.4l10.7 80H205.7L195 272H160 125l-10.7 80H65.9l10.7-80H64c-13.3 0-24-10.7-24-24s10.7-24 24-24c-15.1-20.1-24-45-24-72C40 85.7 93.7 32 160 32s120 53.7 120 120c0 27-8.9 51.9-24 72c13.3 0 24 10.7 24 24s-10.7 24-24 24zM52.7 464H267.3l-16.6-32H69.2L52.7 464zm207.9-80c12 0 22.9 6.7 28.4 17.3l26.5 51.2c3 5.8 4.6 12.2 4.6 18.7c0 22.5-18.2 40.8-40.8 40.8H40.8C18.2 512 0 493.8 0 471.2c0-6.5 1.6-12.9 4.6-18.7l26.5-51.2C36.5 390.7 47.5 384 59.5 384h201z\"]\n};\nvar faKitMedical = {\n prefix: 'far',\n iconName: 'kit-medical',\n icon: [576, 512, [\"first-aid\"], \"f479\", \"M144 432H432V80H144V432zm-48 0V80H64c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H96zM64 32H96h24 24H432h24 24 32c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H480 456 432 144 120 96 64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32zM480 432h32c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H480V432zM256 176c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H320v48c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V288H208c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16h48V176z\"]\n};\nvar faFirstAid = faKitMedical;\nvar faGrid2Plus = {\n prefix: 'far',\n iconName: 'grid-2-plus',\n icon: [512, 512, [], \"e197\", \"M176 80H80v96h96V80zM80 32h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48zm96 304H80v96h96V336zM80 288h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48V336c0-26.5 21.5-48 48-48zM336 80v96h96V80H336zm-48 0c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H336c-26.5 0-48-21.5-48-48V80zm96 192c13.3 0 24 10.7 24 24v64h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H408v64c0 13.3-10.7 24-24 24s-24-10.7-24-24V408H296c-13.3 0-24-10.7-24-24s10.7-24 24-24h64V296c0-13.3 10.7-24 24-24z\"]\n};\nvar faBells = {\n prefix: 'far',\n iconName: 'bells',\n icon: [640, 512, [], \"f77f\", \"M230.8 245.5C203.2 170.3 232.4 88.2 296.5 46c-4.5-2.2-9.1-4.2-13.9-6C214 15.1 138 50.4 112.8 119L98.2 159C84 197.8 57.6 231 23 253.7L14.9 259C4.7 265.7-.8 277.5 .6 289.5s9.4 22.2 20.8 26.3l230.5 83.9 1.1-3.9c9.4-32.5 8.1-67.2-3.5-99.1l-18.7-51.2zm128.5-142c46.5-16.9 97.9 7 114.9 53.4l18.8 51.2c15.8 43.1 43.6 80.8 80.1 108.5L333.7 403.7c9.9-44.6 6.9-91.2-9-134.4L306 218.2c-17-46.4 6.9-97.8 53.3-114.7zM283.9 404.6l-4.6 15.8c-3.3 11.6 .1 24 9 32.2s21.5 10.8 32.8 6.7L618.6 351.1c11.3-4.1 19.4-14.2 20.8-26.2s-4-23.7-14-30.4l-13.7-9.2c-33.8-22.7-59.6-55.4-73.6-93.6l-18.8-51.2C493.2 69.2 414.1 32.5 342.8 58.4s-108 104.8-81.9 176.2l18.8 51.2c14 38.2 15.5 79.8 4.3 118.9zM480.8 480c35.6 0 64.5-28.8 64.5-64.3c0-1.3 0-2.6-.1-3.9L429.1 454.1c11.8 15.7 30.6 25.9 51.7 25.9zM94.3 376.2c-.3 2.5-.4 5-.4 7.5c0 35.5 28.9 64.3 64.5 64.3c22.3 0 41.9-11.3 53.5-28.4L94.3 376.2z\"]\n};\nvar faPersonThroughWindow = {\n prefix: 'far',\n iconName: 'person-through-window',\n icon: [640, 512, [], \"e5a9\", \"M304 48V66.4c0 46.1-28.9 87.3-72.2 103.1C169.5 192.1 128 251.3 128 317.6l0 82.4H48L48 48H304zm48 0H592V400H510.3L499 385.4l-75.2-97.8c-7.6-9.8-19.3-15.6-31.7-15.6L333 272l-49.4-75.7c42.1-28.9 68.4-77.2 68.4-130V48zm97.7 352H365.9l32 48H592c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48V400c0 26.5 21.5 48 48 48H303.9l36.2 53.5c7.4 11 22.4 13.8 33.3 6.4s13.8-22.4 6.4-33.3L297.2 352.5 343.6 320l44.6 0 61.5 80zm-178.3 0H176l0-82.4c0-15.7 3.3-30.8 9.4-44.5l86 126.9zm-1.1-87.3l-54.1-79.9c7.3-6 15.4-11 24.2-15l51.9 79.6-22 15.4zM192 128a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nvar faToolbox = {\n prefix: 'far',\n iconName: 'toolbox',\n icon: [512, 512, [129520], \"f552\", \"M184 80l144 0c4.4 0 8 3.6 8 8l0 40-160 0 0-40c0-4.4 3.6-8 8-8zm-56 8l0 40-28.1 0c-12.7 0-24.9 5.1-33.9 14.1L14.1 193.9c-9 9-14.1 21.2-14.1 33.9L0 328l0 88c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-88 0-100.1c0-12.7-5.1-24.9-14.1-33.9l-51.9-51.9c-9-9-21.2-14.1-33.9-14.1L384 128l0-40c0-30.9-25.1-56-56-56L184 32c-30.9 0-56 25.1-56 56zM464 304l-96 0 0-16c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 16-128 0 0-16c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 16-96 0 0-76.1L99.9 176l312.2 0L464 227.9l0 76.1zM48 352l96 0 0 16c0 13.3 10.7 24 24 24s24-10.7 24-24l0-16 128 0 0 16c0 13.3 10.7 24 24 24s24-10.7 24-24l0-16 96 0 0 64c0 8.8-7.2 16-16 16L64 432c-8.8 0-16-7.2-16-16l0-64z\"]\n};\nvar faEnvelopeDot = {\n prefix: 'far',\n iconName: 'envelope-dot',\n icon: [576, 512, [\"envelope-badge\"], \"e16f\", \"M496 160A80 80 0 1 0 496 0a80 80 0 1 0 0 160zm16 224V190.9c-5.2 .7-10.6 1.1-16 1.1c-22.5 0-43.5-6.6-61-18.1L291.5 291.7c-20.7 17-50.4 17-71.1 0L48 150.1V128c0-8.8 7.2-16 16-16H388.6c-3-10.1-4.6-20.9-4.6-32c0-5.4 .4-10.8 1.1-16H64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64zM48 212.2L190 328.8c38.4 31.5 93.7 31.5 132 0L464 212.2V384c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V212.2z\"]\n};\nvar faEnvelopeBadge = faEnvelopeDot;\nvar faMagnifyingGlassWaveform = {\n prefix: 'far',\n iconName: 'magnifying-glass-waveform',\n icon: [512, 512, [], \"e661\", \"M208 48a160 160 0 1 1 0 320 160 160 0 1 1 0-320zm0 368c48.8 0 93.7-16.8 129.1-44.9L471 505c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L371.1 337.1C399.2 301.7 416 256.8 416 208C416 93.1 322.9 0 208 0S0 93.1 0 208S93.1 416 208 416zm24-280c0-13.3-10.7-24-24-24s-24 10.7-24 24V280c0 13.3 10.7 24 24 24s24-10.7 24-24V136zm-80 32c0-13.3-10.7-24-24-24s-24 10.7-24 24v80c0 13.3 10.7 24 24 24s24-10.7 24-24V168zm160 16c0-13.3-10.7-24-24-24s-24 10.7-24 24v48c0 13.3 10.7 24 24 24s24-10.7 24-24V184z\"]\n};\nvar faHandsHoldingCircle = {\n prefix: 'far',\n iconName: 'hands-holding-circle',\n icon: [640, 512, [], \"e4fb\", \"M320 256A128 128 0 1 0 320 0a128 128 0 1 0 0 256zM144 136c0-39.8-32.2-72-72-72S0 96.2 0 136V352.2c0 31.8 12.6 62.3 35.1 84.9L103 505c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L69.1 403.1C55.6 389.6 48 371.3 48 352.2V136c0-13.3 10.7-24 24-24s24 10.7 24 24V281.9c0 25.6 10.2 50.2 28.3 68.4l15.9 15.9 0 0L167 393l0 0 16 16c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-16-16 0 0-26.7-26.7c-4-4-6.2-9.4-6.2-15c0-11.7 9.5-21.3 21.3-21.3c5.6 0 11 2.2 15 6.2l61.4 61.4C285.1 383 296 409.4 296 436.8V488c0 13.3 10.7 24 24 24s24-10.7 24-24V436.8c0-27.4 10.9-53.8 30.3-73.2l61.4-61.4c4-4 9.4-6.2 15-6.2c11.7 0 21.3 9.5 21.3 21.3c0 5.6-2.2 11-6.2 15L439 359l0 0-16 16c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l16-16 0 0 26.7-26.7 0 0 15.9-15.9c18.1-18.1 28.3-42.7 28.3-68.4V136c0-13.3 10.7-24 24-24s24 10.7 24 24V352.2c0 19.1-7.6 37.4-21.1 50.9L503 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l67.9-67.9c22.5-22.5 35.1-53 35.1-84.9V136c0-39.8-32.2-72-72-72s-72 32.2-72 72V264.8c-12.1-10.5-28-16.8-45.3-16.8c-18.4 0-36 7.3-49 20.3l-61.4 61.4c-7.7 7.7-14.5 16.2-20.4 25.3c-5.8-9.1-12.6-17.5-20.4-25.3l-61.4-61.4c-13-13-30.6-20.3-49-20.3c-17.3 0-33.1 6.3-45.3 16.8V136z\"]\n};\nvar faBug = {\n prefix: 'far',\n iconName: 'bug',\n icon: [512, 512, [], \"f188\", \"M256 0c53 0 96 43 96 96v3.6c0 15.7-12.7 28.4-28.4 28.4H188.4c-15.7 0-28.4-12.7-28.4-28.4V96c0-53 43-96 96-96zM39 103c9.4-9.4 24.6-9.4 33.9 0l72.4 72.4C161.3 165.7 180 160 200 160H312c20 0 38.7 5.7 54.6 15.5L439 103c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-72.4 72.4C410.3 225.3 416 244 416 264h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H416v8c0 27.2-6.8 52.8-18.8 75.3L473 471c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-70.9-70.9C339.3 462.5 299.7 480 256 480s-83.3-17.5-112.2-45.9L73 505c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l75.8-75.8C102.8 372.8 96 347.2 96 320v-8H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H96c0-20 5.7-38.7 15.5-54.6L39 137c-9.4-9.4-9.4-24.6 0-33.9zM144 264v56c0 53.6 37.7 98.4 88 109.4V280c0-13.3 10.7-24 24-24s24 10.7 24 24V429.4c50.3-11 88-55.8 88-109.4V264c0-30.9-25.1-56-56-56H200c-30.9 0-56 25.1-56 56z\"]\n};\nvar faBowlChopsticks = {\n prefix: 'far',\n iconName: 'bowl-chopsticks',\n icon: [512, 512, [], \"e2e9\", \"M18.5 125.1C8.8 126.6 0 119.1 0 109.3C0 101.6 5.5 95 13.1 93.6L484.4 5.2C498.7 2.5 512 13.5 512 28.1c0 11.5-8.4 21.2-19.7 23l-473.8 74zM0 159.8c0-8.8 7-16 15.7-16.2l471.9-14.7C501 128.3 512 139 512 152.4c0 13-10.6 23.6-23.6 23.6H16.2C7.3 176 0 168.7 0 159.8zM151.5 432.5c11.5 5.2 20.4 14.7 25 26.4c1.2 3.1 4.2 5.1 7.5 5.1H328c3.3 0 6.3-2 7.5-5.1c4.5-11.7 13.5-21.2 25-26.4C421.6 404.8 464 343.3 464 272H48c0 71.3 42.4 132.8 103.5 160.5zM0 272c0-26.5 21.5-48 48-48H464c26.5 0 48 21.5 48 48c0 90.8-54.1 169-131.7 204.2c-8.1 21-28.4 35.8-52.3 35.8H184c-23.8 0-44.2-14.9-52.3-35.8C54.1 441 0 362.8 0 272z\"]\n};\nvar faCreditCard = {\n prefix: 'far',\n iconName: 'credit-card',\n icon: [576, 512, [128179, 62083, \"credit-card-alt\"], \"f09d\", \"M512 80c8.8 0 16 7.2 16 16v32H48V96c0-8.8 7.2-16 16-16H512zm16 144V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V224H528zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm56 304c-13.3 0-24 10.7-24 24s10.7 24 24 24h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H120zm128 0c-13.3 0-24 10.7-24 24s10.7 24 24 24H360c13.3 0 24-10.7 24-24s-10.7-24-24-24H248z\"]\n};\nvar faCreditCardAlt = faCreditCard;\nvar faCircleS = {\n prefix: 'far',\n iconName: 'circle-s',\n icon: [512, 512, [], \"e121\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM207.6 196.2c1.1-6.2 5-11.8 15.4-15.8c11-4.3 27.6-6 47.8-2.9c6 .9 20.6 4 27.3 5.7c12.8 3.3 25.9-4.5 29.2-17.3s-4.5-25.9-17.3-29.2c-7.7-2-23.9-5.5-32-6.7c-25.6-3.9-51.3-2.6-72.6 5.7c-21.9 8.6-40.3 25.7-45 52c-2.6 14.4-1.3 28 4.4 40.3c5.6 12.1 14.7 20.8 24.1 27.2c17.2 11.6 40.3 18.1 58.6 23.2l2 .6c21.1 5.9 36.7 10.6 46.8 17.4c4.5 3 6.5 5.6 7.4 7.7c.9 1.9 1.8 5.2 .6 11.6c-1.1 6.2-5 11.8-15.4 15.8c-11 4.3-27.5 6-47.7 2.9c-12.2-1.9-36.1-8.9-50-13.4c-12.6-4-26.1 2.9-30.2 15.5s2.9 26.1 15.5 30.2c13.6 4.4 40.9 12.5 57.3 15.1l0 0 .1 0c25.6 3.9 51.3 2.6 72.6-5.7c21.9-8.6 40.3-25.7 45-52c2.6-14.4 1.4-28-4.4-40.3c-5.6-12.1-14.7-20.8-24.1-27.2c-17.2-11.6-40.3-18.1-58.6-23.2l-2-.6c-21.1-5.9-36.7-10.6-46.8-17.4c-4.5-3-6.5-5.6-7.4-7.7c-.9-1.9-1.8-5.2-.6-11.6z\"]\n};\nvar faBoxBallot = {\n prefix: 'far',\n iconName: 'box-ballot',\n icon: [576, 512, [128499], \"f735\", \"M176 208H400V48H176V208zM128 32c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32V224c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32V32zM48 160H96v48H48V320H528V208H480V160h48c26.5 0 48 21.5 48 48V320v24 24 96c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V368 344 320 208c0-26.5 21.5-48 48-48zM528 368H48l0 96H528V368z\"]\n};\nvar faCar = {\n prefix: 'far',\n iconName: 'car',\n icon: [512, 512, [128664, \"automobile\"], \"f1b9\", \"M127.7 106.8L103.4 176H408.6l-24.2-69.2c-5.6-16-20.8-26.8-37.8-26.8H165.4c-17 0-32.1 10.7-37.8 26.8zm-79.6 82L82.3 90.9C94.7 55.6 128 32 165.4 32H346.6c37.4 0 70.7 23.6 83.1 58.9l34.3 97.9C492.6 205.4 512 236.4 512 272v80 48 56c0 13.3-10.7 24-24 24s-24-10.7-24-24V400H48v56c0 13.3-10.7 24-24 24s-24-10.7-24-24V400 352 272c0-35.6 19.3-66.6 48.1-83.2zM416 224H96c-26.5 0-48 21.5-48 48v80H464V272c0-26.5-21.5-48-48-48zM112 256a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm256 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faAutomobile = faCar;\nvar faHandHoldingHand = {\n prefix: 'far',\n iconName: 'hand-holding-hand',\n icon: [512, 512, [], \"e4f7\", \"M146.8 318.9c5.8-3.9 12.7-6 19.7-6H305.8c7.9 0 14.2 6.4 14.2 14.2s-6.4 14.2-14.2 14.2H284.4 227.6c-11.8 0-21.3 9.6-21.3 21.3s9.6 21.3 21.3 21.3h56.9 21.3 42.7c3.9 0 7.8-1.1 11.2-3.2l83.1-51.1c2.8-1.7 5.9-2.6 9.2-2.6h6.6c6 0 10.9 4.9 10.9 10.9c0 3.7-1.9 7.1-5 9.2l-85 55c-10.4 6.7-22.4 10.3-34.8 10.3H21.3C9.6 412.4 0 422 0 433.8s9.6 21.3 21.3 21.3H344.6c20.6 0 40.7-5.9 57.9-17.1l85-55c15.3-9.9 24.5-26.8 24.5-45c0-29.6-24-53.6-53.6-53.6h-6.6c-11.1 0-22 3.1-31.5 8.9l-57.7 35.5c0-.6 0-1.2 0-1.8c0-31.4-25.5-56.9-56.9-56.9H166.6c-15.4 0-30.5 4.6-43.4 13.1L57.5 327.1H21.3C9.6 327.1 0 336.7 0 348.4s9.6 21.3 21.3 21.3H64c4.2 0 8.3-1.2 11.8-3.6l71-47.3zM365.2 193.1c-5.8 3.9-12.7 6-19.7 6H206.2c-7.9 0-14.2-6.4-14.2-14.2s6.4-14.2 14.2-14.2h21.3 56.9c11.8 0 21.3-9.6 21.3-21.3s-9.6-21.3-21.3-21.3H227.6 206.2 163.6c-3.9 0-7.8 1.1-11.2 3.2L69.3 182.3c-2.8 1.7-5.9 2.6-9.2 2.6H53.6c-6 0-10.9-4.9-10.9-10.9c0-3.7 1.9-7.1 5-9.2l85-55c10.4-6.7 22.4-10.3 34.8-10.3H490.7c11.8 0 21.3-9.6 21.3-21.3s-9.6-21.3-21.3-21.3H167.4c-20.6 0-40.7 5.9-57.9 17.1l-85 55C9.2 138.9 0 155.8 0 174c0 29.6 24 53.6 53.6 53.6h6.6c11.1 0 22-3.1 31.5-8.9l57.7-35.5c0 .6 0 1.2 0 1.8c0 31.4 25.5 56.9 56.9 56.9H345.4c15.4 0 30.5-4.6 43.4-13.1l65.6-43.8h36.2c11.8 0 21.3-9.6 21.3-21.3s-9.6-21.3-21.3-21.3H448c-4.2 0-8.3 1.2-11.8 3.6l-71 47.3z\"]\n};\nvar faUserTieHair = {\n prefix: 'far',\n iconName: 'user-tie-hair',\n icon: [448, 512, [], \"e45f\", \"M304 144V128c0-11.4-2.4-22.2-6.7-32H296c-20.5 0-38.7-9.6-50.4-24.5C231.9 95.7 205.8 112 176 112H145.6c-1 5.2-1.6 10.5-1.6 16v16c0 44.2 35.8 80 80 80s80-35.8 80-80zM224 0c70.7 0 128 57.3 128 128v16c0 70.7-57.3 128-128 128s-128-57.3-128-128V128C96 57.3 153.3 0 224 0zm30.8 418.4l43.8-87.6c3-6 9.4-9.5 15.9-8.4C390.4 335.6 448 401.7 448 481.3c0 17-13.8 30.7-30.7 30.7H30.7C13.8 512 0 498.2 0 481.3c0-79.6 57.6-145.7 133.5-158.9c6.6-1.1 12.9 2.4 15.9 8.4l43.8 87.6 15.9-59.2-18.6-31c-6.4-10.7 1.3-24.2 13.7-24.2H224h19.7c12.4 0 20.1 13.6 13.7 24.2l-18.6 31 15.9 59.2zM118.5 376.3C82.3 391.1 55.4 424.2 49.3 464h113l-43.8-87.7zM285.7 464h113c-6.1-39.8-33-72.9-69.2-87.7L285.7 464z\"]\n};\nvar faPodiumStar = {\n prefix: 'far',\n iconName: 'podium-star',\n icon: [448, 512, [], \"f758\", \"M182.4 72c8.3 14.3 23.8 24 41.6 24h64c26.5 0 48-21.5 48-48s-21.5-48-48-48H224c-17.8 0-33.3 9.7-41.6 24H168c-48.6 0-88 39.4-88 88v32H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H128V112c0-22.1 17.9-40 40-40h14.4zM47.3 224L73.5 455.2c3.7 32.3 31 56.8 63.6 56.8H310.9c32.6 0 59.9-24.4 63.6-56.8L400.7 224H352.4L326.8 449.8c-.9 8.1-7.8 14.2-15.9 14.2H137.1c-8.1 0-15-6.1-15.9-14.2L95.6 224H47.3zm201.5 77.7l-18.2-41.3c-2.6-5.8-10.5-5.8-13.1 0l-18.2 41.3c-1.1 2.4-3.2 4-5.7 4.3l-43.2 5.4c-6.1 .8-8.6 8.7-4 13l31.9 30.9c1.8 1.8 2.7 4.4 2.2 7L171.9 407c-1.2 6.3 5.2 11.2 10.6 8.1l37.9-22.2c2.2-1.3 4.9-1.3 7 0L265.5 415c5.4 3.1 11.8-1.7 10.6-8.1l-8.5-44.6c-.5-2.6 .3-5.2 2.2-7l31.9-30.9c4.5-4.4 2.1-12.3-4-13L254.5 306c-2.5-.3-4.6-2-5.7-4.3z\"]\n};\nvar faUserHairMullet = {\n prefix: 'far',\n iconName: 'user-hair-mullet',\n icon: [448, 512, [\"business-front\", \"party-back\", \"trian-balbot\"], \"e45c\", \"M304 128c0-5.7-.6-11.3-1.7-16.6c-30.6-3.1-58.5-17.9-78.3-40.6c-19.8 22.7-47.6 37.5-78.3 40.6c-1.1 5.4-1.7 10.9-1.7 16.6v16c0 18 6 34.6 16 48h0v0c14.6 19.4 37.8 32 64 32s49.4-12.6 64-32v0h0c10-13.4 16-30 16-48V128zM237.4 271.3c-4.4 .5-8.9 .7-13.4 .7s-9-.2-13.4-.7L193 289c-5.5 5.5-13.2 8-20.8 6.7s-14.2-6.1-17.6-13l-6.1-12.2-19.5 7.8c-9.3 3.7-19.8 1.3-26.6-6s-8.3-18.1-3.8-27c8.5-17 11-22.3 12.2-27.1c.7-2.9 1.1-5.9 1.2-12.3C101.8 187.5 96 166.4 96 144V128c0-7.1 .6-14 1.7-20.7C91.8 102.9 88 95.9 88 88c0-13.3 10.7-24 24-24h1.1C135.3 25.7 176.6 0 224 0s88.7 25.7 110.9 64H336c13.3 0 24 10.7 24 24c0 7.9-3.8 14.9-9.7 19.3c1.1 6.8 1.7 13.7 1.7 20.7v16c0 22.4-5.8 43.5-15.9 61.8c.1 6.4 .5 9.4 1.2 12.3c1.2 4.8 3.7 10.1 12.2 27.1c4.5 8.9 2.9 19.7-3.8 27s-17.3 9.7-26.6 6l-19.5-7.8-6.1 12.2c-3.4 6.9-10 11.7-17.6 13s-15.4-1.3-20.8-6.7l-17.7-17.7zM49.6 464H398.4c-9.3-54.5-56.8-96-113.9-96H163.6c-57.2 0-104.6 41.5-113.9 96zM0 483.6C0 393.2 73.2 320 163.6 320H284.4C374.8 320 448 393.2 448 483.6c0 15.7-12.7 28.4-28.4 28.4H28.4C12.7 512 0 499.3 0 483.6z\"]\n};\nvar faBusinessFront = faUserHairMullet;\nvar faPartyBack = faUserHairMullet;\nvar faTrianBalbot = faUserHairMullet;\nvar faMicrophoneStand = {\n prefix: 'far',\n iconName: 'microphone-stand',\n icon: [512, 512, [127908], \"f8cb\", \"M476.9 204.9l1-1c45.9-46.9 45.6-122.2-1-168.7s-121.8-46.9-168.7-1l-1 .9 0 0-16 16-16 16 0 0-.9 1C251.8 91 240.4 120.7 240 150.5L17.2 388.2C6.1 400 0 415.5 0 431.6c0 16.8 6.7 33 18.6 44.9l16.8 16.8C47.4 505.3 63.5 512 80.4 512c16.1 0 31.7-6.1 43.4-17.2L232 393.4V488c0 13.3 10.7 24 24 24s24-10.7 24-24V348.4L361.5 272c29.8-.4 59.5-11.8 82.4-34.2l1-1 16-16 16-16zM361.9 224L325 187 288 150.1c.5-17.4 7.2-34.6 20.1-48L409.9 203.9c-13.4 12.9-30.7 19.6-48 20.1zm82-54L342.1 68.1c28.2-27.2 73-26.8 100.8 1s28.1 72.7 1 100.8zM80.4 464c-4.1 0-8.1-1.6-11-4.5L52.5 442.6c-2.9-2.9-4.5-6.9-4.5-11c0-3.9 1.5-7.7 4.2-10.6L264.6 194.5 291 221l26.5 26.5L91 459.8c-2.9 2.7-6.7 4.2-10.6 4.2z\"]\n};\nvar faBookOpenReader = {\n prefix: 'far',\n iconName: 'book-open-reader',\n icon: [512, 512, [\"book-reader\"], \"f5da\", \"M256 144a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM256 0a96 96 0 1 1 0 192A96 96 0 1 1 256 0zM228 279l-.2-.1c-.7-.5-2.4-1.5-5.2-2.9c-5.5-2.8-15.4-7.3-30.6-12.2c-28-9-74.2-19.3-144-22.7V417.4c84.9 5 147.1 22.3 184 35.7V282l-4-3zm52 3V453.1c36.9-13.4 99.1-30.7 184-35.7V241.1c-69.9 3.4-116 13.7-144 22.7c-15.1 4.9-25 9.4-30.6 12.2c-2.8 1.4-4.5 2.4-5.2 2.9l-.2 .1-4 3zM32 192.5C199.2 197.4 256 240 256 240s56.8-42.6 224-47.5c17.7-.5 32 13.9 32 31.5V432c0 17.7-14.4 31.9-32 32.7c-114.9 4.7-186.9 33.7-208.8 43.8c-4.8 2.2-9.9 3.5-15.1 3.5s-10.4-1.3-15.1-3.5c-21.9-10.1-93.9-39.1-208.8-43.8c-17.7-.7-32-15-32-32.7V224c0-17.7 14.4-32.1 32-31.5z\"]\n};\nvar faBookReader = faBookOpenReader;\nvar faFamilyDress = {\n prefix: 'far',\n iconName: 'family-dress',\n icon: [512, 512, [], \"e301\", \"M192 64A64 64 0 1 0 64 64a64 64 0 1 0 128 0zM112.3 208H128h15.7 38.9c-4.3-9.8-6.7-20.6-6.7-32c0-2.4 .1-4.8 .3-7.1c-9.6-5.7-20.8-8.9-32.6-8.9H112.3c-28.6 0-53.7 18.9-61.5 46.4L11.7 343.2C5.8 363.7 21.2 384 42.4 384H64V488c0 13.3 10.7 24 24 24s24-10.7 24-24V384h37.5c-3.5-10-5.5-20.8-5.5-32V336H63.6L96.9 219.6c2-6.9 8.2-11.6 15.4-11.6zM336 176c0 11.4-2.4 22.2-6.7 32h38.9H384h15.7c7.1 0 13.4 4.7 15.4 11.6L448.4 336H368v16c0 11.2-1.9 22-5.5 32H400V488c0 13.3 10.7 24 24 24s24-10.7 24-24V384h21.6c21.3 0 36.6-20.3 30.8-40.8L461.3 206.4c-7.8-27.5-33-46.4-61.5-46.4H368.3c-11.8 0-23 3.2-32.6 8.9c.2 2.3 .3 4.7 .3 7.1zM448 64A64 64 0 1 0 320 64a64 64 0 1 0 128 0zM256 224a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm32 112v16c0 8.8-7.2 16-16 16H256 240c-8.8 0-16-7.2-16-16V336c0-17.7 14.3-32 32-32s32 14.3 32 32zm48 16V336c0-44.2-35.8-80-80-80s-80 35.8-80 80v16c0 24 13.2 44.9 32.7 55.8c-.5 2.7-.7 5.4-.7 8.2v64c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V416c0-2.8-.2-5.5-.7-8.2C322.8 396.9 336 376 336 352z\"]\n};\nvar faCircleX = {\n prefix: 'far',\n iconName: 'circle-x',\n icon: [512, 512, [], \"e12e\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM186.3 136.5c-8.6-10.1-23.7-11.4-33.8-2.8s-11.4 23.7-2.8 33.8L224.6 256l-74.9 88.5c-8.6 10.1-7.3 25.3 2.8 33.8s25.3 7.3 33.8-2.8L256 293.2l69.7 82.3c8.6 10.1 23.7 11.4 33.8 2.8s11.4-23.7 2.8-33.8L287.4 256l74.9-88.5c8.6-10.1 7.3-25.3-2.8-33.8s-25.3-7.3-33.8 2.8L256 218.8l-69.7-82.3z\"]\n};\nvar faCabin = {\n prefix: 'far',\n iconName: 'cabin',\n icon: [512, 512, [], \"e46d\", \"M256 54.1L95.3 176H416.7L256 54.1zM231.8 12.2c14.3-10.8 34.1-10.8 48.4 0L432 127.4V56c0-13.3 10.7-24 24-24s24 10.7 24 24V163.8l22.5 17.1c8.2 6.2 11.5 17 8.2 26.8s-12.4 16.3-22.7 16.3H24c-10.3 0-19.5-6.6-22.7-16.3s0-20.5 8.2-26.8L231.8 12.2zM32 296c0-13.3 10.7-24 24-24H168c13.3 0 24 10.7 24 24s-10.7 24-24 24H56c-13.3 0-24-10.7-24-24zm0 192c0-13.3 10.7-24 24-24H168c13.3 0 24 10.7 24 24s-10.7 24-24 24H56c-13.3 0-24-10.7-24-24zM56 368H168c13.3 0 24 10.7 24 24s-10.7 24-24 24H56c-13.3 0-24-10.7-24-24s10.7-24 24-24zm264-72c0-13.3 10.7-24 24-24H456c13.3 0 24 10.7 24 24s-10.7 24-24 24H344c-13.3 0-24-10.7-24-24zm24 168H456c13.3 0 24 10.7 24 24s-10.7 24-24 24H344c-13.3 0-24-10.7-24-24s10.7-24 24-24zm-24-72c0-13.3 10.7-24 24-24H456c13.3 0 24 10.7 24 24s-10.7 24-24 24H344c-13.3 0-24-10.7-24-24zM224 128a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faMountainSun = {\n prefix: 'far',\n iconName: 'mountain-sun',\n icon: [640, 512, [], \"e52f\", \"M480 80a80 80 0 1 1 160 0A80 80 0 1 1 480 80zM412.7 281.7l48.2-79C465 196.1 472.2 192 480 192s15 4.1 19.1 10.7l132 216.3c5.8 9.6 8.9 20.6 8.9 31.8c0 33.8-27.4 61.1-61.1 61.1H456.1h0H55.9C25 512 0 487 0 456.1c0-10.5 3-20.8 8.6-29.7L225.2 81c6.6-10.6 18.3-17 30.8-17s24.1 6.4 30.8 17l126 200.7zm28.5 45.4l62.2 99.2c5.6 8.9 8.6 19.2 8.6 29.7c0 2.7-.2 5.3-.6 7.9h67.4c7.2 0 13.1-5.9 13.1-13.1c0-2.4-.7-4.8-1.9-6.8L480 263.6l-38.8 63.6zM456.1 464c4.4 0 7.9-3.5 7.9-7.9c0-1.5-.4-2.9-1.2-4.2L256 122.3 49.2 451.9c-.8 1.3-1.2 2.7-1.2 4.2c0 4.4 3.5 7.9 7.9 7.9H456.1z\"]\n};\nvar faChartSimpleHorizontal = {\n prefix: 'far',\n iconName: 'chart-simple-horizontal',\n icon: [448, 512, [], \"e474\", \"M400 240L48 240l0 32 352 0 0-32zm48 32c0 26.5-21.5 48-48 48L48 320c-26.5 0-48-21.5-48-48l0-32c0-26.5 21.5-48 48-48l352 0c26.5 0 48 21.5 48 48l0 32zM208 400L48 400l0 32 160 0 0-32zm48 32c0 26.5-21.5 48-48 48L48 480c-26.5 0-48-21.5-48-48l0-32c0-26.5 21.5-48 48-48l160 0c26.5 0 48 21.5 48 48l0 32zm80-320l0-32L48 80l0 32 288 0zm0 48L48 160c-26.5 0-48-21.5-48-48L0 80C0 53.5 21.5 32 48 32l288 0c26.5 0 48 21.5 48 48l0 32c0 26.5-21.5 48-48 48z\"]\n};\nvar faBluetooth = {\n prefix: 'far',\n iconName: 'bluetooth',\n icon: [384, 512, [], \"f293\", \"M182.1 2.1c8.6-3.9 18.7-2.4 25.8 3.9l136 120c5.3 4.7 8.2 11.4 8.1 18.4s-3.3 13.6-8.7 18.1L229.8 256l113.5 93.5c5.4 4.5 8.6 11.1 8.7 18.1s-2.8 13.8-8.1 18.4l-136 120c-7.1 6.2-17.2 7.8-25.8 3.9S168 497.4 168 488V306.9L71.3 386.5c-10.2 8.4-25.4 7-33.8-3.3s-7-25.4 3.3-33.8L154.2 256 40.7 162.5C30.5 154.1 29 139 37.5 128.7s23.6-11.7 33.8-3.3L168 205.1V24c0-9.4 5.5-18 14.1-21.9zM216 306.9v128l75-66.2-75-61.8zm0-101.7l75-61.8L216 77.2v128z\"]\n};\nvar faArrowsLeftRightToLine = {\n prefix: 'far',\n iconName: 'arrows-left-right-to-line',\n icon: [640, 512, [], \"e4ba\", \"M24 64c13.3 0 24 10.7 24 24l0 336c0 13.3-10.7 24-24 24s-24-10.7-24-24L0 88C0 74.7 10.7 64 24 64zm217 71c9.4 9.4 9.4 24.6 0 33.9l-63 63 284.1 0-63-63c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L537 239c9.4 9.4 9.4 24.6 0 33.9L433 377c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l63-63-284.1 0 63 63c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L103 273c-9.4-9.4-9.4-24.6 0-33.9L207 135c9.4-9.4 24.6-9.4 33.9 0zM640 88V424c0 13.3-10.7 24-24 24s-24-10.7-24-24V88c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faHandBackPointLeft = {\n prefix: 'far',\n iconName: 'hand-back-point-left',\n icon: [512, 512, [], \"e19f\", \"M0 176c0-35.3 28.7-64 64-64l188.8 0c3.6-5.2 7.6-10.2 11.9-14.9l18.4-20.3C299.9 58.5 323.5 48 348.3 48l10.2 0c54.1 0 104.1 28.7 131.3 75.4l1.5 2.6c13.6 23.2 20.7 49.7 20.7 76.6L512 328c0 66.3-53.7 120-120 120l-8 0-96 0c-35.3 0-64-28.7-64-64c0-2.8 .2-5.6 .5-8.3c-19.4-11-32.5-31.8-32.5-55.7c0-5.3 .7-10.5 1.9-15.5c-20.2-10.8-33.9-32-33.9-56.5c0-2.7 .2-5.4 .5-8L64 240c-35.3 0-64-28.7-64-64zm64-16c-8.8 0-16 7.2-16 16s7.2 16 16 16l136 0c10.3 0 19.5 6.6 22.8 16.4s-.1 20.6-8.3 26.8c-3.9 3-6.4 7.6-6.4 12.8c0 8.8 7.2 16 16 16l8 0c10.3 0 19.5 6.6 22.8 16.4s-.1 20.6-8.3 26.8c-3.9 3-6.4 7.6-6.4 12.8c0 8.8 7.2 16 16 16c9.1 0 17.4 5.1 21.5 13.3s3.2 17.9-2.3 25.1c-2 2.7-3.2 6-3.2 9.6c0 8.8 7.2 16 16 16l96 0 8 0c39.8 0 72-32.2 72-72l0-125.4c0-18.4-4.9-36.5-14.2-52.4l20-11.7-20 11.7-1.5-2.6c-18.6-32-52.8-51.6-89.8-51.6l-10.2 0c-11.3 0-22 4.8-29.6 13.1L301.5 128l42.5 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-78 0-2 0L64 160z\"]\n};\nvar faMessageDots = {\n prefix: 'far',\n iconName: 'message-dots',\n icon: [512, 512, [\"comment-alt-dots\", \"messaging\"], \"f4a3\", \"M208 416c0-26.5-21.5-48-48-48H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H448c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H309.3c-10.4 0-20.5 3.4-28.8 9.6L208 432V416zm-.2 76.2l.2-.2 101.3-76H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h48 48v48 4 .3 6.4V496c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L202.7 496l5.1-3.8zM144 240a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm144-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm80 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faCommentAltDots = faMessageDots;\nvar faMessaging = faMessageDots;\nvar faFileHeart = {\n prefix: 'far',\n iconName: 'file-heart',\n icon: [384, 512, [], \"e176\", \"M48 448V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zM93.7 306.8c0 14.4 5.8 28.3 16.2 38.4l70.9 69c6.2 6 16.1 6 22.3 0l70.9-69c10.4-10.1 16.2-23.9 16.2-38.4c0-29.5-23.9-53.5-53.5-53.5h-1.5c-14.3 0-28.1 5.6-38.4 15.6l-4.9 4.8-4.9-4.8c-10.3-10-24-15.6-38.4-15.6h-1.5c-29.5 0-53.5 23.9-53.5 53.5z\"]\n};\nvar faBeerMug = {\n prefix: 'far',\n iconName: 'beer-mug',\n icon: [512, 512, [\"beer-foam\"], \"e0b3\", \"M208 0c-26.8 0-51.1 11-68.5 28.8l-.1 0C126.9 20.7 112 16 96 16C51.8 16 16 51.8 16 96s35.8 80 80 80c16 0 30.9-4.7 43.4-12.8l.1 0C156.9 181 181.2 192 208 192c26.5 0 50.6-10.8 68-28.2l0 0c12.8 8.5 28.2 13.5 44.6 13.5c44.5 0 80.6-36.1 80.6-80.6s-36.1-80.6-80.6-80.6c-16.1 0-31.2 4.8-43.9 13l0 0C259.3 11.1 234.9 0 208 0zM173.1 63c8.8-9.3 21.1-15 34.9-15c13.8 0 26.2 5.8 35 15.1c8.4 8.9 19.6 12.8 29.3 13.7c9.7 .9 20.9-1 30.4-7.4c5.2-3.4 11.3-5.4 18-5.4c18 0 32.6 14.6 32.6 32.6s-14.6 32.6-32.6 32.6c-6.8 0-13.1-2.1-18.3-5.6c-9.4-6.4-20.6-8.4-30.3-7.7c-9.7 .7-20.9 4.5-29.4 13.3c-8.8 9.1-21 14.7-34.6 14.7c-13.7 0-26.1-5.7-34.9-15c-8.4-8.9-19.6-12.7-29.2-13.6c-9.7-.8-20.8 1.1-30.3 7.3c-5 3.3-11.1 5.3-17.6 5.3c-17.7 0-32-14.3-32-32s14.3-32 32-32c6.5 0 12.6 1.9 17.6 5.3c9.5 6.3 20.6 8.2 30.3 7.3c9.7-.8 20.8-4.7 29.2-13.6zM32 187.9V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64v-.3l86.8-38c25-11 41.2-35.7 41.2-63V228.8c0-38-30.8-68.8-68.8-68.8H413.8c-17.5 25.7-45.5 43.8-77.8 48.2V431.5c0 .4 0 .7 0 1.1V448c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16V206.9c-17.7-2.5-34-9.2-48-18.9zM208 224c-8.8 0-16 7.2-16 16V400c0 8.8 7.2 16 16 16s16-7.2 16-16V240c0-8.8-7.2-16-16-16zM320.3 97.2c.1 0 .1 .1 .1 .1l0 0c0 0 .1 0 .2 0c.1 0 .2 0 .2 0l0 0c0 0 .1-.1 .2-.2s.1-.2 .2-.2l0 0c0 0 0-.1 0-.2s0-.2 0-.2l0 0c0 0-.1-.1-.2-.2s-.2-.1-.2-.2l0 0c0 0-.1 0-.2 0c-.1 0-.1 0-.2 0l0 0s0 0 0 0s0 0-.1 0l-.9 .6 .8 .6zM96 96l0 0 0 0 0 0s0 0 0 0s0 0 0 0l0 0 0 0 0 0 0 0 0 0zM443.2 208c11.5 0 20.8 9.3 20.8 20.8V346.7c0 8.3-4.9 15.7-12.5 19.1L384 395.3V208h59.2zM160 240c0-8.8-7.2-16-16-16s-16 7.2-16 16V400c0 8.8 7.2 16 16 16s16-7.2 16-16V240zm128 0c0-8.8-7.2-16-16-16s-16 7.2-16 16V400c0 8.8 7.2 16 16 16s16-7.2 16-16V240z\"]\n};\nvar faBeerFoam = faBeerMug;\nvar faDiceD20 = {\n prefix: 'far',\n iconName: 'dice-d20',\n icon: [512, 512, [], \"f6cf\", \"M243.7 3.4c7.6-4.6 17.1-4.6 24.7 0l200 120c7.2 4.3 11.7 12.1 11.7 20.6V368c0 8.4-4.4 16.2-11.7 20.6l-200 120c-7.6 4.6-17.1 4.6-24.7 0l-200-120C36.4 384.2 32 376.4 32 368V144c0-8.4 4.4-16.2 11.7-20.6l200-120zM80 191.1v83.4L112.8 215 80 191.1zm65.5 63.9L94.9 347l115 9.2L145.5 255.1zm10.6 145L232 445.6V406.2l-75.9-6.1zM280 406.2v39.5l75.9-45.5L280 406.2zM432 274.6V191.1L399.2 215 432 274.6zM375 173.3l37.6-27.3L327.1 94.6 375 173.3zM184.9 94.6L99.4 145.9 137 173.3l47.9-78.6zM256 70.2L186.7 184H325.3L256 70.2zM324.3 232H187.7L256 339.3 324.3 232zM302.1 356.2l115-9.2-50.6-92L302.1 356.2z\"]\n};\nvar faDrone = {\n prefix: 'far',\n iconName: 'drone',\n icon: [512, 512, [], \"f85f\", \"M224 112C224 50.1 173.9 0 112 0S0 50.1 0 112s50.1 112 112 112c5.2 0 10.2-.3 15.2-1L88.7 171.6C64.9 162.3 48 139.1 48 112c0-35.3 28.7-64 64-64c27.1 0 50.3 16.9 59.6 40.7L223 127.2c.7-5 1-10.1 1-15.2zm-10.7 47.9l-39.8-29.9-29.7-22.3C141.7 92.1 128.2 80 112 80c-17.7 0-32 14.3-32 32c0 16.2 12.1 29.7 27.8 31.7l22.3 29.7 29.9 39.8 .1 .1v85.3l-.1 .1-29.9 39.8-22.3 29.7C92.1 370.3 80 383.8 80 400c0 17.7 14.3 32 32 32c16.2 0 29.7-12.1 31.7-27.8l29.7-22.3 39.8-29.9 .1-.1h85.3l.1 .1 39.8 29.9 29.7 22.3c2.1 15.7 15.5 27.8 31.7 27.8c17.7 0 32-14.3 32-32c0-16.2-12.1-29.7-27.8-31.7l-22.3-29.7-29.9-39.8-.1-.1V213.3l.1-.1 29.9-39.8 22.3-29.7c15.7-2.1 27.8-15.5 27.8-31.7c0-17.7-14.3-32-32-32c-16.2 0-29.7 12.1-31.7 27.8l-29.7 22.3-39.8 29.9-.1 .1H213.3l-.1-.1zM223 384.8l-51.3 38.5C162.3 447.1 139.1 464 112 464c-35.3 0-64-28.7-64-64c0-27.1 16.9-50.3 40.7-59.6L127.2 289c-5-.7-10.1-1-15.2-1C50.1 288 0 338.1 0 400s50.1 112 112 112s112-50.1 112-112c0-5.2-.3-10.2-1-15.2zM288 112c0 5.2 .3 10.2 1 15.2l51.3-38.5C349.7 64.9 372.9 48 400 48c35.3 0 64 28.7 64 64c0 27.1-16.9 50.3-40.7 59.6L384.8 223c5 .7 10.1 1 15.2 1c61.9 0 112-50.1 112-112S461.9 0 400 0S288 50.1 288 112zm1 272.8c-.7 5-1 10.1-1 15.2c0 61.9 50.1 112 112 112s112-50.1 112-112s-50.1-112-112-112c-5.2 0-10.2 .3-15.2 1l38.5 51.3c23.8 9.3 40.7 32.5 40.7 59.6c0 35.3-28.7 64-64 64c-27.1 0-50.3-16.9-59.6-40.7L289 384.8zM224 208h64c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H224c-8.8 0-16-7.2-16-16V224c0-8.8 7.2-16 16-16z\"]\n};\nvar faTruckDroplet = {\n prefix: 'far',\n iconName: 'truck-droplet',\n icon: [640, 512, [], \"e58c\", \"M64 48c-8.8 0-16 7.2-16 16V352c0 8.8 7.2 16 16 16H76.8c16.6-28.7 47.6-48 83.2-48s66.6 19.3 83.2 48H320h32c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H64zM480 512c-53 0-96-43-96-96h-8H352 320 256c0 53-43 96-96 96s-96-43-96-96c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H352c35.3 0 64 28.7 64 64V96h42.7c14.9 0 29.1 5.9 39.6 16.4l93.3 93.3c10.5 10.5 16.4 24.7 16.4 39.6V368h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H576c0 53-43 96-96 96zm78-272c-.1-.1-.2-.3-.4-.4l-93.3-93.3c-1.5-1.5-3.5-2.3-5.7-2.3H416v96H558zM160 464a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm368-48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM208 272c-39.8 0-72-29.6-72-66c0-27 39.4-82.9 59.9-110.3c6.1-8.2 18.1-8.2 24.2 0C240.6 123 280 179 280 206c0 36.5-32.2 66-72 66z\"]\n};\nvar faFileCircleXmark = {\n prefix: 'far',\n iconName: 'file-circle-xmark',\n icon: [576, 512, [], \"e5a1\", \"M64 464H284.5c12 18.4 27.4 34.5 45.3 47.3c-3.2 .5-6.4 .7-9.7 .7H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3v44.1c-17.2 4.9-33.4 12.3-48 21.8V160H256c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16zM432 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm59.3 107.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L432 345.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L409.4 368l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L432 390.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L454.6 368l36.7-36.7z\"]\n};\nvar faTemperatureArrowUp = {\n prefix: 'far',\n iconName: 'temperature-arrow-up',\n icon: [576, 512, [\"temperature-up\"], \"e040\", \"M176 48c-35.3 0-64 28.7-64 64V273.9c0 14.5-5.7 27.1-12.8 36.6C87.1 326.5 80 346.4 80 368c0 53 43 96 96 96s96-43 96-96c0-21.6-7.1-41.5-19.2-57.5c-7.1-9.5-12.8-22.1-12.8-36.6V112c0-35.3-28.7-64-64-64zM64 112C64 50.1 114.1 0 176 0s112 50.1 112 112V273.9c0 1.7 .7 4.4 3.2 7.8c18.1 24.1 28.8 54 28.8 86.4c0 79.5-64.5 144-144 144S32 447.5 32 368c0-32.4 10.7-62.3 28.8-86.4c2.5-3.4 3.2-6.1 3.2-7.8V112zM224 368c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3V112c0-8.8 7.2-16 16-16s16 7.2 16 16V322.7c18.6 6.6 32 24.4 32 45.3zM448 32c6.8 0 13.3 2.9 17.8 7.9l72 80c8.9 9.9 8.1 25-1.8 33.9s-25 8.1-33.9-1.8L472 118.5 472 456c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-337.5-30.2 33.5c-8.9 9.9-24 10.7-33.9 1.8s-10.7-24-1.8-33.9l72-80c4.6-5.1 11-7.9 17.8-7.9z\"]\n};\nvar faTemperatureUp = faTemperatureArrowUp;\nvar faMedal = {\n prefix: 'far',\n iconName: 'medal',\n icon: [512, 512, [127941], \"f5a2\", \"M4.1 38.2L106.4 191.5c11.2-11.6 23.7-21.9 37.3-30.6L68.4 48h64.5l54.9 91.5c15.8-5.5 32.4-9.1 49.6-10.6l-6.1-10.1L169.3 15.5C163.5 5.9 153.1 0 141.9 0H24.6C11 0 0 11 0 24.6c0 4.8 1.4 9.6 4.1 13.6zm276.6 80.5l-6.1 10.1c17.2 1.5 33.8 5.2 49.6 10.6L379.2 48h64.5L368.4 160.9c13.6 8.7 26.1 19 37.3 30.6L507.9 38.2c2.7-4 4.1-8.8 4.1-13.6C512 11 501 0 487.4 0H370.1c-11.2 0-21.7 5.9-27.4 15.5L280.8 118.7zM256 208a128 128 0 1 1 0 256 128 128 0 1 1 0-256zm0 304a176 176 0 1 0 0-352 176 176 0 1 0 0 352zm7.2-257.5c-2.9-5.9-11.4-5.9-14.3 0l-19.2 38.9c-1.2 2.4-3.4 4-6 4.4L180.7 304c-6.6 1-9.2 9-4.4 13.6l31 30.2c1.9 1.8 2.7 4.5 2.3 7.1l-7.3 42.7c-1.1 6.5 5.7 11.5 11.6 8.4L252.3 386c2.3-1.2 5.1-1.2 7.4 0l38.4 20.2c5.9 3.1 12.7-1.9 11.6-8.4L302.4 355c-.4-2.6 .4-5.2 2.3-7.1l31-30.2c4.7-4.6 2.1-12.7-4.4-13.6l-42.9-6.2c-2.6-.4-4.9-2-6-4.4l-19.2-38.9z\"]\n};\nvar faPersonFairy = {\n prefix: 'far',\n iconName: 'person-fairy',\n icon: [640, 512, [], \"e608\", \"M256 64a64 64 0 1 1 128 0A64 64 0 1 1 256 64zm41.6 144c-16.6 0-30.5 12.8-31.9 29.3l-4.1 49.3c-.8 9.3 6.6 17.3 15.9 17.3H280h80 2.4c9.4 0 16.7-8 15.9-17.3l-4.1-49.3C372.9 220.8 359 208 342.4 208H297.6zM336 352H304V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V348.3c-26.5-9.5-44.7-35.8-42.2-65.6l4.1-49.3c3.5-41.5 38.1-73.4 79.7-73.4h44.8c41.6 0 76.3 31.9 79.7 73.4l4.1 49.3c2.5 29.8-15.7 56.1-42.2 65.6V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V352zM32 32c89.4 0 169.4 40.8 222.2 104.7c-15 6.3-28.4 15.9-39.3 27.8C174.1 116.6 114.7 84.9 48 80.5V112c0 71.4 33.3 134.9 85.4 176l18.1 14.3c10.1 8 12.1 22.5 4.5 33L142.5 354c-16.3 22.3-26.9 49-29.7 78c43.3-.2 82.5-17.6 111.2-45.7v61C191.7 468 153.2 480 112 480H96c-17.7 0-32-14.3-32-32c0-45.7 14.7-88 39.7-122.3C40.6 275.9 0 198.7 0 112V64C0 46.3 14.3 32 32 32zM425.1 164.5c-10.9-11.9-24.3-21.5-39.3-27.8C438.6 72.8 518.6 32 608 32c17.7 0 32 14.3 32 32v48c0 86.7-40.6 163.9-103.7 213.7C561.3 360 576 402.3 576 448c0 17.7-14.3 32-32 32H528c-41.2 0-79.7-12-112-32.7v-61c28.7 28.2 67.9 45.5 111.2 45.7c-2.9-29-13.5-55.7-29.7-78l-13.6-18.7c-7.6-10.4-5.6-25 4.5-33L506.6 288C558.7 246.9 592 183.4 592 112V80.5c-66.7 4.4-126.1 36.1-166.9 84z\"]\n};\nvar faBed = {\n prefix: 'far',\n iconName: 'bed',\n icon: [640, 512, [128716], \"f236\", \"M48 56c0-13.3-10.7-24-24-24S0 42.7 0 56V360v96c0 13.3 10.7 24 24 24s24-10.7 24-24V384H312 592v80c0 13.3 10.7 24 24 24s24-10.7 24-24V360 248c0-66.3-53.7-120-120-120H344c-30.9 0-56 25.1-56 56V336H48V56zM592 248v88H336V184c0-4.4 3.6-8 8-8H520c39.8 0 72 32.2 72 72zM128 216a40 40 0 1 1 80 0 40 40 0 1 1 -80 0zm128 0A88 88 0 1 0 80 216a88 88 0 1 0 176 0z\"]\n};\nvar faBookCopy = {\n prefix: 'far',\n iconName: 'book-copy',\n icon: [576, 512, [], \"e0be\", \"M192 88c0-48.6 39.4-88 88-88H528c26.5 0 48 21.5 48 48V160v96c0 20.9-13.4 38.7-32 45.3V368h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H520 272c-44.2 0-80-35.8-80-80V88zM528 48H280c-22.1 0-40 17.9-40 40V262.7c9.8-4.3 20.6-6.7 32-6.7H520h8V160 48zM272 304c-17.7 0-32 14.3-32 32s14.3 32 32 32H496V304H272zM160 96v48H88c-22.1 0-40 17.9-40 40V358.7c9.8-4.3 20.6-6.7 32-6.7h81.1c2.5 17.7 9.2 34 18.9 48H80c-17.7 0-32 14.3-32 32s14.3 32 32 32H304V448h48v16h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H328 80c-44.2 0-80-35.8-80-80V184c0-48.6 39.4-88 88-88h72z\"]\n};\nvar faSquareH = {\n prefix: 'far',\n iconName: 'square-h',\n icon: [448, 512, [\"h-square\"], \"f0fd\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm336 56V256 360c0 13.3-10.7 24-24 24s-24-10.7-24-24V280H160l0 80c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-208c0-13.3 10.7-24 24-24s24 10.7 24 24v80H288V152c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faHSquare = faSquareH;\nvar faSquareC = {\n prefix: 'far',\n iconName: 'square-c',\n icon: [448, 512, [], \"e266\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM167.4 199.4c-31.2 31.2-31.2 81.9 0 113.1s81.9 31.2 113.1 0c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9c-50 50-131 50-181 0s-50-131 0-181s131-50 181 0c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0c-31.2-31.2-81.9-31.2-113.1 0z\"]\n};\nvar faClockTwo = {\n prefix: 'far',\n iconName: 'clock-two',\n icon: [512, 512, [], \"e35a\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM280 120v91.2L338.7 172c11-7.4 25.9-4.4 33.3 6.7s4.4 25.9-6.7 33.3l-96 64c-7.4 4.9-16.8 5.4-24.6 1.2S232 264.9 232 256V120c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faSquareEllipsisVertical = {\n prefix: 'far',\n iconName: 'square-ellipsis-vertical',\n icon: [448, 512, [], \"e26f\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM224 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm-32-64a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm32 160a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faCalendarUsers = {\n prefix: 'far',\n iconName: 'calendar-users',\n icon: [640, 512, [], \"e5e2\", \"M248 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H160c-35.3 0-64 28.7-64 64v16 48h16 32 16H480h16 32 16V144 128c0-35.3-28.7-64-64-64H440V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H248V24zm6.7 440c.9 5.2 1.3 10.5 1.3 16c0 11.7-3.1 22.6-8.6 32H392.6c-5.4-9.4-8.6-20.3-8.6-32c0-5.5 .5-10.8 1.3-16H254.7zM528 384a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm-48 32c-35.3 0-64 28.7-64 64c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32c0-35.3-28.7-64-64-64H480zM192 304A80 80 0 1 0 32 304a80 80 0 1 0 160 0zM0 480c0 17.7 14.3 32 32 32H192c17.7 0 32-14.3 32-32c0-35.3-28.7-64-64-64H64c-35.3 0-64 28.7-64 64z\"]\n};\nvar faPodcast = {\n prefix: 'far',\n iconName: 'podcast',\n icon: [448, 512, [], \"f2ce\", \"M400 224c0 61.1-31.1 115-78.4 146.5c-1.4 17-4.1 36.6-7.1 54.9l-.6 3.8C392.8 394.7 448 315.8 448 224C448 100.3 347.7 0 224 0S0 100.3 0 224c0 91.8 55.2 170.6 134.2 205.3l-.6-3.7c-3-18.4-5.7-38.1-7.1-55.1C79.1 338.9 48 285.1 48 224c0-97.2 78.8-176 176-176s176 78.8 176 176zm-32 0c0-79.5-64.5-144-144-144S80 144.5 80 224c0 42.4 18.3 80.5 47.5 106.9c1.6-7.1 4.3-13.9 8.1-20.3c5.1-8.5 11.7-15.2 18.8-20.5C138 272.9 128 249.6 128 224c0-53 43-96 96-96s96 43 96 96c0 25.6-10 48.9-26.4 66.1c7.2 5.2 13.7 11.9 18.8 20.5c3.8 6.3 6.4 13.1 8.1 20.3C349.7 304.5 368 266.4 368 224zM224 208a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm0 80a64 64 0 1 0 0-128 64 64 0 1 0 0 128zM178.9 487.7c5.3 19.8 25.5 24.3 45.1 24.3s39.8-4.6 45.1-24.3c8.1-29.9 21.5-103.9 21.5-138.2c0-36.5-32.4-45.5-66.6-45.5s-66.6 9-66.6 45.5c0 34.4 13.4 108.5 21.5 138.2zM225.5 464c-.5 0-1 0-1.5 0s-1.1 0-1.5 0c-3.1-13.3-6.7-31.9-9.9-51.4c-3.9-23.7-6.5-45.4-7-59c.6-.1 1.4-.3 2.2-.4c4.3-.8 9.7-1.2 16.3-1.2s12 .4 16.3 1.2c.8 .1 1.5 .3 2.2 .4c-.5 13.5-3.1 35.1-7 58.8c-3.2 19.5-6.9 38.1-10 51.5z\"]\n};\nvar faBee = {\n prefix: 'far',\n iconName: 'bee',\n icon: [576, 512, [], \"e0b2\", \"M219.3 4.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l31.5 31.5C215.6 73 208 91.6 208 112c0 3 .2 6 .5 8.9C185.7 105 157 96 128 96C63 96 0 140.9 0 208c0 61.9 53.6 104.9 112.9 111.2c-.6-5.1-.9-10.2-.9-15.2c0-11.2 1-22.2 3.1-32.8C74.5 266.1 48 237.2 48 208c0-32.2 32.3-64 80-64c37.3 0 65.2 19.5 75.6 43.3C167.5 213.5 144 256 144 304c0 83.8 103.6 179.7 129.9 202.8c3.9 3.4 8.9 5.2 14.1 5.2s10.2-1.8 14.1-5.2C328.4 483.7 432 387.8 432 304c0-48-23.5-90.5-59.6-116.7C382.8 163.5 410.7 144 448 144c47.7 0 80 31.8 80 64c0 29.2-26.5 58.1-67.1 63.2c2 10.6 3.1 21.6 3.1 32.8c0 5-.3 10.1-.9 15.2C522.4 312.9 576 269.9 576 208c0-67.1-63-112-128-112c-29 0-57.7 9-80.5 24.9c.3-2.9 .5-5.9 .5-8.9c0-20.4-7.6-39-20.2-53.2l31.5-31.5c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L321.9 39.5C311.6 34.7 300.1 32 288 32s-23.6 2.7-33.9 7.5L219.3 4.7zm17.6 393.9c-3.8-4.9-7.5-9.8-10.9-14.6H350c-3.4 4.8-7 9.7-10.9 14.6c-17.6 22.5-36.7 42.2-51.1 56c-14.4-13.8-33.5-33.5-51.1-56zm140-62.6H199.1c-4.6-11.7-7.1-22.5-7.1-32H384c0 9.5-2.5 20.3-7.1 32zm-5.8-80H204.8c16.6-28.7 47.6-48 83.2-48s66.6 19.3 83.2 48z\"]\n};\nvar faTemperatureFull = {\n prefix: 'far',\n iconName: 'temperature-full',\n icon: [320, 512, [\"temperature-4\", \"thermometer-4\", \"thermometer-full\"], \"f2c7\", \"M160 48c-35.3 0-64 28.7-64 64V273.9c0 14.5-5.7 27.1-12.8 36.6C71.1 326.5 64 346.4 64 368c0 53 43 96 96 96s96-43 96-96c0-21.6-7.1-41.5-19.2-57.5c-7.1-9.5-12.8-22.1-12.8-36.6V112c0-35.3-28.7-64-64-64zM48 112C48 50.2 98.1 0 160 0s112 50.1 112 112V273.9c0 1.7 .7 4.4 3.2 7.8c18.1 24.1 28.8 54 28.8 86.4c0 79.5-64.5 144-144 144S16 447.5 16 368c0-32.4 10.7-62.3 28.8-86.4c2.5-3.4 3.2-6.1 3.2-7.8V112zM208 368c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3V112c0-8.8 7.2-16 16-16s16 7.2 16 16V322.7c18.6 6.6 32 24.4 32 45.3z\"]\n};\nvar faTemperature4 = faTemperatureFull;\nvar faThermometer4 = faTemperatureFull;\nvar faThermometerFull = faTemperatureFull;\nvar faBell = {\n prefix: 'far',\n iconName: 'bell',\n icon: [448, 512, [128276, 61602], \"f0f3\", \"M224 0c-17.7 0-32 14.3-32 32V51.2C119 66 64 130.6 64 208v25.4c0 45.4-15.5 89.5-43.8 124.9L5.3 377c-5.8 7.2-6.9 17.1-2.9 25.4S14.8 416 24 416H424c9.2 0 17.6-5.3 21.6-13.6s2.9-18.2-2.9-25.4l-14.9-18.6C399.5 322.9 384 278.8 384 233.4V208c0-77.4-55-142-128-156.8V32c0-17.7-14.3-32-32-32zm0 96c61.9 0 112 50.1 112 112v25.4c0 47.9 13.9 94.6 39.7 134.6H72.3C98.1 328 112 281.3 112 233.4V208c0-61.9 50.1-112 112-112zm64 352H224 160c0 17 6.7 33.3 18.7 45.3s28.3 18.7 45.3 18.7s33.3-6.7 45.3-18.7s18.7-28.3 18.7-45.3z\"]\n};\nvar faCandyBar = {\n prefix: 'far',\n iconName: 'candy-bar',\n icon: [640, 512, [127851, \"chocolate-bar\"], \"e3e8\", \"M0 320V224H128v96H0zm0 64V352H128v96H64c-35.3 0-64-28.7-64-64zm288 64H160V352H288V320H160V224H288V192H160V64H288h48H576c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H336 288zM36.7 177C43.9 165 48 151 48 136c0-4-.3-7.9-.9-11.7c-1-7 6.2-14.2 13.1-13.1c3.8 .6 7.7 .9 11.7 .9c15 0 29-4.1 41-11.3c6.1-3.6 15 .4 15 7.4V160h0v32h-8l0 0H44.2c-7.1 0-11.1-9-7.4-15zM336 112V400H576c8.8 0 16-7.2 16-16V128c0-8.8-7.2-16-16-16H336z\"]\n};\nvar faChocolateBar = faCandyBar;\nvar faXmarkLarge = {\n prefix: 'far',\n iconName: 'xmark-large',\n icon: [448, 512, [], \"e59b\", \"M41 39C31.6 29.7 16.4 29.7 7 39S-2.3 63.6 7 73l183 183L7 439c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l183-183L407 473c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-183-183L441 73c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-183 183L41 39z\"]\n};\nvar faPinata = {\n prefix: 'far',\n iconName: 'pinata',\n icon: [512, 512, [], \"e3c3\", \"M272 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V48H84.4C37.8 48 0 85.8 0 132.4c0 36.3 23.3 68.6 57.7 80.1L96 225.3V440c0 39.8 32.2 72 72 72h22.4c36.2 0 65.6-29.4 65.6-65.6c0-21.2 17.2-38.4 38.4-38.4h19.2c21.2 0 38.4 17.2 38.4 38.4c0 36.2 29.4 65.6 65.6 65.6H440c39.8 0 72-32.2 72-72V328c0-57.4-46.6-104-104-104H272V24zM84.4 96H224V221.2l-23.3 9.3-19.1-9.6c-8.2-4.1-17.7-4.5-26.2-1.1L144 224.4v-4.8c0-17.2-11-32.5-27.4-37.9L72.9 167C58 162 48 148.1 48 132.4C48 112.3 64.3 96 84.4 96zM212.6 260.2l17.5-7c7.1 11.3 19.6 18.8 33.9 18.8H408c20.2 0 37.8 10.7 47.7 26.7c-6.7-1.8-13.8-1.4-20.3 1.2l-26.7 10.7-19.1-9.6c-8.2-4.1-17.7-4.5-26.2-1.1l-26.7 10.7-19.1-9.6c-8.2-4.1-17.7-4.5-26.2-1.1l-26.7 10.7-19.1-9.6c-8.2-4.1-17.7-4.5-26.2-1.1l-26.7 10.7-19.1-9.6c-8.2-4.1-17.7-4.5-26.2-1.1l-3.4 1.4V258.8l23.3-9.3 19.1 9.6c8.2 4.1 17.7 4.5 26.2 1.1zM144 335.6l15.3-6.1 19.1 9.6c8.2 4.1 17.7 4.5 26.2 1.1l26.7-10.7 19.1 9.6c8.2 4.1 17.7 4.5 26.2 1.1l26.7-10.7 19.1 9.6c8.2 4.1 17.7 4.5 26.2 1.1l26.7-10.7 19.1 9.6c8.2 4.1 17.7 4.5 26.2 1.1l26.7-10.7 16.7 8.4v54.5l-11.4-4.6c-8.5-3.4-18-3-26.2 1.1l-19.1 9.6-32.3-12.9c-15.7-15.8-37.3-25.5-61.3-25.5H294.4c-24 0-45.7 9.8-61.3 25.5l-32.3 12.9-19.1-9.6c-8.2-4.1-17.7-4.5-26.2-1.1L144 392.4V335.6zm0 91.2l23.3-9.3 19.1 9.6c7.3 3.6 15.6 4.3 23.3 2.1c-1.1 5.6-1.7 11.3-1.7 17.2c0 9.7-7.9 17.6-17.6 17.6H168c-13.3 0-24-10.7-24-24V426.8zm296.7-9.3l23.3 9.3V440c0 13.3-10.7 24-24 24H417.6c-9.7 0-17.6-7.9-17.6-17.6c0-5.9-.6-11.6-1.7-17.2c7.7 2.3 16 1.5 23.3-2.1l19.1-9.6zM176 168a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faFilePpt = {\n prefix: 'far',\n iconName: 'file-ppt',\n icon: [512, 512, [], \"e64a\", \"M64 464H96v48H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3V288H336V160H256c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16zM304 352h32c30.9 0 56 25.1 56 56s-25.1 56-56 56H320v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V448 368c0-8.8 7.2-16 16-16zm32 80c13.3 0 24-10.7 24-24s-10.7-24-24-24H320v48h16zM176 352h32c30.9 0 56 25.1 56 56s-25.1 56-56 56H192v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V448 368c0-8.8 7.2-16 16-16zm32 80c13.3 0 24-10.7 24-24s-10.7-24-24-24H192v48h16zm208-64c0-8.8 7.2-16 16-16h32 32c8.8 0 16 7.2 16 16s-7.2 16-16 16H480V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V384H432c-8.8 0-16-7.2-16-16z\"]\n};\nvar faArrowsFromLine = {\n prefix: 'far',\n iconName: 'arrows-from-line',\n icon: [448, 512, [], \"e0a4\", \"M241 7c-9.4-9.4-24.6-9.4-33.9 0L135 79c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l31-31V168c0 13.3 10.7 24 24 24s24-10.7 24-24V81.9l31 31c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L241 7zm7 337c0-13.3-10.7-24-24-24s-24 10.7-24 24v86.1l-31-31c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l72 72c9.4 9.4 24.6 9.4 33.9 0l72-72c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-31 31V344zM24 232c-13.3 0-24 10.7-24 24s10.7 24 24 24H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H24z\"]\n};\nvar faSuperscript = {\n prefix: 'far',\n iconName: 'superscript',\n icon: [512, 512, [], \"f12b\", \"M472 24c0-8-3.9-15.4-10.5-19.9s-15-5.4-22.4-2.4l-40 16c-12.3 4.9-18.3 18.9-13.4 31.2s18.9 18.3 31.2 13.4l7.1-2.8V176H408c-13.3 0-24 10.7-24 24s10.7 24 24 24h40 40c13.3 0 24-10.7 24-24s-10.7-24-24-24H472V24zM24 64C10.7 64 0 74.7 0 88s10.7 24 24 24H51.2l96 144-96 144H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H64c8 0 15.5-4 20-10.7l92-138 92 138C272.5 444 280 448 288 448h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H300.8l-96-144 96-144H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H288c-8 0-15.5 4-20 10.7l-92 138L84 74.7C79.5 68 72 64 64 64H24z\"]\n};\nvar faBowlSpoon = {\n prefix: 'far',\n iconName: 'bowl-spoon',\n icon: [512, 512, [129379], \"e3e0\", \"M112 144c-42.6 0-64-28.2-64-48s21.4-48 64-48s64 28.2 64 48s-21.4 48-64 48zm0 48c52.2 0 96-30.6 108.5-72H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H220.5C208 30.6 164.2 0 112 0C50.1 0 0 43 0 96s50.1 96 112 96zm64.5 266.9c-4.5-11.7-13.5-21.2-25-26.4C90.4 404.8 48 343.3 48 272H464c0 71.3-42.4 132.8-103.5 160.5c-11.5 5.2-20.4 14.7-25 26.4c-1.2 3.1-4.2 5.1-7.5 5.1H184c-3.3 0-6.3-2-7.5-5.1zM48 224c-26.5 0-48 21.5-48 48c0 90.8 54.1 169 131.7 204.2c8.1 21 28.4 35.8 52.3 35.8H328c23.8 0 44.2-14.9 52.3-35.8C457.9 441 512 362.8 512 272c0-26.5-21.5-48-48-48H48z\"]\n};\nvar faHexagonCheck = {\n prefix: 'far',\n iconName: 'hexagon-check',\n icon: [512, 512, [], \"e416\", \"M17.1 292c-12.9-22.3-12.9-49.7 0-72L105.4 67.1c12.9-22.3 36.6-36 62.4-36H344.3c25.7 0 49.5 13.7 62.4 36L494.9 220c12.9 22.3 12.9 49.7 0 72L406.6 444.9c-12.9 22.3-36.6 36-62.4 36H167.7c-25.7 0-49.5-13.7-62.4-36L17.1 292zm41.6-48c-4.3 7.4-4.3 16.6 0 24l88.3 152.9c4.3 7.4 12.2 12 20.8 12H344.3c8.6 0 16.5-4.6 20.8-12L453.4 268c4.3-7.4 4.3-16.6 0-24L365.1 91.1c-4.3-7.4-12.2-12-20.8-12l-176.6 0c-8.6 0-16.5 4.6-20.8 12L58.6 244zM369 209L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\"]\n};\nvar faPlugCircleXmark = {\n prefix: 'far',\n iconName: 'plug-circle-xmark',\n icon: [576, 512, [], \"e560\", \"M128 24c0-13.3-10.7-24-24-24S80 10.7 80 24v88h48V24zm176 0c0-13.3-10.7-24-24-24s-24 10.7-24 24v88h48V24zM24 144c-13.3 0-24 10.7-24 24s10.7 24 24 24h8v64c0 80.2 59 146.6 136 158.2V488c0 13.3 10.7 24 24 24s24-10.7 24-24V414.2c15.2-2.3 29.7-6.7 43.1-12.9c-2.1-10.8-3.1-21.9-3.1-33.3c0-7.1 .4-14.1 1.2-20.9C238.9 360.2 216.3 368 192 368c-61.9 0-112-50.1-112-112V192H304v55.2c13.8-14.6 30-26.8 48-36V192h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8H304 80 32 24zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm59.3-180.7L454.6 368l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L432 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L409.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L432 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faStarOfLife = {\n prefix: 'far',\n iconName: 'star-of-life',\n icon: [512, 512, [], \"f621\", \"M184 64c0-35.3 28.7-64 64-64h16c35.3 0 64 28.7 64 64v67.3l58.3-33.6c30.6-17.7 69.8-7.2 87.4 23.4l8 13.9c17.7 30.6 7.2 69.8-23.4 87.4L400 256l58.3 33.6c30.6 17.7 41.1 56.8 23.4 87.4l-8 13.9c-17.7 30.6-56.8 41.1-87.4 23.4L328 380.7V448c0 35.3-28.7 64-64 64H248c-35.3 0-64-28.7-64-64V380.7l-58.3 33.6C95.1 432 56 421.5 38.3 390.9l-8-13.9c-17.7-30.6-7.2-69.8 23.4-87.4L112 256 53.7 222.4c-30.6-17.7-41.1-56.8-23.4-87.4l8-13.9C56 90.5 95.1 80 125.7 97.6L184 131.3V64zm64-16c-8.8 0-16 7.2-16 16V172.9c0 8.6-4.6 16.5-12 20.8s-16.6 4.3-24 0l-94.3-54.4c-7.7-4.4-17.4-1.8-21.9 5.9l-8 13.9c-4.4 7.7-1.8 17.4 5.9 21.9L172 235.2c7.4 4.3 12 12.2 12 20.8s-4.6 16.5-12 20.8L77.7 331.2c-7.7 4.4-10.3 14.2-5.9 21.9l8 13.9c4.4 7.7 14.2 10.3 21.9 5.9L196 318.4c7.4-4.3 16.6-4.3 24 0s12 12.2 12 20.8V448c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V339.1c0-8.6 4.6-16.5 12-20.8s16.6-4.3 24 0l94.3 54.4c7.7 4.4 17.4 1.8 21.9-5.9l8-13.9c4.4-7.7 1.8-17.4-5.9-21.9L340 276.8c-7.4-4.3-12-12.2-12-20.8s4.6-16.5 12-20.8l94.3-54.4c7.7-4.4 10.3-14.2 5.9-21.9l-8-13.9c-4.4-7.7-14.2-10.3-21.9-5.9L316 193.6c-7.4 4.3-16.6 4.3-24 0s-12-12.2-12-20.8V64c0-8.8-7.2-16-16-16H248z\"]\n};\nvar faPhoneSlash = {\n prefix: 'far',\n iconName: 'phone-slash',\n icon: [640, 512, [], \"f3dd\", \"M601.2 5.1c10.4-8.2 25.5-6.3 33.7 4.1s6.3 25.5-4.1 33.7l-592 464c-10.4 8.2-25.5 6.3-33.7-4.1s-6.3-25.5 4.1-33.7l155.6-122C101.8 270 64 171.4 64 64v0c0-18.9 13.2-35.2 31.6-39.1l112-24c18.7-4 37.6 5.8 45.1 23.4l48 112c7 16.4 2.4 35.4-11.4 46.7l-40.6 33.2c8.6 14.9 18.5 29 29.4 42.1L601.2 5.1zM240.4 287.9C228.1 273 217 257 207.2 240.2c-11.8-20.4-7.1-46.3 11.1-61.2l35.9-29.4-43-100.4L112 70.5c1.5 93.7 35.2 179.6 90.5 247.1l37.8-29.6zm-6 127.7L273.2 385c65 48.5 145.3 77.6 232.3 79l21.3-99.2-100.4-43L397 357.6c-14.9 18.2-40.8 22.9-61.2 11.1c-8-4.6-15.7-9.5-23.3-14.7l39.8-31.3c2.5 1.5 5 3.1 7.6 4.5L384 297.7l31.4-24.7c7.9-1.7 16.4-1.1 24.3 2.3l112 48c17.6 7.5 27.4 26.5 23.4 45.1l-24 112c-4 18.4-20.2 31.6-39.1 31.6l0 0c-6.1 0-12.2-.1-18.3-.4l-.1 0 0 0c-10-.4-19.8-1.1-29.6-2.2c-86.2-9.2-165.2-42.8-229.7-93.9z\"]\n};\nvar faTrafficLightStop = {\n prefix: 'far',\n iconName: 'traffic-light-stop',\n icon: [320, 512, [], \"f63a\", \"M64 48c-8.8 0-16 7.2-16 16V352c0 61.9 50.1 112 112 112s112-50.1 112-112V64c0-8.8-7.2-16-16-16H64zM0 64C0 28.7 28.7 0 64 0H256c35.3 0 64 28.7 64 64V352c0 88.4-71.6 160-160 160S0 440.4 0 352V64zM144 376a16 16 0 1 0 32 0 16 16 0 1 0 -32 0zm64 0a48 48 0 1 1 -96 0 48 48 0 1 1 96 0zM160 240a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm0 64a48 48 0 1 1 0-96 48 48 0 1 1 0 96zm0-120a48 48 0 1 1 0-96 48 48 0 1 1 0 96z\"]\n};\nvar faPaintRoller = {\n prefix: 'far',\n iconName: 'paint-roller',\n icon: [512, 512, [], \"f5aa\", \"M352 48H64c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16H352c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16zM64 0H352c35.3 0 64 28.7 64 64v8 48 8c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0zm96 352c0-17.7 14.3-32 32-32h8V304c0-39.8 32.2-72 72-72H424c22.1 0 40-17.9 40-40V144c0-10.4-6.7-19.3-16-22.6V72.4c36 4 64 34.5 64 71.6v48c0 48.6-39.4 88-88 88H272c-13.3 0-24 10.7-24 24v16h8c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V352z\"]\n};\nvar faAccentGrave = {\n prefix: 'far',\n iconName: 'accent-grave',\n icon: [192, 512, [], \"60\", \"M80 65.3C80 55.8 87.8 48 97.3 48c8.4 0 15.6 6 17 14.3l18.2 102.1L82.9 79.9C81 76.6 80 72.9 80 69.2V65.3zm-48 0v3.9c0 12.3 3.3 24.4 9.5 35.1l57.3 97.4c8.1 13.8 23 22.3 39 22.3c28.2 0 49.5-25.5 44.6-53.3L161.6 53.8C156.1 22.7 129 0 97.3 0C61.2 0 32 29.2 32 65.3z\"]\n};\nvar faHandshakeAngle = {\n prefix: 'far',\n iconName: 'handshake-angle',\n icon: [640, 512, [\"hands-helping\"], \"f4c4\", \"M264 320c39.8 0 72-32.2 72-72v-8H440c13.3 0 24 10.7 24 24c0 11.7-8.4 21.5-19.4 23.6c-7.7 1.5-14.2 6.6-17.4 13.8s-2.7 15.5 1.4 22.2c2.2 3.6 3.4 7.8 3.4 12.4c0 13.3-10.7 24-24 24s-24 10.7-24 24c0 8.8-7.2 16-16 16H352 320 253.3c-14.9 0-29.1 5.9-39.6 16.4L159 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l54.6-54.6c1.5-1.5 3.5-2.3 5.7-2.3H320h32 16c28 0 51.8-17.9 60.5-42.9c29.8-8.8 51.5-36.4 51.5-69.1c0-3.9-.3-7.8-.9-11.5C498.9 311.7 512 289.4 512 264c0-39.8-32.2-72-72-72H336V168c0-13.3-10.7-24-24-24s-24 10.7-24 24v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-22.1 17.9-40 40-40H418.7c14.9 0 29.1-5.9 39.6-16.4L513 41c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L424.4 61.7c-1.5 1.5-3.5 2.3-5.7 2.3H280c-48.6 0-88 39.4-88 88v96c0 39.8 32.2 72 72 72zM160 132.5c-19 7.5-33.9 23.6-39.4 44.2L99 257.5c-.4 1.4-1.1 2.6-2.1 3.6L7 351c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L130.9 295c7-7 12-15.6 14.5-25.2L160 215.1V132.5zM543.2 250.8L633 161c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-75.3 75.3c10.3 13.9 17.1 30.5 19.4 48.5z\"]\n};\nvar faHandsHelping = faHandshakeAngle;\nvar faCircle0 = {\n prefix: 'far',\n iconName: 'circle-0',\n icon: [512, 512, [], \"e0ed\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-384c-53 0-96 43-96 96v64c0 53 43 96 96 96s96-43 96-96V224c0-53-43-96-96-96zm-48 96c0-26.5 21.5-48 48-48s48 21.5 48 48v64c0 26.5-21.5 48-48 48s-48-21.5-48-48V224z\"]\n};\nvar faDialMedLow = {\n prefix: 'far',\n iconName: 'dial-med-low',\n icon: [576, 512, [], \"e160\", \"M288 64a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM208.8 367.2c-37.9-37.9-43-96.2-15.1-139.6L271 305c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-77.4-77.4c43.4-27.8 101.7-22.8 139.6 15.1c43.7 43.7 43.7 114.7 0 158.4s-114.7 43.7-158.4 0zM174.9 174.9A160 160 0 1 0 401.1 401.1 160 160 0 1 0 174.9 174.9zM576 288a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM32 320a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM128 96A32 32 0 1 0 64 96a32 32 0 1 0 64 0zm352 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM128 480a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm352 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faLocationDot = {\n prefix: 'far',\n iconName: 'location-dot',\n icon: [384, 512, [\"map-marker-alt\"], \"f3c5\", \"M336 192c0-79.5-64.5-144-144-144S48 112.5 48 192c0 12.4 4.5 31.6 15.3 57.2c10.5 24.8 25.4 52.2 42.5 79.9c28.5 46.2 61.5 90.8 86.2 122.6c24.8-31.8 57.8-76.4 86.2-122.6c17.1-27.7 32-55.1 42.5-79.9C331.5 223.6 336 204.4 336 192zm48 0c0 87.4-117 243-168.3 307.2c-12.3 15.3-35.1 15.3-47.4 0C117 435 0 279.4 0 192C0 86 86 0 192 0S384 86 384 192zm-160 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-112 0a80 80 0 1 1 160 0 80 80 0 1 1 -160 0z\"]\n};\nvar faMapMarkerAlt = faLocationDot;\nvar faCrab = {\n prefix: 'far',\n iconName: 'crab',\n icon: [512, 512, [129408], \"e3ff\", \"M.2 120l0 0 0 0C4.4 53 60 0 128 0h44.7c7.1 0 10.7 8.6 5.7 13.7L141.7 50.3c-5 5-1.5 13.7 5.7 13.7H184c4.4 0 8.1 3.6 7.5 8c-3.9 31.6-30.9 56-63.5 56H48v33.3c0 9.4 5.4 17.9 13.9 21.8L133.3 216c16.9-12.2 37-20.3 58.7-23V152c0-13.3 10.7-24 24-24s24 10.7 24 24v40h32V152c0-13.3 10.7-24 24-24s24 10.7 24 24v41c21.7 2.7 41.7 10.9 58.7 23l71.4-32.9c8.5-3.9 13.9-12.4 13.9-21.8V128H384c-32.6 0-59.6-24.4-63.5-56c-.5-4.4 3.1-8 7.5-8h36.7c7.1 0 10.7-8.6 5.7-13.7L333.7 13.7c-5-5-1.5-13.7 5.7-13.7H384c68 0 123.6 53 127.8 120l0 0 0 0c0 .1 0 .3 0 .4l.2 7.6h-7.9l-.1 0h8v33.3c0 28.1-16.3 53.6-41.8 65.4L413.1 253c2.2 3.6 4.2 7.2 6 11h31.2l26.9-13.5c11.9-5.9 26.3-1.1 32.2 10.7s1.1 26.3-10.7 32.2l-32 16c-3.3 1.7-7 2.5-10.7 2.5H431.8c.2 2.6 .2 5.3 .2 8v1.4l23.6 7.9c3.5 1.2 6.7 3.2 9.4 5.8l32 32c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-28-28-30-10L387 381l36.6 12.2c3.5 1.2 6.7 3.2 9.4 5.8l32 32c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-28-28-54-18-2.2 2.2L371.7 435c7.6 4.2 12.3 12.3 12.3 21v32c0 13.3-10.7 24-24 24s-24-10.7-24-24V470.1L297.9 449c-.6-.3-1.1-.6-1.6-1H215.7c-.5 .3-1.1 .7-1.6 1L176 470.1V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V456c0-8.7 4.7-16.7 12.3-21l24.9-13.8L163 419l-54 18L81 465c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l32-32c2.6-2.6 5.8-4.6 9.4-5.8L125 381 107 363 77 373 49 401c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l32-32c2.6-2.6 5.8-4.6 9.4-5.8L80 321.4V320c0-2.7 .1-5.4 .2-8H56c-3.7 0-7.4-.9-10.7-2.5l-32-16C1.4 287.5-3.4 273.1 2.5 261.3s20.3-16.7 32.2-10.7L61.7 264H92.9c1.8-3.8 3.9-7.4 6-11L41.8 226.7C16.3 214.9 0 189.4 0 161.3V128H8l-.1 0H0l.2-7.6c0-.1 0-.3 0-.4zM296 240H216h-8c-42.9 0-77.9 33.8-79.9 76.2L211.9 400h88.2l83.8-83.8c-2-42.4-37-76.2-79.9-76.2h-8z\"]\n};\nvar faBoxOpenFull = {\n prefix: 'far',\n iconName: 'box-open-full',\n icon: [640, 512, [\"box-full\"], \"f49c\", \"M480.9 3.1C456-6.2 428.4 6.3 419.1 31.2L384 124.8C382.2 55.6 325.6 0 256 0C185.3 0 128 57.3 128 128c0 2.2 .1 4.3 .2 6.5l65.5 8.2c-1.1-4.7-1.7-9.6-1.7-14.7c0-35.3 28.7-64 64-64s64 28.7 64 64c0 10.7-2.6 20.7-7.2 29.6l7.2 .9 161.4-20.2 27.5-73.4c9.3-24.8-3.3-52.5-28.1-61.8zM58.9 170.1L17.2 253.5c-9 17.9 .6 39.6 19.8 45.1l163.3 46.7c13.9 4 28.8-1.9 36.2-14.3L320 192 75.2 161.4c-6.7-.8-13.3 2.7-16.3 8.7zM576 339.6l-48 13.7v57.2l-184 46V312c0-13.3-10.7-24-24-24s-24 10.7-24 24V456.5l-184-46V353.3L64 339.6v71c0 22 15 41.2 36.4 46.6l204.1 51c10.2 2.5 20.9 2.5 31 0l204.1-51c21.4-5.3 36.4-24.5 36.4-46.6v-71zm46.8-86.1l-41.7-83.4c-3-6.1-9.6-9.6-16.3-8.7L320 192l83.4 139c7.4 12.4 22.3 18.3 36.2 14.3l163.3-46.7c19.3-5.5 28.8-27.2 19.8-45.1z\"]\n};\nvar faBoxFull = faBoxOpenFull;\nvar faFile = {\n prefix: 'far',\n iconName: 'file',\n icon: [384, 512, [128196, 128459, 61462], \"f15b\", \"M320 464c8.8 0 16-7.2 16-16V160H256c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H320zM0 64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64z\"]\n};\nvar faGreaterThan = {\n prefix: 'far',\n iconName: 'greater-than',\n icon: [384, 512, [62769], \"3e\", \"M2.5 77.3c-5.9 11.9-1.1 26.3 10.7 32.2L306.3 256 13.3 402.5C1.4 408.5-3.4 422.9 2.5 434.7s20.3 16.7 32.2 10.7l336-168c8.1-4.1 13.3-12.4 13.3-21.5s-5.1-17.4-13.3-21.5l-336-168C22.9 60.6 8.5 65.4 2.5 77.3z\"]\n};\nvar faQuotes = {\n prefix: 'far',\n iconName: 'quotes',\n icon: [576, 512, [], \"e234\", \"M0 96C0 43 43 0 96 0h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H96C69.5 48 48 69.5 48 96H96c26.5 0 48 21.5 48 48v48c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V168 144 96zm48 72l0 24H96V144H48v24zM176 96c0-53 43-96 96-96h8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8c-26.5 0-48 21.5-48 48h48c26.5 0 48 21.5 48 48v48c0 26.5-21.5 48-48 48H224c-26.5 0-48-21.5-48-48V168 144 96zm48 48v24 24h48V144H224zM576 416c0 53-43 96-96 96h-8c-13.3 0-24-10.7-24-24s10.7-24 24-24h8c26.5 0 48-21.5 48-48H480c-26.5 0-48-21.5-48-48V320c0-26.5 21.5-48 48-48h48c26.5 0 48 21.5 48 48v24 24 48zm-48-48V344 320H480v48h48zM400 416c0 53-43 96-96 96h-8c-13.3 0-24-10.7-24-24s10.7-24 24-24h8c26.5 0 48-21.5 48-48H304c-26.5 0-48-21.5-48-48V320c0-26.5 21.5-48 48-48h48c26.5 0 48 21.5 48 48v24 24 48zm-48-72V320H304v48h48V344z\"]\n};\nvar faPretzel = {\n prefix: 'far',\n iconName: 'pretzel',\n icon: [512, 512, [129384], \"e441\", \"M56 184.2c0 52.5 20.3 100.3 53.5 135.9l19-26.8C103.3 264 88 225.9 88 184.2c0-39.9 32.3-72.2 72.2-72.2H164c42 0 76 34 76 76v5.1c0 16.8-5.2 33.2-14.9 46.9l-45.9 64.9c0 .1-.1 .1-.1 .2l-46.2 65.2c0 .1-.1 .1-.1 .2l-25.8 36.4c-5.1 7.2-3.4 17.2 3.8 22.3s17.2 3.4 22.3-3.8L163.7 382c6.2-8.7 17.3-12.3 27.4-8.8c20.3 7 42.2 10.8 65 10.8c11.2 0 22.3-.9 33-2.7l-21-29.7c-3.9 .3-7.9 .4-11.9 .4c-9.2 0-18.3-.7-27.2-2.2c-8.2-1.3-15.1-6.8-18.3-14.4s-2.2-16.4 2.6-23.1l23.3-32.9c4.5-6.4 11.8-10.1 19.6-10.1s15.1 3.8 19.6 10.1l11.5 16.3 11.8 16.6c0 0 0 .1 .1 .1l49.3 69.5c0 0 .1 .1 .1 .1l30.6 43.2c5.1 7.2 15.1 8.9 22.3 3.8s8.9-15.1 3.8-22.3l-25.8-36.4c-7.3-10.2-5.4-24.3 4.3-32.4c44.3-36.7 72.4-92 72.4-153.8C456 126.7 409.3 80 351.8 80H348c-29.3 0-55.8 11.6-75.3 30.6c-9.3 9.1-24.1 9.1-33.5 0C219.8 91.6 193.3 80 164 80h-3.8C102.7 80 56 126.7 56 184.2zM81.2 360C36.1 315.1 8 253 8 184.2C8 100.1 76.1 32 160.2 32H164c34.4 0 66.2 11.2 92 30c25.8-18.9 57.6-30 92-30h3.8C435.8 32 504 100.1 504 184.2c0 68.7-28.1 130.9-73.2 175.8l13.5 19c20.4 28.8 13.6 68.8-15.2 89.2s-68.8 13.6-89.2-15.2l0 0 0 0-20.6-29.1C299 429.2 277.8 432 256 432s-43-2.8-63.2-8.1L172.2 453c-20.4 28.8-60.4 35.7-89.2 15.2l13.3-18.8L83 468.2C54.2 447.8 47.3 407.8 67.8 379l0 0 13.5-19zM136 184.2c0 25.3 7.9 48.9 21.4 68.3l28.5-40.2c4-5.6 6.1-12.3 6.1-19.1V188c0-15.5-12.5-28-28-28h-3.8c-13.4 0-24.2 10.8-24.2 24.2zM320 188v5.1c0 6.9 2.1 13.5 6.1 19.1l28.5 40.2c13.5-19.4 21.4-42.9 21.4-68.3c0-13.4-10.8-24.2-24.2-24.2H348c-15.5 0-28 12.5-28 28zm28-76h3.8c39.9 0 72.2 32.3 72.2 72.2c0 49.4-21.5 93.9-55.5 124.6c-5.1 4.6-11.9 6.8-18.7 6s-13-4.4-16.9-10L286.9 240c-9.7-13.7-14.9-30.1-14.9-46.9V188c0-42 34-76 76-76z\"]\n};\nvar faTRex = {\n prefix: 'far',\n iconName: 't-rex',\n icon: [640, 512, [], \"e629\", \"M423.8 48C393.1 48 368 73.1 368 104c0 5.6-2 11.1-5.6 15.4l-40 48c-4.6 5.5-11.3 8.6-18.4 8.6H262.1c-53.6 0-97.9 41.8-101 95.3c-1.3 22.9-20.3 40.7-43.2 40.7h-4.3c-21 0-39.5-13.7-45.7-33.7L57.6 244.7l-1 2.5c-5.7 14.2-8.6 29.3-8.6 44.6V296c0 57.4 46.6 104 104 104h40V376c0-13.3 10.7-24 24-24s24 10.7 24 24v30.1L297.9 464H384V448c0-8.8-7.2-16-16-16H344c-8 0-15.5-4-20-10.7l-16-24c-5.8-8.7-5.3-20.1 1.2-28.3l18-22.5c5.7-7.1 8.8-15.9 8.8-25V320c0-26.5-21.5-48-48-48c-13.3 0-24-10.7-24-24s10.7-24 24-24c53 0 96 43 96 96v1.6c0 20-6.8 39.4-19.3 55l-6 7.5H368c35.3 0 64 28.7 64 64v40c0 13.3-10.7 24-24 24H288c-6.4 0-12.5-2.5-17-7l-57-57H152C68.1 448 0 379.9 0 296v-4.3c0-21.4 4.1-42.5 12-62.4l20.3-50.7C36.8 167.4 47.7 160 59.8 160c13 0 24.5 8.5 28.3 20.9l25.3 82.3C120.6 186.9 184.8 128 262.1 128h30.7l27.6-33.2C325 41.8 369.5 0 423.8 0c8.5 0 16.9 1 25 3.1C456.3 1.1 464.1 0 472 0c26.7 0 51.7 12 68.3 32.1C595.7 34.3 640 80 640 136v24c0 30.9-21.9 56.7-51 62.7l-5.8 7.7L564 216l19.2 14.4C571.1 246.5 552.1 256 532 256H460l-15.3 20.5 46.8 26c12.7 7.1 20.6 20.4 20.6 35V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V342.1l-48.1-26.7c-.7-21.5-6.4-41.6-15.9-59.4l28.8-38.4c4.5-6 11.6-9.6 19.2-9.6h84c.8 0 1.5-.1 2.3-.2c-9.3-.8-18-4.9-24.6-11.5l-17.9-17.9c-1.5-1.5-3.5-2.3-5.7-2.3H464c-8.8 0-16-7.2-16-16s7.2-16 16-16h22.1c10.6 0 20.8 4.2 28.3 11.7l17.9 17.9c1.5 1.5 3.5 2.3 5.7 2.3H576c8.8 0 16-7.2 16-16V136c0-30.9-25.1-56-56-56h-8.2c-8.5 0-16.4-4.5-20.7-11.9C499.9 55.7 486.5 48 472 48c-5 0-9.8 .9-14.3 2.6c-5.2 1.9-10.9 2-16.1 .3C435.9 49 429.9 48 423.8 48zM456 88a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faPersonSwimming = {\n prefix: 'far',\n iconName: 'person-swimming',\n icon: [576, 512, [127946, \"swimmer\"], \"f5c4\", \"M32 160a64 64 0 1 0 128 0A64 64 0 1 0 32 160zM80 334.1C62.8 349 41 360.8 18.8 365.8C5.9 368.7-2.3 381.5 .6 394.5s15.7 21.1 28.7 18.2C58 406.2 81.6 392.2 96 382.2c28.1 19.5 61.4 33.8 96 33.8s67.9-14.3 96-33.8c28.1 19.5 61.4 33.8 96 33.8s67.9-14.3 96-33.8c14.4 10 38 24 66.7 30.4c12.9 2.9 25.8-5.2 28.7-18.2s-5.2-25.8-18.2-28.7c-22-4.9-44.3-16.7-61.3-31.8c-9.1-8.1-22.8-8.1-31.9 0c-21.6 18.6-51.2 33.9-80 33.9s-58.5-15.3-80-33.9c-9.1-8.1-22.8-8.1-31.9 0c-21.5 18.6-51.2 33.9-80 33.9s-58.5-15.3-80-33.9c-9.1-8.1-22.8-8.1-31.9 0zM256.5 193.9L403 318.1c13.8-3.2 27.9-9.6 40.2-18c2.4-1.7 4.9-3.2 7.5-4.5L295.9 164.3C319.7 151.4 347 144 376 144h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H376c-119.3 0-216 96.7-216 216v2.2c10.8 4 21.9 6.2 32 6.2c5.4 0 10.7-.5 16-1.6V312c0-46.1 18.5-87.8 48.5-118.1z\"]\n};\nvar faSwimmer = faPersonSwimming;\nvar faArrowDown = {\n prefix: 'far',\n iconName: 'arrow-down',\n icon: [384, 512, [8595], \"f063\", \"M174.6 472.6c4.5 4.7 10.8 7.4 17.4 7.4s12.8-2.7 17.4-7.4l168-176c9.2-9.6 8.8-24.8-.8-33.9s-24.8-8.8-33.9 .8L216 396.1 216 56c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 340.1L41.4 263.4c-9.2-9.6-24.3-9.9-33.9-.8s-9.9 24.3-.8 33.9l168 176z\"]\n};\nvar faUserRobotXmarks = {\n prefix: 'far',\n iconName: 'user-robot-xmarks',\n icon: [448, 512, [], \"e4a7\", \"M240 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V64H144c-44.2 0-80 35.8-80 80v96c0 44.2 35.8 80 80 80H304c44.2 0 80-35.8 80-80V144c0-44.2-35.8-80-80-80H240V16zm96 128v96c0 17.7-14.3 32-32 32V256c0-8.8-7.2-16-16-16s-16 7.2-16 16v16H240V256c0-8.8-7.2-16-16-16s-16 7.2-16 16v16H176V256c0-8.8-7.2-16-16-16s-16 7.2-16 16v16c-17.7 0-32-14.3-32-32V144c0-17.7 14.3-32 32-32H304c17.7 0 32 14.3 32 32zm64 304v16H304V432c0-8.8-7.2-16-16-16s-16 7.2-16 16v32H240V432c0-8.8-7.2-16-16-16s-16 7.2-16 16v32H176V432c0-8.8-7.2-16-16-16s-16 7.2-16 16v32H48l0-16c0-26.5 21.5-48 48-48H352c26.5 0 48 21.5 48 48zM224 512h64H400c26.5 0 48-21.5 48-48V448c0-53-43-96-96-96H96c-53 0-96 43-96 96v16c0 26.5 21.5 48 48 48H160h64zM16 128c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V144c0-8.8-7.2-16-16-16zm432 16c0-8.8-7.2-16-16-16s-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V144zM168 157.4l-14.7-14.7c-5.1-5.1-13.4-5.1-18.6 0s-5.1 13.4 0 18.6L149.4 176l-14.7 14.7c-5.1 5.1-5.1 13.4 0 18.6s13.4 5.1 18.6 0L168 194.6l14.7 14.7c5.1 5.1 13.4 5.1 18.6 0s5.1-13.4 0-18.6L186.6 176l14.7-14.7c5.1-5.1 5.1-13.4 0-18.6s-13.4-5.1-18.6 0L168 157.4zm78.7-14.7c-5.1 5.1-5.1 13.4 0 18.6L261.4 176l-14.7 14.7c-5.1 5.1-5.1 13.4 0 18.6s13.4 5.1 18.6 0L280 194.6l14.7 14.7c5.1 5.1 13.4 5.1 18.6 0s5.1-13.4 0-18.6L298.6 176l14.7-14.7c5.1-5.1 5.1-13.4 0-18.6s-13.4-5.1-18.6 0L280 157.4l-14.7-14.7c-5.1-5.1-13.4-5.1-18.6 0z\"]\n};\nvar faMessageQuote = {\n prefix: 'far',\n iconName: 'message-quote',\n icon: [512, 512, [\"comment-alt-quote\"], \"e1e4\", \"M208 416c0-26.5-21.5-48-48-48H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H448c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H309.3c-10.4 0-20.5 3.4-28.8 9.6L208 432V416zm-.2 76.2l.2-.2 101.3-76H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h48 48v48 4 .3 6.4V496c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L202.7 496l5.1-3.8zM160 112c-17.7 0-32 14.3-32 32v48c0 17.7 14.3 32 32 32h32v7.3c0 11.7-8.5 21.7-20.1 23.7l-7.9 1.3c-13.1 2.2-21.9 14.5-19.7 27.6s14.5 21.9 27.6 19.7l7.9-1.3c34.7-5.8 60.2-35.8 60.2-71V192 168 144c0-17.7-14.3-32-32-32H160zm224 80V168 144c0-17.7-14.3-32-32-32H304c-17.7 0-32 14.3-32 32v48c0 17.7 14.3 32 32 32h32v7.3c0 11.7-8.5 21.7-20.1 23.7l-7.9 1.3c-13.1 2.2-21.9 14.5-19.7 27.6s14.5 21.9 27.6 19.7l7.9-1.3c34.7-5.8 60.2-35.8 60.2-71V192z\"]\n};\nvar faCommentAltQuote = faMessageQuote;\nvar faCandyCorn = {\n prefix: 'far',\n iconName: 'candy-corn',\n icon: [640, 512, [], \"f6bd\", \"M612.6 18.1C570.4 4.2 524.1 0 480 0c-44 0-90 4.4-132.2 17.9C331.4 23.4 320 38.8 320 56c0 20.1 7 52 15.6 84c9.1 33.8 21.4 73 34.7 110.4c13.2 37.2 27.9 73.6 41.6 101.3c13.4 27 32.9 64.3 68.1 64.3s54.6-37.3 68.1-64.3c13.8-27.7 28.4-64.1 41.6-101.3C603 213 615.3 173.8 624.4 140C633 108 640 76.1 640 56c0-17.2-11-32.5-27.4-37.9zM480 280c14.2 0 32.1 2.4 45.4 4.6c-6.9 17-13.8 32.6-20.3 45.7c-7 14-12.8 24.8-19.3 32.3c-2.9 3.4-4.9 4.8-5.7 5.2l-.1 .1-.1-.1c-.8-.5-2.8-1.8-5.7-5.2c-6.5-7.5-12.3-18.3-19.3-32.3c-6.5-13.1-13.4-28.7-20.3-45.7c13.3-2.2 31.2-4.6 45.4-4.6zM583.2 107.4C556.2 102.6 512.4 96 480 96s-76.2 6.6-103.2 11.4c-4.7-19.2-7.7-35-8.5-45.5C402.6 51.7 441 48 480 48c39.2 0 77.7 3.6 111.7 13.8c-.9 10.6-3.9 26.4-8.5 45.6zM191.7 122.3c-39.6 20.1-75.4 49.9-106.6 81C54 234.5 24.5 270.1 4.3 309.5c-7.7 15.4-4.9 34.4 7.3 46.6c14.2 14.2 41.8 31.8 70.4 48.3c30.3 17.5 66.8 36.5 102.6 53.6c35.7 16.9 71.8 32.4 101 42.2c28.6 9.6 68.7 22.2 93.6-2.7s12.2-65 2.7-93.6c-9.8-29.3-25.2-65.4-42.2-101c-17-35.9-36.1-72.3-53.6-102.6c-16.5-28.7-34.2-56.2-48.3-70.4c-12.2-12.2-30.8-15.2-46.2-7.5zm91.4 279c10-10 24.4-21 35.4-28.8c7.2 16.9 13.3 32.8 18 46.7c5 14.8 8.5 26.6 9.2 36.5c.3 4.5-.1 6.9-.3 7.8l0 .1-.1 0c-.9 .3-3.3 .7-7.8 .3c-9.9-.7-21.7-4.3-36.5-9.2c-13.9-4.7-29.7-10.8-46.7-18c7.8-10.9 18.8-25.3 28.8-35.4zM234 206.3c-22.5 15.8-58.1 42-81 64.9s-49.2 58.5-64.9 81c-16.9-10.3-30.1-19.3-38.2-26.2c17.1-31.4 41.6-61.2 69.2-88.8c27.7-27.7 57.5-52.4 88.8-69.2c6.8 8.1 15.9 21.4 26.2 38.3z\"]\n};\nvar faFolderMagnifyingGlass = {\n prefix: 'far',\n iconName: 'folder-magnifying-glass',\n icon: [512, 512, [\"folder-search\"], \"e18b\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H289.9L247 53.1C233.5 39.6 215.2 32 196.1 32H64zM48 96c0-8.8 7.2-16 16-16H196.1c6.4 0 12.5 2.5 17 7l45.3 45.3c7.5 7.5 17.7 11.7 28.3 11.7H448c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96zM336 272c0-53-43-96-96-96s-96 43-96 96s43 96 96 96c17.8 0 34.4-4.8 48.7-13.2L327 393.1c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-38.3-38.3c8.5-14.3 13.3-31 13.3-48.9zm-96-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faFolderSearch = faFolderMagnifyingGlass;\nvar faNotebook = {\n prefix: 'far',\n iconName: 'notebook',\n icon: [512, 512, [], \"e201\", \"M240 48H416c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H240V48zm-48 0V464H128c-8.8 0-16-7.2-16-16V416h24c13.3 0 24-10.7 24-24s-10.7-24-24-24H112V280h24c13.3 0 24-10.7 24-24s-10.7-24-24-24H112V144h24c13.3 0 24-10.7 24-24s-10.7-24-24-24H112V64c0-8.8 7.2-16 16-16h64zM64 416v32c0 35.3 28.7 64 64 64H416c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H128C92.7 0 64 28.7 64 64V96H24C10.7 96 0 106.7 0 120s10.7 24 24 24H64v88H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H64v88H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H64z\"]\n};\nvar faCircleWifi = {\n prefix: 'far',\n iconName: 'circle-wifi',\n icon: [512, 512, [], \"e67d\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm127.5-14.7c-9.8 8.9-25 8.1-33.9-1.8s-8.1-25 1.8-33.9C137.9 167.3 194.3 144 256 144s118.1 23.3 160.6 61.6c9.8 8.9 10.6 24 1.8 33.9s-24 10.6-33.9 1.8c-34-30.7-79-49.3-128.5-49.3s-94.4 18.6-128.5 49.3zM256 336a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0-48c-22.7 0-43.4 8.6-59 22.7c-9.8 8.9-25 8.1-33.9-1.7s-8.1-25 1.7-33.9C188.9 253.3 220.9 240 256 240s67.1 13.3 91.2 35.1c9.8 8.9 10.6 24.1 1.7 33.9s-24.1 10.6-33.9 1.7c-15.6-14.1-36.3-22.7-59-22.7z\"]\n};\nvar faDroplet = {\n prefix: 'far',\n iconName: 'droplet',\n icon: [384, 512, [128167, \"tint\"], \"f043\", \"M192 464c-79.5 0-144-64.5-144-144c0-13 5.1-33.5 17-61.1c11.5-26.6 27.6-55.8 45.5-84.7c29-46.8 61-90.2 81.5-117c20.5 26.7 52.6 70.2 81.5 117c17.9 28.9 34 58 45.5 84.7c11.9 27.6 17 48.2 17 61.1c0 79.5-64.5 144-144 144zM0 320C0 426 86 512 192 512s192-86 192-192c0-91.2-130.2-262.3-166.6-308.3C211.4 4.2 202.5 0 192.9 0h-1.8c-9.6 0-18.5 4.2-24.5 11.7C130.2 57.7 0 228.8 0 320zm144-8c0-13.3-10.7-24-24-24s-24 10.7-24 24c0 57.4 46.6 104 104 104c13.3 0 24-10.7 24-24s-10.7-24-24-24c-30.9 0-56-25.1-56-56z\"]\n};\nvar faTint = faDroplet;\nvar faBullseyePointer = {\n prefix: 'far',\n iconName: 'bullseye-pointer',\n icon: [512, 512, [], \"f649\", \"M256 464c114.9 0 208-93.1 208-208s-93.1-208-208-208S48 141.1 48 256c0 5.5 .2 10.9 .6 16.3L1.8 286.1C.6 276.2 0 266.2 0 256C0 114.6 114.6 0 256 0S512 114.6 512 256s-114.6 256-256 256c-10.2 0-20.2-.6-30.1-1.8l13.8-46.9c5.4 .4 10.8 .6 16.3 .6zm-2.4-48l14.3-48.6C324.2 361.4 368 313.8 368 256c0-61.9-50.1-112-112-112c-57.8 0-105.4 43.8-111.4 100.1L96 258.4c0-.8 0-1.6 0-2.4c0-88.4 71.6-160 160-160s160 71.6 160 160s-71.6 160-160 160c-.8 0-1.6 0-2.4 0zM39 308.5l204.8-60.2c12.1-3.6 23.4 7.7 19.9 19.9L203.5 473c-4.1 13.9-23.2 15.6-29.7 2.6l-28.7-57.3c-.7-1.3-1.5-2.6-2.5-3.7l-88 88c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l88-88c-1.1-1-2.3-1.9-3.7-2.5L36.4 338.2c-13-6.5-11.3-25.6 2.6-29.7z\"]\n};\nvar faEraser = {\n prefix: 'far',\n iconName: 'eraser',\n icon: [576, 512, [], \"f12d\", \"M97 319c-9.4 9.4-9.4 24.6 0 33.9l72 72c4.5 4.5 10.6 7 17 7H294.1c6.4 0 12.5-2.5 17-7l65-65L216 200 97 319zM285.1 63c28.1-28.1 73.7-28.1 101.8 0L513 189.1c28.1 28.1 28.1 73.7 0 101.8L371.9 432H520c13.3 0 24 10.7 24 24s-10.7 24-24 24H296v0c-.6 0-1.3 0-1.9 0H185.9c-19.1 0-37.4-7.6-50.9-21.1l-72-72c-28.1-28.1-28.1-73.7 0-101.8L285.1 63z\"]\n};\nvar faHexagonImage = {\n prefix: 'far',\n iconName: 'hexagon-image',\n icon: [512, 512, [], \"e504\", \"M17.1 220c-12.9 22.3-12.9 49.7 0 72l88.3 152.9c12.9 22.3 36.6 36 62.4 36H344.3c25.7 0 49.5-13.7 62.4-36L494.9 292c12.9-22.3 12.9-49.7 0-72L406.6 67.1c-12.9-22.3-36.6-36-62.4-36H167.7c-25.7 0-49.5 13.7-62.4 36L17.1 220zm41.6 48c-4.3-7.4-4.3-16.6 0-24L146.9 91.1c4.3-7.4 12.2-12 20.8-12l176.6 0c8.6 0 16.5 4.6 20.8 12L453.4 244c4.3 7.4 4.3 16.6 0 24l-34.5 59.8-78.1-94c-4.6-5.5-11.3-8.7-18.5-8.7s-13.9 3.2-18.5 8.7L232.2 320l-38.9-40.6c-4.6-4.8-11-7.5-17.6-7.4s-13 2.9-17.4 7.8l-56.9 62.3L58.6 268zM232 160a40 40 0 1 0 -80 0 40 40 0 1 0 80 0z\"]\n};\nvar faEarthAmericas = {\n prefix: 'far',\n iconName: 'earth-americas',\n icon: [512, 512, [127758, \"earth\", \"earth-america\", \"globe-americas\"], \"f57d\", \"M256 464C141.1 464 48 370.9 48 256c0-22 3.4-43.1 9.7-63l9.4 16.4c8.3 14.5 21.9 25.2 38 29.8L163 255.7c17.2 4.9 29 20.6 29 38.5v39.9c0 11 6.2 21 16 25.9s16 14.9 16 25.9v30.4c0 15.9 15.2 27.3 30.5 23c15.9-4.5 28.3-17 32.8-32.8l1.5-5.4c4.6-16.1 15.3-29.7 29.8-38l9.2-5.3c15-8.5 24.2-24.5 24.2-41.7v-8.3c0-12.7-5.1-24.9-14.1-33.9l-3.9-3.9c-9-9-21.2-14.1-33.9-14.1H257c-11.1 0-22.1-2.9-31.8-8.4l-34.5-19.7c-4.3-2.5-7.6-6.5-9.2-11.2c-3.2-9.6 1.1-20 10.2-24.5l5.9-3c6.6-3.3 14.3-3.9 21.3-1.5l23.2 7.7c8.2 2.7 17.2-.4 21.9-7.5c4.7-7 4.2-16.3-1.2-22.8l-13.6-16.3c-10-12-9.9-29.5 .3-41.3l15.7-18.3c8.8-10.3 10.2-25 3.5-36.7l-2.4-4.2c73.6 3.6 137.2 45.6 171.2 106.3L412 164.8c-15.7 6.3-23.8 23.8-18.5 39.8l16.9 50.7c3.5 10.4 12 18.3 22.6 20.9l29.1 7.3C448.7 385.4 361.5 464 256 464zm0 48A256 256 0 1 0 256 0a256 256 0 1 0 0 512z\"]\n};\nvar faEarth = faEarthAmericas;\nvar faEarthAmerica = faEarthAmericas;\nvar faGlobeAmericas = faEarthAmericas;\nvar faFileSvg = {\n prefix: 'far',\n iconName: 'file-svg',\n icon: [512, 512, [], \"e64b\", \"M64 464H96v48H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3V288H336V160H256c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16zM205.7 352H232c8.8 0 16 7.2 16 16s-7.2 16-16 16H205.7c-7.5 0-13.7 6.1-13.7 13.7c0 5.2 2.9 9.9 7.6 12.2l31.2 15.6c15.5 7.7 25.2 23.5 25.2 40.8c0 25.2-20.4 45.7-45.7 45.7H176c-8.8 0-16-7.2-16-16s7.2-16 16-16h34.3c7.5 0 13.7-6.1 13.7-13.7c0-5.2-2.9-9.9-7.6-12.2l-31.2-15.6C169.8 430.8 160 415 160 397.7c0-25.2 20.4-45.7 45.7-45.7zM456 352h16c22.1 0 40 17.9 40 40v8c0 8.8-7.2 16-16 16s-16-7.2-16-16v-8c0-4.4-3.6-8-8-8H456c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8v-8c-8.8 0-16-7.2-16-16s7.2-16 16-16h16c8.8 0 16 7.2 16 16v24c0 22.1-17.9 40-40 40H456c-22.1 0-40-17.9-40-40V392c0-22.1 17.9-40 40-40zm-152 0c8.8 0 16 7.2 16 16v31.6c0 23 5.5 45.6 16 66c10.5-20.3 16-42.9 16-66V368c0-8.8 7.2-16 16-16s16 7.2 16 16v31.6c0 34.7-10.3 68.7-29.6 97.6l-5.1 7.7c-3 4.5-8 7.1-13.3 7.1s-10.3-2.7-13.3-7.1l-5.1-7.7c-19.3-28.9-29.6-62.9-29.6-97.6V368c0-8.8 7.2-16 16-16z\"]\n};\nvar faCrateApple = {\n prefix: 'far',\n iconName: 'crate-apple',\n icon: [512, 512, [\"apple-crate\"], \"f6b1\", \"M160 54.9c0 5 4.1 9.1 9.1 9.1C199.4 64 224 39.4 224 9.1c0-5-4.1-9.1-9.1-9.1C184.6 0 160 24.6 160 54.9zM80 171.4c0-15.3 3.8-29 8.7-37.2c2.3-3.8 4.1-5.3 4.9-5.7l0 0c.4-.2 .8-.5 2.4-.5c2.2 0 6.5 .5 12.6 2.1c5.8 1.5 11.9 3.6 17.2 5.7c21.9 8.5 46.4 8.5 68.3 0c5.4-2.1 11.4-4.2 17.2-5.7c6.1-1.6 10.3-2.1 12.6-2.1c1.6 0 2.1 .3 2.4 .5l0 0c.7 .5 2.6 1.9 4.9 5.7c4.9 8.2 8.7 21.9 8.7 37.2c0 7.2-.6 14.1-1.7 20.6h48.5c.8-6.7 1.2-13.5 1.2-20.6c0-43.6-20.4-91.4-64-91.4c-15.6 0-34.1 5.9-47.2 11c-10.7 4.2-22.8 4.2-33.5 0C130.1 85.9 111.6 80 96 80c-43.6 0-64 47.8-64 91.4c0 7 .4 13.9 1.2 20.6H81.7c-1.1-6.5-1.7-13.3-1.7-20.6zM430.3 192h48.5c.8-6.7 1.2-13.5 1.2-20.6c0-43.6-20.4-91.4-64-91.4c-15.6 0-34.1 5.9-47.2 11c-10.7 4.2-22.8 4.2-33.5 0c-12.4-4.8-29.6-10.3-44.6-11c3.4 4 6.4 8.3 9 12.7c7.8 12.9 13.2 27.5 16.4 42.3l1.7 .7c21.9 8.5 46.4 8.5 68.3 0c5.4-2.1 11.4-4.2 17.2-5.7c6.1-1.6 10.3-2.1 12.6-2.1c1.6 0 2.1 .3 2.4 .5l0 0c.7 .5 2.6 1.9 4.9 5.7c4.9 8.2 8.7 21.9 8.7 37.2c0 7.2-.6 14.1-1.7 20.6zM406.9 0C376.6 0 352 24.6 352 54.9c0 5 4.1 9.1 9.1 9.1C391.4 64 416 39.4 416 9.1c0-5-4.1-9.1-9.1-9.1zM456 272c4.4 0 8 3.6 8 8v64H48V280c0-4.4 3.6-8 8-8H456zM48 456V392H464v64c0 4.4-3.6 8-8 8H56c-4.4 0-8-3.6-8-8zm8-232c-30.9 0-56 25.1-56 56V456c0 30.9 25.1 56 56 56H456c30.9 0 56-25.1 56-56V280c0-30.9-25.1-56-56-56H56zm360 96a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm16 112a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM96 320a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm16 112a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faAppleCrate = faCrateApple;\nvar faPersonBurst = {\n prefix: 'far',\n iconName: 'person-burst',\n icon: [640, 512, [], \"e53b\", \"M480 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-13.7 80h27.5c.8 0 1.5 0 2.3 .1V304H464V176.1c.7 0 1.5-.1 2.3-.1zM464 488V352h32V488c0 13.3 10.7 24 24 24s24-10.7 24-24V223.6l43.1 76.2c6.5 11.5 21.2 15.6 32.7 9.1s15.6-21.2 9.1-32.7L570.3 172.7c-15.6-27.6-44.9-44.7-76.6-44.7H466.3c-31.7 0-61 17.1-76.6 44.7L331.1 276.2c-6.5 11.5-2.5 26.2 9.1 32.7s26.2 2.5 32.7-9.1L416 223.6V488c0 13.3 10.7 24 24 24s24-10.7 24-24zM176 8c-8.9 0-17 4.9-21.2 12.7L124.7 77.5 61.6 65.6c-8.7-1.6-17.6 1.7-23.2 8.6s-6.8 16.4-3.3 24.5l25.6 58.9-48.6 42c-6.7 5.8-9.7 14.8-7.7 23.5s8.6 15.5 17.1 17.8l62 16.7 2.5 64.2c.3 8.9 5.6 16.8 13.6 20.7s17.5 3 24.6-2.3l51.7-38 51.7 38c7.2 5.3 16.6 6.1 24.6 2.3s13.2-11.8 13.6-20.7l2.5-64.2 32-8.6L332.2 193l-40.9-35.3 25.6-58.9c3.5-8.1 2.3-17.6-3.3-24.5s-14.5-10.3-23.2-8.6L227.3 77.5 197.2 20.7C193 12.9 184.9 8 176 8zm0 75.2l17.2 32.4c4.9 9.3 15.3 14.3 25.6 12.3l36-6.7-14.6 33.6c-4.2 9.6-1.6 20.9 6.3 27.7l27.7 24L238.9 216c-10.1 2.7-17.3 11.7-17.7 22.2l-1.4 36.6-29.5-21.7c-8.5-6.2-20-6.2-28.4 0l-29.5 21.7-1.4-36.6c-.4-10.5-7.6-19.5-17.7-22.2l-35.4-9.6 27.7-24c7.9-6.9 10.5-18.1 6.3-27.7L97.2 121.1l36 6.7c10.3 1.9 20.7-3.1 25.6-12.3L176 83.2z\"]\n};\nvar faGameBoard = {\n prefix: 'far',\n iconName: 'game-board',\n icon: [448, 512, [], \"f867\", \"M384 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM304 96H224v80H144V96H64v80h80v80H64v80h80v80h80V336h80v80h80V336H304V256h80V176H304V96zM224 256v80H144V256h80zm0 0V176h80v80H224z\"]\n};\nvar faHatChef = {\n prefix: 'far',\n iconName: 'hat-chef',\n icon: [512, 512, [], \"f86b\", \"M180.9 100.3C192.2 69.7 221.6 48 256 48s63.8 21.7 75.1 52.3c3.2 8.7 11.2 14.8 20.5 15.6s18.2-3.8 22.8-11.9c8.3-14.4 23.9-24 41.6-24c26.5 0 48 21.5 48 48c0 10.9-2.9 28.1-8.1 49.2c-5.1 20.6-11.9 43.2-18.8 64.4c-6.9 21.2-13.8 40.6-19 54.8c-1 2.7-1.9 5.3-2.8 7.6H360.6l23.2-133.3c1.5-8.7-4.3-17-13-18.5s-17 4.3-18.5 13L328.1 304H272V160c0-8.8-7.2-16-16-16s-16 7.2-16 16V304H183.9L159.8 165.3c-1.5-8.7-9.8-14.5-18.5-13s-14.5 9.8-13 18.5L151.4 304H96.6c-.9-2.3-1.8-4.9-2.8-7.6c-5.2-14.2-12.1-33.7-19-54.8c-6.9-21.2-13.7-43.8-18.8-64.4C50.9 156.1 48 138.9 48 128c0-26.5 21.5-48 48-48c17.7 0 33.3 9.6 41.6 24c4.7 8.1 13.6 12.7 22.8 11.9s17.3-6.9 20.5-15.6zM454.4 336.7L432 328c22.4 8.7 22.4 8.7 22.4 8.7l0 0 0 0 0-.1 .1-.3 .5-1.3c.4-1.1 1-2.7 1.8-4.8c1.6-4.1 3.8-10.1 6.4-17.3c5.3-14.6 12.4-34.6 19.5-56.4c7.1-21.8 14.3-45.7 19.7-67.8c5.3-21.7 9.4-43.5 9.4-60.6c0-53-43-96-96-96c-21.6 0-41.6 7.2-57.6 19.2C335.1 20.1 297.9 0 256 0s-79.1 20.1-102.4 51.2c-16-12-36-19.2-57.6-19.2C43 32 0 75 0 128c0 17.1 4.1 38.9 9.4 60.6c5.4 22.2 12.6 46 19.7 67.8c7.1 21.8 14.2 41.9 19.5 56.4c2.7 7.3 4.9 13.2 6.4 17.3c.8 2.1 1.4 3.7 1.8 4.8l.5 1.3 .1 .3 0 .1 0 0 0 0s0 0 22.4-8.7l-22.4 8.7C61.2 345.9 70.1 352 80 352H432c9.9 0 18.8-6.1 22.4-15.3zM64 384v64c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V384H400v64c0 8.8-7.2 16-16 16H128c-8.8 0-16-7.2-16-16V384H64z\"]\n};\nvar faHandBackPointRight = {\n prefix: 'far',\n iconName: 'hand-back-point-right',\n icon: [512, 512, [], \"e1a1\", \"M512 176c0-35.3-28.7-64-64-64l-188.8 0c-3.6-5.2-7.6-10.2-11.9-14.9L228.8 76.8C212.1 58.5 188.5 48 163.7 48l-10.2 0C99.5 48 49.5 76.7 22.2 123.4L20.7 126C7.1 149.3 0 175.7 0 202.6L0 328c0 66.3 53.7 120 120 120l8 0 96 0c35.3 0 64-28.7 64-64c0-2.8-.2-5.6-.5-8.3c19.4-11 32.5-31.8 32.5-55.7c0-5.3-.7-10.5-1.9-15.5c20.2-10.8 33.9-32 33.9-56.5c0-2.7-.2-5.4-.5-8l96.5 0c35.3 0 64-28.7 64-64zm-64-16c8.8 0 16 7.2 16 16s-7.2 16-16 16l-136 0c-10.3 0-19.5 6.6-22.8 16.4s.1 20.6 8.3 26.8c3.9 3 6.4 7.6 6.4 12.8c0 8.8-7.2 16-16 16l-8 0c-10.3 0-19.5 6.6-22.8 16.4s.1 20.6 8.3 26.8c3.9 3 6.4 7.6 6.4 12.8c0 8.8-7.2 16-16 16c-9.1 0-17.4 5.1-21.5 13.3s-3.2 17.9 2.3 25.1c2 2.7 3.2 6 3.2 9.6c0 8.8-7.2 16-16 16l-96 0-8 0c-39.8 0-72-32.2-72-72l0-125.4c0-18.4 4.9-36.5 14.2-52.4l-20-11.7 20 11.7 1.5-2.6c18.6-32 52.8-51.6 89.8-51.6l10.2 0c11.3 0 22 4.8 29.6 13.1L210.5 128 168 128c-8.8 0-16 7.2-16 16s7.2 16 16 16l78 0 2 0 200 0z\"]\n};\nvar faDove = {\n prefix: 'far',\n iconName: 'dove',\n icon: [512, 512, [128330], \"f4ba\", \"M256.3 159c1-14.8 4.3-28.9 9.6-42C251.3 91.3 241.7 61.6 240.6 28c-.4-11.3-7.5-21.5-18.4-24.4c-7.6-2-15.8-.2-21 5.8C190.2 22.2 174.9 44.5 161 76.1c13.4 29 36.1 50.6 63.1 66.9c10.5 6.3 21.4 11.6 32.2 16zM400 160a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM177.1 208c45.8 29 96.4 42.7 132 47c6.8 .8 13.7-1.3 18.8-5.9s8.1-11.1 8.1-18V168c0-30.9 25.1-56 56-56h61.8L436 138.7c-2.6 3.9-4 8.6-4 13.3V296c0 57.4-46.6 104-104 104H269.6c-5.4 0-10.7 1.9-15 5.3L181.2 464c-62.2-.9-106.4-30.9-126.8-51.6l99.7-27.2c8.9-2.4 15.6-9.8 17.3-18.9s-2.1-18.3-9.5-23.7C125.4 316.3 80 267.5 80 184c0-31.8 3.9-55.5 8.9-73.1c20.4 43.4 53.2 74.9 88.2 97.1zM91.2 32c-9.9 0-19.4 4.9-25 13.6C52.7 66.3 32 106.2 32 184c0 77.3 31.8 131.1 66.1 166.7L29.5 369.4c-12.8 3.5-23 13.1-27.3 25.6S.1 421.4 8 432c22.2 29.6 84.5 80 176 80c9.1 0 17.9-3.1 25-8.8L278 448h50c83.9 0 152-68.1 152-152V159.3l25.9-38.9c4-6 6.1-13 6.1-20.1c0-20-16.2-36.3-36.3-36.3H392c-57.4 0-104 46.6-104 104v34.5c-26.3-6.1-57-17.3-85.2-35.1c-38.3-24.2-70.7-60-82.3-111.9C117.5 42.3 105.7 32 91.2 32z\"]\n};\nvar faSnowflakeDroplets = {\n prefix: 'far',\n iconName: 'snowflake-droplets',\n icon: [640, 512, [], \"e5c1\", \"M320 0c13.3 0 24 10.7 24 24V70.1l23-23c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-57 57v76.5l66.2-38.2 20.9-77.8c3.4-12.8 16.6-20.4 29.4-17s20.4 16.6 17 29.4L469 142.2l37.1-21.4c11.5-6.6 26.2-2.7 32.8 8.8s2.7 26.2-8.8 32.8L493 183.8l31.5 8.4c12.8 3.4 20.4 16.6 17 29.4s-16.6 20.4-29.4 17l-77.8-20.9L368 256l66.2 38.2 77.8-20.9c12.8-3.4 26 4.2 29.4 17s-4.2 26-17 29.4L493 328.2l28 16.2-22 42.7L469 369.8l8.4 31.5c3.4 12.8-4.2 26-17 29.4s-26-4.2-29.4-17l-20.9-77.8L344 297.6v76.5l57 57c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-23-23V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V441.9l-23 23c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l57-57V297.6l-66.2 38.2-20.9 77.8c-3.4 12.8-16.6 20.4-29.4 17s-20.4-16.6-17-29.4l8.4-31.5-30.1 17.4-22-42.7 28-16.2-31.5-8.4c-12.8-3.4-20.4-16.6-17-29.4s16.6-20.4 29.4-17l77.8 20.9L272 256l-66.2-38.2-77.8 20.9c-12.8 3.4-26-4.2-29.4-17s4.2-26 17-29.4l31.5-8.4-37.1-21.4c-11.5-6.6-15.4-21.3-8.8-32.8s21.3-15.4 32.8-8.8L171 142.2l-8.4-31.5c-3.4-12.8 4.2-26 17-29.4s26 4.2 29.4 17l20.9 77.8L296 214.4V137.9L239 81c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l23 23V24c0-13.3 10.7-24 24-24zM519.1 418.1l47.5-92.4c1.8-3.5 5.4-5.7 9.3-5.7s7.5 2.2 9.3 5.7l47.5 92.4c4.7 9.1 7.1 19.3 7.1 29.5c0 35.3-28.7 64.3-64 64.3s-64-29-64-64.3c0-10.2 2.4-20.4 7.1-29.5zM54.7 325.7c1.8-3.5 5.4-5.7 9.3-5.7s7.5 2.2 9.3 5.7l47.5 92.4c4.7 9.1 7.1 19.3 7.1 29.5C128 483 99.3 512 64 512s-64-29-64-64.3c0-10.2 2.4-20.4 7.1-29.5l47.5-92.4z\"]\n};\nvar faBatteryEmpty = {\n prefix: 'far',\n iconName: 'battery-empty',\n icon: [576, 512, [\"battery-0\"], \"f244\", \"M80 144c-17.7 0-32 14.3-32 32V336c0 17.7 14.3 32 32 32H464c17.7 0 32-14.3 32-32V176c0-17.7-14.3-32-32-32H80zM0 176c0-44.2 35.8-80 80-80H464c44.2 0 80 35.8 80 80v16c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32v16c0 44.2-35.8 80-80 80H80c-44.2 0-80-35.8-80-80V176z\"]\n};\nvar faBattery0 = faBatteryEmpty;\nvar faGrid4 = {\n prefix: 'far',\n iconName: 'grid-4',\n icon: [448, 512, [], \"e198\", \"M32 89.6V64H57.6V89.6H32zm57.6 16V48c0-8.8-7.2-16-16-16H16C7.2 32 0 39.2 0 48v57.6c0 6.3 3.7 11.8 9 14.4c2.1 1 4.5 1.6 7 1.6H73.6c2.5 0 4.9-.6 7-1.6c5.3-2.6 9-8.1 9-14.4zm-16 45.9H16c-2.5 0-4.9 .6-7 1.6c-5.3 2.6-9 8.1-9 14.4v57.6c0 6.3 3.7 11.8 9 14.4c2.1 1 4.5 1.6 7 1.6H73.6c2.5 0 4.9-.6 7-1.6c5.3-2.6 9-8.1 9-14.4V167.5c0-6.3-3.7-11.8-9-14.4c-2.1-1-4.5-1.6-7-1.6zm0 119.5H16c-2.5 0-4.9 .6-7 1.6c-5.3 2.6-9 8.1-9 14.4v57.6c0 6.3 3.7 11.8 9 14.4c2.1 1 4.5 1.6 7 1.6H73.6c2.5 0 4.9-.6 7-1.6c5.3-2.6 9-8.1 9-14.4V286.9c0-6.3-3.7-11.8-9-14.4c-2.1-1-4.5-1.6-7-1.6zM16 390.4c-2.5 0-4.9 .6-7 1.6c-5.3 2.6-9 8.1-9 14.4V464c0 8.8 7.2 16 16 16H73.6c8.8 0 16-7.2 16-16V406.4c0-6.3-3.7-11.8-9-14.4c-2.1-1-4.5-1.6-7-1.6H16zM32 209.1V183.5H57.6v25.6H32zm0 119.5V302.9H57.6v25.6H32zM32 448V422.4H57.6V448H32zM151.5 89.6V64h25.6V89.6H151.5zm57.6 16V48c0-8.8-7.2-16-16-16H135.5c-8.8 0-16 7.2-16 16v57.6c0 6.3 3.7 11.8 9 14.4c2.1 1 4.5 1.6 7 1.6h57.6 0c2.5 0 4.9-.6 7-1.6c5.3-2.6 9-8.1 9-14.4zm-16 45.9h0H135.5c-2.5 0-4.9 .6-7 1.6c-5.3 2.6-9 8.1-9 14.4v57.6c0 6.3 3.7 11.8 9 14.4c2.1 1 4.5 1.6 7 1.6h57.6c2.5 0 4.9-.6 7-1.6c5.3-2.6 9-8.1 9-14.4V167.5c0-6.3-3.7-11.8-9-14.4c-2.1-1-4.5-1.6-7-1.6zm0 119.5H135.5c-2.5 0-4.9 .6-7 1.6c-5.3 2.6-9 8.1-9 14.4v57.6c0 6.3 3.7 11.8 9 14.4c2.1 1 4.5 1.6 7 1.6h57.6c2.5 0 4.9-.6 7-1.6c5.3-2.6 9-8.1 9-14.4V286.9c0-6.3-3.7-11.8-9-14.4c-2.1-1-4.5-1.6-7-1.6zM135.5 390.4c-2.5 0-4.9 .6-7 1.6c-5.3 2.6-9 8.1-9 14.4V464c0 8.8 7.2 16 16 16h57.6c8.8 0 16-7.2 16-16V406.4c0-6.3-3.7-11.8-9-14.4c-2.1-1-4.5-1.6-7-1.6H135.5zm16-181.3V183.5h25.6v25.6H151.5zm0 119.5V302.9h25.6v25.6H151.5zm0 119.5V422.4h25.6V448H151.5zM270.9 64h25.6V89.6H270.9V64zm48.6 56c5.3-2.6 9-8.1 9-14.4V48c0-8.8-7.2-16-16-16H254.9c-8.8 0-16 7.2-16 16v57.6c0 6.3 3.7 11.8 9 14.4c2.1 1 4.5 1.6 7 1.6h0 57.6 0c2.5 0 4.9-.6 7-1.6zm0 33.1c-2.1-1-4.5-1.6-7-1.6h0H254.9h0c-2.5 0-4.9 .6-7 1.6c-5.3 2.6-9 8.1-9 14.4v57.6c0 6.3 3.7 11.8 9 14.4c2.1 1 4.5 1.6 7 1.6h57.6c2.5 0 4.9-.6 7-1.6c5.3-2.6 9-8.1 9-14.4V167.5c0-6.3-3.7-11.8-9-14.4zm0 119.5c-2.1-1-4.5-1.6-7-1.6H254.9c-2.5 0-4.9 .6-7 1.6c-5.3 2.6-9 8.1-9 14.4v57.6c0 6.3 3.7 11.8 9 14.4c2.1 1 4.5 1.6 7 1.6h57.6c2.5 0 4.9-.6 7-1.6c5.3-2.6 9-8.1 9-14.4V286.9c0-6.3-3.7-11.8-9-14.4zm-7 117.8H254.9c-2.5 0-4.9 .6-7 1.6c-5.3 2.6-9 8.1-9 14.4V464c0 8.8 7.2 16 16 16h57.6c8.8 0 16-7.2 16-16V406.4c0-6.3-3.7-11.8-9-14.4c-2.1-1-4.5-1.6-7-1.6zM270.9 183.5h25.6v25.6H270.9V183.5zm0 119.5h25.6v25.6H270.9V302.9zm0 119.5h25.6V448H270.9V422.4zM390.4 89.6V64H416V89.6H390.4zm57.6 16V48c0-8.8-7.2-16-16-16H374.4c-8.8 0-16 7.2-16 16v57.6c0 6.3 3.7 11.8 9 14.4c2.1 1 4.5 1.6 7 1.6h0H432h0c2.5 0 4.9-.6 7-1.6c5.3-2.6 9-8.1 9-14.4zm-16 45.9h0H374.4h0c-2.5 0-4.9 .6-7 1.6c-5.3 2.6-9 8.1-9 14.4v57.6c0 6.3 3.7 11.8 9 14.4c2.1 1 4.5 1.6 7 1.6H432c2.5 0 4.9-.6 7-1.6c5.3-2.6 9-8.1 9-14.4V167.5c0-6.3-3.7-11.8-9-14.4c-2.1-1-4.5-1.6-7-1.6zm0 119.5H374.4c-2.5 0-4.9 .6-7 1.6c-5.3 2.6-9 8.1-9 14.4v57.6c0 6.3 3.7 11.8 9 14.4c2.1 1 4.5 1.6 7 1.6H432c2.5 0 4.9-.6 7-1.6c5.3-2.6 9-8.1 9-14.4V286.9c0-6.3-3.7-11.8-9-14.4c-2.1-1-4.5-1.6-7-1.6zM374.4 390.4c-2.5 0-4.9 .6-7 1.6c-5.3 2.6-9 8.1-9 14.4V464c0 8.8 7.2 16 16 16H432c8.8 0 16-7.2 16-16V406.4c0-6.3-3.7-11.8-9-14.4c-2.1-1-4.5-1.6-7-1.6H374.4zm16-181.3V183.5H416v25.6H390.4zm0 119.5V302.9H416v25.6H390.4zm0 119.5V422.4H416V448H390.4z\"]\n};\nvar faSocks = {\n prefix: 'far',\n iconName: 'socks',\n icon: [512, 512, [129510], \"f696\", \"M288 48c0-17 5.3-32.8 14.4-45.8C297.9 .8 293 0 288 0H176c-26.5 0-48 21.5-48 48V234.3c0 21.7-9.8 42.2-26.6 55.9l-66.5 54C12.8 362.2 0 389.1 0 417.5C0 469.7 42.3 512 94.5 512h6.9c22.6 0 44.6-7.6 62.5-21.5l12.9-10.1c-8.4-14.6-13.9-31-15.9-48.5l-26.6 20.8c-9.4 7.3-21 11.3-32.9 11.3H94.5C68.8 464 48 443.2 48 417.5c0-14 6.3-27.2 17.2-36.1l66.5-54c28-22.8 44.3-57 44.3-93.1V144H288V96H176V48H288zM368 0c-26.5 0-48 21.5-48 48V234.3c0 21.7-9.8 42.2-26.6 55.9l-66.5 54c-22.1 17.9-34.9 44.9-34.9 73.3c0 52.2 42.3 94.5 94.5 94.5h6.3c23.1 0 45.5-7.9 63.4-22.5l111.3-90.1c28.1-22.8 44.5-57.1 44.5-93.3V48c0-26.5-21.5-48-48-48H368zm0 48h96V96H368V48zm0 96h96V306.2c0 21.7-9.8 42.3-26.7 56L326 452.2c-9.4 7.6-21.1 11.8-33.2 11.8h-6.3c-25.7 0-46.5-20.8-46.5-46.5c0-14 6.3-27.2 17.2-36.1l66.5-54c28-22.8 44.3-57 44.3-93.1V144z\"]\n};\nvar faFaceSunglasses = {\n prefix: 'far',\n iconName: 'face-sunglasses',\n icon: [512, 512, [], \"e398\", \"M256 464C141.1 464 48 370.9 48 256c0-16.3 1.9-32.2 5.4-47.4l3.9 23.3C61.2 255 81.2 272 104.7 272h78.7c23.5 0 43.5-17 47.3-40.1l6.6-39.9h37.3l6.6 39.9c3.9 23.1 23.9 40.1 47.3 40.1h78.7c23.5 0 43.5-17 47.3-40.1l3.9-23.3c3.6 15.2 5.4 31.1 5.4 47.4c0 114.9-93.1 208-208 208zM227.1 144c-8.7-9.8-21.4-16-35.8-16H96.7c-1.6 0-3.2 .1-4.8 .2C129.9 79.4 189.3 48 256 48s126.1 31.4 164.1 80.2c-1.6-.2-3.2-.2-4.8-.2H320.7c-14.4 0-27.1 6.2-35.8 16H227.1zM256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM143.7 332.7c-9.7 9-10.4 24.2-1.4 33.9c22 23.8 60 49.4 113.6 49.4s91.7-25.5 113.6-49.4c9-9.7 8.4-24.9-1.4-33.9s-24.9-8.4-33.9 1.4C319.2 350.5 293.2 368 256 368s-63.2-17.5-78.4-33.9c-9-9.7-24.2-10.4-33.9-1.4z\"]\n};\nvar faInbox = {\n prefix: 'far',\n iconName: 'inbox',\n icon: [512, 512, [], \"f01c\", \"M48 336h81.2l20.9 41.9c6.8 13.6 20.6 22.1 35.8 22.1H326.1c15.1 0 29-8.6 35.8-22.1L382.8 336H464v80c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V336zm406.5-48H377.9c-15.1 0-29 8.6-35.8 22.1L321.2 352H190.8l-20.9-41.9c-6.8-13.6-20.6-22.1-35.8-22.1H57.5l49-195.9C108.2 85 114.6 80 122 80H390c7.3 0 13.7 5 15.5 12.1l49 195.9zM0 327.9V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V327.9c0-5.2-.6-10.4-1.9-15.5l-58-231.9C445 52 419.4 32 390 32H122C92.6 32 67 52 59.9 80.5L1.9 312.4C.6 317.4 0 322.6 0 327.9z\"]\n};\nvar faSquare0 = {\n prefix: 'far',\n iconName: 'square-0',\n icon: [448, 512, [], \"e255\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm224 32c53 0 96 43 96 96v64c0 53-43 96-96 96s-96-43-96-96V224c0-53 43-96 96-96zm-48 96v64c0 26.5 21.5 48 48 48s48-21.5 48-48V224c0-26.5-21.5-48-48-48s-48 21.5-48 48z\"]\n};\nvar faSection = {\n prefix: 'far',\n iconName: 'section',\n icon: [256, 512, [], \"e447\", \"M48.4 90.6c2.8-15.9 12.5-27.3 29-34.6c17.6-7.7 42.8-10.5 73.1-5.6L153.7 30l-3.3 20.5c9.7 1.6 39.9 7.6 49.1 10.1c12.8 3.5 26-4 29.5-16.8s-4-26-16.8-29.5C200.7 11.1 168.7 4.8 158.1 3C121.8-2.8 86.5-.5 58 12.1C28.6 25.1 6.7 49 1 83.3c-.1 .4-.1 .8-.2 1.2c-2.2 19.5 .4 37 7.9 52.3c7.4 15.2 18.8 26.6 31.4 35.3c2.4 1.7 4.9 3.3 7.4 4.8C24.2 189.8 6.8 210.7 1.7 239.4c-.1 .4-.1 .9-.2 1.3c-2.3 18.8 .4 35.8 8.1 50.7c7.6 14.6 19.1 25.5 31.6 33.7c22.9 15.1 53.3 23.9 79.2 31.5l3.6 1c29 8.5 52.3 15.7 67.7 26.7c7.1 5.1 11.4 10.2 13.7 15.6c2.3 5.3 3.6 12.8 1.6 24.2c-2.5 14.2-11.6 25.1-28.5 32.2c-17.7 7.4-43.1 9.9-73.3 5.3c-14.9-2.4-40.4-10.8-61-17.7c-4.5-1.5-8.8-2.9-12.7-4.2c-12.6-4.1-26.1 2.8-30.2 15.4s2.8 26.1 15.4 30.2c3 1 6.5 2.1 10.5 3.5l0 0 0 0 0 0c20.3 6.7 51.4 17.1 70.6 20.2l.1 0c36 5.5 70.9 3.3 99.1-8.5c29-12.1 51.4-34.8 57.3-68.1c3.4-19 1.9-36.3-4.8-51.8c-6.7-15.3-17.6-26.8-29.8-35.6c0 0 0 0 0 0c17.7-13.5 30.5-32.7 34.7-58c3.3-19.7 1.8-37.5-4.7-53.4c-6.5-15.8-17.3-27.9-29.6-37.2c-23.2-17.5-55.1-27.4-81.8-35.6l-.7-.2c-29.3-9-53.3-16.5-69.9-28.1c-7.7-5.4-12.7-11-15.7-17c-2.8-5.8-4.6-13.7-3.4-25.1zM163.2 319.3c-8.6-2.8-17-5.2-25-7.6l-.8-.2C108.3 303 84.2 295.9 67.6 285c-7.8-5.1-12.6-10.3-15.4-15.7c-2.6-5-4.3-11.9-3.2-22.1c2.7-13.9 11.7-24.6 28.4-31.6c13-5.4 30.2-8.3 50.5-7.5c26.9 8.4 48.6 15.8 63.1 26.8c7.1 5.4 11.6 10.9 14.1 17.1c2.5 6.1 3.9 14.7 1.8 27.2c-3.3 19.4-17.2 33.8-43.7 40.1z\"]\n};\nvar faSquareThisWayUp = {\n prefix: 'far',\n iconName: 'square-this-way-up',\n icon: [448, 512, [\"box-up\"], \"f49f\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM120 352H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24zM328 192V296c0 13.3-10.7 24-24 24s-24-10.7-24-24V192H254.5c-8 0-14.5-6.5-14.5-14.5c0-3.5 1.3-7 3.7-9.6L286.2 120c4.5-5.1 11-8 17.8-8s13.2 2.9 17.8 8l42.6 47.9c2.4 2.7 3.7 6.1 3.7 9.6c0 8-6.5 14.5-14.5 14.5H328zM80 177.5c0-3.5 1.3-7 3.7-9.6L126.2 120c4.5-5.1 11-8 17.8-8s13.2 2.9 17.8 8l42.6 47.9c2.4 2.7 3.7 6.1 3.7 9.6c0 8-6.5 14.5-14.5 14.5H168V296c0 13.3-10.7 24-24 24s-24-10.7-24-24V192H94.5c-8 0-14.5-6.5-14.5-14.5z\"]\n};\nvar faBoxUp = faSquareThisWayUp;\nvar faGaugeHigh = {\n prefix: 'far',\n iconName: 'gauge-high',\n icon: [512, 512, [62461, \"tachometer-alt\", \"tachometer-alt-fast\"], \"f625\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm32-400a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM256 408c30.9 0 56-25.1 56-56c0-14-5.1-26.8-13.7-36.6L366 161.7c5.3-12.1-.2-26.3-12.3-31.6s-26.3 .2-31.6 12.3L254.4 296c-30.2 .8-54.4 25.6-54.4 56c0 30.9 25.1 56 56 56zM192 160a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM112 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm320-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faTachometerAlt = faGaugeHigh;\nvar faTachometerAltFast = faGaugeHigh;\nvar faSquareAmpersand = {\n prefix: 'far',\n iconName: 'square-ampersand',\n icon: [448, 512, [], \"e260\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm184 95.6c0 4.1 1.6 8.1 4.6 11L203 217.1l23.6-17.3c3.4-2.5 5.4-6.4 5.4-10.6c0-7.3-5.9-13.2-13.2-13.2H199.6c-8.6 0-15.6 7-15.6 15.6zm71 46.9l-17.6 12.9 28.7 28.7 26.2-37.8c7.5-10.9 22.5-13.6 33.4-6.1s13.6 22.5 6.1 33.4l-31.1 45L329 343c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-22.4-22.4c-15.1 18.5-37.8 29.4-62 29.4H178.5c-36.7 0-66.5-29.8-66.5-66.5c0-21.2 10.1-41.1 27.2-53.6l24.7-18.1-9.2-9.2c-11.9-11.9-18.6-28.1-18.6-45c0-35.1 28.5-63.6 63.6-63.6h19.2c33.8 0 61.2 27.4 61.2 61.2c0 19.5-9.3 37.8-25 49.3zm-87.5 64.1c-4.7 3.5-7.5 9-7.5 14.9c0 10.2 8.3 18.5 18.5 18.5h32.2c10.5 0 20.3-5.2 26.3-13.8l1.4-2-40.1-40.1-30.7 22.5z\"]\n};\nvar faEnvelopeOpenText = {\n prefix: 'far',\n iconName: 'envelope-open-text',\n icon: [512, 512, [], \"f658\", \"M392 48H120c-4.4 0-8 3.6-8 8V225.2L69.2 190.1c-1.7-1.4-3.4-2.6-5.2-3.8V56C64 25.1 89.1 0 120 0H392c30.9 0 56 25.1 56 56V186.2c-1.8 1.2-3.5 2.5-5.2 3.8L400 225.2V56c0-4.4-3.6-8-8-8zM160 120c0-13.3 10.7-24 24-24H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24zm0 80c0-13.3 10.7-24 24-24H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24zM48 276.2V456c0 4.4 3.6 8 8 8H456c4.4 0 8-3.6 8-8V276.2L322 392.8c-38.4 31.5-93.7 31.5-132 0L48 276.2zM0 237.9C0 221.4 13.4 208 29.9 208c6.9 0 13.6 2.4 19 6.8l171.6 141c20.7 17 50.4 17 71.1 0l171.6-141c5.3-4.4 12.1-6.8 19-6.8c16.5 0 29.9 13.4 29.9 29.9V456c0 30.9-25.1 56-56 56H56c-30.9 0-56-25.1-56-56V237.9z\"]\n};\nvar faLampDesk = {\n prefix: 'far',\n iconName: 'lamp-desk',\n icon: [512, 512, [], \"e014\", \"M347.3 97.9L309.3 59.9C301.6 52.3 291.3 48 280.6 48C258.2 48 240 66.2 240 88.6c0 10.8 4.3 21.1 11.9 28.7l38.1 38.1c9 9 14.1 21.2 14.1 33.9v60.1L441.4 112H381.3c-12.7 0-24.9-5.1-33.9-14.1zm-4.1-72L381.3 64H480c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9l-73.5 73.5-45.1 45.1-73.5 73.5c-9.2 9.2-22.9 11.9-34.9 6.9s-19.8-16.6-19.8-29.6V189.3l-13.7-13.7c-.6 .7-1.3 1.4-2 2.1l-93.1 86L204.4 464H360c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H154.5L96.9 262.6c-2.5-8.7 .1-18.1 6.8-24.2l104-96c.5-.5 1-.9 1.5-1.3C198.1 126 192 107.6 192 88.6C192 39.7 231.7 0 280.6 0c23.5 0 46 9.3 62.6 25.9zM432 288c-14.7 0-27.8-6.6-36.6-16.9l67.7-67.7c10.3 8.8 16.9 21.9 16.9 36.6c0 26.5-21.5 48-48 48z\"]\n};\nvar faHospital = {\n prefix: 'far',\n iconName: 'hospital',\n icon: [640, 512, [127973, 62589, \"hospital-alt\", \"hospital-wide\"], \"f0f8\", \"M232 0c-39.8 0-72 32.2-72 72v8H72C32.2 80 0 112.2 0 152V440c0 39.8 32.2 72 72 72h.2 .2 .2 .2 .2H73h.2 .2 .2 .2 .2 .2 .2 .2 .2 .2H75h.2 .2 .2 .2 .2 .2 .2 .2 .2 .2H77h.2 .2 .2 .2 .2 .2 .2 .2 .2 .2H79h.2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2H82h.2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2H85h.2 .2 .2 .2H86h.2 .2 .2 .2H87h.2 .2 .2 .2H88h.2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2H98h.2 .2 .2 .2H99h.2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2v0H456h8v0H568c39.8 0 72-32.2 72-72V152c0-39.8-32.2-72-72-72H480V72c0-39.8-32.2-72-72-72H232zM480 128h88c13.3 0 24 10.7 24 24v40H536c-13.3 0-24 10.7-24 24s10.7 24 24 24h56v48H536c-13.3 0-24 10.7-24 24s10.7 24 24 24h56V440c0 13.3-10.7 24-24 24H480V336 128zM72 128h88V464h-.1-.2-.2-.2H159h-.2-.2-.2H158h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H154h-.2-.2-.2H153h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H150h-.2-.2-.2H149h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H146h-.2-.2-.2H145h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H142h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H139h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H136h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H133h-.2-.2-.2-.2-.2-.2-.2-.2H131h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H128h-.2-.2-.2-.2-.2-.2-.2-.2H126h-.2-.2-.2-.2-.2-.2-.2-.2H124h-.2-.2-.2-.2-.2-.2-.2-.2H122h-.2-.2-.2-.2-.2-.2-.2-.2H120h-.2-.2-.2-.2-.2-.2-.2-.2H118h-.2-.2-.2-.2-.2-.2-.2-.2H116h-.2-.2-.2-.2-.2-.2-.2-.2H114h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H111h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H108h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H105h-.2-.2-.2-.2H104h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H100h-.2-.2-.2-.2H99h-.2-.2-.2-.2H98h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H88h-.2-.2-.2-.2H87h-.2-.2-.2-.2H86h-.2-.2-.2-.2H85h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H82h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H79h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H77h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H75h-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2H73h-.2-.2-.2-.2-.2H72c-13.2 0-24-10.7-24-24V336h56c13.3 0 24-10.7 24-24s-10.7-24-24-24H48V240h56c13.3 0 24-10.7 24-24s-10.7-24-24-24H48V152c0-13.3 10.7-24 24-24zM208 72c0-13.3 10.7-24 24-24H408c13.3 0 24 10.7 24 24V336 464H368V400c0-26.5-21.5-48-48-48s-48 21.5-48 48v64H208V72zm88 24v24H272c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h24v24c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V168h24c8.8 0 16-7.2 16-16V136c0-8.8-7.2-16-16-16H344V96c0-8.8-7.2-16-16-16H312c-8.8 0-16 7.2-16 16z\"]\n};\nvar faHospitalAlt = faHospital;\nvar faHospitalWide = faHospital;\nvar faPollPeople = {\n prefix: 'far',\n iconName: 'poll-people',\n icon: [640, 512, [], \"f759\", \"M128 48A48 48 0 1 0 32 48a48 48 0 1 0 96 0zM592 80v64H480V80H592zM272 32c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48H592c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H272zM592 368v64H352V368H592zM272 320c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48H592c26.5 0 48-21.5 48-48V368c0-26.5-21.5-48-48-48H272zM64 128c-35.3 0-64 28.7-64 64c0 17.7 14.3 32 32 32h96c17.7 0 32-14.3 32-32c0-35.3-28.7-64-64-64H64zm64 208a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM64 416c-35.3 0-64 28.7-64 64c0 17.7 14.3 32 32 32h96c17.7 0 32-14.3 32-32c0-35.3-28.7-64-64-64H64z\"]\n};\nvar faWhiskeyGlassIce = {\n prefix: 'far',\n iconName: 'whiskey-glass-ice',\n icon: [512, 512, [\"glass-whiskey-rocks\"], \"f7a1\", \"M50.5 80h411L414.2 404.6c-2.3 15.7-15.8 27.4-31.7 27.4h-253c-15.9 0-29.4-11.7-31.7-27.4L50.5 80zM32 32c-9.3 0-18.1 4-24.2 11.1S-1 59.4 .3 68.6l50 342.9c5.7 39.3 39.4 68.5 79.2 68.5h253c39.7 0 73.4-29.1 79.2-68.5l50-342.9c1.3-9.2-1.4-18.5-7.5-25.5S489.3 32 480 32H32zM255.4 179.3l.6-.6c-5-1.8-10.4-2.7-16-2.7H144c-26.5 0-48 21.5-48 48v96c0 26.5 21.5 48 48 48h73.8l-19-19c-8.5-8.5-14.7-18.4-18.6-29H144V224h66.7l44.7-44.7zM312 235.9l56.6 56.6L312 349l-56.6-56.6L312 235.9zm-33.9-33.9l-56.6 56.6c-18.7 18.7-18.7 49.1 0 67.9L278.1 383c18.7 18.7 49.1 18.7 67.9 0l56.6-56.6c18.7-18.7 18.7-49.1 0-67.9l-56.6-56.6c-18.7-18.7-49.1-18.7-67.9 0z\"]\n};\nvar faGlassWhiskeyRocks = faWhiskeyGlassIce;\nvar faWineBottle = {\n prefix: 'far',\n iconName: 'wine-bottle',\n icon: [512, 512, [], \"f72f\", \"M391 7c9.4-9.4 24.6-9.4 33.9 0l80 80c9.4 9.4 9.4 24.6 0 33.9c-7.5 7.5-18.8 9-27.9 4.4l-72.5 72.5c-8 8-10.9 19.6-9.6 30.9c4 36.7-8.1 74.8-36.2 103L197.3 493.3c-25 25-65.5 25-90.5 0l-88-88c-25-25-25-65.5 0-90.5l33.9 33.9c-6.2 6.2-6.2 16.4 0 22.6l88 88c6.2 6.2 16.4 6.2 22.6 0l36-36L88.7 312.7l-36 36L18.7 314.7 180.2 153.3c28.1-28.1 66.3-40.2 103-36.2c11.3 1.2 22.9-1.6 30.9-9.6l72.5-72.5c-4.6-9-3.1-20.3 4.4-27.9zM200.7 200.7L311.3 311.3l13.5-13.5c17.4-17.4 24.9-41 22.5-63.8c-2.4-21.8 2.6-49.3 23.4-70l70.7-70.7L418.7 70.6l-70.7 70.7c-20.8 20.8-48.2 25.8-70 23.4c-22.9-2.5-46.4 5-63.8 22.4l-13.5 13.5z\"]\n};\nvar faChessRook = {\n prefix: 'far',\n iconName: 'chess-rook',\n icon: [448, 512, [9820], \"f447\", \"M80 80V192c0 2.5 1.2 4.9 3.2 6.4l51.2 38.4c6.8 5.1 10.4 13.4 9.5 21.9L133.5 352H85.2l9.4-85L54.4 236.8C40.3 226.2 32 209.6 32 192V72c0-22.1 17.9-40 40-40H376c22.1 0 40 17.9 40 40V192c0 17.6-8.3 34.2-22.4 44.8L353.4 267l9.4 85H314.5l-10.4-93.3c-.9-8.4 2.7-16.8 9.5-21.9l51.2-38.4c2-1.5 3.2-3.9 3.2-6.4V80H304v24c0 13.3-10.7 24-24 24s-24-10.7-24-24V80H192v24c0 13.3-10.7 24-24 24s-24-10.7-24-24V80H80zm4.7 384H363.3l-16.6-32H101.2L84.7 464zm271.9-80c12 0 22.9 6.7 28.4 17.3l26.5 51.2c3 5.8 4.6 12.2 4.6 18.7c0 22.5-18.2 40.8-40.8 40.8H72.8C50.2 512 32 493.8 32 471.2c0-6.5 1.6-12.9 4.6-18.7l26.5-51.2C68.5 390.7 79.5 384 91.5 384h265zM208 288c-8.8 0-16-7.2-16-16V224c0-17.7 14.3-32 32-32s32 14.3 32 32v48c0 8.8-7.2 16-16 16H208z\"]\n};\nvar faUserBountyHunter = {\n prefix: 'far',\n iconName: 'user-bounty-hunter',\n icon: [448, 512, [], \"e2bf\", \"M323 120C309.4 78 270 48 224 48s-85.4 30-99 72H323zm5.5 36.4L248 171.5v98.4l9.5-1.9c7.6-49.7 42.9-81.5 71.9-97.8l-.9-13.8zm-209 0l-.9 13.8c29 16.3 64.2 48.1 71.9 97.8l9.5 1.9V171.5l-80.5-15.1zM96 70C123.1 27.7 170.5 0 224 0c80.1 0 146.5 62.2 151.7 142.2L383 256.5c1.3 20-12.4 37.9-32.1 41.8L250.1 318.4c-5.2 1-10.4 1.6-15.7 1.6H213.5c-5.3 0-10.5-.5-15.7-1.6L97 298.3c-16.2-3.2-28.4-16-31.4-31.6c-1-3.4-1.6-7-1.6-10.7V16C64 7.2 71.2 0 80 0H96c8.8 0 16 7.2 16 16s-7.2 16-16 16V70zM313.6 400H134.4c-40 0-73.6 27.1-83.5 64H160l59.2-44.4c2.8-2.1 6.8-2.1 9.6 0L288 464H397.1c-9.9-36.9-43.5-64-83.5-64zM0 486.4C0 412.2 60.2 352 134.4 352H313.6C387.8 352 448 412.2 448 486.4c0 14.1-11.5 25.6-25.6 25.6H25.6C11.5 512 0 500.5 0 486.4z\"]\n};\nvar faBarsStaggered = {\n prefix: 'far',\n iconName: 'bars-staggered',\n icon: [512, 512, [\"reorder\", \"stream\"], \"f550\", \"M0 88C0 74.7 10.7 64 24 64H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H24C10.7 112 0 101.3 0 88zM64 248c0-13.3 10.7-24 24-24H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H88c-13.3 0-24-10.7-24-24zM448 408c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H424c13.3 0 24 10.7 24 24z\"]\n};\nvar faReorder = faBarsStaggered;\nvar faStream = faBarsStaggered;\nvar faDiagramSankey = {\n prefix: 'far',\n iconName: 'diagram-sankey',\n icon: [576, 512, [], \"e158\", \"M329.9 80c-2.8 0-5.4 1.5-6.8 3.8L253.8 197.2c-10.2 16.6-28.3 26.8-47.8 26.8H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H206.1c2.8 0 5.4-1.5 6.8-3.8L282.2 58.8C292.3 42.2 310.4 32 329.9 32H552c13.3 0 24 10.7 24 24s-10.7 24-24 24H329.9zm-124 240l61.7 108c1.4 2.5 4.1 4 6.9 4H552c13.3 0 24 10.7 24 24s-10.7 24-24 24H274.6c-20.1 0-38.7-10.8-48.6-28.2L150.6 320H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H552c13.3 0 24 10.7 24 24s-10.7 24-24 24H205.9z\"]\n};\nvar faCloudHailMixed = {\n prefix: 'far',\n iconName: 'cloud-hail-mixed',\n icon: [512, 512, [], \"f73a\", \"M112 120c0-39.8 32.2-72 72-72c25.8 0 48.5 13.6 61.2 34c3.8 6.1 10.1 10.2 17.2 11.1s14.3-1.3 19.5-6.2c10-9.3 23.4-15 38.1-15c29 0 52.9 22.1 55.7 50.4c1.2 12.3 11.6 21.7 23.9 21.6l.3 0h0c35.3 0 64 28.7 64 64s-28.7 64-64 64H108h-1.9c-.3 0-.7-.1-1-.1C73.3 270.4 48 244.2 48 212c0-28.3 19.6-52.1 46.1-58.4c11.8-2.8 19.6-13.9 18.3-25.9c-.3-2.5-.4-5.1-.4-7.7zM184 0C120 0 67.7 50.1 64.2 113.3C26.4 130.1 0 167.9 0 212c0 57.1 44.3 103.9 100.5 107.7c1.2 .2 2.3 .3 3.5 .3h4H400c61.9 0 112-50.1 112-112c0-55.2-39.9-101.1-92.5-110.3C406.5 55 366.9 24 320 24c-18 0-34.9 4.6-49.7 12.6C248.5 14.1 217.9 0 184 0zM81.5 353.9c-12.2-5.2-26.3 .4-31.5 12.6l-10.3 24c-5.2 12.2 .4 26.3 12.6 31.5s26.3-.4 31.5-12.6l10.3-24c5.2-12.2-.4-26.3-12.6-31.5zm120 0c-12.2-5.2-26.3 .4-31.5 12.6l-48 112c-5.2 12.2 .4 26.3 12.6 31.5s26.3-.4 31.5-12.6l48-112c5.2-12.2-.4-26.3-12.6-31.5zm232 0c-12.2-5.2-26.3 .4-31.5 12.6l-48 112c-5.2 12.2 .4 26.3 12.6 31.5s26.3-.4 31.5-12.6l48-112c5.2-12.2-.4-26.3-12.6-31.5zM326.1 385.5c5.2-12.2-.4-26.3-12.6-31.5s-26.3 .4-31.5 12.6l-10.3 24c-5.2 12.2 .4 26.3 12.6 31.5s26.3-.4 31.5-12.6l10.3-24zM32 512a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm256-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faCircleUpLeft = {\n prefix: 'far',\n iconName: 'circle-up-left',\n icon: [512, 512, [], \"e128\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM160 313.4c0 12.5 10.1 22.6 22.6 22.6c6 0 11.8-2.4 16-6.6L232 296l66.3 66.3c3.6 3.6 8.5 5.7 13.7 5.7s10-2 13.7-5.7l36.7-36.7c3.6-3.6 5.7-8.5 5.7-13.7s-2-10-5.7-13.7L296 232l33.4-33.4c4.2-4.2 6.6-10 6.6-16c0-12.5-10.1-22.6-22.6-22.6H176c-8.8 0-16 7.2-16 16V313.4z\"]\n};\nvar faDharmachakra = {\n prefix: 'far',\n iconName: 'dharmachakra',\n icon: [512, 512, [9784], \"f655\", \"M232.4 24.7l.4 8.5c-44.4 4.6-85 22.1-117.9 48.8l-5.7-6.3c-9.1-10-24.6-10.3-34.2-.8s-9.2 25.1 .8 34.2l6.3 5.7c-26.7 32.9-44.3 73.4-48.8 117.9l-8.5-.4C11.3 231.8 0 242.5 0 256s11.3 24.2 24.7 23.6l8.5-.4c4.6 44.4 22.1 85 48.8 117.9l-6.3 5.7c-10 9.1-10.3 24.6-.8 34.2s25.1 9.2 34.2-.8l5.7-6.3c32.9 26.7 73.4 44.3 117.9 48.8l-.4 8.5c-.6 13.5 10.1 24.7 23.6 24.7s24.2-11.3 23.6-24.7l-.4-8.5c44.4-4.6 85-22.1 117.9-48.8l5.7 6.3c9.1 10 24.6 10.3 34.2 .8s9.2-25.1-.8-34.2l-6.3-5.7c26.7-32.9 44.3-73.4 48.8-117.9l8.5 .4c13.5 .6 24.7-10.1 24.7-23.6s-11.3-24.2-24.7-23.6l-8.5 .4c-4.6-44.4-22.1-85-48.8-117.9l6.3-5.7c10-9.1 10.3-24.6 .8-34.2s-25.1-9.2-34.2 .8L397.1 82c-32.9-26.7-73.4-44.3-117.9-48.8l.4-8.5C280.2 11.3 269.5 0 256 0s-24.2 11.3-23.6 24.7zM147.3 394.4l54.2-59.4c10.9 7.5 23.5 12.9 37.1 15.4l-3.7 80.3c-32.8-3.9-62.9-16.9-87.6-36.3zm29.6-84l-59.4 54.2C98.1 340 85.2 309.9 81.2 277.1l80.3-3.7c2.5 13.6 7.8 26.1 15.4 37.1zM81.2 234.9c3.9-32.8 16.9-62.9 36.3-87.6l59.4 54.2c-7.5 10.9-12.9 23.5-15.4 37.1l-80.3-3.7zm120.3-58l-54.2-59.4c24.7-19.4 54.8-32.4 87.6-36.3l3.7 80.3c-13.6 2.5-26.1 7.8-37.1 15.4zm108.9 0c-10.9-7.5-23.5-12.9-37.1-15.4l3.7-80.3c32.8 3.9 62.9 16.9 87.6 36.3l-54.2 59.4zm54.2 217.5c-24.7 19.4-54.8 32.4-87.6 36.3l-3.7-80.3c13.6-2.5 26.1-7.8 37.1-15.4l54.2 59.4zm29.8-29.8l-59.4-54.2c7.5-10.9 12.9-23.5 15.4-37.1l80.3 3.7c-3.9 32.8-16.9 62.9-36.3 87.6zm0-217.4c19.4 24.7 32.4 54.8 36.3 87.6l-80.3 3.7c-2.5-13.6-7.8-26.1-15.4-37.1l59.4-54.2zM208 256a48 48 0 1 1 96 0 48 48 0 1 1 -96 0z\"]\n};\nvar faObjectsAlignLeft = {\n prefix: 'far',\n iconName: 'objects-align-left',\n icon: [512, 512, [], \"e3be\", \"M0 24C0 10.7 10.7 0 24 0S48 10.7 48 24l0 464c0 13.3-10.7 24-24 24s-24-10.7-24-24L0 24zM176 176l288 0 0-64-288 0 0 64zm-48-64c0-26.5 21.5-48 48-48l288 0c26.5 0 48 21.5 48 48l0 64c0 26.5-21.5 48-48 48l-288 0c-26.5 0-48-21.5-48-48l0-64zm48 288l160 0 0-64-160 0 0 64zm-48-64c0-26.5 21.5-48 48-48l160 0c26.5 0 48 21.5 48 48l0 64c0 26.5-21.5 48-48 48l-160 0c-26.5 0-48-21.5-48-48l0-64z\"]\n};\nvar faOilCanDrip = {\n prefix: 'far',\n iconName: 'oil-can-drip',\n icon: [640, 512, [], \"e205\", \"M352 88c0 13.3-10.7 24-24 24H280v48h88.9c9.9 0 19.7 2.3 28.6 6.8L448 192l139.8-30 2.1-.4 11.3-2.4 13.9-3c18.1-3.9 30.7 17.6 18.4 31.5l-9.4 10.6-7.6 8.6-1.4 1.6L451.1 394.3c-12.1 13.8-29.6 21.7-48 21.7H144c-26.5 0-48-21.5-48-48V346.7l-67.5-30C11.2 309 0 291.8 0 272.8V208c0-26.5 21.5-48 48-48H96h48 3.2H232V112H184c-13.3 0-24-10.7-24-24s10.7-24 24-24H328c13.3 0 24 10.7 24 24zM458.7 242.1c-11.4 2.4-23.2 .9-33.6-4.3l-50.5-25.2c-1.8-.9-3.7-1.4-5.7-1.4H147.2V364.8H403.1c3.7 0 7.2-1.6 9.6-4.3L530.8 226.6l-72.1 15.4zM96 211.2V208H48v64.8l48 21.3V211.2zM592 448c-26.5 0-48-21.5-48-48c0-21 20.6-62.6 34.9-88.8c5.8-10.6 20.5-10.6 26.3 0C619.4 337.4 640 379 640 400c0 32-21.5 48-48 48z\"]\n};\nvar faFaceSmilingHands = {\n prefix: 'far',\n iconName: 'face-smiling-hands',\n icon: [640, 512, [], \"e396\", \"M320 352c-27.4 0-48.6-9.4-64-20.9V384v2.5c18 8.1 39.4 13.5 64 13.5s46-5.4 64-13.5V384 331.1c-15.4 11.5-36.6 20.9-64 20.9zM112 252.3C114 139.1 206.4 48 320 48s206 91.1 208 204.3c13.3-11.9 31.7-15.2 47.7-9.6C568.7 107.5 456.9 0 320 0S71.3 107.5 64.3 242.6c16-5.5 34.4-2.3 47.7 9.6zm139 200c-4.6 15.8-12.2 30.4-22.1 43c28.3 10.8 59 16.7 91.1 16.7s62.8-5.9 91.1-16.7c-9.9-12.6-17.5-27.2-22.1-43c-21.6 7.6-44.8 11.7-69 11.7s-47.4-4.1-69-11.7zm30.6-223.5l0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C190.7 188.4 184 206.1 184 224c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8l0 0 0 0 0 0 .2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2 0 0 0 0zm160 0l0 0 0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C350.7 188.4 344 206.1 344 224c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8l0 0 0 0 0 0 .2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2 0 0zm129.7 70.5c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-79 79c-5 5-13.7 1.5-13.7-5.7V330.4c0-11-9-20-20-20s-20 9-20 20V384v32.8c0 52.6 42.6 95.2 95.2 95.2c25.2 0 49.5-10 67.3-27.9l56.8-56.8c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L593.4 424c-2.6 2.6-6.8 2.6-9.4 0s-2.6-6.8 0-9.4l51.3-51.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L561.4 392c-2.6 2.6-6.8 2.6-9.4 0s-2.6-6.8 0-9.4l67.3-67.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L529.4 360c-2.6 2.6-6.8 2.6-9.4 0s-2.6-6.8 0-9.4l51.3-51.3zM68.7 276.7c-6.2 6.2-6.2 16.4 0 22.6L120 350.6c2.6 2.6 2.6 6.8 0 9.4s-6.8 2.6-9.4 0L43.3 292.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L88 382.6c2.6 2.6 2.6 6.8 0 9.4s-6.8 2.6-9.4 0L27.3 340.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L56 414.6c2.6 2.6 2.6 6.8 0 9.4s-6.8 2.6-9.4 0L27.3 404.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l56.8 56.8C79.3 502 103.6 512 128.8 512c52.6 0 95.2-42.6 95.2-95.2V384 330.4c0-11-9-20-20-20s-20 9-20 20v19.7c0 7.1-8.6 10.7-13.7 5.7l-79-79c-6.2-6.2-16.4-6.2-22.6 0z\"]\n};\nvar faBroccoli = {\n prefix: 'far',\n iconName: 'broccoli',\n icon: [512, 512, [129382], \"e3e2\", \"M256 0c-37.2 0-69.5 21.2-85.4 52.1C162.2 49.4 153.3 48 144 48c-48.6 0-88 39.4-88 88c0 10.7 1.9 20.9 5.4 30.4C25.5 180.3 0 215.2 0 256c0 53 43 96 96 96H416c53 0 96-43 96-96c0-40.8-25.5-75.7-61.4-89.6c3.5-9.5 5.4-19.7 5.4-30.4c0-48.6-39.4-88-88-88c-9.3 0-18.2 1.4-26.6 4.1C325.5 21.2 293.2 0 256 0zM208.4 89.7C211.5 66.2 231.6 48 256 48s44.5 18.2 47.6 41.7c1.1 8.6 6.9 16 15 19.2s17.3 1.8 24.1-3.8c6.9-5.7 15.7-9.1 25.4-9.1c22.1 0 40 17.9 40 40c0 12-5.3 22.8-13.7 30.2c-7.8 6.8-10.4 17.9-6.3 27.4s13.7 15.4 24.1 14.6c1.3-.1 2.6-.2 4-.2c26.5 0 48 21.5 48 48s-21.5 48-48 48H96c-26.5 0-48-21.5-48-48s21.5-48 48-48c1.3 0 2.7 .1 4 .2c10.3 .8 20-5 24.1-14.6s1.5-20.6-6.3-27.4C109.3 158.8 104 148 104 136c0-22.1 17.9-40 40-40c9.7 0 18.5 3.4 25.4 9.1c6.7 5.5 15.9 7 24.1 3.8s13.8-10.6 15-19.2zM192.2 490.3c5 12.8 17.1 21.7 30.9 21.7h65.9c13.8 0 25.9-8.9 30.9-21.7c17.6-45.3 39.6-82.1 56.1-106.3H280l-16.8 33.7c-2.9 5.9-11.4 5.9-14.3 0L232 384H136.1c16.5 24.2 38.5 60.9 56.1 106.3z\"]\n};\nvar faRouteInterstate = {\n prefix: 'far',\n iconName: 'route-interstate',\n icon: [512, 512, [], \"f61b\", \"M64 192H447.3c-3.3 42-12.4 79.6-27.6 113.3C391 369 338.9 421.2 255.5 461.7c-84.6-37.1-136.4-89.1-164.6-153.4C75.7 273.8 67 235.1 64 192zM272.6 6c-10.2-6.1-23-6.1-33.2 0c-53.2 31.8-107 33.5-178.8 20c-17.7-3.3-35 8.7-37.7 26.9C8 156.5 12.5 249.5 46.9 327.6c34.7 78.9 98.6 139.8 196.5 181.1c8.3 3.5 17.8 3.3 26-.5c95.4-44.7 158.9-105.4 194.1-183.2c34.9-77.2 40.4-168.5 25.5-272.2c-2.6-18.2-19.9-30.2-37.7-26.9C379.6 39.5 325.8 37.8 272.6 6z\"]\n};\nvar faEarMuffs = {\n prefix: 'far',\n iconName: 'ear-muffs',\n icon: [640, 512, [], \"f795\", \"M320 48c-83.1 0-151.4 63.4-159.3 144.4c-2.9-.3-5.8-.4-8.7-.4c-14.4 0-27.9 3.4-39.9 9.5C115.5 89.7 207.3 0 320 0S524.5 89.7 527.9 201.5c-12-6.1-25.5-9.5-39.9-9.5c-3 0-5.9 .1-8.7 .4C471.4 111.4 403.1 48 320 48zM480 224.6c2.6-.4 5.3-.6 8-.6c12 0 23.2 3.8 32.3 10.2c5-1.5 10.3-2.2 15.7-2.2c19.9 0 37.5 10.4 47.4 26.1c23.4 6.7 40.6 28.3 40.6 53.9c0 5.1-.7 10.1-2 14.9c11.1 10.2 18 24.9 18 41.1s-6.9 30.9-18 41.1c1.3 4.7 2 9.7 2 14.9c0 25.6-17.2 47.2-40.6 53.9C573.5 493.6 555.9 504 536 504c-5.5 0-10.7-.8-15.7-2.2C511.2 508.2 500 512 488 512c-30.9 0-56-25.1-56-56c0-10.2 2.7-19.8 7.5-28c-4.8-8.2-7.5-17.8-7.5-28c0-11.9 3.7-22.9 10-32c-6.3-9.1-10-20.1-10-32c0-10.2 2.7-19.8 7.5-28c-4.8-8.2-7.5-17.8-7.5-28c0-28.2 20.9-51.6 48-55.4zM152 224c2.7 0 5.4 .2 8 .6c27.1 3.9 48 27.2 48 55.4c0 10.2-2.7 19.8-7.5 28c4.8 8.2 7.5 17.8 7.5 28c0 11.9-3.7 22.9-10 32c6.3 9.1 10 20.1 10 32c0 10.2-2.7 19.8-7.5 28c4.8 8.2 7.5 17.8 7.5 28c0 30.9-25.1 56-56 56c-12 0-23.2-3.8-32.3-10.2c-5 1.5-10.3 2.2-15.7 2.2c-20 0-37.5-10.4-47.4-26.1C33.2 471.2 16 449.6 16 424c0-5.1 .7-10.1 2-14.9C6.9 398.9 0 384.3 0 368s6.9-30.9 18-41.1c-1.3-4.7-2-9.7-2-14.9c0-25.6 17.2-47.2 40.6-53.9C66.5 242.4 84 232 104 232c5.5 0 10.7 .8 15.7 2.2C128.8 227.8 140 224 152 224zm7 108c-8.6-14.9-8.6-33.2 0-48.1c.7-1.1 1-2.4 1-4c0-4.4-3.6-8-8-8c-1.8 0-3.3 .5-4.6 1.4c-12 8.4-27.1 11-41.2 6.9c-.7-.2-1.4-.3-2.3-.3c-2.8 0-5.3 1.4-6.8 3.8c-6.3 10-16.1 17.3-27.4 20.5c-3.4 1-5.8 4.1-5.8 7.7c0 .8 .1 1.5 .3 2.2c4.8 17.3-.5 35.8-13.7 48c-1.7 1.5-2.6 3.6-2.6 5.9s.9 4.4 2.6 5.9c13.2 12.2 18.5 30.7 13.7 48c-.2 .6-.3 1.3-.3 2.2c0 3.6 2.4 6.7 5.8 7.7c11.4 3.2 21.1 10.5 27.4 20.5c1.5 2.4 4 3.8 6.8 3.8c.9 0 1.6-.1 2.3-.3c14-4.1 29.2-1.6 41.2 6.9c1.3 .9 2.8 1.4 4.6 1.4c4.4 0 8-3.6 8-8c0-1.5-.4-2.8-1-4c-8.6-14.9-8.6-33.2 0-48.1c.7-1.1 1-2.4 1-4c0-1.8-.5-3.3-1.4-4.5c-11.5-16.5-11.5-38.4 0-54.9c.9-1.3 1.4-2.8 1.4-4.5c0-1.5-.4-2.8-1-4zm321-52c0 1.5 .4 2.8 1 4c8.6 14.9 8.6 33.2 0 48.1c-.7 1.1-1 2.4-1 4c0 1.8 .5 3.3 1.4 4.5c11.5 16.5 11.5 38.4 0 54.9c-.9 1.3-1.4 2.8-1.4 4.5c0 1.5 .4 2.8 1 4c8.6 14.9 8.6 33.2 0 48.1c-.7 1.1-1 2.4-1 4c0 4.4 3.6 8 8 8c1.8 0 3.3-.5 4.6-1.4c12-8.4 27.1-11 41.2-6.9c.7 .2 1.4 .3 2.3 .3c2.8 0 5.3-1.4 6.8-3.8c6.3-10 16.1-17.3 27.4-20.5c3.4-1 5.8-4.1 5.8-7.7c0-.8-.1-1.5-.3-2.2c-4.7-17.3 .5-35.8 13.7-48c1.7-1.5 2.6-3.6 2.6-5.9s-.9-4.4-2.6-5.9c-13.2-12.2-18.5-30.7-13.7-48c.2-.6 .3-1.3 .3-2.2c0-3.6-2.4-6.7-5.8-7.7c-11.4-3.2-21.1-10.5-27.4-20.5c-1.5-2.4-4-3.8-6.8-3.8c-.9 0-1.6 .1-2.3 .3c-14 4.1-29.2 1.6-41.2-6.9c-1.3-.9-2.8-1.4-4.6-1.4c-4.4 0-8 3.6-8 8z\"]\n};\nvar faHotdog = {\n prefix: 'far',\n iconName: 'hotdog',\n icon: [512, 512, [127789], \"f80f\", \"M496.2 208.2l-34 34c1.2 1.7 1.9 3.7 1.9 5.8c0 2.6-1 5.2-2.9 7L255 461.1c-1.9 1.9-4.4 2.9-7 2.9c-2.1 0-4.1-.7-5.8-1.9l-34 34c10.7 10.2 25 15.8 39.8 15.8c15.4 0 30.1-6.1 41-17L495 289c10.9-10.9 17-25.6 17-41c0-14.8-5.7-29.1-15.8-39.8zM15.8 303.8l34-34c-1.2-1.7-1.9-3.7-1.9-5.8c0-2.6 1-5.2 2.9-7L17 223 50.9 257 257 50.9c1.9-1.9 4.4-2.9 7-2.9c2.1 0 4.1 .7 5.8 1.9l34-34C293.1 5.7 278.8 0 264 0c-15.4 0-30.1 6.1-41 17L17 223C6.1 233.9 0 248.6 0 264c0 14.8 5.7 29.1 15.8 39.8zM447.6 143.6l-304 304c-21.9 21.9-57.3 21.9-79.2 0s-21.9-57.3 0-79.2l304-304c21.9-21.9 57.3-21.9 79.2 0s21.9 57.3 0 79.2zm33.9 33.9c40.6-40.6 40.6-106.5 0-147.1s-106.5-40.6-147.1 0l-304 304c-40.6 40.6-40.6 106.5 0 147.1s106.5 40.6 147.1 0l304-304zm-70.2-38.2c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0c-7 7-12.5 10.8-17 13.1c-4.5 2.3-8.5 3.4-13.6 4.7l-1.5 .4c-4.7 1.2-10.9 2.7-17.3 5.6c-7.4 3.4-14.8 8.4-22.7 16.3c-16.2 16.2-20.5 30.7-24 42.7l0 .1c-3.1 10.6-5.5 18.8-16 29.2c-5.5 5.5-9.5 7.8-12.4 9.1c-3 1.3-5.8 1.7-10.6 2.4l-.4 .1c-4.6 .6-10.9 1.6-18 4.5c-7.4 3.1-14.8 8.1-22.6 15.9c-16.2 16.2-20.5 30.7-24 42.7l0 .1c-3.1 10.6-5.5 18.8-16 29.2c-5.5 5.5-9.7 8.1-13.3 9.8c-3.6 1.6-6.9 2.5-12 3.7l-1.2 .3c-5.6 1.4-12.6 3.2-20.4 7.3c-7.9 4-16 9.9-25 18.9c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0c7-7 12.5-10.8 17-13.1c4.5-2.3 8.5-3.4 13.6-4.7l1.5-.4 0 0c4.7-1.2 10.9-2.7 17.3-5.6c7.4-3.4 14.8-8.4 22.7-16.3c16.2-16.2 20.5-30.7 24-42.7l0-.1c3.1-10.6 5.5-18.8 16-29.2c5.5-5.5 9.5-7.8 12.4-9.1c3-1.3 5.8-1.7 10.6-2.4l.4-.1c4.6-.6 10.9-1.6 18-4.5c7.4-3.1 14.8-8.1 22.6-15.9c16.2-16.2 20.5-30.7 24-42.7l0-.1c3.1-10.6 5.5-18.8 16-29.2c5.5-5.5 9.7-8.1 13.3-9.8c3.6-1.6 6.9-2.5 12-3.7l1.2-.3c5.6-1.4 12.6-3.2 20.4-7.3c7.9-4 16-9.9 25-18.9z\"]\n};\nvar faTransporterEmpty = {\n prefix: 'far',\n iconName: 'transporter-empty',\n icon: [512, 512, [], \"e046\", \"M96 488c0-13.3 10.7-24 24-24H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24z\"]\n};\nvar faPersonWalkingWithCane = {\n prefix: 'far',\n iconName: 'person-walking-with-cane',\n icon: [512, 512, [\"blind\"], \"f29d\", \"M176 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-14.4 32c-34.8 0-66.3 20.5-80.4 52.3l-47.1 106c-5.4 12.1 .1 26.3 12.2 31.7s26.3-.1 31.7-12.2L120 211.1v68.7c0 17.8 8.5 34.6 22.9 45.2L240 396.2V488c0 13.3 10.7 24 24 24s24-10.7 24-24V392.1c0-12.7-6.1-24.7-16.3-32.3L240 336.6V207.3l68 102c7.4 11 22.3 14 33.3 6.7s14-22.3 6.7-33.3L271 167.2c-16.3-24.5-43.8-39.2-73.2-39.2H161.6zM168 279.8V176h24V301.4l-20.7-15.2c-2.1-1.5-3.3-3.9-3.3-6.5zm175.4 70.1L450.8 505.1c5 7.3 15 9.1 22.3 4s9.1-15 4-22.3L370.4 332.6c-3.2 3.7-7 7.1-11.3 10c-5 3.3-10.3 5.7-15.7 7.3zM96.7 482.4c-3.1 12.9 4.8 25.8 17.7 28.9s25.8-4.8 28.9-17.7l26.3-109.4-42-30.8-31 129z\"]\n};\nvar faBlind = faPersonWalkingWithCane;\nvar faAngle90 = {\n prefix: 'far',\n iconName: 'angle-90',\n icon: [448, 512, [], \"e08d\", \"M48 56c0-13.3-10.7-24-24-24S0 42.7 0 56V456c0 13.3 10.7 24 24 24H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H48V56zM96 97.6v48.3c31 3.6 60.4 12.5 87.4 25.7l25.3-41.1C174.2 113 136.2 101.6 96 97.6zm115.2 89.7c32.6 21 60.5 48.9 81.5 81.5l40.9-25.2c-25-39-58.2-72.2-97.2-97.2l-25.2 40.9zM334.1 384h48.3c-4-40.2-15.4-78.2-32.9-112.6l-41.1 25.3c13.2 26.9 22 56.3 25.7 87.4z\"]\n};\nvar faRectangleTerminal = {\n prefix: 'far',\n iconName: 'rectangle-terminal',\n icon: [512, 512, [], \"e236\", \"M448 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H448zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm38.3 119.8c-9 9.8-8.3 25 1.5 33.9L180.5 256l-76.7 70.3c-9.8 9-10.4 24.1-1.5 33.9s24.1 10.4 33.9 1.5l96-88c5-4.5 7.8-11 7.8-17.7s-2.8-13.1-7.8-17.7l-96-88c-9.8-9-25-8.3-33.9 1.5zM248 336c-13.3 0-24 10.7-24 24s10.7 24 24 24H392c13.3 0 24-10.7 24-24s-10.7-24-24-24H248z\"]\n};\nvar faKite = {\n prefix: 'far',\n iconName: 'kite',\n icon: [640, 512, [129665], \"f6f4\", \"M368 48H584c2.2 0 4.2 .9 5.7 2.3L480 160 592 272v6.3c0 3.7-2.6 7-6.3 7.8L289.8 351.9c-.3-.3-.5-.6-.8-.9L480 160 368 48zm-61-4.1L234.1 372l-87.5 87.5c-2.9 2.9-6.9 4.6-11 4.6c-8.6 0-15.6-7-15.6-15.6V359.8l-24-12-24 12v88.6c0 35.1 28.5 63.6 63.6 63.6c16.9 0 33-6.7 45-18.6L268 405.9 596.1 333c25.6-5.7 43.9-28.4 43.9-54.7V56c0-30.9-25.1-56-56-56H361.7c-26.2 0-49 18.2-54.7 43.9zM0 152c0 13.3 10.7 24 24 24h8c22.1 0 40 17.9 40 40v68L18.7 257.4c-1.8-.9-3.8-1.4-5.8-1.4C5.8 256 0 261.8 0 268.9v70.1C0 346.2 5.8 352 12.9 352c2 0 4-.5 5.8-1.4L72 324v0l9.7-4.8c4.5-2.3 9.4-3.4 14.3-3.4l.5 0c3.5 .1 7 .7 10.4 1.9c1.2 .4 2.3 .9 3.4 1.5l0 0L120 324l53.3 26.6c1.8 .9 3.8 1.4 5.8 1.4c7.1 0 12.9-5.8 12.9-12.9V268.9c0-7.1-5.8-12.9-12.9-12.9c-2 0-4 .5-5.8 1.4L120 284V216c0-48.6-39.4-88-88-88H24c-13.3 0-24 10.7-24 24z\"]\n};\nvar faDrum = {\n prefix: 'far',\n iconName: 'drum',\n icon: [512, 512, [129345], \"f569\", \"M501.2 76.1c11.1-7.3 14.2-22.1 6.9-33.2s-22.1-14.2-33.2-6.9L370.2 104.5C335.8 98.7 297 96 256 96C114.6 96 0 128 0 208V368c0 24.9 14.9 44.5 33.2 58.7c18.5 14.3 43.6 25.5 72 33.9C147.4 473 199.8 480 256 480s108.6-7 150.8-19.5c28.4-8.4 53.5-19.6 72-33.9C497.1 412.5 512 392.9 512 368V208c0-41.1-30.2-69.5-78.8-87.4l67.9-44.5zM307.4 145.6l-64.6 42.3c-11.1 7.3-14.2 22.1-6.9 33.2s22.1 14.2 33.2 6.9l111.1-72.8c14.7 3.2 27.9 7 39.4 11.5C458.4 181.8 464 197.4 464 208c0 .8-2.7 17.2-46 35.9C379.1 260.7 322 272 256 272s-123.1-11.3-162-28.1C50.7 225.2 48 208.8 48 208c0-10.6 5.6-26.2 44.4-41.3C130.6 151.9 187.8 144 256 144c18 0 35.1 .5 51.4 1.6zM424 293.2c15-5.6 28.4-12 40-19V368c0 4.1-2.3 11.2-14.5 20.7c-6.5 5-15 10-25.5 14.6V293.2zM280 319.5c34.4-1.3 66.9-5.6 96-12.2V419.1c-27.9 6.7-60.5 11.1-96 12.5v-112zM136 307.4c29.1 6.6 61.6 10.8 96 12.2v112c-35.5-1.4-68.1-5.8-96-12.5V307.4zM48 274.2c11.6 7 25 13.4 40 19V403.3c-10.4-4.7-18.9-9.6-25.5-14.6C50.3 379.2 48 372.1 48 368V274.2z\"]\n};\nvar faScrubber = {\n prefix: 'far',\n iconName: 'scrubber',\n icon: [512, 512, [], \"f2f8\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256-64a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]\n};\nvar faIceCream = {\n prefix: 'far',\n iconName: 'ice-cream',\n icon: [448, 512, [127848], \"f810\", \"M224 0C140.9 0 72.6 63.3 64.8 144.4C28.4 148 0 178.7 0 216c0 39.8 32.2 72 72 72h64.4H311.6 376c39.8 0 72-32.2 72-72c0-37.3-28.4-68-64.8-71.6C375.4 63.3 307.1 0 224 0zM112 160c0-61.9 50.1-112 112-112s112 50.1 112 112c0 2.2-.1 4.4-.2 6.6c-.4 6.6 2 13.1 6.5 17.9s10.8 7.5 17.5 7.5H376c13.3 0 24 10.7 24 24s-10.7 24-24 24H311.6 136.4 72c-13.3 0-24-10.7-24-24s10.7-24 24-24H88.2c6.6 0 12.9-2.7 17.5-7.5s6.9-11.3 6.5-17.9c-.1-2.2-.2-4.4-.2-6.6zm88.1 338.1c4.9 8.6 14 13.9 23.9 13.9s19-5.3 23.9-13.9L349.7 320H98.3L200.1 498.1z\"]\n};\nvar faHeartCircleBolt = {\n prefix: 'far',\n iconName: 'heart-circle-bolt',\n icon: [576, 512, [], \"e4fc\", \"M225.8 468.2l-2.5-2.3L48.1 303.2C17.4 274.7 0 234.7 0 192.8v-3.3c0-70.4 50-130.8 119.2-144C158.6 37.9 198.9 47 231 69.6c9 6.4 17.4 13.8 25 22.3c4.2-4.8 8.7-9.2 13.5-13.3c3.7-3.2 7.5-6.2 11.5-9l0 0C313.1 47 353.4 37.9 392.8 45.4C462 58.6 512 119.1 512 189.5v3.3c0 6-.4 12-1.1 17.9c-14.6-7.3-30.4-12.7-47-15.8c0-.7 0-1.4 0-2.1v-3.3c0-47.3-33.6-88-80.1-96.9c-34-6.5-69 5.4-92 31.2l-.1 .1-.1 .1-17.8 20c-.3 .4-.7 .7-1 1.1c-4.5 4.5-10.6 7-16.9 7s-12.4-2.5-16.9-7c-.4-.3-.7-.7-1-1.1l-17.8-20-.1-.1 0 0c-23.1-25.9-58-37.7-92-31.2C81.6 101.5 48 142.1 48 189.5v3.3c0 28.5 11.9 55.8 32.8 75.2L256 430.7l8.7-8c5.3 16.1 12.8 31.2 22.2 44.9l-.6 .6c-8.2 7.6-19 11.9-30.2 11.9s-22-4.2-30.2-11.9zM432 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm47.9 63c-4.3-3.7-10.6-4-15.1-.6l-96 72c-4.1 3.1-5.8 8.5-4.2 13.4s6.2 8.2 11.4 8.2h35.6l-30.1 54.2c-2.8 5-1.7 11.1 2.6 14.9s10.6 4 15.1 .6l96-72c4.1-3.1 5.8-8.5 4.2-13.4s-6.2-8.2-11.4-8.2H452.4l30.1-54.2c2.8-5 1.7-11.1-2.6-14.9z\"]\n};\nvar faFishBones = {\n prefix: 'far',\n iconName: 'fish-bones',\n icon: [576, 512, [], \"e304\", \"M96 166.9c0-7.2-3.3-14.1-8.9-18.7l-48-38.9c-8.8-7.1-21.3-7.1-30.1-.1s-11.5 19.2-6.6 29.3L54.9 245.4c3.3 6.7 3.3 14.5 0 21.2L2.5 373.4c-5 10.1-2.2 22.3 6.6 29.3s21.3 7 30.1-.1l48-38.9c5.6-4.6 8.9-11.4 8.9-18.7V304h0V280h40v72c0 13.3 10.7 24 24 24s24-10.7 24-24V280h48v72c0 13.3 10.7 24 24 24s24-10.7 24-24V280h48v72c0 13.3 10.7 24 24 24s24-10.7 24-24V280h40V381.1c0 16.9 17.1 28.4 31.8 20c16-9.1 30.6-19.7 43.7-30.7c39.1-33 66.9-72.4 81-99.8c4.7-9.2 4.7-20.1 0-29.3c-14.1-27.4-41.9-66.8-81-99.8c-13.1-11-27.7-21.6-43.7-30.7c-14.7-8.4-31.8 3.1-31.8 20V232H376V160c0-13.3-10.7-24-24-24s-24 10.7-24 24v72H280V160c0-13.3-10.7-24-24-24s-24 10.7-24 24v72H184V160c0-13.3-10.7-24-24-24s-24 10.7-24 24v72H96V208h0V166.9zM464 330.8V181.2c28.5 24.9 49.7 53.6 61.8 74.8c-12.1 21.2-33.3 49.9-61.8 74.8z\"]\n};\nvar faDeerRudolph = {\n prefix: 'far',\n iconName: 'deer-rudolph',\n icon: [576, 512, [], \"f78f\", \"M240 0c8.8 0 16 7.2 16 16V40c0 13.3 10.7 24 24 24h8 8c13.3 0 24-10.7 24-24V16c0-8.8 7.2-16 16-16s16 7.2 16 16V40c0 8.6-1.9 16.7-5.4 24h39.5H416c13.3 0 24-10.7 24-24V16c0-8.8 7.2-16 16-16s16 7.2 16 16V40c0 20.7-11.2 38.7-27.9 48.4l43.7 39.7c7.3-9.8 19-16.2 32.1-16.2c22.1 0 40 17.9 40 40s-17.9 40-40 40c0 0-.1 0-.1 0c-2.3 35.7-31.9 64-68.2 64H409.3l-16.1 48.2c-.8 2.4-1.2 5-1.2 7.6V472c0 22.1-17.9 40-40 40H304c-22.1 0-40-17.9-40-40V376h-6.8c-22 0-43.7-4.6-63.8-13.3c-4.3 17.1-14.7 32.3-29.9 42.4l-6.5 4.3 17.8 48.8c9.5 26.1-9.8 53.7-37.6 53.7h-46c-16.8 0-31.8-10.5-37.6-26.3L31.2 423.9c-5.6-15.3-5.8-32-.6-47.4l8.2-24.7c.8-2.4 1.2-5 1.2-7.6v-4.3c0-6.4-2.5-12.5-7-17l-1.1-1.1c-1 8.4-8.4 14.7-16.9 14.1c-8.8-.6-15.5-8.1-15-17l3.3-53c1.1-17.6 6.9-33.9 16.2-47.6c16.2-30 48-50.4 84.5-50.4H295l7.2-24H274c-9.9 0-18-8-18-18c0-8.2 5.6-15.4 13.6-17.4L320 96H296h-8-8c-30.9 0-56-25.1-56-56V16c0-8.8 7.2-16 16-16zM354.9 135.2l-19 63.6c-3 10.2-12.4 17.1-23 17.1H104c-26.5 0-48 21.5-48 48v4.1c0 6.4 2.5 12.5 7 17l3.9 3.9C80.4 302.5 88 320.8 88 339.9v4.3c0 7.7-1.2 15.4-3.7 22.8l-8.2 24.7c-1.7 5.1-1.6 10.7 .2 15.8L96.8 464h28.9l-20.3-55.8c-3.8-10.4 0-22 9.2-28.2l22.2-14.8c7.9-5.2 11.9-14.6 10.4-23.9l-2.9-17.4c-1.6-9.4 2.6-18.9 10.6-24.1s18.4-5.1 26.3 .2l13.7 9.2c18.4 12.3 40 18.8 62.1 18.8H288c13.3 0 24 10.7 24 24V464h32V311.8c0-7.7 1.2-15.4 3.7-22.8l21.5-64.6c3.3-9.8 12.4-16.4 22.8-16.4h59.6c11.3 0 20.4-9.1 20.4-20.4c0-5.7-2.4-11.2-6.7-15.1L408 120.5c-6-5.5-13.8-8.5-21.9-8.5c-14.4 0-27.1 9.4-31.2 23.2zM400 144a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faFax = {\n prefix: 'far',\n iconName: 'fax',\n icon: [512, 512, [128224, 128439], \"f1ac\", \"M176 64c0-8.8 7.2-16 16-16H383.4c4.2 0 8.3 1.7 11.3 4.7l32.6 32.6c3 3 4.7 7.1 4.7 11.3V160h48V96.6c0-17-6.7-33.3-18.7-45.3L428.7 18.7C416.7 6.7 400.4 0 383.4 0H192c-35.3 0-64 28.7-64 64v66c-5.1-1.3-10.5-2-16-2H64c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H96h16H448c35.3 0 64-28.7 64-64V256c0-35.3-28.7-64-64-64H176V64zm0 176H448c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H174c1.3-5.1 2-10.5 2-16V240zM112 464H96 64c-8.8 0-16-7.2-16-16V192c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v24V448c0 8.8-7.2 16-16 16zM272 272a32 32 0 1 0 0 64 32 32 0 1 0 0-64zM240 400a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zM368 272a32 32 0 1 0 0 64 32 32 0 1 0 0-64zM336 400a32 32 0 1 0 64 0 32 32 0 1 0 -64 0z\"]\n};\nvar faParagraph = {\n prefix: 'far',\n iconName: 'paragraph',\n icon: [448, 512, [182], \"f1dd\", \"M32 192c0-88.4 71.6-160 160-160h64H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H384l0 376c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-376H288V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V352H192c-88.4 0-160-71.6-160-160zM240 304V80H192C130.1 80 80 130.1 80 192s50.1 112 112 112h48z\"]\n};\nvar faHeadSideHeart = {\n prefix: 'far',\n iconName: 'head-side-heart',\n icon: [512, 512, [], \"e1aa\", \"M48 224c0-97.2 78.8-176 176-176h24c60.1 0 115.7 36.7 139.6 88.3c3.9 8.4 7.5 17 11.4 25.9l1.5 3.5c4.3 10.1 8.9 20.7 13.9 31.1c10.1 20.8 22.5 42 40.6 60.1l4.4 4.4c2.9 2.9 4.6 6.9 4.6 11c0 8.6-7 15.6-15.6 15.6H424c-13.3 0-24 10.7-24 24v72c0 8.8-7.2 16-16 16H296c-13.3 0-24 10.7-24 24v64c0 13.3 10.7 24 24 24s24-10.7 24-24V448h64c35.3 0 64-28.7 64-64V336h.4c35.1 0 63.6-28.5 63.6-63.6c0-16.9-6.7-33-18.6-45L489 223c-12.7-12.7-22.4-28.5-31.4-47.1c-4.5-9.3-8.7-18.9-13-29l-1.5-3.5c-3.8-8.9-7.8-18.2-12-27.3C399.4 47.6 326.8 0 248 0H224C100.3 0 0 100.3 0 224c0 53.6 18.9 102.9 50.3 141.5c8.9 11 13.7 22.4 13.7 33.1V488c0 13.3 10.7 24 24 24s24-10.7 24-24V398.6c0-24.9-10.9-46.8-24.5-63.4C62.8 304.8 48 266.2 48 224zm64-34.7c0 16.2 6.5 31.8 17.9 43.3l82.7 82.7c6.2 6.2 16.4 6.2 22.6 0l82.7-82.7c11.5-11.5 17.9-27.1 17.9-43.3c0-33.8-27.4-61.3-61.3-61.3c-16.2 0-31.8 6.5-43.3 17.9l-7.4 7.4-7.4-7.4c-11.5-11.5-27.1-17.9-43.3-17.9c-33.8 0-61.3 27.4-61.3 61.3z\"]\n};\nvar faSquareE = {\n prefix: 'far',\n iconName: 'square-e',\n icon: [448, 512, [], \"e26d\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm152 32H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H176v56h88c13.3 0 24 10.7 24 24s-10.7 24-24 24H176v56H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24V256 152c0-13.3 10.7-24 24-24z\"]\n};\nvar faMeterFire = {\n prefix: 'far',\n iconName: 'meter-fire',\n icon: [640, 512, [], \"e1eb\", \"M256 48c68.7 0 129.5 33.3 167.4 84.6c16.7-8 37.2-5.5 51.5 7.4c5.6 5.1 11.1 10.2 16.6 15.5C452.5 64.1 361.7 0 256 0C114.6 0 0 114.6 0 256S114.6 512 256 512c33.6 0 65.7-6.5 95.1-18.3c-12.6-11.6-23.6-24.8-32.8-39.2c-19.7 6.2-40.6 9.5-62.3 9.5C141.1 464 48 370.9 48 256S141.1 48 256 48zM368 152c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 48c0 11.2 7.6 20.6 18 23.2c9-12.9 19.1-25.7 30-38.3l0-32.9zm-176 0c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 48c0 13.3 10.7 24 24 24s24-10.7 24-24l0-48zm88 0c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 48c0 13.3 10.7 24 24 24s24-10.7 24-24l0-48zm225.7 56.1l-19-19.9c-2-2.1-4-4.4-6-6.7c0 0 0 0 0 0c-9-10.2-18.6-21.3-32.7-21.6c-7.3-.2-14.6 2.3-20.3 7.5c-23.4 21.1-50 48.9-70.9 80.2C336 278.6 320 314.7 320 352c0 88.6 70.4 159.8 160 159.8c88.7 0 160-71.2 160-159.8c0-30-11-60.9-26.2-88.1c-15.2-27.4-35.3-52.3-55-70.6c-5.6-5.2-12.8-7.8-19.9-7.8c-7.6 0-15.5 2.8-20.9 8.9l-12.3 13.8zM544 400c0 35.3-28.7 64-64 64s-64-28.7-64-64c0-36.5 37-73 54.8-88.4c5.4-4.7 13.1-4.7 18.5 0C507 327 544 363.5 544 400z\"]\n};\nvar faCloudHail = {\n prefix: 'far',\n iconName: 'cloud-hail',\n icon: [512, 512, [], \"f739\", \"M112 120c0-39.8 32.2-72 72-72c25.8 0 48.5 13.6 61.2 34c3.8 6.1 10.1 10.2 17.2 11.1s14.3-1.3 19.5-6.2c10-9.3 23.4-15 38.1-15c29 0 52.9 22.1 55.7 50.4c1.2 12.3 11.6 21.7 23.9 21.6l.3 0h0c35.3 0 64 28.7 64 64s-28.7 64-64 64H108h-1.9c-.3 0-.7-.1-1-.1C73.3 270.4 48 244.2 48 212c0-28.3 19.6-52.1 46.1-58.4c11.8-2.8 19.6-13.9 18.3-25.9c-.3-2.5-.4-5.1-.4-7.7zM184 0C120 0 67.7 50.1 64.2 113.3C26.4 130.1 0 167.9 0 212c0 57.1 44.3 103.9 100.5 107.7c1.2 .2 2.3 .3 3.5 .3h4H400c61.9 0 112-50.1 112-112c0-55.2-39.9-101.1-92.5-110.3C406.5 55 366.9 24 320 24c-18 0-34.9 4.6-49.7 12.6C248.5 14.1 217.9 0 184 0zM160 384a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm128 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm96 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM96 480a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm96 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm160-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faCheckToSlot = {\n prefix: 'far',\n iconName: 'check-to-slot',\n icon: [576, 512, [\"vote-yea\"], \"f772\", \"M144 80V360H432V80H144zM96 360V80c0-26.5 21.5-48 48-48H432c26.5 0 48 21.5 48 48V360c13.3 0 24 10.7 24 24s-10.7 24-24 24H432 144 96c-13.3 0-24-10.7-24-24s10.7-24 24-24zM64 288v48H48l0 96H528V336H512V288h16c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V336c0-26.5 21.5-48 48-48H64zM385 179.6L278.3 286.3c-9.4 9.4-24.6 9.4-33.9 0L191 233c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l36.4 36.4L351 145.7c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\"]\n};\nvar faVoteYea = faCheckToSlot;\nvar faMoneyFromBracket = {\n prefix: 'far',\n iconName: 'money-from-bracket',\n icon: [640, 512, [], \"e312\", \"M48 88v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V88C0 39.4 39.4 0 88 0H552c48.6 0 88 39.4 88 88v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V88c0-22.1-17.9-40-40-40H88C65.9 48 48 65.9 48 88zm416 8h48l0 352c0 35.3-28.7 64-64 64H192c-35.3 0-64-28.7-64-64l0-352h48l0 304c35.3 0 64 28.7 64 64H400c0-35.3 28.7-64 64-64V96zM320 352c-53 0-96-35.8-96-80s43-80 96-80s96 35.8 96 80s-43 80-96 80z\"]\n};\nvar faStarHalf = {\n prefix: 'far',\n iconName: 'star-half',\n icon: [576, 512, [61731], \"f089\", \"M293.3 .6c10.9 2.5 18.6 12.2 18.6 23.4V408.7c0 8.9-4.9 17-12.7 21.2L151 509.1c-8.1 4.3-17.9 3.7-25.3-1.7s-11.2-14.5-9.7-23.5l26.2-155.6L31.1 218.3c-6.5-6.4-8.7-15.9-5.9-24.5s10.3-14.9 19.3-16.3l153.2-22.6L266.3 13.5c4.9-10.1 16.1-15.4 27-12.9zM263.9 128.4l-28.6 58.8c-3.5 7.1-10.2 12.1-18.1 13.3L99 217.9 184.9 303c5.5 5.5 8.1 13.3 6.8 21L171.4 443.7l92.5-49.4V128.4z\"]\n};\nvar faCarBus = {\n prefix: 'far',\n iconName: 'car-bus',\n icon: [640, 512, [], \"f85a\", \"M64.5 80H192 321.4C302.1 65.3 263.5 48 192 48C126.6 48 86.2 64.8 64.5 80zM48 128v80H168V128H48zm0 128v96c0 13.3 10.7 24 24 24H192v48H80v32c0 13.3-10.7 24-24 24s-24-10.7-24-24V411.9C12.7 399 0 377 0 352V118.2c0-22 4.6-51.9 28.8-71.4C58.6 22.7 111.5 0 192 0c84.9 0 135.8 22.1 164.5 46.6c23.4 20 27.5 49.9 27.5 71.6V128H348.2c-4.1 0-8.2 .3-12.2 .8V128H216v80h36.9l-13.7 48H192 48zm56 32a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm257.8-80c-10.1 0-19.2 6.4-22.6 15.9L322.1 272H541.9l-17.2-48.1c-3.4-9.6-12.5-15.9-22.6-15.9H361.8zm-96.4 79.9L294 207.8c10.2-28.7 37.4-47.8 67.8-47.8H502.2c30.4 0 57.6 19.1 67.8 47.8l28.6 80.1c.2 .5 .3 .9 .5 1.4C623.8 306.7 640 335.5 640 368v32 16 32 40c0 13.3-10.7 24-24 24s-24-10.7-24-24V448H272v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V448 416 400 368c0-32.5 16.2-61.3 40.9-78.7c.1-.5 .3-.9 .5-1.4zM544 320H320c-26.5 0-48 21.5-48 48v32H592V368c0-26.5-21.5-48-48-48zM336 336a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm168 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faSpeaker = {\n prefix: 'far',\n iconName: 'speaker',\n icon: [384, 512, [], \"f8df\", \"M320 48c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H320zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM232 120a40 40 0 1 0 -80 0 40 40 0 1 0 80 0zM192 432a104 104 0 1 0 0-208 104 104 0 1 0 0 208zM136 328a56 56 0 1 1 112 0 56 56 0 1 1 -112 0z\"]\n};\nvar faTimer = {\n prefix: 'far',\n iconName: 'timer',\n icon: [512, 512, [], \"e29e\", \"M232 24c0-13.3 10.7-24 24-24C397.4 0 512 114.6 512 256s-114.6 256-256 256S0 397.4 0 256c0-37.9 8.2-73.8 23-106.1c6-13.2 13.1-25.8 21.2-37.6c0-.1 .1-.1 .1-.2C53.4 98.7 63.6 86.3 75 75c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9c-9.2 9.2-17.6 19.3-25 30.1c0 .1-.1 .1-.1 .2c-21.2 31.2-34.2 68.5-35.7 108.7c-.1 2.7-.2 5.4-.2 8.1c0 114.9 93.1 208 208 208s208-93.1 208-208c0-106.8-80.4-194.7-184-206.6V104c0 13.3-10.7 24-24 24s-24-10.7-24-24V24zM159 159c9.4-9.4 24.6-9.4 33.9 0l80 80c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-80-80c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faBoxesStacked = {\n prefix: 'far',\n iconName: 'boxes-stacked',\n icon: [576, 512, [62625, \"boxes\", \"boxes-alt\"], \"f468\", \"M384 48c8.8 0 16 7.2 16 16V192h48V64c0-35.3-28.7-64-64-64H192c-35.3 0-64 28.7-64 64V192h48V64c0-8.8 7.2-16 16-16h56v64c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V48h56zM327.6 512H512c35.3 0 64-28.7 64-64V288c0-35.3-28.7-64-64-64H327.6c11.8 13.2 20.1 29.7 23.1 48H376v64c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V272h56c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H350.7c-3.1 18.3-11.3 34.8-23.1 48zM256 272c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V288c0-8.8 7.2-16 16-16h56v64c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V272h56zM64 224c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H256c35.3 0 64-28.7 64-64V288c0-35.3-28.7-64-64-64H64z\"]\n};\nvar faBoxes = faBoxesStacked;\nvar faBoxesAlt = faBoxesStacked;\nvar faLandmarkMagnifyingGlass = {\n prefix: 'far',\n iconName: 'landmark-magnifying-glass',\n icon: [640, 512, [], \"e622\", \"M448 288c-16.7 0-32.8-2.6-48-7.3V384H336V242.3c-5.8-5.7-11.1-11.8-16-18.3H288V384H224V224H176V384H112V224H64V384H56c-13.3 0-24 10.7-24 24s10.7 24 24 24H456c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V288zM267.6 3c-7.2-4-16-4-23.2 0L17.6 128.1C6.7 134.1 0 145.5 0 157.9C0 176.8 15.2 192 34.1 192H301.3c-6.5-14.9-10.8-31.1-12.5-48H88.2L256 51.4l41.3 22.8c5.5-15.3 13.2-29.5 22.8-42.3L267.6 3zM0 488c0 13.3 10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H24c-13.3 0-24 10.7-24 24zM448 48.1a80 80 0 1 1 0 160 80 80 0 1 1 0-160zm0 208c26.7 0 51.4-8.2 71.9-22.1L599 313.1c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-79.1-79.1c14-20.5 22.1-45.3 22.1-71.9c0-70.7-57.3-128-128-128s-128 57.3-128 128s57.3 128 128 128z\"]\n};\nvar faGrillHot = {\n prefix: 'far',\n iconName: 'grill-hot',\n icon: [448, 512, [], \"e5a5\", \"M120 0C106.7 0 96 10.7 96 24v2.6C96 48 106.7 68 124.5 79.8l12.4 8.3c4.5 3 7.1 8 7.1 13.3V104c0 13.3 10.7 24 24 24s24-10.7 24-24v-2.6C192 80 181.3 60 163.5 48.2l-12.4-8.3c-4.5-3-7.1-8-7.1-13.3V24c0-13.3-10.7-24-24-24zM48.9 208H399.1c-8 72-69 128-143.1 128H192c-74.1 0-135.2-56-143.1-128zM32 160c-17.7 0-32 14.3-32 32c0 78.1 46.6 145.3 113.6 175.3l-7.5 17.5c-3.3-.5-6.7-.8-10.1-.8c-35.3 0-64 28.7-64 64s28.7 64 64 64c26.9 0 49.9-16.5 59.3-40H327l10.9 25.5c5.2 12.2 19.3 17.8 31.5 12.6s17.8-19.3 12.6-31.5L334.4 367.3c67-30 113.6-97.2 113.6-175.3c0-17.7-14.3-32-32-32H32zM147.5 410l12.3-28.7c10.5 1.8 21.2 2.7 32.2 2.7h64c11 0 21.7-.9 32.2-2.7L306.5 424H155.3c-2-5-4.7-9.7-7.8-14zM72 448a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM256 24c0-13.3-10.7-24-24-24s-24 10.7-24 24v2.6C208 48 218.7 68 236.5 79.8l12.4 8.3c4.5 3 7.1 8 7.1 13.3V104c0 13.3 10.7 24 24 24s24-10.7 24-24v-2.6C304 80 293.3 60 275.5 48.2l-12.4-8.3c-4.5-3-7.1-8-7.1-13.3V24z\"]\n};\nvar faBallotCheck = {\n prefix: 'far',\n iconName: 'ballot-check',\n icon: [448, 512, [], \"f733\", \"M384 48c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H384zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM80 112v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H96c-8.8 0-16 7.2-16 16zM96 352c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16H96zm80-224c0 13.3 10.7 24 24 24H344c13.3 0 24-10.7 24-24s-10.7-24-24-24H200c-13.3 0-24 10.7-24 24zm32 128c0 13.3 10.7 24 24 24H344c13.3 0 24-10.7 24-24s-10.7-24-24-24H232c-13.3 0-24 10.7-24 24zM176 384c0 13.3 10.7 24 24 24H344c13.3 0 24-10.7 24-24s-10.7-24-24-24H200c-13.3 0-24 10.7-24 24zm-4.7-140.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L112 257.4 99.3 244.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l24 24c6.2 6.2 16.4 6.2 22.6 0l48-48z\"]\n};\nvar faLink = {\n prefix: 'far',\n iconName: 'link',\n icon: [640, 512, [128279, \"chain\"], \"f0c1\", \"M580.3 267.2c56.2-56.2 56.2-147.3 0-203.5C526.8 10.2 440.9 7.3 383.9 57.2l-6.1 5.4c-10 8.7-11 23.9-2.3 33.9s23.9 11 33.9 2.3l6.1-5.4c38-33.2 95.2-31.3 130.9 4.4c37.4 37.4 37.4 98.1 0 135.6L433.1 346.6c-37.4 37.4-98.2 37.4-135.6 0c-35.7-35.7-37.6-92.9-4.4-130.9l4.7-5.4c8.7-10 7.7-25.1-2.3-33.9s-25.1-7.7-33.9 2.3l-4.7 5.4c-49.8 57-46.9 142.9 6.6 196.4c56.2 56.2 147.3 56.2 203.5 0L580.3 267.2zM59.7 244.8C3.5 301 3.5 392.1 59.7 448.2c53.6 53.6 139.5 56.4 196.5 6.5l6.1-5.4c10-8.7 11-23.9 2.3-33.9s-23.9-11-33.9-2.3l-6.1 5.4c-38 33.2-95.2 31.3-130.9-4.4c-37.4-37.4-37.4-98.1 0-135.6L207 165.4c37.4-37.4 98.1-37.4 135.6 0c35.7 35.7 37.6 92.9 4.4 130.9l-5.4 6.1c-8.7 10-7.7 25.1 2.3 33.9s25.1 7.7 33.9-2.3l5.4-6.1c49.9-57 47-142.9-6.5-196.5c-56.2-56.2-147.3-56.2-203.5 0L59.7 244.8z\"]\n};\nvar faChain = faLink;\nvar faEarListen = {\n prefix: 'far',\n iconName: 'ear-listen',\n icon: [512, 512, [\"assistive-listening-systems\"], \"f2a2\", \"M388.9 3.8C450.6 43 493.6 105.8 508 177.6l3.5 17.7c2.6 13-5.8 25.6-18.8 28.2s-25.6-5.8-28.2-18.8L460.9 187c-11.8-58.9-47.1-110.5-97.8-142.7c-11.2-7.1-14.5-22-7.4-33.1s21.9-14.5 33.1-7.4zM240 112c-70.7 0-128 57.3-128 128c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-97.2 78.8-176 176-176s176 78.8 176 176c0 47.5-18.8 90.6-49.4 122.2c-4.8 4.9-6.6 9.9-6.6 13.8c0 75.1-60.9 136-136 136c-13.3 0-24-10.7-24-24s10.7-24 24-24c48.6 0 88-39.4 88-88c0-19.1 8.9-35.5 20.1-47.1c22.3-23 35.9-54.4 35.9-88.9c0-70.7-57.3-128-128-128zm0 88c-22.1 0-40 17.9-40 40c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-48.6 39.4-88 88-88s88 39.4 88 88c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-22.1-17.9-40-40-40zM168 320a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM24 464a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm57-97l64 64c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L47 401c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0z\"]\n};\nvar faAssistiveListeningSystems = faEarListen;\nvar faFileMinus = {\n prefix: 'far',\n iconName: 'file-minus',\n icon: [384, 512, [], \"f318\", \"M64 464c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zm56 288c-13.3 0-24 10.7-24 24s10.7 24 24 24H264c13.3 0 24-10.7 24-24s-10.7-24-24-24H120z\"]\n};\nvar faTreeCity = {\n prefix: 'far',\n iconName: 'tree-city',\n icon: [640, 512, [], \"e587\", \"M336 56c0-4.4 3.6-8 8-8H456c4.4 0 8 3.6 8 8V216c0 13.3 10.7 24 24 24h80 16c4.4 0 8 3.6 8 8V488c0 13.3 10.7 24 24 24s24-10.7 24-24V248c0-28.2-20.9-51.6-48-55.4V120c0-13.3-10.7-24-24-24s-24 10.7-24 24v72H512V56c0-30.9-25.1-56-56-56H344c-30.9 0-56 25.1-56 56V488c0 13.3 10.7 24 24 24s24-10.7 24-24V56zm32 40v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H384c-8.8 0-16 7.2-16 16zm16 80c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V192c0-8.8-7.2-16-16-16H384zM368 288v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V288c0-8.8-7.2-16-16-16H384c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V288c0-8.8-7.2-16-16-16H512zM496 384v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V384c0-8.8-7.2-16-16-16H512c-8.8 0-16 7.2-16 16zM224 160c0-53-43-96-96-96c-54 0-96 43-96 96c0 6 0 11 1 16C13 190 0 214 0 240c0 45 35 80 80 80H96V480c0 18 14 32 32 32c17 0 32-14 32-32V320h16c44 0 80-35 80-80c0-26-14-50-34-64c1-5 2-10 2-16z\"]\n};\nvar faPlay = {\n prefix: 'far',\n iconName: 'play',\n icon: [384, 512, [9654], \"f04b\", \"M48 432L336 256 48 80l0 352zM24.5 38.1C39.7 29.6 58.2 30 73 39L361 215c14.3 8.7 23 24.2 23 41s-8.7 32.2-23 41L73 473c-14.8 9.1-33.4 9.4-48.5 .9S0 449.4 0 432V80C0 62.6 9.4 46.6 24.5 38.1z\"]\n};\nvar faFont = {\n prefix: 'far',\n iconName: 'font',\n icon: [448, 512, [], \"f031\", \"M246.2 46.9C242.5 37.9 233.8 32 224 32s-18.5 5.9-22.2 14.9L44.6 432H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H136c13.3 0 24-10.7 24-24s-10.7-24-24-24H96.5l32.7-80H318.9l32.7 80H312c-13.3 0-24 10.7-24 24s10.7 24 24 24H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H403.4L246.2 46.9zM299.3 304H148.7L224 119.5 299.3 304z\"]\n};\nvar faCupTogo = {\n prefix: 'far',\n iconName: 'cup-togo',\n icon: [448, 512, [\"coffee-togo\"], \"f6c5\", \"M108.2 48h232c3 0 5.8 1.7 7.2 4.4L361.2 80H88l13-27.4c1.3-2.8 4.1-4.6 7.2-4.6zM414.8 80L390.3 31c-9.5-19-28.9-31-50.1-31h-232C86.6 0 66.9 12.4 57.6 32L34.8 80H24C10.7 80 0 90.7 0 104s10.7 24 24 24H50 400h24c13.3 0 24-10.7 24-24s-10.7-24-24-24h-9.2zM47.4 160L74.6 453.9c3 32.9 30.7 58.1 63.7 58.1H309.7c33.1 0 60.7-25.2 63.7-58.1L400.6 160H352.4l-5.9 64H101.5l-5.9-64H47.4zm68.9 224H331.6l-6.1 65.5c-.8 8.2-7.7 14.5-15.9 14.5H138.3c-8.3 0-15.2-6.3-15.9-14.5L116.4 384z\"]\n};\nvar faCoffeeTogo = faCupTogo;\nvar faSquareDownLeft = {\n prefix: 'far',\n iconName: 'square-down-left',\n icon: [448, 512, [], \"e26b\", \"M64 432c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H384c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64zM0 416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416zM128 198.6V336c0 8.8 7.2 16 16 16H281.4c12.5 0 22.6-10.1 22.6-22.6c0-6-2.4-11.8-6.6-16L264 280l66.3-66.3c3.6-3.6 5.7-8.5 5.7-13.7s-2-10-5.7-13.7l-36.7-36.7C290 146 285.1 144 280 144s-10 2-13.7 5.7L200 216l-33.4-33.4c-4.2-4.2-10-6.6-16-6.6c-12.5 0-22.6 10.1-22.6 22.6z\"]\n};\nvar faBurgerLettuce = {\n prefix: 'far',\n iconName: 'burger-lettuce',\n icon: [512, 512, [], \"e3e3\", \"M396.5 134.9c-7.7-8.5-17-17.1-28.6-24.9c.1 .6 .1 1.3 .1 2c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-6.5 3.8-12 9.3-14.6c-19.9-9.1-44.5-15.6-75.3-17.1c1.2 2.3 1.9 4.9 1.9 7.7c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-2.8 .7-5.4 1.9-7.7c-30.7 1.5-55.4 8-75.3 17.1c5.5 2.5 9.3 8.1 9.3 14.6c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-.7 0-1.3 .1-2c-11.6 7.8-21 16.4-28.6 24.9c-12.8 14.2-21.5 29-27.1 41.1H423.6c-5.7-12.1-14.3-26.9-27.1-41.1zM450.9 224H61.1C45 224 32 211 32 194.9c0-1.9 .2-3.7 .6-5.6C37.9 168.3 78.8 32 256 32s218.1 136.3 223.4 157.3c.5 1.9 .6 3.7 .6 5.6c0 16.1-13 29.1-29.1 29.1zM128 432H384c20.9 0 38.7-13.4 45.3-32H82.7c6.6 18.6 24.4 32 45.3 32zM32 384c0-17.7 14.3-32 32-32H448c17.7 0 32 14.3 32 32c0 53-43 96-96 96H128c-53 0-96-43-96-96zm48-56c-20.1 0-35.8-5.1-46.7-10.5c-5.4-2.7-9.6-5.5-12.7-7.8c-1.5-1.1-2.7-2.1-3.7-3c-.5-.4-.9-.8-1.2-1.1l-.4-.4-.2-.2-.1-.1 0 0 0 0c0 0 0 0 17-17L15 305c-9.4-9.4-9.4-24.6 0-33.9c9.2-9.2 24.2-9.4 33.6-.4c.1 .1 .4 .3 .8 .6c1 .7 2.8 1.9 5.3 3.2c5.1 2.5 13.4 5.5 25.3 5.5c8.2 0 15.2-3.8 30-12.6l.2-.1c13.2-7.9 32.3-19.3 57.8-19.3c25.1 0 42.2 11.1 54.1 18.8l1.6 1c12 7.7 19.8 12.2 32.3 12.2c12.2 0 19-4.2 30.7-12l.6-.4c12.3-8.2 29.4-19.6 56.7-19.6c27.2 0 46.1 11.3 59.6 19.6c14.5 9 20.5 12.4 28.4 12.4c11.9 0 20.2-2.9 25.3-5.5c2.6-1.3 4.4-2.5 5.3-3.2c.4-.3 .7-.6 .8-.6c9.4-9 24.3-8.9 33.6 .4c9.4 9.4 9.4 24.6 0 33.9l-17-17c17 17 17 17 17 17l0 0 0 0-.1 .1-.2 .2-.4 .4c-.3 .3-.7 .7-1.2 1.1c-.9 .8-2.1 1.8-3.7 3c-3 2.3-7.2 5.1-12.7 7.8C467.8 322.9 452.1 328 432 328c-22.2 0-39.3-10.7-50.8-17.9c-1-.6-1.9-1.2-2.7-1.7C365.9 300.7 356.8 296 344 296c-12.2 0-19 4.2-30.7 12l-.6 .4C300.4 316.6 283.3 328 256 328c-27.5 0-45.5-11.6-58.3-19.8l0 0C184.8 299.9 178.4 296 168 296c-11 0-19.8 4.5-33.4 12.6l-2.3 1.4c-12.1 7.3-29.9 18-52.2 18z\"]\n};\nvar faTableCellsRowLock = {\n prefix: 'far',\n iconName: 'table-cells-row-lock',\n icon: [640, 512, [], \"e67a\", \"M48 296l0-80 104 0 0 80L48 296zm0 120l0-72 104 0 0 88-88 0c-8.8 0-16-7.2-16-16zm264 16l-112 0 0-88 112 0 0 88zm72 0l-24 0 0-88 24.5 0c2.5-20.3 14.6-37.6 31.5-47.4l0-.6-56 0 0-80 71 0c16.8-29.1 46.4-49.9 81-54.9L512 96c0-35.3-28.7-64-64-64L64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0 0-48zM200 216l112 0 0 80-112 0 0-80zm328 24c17.7 0 32 14.3 32 32l0 48-64 0 0-48c0-17.7 14.3-32 32-32zm-80 32l0 48c-17.7 0-32 14.3-32 32l0 128c0 17.7 14.3 32 32 32l160 0c17.7 0 32-14.3 32-32l0-128c0-17.7-14.3-32-32-32l0-48c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"]\n};\nvar faRupiahSign = {\n prefix: 'far',\n iconName: 'rupiah-sign',\n icon: [512, 512, [], \"e23d\", \"M0 56C0 42.7 10.7 32 24 32h96c75.1 0 136 60.9 136 136c0 59.4-38.1 109.9-91.1 128.4l57.5 151c4.7 12.4-1.5 26.3-13.9 31s-26.3-1.5-31-13.9L116.4 304H48V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V280 56zM48 256h72c48.6 0 88-39.4 88-88s-39.4-88-88-88H48V256zm264-96h88c61.9 0 112 50.1 112 112s-50.1 112-112 112H336V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V184c0-13.3 10.7-24 24-24zm88 176c35.3 0 64-28.7 64-64s-28.7-64-64-64H336V336h64z\"]\n};\nvar faMagnifyingGlass = {\n prefix: 'far',\n iconName: 'magnifying-glass',\n icon: [512, 512, [128269, \"search\"], \"f002\", \"M368 208A160 160 0 1 0 48 208a160 160 0 1 0 320 0zM337.1 371.1C301.7 399.2 256.8 416 208 416C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208c0 48.8-16.8 93.7-44.9 129.1L505 471c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L337.1 371.1z\"]\n};\nvar faSearch = faMagnifyingGlass;\nvar faTableTennisPaddleBall = {\n prefix: 'far',\n iconName: 'table-tennis-paddle-ball',\n icon: [640, 512, [127955, \"ping-pong-paddle-ball\", \"table-tennis\"], \"f45d\", \"M476.4 99.5c52.2 52.2 64.8 129 37.7 193.1c15.8 4.4 30.4 11.7 43.1 21.3c35.9-82 20.3-181.2-46.8-248.3c-87.5-87.5-229.3-87.5-316.8 0l-60.1 60.1c-24 24-37.5 56.6-37.5 90.5V219c0 33.9 13.5 66.5 37.5 90.5c13.4 13.4 12 35.6-3 47.2l-49.3 38C70.3 403.1 64 416 64 429.7c0 11.7 4.7 22.9 12.9 31.2l38.1 38.1c8.3 8.3 19.5 12.9 31.2 12.9c13.7 0 26.6-6.3 35-17.2l38-49.3c11.6-15 33.8-16.5 47.2-3c24 24 56.6 37.5 90.5 37.5h2.7c3.1 0 6.1-.1 9.2-.3c-8.3-14.4-13.8-30.6-16-47.8c-19.7-1-38.5-9.3-52.5-23.3l-33.9 33.9 33.9-33.9c-33.9-33.9-89.9-30.3-119.2 7.7L145.9 462l-32-32 45.8-35.3c38-29.3 41.6-85.3 7.7-119.2c-15-15-23.4-35.4-23.4-56.6v-2.7c0-11 2.3-21.8 6.6-31.7L354.9 388.8c3.7-17.2 10.9-33.2 20.8-47.1L180.5 146.6l47-47c68.7-68.7 180.2-68.7 248.9 0zM432 416a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm144 0a96 96 0 1 0 -192 0 96 96 0 1 0 192 0z\"]\n};\nvar faPingPongPaddleBall = faTableTennisPaddleBall;\nvar faTableTennis = faTableTennisPaddleBall;\nvar faPersonDotsFromLine = {\n prefix: 'far',\n iconName: 'person-dots-from-line',\n icon: [576, 512, [\"diagnoses\"], \"f470\", \"M288 48a40 40 0 1 1 0 80 40 40 0 1 1 0-80zm0 128A88 88 0 1 0 288 0a88 88 0 1 0 0 176zM24 320L8.9 301.3C-1.4 309.7-3 324.8 5.3 335.1s23.4 11.9 33.7 3.6l0 0 .1-.1 .7-.6c.7-.5 1.8-1.4 3.3-2.4c3-2.2 7.5-5.4 13.4-9.2c11.9-7.7 29.3-18.2 51.5-28.6c19.4-9.2 42.3-18.3 68-25.6V432h48V261.3c20.2-3.3 41.6-5.3 64-5.3s43.8 1.9 64 5.3V432h48V272.1c25.7 7.4 48.5 16.5 68 25.6c22.2 10.5 39.6 20.9 51.5 28.6c5.9 3.9 10.4 7.1 13.4 9.2c1.5 1.1 2.6 1.9 3.3 2.4l.7 .6 .1 .1 0 0c10.3 8.3 25.4 6.7 33.7-3.6s6.7-25.4-3.6-33.8L552 320c15.1-18.7 15.1-18.7 15.1-18.7l0 0 0 0-.1-.1-.3-.3-.6-.5-.6-.4c-1-.8-2.4-1.8-4.2-3.1c-3.6-2.6-8.8-6.3-15.5-10.7c-13.4-8.8-32.8-20.3-57.3-31.9C439.6 231.3 370.1 208 288 208s-151.6 23.3-200.4 46.3c-24.4 11.5-43.9 23.1-57.3 31.9c-6.7 4.4-11.9 8.1-15.5 10.7c-1.8 1.3-3.2 2.4-4.2 3.1c-.5 .4-.9 .7-1.2 .9l-.3 .3-.1 .1 0 0 0 0s0 0 15.1 18.7zM0 488c0 13.3 10.7 24 24 24H552c13.3 0 24-10.7 24-24s-10.7-24-24-24H24c-13.3 0-24 10.7-24 24zM56 240a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM336 376a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM488 224a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faDiagnoses = faPersonDotsFromLine;\nvar faChevronsDown = {\n prefix: 'far',\n iconName: 'chevrons-down',\n icon: [512, 512, [\"chevron-double-down\"], \"f322\", \"M239 465c9.4 9.4 24.6 9.4 33.9 0L465 273c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-175 175L81 239c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9L239 465zM47 81L239 273c9.4 9.4 24.6 9.4 33.9 0L465 81c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-175 175L81 47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9z\"]\n};\nvar faChevronDoubleDown = faChevronsDown;\nvar faTrashCanArrowUp = {\n prefix: 'far',\n iconName: 'trash-can-arrow-up',\n icon: [448, 512, [\"trash-restore-alt\"], \"f82a\", \"M170.5 51.6L151.5 80h145l-19-28.4c-1.5-2.2-4-3.6-6.7-3.6H177.1c-2.7 0-5.2 1.3-6.7 3.6zm147-26.6L354.2 80H368h48 8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8V432c0 44.2-35.8 80-80 80H112c-44.2 0-80-35.8-80-80V128H24c-13.3 0-24-10.7-24-24S10.7 80 24 80h8H80 93.8l36.7-55.1C140.9 9.4 158.4 0 177.1 0h93.7c18.7 0 36.2 9.4 46.6 24.9zM80 128V432c0 17.7 14.3 32 32 32H336c17.7 0 32-14.3 32-32V128H80zm144 48c6.4 0 12.5 2.5 17 7l80 80c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-39-39V392c0 13.3-10.7 24-24 24s-24-10.7-24-24V257.9l-39 39c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l80-80c4.5-4.5 10.6-7 17-7z\"]\n};\nvar faTrashRestoreAlt = faTrashCanArrowUp;\nvar faSignalGood = {\n prefix: 'far',\n iconName: 'signal-good',\n icon: [640, 512, [\"signal-3\"], \"f68e\", \"M320 192c13.3 0 24 10.7 24 24V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V216c0-13.3 10.7-24 24-24zM192 288c13.3 0 24 10.7 24 24V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V312c0-13.3 10.7-24 24-24zM64 384c13.3 0 24 10.7 24 24v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V408c0-13.3 10.7-24 24-24z\"]\n};\nvar faSignal3 = faSignalGood;\nvar faLocationQuestion = {\n prefix: 'far',\n iconName: 'location-question',\n icon: [384, 512, [\"map-marker-question\"], \"f60b\", \"M336 192c0-79.5-64.5-144-144-144S48 112.5 48 192c0 12.4 4.5 31.6 15.3 57.2c10.5 24.8 25.4 52.2 42.5 79.9c28.5 46.2 61.5 90.8 86.2 122.6c24.8-31.8 57.8-76.4 86.2-122.6c17.1-27.7 32-55.1 42.5-79.9C331.5 223.6 336 204.4 336 192zm48 0c0 87.4-117 243-168.3 307.2c-12.3 15.3-35.1 15.3-47.4 0C117 435 0 279.4 0 192C0 86 86 0 192 0S384 86 384 192zM105.8 133.3c7.9-22.3 29.1-37.3 52.8-37.3h58.3c34.9 0 63.1 28.3 63.1 63.1c0 22.6-12.1 43.5-31.7 54.8L216 232.4c-.2 13-10.9 23.6-24 23.6c-13.3 0-24-10.7-24-24V218.5c0-8.6 4.6-16.5 12.1-20.8l44.3-25.4c4.7-2.7 7.6-7.7 7.6-13.1c0-8.4-6.8-15.1-15.1-15.1H158.6c-3.4 0-6.4 2.1-7.5 5.3l-.4 1.2c-4.4 12.5-18.2 19-30.6 14.6s-19-18.2-14.6-30.6l.4-1.2zM160 320a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faMapMarkerQuestion = faLocationQuestion;\nvar faFloppyDiskCircleXmark = {\n prefix: 'far',\n iconName: 'floppy-disk-circle-xmark',\n icon: [576, 512, [\"floppy-disk-times\", \"save-circle-xmark\", \"save-times\"], \"e181\", \"M48 96V416c0 8.8 7.2 16 16 16H268c6.9 17.5 16.4 33.7 28.2 48H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H309.5c17 0 33.3 6.7 45.3 18.7l74.5 74.5-33.9 33.9L320.8 84.7c-.3-.3-.5-.5-.8-.8V184c0 13.3-10.7 24-24 24H104c-13.3 0-24-10.7-24-24V80H64c-8.8 0-16 7.2-16 16zm381.3 29.3c12 12 18.7 28.3 18.7 45.3v22.2c-5.3-.5-10.6-.7-16-.7c-10.9 0-21.6 1-32 2.9V170.5c0-4.2-1.7-8.3-4.7-11.3l33.9-33.9zM256 368c0 2.5 .1 4.9 .2 7.4c-9.4 5.5-20.4 8.6-32.2 8.6c-35.3 0-64-28.7-64-64s28.7-64 64-64c22.1 0 41.6 11.2 53.1 28.3C263.7 309.2 256 337.7 256 368zM128 80v80H272V80H128zM432 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm22.6 144l36.7-36.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L432 345.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L409.4 368l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L432 390.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L454.6 368z\"]\n};\nvar faFloppyDiskTimes = faFloppyDiskCircleXmark;\nvar faSaveCircleXmark = faFloppyDiskCircleXmark;\nvar faSaveTimes = faFloppyDiskCircleXmark;\nvar faNairaSign = {\n prefix: 'far',\n iconName: 'naira-sign',\n icon: [448, 512, [], \"e1f6\", \"M107.8 42.5C101.9 33.8 91 30 80.9 33.1S64 45.5 64 56V256H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H64V456c0 13.3 10.7 24 24 24s24-10.7 24-24V304H227.6L340.2 469.5c5.9 8.7 16.8 12.5 26.9 9.4s16.9-12.4 16.9-22.9V304h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H384V56c0-13.3-10.7-24-24-24s-24 10.7-24 24V256H253L107.8 42.5zM285.7 304H336v74l-50.3-74zM195 256H112V134l83 122z\"]\n};\nvar faPeach = {\n prefix: 'far',\n iconName: 'peach',\n icon: [512, 512, [], \"e20b\", \"M96 32c0 34.7 18.4 65.1 46 82C61.6 126.5 0 196 0 280C0 416.2 199.3 494.6 240.6 509.4c5 1.8 10.1 2.6 15.4 2.6s10.4-.8 15.4-2.6C312.7 494.6 512 416.2 512 280c0-84-61.6-153.5-142-166c27.6-16.9 46-47.3 46-82V24c0-13.3-10.7-24-24-24H352c-53 0-96 43-96 96c0-53-43-96-96-96H120C106.7 0 96 10.7 96 24v8zm72 128c58.1 0 106.6 41.3 117.6 96.2c2.6 13 13.1 23.8 26.4 23.8s24.2-10.8 22.3-23.9c-4.7-32.9-19-62.8-39.9-86.7c4.1-1 8.2-2.1 12.2-3.5c11.7-3.8 24.3-5.9 37.4-5.9c66.3 0 120 53.7 120 120c0 43.4-32.4 84.6-84.3 120.9c-49.2 34.4-103.9 55.9-123.7 63c-19.8-7.1-74.5-28.6-123.7-63C80.4 364.6 48 323.4 48 280c0-66.3 53.7-120 120-120z\"]\n};\nvar faTaxiBus = {\n prefix: 'far',\n iconName: 'taxi-bus',\n icon: [640, 512, [], \"e298\", \"M192 48c71.5 0 110.1 17.3 129.4 32H192 64.5C86.2 64.8 126.6 48 192 48zM48 208V128H168v80H48zm0 144V256H192h47.2l13.7-48H216V128H328.6c3.6-25.4 24.3-45.2 50-47.7c-4-12.2-10.8-24-22-33.6C327.8 22.1 276.9 0 192 0C111.5 0 58.6 22.7 28.8 46.8C4.6 66.3 0 96.2 0 118.2V352c0 25 12.7 47 32 59.9V456c0 13.3 10.7 24 24 24s24-10.7 24-24V424H192V376H72c-13.3 0-24-10.7-24-24zm80-40a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM368 144v16h-6.2c-30.4 0-57.6 19.1-67.8 47.8l-28.6 80.1c-.2 .5-.3 .9-.5 1.4C240.2 306.7 224 335.5 224 368v32 16 32 40c0 13.3 10.7 24 24 24s24-10.7 24-24V448H592v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448 416 400 368c0-32.5-16.2-61.3-40.9-78.7c-.1-.5-.3-.9-.5-1.4L570 207.8c-10.2-28.7-37.4-47.8-67.8-47.8H496V144c0-17.7-14.3-32-32-32H400c-17.7 0-32 14.3-32 32zm-6.2 64H400h64 38.2c10.1 0 19.2 6.4 22.6 15.9L541.9 272H322.1l17.2-48.1c3.4-9.6 12.5-15.9 22.6-15.9zM320 320H544c26.5 0 48 21.5 48 48v32H272V368c0-26.5 21.5-48 48-48zm40 40a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm168 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faBracketCurly = {\n prefix: 'far',\n iconName: 'bracket-curly',\n icon: [256, 512, [\"bracket-curly-left\"], \"7b\", \"M64 120c0-48.6 39.4-88 88-88h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-22.1 0-40 17.9-40 40v45.5c0 23.3-9.3 45.7-25.8 62.2L57.9 256l28.3 28.3c16.5 16.5 25.8 38.9 25.8 62.2V392c0 22.1 17.9 40 40 40h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-48.6 0-88-39.4-88-88V346.5c0-10.6-4.2-20.8-11.7-28.3L7 273c-9.4-9.4-9.4-24.6 0-33.9l45.3-45.3c7.5-7.5 11.7-17.7 11.7-28.3V120z\"]\n};\nvar faBracketCurlyLeft = faBracketCurly;\nvar faLobster = {\n prefix: 'far',\n iconName: 'lobster',\n icon: [512, 512, [129438], \"e421\", \"M80 8.2c0-3.7-2.5-6.9-6.1-7.5C70.7 .3 67.4 0 64 0C28.7 0 0 28.7 0 64v64c0 35.3 28.7 64 64 64l.7 0 41.8 27.9C126.2 233 149.4 240 173.1 240H176v16H143.1c-7.5 0-14.8-1.7-21.5-5.1L87.2 233.7c-7.9-4-17.5-.7-21.5 7.2s-.7 17.5 7.2 21.5l34.5 17.2c11.1 5.6 23.4 8.4 35.8 8.4H176v16H122.4c-5.2 0-10.3-.8-15.2-2.5L69.1 288.8c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2l38.1 12.7c8.2 2.7 16.7 4.1 25.3 4.1H176v16h-.9c-12.4 0-24.7 2.9-35.8 8.4l-18.5 9.2c-7.9 4-11.1 13.6-7.2 21.5s13.6 11.1 21.5 7.2l18.5-9.2c6.7-3.3 14-5.1 21.5-5.1h.9l23.8 66.6c-23.1 7.3-39.8 28.8-39.8 54.3c0 3.9 3.2 7.1 7.1 7.1H344.9c3.9 0 7.1-3.2 7.1-7.1c0-25.5-16.7-47-39.8-54.3L336 384h.9c7.4 0 14.8 1.7 21.5 5.1l18.5 9.2c7.9 4 17.5 .7 21.5-7.2s.7-17.5-7.2-21.5l-18.5-9.2c-11.1-5.6-23.4-8.4-35.8-8.4H336V336h53.6c8.6 0 17.1-1.4 25.3-4.1l38.1-12.7c8.4-2.8 12.9-11.9 10.1-20.2s-11.9-12.9-20.2-10.1l-38.1 12.7c-4.9 1.6-10 2.5-15.2 2.5H336V288h32.9c12.4 0 24.7-2.9 35.8-8.4l34.5-17.2c7.9-4 11.1-13.6 7.2-21.5s-13.6-11.1-21.5-7.2l-34.5 17.2c-6.7 3.3-14 5.1-21.5 5.1H336V240h2.9c23.7 0 46.9-7 66.6-20.2L447.3 192l.7 0c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64c-3.4 0-6.7 .3-9.9 .8c-3.6 .6-6.1 3.8-6.1 7.5V72c0 7.7-9.8 11-14.4 4.8L397.4 49.9c-3.7-4.9-11.2-3.9-12.3 2.1c-.7 3.9-1.1 7.9-1.1 11.9v64c0 14.9 5.1 28.6 13.6 39.4l-18.7 12.5C367 187.8 353.1 192 338.9 192h-3.4c-2.6-22.5-16-42.9-31.5-59.2V80.7c0-15.6 11.3-29 26.7-31.6l7.9-1.3c8.7-1.5 14.6-9.7 13.2-18.4s-9.7-14.6-18.4-13.2l-7.9 1.3C294.6 22.7 272 49.4 272 80.7v25c-3.2-2.2-6.3-4.1-9-5.8c-4.3-2.6-9.7-2.6-14 0c-2.8 1.6-5.8 3.6-9 5.8v-25c0-31.3-22.6-58-53.5-63.1l-7.9-1.3c-8.7-1.5-17 4.4-18.4 13.2s4.4 17 13.2 18.4l7.9 1.3C196.7 51.7 208 65 208 80.7v52.1c-15.5 16.3-28.9 36.7-31.5 59.2h-3.4c-14.2 0-28.1-4.2-39.9-12.1l-18.7-12.5c8.5-10.9 13.6-24.6 13.6-39.4V64c0-4.1-.4-8.1-1.1-11.9c-1.1-6-8.6-7.1-12.3-2.1L94.4 76.8C89.8 83 80 79.7 80 72V8.2zM262.2 448H249.8L224 375.7V240 200c0-6.6 3.8-17 15.4-30.3c5.2-6 11-11.4 16.6-16c5.7 4.7 11.5 10.1 16.6 16C284.2 183 288 193.4 288 200v40V375.7L262.2 448z\"]\n};\nvar faCartFlatbedEmpty = {\n prefix: 'far',\n iconName: 'cart-flatbed-empty',\n icon: [640, 512, [\"dolly-flatbed-empty\"], \"f476\", \"M0 24C0 10.7 10.7 0 24 0H72c30.9 0 56 25.1 56 56V408c0 4.4 3.6 8 8 8h72H496 616c13.3 0 24 10.7 24 24s-10.7 24-24 24H544c0 26.5-21.5 48-48 48s-48-21.5-48-48H256c0 26.5-21.5 48-48 48s-48-21.5-48-48H136c-30.9 0-56-25.1-56-56V56c0-4.4-3.6-8-8-8H24C10.7 48 0 37.3 0 24z\"]\n};\nvar faDollyFlatbedEmpty = faCartFlatbedEmpty;\nvar faColon = {\n prefix: 'far',\n iconName: 'colon',\n icon: [192, 512, [], \"3a\", \"M120 128a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-96 0a72 72 0 1 1 144 0A72 72 0 1 1 24 128zm96 256a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-96 0a72 72 0 1 1 144 0A72 72 0 1 1 24 384z\"]\n};\nvar faCartArrowDown = {\n prefix: 'far',\n iconName: 'cart-arrow-down',\n icon: [576, 512, [], \"f218\", \"M0 24C0 10.7 10.7 0 24 0H69.5c26.9 0 50 19.1 55 45.5l37 194.5H459.2c10.9 0 20.4-7.3 23.2-17.8L528.8 49.8c3.4-12.8 16.6-20.4 29.4-16.9s20.4 16.6 16.9 29.4L528.7 234.7c-8.5 31.4-37 53.3-69.5 53.3H170.7l5.4 28.5c2.2 11.3 12.1 19.5 23.6 19.5H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H199.7c-34.6 0-64.3-24.6-70.7-58.5L77.4 54.5c-.7-3.8-4-6.5-7.9-6.5H24C10.7 48 0 37.3 0 24zM128 464a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm336-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM344 24V126.1l23-23c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-64 64c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l23 23V24c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faWand = {\n prefix: 'far',\n iconName: 'wand',\n icon: [512, 512, [], \"f72a\", \"M459.1 48c-1.2 0-2.4 .4-3.3 1.3L52.4 414.7c-2.8 2.5-4.4 6.1-4.4 9.9c0 3.5 1.4 6.9 3.9 9.4L78 460.1c2.5 2.5 5.9 3.9 9.4 3.9c3.8 0 7.3-1.6 9.9-4.4L462.7 56.1c.8-.9 1.3-2.1 1.3-3.3c0-2.7-2.2-4.9-4.9-4.9zM423.6 13.7C433.4 4.9 446 0 459.1 0C488.3 0 512 23.7 512 52.9c0 13.1-4.9 25.8-13.7 35.5l-46.2 51c-2.7 2.9-4.1 6.8-4.1 10.7V176c0 8.8-7.2 16-16 16H411.6c-4.5 0-8.8 1.9-11.9 5.3L132.9 491.8C121.3 504.7 104.8 512 87.5 512c-16.3 0-31.9-6.5-43.4-18L18 467.9C6.5 456.4 0 440.8 0 424.5c0-17.3 7.3-33.8 20.2-45.4l70.6-63.9c3.3-3 5.3-7.3 5.3-11.9V272c0-8.8 7.2-16 16-16h37.9c4 0 7.8-1.5 10.7-4.1l263-238.2z\"]\n};\nvar faWalkieTalkie = {\n prefix: 'far',\n iconName: 'walkie-talkie',\n icon: [384, 512, [], \"f8ef\", \"M112 24c0-13.3-10.7-24-24-24S64 10.7 64 24V96H56C25.1 96 0 121.1 0 152V305.4c0 10.6 4.2 20.8 11.7 28.3L32 353.9V456c0 30.9 25.1 56 56 56H296c30.9 0 56-25.1 56-56V353.9l20.3-20.3c7.5-7.5 11.7-17.7 11.7-28.3V152c0-30.9-25.1-56-56-56h-8c0-17.7-14.3-32-32-32s-32 14.3-32 32H224c0-17.7-14.3-32-32-32s-32 14.3-32 32H112V24zm80 120h96 40c4.4 0 8 3.6 8 8V302.1l-20.3 20.3c-7.5 7.5-11.7 17.7-11.7 28.3V456c0 4.4-3.6 8-8 8H88c-4.4 0-8-3.6-8-8V350.6c0-10.6-4.2-20.8-11.7-28.3L48 302.1V152c0-4.4 3.6-8 8-8H88 192zm-56 48c-13.3 0-24 10.7-24 24s10.7 24 24 24H248c13.3 0 24-10.7 24-24s-10.7-24-24-24H136zm0 80c-13.3 0-24 10.7-24 24s10.7 24 24 24H248c13.3 0 24-10.7 24-24s-10.7-24-24-24H136z\"]\n};\nvar faFilePen = {\n prefix: 'far',\n iconName: 'file-pen',\n icon: [576, 512, [128221, \"file-edit\"], \"f31c\", \"M64 464H262.5l-5.1 20.2c-2.3 9.4-1.8 19 1.4 27.8H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3V299.6l-48 48V160H256c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16zM549.8 235.7l14.4 14.4c15.6 15.6 15.6 40.9 0 56.6l-29.4 29.4-71-71 29.4-29.4c15.6-15.6 40.9-15.6 56.6 0zM311.9 417L441.1 287.8l71 71L382.9 487.9c-4.1 4.1-9.2 7-14.9 8.4l-60.1 15c-5.5 1.4-11.2-.2-15.2-4.2s-5.6-9.7-4.2-15.2l15-60.1c1.4-5.6 4.3-10.8 8.4-14.9z\"]\n};\nvar faFileEdit = faFilePen;\nvar faReceipt = {\n prefix: 'far',\n iconName: 'receipt',\n icon: [384, 512, [129534], \"f543\", \"M39.6 5.8C32.5-.3 22.5-1.7 14 2.2S0 14.6 0 24V488c0 9.4 5.5 17.9 14 21.8s18.5 2.5 25.6-3.6L80 471.6l40.4 34.6c9 7.7 22.3 7.7 31.2 0L192 471.6l40.4 34.6c9 7.7 22.3 7.7 31.2 0L304 471.6l40.4 34.6c7.1 6.1 17.1 7.5 25.6 3.6s14-12.4 14-21.8V24c0-9.4-5.5-17.9-14-21.8s-18.5-2.5-25.6 3.6L304 40.4 263.6 5.8c-9-7.7-22.3-7.7-31.2 0L192 40.4 151.6 5.8c-9-7.7-22.3-7.7-31.2 0L80 40.4 39.6 5.8zm8.4 430V76.2l16.4 14c9 7.7 22.3 7.7 31.2 0L136 55.6l40.4 34.6c9 7.7 22.3 7.7 31.2 0L248 55.6l40.4 34.6c9 7.7 22.3 7.7 31.2 0l16.4-14V435.8l-16.4-14c-9-7.7-22.3-7.7-31.2 0L248 456.4l-40.4-34.6c-9-7.7-22.3-7.7-31.2 0L136 456.4 95.6 421.8c-9-7.7-22.3-7.7-31.2 0L48 435.8zM120 144c-13.3 0-24 10.7-24 24s10.7 24 24 24H264c13.3 0 24-10.7 24-24s-10.7-24-24-24H120zm0 176c-13.3 0-24 10.7-24 24s10.7 24 24 24H264c13.3 0 24-10.7 24-24s-10.7-24-24-24H120zM96 256c0 13.3 10.7 24 24 24H264c13.3 0 24-10.7 24-24s-10.7-24-24-24H120c-13.3 0-24 10.7-24 24z\"]\n};\nvar faTablePicnic = {\n prefix: 'far',\n iconName: 'table-picnic',\n icon: [512, 512, [], \"e32d\", \"M88 64C74.7 64 64 74.7 64 88s10.7 24 24 24h71.4L106.3 240H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H86.4h52H373.6h52H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H405.7L352.6 112H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H88zM438.9 320h-52l46.9 113.2c5.1 12.2 19.1 18.1 31.4 13s18.1-19.1 13-31.4L438.9 320zm-313.8 0h-52L33.8 414.8c-5.1 12.2 .7 26.3 13 31.4s26.3-.7 31.4-13L125.1 320zm33.2-80l53.1-128h89.3l53.1 128H158.3z\"]\n};\nvar faSquarePen = {\n prefix: 'far',\n iconName: 'square-pen',\n icon: [448, 512, [\"pen-square\", \"pencil-square\"], \"f14b\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm325.8 43.7l14.4 14.4c15.6 15.6 15.6 40.9 0 56.6l-21.4 21.4-71-71 21.4-21.4c15.6-15.6 40.9-15.6 56.6 0zM119.9 289L225.1 183.8l71 71L190.9 359.9c-4.1 4.1-9.2 7-14.9 8.4l-60.1 15c-5.5 1.4-11.2-.2-15.2-4.2s-5.6-9.7-4.2-15.2l15-60.1c1.4-5.6 4.3-10.8 8.4-14.9z\"]\n};\nvar faPenSquare = faSquarePen;\nvar faPencilSquare = faSquarePen;\nvar faCircleMicrophoneLines = {\n prefix: 'far',\n iconName: 'circle-microphone-lines',\n icon: [512, 512, [\"microphone-circle-alt\"], \"e117\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-416c-26.5 0-48 21.5-48 48V256c0 26.5 21.5 48 48 48s48-21.5 48-48H280c-8.8 0-16-7.2-16-16s7.2-16 16-16h24V192H280c-8.8 0-16-7.2-16-16s7.2-16 16-16h24V144c0-26.5-21.5-48-48-48zM176 256c0-13.3-10.7-24-24-24s-24 10.7-24 24c0 62.5 44.8 114.5 104 125.8V392c0 13.3 10.7 24 24 24s24-10.7 24-24V381.8c59.2-11.2 104-63.3 104-125.8c0-13.3-10.7-24-24-24s-24 10.7-24 24c0 44.2-35.8 80-80 80s-80-35.8-80-80z\"]\n};\nvar faMicrophoneCircleAlt = faCircleMicrophoneLines;\nvar faDisplaySlash = {\n prefix: 'far',\n iconName: 'display-slash',\n icon: [640, 512, [\"desktop-slash\"], \"e2fa\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-70.5-55.2c27.4-7.2 47.6-32.2 47.6-61.9V64c0-35.3-28.7-64-64-64H96C79.6 0 64.6 6.2 53.2 16.4L38.8 5.1zm54.9 43c.7-.1 1.5-.2 2.3-.2H544c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H501.8L93.7 48.2zM80 352V159.2L32 121.4V352c0 35.3 28.7 64 64 64H243.7l-8 48H184c-13.3 0-24 10.7-24 24s10.7 24 24 24h72H384h72c13.3 0 24-10.7 24-24s-10.7-24-24-24H404.3l-8-48H406L345 368H272.4c-.2 0-.4 0-.6 0c-.1 0-.2 0-.3 0H96c-8.8 0-16-7.2-16-16zm212.3 64h55.3l8 48H284.3l8-48z\"]\n};\nvar faDesktopSlash = faDisplaySlash;\nvar faSuitcaseRolling = {\n prefix: 'far',\n iconName: 'suitcase-rolling',\n icon: [384, 512, [], \"f5c1\", \"M144 56v72h96V56c0-4.4-3.6-8-8-8H152c-4.4 0-8 3.6-8 8zM96 128V56c0-30.9 25.1-56 56-56h80c30.9 0 56 25.1 56 56v72h32c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64v8c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8H112v8c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-8c-35.3 0-64-28.7-64-64V192c0-35.3 28.7-64 64-64H96zM64 176c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H320c8.8 0 16-7.2 16-16V192c0-8.8-7.2-16-16-16H64zm32 72c0-13.3 10.7-24 24-24H264c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24zm0 112c0-13.3 10.7-24 24-24H264c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24z\"]\n};\nvar faPersonCircleExclamation = {\n prefix: 'far',\n iconName: 'person-circle-exclamation',\n icon: [576, 512, [], \"e53f\", \"M112 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm32 128.1V304h32V176.1c-.7 0-1.5-.1-2.3-.1H146.3c-.8 0-1.5 0-2.3 .1zM144 352V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V223.6L52.9 299.8c-6.5 11.5-21.2 15.6-32.7 9.1s-15.6-21.2-9.1-32.7L69.7 172.7c15.6-27.6 44.9-44.7 76.6-44.7h27.5c31.7 0 61 17.1 76.6 44.7L297 255.1c-11.7 14-21.3 29.9-28.3 47.1c-.6-.8-1.1-1.6-1.6-2.4L224 223.6V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V352H144zM432 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm0 240a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-192c-8.8 0-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16V288c0-8.8-7.2-16-16-16z\"]\n};\nvar faTransporter2 = {\n prefix: 'far',\n iconName: 'transporter-2',\n icon: [512, 512, [], \"e044\", \"M64 32l25.4 7.3C93.3 40.4 96 43.9 96 48s-2.7 7.6-6.6 8.7L64 64 56.7 89.4C55.6 93.3 52.1 96 48 96s-7.6-2.7-8.7-6.6L32 64 6.6 56.7C2.7 55.6 0 52.1 0 48s2.7-7.6 6.6-8.7L32 32 39.3 6.6C40.4 2.7 43.9 0 48 0s7.6 2.7 8.7 6.6L64 32zM480 352l25.4 7.3c3.9 1.1 6.6 4.7 6.6 8.7s-2.7 7.6-6.6 8.7L480 384l-7.3 25.4c-1.1 3.9-4.7 6.6-8.7 6.6s-7.6-2.7-8.7-6.6L448 384l-25.4-7.3c-3.9-1.1-6.6-4.7-6.6-8.7s2.7-7.6 6.6-8.7L448 352l7.3-25.4c1.1-3.9 4.7-6.6 8.7-6.6s7.6 2.7 8.7 6.6L480 352zM120 464H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24zM256 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM180.4 224H120.2l46.4-61.2c16.6-21.9 42.6-34.8 70.1-34.8h38.6c27.5 0 53.5 12.9 70.1 34.8L391.8 224H331.6 320 272V176H240v48H192 180.4zM112 256H400c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm64 64H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faHandsHoldingDiamond = {\n prefix: 'far',\n iconName: 'hands-holding-diamond',\n icon: [640, 512, [\"hand-receiving\"], \"f47c\", \"M297.4 9.4c12.5-12.5 32.8-12.5 45.3 0l96 96c12.5 12.5 12.5 32.8 0 45.3l-96 96c-12.5 12.5-32.8 12.5-45.3 0l-96-96c-12.5-12.5-12.5-32.8 0-45.3l96-96zM72 64c39.8 0 72 32.2 72 72V264.8c12.1-10.5 28-16.8 45.3-16.8c18.4 0 36 7.3 49 20.3l61.4 61.4c7.7 7.7 14.5 16.2 20.4 25.3c5.8-9.1 12.6-17.5 20.4-25.3l61.4-61.4c13-13 30.6-20.3 49-20.3c17.3 0 33.1 6.3 45.3 16.8V136c0-39.8 32.2-72 72-72s72 32.2 72 72V352.2c0 31.8-12.6 62.3-35.1 84.9L537 505c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l67.9-67.9c13.5-13.5 21.1-31.8 21.1-50.9V136c0-13.3-10.7-24-24-24s-24 10.7-24 24V281.9c0 25.6-10.2 50.2-28.3 68.4l-15.9 15.9 0 0L473 393l0 0-16 16c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l16-16 0 0 26.7-26.7c4-4 6.2-9.4 6.2-15c0-11.7-9.5-21.3-21.3-21.3c-5.6 0-11 2.2-15 6.2l-61.4 61.4C354.9 383 344 409.4 344 436.8V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V436.8c0-27.4-10.9-53.8-30.3-73.2l-61.4-61.4c-4-4-9.4-6.2-15-6.2c-11.7 0-21.3 9.5-21.3 21.3c0 5.6 2.2 11 6.2 15L201 359l0 0 16 16c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-16-16 0 0-26.7-26.7 0 0-15.9-15.9C106.2 332.1 96 307.5 96 281.9V136c0-13.3-10.7-24-24-24s-24 10.7-24 24V352.2c0 19.1 7.6 37.4 21.1 50.9L137 471c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L35.1 437.1C12.6 414.6 0 384.1 0 352.2V136C0 96.2 32.2 64 72 64z\"]\n};\nvar faHandReceiving = faHandsHoldingDiamond;\nvar faMoneyBillSimpleWave = {\n prefix: 'far',\n iconName: 'money-bill-simple-wave',\n icon: [576, 512, [], \"e1f2\", \"M265.7 407.9c4.5-1.1 9-2.3 13.5-3.4l0 0c73.7-18.9 160.5-41.1 248.8-20.9V91.8C461.8 68.7 393.6 83 310.3 104.1c-4.5 1.1-9 2.3-13.5 3.5l0 0C223.1 126.4 136.3 148.7 48 128.4V420.2c66.2 23.1 134.4 8.9 217.7-12.3zM0 421.5V113C0 88.8 25.4 72.7 48.4 79C128.2 101 208.1 80.6 288 60.3c86.9-22.1 173.8-44.3 260.7-12C565.8 54.6 576 72 576 90.5V399c0 24.3-25.4 40.3-48.3 34C447.8 411 367.9 431.4 288 451.7c-86.9 22.1-173.8 44.3-260.7 12C10.2 457.4 0 440 0 421.5zM288 352c-44.2 0-80-43-80-96s35.8-96 80-96s80 43 80 96s-35.8 96-80 96z\"]\n};\nvar faChevronDown = {\n prefix: 'far',\n iconName: 'chevron-down',\n icon: [512, 512, [], \"f078\", \"M239 401c9.4 9.4 24.6 9.4 33.9 0L465 209c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-175 175L81 175c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9L239 401z\"]\n};\nvar faBatteryFull = {\n prefix: 'far',\n iconName: 'battery-full',\n icon: [576, 512, [128267, \"battery\", \"battery-5\"], \"f240\", \"M464 144c17.7 0 32 14.3 32 32V336c0 17.7-14.3 32-32 32H80c-17.7 0-32-14.3-32-32V176c0-17.7 14.3-32 32-32H464zM80 96C35.8 96 0 131.8 0 176V336c0 44.2 35.8 80 80 80H464c44.2 0 80-35.8 80-80V320c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32V176c0-44.2-35.8-80-80-80H80zm368 96H96V320H448V192z\"]\n};\nvar faBattery = faBatteryFull;\nvar faBattery5 = faBatteryFull;\nvar faBellPlus = {\n prefix: 'far',\n iconName: 'bell-plus',\n icon: [448, 512, [], \"f849\", \"M224 0c-17.7 0-32 14.3-32 32V51.2C119 66 64 130.6 64 208v25.4c0 45.4-15.5 89.5-43.8 124.9L5.3 377c-5.8 7.2-6.9 17.1-2.9 25.4S14.8 416 24 416H424c9.2 0 17.6-5.3 21.6-13.6s2.9-18.2-2.9-25.4l-14.9-18.6C399.5 322.9 384 278.8 384 233.4V208c0-77.4-55-142-128-156.8V32c0-17.7-14.3-32-32-32zm0 96c61.9 0 112 50.1 112 112v25.4c0 47.9 13.9 94.6 39.7 134.6H72.3C98.1 328 112 281.3 112 233.4V208c0-61.9 50.1-112 112-112zm64 352H224 160c0 17 6.7 33.3 18.7 45.3s28.3 18.7 45.3 18.7s33.3-6.7 45.3-18.7s18.7-28.3 18.7-45.3zM224 152c-13.3 0-24 10.7-24 24v40H160c-13.3 0-24 10.7-24 24s10.7 24 24 24h40v40c0 13.3 10.7 24 24 24s24-10.7 24-24V264h40c13.3 0 24-10.7 24-24s-10.7-24-24-24H248V176c0-13.3-10.7-24-24-24z\"]\n};\nvar faBookArrowRight = {\n prefix: 'far',\n iconName: 'book-arrow-right',\n icon: [640, 512, [], \"e0b9\", \"M88 0C39.4 0 0 39.4 0 88V424H.4c-.3 2.6-.4 5.3-.4 8c0 44.2 35.8 80 80 80H424c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V394.6c18.9-9 32-28.3 32-50.6V288H400v56c0 4.4-3.6 8-8 8H80c-11.4 0-22.2 2.4-32 6.7V88c0-22.1 17.9-40 40-40H392c4.4 0 8 3.6 8 8v72h48V56c0-30.9-25.1-56-56-56H88zM368 400v64H80c-17.7 0-32-14.3-32-32s14.3-32 32-32H368zM553 111c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l39 39H280c-13.3 0-24 10.7-24 24s10.7 24 24 24H558.1l-39 39c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9l-80-80z\"]\n};\nvar faHospitals = {\n prefix: 'far',\n iconName: 'hospitals',\n icon: [576, 512, [], \"f80e\", \"M320 48H512c8.8 0 16 7.2 16 16V256H320v48H528v48H320v48H528v48c0 8.8-7.2 16-16 16H320c0 17.3-5.5 33.2-14.7 46.3c4.7 1.1 9.7 1.7 14.7 1.7H512c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H320c-35.3 0-64 28.7-64 64v1.6c19.5 4 36.5 15 48 30.4V64c0-8.8 7.2-16 16-16zm88 48v24H384c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h24v24c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V168h24c8.8 0 16-7.2 16-16V136c0-8.8-7.2-16-16-16H456V96c0-8.8-7.2-16-16-16H424c-8.8 0-16 7.2-16 16zM136 176c-8.8 0-16 7.2-16 16v24H96c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h24v24c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V264h24c8.8 0 16-7.2 16-16V232c0-8.8-7.2-16-16-16H168V192c0-8.8-7.2-16-16-16H136zM64 144H224c8.8 0 16 7.2 16 16V352H48V160c0-8.8 7.2-16 16-16zM48 400H240v48c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V400zM0 160V448c0 35.3 28.7 64 64 64H224c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H64C28.7 96 0 124.7 0 160z\"]\n};\nvar faClub = {\n prefix: 'far',\n iconName: 'club',\n icon: [512, 512, [9827], \"f327\", \"M352 146.4c0-.8 0-1.6 0-2.4c0-53-43-96-96-96s-96 43-96 96c0 .8 0 1.6 0 2.4c.6 22.9-15.1 42.9-37.4 48C79.9 204.1 48 242.4 48 288c0 53 43 96 96 96c30.1 0 57-13.8 74.7-35.7c9.1-11.3 22.8-17.8 37.3-17.8s28.2 6.5 37.3 17.8C311 370.2 337.9 384 368 384c53 0 96-43 96-96c0-45.6-31.9-83.9-74.6-93.6c-22.3-5.1-37.9-25.1-37.4-48zM368 432c-27.9 0-53.9-7.9-76-21.7c-4.1-2.6-8.1-5.4-12-8.3v62h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24h48V402c-3.8 3-7.8 5.8-12 8.3c-22.1 13.7-48.1 21.7-76 21.7C64.5 432 0 367.5 0 288c0-68.5 47.9-125.9 112-140.4c0-1.2 0-2.4 0-3.6C112 64.5 176.5 0 256 0s144 64.5 144 144c0 1.2 0 2.4 0 3.6c64.1 14.5 112 71.9 112 140.4c0 79.5-64.5 144-144 144z\"]\n};\nvar faSkullCrossbones = {\n prefix: 'far',\n iconName: 'skull-crossbones',\n icon: [448, 512, [128369, 9760], \"f714\", \"M290.1 185.8C309.6 170.4 320 149.5 320 128c0-39-37.5-80-96-80s-96 41-96 80c0 21.5 10.4 42.4 29.9 57.8c11.4 9.1 18.1 22.9 18.1 37.6V232c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8v-8.6c0-14.6 6.7-28.5 18.1-37.6zM320 232c0 30.9-25.1 56-56 56H184c-30.9 0-56-25.1-56-56v-8.6C98.5 200 80 165.9 80 128C80 57.3 144.5 0 224 0s144 57.3 144 128c0 37.9-18.5 72-48 95.4V232zM2.7 268.9c6.1-11.8 20.6-16.3 32.4-10.2L224 357l188.9-98.2c11.8-6.1 26.2-1.5 32.4 10.2s1.5 26.3-10.2 32.4L276 384l159.1 82.7c11.8 6.1 16.3 20.6 10.2 32.4s-20.6 16.3-32.4 10.2L224 411 35.1 509.3c-11.8 6.1-26.3 1.5-32.4-10.2s-1.5-26.2 10.2-32.4L172 384 12.9 301.3C1.2 295.2-3.4 280.7 2.7 268.9zM160 136a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm104-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faDropletDegree = {\n prefix: 'far',\n iconName: 'droplet-degree',\n icon: [512, 512, [\"dewpoint\"], \"f748\", \"M192 464c-79.5 0-144-64.5-144-144c0-13 5.1-33.5 17-61.1c11.5-26.6 27.6-55.8 45.5-84.7c29-46.8 61-90.2 81.5-117c20.5 26.7 52.6 70.2 81.5 117c17.9 28.9 34 58 45.5 84.7c11.9 27.6 17 48.2 17 61.1c0 79.5-64.5 144-144 144zM0 320C0 426 86 512 192 512s192-86 192-192c0-91.2-130.2-262.3-166.6-308.3C211.4 4.2 202.5 0 192.9 0h-1.8c-9.6 0-18.5 4.2-24.5 11.7C130.2 57.7 0 228.8 0 320zM400 112a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm112 0a80 80 0 1 0 -160 0 80 80 0 1 0 160 0z\"]\n};\nvar faDewpoint = faDropletDegree;\nvar faCodeCompare = {\n prefix: 'far',\n iconName: 'code-compare',\n icon: [512, 512, [], \"e13a\", \"M320 488c0 9.5-5.6 18.1-14.2 21.9s-18.8 2.3-25.8-4.1l-80-72c-5.1-4.6-7.9-11-7.9-17.8s2.9-13.3 7.9-17.8l80-72c7-6.3 17.2-7.9 25.8-4.1s14.2 12.4 14.2 21.9v48h16c39.8 0 72-32.2 72-72V156.3c-32.5-10.2-56-40.5-56-76.3c0-44.2 35.8-80 80-80s80 35.8 80 80c0 35.8-23.5 66.1-56 76.3V320c0 66.3-53.7 120-120 120H320v48zM464 80a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM192 24c0-9.5 5.6-18.1 14.2-21.9s18.8-2.3 25.8 4.1l80 72c5.1 4.6 7.9 11 7.9 17.8s-2.9 13.3-7.9 17.8l-80 72c-7 6.3-17.2 7.9-25.8 4.1s-14.2-12.4-14.2-21.9V120H176c-39.8 0-72 32.2-72 72V355.7c32.5 10.2 56 40.5 56 76.3c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-35.8 23.5-66.1 56-76.3V192c0-66.3 53.7-120 120-120h16V24zM48 432a32 32 0 1 0 64 0 32 32 0 1 0 -64 0z\"]\n};\nvar faListUl = {\n prefix: 'far',\n iconName: 'list-ul',\n icon: [512, 512, [\"list-dots\"], \"f0ca\", \"M64 64a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm120 8c-13.3 0-24 10.7-24 24s10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H184zm0 160c-13.3 0-24 10.7-24 24s10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H184zm0 160c-13.3 0-24 10.7-24 24s10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H184zM96 256a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM64 384a32 32 0 1 0 0 64 32 32 0 1 0 0-64z\"]\n};\nvar faListDots = faListUl;\nvar faHandHoldingMagic = {\n prefix: 'far',\n iconName: 'hand-holding-magic',\n icon: [576, 512, [], \"f6e5\", \"M176 76c0 15.5 12.5 28 28 28h84c13.3 0 24 10.7 24 24s-10.7 24-24 24H204c-42 0-76-34-76-76s34-76 76-76H328c66.3 0 120 53.7 120 120s-53.7 120-120 120H280v24c0 13.3-10.7 24-24 24s-24-10.7-24-24V216c0-13.3 10.7-24 24-24h72c39.8 0 72-32.2 72-72s-32.2-72-72-72H204c-15.5 0-28 12.5-28 28zm11.4 276c-7.9 0-15.6 2.3-22.2 6.7L85.3 412c-3.9 2.6-8.6 4-13.3 4H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H64.7l73.8-49.2C153 309.1 170 304 187.4 304H344c35.3 0 64 28.7 64 64c0 .7 0 1.3 0 2l64.9-40c10.7-6.6 22.9-10 35.5-10h7.4c33.3 0 60.3 27 60.3 60.3c0 20.4-10.4 39.5-27.5 50.6l-95.6 61.9c-19.4 12.6-42.1 19.3-65.2 19.3H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H387.7c13.9 0 27.5-4 39.1-11.6l95.6-61.9c3.5-2.3 5.6-6.1 5.6-10.3c0-6.8-5.5-12.3-12.3-12.3h-7.4c-3.6 0-7.2 1-10.3 2.9l-93.5 57.5c-3.8 2.3-8.1 3.6-12.6 3.6H344 320 256c-13.3 0-24-10.7-24-24s10.7-24 24-24h64 24c8.8 0 16-7.2 16-16s-7.2-16-16-16H187.4z\"]\n};\nvar faWatermelonSlice = {\n prefix: 'far',\n iconName: 'watermelon-slice',\n icon: [512, 512, [], \"e337\", \"M0 408c0-6.4 2.5-12.5 7-17L391 7c9.4-9.4 24.6-9.4 33.9 0c115.6 115.6 116 302.6 .3 418.3S122.6 540.5 7 425c-4.5-4.5-7-10.6-7-17zm58.7-.8c97.4 80.4 241.5 75.3 332.6-15.8s96.2-235.2 15.8-332.6L384.8 81.2C414.3 118.1 432 165 432 216c0 119.3-96.7 216-216 216c-51 0-97.9-17.7-134.8-47.2L58.7 407.2zM384 216c0-37.7-12.4-72.6-33.4-100.6l-26.3 26.3 15 15c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-15-15-57.4 57.4 15 15c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-15-15-57.4 57.4 15 15c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-15-15-26.3 26.3c28 21 62.9 33.4 100.6 33.4c92.8 0 168-75.2 168-168zm-52.7 12.7l16 16c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-16-16c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0zm-80 80l16 16c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-16-16c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0z\"]\n};\nvar faCircleEllipsis = {\n prefix: 'far',\n iconName: 'circle-ellipsis',\n icon: [512, 512, [], \"e10a\", \"M256 464a208 208 0 1 0 0-416 208 208 0 1 0 0 416zM256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zm32 256a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm64-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM192 256a32 32 0 1 1 -64 0 32 32 0 1 1 64 0z\"]\n};\nvar faSchoolLock = {\n prefix: 'far',\n iconName: 'school-lock',\n icon: [640, 512, [], \"e56f\", \"M306.7 4c8.1-5.4 18.6-5.4 26.6 0l138 92H568c39.8 0 72 32.2 72 72V272c0-38.1-19-71.7-48-91.9V168c0-13.3-10.7-24-24-24H464c-4.7 0-9.4-1.4-13.3-4L320 52.8 189.3 140c-3.9 2.6-8.6 4-13.3 4H72c-13.3 0-24 10.7-24 24V440c0 13.3 10.7 24 24 24H256V384c0-35.3 28.7-64 64-64s64 28.7 64 64v80 16c0 11.7 3.1 22.6 8.6 32H384 256 72c-39.8 0-72-32.2-72-72V168c0-39.8 32.2-72 72-72h96.7l138-92zM112 192h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V208c0-8.8 7.2-16 16-16zm0 128h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16zM240 192a80 80 0 1 1 160 0 80 80 0 1 1 -160 0zm80-48c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h24c8.8 0 16-7.2 16-16s-7.2-16-16-16h-8V160c0-8.8-7.2-16-16-16zm208 96c-17.7 0-32 14.3-32 32v48h64V272c0-17.7-14.3-32-32-32zm-80 32c0-44.2 35.8-80 80-80s80 35.8 80 80v48c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H448c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32V272z\"]\n};\nvar faTowerCell = {\n prefix: 'far',\n iconName: 'tower-cell',\n icon: [576, 512, [], \"e585\", \"M51.8 1.6c12.4 4.8 18.5 18.7 13.8 31C54.3 62 48 94.2 48 128s6.3 66 17.6 95.4c4.8 12.4-1.4 26.3-13.8 31s-26.3-1.4-31-13.8C7.4 205.8 0 167.8 0 128S7.4 50.2 20.8 15.4C25.6 3 39.5-3.2 51.8 1.6zm472.4 0c12.4-4.8 26.3 1.4 31 13.8C568.6 50.2 576 88.2 576 128s-7.4 77.8-20.8 112.6c-4.8 12.4-18.7 18.5-31 13.8s-18.5-18.7-13.8-31C521.7 194 528 161.8 528 128s-6.3-66-17.6-95.4c-4.8-12.4 1.4-26.3 13.8-31zM291.3 191.9c-1.1 .1-2.2 .1-3.3 .1s-2.2 0-3.3-.1L239.8 288h96.4l-44.8-96.1zM195 384H381l-22.4-48H217.4L195 384zm-22.4 48l-30.9 66.2c-5.6 12-19.9 17.2-31.9 11.6s-17.2-19.9-11.6-31.9L241.2 171.6C230.5 160.2 224 144.9 224 128c0-35.3 28.7-64 64-64s64 28.7 64 64c0 16.9-6.5 32.2-17.2 43.6L477.7 477.9c5.6 12 .4 26.3-11.6 31.9s-26.3 .4-31.9-11.6L403.4 432H172.6zM163.3 73.6C156 90.2 152 108.6 152 128s4 37.8 11.3 54.4c5.3 12.1-.2 26.3-12.4 31.6s-26.3-.2-31.6-12.4C109.5 179 104 154.1 104 128s5.5-51 15.3-73.6c5.3-12.1 19.5-17.7 31.6-12.4s17.7 19.5 12.4 31.6zM456.7 54.4C466.5 77 472 101.9 472 128s-5.5 51-15.3 73.6c-5.3 12.1-19.5 17.7-31.6 12.4s-17.7-19.5-12.4-31.6c7.3-16.6 11.3-35 11.3-54.4s-4-37.8-11.3-54.4c-5.3-12.1 .2-26.3 12.4-31.6s26.3 .2 31.6 12.4z\"]\n};\nvar faSdCards = {\n prefix: 'far',\n iconName: 'sd-cards',\n icon: [448, 512, [], \"e240\", \"M400 352V64c0-8.8-7.2-16-16-16H234.5c-4.2 0-8.3 1.7-11.3 4.7l-74.5 74.5c-3 3-4.7 7.1-4.7 11.3V352c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16zM114.7 93.3l74.5-74.5C201.3 6.7 217.5 0 234.5 0H384c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H160c-35.3 0-64-28.7-64-64V138.5c0-17 6.7-33.3 18.7-45.3zM24 96c13.3 0 24 10.7 24 24V376c0 48.6 39.4 88 88 88H360c13.3 0 24 10.7 24 24s-10.7 24-24 24H136C60.9 512 0 451.1 0 376V120c0-13.3 10.7-24 24-24zm280 0v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V96c0-8.8 7.2-16 16-16s16 7.2 16 16zm64 0v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V96c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faJugBottle = {\n prefix: 'far',\n iconName: 'jug-bottle',\n icon: [640, 512, [], \"e5fb\", \"M96 24c0-13.3 10.7-24 24-24h80c13.3 0 24 10.7 24 24V48h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H88C74.7 96 64 85.3 64 72s10.7-24 24-24h8V24zm32 152c-44.2 0-80 35.8-80 80V448c0 8.8 7.2 16 16 16H320c8.8 0 16-7.2 16-16V256c0-44.2-35.8-80-80-80H128zM0 256c0-70.7 57.3-128 128-128H256c70.7 0 128 57.3 128 128V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V256zm224 0c0-17.7 14.3-32 32-32s32 14.3 32 32v96c0 17.7-14.3 32-32 32s-32-14.3-32-32V256zM472 64h80c13.3 0 24 10.7 24 24v40H448V88c0-13.3 10.7-24 24-24zM417 392c-.3-.2-.7-.4-1-.6V256c0-24.7-5.6-48.1-15.6-69c5.1-5.3 11.1-9.8 18-13l13.2-6.2c11-5.1 23-7.8 35.1-7.8h90.6c12.1 0 24.1 2.7 35.1 7.8l13.2 6.2c21 9.9 34.4 31 34.4 54.2c0 22.8-12.7 42.6-31.5 52.7C627.4 292 640 312.5 640 336c0 24.1-13.3 45.1-33 56c19.7 10.9 33 31.9 33 56c0 35.3-28.7 64-64 64H448c-17 0-32.5-6.7-44-17.5c7.6-13.8 12-29.6 12-46.5V392.6c.3-.2 .7-.4 1-.6z\"]\n};\nvar faDownLong = {\n prefix: 'far',\n iconName: 'down-long',\n icon: [320, 512, [\"long-arrow-alt-down\"], \"f309\", \"M176.4 505.5c-9.2 8.7-23.7 8.7-32.9 0L14.6 384.1C5.3 375.3 0 363.1 0 350.3C0 324.7 20.7 304 46.3 304L80 304 80 56c0-30.9 25.1-56 56-56l48 0c30.9 0 56 25.1 56 56l0 248 33.7 0c25.6 0 46.3 20.7 46.3 46.3c0 12.8-5.3 25-14.6 33.7l-129 121.4zm93-153.5L216 352c-13.3 0-24-10.7-24-24l0-272c0-4.4-3.6-8-8-8l-48 0c-4.4 0-8 3.6-8 8l0 272c0 6.4-2.5 12.5-7 17s-10.6 7-17 7l-53.5 0L160 455 269.5 352z\"]\n};\nvar faLongArrowAltDown = faDownLong;\nvar faEnvelopes = {\n prefix: 'far',\n iconName: 'envelopes',\n icon: [576, 512, [], \"e170\", \"M512 80H160c-8.8 0-16 7.2-16 16v7.8L321.4 235.2c4.2 3.1 9.3 4.8 14.6 4.8s10.4-1.7 14.6-4.8L528 103.8V96c0-8.8-7.2-16-16-16zm16 83.5L379.1 273.8C366.7 283 351.5 288 336 288s-30.7-5-43.1-14.2L144 163.5V320c0 8.8 7.2 16 16 16H512c8.8 0 16-7.2 16-16V163.5zM160 32H512c35.3 0 64 28.7 64 64V320c0 35.3-28.7 64-64 64H160c-35.3 0-64-28.7-64-64V96c0-35.3 28.7-64 64-64zM24 96c13.3 0 24 10.7 24 24V344c0 48.6 39.4 88 88 88H456c13.3 0 24 10.7 24 24s-10.7 24-24 24H136C60.9 480 0 419.1 0 344V120c0-13.3 10.7-24 24-24z\"]\n};\nvar faPhoneOffice = {\n prefix: 'far',\n iconName: 'phone-office',\n icon: [576, 512, [], \"f67d\", \"M160 48c-8.8 0-16 7.2-16 16V352c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H160zM104.6 32C115.6 12.9 136.3 0 160 0h48c23.7 0 44.4 12.9 55.4 32H320h24 24H512c35.3 0 64 28.7 64 64v48 24 24V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32h40.6zM96 80H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H512c8.8 0 16-7.2 16-16V192H360c-22.1 0-40-17.9-40-40V80H272V352c0 35.3-28.7 64-64 64H160c-35.3 0-64-28.7-64-64V80zm272 0v64H528V96c0-8.8-7.2-16-16-16H368zm16 192a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM352 400a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM480 272a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM448 400a32 32 0 1 1 0-64 32 32 0 1 1 0 64z\"]\n};\nvar faRankingStar = {\n prefix: 'far',\n iconName: 'ranking-star',\n icon: [640, 512, [], \"e561\", \"M353.8 54.1l52.3 7.5c9.3 1.4 13.2 12.9 6.4 19.8l-38 36.6 9 52.1c1.4 9.3-8.2 16.5-16.8 12.2l-46.6-24.4-46.9 24.8c-8.6 4.3-18.3-2.9-16.8-12.2l9-52.1-38-37c-6.8-6.8-2.9-18.3 6.4-19.8l52.3-7.5L309.8 6.3c4.3-8.6 16.5-8.3 20.4 0l23.6 47.8zM272 304V464h96V304H272zm-48 0c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48V464c0 26.5-21.5 48-48 48H272c-26.5 0-48-21.5-48-48V304zM48 368v96h96V368H48zM0 368c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V368zm592 32H496v64h96V400zm-96-48h96c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H496c-26.5 0-48-21.5-48-48V400c0-26.5 21.5-48 48-48z\"]\n};\nvar faChessKing = {\n prefix: 'far',\n iconName: 'chess-king',\n icon: [448, 512, [9818], \"f43f\", \"M248 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V56H168c-13.3 0-24 10.7-24 24s10.7 24 24 24h32v40H59.6C26.7 144 0 170.7 0 203.6c0 8.2 1.7 16.3 4.9 23.8L59.1 352h52.3L49 208.2c-.6-1.5-1-3-1-4.6c0-6.4 5.2-11.6 11.6-11.6H224 388.4c6.4 0 11.6 5.2 11.6 11.6c0 1.6-.3 3.2-1 4.6L336.5 352h52.3l54.2-124.6c3.3-7.5 4.9-15.6 4.9-23.8c0-32.9-26.7-59.6-59.6-59.6H248V104h32c13.3 0 24-10.7 24-24s-10.7-24-24-24H248V24zM101.2 432H346.8l16.6 32H84.7l16.6-32zm283.7-30.7c-5.5-10.6-16.5-17.3-28.4-17.3H91.5c-12 0-22.9 6.7-28.4 17.3L36.6 452.5c-3 5.8-4.6 12.2-4.6 18.7C32 493.8 50.2 512 72.8 512H375.2c22.5 0 40.8-18.2 40.8-40.8c0-6.5-1.6-12.9-4.6-18.7l-26.5-51.2z\"]\n};\nvar faNfcPen = {\n prefix: 'far',\n iconName: 'nfc-pen',\n icon: [576, 512, [], \"e1fa\", \"M384 80H64c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H270.5l-12 48H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V235.6l-48 48V96c0-8.8-7.2-16-16-16zM289.3 394.3c-1.8 1.8-3.5 3.7-5 5.7H120c-22.1 0-40-17.9-40-40V152c0-22.1 17.9-40 40-40h16c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8V352H320V160H248v54.4c14.3 8.3 24 23.8 24 41.6c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-17.8 9.7-33.3 24-41.6V152c0-22.1 17.9-40 40-40h88c22.1 0 40 17.9 40 40V315.6l-78.7 78.7zM549.8 235.7l14.4 14.4c15.6 15.6 15.6 40.9 0 56.6l-29.4 29.4-71-71 29.4-29.4c15.6-15.6 40.9-15.6 56.6 0zM311.9 417L441.1 287.8l71 71L382.9 487.9c-4.1 4.1-9.2 7-14.9 8.4l-60.1 15c-5.5 1.4-11.2-.2-15.2-4.2s-5.6-9.7-4.2-15.2l15-60.1c1.4-5.6 4.3-10.8 8.4-14.9z\"]\n};\nvar faPersonHarassing = {\n prefix: 'far',\n iconName: 'person-harassing',\n icon: [576, 512, [], \"e549\", \"M144 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM96 209.5L44.9 299.8c-6.5 11.5-21.2 15.6-32.7 9.1S-3.4 287.7 3.1 276.2L61.7 172.7c15.6-27.6 44.9-44.7 76.6-44.7h35c26 0 50.6 11.5 67.3 31.4l81.7 97.2c8.5 10.1 7.2 25.3-2.9 33.8s-25.3 7.2-33.8-2.9L224 214.2V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V352H144V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V209.5zm80-33.4c-.9-.1-1.8-.1-2.7-.1H144V304h32V176.1zM304 32h56c8.8 0 16 7.2 16 16s-7.2 16-16 16H304c-8.8 0-16-7.2-16-16s7.2-16 16-16zm96 208a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm116 56c33.1 0 60 26.9 60 60v96c0 31.8-24.7 57.8-56 59.9v.1c-.7 0-1.5 0-2.2 0c-.6 0-1.2 0-1.8 0c-5.7 0-11.1-.8-16.3-2.2c-19.6-4.4-37.5-15.1-50.7-30.7l-44.6-52.7-39.3 73c-6.3 11.7-20.8 16-32.5 9.8s-16-20.8-9.8-32.5l56-104c3.8-7 10.7-11.7 18.6-12.5s15.7 2.3 20.8 8.4L456 413V356c0-33.1 26.9-60 60-60zm1.4 167.9c6-.7 10.6-5.8 10.6-11.9V356c0-6.6-5.4-12-12-12s-12 5.4-12 12v96c0 5.2 3.3 9.5 7.8 11.2c1.8 .3 3.7 .6 5.6 .7zM265.7 104.8c4-7.9 13.6-11.1 21.5-7.2l48 24c7.9 4 11.1 13.6 7.2 21.5s-13.6 11.1-21.5 7.2l-48-24c-7.9-4-11.1-13.6-7.2-21.5z\"]\n};\nvar faMagnifyingGlassPlay = {\n prefix: 'far',\n iconName: 'magnifying-glass-play',\n icon: [512, 512, [], \"e660\", \"M368 208A160 160 0 1 0 48 208a160 160 0 1 0 320 0zM337.1 371.1C301.7 399.2 256.8 416 208 416C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208c0 48.8-16.8 93.7-44.9 129.1L505 471c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L337.1 371.1zM161.8 130.1c5-2.9 11.1-2.8 16 0l110.2 64c4.9 2.9 8 8.1 8 13.8s-3 11-8 13.8l-110.2 64c-4.9 2.9-11.1 2.9-16 0s-8-8.1-8-13.9V144c0-5.7 3.1-11 8-13.9z\"]\n};\nvar faHatWinter = {\n prefix: 'far',\n iconName: 'hat-winter',\n icon: [512, 512, [], \"f7a8\", \"M256 0c-12.7 0-23 9.8-23.9 22.2c-9.4-8.1-23.7-7.7-32.6 1.2s-9.4 23.2-1.2 32.6C185.8 57 176 67.3 176 80s9.8 23 22.2 23.9c-8.1 9.4-7.7 23.7 1.2 32.6s23.2 9.4 32.6 1.2C233 150.2 243.3 160 256 160s23-9.8 23.9-22.2c9.4 8.1 23.7 7.7 32.6-1.2s9.4-23.2 1.2-32.6C326.2 103 336 92.7 336 80s-9.8-23-22.2-23.9c8.1-9.4 7.7-23.7-1.2-32.6s-23.2-9.4-32.6-1.2C279 9.8 268.7 0 256 0zM48 416c-26.5 0-48 21.5-48 48s21.5 48 48 48H464c26.5 0 48-21.5 48-48s-21.5-48-48-48H48zM162.5 134.6C42.8 199.9 32 384 32 384H80.1c.1-1.5 .3-3.7 .6-6.3c.7-6.5 2-16 4.2-27.4c.9-4.9 2-10.1 3.2-15.5l36.3-18.1c2.3-1.1 4.9-1.1 7.2 0L167 334.3c15.8 7.9 34.3 7.9 50.1 0l35.4-17.7c2.3-1.1 4.9-1.1 7.2 0L295 334.3c15.8 7.9 34.3 7.9 50.1 0l35.4-17.7c2.3-1.1 4.9-1.1 7.2 0l36.3 18.1c1.2 5.4 2.3 10.6 3.2 15.5c2.1 11.5 3.4 21 4.2 27.4c.3 2.6 .5 4.7 .6 6.3H480s-10.8-184.1-130.5-249.4c-2.5 9-7.3 17.5-14.4 24.6c-5.6 5.6-12.2 9.8-19.2 12.6c41 17.8 67.7 53.9 86 95.6c.6 1.3 1.2 2.7 1.7 4c-14.5-5.5-30.8-4.7-44.9 2.3l-35.4 17.7c-2.3 1.1-4.9 1.1-7.2 0L281 273.7c-15.8-7.9-34.3-7.9-50.1 0l-35.4 17.7c-2.3 1.1-4.9 1.1-7.2 0L153 273.7c-14.1-7-30.3-7.8-44.9-2.3c.6-1.3 1.2-2.7 1.7-4c18.4-41.7 45.1-77.8 86-95.6c-7-2.7-13.5-6.9-19.2-12.6c-7.1-7.1-11.9-15.6-14.4-24.6z\"]\n};\nvar faBrazilianRealSign = {\n prefix: 'far',\n iconName: 'brazilian-real-sign',\n icon: [512, 512, [], \"e46c\", \"M400 0c13.3 0 24 10.7 24 24V65.2c14.6 1.7 29 5.4 42.7 10.9l14.2 5.7c12.3 4.9 18.3 18.9 13.4 31.2s-18.9 18.3-31.2 13.4l-14.3-5.7c-14.2-5.7-29.3-8.6-44.6-8.6H392c-30.9 0-56 25.1-56 56c0 23.5 14.7 44.6 36.8 52.6l70.7 25.7c41.1 14.9 68.4 54 68.4 97.7c0 52-38.2 95.1-88 102.8V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V445.8c-17.1-3-33.7-8.9-48.9-17.6l-27-15.4c-11.5-6.6-15.5-21.2-8.9-32.7s21.2-15.5 32.7-8.9l27 15.4c15.4 8.8 32.8 13.4 50.6 13.4H408c30.9 0 56-25.1 56-56c0-23.5-14.7-44.6-36.8-52.6l-70.7-25.7c-41.1-14.9-68.4-54-68.4-97.7c0-52 38.2-95.1 88-102.8V24c0-13.3 10.7-24 24-24zM0 56C0 42.7 10.7 32 24 32h96c75.1 0 136 60.9 136 136c0 59.4-38.1 109.9-91.1 128.4l57.5 151c4.7 12.4-1.5 26.3-13.9 31s-26.3-1.5-31-13.9L116.4 304H48V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V280 56zM48 256h72c48.6 0 88-39.4 88-88s-39.4-88-88-88H48V256z\"]\n};\nvar faLandmarkDome = {\n prefix: 'far',\n iconName: 'landmark-dome',\n icon: [512, 512, [\"landmark-alt\"], \"f752\", \"M256 0c13.3 0 24 10.7 24 24v9.5C369.5 44.6 439.9 117.4 447.3 208H456c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8H400 112 64 56c-13.3 0-24-10.7-24-24s10.7-24 24-24h8.7C72.1 117.4 142.5 44.6 232 33.5V24c0-13.3 10.7-24 24-24zM112.9 208H399.1c-8-72-69-128-143.1-128s-135.2 56-143.1 128zm-.9 80v96h64V288h48v96h64V288h48v96h64V288h48v96h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H64c-13.3 0-24-10.7-24-24s10.7-24 24-24V288h48zM8 488c0-13.3 10.7-24 24-24H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H32c-13.3 0-24-10.7-24-24z\"]\n};\nvar faLandmarkAlt = faLandmarkDome;\nvar faBoneBreak = {\n prefix: 'far',\n iconName: 'bone-break',\n icon: [640, 512, [], \"f5d8\", \"M344 24c0-13.3-10.7-24-24-24s-24 10.7-24 24v80c0 13.3 10.7 24 24 24s24-10.7 24-24V24zM201 71c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l48 48c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L201 71zM473 105c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-48 48c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l48-48zM296.1 264.8c-1.9-13.4-14.5-22.6-27.9-20.2L180.1 260c-4.1 .7-8-1.8-9.4-5.7c-14.3-39.1-55.3-63.6-98-56.1C24.9 206.6-7.1 251.8 1.4 299.3c4.5 25.1 19.3 45.7 39.4 58.4c4.7 3 5.8 9.5 2.5 13.9c-14.5 18.7-21.3 43.2-16.8 68.3c8.4 47.5 54.1 79.1 101.9 70.8c42.7-7.5 72.8-44.4 72.7-86c0-4.1 2.8-7.8 6.9-8.5L320 396.6l112.1 19.6c4.1 .7 6.9 4.4 6.9 8.5c-.1 41.6 30 78.5 72.7 86c47.9 8.4 93.5-23.3 101.9-70.8c4.5-25.1-2.4-49.5-16.8-68.3c-3.4-4.4-2.2-11 2.5-13.9c20.1-12.7 34.9-33.4 39.4-58.4c8.4-47.5-23.5-92.7-71.4-101.1c-42.7-7.5-83.7 17-98 56.1c-1.4 3.9-5.3 6.4-9.4 5.7l-88.1-15.4c-13.3-2.3-26 6.8-27.9 20.2c-1.8 12.8 6.9 24.8 19.6 27l88.1 15.4c29.1 5.1 54.1-12.9 62.8-36.5c6.4-17.4 24.9-28.7 44.6-25.3c22.1 3.9 36.1 24.4 32.4 45.4c-2 11.2-8.5 20.4-17.8 26.3c-28.5 18-35.6 57-14.8 83.8c6.6 8.5 9.5 19.4 7.6 30.5c-3.7 21.1-24.3 35.8-46.4 31.9c-19.6-3.4-33-20.2-33-38.6c0-25.3-17.4-50.8-46.6-55.9L324.8 348.7c-1.6-.3-3.2-.4-4.8-.4c-1.6 0-3.2 .1-4.8 .4L199.7 368.9C170.5 374 153 399.5 153 424.8c0 18.4-13.4 35.2-33 38.6c-22.2 3.9-42.7-10.8-46.4-31.9c-2-11.1 1-22 7.6-30.5c20.8-26.9 13.7-65.9-14.8-83.8c-9.2-5.8-15.8-15.1-17.8-26.3c-3.7-20.9 10.3-41.5 32.4-45.4c19.7-3.4 38.3 7.9 44.6 25.3c8.6 23.6 33.7 41.6 62.8 36.5l88.1-15.4c12.8-2.2 21.5-14.2 19.6-27z\"]\n};\nvar faArrowUp = {\n prefix: 'far',\n iconName: 'arrow-up',\n icon: [384, 512, [8593], \"f062\", \"M209.4 39.4C204.8 34.7 198.6 32 192 32s-12.8 2.7-17.4 7.4l-168 176c-9.2 9.6-8.8 24.8 .8 33.9s24.8 8.8 33.9-.8L168 115.9V456c0 13.3 10.7 24 24 24s24-10.7 24-24V115.9L342.6 248.6c9.2 9.6 24.3 9.9 33.9 .8s9.9-24.3 .8-33.9l-168-176z\"]\n};\nvar faDownFromDottedLine = {\n prefix: 'far',\n iconName: 'down-from-dotted-line',\n icon: [448, 512, [], \"e407\", \"M114.2 320L224 430 333.8 320H280c-13.3 0-24-10.7-24-24V176H192V296c0 13.3-10.7 24-24 24H114.2zM224 480c-11.5 0-22.5-4.6-30.6-12.7L77.6 351.2C68.9 342.5 64 330.7 64 318.4c0-25.6 20.8-46.4 46.4-46.4H144V176c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48v96h33.6c25.6 0 46.4 20.8 46.4 46.4c0 12.3-4.9 24.1-13.6 32.8L254.6 467.3c-8.1 8.1-19.1 12.7-30.6 12.7zM32 96a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm96 0a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm64-32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM320 96a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm64-32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faTv = {\n prefix: 'far',\n iconName: 'tv',\n icon: [640, 512, [63717, \"television\", \"tv-alt\"], \"f26c\", \"M64 48c-8.8 0-16 7.2-16 16V352c0 8.8 7.2 16 16 16H576c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H64zM0 64C0 28.7 28.7 0 64 0H576c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM120 464H520c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faTelevision = faTv;\nvar faTvAlt = faTv;\nvar faBorderLeft = {\n prefix: 'far',\n iconName: 'border-left',\n icon: [448, 512, [], \"f84f\", \"M24 480c-13.3 0-24-10.7-24-24L0 56C0 42.7 10.7 32 24 32s24 10.7 24 24l0 400c0 13.3-10.7 24-24 24zm104-64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0-320a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0 128a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM320 480a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0-448a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 256a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM224 416a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0-320a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0 128a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM416 480a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0-448a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 256a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM224 320a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm192 64a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0-256a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM224 192a32 32 0 1 1 0-64 32 32 0 1 1 0 64z\"]\n};\nvar faCircleDivide = {\n prefix: 'far',\n iconName: 'circle-divide',\n icon: [512, 512, [], \"e106\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-320a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm-88 40c-13.3 0-24 10.7-24 24s10.7 24 24 24H344c13.3 0 24-10.7 24-24s-10.7-24-24-24H168zM288 352a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faShrimp = {\n prefix: 'far',\n iconName: 'shrimp',\n icon: [512, 512, [129424], \"e448\", \"M0 104C0 64.2 32.2 32 72 32H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H72c-13.3 0-24 10.7-24 24s10.7 24 24 24H336c97.2 0 176 78.8 176 176s-78.8 176-176 176H248c-13.3 0-24-10.7-24-24c0-12 8.8-21.9 20.2-23.7l-4.9-1.9c-12.4-4.8-18.5-18.7-13.7-31.1s18.7-18.5 31.1-13.7l68.7 26.7c20.5 8 42.6-7.1 42.6-29.1c0-17.3-14-31.2-31.2-31.2H259.5C158 352 74.5 274.6 64.9 175.7C28.5 172.1 0 141.4 0 104zM464 304c0-9.3-1-18.4-2.9-27.2L401 336.9c9.4 13 15 29 15 46.3c0 8.2-1.2 16-3.4 23.4C443.8 383.3 464 346 464 304zm-23.7-74.2c-21.8-30.5-56.6-51.1-96.3-53.5V304.3c6.2 .6 12.2 1.8 18 3.8l78.3-78.3zM296 176H113.3c9.5 72.2 71.4 128 146.2 128H296V176zm-72 24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faListCheck = {\n prefix: 'far',\n iconName: 'list-check',\n icon: [512, 512, [\"tasks\"], \"f0ae\", \"M153.8 72.1c8.9-9.9 8.1-25-1.8-33.9s-25-8.1-33.9 1.8L63.1 101.1 41 79C31.6 69.7 16.4 69.7 7 79s-9.4 24.6 0 33.9l40 40c4.7 4.7 11 7.2 17.6 7s12.8-3 17.2-7.9l72-80zm0 160c8.9-9.9 8.1-25-1.8-33.9s-25-8.1-33.9 1.8L63.1 261.1 41 239c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l40 40c4.7 4.7 11 7.2 17.6 7s12.8-3 17.2-7.9l72-80zM216 120H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H216c-13.3 0-24 10.7-24 24s10.7 24 24 24zM192 256c0 13.3 10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H216c-13.3 0-24 10.7-24 24zM160 416c0 13.3 10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H184c-13.3 0-24 10.7-24 24zm-64 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faTasks = faListCheck;\nvar faDiagramSubtask = {\n prefix: 'far',\n iconName: 'diagram-subtask',\n icon: [512, 512, [], \"e479\", \"M0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64H152v96c0 22.1 17.9 40 40 40h32v-8c0-35.3 28.7-64 64-64H448c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64H288c-35.3 0-64-28.7-64-64v-8H192c-48.6 0-88-39.4-88-88V224H64c-35.3 0-64-28.7-64-64V96zM448 336H288c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V352c0-8.8-7.2-16-16-16z\"]\n};\nvar faJugDetergent = {\n prefix: 'far',\n iconName: 'jug-detergent',\n icon: [384, 512, [], \"e519\", \"M120 0C106.7 0 96 10.7 96 24V48H88C74.7 48 64 58.7 64 72s10.7 24 24 24H232c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V24c0-13.3-10.7-24-24-24H120zM256 176c44.2 0 80 35.8 80 80V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V256c0-44.2 35.8-80 80-80H256zM128 128C57.3 128 0 185.3 0 256V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V256c0-70.7-57.3-128-128-128H128zm128 96c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32s32-14.3 32-32V256c0-17.7-14.3-32-32-32z\"]\n};\nvar faCircleUser = {\n prefix: 'far',\n iconName: 'circle-user',\n icon: [512, 512, [62142, \"user-circle\"], \"f2bd\", \"M406.5 399.6C387.4 352.9 341.5 320 288 320H224c-53.5 0-99.4 32.9-118.5 79.6C69.9 362.2 48 311.7 48 256C48 141.1 141.1 48 256 48s208 93.1 208 208c0 55.7-21.9 106.2-57.5 143.6zm-40.1 32.7C334.4 452.4 296.6 464 256 464s-78.4-11.6-110.5-31.7c7.3-36.7 39.7-64.3 78.5-64.3h64c38.8 0 71.2 27.6 78.5 64.3zM256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-272a40 40 0 1 1 0-80 40 40 0 1 1 0 80zm-88-40a88 88 0 1 0 176 0 88 88 0 1 0 -176 0z\"]\n};\nvar faUserCircle = faCircleUser;\nvar faSquareY = {\n prefix: 'far',\n iconName: 'square-y',\n icon: [448, 512, [], \"e287\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm138.1 56.3L224 251.4l85.9-99.1c8.7-10 23.8-11.1 33.9-2.4s11.1 23.8 2.4 33.9L248 297v79c0 13.3-10.7 24-24 24s-24-10.7-24-24V297L101.9 183.7c-8.7-10-7.6-25.2 2.4-33.9s25.2-7.6 33.9 2.4z\"]\n};\nvar faUserDoctorHair = {\n prefix: 'far',\n iconName: 'user-doctor-hair',\n icon: [448, 512, [], \"e458\", \"M304 128v16c0 44.2-35.8 80-80 80s-80-35.8-80-80V128c0-5.5 .6-10.8 1.6-16H176c29.8 0 55.9-16.3 69.6-40.5C257.3 86.4 275.5 96 296 96h1.3c4.3 9.8 6.7 20.6 6.7 32zM96 128v16c0 70.7 57.3 128 128 128s128-57.3 128-128V128C352 57.3 294.7 0 224 0S96 57.3 96 128zm64 225c5.2-.7 10.6-1 16-1h96c5.4 0 10.8 .3 16 1v49c-27.6 7.1-48 32.2-48 62v32c0 8.8 7.2 16 16 16h24c8.8 0 16-7.2 16-16s-7.2-16-16-16h-8V464c0-17.7 14.3-32 32-32s32 14.3 32 32v16h-8c-8.8 0-16 7.2-16 16s7.2 16 16 16h24c8.8 0 16-7.2 16-16V464c0-29.8-20.4-54.9-48-62V361.3c46.9 19 80 65 80 118.7v8c0 13.3 10.7 24 24 24s24-10.7 24-24v-8c0-97.2-78.8-176-176-176H176C78.8 304 0 382.8 0 480v8c0 13.3 10.7 24 24 24s24-10.7 24-24v-8c0-53.7 33.1-99.7 80-118.7v41c-23.1 6.9-40 28.3-40 53.7c0 30.9 25.1 56 56 56s56-25.1 56-56c0-25.4-16.9-46.8-40-53.7V353zm-16 79a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faPlanetRinged = {\n prefix: 'far',\n iconName: 'planet-ringed',\n icon: [512, 512, [129680], \"e020\", \"M464 31.1a.9 .9 0 1 0 -1.6 .5 .9 .9 0 1 0 1.6-.5zm-5.2 22.1c-11.9 4.4-27 11.5-45 21.9c-13.4-11.8-27.9-21.8-43-30c63.8-40.5 113.9-56.2 133.1-37c22.1 22.1-2.3 85.6-57.6 163.7C457.7 197.6 464 226 464 256c0 114.9-93.1 208-208 208c-30 0-58.4-6.3-84.2-17.7C93.7 501.6 30.3 526 8.1 503.9c-19.2-19.2-3.4-69.3 37-133.1c8.3 15.1 18.3 29.6 30 43c-10.4 18-17.6 33-21.9 45c12.6-4.6 28.7-12.3 48.1-23.8c8.2-4.8 16.7-10.2 25.4-16C78.8 380.9 48 322 48 256C48 141.1 141.1 48 256 48c66 0 124.9 30.8 163 78.8c5.8-8.8 11.2-17.3 16-25.4c11.4-19.4 19.2-35.5 23.8-48.1zM389.6 167.9C361 124.6 311.8 96 256 96C167.6 96 96 167.6 96 256c0 55.8 28.6 105 71.9 133.6c37.1-28.2 77.4-63.4 117.8-103.8s75.6-80.8 103.8-117.8zM217.9 411.4c12.2 3 25 4.6 38.1 4.6c88.4 0 160-71.6 160-160c0-13.1-1.6-25.9-4.6-38.1c-26.5 33-57.4 67.5-91.7 101.8s-68.8 65.2-101.8 91.7zM31.1 464a.9 .9 0 1 0 .5-1.6 .9 .9 0 1 0 -.5 1.6zm16.8 16a1.1 1.1 0 1 0 1.8 1.1A1.1 1.1 0 1 0 47.9 480zM480 47.9a1.1 1.1 0 1 0 1.1 1.8A1.1 1.1 0 1 0 480 47.9z\"]\n};\nvar faMushroom = {\n prefix: 'far',\n iconName: 'mushroom',\n icon: [512, 512, [127812], \"e425\", \"M24 258.1C24 133.2 125.2 32 250.1 32h11.8C386.8 32 488 133.2 488 258.1c0 34.2-27.7 61.9-61.9 61.9H320.6 191.4 85.9C51.7 320 24 292.3 24 258.1zm416 0c0-12-1.2-23.7-3.4-35C427.8 233.4 414.6 240 400 240c-26.5 0-48-21.5-48-48c0-26.1 20.8-47.3 46.7-48c-24.2-29-57.5-50.2-95.4-59.2c.5 3.7 .8 7.4 .8 11.2c0 44.2-35.8 80-80 80c-38.1 0-70-26.7-78.1-62.4C101.2 146 72 198.6 72 258.1c0 7.7 6.2 13.9 13.9 13.9H426.1c7.7 0 13.9-6.2 13.9-13.9zM234.3 352l-15 80h73.4l-15-80h48.8l16.9 90.1c1.8 9.4-.7 19-6.8 26.3s-15.1 11.6-24.6 11.6H200c-9.5 0-18.5-4.2-24.6-11.6s-8.6-17-6.8-26.3L185.4 352h48.8zM144 176a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faUserShield = {\n prefix: 'far',\n iconName: 'user-shield',\n icon: [640, 512, [], \"f505\", \"M144 128a80 80 0 1 1 160 0 80 80 0 1 1 -160 0zm208 0A128 128 0 1 0 96 128a128 128 0 1 0 256 0zM49.3 464c8.9-63.3 63.3-112 129-112h91.4c21.2 0 41.3 5.1 59 14.1c-4.8-19.5-7.3-38.2-8.3-54.8c-16.1-4.8-33.1-7.3-50.7-7.3H178.3C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c1.8 0 3.5-.2 5.3-.5c-19.6-14.1-35.7-30.3-48.9-47.5H49.3zM487.1 225.7l-120 48C358 277.4 352 286.2 352 296c0 63.3 25.9 168.8 134.8 214.2c5.9 2.5 12.6 2.5 18.5 0C614.1 464.8 640 359.3 640 296c0-9.8-6-18.6-15.1-22.3l-120-48c-5.7-2.3-12.1-2.3-17.8 0zM591.4 312c-3.9 50.7-27.2 116.7-95.4 149.7V273.8L591.4 312z\"]\n};\nvar faMegaphone = {\n prefix: 'far',\n iconName: 'megaphone',\n icon: [576, 512, [128227], \"f675\", \"M552 32c-13.3 0-24 10.7-24 24v5.7L48 192.6V184c0-13.3-10.7-24-24-24s-24 10.7-24 24v21.7V224v64 18.3V328c0 13.3 10.7 24 24 24s24-10.7 24-24v-8.6l117.6 32.1C162 361.7 160 372.6 160 384c0 53 43 96 96 96c46.9 0 86-33.6 94.3-78.1L528 450.3V456c0 13.3 10.7 24 24 24s24-10.7 24-24V432 80 56c0-13.3-10.7-24-24-24zM528 400.6L48 269.7V242.3L528 111.4V400.6zM208 384c0-7.1 1.5-13.8 4.3-19.8l91.5 24.9c-2.6 24.1-23 42.8-47.7 42.8c-26.5 0-48-21.5-48-48z\"]\n};\nvar faWreathLaurel = {\n prefix: 'far',\n iconName: 'wreath-laurel',\n icon: [640, 512, [], \"e5d2\", \"M237.1 50.9l-11.8 .7c-20.3 1.1-36.6 17.4-37.7 37.7l-.7 11.8 11.8-.7c20.3-1.1 36.6-17.4 37.7-37.7l.7-11.8zM43.1 177.7c-11.4-30.3-9.7-65.3 7.8-95.6L71.5 46.4c6.3-10.9 20.2-14.6 31-8.3c15.9 9.2 28.9 21.4 38.8 35.5c8-38.5 41-67.7 81.3-70l38.6-2.1c14.3-.8 26.1 11 25.3 25.3l-2.1 38.6c-2.5 44.8-38.2 80.5-83 83l-24.6 1.4C155.6 180.8 144 217.8 144 256c0 97.2 78.8 176 176 176h11.6c43.5 0 86.3 10.1 125.2 29.6l9.9 5c11.9 5.9 16.7 20.3 10.7 32.2s-20.3 16.7-32.2 10.7l-9.9-5C403.1 488.4 367.6 480 331.6 480H320 308.4c-36 0-71.5 8.4-103.8 24.5l-9.9 5c-11.9 5.9-26.3 1.1-32.2-10.7s-1.1-26.3 10.7-32.2l9.9-5c8.3-4.1 16.8-7.9 25.4-11.2c-5.5-3.1-10.8-6.5-15.9-10.1l-4.8 2.8-.3 .2c-4.6 2.7-9.4 5-14.2 6.9c-50.9 20.4-110.3 .8-138.5-48L14.2 366.4c-6.3-10.9-2.6-24.8 8.3-31c6-3.5 12.2-6.4 18.5-8.7C16 306.1 0 274.9 0 240l0-41.2C0 186.2 10.2 176 22.7 176c7 0 13.8 .6 20.4 1.7zm420-28l-24.6-1.4c-44.8-2.5-80.5-38.2-83-83l-2.1-38.6c-.8-14.3 11-26.1 25.3-25.3l38.6 2.1c40.3 2.2 73.3 31.5 81.3 70c9.9-14.1 22.9-26.3 38.8-35.5c10.9-6.3 24.8-2.6 31 8.3l20.6 35.7c17.5 30.3 19.2 65.3 7.8 95.6c6.6-1.1 13.4-1.7 20.4-1.7c12.6 0 22.7 10.2 22.7 22.7l0 41.2c0 34.9-16 66.1-41.1 86.7c6.3 2.3 12.5 5.2 18.5 8.7c10.9 6.3 14.6 20.2 8.3 31l-20.6 35.7c-21.6 37.4-61.5 57.6-101.8 55.9c-5.3-8.3-12.8-15.4-22.3-20.1l-9.9-5c-2.8-1.4-5.7-2.8-8.6-4.1c-10.4-4.8-21-9-31.8-12.6c-7.9-2.7-15.9-5-24-7C460 378.9 496 321.7 496 256c0-38.2-11.6-75.2-32.8-106.3zM414.7 51.6l-11.8-.7 .7 11.8c1.1 20.3 17.4 36.6 37.7 37.7l11.8 .7-.7-11.8c-1.1-20.3-17.4-36.6-37.7-37.7zM96 301.9l0-4.7c0-31.6-20-58.5-48-68.8L48 240c0 29.8 20.4 54.9 48 62zM544 297.2l0 4.7c27.6-7.1 48-32.2 48-62l0-11.5c-28 10.3-48 37.2-48 68.8zM149 407.8l-2.4-4.1c-15.8-27.3-46.5-40.6-75.9-35.6l5.7 9.9c14.9 25.8 45.1 37.3 72.5 29.7zM105.4 179.7c15.8-27.3 11.9-60.6-7.2-83.5l-5.7 9.9c-14.9 25.8-9.8 57.7 10.6 77.7l2.4-4.1zM537 183.8c20.3-20 25.5-51.8 10.6-77.7l-5.7-9.9c-19.1 22.9-22.9 56.2-7.2 83.5l2.4 4.1zM491 407.8c27.4 7.6 57.6-3.9 72.5-29.7l5.7-9.9c-29.4-5.1-60.1 8.2-75.9 35.6l-2.4 4.1z\"]\n};\nvar faCircleExclamationCheck = {\n prefix: 'far',\n iconName: 'circle-exclamation-check',\n icon: [640, 512, [], \"e10d\", \"M48 256C48 141.1 141.1 48 256 48c84.1 0 156.7 50 189.4 121.9c5.5 12.1 19.7 17.4 31.8 11.9s17.4-19.7 11.9-31.8C448.8 61.6 359.6 0 256 0C114.6 0 0 114.6 0 256S114.6 512 256 512c72.9 0 138.8-30.5 185.4-79.4c9.1-9.6 8.8-24.8-.8-33.9s-24.8-8.8-33.9 .8C368.7 439.2 315.3 464 256 464C141.1 464 48 370.9 48 256zM280 152c0-13.3-10.7-24-24-24s-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152zM256 384a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM625 175c-9.4-9.4-24.6-9.4-33.9 0l-111 111-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L625 209c9.4-9.4 9.4-24.6 0-33.9z\"]\n};\nvar faWind = {\n prefix: 'far',\n iconName: 'wind',\n icon: [512, 512, [], \"f72e\", \"M288 24c0 13.3 10.7 24 24 24h44c24.3 0 44 19.7 44 44s-19.7 44-44 44H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H356c50.8 0 92-41.2 92-92s-41.2-92-92-92H312c-13.3 0-24 10.7-24 24zm64 368c0 13.3 10.7 24 24 24h44c50.8 0 92-41.2 92-92s-41.2-92-92-92H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H420c24.3 0 44 19.7 44 44s-19.7 44-44 44H376c-13.3 0-24 10.7-24 24zM120 512h44c50.8 0 92-41.2 92-92s-41.2-92-92-92H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H164c24.3 0 44 19.7 44 44s-19.7 44-44 44H120c-13.3 0-24 10.7-24 24s10.7 24 24 24z\"]\n};\nvar faBoxDollar = {\n prefix: 'far',\n iconName: 'box-dollar',\n icon: [448, 512, [\"box-usd\"], \"f4a0\", \"M248 80h94.4c6.3 0 12.1 3.7 14.6 9.5L388.4 160H248V80zm-5.7 128H400V416c0 8.8-7.2 16-16 16H242.3c1.1-2.5 1.7-5.2 1.7-8V410.2c8-1.7 16-4.5 23.2-9c14.3-8.9 25.1-24.1 24.8-45c-.3-20.3-11.7-33.4-24.6-41.6c-11.5-7.2-25.9-11.6-37.1-15l0 0-.7-.2c-12.8-3.9-21.9-6.7-28.3-10.5c-5.2-3.1-5.3-4.9-5.3-6.7c0-3.7 1.4-6.5 6.2-9.3c5.4-3.2 13.6-5.1 21.5-5c9.6 .1 20.2 2.2 31.2 5.2c10.7 2.8 21.6-3.5 24.5-14.2s-3.5-21.6-14.2-24.5c-6.5-1.7-13.7-3.4-21.1-4.7V216c0-2.8-.6-5.6-1.7-8zm-36.7 0c-1.1 2.4-1.7 5.2-1.7 8v14c-7.6 1.7-15.2 4.4-22.2 8.5c-13.9 8.3-25.9 22.8-25.8 43.9c.1 20.3 12 33.1 24.7 40.7c11 6.6 24.7 10.8 35.6 14l1.7 .5c12.6 3.8 21.8 6.8 28 10.7c5.1 3.2 5.8 5.4 5.9 8.2c.1 5-1.8 8-5.9 10.5c-5 3.1-12.9 5-21.4 4.7c-11.1-.4-21.5-3.9-35.1-8.5l0 0c-2.3-.8-4.7-1.6-7.2-2.4c-10.5-3.5-21.8 2.2-25.3 12.6s2.2 21.8 12.6 25.3c1.9 .6 4 1.3 6.1 2.1l0 0 0 0c8.3 2.9 17.9 6.2 28.2 8.4V424c0 2.8 .6 5.5 1.7 8H64c-8.8 0-16-7.2-16-16V208H205.7zM200 160H59.6L91 89.5c2.6-5.8 8.3-9.5 14.6-9.5H200v80zM400.9 70c-10.3-23.1-33.2-38-58.5-38H105.6C80.3 32 57.4 46.9 47.1 70L5.5 163.6c-3.6 8.2-5.5 17-5.5 26V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V189.6c0-9-1.9-17.8-5.5-26L400.9 70z\"]\n};\nvar faBoxUsd = faBoxDollar;\nvar faCarBurst = {\n prefix: 'far',\n iconName: 'car-burst',\n icon: [640, 512, [\"car-crash\"], \"f5e1\", \"M197.2 20.7l30.1 56.7 63.1-11.8c1-.2 2.1-.3 3.1-.4c-3.6 4.1-7 8.4-10.2 13l-29.3 43-35.2 6.6c-10.3 1.9-20.7-3.1-25.6-12.3L176 83.2l-17.2 32.4c-4.9 9.3-15.3 14.3-25.6 12.3l-36-6.7 14.6 33.6c4.2 9.6 1.6 20.9-6.3 27.7l-27.7 24 35.4 9.6c10.1 2.7 17.3 11.7 17.7 22.2l1.4 36.6 29.5-21.7c1.9-1.4 3.9-2.4 6-3.2l-19.5 72.7-24 17.7c-7.2 5.3-16.6 6.1-24.6 2.3s-13.2-11.8-13.6-20.7l-2.5-64.2L21.6 241c-8.6-2.3-15.2-9.2-17.1-17.8s1-17.7 7.7-23.5l48.6-42L35.1 98.8c-3.5-8.1-2.3-17.6 3.3-24.5s14.5-10.3 23.2-8.6l63.1 11.8 30.1-56.7C159 12.9 167.1 8 176 8s17 4.9 21.2 12.7zM536.5 148.5l-137-36.7c-16.4-4.4-33.8 2.1-43.4 16.1l-31 45.5c1.3 .3 2.5 .6 3.8 .9l237.6 63.7c1.3 .3 2.5 .7 3.7 1.1L566 184.1c-1.3-17-13.1-31.2-29.5-35.6zm77.4 32.1l7.2 96.4c15 22.2 20.7 50.6 13.2 78.6l-12.3 46-6.9 25.7-5.5 20.7-12.4 46.3c-2.9 11-14.2 17.5-25.1 14.5s-17.5-14.2-14.5-25.1l12.4-46.3-6.7-1.8L232.9 346.9l-6.7-1.8-12.4 46.3c-2.9 11-14.2 17.5-25.1 14.5s-17.5-14.2-14.5-25.1l12.4-46.3 12.4-46.4 12.3-46c7.5-28 26.6-49.7 50.7-61.5l54.5-79.9c21.1-30.9 59.4-45.1 95.5-35.4l137 36.7c36.1 9.7 62.2 41.1 65 78.4zM554 284.3L316.4 220.6c-25.6-6.9-51.9 8.3-58.8 33.9l-12.3 46 330.3 88.5 12.3-46c6.9-25.6-8.3-51.9-33.9-58.8zm14.3 53.3a27.4 27.4 0 1 1 -52.9-14.2 27.4 27.4 0 1 1 52.9 14.2zM310.9 240.3a27.4 27.4 0 1 1 -14.2 52.9 27.4 27.4 0 1 1 14.2-52.9z\"]\n};\nvar faCarCrash = faCarBurst;\nvar faY = {\n prefix: 'far',\n iconName: 'y',\n icon: [384, 512, [121], \"59\", \"M43.4 41.9C35.7 31.2 20.7 28.8 9.9 36.6S-3.2 59.3 4.6 70.1L168 295.8V456c0 13.3 10.7 24 24 24s24-10.7 24-24V295.8L379.4 70.1c7.8-10.7 5.4-25.7-5.4-33.5s-25.7-5.4-33.5 5.4L192 247.1 43.4 41.9z\"]\n};\nvar faUserHeadset = {\n prefix: 'far',\n iconName: 'user-headset',\n icon: [448, 512, [], \"f82d\", \"M224 32C135.6 32 64 103.6 64 192v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V192C32 86 118 0 224 0S416 86 416 192v16c0 61.9-50.1 112-112 112H240 224 208c-17.7 0-32-14.3-32-32s14.3-32 32-32h32c17.7 0 32 14.3 32 32h32c44.2 0 80-35.8 80-80V192c0-88.4-71.6-160-160-160zm0 32c70.7 0 128 57.3 128 128c0 13.9-2.2 27.3-6.3 39.8C337.4 246.3 321.8 256 304 256h-8.6c-2.7-4.7-6.1-9.1-9.9-12.9C297.1 229.2 304 211.4 304 192c0-44.2-35.8-80-80-80s-80 35.8-80 80c0 19.4 6.9 37.2 18.4 51.1C151 254.6 144 270.5 144 288c0 1.4 0 2.7 .1 4C114.8 268.6 96 232.5 96 192c0-70.7 57.3-128 128-128zM208 352h16 16 57.4H304h9.6C387.8 352 448 412.2 448 486.4c0 14.1-11.5 25.6-25.6 25.6H25.6C11.5 512 0 500.5 0 486.4C0 412.2 60.2 352 134.4 352h16.2H208zm105.6 48H134.4c-40 0-73.6 27.1-83.5 64H397.1c-9.9-36.9-43.5-64-83.5-64z\"]\n};\nvar faArrowsRetweet = {\n prefix: 'far',\n iconName: 'arrows-retweet',\n icon: [640, 512, [\"retweet-alt\"], \"f361\", \"M145 71c-9.4-9.4-24.6-9.4-33.9 0L23 159c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47V328c0 48.6 39.4 88 88 88H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H192c-22.1 0-40-17.9-40-40V145.9l47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L145 71zM312 96c-13.3 0-24 10.7-24 24s10.7 24 24 24H448c22.1 0 40 17.9 40 40V366.1l-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l88 88c9.4 9.4 24.6 9.4 33.9 0l88-88c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47V184c0-48.6-39.4-88-88-88H312z\"]\n};\nvar faRetweetAlt = faArrowsRetweet;\nvar faPersonSnowboarding = {\n prefix: 'far',\n iconName: 'person-snowboarding',\n icon: [512, 512, [127938, \"snowboarding\"], \"f7ce\", \"M204.3 3c11.6-6.4 26.2-2.3 32.6 9.3l31.9 57.4c1.3 2.3 3.6 3.8 6.2 4.1l33.8 3.4c24.1 2.4 46.9 12 65.4 27.6L503.5 213.6c10.1 8.5 11.4 23.7 2.9 33.8s-23.7 11.4-33.8 2.9l-68.2-57.5-82.3 43.9 24.7 18.9c24.9 19 34.6 51.9 24.1 81.4l-28.2 79c-1.4 3.8-3.6 7-6.3 9.6l93.3 35.7c4.6 1.8 9.4 2.6 14.3 2.6H472c13.3 0 24 10.7 24 24s-10.7 24-24 24H443.8c-10.8 0-21.4-2-31.5-5.8L60.1 371.3c-11.5-4.4-22-11.2-30.8-20L7 329c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l22.4 22.4c4 4 8.7 7.1 14 9.1l19.4 7.4c-2.9-11.4 2.9-23.4 14-28.1L192 272l0-68.2c0-21.2 12-40.6 31-50.1L284.4 123l-14.1-1.4c-18.3-1.8-34.5-12.5-43.4-28.5L195 35.7c-6.4-11.6-2.3-26.2 9.3-32.6zm91.8 407.2c-.3-3.4 .1-6.9 1.3-10.3l28.2-79c3.5-9.8 .3-20.8-8-27.1L240 234.4l0 42.9c0 16.1-9.7 30.7-24.6 36.9L134 348.2l162.1 62.1zM259.6 189l20.5 15.7 84.6-45.1-17.2-14.5L259.6 189zM384 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0z\"]\n};\nvar faSnowboarding = faPersonSnowboarding;\nvar faSquareChevronRight = {\n prefix: 'far',\n iconName: 'square-chevron-right',\n icon: [448, 512, [\"chevron-square-right\"], \"f32b\", \"M400 96c0-8.8-7.2-16-16-16L64 80c-8.8 0-16 7.2-16 16l0 320c0 8.8 7.2 16 16 16l320 0c8.8 0 16-7.2 16-16l0-320zM384 32c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l320 0zM313 273L209 377c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l87-87-87-87c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L313 239c9.4 9.4 9.4 24.6 0 33.9z\"]\n};\nvar faChevronSquareRight = faSquareChevronRight;\nvar faLacrosseStickBall = {\n prefix: 'far',\n iconName: 'lacrosse-stick-ball',\n icon: [576, 512, [], \"e3b6\", \"M344 48v0l.3 0c22.9 0 53 15.2 78.8 40.9s40.9 55.9 40.9 78.8l0 .3h0c0 37.4-24 70.7-59.5 82.5l-19.7 6.6c-18.9 6.3-36.5 16-51.9 28.6l-42 34.4c-12.6 10.3-28.3 15.9-44.5 15.9c-38.8 0-70.3-31.5-70.3-70.3c0-16.2 5.6-32 15.9-44.5l34.4-42c12.6-15.4 22.3-33 28.6-51.9l6.6-19.7C273.3 72 306.6 48 344 48zm0-48V0C285.9 0 234.3 37.2 215.9 92.3L209.4 112c-4.5 13.4-11.3 25.8-20.2 36.7l-34.4 42c-17.3 21.1-26.7 47.6-26.7 74.9c0 24 7.1 46.3 19.4 65L7 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L181.4 364.6c18.6 12.3 41 19.4 65 19.4c27.3 0 53.8-9.4 74.9-26.7l42-34.4c10.9-8.9 23.3-15.8 36.7-20.2l19.7-6.6c55.1-18.4 92.3-70 92.3-128.1h0l0-.3c0-40.8-24.8-82.5-55-112.7S385.1 0 344.3 0L344 0zM464 432a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm112 0a80 80 0 1 0 -160 0 80 80 0 1 0 160 0z\"]\n};\nvar faTruckFast = {\n prefix: 'far',\n iconName: 'truck-fast',\n icon: [640, 512, [\"shipping-fast\"], \"f48b\", \"M352 48H128c-8.8 0-16 7.2-16 16V96H240c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H64V64C64 28.7 92.7 0 128 0H352c35.3 0 64 28.7 64 64V96h42.7c14.9 0 29.1 5.9 39.6 16.4l93.3 93.3c10.5 10.5 16.4 24.7 16.4 39.6V368h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H576c0 53-43 96-96 96s-96-43-96-96h-8H352 320 256c0 53-43 96-96 96s-96-43-96-96V368 288h48v44.8c14.1-8.2 30.5-12.8 48-12.8c35.5 0 66.6 19.3 83.2 48H320h32c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16zM557.7 239.6l-93.3-93.3c-1.5-1.5-3.5-2.3-5.7-2.3H416v96H558l-.2-.2-.2-.2zM208 416a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm272 48a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM48 160H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H48c-8.8 0-16-7.2-16-16s7.2-16 16-16zM16 224H240c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faShippingFast = faTruckFast;\nvar faUserMagnifyingGlass = {\n prefix: 'far',\n iconName: 'user-magnifying-glass',\n icon: [640, 512, [], \"e5c5\", \"M144 128a80 80 0 1 1 160 0 80 80 0 1 1 -160 0zm208 0A128 128 0 1 0 96 128a128 128 0 1 0 256 0zM49.3 464c8.9-63.3 63.3-112 129-112h91.4c7.5 0 14.8 .6 21.9 1.8c-2.3-10.9-3.6-22.2-3.6-33.8c0-5.1 .2-10.1 .7-15c-6.2-.7-12.6-1-19-1H178.3C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c16.4 0 29.7-13.3 29.7-29.7c0-.8 0-1.5 0-2.3c-25 0-48.7-5.8-69.8-16H49.3zM448 240.1a80 80 0 1 1 0 160 80 80 0 1 1 0-160zm0 208c26.7 0 51.4-8.2 71.9-22.1L599 505.1c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-79.1-79.1c14-20.5 22.1-45.3 22.1-71.9c0-70.7-57.3-128-128-128s-128 57.3-128 128s57.3 128 128 128z\"]\n};\nvar faStarSharp = {\n prefix: 'far',\n iconName: 'star-sharp',\n icon: [576, 512, [], \"e28b\", \"M288 0c10.5 0 19.7 6.8 22.9 16.7L361.5 176H520c10.3 0 19.4 6.5 22.7 16.2s.1 20.4-8 26.7L403.9 320.7l50.9 160.1c3.2 10-.5 21-9.1 27s-20.2 5.7-28.5-.7L288 406.4 158.7 506.9c-8.3 6.5-19.8 6.8-28.5 .7s-12.3-16.9-9.1-27l50.9-160.1L41.3 218.9c-8.1-6.3-11.3-17-8-26.7S45.7 176 56 176H214.5L265.1 16.7C268.3 6.8 277.5 0 288 0zm0 103.2L254.9 207.3c-3.2 10-12.4 16.7-22.9 16.7H125.9l88.8 69.1c7.9 6.2 11.2 16.6 8.1 26.2L190.3 421.6l82.9-64.5c8.7-6.7 20.8-6.7 29.5 0l82.9 64.5L353.1 319.3c-3-9.6 .2-20 8.1-26.2L450.1 224H344c-10.5 0-19.7-6.8-22.9-16.7L288 103.2z\"]\n};\nvar faCommentHeart = {\n prefix: 'far',\n iconName: 'comment-heart',\n icon: [512, 512, [], \"e5c8\", \"M168.2 384.9c-15-5.4-31.7-3.1-44.6 6.4c-8.2 6-22.3 14.8-39.4 22.7c5.6-14.7 9.9-31.3 11.3-49.4c1-12.9-3.3-25.7-11.8-35.5C60.4 302.8 48 272 48 240c0-79.5 83.3-160 208-160s208 80.5 208 160s-83.3 160-208 160c-31.6 0-61.3-5.5-87.8-15.1zM26.3 423.8c-1.6 2.7-3.3 5.4-5.1 8.1l-.3 .5c-1.6 2.3-3.2 4.6-4.8 6.9c-3.5 4.7-7.3 9.3-11.3 13.5c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c5.1 0 10.2-.3 15.3-.8l.7-.1c4.4-.5 8.8-1.1 13.2-1.9c.8-.1 1.6-.3 2.4-.5c17.8-3.5 34.9-9.5 50.1-16.1c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9zM144 221.3c0 16.2 6.5 31.8 17.9 43.3l82.7 82.7c6.2 6.2 16.4 6.2 22.6 0l82.7-82.7c11.5-11.5 17.9-27.1 17.9-43.3c0-33.8-27.4-61.3-61.3-61.3c-16.2 0-31.8 6.5-43.3 17.9l-7.4 7.4-7.4-7.4c-11.5-11.5-27.1-17.9-43.3-17.9c-33.8 0-61.3 27.4-61.3 61.3z\"]\n};\nvar faCircle1 = {\n prefix: 'far',\n iconName: 'circle-1',\n icon: [512, 512, [], \"e0ee\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM268 131.2c7.4 4.3 12 12.2 12 20.8V336h40c13.3 0 24 10.7 24 24s-10.7 24-24 24H256 192c-13.3 0-24-10.7-24-24s10.7-24 24-24h40V193.4l-20.1 11.5c-11.5 6.6-26.2 2.6-32.7-8.9s-2.6-26.2 8.9-32.7l56-32c7.4-4.2 16.6-4.2 24 .1z\"]\n};\nvar faCircleStar = {\n prefix: 'far',\n iconName: 'circle-star',\n icon: [512, 512, [\"star-circle\"], \"e123\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-391c-6.1 0-11.7 3.5-14.3 8.9l-31.3 63.3-69.9 10.2c-6 .9-11 5.1-12.9 10.9s-.3 12.2 4 16.4L182.2 280l-11.9 69.6c-1 6 1.4 12.1 6.4 15.6s11.5 4.1 16.9 1.2L256 333.6l62.5 32.9c5.4 2.8 11.9 2.4 16.8-1.2s7.4-9.6 6.4-15.6L329.8 280l50.6-49.3c4.4-4.3 5.9-10.6 4-16.4s-6.9-10-12.9-10.9l-69.9-10.2-31.3-63.3c-2.7-5.5-8.3-8.9-14.3-8.9z\"]\n};\nvar faStarCircle = faCircleStar;\nvar faFish = {\n prefix: 'far',\n iconName: 'fish',\n icon: [576, 512, [128031], \"f578\", \"M180.8 303.7c9.2 10.4 19.4 20.6 30.7 30.1c33.7 28.5 76 50.2 124.5 50.2s90.8-21.8 124.5-50.2c30.3-25.5 52.7-55.7 65.3-77.8c-12.6-22.1-35-52.2-65.3-77.8C426.8 149.7 384.5 128 336 128s-90.8 21.7-124.5 50.2c-11.3 9.5-21.5 19.7-30.7 30.1c-14 15.8-36.7 20.6-56 11.8L70.6 195.3l21.1 36.9c8.4 14.8 8.4 32.9 0 47.6L70.6 316.7l54.3-24.9c19.2-8.8 41.9-4 56 11.8zM4.2 336.1L50 256 4.2 175.9c-6.9-12.1-5.2-27.2 4.2-37.5s24.3-13.3 36.9-7.5l99.5 45.6c10.5-11.9 22.5-23.8 35.7-35C219.7 108.5 272.6 80 336 80s116.3 28.5 155.5 61.5c39.1 33 66.9 72.4 81 99.8c4.7 9.2 4.7 20.1 0 29.3c-14.1 27.4-41.9 66.8-81 99.8C452.3 403.5 399.4 432 336 432s-116.3-28.5-155.5-61.5c-13.2-11.2-25.1-23.1-35.7-35L45.3 381.1c-12.6 5.8-27.6 2.8-36.9-7.5S-2.7 348.2 4.2 336.1zM416 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faCloudFog = {\n prefix: 'far',\n iconName: 'cloud-fog',\n icon: [640, 512, [127787, \"fog\"], \"f74e\", \"M176 120c0-39.8 32.2-72 72-72c25.8 0 48.5 13.6 61.2 34c3.8 6.1 10.1 10.2 17.2 11.1s14.3-1.3 19.5-6.2c10-9.3 23.4-15 38.1-15c29 0 52.9 22.1 55.7 50.4c1.2 12.3 11.6 21.7 23.9 21.6l.3 0h0c35.3 0 64 28.7 64 64s-28.7 64-64 64H172h-1.9c-.3 0-.7-.1-1-.1C137.3 270.4 112 244.2 112 212c0-28.3 19.6-52.1 46.1-58.4c11.8-2.8 19.6-13.9 18.3-25.9c-.3-2.5-.4-5.1-.4-7.7zM248 0C184 0 131.7 50.1 128.2 113.3C90.4 130.1 64 167.9 64 212c0 57.1 44.3 103.9 100.5 107.7c1.2 .2 2.3 .3 3.5 .3h4H464c61.9 0 112-50.1 112-112c0-55.2-39.9-101.1-92.5-110.3C470.5 55 430.9 24 384 24c-18 0-34.9 4.6-49.7 12.6C312.5 14.1 281.9 0 248 0zM0 392c0 13.3 10.7 24 24 24H552c13.3 0 24-10.7 24-24s-10.7-24-24-24H24c-13.3 0-24 10.7-24 24zm64 96c0 13.3 10.7 24 24 24H200c13.3 0 24-10.7 24-24s-10.7-24-24-24H88c-13.3 0-24 10.7-24 24zm208 0c0 13.3 10.7 24 24 24H616c13.3 0 24-10.7 24-24s-10.7-24-24-24H296c-13.3 0-24 10.7-24 24z\"]\n};\nvar faFog = faCloudFog;\nvar faWaffle = {\n prefix: 'far',\n iconName: 'waffle',\n icon: [512, 512, [129479], \"e466\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM176 112v32l64 0V112c0-8.8 7.2-16 16-16s16 7.2 16 16v32h64V112c0-8.8 7.2-16 16-16s16 7.2 16 16v32h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H368v64h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H368v64h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H368v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V368H272v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V368H176v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V368H112c-8.8 0-16-7.2-16-16s7.2-16 16-16h32V272H112c-8.8 0-16-7.2-16-16s7.2-16 16-16h32V176H112c-8.8 0-16-7.2-16-16s7.2-16 16-16h32V112c0-8.8 7.2-16 16-16s16 7.2 16 16zm0 128l64 0V176l-64 0v64zm96 0h64V176H272v64zm0 32v64h64V272H272zm-32 0H176v64h64V272z\"]\n};\nvar faMusicNote = {\n prefix: 'far',\n iconName: 'music-note',\n icon: [384, 512, [\"music-alt\"], \"f8cf\", \"M384 31.1C384 13.9 370.1 0 352.9 0c-2.7 0-5.3 .3-7.9 1L193.9 40.8C183.3 43.6 176 53.1 176 64V366.3c-18.1-9-40.2-14.3-64-14.3C50.1 352 0 387.8 0 432s50.1 80 112 80s112-35.8 112-80V195.4l141.9-36.1C376.6 156.6 384 147 384 136V31.1zM176 432c0 2.6-1.4 9.4-12.7 17.5c-11.2 8-29.2 14.5-51.3 14.5s-40.1-6.5-51.3-14.5C49.4 441.4 48 434.6 48 432s1.4-9.4 12.7-17.5c11.2-8 29.2-14.5 51.3-14.5s40.1 6.5 51.3 14.5c11.3 8.1 12.7 14.9 12.7 17.5zM336 117.3L224 145.8V82.5L336 53v64.3z\"]\n};\nvar faMusicAlt = faMusicNote;\nvar faHexagonExclamation = {\n prefix: 'far',\n iconName: 'hexagon-exclamation',\n icon: [512, 512, [], \"e417\", \"M17.1 292c-12.9-22.3-12.9-49.7 0-72L105.4 67.1c12.9-22.3 36.6-36 62.4-36H344.3c25.7 0 49.5 13.7 62.4 36L494.9 220c12.9 22.3 12.9 49.7 0 72L406.6 444.9c-12.9 22.3-36.6 36-62.4 36H167.7c-25.7 0-49.5-13.7-62.4-36L17.1 292zm41.6-48c-4.3 7.4-4.3 16.6 0 24l88.3 152.9c4.3 7.4 12.2 12 20.8 12H344.3c8.6 0 16.5-4.6 20.8-12L453.4 268c4.3-7.4 4.3-16.6 0-24L365.1 91.1c-4.3-7.4-12.2-12-20.8-12l-176.6 0c-8.6 0-16.5 4.6-20.8 12L58.6 244zM256 128c13.3 0 24 10.7 24 24V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faCartShoppingFast = {\n prefix: 'far',\n iconName: 'cart-shopping-fast',\n icon: [640, 512, [], \"e0dc\", \"M64 24C64 10.7 74.7 0 88 0h45.5c22 0 41.5 12.8 50.6 32h411c26.3 0 45.5 25 38.6 50.4l-41 152.3c-8.5 31.4-37 53.3-69.5 53.3H234.7l5.4 28.5c2.2 11.3 12.1 19.5 23.6 19.5H552c13.3 0 24 10.7 24 24s-10.7 24-24 24H263.7c-34.6 0-64.3-24.6-70.7-58.5l-51.6-271c-.7-3.8-4-6.5-7.9-6.5H88C74.7 48 64 37.3 64 24zM225.6 240H523.2c10.9 0 20.4-7.3 23.2-17.8L584.7 80H195.1l30.5 160zM192 464a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm336-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM24 96h80c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 80h96c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 80H136c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faObjectUnion = {\n prefix: 'far',\n iconName: 'object-union',\n icon: [512, 512, [], \"e49f\", \"M160 304c26.5 0 48 21.5 48 48v96c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V224c0-8.8-7.2-16-16-16H352c-26.5 0-48-21.5-48-48V64c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16V288c0 8.8 7.2 16 16 16h96zm-48 48H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H288c35.3 0 64 28.7 64 64v48 48h48 48c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H224c-35.3 0-64-28.7-64-64V400 352H112z\"]\n};\nvar faUserGraduate = {\n prefix: 'far',\n iconName: 'user-graduate',\n icon: [448, 512, [], \"f501\", \"M228.7 .5c-3.1-.6-6.3-.6-9.4 0l-200 40C8.1 42.7 0 52.6 0 64C0 74.3 6.5 83.3 16 86.6v71.8L.3 236.9c-.9 4.7 .3 9.6 3.3 13.3s7.6 5.9 12.4 5.9H48c4.8 0 9.3-2.1 12.4-5.9s4.3-8.6 3.3-13.3L48 158.4V93.3l171.3 34.3c3.1 .6 6.3 .6 9.4 0l200-40C439.9 85.3 448 75.4 448 64s-8.1-21.3-19.3-23.5l-200-40zM49.3 464c5.8-37.6 30-69.2 63.3-85.1l63.6 71.5c5 5.6 10.7 10.1 16.9 13.6H49.3zm349.4 0H254.9c6.2-3.4 11.9-7.9 16.9-13.6l63.6-71.5c33.3 15.8 57.5 47.4 63.3 85.1zM109.6 328.4C45.9 350 0 410.3 0 481.3c0 17 13.8 30.7 30.7 30.7H417.3c17 0 30.7-13.8 30.7-30.7c0-71-45.9-131.3-109.6-152.8c-10.9-3.7-22.7 .4-30.3 9L236 418.5c-6.4 7.2-17.6 7.2-23.9 0l-72.1-81.1c-7.6-8.6-19.4-12.7-30.3-9zM96 160c0 70.7 57.3 128 128 128s128-57.3 128-128V135.5l-48 9.6V160c0 44.2-35.8 80-80 80s-80-35.8-80-80V145.1l-48-9.6V160z\"]\n};\nvar faStarfighter = {\n prefix: 'far',\n iconName: 'starfighter',\n icon: [640, 512, [], \"e037\", \"M254.4 35C256.9 15 274 0 294.1 0h51.8c20.2 0 37.2 15 39.7 35l25.8 206.4c4.1-.9 8.3-1.4 12.6-1.4h32c30.9 0 56 25.1 56 56v56h56V168c-13.3 0-24-10.7-24-24s10.7-24 24-24V96c0-13.3 10.7-24 24-24s24 10.7 24 24v24c13.3 0 24 10.7 24 24s-10.7 24-24 24V448c0 13.3-10.7 24-24 24s-24-10.7-24-24v-2.7l-88 29.3V480c0 17.7-14.3 32-32 32s-32-14.3-32-32v-.6c-8.8-1.3-17-4.6-24-9.5c-9.1 6.3-20.1 10-32 10H280c-11.9 0-22.9-3.7-32-10c-7 4.9-15.2 8.2-24 9.5v.6c0 17.7-14.3 32-32 32s-32-14.3-32-32v-5.3L72 445.3V448c0 13.3-10.7 24-24 24s-24-10.7-24-24V168c-13.3 0-24-10.7-24-24s10.7-24 24-24V96c0-13.3 10.7-24 24-24s24 10.7 24 24v24c13.3 0 24 10.7 24 24s-10.7 24-24 24V352h56V296c0-30.9 25.1-56 56-56h32c4.3 0 8.6 .5 12.6 1.4L254.4 35zM368 424V296 281.5L338.8 48H301.2L272 281.5V296 424c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8zm48-128V424c0 4.4 3.6 8 8 8h32c4.4 0 8-3.6 8-8V296c0-4.4-3.6-8-8-8H424c-4.4 0-8 3.6-8 8zm-200-8H184c-4.4 0-8 3.6-8 8V424c0 4.4 3.6 8 8 8h32c4.4 0 8-3.6 8-8V296c0-4.4-3.6-8-8-8zm104-64c17.7 0 32 14.3 32 32v48c0 8.8-7.2 16-16 16H304c-8.8 0-16-7.2-16-16V256c0-17.7 14.3-32 32-32z\"]\n};\nvar faCircleHalfStroke = {\n prefix: 'far',\n iconName: 'circle-half-stroke',\n icon: [512, 512, [9680, \"adjust\"], \"f042\", \"M464 256c0-114.9-93.1-208-208-208V464c114.9 0 208-93.1 208-208zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z\"]\n};\nvar faAdjust = faCircleHalfStroke;\nvar faArrowRightLongToLine = {\n prefix: 'far',\n iconName: 'arrow-right-long-to-line',\n icon: [640, 512, [], \"e3d5\", \"M640 88V424c0 13.3-10.7 24-24 24s-24-10.7-24-24V88c0-13.3 10.7-24 24-24s24 10.7 24 24zM505 239c9.4 9.4 9.4 24.6 0 33.9L369 409c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l95-95L24 280c-13.3 0-24-10.7-24-24s10.7-24 24-24l406.1 0-95-95c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L505 239z\"]\n};\nvar faSquareArrowDown = {\n prefix: 'far',\n iconName: 'square-arrow-down',\n icon: [448, 512, [\"arrow-square-down\"], \"f339\", \"M384 432c8.8 0 16-7.2 16-16l0-320c0-8.8-7.2-16-16-16L64 80c-8.8 0-16 7.2-16 16l0 320c0 8.8 7.2 16 16 16l320 0zm64-16c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l320 0c35.3 0 64 28.7 64 64l0 320zM207 377l-88-88c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L200 152c0-13.3 10.7-24 24-24s24 10.7 24 24l0 150.1 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-88 88c-9.4 9.4-24.6 9.4-33.9 0z\"]\n};\nvar faArrowSquareDown = faSquareArrowDown;\nvar faDiamondHalfStroke = {\n prefix: 'far',\n iconName: 'diamond-half-stroke',\n icon: [512, 512, [], \"e5b8\", \"M256 464V48c2.6 0 5.2 1 7 2.9L461.1 249c1.9 1.9 2.9 4.4 2.9 7s-1 5.2-2.9 7L263 461.1c-1.9 1.9-4.4 2.9-7 2.9zM215 17L17 215C6.1 225.9 0 240.6 0 256s6.1 30.1 17 41L215 495c10.9 10.9 25.6 17 41 17s30.1-6.1 41-17L495 297c10.9-10.9 17-25.6 17-41s-6.1-30.1-17-41L297 17C286.1 6.1 271.4 0 256 0s-30.1 6.1-41 17z\"]\n};\nvar faClapperboard = {\n prefix: 'far',\n iconName: 'clapperboard',\n icon: [512, 512, [], \"e131\", \"M48 208H464V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V208zm352-48H336l80-80h32c8.8 0 16 7.2 16 16l-64 64zM320 80l-80 80H176l80-80h64zM160 80L80 160H48V128L96 80h64zm352 80V96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96v64 24 24V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V208 184 160z\"]\n};\nvar faSquareChevronLeft = {\n prefix: 'far',\n iconName: 'square-chevron-left',\n icon: [448, 512, [\"chevron-square-left\"], \"f32a\", \"M48 416c0 8.8 7.2 16 16 16l320 0c8.8 0 16-7.2 16-16l0-320c0-8.8-7.2-16-16-16L64 80c-8.8 0-16 7.2-16 16l0 320zm16 64c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l320 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480zm71-241L239 135c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-87 87 87 87c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L135 273c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faChevronSquareLeft = faSquareChevronLeft;\nvar faPhoneIntercom = {\n prefix: 'far',\n iconName: 'phone-intercom',\n icon: [512, 512, [], \"e434\", \"M112 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16h48zm0 400c15.1 0 29-5.3 40-14c11 8.8 24.9 14 40 14H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H192c-15.1 0-29 5.3-40 14c-11-8.8-24.9-14-40-14H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64h48zm64-64V96c0-8.8 7.2-16 16-16H448c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H192c-8.8 0-16-7.2-16-16zm80-32a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm80-80c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H352c-8.8 0-16 7.2-16 16zm0 64c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H352c-8.8 0-16 7.2-16 16zM240 112c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H400c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32H240z\"]\n};\nvar faLinkHorizontal = {\n prefix: 'far',\n iconName: 'link-horizontal',\n icon: [640, 512, [\"chain-horizontal\"], \"e1cb\", \"M143.9 64C64.4 64 0 128.4 0 207.9c0 75.7 58.7 138.5 134.3 143.5l8.1 .5c13.2 .9 24.7-9.1 25.5-22.3s-9.1-24.7-22.4-25.5l-8.1-.5C87.1 300.2 48 258.3 48 207.9c0-52.9 42.9-95.9 95.9-95.9H304.1c52.9 0 95.9 42.9 95.9 95.9c0 50.5-39.1 92.3-89.5 95.6l-8.1 .5c-13.2 .9-23.2 12.3-22.4 25.5s12.3 23.2 25.5 22.3l8.1-.5c75.6-5 134.3-67.8 134.3-143.5C448 128.4 383.6 64 304.1 64H143.9zM496.1 448C575.6 448 640 383.6 640 304.1c0-75.7-58.7-138.5-134.3-143.5l-8.1-.5c-13.2-.9-24.7 9.1-25.5 22.4s9.1 24.7 22.3 25.5l8.1 .5c50.4 3.4 89.5 45.2 89.5 95.6c0 52.9-42.9 95.9-95.9 95.9H335.9c-53 0-95.9-42.9-95.9-95.9c0-50.5 39.1-92.3 89.5-95.7l7.1-.5c13.2-.9 23.2-12.3 22.3-25.6s-12.3-23.2-25.6-22.3l-7.1 .5C250.7 165.6 192 228.4 192 304.1C192 383.6 256.4 448 335.9 448H496.1z\"]\n};\nvar faChainHorizontal = faLinkHorizontal;\nvar faMango = {\n prefix: 'far',\n iconName: 'mango',\n icon: [512, 512, [], \"e30f\", \"M352 1.4c-2.5-.9-5.2-1.4-8-1.4c-13.3 0-24 10.7-24 24V96c-49.1 0-98.3 18.7-135.8 56.2c-45.8 37.2-67.8 76.7-88.4 113.5c-19.1 34.1-36.9 66-71.2 91.8C15 365 7.4 375.4 3.3 387.9c-11.1 33.5 7.1 69.8 40.6 80.9c0 0 100.1 43.3 244.1 43.3c166.5 0 224-147.4 224-224c0-49.1-18.7-98.3-56.2-135.8c-16.6-16.6-35.6-29.6-55.8-38.8v54.8c7.7 5.2 15 11.1 21.8 17.9C450 214.3 464 251.1 464 288c0 28.5-11.4 74.2-39.8 111.7C397.2 435.3 354.9 464 288 464c-67.3 0-124.3-10.1-164.4-20.2c-20-5-35.6-10-46.1-13.6c-5.2-1.8-9.1-3.3-11.6-4.3c-1.2-.5-2.1-.8-2.6-1.1l-.5-.2 0 0 0 0 0 0-1.8-.8-2-.7C50.6 420.4 46 411.4 48.8 403c1-3.1 2.8-5.6 5.1-7.4c42.4-31.9 64.6-71.8 83-104.8l3.1-5.6c19.4-34.8 37.9-65.9 74.5-95.7l1.9-1.6 1.7-1.7c28.1-28.1 65-42.2 101.8-42.2v24c0 13.3 10.7 24 24 24s24-10.7 24-24V152.2 102.1v-49C385.2 79 414.6 96 448 96h40c13.3 0 24-10.7 24-24c0-39.8-32.2-72-72-72H376 352l0 1.4zM400 288c-8.8 0-16 7.2-16 16c0 44.2-35.8 80-80 80c-8.8 0-16 7.2-16 16s7.2 16 16 16c61.9 0 112-50.1 112-112c0-8.8-7.2-16-16-16z\"]\n};\nvar faMusicNoteSlash = {\n prefix: 'far',\n iconName: 'music-note-slash',\n icon: [640, 512, [\"music-alt-slash\"], \"f8d0\", \"M512 31.1C512 13.9 498.1 0 480.9 0c-2.7 0-5.3 .3-7.9 1L321.9 40.8C311.3 43.6 304 53.1 304 64V213L38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L352 250.6V195.4l141.9-36.1C504.6 156.6 512 147 512 136V31.1zM304 366.3c-18.1-9-40.2-14.3-64-14.3c-61.9 0-112 35.8-112 80s50.1 80 112 80s112-35.8 112-80V373.3l-48-37.8v30.8zm0 65.7c0 2.6-1.4 9.4-12.7 17.5c-11.2 8-29.2 14.5-51.3 14.5s-40.1-6.5-51.3-14.5C177.4 441.4 176 434.6 176 432s1.4-9.4 12.7-17.5c11.2-8 29.2-14.5 51.3-14.5s40.1 6.5 51.3 14.5c11.3 8.1 12.7 14.9 12.7 17.5zM464 117.3L352 145.8V82.5L464 53v64.3z\"]\n};\nvar faMusicAltSlash = faMusicNoteSlash;\nvar faCircleRadiation = {\n prefix: 'far',\n iconName: 'circle-radiation',\n icon: [512, 512, [9762, \"radiation-alt\"], \"f7ba\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM200 256c0-20.7 11.3-38.8 28-48.5l-36-62.3c-8.8-15.3-28.7-20.8-42-9c-25.6 22.6-43.9 53.3-50.9 88.1C95.7 241.5 110.3 256 128 256l72 0zm28 48.5l-36 62.4c-8.8 15.3-3.6 35.2 13.1 40.8c16 5.4 33.1 8.3 50.9 8.3s34.9-2.9 50.9-8.3c16.7-5.6 21.9-25.5 13.1-40.8l-36-62.4c-8.2 4.8-17.8 7.5-28 7.5s-19.8-2.7-28-7.5zM312 256l72 0c17.7 0 32.3-14.5 28.8-31.8c-7-34.8-25.3-65.5-50.9-88.1c-13.2-11.7-33.1-6.3-42 9l-36 62.3c16.7 9.7 28 27.8 28 48.5zm-56 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faRadiationAlt = faCircleRadiation;\nvar faFaceTongueSweat = {\n prefix: 'far',\n iconName: 'face-tongue-sweat',\n icon: [576, 512, [], \"e39e\", \"M496 256c0 81.7-47.1 152.4-115.7 186.4c2.4-8.4 3.7-17.3 3.7-26.4V400.7c10.2-7.2 16-15.7 16-24.7c0-26.5-50.1-48-112-48s-112 21.5-112 48c0 9 5.8 17.5 16 24.7V416c0 9.2 1.3 18 3.7 26.4c-27.1-13.4-50.8-32.6-69.6-55.9c-3.9 17.1-13.4 32-26.4 42.8C146.4 480.2 213.5 512 288 512c141.4 0 256-114.6 256-256S429.4 0 288 0S32 114.6 32 256c0 1.1 0 2.2 0 3.3c16.3-7.1 36.4-2.8 48 12.8l.7 .9c-.5-5.6-.7-11.3-.7-17C80 141.1 173.1 48 288 48s208 93.1 208 208zM96 369c0-20-28.4-60.4-41.6-77.7c-3.2-4.4-9.6-4.4-12.8 0c-1.7 2.3-3.8 5-5.9 8.1C21.4 319.1 0 351.7 0 369c0 26 21.5 47 48 47c12 0 23-4.3 31.5-11.5C89.6 395.9 96 383.2 96 369zm239.6-97a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm-128 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm19.7-155.3c-6.2-6.2-16.4-6.2-22.6 0l-7.4 7.4c-18.9 18.9-43.2 31.4-69.5 35.7l-2.5 .4c-8.7 1.5-14.6 9.7-13.2 18.4s9.7 14.6 18.4 13.2l2.5-.4c32.9-5.5 63.3-21.1 86.8-44.7l7.4-7.4c6.2-6.2 6.2-16.4 0-22.6zm121.4 22.6l7.4 7.4c23.6 23.6 53.9 39.2 86.8 44.7l2.5 .4c8.7 1.5 17-4.4 18.4-13.2s-4.4-17-13.2-18.4l-2.5-.4c-26.3-4.4-50.6-16.9-69.5-35.7l-7.4-7.4c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6zM352 416c0 35.3-28.7 64-64 64s-64-28.7-64-64V394.6c0-14.7 11.9-26.6 26.6-26.6h2c11.3 0 21.1 7.9 23.6 18.9c2.8 12.6 20.8 12.6 23.6 0c2.5-11.1 12.3-18.9 23.6-18.9h2c14.7 0 26.6 11.9 26.6 26.6V416z\"]\n};\nvar faGlobeStand = {\n prefix: 'far',\n iconName: 'globe-stand',\n icon: [448, 512, [], \"f5f6\", \"M15 367c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l18.5-18.5c34.3 27.7 74.9 43.8 116.5 48.3V464H88c-13.3 0-24 10.7-24 24s10.7 24 24 24H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H232V430.7c49.1-5.3 96.8-26.7 134.4-64.3c81.7-81.7 87.1-211 16.1-298.9L401 49c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L332.5 49.6c-9.4 9.4-9.4 24.6 0 33.9c68.7 68.7 68.7 180.2 0 248.9s-180.2 68.7-248.9 0c-9.4-9.4-24.6-9.4-33.9 0L15 367zm97-159a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zm240 0A144 144 0 1 0 64 208a144 144 0 1 0 288 0z\"]\n};\nvar faBaseball = {\n prefix: 'far',\n iconName: 'baseball',\n icon: [512, 512, [129358, 9918, \"baseball-ball\"], \"f433\", \"M248 463.8c0-6 .3-11.9 .7-17.8c1.1-13.2 12.7-23 25.9-21.9s23 12.7 21.9 25.9c-.3 3.4-.5 6.8-.5 10.2C378.8 444 444 378.8 460.2 296c-3.4 .1-6.8 .3-10.2 .5c-13.2 1.1-24.8-8.7-25.9-21.9s8.7-24.8 21.9-25.9c5.9-.5 11.8-.7 17.8-.7C459.7 139.5 372.5 52.3 264 48.2c0 6-.3 11.9-.7 17.8c-1.1 13.2-12.7 23-25.9 21.9s-23-12.7-21.9-25.9c.3-3.4 .5-6.8 .5-10.2C133.2 68 68 133.2 51.9 216c3.4-.1 6.8-.3 10.2-.5c13.2-1.1 24.8 8.7 25.9 21.9s-8.7 24.8-21.9 25.9c-5.9 .5-11.8 .7-17.8 .7C52.3 372.5 139.5 459.7 248 463.8zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm118-55.2c36.5-16.8 66-46.3 82.8-82.8c5.5-12 19.8-17.3 31.8-11.8s17.3 19.8 11.8 31.8C222.8 185 185 222.8 138 244.4c-12 5.5-26.3 .2-31.8-11.8s-.2-26.3 11.8-31.8zM394 311.2c-36.5 16.8-66 46.3-82.8 82.8c-5.5 12-19.8 17.3-31.8 11.8s-17.3-19.8-11.8-31.8C289.2 327 327 289.2 374 267.6c12-5.5 26.3-.2 31.8 11.8s.2 26.3-11.8 31.8z\"]\n};\nvar faBaseballBall = faBaseball;\nvar faCircleP = {\n prefix: 'far',\n iconName: 'circle-p',\n icon: [512, 512, [], \"e11a\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM184 128c-13.3 0-24 10.7-24 24V288v72c0 13.3 10.7 24 24 24s24-10.7 24-24V312h68c50.8 0 92-41.2 92-92s-41.2-92-92-92H184zm92 136H208V176h68c24.3 0 44 19.7 44 44s-19.7 44-44 44z\"]\n};\nvar faAwardSimple = {\n prefix: 'far',\n iconName: 'award-simple',\n icon: [384, 512, [], \"e0ab\", \"M163.1 8.1c17.7-10.8 40-10.8 57.8 0l15.6 9.5c1.2 .7 2.7 1.1 4.1 1.1l18.3-.4c20.8-.5 40.1 10.7 50 28.9l8.8 16.1c.7 1.3 1.7 2.3 3 3L336.8 75c18.2 10 29.4 29.3 28.9 50l-.4 18.3c0 1.4 .3 2.9 1.1 4.1l9.5 15.6c10.8 17.7 10.8 40 0 57.8l-9.5 15.6c-.7 1.2-1.1 2.7-1.1 4.1l.4 18.3c.5 20.8-10.7 40.1-28.9 50l-16.1 8.8c-1.3 .7-2.3 1.7-3 3L309 336.8c-10 18.2-29.3 29.4-50 28.9l-18.3-.4c-1.4 0-2.9 .3-4.1 1.1l-15.6 9.5c-17.7 10.8-40 10.8-57.8 0l-15.6-9.5c-1.2-.7-2.7-1.1-4.1-1.1l-18.3 .4c-20.8 .5-40.1-10.7-50-28.9l-8.8-16.1c-.7-1.3-1.7-2.3-3-3L47.2 309c-18.2-10-29.4-29.3-28.9-50l.4-18.3c0-1.4-.3-2.9-1.1-4.1L8.1 220.9c-10.8-17.7-10.8-40 0-57.8l9.5-15.6c.7-1.2 1.1-2.7 1.1-4.1l-.4-18.3C17.8 104.3 29 85 47.2 75l16.1-8.8c1.3-.7 2.3-1.7 3-3L75 47.2c10-18.2 29.3-29.4 50-28.9l18.3 .4c1.4 0 2.9-.3 4.1-1.1l15.6-9.5zm32.8 41c-2.4-1.5-5.4-1.5-7.8 0l-15.6 9.5c-9.1 5.5-19.6 8.3-30.2 8.1l-18.3-.4c-2.8-.1-5.4 1.4-6.8 3.9l-8.8 16.1c-5.1 9.3-12.8 17-22.1 22.1l-16.1 8.8c-2.5 1.4-4 4-3.9 6.8l.4 18.3c.3 10.6-2.6 21.1-8.1 30.2l-9.5 15.6L28.6 175.6l20.5 12.5c-1.5 2.4-1.5 5.4 0 7.8l9.5 15.6c5.5 9.1 8.3 19.6 8.1 30.2l-.4 18.3c-.1 2.8 1.4 5.4 3.9 6.8l16.1 8.8c9.3 5.1 17 12.8 22.1 22.1l8.8 16.1c1.4 2.5 4 4 6.8 3.9l18.3-.4c10.6-.3 21.1 2.6 30.2 8.1l15.6 9.5c2.4 1.5 5.4 1.5 7.8 0l15.6-9.5c9.1-5.5 19.6-8.3 30.2-8.1l18.3 .4c2.8 .1 5.4-1.4 6.8-3.9l8.8-16.1c5.1-9.3 12.8-17 22.1-22.1l16.1-8.8c2.5-1.4 4-4 3.9-6.8l-.4-18.3c-.3-10.6 2.6-21.1 8.1-30.2l9.5-15.6c1.5-2.4 1.5-5.4 0-7.8l-9.5-15.6c-5.5-9.1-8.3-19.6-8.1-30.2l.4-18.3c.1-2.8-1.4-5.4-3.9-6.8l-16.1-8.8c-9.3-5.1-17-12.8-22.1-22.1l-8.8-16.1c-1.4-2.5-4-4-6.8-3.9l-18.3 .4c-10.6 .3-21.1-2.6-30.2-8.1l-15.6-9.5zM128 192a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM64.4 492.4L88 390.1c11.7 5.2 24.5 7.9 37.8 7.6l11.1-.3 9.5 5.8c28 17 63.1 17 91.1 0l9.5-5.8 11.1 .3c13.3 .3 26.1-2.4 37.8-7.6l23.6 102.3c1.4 5.9-.7 12-5.3 15.9s-11 4.8-16.6 2.4L192 465.4 86.3 510.7c-5.5 2.4-11.9 1.4-16.6-2.4s-6.7-10-5.3-15.9z\"]\n};\nvar faJetFighterUp = {\n prefix: 'far',\n iconName: 'jet-fighter-up',\n icon: [512, 512, [], \"e518\", \"M277.2 12.8C273.1 4.9 264.9 0 256 0s-17.1 4.9-21.2 12.8L168.4 138.2c-5.5 10.4-8.4 21.9-8.4 33.7v31.6L48 281.9V248c0-13.3-10.7-24-24-24s-24 10.7-24 24v80 32 32c0 13.3 10.7 24 24 24s24-10.7 24-24v-8H160v1.1l-41.9 66.3c-4 6.3-6.1 13.6-6.1 21.1c0 21.8 17.7 39.5 39.5 39.5h209c21.8 0 39.5-17.7 39.5-39.5c0-7.5-2.1-14.8-6.1-21.1L352 385.1V384H464v8c0 13.3 10.7 24 24 24s24-10.7 24-24V360 328 248c0-13.3-10.7-24-24-24s-24 10.7-24 24v33.9L352 203.5V171.9c0-11.7-2.9-23.3-8.4-33.7L277.2 12.8zM457.6 336H352V262.1L457.6 336zM304 360v32c0 4.5 1.3 9 3.7 12.8L345.1 464H280V408c0-13.3-10.7-24-24-24s-24 10.7-24 24v56H166.9l37.4-59.2c2.4-3.8 3.7-8.3 3.7-12.8V360 216.3v-.6V171.9c0-3.9 1-7.8 2.8-11.2L256 75.3l45.2 85.4c1.8 3.5 2.8 7.3 2.8 11.2v43.7 .6V360zM160 336H54.4L160 262.1V336z\"]\n};\nvar faDiagramProject = {\n prefix: 'far',\n iconName: 'diagram-project',\n icon: [576, 512, [\"project-diagram\"], \"f542\", \"M136 80c4.4 0 8 3.6 8 8v80c0 4.4-3.6 8-8 8H56c-4.4 0-8-3.6-8-8V88c0-4.4 3.6-8 8-8h80zM56 32C25.1 32 0 57.1 0 88v80c0 30.9 25.1 56 56 56h80c5.6 0 11.1-.8 16.2-2.4l75.9 101.2c-2.7 6.5-4.1 13.7-4.1 21.2v80c0 30.9 25.1 56 56 56h80c30.9 0 56-25.1 56-56V344c0-30.9-25.1-56-56-56H280c-5.6 0-11.1 .8-16.2 2.4L187.9 189.2c2.7-6.5 4.1-13.7 4.1-21.2V152H384v16c0 30.9 25.1 56 56 56h80c30.9 0 56-25.1 56-56V88c0-30.9-25.1-56-56-56H440c-30.9 0-56 25.1-56 56v16H192V88c0-30.9-25.1-56-56-56H56zM360 336c4.4 0 8 3.6 8 8v80c0 4.4-3.6 8-8 8H280c-4.4 0-8-3.6-8-8V344c0-4.4 3.6-8 8-8h80zM440 80h80c4.4 0 8 3.6 8 8v80c0 4.4-3.6 8-8 8H440c-4.4 0-8-3.6-8-8V88c0-4.4 3.6-8 8-8z\"]\n};\nvar faProjectDiagram = faDiagramProject;\nvar faPedestal = {\n prefix: 'far',\n iconName: 'pedestal',\n icon: [448, 512, [], \"e20d\", \"M352 48H96c-8.8 0-16 7.2-16 16V432H32V64C32 28.7 60.7 0 96 0H352c35.3 0 64 28.7 64 64V432H368V64c0-8.8-7.2-16-16-16zM24 464H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24zm96-352a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM304 88a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faChartPyramid = {\n prefix: 'far',\n iconName: 'chart-pyramid',\n icon: [512, 512, [], \"e0e6\", \"M256 95.8L199.9 192H312.1L256 95.8zM125.2 320H386.8l-46.7-80H171.9l-46.7 80zm-28 48L59.9 432l392.3 0-37.3-64H97.2zM214.5 71.6c18.5-31.8 64.4-31.8 82.9 0L493.6 407.8c18.7 32-4.4 72.2-41.5 72.2H59.9c-37 0-60.1-40.2-41.5-72.2L214.5 71.6z\"]\n};\nvar faSidebar = {\n prefix: 'far',\n iconName: 'sidebar',\n icon: [512, 512, [], \"e24e\", \"M224 80V432H448c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H224zM0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm64 24c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H88c-13.3 0-24 10.7-24 24zm24 72c-13.3 0-24 10.7-24 24s10.7 24 24 24h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H88zM64 312c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H88c-13.3 0-24 10.7-24 24z\"]\n};\nvar faSnowmanHead = {\n prefix: 'far',\n iconName: 'snowman-head',\n icon: [448, 512, [\"frosty-head\"], \"f79b\", \"M336 144v48H112V144H336zM64 64V192H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H48.7C28 272.3 16 310.8 16 352c0 56 22.1 106.9 58.2 144.3C84.5 507 99.3 512 114.2 512H333.8c15 0 29.7-5 40.1-15.7C409.9 458.9 432 408 432 352c0-41.2-12-79.7-32.7-112H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H384V64c0-35.3-28.7-64-64-64H128C92.7 0 64 28.7 64 64zm0 288c0-43.6 17.4-83.1 45.7-112H112 336h2.3c28.3 28.9 45.7 68.4 45.7 112c0 43.1-17 82.1-44.7 110.9c-.1 .1-.3 .2-.8 .4c-.9 .4-2.5 .7-4.8 .7H114.2c-2.2 0-3.8-.4-4.8-.7c-.4-.2-.7-.3-.8-.4C81 434.1 64 395.1 64 352zm88-16a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm168-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM219.3 445.2c.9 1.7 2.7 2.8 4.7 2.8s3.8-1.1 4.7-2.8l23.8-46.3c2.3-4.5 3.5-9.6 3.5-14.7c0-17.7-14.3-32.2-32-32.2s-32 14.5-32 32.2c0 5.1 1.2 10.2 3.5 14.7l23.8 46.3z\"]\n};\nvar faFrostyHead = faSnowmanHead;\nvar faCopy = {\n prefix: 'far',\n iconName: 'copy',\n icon: [448, 512, [], \"f0c5\", \"M384 336H192c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16l140.1 0L400 115.9V320c0 8.8-7.2 16-16 16zM192 384H384c35.3 0 64-28.7 64-64V115.9c0-12.7-5.1-24.9-14.1-33.9L366.1 14.1c-9-9-21.2-14.1-33.9-14.1H192c-35.3 0-64 28.7-64 64V320c0 35.3 28.7 64 64 64zM64 128c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H256c35.3 0 64-28.7 64-64V416H272v32c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V192c0-8.8 7.2-16 16-16H96V128H64z\"]\n};\nvar faBurgerGlass = {\n prefix: 'far',\n iconName: 'burger-glass',\n icon: [640, 512, [], \"e0ce\", \"M24 0C17.3 0 10.9 2.8 6.3 7.8S-.5 19.4 .1 26.1L36.3 446.2C39.5 483.4 70.7 512 108 512H276c5.6 0 11-.6 16.2-1.8c-13.1-12.8-23.3-28.5-29.4-46.2H108c-12.5 0-22.8-9.5-23.9-21.9L64 208H311.8c15.5-12.4 35-24.1 59.2-32.7L383.9 26.1c.6-6.7-1.7-13.3-6.2-18.3s-11-7.8-17.7-7.8H24zM59.8 160L50.2 48H333.8l-9.7 112H59.8zm390.1 80.2c-1.2 2.3-1.9 4.9-1.9 7.6c0 8.8 7.2 16 16 16s16-7.2 16-16c0-2.8-.7-5.3-1.9-7.6c22.5 1.3 40.8 5.5 55.7 11.3c-3.5 2.9-5.8 7.4-5.8 12.3c0 8.8 7.2 16 16 16c8.3 0 15.2-6.4 15.9-14.6c18.4 12.7 27.4 26.8 31.1 33.6c.3 .7 1 2.3 1 6.1c0 17-13.8 30.8-30.8 30.8H366.8c-17 0-30.8-13.8-30.8-30.8c0-3.7 .6-5.4 1-6.1c3.7-6.9 12.7-21 31.1-33.6c.7 8.2 7.6 14.6 15.9 14.6c8.8 0 16-7.2 16-16c0-4.9-2.2-9.4-5.8-12.3c14.8-5.8 33.1-10.1 55.7-11.3zM627.8 347.1c7.7-12.2 12.2-26.6 12.2-42.1c0-8.4-1.3-18.7-6.7-28.8C619 249.5 574.2 191.8 464 191.8s-155 57.7-169.3 84.4c-5.4 10-6.7 20.4-6.7 28.8c0 15.5 4.5 29.9 12.2 42.1c-7.5 7.3-12.2 17.5-12.2 28.7c0 8.1 2.4 15.6 6.5 21.8c-4.1 7.8-6.5 16.7-6.5 26.2c0 48.6 39.4 88 88 88H552c48.6 0 88-39.4 88-88c0-9.5-2.3-18.4-6.5-26.2c4.1-6.3 6.5-13.8 6.5-21.8c0-11.3-4.7-21.5-12.2-28.7zM344 415.8H584c4.4 0 8 3.6 8 8c0 22.1-17.9 40-40 40H376c-22.1 0-40-17.9-40-40c0-4.4 3.6-8 8-8z\"]\n};\nvar faVolumeXmark = {\n prefix: 'far',\n iconName: 'volume-xmark',\n icon: [576, 512, [\"volume-mute\", \"volume-times\"], \"f6a9\", \"M159.9 201.9L272 102.3V409.7L159.9 310.1c-4.4-3.9-10.1-6.1-15.9-6.1H56c-4.4 0-8-3.6-8-8V216c0-4.4 3.6-8 8-8h88c5.9 0 11.6-2.2 15.9-6.1zM290.2 32c-7.3 0-14.3 2.7-19.8 7.5L134.9 160H56c-30.9 0-56 25.1-56 56v80c0 30.9 25.1 56 56 56h78.9L270.4 472.5c5.5 4.8 12.5 7.5 19.8 7.5c16.5 0 29.8-13.3 29.8-29.8V61.8C320 45.3 306.7 32 290.2 32zM425 167c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l55 55-55 55c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l55-55 55 55c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-55-55 55-55c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-55 55-55-55z\"]\n};\nvar faVolumeMute = faVolumeXmark;\nvar faVolumeTimes = faVolumeXmark;\nvar faHandSparkles = {\n prefix: 'far',\n iconName: 'hand-sparkles',\n icon: [640, 512, [], \"e05d\", \"M262.4 36C272.8 14.7 294.7 0 320 0s47.2 14.7 57.6 36c7-2.6 14.5-4 22.4-4c35.3 0 64 28.7 64 64v2c5.1-1.3 10.5-2 16-2c35.3 0 64 28.7 64 64V323.1c-11.9 4.8-21.3 14.9-25 27.8l-8.9 31.2-29.3 8.4c8.7-16.8 14-35.7 15-55.7c0-.6 .1-1.3 .2-1.9V160c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 .1V232c0 13.3-10.7 24-24 24s-24-10.7-24-24V152l0-.1V96c0-8.8-7.2-16-16-16s-16 7.1-16 16l0 .1V232c0 13.3-10.7 24-24 24s-24-10.7-24-24V96l0-.1V64c0-8.8-7.2-16-16-16s-16 7.2-16 16V96l0 .1V232c0 13.3-10.7 24-24 24s-24-10.7-24-24V95.9c0-8.8-7.2-15.9-16-15.9c-8.8 0-16 7.2-16 16V319.4c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-43.7-43.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l87.8 87.8c39 39 91.9 60.9 147.1 60.9H360h4.9c.6-.1 1.3-.1 1.9-.2c30.9-1.5 59.1-13.4 81.2-32.1l0 .3c0 17.6 10.8 33.3 27 39.6c-28.5 22.8-63.9 37.3-102.5 39.9c-1.4 .3-3 .4-4.5 .4h-8-8.5c-67.9 0-133-27-181-75L82.7 349.3c-25-25-25-65.5 0-90.5s65.5-25 90.5 0l2.7 2.7V96c0-35.3 28.7-64 64-64c7.9 0 15.4 1.4 22.4 4zm50.3 290.6L320 352l25.4 7.3c3.9 1.1 6.6 4.7 6.6 8.7s-2.7 7.6-6.6 8.7L320 384l-7.3 25.4c-1.1 3.9-4.7 6.6-8.7 6.6s-7.6-2.7-8.7-6.6L288 384l-25.4-7.3c-3.9-1.1-6.6-4.7-6.6-8.7s2.7-7.6 6.6-8.7L288 352l7.3-25.4c1.1-3.9 4.7-6.6 8.7-6.6s7.6 2.7 8.7 6.6zm257.5 33.1L584 408l48.3 13.8c4.6 1.3 7.7 5.5 7.7 10.2s-3.1 8.9-7.7 10.2L584 456l-13.8 48.3c-1.3 4.6-5.5 7.7-10.2 7.7s-8.9-3.1-10.2-7.7L536 456l-48.3-13.8c-4.6-1.3-7.7-5.5-7.7-10.2s3.1-8.9 7.7-10.2L536 408l13.8-48.3c1.3-4.6 5.5-7.7 10.2-7.7s8.9 3.1 10.2 7.7zM104 88l40 11.4v25.1L104 136 90.2 184.3c-1.3 4.6-5.5 7.7-10.2 7.7s-8.9-3.1-10.2-7.7L56 136 7.7 122.2C3.1 120.9 0 116.7 0 112s3.1-8.9 7.7-10.2L56 88 69.8 39.7C71.1 35.1 75.3 32 80 32s8.9 3.1 10.2 7.7L104 88z\"]\n};\nvar faBarsFilter = {\n prefix: 'far',\n iconName: 'bars-filter',\n icon: [448, 512, [], \"e0ad\", \"M0 88C0 74.7 10.7 64 24 64H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H24C10.7 112 0 101.3 0 88zM64 248c0-13.3 10.7-24 24-24H360c13.3 0 24 10.7 24 24s-10.7 24-24 24H88c-13.3 0-24-10.7-24-24zM288 408c0 13.3-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24h80c13.3 0 24 10.7 24 24z\"]\n};\nvar faPaintbrushPencil = {\n prefix: 'far',\n iconName: 'paintbrush-pencil',\n icon: [576, 512, [], \"e206\", \"M181.3 19.3c-25-25-65.5-25-90.5 0L51.3 58.7c-3.1 3.1-5.9 6.5-8.2 10c-16.4 24.8-13.7 58.6 8.2 80.5l88.8 88.8c13.9-4 28.6-6.1 43.9-6.1l1.5 0 8.2-8.2L161 191 223 129l32.8 32.8 33.9-33.9L181.3 19.3zM414.2 320.1l37.3 37.3c.6 .6 1.2 1.2 1.7 1.8c3.9 4.4 6.7 9.6 8.4 15.2l6.9 23.4 16.1 54.8-54.8-16.1-23.4-6.9c-6.4-1.9-12.3-5.4-17-10.1l-37.3-37.3-8.1 8.1 0 1.7c0 15.2-2.1 29.9-6.1 43.9l17.6 17.6c1.3 1.3 2.6 2.6 4 3.8c9.6 8.5 21 14.8 33.4 18.4l78.1 23L513.2 511c8.4 2.5 17.5 .2 23.7-6.1s8.5-15.3 6.1-23.7L530.6 439l-23-78.1c-4.2-14.1-11.8-27-22.2-37.4l-37.3-37.3-33.9 33.9zM519 57c8.3 8.3 8.3 21.8 0 30.1L336.3 269.8l-30.1-30.1L489 57c8.3-8.3 21.8-8.3 30.1 0zM184 320c9.4 0 18.3 1.8 26.5 5L251 365.5c3.3 8.2 5 17.2 5 26.5c0 39.8-32.2 72-72 72H98.4l.7-.9c11.6-16.9 17.1-38.6 13.8-60c-.5-3.6-.8-7.3-.8-11.1c0-39.8 32.2-72 72-72zM455 23L204.3 273.7c-6.6-1.1-13.4-1.7-20.3-1.7c-66.3 0-120 53.7-120 120c0 6.2 .5 12.4 1.4 18.4C68.1 428.2 56.1 448 38 448H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H184c66.3 0 120-53.7 120-120c0-6.9-.6-13.7-1.7-20.3L553 121c27-27 27-70.9 0-97.9s-70.9-27-97.9 0z\"]\n};\nvar faPartyBell = {\n prefix: 'far',\n iconName: 'party-bell',\n icon: [512, 512, [], \"e31a\", \"M48 224c0-97.2 78.8-176 176-176c27.8 0 54.1 6.5 77.5 17.9c.7 .4 1.2 .8 1.7 1.6c.5 .9 .9 2.1 .9 3.2c0 1.7-.7 3.4-1.9 4.6L75.3 302.1c-1.2 1.2-2.9 1.9-4.6 1.9c-1.1 0-2.3-.3-3.2-.9c-.7-.4-1.2-.9-1.6-1.7C54.5 278.1 48 251.8 48 224zM224 0C100.3 0 0 100.3 0 224c0 35.3 8.2 68.9 22.8 98.7C32.3 341.9 51.7 352 70.7 352c14.5 0 28.3-5.7 38.5-16L336 109.2c10.2-10.2 16-24.1 16-38.5c0-19-10.1-38.4-29.3-47.8C292.9 8.2 259.3 0 224 0zM480 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM352 512a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM32 480a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zM359 167c-9.4 9.4-9.4 24.6 0 33.9l8.2 8.3c24.4 24.4 56.4 39.8 90.7 43.6l27.4 3c13.2 1.5 25-8 26.5-21.2s-8-25-21.2-26.5l-27.4-3c-23.5-2.6-45.4-13.1-62.1-29.8L393 167c-9.4-9.4-24.6-9.4-33.9 0zM201 359c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l8.3 8.3c16.7 16.7 27.2 38.6 29.8 62.1l3 27.4c1.5 13.2 13.3 22.7 26.5 21.2s22.7-13.3 21.2-26.5l-3-27.4c-3.8-34.3-19.2-66.3-43.6-90.7L201 359zM503.5 506.3c10.1-8.6 11.4-23.7 2.8-33.8l-8.5-10c-4.9-5.8-7.5-13.2-7.3-20.7c1.1-42.5-31.7-78.3-74.2-80.8l-30-1.8c-16.6-1-29.4-15-29-31.6c.5-19.4-6.1-38.2-18.6-53l-8.5-10c-8.6-10.1-23.7-11.4-33.8-2.8s-11.4 23.7-2.8 33.8l8.5 10c4.9 5.8 7.5 13.2 7.3 20.7c-1.1 42.5 31.7 78.3 74.2 80.8l30 1.8c16.6 1 29.4 15 29 31.6c-.5 19.4 6.1 38.2 18.6 53l8.5 10c8.6 10.1 23.7 11.4 33.8 2.8z\"]\n};\nvar faUserVneckHair = {\n prefix: 'far',\n iconName: 'user-vneck-hair',\n icon: [448, 512, [], \"e462\", \"M304 128c0-11.4-2.4-22.2-6.7-32H296c-20.5 0-38.7-9.6-50.4-24.5C231.9 95.7 205.8 112 176 112H145.6c-1 5.2-1.6 10.5-1.6 16v16c0 44.2 35.8 80 80 80s80-35.8 80-80V128zM96 128C96 57.3 153.3 0 224 0s128 57.3 128 128v16c0 70.7-57.3 128-128 128s-128-57.3-128-128V128zM48.3 464H399.7c-3.1-46.7-32.9-86.2-74.4-103.1l-50.2 66.9c-25.6 34.1-76.8 34.1-102.4 0l-50.2-66.9C81.2 377.8 51.3 417.3 48.3 464zm83.8-156.2c5.8-1.3 11.7 1.2 15.3 5.9l63.9 85.2c6.4 8.5 19.2 8.5 25.6 0l63.9-85.2c3.6-4.7 9.5-7.2 15.3-5.9C391.4 324.3 448 391.5 448 472v8c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32v-8c0-80.5 56.6-147.7 132.1-164.2z\"]\n};\nvar faJackOLantern = {\n prefix: 'far',\n iconName: 'jack-o-lantern',\n icon: [576, 512, [127875], \"f30e\", \"M275.5 10.4L231.6 110.6c-4 2.1-7.9 4.5-11.6 7.1C200 104.1 176.9 96 152 96c-45.4 0-84 26.5-110.2 64.2C15.5 198 0 248.9 0 304s15.5 106 41.8 143.8C68 485.5 106.6 512 152 512c24.9 0 48-8.1 68-21.6c20 13.6 43.1 21.6 68 21.6s48-8.1 68-21.6c20 13.6 43.1 21.6 68 21.6c45.4 0 84-26.5 110.2-64.2C560.5 410 576 359.1 576 304s-15.5-106-41.8-143.8C508 122.5 469.4 96 424 96c-24.9 0-48 8.1-68 21.6c-1.3-.9-2.7-1.8-4-2.6V35.4c0-6.9-4.1-13.2-10.5-15.9L299.3 1.4c-2.2-.9-4.5-1.4-6.8-1.4h-1.2c-6.9 0-13.1 4.1-15.8 10.4zM81.2 187.6C101.3 158.7 126.7 144 152 144c18 0 35.8 7.4 51.9 21.9c9.1 8.3 23 8.3 32.2 0C252.2 151.4 270 144 288 144s35.8 7.4 51.9 21.9c9.1 8.3 23 8.3 32.2 0C388.2 151.4 406 144 424 144c25.3 0 50.7 14.7 70.8 43.6c20 28.8 33.2 69.9 33.2 116.4s-13.2 87.6-33.2 116.4C474.7 449.3 449.3 464 424 464c-18 0-35.8-7.4-51.9-21.9c-9.1-8.3-23-8.3-32.2 0C323.8 456.6 306 464 288 464s-35.8-7.4-51.9-21.9c-9.1-8.3-23-8.3-32.2 0C187.8 456.6 170 464 152 464c-25.3 0-50.7-14.7-70.8-43.6C61.2 391.6 48 350.5 48 304s13.2-87.6 33.2-116.4zm140.1 27.5c-3-4.5-8-7.1-13.3-7.1s-10.3 2.7-13.3 7.1l-32 48c-3.3 4.9-3.6 11.2-.8 16.4s8.2 8.5 14.1 8.5h64c5.9 0 11.3-3.2 14.1-8.5s2.5-11.5-.8-16.4l-32-48zM368 208c-5.4 0-10.3 2.7-13.3 7.1l-32 48c-3.3 4.9-3.6 11.2-.8 16.4s8.2 8.5 14.1 8.5h64c5.9 0 11.3-3.2 14.1-8.5s2.5-11.5-.8-16.4l-32-48c-3-4.5-8-7.1-13.3-7.1zM470.1 312c1.4-5-.3-10.2-4-13.8c-5.8-5.8-15.1-6.6-22.2-2.4C420.8 309.4 365.6 336 288 336v16c0 8.8-7.2 16-16 16H256c-8.8 0-16-7.2-16-16V332.5c-52.4-7.7-89.9-26.2-107.9-36.8c-7.1-4.2-16.4-3.4-22.2 2.4c-3.7 3.7-5.4 8.8-4 13.8c4.2 14.7 17.2 46.8 54.1 71.4c.3-8.6 7.3-15.4 16-15.4h16c8.8 0 16 7.2 16 16v21.5c21.8 6.5 48.2 10.5 80 10.5s58.2-4 80-10.5V384c0-8.8 7.2-16 16-16h16c8.6 0 15.7 6.9 16 15.4c36.9-24.7 49.9-56.7 54.1-71.4z\"]\n};\nvar faGrip = {\n prefix: 'far',\n iconName: 'grip',\n icon: [448, 512, [\"grip-horizontal\"], \"f58d\", \"M408 376l0-48-48 0 0 48 48 0zm40 0c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40l48 0c22.1 0 40 17.9 40 40l0 48zM408 184l0-48-48 0 0 48 48 0zm40 0c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40l48 0c22.1 0 40 17.9 40 40l0 48zM200 376l48 0 0-48-48 0 0 48zm48 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40zm0-232l0-48-48 0 0 48 48 0zm40 0c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40l48 0c22.1 0 40 17.9 40 40l0 48zM40 376l48 0 0-48-48 0 0 48zm48 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40zm0-232l0-48-48 0 0 48 48 0zm40 0c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40l48 0c22.1 0 40 17.9 40 40l0 48z\"]\n};\nvar faGripHorizontal = faGrip;\nvar faShareFromSquare = {\n prefix: 'far',\n iconName: 'share-from-square',\n icon: [576, 512, [61509, \"share-square\"], \"f14d\", \"M400 255.4V240 208c0-8.8-7.2-16-16-16H352 336 289.5c-50.9 0-93.9 33.5-108.3 79.6c-3.3-9.4-5.2-19.8-5.2-31.6c0-61.9 50.1-112 112-112h48 16 32c8.8 0 16-7.2 16-16V80 64.6L506 160 400 255.4zM336 240h16v48c0 17.7 14.3 32 32 32h3.7c7.9 0 15.5-2.9 21.4-8.2l139-125.1c7.6-6.8 11.9-16.5 11.9-26.7s-4.3-19.9-11.9-26.7L409.9 8.9C403.5 3.2 395.3 0 386.7 0C367.5 0 352 15.5 352 34.7V80H336 304 288c-88.4 0-160 71.6-160 160c0 60.4 34.6 99.1 63.9 120.9c5.9 4.4 11.5 8.1 16.7 11.2c4.4 2.7 8.5 4.9 11.9 6.6c3.4 1.7 6.2 3 8.2 3.9c2.2 1 4.6 1.4 7.1 1.4h2.5c9.8 0 17.8-8 17.8-17.8c0-7.8-5.3-14.7-11.6-19.5l0 0c-.4-.3-.7-.5-1.1-.8c-1.7-1.1-3.4-2.5-5-4.1c-.8-.8-1.7-1.6-2.5-2.6s-1.6-1.9-2.4-2.9c-1.8-2.5-3.5-5.3-5-8.5c-2.6-6-4.3-13.3-4.3-22.4c0-36.1 29.3-65.5 65.5-65.5H304h32zM72 32C32.2 32 0 64.2 0 104V440c0 39.8 32.2 72 72 72H408c39.8 0 72-32.2 72-72V376c0-13.3-10.7-24-24-24s-24 10.7-24 24v64c0 13.3-10.7 24-24 24H72c-13.3 0-24-10.7-24-24V104c0-13.3 10.7-24 24-24h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H72z\"]\n};\nvar faShareSquare = faShareFromSquare;\nvar faKeynote = {\n prefix: 'far',\n iconName: 'keynote',\n icon: [512, 512, [], \"f66c\", \"M198.4 72H184c-22.1 0-40 17.9-40 40v48H422.3c16.1 0 31 8 39.9 21.4l41.7 62.5c5.3 7.9 8.1 17.1 8.1 26.6V320c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V270.5c0-9.5 2.8-18.7 8.1-26.6l41.7-62.5C58.7 168 73.6 160 89.7 160H96V112c0-48.6 39.4-88 88-88h14.4C206.7 9.7 222.2 0 240 0h64c26.5 0 48 21.5 48 48s-21.5 48-48 48H240c-17.8 0-33.3-9.7-41.6-24zM48 304H464V270.5L422.3 208 89.7 208 48 270.5V304zm80 184c0-13.3 10.7-24 24-24h80V384h48v80h80c13.3 0 24 10.7 24 24s-10.7 24-24 24H256 152c-13.3 0-24-10.7-24-24z\"]\n};\nvar faChildCombatant = {\n prefix: 'far',\n iconName: 'child-combatant',\n icon: [576, 512, [\"child-rifle\"], \"e4e0\", \"M160 64a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm80 0A64 64 0 1 0 112 64a64 64 0 1 0 128 0zM176 208c5.5 0 10.9 .9 16 2.6V336H160V210.6c5.1-1.7 10.5-2.6 16-2.6zM160 488V384h32V488c0 13.3 10.7 24 24 24s24-10.7 24-24V264.8l27.7 44c7.1 11.2 21.9 14.6 33.1 7.5s14.6-21.9 7.5-33.1l-48.4-76.9C241.8 177.5 210.1 160 176 160s-65.8 17.5-83.9 46.3L43.7 283.2c-7.1 11.2-3.7 26 7.5 33.1s26 3.7 33.1-7.5l27.7-44V488c0 13.3 10.7 24 24 24s24-10.7 24-24zM416 0c-8.8 0-16 7.2-16 16s7.2 16 16 16V132.3c-9.6 5.5-16 15.9-16 27.7v32H384c-17.7 0-32 14.3-32 32V352c0 17.7 14.3 32 32 32h32v48 64c0 8.8 7.2 16 16 16h59.5c10.4 0 18-9.8 15.5-19.9L484 400h44c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16H480V325.3l53.1-17.7c6.5-2.2 10.9-8.3 10.9-15.2V208c0-8.8-7.2-16-16-16H512c-8.8 0-16 7.2-16 16v56l-16 5.3V160c0-11.8-6.4-22.2-16-27.7V16c0-8.8-7.2-16-16-16H432 416zm16 336H416 400V240h32v96z\"]\n};\nvar faChildRifle = faChildCombatant;\nvar faGun = {\n prefix: 'far',\n iconName: 'gun',\n icon: [576, 512, [], \"e19b\", \"M528 56c0-13.3-10.7-24-24-24s-24 10.7-24 24v8H40C17.9 64 0 81.9 0 104v96c0 22.1 17.9 40 40 40h2c20.8 0 36.1 19.6 31 39.8L33 440.2c-2.4 9.6-.2 19.7 5.8 27.5S54.1 480 64 480H176c14.7 0 27.5-10 31-24.2L233 352h88.5c23.7 0 44.8-14.9 52.7-37.2L400.9 240h32.5c10.6 0 20.8-4.2 28.3-11.7L481.9 208H536c22.1 0 40-17.9 40-40V104c0-22.1-17.9-40-40-40h-8V56zM245 304l16-64h89l-21 58.7c-1.1 3.2-4.2 5.3-7.5 5.3H245zm-33.5-64l-48 192h-79l35.1-140.6c4.5-18.1 2.5-35.9-4.3-51.4h96.1zM267 192H219 68.8 48V112H504h24v48H478.6c-10.6 0-20.8 4.2-28.3 11.7L430.1 192H267z\"]\n};\nvar faSquarePhone = {\n prefix: 'far',\n iconName: 'square-phone',\n icon: [448, 512, [\"phone-square\"], \"f098\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm154.7 32.7c9.7-2.6 19.9 2.3 23.7 11.6l20 48c3.4 8.2 1 17.6-5.8 23.2L168 231.7c16.6 35.2 45.1 63.7 80.3 80.3l20.2-24.7c5.6-6.8 15-9.2 23.2-5.8l48 20c9.3 3.9 14.2 14 11.6 23.7l-12 44C336.9 378 329 384 320 384C196.3 384 96 283.7 96 160c0-9 6-16.9 14.7-19.3l44-12z\"]\n};\nvar faPhoneSquare = faSquarePhone;\nvar faHatBeach = {\n prefix: 'far',\n iconName: 'hat-beach',\n icon: [640, 512, [], \"e606\", \"M197.9 201.4C225.6 215.1 270 224 320 224c23.6 0 46-2 66-5.5c-1.3-4.2-2-8.7-2-13.2c0-22 15.7-40.4 36.6-44.4C397.1 131.1 360.8 112 320 112c-57.2 0-105.7 37.6-122.1 89.4zM320 64c70.2 0 130.8 41.1 159 100.5c6.1-2.9 12.8-4.5 19.7-4.5c25 0 45.3 20.3 45.3 45.3c0 12-4.8 23.5-13.3 32L528 240l2.7 2.7c.8 .8 1.6 1.6 2.3 2.5l77.3 30.9c17.9 7.2 29.7 24.6 29.7 43.9c0 17.6-8.9 34.5-25.1 49.8c-16.2 15.3-39.6 29.1-68.6 40.7C488.4 433.7 408.4 448 320 448s-168.4-14.3-226.3-37.5c-29-11.6-52.4-25.4-68.6-40.7l16.5-17.4L25.1 369.8C8.9 354.5 0 337.6 0 320c0-19.3 11.8-36.7 29.7-43.9l8.6 21.6-8.6-21.6 114.6-45.8C149.3 137.6 226.1 64 320 64zM429.3 320c-16.7 0-31.3-9-39.1-22.5c-21.2 4.1-45 6.5-70.2 6.5c-62.4 0-116.5-14.3-142.9-35.2c-.3 .1-.5 .2-.8 .3L48 320.5c.2 1.5 1.5 6.4 10.1 14.5c10.3 9.8 27.8 20.8 53.4 31C162.5 386.3 236.2 400 320 400s157.5-13.7 208.4-34.1c25.6-10.2 43.1-21.2 53.4-31c8.6-8.1 9.9-13 10.1-14.5l-54.7-21.9c-8 12.9-22.2 21.4-38.5 21.4c-12 0-23.5-4.8-32-13.3L464 304l-2.7 2.7c-8.5 8.5-20 13.3-32 13.3zM464 264a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faPlus = {\n prefix: 'far',\n iconName: 'plus',\n icon: [448, 512, [10133, 61543, \"add\"], \"2b\", \"M248 72c0-13.3-10.7-24-24-24s-24 10.7-24 24V232H40c-13.3 0-24 10.7-24 24s10.7 24 24 24H200V440c0 13.3 10.7 24 24 24s24-10.7 24-24V280H408c13.3 0 24-10.7 24-24s-10.7-24-24-24H248V72z\"]\n};\nvar faAdd = faPlus;\nvar faExpand = {\n prefix: 'far',\n iconName: 'expand',\n icon: [448, 512, [], \"f065\", \"M136 32c13.3 0 24 10.7 24 24s-10.7 24-24 24H48v88c0 13.3-10.7 24-24 24s-24-10.7-24-24V56C0 42.7 10.7 32 24 32H136zM0 344c0-13.3 10.7-24 24-24s24 10.7 24 24v88h88c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V344zM424 32c13.3 0 24 10.7 24 24V168c0 13.3-10.7 24-24 24s-24-10.7-24-24V80H312c-13.3 0-24-10.7-24-24s10.7-24 24-24H424zM400 344c0-13.3 10.7-24 24-24s24 10.7 24 24V456c0 13.3-10.7 24-24 24H312c-13.3 0-24-10.7-24-24s10.7-24 24-24h88V344z\"]\n};\nvar faComputer = {\n prefix: 'far',\n iconName: 'computer',\n icon: [640, 512, [], \"e4e5\", \"M384 80c8.8 0 16 7.2 16 16V320c0 8.8-7.2 16-16 16H281.3 264 184 166.7 64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H384zM64 384h86.7l-16 48H88c-13.3 0-24 10.7-24 24s10.7 24 24 24h30.7H152 296h33.3H360c13.3 0 24-10.7 24-24s-10.7-24-24-24H313.3l-16-48H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V320c0 35.3 28.7 64 64 64zm121.3 48l16-48h45.4l16 48H185.3zM528 80h64v32H528V80zm0 80h64v32H528V160zm64 80V432H528V240h64zM480 80V432c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H528c-26.5 0-48 21.5-48 48zm80 280a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faFort = {\n prefix: 'far',\n iconName: 'fort',\n icon: [640, 512, [], \"e486\", \"M48 112v48c0 8.8 7.2 16 16 16H80h80c8.8 0 16-7.2 16-16V112H136 88 48zm176 48c0 5.5-.7 10.9-2 16H418c-1.3-5.1-2-10.5-2-16V112v-8V64 24c0-13.3 10.7-24 24-24c7.1 0 13.4 3.1 17.8 7.9c3.8 4.3 6.2 9.9 6.2 16.1V64h40V24c0-6.2 2.3-11.8 6.2-16.1C514.6 3.1 520.9 0 528 0s13.4 3.1 17.8 7.9c3.8 4.3 6.2 9.9 6.2 16.1V64h40V24c0-6.2 2.3-11.8 6.2-16.1C602.6 3.1 608.9 0 616 0c13.3 0 24 10.7 24 24V64v40 8 48c0 23.7-12.9 44.4-32 55.4V224 448c0 35.3-28.7 64-64 64H384 256 96c-35.3 0-64-28.7-64-64V224v-8.6C12.9 204.4 0 183.7 0 160V112v-8V64 24C0 10.7 10.7 0 24 0c7.1 0 13.4 3.1 17.8 7.9C45.7 12.2 48 17.8 48 24V64H88V24c0-6.2 2.3-11.8 6.2-16.1C98.6 3.1 104.9 0 112 0s13.4 3.1 17.8 7.9c3.9 4.3 6.2 9.9 6.2 16.1V64h40V24c0-6.2 2.3-11.8 6.2-16.1C186.6 3.1 192.9 0 200 0c13.3 0 24 10.7 24 24V64v40 8 48zM384 464h64V224H192V464h64V384c0-35.3 28.7-64 64-64s64 28.7 64 64v80zm112 0h48c8.8 0 16-7.2 16-16V224H496V464zM96 464h48V224H80V448c0 8.8 7.2 16 16 16zM560 176h16c8.8 0 16-7.2 16-16V112H552 504 464v48c0 8.8 7.2 16 16 16h80z\"]\n};\nvar faCloudCheck = {\n prefix: 'far',\n iconName: 'cloud-check',\n icon: [640, 512, [], \"e35c\", \"M354.9 121.7c13.8 16 36.5 21.1 55.9 12.5c8.9-3.9 18.7-6.2 29.2-6.2c39.8 0 72 32.2 72 72c0 4-.3 7.9-.9 11.7c-3.5 21.6 8.1 42.9 28.1 51.7C570.4 276.9 592 308 592 344c0 46.8-36.6 85.2-82.8 87.8c-.6 0-1.3 .1-1.9 .2H504 144c-53 0-96-43-96-96c0-41.7 26.6-77.3 64-90.5c19.2-6.8 32-24.9 32-45.3l0-.2v0 0c0-66.3 53.7-120 120-120c36.3 0 68.8 16.1 90.9 41.7zM512 480v-.2c71.4-4.1 128-63.3 128-135.8c0-55.7-33.5-103.7-81.5-124.7c1-6.3 1.5-12.8 1.5-19.3c0-66.3-53.7-120-120-120c-17.4 0-33.8 3.7-48.7 10.3C360.4 54.6 314.9 32 264 32C171.2 32 96 107.2 96 200l0 .2C40.1 220 0 273.3 0 336c0 79.5 64.5 144 144 144H464h40 8zM433 241c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-111 111-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L433 241z\"]\n};\nvar faXmark = {\n prefix: 'far',\n iconName: 'xmark',\n icon: [384, 512, [128473, 10005, 10006, 10060, 215, \"close\", \"multiply\", \"remove\", \"times\"], \"f00d\", \"M345 137c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-119 119L73 103c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l119 119L39 375c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l119-119L311 409c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-119-119L345 137z\"]\n};\nvar faClose = faXmark;\nvar faMultiply = faXmark;\nvar faRemove = faXmark;\nvar faTimes = faXmark;\nvar faFaceSmirking = {\n prefix: 'far',\n iconName: 'face-smirking',\n icon: [512, 512, [], \"e397\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm382.3 88.9l-1.9 4.8c-12.2 30.4-41.6 50.3-74.3 50.3H184c-13.3 0-24-10.7-24-24s10.7-24 24-24H306.1c13.1 0 24.9-8 29.7-20.1l1.9-4.8c4.9-12.3 18.9-18.3 31.2-13.4s18.3 18.9 13.4 31.2zM112 192h64c17.7 0 32 14.3 32 32s-14.3 32-32 32s-32-14.3-32-32H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm176 16c0-8.8 7.2-16 16-16h64c17.7 0 32 14.3 32 32s-14.3 32-32 32s-32-14.3-32-32H304c-8.8 0-16-7.2-16-16z\"]\n};\nvar faArrowsUpDownLeftRight = {\n prefix: 'far',\n iconName: 'arrows-up-down-left-right',\n icon: [512, 512, [\"arrows\"], \"f047\", \"M273 7c-9.4-9.4-24.6-9.4-33.9 0L167 79c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l31-31V232H81.9l31-31c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L7 239c-9.4 9.4-9.4 24.6 0 33.9l72 72c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-31-31H232V430.1l-31-31c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l72 72c9.4 9.4 24.6 9.4 33.9 0l72-72c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-31 31V280H430.1l-31 31c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l72-72c9.4-9.4 9.4-24.6 0-33.9l-72-72c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l31 31H280V81.9l31 31c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L273 7z\"]\n};\nvar faArrows = faArrowsUpDownLeftRight;\nvar faChalkboardUser = {\n prefix: 'far',\n iconName: 'chalkboard-user',\n icon: [640, 512, [\"chalkboard-teacher\"], \"f51c\", \"M576 48H224c-8.8 0-16 7.2-16 16v41.3c-14.8-6-31-9.3-48-9.3V64c0-35.3 28.7-64 64-64H576c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H544 520 392 368 336.8c-8.3-18-19.8-34.2-33.7-48H368V328c0-30.9 25.1-56 56-56h64c30.9 0 56 25.1 56 56v40h32c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16zM496 368V328c0-4.4-3.6-8-8-8H424c-4.4 0-8 3.6-8 8v40h80zM208 224a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM64 224a96 96 0 1 1 192 0A96 96 0 1 1 64 224zM50.7 464H269.3c-9.5-36.8-42.9-64-82.6-64H133.3c-39.8 0-73.2 27.2-82.6 64zM0 485.3C0 411.7 59.7 352 133.3 352h53.3C260.3 352 320 411.7 320 485.3c0 14.7-11.9 26.7-26.7 26.7H26.7C11.9 512 0 500.1 0 485.3z\"]\n};\nvar faChalkboardTeacher = faChalkboardUser;\nvar faRhombus = {\n prefix: 'far',\n iconName: 'rhombus',\n icon: [448, 512, [], \"e23b\", \"M224 52.3L50.5 256 224 459.7 397.5 256 224 52.3zM9.6 230.1l184-216C201.2 5.1 212.3 0 224 0s22.8 5.1 30.4 14.1l184 216c12.7 14.9 12.7 36.9 0 51.9l-184 216c-7.6 8.9-18.7 14.1-30.4 14.1s-22.8-5.1-30.4-14.1l-184-216C-3.2 267-3.2 245 9.6 230.1z\"]\n};\nvar faClawMarks = {\n prefix: 'far',\n iconName: 'claw-marks',\n icon: [576, 512, [], \"f6c2\", \"M39 7C48.4-2.3 63.6-2.3 73 7L176.6 110.6c15 15 23.4 35.4 23.4 56.6V184h16.8c21.2 0 41.6 8.4 56.6 23.4l95.2 95.2c15 15 23.4 35.4 23.4 56.6V376h16.8c21.2 0 41.6 8.4 56.6 23.4L537 471c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-71.6-71.6c-6-6-14.1-9.4-22.6-9.4H368c-13.3 0-24-10.7-24-24V359.2c0-8.5-3.4-16.6-9.4-22.6l-95.2-95.2c-6-6-14.1-9.4-22.6-9.4H176c-13.3 0-24-10.7-24-24V167.2c0-8.5-3.4-16.6-9.4-22.6L39 41C29.7 31.6 29.7 16.4 39 7zm0 224c9.4-9.4 24.6-9.4 33.9 0L146.9 305c13.5 13.5 21.1 31.8 21.1 50.9V376h20.1c19.1 0 37.4 7.6 50.9 21.1L313 471c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L205.1 431c-4.5-4.5-10.6-7-17-7H144c-13.3 0-24-10.7-24-24V355.9c0-6.4-2.5-12.5-7-17L39 265c-9.4-9.4-9.4-24.6 0-33.9zM297 7l9.9 9.9C320.4 30.5 328 48.8 328 67.9V88h20.1c19.1 0 37.4 7.6 50.9 21.1L434.9 145c13.5 13.5 21.1 31.8 21.1 50.9V216h20.1c19.1 0 37.4 7.6 50.9 21.1L537 247c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-9.9-9.9c-4.5-4.5-10.6-7-17-7H432c-13.3 0-24-10.7-24-24V195.9c0-6.4-2.5-12.5-7-17L365.1 143c-4.5-4.5-10.6-7-17-7H304c-13.3 0-24-10.7-24-24V67.9c0-6.4-2.5-12.5-7-17L263 41c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0z\"]\n};\nvar faPesoSign = {\n prefix: 'far',\n iconName: 'peso-sign',\n icon: [384, 512, [], \"e222\", \"M93.6 32C68.4 32 48 52.4 48 77.6V128H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H48v48H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H48v72V456c0 13.3 10.7 24 24 24s24-10.7 24-24V368h88c67 0 124.9-39.2 151.8-96H360c13.3 0 24-10.7 24-24s-10.7-24-24-24h-9.7c1.1-7.8 1.7-15.9 1.7-24s-.6-16.2-1.7-24H360c13.3 0 24-10.7 24-24s-10.7-24-24-24H335.8C308.9 71.2 251 32 184 32H93.6zM280 128H96V80h88c39.3 0 74.1 18.9 96 48zM96 176H301.6c1.6 7.8 2.4 15.8 2.4 24s-.8 16.2-2.4 24H96V176zm184 96c-21.9 29.1-56.7 48-96 48H96V272H280z\"]\n};\nvar faFaceSmileTongue = {\n prefix: 'far',\n iconName: 'face-smile-tongue',\n icon: [512, 512, [], \"e394\", \"M419.5 453c-44.3 36.9-101.3 59-163.5 59C114.6 512 0 397.4 0 256S114.6 0 256 0S512 114.6 512 256c0 27.2-4.2 53.4-12.1 77.9c9.1 23.9 7.8 51.5-6 75.4c-16 27.6-44.7 43.2-74.4 43.6zm-56.2-18.8l-44.2-27.4c-19.5 8-40.8 12.4-63.1 12.4c-70.4 0-130.1-43.8-157.5-105.5c-5.4-12.1 .1-26.3 12.2-31.7s26.3 .1 31.7 12.2c20.4 46.1 64.1 76.9 113.6 76.9c56.5 0 105.6-40.3 120.8-97.4c1.9-7.3 7.2-13.2 14.2-16.1s14.9-2.2 21.4 1.7l49 29.5c1.7-10.7 2.6-21.7 2.6-33c0-114.9-93.1-208-208-208S48 141.1 48 256s93.1 208 208 208c39.3 0 76-10.9 107.3-29.8zM217.6 228.8l0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0 0 0zM398.5 399.6c18.8 11 42.9 4.7 53.8-14.2c11-19.1 4.5-43.6-14.6-54.6l-.4-.2 0 0-24.7-14.9c-11.2 24.5-27.5 46.1-47.6 63.2l33.5 20.8zM377.6 228.8l0 0 0 0-.2-.2c-.2-.2-.4-.5-.7-.9c-.6-.8-1.6-2-2.8-3.4c-2.5-2.8-6-6.6-10.2-10.3c-8.8-7.8-18.8-14-27.7-14s-18.9 6.2-27.7 14c-4.2 3.7-7.7 7.5-10.2 10.3c-1.2 1.4-2.2 2.6-2.8 3.4c-.3 .4-.6 .7-.7 .9l-.2 .2 0 0 0 0 0 0c-2.1 2.8-5.7 3.9-8.9 2.8s-5.5-4.1-5.5-7.6c0-17.9 6.7-35.6 16.6-48.8c9.8-13 23.9-23.2 39.4-23.2s29.6 10.2 39.4 23.2c9.9 13.2 16.6 30.9 16.6 48.8c0 3.4-2.2 6.5-5.5 7.6s-6.9 0-8.9-2.8l0 0 0 0z\"]\n};\nvar faCartCircleXmark = {\n prefix: 'far',\n iconName: 'cart-circle-xmark',\n icon: [640, 512, [], \"e3f4\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48H69.5c3.8 0 7.1 2.7 7.9 6.5l51.6 271c6.5 34 36.2 58.5 70.7 58.5h121c-.5-5.3-.7-10.6-.7-16c0-10.9 1-21.6 2.9-32H199.7c-11.5 0-21.4-8.2-23.6-19.5L170.7 288H339.2c9.2-18 21.4-34.2 36-48H161.6L131.1 80H520.7L490.5 192.1c1.8-.1 3.7-.1 5.5-.1c14.8 0 29.1 1.8 42.8 5.2L569.7 82.4C576.6 57 557.4 32 531.1 32h-411C111 12.8 91.6 0 69.5 0H24zM176 512a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm320 0a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm59.3-180.7L518.6 368l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L496 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L473.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L496 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faBuildingShield = {\n prefix: 'far',\n iconName: 'building-shield',\n icon: [576, 512, [], \"e4d8\", \"M64 48H320c8.8 0 16 7.2 16 16V226.2L384 207V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c10.9 0 21.2-2.7 30.2-7.6c-15.4-12.4-28.5-26-39.5-40.4H240V400c0-26.5-21.5-48-48-48s-48 21.5-48 48v64H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16zM296 232c0-8.8-7.2-16-16-16H232c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16h24c.1-22.8 14-43.4 35.2-51.8l4.8-1.9V232zM88 104v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V104c0-8.8-7.2-16-16-16H104c-8.8 0-16 7.2-16 16zM232 88c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V104c0-8.8-7.2-16-16-16H232zM88 232v48c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V232c0-8.8-7.2-16-16-16H104c-8.8 0-16 7.2-16 16zm335.1-6.3l-120 48C294 277.4 288 286.2 288 296c0 63.3 25.9 168.8 134.8 214.2c5.9 2.5 12.6 2.5 18.5 0C550.1 464.8 576 359.3 576 296c0-9.8-6-18.6-15.1-22.3l-120-48c-5.7-2.3-12.1-2.3-17.8 0zM527.4 312c-3.9 50.7-27.2 116.7-95.4 149.7V273.8L527.4 312z\"]\n};\nvar faCirclePhoneFlip = {\n prefix: 'far',\n iconName: 'circle-phone-flip',\n icon: [512, 512, [\"phone-circle-alt\"], \"e11c\", \"M256 464a208 208 0 1 0 0-416 208 208 0 1 0 0 416zM256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zm69.3 128.7l44 12C378 143.1 384 151 384 160c0 123.7-100.3 224-224 224c-9 0-16.9-6-19.3-14.7l-12-44c-2.6-9.7 2.3-19.9 11.6-23.7l48-20c8.2-3.4 17.6-1 23.2 5.8L231.7 312c35.2-16.6 63.7-45.1 80.3-80.3l-24.7-20.2c-6.8-5.6-9.2-15-5.8-23.2l20-48c3.9-9.3 14-14.2 23.7-11.6z\"]\n};\nvar faPhoneCircleAlt = faCirclePhoneFlip;\nvar faBaby = {\n prefix: 'far',\n iconName: 'baby',\n icon: [448, 512, [], \"f77c\", \"M224 112a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM224 0a80 80 0 1 1 0 160A80 80 0 1 1 224 0zM107.3 180.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l18.7 18.7c12.8 12.8 27.5 23.4 43.4 31.5c8.1 4.1 13.1 12.4 13.1 21.4v13 0H288l0-13c0-9 5.1-17.3 13.1-21.4c15.9-8.1 30.6-18.6 43.4-31.5l18.7-18.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-18.7 18.7c-26 26-61.2 40.6-97.9 40.6s-72-14.6-97.9-40.6l-18.7-18.7zM304.6 341.5l-24.1 21.1L304 392.9c6.8 8.8 6.7 21.1-.2 29.7L291.5 438c-5.5 6.9-4.4 17 2.5 22.5s17 4.4 22.5-2.5l32-40c4.6-5.8 4.7-14 .1-19.8l-44.1-56.7zm-137 21.1l-24.1-21.1L99.4 398.2c-4.5 5.8-4.5 14 .1 19.8l32 40c5.5 6.9 15.6 8 22.5 2.5s8-15.6 2.5-22.5l-12.3-15.4c-6.9-8.7-7-21-.2-29.7l23.6-30.3zM50.7 146.7c25-25 65.5-25 90.5 0L160 165.5c17 17 40 26.5 64 26.5s47-9.5 64-26.5l18.7-18.7c25-25 65.5-25 90.5 0s25 65.5 0 90.5L378.5 256c-12.9 12.9-27.2 23.9-42.5 33.1l0 14.6 50.5 65c18.2 23.4 18 56.2-.5 79.3l-32 40c-22.1 27.6-62.4 32.1-90 10s-32.1-62.4-10-90l.5-.6-5.8-7.4H199.3l-5.8 7.4 .5 .6c22.1 27.6 17.6 67.9-10 90s-67.9 17.6-90-10L62 448c-18.5-23.1-18.7-55.9-.5-79.3l50.5-65 0-14.6c-15.4-9.2-29.7-20.3-42.5-33.1L50.7 237.3c-25-25-25-65.5 0-90.5z\"]\n};\nvar faUsersLine = {\n prefix: 'far',\n iconName: 'users-line',\n icon: [640, 512, [], \"e592\", \"M147.2 160a64 64 0 1 0 0-128 64 64 0 1 0 0 128zM96 192c-35.3 0-64 28.7-64 64c0 17.7 14.3 32 32 32h98.7c18.2-31.4 49.3-54.4 86-61.6C238.1 206 216.7 192 192 192H96zm480 96c17.7 0 32-14.3 32-32c0-35.3-28.7-64-64-64H448c-24.5 0-45.7 13.7-56.5 33.9c38 6.6 70.3 29.9 89 62.1H576zm-134.8 0c-14.6-16.3-34.6-27.5-57.1-30.9c-.6-.1-1.3-.2-1.9-.3c-4.1-.5-8.3-.8-12.5-.8h-48-48c-4.2 0-8.4 .3-12.5 .8c-1.7 .2-3.4 .5-5.1 .8c-21.3 3.9-40.1 14.9-53.9 30.4c-15.2 17-24.4 39.4-24.4 64c0 17.7 14.3 32 32 32h224c17.7 0 32-14.3 32-32c0-24.6-9.2-47-24.4-64zm58-128a64 64 0 1 0 0-128 64 64 0 1 0 0 128zM321.6 112a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm-48 96l0 0c13.4 10 30 16 48 16s34.6-6 48-16l0 0c19.4-14.6 32-37.8 32-64c0-44.2-35.8-80-80-80s-80 35.8-80 80c0 26.2 12.6 49.4 32 64zM414.9 336H228.3c6.6-18.6 24.4-32 45.3-32h96c20.9 0 38.7 13.4 45.3 32zM0 456c0 13.3 10.7 24 24 24H616c13.3 0 24-10.7 24-24s-10.7-24-24-24H24c-13.3 0-24 10.7-24 24z\"]\n};\nvar faQuoteLeft = {\n prefix: 'far',\n iconName: 'quote-left',\n icon: [448, 512, [8220, \"quote-left-alt\"], \"f10d\", \"M0 216C0 149.7 53.7 96 120 96h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-39.8 0-72 32.2-72 72v10c5.1-1.3 10.5-2 16-2h64c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V320 288 216zm48 72v32 32c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V288c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16zm336-16H320c-8.8 0-16 7.2-16 16v32 32c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V288c0-8.8-7.2-16-16-16zM256 320V288 216c0-66.3 53.7-120 120-120h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H376c-39.8 0-72 32.2-72 72v10c5.1-1.3 10.5-2 16-2h64c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64H320c-35.3 0-64-28.7-64-64V320z\"]\n};\nvar faQuoteLeftAlt = faQuoteLeft;\nvar faTractor = {\n prefix: 'far',\n iconName: 'tractor',\n icon: [640, 512, [128668], \"f722\", \"M152 48H266.3c3.3 0 6.2 2 7.4 5l42.8 107H192 160 144V56c0-4.4 3.6-8 8-8zM96 56V192.6c-11.2-3.9-24.2-1.4-33.1 7.6L40.2 222.9c-12.5 12.5-12.5 32.8 0 45.3l5.8 5.8c-2.2 4.6-4.1 9.3-5.8 14.1H32c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32h8.2c1.7 4.8 3.7 9.5 5.8 14.1l-5.8 5.8c-12.5 12.5-12.5 32.8 0 45.3l22.6 22.6c12.5 12.5 32.8 12.5 45.3 0l5.8-5.8c4.6 2.2 9.3 4.1 14.1 5.8V480c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32v-8.2c4.8-1.7 9.5-3.7 14.1-5.8l5.8 5.8c12.5 12.5 32.8 12.5 45.3 0l22.6-22.6c12.5-12.5 12.5-32.8 0-45.3l-5.8-5.8c2.2-4.6 4.1-9.3 5.8-14.1H320h94.8c6.5-18.5 17.5-34.9 31.6-48H352V320c0-17.7-14.3-32-32-32h-8.2c-1.7-4.8-3.7-9.5-5.8-14.1l5.8-5.8c12.5-12.5 12.5-32.8 0-45.3L296.9 208h54.6c.4 0 .7 0 1.1 0H504h80c4.4 0 8 3.6 8 8v32.7c0 7.4-3.4 14.3-9.2 18.9l-46.7 36.7c20.1 1.3 38.9 7.7 55.1 17.7l21.3-16.7c17.4-13.6 27.5-34.5 27.5-56.6V216c0-30.9-25.1-56-56-56H528V118.2c0-16.1 3.8-32.1 11-46.5l2.5-5c5.9-11.9 1.1-26.3-10.7-32.2s-26.3-1.1-32.2 10.7l-2.5 5c-10.6 21.1-16 44.4-16 68V160H368.2L318.3 35.2C309.8 13.9 289.2 0 266.3 0H152C121.1 0 96 25.1 96 56zm80 200a80 80 0 1 1 0 160 80 80 0 1 1 0-160zM528 384a40 40 0 1 1 0 80 40 40 0 1 1 0-80zm0 128a88 88 0 1 0 0-176 88 88 0 1 0 0 176z\"]\n};\nvar faDownFromBracket = {\n prefix: 'far',\n iconName: 'down-from-bracket',\n icon: [448, 512, [], \"e66b\", \"M333.8 352L224 462 114.2 352l53.8 0c13.3 0 24-10.7 24-24l0-120 64 0 0 120c0 13.3 10.7 24 24 24l53.8 0zM224 512c11.5 0 22.5-4.6 30.6-12.7L370.4 383.2c8.7-8.7 13.6-20.5 13.6-32.8c0-25.6-20.8-46.4-46.4-46.4L304 304l0-96c0-26.5-21.5-48-48-48l-64 0c-26.5 0-48 21.5-48 48l0 96-33.6 0C84.8 304 64 324.8 64 350.4c0 12.3 4.9 24.1 13.6 32.8L193.4 499.3c8.1 8.1 19.1 12.7 30.6 12.7zM400 168c0 13.3 10.7 24 24 24s24-10.7 24-24l0-80c0-48.6-39.4-88-88-88L88 0C39.4 0 0 39.4 0 88l0 80c0 13.3 10.7 24 24 24s24-10.7 24-24l0-80c0-22.1 17.9-40 40-40l272 0c22.1 0 40 17.9 40 40l0 80z\"]\n};\nvar faKeySkeleton = {\n prefix: 'far',\n iconName: 'key-skeleton',\n icon: [448, 512, [128477], \"f6f3\", \"M304 48a96 96 0 1 1 0 192 96 96 0 1 1 0-192zm0 240c79.5 0 144-64.5 144-144S383.5 0 304 0S160 64.5 160 144c0 31.1 9.9 59.9 26.6 83.4L7 407c-9.4 9.4-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47L88 393.9l47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 98.6-98.6C244.1 278.1 272.9 288 304 288z\"]\n};\nvar faTrashArrowUp = {\n prefix: 'far',\n iconName: 'trash-arrow-up',\n icon: [448, 512, [\"trash-restore\"], \"f829\", \"M170.5 51.6L151.5 80h145l-19-28.4c-1.5-2.2-4-3.6-6.7-3.6H177.1c-2.7 0-5.2 1.3-6.7 3.6zm147-26.6L354.2 80h13.7H416h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H412.4L388.4 452.7c-2.5 33.4-30.3 59.3-63.8 59.3H123.4c-33.5 0-61.3-25.9-63.8-59.3L35.6 128H24c-13.3 0-24-10.7-24-24S10.7 80 24 80h8H80.1 93.8l36.7-55.1C140.9 9.4 158.4 0 177.1 0h93.7c18.7 0 36.2 9.4 46.6 24.9zM83.7 128l23.8 321.2c.6 8.4 7.6 14.8 16 14.8H324.6c8.4 0 15.3-6.5 16-14.8L364.3 128H83.7zm154.5 65.9l64 64c7.8 7.8 7.8 20.5 0 28.3s-20.5 7.8-28.3 0L244 256.3V384c0 11-9 20-20 20s-20-9-20-20V256.3l-29.9 29.9c-7.8 7.8-20.5 7.8-28.3 0s-7.8-20.5 0-28.3l64-64c7.8-7.8 20.5-7.8 28.3 0z\"]\n};\nvar faTrashRestore = faTrashArrowUp;\nvar faArrowDownUpLock = {\n prefix: 'far',\n iconName: 'arrow-down-up-lock',\n icon: [640, 512, [], \"e4b0\", \"M145 505l96-96c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-55 55V280H416v-8c0-14.1 2.6-27.6 7.4-40H344V81.9l55 55c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L337 7c-4.5-4.5-10.6-7-17-7s-12.5 2.5-17 7l-96 96c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l55-55V232H152 104 24c-13.3 0-24 10.7-24 24s10.7 24 24 24h80V430.1L49 375c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l96 96c9.4 9.4 24.6 9.4 33.9 0zm7-313V56c0-13.3-10.7-24-24-24s-24 10.7-24 24V192h48zM296 320V456c0 13.3 10.7 24 24 24s24-10.7 24-24V320H296zm232-80c17.7 0 32 14.3 32 32v48H496V272c0-17.7 14.3-32 32-32zm-80 32v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"]\n};\nvar faArrowDownToBracket = {\n prefix: 'far',\n iconName: 'arrow-down-to-bracket',\n icon: [448, 512, [], \"e094\", \"M369 217L241 345c-9.4 9.4-24.6 9.4-33.9 0L79 217c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l87 87L200 24c0-13.3 10.7-24 24-24s24 10.7 24 24l0 246.1 87-87c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9zM48 344l0 80c0 22.1 17.9 40 40 40l272 0c22.1 0 40-17.9 40-40l0-80c0-13.3 10.7-24 24-24s24 10.7 24 24l0 80c0 48.6-39.4 88-88 88L88 512c-48.6 0-88-39.4-88-88l0-80c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faLinesLeaning = {\n prefix: 'far',\n iconName: 'lines-leaning',\n icon: [384, 512, [], \"e51e\", \"M190.6 64.1c4.5-12.5-2-26.2-14.5-30.7s-26.2 2-30.7 14.5l-144 400c-4.5 12.5 2 26.2 14.5 30.7s26.2-2 30.7-14.5l144-400zm78.1-31.7c-13-2.6-25.6 5.8-28.2 18.8l-80 400c-2.6 13 5.8 25.6 18.8 28.2s25.6-5.8 28.2-18.8l80-400c2.6-13-5.8-25.6-18.8-28.2zM360 32c-13.3 0-24 10.7-24 24V456c0 13.3 10.7 24 24 24s24-10.7 24-24V56c0-13.3-10.7-24-24-24z\"]\n};\nvar faSquareQ = {\n prefix: 'far',\n iconName: 'square-q',\n icon: [448, 512, [], \"e27b\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM144 256c0 44.2 35.8 80 80 80c13.4 0 25.9-3.3 37-9.1l-30-30c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l30 30c5.8-11.1 9.1-23.7 9.1-37c0-44.2-35.8-80-80-80s-80 35.8-80 80zm208 0c0 26.7-8.2 51.4-22.1 71.9L345 343c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-15.1-15.1c-20.5 14-45.3 22.1-71.9 22.1c-70.7 0-128-57.3-128-128s57.3-128 128-128s128 57.3 128 128z\"]\n};\nvar faRulerCombined = {\n prefix: 'far',\n iconName: 'ruler-combined',\n icon: [512, 512, [], \"f546\", \"M192 288V272 224l-64 0c-8.8 0-16-7.2-16-16s7.2-16 16-16h64V128l-64 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l64 0 0-32c0-8.8-7.2-16-16-16L64 48c-8.8 0-16 7.2-16 16l0 272 0 112c0 .6 0 1.2 .1 1.7c.8 8 7.7 14.3 15.9 14.3H176l272 0c8.8 0 16-7.2 16-16l0-112c0-8.8-7.2-16-16-16H416v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V320H320v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V320H240 224v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V320H128c-8.8 0-16-7.2-16-16s7.2-16 16-16h64zm96-16H448c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64l-272 0H64C30.9 512 3.6 486.8 .3 454.5c-.2-2.2-.3-4.3-.3-6.5V336 64C0 28.7 28.7 0 64 0H176c35.3 0 64 28.7 64 64l0 160 0 48h48z\"]\n};\nvar faSymbols = {\n prefix: 'far',\n iconName: 'symbols',\n icon: [512, 512, [128291, \"icons-alt\"], \"f86e\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48H200c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zm0 80C10.7 80 0 90.7 0 104s10.7 24 24 24H88v72c0 13.3 10.7 24 24 24s24-10.7 24-24V128h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zM464 53.3v76.2c-5.1-1-10.5-1.5-16-1.5c-35.3 0-64 21.5-64 48s28.7 48 64 48s64-21.5 64-48V43.5c0-25.2-23.1-44.2-47.8-39.2l-128 25.6C317.5 33.6 304 50 304 69.1v92.4c-5.1-1-10.5-1.5-16-1.5c-35.3 0-64 21.5-64 48s28.7 48 64 48s64-21.5 64-48V75.7L464 53.3zM505 295c-9.4-9.4-24.6-9.4-33.9 0L295 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L505 329c9.4-9.4 9.4-24.6 0-33.9zM352 320a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM480 512a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM84 256c-37.7 0-68 30.8-68 68.2c0 19.3 8.2 37.9 22.6 50.8l4.5 4-17 13C9.6 404.8 0 424.4 0 445.1v1.4C0 482.7 29.3 512 65.5 512c14.9 0 29.3-5.1 40.9-14.3l36.3-29 41.3 37.2c9.9 8.9 25 8.1 33.9-1.8s8.1-25-1.8-33.9l-35.5-31.9L215 410.7c10.4-8.3 12-23.4 3.7-33.7s-23.4-12-33.7-3.8l-40.6 32.5L118 381.9l7.9-6c16.5-12.7 26.1-32.2 26.1-53c0-36.9-29.9-66.9-66.9-66.9H84zm12.6 81.9L81.8 349.3l-11-9.9c-4.2-3.8-6.7-9.4-6.7-15.2C64 313 73.1 304 84 304h1.1c10.4 0 18.9 8.5 18.9 18.9c0 5.9-2.7 11.4-7.4 15zM55.4 430.1l24-18.4 27.1 24.4L76.4 460.2c-3.1 2.5-6.9 3.8-10.9 3.8c-9.6 0-17.5-7.8-17.5-17.5v-1.4c0-5.9 2.7-11.4 7.4-15z\"]\n};\nvar faIconsAlt = faSymbols;\nvar faCopyright = {\n prefix: 'far',\n iconName: 'copyright',\n icon: [512, 512, [169], \"f1f9\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM199.4 312.6c-31.2-31.2-31.2-81.9 0-113.1s81.9-31.2 113.1 0c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9c-50-50-131-50-181 0s-50 131 0 181s131 50 181 0c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0c-31.2 31.2-81.9 31.2-113.1 0z\"]\n};\nvar faFlaskGear = {\n prefix: 'far',\n iconName: 'flask-gear',\n icon: [640, 512, [], \"e5f1\", \"M176 48V196.8c0 20.7-5.8 41-16.6 58.7L100 352H325.8c.1 .1 .2 .1 .2 .2c-16.6 10.6-26.7 31.6-20 53.3c4 12.9 9.4 25.5 16.4 37.6s15.2 23.1 24.4 33c15.7 16.9 39.6 18.4 57.2 8.7v.9c0 6.7 1.5 13.5 4.2 19.7c-9 4.3-19 6.6-29.7 6.6H69.4C31.1 512 0 480.9 0 442.6c0-12.8 3.6-25.4 10.3-36.4L118.5 230.4c6.2-10.1 9.5-21.7 9.5-33.5V48h-8c-13.3 0-24-10.7-24-24s10.7-24 24-24h40H288h40c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8V196.8c0 11.8 3.3 23.5 9.5 33.5L336 241c-4.9 6.4-9.5 13.1-13.6 20.3c-5.2 9.1-9.6 18.4-13.1 27.9l-20.7-33.6c-10.9-17.7-16.6-38-16.6-58.7V48H176zM447.3 203.4c-6.8 1.5-11.3 7.8-11.3 14.8v17.4c0 7.9-4.9 15-11.7 18.9c-6.8 3.9-15.2 4.5-22 .6l-13.6-7.8c-6.1-3.5-13.7-2.7-18.5 2.4c-7.5 8.1-14.3 17.2-20.1 27.2s-10.3 20.4-13.5 31c-2.1 6.7 1.1 13.7 7.2 17.2l14 8.1c6.5 3.8 10.1 11 10.1 18.6s-3.5 14.8-10.1 18.6l-14 8.1c-6.1 3.5-9.2 10.5-7.2 17.2c3.3 10.6 7.8 21 13.5 31s12.5 19.1 20.1 27.2c4.8 5.1 12.5 5.9 18.5 2.4l13.5-7.8c6.8-3.9 15.2-3.3 22 .6c6.9 3.9 11.7 11 11.7 18.9l0 17.4c0 7 4.5 13.3 11.3 14.8c10.5 2.4 21.5 3.7 32.7 3.7s22.2-1.3 32.7-3.7c6.8-1.5 11.3-7.8 11.3-14.8l0-17.7c0-7.8 4.8-14.8 11.6-18.7c6.7-3.9 15.1-4.5 21.8-.6l13.8 7.9c6.1 3.5 13.7 2.7 18.5-2.4c7.6-8.1 14.3-17.2 20.1-27.2s10.3-20.4 13.5-31c2.1-6.7-1.1-13.7-7.2-17.2l-14.4-8.3c-6.5-3.7-10-10.9-10-18.4s3.5-14.7 10-18.4l14.4-8.3c6.1-3.5 9.2-10.5 7.2-17.2c-3.3-10.6-7.8-21-13.5-31s-12.5-19.1-20.1-27.2c-4.8-5.1-12.5-5.9-18.5-2.4l-13.8 7.9c-6.7 3.9-15.1 3.3-21.8-.6c-6.8-3.9-11.6-10.9-11.6-18.7V218.2c0-7-4.5-13.3-11.3-14.8c-10.5-2.4-21.5-3.7-32.7-3.7s-22.2 1.3-32.7 3.7zM480 303.7a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faHighlighterLine = {\n prefix: 'far',\n iconName: 'highlighter-line',\n icon: [576, 512, [], \"e1af\", \"M169.9 330.6l-38.1 38.1 51.5 51.5 38.1-38.1c9-9 21.2-14.1 33.9-14.1l48 0 16.2-22.5-113-113L184 248.6v48c0 12.7-5.1 24.9-14.1 33.9zm178-24.6L502.8 90.2c.8-1.1 1.2-2.4 1.2-3.7c0-1.7-.7-3.3-1.9-4.5L470 49.9c-1.2-1.2-2.8-1.9-4.5-1.9c-1.3 0-2.6 .4-3.7 1.2L246 204.1 347.9 306zM303.4 416h-48l-43.7 43.7c-10.7 10.7-26 14.1-39.5 10.1l-32.8 32.8c-6 6-14.1 9.4-22.6 9.4H32c-17.7 0-32-14.3-32-32v-4.7c0-8.5 3.4-16.6 9.4-22.6l72.8-72.8c-4-13.6-.6-28.8 10.1-39.5L136 296.6v-48c0-15.5 7.4-30 20-39L433.8 10.2C443 3.6 454.1 0 465.5 0c14.4 0 28.2 5.7 38.4 15.9l32.2 32.2c10.2 10.2 15.9 24 15.9 38.4c0 11.4-3.6 22.5-10.2 31.7L342.4 396c-9 12.6-23.5 20-39 20zm-190.7 1.3L65.9 464h44.1l24.7-24.7-22.1-22.1zM248 464H552c13.3 0 24 10.7 24 24s-10.7 24-24 24H248c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faBracketSquare = {\n prefix: 'far',\n iconName: 'bracket-square',\n icon: [192, 512, [\"bracket\", \"bracket-left\"], \"5b\", \"M0 88C0 57.1 25.1 32 56 32h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H56c-4.4 0-8 3.6-8 8V424c0 4.4 3.6 8 8 8h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H56c-30.9 0-56-25.1-56-56V88z\"]\n};\nvar faBracket = faBracketSquare;\nvar faBracketLeft = faBracketSquare;\nvar faIslandTropical = {\n prefix: 'far',\n iconName: 'island-tropical',\n icon: [512, 512, [127965, \"island-tree-palm\"], \"f811\", \"M114.3 93.7c-1.5 1.5-3.5 2.3-5.7 2.3H78.2c-8.8 0-16.1-7.2-13.8-15.8C73.6 44.8 112.8 0 190.2 0c58.4 0 95 25.5 113.5 53.2C323.6 40.6 350.2 32 384 32c77.4 0 116.6 44.8 125.8 80.2c2.2 8.6-5 15.8-13.8 15.8H451.3c-2.1 0-4.2-.8-5.7-2.3l-24-24c-3.1-3.1-8.2-3.1-11.3 0l-24 24c-1.5 1.5-3.5 2.3-5.7 2.3H319.4c3.5 15.4 7.2 35.7 9.5 59.7c4.4 45.4 3.7 104.4-13.9 167.1c57.7 12.4 101 63.7 101 125.1c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32c0-70.7 57.3-128 128-128h24.9c26-56.3 38-110.2 43.3-151.1c1.3-9.9 2.2-19 2.8-27.1l-71.8 71.8c-6.2 6.2-16.5 6.2-21-1.4c-18.5-31.6-22.5-90.9 32.3-145.7c1.4-1.4 2.8-2.7 4.1-4c-.3-.3-.7-.5-1-.8l-24-24c-3.1-3.1-8.2-3.1-11.3 0l-24 24zM237.3 352h28.5c18.5-59.2 19.5-115.9 15.3-159.7c-.6-6.1-1.3-12-2-17.5c-.7 9.6-1.7 20.5-3.3 32.4c-5.2 39.6-16 90.6-38.5 144.9zM288 400H160c-38.7 0-71 27.5-78.4 64H366.4c-7.4-36.5-39.7-64-78.4-64z\"]\n};\nvar faIslandTreePalm = faIslandTropical;\nvar faArrowRightFromLine = {\n prefix: 'far',\n iconName: 'arrow-right-from-line',\n icon: [448, 512, [8614, \"arrow-from-left\"], \"f343\", \"M48 88c0-13.3-10.7-24-24-24S0 74.7 0 88L0 424c0 13.3 10.7 24 24 24s24-10.7 24-24L48 88zM440.4 273.5c4.8-4.5 7.6-10.9 7.6-17.5s-2.7-12.9-7.6-17.5l-136-128c-9.7-9.1-24.8-8.6-33.9 1s-8.6 24.8 1 33.9L363.5 232 280 232l-128 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l128 0 83.5 0-91.9 86.5c-9.7 9.1-10.1 24.3-1 33.9s24.3 10.1 33.9 1l136-128z\"]\n};\nvar faArrowFromLeft = faArrowRightFromLine;\nvar faH2 = {\n prefix: 'far',\n iconName: 'h2',\n icon: [640, 512, [], \"f314\", \"M48 88c0-13.3-10.7-24-24-24S0 74.7 0 88V248 424c0 13.3 10.7 24 24 24s24-10.7 24-24V272H272V424c0 13.3 10.7 24 24 24s24-10.7 24-24V248 88c0-13.3-10.7-24-24-24s-24 10.7-24 24V224H48V88zm397.3 40.8C457.9 118 474 112 490.7 112h9.2c42.1 0 76.2 34.1 76.2 76.2c0 21.3-8.9 41.5-24.5 56L375.7 406.4c-7.3 6.7-9.7 17.2-6.1 26.4s12.5 15.3 22.4 15.3H616c13.3 0 24-10.7 24-24s-10.7-24-24-24H453.4L584.1 279.4c25.5-23.5 39.9-56.6 39.9-91.2C624 119.6 568.4 64 499.8 64h-9.2c-28.1 0-55.3 10.1-76.6 28.3l-29.7 25.4c-10.1 8.6-11.2 23.8-2.6 33.8s23.8 11.2 33.8 2.6l29.7-25.4z\"]\n};\nvar faEquals = {\n prefix: 'far',\n iconName: 'equals',\n icon: [448, 512, [62764], \"3d\", \"M40 144c-13.3 0-24 10.7-24 24s10.7 24 24 24H408c13.3 0 24-10.7 24-24s-10.7-24-24-24H40zm0 176c-13.3 0-24 10.7-24 24s10.7 24 24 24H408c13.3 0 24-10.7 24-24s-10.7-24-24-24H40z\"]\n};\nvar faCakeSlice = {\n prefix: 'far',\n iconName: 'cake-slice',\n icon: [512, 512, [127856, \"shortcake\"], \"e3e5\", \"M464 304v.2 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3H48V304H464zM48 416V384H464v.2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16zM296 32c-7.2 0-14.2 2.4-19.8 6.9l-264 208C4.5 252.9 0 262.2 0 272V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.6 64-64v-.2-.2-.2-.2-.2V415v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V413v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V411v-.2-.2-.2-.2V410v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V406v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V401v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V398v-.2-.2-.2-.2-.2-.2-.2-.2V396v-.2-.2-.2-.2-.2-.2-.2-.2V394v-.2-.2-.2V393v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V390v-.2-.2-.2V389v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.3-.2-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3V379v-.3-.3-.3V378v-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3V374v-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3V371v-.3-.3-.3-.3-.3-.3V369v-.3-.3-.3-.3-.3-.3V367v-.3-.3-.3-.3-.3-.3V365v-.3-.3-.3-.3-.3-.3V363v-.3-.3-.3-.3-.3-.3-.3-.3-.3V360v-.3-.3-.3-.3-.3-.3-.3-.3-.3V357v-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3V353v-.3-.3V352v-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3V346v-.3-.3V345v-.3-.3V344v-.3-.3V343v-.3-.3V342v-.3-.3V341v-.3-.3V340v-.3-.3V339v-.3-.3V338v-.3-.3V337v-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.4-.4-.4V330v-.4-.4V329v-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4V325v-.4-.4V324v-.4-.4-.4-.4-.4-.4-.4V321v-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4V312v-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4V307v-.4-.4-.4-.4V305v-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4V297v-.4-.4-.4-.4V295v-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4V290v-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4V285v-.4-.4-.4-.4-.4-.4V282v-.4-.4-.4-.4-.4-.4V279v-.4-.4-.4-.4-.4-.4-.4-.4V275v-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.5V267v-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5V262v-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5V256c0-74.3-32.8-130.8-76.1-168.2C393.6 51.2 340.3 32 296 32z\"]\n};\nvar faShortcake = faCakeSlice;\nvar faBuildingMagnifyingGlass = {\n prefix: 'far',\n iconName: 'building-magnifying-glass',\n icon: [603, 512, [], \"e61c\", \"M60.6 45.2H301.5c8.3 0 15.1 6.7 15.1 15.1V193.6c13-12.7 28.3-23.1 45.2-30.5V60.2C361.7 27 334.8 0 301.5 0H60.6C27.3 0 .3 27 .3 60.2V421.6c0 33.3 27 60.2 60.2 60.2H301.5c27.5 0 50.7-18.5 57.9-43.7c-16-7.3-30.5-17.3-42.9-29.5v12.9c0 8.3-6.7 15.1-15.1 15.1H226.2V376.5c0-24.9-20.2-45.2-45.2-45.2s-45.2 20.2-45.2 45.2v60.2H60.6c-8.3 0-15.1-6.7-15.1-15.1V60.2c0-8.3 6.7-15.1 15.1-15.1zM278.9 218.4c0-8.3-6.7-15.1-15.1-15.1H218.7c-8.3 0-15.1 6.7-15.1 15.1v45.2c0 8.3 6.7 15.1 15.1 15.1h45.2c3.7 0 7.2-1.4 9.8-3.6c1.3-7.2 3-14.2 5.3-20.9V218.4zM83.1 97.9v45.2c0 8.3 6.7 15.1 15.1 15.1h45.2c8.3 0 15.1-6.7 15.1-15.1V97.9c0-8.3-6.7-15.1-15.1-15.1H98.2c-8.3 0-15.1 6.7-15.1 15.1zM218.7 82.8c-8.3 0-15.1 6.7-15.1 15.1v45.2c0 8.3 6.7 15.1 15.1 15.1h45.2c8.3 0 15.1-6.7 15.1-15.1V97.9c0-8.3-6.7-15.1-15.1-15.1H218.7zM83.1 218.4v45.2c0 8.3 6.7 15.1 15.1 15.1h45.2c8.3 0 15.1-6.7 15.1-15.1V218.4c0-8.3-6.7-15.1-15.1-15.1H98.2c-8.3 0-15.1 6.7-15.1 15.1zM422 226a75.3 75.3 0 1 1 0 150.6A75.3 75.3 0 1 1 422 226zm0 195.8c25.1 0 48.4-7.7 67.7-20.8l74.4 74.4c8.8 8.8 23.1 8.8 31.9 0s8.8-23.1 0-31.9L521.6 369c13.1-19.3 20.8-42.6 20.8-67.7c0-66.5-53.9-120.5-120.5-120.5s-120.5 53.9-120.5 120.5s53.9 120.5 120.5 120.5z\"]\n};\nvar faPeanut = {\n prefix: 'far',\n iconName: 'peanut',\n icon: [512, 512, [], \"e430\", \"M435 218.4c18-18.1 29-42.9 29-70.4V80c0-17.7-14.3-32-32-32H364c-13.6 0-26.5 2.7-38.3 7.6l0 0c-11.7 4.8-22.7 12-32.3 21.6l-.3 .3 0 0c-9.6 9.6-16.7 20.6-21.5 32.2l0 0c-2.7 6.4-4.7 13.2-5.9 20.2l-.1 .4-.1 .4c-5.3 26.6-15.3 63.2-43.4 91.3s-64.7 38.2-91.3 43.4l-.4 .1-.4 .1c-7 1.3-13.8 3.3-20.2 5.9l0 0C98 276.4 87 283.6 77.3 293.3c-9.7 9.7-16.9 20.7-21.7 32.4l0 0C50.7 337.5 48 350.4 48 364v68c0 17.7 14.3 32 32 32h68c27.4 0 52.1-10.9 70.2-28.7l32.7 33.2-32.7-33.2c.4-.4 .8-.7 1.1-1.1l0 0c9.4-9.5 16.4-20.4 21.1-31.9l0 0c2.7-6.4 4.7-13.2 5.9-20.2l.1-.4 .1-.4c5.3-26.6 15.3-63.2 43.4-91.3s64.7-38.2 91.3-43.4l.4-.1 .4-.1c7-1.3 13.8-3.3 20.2-5.9l0 0c11.6-4.8 22.6-11.9 32.2-21.4l0 0 .6-.6 0 0zM512 148c0 40.6-16.4 77.4-42.9 104.2l-.9 .9c-14.1 14-30.3 24.6-47.6 31.7c-9.5 4-19.6 6.9-30 8.8c-24.5 4.8-49.1 12.6-66.7 30.3s-25.4 42.2-30.3 66.7c-1.9 10.4-4.9 20.5-8.8 30c-7.1 17.1-17.5 33.2-31.3 47.2c-.5 .6-1.1 1.1-1.7 1.7C225.1 495.8 188.5 512 148 512H80c-44.2 0-80-35.8-80-80V364c0-20.1 4-39.2 11.2-56.7c7.2-17.5 17.9-33.8 32.1-48c14.2-14.2 30.6-24.9 48.1-32.1c9.5-4 19.6-6.9 30-8.8c24.5-4.8 49.1-12.6 66.7-30.3s25.4-42.2 30.3-66.7c1.9-10.4 4.9-20.5 8.8-30C234.4 74 245 57.8 259.1 43.6l.4-.4c14.2-14.1 30.5-24.8 47.8-32C324.8 4 343.9 0 364 0h68c44.2 0 80 35.8 80 80v68zM372.8 136a19.2 19.2 0 1 1 38.4 0 19.2 19.2 0 1 1 -38.4 0zm-64 64a19.2 19.2 0 1 1 38.4 0 19.2 19.2 0 1 1 -38.4 0zm-192 192a19.2 19.2 0 1 1 38.4 0 19.2 19.2 0 1 1 -38.4 0zM200 372.8a19.2 19.2 0 1 1 0 38.4 19.2 19.2 0 1 1 0-38.4zM372.8 200a19.2 19.2 0 1 1 38.4 0 19.2 19.2 0 1 1 -38.4 0zM200 308.8a19.2 19.2 0 1 1 0 38.4 19.2 19.2 0 1 1 0-38.4z\"]\n};\nvar faWrenchSimple = {\n prefix: 'far',\n iconName: 'wrench-simple',\n icon: [384, 512, [], \"e2d1\", \"M133 10.3c6.9 4.4 11 12 11 20.2V150.1l48 48 48-48V30.5c0-8.2 4.2-15.8 11-20.2s15.5-5 23-1.6C338.3 38.2 384 98.5 384 176c0 64.3-31.6 121.1-80 156V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V319.1c0-8.3 4.3-16.1 11.4-20.4C308.6 273.3 336 227.8 336 176c0-42.2-18.3-77.7-48-102.4V160c0 6.4-2.5 12.5-7 17l-72 72c-4.5 4.5-10.6 7-17 7s-12.5-2.5-17-7l-72-72c-4.5-4.5-7-10.6-7-17V73.6C66.3 98.3 48 133.8 48 176c0 51.8 27.4 97.3 68.6 122.7c7.1 4.4 11.4 12.1 11.4 20.4V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V332C31.6 297.1 0 240.3 0 176C0 98.5 45.7 38.2 110 8.7c7.4-3.4 16.1-2.8 23 1.6z\"]\n};\nvar faBlender = {\n prefix: 'far',\n iconName: 'blender',\n icon: [512, 512, [], \"f517\", \"M0 80C0 35.8 35.8 0 80 0h48 32 16.2H471c20.8 0 36.1 19.6 31 39.8L425.6 345.5C457.8 361 480 393.9 480 432v16c0 35.3-28.7 64-64 64H160c-35.3 0-64-28.7-64-64V432c0-40.5 25.1-75.1 60.6-89.2L149.3 256H80c-44.2 0-80-35.8-80-80V80zM144 432v16c0 8.8 7.2 16 16 16H416c8.8 0 16-7.2 16-16V432c0-26.5-21.5-48-48-48H192c-26.5 0-48 21.5-48 48zM406.5 224H304c-8.8 0-16-7.2-16-16s7.2-16 16-16H414.5l16-64H304c-8.8 0-16-7.2-16-16s7.2-16 16-16H438.5l12-48H180.2l24 288H378.5l28-112zM80 48C62.3 48 48 62.3 48 80v96c0 17.7 14.3 32 32 32h65.3L132 48H80zM288 400a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faTeeth = {\n prefix: 'far',\n iconName: 'teeth',\n icon: [576, 512, [], \"f62e\", \"M96 80c-26.5 0-48 21.5-48 48v45.4C63.9 150.8 90.2 136 120 136c15.2 0 29.5 3.9 42 10.7c16.1-21.1 41.4-34.7 70-34.7c21.3 0 40.8 7.5 56 20.1c15.2-12.6 34.7-20.1 56-20.1c28.5 0 53.9 13.6 70 34.7c12.5-6.8 26.8-10.7 42-10.7c29.8 0 56.1 14.8 72 37.4V128c0-26.5-21.5-48-48-48H96zM48 362.6V384c0 26.5 21.5 48 48 48H480c26.5 0 48-21.5 48-48V362.6c-15.9 22.6-42.2 37.4-72 37.4c-21.3 0-40.8-7.5-56-20.1c-15.2 12.6-34.7 20.1-56 20.1s-40.8-7.5-56-20.1c-15.2 12.6-34.7 20.1-56 20.1s-40.8-7.5-56-20.1c-15.2 12.6-34.7 20.1-56 20.1c-29.8 0-56.1-14.8-72-37.4zM0 128C0 75 43 32 96 32H480c53 0 96 43 96 96V384c0 53-43 96-96 96H96c-53 0-96-43-96-96V128zm192 72v24 16c0 .7 0 1.3 .1 2c.9 7.2 6.6 13 13.9 13.9c.7 .1 1.3 .1 2 .1h48c.7 0 1.3 0 2-.1c7.2-.9 13-6.6 13.9-13.9c.1-.7 .1-1.3 .1-2V200c0-10.9-4.4-20.8-11.4-28c-7.3-7.4-17.4-12-28.6-12c-15.2 0-28.4 8.5-35.2 21c-3.1 5.7-4.8 12.1-4.8 19zm64 88H208c-.7 0-1.3 0-2 .1c-7.2 .9-13 6.6-13.9 13.9c-.1 .7-.1 1.3-.1 2v8c0 10.9 4.4 20.8 11.4 28c7.3 7.4 17.4 12 28.6 12s21.3-4.6 28.6-12c7.1-7.2 11.4-17.1 11.4-28v-8c0-.7 0-1.3-.1-2c-.9-7.2-6.6-13-13.9-13.9c-.7-.1-1.3-.1-2-.1zm48 16v8c0 10.9 4.4 20.8 11.4 28c7.3 7.4 17.4 12 28.6 12s21.3-4.6 28.6-12c7.1-7.2 11.4-17.1 11.4-28v-8c0-.7 0-1.3-.1-2c-.9-7.2-6.6-13-13.9-13.9c-.6-.1-1.3-.1-2-.1H320c-.7 0-1.3 0-2 .1c-7.2 .9-13 6.6-13.9 13.9c-.1 .7-.1 1.3-.1 2zm16-48h48c.7 0 1.3 0 2-.1c7.3-.9 13-6.6 13.9-13.9c.1-.7 .1-1.3 .1-2V224 200c0-6.9-1.7-13.4-4.8-19c-6.8-12.5-20-21-35.2-21c-11.2 0-21.3 4.6-28.6 12c-7.1 7.2-11.4 17.1-11.4 28v40c0 .7 0 1.3 .1 2c.9 7.2 6.6 13 13.9 13.9c.7 .1 1.3 .1 2 .1zm110-.1c.6 .1 1.3 .1 2 .1h48c8.2 0 14.9-6.1 15.9-14c.1-.7 .1-1.3 .1-2V224c0-22.1-17.9-40-40-40c-9.2 0-17.6 3.1-24.3 8.3c-2.9 2.2-5.5 4.8-7.7 7.7c-5 6.7-8 15-8 24v16c0 .7 0 1.3 .1 2c.9 7.2 6.6 13 13.9 13.9zM416.1 302c-.1 .7-.1 1.3-.1 2v8c0 10.9 4.4 20.8 11.4 28c7.3 7.4 17.4 12 28.6 12c22.1 0 40-17.9 40-40v-8c0-.7 0-1.3-.1-2c-1-7.9-7.7-14-15.9-14H432c-.7 0-1.3 0-2 .1c-7.3 .9-13 6.6-13.9 13.9zM146 288.1c-.7-.1-1.3-.1-2-.1H96c-8.2 0-14.9 6.1-15.9 14c-.1 .7-.1 1.3-.1 2v8c0 22.1 17.9 40 40 40c11.2 0 21.3-4.6 28.6-12c7.1-7.2 11.4-17.1 11.4-28v-8c0-.7 0-1.3-.1-2c-.9-7.2-6.6-13-13.9-13.9zM159.9 242c.1-.7 .1-1.3 .1-2V224c0-9-3-17.3-8-24c-2.2-2.9-4.8-5.5-7.7-7.7c-6.7-5.2-15.2-8.3-24.3-8.3c-22.1 0-40 17.9-40 40v16c0 .7 0 1.3 .1 2c1 7.9 7.7 14 15.9 14h48c.7 0 1.3 0 2-.1c7.2-.9 13-6.6 13.9-13.9z\"]\n};\nvar faTally2 = {\n prefix: 'far',\n iconName: 'tally-2',\n icon: [640, 512, [], \"e295\", \"M152 64c0-13.3-10.7-24-24-24s-24 10.7-24 24V448c0 13.3 10.7 24 24 24s24-10.7 24-24V64zm128 0c0-13.3-10.7-24-24-24s-24 10.7-24 24V448c0 13.3 10.7 24 24 24s24-10.7 24-24V64z\"]\n};\nvar faShekelSign = {\n prefix: 'far',\n iconName: 'shekel-sign',\n icon: [448, 512, [8362, \"ils\", \"shekel\", \"sheqel\", \"sheqel-sign\"], \"f20b\", \"M40 32C26.7 32 16 42.7 16 56V456c0 13.3 10.7 24 24 24s24-10.7 24-24V80H184c39.8 0 72 32.2 72 72V336c0 13.3 10.7 24 24 24s24-10.7 24-24V152c0-66.3-53.7-120-120-120H40zM312 480c66.3 0 120-53.7 120-120V56c0-13.3-10.7-24-24-24s-24 10.7-24 24V360c0 39.8-32.2 72-72 72H192V184c0-13.3-10.7-24-24-24s-24 10.7-24 24V456c0 13.3 10.7 24 24 24H312z\"]\n};\nvar faIls = faShekelSign;\nvar faShekel = faShekelSign;\nvar faSheqel = faShekelSign;\nvar faSheqelSign = faShekelSign;\nvar faCars = {\n prefix: 'far',\n iconName: 'cars',\n icon: [640, 512, [], \"f85b\", \"M137.8 48H278.2c10.1 0 19.2 6.4 22.6 15.9L317.9 112H98.1l17.2-48.1c3.4-9.6 12.5-15.9 22.6-15.9zM41.4 127.9c-.2 .5-.3 .9-.5 1.4C16.2 146.7 0 175.5 0 208v32 16 32 40c0 13.3 10.7 24 24 24s24-10.7 24-24V288H220.1c5.3-6.6 11.3-12.7 17.8-18.2L248.5 240H48V208c0-26.5 21.5-48 48-48H286.8c19.2-20 46.1-32 75.1-32h12.8l0-.1L346 47.8C335.7 19.1 308.6 0 278.2 0H137.8C107.4 0 80.3 19.1 70 47.8L41.4 127.9zM112 224a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm249.8-16H502.2c10.1 0 19.2 6.4 22.6 15.9L541.9 272H322.1l17.2-48.1c3.4-9.6 12.5-15.9 22.6-15.9zm-96.4 79.9c-.2 .5-.3 .9-.5 1.4C240.2 306.7 224 335.5 224 368v32 16 32 40c0 13.3 10.7 24 24 24s24-10.7 24-24V448H592v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448 416 400 368c0-32.5-16.2-61.3-40.9-78.7c-.1-.5-.3-.9-.5-1.4L570 207.8c-10.2-28.7-37.4-47.8-67.8-47.8H361.8c-30.4 0-57.6 19.1-67.8 47.8l-28.6 80.1zM544 320c26.5 0 48 21.5 48 48v32H272V368c0-26.5 21.5-48 48-48H544zM336 384a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm216-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faAxeBattle = {\n prefix: 'far',\n iconName: 'axe-battle',\n icon: [512, 512, [], \"f6b3\", \"M120.8 70.4c15 20 39.3 40.8 79.2 51.1v49.2c-57.2-11.6-94.4-40.5-117.6-71.5c-3.1-4.2-6.2-8.6-9.2-13.3C57.2 119.3 48 156.7 48 192c0 36.8 10 76.1 27.4 110.7c4.4-6.6 9-12.9 13.8-18.8l37.3 30.3c-13.6 16.8-25 36.8-30.9 57.8c-1.5 5.8-6.1 10.4-11.9 11.7s-12-.7-15.8-5.3c-4.4-5.3-8.7-10.9-12.8-16.6l-1-1.4c-1.1-1.6-2.3-3.3-3.4-4.9l-.2-.3C18.6 307.4 0 247.9 0 192C0 136.2 18.5 77.4 50 29.8l.7-1c2.1-3.1 4.2-6.1 6.3-9.1l.5-.7c3.3-4.5 6.7-8.9 10.2-13.2C71.8 .9 78.4-1.1 84.5 .7c6.1 1.8 10.5 7 11.3 13.3c.9 6.4 2.6 12.8 4.7 19l.2 .6c.6 1.7 1.2 3.3 1.9 5l.1 .2c4.6 11.4 11 22.2 18 31.7zm5.6 243.7L89.2 283.8c23.4-28.8 59.1-57.3 110.8-69.5V264c-34.2 10.7-57.6 30.4-73.6 50.1zM312 170.7V121.5c40-10.3 64.3-31.1 79.3-51.1c7.1-9.5 13.4-20.3 18-31.7l.1-.2c.7-1.6 1.3-3.3 1.9-5l.2-.6c2.2-6.2 3.8-12.6 4.7-19c.8-6.3 5.3-11.5 11.3-13.3c6.1-1.8 12.7 .2 16.8 5.1c3.5 4.3 6.9 8.7 10.2 13.2l.5 .7c2.2 3 4.3 6 6.3 9.1l.7 1c27.1 41.1 44.6 90.5 48.9 139.2L488 192l23.1 23.1c-4.3 48.9-22 98.9-49.4 140l-.2 .3c-1.1 1.7-2.2 3.3-3.4 4.9l-1 1.4c-4.1 5.7-8.3 11.3-12.8 16.6c-3.9 4.6-10 6.6-15.8 5.3s-10.5-5.9-11.9-11.7c-5.9-21-17.3-41-30.9-57.8c-15.9-19.6-39.4-39.4-73.7-50.1V214.3c51.7 12.3 87.5 40.7 110.9 69.5c4.8 5.9 9.4 12.2 13.8 18.8c11.1-22.1 19.3-46.2 23.6-70.4l-6.3-6.3c-18.7-18.7-18.7-49.1 0-67.9l6.3-6.3c-4.1-22.6-11.5-45-21.5-65.9c-3 4.7-6 9.2-9.2 13.3c-23.2 31-60.5 59.9-117.7 71.5zM280 56V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V56c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faUserHairLong = {\n prefix: 'far',\n iconName: 'user-hair-long',\n icon: [448, 512, [], \"e45b\", \"M304 128c0-11.4-2.4-22.2-6.7-32H296c-20.5 0-38.7-9.6-50.4-24.5C231.9 95.7 205.8 112 176 112H145.6c-1 5.2-1.6 10.5-1.6 16v16c0 44.2 35.8 80 80 80s80-35.8 80-80V128zM96 128C96 57.3 153.3 0 224 0s128 57.3 128 128v11c0 33.9 13.5 66.5 37.5 90.5l3.9 3.9c4.2 4.2 6.6 10 6.6 16c0 12.5-10.1 22.6-22.6 22.6H224 70.6C58.1 272 48 261.9 48 249.4c0-6 2.4-11.8 6.6-16l3.9-3.9c24-24 37.5-56.6 37.5-90.5V128zM49.3 464H398.7c-8.3-54.4-55.3-96-112-96H161.3c-56.7 0-103.6 41.6-112 96zM0 481.3C0 392.2 72.2 320 161.3 320H286.7C375.8 320 448 392.2 448 481.3c0 17-13.8 30.7-30.7 30.7H30.7C13.8 512 0 498.2 0 481.3z\"]\n};\nvar faMap = {\n prefix: 'far',\n iconName: 'map',\n icon: [576, 512, [128506, 62072], \"f279\", \"M565.6 36.2C572.1 40.7 576 48.1 576 56V392c0 10-6.2 18.9-15.5 22.4l-168 64c-5.2 2-10.9 2.1-16.1 .3L192.5 417.5l-160 61c-7.4 2.8-15.7 1.8-22.2-2.7S0 463.9 0 456V120c0-10 6.1-18.9 15.5-22.4l168-64c5.2-2 10.9-2.1 16.1-.3L383.5 94.5l160-61c7.4-2.8 15.7-1.8 22.2 2.7zM48 136.5V421.2l120-45.7V90.8L48 136.5zM360 422.7V137.3l-144-48V374.7l144 48zm48-1.5l120-45.7V90.8L408 136.5V421.2z\"]\n};\nvar faArrowLeftFromArc = {\n prefix: 'far',\n iconName: 'arrow-left-from-arc',\n icon: [512, 512, [], \"e615\", \"M464 256c0-114.9-93.1-208-208-208c-13.3 0-24-10.7-24-24s10.7-24 24-24C397.4 0 512 114.6 512 256s-114.6 256-256 256c-13.3 0-24-10.7-24-24s10.7-24 24-24c114.9 0 208-93.1 208-208zM119.7 134.4c9.7-9 24.9-8.5 33.9 1.3s8.5 24.9-1.3 33.9L85.1 232H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H85.1l67.2 62.4c9.7 9 10.3 24.2 1.3 33.9s-24.2 10.3-33.9 1.3l-112-104C2.8 269 0 262.7 0 256s2.8-13 7.7-17.6l112-104z\"]\n};\nvar faFileCircleInfo = {\n prefix: 'far',\n iconName: 'file-circle-info',\n icon: [576, 512, [58604], \"e493\", \"M64 464H284.5c12 18.4 27.4 34.5 45.3 47.3c-3.2 .5-6.4 .7-9.7 .7H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3v44.1c-17.2 4.9-33.4 12.3-48 21.8V160H256c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16zM432 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm0 96a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm-32 48c0 8.8 7.2 16 16 16h0v48h0c-8.8 0-16 7.2-16 16s7.2 16 16 16h16 16c8.8 0 16-7.2 16-16s-7.2-16-16-16V368c0-8.8-7.2-16-16-16H416c-8.8 0-16 7.2-16 16z\"]\n};\nvar faFaceDisappointed = {\n prefix: 'far',\n iconName: 'face-disappointed',\n icon: [512, 512, [], \"e36f\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM294.5 408.4c-7.4-7.9-20-16.4-38.5-16.4s-31.1 8.5-38.5 16.4c-9 9.7-24.2 10.2-33.9 1.2s-10.2-24.2-1.2-33.9C196.7 360.3 221.4 344 256 344s59.3 16.3 73.5 31.6c9 9.7 8.5 24.9-1.2 33.9s-24.9 8.5-33.9-1.2zM211.3 267.3l-7.4 7.4c-23.6 23.6-53.9 39.2-86.8 44.7l-2.5 .4c-8.7 1.5-17-4.4-18.4-13.2s4.4-17 13.2-18.4l2.5-.4c26.3-4.4 50.6-16.9 69.5-35.7l7.4-7.4c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zm89.4 0c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l7.4 7.4c18.9 18.9 43.2 31.4 69.5 35.7l2.5 .4c8.7 1.5 14.6 9.7 13.2 18.4s-9.7 14.6-18.4 13.2l-2.5-.4c-32.9-5.5-63.3-21.1-86.8-44.7l-7.4-7.4z\"]\n};\nvar faLassoSparkles = {\n prefix: 'far',\n iconName: 'lasso-sparkles',\n icon: [576, 512, [], \"e1c9\", \"M290.7 0L288 0C128.9 0 0 78.8 0 176c0 60.6 50.2 114.1 126.6 145.8l44.3 20.5c22.6 10.4 37.1 33 37.1 57.9c0 35.2-28.6 63.8-63.8 63.8H56c-13.3 0-24 10.7-24 24s10.7 24 24 24h88.2C205.9 512 256 461.9 256 400.2c0-17.8-4.2-34.9-11.9-50.2c14.3 1.3 29 2 43.9 2c159.1 0 288-78.8 288-176c0-76.4-79.6-141.4-191-165.8l5.6 15.1 26 9.6C435.5 42 448 59.9 448 80l0 .6c49.1 23.4 80 57.5 80 95.4c0 70.7-107.5 128-240 128S48 246.7 48 176c0-60.7 79.2-111.5 185.5-124.7c5.4-7.3 12.9-13 21.8-16.3l26-9.6L290.7 0zM351 10.4C348.7 4.2 342.7 0 336 0s-12.7 4.2-15 10.4L306.3 50.3 266.4 65c-6.3 2.3-10.4 8.3-10.4 15s4.2 12.7 10.4 15l39.8 14.7L321 149.6c2.3 6.3 8.3 10.4 15 10.4s12.7-4.2 15-10.4l14.7-39.8L405.6 95c6.3-2.3 10.4-8.3 10.4-15s-4.2-12.7-10.4-15L365.7 50.3 351 10.4zM496 352c-6.7 0-12.7 4.2-15 10.4l-14.7 39.8L426.4 417c-6.3 2.3-10.4 8.3-10.4 15s4.2 12.7 10.4 15l39.8 14.7L481 501.6c2.3 6.3 8.3 10.4 15 10.4s12.7-4.2 15-10.4l14.7-39.8L565.6 447c6.3-2.3 10.4-8.3 10.4-15s-4.2-12.7-10.4-15l-39.8-14.7L511 362.4c-2.3-6.3-8.3-10.4-15-10.4z\"]\n};\nvar faClockEleven = {\n prefix: 'far',\n iconName: 'clock-eleven',\n icon: [512, 512, [], \"e347\", \"M464 256A208 208 0 1 1 48 256a208 208 0 1 1 416 0zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM232 120v56.7l-20-30c-7.4-11-22.3-14-33.3-6.7s-14 22.3-6.7 33.3l64 96c5.9 8.8 16.8 12.7 26.9 9.7s17-12.4 17-23V120c0-13.3-10.7-24-24-24s-24 10.7-24 24z\"]\n};\nvar faRocket = {\n prefix: 'far',\n iconName: 'rocket',\n icon: [512, 512, [], \"f135\", \"M368.3 265c-44.5 30.1-129.3 68.2-175.7 88l-35-35c20.4-46.1 59.2-130 89.3-174.4C309.1 52 398.4 41.8 461.7 50.3c8.5 63.3-1.7 152.6-93.3 214.7zM118.5 288c-3.6 8-6.8 15.2-9.4 21.2c-5.2 11.9-2.5 25.7 6.7 34.9l50.7 50.7c9.1 9.1 22.7 11.9 34.5 6.9c6.5-2.7 14.3-6 23-9.8l0 96.2c0 8.6 4.6 16.6 12.1 20.9s16.7 4.2 24.1-.2l88.5-52.5c21.9-13 35.3-36.5 35.3-61.9V312.1c4-2.5 7.7-4.9 11.3-7.3C516.1 222.9 520.1 100.9 506.7 28.1c-2.1-11.6-11.2-20.6-22.8-22.8C411.1-8.1 289.1-4.1 207.2 116.7c-2.4 3.6-4.9 7.3-7.3 11.3l-82.1 0c-25.4 0-49 13.4-61.9 35.3L3.4 251.8c-4.4 7.4-4.5 16.6-.2 24.1S15.4 288 24 288h94.5zM408 144a40 40 0 1 0 -80 0 40 40 0 1 0 80 0z\"]\n};\nvar faSirenOn = {\n prefix: 'far',\n iconName: 'siren-on',\n icon: [640, 512, [], \"e02e\", \"M69.3 36l48 32c11 7.4 14 22.3 6.7 33.3s-22.3 14-33.3 6.7l-48-32c-11-7.4-14-22.3-6.7-33.3s22.3-14 33.3-6.7zM597.3 76l-48 32c-11 7.4-25.9 4.4-33.3-6.7s-4.4-25.9 6.7-33.3l48-32c11-7.4 25.9-4.4 33.3 6.7s4.4 25.9-6.7 33.3zM24 192H88c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24zm528 0h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H552c-13.3 0-24-10.7-24-24s10.7-24 24-24zM490 304H441.6L423.4 158c-1-8-7.8-14-15.9-14h-175c-8.1 0-14.9 6-15.9 14L198.4 304H150l19-151.9c4-32 31.2-56.1 63.5-56.1h175c32.3 0 59.5 24 63.5 56.1L490 304zm-246.1 0l12.2-98c1.1-8.8 9.1-15 17.9-13.9s15 9.1 13.9 17.9l-11.8 94H243.9zM496 384H144v48H496V384zM144 336H496c26.5 0 48 21.5 48 48v48c0 26.5-21.5 48-48 48H144c-26.5 0-48-21.5-48-48V384c0-26.5 21.5-48 48-48z\"]\n};\nvar faClockTen = {\n prefix: 'far',\n iconName: 'clock-ten',\n icon: [512, 512, [], \"e354\", \"M464 256A208 208 0 1 1 48 256a208 208 0 1 1 416 0zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM232 120v91.2L173.3 172c-11-7.4-25.9-4.4-33.3 6.7s-4.4 25.9 6.7 33.3l96 64c7.4 4.9 16.8 5.4 24.6 1.2S280 264.9 280 256V120c0-13.3-10.7-24-24-24s-24 10.7-24 24z\"]\n};\nvar faCandleHolder = {\n prefix: 'far',\n iconName: 'candle-holder',\n icon: [448, 512, [128367], \"f6bc\", \"M128 112c0 17.7 14.3 32 32 32s32-14.3 32-32c0-3.2-3.6-14.8-17.4-33.6c-4.7-6.4-9.8-12.5-14.6-18.1c-4.9 5.5-9.9 11.7-14.6 18.1C131.6 97.2 128 108.8 128 112zm32 80c-44.2 0-80-35.8-80-80c0-39.6 49.1-90.1 66.2-106.6C149.9 1.9 154.8 0 160 0s10.1 1.9 13.8 5.4C190.9 21.9 240 72.4 240 112c0 44.2-35.8 80-80 80zm-32 80H96V464H224V272H176v56c0 13.3-10.7 24-24 24s-24-10.7-24-24V272zM48 464V272c0-26.5 21.5-48 48-48H224c26.5 0 48 21.5 48 48V464h36.1c-2.7-7.5-4.1-15.6-4.1-24c0-39.8 32.2-72 72-72s72 32.2 72 72c0 39.7-32.2 71.9-71.8 72l-.1 0H376 272 224 96 48 24c-13.3 0-24-10.7-24-24s10.7-24 24-24H48zm352-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faVideoArrowDownLeft = {\n prefix: 'far',\n iconName: 'video-arrow-down-left',\n icon: [576, 512, [], \"e2c8\", \"M320 112c8.8 0 16 7.2 16 16V384c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V128c0-8.8 7.2-16 16-16H320zM64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V351 161 128c0-35.3-28.7-64-64-64H64zm464 84.6V363.4L416 313v52.6l104.3 46.9c5.1 2.3 10.6 3.5 16.2 3.5c21.8 0 39.5-17.7 39.5-39.5v-241c0-21.8-17.7-39.5-39.5-39.5c-5.6 0-11.1 1.2-16.2 3.5L416 146.4V199l112-50.4zM232 352c13.3 0 24-10.7 24-24s-10.7-24-24-24H177.9L281 201c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-103 103V216c0-13.3-10.7-24-24-24s-24 10.7-24 24V328c0 13.3 10.7 24 24 24H232z\"]\n};\nvar faPhotoFilm = {\n prefix: 'far',\n iconName: 'photo-film',\n icon: [640, 512, [\"photo-video\"], \"f87c\", \"M256 48c-8.8 0-16 7.2-16 16V288c0 8.7 6.9 15.8 15.6 16l69.1-94.2c4.5-6.2 11.7-9.8 19.4-9.8s14.8 3.6 19.4 9.8L380 232.4l56-85.6c4.4-6.8 12-10.9 20.1-10.9s15.7 4.1 20.1 10.9L578.7 303.8c7.6-1.3 13.3-7.9 13.3-15.8V64c0-8.8-7.2-16-16-16H256zM192 64c0-35.3 28.7-64 64-64H576c35.3 0 64 28.7 64 64V288c0 35.3-28.7 64-64 64H256c-35.3 0-64-28.7-64-64V64zm-56 64h24v48 88V376v8 80H352V384h48v80h48c8.8 0 16-7.2 16-16V384h48v64c0 35.3-28.7 64-64 64H400 376 352 160 136 112 64c-35.3 0-64-28.7-64-64V192c0-35.3 28.7-64 64-64h48 24zm-24 48H64c-8.8 0-16 7.2-16 16v48h64V176zm0 288V400H48v48c0 8.8 7.2 16 16 16h48zM48 352h64V288H48v64zM304 80a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faPhotoVideo = faPhotoFilm;\nvar faFloppyDiskCircleArrowRight = {\n prefix: 'far',\n iconName: 'floppy-disk-circle-arrow-right',\n icon: [576, 512, [\"save-circle-arrow-right\"], \"e180\", \"M48 96V416c0 8.8 7.2 16 16 16H268c6.9 17.5 16.4 33.7 28.2 48H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H309.5c17 0 33.3 6.7 45.3 18.7l74.5 74.5-33.9 33.9L320.8 84.7c-.3-.3-.5-.5-.8-.8V184c0 13.3-10.7 24-24 24H104c-13.3 0-24-10.7-24-24V80H64c-8.8 0-16 7.2-16 16zm381.3 29.3c12 12 18.7 28.3 18.7 45.3v22.2c-5.3-.5-10.6-.7-16-.7c-10.9 0-21.6 1-32 2.9V170.5c0-4.2-1.7-8.3-4.7-11.3l33.9-33.9zM256 368c0 2.5 .1 4.9 .2 7.4c-9.4 5.5-20.4 8.6-32.2 8.6c-35.3 0-64-28.7-64-64s28.7-64 64-64c22.1 0 41.6 11.2 53.1 28.3C263.7 309.2 256 337.7 256 368zM128 80v80H272V80H128zM288 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm140.7-67.3c-6.2 6.2-6.2 16.4 0 22.6L457.4 352H368c-8.8 0-16 7.2-16 16s7.2 16 16 16h89.4l-28.7 28.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l56-56c6.2-6.2 6.2-16.4 0-22.6l-56-56c-6.2-6.2-16.4-6.2-22.6 0z\"]\n};\nvar faSaveCircleArrowRight = faFloppyDiskCircleArrowRight;\nvar faFolderMinus = {\n prefix: 'far',\n iconName: 'folder-minus',\n icon: [512, 512, [], \"f65d\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H289.9L247 53.1C233.5 39.6 215.2 32 196.1 32H64zM48 96c0-8.8 7.2-16 16-16H196.1c6.4 0 12.5 2.5 17 7l45.3 45.3c7.5 7.5 17.7 11.7 28.3 11.7H448c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96zM184 272c-13.3 0-24 10.7-24 24s10.7 24 24 24H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H184z\"]\n};\nvar faPlanetMoon = {\n prefix: 'far',\n iconName: 'planet-moon',\n icon: [576, 512, [], \"e01f\", \"M512 0a64 64 0 1 1 0 128A64 64 0 1 1 512 0zM224 464c97.2 0 176-78.8 176-176c0-82.2-56.4-151.3-132.6-170.6l-71 82.9c-11.5 13.4-10.7 33.4 1.8 45.9c6.3 6.3 14.9 9.9 23.9 9.9h66c17.7 0 32 14.3 32 32v15.9c0 10.6-2.6 21-7.6 30.3l-41.3 76.6c-4.4 8.1-12.8 13.2-22 13.2c-13.8 0-25-11.2-25-25V352c-17.7 0-32-14.3-32-32V288l-49.9-49.9c-9-9-21.2-14.1-33.9-14.1H60c-7.7 19.8-12 41.4-12 64c0 97.2 78.8 176 176 176zM0 288c0-52.3 17.9-100.5 48-138.6c1-1.3 2.1-2.6 3.2-3.9C92.2 95.7 154.4 64 224 64c13.3 0 26.4 1.2 39.1 3.4C368.2 85.9 448 177.6 448 288c0 123.7-100.3 224-224 224S0 411.7 0 288z\"]\n};\nvar faFaceEyesXmarks = {\n prefix: 'far',\n iconName: 'face-eyes-xmarks',\n icon: [512, 512, [], \"e374\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM137 135l23 23 23-23c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-23 23 23 23c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-23-23-23 23c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l23-23-23-23c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0zm192 0l23 23 23-23c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-23 23 23 23c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-23-23-23 23c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l23-23-23-23c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0zM256 304c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16H192c-8.8 0-16-7.2-16-16c0-44.2 35.8-80 80-80z\"]\n};\nvar faChartScatter = {\n prefix: 'far',\n iconName: 'chart-scatter',\n icon: [512, 512, [], \"f7ee\", \"M48 56c0-13.3-10.7-24-24-24S0 42.7 0 56V408c0 39.8 32.2 72 72 72H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H72c-13.3 0-24-10.7-24-24V56zM192 192a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm128 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm64 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm64-224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM160 352a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faCircleGf = {\n prefix: 'far',\n iconName: 'circle-gf',\n icon: [512, 512, [], \"e67f\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM184 128c39.8 0 72 32.2 72 72c0 13.3-10.7 24-24 24s-24-10.7-24-24s-10.7-24-24-24s-24 10.7-24 24l0 112c0 13.3 10.7 24 24 24s24-10.7 24-24l0-8c-13.3 0-24-10.7-24-24s10.7-24 24-24l24 0c13.3 0 24 10.7 24 24l0 32c0 39.8-32.2 72-72 72s-72-32.2-72-72l0-112c0-39.8 32.2-72 72-72zm104 24c0-13.3 10.7-24 24-24l64 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-40 0 0 64 24 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-24 0 0 72c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-96 0-112z\"]\n};\nvar faDisplayArrowDown = {\n prefix: 'far',\n iconName: 'display-arrow-down',\n icon: [576, 512, [], \"e164\", \"M64 0H224V48H64c-8.8 0-16 7.2-16 16V352c0 8.8 7.2 16 16 16H239.5c.3 0 .6 0 .8 0h95.2c.3 0 .6 0 .8 0H512c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H352V0H512c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H364.3l8 48H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H352 224 152c-13.3 0-24-10.7-24-24s10.7-24 24-24h51.7l8-48H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0zM260.3 416l-8 48h71.3l-8-48H260.3zM312 24V206.1l39-39c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0l-80-80c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l39 39V24c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faStore = {\n prefix: 'far',\n iconName: 'store',\n icon: [576, 512, [], \"f54e\", \"M507.1 129.5l0 0c5.8 9.2 6.4 20.5 2.3 30.1c-3.9 9.2-11.1 14.8-20.1 16c-2 .3-3.9 .4-5.8 .4c-11.7 0-22.2-5.1-29.7-13.2c-9.1-10-22-15.7-35.6-15.7s-26.5 5.8-35.5 15.8c-7.3 8.1-17.7 13.2-29.6 13.2c-11.8 0-22.3-5.1-29.6-13.2c-9.1-10.1-22-15.8-35.6-15.8s-26.5 5.7-35.6 15.8c-7.3 8.1-17.7 13.2-29.6 13.2c-11.8 0-22.3-5.1-29.6-13.2c-9.1-10.1-22-15.8-35.6-15.8s-26.5 5.7-35.6 15.8c-7.3 8.1-17.7 13.2-29.6 13.2c-1.8 0-3.8-.1-5.8-.4c-8.9-1.2-16-6.8-19.9-16c-4.1-9.6-3.5-20.9 2.3-30.1l0 0 0 0L120.4 48H455.6l51.5 81.5zM483.5 224c4.1 0 8.1-.3 12-.8c55.5-7.4 81.8-72.5 52.1-119.4L490.3 13.1C485.2 5 476.1 0 466.4 0H109.6C99.9 0 90.8 5 85.7 13.1L28.3 103.8c-29.6 46.8-3.4 111.9 51.9 119.4c4 .5 8.1 .8 12.1 .8c0 0 0 0 0 0c19.6 0 37.5-6.4 51.9-17c4.8-3.5 9.2-7.6 13.2-11.9c4 4.4 8.4 8.4 13.2 11.9c14.5 10.6 32.4 17 52 17c19.6 0 37.5-6.4 52-17c4.8-3.5 9.2-7.6 13.2-12c4 4.4 8.4 8.4 13.2 11.9c14.5 10.6 32.4 17 52 17c19.8 0 37.8-6.5 52.3-17.3c4.7-3.5 9-7.4 12.9-11.7c3.9 4.3 8.3 8.3 13 11.8c14.5 10.7 32.5 17.2 52.2 17.2c0 0 0 0 0 0zM112 336V254.4c-6.4 1.1-12.9 1.6-19.6 1.6c-5.5 0-11-.4-16.3-1.1l-.1 0c-4.1-.6-8.1-1.3-12-2.3V336v48 64c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V384 336 252.6c-4 1-8 1.8-12.3 2.3l-.1 0c-5.3 .7-10.7 1.1-16.2 1.1c-6.6 0-13.1-.5-19.4-1.6V336H112zm352 48v64c0 8.8-7.2 16-16 16H128c-8.8 0-16-7.2-16-16V384H464z\"]\n};\nvar faArrowTrendUp = {\n prefix: 'far',\n iconName: 'arrow-trend-up',\n icon: [576, 512, [], \"e098\", \"M352 120c0-13.3 10.7-24 24-24H552c13.3 0 24 10.7 24 24V296c0 13.3-10.7 24-24 24s-24-10.7-24-24V177.9L337 369c-9.4 9.4-24.6 9.4-33.9 0l-111-111L41 409c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L175 207c9.4-9.4 24.6-9.4 33.9 0l111 111L494.1 144H376c-13.3 0-24-10.7-24-24z\"]\n};\nvar faPlugCircleMinus = {\n prefix: 'far',\n iconName: 'plug-circle-minus',\n icon: [576, 512, [], \"e55e\", \"M128 24c0-13.3-10.7-24-24-24S80 10.7 80 24v88h48V24zm176 0c0-13.3-10.7-24-24-24s-24 10.7-24 24v88h48V24zM24 144c-13.3 0-24 10.7-24 24s10.7 24 24 24h8v64c0 80.2 59 146.6 136 158.2V488c0 13.3 10.7 24 24 24s24-10.7 24-24V414.2c15.2-2.3 29.7-6.7 43.1-12.9c-2.1-10.8-3.1-21.9-3.1-33.3c0-7.1 .4-14.1 1.2-20.9C238.9 360.2 216.3 368 192 368c-61.9 0-112-50.1-112-112V192H304v55.2c13.8-14.6 30-26.8 48-36V192h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8H304 80 32 24zM576 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-64 0c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16s7.2-16 16-16H496c8.8 0 16 7.2 16 16z\"]\n};\nvar faOliveBranch = {\n prefix: 'far',\n iconName: 'olive-branch',\n icon: [640, 512, [], \"e317\", \"M2.7 53.1C13.8 41.6 59 0 128 0c66.9 0 111.4 39.1 124.2 52L306 26.7C343.3 9.1 384 0 425.2 0H616c13.3 0 24 10.7 24 24s-10.7 24-24 24H425.2c-34.2 0-67.9 7.5-98.8 22.1L191.9 133.4C189.1 219.3 118.6 288 32 288H16c-8.8 0-16-7.2-16-16V256c0-61.4 34.5-114.6 85.2-141.5C40.4 102.8 11.3 75.8 2.7 66.9C.9 65 0 62.6 0 60s.9-5 2.7-6.9zM399.4 427c19.3-25.7 32.6-63.3 32.6-107s-13.3-81.3-32.6-107c-19.2-25.7-42.2-37-63.4-37s-44.2 11.4-63.4 37C253.3 238.7 240 276.4 240 320s13.3 81.3 32.6 107c19.2 25.7 42.2 37 63.4 37s44.2-11.4 63.4-37zM336 512c-79.5 0-144-86-144-192s64.5-192 144-192s144 86 144 192s-64.5 192-144 192zm129.7-40.2c9.4-13.1 17.6-27.5 24.4-43.1c3.6 .8 7.1 1.5 10.5 2c31.1 4.6 55-3.6 70.2-19.3c15.4-16 23.9-42.1 19.2-76c-4.7-33.8-22.2-71.6-53.2-103.7c-18-18.7-37.7-32.5-57.2-41.7c-4.9-8.8-10.3-17.2-16.2-25c-10.5-14-22.7-26.5-36.2-36.9c48.2 1.6 101.3 25.8 144.2 70.3c75 77.8 90.2 188.1 33.9 246.4c-34.1 35.4-86.8 43.5-139.6 27z\"]\n};\nvar faAngle = {\n prefix: 'far',\n iconName: 'angle',\n icon: [448, 512, [], \"e08c\", \"M253.3 67.1c6.1-11.8 1.5-26.3-10.2-32.4s-26.3-1.5-32.4 10.2l-208 400c-3.9 7.4-3.6 16.4 .8 23.5S15.6 480 24 480H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H63.5L253.3 67.1zM242 175.5l-22.6 43.4c19.3 15.8 36.5 34 51.3 54.1l40.8-25.6c-19.6-27.2-43-51.4-69.5-71.9zM322.7 392h48.8c-6-36.9-18-71.8-34.7-103.8l-40.8 25.6c12.4 24.3 21.5 50.6 26.8 78.2z\"]\n};\nvar faVacuumRobot = {\n prefix: 'far',\n iconName: 'vacuum-robot',\n icon: [512, 512, [], \"e04e\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm335-79c-43.6-43.6-114.4-43.6-158.1 0c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9c62.4-62.4 163.5-62.4 225.9 0s62.4 163.5 0 225.9c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9c43.6-43.6 43.6-114.4 0-158.1zM212.7 212.7c6.2-6.2 16.4-6.2 22.6 0l64 64c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-64-64c-6.2-6.2-6.2-16.4 0-22.6zm-80 16c6.2-6.2 16.4-6.2 22.6 0l128 128c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-128-128c-6.2-6.2-6.2-16.4 0-22.6zm-16 102.6c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l64 64c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-64-64z\"]\n};\nvar faSignHanging = {\n prefix: 'far',\n iconName: 'sign-hanging',\n icon: [512, 512, [\"sign\"], \"f4d9\", \"M88 0c13.3 0 24 10.7 24 24V64l376 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-376 0V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V112H24C10.7 112 0 101.3 0 88S10.7 64 24 64H64V24C64 10.7 74.7 0 88 0zM192 336H432V192H192V336zM144 176c0-17.7 14.3-32 32-32H448c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H176c-17.7 0-32-14.3-32-32V176z\"]\n};\nvar faSign = faSignHanging;\nvar faSquareDivide = {\n prefix: 'far',\n iconName: 'square-divide',\n icon: [448, 512, [], \"e26a\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm224 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM136 232H312c13.3 0 24 10.7 24 24s-10.7 24-24 24H136c-13.3 0-24-10.7-24-24s10.7-24 24-24zm56 120a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faFolderCheck = {\n prefix: 'far',\n iconName: 'folder-check',\n icon: [512, 512, [], \"e64e\", \"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H289.9L247 53.1C233.5 39.6 215.2 32 196.1 32H64zM48 96c0-8.8 7.2-16 16-16H196.1c6.4 0 12.5 2.5 17 7l45.3 45.3c7.5 7.5 17.7 11.7 28.3 11.7H448c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96zM369 241c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-111 111-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L369 241z\"]\n};\nvar faSignalStreamSlash = {\n prefix: 'far',\n iconName: 'signal-stream-slash',\n icon: [640, 512, [], \"e250\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-91.7-71.9C562.6 355.5 576 307.3 576 256c0-69.7-24.8-133.6-66-183.4c-8.4-10.2-23.6-11.6-33.8-3.2s-11.6 23.6-3.2 33.8c34.3 41.5 55 94.7 55 152.8c0 40.1-9.8 77.9-27.2 111.2l-51.6-40.4c9.5-21.7 14.8-45.6 14.8-70.8c0-40.7-13.8-78.2-37-108c-8.1-10.5-23.2-12.3-33.7-4.2s-12.3 23.2-4.2 33.7C406 199.2 416 226.4 416 256c0 13.9-2.2 27.3-6.3 39.8L38.8 5.1zm84.7 188.2C116.1 212.8 112 233.9 112 256c0 40.7 13.8 78.2 37 108c8.1 10.5 23.2 12.3 33.7 4.2s12.3-23.2 4.2-33.7C170 312.8 160 285.6 160 256c0-10.7 1.3-21.1 3.8-31l-40.3-31.7zM33 122C11.9 162 0 207.6 0 256c0 69.7 24.8 133.6 66 183.4c8.4 10.2 23.6 11.6 33.8 3.2s11.6-23.6 3.2-33.8C68.6 367.3 48 314.1 48 256c0-37.1 8.4-72.3 23.5-103.7L33 122z\"]\n};\nvar faBezierCurve = {\n prefix: 'far',\n iconName: 'bezier-curve',\n icon: [640, 512, [], \"f55b\", \"M352 80v64H288V80h64zM288 32c-26.5 0-48 21.5-48 48v8H123.3C113.9 64.5 90.9 48 64 48C28.7 48 0 76.7 0 112s28.7 64 64 64c26.9 0 49.9-16.5 59.3-40h79C138.2 173.8 93.9 241.5 88.5 320H80c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48V368c0-26.5-21.5-48-48-48h-7.3c5.9-68.4 49.2-126.1 109.4-152.6C254.3 182.1 270 192 288 192h64c18 0 33.7-9.9 41.9-24.6c60.2 26.4 103.5 84.1 109.4 152.6H496c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48V368c0-26.5-21.5-48-48-48h-8.5c-5.3-78.5-49.7-146.2-113.8-184h79c9.5 23.5 32.5 40 59.3 40c35.3 0 64-28.7 64-64s-28.7-64-64-64c-26.9 0-49.9 16.5-59.3 40H400V80c0-26.5-21.5-48-48-48H288zM48 112a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm512 0a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM144 368v64H80V368h64zm352 0h64v64H496V368z\"]\n};\nvar faEyeDropperHalf = {\n prefix: 'far',\n iconName: 'eye-dropper-half',\n icon: [512, 512, [], \"e173\", \"M233 202.9L199 169l-8-8 0 0c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l8 8 33.9-33.9 71.3-71.3c19.1-19.1 45-29.8 72-29.8C466.4 0 512 45.6 512 101.8c0 27-10.7 52.9-29.8 72l-71.3 71.3L377 279l8 8c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-8-8L309.1 279 233 202.9zM343 245.1L448.2 139.9c10.1-10.1 15.8-23.8 15.8-38.1C464 72.1 439.9 48 410.2 48c-14.3 0-28 5.7-38.1 15.8L266.9 169 343 245.1zM183.4 198.6l33.9 33.9L129.9 320H254.1l25.4-25.4 33.9 33.9L183 458.9c-13.5 13.5-31.8 21.1-50.9 21.1H79.3l-42 28c-9.5 6.3-22.2 5.1-30.3-3s-9.3-20.8-3-30.3l28-42V379.9c0-19.1 7.6-37.4 21.1-50.9L183.4 198.6z\"]\n};\nvar faStoreLock = {\n prefix: 'far',\n iconName: 'store-lock',\n icon: [640, 512, [], \"e4a6\", \"M507.1 129.5l0 0c5.8 9.2 6.4 20.5 2.3 30.1c-.3 .7-.6 1.5-1 2.2c6.4-1.1 13-1.7 19.7-1.7c10.4 0 20.5 1.4 30.1 4.1c4.4-19.8 1.5-41.5-10.4-60.3L490.3 13.1C485.2 5 476.1 0 466.4 0H109.6C99.9 0 90.8 5 85.7 13.1L28.3 103.8c-29.6 46.8-3.4 111.9 51.9 119.4c4 .5 8.1 .8 12.1 .8l0 0c19.6 0 37.5-6.4 51.9-17c4.8-3.5 9.2-7.6 13.2-11.9c4 4.4 8.4 8.4 13.2 11.9c14.5 10.6 32.4 17 52 17c19.6 0 37.5-6.4 52-17c4.8-3.5 9.2-7.6 13.2-12c4 4.4 8.4 8.4 13.2 11.9c14.5 10.6 32.4 17 52 17c19.8 0 37.8-6.5 52.3-17.3c4.7-3.5 9-7.4 12.9-11.7c3.9 4.3 8.3 8.3 13 11.8c1.2 .9 2.5 1.8 3.8 2.7c9.7-14.3 22.6-26.3 37.7-34.9c-7.4-2.1-13.9-6.2-19-11.8c-9.1-10-22-15.7-35.6-15.7s-26.5 5.8-35.5 15.8c-7.3 8.1-17.7 13.2-29.6 13.2c-11.8 0-22.3-5.1-29.6-13.2c-9.1-10.1-22-15.8-35.6-15.8s-26.5 5.7-35.6 15.8c-7.3 8.1-17.7 13.2-29.6 13.2c-11.8 0-22.3-5.1-29.6-13.2c-9.1-10.1-22-15.8-35.6-15.8s-26.5 5.7-35.6 15.8c-7.3 8.1-17.7 13.2-29.6 13.2c-1.8 0-3.8-.1-5.8-.4c-8.9-1.2-16-6.8-19.9-16c-4.1-9.6-3.5-20.9 2.3-30.1l0 0 0 0L120.4 48H455.6l51.5 81.5zM112 336V254.4c-6.4 1.1-12.9 1.6-19.6 1.6c-5.5 0-11-.4-16.3-1.1l-.1 0c-4.1-.6-8.1-1.3-12-2.3V336v48 64c0 35.3 28.7 64 64 64H392.6c-5.4-9.4-8.6-20.3-8.6-32V464H128c-8.8 0-16-7.2-16-16V384H384V352c0-5.5 .7-10.9 2-16H112zm416-96c17.7 0 32 14.3 32 32v48H496V272c0-17.7 14.3-32 32-32zm-80 32v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"]\n};\nvar faBellSlash = {\n prefix: 'far',\n iconName: 'bell-slash',\n icon: [640, 512, [128277, 61943], \"f1f6\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L542.6 400c2.7-7.8 1.3-16.5-3.9-23l-14.9-18.6C495.5 322.9 480 278.8 480 233.4V208c0-77.4-55-142-128-156.8V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V51.2c-42.6 8.6-79 34.2-102 69.3L38.8 5.1zM224 150.3C243.6 117.7 279.3 96 320 96c61.9 0 112 50.1 112 112v25.4c0 32.7 6.4 64.8 18.7 94.5L224 150.3zM406.2 416l-60.9-48H168.3c21.2-32.8 34.4-70.3 38.4-109.1L160 222.1v11.4c0 45.4-15.5 89.5-43.8 124.9L101.3 377c-5.8 7.2-6.9 17.1-2.9 25.4s12.4 13.6 21.6 13.6H406.2zM384 448H320 256c0 17 6.7 33.3 18.7 45.3s28.3 18.7 45.3 18.7s33.3-6.7 45.3-18.7s18.7-28.3 18.7-45.3z\"]\n};\nvar faCloudBoltSun = {\n prefix: 'far',\n iconName: 'cloud-bolt-sun',\n icon: [640, 512, [\"thunderstorm-sun\"], \"f76e\", \"M294.2 1.2c5.1 2.1 8.7 6.7 9.6 12.1l10.4 62.4c-23.3 10.8-42.9 28.4-56 50.3c-14.6-9-31.8-14.1-50.2-14.1c-53 0-96 43-96 96c0 35.5 19.3 66.6 48 83.2c.8 31.8 13.2 60.7 33.1 82.7l-56 39.2c-4.5 3.1-10.3 3.8-15.4 1.6s-8.7-6.7-9.6-12.1L98.1 317.9 13.4 303.8c-5.4-.9-10-4.5-12.1-9.6s-1.5-10.9 1.6-15.4L52.5 208 2.9 137.2c-3.2-4.5-3.8-10.3-1.6-15.4s6.7-8.7 12.1-9.6L98.1 98.1l14.1-84.7c.9-5.4 4.5-10 9.6-12.1s10.9-1.5 15.4 1.6L208 52.5 278.8 2.9c4.5-3.2 10.3-3.8 15.4-1.6zM208 144c13.8 0 26.7 4.4 37.1 11.9c-1.2 4.1-2.2 8.3-3 12.6c-37.9 14.6-67.2 46.6-77.8 86.4C151.8 243.1 144 226.5 144 208c0-35.3 28.7-64 64-64zm112.1 48c0 .8 0 1.7-.1 2.5l-2 23.8c-1.1 13.2-12.7 23-25.9 21.9c-1.3-.1-2.6-.2-4-.2c-26.5 0-48 21.5-48 48c0 20.6 12.9 38.1 31.1 44.9c-12.6 11.7-17.9 29.3-14 46c-37.9-12.9-65.1-48.7-65.1-90.9c0-47.5 34.5-86.9 79.8-94.6l.2-2.5c.6-52.5 43.4-94.8 96-94.8c33 0 62 16.6 79.3 41.9c12.2-6.3 26-9.9 40.6-9.9c43 0 78.8 30.9 86.5 71.7c1 2.6 1.5 5.4 1.5 8.3v5.3c0 .9 0 1.8 0 2.7s0 1.8 0 2.7v6.9c36.5 7.4 64 39.7 64 78.4c0 44.2-35.8 80-80 80c-.9 0-1.8 0-2.7 0H541.3c3.5-10.1 3.7-21.3 0-31.8c-2.1-6.1-5.4-11.6-9.6-16.2h26.1c.3 0 .6 0 1 0c.4 0 .9 0 1.3 0c17.7 0 32-14.3 32-32s-14.3-32-32-32c-1.6 0-3.1 .1-4.6 .3c-6.9 1-13.9-1.1-19.1-5.6s-8.3-11.2-8.3-18.1V218.3c0-.3 0-.6 0-.9c0-.5 0-1 0-1.5s0-1 0-1.5c0-.3 0-.6 0-.9v-1.1c-.1-.6-.2-1.1-.3-1.7c-2.5-19.6-19.3-34.8-39.7-34.8c-12.6 0-23.8 5.8-31.1 14.9c-.6 .7-1.1 1.3-1.8 1.9c-6.1 1.1-12 3.5-17.4 7c-1.6 0-3.3-.2-4.9-.6c-8.9-2.1-15.9-9.1-18-18c-4.9-21.3-24-37.2-46.8-37.2c-26.5 0-48 21.5-48 48zm154 35.6c5.8 4.7 7.6 12.9 4.2 19.6L425.9 352H496c6.8 0 12.9 4.3 15.1 10.7s.2 13.5-5.1 17.8l-160 128c-5.9 4.7-14.2 4.7-20.1-.1s-7.6-12.9-4.3-19.6L374.1 384H304c-6.8 0-12.8-4.3-15.1-10.7s-.2-13.5 5.1-17.8l160-128c5.9-4.7 14.2-4.7 20.1 .1z\"]\n};\nvar faThunderstormSun = faCloudBoltSun;\nvar faCameraSlash = {\n prefix: 'far',\n iconName: 'camera-slash',\n icon: [640, 512, [], \"e0d9\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-55.5-43.5c.5-3.1 .7-6.3 .7-9.6V160c0-35.3-28.7-64-64-64H438.6l-8.6-25.7C422.4 47.4 401 32 376.9 32H263.1c-24.1 0-45.5 15.4-53.1 38.3L201.4 96H154.8L38.8 5.1zM216 144h2.7c10.3 0 19.5-6.6 22.8-16.4l14-42.1c1.1-3.3 4.1-5.5 7.6-5.5H376.9c3.4 0 6.5 2.2 7.6 5.5l14 42.1c3.3 9.8 12.4 16.4 22.8 16.4H512c8.8 0 16 7.2 16 16V388.5l-98.4-77.2c1.6-7.5 2.4-15.4 2.4-23.4c0-61.9-50.1-112-112-112c-17.5 0-34.1 4-48.9 11.2L216 144zM382.6 274.6L318.1 224c.6 0 1.3 0 1.9 0c30.7 0 56.4 21.7 62.6 50.6zM487.4 480l-60.9-48H128c-8.8 0-16-7.2-16-16V184.2L65.2 147.4c-.8 4.1-1.2 8.3-1.2 12.6V416c0 35.3 28.7 64 64 64H487.4zM370.6 388l-45.9-36.1c-1.6 .1-3.1 .2-4.7 .2c-31.8 0-58.2-23.2-63.2-53.6L211 262.2c-1.9 8.3-3 16.9-3 25.8c0 61.9 50.1 112 112 112c18.2 0 35.4-4.3 50.6-12z\"]\n};\nvar faCommentQuote = {\n prefix: 'far',\n iconName: 'comment-quote',\n icon: [512, 512, [], \"e14c\", \"M168.2 384.9c-15-5.4-31.7-3.1-44.6 6.4c-8.2 6-22.3 14.8-39.4 22.7c5.6-14.7 9.9-31.3 11.3-49.4c1-12.9-3.3-25.7-11.8-35.5C60.4 302.8 48 272 48 240c0-79.5 83.3-160 208-160s208 80.5 208 160s-83.3 160-208 160c-31.6 0-61.3-5.5-87.8-15.1zM26.3 423.8c-1.6 2.7-3.3 5.4-5.1 8.1l-.3 .5c-1.6 2.3-3.2 4.6-4.8 6.9c-3.5 4.7-7.3 9.3-11.3 13.5c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c5.1 0 10.2-.3 15.3-.8l.7-.1c4.4-.5 8.8-1.1 13.2-1.9c.8-.1 1.6-.3 2.4-.5c17.8-3.5 34.9-9.5 50.1-16.1c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9zM160 144c-17.7 0-32 14.3-32 32v48c0 17.7 14.3 32 32 32h32v7.3c0 11.7-8.5 21.7-20.1 23.7l-7.9 1.3c-13.1 2.2-21.9 14.5-19.7 27.6s14.5 21.9 27.6 19.7l7.9-1.3c34.7-5.8 60.2-35.8 60.2-71V224 200 176c0-17.7-14.3-32-32-32H160zm224 80V200 176c0-17.7-14.3-32-32-32H304c-17.7 0-32 14.3-32 32v48c0 17.7 14.3 32 32 32h32v7.3c0 11.7-8.5 21.7-20.1 23.7l-7.9 1.3c-13.1 2.2-21.9 14.5-19.7 27.6s14.5 21.9 27.6 19.7l7.9-1.3c34.7-5.8 60.2-35.8 60.2-71V224z\"]\n};\nvar faTablet = {\n prefix: 'far',\n iconName: 'tablet',\n icon: [448, 512, [\"tablet-android\"], \"f3fb\", \"M64 48c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H64zM0 64C0 28.7 28.7 0 64 0H384c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM192 400h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H192c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faTabletAndroid = faTablet;\nvar faSchoolFlag = {\n prefix: 'far',\n iconName: 'school-flag',\n icon: [576, 512, [], \"e56e\", \"M288 0H400c8.8 0 16 7.2 16 16V80c0 8.8-7.2 16-16 16H318.1l89.6 64H504c39.8 0 72 32.2 72 72V440c0 39.8-32.2 72-72 72H336 240 72c-39.8 0-72-32.2-72-72V232c0-39.8 32.2-72 72-72h96.3L264 91.6V24c0-13.3 10.7-24 24-24zM504 464c13.3 0 24-10.7 24-24V232c0-13.3-10.7-24-24-24H400c-5 0-9.9-1.6-13.9-4.5l-98.1-70-98.1 70c-4.1 2.9-8.9 4.5-13.9 4.5H72c-13.3 0-24 10.7-24 24V440c0 13.3 10.7 24 24 24H240V400c0-26.5 21.5-48 48-48s48 21.5 48 48v64H504zM240 240a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM112 256h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16zm304 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H432c-8.8 0-16-7.2-16-16V272zM112 352h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V368c0-8.8 7.2-16 16-16zm320 0h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H432c-8.8 0-16-7.2-16-16V368c0-8.8 7.2-16 16-16z\"]\n};\nvar faMessageCode = {\n prefix: 'far',\n iconName: 'message-code',\n icon: [512, 512, [], \"e1df\", \"M208 416c0-26.5-21.5-48-48-48H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H448c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H309.3c-10.4 0-20.5 3.4-28.8 9.6L208 432V416zm-.2 76.2l.2-.2 101.3-76H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h48 48v48 4 .3 6.4V496c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L202.7 496l5.1-3.8zM217 161c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-64 64c-9.4 9.4-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47zM329 127c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l64-64c9.4-9.4 9.4-24.6 0-33.9l-64-64z\"]\n};\nvar faGlassHalf = {\n prefix: 'far',\n iconName: 'glass-half',\n icon: [384, 512, [\"glass-half-empty\", \"glass-half-full\"], \"e192\", \"M24 0C17.3 0 10.9 2.8 6.3 7.8S-.5 19.4 .1 26.1L36.3 446.2C39.5 483.4 70.7 512 108 512H276c37.4 0 68.5-28.6 71.7-65.8L383.9 26.1c.6-6.7-1.7-13.3-6.2-18.3s-11-7.8-17.7-7.8H24zM66.7 240L50.2 48H333.8L317.3 240H66.7zm4.1 48H313.2L299.9 442.1C298.8 454.5 288.4 464 276 464H108c-12.5 0-22.8-9.5-23.9-21.9L70.8 288z\"]\n};\nvar faGlassHalfEmpty = faGlassHalf;\nvar faGlassHalfFull = faGlassHalf;\nvar faFill = {\n prefix: 'far',\n iconName: 'fill',\n icon: [512, 512, [], \"f575\", \"M73 7C63.6-2.3 48.4-2.3 39 7s-9.4 24.6 0 33.9l89.4 89.4L30.6 228.1c-37.5 37.5-37.5 98.3 0 135.8L148.1 481.4c37.5 37.5 98.3 37.5 135.8 0L474.3 290.9c28.1-28.1 28.1-73.7 0-101.8L322.9 37.7c-28.1-28.1-73.7-28.1-101.8 0L162.3 96.4 73 7zm89.4 157.3L231 233c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-68.7-68.7L255 71.6c9.4-9.4 24.6-9.4 33.9 0L440.4 223c9.4 9.4 9.4 24.6 0 33.9l-31 31H51.2c1.6-9.5 6.1-18.6 13.4-25.9l97.8-97.8z\"]\n};\nvar faMessageMinus = {\n prefix: 'far',\n iconName: 'message-minus',\n icon: [512, 512, [\"comment-alt-minus\"], \"f4a7\", \"M208 416c0-26.5-21.5-48-48-48H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H448c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H309.3c-10.4 0-20.5 3.4-28.8 9.6L208 432V416zm-.2 76.2l.2-.2 101.3-76H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h48 48v48 4 .3 6.4V496c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L202.7 496l5.1-3.8zM184 184c-13.3 0-24 10.7-24 24s10.7 24 24 24H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H184z\"]\n};\nvar faCommentAltMinus = faMessageMinus;\nvar faAngleUp = {\n prefix: 'far',\n iconName: 'angle-up',\n icon: [448, 512, [8963], \"f106\", \"M207 143c9.4-9.4 24.6-9.4 33.9 0L401 303c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-143-143L81 337c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L207 143z\"]\n};\nvar faDinosaur = {\n prefix: 'far',\n iconName: 'dinosaur',\n icon: [640, 512, [], \"e5fe\", \"M449.1 0c-16.8 0-33 6-45.7 16.9L375.7 40.7C360.7 53.5 352 72.4 352 92.2c0 37.5 30.4 67.8 67.8 67.8H472c13.3 0 24 10.7 24 24v19.2c0 11.5-9.3 20.8-20.8 20.8c-13 0-25.6-3.8-36.4-11L413.3 196c-35.2-23.5-76.6-36-119-36h-9.1c-60.8 0-119.5 22.7-164.5 63.6l-80.2 73C14.7 320 0 353.3 0 388.2C0 456.6 55.4 512 123.8 512H255.1c35.9 0 64.9-29.1 64.9-64.9c0-33-24.7-60.7-57.4-64.5l-103.2-12c-2.5-10.6-12-18.6-23.4-18.6c-13.3 0-24 10.7-24 24c0 21.3 16 39.2 37.1 41.7L257 430.3c8.5 1 15 8.2 15 16.8c0 9.3-7.6 16.9-16.9 16.9H123.8C82 464 48 430 48 388.2c0-21.4 9-41.7 24.8-56.1l80.2-73c36.2-32.9 83.3-51.1 132.2-51.1h9.1c32.9 0 65 9.7 92.4 28l25.4 16.9c18.7 12.5 40.6 19.1 63.1 19.1c38 0 68.8-30.8 68.8-68.8V184c0-39.8-32.2-72-72-72H419.8c-11 0-19.8-8.9-19.8-19.8c0-5.8 2.5-11.3 6.9-15.1l27.7-23.8c4-3.4 9.1-5.3 14.4-5.3h11.6C533.2 48 592 106.8 592 179.3v26.9c0 65-28.9 126.6-78.8 168.2l-8.6 7.2c-6.2 5.2-9.2 12.9-8.6 20.4c-.1 .7-.1 1.3-.1 2v52c0 4.4-3.6 8-8 8H440c-4.4 0-8-3.6-8-8V424c0-8-3.9-15.4-10.5-19.9c-6.6-4.4-14.9-5.4-22.3-2.4l-.1 0c-.2 .1-.5 .2-.9 .3c-.9 .3-2.4 .8-4.6 1.5c-4.2 1.3-10.8 3.1-19.5 5c-7.7 1.6-17.1 3.3-28.2 4.6c4 10.6 6.1 22 6.1 34c0 4.7-.3 9.3-1 13.8c12.7-1.5 23.7-3.4 32.9-5.4l.1 0v.5c0 30.9 25.1 56 56 56h48c30.9 0 56-25.1 56-56V411.2c60.8-50.7 96-125.8 96-205V179.3C640 80.3 559.7 0 460.7 0H449.1zM480 80a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faDrumstickBite = {\n prefix: 'far',\n iconName: 'drumstick-bite',\n icon: [512, 512, [], \"f6d7\", \"M208 272c0 17.7 14.3 32 32 32h16 51.2c-2.1-10.4-3.2-21.1-3.2-32c0-82.8 62.8-150.8 143.4-159.1C425.4 74.1 383.7 48 336 48c-70.7 0-128 57.3-128 128v64 32zm-48-32V176C160 78.8 238.8 0 336 0c86.5 0 158.5 62.5 173.2 144.8c2.1 11.8-10.3 20.1-22 17.6c-7.5-1.6-15.3-2.4-23.2-2.4c-61.9 0-112 50.1-112 112c0 19.2 4.8 37.2 13.3 53c5.7 10.5 1.1 24.8-10.8 26c-6.1 .6-12.3 1-18.5 1H256 244c-17.7 0-31.3 15.6-41.5 30c-1.7 2.4-3.6 4.6-5.7 6.7c-12 12-11.1 31.5-6.8 47.9c1.3 4.9 2 10 2 15.4c0 33.1-26.9 60-60 60s-60-26.9-60-60c0-6.3-5.7-12-12-12c-33.1 0-60-26.9-60-60s26.9-60 60-60c5.3 0 10.5 .7 15.4 2c16.4 4.3 35.9 5.2 47.9-6.8c2.1-2.1 4.4-4 6.8-5.7c14.4-10.2 30-23.9 30-41.5V240z\"]\n};\nvar faLinkHorizontalSlash = {\n prefix: 'far',\n iconName: 'link-horizontal-slash',\n icon: [640, 512, [\"chain-horizontal-slash\"], \"e1cc\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-56.4-44.2c39.5-25.6 65.6-70.1 65.6-120.7c0-75.7-58.7-138.5-134.3-143.5l-8.1-.5c-13.2-.9-24.7 9.1-25.5 22.4s9.1 24.7 22.3 25.5l8.1 .5c50.4 3.4 89.5 45.2 89.5 95.6c0 39.8-24.3 74-58.8 88.4L414.8 299.8c20.8-25 33.2-57.1 33.2-91.9C448 128.4 383.6 64 304.1 64H143.9c-9.1 0-18.1 .9-26.8 2.5L38.8 5.1zM175.2 112h129c52.9 0 95.9 42.9 95.9 95.9c0 23.7-8.6 45.5-23 62.3L175.2 112zM385.8 400h-50c-53 0-95.9-42.9-95.9-95.9c0-6 .6-12 1.6-17.7l-40.8-32.1c-5.7 15.6-8.9 32.4-8.9 49.8C192 383.6 256.4 448 335.9 448H446.8l-60.9-48zM67.8 149.5L30.1 119.7C11.2 144.1 0 174.7 0 207.9c0 75.7 58.7 138.5 134.3 143.5l8.1 .5c13.2 .9 24.7-9.1 25.5-22.3s-9.1-24.7-22.4-25.5l-8.1-.5C87.1 300.2 48 258.3 48 207.9c0-22 7.4-42.2 19.8-58.4z\"]\n};\nvar faChainHorizontalSlash = faLinkHorizontalSlash;\nvar faHollyBerry = {\n prefix: 'far',\n iconName: 'holly-berry',\n icon: [512, 512, [], \"f7aa\", \"M256 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM128 144a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm160 0a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM161.4 264.5c-1.7 58.6-42.3 107.5-97 121.6c6.2 22 7.2 45.1 2.7 67.4c24.9-6.1 50.9-5.4 75.4 1.9c1.7-58.6 42.3-107.5 97-121.6c-6.2-22-7.1-45.1-2.7-67.4c-24.9 6.1-50.9 5.4-75.4-1.9zM113.4 232c0-16.2 15.6-27.7 31.1-22.9l29.8 9.2c16.8 5.2 34.8 5.7 51.8 1.3l39-9.9c11.1-2.8 21.5 2.5 26.6 11.2c15.2 2.8 30.9 1.9 45.7-2.7l29.8-9.2c15.4-4.8 31.1 6.8 31.1 22.9v28.8c0 44.9 36.4 81.4 81.4 81.4c16.6 0 28.2 16.5 22.6 32.1l-6.7 18.6c-6.9 19.2-7.5 40.1-1.8 59.6l8.1 27.7c5.2 17.8-10.9 34.6-28.9 30l-39-9.9c-17.1-4.3-35-3.8-51.8 1.3l-29.8 9.2c-15.4 4.8-31.1-6.8-31.1-22.9l0-28.8c0-39.5-28.1-72.4-65.4-79.8v0c-37.4 7.4-65.6 40.3-65.6 79.8l0 28.8c0 16.2-15.6 27.7-31.1 22.9l-29.8-9.2c-16.8-5.2-34.8-5.7-51.8-1.3l-39 9.9c-18 4.6-34.2-12.2-28.9-30l8.1-27.7c5.8-19.6 5.1-40.4-1.8-59.6L9.5 374.3c-5.6-15.6 6-32.1 22.6-32.1c44.9 0 81.4-36.4 81.4-81.4V232zM292.7 341c44.2 19.7 75.2 63.4 76.7 114.5c24.5-7.3 50.6-8 75.4-1.9c-4.5-22.4-3.5-45.5 2.7-67.4c-54.7-14.1-95.3-62.9-97-121.6c-21.1 6.3-43.3 7.7-64.9 4.1c-5.4 19.2-4.7 39.7 2.1 58.5l5 13.9z\"]\n};\nvar faNose = {\n prefix: 'far',\n iconName: 'nose',\n icon: [448, 512, [], \"e5bd\", \"M205.3 12.9C199.2 1.2 184.7-3.4 172.9 2.7s-16.3 20.6-10.2 32.4C237 178 327.3 280.7 374.8 329.6c16 16.4 25.2 37.6 25.2 59.2c0 41.5-33.7 75.2-75.2 75.2H313.9l-17-17-30.1-30.1c-21.1-21.1-49.7-32.9-79.5-32.9c-32.8 0-59.4 26.6-59.4 59.4V448c0 35.3 28.7 64 64 64H324.8C392.8 512 448 456.8 448 388.8c0-35.4-15.1-68.3-38.8-92.7C363.7 249.4 276.8 150.4 205.3 12.9zm27.6 437.9L246.1 464H192c-8.8 0-16-7.2-16-16v-4.6c0-6.3 5.1-11.4 11.4-11.4c17.1 0 33.5 6.8 45.6 18.9zM141 303.5c13-2.8 21.2-15.5 18.4-28.5s-15.5-21.2-28.5-18.4l-22.8 4.9C45.1 274.9 0 330.7 0 395.2c0 40.6 18 79.1 49.2 105.1l7.4 6.2c10.2 8.5 25.3 7.1 33.8-3.1s7.1-25.3-3.1-33.8l-7.4-6.2C59.7 446.5 48 421.5 48 395.2c0-41.9 29.2-78 70.2-86.8l22.8-4.9z\"]\n};\nvar faArrowLeftToArc = {\n prefix: 'far',\n iconName: 'arrow-left-to-arc',\n icon: [512, 512, [], \"e616\", \"M48 256C48 141.1 141.1 48 256 48c13.3 0 24-10.7 24-24s-10.7-24-24-24C114.6 0 0 114.6 0 256S114.6 512 256 512c13.3 0 24-10.7 24-24s-10.7-24-24-24C141.1 464 48 370.9 48 256zM279.7 134.4l-112 104c-4.9 4.5-7.7 10.9-7.7 17.6s2.8 13 7.7 17.6l112 104c9.7 9 24.9 8.5 33.9-1.3s8.5-24.9-1.3-33.9L245.1 280H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H245.1l67.2-62.4c9.7-9 10.3-24.2 1.3-33.9s-24.2-10.3-33.9-1.3z\"]\n};\nvar faChevronLeft = {\n prefix: 'far',\n iconName: 'chevron-left',\n icon: [320, 512, [9001], \"f053\", \"M15 239c-9.4 9.4-9.4 24.6 0 33.9L207 465c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L65.9 256 241 81c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L15 239z\"]\n};\nvar faBacteria = {\n prefix: 'far',\n iconName: 'bacteria',\n icon: [640, 512, [], \"e059\", \"M304.9 .7c9.6 2.7 15.1 12.7 12.4 22.3l-2.9 10.3c15.4 7.9 28.3 20.5 36.4 36.4L361 66.7c9.6-2.7 19.5 2.8 22.3 12.4s-2.8 19.5-12.4 22.3l-11 3.1c.8 17.6-4.1 34.6-13.2 48.8l8 8c7 7 7 18.4 0 25.5s-18.4 7-25.5 0l-8-8c-7.9 5.1-16.8 8.9-26.4 11.1c-5.9 1.4-11.4 2.9-16.6 4.6l3 10.6c2.7 9.6-2.8 19.5-12.4 22.3s-19.5-2.8-22.3-12.4l-1.6-5.6c-17.8 10.8-29 23.4-36.5 34.5l8.5 3.6c9.1 3.9 13.4 14.5 9.5 23.6s-14.5 13.4-23.6 9.5l-9.6-4.1c-.8 2.9-1.4 5.8-1.8 8.7c-1.4 13.3-6 25.6-12.7 36.2l8 8c7 7 7 18.4 0 25.5s-18.4 7-25.5 0l-8-8c-14.1 9-31 13.9-48.8 13.2l-3.1 11c-2.7 9.6-12.7 15.1-22.3 12.4S64 370.6 66.7 361l2.9-10.3c-15.7-8.1-28.4-20.9-36.4-36.4l-10.3 2.9C13.4 320 3.4 314.5 .7 304.9s2.8-19.5 12.4-22.3l11-3.1c-.2-3.7-.1-7.4 .3-11.2c1.1-12.1 3.8-24.2 7-35.9c.2-.8 .4-1.5 .7-2.3l-8.7-3.5c-9.2-3.7-13.7-14.2-10-23.4s14.2-13.7 23.4-10l7.4 3c4.6-10.7 10.3-22.2 17.4-34c1.4-2.4 2.9-4.8 4.5-7.3l-11.2-9c-7.8-6.2-9-17.5-2.8-25.3s17.5-9 25.3-2.8L87.3 126c10.2-12.2 22-24.1 35.5-35.3L117 82c-5.5-8.3-3.3-19.4 5-25s19.4-3.3 25 5l4.9 7.4c13.7-8.8 28.7-16.8 45.2-23.9l-3.6-8.5c-3.9-9.1 .3-19.7 9.5-23.6s19.7 .3 23.6 9.5l4.4 10.3c8.4-2.6 17.1-4.9 26.2-7c7.5-1.7 15.1-2.4 22.4-2.1l3.1-11C285.4 3.5 295.4-2 304.9 .7zM143.8 279.9c.1-.7 .2-1.4 .3-2.1c3.2-20.9 11.7-39.5 20.3-53.8c18-30 52.2-65.4 119.7-80.9c19.4-4.5 31.5-23.8 27-43.2s-23.8-31.5-43.2-27c-88.4 20.4-138.2 69-165.3 114.1c-13.3 22.1-20.8 42.9-25 58.3c-2.8 10-4.7 19.2-5.5 27.6c-1.8 19.8 12.8 37.2 32.6 39c19.6 1.8 36.9-12.5 39-31.9zm352.4-47.8c-.1 .7-.2 1.4-.3 2.1c-3.2 20.9-11.7 39.5-20.3 53.8c-18 30-52.2 65.4-119.7 80.9c-19.4 4.5-31.5 23.8-27 43.2s23.8 31.5 43.2 27c88.4-20.4 138.2-69 165.3-114.1c13.3-22.1 20.8-42.9 25-58.3c2.8-10 4.7-19.2 5.5-27.6c1.8-19.8-12.8-37.2-32.6-39c-19.6-1.8-36.9 12.5-39 31.9zm39.3-80l3.1-11c2.7-9.6 12.7-15.1 22.3-12.4s15.1 12.7 12.4 22.3l-2.9 10.3c15.7 8.1 28.4 20.9 36.4 36.4l10.3-2.9c9.6-2.7 19.5 2.8 22.2 12.4s-2.8 19.5-12.4 22.3l-11 3.1c.2 3.7 .1 7.4-.3 11.2c-1.1 12.1-3.8 24.2-7 35.9l-.2 .8-.4 1.5 8.7 3.5c9.2 3.7 13.7 14.2 10 23.4s-14.2 13.7-23.4 10l-7.4-3c-4.6 10.7-10.3 22.2-17.4 34c-1.4 2.4-3 4.8-4.5 7.3l11.2 9c7.8 6.2 9 17.5 2.8 25.3s-17.5 9-25.3 2.8L552.7 386c-10.2 12.2-22 24.1-35.5 35.3L523 430c5.5 8.3 3.3 19.4-5 25s-19.4 3.3-25-5l-4.9-7.4c-13.7 8.8-28.7 16.8-45.2 23.9l3.6 8.5c3.9 9.1-.3 19.7-9.5 23.6s-19.7-.3-23.6-9.5l-4.4-10.3c-8.4 2.6-17.1 4.9-26.2 7c-7.5 1.7-15.1 2.4-22.5 2.1l-3.1 11c-2.7 9.6-12.7 15.1-22.2 12.4s-15.1-12.7-12.4-22.3l3-10.3c-15.4-7.9-28.3-20.5-36.4-36.4l-10.3 2.9c-9.6 2.7-19.5-2.8-22.3-12.4s2.8-19.5 12.4-22.2l11-3.1c-.8-17.6 4.1-34.6 13.2-48.8l-8-8c-7-7-7-18.4 0-25.5s18.4-7 25.5 0l8 8c7.9-5.1 16.8-8.9 26.4-11.1c5.9-1.4 11.4-2.9 16.6-4.6l-3-10.6c-2.7-9.6 2.8-19.5 12.4-22.3s19.5 2.8 22.3 12.4l1.6 5.6c17.8-10.8 29-23.4 36.5-34.5l-8.5-3.6c-9.1-3.9-13.4-14.5-9.5-23.6s14.5-13.4 23.6-9.5l9.6 4.1c.8-2.9 1.4-5.8 1.8-8.7c1.4-13.3 5.9-25.6 12.7-36.2l-8-8c-7-7-7-18.4 0-25.5s18.4-7 25.5 0l8 8c14.1-9 31-13.9 48.8-13.2zM192 128a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM96 240a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM400 384a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faClouds = {\n prefix: 'far',\n iconName: 'clouds',\n icon: [640, 512, [], \"f744\", \"M272 112c0 .7 0 1.4 0 2c-.3 10.3 6 19.7 15.6 23.2s20.5 .6 27-7.4c8.8-10.9 22.3-17.9 37.4-17.9c26.5 0 48 21.5 48 48c0 8.7-2.3 16.8-6.3 23.8c3.6 2.3 7.1 4.8 10.6 7.4c12.8-4.4 26.5-6.8 40.7-7.2c2-7.7 3-15.7 3-24c0-53-43-96-96-96c-14 0-27.2 3-39.2 8.4C296.8 30.1 255.9 0 208 0C151.6 0 104.9 41.7 97.1 96L96 96C43 96 0 139 0 192s43 96 96 96h65.9c2.7-17.1 8.3-33.3 16.2-48H96c-26.5 0-48-21.5-48-48s21.5-48 48-48c5.9 0 11.4 1 16.6 2.9c7.9 2.9 16.8 1.5 23.4-3.8s9.9-13.7 8.7-22c-.4-2.9-.6-6-.6-9.1c0-35.3 28.7-64 64-64s64 28.7 64 64zM240 312c0-39.8 32.2-72 72-72c25.8 0 48.5 13.6 61.2 34c3.8 6.1 10.1 10.2 17.2 11.1s14.3-1.3 19.5-6.2c10-9.3 23.4-15 38.1-15c29 0 52.9 22.1 55.7 50.4c1.2 12.3 11.6 21.7 23.9 21.6l.3 0h0c35.3 0 64 28.7 64 64s-28.7 64-64 64H236h-1.9c-.3 0-.7-.1-1-.1C201.3 462.4 176 436.2 176 404c0-28.3 19.6-52.1 46.1-58.4c11.8-2.8 19.6-13.9 18.3-25.9c-.3-2.5-.4-5.1-.4-7.7zm72-120c-64 0-116.3 50.1-119.8 113.3C154.4 322.1 128 359.9 128 404c0 57.1 44.3 103.9 100.5 107.7c1.2 .2 2.3 .3 3.5 .3h4H528c61.9 0 112-50.1 112-112c0-55.2-39.9-101.1-92.5-110.3C534.5 247 494.9 216 448 216c-18 0-34.9 4.6-49.7 12.6C376.5 206.1 345.9 192 312 192z\"]\n};\nvar faMoneyBillSimple = {\n prefix: 'far',\n iconName: 'money-bill-simple',\n icon: [576, 512, [], \"e1f1\", \"M64 112c-8.8 0-16 7.2-16 16V384c0 8.8 7.2 16 16 16H512c8.8 0 16-7.2 16-16V128c0-8.8-7.2-16-16-16H64zM0 128C0 92.7 28.7 64 64 64H512c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128zm288 32a96 96 0 1 1 0 192 96 96 0 1 1 0-192z\"]\n};\nvar faHandLizard = {\n prefix: 'far',\n iconName: 'hand-lizard',\n icon: [512, 512, [], \"f258\", \"M72 112c-13.3 0-24 10.7-24 24s10.7 24 24 24H240c35.3 0 64 28.7 64 64s-28.7 64-64 64H136c-13.3 0-24 10.7-24 24s10.7 24 24 24H288c4.5 0 8.9 1.3 12.7 3.6l64 40c7 4.4 11.3 12.1 11.3 20.4v24c0 13.3-10.7 24-24 24s-24-10.7-24-24V413.3L281.1 384H136c-39.8 0-72-32.2-72-72s32.2-72 72-72H240c8.8 0 16-7.2 16-16s-7.2-16-16-16H72c-39.8 0-72-32.2-72-72S32.2 64 72 64H281.6c46.7 0 90.9 21.5 119.7 58.3l78.4 100.1c20.9 26.7 32.3 59.7 32.3 93.7V424c0 13.3-10.7 24-24 24s-24-10.7-24-24V316.1c0-23.2-7.8-45.8-22.1-64.1L363.5 151.9c-19.7-25.2-49.9-39.9-81.9-39.9H72z\"]\n};\nvar faTablePivot = {\n prefix: 'far',\n iconName: 'table-pivot',\n icon: [512, 512, [], \"e291\", \"M464 416c0 8.8-7.2 16-16 16H128V192H0V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H160V160H464V416zM64 32C28.7 32 0 60.7 0 96v64H128V32H64zM414.8 246.1c2.5-6 1.1-12.9-3.5-17.4l-32-32c-6.2-6.2-16.4-6.2-22.6 0l-32 32c-4.6 4.6-5.9 11.5-3.5 17.4s8.3 9.9 14.8 9.9h16v48c0 8.8-7.2 16-16 16H288V304c0-6.5-3.9-12.3-9.9-14.8s-12.9-1.1-17.4 3.5l-32 32c-6.2 6.2-6.2 16.4 0 22.6l32 32c4.6 4.6 11.5 5.9 17.4 3.5s9.9-8.3 9.9-14.8V352h48c26.5 0 48-21.5 48-48V256h16c6.5 0 12.3-3.9 14.8-9.9z\"]\n};\nvar faFilterSlash = {\n prefix: 'far',\n iconName: 'filter-slash',\n icon: [640, 512, [], \"e17d\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L408.1 294.6 566.6 100c6.1-7.4 9.4-16.7 9.4-26.3c0-23-18.7-41.7-41.7-41.7h-429c-8.6 0-16.5 2.6-23.1 7.1L38.8 5.1zM134.4 80H521L370.3 265 134.4 80zM288 364.4V322.9l-48-37.8v83.2c0 12.2 5.6 23.7 15.1 31.3L347.6 473c5.7 4.5 12.8 7 20.1 7c17.8 0 32.3-14.5 32.3-32.3V411.2l-48-37.8v41.9l-64-50.8z\"]\n};\nvar faTrashCanUndo = {\n prefix: 'far',\n iconName: 'trash-can-undo',\n icon: [448, 512, [\"trash-can-arrow-turn-left\", \"trash-undo-alt\"], \"f896\", \"M170.5 51.6L151.5 80h145l-19-28.4c-1.5-2.2-4-3.6-6.7-3.6H177.1c-2.7 0-5.2 1.3-6.7 3.6zm147-26.6L354.2 80H368h48 8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8V432c0 44.2-35.8 80-80 80H112c-44.2 0-80-35.8-80-80V128H24c-13.3 0-24-10.7-24-24S10.7 80 24 80h8H80 93.8l36.7-55.1C140.9 9.4 158.4 0 177.1 0h93.7c18.7 0 36.2 9.4 46.6 24.9zM80 128V432c0 17.7 14.3 32 32 32H336c17.7 0 32-14.3 32-32V128H80zm145.9 64.1c8.8 9.9 7.9 25.1-2 33.9L199.1 248H240c48.6 0 88 39.4 88 88v24c0 13.3-10.7 24-24 24s-24-10.7-24-24V336c0-22.1-17.9-40-40-40H199.1l24.8 22.1c9.9 8.8 10.8 24 2 33.9s-24 10.8-33.9 2l-72-64c-5.1-4.6-8.1-11.1-8.1-17.9s2.9-13.4 8.1-17.9l72-64c9.9-8.8 25.1-7.9 33.9 2z\"]\n};\nvar faTrashCanArrowTurnLeft = faTrashCanUndo;\nvar faTrashUndoAlt = faTrashCanUndo;\nvar faNotdef = {\n prefix: 'far',\n iconName: 'notdef',\n icon: [384, 512, [], \"e1fe\", \"M48 421.8L162.8 256 48 90.2V421.8zM77.2 464H306.8L192 298.2 77.2 464zm144-208L336 421.8V90.2L221.2 256zM306.8 48H77.2L192 213.8 306.8 48zM0 48C0 21.5 21.5 0 48 0H336c26.5 0 48 21.5 48 48V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V48z\"]\n};\nvar faDisease = {\n prefix: 'far',\n iconName: 'disease',\n icon: [512, 512, [], \"f7fa\", \"M64.1 286.3c0-19.3-8.3-37.6-22.8-50.3L21.8 219C8 206.9 .1 189.5 .1 171.2c0-39.3 35.3-69.3 74.1-62.8l55.6 9.3c37.9 6.3 76-10.2 97.3-42.1l9.4-14.1C248.7 43 269.2 32 291.3 32c30.9 0 57.6 21.4 64.3 51.5l7.1 31.5c8.1 36.2 37.1 64 73.6 70.7l28 5.1c27.7 5.1 47.8 29.2 47.8 57.3c0 24.1-14.8 45.6-37.2 54.3L438 316.7c-32.5 12.6-53.9 43.9-53.9 78.8l0 25.2c0 32.7-26.5 59.3-59.3 59.3c-13.5 0-26.5-4.6-37-13l-30.9-24.7c-21.3-17-47.7-26.3-75-26.3h-7.4c-9.6 0-19.2 1.2-28.5 3.5L91 433.2c-32.6 8.2-65.7-11.7-73.8-44.3c-5.7-22.6 2.1-46.4 20-61.4L49.8 317c9.1-7.6 14.3-18.9 14.3-30.7zM267 102.1c-31.8 47.7-88.6 72.3-145.1 62.9l-55.6-9.3c-9.5-1.6-18.2 5.8-18.2 15.4c0 4.5 1.9 8.8 5.3 11.7l19.5 17.1c24.9 21.8 39.2 53.3 39.2 86.4c0 26.1-11.5 50.8-31.5 67.5L68 364.3c-3.8 3.2-5.4 8.2-4.2 13c1.7 6.9 8.7 11.1 15.6 9.4l54.9-13.7c13.1-3.3 26.6-4.9 40.1-4.9h7.4c38.1 0 75.2 13 104.9 36.8l30.9 24.7c2 1.6 4.5 2.5 7 2.5c6.2 0 11.3-5 11.3-11.3l0-25.2c0-54.7 33.6-103.7 84.6-123.5l36.9-14.3c4-1.5 6.6-5.3 6.6-9.6c0-5-3.5-9.2-8.4-10.1l-28-5.1c-55.4-10.1-99.4-52.4-111.8-107.4L308.8 94c-1.8-8.2-9.1-14-17.5-14c-6 0-11.6 3-14.9 8L267 102.1zM160 192a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm96 128a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm48-128a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faPersonToDoor = {\n prefix: 'far',\n iconName: 'person-to-door',\n icon: [576, 512, [58704], \"e433\", \"M272 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-90.7 12.6c-14-3.5-28.7-3.5-42.7 0l-1.8 .5c-13.3 3.3-25.6 9.7-35.9 18.6L56.4 165.8c-10.1 8.6-11.2 23.8-2.6 33.8s23.8 11.2 33.8 2.6l44.5-38.2c4.7-4 10.3-6.9 16.3-8.4l1.8-.5c6.4-1.6 13-1.6 19.4 0l8.6 2.1-32.7 98c-8.5 25.5 2.3 53.4 25.7 66.5l88 49.5L225.1 480.8c-4 12.7 3.1 26.1 15.7 30.1s26.1-3.1 30.1-15.8L307 379.5c5.6-18-2.1-37.5-18.6-46.8l-32.1-18 28.1-84.4 5.6 18.2c7.2 23.5 28.9 39.5 53.5 39.5H392c13.3 0 24-10.7 24-24s-10.7-24-24-24H343.6c-3.5 0-6.6-2.3-7.6-5.6l-19.7-64.2c-5.8-18.7-20.9-33.1-39.9-37.9l-95-23.7zm70.8 67.2l-38.3 115-19-10.7c-3.3-1.9-4.9-5.9-3.7-9.5L225 169l27.1 6.8zM122.5 317.1L103.4 368H24c-13.3 0-24 10.7-24 24s10.7 24 24 24h84.9c16.7 0 31.6-10.3 37.4-25.9l14.1-37.6-4.9-2.8c-14.1-8-25.4-19.3-33-32.6zM528 48V464H432V303.2c-10.2 10.4-24.3 16.8-40 16.8c-2.7 0-5.4-.2-8-.6V464c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H432c-26.5 0-48 21.5-48 48V208.6c2.6-.4 5.3-.6 8-.6c15.7 0 29.8 6.4 40 16.8V48h96z\"]\n};\nvar faTurntable = {\n prefix: 'far',\n iconName: 'turntable',\n icon: [576, 512, [], \"f8e4\", \"M512 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H512zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM224 400a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-176a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm272-88c0-13.3-10.7-24-24-24s-24 10.7-24 24V271.7c0 6.7-1.7 13.3-4.9 19.2l-40.2 73.7c-6.3 11.6-2.1 26.2 9.6 32.6s26.2 2.1 32.6-9.6l40.2-73.7c7-12.9 10.7-27.4 10.7-42.1V136z\"]\n};\nvar faBriefcaseMedical = {\n prefix: 'far',\n iconName: 'briefcase-medical',\n icon: [512, 512, [], \"f469\", \"M184 48H328c4.4 0 8 3.6 8 8V96H176V56c0-4.4 3.6-8 8-8zm-56 8V96H64C28.7 96 0 124.7 0 160V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H384V56c0-30.9-25.1-56-56-56H184c-30.9 0-56 25.1-56 56zm24 88H360h88c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V160c0-8.8 7.2-16 16-16h88zm72 64v48H176c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320h48c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H288V208c0-8.8-7.2-16-16-16H240c-8.8 0-16 7.2-16 16z\"]\n};\nvar faGenderless = {\n prefix: 'far',\n iconName: 'genderless',\n icon: [384, 512, [], \"f22d\", \"M192 128a128 128 0 1 1 0 256 128 128 0 1 1 0-256zm0 304a176 176 0 1 0 0-352 176 176 0 1 0 0 352z\"]\n};\nvar faChevronRight = {\n prefix: 'far',\n iconName: 'chevron-right',\n icon: [320, 512, [9002], \"f054\", \"M305 239c9.4 9.4 9.4 24.6 0 33.9L113 465c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l175-175L79 81c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L305 239z\"]\n};\nvar faSignalWeak = {\n prefix: 'far',\n iconName: 'signal-weak',\n icon: [640, 512, [\"signal-1\"], \"f68c\", \"M64 384c13.3 0 24 10.7 24 24v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V408c0-13.3 10.7-24 24-24z\"]\n};\nvar faSignal1 = faSignalWeak;\nvar faClockFive = {\n prefix: 'far',\n iconName: 'clock-five',\n icon: [512, 512, [], \"e349\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM280 120V248.7l60 90c7.4 11 4.4 25.9-6.7 33.3s-25.9 4.4-33.3-6.7l-64-96c-2.6-3.9-4-8.6-4-13.3V120c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faRetweet = {\n prefix: 'far',\n iconName: 'retweet',\n icon: [576, 512, [], \"f079\", \"M120 208h31c22.6 0 41-18.3 41-41c0-10.9-4.3-21.3-12-29L113 71c-4.5-4.5-10.6-7-17-7s-12.5 2.5-17 7l-67 67c-7.7 7.7-12 18.1-12 29c0 22.6 18.3 41 41 41H72V328c0 48.6 39.4 88 88 88H296c13.3 0 24-10.7 24-24s-10.7-24-24-24H160c-22.1 0-40-17.9-40-40V208zM96 121.9L134.1 160l-76.1 0L96 121.9zM504 304V184c0-48.6-39.4-88-88-88H280c-13.3 0-24 10.7-24 24s10.7 24 24 24H416c22.1 0 40 17.9 40 40V304H425c-22.6 0-41 18.3-41 41c0 10.9 4.3 21.3 12 29l67 67c4.5 4.5 10.6 7 17 7s12.5-2.5 17-7l67-67c7.7-7.7 12-18.1 12-29c0-22.6-18.3-41-41-41H504zm-24 86.1L441.9 352h76.1L480 390.1z\"]\n};\nvar faCarRear = {\n prefix: 'far',\n iconName: 'car-rear',\n icon: [512, 512, [\"car-alt\"], \"f5de\", \"M165.4 80H346.6c17 0 32.1 10.7 37.8 26.8L408.6 176H103.4l24.2-69.2c5.6-16 20.8-26.8 37.8-26.8zM82.3 90.9L48.1 188.8C19.3 205.4 0 236.4 0 272v64c0 23.7 12.9 44.4 32 55.4V456c0 13.3 10.7 24 24 24s24-10.7 24-24V400H432v56c0 13.3 10.7 24 24 24s24-10.7 24-24V391.4c19.1-11.1 32-31.7 32-55.4V272c0-35.6-19.4-66.6-48.1-83.2L429.7 90.9C417.3 55.6 384 32 346.6 32H165.4C128 32 94.7 55.6 82.3 90.9zM96 224H416c20.9 0 38.7 13.4 45.3 32H408c-13.3 0-24 10.7-24 24s10.7 24 24 24h56v32c0 8.8-7.2 16-16 16H320V320c0-17.7-14.3-32-32-32H224c-17.7 0-32 14.3-32 32v32H64c-8.8 0-16-7.2-16-16V304h56c13.3 0 24-10.7 24-24s-10.7-24-24-24H50.7c6.6-18.6 24.4-32 45.3-32z\"]\n};\nvar faCarAlt = faCarRear;\nvar faPumpSoap = {\n prefix: 'far',\n iconName: 'pump-soap',\n icon: [448, 512, [], \"e06b\", \"M112 56c0-30.9 25.1-56 56-56h48c25.4 0 46.8 16.9 53.7 40h46.4c19.1 0 37.4 7.6 50.9 21.1L409 103c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L333.1 95c-4.5-4.5-10.6-7-17-7H272v40H224V56c0-4.4-3.6-8-8-8H168c-4.4 0-8 3.6-8 8v72H112V56zM101.5 222.7l-18.7 224C82.1 456 89.4 464 98.8 464H285.2c9.4 0 16.7-8 15.9-17.3l-18.7-224c-.7-8.3-7.6-14.7-15.9-14.7H117.4c-8.3 0-15.3 6.4-15.9 14.7zm-47.8-4c2.8-33.2 30.5-58.7 63.8-58.7H266.6c33.3 0 61 25.5 63.8 58.7l18.7 224c3.1 37.3-26.3 69.3-63.8 69.3H98.8c-37.4 0-66.9-32-63.8-69.3l18.7-224zm125.8 59.9c2.9-4.1 7.5-6.6 12.6-6.6s9.7 2.5 12.6 6.6l33.3 48.1c6.6 9.5 10.1 20.8 10.1 32.4v.9c0 30.9-25.1 56-56 56s-56-25.1-56-56v-.9c0-11.6 3.5-22.9 10.1-32.4l33.3-48.1z\"]\n};\nvar faComputerClassic = {\n prefix: 'far',\n iconName: 'computer-classic',\n icon: [448, 512, [], \"f8b1\", \"M384 48c8.8 0 16 7.2 16 16V368c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H384zM64 0C28.7 0 0 28.7 0 64V368c0 23.7 12.9 44.4 32 55.4V480c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V423.4c19.1-11.1 32-31.7 32-55.4V64c0-35.3-28.7-64-64-64H64zM80 432H368v32H80V432zm0-320v96c0 17.7 14.3 32 32 32H336c17.7 0 32-14.3 32-32V112c0-17.7-14.3-32-32-32H112c-17.7 0-32 14.3-32 32zM208 320c0 8.8 7.2 16 16 16H352c8.8 0 16-7.2 16-16s-7.2-16-16-16H224c-8.8 0-16 7.2-16 16zm-88 32a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faFrame = {\n prefix: 'far',\n iconName: 'frame',\n icon: [448, 512, [], \"e495\", \"M448 120c0-13.3-10.7-24-24-24l-40 0 0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40L112 96l0-40c0-13.3-10.7-24-24-24S64 42.7 64 56l0 40L24 96C10.7 96 0 106.7 0 120s10.7 24 24 24l40 0 0 224-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0 0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40 224 0 0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40 40 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-40 0 0-224 40 0c13.3 0 24-10.7 24-24zM112 368l0-224 224 0 0 224-224 0z\"]\n};\nvar faVideoSlash = {\n prefix: 'far',\n iconName: 'video-slash',\n icon: [640, 512, [], \"f4e2\", \"M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1L113.9 64H352c35.3 0 64 28.7 64 64v33V288v12.8L560 413.6V363.4 352 288 148.6L448 199V146.4L552.3 99.5c5.1-2.3 10.6-3.5 16.2-3.5c21.8 0 39.5 17.7 39.5 39.5V352v24.5 74.8l22.8 17.9c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2zM368 263.1V128c0-8.8-7.2-16-16-16H175.2L368 263.1zM32 128c0-2.2 .1-4.4 .3-6.5L80 159V384c0 8.8 7.2 16 16 16H352c8.2 0 15-6.2 15.9-14.1L407 416.7c-11.2 18.7-31.6 31.3-55 31.3H96c-35.3 0-64-28.7-64-64V128z\"]\n};\nvar faBatteryQuarter = {\n prefix: 'far',\n iconName: 'battery-quarter',\n icon: [576, 512, [\"battery-2\"], \"f243\", \"M464 144c17.7 0 32 14.3 32 32V336c0 17.7-14.3 32-32 32H80c-17.7 0-32-14.3-32-32V176c0-17.7 14.3-32 32-32H464zM80 96C35.8 96 0 131.8 0 176V336c0 44.2 35.8 80 80 80H464c44.2 0 80-35.8 80-80V320c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32V176c0-44.2-35.8-80-80-80H80zm112 96H96V320h96V192z\"]\n};\nvar faBattery2 = faBatteryQuarter;\nvar faEllipsisStroke = {\n prefix: 'far',\n iconName: 'ellipsis-stroke',\n icon: [512, 512, [\"ellipsis-h-alt\"], \"f39b\", \"M416 280a24 24 0 1 1 0-48 24 24 0 1 1 0 48zm0-88a64 64 0 1 0 0 128 64 64 0 1 0 0-128zM256 280a24 24 0 1 1 0-48 24 24 0 1 1 0 48zm0-88a64 64 0 1 0 0 128 64 64 0 1 0 0-128zM120 256a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zm-88 0a64 64 0 1 0 128 0A64 64 0 1 0 32 256z\"]\n};\nvar faEllipsisHAlt = faEllipsisStroke;\nvar faRadio = {\n prefix: 'far',\n iconName: 'radio',\n icon: [512, 512, [128251], \"f8d7\", \"M494.4 47.1c12.8-3.5 20.3-16.7 16.8-29.5S494.4-2.7 481.6 .9L52.9 119.1C21.6 127.8 0 156.2 0 188.5V192 304 448c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V192c0-35.3-28.7-64-64-64H201.2L494.4 47.1zM48 192c0-8.8 7.2-16 16-16H448c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V304 192zm304 96a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 112a80 80 0 1 0 0-160 80 80 0 1 0 0 160zM112 240c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H112zM96 304c-8.8 0-16 7.2-16 16s7.2 16 16 16H224c8.8 0 16-7.2 16-16s-7.2-16-16-16H96zm16 64c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H112z\"]\n};\nvar faBabyCarriage = {\n prefix: 'far',\n iconName: 'baby-carriage',\n icon: [512, 512, [\"carriage-baby\"], \"f77d\", \"M138.9 22.9L256 192H400V152c0-30.9 25.1-56 56-56h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H456c-4.4 0-8 3.6-8 8v40 32c0 28-6.1 55.6-17.7 81.1c-11.6 25.5-28.6 48.4-49.5 67.5c-21 19.1-45.6 34-72.5 44.1S252.8 432 224 432s-57.4-5.2-84.3-15.3s-51.5-25-72.5-44.1s-37.9-42-49.5-67.5C6.1 279.6 0 252 0 224V192H.1C2.7 117.9 41.3 52.9 99 14.1c13.3-8.9 30.8-4.3 39.9 8.8zM80 416a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm240 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM56.1 272c1.5 4.5 3.3 8.9 5.3 13.2c8.8 19.4 21.8 37 38.2 51.9s35.7 26.6 57.1 34.7s44.2 12.2 67.4 12.2s46-4.1 67.4-12.2s40.8-19.8 57.1-34.7s29.3-32.5 38.2-51.9c2-4.3 3.7-8.8 5.3-13.2c3.6-10.4 6-21.1 7.2-32H48.9c1.2 10.9 3.6 21.6 7.2 32z\"]\n};\nvar faCarriageBaby = faBabyCarriage;\nvar faFaceExpressionless = {\n prefix: 'far',\n iconName: 'face-expressionless',\n icon: [512, 512, [], \"e373\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm160 72H352c13.3 0 24 10.7 24 24s-10.7 24-24 24H160c-13.3 0-24-10.7-24-24s10.7-24 24-24zM128 208c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16zm176-16h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H304c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faDownToDottedLine = {\n prefix: 'far',\n iconName: 'down-to-dotted-line',\n icon: [448, 512, [], \"e408\", \"M114.2 224L224 334 333.8 224 280 224c-13.3 0-24-10.7-24-24l0-120-64 0 0 120c0 13.3-10.7 24-24 24l-53.8 0zM224 384c-11.5 0-22.5-4.6-30.6-12.7L77.6 255.2C68.9 246.5 64 234.7 64 222.4c0-25.6 20.8-46.4 46.4-46.4l33.6 0 0-96c0-26.5 21.5-48 48-48l64 0c26.5 0 48 21.5 48 48l0 96 33.6 0c25.6 0 46.4 20.8 46.4 46.4c0 12.3-4.9 24.1-13.6 32.8L254.6 371.3c-8.1 8.1-19.1 12.7-30.6 12.7zm192 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm-96 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm-64 32a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM128 416a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM64 448A32 32 0 1 1 0 448a32 32 0 1 1 64 0z\"]\n};\nvar faCloudMusic = {\n prefix: 'far',\n iconName: 'cloud-music',\n icon: [640, 512, [], \"f8ae\", \"M354.9 121.7c13.8 16 36.5 21.1 55.9 12.5c8.9-3.9 18.7-6.2 29.2-6.2c39.8 0 72 32.2 72 72c0 4-.3 7.9-.9 11.7c-3.5 21.6 8.1 42.9 28.1 51.7C570.4 276.9 592 308 592 344c0 46.8-36.6 85.2-82.8 87.8c-.6 0-1.3 .1-1.9 .2H504 144c-53 0-96-43-96-96c0-41.7 26.6-77.3 64-90.5c19.2-6.8 32-24.9 32-45.3l0-.2v0 0c0-66.3 53.7-120 120-120c36.3 0 68.8 16.1 90.9 41.7zM512 480v-.2c71.4-4.1 128-63.3 128-135.8c0-55.7-33.5-103.7-81.5-124.7c1-6.3 1.5-12.8 1.5-19.3c0-66.3-53.7-120-120-120c-17.4 0-33.8 3.7-48.7 10.3C360.4 54.6 314.9 32 264 32C171.2 32 96 107.2 96 200l0 .2C40.1 220 0 273.3 0 336c0 79.5 64.5 144 144 144H464h40 8zM416 184c0-5.2-2.6-10.2-6.9-13.2s-9.8-3.7-14.7-1.8l-128 48c-6.2 2.3-10.4 8.3-10.4 15v32 81.8c-5-1.2-10.4-1.8-16-1.8c-26.5 0-48 14.3-48 32s21.5 32 48 32s48-14.3 48-32V275.1l96-36v74.7c-5-1.2-10.4-1.8-16-1.8c-26.5 0-48 14.3-48 32s21.5 32 48 32s48-14.3 48-32V216 184z\"]\n};\nvar faTrafficLight = {\n prefix: 'far',\n iconName: 'traffic-light',\n icon: [320, 512, [128678], \"f637\", \"M64 48c-8.8 0-16 7.2-16 16V352c0 61.9 50.1 112 112 112s112-50.1 112-112V64c0-8.8-7.2-16-16-16H64zM0 64C0 28.7 28.7 0 64 0H256c35.3 0 64 28.7 64 64V352c0 88.4-71.6 160-160 160S0 440.4 0 352V64zM160 424a48 48 0 1 1 0-96 48 48 0 1 1 0 96zm48-168a48 48 0 1 1 -96 0 48 48 0 1 1 96 0zm-48-72a48 48 0 1 1 0-96 48 48 0 1 1 0 96z\"]\n};\nvar faCloudMinus = {\n prefix: 'far',\n iconName: 'cloud-minus',\n icon: [640, 512, [], \"e35d\", \"M354.9 121.7c13.8 16 36.5 21.1 55.9 12.5c8.9-3.9 18.7-6.2 29.2-6.2c39.8 0 72 32.2 72 72c0 4-.3 7.9-.9 11.7c-3.5 21.6 8.1 42.9 28.1 51.7C570.4 276.9 592 308 592 344c0 46.8-36.6 85.2-82.8 87.8c-.6 0-1.3 .1-1.9 .2H504 144c-53 0-96-43-96-96c0-41.7 26.6-77.3 64-90.5c19.2-6.8 32-24.9 32-45.3l0-.2v0 0c0-66.3 53.7-120 120-120c36.3 0 68.8 16.1 90.9 41.7zM512 480v-.2c71.4-4.1 128-63.3 128-135.8c0-55.7-33.5-103.7-81.5-124.7c1-6.3 1.5-12.8 1.5-19.3c0-66.3-53.7-120-120-120c-17.4 0-33.8 3.7-48.7 10.3C360.4 54.6 314.9 32 264 32C171.2 32 96 107.2 96 200l0 .2C40.1 220 0 273.3 0 336c0 79.5 64.5 144 144 144H464h40 8zM248 264c-13.3 0-24 10.7-24 24s10.7 24 24 24H392c13.3 0 24-10.7 24-24s-10.7-24-24-24H248z\"]\n};\nvar faThermometer = {\n prefix: 'far',\n iconName: 'thermometer',\n icon: [512, 512, [], \"f491\", \"M369.8 64.2c10.3-10.4 24.4-16.2 39-16.2c30.5 0 55.2 24.7 55.2 55.2c0 14.6-5.8 28.7-16.2 39L224.4 365.7c-1.5 1.5-3.5 2.3-5.7 2.3H144V293.3c0-2.1 .8-4.2 2.3-5.7l27.3-27.3 31 31c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-31-31 41.4-41.4 31 31c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-31-31 41.4-41.4 31 31c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-31-31 45.5-45.5zM96 293.3v88.8L7 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l89-89h88.8c14.9 0 29.1-5.9 39.6-16.4L481.8 176.2c19.4-19.4 30.2-45.6 30.2-73C512 46.2 465.8 0 408.8 0c-27.4 0-53.6 10.9-73 30.2L112.4 253.7C101.9 264.2 96 278.4 96 293.3z\"]\n};\nvar faShieldMinus = {\n prefix: 'far',\n iconName: 'shield-minus',\n icon: [512, 512, [], \"e249\", \"M73 127L256 49.4 439 127c5.9 2.5 9.1 7.8 9 12.8c-.4 91.4-38.4 249.3-186.3 320.1c-3.6 1.7-7.8 1.7-11.3 0C102.4 389 64.5 231.2 64 139.7c0-5 3.1-10.2 9-12.8zM457.7 82.8L269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.8 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2zM184 232c-13.3 0-24 10.7-24 24s10.7 24 24 24H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H184z\"]\n};\nvar faVrCardboard = {\n prefix: 'far',\n iconName: 'vr-cardboard',\n icon: [640, 512, [], \"f729\", \"M560 112H80c-17.7 0-32 14.3-32 32V368c0 17.7 14.3 32 32 32H190.6c12.1 0 23.2-6.8 28.6-17.7l34.7-69.5C266.4 287.8 292 272 320 272s53.6 15.8 66.1 40.8l34.7 69.5c5.4 10.8 16.5 17.7 28.6 17.7H560c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM80 64H560c44.2 0 80 35.8 80 80V368c0 44.2-35.8 80-80 80H449.4c-30.3 0-58-17.1-71.6-44.2l-34.7-69.5c-4.4-8.8-13.4-14.3-23.2-14.3s-18.8 5.5-23.2 14.3l-34.7 69.5c-13.6 27.1-41.3 44.2-71.6 44.2H80c-44.2 0-80-35.8-80-80V144C0 99.8 35.8 64 80 64zM96 240a64 64 0 1 1 128 0A64 64 0 1 1 96 240zm384-64a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]\n};\nvar faCarTilt = {\n prefix: 'far',\n iconName: 'car-tilt',\n icon: [640, 512, [], \"f5e5\", \"M142.2 101.6L307.3 57.4c16.4-4.4 33.8 2.1 43.4 16.1l38.6 56.6L107.5 205.6l5.1-68.4c1.3-17 13.1-31.2 29.5-35.6zM64.8 133.7l-7.6 101c-21.4 23.4-30.7 56.8-21.9 89.7l18.5 69.1L60 416.5l6.2 23.3L72.7 464H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H616c13.3 0 24-10.7 24-24s-10.7-24-24-24H120.5l-9.7-36.1 1.7-.5L495.8 324.7l1.7-.5 13.9 52.1c3.3 12.3 16 19.6 28.3 16.3s19.6-16 16.3-28.3l-13.9-52.1 0 0L529.8 266l-18.5-69.1c-8.8-32.9-33.6-57.1-63.8-66.7L390.4 46.4C369.3 15.5 331 1.3 294.9 11L129.8 55.2c-36.1 9.7-62.2 41.1-65 78.4zm50.8 119.5l290.5-77.8c25.6-6.9 51.9 8.3 58.8 33.9l18.5 69.1L100.2 381.1 81.7 311.9c-6.9-25.6 8.3-51.9 33.9-58.8zm56.6 46.7a30.8 30.8 0 1 0 -59.5 15.9 30.8 30.8 0 1 0 59.5-15.9zm245.9-34a30.8 30.8 0 1 0 -15.9-59.5 30.8 30.8 0 1 0 15.9 59.5z\"]\n};\nvar faGaugeCircleMinus = {\n prefix: 'far',\n iconName: 'gauge-circle-minus',\n icon: [640, 512, [], \"e497\", \"M256 464c29.4 0 57.3-6.1 82.6-17.1c7.4 14.7 16.7 28.2 27.7 40.1C333 503 295.5 512 256 512C114.6 512 0 397.4 0 256S114.6 0 256 0C375.4 0 475.6 81.7 504 192.2c-2.6-.1-5.3-.2-8-.2c-14 0-27.5 1.6-40.6 4.7C429.9 110.7 350.3 48 256 48C141.1 48 48 141.1 48 256s93.1 208 208 208zm0-56c-30.9 0-56-25.1-56-56c0-22.3 13.1-41.6 32-50.6V120c0-13.3 10.7-24 24-24s24 10.7 24 24V301.4c18.9 9 32 28.3 32 50.6c0 30.9-25.1 56-56 56zM128 160a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm-16 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm208-64a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm32 208a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm224 0c0-8.8-7.2-16-16-16H432c-8.8 0-16 7.2-16 16s7.2 16 16 16H560c8.8 0 16-7.2 16-16z\"]\n};\nvar faBrightnessLow = {\n prefix: 'far',\n iconName: 'brightness-low',\n icon: [512, 512, [], \"e0ca\", \"M288 80a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM256 208a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm0 144a96 96 0 1 0 0-192 96 96 0 1 0 0 192zm0 112a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM432 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM48 256a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zM160 128a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM416 384a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm0-256a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM96 384a32 32 0 1 0 64 0 32 32 0 1 0 -64 0z\"]\n};\nvar faHandMiddleFinger = {\n prefix: 'far',\n iconName: 'hand-middle-finger',\n icon: [448, 512, [128405], \"f806\", \"M224 0c-35.3 0-64 28.7-64 64V184.5c-2.6-.3-5.3-.5-8-.5c-35.3 0-64 28.7-64 64v10.8c-2.4 1.9-4.7 3.9-6.9 5.9L60.8 283.2C42.5 299.9 32 323.5 32 348.3v10.2c0 54.1 28.7 104.1 75.4 131.3l2.6 1.5c23.2 13.6 49.7 20.7 76.6 20.7H312c66.3 0 120-53.7 120-120v-8V288c0-35.3-28.7-64-64-64c-5.3 0-10.5 .7-15.5 1.9c-10.8-20.2-32-33.9-56.5-33.9c-2.7 0-5.4 .2-8 .5V64c0-35.3-28.7-64-64-64zM208 64c0-8.8 7.2-16 16-16s16 7.2 16 16V232c0 10.3 6.6 19.5 16.4 22.8s20.6-.1 26.8-8.3c3-3.9 7.6-6.4 12.8-6.4c8.8 0 16 7.2 16 16v8c0 10.3 6.6 19.5 16.4 22.8s20.6-.1 26.8-8.3c3-3.9 7.6-6.4 12.8-6.4c8.8 0 16 7.2 16 16v96 8c0 39.8-32.2 72-72 72H186.6c-18.4 0-36.5-4.9-52.4-14.2l-11.7 20 11.7-20-2.6-1.5C99.6 429.7 80 395.5 80 358.5V348.3c0-11.3 4.8-22 13.1-29.6l10.9-9.9V344c0 8.8 7.2 16 16 16s16-7.2 16-16V271v-7V248c0-8.8 7.2-16 16-16c5.2 0 9.9 2.5 12.8 6.4c6.2 8.3 17 11.6 26.8 8.3s16.4-12.4 16.4-22.8V64z\"]\n};\nvar faPercent = {\n prefix: 'far',\n iconName: 'percent',\n icon: [384, 512, [62101, 62785, \"percentage\"], \"25\", \"M369 113c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L15 399c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L369 113zM112 128a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM368 384a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nvar faPercentage = faPercent;\nvar faTruckMoving = {\n prefix: 'far',\n iconName: 'truck-moving',\n icon: [640, 512, [], \"f4df\", \"M72 80c-13.3 0-24 10.7-24 24V326.7c9.8-4.3 20.6-6.7 32-6.7c26.2 0 49.4 12.6 64 32c14.6-19.4 37.8-32 64-32s49.4 12.6 64 32H432V104c0-13.3-10.7-24-24-24H72zM208 480c-26.2 0-49.4-12.6-64-32c-14.6 19.4-37.8 32-64 32c-44.2 0-80-35.8-80-80V352 304 104C0 64.2 32.2 32 72 32H408c39.8 0 72 32.2 72 72v40h48.8c16.8 0 32.7 7.5 43.3 20.5L631 236.4c5.8 7.1 9 16.1 9 25.3V272v16 80c0 17.7-14.3 32-32 32c0 44.2-35.8 80-80 80s-80-35.8-80-80h-8-8H288c0 44.2-35.8 80-80 80zM535 194.9c-1.5-1.9-3.8-2.9-6.2-2.9H480v64H585l-50-61.1zM528 432a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM240 400a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM80 432a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faGlassWaterDroplet = {\n prefix: 'far',\n iconName: 'glass-water-droplet',\n icon: [384, 512, [], \"e4f5\", \"M24 0C17.3 0 10.9 2.8 6.3 7.8S-.5 19.4 .1 26.1L36.3 446.2C39.5 483.4 70.7 512 108 512H276c37.4 0 68.5-28.6 71.7-65.8L383.9 26.1c.6-6.7-1.7-13.3-6.2-18.3s-11-7.8-17.7-7.8H24zM73.5 319.2L50.2 48H333.8L310.5 319.2l-9.3 5.2c-16.2 9-36.2 7.3-50.7-4.3c-34.2-27.4-82.8-27.4-117 0C119 331.6 99 333.3 82.8 324.3l-9.3-5.2zm4.7 55c29 8.6 60.9 2.8 85.2-16.6c16.7-13.3 40.4-13.3 57 0c24.3 19.4 56.2 25.3 85.2 16.6l-5.9 67.9C298.8 454.5 288.4 464 276 464H108c-12.5 0-22.8-9.5-23.9-21.9l-5.9-67.9zM256 196c0-24-33.7-70.1-52.2-93.5c-6.1-7.7-17.5-7.7-23.6 0C161.7 125.9 128 172 128 196c0 33.1 28.7 60 64 60s64-26.9 64-60z\"]\n};\nvar faConveyorBelt = {\n prefix: 'far',\n iconName: 'conveyor-belt',\n icon: [640, 512, [], \"f46e\", \"M384 48h80V208H176V48h80v80c0 5.9 3.2 11.3 8.5 14.1s11.5 2.5 16.4-.8L320 115.2l39.1 26.1c4.9 3.3 11.2 3.6 16.4 .8s8.5-8.2 8.5-14.1V48zM128 48V208c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H176c-26.5 0-48 21.5-48 48zM592 400c0 35.3-28.7 64-64 64H112c-35.3 0-64-28.7-64-64s28.7-64 64-64H528c35.3 0 64 28.7 64 64zM112 288C50.1 288 0 338.1 0 400s50.1 112 112 112H528c61.9 0 112-50.1 112-112s-50.1-112-112-112H112zm48 112a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm160 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm224-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faLocationCheck = {\n prefix: 'far',\n iconName: 'location-check',\n icon: [384, 512, [\"map-marker-check\"], \"f606\", \"M336 192c0-79.5-64.5-144-144-144S48 112.5 48 192c0 12.4 4.5 31.6 15.3 57.2c10.5 24.8 25.4 52.2 42.5 79.9c28.5 46.2 61.5 90.8 86.2 122.6c24.8-31.8 57.8-76.4 86.2-122.6c17.1-27.7 32-55.1 42.5-79.9C331.5 223.6 336 204.4 336 192zm48 0c0 87.4-117 243-168.3 307.2c-12.3 15.3-35.1 15.3-47.4 0C117 435 0 279.4 0 192C0 86 86 0 192 0S384 86 384 192zm-95-20.4L182.3 278.3c-9.4 9.4-24.6 9.4-33.9 0L95 225c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l36.4 36.4L255 137.7c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\"]\n};\nvar faMapMarkerCheck = faLocationCheck;\nvar faCoinVertical = {\n prefix: 'far',\n iconName: 'coin-vertical',\n icon: [384, 512, [], \"e3fd\", \"M204 413.5c-22.2 39.4-45.3 50.5-60 50.5s-37.8-11.1-60-50.5C62.7 375.6 48 320 48 256s14.7-119.6 36-157.5C106.2 59.1 129.3 48 144 48s37.8 11.1 60 50.5c21.3 37.9 36 93.5 36 157.5s-14.7 119.6-36 157.5zM0 256C0 397.4 64.5 512 144 512h48 64c70.7 0 128-114.6 128-256S326.7 0 256 0H192 144C64.5 0 0 114.6 0 256zm286.3 40c1.2-13 1.7-26.4 1.7-40s-.6-27-1.7-40h48c1.1 12.9 1.7 26.3 1.7 40s-.6 27.1-1.7 40h-48zm-4 32h48.1c-3.9 23.7-9.6 45.3-16.6 64H266c7-19.7 12.5-41.2 16.2-64zM228 464c9.1-11.6 17.4-25 24.7-40h46.5c-18.9 33.8-36.3 40-43.1 40H228zM330.3 184H282.2c-3.8-22.8-9.2-44.3-16.2-64h47.7c7 18.7 12.7 40.3 16.6 64zM299.1 88H252.7C245.3 73 237 59.6 228 48h28c6.8 0 24.2 6.2 43.1 40zM120 256c0-40.2 5.2-75.7 12.9-100.3c3.7-11.8 7.7-19.9 11.1-24.7c3.4 4.8 7.3 12.9 11.1 24.7c7.8 24.6 12.9 60 12.9 100.3s-5.2 75.7-12.9 100.3c-3.7 11.8-7.7 19.9-11.1 24.7c-3.4-4.8-7.3-12.9-11.1-24.7c-7.8-24.6-12.9-60-12.9-100.3zm27.4-128.8a.2 .2 0 1 0 .1 .4 .2 .2 0 1 0 -.1-.4zm-6.6 .1a.2 .2 0 1 0 -.5 .1 .2 .2 0 1 0 .5-.1zm-.2 257.4a.2 .2 0 1 0 -.1-.4 .2 .2 0 1 0 .1 .4zm6.6-.1a.2 .2 0 1 0 .5-.1 .2 .2 0 1 0 -.5 .1zM144 80c-17.7 0-30.3 11.3-37.9 21.6c-8 10.7-14.2 24.6-18.9 39.7C77.6 171.7 72 212.3 72 256s5.6 84.3 15.2 114.7c4.8 15.1 10.9 29 18.9 39.7c7.7 10.3 20.2 21.6 37.9 21.6s30.3-11.3 37.9-21.6c8-10.7 14.2-24.6 18.9-39.7c9.6-30.4 15.2-71 15.2-114.7s-5.6-84.3-15.2-114.7c-4.8-15.1-10.9-29-18.9-39.7C174.3 91.3 161.7 80 144 80z\"]\n};\nvar faDisplay = {\n prefix: 'far',\n iconName: 'display',\n icon: [576, 512, [], \"e163\", \"M64 48c-8.8 0-16 7.2-16 16V352c0 8.8 7.2 16 16 16H239.5c.3 0 .6 0 .8 0h95.2c.3 0 .6 0 .8 0H512c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H64zM211.7 416H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H512c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H364.3l8 48H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H352 224 152c-13.3 0-24-10.7-24-24s10.7-24 24-24h51.7l8-48zm48.7 0l-8 48h71.3l-8-48H260.3z\"]\n};\nvar faPersonSign = {\n prefix: 'far',\n iconName: 'person-sign',\n icon: [512, 512, [], \"f757\", \"M438.1 32.2c4.5-12.5-1.9-26.2-14.3-30.8S397.5 3.3 393 15.8l-4.6 12.7L328.7 6.7c-12.5-4.5-26.2 1.9-30.8 14.3L259.6 126.3c-4.5 12.5 1.9 26.2 14.3 30.8l59.7 21.7L316.5 226l-19.3-7.2c-12.1-4.6-22.8-12.3-30.9-22.4L238 161c-16.7-20.9-42-33-68.7-33H129.6c-34.8 0-66.3 20.5-80.4 52.3L2.1 286.3c-5.4 12.1 .1 26.3 12.2 31.7s26.3-.1 31.7-12.2L80 229.1V488c0 13.3 10.7 24 24 24s24-10.7 24-24V352h52.2l27.1 59.6c.5 1 .7 2.2 .7 3.3V488c0 13.3 10.7 24 24 24s24-10.7 24-24V414.9c0-8-1.7-15.9-5-23.2l-35-77V210.4l12.7 15.9c13.5 16.9 31.3 29.8 51.6 37.4l19.7 7.4-11 30.3c-4.5 12.5 1.9 26.2 14.3 30.8s26.2-1.9 30.8-14.3l44.6-122.6 60.6 22c12.5 4.5 26.2-1.9 30.8-14.3L508.4 97.7c4.5-12.5-1.9-26.2-14.3-30.8l-60.6-22 4.6-12.7zM334.8 60l120.3 43.8L433.2 164 312.9 120.2 334.8 60zM144 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-14.4 80H168V304H128V176c.5 0 1.1 0 1.6 0z\"]\n};\nvar faFaceSmile = {\n prefix: 'far',\n iconName: 'face-smile',\n icon: [512, 512, [128578, \"smile\"], \"f118\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm177.6 62.1C192.8 334.5 218.8 352 256 352s63.2-17.5 78.4-33.9c9-9.7 24.2-10.4 33.9-1.4s10.4 24.2 1.4 33.9c-22 23.8-60 49.4-113.6 49.4s-91.7-25.5-113.6-49.4c-9-9.7-8.4-24.9 1.4-33.9s24.9-8.4 33.9 1.4zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faSmile = faFaceSmile;\nvar faPhoneHangup = {\n prefix: 'far',\n iconName: 'phone-hangup',\n icon: [640, 512, [], \"e225\", \"M320 144C193.1 144 98.7 205.9 53.3 250.2c-4.6 4.5-6.6 12.9-2.1 21.8l36.1 71.5c1.6 3.2 5.2 4.9 8.7 4.2l102.4-20.3c3.7-.7 6.4-4 6.4-7.8V248.5c0-10.4 6.6-19.5 16.5-22.8l3.4-1.1c61.9-20.4 128.7-20.4 190.7 0l3.4 1.1c9.8 3.2 16.5 12.4 16.5 22.8v71.1c0 3.8 2.7 7.1 6.4 7.8L544 347.7c3.5 .7 7.1-1 8.7-4.2L588.8 272c4.5-8.9 2.6-17.3-2.1-21.8C541.3 205.9 446.9 144 320 144zM19.8 215.8C71.5 165.4 177.4 96 320 96s248.5 69.4 300.2 119.8c22 21.5 23.8 53.4 11.4 77.8l-36.1 71.5c-11.3 22.4-36.2 34.6-60.9 29.7L432.3 374.5c-26.2-5.2-45.1-28.2-45.1-54.9V266.2c-44-12-90.4-12-134.4 0v53.4c0 26.7-18.9 49.7-45.1 54.9L105.3 394.8c-24.7 4.9-49.6-7.3-60.9-29.7L8.3 293.6C-4 269.2-2.3 237.3 19.8 215.8z\"]\n};\nvar faSignatureSlash = {\n prefix: 'far',\n iconName: 'signature-slash',\n icon: [640, 512, [], \"e3cb\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L563 416h53c13.3 0 24-10.7 24-24s-10.7-24-24-24H501.8l-61.2-48H552c13.3 0 24-10.7 24-24s-10.7-24-24-24H450.1l28.5-79.9c3.1-8.6 1-18.1-5.3-24.7s-15.7-9-24.4-6.3l-133 41.2c2.7-22 4.1-44.2 4.1-66.4V128c0-53-43-96-96-96c-37 0-69.1 20.9-85.1 51.6L38.8 5.1zM178 114.2C183.9 94.4 202.3 80 224 80c26.5 0 48 21.5 48 48v7.9c0 16.7-.9 33.4-2.6 50L178 114.2zM343.5 243.9l73.7-22.8-22.5 63-51.2-40.2zM406.2 416l-60.9-48H304.1c-7 16.3-14.8 32.4-23.3 48H406.2zM158 251.1c-36.9 11.4-62 45.5-62 84.1V410c0 38.6 31.3 70 70 70c24.6 0 47.4-12.9 60-34l15.9-26.4c18.5-30.8 33.8-63.3 45.7-97l-40-31.6c-11.5 36.3-27.2 71.2-46.8 103.9l-15.9 26.4c-4 6.6-11.1 10.7-18.8 10.7c-12.1 0-22-9.8-22-22V335.2c0-17.5 11.4-33 28.2-38.2l59.5-18.4-45.8-36.1L158 251.1zM64 368H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H64.2c-.1-2-.2-4-.2-6V368z\"]\n};\nvar faThumbtack = {\n prefix: 'far',\n iconName: 'thumbtack',\n icon: [384, 512, [128204, 128392, \"thumb-tack\"], \"f08d\", \"M134.6 51.7L123.8 192.6c-1.1 14.6-8.8 27.8-20.9 36C79 244.8 61.1 269.4 53.8 298.9L52.5 304H168V216c0-13.3 10.7-24 24-24s24 10.7 24 24v88H331.5l-1.3-5.1c-7.4-29.5-25.2-54.1-49.1-70.2c-12.1-8.2-19.8-21.5-20.9-36L249.4 51.7c-.1-1.2-.1-2.5-.1-3.7H134.8c0 1.2 0 2.5-.1 3.7zM168 352H32c-9.9 0-19.2-4.5-25.2-12.3S-1.4 321.8 1 312.2l6.2-25c10.3-41.3 35.4-75.7 68.7-98.3L83.1 96l3.7-48H56c-4.4 0-8.6-1.2-12.2-3.3C36.8 40.5 32 32.8 32 24C32 10.7 42.7 0 56 0H86.8 297.2 328c13.3 0 24 10.7 24 24c0 8.8-4.8 16.5-11.8 20.7c-3.6 2.1-7.7 3.3-12.2 3.3H297.2l3.7 48 7.1 92.9c33.3 22.6 58.4 57.1 68.7 98.3l6.2 25c2.4 9.6 .2 19.7-5.8 27.5s-15.4 12.3-25.2 12.3H216V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V352z\"]\n};\nvar faThumbTack = faThumbtack;\nvar faWheatSlash = {\n prefix: 'far',\n iconName: 'wheat-slash',\n icon: [640, 512, [], \"e339\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-174-136.4c3.6-2.8 7.1-5.9 10.5-9.3l16.9-16.9c8.5-8.5 9.3-21.7 2.4-31.1c21.9-3.8 42.9-14.2 59.8-31.1l16.9-16.9c9.4-9.4 9.4-24.6 0-33.9l-16.9-16.9c-11.6-11.6-24.8-20.4-38.9-26.7C546.8 140.9 576 105.9 576 64V24c0-13.3-10.7-24-24-24H512c-41.9 0-76.9 29.3-85.8 68.5C420 54.3 411 41 399.4 29.4L382.5 12.4c-9.4-9.4-24.6-9.4-33.9 0L331.6 29.4c-16.9 16.9-27.3 37.9-31.1 59.8c-9.4-6.9-22.6-6.1-31.1 2.4l-16.9 16.9c-12.5 12.5-21.5 27.3-26.8 43L38.8 5.1zM267.7 184.5c.8-15.3 7-30.3 18.6-42c19.9 20 27.1 47.8 21.6 73.5l-40.2-31.5zM372 266.3c22-1.3 44.5 6.4 61.3 23.3c-5 4.9-10.5 8.9-16.4 11.9L372 266.3zM173.3 346.1l11.3 11.3 0 0L71 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L218.5 391.4l11.2 11.2c43.7 43.7 114.6 43.7 158.4 0l.5-.5-38.1-30c-25.1 21.5-63 20.4-86.8-3.4l-10.1-10.2c20.1-13.3 44.8-16.6 67.2-9.8l-90.2-71.1c.1 15.6-4.3 31.2-13.2 44.7l-10.1-10.1c-17.6-17.6-22.8-43-15.6-65.2l-39.1-30.8c-21.4 42.1-14.5 94.8 20.7 129.9zM512 48h16V64c0 22.1-17.9 40-40 40H472V88c0-22.1 17.9-40 40-40zM365.5 153.8c-25-25-25-65.5 0-90.5c27.3 27.4 30.7 69.6 10.2 100.6l-10.1-10.1zm147 56.5c-25 25-65.5 25-90.5 0l-10.1-10.1c31-20.5 73.3-17.2 100.6 10.2z\"]\n};\nvar faTrophy = {\n prefix: 'far',\n iconName: 'trophy',\n icon: [576, 512, [127942], \"f091\", \"M248.8 309.7c-27.6-30.3-65.5-101-71.8-261.7H399.1c-6.4 160.7-44.3 231.4-71.8 261.7c-13.7 15.1-25.9 21.4-33.1 24.1c-2.6 1-4.7 1.5-6.1 1.9c-1.4-.3-3.5-.9-6.1-1.9c-7.2-2.7-19.4-9-33.1-24.1zM400 0H176c-26.5 0-48.1 21.8-47.1 48.2c.2 5.3 .4 10.6 .7 15.8H24C10.7 64 0 74.7 0 88C0 196.5 45.9 265.7 101.5 308.6c53.9 41.7 115.7 57.6 149.5 63.7c4.7 2.5 9.1 4.5 13.1 6.1V464H184c-13.3 0-24 10.7-24 24s10.7 24 24 24H288 392c13.3 0 24-10.7 24-24s-10.7-24-24-24H312V378.4c4-1.6 8.4-3.6 13.1-6.1c33.8-6 95.5-22 149.5-63.7C530.1 265.7 576 196.5 576 88c0-13.3-10.7-24-24-24H446.4c.3-5.2 .5-10.4 .7-15.8C448.1 21.8 426.5 0 400 0zm42.7 112h84.4c-6 78.4-41.3 127.3-81.9 158.6c-17.5 13.6-36.3 24-54.4 32c22.7-40.3 42.8-100.5 51.9-190.6zM185.2 302.6c-18.1-8-36.8-18.4-54.4-32C90.2 239.3 54.9 190.4 48.9 112h84.4c9.1 90.1 29.2 150.3 51.9 190.6z\"]\n};\nvar faCloudsSun = {\n prefix: 'far',\n iconName: 'clouds-sun',\n icon: [640, 512, [], \"f746\", \"M294.2 1.2c5.1 2.1 8.7 6.7 9.6 12.1l14.1 84.7 30.7 5.1c-26.4 10.6-47 32.6-55.7 59.9C276.8 132.7 244.8 112 208 112c-53 0-96 43-96 96s43 96 96 96c8.1 0 15.9-1 23.4-2.9c-36.6 18.1-63.3 53.1-69.8 94.9l-24.4 17c-4.5 3.1-10.3 3.8-15.4 1.6s-8.7-6.7-9.6-12.1L98.1 317.9 13.4 303.8c-5.4-.9-10-4.5-12.1-9.6s-1.5-10.9 1.6-15.4L52.5 208 2.9 137.2c-3.2-4.5-3.8-10.3-1.6-15.4s6.7-8.7 12.1-9.6L98.1 98.1l14.1-84.7c.9-5.4 4.5-10 9.6-12.1s10.9-1.5 15.4 1.6L208 52.5 278.8 2.9c4.5-3.2 10.3-3.8 15.4-1.6zM144 208a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zm409.8 32.1h12.4c.6 0 1.2 0 1.8 0c13.2 0 24-10.7 24-24s-10.7-24-24-24c-1.1 0-2.2 .1-3.2 .2c-25.1 3.3-48.5-13.5-53.4-38.4c-2.9-14.7-15.9-25.8-31.4-25.8c-13.6 0-25.3 8.5-29.9 20.6c-9.2 24.3-36.2 36.9-60.8 28.2c-1.6-.6-3.4-.9-5.3-.9c-8.8 0-15.9 7.1-16 15.9l-.1 0c-16.7 0-32.6 3.2-47.3 9c-.4-2.9-.6-5.9-.6-8.9c0-35.3 28.6-64 64-64c7.4 0 14.6 1.3 21.2 3.6c11.5-30.1 40.6-51.6 74.8-51.6c38.9 0 71.3 27.8 78.5 64.6c3.1-.4 6.3-.6 9.5-.6c39.8 0 72 32.2 72 72c0 30.4-18.8 56.3-45.4 66.9c-9.5-17.7-23.6-32.5-40.8-42.9zM320.1 320c0 .8 0 1.7-.1 2.5l-2 23.8c-1.1 13.2-12.7 23-25.9 21.9c-1.3-.1-2.6-.2-4-.2c-26.5 0-48 21.5-48 48s21.5 48 48 48c.6 0 1.3 0 1.9 0c.3 0 .6 0 .9 0H557.8c.3 0 .6 0 1 0c.4 0 .9 0 1.3 0c17.7 0 32-14.3 32-32s-14.3-32-32-32c-1.6 0-3.1 .1-4.6 .3c-6.9 1-13.9-1.1-19.1-5.6s-8.3-11.2-8.3-18.1V346.3c0-.3 0-.6 0-.9c0-.5 0-1 0-1.5s0-1 0-1.5c0-.3 0-.6 0-.9v-1.1c-.1-.6-.2-1.1-.3-1.7c-2.5-19.6-19.3-34.8-39.7-34.8c-12.6 0-23.8 5.8-31.1 14.9c-5.8 7.1-15.1 10.4-24.1 8.3s-15.9-9.1-18-18c-4.9-21.3-24-37.2-46.8-37.2c-26.5 0-48 21.5-48 48zm48-96c33 0 62 16.6 79.3 41.9c12.2-6.3 26-9.9 40.6-9.9c43 0 78.8 30.9 86.5 71.7c1 2.6 1.5 5.4 1.5 8.3v5.3c0 .9 0 1.8 0 2.7s0 1.8 0 2.7v6.9c36.5 7.4 64 39.7 64 78.4c0 44.2-35.8 80-80 80c-.9 0-1.8 0-2.7 0h-266c-1.1 0-2.1 .1-3.2 .1c-53 0-96-43-96-96c0-47.5 34.5-86.9 79.8-94.6l.2-2.5c.6-52.5 43.4-94.8 96-94.8z\"]\n};\nvar faPersonPraying = {\n prefix: 'far',\n iconName: 'person-praying',\n icon: [448, 512, [128720, \"pray\"], \"f683\", \"M352 64A64 64 0 1 0 224 64a64 64 0 1 0 128 0zM202.1 192c5.3 0 10.2 2.7 12.9 7.2l4.3 7.1L152.2 367.5l-9.4-6c-9.8-6.3-13.7-18.7-9.2-29.4l54.5-130.7c2.4-5.7 7.9-9.3 14-9.3zm48.3 64.7l7.4 12.1c12.8 20.9 41.2 25.4 59.9 9.6l89.8-76c10.1-8.6 11.4-23.7 2.8-33.8s-23.7-11.4-33.8-2.8l-82.7 70-37.9-61.6C244.4 155.4 224 144 202.1 144c-25.5 0-48.5 15.3-58.3 38.9L89.3 313.6c-13.4 32.3-1.8 69.5 27.6 88.3L214 464H56c-13.3 0-24 10.7-24 24s10.7 24 24 24H296c10.7 0 20-7 23-17.3s-1.1-21.2-10.1-27l-115.7-74 57.1-137.1z\"]\n};\nvar faPray = faPersonPraying;\nvar faHammer = {\n prefix: 'far',\n iconName: 'hammer',\n icon: [576, 512, [128296], \"f6e3\", \"M432.8 204.9c-9.1-9.1-21.5-14.2-34.4-14.1c-11.3 .1-22.4-4.1-31-12.7L329.3 140c-5.9-5.9-9.3-14-9.3-22.4V105.5c0-17.6-9.6-33.7-25-42.1L273.3 51.5c8.4-2.3 17.1-3.5 25.8-3.5h18.1c24.5 0 48 9.3 65.8 26.1l44.6 42c9.7 9.1 14.3 21.7 13.5 34.1c-.8 13.7 4.3 27.1 14 36.8l37 37L472 244.1l-39.2-39.2zM216.7 75.3l.3 .2 55 30v12.1c0 21.1 8.4 41.4 23.3 56.3l38.1 38.1c18.1 18.1 41.8 26.9 65.4 26.7l39.2 39.2 1 1-16 16c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L569 217c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-8 8-1-1-37-37c1.6-26.1-8-52.7-28.5-72l-44.6-42C389.2 14 353.9 0 317.2 0H299.2C279 0 259.1 4.2 240.7 12.4L219.1 22l-.3 .1-6.2 2.8-19.1 8.5c-5.6 2.5-9.2 7.9-9.5 14s3 11.8 8.3 14.7l18.4 10 6 3.3zm44.2 107.3L27.4 377.1C10.1 391.6 0 413.1 0 435.7C0 477.8 34.1 512 76.3 512c22.6 0 44.1-10.1 58.6-27.4L330 250.4c-6.8-4.5-13.2-9.7-19.2-15.7l-38.1-38.1c-4.3-4.3-8.3-9-11.8-14z\"]\n};\nvar faFaceVomit = {\n prefix: 'far',\n iconName: 'face-vomit',\n icon: [576, 512, [], \"e3a0\", \"M496 256c0 63.4-28.3 120.1-73 158.3c5.8 9.5 14.8 17 25.9 20.7l16.7 5.6C513.9 393.9 544 328.5 544 256C544 114.6 429.4 0 288 0S32 114.6 32 256c0 72.5 30.1 137.9 78.5 184.5l16.7-5.6c11.1-3.7 20.1-11.1 25.9-20.7C108.3 376.1 80 319.4 80 256C80 141.1 173.1 48 288 48s208 93.1 208 208zM148 157.1c0 2.8 1 5.5 2.8 7.6l36 43.2-36 43.2c-1.8 2.1-2.8 4.8-2.8 7.6c0 9 9.6 14.7 17.5 10.5l89.9-47.9c10.7-5.7 10.7-21.1 0-26.8l-89.9-47.9c-7.9-4.2-17.5 1.5-17.5 10.5zm262.5-10.5l-89.9 47.9c-10.7 5.7-10.7 21.1 0 26.8l89.9 47.9c7.9 4.2 17.5-1.5 17.5-10.5c0-2.8-1-5.5-2.8-7.6l-36-43.2 36-43.2c1.8-2.1 2.8-4.8 2.8-7.6c0-9-9.6-14.7-17.5-10.5zM32 512a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm544-64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM384 396.1V337.8c10.8 4.3 18.7 8.5 23.1 11.5c7.4 4.9 17.3 2.9 22.2-4.4s2.9-17.3-4.4-22.2C406.3 310.3 355.2 288 288 288s-118.3 22.3-136.9 34.7c-7.4 4.9-9.3 14.8-4.4 22.2s14.8 9.3 22.2 4.4c4.4-3 12.3-7.2 23.1-11.5v58.3c0 31-19.8 58.5-49.2 68.3l-34.1 11.4c-7.6 2.5-12.7 9.6-12.7 17.6c0 10.3 8.3 18.6 18.6 18.6H461.4c10.3 0 18.6-8.3 18.6-18.6c0-8-5.1-15.1-12.7-17.6l-34.1-11.4c-29.4-9.8-49.2-37.3-49.2-68.3zM304 416a16 16 0 1 1 0-32 16 16 0 1 1 0 32zm-80 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faSpeakers = {\n prefix: 'far',\n iconName: 'speakers',\n icon: [640, 512, [], \"f8e0\", \"M264.4 0c-11.8 13.2-20.1 29.7-23.1 48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H241.3c3.1 18.3 11.3 34.8 23.1 48H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H264.4zM224 232v56.8c-10.2-10.4-24.3-16.8-40-16.8c-30.9 0-56 25.1-56 56s25.1 56 56 56c15.7 0 29.8-6.4 40-16.8V424c-12.3 5.1-25.8 8-40 8c-57.4 0-104-46.6-104-104s46.6-104 104-104c14.2 0 27.7 2.8 40 8zM184 80a40 40 0 1 1 0 80 40 40 0 1 1 0-80zM336 48c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H576c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H336zM272 64c0-35.3 28.7-64 64-64H576c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H336c-35.3 0-64-28.7-64-64V64zM456 80a40 40 0 1 1 0 80 40 40 0 1 1 0-80zM352 328a104 104 0 1 1 208 0 104 104 0 1 1 -208 0zm104 56a56 56 0 1 0 0-112 56 56 0 1 0 0 112z\"]\n};\nvar faTtyAnswer = {\n prefix: 'far',\n iconName: 'tty-answer',\n icon: [640, 512, [\"teletype-answer\"], \"e2b9\", \"M329 286.7c11.3-13.8 30.3-18.5 46.7-11.4l112 48c17.6 7.5 27.4 26.5 23.4 45.1l-24 112c-4 18.4-20.3 31.6-39.1 31.6l0 0c-6.1 0-12.2-.1-18.2-.4l-.1 0 0 0c-10-.4-19.8-1.1-29.6-2.2C175.2 485.6 0 295.2 0 64v0C0 45.1 13.2 28.8 31.6 24.9l112-24c18.7-4 37.6 5.8 45.1 23.4l48 112c7 16.4 2.4 35.4-11.4 46.7l-40.6 33.2c26.7 46 65.1 84.4 111.1 111.1L329 286.7zm133.8 78.1l-100.4-43L333 357.6c-14.9 18.2-40.8 22.9-61.2 11.1c-53.3-30.9-97.7-75.3-128.6-128.6c-11.8-20.4-7.1-46.3 11.1-61.2l35.9-29.4-43-100.4L48.1 70.5C51.5 286.2 225.8 460.5 441.5 464l21.3-99.2zM304 64h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H304c-8.8 0-16-7.2-16-16V80c0-8.8 7.2-16 16-16zM288 176c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H304c-8.8 0-16-7.2-16-16V176zM400 64h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H400c-8.8 0-16-7.2-16-16V80c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H496c-8.8 0-16-7.2-16-16V80zM592 64h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H592c-8.8 0-16-7.2-16-16V80c0-8.8 7.2-16 16-16zM576 176c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H592c-8.8 0-16-7.2-16-16V176zM400 160H528c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H400c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16z\"]\n};\nvar faTeletypeAnswer = faTtyAnswer;\nvar faMugTeaSaucer = {\n prefix: 'far',\n iconName: 'mug-tea-saucer',\n icon: [640, 512, [], \"e1f5\", \"M144 288c0 26.5 21.5 48 48 48H384c26.5 0 48-21.5 48-48V80H248V90.7c0 8.5 3.4 16.6 9.4 22.6l21.3 21.3c6 6 9.4 14.1 9.4 22.6V224c0 17.7-14.3 32-32 32H208c-17.7 0-32-14.3-32-32V157.3c0-8.5 3.4-16.6 9.4-22.6l21.3-21.3c6-6 9.4-14.1 9.4-22.6V80H144V288zM96 64c0-17.7 14.3-32 32-32H448h64c70.7 0 128 57.3 128 128s-57.3 128-128 128H480c0 53-43 96-96 96H192c-53 0-96-43-96-96V64zM480 240h32c44.2 0 80-35.8 80-80s-35.8-80-80-80H480V240zM24 432H552c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faDiagramLeanCanvas = {\n prefix: 'far',\n iconName: 'diagram-lean-canvas',\n icon: [640, 512, [], \"e156\", \"M512 80V296h80V96c0-8.8-7.2-16-16-16H512zm-48 0H400v88h64V80zM352 80H288V296h64V80zM240 80H176v88h64V80zM128 80H64c-8.8 0-16 7.2-16 16V296h80V80zM48 344v72c0 8.8 7.2 16 16 16H296V344H48zm296 88H576c8.8 0 16-7.2 16-16V344H344v88zM0 96C0 60.7 28.7 32 64 32H576c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM240 296V216H176v80h64zm224-80H400v80h64V216z\"]\n};\nvar faAlt = {\n prefix: 'far',\n iconName: 'alt',\n icon: [640, 512, [], \"e08a\", \"M467.9 120.4c4.6-5.3 11.2-8.4 18.2-8.4H616c13.3 0 24-10.7 24-24s-10.7-24-24-24H486.1c-21 0-41 9.2-54.7 25.1L172.1 391.6c-4.6 5.3-11.2 8.4-18.2 8.4H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H153.9c21 0 41-9.2 54.7-25.1L467.9 120.4zM440 400c-13.3 0-24 10.7-24 24s10.7 24 24 24H616c13.3 0 24-10.7 24-24s-10.7-24-24-24H440z\"]\n};\nvar faDial = {\n prefix: 'far',\n iconName: 'dial',\n icon: [576, 512, [\"dial-med-high\"], \"e15b\", \"M288 64a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM208.8 208.8c37.9-37.9 96.2-43 139.6-15.1L271 271c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l77.4-77.4c27.8 43.4 22.8 101.7-15.1 139.6c-43.7 43.7-114.7 43.7-158.4 0s-43.7-114.7 0-158.4zm192.3-33.9A160 160 0 1 0 174.9 401.1 160 160 0 1 0 401.1 174.9zM576 288a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM32 320a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM128 96A32 32 0 1 0 64 96a32 32 0 1 0 64 0zm352 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM128 480a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm352 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faDialMedHigh = faDial;\nvar faHandPeace = {\n prefix: 'far',\n iconName: 'hand-peace',\n icon: [512, 512, [9996], \"f25b\", \"M250.8 1.4c-35.2-3.7-66.6 21.8-70.3 57L174 119 156.7 69.6C145 36.3 108.4 18.8 75.1 30.5S24.2 78.8 35.9 112.1L88.7 262.2C73.5 276.7 64 297.3 64 320v0 24c0 92.8 75.2 168 168 168h48c92.8 0 168-75.2 168-168V272 256 224c0-35.3-28.7-64-64-64c-7.9 0-15.4 1.4-22.4 4c-10.4-21.3-32.3-36-57.6-36c-.7 0-1.5 0-2.2 0l5.9-56.3c3.7-35.2-21.8-66.6-57-70.3zm-.2 155.4C243.9 166.9 240 179 240 192v48c0 .7 0 1.4 0 2c-5.1-1.3-10.5-2-16-2h-7.4l-5.4-15.3 17-161.3c.9-8.8 8.8-15.2 17.6-14.2s15.2 8.8 14.2 17.6l-9.5 90.1zM111.4 85.6L165.7 240H144c-4 0-8 .3-11.9 .9L81.2 96.2c-2.9-8.3 1.5-17.5 9.8-20.4s17.5 1.5 20.4 9.8zM288 192c0-8.8 7.2-16 16-16s16 7.2 16 16v32 16c0 8.8-7.2 16-16 16s-16-7.2-16-16V192zm38.4 108c10.4 21.3 32.3 36 57.6 36c5.5 0 10.9-.7 16-2v10c0 66.3-53.7 120-120 120H232c-66.3 0-120-53.7-120-120l0-24 0 0c0-17.7 14.3-32 32-32h80c8.8 0 16 7.2 16 16s-7.2 16-16 16H184c-13.3 0-24 10.7-24 24s10.7 24 24 24h40c35.3 0 64-28.7 64-64c0-.7 0-1.4 0-2c5.1 1.3 10.5 2 16 2c7.9 0 15.4-1.4 22.4-4zM400 272c0 8.8-7.2 16-16 16s-16-7.2-16-16V240 224c0-8.8 7.2-16 16-16s16 7.2 16 16v32 16z\"]\n};\nvar faCircleTrash = {\n prefix: 'far',\n iconName: 'circle-trash',\n icon: [512, 512, [\"trash-circle\"], \"e126\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM160 128h41.4l11.3-11.3c3-3 7.1-4.7 11.3-4.7h64c4.2 0 8.3 1.7 11.3 4.7L310.6 128H352c8.8 0 16 7.2 16 16s-7.2 16-16 16H160c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64H352L338.4 354.7c-1.4 16.6-15.2 29.3-31.9 29.3H205.4c-16.6 0-30.5-12.8-31.9-29.3L160 192z\"]\n};\nvar faTrashCircle = faCircleTrash;\nvar faRotate = {\n prefix: 'far',\n iconName: 'rotate',\n icon: [512, 512, [128260, \"sync-alt\"], \"f2f1\", \"M94 187.1C120.8 124.1 183.3 80 256 80c39.7 0 77.8 15.8 105.9 43.9l4.1 4.1-35.7 35.7c-6.6 6.6-10.3 15.6-10.3 25c0 19.5 15.8 35.3 35.3 35.3H472c13.3 0 24-10.7 24-24V83.3C496 63.8 480.2 48 460.7 48c-9.4 0-18.3 3.7-25 10.3L400 94.1l-4.1-4.1C358.8 52.8 308.5 32 256 32C163.4 32 83.9 88.2 49.8 168.3c-5.2 12.2 .5 26.3 12.7 31.5s26.3-.5 31.5-12.7zm368 157c5.2-12.2-.4-26.3-12.6-31.5s-26.3 .4-31.5 12.6C391 388.1 328.6 432 256 432c-39.7 0-77.8-15.8-105.9-43.9l-4.1-4.1 35.7-35.7c6.6-6.6 10.3-15.6 10.3-25c0-19.5-15.8-35.3-35.3-35.3H40c-13.3 0-24 10.7-24 24V428.7C16 448.2 31.8 464 51.3 464c9.4 0 18.3-3.7 25-10.3L112 417.9l4.1 4.1C153.2 459.2 203.5 480 256 480c92.5 0 171.8-56 206-135.9zM448 176H385.9L448 113.9V176zM64 336h62.1L64 398.1V336z\"]\n};\nvar faSyncAlt = faRotate;\nvar faCircleQuarters = {\n prefix: 'far',\n iconName: 'circle-quarters',\n icon: [512, 512, [], \"e3f8\", \"M108.9 403.1L256 256 403.1 403.1C440.7 365.4 464 313.4 464 256s-23.3-109.4-60.9-147.1L256 256 108.9 108.9C71.3 146.6 48 198.6 48 256s23.3 109.4 60.9 147.1zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z\"]\n};\nvar faSpinner = {\n prefix: 'far',\n iconName: 'spinner',\n icon: [512, 512, [], \"f110\", \"M288 32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm0 448a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM448 256a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zM32 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM75 437a32 32 0 1 0 45.3-45.3A32 32 0 1 0 75 437zm316.8 0A32 32 0 1 0 437 391.8 32 32 0 1 0 391.8 437zM75 75a32 32 0 1 0 45.3 45.3A32 32 0 1 0 75 75z\"]\n};\nvar faTowerControl = {\n prefix: 'far',\n iconName: 'tower-control',\n icon: [448, 512, [], \"e2a2\", \"M160 24c0-13.3 10.7-24 24-24h40 40c13.3 0 24 10.7 24 24s-10.7 24-24 24H248V96h40c17.7 0 32 14.3 32 32h93.2c21.4 0 36.8 20.7 30.7 41.2L402.7 306.5c7.9 3.9 13.3 12.1 13.3 21.5c0 13.3-10.7 24-24 24H368V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V352l-192 0V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V352H56c-13.3 0-24-10.7-24-24c0-9.4 5.4-17.6 13.3-21.5L4.1 169.2C-2.1 148.7 13.3 128 34.8 128H128c0-17.7 14.3-32 32-32h40V48H184c-13.3 0-24-10.7-24-24zM94.7 304H128V176H56.3L94.7 304zm81.3 0l96 0V176H176V304zM320 176V304h33.3l38.4-128H320z\"]\n};\nvar faArrowUpTriangleSquare = {\n prefix: 'far',\n iconName: 'arrow-up-triangle-square',\n icon: [576, 512, [\"sort-shapes-up\"], \"f88a\", \"M416 32c9.9 0 19.1 5.2 24.2 13.7L524.4 186c2.3 3.9 3.6 8.4 3.6 12.9c0 13.8-11.2 25.1-25.1 25.1H329.1c-13.8 0-25.1-11.2-25.1-25.1c0-4.5 1.2-9 3.6-12.9L391.8 45.7C396.9 37.2 406.1 32 416 32zM368 432h96V336H368v96zM416 98.6L369.6 176h92.8L416 98.6zM320 432V336c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H368c-26.5 0-48-21.5-48-48zM143 39c9.4-9.4 24.6-9.4 33.9 0l96 96c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-55-55V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V113.9L81 169c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l96-96z\"]\n};\nvar faSortShapesUp = faArrowUpTriangleSquare;\nvar faWhale = {\n prefix: 'far',\n iconName: 'whale',\n icon: [640, 512, [128011], \"f72c\", \"M175.8 13.4c-1-5.9-5.2-10.8-10.9-12.6s-12-.3-16.2 3.9L108 45.4C89.7 63.7 81.4 89.6 85.6 115.1l7.9 47.4L79.2 176.8 43.6 212.4C15.7 240.3 0 278.2 0 317.6C0 407.3 72.7 480 162.4 480H544c53 0 96-43 96-96V275.7C640 194.1 573.9 128 492.3 128c-80.5 0-158.6 27.4-221.4 77.7L139 311.2c-7.1 5.7-15.9 8.8-25 8.8h-1c-19 0-35.2-13.7-38.4-32.5c-1.7-9.9 .6-20.1 6.3-28.4l35.4-51.4 9.1-13.2 47.6 7.9c25.5 4.2 51.5-4.1 69.7-22.3l40.7-40.7c4.2-4.2 5.8-10.5 3.9-16.2s-6.7-9.9-12.6-10.9L189.9 98.1 175.8 13.4zM50.5 341.5C66.4 358 88.7 368 113 368h1c20 0 39.4-6.8 55-19.3L300.9 243.1C355.2 199.7 422.7 176 492.3 176c55 0 99.7 44.6 99.7 99.7V384c0 26.5-21.5 48-48 48H162.4c-55 0-100.9-38.8-111.9-90.5zM392 328a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faRobot = {\n prefix: 'far',\n iconName: 'robot',\n icon: [640, 512, [129302], \"f544\", \"M320 0c13.3 0 24 10.7 24 24V96H448c53 0 96 43 96 96V416c0 53-43 96-96 96H192c-53 0-96-43-96-96V192c0-53 43-96 96-96H296V24c0-13.3 10.7-24 24-24zM192 144c-26.5 0-48 21.5-48 48V416c0 26.5 21.5 48 48 48H448c26.5 0 48-21.5 48-48V192c0-26.5-21.5-48-48-48H320 192zM48 224H64V416H48c-26.5 0-48-21.5-48-48V272c0-26.5 21.5-48 48-48zm544 0c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H576V224h16zM208 384h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H208c-8.8 0-16-7.2-16-16s7.2-16 16-16zm96 0h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H304c-8.8 0-16-7.2-16-16s7.2-16 16-16zm96 0h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H400c-8.8 0-16-7.2-16-16s7.2-16 16-16zM200 256a40 40 0 1 1 80 0 40 40 0 1 1 -80 0zm200-40a40 40 0 1 1 0 80 40 40 0 1 1 0-80z\"]\n};\nvar faPeace = {\n prefix: 'far',\n iconName: 'peace',\n icon: [512, 512, [9774], \"f67c\", \"M232 462.6v-156L111.3 405.4c32 31 74 51.9 120.7 57.2zM80.9 368.3L232 244.6V49.4C128.4 61.3 48 149.2 48 256c0 41.4 12.1 79.9 32.9 112.3zm319.8 37.1L280 306.6v156c46.7-5.4 88.7-26.2 120.7-57.2zm30.4-37.1C451.9 335.9 464 297.4 464 256c0-106.8-80.4-194.7-184-206.6V244.6L431.1 368.3zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z\"]\n};\nvar faPartyHorn = {\n prefix: 'far',\n iconName: 'party-horn',\n icon: [512, 512, [], \"e31b\", \"M32 32a32 32 0 1 1 64 0A32 32 0 1 1 32 32zM448 160a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm32 256a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM167 153c-9.4-9.4-9.4-24.6 0-33.9l8.3-8.3c16.7-16.7 27.2-38.6 29.8-62.1l3-27.4C209.6 8.2 221.5-1.3 234.7 .1s22.7 13.3 21.2 26.5l-3 27.4c-3.8 34.3-19.2 66.3-43.6 90.7L201 153c-9.4 9.4-24.6 9.4-33.9 0zM359 311l8.2-8.3c24.4-24.4 56.4-39.8 90.7-43.6l27.4-3c13.2-1.5 25 8 26.5 21.2s-8 25-21.2 26.5l-27.4 3c-23.5 2.6-45.4 13.1-62.1 29.8L393 345c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9zM506.3 8.5c8.6 10.1 7.3 25.3-2.8 33.8l-10 8.5c-14.8 12.5-33.7 19.1-53 18.6c-16.6-.4-30.6 12.4-31.6 29l-1.8 30c-2.5 42.5-38.3 75.3-80.8 74.2c-7.6-.2-15 2.4-20.7 7.3l-10 8.5c-10.1 8.6-25.3 7.3-33.8-2.8s-7.3-25.3 2.8-33.8l10-8.5c14.8-12.5 33.7-19.1 53-18.6c16.6 .4 30.6-12.4 31.6-29l1.8-30c2.5-42.5 38.3-75.3 80.8-74.2c7.6 .2 15-2.4 20.7-7.3l10-8.5c10.1-8.6 25.3-7.3 33.8 2.8zM59.3 452.7l86.9-32.6L91.9 365.8 59.3 452.7zm200.1-75l-125-125-23.9 63.8 85.1 85.1 63.8-23.9zM98.1 212.6c8-21.4 36.4-27.6 52.6-11.4L310.9 361.3c16.2 16.2 10 44.6-11.4 52.6L43.3 510C18 519.4-7.4 494 2 468.8L98.1 212.6z\"]\n};\nvar faGears = {\n prefix: 'far',\n iconName: 'gears',\n icon: [640, 512, [\"cogs\"], \"f085\", \"M147.1 52.7l-6.5 23.5c-1.7 6.2-6.3 11.2-12.4 13.5c-10 3.7-19.1 9-27.2 15.7c-5 4.1-11.6 5.6-17.9 4l-23.6-6.2c-5 6.9-9.4 14.4-12.9 22.3l17.1 17.4c4.5 4.6 6.6 11.1 5.5 17.4c-.9 5.1-1.3 10.3-1.3 15.7s.5 10.6 1.3 15.7c1.1 6.4-.9 12.9-5.5 17.4L46.7 226.5c3.5 7.9 7.9 15.4 12.9 22.3l23.6-6.2c6.3-1.6 12.9-.1 17.9 4c8 6.7 17.2 12 27.2 15.7c6.1 2.2 10.7 7.2 12.4 13.5l6.5 23.5c4.2 .4 8.5 .7 12.9 .7s8.7-.2 12.9-.7l6.5-23.5c1.7-6.2 6.3-11.2 12.4-13.5c10-3.7 19.1-9 27.2-15.7c5-4.1 11.6-5.6 17.9-4l23.6 6.2c5-6.9 9.4-14.4 12.9-22.3l-17.1-17.4c-4.5-4.6-6.6-11.1-5.5-17.4c.9-5.1 1.3-10.3 1.3-15.7s-.5-10.6-1.3-15.7c-1.1-6.4 .9-12.9 5.5-17.4l17.1-17.4c-3.5-7.9-7.9-15.4-12.9-22.3l-23.6 6.2c-6.3 1.6-12.9 .1-17.9-4c-8-6.7-17.2-12-27.2-15.7c-6.1-2.2-10.7-7.2-12.4-13.5l-6.5-23.5c-4.2-.4-8.5-.7-12.9-.7s-8.7 .2-12.9 .7zM127.3 15.3C137.9 13.1 148.8 12 160 12s22.1 1.1 32.7 3.3c7.4 1.5 13.3 7 15.3 14.3l7.3 26.6c7.3 3.4 14.3 7.4 20.8 12l26.6-7c7.3-1.9 15 .4 20 6.1c14.4 16.3 25.7 35.5 32.8 56.7c2.4 7.1 .6 15-4.7 20.4L291.5 164c.4 4 .5 8 .5 12s-.2 8-.5 12l19.4 19.6c5.3 5.4 7.1 13.2 4.7 20.4c-7.1 21.2-18.3 40.4-32.8 56.7c-5 5.6-12.7 8-20 6.1l-26.6-7c-6.5 4.6-13.5 8.6-20.8 12L208 322.4c-2 7.3-7.9 12.8-15.3 14.3c-10.6 2.1-21.5 3.3-32.7 3.3s-22.1-1.1-32.7-3.3c-7.4-1.5-13.3-7-15.3-14.3l-7.3-26.6c-7.3-3.4-14.3-7.4-20.8-12l-26.6 7c-7.3 1.9-15-.4-20-6.1C22.8 268.4 11.5 249.2 4.4 228c-2.4-7.1-.6-15 4.7-20.4L28.5 188c-.4-4-.5-8-.5-12s.2-8 .5-12L9.2 144.4C3.9 139 2 131.1 4.4 124c7.1-21.2 18.3-40.4 32.8-56.7c5-5.6 12.7-8 20-6.1l26.6 7c6.5-4.6 13.5-8.6 20.8-12L112 29.6c2-7.3 7.9-12.8 15.3-14.3zM120 176a40 40 0 1 1 80 0 40 40 0 1 1 -80 0zM340.7 364.9l23.5 6.5c6.2 1.7 11.2 6.3 13.5 12.4c3.7 10 9 19.1 15.7 27.2c4.1 5 5.6 11.6 4 17.9l-6.2 23.6c6.9 5 14.4 9.4 22.3 12.9l17.4-17.1c4.6-4.5 11.1-6.6 17.4-5.5c5.1 .9 10.3 1.3 15.7 1.3s10.6-.5 15.7-1.3c6.4-1.1 12.9 .9 17.4 5.5l17.4 17.1c7.9-3.5 15.4-7.9 22.3-12.9l-6.2-23.6c-1.6-6.2-.1-12.9 4-17.9c6.7-8 12-17.2 15.7-27.2c2.2-6.1 7.2-10.7 13.5-12.4l23.5-6.5c.4-4.2 .7-8.5 .7-12.9s-.2-8.7-.7-12.9l-23.5-6.5c-6.2-1.7-11.2-6.3-13.5-12.4c-3.7-10-9-19.1-15.7-27.2c-4.1-5-5.6-11.6-4-17.9l6.2-23.6c-6.9-5-14.4-9.4-22.3-12.9l-17.4 17.1c-4.6 4.5-11.1 6.6-17.4 5.5c-5.1-.9-10.3-1.3-15.7-1.3s-10.6 .5-15.7 1.3c-6.4 1.1-12.9-.9-17.4-5.5l-17.4-17.1c-7.9 3.5-15.4 7.9-22.3 12.9l6.2 23.6c1.6 6.3 .1 12.9-4 17.9c-6.7 8-12 17.2-15.7 27.2c-2.2 6.1-7.2 10.7-13.5 12.4l-23.5 6.5c-.4 4.2-.7 8.5-.7 12.9s.2 8.7 .7 12.9zm-37.4 19.8c-2.1-10.6-3.3-21.5-3.3-32.7s1.1-22.1 3.3-32.7c1.5-7.4 7-13.3 14.3-15.3l26.6-7.3c3.4-7.3 7.4-14.3 12-20.8l-7-26.6c-1.9-7.3 .4-15 6.1-20c16.3-14.4 35.5-25.7 56.7-32.8c7.1-2.4 15-.6 20.4 4.7L452 220.5c4-.4 8-.5 12-.5s8 .2 12 .5l19.6-19.4c5.4-5.3 13.2-7.1 20.4-4.7c21.2 7.1 40.4 18.3 56.7 32.8c5.6 5 8 12.7 6.1 20l-7 26.6c4.6 6.5 8.6 13.5 12 20.8l26.6 7.3c7.3 2 12.8 7.9 14.3 15.3c2.1 10.6 3.3 21.5 3.3 32.7s-1.1 22.1-3.3 32.7c-1.5 7.4-7 13.3-14.3 15.3l-26.6 7.3c-3.4 7.3-7.4 14.3-12 20.8l7 26.6c1.9 7.3-.5 15-6.1 20c-16.3 14.4-35.5 25.7-56.7 32.8c-7.1 2.4-15 .6-20.4-4.7L476 483.5c-4 .4-8 .5-12 .5s-8-.2-12-.5l-19.6 19.4c-5.4 5.3-13.2 7.1-20.4 4.7c-21.2-7.1-40.4-18.3-56.7-32.8c-5.6-5-8-12.7-6.1-20l7-26.6c-4.6-6.5-8.6-13.5-12-20.8L317.6 400c-7.3-2-12.8-7.9-14.3-15.3zM464 392a40 40 0 1 1 0-80 40 40 0 1 1 0 80z\"]\n};\nvar faCogs = faGears;\nvar faSunBright = {\n prefix: 'far',\n iconName: 'sun-bright',\n icon: [512, 512, [\"sun-alt\"], \"e28f\", \"M280 24V88c0 13.3-10.7 24-24 24s-24-10.7-24-24V24c0-13.3 10.7-24 24-24s24 10.7 24 24zm157 84.9l-45.3 45.3c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L403.1 75c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9zM108.9 75l45.3 45.3c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L75 108.9c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0zM24 232H88c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24zm400 0h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H424c-13.3 0-24-10.7-24-24s10.7-24 24-24zM154.2 391.8L108.9 437c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l45.3-45.3c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9zm237.6-33.9L437 403.1c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-45.3-45.3c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0zM280 424v64c0 13.3-10.7 24-24 24s-24-10.7-24-24V424c0-13.3 10.7-24 24-24s24 10.7 24 24zm40-168a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zm-176 0a112 112 0 1 1 224 0 112 112 0 1 1 -224 0z\"]\n};\nvar faSunAlt = faSunBright;\nvar faWarehouse = {\n prefix: 'far',\n iconName: 'warehouse',\n icon: [640, 512, [], \"f494\", \"M323 51.1c-1.9-.8-4.1-.8-6 0L63 154.1c-9.1 3.7-15 12.5-15 22.2V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V176.3c0-29.3 17.8-55.7 44.9-66.7L299 6.6c13.5-5.5 28.6-5.5 42.1 0l254 103c27.2 11 45 37.4 45 66.7V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V176.3c0-9.8-5.9-18.6-15-22.2L323 51.1zM144 328v48H496V328H144zm0 136H496V424H144v40zm-23.7 48c-.1 0-.2 0-.3 0c-13.3 0-24-10.7-24-24V232c0-22.1 17.9-40 40-40H504c22.1 0 40 17.9 40 40V488c0 13.3-10.7 24-24 24c-.1 0-.2 0-.3 0H120.3zM144 280H496V240H144v40z\"]\n};\nvar faConveyorBeltArm = {\n prefix: 'far',\n iconName: 'conveyor-belt-arm',\n icon: [640, 512, [], \"e5f8\", \"M152 0H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H259l-4.5 26.9c6 5 10.8 11.4 13.9 18.8l198.8 26.5c13.1 1.8 22.4 13.8 20.6 27c-.8 5.9-3.7 11-7.8 14.7V192c0 8.8-7.2 16-16 16s-16-7.2-16-16V166.1L262 141.3c-8.8 11.4-22.6 18.7-38 18.7c-26.5 0-48-21.5-48-48c0-20.6 13-38.1 31.2-45l3.2-19H152c-13.3 0-24-10.7-24-24s10.7-24 24-24zm88 112a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM416 264c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v24h16c61.9 0 112 50.1 112 112s-50.1 112-112 112H112C50.1 512 0 461.9 0 400c0-56.4 41.7-103.1 96-110.9V264c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v24h64V264c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v24h64V264zM112 336c-35.3 0-64 28.7-64 64s28.7 64 64 64H528c35.3 0 64-28.7 64-64s-28.7-64-64-64H488 440 328 280 168 120h-8zm16 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm160 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm224-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faLockKeyholeOpen = {\n prefix: 'far',\n iconName: 'lock-keyhole-open',\n icon: [576, 512, [\"lock-open-alt\"], \"f3c2\", \"M432 48c-44.2 0-80 35.8-80 80v64h32c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V256c0-35.3 28.7-64 64-64H304V128C304 57.3 361.3 0 432 0s128 57.3 128 128v72c0 13.3-10.7 24-24 24s-24-10.7-24-24V128c0-44.2-35.8-80-80-80zM384 240H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V256c0-8.8-7.2-16-16-16zM256 376H192c-13.3 0-24-10.7-24-24s10.7-24 24-24h64c13.3 0 24 10.7 24 24s-10.7 24-24 24z\"]\n};\nvar faLockOpenAlt = faLockKeyholeOpen;\nvar faSquareFragile = {\n prefix: 'far',\n iconName: 'square-fragile',\n icon: [448, 512, [\"box-fragile\", \"square-wine-glass-crack\"], \"f49b\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm128 38.3c0-12.3 10-22.3 22.3-22.3H176l32 64-32 32 80 64-32-64 48-32-32-64h57.7c12.3 0 22.3 10 22.3 22.3V224c0 47.6-34.6 87.1-80 94.7V368h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16s7.2-16 16-16h32V318.7c-45.4-7.6-80-47.1-80-94.7V134.3z\"]\n};\nvar faBoxFragile = faSquareFragile;\nvar faSquareWineGlassCrack = faSquareFragile;\nvar faArrowUpRightDots = {\n prefix: 'far',\n iconName: 'arrow-up-right-dots',\n icon: [576, 512, [], \"e4b7\", \"M128 24c0 13.3 10.7 24 24 24h86.1L7 279c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l231-231V168c0 13.3 10.7 24 24 24s24-10.7 24-24V24c0-13.3-10.7-24-24-24H152c-13.3 0-24 10.7-24 24zM576 80a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM448 208a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM400 384a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm48 80a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm128 0a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM272 384a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm48 80a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM144 512a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM576 336a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm-48-80a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faSquareN = {\n prefix: 'far',\n iconName: 'square-n',\n icon: [448, 512, [], \"e277\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm154.3 40.5L288 294.5V152c0-13.3 10.7-24 24-24s24 10.7 24 24V360c0 10.1-6.3 19.1-15.7 22.5s-20.1 .7-26.6-7L160 217.5V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-10.1 6.3-19.1 15.7-22.5s20.1-.7 26.6 7z\"]\n};\nvar faSplotch = {\n prefix: 'far',\n iconName: 'splotch',\n icon: [512, 512, [], \"f5bc\", \"M187.7 400.2L84.9 409.5c-11.2 1-20.9-7.8-20.9-19.1c0-4.2 1.3-8.2 3.8-11.5l18.8-25c16.7-22.3 25.4-49.5 24.8-77.3c-.5-23.1-7.5-45.7-20.2-65L50.6 149.7c-1.7-2.6-2.6-5.7-2.6-8.8c0-10.1 9.1-17.7 19-15.9l42.8 7.8c52.6 9.6 106.3-9.9 140.6-51l22.3-26.8c3.7-4.4 9.1-6.9 14.8-6.9c8.3 0 15.7 5.3 18.3 13.2l15 45.1c15.7 47.2 51.9 84.7 98.5 102.2l32.3 12.1c7.4 2.8 12.4 9.9 12.4 17.8c0 6-2.8 11.6-7.6 15.2l-62 46.5c-37.9 28.4-57.9 74.7-52.7 121.8l2.5 22.7c1.1 10.3-6.9 19.3-17.3 19.3c-3.9 0-7.8-1.3-10.9-3.8L279 430.5c-24.7-19.8-55.4-30.5-87-30.5c-1.5 0-2.9 .1-4.3 .2zM51 237.8c7.8 11.9 12.1 25.7 12.4 39.8c.4 17-4.9 33.7-15.2 47.4l-18.8 25C20.7 361.7 16 375.9 16 390.4c0 39.5 33.9 70.5 73.3 66.9L192 448c20.7 0 40.8 7 57 20l37.1 29.7c11.6 9.3 26 14.3 40.8 14.3c39 0 69.3-33.9 65-72.6l-2.5-22.7c-3.4-30.2 9.5-59.9 33.8-78.1l62-46.5c16.9-12.7 26.8-32.5 26.8-53.6c0-28-17.3-53-43.5-62.8l-32.3-12.1c-33-12.4-58.7-39-69.8-72.4L351.3 46c-9.2-27.5-34.9-46-63.8-46c-20 0-38.9 8.9-51.7 24.2L213.5 51C190.3 78.8 154 92 118.4 85.5L75.6 77.7C36.2 70.6 0 100.8 0 140.9c0 12.5 3.6 24.7 10.5 35.1L51 237.8z\"]\n};\nvar faFaceGrinHearts = {\n prefix: 'far',\n iconName: 'face-grin-hearts',\n icon: [512, 512, [128525, \"grin-hearts\"], \"f584\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm349.5 52.4c18.7-4.4 35.9 12 25.5 28.1C350.4 374.6 306.3 400 255.9 400s-94.5-25.4-119.1-63.5c-10.4-16.1 6.8-32.5 25.5-28.1c28.9 6.8 60.5 10.5 93.6 10.5s64.7-3.7 93.6-10.5zM215.3 137.1c17.8 4.8 28.4 23.1 23.6 40.8l-17.4 65c-2.3 8.5-11.1 13.6-19.6 11.3l-65.1-17.4c-17.8-4.8-28.4-23.1-23.6-40.8s23.1-28.4 40.8-23.6l16.1 4.3 4.3-16.1c4.8-17.8 23.1-28.4 40.8-23.6zm122.3 23.6l4.3 16.1 16.1-4.3c17.8-4.8 36.1 5.8 40.8 23.6s-5.8 36.1-23.6 40.8l-65.1 17.4c-8.5 2.3-17.3-2.8-19.6-11.3l-17.4-65c-4.8-17.8 5.8-36.1 23.6-40.8s36.1 5.8 40.9 23.6z\"]\n};\nvar faGrinHearts = faFaceGrinHearts;\nvar faMeter = {\n prefix: 'far',\n iconName: 'meter',\n icon: [512, 512, [], \"e1e8\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM192 152v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24s24 10.7 24 24zm88 0v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24s24 10.7 24 24zm88 0v48c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faMandolin = {\n prefix: 'far',\n iconName: 'mandolin',\n icon: [512, 512, [], \"f6f9\", \"M435.3 3.6C444.8-2.3 457.1-.9 465 7l40 40c7.9 7.9 9.3 20.2 3.4 29.7l-40 64c-3.2 5.1-8.2 8.8-14 10.4l-81.8 22.3-50.6 50.6C324.6 305.1 317.5 512 176 512C78.8 512 0 433.2 0 336C0 194.5 206.9 187.4 287.9 190.1l50.6-50.6 22.3-81.9c1.6-5.8 5.3-10.8 10.4-14l64-40zm-246.8 286l51.5-51.5c-22.3 .8-47.1 2.8-71.6 7.1c-36.9 6.5-68.6 17.3-90.1 32.8C58.9 292.1 48 309.4 48 336c0 70.7 57.3 128 128 128c26.6 0 43.9-10.9 57.9-30.2c15.6-21.5 26.4-53.2 32.8-90.1c4.3-24.5 6.3-49.3 7.1-71.6l-51.5 51.5c1.1 4 1.6 8.1 1.6 12.4c0 26.5-21.5 48-48 48s-48-21.5-48-48s21.5-48 48-48c4.3 0 8.5 .6 12.4 1.6z\"]\n};\nvar faDiceFour = {\n prefix: 'far',\n iconName: 'dice-four',\n icon: [448, 512, [9859], \"f524\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm96 64a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm0 192a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM320 128a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM288 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faSimCard = {\n prefix: 'far',\n iconName: 'sim-card',\n icon: [384, 512, [], \"f7c4\", \"M48 64V448c0 8.8 7.2 16 16 16H320c8.8 0 16-7.2 16-16V154.5c0-4.2-1.7-8.3-4.7-11.3L240.8 52.7c-3-3-7.1-4.7-11.3-4.7H64c-8.8 0-16 7.2-16 16zM0 448V64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64zM128 240h16v80H80V288c0-26.5 21.5-48 48-48zM80 384V352h80 48v80H128c-26.5 0-48-21.5-48-48zm176 48H240V352h64v32c0 26.5-21.5 48-48 48zm48-144v32H224 176V240h80c26.5 0 48 21.5 48 48z\"]\n};\nvar faTransgender = {\n prefix: 'far',\n iconName: 'transgender',\n icon: [512, 512, [9895, \"transgender-alt\"], \"f225\", \"M128 24c0-13.3-10.7-24-24-24H24C10.7 0 0 10.7 0 24v80c0 13.3 10.7 24 24 24s24-10.7 24-24V81.9L78.1 112l-7 7c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l7-7 15.2 15.2C107.6 187.7 96 220.5 96 256c0 80.2 59 146.6 136 158.2V432H216c-13.3 0-24 10.7-24 24s10.7 24 24 24h16v8c0 13.3 10.7 24 24 24s24-10.7 24-24v-8h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V414.2c77-11.6 136-78 136-158.2c0-35.5-11.6-68.3-31.2-94.9L464 81.9V104c0 13.3 10.7 24 24 24s24-10.7 24-24V24c0-13.3-10.7-24-24-24H408c-13.3 0-24 10.7-24 24s10.7 24 24 24h22.1l-79.2 79.2C324.3 107.6 291.5 96 256 96s-68.3 11.6-94.9 31.2L145.9 112l7-7c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-7 7L81.9 48H104c13.3 0 24-10.7 24-24zM256 368c-61.9 0-112-50.1-112-112c0-29.8 11.7-56.9 30.7-77c.8-.6 1.6-1.3 2.3-2s1.4-1.5 2-2.3c20.1-19 47.2-30.7 77-30.7s56.9 11.7 77 30.7c.6 .8 1.3 1.6 2 2.3s1.5 1.4 2.3 2c19 20.1 30.7 47.2 30.7 77c0 61.9-50.1 112-112 112z\"]\n};\nvar faTransgenderAlt = faTransgender;\nvar faMercury = {\n prefix: 'far',\n iconName: 'mercury',\n icon: [384, 512, [9791], \"f223\", \"M73 5.3C83.3-3 98.4-1.4 106.7 9c18.5 23.1 51.4 38.9 84.9 39l.3 0 .3 0c33.5-.1 66.4-15.9 84.9-39C285.6-1.4 300.7-3 311 5.3s12 23.4 3.7 33.7c-9.9 12.4-22.2 23.1-36 31.8C332 101.1 368 158.3 368 224c0 89.1-66.2 162.7-152 174.4V424h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H216v16c0 13.3-10.7 24-24 24s-24-10.7-24-24V472H136c-13.3 0-24-10.7-24-24s10.7-24 24-24h32V398.4C82.2 386.7 16 313.1 16 224c0-65.7 36-122.9 89.3-153.2C91.5 62.1 79.2 51.4 69.3 39C61 28.7 62.6 13.6 73 5.3zM192 96l-.3 0C121.1 96.2 64 153.4 64 224c0 70.7 57.3 128 128 128s128-57.3 128-128c0-70.6-57.1-127.8-127.7-128l-.3 0z\"]\n};\nvar faUpFromBracket = {\n prefix: 'far',\n iconName: 'up-from-bracket',\n icon: [448, 512, [], \"e590\", \"M114.2 160L224 50 333.8 160 280 160c-13.3 0-24 10.7-24 24l0 120-64 0 0-120c0-13.3-10.7-24-24-24l-53.8 0zM224 0c-11.5 0-22.5 4.6-30.6 12.7L77.6 128.8C68.9 137.5 64 149.3 64 161.6c0 25.6 20.8 46.4 46.4 46.4l33.6 0 0 96c0 26.5 21.5 48 48 48l64 0c26.5 0 48-21.5 48-48l0-96 33.6 0c25.6 0 46.4-20.8 46.4-46.4c0-12.3-4.9-24.1-13.6-32.8L254.6 12.7C246.5 4.6 235.5 0 224 0zM48 344c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 80c0 48.6 39.4 88 88 88l272 0c48.6 0 88-39.4 88-88l0-80c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 80c0 22.1-17.9 40-40 40L88 464c-22.1 0-40-17.9-40-40l0-80z\"]\n};\nvar faKnifeKitchen = {\n prefix: 'far',\n iconName: 'knife-kitchen',\n icon: [576, 512, [128298], \"f6f5\", \"M488 0c-9.4 0-18.3 3.7-25 10.3L284.6 188.7l11.3 11.3L400.3 304.4l31-17.2c15.2-8.5 24.7-24.5 24.7-42V213.3c0-4.2 1.7-8.3 4.7-11.3l97-97c6.6-6.6 10.3-15.6 10.3-25s-3.7-18.3-10.3-25L513 10.3C506.3 3.7 497.4 0 488 0zM432 128a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48-48a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM4.7 468.7c-8.4 8.4-4.7 22.9 6.5 26.6C43.4 505.7 78.1 512 112 512c123.3 0 209.4-62.8 287.3-140.7c6.2-6.2 6.2-16.4 0-22.6l-23-23-33.9 33.9C275 422.2 205.5 464 112 464c-10.7 0-21.6-.8-32.6-2.2L262 279.3l33.9-33.9L262 211.4l-33.9 33.9L4.7 468.7z\"]\n};\nvar faBorderRight = {\n prefix: 'far',\n iconName: 'border-right',\n icon: [448, 512, [], \"f852\", \"M424 32c13.3 0 24 10.7 24 24l0 400c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-400c0-13.3 10.7-24 24-24zM320 96a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0 320a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0-128a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM128 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 448a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0-256a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM224 96a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0 320a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0-128a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM32 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 448a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0-256a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm192-32a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM32 128a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 256a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm192-64a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faArrowTurnDown = {\n prefix: 'far',\n iconName: 'arrow-turn-down',\n icon: [384, 512, [\"level-down\"], \"f149\", \"M24 48C10.7 48 0 37.3 0 24S10.7 0 24 0L128 0c48.6 0 88 39.4 88 88l0 342.1 87-87c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L209 505c-9.4 9.4-24.6 9.4-33.9 0L47 377c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l87 87L168 88c0-22.1-17.9-40-40-40L24 48z\"]\n};\nvar faLevelDown = faArrowTurnDown;\nvar faSpade = {\n prefix: 'far',\n iconName: 'spade',\n icon: [512, 512, [9824], \"f2f4\", \"M437.7 242.9l0 0L256.4 55 74.2 242.9l0 0c-37 38.4-34.9 102.3 6.7 138l0 0 .3 .2c32 27.9 86 25.1 120.8-10.2l19.7-20.7c9.2-9.7 22-15.1 35.4-14.9s26 5.9 35 15.8l18.3 20.2c34.3 34.4 87.3 38 121.7 9.5c40.6-35.7 42.6-99.6 5.7-138zM233.5 9.7c12-13 33-13 45.9 0L472.2 209.5c55.9 57.9 52.9 153.8-9 207.8c-50.7 42.6-122.8 39.2-173 .2c-3.5-2.7-6.9-5.6-10.2-8.7V464h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24h48V408.7c-3.1 2.9-6.4 5.7-9.8 8.4c-50.4 39.4-123.4 43-172.5 .3c-62.9-53.9-65.9-149.8-10-207.8L233.5 9.7z\"]\n};\nvar faCardSpade = {\n prefix: 'far',\n iconName: 'card-spade',\n icon: [384, 512, [], \"e3ec\", \"M64 48c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H320c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H64zM0 64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zm175 77.2c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6 59.7 59.7c21.9 21.9 21.9 57.3 0 79.2s-57.3 21.9-79.2 0l-3.2-3.2c-.3-.3-.6-.6-1-.9V336h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H160c-8.8 0-16-7.2-16-16s7.2-16 16-16h16V298.6c-.3 .3-.7 .6-1 .9l-3.2 3.2c-21.9 21.9-57.3 21.9-79.2 0s-21.9-57.3 0-79.2l59.7-59.7L175 141.2z\"]\n};\nvar faLineColumns = {\n prefix: 'far',\n iconName: 'line-columns',\n icon: [512, 512, [], \"f870\", \"M24 40H200c13.3 0 24 10.7 24 24s-10.7 24-24 24H24C10.7 88 0 77.3 0 64S10.7 40 24 40zm0 128H200c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24zM0 320c0-13.3 10.7-24 24-24H200c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24zM24 424H200c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24zM288 192c0-13.3 10.7-24 24-24H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H312c-13.3 0-24-10.7-24-24zM312 40H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H312c-13.3 0-24-10.7-24-24s10.7-24 24-24zM288 320c0-13.3 10.7-24 24-24H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H312c-13.3 0-24-10.7-24-24zm24 104H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H312c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faAnt = {\n prefix: 'far',\n iconName: 'ant',\n icon: [640, 512, [], \"e680\", \"M530.1 0c-19.7 0-37.9 10.3-48 27.2L469.6 48C413.3 49.3 368 95.4 368 152c0 15.5 3.4 30.2 9.5 43.4c-8.1-2.2-16.7-3.4-25.5-3.4c-24.5 0-46.8 9.1-63.7 24.2C270.8 169.4 225.7 136 172.8 136l-15.5 0C70.4 136 0 206.4 0 293.3C0 343.4 40.6 384 90.7 384l29.1 0L67.2 476.1c-6.6 11.5-2.6 26.2 8.9 32.7s26.2 2.6 32.7-8.9l64-112c.7-1.3 1.3-2.6 1.8-3.9l9.4 0c5.6 0 11.1-.4 16.5-1.2l-53.3 93.3c-6.6 11.5-2.6 26.2 8.9 32.7s26.2 2.6 32.7-8.9L276.2 347c4.6 5.9 9.8 11.2 15.7 15.9l-.5 .8-.3 .4-64 112c-6.6 11.5-2.6 26.2 8.9 32.7s26.2 2.6 32.7-8.9l63.9-111.8 3.3-5.5c5.2 .9 10.6 1.3 16 1.3c13.6 0 26.5-2.8 38.2-7.9l39.6 39.6c3.8 3.8 6.8 8.4 8.9 13.4l27.1 67.8c4.9 12.3 18.9 18.3 31.2 13.4s18.3-18.9 13.4-31.2l-27.1-67.8c-4.4-11.1-11.1-21.1-19.5-29.5l-35.4-35.4c2.2-2.8 4.2-5.8 6.1-8.9l86.8 62c6.9 4.9 12 11.9 14.7 19.9l25.4 76.3c4.2 12.6 17.8 19.4 30.4 15.2s19.4-17.8 15.2-30.4l-25.4-76.3c-5.9-17.6-17.2-33-32.3-43.8l-95.1-67.9-5.9-4.2 0-.2c0-13-2.6-25.5-7.3-36.8c9.9 3.1 20.4 4.8 31.3 4.8l58.7 0c42.7 0 77.3-34.6 77.3-77.3c0-56.8-36.3-105.2-86.9-123.2l2.2-3.6c1.4-2.4 4.1-3.9 6.9-3.9L584 48c13.3 0 24-10.7 24-24s-10.7-24-24-24L530.1 0zM416 152c0-30.9 25.1-56 56-56l5.3 0C523 96 560 133 560 178.7c0 16.2-13.1 29.3-29.3 29.3L472 208c-30.9 0-56-25.1-56-56zM400 288a48 48 0 1 1 -96 0 48 48 0 1 1 96 0zM157.3 184l15.5 0c41.5 0 75.2 33.7 75.2 75.2l0 12.8c0 35.3-28.7 64-64 64l-93.3 0C67.1 336 48 316.9 48 293.3C48 233 97 184 157.3 184zM520 144a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faArrowRightToLine = {\n prefix: 'far',\n iconName: 'arrow-right-to-line',\n icon: [448, 512, [8677, \"arrow-to-right\"], \"f340\", \"M448 88c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 336c0 13.3 10.7 24 24 24s24-10.7 24-24l0-336zM312.4 273.5c4.8-4.5 7.6-10.9 7.6-17.5s-2.7-12.9-7.6-17.5l-136-128c-9.7-9.1-24.8-8.6-33.9 1s-8.6 24.8 1 33.9L235.5 232 152 232 24 232c-13.3 0-24 10.7-24 24s10.7 24 24 24l128 0 83.5 0-91.9 86.5c-9.7 9.1-10.1 24.3-1 33.9s24.3 10.1 33.9 1l136-128z\"]\n};\nvar faArrowToRight = faArrowRightToLine;\nvar faPersonFallingBurst = {\n prefix: 'far',\n iconName: 'person-falling-burst',\n icon: [640, 512, [], \"e547\", \"M232 0c13.3 0 24 10.7 24 24l0 10.4c0 56.5-30.1 107.8-77.5 135.8L236.7 256l74.9 0c13.1 0 25.3 6.4 32.8 17.1l51.2 73.2c7.6 10.9 5 25.8-5.9 33.4s-25.8 5-33.4-5.9L307.5 304l-49.6 0c-1.3 1.5-2.9 2.8-4.6 4l-53.9 36 84.8 131c7.2 11.1 4 26-7.1 33.2s-26 4-33.2-7.1L84.4 254.7C81.5 264.6 80 275 80 285.6L80 360c0 13.3-10.7 24-24 24s-24-10.7-24-24V285.6c0-66.3 41.5-125.5 103.8-148.2c43.3-15.8 72.2-57 72.2-103.1V24c0-13.3 10.7-24 24-24zM173.3 303.6l26-17.3-64.8-95.5c-8.4 4.9-16.1 10.9-22.8 17.7l61.6 95.2zM0 80a48 48 0 1 1 96 0A48 48 0 1 1 0 80zM464 302.3l-33.3 24.5c-.7-1.2-1.5-2.3-2.3-3.4l-51.2-73.2c-15-21.4-39.4-34.1-65.5-34.1l-19.8 0c.5-6.2 3.4-12.1 8.2-16.3l48.6-42L323.1 98.8c-3.5-8.1-2.3-17.6 3.3-24.5s14.5-10.3 23.2-8.6l63.1 11.8 30.1-56.7C447 12.9 455.1 8 464 8s17 4.9 21.2 12.7l30.1 56.7 63.1-11.8c8.7-1.6 17.6 1.7 23.2 8.6s6.8 16.4 3.3 24.5l-25.6 58.9 48.6 42c6.7 5.8 9.7 14.8 7.7 23.5s-8.6 15.5-17.1 17.8l-62 16.7-2.5 64.2c-.3 8.9-5.6 16.8-13.6 20.7s-17.5 3-24.6-2.3l-51.7-38zm0-219.1l-17.2 32.4c-4.9 9.3-15.3 14.3-25.6 12.3l-36-6.7 14.6 33.6c4.2 9.6 1.6 20.9-6.3 27.7l-27.7 24 35.4 9.6c10.1 2.7 17.3 11.7 17.7 22.2l1.4 36.6 29.5-21.7c8.5-6.2 20-6.2 28.4 0l29.5 21.7 1.4-36.6c.4-10.5 7.6-19.5 17.7-22.2l35.4-9.6-27.7-24c-7.9-6.9-10.5-18.1-6.3-27.7l14.6-33.6-36 6.7c-10.3 1.9-20.7-3.1-25.6-12.3L464 83.2z\"]\n};\nvar faFlagPennant = {\n prefix: 'far',\n iconName: 'flag-pennant',\n icon: [448, 512, [128681, \"pennant\"], \"f456\", \"M48 24C48 10.7 37.3 0 24 0S0 10.7 0 24v8V80 304v48V488c0 13.3 10.7 24 24 24s24-10.7 24-24V350.9L432.9 213.4c9-3.2 15.1-11.8 15.1-21.4s-6-18.2-15.1-21.4L48 33.1V24zm0 60.1L350.1 192 48 299.9V84.1z\"]\n};\nvar faPennant = faFlagPennant;\nvar faConveyorBeltEmpty = {\n prefix: 'far',\n iconName: 'conveyor-belt-empty',\n icon: [640, 512, [], \"e150\", \"M112 336c-35.3 0-64 28.7-64 64s28.7 64 64 64H528c35.3 0 64-28.7 64-64s-28.7-64-64-64H112zM0 400c0-61.9 50.1-112 112-112H528c61.9 0 112 50.1 112 112s-50.1 112-112 112H112C50.1 512 0 461.9 0 400zm128-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm160 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm224-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faUserGroupSimple = {\n prefix: 'far',\n iconName: 'user-group-simple',\n icon: [640, 512, [], \"e603\", \"M104 136a56 56 0 1 1 112 0 56 56 0 1 1 -112 0zm160 0A104 104 0 1 0 56 136a104 104 0 1 0 208 0zm216 88a96 96 0 1 0 0-192 96 96 0 1 0 0 192zM128 336h64c44.2 0 80 35.8 80 80v16H48l0-16c0-44.2 35.8-80 80-80zm0-48C57.3 288 0 345.3 0 416v16c0 26.5 21.5 48 48 48H272c26.5 0 48-21.5 48-48V416c0-70.7-57.3-128-128-128H128zM448 480h64c70.7 0 128-57.3 128-128V336c0-26.5-21.5-48-48-48H368c-21.8 0-40.3 14.6-46.1 34.6C340.8 348.9 352 381.1 352 416v16c0 1.5 0 3-.1 4.5C375.3 463.2 409.7 480 448 480z\"]\n};\nvar faAward = {\n prefix: 'far',\n iconName: 'award',\n icon: [384, 512, [], \"f559\", \"M163.1 8.1c17.7-10.8 40-10.8 57.8 0l15.6 9.5c1.2 .7 2.7 1.1 4.1 1.1l18.3-.4c20.8-.5 40.1 10.7 50 28.9l8.8 16.1c.7 1.3 1.7 2.3 3 3L336.8 75c18.2 10 29.4 29.3 28.9 50l-.4 18.3c0 1.4 .3 2.9 1.1 4.1l9.5 15.6c10.8 17.7 10.8 40 0 57.8l-9.5 15.6c-.7 1.2-1.1 2.7-1.1 4.1l.4 18.3c.5 20.8-10.7 40.1-28.9 50l-16.1 8.8c-1.3 .7-2.3 1.7-3 3L309 336.8c-10 18.2-29.3 29.4-50 28.9l-18.3-.4c-1.4 0-2.9 .3-4.1 1.1l-15.6 9.5c-17.7 10.8-40 10.8-57.8 0l-15.6-9.5c-1.2-.7-2.7-1.1-4.1-1.1l-18.3 .4c-20.8 .5-40.1-10.7-50-28.9l-8.8-16.1c-.7-1.3-1.7-2.3-3-3L47.2 309c-18.2-10-29.4-29.3-28.9-50l.4-18.3c0-1.4-.3-2.9-1.1-4.1L8.1 220.9c-10.8-17.7-10.8-40 0-57.8l9.5-15.6c.7-1.2 1.1-2.7 1.1-4.1l-.4-18.3C17.8 104.3 29 85 47.2 75l16.1-8.8c1.3-.7 2.3-1.7 3-3L75 47.2c10-18.2 29.3-29.4 50-28.9l18.3 .4c1.4 0 2.9-.3 4.1-1.1l15.6-9.5zm32.8 41c-2.4-1.5-5.4-1.5-7.8 0l-15.6 9.5c-9.1 5.5-19.6 8.3-30.2 8.1l-18.3-.4c-2.8-.1-5.4 1.4-6.8 3.9l-8.8 16.1c-5.1 9.3-12.8 17-22.1 22.1l-16.1 8.8c-2.5 1.4-4 4-3.9 6.8l.4 18.3c.3 10.6-2.6 21.1-8.1 30.2l-9.5 15.6L28.6 175.6l20.5 12.5c-1.5 2.4-1.5 5.4 0 7.8l9.5 15.6c5.5 9.1 8.3 19.6 8.1 30.2l-.4 18.3c-.1 2.8 1.4 5.4 3.9 6.8l16.1 8.8c9.3 5.1 17 12.8 22.1 22.1l8.8 16.1c1.4 2.5 4 4 6.8 3.9l18.3-.4c10.6-.3 21.1 2.6 30.2 8.1l15.6 9.5c2.4 1.5 5.4 1.5 7.8 0l15.6-9.5c9.1-5.5 19.6-8.3 30.2-8.1l18.3 .4c2.8 .1 5.4-1.4 6.8-3.9l8.8-16.1c5.1-9.3 12.8-17 22.1-22.1l16.1-8.8c2.5-1.4 4-4 3.9-6.8l-.4-18.3c-.3-10.6 2.6-21.1 8.1-30.2l9.5-15.6c1.5-2.4 1.5-5.4 0-7.8l-9.5-15.6c-5.5-9.1-8.3-19.6-8.1-30.2l.4-18.3c.1-2.8-1.4-5.4-3.9-6.8l-16.1-8.8c-9.3-5.1-17-12.8-22.1-22.1l-8.8-16.1c-1.4-2.5-4-4-6.8-3.9l-18.3 .4c-10.6 .3-21.1-2.6-30.2-8.1l-15.6-9.5zM128 192a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM1.3 441.8l41.2-97.9 4.5 8.2c15.7 28.7 46.1 46.3 78.9 45.5l11.1-.3 9.5 5.8c8 4.9 16.7 8.4 25.6 10.5l-37.3 88.5c-2.3 5.5-7.4 9.2-13.3 9.7s-11.6-2.2-14.8-7.2L74.4 455.5l-56.1 8.3c-5.7 .8-11.4-1.5-15-6s-4.3-10.7-2.1-16zm248 60.4L212 413.7c8.9-2.1 17.5-5.6 25.5-10.5l9.5-5.8 11.1 .3c32.7 .8 63.2-16.8 78.9-45.5l4.5-8.2 41.2 97.9c2.2 5.3 1.4 11.4-2.1 16s-9.3 6.9-15 6l-56.1-8.3-32.2 49.2c-3.2 5-8.9 7.7-14.8 7.2s-11-4.3-13.3-9.7z\"]\n};\nvar faTicketSimple = {\n prefix: 'far',\n iconName: 'ticket-simple',\n icon: [576, 512, [\"ticket-alt\"], \"f3ff\", \"M0 128C0 92.7 28.7 64 64 64H512c35.3 0 64 28.7 64 64v60.1c0 10.2-6.4 19.2-16 22.6c-18.7 6.6-32 24.4-32 45.3s13.3 38.7 32 45.3c9.6 3.4 16 12.5 16 22.6V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V323.9c0-10.2 6.4-19.2 16-22.6c18.7-6.6 32-24.4 32-45.3s-13.3-38.7-32-45.3c-9.6-3.4-16-12.5-16-22.6V128zm64-16c-8.8 0-16 7.2-16 16v44.9c28.7 16.6 48 47.6 48 83.1s-19.3 66.6-48 83.1V384c0 8.8 7.2 16 16 16H512c8.8 0 16-7.2 16-16V339.1c-28.7-16.6-48-47.6-48-83.1s19.3-66.6 48-83.1V128c0-8.8-7.2-16-16-16H64z\"]\n};\nvar faTicketAlt = faTicketSimple;\nvar faBuilding = {\n prefix: 'far',\n iconName: 'building',\n icon: [384, 512, [127970, 61687], \"f1ad\", \"M64 48c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16h80V400c0-26.5 21.5-48 48-48s48 21.5 48 48v64h80c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H64zM0 64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zm88 40c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v48c0 8.8-7.2 16-16 16H104c-8.8 0-16-7.2-16-16V104zM232 88h48c8.8 0 16 7.2 16 16v48c0 8.8-7.2 16-16 16H232c-8.8 0-16-7.2-16-16V104c0-8.8 7.2-16 16-16zM88 232c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v48c0 8.8-7.2 16-16 16H104c-8.8 0-16-7.2-16-16V232zm144-16h48c8.8 0 16 7.2 16 16v48c0 8.8-7.2 16-16 16H232c-8.8 0-16-7.2-16-16V232c0-8.8 7.2-16 16-16z\"]\n};\nvar faAnglesLeft = {\n prefix: 'far',\n iconName: 'angles-left',\n icon: [512, 512, [171, \"angle-double-left\"], \"f100\", \"M47 239c-9.4 9.4-9.4 24.6 0 33.9L207 433c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L97.9 256 241 113c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L47 239zM399 79L239 239c-9.4 9.4-9.4 24.6 0 33.9L399 433c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-143-143L433 113c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0z\"]\n};\nvar faAngleDoubleLeft = faAnglesLeft;\nvar faCamcorder = {\n prefix: 'far',\n iconName: 'camcorder',\n icon: [576, 512, [128249, \"video-handheld\"], \"f8a8\", \"M96 120c0-22.1 17.9-40 40-40H296c13.3 0 24-10.7 24-24s-10.7-24-24-24H136c-48.6 0-88 39.4-88 88v42c-27.6 7.1-48 32.2-48 62V416c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V399 241 224c0-35.3-28.7-64-64-64H96V120zM64 208H320c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V224c0-8.8 7.2-16 16-16zM520.3 460.5c5.1 2.3 10.6 3.5 16.2 3.5c21.8 0 39.5-17.7 39.5-39.5v-209c0-21.8-17.7-39.5-39.5-39.5c-5.6 0-11.1 1.2-16.2 3.5L416 226.4V279l112-50.4V411.4L416 361v52.6l104.3 46.9zM80 264c0 13.3 10.7 24 24 24H280c13.3 0 24-10.7 24-24s-10.7-24-24-24H104c-13.3 0-24 10.7-24 24z\"]\n};\nvar faVideoHandheld = faCamcorder;\nvar faPancakes = {\n prefix: 'far',\n iconName: 'pancakes',\n icon: [512, 512, [129374], \"e42d\", \"M256 192c0-17.7 14.3-31.9 32-32.6c108.6-4.4 192-31.1 192-63.4c0-35.3-100.3-64-224-64S32 60.7 32 96c0 13.8 15.3 26.6 41.3 37C86.5 138.3 96 150.6 96 164.8V264c0 13.3 10.7 24 24 24s24-10.7 24-24V187.3c0-18.8 15.8-33.2 34.4-31.2c16 1.7 29.6 15 29.6 31V216c0 13.3 10.7 24 24 24s24-10.7 24-24V192zM192 80c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H208c-8.8 0-16-7.2-16-16zM64 163.8c-12.1-4.7-23.1-10.1-32.3-16.3c-9.1-6.2-19.6-15.3-26-27.8C2 127.1 0 135.2 0 144c0 15.3 6 28.6 16.9 40C6 195.4 0 208.7 0 224s6 28.6 16.9 40C6 275.4 0 288.7 0 304s6 28.6 16.9 40C6 355.4 0 368.7 0 384c0 66.7 114.6 96 256 96s256-29.3 256-96c0-15.3-6-28.6-16.9-40C506 332.6 512 319.3 512 304s-6-28.6-16.9-40C506 252.6 512 239.3 512 224s-6-28.6-16.9-40C506 172.6 512 159.3 512 144c0-8.8-2-16.9-5.7-24.3c-6.3 12.4-16.9 21.6-26 27.8C465 157.7 445 165.8 423.2 172c-8.2 2.3-17 4.5-26.2 6.5c-29.9 7.1-67 11.5-109 12.9V216c0 8.4-1.9 16.5-5.2 23.6c68.3-1.9 128.5-11.1 170.1-28.6c2.5 1.7 4.5 3.3 6.2 4.9c4.9 4.6 4.9 6.9 4.9 8l0 .1 0 .1c0 1.2 0 3.4-4.9 8c-6.1 5.7-17.8 12.8-37.4 19.4C382.4 264.8 324.4 272 256 272c-6.5 0-13-.1-19.3-.2c-1.6 .1-3.1 .2-4.7 .2c-2.7 0-5.3-.2-7.8-.5c-17-.6-33.1-1.7-48.3-3.2c-1.5 19.4-12.8 36-29 44.9C180 317.8 217 320 256 320c79.2 0 150-9.2 196.9-29c2.5 1.7 4.5 3.3 6.2 4.9c4.9 4.6 4.9 6.9 4.9 8l0 .1 0 .1c0 1.2 0 3.4-4.9 8c-6.1 5.7-17.8 12.8-37.4 19.4C382.4 344.8 324.4 352 256 352s-126.4-7.2-165.6-20.4c-19.7-6.6-31.4-13.7-37.4-19.4c-4.9-4.6-4.9-6.9-4.9-8l0-.1 0-.1c0-1.2 0-3.4 4.9-8c1.6-1.5 3.7-3.2 6.2-4.9c4.9 2.1 10.2 4.1 15.6 5.9C68 287.7 64 276.3 64 264V240.1c-4.8-2.8-8.5-5.5-11.1-7.9c-4.9-4.6-4.9-6.9-4.9-8l0-.1 0-.1c0-1.2 0-3.4 4.9-8c1.6-1.5 3.7-3.2 6.2-4.9c1.6 .7 3.2 1.3 4.9 2V163.8zM59.1 371c47 19.8 117.7 29 196.9 29s150-9.2 196.9-29c2.5 1.7 4.5 3.3 6.2 4.9c4.9 4.6 4.9 6.9 4.9 8l0 .1 0 .1c0 1.2 0 3.4-4.9 8c-6.1 5.7-17.8 12.8-37.4 19.4C382.4 424.8 324.4 432 256 432s-126.4-7.2-165.6-20.4c-19.7-6.6-31.4-13.8-37.4-19.4c-4.9-4.6-4.9-6.9-4.9-8l0-.1 0-.1c0-1.2 0-3.4 4.9-8c1.6-1.5 3.7-3.2 6.2-4.9z\"]\n};\nvar faAlbumCircleUser = {\n prefix: 'far',\n iconName: 'album-circle-user',\n icon: [576, 512, [], \"e48d\", \"M64 80H384c8.8 0 16 7.2 16 16v98.9c10.4-1.9 21.1-2.9 32-2.9c5.4 0 10.7 .2 16 .7V96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H296.2c-11.8-14.3-21.4-30.5-28.2-48H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16zm160 32c-79.5 0-144 64.5-144 144s64.5 144 144 144c11.8 0 23.2-1.4 34.2-4.1c-1.4-9.1-2.2-18.4-2.2-27.9c0-71.4 42.5-132.9 103.6-160.5C339.7 151.8 286.5 112 224 112zM192 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM576 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-66.3 80.7C489.5 468.1 462.2 480 432 480s-57.5-11.9-77.7-31.3c6.2-19 24-32.7 45.1-32.7h65.2c21 0 38.9 13.7 45.1 32.7zM384 336a48 48 0 1 1 96 0 48 48 0 1 1 -96 0z\"]\n};\nvar faSubtitlesSlash = {\n prefix: 'far',\n iconName: 'subtitles-slash',\n icon: [640, 512, [], \"e610\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-30-23.5c4.6-8.8 7.2-18.9 7.2-29.6V96c0-35.3-28.7-64-64-64H96c-6.7 0-13.1 1-19.2 2.9L38.8 5.1zM134.4 80H544c8.8 0 16 7.2 16 16V413.6L508.2 373c2.4-3.7 3.8-8.2 3.8-13c0-13.3-10.7-24-24-24H461l-67.2-52.6c4 2.9 8.9 4.6 14.2 4.6h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H408c-13.3 0-24 10.7-24 24c0 7.4 3.4 14 8.6 18.4L134.4 80zm353 400l-60.9-48H96c-8.8 0-16-7.2-16-16V159L32 121.2V416c0 35.3 28.7 64 64 64H487.4zM365.5 384l-59.9-47.2C295.5 339.6 288 348.9 288 360c0 13.3 10.7 24 24 24h53.5zM243.7 288l-60.9-48H152c-13.3 0-24 10.7-24 24s10.7 24 24 24h91.7zM152 336c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H152z\"]\n};\nvar faQrcode = {\n prefix: 'far',\n iconName: 'qrcode',\n icon: [448, 512, [], \"f029\", \"M144 80v96H48V80h96zM48 32C21.5 32 0 53.5 0 80v96c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H48zm96 304v96H48V336h96zM48 288c-26.5 0-48 21.5-48 48v96c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V336c0-26.5-21.5-48-48-48H48zM304 80h96v96H304V80zm-48 0v96c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H304c-26.5 0-48 21.5-48 48zM72 120v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V120c0-8.8-7.2-16-16-16H88c-8.8 0-16 7.2-16 16zM88 360c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V376c0-8.8-7.2-16-16-16H88zM328 120v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V120c0-8.8-7.2-16-16-16H344c-8.8 0-16 7.2-16 16zM256 304V464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V400c0-8.8 7.2-16 16-16s16 7.2 16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16s-16 7.2-16 16s-7.2 16-16 16H368c-8.8 0-16-7.2-16-16s-7.2-16-16-16H272c-8.8 0-16 7.2-16 16zM368 448a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm64 0a16 16 0 1 0 0 32 16 16 0 1 0 0-32z\"]\n};\nvar faDiceD10 = {\n prefix: 'far',\n iconName: 'dice-d10',\n icon: [512, 512, [], \"f6cd\", \"M256 0c6.9 0 13.5 3 18 8.2l232 264c4.2 4.8 6.4 11.1 5.9 17.5s-3.4 12.3-8.3 16.5l-232 200c-9 7.8-22.3 7.8-31.3 0l-232-200C3.5 302 .5 296 .1 289.7S1.7 277 6 272.2L238 8.2C242.5 3 249.1 0 256 0zM91.6 247.4l50.9-12 36-86.9L91.6 247.4zM256 86.8L189.7 247 256 291.2 322.3 247 256 86.8zm100.6 195L280 332.8V435.6l156.7-135-80-18.8zm63.8-34.3l-86.9-98.9 36 86.9 50.9 12zM232 435.6V332.8l-76.6-51.1-80 18.8L232 435.6z\"]\n};\nvar faFireplace = {\n prefix: 'far',\n iconName: 'fireplace',\n icon: [640, 512, [], \"f79a\", \"M48 48H592V80H48V48zM32 0C14.3 0 0 14.3 0 32V96c0 17.7 14.3 32 32 32l0 360c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24V368c0-88.4 71.6-160 160-160s160 71.6 160 160V488c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24V128c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H32zM80 464V128H560V464H528V368c0-114.9-93.1-208-208-208s-208 93.1-208 208v96H80zm240 48c61.9 0 112-50.1 112-112c0-22.3-10.9-58.8-52.1-99.7c-8.2-8.2-21.4-7.5-29.6 .7l-7.9 7.9-32.2-32.2c-4.2-4.2-9.8-6.5-15.4-6.4c-4.1 0-8.2 1.4-11.7 4.1C251.7 298.8 208 346.4 208 400c0 61.9 50.1 112 112 112zm44.8-78.3c0 24.7-20.1 44.8-44.8 44.8s-44.8-20.1-44.8-44.8c0-25.6 25.9-51.1 38.3-61.9c3.8-3.3 9.2-3.3 12.9 0c12.4 10.8 38.3 36.3 38.3 61.9z\"]\n};\nvar faBrowser = {\n prefix: 'far',\n iconName: 'browser',\n icon: [512, 512, [128468], \"f37e\", \"M.3 89.5C.1 91.6 0 93.8 0 96v64V416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64V160 96c0-35.3-28.7-64-64-64H64c-2.2 0-4.4 .1-6.5 .3c-9.2 .9-17.8 3.8-25.5 8.2C21.8 46.5 13.4 55.1 7.7 65.5c-3.9 7.3-6.5 15.4-7.4 24zM48 160H464l0 256c0 8.8-7.2 16-16 16L64 432c-8.8 0-16-7.2-16-16l0-256z\"]\n};\nvar faPenPaintbrush = {\n prefix: 'far',\n iconName: 'pen-paintbrush',\n icon: [576, 512, [\"pencil-paintbrush\"], \"f618\", \"M68.4 360.9L45.4 439 33 481.2c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1L105 498.6l78.1-23c12.4-3.6 23.7-9.9 33.4-18.4c1.4-1.2 2.7-2.5 4-3.8L524.7 149.3c21.9-21.9 24.6-55.6 8.2-80.5c-2.3-3.5-5.1-6.9-8.2-10L485.3 19.3c-25-25-65.5-25-90.5 0L90.6 323.5c-10.4 10.4-18 23.3-22.2 37.4zm46 13.5c1.7-5.6 4.5-10.8 8.4-15.2c.6-.6 1.1-1.2 1.7-1.8L353 129 415 191 186.6 419.5c-4.7 4.7-10.6 8.2-17 10.1l-23.4 6.9L91.4 452.6l16.1-54.8 6.9-23.4zm170.2 71.4C304.4 485.1 345 512 391.9 512h152c17.7 0 32-14.3 32-32s-14.3-32-32-32h-6c-18.1 0-30.1-19.8-27.4-37.6c.9-6 1.4-12.1 1.4-18.4c0-46.9-26.9-87.5-66.1-107.3l-37.2 37.2c31.7 7.5 55.3 36 55.3 70.1c0 3.8-.3 7.5-.8 11.1c-3.3 21.4 2.2 43.1 13.8 60l.7 .9H391.9c-34 0-62.5-23.6-70.1-55.3l-37.2 37.2zM136 24C105.1-6.9 54.9-6.9 24 24S-6.9 105.1 24 136l98.7 98.7 33.9-33.9L57.9 102.1c-12.2-12.2-12.2-31.9 0-44.1s31.9-12.2 44.1 0l98.7 98.7 33.9-33.9L136 24z\"]\n};\nvar faPencilPaintbrush = faPenPaintbrush;\nvar faFishCooked = {\n prefix: 'far',\n iconName: 'fish-cooked',\n icon: [576, 512, [], \"f7fe\", \"M149.3 203.9c19.8-22.8 47.5-46.1 78.2-63.6C258.4 122.8 290.7 112 320 112c44.8 0 97.6 25.1 140.5 58.9c21.1 16.6 38.7 34.5 50.7 50.7C524 238.8 528 250.7 528 256s-4 17.2-16.8 34.4c-12.1 16.2-29.6 34.1-50.7 50.7C417.6 374.9 364.8 400 320 400c-29.3 0-61.6-10.8-92.5-28.4c-30.7-17.5-58.4-40.8-78.2-63.6c-8-9.2-21.7-10.9-31.7-4L60 343.6l17.6-74.8c2-8.4 2-17.2 0-25.7L60 168.4 117.6 208c10.1 6.9 23.7 5.2 31.7-4zM320 64c-40.4 0-81 14.5-116.3 34.6c-28.5 16.2-54.7 36.7-76 58.1L46.9 101.1C42.1 97.8 36.3 96 30.4 96C11.7 96-2.2 113.5 2.1 131.7L30.9 254.2c.3 1.2 .3 2.5 0 3.7L2.1 380.3C-2.2 398.5 11.7 416 30.4 416c5.9 0 11.6-1.8 16.5-5.1l80.9-55.6c21.3 21.3 47.5 41.8 76 58.1C239 433.5 279.6 448 320 448c60.2 0 123.4-32.2 170.2-69.1c23.8-18.7 44.5-39.5 59.6-59.8C564.1 299.8 576 277.4 576 256s-11.9-43.8-26.2-63.1c-15-20.3-35.8-41.1-59.6-59.8C443.4 96.2 380.2 64 320 64zm-4.7 107.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-64 64c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l64-64zm112 16c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-160 160c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l160-160zm16 112c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-64 64c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l64-64z\"]\n};\nvar faChairOffice = {\n prefix: 'far',\n iconName: 'chair-office',\n icon: [448, 512, [], \"f6c1\", \"M288 48c8.8 0 16 7.2 16 16V224h48V64c0-35.3-28.7-64-64-64H160C124.7 0 96 28.7 96 64V224h48V64c0-8.8 7.2-16 16-16H288zM64 152c0-13.3-10.7-24-24-24s-24 10.7-24 24v64c0 13.3 10.7 24 24 24s24-10.7 24-24V152zm368 0c0-13.3-10.7-24-24-24s-24 10.7-24 24v64c0 13.3 10.7 24 24 24s24-10.7 24-24V152zM248 400H370.5c25.2 0 45.5-20.4 45.5-45.5c0-5.5-1-10.9-2.9-16l-19.2-51.3c-7-18.7-24.9-31.1-44.9-31.1H99.1c-20 0-37.9 12.4-44.9 31.1L34.9 338.5C33 343.6 32 349 32 354.5C32 379.6 52.4 400 77.5 400H200v64H152c-13.3 0-24 10.7-24 24s10.7 24 24 24h72 72c13.3 0 24-10.7 24-24s-10.7-24-24-24H248V400zM99.1 304H348.9l18 48H224 81.1l18-48z\"]\n};\nvar faMagnifyingGlassMusic = {\n prefix: 'far',\n iconName: 'magnifying-glass-music',\n icon: [512, 512, [], \"e65f\", \"M368 208A160 160 0 1 0 48 208a160 160 0 1 0 320 0zM337.1 371.1C301.7 399.2 256.8 416 208 416C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208c0 48.8-16.8 93.7-44.9 129.1L505 471c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L337.1 371.1zM271.6 158.8c12.6-4.2 19.4-17.8 15.2-30.4s-17.8-19.4-30.4-15.2l-48 16c-9.8 3.3-16.4 12.4-16.4 22.8v57.5c-5.1-1-10.5-1.5-16-1.5c-35.3 0-64 21.5-64 48s28.7 48 64 48c35.3 0 63.9-21.4 64-47.9c0 0 0-.1 0-.1v0V169.3l31.6-10.5z\"]\n};\nvar faNestingDolls = {\n prefix: 'far',\n iconName: 'nesting-dolls',\n icon: [640, 512, [], \"e3ba\", \"M80 112C80 50.1 130.1 0 192 0s112 50.1 112 112V224H80V112zM200.7 64.9c-4.1-5.3-13.2-5.3-17.3 0c-11.7 15.1-28.7 26-48.2 29.7c-4 .8-7.2 4.2-6.8 8.2c1.5 14 7.6 27.7 18.4 38.5c25 25 65.5 25 90.5 0c10.8-10.8 16.9-24.4 18.4-38.5c.4-4.1-2.7-7.5-6.8-8.2c-19.5-3.7-36.5-14.6-48.2-29.7zM635.5 474.1c5.2 7.3 5.9 16.9 1.8 24.9s-12.4 13-21.3 13H312c-9 0-17.2-5-21.3-13c-4.1-8-3.4-17.6 1.8-24.9l0 0 .2-.3c.2-.3 .6-.8 1-1.5c.9-1.4 2.3-3.5 4-6.3c3.4-5.6 7.9-13.8 12.5-23.8c9.2-20.3 17.8-46.8 17.8-74.1v-8c0-75.1 60.9-136 136-136s136 60.9 136 136v8c0 27.3 8.6 53.7 17.8 74.1c4.6 10 9.1 18.2 12.5 23.8c1.7 2.8 3.1 5 4 6.3c.5 .7 .8 1.2 1 1.5l.2 .3 0 0 0 0zM455.3 320.9C440.7 339.8 417.8 352 392 352c-4.3 0-8 3.3-7.6 7.6c1.7 17.9 9.4 35.3 23.1 49c31.2 31.2 81.9 31.2 113.1 0c13.7-13.7 21.4-31.1 23.1-49c.4-4.3-3.3-7.6-7.6-7.6c-25.8 0-48.7-12.2-63.3-31.1c-4.1-5.3-13.2-5.3-17.3 0zM261.4 464c-7.1 15.1-7.3 32.7 0 48H74.5c-17 0-33.4-6.7-42.7-20.9C17.9 469.7 0 432.8 0 384c0-44.4 20.2-84.4 37.9-119.4c2.7-5.3 8.1-8.6 14-8.6H332.1c-11.3 14.3-20.3 30.5-26.5 48H71.9C57.9 332.9 48 358 48 384c0 35.9 12.8 63.3 23.2 79.6c.2 0 .4 .1 .6 .1c.7 .1 1.6 .3 2.7 .3H261.4z\"]\n};\nvar faClockRotateLeft = {\n prefix: 'far',\n iconName: 'clock-rotate-left',\n icon: [512, 512, [\"history\"], \"f1da\", \"M48 106.7V56c0-13.3-10.7-24-24-24S0 42.7 0 56V168c0 13.3 10.7 24 24 24H136c13.3 0 24-10.7 24-24s-10.7-24-24-24H80.7c37-57.8 101.7-96 175.3-96c114.9 0 208 93.1 208 208s-93.1 208-208 208c-42.5 0-81.9-12.7-114.7-34.5c-11-7.3-25.9-4.3-33.3 6.7s-4.3 25.9 6.7 33.3C155.2 496.4 203.8 512 256 512c141.4 0 256-114.6 256-256S397.4 0 256 0C170.3 0 94.4 42.1 48 106.7zM256 128c-13.3 0-24 10.7-24 24V256c0 6.4 2.5 12.5 7 17l72 72c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-65-65V152c0-13.3-10.7-24-24-24z\"]\n};\nvar faHistory = faClockRotateLeft;\nvar faTrumpet = {\n prefix: 'far',\n iconName: 'trumpet',\n icon: [640, 512, [127930], \"f8e3\", \"M592 128.7V351.3c-10-10.5-21.8-22-35.2-33.2C519.9 287.4 467.9 256 408 256H357.4 168 48V224H408c59.9 0 111.9-31.4 148.8-62.2c13.4-11.2 25.2-22.6 35.2-33.2zM352 304V416H312V304h40zm48 112V304h8c43.4 0 84.6 23.1 118 51c33 27.6 55.5 57.3 61 64.9c5.7 7.9 14.6 12.1 23.7 12.1c16.2 0 29.2-13.1 29.2-29.2V77.2C640 61.1 626.9 48 610.8 48c-9.1 0-18.1 4.2-23.7 12.1c-5.5 7.6-27.9 37.3-61 64.9c-33.4 27.9-74.6 51-118 51h-8v-8c0-13.3-10.7-24-24-24s-24 10.7-24 24v8H312v-8c0-13.3-10.7-24-24-24s-24 10.7-24 24v8H224v-8c0-13.3-10.7-24-24-24s-24 10.7-24 24v8H48v-8c0-13.3-10.7-24-24-24s-24 10.7-24 24v32 80 32c0 13.3 10.7 24 24 24s24-10.7 24-24v-8H80.3C70 320.2 64 339.4 64 360c0 57.4 46.6 104 104 104h32 88 88 32c49.6 0 91-34.7 101.5-81.1c-1.3-1.1-2.6-2.2-3.9-3.3c-13.7-11.4-27.9-21.2-42.3-28.6c.5 2.9 .7 5.9 .7 9c0 30.9-25.1 56-56 56h-8zm-136 0H224V304h40V416zm-88 0h-8c-30.9 0-56-25.1-56-56s25.1-56 56-56h8V416z\"]\n};\nvar faFaceGrinBeamSweat = {\n prefix: 'far',\n iconName: 'face-grin-beam-sweat',\n icon: [512, 512, [128517, \"grin-beam-sweat\"], \"f583\", \"M476.8 126.3C497.1 120.8 512 102.7 512 81c0-20-28.6-60.4-41.6-77.7c-3.2-4.4-9.6-4.4-12.8 0c-9.5 12.6-27.1 37.2-36 57.5c-.3 .7-.6 1.4-.9 2.1C417.8 69.7 416 76 416 81c0 26 21.5 47 48 47c4.4 0 8.7-.6 12.8-1.7zM395.4 41.2C355.3 15.2 307.4 0 256 0C114.6 0 0 114.6 0 256S114.6 512 256 512s256-114.6 256-256c0-35.8-7.3-69.9-20.6-100.8c-8.6 3.1-17.8 4.8-27.4 4.8c-8.9 0-17.6-1.5-25.7-4.2C454.7 185.5 464 219.7 464 256c0 114.9-93.1 208-208 208S48 370.9 48 256S141.1 48 256 48c48.7 0 93.4 16.7 128.9 44.7c-.6-3.8-.9-7.7-.9-11.7c0-11.4 3.8-22.4 7.1-30.5c1.3-3.1 2.7-6.2 4.3-9.3zM375 336.5c10.4-16.1-6.8-32.5-25.5-28.1c-28.9 6.8-60.5 10.5-93.6 10.5s-64.7-3.7-93.6-10.5c-18.7-4.4-35.9 12-25.5 28.1c24.6 38.1 68.7 63.5 119.1 63.5s94.5-25.4 119.1-63.5zM217.6 228.8l0 0 0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C126.7 188.4 120 206.1 120 224c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8l0 0 0 0 0 0 .2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2 0 0zm160 0l0 0 0 0c2.1 2.8 5.7 3.9 8.9 2.8s5.5-4.1 5.5-7.6c0-17.9-6.7-35.6-16.6-48.8c-9.8-13-23.9-23.2-39.4-23.2s-29.6 10.2-39.4 23.2C286.7 188.4 280 206.1 280 224c0 3.4 2.2 6.5 5.5 7.6s6.9 0 8.9-2.8l0 0 0 0 0 0 .2-.2c.2-.2 .4-.5 .7-.9c.6-.8 1.6-2 2.8-3.4c2.5-2.8 6-6.6 10.2-10.3c8.8-7.8 18.8-14 27.7-14s18.9 6.2 27.7 14c4.2 3.7 7.7 7.5 10.2 10.3c1.2 1.4 2.2 2.6 2.8 3.4c.3 .4 .6 .7 .7 .9l.2 .2 0 0 0 0z\"]\n};\nvar faGrinBeamSweat = faFaceGrinBeamSweat;\nvar faFireSmoke = {\n prefix: 'far',\n iconName: 'fire-smoke',\n icon: [640, 512, [], \"f74b\", \"M469.7 248.5c6.6-17.6 10.3-36.6 10.3-56.5c0-31.8-15.5-84-74.4-142.4c-11.8-11.7-30.6-10.7-42.3 1L352 61.9l-46-46c-6.1-6.1-14.1-9.3-22-9.2c-5.9 .1-11.8 1.9-16.8 5.8C222.5 47.3 160 115.3 160 192c0 19.9 3.6 38.9 10.3 56.5c9.5 3.3 18.6 7.6 27.1 12.6c17.2-18.4 38.5-32.8 62.4-42c9.9-28.8 36.7-55 51-67.4c5.4-4.7 13.1-4.7 18.5 0c14.3 12.4 41.2 38.6 51 67.4c23.9 9.2 45.2 23.7 62.4 42c8.5-5.1 17.6-9.3 27.1-12.6zM233.2 361.3c7-41.6 43.2-73.3 86.8-73.3s79.8 31.7 86.8 73.3c1.8 10.7 10.5 18.8 21.2 19.9s20.9-5.1 24.8-15.2c10.4-27 36.6-46 67.2-46c39.8 0 72 32.2 72 72c0 37.7-29 68.7-66 71.8c-.7 .1-1.3 .1-2 .2l-4 0-200 0-200 0-4 0c-.7-.1-1.3-.2-2-.2c-36.9-3-66-34-66-71.8c0-39.8 32.2-72 72-72c30.6 0 56.7 19 67.2 46c3.9 10.1 14.1 16.3 24.8 15.2s19.4-9.2 21.2-19.9zM320 240c-49.4 0-92.7 26.4-116.5 65.8c-21.6-20.9-51-33.8-83.5-33.8C53.7 272 0 325.7 0 392c0 61.4 46.1 112 105.6 119.1c2 .6 4.2 .9 6.4 .9l8 0 200 0 200 0 8 0c2.2 0 4.3-.3 6.4-.9C593.9 504 640 453.4 640 392c0-66.3-53.7-120-120-120c-32.5 0-61.9 12.9-83.5 33.8C412.7 266.4 369.4 240 320 240z\"]\n};\nvar faPhoneMissed = {\n prefix: 'far',\n iconName: 'phone-missed',\n icon: [640, 512, [], \"e226\", \"M120 0H232c13.3 0 24 10.7 24 24s-10.7 24-24 24H177.9l55.4 55.4C254.2 124.3 282.5 136 312 136s57.8-11.7 78.6-32.6L487 7c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-96.4 96.4C394.7 167.2 354.2 184 312 184s-82.7-16.8-112.6-46.6L144 81.9V136c0 13.3-10.7 24-24 24s-24-10.7-24-24V24c0-13.3 10.7-24 24-24zM448 392v49.3c0 3.9 2.8 7.2 6.6 7.9l85.8 15.6c3.7 .7 7.4-1.3 8.8-4.8l24.7-58.8c7.4-17.6 2.5-30.9-4.4-36.9C520 321.8 432.8 272 320 272s-200 49.8-249.5 92.3c-6.9 5.9-11.8 19.3-4.4 36.9L90.8 460c1.5 3.5 5.1 5.4 8.8 4.8l85.8-15.6c3.8-.7 6.6-4 6.6-7.9V392c0-19.6 11.9-37.3 30.2-44.6c62.8-25.1 132.9-25.1 195.7 0C436 354.7 448 372.4 448 392zm-48 49.3V392c-51.4-20.5-108.6-20.5-160 0v49.3c0 27.1-19.4 50.3-46 55.1L108.2 512c-25.8 4.7-51.4-9.2-61.6-33.4L21.8 419.8c-13.5-32-8.9-69.3 17.4-91.9C95 280 192.9 224 320 224s225 56 280.8 103.9c26.3 22.6 30.9 59.9 17.4 91.9l-24.8 58.8c-10.2 24.2-35.8 38.1-61.6 33.4L446 496.4c-26.6-4.8-46-28-46-55.1z\"]\n};\nvar faFileExport = {\n prefix: 'far',\n iconName: 'file-export',\n icon: [576, 512, [\"arrow-right-from-file\"], \"f56e\", \"M336 448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80v96h48V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V368H336v80zM489 215c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l39 39H216c-13.3 0-24 10.7-24 24s10.7 24 24 24H494.1l-39 39c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9l-80-80z\"]\n};\nvar faArrowRightFromFile = faFileExport;\nvar faShield = {\n prefix: 'far',\n iconName: 'shield',\n icon: [512, 512, [128737, \"shield-blank\"], \"f132\", \"M256 49.4L73 127c-5.9 2.5-9.1 7.8-9 12.8c.5 91.4 38.4 249.3 186.4 320.1c3.6 1.7 7.8 1.7 11.3 0C409.7 389 447.6 231.2 448 139.7c0-5-3.1-10.2-9-12.8L256 49.4zM269.4 2.9L457.7 82.8c22 9.3 38.4 31 38.3 57.2c-.5 99.2-41.3 280.7-213.6 363.2c-16.7 8-36.1 8-52.8 0C57.3 420.7 16.5 239.2 16 140c-.1-26.2 16.3-47.9 38.3-57.2L242.7 2.9C246.8 1 251.4 0 256 0s9.2 1 13.4 2.9z\"]\n};\nvar faShieldBlank = faShield;\nvar faArrowUpShortWide = {\n prefix: 'far',\n iconName: 'arrow-up-short-wide',\n icon: [576, 512, [\"sort-amount-up-alt\"], \"f885\", \"M111 39c9.4-9.4 24.6-9.4 33.9 0l96 96c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-55-55V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V113.9L49 169c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l96-96zm201 9h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H312c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 128H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H312c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 128H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H312c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 128H552c13.3 0 24 10.7 24 24s-10.7 24-24 24H312c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faSortAmountUpAlt = faArrowUpShortWide;\nvar faArrowsRepeat1 = {\n prefix: 'far',\n iconName: 'arrows-repeat-1',\n icon: [512, 512, [\"repeat-1-alt\"], \"f366\", \"M22.5 280C9.3 279.1-.8 267.7 0 254.5l.5-8C5.6 166.4 72 104 152.2 104H366.1L311 49c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l96 96c6.9 6.9 8.9 17.2 5.2 26.2s-12.5 14.8-22.2 14.8H152.2c-54.9 0-100.4 42.7-103.8 97.5l-.5 8c-.8 13.2-12.2 23.3-25.5 22.5zm467-47.9c13.2 .8 23.3 12.2 22.5 25.5l-.5 8C506.4 345.6 440 408 359.8 408H145.9l55 55c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L71 401c-6.9-6.9-8.9-17.2-5.2-26.2s12.5-14.8 22.2-14.8H359.8c54.9 0 100.4-42.7 103.8-97.5l.5-8c.8-13.2 12.2-23.3 25.4-22.5zM288 216v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V248c-10 0-19.4-6.4-22.8-16.4c-4.2-12.6 2.6-26.2 15.2-30.4l24-8c7.3-2.4 15.4-1.2 21.6 3.3s10 11.8 10 19.5z\"]\n};\nvar faRepeat1Alt = faArrowsRepeat1;\nvar faGunSlash = {\n prefix: 'far',\n iconName: 'gun-slash',\n icon: [640, 512, [], \"e19c\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L412.3 297.8 432.9 240h32.5c10.6 0 20.8-4.2 28.3-11.7L513.9 208H568c22.1 0 40-17.9 40-40V104c0-22.1-17.9-40-40-40h-8V56c0-13.3-10.7-24-24-24s-24 10.7-24 24v8H113.9L38.8 5.1zM175.2 112H536h24v48H510.6c-10.6 0-20.8 4.2-28.3 11.7L462.1 192H299 277.2L175.2 112zM338.5 240h43.4l-9.5 26.6L338.5 240zM80 192V159L32 121.2V200c0 22.1 17.9 40 40 40h2c20.8 0 36.1 19.6 31 39.8L65 440.2c-2.4 9.6-.2 19.7 5.8 27.5S86.1 480 96 480H208c14.7 0 27.5-10 31-24.2L265 352h59.9l-91.4-72-38 152h-79l35.1-140.6c4.5-18.1 2.5-35.9-4.3-51.4h35.4l-60.9-48H100.8 80z\"]\n};\nvar faAvocado = {\n prefix: 'far',\n iconName: 'avocado',\n icon: [512, 512, [], \"e0aa\", \"M464 144c0 29.9-13.6 56.5-35.1 74.2c-24.2 19.9-47.3 49.3-54.7 86.9c-8.9 45.7-29.5 88.5-53.1 112c-62.5 62.5-163.8 62.5-226.3 0s-62.5-163.8 0-226.3c23.6-23.6 66.3-44.2 112-53.1c37.6-7.4 67-30.4 86.9-54.7C311.5 61.6 338.1 48 368 48c53 0 96 43 96 96zM421.3 314.3c4.6-23.5 19.6-43.9 38.1-59.1C491.5 228.9 512 188.8 512 144C512 64.5 447.5 0 368 0c-44.8 0-84.9 20.5-111.3 52.6c-15.2 18.5-35.6 33.5-59.1 38.1c-51.9 10.2-104.5 34-136.7 66.3c-81.2 81.2-81.2 212.9 0 294.2s212.9 81.2 294.2 0c32.3-32.3 56.1-84.9 66.3-136.7zM283.2 347.2c41.7-41.7 49.1-102.1 16.4-134.8s-93-25.3-134.8 16.4s-49.1 102.1-16.4 134.8s93 25.3 134.8-16.4z\"]\n};\nvar faBinary = {\n prefix: 'far',\n iconName: 'binary',\n icon: [384, 512, [], \"e33b\", \"M328 24V176h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H304 248c-13.3 0-24-10.7-24-24s10.7-24 24-24h32V57.3l-16.4 5.5C251 67 237.4 60.2 233.2 47.6S235.8 21.4 248.4 17.2l48-16C303.7-1.2 311.8 0 318 4.5S328 16.3 328 24zM104 312V464h32c13.3 0 24 10.7 24 24s-10.7 24-24 24H80 24c-13.3 0-24-10.7-24-24s10.7-24 24-24H56V345.3l-16.4 5.5C27 355 13.4 348.2 9.2 335.6S11.8 309.4 24.4 305.2l48-16c7.3-2.4 15.4-1.2 21.6 3.3s10 11.8 10 19.5zM0 72C0 32.2 32.2 0 72 0h48c39.8 0 72 32.2 72 72v80c0 39.8-32.2 72-72 72H72c-39.8 0-72-32.2-72-72V72zM72 48C58.7 48 48 58.7 48 72v80c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V72c0-13.3-10.7-24-24-24H72zM264 288h48c39.8 0 72 32.2 72 72v80c0 39.8-32.2 72-72 72H264c-39.8 0-72-32.2-72-72V360c0-39.8 32.2-72 72-72zm-24 72v80c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V360c0-13.3-10.7-24-24-24H264c-13.3 0-24 10.7-24 24z\"]\n};\nvar faGlassesRound = {\n prefix: 'far',\n iconName: 'glasses-round',\n icon: [576, 512, [128083, \"glasses-alt\"], \"f5f5\", \"M118.6 80c-11.5 0-21.4 7.9-24 19.1L64.4 228.3C85.2 215.4 109.7 208 136 208c55.1 0 102.6 32.8 124 80H316c21.3-47.2 68.8-80 124-80c26.3 0 50.8 7.4 71.6 20.3L481.4 99.1c-2.6-11.2-12.6-19.1-24-19.1c-3.1 0-6.2 .6-9.2 1.8L416.9 94.3c-12.3 4.9-26.3-1.1-31.2-13.4s1.1-26.3 13.4-31.2l31.3-12.5c8.6-3.4 17.7-5.2 27-5.2c33.8 0 63.1 23.3 70.8 56.2l40.5 173.7c4.9 20.9 7.3 42.2 7.3 63.6V336c0 .8 0 1.6-.1 2.4c.1 1.9 .1 3.8 .1 5.6c0 75.1-60.9 136-136 136c-72.4 0-131.6-56.6-135.8-128H271.8c-4.1 71.4-63.3 128-135.8 128C60.9 480 0 419.1 0 344c0-1.9 0-3.8 .1-5.6c-.1-.8-.1-1.6-.1-2.4V325.5c0-21.4 2.5-42.8 7.3-63.6L47.9 88.2C55.5 55.3 84.8 32 118.6 32c9.2 0 18.4 1.8 27 5.2l31.3 12.5c12.3 4.9 18.3 18.9 13.4 31.2s-18.9 18.3-31.2 13.4L127.8 81.8c-2.9-1.2-6-1.8-9.2-1.8zM136 432a88 88 0 1 0 0-176 88 88 0 1 0 0 176zm392-88a88 88 0 1 0 -176 0 88 88 0 1 0 176 0z\"]\n};\nvar faGlassesAlt = faGlassesRound;\nvar faPhonePlus = {\n prefix: 'far',\n iconName: 'phone-plus',\n icon: [640, 512, [], \"f4d2\", \"M456 200V136H392c-13.3 0-24-10.7-24-24s10.7-24 24-24h64V24c0-13.3 10.7-24 24-24s24 10.7 24 24V88h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H504v64c0 13.3-10.7 24-24 24s-24-10.7-24-24zm-63 86.7c11.3-13.8 30.3-18.5 46.7-11.4l112 48c17.6 7.5 27.4 26.5 23.4 45.1l-24 112c-4 18.4-20.3 31.6-39.1 31.6l0 0c-6.1 0-12.2-.1-18.2-.4l-.1 0 0 0c-10-.4-19.8-1.1-29.6-2.2C239.2 485.6 64 295.2 64 64v0c0-18.9 13.2-35.2 31.6-39.1l112-24c18.7-4 37.6 5.8 45.1 23.4l48 112c7 16.4 2.4 35.4-11.4 46.7l-40.6 33.2c26.7 46 65.1 84.4 111.1 111.1L393 286.7zm133.8 78.1l-100.4-43L397 357.6c-14.9 18.2-40.8 22.9-61.2 11.1c-53.3-30.9-97.7-75.3-128.6-128.6c-11.8-20.4-7.1-46.3 11.1-61.2l35.9-29.4-43-100.4L112.1 70.5C115.5 286.2 289.8 460.5 505.5 464l21.3-99.2z\"]\n};\nvar faDitto = {\n prefix: 'far',\n iconName: 'ditto',\n icon: [320, 512, [], \"22\", \"M48 105.9c0 1.4 .1 2.8 .4 4.3L72 252 95.6 110.1l0 0c.2-1.4 .4-2.8 .4-4.3V104c0-13.3-10.7-24-24-24s-24 10.7-24 24v1.9zm96 0c0 4.1-.3 8.1-1 12.1L118.6 264.5C114.8 287.3 95.1 304 72 304s-42.8-16.7-46.6-39.5L1 118c-.7-4-1-8.1-1-12.1V104C0 64.2 32.2 32 72 32s72 32.2 72 72v1.9zm80 0c0 1.4 .1 2.8 .4 4.3L248 252l23.6-141.9c.2-1.4 .4-2.8 .4-4.3V104c0-13.3-10.7-24-24-24s-24 10.7-24 24v1.9zm96 0c0 4.1-.3 8.1-1 12.1L294.6 264.5C290.8 287.3 271.1 304 248 304s-42.8-16.7-46.6-39.5L177 118c-.7-4-1-8.1-1-12.1V104c0-39.8 32.2-72 72-72s72 32.2 72 72v1.9z\"]\n};\nvar faPersonSeat = {\n prefix: 'far',\n iconName: 'person-seat',\n icon: [384, 512, [], \"e21e\", \"M144 128a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-8 92c0-6.6 5.4-12 12-12s12 5.4 12 12v92H144c-4.4 0-8-3.6-8-8V220zm72 92V256h56c13.3 0 24-10.7 24-24s-10.7-24-24-24H206.8c-5.6-27.4-29.8-48-58.8-48c-33.1 0-60 26.9-60 60v84c0 30.9 25.1 56 56 56h40 54c12 0 22.2 8.9 23.8 20.8l10.4 78.3C273.8 471.1 284 480 296 480h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H317l-7.7-57.5C304.6 338.7 274.1 312 238 312H208zM48 152c0-13.3-10.7-24-24-24s-24 10.7-24 24V328c0 66.3 53.7 120 120 120h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H120c-39.8 0-72-32.2-72-72V152z\"]\n};\nvar faHouseMedical = {\n prefix: 'far',\n iconName: 'house-medical',\n icon: [576, 512, [], \"e3b2\", \"M272.5 5.7c9-7.6 22.1-7.6 31.1 0l264 224c10.1 8.6 11.4 23.7 2.8 33.8s-23.7 11.3-33.8 2.8L512 245.5V432c0 44.2-35.8 80-80 80H144c-44.2 0-80-35.8-80-80V245.5L39.5 266.3c-10.1 8.6-25.3 7.3-33.8-2.8s-7.3-25.3 2.8-33.8l264-224zM288 55.5L112 204.8V432c0 17.7 14.3 32 32 32H432c17.7 0 32-14.3 32-32V204.8L288 55.5zM256 208c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H320v48c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V320H208c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16h48V208z\"]\n};\nvar faGolfBallTee = {\n prefix: 'far',\n iconName: 'golf-ball-tee',\n icon: [384, 512, [\"golf-ball\"], \"f450\", \"M336 192c0 55.7-31.7 104.1-78 128h77.1c30.4-34 48.9-78.8 48.9-128C384 86 298 0 192 0S0 86 0 192c0 49.2 18.5 94 48.9 128H126c-46.3-23.9-78-72.3-78-128c0-79.5 64.5-144 144-144s144 64.5 144 144zM226.1 248.6c0 18.5-15 33.5-33.5 33.5c-4.9 0-9.1 5.1-5.4 8.4c5.9 5.2 13.7 8.4 22.1 8.4c18.5 0 33.5-15 33.5-33.5c0-8.5-3.2-16.2-8.4-22.1c-3.3-3.7-8.4 .5-8.4 5.4zm-52.3-49.3c-4.9 0-9.1 5.1-5.4 8.4c5.9 5.2 13.7 8.4 22.1 8.4c18.5 0 33.5-15 33.5-33.5c0-8.5-3.2-16.2-8.4-22.1c-3.3-3.7-8.4 .5-8.4 5.4c0 18.5-15 33.5-33.5 33.5zm113.5-17.5c0 18.5-15 33.5-33.5 33.5c-4.9 0-9.1 5.1-5.4 8.4c5.9 5.2 13.7 8.4 22.1 8.4c18.5 0 33.5-15 33.5-33.5c0-8.5-3.2-16.2-8.4-22.1c-3.3-3.7-8.4 .5-8.4 5.4zM64 376c0 13.3 10.7 24 24 24h64c8.8 0 16 7.2 16 16v72c0 13.3 10.7 24 24 24s24-10.7 24-24V416c0-8.8 7.2-16 16-16h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H88c-13.3 0-24 10.7-24 24z\"]\n};\nvar faGolfBall = faGolfBallTee;\nvar faCircleChevronLeft = {\n prefix: 'far',\n iconName: 'circle-chevron-left',\n icon: [512, 512, [\"chevron-circle-left\"], \"f137\", \"M48 256a208 208 0 1 1 416 0A208 208 0 1 1 48 256zm464 0A256 256 0 1 0 0 256a256 256 0 1 0 512 0zM271 135L167 239c-9.4 9.4-9.4 24.6 0 33.9L271 377c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-87-87 87-87c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0z\"]\n};\nvar faChevronCircleLeft = faCircleChevronLeft;\nvar faHouseChimneyWindow = {\n prefix: 'far',\n iconName: 'house-chimney-window',\n icon: [576, 512, [], \"e00d\", \"M303.5 5.7c-9-7.6-22.1-7.6-31.1 0l-264 224c-10.1 8.6-11.3 23.7-2.8 33.8s23.7 11.3 33.8 2.8L64 245.5V432c0 44.2 35.8 80 80 80H432c44.2 0 80-35.8 80-80V245.5l24.5 20.8c10.1 8.6 25.3 7.3 33.8-2.8s7.3-25.3-2.8-33.8L512 182.6V56c0-13.3-10.7-24-24-24s-24 10.7-24 24v85.9L303.5 5.7zM464 204.8V432c0 17.7-14.3 32-32 32H144c-17.7 0-32-14.3-32-32V204.8L288 55.5 464 204.8zM256 288V224h64v64H256zm-48-72v80c0 22.1 17.9 40 40 40h80c22.1 0 40-17.9 40-40V216c0-22.1-17.9-40-40-40H248c-22.1 0-40 17.9-40 40z\"]\n};\nvar faScythe = {\n prefix: 'far',\n iconName: 'scythe',\n icon: [640, 512, [], \"f710\", \"M639.5 28.9c2.7-13-5.7-25.7-18.6-28.4s-25.7 5.7-28.4 18.6L536.9 288H408c-13.3 0-24 10.7-24 24s10.7 24 24 24H526.9L496.5 483.1c-2.7 13 5.7 25.7 18.6 28.4s25.7-5.7 28.4-18.6l96-464zM352 0C121.4 0 20.6 155.8 2.9 186.7c-2 3.5-2.9 7.4-2.9 11.4C0 212.4 11.6 224 25.9 224H517.4l9.9-48H68.7C108.6 126.8 196.8 48 352 48H553.8l7.3-35.3c.9-4.5 2.4-8.7 4.2-12.7H352z\"]\n};\nvar faPenNib = {\n prefix: 'far',\n iconName: 'pen-nib',\n icon: [512, 512, [10001], \"f5ad\", \"M368.4 18.3c21.9-21.9 57.3-21.9 79.2 0l46.1 46.1c21.9 21.9 21.9 57.3 0 79.2l-71 71L412.2 225 371.6 374.1c-4.8 17.8-18.1 32-35.5 38.1L72 505c-18.5 6.5-39.1 1.8-52.9-12S.5 458.5 7 440L99.8 175.9c6.1-17.4 20.3-30.6 38.1-35.5L287 99.8l10.4-10.4 71-71zM296.9 146.8L150.5 186.7c-2.5 .7-4.6 2.6-5.4 5.1L62.5 426.9 164.7 324.7c-3-6.3-4.7-13.3-4.7-20.7c0-26.5 21.5-48 48-48s48 21.5 48 48s-21.5 48-48 48c-7.4 0-14.4-1.7-20.7-4.7L85.1 449.5l235.1-82.6c2.5-.9 4.4-2.9 5.1-5.4l39.9-146.4-68.3-68.3z\"]\n};\nvar faBanParking = {\n prefix: 'far',\n iconName: 'ban-parking',\n icon: [512, 512, [\"parking-circle-slash\"], \"f616\", \"M256 464C141.1 464 48 370.9 48 256c0-48.8 16.8-93.7 44.9-129.1L385.1 419.1C349.7 447.2 304.8 464 256 464zm80-162c24.2-17.4 40-45.9 40-78c0-53-43-96-96-96H200c-10.4 0-19.6 4.9-25.5 12.6L126.9 92.9C162.3 64.8 207.2 48 256 48c114.9 0 208 93.1 208 208c0 48.8-16.8 93.7-44.9 129.1L336 302zm-120-120V176h64c26.5 0 48 21.5 48 48c0 18.9-11 35.3-26.9 43.1L216 182.1zM256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM168 265.9V296v64c0 13.3 10.7 24 24 24s24-10.7 24-24V320h6.1L168 265.9z\"]\n};\nvar faParkingCircleSlash = faBanParking;\nvar faTentArrowTurnLeft = {\n prefix: 'far',\n iconName: 'tent-arrow-turn-left',\n icon: [576, 512, [], \"e580\", \"M120.1 41.8c9.9-8.9 10.7-24 1.8-33.9S97.8-2.7 87.9 6.2l-80 72C2.9 82.7 0 89.2 0 96s2.9 13.3 7.9 17.8l80 72c9.9 8.9 25 8.1 33.9-1.8s8.1-25-1.8-33.9L86.5 120 456 120c39.8 0 72 32.2 72 72v40c0 13.3 10.7 24 24 24s24-10.7 24-24V192c0-66.3-53.7-120-120-120L86.5 72l33.5-30.2zM302.7 165c-8.6-6.7-20.7-6.7-29.3 0L107.6 293.1c-11.5 8.9-19.1 22-21.2 36.4L69.5 448.1C64.6 481.8 90.8 512 124.9 512H451.1c34.1 0 60.3-30.2 55.4-63.9L489.6 329.5c-2.1-14.4-9.7-27.5-21.2-36.4L302.7 165zM137 331l127-98.2V464H124.9c-4.9 0-8.6-4.3-7.9-9.1l16.9-118.6c.3-2.1 1.4-3.9 3-5.2zm175 29V232.9L439 331c1.6 1.3 2.7 3.1 3 5.2L459 454.9c.7 4.8-3.1 9.1-7.9 9.1H374.4L312 360z\"]\n};\nvar faFaceDiagonalMouth = {\n prefix: 'far',\n iconName: 'face-diagonal-mouth',\n icon: [512, 512, [129764], \"e47e\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm358.1 79.2l-184 48c-12.8 3.3-25.9-4.3-29.3-17.2s4.3-25.9 17.2-29.3l184-48c12.8-3.3 25.9 4.3 29.3 17.2s-4.3 25.9-17.2 29.3zM144.4 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faDiagramCells = {\n prefix: 'far',\n iconName: 'diagram-cells',\n icon: [512, 512, [], \"e475\", \"M448 224c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96v64c0 35.3 28.7 64 64 64l384 0zm16 128v64c0 8.8-7.2 16-16 16l-80 0H144 64c-8.8 0-16-7.2-16-16l0-64c0-8.8 7.2-16 16-16H448c8.8 0 16 7.2 16 16zm48 64V352c0-35.3-28.7-64-64-64L64 288c-35.3 0-64 28.7-64 64v64c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64z\"]\n};\nvar faCricketBatBall = {\n prefix: 'far',\n iconName: 'cricket-bat-ball',\n icon: [512, 512, [127951, \"cricket\"], \"f449\", \"M505 41c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-143 143-24.4-24.4c-21.9-21.9-57.3-21.9-79.2 0L16.1 334C6.1 344-.6 358.4 .5 374.4c.8 11.3 2.8 28.6 8.2 46.4C13.8 438.1 22.9 457.9 39 473c15 16.2 34.9 25.2 52.2 30.4c17.8 5.4 35.1 7.4 46.4 8.2c16 1.1 30.4-5.6 40.4-15.6L386.3 287.6c21.9-21.9 21.9-57.3 0-79.2L361.9 184 505 41zM269.7 159.6l41.2 41.2 .2 .2 .2 .2 41.2 41.2c3.1 3.1 3.1 8.2 0 11.3L318.1 288H232c-4.4 0-8-3.6-8-8V193.9l34.3-34.3c3.1-3.1 8.2-3.1 11.3 0zM176 241.9V280c0 30.9 25.1 56 56 56h38.1l-126 126c-.7 .7-1.5 1.2-2.1 1.5c-.5 .2-.8 .2-1.1 .2c-9.3-.6-22.6-2.2-35.7-6.2s-24-9.7-30.9-17.2c-.8-.8-1.6-1.7-2.4-2.4c-7.5-6.9-13.2-17.8-17.2-30.9s-5.6-26.5-6.2-35.7c0-.3 0-.6 .2-1.1c.2-.6 .7-1.4 1.5-2.1l126-126zM400 432a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm112 0a80 80 0 1 0 -160 0 80 80 0 1 0 160 0z\"]\n};\nvar faCricket = faCricketBatBall;\nvar faTents = {\n prefix: 'far',\n iconName: 'tents',\n icon: [640, 512, [], \"e582\", \"M430.1 4.6c-8.4-6.1-19.8-6.1-28.2 0l-165 120c-1.7 1.2-3.3 2.6-4.8 4c10.9 1.4 21.5 5.6 30.7 12.6l16.1 12.3L416 53.7 566.8 163.4c1.8 1.3 2.9 3.2 3.2 5.4l17.2 126.1c.7 4.8-3.1 9.1-7.9 9.1H454c.6 2.1 1 4.3 1.3 6.5l6.2 41.5H579.3c33.9 0 60.1-29.9 55.5-63.6L617.6 162.3c-2.1-15.1-10.2-28.7-22.6-37.7l-165-120zM238.7 165c-8.6-6.7-20.7-6.7-29.3 0L43.6 293.1c-11.5 8.9-19.1 22-21.2 36.4L5.5 448.1C.6 481.8 26.8 512 60.9 512H387.1c34.1 0 60.3-30.2 55.4-63.9L425.6 329.5c-2.1-14.4-9.7-27.5-21.2-36.4L238.7 165zM73 331l127-98.2V464H60.9c-4.9 0-8.6-4.3-7.9-9.1L69.9 336.2c.3-2.1 1.4-3.9 3-5.2zm175 29V232.9L375 331c1.6 1.3 2.7 3.1 3 5.2L395 454.9c.7 4.8-3.1 9.1-7.9 9.1H310.4L248 360z\"]\n};\nvar faWandMagic = {\n prefix: 'far',\n iconName: 'wand-magic',\n icon: [512, 512, [\"magic\"], \"f0d0\", \"M319.7 157.7l34.6 34.6L464 82.6 429.4 48 319.7 157.7zm-33.9 33.9L48 429.4 82.6 464 320.3 226.2l-34.6-34.6zM14.1 395.4L395.4 14.1c18.7-18.7 49.1-18.7 67.9 0l34.6 34.6c18.7 18.7 18.7 49.1 0 67.9L116.5 497.9c-18.7 18.7-49.1 18.7-67.9 0L14.1 463.3c-18.7-18.7-18.7-49.1 0-67.9z\"]\n};\nvar faMagic = faWandMagic;\nvar faDog = {\n prefix: 'far',\n iconName: 'dog',\n icon: [576, 512, [128021], \"f6d3\", \"M318 342.2c11.4 9.1 18 22.9 18 37.4V448c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V274.3L300.5 223c-3.2 .7-6.5 1-9.9 1H144 112.1l-.1 .8V448c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V379.6c0-14.6 6.6-28.3 18-37.4s26.2-12.6 40.4-9.4c9.5 2.1 19.4 3.2 29.6 3.2s20.1-1.1 29.6-3.2c14.2-3.1 29.1 .3 40.4 9.4zM336.9 189l53.4 32.8c7.2-17.7 24.6-29.8 44.4-29.8H480c26.5 0 48-21.5 48-48V112H496c-12.7 0-24.9-5.1-33.9-14.1L444.1 80 368 80c-4.2 0-8.4-.6-12.4-1.6L338 183.9c-.3 1.7-.7 3.4-1.1 5.1zM64.2 220.2c-1.1-.3-2.2-.7-3.3-1.1c-27.4-9.6-49-32.4-56.4-61.8L.7 141.8c-3.2-12.9 4.6-25.9 17.5-29.1s25.9 4.6 29.1 17.5l0 0 3.9 15.5C55.6 163.5 71.6 176 90 176h54H290.7L313.5 39.3l.1-.4 .9-5.6 3.1-18.4C319 6.3 326.4 0 335.1 0c5.6 0 10.9 2.6 14.3 7.1l11.2 14.9 3.4 4.6 .2 .3L368 32h76.1c12.7 0 24.9 5.1 33.9 14.1L496 64h32c26.5 0 48 21.5 48 48v32c0 53-43 96-96 96H434.7L432 256V448c0 35.3-28.7 64-64 64H352c-35.3 0-64-28.7-64-64V428.6 379.6c-10.4 2.3-21.1 3.7-32 4.2c-2.7 .1-5.3 .2-8 .2s-5.3-.1-8-.2c-10.9-.5-21.6-1.9-32-4.2v48.9V448c0 35.3-28.7 64-64 64H128c-35.3 0-64-28.7-64-64V224c0-1.3 .1-2.6 .2-3.8zM416 112a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faPenLine = {\n prefix: 'far',\n iconName: 'pen-line',\n icon: [576, 512, [], \"e212\", \"M13.4 439l23-78.1c4.2-14.1 11.8-27 22.2-37.4L362.7 19.3c25-25 65.5-25 90.5 0l39.4 39.4c3.1 3.1 5.9 6.5 8.2 10c16.4 24.8 13.7 58.6-8.2 80.5L188.5 453.4c-1.3 1.3-2.6 2.6-4 3.8c-9.6 8.5-21 14.8-33.4 18.4L73 498.6 30.8 511c-8.4 2.5-17.5 .2-23.7-6.1S-1.5 489.7 1 481.2L13.4 439zm62.2-41.2L59.4 452.6l54.8-16.1 23.4-6.9c6.4-1.9 12.3-5.4 17-10.1L383 191 321 129 92.5 357.4c-.6 .6-1.2 1.2-1.7 1.8c-3.9 4.4-6.7 9.6-8.4 15.2l-6.9 23.4zM248 464H552c13.3 0 24 10.7 24 24s-10.7 24-24 24H248c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faAtomSimple = {\n prefix: 'far',\n iconName: 'atom-simple',\n icon: [512, 512, [\"atom-alt\"], \"f5d3\", \"M89.6 422.4c7.9 7.9 31.4 16.9 80.4 .6c13.2-4.4 27.2-10.4 41.6-17.9c-18.9-14.4-37.7-30.8-55.8-48.9s-34.5-36.9-48.9-55.8c-7.5 14.4-13.5 28.4-17.9 41.6c-16.3 49-7.3 72.5 .6 80.4zM76.8 256C27.6 173.9 16.5 94.9 55.7 55.7S173.9 27.6 256 76.8c82.1-49.2 161.1-60.3 200.3-21.1s28.1 118.2-21.1 200.3c49.2 82.1 60.3 161.1 21.1 200.3s-118.2 28.1-200.3-21.1c-82.1 49.2-161.1 60.3-200.3 21.1S27.6 338.1 76.8 256zM107 211.6c14.4-18.9 30.8-37.7 48.9-55.8s36.9-34.5 55.8-48.9c-14.4-7.5-28.4-13.5-41.6-17.9c-49-16.3-72.5-7.3-80.4 .6s-16.9 31.4-.6 80.4c4.4 13.2 10.4 27.2 17.9 41.6zM256 134c-22.1 15.5-44.5 34.1-66.2 55.8s-40.3 44.1-55.8 66.2c15.5 22.1 34.1 44.5 55.8 66.2s44.1 40.3 66.2 55.8c22.1-15.5 44.5-34.1 66.2-55.8s40.3-44.1 55.8-66.2c-15.5-22.1-34.1-44.5-55.8-66.2s-44.1-40.3-66.2-55.8zm149 77.7c7.5-14.4 13.5-28.4 17.9-41.6c16.3-49 7.3-72.5-.6-80.4s-31.4-16.9-80.4-.6c-13.2 4.4-27.2 10.4-41.6 17.9c18.9 14.4 37.7 30.8 55.8 48.9s34.5 36.9 48.9 55.8zm0 88.7c-14.4 18.9-30.8 37.7-48.9 55.8s-36.9 34.5-55.8 48.9c14.4 7.5 28.4 13.5 41.6 17.9c49 16.3 72.5 7.3 80.4-.6s16.9-31.4 .6-80.4c-4.4-13.2-10.4-27.2-17.9-41.6zM224 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faAtomAlt = faAtomSimple;\nvar faAmpersand = {\n prefix: 'far',\n iconName: 'ampersand',\n icon: [448, 512, [], \"26\", \"M178 80h44.4c27.4 0 49.7 22.2 49.7 49.7c0 16.2-7.9 31.4-21.2 40.7l-61.4 43-47.2-48.5C133.1 155.5 128 143 128 130c0-27.6 22.4-50 50-50zm45.3 168.2l55.1-38.5c26.1-18.3 41.7-48.1 41.7-80C320 75.7 276.3 32 222.3 32H178c-54.1 0-98 43.9-98 98c0 25.5 10 50 27.7 68.3l41.8 43L75.9 292.8C48.4 312 32 343.5 32 377.1C32 433.9 78.1 480 134.9 480h77.8c35.1 0 67.8-17.7 87-47.1l14.6-22.3 60.4 62.1c9.2 9.5 24.4 9.7 33.9 .5s9.7-24.4 .5-33.9l-67.9-69.8 70.8-108.3c7.3-11.1 4.1-26-7-33.2s-26-4.1-33.2 7L307 334.2l-83.7-86zm-39.8 27.9l96.6 99.3-20.5 31.3c-10.3 15.8-28 25.4-46.9 25.4H134.9C104.6 432 80 407.4 80 377.1c0-17.9 8.7-34.7 23.4-45l80-56z\"]\n};\nvar faCarrot = {\n prefix: 'far',\n iconName: 'carrot',\n icon: [512, 512, [129365], \"f787\", \"M320 72c0 40 15.3 55.3 40 80s40 40 80 40c29.7 0 55-17.6 66-26.7c4-3.3 6-8.2 6-13.3s-2-10-6-13.2c-11.4-9.1-38.3-26.8-74-26.8c-32 0-40 8-40 8s8-8 8-40c0-35.7-17.7-62.6-26.8-74C370 2 365.1 0 360 0s-10 2-13.3 6C337.6 17 320 42.3 320 72zM199.3 197.4c13.2-8.6 28.9-13.4 45.3-13.4c46.1 0 83.4 37.3 83.4 83.4c0 32.5-18.9 62-48.3 75.7l-42.8 19.8L209 335c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l15.4 15.4L73.3 438.7l94.8-204.6L207 273c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-41.7-41.7zM34.1 509.8L299.8 386.6c46.4-21.5 76.2-68 76.2-119.2C376 194.8 317.2 136 244.6 136c-51.2 0-97.7 29.7-119.2 76.2L2.2 477.9C-2 487-.1 497.8 7 505s17.9 9 27.1 4.8z\"]\n};\nvar faArrowUpFromLine = {\n prefix: 'far',\n iconName: 'arrow-up-from-line',\n icon: [384, 512, [8613, \"arrow-from-bottom\"], \"f342\", \"M209.5 39.6C204.9 34.7 198.6 32 192 32s-12.9 2.7-17.5 7.6l-128 136c-9.1 9.7-8.6 24.8 1 33.9s24.8 8.6 33.9-1L168 116.5l0 83.5 0 128c0 13.3 10.7 24 24 24s24-10.7 24-24l0-128 0-83.5 86.5 91.9c9.1 9.7 24.3 10.1 33.9 1s10.1-24.3 1-33.9l-128-136zM24 432c-13.3 0-24 10.7-24 24s10.7 24 24 24l336 0c13.3 0 24-10.7 24-24s-10.7-24-24-24L24 432z\"]\n};\nvar faArrowFromBottom = faArrowUpFromLine;\nvar faMoon = {\n prefix: 'far',\n iconName: 'moon',\n icon: [384, 512, [127769, 9214], \"f186\", \"M144.7 98.7c-21 34.1-33.1 74.3-33.1 117.3c0 98 62.8 181.4 150.4 211.7c-12.4 2.8-25.3 4.3-38.6 4.3C126.6 432 48 353.3 48 256c0-68.9 39.4-128.4 96.8-157.3zm62.1-66C91.1 41.2 0 137.9 0 256C0 379.7 100 480 223.5 480c47.8 0 92-15 128.4-40.6c1.9-1.3 3.7-2.7 5.5-4c4.8-3.6 9.4-7.4 13.9-11.4c2.7-2.4 5.3-4.8 7.9-7.3c5-4.9 6.3-12.5 3.1-18.7s-10.1-9.7-17-8.5c-3.7 .6-7.4 1.2-11.1 1.6c-5 .5-10.1 .9-15.3 1c-1.2 0-2.5 0-3.7 0c-.1 0-.2 0-.3 0c-96.8-.2-175.2-78.9-175.2-176c0-54.8 24.9-103.7 64.1-136c1-.9 2.1-1.7 3.2-2.6c4-3.2 8.2-6.2 12.5-9c3.1-2 6.3-4 9.6-5.8c6.1-3.5 9.2-10.5 7.7-17.3s-7.3-11.9-14.3-12.5c-3.6-.3-7.1-.5-10.7-.6c-2.7-.1-5.5-.1-8.2-.1c-3.3 0-6.5 .1-9.8 .2c-2.3 .1-4.6 .2-6.9 .4z\"]\n};\nvar faPenSlash = {\n prefix: 'far',\n iconName: 'pen-slash',\n icon: [640, 512, [], \"e213\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L409.9 296 556.7 149.3c21.9-21.9 24.6-55.6 8.2-80.5c-2.3-3.5-5.1-6.9-8.2-10L517.3 19.3c-25-25-65.5-25-90.5 0L264.2 181.8 38.8 5.1zM302.3 211.6L385 129 447 191l-75.1 75.1-69.6-54.5zm38.9 153.1l-38-29.9-84.6 84.6c-4.7 4.7-10.6 8.2-17 10.1l-23.4 6.9-54.8 16.1 16.1-54.8 6.9-23.4c1.7-5.6 4.5-10.8 8.4-15.2c.6-.6 1.1-1.2 1.7-1.8l77.3-77.3-38-29.9-73.2 73.2c-10.4 10.4-18 23.3-22.2 37.4L77.4 439 65 481.2c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1L137 498.6l78.1-23c12.4-3.6 23.7-9.9 33.4-18.4c1.4-1.2 2.7-2.5 4-3.8l88.6-88.6z\"]\n};\nvar faWineGlassEmpty = {\n prefix: 'far',\n iconName: 'wine-glass-empty',\n icon: [320, 512, [\"wine-glass-alt\"], \"f5ce\", \"M56 0C43.5 0 33.1 9.6 32.1 22.1L18.1 198.5C12.3 273.1 64.8 337.9 136 350V464H72c-13.3 0-24 10.7-24 24s10.7 24 24 24h88 88c13.3 0 24-10.7 24-24s-10.7-24-24-24H184V350c71.2-12.1 123.7-76.9 117.9-151.5L287.9 22.1C286.9 9.6 276.5 0 264 0H56zM66 202.3L78.2 48H241.8L254 202.3c4.3 54.8-39 101.7-94 101.7s-98.3-46.9-94-101.7z\"]\n};\nvar faWineGlassAlt = faWineGlassEmpty;\nvar faSquareStar = {\n prefix: 'far',\n iconName: 'square-star',\n icon: [448, 512, [], \"e27f\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm224 25c6.1 0 11.7 3.5 14.3 8.9l31.3 63.3 69.9 10.2c6 .9 11 5.1 12.9 10.9s.3 12.2-4 16.4L297.8 280l11.9 69.6c1 6-1.4 12.1-6.4 15.6s-11.5 4.1-16.8 1.2L224 333.6l-62.5 32.9c-5.4 2.8-11.9 2.4-16.9-1.2s-7.4-9.6-6.4-15.6L150.2 280 99.7 230.7c-4.4-4.3-5.9-10.6-4-16.4s6.9-10 12.9-10.9l69.9-10.2 31.3-63.3c2.7-5.5 8.3-8.9 14.3-8.9z\"]\n};\nvar faCheese = {\n prefix: 'far',\n iconName: 'cheese',\n icon: [512, 512, [], \"f7ef\", \"M464 240.2V256H48c0-3.9 2-7.6 5.3-9.8L301.5 80.7c.7-.4 1.5-.7 2.3-.7C392.3 80 464 151.7 464 240.2zM48 304H464V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V304zm464-48V240.2C512 125.2 418.8 32 303.8 32c-10.3 0-20.3 3-28.9 8.7L26.6 206.2C10 217.3 0 236 0 256V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V256z\"]\n};\nvar faSendBackward = {\n prefix: 'far',\n iconName: 'send-backward',\n icon: [512, 512, [], \"f87f\", \"M64 0C28.7 0 0 28.7 0 64V288c0 35.3 28.7 64 64 64h64V224c0-53 43-96 96-96H352V64c0-35.3-28.7-64-64-64H64zM224 208H448c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H224c-8.8 0-16-7.2-16-16V224c0-8.8 7.2-16 16-16zm-64 16V448c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V224c0-35.3-28.7-64-64-64H224c-35.3 0-64 28.7-64 64z\"]\n};\nvar faYinYang = {\n prefix: 'far',\n iconName: 'yin-yang',\n icon: [512, 512, [9775], \"f6ad\", \"M464 256c0 114.9-93.1 208-208 208c-50.9 0-92.2-41.2-92.2-92s41.3-92 92.2-92c77.3 0 140-62.7 140-140c0-15.4-2.5-30.1-7-44c45.9 38.2 75 95.7 75 160zM256 48c50.8 0 92 41.2 92 92s-41.2 92-92 92c-77.3 0-140.2 62.6-140.2 140c0 15.3 2.5 30 7 43.8C77.1 377.6 48 320.2 48 256C48 141.1 141.1 48 256 48zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm32-368a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM256 400a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faMusic = {\n prefix: 'far',\n iconName: 'music',\n icon: [512, 512, [127925], \"f001\", \"M512 31c0-17.1-13.9-31-31-31c-3.1 0-6.2 .5-9.1 1.4l-311 95.7C150.9 100.2 144 109.5 144 120V240 362.7c-14.1-6.8-30.5-10.7-48-10.7c-53 0-96 35.8-96 80s43 80 96 80s96-35.8 96-80V260.2l272-83.7V298.7c-14.1-6.8-30.5-10.7-48-10.7c-53 0-96 35.8-96 80s43 80 96 80s96-35.8 96-80V144.6c0-.4 0-.7 0-1.1V31zM464 368c0 9.8-12.9 32-48 32s-48-22.2-48-32s12.9-32 48-32s48 22.2 48 32zM144 432c0 9.8-12.9 32-48 32s-48-22.2-48-32s12.9-32 48-32s48 22.2 48 32zM464 126.3L192 210V137.7L464 54v72.2z\"]\n};\nvar faCompassSlash = {\n prefix: 'far',\n iconName: 'compass-slash',\n icon: [640, 512, [], \"f5e9\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-95.4-74.8C561.1 354.5 576 307 576 256C576 114.6 461.4 0 320 0C246.8 0 180.9 30.7 134.2 79.9L38.8 5.1zM172.2 109.7C209.9 71.6 262.2 48 320 48c114.9 0 208 93.1 208 208c0 39.8-11.2 77-30.6 108.6L397.1 285.9l47.5-123.5c7.5-19.4-11.6-38.5-31-31L270.3 186.5l-98.1-76.9zM468.1 464.8l-39.7-31.3C396.8 452.9 359.7 464 320 464c-114.9 0-208-93.1-208-208c0-22.3 3.5-43.8 10-63.9L82.3 160.8C70.5 190.2 64 222.4 64 256c0 141.4 114.6 256 256 256c55.2 0 106.3-17.5 148.1-47.2zM317 345.8l-92.2-72.6-29.4 76.5c-7.5 19.4 11.6 38.5 31 31L317 345.8z\"]\n};\nvar faClockOne = {\n prefix: 'far',\n iconName: 'clock-one',\n icon: [512, 512, [], \"e34e\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM280 120v56.7l20-30c7.4-11 22.3-14 33.3-6.7s14 22.3 6.7 33.3l-64 96c-5.9 8.8-16.8 12.7-26.9 9.7s-17-12.4-17-23V120c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faFileMusic = {\n prefix: 'far',\n iconName: 'file-music',\n icon: [384, 512, [], \"f8b6\", \"M64 464c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zM304 208c0-5.2-2.6-10.2-6.9-13.2s-9.8-3.7-14.7-1.8l-128 48c-6.2 2.3-10.4 8.3-10.4 15v32 81.8c-5-1.2-10.4-1.8-16-1.8c-26.5 0-48 14.3-48 32s21.5 32 48 32s48-14.3 48-32V299.1l96-36v74.7c-5-1.2-10.4-1.8-16-1.8c-26.5 0-48 14.3-48 32s21.5 32 48 32s48-14.3 48-32V240 208z\"]\n};\nvar faCodeCommit = {\n prefix: 'far',\n iconName: 'code-commit',\n icon: [640, 512, [], \"f386\", \"M320 368a112 112 0 1 0 0-224 112 112 0 1 0 0 224zm158.2-88c-11.6 77-78 136-158.2 136s-146.6-59-158.2-136H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H161.8c11.6-77 78-136 158.2-136s146.6 59 158.2 136H616c13.3 0 24 10.7 24 24s-10.7 24-24 24H478.2z\"]\n};\nvar faTemperatureLow = {\n prefix: 'far',\n iconName: 'temperature-low',\n icon: [512, 512, [], \"f76b\", \"M416 48a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm0 144A96 96 0 1 0 416 0a96 96 0 1 0 0 192zM80 112c0-35.3 28.7-64 64-64s64 28.7 64 64V273.9c0 14.5 5.7 27.1 12.8 36.6c12 16 19.2 35.9 19.2 57.5c0 53-43 96-96 96s-96-43-96-96c0-21.6 7.1-41.5 19.2-57.5C74.3 301 80 288.4 80 273.9V112zM144 0C82.1 0 32 50.2 32 112V273.9c0 1.7-.7 4.4-3.2 7.8C10.7 305.7 0 335.7 0 368c0 79.5 64.5 144 144 144s144-64.5 144-144c0-32.4-10.7-62.3-28.8-86.4c-2.5-3.4-3.2-6.1-3.2-7.8V112C256 50.2 205.9 0 144 0zm0 416c26.5 0 48-21.5 48-48c0-20.9-13.4-38.7-32-45.3V272c0-8.8-7.2-16-16-16s-16 7.2-16 16v50.7c-18.6 6.6-32 24.4-32 45.3c0 26.5 21.5 48 48 48z\"]\n};\nvar faPersonBiking = {\n prefix: 'far',\n iconName: 'person-biking',\n icon: [640, 512, [128692, \"biking\"], \"f84a\", \"M448 48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM208 384A80 80 0 1 1 48 384a80 80 0 1 1 160 0zM128 256a128 128 0 1 0 0 256 128 128 0 1 0 0-256zM592 384a80 80 0 1 1 -160 0 80 80 0 1 1 160 0zM512 256a128 128 0 1 0 0 256 128 128 0 1 0 0-256zM341.5 149.6c3.5-2.5 8.3-1.9 11 1.4l44.8 56c4.6 5.7 11.5 9 18.7 9h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H427.5L390 121c-18.8-23.5-52.7-27.9-76.9-10.1l-74.6 55c-38.5 28.4-33.4 87.4 9.3 108.8L304 302.8V416c0 13.3 10.7 24 24 24s24-10.7 24-24V288c0-9.1-5.1-17.4-13.3-21.5l-69.6-34.8c-10.7-5.3-12-20.1-2.3-27.2l74.6-55z\"]\n};\nvar faBiking = faPersonBiking;\nvar faDisplayChartUpCircleCurrency = {\n prefix: 'far',\n iconName: 'display-chart-up-circle-currency',\n icon: [640, 512, [], \"e5e5\", \"M64 48H512c8.8 0 16 7.2 16 16V194.9c17 3.1 33.1 8.7 48 16.3V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64H211.7l-8 48H152c-13.3 0-24 10.7-24 24s10.7 24 24 24h72H352h42.8c-18.3-12.9-34.1-29.2-46.3-48H323.7 288 252.3l8-48H288h27.7 11c-4.3-15.3-6.6-31.4-6.6-48H240.4c-.3 0-.6 0-.8 0H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16zM480 192.7V120c0-13.3-10.7-24-24-24H376c-13.3 0-24 10.7-24 24s10.7 24 24 24h22.1L304 238.1l-63-63c-9.4-9.4-24.6-9.4-33.9 0L103 279c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l87-87 63 63c4.5 4.5 10.6 7 17 7s12.5-2.5 17-7l111-111V200c0 1.3 .1 2.6 .3 3.9c15-5.8 31-9.7 47.7-11.2zM640 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zM521.4 393.4a35.9 35.9 0 1 0 -50.7-50.7 35.9 35.9 0 1 0 50.7 50.7zm10 32.6c-21.6 13.2-49.1 13.2-70.7 0l-17.3 17.3c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L438 403.3c-13.2-21.6-13.2-49.1 0-70.7l-17.3-17.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L460.7 310c21.6-13.2 49.1-13.2 70.7 0l17.3-17.3c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L554 332.7c13.2 21.6 13.2 49.1 0 70.7l17.3 17.3c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L531.3 426z\"]\n};\nvar faSkeleton = {\n prefix: 'far',\n iconName: 'skeleton',\n icon: [512, 512, [], \"f620\", \"M256 0c13.3 0 24 10.7 24 24V64H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H280v48H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H280v48H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H280v85.7l75.5-32.3c8.3-3.5 17.2-5.4 26.1-5.4c36.7 0 66.4 29.7 66.4 66.4v1.5c0 18-7.2 35.3-19.9 48l-25.8 25.8c-11.7 11.7-27.6 18.3-44.1 18.3H153.9c-16.6 0-32.4-6.6-44.1-18.3L83.9 467.9c-12.7-12.7-19.9-30-19.9-48v-1.5c0-36.7 29.7-66.4 66.4-66.4c9 0 17.9 1.8 26.1 5.4L232 389.7V304H120c-13.3 0-24-10.7-24-24s10.7-24 24-24H232V208H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H232V112H88c-13.3 0-24-10.7-24-24s10.7-24 24-24H232V24c0-13.3 10.7-24 24-24zM184 440a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm192 0a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faCircleG = {\n prefix: 'far',\n iconName: 'circle-g',\n icon: [512, 512, [], \"e10f\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM176 256c0-44.2 35.8-80 80-80c20.5 0 39.2 7.7 53.3 20.4c9.9 8.8 25.1 8 33.9-1.9s8-25-1.9-33.9C318.7 140.3 288.8 128 256 128c-70.7 0-128 57.3-128 128s57.3 128 128 128s128-57.3 128-128c0-13.3-10.7-24-24-24H280c-13.3 0-24 10.7-24 24s10.7 24 24 24h52.3c-10.2 32.5-40.5 56-76.3 56c-44.2 0-80-35.8-80-80z\"]\n};\nvar faCircleArrowUpLeft = {\n prefix: 'far',\n iconName: 'circle-arrow-up-left',\n icon: [512, 512, [], \"e0fb\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm64-368H168c-13.3 0-24 10.7-24 24V328c0 13.3 10.7 24 24 24s24-10.7 24-24V225.9L327 361c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-135-135H320c13.3 0 24-10.7 24-24s-10.7-24-24-24z\"]\n};\nvar faCoinBlank = {\n prefix: 'far',\n iconName: 'coin-blank',\n icon: [512, 512, [], \"e3fb\", \"M256 304c64 0 119.6-14.7 157.5-36c39.4-22.2 50.5-45.3 50.5-60s-11.1-37.8-50.5-60C375.6 126.7 320 112 256 112s-119.6 14.7-157.5 36C59.1 170.2 48 193.3 48 208s11.1 37.8 50.5 60c37.9 21.3 93.5 36 157.5 36zM0 208C0 128.5 114.6 64 256 64s256 64.5 256 144l0 48 0 64c0 70.7-114.6 128-256 128S0 390.7 0 320l0-64 0-48zM256 352c-13.6 0-27-.6-40-1.7l0 48c12.9 1.1 26.3 1.7 40 1.7s27.1-.6 40-1.7l0-48c-13 1.1-26.4 1.7-40 1.7zM120 330l0 47.7c18.7 7 40.3 12.7 64 16.6l0-48.1c-22.8-3.8-44.3-9.2-64-16.2zM88 316.7C73 309.3 59.6 301 48 292l0 28c0 6.8 6.2 24.2 40 43.1l0-46.5zm240 29.6l0 48.1c23.7-3.9 45.3-9.6 64-16.6l0-47.7c-19.7 7-41.2 12.5-64 16.2zM464 320l0-28c-11.6 9.1-25 17.4-40 24.7l0 46.5c33.8-18.9 40-36.3 40-43.1z\"]\n};\nvar faBroom = {\n prefix: 'far',\n iconName: 'broom',\n icon: [576, 512, [129529], \"f51a\", \"M569 41c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L335 207l-39-39c-5.1-5.1-12.1-8-19.4-8c-12.2 0-23 8.1-26.3 19.9l-15.9 55.6-.6-.1c-46.4-7.1-93.5 8.3-126.7 41.5L97 287c-18.4 18.4-29.7 42.4-32.4 68c-.4 3.8-.6 7.7-.6 11.6c0 9.6 7.8 17.3 17.3 17.3H104L81.3 404.9 57.1 427.3 7.2 473.4C2.6 477.6 0 483.5 0 489.7C0 502 10 512 22.3 512l172.7 0c39.1 0 76.6-15.5 104.2-43.2c33.2-33.2 48.6-80.2 41.5-126.7l-.1-.6 55.6-15.9c11.8-3.4 19.9-14.1 19.9-26.3c0-7.3-2.9-14.2-8-19.4l-39-39L569 41zM278.8 254.8l8-28.1 62.4 62.4-28.1 8-42.3-42.3zm-52.3 28l9.8 1.5 55.4 55.4 1.5 9.8c4.8 31.3-5.6 63-28 85.4c-18.6 18.6-43.9 29.1-70.3 29.1L88.1 464l48.5-44.7c14.5-13.4 19.3-34.3 12.1-52.7c-5.4-13.7-16.6-23.9-30.1-28.3c3.1-6.4 7.3-12.2 12.4-17.3l10.2-10.2c22.4-22.4 54.1-32.8 85.4-28z\"]\n};\nvar faVacuum = {\n prefix: 'far',\n iconName: 'vacuum',\n icon: [640, 512, [], \"e04d\", \"M290 48c-27.1 0-50.6 19-56.2 45.5L206 224H156.9L186.8 83.5C197.2 34.8 240.2 0 290 0H528c61.9 0 112 50.1 112 112c0 44.8-26.3 83.5-64.3 101.4C596.1 243.9 608 280.5 608 320V448c0 35.3-28.7 64-64 64H468.7c14.8-13 26.5-29.4 34-48H544c8.8 0 16-7.2 16-16V320c0-79.5-64.5-144-144-144c-8.8 0-16 7.2-16 16v97c-5.2-.7-10.6-1-16-1c-11 0-21.8 1.4-32 4V192c0-35.3 28.7-64 64-64c47.9 0 91.8 17.6 125.4 46.6c28.9-6.1 50.6-31.9 50.6-62.6c0-35.3-28.7-64-64-64H290zM150.1 256h49.1L171.7 385.1c29.8 5.5 52.3 31.6 52.3 62.9c0 35.3-28.7 64-64 64H32c-17.7 0-32-14.3-32-32c0-53 43-96 96-96h26.9l27.2-128zM432 416a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm-144 0a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zM176 448c0-8.8-7.2-16-16-16H96c-20.9 0-38.7 13.4-45.3 32H160c8.8 0 16-7.2 16-16zm208-48a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faShieldHeart = {\n prefix: 'far',\n iconName: 'shield-heart',\n icon: [512, 512, [], \"e574\", \"M73 127L256 49.4 439 127c5.9 2.5 9.1 7.8 9 12.8c-.4 91.4-38.4 249.3-186.3 320.1c-3.6 1.7-7.8 1.7-11.3 0C102.4 389 64.5 231.2 64 139.7c0-5 3.1-10.2 9-12.8zM457.7 82.8L269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.8 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2zM144 221.3c0 16.2 6.5 31.8 17.9 43.3l82.7 82.7c6.2 6.2 16.4 6.2 22.6 0l82.7-82.7c11.5-11.5 17.9-27.1 17.9-43.3c0-33.8-27.4-61.3-61.3-61.3c-16.2 0-31.8 6.5-43.3 17.9l-7.4 7.4-7.4-7.4c-11.5-11.5-27.1-17.9-43.3-17.9c-33.8 0-61.3 27.4-61.3 61.3z\"]\n};\nvar faCardHeart = {\n prefix: 'far',\n iconName: 'card-heart',\n icon: [384, 512, [], \"e3eb\", \"M64 48c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H320c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H64zM0 64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM80 221.3c0-33.8 27.4-61.3 61.3-61.3c16.2 0 31.8 6.5 43.3 17.9l7.4 7.4 7.4-7.4c11.5-11.5 27.1-17.9 43.3-17.9c33.8 0 61.3 27.4 61.3 61.3c0 16.2-6.5 31.8-17.9 43.3l-82.7 82.7c-6.2 6.2-16.4 6.2-22.6 0L97.9 264.6C86.5 253.1 80 237.5 80 221.3z\"]\n};\nvar faLightbulbCflOn = {\n prefix: 'far',\n iconName: 'lightbulb-cfl-on',\n icon: [640, 512, [], \"e5a7\", \"M343.3 18.2C340.1 5.3 327-2.5 314.2 .7l-128 32c-12.9 3.2-20.7 16.2-17.5 29.1s16.2 20.7 29.1 17.5l128-32c12.9-3.2 20.7-16.2 17.5-29.1zm110.5 93.1c12.9-3.2 20.7-16.2 17.5-29.1s-16.2-20.7-29.1-17.5l-256 64c-12.9 3.2-20.7 16.2-17.5 29.1s16.2 20.7 29.1 17.5l256-64zm0 96c12.9-3.2 20.7-16.2 17.5-29.1s-16.2-20.7-29.1-17.5l-256 64c-12.9 3.2-20.7 16.2-17.5 29.1s16.2 20.7 29.1 17.5l256-64zM416 416c0-17.7-14.3-32-32-32H304V294.2l-48 12V384c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32h40v8c0 13.3 10.7 24 24 24s24-10.7 24-24v-8h40c17.7 0 32-14.3 32-32V416zm37.8-112.7c12.9-3.2 20.7-16.2 17.5-29.1s-16.2-20.7-29.1-17.5l-64 16-16 4 0 0-8 2c-11.1 2.8-18.5 12.9-18.2 23.9V384h48V320.7l5.8-1.5 64-16zM53.3 4C42.3-3.3 27.4-.3 20 10.7s-4.4 25.9 6.7 33.3l48 32c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L53.3 4zM613.3 44c11-7.4 14-22.3 6.7-33.3s-22.3-14-33.3-6.7l-48 32c-11 7.4-14 22.3-6.7 33.3s22.3 14 33.3 6.7l48-32zM24 160c-13.3 0-24 10.7-24 24s10.7 24 24 24H88c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zm528 0c-13.3 0-24 10.7-24 24s10.7 24 24 24h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H552zM101.3 332c11-7.4 14-22.3 6.7-33.3s-22.3-14-33.3-6.7l-48 32c-11 7.4-14 22.3-6.7 33.3s22.3 14 33.3 6.7l48-32zm464-39.9c-11-7.4-25.9-4.4-33.3 6.7s-4.4 25.9 6.7 33.3l48 32c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3l-48-32z\"]\n};\nvar faMelon = {\n prefix: 'far',\n iconName: 'melon',\n icon: [512, 512, [], \"e310\", \"M464 256c0-25.8-4.7-50.4-13.2-73.2c-14.9 51.3-51.2 110.5-104.3 163.6s-112.3 89.4-163.6 104.3c22.8 8.6 47.4 13.2 73.2 13.2c114.9 0 208-93.1 208-208zM61.2 329.2c14.9-51.3 51.2-110.5 104.3-163.6s112.3-89.4 163.6-104.3C306.4 52.7 281.8 48 256 48C141.1 48 48 141.1 48 256c0 25.8 4.7 50.4 13.2 73.2zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM403 109c-5.2-5.2-24.1-13.9-67.8 .7c-40.7 13.6-89.8 44-135.7 89.9s-76.3 95-89.9 135.7c-14.6 43.7-5.8 62.6-.7 67.8s24.1 13.9 67.8-.7c40.7-13.6 89.9-44 135.7-89.9s76.3-95 89.9-135.7c14.6-43.7 5.8-62.6 .7-67.8z\"]\n};\nvar faGopuram = {\n prefix: 'far',\n iconName: 'gopuram',\n icon: [512, 512, [], \"f664\", \"M120 0c13.3 0 24 10.7 24 24v8h48V24c0-13.3 10.7-24 24-24s24 10.7 24 24v8h32V24c0-13.3 10.7-24 24-24s24 10.7 24 24v8h48V24c0-13.3 10.7-24 24-24s24 10.7 24 24v8V64 80v48 2.7c18.6 6.6 32 24.4 32 45.3v48c0 .9 0 1.8-.1 2.7c18.7 6.6 32.1 24.4 32.1 45.3v64c0 .9 0 1.8-.1 2.7c18.7 6.6 32.1 24.4 32.1 45.3v80c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V384c0-20.9 13.4-38.7 32.1-45.3c0-.9-.1-1.8-.1-2.7V272c0-20.9 13.4-38.7 32.1-45.3c0-.9-.1-1.8-.1-2.7V176c0-20.9 13.4-38.7 32-45.3V128 80 64 32 24c0-13.3 10.7-24 24-24zm24 80v48H368V80H144zm-32 96v48h48V176H144 112zm208 48V176H192v48h32c0-17.7 14.3-32 32-32s32 14.3 32 32h32zm32-48v48h48V176H368 352zm0 96H160v64h64V320c0-17.7 14.3-32 32-32s32 14.3 32 32v16h64V272zm32 64h48V272H400 384v64zM128 464h80V448c0-26.5 21.5-48 48-48s48 21.5 48 48v16h80V384H352 160 128v80zm288 0h48V384H432 416v80zM128 272H112 80v64h48V272zM96 384H80 48v80H96V384z\"]\n};\nvar faEarthOceania = {\n prefix: 'far',\n iconName: 'earth-oceania',\n icon: [512, 512, [\"globe-oceania\"], \"e47b\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM208.6 357.3l-39-13.5c-6.5-2.2-13.6-2.3-20.1-.3l-15.3 4.9c-18.5 5.9-38.5-2.4-47.5-19.5l-3.3-6.2c-10.6-20.1-2.3-45 18.2-54.7l35.3-16.8c2.3-1.1 4.4-2.8 5.9-4.8l5.3-7c7.2-9.6 18.6-15.3 30.6-15.3s23.4 5.7 30.6 15.3l4.6 6.1c2 2.6 4.9 4.5 8.1 5.1c7.8 1.6 15.7-1.5 20.4-7.9l10.4-14.2c2-2.8 5.3-4.4 8.7-4.4c4.4 0 8.4 2.7 10 6.8l10.1 25.9c2.8 7.2 6.7 14 11.5 20.2L311 299.8c5.8 7.4 9 16.6 9 26s-3.2 18.6-9 26L299 367.2c-8.3 10.6-21 16.8-34.4 16.8c-8.4 0-16.6-2.4-23.7-7l-25.4-16.4c-2.2-1.4-4.5-2.5-6.9-3.4zm65.2-214.8L296 164.7c10.1 10.1 2.9 27.3-11.3 27.3H254.8c-5.6 0-11.1-1.2-16.2-3.4l-42.8-19c-14.3-6.3-11.9-27.3 3.4-30.3l38.5-7.7c13.1-2.6 26.7 1.5 36.1 10.9zM248 416c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H264c-8.8 0-16-7.2-16-16zM423.2 290.9l8 24c2.8 8.4-1.7 17.4-10.1 20.2s-17.4-1.7-20.2-10.1l-8-24c-2.8-8.4 1.7-17.4 10.1-20.2s17.4 1.7 20.2 10.1zm-19.9 80.4l-32 32c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l32-32c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faGlobeOceania = faEarthOceania;\nvar faContainerStorage = {\n prefix: 'far',\n iconName: 'container-storage',\n icon: [640, 512, [], \"f4b7\", \"M24 32C10.7 32 0 42.7 0 56S10.7 80 24 80h8V432H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H56 584h32c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V80h8c13.3 0 24-10.7 24-24s-10.7-24-24-24H584 56 24zM80 432V80H560V432H80zm96-280c0-13.3-10.7-24-24-24s-24 10.7-24 24V360c0 13.3 10.7 24 24 24s24-10.7 24-24V152zm112 0c0-13.3-10.7-24-24-24s-24 10.7-24 24V360c0 13.3 10.7 24 24 24s24-10.7 24-24V152zm112 0c0-13.3-10.7-24-24-24s-24 10.7-24 24V360c0 13.3 10.7 24 24 24s24-10.7 24-24V152zm112 0c0-13.3-10.7-24-24-24s-24 10.7-24 24V360c0 13.3 10.7 24 24 24s24-10.7 24-24V152z\"]\n};\nvar faFacePouting = {\n prefix: 'far',\n iconName: 'face-pouting',\n icon: [512, 512, [], \"e387\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM161.3 382.1c-5.4 12.3 8.7 21.6 21.1 16.4c22.4-9.5 47.4-14.8 73.7-14.8s51.3 5.3 73.7 14.8c12.4 5.2 26.5-4.1 21.1-16.4c-16-36.6-52.4-62.1-94.8-62.1s-78.8 25.6-94.8 62.1zM176.4 272c17.7 0 32-14.3 32-32c0-1.5-.1-3-.3-4.4l10.9 3.6c8.4 2.8 17.4-1.7 20.2-10.1s-1.7-17.4-10.1-20.2l-96-32c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2l30.7 10.2c-5.8 5.8-9.3 13.8-9.3 22.6c0 17.7 14.3 32 32 32zm192-32c0-8.9-3.6-17-9.5-22.8l30.2-10.1c8.4-2.8 12.9-11.9 10.1-20.2s-11.9-12.9-20.2-10.1l-96 32c-8.4 2.8-12.9 11.9-10.1 20.2s11.9 12.9 20.2 10.1l11.7-3.9c-.2 1.5-.3 3.1-.3 4.7c0 17.7 14.3 32 32 32s32-14.3 32-32z\"]\n};\nvar faSquareXmark = {\n prefix: 'far',\n iconName: 'square-xmark',\n icon: [448, 512, [10062, \"times-square\", \"xmark-square\"], \"f2d3\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm143 79c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faTimesSquare = faSquareXmark;\nvar faXmarkSquare = faSquareXmark;\nvar faFaceExplode = {\n prefix: 'far',\n iconName: 'face-explode',\n icon: [512, 512, [\"exploding-head\"], \"e2fe\", \"M120 160c-30.9 0-56-25.1-56-56s25.1-56 56-56c8.9 0 17.3 2.1 24.8 5.8C149.7 23.3 176.1 0 208 0c19.1 0 36.3 8.4 48 21.7C267.7 8.4 284.9 0 304 0c31.9 0 58.3 23.3 63.2 53.8c7.5-3.7 15.9-5.8 24.8-5.8c30.9 0 56 25.1 56 56s-25.1 56-56 56H352c-17.7 0-32 14.3-32 32v4.5c0 10.3 4.4 20.1 11.9 27l9.5 6c10.4 6.5 23.5 6.5 33.9 0l17.3-10.8c10.4-6.5 23.5-6.5 33.9 0l20.7 12.9c4.8 3 10.3 4.6 15.8 4.8c4.2 .2 8.5-.5 12.6-2.1l33.9-13.1c1.5 11.4 2.3 23 2.3 34.8c0 5.3-.2 10.7-.5 15.9C503.3 405.9 392 512 256 512S8.7 405.9 .5 271.9C.2 266.7 0 261.3 0 256c0-11.8 .8-23.4 2.3-34.8l34 13.1c4.1 1.6 8.4 2.3 12.6 2.1c5.5-.2 11-1.8 15.8-4.8l20.7-12.9c10.4-6.5 23.5-6.5 33.9 0l17.3 10.8c10.4 6.5 23.5 6.5 33.9 0l9.5-6c7.5-6.9 11.9-16.6 11.9-27V192c0-17.7-14.3-32-32-32H120zm-8.8 110.1l-8.8-5.5-12.2 7.6C77.9 279.9 64 284 49.9 284.4C63.8 385.8 150.7 464 256 464s192.2-78.2 206.1-179.6c-14.1-.4-28-4.5-40.3-12.1l-12.2-7.6-8.8 5.5c-25.9 16.2-58.9 16.2-84.8 0l-8.8-5.5-8.8 5.5c-25.9 16.2-58.9 16.2-84.8 0l-8.8-5.5-8.8 5.5c-25.9 16.2-58.9 16.2-84.8 0zM176.4 304a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM256 368c26.5 0 48 21.5 48 48v5.3c0 5.9-4.8 10.7-10.7 10.7H218.7c-5.9 0-10.7-4.8-10.7-10.7V416c0-26.5 21.5-48 48-48z\"]\n};\nvar faExplodingHead = faFaceExplode;\nvar faHashtag = {\n prefix: 'far',\n iconName: 'hashtag',\n icon: [448, 512, [62098], \"23\", \"M188.7 32.5c13 2.6 21.4 15.2 18.8 28.2L192.5 136h111l16.9-84.7c2.6-13 15.2-21.4 28.2-18.8s21.4 15.2 18.8 28.2L352.5 136H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H342.9L314.1 328H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H304.5l-16.9 84.7c-2.6 13-15.2 21.4-28.2 18.8s-21.4-15.2-18.8-28.2L255.5 376h-111l-16.9 84.7c-2.6 13-15.2 21.4-28.2 18.8s-21.4-15.2-18.8-28.2L95.5 376H24c-13.3 0-24-10.7-24-24s10.7-24 24-24h81.1l28.8-144H56c-13.3 0-24-10.7-24-24s10.7-24 24-24h87.5l16.9-84.7c2.6-13 15.2-21.4 28.2-18.8zM182.9 184L154.1 328h111l28.8-144h-111z\"]\n};\nvar faUpRightAndDownLeftFromCenter = {\n prefix: 'far',\n iconName: 'up-right-and-down-left-from-center',\n icon: [512, 512, [\"expand-alt\"], \"f424\", \"M323.3 0C303.8 0 288 15.8 288 35.3c0 9.4 3.7 18.3 10.3 25L326.1 88 264 150.1c-18.7 18.7-18.7 49.1 0 67.9L294.1 248c18.7 18.7 49.1 18.7 67.9 0L424 185.9l27.7 27.7c6.6 6.6 15.6 10.3 25 10.3c19.5 0 35.3-15.8 35.3-35.3V40c0-22.1-17.9-40-40-40H323.3zM377 71l-23-23H464V158.1l-23-23c-9.4-9.4-24.6-9.4-33.9 0l-79 79L297.9 184l79-79c9.4-9.4 9.4-24.6 0-33.9zM188.7 512c19.5 0 35.3-15.8 35.3-35.3c0-9.4-3.7-18.3-10.3-25L185.9 424 248 361.9c18.7-18.7 18.7-49.1 0-67.9L217.9 264c-18.7-18.7-49.1-18.7-67.9 0L88 326.1 60.3 298.3c-6.6-6.6-15.6-10.3-25-10.3C15.8 288 0 303.8 0 323.3V472c0 22.1 17.9 40 40 40H188.7zM135 441l23 23H48V353.9l23 23c9.4 9.4 24.6 9.4 33.9 0l79-79L214.1 328l-79 79c-9.4 9.4-9.4 24.6 0 33.9z\"]\n};\nvar faExpandAlt = faUpRightAndDownLeftFromCenter;\nvar faOilCan = {\n prefix: 'far',\n iconName: 'oil-can',\n icon: [640, 512, [], \"f613\", \"M328 112c13.3 0 24-10.7 24-24s-10.7-24-24-24H184c-13.3 0-24 10.7-24 24s10.7 24 24 24h48v48H147.2 144 96 48c-26.5 0-48 21.5-48 48v64.8c0 19 11.2 36.2 28.5 43.9l67.5 30V368c0 26.5 21.5 48 48 48H403.1c18.4 0 35.8-7.9 48-21.7L615 208.6l1.4-1.6 7.6-8.6 9.4-10.6c12.3-13.9-.3-35.4-18.4-31.5l-13.9 3-11.3 2.4-2.1 .4L448 192l-50.5-25.2c-8.9-4.4-18.7-6.8-28.6-6.8H280V112h48zm97.1 125.8c10.4 5.2 22.3 6.7 33.6 4.3l72.1-15.4L412.7 360.5c-2.4 2.8-5.9 4.3-9.6 4.3H147.2V211.2H368.9c2 0 3.9 .5 5.7 1.4l50.5 25.2zM96 294.1L48 272.8V208H96v3.2 82.9z\"]\n};\nvar faT = {\n prefix: 'far',\n iconName: 't',\n icon: [384, 512, [116], \"54\", \"M24 32C10.7 32 0 42.7 0 56S10.7 80 24 80H168V456c0 13.3 10.7 24 24 24s24-10.7 24-24V80H360c13.3 0 24-10.7 24-24s-10.7-24-24-24H192 24z\"]\n};\nvar faTransformerBolt = {\n prefix: 'far',\n iconName: 'transformer-bolt',\n icon: [384, 512, [], \"e2a4\", \"M136 24c0-13.3-10.7-24-24-24S88 10.7 88 24v8H64c-8.8 0-16 7.2-16 16s7.2 16 16 16h48 48c8.8 0 16-7.2 16-16s-7.2-16-16-16H136V24zm160 0c0-13.3-10.7-24-24-24s-24 10.7-24 24v8H224c-8.8 0-16 7.2-16 16s7.2 16 16 16h48 48c8.8 0 16-7.2 16-16s-7.2-16-16-16H296V24zM48 112c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H64c-8.8 0-16 7.2-16 16zm160 0c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H224c-8.8 0-16 7.2-16 16zM24 160c-13.3 0-24 10.7-24 24s10.7 24 24 24h8V464H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H56 328h32c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V208h8c13.3 0 24-10.7 24-24s-10.7-24-24-24H328 56 24zM80 464V208H304V464H80zM233.4 243.1c-5.9-4.3-14-4-19.6 .7l-96 80c-5.2 4.3-7.1 11.4-4.8 17.7s8.3 10.6 15 10.6h40.4l-23.2 58.1c-2.7 6.8-.5 14.6 5.5 18.9s14 4 19.6-.7l96-80c5.2-4.3 7.1-11.4 4.8-17.7s-8.3-10.6-15-10.6H215.6l23.2-58.1c2.7-6.8 .5-14.6-5.5-18.9z\"]\n};\nvar faHippo = {\n prefix: 'far',\n iconName: 'hippo',\n icon: [640, 512, [129435], \"f6ed\", \"M391 39c9.4-9.4 24.6-9.4 33.9 0l14.2 14.2C449.5 49.9 460.5 48 472 48h32c15.8 0 30.8 3.5 44.2 9.8L559 47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-7 7c13.8 17.7 22 39.9 22 64c0 .3 .1 .6 .3 .7c19.4 17.6 31.7 43 31.7 71.3c0 28.4-12.4 54-32 71.6l0 .4v32c0 13.3-10.7 24-24 24H568c-13.3 0-24-10.7-24-24v-8H480v8c0 13.3-10.7 24-24 24H440c-13.3 0-24-10.7-24-24V314.5c-37.3-13.2-64-48.7-64-90.5c0-16.2 4-31.4 11.1-44.8c2.9-5.6 4.9-11.7 4.9-18V152c0-8.9 1.1-17.5 3.2-25.8c-25.6-9.4-52.7-14.2-80-14.2H256 231.2C147.7 112 80 179.7 80 263.2c0 19.7-4.1 39.2-12.1 57.2L45.9 369.7c-5.4 12.1-19.6 17.6-31.7 12.2S-3.3 362.4 2.1 350.3L24 300.9c5.3-11.9 8-24.7 8-37.7C32 153.2 121.2 64 231.2 64H256h35.2c35.1 0 69.9 6.6 102.6 19.5c1.2-1.4 2.4-2.7 3.7-4L391 73c-9.4-9.4-9.4-24.6 0-33.9zm81 57c-30.9 0-56 25.1-56 56v9.2c0 16.4-5.1 30.3-10.5 40.4c-3.5 6.6-5.5 14.2-5.5 22.4c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48c0-14.1-6-26.8-15.8-35.6C566 179.2 560 166 560 152c0-30.9-25.1-56-56-56H472zM408 377.6c7.1 4.1 15.3 6.4 24 6.4h24v40c0 30.9-25.1 56-56 56H352c-30.9 0-56-25.1-56-56V407.6c-26.4 5.4-53.6 5.4-80 0V424c0 30.9-25.1 56-56 56H120c-30.9 0-56-25.1-56-56V376c0-13.3 10.7-24 24-24s24 10.7 24 24v48c0 4.4 3.6 8 8 8h40c4.4 0 8-3.6 8-8V376c0-7.6 3.6-14.8 9.8-19.3s14.1-5.8 21.4-3.6l11.3 3.6c29.6 9.3 61.4 9.3 91 0l11.3-3.6c7.3-2.3 15.2-1 21.4 3.6s9.8 11.7 9.8 19.3v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V377.6zM464 128a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm-56 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm72 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faChartColumn = {\n prefix: 'far',\n iconName: 'chart-column',\n icon: [512, 512, [], \"e0e3\", \"M24 32c13.3 0 24 10.7 24 24V408c0 13.3 10.7 24 24 24H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H72c-39.8 0-72-32.2-72-72V56C0 42.7 10.7 32 24 32zM168 224c13.3 0 24 10.7 24 24v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V248c0-13.3 10.7-24 24-24zm120-72V328c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24s24 10.7 24 24zm72 40c13.3 0 24 10.7 24 24V328c0 13.3-10.7 24-24 24s-24-10.7-24-24V216c0-13.3 10.7-24 24-24zM480 88V328c0 13.3-10.7 24-24 24s-24-10.7-24-24V88c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faCassetteVhs = {\n prefix: 'far',\n iconName: 'cassette-vhs',\n icon: [576, 512, [128252, \"vhs\"], \"f8ec\", \"M48 416V160H528V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM352 336H224V256H352v80zM144 296c0-19.4 13.7-35.5 32-39.2v78.4c-18.3-3.7-32-19.8-32-39.2zm288 0c0 19.4-13.7 35.5-32 39.2V256.8c18.3 3.7 32 19.8 32 39.2zM96 296c0 48.6 39.4 88 88 88H392c48.6 0 88-39.4 88-88s-39.4-88-88-88H184c-48.6 0-88 39.4-88 88z\"]\n};\nvar faVhs = faCassetteVhs;\nvar faInfinity = {\n prefix: 'far',\n iconName: 'infinity',\n icon: [640, 512, [8734, 9854], \"f534\", \"M0 237.3C0 159.3 63.3 96 141.3 96c39 0 76.2 16.1 102.9 44.5L320 221l75.8-80.5C422.5 112.1 459.7 96 498.7 96c78 0 141.3 63.3 141.3 141.3v37.4c0 78-63.3 141.3-141.3 141.3c-39 0-76.2-16.1-102.9-44.5L320 291l-75.8 80.5C217.5 399.9 180.3 416 141.3 416C63.3 416 0 352.7 0 274.7V237.3zM287 256l-77.8-82.6c-17.6-18.7-42.2-29.4-68-29.4C89.8 144 48 185.8 48 237.3v37.4c0 51.5 41.8 93.3 93.3 93.3c25.7 0 50.3-10.6 68-29.4L287 256zm65.9 0l77.8 82.6c17.6 18.7 42.2 29.4 68 29.4c51.5 0 93.3-41.8 93.3-93.3V237.3c0-51.5-41.8-93.3-93.3-93.3c-25.7 0-50.3 10.6-68 29.4L353 256z\"]\n};\nvar faVialCircleCheck = {\n prefix: 'far',\n iconName: 'vial-circle-check',\n icon: [512, 512, [], \"e596\", \"M0 56C0 42.7 10.7 32 24 32h8H80h96 48 8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8V266.8c-20.2 28.6-32 63.5-32 101.2c0 25.2 5.3 49.1 14.8 70.8C189.5 463.7 160.6 480 128 480c-53 0-96-43-96-96V80H24C10.7 80 0 69.3 0 56zM80 80V192h96V80H80zm0 160V384c0 26.5 21.5 48 48 48s48-21.5 48-48V240H80zM224 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm211.3-43.3c-6.2-6.2-16.4-6.2-22.6 0L352 385.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nvar faChimney = {\n prefix: 'far',\n iconName: 'chimney',\n icon: [448, 512, [], \"f78b\", \"M48 176H400V80H48v96zM0 64C0 46.3 14.3 32 32 32H416c17.7 0 32 14.3 32 32V192c0 17.7-14.3 32-32 32V360 464c0 13.3-10.7 24-24 24s-24-10.7-24-24V384H288v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V384H184 80v80c0 13.3-10.7 24-24 24s-24-10.7-24-24V360l0-136c-17.7 0-32-14.3-32-32V64zM80 224V336h80V224H80zm128 0V336h56H368V224H208z\"]\n};\nvar faObjectIntersect = {\n prefix: 'far',\n iconName: 'object-intersect',\n icon: [512, 512, [], \"e49d\", \"M96 48H64c-8.8 0-16 7.2-16 16V96H0V64C0 28.7 28.7 0 64 0H96V48zm32 0V0h96V48H128zM0 128H48v96H0V128zm352 32v48 48 32c0 35.3-28.7 64-64 64H224 208 160V304 256 224c0-35.3 28.7-64 64-64h64 16 48zM160 416h48v32c0 8.8 7.2 16 16 16h32v48H224c-35.3 0-64-28.7-64-64V416zM352 64V96H304V64c0-8.8-7.2-16-16-16H256V0h32c35.3 0 64 28.7 64 64zm64 144V160h32c35.3 0 64 28.7 64 64v32H464V224c0-8.8-7.2-16-16-16H416zM96 304v48H64c-35.3 0-64-28.7-64-64V256H48v32c0 8.8 7.2 16 16 16H96zM288 464h96v48H288V464zm160 48H416V464h32c8.8 0 16-7.2 16-16V416h48v32c0 35.3-28.7 64-64 64zm64-128H464V288h48v96zM304 208H224c-8.8 0-16 7.2-16 16v80h80c8.8 0 16-7.2 16-16V208z\"]\n};\nvar faPersonArrowDownToLine = {\n prefix: 'far',\n iconName: 'person-arrow-down-to-line',\n icon: [640, 512, [], \"e538\", \"M192 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-13.7 80h27.5c.8 0 1.5 0 2.3 .1V304H176V176.1c.7 0 1.5-.1 2.3-.1zM176 464V352h32V464H176zm-48 0H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H152h80H616c13.3 0 24-10.7 24-24s-10.7-24-24-24H256V223.6l43.1 76.2c6.5 11.5 21.2 15.6 32.7 9.1s15.6-21.2 9.1-32.7L282.3 172.7c-15.6-27.6-44.9-44.7-76.6-44.7H178.3c-31.7 0-61 17.1-76.6 44.7L43.1 276.2c-6.5 11.5-2.5 26.2 9.1 32.7s26.2 2.5 32.7-9.1L128 223.6V464zM472 56l0 281.7-47.9-43.5c-9.8-8.9-25-8.2-33.9 1.6s-8.2 25 1.6 33.9l88 80c9.2 8.3 23.1 8.3 32.3 0l88-80c9.8-8.9 10.5-24.1 1.6-33.9s-24.1-10.5-33.9-1.6L520 337.7 520 56c0-13.3-10.7-24-24-24s-24 10.7-24 24z\"]\n};\nvar faVoicemail = {\n prefix: 'far',\n iconName: 'voicemail',\n icon: [640, 512, [], \"f897\", \"M144 144a96 96 0 1 1 0 192 96 96 0 1 1 0-192zM251.3 336c22.8-25.5 36.7-59.1 36.7-96c0-79.5-64.5-144-144-144S0 160.5 0 240s64.5 144 144 144H496c79.5 0 144-64.5 144-144s-64.5-144-144-144s-144 64.5-144 144c0 36.9 13.9 70.5 36.7 96H251.3zM496 144a96 96 0 1 1 0 192 96 96 0 1 1 0-192z\"]\n};\nvar faBlockBrick = {\n prefix: 'far',\n iconName: 'block-brick',\n icon: [448, 512, [\"wall-brick\"], \"e3db\", \"M144 80v48h56 48 56V80H144zM96 128V80H64c-8.8 0-16 7.2-16 16v32H96zM48 176v56H200V176H48zm0 160H96V280H48v56zm0 48v32c0 8.8 7.2 16 16 16H200V384H144 96 48zm96-48H304V280H144v56zm208 0h48V280H352v56zm48 48H352 304 248v48H384c8.8 0 16-7.2 16-16V384zm0-208H248v56H400V176zm0-48V96c0-8.8-7.2-16-16-16H352v48h48zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96z\"]\n};\nvar faWallBrick = faBlockBrick;\nvar faFan = {\n prefix: 'far',\n iconName: 'fan',\n icon: [512, 512, [], \"f863\", \"M304 40l-4.1 38.2-5.7 52.7c9.4-4 18.9-6.9 28.5-8.6c7-1.2 14-1.9 21-2.2c79-2.9 151.9 53.9 167.7 132.1c.5 2.5 .7 5.1 .7 7.7V264c0 22.1-17.9 40-40 40l-38.2-4.1-52.7-5.7c4 9.4 6.9 18.9 8.6 28.5c1.2 7 1.9 14 2.2 21c2.9 79-53.9 151.9-132.1 167.7c-2.5 .5-5.1 .7-7.7 .7H248c-22.1 0-40-17.9-40-40l4.1-38.2 5.7-52.7c-9.4 4-18.9 6.9-28.5 8.6c-7 1.2-14 1.9-21 2.2C89.4 394.8 16.4 338 .7 259.8c-.5-2.5-.7-5.1-.7-7.7V248c0-22.1 17.9-40 40-40l38.2 4.1 52.7 5.7c-4-9.4-6.9-18.9-8.6-28.5c-1.2-7-1.9-14-2.2-21C117.2 89.4 174 16.4 252.2 .7c2.5-.5 5.1-.7 7.7-.7H264c22.1 0 40 17.9 40 40zm82.3 206.5l76.3 8.3c-15.2-56.4-73.6-95.1-131.8-85.1c-5.5 .9-11.4 2.7-17.8 5.4c-15.7 6.7-33.7 4.6-47.4-5.6s-21-26.8-19.2-43.7l8.3-76.3c-56.4 15.2-95.1 73.6-85.1 131.8c.9 5.5 2.7 11.4 5.4 17.8c6.7 15.7 4.6 33.7-5.6 47.4s-26.8 21-43.7 19.2l-76.3-8.3c15.2 56.4 73.6 95.1 131.8 85.1c5.5-.9 11.4-2.7 17.8-5.4c15.7-6.7 33.7-4.6 47.4 5.6s21 26.8 19.2 43.7l-8.3 76.3c56.4-15.2 95.1-73.6 85.1-131.8c-.9-5.5-2.7-11.4-5.4-17.8c-6.7-15.7-4.6-33.7 5.6-47.4s26.8-21 43.7-19.2zM256 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faBagsShopping = {\n prefix: 'far',\n iconName: 'bags-shopping',\n icon: [576, 512, [128717], \"f847\", \"M176 96c0-26.5 21.5-48 48-48s48 21.5 48 48v64H176V96zm-48 64H64c-35.3 0-64 28.7-64 64V416c0 35.3 28.7 64 64 64h96V432H64c-8.8 0-16-7.2-16-16V224c0-8.8 7.2-16 16-16H384c8.8 0 16 7.2 16 16h48c0-35.3-28.7-64-64-64H320V96c0-53-43-96-96-96s-96 43-96 96v64zm128 96c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V320c0-35.3-28.7-64-64-64H256zm64 80v16c0 35.3 28.7 64 64 64s64-28.7 64-64V336c0-8.8 7.2-16 16-16s16 7.2 16 16v16c0 53-43 96-96 96s-96-43-96-96V336c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faParagraphLeft = {\n prefix: 'far',\n iconName: 'paragraph-left',\n icon: [384, 512, [\"paragraph-rtl\"], \"f878\", \"M304 48h24c13.3 0 24-10.7 24-24s-10.7-24-24-24H224 200 168 144C82.1 0 32 50.1 32 112s50.1 112 112 112h32v72c0 13.3 10.7 24 24 24s24-10.7 24-24l0-72V200 48h32l0 248c0 13.3 10.7 24 24 24s24-10.7 24-24V48zM176 48V176H144c-35.3 0-64-28.7-64-64s28.7-64 64-64h24 8zM120.1 361.8c9.9-8.9 10.7-24 1.8-33.9s-24-10.7-33.9-1.8l-80 72C2.9 402.7 0 409.2 0 416s2.9 13.3 7.9 17.8l80 72c9.9 8.9 25 8.1 33.9-1.8s8.1-25-1.8-33.9L86.5 440H360c13.3 0 24-10.7 24-24s-10.7-24-24-24H86.5l33.5-30.2z\"]\n};\nvar faParagraphRtl = faParagraphLeft;\nvar faPersonWalkingLuggage = {\n prefix: 'far',\n iconName: 'person-walking-luggage',\n icon: [576, 512, [], \"e554\", \"M432 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM365.8 266.6l29.9-89.8c7.7 1.2 15 3.6 21.7 7.1c-.1 .3-.2 .7-.3 1L384.7 288.6l-16.3-13.3c-2.6-2.1-3.6-5.6-2.5-8.7zm59 54.6l28.5-91.3 10.5 36.7c1.9 6.5 5.4 12.5 10.2 17.3L503 313c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-27.6-27.6-10.9-38.1C484.1 162.8 437.9 128 385.3 128h-4.9c-16.1 0-32.1 2.6-47.4 7.7c-39.9 13.3-72.4 42.8-89.5 81.3l-9.5 21.3c-5.4 12.1 .1 26.3 12.2 31.7s26.3-.1 31.7-12.2l9.5-21.3c10.9-24.4 30.9-43.5 55.6-53.3l-22.8 68.3c-7.4 22.1-.3 46.5 17.8 61.2l104.4 84.8 22.1 96c3 12.9 15.9 21 28.8 18s21-15.9 18-28.8L488.6 384c-2-8.7-6.8-16.4-13.8-22.1l-50.1-40.7zm-101.1 21l-24.1 60.4L231 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l69.7-69.7c3.8-3.8 6.8-8.4 8.9-13.4l19.2-48-39-31.7zm-75.7-52c-7.6-4.4-17.4-1.8-21.9 5.8L203 335.9 147.7 304c-15.3-8.8-34.9-3.6-43.7 11.7L40 426.6c-8.8 15.3-3.6 34.9 11.7 43.7l55.4 32c15.3 8.8 34.9 3.6 43.7-11.7l64-110.9c.6-1 1.1-1.9 1.5-2.9L253.8 312c4.4-7.6 1.8-17.4-5.8-21.9z\"]\n};\nvar faCaravanSimple = {\n prefix: 'far',\n iconName: 'caravan-simple',\n icon: [640, 512, [\"caravan-alt\"], \"e000\", \"M80 80c-17.7 0-32 14.3-32 32V336c0 17.7 14.3 32 32 32h28.8c16.6-28.7 47.6-48 83.2-48s66.6 19.3 83.2 48H528V192c0-61.9-50.1-112-112-112H80zM96 416H80c-44.2 0-80-35.8-80-80V112C0 67.8 35.8 32 80 32H416c88.4 0 160 71.6 160 160V368l40 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-40 0H528 288c0 53-43 96-96 96s-96-43-96-96zm0-256c0-17.7 14.3-32 32-32H256c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32V160zm256-32h64c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H352c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32zM240 416a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nvar faCaravanAlt = faCaravanSimple;\nvar faTurtle = {\n prefix: 'far',\n iconName: 'turtle',\n icon: [576, 512, [128034], \"f726\", \"M336 240V208c0-70.7-57.3-128-128-128S80 137.3 80 208v32H336zm48-32v41.2c0 21.4-17.4 38.8-38.8 38.8H70.8C49.4 288 32 270.6 32 249.2V208c0-97.2 78.8-176 176-176s176 78.8 176 176zm96 80c-8.3 0-16.3-1.6-23.6-4.5C440.3 328 400.4 361 352 367v1 72c0 22.1-17.9 40-40 40H264c-22.1 0-40-17.9-40-40V368H192v72c0 22.1-17.9 40-40 40H104c-22.1 0-40-17.9-40-40V368H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H64h48 32 48 32 48 32 32c44.2 0 80-35.8 80-80V224 192 176c0-35.3 28.7-64 64-64c53 0 96 43 96 96v16c0 35.3-28.7 64-64 64H480zM272 368v64h32V368H272zm-160 0v64h32V368H112zM496 224a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faPencilMechanical = {\n prefix: 'far',\n iconName: 'pencil-mechanical',\n icon: [512, 512, [], \"e5ca\", \"M500.7 36.7L475.3 11.3C468.1 4.1 458.2 0 448 0s-20.1 4.1-27.3 11.3L389.5 42.5c-4.3-1.6-8.9-2.5-13.5-2.5c-10.2 0-20.1 4.1-27.3 11.3L317 83 287.6 53.7c-21.9-21.9-57.3-21.9-79.2 0L103 159c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L242.3 87.6c3.1-3.1 8.2-3.1 11.3 0L283 117 72.8 327.2C67 333 62.8 340.1 60.6 348L32.8 445.3 7 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l25.7-25.7L164 451.4c7.8-2.2 15-6.4 20.8-12.2L460.7 163.3c7.2-7.2 11.3-17.1 11.3-27.3c0-4.7-.8-9.3-2.5-13.5l31.1-31.1C507.9 84.1 512 74.2 512 64s-4.1-20.1-11.3-27.3zM376 91.9L420.1 136 183 373.1 138.9 329 376 91.9zM89.1 422.9l16.9-59 42.2 42.2-59 16.9z\"]\n};\nvar faUpDown = {\n prefix: 'far',\n iconName: 'up-down',\n icon: [256, 512, [8597, 11021, \"arrows-alt-v\"], \"f338\", \"M111.7 6.4c9.2-8.5 23.4-8.5 32.6 0l96.8 89.4c9.5 8.8 14.9 21.1 14.9 34c0 25.5-20.7 46.3-46.3 46.3H200V336h9.7c25.5 0 46.3 20.7 46.3 46.3c0 12.9-5.4 25.2-14.9 34l-96.8 89.4c-9.2 8.5-23.4 8.5-32.6 0L14.9 416.2C5.4 407.5 0 395.2 0 382.3C0 356.7 20.7 336 46.3 336H56V176H46.3C20.7 176 0 155.3 0 129.7c0-12.9 5.4-25.2 14.9-34L111.7 6.4zM50.7 128H80c13.3 0 24 10.7 24 24V360c0 13.3-10.7 24-24 24H50.7L128 455.3 205.3 384H176c-13.3 0-24-10.7-24-24V152c0-13.3 10.7-24 24-24h29.3L128 56.7 50.7 128zM47.4 381s0 0 0 0l-1.2 1.3 1.2-1.3 0 0z\"]\n};\nvar faArrowsAltV = faUpDown;\nvar faCloudMoonRain = {\n prefix: 'far',\n iconName: 'cloud-moon-rain',\n icon: [576, 512, [], \"f73c\", \"M353.7 107.6c35.4 17.6 60.2 53.3 62.1 95.1c23.2 11 42 29.7 53.1 52.7c4 .4 8.1 .6 12.3 .6c34.9 0 66.7-13.8 89.9-36.1c5.1-4.9 6.4-12.5 3.2-18.7s-10.1-9.7-17-8.6c-4.9 .8-10 1.3-15.2 1.3c-49 0-88.4-39.3-88.4-87.4c0-32.6 18-61.1 44.9-76.1c6.1-3.4 9.3-10.5 7.8-17.4s-7.3-12-14.3-12.6c-3.6-.3-7.3-.5-10.9-.5C417 0 363.5 46.5 353.7 107.6zM85.4 420.1c-11-7.4-25.9-4.4-33.3 6.7l-32 48c-7.4 11-4.4 25.9 6.7 33.3s25.9 4.4 33.3-6.7l32-48c7.4-11 4.4-25.9-6.7-33.3zm96 0c-11-7.4-25.9-4.4-33.3 6.7l-32 48c-7.4 11-4.4 25.9 6.7 33.3s25.9 4.4 33.3-6.7l32-48c7.4-11 4.4-25.9-6.7-33.3zm96 0c-11-7.4-25.9-4.4-33.3 6.7l-32 48c-7.4 11-4.4 25.9 6.7 33.3s25.9 4.4 33.3-6.7l32-48c7.4-11 4.4-25.9-6.7-33.3zm96 0c-11-7.4-25.9-4.4-33.3 6.7l-32 48c-7.4 11-4.4 25.9 6.7 33.3s25.9 4.4 33.3-6.7l32-48c7.4-11 4.4-25.9-6.7-33.3zM128.1 192c0-26.5 21.5-48 48-48c22.8 0 41.9 15.9 46.8 37.2c2.1 8.9 9 15.9 18 18s18.3-1.2 24.1-8.3c7.4-9.1 18.6-14.9 31.1-14.9c20.3 0 37.2 15.2 39.7 34.8c.1 .6 .2 1.2 .3 1.7v1.1c0 .3 0 .6 0 .9c0 .5 0 1 0 1.5s0 1 0 1.5c0 .3 0 .6 0 .9v30.2c0 7 3 13.6 8.3 18.1s12.2 6.6 19.1 5.6c1.5-.2 3-.3 4.6-.3c17.7 0 32 14.3 32 32s-14.3 32-32 32c-.4 0-.9 0-1.3 0c-.2 0-.4 0-.6 0c-.1 0-.2 0-.4 0H98.9c-.3 0-.6 0-.9 0c-.6 0-1.2 0-1.9 0c-26.5 0-48-21.5-48-48s21.5-48 48-48c1.4 0 2.7 .1 4 .2c13.2 1.1 24.8-8.7 25.9-21.9l2-23.8c.1-.8 .1-1.6 .1-2.5zm48-96c-52.6 0-95.4 42.4-96 94.8l-.2 2.5C34.6 201 .1 240.5 .1 288c0 53 43 96 96 96c1.1 0 2.2 0 3.2-.1h266c.9 0 1.8 0 2.7 0c44.2 0 80-35.8 80-80c0-38.7-27.5-71-64-78.4v-6.9c0-.9 0-1.8 0-2.7s0-1.8 0-2.7V208c0-2.9-.5-5.7-1.5-8.3c-7.7-40.8-43.4-71.7-86.5-71.7c-14.7 0-28.5 3.6-40.6 9.9C238.1 112.6 209.1 96 176.1 96z\"]\n};\nvar faBoothCurtain = {\n prefix: 'far',\n iconName: 'booth-curtain',\n icon: [512, 512, [], \"f734\", \"M56 48c-4.4 0-8 3.6-8 8V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V56C0 25.1 25.1 0 56 0h88V48H56zM416 0h40c30.9 0 56 25.1 56 56V96 392v96c0 13.3-10.7 24-24 24s-24-10.7-24-24V459.9c-7.5 2.7-15.6 4.1-24 4.1c-18.4 0-35.3-6.9-48-18.3c-12.7 11.4-29.6 18.3-48 18.3s-35.3-6.9-48-18.3c-12.7 11.4-29.6 18.3-48 18.3c-39.8 0-72-32.2-72-72V32c0-17.7 14.3-32 32-32h64 48 48 7.8H416zM368 48H320V392c0 13.3 10.7 24 24 24s24-10.7 24-24V48zm96 344V96 56c0-4.4-3.6-8-8-8H416V96 392c0 13.3 10.7 24 24 24s24-10.7 24-24zm-240 0c0 13.3 10.7 24 24 24s24-10.7 24-24V48H224V392z\"]\n};\nvar faCalendar = {\n prefix: 'far',\n iconName: 'calendar',\n icon: [448, 512, [128197, 128198], \"f133\", \"M152 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H64C28.7 64 0 92.7 0 128v16 48V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V192 144 128c0-35.3-28.7-64-64-64H344V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H152V24zM48 192H400V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V192z\"]\n};\nvar faBoxHeart = {\n prefix: 'far',\n iconName: 'box-heart',\n icon: [448, 512, [], \"f49d\", \"M248 80h94.4c6.3 0 12.1 3.7 14.6 9.5L388.4 160H248V80zM48 208H400V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V208zm152-48H59.6L91 89.5c2.6-5.8 8.3-9.5 14.6-9.5H200v80zM400.9 70c-10.3-23.1-33.2-38-58.5-38H105.6C80.3 32 57.4 46.9 47.1 70L5.5 163.6c-3.6 8.2-5.5 17-5.5 26V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V189.6c0-9-1.9-17.8-5.5-26L400.9 70zM212.7 404.7c6.2 6.2 16.4 6.2 22.6 0l77.3-77.3c20.5-20.5 20.5-53.8 0-74.3s-53.8-20.5-74.3 0L224 267.4l-14.3-14.3c-20.5-20.5-53.8-20.5-74.3 0s-20.5 53.8 0 74.3l77.3 77.3z\"]\n};\nvar faTrailer = {\n prefix: 'far',\n iconName: 'trailer',\n icon: [640, 512, [], \"e041\", \"M64 80H496c8.8 0 16 7.2 16 16V336H275.2c-16.6-28.7-47.6-48-83.2-48s-66.6 19.3-83.2 48H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16zM288 384H616c13.3 0 24-10.7 24-24s-10.7-24-24-24H560V96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V320c0 35.3 28.7 64 64 64H96c0 53 43 96 96 96s96-43 96-96zM136 112c-13.3 0-24 10.7-24 24v96c0 13.3 10.7 24 24 24s24-10.7 24-24V136c0-13.3-10.7-24-24-24zm96 0c-13.3 0-24 10.7-24 24v96c0 13.3 10.7 24 24 24s24-10.7 24-24V136c0-13.3-10.7-24-24-24zm96 0c-13.3 0-24 10.7-24 24V280c0 13.3 10.7 24 24 24s24-10.7 24-24V136c0-13.3-10.7-24-24-24zm96 0c-13.3 0-24 10.7-24 24V280c0 13.3 10.7 24 24 24s24-10.7 24-24V136c0-13.3-10.7-24-24-24zM144 384a48 48 0 1 1 96 0 48 48 0 1 1 -96 0z\"]\n};\nvar faUserDoctorMessage = {\n prefix: 'far',\n iconName: 'user-doctor-message',\n icon: [640, 512, [\"user-md-chat\"], \"f82e\", \"M144 128a80 80 0 1 0 160 0 80 80 0 1 0 -160 0zm80 128A128 128 0 1 1 224 0a128 128 0 1 1 0 256zm-48 96c-5.4 0-10.8 .3-16 1v49.3c23.1 6.9 40 28.3 40 53.7c0 30.9-25.1 56-56 56s-56-25.1-56-56c0-25.4 16.9-46.8 40-53.7v-41c-46.9 19-80 65-80 118.7v8c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8c0-97.2 78.8-176 176-176h96c97.2 0 176 78.8 176 176v8c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8c0-53.7-33.1-99.7-80-118.7V402c27.6 7.1 48 32.2 48 62v32c0 8.8-7.2 16-16 16H328c-8.8 0-16-7.2-16-16s7.2-16 16-16h8V464c0-17.7-14.3-32-32-32s-32 14.3-32 32v16h8c8.8 0 16 7.2 16 16s-7.2 16-16 16H256c-8.8 0-16-7.2-16-16V464c0-29.8 20.4-54.9 48-62V353c-5.2-.7-10.6-1-16-1H176zm-8 104a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM432 0H592c26.5 0 48 21.5 48 48V176c0 26.5-21.5 48-48 48H544l-83.2 62.4c-2.4 1.8-5.7 2.1-8.4 .8s-4.4-4.1-4.4-7.2V224H432c-26.5 0-48-21.5-48-48V48c0-26.5 21.5-48 48-48z\"]\n};\nvar faUserMdChat = faUserDoctorMessage;\nvar faBahai = {\n prefix: 'far',\n iconName: 'bahai',\n icon: [576, 512, [\"haykal\"], \"f666\", \"M288 0c10.9 0 20.4 7.3 23.2 17.8l28.1 105.3 89.2-62.6c8.9-6.2 20.9-5.7 29.2 1.3s10.9 18.7 6.3 28.6L417.8 189l108.6 9.4c10.8 .9 19.7 9 21.6 19.7s-3.7 21.3-13.5 25.9L435.6 290l77.2 77c7.7 7.7 9.3 19.6 3.8 29s-16.5 14-27 11.2L384.4 378.8 394 487.4c1 10.8-5.5 21-15.7 24.7s-21.7 .1-27.9-8.8L288 413.9l-62.4 89.4c-6.2 8.9-17.7 12.5-27.9 8.8s-16.7-13.8-15.7-24.7l9.6-108.6L86.4 407.2c-10.5 2.8-21.6-1.8-27-11.2s-3.9-21.3 3.8-29l77.2-77L41.5 244.1c-9.9-4.6-15.4-15.2-13.5-25.9s10.7-18.8 21.6-19.7L158.2 189 112 90.3c-4.6-9.8-2-21.6 6.3-28.6s20.3-7.5 29.2-1.3l89.2 62.6L264.8 17.8C267.6 7.3 277.1 0 288 0zm0 117.1l-13.7 51.6c-2 7.6-7.6 13.7-15 16.4s-15.6 1.6-22-2.9l-43.7-30.7 22.6 48.3c3.3 7.1 3 15.4-1 22.2s-10.9 11.2-18.7 11.9l-53.2 4.6L191.8 261c7.1 3.3 12.2 9.9 13.5 17.6s-1.1 15.6-6.7 21.2l-37.8 37.7 51.5-13.9c7.6-2 15.7-.2 21.7 4.8s9.2 12.7 8.5 20.5L237.8 402l30.6-43.7c4.5-6.4 11.8-10.3 19.7-10.3s15.2 3.8 19.7 10.3L338.2 402l-4.7-53.1c-.7-7.8 2.5-15.5 8.5-20.5s14.1-6.8 21.7-4.8l51.5 13.9-37.8-37.7c-5.5-5.5-8-13.4-6.7-21.2s6.4-14.3 13.5-17.6l48.4-22.5-53.2-4.6c-7.8-.7-14.8-5.1-18.7-11.9s-4.3-15.1-1-22.2l22.6-48.3-43.7 30.7c-6.4 4.5-14.6 5.6-22 2.9s-13-8.8-15-16.4L288 117.1z\"]\n};\nvar faHaykal = faBahai;\nvar faLighthouse = {\n prefix: 'far',\n iconName: 'lighthouse',\n icon: [640, 512, [], \"e612\", \"M33.5 1.9l112 48c12.2 5.2 17.8 19.3 12.6 31.5s-19.3 17.8-31.5 12.6l-112-48C2.4 40.8-3.3 26.7 1.9 14.5S21.3-3.3 33.5 1.9zm112 204.1l-112 48c-12.2 5.2-26.3-.4-31.5-12.6s.4-26.3 12.6-31.5l112-48c12.2-5.2 26.3 .4 31.5 12.6s-.4 26.3-12.6 31.5zM308.6 2.9c7.1-3.8 15.7-3.8 22.8 0l104 56c11.7 6.3 16 20.8 9.8 32.5c-5.7 10.6-18.2 15.1-29.1 11.3V128H368V77.1L320 51.3 272 77.1V128H224V102.6c-11 3.9-23.4-.7-29.1-11.3c-6.3-11.7-1.9-26.2 9.8-32.5l104-56zM263.4 208L212.2 464H288V416c0-17.7 14.3-32 32-32s32 14.3 32 32v48h75.8L376.6 208H263.4zM352 512H288 189.1 152c-13.3 0-24-10.7-24-24s10.7-24 24-24h11.2l51.2-256.1c-12.5-.8-22.4-11.2-22.4-23.9c0-13.3 10.7-24 24-24h8H416h8c13.3 0 24 10.7 24 24c0 12.7-9.9 23.1-22.4 23.9L476.8 464H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H450.9 352zM638.1 14.6c5.2 12.2-.4 26.3-12.6 31.5l-112 48c-12.2 5.2-26.3-.4-31.5-12.6s.4-26.3 12.6-31.5l112-48c12.2-5.2 26.3 .4 31.5 12.6zm-156.1 160c5.2-12.2 19.3-17.8 31.5-12.6l112 48c12.2 5.2 17.8 19.3 12.6 31.5s-19.3 17.8-31.5 12.6l-112-48c-12.2-5.2-17.8-19.3-12.6-31.5z\"]\n};\nvar faAmpGuitar = {\n prefix: 'far',\n iconName: 'amp-guitar',\n icon: [512, 512, [], \"f8a1\", \"M256 0c-48.9 0-92.5 28.8-121.6 53.8c-10.7 9.2-20 18.3-27.5 26.2H64C28.7 80 0 108.7 0 144v80 24 24V448c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V272 248 224 144c0-35.3-28.7-64-64-64H405.1c-7.5-7.9-16.8-17.1-27.5-26.2C348.5 28.8 304.9 0 256 0zm0 48c26.4 0 53.6 13.8 77.7 32H178.3c24.1-18.2 51.4-32 77.7-32zM464 272V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V272H464zm0-48H48V144c0-8.8 7.2-16 16-16H448c8.8 0 16 7.2 16 16v80zM112 200a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm104-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm104 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm104-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM384 304a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm-32 48a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm32 48a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm-96-48a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm32-48a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm0 96a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm-96-48a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm32-48a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm0 96a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm-96-48a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm32-48a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm0 96a16 16 0 1 0 0 32 16 16 0 1 0 0-32zM96 352a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm32-48a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm0 96a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm288-48a16 16 0 1 0 0 32 16 16 0 1 0 0-32z\"]\n};\nvar faSdCard = {\n prefix: 'far',\n iconName: 'sd-card',\n icon: [384, 512, [], \"f7c2\", \"M336 64V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V154.5c0-4.2 1.7-8.3 4.7-11.3l90.5-90.5c3-3 7.1-4.7 11.3-4.7H320c8.8 0 16 7.2 16 16zm48 384V64c0-35.3-28.7-64-64-64H154.5c-17 0-33.3 6.7-45.3 18.7L18.7 109.3C6.7 121.3 0 137.5 0 154.5V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64zM176 96c0-8.8-7.2-16-16-16s-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V96zm64 0c0-8.8-7.2-16-16-16s-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V96zm64 0c0-8.8-7.2-16-16-16s-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V96z\"]\n};\nvar faVolumeSlash = {\n prefix: 'far',\n iconName: 'volume-slash',\n icon: [640, 512, [128263], \"f2e2\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L525.1 386.2C556.7 352 576 306.3 576 256c0-60.1-27.7-113.8-70.9-149c-10.3-8.4-25.4-6.8-33.8 3.5s-6.8 25.4 3.5 33.8C507.3 170.7 528 210.9 528 256c0 39.1-15.6 74.5-40.9 100.5L449 326.6c19-17.5 31-42.7 31-70.6c0-30.1-13.9-56.9-35.4-74.5c-10.3-8.4-25.4-6.8-33.8 3.5s-6.8 25.4 3.5 33.8C425.1 227.6 432 241 432 256s-6.9 28.4-17.7 37.3c-1.3 1-2.4 2.2-3.4 3.4L352 250.6V61.8C352 45.3 338.7 32 322.2 32c-7.3 0-14.3 2.7-19.8 7.5L199.5 131 38.8 5.1zm199.1 156L304 102.3V213l-66.1-51.8zM32 216v80c0 30.9 25.1 56 56 56h78.9L302.4 472.5c5.5 4.8 12.5 7.5 19.8 7.5c16.5 0 29.8-13.3 29.8-29.8V373.3l-48-37.8v74.2L191.9 310.1c-4.4-3.9-10.1-6.1-15.9-6.1H88c-4.4 0-8-3.6-8-8V216c0-4.4 3.6-8 8-8h54.2L81.7 160.4C53.7 163.5 32 187.2 32 216z\"]\n};\nvar faBorderBottom = {\n prefix: 'far',\n iconName: 'border-bottom',\n icon: [448, 512, [], \"f84d\", \"M448 456c0 13.3-10.7 24-24 24L24 480c-13.3 0-24-10.7-24-24s10.7-24 24-24l400 0c13.3 0 24 10.7 24 24zM384 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM64 352A32 32 0 1 1 0 352a32 32 0 1 1 64 0zm128 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM448 160a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM0 160a32 32 0 1 1 64 0A32 32 0 1 1 0 160zm256 0a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm128 96a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM64 256A32 32 0 1 1 0 256a32 32 0 1 1 64 0zm128 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM448 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM0 64a32 32 0 1 1 64 0A32 32 0 1 1 0 64zm256 0a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm32 192a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM352 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM96 64a32 32 0 1 1 64 0A32 32 0 1 1 96 64zm64 192a32 32 0 1 1 -64 0 32 32 0 1 1 64 0z\"]\n};\nvar faWifiWeak = {\n prefix: 'far',\n iconName: 'wifi-weak',\n icon: [640, 512, [\"wifi-1\"], \"f6aa\", \"M264 424a56 56 0 1 1 112 0 56 56 0 1 1 -112 0z\"]\n};\nvar faWifi1 = faWifiWeak;\nvar faDragon = {\n prefix: 'far',\n iconName: 'dragon',\n icon: [640, 512, [128009], \"f6d5\", \"M273 17c3.1-10.1 12.4-17 23-17H424h24 27.8c35 0 68.3 15.3 91.1 41.9l56 65.4c11 12.8 17 29.1 17 46c0 39.1-31.7 70.7-70.7 70.7H546.5c-23.3 0-45.7-9.3-62.2-25.8l-3.9-3.9c1.7 12.7 8.4 24.3 18.8 32L592 296c30.2 22.7 48 58.2 48 96c0 66.3-53.7 120-120 120H432 56.5C27.7 512.3 3 490.4 .2 461.3c-2.9-30.8 19.7-58.1 50.5-61l345.6-32.6-12-13.1C353.3 320.6 336 276.2 336 230.2V188.1v0l0-.1v0l0-32-49.7-22.1c-8.3-3.7-13.8-11.8-14.2-20.9s4.4-17.6 12.3-22l37.6-20.9L282.7 44C273.9 38.1 270 27.2 273 17zM375.3 48l6 4c7 4.6 11 12.6 10.7 20.9s-5 15.9-12.3 20l-29.9 16.6 20 8.9c8.7 3.9 14.3 12.4 14.3 21.9l0 47.5v0l0 .1v0 42.1c0 34 12.8 66.8 35.7 91.9l44.6 48.7c6.2 6.7 8 16.3 4.7 24.8s-11.1 14.4-20.1 15.3L55.2 448c-4.4 .4-7.6 4.3-7.2 8.7c.4 4.2 3.9 7.3 8 7.3l.3 0v0H432h88c39.8 0 72-32.2 72-72c0-22.7-10.7-44-28.8-57.6l-92.8-69.6C446.2 246.7 432 218.2 432 188V168c0-13.3 10.7-24 24-24h32c6.4 0 12.5 2.5 17 7l13.3 13.3c7.5 7.5 17.7 11.7 28.3 11.7h22.8c12.5 0 22.7-10.2 22.7-22.7c0-5.4-1.9-10.7-5.5-14.8l-56-65.4C516.8 57.2 496.9 48 475.8 48H448 424 375.3zM514.6 95.2c-1.8 2.2-4 4.1-6.6 5.6c-11.5 6.6-26.2 2.7-32.8-8.8c-1.3-2.3-2.2-4.8-2.7-7.3c-.9-4.6 3.7-7.7 8.3-6.5l29.6 7.4c4.5 1.1 7.2 6 4.2 9.6zM520 79.5v.9c0-.3 0-.6 0-.9zM189.4 112.4L304 188.8v41.4c0 31.2 6.8 61.8 19.5 89.8H112c-6.7 0-12.7-4.2-15-10.4s-.5-13.3 4.6-17.7L171 232.3 18.4 255.8c-7 1.1-13.9-2.6-16.9-9s-1.5-14.1 3.8-18.8L130.9 116.5c16.3-14.5 40.4-16.2 58.5-4.1z\"]\n};\nvar faShoePrints = {\n prefix: 'far',\n iconName: 'shoe-prints',\n icon: [640, 512, [], \"f54b\", \"M323.7 62.6C355.1 54.7 390.3 48 416 48c41.2 0 89.8 10.6 126.5 28.9C582 96.7 592 116.3 592 128c0 9.4-5.1 21.5-35.9 33.1c-29.4 11.1-67 14.9-92.1 14.9c-34.7 0-53.5-10.4-80.2-25.7l-.7-.4c-20.6-11.8-45.1-25.8-79.1-33V67.8c6-1.7 12.7-3.4 19.7-5.2zM256 160c48 0 76 16 104 32s56 32 104 32c56.4 0 176-16 176-96S512 0 416 0C352.3 0 256 32 256 32v80 48h0zM128 96c0 35.3 28.7 64 64 64h32V32H192c-35.3 0-64 28.7-64 64zm67.7 353.4c-7-1.8-13.7-3.5-19.7-5.2V395.1c34-7.3 58.5-21.3 79.1-33l.7-.4C282.5 346.4 301.3 336 336 336c25.2 0 62.7 3.7 92.1 14.9C458.9 362.5 464 374.6 464 384c0 11.7-10 31.3-49.5 51.1C377.8 453.4 329.2 464 288 464c-25.7 0-60.9-6.7-92.3-14.6zM128 352h0v48 80s96.3 32 160 32c96 0 224-48 224-128s-119.6-96-176-96c-48 0-76 16-104 32s-56 32-104 32zM0 416c0 35.3 28.7 64 64 64H96V352H64c-35.3 0-64 28.7-64 64z\"]\n};\nvar faCirclePlus = {\n prefix: 'far',\n iconName: 'circle-plus',\n icon: [512, 512, [\"plus-circle\"], \"f055\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM232 344c0 13.3 10.7 24 24 24s24-10.7 24-24V280h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H280V168c0-13.3-10.7-24-24-24s-24 10.7-24 24v64H168c-13.3 0-24 10.7-24 24s10.7 24 24 24h64v64z\"]\n};\nvar faPlusCircle = faCirclePlus;\nvar faFaceGrinTongueWink = {\n prefix: 'far',\n iconName: 'face-grin-tongue-wink',\n icon: [512, 512, [128540, \"grin-tongue-wink\"], \"f58b\", \"M348.3 442.4c2.4-8.4 3.7-17.3 3.7-26.4V363.5c8.8-8 16.6-17.1 23-27c10.4-16.1-6.8-32.5-25.5-28.1c-28.9 6.8-60.5 10.5-93.6 10.5s-64.7-3.7-93.6-10.5c-18.7-4.4-35.9 12-25.5 28.1c6.5 10 14.3 19.1 23.1 27.1V416c0 9.2 1.3 18 3.7 26.4C95.1 408.4 48 337.7 48 256C48 141.1 141.1 48 256 48s208 93.1 208 208c0 81.7-47.1 152.4-115.7 186.4zM256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM159.6 220c10.6 0 19.9 3.8 25.4 9.7c7.6 8.1 20.2 8.5 28.3 .9s8.5-20.2 .9-28.3C199.7 186.8 179 180 159.6 180s-40.1 6.8-54.6 22.3c-7.6 8.1-7.1 20.7 .9 28.3s20.7 7.1 28.3-.9c5.5-5.8 14.8-9.7 25.4-9.7zm176.7 12a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm-.4-72a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm0 128a80 80 0 1 0 0-160 80 80 0 1 0 0 160zM320 416c0 35.3-28.7 64-64 64s-64-28.7-64-64V378.6c0-14.7 11.9-26.6 26.6-26.6h2c11.3 0 21.1 7.9 23.6 18.9c2.8 12.6 20.8 12.6 23.6 0c2.5-11.1 12.3-18.9 23.6-18.9h2c14.7 0 26.6 11.9 26.6 26.6V416z\"]\n};\nvar faGrinTongueWink = faFaceGrinTongueWink;\nvar faHandHolding = {\n prefix: 'far',\n iconName: 'hand-holding',\n icon: [576, 512, [], \"f4bd\", \"M165.2 358.7c6.6-4.4 14.3-6.7 22.2-6.7H344c8.8 0 16 7.2 16 16s-7.2 16-16 16H320 256c-13.3 0-24 10.7-24 24s10.7 24 24 24h64 24 48c4.4 0 8.8-1.2 12.6-3.6l93.5-57.5c3.1-1.9 6.7-2.9 10.3-2.9h7.4c6.8 0 12.3 5.5 12.3 12.3c0 4.2-2.1 8-5.6 10.3l-95.6 61.9C415.1 460 401.5 464 387.7 464H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H387.7c23.1 0 45.8-6.7 65.2-19.3l95.6-61.9c17.2-11.1 27.5-30.2 27.5-50.6c0-33.3-27-60.3-60.3-60.3h-7.4c-12.5 0-24.8 3.5-35.5 10L408 370c0-.7 0-1.3 0-2c0-35.3-28.7-64-64-64H187.4c-17.4 0-34.4 5.1-48.8 14.8L64.7 368H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H72c4.7 0 9.4-1.4 13.3-4l79.9-53.3z\"]\n};\nvar faPlugCircleExclamation = {\n prefix: 'far',\n iconName: 'plug-circle-exclamation',\n icon: [576, 512, [], \"e55d\", \"M128 24c0-13.3-10.7-24-24-24S80 10.7 80 24v88h48V24zm176 0c0-13.3-10.7-24-24-24s-24 10.7-24 24v88h48V24zM24 144c-13.3 0-24 10.7-24 24s10.7 24 24 24h8v64c0 80.2 59 146.6 136 158.2V488c0 13.3 10.7 24 24 24s24-10.7 24-24V414.2c15.2-2.3 29.7-6.7 43.1-12.9c-2.1-10.8-3.1-21.9-3.1-33.3c0-7.1 .4-14.1 1.2-20.9C238.9 360.2 216.3 368 192 368c-61.9 0-112-50.1-112-112V192H304v55.2c13.8-14.6 30-26.8 48-36V192h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8H304 80 32 24zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-144c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V288c0-8.8 7.2-16 16-16z\"]\n};\nvar faLinkSlash = {\n prefix: 'far',\n iconName: 'link-slash',\n icon: [640, 512, [\"chain-broken\", \"chain-slash\", \"unlink\"], \"f127\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L489.3 358.2l91-91c56.2-56.2 56.2-147.3 0-203.5C526.8 10.2 440.9 7.3 383.9 57.2l-6.1 5.4c-10 8.7-11 23.9-2.3 33.9s23.9 11 33.9 2.3l6.1-5.4c38-33.2 95.2-31.3 130.9 4.4c37.4 37.4 37.4 98.1 0 135.6l-95.1 95.1-45.5-35.7c24.2-53.3 14.1-117.9-29.3-161.3c-52.1-52.1-134.4-55.9-190.8-11.2L38.8 5.1zm186.3 146c36.9-22.3 85.6-17.6 117.4 14.3c26 26 34 63.3 23.7 96.4L225.1 151.1zM352.6 373.8c-20.2-2.7-39.7-11.7-55.2-27.3c-9.8-9.8-17-21.2-21.7-33.3l-54.2-42.7c-2.2 39.6 11.9 79.9 41.9 109.9c38.8 38.8 94.2 50.8 143.4 36l-54.2-42.7zm-236-186L59.7 244.8C3.5 301 3.5 392.1 59.7 448.2c53.6 53.6 139.5 56.4 196.5 6.5l6.1-5.4c10-8.7 11-23.9 2.3-33.9s-23.9-11-33.9-2.3l-6.1 5.4c-38 33.2-95.2 31.3-130.9-4.4c-37.4-37.4-37.4-98.1 0-135.6l60.9-60.9-38-29.9z\"]\n};\nvar faChainBroken = faLinkSlash;\nvar faChainSlash = faLinkSlash;\nvar faUnlink = faLinkSlash;\nvar faClone = {\n prefix: 'far',\n iconName: 'clone',\n icon: [512, 512, [], \"f24d\", \"M64 464H288c8.8 0 16-7.2 16-16V384h48v64c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V224c0-35.3 28.7-64 64-64h64v48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16zM224 304H448c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H224c-8.8 0-16 7.2-16 16V288c0 8.8 7.2 16 16 16zm-64-16V64c0-35.3 28.7-64 64-64H448c35.3 0 64 28.7 64 64V288c0 35.3-28.7 64-64 64H224c-35.3 0-64-28.7-64-64z\"]\n};\nvar faPersonWalkingArrowLoopLeft = {\n prefix: 'far',\n iconName: 'person-walking-arrow-loop-left',\n icon: [640, 512, [], \"e551\", \"M208 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM141.8 266.6l29.9-89.8c7.7 1.2 15 3.6 21.7 7.1c-.1 .3-.2 .7-.3 1L160.7 288.6l-16.4-13.3c-2.6-2.1-3.6-5.6-2.5-8.7zm59 54.6l28.5-91.3 10.5 36.7c1.9 6.5 5.4 12.5 10.2 17.3L279 313c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-27.6-27.6-10.9-38.1C260.1 162.8 213.9 128 161.3 128h-4.9c-16.1 0-32.1 2.6-47.4 7.7C69.1 149 36.6 178.5 19.5 217l-9.5 21.3c-5.4 12.1 .1 26.3 12.2 31.7s26.3-.1 31.7-12.2l9.5-21.3C74.3 212 94.3 192.9 119 183.1L96.2 251.4c-7.4 22.1-.3 46.5 17.8 61.2l104.4 84.8 22.1 96c3 12.9 15.9 21 28.8 18s21-15.9 18-28.8L264.6 384c-2-8.7-6.8-16.4-13.8-22.1l-50.1-40.7zm-101.1 21L75.5 402.5 7 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l69.7-69.7c3.8-3.8 6.8-8.4 8.9-13.4l19.2-48-39-31.7zM447 449c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-39-39H484c86.2 0 156-69.8 156-156s-69.8-156-156-156L344 64c-13.3 0-24 10.7-24 24s10.7 24 24 24l140 0c59.6 0 108 48.4 108 108s-48.4 108-108 108H441.9l39-39c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-80 80c-9.4 9.4-9.4 24.6 0 33.9l80 80z\"]\n};\nvar faArrowUpZA = {\n prefix: 'far',\n iconName: 'arrow-up-z-a',\n icon: [576, 512, [\"sort-alpha-up-alt\"], \"f882\", \"M352 32H480c9.4 0 18 5.5 21.9 14.2s2.3 18.7-4 25.8L405.4 176H480c13.3 0 24 10.7 24 24s-10.7 24-24 24H352c-9.4 0-18-5.5-21.9-14.2s-2.3-18.7 4-25.8L426.6 80H352c-13.3 0-24-10.7-24-24s10.7-24 24-24zM143 39c9.4-9.4 24.6-9.4 33.9 0l96 96c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-55-55V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V113.9L81 169c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l96-96zM416 272c9.1 0 17.4 5.1 21.5 13.3l80 160c5.9 11.9 1.1 26.3-10.7 32.2s-26.3 1.1-32.2-10.7l-13.6-27.2c-1.6 .3-3.2 .5-4.9 .5H370.8l-13.4 26.7c-5.9 11.9-20.3 16.7-32.2 10.7s-16.7-20.3-10.7-32.2l80-160c4.1-8.1 12.4-13.3 21.5-13.3zM394.8 392h42.3L416 349.7 394.8 392z\"]\n};\nvar faSortAlphaUpAlt = faArrowUpZA;\nvar faFireFlameCurved = {\n prefix: 'far',\n iconName: 'fire-flame-curved',\n icon: [384, 512, [\"fire-alt\"], \"f7e4\", \"M53.9 186.1C19.4 220.6 0 267.4 0 316.2l0 11.5C0 429.5 82.5 512 184.3 512l15.1 0C301.4 512 384 429.4 384 327.4c0-66.1-27.1-129.2-74.9-174.8L225.9 73.5c-6.3-6-9.9-14.4-9.9-23.2l0-13 0-16C216 9.6 206.4 0 194.7 0c-6.7 0-13 3.2-17.1 8.5L168 21.3l-9.9 13.2c-14.4 19.3-23.2 42.2-25.2 66.2l-.9 10.8c-.3 3.9-.5 7.8-.4 11.7c.2 22.9 6.6 45.4 18.4 65c2.2 3.7 4.6 7.2 7.2 10.6L168 213.3l21.2 28.3c7 9.3 10.8 20.7 10.8 32.4l0 14c0 22.1-17.9 40-40 40s-40-17.9-40-40l0-58.7 0-2.5 0-38.5c0-15.6-12.7-28.3-28.3-28.3c-1.3 0-2.6 .1-3.9 .3c-6 .8-11.7 3.6-16.1 8L53.9 186.1zm18.1 53L72 288c0 48.6 39.4 88 88 88s88-39.4 88-88l0-14c0-22.1-7.2-43.5-20.4-61.2l-32-42.7c-11.8-15.7-17.4-35.1-15.7-54.6l.9-10.8c.3-3.1 .7-6.1 1.3-9.1c3.1 4.5 6.7 8.8 10.8 12.6L276 187.4c38.3 36.5 60 87.1 60 140C336 402.9 274.9 464 199.4 464l-15.1 0C109 464 48 403 48 327.7l0-11.5c0-27.7 8.5-54.6 24-77.2z\"]\n};\nvar faFireAlt = faFireFlameCurved;\nvar faTornado = {\n prefix: 'far',\n iconName: 'tornado',\n icon: [448, 512, [127786], \"f76f\", \"M332.4 48H48c.3 28 6.3 55.1 17 80H304.1c-.1-1.8-.1-3.6-.1-5.4C304 95 314.2 68.5 332.4 48zM317.5 176H94c15.5 19.3 34.6 35.9 56.6 48.9L203.5 256H376l-49.6-66.1c-3.3-4.4-6.3-9.1-8.9-13.9zm80.9 128H282.9c19.9 15.1 36.1 34.6 47.3 57c8.9 17.8 14.4 37 16.4 56.5l23.6-23.6c19.1-19.1 29.8-45 29.8-72c0-6-.5-12.1-1.6-17.9zm5.7 123.9L340 492l-.4 .4L336 496l-10.1 10.1c-3.8 3.8-8.9 5.9-14.2 5.9c-12.4 0-21.8-11.1-19.8-23.4l2.4-14.1 .8-5 .1-.5 2.7-16c4-24 .3-48.7-10.6-70.5c-10-19.9-25.5-36.5-44.6-47.8L126.2 266.2C48 220.2 0 136.3 0 45.6V32C0 14.3 14.3 0 32 0H393.4C405.9 0 416 10.1 416 22.6c0 6-2.4 11.8-6.6 16L370.8 77.2c-12 12-18.8 28.4-18.8 45.4c0 13.9 4.5 27.4 12.8 38.5L418 232c19.4 25.9 30 57.5 30 89.9c0 39.7-15.8 77.8-43.9 105.9z\"]\n};\nvar faFileCirclePlus = {\n prefix: 'far',\n iconName: 'file-circle-plus',\n icon: [576, 512, [58606], \"e494\", \"M64 464H284.5c12 18.4 27.4 34.5 45.3 47.3c-3.2 .5-6.4 .7-9.7 .7H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3v44.1c-17.2 4.9-33.4 12.3-48 21.8V160H256c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16zM432 224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm16 80c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H368c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v48c0 8.8 7.2 16 16 16s16-7.2 16-16V384h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H448V304z\"]\n};\nvar faDeleteRight = {\n prefix: 'far',\n iconName: 'delete-right',\n icon: [576, 512, [], \"e154\", \"M370.7 64c17 0 33.3 6.7 45.3 18.7L566.6 233.4c6 6 9.4 14.1 9.4 22.6s-3.4 16.6-9.4 22.6L416 429.3c-12 12-28.3 18.7-45.3 18.7H64c-35.3 0-64-28.7-64-64V128C0 92.7 28.7 64 64 64H370.7zM48 128V384c0 8.8 7.2 16 16 16H370.7c4.2 0 8.3-1.7 11.3-4.7L521.4 256 382.1 116.7c-3-3-7.1-4.7-11.3-4.7H64c-8.8 0-16 7.2-16 16zm95 47c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faBookQuran = {\n prefix: 'far',\n iconName: 'book-quran',\n icon: [448, 512, [\"quran\"], \"f687\", \"M360 0c48.6 0 88 39.4 88 88V424h-.4c.3 2.6 .4 5.3 .4 8c0 44.2-35.8 80-80 80H24c-13.3 0-24-10.7-24-24s10.7-24 24-24h8V394.6c-18.9-9-32-28.3-32-50.6V56C0 25.1 25.1 0 56 0H360zM80 400v64H368c17.7 0 32-14.3 32-32s-14.3-32-32-32H80zm288-48c11.4 0 22.2 2.4 32 6.7V88c0-22.1-17.9-40-40-40H56c-4.4 0-8 3.6-8 8V344c0 4.4 3.6 8 8 8H368zM282.1 150.2c2.2-5.3 9.6-5.3 11.8 0l8.9 21.4 23.1 1.9c5.7 .5 8 7.5 3.7 11.2L312 199.8l5.4 22.6c1.3 5.5-4.7 9.9-9.6 6.9L288 217.2l-19.8 12.1c-4.9 3-10.9-1.4-9.6-6.9l5.4-22.6-17.6-15.1c-4.3-3.7-2-10.8 3.7-11.2l23.1-1.9 8.9-21.4zm-24.6-45.6c4.1 1.8 6.5 5.9 6.5 10.3c0 7.6-7.1 13.2-14.7 13.1c-.4 0-.8 0-1.3 0c-39.8 0-72 32.2-72 72s32.2 72 72 72c.4 0 .8 0 1.3 0c7.6-.1 14.7 5.5 14.7 13.1c0 4.4-2.4 8.5-6.5 10.3c-12.7 5.5-26.8 8.6-41.5 8.6c-57.4 0-104-46.6-104-104s46.6-104 104-104c14.8 0 28.8 3.1 41.5 8.6z\"]\n};\nvar faQuran = faBookQuran;\nvar faCircleQuarter = {\n prefix: 'far',\n iconName: 'circle-quarter',\n icon: [512, 512, [], \"e11f\", \"M208 53.6V208L53.6 208C71.6 131.7 131.7 71.6 208 53.6zM2 224.1C-.2 241.6 14.3 256 32 256l192 0c17.7 0 32-14.3 32-32V32c0-17.7-14.4-32.2-31.9-30C108.2 16.4 16.4 108.2 2 224.1z\"]\n};\nvar faAnchor = {\n prefix: 'far',\n iconName: 'anchor',\n icon: [576, 512, [9875], \"f13d\", \"M320 80a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM288 0c-44.2 0-80 35.8-80 80c0 35.9 23.7 66.3 56.3 76.4c-.2 1.2-.3 2.4-.3 3.6v32H216c-13.3 0-24 10.7-24 24s10.7 24 24 24h48V464H240c-73.7 0-133.7-58.6-135.9-131.8l16.3 14c10.1 8.6 25.2 7.5 33.8-2.6s7.5-25.2-2.6-33.8l-56-48c-9-7.7-22.3-7.7-31.2 0l-56 48c-10.1 8.6-11.2 23.8-2.6 33.8s23.8 11.2 33.8 2.6L56 332.1C58.2 431.8 139.8 512 240 512h48 48c100.2 0 181.8-80.2 184-179.9l16.4 14.1c10.1 8.6 25.2 7.5 33.8-2.6s7.5-25.2-2.6-33.8l-56-48c-9-7.7-22.2-7.7-31.2 0l-56 48c-10.1 8.6-11.2 23.8-2.6 33.8s23.8 11.2 33.8 2.6l16.3-14C469.7 405.4 409.7 464 336 464H312V240h48c13.3 0 24-10.7 24-24s-10.7-24-24-24H312V160c0-1.2-.1-2.4-.3-3.6C344.3 146.3 368 115.9 368 80c0-44.2-35.8-80-80-80z\"]\n};\nvar faBorderAll = {\n prefix: 'far',\n iconName: 'border-all',\n icon: [448, 512, [], \"f84c\", \"M384 80c8.8 0 16 7.2 16 16V232H248V80H384zm16 200V416c0 8.8-7.2 16-16 16H248V280H400zM200 232H48V96c0-8.8 7.2-16 16-16H200V232zM48 280H200V432H64c-8.8 0-16-7.2-16-16V280zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64z\"]\n};\nvar faFunction = {\n prefix: 'far',\n iconName: 'function',\n icon: [640, 512, [], \"f661\", \"M72 88c0-48.6 39.4-88 88-88h40c13.3 0 24 10.7 24 24s-10.7 24-24 24H160c-22.1 0-40 17.9-40 40V192h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H120V390.7c0 44.8-33.7 82.5-78.3 87.5l-15.1 1.7c-13.2 1.5-25-8-26.5-21.2s8-25 21.2-26.5l15.1-1.7C56.7 428.2 72 411.1 72 390.7V240H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H72V88zm244.3 76.8C288.4 209.1 272 262.5 272 320s16.4 110.9 44.3 155.2c7.1 11.2 3.7 26-7.5 33.1s-26 3.7-33.1-7.5C243 448.9 224 386.7 224 320s19-128.9 51.7-180.8c7.1-11.2 21.9-14.6 33.1-7.5s14.6 21.9 7.5 33.1zm231.4 0c-7.1-11.2-3.7-26 7.5-33.1s26-3.7 33.1 7.5C621 191.1 640 253.3 640 320s-19 128.9-51.7 180.8c-7.1 11.2-21.9 14.6-33.1 7.5s-14.6-21.9-7.5-33.1C575.6 430.9 592 377.5 592 320s-16.4-110.9-44.3-155.2zM393 247l39 39 39-39c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-39 39 39 39c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-39-39-39 39c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l39-39-39-39c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0z\"]\n};\nvar faFaceAngry = {\n prefix: 'far',\n iconName: 'face-angry',\n icon: [512, 512, [128544, \"angry\"], \"f556\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm72.4-118.5c9.7-9 10.2-24.2 1.2-33.9C315.3 344.3 290.6 328 256 328s-59.3 16.3-73.5 31.6c-9 9.7-8.5 24.9 1.2 33.9s24.9 8.5 33.9-1.2c7.4-7.9 20-16.4 38.5-16.4s31.1 8.5 38.5 16.4c9 9.7 24.2 10.2 33.9 1.2zM176.4 272c17.7 0 32-14.3 32-32c0-1.5-.1-3-.3-4.4l10.9 3.6c8.4 2.8 17.4-1.7 20.2-10.1s-1.7-17.4-10.1-20.2l-96-32c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2l30.7 10.2c-5.8 5.8-9.3 13.8-9.3 22.6c0 17.7 14.3 32 32 32zm192-32c0-8.9-3.6-17-9.5-22.8l30.2-10.1c8.4-2.8 12.9-11.9 10.1-20.2s-11.9-12.9-20.2-10.1l-96 32c-8.4 2.8-12.9 11.9-10.1 20.2s11.9 12.9 20.2 10.1l11.7-3.9c-.2 1.5-.3 3.1-.3 4.7c0 17.7 14.3 32 32 32s32-14.3 32-32z\"]\n};\nvar faAngry = faFaceAngry;\nvar faPeopleSimple = {\n prefix: 'far',\n iconName: 'people-simple',\n icon: [512, 512, [], \"e21b\", \"M192 64A64 64 0 1 0 64 64a64 64 0 1 0 128 0zM105.6 208h44.8c16.6 0 30.5 12.8 31.9 29.3l4.1 49.3c.8 9.3-6.6 17.3-15.9 17.3H168 88 85.6c-9.4 0-16.7-8-15.9-17.3l4.1-49.3C75.1 220.8 89 208 105.6 208zM144 352V488c0 13.3 10.7 24 24 24s24-10.7 24-24V348.3c26.5-9.5 44.7-35.8 42.2-65.6l-4.1-49.3C226.7 191.9 192 160 150.4 160H105.6c-41.6 0-76.3 31.9-79.7 73.4l-4.1 49.3c-2.5 29.8 15.7 56.1 42.2 65.6V488c0 13.3 10.7 24 24 24s24-10.7 24-24V352h32zM448 64A64 64 0 1 0 320 64a64 64 0 1 0 128 0zM368.3 208h31.4c7.1 0 13.4 4.7 15.4 11.6L448.4 336H319.6l33.3-116.4c2-6.9 8.2-11.6 15.4-11.6zm0-48c-28.6 0-53.7 18.9-61.5 46.4L267.7 343.2c-5.8 20.4 9.5 40.8 30.8 40.8H320V488c0 13.3 10.7 24 24 24s24-10.7 24-24V384h32V488c0 13.3 10.7 24 24 24s24-10.7 24-24V384h21.6c21.3 0 36.6-20.3 30.8-40.8L461.3 206.4c-7.8-27.5-33-46.4-61.5-46.4H368.3z\"]\n};\nvar faCookieBite = {\n prefix: 'far',\n iconName: 'cookie-bite',\n icon: [512, 512, [], \"f564\", \"M182.8 28.4l-74 39.5C89.1 78.4 73.2 94.9 63.4 115L26.7 190.6c-9.8 20.1-13 42.9-9.1 64.9l14.5 82.8c3.9 22.1 14.6 42.3 30.7 57.9l60.3 58.4c16.1 15.6 36.6 25.6 58.7 28.7l83 11.7c22.1 3.1 44.6-.9 64.4-11.4l74-39.5c19.7-10.5 35.6-27 45.4-47.2l36.7-75.5c9.8-20.1 13-42.9 9.1-64.9c-.9-5.3-5.3-9.3-10.6-10.1c-51.5-8.2-92.8-47.1-104.5-97.4c-1.8-7.6-8-13.4-15.7-14.6c-54.6-8.7-97.7-52-106.2-106.8c-.8-5.4-4.9-9.8-10.3-10.6c-22.1-3.1-44.6 .9-64.4 11.4zm34.9 37.5c19 54.5 63.9 96.7 120 111.9c17.7 50.9 58.1 91.1 109.1 108.7c-1 4.8-2.5 9.5-4.7 13.9L405.4 376c-5.4 11-14.1 20.1-24.8 25.8l-74 39.5c-10.8 5.7-23 7.9-35.1 6.2l-83-11.7c-12-1.7-23.3-7.2-32-15.7l-29.7 30.7 29.7-30.7L96.2 361.7c-8.8-8.5-14.7-19.6-16.8-31.7L64.9 247.2c-2.1-12.1-.4-24.6 5-35.6L106.6 136c5.4-11 14.1-20.1 24.8-25.8l74-39.5c3.9-2.1 8.1-3.7 12.4-4.9zM192 192a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm0 192a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM320 256a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm32 128a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faArrowTrendDown = {\n prefix: 'far',\n iconName: 'arrow-trend-down',\n icon: [576, 512, [], \"e097\", \"M352 392c0 13.3 10.7 24 24 24H552c13.3 0 24-10.7 24-24V216c0-13.3-10.7-24-24-24s-24 10.7-24 24V334.1L337 143c-9.4-9.4-24.6-9.4-33.9 0l-111 111L41 103c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9L175 305c9.4 9.4 24.6 9.4 33.9 0l111-111L494.1 368H376c-13.3 0-24 10.7-24 24z\"]\n};\nvar faRss = {\n prefix: 'far',\n iconName: 'rss',\n icon: [448, 512, [\"feed\"], \"f09e\", \"M0 56C0 42.7 10.7 32 24 32c234.2 0 424 189.8 424 424c0 13.3-10.7 24-24 24s-24-10.7-24-24C400 248.3 231.7 80 24 80C10.7 80 0 69.3 0 56zM64 432a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm0-80a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM24 176c154.6 0 280 125.4 280 280c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-128.1-103.9-232-232-232c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faFeed = faRss;\nvar faFaceMonocle = {\n prefix: 'far',\n iconName: 'face-monocle',\n icon: [512, 512, [], \"e380\", \"M448 336.1V224c0-61.9-50.1-112-112-112s-112 50.1-112 112s50.1 112 112 112c31.3 0 59.7-12.9 80-33.6v86.5C377.8 434.8 320.3 464 256 464C141.1 464 48 370.9 48 256S141.1 48 256 48c16.7 0 32.9 2 48.4 5.7c-6.9 2.8-13.3 6.6-19.2 11.2L262 83.5c-6.9 5.5-8 15.6-2.5 22.5s15.6 8 22.5 2.5l23.2-18.6c8-6.4 18-9.9 28.2-9.9c8.9 0 17.6 2.6 25.1 7.6l8.6 5.7c5.7 3.8 12.9 3.5 18.2-.3c48 38.1 78.7 96.9 78.7 163c0 28.4-5.7 55.5-16 80.1zm3.9 84.7C489.4 376.3 512 318.8 512 256C512 114.6 397.4 0 256 0S0 114.6 0 256S114.6 512 256 512c65.8 0 125.9-24.8 171.2-65.7c10.2 22.8 27.1 42.5 48.9 56.1l11.4 7.1c7.5 4.7 17.4 2.4 22-5.1s2.4-17.4-5.1-22l-11.4-7.1c-20.2-12.6-34.7-32.2-41.3-54.5zM256 224a80 80 0 1 1 160 0 80 80 0 1 1 -160 0zm-79.6-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm144 64a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM144 352c0 8.8 7.2 16 16 16c14.3 0 37.9 2.9 60.6 11.7c22.8 8.8 42.7 22.7 53.1 43.4c4 7.9 13.6 11.1 21.5 7.2s11.1-13.6 7.2-21.5c-15.3-30.5-43.3-48.6-70.1-59C205.3 339.5 177.7 336 160 336c-8.8 0-16 7.2-16 16z\"]\n};\nvar faDrawPolygon = {\n prefix: 'far',\n iconName: 'draw-polygon',\n icon: [448, 512, [], \"f5ee\", \"M80 96A16 16 0 1 0 48 96a16 16 0 1 0 32 0zm8 59.3V356.7c16 6.5 28.9 19.3 35.3 35.3H324.7c2.1-5.2 4.9-10.1 8.2-14.5L298 319.2c-3.2 .5-6.6 .8-10 .8c-35.3 0-64-28.7-64-64s28.7-64 64-64c3.4 0 6.7 .3 10 .8l34.9-58.2c-3.3-4.4-6.1-9.3-8.2-14.5H123.3c-6.5 16-19.3 28.9-35.3 35.3zM374.1 352.8c3.2-.5 6.6-.8 9.9-.8c35.3 0 64 28.7 64 64s-28.7 64-64 64c-26.9 0-49.9-16.5-59.3-40H123.3c-9.5 23.5-32.5 40-59.3 40c-35.3 0-64-28.7-64-64c0-26.9 16.5-49.9 40-59.3V155.3C16.5 145.9 0 122.9 0 96C0 60.7 28.7 32 64 32c26.9 0 49.9 16.5 59.3 40H324.7c9.5-23.5 32.5-40 59.3-40c35.3 0 64 28.7 64 64s-28.7 64-64 64c-3.4 0-6.7-.3-9.9-.8l-34.9 58.2c8.1 10.7 12.9 24.1 12.9 38.5s-4.8 27.8-12.9 38.5l34.9 58.2zM400 96a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM64 432a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm336-16a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM288 272a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faScaleBalanced = {\n prefix: 'far',\n iconName: 'scale-balanced',\n icon: [640, 512, [9878, \"balance-scale\"], \"f24e\", \"M520 48H393.3C381 19.7 352.8 0 320 0s-61 19.7-73.3 48H120c-13.3 0-24 10.7-24 24s10.7 24 24 24H241.6c5.8 28.6 26.9 51.7 54.4 60.3V464H120c-13.3 0-24 10.7-24 24s10.7 24 24 24H320 520c13.3 0 24-10.7 24-24s-10.7-24-24-24H344V156.3c27.5-8.6 48.6-31.7 54.4-60.3H520c13.3 0 24-10.7 24-24s-10.7-24-24-24zm-8 147.8L584.4 320H439.6L512 195.8zM386 337.1C396.8 382 449.1 416 512 416s115.2-34 126-78.9c2.6-11-1-22.3-6.7-32.1L536.1 141.8c-5-8.6-14.2-13.8-24.1-13.8s-19.1 5.3-24.1 13.8L392.7 305.1c-5.7 9.8-9.3 21.1-6.7 32.1zM54.4 320l72.4-124.2L199.3 320H54.4zm72.4 96c62.9 0 115.2-34 126-78.9c2.6-11-1-22.3-6.7-32.1L150.9 141.8c-5-8.6-14.2-13.8-24.1-13.8s-19.1 5.3-24.1 13.8L7.6 305.1c-5.7 9.8-9.3 21.1-6.7 32.1C11.7 382 64 416 126.8 416zM320 48a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faBalanceScale = faScaleBalanced;\nvar faCalendarLines = {\n prefix: 'far',\n iconName: 'calendar-lines',\n icon: [448, 512, [\"calendar-note\"], \"e0d5\", \"M152 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H64C28.7 64 0 92.7 0 128v16 48V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V192 144 128c0-35.3-28.7-64-64-64H344V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V64H152V24zM48 192H400V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V192zm48 88c0 13.3 10.7 24 24 24H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H120c-13.3 0-24 10.7-24 24zm24 72c-13.3 0-24 10.7-24 24s10.7 24 24 24H232c13.3 0 24-10.7 24-24s-10.7-24-24-24H120z\"]\n};\nvar faCalendarNote = faCalendarLines;\nvar faArrowDownBigSmall = {\n prefix: 'far',\n iconName: 'arrow-down-big-small',\n icon: [576, 512, [\"sort-size-down\"], \"f88c\", \"M143 473L47 377c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l55 55V56c0-13.3 10.7-24 24-24s24 10.7 24 24V398.1l55-55c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-96 96c-9.4 9.4-24.6 9.4-33.9 0zM368 368v64h64V368H368zm-48 0c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H368c-26.5 0-48-21.5-48-48V368zm48-160H496V80L368 80V208zm-48 0V80c0-26.5 21.5-48 48-48H496c26.5 0 48 21.5 48 48V208c0 26.5-21.5 48-48 48H368c-26.5 0-48-21.5-48-48z\"]\n};\nvar faSortSizeDown = faArrowDownBigSmall;\nvar faGaugeSimpleHigh = {\n prefix: 'far',\n iconName: 'gauge-simple-high',\n icon: [512, 512, [61668, \"tachometer\", \"tachometer-fast\"], \"f62a\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm56-160c0-14-5.1-26.8-13.7-36.6L366 161.7c5.3-12.1-.2-26.3-12.3-31.6s-26.3 .2-31.6 12.3L254.4 296c-30.2 .8-54.4 25.6-54.4 56c0 30.9 25.1 56 56 56s56-25.1 56-56z\"]\n};\nvar faTachometer = faGaugeSimpleHigh;\nvar faTachometerFast = faGaugeSimpleHigh;\nvar faDoNotEnter = {\n prefix: 'far',\n iconName: 'do-not-enter',\n icon: [512, 512, [], \"f5ec\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm128-48H384c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32V240c0-17.7 14.3-32 32-32z\"]\n};\nvar faShower = {\n prefix: 'far',\n iconName: 'shower',\n icon: [512, 512, [128703], \"f2cc\", \"M48 123.9C48 99.6 67.6 80 91.9 80c11.6 0 22.8 4.6 31 12.9l6.7 6.7c-27.8 43.4-22.8 101.7 15.1 139.6l7 7-.8 .8c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0L345 121c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-.8 .8L303.4 81l-.2-.2c-37.9-37.9-96.2-43-139.6-15.1l-6.7-6.7C139.6 41.7 116.3 32 91.9 32C41.1 32 0 73.1 0 123.9V456c0 13.3 10.7 24 24 24s24-10.7 24-24V123.9zM269.5 115l6.8 6.8-90.5 90.5-7-7c-25-25-25-65.5 0-90.5s65.5-25 90.5 0l.2 .2 0 0zM416 192a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-64 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-96 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm32 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm64-64a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm64-64a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm96-96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faDiceD8 = {\n prefix: 'far',\n iconName: 'dice-d8',\n icon: [512, 512, [], \"f6d2\", \"M239 7c9.4-9.4 24.6-9.4 33.9 0L505 239c9.4 9.4 9.4 24.6 0 33.9L273 505c-9.4 9.4-24.6 9.4-33.9 0L7 273c-9.4-9.4-9.4-24.6 0-33.9L239 7zM126.2 324.3L232 430.1V368L126.2 324.3zM280 368v62L385.8 324.3 280 368zM445.6 247.6L280 81.9V316.1l165.6-68.5zM232 81.9L66.4 247.6 232 316.1V81.9z\"]\n};\nvar faDesktop = {\n prefix: 'far',\n iconName: 'desktop',\n icon: [576, 512, [128421, 61704, \"desktop-alt\"], \"f390\", \"M512 48H64c-8.8 0-16 7.2-16 16V256H528V64c0-8.8-7.2-16-16-16zm64 208v48 48c0 35.3-28.7 64-64 64H364.3l8 48H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H352 224 152c-13.3 0-24-10.7-24-24s10.7-24 24-24h51.7l8-48H64c-35.3 0-64-28.7-64-64V304 256 64C0 28.7 28.7 0 64 0H512c35.3 0 64 28.7 64 64V256zM48 304v48c0 8.8 7.2 16 16 16H239.5c.3 0 .6 0 .8 0h95.2c.3 0 .6 0 .8 0H512c8.8 0 16-7.2 16-16V304H48zM252.3 464h71.3l-8-48H260.3l-8 48z\"]\n};\nvar faDesktopAlt = faDesktop;\nvar faM = {\n prefix: 'far',\n iconName: 'm',\n icon: [448, 512, [109], \"4d\", \"M17.1 33C27.3 30 38.2 34 44 42.8L224 316.3 403.9 42.8C409.8 34 420.7 30 430.9 33S448 45.4 448 56V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V136.1l-156 237c-4.4 6.7-12 10.8-20 10.8s-15.6-4.1-20-10.8L48 136.1V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V56C0 45.4 7 36.1 17.1 33z\"]\n};\nvar faSpinnerScale = {\n prefix: 'far',\n iconName: 'spinner-scale',\n icon: [512, 512, [], \"e62a\", \"M256 52a12 12 0 1 1 0 24 12 12 0 1 1 0-24zM204 64a52 52 0 1 0 104 0A52 52 0 1 0 204 64zm20 384a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zM480 256a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM64 220a36 36 0 1 0 0 72 36 36 0 1 0 0-72zm339.1-88.5a16 16 0 1 1 -22.6-22.6 16 16 0 1 1 22.6 22.6zm28.3-50.9a56 56 0 1 0 -79.2 79.2 56 56 0 1 0 79.2-79.2zM97.6 369.1a32 32 0 1 0 45.3 45.3A32 32 0 1 0 97.6 369.1zm316.8 45.3a32 32 0 1 0 -45.3-45.3 32 32 0 1 0 45.3 45.3zM125.9 125.9a8 8 0 1 1 -11.3-11.3 8 8 0 1 1 11.3 11.3zm28.3-39.6A48 48 0 1 0 86.3 154.2a48 48 0 1 0 67.9-67.9z\"]\n};\nvar faGripDotsVertical = {\n prefix: 'far',\n iconName: 'grip-dots-vertical',\n icon: [256, 512, [], \"e411\", \"M64 128a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0 160a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM96 416a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm96-288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm32 128a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM192 448a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faFaceViewfinder = {\n prefix: 'far',\n iconName: 'face-viewfinder',\n icon: [512, 512, [], \"e2ff\", \"M0 56v80c0 13.3 10.7 24 24 24s24-10.7 24-24V56c0-4.4 3.6-8 8-8h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H56C25.1 0 0 25.1 0 56zM352 24c0 13.3 10.7 24 24 24h80c4.4 0 8 3.6 8 8v80c0 13.3 10.7 24 24 24s24-10.7 24-24V56c0-30.9-25.1-56-56-56H376c-13.3 0-24 10.7-24 24zM24 352c-13.3 0-24 10.7-24 24v80c0 30.9 25.1 56 56 56h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H56c-4.4 0-8-3.6-8-8V376c0-13.3-10.7-24-24-24zm464 0c-13.3 0-24 10.7-24 24v80c0 4.4-3.6 8-8 8H376c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c30.9 0 56-25.1 56-56V376c0-13.3-10.7-24-24-24zM240 216a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm56 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm-40-96a112 112 0 1 1 0 224 112 112 0 1 1 0-224zm0 272a160 160 0 1 0 0-320 160 160 0 1 0 0 320zM214.4 280c-4.4-7.6-14.2-10.3-21.9-5.8s-10.3 14.2-5.8 21.9c13.8 23.9 39.7 40 69.3 40s55.5-16.1 69.3-40c4.4-7.6 1.8-17.4-5.8-21.9s-17.4-1.8-21.9 5.8c-8.3 14.4-23.8 24-41.6 24s-33.3-9.6-41.6-24z\"]\n};\nvar faSoftServe = {\n prefix: 'far',\n iconName: 'soft-serve',\n icon: [384, 512, [127846, \"creemee\"], \"e400\", \"M192 0c-8.9 0-17 4.9-21.2 12.7s-3.7 17.3 1.2 24.6l10.8 16.3c.7 1.1 1.1 2.4 1.1 3.7c0 3.7-3 6.7-6.7 6.7H140c-42 0-76 34-76 76c0 5.4 .6 10.7 1.7 15.8C27.7 167.2 0 202.3 0 244c0 34.9 19.4 65.2 48 80.8V352c0 17.7 14.3 32 32 32h1.8l11.1 99.5c1.8 16.2 15.5 28.5 31.8 28.5H259.4c16.3 0 30-12.3 31.8-28.5L302.2 384H304c17.7 0 32-14.3 32-32V324.8c28.6-15.6 48-45.9 48-80.8c0-41.9-28.1-77.3-66.4-88.4c1.6-6.3 2.4-12.8 2.4-19.6v-8C320 57.3 262.7 0 192 0zM292 288H92c-24.3 0-44-19.7-44-44s19.7-44 44-44h4 6.5H112c13.3 0 24-10.7 24-24c0-12.3-9.3-22.5-21.2-23.8c-1.8-3.7-2.8-7.8-2.8-12.2c0-15.5 12.5-28 28-28h37.3c29.7 0 53.9-23.7 54.7-53.3c23.9 13.8 40 39.7 40 69.3v8c0 5.8-1.5 11.3-4.3 16H216c-13.3 0-24 10.7-24 24s10.7 24 24 24h63.2H288h4c24.3 0 44 19.7 44 44s-19.7 44-44 44z\"]\n};\nvar faCreemee = faSoftServe;\nvar faH5 = {\n prefix: 'far',\n iconName: 'h5',\n icon: [640, 512, [], \"e412\", \"M48 88c0-13.3-10.7-24-24-24S0 74.7 0 88V248 424c0 13.3 10.7 24 24 24s24-10.7 24-24V272H272V424c0 13.3 10.7 24 24 24s24-10.7 24-24V248 88c0-13.3-10.7-24-24-24s-24 10.7-24 24V224H48V88zM440 64c-11.4 0-21.3 8.1-23.5 19.3l-32 160c-1.4 7.1 .4 14.4 5 19.9s11.4 8.8 18.6 8.8H528c35.3 0 64 28.7 64 64s-28.7 64-64 64H464.4c-13.8 0-26-8.8-30.4-21.9l-3.2-9.7c-4.2-12.6-17.8-19.4-30.4-15.2s-19.4 17.8-15.2 30.4l3.2 9.7C399.4 426 429.9 448 464.4 448H528c61.9 0 112-50.1 112-112s-50.1-112-112-112H437.3l22.4-112H584c13.3 0 24-10.7 24-24s-10.7-24-24-24H440z\"]\n};\nvar faHandBackPointDown = {\n prefix: 'far',\n iconName: 'hand-back-point-down',\n icon: [448, 512, [], \"e19e\", \"M144 512c-35.3 0-64-28.7-64-64l0-188.8c-5.2-3.6-10.2-7.6-14.9-11.9L44.8 228.8C26.5 212.1 16 188.5 16 163.7l0-10.2C16 99.5 44.7 49.5 91.4 22.2L94 20.7C117.3 7.1 143.7 0 170.6 0L296 0c66.3 0 120 53.7 120 120l0 8 0 96c0 35.3-28.7 64-64 64c-2.8 0-5.6-.2-8.3-.5c-11 19.4-31.8 32.5-55.7 32.5c-5.3 0-10.5-.7-15.5-1.9c-10.8 20.2-32 33.9-56.5 33.9c-2.7 0-5.4-.2-8-.5l0 96.5c0 35.3-28.7 64-64 64zm-16-64c0 8.8 7.2 16 16 16s16-7.2 16-16l0-136c0-10.3 6.6-19.5 16.4-22.8s20.6 .1 26.8 8.3c3 3.9 7.6 6.4 12.8 6.4c8.8 0 16-7.2 16-16l0-8c0-10.3 6.6-19.5 16.4-22.8s20.6 .1 26.8 8.3c3 3.9 7.6 6.4 12.8 6.4c8.8 0 16-7.2 16-16c0-9.1 5.1-17.4 13.3-21.5s17.9-3.2 25.1 2.3c2.7 2 6 3.2 9.6 3.2c8.8 0 16-7.2 16-16l0-96 0-8c0-39.8-32.2-72-72-72L170.6 48c-18.4 0-36.5 4.9-52.4 14.2l-11.7-20 11.7 20-2.6 1.5C83.6 82.3 64 116.5 64 153.5l0 10.2c0 11.3 4.8 22 13.1 29.6L96 210.5 96 168c0-8.8 7.2-16 16-16s16 7.2 16 16l0 78 0 2 0 200z\"]\n};\nvar faTableList = {\n prefix: 'far',\n iconName: 'table-list',\n icon: [512, 512, [\"th-list\"], \"f00b\", \"M192 80v88H464V96c0-8.8-7.2-16-16-16H192zm-48 0H64c-8.8 0-16 7.2-16 16v72h96V80zM48 216v80h96V216H48zm0 128v72c0 8.8 7.2 16 16 16h80V344H48zm144 88H448c8.8 0 16-7.2 16-16V344H192v88zM464 296V216H192v80H464zM0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96z\"]\n};\nvar faThList = faTableList;\nvar faBasketShoppingMinus = {\n prefix: 'far',\n iconName: 'basket-shopping-minus',\n icon: [576, 512, [], \"e652\", \"M253.3 35.1c6.1-11.8 1.5-26.3-10.2-32.4s-26.3-1.5-32.4 10.2L117.6 192H81.5 32 24c-13.3 0-24 10.7-24 24s10.7 24 24 24H44L99.9 463.5C107 492 132.6 512 162 512H414c29.4 0 55-20 62.1-48.5L532 240h20c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8H494.5 458.4L365.3 12.9C359.2 1.2 344.7-3.4 332.9 2.7s-16.3 20.6-10.2 32.4L404.3 192H171.7L253.3 35.1zM93.5 240h389l-53 211.9C427.8 459 421.4 464 414 464H162c-7.3 0-13.7-5-15.5-12.1L93.5 240zM224 328c-13.3 0-24 10.7-24 24s10.7 24 24 24H352c13.3 0 24-10.7 24-24s-10.7-24-24-24H224z\"]\n};\nvar faCommentSms = {\n prefix: 'far',\n iconName: 'comment-sms',\n icon: [512, 512, [\"sms\"], \"f7cd\", \"M168.2 384.9c-15-5.4-31.7-3.1-44.6 6.4c-8.2 6-22.3 14.8-39.4 22.7c5.6-14.7 9.9-31.3 11.3-49.4c1-12.9-3.3-25.7-11.8-35.5C60.4 302.8 48 272 48 240c0-79.5 83.3-160 208-160s208 80.5 208 160s-83.3 160-208 160c-31.6 0-61.3-5.5-87.8-15.1zM26.3 423.8c-1.6 2.7-3.3 5.4-5.1 8.1l-.3 .5c-1.6 2.3-3.2 4.6-4.8 6.9c-3.5 4.7-7.3 9.3-11.3 13.5c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c5.1 0 10.2-.3 15.3-.8l.7-.1c4.4-.5 8.8-1.1 13.2-1.9c.8-.1 1.6-.3 2.4-.5c17.8-3.5 34.9-9.5 50.1-16.1c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9zM96 212.8c0 12.3 6.2 23.8 16.4 30.7l29.4 19.6c1.3 .9 2.2 2.4 2.2 4c0 2.7-2.2 4.8-4.8 4.8H112c-8.8 0-16 7.2-16 16s7.2 16 16 16h27.2c20.3 0 36.8-16.5 36.8-36.8c0-12.3-6.2-23.8-16.4-30.7l-29.4-19.6c-1.3-.9-2.2-2.4-2.2-4c0-2.7 2.2-4.8 4.8-4.8H152c8.8 0 16-7.2 16-16s-7.2-16-16-16H132.8C112.5 176 96 192.5 96 212.8zM372.8 176c-20.3 0-36.8 16.5-36.8 36.8c0 12.3 6.2 23.8 16.4 30.7l29.4 19.6c1.3 .9 2.2 2.4 2.2 4c0 2.7-2.2 4.8-4.8 4.8H352c-8.8 0-16 7.2-16 16s7.2 16 16 16h27.2c20.3 0 36.8-16.5 36.8-36.8c0-12.3-6.2-23.8-16.4-30.7l-29.4-19.6c-1.3-.9-2.2-2.4-2.2-4c0-2.7 2.2-4.8 4.8-4.8H392c8.8 0 16-7.2 16-16s-7.2-16-16-16H372.8zm-152 6.4c-4.1-5.5-11.3-7.8-17.9-5.6S192 185.1 192 192v96c0 8.8 7.2 16 16 16s16-7.2 16-16V240l19.2 25.6c3 4 7.8 6.4 12.8 6.4s9.8-2.4 12.8-6.4L288 240v48c0 8.8 7.2 16 16 16s16-7.2 16-16V192c0-6.9-4.4-13-10.9-15.2s-13.7 .1-17.9 5.6L256 229.3l-35.2-46.9z\"]\n};\nvar faSms = faCommentSms;\nvar faRectangle = {\n prefix: 'far',\n iconName: 'rectangle',\n icon: [512, 512, [9644, \"rectangle-landscape\"], \"f2fa\", \"M448 112c8.8 0 16 7.2 16 16V384c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V128c0-8.8 7.2-16 16-16H448zM64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64z\"]\n};\nvar faRectangleLandscape = faRectangle;\nvar faClipboardListCheck = {\n prefix: 'far',\n iconName: 'clipboard-list-check',\n icon: [384, 512, [], \"f737\", \"M320 64H280h-9.6C263 27.5 230.7 0 192 0s-71 27.5-78.4 64H104 64C28.7 64 0 92.7 0 128V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64zM80 112v24c0 13.3 10.7 24 24 24h88 88c13.3 0 24-10.7 24-24V112h16c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V128c0-8.8 7.2-16 16-16H80zm88-32a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm3.3 155.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L112 249.4 99.3 236.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l24 24c6.2 6.2 16.4 6.2 22.6 0l48-48zM192 272c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H208c-8.8 0-16 7.2-16 16zm-32 96c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H176c-8.8 0-16 7.2-16 16zm-48 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faTurkey = {\n prefix: 'far',\n iconName: 'turkey',\n icon: [640, 512, [], \"f725\", \"M472 56c0 22.1-1.2 49.3-19.3 62l-31.6 22.3C375.9 112.2 327.9 96 288 96C176 96 0 224 0 384C0 512 160 512 288 512s288 0 288-128c0-63-27.3-121.1-67.3-168.3c-.4 .2-.7 .4-1 .6l-28.3 20c-3.2 2.3-6.2 5-9 8.3C505.8 285.7 528 334.2 528 384c0 21-6.1 32.8-13.9 41c-8.9 9.4-23.9 18.1-47.3 24.8C418.6 463.6 354 464 288 464s-130.6-.4-178.8-14.2c-23.4-6.7-38.4-15.4-47.3-24.8C54.1 416.8 48 405 48 384c0-62 34.5-122 86-168.3C186.4 168.8 247.4 144 288 144c20.5 0 46.3 6.4 73.6 18.7c-15.2 .8-30.8-.5-45.8-2.1c-28.5-3-58.2 4.9-82.2 24.3c-48.1 38.9-55.5 109.4-16.6 157.5s109.4 55.5 157.5 16.6c18.6-15 31.1-34.8 37.2-56.2c.2-.7 .4-1.3 .6-2c9.6-33.7 20.1-70.5 48.7-90.6L486.7 192l2.5-1.8c18.3-12.9 43.3-10.4 67.4-8c9.4 .9 18.6 1.8 27.3 1.8c30.9 0 56-25.1 56-56s-25.1-56-56-56c-1.1 0-2-1.1-1.7-2.2c1.1-4.4 1.7-9 1.7-13.8c0-30.9-25.1-56-56-56s-56 25.1-56 56z\"]\n};\nvar faBook = {\n prefix: 'far',\n iconName: 'book',\n icon: [448, 512, [128212], \"f02d\", \"M0 88C0 39.4 39.4 0 88 0H392c30.9 0 56 25.1 56 56V344c0 22.3-13.1 41.6-32 50.6V464h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H80c-44.2 0-80-35.8-80-80c0-2.7 .1-5.4 .4-8H0V88zM80 400c-17.7 0-32 14.3-32 32s14.3 32 32 32H368V400H80zM48 358.7c9.8-4.3 20.6-6.7 32-6.7H392c4.4 0 8-3.6 8-8V56c0-4.4-3.6-8-8-8H88C65.9 48 48 65.9 48 88V358.7zM152 112H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 80H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H152c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faUserPlus = {\n prefix: 'far',\n iconName: 'user-plus',\n icon: [640, 512, [], \"f234\", \"M224 48a80 80 0 1 1 0 160 80 80 0 1 1 0-160zm0 208A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 96h91.4c65.7 0 120.1 48.7 129 112H49.3c8.9-63.3 63.3-112 129-112zm0-48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304H178.3zM504 312c0 13.3 10.7 24 24 24s24-10.7 24-24V248h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H552V136c0-13.3-10.7-24-24-24s-24 10.7-24 24v64H440c-13.3 0-24 10.7-24 24s10.7 24 24 24h64v64z\"]\n};\nvar faIceSkate = {\n prefix: 'far',\n iconName: 'ice-skate',\n icon: [576, 512, [9976], \"f7ac\", \"M296 0c13.3 0 24 10.7 24 24V144v38l128.6 37.5c37.5 11 63.4 45.4 63.4 84.5v24c0 30.9-25.1 56-56 56H88c-30.9 0-56-25.1-56-56V136.4c0-25.2 16.8-47.3 41.1-54L272 27.5V24c0-13.3 10.7-24 24-24zM272 128V77.3L85.9 128.7c-3.5 1-5.9 4.1-5.9 7.7V328c0 4.4 3.6 8 8 8H456c4.4 0 8-3.6 8-8V304c0-17.8-11.7-33.4-28.8-38.4L292.6 224H240c-8.8 0-16-7.2-16-16s7.2-16 16-16h32V160H240c-8.8 0-16-7.2-16-16s7.2-16 16-16h32zM552 408c13.3 0 24 10.7 24 24v8c0 39.8-32.2 72-72 72H408 120 24c-13.3 0-24-10.7-24-24s10.7-24 24-24H96V416h48v48H384V416h48v48h72c13.3 0 24-10.7 24-24v-8c0-13.3 10.7-24 24-24z\"]\n};\nvar faCheck = {\n prefix: 'far',\n iconName: 'check',\n icon: [448, 512, [10003, 10004], \"f00c\", \"M441 103c9.4 9.4 9.4 24.6 0 33.9L177 401c-9.4 9.4-24.6 9.4-33.9 0L7 265c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l119 119L407 103c9.4-9.4 24.6-9.4 33.9 0z\"]\n};\nvar faBatteryThreeQuarters = {\n prefix: 'far',\n iconName: 'battery-three-quarters',\n icon: [576, 512, [\"battery-4\"], \"f241\", \"M464 144c17.7 0 32 14.3 32 32V336c0 17.7-14.3 32-32 32H80c-17.7 0-32-14.3-32-32V176c0-17.7 14.3-32 32-32H464zM80 96C35.8 96 0 131.8 0 176V336c0 44.2 35.8 80 80 80H464c44.2 0 80-35.8 80-80V320c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32V176c0-44.2-35.8-80-80-80H80zm272 96H96V320H352V192z\"]\n};\nvar faBattery4 = faBatteryThreeQuarters;\nvar faTomato = {\n prefix: 'far',\n iconName: 'tomato',\n icon: [512, 512, [], \"e330\", \"M241 7L224 24C241 7 241 7 241 7l0 0 0 0 .1 .1 .2 .2 .5 .5c.4 .4 1 1 1.7 1.8c1.4 1.5 3.2 3.6 5.4 6.3c4.4 5.4 10.1 13.1 15.8 22.8c6.6 11.2 13.4 25.5 18 42.1c45.7 3.1 88.5 14.2 125.1 32.8c6.6 3.4 10 10.8 8.3 18s-8.2 12.3-15.6 12.3H365.9l15.4 23.1c3.9 5.9 3.5 13.7-1 19.1s-12.1 7.3-18.6 4.5L256 145.4 150.3 190.7c-6.5 2.8-14.1 1-18.6-4.5s-4.9-13.2-1-19.1l15.5-23.3-31.3-.2c-7 1.5-14.3-1.7-17.7-8.4c-4-7.9-.9-17.5 7-21.5l.8-.4C142.2 94.6 185.6 83.5 232 80.7c-2.6-6.4-5.6-12.3-8.7-17.6c-4.3-7.3-8.6-13-11.7-16.9c-1.6-1.9-2.8-3.4-3.6-4.3c-.4-.4-.7-.8-.9-.9l-.1-.1c-9.3-9.4-9.3-24.5 .1-33.9c9.4-9.4 24.6-9.4 33.9 0zM71.1 154c6 9.4 14.9 16.1 25 19.5c-.4 6.6 .7 13.3 3.1 19.6C67.1 219.8 48 256.7 48 304c0 49.8 21.1 88 56.2 115c36.2 27.9 89.2 45 151.8 45s115.5-17.1 151.8-45c35.1-27 56.2-65.2 56.2-115c0-47.3-19.1-84.2-51.1-110.9c2.4-6.3 3.4-13 3.1-19.6c10.3-3.5 19.1-10.4 25-19.5c44 35.5 71.1 86.4 71.1 150c0 130.9-114.6 208-256 208S0 434.9 0 304c0-63.6 27.1-114.5 71.1-150z\"]\n};\nvar faSwordLaser = {\n prefix: 'far',\n iconName: 'sword-laser',\n icon: [512, 512, [], \"e03b\", \"M505.7 40.2c8.7-9.5 8.3-24.1-.7-33.2s-23.7-9.4-33.2-.7L230.7 226.8l54.4 54.4L505.7 40.2zM185 231c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l.7 .7-59 59c0 0 0 0 0 0s0 0 0 0L10.3 407C3.7 413.7 0 422.6 0 432s3.7 18.3 10.3 25L55 501.7c6.6 6.6 15.6 10.3 25 10.3s18.3-3.7 25-10.3l82.3-82.3 59-59 .7 .7c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-96-96zm-20.3 143l-26.7-26.7 12.4-12.4 26.7 26.7-12.4 12.4zm-49.4-4.1l26.7 26.7L80 458.7 53.3 432l62.1-62.1zM173 312.3l12.7-12.7 26.7 26.7L199.7 339 173 312.3z\"]\n};\nvar faHouseCircleCheck = {\n prefix: 'far',\n iconName: 'house-circle-check',\n icon: [640, 512, [], \"e509\", \"M303.5 5.7c-9-7.6-22.1-7.6-31.1 0l-264 224c-10.1 8.6-11.3 23.7-2.8 33.8s23.7 11.3 33.8 2.8L64 245.5V432c0 44.2 35.8 80 80 80H394.8c-18.3-12.9-34.1-29.2-46.3-48H336v0H240V320h86.6c4.8-17.1 12.2-33.2 21.7-47.8c-1.4-.2-2.9-.2-4.3-.2H232c-22.1 0-40 17.9-40 40V464H144c-17.7 0-32-14.3-32-32V204.8L288 55.5 454.7 196.9c13.3-3.2 27.1-4.9 41.3-4.9c10.3 0 20.3 .9 30.1 2.6L303.5 5.7zM640 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faBuildings = {\n prefix: 'far',\n iconName: 'buildings',\n icon: [512, 512, [], \"e0cc\", \"M448 48c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H288c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H448zM288 0c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H288zM192 128H72c-39.8 0-72 32.2-72 72V440c0 39.8 32.2 72 72 72H216.4c-11.8-13.2-20.1-29.7-23.1-48H72c-13.3 0-24-10.7-24-24V200c0-13.3 10.7-24 24-24H192V128zM112 320c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V336c0-8.8-7.2-16-16-16H112zm224 16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16H352c-8.8 0-16 7.2-16 16v32zM112 224c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H112zM336 112v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H352c-8.8 0-16 7.2-16 16zm16 144h32c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H352c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16z\"]\n};\nvar faAngleLeft = {\n prefix: 'far',\n iconName: 'angle-left',\n icon: [320, 512, [8249], \"f104\", \"M47 239c-9.4 9.4-9.4 24.6 0 33.9L207 433c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L97.9 256 241 113c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L47 239z\"]\n};\nvar faCartFlatbedBoxes = {\n prefix: 'far',\n iconName: 'cart-flatbed-boxes',\n icon: [640, 512, [\"dolly-flatbed-alt\"], \"f475\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48H72c4.4 0 8 3.6 8 8V408c0 30.9 25.1 56 56 56h24c0 26.5 21.5 48 48 48s48-21.5 48-48H448c0 26.5 21.5 48 48 48s48-21.5 48-48h72c13.3 0 24-10.7 24-24s-10.7-24-24-24H496 208 136c-4.4 0-8-3.6-8-8V56c0-30.9-25.1-56-56-56H24zM240 80H368V304H240l0-224zm-48 0V304c0 26.5 21.5 48 48 48H368c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H240c-26.5 0-48 21.5-48 48zm368 0v64H496V80h64zM496 32c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H496zm0 240h96v32H496V272zm-48 0v32c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48H496c-26.5 0-48 21.5-48 48z\"]\n};\nvar faDollyFlatbedAlt = faCartFlatbedBoxes;\nvar faDiagramSuccessor = {\n prefix: 'far',\n iconName: 'diagram-successor',\n icon: [512, 512, [], \"e47a\", \"M512 416l0-64c0-35.3-28.7-64-64-64L64 288c-35.3 0-64 28.7-64 64l0 64c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64zM240 160c0 8.8-7.2 16-16 16L64 176c-8.8 0-16-7.2-16-16l0-64c0-8.8 7.2-16 16-16l144 0 16 0c8.8 0 16 7.2 16 16l0 64zm48-64c0-5.5-.7-10.9-2-16l82 0c13.3 0 24 10.7 24 24l0 38.1-23-23c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0l64-64c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-23 23 0-38.1c0-39.8-32.2-72-72-72L224 32l-16 0L64 32C28.7 32 0 60.7 0 96l0 64c0 35.3 28.7 64 64 64l160 0c35.3 0 64-28.7 64-64l0-64z\"]\n};\nvar faTruckArrowRight = {\n prefix: 'far',\n iconName: 'truck-arrow-right',\n icon: [640, 512, [], \"e58b\", \"M64 48c-8.8 0-16 7.2-16 16V352c0 8.8 7.2 16 16 16H76.8c16.6-28.7 47.6-48 83.2-48s66.6 19.3 83.2 48H320h32c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H64zM480 512c-53 0-96-43-96-96h-8H352 320 256c0 53-43 96-96 96s-96-43-96-96c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H352c35.3 0 64 28.7 64 64V96h42.7c14.9 0 29.1 5.9 39.6 16.4l93.3 93.3c10.5 10.5 16.4 24.7 16.4 39.6V368h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H576c0 53-43 96-96 96zm78-272c-.1-.1-.2-.3-.4-.4l-93.3-93.3c-1.5-1.5-3.5-2.3-5.7-2.3H416v96H558zM160 464a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm368-48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM241 95l80 80c9.4 9.4 9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l39-39H112c-13.3 0-24-10.7-24-24s10.7-24 24-24H246.1l-39-39c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0z\"]\n};\nvar faSquareW = {\n prefix: 'far',\n iconName: 'square-w',\n icon: [448, 512, [], \"e285\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm118.9 64.7L160 289.3l41.1-128.6c3.2-9.9 12.4-16.7 22.9-16.7s19.7 6.7 22.9 16.7L288 289.3l41.1-128.6c4-12.6 17.5-19.6 30.2-15.5s19.6 17.5 15.5 30.2l-64 200c-3.2 9.9-12.4 16.7-22.9 16.7s-19.7-6.7-22.9-16.7L224 246.7 182.9 375.3c-3.2 9.9-12.4 16.7-22.9 16.7s-19.7-6.7-22.9-16.7l-64-200c-4-12.6 2.9-26.1 15.5-30.2s26.1 2.9 30.2 15.5z\"]\n};\nvar faArrowsSplitUpAndLeft = {\n prefix: 'far',\n iconName: 'arrows-split-up-and-left',\n icon: [512, 512, [], \"e4bc\", \"M241 137c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L303 7c9.4-9.4 24.6-9.4 33.9 0l96 96c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-55-55V384v8c0 39.8 32.2 72 72 72h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H416c-66.3 0-120-53.7-120-120v-8c0-39.8-32.2-72-72-72H81.9l55 55c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L7 305c-4.5-4.5-7-10.6-7-17s2.5-12.5 7-17l96-96c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-55 55H224c27 0 51.9 8.9 72 24V81.9l-55 55z\"]\n};\nvar faLamp = {\n prefix: 'far',\n iconName: 'lamp',\n icon: [448, 512, [], \"f4ca\", \"M2.5 211.7l80-192C87.4 7.8 99.1 0 112 0H336c12.9 0 24.6 7.8 29.5 19.7l80 192c4.1 9.9 3 21.2-2.9 30.1s-15.9 14.2-26.6 14.2H32c-10.7 0-20.7-5.3-26.6-14.2s-7-20.2-2.9-30.1zM56 208H392L325.3 48H122.7L56 208zm88 105.4V288h48v25.4c0 17-6.7 32-16.2 42.9C165.7 368 144 398.1 144 432c0 12.2 3.7 23.1 8.4 31.9c.6 .1 1.3 .1 2.1 .1h139c.8 0 1.5-.1 2.1-.1c4.6-8.8 8.4-19.7 8.4-31.9c0-32.3-22.1-63.8-32.6-76.4c-9.2-10.9-15.4-25.6-15.4-42V288h48v25.6c0 4.1 1.6 8 4.2 11.2c11.7 14 43.8 56.9 43.8 107.2c0 24.4-8.3 44.6-16.4 58.7c-8.5 14.7-25.2 21.3-42.1 21.3h-139c-17 0-33.6-6.6-42.1-21.3C104.3 476.6 96 456.4 96 432c0-51.9 31.6-93.4 43.5-107.1c2.8-3.2 4.5-7.3 4.5-11.5z\"]\n};\nvar faAirplay = {\n prefix: 'far',\n iconName: 'airplay',\n icon: [576, 512, [], \"e089\", \"M480 80H96c-26.5 0-48 21.5-48 48V320c0 26.5 21.5 48 48 48h53.5l-34.7 34.7c-4 4-7.4 8.5-10.2 13.3H96c-53 0-96-43-96-96V128C0 75 43 32 96 32H480c53 0 96 43 96 96V320c0 53-43 96-96 96h-8.6c-2.8-4.8-6.2-9.2-10.2-13.3L426.5 368H480c26.5 0 48-21.5 48-48V128c0-26.5-21.5-48-48-48zM198.6 432H377.4L288 342.6 198.6 432zm112-134.6l128 128c9.2 9.2 11.9 22.9 6.9 34.9s-16.6 19.8-29.6 19.8H160c-12.9 0-24.6-7.8-29.6-19.8s-2.2-25.7 6.9-34.9l128-128c12.5-12.5 32.8-12.5 45.3 0z\"]\n};\nvar faHandFist = {\n prefix: 'far',\n iconName: 'hand-fist',\n icon: [448, 512, [9994, \"fist-raised\"], \"f6de\", \"M112 80c8.8 0 16 7.2 16 16v80H112c-5.5 0-10.8 .6-16 1.6V96c0-8.8 7.2-16 16-16zm0 144h40 40c8.8 0 16 7.2 16 16s-7.2 16-16 16H152c-13.3 0-24 10.7-24 24s10.7 24 24 24h40c35.3 0 64-28.7 64-64c0-.7 0-1.4 0-2c5.1 1.3 10.5 2 16 2c7.9 0 15.4-1.4 22.4-4c10.4 21.3 32.3 36 57.6 36c5.2 0 10.2-.6 15-1.8c-4.4 32.4-23.8 60.1-51.1 75.9c-7.4 4.3-12 12.2-12 20.8V488c0 13.3 10.7 24 24 24s24-10.7 24-24V379.9c38.7-27.5 64-72.8 64-123.9V208 192 160c0-35.3-28.7-64-64-64c-5.5 0-10.9 .7-16 2V96c0-35.3-28.7-64-64-64c-7.9 0-15.4 1.4-22.4 4C239.2 14.7 217.3 0 192 0s-47.2 14.7-57.6 36c-7-2.6-14.5-4-22.4-4C76.7 32 48 60.7 48 96V200c0 2.3 .3 4.6 1 6.7C38.3 220.3 32 237.4 32 256c0 64.2 39.8 119 96 141.3V488c0 13.3 10.7 24 24 24s24-10.7 24-24V380c0-11-7.4-20.5-18-23.2C113.1 345.2 80 304.4 80 256c0-17.7 14.3-32 32-32zm256-32v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V176 160c0-8.8 7.2-16 16-16s16 7.2 16 16v32zM176 176V96 64c0-8.8 7.2-16 16-16s16 7.2 16 16V96v80 2c-5.1-1.3-10.5-2-16-2H176zm80 0V96c0-8.8 7.2-16 16-16s16 7.2 16 16v64 16c0 8.8-7.2 16-16 16s-16-7.2-16-16z\"]\n};\nvar faFistRaised = faHandFist;\nvar faShieldQuartered = {\n prefix: 'far',\n iconName: 'shield-quartered',\n icon: [512, 512, [], \"e575\", \"M73 127c-5.9 2.5-9.1 7.8-9 12.8c.1 17.9 1.6 38.4 5.1 60.3H232V59.6L73 127zm6.7 121c20.9 73.9 65.9 153.7 152.3 202.3V248H79.7zM280 248V450.4C366.4 401.8 411.4 322 432.3 248H280zm162.9-48c3.5-21.9 5-42.3 5.1-60.3c0-5-3.1-10.2-9-12.8L280 59.6V200H442.9zM269.4 2.9L457.7 82.8c22 9.3 38.4 31 38.3 57.2c-.5 99.2-41.3 280.7-213.6 363.2c-16.7 8-36.1 8-52.8 0C57.3 420.7 16.5 239.2 16 140c-.1-26.2 16.3-47.9 38.3-57.2L242.7 2.9C246.8 1 251.4 0 256 0s9.2 1 13.4 2.9z\"]\n};\nvar faSlashForward = {\n prefix: 'far',\n iconName: 'slash-forward',\n icon: [320, 512, [], \"2f\", \"M308.1 3.3c11.4 6.7 15.3 21.4 8.6 32.8l-272 464c-6.7 11.4-21.4 15.3-32.8 8.6S-3.4 487.3 3.3 475.9l272-464C282 .4 296.7-3.4 308.1 3.3z\"]\n};\nvar faLocationPen = {\n prefix: 'far',\n iconName: 'location-pen',\n icon: [384, 512, [\"map-marker-edit\"], \"f607\", \"M336 192c0-79.5-64.5-144-144-144S48 112.5 48 192c0 12.4 4.5 31.6 15.3 57.2c10.5 24.8 25.4 52.2 42.5 79.9c28.5 46.2 61.5 90.8 86.2 122.6c24.8-31.8 57.8-76.4 86.2-122.6c17.1-27.7 32-55.1 42.5-79.9C331.5 223.6 336 204.4 336 192zm48 0c0 87.4-117 243-168.3 307.2c-12.3 15.3-35.1 15.3-47.4 0C117 435 0 279.4 0 192C0 86 86 0 192 0S384 86 384 192zM276.8 107c14.7 14.7 14.7 38.6 0 53.3l-14.9 14.9L208.6 122 223.5 107c14.7-14.7 38.6-14.7 53.3 0zM114.1 216.5L186 144.6l53.3 53.3-71.9 71.9c-4.1 4.1-9.2 7-14.9 8.4l-36.6 9.2c-5.5 1.4-11.2-.2-15.2-4.2s-5.6-9.7-4.2-15.2l9.2-36.7c1.4-5.6 4.3-10.8 8.4-14.9z\"]\n};\nvar faMapMarkerEdit = faLocationPen;\nvar faCloudMoon = {\n prefix: 'far',\n iconName: 'cloud-moon',\n icon: [640, 512, [], \"f6c3\", \"M495.8 0C389.8 0 304 86.1 304 192.2c0 10.8 .9 21.5 2.6 31.8c58.8 1.4 106.4 48.2 109.2 106.7c22.8 10.8 41.4 29.1 52.6 51.7c8.9 1.3 18.1 1.9 27.4 1.9c52 0 99.1-20.7 133.6-54.4c5-4.9 6.3-12.5 3.1-18.7s-10.1-9.7-17-8.5c-8.1 1.4-16.5 2.1-25.1 2.1c-80.7 0-146.2-65.6-146.2-146.6c0-54.8 30-102.6 74.4-127.8c6.1-3.5 9.2-10.5 7.7-17.3S519 1.3 512 .7c-5.4-.5-10.8-.7-16.3-.7zM128.1 320c0-26.5 21.5-48 48-48c22.8 0 41.9 15.9 46.8 37.2c2.1 8.9 9 15.9 18 18s18.3-1.2 24.1-8.3c7.4-9.1 18.6-14.9 31.1-14.9c20.3 0 37.2 15.2 39.7 34.8c.1 .6 .2 1.2 .3 1.7v1.1c0 .3 0 .6 0 .9c0 .5 0 1 0 1.5s0 1 0 1.5c0 .3 0 .6 0 .9v30.2c0 7 3 13.6 8.3 18.1s12.2 6.6 19.1 5.6c1.5-.2 3-.3 4.6-.3c17.7 0 32 14.3 32 32s-14.3 32-32 32c-.4 0-.9 0-1.3 0c-.3 0-.6 0-1 0H98.9c-.3 0-.6 0-.9 0c-.6 0-1.2 0-1.9 0c-26.5 0-48-21.5-48-48s21.5-48 48-48c1.4 0 2.7 .1 4 .2c13.2 1.1 24.8-8.7 25.9-21.9l2-23.8c.1-.8 .1-1.6 .1-2.5zm48-96c-52.6 0-95.4 42.4-96 94.8l-.2 2.5C34.6 329 .1 368.5 .1 416c0 53 43 96 96 96c1.1 0 2.2 0 3.2-.1h266c.9 0 1.8 0 2.7 0c44.2 0 80-35.8 80-80c0-38.7-27.5-71-64-78.4v-6.9c0-.9 0-1.8 0-2.7s0-1.8 0-2.7V336c0-2.9-.5-5.7-1.5-8.3c-7.7-40.8-43.4-71.7-86.5-71.7c-14.7 0-28.5 3.6-40.6 9.9c-17.3-25.3-46.3-41.9-79.3-41.9z\"]\n};\nvar faPotFood = {\n prefix: 'far',\n iconName: 'pot-food',\n icon: [640, 512, [127858], \"e43f\", \"M112 24c0 26.5 10.5 38.7 25.9 56.1l.4 .4C154.8 99 176 122.9 176 168c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-26.5-10.5-38.7-25.9-56.1l-.4-.4C85.2 93 64 69.1 64 24C64 10.7 74.7 0 88 0s24 10.7 24 24zm112 0c0 26.5 10.5 38.7 25.9 56.1l.4 .4C266.8 99 288 122.9 288 168c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-26.5-10.5-38.7-25.9-56.1l-.4-.4C197.2 93 176 69.1 176 24c0-13.3 10.7-24 24-24s24 10.7 24 24zm208 88c50.7 0 93.6 33.7 107.4 80H324.6c13.8-46.3 56.6-80 107.4-80zM16 280c0-13.3 10.7-24 24-24H66.7c6.6-18.6 24.4-32 45.3-32H528c20.9 0 38.7 13.4 45.3 32H600c13.3 0 24 10.7 24 24s-10.7 24-24 24H573.7c-11 76.9-61.1 141.2-129.5 172.2c-8.1 21-28.4 35.8-52.3 35.8H248c-23.8 0-44.2-14.9-52.3-35.8C127.3 445.2 77.3 380.9 66.3 304H40c-13.3 0-24-10.7-24-24zM240.5 458.9c1.2 3.1 4.2 5.1 7.5 5.1H392c3.3 0 6.3-2 7.5-5.1c4.5-11.7 13.5-21.2 25-26.4C485.6 404.8 528 343.3 528 272H112c0 71.3 42.4 132.8 103.5 160.5c11.5 5.2 20.4 14.7 25 26.4z\"]\n};\nvar faBriefcase = {\n prefix: 'far',\n iconName: 'briefcase',\n icon: [512, 512, [128188], \"f0b1\", \"M176 56V96H336V56c0-4.4-3.6-8-8-8H184c-4.4 0-8 3.6-8 8zM128 96V56c0-30.9 25.1-56 56-56H328c30.9 0 56 25.1 56 56V96h64c35.3 0 64 28.7 64 64V280 416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V280 160c0-35.3 28.7-64 64-64h64zM48 304V416c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V304H320v16c0 17.7-14.3 32-32 32H224c-17.7 0-32-14.3-32-32V304H48zm144-48H320 464V160c0-8.8-7.2-16-16-16H360 152 64c-8.8 0-16 7.2-16 16v96H192z\"]\n};\nvar faPersonFalling = {\n prefix: 'far',\n iconName: 'person-falling',\n icon: [512, 512, [], \"e546\", \"M320 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V34.4c0 46.1-28.9 87.3-72.2 103.1C137.5 160.1 96 219.3 96 285.6V360c0 13.3 10.7 24 24 24s24-10.7 24-24l0-74.4c0-10.7 1.5-21.1 4.4-30.9L307.9 501c7.2 11.1 22.1 14.3 33.2 7.1s14.3-22.1 7.1-33.2L263.6 344.3 327 304l46.3 0 64.8 72.1c8.9 9.9 24 10.6 33.9 1.8s10.6-24 1.8-33.9l-67.2-74.7c-7.6-8.4-18.4-13.2-29.7-13.2l-56.6 0h-.6l-19 0-58.2-85.9c47.4-28 77.5-79.3 77.5-135.8L320 24zM263.9 287.2L237.5 304l-61.8-95.5c6.7-6.8 14.4-12.8 22.8-17.7l65.4 96.4zM112 128a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faImagePortrait = {\n prefix: 'far',\n iconName: 'image-portrait',\n icon: [384, 512, [\"portrait\"], \"f3e0\", \"M320 48L64 48c-8.8 0-16 7.2-16 16l0 384c0 8.8 7.2 16 16 16H320c8.8 0 16-7.2 16-16l0-384c0-8.8-7.2-16-16-16zm0-48c35.3 0 64 28.7 64 64l0 384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H320zM128 192a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM80 356.6c0-37.9 30.7-68.6 68.6-68.6h86.9c37.9 0 68.6 30.7 68.6 68.6c0 15.1-12.3 27.4-27.4 27.4H107.4C92.3 384 80 371.7 80 356.6z\"]\n};\nvar faPortrait = faImagePortrait;\nvar faUserTag = {\n prefix: 'far',\n iconName: 'user-tag',\n icon: [640, 512, [], \"f507\", \"M144 128a80 80 0 1 1 160 0 80 80 0 1 1 -160 0zm208 0A128 128 0 1 0 96 128a128 128 0 1 0 256 0zM49.3 464c8.9-63.3 63.3-112 129-112h91.4c18.7 0 36.5 3.9 52.6 11c-1.5-6.1-2.3-12.4-2.3-18.8v-33c-15.9-4.7-32.8-7.2-50.3-7.2H178.3C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c10 0 18.8-4.9 24.2-12.5L396.9 454c.7 3.3 1.3 6.6 1.8 10H49.3zM384 224c-17.7 0-32 14.3-32 32v82.7c0 17 6.7 33.3 18.7 45.3L478.1 491.3c18.7 18.7 49.1 18.7 67.9 0l73.4-73.4c18.7-18.7 18.7-49.1 0-67.9L512 242.7c-12-12-28.3-18.7-45.3-18.7H384zm24 80a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faRug = {\n prefix: 'far',\n iconName: 'rug',\n icon: [640, 512, [], \"e569\", \"M24 64C10.7 64 0 74.7 0 88s10.7 24 24 24h8v40H24c-13.3 0-24 10.7-24 24s10.7 24 24 24h8v32H24c-13.3 0-24 10.7-24 24s10.7 24 24 24h8v32H24c-13.3 0-24 10.7-24 24s10.7 24 24 24h8v40H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H56 80 560h24 32c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V360h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V280h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V200h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V112h8c13.3 0 24-10.7 24-24s-10.7-24-24-24H584 560 80 56 24zm56 48h48V400H80V336 256 176 112zM464 400H176V112H464V400zm48 0V112h48v64 80 80 64H512z\"]\n};\nvar faPrintSlash = {\n prefix: 'far',\n iconName: 'print-slash',\n icon: [640, 512, [], \"f686\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L542.6 400H544c17.7 0 32-14.3 32-32V256c0-35.3-28.7-64-64-64H277.2L176 112.6V64c0-8.8 7.2-16 16-16H421.5c4.2 0 8.3 1.7 11.3 4.7l26.5 26.5c3 3 4.7 7.1 4.7 11.3V160h48V90.5c0-17-6.7-33.3-18.7-45.3L466.7 18.7C454.7 6.7 438.5 0 421.5 0H192c-35.3 0-64 28.7-64 64V75L38.8 5.1zM338.5 240H512c8.8 0 16 7.2 16 16v96H512 496 481.4L338.5 240zm-155.7 0l-60.6-47.7C89.6 195.2 64 222.6 64 256V368c0 17.7 14.3 32 32 32h48v80c0 17.7 14.3 32 32 32H464c15.5 0 28.5-11 31.4-25.7L448 449v15H192V368H345.2l-60.9-48H176c-17.7 0-32 14.3-32 32H112V256c0-8.8 7.2-16 16-16h54.8z\"]\n};\nvar faEarthEurope = {\n prefix: 'far',\n iconName: 'earth-europe',\n icon: [512, 512, [\"globe-europe\"], \"f7a2\", \"M256 464C141.1 464 48 370.9 48 256S141.1 48 256 48c3.5 0 6.9 .1 10.3 .3L232.5 73.6c-5.4 4-8.5 10.4-8.5 17.1v9.1c0 6.8 5.5 12.3 12.3 12.3c2.4 0 4.8-.7 6.8-2.1l41.8-27.9c2-1.3 4.4-2.1 6.8-2.1h1c6.2 0 11.3 5.1 11.3 11.3c0 3-1.2 5.9-3.3 8l-19.9 19.9c-5.8 5.8-12.9 10.2-20.7 12.8l-26.5 8.8c-5.8 1.9-9.6 7.3-9.6 13.4c0 3.7-1.5 7.3-4.1 10l-17.9 17.9c-6.4 6.4-9.9 15-9.9 24v4.3c0 16.4 13.6 29.7 29.9 29.7c11 0 21.2-6.2 26.1-16l4-8.1c2.4-4.8 7.4-7.9 12.8-7.9c4.5 0 8.7 2.1 11.4 5.7l16.3 21.7c2.1 2.9 5.5 4.5 9.1 4.5c8.4 0 13.9-8.9 10.1-16.4l-1.1-2.3c-3.5-7 0-15.5 7.5-18l21.2-7.1c7.6-2.5 12.7-9.6 12.7-17.6c0-10.3 8.3-18.6 18.6-18.6H400c8.8 0 16 7.2 16 16s-7.2 16-16 16H379.3c-7.2 0-14.2 2.9-19.3 8l-4.7 4.7c-2.1 2.1-3.3 5-3.3 8c0 6.2 5.1 11.3 11.3 11.3h11.3c6 0 11.8 2.4 16 6.6l6.5 6.5c1.8 1.8 2.8 4.3 2.8 6.8s-1 5-2.8 6.8l-7.5 7.5C386 262 384 266.9 384 272s2 10 5.7 13.7L408 304c10.2 10.2 24.1 16 38.6 16H454c-4.1 12.6-9.3 24.7-15.6 36.1c-3.7-2.6-8.2-4.1-13-4.1c-6 0-11.8-2.4-16-6.6L396 332c-7.7-7.7-18-12-28.9-12c-9.7 0-19.2-3.5-26.6-9.8L314 287.4c-11.6-9.9-26.4-15.4-41.7-15.4H251.4c-12.6 0-25 3.7-35.5 10.7L188.5 301c-17.8 11.9-28.5 31.9-28.5 53.3v3.2c0 17 6.7 33.3 18.7 45.3l16 16c8.5 8.5 20 13.3 32 13.3H248c13.3 0 24 10.7 24 24c0 2.5 .4 5 1.1 7.3c-5.6 .5-11.4 .7-17.1 .7zm0 48A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM187.3 123.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-32 32c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l32-32z\"]\n};\nvar faGlobeEurope = faEarthEurope;\nvar faCartFlatbedSuitcase = {\n prefix: 'far',\n iconName: 'cart-flatbed-suitcase',\n icon: [640, 512, [\"luggage-cart\"], \"f59d\", \"M0 24C0 10.7 10.7 0 24 0H72c30.9 0 56 25.1 56 56V408c0 4.4 3.6 8 8 8h72H496 616c13.3 0 24 10.7 24 24s-10.7 24-24 24H544c0 26.5-21.5 48-48 48s-48-21.5-48-48H256c0 26.5-21.5 48-48 48s-48-21.5-48-48H136c-30.9 0-56-25.1-56-56V56c0-4.4-3.6-8-8-8H24C10.7 48 0 37.3 0 24zM360 48c-4.4 0-8 3.6-8 8V96h96V56c0-4.4-3.6-8-8-8H360zM496 96h48c35.3 0 64 28.7 64 64V288c0 35.3-28.7 64-64 64H256c-35.3 0-64-28.7-64-64V160c0-35.3 28.7-64 64-64h48V56c0-30.9 25.1-56 56-56h80c30.9 0 56 25.1 56 56V96zM256 144c-8.8 0-16 7.2-16 16V288c0 8.8 7.2 16 16 16h32V144H256zm80 0V304H464V144H336zM544 304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16H512V304h32z\"]\n};\nvar faLuggageCart = faCartFlatbedSuitcase;\nvar faHandBackPointRibbon = {\n prefix: 'far',\n iconName: 'hand-back-point-ribbon',\n icon: [448, 512, [], \"e1a0\", \"M96 64c0-35.3 28.7-64 64-64s64 28.7 64 64V96v64 .5c2.6-.3 5.3-.5 8-.5c24.5 0 45.7 13.7 56.5 33.9c5-1.2 10.2-1.9 15.5-1.9c23.9 0 44.8 13.1 55.7 32.5c2.7-.3 5.5-.5 8.3-.5c35.3 0 64 28.7 64 64v96 8c0 66.3-53.7 120-120 120H186.6c-26.9 0-53.3-7.1-76.6-20.7l-2.6-1.5C60.7 462.5 32 412.5 32 358.5V348.3c0-24.8 10.5-48.4 28.8-65.1l20.3-18.4c4.8-4.3 9.7-8.3 14.9-11.9V176H43.8c-6.5 0-11.8-5.3-11.8-11.8c0-3.9 1.9-7.5 5.1-9.7L75.6 128 37.1 101.5c-3.2-2.2-5.1-5.8-5.1-9.7C32 85.3 37.3 80 43.8 80H96V64zm48 112v88 2 78c0 8.8-7.2 16-16 16s-16-7.2-16-16V301.5L93.1 318.7C84.8 326.3 80 337 80 348.3v10.2c0 37 19.6 71.2 51.6 89.8l2.6 1.5-11.7 20 11.7-20c15.9 9.3 34 14.2 52.4 14.2H312c39.8 0 72-32.2 72-72v-8V288c0-8.8-7.2-16-16-16c-3.6 0-6.9 1.2-9.6 3.2c-7.3 5.5-17 6.3-25.1 2.3s-13.3-12.4-13.3-21.5c0-8.8-7.2-16-16-16c-5.2 0-9.9 2.5-12.8 6.4c-6.2 8.3-17 11.6-26.8 8.3s-16.4-12.4-16.4-22.8v-8c0-8.8-7.2-16-16-16c-5.2 0-9.9 2.5-12.8 6.4c-6.2 8.3-17 11.6-26.8 8.3s-16.4-12.4-16.4-22.8V176H144zm32-96V64c0-8.8-7.2-16-16-16s-16 7.2-16 16V80h32z\"]\n};\nvar faRectangleXmark = {\n prefix: 'far',\n iconName: 'rectangle-xmark',\n icon: [512, 512, [62164, \"rectangle-times\", \"times-rectangle\", \"window-close\"], \"f410\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm175 79c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faRectangleTimes = faRectangleXmark;\nvar faTimesRectangle = faRectangleXmark;\nvar faWindowClose = faRectangleXmark;\nvar faTireRugged = {\n prefix: 'far',\n iconName: 'tire-rugged',\n icon: [512, 512, [], \"f634\", \"M213.1 62c1-8 7.8-14 15.9-14h54.1c8.1 0 14.9 6 15.9 14c1.2 9.1 7.4 16.8 16.1 19.7c7.7 2.6 15.2 5.7 22.4 9.3c8.2 4.1 18.1 3.1 25.3-2.5c6.3-4.9 15.4-4.4 21.1 1.3l38.3 38.3c5.7 5.7 6.3 14.8 1.3 21.1c-5.6 7.3-6.6 17.1-2.5 25.3c3.6 7.2 6.7 14.7 9.3 22.4c2.9 8.7 10.6 15 19.7 16.1c8 1 14 7.8 14 15.9v54.1c0 8.1-6 14.9-14 15.9c-9.1 1.2-16.8 7.4-19.7 16.1c-2.6 7.7-5.7 15.2-9.3 22.4c-4.1 8.2-3.1 18.1 2.5 25.3c4.9 6.3 4.4 15.4-1.3 21.1l-38.3 38.3c-5.7 5.7-14.8 6.3-21.1 1.3c-7.3-5.6-17.1-6.6-25.3-2.5c-7.2 3.6-14.7 6.7-22.4 9.3c-8.7 2.9-15 10.6-16.1 19.7c-1 8-7.8 14-15.9 14H228.9c-8.1 0-14.9-6-15.9-14c-1.2-9.1-7.4-16.8-16.1-19.7c-7.7-2.6-15.2-5.7-22.4-9.3c-8.2-4.1-18.1-3.1-25.3 2.5c-6.3 4.9-15.4 4.4-21.1-1.3L89.8 383.9c-5.7-5.7-6.3-14.8-1.3-21.1c5.6-7.3 6.6-17.1 2.5-25.3c-3.6-7.2-6.7-14.7-9.3-22.4c-2.9-8.7-10.6-15-19.7-16.1c-8-1-14-7.8-14-15.9V228.9c0-8.1 6-14.9 14-15.9c9.1-1.2 16.8-7.4 19.7-16.1c2.6-7.7 5.7-15.2 9.3-22.4c4.1-8.2 3.1-18.1-2.5-25.3c-4.9-6.3-4.4-15.4 1.3-21.1l38.3-38.3c5.7-5.7 14.8-6.3 21.1-1.3c7.3 5.6 17.1 6.6 25.3 2.5c7.2-3.6 14.7-6.7 22.4-9.3c8.7-2.9 15-10.6 16.1-19.7zM228.9 0C202 0 178.6 16.7 169.3 40.8c-1.4 .6-2.8 1.1-4.2 1.7c-23.6-10.4-51.9-5.7-71 13.4L55.8 94.1c-19 19-23.7 47.4-13.4 71c-.6 1.4-1.2 2.8-1.7 4.2C16.7 178.6 0 202 0 228.9v54.1c0 26.9 16.7 50.3 40.8 59.6c.6 1.4 1.1 2.8 1.7 4.2c-10.4 23.6-5.7 51.9 13.4 71l38.3 38.3c19 19 47.4 23.7 71 13.4c1.4 .6 2.8 1.2 4.2 1.7c9.4 24 32.7 40.8 59.6 40.8h54.1c26.9 0 50.3-16.7 59.6-40.8c1.4-.6 2.8-1.1 4.2-1.7c23.6 10.4 51.9 5.7 71-13.4l38.3-38.3c19-19 23.7-47.4 13.4-71c.6-1.4 1.2-2.8 1.7-4.2c24-9.4 40.8-32.7 40.8-59.6V228.9c0-26.9-16.7-50.3-40.8-59.6c-.6-1.4-1.1-2.8-1.7-4.2c10.4-23.6 5.7-51.9-13.4-71L417.9 55.8c-19-19-47.4-23.7-71-13.4c-1.4-.6-2.8-1.2-4.2-1.7C333.4 16.7 310 0 283.1 0H228.9zM384 256a128 128 0 1 0 -256 0 128 128 0 1 0 256 0zM232 184a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm-67.3 42.3a24 24 0 1 1 45.7 14.8 24 24 0 1 1 -45.7-14.8zm152.4-15.4a24 24 0 1 1 14.8 45.7 24 24 0 1 1 -14.8-45.7zm-4.6 122.7a24 24 0 1 1 -28.2-38.8 24 24 0 1 1 28.2 38.8zm-79.3-5.3a24 24 0 1 1 -38.8-28.2 24 24 0 1 1 38.8 28.2z\"]\n};\nvar faLightbulbDollar = {\n prefix: 'far',\n iconName: 'lightbulb-dollar',\n icon: [384, 512, [], \"f670\", \"M320 176c0 27.2-8.4 52.3-22.8 72.9c-3.7 5.3-8.1 11.3-12.7 17.7l0 0 0 0 0 0 0 0c-12.9 17.7-28.3 38.9-39.8 59.8c-10.4 19-15.7 38.8-18.3 57.5H275c2.2-12 5.9-23.7 11.8-34.5c9.9-18 22.2-34.9 34.5-51.8l0 0 0 0 0 0c5.2-7.1 10.4-14.2 15.4-21.4c19.8-28.5 31.4-63 31.4-100.3C368 78.8 289.2 0 192 0S16 78.8 16 176c0 37.3 11.6 71.9 31.4 100.3c5 7.2 10.2 14.3 15.4 21.4l0 0 0 0c12.3 16.8 24.6 33.7 34.5 51.8c5.9 10.8 9.6 22.5 11.8 34.5h48.6c-2.6-18.7-7.9-38.6-18.3-57.5c-11.5-20.9-26.9-42.1-39.8-59.8l0 0c-4.7-6.4-9-12.4-12.8-17.7C72.4 228.3 64 203.2 64 176c0-70.7 57.3-128 128-128s128 57.3 128 128zM192 512c44.2 0 80-35.8 80-80V416H112v16c0 44.2 35.8 80 80 80zm16-400c0-8.8-7.2-16-16-16s-16 7.2-16 16v9.5c-6.1 1.2-12.3 3.2-18 6.3c-11.8 6.3-23 18.4-21.8 37.2c1 16 11.7 25.3 21.6 30.7c8.8 4.7 19.7 7.8 28.6 10.3l1.8 .5c10.3 2.9 17.9 5.2 23.2 8.3c4.5 2.7 4.7 4.2 4.7 5.6c.1 2.4-.5 3.7-1 4.5c-.6 1-1.8 2.2-4 3.3c-4.7 2.5-11.8 3.8-18.5 3.6c-9.5-.3-18.5-3.1-29.9-6.8c-1.9-.6-3.8-1.2-5.8-1.8c-8.4-2.6-17.4 2.1-20 10.5s2.1 17.4 10.5 20c1.6 .5 3.3 1 5 1.6l0 0 0 0c7.1 2.3 15.1 4.9 23.7 6.6v11.4c0 8.8 7.2 16 16 16s16-7.2 16-16V262.7c6.2-1.1 12.5-3.1 18.3-6.2c12.1-6.5 22.3-18.7 21.7-36.9c-.5-16.2-10.3-26.3-20.5-32.3c-9.4-5.6-21.2-8.9-30.5-11.5l-.2 0c-10.4-2.9-18.3-5.2-23.9-8.2c-4.8-2.6-4.8-4-4.8-4.5l0-.1c-.1-1.9 .3-2.9 .8-3.6c.6-.9 1.8-2.1 4.2-3.4c5.1-2.7 12.5-4.1 18.7-4c8.2 .1 17.1 1.8 26.4 4.1c8.6 2.1 17.3-3.1 19.4-11.7s-3.1-17.3-11.7-19.4c-5.6-1.4-11.6-2.7-17.9-3.7V112z\"]\n};\nvar faCowbell = {\n prefix: 'far',\n iconName: 'cowbell',\n icon: [448, 512, [], \"f8b3\", \"M176 48h96V96H176V48zm-48-8V96H112c-21.4 0-40.3 14.2-46.2 34.8l-64 224c-4.1 14.5-1.2 30.1 7.8 42.1S32.9 416 48 416H400c15.1 0 29.3-7.1 38.3-19.1s12-27.6 7.8-42.1l-64-224C376.3 110.2 357.4 96 336 96H320V40c0-22.1-17.9-40-40-40H168c-22.1 0-40 17.9-40 40zM112 144H336l64 224H48l64-224zM288 448H160c0 35.3 28.7 64 64 64s64-28.7 64-64z\"]\n};\nvar faBahtSign = {\n prefix: 'far',\n iconName: 'baht-sign',\n icon: [320, 512, [], \"e0ac\", \"M136 0c-13.3 0-24 10.7-24 24V64H37.6C16.8 64 0 80.8 0 101.6V232v41.7V280 406.3c0 23 18.7 41.7 41.7 41.7H112v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448h52c59.6 0 108-48.4 108-108c0-42.1-24.1-78.5-59.2-96.4C277.7 224.6 288 199.5 288 172c0-59.6-48.4-108-108-108H160V24c0-13.3-10.7-24-24-24zM112 112V232H48V112h64zm48 120V112h20c33.1 0 60 26.9 60 60s-26.9 60-60 60H160zm-48 48V400H48V280h64zm48 120V280h20 32c33.1 0 60 26.9 60 60s-26.9 60-60 60H160z\"]\n};\nvar faCorner = {\n prefix: 'far',\n iconName: 'corner',\n icon: [448, 512, [], \"e3fe\", \"M0 184c0-13.3 10.7-24 24-24H392c30.9 0 56 25.1 56 56V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V216c0-4.4-3.6-8-8-8H24c-13.3 0-24-10.7-24-24z\"]\n};\nvar faChevronsRight = {\n prefix: 'far',\n iconName: 'chevrons-right',\n icon: [512, 512, [\"chevron-double-right\"], \"f324\", \"M465 239c9.4 9.4 9.4 24.6 0 33.9L273 465c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l175-175L239 81c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L465 239zM81 47L273 239c9.4 9.4 9.4 24.6 0 33.9L81 465c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l175-175L47 81c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0z\"]\n};\nvar faChevronDoubleRight = faChevronsRight;\nvar faBookOpen = {\n prefix: 'far',\n iconName: 'book-open',\n icon: [576, 512, [128214, 128366], \"f518\", \"M156 32C100.6 32 48.8 46.6 27.1 53.6C10.3 59 0 74.5 0 91.1V403.5c0 26.1 24 44.2 48 40.2c19.8-3.3 54.8-7.7 100-7.7c54 0 97.5 25.5 112.5 35.6c7.5 5 16.8 8.4 27 8.4c11.5 0 21.6-4.2 29.3-9.9C330.2 460.3 369.1 436 428 436c47.7 0 80.5 4 99 7.2c23.9 4.1 49-13.8 49-40.6V91.1c0-16.5-10.3-32.1-27.1-37.5C527.2 46.6 475.4 32 420 32c-36.8 0-71.8 6.4-97.4 12.7c-12.8 3.2-23.5 6.3-30.9 8.7c-1.3 .4-2.6 .8-3.7 1.2c-1.1-.4-2.4-.8-3.7-1.2c-7.5-2.4-18.1-5.5-30.9-8.7C227.8 38.4 192.8 32 156 32zM264 97.3V417.9C238 404.2 196.8 388 148 388c-42.9 0-77.4 3.7-100 7.1V97.3C70.3 90.6 112.4 80 156 80c31.6 0 62.6 5.6 85.9 11.3c8.6 2.1 16.1 4.2 22.1 6zm48 319.2V97.3c6-1.8 13.5-3.9 22.1-6C357.4 85.6 388.4 80 420 80c43.6 0 85.7 10.6 108 17.3V394.7c-21.7-3.3-54.9-6.7-100-6.7c-51.4 0-90.8 15-116 28.6z\"]\n};\nvar faBookJournalWhills = {\n prefix: 'far',\n iconName: 'book-journal-whills',\n icon: [448, 512, [\"journal-whills\"], \"f66a\", \"M0 88C0 39.4 39.4 0 88 0H392c30.9 0 56 25.1 56 56V344c0 22.3-13.1 41.6-32 50.6V464h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H80c-44.2 0-80-35.8-80-80c0-2.7 .1-5.4 .4-8H0V88zM80 400c-17.7 0-32 14.3-32 32s14.3 32 32 32H368V400H80zM48 358.7c9.8-4.3 20.6-6.7 32-6.7H392c4.4 0 8-3.6 8-8V56c0-4.4-3.6-8-8-8H88C65.9 48 48 65.9 48 88V358.7zM148.8 190.5c3.4 3.4 8.9 3.4 12.3 0s3.4-8.9 0-12.3l-28.8-28.9c8.2-17 20.2-31.8 35-43.4c3.9-3.1 9.3 1.9 7.9 6.7c-6.9 23.5-.9 49.4 16.5 67.2c3.3 3.4 3.6 8.8 .9 12.6c-11 15.4-14.4 35.2-8.7 53.5c6.4 21.1 24 37.2 45.7 41.7L231 252l-11.3 7.8c-.7 .4-1.6 .7-2.5 .7c-1.1 0-2.2-.4-3-1.1c-.8-1-1.4-2-1.4-3.3c0-.7 .3-1.5 .5-2.2l9.4-15.5-19.6-4.1c-1.9-.4-3.4-2.3-3.4-4.4s1.5-3.8 3.4-4.2l19.6-4.1L213.4 206c-1-1.8-.7-4.1 .8-5.5s3.8-1.6 5.5-.4l13.1 8.9 5-120.8c.1-2.5 2-4.2 4.4-4.2s4.2 1.8 4.4 4.2l5.2 122.5 15.4-10.5c.6-.5 1.5-.7 2.3-.8c0 0 .1 0 .1 0c1.6 0 3 .8 3.8 2.2s.7 3.1-.1 4.5L264 221.6l19.6 4.1c1.9 .4 3.4 2.2 3.4 4.2s-1.5 4-3.4 4.4l-19.6 4 9.3 15.7c.8 1.4 1 3 .1 4.4s-2.2 2.2-3.8 2.2c-.8 0-1.8-.3-2.5-.7l-13.8-9.4 1.5 37.4c21.7-4.5 39.3-20.6 45.7-41.7c5.7-18.3 2.3-38.2-8.7-53.5c-2.8-3.8-2.4-9.3 .9-12.7c17.4-17.9 23.4-43.8 16.4-67.3c-1.4-4.8 4-9.7 7.9-6.7c14.8 11.5 26.8 26.4 35 43.5l-28.8 28.9c-3.4 3.4-3.4 8.9 0 12.3s8.9 3.4 12.3 0l23.2-23.2c3.3 11 5.6 22.5 5.6 34.5c0 .3 0 .5-.1 .8s-.1 .5-.1 .8l-40.5 35.5c-1.8 1.8-2.9 4.1-3 6.5c.1 2 .8 4.1 2.2 5.7c1.8 1.8 4.1 2.9 6.5 3c2.2 0 4.2-.8 5.7-2.2L361 229.5C348.3 283.6 300.1 324 242.2 324s-106.1-40.4-118.8-94.5L149.2 252c1.6 1.4 3.7 2 5.7 2.2c3.7 0 6.8-2.3 8.2-5.6c1.2-3.4 .3-7.4-2.5-9.7l-40.5-35.5c0-.3 0-.5-.1-.8s-.1-.5-.1-.8c0-12 2.3-23.5 5.6-34.5l23.2 23.2z\"]\n};\nvar faJournalWhills = faBookJournalWhills;\nvar faInhaler = {\n prefix: 'far',\n iconName: 'inhaler',\n icon: [576, 512, [], \"f5f9\", \"M429.8 32.7l128 32c6.3 1.6 11.6 5.6 14.9 11.2s4.1 12.2 2.4 18.4L533.2 248 386.9 101.6l14-51.8c3.4-12.6 16.3-20.2 29-17zM389 216.9l-2.1 7.8C379.4 252.6 354 272 325.1 272H240V432H449.9l33-121.2-94-94zM530 290c4.1 4.1 5.6 10 4.1 15.5l-39.5 145C489.8 467.9 474 480 456 480H232c-22.1 0-40-17.9-40-40V264c0-22.1 17.9-40 40-40h93.1c7.2 0 13.6-4.9 15.4-11.8L357 150.9c3.2-11.9 18.1-15.9 26.8-7.2L530 290zM0 256a32 32 0 1 1 64 0A32 32 0 1 1 0 256zm0 96a32 32 0 1 1 64 0A32 32 0 1 1 0 352zm128-80a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM0 448a32 32 0 1 1 64 0A32 32 0 1 1 0 448zm128-80a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faHandcuffs = {\n prefix: 'far',\n iconName: 'handcuffs',\n icon: [640, 512, [], \"e4f8\", \"M240 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM192 48a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm-32 80c17.7 0 32 14.3 32 32h8c13.3 0 24 10.7 24 24v16c0 1.7-.2 3.4-.5 5.1C280.3 229.6 320 286.2 320 352c0 88.4-71.6 160-160 160S0 440.4 0 352c0-65.8 39.7-122.4 96.5-146.9c-.4-1.6-.5-3.3-.5-5.1V184c0-13.3 10.7-24 24-24h8c0-17.7 14.3-32 32-32zm0 336a112 112 0 1 0 0-224 112 112 0 1 0 0 224zM352 352c0-25.9-5.1-50.5-14.4-73.1c16.9-32.9 44.8-59.1 78.9-73.9c-.4-1.6-.5-3.3-.5-5.1V184c0-13.3 10.7-24 24-24h8c0-17.7 14.3-32 32-32s32 14.3 32 32h8c13.3 0 24 10.7 24 24v16c0 1.7-.2 3.4-.5 5.1C600.3 229.6 640 286.2 640 352c0 88.4-71.6 160-160 160c-62 0-115.8-35.3-142.4-86.9c9.3-22.5 14.4-47.2 14.4-73.1zm240 0a112 112 0 1 0 -224 0 112 112 0 1 0 224 0zM368 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm80 48a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faSnake = {\n prefix: 'far',\n iconName: 'snake',\n icon: [512, 512, [128013], \"f716\", \"M305.6 96H282.9 168C110.6 96 64 142.6 64 200s46.6 104 104 104H320c35.3 0 64 28.7 64 64s-28.7 64-64 64H256.1 256l0 0H118.7c-7.5 0-14.8 1.7-21.5 5.1L75.3 448l21.9 10.9c6.7 3.3 14 5.1 21.5 5.1h57.2 .1l.1 0 .1 0L320 464c53 0 96-43 96-96s-43-96-96-96H168c-39.8 0-72-32.2-72-72s32.2-72 72-72H282.9h22.7L320 145.5c11.6 14.1 29 22.5 47.6 22.5c9 0 17.9-2 26.1-5.8l54.4-25.4c9.6-4.5 15.8-14.2 15.8-24.8s-6.2-20.3-15.8-24.8L393.8 61.8C385.6 58 376.7 56 367.7 56c-18.6 0-36 8.4-47.6 22.5L305.6 96zM176 512l-.1 0H118.7c-14.9 0-29.6-3.5-42.9-10.1L14.3 471.2C5.5 466.8 0 457.8 0 448s5.5-18.8 14.3-23.2l61.4-30.7c6.5-3.3 13.3-5.7 20.4-7.4c7.4-1.8 14.9-2.7 22.6-2.7H168h88l.1 0h36.2H320c8.8 0 16-7.2 16-16s-7.2-16-16-16H292.3 256.1h0H256h0H168c-17.3 0-33.9-2.9-49.3-8.2c-5.7-2-11.3-4.2-16.7-6.8c-50.9-24.6-86-76.7-86-137C16 116.1 84.1 48 168 48H282.9c20.6-25.1 51.6-40 84.7-40c16 0 31.9 3.5 46.4 10.3l54.4 25.4C495 56.1 512 82.7 512 112s-17 55.9-43.5 68.3l-49.6 23.1-4.9 2.3c-14.5 6.8-30.4 10.3-46.4 10.3c-16.8 0-33-3.8-47.7-10.9c-14.2-6.9-26.9-16.7-37.1-29.1H168c-13.3 0-24 10.7-24 24s10.7 24 24 24h94.7 20.2H320c16.7 0 32.7 2.8 47.7 8.1c16.5 5.8 31.6 14.5 44.7 25.5C443.9 283.9 464 323.6 464 368c0 79.5-64.5 144-144 144H176zM352 88a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm16 32a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faTriangleExclamation = {\n prefix: 'far',\n iconName: 'triangle-exclamation',\n icon: [512, 512, [9888, \"exclamation-triangle\", \"warning\"], \"f071\", \"M248.4 84.3c1.6-2.7 4.5-4.3 7.6-4.3s6 1.6 7.6 4.3L461.9 410c1.4 2.3 2.1 4.9 2.1 7.5c0 8-6.5 14.5-14.5 14.5H62.5c-8 0-14.5-6.5-14.5-14.5c0-2.7 .7-5.3 2.1-7.5L248.4 84.3zm-41-25L9.1 385c-6 9.8-9.1 21-9.1 32.5C0 452 28 480 62.5 480h387c34.5 0 62.5-28 62.5-62.5c0-11.5-3.2-22.7-9.1-32.5L304.6 59.3C294.3 42.4 275.9 32 256 32s-38.3 10.4-48.6 27.3zM288 368a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-8-184c0-13.3-10.7-24-24-24s-24 10.7-24 24v96c0 13.3 10.7 24 24 24s24-10.7 24-24V184z\"]\n};\nvar faExclamationTriangle = faTriangleExclamation;\nvar faWarning = faTriangleExclamation;\nvar faNoteMedical = {\n prefix: 'far',\n iconName: 'note-medical',\n icon: [448, 512, [], \"e200\", \"M384 80c8.8 0 16 7.2 16 16V320H320c-17.7 0-32 14.3-32 32v80H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H384zM64 480H288h5.5c17 0 33.3-6.7 45.3-18.7l90.5-90.5c12-12 18.7-28.3 18.7-45.3V320 96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64zM192 144v48H144c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V256h48c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H256V144c0-8.8-7.2-16-16-16H208c-8.8 0-16 7.2-16 16z\"]\n};\nvar faDatabase = {\n prefix: 'far',\n iconName: 'database',\n icon: [448, 512, [], \"f1c0\", \"M400 86v88.7c-13.3 7.2-31.6 14.2-54.8 19.9C311.3 203 269.5 208 224 208s-87.3-5-121.2-13.4C79.6 188.9 61.3 182 48 174.7V86l.6-.5C53.9 81 64.5 74.8 81.8 68.6C115.9 56.5 166.2 48 224 48s108.1 8.5 142.2 20.6c17.3 6.2 27.8 12.4 33.2 16.9l.6 .5zm0 141.5v75.2c-13.3 7.2-31.6 14.2-54.8 19.9C311.3 331 269.5 336 224 336s-87.3-5-121.2-13.4C79.6 316.9 61.3 310 48 302.7V227.6c13.3 5.3 27.9 9.9 43.3 13.7C129.5 250.6 175.2 256 224 256s94.5-5.4 132.7-14.8c15.4-3.8 30-8.3 43.3-13.7zM48 426V355.6c13.3 5.3 27.9 9.9 43.3 13.7C129.5 378.6 175.2 384 224 384s94.5-5.4 132.7-14.8c15.4-3.8 30-8.3 43.3-13.7V426l-.6 .5c-5.3 4.5-15.9 10.7-33.2 16.9C332.1 455.5 281.8 464 224 464s-108.1-8.5-142.2-20.6c-17.3-6.2-27.8-12.4-33.2-16.9L48 426zm354.1-2.1s0 .1-.2 .2l.1-.2 0-.1zm-356.1 0a.3 .3 0 1 0 .6-.2 .3 .3 0 1 0 -.6 .2zm0-335.8a.3 .3 0 1 0 .5 .2 .3 .3 0 1 0 -.5-.2zm356-.2a.3 .3 0 1 0 -.1 .6 .3 .3 0 1 0 .1-.6zM448 432V80C448 35.8 347.7 0 224 0S0 35.8 0 80V432c0 44.2 100.3 80 224 80s224-35.8 224-80z\"]\n};\nvar faDownLeft = {\n prefix: 'far',\n iconName: 'down-left',\n icon: [384, 512, [], \"e16a\", \"M64 384V190.6c0-1.7 .8-3.2 2.1-4.2c2.1-1.6 5-1.4 6.9 .5L127 241c9.4 9.4 24.6 9.4 33.9 0L285.7 116.3c2.7-2.7 6.5-4.3 10.3-4.3s7.6 1.5 10.3 4.3l25.4 25.4c2.7 2.7 4.3 6.5 4.3 10.3s-1.5 7.6-4.3 10.3L207 287c-9.4 9.4-9.4 24.6 0 33.9L261.1 375c1.8 1.8 2.1 4.8 .5 6.9c-1 1.3-2.5 2.1-4.2 2.1H64zm-48 8c0 22.1 17.9 40 40 40H257.4c16.8 0 32.5-7.9 42.6-21.3c15.9-21.2 13.8-50.9-4.9-69.6L257.9 304 365.7 196.3C377.4 184.5 384 168.6 384 152s-6.6-32.5-18.3-44.3L340.3 82.4C328.5 70.6 312.6 64 296 64s-32.5 6.6-44.3 18.3L144 190.1 106.9 153c-18.7-18.7-48.4-20.8-69.6-5C23.9 158.1 16 173.9 16 190.6V392z\"]\n};\nvar faShare = {\n prefix: 'far',\n iconName: 'share',\n icon: [512, 512, [\"mail-forward\"], \"f064\", \"M288 240H192c-66.2 0-122 44.7-138.8 105.5C49.9 333.1 48 319.3 48 304c0-70.7 57.3-128 128-128H288h24c13.3 0 24-10.7 24-24V128 99.9L456.1 208 336 316.1V288 264c0-13.3-10.7-24-24-24H288zm0 48v48 16c0 12.6 7.4 24.1 19 29.2s25 3 34.4-5.4l160-144c6.7-6.1 10.6-14.7 10.6-23.8s-3.8-17.7-10.6-23.8l-160-144c-9.4-8.5-22.9-10.6-34.4-5.4s-19 16.6-19 29.2V80v48H240 176C78.8 128 0 206.8 0 304c0 78 38.6 126.2 68.7 152.1c4.1 3.5 8.1 6.6 11.7 9.3c3.2 2.4 6.2 4.4 8.9 6.2c4.5 3 8.3 5.1 10.8 6.5c2.5 1.4 5.3 1.9 8.1 1.9c10.9 0 19.7-8.9 19.7-19.7c0-6.8-3.6-13.2-8.3-18.1c-.5-.5-.9-.9-1.4-1.4c-2.4-2.3-5.1-5.1-7.7-8.6c-1.7-2.3-3.4-5-5-7.9c-5.3-9.7-9.5-22.9-9.5-40.2c0-53 43-96 96-96h48 48z\"]\n};\nvar faMailForward = faShare;\nvar faFaceThinking = {\n prefix: 'far',\n iconName: 'face-thinking',\n icon: [512, 512, [], \"e39b\", \"M256 464c114.9 0 208-93.1 208-208s-93.1-208-208-208S48 141.1 48 256c0 17.7 2.2 34.8 6.4 51.2C40.8 317.4 32 333.7 32 352v28C11.6 343.3 0 301 0 256C0 114.6 114.6 0 256 0S512 114.6 512 256s-114.6 256-256 256c-10.6 0-21.1-.6-31.4-1.9c4-5.7 7.3-12 9.8-18.8l10.1-27.7c3.8 .2 7.7 .3 11.6 .3zm43-158.9c-9.9-2-20.5-1.3-30.7 2.5L237.9 319l-65.5-15.4c-8.6-2-13.9-10.6-11.9-19.2s10.6-13.9 19.2-11.9l97.1 22.8c8.2 1.9 15.7 5.3 22.3 9.8zM144.4 192a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-16a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm-120-31.2c-20.5-17.6-49.9-20.4-73.4-7l-7.1 4c-7.7 4.4-17.4 1.7-21.8-6s-1.7-17.4 6-21.8l7.1-4c35.2-20.1 79.3-15.9 110.1 10.5l13.2 11.3c6.7 5.8 7.5 15.9 1.7 22.6s-15.9 7.5-22.6 1.7l-13.2-11.3zM112 352v48.4l167.6-62.8c12.4-4.7 26.2 1.6 30.9 14s-1.6 26.2-14 30.9L230.9 407c-.1 .4-.3 .8-.4 1.2l-26.3 72.2c-6.9 19-24.9 31.6-45.1 31.6H112c-26.5 0-48-21.5-48-48V352c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faTurnDownRight = {\n prefix: 'far',\n iconName: 'turn-down-right',\n icon: [512, 512, [], \"e455\", \"M505.5 271.6c8.7 9.2 8.7 23.7 0 32.9l-121.4 129c-8.8 9.3-21 14.6-33.7 14.6c-25.6 0-46.3-20.7-46.3-46.3l0-41.7-144 0C71.6 360 0 288.4 0 200L0 88C0 57.1 25.1 32 56 32l32 0c30.9 0 56 25.1 56 56l0 120c0 4.4 3.6 8 8 8l152 0 0-41.7c0-25.6 20.7-46.3 46.3-46.3c12.8 0 25 5.3 33.7 14.6l121.4 129zM352 178.5l0 61.5c0 13.3-10.7 24-24 24l-176 0c-30.9 0-56-25.1-56-56L96 88c0-4.4-3.6-8-8-8L56 80c-4.4 0-8 3.6-8 8l0 112c0 61.9 50.1 112 112 112l168 0c13.3 0 24 10.7 24 24l0 61.5L455 288 352 178.5z\"]\n};\nvar faBottleDroplet = {\n prefix: 'far',\n iconName: 'bottle-droplet',\n icon: [320, 512, [], \"e4c4\", \"M128 48V152.2c0 16-8 31-21.3 39.9C80.9 209.4 64 238.8 64 272V448c0 8.8 7.2 16 16 16H240c8.8 0 16-7.2 16-16V272c0-33.2-16.9-62.6-42.7-79.9C200 183.2 192 168.3 192 152.2V48l-64 0zM256 24c0 10.4-6.7 19.3-16 22.6V152.2c38.6 25.8 64 69.8 64 119.8V448c0 35.3-28.7 64-64 64H80c-35.3 0-64-28.7-64-64V272c0-49.9 25.4-93.9 64-119.8V46.6C70.7 43.3 64 34.5 64 24C64 10.7 74.7 0 88 0L232 0c13.3 0 24 10.7 24 24zM160 384c-26.5 0-48-21.5-48-48c0-22.2 23-52 37.2-68.2c5.8-6.7 15.9-6.7 21.7 0C185 284 208 313.8 208 336c0 32-21.5 48-48 48z\"]\n};\nvar faMaskFace = {\n prefix: 'far',\n iconName: 'mask-face',\n icon: [640, 512, [], \"e1d7\", \"M320 112c17.7 0 35 5.2 49.8 15.1l37.1 24.8c23.7 15.8 51.4 24.2 79.9 24.2H496v48c0 59.5-29.5 112.1-74.7 143.9l-3.1 .8 .3 1.2c-28.1 19-62 30.1-98.5 30.1s-70.4-11.1-98.5-30.1l.3-1.2-3.1-.8C173.5 336.1 144 283.5 144 224V176h9.2c28.4 0 56.2-8.4 79.9-24.2l37.1-24.8c14.7-9.8 32-15.1 49.8-15.1zM96 224c0 45.1 13.4 87.2 36.3 122.3l-29.8-7.4C70.5 330.9 48 302.1 48 269V184c0-4.4 3.6-8 8-8H96v48zM90.9 385.5l108 27C233.8 435 275.4 448 320 448s86.2-13 121.1-35.5l108-27C602.5 372.1 640 324.1 640 269V184c0-30.9-25.1-56-56-56H512 496h-9.2c-19 0-37.5-5.6-53.3-16.1L396.4 87.1C373.8 72 347.2 64 320 64s-53.8 8-76.4 23.1l-37.1 24.8c-15.8 10.5-34.3 16.1-53.3 16.1H144 128 56c-30.9 0-56 25.1-56 56v85c0 55.1 37.5 103.1 90.9 116.4zm446.6-46.6l-29.8 7.4c23-35.2 36.3-77.2 36.3-122.3V176h40c4.4 0 8 3.6 8 8v85c0 33-22.5 61.8-54.5 69.9zM208 192c-8.8 0-16 7.2-16 16s7.2 16 16 16H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H208zm-16 80c0 8.8 7.2 16 16 16H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H208c-8.8 0-16 7.2-16 16zm48 48c-8.8 0-16 7.2-16 16s7.2 16 16 16H400c8.8 0 16-7.2 16-16s-7.2-16-16-16H240z\"]\n};\nvar faHillRockslide = {\n prefix: 'far',\n iconName: 'hill-rockslide',\n icon: [576, 512, [], \"e508\", \"M128 64a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm124.4 71.8c-2.7-4.9-2.7-10.8 0-15.7l27-48c2.8-5 8.2-8.2 13.9-8.2l53.3 0c5.8 0 11.1 3.1 13.9 8.2l27 48c2.7 4.9 2.7 10.8 0 15.7l-27 48c-2.8 5-8.2 8.2-13.9 8.2H293.4c-5.8 0-11.1-3.1-13.9-8.2l-27-48zM48 145.9V440c0 13.3 10.7 24 24 24H366.1L48 145.9zM0 126.6C0 91 43.1 73.1 68.3 98.3L413.7 443.7c25.2 25.2 7.4 68.3-28.3 68.3H72c-39.8 0-72-32.2-72-72V126.6zm504.2 277l-48-27c-5-2.8-8.2-8.2-8.2-13.9V309.4c0-5.8 3.1-11.1 8.2-13.9l48-27c4.9-2.7 10.8-2.7 15.7 0l48 27c5 2.8 8.2 8.2 8.2 13.9v53.3c0 5.8-3.1 11.1-8.2 13.9l-48 27c-4.9 2.7-10.8 2.7-15.7 0zM352 256a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faScannerKeyboard = {\n prefix: 'far',\n iconName: 'scanner-keyboard',\n icon: [512, 512, [], \"f489\", \"M128 24V64h48V24c0-13.3-10.7-24-24-24s-24 10.7-24 24zm176 0V64h48V24c0-13.3-10.7-24-24-24s-24 10.7-24 24zM240 0c-8.8 0-16 7.2-16 16V64h32V16c0-8.8-7.2-16-16-16zM384 16V272c0 8.8 7.2 16 16 16s16-7.2 16-16V16c0-8.8-7.2-16-16-16s-16 7.2-16 16zM488 0c-13.3 0-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V24c0-13.3-10.7-24-24-24zM64 144H288c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V160c0-8.8 7.2-16 16-16zm0-48C28.7 96 0 124.7 0 160V448c0 35.3 28.7 64 64 64H288c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H64zm40 80c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24H248c13.3 0 24-10.7 24-24V200c0-13.3-10.7-24-24-24H104zM96 304c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V320c0-8.8-7.2-16-16-16H96zM80 400v16c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V400c0-8.8-7.2-16-16-16H96c-8.8 0-16 7.2-16 16zm128-96c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V320c0-8.8-7.2-16-16-16H208zm-16 96v16c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V400c0-8.8-7.2-16-16-16H208c-8.8 0-16 7.2-16 16z\"]\n};\nvar faCircleO = {\n prefix: 'far',\n iconName: 'circle-o',\n icon: [512, 512, [], \"e119\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm80-256a80 80 0 1 1 -160 0 80 80 0 1 1 160 0zM256 128a128 128 0 1 0 0 256 128 128 0 1 0 0-256z\"]\n};\nvar faGridHorizontal = {\n prefix: 'far',\n iconName: 'grid-horizontal',\n icon: [448, 512, [], \"e307\", \"M40 168v48H88V168H40zM0 168c0-22.1 17.9-40 40-40H88c22.1 0 40 17.9 40 40v48c0 22.1-17.9 40-40 40H40c-22.1 0-40-17.9-40-40V168zM40 328v48H88V328H40zM0 328c0-22.1 17.9-40 40-40H88c22.1 0 40 17.9 40 40v48c0 22.1-17.9 40-40 40H40c-22.1 0-40-17.9-40-40V328zM248 168H200v48h48V168zm-48-40h48c22.1 0 40 17.9 40 40v48c0 22.1-17.9 40-40 40H200c-22.1 0-40-17.9-40-40V168c0-22.1 17.9-40 40-40zm0 200v48h48V328H200zm-40 0c0-22.1 17.9-40 40-40h48c22.1 0 40 17.9 40 40v48c0 22.1-17.9 40-40 40H200c-22.1 0-40-17.9-40-40V328zM408 168H360v48h48V168zm-48-40h48c22.1 0 40 17.9 40 40v48c0 22.1-17.9 40-40 40H360c-22.1 0-40-17.9-40-40V168c0-22.1 17.9-40 40-40zm0 200v48h48V328H360zm-40 0c0-22.1 17.9-40 40-40h48c22.1 0 40 17.9 40 40v48c0 22.1-17.9 40-40 40H360c-22.1 0-40-17.9-40-40V328z\"]\n};\nvar faMessageDollar = {\n prefix: 'far',\n iconName: 'message-dollar',\n icon: [512, 512, [\"comment-alt-dollar\"], \"f650\", \"M208 416c0-26.5-21.5-48-48-48H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H448c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H309.3c-10.4 0-20.5 3.4-28.8 9.6L208 432V416zm-.2 76.2l.2-.2 101.3-76H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h48 48v48 4 .3 6.4V496c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L202.7 496l5.1-3.8zM276 104c0-11-9-20-20-20s-20 9-20 20v14c-7.6 1.7-15.2 4.4-22.2 8.5c-13.9 8.3-25.9 22.8-25.8 43.9c.1 20.3 12 33.1 24.7 40.7c11 6.6 24.7 10.8 35.6 14l1.7 .5c12.6 3.8 21.8 6.8 28 10.7c5.1 3.2 5.8 5.4 5.9 8.2c.1 5-1.8 8-5.9 10.5c-5 3.1-12.9 5-21.4 4.7c-11.1-.4-21.5-3.9-35.1-8.5c-2.3-.8-4.7-1.6-7.2-2.4c-10.5-3.5-21.8 2.2-25.3 12.6s2.2 21.8 12.6 25.3c1.9 .6 4 1.3 6.1 2.1l0 0 0 0c8.3 2.9 17.9 6.2 28.2 8.4V312c0 11 9 20 20 20s20-9 20-20V298.2c8-1.7 16-4.5 23.2-9c14.3-8.9 25.1-24.1 24.8-45c-.3-20.3-11.7-33.4-24.6-41.6c-11.5-7.2-25.9-11.6-37.1-15l-.7-.2c-12.8-3.9-21.9-6.7-28.3-10.5c-5.2-3.1-5.3-4.9-5.3-6.7c0-3.7 1.4-6.5 6.2-9.3c5.4-3.2 13.6-5.1 21.5-5c9.6 .1 20.2 2.2 31.2 5.2c10.7 2.8 21.6-3.5 24.5-14.2s-3.5-21.6-14.2-24.5c-6.5-1.7-13.7-3.4-21.1-4.7V104z\"]\n};\nvar faCommentAltDollar = faMessageDollar;\nvar faRightLeft = {\n prefix: 'far',\n iconName: 'right-left',\n icon: [512, 512, [\"exchange-alt\"], \"f362\", \"M336 215c0 22.6 18.3 41 41 41c10.9 0 21.3-4.3 29-12l99-99c4.5-4.5 7-10.6 7-17s-2.5-12.5-7-17l-99-99c-7.7-7.7-18.1-12-29-12c-22.6 0-41 18.3-41 41v63H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H336v63zm118.1-87L384 198.1V57.9L454.1 128zM135 256c-10.9 0-21.3 4.3-29 12L7 367c-4.5 4.5-7 10.6-7 17s2.5 12.5 7 17l99 99c7.7 7.7 18.1 12 29 12c22.6 0 41-18.3 41-41V408H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H176V297c0-22.6-18.3-41-41-41zm-7 198.1L57.9 384 128 313.9V454.1z\"]\n};\nvar faExchangeAlt = faRightLeft;\nvar faColumns3 = {\n prefix: 'far',\n iconName: 'columns-3',\n icon: [640, 512, [], \"e361\", \"M448 80V432H576c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H448zm-48 0H240V432H400V80zM192 432V80H64c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H192zM0 96C0 60.7 28.7 32 64 32H576c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96z\"]\n};\nvar faPaperPlane = {\n prefix: 'far',\n iconName: 'paper-plane',\n icon: [512, 512, [61913], \"f1d8\", \"M16.1 260.2c-22.6 12.9-20.5 47.3 3.6 57.3L160 376V479.3c0 18.1 14.6 32.7 32.7 32.7c9.7 0 18.9-4.3 25.1-11.8l62-74.3 123.9 51.6c18.9 7.9 40.8-4.5 43.9-24.7l64-416c1.9-12.1-3.4-24.3-13.5-31.2s-23.3-7.5-34-1.4l-448 256zm52.1 25.5L409.7 90.6 190.1 336l1.2 1L68.2 285.7zM403.3 425.4L236.7 355.9 450.8 116.6 403.3 425.4z\"]\n};\nvar faRoadCircleExclamation = {\n prefix: 'far',\n iconName: 'road-circle-exclamation',\n icon: [640, 512, [], \"e565\", \"M217.7 32c-30.4 0-57.5 19-67.7 47.6L40.6 383.6C23.7 430.5 58.4 480 108.3 480H360.2c-21.9-26.6-36.2-59.7-39.5-96c-.2 0-.5 0-.7 0c-13.3 0-24 10.7-24 24v24H108.3c-16.6 0-28.2-16.5-22.6-32.1l109.4-304c3.4-9.5 12.5-15.9 22.6-15.9H296v24c0 13.3 10.7 24 24 24s24-10.7 24-24V80h78.3c10.1 0 19.2 6.3 22.6 15.9l34.9 96.9c5.4-.5 10.8-.7 16.3-.7c12.3 0 24.2 1.3 35.8 3.6L490 79.6C479.7 51 452.6 32 422.3 32H217.7zM326.9 319c4.1-14.1 9.8-27.4 17.1-39.8V216c0-13.3-10.7-24-24-24s-24 10.7-24 24v80c0 13.3 10.7 24 24 24c2.4 0 4.7-.4 6.9-1zM496 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-96a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-144c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V288c0-8.8 7.2-16 16-16z\"]\n};\nvar faDungeon = {\n prefix: 'far',\n iconName: 'dungeon',\n icon: [512, 512, [], \"f6d9\", \"M256 128c-6.9 0-13.7 .5-20.4 1.4l-.2 0c-7.8 1-15.6-3-18.5-10.3l-.7-1.8L199 74.3l-.2-.5c-3-7.6 .2-16.2 7.2-19.5c.9-.4 1.9-.8 2.9-1C224.1 49.8 239.8 48 256 48s31.9 1.8 47.1 5.3c1 .2 2 .6 2.9 1c7 3.3 10.3 11.9 7.2 19.5l-.2 .5-17.2 43.1-.7 1.8c-2.9 7.3-10.7 11.3-18.5 10.3l-.2 0c-6.6-.9-13.4-1.4-20.4-1.4zM96 512h32H384h32 32c35.3 0 64-28.7 64-64V408c0-11.7-3.1-22.6-8.6-32c5.4-9.4 8.6-20.3 8.6-32V304c0-11.7-3.1-22.6-8.6-32c5.8-10.2 8.9-22.3 7.8-35.6c-2.2-28.6-9.1-56-19.9-81.2c-6.1-14.3-16.2-24.5-28-30.6c-.6-13.3-5.5-26.7-15.8-38.3c-16.8-18.9-36.4-35.4-58.1-48.7c-13.2-8.1-27.3-10.6-40.5-8.8c-8.2-10.5-20-18.7-35.1-22.1C295.2 2.3 275.9 0 256 0s-39.2 2.3-57.9 6.6C183 10.1 171.2 18.2 163 28.7c-13.2-1.8-27.3 .7-40.5 8.8C100.8 50.8 81.2 67.3 64.4 86.2c-10.2 11.6-15.2 25-15.8 38.3c-11.8 6.2-21.9 16.3-28 30.6C9.8 180.4 2.9 207.8 .7 236.4c-1 13.3 2 25.4 7.8 35.6C3.1 281.4 0 292.3 0 304v40c0 11.7 3.1 22.6 8.6 32C3.1 385.4 0 396.3 0 408v40c0 35.3 28.7 64 64 64H96zM371.4 165.2c-6.4 4.3-14.8 3.3-20.7-1.6l-.2-.2c-5.5-4.8-11.4-9.2-17.6-13.1l-.2-.2c-6.3-4.2-9.6-11.8-7.7-19c.2-.6 .4-1.2 .6-1.8l17.2-43.1 .2-.5c3.2-7.4 11.4-11.1 18.7-8.6c1 .3 1.9 .8 2.8 1.3c17.7 10.8 33.6 24.2 47.2 39.6c.7 .8 1.3 1.7 1.8 2.6c3.8 6.7 1.5 15.4-5.2 19.9l-1.1 .8-32.6 21.7-3.2 2.1zm15.4 46.4l-.2-.4c-2.8-6.5-1.8-14 2.8-19c.9-.9 1.8-1.8 2.9-2.5l32.6-21.7c.4-.3 .8-.5 1.2-.7c6.8-3.8 15.3-2 19.6 4.1c.6 .8 1.1 1.7 1.5 2.7c8.8 20.5 14.4 42.7 16.2 66c0 .6 .1 1.2 0 1.9c-.4 7.9-7.2 14.1-15.4 14.1H416h-2.6c-7.8 0-14.3-5.7-16.4-13.2c-.1-.3-.2-.7-.2-1c-2.2-10.6-5.7-20.7-10.1-30.3zM400 304c0-.5 0-.9 .1-1.4c.6-7.3 6.2-13.3 13.4-14.4c.8-.1 1.7-.2 2.6-.2h32c8.1 0 14.9 6.1 15.9 14c.1 .7 .1 1.4 .1 2v40c0 .7 0 1.3-.1 2c-1 7.9-7.7 14-15.9 14H416c-8.2 0-14.9-6.1-15.9-14c-.1-.6-.1-1.3-.1-2V304zm0 104c0-.7 0-1.3 .1-2c1-7.9 7.7-14 15.9-14h32c8.2 0 14.9 6.1 15.9 14c.1 .6 .1 1.3 .1 2v40c0 8.8-7.2 16-16 16H416c-8.8 0-16-7.2-16-16V408zM147.6 78.5c.9-.6 1.8-1 2.8-1.3c7.3-2.6 15.5 1.2 18.7 8.6l.2 .5 17.2 43.1c.2 .6 .4 1.2 .6 1.8c1.9 7.2-1.4 14.8-7.7 19l-.3 .2c-6.2 3.9-12.1 8.3-17.6 13.1l-.2 .2c-5.9 4.9-14.3 5.9-20.7 1.6l-3.2-2.1-32.6-21.7-1.1-.8c-6.7-4.5-9-13.2-5.2-19.9c.5-.9 1.1-1.8 1.8-2.6c13.7-15.4 29.6-28.8 47.2-39.6zM64.8 174.1c.4-1 .9-1.9 1.5-2.7c4.3-6.1 12.8-7.9 19.6-4.1c.4 .2 .8 .5 1.2 .7l32.6 21.7c1.1 .7 2.1 1.6 2.9 2.5c4.6 5 5.6 12.6 2.8 19l-.2 .4c-4.4 9.6-7.8 19.7-10.1 30.3c-.1 .3-.1 .7-.2 1c-2 7.5-8.6 13.2-16.4 13.2H96 64c-8.2 0-15-6.2-15.4-14.1c0-.6 0-1.2 0-1.9c1.8-23.3 7.4-45.5 16.2-66zM48 304c0-.7 0-1.4 .1-2c1-7.9 7.7-14 15.9-14H96c.9 0 1.7 .1 2.6 .2c7.2 1.2 12.8 7.1 13.4 14.4c0 .5 .1 .9 .1 1.4v40c0 .7 0 1.3-.1 2c-1 7.9-7.7 14-15.9 14H64c-8.2 0-14.9-6.1-15.9-14c-.1-.6-.1-1.3-.1-2V304zm0 104c0-.7 0-1.3 .1-2c1-7.9 7.7-14 15.9-14H96c8.2 0 14.9 6.1 15.9 14c.1 .6 .1 1.3 .1 2v40c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V408zM272 192V448c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8 7.2-16 16-16s16 7.2 16 16zm-64 32V448c0 8.8-7.2 16-16 16s-16-7.2-16-16V224c0-8.8 7.2-16 16-16s16 7.2 16 16zm128 0V448c0 8.8-7.2 16-16 16s-16-7.2-16-16V224c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faHandHoldingBox = {\n prefix: 'far',\n iconName: 'hand-holding-box',\n icon: [576, 512, [], \"f47b\", \"M432 48H352v73.7c0 3.5-2.8 6.3-6.3 6.3c-1.1 0-2.2-.3-3.1-.8l-46.6-26.6c-4.9-2.8-11-2.8-15.9 0l-46.6 26.6c-1 .5-2 .8-3.1 .8c-3.5 0-6.3-2.8-6.3-6.3V48H144V208H432V48zm0-48c26.5 0 48 21.5 48 48V208c0 26.5-21.5 48-48 48H144c-26.5 0-48-21.5-48-48V48c0-26.5 21.5-48 48-48h80H352h80zM187.4 352c-7.9 0-15.6 2.3-22.2 6.7L85.3 412c-3.9 2.6-8.6 4-13.3 4H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H64.7l73.8-49.2C153 309.1 170 304 187.4 304H344c35.3 0 64 28.7 64 64c0 .7 0 1.3 0 2l64.9-40c10.7-6.6 22.9-10 35.5-10h7.4c33.3 0 60.3 27 60.3 60.3c0 20.4-10.4 39.5-27.5 50.6l-95.6 61.9c-19.4 12.6-42.1 19.3-65.2 19.3H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H387.7c13.9 0 27.5-4 39.1-11.6l95.6-61.9c3.5-2.3 5.6-6.1 5.6-10.3c0-6.8-5.5-12.3-12.3-12.3h-7.4c-3.6 0-7.2 1-10.3 2.9l-93.5 57.5c-3.8 2.3-8.1 3.6-12.6 3.6H344 320 256c-13.3 0-24-10.7-24-24s10.7-24 24-24h64 24c8.8 0 16-7.2 16-16s-7.2-16-16-16H187.4z\"]\n};\nvar faInputText = {\n prefix: 'far',\n iconName: 'input-text',\n icon: [640, 512, [], \"e1bf\", \"M64 112c-8.8 0-16 7.2-16 16V384c0 8.8 7.2 16 16 16H576c8.8 0 16-7.2 16-16V128c0-8.8-7.2-16-16-16H64zM0 128C0 92.7 28.7 64 64 64H576c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128zm184 32c9.5 0 18.1 5.6 21.9 14.3l64 144c5.4 12.1-.1 26.3-12.2 31.7s-26.3-.1-31.7-12.2l-4.3-9.7H146.3l-4.3 9.7c-5.4 12.1-19.6 17.6-31.7 12.2s-17.6-19.6-12.2-31.7l64-144c3.9-8.7 12.4-14.3 21.9-14.3zm0 83.1L167.6 280h32.8L184 243.1zM304 184c0-13.3 10.7-24 24-24h52c33.1 0 60 26.9 60 60c0 9.2-2.1 17.9-5.8 25.7c13.3 11 21.8 27.6 21.8 46.3c0 33.1-26.9 60-60 60H328c-13.3 0-24-10.7-24-24v-8V256 192v-8zm48 24v24h28c6.6 0 12-5.4 12-12s-5.4-12-12-12H352zm0 96h44c6.6 0 12-5.4 12-12s-5.4-12-12-12H380 352v24z\"]\n};\nvar faWindowFlip = {\n prefix: 'far',\n iconName: 'window-flip',\n icon: [512, 512, [\"window-alt\"], \"f40f\", \"M512 96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96v64 48 16V416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64V224 208 160 96zM48 224H464l0 192c0 8.8-7.2 16-16 16L64 432c-8.8 0-16-7.2-16-16l0-192zM416 96a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm-64 32a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM224 96a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faWindowAlt = faWindowFlip;\nvar faAlignRight = {\n prefix: 'far',\n iconName: 'align-right',\n icon: [448, 512, [], \"f038\", \"M424 40c13.3 0 24 10.7 24 24s-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24H424zm0 128c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H424zm24 152c0 13.3-10.7 24-24 24H184c-13.3 0-24-10.7-24-24s10.7-24 24-24H424c13.3 0 24 10.7 24 24zM424 424c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H424z\"]\n};\nvar faScannerGun = {\n prefix: 'far',\n iconName: 'scanner-gun',\n icon: [576, 512, [\"scanner\"], \"f488\", \"M112 80c-35.3 0-64 28.7-64 64s28.7 64 64 64H232.4 288h16V80H112zM79.1 251.1C33.3 237.1 0 194.4 0 144C0 82.1 50.1 32 112 32H304c26.5 0 48 21.5 48 48V208c0 26.5-21.5 48-48 48H260L144.3 454.4c-13.4 23-42.9 30.7-65.8 17.2L25 440.1C2.3 426.8-5.4 397.6 7.8 374.8L79.1 251.1zm52.6 4.9L49.4 398.8l53.5 31.4L204.4 256H131.7zM440 32H552c13.3 0 24 10.7 24 24s-10.7 24-24 24H440c-13.3 0-24-10.7-24-24s10.7-24 24-24zM416 216c0-13.3 10.7-24 24-24H552c13.3 0 24 10.7 24 24s-10.7 24-24 24H440c-13.3 0-24-10.7-24-24zm24 216H552c13.3 0 24 10.7 24 24s-10.7 24-24 24H440c-13.3 0-24-10.7-24-24s10.7-24 24-24zM416 144c0-8.8 7.2-16 16-16H560c8.8 0 16 7.2 16 16s-7.2 16-16 16H432c-8.8 0-16-7.2-16-16zm16 144H560c8.8 0 16 7.2 16 16s-7.2 16-16 16H432c-8.8 0-16-7.2-16-16s7.2-16 16-16zm-16 80c0-8.8 7.2-16 16-16H560c8.8 0 16 7.2 16 16s-7.2 16-16 16H432c-8.8 0-16-7.2-16-16z\"]\n};\nvar faScanner = faScannerGun;\nvar faTire = {\n prefix: 'far',\n iconName: 'tire',\n icon: [512, 512, [], \"f631\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm336 .9l39.2 12.8c.5-4.5 .8-9 .8-13.6c0-31.2-11.9-59.6-31.4-80.9l-24.2 33.4c9.8 13.3 15.6 29.7 15.6 47.5c0 .3 0 .6 0 .9zm-14.9 45.6c-10 14-24.4 24.6-41.2 29.9l0 41.3c34.4-7 63.5-28.7 80.4-58.3l-39.3-12.8zM232 373.6l0-41.3c-16.7-5.3-31.1-15.9-41.1-29.8l-39.3 12.8c16.8 29.6 45.9 51.3 80.3 58.3zm-95.2-104L176 256.9c0-.3 0-.6 0-.9c0-17.8 5.8-34.2 15.6-47.5l-1.7-2.3-22.6-31.1C147.9 196.4 136 224.8 136 256c0 4.6 .3 9.2 .8 13.6zm93.6-89.5c8-2.7 16.6-4.2 25.6-4.2s17.6 1.5 25.6 4.2l24.2-33.4c-15.2-6.9-32-10.8-49.8-10.8s-34.6 3.9-49.8 10.8L228.8 178l1.6 2.2zM288 256a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM256 88a168 168 0 1 1 0 336 168 168 0 1 1 0-336z\"]\n};\nvar faEngine = {\n prefix: 'far',\n iconName: 'engine',\n icon: [640, 512, [], \"e16e\", \"M424 88c0 13.3-10.7 24-24 24l-72 0v32l68.6 0c12.6 0 25 3.7 35.5 10.7L483.5 189c17.8 11.9 28.5 31.9 28.5 53.3V384c0 35.3-28.7 64-64 64H254.8c-19.4 0-37.8-8.8-50-24l-32-40H144c-35.3 0-64-28.7-64-64V280H48v72c0 13.3-10.7 24-24 24s-24-10.7-24-24V160c0-13.3 10.7-24 24-24s24 10.7 24 24v72H80V208c0-35.3 28.7-64 64-64h16 32l88 0V112l-72 0c-13.3 0-24-10.7-24-24s10.7-24 24-24H400c13.3 0 24 10.7 24 24zM288 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM160 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm224-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM172.8 336c14.6 0 28.4 6.6 37.5 18l32 40c3 3.8 7.6 6 12.5 6H448c8.8 0 16-7.2 16-16V242.3c0-5.3-2.7-10.3-7.1-13.3l-51.4-34.3c-2.6-1.8-5.7-2.7-8.9-2.7H192 160 144c-8.8 0-16 7.2-16 16V320c0 8.8 7.2 16 16 16h28.8zM576 192h32c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H576c-17.7 0-32-14.3-32-32V224c0-17.7 14.3-32 32-32z\"]\n};\nvar faMoneyBill1Wave = {\n prefix: 'far',\n iconName: 'money-bill-1-wave',\n icon: [576, 512, [\"money-bill-wave-alt\"], \"f53b\", \"M265.7 407.9c4.5-1.1 9-2.3 13.5-3.4l0 0c55.9-14.3 119.4-30.6 185.3-28.7c4.1-31.4 30.9-55.7 63.5-55.7V144c-35.3 0-63.9-28.6-64-63.9c-47-1.7-96.8 9.5-153.7 24c-4.5 1.1-9 2.3-13.5 3.5l0 0c-55.9 14.3-119.4 30.6-185.3 28.7C107.4 167.7 80.5 192 48 192V368c35.3 0 63.9 28.6 64 63.9c47 1.7 96.8-9.5 153.7-24zM0 421.5V113C0 88.8 25.4 72.7 48.4 79C128.2 101 208.1 80.6 288 60.3c86.9-22.1 173.8-44.3 260.7-12C565.8 54.6 576 72 576 90.5V399c0 24.3-25.4 40.3-48.3 34C447.8 411 367.9 431.4 288 451.7c-86.9 22.1-173.8 44.3-260.7 12C10.2 457.4 0 440 0 421.5zM384 256c0 61.9-43 112-96 112s-96-50.1-96-112s43-112 96-112s96 50.1 96 112zM256 208c0 8.8 7.2 16 16 16v64h-8c-8.8 0-16 7.2-16 16s7.2 16 16 16h24 24c8.8 0 16-7.2 16-16s-7.2-16-16-16h-8V208c0-8.8-7.2-16-16-16H272c-8.8 0-16 7.2-16 16z\"]\n};\nvar faMoneyBillWaveAlt = faMoneyBill1Wave;\nvar faLifeRing = {\n prefix: 'far',\n iconName: 'life-ring',\n icon: [512, 512, [], \"f1cd\", \"M385.1 419.1C349.7 447.2 304.8 464 256 464s-93.7-16.8-129.1-44.9l80.4-80.4c14.3 8.4 31 13.3 48.8 13.3s34.5-4.8 48.8-13.3l80.4 80.4zm68.1 .2C489.9 374.9 512 318.1 512 256s-22.1-118.9-58.8-163.3L465 81c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L419.3 58.8C374.9 22.1 318.1 0 256 0S137.1 22.1 92.7 58.8L81 47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9L58.8 92.7C22.1 137.1 0 193.9 0 256s22.1 118.9 58.8 163.3L47 431c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l11.8-11.8C137.1 489.9 193.9 512 256 512s118.9-22.1 163.3-58.8L431 465c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-11.8-11.8zm-34.1-34.1l-80.4-80.4c8.4-14.3 13.3-31 13.3-48.8s-4.8-34.5-13.3-48.8l80.4-80.4C447.2 162.3 464 207.2 464 256s-16.8 93.7-44.9 129.1zM385.1 92.9l-80.4 80.4c-14.3-8.4-31-13.3-48.8-13.3s-34.5 4.8-48.8 13.3L126.9 92.9C162.3 64.8 207.2 48 256 48s93.7 16.8 129.1 44.9zM173.3 304.8L92.9 385.1C64.8 349.7 48 304.8 48 256s16.8-93.7 44.9-129.1l80.4 80.4c-8.4 14.3-13.3 31-13.3 48.8s4.8 34.5 13.3 48.8zM208 256a48 48 0 1 1 96 0 48 48 0 1 1 -96 0z\"]\n};\nvar faHands = {\n prefix: 'far',\n iconName: 'hands',\n icon: [576, 512, [\"sign-language\", \"signing\"], \"f2a7\", \"M528 143.8c0-8.8-7.2-16-16-16s-16 7.2-16 16v37.4c0 10.9-7.3 20.4-17.8 23.2s-21.6-1.8-27-11.2L369.7 52c-2.2-3.8-7.1-5.1-10.9-2.9s-5.1 7.1-2.9 10.9l0 .1 48 83.1c6.2 10.7 3.2 24.3-6.7 31.4c-15.1-14.3-32.3-26.5-51.5-36.1L314.3 84l-8-13.9 0-.1-8-13.8c-2.2-3.8-7.1-5.1-10.9-2.9s-5.1 7.1-2.9 10.9l8 13.9 8 13.9 0 .1 20.2 35-53-23.5c-22.8-10.1-47.6-9.8-69-1c4.1-12.6 12.8-23.9 25.2-31c3.8-2.2 7.7-3.9 11.7-5.1c-2.3-21.4 7.8-43.2 27.7-54.6s43.8-9.4 61.1 3.3c3.1-2.9 6.5-5.4 10.3-7.6C361.6-8 395.8 1.2 411.3 28l46.9 81.2c11.4-17.7 31.3-29.4 53.9-29.4c35.3 0 64 28.7 64 64v84.6c0 69.4-36.7 133.6-96.5 168.8c-10.4 6.1-21 11.1-31.9 15.1c8-19.2 13.3-39.9 15.4-61.4c40.5-27.4 65-73.2 65-122.4V143.8zm-353.9 13c15.1-32 53.2-45.7 85.2-30.7l56.4 26.5c36 16.9 65.4 43.7 85.7 76.1c19.6 29.4 30.7 64.4 30.7 101.2c0 1 0 2 0 3c0 1 0 2.1 0 3.1c0 1.2-.1 2.3-.2 3.4c-5 96.1-84.5 172.6-181.8 172.6H120c-30.9 0-56-25.1-56-56c0-4.4 .5-8.6 1.5-12.7C45.8 434.6 32 414.9 32 392c0-4.4 .5-8.6 1.5-12.7C13.8 370.6 0 350.9 0 328s13.8-42.6 33.5-51.3c-.9-4.1-1.5-8.3-1.5-12.7c0-30.9 25.1-56 56-56h84.7c-6.4-16-6.5-34.5 1.4-51.3zM72 320l-.2 0H56c-4.4 0-8 3.6-8 8s3.6 8 8 8H88l.2 0H184c13.3 0 24 10.7 24 24s-10.7 24-24 24H87.9c-4.4 0-7.9 3.6-7.9 8c0 4.4 3.6 8 8 8h31.9l.2 0H184c13.3 0 24 10.7 24 24s-10.7 24-24 24H119.9c-4.4 .1-7.9 3.6-7.9 8c0 4.4 3.6 8 8 8H249.9c72.3 0 131.3-57.3 134-128.9c0-.4 0-.9 .1-1.3l0-.5 0-.6 0-.3c0-.8 0-1.7 0-2.5c0-27.2-8.2-53.1-22.8-74.8c-.2-.2-.3-.5-.5-.7c-15.5-24.9-38-45.4-65.5-58.4l-56.4-26.5c-8-3.8-17.5-.3-21.3 7.7s-.3 17.5 7.7 21.3l25.1 11.8c10.2 4.8 15.7 16 13.2 27s-12.2 18.8-23.4 18.8H88c-4.4 0-8 3.6-8 8s3.6 8 8 8l.2 0H184c13.3 0 24 10.7 24 24s-10.7 24-24 24H72z\"]\n};\nvar faSignLanguage = faHands;\nvar faSigning = faHands;\nvar faCircleCaretRight = {\n prefix: 'far',\n iconName: 'circle-caret-right',\n icon: [512, 512, [\"caret-circle-right\"], \"f330\", \"M464 256A208 208 0 1 1 48 256a208 208 0 1 1 416 0zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zm368 0c0-6.7-2.8-13-7.7-17.6l-112-104c-7-6.5-17.2-8.2-25.9-4.4s-14.4 12.5-14.4 22l0 208c0 9.5 5.7 18.2 14.4 22s18.9 2.1 25.9-4.4l112-104c4.9-4.5 7.7-10.9 7.7-17.6z\"]\n};\nvar faCaretCircleRight = faCircleCaretRight;\nvar faTurnLeft = {\n prefix: 'far',\n iconName: 'turn-left',\n icon: [512, 512, [], \"e636\", \"M6.5 240.4c-8.7-9.2-8.7-23.7 0-32.9l121.4-129c8.8-9.3 21-14.6 33.7-14.6c25.6 0 46.3 20.7 46.3 46.3l0 41.7 144 0c88.4 0 160 71.6 160 160l0 112c0 30.9-25.1 56-56 56l-32 0c-30.9 0-56-25.1-56-56l0-120c0-4.4-3.6-8-8-8l-152 0 0 41.7c0 25.6-20.7 46.3-46.3 46.3c-12.8 0-25-5.3-33.7-14.6L6.5 240.4zm153.5 93l0-61.5c0-13.3 10.7-24 24-24l176 0c30.9 0 56 25.1 56 56l0 120c0 4.4 3.6 8 8 8l32 0c4.4 0 8-3.6 8-8l0-112c0-61.9-50.1-112-112-112l-168 0c-13.3 0-24-10.7-24-24l0-61.5L57 224 160 333.5z\"]\n};\nvar faWheat = {\n prefix: 'far',\n iconName: 'wheat',\n icon: [512, 512, [], \"f72d\", \"M448 48c-22.1 0-40 17.9-40 40v16h16c22.1 0 40-17.9 40-40V48H448zM362.2 68.5C371.1 29.3 406.1 0 448 0h40c13.3 0 24 10.7 24 24V64c0 41.9-29.2 76.9-68.4 85.8c14.1 6.2 27.3 15.1 38.9 26.7l16.9 16.9c9.4 9.4 9.4 24.6 0 33.9l-16.9 16.9c-16.9 16.9-37.9 27.3-59.8 31.1c6.9 9.4 6.1 22.6-2.4 31.1l-16.9 16.9c-16.9 16.9-37.9 27.3-59.8 31.1c6.9 9.4 6.1 22.6-2.4 31.1l-16.9 16.9c-43.7 43.7-114.6 43.7-158.4 0l-11.2-11.2L41 505c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L120.6 357.5l0 0-11.3-11.3c-43.7-43.7-43.7-114.7 0-158.4l16.9-16.9c8.5-8.5 21.7-9.3 31.1-2.4c3.8-21.9 14.2-42.9 31.1-59.8l16.9-16.9c8.5-8.5 21.7-9.3 31.1-2.4c3.8-21.9 14.2-42.9 31.1-59.8l16.9-16.9c9.4-9.4 24.6-9.4 33.9 0l16.9 16.9C347 41 356 54.3 362.2 68.5zm-60.6 85.4L311.7 164c20.5-31 17.2-73.3-10.2-100.6c-25 25-25 65.5 0 90.5zM222.4 233l10.1 10.1c20.5-31 17.2-73.3-10.2-100.6c-25 25-25 65.5 0 90.5zm-79.2 79.2l10.1 10.1c20.5-31 17.2-73.3-10.2-100.6c-25 25-25 65.5 0 90.5zm147 56.5c-27.4-27.3-69.6-30.7-100.6-10.2l10.1 10.2c25 25 65.5 25 90.5 0zm79.2-79.2c-27.4-27.3-69.6-30.7-100.6-10.2l10.1 10.1c25 25 65.5 25 90.5 0zm79.2-79.2C421.2 183 379 179.7 347.9 200.2l10.1 10.1c25 25 65.5 25 90.5 0z\"]\n};\nvar faFileSpreadsheet = {\n prefix: 'far',\n iconName: 'file-spreadsheet',\n icon: [384, 512, [], \"f65b\", \"M48 448V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zM176 256v48H112V256h64zm-64 80h64v48H112V336zm96 0h64v48H208V336zm-16 80h16 64c17.7 0 32-14.3 32-32V336 320 304 256c0-17.7-14.3-32-32-32H208 192 176 112c-17.7 0-32 14.3-32 32v48 16 16 48c0 17.7 14.3 32 32 32h64 16zm16-112V256h64v48H208z\"]\n};\nvar faAudioDescriptionSlash = {\n prefix: 'far',\n iconName: 'audio-description-slash',\n icon: [640, 512, [], \"e0a8\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-30-23.5c4.6-8.8 7.2-18.9 7.2-29.6V96c0-35.3-28.7-64-64-64H96c-6.7 0-13.1 1-19.2 2.9L38.8 5.1zM134.4 80H544c8.8 0 16 7.2 16 16V413.6l-95.4-74.8C493 322.1 512 291.3 512 256c0-53-43-96-96-96H360c-13.3 0-24 10.7-24 24v54L134.4 80zM419.9 303.8L384 275.7V208h32c26.5 0 48 21.5 48 48c0 25.2-19.4 45.8-44.1 47.8zM487.4 480l-60.9-48H96c-8.8 0-16-7.2-16-16V159L32 121.2V416c0 35.3 28.7 64 64 64H487.4zM130.5 317.3c-5.9 11.9-1.1 26.3 10.7 32.2s26.3 1.1 32.2-10.7l9.4-18.9h82.2l9.4 18.9c5.9 11.9 20.3 16.7 32.2 10.7c3-1.5 5.5-3.5 7.5-5.9l-80.9-63.8H202.9l8.6-17.2L173 232.3l-42.5 85z\"]\n};\nvar faBellRing = {\n prefix: 'far',\n iconName: 'bell-ring',\n icon: [512, 512, [], \"e62c\", \"M256 0c-17.7 0-32 14.3-32 32V51.2C151 66 96 130.6 96 208v25.4c0 45.4-15.5 89.5-43.8 124.9L37.3 377c-5.8 7.2-6.9 17.1-2.9 25.4s12.4 13.6 21.6 13.6H456c9.2 0 17.6-5.3 21.6-13.6s2.9-18.2-2.9-25.4l-14.9-18.6C431.5 322.9 416 278.8 416 233.4V208c0-77.4-55-142-128-156.8V32c0-17.7-14.3-32-32-32zm0 96c61.9 0 112 50.1 112 112v25.4c0 47.9 13.9 94.6 39.7 134.6H104.3c25.8-40 39.7-86.7 39.7-134.6V208c0-61.9 50.1-112 112-112zm64 352H256 192c0 17 6.7 33.3 18.7 45.3s28.3 18.7 45.3 18.7s33.3-6.7 45.3-18.7s18.7-28.3 18.7-45.3zM113.4 15.4c-9.1-9.6-24.3-10-33.9-.8C30.5 61.2 0 127.1 0 200c0 13.3 10.7 24 24 24s24-10.7 24-24c0-59.3 24.8-112.7 64.6-150.6c9.6-9.1 10-24.3 .8-33.9zM399.4 49.4C439.2 87.3 464 140.7 464 200c0 13.3 10.7 24 24 24s24-10.7 24-24c0-72.9-30.5-138.8-79.4-185.4c-9.6-9.1-24.8-8.8-33.9 .8s-8.8 24.8 .8 33.9z\"]\n};\nvar faCalendarDay = {\n prefix: 'far',\n iconName: 'calendar-day',\n icon: [448, 512, [], \"f783\", \"M128 0c13.3 0 24 10.7 24 24V64H296V24c0-13.3 10.7-24 24-24s24 10.7 24 24V64h40c35.3 0 64 28.7 64 64v16 48V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192 144 128C0 92.7 28.7 64 64 64h40V24c0-13.3 10.7-24 24-24zM400 192H48V448c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V192zM112 256h96c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16z\"]\n};\nvar faWaterLadder = {\n prefix: 'far',\n iconName: 'water-ladder',\n icon: [576, 512, [\"ladder-water\", \"swimming-pool\"], \"f5c5\", \"M128 128c0-53 43-96 96-96s96 43 96 96v8c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8c0-26.5-21.5-48-48-48s-48 21.5-48 48v96.2H384V128c0-53 43-96 96-96s96 43 96 96v8c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8c0-26.5-21.5-48-48-48s-48 21.5-48 48V248.2 371c-15.5 8.4-32.8 13.5-48 13.5h0V272.2H176V382.8c-14.7-2.9-30-9.6-43.1-18.7c-1.6-1.1-3.2-2.2-4.9-3.1V248.2 128zM111.9 398.1c21.5 18.6 51.2 33.9 80 33.9s58.5-15.3 80-33.9c9.1-8.1 22.8-8.1 31.9 0c21.6 18.6 51.2 33.9 80 33.9s58.5-15.3 80-33.9c9.1-8.1 22.8-8.1 31.9 0c16.9 15.1 39.3 26.8 61.3 31.8c12.9 2.9 21.1 15.7 18.2 28.7s-15.7 21.1-28.7 18.2c-28.7-6.4-52.3-20.5-66.7-30.4c-28.1 19.5-61.4 33.8-96 33.8s-67.9-14.3-96-33.8c-28.1 19.5-61.4 33.8-96 33.8s-67.9-14.3-96-33.8c-14.4 10-38 24-66.7 30.4c-12.9 2.9-25.8-5.2-28.7-18.2s5.2-25.8 18.2-28.7c22.2-5 44-16.8 61.2-31.7c9.1-8.1 22.8-8.1 31.9 0z\"]\n};\nvar faLadderWater = faWaterLadder;\nvar faSwimmingPool = faWaterLadder;\nvar faArrowsUpDown = {\n prefix: 'far',\n iconName: 'arrows-up-down',\n icon: [320, 512, [\"arrows-v\"], \"f07d\", \"M177 7c-9.4-9.4-24.6-9.4-33.9 0L47 103c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l55-55V430.1L81 375c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l96 96c9.4 9.4 24.6 9.4 33.9 0l96-96c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-55 55V81.9l55 55c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L177 7z\"]\n};\nvar faArrowsV = faArrowsUpDown;\nvar faChessPawnPiece = {\n prefix: 'far',\n iconName: 'chess-pawn-piece',\n icon: [256, 512, [\"chess-pawn-alt\"], \"f444\", \"M128 144a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm73.4 144c12.6-.7 22.6-11.2 22.6-24c0-9.7-5.8-18.1-14.1-21.9c8.9-14.6 14.1-31.8 14.1-50.1c0-53-43-96-96-96s-96 43-96 96c0 18.4 5.2 35.5 14.1 50.1C37.8 245.9 32 254.3 32 264c0 12.8 10 23.3 22.6 24l-3.6 64H99.1l3.6-64H128h25.3l3.6 64h48.1l-3.6-64zM52.7 464l16.6-32H186.8l16.6 32H52.7zm143.9-80H59.5c-12 0-22.9 6.7-28.4 17.3L4.6 452.5c-3 5.8-4.6 12.2-4.6 18.7C0 493.8 18.2 512 40.8 512H215.2c22.5 0 40.8-18.2 40.8-40.8c0-6.5-1.6-12.9-4.6-18.7l-26.5-51.2c-5.5-10.6-16.5-17.3-28.4-17.3z\"]\n};\nvar faChessPawnAlt = faChessPawnPiece;\nvar faFaceGrimace = {\n prefix: 'far',\n iconName: 'face-grimace',\n icon: [512, 512, [128556, \"grimace\"], \"f57f\", \"M256 48a208 208 0 1 0 0 416 208 208 0 1 0 0-416zM512 256A256 256 0 1 1 0 256a256 256 0 1 1 512 0zM168 320c-13.3 0-24 10.7-24 24s10.7 24 24 24h8V320h-8zm40 48h32V320H208v48zm96 0V320H272v48h32zm32 0h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8v48zM168 288H344c30.9 0 56 25.1 56 56s-25.1 56-56 56H168c-30.9 0-56-25.1-56-56s25.1-56 56-56zm-23.6-80a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm192-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faGrimace = faFaceGrimace;\nvar faWheelchairMove = {\n prefix: 'far',\n iconName: 'wheelchair-move',\n icon: [448, 512, [\"wheelchair-alt\"], \"e2ce\", \"M320 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM208.6 113c-8-3.4-17.2-2.2-24 3.2l-49.8 38.7c-10.5 8.1-25.5 6.3-33.7-4.2s-6.3-25.5 4.2-33.7l49.8-38.7c20.6-16 48.1-19.6 72.1-9.5l84.2 35.5c35.7 15 45.7 60.9 19.5 89.5L288.6 240H402.5c26.8 0 46 25.8 38.3 51.5L399 430.9c-3.8 12.7-17.2 19.9-29.9 16.1s-19.9-17.2-16.1-29.9L391.7 288H306.7c8.6 19.6 13.3 41.2 13.3 64c0 88.4-71.6 160-160 160S0 440.4 0 352s71.6-160 160-160c1.2 0 2.5 0 3.7 0l68.9-68.9-24-10.1zm87 48.2c3.7-4.1 2.3-10.6-2.8-12.8l-20.4-8.6-60.7 60.7c11.8 4 22.9 9.4 33.3 15.9l50.6-55.2zM160 464a112 112 0 1 0 0-224 112 112 0 1 0 0 224z\"]\n};\nvar faWheelchairAlt = faWheelchairMove;\nvar faTurnDown = {\n prefix: 'far',\n iconName: 'turn-down',\n icon: [384, 512, [10549, \"level-down-alt\"], \"f3be\", \"M175.6 505.5c9.2 8.7 23.7 8.7 32.9 0l129-121.4c9.3-8.8 14.6-21 14.6-33.7c0-25.6-20.7-46.3-46.3-46.3H264V160C264 71.6 192.4 0 104 0H56C25.1 0 0 25.1 0 56V88c0 30.9 25.1 56 56 56h56c4.4 0 8 3.6 8 8V304H78.3C52.7 304 32 324.7 32 350.3c0 12.8 5.3 25 14.6 33.7l129 121.4zM82.5 352H144c13.3 0 24-10.7 24-24V152c0-30.9-25.1-56-56-56H56c-4.4 0-8-3.6-8-8V56c0-4.4 3.6-8 8-8h48c61.9 0 112 50.1 112 112V328c0 13.3 10.7 24 24 24h61.5L192 455 82.5 352z\"]\n};\nvar faLevelDownAlt = faTurnDown;\nvar faSquareS = {\n prefix: 'far',\n iconName: 'square-s',\n icon: [448, 512, [], \"e27d\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM175.6 196.2c-1.1 6.4-.2 9.7 .6 11.6c1 2 2.9 4.6 7.4 7.7c10.1 6.8 25.7 11.5 46.8 17.4l2 .6 0 0c18.4 5.2 41.4 11.7 58.6 23.2c9.5 6.4 18.5 15.1 24.1 27.2c5.7 12.3 7 25.9 4.4 40.3c-4.7 26.3-23.1 43.3-45 52c-21.3 8.4-47 9.6-72.6 5.7l-.1 0 0 0c-16.3-2.6-43.7-10.7-57.3-15.1c-12.6-4-19.6-17.6-15.5-30.2s17.6-19.6 30.2-15.5c13.9 4.5 37.8 11.4 50 13.4c20.2 3 36.8 1.4 47.7-2.9c10.3-4.1 14.2-9.6 15.4-15.8c1.1-6.4 .2-9.7-.6-11.6c-1-2-2.9-4.6-7.4-7.7c-10.1-6.8-25.7-11.5-46.8-17.4l-2-.6c-18.4-5.2-41.4-11.7-58.6-23.2c-9.5-6.4-18.5-15.1-24.1-27.2c-5.7-12.3-7-25.9-4.4-40.3c4.7-26.3 23.1-43.3 45-52c21.3-8.4 47-9.6 72.6-5.7c8.1 1.2 24.4 4.8 32 6.7c12.8 3.3 20.6 16.4 17.3 29.2s-16.4 20.6-29.2 17.3c-6.7-1.7-21.3-4.9-27.3-5.7c-20.3-3.1-36.8-1.4-47.8 2.9c-10.3 4.1-14.2 9.6-15.4 15.8z\"]\n};\nvar faRectangleBarcode = {\n prefix: 'far',\n iconName: 'rectangle-barcode',\n icon: [576, 512, [\"barcode-alt\"], \"f463\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H512c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm120 32c13.3 0 24 10.7 24 24V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24zm72 0c8.8 0 16 7.2 16 16V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-8.8 7.2-16 16-16zm48 24c0-13.3 10.7-24 24-24s24 10.7 24 24V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V152zm136-24c13.3 0 24 10.7 24 24V360c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24zm72 16c0-8.8 7.2-16 16-16s16 7.2 16 16V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V144z\"]\n};\nvar faBarcodeAlt = faRectangleBarcode;\nvar faPersonWalkingArrowRight = {\n prefix: 'far',\n iconName: 'person-walking-arrow-right',\n icon: [640, 512, [], \"e552\", \"M208 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM141.8 266.6l29.9-89.8c7.7 1.2 15 3.6 21.7 7.1c-.1 .3-.2 .7-.3 1L160.7 288.6l-16.4-13.3c-2.6-2.1-3.6-5.6-2.5-8.7zm59 54.6l28.5-91.3 10.5 36.7c1.9 6.5 5.4 12.5 10.2 17.3L279 313c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-27.6-27.6-10.9-38.1C260.1 162.8 213.9 128 161.3 128h-4.9c-16.1 0-32.1 2.6-47.4 7.7C69.1 149 36.6 178.5 19.5 217l-9.5 21.3c-5.4 12.1 .1 26.3 12.2 31.7s26.3-.1 31.7-12.2l9.5-21.3C74.3 212 94.3 192.9 119 183.1L96.2 251.4c-7.4 22.1-.3 46.5 17.8 61.2l104.4 84.8 22.1 96c3 12.9 15.9 21 28.8 18s21-15.9 18-28.8L264.6 384c-2-8.7-6.8-16.4-13.8-22.1l-50.1-40.7zm-101.1 21L75.5 402.5 7 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l69.7-69.7c3.8-3.8 6.8-8.4 8.9-13.4l19.2-48-39-31.7zM553 159c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l39 39H392c-13.3 0-24 10.7-24 24s10.7 24 24 24H558.1l-39 39c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9l-80-80z\"]\n};\nvar faSquareEnvelope = {\n prefix: 'far',\n iconName: 'square-envelope',\n icon: [448, 512, [\"envelope-square\"], \"f199\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM216.7 255.6L96.1 189.3C97.5 172.9 111.3 160 128 160H320c16.7 0 30.5 12.9 31.9 29.3L231.3 255.6c-2.2 1.2-4.7 1.9-7.3 1.9s-5.1-.6-7.3-1.9zm30 28L352 225.7V320c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32V225.7l105.3 57.9c7 3.8 14.8 5.8 22.7 5.8s15.8-2 22.7-5.8z\"]\n};\nvar faEnvelopeSquare = faSquareEnvelope;\nvar faDice = {\n prefix: 'far',\n iconName: 'dice',\n icon: [640, 512, [127922], \"f522\", \"M241 68.3c-9.4-9.4-24.6-9.4-33.9 0L68.3 207c-9.4 9.4-9.4 24.6 0 33.9L207 379.7c9.4 9.4 24.6 9.4 33.9 0L379.7 241c9.4-9.4 9.4-24.6 0-33.9L241 68.3zM173.1 34.3c28.1-28.1 73.7-28.1 101.8 0L413.7 173.1c28.1 28.1 28.1 73.7 0 101.8L274.9 413.7c-28.1 28.1-73.7 28.1-101.8 0L34.3 274.9c-28.1-28.1-28.1-73.7 0-101.8L173.1 34.3zM320 413.8L436.3 297.5c28.6-28.6 37-69.6 25.4-105.5H576c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H384c-35.3 0-64-28.7-64-64V413.8zM504 352a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM120 200a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm104-56a24 24 0 1 1 0-48 24 24 0 1 1 0 48zm0 208a24 24 0 1 1 0-48 24 24 0 1 1 0 48zM328 200a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm-104 0a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faUnicorn = {\n prefix: 'far',\n iconName: 'unicorn',\n icon: [640, 512, [129412], \"f727\", \"M426.8 .6c1.7-.4 3.4-.6 5.2-.6h8 32 .5c2.5 0 5 .1 7.5 .3V0h56c13.3 0 24 10.7 24 24c0 8.5-4.4 16-11.1 20.3c3.5 6.1 6.3 12.7 8.3 19.7h73.5c5.1 0 9.3 4.2 9.3 9.3c0 4-2.6 7.6-6.4 8.8l-69.8 23.3 5.6 39.4c5.2 36.7-15.3 72.2-49.7 86c-18.3 7.3-38 7.5-55.8 1.5V240l0 .7 0 1.6c0 33.2-12.2 62.9-32 85.5V464c0 26.5-21.5 48-48 48H336c-26.5 0-48-21.5-48-48V364.5l-51.8-15.1c-1 3.8-2.2 7.5-3.6 11.2l-12.1 32.3c-.6 1.6-.7 3.3-.2 5l14.8 53.3c8.5 30.6-14.5 60.8-46.2 60.8H139.1c-21.6 0-40.5-14.4-46.2-35.2L81.6 436.4c-8.6-31-7.2-63.9 4.1-94.1l8.2-21.7L72 265.9c-5.3-13.3-8-27.4-8-41.7c0-2.9 .1-5.7 .3-8.5C54.4 223 48 234.8 48 248v64c0 13.3-10.7 24-24 24s-24-10.7-24-24V248c0-47.3 37.3-85.9 84.1-87.9c20.3-29.1 54-48.1 92.1-48.1h22.6H232h61.3C309.8 51.5 362.6 6.1 426.8 .6zM416 239V184c0-10.2 6.4-19.3 16.1-22.6s20.3-.3 26.7 7.7l5.9 7.3c8.9 11.1 24.1 15.1 37.3 9.8c13.9-5.5 22.2-19.9 20-34.7l-9.9-69.2C509.3 62.6 492.4 48 472.5 48H472 440h-4.6c-.6 .1-1.3 .2-2 .2c-50 3.1-90.5 41.6-96.6 90.8c-1.5 12-11.7 21-23.8 21H232 198.9 176.2c-35.5 0-64.2 28.8-64.2 64.2c0 8.2 1.6 16.3 4.6 23.9l21.9 54.6c4.4 11.1 4.6 23.5 .4 34.7l-8.2 21.7c-7.7 20.6-8.7 43.1-2.8 64.4L139.1 464h49.8l-14.8-53.3c-3.2-11.4-2.6-23.6 1.5-34.6l12.1-32.3c2.8-7.5 4.3-15.4 4.3-23.5c0-.4 0-.9 0-1.3c-.2-7.6 3.3-14.9 9.4-19.5s14-6.1 21.3-4l88 25.7c2.1 .6 4.2 1.1 6.3 1.6c11.1 2.3 19 12.1 19 23.5V464h48V318.2c0-6.5 2.6-12.7 7.3-17.2c15.1-14.8 24.7-35.3 24.7-58.8c0-.6 0-1.2 0-1.7c0-.5 0-1 0-1.5zM464 80a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faBowlingBall = {\n prefix: 'far',\n iconName: 'bowling-ball',\n icon: [512, 512, [], \"f436\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM240 80a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM208 208a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm-64-64a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faPompebled = {\n prefix: 'far',\n iconName: 'pompebled',\n icon: [512, 512, [], \"e43d\", \"M254.4 22.8c45.2 31.3 55.3 91.3 38 147.2c45.1-35.6 103.5-47.2 148.3-15c64.6 45.8 71.6 140.2 25.7 208.1l0 0C386.7 480.8 219.2 542 98.5 455.5C-21.8 369.5-25.9 190 53.9 72.2c46-68.6 135.3-95.4 200.5-49.4zm21.5 185.1l0 0 0 0zM226.7 62.1c-38-26.9-98.3-15-133 36.9l-.1 .1c-69.9 103.1-60.2 251 32.8 317.4l0 0c91.7 65.7 230.3 23 300.2-80.2c34.9-51.7 24.7-114.9-13.8-142.1l-.1-.1c-25.6-18.4-73.5-11.7-111.5 33.9c-12.9 17.5-37.4 21.8-55.4 8.7c-17.6-12.7-21.9-36.7-10.4-54.7c28.6-52.7 17.8-101.6-8.5-119.7l-.2-.2 0 0z\"]\n};\nvar faBrain = {\n prefix: 'far',\n iconName: 'brain',\n icon: [512, 512, [129504], \"f5dc\", \"M153.5 76.9c-1.9 6.8-6.8 12.4-13.2 15.3c-16.6 7.5-28.2 24.1-28.3 43.5c-.1 9.1-5.2 17.3-13.3 21.3C82.8 164.9 72 181.2 72 200c0 7.1 1.5 13.7 4.2 19.7c4.4 9.7 1.9 21-6.1 28C56.5 259.4 48 276.7 48 296c0 20.2 9.3 38.1 23.9 49.9c6.7 5.4 10 14 8.7 22.5c-.4 2.5-.6 5-.6 7.6c0 26.1 20.8 47.3 46.7 48c9.2 .3 17.4 5.7 21.2 14.1c6.9 15.3 22.3 25.9 40.1 25.9c24.3 0 44-19.7 44-44V88c0-22.1-17.9-40-40-40c-18.2 0-33.7 12.2-38.5 28.9zM256 482c-16.8 18.5-41.1 30-68 30c-32.2 0-60.5-16.5-76.9-41.5c-45-8-79.1-47.3-79.1-94.5c0-.5 0-1.1 0-1.6C12.2 354.2 0 326.5 0 296c0-27.8 10.1-53.2 26.8-72.7C25 215.8 24 208 24 200c0-32.6 16.3-61.5 41.1-78.8c4.5-28.9 21.8-53.5 45.9-67.8C124.5 22 155.7 0 192 0c25.2 0 48 10.6 64 27.6C272 10.6 294.8 0 320 0c36.3 0 67.5 22 80.9 53.4c24.1 14.3 41.5 38.9 45.9 67.8C471.7 138.5 488 167.4 488 200c0 8-1 15.8-2.8 23.3c16.7 19.6 26.8 45 26.8 72.7c0 30.5-12.2 58.2-32 78.4c0 .5 0 1.1 0 1.6c0 47.3-34.1 86.5-79.1 94.5c-16.4 25-44.7 41.5-76.9 41.5c-26.9 0-51.2-11.6-68-30zm24-62c0 24.3 19.7 44 44 44c17.8 0 33.2-10.6 40.1-25.9c3.8-8.4 12-13.9 21.2-14.1c25.9-.7 46.7-21.9 46.7-48c0-2.6-.2-5.2-.6-7.6c-1.4-8.5 2-17.1 8.7-22.5C454.7 334.1 464 316.2 464 296c0-19.3-8.5-36.6-22.1-48.3c-8-6.9-10.5-18.3-6.1-28c2.7-6 4.2-12.6 4.2-19.7c0-18.8-10.8-35.1-26.7-43c-8.1-4-13.3-12.3-13.3-21.3c-.1-19.3-11.7-36-28.3-43.5c-6.4-2.9-11.3-8.5-13.2-15.3C353.7 60.2 338.2 48 320 48c-22.1 0-40 17.9-40 40V420z\"]\n};\nvar faWatchSmart = {\n prefix: 'far',\n iconName: 'watch-smart',\n icon: [384, 512, [], \"e2cc\", \"M64 48.3C64 21.6 85.6 0 112.3 0H271.7C298.4 0 320 21.6 320 48.3V65.6c36.5 7.4 64 39.7 64 78.4V368c0 38.7-27.5 71-64 78.4V464c0 26.5-21.5 48-48 48H112c-26.5 0-48-21.5-48-48V446.4C27.5 439 0 406.7 0 368V144c0-38.7 27.5-71 64-78.4V48.3zM80 112c-17.7 0-32 14.3-32 32V368c0 17.7 14.3 32 32 32H304c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32H80zm136 72v60.8l39.4 32.8c10.2 8.5 11.6 23.6 3.1 33.8s-23.6 11.6-33.8 3.1l-48-40c-5.5-4.6-8.6-11.3-8.6-18.4V184c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faBookUser = {\n prefix: 'far',\n iconName: 'book-user',\n icon: [448, 512, [], \"f7e7\", \"M88 0C39.4 0 0 39.4 0 88V424H.4c-.3 2.6-.4 5.3-.4 8c0 44.2 35.8 80 80 80H424c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V394.6c18.9-9 32-28.3 32-50.6V56c0-30.9-25.1-56-56-56H88zM368 400v64H80c-17.7 0-32-14.3-32-32s14.3-32 32-32H368zM80 352c-11.4 0-22.2 2.4-32 6.7V88c0-22.1 17.9-40 40-40H392c4.4 0 8 3.6 8 8V344c0 4.4-3.6 8-8 8H352V336c0-44.2-35.8-80-80-80H208c-44.2 0-80 35.8-80 80v16H80zM240 224a64 64 0 1 0 0-128 64 64 0 1 0 0 128z\"]\n};\nvar faSensorCloud = {\n prefix: 'far',\n iconName: 'sensor-cloud',\n icon: [640, 512, [\"sensor-smoke\"], \"e02c\", \"M64 80H384c8.8 0 16 7.2 16 16V224c17.2 0 33.5 3.9 48 10.8V96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H234.8c-6.9-14.5-10.8-30.8-10.8-48H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16zm80 72c0-13.3-10.7-24-24-24s-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152zm96 0c0-13.3-10.7-24-24-24s-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152zm96 360H560c44.2 0 80-35.8 80-80c0-39-27.9-71.5-64.8-78.6c.5-3.1 .8-6.2 .8-9.4c0-30.9-25.1-56-56-56c-18.1 0-34.1 8.6-44.4 21.8C464.8 278.5 435 256 400 256c-44.2 0-80 35.8-80 80c0 5.9 .6 11.7 1.9 17.2C284.4 359.9 256 392.6 256 432c0 44.2 35.8 80 80 80z\"]\n};\nvar faSensorSmoke = faSensorCloud;\nvar faClapperboardPlay = {\n prefix: 'far',\n iconName: 'clapperboard-play',\n icon: [512, 512, [], \"e132\", \"M48 416c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V208H48V416zM336 160h64l64-64c0-8.8-7.2-16-16-16H416l-80 80zm-96 0l80-80H256l-80 80h64zM80 160l80-80H96L48 128v32H80zM512 96v64 24 24V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V208 184 160 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64zM216.5 241.9c5.2-2.8 11.5-2.5 16.4 .8l96 64c4.4 3 7.1 8 7.1 13.3s-2.7 10.3-7.1 13.3l-96 64c-4.9 3.3-11.2 3.6-16.4 .8s-8.5-8.2-8.5-14.1V256c0-5.9 3.2-11.3 8.5-14.1z\"]\n};\nvar faBandage = {\n prefix: 'far',\n iconName: 'bandage',\n icon: [640, 512, [129657, \"band-aid\"], \"f462\", \"M448 144V368H560c17.7 0 32-14.3 32-32V176c0-17.7-14.3-32-32-32H448zM192 96H448 560c44.2 0 80 35.8 80 80V336c0 44.2-35.8 80-80 80H448 192 80c-44.2 0-80-35.8-80-80V176c0-44.2 35.8-80 80-80H192zm0 272V144H80c-17.7 0-32 14.3-32 32V336c0 17.7 14.3 32 32 32H192zm80-136a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm120-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM272 328a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm120-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faBandAid = faBandage;\nvar faCalendarMinus = {\n prefix: 'far',\n iconName: 'calendar-minus',\n icon: [448, 512, [], \"f272\", \"M128 0c13.3 0 24 10.7 24 24V64H296V24c0-13.3 10.7-24 24-24s24 10.7 24 24V64h40c35.3 0 64 28.7 64 64v16 48V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192 144 128C0 92.7 28.7 64 64 64h40V24c0-13.3 10.7-24 24-24zM400 192H48V448c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V192zM296 352H152c-13.3 0-24-10.7-24-24s10.7-24 24-24H296c13.3 0 24 10.7 24 24s-10.7 24-24 24z\"]\n};\nvar faCircleXmark = {\n prefix: 'far',\n iconName: 'circle-xmark',\n icon: [512, 512, [61532, \"times-circle\", \"xmark-circle\"], \"f057\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM175 175c-9.4 9.4-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47c-9.4-9.4-24.6-9.4-33.9 0z\"]\n};\nvar faTimesCircle = faCircleXmark;\nvar faXmarkCircle = faCircleXmark;\nvar faCircle4 = {\n prefix: 'far',\n iconName: 'circle-4',\n icon: [512, 512, [], \"e0f1\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM223.6 129.2c12.6 4.2 19.4 17.8 15.2 30.4L201.3 272H272V216c0-13.3 10.7-24 24-24s24 10.7 24 24v56h8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V320H168c-7.7 0-15-3.7-19.5-10s-5.7-14.3-3.3-21.6l48-144c4.2-12.6 17.8-19.4 30.4-15.2z\"]\n};\nvar faGifts = {\n prefix: 'far',\n iconName: 'gifts',\n icon: [640, 512, [], \"f79c\", \"M200.6 32C205 19.5 198.5 5.8 186 1.4S159.8 3.5 155.4 16L144.7 46.2l-9.9-29.8C130.6 3.8 117-3 104.4 1.2S85 19 89.2 31.6l8.3 25-27.4-20c-10.7-7.8-25.7-5.4-33.5 5.3s-5.4 25.7 5.3 33.5L70.2 96H64C28.7 96 0 124.7 0 160V448c0 35.3 28.7 64 64 64H200.6c-5.4-9.4-8.6-20.3-8.6-32V464H64c-8.8 0-16-7.2-16-16V160c0-8.8 7.2-16 16-16h80c0 0 0 0 .1 0h80 32.4c5.3-8.2 11.7-15.7 19-22.1C263.8 106.2 245.1 96 224 96h-6.2l28.3-20.6c10.7-7.8 13.1-22.8 5.3-33.5s-22.8-13.1-33.5-5.3L192.5 55.1 200.6 32zM363.5 185.5L393.1 224H344c-13.3 0-24-10.7-24-24c0-13.1 10.8-24 24.2-24c7.6 0 14.7 3.5 19.3 9.5zM272 200c0 8.4 1.4 16.5 4.1 24H272c-26.5 0-48 21.5-48 48V464c0 26.5 21.5 48 48 48H592c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48h-4.1c2.7-7.5 4.1-15.6 4.1-24c0-39.9-32.5-72-72.2-72c-22.4 0-43.6 10.4-57.3 28.2L432 195.8l-30.5-39.6c-13.7-17.8-35-28.2-57.3-28.2c-39.7 0-72.2 32.1-72.2 72zm0 72h72 56 8v72H272V272zm0 120H408v72H272V392zm320 0v72H456V392H592zM456 344V272h8 56 72v72H456zm88-144c0 13.3-10.7 24-24 24H470.9l29.6-38.5c4.6-5.9 11.7-9.5 19.3-9.5c13.4 0 24.2 10.9 24.2 24z\"]\n};\nvar faAlbumCollection = {\n prefix: 'far',\n iconName: 'album-collection',\n icon: [512, 512, [], \"f8a0\", \"M56 0H456c13.3 0 24 10.7 24 24s-10.7 24-24 24H56C42.7 48 32 37.3 32 24S42.7 0 56 0zM6.2 232.3C1.1 194 30.9 160 69.6 160H442.4c38.7 0 68.5 34 63.5 72.3l-29.5 224C472.2 488.2 445 512 412.9 512H99.1c-32.1 0-59.3-23.8-63.5-55.7L6.2 232.3zM69.6 208c-9.7 0-17.1 8.5-15.9 18.1l29.5 224c1 8 7.8 13.9 15.9 13.9H412.9c8 0 14.8-6 15.9-13.9l29.5-224c1.3-9.6-6.2-18.1-15.9-18.1H69.6zM400 336c0 57.4-64.5 104-144 104s-144-46.6-144-104s64.5-104 144-104s144 46.6 144 104zM16 104c0-13.3 10.7-24 24-24H472c13.3 0 24 10.7 24 24s-10.7 24-24 24H40c-13.3 0-24-10.7-24-24zM256 368c17.7 0 32-10.7 32-24s-14.3-24-32-24s-32 10.7-32 24s14.3 24 32 24z\"]\n};\nvar faHotel = {\n prefix: 'far',\n iconName: 'hotel',\n icon: [512, 512, [127976], \"f594\", \"M24 0C10.7 0 0 10.7 0 24S10.7 48 24 48h8V464H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V48h8c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zM432 48V464H304V384h32c8.8 0 16.1-7.2 14.7-15.9C343.1 322.6 303.6 288 256 288s-87.1 34.6-94.7 80.1c-1.5 8.7 5.8 15.9 14.7 15.9h32v80H80V48H432zM144 96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H144zm80 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H240c-8.8 0-16 7.2-16 16zM336 96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H336zM128 208v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H144c-8.8 0-16 7.2-16 16zm112-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H240zm80 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16H336c-8.8 0-16 7.2-16 16z\"]\n};\nvar faEarthAsia = {\n prefix: 'far',\n iconName: 'earth-asia',\n icon: [512, 512, [127759, \"globe-asia\"], \"f57e\", \"M464 256c0-90.7-58.1-167.9-139.1-196.3l-16.4 40.9c-2.9 7.2-9 12.5-16.5 14.4l-17 4.3c-16.7 4.2-23.7 24-13.4 37.7l16.1 21.5c6.1 8.1 6.4 19.2 .8 27.7l-10.7 16.1C260.5 233.3 248 240 234.6 240h-2.3c-16.1 0-27.6 15.5-23 30.9l6 19.9c4.4 14.6-6.5 29.2-21.7 29.2c-10.7 0-20.6-6.1-25.4-15.7l-9.3-18.5c-7.3-14.7-26.9-17.8-38.4-6.2l-15.4 15.4c-5.7 5.7-13.8 8.1-21.7 6.6l-31.7-6.3C70 391.3 154.5 464 256 464c48.1 0 92.3-16.3 127.5-43.7l-5.9-4.3L359 422.9c-19.8 7.4-41.8-1.9-50.4-21.1L303 389.4c-8.5-18.9-1.1-41.2 17-51.3L356.2 318c2.3-1.3 4.3-3.1 5.7-5.3l6.1-9.5c6-9.4 16.4-15.1 27.6-15.1s21.6 5.7 27.6 15.1l2 3.1c3.7 5.8 10.8 8.6 17.5 6.7l14.6-4.1c4.4-16.9 6.8-34.5 6.8-52.8zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm163.9 80.5l32 8c8.6 2.1 13.8 10.8 11.6 19.4s-10.8 13.8-19.4 11.6l-32-8c-8.6-2.1-13.8-10.8-11.6-19.4s10.8-13.8 19.4-11.6zm84.2 11c-8.6-2.1-13.8-10.8-11.6-19.4l8-32c2.1-8.6 10.8-13.8 19.4-11.6s13.8 10.8 11.6 19.4l-8 32c-2.1 8.6-10.8 13.8-19.4 11.6zM350.3 135.2l-16 32c-4 7.9-13.6 11.1-21.5 7.2s-11.1-13.6-7.2-21.5l16-32c4-7.9 13.6-11.1 21.5-7.2s11.1 13.6 7.2 21.5z\"]\n};\nvar faGlobeAsia = faEarthAsia;\nvar faIdCardClip = {\n prefix: 'far',\n iconName: 'id-card-clip',\n icon: [576, 512, [\"id-card-alt\"], \"f47f\", \"M256 0c-17.7 0-32 14.3-32 32V96c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H256zM192 64H64C28.7 64 0 92.7 0 128V448c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H384v48H512c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V128c0-8.8 7.2-16 16-16H192V64zm96 240a64 64 0 1 0 0-128 64 64 0 1 0 0 128zm-32 32c-44.2 0-80 35.8-80 80c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16c0-44.2-35.8-80-80-80H256z\"]\n};\nvar faIdCardAlt = faIdCardClip;\nvar faMagnifyingGlassPlus = {\n prefix: 'far',\n iconName: 'magnifying-glass-plus',\n icon: [512, 512, [\"search-plus\"], \"f00e\", \"M208 48a160 160 0 1 1 0 320 160 160 0 1 1 0-320zm0 368c48.8 0 93.7-16.8 129.1-44.9L471 505c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L371.1 337.1C399.2 301.7 416 256.8 416 208C416 93.1 322.9 0 208 0S0 93.1 0 208S93.1 416 208 416zM184 296c0 13.3 10.7 24 24 24s24-10.7 24-24V232h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H232V120c0-13.3-10.7-24-24-24s-24 10.7-24 24v64H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h64v64z\"]\n};\nvar faSearchPlus = faMagnifyingGlassPlus;\nvar faThumbsUp = {\n prefix: 'far',\n iconName: 'thumbs-up',\n icon: [512, 512, [128077, 61575], \"f164\", \"M323.8 34.8c-38.2-10.9-78.1 11.2-89 49.4l-5.7 20c-3.7 13-10.4 25-19.5 35l-51.3 56.4c-8.9 9.8-8.2 25 1.6 33.9s25 8.2 33.9-1.6l51.3-56.4c14.1-15.5 24.4-34 30.1-54.1l5.7-20c3.6-12.7 16.9-20.1 29.7-16.5s20.1 16.9 16.5 29.7l-5.7 20c-5.7 19.9-14.7 38.7-26.6 55.5c-5.2 7.3-5.8 16.9-1.7 24.9s12.3 13 21.3 13L448 224c8.8 0 16 7.2 16 16c0 6.8-4.3 12.7-10.4 15c-7.4 2.8-13 9-14.9 16.7s.1 15.8 5.3 21.7c2.5 2.8 4 6.5 4 10.6c0 7.8-5.6 14.3-13 15.7c-8.2 1.6-15.1 7.3-18 15.2s-1.6 16.7 3.6 23.3c2.1 2.7 3.4 6.1 3.4 9.9c0 6.7-4.2 12.6-10.2 14.9c-11.5 4.5-17.7 16.9-14.4 28.8c.4 1.3 .6 2.8 .6 4.3c0 8.8-7.2 16-16 16H286.5c-12.6 0-25-3.7-35.5-10.7l-61.7-41.1c-11-7.4-25.9-4.4-33.3 6.7s-4.4 25.9 6.7 33.3l61.7 41.1c18.4 12.3 40 18.8 62.1 18.8H384c34.7 0 62.9-27.6 64-62c14.6-11.7 24-29.7 24-50c0-4.5-.5-8.8-1.3-13c15.4-11.7 25.3-30.2 25.3-51c0-6.5-1-12.8-2.8-18.7C504.8 273.7 512 257.7 512 240c0-35.3-28.6-64-64-64l-92.3 0c4.7-10.4 8.7-21.2 11.8-32.2l5.7-20c10.9-38.2-11.2-78.1-49.4-89zM32 192c-17.7 0-32 14.3-32 32V448c0 17.7 14.3 32 32 32H96c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32H32z\"]\n};\nvar faCloudShowers = {\n prefix: 'far',\n iconName: 'cloud-showers',\n icon: [512, 512, [], \"f73f\", \"M112 120c0-39.8 32.2-72 72-72c25.8 0 48.5 13.6 61.2 34c3.8 6.1 10.1 10.2 17.2 11.1s14.3-1.3 19.5-6.2c10-9.3 23.4-15 38.1-15c29 0 52.9 22.1 55.7 50.4c1.2 12.3 11.6 21.7 23.9 21.6l.3 0h0c35.3 0 64 28.7 64 64s-28.7 64-64 64H108h-1.9c-.3 0-.7-.1-1-.1C73.3 270.4 48 244.2 48 212c0-28.3 19.6-52.1 46.1-58.4c11.8-2.8 19.6-13.9 18.3-25.9c-.3-2.5-.4-5.1-.4-7.7zM184 0C120 0 67.7 50.1 64.2 113.3C26.4 130.1 0 167.9 0 212c0 57.1 44.3 103.9 100.5 107.7c1.2 .2 2.3 .3 3.5 .3h4H400c61.9 0 112-50.1 112-112c0-55.2-39.9-101.1-92.5-110.3C406.5 55 366.9 24 320 24c-18 0-34.9 4.6-49.7 12.6C248.5 14.1 217.9 0 184 0zM112 352c-13.3 0-24 10.7-24 24v80c0 13.3 10.7 24 24 24s24-10.7 24-24V376c0-13.3-10.7-24-24-24zm192 0c-13.3 0-24 10.7-24 24v80c0 13.3 10.7 24 24 24s24-10.7 24-24V376c0-13.3-10.7-24-24-24zm-72 56c0-13.3-10.7-24-24-24s-24 10.7-24 24v80c0 13.3 10.7 24 24 24s24-10.7 24-24V408zm168-24c-13.3 0-24 10.7-24 24v80c0 13.3 10.7 24 24 24s24-10.7 24-24V408c0-13.3-10.7-24-24-24z\"]\n};\nvar faUserClock = {\n prefix: 'far',\n iconName: 'user-clock',\n icon: [640, 512, [], \"f4fd\", \"M304 128a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zM96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM49.3 464H348.5c12.3 18.8 28 35.1 46.3 48H29.7C13.3 512 0 498.7 0 482.3C0 383.8 79.8 304 178.3 304h91.4c20.6 0 40.4 3.5 58.8 9.9c-4.9 15.3-7.8 31.4-8.4 48.2c-15.5-6.5-32.5-10.1-50.4-10.1H178.3c-65.7 0-120.1 48.7-129 112zM352 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-80c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H512V304c0-8.8-7.2-16-16-16z\"]\n};\nvar faOnion = {\n prefix: 'far',\n iconName: 'onion',\n icon: [448, 512, [129477], \"e427\", \"M171.3 33.9c.2-.7 .4-1.5 .6-2.2c1-3.8 1.9-7.8 2.5-11.9C176.2 9 184.9 0 195.8 0c6.3 0 12.1 3 15.8 7.9l0 0c.7 .9 1.3 1.9 1.9 3l3.4 6.8c2.9 5.9 11.4 5.9 14.3 0l3.4-6.8c.5-1.1 1.2-2.1 1.9-3l0 0C240.1 3 245.9 0 252.2 0c10.9 0 19.6 9 21.3 19.8c.6 4.1 1.5 8.1 2.5 11.9c.2 .7 .4 1.5 .6 2.2l0 .1c11.6 39.7 43.1 65.3 76 92C399 163.7 448 203.5 448 288c0 80.4-58 135.2-131.9 160.3l10.7 32.1c4.2 12.6-2.6 26.2-15.2 30.4s-26.2-2.6-30.4-15.2L269.4 460c-7.1 1.2-14.2 2.1-21.4 2.7V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V462.7c-7.2-.7-14.3-1.6-21.4-2.7l-11.9 35.6c-4.2 12.6-17.8 19.4-30.4 15.2s-19.4-17.8-15.2-30.4l10.7-32.1C58 423.2 0 368.4 0 288c0-84.5 49-124.3 95.3-162c32.9-26.7 64.4-52.4 76-92l0-.1zm31.3 48.2c-7.9 13.9-17.4 26-27.5 36.8c-.5 .5-1 1.1-1.5 1.6c-.4 .8-.9 1.9-1.5 3.2c-1.5 3.2-3.6 7.9-6.2 13.7c-5.1 11.7-12 28.2-18.9 46.9c-13.9 38.1-27 83.8-27 119.5c0 32.5 9.2 60.2 18.5 79.8c3.8 8.1 7.6 14.7 10.8 19.7c17.4 5.8 36.1 9.6 55.3 11.4C194.2 389.7 184 354.2 184 312c0-61.9 6.1-128.6 12.1-179.6c2.3-19.3 4.6-36.4 6.5-50.2zm34.3-13.5c-.3 1.8-.6 3.8-.9 5.8c-2.2 15.1-5.2 36.5-8.2 61.7C221.9 186.6 216 251.9 216 312c0 37.9 9.4 69.8 18.8 92.2c1.7 4 3.3 7.7 4.9 11c21.3-1.7 41.9-5.9 61-12.4c3.3-4.4 7.1-10.2 11-17.2c9.9-17.9 19.7-43.2 19.7-73.6c0-37.1-15.8-88.6-32.6-132.5c-8.3-21.6-16.6-40.7-22.8-54.5c-.8-1.9-1.7-3.7-2.4-5.3c-.2-.2-.4-.5-.7-.7c-13.2-14.2-25.6-30.8-34.5-50.7c-.5 .1-.9 .2-1.4 .3zm91.9 99.9c16.8 43.9 34.6 100.1 34.6 143.5c0 25.2-5.5 47.4-12.6 65.7C382.1 355.2 400 325.3 400 288c0-53.7-25.3-81.3-63.6-113.2c-2.4-2-5-4.1-7.6-6.3zM102.6 381.4C94.6 360.5 88 334.1 88 304c0-41.6 14.9-91.9 29-130.5c.6-1.5 1.1-3.1 1.7-4.6c-2.5 2-4.8 4-7.1 5.8C73.3 206.7 48 234.3 48 288c0 37.7 18.2 67.7 50 90.2c1.5 1.1 3.1 2.1 4.6 3.2z\"]\n};\nvar faClockTwelveThirty = {\n prefix: 'far',\n iconName: 'clock-twelve-thirty',\n icon: [512, 512, [], \"e359\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM280 152V392c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24s24 10.7 24 24z\"]\n};\nvar faArrowDownToDottedLine = {\n prefix: 'far',\n iconName: 'arrow-down-to-dotted-line',\n icon: [448, 512, [], \"e095\", \"M32 416a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm96 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 32a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm64-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 32a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM241.5 360.4c-4.5 4.8-10.9 7.6-17.5 7.6s-12.9-2.7-17.5-7.6l-128-136c-9.1-9.7-8.6-24.8 1-33.9s24.8-8.6 33.9 1L200 283.5V200 72c0-13.3 10.7-24 24-24s24 10.7 24 24V200v83.5l86.5-91.9c9.1-9.7 24.3-10.1 33.9-1s10.1 24.3 1 33.9l-128 136z\"]\n};\nvar faHandDots = {\n prefix: 'far',\n iconName: 'hand-dots',\n icon: [512, 512, [\"allergies\"], \"f461\", \"M198.4 36C208.8 14.7 230.7 0 256 0s47.2 14.7 57.6 36c7-2.6 14.5-4 22.4-4c35.3 0 64 28.7 64 64v2c5.1-1.3 10.5-2 16-2c35.3 0 64 28.7 64 64V336c0 1.5-.1 3-.4 4.5c-6.2 91.7-79.4 165-171.1 171.1c-1.5 .3-2.9 .4-4.5 .4h-8-8.5c-67.9 0-133-27-181-75L18.7 349.3c-25-25-25-65.5 0-90.5s65.5-25 90.5 0l2.7 2.7V96c0-35.3 28.7-64 64-64c7.9 0 15.4 1.4 22.4 4zM240 232c0 13.3-10.7 24-24 24s-24-10.7-24-24V95.9c0-8.8-7.2-15.9-16-15.9c-8.8 0-16 7.2-16 16V319.4c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2L75.3 292.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l87.8 87.8c39 39 91.9 60.9 147.1 60.9H296h4.9c.6-.1 1.3-.1 1.9-.2c69.7-3.4 125.6-59.3 129-129c0-.6 .1-1.3 .2-1.9V160c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 .1V232c0 13.3-10.7 24-24 24s-24-10.7-24-24V152l0-.1V96c0-8.8-7.2-16-16-16s-16 7.1-16 16l0 .1V232c0 13.3-10.7 24-24 24s-24-10.7-24-24V96l0-.1V64c0-8.8-7.2-16-16-16s-16 7.2-16 16V96l0 .1V232zm0 88a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm48 48a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm80-64a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM320 416a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm-64-16a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm-80-32a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faAllergies = faHandDots;\nvar faFileInvoice = {\n prefix: 'far',\n iconName: 'file-invoice',\n icon: [384, 512, [], \"f570\", \"M64 464H320c8.8 0 16-7.2 16-16V160H256c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16zM0 64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zm80 48c0-8.8 7.2-16 16-16h80c8.8 0 16 7.2 16 16s-7.2 16-16 16H96c-8.8 0-16-7.2-16-16zm0 64c0-8.8 7.2-16 16-16h80c8.8 0 16 7.2 16 16s-7.2 16-16 16H96c-8.8 0-16-7.2-16-16zM192 400c0-8.8 7.2-16 16-16h80c8.8 0 16 7.2 16 16s-7.2 16-16 16H208c-8.8 0-16-7.2-16-16zM112 224H272c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H112c-17.7 0-32-14.3-32-32V256c0-17.7 14.3-32 32-32z\"]\n};\nvar faWindowMinimize = {\n prefix: 'far',\n iconName: 'window-minimize',\n icon: [512, 512, [128469], \"f2d1\", \"M24 432c-13.3 0-24 10.7-24 24s10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H24z\"]\n};\nvar faRectangleWide = {\n prefix: 'far',\n iconName: 'rectangle-wide',\n icon: [640, 512, [], \"f2fc\", \"M576 112c8.8 0 16 7.2 16 16V384c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V128c0-8.8 7.2-16 16-16H576zM64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64z\"]\n};\nvar faCommentArrowUp = {\n prefix: 'far',\n iconName: 'comment-arrow-up',\n icon: [512, 512, [], \"e144\", \"M168.2 384.9c-15-5.4-31.7-3.1-44.6 6.4c-8.2 6-22.3 14.8-39.4 22.7c5.6-14.7 9.9-31.3 11.3-49.4c1-12.9-3.3-25.7-11.8-35.5C60.4 302.8 48 272 48 240c0-79.5 83.3-160 208-160s208 80.5 208 160s-83.3 160-208 160c-31.6 0-61.3-5.5-87.8-15.1zM26.3 423.8c-1.6 2.7-3.3 5.4-5.1 8.1l-.3 .5c-1.6 2.3-3.2 4.6-4.8 6.9c-3.5 4.7-7.3 9.3-11.3 13.5c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c5.1 0 10.2-.3 15.3-.8l.7-.1c4.4-.5 8.8-1.1 13.2-1.9c.8-.1 1.6-.3 2.4-.5c17.8-3.5 34.9-9.5 50.1-16.1c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9zM280 328V217.9l31 31c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-72-72c-9.4-9.4-24.6-9.4-33.9 0l-72 72c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l31-31V328c0 13.3 10.7 24 24 24s24-10.7 24-24z\"]\n};\nvar faGarlic = {\n prefix: 'far',\n iconName: 'garlic',\n icon: [512, 512, [129476], \"e40e\", \"M376 131.2c-15.2-12.1-24-30.5-24-50V48c0-26.5-21.5-48-48-48H208c-26.5 0-48 21.5-48 48V81.2c0 19.4-8.8 37.8-24 50L52.7 197.8C19.4 224.5 0 264.8 0 307.5C0 385.1 62.9 448 140.5 448H136v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448h16v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448h16v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448h16v40c0 13.3 10.7 24 24 24s24-10.7 24-24V448h-4.5C449.1 448 512 385.1 512 307.5c0-42.7-19.4-83-52.7-109.7L376 131.2zm-168-56V48h32V75.2c0 48.1 15 95 43 134.1l17.4 24.4c12.7 17.8 19.6 39.2 19.6 61.1V304c0 53-43 96-96 96s-96-43-96-96v-9.2c0-21.9 6.8-43.3 19.6-61.1L165 209.3c24.1-33.7 38.6-73.2 42.1-114.2c.6-4.6 .9-9.2 .9-13.9V75.2zM272 48h32V81.2c0 34 15.5 66.2 42 87.5l83.3 66.6c21.9 17.6 34.7 44.1 34.7 72.2c0 51.1-41.4 92.5-92.5 92.5H308.7c26.6-23.5 43.3-57.8 43.3-96v-9.2c0-28.6-8.9-56.5-25.5-79.7L309 190.7c-24.1-33.7-37-74.1-37-115.5V48zM139.3 400C88.8 399.4 48 358.2 48 307.5c0-28.1 12.8-54.7 34.7-72.2l57-45.6c-.2 .3-.5 .6-.7 1l-17.4 24.4C104.9 238.4 96 266.2 96 294.8V304c0 38.2 16.8 72.5 43.3 96z\"]\n};\nvar faMugSaucer = {\n prefix: 'far',\n iconName: 'mug-saucer',\n icon: [640, 512, [\"coffee\"], \"f0f4\", \"M144 80H432V288c0 26.5-21.5 48-48 48H192c-26.5 0-48-21.5-48-48V80zM128 32c-17.7 0-32 14.3-32 32V288c0 53 43 96 96 96H384c53 0 96-43 96-96h32c70.7 0 128-57.3 128-128s-57.3-128-128-128H448 128zM512 240H480V80h32c44.2 0 80 35.8 80 80s-35.8 80-80 80zM24 432c-13.3 0-24 10.7-24 24s10.7 24 24 24H552c13.3 0 24-10.7 24-24s-10.7-24-24-24H24z\"]\n};\nvar faCoffee = faMugSaucer;\nvar faBrush = {\n prefix: 'far',\n iconName: 'brush',\n icon: [384, 512, [], \"f55d\", \"M48 288V64c0-8.8 7.2-16 16-16H96v96c0 8.8 7.2 16 16 16s16-7.2 16-16V48h64v64c0 8.8 7.2 16 16 16s16-7.2 16-16V48h96c8.8 0 16 7.2 16 16V288H48zM0 320c0 35.3 28.7 64 64 64h64v64c0 35.3 28.7 64 64 64s64-28.7 64-64V384h64c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V320zM192 432a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faTreeDecorated = {\n prefix: 'far',\n iconName: 'tree-decorated',\n icon: [448, 512, [], \"f7dc\", \"M242.9 9.3C238.4 3.4 231.4 0 224 0s-14.4 3.4-18.9 9.3L66.8 186.9c-5.6 7.2-6.6 17-2.6 25.3s12.4 13.5 21.6 13.5h16.5L35.1 326.2c-4.9 7.4-5.4 16.8-1.2 24.6s12.3 12.7 21.2 12.7H79L4.1 474.6c-5 7.4-5.5 16.9-1.3 24.7S15.1 512 24 512H424c8.9 0 17-4.9 21.2-12.7s3.7-17.3-1.3-24.7L369 363.5h24c8.9 0 17-4.9 21.2-12.7s3.7-17.3-1.2-24.6L345.7 225.6h16.5c9.2 0 17.5-5.2 21.6-13.5s3-18-2.6-25.3L242.9 9.3zM147.2 177.6H134.9L224 63.1l89.1 114.5H300.8c-8.9 0-17 4.9-21.2 12.7s-3.7 17.3 1.2 24.6l67.2 100.6H323.8c-8.9 0-17 4.9-21.2 12.7s-3.7 17.3 1.3 24.7L378.9 464H69.1l74.9-111.1c5-7.4 5.5-16.9 1.3-24.7s-12.3-12.7-21.2-12.7H99.9l67.2-100.6c4.9-7.4 5.4-16.8 1.2-24.6s-12.3-12.7-21.2-12.7zM184 312a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm80-152a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm24 280a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faMask = {\n prefix: 'far',\n iconName: 'mask',\n icon: [576, 512, [], \"f6fa\", \"M91.4 162.3C61 188.5 48 225.2 48 272c0 43.9 15.3 74.8 36.8 95c22 20.6 53.7 33 91.2 33h8.4c6.1 0 11.6-3.4 14.3-8.8l23.2-46.3 39 19.5-39-19.5C234.4 319.8 260 304 288 304s53.6 15.8 66.1 40.8l23.2 46.3c2.7 5.4 8.2 8.8 14.3 8.8H400c37.4 0 69.2-12.4 91.2-33c21.5-20.2 36.8-51.1 36.8-95c0-46.8-13-83.5-43.4-109.7C452.9 134.9 394.3 112 288 112s-164.9 22.9-196.6 50.3zM0 272C0 160 64 64 288 64s288 96 288 208s-80 176-176 176h-8.4c-24.2 0-46.4-13.7-57.2-35.4l-23.2-46.3c-4.4-8.8-13.3-14.3-23.2-14.3s-18.8 5.5-23.2 14.3l-23.2 46.3c-10.8 21.7-33 35.4-57.2 35.4H176C80 448 0 384 0 272zm96-16a64 64 0 1 1 128 0A64 64 0 1 1 96 256zm320-64a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]\n};\nvar faCalendarHeart = {\n prefix: 'far',\n iconName: 'calendar-heart',\n icon: [448, 512, [], \"e0d3\", \"M128 0c13.3 0 24 10.7 24 24V64H296V24c0-13.3 10.7-24 24-24s24 10.7 24 24V64h40c35.3 0 64 28.7 64 64v16 48V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192 144 128C0 92.7 28.7 64 64 64h40V24c0-13.3 10.7-24 24-24zM400 192H48V448c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V192zM112 301.3c0-33.8 27.4-61.3 61.3-61.3c16.2 0 31.8 6.5 43.3 17.9l7.4 7.4 7.4-7.4c11.5-11.5 27.1-17.9 43.3-17.9c33.8 0 61.3 27.4 61.3 61.3c0 16.2-6.5 31.8-17.9 43.3l-82.7 82.7c-6.2 6.2-16.4 6.2-22.6 0l-82.7-82.7c-11.5-11.5-17.9-27.1-17.9-43.3z\"]\n};\nvar faMagnifyingGlassMinus = {\n prefix: 'far',\n iconName: 'magnifying-glass-minus',\n icon: [512, 512, [\"search-minus\"], \"f010\", \"M208 48a160 160 0 1 1 0 320 160 160 0 1 1 0-320zm0 368c48.8 0 93.7-16.8 129.1-44.9L471 505c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L371.1 337.1C399.2 301.7 416 256.8 416 208C416 93.1 322.9 0 208 0S0 93.1 0 208S93.1 416 208 416zM136 184c-13.3 0-24 10.7-24 24s10.7 24 24 24H280c13.3 0 24-10.7 24-24s-10.7-24-24-24H136z\"]\n};\nvar faSearchMinus = faMagnifyingGlassMinus;\nvar faFlower = {\n prefix: 'far',\n iconName: 'flower',\n icon: [448, 512, [127804, 10047], \"f7ff\", \"M448 168c0 33.6-12.2 64.3-32.3 88c20.1 23.7 32.3 54.4 32.3 88c0 75.1-60.9 136-136 136c-33.6 0-64.3-12.2-88-32.3c-23.7 20.1-54.4 32.3-88 32.3C60.9 480 0 419.1 0 344c0-33.6 12.2-64.3 32.3-88C12.2 232.3 0 201.6 0 168C0 92.9 60.9 32 136 32c33.6 0 64.3 12.2 88 32.3C247.7 44.2 278.4 32 312 32c75.1 0 136 60.9 136 136zM192.9 100.9C177.6 87.8 157.8 80 136 80c-48.6 0-88 39.4-88 88c0 21.8 7.8 41.6 20.9 56.9c15.2 17.9 15.2 44.2 0 62.2C55.8 302.4 48 322.2 48 344c0 48.6 39.4 88 88 88c21.8 0 41.6-7.8 56.9-20.9c17.9-15.2 44.2-15.2 62.2 0C270.4 424.2 290.2 432 312 432c48.6 0 88-39.4 88-88c0-21.8-7.8-41.6-20.9-56.9c-15.2-17.9-15.2-44.2 0-62.2C392.2 209.6 400 189.8 400 168c0-48.6-39.4-88-88-88c-21.8 0-41.6 7.8-56.9 20.9c-17.9 15.2-44.2 15.2-62.2 0zM256 256a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-112 0a80 80 0 1 1 160 0 80 80 0 1 1 -160 0z\"]\n};\nvar faArrowDownFromArc = {\n prefix: 'far',\n iconName: 'arrow-down-from-arc',\n icon: [512, 512, [], \"e614\", \"M256 48C141.1 48 48 141.1 48 256c0 13.3-10.7 24-24 24s-24-10.7-24-24C0 114.6 114.6 0 256 0S512 114.6 512 256c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-114.9-93.1-208-208-208zM134.4 392.3c-9-9.7-8.5-24.9 1.3-33.9s24.9-8.5 33.9 1.3L232 426.9 232 184c0-13.3 10.7-24 24-24s24 10.7 24 24l0 242.9 62.4-67.2c9-9.7 24.2-10.3 33.9-1.3s10.3 24.2 1.3 33.9l-104 112c-4.5 4.9-10.9 7.7-17.6 7.7s-13-2.8-17.6-7.7l-104-112z\"]\n};\nvar faRightLeftLarge = {\n prefix: 'far',\n iconName: 'right-left-large',\n icon: [640, 512, [], \"e5e1\", \"M182.1 504c-15.4 0-30.1-6.1-41-17L20.7 366.6C12.6 358.5 8 347.5 8 336s4.6-22.5 12.7-30.6L141.1 185c10.9-10.9 25.6-17 41-17c32 0 57.9 25.9 57.9 57.9V232H432c8.8 0 16 7.2 16 16v38.1c0 5.5 4.5 9.9 9.9 9.9c2.6 0 5.2-1 7-2.9L582.1 176 465 58.9c-1.9-1.9-4.4-2.9-7-2.9c-5.5 0-9.9 4.5-9.9 9.9V104c0 8.8-7.2 16-16 16H320c-13.3 0-24-10.7-24-24s10.7-24 24-24h80V65.9C400 33.9 425.9 8 457.9 8c15.4 0 30.1 6.1 41 17L619.3 145.4c8.1 8.1 12.7 19.1 12.7 30.6s-4.6 22.5-12.7 30.6L498.9 327c-10.9 10.9-25.6 17-41 17c-32 0-57.9-25.9-57.9-57.9V280H208c-8.8 0-16-7.2-16-16V225.9c0-5.5-4.5-9.9-9.9-9.9c-2.6 0-5.2 1-7 2.9L57.9 336 175 453.1c1.9 1.9 4.4 2.9 7 2.9c5.5 0 9.9-4.5 9.9-9.9V408c0-8.8 7.2-16 16-16H320c13.3 0 24 10.7 24 24s-10.7 24-24 24H240v6.1c0 32-25.9 57.9-57.9 57.9z\"]\n};\nvar faRulerVertical = {\n prefix: 'far',\n iconName: 'ruler-vertical',\n icon: [256, 512, [], \"f548\", \"M192 48c8.8 0 16 7.2 16 16V96H160c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v64H160c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v64H160c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v64H160c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v32c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H192zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H192c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64z\"]\n};\nvar faCirclesOverlap = {\n prefix: 'far',\n iconName: 'circles-overlap',\n icon: [640, 512, [], \"e600\", \"M192 288c0 40.8 10.9 79 30 112c-96.3-1.1-174-79.5-174-176c0-97.2 78.8-176 176-176c38.9 0 74.8 12.6 104 34C248 116.2 192 195.5 192 288zm32 160c11.2 0 22.1-.8 32.8-2.4c40.6 41 96.9 66.4 159.2 66.4c123.7 0 224-100.3 224-224S539.7 64 416 64c-11.2 0-22.1 .8-32.8 2.4C342.6 25.4 286.3 0 224 0C100.3 0 0 100.3 0 224S100.3 448 224 448zm192 16c-38.9 0-74.8-12.6-104-34C392 395.8 448 316.5 448 224c0-40.8-10.9-79-30-112c96.3 1.1 174 79.5 174 176c0 97.2-78.8 176-176 176z\"]\n};\nvar faUserLarge = {\n prefix: 'far',\n iconName: 'user-large',\n icon: [512, 512, [\"user-alt\"], \"f406\", \"M352 144a96 96 0 1 0 -192 0 96 96 0 1 0 192 0zm-240 0a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zM49.3 464H462.7c-8.3-54.4-55.3-96-112-96H161.3c-56.7 0-103.6 41.6-112 96zM0 481.3C0 392.2 72.2 320 161.3 320H350.7C439.8 320 512 392.2 512 481.3c0 17-13.8 30.7-30.7 30.7H30.7C13.8 512 0 498.2 0 481.3z\"]\n};\nvar faUserAlt = faUserLarge;\nvar faStarshipFreighter = {\n prefix: 'far',\n iconName: 'starship-freighter',\n icon: [576, 512, [], \"e03a\", \"M400 256c0-97.2-78.8-176-176-176S48 158.8 48 256s78.8 176 176 176c14.8 0 29.1-1.8 42.8-5.2L208 350.7c-45.4-7.6-80-47.1-80-94.7c0-53 43-96 96-96s96 43 96 96c0 1.3 0 2.7-.1 4l60 77.7C392.7 313.3 400 285.5 400 256zm40 112c1.1 0 2.3 0 3.4 .1L528 335.2V280H446.7c-3.4 31.8-13.4 61.6-28.7 88h22zm6.7-136H528V176.8l-118.2-46c19.9 29.5 32.9 63.9 36.9 101.1zM555.6 375.9l-57 22.2C507 409.9 512 424.4 512 440c0 39.8-32.2 72-72 72H368c-22.3 0-43.3-10.3-57-28l-9.9-12.9C275.9 477 250 480 224 480C100.3 480 0 379.7 0 256S100.3 32 224 32c42.3 0 84.2 7.9 123.6 23.2l207.9 80.9c12.3 4.8 20.4 16.6 20.4 29.8V256v90.1c0 13.2-8.1 25-20.4 29.8zM88 240a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm16-80a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm16 176a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm152-80a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm77 198.7c4.5 5.9 11.6 9.3 19 9.3h72c13.3 0 24-10.7 24-24s-10.7-24-24-24H379.8L300.7 313.7c-9.7 12.9-22.6 23.3-37.5 30l85.8 111z\"]\n};\nvar faTrainTram = {\n prefix: 'far',\n iconName: 'train-tram',\n icon: [448, 512, [128650], \"e5b4\", \"M55.5 63c7.6-9.5 19.1-15 31.2-15H200V96H160c-53 0-96 43-96 96V352c0 26 10.3 49.6 27.2 66.9L39 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l60.6-60.6c8.4 2.4 17.2 3.7 26.4 3.7H288c9.2 0 18-1.3 26.4-3.7L375 505c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-52.1-52.1C373.7 401.6 384 378 384 352V192c0-53-43-96-96-96H248V48H361.2c12.2 0 23.6 5.5 31.2 15l12.8 16c8.3 10.4 23.4 12 33.7 3.7s12-23.4 3.8-33.7L430 33C413.3 12.2 388 0 361.2 0H86.8C60 0 34.7 12.2 18 33L5.3 49C-3 59.4-1.3 74.5 9 82.7S34.5 89.3 42.7 79L55.5 63zM160 144H288c26.5 0 48 21.5 48 48v48H112V192c0-26.5 21.5-48 48-48zM112 288H336v64c0 26.5-21.5 48-48 48H160c-26.5 0-48-21.5-48-48V288zm72 64a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm104 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faBridgeSuspension = {\n prefix: 'far',\n iconName: 'bridge-suspension',\n icon: [640, 512, [], \"e4cd\", \"M149.1 12.5C145 5 137.1 0 128 0c-8.8 0-16.5 4.7-20.7 11.8C94.3 33 80.7 53.9 65.3 71.5c-15.5 17.7-31.7 30.6-49.4 36.9C3.4 113-3.1 126.7 1.4 139.2s18.2 18.9 30.7 14.4c28.2-10.2 50.8-29.4 69.2-50.4c.9-1 1.8-2 2.6-3V240H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H616c13.3 0 24-10.7 24-24s-10.7-24-24-24H536V100.2c.9 1 1.7 2 2.6 3c18.4 21 41 40.3 69.2 50.4c12.5 4.5 26.2-2 30.7-14.4s-2-26.2-14.4-30.7c-17.7-6.4-33.9-19.3-49.4-36.9c-15.4-17.6-29-38.6-42-59.8C528.5 4.7 520.8 0 512 0c-9.1 0-17 5-21.1 12.5C455.8 73.6 390.3 112 320 112s-135.8-38.4-170.9-99.5zM200 240H152V92.8c14.5 13.7 30.7 25.6 48 35.4V240zm96 0H248V149c15.5 4.8 31.6 8.1 48 9.8V240zm96 0H344V158.8c16.4-1.6 32.5-4.9 48-9.8v91zm96 0H440V128.3c17.3-9.8 33.5-21.7 48-35.4V240zM0 360c0 13.3 10.7 24 24 24H40c30.9 0 56 25.1 56 56v24c0 26.5 21.5 48 48 48h49.4c25.7 0 46.6-20.9 46.6-46.6V464c0-44.2 35.8-80 80-80s80 35.8 80 80v1.4c0 25.7 20.9 46.6 46.6 46.6H496c26.5 0 48-21.5 48-48V440c0-30.9 25.1-56 56-56h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H600c-57.4 0-104 46.6-104 104v24H448c0-70.7-57.3-128-128-128s-128 57.3-128 128H144V440c0-57.4-46.6-104-104-104H24c-13.3 0-24 10.7-24 24z\"]\n};\nvar faTrashCheck = {\n prefix: 'far',\n iconName: 'trash-check',\n icon: [448, 512, [], \"e2af\", \"M170.5 51.6L151.5 80h145l-19-28.4c-1.5-2.2-4-3.6-6.7-3.6H177.1c-2.7 0-5.2 1.3-6.7 3.6zm147-26.6L354.2 80h13.7H416h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H412.4L388.4 452.7c-2.5 33.4-30.3 59.3-63.8 59.3H123.4c-33.5 0-61.3-25.9-63.8-59.3L35.6 128H24c-13.3 0-24-10.7-24-24S10.7 80 24 80h8H80.1 93.8l36.7-55.1C140.9 9.4 158.4 0 177.1 0h93.7c18.7 0 36.2 9.4 46.6 24.9zM83.7 128l23.8 321.2c.6 8.4 7.6 14.8 16 14.8H324.6c8.4 0 15.3-6.5 16-14.8L364.3 128H83.7zM318.1 246.1l-104 104c-7.8 7.8-20.5 7.8-28.3 0l-40-40c-7.8-7.8-7.8-20.5 0-28.3s20.5-7.8 28.3 0L200 307.7l89.9-89.9c7.8-7.8 20.5-7.8 28.3 0s7.8 20.5 0 28.3z\"]\n};\nvar faUserNurse = {\n prefix: 'far',\n iconName: 'user-nurse',\n icon: [448, 512, [], \"f82f\", \"M96 128V70.2c0-13.3 8.3-25.3 20.8-30l96-36c7.2-2.7 15.2-2.7 22.5 0l96 36c12.5 4.7 20.8 16.6 20.8 30V128h-.3c.2 2.6 .3 5.3 .3 8v40c0 70.7-57.3 128-128 128s-128-57.3-128-128V136c0-2.7 .1-5.4 .3-8H96zm48 48c0 44.2 35.8 80 80 80s80-35.8 80-80V160H144v16zM216 40c-4.4 0-8 3.6-8 8V64H192c-4.4 0-8 3.6-8 8V88c0 4.4 3.6 8 8 8h16v16c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8V96h16c4.4 0 8-3.6 8-8V72c0-4.4-3.6-8-8-8H240V48c0-4.4-3.6-8-8-8H216zM49.3 461.9H398.7c-6-39.3-32.2-72-67.7-87.1l-61.7 61.7c-25 25-65.5 25-90.5 0l-61.7-61.7c-35.5 15.1-61.7 47.8-67.7 87.1zm65.1-137.1c10.1-3.1 20.9 .4 28.4 7.9l69.8 69.8c6.2 6.2 16.4 6.2 22.6 0l69.8-69.8c7.5-7.5 18.3-11 28.4-7.9C399.8 344.9 448 406.4 448 479.2c0 17-13.8 30.7-30.7 30.7H30.7c-17 0-30.7-13.8-30.7-30.7c0-72.8 48.2-134.3 114.4-154.4z\"]\n};\nvar faBoombox = {\n prefix: 'far',\n iconName: 'boombox',\n icon: [640, 512, [128254], \"f8a5\", \"M136 48H504c22.1 0 40 17.9 40 40v72H448c0-17.7-14.3-32-32-32s-32 14.3-32 32H352c0-17.7-14.3-32-32-32s-32 14.3-32 32H256c0-17.7-14.3-32-32-32s-32 14.3-32 32H96V88c0-22.1 17.9-40 40-40zM48 88v74c-27.6 7.1-48 32.2-48 62V448c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V224c0-29.8-20.4-54.9-48-62V88c0-48.6-39.4-88-88-88H136C87.4 0 48 39.4 48 88zM64 208H576c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V224c0-8.8 7.2-16 16-16zM176 432a96 96 0 1 0 0-192 96 96 0 1 0 0 192zm-48-96a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm432 0a96 96 0 1 0 -192 0 96 96 0 1 0 192 0zm-96-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faSyringe = {\n prefix: 'far',\n iconName: 'syringe',\n icon: [512, 512, [128137], \"f48e\", \"M407 7c-9.4 9.4-9.4 24.6 0 33.9l15 15L384 94.1 329 39c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l72 72 72 72c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-55-55L456 89.9l15 15c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L473 39 441 7c-9.4-9.4-24.6-9.4-33.9 0zM271.4 94.6l-191 191C69.9 296.2 64 310.4 64 325.3v88.8L7 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l57-57h88.8c14.9 0 29.1-5.9 39.6-16.4l191-191c-.3-.3-.7-.6-1-1l-33-33-191 191c-1.5 1.5-3.5 2.3-5.7 2.3H112V325.3c0-2.1 .8-4.2 2.3-5.7l27.3-27.3 23 23c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-23-23 41.4-41.4 23 23c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-23-23 41.4-41.4 23 23c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-23-23 13.1-13.1-33-33c-.3-.3-.6-.7-1-1z\"]\n};\nvar faCloudSun = {\n prefix: 'far',\n iconName: 'cloud-sun',\n icon: [640, 512, [9925], \"f6c4\", \"M294.2 1.2c5.1 2.1 8.7 6.7 9.6 12.1l14.1 84.7 84.7 14.1c5.4 .9 10 4.5 12.1 9.6s1.5 10.9-1.6 15.4l-38.5 55c-2.2-.1-4.4-.2-6.7-.2c-23.3 0-45.1 6.2-64 17.1l0-1.1c0-53-43-96-96-96s-96 43-96 96s43 96 96 96c8.1 0 15.9-1 23.4-2.9c-36.6 18.1-63.3 53.1-69.8 94.9l-24.4 17c-4.5 3.1-10.3 3.8-15.4 1.6s-8.7-6.7-9.6-12.1L98.1 317.9 13.4 303.8c-5.4-.9-10-4.5-12.1-9.6s-1.5-10.9 1.6-15.4L52.5 208 2.9 137.2c-3.2-4.5-3.8-10.3-1.6-15.4s6.7-8.7 12.1-9.6L98.1 98.1l14.1-84.7c.9-5.4 4.5-10 9.6-12.1s10.9-1.5 15.4 1.6L208 52.5 278.8 2.9c4.5-3.2 10.3-3.8 15.4-1.6zM144 208a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM320.1 320c0 .8 0 1.7-.1 2.5l-2 23.8c-1.1 13.2-12.7 23-25.9 21.9c-1.3-.1-2.6-.2-4-.2c-26.5 0-48 21.5-48 48s21.5 48 48 48c.6 0 1.3 0 1.9 0c.3 0 .6 0 .9 0H557.8c.3 0 .6 0 1 0c.4 0 .9 0 1.3 0c17.7 0 32-14.3 32-32s-14.3-32-32-32c-1.6 0-3.1 .1-4.6 .3c-6.9 1-13.9-1.1-19.1-5.6s-8.3-11.2-8.3-18.1V346.3c0-.3 0-.6 0-.9c0-.5 0-1 0-1.5s0-1 0-1.5c0-.3 0-.6 0-.9v-1.1c-.1-.6-.2-1.1-.3-1.7c-2.5-19.6-19.3-34.8-39.7-34.8c-12.6 0-23.8 5.8-31.1 14.9c-5.8 7.1-15.1 10.4-24.1 8.3s-15.9-9.1-18-18c-4.9-21.3-24-37.2-46.8-37.2c-26.5 0-48 21.5-48 48zm48-96c33 0 62 16.6 79.3 41.9c12.2-6.3 26-9.9 40.6-9.9c43 0 78.8 30.9 86.5 71.7c1 2.6 1.5 5.4 1.5 8.3v5.3c0 .9 0 1.8 0 2.7s0 1.8 0 2.7v6.9c36.5 7.4 64 39.7 64 78.4c0 44.2-35.8 80-80 80c-.9 0-1.8 0-2.7 0h-266c-1.1 0-2.1 .1-3.2 .1c-53 0-96-43-96-96c0-47.5 34.5-86.9 79.8-94.6l.2-2.5c.6-52.5 43.4-94.8 96-94.8z\"]\n};\nvar faShieldExclamation = {\n prefix: 'far',\n iconName: 'shield-exclamation',\n icon: [512, 512, [], \"e247\", \"M73 127L256 49.4 439 127c5.9 2.5 9.1 7.8 9 12.8c-.4 91.4-38.4 249.3-186.3 320.1c-3.6 1.7-7.8 1.7-11.3 0C102.4 389 64.5 231.2 64 139.7c0-5 3.1-10.2 9-12.8zM457.7 82.8L269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.8 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2zM256 128c-13.3 0-24 10.7-24 24V264c0 13.3 10.7 24 24 24s24-10.7 24-24V152c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faStopwatch20 = {\n prefix: 'far',\n iconName: 'stopwatch-20',\n icon: [448, 512, [], \"e06f\", \"M168 0c-13.3 0-24 10.7-24 24s10.7 24 24 24h32V97.4C96.4 109.3 16 197.2 16 304c0 114.9 93.1 208 208 208s208-93.1 208-208c0-44.7-14.1-86.1-38.1-120l31-31c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-29.2 29.2c-31.1-27.5-70.4-45.9-113.8-50.9V48h32c13.3 0 24-10.7 24-24s-10.7-24-24-24H168zM64 304a160 160 0 1 1 320 0A160 160 0 1 1 64 304zm172-48v96c0 28.7 23.3 52 52 52s52-23.3 52-52V256c0-28.7-23.3-52-52-52s-52 23.3-52 52zm52-12c6.6 0 12 5.4 12 12v96c0 6.6-5.4 12-12 12s-12-5.4-12-12V256c0-6.6 5.4-12 12-12zm-132.4 8.6c1.7-5.1 6.5-8.6 11.9-8.6c6.9 0 12.5 5.6 12.5 12.5v2.2c0 3.6-1.3 7.1-3.7 9.8l-39 43.9c-13.7 15.4-21.2 35.2-21.2 55.8V384c0 11 9 20 20 20h64c11 0 20-9 20-20s-9-20-20-20H156.2c.9-9.2 4.7-17.9 10.9-24.9l39-43.9c8.9-10 13.8-23 13.8-36.4v-2.2c0-29-23.5-52.5-52.5-52.5c-22.6 0-42.7 14.5-49.8 35.9l-.6 1.7c-3.5 10.5 2.2 21.8 12.6 25.3s21.8-2.2 25.3-12.6l.6-1.7z\"]\n};\nvar faSquareFull = {\n prefix: 'far',\n iconName: 'square-full',\n icon: [512, 512, [128997, 128998, 128999, 129000, 129001, 129002, 129003, 11035, 11036], \"f45c\", \"M464 48V464H48V48H464zM48 0H0V48 464v48H48 464h48V464 48 0H464 48z\"]\n};\nvar faGripDots = {\n prefix: 'far',\n iconName: 'grip-dots',\n icon: [448, 512, [], \"e410\", \"M352 192a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm-160 0a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zM64 224a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm288 96a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zM224 352a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM32 320a32 32 0 1 0 64 0 32 32 0 1 0 -64 0z\"]\n};\nvar faCommentExclamation = {\n prefix: 'far',\n iconName: 'comment-exclamation',\n icon: [512, 512, [], \"f4af\", \"M168.2 384.9c-15-5.4-31.7-3.1-44.6 6.4c-8.2 6-22.3 14.8-39.4 22.7c5.6-14.7 9.9-31.3 11.3-49.4c1-12.9-3.3-25.7-11.8-35.5C60.4 302.8 48 272 48 240c0-79.5 83.3-160 208-160s208 80.5 208 160s-83.3 160-208 160c-31.6 0-61.3-5.5-87.8-15.1zM26.3 423.8c-1.6 2.7-3.3 5.4-5.1 8.1l-.3 .5c-1.6 2.3-3.2 4.6-4.8 6.9c-3.5 4.7-7.3 9.3-11.3 13.5c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c5.1 0 10.2-.3 15.3-.8l.7-.1c4.4-.5 8.8-1.1 13.2-1.9c.8-.1 1.6-.3 2.4-.5c17.8-3.5 34.9-9.5 50.1-16.1c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9zM256 112c-13.3 0-24 10.7-24 24V248c0 13.3 10.7 24 24 24s24-10.7 24-24V136c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faPenSwirl = {\n prefix: 'far',\n iconName: 'pen-swirl',\n icon: [512, 512, [], \"e214\", \"M441.2 59.1L453.1 71c9.4 9.4 9.4 24.6 0 33.9L432 126.1 386.3 80.4l20.8-21.1c9.4-9.5 24.6-9.5 34.1-.1zM231.9 236.8L352.6 114.5 398.1 160 276.6 281.6c-3.3 3.3-7.5 5.6-12 6.5L215 298.5l10.4-49.7c.9-4.5 3.2-8.7 6.4-11.9zM373 25.5L197.7 203.1c-9.7 9.8-16.4 22.3-19.2 35.8l-18 85.7c-1.7 7.9 .8 16.2 6.5 21.9s14 8.2 21.9 6.5l85.5-17.9c13.7-2.9 26.3-9.7 36.1-19.6L487.1 138.9c28.1-28.1 28.1-73.7 0-101.8L475.1 25.2C446.9-3.1 401-2.9 373 25.5zm-48.3-7.9C302.9 11.4 279.8 8 256 8C119 8 8 119 8 256S119 504 256 504c13.3 0 24-10.7 24-24s-10.7-24-24-24C145.5 456 56 366.5 56 256S145.5 56 256 56c9.7 0 19.3 .7 28.7 2l40-40.4zM454.1 228.4c1.2 9 1.9 18.2 1.9 27.6c0 57.4-46.6 104-104 104c-13.3 0-24 10.7-24 24s10.7 24 24 24c83.9 0 152-68.1 152-152c0-23.6-3.3-46.4-9.4-68l-40.4 40.5z\"]\n};\nvar faFalafel = {\n prefix: 'far',\n iconName: 'falafel',\n icon: [576, 512, [129478], \"e40a\", \"M147.4 120.3c-15.2 18.4-15.2 45.1 0 63.5c.3 .4 .5 1 .3 1.6c-2.3 9-1.9 18.2 .6 26.6c-20.8-9-45-2.4-58.5 15.9c-.3 .4-.5 .4-.7 .4c-24.3-.7-44.9 16.5-49.4 39.9c-.1 .6-.5 1-.7 1.1c-21.9 10-33.1 34.3-27.3 57.3c.2 .6 0 1.3-.3 1.6c-15.2 18.4-15.2 45.1 0 63.5c.3 .4 .5 1 .3 1.6c-5.8 23 5.4 47.3 27.3 57.3c.2 .1 .6 .4 .7 1.1c4.6 23.4 25.2 40.6 49.4 39.9c.1 0 .4 0 .7 .4c14.3 19.4 40.5 25.6 61.9 14.3c.1-.1 .2-.1 .3-.1s.2 0 .3 .1c21.5 11.3 47.7 5 61.9-14.3c.3-.4 .5-.4 .7-.4c24.3 .7 44.9-16.5 49.4-39.9c.1-.6 .5-1 .7-1.1c10.2-4.7 18.1-12.4 23-21.7c4.9 9.3 12.8 17.1 23 21.7c.2 .1 .6 .4 .7 1.1c4.6 23.4 25.2 40.6 49.4 39.9c.1 0 .4 0 .7 .4c14.3 19.4 40.5 25.6 61.9 14.3c.1-.1 .2-.1 .3-.1s.2 0 .3 .1c21.5 11.3 47.7 5 61.9-14.3c.3-.4 .6-.4 .7-.4c24.3 .7 44.9-16.5 49.4-39.9c.1-.6 .5-1 .7-1.1c16.4-7.5 26.7-22.9 28.5-39.9c-18.6 7.3-39.4 6-56.9 1.2l-.1 0c-10 7.3-17 18.2-19.4 30.6c-.1 .5-.3 .8-.5 .9s-.3 .2-.4 .2c-16.1-.5-31.2 7.1-40.7 19.9c-.1 .2-.2 .2-.3 .3s-.2 .1-.2 .1s-.1 0-.2 0c0 0-.1 0-.2-.1c-14.2-7.5-31.1-7.5-45.3 0c-.1 0-.1 0-.1 .1l-.1 0-.1 0-.1 0-.1 0c-.1 0-.2-.1-.2-.1s-.2-.1-.3-.3c-9.5-12.8-24.6-20.4-40.7-19.9c-.1 0-.2 0-.4-.2s-.4-.5-.5-.9c-3-15.6-13.3-28.9-27.9-35.5c-.2-.1-.4-.2-.6-.6s-.2-.8-.1-1.3c3.9-15.4 .3-31.7-9.9-44c-.2-.3-.4-.7-.4-1.1s.2-.9 .4-1.1c10.1-12.3 13.8-28.6 9.9-44c-.1-.5-.1-.9 .1-1.3s.4-.5 .6-.6c14.6-6.7 24.8-20 27.9-35.5c.1-.5 .3-.8 .5-.9s.3-.2 .4-.2c8.7 .2 17.1-1.8 24.5-5.9c-.9-11.7 .3-23.8 4.6-35.2c7.1-4.1 16-4.4 23.7-.4l.4 .2c13.8-12.1 20-31.3 15.4-49.7c-.2-.6 0-1.3 .3-1.6c15.2-18.4 15.2-45.1 0-63.5c-.3-.4-.5-1-.3-1.6c5.8-23-5.4-47.3-27.3-57.3c-.2-.1-.6-.4-.7-1.1c-4.6-23.4-25.2-40.6-49.4-39.9c-.1 0-.4 0-.7-.4C335.9 .6 309.7-5.7 288.3 5.6c-.1 .1-.2 .1-.3 .1s-.2 0-.3-.1c-21.5-11.3-47.7-5-61.9 14.3c-.3 .4-.5 .4-.7 .4c-24.3-.7-44.9 16.5-49.4 39.9c-.1 .6-.5 1-.7 1.1c-21.9 10-33.1 34.3-27.3 57.3c.2 .6 0 1.3-.3 1.6zM324.5 243.4c-5 3.2-9.4 7.3-13 12.2c-.1 .2-.2 .2-.3 .3s-.2 .1-.2 .1s-.1 0-.2 0c0 0-.1 0-.2-.1c-14.2-7.5-31.1-7.5-45.3 0c-.1 .1-.2 .1-.2 .1s-.1 0-.1 0l-.1 0c-.1 0-.2 0-.2-.1s-.2-.1-.3-.3c-3.6-4.9-8-9-13-12.2c-7.8-8.2-18.4-13.6-30.2-14.9c-4.2-12.9-13.7-23.7-26.3-29.5c-.2-.1-.4-.2-.6-.6s-.2-.8-.1-1.3c3.9-15.4 .3-31.7-9.9-44c-.2-.3-.4-.7-.4-1.1s.2-.9 .4-1.1c10.1-12.3 13.8-28.6 9.9-44c-.1-.5-.1-.9 .1-1.3s.4-.5 .6-.6c14.6-6.7 24.8-20 27.9-35.5c.1-.5 .3-.8 .5-.9s.3-.2 .4-.2c16.1 .5 31.2-7.1 40.7-19.9c.1-.2 .2-.2 .3-.3s.2-.1 .2-.1s.1 0 .2 0c0 0 .1 0 .2 .1c14.2 7.5 31.1 7.5 45.3 0c.1-.1 .2-.1 .2-.1c0 0 .1 0 .2 0l.1 0 .1 0c0 0 .1 0 .1 .1c.1 0 .2 .1 .3 .3c9.5 12.8 24.6 20.4 40.7 19.9c.1 0 .2 0 .4 .2s.4 .5 .5 .9c3 15.6 13.3 28.9 27.9 35.5c.2 .1 .4 .2 .6 .6s.2 .8 .1 1.3c-3.9 15.4-.3 31.7 9.9 44c.2 .3 .4 .7 .4 1.1s-.2 .9-.4 1.1c-10.1 12.3-13.8 28.6-9.9 44c.1 .5 .1 .9-.1 1.3s-.4 .5-.6 .6c-12.6 5.8-22.1 16.6-26.3 29.5c-11.8 1.2-22.4 6.7-30.2 14.9zM48.4 361.1c-.2-.3-.4-.7-.4-1.1s.2-.9 .4-1.1c10.1-12.3 13.8-28.6 9.9-44c-.1-.5-.1-.9 .1-1.3s.4-.5 .6-.6c14.6-6.7 24.8-20 27.9-35.5c.1-.5 .3-.8 .5-.9s.3-.2 .4-.2c16.1 .5 31.2-7.1 40.7-19.9c.1-.2 .2-.2 .3-.3s.2-.1 .2-.1s.1 0 .2 0c0 0 .1 0 .2 .1c14.2 7.5 31.1 7.5 45.3 0c.1-.1 .2-.1 .2-.1c0 0 .1 0 .2 0l.1 0 0 0c0 0 .1 0 .1 .1c.1 0 .2 .1 .3 .3c9.5 12.8 24.6 20.4 40.7 19.9c.1 0 .2 0 .4 .2s.4 .5 .5 .9c3 15.6 13.3 28.9 27.9 35.5c.2 .1 .4 .2 .6 .6s.2 .8 .1 1.3c-3.9 15.3-.3 31.7 9.9 44c.2 .3 .4 .7 .4 1.1s-.2 .9-.4 1.1c-10.1 12.3-13.8 28.6-9.9 44c.1 .5 .1 .9-.1 1.3s-.4 .5-.6 .6c-14.6 6.7-24.8 20-27.9 35.5c-.1 .5-.3 .8-.5 .9s-.3 .2-.4 .2c-16.1-.5-31.2 7.1-40.7 19.9c-.1 .2-.2 .2-.3 .3c0 0-.1 0-.1 .1c0 0-.1 0-.1 0l-.1 0-.1 0-.1 0c0 0-.1 0-.2-.1c-14.2-7.5-31.1-7.5-45.3 0c-.1 .1-.2 .1-.2 .1c0 0-.1 0-.2 0s-.2-.1-.2-.1s-.2-.1-.3-.3c-9.5-12.8-24.6-20.4-40.7-19.9c-.1 0-.2 0-.4-.2s-.4-.5-.5-.9c-3-15.6-13.3-28.9-27.9-35.5c-.2-.1-.4-.2-.6-.6s-.2-.8-.1-1.3c3.9-15.4 .3-31.7-9.9-44zM416 261c-1 24.2 13.6 56 40.3 82.7c19.3 19.3 41.4 32.3 61.3 37.6c19.5 5.2 37 3 47.9-7.9c5.5-5.5 8.8-12.7 10-20.9c2.1-14.2-1.8-31.6-10.9-49.3c-5.2-10.1-12.1-20.3-20.6-30.1c-2.6-3-5.4-5.9-8.2-8.8l-.5-.5c-33.5-33.3-74.9-47.5-99.3-35.9c-3.5 1.7-6.6 3.8-9.4 6.6c-6.7 6.7-10.1 15.9-10.5 26.5zM112 352a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm48 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm-16 48a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm224-48a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm48 48a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM224 176a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faCircle2 = {\n prefix: 'far',\n iconName: 'circle-2',\n icon: [512, 512, [], \"e0ef\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM222.7 184.7c7.2-5.5 16.1-8.4 25.3-8.3l3.4 .1c20.3 .3 36.6 16.8 36.6 37.1c0 10.3-4.2 20.1-11.7 27.1L167.6 342.5c-7.2 6.7-9.5 17.2-5.9 26.3S174.2 384 184 384H328c13.3 0 24-10.7 24-24s-10.7-24-24-24H244.7l64.4-60.4C326.3 259.5 336 237 336 213.5c0-46.5-37.3-84.4-83.8-85.1l-3.4-.1c-19.9-.3-39.3 6.1-55.1 18.1l-24.2 18.4c-10.5 8-12.6 23.1-4.5 33.6s23.1 12.6 33.6 4.5l24.2-18.4z\"]\n};\nvar faMagnet = {\n prefix: 'far',\n iconName: 'magnet',\n icon: [448, 512, [129522], \"f076\", \"M48 256c0 97.2 78.8 176 176 176s176-78.8 176-176V192H336v64c0 61.9-50.1 112-112 112s-112-50.1-112-112V192H48v64zM0 88C0 57.1 25.1 32 56 32h48c30.9 0 56 25.1 56 56V256c0 35.3 28.7 64 64 64s64-28.7 64-64V88c0-30.9 25.1-56 56-56h48c30.9 0 56 25.1 56 56V256c0 123.7-100.3 224-224 224S0 379.7 0 256V88z\"]\n};\nvar faJar = {\n prefix: 'far',\n iconName: 'jar',\n icon: [320, 512, [], \"e516\", \"M32 24c0 13.3 10.7 24 24 24H264c13.3 0 24-10.7 24-24s-10.7-24-24-24H56C42.7 0 32 10.7 32 24zM256 128c8.8 0 16 7.2 16 16v80H48V144c0-8.8 7.2-16 16-16H256zm16 240v80c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V368H272zM64 80C28.7 80 0 108.7 0 144V448c0 35.3 28.7 64 64 64H256c35.3 0 64-28.7 64-64V144c0-35.3-28.7-64-64-64H64z\"]\n};\nvar faGramophone = {\n prefix: 'far',\n iconName: 'gramophone',\n icon: [384, 512, [], \"f8bd\", \"M127 0c10.5-.4 20 6 23.6 15.9l0 .1 .3 .7c.3 .7 .7 1.7 1.3 3.2c1.2 2.9 3.2 7.3 6 12.8c5.7 11.1 14.8 27 28.2 45.1c26.9 36.2 71.4 81.5 141.3 116.8c17.3 8.7 31.6 22.9 40.1 40.4c5.4 10.9 8.2 23 8.2 35l0 .3 0 .3c0 45-36.5 81.4-81.4 81.4H184c-13.3 0-24-10.7-24-24c0-1.7 .2-3.3 .5-4.8c2.2-10.9 11.9-19.2 23.5-19.2l110 0c18.7 0 33.9-15.1 34-33.7c-.1-5.4-1.5-10.7-4.1-15.6c-3.1-4.9-7.7-7.8-12.4-8.6c-44.1-7.3-133.1-7.9-241.4 69.4c-.3 .2-.7 .5-1 .7c-2.7 1.8-5.6 2.9-8.7 3.5c-3.2 .6-6.6 .6-10-.2c-1.4-.3-2.7-.8-4-1.3c-.4-.2-.8-.4-1.2-.6c-1.4-.7-2.7-1.5-3.9-2.4c-.7-.5-1.3-1.1-1.9-1.7c-1.3-1.2-2.4-2.6-3.4-4.1c-1.8-2.8-3-5.8-3.6-8.9c-.6-3.1-.5-6.4 .2-9.6c.1-.3 .2-.7 .3-1L104.8 17.9C107.5 7.7 116.5 .4 127 0zM94.8 243.4c54.3-29.5 103.6-42.4 144.6-46.7c-41.1-30.1-70.7-62.3-91.5-90.2c-4.5-6.1-8.6-11.9-12.3-17.5L94.8 243.4zM0 488c0-13.3 10.7-24 24-24h8V432c0-26.5 21.5-48 48-48H304c26.5 0 48 21.5 48 48v32h8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8H304 80 32 24c-13.3 0-24-10.7-24-24zm304-24V432H80v32H304z\"]\n};\nvar faDiceD12 = {\n prefix: 'far',\n iconName: 'dice-d12',\n icon: [512, 512, [], \"f6ce\", \"M200.3 48L158.7 72 256 102.8 353.3 72 311.7 48 200.3 48zm-97.1 56.7L49.7 197.3l83.9 93.1L232 241.2V145.6L103.2 104.7zM48 267.1v44.7l55.7 96.5L140 429.2l-33.1-96.8L48 267.1zM202.7 464h108l43.9-131.8L256 282.8l-98.5 49.3L202.7 464zm170.5-35.4l35.2-20.3L464 311.7V267.1l-58.8 65.3-32.1 96.2zm89.2-231.3l-53.4-92.5L280 145.6v95.6l98.4 49.2 83.9-93.1zM176.3 6.4c7.3-4.2 15.6-6.4 24-6.4H311.7c8.4 0 16.7 2.2 24 6.4l96.5 55.7c7.3 4.2 13.4 10.3 17.6 17.6l55.7 96.5c4.2 7.3 6.4 15.6 6.4 24V311.7c0 8.4-2.2 16.7-6.4 24l-55.7 96.5c-4.2 7.3-10.3 13.4-17.6 17.6l-96.5 55.7c-7.3 4.2-15.6 6.4-24 6.4H200.3c-8.4 0-16.7-2.2-24-6.4L79.7 449.8c-7.3-4.2-13.4-10.3-17.6-17.6L6.4 335.7c-4.2-7.3-6.4-15.6-6.4-24V200.3c0-8.4 2.2-16.7 6.4-24L62.2 79.7c4.2-7.3 10.3-13.4 17.6-17.6L176.3 6.4z\"]\n};\nvar faNoteSticky = {\n prefix: 'far',\n iconName: 'note-sticky',\n icon: [448, 512, [62026, \"sticky-note\"], \"f249\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H288V352c0-17.7 14.3-32 32-32h80V96c0-8.8-7.2-16-16-16H64zM288 480H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V320v5.5c0 17-6.7 33.3-18.7 45.3l-90.5 90.5c-12 12-28.3 18.7-45.3 18.7H288z\"]\n};\nvar faStickyNote = faNoteSticky;\nvar faDown = {\n prefix: 'far',\n iconName: 'down',\n icon: [384, 512, [\"arrow-alt-down\"], \"f354\", \"M192 429.6L49.3 279.7c-.8-.8-1.3-2-1.3-3.2c0-2.5 2-4.6 4.6-4.6l83.4 0c13.3 0 24-10.7 24-24l0-168 64 0 0 168c0 13.3 10.7 24 24 24l83.4 0c2.5 0 4.6 2 4.6 4.6c0 1.2-.5 2.3-1.3 3.2L192 429.6zM0 276.6c0 13.5 5.2 26.5 14.5 36.3L161.1 466.8c8.1 8.5 19.2 13.2 30.9 13.2s22.8-4.8 30.9-13.2L369.5 312.8c9.3-9.8 14.5-22.8 14.5-36.3c0-29-23.5-52.6-52.6-52.6L272 224l0-144c0-26.5-21.5-48-48-48l-64 0c-26.5 0-48 21.5-48 48l0 144-59.4 0C23.5 224 0 247.5 0 276.6z\"]\n};\nvar faArrowAltDown = faDown;\nvar faHundredPoints = {\n prefix: 'far',\n iconName: 'hundred-points',\n icon: [512, 512, [128175, \"100\"], \"e41c\", \"M171.2 99.6C175.3 61.2 207.8 32 246.5 32c45 0 80.1 39 75.3 83.8L308.8 236.4c-4.1 38.5-36.6 67.6-75.3 67.6c-45 0-80.1-39-75.3-83.8L171.2 99.6zM246.5 80c-14.2 0-26 10.7-27.5 24.8L206 225.3c-1.8 16.4 11.1 30.7 27.5 30.7c14.2 0 26-10.7 27.5-24.8L274 110.7C275.8 94.3 262.9 80 246.5 80zm-128-43.4c6.9 5.1 10.4 13.4 9.4 22l-32 256c-1.6 13.2-13.6 22.7-26.8 21.3s-22.5-13.3-20.8-26.4L75 95 41.4 109.9c-12.2 5.4-26.3 0-31.5-12.1s.4-26.3 12.6-31.7l72-32c7.9-3.5 17-2.6 23.9 2.5zM431.7 32c44.4 0 79.2 37.9 75.6 82.1l-7.4 88.4c-3.3 39.3-36.1 69.5-75.6 69.5c-44.4 0-79.2-37.9-75.6-82.1l7.4-88.4C359.4 62.2 392.2 32 431.7 32zM404 105.5l-7.4 88.4C395.2 210.1 408 224 424.3 224c14.5 0 26.5-11.1 27.7-25.5l7.4-88.4C460.8 93.9 448 80 431.7 80c-14.5 0-26.5 11.1-27.7 25.5zM511.7 323.9c2.3 13.1-6.5 25.5-19.6 27.7l-464 80C15 433.9 2.6 425.1 .3 412.1s6.5-25.5 19.6-27.7l464-80c13.1-2.3 25.5 6.5 27.7 19.6zM459.9 439.7l-240 40c-13.1 2.2-25.4-6.7-27.6-19.7s6.7-25.4 19.7-27.6l240-40c13.1-2.2 25.4 6.7 27.6 19.7s-6.7 25.4-19.7 27.6z\"]\n};\nvar fa100 = faHundredPoints;\nvar faPaperclipVertical = {\n prefix: 'far',\n iconName: 'paperclip-vertical',\n icon: [384, 512, [], \"e3c2\", \"M48 108C48 48.4 96.4 0 156 0s108 48.4 108 108V344c0 39.8-32.2 72-72 72s-72-32.2-72-72V152c0-13.3 10.7-24 24-24s24 10.7 24 24V344c0 13.3 10.7 24 24 24s24-10.7 24-24V108c0-33.1-26.9-60-60-60s-60 26.9-60 60V368c0 53 43 96 96 96s96-43 96-96V152c0-13.3 10.7-24 24-24s24 10.7 24 24V368c0 79.5-64.5 144-144 144s-144-64.5-144-144V108z\"]\n};\nvar faWindWarning = {\n prefix: 'far',\n iconName: 'wind-warning',\n icon: [640, 512, [\"wind-circle-exclamation\"], \"f776\", \"M224 432c61.8 0 116.1-31.8 147.5-80h54.9c-36 75.7-113.1 128-202.4 128C100.3 480 0 379.7 0 256S100.3 32 224 32c118.3 0 215.2 91.8 223.4 208H399.3C391.2 150.3 315.8 80 224 80C126.8 80 48 158.8 48 256s78.8 176 176 176zm0-304c13.3 0 24 10.7 24 24V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24zM192 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM478 224c-2.1-16.5-5.7-32.6-10.8-48H544c26.5 0 48-21.5 48-48s-21.5-48-48-48H504c-13.3 0-24-10.7-24-24s10.7-24 24-24h40c53 0 96 43 96 96s-43 96-96 96H478zm-6 256c-13.3 0-24-10.7-24-24s10.7-24 24-24h64c30.9 0 56-25.1 56-56s-25.1-56-56-56H344c-13.3 0-24-10.7-24-24s10.7-24 24-24H536c57.4 0 104 46.6 104 104s-46.6 104-104 104H472z\"]\n};\nvar faWindCircleExclamation = faWindWarning;\nvar faLocationPinSlash = {\n prefix: 'far',\n iconName: 'location-pin-slash',\n icon: [640, 512, [\"map-marker-slash\"], \"f60c\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L459 334.5c30-51.6 53-103.7 53-142.5C512 86 426 0 320 0C249.2 0 187.3 38.4 154 95.4L38.8 5.1zM192.3 125.4C216.3 79.4 264.5 48 320 48c79.5 0 144 64.5 144 144c0 12.4-4.5 31.6-15.3 57.2c-7.4 17.4-16.9 36.2-27.9 55.4L192.3 125.4zM406.2 416.1l-37.8-29.8c-17.3 24.6-34.2 47.2-48.5 65.4c-24.8-31.8-57.8-76.4-86.2-122.6c-17.1-27.7-32-55.1-42.5-79.9c-.5-1.2-1-2.5-1.5-3.7l-61.7-48.6c4.2 88.2 117.8 239.3 168.2 302.2c12.3 15.3 35.1 15.3 47.4 0c16.2-20.2 39-49.6 62.5-83.1z\"]\n};\nvar faMapMarkerSlash = faLocationPinSlash;\nvar faFaceSadSweat = {\n prefix: 'far',\n iconName: 'face-sad-sweat',\n icon: [576, 512, [], \"e38a\", \"M496 256c0 114.9-93.1 208-208 208c-65.4 0-123.8-30.2-162-77.5c-3.9 17.1-13.4 32-26.4 42.8C146.4 480.2 213.5 512 288 512c141.4 0 256-114.6 256-256S429.4 0 288 0S32 114.6 32 256c0 1.1 0 2.2 0 3.3c16.3-7.1 36.4-2.8 48 12.8l.7 .9c-.5-5.6-.7-11.3-.7-17C80 141.1 173.1 48 288 48s208 93.1 208 208zM35.7 299.4C21.4 319.1 0 351.7 0 369c0 26 21.5 47 48 47c12 0 23-4.3 31.5-11.5C89.6 395.9 96 383.2 96 369c0-20-28.4-60.4-41.6-77.7c-3.2-4.4-9.6-4.4-12.8 0c-1.7 2.3-3.8 5-5.9 8.1zM360.4 409.5c9.7-9 10.2-24.2 1.2-33.9C347.3 360.3 322.6 344 288 344s-59.3 16.3-73.5 31.6c-9 9.7-8.5 24.9 1.2 33.9s24.9 8.5 33.9-1.2c7.4-7.9 20-16.4 38.5-16.4s31.1 8.5 38.5 16.4c9 9.7 24.2 10.2 33.9 1.2zM367.6 304a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm-192-32a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm51.7-100.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-7.4 7.4c-18.9 18.9-43.2 31.4-69.5 35.7l-2.5 .4c-8.7 1.5-14.6 9.7-13.2 18.4s9.7 14.6 18.4 13.2l2.5-.4c32.9-5.5 63.3-21.1 86.8-44.7l7.4-7.4zm121.4-22.6c-6.2 6.2-6.2 16.4 0 22.6l7.4 7.4c23.6 23.6 53.9 39.2 86.8 44.7l2.5 .4c8.7 1.5 17-4.4 18.4-13.2s-4.4-17-13.2-18.4l-2.5-.4c-26.3-4.4-50.6-16.9-69.5-35.7l-7.4-7.4c-6.2-6.2-16.4-6.2-22.6 0z\"]\n};\nvar faBugSlash = {\n prefix: 'far',\n iconName: 'bug-slash',\n icon: [640, 512, [], \"e490\", \"M224 96c0-53 43-96 96-96s96 43 96 96v3.6c0 15.7-12.7 28.4-28.4 28.4H252.4c-15.7 0-28.4-12.7-28.4-28.4V96zm73.7 112L432 313.3V264c0-30.9-25.1-56-56-56H297.7zM477.4 348.9L630.8 469.1c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2S28.4-3.1 38.8 5.1L240 162.8c7.7-1.8 15.8-2.8 24-2.8H376c20 0 38.7 5.7 54.6 15.5L503 103c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-72.4 72.4C474.3 225.3 480 244 480 264h72c13.3 0 24 10.7 24 24s-10.7 24-24 24H480v8c0 9.9-.9 19.5-2.6 28.9zm-46.6 86.5C402.1 463 363 480 320 480c-43.7 0-83.3-17.5-112.2-45.9L137 505c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l75.8-75.8c-12-22.4-18.8-48.1-18.8-75.3v-8H88c-13.3 0-24-10.7-24-24s10.7-24 24-24h72c0-12.9 2.4-25.3 6.7-36.7L208.1 260c-.1 1.3-.1 2.7-.1 4v56c0 53.6 37.7 98.4 88 109.4V329.2L344 367v62.4c18.3-4 34.8-12.4 48.6-24.1l38.2 30.1z\"]\n};\nvar faCupcake = {\n prefix: 'far',\n iconName: 'cupcake',\n icon: [448, 512, [129473], \"e402\", \"M224 0c-8.9 0-17 4.9-21.2 12.7s-3.7 17.3 1.2 24.6l10.8 16.3c.7 1.1 1.1 2.4 1.1 3.7c0 3.7-3 6.7-6.7 6.7H152c-39.8 0-72 32.2-72 72l0 .8C34.9 142.7 0 181.3 0 228c0 50.8 41.2 92 92 92H356c50.8 0 92-41.2 92-92c0-46.8-35-85.5-80.2-91.3c.2-2 .2-4 .2-6.1C368 58.5 309.5 0 237.3 0H224zm40 57.3c0-1.7-.1-3.3-.2-5c32.7 11 56.2 41.9 56.2 78.3c0 6-1.8 11.5-4.8 16.1c-4.9 7.4-5.3 16.8-1.1 24.6s12.3 12.6 21.1 12.6H356c24.3 0 44 19.7 44 44s-19.7 44-44 44H92c-24.3 0-44-19.7-44-44s19.7-44 44-44h18.4c8.6 0 16.5-4.6 20.8-12s4.3-16.6 0-24c-2-3.5-3.2-7.6-3.2-12c0-13.3 10.7-24 24-24h57.3c30.2 0 54.7-24.5 54.7-54.7zM89.3 471.9C93.2 495 113.2 512 136.7 512h11.2l-20-160H69.3l20 119.9zM180.1 512h87.8l20-160H160.1l20 160zm120 0h11.2c23.5 0 43.5-17 47.3-40.1l20-119.9H320.1l-20 160z\"]\n};\nvar faLightSwitchOff = {\n prefix: 'far',\n iconName: 'light-switch-off',\n icon: [384, 512, [], \"e018\", \"M169.4 464c3.3-9.3 12.2-16 22.6-16s19.3 6.7 22.6 16H320c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H214.6c-3.3 9.3-12.2 16-22.6 16s-19.3-6.7-22.6-16H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H169.4zM64 512c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64zm80-256h96V144H144V256zm0 160c-26.5 0-48-21.5-48-48V144c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48V368c0 26.5-21.5 48-48 48H144z\"]\n};\nvar faToggleLargeOff = {\n prefix: 'far',\n iconName: 'toggle-large-off',\n icon: [576, 512, [], \"e5b0\", \"M192 400a144 144 0 1 1 0-288 144 144 0 1 1 0 288zm0 48H384c106 0 192-86 192-192s-86-192-192-192H192C86 64 0 150 0 256S86 448 192 448zm127-48c39.9-35.2 65-86.7 65-144s-25.1-108.8-65-144h65c79.5 0 144 64.5 144 144s-64.5 144-144 144H319z\"]\n};\nvar faPenFancySlash = {\n prefix: 'far',\n iconName: 'pen-fancy-slash',\n icon: [640, 512, [], \"e210\", \"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L398.9 287.3 548.8 147.8C566.2 131.6 576 109 576 85.3C576 38.2 537.8 0 490.7 0C467 0 444.4 9.8 428.2 27.2L275.8 190.9 38.8 5.1zM313.7 220.6L463.4 59.9c7.1-7.6 17-11.9 27.3-11.9C511.3 48 528 64.7 528 85.3c0 10.4-4.3 20.2-11.9 27.3L360.6 257.4l-46.9-36.8zm19.9 144.6l-40.4-31.8-20.7 67.3c-2.3 7.6-8.3 13.5-15.9 15.9L149 449.7 198.7 400c.4 0 .9 0 1.3 0c13.3 0 24-10.7 24-24s-10.7-24-24-24s-24 10.7-24 24c0 .4 0 .9 0 1.3L126.3 427l33.1-107.7c2.3-7.6 8.3-13.5 15.9-15.9l57.5-17.7L187 249.7l-25.8 7.9c-22.8 7-40.6 24.9-47.6 47.6L65.9 460.1c-9.4 30.7 19.3 59.4 50 50l154.8-47.6c22.8-7 40.6-24.9 47.6-47.6l15.3-49.6z\"]\n};\nvar faTruckContainer = {\n prefix: 'far',\n iconName: 'truck-container',\n icon: [640, 512, [], \"f4dc\", \"M0 104C0 64.2 32.2 32 72 32H328c39.8 0 72 32.2 72 72V288c0 13.3-10.7 24-24 24s-24-10.7-24-24V104c0-13.3-10.7-24-24-24H72c-13.3 0-24 10.7-24 24V288c0 13.3-10.7 24-24 24s-24-10.7-24-24V104zM608 400c0 44.2-35.8 80-80 80s-80-35.8-80-80H432 288c0 44.2-35.8 80-80 80c-26.2 0-49.4-12.6-64-32c-14.6 19.4-37.8 32-64 32c-44.2 0-80-35.8-80-80s35.8-80 80-80c26.2 0 49.4 12.6 64 32c14.6-19.4 37.8-32 64-32s49.4 12.6 64 32H432V256 168c0-13.3 10.7-24 24-24h72.8c16.8 0 32.7 7.5 43.3 20.5L631 236.4c5.8 7.1 9 16.1 9 25.3V272v16 80c0 17.7-14.3 32-32 32zM585 256l-50-61.1c-1.5-1.9-3.8-2.9-6.2-2.9H480v64H585zM136 136V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V136c0-13.3 10.7-24 24-24s24 10.7 24 24zm88 0V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V136c0-13.3 10.7-24 24-24s24 10.7 24 24zm88 0V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V136c0-13.3 10.7-24 24-24s24 10.7 24 24zM528 432a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM240 400a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM80 432a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faBoot = {\n prefix: 'far',\n iconName: 'boot',\n icon: [512, 512, [129406], \"f782\", \"M32 0H352c17.7 0 32 14.3 32 32V96c0 17.7-14.3 32-32 32H0V32C0 14.3 14.3 0 32 0zM0 464v-6.6V448 416 160H48V416H464V359.4c0-21.2-13.9-39.9-34.2-46L345 288H240c-8.8 0-16-7.2-16-16s7.2-16 16-16h66.7c-1.8-5-2.7-10.4-2.7-16V224H240c-8.8 0-16-7.2-16-16s7.2-16 16-16h64V160h48v80l91.6 27.5c40.6 12.2 68.4 49.6 68.4 92V416v32 9.4V464h-.4c-1.5 12-6.9 23.3-15.6 32c-10.2 10.2-24.1 16-38.6 16H442.5c-17 0-33.3-6.7-45.3-18.7l-7.6-7.6c-3.1-3.1-8.2-3.1-11.3 0l-7.6 7.6c-12 12-28.3 18.7-45.3 18.7h-11c-17 0-33.3-6.7-45.3-18.7l-7.6-7.6c-3.1-3.1-8.2-3.1-11.3 0l-7.6 7.6c-12 12-28.3 18.7-45.3 18.7h-11c-17 0-33.3-6.7-45.3-18.7l-7.6-7.6c-3.1-3.1-8.2-3.1-11.3 0l-7.6 7.6c-12 12-28.3 18.7-45.3 18.7H54.6c-14.5 0-28.4-5.8-38.6-16C7.3 487.3 1.9 476 .4 464H0z\"]\n};\nvar faArrowUpFromWaterPump = {\n prefix: 'far',\n iconName: 'arrow-up-from-water-pump',\n icon: [576, 512, [], \"e4b6\", \"M112 0C85.5 0 64 21.5 64 48V256c-35.3 0-64 28.7-64 64V425c5.3-3.1 11.2-5.4 17.5-6.9c10.4-2.4 21.2-7.2 30.5-13.5V320c0-8.8 7.2-16 16-16H512c8.8 0 16 7.2 16 16v84.6c9.3 6.3 20.1 11.1 30.5 13.6c6.3 1.5 12.1 3.8 17.5 6.9V320c0-35.3-28.7-64-64-64H472l0-174.1 39 39c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L465 7c-9.4-9.4-24.6-9.4-33.9 0L351 87c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l39-39L424 256H288V48c0-26.5-21.5-48-48-48H112zm-.1 430.1c-9.1-8.1-22.8-8.1-31.9 0C62.8 445 41 456.8 18.8 461.8C5.9 464.7-2.3 477.5 .6 490.5s15.7 21.1 28.7 18.2C58 502.2 81.6 488.2 96 478.2c28.1 19.5 61.4 33.8 96 33.8s67.9-14.3 96-33.8c28.1 19.5 61.4 33.8 96 33.8s67.9-14.3 96-33.8c14.4 10 38 24 66.7 30.4c12.9 2.9 25.8-5.2 28.7-18.2s-5.2-25.8-18.2-28.7c-22-4.9-44.3-16.7-61.3-31.8c-9.1-8.1-22.8-8.1-31.9 0c-21.6 18.6-51.2 33.9-80 33.9s-58.5-15.3-80-33.9c-9.1-8.1-22.8-8.1-31.9 0c-21.5 18.6-51.2 33.9-80 33.9s-58.5-15.3-80-33.9z\"]\n};\nvar faFileCheck = {\n prefix: 'far',\n iconName: 'file-check',\n icon: [384, 512, [], \"f316\", \"M64 464c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zM289 267.6c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-89.7 89.7L129 287c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l53.3 53.3c9.4 9.4 24.6 9.4 33.9 0L289 267.6z\"]\n};\nvar faBone = {\n prefix: 'far',\n iconName: 'bone',\n icon: [576, 512, [129460], \"f5d7\", \"M127.4 177c-3.3-18.8-19.7-33-39.4-33c-22.1 0-40 17.9-40 40c0 11.7 4.9 22.1 13 29.5c24.8 22.8 24.8 62.2 0 85c-8 7.4-13 17.8-13 29.5c0 22.1 17.9 40 40 40c19.7 0 36.1-14.3 39.4-33c4.3-24.6 25.7-47 55.6-47H393c29.9 0 51.3 22.4 55.6 47c3.3 18.8 19.7 33 39.4 33c22.1 0 40-17.9 40-40c0-11.7-4.9-22.1-13-29.5c-24.8-22.8-24.8-62.2 0-85c8-7.4 13-17.8 13-29.5c0-22.1-17.9-40-40-40c-19.7 0-36.1 14.3-39.4 33c-4.3 24.6-25.7 47-55.6 47H183c-29.9 0-51.3-22.4-55.6-47zm47.3-8.3c.7 4.1 4.1 7.3 8.3 7.3H393c4.1 0 7.6-3.2 8.3-7.3C408.5 127.4 444.6 96 488 96c48.6 0 88 39.4 88 88c0 25.7-11 48.8-28.5 64.9c-4.1 3.7-4.1 10.5 0 14.2C565 279.2 576 302.3 576 328c0 48.6-39.4 88-88 88c-43.4 0-79.5-31.4-86.7-72.7c-.7-4.1-4.1-7.3-8.3-7.3H183c-4.1 0-7.6 3.2-8.3 7.3C167.5 384.6 131.4 416 88 416c-48.6 0-88-39.4-88-88c0-25.7 11-48.8 28.5-64.9c4.1-3.7 4.1-10.5 0-14.2C11 232.8 0 209.7 0 184c0-48.6 39.4-88 88-88c43.4 0 79.5 31.4 86.7 72.7z\"]\n};\nvar faCardsBlank = {\n prefix: 'far',\n iconName: 'cards-blank',\n icon: [640, 512, [], \"e4df\", \"M51.8 160.4c-3.7 2.1-4.9 6.8-2.8 10.5l167 289.3c2.1 3.7 6.8 4.9 10.5 2.8L419.4 351.6c3.7-2.1 4.9-6.8 2.8-10.5L255.2 51.8c-2.1-3.7-6.8-4.9-10.5-2.8L51.8 160.4zM7.5 194.9c-15.4-26.6-6.3-60.7 20.4-76.1L220.7 7.5c26.6-15.4 60.7-6.3 76.1 20.4l167 289.3c15.4 26.6 6.2 60.7-20.4 76.1L250.5 504.5c-26.6 15.4-60.7 6.2-76.1-20.4L7.5 194.9zm451.9 226c41.9-24.2 56.3-77.8 32.1-119.8L354.7 64.2c1.7-.2 3.5-.2 5.3-.2H584c30.9 0 56 25.1 56 56V456c0 30.9-25.1 56-56 56H360c-13.7 0-26.2-4.9-35.9-13l135.3-78.1z\"]\n};\nvar faCircle3 = {\n prefix: 'far',\n iconName: 'circle-3',\n icon: [512, 512, [], \"e0f0\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM184 128c-13.3 0-24 10.7-24 24s10.7 24 24 24h66.3l-50.5 46.3c-7.3 6.7-9.7 17.2-6.1 26.5s12.6 15.3 22.5 15.2l51.5-.3c20.1-.1 36.4 16.1 36.4 36.2c0 20-16.2 36.2-36.2 36.2H240c-13.5 0-26-7-33-18.4l-2.6-4.2c-7-11.3-21.8-14.8-33-7.8s-14.8 21.8-7.8 33l2.6 4.2C182 368.4 209.9 384 240 384h27.8c46.5 0 84.2-37.7 84.2-84.2c0-43.3-32.6-78.9-74.6-83.6l50.8-46.5c7.3-6.7 9.7-17.2 6.2-26.4s-12.5-15.3-22.4-15.3H184z\"]\n};\nvar faBenchTree = {\n prefix: 'far',\n iconName: 'bench-tree',\n icon: [640, 512, [], \"e2e7\", \"M578.7 150c-14.7-10.6-22.1-28.5-19.3-46.4c.4-2.5 .6-5 .6-7.6c0-26.5-21.5-48-48-48s-48 21.5-48 48c0 2.6 .2 5.2 .6 7.6c2.8 17.9-4.6 35.8-19.3 46.4c-8.2 5.9-13.3 15.3-13.3 26c0 17.7 14.3 32 32 32h96c17.7 0 32-14.3 32-32c0-10.6-5.1-20.1-13.3-26zM608 96c0 5.1-.4 10.2-1.2 15.1C626.9 125.7 640 149.3 640 176c0 44.2-35.8 80-80 80H536V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V256H464c-44.2 0-80-35.8-80-80c0-26.7 13.1-50.3 33.2-64.9c-.8-4.9-1.2-10-1.2-15.1c0-53 43-96 96-96s96 43 96 96zM80 272H304V240H80v32zM32 224c0-17.7 14.3-32 32-32H320c17.7 0 32 14.3 32 32v64c0 14.9-10.2 27.4-24 31v33h32c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8v88c0 13.3-10.7 24-24 24s-24-10.7-24-24V400H80v88c0 13.3-10.7 24-24 24s-24-10.7-24-24V400H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H56V319c-13.8-3.6-24-16.1-24-31V224zm72 96v32H280V320H104z\"]\n};\nvar faKeyboardBrightnessLow = {\n prefix: 'far',\n iconName: 'keyboard-brightness-low',\n icon: [640, 512, [], \"e1c1\", \"M320 192a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM160 256a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm352-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm32 192a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM128 384a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm88-16c-13.3 0-24 10.7-24 24s10.7 24 24 24H424c13.3 0 24-10.7 24-24s-10.7-24-24-24H216z\"]\n};\nvar faSkiBootSki = {\n prefix: 'far',\n iconName: 'ski-boot-ski',\n icon: [640, 512, [], \"e3cd\", \"M415.6 28.5c2.5-13-6-25.6-19-28.1s-25.6 6-28.1 19L366 32H176c-11.3 0-21.1 7.9-23.5 19L88.8 348.3c-7.5 34.9 19.1 67.7 54.8 67.7H424c30.9 0 56-25.1 56-56V307.1c0-20.6-11.3-39.5-29.4-49.3l-71.7-38.6L415.6 28.5zM275 80h81.8l-15.4 80H304c-8.8 0-16 7.2-16 16s7.2 16 16 16h31.3l-6.2 32H288c-8.8 0-16 7.2-16 16s7.2 16 16 16h57.9l81.8 44.1c2.6 1.4 4.2 4.1 4.2 7V360c0 4.4-3.6 8-8 8H143.6c-5.1 0-8.9-4.7-7.8-9.7l26-121.3C202 215.7 249.2 171.2 275 80zm-33.4 0c-17.9 57.7-44.8 92-70.3 112.5L195.4 80h46.2zM640 408c0-13.3-10.7-24-24-24s-24 10.7-24 24c0 30.9-25.1 56-56 56H24c-13.3 0-24 10.7-24 24s10.7 24 24 24H536c57.4 0 104-46.6 104-104z\"]\n};\nvar faBrainCircuit = {\n prefix: 'far',\n iconName: 'brain-circuit',\n icon: [512, 512, [], \"e0c6\", \"M192 48c22.1 0 40 17.9 40 40v40H212.7c-6.2-14.1-20.3-24-36.7-24c-22.1 0-40 17.9-40 40s17.9 40 40 40c16.4 0 30.5-9.9 36.7-24H232v96H192c-26.5 0-48 21.5-48 48v11.3c-14.1 6.2-24 20.3-24 36.7c0 22.1 17.9 40 40 40s40-17.9 40-40c0-16.4-9.9-30.5-24-36.7V304c0-8.8 7.2-16 16-16h40V420c0 24.3-19.7 44-44 44c-17.8 0-33.2-10.6-40.1-25.9c-3.8-8.4-12-13.9-21.2-14.1c-25.9-.7-46.7-21.9-46.7-48c0-2.6 .2-5.2 .6-7.6c1.4-8.5-2-17.1-8.7-22.5C57.3 334.1 48 316.2 48 296c0-19.3 8.5-36.6 22.1-48.3c8-6.9 10.5-18.3 6.1-28c-2.7-6-4.2-12.6-4.2-19.7c0-18.8 10.8-35.1 26.7-43c8.1-4 13.3-12.3 13.3-21.3c.1-19.3 11.7-36 28.3-43.5c6.4-2.9 11.3-8.5 13.2-15.3C158.3 60.2 173.8 48 192 48zm-4 464c26.9 0 51.2-11.6 68-30c16.8 18.5 41.1 30 68 30c32.2 0 60.5-16.5 76.9-41.5c45-8 79.1-47.3 79.1-94.5c0-.5 0-1.1 0-1.6c19.8-20.2 32-47.9 32-78.4c0-27.8-10.1-53.2-26.8-72.7C487 215.8 488 208 488 200c0-32.6-16.3-61.5-41.1-78.8c-4.5-28.9-21.8-53.5-45.9-67.8C387.5 22 356.3 0 320 0c-25.2 0-48 10.6-64 27.6C240 10.6 217.2 0 192 0c-36.3 0-67.5 22-80.9 53.4C86.9 67.7 69.6 92.3 65.1 121.2C40.3 138.5 24 167.4 24 200c0 8 1 15.8 2.8 23.3C10.1 242.8 0 268.2 0 296c0 30.5 12.2 58.2 32 78.4c0 .5 0 1.1 0 1.6c0 47.3 34.1 86.5 79.1 94.5c16.4 25 44.7 41.5 76.9 41.5zm136-48c-24.3 0-44-19.7-44-44V352h51.3c6.2 14.1 20.3 24 36.7 24c22.1 0 40-17.9 40-40s-17.9-40-40-40c-16.4 0-30.5 9.9-36.7 24H280V160h40c8.8 0 16 7.2 16 16v11.3c-14.1 6.2-24 20.3-24 36.7c0 22.1 17.9 40 40 40s40-17.9 40-40c0-16.4-9.9-30.5-24-36.7V176c0-26.5-21.5-48-48-48H280V88c0-22.1 17.9-40 40-40c18.2 0 33.7 12.2 38.5 28.9c1.9 6.8 6.8 12.4 13.2 15.3c16.6 7.5 28.2 24.1 28.3 43.5c.1 9.1 5.2 17.3 13.3 21.3c15.9 7.9 26.7 24.2 26.7 43c0 7.1-1.5 13.7-4.2 19.7c-4.4 9.7-1.9 21 6.1 28c13.5 11.8 22.1 29 22.1 48.3c0 20.2-9.3 38.1-23.9 49.9c-6.7 5.4-10 14-8.7 22.5c.4 2.5 .6 5 .6 7.6c0 26.1-20.8 47.3-46.7 48c-9.2 .3-17.4 5.7-21.2 14.1C357.2 453.4 341.8 464 324 464zM176 128a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM160 336a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM336 224a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm32 96a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faUserInjured = {\n prefix: 'far',\n iconName: 'user-injured',\n icon: [448, 512, [], \"f728\", \"M224 208c-44.2 0-80-35.8-80-80h32H304c0 44.2-35.8 80-80 80zM150.7 96C163 67.7 191.2 48 224 48c1.2 0 2.5 0 3.7 .1L170.2 96H150.7zM264.6 59c14.5 8.5 26 21.5 32.8 37H220.2l44.4-37zM224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zM49.3 464c4.7-33.3 21.9-62.5 46.7-82.7V464H49.3zm246.3 0H261.3l-32-48H276c15.5 0 28 12.5 28 28c0 7.8-3.2 14.9-8.4 20zm37 0c2.2-6.3 3.4-13 3.4-20c0-33.1-26.9-60-60-60H208l-21.3-32h83c65.7 0 120.1 48.7 129 112H332.6zM178.3 304C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304H178.3z\"]\n};\nvar faBlockBrickFire = {\n prefix: 'far',\n iconName: 'block-brick-fire',\n icon: [640, 512, [\"firewall\"], \"e3dc\", \"M176 80l0 48 32 0 48 0 80 0 0-48L176 80zm-48 48l0-48L96 80c-8.8 0-16 7.2-16 16l0 32 48 0zM80 176l0 56 128 0 0-56L80 176zm0 160l48 0 0-56-48 0 0 56zm0 48l0 32c0 8.8 7.2 16 16 16l112 0 0-48-32 0-48 0-48 0zm96-48l112.8 0c-.5 4.7-.8 9.4-.8 14.1c0 11.5 1 22.9 3 33.9l-35 0 0 48 50.1 0c8.1 17.5 18.8 33.7 31.5 48L96 480c-35.3 0-64-28.7-64-64L32 96c0-35.3 28.7-64 64-64l320 0c35.3 0 64 28.7 64 64l0 48.6c-1.7-1.5-3.3-3.1-5-4.6c-17.7-16-44.7-16-62.5-.1c-12.9 11.5-25.1 23.7-36.5 36.1L256 176l0 56 76 0c-2.4 3.6-4.7 7.2-6.9 10.7c-7.4 12-14.2 24.5-19.9 37.3L176 280l0 56zM432 128l0-32c0-8.8-7.2-16-16-16l-32 0 0 48 48 0zm73.7 80.3L518 194.5c5.4-6.1 13.3-8.8 20.9-8.9c7.2 0 14.3 2.6 19.9 7.8c19.7 18.3 39.8 43.2 55 70.6C629 291.2 640 322.2 640 352.2C640 440.8 568.7 512 480 512c-89.6 0-160-71.3-160-159.8c0-37.3 16-73.4 36.8-104.5c20.9-31.3 47.5-59 70.9-80.2c5.7-5.2 13.1-7.7 20.3-7.5c14.1 .3 23.8 11.4 32.7 21.6c0 0 0 0 0 0c2 2.3 4 4.6 6 6.7l19 19.9zM544 400.2c0-36.5-37-73-54.8-88.4c-5.4-4.7-13.1-4.7-18.5 0C453 327.1 416 363.6 416 400.2c0 35.3 28.7 64 64 64s64-28.7 64-64z\"]\n};\nvar faFirewall = faBlockBrickFire;\nvar faFaceSadTear = {\n prefix: 'far',\n iconName: 'face-sad-tear',\n icon: [512, 512, [128546, \"sad-tear\"], \"f5b4\", \"M175.9 448c-35-.1-65.5-22.6-76-54.6C67.6 356.8 48 308.7 48 256C48 141.1 141.1 48 256 48s208 93.1 208 208s-93.1 208-208 208c-28.4 0-55.5-5.7-80.1-16zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM128 369c0 26 21.5 47 48 47s48-21 48-47c0-20-28.4-60.4-41.6-77.7c-3.2-4.4-9.6-4.4-12.8 0C156.6 308.6 128 349 128 369zm128-65c-13.3 0-24 10.7-24 24s10.7 24 24 24c30.7 0 58.7 11.5 80 30.6c9.9 8.8 25 8 33.9-1.9s8-25-1.9-33.9C338.3 320.2 299 304 256 304zm47.6-96a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm-128 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faSadTear = faFaceSadTear;\nvar faPlane = {\n prefix: 'far',\n iconName: 'plane',\n icon: [576, 512, [], \"f072\", \"M557.3 215.3c9.9 9.7 18.7 23.3 18.7 40.7c0 17.4-8.6 31.2-18.7 41.1c-9.9 9.7-22.6 17-34.9 22.4C497.8 330.2 468.6 336 448 336H381.8L285.7 486.2c-10.3 16.1-28.1 25.8-47.2 25.8H197.9c-27.1 0-46.4-26.4-38.1-52.2L199.4 336H148l-36 48L92.8 369.6 112 384c-7.6 10.1-19.4 16-32 16H37.9C17 400 0 383 0 362.1c0-3.8 .6-7.5 1.7-11.1c0 0 0 0 0 0L30.9 256 1.7 161.1s0 0 0 0C.6 157.4 0 153.7 0 149.9C0 129 17 112 37.9 112H80c12.6 0 24.4 5.9 32 16l36 48h51.4L159.8 52.2C151.6 26.4 170.8 0 197.9 0l40.6 0c19.1 0 36.9 9.7 47.2 25.8L381.8 176H448c20.7 0 50 6.1 74.5 16.9c12.3 5.5 24.9 12.8 34.8 22.4zm-54.2 21.5c-19-8.4-41.7-12.8-55.1-12.8l-79.4 0c-8.2 0-15.8-4.2-20.2-11.1L245.2 51.7l20.2-12.9L245.2 51.7c-1.5-2.3-4-3.7-6.7-3.7H208.9l46.3 144.7c2.3 7.3 1 15.3-3.5 21.5s-11.7 9.8-19.4 9.8H136c-7.6 0-14.7-3.6-19.2-9.6L76 160H51.6l27.4 88.9c1.4 4.6 1.4 9.5 0 14.1L51.6 352H76l40.8-54.4c4.5-6 11.6-9.6 19.2-9.6h96.3c7.7 0 14.9 3.7 19.4 9.8s5.8 14.2 3.5 21.5L208.9 464h29.6c2.7 0 5.3-1.4 6.7-3.7L348.4 299.1c4.4-6.9 12-11.1 20.2-11.1H448c13.6 0 36.3-4.2 55.2-12.5c9.4-4.1 16.3-8.5 20.6-12.7c4.1-4 4.2-6.2 4.2-6.8v0c0-.2 0-2.2-4.2-6.3c-4.3-4.2-11.3-8.7-20.7-12.9zM47.6 365l0 0 0 0s0 0 0 0zm0-218.1s0 0 0 0l0 0 0 0z\"]\n};\nvar faTentArrowsDown = {\n prefix: 'far',\n iconName: 'tent-arrows-down',\n icon: [576, 512, [], \"e581\", \"M209.8 111.9c-8.9-9.9-24-10.7-33.9-1.8l-39.9 36L136 24c0-13.3-10.7-24-24-24S88 10.7 88 24l0 122.1-39.9-36c-9.9-8.9-25-8.1-33.9 1.8s-8.1 25 1.8 33.9l80 72c9.1 8.2 23 8.2 32.1 0l80-72c9.9-8.9 10.7-24 1.8-33.9zm352 0c-8.9-9.9-24-10.7-33.9-1.8l-39.9 36V24c0-13.3-10.7-24-24-24s-24 10.7-24 24V146.1l-39.9-36c-9.9-8.9-25-8.1-33.9 1.8s-8.1 25 1.8 33.9l80 72c9.1 8.2 23 8.2 32.1 0l80-72c9.9-8.9 10.7-24 1.8-33.9zM302.7 165c-8.6-6.7-20.7-6.7-29.3 0L107.6 293.1c-11.5 8.9-19.1 22-21.2 36.4L69.5 448.1C64.6 481.8 90.8 512 124.9 512H451.1c34.1 0 60.3-30.2 55.4-63.9L489.6 329.5c-2.1-14.4-9.7-27.5-21.2-36.4L302.7 165zM137 331l127-98.2V464H124.9c-4.9 0-8.6-4.3-7.9-9.1l16.9-118.6c.3-2.1 1.4-3.9 3-5.2zm175 29V232.9L439 331c1.6 1.3 2.7 3.1 3 5.2L459 454.9c.7 4.8-3.1 9.1-7.9 9.1H374.4L312 360z\"]\n};\nvar faExclamation = {\n prefix: 'far',\n iconName: 'exclamation',\n icon: [64, 512, [10069, 10071, 61738], \"21\", \"M56 56c0-13.3-10.7-24-24-24S8 42.7 8 56V344c0 13.3 10.7 24 24 24s24-10.7 24-24V56zM32 480a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faArrowsSpin = {\n prefix: 'far',\n iconName: 'arrows-spin',\n icon: [512, 512, [], \"e4bb\", \"M257.1 87.5c-11.3 0-22.4 1.1-33.1 3.3V42.1c10.8-1.7 21.9-2.5 33.1-2.5c56 0 107 21.3 145.4 56.2l35.1-35.1c10.1-10.1 27.3-2.9 27.3 11.3l0 105.4c0 8.8-7.2 16-16 16l-105.4 0c-14.3 0-21.4-17.2-11.3-27.3l36.3-36.3c-29.6-26.3-68.7-42.2-111.4-42.2zM129.9 145.9c-25.4 29.4-40.7 67.8-40.7 109.7c0 11.1 1.1 22 3.1 32.5H43.6c-1.6-10.6-2.4-21.4-2.4-32.5c0-55.2 20.7-105.5 54.7-143.7L60.7 76.7C50.6 66.6 57.7 49.4 72 49.4l105.4 0c8.8 0 16 7.2 16 16V170.7c0 14.3-17.2 21.4-27.3 11.3l-36.2-36.2zm52.2 202.4l-34.6 34.6c29.4 25.4 67.8 40.7 109.7 40.7c10.5 0 20.9-1 30.9-2.8v48.6c-10.1 1.4-20.4 2.2-30.9 2.2c-55.2 0-105.5-20.7-143.7-54.7L76.7 453.6c-10.1 10.1-27.3 2.9-27.3-11.3l0-105.4c0-8.8 7.2-16 16-16l105.4 0c14.3 0 21.4 17.2 11.3 27.3zm166.2-16l34.7 34.7c26.3-29.6 42.2-68.7 42.2-111.4c0-10.8-1-21.3-3-31.5h48.7c1.5 10.3 2.3 20.8 2.3 31.5c0 56-21.3 107-56.2 145.4l36.7 36.7c10.1 10.1 2.9 27.3-11.3 27.3H336.9c-8.8 0-16-7.2-16-16V343.5c0-14.3 17.2-21.4 27.3-11.3z\"]\n};\nvar faFaceSmileRelaxed = {\n prefix: 'far',\n iconName: 'face-smile-relaxed',\n icon: [512, 512, [], \"e392\", \"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm177.6 62.1C192.8 334.5 218.8 352 256 352s63.2-17.5 78.4-33.9c9-9.7 24.2-10.4 33.9-1.4s10.4 24.2 1.4 33.9c-22 23.8-60 49.4-113.6 49.4s-91.7-25.5-113.6-49.4c-9-9.7-8.4-24.9 1.4-33.9s24.9-8.4 33.9 1.4zm-2-98.1c-10.6 0-19.9 3.8-25.4 9.7c-7.6 8.1-20.2 8.5-28.3 .9s-8.5-20.2-.9-28.3c14.5-15.5 35.2-22.3 54.6-22.3s40.1 6.8 54.6 22.3c7.6 8.1 7.1 20.7-.9 28.3s-20.7 7.1-28.3-.9c-5.5-5.8-14.8-9.7-25.4-9.7zm134.6 9.7c-7.6 8.1-20.2 8.5-28.3 .9s-8.5-20.2-.9-28.3c14.5-15.5 35.2-22.3 54.6-22.3s40.1 6.8 54.6 22.3c7.6 8.1 7.1 20.7-.9 28.3s-20.7 7.1-28.3-.9c-5.5-5.8-14.8-9.7-25.4-9.7s-19.9 3.8-25.4 9.7z\"]\n};\nvar faCommentXmark = {\n prefix: 'far',\n iconName: 'comment-xmark',\n icon: [512, 512, [\"comment-times\"], \"f4b5\", \"M168.2 384.9c-15-5.4-31.7-3.1-44.6 6.4c-8.2 6-22.3 14.8-39.4 22.7c5.6-14.7 9.9-31.3 11.3-49.4c1-12.9-3.3-25.7-11.8-35.5C60.4 302.8 48 272 48 240c0-79.5 83.3-160 208-160s208 80.5 208 160s-83.3 160-208 160c-31.6 0-61.3-5.5-87.8-15.1zM26.3 423.8c-1.6 2.7-3.3 5.4-5.1 8.1l-.3 .5c-1.6 2.3-3.2 4.6-4.8 6.9c-3.5 4.7-7.3 9.3-11.3 13.5c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c5.1 0 10.2-.3 15.3-.8l.7-.1c4.4-.5 8.8-1.1 13.2-1.9c.8-.1 1.6-.3 2.4-.5c17.8-3.5 34.9-9.5 50.1-16.1c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9zM175 159c-9.4 9.4-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47c-9.4-9.4-24.6-9.4-33.9 0z\"]\n};\nvar faCommentTimes = faCommentXmark;\nvar faPrint = {\n prefix: 'far',\n iconName: 'print',\n icon: [512, 512, [128424, 128438, 9113], \"f02f\", \"M112 160V64c0-8.8 7.2-16 16-16H357.5c4.2 0 8.3 1.7 11.3 4.7l26.5 26.5c3 3 4.7 7.1 4.7 11.3V160h48V90.5c0-17-6.7-33.3-18.7-45.3L402.7 18.7C390.7 6.7 374.5 0 357.5 0H128C92.7 0 64 28.7 64 64v96h48zm16 208H384v96H128V368zm-16-48c-17.7 0-32 14.3-32 32H48V256c0-8.8 7.2-16 16-16H448c8.8 0 16 7.2 16 16v96H432c0-17.7-14.3-32-32-32H112zm320 80h48c17.7 0 32-14.3 32-32V256c0-35.3-28.7-64-64-64H64c-35.3 0-64 28.7-64 64V368c0 17.7 14.3 32 32 32H80v80c0 17.7 14.3 32 32 32H400c17.7 0 32-14.3 32-32V400z\"]\n};\nvar faTurkishLiraSign = {\n prefix: 'far',\n iconName: 'turkish-lira-sign',\n icon: [384, 512, [\"try\", \"turkish-lira\"], \"e2bb\", \"M88 32c13.3 0 24 10.7 24 24v56.2L249.4 72.9c12.7-3.6 26 3.7 29.7 16.5s-3.7 26-16.5 29.7L112 162.1v46.1l137.4-39.3c12.7-3.6 26 3.7 29.7 16.5s-3.7 26-16.5 29.7L112 258.1V432h71.8c81.3 0 148.2-63.9 151.8-145.1l.4-8c.6-13.2 11.8-23.5 25.1-22.9s23.5 11.8 22.9 25.1l-.4 8C378.8 395.9 290.7 480 183.8 480H88c-13.3 0-24-10.7-24-24V271.8l-25.4 7.3c-12.7 3.6-26-3.7-29.7-16.5s3.7-26 16.5-29.7l38.6-11V175.8l-25.4 7.3c-12.7 3.6-26-3.7-29.7-16.5s3.7-26 16.5-29.7l38.6-11V56c0-13.3 10.7-24 24-24z\"]\n};\nvar faTry = faTurkishLiraSign;\nvar faTurkishLira = faTurkishLiraSign;\nvar faFaceNoseSteam = {\n prefix: 'far',\n iconName: 'face-nose-steam',\n icon: [512, 512, [], \"e382\", \"M256 464c-21.6 0-42.4-3.3-61.9-9.4c-3.1 8.6-8.1 16.7-15 23.6c-1.3 1.3-2.6 2.5-4 3.7c-.3 5.4-1.3 10.8-3 16C198.4 507 226.6 512 256 512c28.7 0 56.3-4.7 82-13.4c-1.6-5.1-2.6-10.5-2.9-15.8c-1.4-1.2-2.7-2.4-4-3.7c-7-7-12-15.2-15.1-23.9c-19 5.7-39.2 8.8-60 8.8zM464 256c0 21.3-3.2 41.8-9.1 61.1c8.5 3.1 16.5 8.1 23.4 14.9c1.3 1.3 2.5 2.6 3.7 4c5.5 .3 11 1.3 16.3 3.1c8.9-26.1 13.8-54 13.8-83.1C512 114.6 397.4 0 256 0S0 114.6 0 256c0 28.6 4.7 56.1 13.3 81.8c4.9-1.5 9.9-2.4 15-2.7c1.2-1.4 2.4-2.7 3.7-4l4 4-4-4c7.2-7.2 15.7-12.3 24.7-15.4C51 296.8 48 276.8 48 256C48 141.1 141.1 48 256 48s208 93.1 208 208zM345.9 443.6s0 0 0 0c1.5 4.7 4.1 9.1 7.9 12.9c.7 .7 1.3 1.3 2 1.9c4.2 3.6 9.2 5.9 14.4 6.9c-1.8 3.7-2.8 7.7-3.1 11.7c-.1 1.3-.1 2.7 0 4c0 .6 .1 1.3 .2 1.9c.8 6.9 3.9 13.6 9.2 18.9c12.5 12.5 32.8 12.5 45.3 0c2.1-2.1 3.8-4.3 5.2-6.7c18.8 14.5 45.9 13.1 63.1-4.2s18.6-44.3 4.2-63.1c2.4-1.4 4.7-3.1 6.7-5.2c12.5-12.5 12.5-32.8 0-45.3c-4.3-4.3-9.5-7.1-15-8.5c0 0 0 0 0 0c-1.9-.5-3.8-.8-5.8-.9c-5.4-.3-10.8 .7-15.7 3.1c-1-5.2-3.3-10.1-6.9-14.4c-.6-.7-1.2-1.4-1.8-2c-3.6-3.6-7.9-6.2-12.5-7.7c0 0 0 0 0 0c-11.1-3.7-23.9-1.1-32.8 7.7c-4.4 4.4-7.2 9.7-8.5 15.3l-69.1-46.8c-2.7-1.9-6.4-1.5-8.7 .8c-2.3 2.3-2.7 5.9-.9 8.7l46 70c-5.6 1.3-10.9 4.2-15.3 8.5c-8.8 8.8-11.4 21.3-7.9 32.4zM142.4 485.5c.4-1.8 .7-3.6 .8-5.4c.3-5.4-.7-10.8-3.1-15.7c5.2-1 10.1-3.3 14.4-6.9c.7-.6 1.4-1.2 2-1.8c3.7-3.7 6.3-8.2 7.9-12.9c3.5-11 .9-23.6-7.9-32.4c-4.4-4.4-9.7-7.2-15.3-8.5l47.6-69.1c1.9-2.7 1.5-6.4-.8-8.8c-2.3-2.3-5.9-2.7-8.6-.9l-70.9 46.1c-1.3-5.6-4.2-10.9-8.5-15.3c-8.6-8.6-20.8-11.3-31.6-8.1c-5 1.5-9.7 4.2-13.6 8.1c-.7 .7-1.3 1.3-1.9 2c-3.6 4.3-5.9 9.2-6.9 14.4c-4.9-2.4-10.3-3.4-15.7-3.1c-1.5 .1-3.1 .3-4.6 .6c-5.9 1.2-11.6 4.1-16.2 8.7c-12.5 12.5-12.5 32.8 0 45.3c2.1 2.1 4.3 3.8 6.7 5.2C1.7 445.6 3 472.7 20.3 489.9s44.3 18.6 63.1 4.2c1.4 2.4 3.1 4.7 5.2 6.7c12.5 12.5 32.8 12.5 45.3 0c4.4-4.4 7.2-9.8 8.5-15.4zM112 224c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H112zm192 0c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H304zm95.2-101.1c-2.8-8.4-11.9-12.9-20.2-10.1c-41.3 13.8-74.2 39.9-86.3 51.9c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0c9.3-9.3 38.2-32.3 73.7-44.1c8.4-2.8 12.9-11.9 10.1-20.2zm-286.4 0c-2.8 8.4 1.7 17.4 10.1 20.2c35.5 11.8 64.4 34.8 73.7 44.1c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6c-12-12-45-38.1-86.3-51.9c-8.4-2.8-17.4 1.7-20.2 10.1z\"]\n};\nvar faCircleWaveformLines = {\n prefix: 'far',\n iconName: 'circle-waveform-lines',\n icon: [512, 512, [\"waveform-circle\"], \"e12d\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-368c0-13.3-10.7-24-24-24s-24 10.7-24 24V368c0 13.3 10.7 24 24 24s24-10.7 24-24V144zm80 56c0-13.3-10.7-24-24-24s-24 10.7-24 24V312c0 13.3 10.7 24 24 24s24-10.7 24-24V200zM176 216c0-13.3-10.7-24-24-24s-24 10.7-24 24v80c0 13.3 10.7 24 24 24s24-10.7 24-24V216zm240 24c0-13.3-10.7-24-24-24s-24 10.7-24 24v32c0 13.3 10.7 24 24 24s24-10.7 24-24V240z\"]\n};\nvar faWaveformCircle = faCircleWaveformLines;\nvar faDollarSign = {\n prefix: 'far',\n iconName: 'dollar-sign',\n icon: [320, 512, [128178, 61781, \"dollar\", \"usd\"], \"24\", \"M184 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V71.7c-3.1 .1-6.2 .3-9.3 .6c-23.2 1.9-47.2 7.4-67.2 20.1C38.7 105.6 23.5 126 18 154.2c-3.9 20.3-2 38.8 6.1 55.2c8 16 20.9 27.6 34.8 36.2c26.2 16.2 61.9 25.3 92.9 33.2l2.3 .6c33.9 8.6 62.6 16.1 81.7 28c9 5.6 14.3 11.2 17.1 16.9c2.7 5.3 4.2 12.8 2 24.5c-2.9 14.7-13.4 26.9-34.5 34.9c-21.6 8.2-52 10.9-87.6 5.9c-22.6-3.3-61.8-12.7-83-22.1c-12.1-5.4-26.3 .1-31.7 12.2s.1 26.3 12.2 31.7C57 423.2 101.1 433.4 126 437l.1 0c3.3 .5 6.6 .9 9.9 1.2V488c0 13.3 10.7 24 24 24s24-10.7 24-24V439.4c19.3-1.3 37.4-4.9 53.5-11c31.9-12.1 57.7-35.2 64.5-70.6c3.9-20.3 2-38.8-6.1-55.2c-8-16-20.9-27.6-34.8-36.2c-26.2-16.2-61.9-25.3-92.9-33.2l-2.3-.6c-33.9-8.6-62.6-16.1-81.7-28c-9-5.6-14.3-11.2-17.1-16.9c-2.7-5.3-4.2-12.8-2-24.5c2.9-14.8 10.1-24 20.2-30.4c10.9-6.9 26.3-11.2 45.3-12.7c38.3-3.1 83.1 5.3 113.9 12.5c12.9 3.1 25.8-4.9 28.9-17.8s-4.9-25.8-17.8-28.9c-18.7-4.4-44.2-9.7-71.5-12.5V24z\"]\n};\nvar faDollar = faDollarSign;\nvar faUsd = faDollarSign;\nvar faFerrisWheel = {\n prefix: 'far',\n iconName: 'ferris-wheel',\n icon: [512, 512, [], \"e174\", \"M371.4 73.4c-20.4-13-43.2-22.6-67.5-28.1C302.5 20.1 281.6 0 256 0s-46.5 20.1-47.9 45.3c-24.3 5.5-47.1 15.1-67.5 28.1c-8-5.9-17.9-9.4-28.5-9.4c-26.5 0-48 21.5-48 48c0 10.7 3.5 20.6 9.4 28.5c-13 20.4-22.6 43.2-28.1 67.5C20.1 209.5 0 230.4 0 256s20.1 46.5 45.3 47.9c5.5 24.3 15.1 47.1 28.1 67.5c-5.9 8-9.4 17.9-9.4 28.6c0 25.6 20 46.4 45.1 47.9l38.5-80c-7.4-8.3-17.7-13.9-29.3-15.5c-14.8-21.1-24.9-45.7-28.7-72.4h90c-2.4-7.6-3.7-15.6-3.7-24s1.3-16.4 3.7-24h-90c3.8-26.7 13.9-51.3 28.7-72.4c2.1-.3 4.1-.7 6-1.2L185.1 219c7.6-14.5 19.5-26.4 33.9-33.9l-60.6-60.6c.5-2 .9-4 1.2-6c21.1-14.8 45.7-24.9 72.4-28.7v90c7.6-2.4 15.6-3.7 24-3.7s16.4 1.3 24 3.7v-90c26.7 3.8 51.3 13.9 72.4 28.7c.3 2.1 .7 4.1 1.2 6L293 185.1c14.5 7.6 26.4 19.5 33.9 33.9l60.6-60.6c2 .5 4 .9 6 1.2c14.8 21.1 24.9 45.7 28.7 72.4h-90c2.4 7.6 3.7 15.6 3.7 24s-1.3 16.4-3.7 24h90c-3.8 26.7-13.9 51.3-28.7 72.4c-11.6 1.5-21.8 7.2-29.3 15.5l38.5 80C428 446.4 448 425.6 448 400c0-10.7-3.5-20.6-9.4-28.6c13-20.4 22.6-43.2 28.1-67.5c25.3-1.4 45.3-22.3 45.3-47.9s-20.1-46.5-45.3-47.9c-5.5-24.3-15.1-47.1-28.1-67.5c5.9-8 9.4-17.9 9.4-28.5c0-26.5-21.5-48-48-48c-10.7 0-20.6 3.5-28.6 9.4zM304 256c0-26.5-21.5-48-48-48s-48 21.5-48 48c0 11.6 4.1 22.3 11 30.6L130.2 477.9c-3.5 7.4-2.9 16.1 1.5 23s12 11.1 20.2 11.1H360c8.2 0 15.8-4.2 20.2-11.1s5-15.6 1.5-23L293 286.6c6.9-8.3 11-19 11-30.6zm18.4 208H189.6L256 321l66.4 143z\"]\n};\nvar faComputerSpeaker = {\n prefix: 'far',\n iconName: 'computer-speaker',\n icon: [640, 512, [], \"f8b2\", \"M312.4 480c-11.8-13.2-20.1-29.7-23.1-48H120c-13.3 0-24 10.7-24 24s10.7 24 24 24H312.4zM64 32C28.7 32 0 60.7 0 96V320c0 35.3 28.7 64 64 64H288V336H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H289.3c3.1-18.3 11.3-34.8 23.1-48H64zM576 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H384c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H576zM384 32c-35.3 0-64 28.7-64 64V416c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H384zm96 144a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM448 320a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm112 0a80 80 0 1 0 -160 0 80 80 0 1 0 160 0z\"]\n};\nvar faSkullCow = {\n prefix: 'far',\n iconName: 'skull-cow',\n icon: [640, 512, [], \"f8de\", \"M63.2 21.1c2.5-7.4-.7-15.4-7.5-19.1S40.3 0 35.5 6L28 15.3C9.9 38 0 66.4 0 95.5C0 166.1 57.2 224 128 224v0h16v64c0 45 31 82.8 72.7 93.2l25.6 85.2c8.1 27.1 33 45.6 61.3 45.6h32.8c28.3 0 53.2-18.5 61.3-45.6l25.6-85.2C465 370.8 496 333 496 288V224h16v0c70.8 0 128-57.9 128-128.5c0-29-9.9-57.4-28-80.1L604.5 6c-4.8-6.1-13.3-7.8-20.1-4.1s-10 11.8-7.5 19.1L588 54.5c2.5 7.5 3.4 15.4 2.6 23.2C587.7 106.3 563.7 128 535 128H512v0H471.6C454 108.4 428.4 96 400 96H240c-28.4 0-54 12.4-71.6 32H128v0H105c-28.7 0-52.7-21.7-55.6-50.3c-.8-7.8 .1-15.8 2.6-23.2L63.2 21.1zM228.3 334.6C207.4 329.4 192 310.4 192 288V224 192c0-26.5 21.5-48 48-48H400c26.5 0 48 21.5 48 48v32 64c0 22.4-15.4 41.4-36.3 46.6c-16.4 4.1-29.5 16.6-34.4 32.8l-25.6 85.2c-2 6.8-8.3 11.4-15.3 11.4H303.6c-7.1 0-13.3-4.6-15.3-11.4l-25.6-85.2c-4.9-16.2-17.9-28.7-34.4-32.8zM288 256a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm96 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faX = {\n prefix: 'far',\n iconName: 'x',\n icon: [384, 512, [120], \"58\", \"M378.4 71.4c8.5-10.1 7.2-25.3-2.9-33.8s-25.3-7.2-33.8 2.9L192 218.7 42.4 40.6C33.9 30.4 18.7 29.1 8.6 37.6S-2.9 61.3 5.6 71.4L160.7 256 5.6 440.6c-8.5 10.2-7.2 25.3 2.9 33.8s25.3 7.2 33.8-2.9L192 293.3 341.6 471.4c8.5 10.1 23.7 11.5 33.8 2.9s11.5-23.7 2.9-33.8L223.3 256l155-184.6z\"]\n};\nvar faMagnifyingGlassDollar = {\n prefix: 'far',\n iconName: 'magnifying-glass-dollar',\n icon: [512, 512, [\"search-dollar\"], \"f688\", \"M208 48a160 160 0 1 1 0 320 160 160 0 1 1 0-320zm0 368c48.8 0 93.7-16.8 129.1-44.9L471 505c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L371.1 337.1C399.2 301.7 416 256.8 416 208C416 93.1 322.9 0 208 0S0 93.1 0 208S93.1 416 208 416zm20-312c0-11-9-20-20-20s-20 9-20 20v14c-7.6 1.7-15.2 4.4-22.2 8.5c-13.9 8.3-25.9 22.8-25.8 43.9c.1 20.3 12 33.1 24.7 40.7c11 6.6 24.7 10.8 35.6 14l1.7 .5c12.6 3.8 21.8 6.8 28 10.7c5.1 3.2 5.8 5.4 5.9 8.2c.1 5-1.8 8-5.9 10.5c-5 3.1-12.9 5-21.4 4.7c-11.1-.4-21.5-3.9-35.1-8.5c-2.3-.8-4.7-1.6-7.2-2.4c-10.5-3.5-21.8 2.2-25.3 12.6s2.2 21.8 12.6 25.3c1.9 .6 4 1.3 6.1 2.1l0 0 0 0c8.3 2.9 17.9 6.2 28.2 8.4V312c0 11 9 20 20 20s20-9 20-20V298.2c8-1.7 16-4.5 23.2-9c14.3-8.9 25.1-24.1 24.8-45c-.3-20.3-11.7-33.4-24.6-41.6c-11.5-7.2-25.9-11.6-37.1-15l-.7-.2c-12.8-3.9-21.9-6.7-28.3-10.5c-5.2-3.1-5.3-4.9-5.3-6.7c0-3.7 1.4-6.5 6.2-9.3c5.4-3.2 13.6-5.1 21.5-5c9.6 .1 20.2 2.2 31.2 5.2c10.7 2.8 21.6-3.5 24.5-14.2s-3.5-21.6-14.2-24.5c-6.5-1.7-13.7-3.4-21.1-4.7V104z\"]\n};\nvar faSearchDollar = faMagnifyingGlassDollar;\nvar faUsersGear = {\n prefix: 'far',\n iconName: 'users-gear',\n icon: [640, 512, [\"users-cog\"], \"f509\", \"M144 160A80 80 0 1 0 144 0a80 80 0 1 0 0 160zm368 0A80 80 0 1 0 512 0a80 80 0 1 0 0 160zM0 298.7C0 310.4 9.6 320 21.3 320H234.7c.2 0 .4 0 .7 0c-26.6-23.5-43.3-57.8-43.3-96c0-7.6 .7-15 1.9-22.3c-13.6-6.3-28.7-9.7-44.6-9.7H106.7C47.8 192 0 239.8 0 298.7zM320 320c24 0 45.9-8.8 62.7-23.3c2.5-3.7 5.2-7.3 8-10.7c2.7-3.3 5.7-6.1 9-8.3C410 262.3 416 243.9 416 224c0-53-43-96-96-96s-96 43-96 96s43 96 96 96zm65.4 60.2c-10.3-5.9-18.1-16.2-20.8-28.2H261.3C187.7 352 128 411.7 128 485.3c0 14.7 11.9 26.7 26.7 26.7H455.2c-2.1-5.2-3.2-10.9-3.2-16.4v-3c-1.3-.7-2.7-1.5-4-2.3l-2.6 1.5c-16.8 9.7-40.5 8-54.7-9.7c-4.5-5.6-8.6-11.5-12.4-17.6l-.1-.2-.1-.2H178.7c9.5-36.8 42.9-64 82.6-64H371.9c3.6-5 8.2-9.1 13.5-12.2l2.7-1.5c0-.8 0-1.5 0-2.3s0-1.5 0-2.3l-2.7-1.5zM533.3 192H490.7c-15.9 0-31 3.5-44.6 9.7c1.3 7.2 1.9 14.7 1.9 22.3c0 17.4-3.5 33.9-9.7 49c2.5 .9 4.9 2 7.1 3.3l2.6 1.5c1.3-.8 2.6-1.6 4-2.3v-3c0-19.4 13.3-39.1 35.8-42.6c7.9-1.2 16-1.9 24.2-1.9s16.3 .6 24.2 1.9c22.5 3.5 35.8 23.2 35.8 42.6v3c1.3 .7 2.7 1.5 4 2.3l2.6-1.5c16.8-9.7 40.5-8 54.7 9.7c2.3 2.8 4.5 5.8 6.6 8.7c-2.1-57.1-49-102.7-106.6-102.7zM320 176a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM624.6 355.9c6.3-3.6 9.5-11.1 6.8-18c-2.1-5.5-4.6-10.8-7.4-15.9l-2.3-4c-3.1-5.1-6.5-9.9-10.2-14.5c-4.6-5.7-12.7-6.7-19-3l-2.9 1.7c-9.2 5.3-20.4 4-29.6-1.3s-16.1-14.5-16.1-25.1v-3.4c0-7.3-4.9-13.8-12.1-14.9c-6.5-1-13.1-1.5-19.9-1.5s-13.4 .5-19.9 1.5c-7.2 1.1-12.1 7.6-12.1 14.9v3.4c0 10.6-6.9 19.8-16.1 25.1s-20.4 6.6-29.6 1.3l-2.9-1.7c-6.3-3.6-14.4-2.6-19 3c-3.7 4.6-7.1 9.5-10.2 14.6l-2.3 3.9c-2.8 5.1-5.3 10.4-7.4 15.9c-2.6 6.8 .5 14.3 6.8 17.9l2.9 1.7c9.2 5.3 13.7 15.8 13.7 26.4s-4.5 21.1-13.7 26.4l-3 1.7c-6.3 3.6-9.5 11.1-6.8 17.9c2.1 5.5 4.6 10.7 7.4 15.8l2.4 4.1c3 5.1 6.4 9.9 10.1 14.5c4.6 5.7 12.7 6.7 19 3l2.9-1.7c9.2-5.3 20.4-4 29.6 1.3s16.1 14.5 16.1 25.1v3.4c0 7.3 4.9 13.8 12.1 14.9c6.5 1 13.1 1.5 19.9 1.5s13.4-.5 19.9-1.5c7.2-1.1 12.1-7.6 12.1-14.9v-3.4c0-10.6 6.9-19.8 16.1-25.1s20.4-6.6 29.6-1.3l2.9 1.7c6.3 3.6 14.4 2.6 19-3c3.7-4.6 7.1-9.4 10.1-14.5l2.4-4.2c2.8-5.1 5.3-10.3 7.4-15.8c2.6-6.8-.5-14.3-6.8-17.9l-3-1.7c-9.2-5.3-13.7-15.8-13.7-26.4s4.5-21.1 13.7-26.4l3-1.7zM472 384a40 40 0 1 1 80 0 40 40 0 1 1 -80 0z\"]\n};\nvar faUsersCog = faUsersGear;\nvar faPersonMilitaryPointing = {\n prefix: 'far',\n iconName: 'person-military-pointing',\n icon: [576, 512, [], \"e54a\", \"M224 39c0-13 10-23.8 22.9-24.9L398.7 1.4C408 .7 416 8 416 17.4V48c0 8.8-7.2 16-16 16H249c-13.8 0-25-11.2-25-25zM32 248c0-13.3 10.7-24 24-24H232h8H344h.6c42.9 0 82.5 22.9 103.9 60l92.3 160c6.6 11.5 2.7 26.2-8.8 32.8s-26.2 2.7-32.8-8.8L416 323.8V480c0 17.7-14.3 32-32 32H256c-17.7 0-32-14.3-32-32V272H56c-13.3 0-24-10.7-24-24zm240 24v82.1L345.4 272c-.5 0-1 0-1.4 0H272zm0 192h96V432H272v32zm96-145.2L309.7 384H368V318.8zM240 112c0-5.5 .6-10.8 1.6-16h50.7c-2.7 4.7-4.3 10.2-4.3 16c0 17.7 14.3 32 32 32s32-14.3 32-32c0-5.8-1.6-11.3-4.3-16h50.7c1 5.2 1.6 10.5 1.6 16c0 44.2-35.8 80-80 80s-80-35.8-80-80z\"]\n};\nvar faBuildingColumns = {\n prefix: 'far',\n iconName: 'building-columns',\n icon: [512, 512, [\"bank\", \"institution\", \"museum\", \"university\"], \"f19c\", \"M267.6 3c-7.2-4-16-4-23.2 0L17.6 128.1C6.7 134.1 0 145.5 0 157.9C0 176.8 15.2 192 34.1 192H477.9c18.8 0 34.1-15.2 34.1-34.1c0-12.4-6.7-23.8-17.6-29.8L267.6 3zM228.3 144H88.2L256 51.4 423.8 144H283.7c2.7-4.7 4.3-10.2 4.3-16c0-17.7-14.3-32-32-32s-32 14.3-32 32c0 5.8 1.6 11.3 4.3 16zM64 224V384c-13.3 0-24 10.7-24 24s10.7 24 24 24H456c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V224H400V384H336V224H288V384H224V224H176V384H112V224H64zM32 464c-13.3 0-24 10.7-24 24s10.7 24 24 24H488c13.3 0 24-10.7 24-24s-10.7-24-24-24H32z\"]\n};\nvar faBank = faBuildingColumns;\nvar faInstitution = faBuildingColumns;\nvar faMuseum = faBuildingColumns;\nvar faUniversity = faBuildingColumns;\nvar faCircleT = {\n prefix: 'far',\n iconName: 'circle-t',\n icon: [512, 512, [], \"e124\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM152 144c-13.3 0-24 10.7-24 24s10.7 24 24 24h80V360c0 13.3 10.7 24 24 24s24-10.7 24-24V192h80c13.3 0 24-10.7 24-24s-10.7-24-24-24H256 152z\"]\n};\nvar faSack = {\n prefix: 'far',\n iconName: 'sack',\n icon: [512, 512, [], \"f81c\", \"M293.3 152H218.7l-13.8 8.8C150.9 195.4 48 277 48 416c0 26.5 21.5 48 48 48H416c26.5 0 48-21.5 48-48c0-139-102.9-220.6-156.9-255.2L293.3 152zm.2-58.8L324.6 48H187.4l31.1 45.2L226 104h60l7.5-10.8zM0 416C0 274.8 89.4 185.5 150.8 139.9c10.4-7.7 20-14.2 28.2-19.4L151.8 80.9 121.9 37.6C111 21.7 122.4 0 141.7 0H370.3c19.3 0 30.7 21.7 19.8 37.6L360.2 80.9 333 120.4c8.2 5.3 17.8 11.7 28.2 19.4C422.6 185.5 512 274.8 512 416c0 53-43 96-96 96H96c-53 0-96-43-96-96z\"]\n};\nvar faGrid2 = {\n prefix: 'far',\n iconName: 'grid-2',\n icon: [512, 512, [], \"e196\", \"M80 80v96h96V80H80zM32 80c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48V80zM80 336v96h96V336H80zm-48 0c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48V336zM432 80H336v96h96V80zM336 32h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H336c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48zm0 304v96h96V336H336zm-48 0c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H336c-26.5 0-48-21.5-48-48V336z\"]\n};\nvar faCameraCctv = {\n prefix: 'far',\n iconName: 'camera-cctv',\n icon: [576, 512, [\"cctv\"], \"f8ac\", \"M54.9 192.2l169.3 70.5c.1 0 .2 .1 .2 .1c.6 .2 1.1 .4 1.6 .7l92.2 38.4 160-106.7L134.9 52.2l-80 140zM185.2 298.5l-165.5-69c-8.5-3.5-15-10.5-18-19.2s-2-18.2 2.5-26.2l96-168c8-14 25.2-19.9 40.1-13.7l384 160c10.9 4.5 18.4 14.7 19.5 26.5s-4.3 23.2-14.1 29.7l-192 128c-8.9 5.9-20.2 7-30.1 2.9L229.5 317 182.4 440.5C178.9 449.8 170 456 160 456H48v32c0 13.3-10.7 24-24 24s-24-10.7-24-24V432 376c0-13.3 10.7-24 24-24s24 10.7 24 24v32h95.5l41.7-109.5zm211.8 47.1l132.9-88.6 36.7 16.3c7.9 3.5 11.6 12.8 8.3 20.8l-40 96c-1.7 4-4.9 7.2-8.9 8.7s-8.5 1.5-12.5-.3L396.9 345.6z\"]\n};\nvar faCctv = faCameraCctv;\nvar faUmbrella = {\n prefix: 'far',\n iconName: 'umbrella',\n icon: [576, 512, [], \"f0e9\", \"M288 0c13.3 0 24 10.7 24 24V48.9c123.7 9.6 226.1 93 255.5 204.4c.4 1.4 .7 2.9 1.1 4.3c1.4 5.8 2.7 11.7 3.7 17.6c.6 3.5 1.1 7.1 1.6 10.7c2 15.6-17.3 24.4-27.8 12.7c-2.5-2.8-5.5-5.5-8.8-8c-3.4-2.5-7.1-4.9-11.1-7l-.7-.4-.6-.3c-13.5-6.8-29.7-11-44.9-11c-30.1 0-56.3 16.6-70 41.2c-.5 .9-1 1.7-1.4 2.6c-2.1 4.1-3.8 8.3-5.1 12.8c-.7 2.4-1.4 4.9-1.9 7.5c-1.7 8.7-8.7 15.9-17.6 15.9s-15.8-7.2-17.6-15.9c-.5-2.5-1.1-5-1.9-7.5c-1.4-4.4-3.1-8.7-5.1-12.8c-.5-.9-.9-1.8-1.4-2.6c-13.7-24.6-39.9-41.2-70-41.2s-56.3 16.6-70 41.2c-.5 .9-.9 1.7-1.4 2.6c-2.1 4.1-3.8 8.3-5.1 12.8c-.7 2.4-1.4 4.9-1.9 7.5c-1.7 8.7-8.7 15.9-17.6 15.9s-15.8-7.2-17.6-15.9c-.5-2.5-1.1-5-1.9-7.5c-1.4-4.4-3.1-8.7-5.1-12.8c-.5-.9-.9-1.8-1.4-2.6C152.3 288.6 126.1 272 96 272c-15.2 0-31.4 4.2-44.9 11c-.4 .2-.9 .5-1.3 .7c-4 2.1-7.7 4.4-11.1 7c-3.3 2.5-6.3 5.2-8.8 8C19.4 310.4 .1 301.5 2.1 285.9c.5-3.6 1-7.2 1.6-10.7c1-5.9 2.3-11.8 3.7-17.6c.4-1.4 .7-2.9 1.1-4.3C37.9 141.9 140.3 58.6 264 48.9V24c0-13.3 10.7-24 24-24zm96 267.3c23.4-26.6 57.7-43.3 96-43.3c8.6 0 17.5 .9 26.4 2.6C468.9 150.2 386.1 96 288 96s-180.9 54.2-218.4 130.6c8.9-1.7 17.8-2.6 26.4-2.6c38.3 0 72.6 16.8 96 43.3c23.4-26.6 57.7-43.3 96-43.3s72.6 16.8 96 43.3zM288 304c8.7 0 16.9 2.3 24 6.4V438.6c0 40.6-32.9 73.4-73.4 73.4c-27.8 0-53.2-15.7-65.7-40.6l-2.3-4.7c-5.9-11.9-1.1-26.3 10.7-32.2s26.3-1.1 32.2 10.7l2.3 4.7c4.3 8.6 13.1 14.1 22.8 14.1c14.1 0 25.4-11.4 25.4-25.4V310.4c7.1-4.1 15.3-6.4 24-6.4z\"]\n};\nvar faTrowel = {\n prefix: 'far',\n iconName: 'trowel',\n icon: [512, 512, [], \"e589\", \"M340.4 142L370 171.6l87.9-87.9c8.2-8.2 8.2-21.4 0-29.6s-21.4-8.2-29.6 0L340.4 142zM491.8 20.2c26.9 26.9 26.9 70.5 0 97.5l-95.4 95.4c-14.6 14.6-38.2 14.6-52.8 0l-5.4-5.4L237.9 308l75 75c5.9 5.9 8.3 14.5 6.4 22.6s-8 14.6-15.9 17.2l-272 88c-8.6 2.8-18 .5-24.4-5.9s-8.6-15.8-5.9-24.4l88-272c2.6-7.9 9.1-14 17.2-15.9s16.7 .5 22.6 6.4l75 75L304.3 173.8l-5.4-5.4c-14.6-14.6-14.6-38.2 0-52.8l95.4-95.4c26.9-26.9 70.5-26.9 97.5 0zM251.3 389.2L122.8 260.7l-61.5 190 190-61.5z\"]\n};\nvar faHorizontalRule = {\n prefix: 'far',\n iconName: 'horizontal-rule',\n icon: [640, 512, [8213], \"f86c\", \"M0 256c0-13.3 10.7-24 24-24H616c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24z\"]\n};\nvar faBedFront = {\n prefix: 'far',\n iconName: 'bed-front',\n icon: [512, 512, [\"bed-alt\"], \"f8f7\", \"M32 80V205.8c14.5-7.7 30.8-12.4 48-13.6l0-.3V160c0-17.7 14.3-32 32-32h96c17.7 0 32 14.3 32 32v32h32V160c0-17.7 14.3-32 32-32h96c17.7 0 32 14.3 32 32v32l0 .3c17.2 1.1 33.5 5.9 48 13.6V80c0-26.5-21.5-48-48-48H80C53.5 32 32 53.5 32 80zM88 224c-48.6 0-88 39.4-88 88v80 64c0 13.3 10.7 24 24 24s24-10.7 24-24V416H464v40c0 13.3 10.7 24 24 24s24-10.7 24-24V392 312c0-48.6-39.4-88-88-88H88zM464 368H48V312c0-22.1 17.9-40 40-40H424c22.1 0 40 17.9 40 40v56z\"]\n};\nvar faBedAlt = faBedFront;\nvar faD = {\n prefix: 'far',\n iconName: 'd',\n icon: [384, 512, [100], \"44\", \"M56 80c-4.4 0-8 3.6-8 8V424c0 4.4 3.6 8 8 8H160c97.2 0 176-78.8 176-176s-78.8-176-176-176H56zM0 88C0 57.1 25.1 32 56 32H160c123.7 0 224 100.3 224 224s-100.3 224-224 224H56c-30.9 0-56-25.1-56-56V88z\"]\n};\nvar faStapler = {\n prefix: 'far',\n iconName: 'stapler',\n icon: [640, 512, [], \"e5af\", \"M448 384v48H56c-13.3 0-24 10.7-24 24s10.7 24 24 24H448h48 24 72c26.5 0 48-21.5 48-48V336 299.3 288l-.7-.1c-3.8-31.8-23.3-59.9-52.4-74.4L260.7 50.4C236.6 38.3 209.9 32 182.9 32C128.2 32 76.7 57.8 43.8 101.6L11.5 144.7C4 154.6 0 166.7 0 179.1c0 26.4 17.9 49.3 43.5 55.7L64 240V344c0 22.1 17.9 40 40 40H448zm0-48H112V252l336 84zm72 96H496V336c0-22-15-41.2-36.4-46.6L55.2 188.3c-4.2-1.1-7.2-4.8-7.2-9.2c0-2 .7-4 1.9-5.7l32.3-43.1C106 98.7 143.3 80 182.9 80c19.5 0 38.8 4.6 56.3 13.3L565.5 256.4c14.5 7.3 24.3 21.3 26.2 37.2c.1 .8 .2 1.6 .3 2.4v3.4V336v96H520z\"]\n};\nvar faMasksTheater = {\n prefix: 'far',\n iconName: 'masks-theater',\n icon: [640, 512, [127917, \"theater-masks\"], \"f630\", \"M376.1 32.1c-41.2 .7-71.8 7.8-94.3 16.7c-23.1-2-53.9-1.4-94 5.2C95.6 69.1 60.7 98 49.3 110.7L76.8 271.9c4.9 28.7 17.5 52.2 36.1 67.2c20.3 16.4 45.2 34 70.7 46.2c10.4 5 20 8.6 28.8 11.1c1.7 3.1 3.4 6.1 5.3 9.2c8.1 13 17.9 27.5 29.1 42.1c-58 4.9-123.3-37.8-165-71.7c-29.7-24-46.8-59-53.2-96.2L.8 116.1c-1.7-9.8-1-19.9 4.7-28C20.5 67 63.6 25.9 179.8 6.9S350.5 12.8 371.6 28c1.7 1.2 3.2 2.5 4.5 4zM194 282.3c-15.6 5.8-29.7 14-42.1 24.2c-6.6 5.4-16.8 1.7-15.6-6.6c5.4-35 31.3-64.6 67.2-74.3l-8.5 49.6c-.4 2.3-.8 4.7-1.1 7zM176.7 153.7c4.5-3.2 11.1-2.2 12.2 3.1c.1 .5 .2 1.1 .3 1.6c3.7 21.7-11.2 42.2-33.4 45.8s-43.1-11-46.8-32.7c-.1-.5-.2-1.1-.2-1.6c-.7-5.4 5.3-8.4 10.5-6.9c9.3 2.8 19.5 3.6 29.8 1.9s19.6-5.7 27.5-11.3zM385.1 510.6c-60-9.8-110.5-74.6-140.1-122c-20.1-32.2-24.7-70.7-18.3-107.9L254.6 117c1.7-9.8 5.6-19.1 13.8-24.9C289.5 76.8 344 51.8 460.2 70.9S619.5 131 634.5 152.1c5.8 8.1 6.4 18.2 4.7 28L611.3 343.8c-6.4 37.2-23.5 72.2-53.2 96.2c-43.7 35.4-113.1 80.5-173 70.7zm-47-80.7c20.7 20.3 39.5 31 55 33.6s36.9-1.6 63.2-14.2c25.5-12.2 50.4-29.8 70.7-46.2c18.6-15.1 31.2-38.6 36.1-67.3l27.5-161.2C579.3 162 544.4 133.1 452.1 118s-134.9 1-149.9 9.4L274.7 288.6c-4.9 28.7-.8 54.9 11.8 75.1c13.7 22 31.5 46.6 51.5 66.2zm57.3-193.4c-7.9-5.6-17.2-9.6-27.5-11.3s-20.4-.9-29.8 1.9c-5.3 1.6-11.2-1.5-10.5-6.9c.1-.5 .2-1.1 .2-1.6c3.7-21.7 24.6-36.3 46.8-32.7s37.1 24.1 33.4 45.8c-.1 .5-.2 1.1-.3 1.6c-1.1 5.3-7.8 6.3-12.2 3.1zm140.4 17.9c-1.1 5.3-7.8 6.3-12.2 3.1c-7.9-5.6-17.2-9.6-27.5-11.3s-20.4-.9-29.8 1.9c-5.3 1.6-11.2-1.5-10.5-6.9c.1-.5 .2-1.1 .2-1.6c3.7-21.7 24.6-36.3 46.8-32.7s37.1 24.1 33.4 45.8c-.1 .5-.2 1.1-.3 1.6zm-20.3 56.6c7.9-3.2 16.5 3.5 12.8 11.1c-21.1 44.3-70.3 71.2-121.9 62.8s-89.2-49.7-94.4-98.2c-.9-8.3 9.4-12 15.8-6.4c24.3 21.2 54.8 36.2 89.3 41.8s68.3 1.2 98.3-11.1z\"]\n};\nvar faTheaterMasks = faMasksTheater;\nvar faFileGif = {\n prefix: 'far',\n iconName: 'file-gif',\n icon: [512, 512, [], \"e645\", \"M64 464h96v48H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3V288H336V160H256c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16zm160-72c0-22.1 17.9-40 40-40h16c22.1 0 40 17.9 40 40v8c0 8.8-7.2 16-16 16s-16-7.2-16-16v-8c0-4.4-3.6-8-8-8H264c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8v-8c-8.8 0-16-7.2-16-16s7.2-16 16-16h16c8.8 0 16 7.2 16 16v24c0 22.1-17.9 40-40 40H264c-22.1 0-40-17.9-40-40V392zm160-24V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V368c0-8.8 7.2-16 16-16s16 7.2 16 16zm48-16h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H448v32h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H448v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V432 368c0-8.8 7.2-16 16-16z\"]\n};\nvar faKipSign = {\n prefix: 'far',\n iconName: 'kip-sign',\n icon: [384, 512, [], \"e1c4\", \"M88 32c13.3 0 24 10.7 24 24V210.5L312.3 37.8c10-8.7 25.2-7.5 33.8 2.5s7.5 25.2-2.5 33.8L160.6 232H360c13.3 0 24 10.7 24 24s-10.7 24-24 24H160.6L343.7 437.8c10 8.7 11.2 23.8 2.5 33.8s-23.8 11.2-33.8 2.5L112 301.5V457c0 13.3-10.7 24-24 24s-24-10.7-24-24V280H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H64V56c0-13.3 10.7-24 24-24z\"]\n};\nvar faFaceWoozy = {\n prefix: 'far',\n iconName: 'face-woozy',\n icon: [512, 512, [], \"e3a2\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM368 208c0-35.3-14.3-64-32-64s-32 28.7-32 64s14.3 64 32 64s32-28.7 32-64zM213.8 247.3c12.9-3.2 20.7-16.2 17.5-29.1s-16.2-20.7-29.1-17.5l-64 16c-12.9 3.2-20.7 16.2-17.5 29.1s16.2 20.7 29.1 17.5l64-16zM200.9 98.7c-7.4-4.9-17.3-2.9-22.2 4.4c-23.2 34.8-58.4 53.2-71.7 57.7c-8.4 2.8-12.9 11.9-10.1 20.2s11.9 12.9 20.2 10.1c18.6-6.2 60.3-28.3 88.3-70.3c4.9-7.4 2.9-17.3-4.4-22.2zM385.8 360.1c8.9-9.8 8.2-25-1.6-33.9s-25-8.2-33.9 1.6L319 362.3c-3.3 3.6-7.9 5.7-12.8 5.7c-3.5 0-6.9-1.1-9.8-3l-11.7-8.1c-24-16.5-54.7-19.4-81.4-7.7c-11.7 5.2-25.3 3.7-35.7-3.9l-9.4-6.9c-10.7-7.8-25.7-5.6-33.6 5.1s-5.6 25.7 5.1 33.6l9.4 6.9c24.2 17.8 56 21.2 83.4 9.1c11.4-5 24.5-3.8 34.8 3.3l11.7 8.1c10.9 7.5 23.8 11.5 37 11.5c18.4 0 36-7.8 48.3-21.4l31.3-34.5z\"]\n};\nvar faCloudQuestion = {\n prefix: 'far',\n iconName: 'cloud-question',\n icon: [640, 512, [], \"e492\", \"M354.9 121.7c13.8 16 36.5 21.1 55.9 12.5c8.9-3.9 18.7-6.2 29.2-6.2c39.8 0 72 32.2 72 72c0 4-.3 7.9-.9 11.7c-3.5 21.6 8.1 42.9 28.1 51.7C570.4 276.9 592 308 592 344c0 46.8-36.6 85.2-82.8 87.8c-.6 0-1.3 .1-1.9 .2H504 144c-53 0-96-43-96-96c0-41.7 26.6-77.3 64-90.5c19.2-6.8 32-24.9 32-45.3l0-.2v0 0c0-66.3 53.7-120 120-120c36.3 0 68.8 16.1 90.9 41.7zM512 480v-.2c71.4-4.1 128-63.3 128-135.8c0-55.7-33.5-103.7-81.5-124.7c1-6.3 1.5-12.8 1.5-19.3c0-66.3-53.7-120-120-120c-17.4 0-33.8 3.7-48.7 10.3C360.4 54.6 314.9 32 264 32C171.2 32 96 107.2 96 200l0 .2C40.1 220 0 273.3 0 336c0 79.5 64.5 144 144 144H464h40 8zM233.8 197.3l-.4 1.2c-4.4 12.5 2.1 26.2 14.6 30.6s26.2-2.1 30.6-14.6l.4-1.2c1.1-3.2 4.2-5.3 7.5-5.3h58.3c8.4 0 15.1 6.8 15.1 15.1c0 5.4-2.9 10.4-7.6 13.1l-44.3 25.4c-7.5 4.3-12.1 12.2-12.1 20.8V296c0 13.3 10.7 24 24 24c13.1 0 23.8-10.5 24-23.6l32.3-18.5c19.6-11.3 31.7-32.2 31.7-54.8c0-34.9-28.3-63.1-63.1-63.1H286.6c-23.7 0-44.8 14.9-52.8 37.3zM352 384a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faPineapple = {\n prefix: 'far',\n iconName: 'pineapple',\n icon: [512, 512, [], \"e31f\", \"M423.1 1.7c4.2 2.1 7.3 5.9 8.4 10.5l3.6 14.3C447 19.6 460.6 16 474.5 16H480c8.8 0 16 7.2 16 16v5.5c0 13.9-3.6 27.5-10.4 39.4l14.3 3.6c4.6 1.1 8.4 4.2 10.5 8.4s2.2 9.1 .4 13.4c-6.8 15.9-19.5 26.7-34.1 31.6l14.7 14.7c6.2 6.2 6.2 16.4 0 22.6c-15.4 15.4-35.3 23.6-55.5 24.5c8 18.9 12.2 39.3 12.2 60.2c0 41-16.3 80.3-45.3 109.3L301.3 466.7C272.3 495.7 233 512 192 512s-80.3-16.3-109.3-45.3L45.3 429.3l33.9-33.9 37.5 37.5c20 20 47.1 31.2 75.3 31.2s55.3-11.2 75.3-31.2L368.8 331.3c20-20 31.2-47.1 31.2-75.3s-11.2-55.3-31.2-75.3l-37.5-37.5c-20-20-47.1-31.2-75.3-31.2s-55.3 11.2-75.3 31.2L79.2 244.7C59.2 264.7 48 291.8 48 320s11.2 55.3 31.2 75.3L45.3 429.3C16.3 400.3 0 361 0 320s16.3-80.3 45.3-109.3L146.7 109.3C175.7 80.3 215 64 256 64c20.9 0 41.3 4.2 60.2 12.2c.9-20.2 9.1-40.1 24.5-55.5c6.2-6.2 16.4-6.2 22.6 0l14.7 14.7C383 20.8 393.8 8.1 409.7 1.3c4.3-1.8 9.2-1.7 13.4 .4zm-235.8 211L208 233.4l20.7-20.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-32 32c-6.2 6.2-16.4 6.2-22.6 0l-32-32c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0zm-80 80L128 313.4l20.7-20.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-32 32c-6.2 6.2-16.4 6.2-22.6 0l-32-32c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0zM288 313.4l20.7-20.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-32 32c-6.2 6.2-16.4 6.2-22.6 0l-32-32c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L288 313.4zM164.7 372.7c6.2-6.2 16.4-6.2 22.6 0L208 393.4l20.7-20.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-32 32c-6.2 6.2-16.4 6.2-22.6 0l-32-32c-6.2-6.2-6.2-16.4 0-22.6z\"]\n};\nvar faHandPointLeft = {\n prefix: 'far',\n iconName: 'hand-point-left',\n icon: [512, 512, [], \"f0a5\", \"M64 128l177.6 0c-1 5.2-1.6 10.5-1.6 16l0 16-32 0L64 160c-8.8 0-16-7.2-16-16s7.2-16 16-16zm224 16c0-17.7 14.3-32 32-32c0 0 0 0 0 0l24 0c66.3 0 120 53.7 120 120l0 48c0 52.5-33.7 97.1-80.7 113.4c.5-3.1 .7-6.2 .7-9.4c0-20-9.2-37.9-23.6-49.7c4.9-9 7.6-19.4 7.6-30.3c0-15.1-5.3-29-14-40c8.8-11 14-24.9 14-40l0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-40 0-40zm32-80s0 0 0 0c-18 0-34.6 6-48 16L64 80C28.7 80 0 108.7 0 144s28.7 64 64 64l82 0c-1.3 5.1-2 10.5-2 16c0 25.3 14.7 47.2 36 57.6c-2.6 7-4 14.5-4 22.4c0 20 9.2 37.9 23.6 49.7c-4.9 9-7.6 19.4-7.6 30.3c0 35.3 28.7 64 64 64l64 0 24 0c92.8 0 168-75.2 168-168l0-48c0-92.8-75.2-168-168-168l-24 0zM256 400c-8.8 0-16-7.2-16-16s7.2-16 16-16l48 0 16 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-64 0zM240 224c0 5.5 .7 10.9 2 16l-2 0-32 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l32 0 0 16zm24 64l40 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-48 0-16 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l24 0z\"]\n};\nvar faGalleryThumbnails = {\n prefix: 'far',\n iconName: 'gallery-thumbnails',\n icon: [576, 512, [], \"e3aa\", \"M512 48c8.8 0 16 7.2 16 16V288c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H512zM64 0C28.7 0 0 28.7 0 64V288c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM0 448v32c0 17.7 14.3 32 32 32H64c17.7 0 32-14.3 32-32V448c0-17.7-14.3-32-32-32H32c-17.7 0-32 14.3-32 32zm192-32c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V448c0-17.7-14.3-32-32-32H192zm128 32v32c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V448c0-17.7-14.3-32-32-32H352c-17.7 0-32 14.3-32 32zm192-32c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V448c0-17.7-14.3-32-32-32H512z\"]\n};\nvar faCircleJ = {\n prefix: 'far',\n iconName: 'circle-j',\n icon: [512, 512, [], \"e112\", \"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm80-360c0-13.3-10.7-24-24-24s-24 10.7-24 24V288c0 26.5-21.5 48-48 48s-48-21.5-48-48v-8c0-13.3-10.7-24-24-24s-24 10.7-24 24v8c0 53 43 96 96 96s96-43 96-96V152z\"]\n};\nvar faEyes = {\n prefix: 'far',\n iconName: 'eyes',\n icon: [640, 512, [], \"e367\", \"M255.6 385.2C231.4 416.6 201.5 432 172 432s-59.4-15.4-83.6-46.8c-9.1-11.9-17.1-25.7-23.5-41.2c9.2 5.1 19.8 8 31.1 8c35.3 0 64-28.7 64-64s-28.7-64-64-64c-19 0-36.1 8.3-47.8 21.4c2-47.8 17.7-89.3 40.2-118.6C112.6 95.4 142.5 80 172 80s59.4 15.4 83.6 46.8c24.1 31.4 40.4 77 40.4 129.2s-16.3 97.7-40.4 129.2zM320 141.8C290 76.1 235 32 172 32C77 32 0 132.3 0 256S77 480 172 480c63 0 118-44.1 148-109.8C350 435.9 405 480 468 480c95 0 172-100.3 172-224s-77-224-172-224c-63 0-118 44.1-148 109.8zm42.8 206.6c6.6 2.3 13.7 3.6 21.2 3.6c35.3 0 64-28.7 64-64s-28.7-64-64-64c-14.8 0-28.5 5-39.3 13.5c3.3-44.4 18.5-83 39.8-110.6C408.6 95.4 438.5 80 468 80s59.4 15.4 83.6 46.8c24.1 31.4 40.4 77 40.4 129.2s-16.3 97.7-40.4 129.2C527.4 416.6 497.5 432 468 432s-59.4-15.4-83.6-46.8c-8.2-10.7-15.5-23.1-21.6-36.7z\"]\n};\nvar faHandshakeSimple = {\n prefix: 'far',\n iconName: 'handshake-simple',\n icon: [640, 512, [129309, \"handshake-alt\"], \"f4c6\", \"M272.2 64.6c-4.4-.4-8.8-.6-13.2-.6H248.7c-37.2 0-73.2 13.7-101 38.4L121.1 126c-1.5 1.3-3.4 2-5.3 2H56c-13.3 0-24 10.7-24 24s10.7 24 24 24h59.8c13.7 0 27-5 37.2-14.1l26.5-23.6c12-10.7 26.2-18.3 41.5-22.5l51.1-51.1zM377.1 64c-37.6 0-73.9 14.4-101.2 40.2l-70.1 66.2c-30.8 29.1-30.1 78.3 1.6 106.5c27.8 24.7 69.7 24.3 97-.9l35.8-33 75.8 75.8c9.4 9.4 9.4 24.6 0 33.9c-8.4 8.4-21.6 9.3-30.9 2.6c-7.1-5.1-16.5-5.9-24.4-2.1s-13.1 11.6-13.6 20.4c-.4 7.1-3.2 14-8.6 19.4c-11.6 11.6-30.4 11.6-41.9 0l-10.7-10.7c-5.8-5.8-14.2-8.2-22.2-6.5s-14.6 7.5-17.3 15.3c-.8 2.1-2 4.1-3.7 5.8c-6.2 6.2-16.4 6.2-22.6 0L193 370.1c0 0 0 0 0 0l-7-7-35.6-35.6c-15-15-35.4-23.4-56.6-23.4H56c-13.3 0-24 10.7-24 24s10.7 24 24 24H93.7c8.5 0 16.6 3.4 22.6 9.4L152 397l7 7L185.9 431c23.6 23.6 60.9 24.9 86 4.1c30.4 22 73 19.3 100.4-8.1c6.1-6.1 10.9-12.9 14.6-20.2c22.2 3.8 45.8-2.9 63-20.1c5.6-5.6 10.1-11.9 13.5-18.7H584c13.3 0 24-10.7 24-24s-10.7-24-24-24H469.2c-2.9-12.9-9.3-25.1-19.4-35.1l-74.4-74.4 .8-.8c9.7-9 10.3-24.2 1.4-33.9s-24.2-10.3-33.9-1.4l-71.9 66.4c-9.2 8.5-23.2 8.6-32.5 .3c-10.6-9.4-10.9-26-.5-35.7l70.1-66.2c18.5-17.4 42.9-27.1 68.3-27.1c24.4 0 47.9 8.9 66.1 25.1l36.9 32.8c4.4 3.9 10.1 6.1 15.9 6.1h88c13.3 0 24-10.7 24-24s-10.7-24-24-24H505.1L475 101.2C448 77.3 413.2 64 377.1 64z\"]\n};\nvar faHandshakeAlt = faHandshakeSimple;\nvar faPageCaretUp = {\n prefix: 'far',\n iconName: 'page-caret-up',\n icon: [384, 512, [\"file-caret-up\"], \"e42a\", \"M48 448c0 8.8 7.2 16 16 16H320c8.8 0 16-7.2 16-16V138.5c0-4.2-1.7-8.3-4.7-11.3L256.8 52.7c-3-3-7.1-4.7-11.3-4.7H64c-8.8 0-16 7.2-16 16V448zm272 64H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H245.5c17 0 33.3 6.7 45.3 18.7l74.5 74.5c12 12 18.7 28.3 18.7 45.3V448c0 35.3-28.7 64-64 64zM192 192c4.5 0 8.8 1.9 11.8 5.2l75.7 82.6c14.1 15.4 3.2 40.2-17.7 40.2H122.2c-20.9 0-31.8-24.8-17.7-40.2l75.7-82.6c3-3.3 7.3-5.2 11.8-5.2z\"]\n};\nvar faFileCaretUp = faPageCaretUp;\nvar faJetFighter = {\n prefix: 'far',\n iconName: 'jet-fighter',\n icon: [640, 512, [\"fighter-jet\"], \"f0fb\", \"M216 0h23.8 .4H296c13.3 0 24 10.7 24 24s-10.7 24-24 24h-6.9c4.7 6.1 9.8 12.6 15.1 19.6c25.3 32.8 56.8 74.1 81.8 108.4h97.1c5.7 0 11.3 .9 16.7 2.5l108.1 33.8C627 218.3 640 236 640 256s-13 37.7-32.1 43.7L499.8 333.4c-5.4 1.7-11 2.6-16.7 2.6H386L288.5 464H296c13.3 0 24 10.7 24 24s-10.7 24-24 24H240.2h-.5H216 184c-13.3 0-24-10.7-24-24s10.7-24 24-24h8V336H177.9l-31.6 31.6c-10.5 10.5-24.7 16.4-39.6 16.4H88c-30.9 0-56-25.1-56-56V280H24c-13.3 0-24-10.7-24-24s10.7-24 24-24h8V184c0-30.9 25.1-56 56-56h18.7c14.9 0 29.1 5.9 39.6 16.4L177.9 176H192V48h-8c-13.3 0-24-10.7-24-24s10.7-24 24-24h32zm24 176h86.4c-19.9-26.7-41.6-55.1-60.1-79.1C256.3 84 247.3 72.4 240 63V176zM80 280v48c0 4.4 3.6 8 8 8h18.7c2.1 0 4.2-.8 5.7-2.3L151 295c4.5-4.5 10.6-7 17-7H483.1c.8 0 1.6-.1 2.4-.4L586.7 256 485.5 224.4c-.8-.2-1.6-.4-2.4-.4H168c-6.4 0-12.5-2.5-17-7l-38.6-38.6c-1.5-1.5-3.5-2.3-5.7-2.3H88c-4.4 0-8 3.6-8 8v48h56c13.3 0 24 10.7 24 24s-10.7 24-24 24H80zm160 56V448.4L325.6 336H240z\"]\n};\nvar faFighterJet = faJetFighter;\nvar faComet = {\n prefix: 'far',\n iconName: 'comet',\n icon: [512, 512, [], \"e003\", \"M459.8 3.2c4.7-2.1 9.8-3.2 15-3.2C495.3 0 512 16.7 512 37.2c0 5.2-1.1 10.3-3.2 15L449.3 187.5l10.7-.8c33.9-2.6 55.4 35.5 35.6 63.1L369.2 426.7C331 480.2 269.3 512 203.6 512C91 512 0 419.8 0 307.5c0-64.8 30.6-126.3 82.7-165L261.6 9.6c27.5-20.4 66.3 .9 63.7 35.1L324 62.9 459.8 3.2zm-6 55.1l-147 64.7c-7.7 3.4-16.6 2.5-23.5-2.4s-10.7-13-10.1-21.4l3-40.6L111.4 181C71.6 210.6 48 257.8 48 307.5C48 393.6 117.8 464 203.6 464c50.2 0 97.4-24.3 126.6-65.2l116.4-163L413 238.5c-8.4 .6-16.5-3.2-21.4-10.1s-5.8-15.8-2.4-23.5L453.8 58.3zM208 200c6.1 0 11.7 3.5 14.3 8.9l24.5 49.6 54.8 8c6 .9 11 5.1 12.9 10.9s.3 12.2-4 16.4l-39.6 38.6 9.4 54.5c1 6-1.4 12.1-6.4 15.7s-11.5 4.1-16.8 1.2l-49-25.8-49 25.8c-5.4 2.8-11.9 2.4-16.8-1.2s-7.4-9.6-6.4-15.7l9.4-54.5-39.6-38.6c-4.4-4.3-5.9-10.6-4-16.4s6.9-10 12.9-10.9l54.8-8 24.5-49.6c2.7-5.5 8.3-8.9 14.3-8.9z\"]\n};\nvar faSquareShareNodes = {\n prefix: 'far',\n iconName: 'square-share-nodes',\n icon: [448, 512, [\"share-alt-square\"], \"f1e1\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm352 80c0 26.5-21.5 48-48 48c-9.8 0-18.9-2.9-26.5-7.9L197.7 256l79.9 39.9c7.6-5 16.7-7.9 26.5-7.9c26.5 0 48 21.5 48 48s-21.5 48-48 48c-25.5 0-46.4-20-47.9-45.1l-85.6-42.8c-7.6 5-16.7 7.9-26.5 7.9c-26.5 0-48-21.5-48-48s21.5-48 48-48c9.8 0 18.9 2.9 26.5 7.9l85.6-42.8C257.6 148 278.5 128 304 128c26.5 0 48 21.5 48 48z\"]\n};\nvar faShareAltSquare = faSquareShareNodes;\nvar faReflectVertical = {\n prefix: 'far',\n iconName: 'reflect-vertical',\n icon: [512, 512, [], \"e665\", \"M0 256c0-13.3 10.7-24 24-24l464 0c13.3 0 24 10.7 24 24s-10.7 24-24 24L24 280c-13.3 0-24-10.7-24-24zM166.6 464l178.7 0L256 374.6 166.6 464zM128 512c-12.9 0-24.6-7.8-29.6-19.8s-2.2-25.7 6.9-34.9l128-128c12.5-12.5 32.8-12.5 45.3 0l128 128c9.2 9.2 11.9 22.9 6.9 34.9s-16.6 19.8-29.6 19.8l-256 0zM256 137.4L345.4 48 166.6 48 256 137.4zM98.4 19.8C103.4 7.8 115.1 0 128 0L384 0c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9l-128 128c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-9.2-9.2-11.9-22.9-6.9-34.9z\"]\n};\nvar faShieldKeyhole = {\n prefix: 'far',\n iconName: 'shield-keyhole',\n icon: [512, 512, [], \"e248\", \"M73 127L256 49.4 439 127c5.9 2.5 9.1 7.8 9 12.8c-.4 91.4-38.4 249.3-186.3 320.1c-3.6 1.7-7.8 1.7-11.3 0C102.4 389 64.5 231.2 64 139.7c0-5 3.1-10.2 9-12.8zM457.7 82.8L269.4 2.9C265.2 1 260.7 0 256 0s-9.2 1-13.4 2.9L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.8 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2zM312 208c0-30.9-25.1-56-56-56s-56 25.1-56 56c0 22.3 13.1 41.6 32 50.6V328c0 13.3 10.7 24 24 24s24-10.7 24-24V258.6c18.9-9 32-28.3 32-50.6z\"]\n};\nvar faFileMp4 = {\n prefix: 'far',\n iconName: 'file-mp4',\n icon: [512, 512, [], \"e649\", \"M48 448c0 8.8 7.2 16 16 16v48c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3V288H336V160H256c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448zm109.7-88.2L192 416.9l34.3-57.1c3.7-6.2 11.1-9.1 18-7.2s11.7 8.2 11.7 15.4V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V425.8l-18.3 30.5c-2.9 4.8-8.1 7.8-13.7 7.8s-10.8-3-13.7-7.8L160 425.8V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V368c0-7.2 4.8-13.5 11.7-15.4s14.3 1 18 7.2zM304 352h32c30.9 0 56 25.1 56 56s-25.1 56-56 56H320v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V448 368c0-8.8 7.2-16 16-16zm32 80c13.3 0 24-10.7 24-24s-10.7-24-24-24H320v48h16zm84.7 11.3c-3-3-4.7-7.1-4.7-11.3V368c0-8.8 7.2-16 16-16s16 7.2 16 16v48h32V368c0-8.8 7.2-16 16-16s16 7.2 16 16v64 64c0 8.8-7.2 16-16 16s-16-7.2-16-16V448H432c-4.2 0-8.3-1.7-11.3-4.7z\"]\n};\nvar faBarcode = {\n prefix: 'far',\n iconName: 'barcode',\n icon: [512, 512, [], \"f02a\", \"M24 32C10.7 32 0 42.7 0 56V456c0 13.3 10.7 24 24 24s24-10.7 24-24V56c0-13.3-10.7-24-24-24zm88 0c-8.8 0-16 7.2-16 16V464c0 8.8 7.2 16 16 16s16-7.2 16-16V48c0-8.8-7.2-16-16-16zm72 0c-13.3 0-24 10.7-24 24V456c0 13.3 10.7 24 24 24s24-10.7 24-24V56c0-13.3-10.7-24-24-24zm112 0c-13.3 0-24 10.7-24 24V456c0 13.3 10.7 24 24 24s24-10.7 24-24V56c0-13.3-10.7-24-24-24zM464 56V456c0 13.3 10.7 24 24 24s24-10.7 24-24V56c0-13.3-10.7-24-24-24s-24 10.7-24 24zm-64-8V464c0 8.8 7.2 16 16 16s16-7.2 16-16V48c0-8.8-7.2-16-16-16s-16 7.2-16 16z\"]\n};\nvar faBulldozer = {\n prefix: 'far',\n iconName: 'bulldozer',\n icon: [640, 512, [], \"e655\", \"M80 88v88H221.9l-43-91.4c-1.3-2.8-4.1-4.6-7.2-4.6H88c-4.4 0-8 3.6-8 8zM32 176V88c0-30.9 25.1-56 56-56h83.7c21.7 0 41.4 12.5 50.7 32.2L275 176h53V120c0-13.3 10.7-24 24-24s24 10.7 24 24v56c39.8 0 72 32.2 72 72v48h64V264.7c0-21.9 8.2-43 22.9-59.2l63.4-69.7c8.9-9.8 24.1-10.5 33.9-1.6s10.5 24.1 1.6 33.9l-63.4 69.7c-6.7 7.4-10.4 17-10.4 26.9V375.3c0 9.9 3.7 19.5 10.4 26.9l63.4 69.7c8.9 9.8 8.2 25-1.6 33.9s-25 8.2-33.9-1.6l-63.4-69.7c-14.7-16.2-22.9-37.3-22.9-59.2V344H465c9.5 16.5 15 35.6 15 56c0 61.9-50.1 112-112 112H112C50.1 512 0 461.9 0 400c0-30.5 12.2-58.2 32-78.4V224 200 176zM80 292.6c10.1-3 20.9-4.6 32-4.6H368c11.1 0 21.9 1.6 32 4.6V248c0-13.3-10.7-24-24-24H80v68.6zM112 336c-35.3 0-64 28.7-64 64s28.7 64 64 64H368c35.3 0 64-28.7 64-64s-28.7-64-64-64H112zM96 400a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm264-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM256 400a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm-56-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faPlusMinus = {\n prefix: 'far',\n iconName: 'plus-minus',\n icon: [384, 512, [], \"e43c\", \"M216 32c0-13.3-10.7-24-24-24s-24 10.7-24 24V152H48c-13.3 0-24 10.7-24 24s10.7 24 24 24H168V320c0 13.3 10.7 24 24 24s24-10.7 24-24V200H336c13.3 0 24-10.7 24-24s-10.7-24-24-24H216V32zM8 488c0 13.3 10.7 24 24 24H352c13.3 0 24-10.7 24-24s-10.7-24-24-24H32c-13.3 0-24 10.7-24 24z\"]\n};\nvar faSquareSlidersVertical = {\n prefix: 'far',\n iconName: 'square-sliders-vertical',\n icon: [448, 512, [\"sliders-v-square\"], \"f3f2\", \"M384 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm80 96c-13.3 0-24 10.7-24 24v32H104c-13.3 0-24 10.7-24 24s10.7 24 24 24h16V360c0 13.3 10.7 24 24 24s24-10.7 24-24V232h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H168V152c0-13.3-10.7-24-24-24zm184 24c0-13.3-10.7-24-24-24s-24 10.7-24 24V280H264c-13.3 0-24 10.7-24 24s10.7 24 24 24h16v32c0 13.3 10.7 24 24 24s24-10.7 24-24V328h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H328V152z\"]\n};\nvar faSlidersVSquare = faSquareSlidersVertical;\nvar faVideo = {\n prefix: 'far',\n iconName: 'video',\n icon: [576, 512, [\"video-camera\"], \"f03d\", \"M64 112c-8.8 0-16 7.2-16 16V384c0 8.8 7.2 16 16 16H320c8.8 0 16-7.2 16-16V128c0-8.8-7.2-16-16-16H64zM0 128C0 92.7 28.7 64 64 64H320c35.3 0 64 28.7 64 64v33V351v33c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128zM528 363.4V148.6L416 199V146.4L520.3 99.5c5.1-2.3 10.6-3.5 16.2-3.5c21.8 0 39.5 17.7 39.5 39.5v241c0 21.8-17.7 39.5-39.5 39.5c-5.6 0-11.1-1.2-16.2-3.5L416 365.6V313l112 50.4z\"]\n};\nvar faVideoCamera = faVideo;\nvar faMessageMiddle = {\n prefix: 'far',\n iconName: 'message-middle',\n icon: [512, 512, [\"comment-middle-alt\"], \"e1e1\", \"M343.5 368H448c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16V352c0 8.8 7.2 16 16 16H168.5c14.2 0 27.8 6.3 36.9 17.3L256 446l50.6-60.7c9.1-10.9 22.6-17.3 36.9-17.3zm-175 48H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H343.5l-75.2 90.2c-3 3.6-7.5 5.8-12.3 5.8s-9.3-2.1-12.3-5.8L168.5 416z\"]\n};\nvar faCommentMiddleAlt = faMessageMiddle;\nvar faGraduationCap = {\n prefix: 'far',\n iconName: 'graduation-cap',\n icon: [640, 512, [127891, \"mortar-board\"], \"f19d\", \"M320 80c2.5 0 5 .4 7.4 1.3l218 78.7-218 78.7c-2.4 .9-4.9 1.3-7.4 1.3s-5-.4-7.4-1.3L184.9 192.6l140.8-52.8c8.3-3.1 12.5-12.3 9.4-20.6s-12.3-12.5-20.6-9.4L154.9 169.6c-5.2 2-10.3 4.2-15.3 6.6L94.7 160l218-78.7c2.4-.9 4.9-1.3 7.4-1.3zM15.8 182.6l77.4 27.9c-27.2 28.7-43.7 66.7-45.1 107.7c-.1 .6-.1 1.2-.1 1.8c0 28.4-10.8 57.8-22.3 80.8c-6.5 13-13.9 25.8-22.5 37.6C0 442.7-.9 448.3 .9 453.4s6 8.9 11.2 10.2l64 16c4.2 1.1 8.7 .3 12.4-2s6.3-6.1 7.1-10.4c8.6-42.8 4.3-81.2-2.1-108.7c-3.2-14-7.5-28.3-13.4-41.5c1.9-37 19.2-70.9 46.7-94.2l169.5 61.2c7.6 2.7 15.6 4.1 23.7 4.1s16.1-1.4 23.7-4.1L624.2 182.6c9.5-3.4 15.8-12.5 15.8-22.6s-6.3-19.1-15.8-22.6L343.7 36.1C336.1 33.4 328.1 32 320 32s-16.1 1.4-23.7 4.1L15.8 137.4C6.3 140.9 0 149.9 0 160s6.3 19.1 15.8 22.6zm480.8 80l-46.5 16.8 12.7 120.5c-4.8 3.5-12.8 8-24.6 12.6C410 423.6 368 432 320 432s-90-8.4-118.3-19.4c-11.8-4.6-19.8-9.2-24.6-12.6l12.7-120.5-46.5-16.8L128 408c0 35.3 86 72 192 72s192-36.7 192-72L496.7 262.6zM467.4 396a.7 .7 0 1 0 -1.2-.7 .7 .7 0 1 0 1.2 .7zm-294.8 0a.7 .7 0 1 0 1.2-.6 .7 .7 0 1 0 -1.2 .6z\"]\n};\nvar faMortarBoard = faGraduationCap;\nvar faHandHoldingMedical = {\n prefix: 'far',\n iconName: 'hand-holding-medical',\n icon: [576, 512, [], \"e05c\", \"M224 24c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24V80h56c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H320v56c0 13.3-10.7 24-24 24H248c-13.3 0-24-10.7-24-24V176H168c-13.3 0-24-10.7-24-24V104c0-13.3 10.7-24 24-24h56V24zM187.4 352c-7.9 0-15.6 2.3-22.2 6.7L85.3 412c-3.9 2.6-8.6 4-13.3 4H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H64.7l73.8-49.2C153 309.1 170 304 187.4 304H344c35.3 0 64 28.7 64 64c0 .7 0 1.3 0 2l64.9-40c10.7-6.6 22.9-10 35.5-10h7.4c33.3 0 60.3 27 60.3 60.3c0 20.4-10.4 39.5-27.5 50.6l-95.6 61.9c-19.4 12.6-42.1 19.3-65.2 19.3H24c-13.3 0-24-10.7-24-24s10.7-24 24-24H387.7c13.9 0 27.5-4 39.1-11.6l95.6-61.9c3.5-2.3 5.6-6.1 5.6-10.3c0-6.8-5.5-12.3-12.3-12.3h-7.4c-3.6 0-7.2 1-10.3 2.9l-93.5 57.5c-3.8 2.3-8.1 3.6-12.6 3.6H344 320 256c-13.3 0-24-10.7-24-24s10.7-24 24-24h64 24c8.8 0 16-7.2 16-16s-7.2-16-16-16H187.4z\"]\n};\nvar faPersonCircleCheck = {\n prefix: 'far',\n iconName: 'person-circle-check',\n icon: [576, 512, [], \"e53e\", \"M112 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm32 128.1V304h32V176.1c-.7 0-1.5-.1-2.3-.1H146.3c-.8 0-1.5 0-2.3 .1zM144 352V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V223.6L52.9 299.8c-6.5 11.5-21.2 15.6-32.7 9.1s-15.6-21.2-9.1-32.7L69.7 172.7c15.6-27.6 44.9-44.7 76.6-44.7h27.5c31.7 0 61 17.1 76.6 44.7L297 255.1c-11.7 14-21.3 29.9-28.3 47.1c-.6-.8-1.1-1.6-1.6-2.4L224 223.6V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V352H144zm144 16a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm211.3-43.3c-6.2-6.2-16.4-6.2-22.6 0L416 385.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nvar faSquareZ = {\n prefix: 'far',\n iconName: 'square-z',\n icon: [448, 512, [], \"e288\", \"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm136 32H312c9.3 0 17.8 5.4 21.8 13.9s2.6 18.5-3.5 25.6L187.7 336H312c13.3 0 24 10.7 24 24s-10.7 24-24 24H136c-9.3 0-17.8-5.4-21.8-13.9s-2.6-18.5 3.5-25.6L260.3 176H136c-13.3 0-24-10.7-24-24s10.7-24 24-24z\"]\n};\nvar faMessageText = {\n prefix: 'far',\n iconName: 'message-text',\n icon: [512, 512, [\"comment-alt-text\"], \"e1e6\", \"M208 416c0-26.5-21.5-48-48-48H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H448c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H309.3c-10.4 0-20.5 3.4-28.8 9.6L208 432V416zm-.2 76.2l.2-.2 101.3-76H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h48 48v48 4 .3 6.4V496c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L202.7 496l5.1-3.8zM168 112c-13.3 0-24 10.7-24 24s10.7 24 24 24h64V296c0 13.3 10.7 24 24 24s24-10.7 24-24V160h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H256 168z\"]\n};\nvar faCommentAltText = faMessageText;\nvar faTurnUp = {\n prefix: 'far',\n iconName: 'turn-up',\n icon: [384, 512, [10548, \"level-up-alt\"], \"f3bf\", \"M175.6 6.5c9.2-8.7 23.7-8.7 32.9 0l129 121.4c9.3 8.8 14.6 21 14.6 33.7c0 25.6-20.7 46.3-46.3 46.3H264V352c0 88.4-71.6 160-160 160H56c-30.9 0-56-25.1-56-56V424c0-30.9 25.1-56 56-56h56c4.4 0 8-3.6 8-8V208H78.3C52.7 208 32 187.3 32 161.7c0-12.8 5.3-25 14.6-33.7L175.6 6.5zM82.5 160H144c13.3 0 24 10.7 24 24V360c0 30.9-25.1 56-56 56H56c-4.4 0-8 3.6-8 8v32c0 4.4 3.6 8 8 8h48c61.9 0 112-50.1 112-112V184c0-13.3 10.7-24 24-24h61.5L192 57 82.5 160z\"]\n};\nvar faLevelUpAlt = faTurnUp;\nvar icons = {\n fa0: fa0,\n fa1: fa1,\n fa2: fa2,\n fa3: fa3,\n fa4: fa4,\n fa5: fa5,\n fa6: fa6,\n fa7: fa7,\n fa8: fa8,\n fa9: fa9,\n faFillDrip: faFillDrip,\n faArrowsToCircle: faArrowsToCircle,\n faCircleChevronRight: faCircleChevronRight,\n faChevronCircleRight: faChevronCircleRight,\n faWagonCovered: faWagonCovered,\n faLineHeight: faLineHeight,\n faBagel: faBagel,\n faTransporter7: faTransporter7,\n faAt: faAt,\n faRectanglesMixed: faRectanglesMixed,\n faPhoneArrowUpRight: faPhoneArrowUpRight,\n faPhoneArrowUp: faPhoneArrowUp,\n faPhoneOutgoing: faPhoneOutgoing,\n faTrashCan: faTrashCan,\n faTrashAlt: faTrashAlt,\n faCircleL: faCircleL,\n faHeadSideGoggles: faHeadSideGoggles,\n faHeadVr: faHeadVr,\n faTextHeight: faTextHeight,\n faUserXmark: faUserXmark,\n faUserTimes: faUserTimes,\n faFaceHandYawn: faFaceHandYawn,\n faGaugeSimpleMin: faGaugeSimpleMin,\n faTachometerSlowest: faTachometerSlowest,\n faStethoscope: faStethoscope,\n faCoffin: faCoffin,\n faMessage: faMessage,\n faCommentAlt: faCommentAlt,\n faSalad: faSalad,\n faBowlSalad: faBowlSalad,\n faInfo: faInfo,\n faRobotAstromech: faRobotAstromech,\n faRingDiamond: faRingDiamond,\n faFonduePot: faFonduePot,\n faTheta: faTheta,\n faFaceHandPeeking: faFaceHandPeeking,\n faSquareUser: faSquareUser,\n faDownLeftAndUpRightToCenter: faDownLeftAndUpRightToCenter,\n faCompressAlt: faCompressAlt,\n faExplosion: faExplosion,\n faFileLines: faFileLines,\n faFileAlt: faFileAlt,\n faFileText: faFileText,\n faWaveSquare: faWaveSquare,\n faRing: faRing,\n faBuildingUn: faBuildingUn,\n faDiceThree: faDiceThree,\n faTirePressureWarning: faTirePressureWarning,\n faWifiFair: faWifiFair,\n faWifi2: faWifi2,\n faCalendarDays: faCalendarDays,\n faCalendarAlt: faCalendarAlt,\n faMp3Player: faMp3Player,\n faAnchorCircleCheck: faAnchorCircleCheck,\n faTally4: faTally4,\n faRectangleHistory: faRectangleHistory,\n faBuildingCircleArrowRight: faBuildingCircleArrowRight,\n faVolleyball: faVolleyball,\n faVolleyballBall: faVolleyballBall,\n faSunHaze: faSunHaze,\n faTextSize: faTextSize,\n faUfo: faUfo,\n faFork: faFork,\n faUtensilFork: faUtensilFork,\n faArrowsUpToLine: faArrowsUpToLine,\n faMobileSignal: faMobileSignal,\n faBarcodeScan: faBarcodeScan,\n faSortDown: faSortDown,\n faSortDesc: faSortDesc,\n faFolderArrowDown: faFolderArrowDown,\n faFolderDownload: faFolderDownload,\n faCircleMinus: faCircleMinus,\n faMinusCircle: faMinusCircle,\n faFaceIcicles: faFaceIcicles,\n faShovel: faShovel,\n faDoorOpen: faDoorOpen,\n faFilms: faFilms,\n faRightFromBracket: faRightFromBracket,\n faSignOutAlt: faSignOutAlt,\n faFaceGlasses: faFaceGlasses,\n faNfc: faNfc,\n faAtom: faAtom,\n faSoap: faSoap,\n faIcons: faIcons,\n faHeartMusicCameraBolt: faHeartMusicCameraBolt,\n faMicrophoneLinesSlash: faMicrophoneLinesSlash,\n faMicrophoneAltSlash: faMicrophoneAltSlash,\n faClosedCaptioningSlash: faClosedCaptioningSlash,\n faCalculatorSimple: faCalculatorSimple,\n faCalculatorAlt: faCalculatorAlt,\n faBridgeCircleCheck: faBridgeCircleCheck,\n faSlidersUp: faSlidersUp,\n faSlidersV: faSlidersV,\n faLocationMinus: faLocationMinus,\n faMapMarkerMinus: faMapMarkerMinus,\n faPumpMedical: faPumpMedical,\n faFingerprint: faFingerprint,\n faSkiBoot: faSkiBoot,\n faStandardDefinition: faStandardDefinition,\n faRectangleSd: faRectangleSd,\n faH1: faH1,\n faHandPointRight: faHandPointRight,\n faMagnifyingGlassLocation: faMagnifyingGlassLocation,\n faSearchLocation: faSearchLocation,\n faMessageBot: faMessageBot,\n faForwardStep: faForwardStep,\n faStepForward: faStepForward,\n faFaceSmileBeam: faFaceSmileBeam,\n faSmileBeam: faSmileBeam,\n faLightCeiling: faLightCeiling,\n faMessageExclamation: faMessageExclamation,\n faCommentAltExclamation: faCommentAltExclamation,\n faBowlScoop: faBowlScoop,\n faBowlShavedIce: faBowlShavedIce,\n faSquareX: faSquareX,\n faBuildingMemo: faBuildingMemo,\n faUtilityPoleDouble: faUtilityPoleDouble,\n faFlagCheckered: faFlagCheckered,\n faChevronsUp: faChevronsUp,\n faChevronDoubleUp: faChevronDoubleUp,\n faFootball: faFootball,\n faFootballBall: faFootballBall,\n faUserVneck: faUserVneck,\n faSchoolCircleExclamation: faSchoolCircleExclamation,\n faCrop: faCrop,\n faAnglesDown: faAnglesDown,\n faAngleDoubleDown: faAngleDoubleDown,\n faUsersRectangle: faUsersRectangle,\n faPeopleRoof: faPeopleRoof,\n faSquareArrowRight: faSquareArrowRight,\n faArrowSquareRight: faArrowSquareRight,\n faLocationPlus: faLocationPlus,\n faMapMarkerPlus: faMapMarkerPlus,\n faLightbulbExclamationOn: faLightbulbExclamationOn,\n faPeopleLine: faPeopleLine,\n faBeerMugEmpty: faBeerMugEmpty,\n faBeer: faBeer,\n faCrateEmpty: faCrateEmpty,\n faDiagramPredecessor: faDiagramPredecessor,\n faTransporter: faTransporter,\n faCalendarCircleUser: faCalendarCircleUser,\n faArrowUpLong: faArrowUpLong,\n faLongArrowUp: faLongArrowUp,\n faPersonCarryBox: faPersonCarryBox,\n faPersonCarry: faPersonCarry,\n faFireFlameSimple: faFireFlameSimple,\n faBurn: faBurn,\n faPerson: faPerson,\n faMale: faMale,\n faLaptop: faLaptop,\n faFileCsv: faFileCsv,\n faMenorah: faMenorah,\n faUnion: faUnion,\n faChevronsLeft: faChevronsLeft,\n faChevronDoubleLeft: faChevronDoubleLeft,\n faCircleHeart: faCircleHeart,\n faHeartCircle: faHeartCircle,\n faTruckPlane: faTruckPlane,\n faRecordVinyl: faRecordVinyl,\n faBringForward: faBringForward,\n faSquareP: faSquareP,\n faFaceGrinStars: faFaceGrinStars,\n faGrinStars: faGrinStars,\n faSigma: faSigma,\n faCameraMovie: faCameraMovie,\n faBong: faBong,\n faClarinet: faClarinet,\n faTruckFlatbed: faTruckFlatbed,\n faSpaghettiMonsterFlying: faSpaghettiMonsterFlying,\n faPastafarianism: faPastafarianism,\n faArrowDownUpAcrossLine: faArrowDownUpAcrossLine,\n faArrowsRotateReverse: faArrowsRotateReverse,\n faLeafHeart: faLeafHeart,\n faHouseBuilding: faHouseBuilding,\n faCheeseSwiss: faCheeseSwiss,\n faSpoon: faSpoon,\n faUtensilSpoon: faUtensilSpoon,\n faJarWheat: faJarWheat,\n faEnvelopesBulk: faEnvelopesBulk,\n faMailBulk: faMailBulk,\n faFileCircleExclamation: faFileCircleExclamation,\n faBowArrow: faBowArrow,\n faCartXmark: faCartXmark,\n faHexagonXmark: faHexagonXmark,\n faTimesHexagon: faTimesHexagon,\n faXmarkHexagon: faXmarkHexagon,\n faCircleH: faCircleH,\n faHospitalSymbol: faHospitalSymbol,\n faMerge: faMerge,\n faPager: faPager,\n faCartMinus: faCartMinus,\n faAddressBook: faAddressBook,\n faContactBook: faContactBook,\n faPanFrying: faPanFrying,\n faGrid: faGrid,\n faGrid3: faGrid3,\n faFootballHelmet: faFootballHelmet,\n faHandLove: faHandLove,\n faTrees: faTrees,\n faStrikethrough: faStrikethrough,\n faPage: faPage,\n faK: faK,\n faDiagramPrevious: faDiagramPrevious,\n faGaugeMin: faGaugeMin,\n faTachometerAltSlowest: faTachometerAltSlowest,\n faFolderGrid: faFolderGrid,\n faEggplant: faEggplant,\n faExcavator: faExcavator,\n faRam: faRam,\n faLandmarkFlag: faLandmarkFlag,\n faLips: faLips,\n faPencil: faPencil,\n faPencilAlt: faPencilAlt,\n faBackward: faBackward,\n faCaretRight: faCaretRight,\n faComments: faComments,\n faPaste: faPaste,\n faFileClipboard: faFileClipboard,\n faDesktopArrowDown: faDesktopArrowDown,\n faCodePullRequest: faCodePullRequest,\n faPumpkin: faPumpkin,\n faClipboardList: faClipboardList,\n faPenField: faPenField,\n faBlueberries: faBlueberries,\n faTruckRampBox: faTruckRampBox,\n faTruckLoading: faTruckLoading,\n faNote: faNote,\n faArrowDownToSquare: faArrowDownToSquare,\n faUserCheck: faUserCheck,\n faCloudXmark: faCloudXmark,\n faVialVirus: faVialVirus,\n faBookBlank: faBookBlank,\n faBookAlt: faBookAlt,\n faGolfFlagHole: faGolfFlagHole,\n faMessageArrowDown: faMessageArrowDown,\n faCommentAltArrowDown: faCommentAltArrowDown,\n faFaceUnamused: faFaceUnamused,\n faSheetPlastic: faSheetPlastic,\n faCircle9: faCircle9,\n faBlog: faBlog,\n faUserNinja: faUserNinja,\n faPencilSlash: faPencilSlash,\n faBowlingPins: faBowlingPins,\n faPersonArrowUpFromLine: faPersonArrowUpFromLine,\n faDownRight: faDownRight,\n faScrollTorah: faScrollTorah,\n faTorah: faTorah,\n faWebhook: faWebhook,\n faBlindsOpen: faBlindsOpen,\n faFence: faFence,\n faUp: faUp,\n faArrowAltUp: faArrowAltUp,\n faBroomBall: faBroomBall,\n faQuidditch: faQuidditch,\n faQuidditchBroomBall: faQuidditchBroomBall,\n faDrumstick: faDrumstick,\n faSquareV: faSquareV,\n faFaceAwesome: faFaceAwesome,\n faGaveDandy: faGaveDandy,\n faDialOff: faDialOff,\n faToggleOff: faToggleOff,\n faFaceSmileHorns: faFaceSmileHorns,\n faBoxArchive: faBoxArchive,\n faArchive: faArchive,\n faGrapes: faGrapes,\n faPersonDrowning: faPersonDrowning,\n faDialMax: faDialMax,\n faCircleM: faCircleM,\n faCalendarImage: faCalendarImage,\n faCircleCaretDown: faCircleCaretDown,\n faCaretCircleDown: faCaretCircleDown,\n faArrowDown91: faArrowDown91,\n faSortNumericDesc: faSortNumericDesc,\n faSortNumericDownAlt: faSortNumericDownAlt,\n faFaceGrinTongueSquint: faFaceGrinTongueSquint,\n faGrinTongueSquint: faGrinTongueSquint,\n faShishKebab: faShishKebab,\n faSprayCan: faSprayCan,\n faAlarmSnooze: faAlarmSnooze,\n faScarecrow: faScarecrow,\n faTruckMonster: faTruckMonster,\n faGiftCard: faGiftCard,\n faW: faW,\n faCodePullRequestDraft: faCodePullRequestDraft,\n faSquareB: faSquareB,\n faElephant: faElephant,\n faEarthAfrica: faEarthAfrica,\n faGlobeAfrica: faGlobeAfrica,\n faRainbow: faRainbow,\n faCircleNotch: faCircleNotch,\n faTabletScreenButton: faTabletScreenButton,\n faTabletAlt: faTabletAlt,\n faPaw: faPaw,\n faMessageQuestion: faMessageQuestion,\n faCloud: faCloud,\n faTrowelBricks: faTrowelBricks,\n faSquare3: faSquare3,\n faFaceFlushed: faFaceFlushed,\n faFlushed: faFlushed,\n faHospitalUser: faHospitalUser,\n faMicrowave: faMicrowave,\n faChfSign: faChfSign,\n faTentArrowLeftRight: faTentArrowLeftRight,\n faCartCircleArrowUp: faCartCircleArrowUp,\n faTrashClock: faTrashClock,\n faReflectBoth: faReflectBoth,\n faGavel: faGavel,\n faLegal: faLegal,\n faSprinklerCeiling: faSprinklerCeiling,\n faBrowsers: faBrowsers,\n faTrillium: faTrillium,\n faMusicSlash: faMusicSlash,\n faTruckRamp: faTruckRamp,\n faBinoculars: faBinoculars,\n faMicrophoneSlash: faMicrophoneSlash,\n faBoxTissue: faBoxTissue,\n faCircleC: faCircleC,\n faStarChristmas: faStarChristmas,\n faChartBullet: faChartBullet,\n faMotorcycle: faMotorcycle,\n faTreeChristmas: faTreeChristmas,\n faTireFlat: faTireFlat,\n faSunglasses: faSunglasses,\n faBadge: faBadge,\n faMessagePen: faMessagePen,\n faCommentAltEdit: faCommentAltEdit,\n faMessageEdit: faMessageEdit,\n faBellConcierge: faBellConcierge,\n faConciergeBell: faConciergeBell,\n faPenRuler: faPenRuler,\n faPencilRuler: faPencilRuler,\n faFileMp3: faFileMp3,\n faArrowProgress: faArrowProgress,\n faChessRookPiece: faChessRookPiece,\n faChessRookAlt: faChessRookAlt,\n faSquareRoot: faSquareRoot,\n faAlbumCollectionCirclePlus: faAlbumCollectionCirclePlus,\n faPeopleArrows: faPeopleArrows,\n faPeopleArrowsLeftRight: faPeopleArrowsLeftRight,\n faSignPost: faSignPost,\n faFaceAngryHorns: faFaceAngryHorns,\n faMarsAndVenusBurst: faMarsAndVenusBurst,\n faTombstone: faTombstone,\n faSquareCaretRight: faSquareCaretRight,\n faCaretSquareRight: faCaretSquareRight,\n faScissors: faScissors,\n faCut: faCut,\n faListMusic: faListMusic,\n faSunPlantWilt: faSunPlantWilt,\n faToiletsPortable: faToiletsPortable,\n faHockeyPuck: faHockeyPuck,\n faMustache: faMustache,\n faHyphen: faHyphen,\n faTable: faTable,\n faUserChef: faUserChef,\n faMessageImage: faMessageImage,\n faCommentAltImage: faCommentAltImage,\n faUsersMedical: faUsersMedical,\n faSensorTriangleExclamation: faSensorTriangleExclamation,\n faSensorAlert: faSensorAlert,\n faMagnifyingGlassArrowRight: faMagnifyingGlassArrowRight,\n faTachographDigital: faTachographDigital,\n faDigitalTachograph: faDigitalTachograph,\n faFaceMask: faFaceMask,\n faPickleball: faPickleball,\n faStarSharpHalf: faStarSharpHalf,\n faUsersSlash: faUsersSlash,\n faClover: faClover,\n faMeat: faMeat,\n faReply: faReply,\n faMailReply: faMailReply,\n faStarAndCrescent: faStarAndCrescent,\n faEmptySet: faEmptySet,\n faHouseFire: faHouseFire,\n faSquareMinus: faSquareMinus,\n faMinusSquare: faMinusSquare,\n faHelicopter: faHelicopter,\n faBird: faBird,\n faCompass: faCompass,\n faSquareCaretDown: faSquareCaretDown,\n faCaretSquareDown: faCaretSquareDown,\n faHeartHalfStroke: faHeartHalfStroke,\n faHeartHalfAlt: faHeartHalfAlt,\n faFileCircleQuestion: faFileCircleQuestion,\n faTruckUtensils: faTruckUtensils,\n faLaptopCode: faLaptopCode,\n faJoystick: faJoystick,\n faGrillFire: faGrillFire,\n faRectangleVerticalHistory: faRectangleVerticalHistory,\n faSwatchbook: faSwatchbook,\n faPrescriptionBottle: faPrescriptionBottle,\n faBars: faBars,\n faNavicon: faNavicon,\n faKeyboardLeft: faKeyboardLeft,\n faPeopleGroup: faPeopleGroup,\n faHourglassEnd: faHourglassEnd,\n faHourglass3: faHourglass3,\n faHeartCrack: faHeartCrack,\n faHeartBroken: faHeartBroken,\n faFaceBeamHandOverMouth: faFaceBeamHandOverMouth,\n faDropletPercent: faDropletPercent,\n faHumidity: faHumidity,\n faSquareUpRight: faSquareUpRight,\n faExternalLinkSquareAlt: faExternalLinkSquareAlt,\n faFaceKissBeam: faFaceKissBeam,\n faKissBeam: faKissBeam,\n faCorn: faCorn,\n faRollerCoaster: faRollerCoaster,\n faPhotoFilmMusic: faPhotoFilmMusic,\n faRadar: faRadar,\n faSickle: faSickle,\n faFilm: faFilm,\n faCoconut: faCoconut,\n faRulerHorizontal: faRulerHorizontal,\n faShieldCross: faShieldCross,\n faCassetteTape: faCassetteTape,\n faSquareTerminal: faSquareTerminal,\n faPeopleRobbery: faPeopleRobbery,\n faLightbulb: faLightbulb,\n faCaretLeft: faCaretLeft,\n faCommentMiddle: faCommentMiddle,\n faTrashCanList: faTrashCanList,\n faBlock: faBlock,\n faCircleExclamation: faCircleExclamation,\n faExclamationCircle: faExclamationCircle,\n faSchoolCircleXmark: faSchoolCircleXmark,\n faArrowRightFromBracket: faArrowRightFromBracket,\n faSignOut: faSignOut,\n faFaceFrownSlight: faFaceFrownSlight,\n faCircleChevronDown: faCircleChevronDown,\n faChevronCircleDown: faChevronCircleDown,\n faSidebarFlip: faSidebarFlip,\n faUnlockKeyhole: faUnlockKeyhole,\n faUnlockAlt: faUnlockAlt,\n faTemperatureList: faTemperatureList,\n faCloudShowersHeavy: faCloudShowersHeavy,\n faHeadphonesSimple: faHeadphonesSimple,\n faHeadphonesAlt: faHeadphonesAlt,\n faSitemap: faSitemap,\n faPipeSection: faPipeSection,\n faSpaceStationMoonConstruction: faSpaceStationMoonConstruction,\n faSpaceStationMoonAlt: faSpaceStationMoonAlt,\n faCircleDollarToSlot: faCircleDollarToSlot,\n faDonate: faDonate,\n faMemory: faMemory,\n faFaceSleeping: faFaceSleeping,\n faRoadSpikes: faRoadSpikes,\n faFireBurner: faFireBurner,\n faSquirrel: faSquirrel,\n faArrowUpToLine: faArrowUpToLine,\n faArrowToTop: faArrowToTop,\n faFlag: faFlag,\n faFaceCowboyHat: faFaceCowboyHat,\n faHanukiah: faHanukiah,\n faChartScatter3d: faChartScatter3d,\n faDisplayChartUp: faDisplayChartUp,\n faSquareCode: faSquareCode,\n faFeather: faFeather,\n faVolumeLow: faVolumeLow,\n faVolumeDown: faVolumeDown,\n faXmarkToSlot: faXmarkToSlot,\n faTimesToSlot: faTimesToSlot,\n faVoteNay: faVoteNay,\n faBoxTaped: faBoxTaped,\n faBoxAlt: faBoxAlt,\n faCommentSlash: faCommentSlash,\n faSwords: faSwords,\n faCloudSunRain: faCloudSunRain,\n faAlbum: faAlbum,\n faCircleN: faCircleN,\n faCompress: faCompress,\n faWheatAwn: faWheatAwn,\n faWheatAlt: faWheatAlt,\n faAnkh: faAnkh,\n faHandsHoldingChild: faHandsHoldingChild,\n faAsterisk: faAsterisk,\n faKeySkeletonLeftRight: faKeySkeletonLeftRight,\n faCommentLines: faCommentLines,\n faLuchadorMask: faLuchadorMask,\n faLuchador: faLuchador,\n faMaskLuchador: faMaskLuchador,\n faSquareCheck: faSquareCheck,\n faCheckSquare: faCheckSquare,\n faShredder: faShredder,\n faBookOpenCover: faBookOpenCover,\n faBookOpenAlt: faBookOpenAlt,\n faSandwich: faSandwich,\n faPesetaSign: faPesetaSign,\n faSquareParkingSlash: faSquareParkingSlash,\n faParkingSlash: faParkingSlash,\n faTrainTunnel: faTrainTunnel,\n faHeading: faHeading,\n faHeader: faHeader,\n faGhost: faGhost,\n faFaceAnguished: faFaceAnguished,\n faHockeySticks: faHockeySticks,\n faAbacus: faAbacus,\n faFilmSimple: faFilmSimple,\n faFilmAlt: faFilmAlt,\n faList: faList,\n faListSquares: faListSquares,\n faTreePalm: faTreePalm,\n faSquarePhoneFlip: faSquarePhoneFlip,\n faPhoneSquareAlt: faPhoneSquareAlt,\n faCartPlus: faCartPlus,\n faGamepad: faGamepad,\n faBorderCenterV: faBorderCenterV,\n faCircleDot: faCircleDot,\n faDotCircle: faDotCircle,\n faClipboardMedical: faClipboardMedical,\n faFaceDizzy: faFaceDizzy,\n faDizzy: faDizzy,\n faEgg: faEgg,\n faUpToLine: faUpToLine,\n faArrowAltToTop: faArrowAltToTop,\n faHouseMedicalCircleXmark: faHouseMedicalCircleXmark,\n faWatchFitness: faWatchFitness,\n faClockNineThirty: faClockNineThirty,\n faCampground: faCampground,\n faFolderPlus: faFolderPlus,\n faJug: faJug,\n faFutbol: faFutbol,\n faFutbolBall: faFutbolBall,\n faSoccerBall: faSoccerBall,\n faSnowBlowing: faSnowBlowing,\n faPaintbrush: faPaintbrush,\n faPaintBrush: faPaintBrush,\n faLock: faLock,\n faArrowDownFromLine: faArrowDownFromLine,\n faArrowFromTop: faArrowFromTop,\n faGasPump: faGasPump,\n faSignalBarsSlash: faSignalBarsSlash,\n faSignalAltSlash: faSignalAltSlash,\n faMonkey: faMonkey,\n faRectanglePro: faRectanglePro,\n faPro: faPro,\n faHouseNight: faHouseNight,\n faHotTubPerson: faHotTubPerson,\n faHotTub: faHotTub,\n faGlobePointer: faGlobePointer,\n faBlanket: faBlanket,\n faMapLocation: faMapLocation,\n faMapMarked: faMapMarked,\n faHouseFloodWater: faHouseFloodWater,\n faCommentsQuestionCheck: faCommentsQuestionCheck,\n faTree: faTree,\n faArrowsCross: faArrowsCross,\n faBackpack: faBackpack,\n faSquareSmall: faSquareSmall,\n faFolderArrowUp: faFolderArrowUp,\n faFolderUpload: faFolderUpload,\n faBridgeLock: faBridgeLock,\n faCrosshairsSimple: faCrosshairsSimple,\n faSackDollar: faSackDollar,\n faPenToSquare: faPenToSquare,\n faEdit: faEdit,\n faSquareSliders: faSquareSliders,\n faSlidersHSquare: faSlidersHSquare,\n faCarSide: faCarSide,\n faMessageMiddleTop: faMessageMiddleTop,\n faCommentMiddleTopAlt: faCommentMiddleTopAlt,\n faLightbulbOn: faLightbulbOn,\n faKnife: faKnife,\n faUtensilKnife: faUtensilKnife,\n faShareNodes: faShareNodes,\n faShareAlt: faShareAlt,\n faDisplayChartUpCircleDollar: faDisplayChartUpCircleDollar,\n faWaveSine: faWaveSine,\n faHeartCircleMinus: faHeartCircleMinus,\n faCircleW: faCircleW,\n faCircleCalendar: faCircleCalendar,\n faCalendarCircle: faCalendarCircle,\n faHourglassHalf: faHourglassHalf,\n faHourglass2: faHourglass2,\n faMicroscope: faMicroscope,\n faSunset: faSunset,\n faSink: faSink,\n faCalendarExclamation: faCalendarExclamation,\n faTruckContainerEmpty: faTruckContainerEmpty,\n faHandHeart: faHandHeart,\n faBagShopping: faBagShopping,\n faShoppingBag: faShoppingBag,\n faArrowDownZA: faArrowDownZA,\n faSortAlphaDesc: faSortAlphaDesc,\n faSortAlphaDownAlt: faSortAlphaDownAlt,\n faMitten: faMitten,\n faReplyClock: faReplyClock,\n faReplyTime: faReplyTime,\n faPersonRays: faPersonRays,\n faRight: faRight,\n faArrowAltRight: faArrowAltRight,\n faCircleF: faCircleF,\n faUsers: faUsers,\n faFacePleading: faFacePleading,\n faEyeSlash: faEyeSlash,\n faFlaskVial: faFlaskVial,\n faPoliceBox: faPoliceBox,\n faCucumber: faCucumber,\n faHeadSideBrain: faHeadSideBrain,\n faHand: faHand,\n faHandPaper: faHandPaper,\n faPersonBikingMountain: faPersonBikingMountain,\n faBikingMountain: faBikingMountain,\n faUtensilsSlash: faUtensilsSlash,\n faPrintMagnifyingGlass: faPrintMagnifyingGlass,\n faPrintSearch: faPrintSearch,\n faTurnRight: faTurnRight,\n faFolderBookmark: faFolderBookmark,\n faArrowTurnLeftDown: faArrowTurnLeftDown,\n faOm: faOm,\n faPi: faPi,\n faFlaskRoundPotion: faFlaskRoundPotion,\n faFlaskPotion: faFlaskPotion,\n faFaceShush: faFaceShush,\n faWorm: faWorm,\n faHouseCircleXmark: faHouseCircleXmark,\n faPlug: faPlug,\n faCalendarCircleExclamation: faCalendarCircleExclamation,\n faSquareI: faSquareI,\n faChevronUp: faChevronUp,\n faFaceSaluting: faFaceSaluting,\n faGaugeSimpleLow: faGaugeSimpleLow,\n faTachometerSlow: faTachometerSlow,\n faFacePersevering: faFacePersevering,\n faCircleCamera: faCircleCamera,\n faCameraCircle: faCameraCircle,\n faHandSpock: faHandSpock,\n faSpiderWeb: faSpiderWeb,\n faCircleMicrophone: faCircleMicrophone,\n faMicrophoneCircle: faMicrophoneCircle,\n faBookArrowUp: faBookArrowUp,\n faPopsicle: faPopsicle,\n faCommand: faCommand,\n faBlinds: faBlinds,\n faStopwatch: faStopwatch,\n faSaxophone: faSaxophone,\n faSquare2: faSquare2,\n faFieldHockeyStickBall: faFieldHockeyStickBall,\n faFieldHockey: faFieldHockey,\n faArrowUpSquareTriangle: faArrowUpSquareTriangle,\n faSortShapesUpAlt: faSortShapesUpAlt,\n faFaceScream: faFaceScream,\n faSquareM: faSquareM,\n faCameraWeb: faCameraWeb,\n faWebcam: faWebcam,\n faCommentArrowDown: faCommentArrowDown,\n faLightbulbCfl: faLightbulbCfl,\n faWindowFrameOpen: faWindowFrameOpen,\n faFaceKiss: faFaceKiss,\n faKiss: faKiss,\n faBridgeCircleXmark: faBridgeCircleXmark,\n faPeriod: faPeriod,\n faFaceGrinTongue: faFaceGrinTongue,\n faGrinTongue: faGrinTongue,\n faUpToDottedLine: faUpToDottedLine,\n faThoughtBubble: faThoughtBubble,\n faSkeletonRibs: faSkeletonRibs,\n faRaygun: faRaygun,\n faFlute: faFlute,\n faAcorn: faAcorn,\n faVideoArrowUpRight: faVideoArrowUpRight,\n faGrateDroplet: faGrateDroplet,\n faSealExclamation: faSealExclamation,\n faChessBishop: faChessBishop,\n faMessageSms: faMessageSms,\n faCoffeeBeans: faCoffeeBeans,\n faHatWitch: faHatWitch,\n faFaceGrinWink: faFaceGrinWink,\n faGrinWink: faGrinWink,\n faClockThreeThirty: faClockThreeThirty,\n faEarDeaf: faEarDeaf,\n faDeaf: faDeaf,\n faDeafness: faDeafness,\n faHardOfHearing: faHardOfHearing,\n faAlarmClock: faAlarmClock,\n faEclipse: faEclipse,\n faFaceRelieved: faFaceRelieved,\n faRoadCircleCheck: faRoadCircleCheck,\n faDiceFive: faDiceFive,\n faOctagonMinus: faOctagonMinus,\n faMinusOctagon: faMinusOctagon,\n faSquareRss: faSquareRss,\n faRssSquare: faRssSquare,\n faFaceZany: faFaceZany,\n faTricycle: faTricycle,\n faLandMineOn: faLandMineOn,\n faSquareArrowUpLeft: faSquareArrowUpLeft,\n faICursor: faICursor,\n faChartMixedUpCircleDollar: faChartMixedUpCircleDollar,\n faSaltShaker: faSaltShaker,\n faStamp: faStamp,\n faFilePlus: faFilePlus,\n faDrawSquare: faDrawSquare,\n faToiletPaperUnderSlash: faToiletPaperUnderSlash,\n faToiletPaperReverseSlash: faToiletPaperReverseSlash,\n faStairs: faStairs,\n faDroneFront: faDroneFront,\n faDroneAlt: faDroneAlt,\n faGlassEmpty: faGlassEmpty,\n faDialHigh: faDialHigh,\n faUserHelmetSafety: faUserHelmetSafety,\n faUserConstruction: faUserConstruction,\n faUserHardHat: faUserHardHat,\n faI: faI,\n faHryvniaSign: faHryvniaSign,\n faHryvnia: faHryvnia,\n faArrowDownLeftAndArrowUpRightToCenter: faArrowDownLeftAndArrowUpRightToCenter,\n faPills: faPills,\n faFaceGrinWide: faFaceGrinWide,\n faGrinAlt: faGrinAlt,\n faTooth: faTooth,\n faBasketballHoop: faBasketballHoop,\n faObjectsAlignBottom: faObjectsAlignBottom,\n faV: faV,\n faSparkles: faSparkles,\n faSquid: faSquid,\n faLeafyGreen: faLeafyGreen,\n faCircleArrowUpRight: faCircleArrowUpRight,\n faCalendars: faCalendars,\n faBangladeshiTakaSign: faBangladeshiTakaSign,\n faBicycle: faBicycle,\n faHammerWar: faHammerWar,\n faCircleD: faCircleD,\n faSpiderBlackWidow: faSpiderBlackWidow,\n faStaffSnake: faStaffSnake,\n faRodAsclepius: faRodAsclepius,\n faRodSnake: faRodSnake,\n faStaffAesculapius: faStaffAesculapius,\n faPear: faPear,\n faHeadSideCoughSlash: faHeadSideCoughSlash,\n faFileMov: faFileMov,\n faTriangle: faTriangle,\n faApartment: faApartment,\n faTruckMedical: faTruckMedical,\n faAmbulance: faAmbulance,\n faPepper: faPepper,\n faPiano: faPiano,\n faGunSquirt: faGunSquirt,\n faWheatAwnCircleExclamation: faWheatAwnCircleExclamation,\n faSnowman: faSnowman,\n faUserAlien: faUserAlien,\n faShieldCheck: faShieldCheck,\n faMortarPestle: faMortarPestle,\n faRoadBarrier: faRoadBarrier,\n faChartCandlestick: faChartCandlestick,\n faBriefcaseBlank: faBriefcaseBlank,\n faSchool: faSchool,\n faIgloo: faIgloo,\n faBracketRound: faBracketRound,\n faParenthesis: faParenthesis,\n faJoint: faJoint,\n faHorseSaddle: faHorseSaddle,\n faMugMarshmallows: faMugMarshmallows,\n faFilters: faFilters,\n faBellOn: faBellOn,\n faAngleRight: faAngleRight,\n faDialMed: faDialMed,\n faHorse: faHorse,\n faQ: faQ,\n faMonitorWaveform: faMonitorWaveform,\n faMonitorHeartRate: faMonitorHeartRate,\n faLinkSimple: faLinkSimple,\n faWhistle: faWhistle,\n faG: faG,\n faWineGlassCrack: faWineGlassCrack,\n faFragile: faFragile,\n faSlotMachine: faSlotMachine,\n faNotesMedical: faNotesMedical,\n faCarWash: faCarWash,\n faEscalator: faEscalator,\n faCommentImage: faCommentImage,\n faTemperatureHalf: faTemperatureHalf,\n faTemperature2: faTemperature2,\n faThermometer2: faThermometer2,\n faThermometerHalf: faThermometerHalf,\n faDongSign: faDongSign,\n faDonut: faDonut,\n faDoughnut: faDoughnut,\n faCapsules: faCapsules,\n faPooStorm: faPooStorm,\n faPooBolt: faPooBolt,\n faTally1: faTally1,\n faFileVector: faFileVector,\n faFaceFrownOpen: faFaceFrownOpen,\n faFrownOpen: faFrownOpen,\n faSquareDashed: faSquareDashed,\n faBagShoppingPlus: faBagShoppingPlus,\n faSquareJ: faSquareJ,\n faHandPointUp: faHandPointUp,\n faMoneyBill: faMoneyBill,\n faArrowUpBigSmall: faArrowUpBigSmall,\n faSortSizeUp: faSortSizeUp,\n faBarcodeRead: faBarcodeRead,\n faBaguette: faBaguette,\n faBowlSoftServe: faBowlSoftServe,\n faFaceHoldingBackTears: faFaceHoldingBackTears,\n faSquareUp: faSquareUp,\n faArrowAltSquareUp: faArrowAltSquareUp,\n faTrainSubwayTunnel: faTrainSubwayTunnel,\n faSubwayTunnel: faSubwayTunnel,\n faSquareExclamation: faSquareExclamation,\n faExclamationSquare: faExclamationSquare,\n faSemicolon: faSemicolon,\n faBookmark: faBookmark,\n faFanTable: faFanTable,\n faAlignJustify: faAlignJustify,\n faBatteryLow: faBatteryLow,\n faBattery1: faBattery1,\n faCreditCardFront: faCreditCardFront,\n faBrainArrowCurvedRight: faBrainArrowCurvedRight,\n faMindShare: faMindShare,\n faUmbrellaBeach: faUmbrellaBeach,\n faHelmetUn: faHelmetUn,\n faLocationSmile: faLocationSmile,\n faMapMarkerSmile: faMapMarkerSmile,\n faArrowLeftToLine: faArrowLeftToLine,\n faArrowToLeft: faArrowToLeft,\n faBullseye: faBullseye,\n faSushi: faSushi,\n faNigiri: faNigiri,\n faMessageCaptions: faMessageCaptions,\n faCommentAltCaptions: faCommentAltCaptions,\n faTrashList: faTrashList,\n faBacon: faBacon,\n faOption: faOption,\n faRaccoon: faRaccoon,\n faHandPointDown: faHandPointDown,\n faArrowUpFromBracket: faArrowUpFromBracket,\n faHeadSideGear: faHeadSideGear,\n faTrashPlus: faTrashPlus,\n faFileCad: faFileCad,\n faObjectsAlignTop: faObjectsAlignTop,\n faFolder: faFolder,\n faFolderBlank: faFolderBlank,\n faFaceAnxiousSweat: faFaceAnxiousSweat,\n faCreditCardBlank: faCreditCardBlank,\n faFileWaveform: faFileWaveform,\n faFileMedicalAlt: faFileMedicalAlt,\n faMicrochipAi: faMicrochipAi,\n faMug: faMug,\n faPlaneUpSlash: faPlaneUpSlash,\n faRadiation: faRadiation,\n faPenCircle: faPenCircle,\n faBagSeedling: faBagSeedling,\n faChartSimple: faChartSimple,\n faCrutches: faCrutches,\n faCircleParking: faCircleParking,\n faParkingCircle: faParkingCircle,\n faMarsStroke: faMarsStroke,\n faLeafOak: faLeafOak,\n faSquareBolt: faSquareBolt,\n faVial: faVial,\n faGauge: faGauge,\n faDashboard: faDashboard,\n faGaugeMed: faGaugeMed,\n faTachometerAltAverage: faTachometerAltAverage,\n faWandMagicSparkles: faWandMagicSparkles,\n faMagicWandSparkles: faMagicWandSparkles,\n faLambda: faLambda,\n faE: faE,\n faPizza: faPizza,\n faBowlChopsticksNoodles: faBowlChopsticksNoodles,\n faH3: faH3,\n faPenClip: faPenClip,\n faPenAlt: faPenAlt,\n faBridgeCircleExclamation: faBridgeCircleExclamation,\n faBadgePercent: faBadgePercent,\n faRotateReverse: faRotateReverse,\n faUser: faUser,\n faSensor: faSensor,\n faComma: faComma,\n faSchoolCircleCheck: faSchoolCircleCheck,\n faToiletPaperUnder: faToiletPaperUnder,\n faToiletPaperReverse: faToiletPaperReverse,\n faLightEmergency: faLightEmergency,\n faArrowDownToArc: faArrowDownToArc,\n faDumpster: faDumpster,\n faVanShuttle: faVanShuttle,\n faShuttleVan: faShuttleVan,\n faBuildingUser: faBuildingUser,\n faLightSwitch: faLightSwitch,\n faSquareCaretLeft: faSquareCaretLeft,\n faCaretSquareLeft: faCaretSquareLeft,\n faHighlighter: faHighlighter,\n faWavePulse: faWavePulse,\n faHeartRate: faHeartRate,\n faKey: faKey,\n faArrowLeftToBracket: faArrowLeftToBracket,\n faHatSanta: faHatSanta,\n faTamale: faTamale,\n faBoxCheck: faBoxCheck,\n faBullhorn: faBullhorn,\n faSteak: faSteak,\n faLocationCrosshairsSlash: faLocationCrosshairsSlash,\n faLocationSlash: faLocationSlash,\n faPersonDolly: faPersonDolly,\n faGlobe: faGlobe,\n faSynagogue: faSynagogue,\n faFileChartColumn: faFileChartColumn,\n faFileChartLine: faFileChartLine,\n faPersonHalfDress: faPersonHalfDress,\n faFolderImage: faFolderImage,\n faCalendarPen: faCalendarPen,\n faCalendarEdit: faCalendarEdit,\n faRoadBridge: faRoadBridge,\n faFaceSmileTear: faFaceSmileTear,\n faMessagePlus: faMessagePlus,\n faCommentAltPlus: faCommentAltPlus,\n faLocationArrow: faLocationArrow,\n faC: faC,\n faTabletButton: faTabletButton,\n faPersonDressFairy: faPersonDressFairy,\n faRectangleHistoryCircleUser: faRectangleHistoryCircleUser,\n faBuildingLock: faBuildingLock,\n faChartLineUp: faChartLineUp,\n faMailbox: faMailbox,\n faSignPosts: faSignPosts,\n faTruckBolt: faTruckBolt,\n faPizzaSlice: faPizzaSlice,\n faMoneyBillWave: faMoneyBillWave,\n faChartArea: faChartArea,\n faAreaChart: faAreaChart,\n faHouseFlag: faHouseFlag,\n faCircleThreeQuartersStroke: faCircleThreeQuartersStroke,\n faPersonCircleMinus: faPersonCircleMinus,\n faScalpel: faScalpel,\n faBan: faBan,\n faCancel: faCancel,\n faBellExclamation: faBellExclamation,\n faCircleBookmark: faCircleBookmark,\n faBookmarkCircle: faBookmarkCircle,\n faEggFried: faEggFried,\n faFaceWeary: faFaceWeary,\n faUniformMartialArts: faUniformMartialArts,\n faCameraRotate: faCameraRotate,\n faSunDust: faSunDust,\n faCommentText: faCommentText,\n faSprayCanSparkles: faSprayCanSparkles,\n faAirFreshener: faAirFreshener,\n faSignalBars: faSignalBars,\n faSignalAlt: faSignalAlt,\n faSignalAlt4: faSignalAlt4,\n faSignalBarsStrong: faSignalBarsStrong,\n faDiamondExclamation: faDiamondExclamation,\n faStar: faStar,\n faDialMin: faDialMin,\n faRepeat: faRepeat,\n faCross: faCross,\n faPageCaretDown: faPageCaretDown,\n faFileCaretDown: faFileCaretDown,\n faBox: faBox,\n faVenusMars: faVenusMars,\n faClockSevenThirty: faClockSevenThirty,\n faArrowPointer: faArrowPointer,\n faMousePointer: faMousePointer,\n faClockFourThirty: faClockFourThirty,\n faSignalBarsGood: faSignalBarsGood,\n faSignalAlt3: faSignalAlt3,\n faCactus: faCactus,\n faLightbulbGear: faLightbulbGear,\n faMaximize: faMaximize,\n faExpandArrowsAlt: faExpandArrowsAlt,\n faChargingStation: faChargingStation,\n faShapes: faShapes,\n faTriangleCircleSquare: faTriangleCircleSquare,\n faPlaneTail: faPlaneTail,\n faGaugeSimpleMax: faGaugeSimpleMax,\n faTachometerFastest: faTachometerFastest,\n faCircleU: faCircleU,\n faShieldSlash: faShieldSlash,\n faSquarePhoneHangup: faSquarePhoneHangup,\n faPhoneSquareDown: faPhoneSquareDown,\n faArrowUpLeft: faArrowUpLeft,\n faTransporter1: faTransporter1,\n faPeanuts: faPeanuts,\n faShuffle: faShuffle,\n faRandom: faRandom,\n faPersonRunning: faPersonRunning,\n faRunning: faRunning,\n faMobileRetro: faMobileRetro,\n faGripLinesVertical: faGripLinesVertical,\n faBinBottlesRecycle: faBinBottlesRecycle,\n faArrowUpFromSquare: faArrowUpFromSquare,\n faFileDashedLine: faFileDashedLine,\n faPageBreak: faPageBreak,\n faBracketCurlyRight: faBracketCurlyRight,\n faSpider: faSpider,\n faClockThree: faClockThree,\n faHandsBound: faHandsBound,\n faScalpelLineDashed: faScalpelLineDashed,\n faScalpelPath: faScalpelPath,\n faFileInvoiceDollar: faFileInvoiceDollar,\n faPipeSmoking: faPipeSmoking,\n faFaceAstonished: faFaceAstonished,\n faWindow: faWindow,\n faPlaneCircleExclamation: faPlaneCircleExclamation,\n faEar: faEar,\n faFileLock: faFileLock,\n faDiagramVenn: faDiagramVenn,\n faArrowDownFromBracket: faArrowDownFromBracket,\n faXRay: faXRay,\n faGoalNet: faGoalNet,\n faCoffinCross: faCoffinCross,\n faSpellCheck: faSpellCheck,\n faLocationXmark: faLocationXmark,\n faMapMarkerTimes: faMapMarkerTimes,\n faMapMarkerXmark: faMapMarkerXmark,\n faCircleQuarterStroke: faCircleQuarterStroke,\n faLasso: faLasso,\n faSlash: faSlash,\n faPersonToPortal: faPersonToPortal,\n faPortalEnter: faPortalEnter,\n faCalendarStar: faCalendarStar,\n faComputerMouse: faComputerMouse,\n faMouse: faMouse,\n faArrowRightToBracket: faArrowRightToBracket,\n faSignIn: faSignIn,\n faPegasus: faPegasus,\n faFilesMedical: faFilesMedical,\n faCannon: faCannon,\n faNfcLock: faNfcLock,\n faPersonSkiLift: faPersonSkiLift,\n faSkiLift: faSkiLift,\n faSquare6: faSquare6,\n faShopSlash: faShopSlash,\n faStoreAltSlash: faStoreAltSlash,\n faWindTurbine: faWindTurbine,\n faSlidersSimple: faSlidersSimple,\n faGridRound: faGridRound,\n faBadgeSheriff: faBadgeSheriff,\n faServer: faServer,\n faVirusCovidSlash: faVirusCovidSlash,\n faIntersection: faIntersection,\n faShopLock: faShopLock,\n faFamily: faFamily,\n faHourglassStart: faHourglassStart,\n faHourglass1: faHourglass1,\n faUserHairBuns: faUserHairBuns,\n faBlenderPhone: faBlenderPhone,\n faHourglassClock: faHourglassClock,\n faPersonSeatReclined: faPersonSeatReclined,\n faPaperPlaneTop: faPaperPlaneTop,\n faPaperPlaneAlt: faPaperPlaneAlt,\n faSend: faSend,\n faMessageArrowUp: faMessageArrowUp,\n faCommentAltArrowUp: faCommentAltArrowUp,\n faLightbulbExclamation: faLightbulbExclamation,\n faLayerMinus: faLayerMinus,\n faLayerGroupMinus: faLayerGroupMinus,\n faChartPieSimpleCircleCurrency: faChartPieSimpleCircleCurrency,\n faCircleE: faCircleE,\n faBuildingWheat: faBuildingWheat,\n faGaugeMax: faGaugeMax,\n faTachometerAltFastest: faTachometerAltFastest,\n faPersonBreastfeeding: faPersonBreastfeeding,\n faApostrophe: faApostrophe,\n faFilePng: faFilePng,\n faFireHydrant: faFireHydrant,\n faRightToBracket: faRightToBracket,\n faSignInAlt: faSignInAlt,\n faVideoPlus: faVideoPlus,\n faSquareRight: faSquareRight,\n faArrowAltSquareRight: faArrowAltSquareRight,\n faCommentSmile: faCommentSmile,\n faVenus: faVenus,\n faPassport: faPassport,\n faInboxIn: faInboxIn,\n faInboxArrowDown: faInboxArrowDown,\n faHeartPulse: faHeartPulse,\n faHeartbeat: faHeartbeat,\n faCircle8: faCircle8,\n faCloudsMoon: faCloudsMoon,\n faClockTenThirty: faClockTenThirty,\n faPeopleCarryBox: faPeopleCarryBox,\n faPeopleCarry: faPeopleCarry,\n faFolderUser: faFolderUser,\n faTrashCanXmark: faTrashCanXmark,\n faTemperatureHigh: faTemperatureHigh,\n faMicrochip: faMicrochip,\n faLeftLongToLine: faLeftLongToLine,\n faCrown: faCrown,\n faWeightHanging: faWeightHanging,\n faXmarksLines: faXmarksLines,\n faFilePrescription: faFilePrescription,\n faTableCellsLock: faTableCellsLock,\n faCalendarRange: faCalendarRange,\n faFlowerDaffodil: faFlowerDaffodil,\n faHandBackPointUp: faHandBackPointUp,\n faWeightScale: faWeightScale,\n faWeight: faWeight,\n faArrowUpToArc: faArrowUpToArc,\n faStarExclamation: faStarExclamation,\n faBooks: faBooks,\n faUserGroup: faUserGroup,\n faUserFriends: faUserFriends,\n faArrowUpAZ: faArrowUpAZ,\n faSortAlphaUp: faSortAlphaUp,\n faLayerPlus: faLayerPlus,\n faLayerGroupPlus: faLayerGroupPlus,\n faPlayPause: faPlayPause,\n faBlockQuestion: faBlockQuestion,\n faSnooze: faSnooze,\n faZzz: faZzz,\n faScannerImage: faScannerImage,\n faTvRetro: faTvRetro,\n faSquareT: faSquareT,\n faFarm: faFarm,\n faBarnSilo: faBarnSilo,\n faChessKnight: faChessKnight,\n faBarsSort: faBarsSort,\n faPalletBoxes: faPalletBoxes,\n faPaletteBoxes: faPaletteBoxes,\n faPalletAlt: faPalletAlt,\n faFaceLaughSquint: faFaceLaughSquint,\n faLaughSquint: faLaughSquint,\n faCodeSimple: faCodeSimple,\n faBoltSlash: faBoltSlash,\n faPanelFire: faPanelFire,\n faBinaryCircleCheck: faBinaryCircleCheck,\n faCommentMinus: faCommentMinus,\n faBurrito: faBurrito,\n faViolin: faViolin,\n faObjectsColumn: faObjectsColumn,\n faSquareChevronDown: faSquareChevronDown,\n faChevronSquareDown: faChevronSquareDown,\n faCommentPlus: faCommentPlus,\n faTriangleInstrument: faTriangleInstrument,\n faTriangleMusic: faTriangleMusic,\n faWheelchair: faWheelchair,\n faUserPilotTie: faUserPilotTie,\n faPianoKeyboard: faPianoKeyboard,\n faBedEmpty: faBedEmpty,\n faCircleArrowUp: faCircleArrowUp,\n faArrowCircleUp: faArrowCircleUp,\n faToggleOn: faToggleOn,\n faRectangleVertical: faRectangleVertical,\n faRectanglePortrait: faRectanglePortrait,\n faPersonWalking: faPersonWalking,\n faWalking: faWalking,\n faL: faL,\n faSignalStream: faSignalStream,\n faDownToBracket: faDownToBracket,\n faCircleZ: faCircleZ,\n faStars: faStars,\n faFire: faFire,\n faBedPulse: faBedPulse,\n faProcedures: faProcedures,\n faHouseDay: faHouseDay,\n faShuttleSpace: faShuttleSpace,\n faSpaceShuttle: faSpaceShuttle,\n faShirtLongSleeve: faShirtLongSleeve,\n faChartPieSimple: faChartPieSimple,\n faChartPieAlt: faChartPieAlt,\n faFaceLaugh: faFaceLaugh,\n faLaugh: faLaugh,\n faFolderOpen: faFolderOpen,\n faAlbumCollectionCircleUser: faAlbumCollectionCircleUser,\n faCandy: faCandy,\n faBowlHot: faBowlHot,\n faSoup: faSoup,\n faFlatbread: faFlatbread,\n faHeartCirclePlus: faHeartCirclePlus,\n faCodeFork: faCodeFork,\n faCity: faCity,\n faSignalBarsWeak: faSignalBarsWeak,\n faSignalAlt1: faSignalAlt1,\n faMicrophoneLines: faMicrophoneLines,\n faMicrophoneAlt: faMicrophoneAlt,\n faClockTwelve: faClockTwelve,\n faPepperHot: faPepperHot,\n faCitrusSlice: faCitrusSlice,\n faSheep: faSheep,\n faUnlock: faUnlock,\n faColonSign: faColonSign,\n faHeadset: faHeadset,\n faBadgerHoney: faBadgerHoney,\n faH4: faH4,\n faStoreSlash: faStoreSlash,\n faRoadCircleXmark: faRoadCircleXmark,\n faSignalSlash: faSignalSlash,\n faUserMinus: faUserMinus,\n faMarsStrokeUp: faMarsStrokeUp,\n faMarsStrokeV: faMarsStrokeV,\n faChampagneGlasses: faChampagneGlasses,\n faGlassCheers: faGlassCheers,\n faTaco: faTaco,\n faHexagonPlus: faHexagonPlus,\n faPlusHexagon: faPlusHexagon,\n faClipboard: faClipboard,\n faHouseCircleExclamation: faHouseCircleExclamation,\n faFileArrowUp: faFileArrowUp,\n faFileUpload: faFileUpload,\n faWifi: faWifi,\n faWifi3: faWifi3,\n faWifiStrong: faWifiStrong,\n faMessages: faMessages,\n faCommentsAlt: faCommentsAlt,\n faBath: faBath,\n faBathtub: faBathtub,\n faUmbrellaSimple: faUmbrellaSimple,\n faUmbrellaAlt: faUmbrellaAlt,\n faRectangleHistoryCirclePlus: faRectangleHistoryCirclePlus,\n faUnderline: faUnderline,\n faPrescriptionBottlePill: faPrescriptionBottlePill,\n faUserPen: faUserPen,\n faUserEdit: faUserEdit,\n faBinarySlash: faBinarySlash,\n faSquareO: faSquareO,\n faCaduceus: faCaduceus,\n faSignature: faSignature,\n faStroopwafel: faStroopwafel,\n faBold: faBold,\n faAnchorLock: faAnchorLock,\n faBuildingNgo: faBuildingNgo,\n faTransporter3: faTransporter3,\n faEngineWarning: faEngineWarning,\n faEngineExclamation: faEngineExclamation,\n faCircleDownRight: faCircleDownRight,\n faSquareK: faSquareK,\n faManatSign: faManatSign,\n faMoneyCheckPen: faMoneyCheckPen,\n faMoneyCheckEdit: faMoneyCheckEdit,\n faNotEqual: faNotEqual,\n faBorderTopLeft: faBorderTopLeft,\n faBorderStyle: faBorderStyle,\n faMapLocationDot: faMapLocationDot,\n faMapMarkedAlt: faMapMarkedAlt,\n faTilde: faTilde,\n faJedi: faJedi,\n faSquarePollVertical: faSquarePollVertical,\n faPoll: faPoll,\n faArrowDownSquareTriangle: faArrowDownSquareTriangle,\n faSortShapesDownAlt: faSortShapesDownAlt,\n faMugHot: faMugHot,\n faDogLeashed: faDogLeashed,\n faCarBattery: faCarBattery,\n faBatteryCar: faBatteryCar,\n faFaceDowncastSweat: faFaceDowncastSweat,\n faMailboxFlagUp: faMailboxFlagUp,\n faMemoCircleInfo: faMemoCircleInfo,\n faGift: faGift,\n faDiceTwo: faDiceTwo,\n faVolume: faVolume,\n faVolumeMedium: faVolumeMedium,\n faTransporter5: faTransporter5,\n faGaugeCircleBolt: faGaugeCircleBolt,\n faCoinFront: faCoinFront,\n faFileSlash: faFileSlash,\n faMessageArrowUpRight: faMessageArrowUpRight,\n faTreasureChest: faTreasureChest,\n faChessQueen: faChessQueen,\n faPaintbrushFine: faPaintbrushFine,\n faPaintBrushAlt: faPaintBrushAlt,\n faPaintBrushFine: faPaintBrushFine,\n faPaintbrushAlt: faPaintbrushAlt,\n faGlasses: faGlasses,\n faHoodCloak: faHoodCloak,\n faSquareQuote: faSquareQuote,\n faUpLeft: faUpLeft,\n faBringFront: faBringFront,\n faChessBoard: faChessBoard,\n faBurgerCheese: faBurgerCheese,\n faCheeseburger: faCheeseburger,\n faBuildingCircleCheck: faBuildingCircleCheck,\n faRepeat1: faRepeat1,\n faArrowDownToLine: faArrowDownToLine,\n faArrowToBottom: faArrowToBottom,\n faGrid5: faGrid5,\n faSwapArrows: faSwapArrows,\n faRightLongToLine: faRightLongToLine,\n faPersonChalkboard: faPersonChalkboard,\n faMarsStrokeRight: faMarsStrokeRight,\n faMarsStrokeH: faMarsStrokeH,\n faHandBackFist: faHandBackFist,\n faHandRock: faHandRock,\n faGridRound5: faGridRound5,\n faTally: faTally,\n faTally5: faTally5,\n faSquareCaretUp: faSquareCaretUp,\n faCaretSquareUp: faCaretSquareUp,\n faCloudShowersWater: faCloudShowersWater,\n faChartBar: faChartBar,\n faBarChart: faBarChart,\n faHandsBubbles: faHandsBubbles,\n faHandsWash: faHandsWash,\n faLessThanEqual: faLessThanEqual,\n faTrain: faTrain,\n faUpFromDottedLine: faUpFromDottedLine,\n faEyeLowVision: faEyeLowVision,\n faLowVision: faLowVision,\n faTrafficLightGo: faTrafficLightGo,\n faFaceExhaling: faFaceExhaling,\n faSensorFire: faSensorFire,\n faUserUnlock: faUserUnlock,\n faHexagonDivide: faHexagonDivide,\n fa00: fa00,\n faCrow: faCrow,\n faCassetteBetamax: faCassetteBetamax,\n faBetamax: faBetamax,\n faSailboat: faSailboat,\n faWindowRestore: faWindowRestore,\n faNfcMagnifyingGlass: faNfcMagnifyingGlass,\n faFileBinary: faFileBinary,\n faCircleV: faCircleV,\n faSquarePlus: faSquarePlus,\n faPlusSquare: faPlusSquare,\n faBowlScoops: faBowlScoops,\n faMistletoe: faMistletoe,\n faCustard: faCustard,\n faLacrosseStick: faLacrosseStick,\n faHockeyMask: faHockeyMask,\n faSunrise: faSunrise,\n faSubtitles: faSubtitles,\n faPanelEws: faPanelEws,\n faToriiGate: faToriiGate,\n faCloudExclamation: faCloudExclamation,\n faMessageLines: faMessageLines,\n faCommentAltLines: faCommentAltLines,\n faFrog: faFrog,\n faBucket: faBucket,\n faFloppyDiskPen: faFloppyDiskPen,\n faImage: faImage,\n faWindowFrame: faWindowFrame,\n faMicrophone: faMicrophone,\n faCow: faCow,\n faFileZip: faFileZip,\n faSquareRing: faSquareRing,\n faDownFromLine: faDownFromLine,\n faArrowAltFromTop: faArrowAltFromTop,\n faCaretUp: faCaretUp,\n faShieldXmark: faShieldXmark,\n faShieldTimes: faShieldTimes,\n faScrewdriver: faScrewdriver,\n faCircleSortDown: faCircleSortDown,\n faSortCircleDown: faSortCircleDown,\n faFolderClosed: faFolderClosed,\n faHouseTsunami: faHouseTsunami,\n faSquareNfi: faSquareNfi,\n faForklift: faForklift,\n faArrowUpFromGroundWater: faArrowUpFromGroundWater,\n faBracketSquareRight: faBracketSquareRight,\n faMartiniGlass: faMartiniGlass,\n faGlassMartiniAlt: faGlassMartiniAlt,\n faRotateLeft: faRotateLeft,\n faRotateBack: faRotateBack,\n faRotateBackward: faRotateBackward,\n faUndoAlt: faUndoAlt,\n faTableColumns: faTableColumns,\n faColumns: faColumns,\n faSquareA: faSquareA,\n faTick: faTick,\n faLemon: faLemon,\n faHeadSideMask: faHeadSideMask,\n faHandshake: faHandshake,\n faGem: faGem,\n faDolly: faDolly,\n faDollyBox: faDollyBox,\n faSmoking: faSmoking,\n faMinimize: faMinimize,\n faCompressArrowsAlt: faCompressArrowsAlt,\n faRefrigerator: faRefrigerator,\n faMonument: faMonument,\n faOctagonXmark: faOctagonXmark,\n faTimesOctagon: faTimesOctagon,\n faXmarkOctagon: faXmarkOctagon,\n faAlignSlash: faAlignSlash,\n faSnowplow: faSnowplow,\n faAnglesRight: faAnglesRight,\n faAngleDoubleRight: faAngleDoubleRight,\n faTruckRampCouch: faTruckRampCouch,\n faTruckCouch: faTruckCouch,\n faCannabis: faCannabis,\n faCirclePlay: faCirclePlay,\n faPlayCircle: faPlayCircle,\n faArrowUpRightAndArrowDownLeftFromCenter: faArrowUpRightAndArrowDownLeftFromCenter,\n faLocationArrowUp: faLocationArrowUp,\n faTablets: faTablets,\n fa360Degrees: fa360Degrees,\n faEthernet: faEthernet,\n faEuroSign: faEuroSign,\n faEur: faEur,\n faEuro: faEuro,\n faChair: faChair,\n faCircleCheck: faCircleCheck,\n faCheckCircle: faCheckCircle,\n faSquareDashedCirclePlus: faSquareDashedCirclePlus,\n faHandHoldingCircleDollar: faHandHoldingCircleDollar,\n faMoneySimpleFromBracket: faMoneySimpleFromBracket,\n faBat: faBat,\n faCircleStop: faCircleStop,\n faStopCircle: faStopCircle,\n faHeadSideHeadphones: faHeadSideHeadphones,\n faPhoneRotary: faPhoneRotary,\n faArrowUpToBracket: faArrowUpToBracket,\n faCompassDrafting: faCompassDrafting,\n faDraftingCompass: faDraftingCompass,\n faPlateWheat: faPlateWheat,\n faCalendarCircleMinus: faCalendarCircleMinus,\n faChopsticks: faChopsticks,\n faCarWrench: faCarWrench,\n faCarMechanic: faCarMechanic,\n faIcicles: faIcicles,\n faPersonShelter: faPersonShelter,\n faNeuter: faNeuter,\n faIdBadge: faIdBadge,\n faKazoo: faKazoo,\n faMarker: faMarker,\n faBinBottles: faBinBottles,\n faFaceLaughBeam: faFaceLaughBeam,\n faLaughBeam: faLaughBeam,\n faSquareArrowDownLeft: faSquareArrowDownLeft,\n faBatteryBolt: faBatteryBolt,\n faTreeLarge: faTreeLarge,\n faHelicopterSymbol: faHelicopterSymbol,\n faAperture: faAperture,\n faUniversalAccess: faUniversalAccess,\n faGearComplex: faGearComplex,\n faFileMagnifyingGlass: faFileMagnifyingGlass,\n faFileSearch: faFileSearch,\n faUpRight: faUpRight,\n faCircleChevronUp: faCircleChevronUp,\n faChevronCircleUp: faChevronCircleUp,\n faUserPolice: faUserPolice,\n faLariSign: faLariSign,\n faVolcano: faVolcano,\n faTeddyBear: faTeddyBear,\n faStocking: faStocking,\n faPersonWalkingDashedLineArrowRight: faPersonWalkingDashedLineArrowRight,\n faImageSlash: faImageSlash,\n faMaskSnorkel: faMaskSnorkel,\n faSmoke: faSmoke,\n faSterlingSign: faSterlingSign,\n faGbp: faGbp,\n faPoundSign: faPoundSign,\n faBatteryExclamation: faBatteryExclamation,\n faViruses: faViruses,\n faSquarePersonConfined: faSquarePersonConfined,\n faUserTie: faUserTie,\n faUpToBracket: faUpToBracket,\n faArrowDownLong: faArrowDownLong,\n faLongArrowDown: faLongArrowDown,\n faTentArrowDownToLine: faTentArrowDownToLine,\n faCertificate: faCertificate,\n faCrystalBall: faCrystalBall,\n faReplyAll: faReplyAll,\n faMailReplyAll: faMailReplyAll,\n faSuitcase: faSuitcase,\n faPersonSkating: faPersonSkating,\n faSkating: faSkating,\n faStarShooting: faStarShooting,\n faBinaryLock: faBinaryLock,\n faFilterCircleDollar: faFilterCircleDollar,\n faFunnelDollar: faFunnelDollar,\n faCameraRetro: faCameraRetro,\n faCircleArrowDown: faCircleArrowDown,\n faArrowCircleDown: faArrowCircleDown,\n faCommentPen: faCommentPen,\n faCommentEdit: faCommentEdit,\n faFileImport: faFileImport,\n faArrowRightToFile: faArrowRightToFile,\n faBanjo: faBanjo,\n faSquareArrowUpRight: faSquareArrowUpRight,\n faExternalLinkSquare: faExternalLinkSquare,\n faLightEmergencyOn: faLightEmergencyOn,\n faKerning: faKerning,\n faBoxOpen: faBoxOpen,\n faSquareF: faSquareF,\n faScroll: faScroll,\n faSpa: faSpa,\n faArrowLeftFromLine: faArrowLeftFromLine,\n faArrowFromRight: faArrowFromRight,\n faStrawberry: faStrawberry,\n faLocationPinLock: faLocationPinLock,\n faPause: faPause,\n faClockEightThirty: faClockEightThirty,\n faPlaneEngines: faPlaneEngines,\n faPlaneAlt: faPlaneAlt,\n faHillAvalanche: faHillAvalanche,\n faTemperatureEmpty: faTemperatureEmpty,\n faTemperature0: faTemperature0,\n faThermometer0: faThermometer0,\n faThermometerEmpty: faThermometerEmpty,\n faBomb: faBomb,\n faGaugeLow: faGaugeLow,\n faTachometerAltSlow: faTachometerAltSlow,\n faRegistered: faRegistered,\n faTrashCanPlus: faTrashCanPlus,\n faAddressCard: faAddressCard,\n faContactCard: faContactCard,\n faVcard: faVcard,\n faScaleUnbalancedFlip: faScaleUnbalancedFlip,\n faBalanceScaleRight: faBalanceScaleRight,\n faGlobeSnow: faGlobeSnow,\n faSubscript: faSubscript,\n faDiamondTurnRight: faDiamondTurnRight,\n faDirections: faDirections,\n faIntegral: faIntegral,\n faBurst: faBurst,\n faHouseLaptop: faHouseLaptop,\n faLaptopHouse: faLaptopHouse,\n faFaceTired: faFaceTired,\n faTired: faTired,\n faMoneyBills: faMoneyBills,\n faBlindsRaised: faBlindsRaised,\n faSmog: faSmog,\n faUfoBeam: faUfoBeam,\n faCircleCaretUp: faCircleCaretUp,\n faCaretCircleUp: faCaretCircleUp,\n faUserVneckHairLong: faUserVneckHairLong,\n faSquareALock: faSquareALock,\n faCrutch: faCrutch,\n faGasPumpSlash: faGasPumpSlash,\n faFontAwesome: faFontAwesome,\n faFontAwesomeFlag: faFontAwesomeFlag,\n faFontAwesomeLogoFull: faFontAwesomeLogoFull,\n faCloudArrowUp: faCloudArrowUp,\n faCloudUpload: faCloudUpload,\n faCloudUploadAlt: faCloudUploadAlt,\n faPalette: faPalette,\n faTransporter4: faTransporter4,\n faChartMixedUpCircleCurrency: faChartMixedUpCircleCurrency,\n faObjectsAlignRight: faObjectsAlignRight,\n faArrowsTurnRight: faArrowsTurnRight,\n faVest: faVest,\n faPig: faPig,\n faInboxFull: faInboxFull,\n faCircleEnvelope: faCircleEnvelope,\n faEnvelopeCircle: faEnvelopeCircle,\n faTrianglePersonDigging: faTrianglePersonDigging,\n faConstruction: faConstruction,\n faFerry: faFerry,\n faBullseyeArrow: faBullseyeArrow,\n faArrowsDownToPeople: faArrowsDownToPeople,\n faSeedling: faSeedling,\n faSprout: faSprout,\n faClockSeven: faClockSeven,\n faLeftRight: faLeftRight,\n faArrowsAltH: faArrowsAltH,\n faBoxesPacking: faBoxesPacking,\n faCircleArrowLeft: faCircleArrowLeft,\n faArrowCircleLeft: faArrowCircleLeft,\n faFlashlight: faFlashlight,\n faFileJpg: faFileJpg,\n faGroupArrowsRotate: faGroupArrowsRotate,\n faBowlFood: faBowlFood,\n faSquare9: faSquare9,\n faCandyCane: faCandyCane,\n faArrowDownWideShort: faArrowDownWideShort,\n faSortAmountAsc: faSortAmountAsc,\n faSortAmountDown: faSortAmountDown,\n faSquareDollar: faSquareDollar,\n faDollarSquare: faDollarSquare,\n faUsdSquare: faUsdSquare,\n faPhoneArrowRight: faPhoneArrowRight,\n faHandHoldingSeedling: faHandHoldingSeedling,\n faMessageCheck: faMessageCheck,\n faCommentAltCheck: faCommentAltCheck,\n faCloudBolt: faCloudBolt,\n faThunderstorm: faThunderstorm,\n faChartLineUpDown: faChartLineUpDown,\n faTextSlash: faTextSlash,\n faRemoveFormat: faRemoveFormat,\n faWatch: faWatch,\n faCircleDownLeft: faCircleDownLeft,\n faText: faText,\n faProjector: faProjector,\n faFaceSmileWink: faFaceSmileWink,\n faSmileWink: faSmileWink,\n faTombstoneBlank: faTombstoneBlank,\n faTombstoneAlt: faTombstoneAlt,\n faChessKingPiece: faChessKingPiece,\n faChessKingAlt: faChessKingAlt,\n faCircle6: faCircle6,\n faWavesSine: faWavesSine,\n faLeft: faLeft,\n faArrowAltLeft: faArrowAltLeft,\n faFileWord: faFileWord,\n faFilePowerpoint: faFilePowerpoint,\n faSquareDown: faSquareDown,\n faArrowAltSquareDown: faArrowAltSquareDown,\n faObjectsAlignCenterVertical: faObjectsAlignCenterVertical,\n faArrowsLeftRight: faArrowsLeftRight,\n faArrowsH: faArrowsH,\n faHouseLock: faHouseLock,\n faCloudArrowDown: faCloudArrowDown,\n faCloudDownload: faCloudDownload,\n faCloudDownloadAlt: faCloudDownloadAlt,\n faWreath: faWreath,\n faChildren: faChildren,\n faMeterDroplet: faMeterDroplet,\n faChalkboard: faChalkboard,\n faBlackboard: faBlackboard,\n faUserLargeSlash: faUserLargeSlash,\n faUserAltSlash: faUserAltSlash,\n faSignalStrong: faSignalStrong,\n faSignal4: faSignal4,\n faLollipop: faLollipop,\n faLollypop: faLollypop,\n faListTree: faListTree,\n faEnvelopeOpen: faEnvelopeOpen,\n faDrawCircle: faDrawCircle,\n faCatSpace: faCatSpace,\n faHandshakeSimpleSlash: faHandshakeSimpleSlash,\n faHandshakeAltSlash: faHandshakeAltSlash,\n faRabbitRunning: faRabbitRunning,\n faRabbitFast: faRabbitFast,\n faMemoPad: faMemoPad,\n faMattressPillow: faMattressPillow,\n faAlarmPlus: faAlarmPlus,\n faAlicorn: faAlicorn,\n faCommentQuestion: faCommentQuestion,\n faGingerbreadMan: faGingerbreadMan,\n faGuaraniSign: faGuaraniSign,\n faBurgerFries: faBurgerFries,\n faMugTea: faMugTea,\n faBorderTop: faBorderTop,\n faArrowsRotate: faArrowsRotate,\n faRefresh: faRefresh,\n faSync: faSync,\n faCircleBookOpen: faCircleBookOpen,\n faBookCircle: faBookCircle,\n faArrowsToDottedLine: faArrowsToDottedLine,\n faFireExtinguisher: faFireExtinguisher,\n faMagnifyingGlassArrowsRotate: faMagnifyingGlassArrowsRotate,\n faGarageOpen: faGarageOpen,\n faShelvesEmpty: faShelvesEmpty,\n faCruzeiroSign: faCruzeiroSign,\n faWatchApple: faWatchApple,\n faWatchCalculator: faWatchCalculator,\n faListDropdown: faListDropdown,\n faCabinetFiling: faCabinetFiling,\n faBurgerSoda: faBurgerSoda,\n faSquareArrowUp: faSquareArrowUp,\n faArrowSquareUp: faArrowSquareUp,\n faGreaterThanEqual: faGreaterThanEqual,\n faPalletBox: faPalletBox,\n faFaceConfounded: faFaceConfounded,\n faShieldHalved: faShieldHalved,\n faShieldAlt: faShieldAlt,\n faTruckPlow: faTruckPlow,\n faBookAtlas: faBookAtlas,\n faAtlas: faAtlas,\n faVirus: faVirus,\n faGridRound2: faGridRound2,\n faCommentMiddleTop: faCommentMiddleTop,\n faWave: faWave,\n faEnvelopeCircleCheck: faEnvelopeCircleCheck,\n faLayerGroup: faLayerGroup,\n faRestroomSimple: faRestroomSimple,\n faArrowsToDot: faArrowsToDot,\n faBorderOuter: faBorderOuter,\n faHashtagLock: faHashtagLock,\n faClockTwoThirty: faClockTwoThirty,\n faArchway: faArchway,\n faHeartCircleCheck: faHeartCircleCheck,\n faHouseChimneyCrack: faHouseChimneyCrack,\n faHouseDamage: faHouseDamage,\n faFileZipper: faFileZipper,\n faFileArchive: faFileArchive,\n faTicketPerforated: faTicketPerforated,\n faHeartHalf: faHeartHalf,\n faCommentCheck: faCommentCheck,\n faSquare: faSquare,\n faMemo: faMemo,\n faMartiniGlassEmpty: faMartiniGlassEmpty,\n faGlassMartini: faGlassMartini,\n faCouch: faCouch,\n faCediSign: faCediSign,\n faItalic: faItalic,\n faGlassCitrus: faGlassCitrus,\n faCalendarLinesPen: faCalendarLinesPen,\n faTableCellsColumnLock: faTableCellsColumnLock,\n faChurch: faChurch,\n faPersonSnowmobiling: faPersonSnowmobiling,\n faSnowmobile: faSnowmobile,\n faFaceHushed: faFaceHushed,\n faCommentsDollar: faCommentsDollar,\n faTicketsSimple: faTicketsSimple,\n faPickaxe: faPickaxe,\n faLinkSimpleSlash: faLinkSimpleSlash,\n faDemocrat: faDemocrat,\n faFaceConfused: faFaceConfused,\n faPinball: faPinball,\n faZ: faZ,\n faPersonSkiing: faPersonSkiing,\n faSkiing: faSkiing,\n faDeer: faDeer,\n faInputPipe: faInputPipe,\n faRoadLock: faRoadLock,\n faA: faA,\n faBookmarkSlash: faBookmarkSlash,\n faTemperatureArrowDown: faTemperatureArrowDown,\n faTemperatureDown: faTemperatureDown,\n faMace: faMace,\n faFeatherPointed: faFeatherPointed,\n faFeatherAlt: faFeatherAlt,\n faSausage: faSausage,\n faTrashCanClock: faTrashCanClock,\n faP: faP,\n faBroomWide: faBroomWide,\n faSnowflake: faSnowflake,\n faStomach: faStomach,\n faNewspaper: faNewspaper,\n faRectangleAd: faRectangleAd,\n faAd: faAd,\n faGuitarElectric: faGuitarElectric,\n faArrowTurnDownRight: faArrowTurnDownRight,\n faMoonCloud: faMoonCloud,\n faBreadSliceButter: faBreadSliceButter,\n faCircleArrowRight: faCircleArrowRight,\n faArrowCircleRight: faArrowCircleRight,\n faUserGroupCrown: faUserGroupCrown,\n faUsersCrown: faUsersCrown,\n faCircleI: faCircleI,\n faToiletPaperCheck: faToiletPaperCheck,\n faFilterCircleXmark: faFilterCircleXmark,\n faLocust: faLocust,\n faSort: faSort,\n faUnsorted: faUnsorted,\n faListOl: faListOl,\n faList12: faList12,\n faListNumeric: faListNumeric,\n faChartWaterfall: faChartWaterfall,\n faSparkle: faSparkle,\n faFaceParty: faFaceParty,\n faKidneys: faKidneys,\n faWifiExclamation: faWifiExclamation,\n faChartNetwork: faChartNetwork,\n faPersonDressBurst: faPersonDressBurst,\n faDiceD4: faDiceD4,\n faMoneyCheckDollar: faMoneyCheckDollar,\n faMoneyCheckAlt: faMoneyCheckAlt,\n faVectorSquare: faVectorSquare,\n faBreadSlice: faBreadSlice,\n faLanguage: faLanguage,\n faWheatAwnSlash: faWheatAwnSlash,\n faFaceKissWinkHeart: faFaceKissWinkHeart,\n faKissWinkHeart: faKissWinkHeart,\n faDagger: faDagger,\n faPodium: faPodium,\n faMemoCircleCheck: faMemoCircleCheck,\n faRouteHighway: faRouteHighway,\n faDownToLine: faDownToLine,\n faArrowAltToBottom: faArrowAltToBottom,\n faFilter: faFilter,\n faSquareG: faSquareG,\n faCirclePhone: faCirclePhone,\n faPhoneCircle: faPhoneCircle,\n faClipboardPrescription: faClipboardPrescription,\n faUserNurseHair: faUserNurseHair,\n faQuestion: faQuestion,\n faFileSignature: faFileSignature,\n faToggleLargeOn: faToggleLargeOn,\n faUpDownLeftRight: faUpDownLeftRight,\n faArrowsAlt: faArrowsAlt,\n faDryerHeat: faDryerHeat,\n faDryerAlt: faDryerAlt,\n faHouseChimneyUser: faHouseChimneyUser,\n faHandHoldingHeart: faHandHoldingHeart,\n faArrowUpSmallBig: faArrowUpSmallBig,\n faSortSizeUpAlt: faSortSizeUpAlt,\n faTrainTrack: faTrainTrack,\n faPuzzlePiece: faPuzzlePiece,\n faMoneyCheck: faMoneyCheck,\n faStarHalfStroke: faStarHalfStroke,\n faStarHalfAlt: faStarHalfAlt,\n faFileExclamation: faFileExclamation,\n faCode: faCode,\n faWhiskeyGlass: faWhiskeyGlass,\n faGlassWhiskey: faGlassWhiskey,\n faMoonStars: faMoonStars,\n faBuildingCircleExclamation: faBuildingCircleExclamation,\n faClothesHanger: faClothesHanger,\n faMobileNotch: faMobileNotch,\n faMobileIphone: faMobileIphone,\n faMagnifyingGlassChart: faMagnifyingGlassChart,\n faArrowUpRightFromSquare: faArrowUpRightFromSquare,\n faExternalLink: faExternalLink,\n faCubesStacked: faCubesStacked,\n faImagesUser: faImagesUser,\n faWonSign: faWonSign,\n faKrw: faKrw,\n faWon: faWon,\n faImagePolaroidUser: faImagePolaroidUser,\n faVirusCovid: faVirusCovid,\n faSquareEllipsis: faSquareEllipsis,\n faPie: faPie,\n faChessKnightPiece: faChessKnightPiece,\n faChessKnightAlt: faChessKnightAlt,\n faAustralSign: faAustralSign,\n faCloudPlus: faCloudPlus,\n faF: faF,\n faLeaf: faLeaf,\n faBedBunk: faBedBunk,\n faRoad: faRoad,\n faTaxi: faTaxi,\n faCab: faCab,\n faPersonCirclePlus: faPersonCirclePlus,\n faChartPie: faChartPie,\n faPieChart: faPieChart,\n faBoltLightning: faBoltLightning,\n faClockEight: faClockEight,\n faSackXmark: faSackXmark,\n faFileXls: faFileXls,\n faFileExcel: faFileExcel,\n faFileContract: faFileContract,\n faFishFins: faFishFins,\n faCircleQ: faCircleQ,\n faBuildingFlag: faBuildingFlag,\n faFaceGrinBeam: faFaceGrinBeam,\n faGrinBeam: faGrinBeam,\n faObjectUngroup: faObjectUngroup,\n faFaceDisguise: faFaceDisguise,\n faCircleArrowDownRight: faCircleArrowDownRight,\n faAlien8bit: faAlien8bit,\n faAlienMonster: faAlienMonster,\n faHandPointRibbon: faHandPointRibbon,\n faPoop: faPoop,\n faObjectExclude: faObjectExclude,\n faTelescope: faTelescope,\n faLocationPin: faLocationPin,\n faMapMarker: faMapMarker,\n faSquareList: faSquareList,\n faKaaba: faKaaba,\n faToiletPaper: faToiletPaper,\n faHelmetSafety: faHelmetSafety,\n faHardHat: faHardHat,\n faHatHard: faHatHard,\n faCommentCode: faCommentCode,\n faSimCards: faSimCards,\n faStarship: faStarship,\n faEject: faEject,\n faCircleRight: faCircleRight,\n faArrowAltCircleRight: faArrowAltCircleRight,\n faPlaneCircleCheck: faPlaneCircleCheck,\n faSeal: faSeal,\n faUserCowboy: faUserCowboy,\n faHexagonVerticalNft: faHexagonVerticalNft,\n faFaceRollingEyes: faFaceRollingEyes,\n faMehRollingEyes: faMehRollingEyes,\n faBreadLoaf: faBreadLoaf,\n faRingsWedding: faRingsWedding,\n faObjectGroup: faObjectGroup,\n faFrenchFries: faFrenchFries,\n faChartLine: faChartLine,\n faLineChart: faLineChart,\n faCalendarArrowDown: faCalendarArrowDown,\n faCalendarDownload: faCalendarDownload,\n faSendBack: faSendBack,\n faMaskVentilator: faMaskVentilator,\n faTickets: faTickets,\n faSignatureLock: faSignatureLock,\n faArrowRight: faArrowRight,\n faSignsPost: faSignsPost,\n faMapSigns: faMapSigns,\n faOctagonPlus: faOctagonPlus,\n faPlusOctagon: faPlusOctagon,\n faCashRegister: faCashRegister,\n faPersonCircleQuestion: faPersonCircleQuestion,\n faMelonSlice: faMelonSlice,\n faSpaceStationMoon: faSpaceStationMoon,\n faMessageSmile: faMessageSmile,\n faCommentAltSmile: faCommentAltSmile,\n faCupStraw: faCupStraw,\n faLeftFromLine: faLeftFromLine,\n faArrowAltFromRight: faArrowAltFromRight,\n faH: faH,\n faBasketShoppingSimple: faBasketShoppingSimple,\n faShoppingBasketAlt: faShoppingBasketAlt,\n faHandsHoldingHeart: faHandsHoldingHeart,\n faHandsHeart: faHandsHeart,\n faClockNine: faClockNine,\n faHammerBrush: faHammerBrush,\n faTarp: faTarp,\n faFaceSleepy: faFaceSleepy,\n faHandHorns: faHandHorns,\n faScrewdriverWrench: faScrewdriverWrench,\n faTools: faTools,\n faArrowsToEye: faArrowsToEye,\n faCircleThreeQuarters: faCircleThreeQuarters,\n faTrophyStar: faTrophyStar,\n faTrophyAlt: faTrophyAlt,\n faPlugCircleBolt: faPlugCircleBolt,\n faFaceThermometer: faFaceThermometer,\n faGridRound4: faGridRound4,\n faSignPostsWrench: faSignPostsWrench,\n faShirtRunning: faShirtRunning,\n faBookCircleArrowUp: faBookCircleArrowUp,\n faFaceNauseated: faFaceNauseated,\n faHeart: faHeart,\n faFileChartPie: faFileChartPie,\n faMarsAndVenus: faMarsAndVenus,\n faHouseUser: faHouseUser,\n faHomeUser: faHomeUser,\n faCircleArrowDownLeft: faCircleArrowDownLeft,\n faDumpsterFire: faDumpsterFire,\n faHexagonMinus: faHexagonMinus,\n faMinusHexagon: faMinusHexagon,\n faLeftToLine: faLeftToLine,\n faArrowAltToLeft: faArrowAltToLeft,\n faHouseCrack: faHouseCrack,\n faPawSimple: faPawSimple,\n faPawAlt: faPawAlt,\n faArrowLeftLongToLine: faArrowLeftLongToLine,\n faBracketsRound: faBracketsRound,\n faParentheses: faParentheses,\n faMartiniGlassCitrus: faMartiniGlassCitrus,\n faCocktail: faCocktail,\n faUserShakespeare: faUserShakespeare,\n faArrowRightToArc: faArrowRightToArc,\n faFaceSurprise: faFaceSurprise,\n faSurprise: faSurprise,\n faBottleWater: faBottleWater,\n faCirclePause: faCirclePause,\n faPauseCircle: faPauseCircle,\n faGaugeCirclePlus: faGaugeCirclePlus,\n faFolders: faFolders,\n faAngel: faAngel,\n faValueAbsolute: faValueAbsolute,\n faRabbit: faRabbit,\n faToiletPaperSlash: faToiletPaperSlash,\n faCircleEuro: faCircleEuro,\n faAppleWhole: faAppleWhole,\n faAppleAlt: faAppleAlt,\n faKitchenSet: faKitchenSet,\n faDiamondHalf: faDiamondHalf,\n faLockKeyhole: faLockKeyhole,\n faLockAlt: faLockAlt,\n faR: faR,\n faTemperatureQuarter: faTemperatureQuarter,\n faTemperature1: faTemperature1,\n faThermometer1: faThermometer1,\n faThermometerQuarter: faThermometerQuarter,\n faSquareInfo: faSquareInfo,\n faInfoSquare: faInfoSquare,\n faWifiSlash: faWifiSlash,\n faToiletPaperXmark: faToiletPaperXmark,\n faHandsHoldingDollar: faHandsHoldingDollar,\n faHandsUsd: faHandsUsd,\n faCube: faCube,\n faArrowDownTriangleSquare: faArrowDownTriangleSquare,\n faSortShapesDown: faSortShapesDown,\n faBitcoinSign: faBitcoinSign,\n faShutters: faShutters,\n faShieldDog: faShieldDog,\n faSolarPanel: faSolarPanel,\n faLockOpen: faLockOpen,\n faTableTree: faTableTree,\n faHouseChimneyHeart: faHouseChimneyHeart,\n faTally3: faTally3,\n faElevator: faElevator,\n faMoneyBillTransfer: faMoneyBillTransfer,\n faMoneyBillTrendUp: faMoneyBillTrendUp,\n faHouseFloodWaterCircleArrowRight: faHouseFloodWaterCircleArrowRight,\n faSquarePollHorizontal: faSquarePollHorizontal,\n faPollH: faPollH,\n faCircle: faCircle,\n faLeftToBracket: faLeftToBracket,\n faCartCircleExclamation: faCartCircleExclamation,\n faSword: faSword,\n faBackwardFast: faBackwardFast,\n faFastBackward: faFastBackward,\n faRecycle: faRecycle,\n faUserAstronaut: faUserAstronaut,\n faInterrobang: faInterrobang,\n faPlaneSlash: faPlaneSlash,\n faCircleDashed: faCircleDashed,\n faTrademark: faTrademark,\n faBasketball: faBasketball,\n faBasketballBall: faBasketballBall,\n faForkKnife: faForkKnife,\n faUtensilsAlt: faUtensilsAlt,\n faSatelliteDish: faSatelliteDish,\n faBadgeCheck: faBadgeCheck,\n faCircleUp: faCircleUp,\n faArrowAltCircleUp: faArrowAltCircleUp,\n faSlider: faSlider,\n faMobileScreenButton: faMobileScreenButton,\n faMobileAlt: faMobileAlt,\n faClockOneThirty: faClockOneThirty,\n faInboxOut: faInboxOut,\n faInboxArrowUp: faInboxArrowUp,\n faCloudSlash: faCloudSlash,\n faVolumeHigh: faVolumeHigh,\n faVolumeUp: faVolumeUp,\n faUsersRays: faUsersRays,\n faWallet: faWallet,\n faOctagonCheck: faOctagonCheck,\n faFlatbreadStuffed: faFlatbreadStuffed,\n faClipboardCheck: faClipboardCheck,\n faCartCirclePlus: faCartCirclePlus,\n faTruckClock: faTruckClock,\n faShippingTimed: faShippingTimed,\n faPool8Ball: faPool8Ball,\n faFileAudio: faFileAudio,\n faTurnDownLeft: faTurnDownLeft,\n faLockHashtag: faLockHashtag,\n faChartRadar: faChartRadar,\n faStaff: faStaff,\n faBurger: faBurger,\n faHamburger: faHamburger,\n faUtilityPole: faUtilityPole,\n faTransporter6: faTransporter6,\n faArrowTurnLeft: faArrowTurnLeft,\n faWrench: faWrench,\n faBugs: faBugs,\n faVectorPolygon: faVectorPolygon,\n faDiagramNested: faDiagramNested,\n faRupeeSign: faRupeeSign,\n faRupee: faRupee,\n faFileImage: faFileImage,\n faCircleQuestion: faCircleQuestion,\n faQuestionCircle: faQuestionCircle,\n faTicketsPerforated: faTicketsPerforated,\n faImageUser: faImageUser,\n faBuoy: faBuoy,\n faPlaneDeparture: faPlaneDeparture,\n faHandshakeSlash: faHandshakeSlash,\n faBookBookmark: faBookBookmark,\n faBorderCenterH: faBorderCenterH,\n faCanFood: faCanFood,\n faTypewriter: faTypewriter,\n faArrowRightFromArc: faArrowRightFromArc,\n faCircleK: faCircleK,\n faFaceHandOverMouth: faFaceHandOverMouth,\n faPopcorn: faPopcorn,\n faHouseWater: faHouseWater,\n faHouseFlood: faHouseFlood,\n faObjectSubtract: faObjectSubtract,\n faCodeBranch: faCodeBranch,\n faWarehouseFull: faWarehouseFull,\n faWarehouseAlt: faWarehouseAlt,\n faHatCowboy: faHatCowboy,\n faBridge: faBridge,\n faPhoneFlip: faPhoneFlip,\n faPhoneAlt: faPhoneAlt,\n faArrowDownFromDottedLine: faArrowDownFromDottedLine,\n faFileDoc: faFileDoc,\n faSquareQuarters: faSquareQuarters,\n faTruckFront: faTruckFront,\n faCat: faCat,\n faTrashXmark: faTrashXmark,\n faCircleCaretLeft: faCircleCaretLeft,\n faCaretCircleLeft: faCaretCircleLeft,\n faFiles: faFiles,\n faAnchorCircleExclamation: faAnchorCircleExclamation,\n faFaceClouds: faFaceClouds,\n faUserCrown: faUserCrown,\n faBasketShoppingPlus: faBasketShoppingPlus,\n faTruckField: faTruckField,\n faRoute: faRoute,\n faCartCircleCheck: faCartCircleCheck,\n faClipboardQuestion: faClipboardQuestion,\n faPanorama: faPanorama,\n faCommentMedical: faCommentMedical,\n faTeethOpen: faTeethOpen,\n faUserTieHairLong: faUserTieHairLong,\n faFileCircleMinus: faFileCircleMinus,\n faHeadSideMedical: faHeadSideMedical,\n faArrowTurnRight: faArrowTurnRight,\n faTags: faTags,\n faWineGlass: faWineGlass,\n faForwardFast: faForwardFast,\n faFastForward: faFastForward,\n faFaceMehBlank: faFaceMehBlank,\n faMehBlank: faMehBlank,\n faUserRobot: faUserRobot,\n faSquareParking: faSquareParking,\n faParking: faParking,\n faCardDiamond: faCardDiamond,\n faFaceZipper: faFaceZipper,\n faFaceRaisedEyebrow: faFaceRaisedEyebrow,\n faHouseSignal: faHouseSignal,\n faSquareChevronUp: faSquareChevronUp,\n faChevronSquareUp: faChevronSquareUp,\n faNfcSymbol: faNfcSymbol,\n faBarsProgress: faBarsProgress,\n faTasksAlt: faTasksAlt,\n faFaucetDrip: faFaucetDrip,\n faArrowsToLine: faArrowsToLine,\n faDolphin: faDolphin,\n faArrowUpRight: faArrowUpRight,\n faCircleR: faCircleR,\n faCartFlatbed: faCartFlatbed,\n faDollyFlatbed: faDollyFlatbed,\n faBanSmoking: faBanSmoking,\n faSmokingBan: faSmokingBan,\n faCircleSortUp: faCircleSortUp,\n faSortCircleUp: faSortCircleUp,\n faTerminal: faTerminal,\n faMobileButton: faMobileButton,\n faHouseMedicalFlag: faHouseMedicalFlag,\n faBasketShopping: faBasketShopping,\n faShoppingBasket: faShoppingBasket,\n faTape: faTape,\n faChestnut: faChestnut,\n faBusSimple: faBusSimple,\n faBusAlt: faBusAlt,\n faEye: faEye,\n faFaceSadCry: faFaceSadCry,\n faSadCry: faSadCry,\n faHeat: faHeat,\n faTicketAirline: faTicketAirline,\n faTicketPerforatedPlane: faTicketPerforatedPlane,\n faTicketPlane: faTicketPlane,\n faBootHeeled: faBootHeeled,\n faArrowsMinimize: faArrowsMinimize,\n faCompressArrows: faCompressArrows,\n faAudioDescription: faAudioDescription,\n faPersonMilitaryToPerson: faPersonMilitaryToPerson,\n faFileShield: faFileShield,\n faHexagon: faHexagon,\n faManhole: faManhole,\n faUserSlash: faUserSlash,\n faPen: faPen,\n faTowerObservation: faTowerObservation,\n faFloppyDisks: faFloppyDisks,\n faToiletPaperBlankUnder: faToiletPaperBlankUnder,\n faToiletPaperReverseAlt: faToiletPaperReverseAlt,\n faFileCode: faFileCode,\n faSignal: faSignal,\n faSignal5: faSignal5,\n faSignalPerfect: faSignalPerfect,\n faPump: faPump,\n faBus: faBus,\n faHeartCircleXmark: faHeartCircleXmark,\n faArrowUpLeftFromCircle: faArrowUpLeftFromCircle,\n faHouseChimney: faHouseChimney,\n faHomeLg: faHomeLg,\n faWindowMaximize: faWindowMaximize,\n faDryer: faDryer,\n faFaceFrown: faFaceFrown,\n faFrown: faFrown,\n faChessBishopPiece: faChessBishopPiece,\n faChessBishopAlt: faChessBishopAlt,\n faShirtTankTop: faShirtTankTop,\n faDiploma: faDiploma,\n faScrollRibbon: faScrollRibbon,\n faScreencast: faScreencast,\n faWalker: faWalker,\n faPrescription: faPrescription,\n faShop: faShop,\n faStoreAlt: faStoreAlt,\n faFloppyDisk: faFloppyDisk,\n faSave: faSave,\n faVihara: faVihara,\n faFaceKissClosedEyes: faFaceKissClosedEyes,\n faScaleUnbalanced: faScaleUnbalanced,\n faBalanceScaleLeft: faBalanceScaleLeft,\n faFileUser: faFileUser,\n faUserPoliceTie: faUserPoliceTie,\n faFaceTongueMoney: faFaceTongueMoney,\n faTennisBall: faTennisBall,\n faSquareL: faSquareL,\n faSortUp: faSortUp,\n faSortAsc: faSortAsc,\n faCalendarArrowUp: faCalendarArrowUp,\n faCalendarUpload: faCalendarUpload,\n faCommentDots: faCommentDots,\n faCommenting: faCommenting,\n faPlantWilt: faPlantWilt,\n faScarf: faScarf,\n faAlbumCirclePlus: faAlbumCirclePlus,\n faUserNurseHairLong: faUserNurseHairLong,\n faDiamond: faDiamond,\n faSquareLeft: faSquareLeft,\n faArrowAltSquareLeft: faArrowAltSquareLeft,\n faFaceGrinSquint: faFaceGrinSquint,\n faGrinSquint: faGrinSquint,\n faCircleEllipsisVertical: faCircleEllipsisVertical,\n faHandHoldingDollar: faHandHoldingDollar,\n faHandHoldingUsd: faHandHoldingUsd,\n faGridDividers: faGridDividers,\n faBacterium: faBacterium,\n faHandPointer: faHandPointer,\n faDrumSteelpan: faDrumSteelpan,\n faHandScissors: faHandScissors,\n faHandsPraying: faHandsPraying,\n faPrayingHands: faPrayingHands,\n faFacePensive: faFacePensive,\n faUserMusic: faUserMusic,\n faArrowRotateRight: faArrowRotateRight,\n faArrowRightRotate: faArrowRightRotate,\n faArrowRotateForward: faArrowRotateForward,\n faRedo: faRedo,\n faMessagesDollar: faMessagesDollar,\n faCommentsAltDollar: faCommentsAltDollar,\n faSensorOn: faSensorOn,\n faBalloon: faBalloon,\n faWebAwesome: faWebAwesome,\n faBiohazard: faBiohazard,\n faChessQueenPiece: faChessQueenPiece,\n faChessQueenAlt: faChessQueenAlt,\n faLocationCrosshairs: faLocationCrosshairs,\n faLocation: faLocation,\n faMarsDouble: faMarsDouble,\n faLeftFromBracket: faLeftFromBracket,\n faHousePersonLeave: faHousePersonLeave,\n faHouseLeave: faHouseLeave,\n faHousePersonDepart: faHousePersonDepart,\n faRulerTriangle: faRulerTriangle,\n faCardClub: faCardClub,\n faChildDress: faChildDress,\n faUsersBetweenLines: faUsersBetweenLines,\n faLungsVirus: faLungsVirus,\n faSpinnerThird: faSpinnerThird,\n faFaceGrinTears: faFaceGrinTears,\n faGrinTears: faGrinTears,\n faPhone: faPhone,\n faComputerMouseScrollwheel: faComputerMouseScrollwheel,\n faMouseAlt: faMouseAlt,\n faCalendarXmark: faCalendarXmark,\n faCalendarTimes: faCalendarTimes,\n faChildReaching: faChildReaching,\n faTableLayout: faTableLayout,\n faNarwhal: faNarwhal,\n faRampLoading: faRampLoading,\n faCalendarCirclePlus: faCalendarCirclePlus,\n faToothbrush: faToothbrush,\n faBorderInner: faBorderInner,\n faPawClaws: faPawClaws,\n faKiwiFruit: faKiwiFruit,\n faTrafficLightSlow: faTrafficLightSlow,\n faRectangleCode: faRectangleCode,\n faHeadSideVirus: faHeadSideVirus,\n faKeyboardBrightness: faKeyboardBrightness,\n faBooksMedical: faBooksMedical,\n faLightbulbSlash: faLightbulbSlash,\n faHouseBlank: faHouseBlank,\n faHomeBlank: faHomeBlank,\n faSquare5: faSquare5,\n faSquareHeart: faSquareHeart,\n faHeartSquare: faHeartSquare,\n faPuzzle: faPuzzle,\n faUserGear: faUserGear,\n faUserCog: faUserCog,\n faPipeCircleCheck: faPipeCircleCheck,\n faArrowUp19: faArrowUp19,\n faSortNumericUp: faSortNumericUp,\n faOctagonExclamation: faOctagonExclamation,\n faDialLow: faDialLow,\n faDoorClosed: faDoorClosed,\n faLaptopMobile: faLaptopMobile,\n faPhoneLaptop: faPhoneLaptop,\n faConveyorBeltBoxes: faConveyorBeltBoxes,\n faConveyorBeltAlt: faConveyorBeltAlt,\n faShieldVirus: faShieldVirus,\n faStarfighterTwinIonEngineAdvanced: faStarfighterTwinIonEngineAdvanced,\n faStarfighterAltAdvanced: faStarfighterAltAdvanced,\n faDiceSix: faDiceSix,\n faStarfighterTwinIonEngine: faStarfighterTwinIonEngine,\n faStarfighterAlt: faStarfighterAlt,\n faRocketLaunch: faRocketLaunch,\n faMosquitoNet: faMosquitoNet,\n faVentDamper: faVentDamper,\n faBridgeWater: faBridgeWater,\n faBanBug: faBanBug,\n faDebug: faDebug,\n faPersonBooth: faPersonBooth,\n faTextWidth: faTextWidth,\n faGarageCar: faGarageCar,\n faSquareKanban: faSquareKanban,\n faHatWizard: faHatWizard,\n faChartKanban: faChartKanban,\n faPenFancy: faPenFancy,\n faCoffeePot: faCoffeePot,\n faMouseField: faMouseField,\n faPersonDigging: faPersonDigging,\n faDigging: faDigging,\n faShowerDown: faShowerDown,\n faShowerAlt: faShowerAlt,\n faBoxCircleCheck: faBoxCircleCheck,\n faBrightness: faBrightness,\n faCarSideBolt: faCarSideBolt,\n faFileXml: faFileXml,\n faOrnament: faOrnament,\n faPhoneArrowDownLeft: faPhoneArrowDownLeft,\n faPhoneArrowDown: faPhoneArrowDown,\n faPhoneIncoming: faPhoneIncoming,\n faCloudWord: faCloudWord,\n faHandFingersCrossed: faHandFingersCrossed,\n faTrash: faTrash,\n faGaugeSimple: faGaugeSimple,\n faGaugeSimpleMed: faGaugeSimpleMed,\n faTachometerAverage: faTachometerAverage,\n faArrowDownSmallBig: faArrowDownSmallBig,\n faSortSizeDownAlt: faSortSizeDownAlt,\n faBookMedical: faBookMedical,\n faFaceMelting: faFaceMelting,\n faPoo: faPoo,\n faPenClipSlash: faPenClipSlash,\n faPenAltSlash: faPenAltSlash,\n faQuoteRight: faQuoteRight,\n faQuoteRightAlt: faQuoteRightAlt,\n faScrollOld: faScrollOld,\n faGuitars: faGuitars,\n faPhoneXmark: faPhoneXmark,\n faHose: faHose,\n faClockSix: faClockSix,\n faShirt: faShirt,\n faTShirt: faTShirt,\n faTshirt: faTshirt,\n faBillboard: faBillboard,\n faSquareR: faSquareR,\n faCubes: faCubes,\n faEnvelopeOpenDollar: faEnvelopeOpenDollar,\n faDivide: faDivide,\n faSunCloud: faSunCloud,\n faLampFloor: faLampFloor,\n faSquare7: faSquare7,\n faTengeSign: faTengeSign,\n faTenge: faTenge,\n faHeadphones: faHeadphones,\n faHandsHolding: faHandsHolding,\n faCampfire: faCampfire,\n faCircleAmpersand: faCircleAmpersand,\n faSnowflakes: faSnowflakes,\n faHandsClapping: faHandsClapping,\n faRepublican: faRepublican,\n faLeafMaple: faLeafMaple,\n faArrowLeft: faArrowLeft,\n faPersonCircleXmark: faPersonCircleXmark,\n faRuler: faRuler,\n faArrowLeftFromBracket: faArrowLeftFromBracket,\n faCupStrawSwoosh: faCupStrawSwoosh,\n faTemperatureSun: faTemperatureSun,\n faTemperatureHot: faTemperatureHot,\n faAlignLeft: faAlignLeft,\n faDiceD6: faDiceD6,\n faRestroom: faRestroom,\n faHighDefinition: faHighDefinition,\n faRectangleHd: faRectangleHd,\n faJ: faJ,\n faGalaxy: faGalaxy,\n faUsersViewfinder: faUsersViewfinder,\n faFileVideo: faFileVideo,\n faCherries: faCherries,\n faUpRightFromSquare: faUpRightFromSquare,\n faExternalLinkAlt: faExternalLinkAlt,\n faCircleSort: faCircleSort,\n faSortCircle: faSortCircle,\n faTableCells: faTableCells,\n faTh: faTh,\n faBagShoppingMinus: faBagShoppingMinus,\n faFilePdf: faFilePdf,\n faSiren: faSiren,\n faArrowUpToDottedLine: faArrowUpToDottedLine,\n faImageLandscape: faImageLandscape,\n faLandscape: faLandscape,\n faTankWater: faTankWater,\n faCurlingStone: faCurlingStone,\n faCurling: faCurling,\n faGamepadModern: faGamepadModern,\n faGamepadAlt: faGamepadAlt,\n faMessagesQuestion: faMessagesQuestion,\n faBookBible: faBookBible,\n faBible: faBible,\n faO: faO,\n faSuitcaseMedical: faSuitcaseMedical,\n faMedkit: faMedkit,\n faBriefcaseArrowRight: faBriefcaseArrowRight,\n faExpandWide: faExpandWide,\n faClockElevenThirty: faClockElevenThirty,\n faRv: faRv,\n faUserSecret: faUserSecret,\n faOtter: faOtter,\n faDreidel: faDreidel,\n faPersonDress: faPersonDress,\n faFemale: faFemale,\n faCommentDollar: faCommentDollar,\n faBusinessTime: faBusinessTime,\n faBriefcaseClock: faBriefcaseClock,\n faFlowerTulip: faFlowerTulip,\n faPeoplePantsSimple: faPeoplePantsSimple,\n faCloudDrizzle: faCloudDrizzle,\n faTableCellsLarge: faTableCellsLarge,\n faThLarge: faThLarge,\n faBookTanakh: faBookTanakh,\n faTanakh: faTanakh,\n faSolarSystem: faSolarSystem,\n faSealQuestion: faSealQuestion,\n faPhoneVolume: faPhoneVolume,\n faVolumeControlPhone: faVolumeControlPhone,\n faDiscDrive: faDiscDrive,\n faHatCowboySide: faHatCowboySide,\n faTableRows: faTableRows,\n faRows: faRows,\n faLocationExclamation: faLocationExclamation,\n faMapMarkerExclamation: faMapMarkerExclamation,\n faFaceFearful: faFaceFearful,\n faClipboardUser: faClipboardUser,\n faBusSchool: faBusSchool,\n faFilmSlash: faFilmSlash,\n faSquareArrowDownRight: faSquareArrowDownRight,\n faBookSparkles: faBookSparkles,\n faBookSpells: faBookSpells,\n faWashingMachine: faWashingMachine,\n faWasher: faWasher,\n faChild: faChild,\n faLiraSign: faLiraSign,\n faUserVisor: faUserVisor,\n faFilePlusMinus: faFilePlusMinus,\n faChessClockFlip: faChessClockFlip,\n faChessClockAlt: faChessClockAlt,\n faSatellite: faSatellite,\n faTruckFire: faTruckFire,\n faPlaneLock: faPlaneLock,\n faSteeringWheel: faSteeringWheel,\n faTag: faTag,\n faStretcher: faStretcher,\n faBookSection: faBookSection,\n faBookLaw: faBookLaw,\n faInboxes: faInboxes,\n faCoffeeBean: faCoffeeBean,\n faCircleYen: faCircleYen,\n faBracketsCurly: faBracketsCurly,\n faEllipsisStrokeVertical: faEllipsisStrokeVertical,\n faEllipsisVAlt: faEllipsisVAlt,\n faComment: faComment,\n faSquare1: faSquare1,\n faCakeCandles: faCakeCandles,\n faBirthdayCake: faBirthdayCake,\n faCake: faCake,\n faHeadSide: faHeadSide,\n faTruckLadder: faTruckLadder,\n faEnvelope: faEnvelope,\n faDollyEmpty: faDollyEmpty,\n faFaceTissue: faFaceTissue,\n faAnglesUp: faAnglesUp,\n faAngleDoubleUp: faAngleDoubleUp,\n faBinRecycle: faBinRecycle,\n faPaperclip: faPaperclip,\n faChartLineDown: faChartLineDown,\n faArrowRightToCity: faArrowRightToCity,\n faLockA: faLockA,\n faRibbon: faRibbon,\n faLungs: faLungs,\n faPersonPinball: faPersonPinball,\n faArrowUp91: faArrowUp91,\n faSortNumericUpAlt: faSortNumericUpAlt,\n faAppleCore: faAppleCore,\n faCircleY: faCircleY,\n faH6: faH6,\n faLitecoinSign: faLitecoinSign,\n faBottleBaby: faBottleBaby,\n faCircleSmall: faCircleSmall,\n faBorderNone: faBorderNone,\n faArrowTurnDownLeft: faArrowTurnDownLeft,\n faCircleWifiCircleWifi: faCircleWifiCircleWifi,\n faCircleWifiGroup: faCircleWifiGroup,\n faCircleNodes: faCircleNodes,\n faParachuteBox: faParachuteBox,\n faReflectHorizontal: faReflectHorizontal,\n faMessageMedical: faMessageMedical,\n faCommentAltMedical: faCommentAltMedical,\n faRugbyBall: faRugbyBall,\n faCommentMusic: faCommentMusic,\n faIndent: faIndent,\n faTreeDeciduous: faTreeDeciduous,\n faTreeAlt: faTreeAlt,\n faPuzzlePieceSimple: faPuzzlePieceSimple,\n faPuzzlePieceAlt: faPuzzlePieceAlt,\n faTruckFieldUn: faTruckFieldUn,\n faNfcTrash: faNfcTrash,\n faHourglass: faHourglass,\n faHourglassEmpty: faHourglassEmpty,\n faMountain: faMountain,\n faFileXmark: faFileXmark,\n faFileTimes: faFileTimes,\n faHouseHeart: faHouseHeart,\n faHomeHeart: faHomeHeart,\n faHouseChimneyBlank: faHouseChimneyBlank,\n faMeterBolt: faMeterBolt,\n faUserDoctor: faUserDoctor,\n faUserMd: faUserMd,\n faSlashBack: faSlashBack,\n faCircleInfo: faCircleInfo,\n faInfoCircle: faInfoCircle,\n faFishingRod: faFishingRod,\n faHammerCrash: faHammerCrash,\n faMessageHeart: faMessageHeart,\n faCloudMeatball: faCloudMeatball,\n faCameraPolaroid: faCameraPolaroid,\n faCamera: faCamera,\n faCameraAlt: faCameraAlt,\n faSquareVirus: faSquareVirus,\n faCartArrowUp: faCartArrowUp,\n faMeteor: faMeteor,\n faCarOn: faCarOn,\n faSleigh: faSleigh,\n faArrowDown19: faArrowDown19,\n faSortNumericAsc: faSortNumericAsc,\n faSortNumericDown: faSortNumericDown,\n faBuoyMooring: faBuoyMooring,\n faSquare4: faSquare4,\n faHandHoldingDroplet: faHandHoldingDroplet,\n faHandHoldingWater: faHandHoldingWater,\n faFileEps: faFileEps,\n faTricycleAdult: faTricycleAdult,\n faWaveform: faWaveform,\n faWater: faWater,\n faStarSharpHalfStroke: faStarSharpHalfStroke,\n faStarSharpHalfAlt: faStarSharpHalfAlt,\n faNfcSignal: faNfcSignal,\n faPlaneProp: faPlaneProp,\n faCalendarCheck: faCalendarCheck,\n faClockDesk: faClockDesk,\n faCalendarClock: faCalendarClock,\n faCalendarTime: faCalendarTime,\n faBraille: faBraille,\n faPrescriptionBottleMedical: faPrescriptionBottleMedical,\n faPrescriptionBottleAlt: faPrescriptionBottleAlt,\n faPlateUtensils: faPlateUtensils,\n faFamilyPants: faFamilyPants,\n faHoseReel: faHoseReel,\n faHouseWindow: faHouseWindow,\n faLandmark: faLandmark,\n faTruck: faTruck,\n faMusicMagnifyingGlass: faMusicMagnifyingGlass,\n faCrosshairs: faCrosshairs,\n faCloudRainbow: faCloudRainbow,\n faPersonCane: faPersonCane,\n faAlien: faAlien,\n faTent: faTent,\n faLaptopBinary: faLaptopBinary,\n faVestPatches: faVestPatches,\n faPeopleDressSimple: faPeopleDressSimple,\n faCheckDouble: faCheckDouble,\n faArrowDownAZ: faArrowDownAZ,\n faSortAlphaAsc: faSortAlphaAsc,\n faSortAlphaDown: faSortAlphaDown,\n faBowlingBallPin: faBowlingBallPin,\n faBellSchoolSlash: faBellSchoolSlash,\n faPlusLarge: faPlusLarge,\n faMoneyBillWheat: faMoneyBillWheat,\n faCameraViewfinder: faCameraViewfinder,\n faScreenshot: faScreenshot,\n faMessageMusic: faMessageMusic,\n faCommentAltMusic: faCommentAltMusic,\n faCarBuilding: faCarBuilding,\n faBorderBottomRight: faBorderBottomRight,\n faBorderStyleAlt: faBorderStyleAlt,\n faOctagon: faOctagon,\n faCommentArrowUpRight: faCommentArrowUpRight,\n faOctagonDivide: faOctagonDivide,\n faCookie: faCookie,\n faArrowRotateLeft: faArrowRotateLeft,\n faArrowLeftRotate: faArrowLeftRotate,\n faArrowRotateBack: faArrowRotateBack,\n faArrowRotateBackward: faArrowRotateBackward,\n faUndo: faUndo,\n faTvMusic: faTvMusic,\n faHardDrive: faHardDrive,\n faHdd: faHdd,\n faReel: faReel,\n faFaceGrinSquintTears: faFaceGrinSquintTears,\n faGrinSquintTears: faGrinSquintTears,\n faDumbbell: faDumbbell,\n faRectangleList: faRectangleList,\n faListAlt: faListAlt,\n faTarpDroplet: faTarpDroplet,\n faAlarmExclamation: faAlarmExclamation,\n faHouseMedicalCircleCheck: faHouseMedicalCircleCheck,\n faTrafficCone: faTrafficCone,\n faGrate: faGrate,\n faArrowDownRight: faArrowDownRight,\n faPersonSkiingNordic: faPersonSkiingNordic,\n faSkiingNordic: faSkiingNordic,\n faCalendarPlus: faCalendarPlus,\n faPersonFromPortal: faPersonFromPortal,\n faPortalExit: faPortalExit,\n faPlaneArrival: faPlaneArrival,\n faCowbellCirclePlus: faCowbellCirclePlus,\n faCowbellMore: faCowbellMore,\n faCircleLeft: faCircleLeft,\n faArrowAltCircleLeft: faArrowAltCircleLeft,\n faDistributeSpacingVertical: faDistributeSpacingVertical,\n faSignalBarsFair: faSignalBarsFair,\n faSignalAlt2: faSignalAlt2,\n faSportsball: faSportsball,\n faGameConsoleHandheldCrank: faGameConsoleHandheldCrank,\n faTrainSubway: faTrainSubway,\n faSubway: faSubway,\n faChartGantt: faChartGantt,\n faFaceSmileUpsideDown: faFaceSmileUpsideDown,\n faBallPile: faBallPile,\n faBadgeDollar: faBadgeDollar,\n faMoneyBillsSimple: faMoneyBillsSimple,\n faMoneyBillsAlt: faMoneyBillsAlt,\n faListTimeline: faListTimeline,\n faIndianRupeeSign: faIndianRupeeSign,\n faIndianRupee: faIndianRupee,\n faInr: faInr,\n faCropSimple: faCropSimple,\n faCropAlt: faCropAlt,\n faMoneyBill1: faMoneyBill1,\n faMoneyBillAlt: faMoneyBillAlt,\n faLeftLong: faLeftLong,\n faLongArrowAltLeft: faLongArrowAltLeft,\n faKeyboardDown: faKeyboardDown,\n faCircleUpRight: faCircleUpRight,\n faCloudBoltMoon: faCloudBoltMoon,\n faThunderstormMoon: faThunderstormMoon,\n faTurnLeftUp: faTurnLeftUp,\n faDna: faDna,\n faVirusSlash: faVirusSlash,\n faBracketRoundRight: faBracketRoundRight,\n faCircleSterling: faCircleSterling,\n faCircle5: faCircle5,\n faMinus: faMinus,\n faSubtract: faSubtract,\n faFireFlame: faFireFlame,\n faFlame: faFlame,\n faRightToLine: faRightToLine,\n faArrowAltToRight: faArrowAltToRight,\n faGif: faGif,\n faChess: faChess,\n faTrashSlash: faTrashSlash,\n faArrowLeftLong: faArrowLeftLong,\n faLongArrowLeft: faLongArrowLeft,\n faPlugCircleCheck: faPlugCircleCheck,\n faFontCase: faFontCase,\n faStreetView: faStreetView,\n faArrowDownLeft: faArrowDownLeft,\n faFrancSign: faFrancSign,\n faFlaskRoundPoison: faFlaskRoundPoison,\n faFlaskPoison: faFlaskPoison,\n faVolumeOff: faVolumeOff,\n faBookCircleArrowRight: faBookCircleArrowRight,\n faChartUser: faChartUser,\n faUserChart: faUserChart,\n faHandsAslInterpreting: faHandsAslInterpreting,\n faAmericanSignLanguageInterpreting: faAmericanSignLanguageInterpreting,\n faAslInterpreting: faAslInterpreting,\n faHandsAmericanSignLanguageInterpreting: faHandsAmericanSignLanguageInterpreting,\n faPresentationScreen: faPresentationScreen,\n faPresentation: faPresentation,\n faCircleBolt: faCircleBolt,\n faFaceSmileHalo: faFaceSmileHalo,\n faCartCircleArrowDown: faCartCircleArrowDown,\n faHousePersonReturn: faHousePersonReturn,\n faHousePersonArrive: faHousePersonArrive,\n faHouseReturn: faHouseReturn,\n faMessageXmark: faMessageXmark,\n faCommentAltTimes: faCommentAltTimes,\n faMessageTimes: faMessageTimes,\n faFileCertificate: faFileCertificate,\n faFileAward: faFileAward,\n faUserDoctorHairLong: faUserDoctorHairLong,\n faCameraSecurity: faCameraSecurity,\n faCameraHome: faCameraHome,\n faGear: faGear,\n faCog: faCog,\n faDropletSlash: faDropletSlash,\n faTintSlash: faTintSlash,\n faBookHeart: faBookHeart,\n faMosque: faMosque,\n faDuck: faDuck,\n faMosquito: faMosquito,\n faStarOfDavid: faStarOfDavid,\n faFlagSwallowtail: faFlagSwallowtail,\n faFlagAlt: faFlagAlt,\n faPersonMilitaryRifle: faPersonMilitaryRifle,\n faCarGarage: faCarGarage,\n faCartShopping: faCartShopping,\n faShoppingCart: faShoppingCart,\n faBookFont: faBookFont,\n faShieldPlus: faShieldPlus,\n faVials: faVials,\n faEyeDropperFull: faEyeDropperFull,\n faDistributeSpacingHorizontal: faDistributeSpacingHorizontal,\n faTabletRugged: faTabletRugged,\n faTemperatureSnow: faTemperatureSnow,\n faTemperatureFrigid: faTemperatureFrigid,\n faMoped: faMoped,\n faFaceSmilePlus: faFaceSmilePlus,\n faSmilePlus: faSmilePlus,\n faRadioTuner: faRadioTuner,\n faRadioAlt: faRadioAlt,\n faFaceSwear: faFaceSwear,\n faWaterArrowDown: faWaterArrowDown,\n faWaterLower: faWaterLower,\n faScannerTouchscreen: faScannerTouchscreen,\n faCircle7: faCircle7,\n faPlugCirclePlus: faPlugCirclePlus,\n faPersonSkiJumping: faPersonSkiJumping,\n faSkiJump: faSkiJump,\n faPlaceOfWorship: faPlaceOfWorship,\n faWaterArrowUp: faWaterArrowUp,\n faWaterRise: faWaterRise,\n faWaveformLines: faWaveformLines,\n faWaveformPath: faWaveformPath,\n faSplit: faSplit,\n faFilmCanister: faFilmCanister,\n faFilmCannister: faFilmCannister,\n faFolderXmark: faFolderXmark,\n faFolderTimes: faFolderTimes,\n faToiletPaperBlank: faToiletPaperBlank,\n faToiletPaperAlt: faToiletPaperAlt,\n faTabletScreen: faTabletScreen,\n faTabletAndroidAlt: faTabletAndroidAlt,\n faHexagonVerticalNftSlanted: faHexagonVerticalNftSlanted,\n faFolderMusic: faFolderMusic,\n faDisplayMedical: faDisplayMedical,\n faDesktopMedical: faDesktopMedical,\n faShareAll: faShareAll,\n faPeapod: faPeapod,\n faChessClock: faChessClock,\n faAxe: faAxe,\n faSquareD: faSquareD,\n faGripVertical: faGripVertical,\n faMobileSignalOut: faMobileSignalOut,\n faArrowTurnUp: faArrowTurnUp,\n faLevelUp: faLevelUp,\n faU: faU,\n faArrowUpFromDottedLine: faArrowUpFromDottedLine,\n faSquareRootVariable: faSquareRootVariable,\n faSquareRootAlt: faSquareRootAlt,\n faLightSwitchOn: faLightSwitchOn,\n faArrowDownArrowUp: faArrowDownArrowUp,\n faSortAlt: faSortAlt,\n faRaindrops: faRaindrops,\n faDash: faDash,\n faMinusLarge: faMinusLarge,\n faClock: faClock,\n faClockFour: faClockFour,\n faInputNumeric: faInputNumeric,\n faTruckTow: faTruckTow,\n faBackwardStep: faBackwardStep,\n faStepBackward: faStepBackward,\n faPallet: faPallet,\n faCarBolt: faCarBolt,\n faArrowsMaximize: faArrowsMaximize,\n faExpandArrows: faExpandArrows,\n faFaucet: faFaucet,\n faCloudSleet: faCloudSleet,\n faLampStreet: faLampStreet,\n faListRadio: faListRadio,\n faPenNibSlash: faPenNibSlash,\n faBaseballBatBall: faBaseballBatBall,\n faSquareUpLeft: faSquareUpLeft,\n faOverline: faOverline,\n faS: faS,\n faTimeline: faTimeline,\n faKeyboard: faKeyboard,\n faArrowsFromDottedLine: faArrowsFromDottedLine,\n faUsbDrive: faUsbDrive,\n faBallot: faBallot,\n faCaretDown: faCaretDown,\n faLocationDotSlash: faLocationDotSlash,\n faMapMarkerAltSlash: faMapMarkerAltSlash,\n faCards: faCards,\n faHouseChimneyMedical: faHouseChimneyMedical,\n faClinicMedical: faClinicMedical,\n faBoxingGlove: faBoxingGlove,\n faGloveBoxing: faGloveBoxing,\n faTemperatureThreeQuarters: faTemperatureThreeQuarters,\n faTemperature3: faTemperature3,\n faThermometer3: faThermometer3,\n faThermometerThreeQuarters: faThermometerThreeQuarters,\n faBellSchool: faBellSchool,\n faMobileScreen: faMobileScreen,\n faMobileAndroidAlt: faMobileAndroidAlt,\n faPlaneUp: faPlaneUp,\n faFolderHeart: faFolderHeart,\n faCircleLocationArrow: faCircleLocationArrow,\n faLocationCircle: faLocationCircle,\n faFaceHeadBandage: faFaceHeadBandage,\n faSushiRoll: faSushiRoll,\n faMakiRoll: faMakiRoll,\n faMakizushi: faMakizushi,\n faCarBump: faCarBump,\n faPiggyBank: faPiggyBank,\n faRacquet: faRacquet,\n faCarMirrors: faCarMirrors,\n faIndustryWindows: faIndustryWindows,\n faIndustryAlt: faIndustryAlt,\n faBoltAuto: faBoltAuto,\n faBatteryHalf: faBatteryHalf,\n faBattery3: faBattery3,\n faFluxCapacitor: faFluxCapacitor,\n faMountainCity: faMountainCity,\n faCoins: faCoins,\n faHoneyPot: faHoneyPot,\n faOlive: faOlive,\n faKhanda: faKhanda,\n faFilterList: faFilterList,\n faOutlet: faOutlet,\n faSliders: faSliders,\n faSlidersH: faSlidersH,\n faCauldron: faCauldron,\n faPeople: faPeople,\n faFolderTree: faFolderTree,\n faNetworkWired: faNetworkWired,\n faCroissant: faCroissant,\n faMapPin: faMapPin,\n faHamsa: faHamsa,\n faCentSign: faCentSign,\n faSwordsLaser: faSwordsLaser,\n faFlask: faFlask,\n faPersonPregnant: faPersonPregnant,\n faSquareU: faSquareU,\n faWandSparkles: faWandSparkles,\n faRouter: faRouter,\n faEllipsisVertical: faEllipsisVertical,\n faEllipsisV: faEllipsisV,\n faSwordLaserAlt: faSwordLaserAlt,\n faTicket: faTicket,\n faPowerOff: faPowerOff,\n faCoin: faCoin,\n faLaptopSlash: faLaptopSlash,\n faRightLong: faRightLong,\n faLongArrowAltRight: faLongArrowAltRight,\n faCircleB: faCircleB,\n faPersonDressSimple: faPersonDressSimple,\n faPipeCollar: faPipeCollar,\n faLightsHoliday: faLightsHoliday,\n faCitrus: faCitrus,\n faFlagUsa: faFlagUsa,\n faLaptopFile: faLaptopFile,\n faTty: faTty,\n faTeletype: faTeletype,\n faChartTreeMap: faChartTreeMap,\n faDiagramNext: faDiagramNext,\n faPersonRifle: faPersonRifle,\n faClockFiveThirty: faClockFiveThirty,\n faPipeValve: faPipeValve,\n faArrowUpFromArc: faArrowUpFromArc,\n faFaceSpiralEyes: faFaceSpiralEyes,\n faCompressWide: faCompressWide,\n faCirclePhoneHangup: faCirclePhoneHangup,\n faPhoneCircleDown: faPhoneCircleDown,\n faGearComplexCode: faGearComplexCode,\n faHouseMedicalCircleExclamation: faHouseMedicalCircleExclamation,\n faBadminton: faBadminton,\n faClosedCaptioning: faClosedCaptioning,\n faPersonHiking: faPersonHiking,\n faHiking: faHiking,\n faRightFromLine: faRightFromLine,\n faArrowAltFromLeft: faArrowAltFromLeft,\n faVenusDouble: faVenusDouble,\n faImages: faImages,\n faCalculator: faCalculator,\n faShuttlecock: faShuttlecock,\n faUserHair: faUserHair,\n faEyeEvil: faEyeEvil,\n faPeoplePulling: faPeoplePulling,\n faN: faN,\n faSwap: faSwap,\n faGarage: faGarage,\n faCableCar: faCableCar,\n faTram: faTram,\n faShovelSnow: faShovelSnow,\n faCloudRain: faCloudRain,\n faFaceLying: faFaceLying,\n faSprinkler: faSprinkler,\n faBuildingCircleXmark: faBuildingCircleXmark,\n faPersonSledding: faPersonSledding,\n faSledding: faSledding,\n faGameConsoleHandheld: faGameConsoleHandheld,\n faShip: faShip,\n faClockSixThirty: faClockSixThirty,\n faBatterySlash: faBatterySlash,\n faTugrikSign: faTugrikSign,\n faArrowsDownToLine: faArrowsDownToLine,\n faDownload: faDownload,\n faAnglesUpDown: faAnglesUpDown,\n faShelves: faShelves,\n faInventory: faInventory,\n faCloudSnow: faCloudSnow,\n faFaceGrin: faFaceGrin,\n faGrin: faGrin,\n faDeleteLeft: faDeleteLeft,\n faBackspace: faBackspace,\n faOven: faOven,\n faCloudBinary: faCloudBinary,\n faEyeDropper: faEyeDropper,\n faEyeDropperEmpty: faEyeDropperEmpty,\n faEyedropper: faEyedropper,\n faCommentCaptions: faCommentCaptions,\n faCommentsQuestion: faCommentsQuestion,\n faScribble: faScribble,\n faRotateExclamation: faRotateExclamation,\n faFileCircleCheck: faFileCircleCheck,\n faGlass: faGlass,\n faLoader: faLoader,\n faForward: faForward,\n faUserPilot: faUserPilot,\n faMobile: faMobile,\n faMobileAndroid: faMobileAndroid,\n faMobilePhone: faMobilePhone,\n faCodePullRequestClosed: faCodePullRequestClosed,\n faFaceMeh: faFaceMeh,\n faMeh: faMeh,\n faAlignCenter: faAlignCenter,\n faBookSkull: faBookSkull,\n faBookDead: faBookDead,\n faIdCard: faIdCard,\n faDriversLicense: faDriversLicense,\n faFaceDotted: faFaceDotted,\n faFaceWorried: faFaceWorried,\n faOutdent: faOutdent,\n faDedent: faDedent,\n faCourtSport: faCourtSport,\n faHeartCircleExclamation: faHeartCircleExclamation,\n faHouse: faHouse,\n faHome: faHome,\n faHomeAlt: faHomeAlt,\n faHomeLgAlt: faHomeLgAlt,\n faVectorCircle: faVectorCircle,\n faCarCircleBolt: faCarCircleBolt,\n faCalendarWeek: faCalendarWeek,\n faFlyingDisc: faFlyingDisc,\n faLaptopMedical: faLaptopMedical,\n faSquareDownRight: faSquareDownRight,\n faB: faB,\n faSeatAirline: faSeatAirline,\n faMoonOverSun: faMoonOverSun,\n faEclipseAlt: faEclipseAlt,\n faPipe: faPipe,\n faFileMedical: faFileMedical,\n faPotato: faPotato,\n faDiceOne: faDiceOne,\n faCircleA: faCircleA,\n faHelmetBattle: faHelmetBattle,\n faButter: faButter,\n faBlanketFire: faBlanketFire,\n faKiwiBird: faKiwiBird,\n faCastle: faCastle,\n faGolfClub: faGolfClub,\n faArrowRightArrowLeft: faArrowRightArrowLeft,\n faExchange: faExchange,\n faRotateRight: faRotateRight,\n faRedoAlt: faRedoAlt,\n faRotateForward: faRotateForward,\n faUtensils: faUtensils,\n faCutlery: faCutlery,\n faArrowUpWideShort: faArrowUpWideShort,\n faSortAmountUp: faSortAmountUp,\n faChartPieSimpleCircleDollar: faChartPieSimpleCircleDollar,\n faBalloons: faBalloons,\n faMillSign: faMillSign,\n faBowlRice: faBowlRice,\n faTimelineArrow: faTimelineArrow,\n faSkull: faSkull,\n faGameBoardSimple: faGameBoardSimple,\n faGameBoardAlt: faGameBoardAlt,\n faCircleVideo: faCircleVideo,\n faVideoCircle: faVideoCircle,\n faChartScatterBubble: faChartScatterBubble,\n faHouseTurret: faHouseTurret,\n faBanana: faBanana,\n faHandHoldingSkull: faHandHoldingSkull,\n faPeopleDress: faPeopleDress,\n faLoveseat: faLoveseat,\n faCouchSmall: faCouchSmall,\n faTowerBroadcast: faTowerBroadcast,\n faBroadcastTower: faBroadcastTower,\n faTruckPickup: faTruckPickup,\n faBlockQuote: faBlockQuote,\n faUpLong: faUpLong,\n faLongArrowAltUp: faLongArrowAltUp,\n faStop: faStop,\n faCodeMerge: faCodeMerge,\n faMoneyCheckDollarPen: faMoneyCheckDollarPen,\n faMoneyCheckEditAlt: faMoneyCheckEditAlt,\n faUpFromLine: faUpFromLine,\n faArrowAltFromBottom: faArrowAltFromBottom,\n faUpload: faUpload,\n faHurricane: faHurricane,\n faGridRound2Plus: faGridRound2Plus,\n faPeoplePants: faPeoplePants,\n faMound: faMound,\n faWindsock: faWindsock,\n faCircleHalf: faCircleHalf,\n faBrakeWarning: faBrakeWarning,\n faToiletPortable: faToiletPortable,\n faCompactDisc: faCompactDisc,\n faFileArrowDown: faFileArrowDown,\n faFileDownload: faFileDownload,\n faSaxophoneFire: faSaxophoneFire,\n faSaxHot: faSaxHot,\n faCameraWebSlash: faCameraWebSlash,\n faWebcamSlash: faWebcamSlash,\n faFolderMedical: faFolderMedical,\n faFolderGear: faFolderGear,\n faFolderCog: faFolderCog,\n faHandWave: faHandWave,\n faArrowUpArrowDown: faArrowUpArrowDown,\n faSortUpDown: faSortUpDown,\n faCaravan: faCaravan,\n faShieldCat: faShieldCat,\n faMessageSlash: faMessageSlash,\n faCommentAltSlash: faCommentAltSlash,\n faBolt: faBolt,\n faZap: faZap,\n faTrashCanCheck: faTrashCanCheck,\n faGlassWater: faGlassWater,\n faOilWell: faOilWell,\n faPersonSimple: faPersonSimple,\n faArrowTurnLeftUp: faArrowTurnLeftUp,\n faVault: faVault,\n faMars: faMars,\n faToilet: faToilet,\n faPlaneCircleXmark: faPlaneCircleXmark,\n faYenSign: faYenSign,\n faCny: faCny,\n faJpy: faJpy,\n faRmb: faRmb,\n faYen: faYen,\n faGearCode: faGearCode,\n faNotes: faNotes,\n faRubleSign: faRubleSign,\n faRouble: faRouble,\n faRub: faRub,\n faRuble: faRuble,\n faTrashUndo: faTrashUndo,\n faTrashArrowTurnLeft: faTrashArrowTurnLeft,\n faChampagneGlass: faChampagneGlass,\n faGlassChampagne: faGlassChampagne,\n faObjectsAlignCenterHorizontal: faObjectsAlignCenterHorizontal,\n faSun: faSun,\n faTrashCanSlash: faTrashCanSlash,\n faTrashAltSlash: faTrashAltSlash,\n faScreenUsers: faScreenUsers,\n faUsersClass: faUsersClass,\n faGuitar: faGuitar,\n faSquareArrowLeft: faSquareArrowLeft,\n faArrowSquareLeft: faArrowSquareLeft,\n faSquare8: faSquare8,\n faFaceSmileHearts: faFaceSmileHearts,\n faBracketsSquare: faBracketsSquare,\n faBrackets: faBrackets,\n faLaptopArrowDown: faLaptopArrowDown,\n faHockeyStickPuck: faHockeyStickPuck,\n faHouseTree: faHouseTree,\n faSignalFair: faSignalFair,\n faSignal2: faSignal2,\n faFaceLaughWink: faFaceLaughWink,\n faLaughWink: faLaughWink,\n faCircleDollar: faCircleDollar,\n faDollarCircle: faDollarCircle,\n faUsdCircle: faUsdCircle,\n faHorseHead: faHorseHead,\n faArrowsRepeat: faArrowsRepeat,\n faRepeatAlt: faRepeatAlt,\n faBoreHole: faBoreHole,\n faIndustry: faIndustry,\n faImagePolaroid: faImagePolaroid,\n faWaveTriangle: faWaveTriangle,\n faTurnLeftDown: faTurnLeftDown,\n faPersonRunningFast: faPersonRunningFast,\n faCircleDown: faCircleDown,\n faArrowAltCircleDown: faArrowAltCircleDown,\n faGrill: faGrill,\n faArrowsTurnToDots: faArrowsTurnToDots,\n faChartMixed: faChartMixed,\n faAnalytics: faAnalytics,\n faFlorinSign: faFlorinSign,\n faArrowDownShortWide: faArrowDownShortWide,\n faSortAmountDesc: faSortAmountDesc,\n faSortAmountDownAlt: faSortAmountDownAlt,\n faLessThan: faLessThan,\n faDisplayCode: faDisplayCode,\n faDesktopCode: faDesktopCode,\n faFaceDrooling: faFaceDrooling,\n faOilTemperature: faOilTemperature,\n faOilTemp: faOilTemp,\n faSquareQuestion: faSquareQuestion,\n faQuestionSquare: faQuestionSquare,\n faAirConditioner: faAirConditioner,\n faAngleDown: faAngleDown,\n faMountains: faMountains,\n faOmega: faOmega,\n faCarTunnel: faCarTunnel,\n faPersonDollyEmpty: faPersonDollyEmpty,\n faPanFood: faPanFood,\n faHeadSideCough: faHeadSideCough,\n faGripLines: faGripLines,\n faThumbsDown: faThumbsDown,\n faUserLock: faUserLock,\n faArrowRightLong: faArrowRightLong,\n faLongArrowRight: faLongArrowRight,\n faTicketsAirline: faTicketsAirline,\n faTicketsPerforatedPlane: faTicketsPerforatedPlane,\n faTicketsPlane: faTicketsPlane,\n faTentDoublePeak: faTentDoublePeak,\n faAnchorCircleXmark: faAnchorCircleXmark,\n faEllipsis: faEllipsis,\n faEllipsisH: faEllipsisH,\n faNfcSlash: faNfcSlash,\n faChessPawn: faChessPawn,\n faKitMedical: faKitMedical,\n faFirstAid: faFirstAid,\n faGrid2Plus: faGrid2Plus,\n faBells: faBells,\n faPersonThroughWindow: faPersonThroughWindow,\n faToolbox: faToolbox,\n faEnvelopeDot: faEnvelopeDot,\n faEnvelopeBadge: faEnvelopeBadge,\n faMagnifyingGlassWaveform: faMagnifyingGlassWaveform,\n faHandsHoldingCircle: faHandsHoldingCircle,\n faBug: faBug,\n faBowlChopsticks: faBowlChopsticks,\n faCreditCard: faCreditCard,\n faCreditCardAlt: faCreditCardAlt,\n faCircleS: faCircleS,\n faBoxBallot: faBoxBallot,\n faCar: faCar,\n faAutomobile: faAutomobile,\n faHandHoldingHand: faHandHoldingHand,\n faUserTieHair: faUserTieHair,\n faPodiumStar: faPodiumStar,\n faUserHairMullet: faUserHairMullet,\n faBusinessFront: faBusinessFront,\n faPartyBack: faPartyBack,\n faTrianBalbot: faTrianBalbot,\n faMicrophoneStand: faMicrophoneStand,\n faBookOpenReader: faBookOpenReader,\n faBookReader: faBookReader,\n faFamilyDress: faFamilyDress,\n faCircleX: faCircleX,\n faCabin: faCabin,\n faMountainSun: faMountainSun,\n faChartSimpleHorizontal: faChartSimpleHorizontal,\n faBluetooth: faBluetooth,\n faArrowsLeftRightToLine: faArrowsLeftRightToLine,\n faHandBackPointLeft: faHandBackPointLeft,\n faMessageDots: faMessageDots,\n faCommentAltDots: faCommentAltDots,\n faMessaging: faMessaging,\n faFileHeart: faFileHeart,\n faBeerMug: faBeerMug,\n faBeerFoam: faBeerFoam,\n faDiceD20: faDiceD20,\n faDrone: faDrone,\n faTruckDroplet: faTruckDroplet,\n faFileCircleXmark: faFileCircleXmark,\n faTemperatureArrowUp: faTemperatureArrowUp,\n faTemperatureUp: faTemperatureUp,\n faMedal: faMedal,\n faPersonFairy: faPersonFairy,\n faBed: faBed,\n faBookCopy: faBookCopy,\n faSquareH: faSquareH,\n faHSquare: faHSquare,\n faSquareC: faSquareC,\n faClockTwo: faClockTwo,\n faSquareEllipsisVertical: faSquareEllipsisVertical,\n faCalendarUsers: faCalendarUsers,\n faPodcast: faPodcast,\n faBee: faBee,\n faTemperatureFull: faTemperatureFull,\n faTemperature4: faTemperature4,\n faThermometer4: faThermometer4,\n faThermometerFull: faThermometerFull,\n faBell: faBell,\n faCandyBar: faCandyBar,\n faChocolateBar: faChocolateBar,\n faXmarkLarge: faXmarkLarge,\n faPinata: faPinata,\n faFilePpt: faFilePpt,\n faArrowsFromLine: faArrowsFromLine,\n faSuperscript: faSuperscript,\n faBowlSpoon: faBowlSpoon,\n faHexagonCheck: faHexagonCheck,\n faPlugCircleXmark: faPlugCircleXmark,\n faStarOfLife: faStarOfLife,\n faPhoneSlash: faPhoneSlash,\n faTrafficLightStop: faTrafficLightStop,\n faPaintRoller: faPaintRoller,\n faAccentGrave: faAccentGrave,\n faHandshakeAngle: faHandshakeAngle,\n faHandsHelping: faHandsHelping,\n faCircle0: faCircle0,\n faDialMedLow: faDialMedLow,\n faLocationDot: faLocationDot,\n faMapMarkerAlt: faMapMarkerAlt,\n faCrab: faCrab,\n faBoxOpenFull: faBoxOpenFull,\n faBoxFull: faBoxFull,\n faFile: faFile,\n faGreaterThan: faGreaterThan,\n faQuotes: faQuotes,\n faPretzel: faPretzel,\n faTRex: faTRex,\n faPersonSwimming: faPersonSwimming,\n faSwimmer: faSwimmer,\n faArrowDown: faArrowDown,\n faUserRobotXmarks: faUserRobotXmarks,\n faMessageQuote: faMessageQuote,\n faCommentAltQuote: faCommentAltQuote,\n faCandyCorn: faCandyCorn,\n faFolderMagnifyingGlass: faFolderMagnifyingGlass,\n faFolderSearch: faFolderSearch,\n faNotebook: faNotebook,\n faCircleWifi: faCircleWifi,\n faDroplet: faDroplet,\n faTint: faTint,\n faBullseyePointer: faBullseyePointer,\n faEraser: faEraser,\n faHexagonImage: faHexagonImage,\n faEarthAmericas: faEarthAmericas,\n faEarth: faEarth,\n faEarthAmerica: faEarthAmerica,\n faGlobeAmericas: faGlobeAmericas,\n faFileSvg: faFileSvg,\n faCrateApple: faCrateApple,\n faAppleCrate: faAppleCrate,\n faPersonBurst: faPersonBurst,\n faGameBoard: faGameBoard,\n faHatChef: faHatChef,\n faHandBackPointRight: faHandBackPointRight,\n faDove: faDove,\n faSnowflakeDroplets: faSnowflakeDroplets,\n faBatteryEmpty: faBatteryEmpty,\n faBattery0: faBattery0,\n faGrid4: faGrid4,\n faSocks: faSocks,\n faFaceSunglasses: faFaceSunglasses,\n faInbox: faInbox,\n faSquare0: faSquare0,\n faSection: faSection,\n faSquareThisWayUp: faSquareThisWayUp,\n faBoxUp: faBoxUp,\n faGaugeHigh: faGaugeHigh,\n faTachometerAlt: faTachometerAlt,\n faTachometerAltFast: faTachometerAltFast,\n faSquareAmpersand: faSquareAmpersand,\n faEnvelopeOpenText: faEnvelopeOpenText,\n faLampDesk: faLampDesk,\n faHospital: faHospital,\n faHospitalAlt: faHospitalAlt,\n faHospitalWide: faHospitalWide,\n faPollPeople: faPollPeople,\n faWhiskeyGlassIce: faWhiskeyGlassIce,\n faGlassWhiskeyRocks: faGlassWhiskeyRocks,\n faWineBottle: faWineBottle,\n faChessRook: faChessRook,\n faUserBountyHunter: faUserBountyHunter,\n faBarsStaggered: faBarsStaggered,\n faReorder: faReorder,\n faStream: faStream,\n faDiagramSankey: faDiagramSankey,\n faCloudHailMixed: faCloudHailMixed,\n faCircleUpLeft: faCircleUpLeft,\n faDharmachakra: faDharmachakra,\n faObjectsAlignLeft: faObjectsAlignLeft,\n faOilCanDrip: faOilCanDrip,\n faFaceSmilingHands: faFaceSmilingHands,\n faBroccoli: faBroccoli,\n faRouteInterstate: faRouteInterstate,\n faEarMuffs: faEarMuffs,\n faHotdog: faHotdog,\n faTransporterEmpty: faTransporterEmpty,\n faPersonWalkingWithCane: faPersonWalkingWithCane,\n faBlind: faBlind,\n faAngle90: faAngle90,\n faRectangleTerminal: faRectangleTerminal,\n faKite: faKite,\n faDrum: faDrum,\n faScrubber: faScrubber,\n faIceCream: faIceCream,\n faHeartCircleBolt: faHeartCircleBolt,\n faFishBones: faFishBones,\n faDeerRudolph: faDeerRudolph,\n faFax: faFax,\n faParagraph: faParagraph,\n faHeadSideHeart: faHeadSideHeart,\n faSquareE: faSquareE,\n faMeterFire: faMeterFire,\n faCloudHail: faCloudHail,\n faCheckToSlot: faCheckToSlot,\n faVoteYea: faVoteYea,\n faMoneyFromBracket: faMoneyFromBracket,\n faStarHalf: faStarHalf,\n faCarBus: faCarBus,\n faSpeaker: faSpeaker,\n faTimer: faTimer,\n faBoxesStacked: faBoxesStacked,\n faBoxes: faBoxes,\n faBoxesAlt: faBoxesAlt,\n faLandmarkMagnifyingGlass: faLandmarkMagnifyingGlass,\n faGrillHot: faGrillHot,\n faBallotCheck: faBallotCheck,\n faLink: faLink,\n faChain: faChain,\n faEarListen: faEarListen,\n faAssistiveListeningSystems: faAssistiveListeningSystems,\n faFileMinus: faFileMinus,\n faTreeCity: faTreeCity,\n faPlay: faPlay,\n faFont: faFont,\n faCupTogo: faCupTogo,\n faCoffeeTogo: faCoffeeTogo,\n faSquareDownLeft: faSquareDownLeft,\n faBurgerLettuce: faBurgerLettuce,\n faTableCellsRowLock: faTableCellsRowLock,\n faRupiahSign: faRupiahSign,\n faMagnifyingGlass: faMagnifyingGlass,\n faSearch: faSearch,\n faTableTennisPaddleBall: faTableTennisPaddleBall,\n faPingPongPaddleBall: faPingPongPaddleBall,\n faTableTennis: faTableTennis,\n faPersonDotsFromLine: faPersonDotsFromLine,\n faDiagnoses: faDiagnoses,\n faChevronsDown: faChevronsDown,\n faChevronDoubleDown: faChevronDoubleDown,\n faTrashCanArrowUp: faTrashCanArrowUp,\n faTrashRestoreAlt: faTrashRestoreAlt,\n faSignalGood: faSignalGood,\n faSignal3: faSignal3,\n faLocationQuestion: faLocationQuestion,\n faMapMarkerQuestion: faMapMarkerQuestion,\n faFloppyDiskCircleXmark: faFloppyDiskCircleXmark,\n faFloppyDiskTimes: faFloppyDiskTimes,\n faSaveCircleXmark: faSaveCircleXmark,\n faSaveTimes: faSaveTimes,\n faNairaSign: faNairaSign,\n faPeach: faPeach,\n faTaxiBus: faTaxiBus,\n faBracketCurly: faBracketCurly,\n faBracketCurlyLeft: faBracketCurlyLeft,\n faLobster: faLobster,\n faCartFlatbedEmpty: faCartFlatbedEmpty,\n faDollyFlatbedEmpty: faDollyFlatbedEmpty,\n faColon: faColon,\n faCartArrowDown: faCartArrowDown,\n faWand: faWand,\n faWalkieTalkie: faWalkieTalkie,\n faFilePen: faFilePen,\n faFileEdit: faFileEdit,\n faReceipt: faReceipt,\n faTablePicnic: faTablePicnic,\n faSquarePen: faSquarePen,\n faPenSquare: faPenSquare,\n faPencilSquare: faPencilSquare,\n faCircleMicrophoneLines: faCircleMicrophoneLines,\n faMicrophoneCircleAlt: faMicrophoneCircleAlt,\n faDisplaySlash: faDisplaySlash,\n faDesktopSlash: faDesktopSlash,\n faSuitcaseRolling: faSuitcaseRolling,\n faPersonCircleExclamation: faPersonCircleExclamation,\n faTransporter2: faTransporter2,\n faHandsHoldingDiamond: faHandsHoldingDiamond,\n faHandReceiving: faHandReceiving,\n faMoneyBillSimpleWave: faMoneyBillSimpleWave,\n faChevronDown: faChevronDown,\n faBatteryFull: faBatteryFull,\n faBattery: faBattery,\n faBattery5: faBattery5,\n faBellPlus: faBellPlus,\n faBookArrowRight: faBookArrowRight,\n faHospitals: faHospitals,\n faClub: faClub,\n faSkullCrossbones: faSkullCrossbones,\n faDropletDegree: faDropletDegree,\n faDewpoint: faDewpoint,\n faCodeCompare: faCodeCompare,\n faListUl: faListUl,\n faListDots: faListDots,\n faHandHoldingMagic: faHandHoldingMagic,\n faWatermelonSlice: faWatermelonSlice,\n faCircleEllipsis: faCircleEllipsis,\n faSchoolLock: faSchoolLock,\n faTowerCell: faTowerCell,\n faSdCards: faSdCards,\n faJugBottle: faJugBottle,\n faDownLong: faDownLong,\n faLongArrowAltDown: faLongArrowAltDown,\n faEnvelopes: faEnvelopes,\n faPhoneOffice: faPhoneOffice,\n faRankingStar: faRankingStar,\n faChessKing: faChessKing,\n faNfcPen: faNfcPen,\n faPersonHarassing: faPersonHarassing,\n faMagnifyingGlassPlay: faMagnifyingGlassPlay,\n faHatWinter: faHatWinter,\n faBrazilianRealSign: faBrazilianRealSign,\n faLandmarkDome: faLandmarkDome,\n faLandmarkAlt: faLandmarkAlt,\n faBoneBreak: faBoneBreak,\n faArrowUp: faArrowUp,\n faDownFromDottedLine: faDownFromDottedLine,\n faTv: faTv,\n faTelevision: faTelevision,\n faTvAlt: faTvAlt,\n faBorderLeft: faBorderLeft,\n faCircleDivide: faCircleDivide,\n faShrimp: faShrimp,\n faListCheck: faListCheck,\n faTasks: faTasks,\n faDiagramSubtask: faDiagramSubtask,\n faJugDetergent: faJugDetergent,\n faCircleUser: faCircleUser,\n faUserCircle: faUserCircle,\n faSquareY: faSquareY,\n faUserDoctorHair: faUserDoctorHair,\n faPlanetRinged: faPlanetRinged,\n faMushroom: faMushroom,\n faUserShield: faUserShield,\n faMegaphone: faMegaphone,\n faWreathLaurel: faWreathLaurel,\n faCircleExclamationCheck: faCircleExclamationCheck,\n faWind: faWind,\n faBoxDollar: faBoxDollar,\n faBoxUsd: faBoxUsd,\n faCarBurst: faCarBurst,\n faCarCrash: faCarCrash,\n faY: faY,\n faUserHeadset: faUserHeadset,\n faArrowsRetweet: faArrowsRetweet,\n faRetweetAlt: faRetweetAlt,\n faPersonSnowboarding: faPersonSnowboarding,\n faSnowboarding: faSnowboarding,\n faSquareChevronRight: faSquareChevronRight,\n faChevronSquareRight: faChevronSquareRight,\n faLacrosseStickBall: faLacrosseStickBall,\n faTruckFast: faTruckFast,\n faShippingFast: faShippingFast,\n faUserMagnifyingGlass: faUserMagnifyingGlass,\n faStarSharp: faStarSharp,\n faCommentHeart: faCommentHeart,\n faCircle1: faCircle1,\n faCircleStar: faCircleStar,\n faStarCircle: faStarCircle,\n faFish: faFish,\n faCloudFog: faCloudFog,\n faFog: faFog,\n faWaffle: faWaffle,\n faMusicNote: faMusicNote,\n faMusicAlt: faMusicAlt,\n faHexagonExclamation: faHexagonExclamation,\n faCartShoppingFast: faCartShoppingFast,\n faObjectUnion: faObjectUnion,\n faUserGraduate: faUserGraduate,\n faStarfighter: faStarfighter,\n faCircleHalfStroke: faCircleHalfStroke,\n faAdjust: faAdjust,\n faArrowRightLongToLine: faArrowRightLongToLine,\n faSquareArrowDown: faSquareArrowDown,\n faArrowSquareDown: faArrowSquareDown,\n faDiamondHalfStroke: faDiamondHalfStroke,\n faClapperboard: faClapperboard,\n faSquareChevronLeft: faSquareChevronLeft,\n faChevronSquareLeft: faChevronSquareLeft,\n faPhoneIntercom: faPhoneIntercom,\n faLinkHorizontal: faLinkHorizontal,\n faChainHorizontal: faChainHorizontal,\n faMango: faMango,\n faMusicNoteSlash: faMusicNoteSlash,\n faMusicAltSlash: faMusicAltSlash,\n faCircleRadiation: faCircleRadiation,\n faRadiationAlt: faRadiationAlt,\n faFaceTongueSweat: faFaceTongueSweat,\n faGlobeStand: faGlobeStand,\n faBaseball: faBaseball,\n faBaseballBall: faBaseballBall,\n faCircleP: faCircleP,\n faAwardSimple: faAwardSimple,\n faJetFighterUp: faJetFighterUp,\n faDiagramProject: faDiagramProject,\n faProjectDiagram: faProjectDiagram,\n faPedestal: faPedestal,\n faChartPyramid: faChartPyramid,\n faSidebar: faSidebar,\n faSnowmanHead: faSnowmanHead,\n faFrostyHead: faFrostyHead,\n faCopy: faCopy,\n faBurgerGlass: faBurgerGlass,\n faVolumeXmark: faVolumeXmark,\n faVolumeMute: faVolumeMute,\n faVolumeTimes: faVolumeTimes,\n faHandSparkles: faHandSparkles,\n faBarsFilter: faBarsFilter,\n faPaintbrushPencil: faPaintbrushPencil,\n faPartyBell: faPartyBell,\n faUserVneckHair: faUserVneckHair,\n faJackOLantern: faJackOLantern,\n faGrip: faGrip,\n faGripHorizontal: faGripHorizontal,\n faShareFromSquare: faShareFromSquare,\n faShareSquare: faShareSquare,\n faKeynote: faKeynote,\n faChildCombatant: faChildCombatant,\n faChildRifle: faChildRifle,\n faGun: faGun,\n faSquarePhone: faSquarePhone,\n faPhoneSquare: faPhoneSquare,\n faHatBeach: faHatBeach,\n faPlus: faPlus,\n faAdd: faAdd,\n faExpand: faExpand,\n faComputer: faComputer,\n faFort: faFort,\n faCloudCheck: faCloudCheck,\n faXmark: faXmark,\n faClose: faClose,\n faMultiply: faMultiply,\n faRemove: faRemove,\n faTimes: faTimes,\n faFaceSmirking: faFaceSmirking,\n faArrowsUpDownLeftRight: faArrowsUpDownLeftRight,\n faArrows: faArrows,\n faChalkboardUser: faChalkboardUser,\n faChalkboardTeacher: faChalkboardTeacher,\n faRhombus: faRhombus,\n faClawMarks: faClawMarks,\n faPesoSign: faPesoSign,\n faFaceSmileTongue: faFaceSmileTongue,\n faCartCircleXmark: faCartCircleXmark,\n faBuildingShield: faBuildingShield,\n faCirclePhoneFlip: faCirclePhoneFlip,\n faPhoneCircleAlt: faPhoneCircleAlt,\n faBaby: faBaby,\n faUsersLine: faUsersLine,\n faQuoteLeft: faQuoteLeft,\n faQuoteLeftAlt: faQuoteLeftAlt,\n faTractor: faTractor,\n faDownFromBracket: faDownFromBracket,\n faKeySkeleton: faKeySkeleton,\n faTrashArrowUp: faTrashArrowUp,\n faTrashRestore: faTrashRestore,\n faArrowDownUpLock: faArrowDownUpLock,\n faArrowDownToBracket: faArrowDownToBracket,\n faLinesLeaning: faLinesLeaning,\n faSquareQ: faSquareQ,\n faRulerCombined: faRulerCombined,\n faSymbols: faSymbols,\n faIconsAlt: faIconsAlt,\n faCopyright: faCopyright,\n faFlaskGear: faFlaskGear,\n faHighlighterLine: faHighlighterLine,\n faBracketSquare: faBracketSquare,\n faBracket: faBracket,\n faBracketLeft: faBracketLeft,\n faIslandTropical: faIslandTropical,\n faIslandTreePalm: faIslandTreePalm,\n faArrowRightFromLine: faArrowRightFromLine,\n faArrowFromLeft: faArrowFromLeft,\n faH2: faH2,\n faEquals: faEquals,\n faCakeSlice: faCakeSlice,\n faShortcake: faShortcake,\n faBuildingMagnifyingGlass: faBuildingMagnifyingGlass,\n faPeanut: faPeanut,\n faWrenchSimple: faWrenchSimple,\n faBlender: faBlender,\n faTeeth: faTeeth,\n faTally2: faTally2,\n faShekelSign: faShekelSign,\n faIls: faIls,\n faShekel: faShekel,\n faSheqel: faSheqel,\n faSheqelSign: faSheqelSign,\n faCars: faCars,\n faAxeBattle: faAxeBattle,\n faUserHairLong: faUserHairLong,\n faMap: faMap,\n faArrowLeftFromArc: faArrowLeftFromArc,\n faFileCircleInfo: faFileCircleInfo,\n faFaceDisappointed: faFaceDisappointed,\n faLassoSparkles: faLassoSparkles,\n faClockEleven: faClockEleven,\n faRocket: faRocket,\n faSirenOn: faSirenOn,\n faClockTen: faClockTen,\n faCandleHolder: faCandleHolder,\n faVideoArrowDownLeft: faVideoArrowDownLeft,\n faPhotoFilm: faPhotoFilm,\n faPhotoVideo: faPhotoVideo,\n faFloppyDiskCircleArrowRight: faFloppyDiskCircleArrowRight,\n faSaveCircleArrowRight: faSaveCircleArrowRight,\n faFolderMinus: faFolderMinus,\n faPlanetMoon: faPlanetMoon,\n faFaceEyesXmarks: faFaceEyesXmarks,\n faChartScatter: faChartScatter,\n faCircleGf: faCircleGf,\n faDisplayArrowDown: faDisplayArrowDown,\n faStore: faStore,\n faArrowTrendUp: faArrowTrendUp,\n faPlugCircleMinus: faPlugCircleMinus,\n faOliveBranch: faOliveBranch,\n faAngle: faAngle,\n faVacuumRobot: faVacuumRobot,\n faSignHanging: faSignHanging,\n faSign: faSign,\n faSquareDivide: faSquareDivide,\n faFolderCheck: faFolderCheck,\n faSignalStreamSlash: faSignalStreamSlash,\n faBezierCurve: faBezierCurve,\n faEyeDropperHalf: faEyeDropperHalf,\n faStoreLock: faStoreLock,\n faBellSlash: faBellSlash,\n faCloudBoltSun: faCloudBoltSun,\n faThunderstormSun: faThunderstormSun,\n faCameraSlash: faCameraSlash,\n faCommentQuote: faCommentQuote,\n faTablet: faTablet,\n faTabletAndroid: faTabletAndroid,\n faSchoolFlag: faSchoolFlag,\n faMessageCode: faMessageCode,\n faGlassHalf: faGlassHalf,\n faGlassHalfEmpty: faGlassHalfEmpty,\n faGlassHalfFull: faGlassHalfFull,\n faFill: faFill,\n faMessageMinus: faMessageMinus,\n faCommentAltMinus: faCommentAltMinus,\n faAngleUp: faAngleUp,\n faDinosaur: faDinosaur,\n faDrumstickBite: faDrumstickBite,\n faLinkHorizontalSlash: faLinkHorizontalSlash,\n faChainHorizontalSlash: faChainHorizontalSlash,\n faHollyBerry: faHollyBerry,\n faNose: faNose,\n faArrowLeftToArc: faArrowLeftToArc,\n faChevronLeft: faChevronLeft,\n faBacteria: faBacteria,\n faClouds: faClouds,\n faMoneyBillSimple: faMoneyBillSimple,\n faHandLizard: faHandLizard,\n faTablePivot: faTablePivot,\n faFilterSlash: faFilterSlash,\n faTrashCanUndo: faTrashCanUndo,\n faTrashCanArrowTurnLeft: faTrashCanArrowTurnLeft,\n faTrashUndoAlt: faTrashUndoAlt,\n faNotdef: faNotdef,\n faDisease: faDisease,\n faPersonToDoor: faPersonToDoor,\n faTurntable: faTurntable,\n faBriefcaseMedical: faBriefcaseMedical,\n faGenderless: faGenderless,\n faChevronRight: faChevronRight,\n faSignalWeak: faSignalWeak,\n faSignal1: faSignal1,\n faClockFive: faClockFive,\n faRetweet: faRetweet,\n faCarRear: faCarRear,\n faCarAlt: faCarAlt,\n faPumpSoap: faPumpSoap,\n faComputerClassic: faComputerClassic,\n faFrame: faFrame,\n faVideoSlash: faVideoSlash,\n faBatteryQuarter: faBatteryQuarter,\n faBattery2: faBattery2,\n faEllipsisStroke: faEllipsisStroke,\n faEllipsisHAlt: faEllipsisHAlt,\n faRadio: faRadio,\n faBabyCarriage: faBabyCarriage,\n faCarriageBaby: faCarriageBaby,\n faFaceExpressionless: faFaceExpressionless,\n faDownToDottedLine: faDownToDottedLine,\n faCloudMusic: faCloudMusic,\n faTrafficLight: faTrafficLight,\n faCloudMinus: faCloudMinus,\n faThermometer: faThermometer,\n faShieldMinus: faShieldMinus,\n faVrCardboard: faVrCardboard,\n faCarTilt: faCarTilt,\n faGaugeCircleMinus: faGaugeCircleMinus,\n faBrightnessLow: faBrightnessLow,\n faHandMiddleFinger: faHandMiddleFinger,\n faPercent: faPercent,\n faPercentage: faPercentage,\n faTruckMoving: faTruckMoving,\n faGlassWaterDroplet: faGlassWaterDroplet,\n faConveyorBelt: faConveyorBelt,\n faLocationCheck: faLocationCheck,\n faMapMarkerCheck: faMapMarkerCheck,\n faCoinVertical: faCoinVertical,\n faDisplay: faDisplay,\n faPersonSign: faPersonSign,\n faFaceSmile: faFaceSmile,\n faSmile: faSmile,\n faPhoneHangup: faPhoneHangup,\n faSignatureSlash: faSignatureSlash,\n faThumbtack: faThumbtack,\n faThumbTack: faThumbTack,\n faWheatSlash: faWheatSlash,\n faTrophy: faTrophy,\n faCloudsSun: faCloudsSun,\n faPersonPraying: faPersonPraying,\n faPray: faPray,\n faHammer: faHammer,\n faFaceVomit: faFaceVomit,\n faSpeakers: faSpeakers,\n faTtyAnswer: faTtyAnswer,\n faTeletypeAnswer: faTeletypeAnswer,\n faMugTeaSaucer: faMugTeaSaucer,\n faDiagramLeanCanvas: faDiagramLeanCanvas,\n faAlt: faAlt,\n faDial: faDial,\n faDialMedHigh: faDialMedHigh,\n faHandPeace: faHandPeace,\n faCircleTrash: faCircleTrash,\n faTrashCircle: faTrashCircle,\n faRotate: faRotate,\n faSyncAlt: faSyncAlt,\n faCircleQuarters: faCircleQuarters,\n faSpinner: faSpinner,\n faTowerControl: faTowerControl,\n faArrowUpTriangleSquare: faArrowUpTriangleSquare,\n faSortShapesUp: faSortShapesUp,\n faWhale: faWhale,\n faRobot: faRobot,\n faPeace: faPeace,\n faPartyHorn: faPartyHorn,\n faGears: faGears,\n faCogs: faCogs,\n faSunBright: faSunBright,\n faSunAlt: faSunAlt,\n faWarehouse: faWarehouse,\n faConveyorBeltArm: faConveyorBeltArm,\n faLockKeyholeOpen: faLockKeyholeOpen,\n faLockOpenAlt: faLockOpenAlt,\n faSquareFragile: faSquareFragile,\n faBoxFragile: faBoxFragile,\n faSquareWineGlassCrack: faSquareWineGlassCrack,\n faArrowUpRightDots: faArrowUpRightDots,\n faSquareN: faSquareN,\n faSplotch: faSplotch,\n faFaceGrinHearts: faFaceGrinHearts,\n faGrinHearts: faGrinHearts,\n faMeter: faMeter,\n faMandolin: faMandolin,\n faDiceFour: faDiceFour,\n faSimCard: faSimCard,\n faTransgender: faTransgender,\n faTransgenderAlt: faTransgenderAlt,\n faMercury: faMercury,\n faUpFromBracket: faUpFromBracket,\n faKnifeKitchen: faKnifeKitchen,\n faBorderRight: faBorderRight,\n faArrowTurnDown: faArrowTurnDown,\n faLevelDown: faLevelDown,\n faSpade: faSpade,\n faCardSpade: faCardSpade,\n faLineColumns: faLineColumns,\n faAnt: faAnt,\n faArrowRightToLine: faArrowRightToLine,\n faArrowToRight: faArrowToRight,\n faPersonFallingBurst: faPersonFallingBurst,\n faFlagPennant: faFlagPennant,\n faPennant: faPennant,\n faConveyorBeltEmpty: faConveyorBeltEmpty,\n faUserGroupSimple: faUserGroupSimple,\n faAward: faAward,\n faTicketSimple: faTicketSimple,\n faTicketAlt: faTicketAlt,\n faBuilding: faBuilding,\n faAnglesLeft: faAnglesLeft,\n faAngleDoubleLeft: faAngleDoubleLeft,\n faCamcorder: faCamcorder,\n faVideoHandheld: faVideoHandheld,\n faPancakes: faPancakes,\n faAlbumCircleUser: faAlbumCircleUser,\n faSubtitlesSlash: faSubtitlesSlash,\n faQrcode: faQrcode,\n faDiceD10: faDiceD10,\n faFireplace: faFireplace,\n faBrowser: faBrowser,\n faPenPaintbrush: faPenPaintbrush,\n faPencilPaintbrush: faPencilPaintbrush,\n faFishCooked: faFishCooked,\n faChairOffice: faChairOffice,\n faMagnifyingGlassMusic: faMagnifyingGlassMusic,\n faNestingDolls: faNestingDolls,\n faClockRotateLeft: faClockRotateLeft,\n faHistory: faHistory,\n faTrumpet: faTrumpet,\n faFaceGrinBeamSweat: faFaceGrinBeamSweat,\n faGrinBeamSweat: faGrinBeamSweat,\n faFireSmoke: faFireSmoke,\n faPhoneMissed: faPhoneMissed,\n faFileExport: faFileExport,\n faArrowRightFromFile: faArrowRightFromFile,\n faShield: faShield,\n faShieldBlank: faShieldBlank,\n faArrowUpShortWide: faArrowUpShortWide,\n faSortAmountUpAlt: faSortAmountUpAlt,\n faArrowsRepeat1: faArrowsRepeat1,\n faRepeat1Alt: faRepeat1Alt,\n faGunSlash: faGunSlash,\n faAvocado: faAvocado,\n faBinary: faBinary,\n faGlassesRound: faGlassesRound,\n faGlassesAlt: faGlassesAlt,\n faPhonePlus: faPhonePlus,\n faDitto: faDitto,\n faPersonSeat: faPersonSeat,\n faHouseMedical: faHouseMedical,\n faGolfBallTee: faGolfBallTee,\n faGolfBall: faGolfBall,\n faCircleChevronLeft: faCircleChevronLeft,\n faChevronCircleLeft: faChevronCircleLeft,\n faHouseChimneyWindow: faHouseChimneyWindow,\n faScythe: faScythe,\n faPenNib: faPenNib,\n faBanParking: faBanParking,\n faParkingCircleSlash: faParkingCircleSlash,\n faTentArrowTurnLeft: faTentArrowTurnLeft,\n faFaceDiagonalMouth: faFaceDiagonalMouth,\n faDiagramCells: faDiagramCells,\n faCricketBatBall: faCricketBatBall,\n faCricket: faCricket,\n faTents: faTents,\n faWandMagic: faWandMagic,\n faMagic: faMagic,\n faDog: faDog,\n faPenLine: faPenLine,\n faAtomSimple: faAtomSimple,\n faAtomAlt: faAtomAlt,\n faAmpersand: faAmpersand,\n faCarrot: faCarrot,\n faArrowUpFromLine: faArrowUpFromLine,\n faArrowFromBottom: faArrowFromBottom,\n faMoon: faMoon,\n faPenSlash: faPenSlash,\n faWineGlassEmpty: faWineGlassEmpty,\n faWineGlassAlt: faWineGlassAlt,\n faSquareStar: faSquareStar,\n faCheese: faCheese,\n faSendBackward: faSendBackward,\n faYinYang: faYinYang,\n faMusic: faMusic,\n faCompassSlash: faCompassSlash,\n faClockOne: faClockOne,\n faFileMusic: faFileMusic,\n faCodeCommit: faCodeCommit,\n faTemperatureLow: faTemperatureLow,\n faPersonBiking: faPersonBiking,\n faBiking: faBiking,\n faDisplayChartUpCircleCurrency: faDisplayChartUpCircleCurrency,\n faSkeleton: faSkeleton,\n faCircleG: faCircleG,\n faCircleArrowUpLeft: faCircleArrowUpLeft,\n faCoinBlank: faCoinBlank,\n faBroom: faBroom,\n faVacuum: faVacuum,\n faShieldHeart: faShieldHeart,\n faCardHeart: faCardHeart,\n faLightbulbCflOn: faLightbulbCflOn,\n faMelon: faMelon,\n faGopuram: faGopuram,\n faEarthOceania: faEarthOceania,\n faGlobeOceania: faGlobeOceania,\n faContainerStorage: faContainerStorage,\n faFacePouting: faFacePouting,\n faSquareXmark: faSquareXmark,\n faTimesSquare: faTimesSquare,\n faXmarkSquare: faXmarkSquare,\n faFaceExplode: faFaceExplode,\n faExplodingHead: faExplodingHead,\n faHashtag: faHashtag,\n faUpRightAndDownLeftFromCenter: faUpRightAndDownLeftFromCenter,\n faExpandAlt: faExpandAlt,\n faOilCan: faOilCan,\n faT: faT,\n faTransformerBolt: faTransformerBolt,\n faHippo: faHippo,\n faChartColumn: faChartColumn,\n faCassetteVhs: faCassetteVhs,\n faVhs: faVhs,\n faInfinity: faInfinity,\n faVialCircleCheck: faVialCircleCheck,\n faChimney: faChimney,\n faObjectIntersect: faObjectIntersect,\n faPersonArrowDownToLine: faPersonArrowDownToLine,\n faVoicemail: faVoicemail,\n faBlockBrick: faBlockBrick,\n faWallBrick: faWallBrick,\n faFan: faFan,\n faBagsShopping: faBagsShopping,\n faParagraphLeft: faParagraphLeft,\n faParagraphRtl: faParagraphRtl,\n faPersonWalkingLuggage: faPersonWalkingLuggage,\n faCaravanSimple: faCaravanSimple,\n faCaravanAlt: faCaravanAlt,\n faTurtle: faTurtle,\n faPencilMechanical: faPencilMechanical,\n faUpDown: faUpDown,\n faArrowsAltV: faArrowsAltV,\n faCloudMoonRain: faCloudMoonRain,\n faBoothCurtain: faBoothCurtain,\n faCalendar: faCalendar,\n faBoxHeart: faBoxHeart,\n faTrailer: faTrailer,\n faUserDoctorMessage: faUserDoctorMessage,\n faUserMdChat: faUserMdChat,\n faBahai: faBahai,\n faHaykal: faHaykal,\n faLighthouse: faLighthouse,\n faAmpGuitar: faAmpGuitar,\n faSdCard: faSdCard,\n faVolumeSlash: faVolumeSlash,\n faBorderBottom: faBorderBottom,\n faWifiWeak: faWifiWeak,\n faWifi1: faWifi1,\n faDragon: faDragon,\n faShoePrints: faShoePrints,\n faCirclePlus: faCirclePlus,\n faPlusCircle: faPlusCircle,\n faFaceGrinTongueWink: faFaceGrinTongueWink,\n faGrinTongueWink: faGrinTongueWink,\n faHandHolding: faHandHolding,\n faPlugCircleExclamation: faPlugCircleExclamation,\n faLinkSlash: faLinkSlash,\n faChainBroken: faChainBroken,\n faChainSlash: faChainSlash,\n faUnlink: faUnlink,\n faClone: faClone,\n faPersonWalkingArrowLoopLeft: faPersonWalkingArrowLoopLeft,\n faArrowUpZA: faArrowUpZA,\n faSortAlphaUpAlt: faSortAlphaUpAlt,\n faFireFlameCurved: faFireFlameCurved,\n faFireAlt: faFireAlt,\n faTornado: faTornado,\n faFileCirclePlus: faFileCirclePlus,\n faDeleteRight: faDeleteRight,\n faBookQuran: faBookQuran,\n faQuran: faQuran,\n faCircleQuarter: faCircleQuarter,\n faAnchor: faAnchor,\n faBorderAll: faBorderAll,\n faFunction: faFunction,\n faFaceAngry: faFaceAngry,\n faAngry: faAngry,\n faPeopleSimple: faPeopleSimple,\n faCookieBite: faCookieBite,\n faArrowTrendDown: faArrowTrendDown,\n faRss: faRss,\n faFeed: faFeed,\n faFaceMonocle: faFaceMonocle,\n faDrawPolygon: faDrawPolygon,\n faScaleBalanced: faScaleBalanced,\n faBalanceScale: faBalanceScale,\n faCalendarLines: faCalendarLines,\n faCalendarNote: faCalendarNote,\n faArrowDownBigSmall: faArrowDownBigSmall,\n faSortSizeDown: faSortSizeDown,\n faGaugeSimpleHigh: faGaugeSimpleHigh,\n faTachometer: faTachometer,\n faTachometerFast: faTachometerFast,\n faDoNotEnter: faDoNotEnter,\n faShower: faShower,\n faDiceD8: faDiceD8,\n faDesktop: faDesktop,\n faDesktopAlt: faDesktopAlt,\n faM: faM,\n faSpinnerScale: faSpinnerScale,\n faGripDotsVertical: faGripDotsVertical,\n faFaceViewfinder: faFaceViewfinder,\n faSoftServe: faSoftServe,\n faCreemee: faCreemee,\n faH5: faH5,\n faHandBackPointDown: faHandBackPointDown,\n faTableList: faTableList,\n faThList: faThList,\n faBasketShoppingMinus: faBasketShoppingMinus,\n faCommentSms: faCommentSms,\n faSms: faSms,\n faRectangle: faRectangle,\n faRectangleLandscape: faRectangleLandscape,\n faClipboardListCheck: faClipboardListCheck,\n faTurkey: faTurkey,\n faBook: faBook,\n faUserPlus: faUserPlus,\n faIceSkate: faIceSkate,\n faCheck: faCheck,\n faBatteryThreeQuarters: faBatteryThreeQuarters,\n faBattery4: faBattery4,\n faTomato: faTomato,\n faSwordLaser: faSwordLaser,\n faHouseCircleCheck: faHouseCircleCheck,\n faBuildings: faBuildings,\n faAngleLeft: faAngleLeft,\n faCartFlatbedBoxes: faCartFlatbedBoxes,\n faDollyFlatbedAlt: faDollyFlatbedAlt,\n faDiagramSuccessor: faDiagramSuccessor,\n faTruckArrowRight: faTruckArrowRight,\n faSquareW: faSquareW,\n faArrowsSplitUpAndLeft: faArrowsSplitUpAndLeft,\n faLamp: faLamp,\n faAirplay: faAirplay,\n faHandFist: faHandFist,\n faFistRaised: faFistRaised,\n faShieldQuartered: faShieldQuartered,\n faSlashForward: faSlashForward,\n faLocationPen: faLocationPen,\n faMapMarkerEdit: faMapMarkerEdit,\n faCloudMoon: faCloudMoon,\n faPotFood: faPotFood,\n faBriefcase: faBriefcase,\n faPersonFalling: faPersonFalling,\n faImagePortrait: faImagePortrait,\n faPortrait: faPortrait,\n faUserTag: faUserTag,\n faRug: faRug,\n faPrintSlash: faPrintSlash,\n faEarthEurope: faEarthEurope,\n faGlobeEurope: faGlobeEurope,\n faCartFlatbedSuitcase: faCartFlatbedSuitcase,\n faLuggageCart: faLuggageCart,\n faHandBackPointRibbon: faHandBackPointRibbon,\n faRectangleXmark: faRectangleXmark,\n faRectangleTimes: faRectangleTimes,\n faTimesRectangle: faTimesRectangle,\n faWindowClose: faWindowClose,\n faTireRugged: faTireRugged,\n faLightbulbDollar: faLightbulbDollar,\n faCowbell: faCowbell,\n faBahtSign: faBahtSign,\n faCorner: faCorner,\n faChevronsRight: faChevronsRight,\n faChevronDoubleRight: faChevronDoubleRight,\n faBookOpen: faBookOpen,\n faBookJournalWhills: faBookJournalWhills,\n faJournalWhills: faJournalWhills,\n faInhaler: faInhaler,\n faHandcuffs: faHandcuffs,\n faSnake: faSnake,\n faTriangleExclamation: faTriangleExclamation,\n faExclamationTriangle: faExclamationTriangle,\n faWarning: faWarning,\n faNoteMedical: faNoteMedical,\n faDatabase: faDatabase,\n faDownLeft: faDownLeft,\n faShare: faShare,\n faMailForward: faMailForward,\n faFaceThinking: faFaceThinking,\n faTurnDownRight: faTurnDownRight,\n faBottleDroplet: faBottleDroplet,\n faMaskFace: faMaskFace,\n faHillRockslide: faHillRockslide,\n faScannerKeyboard: faScannerKeyboard,\n faCircleO: faCircleO,\n faGridHorizontal: faGridHorizontal,\n faMessageDollar: faMessageDollar,\n faCommentAltDollar: faCommentAltDollar,\n faRightLeft: faRightLeft,\n faExchangeAlt: faExchangeAlt,\n faColumns3: faColumns3,\n faPaperPlane: faPaperPlane,\n faRoadCircleExclamation: faRoadCircleExclamation,\n faDungeon: faDungeon,\n faHandHoldingBox: faHandHoldingBox,\n faInputText: faInputText,\n faWindowFlip: faWindowFlip,\n faWindowAlt: faWindowAlt,\n faAlignRight: faAlignRight,\n faScannerGun: faScannerGun,\n faScanner: faScanner,\n faTire: faTire,\n faEngine: faEngine,\n faMoneyBill1Wave: faMoneyBill1Wave,\n faMoneyBillWaveAlt: faMoneyBillWaveAlt,\n faLifeRing: faLifeRing,\n faHands: faHands,\n faSignLanguage: faSignLanguage,\n faSigning: faSigning,\n faCircleCaretRight: faCircleCaretRight,\n faCaretCircleRight: faCaretCircleRight,\n faTurnLeft: faTurnLeft,\n faWheat: faWheat,\n faFileSpreadsheet: faFileSpreadsheet,\n faAudioDescriptionSlash: faAudioDescriptionSlash,\n faBellRing: faBellRing,\n faCalendarDay: faCalendarDay,\n faWaterLadder: faWaterLadder,\n faLadderWater: faLadderWater,\n faSwimmingPool: faSwimmingPool,\n faArrowsUpDown: faArrowsUpDown,\n faArrowsV: faArrowsV,\n faChessPawnPiece: faChessPawnPiece,\n faChessPawnAlt: faChessPawnAlt,\n faFaceGrimace: faFaceGrimace,\n faGrimace: faGrimace,\n faWheelchairMove: faWheelchairMove,\n faWheelchairAlt: faWheelchairAlt,\n faTurnDown: faTurnDown,\n faLevelDownAlt: faLevelDownAlt,\n faSquareS: faSquareS,\n faRectangleBarcode: faRectangleBarcode,\n faBarcodeAlt: faBarcodeAlt,\n faPersonWalkingArrowRight: faPersonWalkingArrowRight,\n faSquareEnvelope: faSquareEnvelope,\n faEnvelopeSquare: faEnvelopeSquare,\n faDice: faDice,\n faUnicorn: faUnicorn,\n faBowlingBall: faBowlingBall,\n faPompebled: faPompebled,\n faBrain: faBrain,\n faWatchSmart: faWatchSmart,\n faBookUser: faBookUser,\n faSensorCloud: faSensorCloud,\n faSensorSmoke: faSensorSmoke,\n faClapperboardPlay: faClapperboardPlay,\n faBandage: faBandage,\n faBandAid: faBandAid,\n faCalendarMinus: faCalendarMinus,\n faCircleXmark: faCircleXmark,\n faTimesCircle: faTimesCircle,\n faXmarkCircle: faXmarkCircle,\n faCircle4: faCircle4,\n faGifts: faGifts,\n faAlbumCollection: faAlbumCollection,\n faHotel: faHotel,\n faEarthAsia: faEarthAsia,\n faGlobeAsia: faGlobeAsia,\n faIdCardClip: faIdCardClip,\n faIdCardAlt: faIdCardAlt,\n faMagnifyingGlassPlus: faMagnifyingGlassPlus,\n faSearchPlus: faSearchPlus,\n faThumbsUp: faThumbsUp,\n faCloudShowers: faCloudShowers,\n faUserClock: faUserClock,\n faOnion: faOnion,\n faClockTwelveThirty: faClockTwelveThirty,\n faArrowDownToDottedLine: faArrowDownToDottedLine,\n faHandDots: faHandDots,\n faAllergies: faAllergies,\n faFileInvoice: faFileInvoice,\n faWindowMinimize: faWindowMinimize,\n faRectangleWide: faRectangleWide,\n faCommentArrowUp: faCommentArrowUp,\n faGarlic: faGarlic,\n faMugSaucer: faMugSaucer,\n faCoffee: faCoffee,\n faBrush: faBrush,\n faTreeDecorated: faTreeDecorated,\n faMask: faMask,\n faCalendarHeart: faCalendarHeart,\n faMagnifyingGlassMinus: faMagnifyingGlassMinus,\n faSearchMinus: faSearchMinus,\n faFlower: faFlower,\n faArrowDownFromArc: faArrowDownFromArc,\n faRightLeftLarge: faRightLeftLarge,\n faRulerVertical: faRulerVertical,\n faCirclesOverlap: faCirclesOverlap,\n faUserLarge: faUserLarge,\n faUserAlt: faUserAlt,\n faStarshipFreighter: faStarshipFreighter,\n faTrainTram: faTrainTram,\n faBridgeSuspension: faBridgeSuspension,\n faTrashCheck: faTrashCheck,\n faUserNurse: faUserNurse,\n faBoombox: faBoombox,\n faSyringe: faSyringe,\n faCloudSun: faCloudSun,\n faShieldExclamation: faShieldExclamation,\n faStopwatch20: faStopwatch20,\n faSquareFull: faSquareFull,\n faGripDots: faGripDots,\n faCommentExclamation: faCommentExclamation,\n faPenSwirl: faPenSwirl,\n faFalafel: faFalafel,\n faCircle2: faCircle2,\n faMagnet: faMagnet,\n faJar: faJar,\n faGramophone: faGramophone,\n faDiceD12: faDiceD12,\n faNoteSticky: faNoteSticky,\n faStickyNote: faStickyNote,\n faDown: faDown,\n faArrowAltDown: faArrowAltDown,\n faHundredPoints: faHundredPoints,\n fa100: fa100,\n faPaperclipVertical: faPaperclipVertical,\n faWindWarning: faWindWarning,\n faWindCircleExclamation: faWindCircleExclamation,\n faLocationPinSlash: faLocationPinSlash,\n faMapMarkerSlash: faMapMarkerSlash,\n faFaceSadSweat: faFaceSadSweat,\n faBugSlash: faBugSlash,\n faCupcake: faCupcake,\n faLightSwitchOff: faLightSwitchOff,\n faToggleLargeOff: faToggleLargeOff,\n faPenFancySlash: faPenFancySlash,\n faTruckContainer: faTruckContainer,\n faBoot: faBoot,\n faArrowUpFromWaterPump: faArrowUpFromWaterPump,\n faFileCheck: faFileCheck,\n faBone: faBone,\n faCardsBlank: faCardsBlank,\n faCircle3: faCircle3,\n faBenchTree: faBenchTree,\n faKeyboardBrightnessLow: faKeyboardBrightnessLow,\n faSkiBootSki: faSkiBootSki,\n faBrainCircuit: faBrainCircuit,\n faUserInjured: faUserInjured,\n faBlockBrickFire: faBlockBrickFire,\n faFirewall: faFirewall,\n faFaceSadTear: faFaceSadTear,\n faSadTear: faSadTear,\n faPlane: faPlane,\n faTentArrowsDown: faTentArrowsDown,\n faExclamation: faExclamation,\n faArrowsSpin: faArrowsSpin,\n faFaceSmileRelaxed: faFaceSmileRelaxed,\n faCommentXmark: faCommentXmark,\n faCommentTimes: faCommentTimes,\n faPrint: faPrint,\n faTurkishLiraSign: faTurkishLiraSign,\n faTry: faTry,\n faTurkishLira: faTurkishLira,\n faFaceNoseSteam: faFaceNoseSteam,\n faCircleWaveformLines: faCircleWaveformLines,\n faWaveformCircle: faWaveformCircle,\n faDollarSign: faDollarSign,\n faDollar: faDollar,\n faUsd: faUsd,\n faFerrisWheel: faFerrisWheel,\n faComputerSpeaker: faComputerSpeaker,\n faSkullCow: faSkullCow,\n faX: faX,\n faMagnifyingGlassDollar: faMagnifyingGlassDollar,\n faSearchDollar: faSearchDollar,\n faUsersGear: faUsersGear,\n faUsersCog: faUsersCog,\n faPersonMilitaryPointing: faPersonMilitaryPointing,\n faBuildingColumns: faBuildingColumns,\n faBank: faBank,\n faInstitution: faInstitution,\n faMuseum: faMuseum,\n faUniversity: faUniversity,\n faCircleT: faCircleT,\n faSack: faSack,\n faGrid2: faGrid2,\n faCameraCctv: faCameraCctv,\n faCctv: faCctv,\n faUmbrella: faUmbrella,\n faTrowel: faTrowel,\n faHorizontalRule: faHorizontalRule,\n faBedFront: faBedFront,\n faBedAlt: faBedAlt,\n faD: faD,\n faStapler: faStapler,\n faMasksTheater: faMasksTheater,\n faTheaterMasks: faTheaterMasks,\n faFileGif: faFileGif,\n faKipSign: faKipSign,\n faFaceWoozy: faFaceWoozy,\n faCloudQuestion: faCloudQuestion,\n faPineapple: faPineapple,\n faHandPointLeft: faHandPointLeft,\n faGalleryThumbnails: faGalleryThumbnails,\n faCircleJ: faCircleJ,\n faEyes: faEyes,\n faHandshakeSimple: faHandshakeSimple,\n faHandshakeAlt: faHandshakeAlt,\n faPageCaretUp: faPageCaretUp,\n faFileCaretUp: faFileCaretUp,\n faJetFighter: faJetFighter,\n faFighterJet: faFighterJet,\n faComet: faComet,\n faSquareShareNodes: faSquareShareNodes,\n faShareAltSquare: faShareAltSquare,\n faReflectVertical: faReflectVertical,\n faShieldKeyhole: faShieldKeyhole,\n faFileMp4: faFileMp4,\n faBarcode: faBarcode,\n faBulldozer: faBulldozer,\n faPlusMinus: faPlusMinus,\n faSquareSlidersVertical: faSquareSlidersVertical,\n faSlidersVSquare: faSlidersVSquare,\n faVideo: faVideo,\n faVideoCamera: faVideoCamera,\n faMessageMiddle: faMessageMiddle,\n faCommentMiddleAlt: faCommentMiddleAlt,\n faGraduationCap: faGraduationCap,\n faMortarBoard: faMortarBoard,\n faHandHoldingMedical: faHandHoldingMedical,\n faPersonCircleCheck: faPersonCircleCheck,\n faSquareZ: faSquareZ,\n faMessageText: faMessageText,\n faCommentAltText: faCommentAltText,\n faTurnUp: faTurnUp,\n faLevelUpAlt: faLevelUpAlt\n};\n\nexport { icons as far, prefix, fa0, fa1, fa2, fa3, fa4, fa5, fa6, fa7, fa8, fa9, faFillDrip, faArrowsToCircle, faCircleChevronRight, faChevronCircleRight, faWagonCovered, faLineHeight, faBagel, faTransporter7, faAt, faRectanglesMixed, faPhoneArrowUpRight, faPhoneArrowUp, faPhoneOutgoing, faTrashCan, faTrashAlt, faCircleL, faHeadSideGoggles, faHeadVr, faTextHeight, faUserXmark, faUserTimes, faFaceHandYawn, faGaugeSimpleMin, faTachometerSlowest, faStethoscope, faCoffin, faMessage, faCommentAlt, faSalad, faBowlSalad, faInfo, faRobotAstromech, faRingDiamond, faFonduePot, faTheta, faFaceHandPeeking, faSquareUser, faDownLeftAndUpRightToCenter, faCompressAlt, faExplosion, faFileLines, faFileAlt, faFileText, faWaveSquare, faRing, faBuildingUn, faDiceThree, faTirePressureWarning, faWifiFair, faWifi2, faCalendarDays, faCalendarAlt, faMp3Player, faAnchorCircleCheck, faTally4, faRectangleHistory, faBuildingCircleArrowRight, faVolleyball, faVolleyballBall, faSunHaze, faTextSize, faUfo, faFork, faUtensilFork, faArrowsUpToLine, faMobileSignal, faBarcodeScan, faSortDown, faSortDesc, faFolderArrowDown, faFolderDownload, faCircleMinus, faMinusCircle, faFaceIcicles, faShovel, faDoorOpen, faFilms, faRightFromBracket, faSignOutAlt, faFaceGlasses, faNfc, faAtom, faSoap, faIcons, faHeartMusicCameraBolt, faMicrophoneLinesSlash, faMicrophoneAltSlash, faClosedCaptioningSlash, faCalculatorSimple, faCalculatorAlt, faBridgeCircleCheck, faSlidersUp, faSlidersV, faLocationMinus, faMapMarkerMinus, faPumpMedical, faFingerprint, faSkiBoot, faStandardDefinition, faRectangleSd, faH1, faHandPointRight, faMagnifyingGlassLocation, faSearchLocation, faMessageBot, faForwardStep, faStepForward, faFaceSmileBeam, faSmileBeam, faLightCeiling, faMessageExclamation, faCommentAltExclamation, faBowlScoop, faBowlShavedIce, faSquareX, faBuildingMemo, faUtilityPoleDouble, faFlagCheckered, faChevronsUp, faChevronDoubleUp, faFootball, faFootballBall, faUserVneck, faSchoolCircleExclamation, faCrop, faAnglesDown, faAngleDoubleDown, faUsersRectangle, faPeopleRoof, faSquareArrowRight, faArrowSquareRight, faLocationPlus, faMapMarkerPlus, faLightbulbExclamationOn, faPeopleLine, faBeerMugEmpty, faBeer, faCrateEmpty, faDiagramPredecessor, faTransporter, faCalendarCircleUser, faArrowUpLong, faLongArrowUp, faPersonCarryBox, faPersonCarry, faFireFlameSimple, faBurn, faPerson, faMale, faLaptop, faFileCsv, faMenorah, faUnion, faChevronsLeft, faChevronDoubleLeft, faCircleHeart, faHeartCircle, faTruckPlane, faRecordVinyl, faBringForward, faSquareP, faFaceGrinStars, faGrinStars, faSigma, faCameraMovie, faBong, faClarinet, faTruckFlatbed, faSpaghettiMonsterFlying, faPastafarianism, faArrowDownUpAcrossLine, faArrowsRotateReverse, faLeafHeart, faHouseBuilding, faCheeseSwiss, faSpoon, faUtensilSpoon, faJarWheat, faEnvelopesBulk, faMailBulk, faFileCircleExclamation, faBowArrow, faCartXmark, faHexagonXmark, faTimesHexagon, faXmarkHexagon, faCircleH, faHospitalSymbol, faMerge, faPager, faCartMinus, faAddressBook, faContactBook, faPanFrying, faGrid, faGrid3, faFootballHelmet, faHandLove, faTrees, faStrikethrough, faPage, faK, faDiagramPrevious, faGaugeMin, faTachometerAltSlowest, faFolderGrid, faEggplant, faExcavator, faRam, faLandmarkFlag, faLips, faPencil, faPencilAlt, faBackward, faCaretRight, faComments, faPaste, faFileClipboard, faDesktopArrowDown, faCodePullRequest, faPumpkin, faClipboardList, faPenField, faBlueberries, faTruckRampBox, faTruckLoading, faNote, faArrowDownToSquare, faUserCheck, faCloudXmark, faVialVirus, faBookBlank, faBookAlt, faGolfFlagHole, faMessageArrowDown, faCommentAltArrowDown, faFaceUnamused, faSheetPlastic, faCircle9, faBlog, faUserNinja, faPencilSlash, faBowlingPins, faPersonArrowUpFromLine, faDownRight, faScrollTorah, faTorah, faWebhook, faBlindsOpen, faFence, faUp, faArrowAltUp, faBroomBall, faQuidditch, faQuidditchBroomBall, faDrumstick, faSquareV, faFaceAwesome, faGaveDandy, faDialOff, faToggleOff, faFaceSmileHorns, faBoxArchive, faArchive, faGrapes, faPersonDrowning, faDialMax, faCircleM, faCalendarImage, faCircleCaretDown, faCaretCircleDown, faArrowDown91, faSortNumericDesc, faSortNumericDownAlt, faFaceGrinTongueSquint, faGrinTongueSquint, faShishKebab, faSprayCan, faAlarmSnooze, faScarecrow, faTruckMonster, faGiftCard, faW, faCodePullRequestDraft, faSquareB, faElephant, faEarthAfrica, faGlobeAfrica, faRainbow, faCircleNotch, faTabletScreenButton, faTabletAlt, faPaw, faMessageQuestion, faCloud, faTrowelBricks, faSquare3, faFaceFlushed, faFlushed, faHospitalUser, faMicrowave, faChfSign, faTentArrowLeftRight, faCartCircleArrowUp, faTrashClock, faReflectBoth, faGavel, faLegal, faSprinklerCeiling, faBrowsers, faTrillium, faMusicSlash, faTruckRamp, faBinoculars, faMicrophoneSlash, faBoxTissue, faCircleC, faStarChristmas, faChartBullet, faMotorcycle, faTreeChristmas, faTireFlat, faSunglasses, faBadge, faMessagePen, faCommentAltEdit, faMessageEdit, faBellConcierge, faConciergeBell, faPenRuler, faPencilRuler, faFileMp3, faArrowProgress, faChessRookPiece, faChessRookAlt, faSquareRoot, faAlbumCollectionCirclePlus, faPeopleArrows, faPeopleArrowsLeftRight, faSignPost, faFaceAngryHorns, faMarsAndVenusBurst, faTombstone, faSquareCaretRight, faCaretSquareRight, faScissors, faCut, faListMusic, faSunPlantWilt, faToiletsPortable, faHockeyPuck, faMustache, faHyphen, faTable, faUserChef, faMessageImage, faCommentAltImage, faUsersMedical, faSensorTriangleExclamation, faSensorAlert, faMagnifyingGlassArrowRight, faTachographDigital, faDigitalTachograph, faFaceMask, faPickleball, faStarSharpHalf, faUsersSlash, faClover, faMeat, faReply, faMailReply, faStarAndCrescent, faEmptySet, faHouseFire, faSquareMinus, faMinusSquare, faHelicopter, faBird, faCompass, faSquareCaretDown, faCaretSquareDown, faHeartHalfStroke, faHeartHalfAlt, faFileCircleQuestion, faTruckUtensils, faLaptopCode, faJoystick, faGrillFire, faRectangleVerticalHistory, faSwatchbook, faPrescriptionBottle, faBars, faNavicon, faKeyboardLeft, faPeopleGroup, faHourglassEnd, faHourglass3, faHeartCrack, faHeartBroken, faFaceBeamHandOverMouth, faDropletPercent, faHumidity, faSquareUpRight, faExternalLinkSquareAlt, faFaceKissBeam, faKissBeam, faCorn, faRollerCoaster, faPhotoFilmMusic, faRadar, faSickle, faFilm, faCoconut, faRulerHorizontal, faShieldCross, faCassetteTape, faSquareTerminal, faPeopleRobbery, faLightbulb, faCaretLeft, faCommentMiddle, faTrashCanList, faBlock, faCircleExclamation, faExclamationCircle, faSchoolCircleXmark, faArrowRightFromBracket, faSignOut, faFaceFrownSlight, faCircleChevronDown, faChevronCircleDown, faSidebarFlip, faUnlockKeyhole, faUnlockAlt, faTemperatureList, faCloudShowersHeavy, faHeadphonesSimple, faHeadphonesAlt, faSitemap, faPipeSection, faSpaceStationMoonConstruction, faSpaceStationMoonAlt, faCircleDollarToSlot, faDonate, faMemory, faFaceSleeping, faRoadSpikes, faFireBurner, faSquirrel, faArrowUpToLine, faArrowToTop, faFlag, faFaceCowboyHat, faHanukiah, faChartScatter3d, faDisplayChartUp, faSquareCode, faFeather, faVolumeLow, faVolumeDown, faXmarkToSlot, faTimesToSlot, faVoteNay, faBoxTaped, faBoxAlt, faCommentSlash, faSwords, faCloudSunRain, faAlbum, faCircleN, faCompress, faWheatAwn, faWheatAlt, faAnkh, faHandsHoldingChild, faAsterisk, faKeySkeletonLeftRight, faCommentLines, faLuchadorMask, faLuchador, faMaskLuchador, faSquareCheck, faCheckSquare, faShredder, faBookOpenCover, faBookOpenAlt, faSandwich, faPesetaSign, faSquareParkingSlash, faParkingSlash, faTrainTunnel, faHeading, faHeader, faGhost, faFaceAnguished, faHockeySticks, faAbacus, faFilmSimple, faFilmAlt, faList, faListSquares, faTreePalm, faSquarePhoneFlip, faPhoneSquareAlt, faCartPlus, faGamepad, faBorderCenterV, faCircleDot, faDotCircle, faClipboardMedical, faFaceDizzy, faDizzy, faEgg, faUpToLine, faArrowAltToTop, faHouseMedicalCircleXmark, faWatchFitness, faClockNineThirty, faCampground, faFolderPlus, faJug, faFutbol, faFutbolBall, faSoccerBall, faSnowBlowing, faPaintbrush, faPaintBrush, faLock, faArrowDownFromLine, faArrowFromTop, faGasPump, faSignalBarsSlash, faSignalAltSlash, faMonkey, faRectanglePro, faPro, faHouseNight, faHotTubPerson, faHotTub, faGlobePointer, faBlanket, faMapLocation, faMapMarked, faHouseFloodWater, faCommentsQuestionCheck, faTree, faArrowsCross, faBackpack, faSquareSmall, faFolderArrowUp, faFolderUpload, faBridgeLock, faCrosshairsSimple, faSackDollar, faPenToSquare, faEdit, faSquareSliders, faSlidersHSquare, faCarSide, faMessageMiddleTop, faCommentMiddleTopAlt, faLightbulbOn, faKnife, faUtensilKnife, faShareNodes, faShareAlt, faDisplayChartUpCircleDollar, faWaveSine, faHeartCircleMinus, faCircleW, faCircleCalendar, faCalendarCircle, faHourglassHalf, faHourglass2, faMicroscope, faSunset, faSink, faCalendarExclamation, faTruckContainerEmpty, faHandHeart, faBagShopping, faShoppingBag, faArrowDownZA, faSortAlphaDesc, faSortAlphaDownAlt, faMitten, faReplyClock, faReplyTime, faPersonRays, faRight, faArrowAltRight, faCircleF, faUsers, faFacePleading, faEyeSlash, faFlaskVial, faPoliceBox, faCucumber, faHeadSideBrain, faHand, faHandPaper, faPersonBikingMountain, faBikingMountain, faUtensilsSlash, faPrintMagnifyingGlass, faPrintSearch, faTurnRight, faFolderBookmark, faArrowTurnLeftDown, faOm, faPi, faFlaskRoundPotion, faFlaskPotion, faFaceShush, faWorm, faHouseCircleXmark, faPlug, faCalendarCircleExclamation, faSquareI, faChevronUp, faFaceSaluting, faGaugeSimpleLow, faTachometerSlow, faFacePersevering, faCircleCamera, faCameraCircle, faHandSpock, faSpiderWeb, faCircleMicrophone, faMicrophoneCircle, faBookArrowUp, faPopsicle, faCommand, faBlinds, faStopwatch, faSaxophone, faSquare2, faFieldHockeyStickBall, faFieldHockey, faArrowUpSquareTriangle, faSortShapesUpAlt, faFaceScream, faSquareM, faCameraWeb, faWebcam, faCommentArrowDown, faLightbulbCfl, faWindowFrameOpen, faFaceKiss, faKiss, faBridgeCircleXmark, faPeriod, faFaceGrinTongue, faGrinTongue, faUpToDottedLine, faThoughtBubble, faSkeletonRibs, faRaygun, faFlute, faAcorn, faVideoArrowUpRight, faGrateDroplet, faSealExclamation, faChessBishop, faMessageSms, faCoffeeBeans, faHatWitch, faFaceGrinWink, faGrinWink, faClockThreeThirty, faEarDeaf, faDeaf, faDeafness, faHardOfHearing, faAlarmClock, faEclipse, faFaceRelieved, faRoadCircleCheck, faDiceFive, faOctagonMinus, faMinusOctagon, faSquareRss, faRssSquare, faFaceZany, faTricycle, faLandMineOn, faSquareArrowUpLeft, faICursor, faChartMixedUpCircleDollar, faSaltShaker, faStamp, faFilePlus, faDrawSquare, faToiletPaperUnderSlash, faToiletPaperReverseSlash, faStairs, faDroneFront, faDroneAlt, faGlassEmpty, faDialHigh, faUserHelmetSafety, faUserConstruction, faUserHardHat, faI, faHryvniaSign, faHryvnia, faArrowDownLeftAndArrowUpRightToCenter, faPills, faFaceGrinWide, faGrinAlt, faTooth, faBasketballHoop, faObjectsAlignBottom, faV, faSparkles, faSquid, faLeafyGreen, faCircleArrowUpRight, faCalendars, faBangladeshiTakaSign, faBicycle, faHammerWar, faCircleD, faSpiderBlackWidow, faStaffSnake, faRodAsclepius, faRodSnake, faStaffAesculapius, faPear, faHeadSideCoughSlash, faFileMov, faTriangle, faApartment, faTruckMedical, faAmbulance, faPepper, faPiano, faGunSquirt, faWheatAwnCircleExclamation, faSnowman, faUserAlien, faShieldCheck, faMortarPestle, faRoadBarrier, faChartCandlestick, faBriefcaseBlank, faSchool, faIgloo, faBracketRound, faParenthesis, faJoint, faHorseSaddle, faMugMarshmallows, faFilters, faBellOn, faAngleRight, faDialMed, faHorse, faQ, faMonitorWaveform, faMonitorHeartRate, faLinkSimple, faWhistle, faG, faWineGlassCrack, faFragile, faSlotMachine, faNotesMedical, faCarWash, faEscalator, faCommentImage, faTemperatureHalf, faTemperature2, faThermometer2, faThermometerHalf, faDongSign, faDonut, faDoughnut, faCapsules, faPooStorm, faPooBolt, faTally1, faFileVector, faFaceFrownOpen, faFrownOpen, faSquareDashed, faBagShoppingPlus, faSquareJ, faHandPointUp, faMoneyBill, faArrowUpBigSmall, faSortSizeUp, faBarcodeRead, faBaguette, faBowlSoftServe, faFaceHoldingBackTears, faSquareUp, faArrowAltSquareUp, faTrainSubwayTunnel, faSubwayTunnel, faSquareExclamation, faExclamationSquare, faSemicolon, faBookmark, faFanTable, faAlignJustify, faBatteryLow, faBattery1, faCreditCardFront, faBrainArrowCurvedRight, faMindShare, faUmbrellaBeach, faHelmetUn, faLocationSmile, faMapMarkerSmile, faArrowLeftToLine, faArrowToLeft, faBullseye, faSushi, faNigiri, faMessageCaptions, faCommentAltCaptions, faTrashList, faBacon, faOption, faRaccoon, faHandPointDown, faArrowUpFromBracket, faHeadSideGear, faTrashPlus, faFileCad, faObjectsAlignTop, faFolder, faFolderBlank, faFaceAnxiousSweat, faCreditCardBlank, faFileWaveform, faFileMedicalAlt, faMicrochipAi, faMug, faPlaneUpSlash, faRadiation, faPenCircle, faBagSeedling, faChartSimple, faCrutches, faCircleParking, faParkingCircle, faMarsStroke, faLeafOak, faSquareBolt, faVial, faGauge, faDashboard, faGaugeMed, faTachometerAltAverage, faWandMagicSparkles, faMagicWandSparkles, faLambda, faE, faPizza, faBowlChopsticksNoodles, faH3, faPenClip, faPenAlt, faBridgeCircleExclamation, faBadgePercent, faRotateReverse, faUser, faSensor, faComma, faSchoolCircleCheck, faToiletPaperUnder, faToiletPaperReverse, faLightEmergency, faArrowDownToArc, faDumpster, faVanShuttle, faShuttleVan, faBuildingUser, faLightSwitch, faSquareCaretLeft, faCaretSquareLeft, faHighlighter, faWavePulse, faHeartRate, faKey, faArrowLeftToBracket, faHatSanta, faTamale, faBoxCheck, faBullhorn, faSteak, faLocationCrosshairsSlash, faLocationSlash, faPersonDolly, faGlobe, faSynagogue, faFileChartColumn, faFileChartLine, faPersonHalfDress, faFolderImage, faCalendarPen, faCalendarEdit, faRoadBridge, faFaceSmileTear, faMessagePlus, faCommentAltPlus, faLocationArrow, faC, faTabletButton, faPersonDressFairy, faRectangleHistoryCircleUser, faBuildingLock, faChartLineUp, faMailbox, faSignPosts, faTruckBolt, faPizzaSlice, faMoneyBillWave, faChartArea, faAreaChart, faHouseFlag, faCircleThreeQuartersStroke, faPersonCircleMinus, faScalpel, faBan, faCancel, faBellExclamation, faCircleBookmark, faBookmarkCircle, faEggFried, faFaceWeary, faUniformMartialArts, faCameraRotate, faSunDust, faCommentText, faSprayCanSparkles, faAirFreshener, faSignalBars, faSignalAlt, faSignalAlt4, faSignalBarsStrong, faDiamondExclamation, faStar, faDialMin, faRepeat, faCross, faPageCaretDown, faFileCaretDown, faBox, faVenusMars, faClockSevenThirty, faArrowPointer, faMousePointer, faClockFourThirty, faSignalBarsGood, faSignalAlt3, faCactus, faLightbulbGear, faMaximize, faExpandArrowsAlt, faChargingStation, faShapes, faTriangleCircleSquare, faPlaneTail, faGaugeSimpleMax, faTachometerFastest, faCircleU, faShieldSlash, faSquarePhoneHangup, faPhoneSquareDown, faArrowUpLeft, faTransporter1, faPeanuts, faShuffle, faRandom, faPersonRunning, faRunning, faMobileRetro, faGripLinesVertical, faBinBottlesRecycle, faArrowUpFromSquare, faFileDashedLine, faPageBreak, faBracketCurlyRight, faSpider, faClockThree, faHandsBound, faScalpelLineDashed, faScalpelPath, faFileInvoiceDollar, faPipeSmoking, faFaceAstonished, faWindow, faPlaneCircleExclamation, faEar, faFileLock, faDiagramVenn, faArrowDownFromBracket, faXRay, faGoalNet, faCoffinCross, faSpellCheck, faLocationXmark, faMapMarkerTimes, faMapMarkerXmark, faCircleQuarterStroke, faLasso, faSlash, faPersonToPortal, faPortalEnter, faCalendarStar, faComputerMouse, faMouse, faArrowRightToBracket, faSignIn, faPegasus, faFilesMedical, faCannon, faNfcLock, faPersonSkiLift, faSkiLift, faSquare6, faShopSlash, faStoreAltSlash, faWindTurbine, faSlidersSimple, faGridRound, faBadgeSheriff, faServer, faVirusCovidSlash, faIntersection, faShopLock, faFamily, faHourglassStart, faHourglass1, faUserHairBuns, faBlenderPhone, faHourglassClock, faPersonSeatReclined, faPaperPlaneTop, faPaperPlaneAlt, faSend, faMessageArrowUp, faCommentAltArrowUp, faLightbulbExclamation, faLayerMinus, faLayerGroupMinus, faChartPieSimpleCircleCurrency, faCircleE, faBuildingWheat, faGaugeMax, faTachometerAltFastest, faPersonBreastfeeding, faApostrophe, faFilePng, faFireHydrant, faRightToBracket, faSignInAlt, faVideoPlus, faSquareRight, faArrowAltSquareRight, faCommentSmile, faVenus, faPassport, faInboxIn, faInboxArrowDown, faHeartPulse, faHeartbeat, faCircle8, faCloudsMoon, faClockTenThirty, faPeopleCarryBox, faPeopleCarry, faFolderUser, faTrashCanXmark, faTemperatureHigh, faMicrochip, faLeftLongToLine, faCrown, faWeightHanging, faXmarksLines, faFilePrescription, faTableCellsLock, faCalendarRange, faFlowerDaffodil, faHandBackPointUp, faWeightScale, faWeight, faArrowUpToArc, faStarExclamation, faBooks, faUserGroup, faUserFriends, faArrowUpAZ, faSortAlphaUp, faLayerPlus, faLayerGroupPlus, faPlayPause, faBlockQuestion, faSnooze, faZzz, faScannerImage, faTvRetro, faSquareT, faFarm, faBarnSilo, faChessKnight, faBarsSort, faPalletBoxes, faPaletteBoxes, faPalletAlt, faFaceLaughSquint, faLaughSquint, faCodeSimple, faBoltSlash, faPanelFire, faBinaryCircleCheck, faCommentMinus, faBurrito, faViolin, faObjectsColumn, faSquareChevronDown, faChevronSquareDown, faCommentPlus, faTriangleInstrument, faTriangleMusic, faWheelchair, faUserPilotTie, faPianoKeyboard, faBedEmpty, faCircleArrowUp, faArrowCircleUp, faToggleOn, faRectangleVertical, faRectanglePortrait, faPersonWalking, faWalking, faL, faSignalStream, faDownToBracket, faCircleZ, faStars, faFire, faBedPulse, faProcedures, faHouseDay, faShuttleSpace, faSpaceShuttle, faShirtLongSleeve, faChartPieSimple, faChartPieAlt, faFaceLaugh, faLaugh, faFolderOpen, faAlbumCollectionCircleUser, faCandy, faBowlHot, faSoup, faFlatbread, faHeartCirclePlus, faCodeFork, faCity, faSignalBarsWeak, faSignalAlt1, faMicrophoneLines, faMicrophoneAlt, faClockTwelve, faPepperHot, faCitrusSlice, faSheep, faUnlock, faColonSign, faHeadset, faBadgerHoney, faH4, faStoreSlash, faRoadCircleXmark, faSignalSlash, faUserMinus, faMarsStrokeUp, faMarsStrokeV, faChampagneGlasses, faGlassCheers, faTaco, faHexagonPlus, faPlusHexagon, faClipboard, faHouseCircleExclamation, faFileArrowUp, faFileUpload, faWifi, faWifi3, faWifiStrong, faMessages, faCommentsAlt, faBath, faBathtub, faUmbrellaSimple, faUmbrellaAlt, faRectangleHistoryCirclePlus, faUnderline, faPrescriptionBottlePill, faUserPen, faUserEdit, faBinarySlash, faSquareO, faCaduceus, faSignature, faStroopwafel, faBold, faAnchorLock, faBuildingNgo, faTransporter3, faEngineWarning, faEngineExclamation, faCircleDownRight, faSquareK, faManatSign, faMoneyCheckPen, faMoneyCheckEdit, faNotEqual, faBorderTopLeft, faBorderStyle, faMapLocationDot, faMapMarkedAlt, faTilde, faJedi, faSquarePollVertical, faPoll, faArrowDownSquareTriangle, faSortShapesDownAlt, faMugHot, faDogLeashed, faCarBattery, faBatteryCar, faFaceDowncastSweat, faMailboxFlagUp, faMemoCircleInfo, faGift, faDiceTwo, faVolume, faVolumeMedium, faTransporter5, faGaugeCircleBolt, faCoinFront, faFileSlash, faMessageArrowUpRight, faTreasureChest, faChessQueen, faPaintbrushFine, faPaintBrushAlt, faPaintBrushFine, faPaintbrushAlt, faGlasses, faHoodCloak, faSquareQuote, faUpLeft, faBringFront, faChessBoard, faBurgerCheese, faCheeseburger, faBuildingCircleCheck, faRepeat1, faArrowDownToLine, faArrowToBottom, faGrid5, faSwapArrows, faRightLongToLine, faPersonChalkboard, faMarsStrokeRight, faMarsStrokeH, faHandBackFist, faHandRock, faGridRound5, faTally, faTally5, faSquareCaretUp, faCaretSquareUp, faCloudShowersWater, faChartBar, faBarChart, faHandsBubbles, faHandsWash, faLessThanEqual, faTrain, faUpFromDottedLine, faEyeLowVision, faLowVision, faTrafficLightGo, faFaceExhaling, faSensorFire, faUserUnlock, faHexagonDivide, fa00, faCrow, faCassetteBetamax, faBetamax, faSailboat, faWindowRestore, faNfcMagnifyingGlass, faFileBinary, faCircleV, faSquarePlus, faPlusSquare, faBowlScoops, faMistletoe, faCustard, faLacrosseStick, faHockeyMask, faSunrise, faSubtitles, faPanelEws, faToriiGate, faCloudExclamation, faMessageLines, faCommentAltLines, faFrog, faBucket, faFloppyDiskPen, faImage, faWindowFrame, faMicrophone, faCow, faFileZip, faSquareRing, faDownFromLine, faArrowAltFromTop, faCaretUp, faShieldXmark, faShieldTimes, faScrewdriver, faCircleSortDown, faSortCircleDown, faFolderClosed, faHouseTsunami, faSquareNfi, faForklift, faArrowUpFromGroundWater, faBracketSquareRight, faMartiniGlass, faGlassMartiniAlt, faRotateLeft, faRotateBack, faRotateBackward, faUndoAlt, faTableColumns, faColumns, faSquareA, faTick, faLemon, faHeadSideMask, faHandshake, faGem, faDolly, faDollyBox, faSmoking, faMinimize, faCompressArrowsAlt, faRefrigerator, faMonument, faOctagonXmark, faTimesOctagon, faXmarkOctagon, faAlignSlash, faSnowplow, faAnglesRight, faAngleDoubleRight, faTruckRampCouch, faTruckCouch, faCannabis, faCirclePlay, faPlayCircle, faArrowUpRightAndArrowDownLeftFromCenter, faLocationArrowUp, faTablets, fa360Degrees, faEthernet, faEuroSign, faEur, faEuro, faChair, faCircleCheck, faCheckCircle, faSquareDashedCirclePlus, faHandHoldingCircleDollar, faMoneySimpleFromBracket, faBat, faCircleStop, faStopCircle, faHeadSideHeadphones, faPhoneRotary, faArrowUpToBracket, faCompassDrafting, faDraftingCompass, faPlateWheat, faCalendarCircleMinus, faChopsticks, faCarWrench, faCarMechanic, faIcicles, faPersonShelter, faNeuter, faIdBadge, faKazoo, faMarker, faBinBottles, faFaceLaughBeam, faLaughBeam, faSquareArrowDownLeft, faBatteryBolt, faTreeLarge, faHelicopterSymbol, faAperture, faUniversalAccess, faGearComplex, faFileMagnifyingGlass, faFileSearch, faUpRight, faCircleChevronUp, faChevronCircleUp, faUserPolice, faLariSign, faVolcano, faTeddyBear, faStocking, faPersonWalkingDashedLineArrowRight, faImageSlash, faMaskSnorkel, faSmoke, faSterlingSign, faGbp, faPoundSign, faBatteryExclamation, faViruses, faSquarePersonConfined, faUserTie, faUpToBracket, faArrowDownLong, faLongArrowDown, faTentArrowDownToLine, faCertificate, faCrystalBall, faReplyAll, faMailReplyAll, faSuitcase, faPersonSkating, faSkating, faStarShooting, faBinaryLock, faFilterCircleDollar, faFunnelDollar, faCameraRetro, faCircleArrowDown, faArrowCircleDown, faCommentPen, faCommentEdit, faFileImport, faArrowRightToFile, faBanjo, faSquareArrowUpRight, faExternalLinkSquare, faLightEmergencyOn, faKerning, faBoxOpen, faSquareF, faScroll, faSpa, faArrowLeftFromLine, faArrowFromRight, faStrawberry, faLocationPinLock, faPause, faClockEightThirty, faPlaneEngines, faPlaneAlt, faHillAvalanche, faTemperatureEmpty, faTemperature0, faThermometer0, faThermometerEmpty, faBomb, faGaugeLow, faTachometerAltSlow, faRegistered, faTrashCanPlus, faAddressCard, faContactCard, faVcard, faScaleUnbalancedFlip, faBalanceScaleRight, faGlobeSnow, faSubscript, faDiamondTurnRight, faDirections, faIntegral, faBurst, faHouseLaptop, faLaptopHouse, faFaceTired, faTired, faMoneyBills, faBlindsRaised, faSmog, faUfoBeam, faCircleCaretUp, faCaretCircleUp, faUserVneckHairLong, faSquareALock, faCrutch, faGasPumpSlash, faFontAwesome, faFontAwesomeFlag, faFontAwesomeLogoFull, faCloudArrowUp, faCloudUpload, faCloudUploadAlt, faPalette, faTransporter4, faChartMixedUpCircleCurrency, faObjectsAlignRight, faArrowsTurnRight, faVest, faPig, faInboxFull, faCircleEnvelope, faEnvelopeCircle, faTrianglePersonDigging, faConstruction, faFerry, faBullseyeArrow, faArrowsDownToPeople, faSeedling, faSprout, faClockSeven, faLeftRight, faArrowsAltH, faBoxesPacking, faCircleArrowLeft, faArrowCircleLeft, faFlashlight, faFileJpg, faGroupArrowsRotate, faBowlFood, faSquare9, faCandyCane, faArrowDownWideShort, faSortAmountAsc, faSortAmountDown, faSquareDollar, faDollarSquare, faUsdSquare, faPhoneArrowRight, faHandHoldingSeedling, faMessageCheck, faCommentAltCheck, faCloudBolt, faThunderstorm, faChartLineUpDown, faTextSlash, faRemoveFormat, faWatch, faCircleDownLeft, faText, faProjector, faFaceSmileWink, faSmileWink, faTombstoneBlank, faTombstoneAlt, faChessKingPiece, faChessKingAlt, faCircle6, faWavesSine, faLeft, faArrowAltLeft, faFileWord, faFilePowerpoint, faSquareDown, faArrowAltSquareDown, faObjectsAlignCenterVertical, faArrowsLeftRight, faArrowsH, faHouseLock, faCloudArrowDown, faCloudDownload, faCloudDownloadAlt, faWreath, faChildren, faMeterDroplet, faChalkboard, faBlackboard, faUserLargeSlash, faUserAltSlash, faSignalStrong, faSignal4, faLollipop, faLollypop, faListTree, faEnvelopeOpen, faDrawCircle, faCatSpace, faHandshakeSimpleSlash, faHandshakeAltSlash, faRabbitRunning, faRabbitFast, faMemoPad, faMattressPillow, faAlarmPlus, faAlicorn, faCommentQuestion, faGingerbreadMan, faGuaraniSign, faBurgerFries, faMugTea, faBorderTop, faArrowsRotate, faRefresh, faSync, faCircleBookOpen, faBookCircle, faArrowsToDottedLine, faFireExtinguisher, faMagnifyingGlassArrowsRotate, faGarageOpen, faShelvesEmpty, faCruzeiroSign, faWatchApple, faWatchCalculator, faListDropdown, faCabinetFiling, faBurgerSoda, faSquareArrowUp, faArrowSquareUp, faGreaterThanEqual, faPalletBox, faFaceConfounded, faShieldHalved, faShieldAlt, faTruckPlow, faBookAtlas, faAtlas, faVirus, faGridRound2, faCommentMiddleTop, faWave, faEnvelopeCircleCheck, faLayerGroup, faRestroomSimple, faArrowsToDot, faBorderOuter, faHashtagLock, faClockTwoThirty, faArchway, faHeartCircleCheck, faHouseChimneyCrack, faHouseDamage, faFileZipper, faFileArchive, faTicketPerforated, faHeartHalf, faCommentCheck, faSquare, faMemo, faMartiniGlassEmpty, faGlassMartini, faCouch, faCediSign, faItalic, faGlassCitrus, faCalendarLinesPen, faTableCellsColumnLock, faChurch, faPersonSnowmobiling, faSnowmobile, faFaceHushed, faCommentsDollar, faTicketsSimple, faPickaxe, faLinkSimpleSlash, faDemocrat, faFaceConfused, faPinball, faZ, faPersonSkiing, faSkiing, faDeer, faInputPipe, faRoadLock, faA, faBookmarkSlash, faTemperatureArrowDown, faTemperatureDown, faMace, faFeatherPointed, faFeatherAlt, faSausage, faTrashCanClock, faP, faBroomWide, faSnowflake, faStomach, faNewspaper, faRectangleAd, faAd, faGuitarElectric, faArrowTurnDownRight, faMoonCloud, faBreadSliceButter, faCircleArrowRight, faArrowCircleRight, faUserGroupCrown, faUsersCrown, faCircleI, faToiletPaperCheck, faFilterCircleXmark, faLocust, faSort, faUnsorted, faListOl, faList12, faListNumeric, faChartWaterfall, faSparkle, faFaceParty, faKidneys, faWifiExclamation, faChartNetwork, faPersonDressBurst, faDiceD4, faMoneyCheckDollar, faMoneyCheckAlt, faVectorSquare, faBreadSlice, faLanguage, faWheatAwnSlash, faFaceKissWinkHeart, faKissWinkHeart, faDagger, faPodium, faMemoCircleCheck, faRouteHighway, faDownToLine, faArrowAltToBottom, faFilter, faSquareG, faCirclePhone, faPhoneCircle, faClipboardPrescription, faUserNurseHair, faQuestion, faFileSignature, faToggleLargeOn, faUpDownLeftRight, faArrowsAlt, faDryerHeat, faDryerAlt, faHouseChimneyUser, faHandHoldingHeart, faArrowUpSmallBig, faSortSizeUpAlt, faTrainTrack, faPuzzlePiece, faMoneyCheck, faStarHalfStroke, faStarHalfAlt, faFileExclamation, faCode, faWhiskeyGlass, faGlassWhiskey, faMoonStars, faBuildingCircleExclamation, faClothesHanger, faMobileNotch, faMobileIphone, faMagnifyingGlassChart, faArrowUpRightFromSquare, faExternalLink, faCubesStacked, faImagesUser, faWonSign, faKrw, faWon, faImagePolaroidUser, faVirusCovid, faSquareEllipsis, faPie, faChessKnightPiece, faChessKnightAlt, faAustralSign, faCloudPlus, faF, faLeaf, faBedBunk, faRoad, faTaxi, faCab, faPersonCirclePlus, faChartPie, faPieChart, faBoltLightning, faClockEight, faSackXmark, faFileXls, faFileExcel, faFileContract, faFishFins, faCircleQ, faBuildingFlag, faFaceGrinBeam, faGrinBeam, faObjectUngroup, faFaceDisguise, faCircleArrowDownRight, faAlien8bit, faAlienMonster, faHandPointRibbon, faPoop, faObjectExclude, faTelescope, faLocationPin, faMapMarker, faSquareList, faKaaba, faToiletPaper, faHelmetSafety, faHardHat, faHatHard, faCommentCode, faSimCards, faStarship, faEject, faCircleRight, faArrowAltCircleRight, faPlaneCircleCheck, faSeal, faUserCowboy, faHexagonVerticalNft, faFaceRollingEyes, faMehRollingEyes, faBreadLoaf, faRingsWedding, faObjectGroup, faFrenchFries, faChartLine, faLineChart, faCalendarArrowDown, faCalendarDownload, faSendBack, faMaskVentilator, faTickets, faSignatureLock, faArrowRight, faSignsPost, faMapSigns, faOctagonPlus, faPlusOctagon, faCashRegister, faPersonCircleQuestion, faMelonSlice, faSpaceStationMoon, faMessageSmile, faCommentAltSmile, faCupStraw, faLeftFromLine, faArrowAltFromRight, faH, faBasketShoppingSimple, faShoppingBasketAlt, faHandsHoldingHeart, faHandsHeart, faClockNine, faHammerBrush, faTarp, faFaceSleepy, faHandHorns, faScrewdriverWrench, faTools, faArrowsToEye, faCircleThreeQuarters, faTrophyStar, faTrophyAlt, faPlugCircleBolt, faFaceThermometer, faGridRound4, faSignPostsWrench, faShirtRunning, faBookCircleArrowUp, faFaceNauseated, faHeart, faFileChartPie, faMarsAndVenus, faHouseUser, faHomeUser, faCircleArrowDownLeft, faDumpsterFire, faHexagonMinus, faMinusHexagon, faLeftToLine, faArrowAltToLeft, faHouseCrack, faPawSimple, faPawAlt, faArrowLeftLongToLine, faBracketsRound, faParentheses, faMartiniGlassCitrus, faCocktail, faUserShakespeare, faArrowRightToArc, faFaceSurprise, faSurprise, faBottleWater, faCirclePause, faPauseCircle, faGaugeCirclePlus, faFolders, faAngel, faValueAbsolute, faRabbit, faToiletPaperSlash, faCircleEuro, faAppleWhole, faAppleAlt, faKitchenSet, faDiamondHalf, faLockKeyhole, faLockAlt, faR, faTemperatureQuarter, faTemperature1, faThermometer1, faThermometerQuarter, faSquareInfo, faInfoSquare, faWifiSlash, faToiletPaperXmark, faHandsHoldingDollar, faHandsUsd, faCube, faArrowDownTriangleSquare, faSortShapesDown, faBitcoinSign, faShutters, faShieldDog, faSolarPanel, faLockOpen, faTableTree, faHouseChimneyHeart, faTally3, faElevator, faMoneyBillTransfer, faMoneyBillTrendUp, faHouseFloodWaterCircleArrowRight, faSquarePollHorizontal, faPollH, faCircle, faLeftToBracket, faCartCircleExclamation, faSword, faBackwardFast, faFastBackward, faRecycle, faUserAstronaut, faInterrobang, faPlaneSlash, faCircleDashed, faTrademark, faBasketball, faBasketballBall, faForkKnife, faUtensilsAlt, faSatelliteDish, faBadgeCheck, faCircleUp, faArrowAltCircleUp, faSlider, faMobileScreenButton, faMobileAlt, faClockOneThirty, faInboxOut, faInboxArrowUp, faCloudSlash, faVolumeHigh, faVolumeUp, faUsersRays, faWallet, faOctagonCheck, faFlatbreadStuffed, faClipboardCheck, faCartCirclePlus, faTruckClock, faShippingTimed, faPool8Ball, faFileAudio, faTurnDownLeft, faLockHashtag, faChartRadar, faStaff, faBurger, faHamburger, faUtilityPole, faTransporter6, faArrowTurnLeft, faWrench, faBugs, faVectorPolygon, faDiagramNested, faRupeeSign, faRupee, faFileImage, faCircleQuestion, faQuestionCircle, faTicketsPerforated, faImageUser, faBuoy, faPlaneDeparture, faHandshakeSlash, faBookBookmark, faBorderCenterH, faCanFood, faTypewriter, faArrowRightFromArc, faCircleK, faFaceHandOverMouth, faPopcorn, faHouseWater, faHouseFlood, faObjectSubtract, faCodeBranch, faWarehouseFull, faWarehouseAlt, faHatCowboy, faBridge, faPhoneFlip, faPhoneAlt, faArrowDownFromDottedLine, faFileDoc, faSquareQuarters, faTruckFront, faCat, faTrashXmark, faCircleCaretLeft, faCaretCircleLeft, faFiles, faAnchorCircleExclamation, faFaceClouds, faUserCrown, faBasketShoppingPlus, faTruckField, faRoute, faCartCircleCheck, faClipboardQuestion, faPanorama, faCommentMedical, faTeethOpen, faUserTieHairLong, faFileCircleMinus, faHeadSideMedical, faArrowTurnRight, faTags, faWineGlass, faForwardFast, faFastForward, faFaceMehBlank, faMehBlank, faUserRobot, faSquareParking, faParking, faCardDiamond, faFaceZipper, faFaceRaisedEyebrow, faHouseSignal, faSquareChevronUp, faChevronSquareUp, faNfcSymbol, faBarsProgress, faTasksAlt, faFaucetDrip, faArrowsToLine, faDolphin, faArrowUpRight, faCircleR, faCartFlatbed, faDollyFlatbed, faBanSmoking, faSmokingBan, faCircleSortUp, faSortCircleUp, faTerminal, faMobileButton, faHouseMedicalFlag, faBasketShopping, faShoppingBasket, faTape, faChestnut, faBusSimple, faBusAlt, faEye, faFaceSadCry, faSadCry, faHeat, faTicketAirline, faTicketPerforatedPlane, faTicketPlane, faBootHeeled, faArrowsMinimize, faCompressArrows, faAudioDescription, faPersonMilitaryToPerson, faFileShield, faHexagon, faManhole, faUserSlash, faPen, faTowerObservation, faFloppyDisks, faToiletPaperBlankUnder, faToiletPaperReverseAlt, faFileCode, faSignal, faSignal5, faSignalPerfect, faPump, faBus, faHeartCircleXmark, faArrowUpLeftFromCircle, faHouseChimney, faHomeLg, faWindowMaximize, faDryer, faFaceFrown, faFrown, faChessBishopPiece, faChessBishopAlt, faShirtTankTop, faDiploma, faScrollRibbon, faScreencast, faWalker, faPrescription, faShop, faStoreAlt, faFloppyDisk, faSave, faVihara, faFaceKissClosedEyes, faScaleUnbalanced, faBalanceScaleLeft, faFileUser, faUserPoliceTie, faFaceTongueMoney, faTennisBall, faSquareL, faSortUp, faSortAsc, faCalendarArrowUp, faCalendarUpload, faCommentDots, faCommenting, faPlantWilt, faScarf, faAlbumCirclePlus, faUserNurseHairLong, faDiamond, faSquareLeft, faArrowAltSquareLeft, faFaceGrinSquint, faGrinSquint, faCircleEllipsisVertical, faHandHoldingDollar, faHandHoldingUsd, faGridDividers, faBacterium, faHandPointer, faDrumSteelpan, faHandScissors, faHandsPraying, faPrayingHands, faFacePensive, faUserMusic, faArrowRotateRight, faArrowRightRotate, faArrowRotateForward, faRedo, faMessagesDollar, faCommentsAltDollar, faSensorOn, faBalloon, faWebAwesome, faBiohazard, faChessQueenPiece, faChessQueenAlt, faLocationCrosshairs, faLocation, faMarsDouble, faLeftFromBracket, faHousePersonLeave, faHouseLeave, faHousePersonDepart, faRulerTriangle, faCardClub, faChildDress, faUsersBetweenLines, faLungsVirus, faSpinnerThird, faFaceGrinTears, faGrinTears, faPhone, faComputerMouseScrollwheel, faMouseAlt, faCalendarXmark, faCalendarTimes, faChildReaching, faTableLayout, faNarwhal, faRampLoading, faCalendarCirclePlus, faToothbrush, faBorderInner, faPawClaws, faKiwiFruit, faTrafficLightSlow, faRectangleCode, faHeadSideVirus, faKeyboardBrightness, faBooksMedical, faLightbulbSlash, faHouseBlank, faHomeBlank, faSquare5, faSquareHeart, faHeartSquare, faPuzzle, faUserGear, faUserCog, faPipeCircleCheck, faArrowUp19, faSortNumericUp, faOctagonExclamation, faDialLow, faDoorClosed, faLaptopMobile, faPhoneLaptop, faConveyorBeltBoxes, faConveyorBeltAlt, faShieldVirus, faStarfighterTwinIonEngineAdvanced, faStarfighterAltAdvanced, faDiceSix, faStarfighterTwinIonEngine, faStarfighterAlt, faRocketLaunch, faMosquitoNet, faVentDamper, faBridgeWater, faBanBug, faDebug, faPersonBooth, faTextWidth, faGarageCar, faSquareKanban, faHatWizard, faChartKanban, faPenFancy, faCoffeePot, faMouseField, faPersonDigging, faDigging, faShowerDown, faShowerAlt, faBoxCircleCheck, faBrightness, faCarSideBolt, faFileXml, faOrnament, faPhoneArrowDownLeft, faPhoneArrowDown, faPhoneIncoming, faCloudWord, faHandFingersCrossed, faTrash, faGaugeSimple, faGaugeSimpleMed, faTachometerAverage, faArrowDownSmallBig, faSortSizeDownAlt, faBookMedical, faFaceMelting, faPoo, faPenClipSlash, faPenAltSlash, faQuoteRight, faQuoteRightAlt, faScrollOld, faGuitars, faPhoneXmark, faHose, faClockSix, faShirt, faTShirt, faTshirt, faBillboard, faSquareR, faCubes, faEnvelopeOpenDollar, faDivide, faSunCloud, faLampFloor, faSquare7, faTengeSign, faTenge, faHeadphones, faHandsHolding, faCampfire, faCircleAmpersand, faSnowflakes, faHandsClapping, faRepublican, faLeafMaple, faArrowLeft, faPersonCircleXmark, faRuler, faArrowLeftFromBracket, faCupStrawSwoosh, faTemperatureSun, faTemperatureHot, faAlignLeft, faDiceD6, faRestroom, faHighDefinition, faRectangleHd, faJ, faGalaxy, faUsersViewfinder, faFileVideo, faCherries, faUpRightFromSquare, faExternalLinkAlt, faCircleSort, faSortCircle, faTableCells, faTh, faBagShoppingMinus, faFilePdf, faSiren, faArrowUpToDottedLine, faImageLandscape, faLandscape, faTankWater, faCurlingStone, faCurling, faGamepadModern, faGamepadAlt, faMessagesQuestion, faBookBible, faBible, faO, faSuitcaseMedical, faMedkit, faBriefcaseArrowRight, faExpandWide, faClockElevenThirty, faRv, faUserSecret, faOtter, faDreidel, faPersonDress, faFemale, faCommentDollar, faBusinessTime, faBriefcaseClock, faFlowerTulip, faPeoplePantsSimple, faCloudDrizzle, faTableCellsLarge, faThLarge, faBookTanakh, faTanakh, faSolarSystem, faSealQuestion, faPhoneVolume, faVolumeControlPhone, faDiscDrive, faHatCowboySide, faTableRows, faRows, faLocationExclamation, faMapMarkerExclamation, faFaceFearful, faClipboardUser, faBusSchool, faFilmSlash, faSquareArrowDownRight, faBookSparkles, faBookSpells, faWashingMachine, faWasher, faChild, faLiraSign, faUserVisor, faFilePlusMinus, faChessClockFlip, faChessClockAlt, faSatellite, faTruckFire, faPlaneLock, faSteeringWheel, faTag, faStretcher, faBookSection, faBookLaw, faInboxes, faCoffeeBean, faCircleYen, faBracketsCurly, faEllipsisStrokeVertical, faEllipsisVAlt, faComment, faSquare1, faCakeCandles, faBirthdayCake, faCake, faHeadSide, faTruckLadder, faEnvelope, faDollyEmpty, faFaceTissue, faAnglesUp, faAngleDoubleUp, faBinRecycle, faPaperclip, faChartLineDown, faArrowRightToCity, faLockA, faRibbon, faLungs, faPersonPinball, faArrowUp91, faSortNumericUpAlt, faAppleCore, faCircleY, faH6, faLitecoinSign, faBottleBaby, faCircleSmall, faBorderNone, faArrowTurnDownLeft, faCircleWifiCircleWifi, faCircleWifiGroup, faCircleNodes, faParachuteBox, faReflectHorizontal, faMessageMedical, faCommentAltMedical, faRugbyBall, faCommentMusic, faIndent, faTreeDeciduous, faTreeAlt, faPuzzlePieceSimple, faPuzzlePieceAlt, faTruckFieldUn, faNfcTrash, faHourglass, faHourglassEmpty, faMountain, faFileXmark, faFileTimes, faHouseHeart, faHomeHeart, faHouseChimneyBlank, faMeterBolt, faUserDoctor, faUserMd, faSlashBack, faCircleInfo, faInfoCircle, faFishingRod, faHammerCrash, faMessageHeart, faCloudMeatball, faCameraPolaroid, faCamera, faCameraAlt, faSquareVirus, faCartArrowUp, faMeteor, faCarOn, faSleigh, faArrowDown19, faSortNumericAsc, faSortNumericDown, faBuoyMooring, faSquare4, faHandHoldingDroplet, faHandHoldingWater, faFileEps, faTricycleAdult, faWaveform, faWater, faStarSharpHalfStroke, faStarSharpHalfAlt, faNfcSignal, faPlaneProp, faCalendarCheck, faClockDesk, faCalendarClock, faCalendarTime, faBraille, faPrescriptionBottleMedical, faPrescriptionBottleAlt, faPlateUtensils, faFamilyPants, faHoseReel, faHouseWindow, faLandmark, faTruck, faMusicMagnifyingGlass, faCrosshairs, faCloudRainbow, faPersonCane, faAlien, faTent, faLaptopBinary, faVestPatches, faPeopleDressSimple, faCheckDouble, faArrowDownAZ, faSortAlphaAsc, faSortAlphaDown, faBowlingBallPin, faBellSchoolSlash, faPlusLarge, faMoneyBillWheat, faCameraViewfinder, faScreenshot, faMessageMusic, faCommentAltMusic, faCarBuilding, faBorderBottomRight, faBorderStyleAlt, faOctagon, faCommentArrowUpRight, faOctagonDivide, faCookie, faArrowRotateLeft, faArrowLeftRotate, faArrowRotateBack, faArrowRotateBackward, faUndo, faTvMusic, faHardDrive, faHdd, faReel, faFaceGrinSquintTears, faGrinSquintTears, faDumbbell, faRectangleList, faListAlt, faTarpDroplet, faAlarmExclamation, faHouseMedicalCircleCheck, faTrafficCone, faGrate, faArrowDownRight, faPersonSkiingNordic, faSkiingNordic, faCalendarPlus, faPersonFromPortal, faPortalExit, faPlaneArrival, faCowbellCirclePlus, faCowbellMore, faCircleLeft, faArrowAltCircleLeft, faDistributeSpacingVertical, faSignalBarsFair, faSignalAlt2, faSportsball, faGameConsoleHandheldCrank, faTrainSubway, faSubway, faChartGantt, faFaceSmileUpsideDown, faBallPile, faBadgeDollar, faMoneyBillsSimple, faMoneyBillsAlt, faListTimeline, faIndianRupeeSign, faIndianRupee, faInr, faCropSimple, faCropAlt, faMoneyBill1, faMoneyBillAlt, faLeftLong, faLongArrowAltLeft, faKeyboardDown, faCircleUpRight, faCloudBoltMoon, faThunderstormMoon, faTurnLeftUp, faDna, faVirusSlash, faBracketRoundRight, faCircleSterling, faCircle5, faMinus, faSubtract, faFireFlame, faFlame, faRightToLine, faArrowAltToRight, faGif, faChess, faTrashSlash, faArrowLeftLong, faLongArrowLeft, faPlugCircleCheck, faFontCase, faStreetView, faArrowDownLeft, faFrancSign, faFlaskRoundPoison, faFlaskPoison, faVolumeOff, faBookCircleArrowRight, faChartUser, faUserChart, faHandsAslInterpreting, faAmericanSignLanguageInterpreting, faAslInterpreting, faHandsAmericanSignLanguageInterpreting, faPresentationScreen, faPresentation, faCircleBolt, faFaceSmileHalo, faCartCircleArrowDown, faHousePersonReturn, faHousePersonArrive, faHouseReturn, faMessageXmark, faCommentAltTimes, faMessageTimes, faFileCertificate, faFileAward, faUserDoctorHairLong, faCameraSecurity, faCameraHome, faGear, faCog, faDropletSlash, faTintSlash, faBookHeart, faMosque, faDuck, faMosquito, faStarOfDavid, faFlagSwallowtail, faFlagAlt, faPersonMilitaryRifle, faCarGarage, faCartShopping, faShoppingCart, faBookFont, faShieldPlus, faVials, faEyeDropperFull, faDistributeSpacingHorizontal, faTabletRugged, faTemperatureSnow, faTemperatureFrigid, faMoped, faFaceSmilePlus, faSmilePlus, faRadioTuner, faRadioAlt, faFaceSwear, faWaterArrowDown, faWaterLower, faScannerTouchscreen, faCircle7, faPlugCirclePlus, faPersonSkiJumping, faSkiJump, faPlaceOfWorship, faWaterArrowUp, faWaterRise, faWaveformLines, faWaveformPath, faSplit, faFilmCanister, faFilmCannister, faFolderXmark, faFolderTimes, faToiletPaperBlank, faToiletPaperAlt, faTabletScreen, faTabletAndroidAlt, faHexagonVerticalNftSlanted, faFolderMusic, faDisplayMedical, faDesktopMedical, faShareAll, faPeapod, faChessClock, faAxe, faSquareD, faGripVertical, faMobileSignalOut, faArrowTurnUp, faLevelUp, faU, faArrowUpFromDottedLine, faSquareRootVariable, faSquareRootAlt, faLightSwitchOn, faArrowDownArrowUp, faSortAlt, faRaindrops, faDash, faMinusLarge, faClock, faClockFour, faInputNumeric, faTruckTow, faBackwardStep, faStepBackward, faPallet, faCarBolt, faArrowsMaximize, faExpandArrows, faFaucet, faCloudSleet, faLampStreet, faListRadio, faPenNibSlash, faBaseballBatBall, faSquareUpLeft, faOverline, faS, faTimeline, faKeyboard, faArrowsFromDottedLine, faUsbDrive, faBallot, faCaretDown, faLocationDotSlash, faMapMarkerAltSlash, faCards, faHouseChimneyMedical, faClinicMedical, faBoxingGlove, faGloveBoxing, faTemperatureThreeQuarters, faTemperature3, faThermometer3, faThermometerThreeQuarters, faBellSchool, faMobileScreen, faMobileAndroidAlt, faPlaneUp, faFolderHeart, faCircleLocationArrow, faLocationCircle, faFaceHeadBandage, faSushiRoll, faMakiRoll, faMakizushi, faCarBump, faPiggyBank, faRacquet, faCarMirrors, faIndustryWindows, faIndustryAlt, faBoltAuto, faBatteryHalf, faBattery3, faFluxCapacitor, faMountainCity, faCoins, faHoneyPot, faOlive, faKhanda, faFilterList, faOutlet, faSliders, faSlidersH, faCauldron, faPeople, faFolderTree, faNetworkWired, faCroissant, faMapPin, faHamsa, faCentSign, faSwordsLaser, faFlask, faPersonPregnant, faSquareU, faWandSparkles, faRouter, faEllipsisVertical, faEllipsisV, faSwordLaserAlt, faTicket, faPowerOff, faCoin, faLaptopSlash, faRightLong, faLongArrowAltRight, faCircleB, faPersonDressSimple, faPipeCollar, faLightsHoliday, faCitrus, faFlagUsa, faLaptopFile, faTty, faTeletype, faChartTreeMap, faDiagramNext, faPersonRifle, faClockFiveThirty, faPipeValve, faArrowUpFromArc, faFaceSpiralEyes, faCompressWide, faCirclePhoneHangup, faPhoneCircleDown, faGearComplexCode, faHouseMedicalCircleExclamation, faBadminton, faClosedCaptioning, faPersonHiking, faHiking, faRightFromLine, faArrowAltFromLeft, faVenusDouble, faImages, faCalculator, faShuttlecock, faUserHair, faEyeEvil, faPeoplePulling, faN, faSwap, faGarage, faCableCar, faTram, faShovelSnow, faCloudRain, faFaceLying, faSprinkler, faBuildingCircleXmark, faPersonSledding, faSledding, faGameConsoleHandheld, faShip, faClockSixThirty, faBatterySlash, faTugrikSign, faArrowsDownToLine, faDownload, faAnglesUpDown, faShelves, faInventory, faCloudSnow, faFaceGrin, faGrin, faDeleteLeft, faBackspace, faOven, faCloudBinary, faEyeDropper, faEyeDropperEmpty, faEyedropper, faCommentCaptions, faCommentsQuestion, faScribble, faRotateExclamation, faFileCircleCheck, faGlass, faLoader, faForward, faUserPilot, faMobile, faMobileAndroid, faMobilePhone, faCodePullRequestClosed, faFaceMeh, faMeh, faAlignCenter, faBookSkull, faBookDead, faIdCard, faDriversLicense, faFaceDotted, faFaceWorried, faOutdent, faDedent, faCourtSport, faHeartCircleExclamation, faHouse, faHome, faHomeAlt, faHomeLgAlt, faVectorCircle, faCarCircleBolt, faCalendarWeek, faFlyingDisc, faLaptopMedical, faSquareDownRight, faB, faSeatAirline, faMoonOverSun, faEclipseAlt, faPipe, faFileMedical, faPotato, faDiceOne, faCircleA, faHelmetBattle, faButter, faBlanketFire, faKiwiBird, faCastle, faGolfClub, faArrowRightArrowLeft, faExchange, faRotateRight, faRedoAlt, faRotateForward, faUtensils, faCutlery, faArrowUpWideShort, faSortAmountUp, faChartPieSimpleCircleDollar, faBalloons, faMillSign, faBowlRice, faTimelineArrow, faSkull, faGameBoardSimple, faGameBoardAlt, faCircleVideo, faVideoCircle, faChartScatterBubble, faHouseTurret, faBanana, faHandHoldingSkull, faPeopleDress, faLoveseat, faCouchSmall, faTowerBroadcast, faBroadcastTower, faTruckPickup, faBlockQuote, faUpLong, faLongArrowAltUp, faStop, faCodeMerge, faMoneyCheckDollarPen, faMoneyCheckEditAlt, faUpFromLine, faArrowAltFromBottom, faUpload, faHurricane, faGridRound2Plus, faPeoplePants, faMound, faWindsock, faCircleHalf, faBrakeWarning, faToiletPortable, faCompactDisc, faFileArrowDown, faFileDownload, faSaxophoneFire, faSaxHot, faCameraWebSlash, faWebcamSlash, faFolderMedical, faFolderGear, faFolderCog, faHandWave, faArrowUpArrowDown, faSortUpDown, faCaravan, faShieldCat, faMessageSlash, faCommentAltSlash, faBolt, faZap, faTrashCanCheck, faGlassWater, faOilWell, faPersonSimple, faArrowTurnLeftUp, faVault, faMars, faToilet, faPlaneCircleXmark, faYenSign, faCny, faJpy, faRmb, faYen, faGearCode, faNotes, faRubleSign, faRouble, faRub, faRuble, faTrashUndo, faTrashArrowTurnLeft, faChampagneGlass, faGlassChampagne, faObjectsAlignCenterHorizontal, faSun, faTrashCanSlash, faTrashAltSlash, faScreenUsers, faUsersClass, faGuitar, faSquareArrowLeft, faArrowSquareLeft, faSquare8, faFaceSmileHearts, faBracketsSquare, faBrackets, faLaptopArrowDown, faHockeyStickPuck, faHouseTree, faSignalFair, faSignal2, faFaceLaughWink, faLaughWink, faCircleDollar, faDollarCircle, faUsdCircle, faHorseHead, faArrowsRepeat, faRepeatAlt, faBoreHole, faIndustry, faImagePolaroid, faWaveTriangle, faTurnLeftDown, faPersonRunningFast, faCircleDown, faArrowAltCircleDown, faGrill, faArrowsTurnToDots, faChartMixed, faAnalytics, faFlorinSign, faArrowDownShortWide, faSortAmountDesc, faSortAmountDownAlt, faLessThan, faDisplayCode, faDesktopCode, faFaceDrooling, faOilTemperature, faOilTemp, faSquareQuestion, faQuestionSquare, faAirConditioner, faAngleDown, faMountains, faOmega, faCarTunnel, faPersonDollyEmpty, faPanFood, faHeadSideCough, faGripLines, faThumbsDown, faUserLock, faArrowRightLong, faLongArrowRight, faTicketsAirline, faTicketsPerforatedPlane, faTicketsPlane, faTentDoublePeak, faAnchorCircleXmark, faEllipsis, faEllipsisH, faNfcSlash, faChessPawn, faKitMedical, faFirstAid, faGrid2Plus, faBells, faPersonThroughWindow, faToolbox, faEnvelopeDot, faEnvelopeBadge, faMagnifyingGlassWaveform, faHandsHoldingCircle, faBug, faBowlChopsticks, faCreditCard, faCreditCardAlt, faCircleS, faBoxBallot, faCar, faAutomobile, faHandHoldingHand, faUserTieHair, faPodiumStar, faUserHairMullet, faBusinessFront, faPartyBack, faTrianBalbot, faMicrophoneStand, faBookOpenReader, faBookReader, faFamilyDress, faCircleX, faCabin, faMountainSun, faChartSimpleHorizontal, faBluetooth, faArrowsLeftRightToLine, faHandBackPointLeft, faMessageDots, faCommentAltDots, faMessaging, faFileHeart, faBeerMug, faBeerFoam, faDiceD20, faDrone, faTruckDroplet, faFileCircleXmark, faTemperatureArrowUp, faTemperatureUp, faMedal, faPersonFairy, faBed, faBookCopy, faSquareH, faHSquare, faSquareC, faClockTwo, faSquareEllipsisVertical, faCalendarUsers, faPodcast, faBee, faTemperatureFull, faTemperature4, faThermometer4, faThermometerFull, faBell, faCandyBar, faChocolateBar, faXmarkLarge, faPinata, faFilePpt, faArrowsFromLine, faSuperscript, faBowlSpoon, faHexagonCheck, faPlugCircleXmark, faStarOfLife, faPhoneSlash, faTrafficLightStop, faPaintRoller, faAccentGrave, faHandshakeAngle, faHandsHelping, faCircle0, faDialMedLow, faLocationDot, faMapMarkerAlt, faCrab, faBoxOpenFull, faBoxFull, faFile, faGreaterThan, faQuotes, faPretzel, faTRex, faPersonSwimming, faSwimmer, faArrowDown, faUserRobotXmarks, faMessageQuote, faCommentAltQuote, faCandyCorn, faFolderMagnifyingGlass, faFolderSearch, faNotebook, faCircleWifi, faDroplet, faTint, faBullseyePointer, faEraser, faHexagonImage, faEarthAmericas, faEarth, faEarthAmerica, faGlobeAmericas, faFileSvg, faCrateApple, faAppleCrate, faPersonBurst, faGameBoard, faHatChef, faHandBackPointRight, faDove, faSnowflakeDroplets, faBatteryEmpty, faBattery0, faGrid4, faSocks, faFaceSunglasses, faInbox, faSquare0, faSection, faSquareThisWayUp, faBoxUp, faGaugeHigh, faTachometerAlt, faTachometerAltFast, faSquareAmpersand, faEnvelopeOpenText, faLampDesk, faHospital, faHospitalAlt, faHospitalWide, faPollPeople, faWhiskeyGlassIce, faGlassWhiskeyRocks, faWineBottle, faChessRook, faUserBountyHunter, faBarsStaggered, faReorder, faStream, faDiagramSankey, faCloudHailMixed, faCircleUpLeft, faDharmachakra, faObjectsAlignLeft, faOilCanDrip, faFaceSmilingHands, faBroccoli, faRouteInterstate, faEarMuffs, faHotdog, faTransporterEmpty, faPersonWalkingWithCane, faBlind, faAngle90, faRectangleTerminal, faKite, faDrum, faScrubber, faIceCream, faHeartCircleBolt, faFishBones, faDeerRudolph, faFax, faParagraph, faHeadSideHeart, faSquareE, faMeterFire, faCloudHail, faCheckToSlot, faVoteYea, faMoneyFromBracket, faStarHalf, faCarBus, faSpeaker, faTimer, faBoxesStacked, faBoxes, faBoxesAlt, faLandmarkMagnifyingGlass, faGrillHot, faBallotCheck, faLink, faChain, faEarListen, faAssistiveListeningSystems, faFileMinus, faTreeCity, faPlay, faFont, faCupTogo, faCoffeeTogo, faSquareDownLeft, faBurgerLettuce, faTableCellsRowLock, faRupiahSign, faMagnifyingGlass, faSearch, faTableTennisPaddleBall, faPingPongPaddleBall, faTableTennis, faPersonDotsFromLine, faDiagnoses, faChevronsDown, faChevronDoubleDown, faTrashCanArrowUp, faTrashRestoreAlt, faSignalGood, faSignal3, faLocationQuestion, faMapMarkerQuestion, faFloppyDiskCircleXmark, faFloppyDiskTimes, faSaveCircleXmark, faSaveTimes, faNairaSign, faPeach, faTaxiBus, faBracketCurly, faBracketCurlyLeft, faLobster, faCartFlatbedEmpty, faDollyFlatbedEmpty, faColon, faCartArrowDown, faWand, faWalkieTalkie, faFilePen, faFileEdit, faReceipt, faTablePicnic, faSquarePen, faPenSquare, faPencilSquare, faCircleMicrophoneLines, faMicrophoneCircleAlt, faDisplaySlash, faDesktopSlash, faSuitcaseRolling, faPersonCircleExclamation, faTransporter2, faHandsHoldingDiamond, faHandReceiving, faMoneyBillSimpleWave, faChevronDown, faBatteryFull, faBattery, faBattery5, faBellPlus, faBookArrowRight, faHospitals, faClub, faSkullCrossbones, faDropletDegree, faDewpoint, faCodeCompare, faListUl, faListDots, faHandHoldingMagic, faWatermelonSlice, faCircleEllipsis, faSchoolLock, faTowerCell, faSdCards, faJugBottle, faDownLong, faLongArrowAltDown, faEnvelopes, faPhoneOffice, faRankingStar, faChessKing, faNfcPen, faPersonHarassing, faMagnifyingGlassPlay, faHatWinter, faBrazilianRealSign, faLandmarkDome, faLandmarkAlt, faBoneBreak, faArrowUp, faDownFromDottedLine, faTv, faTelevision, faTvAlt, faBorderLeft, faCircleDivide, faShrimp, faListCheck, faTasks, faDiagramSubtask, faJugDetergent, faCircleUser, faUserCircle, faSquareY, faUserDoctorHair, faPlanetRinged, faMushroom, faUserShield, faMegaphone, faWreathLaurel, faCircleExclamationCheck, faWind, faBoxDollar, faBoxUsd, faCarBurst, faCarCrash, faY, faUserHeadset, faArrowsRetweet, faRetweetAlt, faPersonSnowboarding, faSnowboarding, faSquareChevronRight, faChevronSquareRight, faLacrosseStickBall, faTruckFast, faShippingFast, faUserMagnifyingGlass, faStarSharp, faCommentHeart, faCircle1, faCircleStar, faStarCircle, faFish, faCloudFog, faFog, faWaffle, faMusicNote, faMusicAlt, faHexagonExclamation, faCartShoppingFast, faObjectUnion, faUserGraduate, faStarfighter, faCircleHalfStroke, faAdjust, faArrowRightLongToLine, faSquareArrowDown, faArrowSquareDown, faDiamondHalfStroke, faClapperboard, faSquareChevronLeft, faChevronSquareLeft, faPhoneIntercom, faLinkHorizontal, faChainHorizontal, faMango, faMusicNoteSlash, faMusicAltSlash, faCircleRadiation, faRadiationAlt, faFaceTongueSweat, faGlobeStand, faBaseball, faBaseballBall, faCircleP, faAwardSimple, faJetFighterUp, faDiagramProject, faProjectDiagram, faPedestal, faChartPyramid, faSidebar, faSnowmanHead, faFrostyHead, faCopy, faBurgerGlass, faVolumeXmark, faVolumeMute, faVolumeTimes, faHandSparkles, faBarsFilter, faPaintbrushPencil, faPartyBell, faUserVneckHair, faJackOLantern, faGrip, faGripHorizontal, faShareFromSquare, faShareSquare, faKeynote, faChildCombatant, faChildRifle, faGun, faSquarePhone, faPhoneSquare, faHatBeach, faPlus, faAdd, faExpand, faComputer, faFort, faCloudCheck, faXmark, faClose, faMultiply, faRemove, faTimes, faFaceSmirking, faArrowsUpDownLeftRight, faArrows, faChalkboardUser, faChalkboardTeacher, faRhombus, faClawMarks, faPesoSign, faFaceSmileTongue, faCartCircleXmark, faBuildingShield, faCirclePhoneFlip, faPhoneCircleAlt, faBaby, faUsersLine, faQuoteLeft, faQuoteLeftAlt, faTractor, faDownFromBracket, faKeySkeleton, faTrashArrowUp, faTrashRestore, faArrowDownUpLock, faArrowDownToBracket, faLinesLeaning, faSquareQ, faRulerCombined, faSymbols, faIconsAlt, faCopyright, faFlaskGear, faHighlighterLine, faBracketSquare, faBracket, faBracketLeft, faIslandTropical, faIslandTreePalm, faArrowRightFromLine, faArrowFromLeft, faH2, faEquals, faCakeSlice, faShortcake, faBuildingMagnifyingGlass, faPeanut, faWrenchSimple, faBlender, faTeeth, faTally2, faShekelSign, faIls, faShekel, faSheqel, faSheqelSign, faCars, faAxeBattle, faUserHairLong, faMap, faArrowLeftFromArc, faFileCircleInfo, faFaceDisappointed, faLassoSparkles, faClockEleven, faRocket, faSirenOn, faClockTen, faCandleHolder, faVideoArrowDownLeft, faPhotoFilm, faPhotoVideo, faFloppyDiskCircleArrowRight, faSaveCircleArrowRight, faFolderMinus, faPlanetMoon, faFaceEyesXmarks, faChartScatter, faCircleGf, faDisplayArrowDown, faStore, faArrowTrendUp, faPlugCircleMinus, faOliveBranch, faAngle, faVacuumRobot, faSignHanging, faSign, faSquareDivide, faFolderCheck, faSignalStreamSlash, faBezierCurve, faEyeDropperHalf, faStoreLock, faBellSlash, faCloudBoltSun, faThunderstormSun, faCameraSlash, faCommentQuote, faTablet, faTabletAndroid, faSchoolFlag, faMessageCode, faGlassHalf, faGlassHalfEmpty, faGlassHalfFull, faFill, faMessageMinus, faCommentAltMinus, faAngleUp, faDinosaur, faDrumstickBite, faLinkHorizontalSlash, faChainHorizontalSlash, faHollyBerry, faNose, faArrowLeftToArc, faChevronLeft, faBacteria, faClouds, faMoneyBillSimple, faHandLizard, faTablePivot, faFilterSlash, faTrashCanUndo, faTrashCanArrowTurnLeft, faTrashUndoAlt, faNotdef, faDisease, faPersonToDoor, faTurntable, faBriefcaseMedical, faGenderless, faChevronRight, faSignalWeak, faSignal1, faClockFive, faRetweet, faCarRear, faCarAlt, faPumpSoap, faComputerClassic, faFrame, faVideoSlash, faBatteryQuarter, faBattery2, faEllipsisStroke, faEllipsisHAlt, faRadio, faBabyCarriage, faCarriageBaby, faFaceExpressionless, faDownToDottedLine, faCloudMusic, faTrafficLight, faCloudMinus, faThermometer, faShieldMinus, faVrCardboard, faCarTilt, faGaugeCircleMinus, faBrightnessLow, faHandMiddleFinger, faPercent, faPercentage, faTruckMoving, faGlassWaterDroplet, faConveyorBelt, faLocationCheck, faMapMarkerCheck, faCoinVertical, faDisplay, faPersonSign, faFaceSmile, faSmile, faPhoneHangup, faSignatureSlash, faThumbtack, faThumbTack, faWheatSlash, faTrophy, faCloudsSun, faPersonPraying, faPray, faHammer, faFaceVomit, faSpeakers, faTtyAnswer, faTeletypeAnswer, faMugTeaSaucer, faDiagramLeanCanvas, faAlt, faDial, faDialMedHigh, faHandPeace, faCircleTrash, faTrashCircle, faRotate, faSyncAlt, faCircleQuarters, faSpinner, faTowerControl, faArrowUpTriangleSquare, faSortShapesUp, faWhale, faRobot, faPeace, faPartyHorn, faGears, faCogs, faSunBright, faSunAlt, faWarehouse, faConveyorBeltArm, faLockKeyholeOpen, faLockOpenAlt, faSquareFragile, faBoxFragile, faSquareWineGlassCrack, faArrowUpRightDots, faSquareN, faSplotch, faFaceGrinHearts, faGrinHearts, faMeter, faMandolin, faDiceFour, faSimCard, faTransgender, faTransgenderAlt, faMercury, faUpFromBracket, faKnifeKitchen, faBorderRight, faArrowTurnDown, faLevelDown, faSpade, faCardSpade, faLineColumns, faAnt, faArrowRightToLine, faArrowToRight, faPersonFallingBurst, faFlagPennant, faPennant, faConveyorBeltEmpty, faUserGroupSimple, faAward, faTicketSimple, faTicketAlt, faBuilding, faAnglesLeft, faAngleDoubleLeft, faCamcorder, faVideoHandheld, faPancakes, faAlbumCircleUser, faSubtitlesSlash, faQrcode, faDiceD10, faFireplace, faBrowser, faPenPaintbrush, faPencilPaintbrush, faFishCooked, faChairOffice, faMagnifyingGlassMusic, faNestingDolls, faClockRotateLeft, faHistory, faTrumpet, faFaceGrinBeamSweat, faGrinBeamSweat, faFireSmoke, faPhoneMissed, faFileExport, faArrowRightFromFile, faShield, faShieldBlank, faArrowUpShortWide, faSortAmountUpAlt, faArrowsRepeat1, faRepeat1Alt, faGunSlash, faAvocado, faBinary, faGlassesRound, faGlassesAlt, faPhonePlus, faDitto, faPersonSeat, faHouseMedical, faGolfBallTee, faGolfBall, faCircleChevronLeft, faChevronCircleLeft, faHouseChimneyWindow, faScythe, faPenNib, faBanParking, faParkingCircleSlash, faTentArrowTurnLeft, faFaceDiagonalMouth, faDiagramCells, faCricketBatBall, faCricket, faTents, faWandMagic, faMagic, faDog, faPenLine, faAtomSimple, faAtomAlt, faAmpersand, faCarrot, faArrowUpFromLine, faArrowFromBottom, faMoon, faPenSlash, faWineGlassEmpty, faWineGlassAlt, faSquareStar, faCheese, faSendBackward, faYinYang, faMusic, faCompassSlash, faClockOne, faFileMusic, faCodeCommit, faTemperatureLow, faPersonBiking, faBiking, faDisplayChartUpCircleCurrency, faSkeleton, faCircleG, faCircleArrowUpLeft, faCoinBlank, faBroom, faVacuum, faShieldHeart, faCardHeart, faLightbulbCflOn, faMelon, faGopuram, faEarthOceania, faGlobeOceania, faContainerStorage, faFacePouting, faSquareXmark, faTimesSquare, faXmarkSquare, faFaceExplode, faExplodingHead, faHashtag, faUpRightAndDownLeftFromCenter, faExpandAlt, faOilCan, faT, faTransformerBolt, faHippo, faChartColumn, faCassetteVhs, faVhs, faInfinity, faVialCircleCheck, faChimney, faObjectIntersect, faPersonArrowDownToLine, faVoicemail, faBlockBrick, faWallBrick, faFan, faBagsShopping, faParagraphLeft, faParagraphRtl, faPersonWalkingLuggage, faCaravanSimple, faCaravanAlt, faTurtle, faPencilMechanical, faUpDown, faArrowsAltV, faCloudMoonRain, faBoothCurtain, faCalendar, faBoxHeart, faTrailer, faUserDoctorMessage, faUserMdChat, faBahai, faHaykal, faLighthouse, faAmpGuitar, faSdCard, faVolumeSlash, faBorderBottom, faWifiWeak, faWifi1, faDragon, faShoePrints, faCirclePlus, faPlusCircle, faFaceGrinTongueWink, faGrinTongueWink, faHandHolding, faPlugCircleExclamation, faLinkSlash, faChainBroken, faChainSlash, faUnlink, faClone, faPersonWalkingArrowLoopLeft, faArrowUpZA, faSortAlphaUpAlt, faFireFlameCurved, faFireAlt, faTornado, faFileCirclePlus, faDeleteRight, faBookQuran, faQuran, faCircleQuarter, faAnchor, faBorderAll, faFunction, faFaceAngry, faAngry, faPeopleSimple, faCookieBite, faArrowTrendDown, faRss, faFeed, faFaceMonocle, faDrawPolygon, faScaleBalanced, faBalanceScale, faCalendarLines, faCalendarNote, faArrowDownBigSmall, faSortSizeDown, faGaugeSimpleHigh, faTachometer, faTachometerFast, faDoNotEnter, faShower, faDiceD8, faDesktop, faDesktopAlt, faM, faSpinnerScale, faGripDotsVertical, faFaceViewfinder, faSoftServe, faCreemee, faH5, faHandBackPointDown, faTableList, faThList, faBasketShoppingMinus, faCommentSms, faSms, faRectangle, faRectangleLandscape, faClipboardListCheck, faTurkey, faBook, faUserPlus, faIceSkate, faCheck, faBatteryThreeQuarters, faBattery4, faTomato, faSwordLaser, faHouseCircleCheck, faBuildings, faAngleLeft, faCartFlatbedBoxes, faDollyFlatbedAlt, faDiagramSuccessor, faTruckArrowRight, faSquareW, faArrowsSplitUpAndLeft, faLamp, faAirplay, faHandFist, faFistRaised, faShieldQuartered, faSlashForward, faLocationPen, faMapMarkerEdit, faCloudMoon, faPotFood, faBriefcase, faPersonFalling, faImagePortrait, faPortrait, faUserTag, faRug, faPrintSlash, faEarthEurope, faGlobeEurope, faCartFlatbedSuitcase, faLuggageCart, faHandBackPointRibbon, faRectangleXmark, faRectangleTimes, faTimesRectangle, faWindowClose, faTireRugged, faLightbulbDollar, faCowbell, faBahtSign, faCorner, faChevronsRight, faChevronDoubleRight, faBookOpen, faBookJournalWhills, faJournalWhills, faInhaler, faHandcuffs, faSnake, faTriangleExclamation, faExclamationTriangle, faWarning, faNoteMedical, faDatabase, faDownLeft, faShare, faMailForward, faFaceThinking, faTurnDownRight, faBottleDroplet, faMaskFace, faHillRockslide, faScannerKeyboard, faCircleO, faGridHorizontal, faMessageDollar, faCommentAltDollar, faRightLeft, faExchangeAlt, faColumns3, faPaperPlane, faRoadCircleExclamation, faDungeon, faHandHoldingBox, faInputText, faWindowFlip, faWindowAlt, faAlignRight, faScannerGun, faScanner, faTire, faEngine, faMoneyBill1Wave, faMoneyBillWaveAlt, faLifeRing, faHands, faSignLanguage, faSigning, faCircleCaretRight, faCaretCircleRight, faTurnLeft, faWheat, faFileSpreadsheet, faAudioDescriptionSlash, faBellRing, faCalendarDay, faWaterLadder, faLadderWater, faSwimmingPool, faArrowsUpDown, faArrowsV, faChessPawnPiece, faChessPawnAlt, faFaceGrimace, faGrimace, faWheelchairMove, faWheelchairAlt, faTurnDown, faLevelDownAlt, faSquareS, faRectangleBarcode, faBarcodeAlt, faPersonWalkingArrowRight, faSquareEnvelope, faEnvelopeSquare, faDice, faUnicorn, faBowlingBall, faPompebled, faBrain, faWatchSmart, faBookUser, faSensorCloud, faSensorSmoke, faClapperboardPlay, faBandage, faBandAid, faCalendarMinus, faCircleXmark, faTimesCircle, faXmarkCircle, faCircle4, faGifts, faAlbumCollection, faHotel, faEarthAsia, faGlobeAsia, faIdCardClip, faIdCardAlt, faMagnifyingGlassPlus, faSearchPlus, faThumbsUp, faCloudShowers, faUserClock, faOnion, faClockTwelveThirty, faArrowDownToDottedLine, faHandDots, faAllergies, faFileInvoice, faWindowMinimize, faRectangleWide, faCommentArrowUp, faGarlic, faMugSaucer, faCoffee, faBrush, faTreeDecorated, faMask, faCalendarHeart, faMagnifyingGlassMinus, faSearchMinus, faFlower, faArrowDownFromArc, faRightLeftLarge, faRulerVertical, faCirclesOverlap, faUserLarge, faUserAlt, faStarshipFreighter, faTrainTram, faBridgeSuspension, faTrashCheck, faUserNurse, faBoombox, faSyringe, faCloudSun, faShieldExclamation, faStopwatch20, faSquareFull, faGripDots, faCommentExclamation, faPenSwirl, faFalafel, faCircle2, faMagnet, faJar, faGramophone, faDiceD12, faNoteSticky, faStickyNote, faDown, faArrowAltDown, faHundredPoints, fa100, faPaperclipVertical, faWindWarning, faWindCircleExclamation, faLocationPinSlash, faMapMarkerSlash, faFaceSadSweat, faBugSlash, faCupcake, faLightSwitchOff, faToggleLargeOff, faPenFancySlash, faTruckContainer, faBoot, faArrowUpFromWaterPump, faFileCheck, faBone, faCardsBlank, faCircle3, faBenchTree, faKeyboardBrightnessLow, faSkiBootSki, faBrainCircuit, faUserInjured, faBlockBrickFire, faFirewall, faFaceSadTear, faSadTear, faPlane, faTentArrowsDown, faExclamation, faArrowsSpin, faFaceSmileRelaxed, faCommentXmark, faCommentTimes, faPrint, faTurkishLiraSign, faTry, faTurkishLira, faFaceNoseSteam, faCircleWaveformLines, faWaveformCircle, faDollarSign, faDollar, faUsd, faFerrisWheel, faComputerSpeaker, faSkullCow, faX, faMagnifyingGlassDollar, faSearchDollar, faUsersGear, faUsersCog, faPersonMilitaryPointing, faBuildingColumns, faBank, faInstitution, faMuseum, faUniversity, faCircleT, faSack, faGrid2, faCameraCctv, faCctv, faUmbrella, faTrowel, faHorizontalRule, faBedFront, faBedAlt, faD, faStapler, faMasksTheater, faTheaterMasks, faFileGif, faKipSign, faFaceWoozy, faCloudQuestion, faPineapple, faHandPointLeft, faGalleryThumbnails, faCircleJ, faEyes, faHandshakeSimple, faHandshakeAlt, faPageCaretUp, faFileCaretUp, faJetFighter, faFighterJet, faComet, faSquareShareNodes, faShareAltSquare, faReflectVertical, faShieldKeyhole, faFileMp4, faBarcode, faBulldozer, faPlusMinus, faSquareSlidersVertical, faSlidersVSquare, faVideo, faVideoCamera, faMessageMiddle, faCommentMiddleAlt, faGraduationCap, faMortarBoard, faHandHoldingMedical, faPersonCircleCheck, faSquareZ, faMessageText, faCommentAltText, faTurnUp, faLevelUpAlt };\n","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n","export function invariant(condition, message) {\n const booleanCondition = Boolean(condition);\n\n if (!booleanCondition) {\n throw new Error(\n message != null ? message : 'Unexpected invariant triggered.',\n );\n }\n}\n","import { invariant } from '../jsutils/invariant.mjs';\nconst LineRegExp = /\\r\\n|[\\n\\r]/g;\n/**\n * Represents a location in a Source.\n */\n\n/**\n * Takes a Source and a UTF-8 character offset, and returns the corresponding\n * line and column as a SourceLocation.\n */\nexport function getLocation(source, position) {\n let lastLineStart = 0;\n let line = 1;\n\n for (const match of source.body.matchAll(LineRegExp)) {\n typeof match.index === 'number' || invariant(false);\n\n if (match.index >= position) {\n break;\n }\n\n lastLineStart = match.index + match[0].length;\n line += 1;\n }\n\n return {\n line,\n column: position + 1 - lastLineStart,\n };\n}\n","import { getLocation } from './location.mjs';\n\n/**\n * Render a helpful description of the location in the GraphQL Source document.\n */\nexport function printLocation(location) {\n return printSourceLocation(\n location.source,\n getLocation(location.source, location.start),\n );\n}\n/**\n * Render a helpful description of the location in the GraphQL Source document.\n */\n\nexport function printSourceLocation(source, sourceLocation) {\n const firstLineColumnOffset = source.locationOffset.column - 1;\n const body = ''.padStart(firstLineColumnOffset) + source.body;\n const lineIndex = sourceLocation.line - 1;\n const lineOffset = source.locationOffset.line - 1;\n const lineNum = sourceLocation.line + lineOffset;\n const columnOffset = sourceLocation.line === 1 ? firstLineColumnOffset : 0;\n const columnNum = sourceLocation.column + columnOffset;\n const locationStr = `${source.name}:${lineNum}:${columnNum}\\n`;\n const lines = body.split(/\\r\\n|[\\n\\r]/g);\n const locationLine = lines[lineIndex]; // Special case for minified documents\n\n if (locationLine.length > 120) {\n const subLineIndex = Math.floor(columnNum / 80);\n const subLineColumnNum = columnNum % 80;\n const subLines = [];\n\n for (let i = 0; i < locationLine.length; i += 80) {\n subLines.push(locationLine.slice(i, i + 80));\n }\n\n return (\n locationStr +\n printPrefixedLines([\n [`${lineNum} |`, subLines[0]],\n ...subLines.slice(1, subLineIndex + 1).map((subLine) => ['|', subLine]),\n ['|', '^'.padStart(subLineColumnNum)],\n ['|', subLines[subLineIndex + 1]],\n ])\n );\n }\n\n return (\n locationStr +\n printPrefixedLines([\n // Lines specified like this: [\"prefix\", \"string\"],\n [`${lineNum - 1} |`, lines[lineIndex - 1]],\n [`${lineNum} |`, locationLine],\n ['|', '^'.padStart(columnNum)],\n [`${lineNum + 1} |`, lines[lineIndex + 1]],\n ])\n );\n}\n\nfunction printPrefixedLines(lines) {\n const existingLines = lines.filter(([_, line]) => line !== undefined);\n const padLen = Math.max(...existingLines.map(([prefix]) => prefix.length));\n return existingLines\n .map(([prefix, line]) => prefix.padStart(padLen) + (line ? ' ' + line : ''))\n .join('\\n');\n}\n","import { isObjectLike } from '../jsutils/isObjectLike.mjs';\nimport { getLocation } from '../language/location.mjs';\nimport {\n printLocation,\n printSourceLocation,\n} from '../language/printLocation.mjs';\n\nfunction toNormalizedOptions(args) {\n const firstArg = args[0];\n\n if (firstArg == null || 'kind' in firstArg || 'length' in firstArg) {\n return {\n nodes: firstArg,\n source: args[1],\n positions: args[2],\n path: args[3],\n originalError: args[4],\n extensions: args[5],\n };\n }\n\n return firstArg;\n}\n/**\n * A GraphQLError describes an Error found during the parse, validate, or\n * execute phases of performing a GraphQL operation. In addition to a message\n * and stack trace, it also includes information about the locations in a\n * GraphQL document and/or execution result that correspond to the Error.\n */\n\nexport class GraphQLError extends Error {\n /**\n * An array of `{ line, column }` locations within the source GraphQL document\n * which correspond to this error.\n *\n * Errors during validation often contain multiple locations, for example to\n * point out two things with the same name. Errors during execution include a\n * single location, the field which produced the error.\n *\n * Enumerable, and appears in the result of JSON.stringify().\n */\n\n /**\n * An array describing the JSON-path into the execution response which\n * corresponds to this error. Only included for errors during execution.\n *\n * Enumerable, and appears in the result of JSON.stringify().\n */\n\n /**\n * An array of GraphQL AST Nodes corresponding to this error.\n */\n\n /**\n * The source GraphQL document for the first location of this error.\n *\n * Note that if this Error represents more than one node, the source may not\n * represent nodes after the first node.\n */\n\n /**\n * An array of character offsets within the source GraphQL document\n * which correspond to this error.\n */\n\n /**\n * The original error thrown from a field resolver during execution.\n */\n\n /**\n * Extension fields to add to the formatted error.\n */\n\n /**\n * @deprecated Please use the `GraphQLErrorOptions` constructor overload instead.\n */\n constructor(message, ...rawArgs) {\n var _this$nodes, _nodeLocations$, _ref;\n\n const { nodes, source, positions, path, originalError, extensions } =\n toNormalizedOptions(rawArgs);\n super(message);\n this.name = 'GraphQLError';\n this.path = path !== null && path !== void 0 ? path : undefined;\n this.originalError =\n originalError !== null && originalError !== void 0\n ? originalError\n : undefined; // Compute list of blame nodes.\n\n this.nodes = undefinedIfEmpty(\n Array.isArray(nodes) ? nodes : nodes ? [nodes] : undefined,\n );\n const nodeLocations = undefinedIfEmpty(\n (_this$nodes = this.nodes) === null || _this$nodes === void 0\n ? void 0\n : _this$nodes.map((node) => node.loc).filter((loc) => loc != null),\n ); // Compute locations in the source for the given nodes/positions.\n\n this.source =\n source !== null && source !== void 0\n ? source\n : nodeLocations === null || nodeLocations === void 0\n ? void 0\n : (_nodeLocations$ = nodeLocations[0]) === null ||\n _nodeLocations$ === void 0\n ? void 0\n : _nodeLocations$.source;\n this.positions =\n positions !== null && positions !== void 0\n ? positions\n : nodeLocations === null || nodeLocations === void 0\n ? void 0\n : nodeLocations.map((loc) => loc.start);\n this.locations =\n positions && source\n ? positions.map((pos) => getLocation(source, pos))\n : nodeLocations === null || nodeLocations === void 0\n ? void 0\n : nodeLocations.map((loc) => getLocation(loc.source, loc.start));\n const originalExtensions = isObjectLike(\n originalError === null || originalError === void 0\n ? void 0\n : originalError.extensions,\n )\n ? originalError === null || originalError === void 0\n ? void 0\n : originalError.extensions\n : undefined;\n this.extensions =\n (_ref =\n extensions !== null && extensions !== void 0\n ? extensions\n : originalExtensions) !== null && _ref !== void 0\n ? _ref\n : Object.create(null); // Only properties prescribed by the spec should be enumerable.\n // Keep the rest as non-enumerable.\n\n Object.defineProperties(this, {\n message: {\n writable: true,\n enumerable: true,\n },\n name: {\n enumerable: false,\n },\n nodes: {\n enumerable: false,\n },\n source: {\n enumerable: false,\n },\n positions: {\n enumerable: false,\n },\n originalError: {\n enumerable: false,\n },\n }); // Include (non-enumerable) stack trace.\n\n /* c8 ignore start */\n // FIXME: https://github.com/graphql/graphql-js/issues/2317\n\n if (\n originalError !== null &&\n originalError !== void 0 &&\n originalError.stack\n ) {\n Object.defineProperty(this, 'stack', {\n value: originalError.stack,\n writable: true,\n configurable: true,\n });\n } else if (Error.captureStackTrace) {\n Error.captureStackTrace(this, GraphQLError);\n } else {\n Object.defineProperty(this, 'stack', {\n value: Error().stack,\n writable: true,\n configurable: true,\n });\n }\n /* c8 ignore stop */\n }\n\n get [Symbol.toStringTag]() {\n return 'GraphQLError';\n }\n\n toString() {\n let output = this.message;\n\n if (this.nodes) {\n for (const node of this.nodes) {\n if (node.loc) {\n output += '\\n\\n' + printLocation(node.loc);\n }\n }\n } else if (this.source && this.locations) {\n for (const location of this.locations) {\n output += '\\n\\n' + printSourceLocation(this.source, location);\n }\n }\n\n return output;\n }\n\n toJSON() {\n const formattedError = {\n message: this.message,\n };\n\n if (this.locations != null) {\n formattedError.locations = this.locations;\n }\n\n if (this.path != null) {\n formattedError.path = this.path;\n }\n\n if (this.extensions != null && Object.keys(this.extensions).length > 0) {\n formattedError.extensions = this.extensions;\n }\n\n return formattedError;\n }\n}\n\nfunction undefinedIfEmpty(array) {\n return array === undefined || array.length === 0 ? undefined : array;\n}\n/**\n * See: https://spec.graphql.org/draft/#sec-Errors\n */\n\n/**\n * Prints a GraphQLError to a string, representing useful location information\n * about the error's position in the source.\n *\n * @deprecated Please use `error.toString` instead. Will be removed in v17\n */\nexport function printError(error) {\n return error.toString();\n}\n/**\n * Given a GraphQLError, format it according to the rules described by the\n * Response Format, Errors section of the GraphQL Specification.\n *\n * @deprecated Please use `error.toJSON` instead. Will be removed in v17\n */\n\nexport function formatError(error) {\n return error.toJSON();\n}\n","/**\n * Return true if `value` is object-like. A value is object-like if it's not\n * `null` and has a `typeof` result of \"object\".\n */\nexport function isObjectLike(value) {\n return typeof value == 'object' && value !== null;\n}\n","import { GraphQLError } from './GraphQLError.mjs';\n/**\n * Produces a GraphQLError representing a syntax error, containing useful\n * descriptive information about the syntax error's position in the source.\n */\n\nexport function syntaxError(source, position, description) {\n return new GraphQLError(`Syntax Error: ${description}`, {\n source,\n positions: [position],\n });\n}\n","/**\n * Contains a range of UTF-8 character offsets and token references that\n * identify the region of the source from which the AST derived.\n */\nexport class Location {\n /**\n * The character offset at which this Node begins.\n */\n\n /**\n * The character offset at which this Node ends.\n */\n\n /**\n * The Token at which this Node begins.\n */\n\n /**\n * The Token at which this Node ends.\n */\n\n /**\n * The Source document the AST represents.\n */\n constructor(startToken, endToken, source) {\n this.start = startToken.start;\n this.end = endToken.end;\n this.startToken = startToken;\n this.endToken = endToken;\n this.source = source;\n }\n\n get [Symbol.toStringTag]() {\n return 'Location';\n }\n\n toJSON() {\n return {\n start: this.start,\n end: this.end,\n };\n }\n}\n/**\n * Represents a range of characters represented by a lexical token\n * within a Source.\n */\n\nexport class Token {\n /**\n * The kind of Token.\n */\n\n /**\n * The character offset at which this Node begins.\n */\n\n /**\n * The character offset at which this Node ends.\n */\n\n /**\n * The 1-indexed line number on which this Token appears.\n */\n\n /**\n * The 1-indexed column number at which this Token begins.\n */\n\n /**\n * For non-punctuation tokens, represents the interpreted value of the token.\n *\n * Note: is undefined for punctuation tokens, but typed as string for\n * convenience in the parser.\n */\n\n /**\n * Tokens exist as nodes in a double-linked-list amongst all tokens\n * including ignored tokens. is always the first node and \n * the last.\n */\n constructor(kind, start, end, line, column, value) {\n this.kind = kind;\n this.start = start;\n this.end = end;\n this.line = line;\n this.column = column; // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\n this.value = value;\n this.prev = null;\n this.next = null;\n }\n\n get [Symbol.toStringTag]() {\n return 'Token';\n }\n\n toJSON() {\n return {\n kind: this.kind,\n value: this.value,\n line: this.line,\n column: this.column,\n };\n }\n}\n/**\n * The list of all possible AST node types.\n */\n\n/**\n * @internal\n */\nexport const QueryDocumentKeys = {\n Name: [],\n Document: ['definitions'],\n OperationDefinition: [\n 'name',\n 'variableDefinitions',\n 'directives',\n 'selectionSet',\n ],\n VariableDefinition: ['variable', 'type', 'defaultValue', 'directives'],\n Variable: ['name'],\n SelectionSet: ['selections'],\n Field: ['alias', 'name', 'arguments', 'directives', 'selectionSet'],\n Argument: ['name', 'value'],\n FragmentSpread: ['name', 'directives'],\n InlineFragment: ['typeCondition', 'directives', 'selectionSet'],\n FragmentDefinition: [\n 'name', // Note: fragment variable definitions are deprecated and will removed in v17.0.0\n 'variableDefinitions',\n 'typeCondition',\n 'directives',\n 'selectionSet',\n ],\n IntValue: [],\n FloatValue: [],\n StringValue: [],\n BooleanValue: [],\n NullValue: [],\n EnumValue: [],\n ListValue: ['values'],\n ObjectValue: ['fields'],\n ObjectField: ['name', 'value'],\n Directive: ['name', 'arguments'],\n NamedType: ['name'],\n ListType: ['type'],\n NonNullType: ['type'],\n SchemaDefinition: ['description', 'directives', 'operationTypes'],\n OperationTypeDefinition: ['type'],\n ScalarTypeDefinition: ['description', 'name', 'directives'],\n ObjectTypeDefinition: [\n 'description',\n 'name',\n 'interfaces',\n 'directives',\n 'fields',\n ],\n FieldDefinition: ['description', 'name', 'arguments', 'type', 'directives'],\n InputValueDefinition: [\n 'description',\n 'name',\n 'type',\n 'defaultValue',\n 'directives',\n ],\n InterfaceTypeDefinition: [\n 'description',\n 'name',\n 'interfaces',\n 'directives',\n 'fields',\n ],\n UnionTypeDefinition: ['description', 'name', 'directives', 'types'],\n EnumTypeDefinition: ['description', 'name', 'directives', 'values'],\n EnumValueDefinition: ['description', 'name', 'directives'],\n InputObjectTypeDefinition: ['description', 'name', 'directives', 'fields'],\n DirectiveDefinition: ['description', 'name', 'arguments', 'locations'],\n SchemaExtension: ['directives', 'operationTypes'],\n ScalarTypeExtension: ['name', 'directives'],\n ObjectTypeExtension: ['name', 'interfaces', 'directives', 'fields'],\n InterfaceTypeExtension: ['name', 'interfaces', 'directives', 'fields'],\n UnionTypeExtension: ['name', 'directives', 'types'],\n EnumTypeExtension: ['name', 'directives', 'values'],\n InputObjectTypeExtension: ['name', 'directives', 'fields'],\n};\nconst kindValues = new Set(Object.keys(QueryDocumentKeys));\n/**\n * @internal\n */\n\nexport function isNode(maybeNode) {\n const maybeKind =\n maybeNode === null || maybeNode === void 0 ? void 0 : maybeNode.kind;\n return typeof maybeKind === 'string' && kindValues.has(maybeKind);\n}\n/** Name */\n\nvar OperationTypeNode;\n\n(function (OperationTypeNode) {\n OperationTypeNode['QUERY'] = 'query';\n OperationTypeNode['MUTATION'] = 'mutation';\n OperationTypeNode['SUBSCRIPTION'] = 'subscription';\n})(OperationTypeNode || (OperationTypeNode = {}));\n\nexport { OperationTypeNode };\n","/**\n * The set of allowed directive location values.\n */\nvar DirectiveLocation;\n\n(function (DirectiveLocation) {\n DirectiveLocation['QUERY'] = 'QUERY';\n DirectiveLocation['MUTATION'] = 'MUTATION';\n DirectiveLocation['SUBSCRIPTION'] = 'SUBSCRIPTION';\n DirectiveLocation['FIELD'] = 'FIELD';\n DirectiveLocation['FRAGMENT_DEFINITION'] = 'FRAGMENT_DEFINITION';\n DirectiveLocation['FRAGMENT_SPREAD'] = 'FRAGMENT_SPREAD';\n DirectiveLocation['INLINE_FRAGMENT'] = 'INLINE_FRAGMENT';\n DirectiveLocation['VARIABLE_DEFINITION'] = 'VARIABLE_DEFINITION';\n DirectiveLocation['SCHEMA'] = 'SCHEMA';\n DirectiveLocation['SCALAR'] = 'SCALAR';\n DirectiveLocation['OBJECT'] = 'OBJECT';\n DirectiveLocation['FIELD_DEFINITION'] = 'FIELD_DEFINITION';\n DirectiveLocation['ARGUMENT_DEFINITION'] = 'ARGUMENT_DEFINITION';\n DirectiveLocation['INTERFACE'] = 'INTERFACE';\n DirectiveLocation['UNION'] = 'UNION';\n DirectiveLocation['ENUM'] = 'ENUM';\n DirectiveLocation['ENUM_VALUE'] = 'ENUM_VALUE';\n DirectiveLocation['INPUT_OBJECT'] = 'INPUT_OBJECT';\n DirectiveLocation['INPUT_FIELD_DEFINITION'] = 'INPUT_FIELD_DEFINITION';\n})(DirectiveLocation || (DirectiveLocation = {}));\n\nexport { DirectiveLocation };\n/**\n * The enum type representing the directive location values.\n *\n * @deprecated Please use `DirectiveLocation`. Will be remove in v17.\n */\n","/**\n * The set of allowed kind values for AST nodes.\n */\nvar Kind;\n\n(function (Kind) {\n Kind['NAME'] = 'Name';\n Kind['DOCUMENT'] = 'Document';\n Kind['OPERATION_DEFINITION'] = 'OperationDefinition';\n Kind['VARIABLE_DEFINITION'] = 'VariableDefinition';\n Kind['SELECTION_SET'] = 'SelectionSet';\n Kind['FIELD'] = 'Field';\n Kind['ARGUMENT'] = 'Argument';\n Kind['FRAGMENT_SPREAD'] = 'FragmentSpread';\n Kind['INLINE_FRAGMENT'] = 'InlineFragment';\n Kind['FRAGMENT_DEFINITION'] = 'FragmentDefinition';\n Kind['VARIABLE'] = 'Variable';\n Kind['INT'] = 'IntValue';\n Kind['FLOAT'] = 'FloatValue';\n Kind['STRING'] = 'StringValue';\n Kind['BOOLEAN'] = 'BooleanValue';\n Kind['NULL'] = 'NullValue';\n Kind['ENUM'] = 'EnumValue';\n Kind['LIST'] = 'ListValue';\n Kind['OBJECT'] = 'ObjectValue';\n Kind['OBJECT_FIELD'] = 'ObjectField';\n Kind['DIRECTIVE'] = 'Directive';\n Kind['NAMED_TYPE'] = 'NamedType';\n Kind['LIST_TYPE'] = 'ListType';\n Kind['NON_NULL_TYPE'] = 'NonNullType';\n Kind['SCHEMA_DEFINITION'] = 'SchemaDefinition';\n Kind['OPERATION_TYPE_DEFINITION'] = 'OperationTypeDefinition';\n Kind['SCALAR_TYPE_DEFINITION'] = 'ScalarTypeDefinition';\n Kind['OBJECT_TYPE_DEFINITION'] = 'ObjectTypeDefinition';\n Kind['FIELD_DEFINITION'] = 'FieldDefinition';\n Kind['INPUT_VALUE_DEFINITION'] = 'InputValueDefinition';\n Kind['INTERFACE_TYPE_DEFINITION'] = 'InterfaceTypeDefinition';\n Kind['UNION_TYPE_DEFINITION'] = 'UnionTypeDefinition';\n Kind['ENUM_TYPE_DEFINITION'] = 'EnumTypeDefinition';\n Kind['ENUM_VALUE_DEFINITION'] = 'EnumValueDefinition';\n Kind['INPUT_OBJECT_TYPE_DEFINITION'] = 'InputObjectTypeDefinition';\n Kind['DIRECTIVE_DEFINITION'] = 'DirectiveDefinition';\n Kind['SCHEMA_EXTENSION'] = 'SchemaExtension';\n Kind['SCALAR_TYPE_EXTENSION'] = 'ScalarTypeExtension';\n Kind['OBJECT_TYPE_EXTENSION'] = 'ObjectTypeExtension';\n Kind['INTERFACE_TYPE_EXTENSION'] = 'InterfaceTypeExtension';\n Kind['UNION_TYPE_EXTENSION'] = 'UnionTypeExtension';\n Kind['ENUM_TYPE_EXTENSION'] = 'EnumTypeExtension';\n Kind['INPUT_OBJECT_TYPE_EXTENSION'] = 'InputObjectTypeExtension';\n})(Kind || (Kind = {}));\n\nexport { Kind };\n/**\n * The enum type representing the possible kind values of AST nodes.\n *\n * @deprecated Please use `Kind`. Will be remove in v17.\n */\n","/**\n * An exported enum describing the different kinds of tokens that the\n * lexer emits.\n */\nvar TokenKind;\n\n(function (TokenKind) {\n TokenKind['SOF'] = '';\n TokenKind['EOF'] = '';\n TokenKind['BANG'] = '!';\n TokenKind['DOLLAR'] = '$';\n TokenKind['AMP'] = '&';\n TokenKind['PAREN_L'] = '(';\n TokenKind['PAREN_R'] = ')';\n TokenKind['SPREAD'] = '...';\n TokenKind['COLON'] = ':';\n TokenKind['EQUALS'] = '=';\n TokenKind['AT'] = '@';\n TokenKind['BRACKET_L'] = '[';\n TokenKind['BRACKET_R'] = ']';\n TokenKind['BRACE_L'] = '{';\n TokenKind['PIPE'] = '|';\n TokenKind['BRACE_R'] = '}';\n TokenKind['NAME'] = 'Name';\n TokenKind['INT'] = 'Int';\n TokenKind['FLOAT'] = 'Float';\n TokenKind['STRING'] = 'String';\n TokenKind['BLOCK_STRING'] = 'BlockString';\n TokenKind['COMMENT'] = 'Comment';\n})(TokenKind || (TokenKind = {}));\n\nexport { TokenKind };\n/**\n * The enum type representing the token kinds values.\n *\n * @deprecated Please use `TokenKind`. Will be remove in v17.\n */\n","/**\n * ```\n * WhiteSpace ::\n * - \"Horizontal Tab (U+0009)\"\n * - \"Space (U+0020)\"\n * ```\n * @internal\n */\nexport function isWhiteSpace(code) {\n return code === 0x0009 || code === 0x0020;\n}\n/**\n * ```\n * Digit :: one of\n * - `0` `1` `2` `3` `4` `5` `6` `7` `8` `9`\n * ```\n * @internal\n */\n\nexport function isDigit(code) {\n return code >= 0x0030 && code <= 0x0039;\n}\n/**\n * ```\n * Letter :: one of\n * - `A` `B` `C` `D` `E` `F` `G` `H` `I` `J` `K` `L` `M`\n * - `N` `O` `P` `Q` `R` `S` `T` `U` `V` `W` `X` `Y` `Z`\n * - `a` `b` `c` `d` `e` `f` `g` `h` `i` `j` `k` `l` `m`\n * - `n` `o` `p` `q` `r` `s` `t` `u` `v` `w` `x` `y` `z`\n * ```\n * @internal\n */\n\nexport function isLetter(code) {\n return (\n (code >= 0x0061 && code <= 0x007a) || // A-Z\n (code >= 0x0041 && code <= 0x005a) // a-z\n );\n}\n/**\n * ```\n * NameStart ::\n * - Letter\n * - `_`\n * ```\n * @internal\n */\n\nexport function isNameStart(code) {\n return isLetter(code) || code === 0x005f;\n}\n/**\n * ```\n * NameContinue ::\n * - Letter\n * - Digit\n * - `_`\n * ```\n * @internal\n */\n\nexport function isNameContinue(code) {\n return isLetter(code) || isDigit(code) || code === 0x005f;\n}\n","import { isWhiteSpace } from './characterClasses.mjs';\n/**\n * Produces the value of a block string from its parsed raw value, similar to\n * CoffeeScript's block string, Python's docstring trim or Ruby's strip_heredoc.\n *\n * This implements the GraphQL spec's BlockStringValue() static algorithm.\n *\n * @internal\n */\n\nexport function dedentBlockStringLines(lines) {\n var _firstNonEmptyLine2;\n\n let commonIndent = Number.MAX_SAFE_INTEGER;\n let firstNonEmptyLine = null;\n let lastNonEmptyLine = -1;\n\n for (let i = 0; i < lines.length; ++i) {\n var _firstNonEmptyLine;\n\n const line = lines[i];\n const indent = leadingWhitespace(line);\n\n if (indent === line.length) {\n continue; // skip empty lines\n }\n\n firstNonEmptyLine =\n (_firstNonEmptyLine = firstNonEmptyLine) !== null &&\n _firstNonEmptyLine !== void 0\n ? _firstNonEmptyLine\n : i;\n lastNonEmptyLine = i;\n\n if (i !== 0 && indent < commonIndent) {\n commonIndent = indent;\n }\n }\n\n return lines // Remove common indentation from all lines but first.\n .map((line, i) => (i === 0 ? line : line.slice(commonIndent))) // Remove leading and trailing blank lines.\n .slice(\n (_firstNonEmptyLine2 = firstNonEmptyLine) !== null &&\n _firstNonEmptyLine2 !== void 0\n ? _firstNonEmptyLine2\n : 0,\n lastNonEmptyLine + 1,\n );\n}\n\nfunction leadingWhitespace(str) {\n let i = 0;\n\n while (i < str.length && isWhiteSpace(str.charCodeAt(i))) {\n ++i;\n }\n\n return i;\n}\n/**\n * @internal\n */\n\nexport function isPrintableAsBlockString(value) {\n if (value === '') {\n return true; // empty string is printable\n }\n\n let isEmptyLine = true;\n let hasIndent = false;\n let hasCommonIndent = true;\n let seenNonEmptyLine = false;\n\n for (let i = 0; i < value.length; ++i) {\n switch (value.codePointAt(i)) {\n case 0x0000:\n case 0x0001:\n case 0x0002:\n case 0x0003:\n case 0x0004:\n case 0x0005:\n case 0x0006:\n case 0x0007:\n case 0x0008:\n case 0x000b:\n case 0x000c:\n case 0x000e:\n case 0x000f:\n return false;\n // Has non-printable characters\n\n case 0x000d:\n // \\r\n return false;\n // Has \\r or \\r\\n which will be replaced as \\n\n\n case 10:\n // \\n\n if (isEmptyLine && !seenNonEmptyLine) {\n return false; // Has leading new line\n }\n\n seenNonEmptyLine = true;\n isEmptyLine = true;\n hasIndent = false;\n break;\n\n case 9: // \\t\n\n case 32:\n // \n hasIndent || (hasIndent = isEmptyLine);\n break;\n\n default:\n hasCommonIndent && (hasCommonIndent = hasIndent);\n isEmptyLine = false;\n }\n }\n\n if (isEmptyLine) {\n return false; // Has trailing empty lines\n }\n\n if (hasCommonIndent && seenNonEmptyLine) {\n return false; // Has internal indent\n }\n\n return true;\n}\n/**\n * Print a block string in the indented block form by adding a leading and\n * trailing blank line. However, if a block string starts with whitespace and is\n * a single-line, adding a leading blank line would strip that whitespace.\n *\n * @internal\n */\n\nexport function printBlockString(value, options) {\n const escapedValue = value.replace(/\"\"\"/g, '\\\\\"\"\"'); // Expand a block string's raw value into independent lines.\n\n const lines = escapedValue.split(/\\r\\n|[\\n\\r]/g);\n const isSingleLine = lines.length === 1; // If common indentation is found we can fix some of those cases by adding leading new line\n\n const forceLeadingNewLine =\n lines.length > 1 &&\n lines\n .slice(1)\n .every((line) => line.length === 0 || isWhiteSpace(line.charCodeAt(0))); // Trailing triple quotes just looks confusing but doesn't force trailing new line\n\n const hasTrailingTripleQuotes = escapedValue.endsWith('\\\\\"\"\"'); // Trailing quote (single or double) or slash forces trailing new line\n\n const hasTrailingQuote = value.endsWith('\"') && !hasTrailingTripleQuotes;\n const hasTrailingSlash = value.endsWith('\\\\');\n const forceTrailingNewline = hasTrailingQuote || hasTrailingSlash;\n const printAsMultipleLines =\n !(options !== null && options !== void 0 && options.minimize) && // add leading and trailing new lines only if it improves readability\n (!isSingleLine ||\n value.length > 70 ||\n forceTrailingNewline ||\n forceLeadingNewLine ||\n hasTrailingTripleQuotes);\n let result = ''; // Format a multi-line block quote to account for leading space.\n\n const skipLeadingNewLine = isSingleLine && isWhiteSpace(value.charCodeAt(0));\n\n if ((printAsMultipleLines && !skipLeadingNewLine) || forceLeadingNewLine) {\n result += '\\n';\n }\n\n result += escapedValue;\n\n if (printAsMultipleLines || forceTrailingNewline) {\n result += '\\n';\n }\n\n return '\"\"\"' + result + '\"\"\"';\n}\n","import { syntaxError } from '../error/syntaxError.mjs';\nimport { Token } from './ast.mjs';\nimport { dedentBlockStringLines } from './blockString.mjs';\nimport { isDigit, isNameContinue, isNameStart } from './characterClasses.mjs';\nimport { TokenKind } from './tokenKind.mjs';\n/**\n * Given a Source object, creates a Lexer for that source.\n * A Lexer is a stateful stream generator in that every time\n * it is advanced, it returns the next token in the Source. Assuming the\n * source lexes, the final Token emitted by the lexer will be of kind\n * EOF, after which the lexer will repeatedly return the same EOF token\n * whenever called.\n */\n\nexport class Lexer {\n /**\n * The previously focused non-ignored token.\n */\n\n /**\n * The currently focused non-ignored token.\n */\n\n /**\n * The (1-indexed) line containing the current token.\n */\n\n /**\n * The character offset at which the current line begins.\n */\n constructor(source) {\n const startOfFileToken = new Token(TokenKind.SOF, 0, 0, 0, 0);\n this.source = source;\n this.lastToken = startOfFileToken;\n this.token = startOfFileToken;\n this.line = 1;\n this.lineStart = 0;\n }\n\n get [Symbol.toStringTag]() {\n return 'Lexer';\n }\n /**\n * Advances the token stream to the next non-ignored token.\n */\n\n advance() {\n this.lastToken = this.token;\n const token = (this.token = this.lookahead());\n return token;\n }\n /**\n * Looks ahead and returns the next non-ignored token, but does not change\n * the state of Lexer.\n */\n\n lookahead() {\n let token = this.token;\n\n if (token.kind !== TokenKind.EOF) {\n do {\n if (token.next) {\n token = token.next;\n } else {\n // Read the next token and form a link in the token linked-list.\n const nextToken = readNextToken(this, token.end); // @ts-expect-error next is only mutable during parsing.\n\n token.next = nextToken; // @ts-expect-error prev is only mutable during parsing.\n\n nextToken.prev = token;\n token = nextToken;\n }\n } while (token.kind === TokenKind.COMMENT);\n }\n\n return token;\n }\n}\n/**\n * @internal\n */\n\nexport function isPunctuatorTokenKind(kind) {\n return (\n kind === TokenKind.BANG ||\n kind === TokenKind.DOLLAR ||\n kind === TokenKind.AMP ||\n kind === TokenKind.PAREN_L ||\n kind === TokenKind.PAREN_R ||\n kind === TokenKind.SPREAD ||\n kind === TokenKind.COLON ||\n kind === TokenKind.EQUALS ||\n kind === TokenKind.AT ||\n kind === TokenKind.BRACKET_L ||\n kind === TokenKind.BRACKET_R ||\n kind === TokenKind.BRACE_L ||\n kind === TokenKind.PIPE ||\n kind === TokenKind.BRACE_R\n );\n}\n/**\n * A Unicode scalar value is any Unicode code point except surrogate code\n * points. In other words, the inclusive ranges of values 0x0000 to 0xD7FF and\n * 0xE000 to 0x10FFFF.\n *\n * SourceCharacter ::\n * - \"Any Unicode scalar value\"\n */\n\nfunction isUnicodeScalarValue(code) {\n return (\n (code >= 0x0000 && code <= 0xd7ff) || (code >= 0xe000 && code <= 0x10ffff)\n );\n}\n/**\n * The GraphQL specification defines source text as a sequence of unicode scalar\n * values (which Unicode defines to exclude surrogate code points). However\n * JavaScript defines strings as a sequence of UTF-16 code units which may\n * include surrogates. A surrogate pair is a valid source character as it\n * encodes a supplementary code point (above U+FFFF), but unpaired surrogate\n * code points are not valid source characters.\n */\n\nfunction isSupplementaryCodePoint(body, location) {\n return (\n isLeadingSurrogate(body.charCodeAt(location)) &&\n isTrailingSurrogate(body.charCodeAt(location + 1))\n );\n}\n\nfunction isLeadingSurrogate(code) {\n return code >= 0xd800 && code <= 0xdbff;\n}\n\nfunction isTrailingSurrogate(code) {\n return code >= 0xdc00 && code <= 0xdfff;\n}\n/**\n * Prints the code point (or end of file reference) at a given location in a\n * source for use in error messages.\n *\n * Printable ASCII is printed quoted, while other points are printed in Unicode\n * code point form (ie. U+1234).\n */\n\nfunction printCodePointAt(lexer, location) {\n const code = lexer.source.body.codePointAt(location);\n\n if (code === undefined) {\n return TokenKind.EOF;\n } else if (code >= 0x0020 && code <= 0x007e) {\n // Printable ASCII\n const char = String.fromCodePoint(code);\n return char === '\"' ? \"'\\\"'\" : `\"${char}\"`;\n } // Unicode code point\n\n return 'U+' + code.toString(16).toUpperCase().padStart(4, '0');\n}\n/**\n * Create a token with line and column location information.\n */\n\nfunction createToken(lexer, kind, start, end, value) {\n const line = lexer.line;\n const col = 1 + start - lexer.lineStart;\n return new Token(kind, start, end, line, col, value);\n}\n/**\n * Gets the next token from the source starting at the given position.\n *\n * This skips over whitespace until it finds the next lexable token, then lexes\n * punctuators immediately or calls the appropriate helper function for more\n * complicated tokens.\n */\n\nfunction readNextToken(lexer, start) {\n const body = lexer.source.body;\n const bodyLength = body.length;\n let position = start;\n\n while (position < bodyLength) {\n const code = body.charCodeAt(position); // SourceCharacter\n\n switch (code) {\n // Ignored ::\n // - UnicodeBOM\n // - WhiteSpace\n // - LineTerminator\n // - Comment\n // - Comma\n //\n // UnicodeBOM :: \"Byte Order Mark (U+FEFF)\"\n //\n // WhiteSpace ::\n // - \"Horizontal Tab (U+0009)\"\n // - \"Space (U+0020)\"\n //\n // Comma :: ,\n case 0xfeff: // \n\n case 0x0009: // \\t\n\n case 0x0020: // \n\n case 0x002c:\n // ,\n ++position;\n continue;\n // LineTerminator ::\n // - \"New Line (U+000A)\"\n // - \"Carriage Return (U+000D)\" [lookahead != \"New Line (U+000A)\"]\n // - \"Carriage Return (U+000D)\" \"New Line (U+000A)\"\n\n case 0x000a:\n // \\n\n ++position;\n ++lexer.line;\n lexer.lineStart = position;\n continue;\n\n case 0x000d:\n // \\r\n if (body.charCodeAt(position + 1) === 0x000a) {\n position += 2;\n } else {\n ++position;\n }\n\n ++lexer.line;\n lexer.lineStart = position;\n continue;\n // Comment\n\n case 0x0023:\n // #\n return readComment(lexer, position);\n // Token ::\n // - Punctuator\n // - Name\n // - IntValue\n // - FloatValue\n // - StringValue\n //\n // Punctuator :: one of ! $ & ( ) ... : = @ [ ] { | }\n\n case 0x0021:\n // !\n return createToken(lexer, TokenKind.BANG, position, position + 1);\n\n case 0x0024:\n // $\n return createToken(lexer, TokenKind.DOLLAR, position, position + 1);\n\n case 0x0026:\n // &\n return createToken(lexer, TokenKind.AMP, position, position + 1);\n\n case 0x0028:\n // (\n return createToken(lexer, TokenKind.PAREN_L, position, position + 1);\n\n case 0x0029:\n // )\n return createToken(lexer, TokenKind.PAREN_R, position, position + 1);\n\n case 0x002e:\n // .\n if (\n body.charCodeAt(position + 1) === 0x002e &&\n body.charCodeAt(position + 2) === 0x002e\n ) {\n return createToken(lexer, TokenKind.SPREAD, position, position + 3);\n }\n\n break;\n\n case 0x003a:\n // :\n return createToken(lexer, TokenKind.COLON, position, position + 1);\n\n case 0x003d:\n // =\n return createToken(lexer, TokenKind.EQUALS, position, position + 1);\n\n case 0x0040:\n // @\n return createToken(lexer, TokenKind.AT, position, position + 1);\n\n case 0x005b:\n // [\n return createToken(lexer, TokenKind.BRACKET_L, position, position + 1);\n\n case 0x005d:\n // ]\n return createToken(lexer, TokenKind.BRACKET_R, position, position + 1);\n\n case 0x007b:\n // {\n return createToken(lexer, TokenKind.BRACE_L, position, position + 1);\n\n case 0x007c:\n // |\n return createToken(lexer, TokenKind.PIPE, position, position + 1);\n\n case 0x007d:\n // }\n return createToken(lexer, TokenKind.BRACE_R, position, position + 1);\n // StringValue\n\n case 0x0022:\n // \"\n if (\n body.charCodeAt(position + 1) === 0x0022 &&\n body.charCodeAt(position + 2) === 0x0022\n ) {\n return readBlockString(lexer, position);\n }\n\n return readString(lexer, position);\n } // IntValue | FloatValue (Digit | -)\n\n if (isDigit(code) || code === 0x002d) {\n return readNumber(lexer, position, code);\n } // Name\n\n if (isNameStart(code)) {\n return readName(lexer, position);\n }\n\n throw syntaxError(\n lexer.source,\n position,\n code === 0x0027\n ? 'Unexpected single quote character (\\'), did you mean to use a double quote (\")?'\n : isUnicodeScalarValue(code) || isSupplementaryCodePoint(body, position)\n ? `Unexpected character: ${printCodePointAt(lexer, position)}.`\n : `Invalid character: ${printCodePointAt(lexer, position)}.`,\n );\n }\n\n return createToken(lexer, TokenKind.EOF, bodyLength, bodyLength);\n}\n/**\n * Reads a comment token from the source file.\n *\n * ```\n * Comment :: # CommentChar* [lookahead != CommentChar]\n *\n * CommentChar :: SourceCharacter but not LineTerminator\n * ```\n */\n\nfunction readComment(lexer, start) {\n const body = lexer.source.body;\n const bodyLength = body.length;\n let position = start + 1;\n\n while (position < bodyLength) {\n const code = body.charCodeAt(position); // LineTerminator (\\n | \\r)\n\n if (code === 0x000a || code === 0x000d) {\n break;\n } // SourceCharacter\n\n if (isUnicodeScalarValue(code)) {\n ++position;\n } else if (isSupplementaryCodePoint(body, position)) {\n position += 2;\n } else {\n break;\n }\n }\n\n return createToken(\n lexer,\n TokenKind.COMMENT,\n start,\n position,\n body.slice(start + 1, position),\n );\n}\n/**\n * Reads a number token from the source file, either a FloatValue or an IntValue\n * depending on whether a FractionalPart or ExponentPart is encountered.\n *\n * ```\n * IntValue :: IntegerPart [lookahead != {Digit, `.`, NameStart}]\n *\n * IntegerPart ::\n * - NegativeSign? 0\n * - NegativeSign? NonZeroDigit Digit*\n *\n * NegativeSign :: -\n *\n * NonZeroDigit :: Digit but not `0`\n *\n * FloatValue ::\n * - IntegerPart FractionalPart ExponentPart [lookahead != {Digit, `.`, NameStart}]\n * - IntegerPart FractionalPart [lookahead != {Digit, `.`, NameStart}]\n * - IntegerPart ExponentPart [lookahead != {Digit, `.`, NameStart}]\n *\n * FractionalPart :: . Digit+\n *\n * ExponentPart :: ExponentIndicator Sign? Digit+\n *\n * ExponentIndicator :: one of `e` `E`\n *\n * Sign :: one of + -\n * ```\n */\n\nfunction readNumber(lexer, start, firstCode) {\n const body = lexer.source.body;\n let position = start;\n let code = firstCode;\n let isFloat = false; // NegativeSign (-)\n\n if (code === 0x002d) {\n code = body.charCodeAt(++position);\n } // Zero (0)\n\n if (code === 0x0030) {\n code = body.charCodeAt(++position);\n\n if (isDigit(code)) {\n throw syntaxError(\n lexer.source,\n position,\n `Invalid number, unexpected digit after 0: ${printCodePointAt(\n lexer,\n position,\n )}.`,\n );\n }\n } else {\n position = readDigits(lexer, position, code);\n code = body.charCodeAt(position);\n } // Full stop (.)\n\n if (code === 0x002e) {\n isFloat = true;\n code = body.charCodeAt(++position);\n position = readDigits(lexer, position, code);\n code = body.charCodeAt(position);\n } // E e\n\n if (code === 0x0045 || code === 0x0065) {\n isFloat = true;\n code = body.charCodeAt(++position); // + -\n\n if (code === 0x002b || code === 0x002d) {\n code = body.charCodeAt(++position);\n }\n\n position = readDigits(lexer, position, code);\n code = body.charCodeAt(position);\n } // Numbers cannot be followed by . or NameStart\n\n if (code === 0x002e || isNameStart(code)) {\n throw syntaxError(\n lexer.source,\n position,\n `Invalid number, expected digit but got: ${printCodePointAt(\n lexer,\n position,\n )}.`,\n );\n }\n\n return createToken(\n lexer,\n isFloat ? TokenKind.FLOAT : TokenKind.INT,\n start,\n position,\n body.slice(start, position),\n );\n}\n/**\n * Returns the new position in the source after reading one or more digits.\n */\n\nfunction readDigits(lexer, start, firstCode) {\n if (!isDigit(firstCode)) {\n throw syntaxError(\n lexer.source,\n start,\n `Invalid number, expected digit but got: ${printCodePointAt(\n lexer,\n start,\n )}.`,\n );\n }\n\n const body = lexer.source.body;\n let position = start + 1; // +1 to skip first firstCode\n\n while (isDigit(body.charCodeAt(position))) {\n ++position;\n }\n\n return position;\n}\n/**\n * Reads a single-quote string token from the source file.\n *\n * ```\n * StringValue ::\n * - `\"\"` [lookahead != `\"`]\n * - `\"` StringCharacter+ `\"`\n *\n * StringCharacter ::\n * - SourceCharacter but not `\"` or `\\` or LineTerminator\n * - `\\u` EscapedUnicode\n * - `\\` EscapedCharacter\n *\n * EscapedUnicode ::\n * - `{` HexDigit+ `}`\n * - HexDigit HexDigit HexDigit HexDigit\n *\n * EscapedCharacter :: one of `\"` `\\` `/` `b` `f` `n` `r` `t`\n * ```\n */\n\nfunction readString(lexer, start) {\n const body = lexer.source.body;\n const bodyLength = body.length;\n let position = start + 1;\n let chunkStart = position;\n let value = '';\n\n while (position < bodyLength) {\n const code = body.charCodeAt(position); // Closing Quote (\")\n\n if (code === 0x0022) {\n value += body.slice(chunkStart, position);\n return createToken(lexer, TokenKind.STRING, start, position + 1, value);\n } // Escape Sequence (\\)\n\n if (code === 0x005c) {\n value += body.slice(chunkStart, position);\n const escape =\n body.charCodeAt(position + 1) === 0x0075 // u\n ? body.charCodeAt(position + 2) === 0x007b // {\n ? readEscapedUnicodeVariableWidth(lexer, position)\n : readEscapedUnicodeFixedWidth(lexer, position)\n : readEscapedCharacter(lexer, position);\n value += escape.value;\n position += escape.size;\n chunkStart = position;\n continue;\n } // LineTerminator (\\n | \\r)\n\n if (code === 0x000a || code === 0x000d) {\n break;\n } // SourceCharacter\n\n if (isUnicodeScalarValue(code)) {\n ++position;\n } else if (isSupplementaryCodePoint(body, position)) {\n position += 2;\n } else {\n throw syntaxError(\n lexer.source,\n position,\n `Invalid character within String: ${printCodePointAt(\n lexer,\n position,\n )}.`,\n );\n }\n }\n\n throw syntaxError(lexer.source, position, 'Unterminated string.');\n} // The string value and lexed size of an escape sequence.\n\nfunction readEscapedUnicodeVariableWidth(lexer, position) {\n const body = lexer.source.body;\n let point = 0;\n let size = 3; // Cannot be larger than 12 chars (\\u{00000000}).\n\n while (size < 12) {\n const code = body.charCodeAt(position + size++); // Closing Brace (})\n\n if (code === 0x007d) {\n // Must be at least 5 chars (\\u{0}) and encode a Unicode scalar value.\n if (size < 5 || !isUnicodeScalarValue(point)) {\n break;\n }\n\n return {\n value: String.fromCodePoint(point),\n size,\n };\n } // Append this hex digit to the code point.\n\n point = (point << 4) | readHexDigit(code);\n\n if (point < 0) {\n break;\n }\n }\n\n throw syntaxError(\n lexer.source,\n position,\n `Invalid Unicode escape sequence: \"${body.slice(\n position,\n position + size,\n )}\".`,\n );\n}\n\nfunction readEscapedUnicodeFixedWidth(lexer, position) {\n const body = lexer.source.body;\n const code = read16BitHexCode(body, position + 2);\n\n if (isUnicodeScalarValue(code)) {\n return {\n value: String.fromCodePoint(code),\n size: 6,\n };\n } // GraphQL allows JSON-style surrogate pair escape sequences, but only when\n // a valid pair is formed.\n\n if (isLeadingSurrogate(code)) {\n // \\u\n if (\n body.charCodeAt(position + 6) === 0x005c &&\n body.charCodeAt(position + 7) === 0x0075\n ) {\n const trailingCode = read16BitHexCode(body, position + 8);\n\n if (isTrailingSurrogate(trailingCode)) {\n // JavaScript defines strings as a sequence of UTF-16 code units and\n // encodes Unicode code points above U+FFFF using a surrogate pair of\n // code units. Since this is a surrogate pair escape sequence, just\n // include both codes into the JavaScript string value. Had JavaScript\n // not been internally based on UTF-16, then this surrogate pair would\n // be decoded to retrieve the supplementary code point.\n return {\n value: String.fromCodePoint(code, trailingCode),\n size: 12,\n };\n }\n }\n }\n\n throw syntaxError(\n lexer.source,\n position,\n `Invalid Unicode escape sequence: \"${body.slice(position, position + 6)}\".`,\n );\n}\n/**\n * Reads four hexadecimal characters and returns the positive integer that 16bit\n * hexadecimal string represents. For example, \"000f\" will return 15, and \"dead\"\n * will return 57005.\n *\n * Returns a negative number if any char was not a valid hexadecimal digit.\n */\n\nfunction read16BitHexCode(body, position) {\n // readHexDigit() returns -1 on error. ORing a negative value with any other\n // value always produces a negative value.\n return (\n (readHexDigit(body.charCodeAt(position)) << 12) |\n (readHexDigit(body.charCodeAt(position + 1)) << 8) |\n (readHexDigit(body.charCodeAt(position + 2)) << 4) |\n readHexDigit(body.charCodeAt(position + 3))\n );\n}\n/**\n * Reads a hexadecimal character and returns its positive integer value (0-15).\n *\n * '0' becomes 0, '9' becomes 9\n * 'A' becomes 10, 'F' becomes 15\n * 'a' becomes 10, 'f' becomes 15\n *\n * Returns -1 if the provided character code was not a valid hexadecimal digit.\n *\n * HexDigit :: one of\n * - `0` `1` `2` `3` `4` `5` `6` `7` `8` `9`\n * - `A` `B` `C` `D` `E` `F`\n * - `a` `b` `c` `d` `e` `f`\n */\n\nfunction readHexDigit(code) {\n return code >= 0x0030 && code <= 0x0039 // 0-9\n ? code - 0x0030\n : code >= 0x0041 && code <= 0x0046 // A-F\n ? code - 0x0037\n : code >= 0x0061 && code <= 0x0066 // a-f\n ? code - 0x0057\n : -1;\n}\n/**\n * | Escaped Character | Code Point | Character Name |\n * | ----------------- | ---------- | ---------------------------- |\n * | `\"` | U+0022 | double quote |\n * | `\\` | U+005C | reverse solidus (back slash) |\n * | `/` | U+002F | solidus (forward slash) |\n * | `b` | U+0008 | backspace |\n * | `f` | U+000C | form feed |\n * | `n` | U+000A | line feed (new line) |\n * | `r` | U+000D | carriage return |\n * | `t` | U+0009 | horizontal tab |\n */\n\nfunction readEscapedCharacter(lexer, position) {\n const body = lexer.source.body;\n const code = body.charCodeAt(position + 1);\n\n switch (code) {\n case 0x0022:\n // \"\n return {\n value: '\\u0022',\n size: 2,\n };\n\n case 0x005c:\n // \\\n return {\n value: '\\u005c',\n size: 2,\n };\n\n case 0x002f:\n // /\n return {\n value: '\\u002f',\n size: 2,\n };\n\n case 0x0062:\n // b\n return {\n value: '\\u0008',\n size: 2,\n };\n\n case 0x0066:\n // f\n return {\n value: '\\u000c',\n size: 2,\n };\n\n case 0x006e:\n // n\n return {\n value: '\\u000a',\n size: 2,\n };\n\n case 0x0072:\n // r\n return {\n value: '\\u000d',\n size: 2,\n };\n\n case 0x0074:\n // t\n return {\n value: '\\u0009',\n size: 2,\n };\n }\n\n throw syntaxError(\n lexer.source,\n position,\n `Invalid character escape sequence: \"${body.slice(\n position,\n position + 2,\n )}\".`,\n );\n}\n/**\n * Reads a block string token from the source file.\n *\n * ```\n * StringValue ::\n * - `\"\"\"` BlockStringCharacter* `\"\"\"`\n *\n * BlockStringCharacter ::\n * - SourceCharacter but not `\"\"\"` or `\\\"\"\"`\n * - `\\\"\"\"`\n * ```\n */\n\nfunction readBlockString(lexer, start) {\n const body = lexer.source.body;\n const bodyLength = body.length;\n let lineStart = lexer.lineStart;\n let position = start + 3;\n let chunkStart = position;\n let currentLine = '';\n const blockLines = [];\n\n while (position < bodyLength) {\n const code = body.charCodeAt(position); // Closing Triple-Quote (\"\"\")\n\n if (\n code === 0x0022 &&\n body.charCodeAt(position + 1) === 0x0022 &&\n body.charCodeAt(position + 2) === 0x0022\n ) {\n currentLine += body.slice(chunkStart, position);\n blockLines.push(currentLine);\n const token = createToken(\n lexer,\n TokenKind.BLOCK_STRING,\n start,\n position + 3, // Return a string of the lines joined with U+000A.\n dedentBlockStringLines(blockLines).join('\\n'),\n );\n lexer.line += blockLines.length - 1;\n lexer.lineStart = lineStart;\n return token;\n } // Escaped Triple-Quote (\\\"\"\")\n\n if (\n code === 0x005c &&\n body.charCodeAt(position + 1) === 0x0022 &&\n body.charCodeAt(position + 2) === 0x0022 &&\n body.charCodeAt(position + 3) === 0x0022\n ) {\n currentLine += body.slice(chunkStart, position);\n chunkStart = position + 1; // skip only slash\n\n position += 4;\n continue;\n } // LineTerminator\n\n if (code === 0x000a || code === 0x000d) {\n currentLine += body.slice(chunkStart, position);\n blockLines.push(currentLine);\n\n if (code === 0x000d && body.charCodeAt(position + 1) === 0x000a) {\n position += 2;\n } else {\n ++position;\n }\n\n currentLine = '';\n chunkStart = position;\n lineStart = position;\n continue;\n } // SourceCharacter\n\n if (isUnicodeScalarValue(code)) {\n ++position;\n } else if (isSupplementaryCodePoint(body, position)) {\n position += 2;\n } else {\n throw syntaxError(\n lexer.source,\n position,\n `Invalid character within String: ${printCodePointAt(\n lexer,\n position,\n )}.`,\n );\n }\n }\n\n throw syntaxError(lexer.source, position, 'Unterminated string.');\n}\n/**\n * Reads an alphanumeric + underscore name from the source.\n *\n * ```\n * Name ::\n * - NameStart NameContinue* [lookahead != NameContinue]\n * ```\n */\n\nfunction readName(lexer, start) {\n const body = lexer.source.body;\n const bodyLength = body.length;\n let position = start + 1;\n\n while (position < bodyLength) {\n const code = body.charCodeAt(position);\n\n if (isNameContinue(code)) {\n ++position;\n } else {\n break;\n }\n }\n\n return createToken(\n lexer,\n TokenKind.NAME,\n start,\n position,\n body.slice(start, position),\n );\n}\n","export function devAssert(condition, message) {\n const booleanCondition = Boolean(condition);\n\n if (!booleanCondition) {\n throw new Error(message);\n }\n}\n","const MAX_ARRAY_LENGTH = 10;\nconst MAX_RECURSIVE_DEPTH = 2;\n/**\n * Used to print values in error messages.\n */\n\nexport function inspect(value) {\n return formatValue(value, []);\n}\n\nfunction formatValue(value, seenValues) {\n switch (typeof value) {\n case 'string':\n return JSON.stringify(value);\n\n case 'function':\n return value.name ? `[function ${value.name}]` : '[function]';\n\n case 'object':\n return formatObjectValue(value, seenValues);\n\n default:\n return String(value);\n }\n}\n\nfunction formatObjectValue(value, previouslySeenValues) {\n if (value === null) {\n return 'null';\n }\n\n if (previouslySeenValues.includes(value)) {\n return '[Circular]';\n }\n\n const seenValues = [...previouslySeenValues, value];\n\n if (isJSONable(value)) {\n const jsonValue = value.toJSON(); // check for infinite recursion\n\n if (jsonValue !== value) {\n return typeof jsonValue === 'string'\n ? jsonValue\n : formatValue(jsonValue, seenValues);\n }\n } else if (Array.isArray(value)) {\n return formatArray(value, seenValues);\n }\n\n return formatObject(value, seenValues);\n}\n\nfunction isJSONable(value) {\n return typeof value.toJSON === 'function';\n}\n\nfunction formatObject(object, seenValues) {\n const entries = Object.entries(object);\n\n if (entries.length === 0) {\n return '{}';\n }\n\n if (seenValues.length > MAX_RECURSIVE_DEPTH) {\n return '[' + getObjectTag(object) + ']';\n }\n\n const properties = entries.map(\n ([key, value]) => key + ': ' + formatValue(value, seenValues),\n );\n return '{ ' + properties.join(', ') + ' }';\n}\n\nfunction formatArray(array, seenValues) {\n if (array.length === 0) {\n return '[]';\n }\n\n if (seenValues.length > MAX_RECURSIVE_DEPTH) {\n return '[Array]';\n }\n\n const len = Math.min(MAX_ARRAY_LENGTH, array.length);\n const remaining = array.length - len;\n const items = [];\n\n for (let i = 0; i < len; ++i) {\n items.push(formatValue(array[i], seenValues));\n }\n\n if (remaining === 1) {\n items.push('... 1 more item');\n } else if (remaining > 1) {\n items.push(`... ${remaining} more items`);\n }\n\n return '[' + items.join(', ') + ']';\n}\n\nfunction getObjectTag(object) {\n const tag = Object.prototype.toString\n .call(object)\n .replace(/^\\[object /, '')\n .replace(/]$/, '');\n\n if (tag === 'Object' && typeof object.constructor === 'function') {\n const name = object.constructor.name;\n\n if (typeof name === 'string' && name !== '') {\n return name;\n }\n }\n\n return tag;\n}\n","import { inspect } from './inspect.mjs';\n/* c8 ignore next 3 */\n\nconst isProduction =\n globalThis.process && // eslint-disable-next-line no-undef\n process.env.NODE_ENV === 'production';\n/**\n * A replacement for instanceof which includes an error warning when multi-realm\n * constructors are detected.\n * See: https://expressjs.com/en/advanced/best-practice-performance.html#set-node_env-to-production\n * See: https://webpack.js.org/guides/production/\n */\n\nexport const instanceOf =\n /* c8 ignore next 6 */\n // FIXME: https://github.com/graphql/graphql-js/issues/2317\n isProduction\n ? function instanceOf(value, constructor) {\n return value instanceof constructor;\n }\n : function instanceOf(value, constructor) {\n if (value instanceof constructor) {\n return true;\n }\n\n if (typeof value === 'object' && value !== null) {\n var _value$constructor;\n\n // Prefer Symbol.toStringTag since it is immune to minification.\n const className = constructor.prototype[Symbol.toStringTag];\n const valueClassName = // We still need to support constructor's name to detect conflicts with older versions of this library.\n Symbol.toStringTag in value // @ts-expect-error TS bug see, https://github.com/microsoft/TypeScript/issues/38009\n ? value[Symbol.toStringTag]\n : (_value$constructor = value.constructor) === null ||\n _value$constructor === void 0\n ? void 0\n : _value$constructor.name;\n\n if (className === valueClassName) {\n const stringifiedValue = inspect(value);\n throw new Error(`Cannot use ${className} \"${stringifiedValue}\" from another module or realm.\n\nEnsure that there is only one instance of \"graphql\" in the node_modules\ndirectory. If different versions of \"graphql\" are the dependencies of other\nrelied on modules, use \"resolutions\" to ensure only one version is installed.\n\nhttps://yarnpkg.com/en/docs/selective-version-resolutions\n\nDuplicate \"graphql\" modules cannot be used at the same time since different\nversions may have different capabilities and behavior. The data from one\nversion used in the function from another could produce confusing and\nspurious results.`);\n }\n }\n\n return false;\n };\n","import { devAssert } from '../jsutils/devAssert.mjs';\nimport { inspect } from '../jsutils/inspect.mjs';\nimport { instanceOf } from '../jsutils/instanceOf.mjs';\n\n/**\n * A representation of source input to GraphQL. The `name` and `locationOffset` parameters are\n * optional, but they are useful for clients who store GraphQL documents in source files.\n * For example, if the GraphQL input starts at line 40 in a file named `Foo.graphql`, it might\n * be useful for `name` to be `\"Foo.graphql\"` and location to be `{ line: 40, column: 1 }`.\n * The `line` and `column` properties in `locationOffset` are 1-indexed.\n */\nexport class Source {\n constructor(\n body,\n name = 'GraphQL request',\n locationOffset = {\n line: 1,\n column: 1,\n },\n ) {\n typeof body === 'string' ||\n devAssert(false, `Body must be a string. Received: ${inspect(body)}.`);\n this.body = body;\n this.name = name;\n this.locationOffset = locationOffset;\n this.locationOffset.line > 0 ||\n devAssert(\n false,\n 'line in locationOffset is 1-indexed and must be positive.',\n );\n this.locationOffset.column > 0 ||\n devAssert(\n false,\n 'column in locationOffset is 1-indexed and must be positive.',\n );\n }\n\n get [Symbol.toStringTag]() {\n return 'Source';\n }\n}\n/**\n * Test if the given value is a Source object.\n *\n * @internal\n */\n\nexport function isSource(source) {\n return instanceOf(source, Source);\n}\n","import { syntaxError } from '../error/syntaxError.mjs';\nimport { Location, OperationTypeNode } from './ast.mjs';\nimport { DirectiveLocation } from './directiveLocation.mjs';\nimport { Kind } from './kinds.mjs';\nimport { isPunctuatorTokenKind, Lexer } from './lexer.mjs';\nimport { isSource, Source } from './source.mjs';\nimport { TokenKind } from './tokenKind.mjs';\n/**\n * Configuration options to control parser behavior\n */\n\n/**\n * Given a GraphQL source, parses it into a Document.\n * Throws GraphQLError if a syntax error is encountered.\n */\nexport function parse(source, options) {\n const parser = new Parser(source, options);\n return parser.parseDocument();\n}\n/**\n * Given a string containing a GraphQL value (ex. `[42]`), parse the AST for\n * that value.\n * Throws GraphQLError if a syntax error is encountered.\n *\n * This is useful within tools that operate upon GraphQL Values directly and\n * in isolation of complete GraphQL documents.\n *\n * Consider providing the results to the utility function: valueFromAST().\n */\n\nexport function parseValue(source, options) {\n const parser = new Parser(source, options);\n parser.expectToken(TokenKind.SOF);\n const value = parser.parseValueLiteral(false);\n parser.expectToken(TokenKind.EOF);\n return value;\n}\n/**\n * Similar to parseValue(), but raises a parse error if it encounters a\n * variable. The return type will be a constant value.\n */\n\nexport function parseConstValue(source, options) {\n const parser = new Parser(source, options);\n parser.expectToken(TokenKind.SOF);\n const value = parser.parseConstValueLiteral();\n parser.expectToken(TokenKind.EOF);\n return value;\n}\n/**\n * Given a string containing a GraphQL Type (ex. `[Int!]`), parse the AST for\n * that type.\n * Throws GraphQLError if a syntax error is encountered.\n *\n * This is useful within tools that operate upon GraphQL Types directly and\n * in isolation of complete GraphQL documents.\n *\n * Consider providing the results to the utility function: typeFromAST().\n */\n\nexport function parseType(source, options) {\n const parser = new Parser(source, options);\n parser.expectToken(TokenKind.SOF);\n const type = parser.parseTypeReference();\n parser.expectToken(TokenKind.EOF);\n return type;\n}\n/**\n * This class is exported only to assist people in implementing their own parsers\n * without duplicating too much code and should be used only as last resort for cases\n * such as experimental syntax or if certain features could not be contributed upstream.\n *\n * It is still part of the internal API and is versioned, so any changes to it are never\n * considered breaking changes. If you still need to support multiple versions of the\n * library, please use the `versionInfo` variable for version detection.\n *\n * @internal\n */\n\nexport class Parser {\n constructor(source, options = {}) {\n const sourceObj = isSource(source) ? source : new Source(source);\n this._lexer = new Lexer(sourceObj);\n this._options = options;\n this._tokenCounter = 0;\n }\n /**\n * Converts a name lex token into a name parse node.\n */\n\n parseName() {\n const token = this.expectToken(TokenKind.NAME);\n return this.node(token, {\n kind: Kind.NAME,\n value: token.value,\n });\n } // Implements the parsing rules in the Document section.\n\n /**\n * Document : Definition+\n */\n\n parseDocument() {\n return this.node(this._lexer.token, {\n kind: Kind.DOCUMENT,\n definitions: this.many(\n TokenKind.SOF,\n this.parseDefinition,\n TokenKind.EOF,\n ),\n });\n }\n /**\n * Definition :\n * - ExecutableDefinition\n * - TypeSystemDefinition\n * - TypeSystemExtension\n *\n * ExecutableDefinition :\n * - OperationDefinition\n * - FragmentDefinition\n *\n * TypeSystemDefinition :\n * - SchemaDefinition\n * - TypeDefinition\n * - DirectiveDefinition\n *\n * TypeDefinition :\n * - ScalarTypeDefinition\n * - ObjectTypeDefinition\n * - InterfaceTypeDefinition\n * - UnionTypeDefinition\n * - EnumTypeDefinition\n * - InputObjectTypeDefinition\n */\n\n parseDefinition() {\n if (this.peek(TokenKind.BRACE_L)) {\n return this.parseOperationDefinition();\n } // Many definitions begin with a description and require a lookahead.\n\n const hasDescription = this.peekDescription();\n const keywordToken = hasDescription\n ? this._lexer.lookahead()\n : this._lexer.token;\n\n if (keywordToken.kind === TokenKind.NAME) {\n switch (keywordToken.value) {\n case 'schema':\n return this.parseSchemaDefinition();\n\n case 'scalar':\n return this.parseScalarTypeDefinition();\n\n case 'type':\n return this.parseObjectTypeDefinition();\n\n case 'interface':\n return this.parseInterfaceTypeDefinition();\n\n case 'union':\n return this.parseUnionTypeDefinition();\n\n case 'enum':\n return this.parseEnumTypeDefinition();\n\n case 'input':\n return this.parseInputObjectTypeDefinition();\n\n case 'directive':\n return this.parseDirectiveDefinition();\n }\n\n if (hasDescription) {\n throw syntaxError(\n this._lexer.source,\n this._lexer.token.start,\n 'Unexpected description, descriptions are supported only on type definitions.',\n );\n }\n\n switch (keywordToken.value) {\n case 'query':\n case 'mutation':\n case 'subscription':\n return this.parseOperationDefinition();\n\n case 'fragment':\n return this.parseFragmentDefinition();\n\n case 'extend':\n return this.parseTypeSystemExtension();\n }\n }\n\n throw this.unexpected(keywordToken);\n } // Implements the parsing rules in the Operations section.\n\n /**\n * OperationDefinition :\n * - SelectionSet\n * - OperationType Name? VariableDefinitions? Directives? SelectionSet\n */\n\n parseOperationDefinition() {\n const start = this._lexer.token;\n\n if (this.peek(TokenKind.BRACE_L)) {\n return this.node(start, {\n kind: Kind.OPERATION_DEFINITION,\n operation: OperationTypeNode.QUERY,\n name: undefined,\n variableDefinitions: [],\n directives: [],\n selectionSet: this.parseSelectionSet(),\n });\n }\n\n const operation = this.parseOperationType();\n let name;\n\n if (this.peek(TokenKind.NAME)) {\n name = this.parseName();\n }\n\n return this.node(start, {\n kind: Kind.OPERATION_DEFINITION,\n operation,\n name,\n variableDefinitions: this.parseVariableDefinitions(),\n directives: this.parseDirectives(false),\n selectionSet: this.parseSelectionSet(),\n });\n }\n /**\n * OperationType : one of query mutation subscription\n */\n\n parseOperationType() {\n const operationToken = this.expectToken(TokenKind.NAME);\n\n switch (operationToken.value) {\n case 'query':\n return OperationTypeNode.QUERY;\n\n case 'mutation':\n return OperationTypeNode.MUTATION;\n\n case 'subscription':\n return OperationTypeNode.SUBSCRIPTION;\n }\n\n throw this.unexpected(operationToken);\n }\n /**\n * VariableDefinitions : ( VariableDefinition+ )\n */\n\n parseVariableDefinitions() {\n return this.optionalMany(\n TokenKind.PAREN_L,\n this.parseVariableDefinition,\n TokenKind.PAREN_R,\n );\n }\n /**\n * VariableDefinition : Variable : Type DefaultValue? Directives[Const]?\n */\n\n parseVariableDefinition() {\n return this.node(this._lexer.token, {\n kind: Kind.VARIABLE_DEFINITION,\n variable: this.parseVariable(),\n type: (this.expectToken(TokenKind.COLON), this.parseTypeReference()),\n defaultValue: this.expectOptionalToken(TokenKind.EQUALS)\n ? this.parseConstValueLiteral()\n : undefined,\n directives: this.parseConstDirectives(),\n });\n }\n /**\n * Variable : $ Name\n */\n\n parseVariable() {\n const start = this._lexer.token;\n this.expectToken(TokenKind.DOLLAR);\n return this.node(start, {\n kind: Kind.VARIABLE,\n name: this.parseName(),\n });\n }\n /**\n * ```\n * SelectionSet : { Selection+ }\n * ```\n */\n\n parseSelectionSet() {\n return this.node(this._lexer.token, {\n kind: Kind.SELECTION_SET,\n selections: this.many(\n TokenKind.BRACE_L,\n this.parseSelection,\n TokenKind.BRACE_R,\n ),\n });\n }\n /**\n * Selection :\n * - Field\n * - FragmentSpread\n * - InlineFragment\n */\n\n parseSelection() {\n return this.peek(TokenKind.SPREAD)\n ? this.parseFragment()\n : this.parseField();\n }\n /**\n * Field : Alias? Name Arguments? Directives? SelectionSet?\n *\n * Alias : Name :\n */\n\n parseField() {\n const start = this._lexer.token;\n const nameOrAlias = this.parseName();\n let alias;\n let name;\n\n if (this.expectOptionalToken(TokenKind.COLON)) {\n alias = nameOrAlias;\n name = this.parseName();\n } else {\n name = nameOrAlias;\n }\n\n return this.node(start, {\n kind: Kind.FIELD,\n alias,\n name,\n arguments: this.parseArguments(false),\n directives: this.parseDirectives(false),\n selectionSet: this.peek(TokenKind.BRACE_L)\n ? this.parseSelectionSet()\n : undefined,\n });\n }\n /**\n * Arguments[Const] : ( Argument[?Const]+ )\n */\n\n parseArguments(isConst) {\n const item = isConst ? this.parseConstArgument : this.parseArgument;\n return this.optionalMany(TokenKind.PAREN_L, item, TokenKind.PAREN_R);\n }\n /**\n * Argument[Const] : Name : Value[?Const]\n */\n\n parseArgument(isConst = false) {\n const start = this._lexer.token;\n const name = this.parseName();\n this.expectToken(TokenKind.COLON);\n return this.node(start, {\n kind: Kind.ARGUMENT,\n name,\n value: this.parseValueLiteral(isConst),\n });\n }\n\n parseConstArgument() {\n return this.parseArgument(true);\n } // Implements the parsing rules in the Fragments section.\n\n /**\n * Corresponds to both FragmentSpread and InlineFragment in the spec.\n *\n * FragmentSpread : ... FragmentName Directives?\n *\n * InlineFragment : ... TypeCondition? Directives? SelectionSet\n */\n\n parseFragment() {\n const start = this._lexer.token;\n this.expectToken(TokenKind.SPREAD);\n const hasTypeCondition = this.expectOptionalKeyword('on');\n\n if (!hasTypeCondition && this.peek(TokenKind.NAME)) {\n return this.node(start, {\n kind: Kind.FRAGMENT_SPREAD,\n name: this.parseFragmentName(),\n directives: this.parseDirectives(false),\n });\n }\n\n return this.node(start, {\n kind: Kind.INLINE_FRAGMENT,\n typeCondition: hasTypeCondition ? this.parseNamedType() : undefined,\n directives: this.parseDirectives(false),\n selectionSet: this.parseSelectionSet(),\n });\n }\n /**\n * FragmentDefinition :\n * - fragment FragmentName on TypeCondition Directives? SelectionSet\n *\n * TypeCondition : NamedType\n */\n\n parseFragmentDefinition() {\n const start = this._lexer.token;\n this.expectKeyword('fragment'); // Legacy support for defining variables within fragments changes\n // the grammar of FragmentDefinition:\n // - fragment FragmentName VariableDefinitions? on TypeCondition Directives? SelectionSet\n\n if (this._options.allowLegacyFragmentVariables === true) {\n return this.node(start, {\n kind: Kind.FRAGMENT_DEFINITION,\n name: this.parseFragmentName(),\n variableDefinitions: this.parseVariableDefinitions(),\n typeCondition: (this.expectKeyword('on'), this.parseNamedType()),\n directives: this.parseDirectives(false),\n selectionSet: this.parseSelectionSet(),\n });\n }\n\n return this.node(start, {\n kind: Kind.FRAGMENT_DEFINITION,\n name: this.parseFragmentName(),\n typeCondition: (this.expectKeyword('on'), this.parseNamedType()),\n directives: this.parseDirectives(false),\n selectionSet: this.parseSelectionSet(),\n });\n }\n /**\n * FragmentName : Name but not `on`\n */\n\n parseFragmentName() {\n if (this._lexer.token.value === 'on') {\n throw this.unexpected();\n }\n\n return this.parseName();\n } // Implements the parsing rules in the Values section.\n\n /**\n * Value[Const] :\n * - [~Const] Variable\n * - IntValue\n * - FloatValue\n * - StringValue\n * - BooleanValue\n * - NullValue\n * - EnumValue\n * - ListValue[?Const]\n * - ObjectValue[?Const]\n *\n * BooleanValue : one of `true` `false`\n *\n * NullValue : `null`\n *\n * EnumValue : Name but not `true`, `false` or `null`\n */\n\n parseValueLiteral(isConst) {\n const token = this._lexer.token;\n\n switch (token.kind) {\n case TokenKind.BRACKET_L:\n return this.parseList(isConst);\n\n case TokenKind.BRACE_L:\n return this.parseObject(isConst);\n\n case TokenKind.INT:\n this.advanceLexer();\n return this.node(token, {\n kind: Kind.INT,\n value: token.value,\n });\n\n case TokenKind.FLOAT:\n this.advanceLexer();\n return this.node(token, {\n kind: Kind.FLOAT,\n value: token.value,\n });\n\n case TokenKind.STRING:\n case TokenKind.BLOCK_STRING:\n return this.parseStringLiteral();\n\n case TokenKind.NAME:\n this.advanceLexer();\n\n switch (token.value) {\n case 'true':\n return this.node(token, {\n kind: Kind.BOOLEAN,\n value: true,\n });\n\n case 'false':\n return this.node(token, {\n kind: Kind.BOOLEAN,\n value: false,\n });\n\n case 'null':\n return this.node(token, {\n kind: Kind.NULL,\n });\n\n default:\n return this.node(token, {\n kind: Kind.ENUM,\n value: token.value,\n });\n }\n\n case TokenKind.DOLLAR:\n if (isConst) {\n this.expectToken(TokenKind.DOLLAR);\n\n if (this._lexer.token.kind === TokenKind.NAME) {\n const varName = this._lexer.token.value;\n throw syntaxError(\n this._lexer.source,\n token.start,\n `Unexpected variable \"$${varName}\" in constant value.`,\n );\n } else {\n throw this.unexpected(token);\n }\n }\n\n return this.parseVariable();\n\n default:\n throw this.unexpected();\n }\n }\n\n parseConstValueLiteral() {\n return this.parseValueLiteral(true);\n }\n\n parseStringLiteral() {\n const token = this._lexer.token;\n this.advanceLexer();\n return this.node(token, {\n kind: Kind.STRING,\n value: token.value,\n block: token.kind === TokenKind.BLOCK_STRING,\n });\n }\n /**\n * ListValue[Const] :\n * - [ ]\n * - [ Value[?Const]+ ]\n */\n\n parseList(isConst) {\n const item = () => this.parseValueLiteral(isConst);\n\n return this.node(this._lexer.token, {\n kind: Kind.LIST,\n values: this.any(TokenKind.BRACKET_L, item, TokenKind.BRACKET_R),\n });\n }\n /**\n * ```\n * ObjectValue[Const] :\n * - { }\n * - { ObjectField[?Const]+ }\n * ```\n */\n\n parseObject(isConst) {\n const item = () => this.parseObjectField(isConst);\n\n return this.node(this._lexer.token, {\n kind: Kind.OBJECT,\n fields: this.any(TokenKind.BRACE_L, item, TokenKind.BRACE_R),\n });\n }\n /**\n * ObjectField[Const] : Name : Value[?Const]\n */\n\n parseObjectField(isConst) {\n const start = this._lexer.token;\n const name = this.parseName();\n this.expectToken(TokenKind.COLON);\n return this.node(start, {\n kind: Kind.OBJECT_FIELD,\n name,\n value: this.parseValueLiteral(isConst),\n });\n } // Implements the parsing rules in the Directives section.\n\n /**\n * Directives[Const] : Directive[?Const]+\n */\n\n parseDirectives(isConst) {\n const directives = [];\n\n while (this.peek(TokenKind.AT)) {\n directives.push(this.parseDirective(isConst));\n }\n\n return directives;\n }\n\n parseConstDirectives() {\n return this.parseDirectives(true);\n }\n /**\n * ```\n * Directive[Const] : @ Name Arguments[?Const]?\n * ```\n */\n\n parseDirective(isConst) {\n const start = this._lexer.token;\n this.expectToken(TokenKind.AT);\n return this.node(start, {\n kind: Kind.DIRECTIVE,\n name: this.parseName(),\n arguments: this.parseArguments(isConst),\n });\n } // Implements the parsing rules in the Types section.\n\n /**\n * Type :\n * - NamedType\n * - ListType\n * - NonNullType\n */\n\n parseTypeReference() {\n const start = this._lexer.token;\n let type;\n\n if (this.expectOptionalToken(TokenKind.BRACKET_L)) {\n const innerType = this.parseTypeReference();\n this.expectToken(TokenKind.BRACKET_R);\n type = this.node(start, {\n kind: Kind.LIST_TYPE,\n type: innerType,\n });\n } else {\n type = this.parseNamedType();\n }\n\n if (this.expectOptionalToken(TokenKind.BANG)) {\n return this.node(start, {\n kind: Kind.NON_NULL_TYPE,\n type,\n });\n }\n\n return type;\n }\n /**\n * NamedType : Name\n */\n\n parseNamedType() {\n return this.node(this._lexer.token, {\n kind: Kind.NAMED_TYPE,\n name: this.parseName(),\n });\n } // Implements the parsing rules in the Type Definition section.\n\n peekDescription() {\n return this.peek(TokenKind.STRING) || this.peek(TokenKind.BLOCK_STRING);\n }\n /**\n * Description : StringValue\n */\n\n parseDescription() {\n if (this.peekDescription()) {\n return this.parseStringLiteral();\n }\n }\n /**\n * ```\n * SchemaDefinition : Description? schema Directives[Const]? { OperationTypeDefinition+ }\n * ```\n */\n\n parseSchemaDefinition() {\n const start = this._lexer.token;\n const description = this.parseDescription();\n this.expectKeyword('schema');\n const directives = this.parseConstDirectives();\n const operationTypes = this.many(\n TokenKind.BRACE_L,\n this.parseOperationTypeDefinition,\n TokenKind.BRACE_R,\n );\n return this.node(start, {\n kind: Kind.SCHEMA_DEFINITION,\n description,\n directives,\n operationTypes,\n });\n }\n /**\n * OperationTypeDefinition : OperationType : NamedType\n */\n\n parseOperationTypeDefinition() {\n const start = this._lexer.token;\n const operation = this.parseOperationType();\n this.expectToken(TokenKind.COLON);\n const type = this.parseNamedType();\n return this.node(start, {\n kind: Kind.OPERATION_TYPE_DEFINITION,\n operation,\n type,\n });\n }\n /**\n * ScalarTypeDefinition : Description? scalar Name Directives[Const]?\n */\n\n parseScalarTypeDefinition() {\n const start = this._lexer.token;\n const description = this.parseDescription();\n this.expectKeyword('scalar');\n const name = this.parseName();\n const directives = this.parseConstDirectives();\n return this.node(start, {\n kind: Kind.SCALAR_TYPE_DEFINITION,\n description,\n name,\n directives,\n });\n }\n /**\n * ObjectTypeDefinition :\n * Description?\n * type Name ImplementsInterfaces? Directives[Const]? FieldsDefinition?\n */\n\n parseObjectTypeDefinition() {\n const start = this._lexer.token;\n const description = this.parseDescription();\n this.expectKeyword('type');\n const name = this.parseName();\n const interfaces = this.parseImplementsInterfaces();\n const directives = this.parseConstDirectives();\n const fields = this.parseFieldsDefinition();\n return this.node(start, {\n kind: Kind.OBJECT_TYPE_DEFINITION,\n description,\n name,\n interfaces,\n directives,\n fields,\n });\n }\n /**\n * ImplementsInterfaces :\n * - implements `&`? NamedType\n * - ImplementsInterfaces & NamedType\n */\n\n parseImplementsInterfaces() {\n return this.expectOptionalKeyword('implements')\n ? this.delimitedMany(TokenKind.AMP, this.parseNamedType)\n : [];\n }\n /**\n * ```\n * FieldsDefinition : { FieldDefinition+ }\n * ```\n */\n\n parseFieldsDefinition() {\n return this.optionalMany(\n TokenKind.BRACE_L,\n this.parseFieldDefinition,\n TokenKind.BRACE_R,\n );\n }\n /**\n * FieldDefinition :\n * - Description? Name ArgumentsDefinition? : Type Directives[Const]?\n */\n\n parseFieldDefinition() {\n const start = this._lexer.token;\n const description = this.parseDescription();\n const name = this.parseName();\n const args = this.parseArgumentDefs();\n this.expectToken(TokenKind.COLON);\n const type = this.parseTypeReference();\n const directives = this.parseConstDirectives();\n return this.node(start, {\n kind: Kind.FIELD_DEFINITION,\n description,\n name,\n arguments: args,\n type,\n directives,\n });\n }\n /**\n * ArgumentsDefinition : ( InputValueDefinition+ )\n */\n\n parseArgumentDefs() {\n return this.optionalMany(\n TokenKind.PAREN_L,\n this.parseInputValueDef,\n TokenKind.PAREN_R,\n );\n }\n /**\n * InputValueDefinition :\n * - Description? Name : Type DefaultValue? Directives[Const]?\n */\n\n parseInputValueDef() {\n const start = this._lexer.token;\n const description = this.parseDescription();\n const name = this.parseName();\n this.expectToken(TokenKind.COLON);\n const type = this.parseTypeReference();\n let defaultValue;\n\n if (this.expectOptionalToken(TokenKind.EQUALS)) {\n defaultValue = this.parseConstValueLiteral();\n }\n\n const directives = this.parseConstDirectives();\n return this.node(start, {\n kind: Kind.INPUT_VALUE_DEFINITION,\n description,\n name,\n type,\n defaultValue,\n directives,\n });\n }\n /**\n * InterfaceTypeDefinition :\n * - Description? interface Name Directives[Const]? FieldsDefinition?\n */\n\n parseInterfaceTypeDefinition() {\n const start = this._lexer.token;\n const description = this.parseDescription();\n this.expectKeyword('interface');\n const name = this.parseName();\n const interfaces = this.parseImplementsInterfaces();\n const directives = this.parseConstDirectives();\n const fields = this.parseFieldsDefinition();\n return this.node(start, {\n kind: Kind.INTERFACE_TYPE_DEFINITION,\n description,\n name,\n interfaces,\n directives,\n fields,\n });\n }\n /**\n * UnionTypeDefinition :\n * - Description? union Name Directives[Const]? UnionMemberTypes?\n */\n\n parseUnionTypeDefinition() {\n const start = this._lexer.token;\n const description = this.parseDescription();\n this.expectKeyword('union');\n const name = this.parseName();\n const directives = this.parseConstDirectives();\n const types = this.parseUnionMemberTypes();\n return this.node(start, {\n kind: Kind.UNION_TYPE_DEFINITION,\n description,\n name,\n directives,\n types,\n });\n }\n /**\n * UnionMemberTypes :\n * - = `|`? NamedType\n * - UnionMemberTypes | NamedType\n */\n\n parseUnionMemberTypes() {\n return this.expectOptionalToken(TokenKind.EQUALS)\n ? this.delimitedMany(TokenKind.PIPE, this.parseNamedType)\n : [];\n }\n /**\n * EnumTypeDefinition :\n * - Description? enum Name Directives[Const]? EnumValuesDefinition?\n */\n\n parseEnumTypeDefinition() {\n const start = this._lexer.token;\n const description = this.parseDescription();\n this.expectKeyword('enum');\n const name = this.parseName();\n const directives = this.parseConstDirectives();\n const values = this.parseEnumValuesDefinition();\n return this.node(start, {\n kind: Kind.ENUM_TYPE_DEFINITION,\n description,\n name,\n directives,\n values,\n });\n }\n /**\n * ```\n * EnumValuesDefinition : { EnumValueDefinition+ }\n * ```\n */\n\n parseEnumValuesDefinition() {\n return this.optionalMany(\n TokenKind.BRACE_L,\n this.parseEnumValueDefinition,\n TokenKind.BRACE_R,\n );\n }\n /**\n * EnumValueDefinition : Description? EnumValue Directives[Const]?\n */\n\n parseEnumValueDefinition() {\n const start = this._lexer.token;\n const description = this.parseDescription();\n const name = this.parseEnumValueName();\n const directives = this.parseConstDirectives();\n return this.node(start, {\n kind: Kind.ENUM_VALUE_DEFINITION,\n description,\n name,\n directives,\n });\n }\n /**\n * EnumValue : Name but not `true`, `false` or `null`\n */\n\n parseEnumValueName() {\n if (\n this._lexer.token.value === 'true' ||\n this._lexer.token.value === 'false' ||\n this._lexer.token.value === 'null'\n ) {\n throw syntaxError(\n this._lexer.source,\n this._lexer.token.start,\n `${getTokenDesc(\n this._lexer.token,\n )} is reserved and cannot be used for an enum value.`,\n );\n }\n\n return this.parseName();\n }\n /**\n * InputObjectTypeDefinition :\n * - Description? input Name Directives[Const]? InputFieldsDefinition?\n */\n\n parseInputObjectTypeDefinition() {\n const start = this._lexer.token;\n const description = this.parseDescription();\n this.expectKeyword('input');\n const name = this.parseName();\n const directives = this.parseConstDirectives();\n const fields = this.parseInputFieldsDefinition();\n return this.node(start, {\n kind: Kind.INPUT_OBJECT_TYPE_DEFINITION,\n description,\n name,\n directives,\n fields,\n });\n }\n /**\n * ```\n * InputFieldsDefinition : { InputValueDefinition+ }\n * ```\n */\n\n parseInputFieldsDefinition() {\n return this.optionalMany(\n TokenKind.BRACE_L,\n this.parseInputValueDef,\n TokenKind.BRACE_R,\n );\n }\n /**\n * TypeSystemExtension :\n * - SchemaExtension\n * - TypeExtension\n *\n * TypeExtension :\n * - ScalarTypeExtension\n * - ObjectTypeExtension\n * - InterfaceTypeExtension\n * - UnionTypeExtension\n * - EnumTypeExtension\n * - InputObjectTypeDefinition\n */\n\n parseTypeSystemExtension() {\n const keywordToken = this._lexer.lookahead();\n\n if (keywordToken.kind === TokenKind.NAME) {\n switch (keywordToken.value) {\n case 'schema':\n return this.parseSchemaExtension();\n\n case 'scalar':\n return this.parseScalarTypeExtension();\n\n case 'type':\n return this.parseObjectTypeExtension();\n\n case 'interface':\n return this.parseInterfaceTypeExtension();\n\n case 'union':\n return this.parseUnionTypeExtension();\n\n case 'enum':\n return this.parseEnumTypeExtension();\n\n case 'input':\n return this.parseInputObjectTypeExtension();\n }\n }\n\n throw this.unexpected(keywordToken);\n }\n /**\n * ```\n * SchemaExtension :\n * - extend schema Directives[Const]? { OperationTypeDefinition+ }\n * - extend schema Directives[Const]\n * ```\n */\n\n parseSchemaExtension() {\n const start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('schema');\n const directives = this.parseConstDirectives();\n const operationTypes = this.optionalMany(\n TokenKind.BRACE_L,\n this.parseOperationTypeDefinition,\n TokenKind.BRACE_R,\n );\n\n if (directives.length === 0 && operationTypes.length === 0) {\n throw this.unexpected();\n }\n\n return this.node(start, {\n kind: Kind.SCHEMA_EXTENSION,\n directives,\n operationTypes,\n });\n }\n /**\n * ScalarTypeExtension :\n * - extend scalar Name Directives[Const]\n */\n\n parseScalarTypeExtension() {\n const start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('scalar');\n const name = this.parseName();\n const directives = this.parseConstDirectives();\n\n if (directives.length === 0) {\n throw this.unexpected();\n }\n\n return this.node(start, {\n kind: Kind.SCALAR_TYPE_EXTENSION,\n name,\n directives,\n });\n }\n /**\n * ObjectTypeExtension :\n * - extend type Name ImplementsInterfaces? Directives[Const]? FieldsDefinition\n * - extend type Name ImplementsInterfaces? Directives[Const]\n * - extend type Name ImplementsInterfaces\n */\n\n parseObjectTypeExtension() {\n const start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('type');\n const name = this.parseName();\n const interfaces = this.parseImplementsInterfaces();\n const directives = this.parseConstDirectives();\n const fields = this.parseFieldsDefinition();\n\n if (\n interfaces.length === 0 &&\n directives.length === 0 &&\n fields.length === 0\n ) {\n throw this.unexpected();\n }\n\n return this.node(start, {\n kind: Kind.OBJECT_TYPE_EXTENSION,\n name,\n interfaces,\n directives,\n fields,\n });\n }\n /**\n * InterfaceTypeExtension :\n * - extend interface Name ImplementsInterfaces? Directives[Const]? FieldsDefinition\n * - extend interface Name ImplementsInterfaces? Directives[Const]\n * - extend interface Name ImplementsInterfaces\n */\n\n parseInterfaceTypeExtension() {\n const start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('interface');\n const name = this.parseName();\n const interfaces = this.parseImplementsInterfaces();\n const directives = this.parseConstDirectives();\n const fields = this.parseFieldsDefinition();\n\n if (\n interfaces.length === 0 &&\n directives.length === 0 &&\n fields.length === 0\n ) {\n throw this.unexpected();\n }\n\n return this.node(start, {\n kind: Kind.INTERFACE_TYPE_EXTENSION,\n name,\n interfaces,\n directives,\n fields,\n });\n }\n /**\n * UnionTypeExtension :\n * - extend union Name Directives[Const]? UnionMemberTypes\n * - extend union Name Directives[Const]\n */\n\n parseUnionTypeExtension() {\n const start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('union');\n const name = this.parseName();\n const directives = this.parseConstDirectives();\n const types = this.parseUnionMemberTypes();\n\n if (directives.length === 0 && types.length === 0) {\n throw this.unexpected();\n }\n\n return this.node(start, {\n kind: Kind.UNION_TYPE_EXTENSION,\n name,\n directives,\n types,\n });\n }\n /**\n * EnumTypeExtension :\n * - extend enum Name Directives[Const]? EnumValuesDefinition\n * - extend enum Name Directives[Const]\n */\n\n parseEnumTypeExtension() {\n const start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('enum');\n const name = this.parseName();\n const directives = this.parseConstDirectives();\n const values = this.parseEnumValuesDefinition();\n\n if (directives.length === 0 && values.length === 0) {\n throw this.unexpected();\n }\n\n return this.node(start, {\n kind: Kind.ENUM_TYPE_EXTENSION,\n name,\n directives,\n values,\n });\n }\n /**\n * InputObjectTypeExtension :\n * - extend input Name Directives[Const]? InputFieldsDefinition\n * - extend input Name Directives[Const]\n */\n\n parseInputObjectTypeExtension() {\n const start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('input');\n const name = this.parseName();\n const directives = this.parseConstDirectives();\n const fields = this.parseInputFieldsDefinition();\n\n if (directives.length === 0 && fields.length === 0) {\n throw this.unexpected();\n }\n\n return this.node(start, {\n kind: Kind.INPUT_OBJECT_TYPE_EXTENSION,\n name,\n directives,\n fields,\n });\n }\n /**\n * ```\n * DirectiveDefinition :\n * - Description? directive @ Name ArgumentsDefinition? `repeatable`? on DirectiveLocations\n * ```\n */\n\n parseDirectiveDefinition() {\n const start = this._lexer.token;\n const description = this.parseDescription();\n this.expectKeyword('directive');\n this.expectToken(TokenKind.AT);\n const name = this.parseName();\n const args = this.parseArgumentDefs();\n const repeatable = this.expectOptionalKeyword('repeatable');\n this.expectKeyword('on');\n const locations = this.parseDirectiveLocations();\n return this.node(start, {\n kind: Kind.DIRECTIVE_DEFINITION,\n description,\n name,\n arguments: args,\n repeatable,\n locations,\n });\n }\n /**\n * DirectiveLocations :\n * - `|`? DirectiveLocation\n * - DirectiveLocations | DirectiveLocation\n */\n\n parseDirectiveLocations() {\n return this.delimitedMany(TokenKind.PIPE, this.parseDirectiveLocation);\n }\n /*\n * DirectiveLocation :\n * - ExecutableDirectiveLocation\n * - TypeSystemDirectiveLocation\n *\n * ExecutableDirectiveLocation : one of\n * `QUERY`\n * `MUTATION`\n * `SUBSCRIPTION`\n * `FIELD`\n * `FRAGMENT_DEFINITION`\n * `FRAGMENT_SPREAD`\n * `INLINE_FRAGMENT`\n *\n * TypeSystemDirectiveLocation : one of\n * `SCHEMA`\n * `SCALAR`\n * `OBJECT`\n * `FIELD_DEFINITION`\n * `ARGUMENT_DEFINITION`\n * `INTERFACE`\n * `UNION`\n * `ENUM`\n * `ENUM_VALUE`\n * `INPUT_OBJECT`\n * `INPUT_FIELD_DEFINITION`\n */\n\n parseDirectiveLocation() {\n const start = this._lexer.token;\n const name = this.parseName();\n\n if (Object.prototype.hasOwnProperty.call(DirectiveLocation, name.value)) {\n return name;\n }\n\n throw this.unexpected(start);\n } // Core parsing utility functions\n\n /**\n * Returns a node that, if configured to do so, sets a \"loc\" field as a\n * location object, used to identify the place in the source that created a\n * given parsed object.\n */\n\n node(startToken, node) {\n if (this._options.noLocation !== true) {\n node.loc = new Location(\n startToken,\n this._lexer.lastToken,\n this._lexer.source,\n );\n }\n\n return node;\n }\n /**\n * Determines if the next token is of a given kind\n */\n\n peek(kind) {\n return this._lexer.token.kind === kind;\n }\n /**\n * If the next token is of the given kind, return that token after advancing the lexer.\n * Otherwise, do not change the parser state and throw an error.\n */\n\n expectToken(kind) {\n const token = this._lexer.token;\n\n if (token.kind === kind) {\n this.advanceLexer();\n return token;\n }\n\n throw syntaxError(\n this._lexer.source,\n token.start,\n `Expected ${getTokenKindDesc(kind)}, found ${getTokenDesc(token)}.`,\n );\n }\n /**\n * If the next token is of the given kind, return \"true\" after advancing the lexer.\n * Otherwise, do not change the parser state and return \"false\".\n */\n\n expectOptionalToken(kind) {\n const token = this._lexer.token;\n\n if (token.kind === kind) {\n this.advanceLexer();\n return true;\n }\n\n return false;\n }\n /**\n * If the next token is a given keyword, advance the lexer.\n * Otherwise, do not change the parser state and throw an error.\n */\n\n expectKeyword(value) {\n const token = this._lexer.token;\n\n if (token.kind === TokenKind.NAME && token.value === value) {\n this.advanceLexer();\n } else {\n throw syntaxError(\n this._lexer.source,\n token.start,\n `Expected \"${value}\", found ${getTokenDesc(token)}.`,\n );\n }\n }\n /**\n * If the next token is a given keyword, return \"true\" after advancing the lexer.\n * Otherwise, do not change the parser state and return \"false\".\n */\n\n expectOptionalKeyword(value) {\n const token = this._lexer.token;\n\n if (token.kind === TokenKind.NAME && token.value === value) {\n this.advanceLexer();\n return true;\n }\n\n return false;\n }\n /**\n * Helper function for creating an error when an unexpected lexed token is encountered.\n */\n\n unexpected(atToken) {\n const token =\n atToken !== null && atToken !== void 0 ? atToken : this._lexer.token;\n return syntaxError(\n this._lexer.source,\n token.start,\n `Unexpected ${getTokenDesc(token)}.`,\n );\n }\n /**\n * Returns a possibly empty list of parse nodes, determined by the parseFn.\n * This list begins with a lex token of openKind and ends with a lex token of closeKind.\n * Advances the parser to the next lex token after the closing token.\n */\n\n any(openKind, parseFn, closeKind) {\n this.expectToken(openKind);\n const nodes = [];\n\n while (!this.expectOptionalToken(closeKind)) {\n nodes.push(parseFn.call(this));\n }\n\n return nodes;\n }\n /**\n * Returns a list of parse nodes, determined by the parseFn.\n * It can be empty only if open token is missing otherwise it will always return non-empty list\n * that begins with a lex token of openKind and ends with a lex token of closeKind.\n * Advances the parser to the next lex token after the closing token.\n */\n\n optionalMany(openKind, parseFn, closeKind) {\n if (this.expectOptionalToken(openKind)) {\n const nodes = [];\n\n do {\n nodes.push(parseFn.call(this));\n } while (!this.expectOptionalToken(closeKind));\n\n return nodes;\n }\n\n return [];\n }\n /**\n * Returns a non-empty list of parse nodes, determined by the parseFn.\n * This list begins with a lex token of openKind and ends with a lex token of closeKind.\n * Advances the parser to the next lex token after the closing token.\n */\n\n many(openKind, parseFn, closeKind) {\n this.expectToken(openKind);\n const nodes = [];\n\n do {\n nodes.push(parseFn.call(this));\n } while (!this.expectOptionalToken(closeKind));\n\n return nodes;\n }\n /**\n * Returns a non-empty list of parse nodes, determined by the parseFn.\n * This list may begin with a lex token of delimiterKind followed by items separated by lex tokens of tokenKind.\n * Advances the parser to the next lex token after last item in the list.\n */\n\n delimitedMany(delimiterKind, parseFn) {\n this.expectOptionalToken(delimiterKind);\n const nodes = [];\n\n do {\n nodes.push(parseFn.call(this));\n } while (this.expectOptionalToken(delimiterKind));\n\n return nodes;\n }\n\n advanceLexer() {\n const { maxTokens } = this._options;\n\n const token = this._lexer.advance();\n\n if (maxTokens !== undefined && token.kind !== TokenKind.EOF) {\n ++this._tokenCounter;\n\n if (this._tokenCounter > maxTokens) {\n throw syntaxError(\n this._lexer.source,\n token.start,\n `Document contains more that ${maxTokens} tokens. Parsing aborted.`,\n );\n }\n }\n }\n}\n/**\n * A helper function to describe a token as a string for debugging.\n */\n\nfunction getTokenDesc(token) {\n const value = token.value;\n return getTokenKindDesc(token.kind) + (value != null ? ` \"${value}\"` : '');\n}\n/**\n * A helper function to describe a token kind as a string for debugging.\n */\n\nfunction getTokenKindDesc(kind) {\n return isPunctuatorTokenKind(kind) ? `\"${kind}\"` : kind;\n}\n","import { parse } from 'graphql';\n\nimport {\n DocumentNode,\n DefinitionNode,\n Location,\n} from 'graphql/language/ast';\n\n// A map docString -> graphql document\nconst docCache = new Map();\n\n// A map fragmentName -> [normalized source]\nconst fragmentSourceMap = new Map>();\n\nlet printFragmentWarnings = true;\nlet experimentalFragmentVariables = false;\n\n// Strip insignificant whitespace\n// Note that this could do a lot more, such as reorder fields etc.\nfunction normalize(string: string) {\n return string.replace(/[\\s,]+/g, ' ').trim();\n}\n\nfunction cacheKeyFromLoc(loc: Location) {\n return normalize(loc.source.body.substring(loc.start, loc.end));\n}\n\n// Take a unstripped parsed document (query/mutation or even fragment), and\n// check all fragment definitions, checking for name->source uniqueness.\n// We also want to make sure only unique fragments exist in the document.\nfunction processFragments(ast: DocumentNode) {\n const seenKeys = new Set();\n const definitions: DefinitionNode[] = [];\n\n ast.definitions.forEach(fragmentDefinition => {\n if (fragmentDefinition.kind === 'FragmentDefinition') {\n var fragmentName = fragmentDefinition.name.value;\n var sourceKey = cacheKeyFromLoc(fragmentDefinition.loc!);\n\n // We know something about this fragment\n let sourceKeySet = fragmentSourceMap.get(fragmentName)!;\n if (sourceKeySet && !sourceKeySet.has(sourceKey)) {\n // this is a problem because the app developer is trying to register another fragment with\n // the same name as one previously registered. So, we tell them about it.\n if (printFragmentWarnings) {\n console.warn(\"Warning: fragment with name \" + fragmentName + \" already exists.\\n\"\n + \"graphql-tag enforces all fragment names across your application to be unique; read more about\\n\"\n + \"this in the docs: http://dev.apollodata.com/core/fragments.html#unique-names\");\n }\n } else if (!sourceKeySet) {\n fragmentSourceMap.set(fragmentName, sourceKeySet = new Set);\n }\n\n sourceKeySet.add(sourceKey);\n\n if (!seenKeys.has(sourceKey)) {\n seenKeys.add(sourceKey);\n definitions.push(fragmentDefinition);\n }\n } else {\n definitions.push(fragmentDefinition);\n }\n });\n\n return {\n ...ast,\n definitions,\n };\n}\n\nfunction stripLoc(doc: DocumentNode) {\n const workSet = new Set>(doc.definitions);\n\n workSet.forEach(node => {\n if (node.loc) delete node.loc;\n Object.keys(node).forEach(key => {\n const value = node[key];\n if (value && typeof value === 'object') {\n workSet.add(value);\n }\n });\n });\n\n const loc = doc.loc as Record;\n if (loc) {\n delete loc.startToken;\n delete loc.endToken;\n }\n\n return doc;\n}\n\nfunction parseDocument(source: string) {\n var cacheKey = normalize(source);\n if (!docCache.has(cacheKey)) {\n const parsed = parse(source, {\n experimentalFragmentVariables,\n allowLegacyFragmentVariables: experimentalFragmentVariables,\n } as any);\n if (!parsed || parsed.kind !== 'Document') {\n throw new Error('Not a valid GraphQL document.');\n }\n docCache.set(\n cacheKey,\n // check that all \"new\" fragments inside the documents are consistent with\n // existing fragments of the same name\n stripLoc(processFragments(parsed)),\n );\n }\n return docCache.get(cacheKey)!;\n}\n\n// XXX This should eventually disallow arbitrary string interpolation, like Relay does\nexport function gql(\n literals: string | readonly string[],\n ...args: any[]\n) {\n\n if (typeof literals === 'string') {\n literals = [literals];\n }\n\n let result = literals[0];\n\n args.forEach((arg, i) => {\n if (arg && arg.kind === 'Document') {\n result += arg.loc.source.body;\n } else {\n result += arg;\n }\n result += literals[i + 1];\n });\n\n return parseDocument(result);\n}\n\nexport function resetCaches() {\n docCache.clear();\n fragmentSourceMap.clear();\n}\n\nexport function disableFragmentWarnings() {\n printFragmentWarnings = false;\n}\n\nexport function enableExperimentalFragmentVariables() {\n experimentalFragmentVariables = true;\n}\n\nexport function disableExperimentalFragmentVariables() {\n experimentalFragmentVariables = false;\n}\n\nconst extras = {\n gql,\n resetCaches,\n disableFragmentWarnings,\n enableExperimentalFragmentVariables,\n disableExperimentalFragmentVariables,\n};\n\nexport namespace gql {\n export const {\n gql,\n resetCaches,\n disableFragmentWarnings,\n enableExperimentalFragmentVariables,\n disableExperimentalFragmentVariables,\n } = extras;\n}\n\ngql.default = gql;\n\nexport default gql;\n","var _metadata, _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgLogoEffectual(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"300.000000pt\",\n height: \"300.000000pt\",\n viewBox: \"0 0 300.000000 300.000000\",\n preserveAspectRatio: \"xMidYMid meet\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _metadata || (_metadata = /*#__PURE__*/React.createElement(\"metadata\", null, \"\\nCreated by potrace 1.16, written by Peter Selinger 2001-2019\\n\")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0.000000,300.000000) scale(0.100000,-0.100000)\",\n fill: \"#FFFFFF\",\n stroke: \"none\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M770 1495 l0 -1095 250 0 250 0 0 1095 0 1095 -250 0 -250 0 0 -1095z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1866 2463 c71 -70 182 -180 247 -244 l117 -117 0 244 0 244 -247 0 -247 0 130 -127z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1567 1672 c-92 -92 -167 -172 -167 -177 0 -15 333 -345 348 -345 9 0 12 77 12 345 0 271 -3 345 -13 345 -7 0 -88 -75 -180 -168z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1980 645 l-245 -245 248 0 247 0 0 245 c0 135 -1 245 -3 245 -1 0 -112 -110 -247 -245z\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgLogoEffectual);\nexport default __webpack_public_path__ + \"static/media/logoEffectual.89fe0c18c41e82881c675592d0fe85aa.svg\";\nexport { ForwardRef as ReactComponent };","// @ts-expect-error TS(7016): Could not find a declaration file for module 'is-n... Remove this comment to see the full error message\nimport isNumber from 'is-number';\n\nexport const ordinalSuffixOf = (num: any) => {\n const i = parseInt(num, 10);\n const j = i % 10;\n const k = i % 100;\n\n if (j === 1 && k !== 11) {\n return `${i}st`;\n }\n if (j === 2 && k !== 12) {\n return `${i}nd`;\n }\n if (j === 3 && k !== 13) {\n return `${i}rd`;\n }\n\n return `${i}th`;\n};\n\nexport const getBaseUrl = (customerId: any) => `/customers/${customerId}`;\n\nexport const executeAsync = async (func: any) =>\n new Promise(resolve => {\n setTimeout(() => {\n resolve(func());\n });\n });\n\n/**\n * Given and array of objects and an array of sorting descriptions, will return a sort array of objects.\n * Determines if we are working with numbers, strings, or null values.\n * @param {dataSet} the dataset that will be sorted\n * @param {sort} array of sorting settings [{item:'propertyName', direction:'desc'}]\n */\nexport const sortDataSet = (dataSet: any, sort: any) => {\n for (const item of sort) {\n dataSet.sort((a: any, b: any) => {\n if (item.direction === 'desc') {\n // First is null\n if (!a[item.field]) {\n return 1;\n }\n // Second is null\n if (!b[item.field]) {\n return -1;\n }\n // The field that is currently an array is only ever going to hold a single value, so this is OK for now\n if (Array.isArray(a[item.field]) && Array.isArray(b[item.field])) {\n // Both Numbers\n if (isNumber(a[item.field][0]) && isNumber(b[item.field][0])) {\n return parseFloat(a[item.field].join('')) > parseFloat(b[item.field].join('')) ? -1 : 1;\n }\n // Both Strings\n if (!isNumber(a[item.field][0]) && !isNumber(b[item.field][0])) {\n return a[item.field].join('').toLowerCase() > b[item.field].join('').toLowerCase() ? -1 : 1;\n }\n } else {\n // Both Numbers\n if (isNumber(a[item.field]) && isNumber(b[item.field])) {\n return parseFloat(a[item.field]) > parseFloat(b[item.field]) ? -1 : 1;\n }\n // Both Strings\n if (!isNumber(a[item.field]) && !isNumber(b[item.field])) {\n return a[item.field].toLowerCase() > b[item.field].toLowerCase() ? -1 : 1;\n }\n }\n\n if (!isNumber(a[item.field])) {\n return -1;\n }\n\n return 1;\n }\n\n // First is null\n if (!a[item.field]) {\n return -1;\n }\n // Second is null\n if (!b[item.field]) {\n return 1;\n }\n // The field that is currently an array is only ever going to hold a single value, so this is OK for now\n if (Array.isArray(a[item.field]) && Array.isArray(b[item.field])) {\n // Both Numbers\n if (isNumber(a[item.field][0]) && isNumber(b[item.field][0])) {\n return parseFloat(a[item.field].join('')) < parseFloat(b[item.field].join('')) ? -1 : 1;\n }\n // Both Strings\n if (!isNumber(a[item.field][0]) && !isNumber(b[item.field][0])) {\n return a[item.field].join('').toLowerCase() < b[item.field].join('').toLowerCase() ? -1 : 1;\n }\n } else {\n // Both Numbers\n if (isNumber(a[item.field]) && isNumber(b[item.field])) {\n return parseFloat(a[item.field]) < parseFloat(b[item.field]) ? -1 : 1;\n }\n // Both Strings\n if (!isNumber(a[item.field]) && !isNumber(b[item.field])) {\n return a[item.field].toLowerCase() < b[item.field].toLowerCase() ? -1 : 1;\n }\n }\n\n if (!isNumber(a[item.field])) {\n return 1;\n }\n\n return -1;\n });\n }\n\n return dataSet;\n};\n\nexport const searchDataSet = (dataSet: any, search: any) =>\n dataSet.filter((item: any) =>\n Object.keys(item).some(\n key =>\n search.keys.includes(key) &&\n item[key] &&\n item[key].toString().toLowerCase().includes(search.searchString.toLowerCase())\n )\n );\n\n// eslint-disable-next-line @typescript-eslint/restrict-plus-operands\nexport const capitalizeFirstLetter = (string: any) => string.charAt(0).toUpperCase() + string.slice(1);\n","import React, { forwardRef } from 'react';\nimport { NavLink } from 'react-router-dom';\nimport { twCascade } from '@mariusmarais/tailwind-cascade';\nimport { motion } from 'framer-motion';\n\nimport { useUser } from '../../context/UserContext';\n\ntype Props = {\n disabled?: boolean;\n label: any;\n icon: any;\n iconClassName?: string;\n iconStyle?: any;\n active?: boolean;\n href: string;\n drawer?: boolean;\n mobileNav?: (...args: any[]) => any;\n external?: boolean;\n newTab?: boolean;\n};\n\nconst NavItem = forwardRef((props, ref) => {\n const { disabled, label, icon, iconClassName, iconStyle, active, href, drawer, mobileNav, external, newTab } = props;\n // @ts-expect-error TS(2339): Property 'isImpersonating' does not exist on type 'unknown'.\n const { isImpersonating } = useUser();\n\n const activeClass = isImpersonating\n ? 'bg-banner-red border-orange hover:border-white'\n : 'bg-nav-hover border-orange hover:border-white';\n\n if (disabled) {\n return (\n \n
\n {icon}\n
\n \n
{label}
\n
\n \n );\n }\n\n const content = (\n
\n \n {icon}\n
\n \n
{label}
\n
\n \n );\n\n if (external) {\n return (\n \n {content}\n \n );\n }\n\n return (\n \n {content}\n \n );\n});\n\nNavItem.displayName = 'Nav Item';\n\nexport default NavItem;\n","import React, { useState, useEffect, useCallback } from 'react';\nimport { useLocation, useParams } from 'react-router-dom';\nimport { API, graphqlOperation } from 'aws-amplify';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport {\n faHomeLgAlt,\n faCloud,\n faShieldAlt,\n faExclamationTriangle,\n faUsersCog,\n faStar,\n faBars,\n faCog,\n faDoorOpen,\n faIdCard,\n faExternalLink,\n faUsers,\n} from '@fortawesome/pro-solid-svg-icons';\nimport { getCustomer } from '../../graphql/queries';\n\nimport { useUser } from '../../context/UserContext';\nimport { customerGroups, effectualGroups, featureFlagGroups } from '../../shared/groupsHelper';\nimport { getBaseUrl } from '../../shared/helper';\nimport NavItem from './NavItem';\n\ntype Props = {\n drawer?: boolean;\n slidingDrawer?: (...args: any[]) => any;\n mobileNav?: (...args: any[]) => any;\n showMobileNav?: boolean;\n};\n\nconst Nav = ({ slidingDrawer, drawer, mobileNav, showMobileNav }: Props) => {\n const location = useLocation();\n // @ts-expect-error TS(2339): Property 'customerId' does not exist on type 'unknown'.\n const { customerId } = useParams();\n // @ts-expect-error TS(2339): Property 'customerHasFeature' does not exist on type 'unknown'.\n const { userInRoles, isEffectualUser, customerHasFeature } = useUser();\n const [effectualNavItemList, setEffectualNavItemList] = useState([]);\n const [navItems, setNavItems] = useState([]);\n const [menuNavItemsList, setMenuNavItemlist] = useState([]);\n const [customerName, setCustomerName] = useState('');\n const [isLoading, setIsLoading] = useState(false);\n\n const baseUrl = getBaseUrl(customerId);\n const useMountEffect = (func: any) => useEffect(func, []);\n\n const initializeComponent = () => {\n (async () => {\n setIsLoading(true);\n try {\n if (isEffectualUser && customerId) {\n const res = await API.graphql(graphqlOperation(getCustomer, { id: customerId }));\n const name = (res as any)?.data?.getCustomer?.name ? (res as any).data.getCustomer.name : '';\n setCustomerName(name);\n }\n } catch (error) {\n console.error(error);\n }\n setIsLoading(false);\n })();\n };\n\n useMountEffect(initializeComponent);\n\n const buildEffectualMenu = useCallback(() => {\n const effectualNavItems = [];\n\n effectualNavItems.push(\n }\n drawer={drawer}\n mobileNav={mobileNav}\n />\n );\n\n effectualNavItems.push(\n }\n drawer={drawer}\n mobileNav={mobileNav}\n />\n );\n\n if (userInRoles([effectualGroups.effectualAdmin.groupName])) {\n effectualNavItems.push(\n }\n drawer={drawer}\n mobileNav={mobileNav}\n />\n );\n }\n\n // @ts-expect-error TS(2345): Argument of type 'Element[]' is not assignable to ... Remove this comment to see the full error message\n setEffectualNavItemList(effectualNavItems);\n }, [drawer, location.pathname, mobileNav, userInRoles]);\n\n const buildCustomerMenu = useCallback(() => {\n const navItemList = [];\n\n if (isEffectualUser) {\n navItemList.push(\n
\n
\n
\n );\n }\n\n navItemList.push(\n }\n drawer={drawer}\n mobileNav={mobileNav}\n />\n );\n\n if (\n (userInRoles([\n effectualGroups.effectualAdmin.groupName,\n effectualGroups.effectualSDM.groupName,\n effectualGroups.effectualObserver.groupName,\n customerGroups.customerAdmin.groupName,\n customerGroups.customerSupport.groupName,\n customerGroups.customerObserver.groupName,\n customerGroups.customerTechnical.groupName,\n ]) &&\n customerHasFeature([featureFlagGroups.mcm.name])) ||\n (userInRoles([\n effectualGroups.effectualAdmin.groupName,\n effectualGroups.effectualSDM.groupName,\n effectualGroups.effectualObserver.groupName,\n customerGroups.customerAdmin.groupName,\n customerGroups.customerSupport.groupName,\n customerGroups.customerObserver.groupName,\n customerGroups.customerTechnical.groupName,\n ]) &&\n customerHasFeature([featureFlagGroups.vmc.name]))\n ) {\n navItemList.push(\n }\n drawer={drawer}\n mobileNav={mobileNav}\n />\n );\n }\n if (\n (userInRoles([\n effectualGroups.effectualAdmin.groupName,\n effectualGroups.effectualSDM.groupName,\n effectualGroups.effectualObserver.groupName,\n customerGroups.customerAdmin.groupName,\n customerGroups.customerSupport.groupName,\n customerGroups.customerObserver.groupName,\n customerGroups.customerTechnical.groupName,\n ]) &&\n customerHasFeature([featureFlagGroups.mcm.name])) ||\n (userInRoles([\n effectualGroups.effectualAdmin.groupName,\n effectualGroups.effectualSDM.groupName,\n effectualGroups.effectualObserver.groupName,\n customerGroups.customerAdmin.groupName,\n customerGroups.customerSupport.groupName,\n customerGroups.customerObserver.groupName,\n customerGroups.customerTechnical.groupName,\n ]) &&\n customerHasFeature([featureFlagGroups.vmc.name]))\n ) {\n navItemList.push(\n }\n drawer={drawer}\n mobileNav={mobileNav}\n />\n );\n }\n\n if (\n userInRoles([\n effectualGroups.effectualAdmin.groupName,\n effectualGroups.effectualSDM.groupName,\n effectualGroups.effectualAccounting.groupName,\n effectualGroups.effectualObserver.groupName,\n ]) ||\n (!customerHasFeature([featureFlagGroups.resaleOnly.name]) &&\n userInRoles([\n customerGroups.customerAdmin.groupName,\n customerGroups.customerSupport.groupName,\n customerGroups.customerAccounting.groupName,\n customerGroups.customerObserver.groupName,\n customerGroups.customerTechnical.groupName,\n customerGroups.customerHelpDesk.groupName,\n ]))\n ) {\n navItemList.push(\n }\n drawer={drawer}\n mobileNav={mobileNav}\n />\n );\n }\n\n if (\n userInRoles([\n effectualGroups.effectualAdmin.groupName,\n effectualGroups.effectualSDM.groupName,\n effectualGroups.effectualAccounting.groupName,\n effectualGroups.effectualObserver.groupName,\n customerGroups.customerAccounting.groupName,\n customerGroups.customerAdmin.groupName,\n customerGroups.customerObserver.groupName,\n customerGroups.customerSupport.groupName,\n customerGroups.customerTechnical.groupName,\n ])\n ) {\n navItemList.push(\n }\n drawer={drawer}\n active={location.pathname.startsWith(`${baseUrl}/my-team`)}\n />\n );\n }\n\n if (\n userInRoles([\n effectualGroups.effectualAdmin.groupName,\n effectualGroups.effectualAccounting.groupName,\n effectualGroups.effectualSDM.groupName,\n effectualGroups.effectualObserver.groupName,\n customerGroups.customerAdmin.groupName,\n ])\n ) {\n navItemList.push(\n }\n drawer={drawer}\n active={location.pathname.startsWith(`${baseUrl}/admin`)}\n />\n );\n }\n\n // @ts-expect-error TS(2345): Argument of type 'Element[]' is not assignable to ... Remove this comment to see the full error message\n setNavItems(navItemList);\n }, [isEffectualUser, location.pathname, baseUrl, drawer, mobileNav, userInRoles, customerHasFeature, customerName]);\n\n useEffect(() => {\n buildEffectualMenu();\n\n if (customerId) {\n buildCustomerMenu();\n }\n\n const menuNavItems = [];\n\n menuNavItems.push(\n
\n
\n
\n );\n\n menuNavItems.push(\n }\n drawer={drawer}\n />\n );\n menuNavItems.push(\n }\n drawer={drawer}\n external\n />\n );\n\n // @ts-expect-error TS(2345): Argument of type 'Element[]' is not assignable to ... Remove this comment to see the full error message\n setMenuNavItemlist(menuNavItems);\n }, [\n drawer,\n location,\n baseUrl,\n userInRoles,\n mobileNav,\n buildCustomerMenu,\n buildEffectualMenu,\n customerId,\n isEffectualUser,\n ]);\n\n if (isLoading) {\n return null;\n }\n\n return (\n
\n
\n \n \n \n
\n\n
\n {isEffectualUser && (\n
\n \n
\n )}\n\n {navItems.length > 0 && (\n
\n \n
\n )}\n\n {showMobileNav && (\n
\n \n
\n )}\n\n
\n \n Send Feedback\n \n \n \n

\n }\n icon={}\n drawer={drawer}\n active={false}\n newTab\n external\n />\n
\n
\n
\n );\n};\n\nexport default Nav;\n","var _defs, _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgLogo(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n width: 158.7,\n height: 49.14,\n viewBox: \"0 0 158.7 49.14\",\n className: \"fill-current\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".logoFillNone{fill:none;}.fillfff{fill:#fff;}.clipClass{clip-path:url(#a);}.fillef7a2b{fill:#ef7a2b;}\"), /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"a\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n className: \"logoFillNone\",\n width: 158.7,\n height: 49.14\n })))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(79.35 24.57)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(-79.35 -24.57)\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n className: \"fillfff\",\n width: 8,\n height: 39,\n transform: \"translate(0 0.88)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"fillfff\",\n d: \"M64,0l8.821,8.821V0Z\",\n transform: \"translate(-46.357)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"fillfff\",\n d: \"M64,120.821,72.821,112v8.821Z\",\n transform: \"translate(-46.357 -81.126)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"fillfff\",\n d: \"M47.63,49.4V61.86L41.4,55.63Z\",\n transform: \"translate(-29.987 -35.782)\"\n }), /*#__PURE__*/React.createElement(\"g\", {\n className: \"clipClass\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n className: \"fillfff\",\n d: \"M119.131,85.059V69.291q0-1.516-.055-3.06a28.248,28.248,0,0,0-.276-3.06h3.363l.358,4.493-.441.3A7.36,7.36,0,0,1,124.809,64a7.663,7.663,0,0,1,4.6-1.406,7.165,7.165,0,0,1,4.934,1.571,7.651,7.651,0,0,1,2.233,4.8l-1.048-.579a7.443,7.443,0,0,1,2.812-4.218,8.27,8.27,0,0,1,5.072-1.571,6.8,6.8,0,0,1,5.458,2.15q1.847,2.15,1.819,6.506V85.031h-3.5V71.469a7.249,7.249,0,0,0-1.1-4.466,4.109,4.109,0,0,0-3.446-1.406,5.344,5.344,0,0,0-4.328,1.875,7.8,7.8,0,0,0-1.6,5.1V85.087H133.19V71.469a7.249,7.249,0,0,0-1.1-4.466,4.142,4.142,0,0,0-3.473-1.406,5.457,5.457,0,0,0-4.383,1.875,7.6,7.6,0,0,0-1.6,5.1V85.087Z\",\n transform: \"translate(-86.051 -45.336)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"fillfff\",\n d: \"M252.831,94.562v-25.2q0-1.516-.055-3.06a28.24,28.24,0,0,0-.276-3.06h3.363l.386,4.493-.358.662a7.3,7.3,0,0,1,2.839-4.218,8.482,8.482,0,0,1,5.045-1.489,9.069,9.069,0,0,1,5.072,1.433,9.7,9.7,0,0,1,3.446,4,15.176,15.176,0,0,1,0,12.019,9.014,9.014,0,0,1-8.518,5.293,8.4,8.4,0,0,1-5.045-1.489,7.3,7.3,0,0,1-2.839-4.218l.469-.441V94.535Zm10.282-12.047a6.074,6.074,0,0,0,4.962-2.178,9.474,9.474,0,0,0,1.792-6.175,9.827,9.827,0,0,0-1.792-6.258,5.909,5.909,0,0,0-4.962-2.233A6.039,6.039,0,0,0,258.1,67.85a9.785,9.785,0,0,0-1.737,6.23,9.906,9.906,0,0,0,1.737,6.258,6.007,6.007,0,0,0,5.017,2.205\",\n transform: \"translate(-182.895 -45.411)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"fillfff\",\n d: \"M353.6,85.51a9.483,9.483,0,0,1-5.127-1.378,8.987,8.987,0,0,1-3.391-3.914,15.589,15.589,0,0,1,.028-11.991,9.538,9.538,0,0,1,3.418-4A9.069,9.069,0,0,1,353.6,62.8a8.577,8.577,0,0,1,5.1,1.489,7.305,7.305,0,0,1,2.839,4.218l-.524.331V63.292h3.473V85.207h-3.473V79.556l.524.248a7.305,7.305,0,0,1-2.839,4.218,8.576,8.576,0,0,1-5.1,1.489m.689-2.922a5.945,5.945,0,0,0,4.962-2.205,9.971,9.971,0,0,0,1.764-6.23,9.675,9.675,0,0,0-1.764-6.23,6,6,0,0,0-4.934-2.178,6.149,6.149,0,0,0-5.045,2.233,9.653,9.653,0,0,0-1.819,6.258,9.374,9.374,0,0,0,1.819,6.175,6.216,6.216,0,0,0,5.045,2.178\",\n transform: \"translate(-249.099 -45.484)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"fillef7a2b\",\n width: 57.917,\n height: 1.902,\n transform: \"translate(32.721 6.919)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"fillfff\",\n d: \"M451.486,41.743V38.959H445.2V33.225h0V29.2l-3.529,3.529v6.23H437.4v2.784h4.273V54.2a6.976,6.976,0,0,0,1.819,5.238,6.582,6.582,0,0,0,4.852,1.737,10.724,10.724,0,0,0,1.6-.11,11.109,11.109,0,0,0,1.461-.331v-3a7.8,7.8,0,0,1-1.185.3,7.168,7.168,0,0,1-1.185.083,4.962,4.962,0,0,1-1.957-.358,2.757,2.757,0,0,1-1.378-1.323,6,6,0,0,1-.5-2.7V41.743Z\",\n transform: \"translate(-316.824 -21.151)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"fillfff\",\n d: \"M518.416,26.845a8.9,8.9,0,0,0-4.934,1.378A7.2,7.2,0,0,0,511,30.953V16.729L507.5,13.2V49.284h3.529V36.742a6.934,6.934,0,0,1,1.819-5.045,6.486,6.486,0,0,1,4.879-1.875,4.8,4.8,0,0,1,3.832,1.406,6.756,6.756,0,0,1,1.213,4.466v13.59H526.3V35.5q0-8.683-7.884-8.683\",\n transform: \"translate(-367.6 -9.561)\"\n }))))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgLogo);\nexport default __webpack_public_path__ + \"static/media/logo.7e32b2aae76ada6a05bda9fcef85c76b.svg\";\nexport { ForwardRef as ReactComponent };","// @ts-expect-error TS(7016): Could not find a declaration file for module 'luxo... Remove this comment to see the full error message\nimport { DateTime } from 'luxon';\n// @ts-expect-error TS(2732): Cannot find module '../components/inputs/currentTi... Remove this comment to see the full error message\nimport currentTimeZones from '../components/inputs/currentTimeZones.json';\n\nexport const shiftToStartOfUtcDay = (date: any) => {\n const currentDate = DateTime.fromJSDate(date);\n const convertedDate = DateTime.utc(currentDate.year, currentDate.month, currentDate.day, 0, 0, 0, 0).toJSDate();\n\n return convertedDate;\n};\n\nexport const shiftToUtcEndOfMonth = (date: any) => {\n const currentDate = DateTime.fromJSDate(date);\n\n const convertedDate = DateTime.utc(currentDate.year, currentDate.month, currentDate.day, 0, 0, 0, 0)\n .endOf('month')\n .toJSDate();\n\n return convertedDate;\n};\n\nexport const roundTimeToNearestMinutes = (minutes = 10, date = new Date()) => {\n const milliseconds = minutes * 60 * 1000;\n\n return new Date(Math.round(date.getTime() / milliseconds) * milliseconds);\n};\n\nexport const isValidTimeZone = (timezone: any) => currentTimeZones.includes(timezone);\n\nexport const formatTimeWithTimeZone = (date: any, tz: any) => {\n const timeZone = isValidTimeZone(tz) ? { zone: tz } : {};\n const shortDate = DateTime.fromISO(date, timeZone).toFormat('t ZZZZ');\n\n return shortDate; // 9:55 AM PDT\n};\n\nexport const formatTime = (date: any, tz: any) => {\n const timeZone = isValidTimeZone(tz) ? { zone: tz } : {};\n const shortDate = DateTime.fromISO(date, timeZone).toFormat('t');\n\n return shortDate; // 9:55 AM\n};\n\nexport const formatTimeWithDay = (date: any, tz: any) => {\n const timeZone = isValidTimeZone(tz) ? { zone: tz } : {};\n const shortDate = DateTime.fromISO(date, timeZone).toFormat('ccc t ZZZZ');\n\n return shortDate; // Wed 9:55 AM EST\n};\n\nexport const formatDateShortAndTime = (date: any, tz: any) => {\n const timeZone = isValidTimeZone(tz) ? { zone: tz } : {};\n const shortDate = DateTime.fromISO(date, timeZone).toFormat('D, t ZZZZ');\n\n return shortDate; // 3/30/2021, 9:55 AM PDT\n};\n\nexport const formatDateMedAndTime = (date: any, tz: any) => {\n const timeZone = isValidTimeZone(tz) ? { zone: tz } : {};\n const medDate = DateTime.fromISO(date, timeZone).toFormat('DD, t ZZZZ');\n\n return medDate; // Mar 30, 2021, 9:55 AM PDT\n};\n\nexport const toUtcIso = (date: any, tz: any) => {\n const timeZone = isValidTimeZone(tz) ? { zone: tz } : {};\n const luxonTime = DateTime.fromObject(timeZone).set({\n year: date.getFullYear(),\n // eslint-disable-next-line @typescript-eslint/restrict-plus-operands\n month: date.getMonth() + 1,\n day: date.getDate(),\n hour: date.getHours(),\n minute: date.getMinutes(),\n second: 0,\n milliseconds: 0,\n });\n\n return luxonTime.toUTC().toISO();\n};\n\nexport const formatMonthDate = (date: any, tz: any) => {\n const timeZone = isValidTimeZone(tz) ? { zone: tz } : {};\n const shortDate = DateTime.fromISO(date, timeZone).toFormat('MM/dd');\n\n return shortDate; // 03/30\n};\n\nexport const formatMonthDateAndTime = (date: any, tz: any) => {\n const timeZone = isValidTimeZone(tz) ? { zone: tz } : {};\n const shortDate = DateTime.fromISO(date, timeZone).toFormat('MM/dd, t');\n\n return shortDate; // 03/30, 9:55 AM\n};\n\nexport const getVerifiedTimeZone = (tz: any) => tz || Intl.DateTimeFormat().resolvedOptions().timeZone;\n\nexport const convertToAnotherTimeZone = (date: any, tz: any) => {\n const timeZone = getVerifiedTimeZone(tz);\n\n return new Date((typeof date === 'string' ? new Date(date) : date).toLocaleString('en-US', { timeZone }));\n};\n","import React, { useState, useEffect, useRef, useCallback } from 'react';\nimport { Link, NavLink, useParams, useHistory } from 'react-router-dom';\nimport { Storage, API, graphqlOperation } from 'aws-amplify';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faCaretDown, faUser, faBell } from '@fortawesome/pro-solid-svg-icons';\nimport { faTimes, faCheck } from '@fortawesome/pro-regular-svg-icons';\nimport { AnimatePresence, motion } from 'framer-motion';\n// @ts-expect-error TS(7016): Could not find a declaration file for module 'luxo... Remove this comment to see the full error message\nimport { DateTime } from 'luxon';\nimport gql from 'graphql-tag';\n// @ts-expect-error TS(2307): Cannot find module '../../assets/logoEffectual.svg... Remove this comment to see the full error message\nimport { ReactComponent as IconEffectual } from '../../assets/logoEffectual.svg';\n\nimport { listNotifications } from '../../graphql/queries';\nimport { onCreateNotification, onUpdateNotification, onDeleteNotification } from '../../graphql/subscriptions';\nimport { useUser } from '../../context/UserContext';\nimport Nav from '../leftNav/Nav';\n// @ts-expect-error TS(2307): Cannot find module '../../assets/logo.svg' or its ... Remove this comment to see the full error message\nimport Logo from '../../assets/logo.svg';\n// @ts-expect-error TS(2307): Cannot find module '../../assets/headerBackground.... Remove this comment to see the full error message\nimport HeaderBG from '../../assets/headerBackground.png';\nimport { getBaseUrl, ordinalSuffixOf } from '../../shared/helper';\nimport { isValidTimeZone } from '../../shared/dateHelpers';\n\nconst Header = () => {\n const SIX_HOURS = 6;\n // @ts-expect-error TS(2339): Property 'isImpersonating' does not exist on type 'unknown'.\n const { user, activeUser, isEffectualUser, isImpersonating } = useUser();\n const [showMobileNav, setShowMobileNav] = useState(false);\n const [showProfileNav, setShowProfileNav] = useState(false);\n const [profilePhoto, setProfilePhoto] = useState(null);\n const [notifications, setNotifications] = useState([]);\n const [showNotificationList, setShowNotificationList] = useState(false);\n const [notificationGroups, setNotificationGroups] = useState({});\n const history = useHistory();\n\n const profileNavRef = useRef(null);\n const notificationRef = useRef(null);\n\n const handleMobileNav = () => setShowMobileNav(!showMobileNav);\n const handleProfileNavShow = () => setShowProfileNav(!showProfileNav);\n const handleShowNotificationList = () => setShowNotificationList(!showNotificationList);\n\n // @ts-expect-error TS(2339): Property 'customerId' does not exist on type '{}'.\n const { customerId } = useParams();\n\n useEffect(() => {\n const getProfilePhoto = (url: any) => {\n if (url) {\n return \"Profile\";\n }\n if (isEffectualUser) {\n return ;\n }\n\n return ;\n };\n\n const init = async () => {\n if (activeUser.profilePhotoUrl) {\n // Storage.get returns string even when arg is null\n const photoUrl = await Storage.get(activeUser.profilePhotoUrl);\n\n // @ts-expect-error TS(2345): Argument of type 'Element' is not assignable to pa... Remove this comment to see the full error message\n setProfilePhoto(getProfilePhoto(photoUrl));\n\n return;\n }\n\n // @ts-expect-error TS(2345): Argument of type 'Element' is not assignable to pa... Remove this comment to see the full error message\n setProfilePhoto(getProfilePhoto());\n };\n\n init();\n }, [activeUser, isEffectualUser]);\n\n const handleNotification = useCallback((notification: any, doRemove = false) => {\n // @ts-expect-error TS(2345): Argument of type '(state: never[]) => any[]' is no... Remove this comment to see the full error message\n setNotifications(state => {\n const index = state.findIndex(x => (x as any).id === notification.id);\n let items;\n if (index === -1 && !doRemove) {\n if (!notification.isRead) {\n items = [...state, notification];\n } else {\n items = state;\n }\n } else if (!doRemove && !notification.isRead) {\n items = state.map((item, i) => {\n if (i === index) {\n return notification;\n }\n return item;\n });\n } else {\n items = state.filter((_, i) => i !== index);\n }\n return items;\n });\n }, []);\n\n useEffect(() => {\n let subbed = true;\n const fetch = async () => {\n let nextToken;\n let items: any = [];\n do {\n // @ts-expect-error TS(7022): 'results' implicitly has type 'any' because it doe... Remove this comment to see the full error message\n const results = await API.graphql(\n graphqlOperation(listNotifications, {\n sub: activeUser.sub,\n filter: { isRead: { eq: false } },\n nextToken,\n })\n );\n items = items.concat(results.data.listNotifications.items);\n ({ nextToken } = results.data.listNotifications);\n } while (nextToken);\n if (subbed) {\n // @ts-expect-error TS(7006): Parameter 'a' implicitly has an 'any' type.\n items.sort((a, b) => a.when < b.when);\n setNotifications(items);\n }\n if (!isImpersonating) {\n const createSubscription = (\n API.graphql(graphqlOperation(onCreateNotification, { sub: user.sub })) as any\n ).subscribe({\n next: ({ value }: any) => {\n handleNotification(value.data.onCreateNotification);\n },\n error: (error: any) => console.warn(error),\n });\n const updateSubscription = (\n API.graphql(graphqlOperation(onUpdateNotification, { sub: user.sub })) as any\n ).subscribe({\n next: ({ value }: any) => {\n handleNotification(value.data.onUpdateNotification);\n },\n error: (error: any) => console.warn(error),\n });\n const deleteSubscription = (\n API.graphql(graphqlOperation(onDeleteNotification, { sub: user.sub })) as any\n ).subscribe({\n next: ({ value }: any) => {\n handleNotification(value.data.onDeleteNotification, true);\n },\n error: (error: any) => console.warn(error),\n });\n return () => {\n createSubscription.unsubscribe();\n updateSubscription.unsubscribe();\n deleteSubscription.unsubscribe();\n subbed = false;\n };\n }\n return () => {\n subbed = false;\n };\n };\n fetch();\n }, [activeUser.sub, user.sub, handleNotification, isImpersonating]);\n\n useEffect(() => {\n const pageClick = (e: any) => {\n if (profileNavRef.current && !(profileNavRef.current as any).contains(e.target)) {\n setShowProfileNav(false);\n }\n };\n if (showProfileNav) {\n window.addEventListener('click', pageClick);\n }\n return () => {\n window.removeEventListener('click', pageClick);\n };\n }, [showProfileNav]);\n\n useEffect(() => {\n const pageClick = (e: any) => {\n if (notificationRef.current && !(notificationRef.current as any).contains(e.target)) {\n setShowNotificationList(false);\n }\n };\n if (showNotificationList) {\n window.addEventListener('click', pageClick);\n }\n return () => {\n window.removeEventListener('click', pageClick);\n };\n }, [showNotificationList]);\n\n const handleNotificationNavigation = ({ type, key }: any) => {\n handleShowNotificationList();\n let ticketParamType = '';\n\n if (type.toLowerCase() === 'incident') {\n ticketParamType = 'incidents';\n } else if (type.toLowerCase() === 'changerequest') {\n ticketParamType = 'change-requests';\n } else if (type.toLowerCase() === 'support request') {\n ticketParamType = 'cases';\n }\n const url = `${getBaseUrl(customerId)}/support/${ticketParamType}/${key}`;\n\n history.push(url);\n };\n\n const handleCSVDownload = ({ key }: any) => {\n handleShowNotificationList();\n window.location = key;\n };\n\n const removeCSVNotification = async ({ id, sub }: any) => {\n const mutations = `notification: updateNotification(input: { isRead: true, id: \"${id}\", sub: \"${sub}\" }) { id, sub, message, when, isRead, customerId, type, key, createdAt, updatedAt }`;\n\n const notificationsMutation = gql`mutation { ${mutations} }`;\n\n try {\n await API.graphql(graphqlOperation(notificationsMutation));\n const updateNotifications = notifications.filter(notification => (notification as any).id !== id);\n\n setNotifications(updateNotifications);\n } catch (e) {\n console.error('Error updating notifications', e);\n }\n };\n\n const removeAllCSVNotification = async () => {\n try {\n const notificationsMutation: any = [];\n\n // eslint-disable-next-line @typescript-eslint/await-thenable, @typescript-eslint/require-await\n await notifications.map(async n => {\n const mutations = `notification: updateNotification(input: { isRead: true, id: \"${(n as any).id}\", sub: \"${\n (n as any).sub\n }\" }) { id, sub, message, when, isRead, customerId, type, key, createdAt, updatedAt }`;\n notificationsMutation.push(gql`mutation { ${mutations} }`);\n });\n\n // @ts-expect-error TS(7006): Parameter 'n' implicitly has an 'any' type.\n await Promise.all(notificationsMutation.map(async n => API.graphql(graphqlOperation(n))));\n } catch (error) {\n console.error('Error updating all notifications', error);\n }\n\n setNotifications([]);\n };\n\n useEffect(() => {\n const createMonthDayOrdinaled = (when: any) => {\n const timeZone = isValidTimeZone(activeUser.timeZone) ? { zone: activeUser.timeZone } : {};\n const timeString = DateTime.fromISO(when, timeZone).toFormat('MMMM d');\n const num = timeString.split(' ')[1];\n const month = timeString.split(' ')[0];\n const ordinaled = ordinalSuffixOf(num);\n return `${month} ${ordinaled}`;\n };\n const notificationRelativeGroups = notifications.reduce(\n (accu, cur) => {\n const timeZone = isValidTimeZone(activeUser.timeZone);\n const diff = DateTime.fromISO((cur as any).createdAt, timeZone).diffNow(['hours', 'days']);\n const diffDays = diff.values.days;\n if (diffDays < -30) {\n (cur as any).displayTime = createMonthDayOrdinaled((cur as any).createdAt);\n accu.older.push(cur);\n } else if (diffDays <= -1) {\n (cur as any).displayTime = createMonthDayOrdinaled((cur as any).createdAt);\n accu.withinThisMonth.push(cur);\n } else {\n const hoursAgo = Math.abs(Math.round(diff.values.hours));\n let displayTime = '';\n if (hoursAgo < 1) {\n displayTime = 'Less than an hour ago';\n } else {\n displayTime = `${hoursAgo} hour${hoursAgo === 1 ? '' : 's'} ago`;\n }\n (cur as any).displayTime = displayTime;\n accu.withinToday.push(cur);\n }\n return accu;\n },\n { older: [], withinThisMonth: [], withinToday: [] }\n );\n notificationRelativeGroups.withinToday.sort((a, b) => {\n if (new Date((b as any).when) !== new Date((a as any).when)) {\n // @ts-expect-error TS(2362): The left-hand side of an arithmetic operation must... Remove this comment to see the full error message\n return new Date((b as any).when) - new Date((a as any).when);\n }\n // @ts-expect-error TS(2362): The left-hand side of an arithmetic operation must... Remove this comment to see the full error message\n return new Date((b as any).createdAt) - new Date((a as any).createdAt);\n });\n notificationRelativeGroups.withinThisMonth.sort((a, b) => {\n if (new Date((b as any).when) !== new Date((a as any).when)) {\n // @ts-expect-error TS(2362): The left-hand side of an arithmetic operation must... Remove this comment to see the full error message\n return new Date((b as any).when) - new Date((a as any).when);\n }\n // @ts-expect-error TS(2362): The left-hand side of an arithmetic operation must... Remove this comment to see the full error message\n return new Date((b as any).createdAt) - new Date((a as any).createdAt);\n });\n notificationRelativeGroups.older.sort((a, b) => {\n if (new Date((b as any).when) !== new Date((a as any).when)) {\n // @ts-expect-error TS(2362): The left-hand side of an arithmetic operation must... Remove this comment to see the full error message\n return new Date((b as any).when) - new Date((a as any).when);\n }\n // @ts-expect-error TS(2362): The left-hand side of an arithmetic operation must... Remove this comment to see the full error message\n return new Date((b as any).createdAt) - new Date((a as any).createdAt);\n });\n setNotificationGroups(notificationRelativeGroups);\n }, [activeUser, notifications]);\n\n const notificationContainer = (notification: any) => {\n if (notification.type === 'Report') {\n const timeZone = isValidTimeZone(activeUser.timeZone);\n const diff = DateTime.fromISO(notification.when, timeZone).diffNow(['hours']);\n const hoursDiff = Math.abs(diff.values.hours);\n const olderThanSixHours = hoursDiff > SIX_HOURS;\n\n if (olderThanSixHours) {\n return (\n removeCSVNotification(notification)}\n >\n
\n
\n Your Report Expired\n
\n
{notification.displayTime}
\n
\n \n );\n }\n\n return (\n removeCSVNotification(notification)}\n onKeyDown={() => removeCSVNotification(notification)}\n >\n
\n
\n {notification.message}. Click{' '}\n {\n event.stopPropagation();\n handleCSVDownload(notification);\n }}\n >\n HERE\n {' '}\n to download\n
\n
{notification.displayTime}
\n
\n \n );\n }\n\n return (\n handleNotificationNavigation(notification)}\n >\n
\n
\n {notification.message}\n
\n
{notification.displayTime}
\n
\n \n );\n };\n\n return (\n \n
\n
\n \n \n \n \n \n
\n\n
\n \n \"Empath\n \n
\n\n
\n\n
\n \n {showNotificationList && (\n \n
\n \n \n \n
\n {!notifications.length && (\n
\n

No new notifications

\n
\n )}\n {!!notifications.length && (\n <>\n
\n removeAllCSVNotification()}\n >\n Mark all as read\n \n
\n {!!(notificationGroups as any).withinToday.length && (\n
\n

Today

\n {(notificationGroups as any).withinToday.map((notification: any) =>\n notificationContainer(notification)\n )}\n
\n )}\n {!!(notificationGroups as any).withinThisMonth.length && (\n
\n

Last 30 days

\n {!!(notificationGroups as any).withinThisMonth.length &&\n (notificationGroups as any).withinThisMonth.map((notification: any) =>\n notificationContainer(notification)\n )}\n
\n )}\n {!!(notificationGroups as any).older.length && (\n
\n

Older

\n {(notificationGroups as any).older.map((notification: any) =>\n notificationContainer(notification)\n )}\n
\n )}\n \n )}\n
\n )}\n
\n \n
\n
\n \n
\n {profilePhoto}\n
\n
\n
\n {activeUser.firstName} {activeUser.lastName}\n
\n\n \n \n \n
\n \n
\n\n {/* @ts-expect-error TS(17004): Cannot use JSX unless the '--jsx' flag is provided... Remove this comment to see the full error message */}\n \n {showProfileNav && (\n \n
\n \n\n \n
\n \n )}\n
\n
\n
\n \n {/* @ts-expect-error TS(17004): Cannot use JSX unless the '--jsx' flag is provided... Remove this comment to see the full error message */}\n \n {showMobileNav && (\n \n
\n
\n
{profilePhoto}
\n
\n
\n {activeUser.firstName} {activeUser.lastName}\n
\n
{activeUser.email}
\n
\n
\n \n \n My Settings\n \n\n \n Sign Out\n \n
\n \n\n \n );\n};\n\ntype ProfItemProps = {\n label: string;\n href?: string;\n};\n\nconst ProfItem = ({ label, href }: ProfItemProps) => (\n \n {label}\n \n);\n\nexport default Header;\n","/* eslint-disable */\n// this is an auto generated file. This will be overwritten\n\nexport const onCreateInventory = /* GraphQL */ `\n subscription OnCreateInventory {\n onCreateInventory {\n id\n customerId\n account\n region\n service\n resource\n workload\n data\n createdAt\n updatedAt\n }\n }\n`;\nexport const onUpdateInventory = /* GraphQL */ `\n subscription OnUpdateInventory {\n onUpdateInventory {\n id\n customerId\n account\n region\n service\n resource\n workload\n data\n createdAt\n updatedAt\n }\n }\n`;\nexport const onDeleteInventory = /* GraphQL */ `\n subscription OnDeleteInventory {\n onDeleteInventory {\n id\n customerId\n account\n region\n service\n resource\n workload\n data\n createdAt\n updatedAt\n }\n }\n`;\nexport const onCreateCustomer = /* GraphQL */ `\n subscription OnCreateCustomer {\n onCreateCustomer {\n id\n name\n type\n createdAt\n updatedAt\n isActive\n identityProvider\n metadataUrl\n ssoUrn\n ssoUrl\n }\n }\n`;\nexport const onUpdateCustomer = /* GraphQL */ `\n subscription OnUpdateCustomer {\n onUpdateCustomer {\n id\n name\n type\n createdAt\n updatedAt\n isActive\n identityProvider\n metadataUrl\n ssoUrn\n ssoUrl\n }\n }\n`;\nexport const onDeleteCustomer = /* GraphQL */ `\n subscription OnDeleteCustomer {\n onDeleteCustomer {\n id\n name\n type\n createdAt\n updatedAt\n isActive\n identityProvider\n metadataUrl\n ssoUrn\n ssoUrl\n }\n }\n`;\nexport const onCreateUser = /* GraphQL */ `\n subscription OnCreateUser {\n onCreateUser {\n id\n email\n createdAt\n updatedAt\n onboarded\n sub\n customerId\n customerIds\n serviceNowId\n firstName\n lastName\n timeZone\n jobTitle\n phoneNumber\n officeLocation\n profilePhotoUrl\n isSsoUser\n groups\n identityId\n }\n }\n`;\nexport const onUpdateUser = /* GraphQL */ `\n subscription OnUpdateUser {\n onUpdateUser {\n id\n email\n createdAt\n updatedAt\n onboarded\n sub\n customerId\n customerIds\n serviceNowId\n firstName\n lastName\n timeZone\n jobTitle\n phoneNumber\n officeLocation\n profilePhotoUrl\n isSsoUser\n groups\n identityId\n }\n }\n`;\nexport const onDeleteUser = /* GraphQL */ `\n subscription OnDeleteUser {\n onDeleteUser {\n id\n email\n createdAt\n updatedAt\n onboarded\n sub\n customerId\n customerIds\n serviceNowId\n firstName\n lastName\n timeZone\n jobTitle\n phoneNumber\n officeLocation\n profilePhotoUrl\n isSsoUser\n groups\n identityId\n }\n }\n`;\nexport const onCreateNotification = /* GraphQL */ `\n subscription OnCreateNotification($sub: String!) {\n onCreateNotification(sub: $sub) {\n sub\n id\n message\n when\n isRead\n customerId\n type\n key\n createdAt\n updatedAt\n }\n }\n`;\nexport const onUpdateNotification = /* GraphQL */ `\n subscription OnUpdateNotification($sub: String!) {\n onUpdateNotification(sub: $sub) {\n sub\n id\n message\n when\n isRead\n customerId\n type\n key\n createdAt\n updatedAt\n }\n }\n`;\nexport const onDeleteNotification = /* GraphQL */ `\n subscription OnDeleteNotification($sub: String!) {\n onDeleteNotification(sub: $sub) {\n sub\n id\n message\n when\n isRead\n customerId\n type\n key\n createdAt\n updatedAt\n }\n }\n`;\n","import React, { useState } from 'react';\n\nimport { motion } from 'framer-motion';\n\n// eslint-disable-next-line import/no-named-as-default, import/no-named-as-default-member\nimport Nav from './Nav';\n\nconst LeftNav = () => {\n const [drawer, setDrawer] = useState(true);\n\n function handleSlidingDrawer() {\n setDrawer(!drawer);\n }\n\n return (\n
\n \n {/* eslint-disable-next-line react/jsx-no-bind */}\n
\n );\n};\n\nexport default LeftNav;\n","import React from 'react';\nimport { useUser } from '../context/UserContext';\nimport ImpersonationBanner from '../components/impersonationBanner/ImpersonationBanner';\n\nimport Header from '../components/header/Header';\nimport LeftNav from '../components/leftNav/LeftNav';\n\ntype Props = {\n children: React.ReactElement;\n display?: boolean;\n};\n\nconst Layout = ({ display = true, children }: Props) => {\n // @ts-expect-error TS(2339): Property 'impersonation' does not exist on type 'unknown'.\n const { isImpersonating, impersonation } = useUser();\n\n const getMainKey = () => {\n // change key on impersonated user select to force remount of component\n if (impersonation && impersonation.user) {\n return `main-${impersonation.user.email}`;\n }\n\n if (impersonation) {\n return `main-${impersonation.company}`;\n }\n\n return `main-no-impersonation`;\n };\n\n return (\n
\n {display &&
}\n\n
\n {display && }\n
\n {isImpersonating && }\n
\n
\n
\n
\n {children}\n
\n
\n
\n
\n
\n
\n
\n );\n};\n\nexport default Layout;\n","import React from 'react';\n\ntype Props = {\n className?: string;\n};\n\nconst Spinner = ({ className }: Props) => (\n \n \n \n \n \n);\n\nexport default Spinner;\n","import React, { forwardRef } from 'react';\nimport { twCascade } from '@mariusmarais/tailwind-cascade';\nimport { Spinner } from '../animations';\n\ntype Props = {\n title: string;\n type?: 'button' | 'submit';\n buttonStyle?: 'solid' | 'outline' | 'text';\n onClick?: (...args: any[]) => any;\n loading?: boolean;\n loadingTitle?: string;\n disabled?: boolean;\n classNames?: string;\n textClassNames?: string;\n loaderSize?: number;\n gradient?: 'purple' | 'orange' | 'red' | 'none';\n};\n\nconst Button = forwardRef(\n (\n {\n title,\n type = 'button',\n buttonStyle = 'outline',\n onClick,\n loading,\n loadingTitle,\n disabled,\n classNames,\n textClassNames,\n loaderSize,\n gradient = 'purple',\n },\n ref\n ) => {\n const getButtonGradientClass = () => {\n switch (gradient) {\n case 'purple':\n return 'btn-purple';\n case 'orange':\n return 'btn-orange';\n case 'red':\n return 'btn-red';\n default:\n return '';\n }\n };\n\n const getButtonStyle = () => {\n switch (buttonStyle) {\n case 'outline':\n return `btn-outline ${getButtonGradientClass()} text-base`;\n case 'solid':\n return 'rounded bg-white border-2 border-transparent w-full uppercase hover:bg-gray-200';\n case 'text':\n return 'border-2 border-transparent underline text-purple-500 hover:no-underline hover:text-purple-700';\n default:\n return '';\n }\n };\n\n return (\n \n \n {loading && loadingTitle ? loadingTitle : title}\n \n\n {loading && (\n
\n \n
\n )}\n \n );\n }\n);\n\nButton.displayName = 'Button';\n\nexport default Button;\n","/* eslint-disable jsx-a11y/click-events-have-key-events */\n/* eslint-disable jsx-a11y/no-static-element-interactions */\n\n// These are here because of the overlay needing to be clickable and a div\n\nimport React, { useEffect, useRef } from 'react';\n\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faTimes } from '@fortawesome/pro-regular-svg-icons';\nimport { twCascade } from '@mariusmarais/tailwind-cascade';\nimport { Button } from '../buttons';\n\ntype Props = {\n doShow?: boolean;\n title: React.ReactNode;\n cancel?: (...args: any[]) => any;\n cancelText?: string;\n actionText?: string;\n action?: (...args: any[]) => any;\n actionLoading?: boolean;\n actionButtonClass?: string;\n actionButtonsContainerClass?: string;\n actionDisabled?: boolean;\n otherActionText?: string;\n otherAction?: (...args: any[]) => any;\n otherActionLoading?: boolean;\n otherActionDisabled?: boolean;\n children?: React.ReactNode[] | React.ReactNode;\n canExit?: boolean;\n className?: string;\n showXButton?: boolean;\n hideCancel?: boolean;\n widthOverrides?: string;\n};\n\nconst Modal = ({\n doShow,\n title,\n cancelText = 'Cancel',\n cancel,\n actionText = 'Ok',\n action,\n actionButtonClass,\n actionButtonsContainerClass = 'justify-end',\n actionLoading,\n actionDisabled,\n otherActionText,\n otherAction,\n otherActionLoading,\n otherActionDisabled,\n children,\n canExit = true,\n className,\n showXButton = true,\n hideCancel = false,\n widthOverrides,\n}: Props) => {\n const actionButtonRef = useRef();\n\n useEffect(() => {\n const onKeyup = (e: any) => {\n const evt = e || window.event;\n let isEscape = false;\n\n if ('key' in evt) {\n isEscape = evt.key === 'Escape' || evt.key === 'Esc';\n } else {\n isEscape = evt.keyCode === 27;\n }\n if (isEscape && doShow && canExit) {\n // @ts-expect-error TS(2722): Cannot invoke an object which is possibly 'undefin... Remove this comment to see the full error message\n cancel();\n }\n };\n\n window.addEventListener('keyup', onKeyup);\n\n return () => {\n window.removeEventListener('keyup', onKeyup);\n };\n }, [cancel, doShow, canExit]);\n\n useEffect(() => {\n if (!actionButtonRef.current) {\n return;\n }\n if (actionLoading) {\n (actionButtonRef.current as any).setAttribute('disabled', 'disabled');\n } else {\n (actionButtonRef.current as any).removeAttribute('disabled');\n }\n }, [actionLoading]);\n\n return (\n \n any) | null | undefined... Remove this comment to see the full error message\n onClick={canExit ? cancel : null}\n />\n \n
\n
{title}
\n {canExit && showXButton && (\n \n \n \n )}\n
\n\n
\n
\n {children}\n
\n\n \n {!hideCancel && (actionText || otherActionText) && (\n
\n \n \n \n );\n};\n\nexport default Modal;\n","import React, { useState } from 'react';\n\nimport Modal from '../modal/Modal';\n\n// @ts-expect-error TS(2307): Cannot find module '../../assets/onboardingtour/st... Remove this comment to see the full error message\nimport TourIMG1 from '../../assets/onboardingtour/step-1.png';\n// @ts-expect-error TS(2307): Cannot find module '../../assets/onboardingtour/st... Remove this comment to see the full error message\nimport TourIMG2 from '../../assets/onboardingtour/step-2.png';\n// @ts-expect-error TS(2307): Cannot find module '../../assets/onboardingtour/st... Remove this comment to see the full error message\nimport TourIMG3 from '../../assets/onboardingtour/step-3.png';\n// @ts-expect-error TS(2307): Cannot find module '../../assets/onboardingtour/st... Remove this comment to see the full error message\nimport TourIMG4 from '../../assets/onboardingtour/step-4.png';\n\ntype Props = {\n doShow: boolean;\n cancel: (...args: any[]) => any;\n action: (...args: any[]) => any;\n};\n\nconst Tour = ({ doShow, cancel, action }: Props) => {\n const totalSteps = 4;\n const [step, setStep] = useState(1);\n const handleStepNext = () => setStep(step + 1);\n const handleStepBack = () => setStep(step - 1);\n\n const actionClick = () => {\n if (step === totalSteps) {\n return action;\n }\n\n return handleStepNext;\n };\n\n const actionText = () => {\n if (step === totalSteps) {\n return 'Finish';\n }\n\n return 'Next';\n };\n\n const otherActionClick = () => {\n if (step > 1) {\n return handleStepBack;\n }\n };\n\n const otherActionText = () => {\n if (step > 1) {\n return 'Back';\n }\n };\n\n function StepOne() {\n return (\n
\n

Join us for a quick tour

\n\n
\n
\n
Submit a Ticket
\n
\n
\n
\n

Need Assistance?

\n

\n We are here to help! Send us a request by opening a ticket under the support section of our left hand\n menu.\n

\n
\n
\n \"\"\n
\n
\n
\n
\n );\n }\n\n function StepTwo() {\n return (\n
\n
\n
\n
Send Feedback
\n
\n
\n
\n

We want to hear from you!

\n

\n Let us know how we can improve! The send feedback link is in the left hand menu.\n

\n
\n
\n \"\"\n
\n
\n
\n
\n );\n }\n\n function StepThree() {\n return (\n
\n
\n
\n
View Your Cloud Metrics
\n
\n
\n
\n

Get an overview of your cloud performance

\n

\n By clicking on the “My Cloud” link in the menu, you will be able to view your resources and see metrics\n while filtering by categories such as network traffic, cpu capacity and more.\n

\n
\n
\n \"\"\n
\n
\n
\n
\n );\n }\n\n function StepFour() {\n return (\n
\n
\n
\n
Send us a Support Ticket
\n
\n
\n
\n

Conveniently view and submit support tickets

\n

\n Click on the support section to view your open tickets and create a new ticket. From you support\n dashboard you can view ticket status and view ticket details including sending replies.\n

\n
\n
\n \"\"\n
\n
\n
\n
\n );\n }\n\n return (\n \n Welcome to Empath!\n \n }\n >\n
\n {step === 1 && }\n {step === 2 && }\n {step === 3 && }\n {step === 4 && }\n
\n \n );\n};\n\nexport default Tour;\n","import React from 'react';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faExternalLink } from '@fortawesome/pro-regular-svg-icons';\n\nconst CloudSupportEscalationPlanLink = () => (\n \n View Cloud Support Escalation Plan\n \n \n \n \n);\n\nexport default CloudSupportEscalationPlanLink;\n","/* eslint-disable */\n// this is an auto generated file. This will be overwritten\n\nexport const updateTicket = /* GraphQL */ `\n mutation UpdateTicket(\n $params: MutationUpdateTicketParamsInput!\n $query: MutationUpdateTicketQueryInput\n $body: MutationUpdateTicketBodyInput\n ) {\n updateTicket(params: $params, query: $query, body: $body) {\n id\n number\n category\n subject\n customerId\n state\n openedAt\n createdOn\n updatedOn\n data\n attachments\n }\n }\n`;\nexport const createTicket = /* GraphQL */ `\n mutation CreateTicket(\n $params: MutationCreateTicketParamsInput!\n $query: MutationCreateTicketQueryInput\n $body: MutationCreateTicketBodyInput\n ) {\n createTicket(params: $params, query: $query, body: $body) {\n id\n number\n category\n subject\n customerId\n state\n openedAt\n createdOn\n updatedOn\n data\n attachments\n }\n }\n`;\nexport const createTicketComment = /* GraphQL */ `\n mutation CreateTicketComment(\n $params: MutationCreateTicketCommentParamsInput!\n $query: MutationCreateTicketCommentQueryInput\n $body: MutationCreateTicketCommentBodyInput\n ) {\n createTicketComment(params: $params, query: $query, body: $body) {\n items {\n id\n comment\n createdOn\n createdBy\n }\n attachments {\n id\n key\n fileName\n hash\n }\n token\n }\n }\n`;\nexport const adminResetPassword = /* GraphQL */ `\n mutation AdminResetPassword($params: MutationAdminResetPasswordParamsInput!) {\n adminResetPassword(params: $params) {\n data\n code\n message\n name\n }\n }\n`;\nexport const updateCognitoUser = /* GraphQL */ `\n mutation UpdateCognitoUser(\n $params: MutationUpdateCognitoUserParamsInput!\n $query: MutationUpdateCognitoUserQueryInput\n $body: MutationUpdateCognitoUserBodyInput\n ) {\n updateCognitoUser(params: $params, query: $query, body: $body) {\n Username\n UserAttributes {\n Name\n Value\n }\n UserCreateDate\n UserLastModifiedDate\n Enabled\n UserStatus\n MFAOptions {\n DeliveryMedium\n AttributeName\n }\n PreferredMfaSetting\n UserMFASettingList\n groups\n lastName\n firstName\n id\n email\n sub\n }\n }\n`;\nexport const updateEmpathUser = /* GraphQL */ `\n mutation UpdateEmpathUser(\n $params: MutationUpdateEmpathUserParamsInput!\n $query: MutationUpdateEmpathUserQueryInput\n $body: MutationUpdateEmpathUserBodyInput\n ) {\n updateEmpathUser(params: $params, query: $query, body: $body) {\n id\n email\n sub\n customerId\n customerIds\n serviceNowId\n groups\n firstName\n lastName\n timeZone\n jobTitle\n phoneNumber\n phoneNumber2\n officeLocation\n profilePhotoUrl\n isSsoUser\n onboarded\n canApproveChangeRequest\n dashboardSettings\n }\n }\n`;\nexport const deleteEmpathUser = /* GraphQL */ `\n mutation DeleteEmpathUser(\n $params: MutationDeleteEmpathUserParamsInput!\n $body: MutationDeleteEmpathUserBodyInput\n ) {\n deleteEmpathUser(params: $params, body: $body) {\n data\n code\n message\n name\n }\n }\n`;\nexport const addEmpathUser = /* GraphQL */ `\n mutation AddEmpathUser(\n $query: MutationAddEmpathUserQueryInput\n $body: MutationAddEmpathUserBodyInput\n ) {\n addEmpathUser(query: $query, body: $body) {\n id\n email\n sub\n customerId\n customerIds\n serviceNowId\n groups\n firstName\n lastName\n timeZone\n jobTitle\n phoneNumber\n phoneNumber2\n officeLocation\n profilePhotoUrl\n isSsoUser\n onboarded\n canApproveChangeRequest\n }\n }\n`;\nexport const sendTemplatedEmail = /* GraphQL */ `\n mutation SendTemplatedEmail(\n $query: MutationSendTemplatedEmailQueryInput\n $body: MutationSendTemplatedEmailBodyInput\n ) {\n sendTemplatedEmail(query: $query, body: $body) {\n data\n code\n message\n name\n }\n }\n`;\nexport const setupSso = /* GraphQL */ `\n mutation SetupSso(\n $query: MutationSetupSsoQueryInput\n $body: MutationSetupSsoBodyInput\n ) {\n setupSso(query: $query, body: $body) {\n data\n code\n message\n name\n }\n }\n`;\nexport const validateSso = /* GraphQL */ `\n mutation ValidateSso(\n $query: MutationValidateSsoQueryInput\n $body: MutationValidateSsoBodyInput\n ) {\n validateSso(query: $query, body: $body) {\n data\n code\n message\n name\n }\n }\n`;\nexport const changeSso = /* GraphQL */ `\n mutation ChangeSso(\n $query: MutationChangeSsoQueryInput\n $body: MutationChangeSsoBodyInput\n ) {\n changeSso(query: $query, body: $body) {\n data\n code\n message\n name\n }\n }\n`;\nexport const deleteCognitoUser = /* GraphQL */ `\n mutation DeleteCognitoUser($params: MutationDeleteCognitoUserParamsInput!) {\n deleteCognitoUser(params: $params) {\n data\n code\n message\n name\n }\n }\n`;\nexport const createInventory = /* GraphQL */ `\n mutation CreateInventory(\n $input: CreateInventoryInput!\n $condition: ModelInventoryConditionInput\n ) {\n createInventory(input: $input, condition: $condition) {\n id\n customerId\n account\n region\n service\n resource\n workload\n data\n createdAt\n updatedAt\n }\n }\n`;\nexport const updateInventory = /* GraphQL */ `\n mutation UpdateInventory(\n $input: UpdateInventoryInput!\n $condition: ModelInventoryConditionInput\n ) {\n updateInventory(input: $input, condition: $condition) {\n id\n customerId\n account\n region\n service\n resource\n workload\n data\n createdAt\n updatedAt\n }\n }\n`;\nexport const deleteInventory = /* GraphQL */ `\n mutation DeleteInventory(\n $input: DeleteInventoryInput!\n $condition: ModelInventoryConditionInput\n ) {\n deleteInventory(input: $input, condition: $condition) {\n id\n customerId\n account\n region\n service\n resource\n workload\n data\n createdAt\n updatedAt\n }\n }\n`;\nexport const createCustomer = /* GraphQL */ `\n mutation CreateCustomer(\n $input: CreateCustomerInput!\n $condition: ModelCustomerConditionInput\n ) {\n createCustomer(input: $input, condition: $condition) {\n id\n name\n type\n createdAt\n updatedAt\n isActive\n identityProvider\n metadataUrl\n ssoUrn\n ssoUrl\n }\n }\n`;\nexport const updateCustomer = /* GraphQL */ `\n mutation UpdateCustomer(\n $input: UpdateCustomerInput!\n $condition: ModelCustomerConditionInput\n ) {\n updateCustomer(input: $input, condition: $condition) {\n id\n name\n createdAt\n updatedAt\n isActive\n identityProvider\n metadataUrl\n ssoUrn\n ssoUrl\n featureFlags {\n supportOnly\n resaleOnly\n mcm\n vmc\n }\n }\n }\n`;\nexport const deleteCustomer = /* GraphQL */ `\n mutation DeleteCustomer(\n $input: DeleteCustomerInput!\n $condition: ModelCustomerConditionInput\n ) {\n deleteCustomer(input: $input, condition: $condition) {\n id\n name\n type\n createdAt\n updatedAt\n isActive\n identityProvider\n metadataUrl\n ssoUrn\n ssoUrl\n }\n }\n`;\nexport const createUser = /* GraphQL */ `\n mutation CreateUser(\n $input: CreateUserInput!\n $condition: ModelUserConditionInput\n ) {\n createUser(input: $input, condition: $condition) {\n id\n email\n createdAt\n updatedAt\n onboarded\n sub\n customerId\n customerIds\n serviceNowId\n firstName\n lastName\n timeZone\n jobTitle\n phoneNumber\n phoneNumber2\n officeLocation\n profilePhotoUrl\n isSsoUser\n groups\n identityId\n canApproveChangeRequest\n }\n }\n`;\nexport const updateUser = /* GraphQL */ `\n mutation UpdateUser(\n $input: UpdateUserInput!\n $condition: ModelUserConditionInput\n ) {\n updateUser(input: $input, condition: $condition) {\n id\n email\n createdAt\n updatedAt\n onboarded\n sub\n customerId\n customerIds\n serviceNowId\n firstName\n lastName\n timeZone\n jobTitle\n phoneNumber\n phoneNumber2\n officeLocation\n profilePhotoUrl\n isSsoUser\n groups\n identityId\n canApproveChangeRequest\n dashboardSettings\n }\n }\n`;\nexport const deleteUser = /* GraphQL */ `\n mutation DeleteUser(\n $input: DeleteUserInput!\n $condition: ModelUserConditionInput\n ) {\n deleteUser(input: $input, condition: $condition) {\n id\n email\n createdAt\n updatedAt\n onboarded\n sub\n customerId\n customerIds\n serviceNowId\n firstName\n lastName\n timeZone\n jobTitle\n phoneNumber\n phoneNumber2\n officeLocation\n profilePhotoUrl\n isSsoUser\n groups\n identityId\n canApproveChangeRequest\n }\n }\n`;\n\nexport const addTeamMember = /* GraphQL */ `\n mutation AddTeamMember(\n $customerId: String!\n $body: MutationAddMyTeamMemberBodyInput\n ) {\n addTeamMember(customerId: $customerId, body: $body) {\n myTeam {\n includePhone\n isPrimary\n role\n teamMemberId\n }\n createdAt\n customerId\n updatedAt\n }\n }\n`;\n\nexport const deleteTeamMember = /* GraphQL */ `\n mutation DeleteTeamMember(\n $customerId: String!\n $teamMemberId: String!\n ) {\n deleteTeamMember(customerId: $customerId, teamMemberId: $teamMemberId) {\n myTeam {\n includePhone\n isPrimary\n role\n teamMemberId\n }\n createdAt\n customerId\n updatedAt\n }\n }\n`;\n\n\nexport const updateTeamMember = /* GraphQL */ `\n mutation UpdateTeamMember(\n $customerId: String!\n $teamMemberId: String!\n $body: MutationUpdateMyTeamMemberBodyInput\n ) {\n updateTeamMember(customerId: $customerId, teamMemberId: $teamMemberId, body: $body) {\n myTeam {\n includePhone\n isPrimary\n role\n teamMemberId\n }\n createdAt\n customerId\n updatedAt\n }\n }\n`;\n","import React, { createContext, useContext, useMemo } from 'react';\nimport { ISiteSettings } from '../models';\n\n// @ts-expect-error TS(2554): Expected 1 arguments, but got 0.\nconst SiteContext = createContext();\n\ntype SiteProviderProps = {\n children: React.ReactElement;\n servicesStatus: ISiteSettings | null;\n};\n\nconst SiteProvider = ({ children, servicesStatus }: SiteProviderProps) => {\n const status = useMemo(() => ({ servicesStatus: servicesStatus || {} }), []);\n\n return {children};\n};\n\nconst useSite = () => useContext(SiteContext);\n\nexport default SiteContext;\n\nexport { SiteProvider, useSite };\n","export default (value: any): value is HTMLElement =>\n value instanceof HTMLElement;\n","import { ValidationMode } from './types';\n\nexport const EVENTS = {\n BLUR: 'blur',\n CHANGE: 'change',\n INPUT: 'input',\n};\n\nexport const VALIDATION_MODE: ValidationMode = {\n onBlur: 'onBlur',\n onChange: 'onChange',\n onSubmit: 'onSubmit',\n onTouched: 'onTouched',\n all: 'all',\n};\n\nexport const SELECT = 'select';\n\nexport const UNDEFINED = 'undefined';\n\nexport const INPUT_VALIDATION_RULES = {\n max: 'max',\n min: 'min',\n maxLength: 'maxLength',\n minLength: 'minLength',\n pattern: 'pattern',\n required: 'required',\n validate: 'validate',\n};\n","export default (value: unknown): value is null | undefined => value == null;\n","import isNullOrUndefined from './isNullOrUndefined';\n\nexport const isObjectType = (value: unknown) => typeof value === 'object';\n\nexport default (value: unknown): value is T =>\n !isNullOrUndefined(value) &&\n !Array.isArray(value) &&\n isObjectType(value) &&\n !(value instanceof Date);\n","export default (value: string) => /^\\w*$/.test(value);\n","export default (value: any[]) => value.filter(Boolean);\n","import compact from './compact';\n\nexport default (input: string): string[] =>\n compact(\n input\n .replace(/[\"|']/g, '')\n .replace(/\\[/g, '.')\n .replace(/\\]/g, '')\n .split('.'),\n );\n","import isObject from './isObject';\nimport isKey from './isKey';\nimport stringToPath from './stringToPath';\nimport { FieldValues } from '../types';\n\nexport default function set(\n object: FieldValues,\n path: string,\n value?: unknown,\n) {\n let index = -1;\n const tempPath = isKey(path) ? [path] : stringToPath(path);\n const length = tempPath.length;\n const lastIndex = length - 1;\n\n while (++index < length) {\n const key = tempPath[index];\n let newValue = value;\n\n if (index !== lastIndex) {\n const objValue = object[key];\n newValue =\n isObject(objValue) || Array.isArray(objValue)\n ? objValue\n : !isNaN(+tempPath[index + 1])\n ? []\n : {};\n }\n object[key] = newValue;\n object = object[key];\n }\n return object;\n}\n","import set from '../utils/set';\nimport isKey from '../utils/isKey';\nimport { FieldValues } from '../types';\n\nexport default (data: FieldValues, value: Record = {}): any => {\n for (const key in data) {\n !isKey(key) ? set(value, key, data[key]) : (value[key] = data[key]);\n }\n return value;\n};\n","export default (val: unknown): val is undefined => val === undefined;\n","import isUndefined from './isUndefined';\nimport isNullOrUndefined from './isNullOrUndefined';\nimport compact from './compact';\n\nexport default (obj: any = {}, path: string, defaultValue?: unknown) => {\n const result = compact(path.split(/[,[\\].]+?/)).reduce(\n (result, key) => (isNullOrUndefined(result) ? result : result[key]),\n obj,\n );\n\n return isUndefined(result) || result === obj\n ? isUndefined(obj[path])\n ? defaultValue\n : obj[path]\n : result;\n};\n","import isHTMLElement from '../utils/isHTMLElement';\nimport { EVENTS } from '../constants';\nimport { Ref } from '../types';\n\nexport default (\n ref: Ref,\n validateWithStateUpdate: EventListenerOrEventListenerObject,\n): void => {\n if (isHTMLElement(ref) && ref.removeEventListener) {\n ref.removeEventListener(EVENTS.INPUT, validateWithStateUpdate);\n ref.removeEventListener(EVENTS.CHANGE, validateWithStateUpdate);\n ref.removeEventListener(EVENTS.BLUR, validateWithStateUpdate);\n }\n};\n","import { RadioOrCheckboxOption } from '../types';\n\ntype RadioFieldResult = {\n isValid: boolean;\n value: number | string | null;\n};\n\nconst defaultReturn: RadioFieldResult = {\n isValid: false,\n value: null,\n};\n\nexport default (options?: RadioOrCheckboxOption[]): RadioFieldResult =>\n Array.isArray(options)\n ? options.reduce(\n (previous, option): RadioFieldResult =>\n option && option.ref.checked\n ? {\n isValid: true,\n value: option.ref.value,\n }\n : previous,\n defaultReturn,\n )\n : defaultReturn;\n","export default (\n options: HTMLOptionElement[] | HTMLOptionsCollection,\n): string[] =>\n [...options]\n .filter(({ selected }): boolean => selected)\n .map(({ value }): string => value);\n","import { FieldElement } from '../types';\n\nexport default (element: FieldElement): element is HTMLInputElement =>\n element.type === 'radio';\n","import { FieldElement } from '../types';\n\nexport default (element: FieldElement): element is HTMLInputElement =>\n element.type === 'file';\n","import { FieldElement } from '../types';\n\nexport default (element: FieldElement): element is HTMLInputElement =>\n element.type === 'checkbox';\n","import { FieldElement } from '../types';\nimport { SELECT } from '../constants';\n\nexport default (element: FieldElement): element is HTMLSelectElement =>\n element.type === `${SELECT}-multiple`;\n","import isUndefined from '../utils/isUndefined';\nimport { RadioOrCheckboxOption } from '../types';\n\ntype CheckboxFieldResult = {\n isValid: boolean;\n value: string | string[] | boolean;\n};\n\nconst defaultResult: CheckboxFieldResult = {\n value: false,\n isValid: false,\n};\n\nconst validResult = { value: true, isValid: true };\n\nexport default (options?: RadioOrCheckboxOption[]): CheckboxFieldResult => {\n if (Array.isArray(options)) {\n if (options.length > 1) {\n const values = options\n .filter((option) => option && option.ref.checked)\n .map(({ ref: { value } }) => value);\n return { value: values, isValid: !!values.length };\n }\n\n const { checked, value, attributes } = options[0].ref;\n\n return checked\n ? attributes && !isUndefined((attributes as any).value)\n ? isUndefined(value) || value === ''\n ? validResult\n : { value: value, isValid: true }\n : validResult\n : defaultResult;\n }\n\n return defaultResult;\n};\n","import * as React from 'react';\nimport getRadioValue from './getRadioValue';\nimport getMultipleSelectValue from './getMultipleSelectValue';\nimport isRadioInput from '../utils/isRadioInput';\nimport get from '../utils/get';\nimport isFileInput from '../utils/isFileInput';\nimport isCheckBox from '../utils/isCheckBoxInput';\nimport isMultipleSelect from '../utils/isMultipleSelect';\nimport getCheckboxValue from './getCheckboxValue';\nimport { FieldRefs, FieldValues, InternalFieldName } from '../types';\n\nexport default function getFieldValue(\n fieldsRef: React.MutableRefObject>,\n name: InternalFieldName,\n shallowFieldsStateRef?: React.MutableRefObject>,\n excludeDisabled?: boolean,\n shouldKeepRawValue?: boolean,\n) {\n const field = fieldsRef.current[name]!;\n\n if (field) {\n const {\n ref: { value, disabled },\n ref,\n valueAsNumber,\n valueAsDate,\n setValueAs,\n } = field;\n\n if (disabled && excludeDisabled) {\n return;\n }\n\n if (isFileInput(ref)) {\n return ref.files;\n }\n\n if (isRadioInput(ref)) {\n return getRadioValue(field.options).value;\n }\n\n if (isMultipleSelect(ref)) {\n return getMultipleSelectValue(ref.options);\n }\n\n if (isCheckBox(ref)) {\n return getCheckboxValue(field.options).value;\n }\n\n return shouldKeepRawValue\n ? value\n : valueAsNumber\n ? value === ''\n ? NaN\n : +value\n : valueAsDate\n ? (ref as HTMLInputElement).valueAsDate\n : setValueAs\n ? setValueAs(value)\n : value;\n }\n\n if (shallowFieldsStateRef) {\n return get(shallowFieldsStateRef.current, name);\n }\n}\n","import { Ref } from '../types';\n\nexport default function isDetached(element: Ref): boolean {\n if (!element) {\n return true;\n }\n\n if (\n !(element instanceof HTMLElement) ||\n element.nodeType === Node.DOCUMENT_NODE\n ) {\n return false;\n }\n\n return isDetached(element.parentNode as Ref);\n}\n","import isObject from './isObject';\nimport { EmptyObject } from '../types';\n\nexport default (value: unknown): value is EmptyObject =>\n isObject(value) && !Object.keys(value).length;\n","export default (value: unknown): value is boolean => typeof value === 'boolean';\n","import isKey from './isKey';\nimport stringToPath from './stringToPath';\nimport isEmptyObject from './isEmptyObject';\nimport isObject from './isObject';\nimport isUndefined from './isUndefined';\nimport isBoolean from './isBoolean';\n\nfunction baseGet(object: any, updatePath: (string | number)[]) {\n const length = updatePath.slice(0, -1).length;\n let index = 0;\n\n while (index < length) {\n object = isUndefined(object) ? index++ : object[updatePath[index++]];\n }\n\n return object;\n}\n\nexport default function unset(object: any, path: string) {\n const updatePath = isKey(path) ? [path] : stringToPath(path);\n const childObject =\n updatePath.length == 1 ? object : baseGet(object, updatePath);\n const key = updatePath[updatePath.length - 1];\n let previousObjRef;\n\n if (childObject) {\n delete childObject[key];\n }\n\n for (let k = 0; k < updatePath.slice(0, -1).length; k++) {\n let index = -1;\n let objectRef;\n const currentPaths = updatePath.slice(0, -(k + 1));\n const currentPathsLength = currentPaths.length - 1;\n\n if (k > 0) {\n previousObjRef = object;\n }\n\n while (++index < currentPaths.length) {\n const item = currentPaths[index];\n objectRef = objectRef ? objectRef[item] : object[item];\n\n if (\n currentPathsLength === index &&\n ((isObject(objectRef) && isEmptyObject(objectRef)) ||\n (Array.isArray(objectRef) &&\n !objectRef.filter(\n (data) =>\n (isObject(data) && !isEmptyObject(data)) || isBoolean(data),\n ).length))\n ) {\n previousObjRef ? delete previousObjRef[item] : delete object[item];\n }\n\n previousObjRef = objectRef;\n }\n }\n\n return object;\n}\n","import * as React from 'react';\nimport removeAllEventListeners from './removeAllEventListeners';\nimport getFieldValue from './getFieldValue';\nimport isRadioInput from '../utils/isRadioInput';\nimport set from '../utils/set';\nimport isCheckBoxInput from '../utils/isCheckBoxInput';\nimport isDetached from '../utils/isDetached';\nimport unset from '../utils/unset';\nimport compact from '../utils/compact';\nimport isUndefined from '../utils/isUndefined';\nimport { Field, FieldRefs, FieldValues, Ref } from '../types';\n\nconst isSameRef = (fieldValue: Field, ref: Ref) =>\n fieldValue && fieldValue.ref === ref;\n\nexport default function findRemovedFieldAndRemoveListener<\n TFieldValues extends FieldValues\n>(\n fieldsRef: React.MutableRefObject>,\n handleChange: ({ type, target }: Event) => Promise,\n field: Field,\n shallowFieldsStateRef: React.MutableRefObject,\n shouldUnregister?: boolean,\n forceDelete?: boolean,\n): void {\n const {\n ref,\n ref: { name },\n } = field;\n const fieldRef = fieldsRef.current[name] as Field;\n\n if (!shouldUnregister) {\n const value = getFieldValue(fieldsRef, name, shallowFieldsStateRef);\n\n !isUndefined(value) && set(shallowFieldsStateRef.current, name, value);\n }\n\n if (!ref.type || !fieldRef) {\n delete fieldsRef.current[name];\n return;\n }\n\n if (isRadioInput(ref) || isCheckBoxInput(ref)) {\n if (Array.isArray(fieldRef.options) && fieldRef.options.length) {\n compact(fieldRef.options).forEach((option = {}, index): void => {\n if (\n (isDetached(option.ref) && isSameRef(option, option.ref)) ||\n forceDelete\n ) {\n removeAllEventListeners(option.ref, handleChange);\n unset(fieldRef.options, `[${index}]`);\n }\n });\n\n if (fieldRef.options && !compact(fieldRef.options).length) {\n delete fieldsRef.current[name];\n }\n } else {\n delete fieldsRef.current[name];\n }\n } else if ((isDetached(ref) && isSameRef(fieldRef, ref)) || forceDelete) {\n removeAllEventListeners(ref, handleChange);\n\n delete fieldsRef.current[name];\n }\n}\n","import isNullOrUndefined from './isNullOrUndefined';\nimport { isObjectType } from './isObject';\nimport { Primitive } from '../types';\n\nexport default (value: unknown): value is Primitive =>\n isNullOrUndefined(value) || !isObjectType(value);\n","import isObject from './isObject';\nimport isPrimitive from './isPrimitive';\n\nexport function deepMerge<\n T extends Record,\n U extends Record\n>(target: T, source: U): T & U {\n if (isPrimitive(target) || isPrimitive(source)) {\n return source;\n }\n\n for (const key in source) {\n const targetValue = target[key];\n const sourceValue = source[key];\n\n try {\n target[key] =\n (isObject(targetValue) && isObject(sourceValue)) ||\n (Array.isArray(targetValue) && Array.isArray(sourceValue))\n ? deepMerge(targetValue, sourceValue)\n : sourceValue;\n } catch {}\n }\n\n return target;\n}\n","import * as React from 'react';\nimport isObject from '../utils/isObject';\nimport isPrimitive from './isPrimitive';\n\nexport default function deepEqual(\n object1: any,\n object2: any,\n isErrorObject?: boolean,\n) {\n if (\n isPrimitive(object1) ||\n isPrimitive(object2) ||\n object1 instanceof Date ||\n object2 instanceof Date\n ) {\n return object1 === object2;\n }\n\n if (!React.isValidElement(object1)) {\n const keys1 = Object.keys(object1);\n const keys2 = Object.keys(object2);\n\n if (keys1.length !== keys2.length) {\n return false;\n }\n\n for (const key of keys1) {\n const val1 = object1[key];\n\n if (!(isErrorObject && key === 'ref')) {\n const val2 = object2[key];\n\n if (\n (isObject(val1) || Array.isArray(val1)) &&\n (isObject(val2) || Array.isArray(val2))\n ? !deepEqual(val1, val2, isErrorObject)\n : val1 !== val2\n ) {\n return false;\n }\n }\n }\n }\n\n return true;\n}\n","import { get } from '../utils';\nimport set from '../utils/set';\nimport { deepMerge } from '../utils/deepMerge';\nimport deepEqual from '../utils/deepEqual';\n\nfunction setDirtyFields<\n T extends Record[],\n U extends Record[],\n K extends Record\n>(\n values: T,\n defaultValues: U,\n dirtyFields: Record[],\n parentNode?: K,\n parentName?: keyof K,\n) {\n let index = -1;\n\n while (++index < values.length) {\n for (const key in values[index]) {\n if (Array.isArray(values[index][key])) {\n !dirtyFields[index] && (dirtyFields[index] = {});\n dirtyFields[index][key] = [];\n setDirtyFields(\n values[index][key] as T,\n get(defaultValues[index] || {}, key, []),\n dirtyFields[index][key] as [],\n dirtyFields[index],\n key,\n );\n } else {\n deepEqual(get(defaultValues[index] || {}, key), values[index][key])\n ? set(dirtyFields[index] || {}, key)\n : (dirtyFields[index] = {\n ...dirtyFields[index],\n [key]: true,\n });\n }\n }\n\n parentNode &&\n !dirtyFields.length &&\n delete parentNode[parentName as keyof K];\n }\n\n return dirtyFields;\n}\n\nexport default []>(\n values: T,\n defaultValues: U,\n dirtyFields: Record[],\n) =>\n deepMerge(\n setDirtyFields(values, defaultValues, dirtyFields.slice(0, values.length)),\n setDirtyFields(defaultValues, values, dirtyFields.slice(0, values.length)),\n );\n","export default (value: unknown): value is string => typeof value === 'string';\n","import * as React from 'react';\nimport getFieldValue from './getFieldValue';\nimport isString from '../utils/isString';\nimport { deepMerge } from '../utils/deepMerge';\nimport isUndefined from '../utils/isUndefined';\nimport { InternalFieldName, FieldValues, FieldRefs } from '../types';\nimport transformToNestObject from './transformToNestObject';\n\nexport default (\n fieldsRef: React.MutableRefObject>,\n shallowFieldsState: Record,\n shouldUnregister: boolean,\n excludeDisabled?: boolean,\n search?:\n | InternalFieldName\n | InternalFieldName[]\n | { nest: boolean },\n) => {\n const output = {} as TFieldValues;\n\n for (const name in fieldsRef.current) {\n if (\n isUndefined(search) ||\n (isString(search)\n ? name.startsWith(search)\n : Array.isArray(search) && search.find((data) => name.startsWith(data)))\n ) {\n output[name as InternalFieldName] = getFieldValue(\n fieldsRef,\n name,\n undefined,\n excludeDisabled,\n );\n }\n }\n\n return shouldUnregister\n ? transformToNestObject(output)\n : deepMerge(shallowFieldsState, transformToNestObject(output));\n};\n","export default (value: unknown): value is RegExp => value instanceof RegExp;\n","import isObject from '../utils/isObject';\nimport isRegex from '../utils/isRegex';\nimport { ValidationRule } from '../types';\n\nexport default (validationData?: ValidationRule) =>\n isObject(validationData) && !isRegex(validationData)\n ? validationData\n : {\n value: validationData,\n message: '',\n };\n","export default (value: unknown): value is Function =>\n typeof value === 'function';\n","import * as React from 'react';\nimport isString from '../utils/isString';\nimport { Message } from '../types';\n\nexport default (value: unknown): value is Message =>\n isString(value) || React.isValidElement(value as JSX.Element);\n","import isBoolean from '../utils/isBoolean';\nimport isMessage from '../utils/isMessage';\nimport { FieldError, ValidateResult, Ref } from '../types';\n\nexport default function getValidateError(\n result: ValidateResult,\n ref: Ref,\n type = 'validate',\n): FieldError | void {\n if (isMessage(result) || (isBoolean(result) && !result)) {\n return {\n type,\n message: isMessage(result) ? result : '',\n ref,\n };\n }\n}\n","import {\n InternalFieldName,\n ValidateResult,\n InternalFieldErrors,\n} from '../types';\n\nexport default (\n name: InternalFieldName,\n validateAllFieldCriteria: boolean,\n errors: InternalFieldErrors,\n type: string,\n message: ValidateResult,\n) =>\n validateAllFieldCriteria\n ? {\n ...errors[name],\n types: {\n ...(errors[name] && errors[name]!.types ? errors[name]!.types : {}),\n [type]: message || true,\n },\n }\n : {};\n","import * as React from 'react';\nimport getRadioValue from './getRadioValue';\nimport getCheckboxValue from './getCheckboxValue';\nimport isNullOrUndefined from '../utils/isNullOrUndefined';\nimport isRadioInput from '../utils/isRadioInput';\nimport getValueAndMessage from './getValueAndMessage';\nimport isCheckBoxInput from '../utils/isCheckBoxInput';\nimport isString from '../utils/isString';\nimport isEmptyObject from '../utils/isEmptyObject';\nimport isObject from '../utils/isObject';\nimport isFunction from '../utils/isFunction';\nimport getFieldsValue from './getFieldValue';\nimport isRegex from '../utils/isRegex';\nimport isBoolean from '../utils/isBoolean';\nimport isMessage from '../utils/isMessage';\nimport getValidateError from './getValidateError';\nimport appendErrors from './appendErrors';\nimport { INPUT_VALIDATION_RULES } from '../constants';\nimport {\n Field,\n FieldValues,\n FieldRefs,\n Message,\n FieldError,\n InternalFieldName,\n InternalFieldErrors,\n} from '../types';\n\nexport default async (\n fieldsRef: React.MutableRefObject>,\n validateAllFieldCriteria: boolean,\n {\n ref,\n ref: { value },\n options,\n required,\n maxLength,\n minLength,\n min,\n max,\n pattern,\n validate,\n }: Field,\n shallowFieldsStateRef: React.MutableRefObject>,\n): Promise> => {\n const name: InternalFieldName = ref.name;\n const error: InternalFieldErrors = {};\n const isRadio = isRadioInput(ref);\n const isCheckBox = isCheckBoxInput(ref);\n const isRadioOrCheckbox = isRadio || isCheckBox;\n const isEmpty = value === '';\n const appendErrorsCurry = appendErrors.bind(\n null,\n name,\n validateAllFieldCriteria,\n error,\n );\n const getMinMaxMessage = (\n exceedMax: boolean,\n maxLengthMessage: Message,\n minLengthMessage: Message,\n maxType = INPUT_VALIDATION_RULES.maxLength,\n minType = INPUT_VALIDATION_RULES.minLength,\n ) => {\n const message = exceedMax ? maxLengthMessage : minLengthMessage;\n error[name] = {\n type: exceedMax ? maxType : minType,\n message,\n ref,\n ...(exceedMax\n ? appendErrorsCurry(maxType, message)\n : appendErrorsCurry(minType, message)),\n };\n };\n\n if (\n required &&\n ((!isRadio && !isCheckBox && (isEmpty || isNullOrUndefined(value))) ||\n (isBoolean(value) && !value) ||\n (isCheckBox && !getCheckboxValue(options).isValid) ||\n (isRadio && !getRadioValue(options).isValid))\n ) {\n const { value, message } = isMessage(required)\n ? { value: !!required, message: required }\n : getValueAndMessage(required);\n\n if (value) {\n error[name] = {\n type: INPUT_VALIDATION_RULES.required,\n message,\n ref: isRadioOrCheckbox\n ? (((fieldsRef.current[name] as Field).options || [])[0] || {}).ref\n : ref,\n ...appendErrorsCurry(INPUT_VALIDATION_RULES.required, message),\n };\n if (!validateAllFieldCriteria) {\n return error;\n }\n }\n }\n\n if ((!isNullOrUndefined(min) || !isNullOrUndefined(max)) && value !== '') {\n let exceedMax;\n let exceedMin;\n const maxOutput = getValueAndMessage(max);\n const minOutput = getValueAndMessage(min);\n\n if (!isNaN(value)) {\n const valueNumber =\n (ref as HTMLInputElement).valueAsNumber || parseFloat(value);\n if (!isNullOrUndefined(maxOutput.value)) {\n exceedMax = valueNumber > maxOutput.value;\n }\n if (!isNullOrUndefined(minOutput.value)) {\n exceedMin = valueNumber < minOutput.value;\n }\n } else {\n const valueDate =\n (ref as HTMLInputElement).valueAsDate || new Date(value);\n if (isString(maxOutput.value)) {\n exceedMax = valueDate > new Date(maxOutput.value);\n }\n if (isString(minOutput.value)) {\n exceedMin = valueDate < new Date(minOutput.value);\n }\n }\n\n if (exceedMax || exceedMin) {\n getMinMaxMessage(\n !!exceedMax,\n maxOutput.message,\n minOutput.message,\n INPUT_VALIDATION_RULES.max,\n INPUT_VALIDATION_RULES.min,\n );\n if (!validateAllFieldCriteria) {\n return error;\n }\n }\n }\n\n if (isString(value) && !isEmpty && (maxLength || minLength)) {\n const maxLengthOutput = getValueAndMessage(maxLength);\n const minLengthOutput = getValueAndMessage(minLength);\n const exceedMax =\n !isNullOrUndefined(maxLengthOutput.value) &&\n value.length > maxLengthOutput.value;\n const exceedMin =\n !isNullOrUndefined(minLengthOutput.value) &&\n value.length < minLengthOutput.value;\n\n if (exceedMax || exceedMin) {\n getMinMaxMessage(\n exceedMax,\n maxLengthOutput.message,\n minLengthOutput.message,\n );\n if (!validateAllFieldCriteria) {\n return error;\n }\n }\n }\n\n if (isString(value) && pattern && !isEmpty) {\n const { value: patternValue, message } = getValueAndMessage(pattern);\n\n if (isRegex(patternValue) && !patternValue.test(value)) {\n error[name] = {\n type: INPUT_VALIDATION_RULES.pattern,\n message,\n ref,\n ...appendErrorsCurry(INPUT_VALIDATION_RULES.pattern, message),\n };\n if (!validateAllFieldCriteria) {\n return error;\n }\n }\n }\n\n if (validate) {\n const fieldValue = getFieldsValue(\n fieldsRef,\n name,\n shallowFieldsStateRef,\n false,\n true,\n );\n const validateRef = isRadioOrCheckbox && options ? options[0].ref : ref;\n\n if (isFunction(validate)) {\n const result = await validate(fieldValue);\n const validateError = getValidateError(result, validateRef);\n\n if (validateError) {\n error[name] = {\n ...validateError,\n ...appendErrorsCurry(\n INPUT_VALIDATION_RULES.validate,\n validateError.message,\n ),\n };\n if (!validateAllFieldCriteria) {\n return error;\n }\n }\n } else if (isObject(validate)) {\n let validationResult = {} as FieldError;\n for (const [key, validateFunction] of Object.entries(validate)) {\n if (!isEmptyObject(validationResult) && !validateAllFieldCriteria) {\n break;\n }\n\n const validateResult = await validateFunction(fieldValue);\n const validateError = getValidateError(\n validateResult,\n validateRef,\n key,\n );\n\n if (validateError) {\n validationResult = {\n ...validateError,\n ...appendErrorsCurry(key, validateError.message),\n };\n\n if (validateAllFieldCriteria) {\n error[name] = validationResult;\n }\n }\n }\n\n if (!isEmptyObject(validationResult)) {\n error[name] = {\n ref: validateRef,\n ...validationResult,\n };\n if (!validateAllFieldCriteria) {\n return error;\n }\n }\n }\n }\n\n return error;\n};\n","import isPrimitive from './isPrimitive';\nimport isObject from './isObject';\nimport { FieldName } from '../types';\n\nexport const getPath = (\n rootPath: FieldName,\n values: any,\n paths: FieldName[] = [],\n): FieldName[] => {\n for (const property in values) {\n const rootName = (rootPath +\n (isObject(values)\n ? `.${property}`\n : `[${property}]`)) as FieldName;\n\n isPrimitive(values[property])\n ? paths.push(rootName)\n : getPath(rootName, values[property], paths);\n }\n\n return paths;\n};\n","import get from '../utils/get';\nimport { getPath } from '../utils/getPath';\nimport isEmptyObject from '../utils/isEmptyObject';\nimport isUndefined from '../utils/isUndefined';\nimport isObject from '../utils/isObject';\nimport {\n DeepPartial,\n FieldValue,\n FieldValues,\n InternalFieldName,\n UnpackNestedValue,\n} from '../types';\n\nexport default (\n fieldValues: TFieldValues,\n fieldName: InternalFieldName,\n watchFields: Set>,\n inputValue: UnpackNestedValue>,\n isSingleField?: boolean,\n):\n | FieldValue\n | UnpackNestedValue>\n | undefined => {\n let value = undefined;\n\n watchFields.add(fieldName);\n\n if (!isEmptyObject(fieldValues)) {\n value = get(fieldValues, fieldName);\n\n if (isObject(value) || Array.isArray(value)) {\n getPath(fieldName, value).forEach((name) => watchFields.add(name));\n }\n }\n\n return isUndefined(value)\n ? isSingleField\n ? inputValue\n : get(inputValue, fieldName)\n : value;\n};\n","export default ({\n isOnBlur,\n isOnChange,\n isOnTouch,\n isTouched,\n isReValidateOnBlur,\n isReValidateOnChange,\n isBlurEvent,\n isSubmitted,\n isOnAll,\n}: {\n isOnAll?: boolean;\n isOnBlur?: boolean;\n isOnChange?: boolean;\n isReValidateOnBlur?: boolean;\n isReValidateOnChange?: boolean;\n isBlurEvent?: boolean;\n isSubmitted?: boolean;\n isOnTouch?: boolean;\n isTouched?: boolean;\n}) => {\n if (isOnAll) {\n return false;\n } else if (!isSubmitted && isOnTouch) {\n return !(isTouched || isBlurEvent);\n } else if (isSubmitted ? isReValidateOnBlur : isOnBlur) {\n return !isBlurEvent;\n } else if (isSubmitted ? isReValidateOnChange : isOnChange) {\n return isBlurEvent;\n }\n return true;\n};\n","export default (name: string) => name.substring(0, name.indexOf('['));\n","import { FieldValues, InternalFieldName } from '../types';\n\nexport const isMatchFieldArrayName = (name: string, searchName: string) =>\n RegExp(\n `^${searchName}([|.)\\\\d+`.replace(/\\[/g, '\\\\[').replace(/\\]/g, '\\\\]'),\n ).test(name);\n\nexport default (\n names: Set>,\n name: InternalFieldName,\n) => [...names].some((current) => isMatchFieldArrayName(name, current));\n","import { UNDEFINED } from '../constants';\n\nexport default typeof window !== UNDEFINED && typeof document !== UNDEFINED;\n","import isPrimitive from './isPrimitive';\nimport isHTMLElement from './isHTMLElement';\nimport isWeb from './isWeb';\n\nexport default function cloneObject(data: T): T {\n let copy: any;\n\n if (\n isPrimitive(data) ||\n (isWeb && (data instanceof File || isHTMLElement(data)))\n ) {\n return data;\n }\n\n if (\n !['Set', 'Map', 'Object', 'Date', 'Array'].includes(\n (data as Object).constructor?.name,\n )\n ) {\n return data;\n }\n\n if (data instanceof Date) {\n copy = new Date(data.getTime());\n return copy;\n }\n\n if (data instanceof Set) {\n copy = new Set();\n for (const item of data) {\n copy.add(item);\n }\n return copy;\n }\n\n if (data instanceof Map) {\n copy = new Map();\n for (const key of data.keys()) {\n copy.set(key, cloneObject(data.get(key)));\n }\n return copy;\n }\n\n copy = Array.isArray(data) ? [] : {};\n\n for (const key in data) {\n copy[key] = cloneObject(data[key]);\n }\n\n return copy;\n}\n","import { VALIDATION_MODE } from '../constants';\nimport { Mode } from '../types';\n\nexport default (\n mode?: Mode,\n): {\n isOnSubmit: boolean;\n isOnBlur: boolean;\n isOnChange: boolean;\n isOnAll: boolean;\n isOnTouch: boolean;\n} => ({\n isOnSubmit: !mode || mode === VALIDATION_MODE.onSubmit,\n isOnBlur: mode === VALIDATION_MODE.onBlur,\n isOnChange: mode === VALIDATION_MODE.onChange,\n isOnAll: mode === VALIDATION_MODE.all,\n isOnTouch: mode === VALIDATION_MODE.onTouched,\n});\n","import isRadioInput from './isRadioInput';\nimport isCheckBoxInput from './isCheckBoxInput';\nimport { FieldElement } from '../types';\n\nexport default (ref: FieldElement): ref is HTMLInputElement =>\n isRadioInput(ref) || isCheckBoxInput(ref);\n","import * as React from 'react';\nimport attachEventListeners from './logic/attachEventListeners';\nimport transformToNestObject from './logic/transformToNestObject';\nimport focusOnErrorField from './logic/focusOnErrorField';\nimport findRemovedFieldAndRemoveListener from './logic/findRemovedFieldAndRemoveListener';\nimport setFieldArrayDirtyFields from './logic/setFieldArrayDirtyFields';\nimport getFieldsValues from './logic/getFieldsValues';\nimport getFieldValue from './logic/getFieldValue';\nimport isErrorStateChanged from './logic/isErrorStateChanged';\nimport validateField from './logic/validateField';\nimport assignWatchFields from './logic/assignWatchFields';\nimport skipValidation from './logic/skipValidation';\nimport getNodeParentName from './logic/getNodeParentName';\nimport deepEqual from './utils/deepEqual';\nimport isNameInFieldArray from './logic/isNameInFieldArray';\nimport isCheckBoxInput from './utils/isCheckBoxInput';\nimport isEmptyObject from './utils/isEmptyObject';\nimport isRadioInput from './utils/isRadioInput';\nimport isSelectInput from './utils/isSelectInput';\nimport isFileInput from './utils/isFileInput';\nimport onDomRemove from './utils/onDomRemove';\nimport isObject from './utils/isObject';\nimport { getPath } from './utils/getPath';\nimport isPrimitive from './utils/isPrimitive';\nimport isFunction from './utils/isFunction';\nimport isString from './utils/isString';\nimport isUndefined from './utils/isUndefined';\nimport get from './utils/get';\nimport set from './utils/set';\nimport unset from './utils/unset';\nimport isKey from './utils/isKey';\nimport cloneObject from './utils/cloneObject';\nimport modeChecker from './utils/validationModeChecker';\nimport isMultipleSelect from './utils/isMultipleSelect';\nimport compact from './utils/compact';\nimport isNullOrUndefined from './utils/isNullOrUndefined';\nimport isRadioOrCheckboxFunction from './utils/isRadioOrCheckbox';\nimport isWeb from './utils/isWeb';\nimport isHTMLElement from './utils/isHTMLElement';\nimport { EVENTS, UNDEFINED, VALIDATION_MODE } from './constants';\nimport {\n UseFormMethods,\n FieldValues,\n UnpackNestedValue,\n FieldName,\n InternalFieldName,\n FieldErrors,\n Field,\n FieldRefs,\n UseFormOptions,\n RegisterOptions,\n SubmitHandler,\n FieldElement,\n FormStateProxy,\n ReadFormState,\n Ref,\n HandleChange,\n RadioOrCheckboxOption,\n OmitResetState,\n SetValueConfig,\n ErrorOption,\n FormState,\n SubmitErrorHandler,\n FieldNamesMarkedBoolean,\n LiteralToPrimitive,\n DeepPartial,\n InternalNameSet,\n DefaultValues,\n FieldError,\n SetFieldValue,\n FieldArrayDefaultValues,\n ResetFieldArrayFunctionRef,\n UseWatchRenderFunctions,\n RecordInternalNameSet,\n} from './types';\n\nconst isWindowUndefined = typeof window === UNDEFINED;\nconst isProxyEnabled = isWeb ? 'Proxy' in window : typeof Proxy !== UNDEFINED;\n\nexport function useForm<\n TFieldValues extends FieldValues = FieldValues,\n TContext extends object = object\n>({\n mode = VALIDATION_MODE.onSubmit,\n reValidateMode = VALIDATION_MODE.onChange,\n resolver,\n context,\n defaultValues = {} as DefaultValues,\n shouldFocusError = true,\n shouldUnregister = true,\n criteriaMode,\n}: UseFormOptions = {}): UseFormMethods {\n const fieldsRef = React.useRef>({});\n const fieldArrayDefaultValuesRef = React.useRef({});\n const fieldArrayValuesRef = React.useRef({});\n const watchFieldsRef = React.useRef>(new Set());\n const useWatchFieldsRef = React.useRef>(\n {},\n );\n const useWatchRenderFunctionsRef = React.useRef({});\n const fieldsWithValidationRef = React.useRef<\n FieldNamesMarkedBoolean\n >({});\n const validFieldsRef = React.useRef>(\n {},\n );\n const defaultValuesRef = React.useRef>(\n defaultValues,\n );\n const isUnMount = React.useRef(false);\n const isWatchAllRef = React.useRef(false);\n const handleChangeRef = React.useRef();\n const shallowFieldsStateRef = React.useRef({});\n const resetFieldArrayFunctionRef = React.useRef<\n ResetFieldArrayFunctionRef\n >({});\n const contextRef = React.useRef(context);\n const resolverRef = React.useRef(resolver);\n const fieldArrayNamesRef = React.useRef>(\n new Set(),\n );\n const modeRef = React.useRef(modeChecker(mode));\n const { isOnSubmit, isOnTouch } = modeRef.current;\n const isValidateAllFieldCriteria = criteriaMode === VALIDATION_MODE.all;\n const [formState, setFormState] = React.useState>({\n isDirty: false,\n isValidating: false,\n dirtyFields: {},\n isSubmitted: false,\n submitCount: 0,\n touched: {},\n isSubmitting: false,\n isSubmitSuccessful: false,\n isValid: !isOnSubmit,\n errors: {},\n });\n const readFormStateRef = React.useRef({\n isDirty: !isProxyEnabled,\n dirtyFields: !isProxyEnabled,\n touched: !isProxyEnabled || isOnTouch,\n isValidating: !isProxyEnabled,\n isSubmitting: !isProxyEnabled,\n isValid: !isProxyEnabled,\n });\n const formStateRef = React.useRef(formState);\n const observerRef = React.useRef();\n const {\n isOnBlur: isReValidateOnBlur,\n isOnChange: isReValidateOnChange,\n } = React.useRef(modeChecker(reValidateMode)).current;\n\n contextRef.current = context;\n resolverRef.current = resolver;\n formStateRef.current = formState;\n shallowFieldsStateRef.current = shouldUnregister\n ? {}\n : isEmptyObject(shallowFieldsStateRef.current)\n ? cloneObject(defaultValues)\n : shallowFieldsStateRef.current;\n\n const updateFormState = React.useCallback(\n (state: Partial> = {}) => {\n if (!isUnMount.current) {\n formStateRef.current = {\n ...formStateRef.current,\n ...state,\n };\n setFormState(formStateRef.current);\n }\n },\n [],\n );\n\n const updateIsValidating = () =>\n readFormStateRef.current.isValidating &&\n updateFormState({\n isValidating: true,\n });\n\n const shouldRenderBaseOnError = React.useCallback(\n (\n name: InternalFieldName,\n error: FieldError | undefined,\n shouldRender: boolean | null = false,\n state: {\n dirtyFields?: FieldNamesMarkedBoolean;\n isDirty?: boolean;\n touched?: FieldNamesMarkedBoolean;\n } = {},\n isValid?: boolean,\n ): boolean | void => {\n let shouldReRender =\n shouldRender ||\n isErrorStateChanged({\n errors: formStateRef.current.errors,\n error,\n name,\n validFields: validFieldsRef.current,\n fieldsWithValidation: fieldsWithValidationRef.current,\n });\n const previousError = get(formStateRef.current.errors, name);\n\n if (error) {\n unset(validFieldsRef.current, name);\n shouldReRender =\n shouldReRender ||\n !previousError ||\n !deepEqual(previousError, error, true);\n set(formStateRef.current.errors, name, error);\n } else {\n if (get(fieldsWithValidationRef.current, name) || resolverRef.current) {\n set(validFieldsRef.current, name, true);\n shouldReRender = shouldReRender || previousError;\n }\n\n unset(formStateRef.current.errors, name);\n }\n\n if (\n (shouldReRender && !isNullOrUndefined(shouldRender)) ||\n !isEmptyObject(state) ||\n readFormStateRef.current.isValidating\n ) {\n updateFormState({\n ...state,\n ...(resolverRef.current ? { isValid: !!isValid } : {}),\n isValidating: false,\n });\n }\n },\n [],\n );\n\n const setFieldValue = React.useCallback(\n (name: FieldName, rawValue: SetFieldValue) => {\n const { ref, options } = fieldsRef.current[name] as Field;\n const value =\n isWeb && isHTMLElement(ref) && isNullOrUndefined(rawValue)\n ? ''\n : rawValue;\n\n if (isRadioInput(ref)) {\n (options || []).forEach(\n ({ ref: radioRef }: { ref: HTMLInputElement }) =>\n (radioRef.checked = radioRef.value === value),\n );\n } else if (isFileInput(ref) && !isString(value)) {\n ref.files = value as FileList;\n } else if (isMultipleSelect(ref)) {\n [...ref.options].forEach(\n (selectRef) =>\n (selectRef.selected = (value as string[]).includes(\n selectRef.value,\n )),\n );\n } else if (isCheckBoxInput(ref) && options) {\n options.length > 1\n ? options.forEach(\n ({ ref: checkboxRef }) =>\n (checkboxRef.checked = Array.isArray(value)\n ? !!(value as []).find(\n (data: string) => data === checkboxRef.value,\n )\n : value === checkboxRef.value),\n )\n : (options[0].ref.checked = !!value);\n } else {\n ref.value = value;\n }\n },\n [],\n );\n\n const isFormDirty = React.useCallback(\n (name?: string, data?: unknown[]): boolean => {\n if (readFormStateRef.current.isDirty) {\n const formValues = getValues();\n\n name && data && set(formValues, name, data);\n\n return !deepEqual(formValues, defaultValuesRef.current);\n }\n\n return false;\n },\n [],\n );\n\n const updateAndGetDirtyState = React.useCallback(\n (\n name: InternalFieldName,\n shouldRender = true,\n ): Partial<\n Pick, 'dirtyFields' | 'isDirty' | 'touched'>\n > => {\n if (\n readFormStateRef.current.isDirty ||\n readFormStateRef.current.dirtyFields\n ) {\n const isFieldDirty = !deepEqual(\n get(defaultValuesRef.current, name),\n getFieldValue(fieldsRef, name, shallowFieldsStateRef),\n );\n const isDirtyFieldExist = get(formStateRef.current.dirtyFields, name);\n const previousIsDirty = formStateRef.current.isDirty;\n\n isFieldDirty\n ? set(formStateRef.current.dirtyFields, name, true)\n : unset(formStateRef.current.dirtyFields, name);\n\n const state = {\n isDirty: isFormDirty(),\n dirtyFields: formStateRef.current.dirtyFields,\n };\n\n const isChanged =\n (readFormStateRef.current.isDirty &&\n previousIsDirty !== state.isDirty) ||\n (readFormStateRef.current.dirtyFields &&\n isDirtyFieldExist !== get(formStateRef.current.dirtyFields, name));\n\n isChanged && shouldRender && updateFormState(state);\n\n return isChanged ? state : {};\n }\n\n return {};\n },\n [],\n );\n\n const executeValidation = React.useCallback(\n async (\n name: InternalFieldName,\n skipReRender?: boolean | null,\n ): Promise => {\n if (process.env.NODE_ENV !== 'production') {\n if (!fieldsRef.current[name]) {\n console.warn('📋 Field is missing with `name` attribute: ', name);\n return false;\n }\n }\n\n const error = (\n await validateField(\n fieldsRef,\n isValidateAllFieldCriteria,\n fieldsRef.current[name] as Field,\n shallowFieldsStateRef,\n )\n )[name];\n\n shouldRenderBaseOnError(name, error, skipReRender);\n\n return isUndefined(error);\n },\n [shouldRenderBaseOnError, isValidateAllFieldCriteria],\n );\n\n const executeSchemaOrResolverValidation = React.useCallback(\n async (\n names:\n | InternalFieldName\n | InternalFieldName[],\n ) => {\n const { errors } = await resolverRef.current!(\n getValues(),\n contextRef.current,\n isValidateAllFieldCriteria,\n );\n const previousFormIsValid = formStateRef.current.isValid;\n\n if (Array.isArray(names)) {\n const isInputsValid = names\n .map((name) => {\n const error = get(errors, name);\n\n error\n ? set(formStateRef.current.errors, name, error)\n : unset(formStateRef.current.errors, name);\n\n return !error;\n })\n .every(Boolean);\n\n updateFormState({\n isValid: isEmptyObject(errors),\n isValidating: false,\n });\n\n return isInputsValid;\n } else {\n const error = get(errors, names);\n\n shouldRenderBaseOnError(\n names,\n error,\n previousFormIsValid !== isEmptyObject(errors),\n {},\n isEmptyObject(errors),\n );\n\n return !error;\n }\n },\n [shouldRenderBaseOnError, isValidateAllFieldCriteria],\n );\n\n const trigger = React.useCallback(\n async (\n name?: FieldName | FieldName[],\n ): Promise => {\n const fields = name || Object.keys(fieldsRef.current);\n\n updateIsValidating();\n\n if (resolverRef.current) {\n return executeSchemaOrResolverValidation(fields);\n }\n\n if (Array.isArray(fields)) {\n !name && (formStateRef.current.errors = {});\n const result = await Promise.all(\n fields.map(async (data) => await executeValidation(data, null)),\n );\n updateFormState({\n isValidating: false,\n });\n return result.every(Boolean);\n }\n\n return await executeValidation(fields);\n },\n [executeSchemaOrResolverValidation, executeValidation],\n );\n\n const setInternalValues = React.useCallback(\n (\n name: FieldName,\n value: SetFieldValue,\n { shouldDirty, shouldValidate }: SetValueConfig,\n ) => {\n const data = {};\n set(data, name, value);\n\n for (const fieldName of getPath(name, value)) {\n if (fieldsRef.current[fieldName]) {\n setFieldValue(fieldName, get(data, fieldName));\n shouldDirty && updateAndGetDirtyState(fieldName);\n shouldValidate && trigger(fieldName as FieldName);\n }\n }\n },\n [trigger, setFieldValue, updateAndGetDirtyState],\n );\n\n const setInternalValue = React.useCallback(\n (\n name: FieldName,\n value: SetFieldValue,\n config: SetValueConfig,\n ) => {\n !shouldUnregister &&\n !isPrimitive(value) &&\n set(\n shallowFieldsStateRef.current,\n name,\n Array.isArray(value) ? [...value] : { ...value },\n );\n\n if (fieldsRef.current[name]) {\n setFieldValue(name, value);\n config.shouldDirty && updateAndGetDirtyState(name);\n config.shouldValidate && trigger(name as any);\n } else if (!isPrimitive(value)) {\n setInternalValues(name, value, config);\n\n if (fieldArrayNamesRef.current.has(name)) {\n const parentName = getNodeParentName(name) || name;\n set(fieldArrayDefaultValuesRef.current, name, value);\n\n resetFieldArrayFunctionRef.current[parentName]({\n [parentName]: get(fieldArrayDefaultValuesRef.current, parentName),\n } as UnpackNestedValue>);\n\n if (\n (readFormStateRef.current.isDirty ||\n readFormStateRef.current.dirtyFields) &&\n config.shouldDirty\n ) {\n set(\n formStateRef.current.dirtyFields,\n name,\n setFieldArrayDirtyFields(\n value,\n get(defaultValuesRef.current, name, []),\n get(formStateRef.current.dirtyFields, name, []),\n ),\n );\n\n updateFormState({\n isDirty: !deepEqual(\n { ...getValues(), [name]: value },\n defaultValuesRef.current,\n ),\n });\n }\n }\n }\n\n !shouldUnregister && set(shallowFieldsStateRef.current, name, value);\n },\n [updateAndGetDirtyState, setFieldValue, setInternalValues],\n );\n\n const isFieldWatched = >(name: T) =>\n isWatchAllRef.current ||\n watchFieldsRef.current.has(name) ||\n watchFieldsRef.current.has((name.match(/\\w+/) || [])[0]);\n\n const renderWatchedInputs = >(\n name: T,\n ): boolean => {\n let found = true;\n\n if (!isEmptyObject(useWatchFieldsRef.current)) {\n for (const key in useWatchFieldsRef.current) {\n if (\n !name ||\n !useWatchFieldsRef.current[key].size ||\n useWatchFieldsRef.current[key].has(name) ||\n useWatchFieldsRef.current[key].has(getNodeParentName(name))\n ) {\n useWatchRenderFunctionsRef.current[key]();\n found = false;\n }\n }\n }\n\n return found;\n };\n\n function setValue(\n name: FieldName,\n value: SetFieldValue,\n config?: SetValueConfig,\n ): void {\n setInternalValue(name, value, config || {});\n isFieldWatched(name) && updateFormState();\n renderWatchedInputs(name);\n }\n\n handleChangeRef.current = handleChangeRef.current\n ? handleChangeRef.current\n : async ({ type, target }: Event): Promise => {\n let name = (target as Ref)!.name;\n const field = fieldsRef.current[name];\n let error;\n let isValid;\n\n if (field) {\n const isBlurEvent = type === EVENTS.BLUR;\n const shouldSkipValidation = skipValidation({\n isBlurEvent,\n isReValidateOnChange,\n isReValidateOnBlur,\n isTouched: !!get(formStateRef.current.touched, name),\n isSubmitted: formStateRef.current.isSubmitted,\n ...modeRef.current,\n });\n let state = updateAndGetDirtyState(name, false);\n let shouldRender =\n !isEmptyObject(state) ||\n (!isBlurEvent && isFieldWatched(name as FieldName));\n\n if (\n isBlurEvent &&\n !get(formStateRef.current.touched, name) &&\n readFormStateRef.current.touched\n ) {\n set(formStateRef.current.touched, name, true);\n state = {\n ...state,\n touched: formStateRef.current.touched,\n };\n }\n\n if (!shouldUnregister && isCheckBoxInput(target as Ref)) {\n set(\n shallowFieldsStateRef.current,\n name,\n getFieldValue(fieldsRef, name),\n );\n }\n\n if (shouldSkipValidation) {\n !isBlurEvent && renderWatchedInputs(name);\n return (\n (!isEmptyObject(state) ||\n (shouldRender && isEmptyObject(state))) &&\n updateFormState(state)\n );\n }\n\n updateIsValidating();\n\n if (resolverRef.current) {\n const { errors } = await resolverRef.current(\n getValues(),\n contextRef.current,\n isValidateAllFieldCriteria,\n );\n const previousFormIsValid = formStateRef.current.isValid;\n error = get(errors, name);\n\n if (\n isCheckBoxInput(target as Ref) &&\n !error &&\n resolverRef.current\n ) {\n const parentNodeName = getNodeParentName(name);\n const currentError = get(errors, parentNodeName, {});\n currentError.type &&\n currentError.message &&\n (error = currentError);\n\n if (\n parentNodeName &&\n (currentError ||\n get(formStateRef.current.errors, parentNodeName))\n ) {\n name = parentNodeName;\n }\n }\n\n isValid = isEmptyObject(errors);\n\n previousFormIsValid !== isValid && (shouldRender = true);\n } else {\n error = (\n await validateField(\n fieldsRef,\n isValidateAllFieldCriteria,\n field,\n shallowFieldsStateRef,\n )\n )[name];\n }\n\n !isBlurEvent && renderWatchedInputs(name);\n shouldRenderBaseOnError(name, error, shouldRender, state, isValid);\n }\n };\n\n function setFieldArrayDefaultValues(data: T): T {\n if (!shouldUnregister) {\n let copy = cloneObject(data);\n\n for (const value of fieldArrayNamesRef.current) {\n if (isKey(value) && !copy[value]) {\n copy = {\n ...copy,\n [value]: [],\n };\n }\n }\n\n return copy;\n }\n return data;\n }\n\n function getValues(): UnpackNestedValue;\n function getValues(\n name: TFieldName,\n ): TFieldName extends keyof TFieldValues\n ? UnpackNestedValue[TFieldName]\n : TFieldValue;\n function getValues(\n names: TFieldName[],\n ): UnpackNestedValue>;\n function getValues(payload?: string | string[]): unknown {\n if (isString(payload)) {\n return getFieldValue(fieldsRef, payload, shallowFieldsStateRef);\n }\n\n if (Array.isArray(payload)) {\n const data = {};\n\n for (const name of payload) {\n set(data, name, getFieldValue(fieldsRef, name, shallowFieldsStateRef));\n }\n\n return data;\n }\n\n return setFieldArrayDefaultValues(\n getFieldsValues(\n fieldsRef,\n cloneObject(shallowFieldsStateRef.current),\n shouldUnregister,\n ),\n );\n }\n\n const validateResolver = React.useCallback(\n async (values = {}) => {\n const newDefaultValues = isEmptyObject(fieldsRef.current)\n ? defaultValuesRef.current\n : {};\n\n const { errors } =\n (await resolverRef.current!(\n {\n ...newDefaultValues,\n ...getValues(),\n ...values,\n },\n contextRef.current,\n isValidateAllFieldCriteria,\n )) || {};\n const isValid = isEmptyObject(errors);\n\n formStateRef.current.isValid !== isValid &&\n updateFormState({\n isValid,\n });\n },\n [isValidateAllFieldCriteria],\n );\n\n const removeFieldEventListener = React.useCallback(\n (field: Field, forceDelete?: boolean) => {\n findRemovedFieldAndRemoveListener(\n fieldsRef,\n handleChangeRef.current!,\n field,\n shallowFieldsStateRef,\n shouldUnregister,\n forceDelete,\n );\n\n if (shouldUnregister) {\n unset(validFieldsRef.current, field.ref.name);\n unset(fieldsWithValidationRef.current, field.ref.name);\n }\n },\n [shouldUnregister],\n );\n\n const updateWatchedValue = React.useCallback((name: string) => {\n if (isWatchAllRef.current) {\n updateFormState();\n } else {\n for (const watchField of watchFieldsRef.current) {\n if (watchField.startsWith(name)) {\n updateFormState();\n break;\n }\n }\n\n renderWatchedInputs(name);\n }\n }, []);\n\n const removeFieldEventListenerAndRef = React.useCallback(\n (field?: Field, forceDelete?: boolean) => {\n if (field) {\n removeFieldEventListener(field, forceDelete);\n\n if (shouldUnregister && !compact(field.options || []).length) {\n unset(formStateRef.current.errors, field.ref.name);\n set(formStateRef.current.dirtyFields, field.ref.name, true);\n\n updateFormState({\n isDirty: isFormDirty(),\n });\n\n readFormStateRef.current.isValid &&\n resolverRef.current &&\n validateResolver();\n updateWatchedValue(field.ref.name);\n }\n }\n },\n [validateResolver, removeFieldEventListener],\n );\n\n function clearErrors(\n name?: FieldName | FieldName[],\n ): void {\n name &&\n (Array.isArray(name) ? name : [name]).forEach((inputName) =>\n fieldsRef.current[inputName] && isKey(inputName)\n ? delete formStateRef.current.errors[inputName]\n : unset(formStateRef.current.errors, inputName),\n );\n\n updateFormState({\n errors: name ? formStateRef.current.errors : {},\n });\n }\n\n function setError(name: FieldName, error: ErrorOption) {\n const ref = (fieldsRef.current[name] || {})!.ref;\n\n set(formStateRef.current.errors, name, {\n ...error,\n ref,\n });\n\n updateFormState({\n isValid: false,\n });\n\n error.shouldFocus && ref && ref.focus && ref.focus();\n }\n\n const watchInternal = React.useCallback(\n (fieldNames?: string | string[], defaultValue?: T, watchId?: string) => {\n const watchFields = watchId\n ? useWatchFieldsRef.current[watchId]\n : watchFieldsRef.current;\n let fieldValues = getFieldsValues(\n fieldsRef,\n cloneObject(shallowFieldsStateRef.current),\n shouldUnregister,\n false,\n fieldNames,\n );\n\n if (isString(fieldNames)) {\n const parentNodeName = getNodeParentName(fieldNames) || fieldNames;\n\n if (fieldArrayNamesRef.current.has(parentNodeName)) {\n fieldValues = {\n ...fieldArrayValuesRef.current,\n ...fieldValues,\n };\n }\n\n return assignWatchFields(\n fieldValues,\n fieldNames,\n watchFields,\n isUndefined(get(defaultValuesRef.current, fieldNames))\n ? defaultValue\n : get(defaultValuesRef.current, fieldNames),\n true,\n );\n }\n\n const combinedDefaultValues = isUndefined(defaultValue)\n ? defaultValuesRef.current\n : defaultValue;\n\n if (Array.isArray(fieldNames)) {\n return fieldNames.reduce(\n (previous, name) => ({\n ...previous,\n [name]: assignWatchFields(\n fieldValues,\n name,\n watchFields,\n combinedDefaultValues as UnpackNestedValue<\n DeepPartial\n >,\n ),\n }),\n {},\n );\n }\n\n isWatchAllRef.current = isUndefined(watchId);\n\n return transformToNestObject(\n (!isEmptyObject(fieldValues) && fieldValues) ||\n (combinedDefaultValues as FieldValues),\n );\n },\n [],\n );\n\n function watch(): UnpackNestedValue;\n function watch<\n TFieldName extends string,\n TFieldValue extends TFieldValues[TFieldName]\n >(\n name?: TFieldName,\n defaultValue?: UnpackNestedValue>,\n ): UnpackNestedValue>;\n function watch(\n names: TFieldName[],\n defaultValues?: UnpackNestedValue<\n DeepPartial>\n >,\n ): UnpackNestedValue>;\n function watch(\n names: string[],\n defaultValues?: UnpackNestedValue>,\n ): UnpackNestedValue>;\n function watch(\n fieldNames?: string | string[] | undefined,\n defaultValue?: unknown,\n ): unknown {\n return watchInternal(fieldNames, defaultValue);\n }\n\n function unregister(\n name: FieldName | FieldName[],\n ): void {\n for (const fieldName of Array.isArray(name) ? name : [name]) {\n removeFieldEventListenerAndRef(fieldsRef.current[fieldName], true);\n }\n }\n\n function registerFieldRef>(\n ref: TFieldElement & Ref,\n options: RegisterOptions | null = {},\n ): ((name: InternalFieldName) => void) | void {\n if (process.env.NODE_ENV !== 'production') {\n if (!ref.name) {\n return console.warn(\n '📋 Field is missing `name` attribute',\n ref,\n `https://react-hook-form.com/api#useForm`,\n );\n }\n\n if (\n fieldArrayNamesRef.current.has(ref.name.split(/\\[\\d+\\]$/)[0]) &&\n !RegExp(\n `^${ref.name.split(/\\[\\d+\\]$/)[0]}[\\\\d+].\\\\w+`\n .replace(/\\[/g, '\\\\[')\n .replace(/\\]/g, '\\\\]'),\n ).test(ref.name)\n ) {\n return console.warn(\n '📋 `name` prop should be in object shape: name=\"test[index].name\"',\n ref,\n 'https://react-hook-form.com/api#useFieldArray',\n );\n }\n }\n\n const { name, type, value } = ref;\n const fieldRefAndValidationOptions = {\n ref,\n ...options,\n };\n const fields = fieldsRef.current;\n const isRadioOrCheckbox = isRadioOrCheckboxFunction(ref);\n const isFieldArray = isNameInFieldArray(fieldArrayNamesRef.current, name);\n const compareRef = (currentRef: Ref) =>\n isWeb && (!isHTMLElement(ref) || currentRef === ref);\n let field = fields[name] as Field;\n let isEmptyDefaultValue = true;\n let defaultValue;\n\n if (\n field &&\n (isRadioOrCheckbox\n ? Array.isArray(field.options) &&\n compact(field.options).find((option) => {\n return value === option.ref.value && compareRef(option.ref);\n })\n : compareRef(field.ref))\n ) {\n fields[name] = {\n ...field,\n ...options,\n };\n return;\n }\n\n if (type) {\n field = isRadioOrCheckbox\n ? {\n options: [\n ...compact((field && field.options) || []),\n {\n ref,\n } as RadioOrCheckboxOption,\n ],\n ref: { type, name },\n ...options,\n }\n : {\n ...fieldRefAndValidationOptions,\n };\n } else {\n field = fieldRefAndValidationOptions;\n }\n\n fields[name] = field;\n\n const isEmptyUnmountFields = isUndefined(\n get(shallowFieldsStateRef.current, name),\n );\n\n if (!isEmptyObject(defaultValuesRef.current) || !isEmptyUnmountFields) {\n defaultValue = get(\n isEmptyUnmountFields\n ? defaultValuesRef.current\n : shallowFieldsStateRef.current,\n name,\n );\n isEmptyDefaultValue = isUndefined(defaultValue);\n\n if (!isEmptyDefaultValue && !isFieldArray) {\n setFieldValue(name as FieldName, defaultValue);\n }\n }\n\n if (!isEmptyObject(options)) {\n set(fieldsWithValidationRef.current, name, true);\n\n if (!isOnSubmit && readFormStateRef.current.isValid) {\n validateField(\n fieldsRef,\n isValidateAllFieldCriteria,\n field,\n shallowFieldsStateRef,\n ).then((error: FieldErrors) => {\n const previousFormIsValid = formStateRef.current.isValid;\n\n isEmptyObject(error)\n ? set(validFieldsRef.current, name, true)\n : unset(validFieldsRef.current, name);\n\n previousFormIsValid !== isEmptyObject(error) && updateFormState();\n });\n }\n }\n\n if (shouldUnregister && !(isFieldArray && isEmptyDefaultValue)) {\n !isFieldArray && unset(formStateRef.current.dirtyFields, name);\n }\n\n if (type) {\n attachEventListeners(\n isRadioOrCheckbox && field.options\n ? field.options[field.options.length - 1]\n : field,\n isRadioOrCheckbox || isSelectInput(ref),\n handleChangeRef.current,\n );\n }\n }\n\n function register>(\n options?: RegisterOptions,\n ): (ref: (TFieldElement & Ref) | null) => void;\n function register(\n name: FieldName,\n options?: RegisterOptions,\n ): void;\n function register>(\n ref: (TFieldElement & Ref) | null,\n options?: RegisterOptions,\n ): void;\n function register>(\n refOrRegisterOptions?:\n | FieldName\n | RegisterOptions\n | (TFieldElement & Ref)\n | null,\n options?: RegisterOptions,\n ): ((ref: (TFieldElement & Ref) | null) => void) | void {\n if (!isWindowUndefined) {\n if (isString(refOrRegisterOptions)) {\n registerFieldRef({ name: refOrRegisterOptions }, options);\n } else if (\n isObject(refOrRegisterOptions) &&\n 'name' in refOrRegisterOptions\n ) {\n registerFieldRef(refOrRegisterOptions, options);\n } else {\n return (ref: (TFieldElement & Ref) | null) =>\n ref && registerFieldRef(ref, refOrRegisterOptions);\n }\n }\n }\n\n const handleSubmit = React.useCallback(\n (\n onValid: SubmitHandler,\n onInvalid?: SubmitErrorHandler,\n ) => async (e?: React.BaseSyntheticEvent): Promise => {\n if (e && e.preventDefault) {\n e.preventDefault();\n e.persist();\n }\n let fieldErrors: FieldErrors = {};\n let fieldValues = setFieldArrayDefaultValues(\n getFieldsValues(\n fieldsRef,\n cloneObject(shallowFieldsStateRef.current),\n shouldUnregister,\n true,\n ),\n );\n\n readFormStateRef.current.isSubmitting &&\n updateFormState({\n isSubmitting: true,\n });\n\n try {\n if (resolverRef.current) {\n const { errors, values } = await resolverRef.current(\n fieldValues,\n contextRef.current,\n isValidateAllFieldCriteria,\n );\n formStateRef.current.errors = fieldErrors = errors;\n fieldValues = values;\n } else {\n for (const field of Object.values(fieldsRef.current)) {\n if (field) {\n const { name } = field.ref;\n\n const fieldError = await validateField(\n fieldsRef,\n isValidateAllFieldCriteria,\n field,\n shallowFieldsStateRef,\n );\n\n if (fieldError[name]) {\n set(fieldErrors, name, fieldError[name]);\n unset(validFieldsRef.current, name);\n } else if (get(fieldsWithValidationRef.current, name)) {\n unset(formStateRef.current.errors, name);\n set(validFieldsRef.current, name, true);\n }\n }\n }\n }\n\n if (\n isEmptyObject(fieldErrors) &&\n Object.keys(formStateRef.current.errors).every(\n (name) => name in fieldsRef.current,\n )\n ) {\n updateFormState({\n errors: {},\n isSubmitting: true,\n });\n await onValid(fieldValues, e);\n } else {\n formStateRef.current.errors = {\n ...formStateRef.current.errors,\n ...fieldErrors,\n };\n onInvalid && (await onInvalid(formStateRef.current.errors, e));\n shouldFocusError &&\n focusOnErrorField(fieldsRef.current, formStateRef.current.errors);\n }\n } finally {\n formStateRef.current.isSubmitting = false;\n updateFormState({\n isSubmitted: true,\n isSubmitting: false,\n isSubmitSuccessful: isEmptyObject(formStateRef.current.errors),\n submitCount: formStateRef.current.submitCount + 1,\n });\n }\n },\n [shouldFocusError, isValidateAllFieldCriteria],\n );\n\n const resetRefs = ({\n errors,\n isDirty,\n isSubmitted,\n touched,\n isValid,\n submitCount,\n dirtyFields,\n }: OmitResetState) => {\n if (!isValid) {\n validFieldsRef.current = {};\n fieldsWithValidationRef.current = {};\n }\n\n fieldArrayDefaultValuesRef.current = {};\n watchFieldsRef.current = new Set();\n isWatchAllRef.current = false;\n\n updateFormState({\n submitCount: submitCount ? formStateRef.current.submitCount : 0,\n isDirty: isDirty ? formStateRef.current.isDirty : false,\n isSubmitted: isSubmitted ? formStateRef.current.isSubmitted : false,\n isValid: isValid ? formStateRef.current.isValid : false,\n dirtyFields: dirtyFields ? formStateRef.current.dirtyFields : {},\n touched: touched ? formStateRef.current.touched : {},\n errors: errors ? formStateRef.current.errors : {},\n isSubmitting: false,\n isSubmitSuccessful: false,\n });\n };\n\n const reset = (\n values?: DefaultValues,\n omitResetState: OmitResetState = {},\n ): void => {\n if (isWeb) {\n for (const field of Object.values(fieldsRef.current)) {\n if (field) {\n const { ref, options } = field;\n const inputRef =\n isRadioOrCheckboxFunction(ref) && Array.isArray(options)\n ? options[0].ref\n : ref;\n\n if (isHTMLElement(inputRef)) {\n try {\n inputRef.closest('form')!.reset();\n break;\n } catch {}\n }\n }\n }\n }\n\n fieldsRef.current = {};\n defaultValuesRef.current = { ...(values || defaultValuesRef.current) };\n values && renderWatchedInputs('');\n\n Object.values(resetFieldArrayFunctionRef.current).forEach(\n (resetFieldArray) => isFunction(resetFieldArray) && resetFieldArray(),\n );\n\n shallowFieldsStateRef.current = shouldUnregister\n ? {}\n : cloneObject(values || defaultValuesRef.current);\n\n resetRefs(omitResetState);\n };\n\n React.useEffect(() => {\n resolver && readFormStateRef.current.isValid && validateResolver();\n observerRef.current =\n observerRef.current || !isWeb\n ? observerRef.current\n : onDomRemove(fieldsRef, removeFieldEventListenerAndRef);\n }, [removeFieldEventListenerAndRef, defaultValuesRef.current]);\n\n React.useEffect(\n () => () => {\n observerRef.current && observerRef.current.disconnect();\n isUnMount.current = true;\n\n if (process.env.NODE_ENV !== 'production') {\n return;\n }\n\n Object.values(fieldsRef.current).forEach((field) =>\n removeFieldEventListenerAndRef(field, true),\n );\n },\n [],\n );\n\n if (!resolver && readFormStateRef.current.isValid) {\n formState.isValid =\n deepEqual(validFieldsRef.current, fieldsWithValidationRef.current) &&\n isEmptyObject(formStateRef.current.errors);\n }\n\n const commonProps = {\n trigger,\n setValue: React.useCallback(setValue, [setInternalValue, trigger]),\n getValues: React.useCallback(getValues, []),\n register: React.useCallback(register, [defaultValuesRef.current]),\n unregister: React.useCallback(unregister, []),\n formState: isProxyEnabled\n ? new Proxy(formState, {\n get: (obj, prop: keyof FormStateProxy) => {\n if (process.env.NODE_ENV !== 'production') {\n if (prop === 'isValid' && isOnSubmit) {\n console.warn(\n '📋 `formState.isValid` is applicable with `onTouched`, `onChange` or `onBlur` mode. https://react-hook-form.com/api#formState',\n );\n }\n }\n\n if (prop in obj) {\n readFormStateRef.current[prop] = true;\n return obj[prop];\n }\n\n return undefined;\n },\n })\n : formState,\n };\n\n const control = React.useMemo(\n () => ({\n isFormDirty,\n updateWatchedValue,\n shouldUnregister,\n updateFormState,\n removeFieldEventListener,\n watchInternal,\n mode: modeRef.current,\n reValidateMode: {\n isReValidateOnBlur,\n isReValidateOnChange,\n },\n validateResolver: resolver ? validateResolver : undefined,\n fieldsRef,\n resetFieldArrayFunctionRef,\n useWatchFieldsRef,\n useWatchRenderFunctionsRef,\n fieldArrayDefaultValuesRef,\n validFieldsRef,\n fieldsWithValidationRef,\n fieldArrayNamesRef,\n readFormStateRef,\n formStateRef,\n defaultValuesRef,\n shallowFieldsStateRef,\n fieldArrayValuesRef,\n ...commonProps,\n }),\n [\n defaultValuesRef.current,\n updateWatchedValue,\n shouldUnregister,\n removeFieldEventListener,\n watchInternal,\n ],\n );\n\n return {\n watch,\n control,\n handleSubmit,\n reset: React.useCallback(reset, []),\n clearErrors: React.useCallback(clearErrors, []),\n setError: React.useCallback(setError, []),\n errors: formState.errors,\n ...commonProps,\n };\n}\n","import get from '../utils/get';\nimport isUndefined from '../utils/isUndefined';\nimport deepEqual from '../utils/deepEqual';\nimport {\n FieldValues,\n InternalFieldName,\n FieldErrors,\n FieldNamesMarkedBoolean,\n FieldError,\n} from '../types';\n\nexport default ({\n errors,\n name,\n error,\n validFields,\n fieldsWithValidation,\n}: {\n errors: FieldErrors;\n error: FieldError | undefined;\n name: InternalFieldName;\n validFields: FieldNamesMarkedBoolean;\n fieldsWithValidation: FieldNamesMarkedBoolean;\n}): boolean => {\n const isValid = isUndefined(error);\n const previousError = get(errors, name);\n\n return (\n (isValid && !!previousError) ||\n (!isValid && !deepEqual(previousError, error, true)) ||\n (isValid && get(fieldsWithValidation, name) && !get(validFields, name))\n );\n};\n","import isHTMLElement from '../utils/isHTMLElement';\nimport { EVENTS } from '../constants';\nimport { Field } from '../types';\n\nexport default function attachEventListeners(\n { ref }: Field,\n shouldAttachChangeEvent?: boolean,\n handleChange?: EventListenerOrEventListenerObject,\n): void {\n if (isHTMLElement(ref) && handleChange) {\n ref.addEventListener(\n shouldAttachChangeEvent ? EVENTS.CHANGE : EVENTS.INPUT,\n handleChange,\n );\n ref.addEventListener(EVENTS.BLUR, handleChange);\n }\n}\n","import { FieldElement } from '../types';\nimport { SELECT } from '../constants';\n\nexport default (element: FieldElement): element is HTMLSelectElement =>\n element.type === `${SELECT}-one`;\n","import get from '../utils/get';\nimport isUndefined from '../utils/isUndefined';\nimport { FieldErrors, FieldRefs } from '../types';\n\nexport default (\n fields: FieldRefs,\n fieldErrors: FieldErrors,\n) => {\n for (const key in fields) {\n if (get(fieldErrors, key)) {\n const field = fields[key];\n\n if (field) {\n if (field.ref.focus && isUndefined(field.ref.focus())) {\n break;\n } else if (field.options) {\n field.options[0].ref.focus();\n\n break;\n }\n }\n }\n }\n};\n","import * as React from 'react';\nimport { Field, FieldRefs } from '../types';\nimport isDetached from './isDetached';\n\nexport default function onDomRemove(\n fieldsRef: React.MutableRefObject>,\n removeFieldEventListenerAndRef: (\n field: Field | undefined,\n forceDelete?: boolean,\n ) => void,\n): MutationObserver {\n const observer = new MutationObserver((): void => {\n for (const field of Object.values(fieldsRef.current)) {\n if (field && field.options) {\n for (const option of field.options) {\n if (option && option.ref && isDetached(option.ref)) {\n removeFieldEventListenerAndRef(field);\n }\n }\n } else if (field && isDetached(field.ref)) {\n removeFieldEventListenerAndRef(field);\n }\n }\n });\n\n observer.observe(window.document, {\n childList: true,\n subtree: true,\n });\n\n return observer;\n}\n","import * as React from 'react';\nimport { UseFormMethods, FieldValues, FormProviderProps } from './types';\n\nconst FormContext = React.createContext(null);\n\nFormContext.displayName = 'RHFContext';\n\nexport const useFormContext = <\n TFieldValues extends FieldValues\n>(): UseFormMethods =>\n React.useContext(FormContext) as UseFormMethods;\n\nexport const FormProvider = ({\n children,\n ...props\n}: FormProviderProps) => (\n \n {children}\n \n);\n","import isUndefined from '../utils/isUndefined';\nimport isObject from '../utils/isObject';\nimport isPrimitive from '../utils/isPrimitive';\n\nexport default (event: any) =>\n isPrimitive(event) ||\n !isObject(event.target) ||\n (isObject(event.target) && !event.type)\n ? event\n : isUndefined(event.target.value)\n ? event.target.checked\n : event.target.value;\n","import { useFormContext } from './useFormContext';\nimport isNameInFieldArray from './logic/isNameInFieldArray';\nimport isUndefined from './utils/isUndefined';\nimport get from './utils/get';\nimport * as React from 'react';\nimport isFunction from './utils/isFunction';\nimport skipValidation from './logic/skipValidation';\nimport getInputValue from './logic/getInputValue';\nimport set from './utils/set';\nimport {\n FieldValues,\n UseControllerOptions,\n UseControllerMethods,\n} from './types';\n\nexport function useController({\n name,\n rules,\n defaultValue,\n control,\n onFocus,\n}: UseControllerOptions): UseControllerMethods {\n const methods = useFormContext();\n\n if (process.env.NODE_ENV !== 'production') {\n if (!control && !methods) {\n throw new Error(\n '📋 Controller is missing `control` prop. https://react-hook-form.com/api#Controller',\n );\n }\n }\n\n const {\n defaultValuesRef,\n setValue,\n register,\n unregister,\n trigger,\n mode,\n reValidateMode: { isReValidateOnBlur, isReValidateOnChange },\n formState,\n formStateRef: {\n current: { isSubmitted, touched, errors },\n },\n updateFormState,\n readFormStateRef,\n fieldsRef,\n fieldArrayNamesRef,\n shallowFieldsStateRef,\n } = control || methods.control;\n\n const isNotFieldArray = !isNameInFieldArray(fieldArrayNamesRef.current, name);\n const getInitialValue = () =>\n !isUndefined(get(shallowFieldsStateRef.current, name)) && isNotFieldArray\n ? get(shallowFieldsStateRef.current, name)\n : isUndefined(defaultValue)\n ? get(defaultValuesRef.current, name)\n : defaultValue;\n const [value, setInputStateValue] = React.useState(getInitialValue());\n const valueRef = React.useRef(value);\n const ref = React.useRef({\n focus: () => null,\n });\n const onFocusRef = React.useRef(\n onFocus ||\n (() => {\n if (isFunction(ref.current.focus)) {\n ref.current.focus();\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (!isFunction(ref.current.focus)) {\n console.warn(\n `📋 'ref' from Controller render prop must be attached to a React component or a DOM Element whose ref provides a 'focus()' method`,\n );\n }\n }\n }),\n );\n\n const shouldValidate = React.useCallback(\n (isBlurEvent?: boolean) =>\n !skipValidation({\n isBlurEvent,\n isReValidateOnBlur,\n isReValidateOnChange,\n isSubmitted,\n isTouched: !!get(touched, name),\n ...mode,\n }),\n [\n isReValidateOnBlur,\n isReValidateOnChange,\n isSubmitted,\n touched,\n name,\n mode,\n ],\n );\n\n const commonTask = React.useCallback(([event]: any[]) => {\n const data = getInputValue(event);\n setInputStateValue(data);\n valueRef.current = data;\n return data;\n }, []);\n\n const registerField = React.useCallback(\n (shouldUpdateValue?: boolean) => {\n if (process.env.NODE_ENV !== 'production') {\n if (!name) {\n return console.warn(\n '📋 Field is missing `name` prop. https://react-hook-form.com/api#Controller',\n );\n }\n }\n\n if (fieldsRef.current[name]) {\n fieldsRef.current[name] = {\n ref: fieldsRef.current[name]!.ref,\n ...rules,\n };\n } else {\n register(\n Object.defineProperties(\n {\n name,\n focus: onFocusRef.current,\n },\n {\n value: {\n set(data) {\n setInputStateValue(data);\n valueRef.current = data;\n },\n get() {\n return valueRef.current;\n },\n },\n },\n ),\n rules,\n );\n\n shouldUpdateValue = isUndefined(get(defaultValuesRef.current, name));\n }\n\n shouldUpdateValue &&\n isNotFieldArray &&\n setInputStateValue(getInitialValue());\n },\n [rules, name, register],\n );\n\n React.useEffect(() => () => unregister(name), [name]);\n\n React.useEffect(() => {\n if (process.env.NODE_ENV !== 'production') {\n if (isUndefined(value)) {\n console.warn(\n `📋 ${name} is missing in the 'defaultValue' prop of either its Controller (https://react-hook-form.com/api#Controller) or useForm (https://react-hook-form.com/api#useForm)`,\n );\n }\n\n if (!isNotFieldArray && isUndefined(defaultValue)) {\n console.warn(\n '📋 Controller is missing `defaultValue` prop when using `useFieldArray`. https://react-hook-form.com/api#Controller',\n );\n }\n }\n\n registerField();\n }, [registerField]);\n\n React.useEffect(() => {\n !fieldsRef.current[name] && registerField(true);\n });\n\n const onBlur = React.useCallback(() => {\n if (readFormStateRef.current.touched && !get(touched, name)) {\n set(touched, name, true);\n updateFormState({\n touched,\n });\n }\n\n shouldValidate(true) && trigger(name);\n }, [name, updateFormState, shouldValidate, trigger, readFormStateRef]);\n\n const onChange = React.useCallback(\n (...event: any[]) =>\n setValue(name, commonTask(event), {\n shouldValidate: shouldValidate(),\n shouldDirty: true,\n }),\n [setValue, name, shouldValidate],\n );\n\n return {\n field: {\n onChange,\n onBlur,\n name,\n value,\n ref,\n },\n meta: Object.defineProperties(\n {\n invalid: !!get(errors, name),\n },\n {\n isDirty: {\n get() {\n return !!get(formState.dirtyFields, name);\n },\n },\n isTouched: {\n get() {\n return !!get(formState.touched, name);\n },\n },\n },\n ),\n };\n}\n","var prefix = \"fal\";\nvar fa0 = {\n prefix: 'fal',\n iconName: '0',\n icon: [320, 512, [], \"30\", \"M0 192C0 103.6 71.6 32 160 32s160 71.6 160 160V320c0 88.4-71.6 160-160 160S0 408.4 0 320V192zM160 64C89.3 64 32 121.3 32 192V320c0 70.7 57.3 128 128 128s128-57.3 128-128V192c0-70.7-57.3-128-128-128z\"]\n};\nvar fa1 = {\n prefix: 'fal',\n iconName: '1',\n icon: [256, 512, [], \"31\", \"M144 48c0-5.9-3.2-11.3-8.5-14.1s-11.5-2.5-16.4 .8l-96 64c-7.4 4.9-9.3 14.8-4.4 22.2s14.8 9.3 22.2 4.4L112 77.9V448l-96 0c-8.8 0-16 7.2-16 16s7.2 16 16 16H128 240c8.8 0 16-7.2 16-16s-7.2-16-16-16l-96 0V48z\"]\n};\nvar fa2 = {\n prefix: 'fal',\n iconName: '2',\n icon: [320, 512, [], \"32\", \"M148 64c-28.8 0-56.9 11.5-77.2 31.8L43.3 123.3c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L48.2 73.1C74.6 46.8 110.9 32 148 32c76.5 0 140 61.9 140 138.8c0 38.4-15.9 75-43.9 101.3L56.5 448H304c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-6.6 0-12.5-4-14.9-10.1s-.9-13.1 3.9-17.6L222.2 248.7c21.5-20.2 33.8-48.4 33.8-77.9C256 112 207.2 64 148 64z\"]\n};\nvar fa3 = {\n prefix: 'fal',\n iconName: '3',\n icon: [320, 512, [], \"33\", \"M0 48c0-8.8 7.2-16 16-16H288c6.6 0 12.5 4 14.9 10.2s.8 13.1-4 17.6L120.9 224H192c70.7 0 128 57.3 128 128s-57.3 128-128 128H89.4c-36.4 0-69.6-20.5-85.9-53.1l-1.9-3.8c-4-7.9-.7-17.5 7.2-21.5s17.5-.7 21.5 7.2l1.9 3.8C43 434.3 65.2 448 89.4 448H192c53 0 96-43 96-96s-43-96-96-96H80c-6.6 0-12.5-4-14.9-10.2s-.8-13.1 4-17.6L247.1 64H16C7.2 64 0 56.8 0 48z\"]\n};\nvar fa4 = {\n prefix: 'fal',\n iconName: '4',\n icon: [384, 512, [], \"34\", \"M174.3 55.2c4-7.9 .7-17.5-7.2-21.5s-17.5-.7-21.5 7.2l-144 288c-2.5 5-2.2 10.9 .7 15.6s8.1 7.6 13.6 7.6H288V464c0 8.8 7.2 16 16 16s16-7.2 16-16V352h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H320V144c0-8.8-7.2-16-16-16s-16 7.2-16 16V320H41.9L174.3 55.2z\"]\n};\nvar fa5 = {\n prefix: 'fal',\n iconName: '5',\n icon: [320, 512, [], \"35\", \"M48.5 44.1C50.3 37 56.7 32 64 32H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H76.5l-40 160H192c70.7 0 128 57.3 128 128s-57.3 128-128 128H84.5c-33.3 0-63.8-18.8-78.7-48.6l-4.1-8.2c-4-7.9-.7-17.5 7.2-21.5s17.5-.7 21.5 7.2l4.1 8.2c9.5 19 28.9 31 50.1 31H192c53 0 96-43 96-96s-43-96-96-96H16c-4.9 0-9.6-2.3-12.6-6.2s-4.1-8.9-2.9-13.7l48-192z\"]\n};\nvar fa6 = {\n prefix: 'fal',\n iconName: '6',\n icon: [320, 512, [], \"36\", \"M288 320c0-70.7-57.3-128-128-128C90.3 192 33.7 247.7 32 316.9c0 1 0 2 0 3.1c0 70.7 57.3 128 128 128s128-57.3 128-128zM126.8 163.5c10.7-2.3 21.8-3.5 33.2-3.5c88.4 0 160 71.6 160 160s-71.6 160-160 160S0 408.4 0 320c0-2 0-3.9 .1-5.9C1.5 276.2 16 239.9 41.2 211.5L196 37.4c5.9-6.6 16-7.2 22.6-1.3s7.2 16 1.3 22.6L126.8 163.5z\"]\n};\nvar fa7 = {\n prefix: 'fal',\n iconName: '7',\n icon: [320, 512, [], \"37\", \"M0 48c0-8.8 7.2-16 16-16H304c5.8 0 11.1 3.1 14 8.2s2.7 11.3-.3 16.2l-256 416c-4.6 7.5-14.5 9.9-22 5.2s-9.9-14.5-5.2-22L275.4 64H16C7.2 64 0 56.8 0 48z\"]\n};\nvar fa8 = {\n prefix: 'fal',\n iconName: '8',\n icon: [320, 512, [], \"38\", \"M304 152c0-66.3-53.7-120-120-120H136C69.7 32 16 85.7 16 152c0 41.4 20.9 77.9 52.8 99.4C28.1 270.6 0 312 0 360c0 66.3 53.7 120 120 120h80c66.3 0 120-53.7 120-120c0-48-28.1-89.4-68.8-108.6C283.1 229.9 304 193.4 304 152zM184.1 272H200c48.6 0 88 39.4 88 88s-39.4 88-88 88H120c-48.6 0-88-39.4-88-88s39.4-88 88-88h15.9c0 0 .1 0 .1 0h48c0 0 0 0 .1 0zm0-32c0 0 0 0-.1 0H136c0 0 0 0-.1 0C87.4 240 48 200.6 48 152c0-48.6 39.4-88 88-88l48 0c48.6 0 88 39.4 88 88c0 48.6-39.4 88-87.9 88z\"]\n};\nvar fa9 = {\n prefix: 'fal',\n iconName: '9',\n icon: [320, 512, [], \"39\", \"M32 192c0 70.7 57.3 128 128 128c69.7 0 126.3-55.7 128-124.9c0-1 0-2 0-3.1c0-70.7-57.3-128-128-128S32 121.3 32 192zM193.2 348.5c-10.7 2.3-21.8 3.5-33.2 3.5C71.6 352 0 280.4 0 192S71.6 32 160 32s160 71.6 160 160c0 2 0 3.9-.1 5.9c-1.4 37.9-15.9 74.2-41.1 102.6L124 474.6c-5.9 6.6-16 7.2-22.6 1.3s-7.2-16-1.3-22.6l93.2-104.8z\"]\n};\nvar faFillDrip = {\n prefix: 'fal',\n iconName: 'fill-drip',\n icon: [576, 512, [], \"f576\", \"M36.7 4.7c6.2-6.2 16.4-6.2 22.6 0l97.4 97.4 64.4-64.4c28.1-28.1 73.7-28.1 101.8 0L474.3 189.1c28.1 28.1 28.1 73.7 0 101.8L283.9 481.4c-37.5 37.5-98.3 37.5-135.8 0L30.6 363.9c-37.5-37.5-37.5-98.3 0-135.8L134.1 124.7 36.7 27.3c-6.2-6.2-6.2-16.4 0-22.6zm208 230.6l-88-88L53.3 250.7C42.8 261.2 36.7 274.4 35 288H432l19.7-19.7c15.6-15.6 15.6-40.9 0-56.6L300.3 60.3c-15.6-15.6-40.9-15.6-56.6 0l-64.4 64.4 88 88c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0zM39.2 320c3.1 7.7 7.8 15 14.1 21.3L170.7 458.7c25 25 65.5 25 90.5 0L400 320H39.2zM544 448s0 0 0 0v0c0-.1-.1-1.2-.6-3.4c-.6-2.4-1.5-5.4-2.8-9.1c-2.7-7.4-6.8-16.2-11.7-25.8c-5.2-10.2-11.2-20.6-16.9-30.3c-5.8 9.7-11.7 20.1-16.9 30.3c-4.9 9.6-8.9 18.4-11.7 25.8c-1.4 3.7-2.3 6.7-2.8 9.1c-.5 2.2-.6 3.3-.6 3.4c0 0 0 0 0 0c0 17.7 14.3 32 32 32s32-14.3 32-32zm32 0c0 35.3-28.7 64-64 64s-64-28.7-64-64c0-25.2 32.6-79.6 51.2-108.7c6-9.4 19.5-9.4 25.5 0C543.4 368.4 576 422.8 576 448z\"]\n};\nvar faArrowsToCircle = {\n prefix: 'fal',\n iconName: 'arrows-to-circle',\n icon: [640, 512, [], \"e4bd\", \"M27.3 4.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L137.4 160H80c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16s-16 7.2-16 16v57.4L27.3 4.7zM320 192a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm0 160a96 96 0 1 0 0-192 96 96 0 1 0 0 192zM464 64c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H502.6L635.3 27.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L480 137.4V80c0-8.8-7.2-16-16-16zM176 448c8.8 0 16-7.2 16-16V336c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16s7.2 16 16 16h57.4L4.7 484.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L160 374.6V432c0 8.8 7.2 16 16 16zm288 0c8.8 0 16-7.2 16-16V374.6L612.7 507.3c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L502.6 352H560c8.8 0 16-7.2 16-16s-7.2-16-16-16H464c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16z\"]\n};\nvar faCircleChevronRight = {\n prefix: 'fal',\n iconName: 'circle-chevron-right',\n icon: [512, 512, [\"chevron-circle-right\"], \"f138\", \"M480 256A224 224 0 1 1 32 256a224 224 0 1 1 448 0zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM235.3 379.3l112-112c6.2-6.2 6.2-16.4 0-22.6l-112-112c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L313.4 256 212.7 356.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0z\"]\n};\nvar faChevronCircleRight = faCircleChevronRight;\nvar faWagonCovered = {\n prefix: 'fal',\n iconName: 'wagon-covered',\n icon: [640, 512, [], \"f8ee\", \"M239.4 34.1C250.1 13.8 271.4 0 296 0h48c24.6 0 45.9 13.8 56.6 34.1c13.1-12.6 30.6-20.8 50.1-22.1L565.8 4.4c41.7-2.8 71.7 39.5 55.2 77.9L560.3 224c8.7 .1 15.7 7.2 15.7 16v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V256h-8H392 376 264 248 104 96v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V240c0-8.7 7-15.9 15.7-16L19 82.3C2.5 43.9 32.5 1.6 74.2 4.4l115.1 7.7c19.5 1.3 36.9 9.5 50.1 22.1zM114.6 224H232V91.9c0-25.3-19.6-46.2-44.8-47.9L72.1 36.3C54.2 35.1 41.4 53.2 48.4 69.7L114.6 224zM408 224H525.4L591.6 69.7c7.1-16.5-5.8-34.6-23.7-33.4L452.8 44C427.6 45.7 408 66.6 408 91.9V224zM264 91.9V224H376V64c0-17.7-14.3-32-32-32H296c-17.7 0-32 14.3-32 32V91.9zM176 512c-61.9 0-112-50.1-112-112s50.1-112 112-112c56.4 0 103.1 41.7 110.9 96h66.3c7.8-54.3 54.4-96 110.9-96c61.9 0 112 50.1 112 112s-50.1 112-112 112c-56.4 0-103.1-41.7-110.9-96H286.9c-7.8 54.3-54.4 96-110.9 96zm16-33.6c31.3-6.4 56-31.1 62.4-62.4H192v62.4zm-32 0V416H97.6c6.4 31.3 31.1 56 62.4 62.4zM96 399.6l0 .4 0 .4v-.8zM97.6 384H160V321.6c-31.3 6.4-56 31.1-62.4 62.4zM192 321.6V384h62.4c-6.4-31.3-31.1-56-62.4-62.4zM542.4 416H480v62.4c31.3-6.4 56-31.1 62.4-62.4zM448 416H385.6c6.4 31.3 31.1 56 62.4 62.4V416zm-64-16l0-.4v.8l0-.4zm64-16V321.6c-31.3 6.4-56 31.1-62.4 62.4H448zm32 0h62.4c-6.4-31.3-31.1-56-62.4-62.4V384z\"]\n};\nvar faLineHeight = {\n prefix: 'fal',\n iconName: 'line-height',\n icon: [576, 512, [], \"f871\", \"M107.3 36.7c-6.2-6.2-16.4-6.2-22.6 0l-80 80c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L80 86.6V425.4L27.3 372.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l80 80c6.2 6.2 16.4 6.2 22.6 0l80-80c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L112 425.4V86.6l52.7 52.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-80-80zM272 80c-8.8 0-16 7.2-16 16s7.2 16 16 16H560c8.8 0 16-7.2 16-16s-7.2-16-16-16H272zm0 160c-8.8 0-16 7.2-16 16s7.2 16 16 16H560c8.8 0 16-7.2 16-16s-7.2-16-16-16H272zM256 416c0 8.8 7.2 16 16 16H560c8.8 0 16-7.2 16-16s-7.2-16-16-16H272c-8.8 0-16 7.2-16 16z\"]\n};\nvar faBagel = {\n prefix: 'fal',\n iconName: 'bagel',\n icon: [640, 512, [129391], \"e3d7\", \"M608 208c0-97.2-78.8-176-176-176c-49.3 0-93.9 20.3-125.8 52.9c-10.5-4.7-21.3-8.7-32.5-11.8C311.8 28.4 368.6 0 432 0C546.9 0 640 93.1 640 208s-93.1 208-208 208c-3.9 0-7.7-.1-11.5-.3c5.4-10.2 10-20.7 13.9-31.7C530.5 382.7 608 304.4 608 208zM364.6 84.4l17.6-.5c6.2-.2 12.1-2.1 17.2-5.6l14.5-10c10.9-7.5 25.3-7.5 36.2 0l14.5 10c5.1 3.5 11 5.4 17.2 5.6l17.6 .5c13.2 .4 24.8 8.8 29.3 21.3l5.9 16.6c2.1 5.8 5.8 10.9 10.6 14.6l14 10.7c10.5 8.1 14.9 21.7 11.2 34.4l-5 16.9c-1.7 5.9-1.7 12.2 0 18.1l5 16.9c3.7 12.7-.7 26.3-11.2 34.4l-14 10.7c-4.9 3.8-8.6 8.8-10.6 14.6l-5.9 16.6c-4.4 12.5-16.1 20.9-29.3 21.3l-17.6 .5c-6.2 .2-12.1 2.1-17.2 5.6l-14.5 10c-2.1 1.5-4.4 2.6-6.7 3.5c2.6-13.2 4.2-26.9 4.5-40.8c9.8-6.4 21.3-9.9 33-10.3l17.6-.5 5.9-16.6c4.1-11.6 11.5-21.8 21.3-29.3l14-10.7-5-16.9c-3.5-11.8-3.5-24.4 0-36.2l5-16.9-14-10.7c-9.8-7.5-17.1-17.7-21.3-29.3l-5.9-16.6-17.6-.5c-12.3-.3-24.3-4.2-34.4-11.2L432 94.8l-14.5 10c-10.2 7-22.1 10.8-34.4 11.2l-17.6 .5-1.8 4.9c-8.4-7.2-17.3-13.8-26.6-19.7c5.3-10.2 15.8-16.9 27.5-17.2zM384 304A176 176 0 1 0 32 304a176 176 0 1 0 352 0zM0 304a208 208 0 1 1 416 0A208 208 0 1 1 0 304zm208-80a80 80 0 1 1 0 160 80 80 0 1 1 0-160zm48 80a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM128 192a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm192 32a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM112 384a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm128 32a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48-16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM80 256a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faTransporter7 = {\n prefix: 'fal',\n iconName: 'transporter-7',\n icon: [512, 512, [], \"e2a8\", \"M480 48c0-8.8-7.2-16-16-16s-16 7.2-16 16V64H432c-8.8 0-16 7.2-16 16s7.2 16 16 16h16v16c0 8.8 7.2 16 16 16s16-7.2 16-16V96h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H480V48zM64 272c0-8.8-7.2-16-16-16s-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H32v16c0 8.8 7.2 16 16 16s16-7.2 16-16V320H80c8.8 0 16-7.2 16-16s-7.2-16-16-16H64V272zm64 224c0-8.8 7.2-16 16-16H368c8.8 0 16 7.2 16 16s7.2 16 16 16s16-7.2 16-16c0-26.5-21.5-48-48-48H144c-26.5 0-48 21.5-48 48c0 8.8 7.2 16 16 16s16-7.2 16-16z\"]\n};\nvar faAt = {\n prefix: 'fal',\n iconName: 'at',\n icon: [512, 512, [61946], \"40\", \"M256 32C132.3 32 32 132.3 32 256s100.3 224 224 224c8.8 0 16 7.2 16 16s-7.2 16-16 16C114.6 512 0 397.4 0 256S114.6 0 256 0S512 114.6 512 256v24c0 48.6-39.4 88-88 88c-33.4 0-62.5-18.7-77.4-46.1c-20.4 28-53.4 46.1-90.6 46.1c-61.9 0-112-50.1-112-112s50.1-112 112-112c31.3 0 59.7 12.9 80 33.6V176c0-8.8 7.2-16 16-16s16 7.2 16 16v80 24c0 30.9 25.1 56 56 56s56-25.1 56-56V256C480 132.3 379.7 32 256 32zm80 224a80 80 0 1 0 -160 0 80 80 0 1 0 160 0z\"]\n};\nvar faRectanglesMixed = {\n prefix: 'fal',\n iconName: 'rectangles-mixed',\n icon: [576, 512, [], \"e323\", \"M272 64c8.8 0 16 7.2 16 16V208c0 8.8-7.2 16-16 16H48c-8.8 0-16-7.2-16-16V80c0-8.8 7.2-16 16-16H272zM48 32C21.5 32 0 53.5 0 80V208c0 26.5 21.5 48 48 48H272c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H48zM528 64c8.8 0 16 7.2 16 16V336c0 8.8-7.2 16-16 16H432c-8.8 0-16-7.2-16-16V80c0-8.8 7.2-16 16-16h96zM432 32c-26.5 0-48 21.5-48 48V336c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H432zM112 336H288c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V352c0-8.8 7.2-16 16-16zM64 352v80c0 26.5 21.5 48 48 48H288c26.5 0 48-21.5 48-48V352c0-26.5-21.5-48-48-48H112c-26.5 0-48 21.5-48 48z\"]\n};\nvar faPhoneArrowUpRight = {\n prefix: 'fal',\n iconName: 'phone-arrow-up-right',\n icon: [512, 512, [\"phone-arrow-up\", \"phone-outgoing\"], \"e224\", \"M292.7 196.7L457.4 32H368c-8.8 0-16-7.2-16-16s7.2-16 16-16H496c8.8 0 16 7.2 16 16V144c0 8.8-7.2 16-16 16s-16-7.2-16-16V54.6L315.3 219.3c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6zm36.4 90c11.3-13.8 30.3-18.5 46.7-11.4l112 48c17.6 7.5 27.4 26.5 23.4 45.1l-24 112c-4 18.4-20.3 31.6-39.1 31.6l0 0c-6.1 0-12.2-.1-18.3-.4l-.1 0h0c-4.6-.2-9.1-.4-13.7-.8C183.5 494.5 0 300.7 0 64v0C0 45.1 13.2 28.8 31.6 24.9l112-24c18.7-4 37.6 5.8 45.1 23.4l48 112c7 16.4 2.4 35.4-11.4 46.7l-40.6 33.2c26.7 46 65.1 84.4 111.1 111.1L329 286.7zM448 480c3.8 0 7-2.6 7.8-6.3l24-112c.8-3.7-1.2-7.5-4.7-9l-112-48c-3.3-1.4-7.1-.5-9.3 2.3l-33.2 40.6c-9.9 12.1-27.2 15.3-40.8 7.4c-50.9-29.5-93.3-71.9-122.7-122.7c-7.9-13.6-4.7-30.9 7.4-40.8l40.6-33.2c2.8-2.3 3.7-6.1 2.3-9.3l-48-112c-1.5-3.5-5.3-5.5-9-4.7l-112 24C34.6 57 32 60.2 32 64v0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0c0 229.6 186.1 415.8 415.7 416l.3 0z\"]\n};\nvar faPhoneArrowUp = faPhoneArrowUpRight;\nvar faPhoneOutgoing = faPhoneArrowUpRight;\nvar faTrashCan = {\n prefix: 'fal',\n iconName: 'trash-can',\n icon: [448, 512, [61460, \"trash-alt\"], \"f2ed\", \"M164.2 39.5L148.9 64H299.1L283.8 39.5c-2.9-4.7-8.1-7.5-13.6-7.5H177.7c-5.5 0-10.6 2.8-13.6 7.5zM311 22.6L336.9 64H384h32 16c8.8 0 16 7.2 16 16s-7.2 16-16 16H416V432c0 44.2-35.8 80-80 80H112c-44.2 0-80-35.8-80-80V96H16C7.2 96 0 88.8 0 80s7.2-16 16-16H32 64h47.1L137 22.6C145.8 8.5 161.2 0 177.7 0h92.5c16.6 0 31.9 8.5 40.7 22.6zM64 96V432c0 26.5 21.5 48 48 48H336c26.5 0 48-21.5 48-48V96H64zm80 80V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V176c0-8.8 7.2-16 16-16s16 7.2 16 16zm96 0V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V176c0-8.8 7.2-16 16-16s16 7.2 16 16zm96 0V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V176c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faTrashAlt = faTrashCan;\nvar faCircleL = {\n prefix: 'fal',\n iconName: 'circle-l',\n icon: [512, 512, [], \"e114\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM192 144c0-8.8-7.2-16-16-16s-16 7.2-16 16V352c0 17.7 14.3 32 32 32H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H192V144z\"]\n};\nvar faHeadSideGoggles = {\n prefix: 'fal',\n iconName: 'head-side-goggles',\n icon: [512, 512, [\"head-vr\"], \"f6ea\", \"M2.3 256c5.8 40.5 22.4 77.5 46.8 108C58.5 375.6 64 388.6 64 401.4V496c0 8.8 7.2 16 16 16s16-7.2 16-16V401.4c0-22.1-9.5-41.9-21.9-57.4c-20-25-33.9-55-39.4-88H2.3zM80.9 96C116 56.7 167.1 32 224 32h16c36.1 0 70.6 11.9 98.9 32H288c-28.4 0-54 12.4-71.6 32H80.9zm-45.1 6.6C14.6 113 0 134.8 0 160c0 35.3 28.7 64 64 64H216.4c17.6 19.6 43.1 32 71.6 32H400h64c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48H400 387.6C350.2 24.7 296.8 0 240 0H224C145 0 75.6 40.8 35.7 102.6zM197.5 192H64c-17.7 0-32-14.3-32-32s14.3-32 32-32H197.5c-3.5 10-5.5 20.8-5.5 32s1.9 22 5.5 32zm313.3 96H477.2c-4.5 9.5-14.2 16-25.4 16H432c-8.8 0-16 7.2-16 16v64c0 17.7-14.3 32-32 32H304c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V448h64c35.3 0 64-28.7 64-64V336h3.8c29.1 0 53.3-20.6 58.9-48zM288 96h96V224H288c-35.3 0-64-28.7-64-64s28.7-64 64-64zM416 224V96h48c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16H416z\"]\n};\nvar faHeadVr = faHeadSideGoggles;\nvar faTextHeight = {\n prefix: 'fal',\n iconName: 'text-height',\n icon: [576, 512, [], \"f034\", \"M491.3 36.7c-6.2-6.2-16.4-6.2-22.6 0l-80 80c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L464 86.6V425.4l-52.7-52.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l80 80c6.2 6.2 16.4 6.2 22.6 0l80-80c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L496 425.4V86.6l52.7 52.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-80-80zM32 32C14.3 32 0 46.3 0 64v64c0 8.8 7.2 16 16 16s16-7.2 16-16V64H144l0 384H80c-8.8 0-16 7.2-16 16s7.2 16 16 16H240c8.8 0 16-7.2 16-16s-7.2-16-16-16H176l0-384H288v64c0 8.8 7.2 16 16 16s16-7.2 16-16V64c0-17.7-14.3-32-32-32H32z\"]\n};\nvar faUserXmark = {\n prefix: 'fal',\n iconName: 'user-xmark',\n icon: [640, 512, [\"user-times\"], \"f235\", \"M224 32a96 96 0 1 1 0 192 96 96 0 1 1 0-192zm0 224A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 80h91.4c80 0 145 64.3 146.3 144H32c1.2-79.7 66.2-144 146.3-144zm0-32C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304H178.3zM468.7 148.7c-6.2 6.2-6.2 16.4 0 22.6L521.4 224l-52.7 52.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L544 246.6l52.7 52.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L566.6 224l52.7-52.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L544 201.4l-52.7-52.7c-6.2-6.2-16.4-6.2-22.6 0z\"]\n};\nvar faUserTimes = faUserXmark;\nvar faFaceHandYawn = {\n prefix: 'fal',\n iconName: 'face-hand-yawn',\n icon: [512, 512, [], \"e379\", \"M32 256C32 132.3 132.3 32 256 32s224 100.3 224 224c0 57.4-21.6 109.7-57 149.3c-5.9 6.6-5.3 16.7 1.3 22.6s16.7 5.3 22.6-1.3C487.3 381.4 512 321.6 512 256C512 114.6 397.4 0 256 0S0 114.6 0 256c0 57.6 19.1 110.8 51.2 153.6c5.3 7.1 15.3 8.5 22.4 3.2s8.5-15.3 3.2-22.4C48.7 353 32 306.5 32 256zm233.3 45.3L248 318.6l0 0c-2.6 2.6-2.6 6.8 0 9.4s6.8 2.6 9.4 0l0 0 17.3-17.3 34-34 16-16c3.1-3.1 7.2-4.7 11.3-4.7s8.2 1.6 11.3 4.7s4.7 7.2 4.7 11.3s-1.6 8.2-4.7 11.3l0 0-16 16-34 34L280 350.6c-2.6 2.6-2.6 6.8 0 9.4s6.8 2.6 9.4 0l0 0 17.3-17.3 34-34 0 0 0 0c6.2-6.2 16.4-6.2 22.6 0c.7 .7 1.3 1.4 1.8 2.1c4.4 6.2 3.8 14.9-1.8 20.5l0 0-5.1 5.1-26.9 26.9-2 2L312 382.6c-2.6 2.6-2.6 6.8 0 9.4s6.8 2.6 9.4 0l17.3-17.3 2-2c6.2-6.2 16.4-6.2 22.6 0c.7 .7 1.3 1.4 1.8 2.1c4.4 6.2 3.8 14.9-1.8 20.5L344 414.6l-37.5 37.5C288.7 470 264.4 480 239.2 480c-52.6 0-95.2-42.6-95.2-95.2V352 298.4c0-11 9-20 20-20c9.1 0 16.8 6.1 19.2 14.5c.2 .8 .4 1.7 .6 2.5c.1 1 .2 2 .2 3v11.7 8c0 7.1 8.6 10.7 13.7 5.7l5.7-5.7 10.4-10.4 2.3-2.3 9.4-9.4 0 0 51.3-51.3c5.6-5.6 14.3-6.2 20.5-1.8c.7 .5 1.4 1.1 2.1 1.8c6.2 6.2 6.2 16.4 0 22.6l0 0-34 34zm-11.3-79.2L207 269.1c-9.4-13.7-25.1-22.7-43-22.7c-28.7 0-52 23.3-52 52V352v32.8C112 455.1 168.9 512 239.2 512c33.7 0 66.1-13.4 89.9-37.3l56.8-56.8c18.1-18.1 18.7-47.1 1.8-65.9c16.9-18.8 16.3-47.8-1.8-65.9c-1-1-2.1-2-3.2-3c3.7-15.7-.5-32.8-12.8-45s-29.4-16.5-45-12.8c-.9-1.1-1.9-2.2-3-3.2c-18.7-18.7-49.1-18.7-67.9 0zM220.5 110c-5.5-6.9-15.6-8-22.5-2.5l-80 64c-6.9 5.5-8 15.6-2.5 22.5s15.6 8 22.5 2.5l80-64c6.9-5.5 8-15.6 2.5-22.5zM294 132.5l80 64c6.9 5.5 17 4.4 22.5-2.5s4.4-17-2.5-22.5l-80-64c-6.9-5.5-17-4.4-22.5 2.5s-4.4 17 2.5 22.5z\"]\n};\nvar faGaugeSimpleMin = {\n prefix: 'fal',\n iconName: 'gauge-simple-min',\n icon: [512, 512, [\"tachometer-slowest\"], \"f62d\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-192a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 96c35.3 0 64-28.7 64-64s-28.7-64-64-64c-17.5 0-33.4 7-44.9 18.4L104.2 242.3c-7.6-4.5-17.4-2.1-22 5.5s-2.1 17.4 5.5 22l106.8 64.1c-1.7 5.8-2.6 11.9-2.6 18.2c0 35.3 28.7 64 64 64z\"]\n};\nvar faTachometerSlowest = faGaugeSimpleMin;\nvar faStethoscope = {\n prefix: 'fal',\n iconName: 'stethoscope',\n icon: [576, 512, [129658], \"f0f1\", \"M127 10.4c3.1 8.3-1.1 17.5-9.4 20.6L74.4 47.2C68.1 49.5 64 55.5 64 62.2V192c0 70.7 57.3 128 128 128s128-57.3 128-128V62.2c0-6.7-4.1-12.6-10.4-15L266.4 31c-8.3-3.1-12.5-12.3-9.4-20.6s12.3-12.5 20.6-9.4l43.2 16.2c18.7 7 31.1 24.9 31.1 44.9V192c0 83-63.1 151.2-144 159.2v.8c0 70.7 57.3 128 128 128s128-57.3 128-128V254c-27.6-7.1-48-32.2-48-62c0-35.3 28.7-64 64-64s64 28.7 64 64c0 29.8-20.4 54.9-48 62v98c0 88.4-71.6 160-160 160s-160-71.6-160-160v-.8C95.1 343.2 32 275 32 192V62.2c0-20 12.4-37.9 31.1-44.9L106.4 1c8.3-3.1 17.5 1.1 20.6 9.4zM480 224a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faCoffin = {\n prefix: 'fal',\n iconName: 'coffin',\n icon: [384, 512, [9904], \"f6c6\", \"M126.5 32l131 0 91 104c2.3 2.6 3.6 6 3.6 9.5c0 1.4-.2 2.7-.6 4L255.9 480l-127.9 0L32.6 149.4c-.4-1.3-.6-2.6-.6-4c0-3.5 1.3-6.9 3.6-9.5l91-104zM102.4 10.9l-91 104C4.1 123.3 0 134.2 0 145.4c0 4.4 .6 8.7 1.8 12.9L97.3 488.9c4 13.7 16.5 23.1 30.7 23.1H255.9c14.3 0 26.8-9.4 30.7-23.1l95.5-330.6c1.2-4.2 1.8-8.5 1.8-12.9c0-11.2-4.1-22.1-11.5-30.6l-91-104C275.5 4 266.7 0 257.5 0h-131c-9.2 0-18 4-24.1 10.9z\"]\n};\nvar faMessage = {\n prefix: 'fal',\n iconName: 'message',\n icon: [512, 512, [\"comment-alt\"], \"f27a\", \"M160 384c17.7 0 32 14.3 32 32v48l98.1-73.6c5.5-4.2 12.3-6.4 19.2-6.4H448c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H64C46.3 32 32 46.3 32 64V352c0 17.7 14.3 32 32 32h96zM0 64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H309.3L185.6 508.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V448 416H128 64c-35.3 0-64-28.7-64-64V64z\"]\n};\nvar faCommentAlt = faMessage;\nvar faSalad = {\n prefix: 'fal',\n iconName: 'salad',\n icon: [512, 512, [129367, \"bowl-salad\"], \"f81e\", \"M241.1 32c37.1 0 68.9 22.7 82.3 55c2.8 6.6 9.6 10.6 16.7 9.7c3.9-.5 7.8-.7 11.8-.7c7.4 0 14.6 .8 21.5 2.4C382.1 96.8 391 96 400 96c15.3 0 30 2.4 43.8 6.8C420.5 78.9 388 64 352 64c-1.3 0-2.7 0-4 .1C327.6 26 287.4 0 241.1 0c-46.3 0-86.5 26-106.9 64.1c-2.1-.1-4.1-.1-6.2-.1C57.3 64 0 121.3 0 192c0 23.3 6.2 45.2 17.1 64H56.4C41.2 239 32 216.6 32 192c0-53 43-96 96-96c4.6 0 9.2 .3 13.6 1c7.2 1 14.3-3 17-9.7C172 54.8 203.9 32 241.1 32zM400 160c44.2 0 80 35.8 80 80c0 5.5-.6 10.8-1.6 16h32.5c.7-5.2 1.1-10.6 1.1-16c0-61.9-50.1-112-112-112s-112 50.1-112 112c0 5.4 .4 10.8 1.1 16h32.5c-1-5.2-1.6-10.5-1.6-16c0-44.2 35.8-80 80-80zM129.3 457.1c-2.7-9-9.2-16.4-17.8-20.2C65.9 417 33.9 372.3 32.1 320H479.9c-1.8 52.3-33.9 97-79.4 116.9c-8.6 3.8-15.2 11.2-17.8 20.2C378.7 470.4 366.5 480 352 480H160c-14.5 0-26.7-9.6-30.7-22.9zM27.4 288C12.3 288 0 300.3 0 315.4c0 67.4 40.6 125.4 98.6 150.8C106.5 492.7 131 512 160 512H352c29 0 53.5-19.3 61.4-45.7c58.1-25.4 98.6-83.4 98.6-150.8c0-15.1-12.3-27.4-27.4-27.4H27.4zM256 112c0-8.8-7.2-16-16-16s-16 7.2-16 16V240c0 8.8 7.2 16 16 16s16-7.2 16-16V112zM107.3 148.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l80 80c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-80-80z\"]\n};\nvar faBowlSalad = faSalad;\nvar faInfo = {\n prefix: 'fal',\n iconName: 'info',\n icon: [192, 512, [], \"f129\", \"M64 64a32 32 0 1 1 64 0A32 32 0 1 1 64 64zM16 176c0-8.8 7.2-16 16-16H96c8.8 0 16 7.2 16 16V448h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H80V192H32c-8.8 0-16-7.2-16-16z\"]\n};\nvar faRobotAstromech = {\n prefix: 'fal',\n iconName: 'robot-astromech',\n icon: [512, 512, [], \"e2d2\", \"M256 0C176.5 0 112 64.5 112 144v16H96c-35.3 0-64 28.7-64 64V420.2L2.4 479.5C.8 482.6 0 486 0 489.5C0 501.9 10.1 512 22.5 512H128c8.8 0 16-7.2 16-16V406.6l36.7 36.7c3 3 7.1 4.7 11.3 4.7H320c4.2 0 8.3-1.7 11.3-4.7L368 406.6V496c0 8.8 7.2 16 16 16H489.5c12.4 0 22.5-10.1 22.5-22.5c0-3.5-.8-6.9-2.4-10L480 420.2V224c0-35.3-28.7-64-64-64H400V144C400 64.5 335.5 0 256 0zM400 192h16c17.7 0 32 14.3 32 32V424c0 2.5 .6 4.9 1.7 7.2L474.1 480H400V368 192zm-32 0V361.4L313.4 416H198.6L144 361.4V192H368zm-256 0V368 480H37.9l24.4-48.8c1.1-2.2 1.7-4.7 1.7-7.2V224c0-17.7 14.3-32 32-32h16zm32-48c0-61.9 50.1-112 112-112s112 50.1 112 112v16H144V144zm80-16a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm80 0a16 16 0 1 0 0-32 16 16 0 1 0 0 32zM192 240c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H208c-8.8 0-16 7.2-16 16zm0 64c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H208c-8.8 0-16 7.2-16 16z\"]\n};\nvar faRingDiamond = {\n prefix: 'fal',\n iconName: 'ring-diamond',\n icon: [384, 512, [], \"e5ab\", \"M136 0c-5.7 0-11 3.1-13.9 8.1l-32 56c-3 5.3-2.8 11.8 .6 16.8l38.4 57.7C54 164.6 0 236 0 320C0 426 86 512 192 512s192-86 192-192c0-84-54-155.4-129.1-181.5l38.4-57.7c3.4-5 3.6-11.6 .6-16.8l-32-56C259 3.1 253.7 0 248 0H136zm85.9 130.3c-9.7-1.5-19.7-2.3-29.9-2.3s-20.2 .8-29.9 2.3l-39.3-59L145.3 32h93.4l22.5 39.4-39.3 59zM32 320a160 160 0 1 1 320 0A160 160 0 1 1 32 320z\"]\n};\nvar faFonduePot = {\n prefix: 'fal',\n iconName: 'fondue-pot',\n icon: [512, 512, [129749], \"e40d\", \"M282.1 32.3c-4.3-1.2-8.7 1.4-9.8 5.6l-24 88c-1.2 4.3 1.4 8.7 5.6 9.8s8.7-1.4 9.8-5.6l24-88c1.2-4.3-1.4-8.7-5.6-9.8zM262.5 167.5L255.1 192H221.7l9.7-32.4c-12.3-9.6-18.4-26-14-42.1l24-88c5.8-21.3 27.8-33.9 49.1-28.1s33.9 27.8 28.1 49.1l-24 88c-4.3 15.6-17.2 26.5-32.1 29zM223.4 256h1.2c-.4 0-.8 0-1.2 0zm88 0h1.1c-.4 0-.7 0-1.1 0zm65.7-88.6L361.5 192H323.6l26.9-42.2c-8.3-12.7-8.9-29.6-.2-43.3l56-88C418.1-.1 442.8-5.6 461.5 6.3s24.1 36.6 12.3 55.2l-56 88c-8.9 14-25.2 20.6-40.6 17.9zM444.3 33.3c-3.7-2.4-8.7-1.3-11 2.5l-56 88c-2.4 3.7-1.3 8.7 2.5 11s8.7 1.3 11-2.5l56-88c2.4-3.7 1.3-8.7-2.5-11zM32 256v64c0 70.7 57.3 128 128 128H288c70.7 0 128-57.3 128-128V256H160v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V272c0-8.8-7.2-16-16-16s-16 7.2-16 16v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V256H32zM0 256c0-17.7 14.3-32 32-32H416h8 24 48c8.8 0 16 7.2 16 16s-7.2 16-16 16H448v64c0 52.3-25.1 98.8-64 128v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V466.7c-19.6 8.6-41.2 13.3-64 13.3H160c-22.8 0-44.4-4.8-64-13.3V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V448C25.1 418.8 0 372.3 0 320V256z\"]\n};\nvar faTheta = {\n prefix: 'fal',\n iconName: 'theta',\n icon: [384, 512, [], \"f69e\", \"M48 256c0-58.9 17.1-111.6 43.9-149.1C118.7 69.4 154.3 48 192 48s73.3 21.4 100.1 58.9C318.9 144.4 336 197.1 336 256s-17.1 111.6-43.9 149.1C265.3 442.6 229.7 464 192 464s-73.3-21.4-100.1-58.9C65.1 367.6 48 314.9 48 256zM192 16C141.3 16 96.9 44.8 65.8 88.3C34.7 131.9 16 191.2 16 256s18.7 124.1 49.8 167.7C96.9 467.2 141.3 496 192 496s95.1-28.8 126.2-72.3C349.3 380.1 368 320.8 368 256s-18.7-124.1-49.8-167.7C287.1 44.8 242.7 16 192 16zM112 240c-8.8 0-16 7.2-16 16s7.2 16 16 16H272c8.8 0 16-7.2 16-16s-7.2-16-16-16H112z\"]\n};\nvar faFaceHandPeeking = {\n prefix: 'fal',\n iconName: 'face-hand-peeking',\n icon: [640, 512, [129763], \"e481\", \"M185.6 76.8C223 48.7 269.6 32 320 32c66.3 0 125.9 28.8 167 74.7c5.9 6.6 16 7.1 22.6 1.3s7.1-16 1.3-22.6C464 33 395.8 0 320 0C262.4 0 209.2 19.1 166.4 51.2c-7.1 5.3-8.5 15.3-3.2 22.4s15.3 8.5 22.4 3.2zM130.5 375.5c-4.7-7.5-14.6-9.7-22.1-5s-9.7 14.6-5 22.1C148.7 464.3 228.8 512 320 512c65.6 0 125.4-24.7 170.7-65.2c6.6-5.9 7.1-16 1.3-22.6s-16-7.1-22.6-1.3c-39.6 35.5-91.9 57-149.3 57c-79.8 0-149.8-41.7-189.5-104.5zM415 232c.7-2.6 1-5.2 1-8c0-1.6-.1-3.2-.4-4.8L433.6 232H415zm-53.8 14.5c-5.8 6.9-9.2 15.8-9.2 25.5c0 13.4 6.6 25.3 16.7 32.5c-.5 2.4-.7 4.9-.7 7.5c0 22.1 17.9 40 40 40h8c0 .3 0 .6 0 .9c0 22.1 17.9 40 40 40h64.8c31.6 0 61.9-12.6 84.3-34.9c46.2-46.2 46.5-120.9 1-167.6l0 0-.2-.1-.8-.8-.1-.1L560 144.3c-17.2-17.2-45-17.2-62.2 0c-7.3 7.3-11.5 16.6-12.6 26.2l-37.9-27.1c-18-12.8-43-8.7-55.8 9.3c-8.5 11.9-9.6 26.9-4 39.4c-1.1-.1-2.3-.2-3.4-.2c-17.7 0-32 14.3-32 32c0 8.8 3.5 16.7 9.2 22.5zM289.7 376.7c7.1-5.1 17.8-8.7 30.3-8.7s23.2 3.6 30.3 8.7c7.2 5.1 9.7 10.7 9.7 15.3s-2.5 10.2-9.7 15.3c-7.1 5.1-17.8 8.7-30.3 8.7s-23.2-3.6-30.3-8.7c-7.2-5.1-9.7-10.7-9.7-15.3s2.5-10.2 9.7-15.3zm-18.6-26C258 360.1 248 374.4 248 392s10 31.9 23.1 41.3c13.1 9.4 30.5 14.7 48.9 14.7s35.8-5.3 48.9-14.7C382 423.9 392 409.6 392 392s-10-31.9-23.1-41.3C355.8 341.3 338.4 336 320 336s-35.8 5.3-48.9 14.7zM379.4 144.1c-2-6.3-8.7-9.8-15-7.9C327.1 147.9 300 182.8 300 224c0 20.7 6.8 39.8 18.4 55.2c4 5.3 11.5 6.4 16.8 2.4s6.4-11.5 2.4-16.8C329.1 253.4 324 239.3 324 224c0-30.4 20-56.2 47.6-64.9c6.3-2 9.8-8.7 7.9-15zM96 88.3L34.9 149.4l0 0-.8 .8 0 0-.1 .2c-45.5 46.6-45.2 121.3 1 167.6c22.4 22.4 52.7 34.9 84.3 34.9H184c22.1 0 40-17.9 40-40c0-.3 0-.6 0-.9h8c22.1 0 40-17.9 40-40c0-2.6-.2-5.1-.7-7.5c10.1-7.3 16.7-19.1 16.7-32.5s-6.6-25.3-16.7-32.5c.5-2.4 .7-4.9 .7-7.5c0-22.1-17.9-40-40-40H156.8l1.5-1.5c17.2-17.2 17.2-45 0-62.2s-45-17.2-62.2 0zm92.9 209.3c6.2 2 10.7 7.6 11.1 14.3c0 .3 0 .6 0 .9c0 8.8-7.2 16-16 16H119.2c-25.2 0-49.5-10-67.3-27.9c-36.9-36.9-37.2-96.6-.8-133.8l.8-.8L113 105.3c7.8-7.8 20.5-7.8 28.3 0s7.8 20.5 0 28.3L122.8 152l-.5 .5-4.2 4.2-5.7 5.7c-5 5-1.5 13.7 5.7 13.7h8H132h.7H232c8.8 0 16 7.2 16 16v0l0 .2 0 0c-.1 8.8-7.2 15.8-16 15.8l-42.8 0H169.6c-2.2 0-4 1.8-4 4s1.8 4 4 4h19.6H232h16c4.6 0 8.7 1.9 11.6 5c2.7 2.9 4.4 6.8 4.4 11s-1.7 8.2-4.4 11c-2.9 3.1-7 5-11.6 5H232l-42.8 0H169.6c-2.2 0-4 1.8-4 4s1.8 4 4 4h19.6H232c8.8 0 16 7.1 16 15.9l0 0 0 .1v0c0 8.8-7.2 16-16 16H215.3 189.1 184 170c-2.5 0-4.5 2-4.5 4.5s2 4.5 4.5 4.5h14c1.7 0 3.3 .3 4.9 .8zM376 272c0-8.8 7.2-16 16-16h74.6c7.4 0 13.4-6 13.4-13.4c0-4.3-2.1-8.4-5.6-10.9L414.7 189c-7.2-5.1-8.9-15.1-3.7-22.3s15.1-8.9 22.3-3.7l73.1 52.2 3.6 2.5 3.6 2.5 1.5 1.1c2.3 1.6 5.1 2.3 7.8 2c9.3-1.1 13.2-12.4 6.6-19l-1.3-1.3-3.1-3.1-3.1-3.1-7.3-7.3c-7.8-7.8-7.8-20.5 0-28.3s20.5-7.8 28.3 0l45.1 45.1 .8 .8c36.4 37.2 36.1 96.9-.8 133.8c-17.9 17.9-42.1 27.9-67.3 27.9H456c-8.8 0-16-7.2-16-16c0-.3 0-.6 0-.9c.5-8.4 7.4-15.1 16-15.1h.5 19c2.5 0 4.5-2 4.5-4.5s-2-4.5-4.5-4.5h-19H456l-31.3 0H408c-8.8 0-16-7.2-16-16v-.1c0-8.8 7.2-15.9 16-15.9h48.4H476c2.2 0 4-1.8 4-4s-1.8-4-4-4H456.4 408 392c-4.6 0-8.7-1.9-11.6-5c-2.7-2.9-4.4-6.8-4.4-11z\"]\n};\nvar faSquareUser = {\n prefix: 'fal',\n iconName: 'square-user',\n icon: [448, 512, [], \"e283\", \"M384 64c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32c0-70.7-57.3-128-128-128H192c-70.7 0-128 57.3-128 128c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32H384zM352 448H96c0-53 43-96 96-96h64c53 0 96 43 96 96zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM224 256a48 48 0 1 1 0-96 48 48 0 1 1 0 96zm-80-48a80 80 0 1 0 160 0 80 80 0 1 0 -160 0z\"]\n};\nvar faDownLeftAndUpRightToCenter = {\n prefix: 'fal',\n iconName: 'down-left-and-up-right-to-center',\n icon: [512, 512, [\"compress-alt\"], \"f422\", \"M447 256c18.2 0 33-14.8 33-33c0-8.7-3.5-17.1-9.7-23.3L442.6 172l55.7-55.7c15.6-15.6 15.6-40.9 0-56.6L452.3 13.7C436.7-2 411.3-2 395.7 13.7L340 69.4 312.3 41.7C306.1 35.5 297.7 32 289 32c-18.2 0-33 14.8-33 33l0 159c0 17.7 14.3 32 32 32l159 0zm.7-33.7c.2 .2 .3 .4 .3 .7c0 .5-.4 1-1 1l-159 0 0-159c0-.5 .4-1 1-1c.3 0 .5 .1 .7 .3l39 39c6.2 6.2 16.4 6.2 22.6 0l67-67c3.1-3.1 8.2-3.1 11.3 0l46.1 46.1c3.1 3.1 3.1 8.2 0 11.3l-67 67c-3 3-4.7 7.1-4.7 11.3s1.7 8.3 4.7 11.3l39 39zM65 256c-18.2 0-33 14.8-33 33c0 8.7 3.5 17.1 9.7 23.3L69.4 340 13.7 395.7C-2 411.3-2 436.7 13.7 452.3l46.1 46.1c15.6 15.6 40.9 15.6 56.6 0L172 442.6l27.7 27.7c6.2 6.2 14.6 9.7 23.3 9.7c18.2 0 33-14.8 33-33V288c0-17.7-14.3-32-32-32H65zm-1 33c0-.5 .4-1 1-1H224V447c0 .5-.4 1-1 1c-.3 0-.5-.1-.7-.3l-39-39c-6.2-6.2-16.4-6.2-22.6 0l-67 67c-3.1 3.1-8.2 3.1-11.3 0L36.3 429.7c-3.1-3.1-3.1-8.2 0-11.3l67-67c3-3 4.7-7.1 4.7-11.3s-1.7-8.3-4.7-11.3l-39-39c-.2-.2-.3-.4-.3-.7z\"]\n};\nvar faCompressAlt = faDownLeftAndUpRightToCenter;\nvar faExplosion = {\n prefix: 'fal',\n iconName: 'explosion',\n icon: [576, 512, [], \"e4e9\", \"M543.4 20.4c2.2-7.7-1.7-15.9-9-19.1s-16-.4-20.1 6.4L342.2 294.6 303.5 140.1C301.7 133 295.3 128 288 128s-13.7 5-15.5 12.1L231.3 304.7l-108-108c-5.2-5.2-13.4-6.2-19.7-2.3s-9.1 11.6-6.8 18.7l39.8 119.5L49.2 320.2c-6.6-.9-13 2.3-16.2 8.1s-2.5 13 1.8 18.1l81 96 4.8 5.7h41.9l-22.2-26.3-54-64 71.5 10.1c5.5 .8 11-1.3 14.5-5.6s4.6-10 2.9-15.3l-26.6-79.7 80.1 80.1c4.1 4.1 10 5.6 15.6 4.1s9.9-5.9 11.3-11.5L288 210l32.5 129.9c1.6 6.3 6.8 11 13.2 11.9s12.7-2 16.1-7.6L479.3 128.3 416.6 347.6c-1.5 5.3-.2 11 3.4 15.1s9.2 6 14.6 5.1l53.5-8.9-52.4 62.9L413.8 448h41.7l4.8-5.8 80-96c4.3-5.1 4.9-12.4 1.6-18.2s-9.9-8.9-16.5-7.8l-71 11.8 89-311.7zM304 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V80c0 8.8 7.2 16 16 16s16-7.2 16-16V16zM16 480c-8.8 0-16 7.2-16 16s7.2 16 16 16H208 368 560c8.8 0 16-7.2 16-16s-7.2-16-16-16H382.7c-7.6-45.4-47.1-80-94.7-80s-87.1 34.6-94.7 80H16zm210 0c7.1-27.6 32.2-48 62-48s54.9 20.4 62 48H226z\"]\n};\nvar faFileLines = {\n prefix: 'fal',\n iconName: 'file-lines',\n icon: [384, 512, [128441, 128462, 61686, \"file-alt\", \"file-text\"], \"f15c\", \"M320 480H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H192V144c0 26.5 21.5 48 48 48H352V448c0 17.7-14.3 32-32 32zM240 160c-8.8 0-16-7.2-16-16V32.5c2.8 .7 5.4 2.1 7.4 4.2L347.3 152.6c2.1 2.1 3.5 4.6 4.2 7.4H240zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V163.9c0-12.7-5.1-24.9-14.1-33.9L254.1 14.1c-9-9-21.2-14.1-33.9-14.1H64zm48 256c-8.8 0-16 7.2-16 16s7.2 16 16 16H272c8.8 0 16-7.2 16-16s-7.2-16-16-16H112zm0 64c-8.8 0-16 7.2-16 16s7.2 16 16 16H272c8.8 0 16-7.2 16-16s-7.2-16-16-16H112zm0 64c-8.8 0-16 7.2-16 16s7.2 16 16 16H272c8.8 0 16-7.2 16-16s-7.2-16-16-16H112z\"]\n};\nvar faFileAlt = faFileLines;\nvar faFileText = faFileLines;\nvar faWaveSquare = {\n prefix: 'fal',\n iconName: 'wave-square',\n icon: [640, 512, [], \"f83e\", \"M192 64c-8.8 0-16 7.2-16 16V224c0 26.5-21.5 48-48 48H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H128c8.8 0 16-7.2 16-16V80c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48V432c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16V288c0-26.5 21.5-48 48-48H624c8.8 0 16 7.2 16 16s-7.2 16-16 16H512c-8.8 0-16 7.2-16 16V432c0 26.5-21.5 48-48 48H352c-26.5 0-48-21.5-48-48V80c0-8.8-7.2-16-16-16H192z\"]\n};\nvar faRing = {\n prefix: 'fal',\n iconName: 'ring',\n icon: [512, 512, [], \"f70b\", \"M93.1 127.3C133.9 108.2 191.5 96 256 96s122.1 12.2 162.9 31.3C461.1 147 480 171 480 192c0 14.3-8.7 30-27.6 44.8c-6.3-3.7-13-7.2-19.9-10.4C386.5 204.8 324.1 192 256 192s-130.5 12.8-176.5 34.3c-6.9 3.2-13.6 6.7-19.9 10.4C40.7 222 32 206.3 32 192c0-21 18.9-45 61.1-64.7zM480 255.3V320c0 21-18.9 45-61.1 64.7C378.1 403.8 320.5 416 256 416s-122.1-12.2-162.9-31.3C50.9 365 32 341 32 320V255.3c13.2 11.8 29.5 22 47.5 30.4C125.5 307.2 187.9 320 256 320s130.5-12.8 176.5-34.3c18-8.4 34.4-18.6 47.5-30.4zM0 192V320c0 40.8 34.8 72.8 79.5 93.7C125.5 435.2 187.9 448 256 448s130.5-12.8 176.5-34.3C477.2 392.8 512 360.8 512 320V192c0-40.8-34.8-72.8-79.5-93.7C386.5 76.8 324.1 64 256 64S125.5 76.8 79.5 98.3C34.8 119.2 0 151.2 0 192zm93.1 64.7l-1.5-.7 1.5-.7C133.9 236.2 191.5 224 256 224s122.1 12.2 162.9 31.3l1.5 .7-1.5 .7C378.1 275.8 320.5 288 256 288s-122.1-12.2-162.9-31.3z\"]\n};\nvar faBuildingUn = {\n prefix: 'fal',\n iconName: 'building-un',\n icon: [384, 512, [], \"e4d9\", \"M64 32C46.3 32 32 46.3 32 64V448c0 17.7 14.3 32 32 32h64V416c0-35.3 28.7-64 64-64s64 28.7 64 64v64h64c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H64zM224 416c0-17.7-14.3-32-32-32s-32 14.3-32 32v64h64V416zm-96 96H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H256 224 160 128zM248 224h48c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H248c-13.3 0-24-10.7-24-24V248c0-13.3 10.7-24 24-24zm8 64h32V256H256v32zM64 248c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H88c-13.3 0-24-10.7-24-24V248zm32 8v32h32V256H96zM237.3 71.1l34.7 52V80c0-8.8 7.2-16 16-16s16 7.2 16 16v96c0 7.1-4.6 13.3-11.4 15.3s-14-.6-17.9-6.4l-34.7-52V176c0 8.8-7.2 16-16 16s-16-7.2-16-16V80c0-7.1 4.6-13.3 11.4-15.3s14 .6 17.9 6.4zM112 80v64c0 8.8 7.2 16 16 16s16-7.2 16-16V80c0-8.8 7.2-16 16-16s16 7.2 16 16v64c0 26.5-21.5 48-48 48s-48-21.5-48-48V80c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faDiceThree = {\n prefix: 'fal',\n iconName: 'dice-three',\n icon: [448, 512, [9858], \"f527\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm128 40a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm72 120a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm120 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faTirePressureWarning = {\n prefix: 'fal',\n iconName: 'tire-pressure-warning',\n icon: [512, 512, [], \"f633\", \"M416 0c-8.8 0-16 7.2-16 16V27.6c0 42.2 9.8 83.9 28.7 121.6l5 9.9c.2 .3 .3 .6 .5 .9c18 30.9 36.4 73.1 35.8 120.5c-.6 45.5-18.7 97.9-76.2 151.4H118.2C60.7 378.5 42.6 326.1 42 280.6c-.6-47.4 17.8-89.7 35.8-120.5c.2-.3 .3-.6 .5-.9l5-9.9C102.2 111.4 112 69.8 112 27.6V16c0-8.8-7.2-16-16-16S80 7.2 80 16V27.6c0 37.3-8.7 74-25.3 107.3l-4.7 9.5C30.7 177.5 9.3 225.5 10 281c.7 55 23.1 115.3 86 174.1c0 .3 0 .6 0 .9v40c0 8.8 7.2 16 16 16s16-7.2 16-16V464h64v32c0 8.8 7.2 16 16 16s16-7.2 16-16V464h64v32c0 8.8 7.2 16 16 16s16-7.2 16-16V464h64v32c0 8.8 7.2 16 16 16s16-7.2 16-16V456c0-.3 0-.6 0-.9c63-58.8 85.3-119.1 86-174.1c.7-55.5-20.7-103.5-39.9-136.6l-4.7-9.5C440.7 101.6 432 64.8 432 27.6V16c0-8.8-7.2-16-16-16zM256 96c-8.8 0-16 7.2-16 16V240c0 8.8 7.2 16 16 16s16-7.2 16-16V112c0-8.8-7.2-16-16-16zm24 224a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faWifiFair = {\n prefix: 'fal',\n iconName: 'wifi-fair',\n icon: [640, 512, [\"wifi-2\"], \"f6ab\", \"M139.3 298.7C185.6 252.5 249.5 224 320 224s134.4 28.5 180.7 74.7c6.3 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6c-52.1-51.9-123.9-84-203.3-84s-151.2 32.1-203.3 84c-6.3 6.2-6.3 16.4 0 22.6s16.4 6.3 22.6 0zM288 416a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm96 0a64 64 0 1 0 -128 0 64 64 0 1 0 128 0z\"]\n};\nvar faWifi2 = faWifiFair;\nvar faCalendarDays = {\n prefix: 'fal',\n iconName: 'calendar-days',\n icon: [448, 512, [\"calendar-alt\"], \"f073\", \"M112 0c8.8 0 16 7.2 16 16V64H320V16c0-8.8 7.2-16 16-16s16 7.2 16 16V64h32c35.3 0 64 28.7 64 64v32 32V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192 160 128C0 92.7 28.7 64 64 64H96V16c0-8.8 7.2-16 16-16zM416 192H312v72H416V192zm0 104H312v80H416V296zm0 112H312v72h72c17.7 0 32-14.3 32-32V408zM280 376V296H168v80H280zM168 408v72H280V408H168zm-32-32V296H32v80H136zM32 408v40c0 17.7 14.3 32 32 32h72V408H32zm0-144H136V192H32v72zm136 0H280V192H168v72zM384 96H64c-17.7 0-32 14.3-32 32v32H416V128c0-17.7-14.3-32-32-32z\"]\n};\nvar faCalendarAlt = faCalendarDays;\nvar faMp3Player = {\n prefix: 'fal',\n iconName: 'mp3-player',\n icon: [384, 512, [], \"f8ce\", \"M64 32C46.3 32 32 46.3 32 64V448c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H64zM0 64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM112 336a80 80 0 1 0 160 0 80 80 0 1 0 -160 0zm80 112a112 112 0 1 1 0-224 112 112 0 1 1 0 224zM168 336a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM96 96v64H288V96H96zM64 96c0-17.7 14.3-32 32-32H288c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V96z\"]\n};\nvar faAnchorCircleCheck = {\n prefix: 'fal',\n iconName: 'anchor-circle-check',\n icon: [640, 512, [], \"e4aa\", \"M336 80a48 48 0 1 1 -96 0 48 48 0 1 1 96 0zM288 0c-44.2 0-80 35.8-80 80c0 38.7 27.5 71 64.1 78.4c-.1 .5-.1 1-.1 1.6v32H208c-8.8 0-16 7.2-16 16s7.2 16 16 16h64V480H240c-79.5 0-144-64.5-144-144V310.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-64-64c-6.2-6.2-16.4-6.2-22.6 0l-64 64c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L64 310.6V336c0 97.2 78.8 176 176 176h48 48c17.2 0 33.8-2.5 49.5-7c-9.8-7.9-18.8-16.9-26.7-26.7c-7.4 1.2-15 1.8-22.8 1.8H304V224h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H304V160c0-.5 0-1.1-.1-1.6C340.5 151 368 118.7 368 80c0-44.2-35.8-80-80-80zM496 256a112 112 0 1 1 0 224 112 112 0 1 1 0-224zm0 256a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm44.7-187.3L480 385.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0z\"]\n};\nvar faTally4 = {\n prefix: 'fal',\n iconName: 'tally-4',\n icon: [640, 512, [], \"e297\", \"M144 48c0-8.8-7.2-16-16-16s-16 7.2-16 16V464c0 8.8 7.2 16 16 16s16-7.2 16-16V48zm128 0c0-8.8-7.2-16-16-16s-16 7.2-16 16V464c0 8.8 7.2 16 16 16s16-7.2 16-16V48zM384 32c-8.8 0-16 7.2-16 16V464c0 8.8 7.2 16 16 16s16-7.2 16-16V48c0-8.8-7.2-16-16-16zM528 48c0-8.8-7.2-16-16-16s-16 7.2-16 16V464c0 8.8 7.2 16 16 16s16-7.2 16-16V48z\"]\n};\nvar faRectangleHistory = {\n prefix: 'fal',\n iconName: 'rectangle-history',\n icon: [512, 512, [], \"e4a2\", \"M480 192c0-17.7-14.3-32-32-32L64 160c-17.7 0-32 14.3-32 32l0 256c0 17.7 14.3 32 32 32l384 0c17.7 0 32-14.3 32-32l0-256zm-32-64c35.3 0 64 28.7 64 64l0 256c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 192c0-35.3 28.7-64 64-64l384 0zm0-64c8.8 0 16 7.2 16 16s-7.2 16-16 16L64 96c-8.8 0-16-7.2-16-16s7.2-16 16-16l384 0zM400 0c8.8 0 16 7.2 16 16s-7.2 16-16 16L112 32c-8.8 0-16-7.2-16-16s7.2-16 16-16L400 0z\"]\n};\nvar faBuildingCircleArrowRight = {\n prefix: 'fal',\n iconName: 'building-circle-arrow-right',\n icon: [640, 512, [], \"e4d1\", \"M64 32H320c17.7 0 32 14.3 32 32V266.8c9.1-12.9 19.9-24.5 32-34.6V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64h64 32 64 32 64c19.5 0 37-8.7 48.7-22.5c-7.7-8-14.6-16.8-20.6-26.1c-5.4 9.9-16 16.6-28.1 16.6H256V416c0-35.3-28.7-64-64-64s-64 28.7-64 64v64H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32zM224 416v64H160V416c0-17.7 14.3-32 32-32s32 14.3 32 32zM64 120v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V120c0-13.3-10.7-24-24-24H88c-13.3 0-24 10.7-24 24zm32 8h32v32H96V128zM248 96c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V120c0-13.3-10.7-24-24-24H248zm8 64V128h32v32H256zM64 248v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V248c0-13.3-10.7-24-24-24H88c-13.3 0-24 10.7-24 24zm32 8h32v32H96V256zm152-32c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V248c0-13.3-10.7-24-24-24H248zm8 64V256h32v32H256zm240-32a112 112 0 1 1 0 224 112 112 0 1 1 0-224zm0 256a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm-3.3-211.3c-6.2 6.2-6.2 16.4 0 22.6L521.4 352H432c-8.8 0-16 7.2-16 16s7.2 16 16 16h89.4l-28.7 28.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l56-56c6.2-6.2 6.2-16.4 0-22.6l-56-56c-6.2-6.2-16.4-6.2-22.6 0z\"]\n};\nvar faVolleyball = {\n prefix: 'fal',\n iconName: 'volleyball',\n icon: [512, 512, [127952, \"volleyball-ball\"], \"f45f\", \"M415.1 413.7c-85.3 20-177.8 6.8-256.2-42.8c-13.5 21.4-24.2 44.4-31.9 68.2c36.5 25.8 81 40.9 129.1 40.9c62.2 0 118.5-25.4 159.1-66.3zm34-44c10.9-18.4 19.2-38.5 24.4-59.8c-72 12.5-148.4 1.8-217.2-35.5c-31 19.1-57.5 43.1-78.9 70.2c83.6 52.2 184.6 59.1 271.7 25zm30.1-93.4c.6-6.7 .9-13.4 .9-20.3c0-99.3-64.6-183.5-154.1-212.9c52.5 65.3 80.6 150 72.9 239.3c27.1 1.5 54.1-.6 80.3-6.2zM272.8 32.6c-5.5-.4-11.1-.6-16.8-.6c-21.5 0-42.3 3-62 8.7c46.8 56.1 75.7 127.6 77.9 205.8C302.4 263 334.5 273.7 367 279c8-95.3-29.1-184.8-94.2-246.4zM162 52.6C85.2 88.2 32 165.9 32 256c0 7.5 .4 14.9 1.1 22.1c34.4-69.3 92.8-127.1 169.6-159.7l3.7-1.6c-12-23.3-27-44.9-44.4-64.2zM45.3 332.3c11.8 32.5 30.9 61.5 55.3 85C125.7 348.8 173.2 288 239.9 247c-1-35.5-8.2-69.5-20.4-100.9l-4.4 1.9C131.4 183.5 71.8 252.2 45.3 332.3zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z\"]\n};\nvar faVolleyballBall = faVolleyball;\nvar faSunHaze = {\n prefix: 'fal',\n iconName: 'sun-haze',\n icon: [640, 512, [], \"f765\", \"M435.1 13.1c-1-5.3-4.6-9.8-9.6-11.9s-10.7-1.5-15.2 1.6L320 65.1 229.7 2.8c-4.5-3.1-10.2-3.7-15.2-1.6s-8.6 6.6-9.6 11.9L185 121 77.1 140.8c-5.3 1-9.8 4.6-11.9 9.6s-1.5 10.7 1.6 15.2L129.1 256l0 0h35.4c0-3.2-.9-6.4-2.8-9.1l-54.5-79.1 94.5-17.4c6.5-1.2 11.6-6.3 12.8-12.8l17.4-94.5 79.1 54.5c5.5 3.8 12.7 3.8 18.2 0l79.1-54.5 17.4 94.5c1.2 6.5 6.3 11.6 12.8 12.8l94.5 17.4-54.5 79.1c-1.9 2.7-2.8 5.9-2.8 9.1h35.4l0 0 62.3-90.3c3.1-4.5 3.7-10.2 1.6-15.2s-6.6-8.6-11.9-9.6L455 121 435.1 13.1zM448 256c0-70.7-57.3-128-128-128s-128 57.3-128 128v0h32v0c0-53 43-96 96-96s96 43 96 96v0h32v0zM80 288c-8.8 0-16 7.2-16 16s7.2 16 16 16H400c8.8 0 16-7.2 16-16s-7.2-16-16-16H80zm416 0c-8.8 0-16 7.2-16 16s7.2 16 16 16H624c8.8 0 16-7.2 16-16s-7.2-16-16-16H496zM16 384c-8.8 0-16 7.2-16 16s7.2 16 16 16H560c8.8 0 16-7.2 16-16s-7.2-16-16-16H16zm64 96c-8.8 0-16 7.2-16 16s7.2 16 16 16H208c8.8 0 16-7.2 16-16s-7.2-16-16-16H80zm224 0c-8.8 0-16 7.2-16 16s7.2 16 16 16H624c8.8 0 16-7.2 16-16s-7.2-16-16-16H304z\"]\n};\nvar faTextSize = {\n prefix: 'fal',\n iconName: 'text-size',\n icon: [640, 512, [], \"f894\", \"M32 32C14.3 32 0 46.3 0 64v64c0 8.8 7.2 16 16 16s16-7.2 16-16V64H176l0 384H112c-8.8 0-16 7.2-16 16s7.2 16 16 16H272c8.8 0 16-7.2 16-16s-7.2-16-16-16H208l0-384H352v64c0 8.8 7.2 16 16 16s16-7.2 16-16V64c0-17.7-14.3-32-32-32H32zM352 224c-17.7 0-32 14.3-32 32v32c0 8.8 7.2 16 16 16s16-7.2 16-16V256H464l0 192H416c-8.8 0-16 7.2-16 16s7.2 16 16 16H544c8.8 0 16-7.2 16-16s-7.2-16-16-16H496l0-192H608v32c0 8.8 7.2 16 16 16s16-7.2 16-16V256c0-17.7-14.3-32-32-32H480 352z\"]\n};\nvar faUfo = {\n prefix: 'fal',\n iconName: 'ufo',\n icon: [640, 512, [128760], \"e047\", \"M176.6 238.3c-11.7 11-11.7 11-11.6 11l0 0 0 0 .1 .1 .2 .2c.2 .2 .4 .4 .6 .6c.5 .5 1.1 1.1 1.9 1.8c1.6 1.5 4 3.4 7 5.7c6.1 4.5 15.2 10.3 27.7 16c25 11.4 63.1 22.3 117.5 22.3s92.5-10.9 117.5-22.3c12.5-5.7 21.6-11.5 27.7-16c3.1-2.3 5.4-4.2 7-5.7c.8-.7 1.5-1.3 1.9-1.8c.2-.2 .4-.4 .6-.6l.2-.2 .1-.1 0 0 0 0c0 0 0 0-11.6-11l11.7 11c2.5-2.6 4-6 4.3-9.6c.8-9.6 .8-19 .1-28.1c38.3 10.3 69.8 24.1 92.1 39.7C597.1 269.1 608 287.5 608 304c0 12.2-5.8 25.2-19.2 38.5c-13.5 13.4-33.7 26.2-60.1 37.3C476.1 401.9 402.3 416 320 416s-156.1-14.1-208.8-36.2c-26.3-11.1-46.6-23.9-60.1-37.3C37.8 329.2 32 316.2 32 304c0-16.5 10.9-34.9 36.5-52.8c22.3-15.6 53.7-29.3 92.1-39.7c-.7 9.1-.7 18.5 .1 28.1c.3 3.6 1.8 7 4.3 9.6l11.7-11zm296.3-61.5C452.3 110.2 390.3 64 320 64s-132.3 46.2-152.8 112.9C120 188.1 79.5 204.5 50.1 225C20.7 245.6 0 272.3 0 304c0 23.2 11.2 43.9 28.6 61.2c17.3 17.2 41.6 32 70.2 44.1C156.2 433.4 234.4 448 320 448s163.8-14.6 221.2-38.7c28.7-12.1 52.9-26.9 70.2-44.1c17.4-17.3 28.6-38 28.6-61.2c0-31.7-20.7-58.4-50.1-79c-29.3-20.5-69.9-36.9-117-48.1zm-21.1 50.5l.1-.1 0 0 0 0 0 0 0 0zm-3.9 3.3c-.5 .4-1.1 .8-1.7 1.3c-4.5 3.3-11.7 7.9-22 12.6C403.5 254 370 264 320 264s-83.5-10-104.2-19.4c-10.4-4.7-17.6-9.4-22-12.6c-.6-.5-1.2-.9-1.7-1.3C189.1 154.3 249.4 96 320 96s130.9 58.3 127.9 134.7zM152 312a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm192 48a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm168-24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faFork = {\n prefix: 'fal',\n iconName: 'fork',\n icon: [512, 512, [\"utensil-fork\"], \"f2e3\", \"M401.5 28.9c7.1-5.2 8.7-15.2 3.4-22.4s-15.2-8.7-22.4-3.4L268.2 86.9c-4.4 3.3-8.6 6.9-12.5 10.7l-1.6 1.6C234.8 118.5 224 144.7 224 172c0 25 9.1 49.1 25.5 67.8L4.7 484.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L272.2 262.5C290.9 278.9 315 288 340 288c27.3 0 53.5-10.8 72.8-30.1l1.6-1.6c3.9-3.9 7.5-8.1 10.7-12.5l83.8-114.3c5.2-7.1 3.7-17.1-3.4-22.4s-17.1-3.7-22.4 3.4L399.3 224.9c-2.3 3.1-4.8 6.1-7.6 8.8l-1.6 1.6C376.8 248.5 358.8 256 340 256s-36.8-7.5-50.1-20.8l-13.1-13.1C263.5 208.8 256 190.8 256 172s7.5-36.8 20.8-50.1l1.6-1.6c2.7-2.7 5.7-5.3 8.8-7.6L401.5 28.9zM442.5 60c6.6-5.8 7.3-15.9 1.5-22.6s-15.9-7.3-22.6-1.5l-128 112c-6.7 5.8-7.3 15.9-1.5 22.6s15.9 7.3 22.6 1.5l128-112zM476 90.5c5.8-6.7 5.1-16.8-1.5-22.6s-16.8-5.1-22.6 1.5l-112 128c-5.8 6.7-5.1 16.8 1.5 22.6s16.8 5.1 22.6-1.5l112-128z\"]\n};\nvar faUtensilFork = faFork;\nvar faArrowsUpToLine = {\n prefix: 'fal',\n iconName: 'arrows-up-to-line',\n icon: [576, 512, [], \"e4c2\", \"M16 64l544 0c8.8 0 16-7.2 16-16s-7.2-16-16-16L16 32C7.2 32 0 39.2 0 48s7.2 16 16 16zM4.7 228.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L112 166.6 112 464c0 8.8 7.2 16 16 16s16-7.2 16-16l0-297.4 84.7 84.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-112-112c-6.2-6.2-16.4-6.2-22.6 0l-112 112zm320 22.6c6.2 6.2 16.4 6.2 22.6 0L432 166.6 432 464c0 8.8 7.2 16 16 16s16-7.2 16-16l0-297.4 84.7 84.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-112-112c-6.2-6.2-16.4-6.2-22.6 0l-112 112c-6.2 6.2-6.2 16.4 0 22.6z\"]\n};\nvar faMobileSignal = {\n prefix: 'fal',\n iconName: 'mobile-signal',\n icon: [512, 512, [], \"e1ef\", \"M96 32H288c17.7 0 32 14.3 32 32V284.3c10.1-8.3 20.8-15.9 32-22.7V64c0-35.3-28.7-64-64-64H96C60.7 0 32 28.7 32 64V448c0 35.3 28.7 64 64 64H224V488c0-2.7 0-5.3 .1-8H96c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32zM224 400H160c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c2.2 0 4.3-.4 6.2-1.3c1.8-8.2 4-16.4 6.6-24.3c-2.9-3.9-7.6-6.4-12.8-6.4zM496 256c-132.5 0-240 107.5-240 240c0 8.8 7.2 16 16 16s16-7.2 16-16c0-114.9 93.1-208 208-208c8.8 0 16-7.2 16-16s-7.2-16-16-16zM480 512a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm32-144c0-8.8-7.2-16-16-16c-79.5 0-144 64.5-144 144c0 8.8 7.2 16 16 16s16-7.2 16-16c0-61.9 50.1-112 112-112c8.8 0 16-7.2 16-16z\"]\n};\nvar faBarcodeScan = {\n prefix: 'fal',\n iconName: 'barcode-scan',\n icon: [640, 512, [], \"f465\", \"M64 48V192H96V48c0-8.8-7.2-16-16-16s-16 7.2-16 16zm0 416c0 8.8 7.2 16 16 16s16-7.2 16-16V320H64V464zm96 0V320H128V464c0 8.8 7.2 16 16 16s16-7.2 16-16zM128 48V192h32V48c0-8.8-7.2-16-16-16s-16 7.2-16 16zm64 416c0 8.8 7.2 16 16 16s16-7.2 16-16V320H192V464zm0-416V192h32V48c0-8.8-7.2-16-16-16s-16 7.2-16 16zm96 416c0 8.8 7.2 16 16 16s16-7.2 16-16V320H288V464zm0-416V192h32V48c0-8.8-7.2-16-16-16s-16 7.2-16 16zm64 416c0 8.8 7.2 16 16 16s16-7.2 16-16V320H352V464zm0-416V192h32V48c0-8.8-7.2-16-16-16s-16 7.2-16 16zm96 416c0 8.8 7.2 16 16 16s16-7.2 16-16V320H448V464zm0-416V192h32V48c0-8.8-7.2-16-16-16s-16 7.2-16 16zm96 416c0 8.8 7.2 16 16 16s16-7.2 16-16V320H544V464zm0-416V192h32V48c0-8.8-7.2-16-16-16s-16 7.2-16 16zM0 256c0 8.8 7.2 16 16 16l608 0c8.8 0 16-7.2 16-16s-7.2-16-16-16L16 240c-8.8 0-16 7.2-16 16z\"]\n};\nvar faSortDown = {\n prefix: 'fal',\n iconName: 'sort-down',\n icon: [320, 512, [\"sort-desc\"], \"f0dd\", \"M154.4 445.8c1.4 1.3 3.5 2.2 5.6 2.2s4.2-.8 5.6-2.2L285.8 332.3c1.4-1.3 2.2-3.2 2.2-5.2c0-3.9-3.2-7.1-7.1-7.1H39.1c-3.9 0-7.1 3.2-7.1 7.1c0 2 .8 3.8 2.2 5.2L154.4 445.8zm-22 23.3L12.3 355.6C4.4 348.2 0 337.9 0 327.1C0 305.5 17.5 288 39.1 288H280.9c21.6 0 39.1 17.5 39.1 39.1c0 10.8-4.4 21.1-12.3 28.5L187.6 469.1c-7.4 7-17.3 10.9-27.6 10.9s-20.1-3.9-27.6-10.9z\"]\n};\nvar faSortDesc = faSortDown;\nvar faFolderArrowDown = {\n prefix: 'fal',\n iconName: 'folder-arrow-down',\n icon: [512, 512, [\"folder-download\"], \"e053\", \"M32 96c0-17.7 14.3-32 32-32H188.1c8.5 0 16.6 3.4 22.6 9.4l35.9 35.9c12 12 28.3 18.7 45.3 18.7H448c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V96zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H291.9c-8.5 0-16.6-3.4-22.6-9.4L233.4 50.7c-12-12-28.3-18.7-45.3-18.7H64zM272 208c0-8.8-7.2-16-16-16s-16 7.2-16 16V329.4l-52.7-52.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l80 80c6.2 6.2 16.4 6.2 22.6 0l80-80c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L272 329.4V208z\"]\n};\nvar faFolderDownload = faFolderArrowDown;\nvar faCircleMinus = {\n prefix: 'fal',\n iconName: 'circle-minus',\n icon: [512, 512, [\"minus-circle\"], \"f056\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM160 240c-8.8 0-16 7.2-16 16s7.2 16 16 16H352c8.8 0 16-7.2 16-16s-7.2-16-16-16H160z\"]\n};\nvar faMinusCircle = faCircleMinus;\nvar faFaceIcicles = {\n prefix: 'fal',\n iconName: 'face-icicles',\n icon: [512, 512, [], \"e37c\", \"M256 32C132.3 32 32 132.3 32 256c0 .5 0 .9-.1 1.4L24.2 443.9c-.1 2.3-2 4.1-4.3 4.1c-2.2 0-4.1-1.7-4.2-3.9L.2 258.7c-.1-.9-.2-1.8-.2-2.7C0 114.6 114.6 0 256 0S512 114.6 512 256c0 .7 0 1.4-.1 2L496.2 508.1c-.1 2.2-2 3.9-4.2 3.9c-2.3 0-4.1-1.8-4.2-4.1L480 257c0-.3 0-.7 0-1C480 132.3 379.7 32 256 32zM168 320c-13.3 0-24 10.7-24 24s10.7 24 24 24h8V320h-8zm40 48h32V320H208v48zm96 0V320H272v48h32zm32 0h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8v48zM168 288H344c30.9 0 56 25.1 56 56c0 15.7-6.4 29.8-16.8 40l-9.3 90.7c-.3 3-2.8 5.3-5.9 5.3s-5.6-2.3-5.9-5.3L354.4 399c-3.4 .6-6.8 1-10.4 1H317.3l-7.1 42.7c-.5 3-3.1 5.3-6.2 5.3s-5.7-2.2-6.2-5.3L290.7 400H168c-30.9 0-56-25.1-56-56s25.1-56 56-56zm-15.6-80a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm184-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM256 512c-80.2 0-151.8-36.9-198.7-94.6l2.2-53.7C97.6 433 171.3 480 256 480c11.6 0 23-.9 34.1-2.6c4.3 1.7 9 2.6 13.9 2.6c9.7 0 18.7-3.6 25.5-9.7l.8 7.7c.8 7.7 3.9 14.7 8.5 20.3C312.8 507.2 285 512 256 512zm151.3-49.5l4.7-45.8c15.5-15 28.8-32.2 39.4-51.2l1.7 53.8c-13.4 16.2-28.8 30.7-45.8 43.1z\"]\n};\nvar faShovel = {\n prefix: 'fal',\n iconName: 'shovel',\n icon: [512, 512, [], \"f713\", \"M396 34.6L352.9 77.8C342.1 88.6 336 103.2 336 118.5c0 31.8 25.8 57.5 57.5 57.5c15.3 0 29.9-6.1 40.7-16.9L477.4 116 396 34.6zM377.9 7.5C382.7 2.7 389.2 0 396 0s13.3 2.7 18.1 7.5l90.3 90.3c4.8 4.8 7.5 11.3 7.5 18.1s-2.7 13.3-7.5 18.1l-47.6 47.6c-16.8 16.8-39.6 26.2-63.3 26.2c-18.9 0-36.5-5.9-51-15.9L235.3 299.3l62.1 62.1c12.5 12.5 12.5 32.8 0 45.3l-58.5 58.5c-30 30-70.7 46.9-113.1 46.9H32c-17.7 0-32-14.3-32-32V386.3c0-42.4 16.9-83.1 46.9-113.1l58.5-58.5c12.5-12.5 32.8-12.5 45.3 0l62.1 62.1L319.9 169.4c-10-14.5-15.9-32-15.9-51c0-23.7 9.4-46.5 26.2-63.3L377.9 7.5zM32 480h93.7c33.9 0 66.5-13.5 90.5-37.5L274.7 384 128 237.3 69.5 295.8c-24 24-37.5 56.6-37.5 90.5V480z\"]\n};\nvar faDoorOpen = {\n prefix: 'fal',\n iconName: 'door-open',\n icon: [576, 512, [], \"f52b\", \"M288 480H96V86.2c0-7.5 5.1-13.9 12.4-15.6l166-38.3c.8-.2 1.7-.3 2.5-.3C283 32 288 37 288 43.1V480zm32 0V43.1C320 19.3 300.7 0 276.9 0c-3.3 0-6.5 .4-9.7 1.1l-166 38.3C79.4 44.4 64 63.8 64 86.2V480H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H64 80 96 288h32V480zM232 288c13.2 0 24-14.4 24-32s-10.8-32-24-32s-24 14.4-24 32s10.7 32 24 32zM464 64H352V96H464c8.8 0 16 7.2 16 16V496c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H512V112c0-26.5-21.5-48-48-48z\"]\n};\nvar faFilms = {\n prefix: 'fal',\n iconName: 'films',\n icon: [576, 512, [], \"e17a\", \"M224 272V224H448v48 80H224V272zm0-80V144 64H448v80 48H224zM464 32H448 224 208 192 160c-35.3 0-64 28.7-64 64v32 16 16 96 16 16 32c0 35.3 28.7 64 64 64h32 16 16H448h16 16 32c35.3 0 64-28.7 64-64V288 272 256 160 144 128 96c0-35.3-28.7-64-64-64H480 464zM160 64h32v64H128V96c0-17.7 14.3-32 32-32zm-32 96h64v48 48H128V160zm0 160V288h64v64H160c-17.7 0-32-14.3-32-32zm384 32H480V288h64v32c0 17.7-14.3 32-32 32zm32-96H480V208 160h64v96zm0-128H480V64h32c17.7 0 32 14.3 32 32v32zM32 112c0-8.8-7.2-16-16-16s-16 7.2-16 16V352c0 70.7 57.3 128 128 128H464c8.8 0 16-7.2 16-16s-7.2-16-16-16H128c-53 0-96-43-96-96V112z\"]\n};\nvar faRightFromBracket = {\n prefix: 'fal',\n iconName: 'right-from-bracket',\n icon: [512, 512, [\"sign-out-alt\"], \"f2f5\", \"M479.2 254.2c.5 .5 .8 1.1 .8 1.8s-.3 1.4-.8 1.8L347.3 382.2c-1.2 1.2-2.9 1.8-4.6 1.8c-3.7 0-6.7-3-6.7-6.7l0-57.3c0-8.8-7.2-16-16-16l-120 0c-4.4 0-8-3.6-8-8l0-80c0-4.4 3.6-8 8-8l120 0c8.8 0 16-7.2 16-16l0-57.3c0-3.7 3-6.7 6.7-6.7c1.7 0 3.3 .7 4.6 1.8L479.2 254.2zM512 256c0-9.5-3.9-18.6-10.8-25.1L369.2 106.5C362 99.8 352.5 96 342.7 96c-21.4 0-38.7 17.3-38.7 38.7l0 41.3-104 0c-22.1 0-40 17.9-40 40l0 80c0 22.1 17.9 40 40 40l104 0 0 41.3c0 21.4 17.3 38.7 38.7 38.7c9.9 0 19.4-3.8 26.5-10.5L501.2 281.1c6.9-6.5 10.8-15.6 10.8-25.1zM176 64c8.8 0 16-7.2 16-16s-7.2-16-16-16L80 32C35.8 32 0 67.8 0 112L0 400c0 44.2 35.8 80 80 80l96 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-96 0c-26.5 0-48-21.5-48-48l0-288c0-26.5 21.5-48 48-48l96 0z\"]\n};\nvar faSignOutAlt = faRightFromBracket;\nvar faFaceGlasses = {\n prefix: 'fal',\n iconName: 'face-glasses',\n icon: [512, 512, [], \"e377\", \"M256 480C132.3 480 32 379.7 32 256c0-22.2 3.2-43.7 9.3-64h7.3c-.4 2.6-.6 5.3-.6 8v48c0 30.9 25.1 56 56 56h80c30.9 0 56-25.1 56-56V200c0-2.7-.2-5.4-.6-8h33.1c-.4 2.6-.6 5.3-.6 8v48c0 30.9 25.1 56 56 56h80c30.9 0 56-25.1 56-56V200c0-2.7-.2-5.4-.6-8h7.3c6 20.3 9.3 41.8 9.3 64c0 123.7-100.3 224-224 224zM224 160.8c-10.2-10.4-24.3-16.8-40-16.8H104c-15.3 0-29.1 6.1-39.2 16H53.6C89.5 84.3 166.6 32 256 32s166.5 52.3 202.4 128H447.2c-10.1-9.9-23.9-16-39.2-16H328c-15.7 0-29.8 6.4-40 16.8V160H224v.8zM256 0C148.6 0 56.6 66.2 18.6 160H16c-8.8 0-16 7.2-16 16c0 6.1 3.5 11.5 8.5 14.2C3 211.2 0 233.2 0 256C0 397.4 114.6 512 256 512s256-114.6 256-256c0-22.8-3-44.8-8.5-65.8c5.1-2.7 8.5-8 8.5-14.2c0-8.8-7.2-16-16-16h-2.6C455.4 66.2 363.4 0 256 0zM141.5 339.9c-6.7 5.8-7.4 15.9-1.6 22.6c22.2 25.7 61 53.5 116.1 53.5s93.8-27.9 116.1-53.5c5.8-6.7 5.1-16.8-1.6-22.6s-16.8-5.1-22.6 1.6C330 362.2 299.4 384 256 384s-74-21.8-91.9-42.5c-5.8-6.7-15.9-7.4-22.6-1.6zM304 200c0-13.3 10.7-24 24-24h80c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H328c-13.3 0-24-10.7-24-24V200zM104 176h80c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H104c-13.3 0-24-10.7-24-24V200c0-13.3 10.7-24 24-24zm88.4 48a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm152 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faNfc = {\n prefix: 'fal',\n iconName: 'nfc',\n icon: [448, 512, [], \"e1f7\", \"M384 64c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm0 96V384c0 17.7 14.3 32 32 32H352c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32H240c-17.7 0-32 14.3-32 32v82.7c-18.6 6.6-32 24.4-32 45.3c0 26.5 21.5 48 48 48s48-21.5 48-48c0-20.9-13.4-38.7-32-45.3V128H352V384H96V128l48 0c8.8 0 16-7.2 16-16s-7.2-16-16-16H96c-17.7 0-32 14.3-32 32zM224 272a16 16 0 1 1 0-32 16 16 0 1 1 0 32z\"]\n};\nvar faAtom = {\n prefix: 'fal',\n iconName: 'atom',\n icon: [512, 512, [9883], \"f5d2\", \"M322 421.3c-.3 .7-.6 1.3-.9 1.9C301.4 464.7 278 480 256 480s-45.4-15.3-65.1-56.7c-.3-.6-.6-1.3-.9-1.9c21.1-5 43.3-12.6 66-22.6c22.7 9.9 44.9 17.5 66 22.6zM217.1 379.8c-13.4 4.8-26.4 8.6-38.7 11.4c-4-12.6-7.4-26.3-10.1-40.9c8.4 5.7 17.1 11.2 26 16.6c7.6 4.6 15.2 8.9 22.8 13zm116.4 11.4c-12.3-2.8-25.3-6.5-38.7-11.4c7.6-4.1 15.2-8.4 22.8-13c8.9-5.4 17.6-10.9 26-16.6c-2.8 14.6-6.2 28.3-10.1 40.9zm-32.3-51.8c-15.3 9.2-30.4 17.2-45.2 24.2c-14.8-7-29.9-15.1-45.2-24.2c-17.5-10.5-33.7-21.5-48.5-32.8c-1.5-16.2-2.3-33.1-2.3-50.6s.8-34.4 2.3-50.6c14.8-11.3 31.1-22.3 48.5-32.8c15.3-9.2 30.4-17.2 45.2-24.2c14.8 7 29.9 15.1 45.2 24.2c17.5 10.5 33.7 21.5 48.5 32.8c1.5 16.2 2.3 33.1 2.3 50.6s-.8 34.4-2.3 50.6c-14.8 11.3-31.1 22.3-48.5 32.8zm64.3 56.7c6.6-22.1 11.5-46.6 14.6-72.7c16.7-13.5 31.7-27.5 44.7-41.8l.8 1.2c25 37.7 26.8 66.1 16 85.6c-10.4 18.7-33.6 31-76.1 27.7zm18.1-118.2c.3-7.2 .4-14.5 .4-21.9s-.1-14.7-.4-21.9c7.7 7.3 14.8 14.6 21.3 21.9c-6.5 7.3-13.6 14.7-21.3 21.9zm86 106.1c20.7-37.1 9.4-82.8-23.6-128c33-45.2 44.3-90.9 23.6-128c-20.2-36.3-62.5-49.3-115.2-43.2C332.4 32.7 298.8 0 256 0s-76.4 32.7-98.4 84.8c-52.7-6.1-95 6.8-115.2 43.2C21.7 165.1 33 210.8 66 256c-33 45.2-44.3 90.9-23.6 128c20.2 36.3 62.5 49.3 115.2 43.2c22 52.1 55.7 84.8 98.4 84.8s76.4-32.7 98.4-84.8c52.7 6.1 95-6.8 115.2-43.2zm-28-240.4c10.8 19.5 9.1 47.9-16 85.6l-.8 1.2c-13-14.2-28-28.2-44.7-41.8c-3.1-26.1-8-50.6-14.6-72.7c42.6-3.3 65.7 8.9 76.1 27.7zM321.1 88.7c.3 .6 .6 1.3 .9 1.9c-21.1 5-43.3 12.6-66 22.6c-22.7-9.9-44.9-17.5-66-22.6c.3-.7 .6-1.3 .9-1.9C210.6 47.3 234 32 256 32s45.4 15.3 65.1 56.7zm12.5 32.1c4 12.6 7.4 26.3 10.1 40.9c-8.4-5.7-17.1-11.2-26-16.5c-7.6-4.6-15.2-8.9-22.8-13c13.4-4.8 26.4-8.6 38.7-11.3zm-155.1 0c12.3 2.8 25.3 6.5 38.7 11.3c-7.6 4.1-15.2 8.4-22.8 13c-8.9 5.4-17.6 10.9-26 16.5c2.8-14.6 6.2-28.3 10.1-40.9zm-32-4.9c-6.6 22.1-11.5 46.6-14.6 72.7c-16.7 13.5-31.7 27.5-44.7 41.8l-.8-1.2c-25-37.7-26.8-66.1-16-85.6c10.4-18.7 33.6-31 76.1-27.7zM86.3 282.8l.8-1.2c13 14.2 28 28.2 44.7 41.8c3.1 26.1 8 50.6 14.6 72.7c-42.6 3.3-65.7-8.9-76.1-27.7c-10.8-19.5-9.1-47.9 16-85.6zm42.1-48.8c-.3 7.2-.4 14.5-.4 21.9s.1 14.7 .4 21.9c-7.7-7.3-14.8-14.6-21.3-21.9c6.5-7.3 13.6-14.7 21.3-21.9zM256 280a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faSoap = {\n prefix: 'fal',\n iconName: 'soap',\n icon: [512, 512, [129532], \"e06e\", \"M224 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-96 0a64 64 0 1 1 128 0A64 64 0 1 1 128 64zM96 192H225.3c1.9 11.5 5.9 22.3 11.5 32H96c-35.3 0-64 28.7-64 64V416c0 35.3 28.7 64 64 64H416c35.3 0 64-28.7 64-64V288c0-35.3-28.7-64-64-64H403.2c5.6-9.7 9.6-20.5 11.5-32H416c53 0 96 43 96 96V416c0 53-43 96-96 96H96c-53 0-96-43-96-96V288c0-53 43-96 96-96zm64 80H320h32c44.2 0 80 35.8 80 80s-35.8 80-80 80H160c-44.2 0-80-35.8-80-80s35.8-80 80-80zm-48 80c0 26.5 21.5 48 48 48H352c26.5 0 48-21.5 48-48s-21.5-48-48-48H160c-26.5 0-48 21.5-48 48zM400 64a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm0-64a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM352 176a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-96 0a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z\"]\n};\nvar faIcons = {\n prefix: 'fal',\n iconName: 'icons',\n icon: [512, 512, [\"heart-music-camera-bolt\"], \"f86d\", \"M473.7 4.1C493.5 .2 512 15.3 512 35.5V168h-.2c.1 1.3 .2 2.7 .2 4c0 28.7-28.7 52-64 52s-64-23.3-64-52s28.7-52 64-52c11.7 0 22.6 2.5 32 7V35.5L352 61.1V200h-.2c.1 1.3 .2 2.7 .2 4c0 28.7-28.7 52-64 52s-64-23.3-64-52s28.7-52 64-52c11.7 0 22.6 2.5 32 7V61.1c0-15.3 10.8-28.4 25.7-31.4l128-25.6zM480 172c0-3.1-1.5-7.5-6.9-11.9c-5.5-4.5-14.3-8.1-25.1-8.1s-19.5 3.6-25.1 8.1c-5.5 4.4-6.9 8.8-6.9 11.9s1.5 7.5 6.9 11.9c5.5 4.5 14.3 8.1 25.1 8.1s19.5-3.6 25.1-8.1c5.5-4.4 6.9-8.8 6.9-11.9zM320 204c0-3.1-1.5-7.5-6.9-11.9c-5.5-4.5-14.3-8.1-25.1-8.1s-19.5 3.6-25.1 8.1c-5.5 4.4-6.9 8.8-6.9 11.9s1.5 7.5 6.9 11.9c5.5 4.5 14.3 8.1 25.1 8.1s19.5-3.6 25.1-8.1c5.5-4.4 6.9-8.8 6.9-11.9zM105.4 54.6l-6-6c-9-9-21.8-13.1-34.4-11c-19 3.2-33 19.6-33 38.9v2.9c0 11.9 4.9 23.2 13.6 31.4L128 187.7l82.4-76.9c8.7-8.1 13.6-19.5 13.6-31.4V76.5c0-19.3-13.9-35.8-33-38.9c-12.6-2.1-25.4 2-34.4 11l-6 6L128 77.3 105.4 54.6zM59.7 6C82.5 2.3 105.7 9.7 122 26l0 0 6 6 6-6C150.3 9.7 173.5 2.3 196.3 6C230.7 11.8 256 41.6 256 76.5v2.9c0 20.8-8.6 40.6-23.8 54.8l-90.4 84.3c-3.8 3.5-8.7 5.5-13.8 5.5s-10.1-2-13.8-5.5L23.8 134.2C8.6 120 0 100.2 0 79.5V76.5C0 41.6 25.3 11.8 59.7 6zM72 320H48c-8.8 0-16 7.2-16 16V464c0 8.8 7.2 16 16 16H240c8.8 0 16-7.2 16-16V336c0-8.8-7.2-16-16-16H216c-12.1 0-23.2-6.8-28.6-17.7L180.2 288H107.8l-7.2 14.3C95.2 313.2 84.1 320 72 320zm136.8-46.3L216 288h24c26.5 0 48 21.5 48 48V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V336c0-26.5 21.5-48 48-48H72l7.2-14.3c5.4-10.8 16.5-17.7 28.6-17.7h72.4c12.1 0 23.2 6.8 28.6 17.7zM112 392a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm32 64a64 64 0 1 1 0-128 64 64 0 1 1 0 128zM475.3 283.3L390.6 368H480c6.5 0 12.3 3.9 14.8 9.9s1.1 12.9-3.5 17.4l-112 112c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L441.4 400H352c-6.5 0-12.3-3.9-14.8-9.9s-1.1-12.9 3.5-17.4l112-112c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faHeartMusicCameraBolt = faIcons;\nvar faMicrophoneLinesSlash = {\n prefix: 'fal',\n iconName: 'microphone-lines-slash',\n icon: [640, 512, [\"microphone-alt-slash\"], \"f539\", \"M25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4zM395.5 397.1l-28.1-22.2c-14.7 5.8-30.6 9.1-47.4 9.1c-70.7 0-128-57.3-128-128V236.5l-32-25.3V256c0 83 63.1 151.2 144 159.2V480H240c-8.8 0-16 7.2-16 16s7.2 16 16 16h80 80c8.8 0 16-7.2 16-16s-7.2-16-16-16H336V415.2c21.3-2.1 41.4-8.4 59.5-18.1zM256 123.9V96c0-35.3 28.7-64 64-64s64 28.7 64 64H336c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v32H336c-8.3 0-15.2 6.4-15.9 14.5L342.2 192H384v32h-1.2L416 250.2V240 176 112 96c0-53-43-96-96-96s-96 43-96 96v2.7l32 25.3zM446.7 274.5l28.1 22.2c3.4-13 5.2-26.6 5.2-40.7V208c0-8.8-7.2-16-16-16s-16 7.2-16 16v48c0 6.3-.5 12.4-1.3 18.5z\"]\n};\nvar faMicrophoneAltSlash = faMicrophoneLinesSlash;\nvar faClosedCaptioningSlash = {\n prefix: 'fal',\n iconName: 'closed-captioning-slash',\n icon: [640, 512, [], \"e135\", \"M25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4zM500.4 480l-40.5-32H96c-17.7 0-32-14.3-32-32V135.4L32 110.2V416c0 35.3 28.7 64 64 64H500.4zM139.6 32l40.5 32H544c17.7 0 32 14.3 32 32V376.6l32 25.3V96c0-35.3-28.7-64-64-64H139.6zM373.5 216.7c11.7-15 30-24.7 50.5-24.7c17.4 0 33.2 7 44.8 18.3c6.3 6.2 16.4 6.1 22.6-.2s6.1-16.4-.2-22.6c-17.3-17-41-27.4-67.2-27.4c-30.7 0-58.1 14.4-75.6 36.9l25.1 19.8zM151.1 204.2C141.6 219.2 136 236.9 136 256c0 53 43 96 96 96c26.2 0 49.9-10.5 67.2-27.4c.7-.6 1.2-1.3 1.8-2l-25.2-19.9C264.3 313.4 249 320 232 320c-35.3 0-64-28.7-64-64c0-11.6 3.1-22.4 8.4-31.8l-25.3-20z\"]\n};\nvar faCalculatorSimple = {\n prefix: 'fal',\n iconName: 'calculator-simple',\n icon: [512, 512, [\"calculator-alt\"], \"f64c\", \"M256 0c8.8 0 16 7.2 16 16V240H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H272V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V272H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H240V16c0-8.8 7.2-16 16-16zm88 96h40V56 48c0-8.8 7.2-16 16-16s16 7.2 16 16v8V96h40 8c8.8 0 16 7.2 16 16s-7.2 16-16 16h-8H416v40 8c0 8.8-7.2 16-16 16s-16-7.2-16-16v-8V128H344h-8c-8.8 0-16-7.2-16-16s7.2-16 16-16h8zM53.1 341.1c6.2-6.2 16.4-6.2 22.6 0L112 377.4l36.3-36.3c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L134.6 400l36.3 36.3c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L112 422.6 75.7 458.9c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L89.4 400 53.1 363.7c-6.2-6.2-6.2-16.4 0-22.6zM48 96H176c8.8 0 16 7.2 16 16s-7.2 16-16 16H48c-8.8 0-16-7.2-16-16s7.2-16 16-16zM336 352H464c8.8 0 16 7.2 16 16s-7.2 16-16 16H336c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64H464c8.8 0 16 7.2 16 16s-7.2 16-16 16H336c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faCalculatorAlt = faCalculatorSimple;\nvar faBridgeCircleCheck = {\n prefix: 'fal',\n iconName: 'bridge-circle-check',\n icon: [640, 512, [], \"e4c9\", \"M48 32c-8.8 0-16 7.2-16 16s7.2 16 16 16h64v64H48c-8.8 0-16 7.2-16 16s7.2 16 16 16h80H256 384 512h80c8.8 0 16-7.2 16-16s-7.2-16-16-16H528V64h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H512 384 256 128 48zM496 64v64H400V64h96zM368 64v64H272V64h96zM240 64v64H144V64h96zM48 240c-8.8 0-16 7.2-16 16s7.2 16 16 16H64c35.3 0 64 28.7 64 64v96c0 26.5 21.5 48 48 48h32c26.5 0 48-21.5 48-48V336c0-35.3 28.7-64 64-64c9 0 17.5 1.8 25.2 5.2c5.6-9.3 12.1-18.1 19.3-26.2C351.2 244 336.1 240 320 240c-53 0-96 43-96 96v96c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V336c0-53-43-96-96-96H48zm448 16a112 112 0 1 1 0 224 112 112 0 1 1 0-224zm0 256a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm44.7-187.3L480 385.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0z\"]\n};\nvar faSlidersUp = {\n prefix: 'fal',\n iconName: 'sliders-up',\n icon: [512, 512, [\"sliders-v\"], \"f3f1\", \"M96 0c8.8 0 16 7.2 16 16V81.6c36.5 7.4 64 39.7 64 78.4s-27.5 71-64 78.4V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V238.4C43.5 231 16 198.7 16 160s27.5-71 64-78.4V16C80 7.2 87.2 0 96 0zm0 208a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM256 400a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm80-48c0 38.7-27.5 71-64 78.4V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V430.4c-36.5-7.4-64-39.7-64-78.4s27.5-71 64-78.4V16c0-8.8 7.2-16 16-16s16 7.2 16 16V273.6c36.5 7.4 64 39.7 64 78.4zM464 192a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm-32 78.4V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V270.4c-36.5-7.4-64-39.7-64-78.4s27.5-71 64-78.4V16c0-8.8 7.2-16 16-16s16 7.2 16 16v97.6c36.5 7.4 64 39.7 64 78.4s-27.5 71-64 78.4z\"]\n};\nvar faSlidersV = faSlidersUp;\nvar faLocationMinus = {\n prefix: 'fal',\n iconName: 'location-minus',\n icon: [384, 512, [\"map-marker-minus\"], \"f609\", \"M352 192c0-88.4-71.6-160-160-160S32 103.6 32 192c0 15.6 5.4 37 16.6 63.4c10.9 25.9 26.2 54 43.6 82.1c34.1 55.3 74.4 108.2 99.9 140c25.4-31.8 65.8-84.7 99.9-140c17.3-28.1 32.7-56.3 43.6-82.1C346.6 229 352 207.6 352 192zm32 0c0 87.4-117 243-168.3 307.2c-12.3 15.3-35.1 15.3-47.4 0C117 435 0 279.4 0 192C0 86 86 0 192 0S384 86 384 192zM96 176H288c8.8 0 16 7.2 16 16s-7.2 16-16 16H96c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faMapMarkerMinus = faLocationMinus;\nvar faPumpMedical = {\n prefix: 'fal',\n iconName: 'pump-medical',\n icon: [448, 512, [], \"e06a\", \"M176 0h32c26.5 0 48 21.5 48 48h76.1c17 0 33.3 6.7 45.3 18.7l33.9 33.9c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L354.7 89.4c-6-6-14.1-9.4-22.6-9.4H256v48H224V48c0-8.8-7.2-16-16-16H176c-8.8 0-16 7.2-16 16v80H128V48c0-26.5 21.5-48 48-48zM85.6 221.3l-18.7 224C65.3 464 80.1 480 98.8 480H285.2c18.7 0 33.4-16 31.9-34.7l-18.7-224c-1.4-16.6-15.2-29.3-31.9-29.3H117.4c-16.6 0-30.5 12.8-31.9 29.3zm-31.9-2.7c2.8-33.2 30.5-58.7 63.8-58.7H266.6c33.3 0 61 25.5 63.8 58.7l18.7 224c3.1 37.3-26.3 69.3-63.8 69.3H98.8c-37.4 0-66.9-32-63.8-69.3l18.7-224zM208 288v32h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H208v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V352H144c-8.8 0-16-7.2-16-16s7.2-16 16-16h32V288c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faFingerprint = {\n prefix: 'fal',\n iconName: 'fingerprint',\n icon: [512, 512, [], \"f577\", \"M32 256C32 132.3 132.3 32 256 32c70.3 0 133 32.4 174.1 83c5.6 6.9 15.6 7.9 22.5 2.4s7.9-15.6 2.4-22.5C408.1 37 336.3 0 256 0C114.6 0 0 114.6 0 256v48c0 8.8 7.2 16 16 16s16-7.2 16-16V256zm470.8-68.3c-2.4-8.5-11.2-13.5-19.7-11.2s-13.5 11.2-11.2 19.7c5.2 19 8.1 39 8.1 59.7v48c0 8.8 7.2 16 16 16s16-7.2 16-16V256c0-23.6-3.2-46.5-9.2-68.3zM256 80c-22.8 0-44.6 4.3-64.6 12.2c-9.7 3.8-12 16.1-5.2 24.1c4.8 5.6 12.8 7.2 19.7 4.6c15.6-5.8 32.5-9 50.1-9c79.5 0 144 64.5 144 144v24.9c0 28.3-1.8 56.6-5.5 84.6c-1.3 9.7 6.2 18.5 16 18.5c7.9 0 14.6-5.8 15.6-13.6c3.9-29.6 5.8-59.5 5.8-89.5V256c0-97.2-78.8-176-176-176zM145.1 142.1c-6-7-16.8-7.6-22.8-.5C95.9 172.3 80 212.3 80 256v24.9c0 27.8-3.4 55.4-10.2 82.3c-2.6 10.4 5 20.8 15.7 20.8c7 0 13.2-4.6 15-11.4c7.7-29.9 11.6-60.7 11.6-91.7V256c0-34.7 12.3-66.5 32.7-91.4c5.4-6.5 5.9-16.1 .3-22.5zM256 160c-53 0-96 43-96 96v24.9c0 38.6-5.4 77-15.9 114c-3 10.4 4.7 21.1 15.5 21.1c6.9 0 13-4.5 14.9-11.1c11.6-40.2 17.5-82 17.5-124V256c0-35.3 28.7-64 64-64s64 28.7 64 64v24.9c0 38.8-3.9 77.5-11.7 115.4c-2.1 10.1 5.5 19.7 15.8 19.7c7.4 0 13.9-5.1 15.4-12.4c8.3-40.3 12.5-81.4 12.5-122.7V256c0-53-43-96-96-96zm16 96c0-8.8-7.2-16-16-16s-16 7.2-16 16v24.9c0 60.9-11.2 121.2-33.1 178.1l-5.9 15.3c-3.2 8.2 .9 17.5 9.2 20.7s17.5-.9 20.7-9.2l5.9-15.3C260.1 410 272 345.7 272 280.9V256z\"]\n};\nvar faSkiBoot = {\n prefix: 'fal',\n iconName: 'ski-boot',\n icon: [512, 512, [], \"e3cc\", \"M383.7 19.1c1.7-8.7-4-17.1-12.7-18.8s-17.1 4-18.8 12.7L348.6 32H130.3c-22.9 0-42.7 16.2-47.1 38.7L7.8 454.7C2 484.4 24.7 512 54.9 512H464h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H480V403.3c0-17.8-9.9-34.2-25.6-42.5L330 295.4 383.7 19.1zM239.4 64h103L317.5 192H256c-8.8 0-16 7.2-16 16s7.2 16 16 16h55.3l-12.4 64H224c-8.8 0-16 7.2-16 16s7.2 16 16 16h80c1.2 0 2.3-.1 3.4-.4l132.1 69.5c5.3 2.8 8.5 8.2 8.5 14.2V480H54.9c-10.1 0-17.6-9.2-15.7-19.1l32-163.1c55-23.2 134.1-82.9 168.2-233.8zm-32.9 0C178.6 180.4 122.7 233.7 79 258.4L114.6 76.9c1.5-7.5 8.1-12.9 15.7-12.9h76.2z\"]\n};\nvar faStandardDefinition = {\n prefix: 'fal',\n iconName: 'standard-definition',\n icon: [576, 512, [\"rectangle-sd\"], \"e28a\", \"M512 64c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32H512zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM304 176V336c0 8.8 7.2 16 16 16h64c53 0 96-43 96-96s-43-96-96-96H320c-8.8 0-16 7.2-16 16zm32 16h48c35.3 0 64 28.7 64 64s-28.7 64-64 64H336V192zm-176.4 2.4c10.1-3.3 24.9-3.6 43.9-1.1c5.8 .8 23.7 3.8 29.2 5c8.6 2 17.2-3.4 19.2-12s-3.4-17.2-12-19.2c-6.8-1.6-25.8-4.7-32-5.5c-20.5-2.7-41-3.1-58 2.4c-18.2 5.9-32.3 18.7-36.6 40.1c-.1 .3-.1 .6-.1 .9c-1.6 11.1-.2 21.3 4.6 30.2c4.7 8.8 11.9 15 19.4 19.5c13.9 8.3 32.4 12.6 47.8 16.2l1.4 .3c17.3 4 31 7.4 40.1 12.8c4.2 2.5 6.4 4.9 7.6 7.1c1.1 2 2 5.1 1.2 10.6c-.7 4.6-2.3 7.5-4.2 9.5c-2 2.2-5.2 4.2-10.1 5.8c-10.3 3.3-25.6 3.6-44.5 1c-8.8-1.2-24-5.7-36.3-9.2l0 0c-2.7-.8-5.3-1.5-7.6-2.2c-8.5-2.4-17.4 2.5-19.8 11s2.5 17.4 11 19.8c1.8 .5 3.9 1.1 6.2 1.8l0 0c12.1 3.5 30.6 9 42 10.6l.1 0c20.4 2.7 41.4 3.2 58.5-2.2c8.8-2.8 17.2-7.3 23.8-14.4c6.8-7.2 10.9-16.3 12.5-26.7c1.6-11.1 .2-21.3-4.6-30.2c-4.7-8.8-11.9-15-19.4-19.5c-13.9-8.3-32.4-12.6-47.8-16.2l0 0-1.4-.3c-17.3-4-31-7.4-40.1-12.8c-4.2-2.5-6.4-4.9-7.6-7.1c-1-1.9-1.9-4.9-1.2-10.1c1.8-8.2 6.3-12.8 15.1-15.6z\"]\n};\nvar faRectangleSd = faStandardDefinition;\nvar faH1 = {\n prefix: 'fal',\n iconName: 'h1',\n icon: [576, 512, [], \"f313\", \"M496 80c0-5.7-3-10.9-7.9-13.8s-10.9-2.9-15.9-.2l-72 40c-7.7 4.3-10.5 14-6.2 21.8s14 10.5 21.8 6.2L464 107.2V416H400c-8.8 0-16 7.2-16 16s7.2 16 16 16h80 80c8.8 0 16-7.2 16-16s-7.2-16-16-16H496V80zM32 80c0-8.8-7.2-16-16-16S0 71.2 0 80V256 432c0 8.8 7.2 16 16 16s16-7.2 16-16V272H288V432c0 8.8 7.2 16 16 16s16-7.2 16-16V256 80c0-8.8-7.2-16-16-16s-16 7.2-16 16V240H32V80z\"]\n};\nvar faHandPointRight = {\n prefix: 'fal',\n iconName: 'hand-point-right',\n icon: [512, 512, [], \"f0a4\", \"M456 128c13.3 0 24 10.7 24 24s-10.7 24-24 24l-144 0-40 0 0-32c0-5.5-.6-10.8-1.6-16L456 128zM240 176l0 0 0 32 0 0 0 24c0 13.2-10.7 24-24 24l0 0c-13.3 0-24-10.7-24-24l0-56c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 56c0 15.7 6.4 29.8 16.8 40c-10.4 10.2-16.8 24.3-16.8 40c0 13.8 5 26.4 13.2 36.1C160.3 358.4 152 374.2 152 392c0 8.6 1.9 16.7 5.4 24C87.9 414.6 32 357.8 32 288l0-64C32 153.3 89.3 96 160 96l32 0c26.5 0 48 21.5 48 48l0 32zm32 32l40 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-31.9 0c0 0 0 0-.1 0l-13.4 0c3.5-7.3 5.4-15.4 5.4-24l0-24zm90.6 0l93.4 0c30.9 0 56-25.1 56-56s-25.1-56-56-56L256 96c-14.6-19.4-37.8-32-64-32l-32 0C71.6 64 0 135.6 0 224l0 64c0 88.4 71.6 160 160 160l48 0 32 0 24 0c30.9 0 56-25.1 56-56c0-12.1-3.8-23.3-10.4-32.5C325.5 349.6 336 332 336 312c0-9.7-2.5-18.8-6.8-26.7C351.7 278 368 256.9 368 232c0-8.6-1.9-16.7-5.4-24zM240 288l40 0c13.2 0 24 10.8 24 24c0 13.3-10.7 24-24 24l-16 0-48 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l0 0 24 0zm0 128l-32 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l8 0 48 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-24 0z\"]\n};\nvar faMagnifyingGlassLocation = {\n prefix: 'fal',\n iconName: 'magnifying-glass-location',\n icon: [512, 512, [\"search-location\"], \"f689\", \"M208 32a176 176 0 1 1 0 352 176 176 0 1 1 0-352zm0 384c51.7 0 99-18.8 135.3-50L484.7 507.3c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L366 343.3c31.2-36.4 50-83.7 50-135.3C416 93.1 322.9 0 208 0S0 93.1 0 208S93.1 416 208 416zm26.2-178.4c-8.3 14.5-17.7 28.2-26.2 39.6c-8.5-11.4-17.9-25.1-26.2-39.6c-13.7-24-21.8-45.9-21.8-61.6c0-26.5 21.5-48 48-48s48 21.5 48 48c0 15.7-8.1 37.6-21.8 61.6zm-14.8 77c22.1-27 68.6-89.8 68.6-138.6c0-44.2-35.8-80-80-80s-80 35.8-80 80c0 48.8 46.5 111.6 68.6 138.6c6 7.3 16.8 7.3 22.7 0zM232 184a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faSearchLocation = faMagnifyingGlassLocation;\nvar faMessageBot = {\n prefix: 'fal',\n iconName: 'message-bot',\n icon: [640, 512, [], \"e3b8\", \"M224 384c17.7 0 32 14.3 32 32v48l98.1-73.6c5.5-4.2 12.3-6.4 19.2-6.4H480c17.7 0 32-14.3 32-32V192 64c0-17.7-14.3-32-32-32H160c-17.7 0-32 14.3-32 32V192 352c0 17.7 14.3 32 32 32h64zM544 64V176h36.3c5.5-9.6 15.9-16 27.7-16c17.7 0 32 14.3 32 32s-14.3 32-32 32c-11.8 0-22.2-6.4-27.7-16H544V352c0 35.3-28.7 64-64 64H373.3L249.6 508.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V448 416H192 160c-35.3 0-64-28.7-64-64V208H59.7c-5.5 9.6-15.9 16-27.7 16c-17.7 0-32-14.3-32-32s14.3-32 32-32c11.8 0 22.2 6.4 27.7 16H96V64c0-35.3 28.7-64 64-64H480c35.3 0 64 28.7 64 64zM208 128c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16H432c8.8 0 16-7.2 16-16V144c0-8.8-7.2-16-16-16H208zm-48 16c0-26.5 21.5-48 48-48H432c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H208c-26.5 0-48-21.5-48-48V144zm56 48a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm176-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faForwardStep = {\n prefix: 'fal',\n iconName: 'forward-step',\n icon: [320, 512, [\"step-forward\"], \"f051\", \"M256 80c0-8.8 7.2-16 16-16s16 7.2 16 16V241.9v28.2V432c0 8.8-7.2 16-16 16s-16-7.2-16-16V296.2L77.4 441.8c-5 4-11.2 6.2-17.6 6.2C44.4 448 32 435.6 32 420.2V91.8C32 76.4 44.4 64 59.8 64c6.4 0 12.6 2.2 17.6 6.2L256 215.8V80zM64 100.6V411.4L254.7 256 64 100.6z\"]\n};\nvar faStepForward = faForwardStep;\nvar faFaceSmileBeam = {\n prefix: 'fal',\n iconName: 'face-smile-beam',\n icon: [512, 512, [128522, \"smile-beam\"], \"f5b8\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm164.1 69.5C182 346.2 212.6 368 256 368s74-21.8 91.9-42.5c5.8-6.7 15.9-7.4 22.6-1.6s7.4 15.9 1.6 22.6C349.8 372.1 311.1 400 256 400s-93.8-27.9-116.1-53.5c-5.8-6.7-5.1-16.8 1.6-22.6s16.8-5.1 22.6 1.6zm-7.6-131c-6.2 7.2-10.8 16.8-12.9 25.4c-2.1 8.6-10.8 13.8-19.4 11.6s-13.8-10.8-11.6-19.4c3.2-12.7 9.8-27.1 19.9-38.6C142.4 161.9 157.2 152 176 152s33.6 9.9 43.7 21.5c10 11.5 16.7 25.9 19.9 38.6c2.1 8.6-3.1 17.3-11.6 19.4s-17.3-3.1-19.4-11.6c-2.1-8.6-6.7-18.2-12.9-25.4c-6.2-7.1-12.8-10.5-19.5-10.5s-13.4 3.4-19.5 10.5zm147.1 25.4c-2.1 8.6-10.8 13.8-19.4 11.6s-13.8-10.8-11.6-19.4c3.2-12.7 9.8-27.1 19.9-38.6C302.4 161.9 317.2 152 336 152s33.6 9.9 43.7 21.5c10 11.5 16.7 25.9 19.9 38.6c2.1 8.6-3.1 17.3-11.6 19.4s-17.3-3.1-19.4-11.6c-2.1-8.6-6.7-18.2-12.9-25.4c-6.2-7.1-12.8-10.5-19.5-10.5s-13.4 3.4-19.5 10.5c-6.2 7.2-10.8 16.8-12.9 25.4z\"]\n};\nvar faSmileBeam = faFaceSmileBeam;\nvar faLightCeiling = {\n prefix: 'fal',\n iconName: 'light-ceiling',\n icon: [512, 512, [], \"e016\", \"M256 0c8.8 0 16 7.2 16 16V160.5c123.3 7.6 223 102.5 238 223.6c2.2 17.5-12.4 31.9-30 31.9H32C14.3 416-.2 401.6 2 384.1C17 262.9 116.7 168.1 240 160.5V16c0-8.8 7.2-16 16-16zM34.3 384H477.7C462.2 275.5 368.8 192 256 192S49.8 275.5 34.3 384zM256 512c-38.7 0-71-27.5-78.4-64h33.1c6.6 18.6 24.4 32 45.3 32s38.7-13.4 45.3-32h33.1c-7.4 36.5-39.7 64-78.4 64z\"]\n};\nvar faMessageExclamation = {\n prefix: 'fal',\n iconName: 'message-exclamation',\n icon: [512, 512, [\"comment-alt-exclamation\"], \"f4a5\", \"M192 416c0-17.7-14.3-32-32-32H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H448c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H309.3c-6.9 0-13.7 2.2-19.2 6.4L192 464V416zM64 0C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h64 32v32 48c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L309.3 416H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM256 80c-8.8 0-16 7.2-16 16V224c0 8.8 7.2 16 16 16s16-7.2 16-16V96c0-8.8-7.2-16-16-16zm24 224a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faCommentAltExclamation = faMessageExclamation;\nvar faBowlScoop = {\n prefix: 'fal',\n iconName: 'bowl-scoop',\n icon: [448, 512, [127847, \"bowl-shaved-ice\"], \"e3de\", \"M416 224H384c0-88.4-71.6-160-160-160S64 135.6 64 224H32C32 118 118 32 224 32s192 86 192 192zm29.9 65.9c-8.5 67.9-63.4 119.9-130.5 125.6c-4.1 .3-8.2 .5-12.4 .5H274.2l26.7 32 31.5 37.8c4 4.8 4.8 11.4 2.2 17s-8.3 9.2-14.5 9.2H128c-6.2 0-11.9-3.6-14.5-9.2s-1.8-12.3 2.2-17L147.2 448l26.7-32H145c-4.2 0-8.3-.2-12.4-.5c-67.1-5.7-122-57.7-130.5-125.6L.1 274c-.6-4.6 .8-9.1 3.9-12.6s7.4-5.4 12-5.4H432c4.6 0 9 2 12 5.4s4.5 8 3.9 12.6l-2 15.9zM34.1 288c7.9 55 55.1 96 110.9 96h28.8 32 36.3 32H303c55.8 0 102.9-41 110.9-96H34.1zM198.4 436.5L162.2 480H285.8l-36.3-43.5L224 405.8l-25.6 30.7z\"]\n};\nvar faBowlShavedIce = faBowlScoop;\nvar faSquareX = {\n prefix: 'fal',\n iconName: 'square-x',\n icon: [448, 512, [], \"e286\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm140.1 37.6L224 231.4l83.9-97.8c5.8-6.7 15.9-7.5 22.6-1.7s7.5 15.9 1.7 22.6L245.1 256l87.1 101.6c5.8 6.7 5 16.8-1.7 22.6s-16.8 5-22.6-1.7L224 280.6l-83.9 97.8c-5.8 6.7-15.9 7.5-22.6 1.7s-7.5-15.8-1.7-22.6L202.9 256 115.9 154.4c-5.8-6.7-5-16.8 1.7-22.6s16.8-5 22.6 1.7z\"]\n};\nvar faBuildingMemo = {\n prefix: 'fal',\n iconName: 'building-memo',\n icon: [640, 512, [], \"e61e\", \"M320 32H64C46.3 32 32 46.3 32 64V448c0 17.7 14.3 32 32 32h64V416c0-35.3 28.7-64 64-64s64 28.7 64 64v64h35.3c3.4 11.9 9.2 22.7 16.8 32H256 224 160 128 64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64h-8c-8.3 0-16.4 1.2-24 3.3V64c0-17.7-14.3-32-32-32zM306.3 98.3c-6.7 8.7-11.9 18.8-15 29.7H288 256v32h32v32H248c-13.3 0-24-10.7-24-24V120c0-13.3 10.7-24 24-24h48c3.7 0 7.2 .8 10.3 2.3zM288 224v32H256v32h32v32H248c-13.3 0-24-10.7-24-24V248c0-13.3 10.7-24 24-24h40zM192 384c-17.7 0-32 14.3-32 32v64h64V416c0-17.7-14.3-32-32-32zM88 96h48c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H88c-13.3 0-24-10.7-24-24V120c0-13.3 10.7-24 24-24zm8 64h32V128H96v32zm-8 64h48c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H88c-13.3 0-24-10.7-24-24V248c0-13.3 10.7-24 24-24zm8 64h32V256H96v32zM384 128c-17.7 0-32 14.3-32 32V448c0 17.7 14.3 32 32 32H576c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32H384zm-64 32c0-35.3 28.7-64 64-64H576c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H384c-35.3 0-64-28.7-64-64V160zm56 48a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm24 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM376 400a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm88-208h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H464c-8.8 0-16-7.2-16-16s7.2-16 16-16zM448 304c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H464c-8.8 0-16-7.2-16-16zm16 80h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H464c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faUtilityPoleDouble = {\n prefix: 'fal',\n iconName: 'utility-pole-double',\n icon: [512, 512, [], \"e2c4\", \"M208 32c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32V96h80V48c0-8.8 7.2-16 16-16s16 7.2 16 16V96h15.8c.1 0 .2 0 .3 0H480V48c0-8.8 7.2-16 16-16s16 7.2 16 16V96c0 17.7-14.3 32-32 32H437.5L304 231.8V288h80V240c0-8.8 7.2-16 16-16s16 7.2 16 16v48h15.8c.1 0 .2 0 .3 0H480V240c0-8.8 7.2-16 16-16s16 7.2 16 16v48c0 17.7-14.3 32-32 32H437.5L304 423.8V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V416.2c0-.1 0-.2 0-.3V320H240v95.9c0 .1 0 .2 0 .3V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V423.8L74.5 320H32c-17.7 0-32-14.3-32-32V240c0-8.8 7.2-16 16-16s16 7.2 16 16v48H79.9c.1 0 .2 0 .3 0H96V240c0-8.8 7.2-16 16-16s16 7.2 16 16v48h80V231.8L74.5 128H32C14.3 128 0 113.7 0 96V48c0-8.8 7.2-16 16-16s16 7.2 16 16V96H79.9c.1 0 .2 0 .3 0H96V48c0-8.8 7.2-16 16-16s16 7.2 16 16V96h80V32zm-81.4 96L208 191.3V128H126.6zM240 224.2V288h32V224.2c0-.1 0-.2 0-.3V128H240v95.9c0 .1 0 .2 0 .3zm64-32.9L385.4 128H304v63.3zM126.6 320L208 383.3V320H126.6zM304 383.3L385.4 320H304v63.3zM272 32l-32 0V96h32V32z\"]\n};\nvar faFlagCheckered = {\n prefix: 'fal',\n iconName: 'flag-checkered',\n icon: [448, 512, [127937], \"f11e\", \"M32 16C32 7.2 24.8 0 16 0S0 7.2 0 16V67.8 80 384v20.9V496c0 8.8 7.2 16 16 16s16-7.2 16-16V396.2l101.8-27.8c36.4-9.9 75.1-6.1 108.8 10.8c48.7 24.4 105.7 26 155.8 4.6l30.2-12.9c11.8-5 19.4-16.6 19.4-29.4V59.3c0-24.4-26.4-39.8-47.6-27.6l-15.8 9c-40.6 23.2-90.2 24.6-132.1 3.7c-37.9-18.9-81.4-23.2-122.2-12.1L32 59.1V16zm0 76.2L128 66v67.5L32 154.4V92.2zm0 94.9l96-20.9v71.3L32 258.4V187.2zm128-27.8l3.5-.8c18.3-4 37.4-3.3 55.4 2l64.4 18.9c1.6 .5 3.2 .9 4.8 1.3v70.7l-60.1-17.7c-22.1-6.5-45.3-7.6-67.9-3.3V159.3zm160 26.9c17.5 1.3 35.2-.1 52.5-4l43.5-10v71.2L365.3 255c-14.9 3.4-30.2 4.5-45.3 3.1V186.2zm-32 98.6v77.3c-10.6-2.7-21-6.5-31-11.5c-30.2-15.1-63.7-21.6-97-19V263.3l3.5-.8c18.3-4 37.4-3.3 55.4 2l64.4 18.9c1.6 .5 3.2 .9 4.8 1.3zm32 81.8V290.2c17.5 1.3 35.2-.1 52.5-4l43.5-10v65.3l-30.2 12.9c-21 9-43.5 13.1-65.8 12.3zm0-212.6v-63c27.8-.8 55.5-8.4 80.4-22.6L416 59.6v79.7L365.3 151c-14.9 3.4-30.2 4.5-45.3 3.1zM288 89v58.6l-60.1-17.7c-22.1-6.5-45.3-7.6-67.9-3.3V59.1c26.7-3 53.9 1.8 78.2 13.9c15.9 8 32.7 13.3 49.8 16zM32 291.2l96-20.9v66.6c-.9 .2-1.7 .4-2.6 .7L32 363.1V291.2z\"]\n};\nvar faChevronsUp = {\n prefix: 'fal',\n iconName: 'chevrons-up',\n icon: [512, 512, [\"chevron-double-up\"], \"f325\", \"M267.3 52.7c-6.2-6.2-16.4-6.2-22.6 0l-192 192c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L256 86.6 436.7 267.3c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-192-192zm192 384l-192-192c-6.2-6.2-16.4-6.2-22.6 0l-192 192c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L256 278.6 436.7 459.3c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6z\"]\n};\nvar faChevronDoubleUp = faChevronsUp;\nvar faFootball = {\n prefix: 'fal',\n iconName: 'football',\n icon: [512, 512, [127944, \"football-ball\"], \"f44e\", \"M456.2 55.4c-48.9-8.2-92.4-10.8-130.9-8.7L464.8 186.2c3.4-47.1-.8-92.9-8.6-130.8zM220 67.1C161.1 89 120.4 126.1 93.3 170.3c-21.6 35.2-34.6 74.9-41.3 115L227.3 460.7c.2 .2 .3 .3 .5 .5c23.5-3.6 44.8-9.1 64.2-16.3c58.9-21.9 99.6-58.9 126.7-103.2c21.6-35.2 34.6-74.9 41.3-115L284.7 51.3c-.2-.2-.3-.3-.5-.5C260.7 54.4 239.4 60 220 67.1zM47.2 325.8c-3.4 47.1 .8 92.9 8.6 130.8c48.9 8.2 92.4 10.8 130.9 8.7L47.2 325.8zM208.9 37.1C274.4 12.8 357.6 6.5 461.5 23.8c13 2.2 23.4 12.1 26.1 25.1c17.5 84.8 18.6 211.3-41.6 309.5c-30.6 50-76.8 92-142.9 116.5c-65.6 24.3-148.7 30.7-252.6 13.3c-13-2.2-23.4-12.1-26.1-25.1C6.9 378.3 5.8 251.8 66 153.6c30.6-50 76.8-92 142.9-116.5zm82.4 119.5l64 64c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-64-64c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0zm-56 56l64 64c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-64-64c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0zm-56 56l64 64c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-64-64c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0z\"]\n};\nvar faFootballBall = faFootball;\nvar faUserVneck = {\n prefix: 'fal',\n iconName: 'user-vneck',\n icon: [448, 512, [], \"e461\", \"M224 224a96 96 0 1 0 0-192 96 96 0 1 0 0 192zm128-96A128 128 0 1 1 96 128a128 128 0 1 1 256 0zM185.6 418.1l-57.2-76.3C72.6 358.8 32 410.7 32 472l0 8H416v-8c0-61.3-40.6-113.2-96.4-130.1l-57.2 76.3c-19.2 25.6-57.6 25.6-76.8 0zM132.1 307.8c5.8-1.3 11.7 1.2 15.3 5.9l63.9 85.2c6.4 8.5 19.2 8.5 25.6 0l63.9-85.2c3.6-4.7 9.5-7.2 15.3-5.9C391.4 324.3 448 391.5 448 472v8c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32v-8c0-80.5 56.6-147.7 132.1-164.1z\"]\n};\nvar faSchoolCircleExclamation = {\n prefix: 'fal',\n iconName: 'school-circle-exclamation',\n icon: [640, 512, [], \"e56c\", \"M311.1 2.7c5.4-3.6 12.4-3.6 17.8 0L468.8 96H576c35.3 0 64 28.7 64 64V266.8c-9.1-12.9-19.9-24.5-32-34.6V160c0-17.7-14.3-32-32-32H464c-3.2 0-6.2-.9-8.9-2.7L320 35.2 184.9 125.3c-2.6 1.8-5.7 2.7-8.9 2.7H64c-17.7 0-32 14.3-32 32V448c0 17.7 14.3 32 32 32H256V384c0-35.3 28.7-64 64-64c2.2 0 4.4 .1 6.5 .3c-2.9 10.2-4.8 20.8-5.8 31.7l-.7 0c-17.7 0-32 14.3-32 32v96h32 32 8.2c10 12.1 21.7 22.9 34.6 32H384 352 288 256 64c-35.3 0-64-28.7-64-64V160c0-35.3 28.7-64 64-64H171.2l140-93.3zM416 192c0 7-.7 13.8-2.2 20.3c-31.3 16.5-57 42.2-73.5 73.5c-6.5 1.4-13.3 2.2-20.3 2.2c-53 0-96-43-96-96s43-96 96-96s96 43 96 96zM128 160h32c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32V192c0-17.7 14.3-32 32-32zm0 32v64h32V192H128zM96 352c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32V352zm64 0H128v64h32V352zm160-96a64 64 0 1 0 0-128 64 64 0 1 0 0 128zm16-96v16h8c8.8 0 16 7.2 16 16s-7.2 16-16 16H320c-8.8 0-16-7.2-16-16V160c0-8.8 7.2-16 16-16s16 7.2 16 16zM608 368a112 112 0 1 0 -224 0 112 112 0 1 0 224 0zm-256 0a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144 32a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-112c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V304c0-8.8 7.2-16 16-16z\"]\n};\nvar faCrop = {\n prefix: 'fal',\n iconName: 'crop',\n icon: [512, 512, [], \"f125\", \"M416 118.6l91.3-91.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L393.4 96 160 96v32l201.4 0L128 361.4V16c0-8.8-7.2-16-16-16s-16 7.2-16 16V96H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H96V368c0 26.5 21.5 48 48 48H352V384H150.6L384 150.6 384 496c0 8.8 7.2 16 16 16s16-7.2 16-16V416h80c8.8 0 16-7.2 16-16s-7.2-16-16-16H416l0-265.4z\"]\n};\nvar faAnglesDown = {\n prefix: 'fal',\n iconName: 'angles-down',\n icon: [448, 512, [\"angle-double-down\"], \"f103\", \"M235.3 459.3c-6.2 6.2-16.4 6.2-22.6 0l-160-160c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L224 425.4 372.7 276.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-160 160zm160-352l-160 160c-6.2 6.2-16.4 6.2-22.6 0l-160-160c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L224 233.4 372.7 84.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faAngleDoubleDown = faAnglesDown;\nvar faUsersRectangle = {\n prefix: 'fal',\n iconName: 'users-rectangle',\n icon: [640, 512, [], \"e594\", \"M80 0C35.8 0 0 35.8 0 80V432c0 44.2 35.8 80 80 80H560c44.2 0 80-35.8 80-80V80c0-44.2-35.8-80-80-80H80zM32 80c0-26.5 21.5-48 48-48H560c26.5 0 48 21.5 48 48V432c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48V80zM288 192a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm96 0a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zM360 320c19.4 0 35.5 13.7 39.2 32H240.8c3.7-18.3 19.8-32 39.2-32h80zm-80-32c-39.8 0-72 32.2-72 72c0 13.3 10.7 24 24 24H408c13.3 0 24-10.7 24-24c0-39.8-32.2-72-72-72H320 280zM159.8 176a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm64 0a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM128 312c0-13.3 10.7-24 24-24h56c8.8 0 16-7.2 16-16s-7.2-16-16-16H152c-30.9 0-56 25.1-56 56v8c0 8.8 7.2 16 16 16s16-7.2 16-16v-8zM464.2 160a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm0 64a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM488 288c13.3 0 24 10.7 24 24v8c0 8.8 7.2 16 16 16s16-7.2 16-16v-8c0-30.9-25.1-56-56-56H432c-8.8 0-16 7.2-16 16s7.2 16 16 16h56z\"]\n};\nvar faPeopleRoof = {\n prefix: 'fal',\n iconName: 'people-roof',\n icon: [640, 512, [], \"e537\", \"M328.5 2.5l304 192c7.5 4.7 9.7 14.6 5 22.1s-14.6 9.7-22.1 5L320 34.9 24.5 221.5c-7.5 4.7-17.4 2.5-22.1-5s-2.5-17.4 5-22.1l304-192c5.2-3.3 11.9-3.3 17.1 0zM336 192a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-64 0a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm24 208h48V289.5c-3.8-1-7.7-1.5-11.8-1.5H307.8c-4 0-8 .5-11.8 1.5V400zm122.4-15.6L376 315.5V400c0 17.7-14.3 32-32 32H296c-17.7 0-32-14.3-32-32V315.5l-42.4 68.9c-.2 .3-.3 .5-.5 .8c1.1 1.6 2.2 3.2 3.3 4.9l45.3 73.5c4.6 7.5 2.3 17.4-5.2 22s-17.4 2.3-22-5.2L200 411.5V480c0 17.7-14.3 32-32 32H120c-17.7 0-32-14.3-32-32V411.5L45.6 480.4c-4.6 7.5-14.5 9.9-22 5.2s-9.9-14.5-5.2-22l45.3-73.5C78.2 366.4 104 352 131.8 352h24.5c14.6 0 28.7 4 40.8 11.2l42.5-69.1C254.2 270.4 280 256 307.8 256h24.5c27.8 0 53.6 14.4 68.1 38.1l42.6 69.1c12.2-7.2 26.2-11.2 40.8-11.2h24.5c27.8 0 53.6 14.4 68.1 38.1l45.3 73.5c4.6 7.5 2.3 17.4-5.2 22s-17.4 2.3-22-5.2L552 411.5V480c0 17.7-14.3 32-32 32H472c-17.7 0-32-14.3-32-32V411.5l-42.4 68.9c-4.6 7.5-14.5 9.9-22 5.2s-9.9-14.5-5.2-22l45.3-73.5c1-1.7 2.1-3.3 3.3-4.9c-.2-.3-.4-.5-.5-.8zM144 304a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm0-64a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM120 385.5V480h48V385.5c-3.8-1-7.7-1.5-11.8-1.5H131.8c-4 0-8 .5-11.8 1.5zM512 288a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-64 0a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm24 192h48V385.5c-3.8-1-7.7-1.5-11.8-1.5H483.8c-4 0-8 .5-11.8 1.5V480z\"]\n};\nvar faSquareArrowRight = {\n prefix: 'fal',\n iconName: 'square-arrow-right',\n icon: [448, 512, [\"arrow-square-right\"], \"f33b\", \"M416 96c0-17.7-14.3-32-32-32L64 64C46.3 64 32 78.3 32 96l0 320c0 17.7 14.3 32 32 32l320 0c17.7 0 32-14.3 32-32l0-320zM384 32c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l320 0zM347.3 267.3l-96 96c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L297.4 272 112 272c-8.8 0-16-7.2-16-16s7.2-16 16-16l185.4 0-68.7-68.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l96 96c6.2 6.2 6.2 16.4 0 22.6z\"]\n};\nvar faArrowSquareRight = faSquareArrowRight;\nvar faLocationPlus = {\n prefix: 'fal',\n iconName: 'location-plus',\n icon: [384, 512, [\"map-marker-plus\"], \"f60a\", \"M352 192c0-88.4-71.6-160-160-160S32 103.6 32 192c0 15.6 5.4 37 16.6 63.4c10.9 25.9 26.2 54 43.6 82.1c34.1 55.3 74.4 108.2 99.9 140c25.4-31.8 65.8-84.7 99.9-140c17.3-28.1 32.7-56.3 43.6-82.1C346.6 229 352 207.6 352 192zm32 0c0 87.4-117 243-168.3 307.2c-12.3 15.3-35.1 15.3-47.4 0C117 435 0 279.4 0 192C0 86 86 0 192 0S384 86 384 192zM176 288V208H96c-8.8 0-16-7.2-16-16s7.2-16 16-16h80V96c0-8.8 7.2-16 16-16s16 7.2 16 16v80h80c8.8 0 16 7.2 16 16s-7.2 16-16 16H208v80c0 8.8-7.2 16-16 16s-16-7.2-16-16z\"]\n};\nvar faMapMarkerPlus = faLocationPlus;\nvar faLightbulbExclamationOn = {\n prefix: 'fal',\n iconName: 'lightbulb-exclamation-on',\n icon: [640, 512, [], \"e1ca\", \"M55.2 1.7l64 32c7.9 4 11.1 13.6 7.2 21.5s-13.6 11.1-21.5 7.2l-64-32c-7.9-4-11.1-13.6-7.2-21.5s13.6-11.1 21.5-7.2zm544 28.6l-64 32c-7.9 4-17.5 .7-21.5-7.2s-.7-17.5 7.2-21.5l64-32c7.9-4 17.5-.7 21.5 7.2s.7 17.5-7.2 21.5zM16 160H80c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16-7.2-16-16s7.2-16 16-16zm544 0h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H560c-8.8 0-16-7.2-16-16s7.2-16 16-16zM119.2 318.3l-64 32c-7.9 4-17.5 .7-21.5-7.2s-.7-17.5 7.2-21.5l64-32c7.9-4 17.5-.7 21.5 7.2s.7 17.5-7.2 21.5zm416-28.6l64 32c7.9 4 11.1 13.6 7.2 21.5s-13.6 11.1-21.5 7.2l-64-32c-7.9-4-11.1-13.6-7.2-21.5s13.6-11.1 21.5-7.2zm-96.8-31.6C454.5 234.8 464 206.6 464 176c0-79.5-64.5-144-144-144s-144 64.5-144 144c0 30.6 9.5 58.8 25.7 82.1c4.1 5.9 8.8 12.3 13.6 19l0 0c12.7 17.5 27.1 37.2 38 57.1c8.9 16.2 13.7 33.3 16.2 49.9H237c-2.2-12-5.9-23.7-11.8-34.5c-9.9-18-22.2-34.9-34.5-51.8l0 0 0 0 0 0c-5.2-7.1-10.4-14.2-15.4-21.4C155.6 247.9 144 213.3 144 176C144 78.8 222.8 0 320 0s176 78.8 176 176c0 37.3-11.6 71.9-31.4 100.3c-5 7.2-10.2 14.3-15.4 21.4l0 0 0 0 0 0 0 0c-12.3 16.8-24.6 33.7-34.5 51.8c-5.9 10.8-9.6 22.5-11.8 34.5H370.5c2.5-16.6 7.3-33.7 16.2-49.9c10.9-20 25.3-39.7 38-57.1c4.9-6.7 9.5-13 13.6-19zM320 480c20.9 0 38.7-13.4 45.3-32H274.7c6.6 18.6 24.4 32 45.3 32zm-80-53.3c0-5.9 4.8-10.7 10.7-10.7H389.3c5.9 0 10.7 4.8 10.7 10.7V432c0 44.2-35.8 80-80 80s-80-35.8-80-80v-5.3zM336 112V240c0 8.8-7.2 16-16 16s-16-7.2-16-16V112c0-8.8 7.2-16 16-16s16 7.2 16 16zM320 296a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faPeopleLine = {\n prefix: 'fal',\n iconName: 'people-line',\n icon: [640, 512, [], \"e534\", \"M336 80a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-64 0a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm24 208h48V177.5c-3.8-1-7.7-1.5-11.8-1.5H307.8c-4 0-8 .5-11.8 1.5V288zm122.4-15.6L376 203.5V288c0 17.7-14.3 32-32 32H296c-17.7 0-32-14.3-32-32V203.5l-42.4 68.9c-.2 .3-.3 .5-.5 .8c1.1 1.6 2.2 3.2 3.3 4.9l45.3 73.5c4.6 7.5 2.3 17.4-5.2 22s-17.4 2.3-22-5.2L200 299.5V368c0 17.7-14.3 32-32 32H120c-17.7 0-32-14.3-32-32V299.5L45.6 368.4c-4.6 7.5-14.5 9.9-22 5.2s-9.9-14.5-5.2-22l45.3-73.5C78.2 254.4 104 240 131.8 240h24.5c14.6 0 28.7 4 40.8 11.2l42.5-69.1C254.2 158.4 280 144 307.8 144h24.5c27.8 0 53.6 14.4 68.1 38.1l42.6 69.1c12.2-7.2 26.2-11.2 40.8-11.2h24.5c27.8 0 53.6 14.4 68.1 38.1l45.3 73.5c4.6 7.5 2.3 17.4-5.2 22s-17.4 2.3-22-5.2L552 299.5V368c0 17.7-14.3 32-32 32H472c-17.7 0-32-14.3-32-32V299.5l-42.4 68.9c-4.6 7.5-14.5 9.9-22 5.2s-9.9-14.5-5.2-22l45.3-73.5c1-1.7 2.1-3.3 3.3-4.9c-.2-.3-.4-.5-.5-.8zM16 448H624c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16-7.2-16-16s7.2-16 16-16zM144 192a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm0-64a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM120 273.5V368h48V273.5c-3.8-1-7.7-1.5-11.8-1.5H131.8c-4 0-8 .5-11.8 1.5zM512 176a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-64 0a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm24 192h48V273.5c-3.8-1-7.7-1.5-11.8-1.5H483.8c-4 0-8 .5-11.8 1.5V368z\"]\n};\nvar faBeerMugEmpty = {\n prefix: 'fal',\n iconName: 'beer-mug-empty',\n icon: [512, 512, [\"beer\"], \"f0fc\", \"M352 64H64V416c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32V360.4c0-.2 0-.5 0-.7V64zm32 306.5V416c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V64c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32V96h64c35.3 0 64 28.7 64 64V262.1c0 31.8-18.8 60.6-47.9 73.3l-80.1 35zM384 128V335.5l67.2-29.4c17.5-7.6 28.8-24.9 28.8-44V160c0-17.7-14.3-32-32-32H384zm-240 0c8.8 0 16 7.2 16 16V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-8.8 7.2-16 16-16zm64 0c8.8 0 16 7.2 16 16V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-8.8 7.2-16 16-16zm64 0c8.8 0 16 7.2 16 16V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-8.8 7.2-16 16-16z\"]\n};\nvar faBeer = faBeerMugEmpty;\nvar faCrateEmpty = {\n prefix: 'fal',\n iconName: 'crate-empty',\n icon: [512, 512, [], \"e151\", \"M480 384v72c0 13.3-10.7 24-24 24H56c-13.3 0-24-10.7-24-24V384H480zm0-32H32V280c0-13.3 10.7-24 24-24H456c13.3 0 24 10.7 24 24v72zm32 0V280c0-30.9-25.1-56-56-56H56c-30.9 0-56 25.1-56 56v72 16 16 72c0 30.9 25.1 56 56 56H456c30.9 0 56-25.1 56-56V384 368 352zM96 304a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm336 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32zM96 432a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm336 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faDiagramPredecessor = {\n prefix: 'fal',\n iconName: 'diagram-predecessor',\n icon: [512, 512, [], \"e477\", \"M480 352c0-17.7-14.3-32-32-32L64 320c-17.7 0-32 14.3-32 32l0 64c0 17.7 14.3 32 32 32l384 0c17.7 0 32-14.3 32-32l0-64zm32 64c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64l0-64c0-35.3 28.7-64 64-64l384 0c35.3 0 64 28.7 64 64l0 64zM256 96c0-17.7-14.3-32-32-32l-32 0L64 64C46.3 64 32 78.3 32 96l0 64c0 17.7 14.3 32 32 32l160 0c17.7 0 32-14.3 32-32l0-64zm23.4-32c5.4 9.4 8.6 20.3 8.6 32l0 64c0 35.3-28.7 64-64 64L64 224c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l128 0 32 0 144 0c35.3 0 64 28.7 64 64l0 89.4 36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-64 64c-6.2 6.2-16.4 6.2-22.6 0l-64-64c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L400 185.4 400 96c0-17.7-14.3-32-32-32l-88.6 0zM96 112l96 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-96 0c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faTransporter = {\n prefix: 'fal',\n iconName: 'transporter',\n icon: [512, 512, [], \"e042\", \"M464 0c8.8 0 16 7.2 16 16V32h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H480V80c0 8.8-7.2 16-16 16s-16-7.2-16-16V64H432c-8.8 0-16-7.2-16-16s7.2-16 16-16h16V16c0-8.8 7.2-16 16-16zM48 64c8.8 0 16 7.2 16 16V96H80c8.8 0 16 7.2 16 16s-7.2 16-16 16H64v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V128H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H32V80c0-8.8 7.2-16 16-16zM256 80a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-80a56 56 0 1 1 0 112A56 56 0 1 1 256 0zM128 496c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-26.5 21.5-48 48-48H368c26.5 0 48 21.5 48 48c0 8.8-7.2 16-16 16s-16-7.2-16-16s-7.2-16-16-16H144c-8.8 0-16 7.2-16 16zm64-302.9c-.5 .6-1 1.3-1.5 1.9l-65.7 86.7c-5.3 7-15.4 8.4-22.4 3.1s-8.4-15.4-3.1-22.4L165 175.7c15.1-19.9 38.7-31.7 63.7-31.7h54.6c25 0 48.6 11.7 63.7 31.7l65.7 86.7c5.3 7 4 17.1-3.1 22.4s-17.1 4-22.4-3.1L321.5 195c-.5-.7-1-1.3-1.5-1.9V304v96 16H288V400 320H224v80 16H192V400 304 193.1zm32-16.8V288h64V176.2c-1.6-.2-3.1-.2-4.7-.2H228.7c-1.6 0-3.2 .1-4.7 .2z\"]\n};\nvar faCalendarCircleUser = {\n prefix: 'fal',\n iconName: 'calendar-circle-user',\n icon: [576, 512, [], \"e471\", \"M128 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V64H64C28.7 64 0 92.7 0 128v32 32V448c0 35.3 28.7 64 64 64H330.8c-12.9-9.1-24.5-19.9-34.6-32H64c-17.7 0-32-14.3-32-32V192H352h64 16 16V160 128c0-35.3-28.7-64-64-64H352V16c0-8.8-7.2-16-16-16s-16 7.2-16 16V64H128V16zM64 96H384c17.7 0 32 14.3 32 32v32H32V128c0-17.7 14.3-32 32-32zM492 462.6c-17.3 11-37.9 17.4-60 17.4s-42.7-6.4-60-17.4c7.8-9.1 19.4-14.6 31.8-14.6h56.4c12.4 0 23.9 5.5 31.8 14.6zm24.3-20.8c-13.8-16.1-34.2-25.8-56.1-25.8H403.8c-21.8 0-42.2 9.6-56.1 25.8C330.5 422.1 320 396.2 320 368c0-61.9 50.1-112 112-112s112 50.1 112 112c0 28.2-10.5 54.1-27.7 73.8zM576 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zM432 320a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0 80a56 56 0 1 0 0-112 56 56 0 1 0 0 112z\"]\n};\nvar faArrowUpLong = {\n prefix: 'fal',\n iconName: 'arrow-up-long',\n icon: [384, 512, [\"long-arrow-up\"], \"f176\", \"M203.3 4.7c-6.2-6.2-16.4-6.2-22.6 0l-144 144c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L176 54.6V496c0 8.8 7.2 16 16 16s16-7.2 16-16V54.6L324.7 171.3c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-144-144z\"]\n};\nvar faLongArrowUp = faArrowUpLong;\nvar faPersonCarryBox = {\n prefix: 'fal',\n iconName: 'person-carry-box',\n icon: [384, 512, [\"person-carry\"], \"f4cf\", \"M56 56a24 24 0 1 1 48 0A24 24 0 1 1 56 56zm80 0A56 56 0 1 0 24 56a56 56 0 1 0 112 0zM0 496c0 8.8 7.2 16 16 16s16-7.2 16-16l0-130.5L1.6 341.6c-.5-.4-1.1-.9-1.6-1.3L0 496zM60 176c7 0 13.8 1.5 20 4.2V319.4L39.1 292.2c-4.5-3-7.1-8-7.1-13.3V204c0-15.5 12.5-28 28-28zm52 38.5l37.8 58.8c5.9 9.2 16 14.7 26.9 14.7H224h16H352c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32H224c-17.7 0-32 14.3-32 32V256H176.7l-47.8-74.4C113.9 158.2 87.9 144 60 144c-33.1 0-60 26.9-60 60v74.9c0 16 8 31 21.4 39.9l100.2 66.8 22.7 113.5c1.7 8.7 10.2 14.3 18.8 12.6s14.3-10.2 12.6-18.8L153 379.4c-1.7-8.3-6.6-15.6-13.6-20.3L112 340.8V214.5zM224 256V128H352V256H240 224z\"]\n};\nvar faPersonCarry = faPersonCarryBox;\nvar faFireFlameSimple = {\n prefix: 'fal',\n iconName: 'fire-flame-simple',\n icon: [384, 512, [\"burn\"], \"f46a\", \"M341.8 265.5C310.2 178.6 258.9 100.2 192 36.4C125.1 100.2 73.8 178.6 42.2 265.5l-.7 1.9c-6.3 17.4-9.5 35.7-9.5 54.1C32 408.7 104.2 480 192 480s160-71.3 160-158.4c0-18.5-3.2-36.8-9.5-54.1l27.2-9.9-27.2 9.9-.7-1.9zm30.1-10.9l.7 1.9c7.6 20.9 11.5 42.9 11.5 65.1C384 426.7 297.2 512 192 512S0 426.7 0 321.6c0-22.2 3.9-44.2 11.5-65.1l.7-1.9C46.2 160.8 102 76.5 174.9 8.5l3.3-3C181.9 2 186.9 0 192 0s10.1 2 13.8 5.5l3.3 3c72.9 68 128.7 152.4 162.7 246.1zM192 160c9.3 0 18.3 3.7 24.9 10.3l8.9 8.9c28.8 28.8 52.1 62.7 68.6 99.9l1.9 4.3c5 11.3 7.6 23.7 7.6 36C304 381.2 254 432 192 432s-112-50.8-112-112.5c0-12.4 2.6-24.7 7.6-36l1.9-4.3c16.5-37.2 39.8-71.1 68.6-99.9l8.9-8.9c6.6-6.6 15.6-10.3 24.9-10.3zm-2.3 32.9l-8.9 8.9c-26 26-47.1 56.6-62 90.3l-1.9 4.3c-3.2 7.2-4.9 15.1-4.9 23c0 44.3 35.9 80.5 80 80.5s80-36.2 80-80.5c0-7.9-1.7-15.8-4.9-23l-1.9-4.3c-15-33.6-36-64.3-62-90.3l-8.9-8.9c-.6-.6-1.4-.9-2.3-.9s-1.7 .4-2.3 .9z\"]\n};\nvar faBurn = faFireFlameSimple;\nvar faPerson = {\n prefix: 'fal',\n iconName: 'person',\n icon: [320, 512, [129485, \"male\"], \"f183\", \"M160 80a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-80a56 56 0 1 1 0 112A56 56 0 1 1 160 0zM128 164V320h64V164c-6-2.6-12.5-4-19.3-4H147.3c-6.8 0-13.3 1.4-19.3 4zm0 188V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V202.1L46.1 295.5c-4.2 7.8-13.9 10.7-21.7 6.6s-10.7-13.9-6.6-21.7L76.7 170.3c13.9-26 41-42.3 70.6-42.3h25.4c29.5 0 56.7 16.3 70.6 42.3l58.8 110.2c4.2 7.8 1.2 17.5-6.6 21.7s-17.5 1.2-21.7-6.6L224 202.2V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V352H128z\"]\n};\nvar faMale = faPerson;\nvar faLaptop = {\n prefix: 'fal',\n iconName: 'laptop',\n icon: [640, 512, [128187], \"f109\", \"M512 64H128c-17.7 0-32 14.3-32 32V352H64V96c0-35.3 28.7-64 64-64H512c35.3 0 64 28.7 64 64V352H544V96c0-17.7-14.3-32-32-32zM76.8 448H563.2c20.3 0 37.4-13.5 42.9-32H33.9c5.5 18.5 22.7 32 42.9 32zM0 403.2C0 392.6 8.6 384 19.2 384H620.8c10.6 0 19.2 8.6 19.2 19.2c0 42.4-34.4 76.8-76.8 76.8H76.8C34.4 480 0 445.6 0 403.2z\"]\n};\nvar faFileCsv = {\n prefix: 'fal',\n iconName: 'file-csv',\n icon: [512, 512, [], \"f6dd\", \"M64 480H96v32H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H220.1c12.7 0 24.9 5.1 33.9 14.1L369.9 129.9c9 9 14.1 21.2 14.1 33.9V288H352V192H240c-26.5 0-48-21.5-48-48V32H64C46.3 32 32 46.3 32 64V448c0 17.7 14.3 32 32 32zM351.5 160c-.7-2.8-2.1-5.4-4.2-7.4L231.4 36.7c-2.1-2.1-4.6-3.5-7.4-4.2V144c0 8.8 7.2 16 16 16H351.5zM200 352h16c22.1 0 40 17.9 40 40v8c0 8.8-7.2 16-16 16s-16-7.2-16-16v-8c0-4.4-3.6-8-8-8H200c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8v-8c0-8.8 7.2-16 16-16s16 7.2 16 16v8c0 22.1-17.9 40-40 40H200c-22.1 0-40-17.9-40-40V392c0-22.1 17.9-40 40-40zm133.1 0H368c8.8 0 16 7.2 16 16s-7.2 16-16 16H333.1c-7.2 0-13.1 5.9-13.1 13.1c0 5.2 3 9.9 7.8 12l37.4 16.6c16.3 7.2 26.8 23.4 26.8 41.2c0 24.9-20.2 45.1-45.1 45.1H304c-8.8 0-16-7.2-16-16s7.2-16 16-16h42.9c7.2 0 13.1-5.9 13.1-13.1c0-5.2-3-9.9-7.8-12l-37.4-16.6c-16.3-7.2-26.8-23.4-26.8-41.2c0-24.9 20.2-45.1 45.1-45.1zm98.9 0c8.8 0 16 7.2 16 16v31.6c0 23 5.5 45.6 16 66c10.5-20.3 16-42.9 16-66V368c0-8.8 7.2-16 16-16s16 7.2 16 16v31.6c0 34.7-10.3 68.7-29.6 97.6l-5.1 7.7c-3 4.5-8 7.1-13.3 7.1s-10.3-2.7-13.3-7.1l-5.1-7.7c-19.3-28.9-29.6-62.9-29.6-97.6V368c0-8.8 7.2-16 16-16z\"]\n};\nvar faMenorah = {\n prefix: 'fal',\n iconName: 'menorah',\n icon: [640, 512, [], \"f676\", \"M48 16V80c0 8.8-7.2 16-16 16s-16-7.2-16-16V16C16 7.2 23.2 0 32 0s16 7.2 16 16zm96 0V80c0 8.8-7.2 16-16 16s-16-7.2-16-16V16c0-8.8 7.2-16 16-16s16 7.2 16 16zm96 0V80c0 8.8-7.2 16-16 16s-16-7.2-16-16V16c0-8.8 7.2-16 16-16s16 7.2 16 16zm96 0V80c0 8.8-7.2 16-16 16s-16-7.2-16-16V16c0-8.8 7.2-16 16-16s16 7.2 16 16zm96 0V80c0 8.8-7.2 16-16 16s-16-7.2-16-16V16c0-8.8 7.2-16 16-16s16 7.2 16 16zm96 0V80c0 8.8-7.2 16-16 16s-16-7.2-16-16V16c0-8.8 7.2-16 16-16s16 7.2 16 16zm96 0V80c0 8.8-7.2 16-16 16s-16-7.2-16-16V16c0-8.8 7.2-16 16-16s16 7.2 16 16zM32 128c8.8 0 16 7.2 16 16l0 160c0 26.5 21.5 48 48 48h16V144c0-8.8 7.2-16 16-16s16 7.2 16 16V352h64V144c0-8.8 7.2-16 16-16s16 7.2 16 16V352h64l0-208c0-8.8 7.2-16 16-16s16 7.2 16 16l0 208h64V144c0-8.8 7.2-16 16-16s16 7.2 16 16V352h64V144c0-8.8 7.2-16 16-16s16 7.2 16 16V352h16c26.5 0 48-21.5 48-48l0-160c0-8.8 7.2-16 16-16s16 7.2 16 16l0 160c0 44.2-35.8 80-80 80H336v96H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H320 144c-8.8 0-16-7.2-16-16s7.2-16 16-16H304V384H96c-44.2 0-80-35.8-80-80l0-160c0-8.8 7.2-16 16-16z\"]\n};\nvar faUnion = {\n prefix: 'fal',\n iconName: 'union',\n icon: [384, 512, [8899], \"f6a2\", \"M16 32c8.8 0 16 7.2 16 16V288c0 88.4 71.6 160 160 160s160-71.6 160-160V48c0-8.8 7.2-16 16-16s16 7.2 16 16V288c0 106-86 192-192 192S0 394 0 288V48c0-8.8 7.2-16 16-16z\"]\n};\nvar faChevronsLeft = {\n prefix: 'fal',\n iconName: 'chevrons-left',\n icon: [512, 512, [\"chevron-double-left\"], \"f323\", \"M52.7 244.7c-6.2 6.2-6.2 16.4 0 22.6l192 192c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L86.6 256 267.3 75.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-192 192zm384-192l-192 192c-6.2 6.2-6.2 16.4 0 22.6l192 192c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L278.6 256 459.3 75.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0z\"]\n};\nvar faChevronDoubleLeft = faChevronsLeft;\nvar faCircleHeart = {\n prefix: 'fal',\n iconName: 'circle-heart',\n icon: [512, 512, [\"heart-circle\"], \"f4c7\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM131.9 164.9c-29.4 29.8-29.4 78.2 0 108L233.5 376.1c6.2 6.3 14.3 9.4 22.5 9.4s16.3-3.1 22.5-9.4L380.1 272.9c29.4-29.8 29.4-78.2 0-108c-27.8-28.2-71.9-29.7-101.5-4.6c-5.8 4.9-11 10.4-16.3 15.9c-2.1 2.2-4.2 4.5-6.4 6.6c-2.1-2.2-4.3-4.4-6.4-6.6c-5.2-5.5-10.5-11-16.3-15.9c-29.6-25.1-73.7-23.6-101.5 4.6zm83.6 22.5l29.1 29.6c6.3 6.4 16.5 6.4 22.8 0l29.1-29.6c16.8-17.1 44-17.1 60.8 0c17.1 17.4 17.1 45.7 0 63.1L256 353.3 154.7 250.4c-17.1-17.4-17.1-45.7 0-63.1c16.8-17.1 44-17.1 60.8 0z\"]\n};\nvar faHeartCircle = faCircleHeart;\nvar faTruckPlane = {\n prefix: 'fal',\n iconName: 'truck-plane',\n icon: [640, 512, [], \"e58f\", \"M189.2 13.3C198.8 5.7 210.6 0 224 0c26.9 0 47.1 21.6 59.2 41.8c10.4 17.3 17.7 38 20 56.3c-12.3 3.3-23.1 10.2-31.2 19.4v-7.8c0-13.6-5.9-34.2-16.2-51.4C244.9 40.2 233.1 32 224 32c-4.1 0-9 1.7-14.8 6.3c-5.8 4.6-11.5 11.5-16.7 20C182.1 75.6 176 96.2 176 109.7v80c0 5.7-3.1 11-8.1 13.9L40.1 276.7c-5 2.8-8.1 8.2-8.1 13.9v56.2l123.6-35.3c4.8-1.4 10-.4 14 2.6s6.4 7.8 6.4 12.8l0 57.1c0 5-2.4 9.8-6.4 12.8L112 440v39.4l107.6-30.7c2.9-.8 5.9-.8 8.8 0l38.8 11.1c5.4 7.8 12.5 14.4 20.8 19.2v20l-64-18.3L118.3 510.8l0 0c-2.7 .8-5.5 1.2-8.3 1.2c-16.6 0-30-13.4-30-30V440c0-10.1 4.7-19.6 12.8-25.6L144 376l0-27.9L40.8 377.6C20.3 383.4 0 368 0 346.8V290.6c0-17.2 9.2-33.1 24.2-41.7L144 180.4V109.7c0-20.7 8.4-46.9 21.2-67.9c6.5-10.7 14.5-20.8 24-28.4zM592 160H336c-8.8 0-16 7.2-16 16V312.6c4.3-2.5 8.9-4.5 13.8-5.9l3.5-11.8 12.4-41.2c8.1-27.1 33-45.6 61.3-45.6H517c28.3 0 53.2 18.5 61.3 45.6l12.4 41.2 3.5 11.8c4.9 1.4 9.5 3.4 13.8 5.9V176c0-8.8-7.2-16-16-16zm48 208v48c0 20.9-13.4 38.7-32 45.3V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V464H352v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V461.3c-18.6-6.6-32-24.4-32-45.3V368 176c0-26.5 21.5-48 48-48H592c26.5 0 48 21.5 48 48V368zm-32 48V368c0-17.7-14.3-32-32-32H560 368 352c-17.7 0-32 14.3-32 32v48c0 8.8 7.2 16 16 16H592c8.8 0 16-7.2 16-16zM560 304l-9.6-32-2.8-9.2C543.6 249.3 531.1 240 517 240H411c-14.1 0-26.6 9.3-30.6 22.8l-2.8 9.2L368 304h33.4H526.6 560zM376 360a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm152 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faRecordVinyl = {\n prefix: 'fal',\n iconName: 'record-vinyl',\n icon: [512, 512, [], \"f8d9\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM384 256a128 128 0 1 0 -256 0 128 128 0 1 0 256 0zM256 160a96 96 0 1 1 0 192 96 96 0 1 1 0-192zm0 120a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faBringForward = {\n prefix: 'fal',\n iconName: 'bring-forward',\n icon: [512, 512, [], \"f856\", \"M224 480H448c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32H384V160h64c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H224c-35.3 0-64-28.7-64-64V384h32v64c0 17.7 14.3 32 32 32zM64 320H288c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H64C46.3 32 32 46.3 32 64V288c0 17.7 14.3 32 32 32zm224 32H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H288c35.3 0 64 28.7 64 64V288c0 35.3-28.7 64-64 64zm-32-96V96H96V256H256zm32 0c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32H256c17.7 0 32 14.3 32 32V256z\"]\n};\nvar faSquareP = {\n prefix: 'fal',\n iconName: 'square-p',\n icon: [448, 512, [], \"e279\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm144 32h88c48.6 0 88 39.4 88 88s-39.4 88-88 88H160v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V288 144c0-8.8 7.2-16 16-16zm88 144c30.9 0 56-25.1 56-56s-25.1-56-56-56H160V272h72z\"]\n};\nvar faFaceGrinStars = {\n prefix: 'fal',\n iconName: 'face-grin-stars',\n icon: [512, 512, [129321, \"grin-stars\"], \"f587\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm90-166.2c-22.6 23.6-54.5 38.3-89.9 38.3s-67.3-14.7-89.9-38.3c28.5 5.4 58.7 8.3 89.9 8.3s61.4-2.9 89.9-8.3zm33.8-41.1c-37.3 11.1-79.3 17.4-123.8 17.4s-86.4-6.3-123.8-17.4c-12.3-3.7-24.2 7-19.1 18.7c24.1 54.6 79 92.7 142.8 92.7s118.7-38.1 142.8-92.7c5.2-11.7-6.8-22.4-19.1-18.7zM160 104c-6.2 0-11.8 3.5-14.4 9.1l-19.3 40.4-44.4 5.9c-6.1 .8-11.2 5.1-13.1 10.9s-.3 12.3 4.2 16.5l32.5 30.9-8.2 44.1c-1.1 6.1 1.3 12.2 6.3 15.9s11.6 4.1 17 1.1L160 257.4l39.4 21.4c5.4 2.9 12 2.5 17-1.1s7.5-9.8 6.3-15.9l-8.2-44.1 32.5-30.9c4.5-4.2 6.1-10.7 4.2-16.5s-7-10.1-13.1-10.9l-44.4-5.9-19.3-40.4c-2.7-5.6-8.3-9.1-14.4-9.1zm0 53.2l8.6 18c2.3 4.9 7 8.3 12.3 9l19.8 2.6-14.5 13.7c-3.9 3.7-5.7 9.2-4.7 14.5l3.6 19.6-17.6-9.5c-4.8-2.6-10.5-2.6-15.3 0l-17.6 9.5 3.6-19.6c1-5.3-.8-10.8-4.7-14.5l-14.5-13.7 19.8-2.6c5.4-.7 10-4.1 12.3-9l8.6-18zM352 104c-6.2 0-11.8 3.5-14.4 9.1l-19.3 40.4-44.4 5.9c-6.1 .8-11.2 5.1-13.1 10.9s-.3 12.3 4.2 16.5l32.5 30.9-8.2 44.1c-1.1 6.1 1.3 12.2 6.3 15.9s11.6 4.1 17 1.1L352 257.4l39.4 21.4c5.4 2.9 12 2.5 17-1.1s7.4-9.8 6.3-15.9l-8.2-44.1 32.5-30.9c4.5-4.2 6.1-10.7 4.2-16.5s-7-10.1-13.1-10.9l-44.4-5.9-19.3-40.4c-2.7-5.6-8.3-9.1-14.4-9.1zm0 53.2l8.6 18c2.3 4.9 7 8.3 12.3 9l19.8 2.6-14.5 13.7c-3.9 3.7-5.7 9.2-4.7 14.5l3.6 19.6-17.6-9.5c-4.8-2.6-10.5-2.6-15.3 0l-17.6 9.5 3.6-19.6c1-5.3-.8-10.8-4.7-14.5l-14.5-13.7 19.8-2.6c5.4-.7 10-4.1 12.3-9l8.6-18z\"]\n};\nvar faGrinStars = faFaceGrinStars;\nvar faSigma = {\n prefix: 'fal',\n iconName: 'sigma',\n icon: [384, 512, [8721], \"f68b\", \"M1.3 41.6C3.9 35.8 9.6 32 16 32H344c22.1 0 40 17.9 40 40v72c0 8.8-7.2 16-16 16s-16-7.2-16-16V72c0-4.4-3.6-8-8-8H52.5L219.8 245.1c5.7 6.1 5.7 15.6 0 21.7L52.5 448H344c4.4 0 8-3.6 8-8V368c0-8.8 7.2-16 16-16s16 7.2 16 16v72c0 22.1-17.9 40-40 40H16c-6.4 0-12.1-3.8-14.7-9.6s-1.4-12.6 2.9-17.3L186.2 256 4.2 58.9C-.1 54.2-1.2 47.4 1.3 41.6z\"]\n};\nvar faCameraMovie = {\n prefix: 'fal',\n iconName: 'camera-movie',\n icon: [576, 512, [127909, 127910], \"f8a9\", \"M144 0c40.8 0 76.4 21.8 96 54.3C259.6 21.8 295.2 0 336 0c61.9 0 112 50.1 112 112s-50.1 112-112 112H144C82.1 224 32 173.9 32 112S82.1 0 144 0zM64 112c0 44.2 35.8 80 80 80H336c44.2 0 80-35.8 80-80s-35.8-80-80-80c-39.6 0-72.5 28.8-78.9 66.6c-1.3 7.7-8 13.4-15.8 13.4h-2.7c-7.8 0-14.5-5.6-15.8-13.4C216.5 60.8 183.6 32 144 32c-44.2 0-80 35.8-80 80zm80-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm168 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM136 288h-8c-17.7 0-32 14.3-32 32V448c0 17.7 14.3 32 32 32H352c17.7 0 32-14.3 32-32V320c0-17.7-14.3-32-32-32H136zm0-32H352c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H128c-35.3 0-64-28.7-64-64V320c0-11.7 3.1-22.6 8.6-32H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H128h8zM448 440.9l85.4 38.4c1 .4 2 .7 3.1 .7c4.2 0 7.5-3.4 7.5-7.5V291.9c0-3.2-2.9-5.6-6-5.1c-.4 .1-.9 .2-1.3 .4L448 327.1V292l75.6-34c2.9-1.3 6-2.2 9.1-2.8c22.6-3.8 43.3 13.7 43.3 36.6V472.5c0 21.8-17.7 39.5-39.5 39.5c-5.6 0-11.1-1.2-16.2-3.5L448 476V440.9z\"]\n};\nvar faBong = {\n prefix: 'fal',\n iconName: 'bong',\n icon: [448, 512, [], \"f55c\", \"M128 208.5c0 17.4-9.3 32.4-22.5 40.9C79 266.4 58 291 45.3 320H338.7c-12.7-29-33.7-53.6-60.2-70.6c-13.2-8.5-22.5-23.5-22.5-40.9V32H128V208.5zM35.2 352c-2.1 10.3-3.2 21-3.2 32c0 32.9 9.9 63.4 26.9 88.8c2.4 3.5 8 7.2 17.2 7.2H307.9c9.2 0 14.9-3.7 17.2-7.2c17-25.4 26.9-55.9 26.9-88.8c0-11-1.1-21.7-3.2-32H35.2zM96 208.5V32H80c-8.8 0-16-7.2-16-16S71.2 0 80 0h32H272h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H288V208.5c0 5.7 3.1 10.9 7.9 14c13.4 8.6 25.7 18.9 36.5 30.5l45-45-20.7-20.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l32 32 32 32c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L400 230.6l-47.7 47.7C372.3 308.6 384 345 384 384c0 39.4-11.9 76.1-32.2 106.5c-9.6 14.4-26.5 21.5-43.8 21.5H76.1c-17.3 0-34.2-7.1-43.8-21.5C11.9 460.1 0 423.4 0 384c0-67.8 35.1-127.3 88.1-161.5c4.8-3.1 7.9-8.3 7.9-14z\"]\n};\nvar faClarinet = {\n prefix: 'fal',\n iconName: 'clarinet',\n icon: [640, 512, [], \"f8ad\", \"M224 112c0-8.8 7.2-16 16-16h32 96 96 32c8.8 0 16 7.2 16 16s-7.2 16-16 16H480v32h44.6c7.9 0 15.6-2.3 22.2-6.7L602.7 116c7.4-4.9 16.8-5.4 24.6-1.2S640 127.1 640 136V376c0 8.9-4.9 17-12.7 21.2s-17.3 3.7-24.6-1.2l-55.9-37.3c-6.6-4.4-14.3-6.7-22.2-6.7H113.4c-8.6 0-17.1-1.3-25.3-3.7L17.1 327C7 323.9 0 314.6 0 304V208c0-10.6 7-19.9 17.1-23l71-21.3c8.2-2.5 16.7-3.7 25.3-3.7H256V128H240c-8.8 0-16-7.2-16-16zm224 16H384v32h64V128zm-96 0H288v32h64V128zm256 22.9l-43.4 29c-11.8 7.9-25.7 12.1-39.9 12.1H113.4c-5.5 0-10.9 .8-16.1 2.4L32 214V298l65.3 19.6c5.2 1.6 10.6 2.4 16.1 2.4H524.6c14.2 0 28.1 4.2 39.9 12.1l43.4 29V150.9zM272 232a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm72 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm120-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faTruckFlatbed = {\n prefix: 'fal',\n iconName: 'truck-flatbed',\n icon: [640, 512, [], \"e2b6\", \"M408 96c-13.3 0-24 10.7-24 24V384H250.5c-13.2-37.3-48.7-64-90.5-64s-77.4 26.7-90.5 64H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H64c0 53 43 96 96 96s96-43 96-96H384c0 53 43 96 96 96s96-43 96-96h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H608V235.8c0-11.5-4.1-22.5-11.6-31.2l-78.7-91.8C508.6 102.1 495.3 96 481.3 96H408zm8 160H576V384h-5.5c-13.2-37.3-48.7-64-90.5-64c-24.6 0-47 9.2-64 24.4V256zm154.9-32H416V128h65.3c4.7 0 9.1 2 12.1 5.6L570.9 224zM96 416a64 64 0 1 1 128 0A64 64 0 1 1 96 416zm384-64a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]\n};\nvar faSpaghettiMonsterFlying = {\n prefix: 'fal',\n iconName: 'spaghetti-monster-flying',\n icon: [640, 512, [\"pastafarianism\"], \"f67b\", \"M192 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm42 80.3c13.5-11.7 22-29 22-48.3c0-35.3-28.7-64-64-64s-64 28.7-64 64s28.7 64 64 64c4.6 0 9.1-.5 13.4-1.4L219 153.7c-24.9 14.5-43.8 33.5-59.2 52.1c-7.6 9.1-14.4 18.2-20.6 26.4l-.5 .7c-6.4 8.5-12 15.9-17.4 22.2c-11.3 13-18.7 17-25.2 17c-5 0-8.7-1.8-12.7-5.5c-4.5-4.4-8.5-10.5-13.8-18.9l-.5-.7c-4.7-7.5-10.6-16.9-18.3-24.3C42.3 214.2 31 208 16 208c-8.8 0-16 7.2-16 16s7.2 16 16 16c5 0 8.7 1.8 12.7 5.5c4.5 4.4 8.5 10.5 13.8 18.9l.5 .7c4.7 7.5 10.6 16.9 18.3 24.3C69.7 297.8 81 304 96 304c19.4 0 34.1-11.4 45.7-23.9l1 1.5c4.4 6.5 10.2 14.3 17.2 22.6c-3 8.5-5.6 17-8 24.9l0 0-1.3 4.3c-3.4 11.2-6.5 20.8-10.2 28.8c-3.7 8-7.5 13.3-11.7 16.7c-3.8 3-8.8 5.2-16.7 5.2c-11 0-21-5.3-36.8-13.8l-.6-.3c-15-8-34.2-17.9-58.5-17.9c-8.8 0-16 7.2-16 16s7.2 16 16 16c15.6 0 28.5 6.1 43.5 14.1l3.1 1.7C75.9 407 92.7 416 112 416c14.6 0 26.8-4.2 36.7-12.2c9.6-7.6 16-17.9 20.8-28.2c4.8-10.3 8.4-21.9 11.8-32.9l1.3-4.4c.9-2.8 1.7-5.6 2.6-8.4c19.3 17 44.1 33.4 74.6 43.2l-1 3.4 0 0c-5.4 18.4-13 43.8-24.3 65.6c-13 25-27.2 37.9-42.4 37.9c-8.8 0-16 7.2-16 16s7.2 16 16 16c35.1 0 57.3-29.1 70.8-55.1c12.8-24.7 21.2-53.1 26.6-71.2c.5-1.8 1-3.5 1.5-5.1l.1-.3c9.2 1.4 18.9 2.1 29 2.1s19.7-.7 29-2.1l.1 .3c.5 1.6 1 3.3 1.5 5.1l0 0c5.3 18.1 13.8 46.5 26.6 71.2c13.5 26 35.8 55.1 70.8 55.1c8.8 0 16-7.2 16-16s-7.2-16-16-16c-15.2 0-29.4-12.9-42.4-37.9c-11.3-21.8-18.9-47.2-24.3-65.6l0 0 0 0-1-3.4c30.5-9.8 55.3-26.2 74.6-43.2c.9 2.8 1.7 5.6 2.6 8.4l1.3 4.4c3.4 11 7 22.6 11.8 32.9c4.8 10.3 11.2 20.6 20.8 28.2c9.9 7.9 22.1 12.2 36.7 12.2c19.3 0 36.1-9 49.4-16.2l3.1-1.7c15-8 27.8-14.1 43.5-14.1c8.8 0 16-7.2 16-16s-7.2-16-16-16c-24.4 0-43.5 9.9-58.5 17.9l-.6 .3C549 378.7 539 384 528 384c-7.9 0-12.9-2.1-16.7-5.2c-4.2-3.3-8-8.6-11.7-16.7c-3.7-8.1-6.8-17.7-10.2-28.8l-1.3-4.3c-2.4-7.9-5-16.4-8-24.9c7.1-8.3 12.8-16.1 17.2-22.6l1-1.5C509.9 292.6 524.6 304 544 304c15 0 26.3-6.2 34.8-14.5c7.7-7.4 13.6-16.8 18.3-24.3l0 0 0 0 .5-.7c5.3-8.4 9.2-14.6 13.8-18.9c3.9-3.8 7.6-5.5 12.7-5.5c8.8 0 16-7.2 16-16s-7.2-16-16-16c-15 0-26.3 6.2-34.8 14.5c-7.7 7.4-13.6 16.8-18.3 24.3l0 0 0 0-.5 .7c-5.3 8.4-9.2 14.6-13.8 18.9c-3.9 3.8-7.6 5.5-12.7 5.5c-6.5 0-13.9-4-25.2-17c-5.4-6.2-11-13.6-17.4-22.2l-.5-.7c-6.2-8.2-13-17.3-20.6-26.4c-15.5-18.6-34.4-37.5-59.2-52.1l13.5-27.1c4.3 .9 8.8 1.4 13.4 1.4c35.3 0 64-28.7 64-64s-28.7-64-64-64s-64 28.7-64 64c0 19.3 8.5 36.5 22 48.3L392.1 140c-20.4-7.5-44.2-12-72.1-12s-51.7 4.5-72.1 12L234 112.3zM448 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm4.6 259.8c-.9 .8-1.7 1.7-2.5 2.6c-2.2 2.4-4.6 4.8-7.1 7.2c-27.3 26.3-67.9 52-123 52s-95.7-25.6-123-52c-2.5-2.4-4.8-4.8-7.1-7.2c-.7-1-1.5-1.8-2.5-2.6c-8.9-9.7-15.9-19-20.9-26.4c-2.3-3.4-4.2-6.4-5.7-8.9l3.4-4.5 .3-.4c6.3-8.4 12.7-16.9 19.8-25.4C212.5 192.3 250.4 160 320 160s107.5 32.3 135.7 66.2c7.1 8.5 13.5 17 19.8 25.4l.3 .4 3.4 4.5c-1.5 2.5-3.4 5.5-5.7 8.9c-5 7.4-12 16.7-20.9 26.4z\"]\n};\nvar faPastafarianism = faSpaghettiMonsterFlying;\nvar faArrowDownUpAcrossLine = {\n prefix: 'fal',\n iconName: 'arrow-down-up-across-line',\n icon: [576, 512, [], \"e4af\", \"M148.7 507.3c6.2 6.2 16.4 6.2 22.6 0l96-96c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L176 457.4V272H560c8.8 0 16-7.2 16-16s-7.2-16-16-16H432V54.6l68.7 68.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-96-96c-6.2-6.2-16.4-6.2-22.6 0l-96 96c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L400 54.6V240H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H144V457.4L75.3 388.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l96 96zM144 192h32V48c0-8.8-7.2-16-16-16s-16 7.2-16 16V192zM432 320H400V464c0 8.8 7.2 16 16 16s16-7.2 16-16V320z\"]\n};\nvar faArrowsRotateReverse = {\n prefix: 'fal',\n iconName: 'arrows-rotate-reverse',\n icon: [512, 512, [], \"e630\", \"M442.6 210.6C422.2 126.5 346.4 64 256 64c-71.1 0-133.1 38.6-166.3 96H144c8.8 0 16 7.2 16 16s-7.2 16-16 16H63.3 48c-8.8 0-16-7.2-16-16V80c0-8.8 7.2-16 16-16s16 7.2 16 16v60.6C103.2 75.5 174.5 32 256 32c106.4 0 195.5 74.2 218.3 173.6c2.2 9.6-5.4 18.4-15.3 18.4c-7.9 0-14.6-5.7-16.5-13.4zM69.4 301.4C89.8 385.5 165.6 448 256 448c71.1 0 133.1-38.6 166.3-96H367.8c-8.8 0-16-7.2-16-16s7.2-16 16-16h80.9 15.1c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V371.8C408.6 436.6 337.3 480 256 480C149.6 480 60.5 405.8 37.7 306.4C35.5 296.8 43.1 288 53 288c7.9 0 14.6 5.7 16.5 13.4z\"]\n};\nvar faLeafHeart = {\n prefix: 'fal',\n iconName: 'leaf-heart',\n icon: [512, 512, [], \"f4cb\", \"M272 128l104 0c37.4 0 71.5-14.3 97.1-37.7c4.5 21.1 6.9 43.3 6.9 66.3c0 149-98.2 258.9-207.2 259.4l-.8 0h0c-79.5 0-144-64.5-144-144c0-79.5 64.5-144 144-144zM463.2 54.3C442.6 79.8 411.2 96 376 96L272 96C174.8 96 96 174.8 96 272c0 2.5 .1 4.9 .2 7.4c-.1-2.4-.2-4.9-.2-7.4c0-4 .1-8 .4-12C41.2 295.7 4 356.9 1.4 427.1L0 463.4c-.3 8.8 6.6 16.3 15.4 16.6s16.3-6.6 16.6-15.4l1.3-36.3C35.3 375.8 60 329.4 98 298.4l0 0C110.7 383.1 183.8 448 272 448l1 0c132.1-.7 239-130.9 239-291.4c0-33.9-4.8-66.5-13.5-96.8l-.4-1.5c-1.1-3.6-2.2-7.2-3.4-10.8s-2.4-7.1-3.7-10.6c-2.6-6.9-12.7-6.6-16.2-.1c-1.4 2.7-3 5.3-4.6 7.8c-2 3.1-4.1 6.1-6.4 8.9l-.6 .8zM97.7 296.6c.1 .6 .2 1.2 .3 1.7l-.3-1.7zm124-53.8c0-11.9 9.6-21.5 21.5-21.5h1.5c6 0 11.7 2.3 16 6.5l16.1 15.6c6.2 6 16.1 6 22.3 0l16.1-15.6c4.3-4.2 10.1-6.5 16-6.5h1.5c11.9 0 21.5 9.6 21.5 21.5c0 5.8-2.3 11.4-6.5 15.4L288 316.4l-59.8-58.1c-4.2-4-6.5-9.6-6.5-15.4zm21.5-53.5c-29.5 0-53.5 23.9-53.5 53.5c0 14.4 5.8 28.3 16.2 38.4l70.9 69c6.2 6 16.1 6 22.3 0l70.9-69c10.4-10.1 16.2-23.9 16.2-38.4c0-29.5-23.9-53.5-53.5-53.5h-1.5c-14.3 0-28.1 5.6-38.4 15.6l-4.9 4.8-4.9-4.8c-10.3-10-24-15.6-38.4-15.6h-1.5z\"]\n};\nvar faHouseBuilding = {\n prefix: 'fal',\n iconName: 'house-building',\n icon: [640, 512, [], \"e1b1\", \"M320 32H576c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H414.4c-2.4 11.8-7.4 22.7-14.4 32H576c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H320c-35.3 0-64 28.7-64 64V95.3l32 29.3V64c0-17.7 14.3-32 32-32zM496 208c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V240c0-17.7-14.3-32-32-32H496zm0 32h32v32H496V240zM464 368v32c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V368c0-17.7-14.3-32-32-32H496c-17.7 0-32 14.3-32 32zm64 0v32H496V368h32zM368 80c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V112c0-17.7-14.3-32-32-32H368zm0 32h32v32H368V112zm96 0v32c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V112c0-17.7-14.3-32-32-32H496c-17.7 0-32 14.3-32 32zm64 0v32H496V112h32zM32 284.2c0-9 3.8-17.5 10.4-23.6l128-117.3c12.2-11.2 31-11.2 43.2 0l128 117.3c6.6 6.1 10.4 14.6 10.4 23.6V448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V284.2zM0 448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V284.2c0-17.9-7.5-35.1-20.8-47.2l-128-117.3c-24.5-22.4-62-22.4-86.5 0L20.8 237C7.5 249.1 0 266.2 0 284.2V448zM224 288v64H160V288h64zm-64-32c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V288c0-17.7-14.3-32-32-32H160z\"]\n};\nvar faCheeseSwiss = {\n prefix: 'fal',\n iconName: 'cheese-swiss',\n icon: [512, 512, [129472], \"f7f0\", \"M480 244l0 12-66.7 0c-6.6-18.6-24.4-32-45.3-32s-38.7 13.4-45.3 32L32 256c0-9.3 4.6-18 12.4-23.1l148.7-99.2c-.7 3.3-1.1 6.7-1.1 10.3c0 26.5 21.5 48 48 48s48-21.5 48-48c0-23.6-17-43.2-39.4-47.2l47.2-31.5c1.3-.8 2.8-1.3 4.3-1.3c99.4 0 180 80.6 180 180zM322.7 288c6.6 18.6 24.4 32 45.3 32s38.7-13.4 45.3-32l66.7 0 0 128c0 17.7-14.3 32-32 32L64 448c-17.7 0-32-14.3-32-32l0-128 290.7 0zM512 256l0-12c0-117.1-94.9-212-212-212c-7.8 0-15.5 2.3-22 6.7L26.6 206.2C10 217.3 0 236 0 256L0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-160zM160 368a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm64 0a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm16-240a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM352 272a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faSpoon = {\n prefix: 'fal',\n iconName: 'spoon',\n icon: [512, 512, [129348, 61873, \"utensil-spoon\"], \"f2e5\", \"M274.7 205.3l32 32c12.5 12.5 28.7 18.7 45.1 18.7c27.5 0 59.3-17 85.5-48.5C463.3 176.4 480 135.5 480 96c0-35.3-28.7-64-64-64c-39.5 0-80.4 16.7-111.5 42.6C273 100.9 256 132.7 256 160.1c0 16.4 6.3 32.6 18.7 45.1zm-22.6 22.6c-18.7-18.7-28.1-43.2-28.1-67.7C224 80 320 0 416 0c53 0 96 43 96 96c0 96-80 192-160.2 192c-24.5 0-49-9.4-67.7-28.1l-4.7-4.7L27.3 507.3c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L256.8 232.6l-4.7-4.7z\"]\n};\nvar faUtensilSpoon = faSpoon;\nvar faJarWheat = {\n prefix: 'fal',\n iconName: 'jar-wheat',\n icon: [320, 512, [], \"e517\", \"M48 16c0 8.8 7.2 16 16 16H256c8.8 0 16-7.2 16-16s-7.2-16-16-16H64C55.2 0 48 7.2 48 16zM256 96c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V128c0-17.7 14.3-32 32-32H256zM64 64C28.7 64 0 92.7 0 128V448c0 35.3 28.7 64 64 64H256c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64zm80 384c0 8.8 7.2 16 16 16s16-7.2 16-16V432h8c44.2 0 80-35.8 80-80c0-8.8-7.2-16-16-16H224c-26.2 0-49.4 12.6-64 32c-14.6-19.4-37.8-32-64-32H72c-8.8 0-16 7.2-16 16c0 44.2 35.8 80 80 80h8v16zm34.7-48c6.6-18.6 24.4-32 45.3-32h5.3c-6.6 18.6-24.4 32-45.3 32h-5.3zM96 368c20.9 0 38.7 13.4 45.3 32H136c-20.9 0-38.7-13.4-45.3-32H96zm82.7-176c6.6-18.6 24.4-32 45.3-32h5.3c-6.6 18.6-24.4 32-45.3 32h-5.3zM264 144c0-8.8-7.2-16-16-16H224c-26.2 0-49.4 12.6-64 32c-14.6-19.4-37.8-32-64-32l-24 0c-8.8 0-16 7.2-16 16c0 44.2 35.8 80 80 80h24 24c44.2 0 80-35.8 80-80zM96 160c20.9 0 38.7 13.4 45.3 32H136c-20.9 0-38.7-13.4-45.3-32H96zm82.7 136c6.6-18.6 24.4-32 45.3-32h5.3c-6.6 18.6-24.4 32-45.3 32h-5.3zM264 248c0-8.8-7.2-16-16-16H224c-26.2 0-49.4 12.6-64 32c-14.6-19.4-37.8-32-64-32H72c-8.8 0-16 7.2-16 16c0 44.2 35.8 80 80 80h24 24c44.2 0 80-35.8 80-80zM96 264c20.9 0 38.7 13.4 45.3 32H136c-20.9 0-38.7-13.4-45.3-32H96z\"]\n};\nvar faEnvelopesBulk = {\n prefix: 'fal',\n iconName: 'envelopes-bulk',\n icon: [640, 512, [\"mail-bulk\"], \"f674\", \"M112 32H400c8.8 0 16 7.2 16 16V64h32V48c0-26.5-21.5-48-48-48H112C85.5 0 64 21.5 64 48V192H96V48c0-8.8 7.2-16 16-16zM224 144c0-8.8 7.2-16 16-16H592c8.8 0 16 7.2 16 16V368c0 8.8-7.2 16-16 16H416v32H592c26.5 0 48-21.5 48-48V144c0-26.5-21.5-48-48-48H240c-26.5 0-48 21.5-48 48v48h32V144zM48 256H336c8.8 0 16 7.2 16 16v5L196.9 391.9c-1.4 1-3.1 1.6-4.9 1.6s-3.5-.6-4.9-1.6L32 277v-5c0-8.8 7.2-16 16-16zM32 464V316.8L168 417.6c6.9 5.1 15.3 7.9 24 7.9s17-2.8 24-7.9L352 316.8V464c0 8.8-7.2 16-16 16H48c-8.8 0-16-7.2-16-16zM48 224c-26.5 0-48 21.5-48 48V464c0 26.5 21.5 48 48 48H336c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48H48zm448-64c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V176c0-8.8-7.2-16-16-16H496zm16 64V192h32v32H512z\"]\n};\nvar faMailBulk = faEnvelopesBulk;\nvar faFileCircleExclamation = {\n prefix: 'fal',\n iconName: 'file-circle-exclamation',\n icon: [576, 512, [], \"e4eb\", \"M64 480H296.2c9.8 11.8 21 22.3 33.5 31.3c-3.2 .5-6.4 .7-9.7 .7H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H220.1c12.7 0 24.9 5.1 33.9 14.1L369.9 129.9c9 9 14.1 21.2 14.1 33.9v34.7c-11.2 3.2-21.9 7.4-32 12.6V192H240c-26.5 0-48-21.5-48-48V32H64C46.3 32 32 46.3 32 64V448c0 17.7 14.3 32 32 32zM351.5 160c-.7-2.8-2.1-5.4-4.2-7.4L231.4 36.7c-2.1-2.1-4.6-3.5-7.4-4.2V144c0 8.8 7.2 16 16 16H351.5zM544 368a112 112 0 1 0 -224 0 112 112 0 1 0 224 0zm-256 0a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144 32a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-112c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V304c0-8.8 7.2-16 16-16z\"]\n};\nvar faBowArrow = {\n prefix: 'fal',\n iconName: 'bow-arrow',\n icon: [512, 512, [127993], \"f6b9\", \"M511.7 18.9c1-5.2-.7-10.5-4.4-14.3S498.2-.7 493.1 .3l-128 24c-5.8 1.1-10.6 5.3-12.3 11s-.2 11.8 4 16L397.4 92 153.7 335.7l-59.9-15c-8.2-2-16.8 .4-22.8 6.3L7 391c-6.1 6.1-8.5 15-6.2 23.4s8.9 14.8 17.3 16.9l50 12.5 12.5 50c2.1 8.4 8.5 15 16.9 17.3s17.3 0 23.4-6.2l64-64c6-6 8.4-14.6 6.3-22.8l-15-59.9L420 114.6l40.7 40.7c4.2 4.2 10.4 5.7 16 4s9.9-6.5 11-12.3l24-128zm-49.9 92.3L400.8 50.1 476 36l-14.1 75.2zm-81.2 88C403 234.1 416 275.5 416 320c0 47.9-15 92.3-40.7 128.7L253.3 326.6l-22.6 22.6L388.7 507.3c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-13-13C429.5 429.2 448 376.8 448 320c0-53.3-16.3-102.9-44.2-143.9l-23.1 23.1zM4.7 123.3L162.7 281.4l22.6-22.6L63.3 136.7C99.7 111 144.1 96 192 96c44.5 0 85.9 13 120.8 35.3l23.1-23.1C294.9 80.3 245.3 64 192 64C135.2 64 82.8 82.5 40.4 113.7l-13-13c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6zM99.3 436c-2.9-11.5-11.8-20.4-23.3-23.3l-36.3-9.1 50.8-50.8 54.9 13.7 13.7 54.9-50.8 50.8L99.3 436z\"]\n};\nvar faCartXmark = {\n prefix: 'fal',\n iconName: 'cart-xmark',\n icon: [576, 512, [], \"e0dd\", \"M0 16C0 7.2 7.2 0 16 0H53.9c22.8 0 42.5 16 47 38.4L145.4 256H466.5c14.7 0 27.5-10 31-24.2L544.5 44.1c2.1-8.6 10.8-13.8 19.4-11.6s13.8 10.8 11.6 19.4L528.6 239.5C521.5 268 495.9 288 466.5 288H152l7.9 38.4c3 14.9 16.1 25.6 31.4 25.6H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H191.2c-30.4 0-56.6-21.4-62.7-51.2L69.6 44.8C68 37.3 61.5 32 53.9 32H16C7.2 32 0 24.8 0 16zM192 480a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-80a56 56 0 1 1 0 112 56 56 0 1 1 0-112zm280 56a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-80 0a56 56 0 1 1 112 0 56 56 0 1 1 -112 0zM379.3 91.3L342.6 128l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L320 150.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L297.4 128 260.7 91.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L320 105.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faHexagonXmark = {\n prefix: 'fal',\n iconName: 'hexagon-xmark',\n icon: [512, 512, [\"times-hexagon\", \"xmark-hexagon\"], \"f2ee\", \"M16 288c-11.4-19.8-11.4-44.2 0-64L108.3 64.2c11.4-19.8 32.6-32 55.4-32H348.3c22.9 0 44 12.2 55.4 32L496 224c11.4 19.8 11.4 44.2 0 64L403.7 447.8c-11.4 19.8-32.6 32-55.4 32H163.7c-22.9 0-44-12.2-55.4-32L16 288zm27.7-48c-5.7 9.9-5.7 22.1 0 32L136 431.8c5.7 9.9 16.3 16 27.7 16H348.3c11.4 0 22-6.1 27.7-16L468.3 272c5.7-9.9 5.7-22.1 0-32L376 80.2c-5.7-9.9-16.3-16-27.7-16l-184.6 0c-11.4 0-22 6.1-27.7 16L43.7 240zm137-59.3c6.2-6.2 16.4-6.2 22.6 0L256 233.4l52.7-52.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L278.6 256l52.7 52.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L256 278.6l-52.7 52.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L233.4 256l-52.7-52.7c-6.2-6.2-6.2-16.4 0-22.6z\"]\n};\nvar faTimesHexagon = faHexagonXmark;\nvar faXmarkHexagon = faHexagonXmark;\nvar faCircleH = {\n prefix: 'fal',\n iconName: 'circle-h',\n icon: [512, 512, [9405, \"hospital-symbol\"], \"f47e\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM368 144c0-8.8-7.2-16-16-16s-16 7.2-16 16v96l-160 0V144c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 224c0 8.8 7.2 16 16 16s16-7.2 16-16l0-96H336v96c0 8.8 7.2 16 16 16s16-7.2 16-16V256 144z\"]\n};\nvar faHospitalSymbol = faCircleH;\nvar faMerge = {\n prefix: 'fal',\n iconName: 'merge',\n icon: [512, 512, [], \"e526\", \"M0 80c0-8.8 7.2-16 16-16H96h47.7c15.4 0 29.8 7.3 38.8 19.8L291.4 233.4c3 4.1 7.8 6.6 12.9 6.6H457.4l-52.7-52.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l80 80c6.2 6.2 6.2 16.4 0 22.6l-80 80c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L457.4 272H304.3c-5.1 0-9.9 2.4-12.9 6.6L182.5 428.2c-9 12.4-23.5 19.8-38.8 19.8H96 16c-8.8 0-16-7.2-16-16s7.2-16 16-16H96h47.7c5.1 0 9.9-2.4 12.9-6.6L265.5 259.8c1-1.3 2-2.6 3-3.8c-1.1-1.2-2.1-2.5-3-3.8L156.6 102.6c-3-4.1-7.8-6.6-12.9-6.6H96 16C7.2 96 0 88.8 0 80z\"]\n};\nvar faPager = {\n prefix: 'fal',\n iconName: 'pager',\n icon: [512, 512, [128223], \"f815\", \"M448 96c17.7 0 32 14.3 32 32V384c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V128c0-17.7 14.3-32 32-32H448zM64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64zm0 272c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zm128 0c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H208c-8.8 0-16 7.2-16 16zM96 160H416v96H96l0-96zm-32 0v96c0 17.7 14.3 32 32 32H416c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32H96c-17.7 0-32 14.3-32 32z\"]\n};\nvar faCartMinus = {\n prefix: 'fal',\n iconName: 'cart-minus',\n icon: [576, 512, [], \"e0db\", \"M0 16C0 7.2 7.2 0 16 0H53.9c22.8 0 42.5 16 47 38.4L145.4 256H466.5c14.7 0 27.5-10 31-24.2L544.5 44.1c2.1-8.6 10.8-13.8 19.4-11.6s13.8 10.8 11.6 19.4L528.6 239.5C521.5 268 495.9 288 466.5 288H152l7.9 38.4c3 14.9 16.1 25.6 31.4 25.6H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H191.2c-30.4 0-56.6-21.4-62.7-51.2L69.6 44.8C68 37.3 61.5 32 53.9 32H16C7.2 32 0 24.8 0 16zM192 480a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-80a56 56 0 1 1 0 112 56 56 0 1 1 0-112zm280 56a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-80 0a56 56 0 1 1 112 0 56 56 0 1 1 -112 0zM256 112H384c8.8 0 16 7.2 16 16s-7.2 16-16 16H256c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faAddressBook = {\n prefix: 'fal',\n iconName: 'address-book',\n icon: [512, 512, [62138, \"contact-book\"], \"f2b9\", \"M96 32C78.3 32 64 46.3 64 64V448c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H96zM32 64C32 28.7 60.7 0 96 0H384c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V64zM272 192a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-96 0a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zm32 128c-26.5 0-48 21.5-48 48c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-44.2 35.8-80 80-80h64c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-26.5-21.5-48-48-48H208zM512 80v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V80c0-8.8 7.2-16 16-16s16 7.2 16 16zM496 192c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V208c0-8.8 7.2-16 16-16zm16 144v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V336c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faContactBook = faAddressBook;\nvar faPanFrying = {\n prefix: 'fal',\n iconName: 'pan-frying',\n icon: [576, 512, [127859], \"e42c\", \"M224 32a192 192 0 1 1 0 384 192 192 0 1 1 0-384zm0 416c53 0 101.6-18.4 140-49.1l77 87c14.7 16.6 35.8 26.1 57.9 26.1c42.5 0 77.2-34.5 77.2-77c0-26.7-13.8-51.5-36.6-65.6L433.3 304c9.5-24.8 14.7-51.8 14.7-80C448 100.3 347.7 0 224 0S0 100.3 0 224S100.3 448 224 448zm240.9 16.7l-77.5-87.6c12.4-13.3 23.3-28 32.2-44l103 63.5c13.3 8.2 21.4 22.7 21.4 38.3c0 24.8-20.2 45-45.2 45c-13 0-25.4-5.6-33.9-15.3zM496 448a16 16 0 1 0 0-32 16 16 0 1 0 0 32zM152.6 102.3c-14.5 13.9-22.6 32.1-24.3 50.7c-2.1 23.5-8.7 52.4-19.4 71C82.4 269.9 98.1 328.6 144 355.1s104.6 10.8 131.1-35.1c2.9-5.1 8.9-10.9 16.9-15.8c7.9-4.9 16.4-8 23.1-9c12.8-1.8 25.4-6.7 36.5-15c35.5-26.3 42.9-76.4 16.6-111.9c-11.4-15.3-27.2-25.5-44.4-29.8c-8.7-2.2-20-7.1-31-13.6s-20.9-13.8-27.1-20.3c-30.6-31.9-81.3-32.9-113.1-2.2zm90 24.4c8.9 9.3 21.4 18.4 34.1 25.8s26.7 13.8 39.2 17c10.3 2.6 19.8 8.7 26.6 17.9c15.8 21.3 11.3 51.4-10 67.1c-6.7 5-14.2 7.9-21.9 9c-11.9 1.7-24.6 6.7-35.4 13.4c-10.8 6.7-21.4 15.9-27.8 27.1c-17.7 30.6-56.8 41.1-87.4 23.4s-41.1-56.8-23.4-87.4c14-24.3 21.3-58.4 23.6-84.2c1-11.2 5.8-22 14.5-30.4c19.1-18.4 49.5-17.8 67.9 1.3zM200 224a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm80 0a56 56 0 1 0 -112 0 56 56 0 1 0 112 0z\"]\n};\nvar faGrid = {\n prefix: 'fal',\n iconName: 'grid',\n icon: [448, 512, [\"grid-3\"], \"e195\", \"M88 64c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H40c-4.4 0-8-3.6-8-8V72c0-4.4 3.6-8 8-8H88zM40 32C17.9 32 0 49.9 0 72v48c0 22.1 17.9 40 40 40H88c22.1 0 40-17.9 40-40V72c0-22.1-17.9-40-40-40H40zM88 224c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H40c-4.4 0-8-3.6-8-8V232c0-4.4 3.6-8 8-8H88zM40 192c-22.1 0-40 17.9-40 40v48c0 22.1 17.9 40 40 40H88c22.1 0 40-17.9 40-40V232c0-22.1-17.9-40-40-40H40zm0 192H88c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H40c-4.4 0-8-3.6-8-8V392c0-4.4 3.6-8 8-8zM0 392v48c0 22.1 17.9 40 40 40H88c22.1 0 40-17.9 40-40V392c0-22.1-17.9-40-40-40H40c-22.1 0-40 17.9-40 40zM248 64c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H200c-4.4 0-8-3.6-8-8V72c0-4.4 3.6-8 8-8h48zM200 32c-22.1 0-40 17.9-40 40v48c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V72c0-22.1-17.9-40-40-40H200zm0 192h48c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H200c-4.4 0-8-3.6-8-8V232c0-4.4 3.6-8 8-8zm-40 8v48c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V232c0-22.1-17.9-40-40-40H200c-22.1 0-40 17.9-40 40zm88 152c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H200c-4.4 0-8-3.6-8-8V392c0-4.4 3.6-8 8-8h48zm-48-32c-22.1 0-40 17.9-40 40v48c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V392c0-22.1-17.9-40-40-40H200zM360 64h48c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8V72c0-4.4 3.6-8 8-8zm-40 8v48c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V72c0-22.1-17.9-40-40-40H360c-22.1 0-40 17.9-40 40zm88 152c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8V232c0-4.4 3.6-8 8-8h48zm-48-32c-22.1 0-40 17.9-40 40v48c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V232c0-22.1-17.9-40-40-40H360zm0 192h48c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8V392c0-4.4 3.6-8 8-8zm-40 8v48c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V392c0-22.1-17.9-40-40-40H360c-22.1 0-40 17.9-40 40z\"]\n};\nvar faGrid3 = faGrid;\nvar faFootballHelmet = {\n prefix: 'fal',\n iconName: 'football-helmet',\n icon: [512, 512, [], \"f44f\", \"M456 198.7L277.1 221.1c-30.3 3.8-53.1 29.6-53.1 60.1c0 9.4 2.2 18.7 6.4 27.1l38.2 76.4c2.2 4.4 3.4 9.3 3.4 14.3v.9c0 17.7-14.3 32-32 32h-2.9c-4.3 0-8.6-.9-12.6-2.6l-93.9-40.2c-8-3.4-16.5-5.2-25.2-5.2H92c-27.6-35.3-44-79.7-44-128C48 141.1 141.1 48 256 48c95 0 175.2 63.7 200 150.7zm6.4 31.4c17.5-2.2 30.2-18.3 25.7-35.3C461.1 91.9 367.4 16 256 16C123.5 16 16 123.5 16 256c0 56.3 19.4 108.1 51.9 149.1c5.7 7.1 14.4 10.9 23.5 10.9h14c4.3 0 8.6 .9 12.6 2.6l93.9 40.2c8 3.4 16.5 5.2 25.2 5.2H240c35.3 0 64-28.7 64-64v-.9c0-9.9-2.3-19.7-6.8-28.6L288 352h39.7l9.6 50.9c10.1 54 57.2 93.1 112.1 93.1h17c25.2 0 45.6-20.4 45.6-45.6V400 368c0-26.5-21.5-48-48-48H354.3l-14-74.5 122.2-15.3zm-154 19.2L321.7 320H272l-13-26c-2-4-3-8.4-3-12.8c0-14.4 10.7-26.6 25.1-28.4l27.4-3.4zM200 336a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm166.3 48l-6-32H464c8.8 0 16 7.2 16 16v16H366.3zm8.4 32H480v34.4c0 7.5-6.1 13.6-13.6 13.6h-17c-32.7 0-61.6-19.3-74.7-48z\"]\n};\nvar faHandLove = {\n prefix: 'fal',\n iconName: 'hand-love',\n icon: [512, 512, [], \"e1a5\", \"M184 32c13.3 0 24 10.7 24 24V200l0 0v96c0 30.9 25.1 56 56 56c15.7 0 29.8-6.4 40-16.8c10.2 10.4 24.3 16.8 40 16.8c30.9 0 56-25.1 56-56V232 176 120c0-13.3 10.7-24 24-24s24 10.7 24 24V336c0 79.5-64.5 144-144 144h-8.5c-57.3 0-112.2-22.8-152.7-63.3L39 313c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l59.7 59.7c4.6 4.6 11.5 5.9 17.4 3.5s9.9-8.3 9.9-14.8V56c0-13.3 10.7-24 24-24zM288 296c0 13.3-10.7 24-24 24s-24-10.7-24-24V199.9c0-13.2 10.8-23.9 24-23.9c13.3 0 24 10.7 24 24l0 8v24 64zm32-64c0-13.3 10.7-24 24-24s24 10.7 24 24v64c0 13.3-10.7 24-24 24s-24-10.7-24-24V232zm48-50.6c-7.3-3.5-15.4-5.4-24-5.4c-9.7 0-18.8 2.5-26.7 6.8C310 160.3 288.9 144 264 144c-8.6 0-16.7 1.9-24 5.4L240 80l0 0V56c0-30.9-25.1-56-56-56s-56 25.1-56 56V288.8L95.6 256.4c-21.9-21.9-57.3-21.9-79.2 0s-21.9 57.3 0 79.2L120.2 439.4C166.7 485.9 229.8 512 295.5 512H304c97.2 0 176-78.8 176-176V120c0-30.9-25.1-56-56-56s-56 25.1-56 56v56 5.4z\"]\n};\nvar faTrees = {\n prefix: 'fal',\n iconName: 'trees',\n icon: [640, 512, [], \"f724\", \"M167.6 11.9c12.8-15 35.9-15 48.7 0L318.5 131.8c4.1 4.8 6.4 11 6.4 17.4c0 14.8-12 26.8-26.8 26.8H286.1l61.4 67.4c4.5 4.9 7 11.3 7 17.9c0 14.7-11.9 26.6-26.6 26.6H312.7l65.6 84.4C382 377.2 384 383 384 389c0 14.9-12.1 27-27 27H235.1 208v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V416H148.9 27c-14.9 0-27-12.1-27-27c0-6 2-11.8 5.7-16.6L71.3 288H56.2c-14.7 0-26.6-11.9-26.6-26.6c0-6.6 2.5-13 7-17.9L97.9 176H85.9c-14.8 0-26.8-12-26.8-26.8c0-6.4 2.3-12.5 6.4-17.4L167.6 11.9zM235.1 384H346.8L267.4 281.8c-3.7-4.8-4.4-11.4-1.7-16.9s8.3-9 14.4-9h35.7L238 170.8c-4.3-4.7-5.4-11.4-2.8-17.2s8.3-9.5 14.6-9.5h37L192 32.7 97.1 144h37c6.3 0 12.1 3.7 14.6 9.5s1.5 12.6-2.8 17.2L68.3 256H104c6.1 0 11.7 3.5 14.4 9s2 12-1.7 16.9L37.2 384H148.9 176V208c0-8.8 7.2-16 16-16s16 7.2 16 16V384h27.1zM423.5 12.6c12.7-15.4 36.2-15.6 49.1-.4l102 119.7c4.1 4.8 6.4 11 6.4 17.4c0 14.8-12 26.8-26.8 26.8H542.1l61.4 67.4c4.5 4.9 7 11.3 7 17.9c0 14.7-11.9 26.6-26.6 26.6H568.7l65.6 84.4C638 377.2 640 383 640 389c0 14.9-12.1 27-27 27H464v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V400 208c0-8.8 7.2-16 16-16s16 7.2 16 16V384H602.8L523.4 281.8c-3.8-4.8-4.4-11.4-1.7-16.9s8.3-9 14.4-9h35.7L494 170.8c-4.3-4.7-5.4-11.4-2.8-17.2s8.3-9.5 14.6-9.5h37L448.2 32.9 388 106.2c-5.6 6.8-15.7 7.8-22.5 2.2s-7.8-15.7-2.2-22.5l60.2-73.2z\"]\n};\nvar faStrikethrough = {\n prefix: 'fal',\n iconName: 'strikethrough',\n icon: [512, 512, [], \"f0cc\", \"M129.7 132c4.8-25.9 22-44.8 49.7-56.2c28.3-11.7 67-15 111-8.4c13.8 2.1 56.1 10 69.7 13.5c8.6 2.2 17.3-3 19.5-11.5s-3-17.3-11.5-19.5c-15.1-3.9-58.6-12-72.9-14.1c-47.7-7.2-92.7-4.1-127.9 10.5c-35.7 14.7-62.1 41.6-69.1 80.6c-.1 .3-.1 .6-.1 .9c-2.8 22.9 .6 42.7 9.5 59.7c8.8 16.8 22.4 29.6 37.9 39.8c18.7 12.2 41.6 21.2 65.2 28.9H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H319.4c-18.1-6.6-37-12.1-55.3-17.3l-1.2-.3c-39-11.2-74.8-21.6-100.2-38.1c-12.5-8.1-21.5-17.2-27.1-27.8c-5.4-10.4-8.1-23.3-6.1-40.5zM379 336.8c4.7 10.8 6.6 24.5 3.4 42.7c-4.7 26.1-21.9 45.2-49.8 56.6c-28.3 11.7-66.9 15-110.9 8.4c-22.1-3.5-59.5-15.7-88-25.1l0 0 0 0c-6.1-2-11.8-3.9-16.8-5.5c-8.4-2.7-17.4 1.9-20.1 10.4s1.9 17.4 10.4 20.1c4.4 1.4 9.6 3.1 15.3 5c28.3 9.3 69.3 22.8 94.4 26.7l.1 0c47.7 7.2 92.7 4.1 127.9-10.5c35.7-14.7 62.1-41.6 69.1-80.6c4.2-23.3 2.2-43.7-5.6-61.3c-.6-1.3-1.2-2.7-1.9-4H367.7c4.9 5.2 8.6 10.8 11.3 16.8z\"]\n};\nvar faPage = {\n prefix: 'fal',\n iconName: 'page',\n icon: [384, 512, [], \"e428\", \"M64 480H320c17.7 0 32-14.3 32-32V138.5c0-8.5-3.4-16.6-9.4-22.6L268.1 41.4c-6-6-14.1-9.4-22.6-9.4H64C46.3 32 32 46.3 32 64V448c0 17.7 14.3 32 32 32zm256 32H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H245.5c17 0 33.3 6.7 45.3 18.7l74.5 74.5c12 12 18.7 28.3 18.7 45.3V448c0 35.3-28.7 64-64 64z\"]\n};\nvar faK = {\n prefix: 'fal',\n iconName: 'k',\n icon: [320, 512, [107], \"4b\", \"M32 48c0-8.8-7.2-16-16-16S0 39.2 0 48V336 464c0 8.8 7.2 16 16 16s16-7.2 16-16V342.6l94.1-94.1 165 225c5.2 7.1 15.2 8.7 22.4 3.4s8.7-15.2 3.4-22.4L149 225.6 315.3 59.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L32 297.4V48z\"]\n};\nvar faDiagramPrevious = {\n prefix: 'fal',\n iconName: 'diagram-previous',\n icon: [512, 512, [], \"e478\", \"M480 352c0-17.7-14.3-32-32-32l-176 0H240L64 320c-17.7 0-32 14.3-32 32l0 64c0 17.7 14.3 32 32 32l384 0c17.7 0 32-14.3 32-32V352zM272 288H448c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V352c0-35.3 28.7-64 64-64H240V182.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l64-64c6.2-6.2 16.4-6.2 22.6 0l64 64c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L272 182.6V288zM448 32c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64H400c-8.8 0-16-7.2-16-16s7.2-16 16-16h48c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32L64 64C46.3 64 32 78.3 32 96l0 64c0 17.7 14.3 32 32 32h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32l384 0z\"]\n};\nvar faGaugeMin = {\n prefix: 'fal',\n iconName: 'gauge-min',\n icon: [512, 512, [\"tachometer-alt-slowest\"], \"f628\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM280 96a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm96 0c0-35.3-28.7-64-64-64c-17.5 0-33.4 7-44.9 18.4L104.2 242.3c-7.6-4.5-17.4-2.1-22 5.5s-2.1 17.4 5.5 22l106.8 64.1c-1.7 5.8-2.6 11.9-2.6 18.2c0 35.3 28.7 64 64 64s64-28.7 64-64zM168 144a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM416 280a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM392 144a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faTachometerAltSlowest = faGaugeMin;\nvar faFolderGrid = {\n prefix: 'fal',\n iconName: 'folder-grid',\n icon: [512, 512, [], \"e188\", \"M32 96c0-17.7 14.3-32 32-32H188.1c8.5 0 16.6 3.4 22.6 9.4l35.9 35.9c12 12 28.3 18.7 45.3 18.7H448c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V96zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H291.9c-8.5 0-16.6-3.4-22.6-9.4L233.4 50.7c-12-12-28.3-18.7-45.3-18.7H64zm48 272V272h32v32H112zM80 264v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V264c0-13.3-10.7-24-24-24H104c-13.3 0-24 10.7-24 24zm160 40V272h32v32H240zm-32-40v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V264c0-13.3-10.7-24-24-24H232c-13.3 0-24 10.7-24 24zm160 8h32v32H368V272zm-8-32c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V264c0-13.3-10.7-24-24-24H360z\"]\n};\nvar faEggplant = {\n prefix: 'fal',\n iconName: 'eggplant',\n icon: [512, 512, [], \"e16c\", \"M482.7 51.9C491.1 64.5 496 79.7 496 96v96c0 17.7-14.3 32-32 32h-4c-24.3 0-44-19.7-44-44V170c0-1.1-.9-2-2-2c-38.7 0-70-31.3-70-70c0-1.1-.9-2-2-2H332c-24.3 0-44-19.7-44-44V48c0-17.7 14.3-32 32-32h96c16.3 0 31.5 4.9 44.1 13.3L484.7 4.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L482.7 51.9zM416 48H320v4c0 6.6 5.4 12 12 12h10c18.8 0 34 15.2 34 34c0 21 17 38 38 38c18.8 0 34 15.2 34 34v10c0 6.6 5.4 12 12 12h4V96c0-26.5-21.5-48-48-48zM169.9 139.3c32.9-16 66-32 94.7-52.2c5 9.6 12 18 20.5 24.7c-11.3 8.1-23.1 15.4-34.8 22.2c-21.2 12.2-45.5 24-68.4 35.1l0 0 0 0c-14.1 6.8-27.6 13.4-39.5 19.7c-34 17.8-61.7 35.7-80.9 58.3c-18.2 21.5-30 48.8-29.4 88.5C33.1 413.9 98 479.9 176.4 480c66.7 .1 127.2-45.1 176.8-113.6c27.4-37.8 49.9-80.7 66.7-121.9c9 5.6 19.2 9.3 30.1 10.8C400.8 377 304.5 512.2 176.4 512C79.9 511.9 1.4 431.3 0 336C-1.6 222.5 83.4 181.3 169.9 139.3z\"]\n};\nvar faExcavator = {\n prefix: 'fal',\n iconName: 'excavator',\n icon: [640, 512, [], \"e656\", \"M128 0C110.3 0 96 14.3 96 32V160H48c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48H336c26.5 0 48-21.5 48-48V224 208 189.3c0-11.6-3.2-23-9.1-32.9L295 23.3C286.4 8.8 270.7 0 253.9 0H128zM339.8 160.2c-1.3-.1-2.5-.2-3.8-.2H128V32H253.9c5.6 0 10.8 2.9 13.7 7.8l72.2 120.4zM32 272V208c0-8.8 7.2-16 16-16H336c8.8 0 16 7.2 16 16v16 48c0 8.8-7.2 16-16 16H48c-8.8 0-16-7.2-16-16zM336 384c26.5 0 48 21.5 48 48s-21.5 48-48 48H80c-26.5 0-48-21.5-48-48s21.5-48 48-48H336zM80 352c-44.2 0-80 35.8-80 80s35.8 80 80 80H336c44.2 0 80-35.8 80-80s-35.8-80-80-80H80zM480.6 476.7L608 349.3V352v32 48c0 26.5-21.5 48-48 48H481.9c-1.1 0-1.9-.9-1.9-1.9c0-.5 .2-1 .6-1.4zm-22.6-22.6c-6.4 6.4-9.9 15-9.9 24c0 18.7 15.2 33.9 33.9 33.9H560c44.2 0 80-35.8 80-80V384 352 320v-2.7V272 128 57.1 46.6C640 20.9 619.1 0 593.4 0c-11.2 0-22.1 4-30.5 11.4L416 138.7V181L583.8 35.6c2.7-2.3 6.1-3.6 9.6-3.6c8.1 0 14.6 6.5 14.6 14.6V85.3L586.8 104 416 254.7v42.7L576 156.2 608 128v42.7V304L457.9 454.1zM112 456a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm120-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm72 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faRam = {\n prefix: 'fal',\n iconName: 'ram',\n icon: [640, 512, [128015], \"f70a\", \"M336 56c0-30.9 25.1-56 56-56s56 25.1 56 56V66.8c7.7-1.8 15.7-2.8 24-2.8c14.2 0 27.7 2.8 40 8V56c0-30.9 25.1-56 56-56s56 25.1 56 56v8c0 8.8-7.2 16-16 16s-16-7.2-16-16V56c0-13.3-10.7-24-24-24s-24 10.7-24 24V93c11 10.5 19.7 23.5 25.2 37.9l47.7 31.8c7.4 4.9 9.3 14.8 4.4 22.2s-14.8 9.3-22.2 4.4L576 173.9V240c0 53-43 96-96 96H464c-53 0-96-43-96-96V179.2l-15.1 10.1c-7.4 4.9-17.3 2.9-22.2-4.4s-2.9-17.3 4.4-22.2l37.3-24.9c7.3-23.9 22.9-44.2 43.5-57.5V56c0-13.3-10.7-24-24-24s-24 10.7-24 24v8c0 8.8-7.2 16-16 16s-16-7.2-16-16V56zM304.2 69.9l.2-.2c1.6 11.3 7.9 21 16.9 27.2c-13.2 8.3-30.7 6-41.2-6c-5.9-6.8-14.5-11-24.1-11s-18.2 4.2-24.1 11c-11.3 12.9-30.6 14.6-44 4C182.4 90.6 175.6 88 168 88c-15 0-27.7 10.4-31.1 24.3c-3.9 16.1-19.6 26.6-36 24c-1.6-.2-3.2-.4-5-.4c-17.7 0-32 14.3-32 32c0 2.7 .3 5.3 .9 7.8c3.5 14.2-3 29-16 36c-10.2 5.4-17 16.1-17 28.3s6.8 22.8 17 28.3c12.9 6.9 19.5 21.7 16 36c-.6 2.5-.9 5.1-.9 7.8c0 17.7 14.3 32 32 32c1.7 0 3.4-.1 5-.4c16.4-2.5 32 7.9 36 24c3.4 14 16.1 24.3 31.1 24.3c7.6 0 14.4-2.6 19.9-6.9c13.4-10.6 32.8-8.9 44 4c5.9 6.8 14.5 11 24.1 11s18.2-4.2 24.1-11c11.3-12.9 30.6-14.6 44-4c5.5 4.3 12.3 6.9 19.9 6.9c15 0 27.7-10.4 31.1-24.3c1.4-5.8 4.3-10.8 8.2-14.8c6.2 5.2 13 9.9 20.1 14l20.1 5L397.6 475.6C392.2 497 373 512 351 512H336c-26.5 0-48-21.5-48-48V423.4c-9.4 5.4-20.3 8.6-32 8.6s-22.6-3.1-32-8.6V464c0 26.5-21.5 48-48 48H161c-22 0-41.2-15-46.6-36.4l-25-100C57.2 372.4 32 345.1 32 312c0-5.3 .7-10.5 1.9-15.5C13.7 285.7 0 264.5 0 240s13.7-45.7 33.9-56.5c-1.2-5-1.9-10.2-1.9-15.5c0-35.3 28.7-64 64-64c3.3 0 6.6 .3 9.8 .8C112.7 76.8 137.9 56 168 56c15 0 28.9 5.2 39.8 13.9C219.5 56.5 236.8 48 256 48s36.5 8.5 48.2 21.9zM344 424c-8.5 0-16.6-1.7-24-4.7V464c0 8.8 7.2 16 16 16h15c7.3 0 13.7-5 15.5-12.1l13.8-55.2C370 419.8 357.5 424 344 424zM131.7 412.7l13.8 55.2c1.8 7.1 8.2 12.1 15.5 12.1h15c8.8 0 16-7.2 16-16V419.3c-7.4 3-15.5 4.7-24 4.7c-13.5 0-26-4.2-36.3-11.3zM544 168c0-39.8-32.2-72-72-72c-36.1 0-66 26.6-71.2 61.2l.1 .1-.1 .1c-.5 3.5-.8 7-.8 10.6v72c0 35.3 28.7 64 64 64h16c35.3 0 64-28.7 64-64V168zm-96 8a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faLandmarkFlag = {\n prefix: 'fal',\n iconName: 'landmark-flag',\n icon: [512, 512, [], \"e51c\", \"M272 32V64h64V32H272zm80 64H272v32H464c8.8 0 16 7.2 16 16s-7.2 16-16 16H48c-8.8 0-16-7.2-16-16s7.2-16 16-16H240V96 64 24 16c0-8.8 7.2-16 16-16h8 8 80c8.8 0 16 7.2 16 16V80c0 8.8-7.2 16-16 16zM48 368c0-8.8 7.2-16 16-16V192H96V352h80V192h32V352h96V192h32V352h80V192h32V352c8.8 0 16 7.2 16 16s-7.2 16-16 16H64c-8.8 0-16-7.2-16-16zM24 432c0-8.8 7.2-16 16-16H472c8.8 0 16 7.2 16 16s-7.2 16-16 16H40c-8.8 0-16-7.2-16-16zM0 496c0-8.8 7.2-16 16-16H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16-7.2-16-16z\"]\n};\nvar faLips = {\n prefix: 'fal',\n iconName: 'lips',\n icon: [576, 512, [128068, 128482], \"f600\", \"M268.2 126.4C244.8 107.9 221.7 96 200 96c-7.8 0-22.7 3.4-42.7 12.1c-19.2 8.4-40.4 20.4-60.1 34.6C77.4 157 60.3 172.7 48.5 188C36.2 203.8 32 216 32 224c0 15.5 6.2 33.6 17.8 53.5C61.1 297.1 76 315.8 90 332c38 44 94 84 166 84h64c72 0 128-40 166-84c13.6-15.7 28.5-34.7 40-54.6c11.7-20.4 18-38.6 18-53.4c0-8-4.2-20.2-16.5-36c-11.9-15.3-29-31-48.7-45.3c-19.6-14.2-40.8-26.2-60.1-34.6C398.7 99.4 383.8 96 376 96c-21.7 0-44.8 11.9-68.2 30.4c-11.6 9.2-28.1 9.2-39.7 0zM510.2 352.9C468.8 400.9 404.7 448 320 448H256c-84.7 0-148.8-47.1-190.2-95.1C36.9 319.5 0 271 0 224C0 151.5 142.5 64 200 64c32.7 0 63 17.5 88 37.3C313 81.5 343.3 64 376 64c57.5 0 200 87.5 200 160c0 45.8-37.5 96.2-65.8 128.9zm-153.9-136c-11.6 3.6-44 13.1-68.3 13.1s-56.7-9.5-68.3-13.1c-2-.6-3.8-.9-5.4-.9c-38.1 .4-66.1 5.6-84.1 11.1c-4.7 1.4-8.5 2.9-11.7 4.2c.4 .4 .9 .9 1.3 1.3c7.5 7.4 19 16.9 34.3 26.4c30.5 18.8 75.6 37 133.9 37s103.4-18.2 133.9-37c15.3-9.4 26.8-19 34.3-26.4c.5-.5 .9-.9 1.3-1.3c-3.2-1.3-7.1-2.8-11.7-4.2c-18-5.5-46-10.7-84.1-11.1c-1.6 0-3.4 .2-5.4 .9zm5.7-32.9c40.7 .5 71.7 5.9 93.1 12.5c10.6 3.3 19.2 6.9 25.5 10.6c3.1 1.8 6.2 3.9 8.7 6.4c1.7 1.7 6.7 6.8 6.7 14.5c0 3.1-.9 5.5-1.3 6.6c-.5 1.3-1.1 2.5-1.6 3.4c-1 1.8-2.3 3.6-3.6 5.4c-2.7 3.5-6.4 7.7-11 12.2c-9.2 9-22.6 20-39.9 30.7C404 307.6 353.2 328 288 328s-116-20.4-150.7-41.8c-17.3-10.7-30.7-21.7-39.9-30.7c-4.6-4.5-8.3-8.6-11-12.1c-1.3-1.7-2.6-3.6-3.6-5.4c-.5-.9-1.1-2-1.6-3.4c-.4-1.1-1.3-3.5-1.3-6.6c0-7.8 5-12.9 6.7-14.5c2.5-2.5 5.6-4.6 8.7-6.4c6.3-3.7 14.9-7.3 25.5-10.6c21.4-6.6 52.4-12 93.1-12.5c5.4-.1 10.5 .8 15.3 2.3c12 3.8 40 11.7 58.8 11.7s46.7-7.9 58.8-11.7c4.7-1.5 9.9-2.4 15.3-2.3z\"]\n};\nvar faPencil = {\n prefix: 'fal',\n iconName: 'pencil',\n icon: [512, 512, [9999, 61504, \"pencil-alt\"], \"f303\", \"M395.8 39.6c9.4-9.4 24.6-9.4 33.9 0l42.6 42.6c9.4 9.4 9.4 24.6 0 33.9L417.6 171 341 94.4l54.8-54.8zM318.4 117L395 193.6l-219 219V400c0-8.8-7.2-16-16-16H128V352c0-8.8-7.2-16-16-16H99.4l219-219zM66.9 379.5c1.2-4 2.7-7.9 4.7-11.5H96v32c0 8.8 7.2 16 16 16h32v24.4c-3.7 1.9-7.5 3.5-11.6 4.7L39.6 472.4l27.3-92.8zM452.4 17c-21.9-21.9-57.3-21.9-79.2 0L60.4 329.7c-11.4 11.4-19.7 25.4-24.2 40.8L.7 491.5c-1.7 5.6-.1 11.7 4 15.8s10.2 5.7 15.8 4l121-35.6c15.4-4.5 29.4-12.9 40.8-24.2L495 138.8c21.9-21.9 21.9-57.3 0-79.2L452.4 17zM331.3 202.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-128 128c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l128-128z\"]\n};\nvar faPencilAlt = faPencil;\nvar faBackward = {\n prefix: 'fal',\n iconName: 'backward',\n icon: [512, 512, [9194], \"f04a\", \"M37.6 256L256 414.1V97.9L37.6 256zM258 64c16.6 0 30 13.5 30 30V197.4L464.3 69.7C469.5 66 475.6 64 482 64c16.6 0 30 13.5 30 30V418c0 16.6-13.4 30-30 30c-6.3 0-12.5-2-17.6-5.7L288 314.6V418c0 16.6-13.5 30-30 30c-6.3 0-12.5-2-17.6-5.7L9.9 275.4C3.7 270.9 0 263.7 0 256s3.7-14.9 9.9-19.4L240.3 69.7C245.5 66 251.6 64 258 64zm30 211.1l192 139V97.9l-192 139v38.2z\"]\n};\nvar faCaretRight = {\n prefix: 'fal',\n iconName: 'caret-right',\n icon: [256, 512, [], \"f0da\", \"M221.8 250.4c1.3 1.4 2.2 3.5 2.2 5.6s-.8 4.2-2.2 5.6L108.3 381.8c-1.3 1.4-3.2 2.2-5.2 2.2c-3.9 0-7.1-3.2-7.1-7.1l0-241.7c0-3.9 3.2-7.1 7.1-7.1c2 0 3.8 .8 5.2 2.2L221.8 250.4zm23.3-22L131.6 108.3c-7.4-7.8-17.7-12.3-28.4-12.3C81.5 96 64 113.5 64 135.1l0 241.7c0 21.6 17.5 39.1 39.1 39.1c10.8 0 21.1-4.4 28.5-12.3L245.1 283.6c7-7.4 10.9-17.3 10.9-27.6s-3.9-20.1-10.9-27.6z\"]\n};\nvar faComments = {\n prefix: 'fal',\n iconName: 'comments',\n icon: [640, 512, [128490, 61670], \"f086\", \"M32 176c0-74.8 73.7-144 176-144s176 69.2 176 144s-73.7 144-176 144c-15.3 0-30.6-1.9-46.3-5c-3.5-.7-7.1-.2-10.2 1.4c-6.1 3.1-12 6-18 8.7c-28.4 12.9-60.2 23.1-91.5 26c14.9-19 26.8-39.7 37.6-59.9c3.3-6.1 2.3-13.6-2.5-18.6C50 244.2 32 213.1 32 176zM208 0C93.1 0 0 78.9 0 176c0 44.2 19.8 80.1 46 110c-11.7 21-24 40.6-39.5 57.5l0 0-.1 .1c-6.5 7-8.2 17.1-4.4 25.8C5.8 378.3 14.4 384 24 384c43 0 86.5-13.3 122.7-29.7c4.9-2.2 9.6-4.5 14.3-6.8c15.3 2.8 30.9 4.6 47 4.6c114.9 0 208-78.9 208-176S322.9 0 208 0zM447.4 160.5C541.6 167 608 233 608 304c0 37.1-18 68.2-45.1 96.6c-4.8 5-5.8 12.5-2.5 18.6c10.9 20.2 22.7 40.8 37.6 59.9c-31.3-3-63.2-13.2-91.5-26c-6-2.7-11.9-5.6-18-8.7c-3.2-1.6-6.8-2.1-10.2-1.4c-15.6 3.1-30.9 5-46.3 5c-68.2 0-123.6-30.7-153.1-73.3c-11 3-22.3 5.2-33.8 6.8C279 439.8 349.9 480 432 480c16.1 0 31.7-1.8 47-4.6c4.6 2.3 9.4 4.6 14.3 6.8C529.5 498.7 573 512 616 512c9.6 0 18.2-5.7 22-14.5c3.8-8.7 2-18.9-4.4-25.8l-.1-.1 0 0c-15.5-17-27.8-36.5-39.5-57.5c26.2-29.9 46-65.8 46-110c0-94.4-87.8-171.5-198.2-175.8c2.8 10.4 4.7 21.2 5.6 32.3z\"]\n};\nvar faPaste = {\n prefix: 'fal',\n iconName: 'paste',\n icon: [512, 512, [\"file-clipboard\"], \"f0ea\", \"M136.5 51.2C138.7 40.2 148.4 32 160 32s21.3 8.2 23.5 19.2C185 58.6 191.6 64 199.2 64H208c8.8 0 16 7.2 16 16V96H96V80c0-8.8 7.2-16 16-16h8.8c7.6 0 14.2-5.4 15.7-12.8zM160 0c-22.3 0-41.6 13.1-50.6 32H64C28.7 32 0 60.7 0 96V384c0 35.3 28.7 64 64 64H192V416H64c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32h2.7C65 69 64 74.4 64 80V96c0 17.7 14.3 32 32 32H208c11.5-15.4 28.5-26.4 48-30.4c0-.5 0-1.1 0-1.6V80c0-5.6-1-11-2.7-16H256c17.7 0 32 14.3 32 32h32c0-35.3-28.7-64-64-64H210.6c-9-18.9-28.3-32-50.6-32zM448 480H288c-17.7 0-32-14.3-32-32V192c0-17.7 14.3-32 32-32H396.1c4.2 0 8.3 1.7 11.3 4.7l67.9 67.9c3 3 4.7 7.1 4.7 11.3V448c0 17.7-14.3 32-32 32zm49.9-270.1l-67.9-67.9c-9-9-21.2-14.1-33.9-14.1H288c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V243.9c0-12.7-5.1-24.9-14.1-33.9z\"]\n};\nvar faFileClipboard = faPaste;\nvar faDesktopArrowDown = {\n prefix: 'fal',\n iconName: 'desktop-arrow-down',\n icon: [576, 512, [], \"e155\", \"M64 0H240V32H64C46.3 32 32 46.3 32 64V256H544V64c0-17.7-14.3-32-32-32H336V0H512c35.3 0 64 28.7 64 64V256v32 64c0 35.3-28.7 64-64 64H362.9l10.7 64H432c8.8 0 16 7.2 16 16s-7.2 16-16 16H360 216 144c-8.8 0-16-7.2-16-16s7.2-16 16-16h58.4l10.7-64H64c-35.3 0-64-28.7-64-64V288 256 64C0 28.7 28.7 0 64 0zM32 288v64c0 17.7 14.3 32 32 32H231.7c.2 0 .4 0 .6 0H343.7c.2 0 .4 0 .6 0H512c17.7 0 32-14.3 32-32V288H32zM234.9 480H341.1l-10.7-64H245.6l-10.7 64zM304 16V169.4l52.7-52.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-80 80c-6.2 6.2-16.4 6.2-22.6 0l-80-80c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L272 169.4V16c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faCodePullRequest = {\n prefix: 'fal',\n iconName: 'code-pull-request',\n icon: [512, 512, [], \"e13c\", \"M323.8 5.2c5.9 6.5 5.5 16.7-1.1 22.6L265.4 80H336c61.9 0 112 50.1 112 112V353.6c36.5 7.4 64 39.7 64 78.4c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-38.7 27.5-71 64-78.4V192c0-44.2-35.8-80-80-80H265.4l57.4 52.2c6.5 5.9 7 16.1 1.1 22.6s-16.1 7-22.6 1.1l-88-80c-3.3-3-5.2-7.3-5.2-11.8s1.9-8.8 5.2-11.8l88-80c6.5-5.9 16.7-5.5 22.6 1.1zM432 384a48 48 0 1 0 0 96 48 48 0 1 0 0-96zM128 80A48 48 0 1 0 32 80a48 48 0 1 0 96 0zM96 158.4V353.6c36.5 7.4 64 39.7 64 78.4c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-38.7 27.5-71 64-78.4V158.4C27.5 151 0 118.7 0 80C0 35.8 35.8 0 80 0s80 35.8 80 80c0 38.7-27.5 71-64 78.4zM128 432a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nvar faPumpkin = {\n prefix: 'fal',\n iconName: 'pumpkin',\n icon: [576, 512, [], \"f707\", \"M299.1 36.1l20.9 9V98.9c11.1 2 21.8 5.1 32 9.1V35.4c0-6.9-4.1-13.2-10.5-15.9L299.3 1.4c-2.2-.9-4.5-1.4-6.8-1.4h-1.2c-6.9 0-13.1 4.1-15.8 10.4l-41.1 94c12.2-3.9 25-6.5 38.3-7.7l26.5-60.5zM166 145.1c9.5-9.2 20.1-17.3 31.5-24.1c-14.3-5.8-29.5-9-45.5-9c-43.8 0-82.2 24.1-109 60.4S0 258.1 0 312s16.1 103.3 43 139.6S108.2 512 152 512c24.7 0 47.8-7.7 68-20.9c20.2 13.3 43.3 20.9 68 20.9s47.8-7.7 68-20.9c20.2 13.3 43.3 20.9 68 20.9c43.8 0 82.2-24.1 109-60.4s43-85.7 43-139.6s-16.1-103.3-43-139.6S467.8 112 424 112c-15.9 0-31.2 3.2-45.5 9c11.4 6.8 22 14.9 31.5 24.1c4.6-.8 9.3-1.1 14-1.1c31.3 0 60.9 17.1 83.3 47.4S544 264.3 544 312s-14.3 90.3-36.7 120.6s-52 47.4-83.3 47.4c-20.7 0-40.6-7.5-58.1-21.2c-5.8-4.5-13.9-4.5-19.7 0C328.6 472.5 308.7 480 288 480s-40.6-7.5-58.1-21.2c-5.8-4.5-13.9-4.5-19.7 0C192.6 472.5 172.7 480 152 480c-31.3 0-60.9-17.1-83.3-47.4S32 359.7 32 312s14.3-90.3 36.7-120.6s52-47.4 83.3-47.4c4.7 0 9.4 .4 14 1.1zM288 160c38.5 0 72.4 19.4 92.6 49c5 7.3 14.9 9.2 22.2 4.2s9.2-14.9 4.2-22.2c-25.9-38-69.6-63-119.1-63s-93.2 25-119.1 63c-5 7.3-3.1 17.3 4.2 22.2s17.3 3.1 22.2-4.2c20.2-29.6 54.1-49 92.6-49z\"]\n};\nvar faClipboardList = {\n prefix: 'fal',\n iconName: 'clipboard-list',\n icon: [384, 512, [], \"f46d\", \"M145.5 68c5.3-20.7 24.1-36 46.5-36s41.2 15.3 46.5 36c1.8 7.1 8.2 12 15.5 12h18c8.8 0 16 7.2 16 16v32H192 96V96c0-8.8 7.2-16 16-16h18c7.3 0 13.7-4.9 15.5-12zM192 0c-32.8 0-61 19.8-73.3 48H112C91.1 48 73.3 61.4 66.7 80H64C28.7 80 0 108.7 0 144V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V144c0-35.3-28.7-64-64-64h-2.7c-6.6-18.6-24.4-32-45.3-32h-6.7C253 19.8 224.8 0 192 0zM320 112c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V144c0-17.7 14.3-32 32-32v16c0 17.7 14.3 32 32 32h96 96c17.7 0 32-14.3 32-32V112zM208 80a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM136 272a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm40-16c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H176zm0 96c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H176zm-64 40a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faPenField = {\n prefix: 'fal',\n iconName: 'pen-field',\n icon: [640, 512, [], \"e211\", \"M582.8 45.5l11.9 11.9c12.5 12.5 12.5 32.8 0 45.2L568 129.4l-57-57 26.4-26.8c12.5-12.6 32.8-12.7 45.4-.1zM346.2 239.2L488.5 95.1 545.4 152 402.3 295.2c-4.4 4.4-10 7.4-16.1 8.7l-61.5 12.9 12.9-61.7c1.3-6 4.2-11.5 8.6-15.9zM514.7 23.1L323.4 216.7c-8.6 8.7-14.6 19.8-17.1 31.8l-18 85.7c-1.1 5.3 .5 10.8 4.3 14.6s9.3 5.5 14.6 4.3l85.5-17.9c12.2-2.6 23.3-8.6 32.1-17.4L617.4 125.3c25-25 25-65.5 0-90.5L605.5 22.8c-25.1-25.1-65.8-25-90.8 .3zM64 128c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V272c0-8.8-7.2-16-16-16s-16 7.2-16 16V448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V192c0-17.7 14.3-32 32-32H304c8.8 0 16-7.2 16-16s-7.2-16-16-16H64zm64 216a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm120-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faBlueberries = {\n prefix: 'fal',\n iconName: 'blueberries',\n icon: [512, 512, [], \"e2e8\", \"M382.7 312.3C439.3 292.9 480 239.2 480 176c0-79.5-64.5-144-144-144c-63.2 0-116.9 40.7-136.3 97.3c-7.8-.9-15.7-1.3-23.7-1.3c-3.2 0-6.3 .1-9.4 .2C187.4 54.2 255.4 0 336 0c97.2 0 176 78.8 176 176c0 80.6-54.2 148.6-128.2 169.4c.1-3.1 .2-6.3 .2-9.4c0-8-.5-15.9-1.3-23.7zM320 336A144 144 0 1 0 32 336a144 144 0 1 0 288 0zM0 336a176 176 0 1 1 352 0A176 176 0 1 1 0 336zm176-96v32h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H176v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V304H112c-8.8 0-16-7.2-16-16s7.2-16 16-16h32V240c0-8.8 7.2-16 16-16s16 7.2 16 16zM368 80v32h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H368v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V144H304c-8.8 0-16-7.2-16-16s7.2-16 16-16h32V80c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faTruckRampBox = {\n prefix: 'fal',\n iconName: 'truck-ramp-box',\n icon: [640, 512, [\"truck-loading\"], \"f4de\", \"M432 0c-44.2 0-80 35.8-80 80V384c0 1.3 .2 2.5 .4 3.7L11.8 480.6C3.3 482.9-1.8 491.7 .6 500.2s11.1 13.6 19.6 11.2L416.1 403.6C417.9 463.8 467.3 512 528 512c61.9 0 112-50.1 112-112s-50.1-112-112-112c-51.2 0-94.4 34.4-107.7 81.3l-.5 .1L384 379.1V80c0-26.5 21.5-48 48-48H624c8.8 0 16-7.2 16-16s-7.2-16-16-16H432zm96 320a80 80 0 1 1 0 160 80 80 0 1 1 0-160zM84.9 191.2l14.5 54.1c3.4 12.8 16.6 20.4 29.4 17l46.4-12.4c12.8-3.4 20.4-16.6 17-29.4l-14.5-54.1 30.9-8.3L250 312.6 95.4 354 54 199.4l30.9-8.3zm30.9-8.3l30.9-8.3L159.2 221l-30.9 8.3-12.4-46.4zM45.7 168.5c-17.1 4.6-27.2 22.1-22.6 39.2L64.5 362.3c4.6 17.1 22.1 27.2 39.2 22.6l154.5-41.4c17.1-4.6 27.2-22.1 22.6-39.2L239.5 149.7c-4.6-17.1-22.1-27.2-39.2-22.6L45.7 168.5z\"]\n};\nvar faTruckLoading = faTruckRampBox;\nvar faNote = {\n prefix: 'fal',\n iconName: 'note',\n icon: [448, 512, [], \"e1ff\", \"M384 64c17.7 0 32 14.3 32 32V304H320c-26.5 0-48 21.5-48 48v96H64c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32H384zm18.7 272L304 434.7V352c0-8.8 7.2-16 16-16h82.7zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H277.5c17 0 33.3-6.7 45.3-18.7L429.3 354.7c12-12 18.7-28.3 18.7-45.3V96c0-35.3-28.7-64-64-64H64zm64 344a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM104 112a24 24 0 1 0 0 48 24 24 0 1 0 0-48zm24 144a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faArrowDownToSquare = {\n prefix: 'fal',\n iconName: 'arrow-down-to-square',\n icon: [512, 512, [], \"e096\", \"M267.8 330.9l96-104c6-6.5 5.6-16.6-.9-22.6s-16.6-5.6-22.6 .9L272 279.1V16c0-8.8-7.2-16-16-16s-16 7.2-16 16V279.1l-68.2-73.9c-6-6.5-16.1-6.9-22.6-.9s-6.9 16.1-.9 22.6l96 104c3 3.3 7.3 5.1 11.8 5.1s8.7-1.9 11.8-5.1zM64 32C28.7 32 0 60.7 0 96V448c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H400c-8.8 0-16 7.2-16 16s7.2 16 16 16h48c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H64z\"]\n};\nvar faUserCheck = {\n prefix: 'fal',\n iconName: 'user-check',\n icon: [640, 512, [], \"f4fc\", \"M224 32a96 96 0 1 1 0 192 96 96 0 1 1 0-192zm0 224A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 80h91.4c80 0 145 64.3 146.3 144H32c1.2-79.7 66.2-144 146.3-144zm0-32C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304H178.3zm457-116.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L496 281.4l-52.7-52.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l64 64c6.2 6.2 16.4 6.2 22.6 0l128-128z\"]\n};\nvar faCloudXmark = {\n prefix: 'fal',\n iconName: 'cloud-xmark',\n icon: [640, 512, [], \"e35f\", \"M389.8 125.2C363.7 88.1 320.7 64 272 64c-77.4 0-140.5 61-143.9 137.5c-.6 13-9 24.4-21.3 28.8C63.2 245.7 32 287.2 32 336c0 61.9 50.1 112 112 112H512c53 0 96-43 96-96c0-36.8-20.7-68.8-51.2-84.9c-13.4-7.1-20-22.5-15.8-37.1c2-6.9 3-14.3 3-22c0-44.2-35.8-80-80-80c-12.3 0-23.9 2.8-34.3 7.7c-14.1 6.7-30.9 2.3-39.9-10.5zM272 32c59.5 0 112.1 29.5 144 74.8C430.5 99.9 446.8 96 464 96c61.9 0 112 50.1 112 112c0 10.7-1.5 21-4.3 30.8C612.3 260.2 640 302.9 640 352c0 70.7-57.3 128-128 128H144C64.5 480 0 415.5 0 336c0-62.8 40.2-116.1 96.2-135.9C100.3 106.6 177.4 32 272 32zM244.7 212.7c6.2-6.2 16.4-6.2 22.6 0L320 265.4l52.7-52.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L342.6 288l52.7 52.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L320 310.6l-52.7 52.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L297.4 288l-52.7-52.7c-6.2-6.2-6.2-16.4 0-22.6z\"]\n};\nvar faVialVirus = {\n prefix: 'fal',\n iconName: 'vial-virus',\n icon: [512, 512, [], \"e597\", \"M16 32C7.2 32 0 39.2 0 48s7.2 16 16 16H32V384c0 53 43 96 96 96c31.4 0 59.3-15.1 76.8-38.4c5.3-7.1 3.9-17.1-3.2-22.4s-17.1-3.9-22.4 3.2C167.5 438 148.9 448 128 448c-35.3 0-64-28.7-64-64V224H208c8.8 0 16-7.2 16-16V64h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H16zM192 192H64V64H192V192zM320 344a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm64 64a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM214.6 326.9c-13.3 0-24 10.7-24 24s10.7 24 24 24c29.3 0 43.9 35.4 23.2 56.1c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0c20.7-20.7 56.1-6 56.1 23.2c0 13.3 10.7 24 24 24s24-10.7 24-24c0-29.3 35.4-43.9 56.1-23.2c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9c-20.7-20.7-6-56.1 23.2-56.1c13.3 0 24-10.7 24-24s-10.7-24-24-24c-29.3 0-43.9-35.4-23.2-56.1c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0c-20.7 20.7-56.1 6-56.1-23.2c0-13.3-10.7-24-24-24s-24 10.7-24 24c0 29.3-35.4 43.9-56.1 23.2c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9c20.7 20.7 6 56.1-23.2 56.1zm62.6-50.7c28.6 8.2 60.2-4.9 74.7-30.9c7.2 13 18.8 22.8 32.2 28.3c13.3 5.5 28.3 6.7 42.5 2.6c-8.2 28.6 4.9 60.2 30.9 74.7c-26 14.5-39.1 46.1-30.9 74.7c-28.6-8.2-60.2 4.9-74.7 30.9c-14.5-26-46.1-39.1-74.7-30.9c8.2-28.6-4.9-60.2-30.9-74.7c26-14.5 39.1-46.1 30.9-74.7z\"]\n};\nvar faBookBlank = {\n prefix: 'fal',\n iconName: 'book-blank',\n icon: [448, 512, [128213, 128215, 128216, 128217, \"book-alt\"], \"f5d9\", \"M0 64C0 28.7 28.7 0 64 0H400c26.5 0 48 21.5 48 48V368c0 20.9-13.4 38.7-32 45.3V480h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H64c-35.3 0-64-28.7-64-64l0 0L0 64zM64 416c-17.7 0-32 14.3-32 32s14.3 32 32 32H384V416H64zM32 392.6c9.4-5.4 20.3-8.6 32-8.6H96V32H64C46.3 32 32 46.3 32 64l0 328.6zM128 32V384H400c8.8 0 16-7.2 16-16V48c0-8.8-7.2-16-16-16H128z\"]\n};\nvar faBookAlt = faBookBlank;\nvar faGolfFlagHole = {\n prefix: 'fal',\n iconName: 'golf-flag-hole',\n icon: [512, 512, [], \"e3ac\", \"M135.6 2.4c4.7-2.9 10.6-3.2 15.6-.7l224 112c5.4 2.7 8.8 8.3 8.8 14.3s-3.4 11.6-8.8 14.3L160 249.9v61.7c29.6-4.9 62.1-7.6 96-7.6c141.4 0 256 46.6 256 104s-114.6 104-256 104S0 465.4 0 408c0-32.8 37.5-62.1 96-81.2v33.8c-3.1 1.1-6.1 2.3-9 3.5c-20.9 8.5-35.7 17.8-44.7 26.5C33.3 399.2 32 405.1 32 408s1.3 8.8 10.3 17.4c9.1 8.7 23.8 18 44.7 26.5C128.7 468.8 188.4 480 256 480s127.3-11.2 169-28.1c20.9-8.5 35.7-17.8 44.7-26.5c9-8.6 10.3-14.5 10.3-17.4s-1.3-8.8-10.3-17.4c-9.1-8.7-23.8-18-44.7-26.5C383.3 347.2 323.6 336 256 336c-34.5 0-67 2.9-96 8v28.2c17-7.6 39.4-12.2 64-12.2c53 0 96 21.5 96 48s-43 48-96 48s-96-21.5-96-48V350.9 317.9 240 16c0-5.5 2.9-10.7 7.6-13.6zM160 214.1L332.2 128 160 41.9V214.1zM288.4 405.4a0 0 0 1 0 0 .1 0 0 0 1 0 0-.1zm-10.8-2.7c-12.1-6-31-10.7-53.6-10.7s-41.5 4.7-53.6 10.7c-4.3 2.1-6.9 4-8.5 5.3c1.6 1.4 4.2 3.2 8.5 5.3c12.1 6 31 10.7 53.6 10.7s41.5-4.7 53.6-10.7c4.3-2.1 6.9-4 8.5-5.3c-1.6-1.4-4.2-3.2-8.5-5.3zm10.8 7.9a.4 .4 0 1 0 .8-.4 .4 .4 0 1 0 -.8 .4z\"]\n};\nvar faMessageArrowDown = {\n prefix: 'fal',\n iconName: 'message-arrow-down',\n icon: [512, 512, [\"comment-alt-arrow-down\"], \"e1db\", \"M192 416c0-17.7-14.3-32-32-32H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H448c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H309.3c-6.9 0-13.7 2.2-19.2 6.4L192 464V416zM64 0C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h64 32v32 48c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L309.3 416H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM272 112c0-8.8-7.2-16-16-16s-16 7.2-16 16V265.4l-52.7-52.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l80 80c6.2 6.2 16.4 6.2 22.6 0l80-80c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L272 265.4V112z\"]\n};\nvar faCommentAltArrowDown = faMessageArrowDown;\nvar faFaceUnamused = {\n prefix: 'fal',\n iconName: 'face-unamused',\n icon: [512, 512, [], \"e39f\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM316.1 394.7c-11.7-13-31.6-26.7-60.1-26.7s-48.4 13.7-60.1 26.7c-5.9 6.6-16 7.1-22.6 1.2s-7.1-16-1.2-22.6C188.2 355.4 216.3 336 256 336s67.8 19.4 83.9 37.3c5.9 6.6 5.4 16.7-1.2 22.6s-16.7 5.4-22.6-1.2zM112 192h64c17.7 0 32 14.3 32 32s-14.3 32-32 32s-32-14.3-32-32H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm176 16c0-8.8 7.2-16 16-16h64c17.7 0 32 14.3 32 32s-14.3 32-32 32s-32-14.3-32-32H304c-8.8 0-16-7.2-16-16z\"]\n};\nvar faSheetPlastic = {\n prefix: 'fal',\n iconName: 'sheet-plastic',\n icon: [384, 512, [], \"e571\", \"M352 64V320H240c-26.5 0-48 21.5-48 48V480H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H320c17.7 0 32 14.3 32 32zm-.5 288c-.7 2.8-2.1 5.4-4.2 7.4L231.4 475.3c-2.1 2.1-4.6 3.5-7.4 4.2V368c0-8.8 7.2-16 16-16H351.5zM0 448c0 35.3 28.7 64 64 64H220.1c12.7 0 24.9-5.1 33.9-14.1L369.9 382.1c9-9 14.1-21.2 14.1-33.9V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V448zM187.3 68.7c-6.2-6.2-16.4-6.2-22.6 0l-96 96c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l96-96c6.2-6.2 6.2-16.4 0-22.6zm96 54.6c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-160 160c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l160-160z\"]\n};\nvar faCircle9 = {\n prefix: 'fal',\n iconName: 'circle-9',\n icon: [512, 512, [], \"e0f6\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256-96a64 64 0 1 0 0 128 64 64 0 1 0 0-128zm-3.7 159.9C201 318 160 275.8 160 224c0-53 43-96 96-96s96 43 96 96c0 30-12.5 58.6-34.4 78.9l-82.7 76.8c-6.5 6-16.6 5.6-22.6-.8s-5.6-16.6 .8-22.6l39.1-36.3z\"]\n};\nvar faBlog = {\n prefix: 'fal',\n iconName: 'blog',\n icon: [512, 512, [], \"f781\", \"M208 32c-8.8 0-16 7.2-16 16s7.2 16 16 16c132.5 0 240 107.5 240 240c0 8.8 7.2 16 16 16s16-7.2 16-16C480 153.8 358.2 32 208 32zm0 96c-8.8 0-16 7.2-16 16s7.2 16 16 16c79.5 0 144 64.5 144 144c0 8.8 7.2 16 16 16s16-7.2 16-16c0-97.2-78.8-176-176-176zM32 120c0-8.8-7.2-16-16-16s-16 7.2-16 16V368c0 79.5 64.5 144 144 144s144-64.5 144-144s-64.5-144-144-144h-8c-8.8 0-16 7.2-16 16s7.2 16 16 16h8c61.9 0 112 50.1 112 112s-50.1 112-112 112S32 429.9 32 368V120z\"]\n};\nvar faUserNinja = {\n prefix: 'fal',\n iconName: 'user-ninja',\n icon: [448, 512, [129399], \"f504\", \"M320 128a96 96 0 1 0 -192 0 96 96 0 1 0 192 0zm32 0c0 70.7-57.3 128-128 128c-63.6 0-116.3-46.3-126.3-107.1L59.3 187.3c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L89.4 112 36.7 59.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l45.2 45.2C123 34 169.6 0 224 0c70.7 0 128 57.3 128 128zM211.1 452.9L128.6 344.7C72.9 364.8 33 417.7 32 480H231.7l-20.2-26.5c-.1-.2-.3-.4-.4-.6zm33.1-9.4L271.9 480H416c-1-62.3-40.9-115.2-96.6-135.3l-75.3 98.8zM418.3 512H264.2h-.4H29.7C13.3 512 0 498.7 0 482.3C0 399.5 56.4 330 132.8 309.9c6-1.6 12.2 .9 15.9 5.8l62.5 83.3c6.4 8.5 19.2 8.5 25.6 0l62.5-83.3c3.7-4.9 9.9-7.4 15.9-5.8C391.6 330 448 399.5 448 482.3c0 16.4-13.3 29.7-29.7 29.7zM176 96h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faPencilSlash = {\n prefix: 'fal',\n iconName: 'pencil-slash',\n icon: [640, 512, [], \"e215\", \"M25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4zM559 138.8c21.9-21.9 21.9-57.3 0-79.2L516.4 17c-21.9-21.9-57.3-21.9-79.2 0L297.5 156.7l25.3 20L382.4 117 459 193.6l-50.6 50.6 25.3 20L559 138.8zM317.2 335.3L240 412.6V400c0-8.8-7.2-16-16-16H192V352c0-8.8-7.2-16-16-16H163.4l68.2-68.2-25.3-20-81.9 81.9c-11.4 11.4-19.7 25.4-24.2 40.8l-35.6 121c-1.7 5.6-.1 11.7 4 15.8s10.2 5.7 15.8 4l121-35.6c15.4-4.5 29.4-12.9 40.8-24.2l96.2-96.2-25.3-20zM493.8 39.6l42.6 42.6c9.4 9.4 9.4 24.6 0 33.9L481.6 171 405 94.4l54.8-54.8c9.4-9.4 24.6-9.4 33.9 0zM135.6 368H160v32c0 8.8 7.2 16 16 16h32v24.4c-3.7 1.9-7.5 3.5-11.6 4.7l-92.8 27.3 27.3-92.8c1.2-4 2.7-7.9 4.7-11.6z\"]\n};\nvar faBowlingPins = {\n prefix: 'fal',\n iconName: 'bowling-pins',\n icon: [512, 512, [], \"f437\", \"M128 32c-22.1 0-40 17.9-40 40v4.4c0 6.4 .8 12.8 2.3 19l9.4 37.4c2.2 8.9 3.6 18 4.1 27.2h48.4c.5-9.2 1.9-18.3 4.1-27.2l9.4-37.4c1.6-6.2 2.3-12.6 2.3-19V72c0-22.1-17.9-40-40-40zM91.9 230.9L61.1 301.4C52.5 321.1 48 342.5 48 364.1c0 26.2 6.6 51.9 19.1 74.9L89.5 480h77l22.4-41.1c12.5-23 19.1-48.7 19.1-74.9c0-21.6-4.5-42.9-13.1-62.7l-30.8-70.4c-5.4-12.4-9.1-25.5-10.8-38.9H102.8c-1.8 13.4-5.4 26.5-10.8 38.9zM56 72C56 32.2 88.2 0 128 0s72 32.2 72 72v4.4c0 9-1.1 18-3.3 26.8l-9.4 37.4c-2.2 8.9-3.3 18-3.3 27.2v5.5c0 15.5 3.2 30.7 9.4 44.9l30.8 70.4c10.4 23.8 15.8 49.5 15.8 75.5c0 31.5-7.9 62.5-23 90.2l-24.7 45.2c-4.2 7.7-12.3 12.5-21.1 12.5H84.7c-8.8 0-16.9-4.8-21.1-12.5L39 454.2c-15.1-27.7-23-58.7-23-90.2c0-26 5.4-51.7 15.8-75.5l30.8-70.4C68.8 204 72 188.7 72 173.2v-5.5c0-9.2-1.1-18.3-3.3-27.2l-9.4-37.4C57.1 94.4 56 85.4 56 76.4V72zM384 32c-22.1 0-40 17.9-40 40v4.4c0 6.4 .8 12.8 2.3 19l9.4 37.4c2.2 8.9 3.6 18 4.1 27.2h48.4c.5-9.2 1.9-18.3 4.1-27.2l9.4-37.4c1.6-6.2 2.3-12.6 2.3-19V72c0-22.1-17.9-40-40-40zM347.9 230.9l-30.8 70.4c-8.6 19.8-13.1 41.1-13.1 62.7c0 26.2 6.6 51.9 19.1 74.9L345.5 480h77l22.4-41.1c12.5-23 19.1-48.7 19.1-74.9c0-21.6-4.5-42.9-13.1-62.7l-30.8-70.4c-5.4-12.4-9.1-25.5-10.8-38.9H358.8c-1.8 13.4-5.4 26.5-10.8 38.9zM312 72c0-39.8 32.2-72 72-72s72 32.2 72 72v4.4c0 9-1.1 18-3.3 26.8l-9.4 37.4c-2.2 8.9-3.3 18-3.3 27.2v5.5c0 15.5 3.2 30.7 9.4 44.9l30.8 70.4c10.4 23.8 15.8 49.5 15.8 75.5c0 31.5-7.9 62.5-23 90.2l-24.7 45.2c-4.2 7.7-12.3 12.5-21.1 12.5H340.7c-8.8 0-16.9-4.8-21.1-12.5L295 454.2c-15.1-27.7-23-58.7-23-90.2c0-26 5.4-51.7 15.8-75.5l30.8-70.4c6.2-14.2 9.4-29.4 9.4-44.9v-5.5c0-9.2-1.1-18.3-3.3-27.2l-9.4-37.4c-2.2-8.8-3.3-17.7-3.3-26.8V72z\"]\n};\nvar faPersonArrowUpFromLine = {\n prefix: 'fal',\n iconName: 'person-arrow-up-from-line',\n icon: [640, 512, [], \"e539\", \"M168 56a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm80 0A56 56 0 1 0 136 56a56 56 0 1 0 112 0zM179.3 160h25.4c6.8 0 13.3 1.4 19.3 4V320H160V164c6-2.6 12.5-4 19.3-4zM160 480V352h64V480H160zm-32 0H16c-8.8 0-16 7.2-16 16s7.2 16 16 16l128 0h96l384 0c8.8 0 16-7.2 16-16s-7.2-16-16-16H256V202.2l49.9 93.4c4.2 7.8 13.9 10.7 21.7 6.6s10.7-13.9 6.6-21.7L275.3 170.3c-13.9-26-41-42.3-70.6-42.3H179.3c-29.5 0-56.7 16.3-70.6 42.3L49.9 280.5c-4.2 7.8-1.2 17.5 6.6 21.7s17.5 1.2 21.7-6.6L128 202.1V480zM603.3 132.7l-96-96c-6.2-6.2-16.4-6.2-22.6 0l-96 96c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L480 86.6 480 400c0 8.8 7.2 16 16 16s16-7.2 16-16V86.6l68.7 68.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6z\"]\n};\nvar faDownRight = {\n prefix: 'fal',\n iconName: 'down-right',\n icon: [384, 512, [], \"e16b\", \"M312 384c4.4 0 8-3.6 8-8V174.6c0-3.7-3-6.6-6.6-6.6c-1.8 0-3.4 .7-4.7 1.9l-61.4 61.4c-6.2 6.2-16.4 6.2-22.6 0L112 118.6c-4.2-4.2-10-6.6-16-6.6s-11.8 2.4-16 6.6L54.6 144c-4.2 4.2-6.6 10-6.6 16s2.4 11.8 6.6 16L167.3 288.7c3 3 4.7 7.1 4.7 11.3s-1.7 8.3-4.7 11.3l-61.4 61.4c-1.2 1.2-1.9 2.9-1.9 4.7c0 3.7 3 6.6 6.6 6.6H312zm40-8c0 22.1-17.9 40-40 40H110.6C89.3 416 72 398.7 72 377.4c0-10.2 4.1-20.1 11.3-27.3L133.4 300 32 198.6C21.8 188.4 16 174.5 16 160s5.8-28.4 16-38.6L57.4 96C67.6 85.8 81.5 80 96 80s28.4 5.8 38.6 16L236 197.4l50.1-50.1c7.2-7.2 17.1-11.3 27.3-11.3c21.3 0 38.6 17.3 38.6 38.6V376z\"]\n};\nvar faScrollTorah = {\n prefix: 'fal',\n iconName: 'scroll-torah',\n icon: [640, 512, [\"torah\"], \"f6a0\", \"M96 448V64c0-17.7-14.3-32-32-32S32 46.3 32 64V448c0 17.7 14.3 32 32 32s32-14.3 32-32zM64 0c23.7 0 44.4 12.9 55.4 32H128 512h8.6C531.6 12.9 552.3 0 576 0c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64c-23.7 0-44.4-12.9-55.4-32H512 128h-8.6c-11.1 19.1-31.7 32-55.4 32c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0zM576 480c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32s-32 14.3-32 32V448c0 17.7 14.3 32 32 32zm-64-32V64H128V448H512zM172 322.9c0-4.1 1.1-8.2 3.2-11.8l32.3-55-32.3-55c-2.1-3.6-3.2-7.6-3.2-11.8c0-12.9 10.4-23.3 23.3-23.3h65l36-61.3c4.6-7.9 13.1-12.7 22.2-12.7s17.6 4.8 22.2 12.7l36 61.3h65c12.9 0 23.3 10.4 23.3 23.3c0 4.1-1.1 8.2-3.2 11.8l-32.3 55 32.3 55c2.1 3.6 3.2 7.6 3.2 11.8c0 12.9-10.4 23.3-23.3 23.3h-65l-36 61.3c-4.6 7.9-13.1 12.7-22.2 12.7s-17.6-4.8-22.2-12.7l-36-61.3h-65c-12.9 0-23.3-10.4-23.3-23.3zm146.5 59.2l21.1-35.9H297.4l21.1 35.9zm-39.9-67.9h79.7l34.1-58-34.1-58H278.6l-34.1 58 34.1 58zm147.9 0L411 287.7l-15.5 26.4h31zm0-116.1h-31L411 224.5 426.5 198zm-108-67.9L297.4 166h42.2l-21.1-35.9zM226 224.5L241.5 198h-31L226 224.5zm15.5 89.7L226 287.7l-15.5 26.4h31z\"]\n};\nvar faTorah = faScrollTorah;\nvar faWebhook = {\n prefix: 'fal',\n iconName: 'webhook',\n icon: [576, 512, [], \"e5d5\", \"M192 128c0-53 43-96 96-96s96 43 96 96c0 8.8 7.2 16 16 16s16-7.2 16-16C416 57.3 358.7 0 288 0S160 57.3 160 128c0 40 18.4 75.8 47.1 99.2L147.3 323c-6.1-1.9-12.6-3-19.3-3c-35.3 0-64 28.7-64 64s28.7 64 64 64s64-28.7 64-64c0-17.1-6.7-32.6-17.6-44.1L238 238.2c7.2-11.5 3.2-25.5-6.5-32.7C207.5 188.1 192 159.9 192 128zM160 384a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM288 160a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm-64-32c0 35.3 28.7 64 64 64c6.7 0 13.2-1 19.3-3l63.5 101.7c7.2 11.5 21.6 14.1 32.2 8.4C416.5 292 431.7 288 448 288c53 0 96 43 96 96s-43 96-96 96c-18.7 0-36.1-5.3-50.9-14.6c-7.5-4.7-17.4-2.4-22.1 5.1s-2.4 17.4 5.1 22.1c19.7 12.3 43 19.5 67.9 19.5c70.7 0 128-57.3 128-128s-57.3-128-128-128c-19.2 0-37.4 4.2-53.8 11.8l-59.8-95.7c10.9-11.5 17.6-27 17.6-44.1c0-35.3-28.7-64-64-64s-64 28.7-64 64zM73.2 305.2c7.2-5.1 9-15 4-22.3s-15-9-22.3-4C21.7 302.1 0 340.5 0 384c0 70.7 57.3 128 128 128c65.3 0 119.1-48.9 127-112H386c7.1 27.6 32.2 48 62 48c35.3 0 64-28.7 64-64s-28.7-64-64-64c-29.8 0-54.9 20.4-62 48H248c-13.5 0-23.4 10.8-24.2 22.9C220.2 440.7 178.7 480 128 480c-53 0-96-43-96-96c0-32.6 16.2-61.4 41.2-78.8zM480 384a32 32 0 1 1 -64 0 32 32 0 1 1 64 0z\"]\n};\nvar faBlindsOpen = {\n prefix: 'fal',\n iconName: 'blinds-open',\n icon: [512, 512, [], \"f8fc\", \"M32 0C14.3 0 0 14.3 0 32V64C0 81.7 14.3 96 32 96h96V258.7c-18.6 6.6-32 24.4-32 45.3c0 26.5 21.5 48 48 48s48-21.5 48-48c0-20.9-13.4-38.7-32-45.3V96H480c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H32zm0 32H480V64H32V32zm96 272a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM16 160c-8.8 0-16 7.2-16 16s7.2 16 16 16H96V160H16zm176 32H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H192v32zM0 496c0 8.8 7.2 16 16 16H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H16c-8.8 0-16 7.2-16 16zM16 320c-8.8 0-16 7.2-16 16s7.2 16 16 16H80c-7-9.3-12-20.2-14.4-32H16zm480 32c8.8 0 16-7.2 16-16s-7.2-16-16-16H222.4c-2.4 11.8-7.4 22.7-14.4 32H496z\"]\n};\nvar faFence = {\n prefix: 'fal',\n iconName: 'fence',\n icon: [512, 512, [], \"e303\", \"M64 32c5 0 9.8 2.4 12.8 6.4l44.8 59.7c4.2 5.5 6.4 12.3 6.4 19.2V160h64V117.3c0-6.9 2.2-13.7 6.4-19.2l44.8-59.7c3-4 7.8-6.4 12.8-6.4s9.8 2.4 12.8 6.4l44.8 59.7c4.2 5.5 6.4 12.3 6.4 19.2V160h64V117.3c0-6.9 2.2-13.7 6.4-19.2l44.8-59.7c3-4 7.8-6.4 12.8-6.4s9.8 2.4 12.8 6.4l44.8 59.7c4.2 5.5 6.4 12.3 6.4 19.2V448c0 17.7-14.3 32-32 32H416c-17.7 0-32-14.3-32-32V384H320v64c0 17.7-14.3 32-32 32H224c-17.7 0-32-14.3-32-32V384H128v64c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V117.3c0-6.9 2.2-13.7 6.4-19.2L51.2 38.4c3-4 7.8-6.4 12.8-6.4zM288 384V352 192 160 117.3L256 74.7l-32 42.7V448h64V384zm32-32h64V192H320V352zm96 0v32 64h64V117.3L448 74.7l-32 42.7V352zM192 192H128V352h64V192zm-96 0V160 117.3L64 74.7 32 117.3V448H96V384 352 192z\"]\n};\nvar faUp = {\n prefix: 'fal',\n iconName: 'up',\n icon: [384, 512, [\"arrow-alt-up\"], \"f357\", \"M189.7 64h4.6c4.4 0 8.6 1.8 11.6 5L348.5 218.8c2.2 2.3 3.5 5.4 3.5 8.7c0 6.9-5.6 12.6-12.6 12.6H256c-8.8 0-16 7.2-16 16V432c0 8.8-7.2 16-16 16H160c-8.8 0-16-7.2-16-16V256c0-8.8-7.2-16-16-16H44.6c-6.9 0-12.6-5.6-12.6-12.6c0-3.2 1.2-6.3 3.5-8.7L178.1 69c3-3.2 7.2-5 11.6-5zM384 227.4c0-11.4-4.4-22.5-12.3-30.7L229 46.9C220 37.4 207.4 32 194.3 32h-4.6C176.6 32 164 37.4 155 46.9L12.3 196.7C4.4 205 0 216 0 227.4C0 252 20 272 44.6 272H112V432c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48V272h67.4c24.6 0 44.6-20 44.6-44.6z\"]\n};\nvar faArrowAltUp = faUp;\nvar faBroomBall = {\n prefix: 'fal',\n iconName: 'broom-ball',\n icon: [576, 512, [\"quidditch\", \"quidditch-broom-ball\"], \"f458\", \"M571.3 4.7c6.2 6.2 6.2 16.4 0 22.6l-208 208 45.3 45.3c4.8 4.8 7.4 11.2 7.4 17.9c0 12.4-9 23-21.2 25l-54.7 9.1 1.4 9.8c6.6 46.3-9 93-42 126c-27.8 27.8-65.6 43.5-105 43.5L22.6 512C10.1 512 0 501.9 0 489.4c0-6 2.4-11.8 6.6-16l59.7-59.7 15-15L96 384H81.3c-8.3 0-15.3-5.8-16.9-13.6c-.3-1.2-.4-2.4-.4-3.7c0-29.9 11.9-58.5 33-79.7l10.5-10.5c33.1-33.1 79.7-48.6 126-42l9.8 1.4 9.1-54.7c2-12.2 12.6-21.2 25-21.2c6.7 0 13.2 2.7 17.9 7.4l45.3 45.3 208-208c6.2-6.2 16.4-6.2 22.6 0zm-238 296.6l43.5-7.2-94.9-94.9-7.2 43.5 58.7 58.7zm-79.6-31.6L229 266.2c-36.3-5.2-72.9 7-98.9 33l-10.5 10.5C108 321.3 100.3 336.1 97.3 352c12.4 .5 23.4 8.2 28.2 19.7c5 12 2.2 25.7-6.9 34.9L45.3 480l149.2 0c30.9 0 60.5-12.3 82.4-34.1c25.9-25.9 38.1-62.6 33-98.9l-3.5-24.7-52.6-52.6zM512 432a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm-128 0a80 80 0 1 1 160 0 80 80 0 1 1 -160 0z\"]\n};\nvar faQuidditch = faBroomBall;\nvar faQuidditchBroomBall = faBroomBall;\nvar faDrumstick = {\n prefix: 'fal',\n iconName: 'drumstick',\n icon: [512, 512, [127831], \"f6d6\", \"M192 272V176c0-79.5 64.5-144 144-144s144 64.5 144 144s-64.5 144-144 144H240c-26.5 0-48-21.5-48-48zm-32-96v96c0 3 .2 6 .5 8.9L121.4 320l-.1 0c-.1 0-.5 .1-1.2 .1c-1.5-.1-3.5-.7-5.2-2C102.9 309.3 88.1 304 72 304c-39.8 0-72 32.2-72 72c0 37.2 28.2 67.8 64.4 71.6C68.2 483.8 98.8 512 136 512c39.8 0 72-32.2 72-72c0-16.1-5.3-30.9-14.2-42.9c-1.2-1.7-1.9-3.7-2-5.2c0-.7 .1-1.1 .1-1.2l0-.1 0 0 39.1-39.1c2.9 .3 5.9 .5 8.9 .5h96c97.2 0 176-78.8 176-176S433.2 0 336 0S160 78.8 160 176zm12.2 138.4c6.4 10.3 15.1 18.9 25.4 25.4L169.3 368c-15 15-9.9 36.5-1.2 48.1c4.9 6.7 7.9 14.9 7.9 23.8c0 22.1-17.9 40-40 40s-40-17.9-40-40c0-13.1-10.9-24-24-24c-22.1 0-40-17.9-40-40s17.9-40 40-40c9 0 17.2 2.9 23.8 7.9c11.7 8.7 33.2 13.7 48.1-1.2l28.2-28.2z\"]\n};\nvar faSquareV = {\n prefix: 'fal',\n iconName: 'square-v',\n icon: [448, 512, [], \"e284\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm126.3 56.8L224 348.2l97.7-195.4c4-7.9 13.6-11.1 21.5-7.2s11.1 13.6 7.2 21.5l-112 224c-2.7 5.4-8.3 8.8-14.3 8.8s-11.6-3.4-14.3-8.8l-112-224c-4-7.9-.7-17.5 7.2-21.5s17.5-.7 21.5 7.2z\"]\n};\nvar faFaceAwesome = {\n prefix: 'fal',\n iconName: 'face-awesome',\n icon: [512, 512, [\"gave-dandy\"], \"e409\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM184 208H104V192c0-22.1 17.9-40 40-40c.5 0 .9 0 1.4 0c-.9 2.5-1.4 5.2-1.4 8c0 13.3 10.7 24 24 24c5.2 0 10.1-1.7 14-4.5c1.3 3.9 2 8.1 2 12.5v16zm-40-88c-39.8 0-72 32.2-72 72v16c0 17.7 14.3 32 32 32h80c17.7 0 32-14.3 32-32V192c0-39.8-32.2-72-72-72zm236.1 53.1c2.5 5.8 3.9 12.2 3.9 18.9v16H288V192c0-26.5 21.5-48 48-48c2 0 3.9 .1 5.8 .3c-3.6 4.2-5.8 9.7-5.8 15.7c0 13.3 10.7 24 24 24c8.4 0 15.8-4.3 20.1-10.9zM256 192v17.9c0 16.6 13.5 30.1 30.1 30.1h99.8c16.6 0 30.1-13.5 30.1-30.1V192c0-44.2-35.8-80-80-80s-80 35.8-80 80zm4.7 224H248c-2 0-4 0-5.9-.1c7.2-27.5 32.2-47.9 61.9-47.9c15.9 0 30.5 5.8 41.7 15.5c-2.8 2.7-5.7 5.2-8.7 7.6c-21.5 15.7-47.9 24.9-76.3 24.9zm-50.6-4.2c-51.5-12.9-91.9-54.6-102.3-107.8H388.8c-2.8 20.6-10.3 39.6-21.5 55.9C350.4 345 328.3 336 304 336c-46.1 0-84.6 32.5-93.9 75.8zm146.2 4.8c36-26.5 60.7-67.7 65-115.3c1.4-15.7-11-29.3-26.8-29.3H92.8c-11.2 0-19.9 9.6-18.9 20.7c8 88 81.7 155.3 170.1 155.3H248h12.7 4.7c34.2 0 65.8-11.7 90.9-31.4z\"]\n};\nvar faGaveDandy = faFaceAwesome;\nvar faDialOff = {\n prefix: 'fal',\n iconName: 'dial-off',\n icon: [576, 512, [], \"e162\", \"M288 56a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM272 288V415c-63.1-7.9-112-61.7-112-127c0-70.7 57.3-128 128-128s128 57.3 128 128c0 65.3-48.9 119.1-112 127V288c0-8.8-7.2-16-16-16s-16 7.2-16 16zm16 160a160 160 0 1 0 0-320 160 160 0 1 0 0 320zM568 288a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM32 312a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM120 96A24 24 0 1 0 72 96a24 24 0 1 0 48 0zm360 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM120 480a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm360 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faToggleOff = {\n prefix: 'fal',\n iconName: 'toggle-off',\n icon: [576, 512, [], \"f204\", \"M416 128c70.7 0 128 57.3 128 128s-57.3 128-128 128H160C89.3 384 32 326.7 32 256s57.3-128 128-128H416zM576 256c0-88.4-71.6-160-160-160H160C71.6 96 0 167.6 0 256s71.6 160 160 160H416c88.4 0 160-71.6 160-160zm-352 0A64 64 0 1 1 96 256a64 64 0 1 1 128 0zM64 256a96 96 0 1 0 192 0A96 96 0 1 0 64 256z\"]\n};\nvar faFaceSmileHorns = {\n prefix: 'fal',\n iconName: 'face-smile-horns',\n icon: [640, 512, [], \"e391\", \"M320 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480c141.4 0 256-114.6 256-256c0-24.6-3.5-48.4-9.9-70.9c44.3-59.4 67.4-135 73.6-166c1.3-6.3-1.4-12.8-6.8-16.4s-12.4-3.6-17.8 0c-19.3 12.9-48.5 24.2-78.4 33.1c-23.3 7-46 12.2-63 15.5C430.9 19.1 377.7 0 320 0S209.1 19.1 166.2 51.3c-17-3.3-39.7-8.6-63-15.5C73.4 26.9 44.2 15.5 24.9 2.7C19.5-.9 12.5-.9 7.1 2.7S-1 12.8 .3 19.1c6.2 31 29.3 106.6 73.6 166C67.5 207.6 64 231.4 64 256c0 141.4 114.6 256 256 256zM552.4 148.6c-12.2-26.4-28.8-50.4-48.8-71c13.1-3 27.6-6.8 42.3-11.2c17.7-5.3 36.2-11.7 53.2-19.1c-9.2 28.9-24.6 66.9-46.6 101.3zM94.1 66.4c14.7 4.4 29.2 8.1 42.3 11.2c-20 20.6-36.6 44.6-48.8 71C65.5 114.3 50.2 76.2 40.9 47.3c17 7.4 35.5 13.8 53.2 19.1zM205.5 347.9c-6.7 5.8-7.4 15.9-1.6 22.6c22.2 25.7 61 53.5 116.1 53.5s93.8-27.9 116.1-53.5c5.8-6.7 5.1-16.8-1.6-22.6s-16.8-5.1-22.6 1.6C394 370.2 363.4 392 320 392s-74-21.8-91.9-42.5c-5.8-6.7-15.9-7.4-22.6-1.6zM240.4 296c13.3 0 24-10.7 24-24c0-2.6-.4-5.1-1.2-7.4l19.7 6.6c8.4 2.8 17.4-1.7 20.2-10.1s-1.7-17.4-10.1-20.2l-96-32c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2l39.6 13.2c-6.2 4.3-10.2 11.5-10.2 19.6c0 13.3 10.7 24 24 24zm184-24c0-8.2-4.1-15.5-10.4-19.8l39.1-13c8.4-2.8 12.9-11.9 10.1-20.2s-11.9-12.9-20.2-10.1l-96 32c-8.4 2.8-12.9 11.9-10.1 20.2s11.9 12.9 20.2 10.1l20.6-6.9c-.8 2.4-1.3 5-1.3 7.7c0 13.3 10.7 24 24 24s24-10.7 24-24z\"]\n};\nvar faBoxArchive = {\n prefix: 'fal',\n iconName: 'box-archive',\n icon: [512, 512, [\"archive\"], \"f187\", \"M480 64H32v64H64 448h32V64zm0 96H448 64 32c-17.7 0-32-14.3-32-32V64C0 46.3 14.3 32 32 32H480c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32zM160 240c0-8.8 7.2-16 16-16H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16zm288-48h32V416c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V192H64V416c0 17.7 14.3 32 32 32H416c17.7 0 32-14.3 32-32V192z\"]\n};\nvar faArchive = faBoxArchive;\nvar faGrapes = {\n prefix: 'fal',\n iconName: 'grapes',\n icon: [512, 512, [], \"e306\", \"M447.5 221.1c-4.5-10.7-10.5-20.6-17.9-29.3c21.6-2 40.7-14.9 50.2-22.8l0-.1c.1-.1 .2-.4 .2-.9c0-.4-.1-.7-.1-.8C469.7 159.1 446.4 144 416 144c-14.7 0-22.9 1.8-26.9 3.2c-1.6 .6-2.6 1-2.9 1.2c-6.3 5.2-15.6 4.8-21.4-1.1s-6.2-15.2-1.1-21.4c.2-.4 .7-1.3 1.2-2.9c1.3-4 3.2-12.2 3.2-26.9c0-30.4-15.1-53.7-23.2-63.9c-.1 0-.4-.1-.8-.1c-.5 0-.8 .1-.9 .2l-.1 0c-7.9 9.6-20.8 28.6-22.8 50.2C311.5 75 301.7 69 290.9 64.5c6.1-24.5 20-43.7 27.4-52.7C325 3.7 334.8 0 344 0s19.1 3.7 25.8 12.1C379.8 24.8 400 55.1 400 96c0 6.3-.3 11.9-.8 16.8c4.9-.5 10.5-.8 16.8-.8c40.9 0 71.2 20.2 83.9 30.2c8.4 6.7 12.1 16.5 12.1 25.8c0 9.2-3.7 19-11.8 25.7c-9 7.4-28.2 21.3-52.7 27.4zM320 456c-18.4 0-35.2-6.9-47.9-18.2c-12.4 25-38.3 42.2-68.1 42.2c-19 0-36.3-7-49.6-18.4C142.6 491.1 113.7 512 80 512c-44.2 0-80-35.8-80-80c0-33.7 20.9-62.6 50.4-74.4C39 344.3 32 327 32 308c0-29.8 17.2-55.7 42.2-68.1C62.9 227.2 56 210.4 56 192c0-39.8 32.2-72 72-72c17.6 0 33.8 6.3 46.3 16.9C186.4 108.1 214.9 88 248 88c44.2 0 80 35.8 80 80c0 6.2-.7 12.2-2 18c5.8-1.3 11.8-2 18-2c44.2 0 80 35.8 80 80c0 33.1-20.1 61.6-48.9 73.7C385.7 350.2 392 366.4 392 384c0 39.8-32.2 72-72 72zM296 168a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM128 232a40 40 0 1 0 0-80 40 40 0 1 0 0 80zm144 56a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM108 352a44 44 0 1 0 0-88 44 44 0 1 0 0 88zM80 480a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm124-32a44 44 0 1 0 0-88 44 44 0 1 0 0 88zm156-64a40 40 0 1 0 -80 0 40 40 0 1 0 80 0zm-16-72a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faPersonDrowning = {\n prefix: 'fal',\n iconName: 'person-drowning',\n icon: [576, 512, [], \"e545\", \"M144 32c8.8 0 16 7.2 16 16V89c0 63.4 41.9 119.2 102.7 137c47.9 14 98.7 14 146.5 0l114.2-33.3c8.5-2.5 17.4 2.4 19.8 10.9s-2.4 17.4-10.9 19.8L418.2 256.7c-16.9 4.9-34.1 8.3-51.5 10.1l-14 111.8c-9.6-3.5-19.1-8.4-28-14.5c-.8-.5-1.5-1-2.3-1.5l11.8-94.2c-27.1-.2-54.2-4.1-80.6-11.7c-5.6-1.6-11.1-3.5-16.4-5.7L218.2 380.3c-8.5 2.6-17.3 4.1-26.2 4.1c-2.2 0-4.5-.1-6.7-.3l22-148.8C158.8 203.7 128 149.2 128 89V48c0-8.8 7.2-16 16-16zM320 160a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0-96a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM192 448c20.9 0 41.6-9.9 58.2-21.2c9.8-6.7 18-14 25.9-21.9c6.6-6.5 17.2-6.5 23.7 0c7.9 7.9 16.2 15.2 26 21.9C342.3 438 363.1 448 384 448s41.6-9.9 58.2-21.2c9.8-6.7 18-14 25.9-21.9c6.6-6.5 17.2-6.6 23.7 0c7.9 7.9 16.2 15.2 26 21.9c12.8 8.7 28.1 16.6 44.1 19.8c7.7 1.5 14.1 7.8 14.1 15.7c0 9.8-8 17.9-17.7 16.2c-23.1-4-43.6-15-58.5-25.2c-7.9-5.4-14.7-10.8-19.8-15.3c-5.1 4.5-11.8 9.9-19.8 15.3C441.5 465.9 414.3 480 384 480s-57.6-14.1-76.2-26.8c-7.9-5.4-14.7-10.8-19.8-15.3c-5.1 4.5-11.8 9.9-19.8 15.3C249.5 465.9 222.3 480 192 480s-57.6-14.1-76.2-26.8c-7.9-5.4-14.6-10.8-19.8-15.3c-5.1 4.5-11.8 9.9-19.8 15.3c-14.9 10.2-35.4 21.2-58.5 25.2C8 480.1 0 472 0 462.2c0-7.9 6.4-14.1 14.1-15.7c15.9-3.1 31.3-11.1 44-19.8c9.8-6.7 18-14 25.9-21.9c6.6-6.5 17.2-6.6 23.8 0c7.9 7.9 16.2 15.2 25.9 21.9C150.3 438 171.1 448 192 448z\"]\n};\nvar faDialMax = {\n prefix: 'fal',\n iconName: 'dial-max',\n icon: [576, 512, [], \"e15e\", \"M288 56a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm90.5 322.5l-.4 .4 .8-.8-.4 .4zM299.3 276.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l89.8 89.8c-50.2 39.1-122.8 35.5-169-10.6c-50-50-50-131 0-181s131-50 181 0c46.2 46.2 49.7 118.8 10.6 169l-89.8-89.8zM401.1 401.1A160 160 0 1 0 174.9 174.9 160 160 0 1 0 401.1 401.1zM568 288a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM32 312a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM120 96A24 24 0 1 0 72 96a24 24 0 1 0 48 0zm360 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM120 480a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm360 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faCircleM = {\n prefix: 'fal',\n iconName: 'circle-m',\n icon: [512, 512, [], \"e115\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM157.1 134.8c-4-5.7-11.3-8.2-17.9-6.1S128 137 128 144V368c0 8.8 7.2 16 16 16s16-7.2 16-16V194.8l82.9 118.4c3 4.3 7.9 6.8 13.1 6.8s10.1-2.5 13.1-6.8L352 194.8V368c0 8.8 7.2 16 16 16s16-7.2 16-16V144c0-7-4.5-13.2-11.2-15.3s-13.9 .4-17.9 6.1L256 276.1 157.1 134.8z\"]\n};\nvar faCalendarImage = {\n prefix: 'fal',\n iconName: 'calendar-image',\n icon: [448, 512, [], \"e0d4\", \"M112 0c8.8 0 16 7.2 16 16V64H320V16c0-8.8 7.2-16 16-16s16 7.2 16 16V64h32c35.3 0 64 28.7 64 64v32 32V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192 160 128C0 92.7 28.7 64 64 64H96V16c0-8.8 7.2-16 16-16zM416 192H32V448c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V192zM384 96H64c-17.7 0-32 14.3-32 32v32H416V128c0-17.7-14.3-32-32-32zM230 265.4c12.5-18.1 39.2-18.4 52.2-.6l96.3 132.4c15.4 21.2 .3 50.8-25.9 50.8H95.1c-26 0-41.2-29.4-26-50.6l51-71.3c11.5-16.1 34.7-18 48.7-4l13.1 13.1L230 265.4zM352.6 416L256.3 283.6l-59.2 85.5c-2.7 3.9-7 6.4-11.7 6.8s-9.4-1.3-12.8-4.6L146 344.7 95.1 416H352.6zM96 232a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faCircleCaretDown = {\n prefix: 'fal',\n iconName: 'circle-caret-down',\n icon: [512, 512, [\"caret-circle-down\"], \"f32d\", \"M256 480a224 224 0 1 1 0-448 224 224 0 1 1 0 448zM256 0a256 256 0 1 0 0 512A256 256 0 1 0 256 0zm0 352c9.6 0 18.7-4 25.2-11l95.5-102.8c4.7-5.1 7.3-11.8 7.3-18.7c0-15.2-12.3-27.5-27.5-27.5l-201 0c-15.2 0-27.5 12.3-27.5 27.5c0 6.9 2.6 13.6 7.3 18.7L230.8 341c6.5 7 15.6 11 25.2 11zm1.7-32.7c-.4 .5-1.1 .7-1.7 .7s-1.3-.3-1.7-.7L165.8 224l180.3 0-88.4 95.3z\"]\n};\nvar faCaretCircleDown = faCircleCaretDown;\nvar faArrowDown91 = {\n prefix: 'fal',\n iconName: 'arrow-down-9-1',\n icon: [576, 512, [\"sort-numeric-desc\", \"sort-numeric-down-alt\"], \"f886\", \"M428 64a52 52 0 1 0 0 104 52 52 0 1 0 0-104zm-84 52c0-46.4 37.6-84 84-84s84 37.6 84 84c0 1.3 0 2.7-.1 4h.1c0 21.2-7.6 41.8-21.5 57.9l-62.4 72.5c-5.8 6.7-15.9 7.5-22.6 1.7s-7.5-15.9-1.7-22.6L429.3 200c-.4 0-.9 0-1.3 0c-46.4 0-84-37.6-84-84zM267.3 379.3l-96 96c-6.2 6.2-16.4 6.2-22.6 0l-96-96c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L144 425.4V48c0-8.8 7.2-16 16-16s16 7.2 16 16V425.4l68.7-68.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zM448 304V448h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H432 384c-8.8 0-16-7.2-16-16s7.2-16 16-16h32V326.2l-26.9 9c-8.4 2.8-17.4-1.7-20.2-10.1s1.7-17.4 10.1-20.2l48-16c4.9-1.6 10.2-.8 14.4 2.2s6.6 7.8 6.6 13z\"]\n};\nvar faSortNumericDesc = faArrowDown91;\nvar faSortNumericDownAlt = faArrowDown91;\nvar faFaceGrinTongueSquint = {\n prefix: 'fal',\n iconName: 'face-grin-tongue-squint',\n icon: [512, 512, [128541, \"grin-tongue-squint\"], \"f58a\", \"M32 256C32 132.3 132.3 32 256 32s224 100.3 224 224c0 79.8-41.7 149.8-104.5 189.5c-7.5 4.7-9.7 14.6-5 22.1s14.6 9.7 22.1 5C464.3 427.3 512 347.2 512 256C512 114.6 397.4 0 256 0S0 114.6 0 256c0 91.2 47.7 171.3 119.5 216.6c7.5 4.7 17.4 2.5 22.1-5s2.5-17.4-5-22.1C73.7 405.8 32 335.8 32 256zm104.5-65.7L171.9 208l-35.4 17.7c-7.9 4-11.1 13.6-7.2 21.5s13.6 11.1 21.5 7.2l64-32c5.4-2.7 8.8-8.3 8.8-14.3s-3.4-11.6-8.8-14.3l-64-32c-7.9-4-17.5-.7-21.5 7.2s-.7 17.5 7.2 21.5zm246.2-21.5c-4-7.9-13.6-11.1-21.5-7.2l-64 32c-5.4 2.7-8.8 8.3-8.8 14.3s3.4 11.6 8.8 14.3l64 32c7.9 4 17.5 .7 21.5-7.2s.7-17.5-7.2-21.5L340.2 208l35.4-17.7c7.9-4 11.1-13.6 7.2-21.5zM352 416V383.4c20.2-15.7 36.4-36.2 46.9-59.9c5.2-11.7-6.8-22.4-19.1-18.7c-37.3 11.1-79.3 17.4-123.8 17.4s-86.4-6.3-123.8-17.4c-12.3-3.7-24.2 7-19.1 18.7c10.4 23.6 26.6 44.1 46.8 59.8V416c0 53 43 96 96 96s96-43 96-96zm-32 0c0 35.3-28.7 64-64 64s-64-28.7-64-64V378.6c0-14.7 11.9-26.6 26.6-26.6h2c11.3 0 21.1 7.9 23.6 18.9c2.8 12.6 20.8 12.6 23.6 0c2.5-11.1 12.3-18.9 23.6-18.9h2c14.7 0 26.6 11.9 26.6 26.6V416z\"]\n};\nvar faGrinTongueSquint = faFaceGrinTongueSquint;\nvar faShishKebab = {\n prefix: 'fal',\n iconName: 'shish-kebab',\n icon: [512, 512, [], \"f821\", \"M352 96c0-35.3 28.7-64 64-64s64 28.7 64 64c0 14.4-4.8 27.7-12.8 38.4c-5.3 7.1-3.9 17.1 3.2 22.4s17.1 3.9 22.4-3.2c12.1-16 19.2-36 19.2-57.6c0-53-43-96-96-96s-96 43-96 96c0 12.7 2.5 24.9 7 36.1c5.7 14 4.2 26.1-1.5 31.8l-8.8 8.8-30.1-30.1C272.1 128.1 252.5 120 232 120s-40.1 8.1-54.6 22.6l-18.7 18.7C144.1 175.9 136 195.5 136 216c0 6.2 .7 12.3 2.2 18.2c-5.9-1.4-12-2.2-18.2-2.2c-20.5 0-40.1 8.1-54.6 22.6L46.6 273.4C32.1 287.9 24 307.5 24 328s8.1 40.1 22.6 54.6l30.1 30.1-72 72c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l72-72 30.1 30.1C143.9 479.9 163.5 488 184 488s40.1-8.1 54.6-22.6l18.7-18.7C271.9 432.1 280 412.5 280 392c0-6.2-.7-12.3-2.2-18.2c5.9 1.4 12 2.2 18.2 2.2c20.5 0 40.1-8.1 54.6-22.6l18.7-18.7C383.9 320.1 392 300.5 392 280s-8.1-40.1-22.6-54.6l-30.1-30.1 8.8-8.8c19.3-19.3 16.2-47.7 8.6-66.4c-3-7.4-4.7-15.5-4.7-24.1zM181.3 248c-8.5-8.5-13.3-20-13.3-32s4.8-23.5 13.3-32L200 165.3c8.5-8.5 20-13.3 32-13.3s23.5 4.8 32 13.3L346.7 248c8.5 8.5 13.3 20 13.3 32s-4.8 23.5-13.3 32L328 330.7c-8.5 8.5-20 13.3-32 13.3s-23.5-4.8-32-13.3L181.3 248zM69.3 360C60.8 351.5 56 340 56 328s4.8-23.5 13.3-32L88 277.3c8.5-8.5 20-13.3 32-13.3s23.5 4.8 32 13.3L234.7 360c8.5 8.5 13.3 20 13.3 32s-4.8 23.5-13.3 32L216 442.7c-8.5 8.5-20 13.3-32 13.3s-23.5-4.8-32-13.3L69.3 360z\"]\n};\nvar faSprayCan = {\n prefix: 'fal',\n iconName: 'spray-can',\n icon: [512, 512, [], \"f5bd\", \"M192 32V96h32V32c0-17.7-14.3-32-32-32H128C110.3 0 96 14.3 96 32V96h32V32h64zm96 56a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm-64 72c35.3 0 64 28.7 64 64V440c0 22.1-17.9 40-40 40H72c-22.1 0-40-17.9-40-40V224c0-35.3 28.7-64 64-64H224zM96 128c-53 0-96 43-96 96V440c0 39.8 32.2 72 72 72H248c39.8 0 72-32.2 72-72V224c0-53-43-96-96-96H96zm64 144a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm0 128a80 80 0 1 0 0-160 80 80 0 1 0 0 160zM408 64a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm72 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm24 72a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM480 280a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM408 160a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faAlarmSnooze = {\n prefix: 'fal',\n iconName: 'alarm-snooze',\n icon: [512, 512, [], \"f845\", \"M92.2 0C41.3 0 0 41.3 0 92.2c0 18.2 5.3 35.2 14.4 49.5c4.7 7.5 14.6 9.6 22.1 4.9s9.6-14.6 4.9-22.1c-5.9-9.3-9.4-20.4-9.4-32.3C32 58.9 58.9 32 92.2 32c15.8 0 30.2 6.1 40.9 16.1c6.5 6 16.6 5.6 22.6-.8s5.6-16.6-.8-22.6C138.4 9.3 116.4 0 92.2 0zM357.1 24.6c-6.5 6-6.9 16.1-.8 22.6s16.1 6.9 22.6 .8C389.6 38.1 404 32 419.8 32C453 32 480 58.9 480 92.2c0 11.9-3.4 23-9.4 32.3c-4.7 7.5-2.6 17.3 4.9 22.1s17.3 2.6 22.1-4.9c9.1-14.3 14.4-31.3 14.4-49.5C512 41.3 470.7 0 419.8 0c-24.2 0-46.3 9.3-62.7 24.6zM59.3 507.3l50-50C148.6 491.4 199.9 512 256 512s107.4-20.6 146.7-54.7l50 50c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-50-50C459.4 395.4 480 344.1 480 288C480 164.3 379.7 64 256 64S32 164.3 32 288c0 56.1 20.6 107.4 54.7 146.7l-50 50c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0zM256 96a192 192 0 1 1 0 384 192 192 0 1 1 0-384zm-64 96c-8.8 0-16 7.2-16 16s7.2 16 16 16h94.7L179.5 358c-3.8 4.8-4.6 11.4-1.9 16.9s8.3 9.1 14.4 9.1H320c8.8 0 16-7.2 16-16s-7.2-16-16-16H225.3L332.5 218c3.8-4.8 4.6-11.4 1.9-16.9s-8.3-9.1-14.4-9.1H192z\"]\n};\nvar faScarecrow = {\n prefix: 'fal',\n iconName: 'scarecrow',\n icon: [448, 512, [], \"f70d\", \"M224 176a72 72 0 1 0 0-144 72 72 0 1 0 0 144zm0 32c-36.8 0-69.2-19.1-87.7-48H61.9c4 7 2.3 15.9-4.3 20.8L42.7 192l14.9 11.2c6.5 4.9 8.3 13.8 4.3 20.8h62.6c20.2 0 35.3 18.5 31.4 38.3L134.6 368.7l25.5-14.6c4.9-2.8 11-2.8 15.9 0L224 381.6l48.1-27.5c4.9-2.8 11-2.8 15.9 0l25.5 14.6L292.1 262.3c-4-19.8 11.2-38.3 31.4-38.3h62.6c-4-7-2.3-15.9 4.3-20.8L405.3 192l-14.9-11.2c-6.5-4.9-8.3-13.8-4.3-20.8H311.7c-18.5 28.9-50.8 48-87.7 48zM328 104c0 8.3-1 16.3-2.8 24H416c5.9 0 11.3 3.2 14.1 8.5s2.5 11.5-.8 16.4l-7.6 11.4 19.9 14.9c4 3 6.4 7.8 6.4 12.8s-2.4 9.8-6.4 12.8l-19.9 14.9 7.6 11.4c3.3 4.9 3.6 11.2 .8 16.4s-8.2 8.5-14.1 8.5H323.5l28.2 140.9c1.2 6.2-1.2 12.5-6.3 16.1s-11.8 4-17.3 .9L280 386.4l-48.1 27.5c-4.9 2.8-11 2.8-15.9 0L168 386.4l-48.1 27.5c-5.4 3.1-12.2 2.8-17.3-.9s-7.6-10-6.3-16.1L124.5 256H32c-5.9 0-11.3-3.2-14.1-8.5s-2.5-11.5 .8-16.4l7.6-11.4L6.4 204.8C2.4 201.8 0 197 0 192s2.4-9.8 6.4-12.8l19.9-14.9-7.6-11.4c-3.3-4.9-3.6-11.2-.8-16.4s8.2-8.5 14.1-8.5h90.8c-1.8-7.7-2.8-15.7-2.8-24C120 46.6 166.6 0 224 0s104 46.6 104 104zM176 88a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm80 0a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM208 496V445.3c10.3 3.7 21.7 3.7 32 0V496c0 8.8-7.2 16-16 16s-16-7.2-16-16z\"]\n};\nvar faTruckMonster = {\n prefix: 'fal',\n iconName: 'truck-monster',\n icon: [640, 512, [], \"f63b\", \"M264 32c-4.4 0-8 3.6-8 8v88H462.4L389.2 37.9c-3-3.7-7.6-5.9-12.4-5.9H264zM96 128H224V40c0-22.1 17.9-40 40-40H376.8c14.5 0 28.1 6.5 37.3 17.7L503.6 128H544c35.3 0 64 28.7 64 64v48h-1c4.4 3.9 8.6 8 12.6 12.2c6.1 6.4 5.8 16.6-.7 22.6s-16.6 5.8-22.6-.7C567.2 243.3 525.8 224 480 224c-56.2 0-105.6 28.9-134.1 72.7c-3 4.5-8 7.3-13.4 7.3H307.5c-5.4 0-10.4-2.7-13.4-7.3C265.6 252.9 216.2 224 160 224c-45.8 0-87.2 19.3-116.4 50.2c-6.1 6.4-16.2 6.7-22.6 .7s-6.7-16.2-.7-22.6c3.7-3.9 7.6-7.7 11.6-11.3V192c0-35.3 28.7-64 64-64zM64 217.7c28.2-16.3 61-25.7 96-25.7c64.3 0 121.1 31.6 156 80H324c34.8-48.4 91.7-80 156-80c35 0 67.8 9.4 96 25.7V192c0-17.7-14.3-32-32-32H496.1h-.3H240 96c-17.7 0-32 14.3-32 32v25.7zM154 272c-3.9 0-7.1 2.7-7.8 6.4c-1.2 5.8-5.5 10.5-11.2 12.2c-6.2 1.8-12.1 4.3-17.7 7.3c-5.2 2.9-11.6 2.6-16.5-.7c-3.1-2.1-7.3-1.7-10.1 1l-8.5 8.5c-2.7 2.7-3.1 7-1 10.1c3.3 5 3.6 11.3 .7 16.5c-3 5.6-5.5 11.5-7.3 17.7c-1.7 5.7-6.4 10-12.2 11.2c-3.6 .7-6.4 4-6.4 7.8v12c0 3.9 2.7 7.1 6.4 7.8c5.8 1.2 10.5 5.5 12.2 11.2c1.8 6.2 4.3 12.1 7.3 17.7c2.9 5.2 2.6 11.6-.7 16.5c-2.1 3.1-1.7 7.3 1 10.1l8.5 8.5c2.7 2.7 7 3.1 10.1 1c5-3.3 11.3-3.6 16.5-.7c5.6 3 11.5 5.5 17.7 7.3c5.7 1.7 10 6.4 11.2 12.2c.7 3.6 4 6.4 7.8 6.4h12c3.9 0 7.1-2.7 7.8-6.4c1.2-5.8 5.5-10.5 11.2-12.2c6.2-1.8 12.1-4.3 17.7-7.3c5.2-2.9 11.6-2.6 16.5 .7c3.1 2.1 7.3 1.7 10.1-1l8.5-8.5c2.7-2.7 3.1-7 1-10.1c-3.3-5-3.6-11.3-.7-16.5c3-5.6 5.5-11.5 7.3-17.7c1.7-5.7 6.4-10 12.2-11.2c3.6-.7 6.4-4 6.4-7.8V370c0-3.9-2.7-7.1-6.4-7.8c-5.8-1.2-10.5-5.5-12.2-11.2c-1.8-6.2-4.3-12.1-7.3-17.7c-2.9-5.2-2.6-11.6 .7-16.5c2.1-3.1 1.7-7.3-1-10.1l-8.5-8.5c-2.7-2.7-7-3.1-10.1-1c-5 3.3-11.3 3.6-16.5 .7c-5.6-3-11.5-5.5-17.7-7.3c-5.7-1.7-10-6.4-11.2-12.2c-.7-3.6-4-6.4-7.8-6.4H154zm-36-9.5c6.5-13.3 20.1-22.5 36-22.5h12c15.8 0 29.5 9.2 36 22.5c2.9 1.1 5.8 2.3 8.6 3.6c14-4.8 30.1-1.7 41.3 9.5l8.5 8.5c11.2 11.2 14.4 27.3 9.5 41.3c1.3 2.8 2.5 5.7 3.6 8.6c13.3 6.5 22.5 20.1 22.5 36v12c0 15.8-9.2 29.5-22.5 36c-1.1 2.9-2.3 5.8-3.6 8.6c4.8 14 1.7 30.1-9.5 41.3l-8.5 8.5c-11.2 11.2-27.3 14.4-41.3 9.5c-2.8 1.3-5.7 2.5-8.6 3.6c-6.5 13.3-20.1 22.5-36 22.5H154c-15.8 0-29.5-9.2-36-22.5c-2.9-1.1-5.8-2.3-8.6-3.6c-14 4.8-30.1 1.7-41.3-9.5l-8.5-8.5c-11.2-11.2-14.4-27.3-9.5-41.3c-1.3-2.8-2.5-5.7-3.6-8.6C33.2 411.5 24 397.8 24 382V370c0-15.8 9.2-29.5 22.5-36c1.1-2.9 2.3-5.8 3.6-8.6c-4.8-14-1.7-30.1 9.5-41.3l8.5-8.5c11.2-11.2 27.3-14.4 41.3-9.5c2.8-1.3 5.7-2.5 8.6-3.6zm42 92a21.5 21.5 0 1 0 0 43 21.5 21.5 0 1 0 0-43zM213.5 376a53.5 53.5 0 1 1 -107 0 53.5 53.5 0 1 1 107 0zm252.7-97.6c-1.2 5.8-5.5 10.5-11.2 12.2c-6.2 1.8-12.1 4.3-17.7 7.3c-5.2 2.9-11.6 2.6-16.5-.7c-3.1-2.1-7.3-1.7-10.1 1l-8.5 8.5c-2.7 2.7-3.1 7-1 10.1c3.3 5 3.6 11.3 .7 16.5c-3 5.6-5.5 11.5-7.3 17.7c-1.7 5.7-6.4 10-12.2 11.2c-3.6 .7-6.4 4-6.4 7.8v12c0 3.9 2.7 7.1 6.4 7.8c5.8 1.2 10.5 5.5 12.2 11.2c1.8 6.2 4.3 12.1 7.3 17.7c2.9 5.2 2.6 11.6-.7 16.5c-2.1 3.1-1.7 7.3 1 10.1l8.5 8.5c2.7 2.7 7 3.1 10.1 1c5-3.3 11.3-3.6 16.5-.7c5.6 3 11.5 5.5 17.7 7.3c5.7 1.7 10 6.4 11.2 12.2c.7 3.6 4 6.4 7.8 6.4h12c3.9 0 7.1-2.7 7.8-6.4c1.2-5.8 5.5-10.5 11.2-12.2c6.2-1.8 12.1-4.3 17.7-7.3c5.2-2.9 11.6-2.6 16.5 .7c3.1 2.1 7.3 1.7 10.1-1l8.5-8.5c2.7-2.7 3.1-7 1-10.1c-3.3-5-3.6-11.3-.7-16.5c3-5.6 5.5-11.5 7.3-17.7c1.7-5.7 6.4-10 12.2-11.2c3.6-.7 6.4-4 6.4-7.8V370c0-3.9-2.7-7.1-6.4-7.8c-5.8-1.2-10.5-5.5-12.2-11.2c-1.8-6.2-4.3-12.1-7.3-17.7c-2.9-5.2-2.6-11.6 .7-16.5c2.1-3.1 1.7-7.3-1-10.1l-8.5-8.5c-2.7-2.7-7-3.1-10.1-1c-5 3.3-11.3 3.6-16.5 .7c-5.6-3-11.5-5.5-17.7-7.3c-5.7-1.7-10-6.4-11.2-12.2c-.7-3.6-4-6.4-7.8-6.4H474c-3.9 0-7.1 2.7-7.8 6.4zM474 240h12c15.8 0 29.5 9.2 36 22.5c2.9 1.1 5.8 2.3 8.6 3.6c14-4.8 30.1-1.7 41.3 9.5l8.5 8.5c11.2 11.2 14.4 27.3 9.5 41.3c1.3 2.8 2.5 5.7 3.6 8.6c13.3 6.5 22.5 20.1 22.5 36v12c0 15.8-9.2 29.5-22.5 36c-1.1 2.9-2.3 5.8-3.6 8.6c4.8 14 1.7 30.1-9.5 41.3l-8.5 8.5c-11.2 11.2-27.3 14.4-41.3 9.5c-2.8 1.3-5.7 2.5-8.6 3.6c-6.5 13.3-20.1 22.5-36 22.5H474c-15.8 0-29.5-9.2-36-22.5c-2.9-1.1-5.8-2.3-8.6-3.6c-14 4.8-30.1 1.7-41.3-9.5l-8.5-8.5c-11.2-11.2-14.4-27.3-9.5-41.3c-1.3-2.8-2.5-5.7-3.6-8.6c-13.3-6.5-22.5-20.1-22.5-36V370c0-15.8 9.2-29.5 22.5-36c1.1-2.9 2.3-5.8 3.6-8.6c-4.8-14-1.7-30.1 9.5-41.3l8.5-8.5c11.2-11.2 27.3-14.4 41.3-9.5c2.8-1.3 5.7-2.5 8.6-3.6c6.5-13.3 20.1-22.5 36-22.5zM458.5 376a21.5 21.5 0 1 0 43 0 21.5 21.5 0 1 0 -43 0zM480 429.5a53.5 53.5 0 1 1 0-107 53.5 53.5 0 1 1 0 107z\"]\n};\nvar faGiftCard = {\n prefix: 'fal',\n iconName: 'gift-card',\n icon: [576, 512, [], \"f663\", \"M397.1 32c-17.6 0-33.9 9-43.2 23.9l-45 72.1H320h80c26.5 0 48-21.5 48-48s-21.5-48-48-48h-2.9zm-130 96l-45-72.1C212.8 41 196.5 32 178.9 32H176c-26.5 0-48 21.5-48 48s21.5 48 48 48h80 11.1zM288 101l38.8-62c15.1-24.2 41.7-39 70.3-39H400c44.2 0 80 35.8 80 80c0 18-6 34.6-16 48h48c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192c0-35.3 28.7-64 64-64h48c-10-13.4-16-30-16-48c0-44.2 35.8-80 80-80h2.9c28.6 0 55.2 14.7 70.3 39L288 101zM176 160H64c-17.7 0-32 14.3-32 32v96H544V192c0-17.7-14.3-32-32-32H400 322.2l58.1 69.8c5.7 6.8 4.7 16.9-2 22.5s-16.9 4.7-22.5-2L288 169l-67.7 81.3c-5.7 6.8-15.7 7.7-22.5 2s-7.7-15.7-2-22.5L253.8 160H176zM32 320v64H544V320H32zM544 448V416H32v32c0 17.7 14.3 32 32 32H512c17.7 0 32-14.3 32-32z\"]\n};\nvar faW = {\n prefix: 'fal',\n iconName: 'w',\n icon: [576, 512, [119], \"57\", \"M10.5 33c8.3-3 17.5 1.2 20.5 9.5l135.2 370L272.6 43.6c2-6.8 8.2-11.6 15.4-11.6s13.4 4.7 15.4 11.6L409.8 412.5 545 42.5c3-8.3 12.2-12.6 20.5-9.5s12.6 12.2 9.5 20.5l-152 416c-2.4 6.5-8.7 10.7-15.6 10.5s-12.9-4.9-14.8-11.6L288 105.7 183.4 468.4c-1.9 6.7-7.9 11.3-14.8 11.6s-13.2-4-15.6-10.5L1 53.5C-2.1 45.2 2.2 36 10.5 33z\"]\n};\nvar faCodePullRequestDraft = {\n prefix: 'fal',\n iconName: 'code-pull-request-draft',\n icon: [448, 512, [], \"e3fa\", \"M32 80a48 48 0 1 1 96 0A48 48 0 1 1 32 80zm64 78.4c36.5-7.4 64-39.7 64-78.4c0-44.2-35.8-80-80-80S0 35.8 0 80c0 38.7 27.5 71 64 78.4V353.6C27.5 361 0 393.3 0 432c0 44.2 35.8 80 80 80s80-35.8 80-80c0-38.7-27.5-71-64-78.4V158.4zM32 432a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm336-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm0 128a80 80 0 1 0 0-160 80 80 0 1 0 0 160zM400 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM368 256a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faSquareB = {\n prefix: 'fal',\n iconName: 'square-b',\n icon: [448, 512, [], \"e264\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm128 64c0-17.7 14.3-32 32-32h88c39.8 0 72 32.2 72 72c0 19.3-7.6 36.8-19.9 49.7C321.6 262.2 336 285.4 336 312c0 39.8-32.2 72-72 72H160c-17.7 0-32-14.3-32-32V256 160zm160 40c0-22.1-17.9-40-40-40H160v80h88c22.1 0 40-17.9 40-40zM160 352H264c22.1 0 40-17.9 40-40s-17.9-40-40-40H248 160v80z\"]\n};\nvar faElephant = {\n prefix: 'fal',\n iconName: 'elephant',\n icon: [640, 512, [128024], \"f6da\", \"M224 111.8C224 67.7 259.7 32 303.8 32c41.5 0 76.1 31.8 79.6 73.2l.7 8.1c.7 8.8 8.5 15.3 17.3 14.6s15.4-8.5 14.6-17.3l-.7-8.1c-1.1-13-4.4-25.4-9.5-36.7C466.1 76.2 512 128.7 512 192V304c0 8.8 7.2 16 16 16s16-7.2 16-16V192c0-88.4-71.6-160-160-160h-1.9c-20.2-19.9-48-32-78.3-32c-30.5 0-58.2 12.3-78.4 32.1C118 35.6 32 123.7 32 232v32 0l0 19.1c0 25.4-8.7 50.1-24.5 70L3.5 358C-2 364.9-.9 375 6 380.5s17 4.4 22.5-2.5l3.9-4.9c20.4-25.5 31.6-57.3 31.6-90L64 264v0V232c0-82.4 59.3-150.9 137.4-165.2c-6.1 13.8-9.4 29-9.4 45.1c0 58.2 44.6 106.6 102.5 111.4l8.1 .7c8.8 .7 16.5-5.8 17.3-14.6s-5.8-16.5-14.6-17.3l-8.1-.7c-41.4-3.4-73.2-38-73.2-79.6zM413.4 295.3c-2.9-4.4-7.8-7.3-13.4-7.3c-8.8 0-16 7.2-16 16V464c0 8.8-7.2 16-16 16H336c-8.8 0-16-7.2-16-16V384c0-.7 0-1.4-.1-2c.5-3.8-.4-7.8-2.7-11.2c-5.1-7.2-15-9-22.3-4C279.3 377.6 260.4 384 240 384s-39.3-6.4-54.8-17.2c-7.2-5.1-17.2-3.3-22.3 4c-2.4 3.4-3.2 7.4-2.7 11.2c-.1 .7-.1 1.4-.1 2v80c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V352c0-8.8-7.2-16-16-16s-16 7.2-16 16V464c0 26.5 21.5 48 48 48h32c26.5 0 48-21.5 48-48V406.7c14.8 6 31 9.3 48 9.3s33.2-3.3 48-9.3V464c0 26.5 21.5 48 48 48h32c26.5 0 48-21.5 48-48V349.6c7.2 7.2 14.7 13.2 22.8 18.1c3 1.9 6.1 3.5 9.2 5v10.4c0 53.5 43.4 96.9 96.9 96.9c44.4 0 83.2-30.2 94-73.4l.7-2.7c2.1-8.6-3.1-17.3-11.6-19.4s-17.3 3.1-19.4 11.6l-.7 2.7c-7.2 28.9-33.2 49.1-62.9 49.1C509 448 480 419 480 383.1v-.8c7.7 1.1 15.6 1.7 24 1.7c36.6 0 73.4-10.3 99.4-36.8c6.2-6.3 6.1-16.4-.2-22.6s-16.4-6.1-22.6 .2c-18 18.4-45.3 27.2-76.6 27.2c-20.5 0-35.4-3.6-48.6-11.7c-13.5-8.2-26.6-22-42-45zM480 208a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faEarthAfrica = {\n prefix: 'fal',\n iconName: 'earth-africa',\n icon: [512, 512, [127757, \"globe-africa\"], \"f57c\", \"M480 256c0-16.8-1.8-33.1-5.3-48.8l-47.2-11.8c-4.1-1-8.4 .2-11.3 3.1c-2 2-3.6 4.2-4.9 6.7l-.3 .6c-7.9 15.8-22.1 27.3-38.6 31.9l15.1 15.1c8 8 12.5 18.9 12.5 30.2c0 19.5-13.2 36.5-32 41.4v6.2c0 17.3-5.6 34.2-16 48l-25.6 34.1C317.3 424.9 303.1 432 288 432c-26.5 0-48-21.5-48-48V336H208c-35.3 0-64-28.7-64-64V244c0-17.6 8.3-34.2 22.4-44.8l39.4-29.5c8.4-6.3 18.5-9.7 29-9.7c5.2 0 10.3 .8 15.3 2.5l32 10.7c4.3 1.4 9 1.6 13.4 .5l34.3-8.6c3.7-.9 6.3-4.3 6.3-8.1c0-2.8-1.4-5.4-3.7-6.9L306 132.6c-7.6 7.3-17.7 11.4-28.2 11.4c-6.3 0-12.5-1.5-18.2-4.3l-13.2-6.6c-23.9 36.9-83 14.6-74.9-30.2L175 84.3c.4-2 .2-4.1-.4-6.1l-9-27.1C86.9 85.8 32 164.5 32 256c0 123.7 100.3 224 224 224s224-100.3 224-224zm-16.5-84.6C430.1 89.6 349.8 32 256 32c-20.9 0-41.2 2.9-60.4 8.2l9.3 27.8c2.4 7.1 2.9 14.6 1.6 22l-3.4 18.7c-1.9 10.2 12 15.2 17.1 6.1c7.4-13.4 24.1-18.5 37.8-11.7l16 8c1.2 .6 2.5 .9 3.8 .9c2.3 0 4.5-.9 6.1-2.5l3.5-3.5c8.5-8.5 21.7-9.8 31.7-3.1L350 123.5c11.2 7.5 18 20.1 18 33.5c0 18.5-12.6 34.6-30.5 39.1l-34.3 8.6c-10.3 2.6-21.2 2.2-31.3-1.2l-32-10.7c-1.7-.6-3.4-.8-5.1-.8c-3.5 0-7 1.1-9.8 3.3l-39.4 29.5c-6 4.5-9.6 11.6-9.6 19.2v28c0 17.7 14.3 32 32 32h32c17.7 0 32 14.3 32 32v48c0 8.8 7.2 16 16 16c5 0 9.8-2.4 12.8-6.4l25.6-34.1c6.2-8.3 9.6-18.4 9.6-28.8V318.6c0-11.2 7.6-21 18.5-23.7l5.3-1.3c4.8-1.2 8.2-5.5 8.2-10.5c0-2.9-1.1-5.6-3.2-7.6l-40.2-40.2c-4.6-4.6-5.9-11.5-3.5-17.4s8.3-9.9 14.8-9.9h19.7c11.3 0 21.6-6.4 26.7-16.5l.3-.6c2.8-5.6 6.4-10.7 10.9-15.1c10.9-10.9 26.8-15.3 41.7-11.6l28.2 7.1zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z\"]\n};\nvar faGlobeAfrica = faEarthAfrica;\nvar faRainbow = {\n prefix: 'fal',\n iconName: 'rainbow',\n icon: [640, 512, [127752], \"f75b\", \"M320 64C160.9 64 32 192.9 32 352V464c0 8.8-7.2 16-16 16s-16-7.2-16-16V352C0 175.3 143.3 32 320 32s320 143.3 320 320V464c0 8.8-7.2 16-16 16s-16-7.2-16-16V352C608 192.9 479.1 64 320 64zm0 192c-53 0-96 43-96 96V464c0 8.8-7.2 16-16 16s-16-7.2-16-16V352c0-70.7 57.3-128 128-128s128 57.3 128 128V464c0 8.8-7.2 16-16 16s-16-7.2-16-16V352c0-53-43-96-96-96zM128 352V464c0 8.8-7.2 16-16 16s-16-7.2-16-16V352c0-123.7 100.3-224 224-224s224 100.3 224 224V464c0 8.8-7.2 16-16 16s-16-7.2-16-16V352c0-106-86-192-192-192s-192 86-192 192z\"]\n};\nvar faCircleNotch = {\n prefix: 'fal',\n iconName: 'circle-notch',\n icon: [512, 512, [], \"f1ce\", \"M207.4 20.4c2.4 8.5-2.6 17.3-11.2 19.7C101.5 66.2 32 153 32 256c0 123.7 100.3 224 224 224s224-100.3 224-224c0-103-69.5-189.8-164.3-215.9c-8.5-2.4-13.5-11.2-11.2-19.7s11.2-13.5 19.7-11.2C432.5 39.1 512 138.2 512 256c0 141.4-114.6 256-256 256S0 397.4 0 256C0 138.2 79.5 39.1 187.7 9.2c8.5-2.4 17.3 2.6 19.7 11.2z\"]\n};\nvar faTabletScreenButton = {\n prefix: 'fal',\n iconName: 'tablet-screen-button',\n icon: [448, 512, [\"tablet-alt\"], \"f3fa\", \"M384 32c17.7 0 32 14.3 32 32V320H32V64c0-17.7 14.3-32 32-32H384zm32 320v96c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V352H416zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM248 416a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faTabletAlt = faTabletScreenButton;\nvar faPaw = {\n prefix: 'fal',\n iconName: 'paw',\n icon: [512, 512, [], \"f1b0\", \"M197.4 143.2c-3.5 10.3-9 14.6-13.4 16.1c-4.5 1.5-11.7 1.2-20.8-5.1s-18.2-17.6-23.3-33.1s-4.7-29.9-1.2-40.2c3.5-10.3 9-14.6 13.4-16.1c4.5-1.5 11.7-1.2 20.8 5.1s18.2 17.6 23.3 33.1s4.7 29.9 1.2 40.2zm-3.5 46.5c32.3-10.6 46.9-53.9 32.6-96.8S174.4 23.8 142.1 34.3s-46.9 53.9-32.6 96.8s52.1 69.1 84.4 58.5zm-114.1 54c-.9 7.6-3.9 10.4-5.5 11.3c-1.6 .9-5.7 2.2-13-.9s-15.7-9.9-22-20.7s-8-21.4-7-29c.9-7.6 3.9-10.4 5.5-11.3c1.6-.9 5.7-2.2 13 .9s15.7 9.9 22 20.7s8 21.4 7 29zm10.4 39c24.5-14 29.1-51.7 10.2-84.1s-54-47.3-78.5-33.3s-29.1 51.7-10.2 84.1s54 47.3 78.5 33.3zM256 256c25.7 0 108.2 25.4 156.8 156.3c2.1 5.7 3.2 12.2 3.2 19.4v4.4c0 6.6-5.3 11.9-11.9 11.9c-10.1 0-20.1-1.5-29.7-4.5l-80.2-25.1c-24.9-7.8-51.5-7.8-76.4 0l-80.2 25.1c-9.6 3-19.7 4.5-29.7 4.5c-6.6 0-11.9-5.3-11.9-11.9v-4.4c0-7.1 1.1-13.7 3.2-19.4C147.8 281.4 230.3 256 256 256zm0-32c-41.3 0-134.4 35.9-186.8 177.2c-3.6 9.7-5.2 20.1-5.2 30.5v4.4c0 24.2 19.7 43.9 43.9 43.9c13.3 0 26.6-2 39.3-6l80.2-25.1c18.6-5.8 38.6-5.8 57.3 0L364.8 474c12.7 4 26 6 39.3 6c24.2 0 43.9-19.7 43.9-43.9v-4.4c0-10.4-1.6-20.8-5.2-30.5C390.4 259.9 297.3 224 256 224zm183.3-9.3c6.3-10.8 14.7-17.6 22-20.7s11.4-1.8 13-.9c1.6 .9 4.6 3.7 5.5 11.3c.9 7.7-.8 18.2-7 29s-14.7 17.6-22 20.7s-11.4 1.8-13 .9c-1.6-.9-4.6-3.7-5.5-11.3c-.9-7.7 .8-18.2 7-29zm-27.7-16.1c-18.9 32.4-14.3 70.1 10.2 84.1s59.7-.9 78.5-33.3s14.3-70.1-10.2-84.1s-59.7 .9-78.5 33.3zM307.9 103c5.2-15.5 14.2-26.8 23.3-33.1s16.3-6.6 20.8-5.1c4.4 1.5 9.9 5.8 13.4 16.1c3.5 10.3 4 24.7-1.2 40.2s-14.2 26.8-23.3 33.1s-16.3 6.6-20.8 5.1c-4.4-1.5-9.9-5.8-13.4-16.1c-3.5-10.3-4-24.7 1.2-40.2zM277.5 92.9c-14.3 42.9 .3 86.2 32.6 96.8s70.1-15.6 84.4-58.5s-.3-86.2-32.6-96.8S291.8 50 277.5 92.9z\"]\n};\nvar faMessageQuestion = {\n prefix: 'fal',\n iconName: 'message-question',\n icon: [512, 512, [], \"e1e3\", \"M192 416c0-17.7-14.3-32-32-32H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H448c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H309.3c-6.9 0-13.7 2.2-19.2 6.4L192 464V416zM64 0C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h64 32v32 48c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L309.3 416H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM168.7 121.8l-.2 .7c-2.2 8.5 2.9 17.3 11.4 19.5s17.3-2.9 19.5-11.4l.2-.7c2.8-10.6 12.3-17.9 23.2-17.9H280c17.6 0 32 14.5 32 32.3c0 12.1-6.8 23.2-17.5 28.7l-45.8 23.4c-5.4 2.7-8.7 8.2-8.7 14.3V240c0 8.8 7.2 16 16 16s16-7.2 16-16V220.3l37.1-18.9c21.5-11 34.9-33.2 34.9-57.2C344 109 315.5 80 280 80H222.9c-25.5 0-47.7 17.2-54.2 41.8zM280 304a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faCloud = {\n prefix: 'fal',\n iconName: 'cloud',\n icon: [640, 512, [9729], \"f0c2\", \"M429.7 135.7c10.3-4.9 21.9-7.7 34.3-7.7c44.2 0 80 35.8 80 80c0 7.7-1.1 15-3 22c-4.1 14.5 2.5 30 15.8 37.1C587.3 283.2 608 315.2 608 352c0 53-43 96-96 96H144C82.1 448 32 397.9 32 336c0-48.8 31.2-90.3 74.8-105.7c12.3-4.3 20.8-15.7 21.3-28.8C131.5 125 194.6 64 272 64c48.7 0 91.7 24.1 117.8 61.2c9 12.7 25.8 17.2 39.9 10.5zM416 106.8C384.1 61.5 331.5 32 272 32c-94.6 0-171.7 74.6-175.8 168.1C40.2 219.9 0 273.2 0 336c0 79.5 64.5 144 144 144H512c70.7 0 128-57.3 128-128c0-49.1-27.7-91.8-68.3-113.2c2.8-9.8 4.3-20.1 4.3-30.8c0-61.9-50.1-112-112-112c-17.2 0-33.5 3.9-48 10.8z\"]\n};\nvar faTrowelBricks = {\n prefix: 'fal',\n iconName: 'trowel-bricks',\n icon: [512, 512, [], \"e58a\", \"M32 128L224 32V224L32 128zM256 32c0-11.1-5.7-21.4-15.2-27.2s-21.2-6.4-31.1-1.4l-192 96C6.8 104.8 0 115.9 0 128s6.8 23.2 17.7 28.6l192 96c9.9 5 21.7 4.4 31.1-1.4s15.2-16.1 15.2-27.2V144l88 0c0 17.7 14.3 32 32 32h88c26.5 0 48-21.5 48-48s-21.5-48-48-48H376c-17.7 0-32 14.3-32 32l-88 0V32zm208 80c8.8 0 16 7.2 16 16s-7.2 16-16 16H376V112h88zM288 384h16 16H480v8 88H256V384h32zm-64 0v96H32V384H224zm256-32H320V256H480v96zM288 256v64 32H256 32c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32H480c17.7 0 32-14.3 32-32V392v-8V256c0-17.7-14.3-32-32-32H320c-17.7 0-32 14.3-32 32z\"]\n};\nvar faSquare3 = {\n prefix: 'fal',\n iconName: 'square-3',\n icon: [448, 512, [], \"e258\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm144 32H288c6.7 0 12.7 4.2 15 10.4s.5 13.3-4.6 17.7l-78.9 67.6 19.9-.1c44.4-.2 80.6 35.7 80.6 80.2c0 44.3-35.9 80.2-80.2 80.2h-36c-27.6 0-53.5-13-70.1-35l-2.5-3.4c-5.3-7.1-3.9-17.1 3.2-22.4s17.1-3.9 22.4 3.2l2.5 3.4c10.5 14 27 22.2 44.5 22.2h36c26.6 0 48.2-21.6 48.2-48.2c0-26.7-21.7-48.3-48.4-48.2l-63.5 .3c-6.7 0-12.7-4.1-15.1-10.4s-.5-13.4 4.6-17.7L244.7 160H144c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faFaceFlushed = {\n prefix: 'fal',\n iconName: 'face-flushed',\n icon: [512, 512, [128563, \"flushed\"], \"f579\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm160.4-56a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm168 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM192 368H320c8.8 0 16 7.2 16 16s-7.2 16-16 16H192c-8.8 0-16-7.2-16-16s7.2-16 16-16zm-32-96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm0-128a80 80 0 1 1 0 160 80 80 0 1 1 0-160zm240 80a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm-128 0a80 80 0 1 1 160 0 80 80 0 1 1 -160 0z\"]\n};\nvar faFlushed = faFaceFlushed;\nvar faHospitalUser = {\n prefix: 'fal',\n iconName: 'hospital-user',\n icon: [576, 512, [], \"f80d\", \"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H256c3.2 0 6.4-.2 9.5-.7c-5.5-9.2-8.9-19.9-9.4-31.3l-.1 0H64c-17.7 0-32-14.3-32-32V416H144c8.8 0 16-7.2 16-16s-7.2-16-16-16H32V320H144c8.8 0 16-7.2 16-16s-7.2-16-16-16H32V64c0-17.7 14.3-32 32-32H256c17.7 0 32 14.3 32 32V336v57.4c9.2-10.2 20-18.9 32-25.6V336 271.8 64c0-35.3-28.7-64-64-64H64zm80 80c-13.3 0-24 10.7-24 24v16H104c-13.3 0-24 10.7-24 24v32c0 13.3 10.7 24 24 24h16v16c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24V200h16c13.3 0 24-10.7 24-24V144c0-13.3-10.7-24-24-24H200V104c0-13.3-10.7-24-24-24H144zm8 56V112h16v24c0 8.8 7.2 16 16 16h24v16H184c-8.8 0-16 7.2-16 16v24H152V184c0-8.8-7.2-16-16-16H112V152h24c8.8 0 16-7.2 16-16zM384 272a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm128 0a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zM320 477.1c0-33.7 27.4-61.1 61.1-61.1H482.9c33.7 0 61.1 27.4 61.1 61.1c0 1.6-1.3 2.9-2.9 2.9H322.9c-1.6 0-2.9-1.3-2.9-2.9zM381.1 384c-51.4 0-93.1 41.7-93.1 93.1c0 19.3 15.6 34.9 34.9 34.9H541.1c19.3 0 34.9-15.6 34.9-34.9c0-51.4-41.7-93.1-93.1-93.1H432 381.1z\"]\n};\nvar faMicrowave = {\n prefix: 'fal',\n iconName: 'microwave',\n icon: [576, 512, [], \"e01b\", \"M512 64c17.7 0 32 14.3 32 32V384c0 17.7-14.3 32-32 32H496 80 64c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32H512zM480 448v16c0 8.8 7.2 16 16 16s16-7.2 16-16V448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V384c0 35.3 28.7 64 64 64l0 16c0 8.8 7.2 16 16 16s16-7.2 16-16V448H480zM464 128V352c0 8.8 7.2 16 16 16s16-7.2 16-16V128c0-8.8-7.2-16-16-16s-16 7.2-16 16zM128 320V160H384V320H128zM96 152V328c0 13.3 10.7 24 24 24H392c13.3 0 24-10.7 24-24V152c0-13.3-10.7-24-24-24H120c-13.3 0-24 10.7-24 24z\"]\n};\nvar faChfSign = {\n prefix: 'fal',\n iconName: 'chf-sign',\n icon: [640, 512, [], \"e602\", \"M0 112C0 67.8 35.8 32 80 32h4.2c28 0 53.6 15.8 66.1 40.8c4 7.9 .7 17.5-7.2 21.5s-17.5 .7-21.5-7.2C114.6 73 100.1 64 84.2 64H80c-26.5 0-48 21.5-48 48V400c0 26.5 21.5 48 48 48h4.2c15.9 0 30.4-9 37.5-23.2c4-7.9 13.6-11.1 21.5-7.2s11.1 13.6 7.2 21.5c-12.5 25-38.1 40.8-66.1 40.8H80c-44.2 0-80-35.8-80-80V112zM208 32c8.8 0 16 7.2 16 16V224H384V48c0-8.8 7.2-16 16-16s16 7.2 16 16V464c0 8.8-7.2 16-16 16s-16-7.2-16-16V256H224V464c0 8.8-7.2 16-16 16s-16-7.2-16-16V48c0-8.8 7.2-16 16-16zM448 48c0-8.8 7.2-16 16-16H624c8.8 0 16 7.2 16 16s-7.2 16-16 16H480V224H592c8.8 0 16 7.2 16 16s-7.2 16-16 16H480V464c0 8.8-7.2 16-16 16s-16-7.2-16-16V48z\"]\n};\nvar faTentArrowLeftRight = {\n prefix: 'fal',\n iconName: 'tent-arrow-left-right',\n icon: [576, 512, [], \"e57f\", \"M482.8 4.2c-6.5-5.9-16.7-5.5-22.6 1.1s-5.5 16.7 1.1 22.6L518.6 80 57.4 80l57.4-52.2c6.5-5.9 7-16.1 1.1-22.6s-16.1-7-22.6-1.1l-88 80C1.9 87.2 0 91.5 0 96s1.9 8.8 5.2 11.8l88 80c6.5 5.9 16.7 5.5 22.6-1.1s5.5-16.7-1.1-22.6L57.4 112l461.2 0-57.4 52.2c-6.5 5.9-7 16.1-1.1 22.6s16.1 7 22.6 1.1l88-80c3.3-3 5.2-7.3 5.2-11.8s-1.9-8.8-5.2-11.8l-88-80zm-185.3 159c-5.7-4.2-13.4-4.2-19 0L105.4 291c-10.5 7.8-17.4 19.5-19.1 32.4L68.8 457.8C65.1 486.5 87.5 512 116.4 512H459.6c29 0 51.3-25.5 47.6-54.2L489.6 323.4c-1.7-12.9-8.6-24.6-19.1-32.4l-173-127.9zM272 207.7v112c0 .2 0 .4 0 .5V480H116.4c-9.7 0-17.1-8.5-15.9-18.1l17.5-134.4c.6-4.3 2.9-8.2 6.4-10.8L272 207.7zm32 168.5L368.2 480H304V376.2zm0-60.8V207.7L451.5 316.8c3.5 2.6 5.8 6.5 6.4 10.8l17.5 134.4c1.2 9.6-6.2 18.1-15.9 18.1H405.9l-.3-.4L304 315.4z\"]\n};\nvar faCartCircleArrowUp = {\n prefix: 'fal',\n iconName: 'cart-circle-arrow-up',\n icon: [640, 512, [], \"e3f0\", \"M16 0C7.2 0 0 7.2 0 16s7.2 16 16 16H53.9c7.6 0 14.2 5.3 15.7 12.8l58.9 288c6.1 29.8 32.3 51.2 62.7 51.2H320.7c-.5-5.3-.7-10.6-.7-16s.2-10.7 .7-16H191.2c-15.2 0-28.3-10.7-31.4-25.6L152 288H339.2c5.9-11.4 12.9-22.2 21-32H145.4L106.1 64H539.5L507.4 192.4c10.9 .7 21.5 2.4 31.7 5L570.6 71.8c5-20.2-10.2-39.8-31-39.8H99.1C92.5 13 74.4 0 53.9 0H16zM168 456a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm80 0a56 56 0 1 0 -112 0 56 56 0 1 0 112 0zm136-88a112 112 0 1 1 224 0 112 112 0 1 1 -224 0zm256 0a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-211.3 3.3c6.2 6.2 16.4 6.2 22.6 0L480 342.6V432c0 8.8 7.2 16 16 16s16-7.2 16-16V342.6l28.7 28.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-56-56c-6.2-6.2-16.4-6.2-22.6 0l-56 56c-6.2 6.2-6.2 16.4 0 22.6z\"]\n};\nvar faTrashClock = {\n prefix: 'fal',\n iconName: 'trash-clock',\n icon: [576, 512, [], \"e2b0\", \"M177.7 32h92.5c5.5 0 10.6 2.8 13.6 7.5L299.1 64H148.9l15.3-24.5c2.9-4.7 8.1-7.5 13.6-7.5zM336.9 64L311 22.6C302.2 8.5 286.8 0 270.3 0H177.7C161.2 0 145.8 8.5 137 22.6L111.1 64H64.1 32 16C7.2 64 0 71.2 0 80s7.2 16 16 16H34.3L59.8 452.6C62.1 486.1 90 512 123.6 512H324.4c2 0 4-.1 6-.3c-12.7-9-24.2-19.7-34.2-31.7H123.6c-16.8 0-30.7-13-31.9-29.7L66.4 96H381.6l-7.6 105.8c10.5-3.6 21.4-6.3 32.6-8l7-97.8H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H416 383.9 336.9zM432 256a112 112 0 1 1 0 224 112 112 0 1 1 0-224zm0 256a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-224c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H448V304c0-8.8-7.2-16-16-16z\"]\n};\nvar faReflectBoth = {\n prefix: 'fal',\n iconName: 'reflect-both',\n icon: [512, 512, [], \"e66f\", \"M128 32l256 0L256 160 128 32zM384 0L128 0c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l128 128c12.5 12.5 32.8 12.5 45.3 0l128-128c9.2-9.2 11.9-22.9 6.9-34.9S396.9 0 384 0zM32 128L160 256 32 384l0-256zM19.8 98.4C7.8 103.4 0 115.1 0 128L0 384c0 12.9 7.8 24.6 19.8 29.6s25.7 2.2 34.9-6.9l128-128c12.5-12.5 12.5-32.8 0-45.3l-128-128c-9.2-9.2-22.9-11.9-34.9-6.9zM480 128l0 256L352 256 480 128zm12.2-29.6c-12-5-25.7-2.2-34.9 6.9l-128 128c-12.5 12.5-12.5 32.8 0 45.3l128 128c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6l0-256c0-12.9-7.8-24.6-19.8-29.6zM384 480l-256 0L256 352 384 480zm29.6 12.2c5-12 2.2-25.7-6.9-34.9l-128-128c-12.5-12.5-32.8-12.5-45.3 0l-128 128c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8l256 0c12.9 0 24.6-7.8 29.6-19.8z\"]\n};\nvar faGavel = {\n prefix: 'fal',\n iconName: 'gavel',\n icon: [512, 512, [\"legal\"], \"f0e3\", \"M315.3 4.7c6.2 6.2 6.2 16.4 0 22.6L302.6 40 472 209.4l12.7-12.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-24 24-96 96-24 24c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L353.4 328 184 158.6l-12.7 12.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l24-24 96-96 24-24c6.2-6.2 16.4-6.2 22.6 0zM206.6 136L376 305.4 449.4 232 280 62.6 206.6 136zM144 320L32 432l48 48L192 368l-48-48zm-22.6-22.6c12.5-12.5 32.8-12.5 45.3 0l12.7 12.7 49.8-49.8 22.6 22.6-49.8 49.8 12.7 12.7c12.5 12.5 12.5 32.8 0 45.3l-112 112c-12.5 12.5-32.8 12.5-45.3 0l-48-48c-12.5-12.5-12.5-32.8 0-45.3l112-112z\"]\n};\nvar faLegal = faGavel;\nvar faSprinklerCeiling = {\n prefix: 'fal',\n iconName: 'sprinkler-ceiling',\n icon: [384, 512, [], \"e44c\", \"M0 0H32V83.8L128 110v33.2L11.8 111.4C4.8 109.5 0 103.2 0 96V0zM256 110l96-26.2V0h32V96c0 7.2-4.8 13.5-11.8 15.4L256 143.1V110zM192 32c8.8 0 16 7.2 16 16V224h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H192 80c-8.8 0-16-7.2-16-16s7.2-16 16-16h96V48c0-8.8 7.2-16 16-16zM144 320a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM80 384a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm144-48a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm-32 48a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm-64 80a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm112-16a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm112 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm-48-80a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM0 464a16 16 0 1 1 32 0A16 16 0 1 1 0 464z\"]\n};\nvar faBrowsers = {\n prefix: 'fal',\n iconName: 'browsers',\n icon: [576, 512, [], \"e0cb\", \"M512 32c17.7 0 32 14.3 32 32V96H256V32H512zM160 32h64V96H128V64c0-17.7 14.3-32 32-32zM128 352V128H240 544V352c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32zM160 0C124.7 0 96 28.7 96 64V352c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H160zM32 112c0-8.8-7.2-16-16-16s-16 7.2-16 16V384c0 70.7 57.3 128 128 128H464c8.8 0 16-7.2 16-16s-7.2-16-16-16H128c-53 0-96-43-96-96V112z\"]\n};\nvar faTrillium = {\n prefix: 'fal',\n iconName: 'trillium',\n icon: [448, 512, [], \"e588\", \"M203.3 8.2c11.8-11 29.8-11 41.5 0c12.1 11.3 33.1 32.5 51.2 58.8c17.9 26 34.2 58.9 34.2 93.4c0 9.3-1.2 18.4-3.5 27c10.5 2.3 20.8 6.1 30.5 11.7l0 0c29.9 17.2 50.4 47.6 64.2 75.9c13.9 28.7 21.9 57.3 25.7 73.5c3.8 15.8-5.4 31.5-20.9 36.1c-16 4.8-44.9 12.2-76.8 14.6c-31.5 2.3-68.3-.1-98.2-17.2c-10.5-6-19.6-13.6-27.1-22.2c-7.5 8.7-16.6 16.2-27.1 22.2c-29.9 17.2-66.7 19.6-98.2 17.2c-31.9-2.4-60.9-9.8-76.8-14.6C6.3 380-2.9 364.4 .8 348.5c3.8-16.2 11.8-44.8 25.7-73.5c13.7-28.3 34.2-58.8 64.2-75.9l0 0c9.8-5.6 20.1-9.5 30.6-11.7c-2.3-8.6-3.5-17.7-3.5-27c0-34.4 16.4-67.4 34.2-93.4c18.1-26.3 39.1-47.5 51.2-58.8zM224 32.6c-11.4 10.7-29.8 29.6-45.6 52.5c-16.5 24-28.6 50.4-28.6 75.2c0 12 2.9 23.3 8.1 33.3c2.6 5 2.4 10.9-.6 15.7s-8.1 7.7-13.7 7.7c-12.6 0-25.4 3.2-37 9.9C84.9 239.4 68 263 55.3 289c-12.1 24.9-19.3 50.2-23 65.4c15.1 4.4 40.8 10.9 68.7 12.9c29.1 2.2 58.2-.6 79.9-13.1c12.8-7.3 22.6-17.9 28.8-30.1c2.7-5.3 8.2-8.7 14.2-8.7s11.5 3.3 14.2 8.7c6.3 12.2 16 22.8 28.8 30.1c21.7 12.5 50.8 15.2 79.9 13.1c27.8-2.1 53.6-8.5 68.7-12.9c-3.7-15.2-10.9-40.5-23-65.4c-12.6-26.1-29.6-49.7-51.3-62.1c-11.6-6.7-24.4-9.8-36.9-9.9c-5.6 0-10.8-2.9-13.7-7.7s-3.1-10.7-.6-15.7c5.2-10 8.1-21.3 8.1-33.3c0-24.9-12.1-51.3-28.6-75.2C253.9 62.3 235.4 43.4 224 32.6zM224 216a24 24 0 1 0 0 48 24 24 0 1 0 0-48zm56 24a56 56 0 1 1 -112 0 56 56 0 1 1 112 0zm-6.2 183.2c-8.2 35.9-22.6 61.3-30.9 73.9c-9.1 13.7-28.8 13.7-37.9 0c-8.3-12.5-22.7-38-30.9-73.9c10.3-3.1 20.4-7.2 30-12.5c4.8 24 12.9 42.9 19.8 55.8c6.9-12.9 15-31.7 19.8-55.7c9.7 5.3 19.8 9.4 30 12.5zM9.9 105.4c14.7-1.9 44.2-2.8 82.7 10c-2.6 10.4-4.2 21.2-4.5 32.3c-25.6-9.3-46.4-11.4-60.4-11.3c6.4 11.1 17.2 26.4 35 42.3c-9.1 6.1-17.4 13.1-24.9 20.6C10.4 173.6-2.5 149.3-8 136.3c-5.8-13.8 3-29.1 17.9-31zm375.4 73.3c17.8-16 28.7-31.2 35.1-42.4c-14 0-34.9 2.1-60.4 11.3c-.3-11.1-2-21.9-4.5-32.3c38.5-12.8 68-11.8 82.7-10c14.9 1.9 23.7 17.1 17.9 30.9c-5.5 13-18.4 37.4-45.9 63c-7.5-7.6-15.7-14.6-24.9-20.6z\"]\n};\nvar faMusicSlash = {\n prefix: 'fal',\n iconName: 'music-slash',\n icon: [640, 512, [], \"f8d1\", \"M575.5 376.2c.3-2.7 .5-5.4 .5-8.2V136.4c0-.1 0-.3 0-.4c0-.1 0-.2 0-.3V23c0-12.7-10.3-23-23-23c-2.3 0-4.6 .3-6.8 1l-311 95.7c-3 .9-5.6 2.7-7.5 5L256 123.9v-.1L544 35.2v89L337 187.9 367.5 212 544 157.7V308.4c-17-12.7-39.4-20.4-64-20.4c-5.1 0-10.1 .3-15 1l48 37.9c9.6 4.5 17.2 10.7 22.4 17.7l40.1 31.7zM256 287l-32-25.3V372.4c-17-12.7-39.4-20.4-64-20.4c-53 0-96 35.8-96 80s43 80 96 80s96-35.8 96-80V287zm-96 97c41.1 0 64 26.7 64 48s-22.9 48-64 48s-64-26.7-64-48s22.9-48 64-48zM25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4z\"]\n};\nvar faTruckRamp = {\n prefix: 'fal',\n iconName: 'truck-ramp',\n icon: [640, 512, [], \"f4e0\", \"M432 0c-44.2 0-80 35.8-80 80V384c0 1.3 .2 2.5 .4 3.7L11.8 480.6C3.3 482.9-1.8 491.7 .6 500.2s11.1 13.6 19.6 11.2L416.1 403.6C417.9 463.8 467.3 512 528 512c61.9 0 112-50.1 112-112s-50.1-112-112-112c-51.2 0-94.4 34.4-107.7 81.3l-.5 .1L384 379.1V80c0-26.5 21.5-48 48-48H624c8.8 0 16-7.2 16-16s-7.2-16-16-16H432zm96 320a80 80 0 1 1 0 160 80 80 0 1 1 0-160z\"]\n};\nvar faBinoculars = {\n prefix: 'fal',\n iconName: 'binoculars',\n icon: [512, 512, [], \"f1e5\", \"M112 32c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H112zm224 0c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H336zM192 432c0 8.8-7.2 16-16 16H48c-8.8 0-16-7.2-16-16V356.9c0-28.8 7.8-57.1 22.7-81.9c16-26.6 26.2-56.3 30.1-87.1L90.5 142c1-8 7.8-14 15.9-14H192v16V272 432zm32 0V288h64V432c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V356.9c0-34.6-9.4-68.6-27.2-98.3c-13.7-22.8-22.5-48.2-25.8-74.6L453.3 138c-3-24-23.4-42-47.6-42H312c-13.3 0-24 10.7-24 24v8H224v-8c0-13.3-10.7-24-24-24H106.4c-24.2 0-44.6 18-47.6 42L53 184c-3.3 26.4-12.1 51.8-25.8 74.6C9.4 288.3 0 322.3 0 356.9V432c0 26.5 21.5 48 48 48H176c26.5 0 48-21.5 48-48zm0-176V160h64v96H224zm96 16V144 128h85.6c8.1 0 14.9 6 15.9 14l5.7 45.9c3.9 30.8 14.1 60.5 30.1 87.1c14.8 24.7 22.7 53 22.7 81.9V432c0 8.8-7.2 16-16 16H336c-8.8 0-16-7.2-16-16V272z\"]\n};\nvar faMicrophoneSlash = {\n prefix: 'fal',\n iconName: 'microphone-slash',\n icon: [640, 512, [], \"f131\", \"M474.8 296.7c3.4-13 5.2-26.6 5.2-40.7V208c0-8.8-7.2-16-16-16s-16 7.2-16 16v48c0 6.3-.5 12.4-1.3 18.5l28.1 22.2zM416 250.2V96c0-53-43-96-96-96s-96 43-96 96v2.7l32 25.3V96c0-35.3 28.7-64 64-64s64 28.7 64 64V225l32 25.3zM192 236.5l-32-25.3V256c0 83 63.1 151.2 144 159.2V480H240c-8.8 0-16 7.2-16 16s7.2 16 16 16h80 80c8.8 0 16-7.2 16-16s-7.2-16-16-16H336V415.2c21.3-2.1 41.4-8.4 59.5-18.1l-28.1-22.2c-14.7 5.8-30.6 9.1-47.4 9.1c-70.7 0-128-57.3-128-128V236.5zM25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4z\"]\n};\nvar faBoxTissue = {\n prefix: 'fal',\n iconName: 'box-tissue',\n icon: [512, 512, [], \"e05b\", \"M208 32c12.6 0 17.5 3.4 20.5 6.2c4.7 4.4 8.4 11.1 14.9 24.1l.7 1.5c5.5 11 13.7 27.5 27.4 40.4c16 15.2 37.1 23.8 64.5 23.8h77.5L343.1 304H165L97 32H208zM120 256l12 48H112c-8.8 0-16 7.2-16 16s7.2 16 16 16H400c8.8 0 16-7.2 16-16s-7.2-16-16-16H377.6l19.2-48 12.8-32 36.5-91.2c1.3-3.2 1.9-6.6 1.9-10C448 108 436 96 421.2 96H336c-40 0-52-24-64-48S248 0 208 0H92.5C76.8 0 64 12.8 64 28.5c0 2.3 .3 4.7 .9 6.9L112 224l8 32zm-33 0l-8-32H48c-26.5 0-48 21.5-48 48V464c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48H444.1l-12.8 32H464c8.8 0 16 7.2 16 16V384H32V272c0-8.8 7.2-16 16-16H87zM32 416H480v48c0 8.8-7.2 16-16 16H48c-8.8 0-16-7.2-16-16V416z\"]\n};\nvar faCircleC = {\n prefix: 'fal',\n iconName: 'circle-c',\n icon: [512, 512, [], \"e101\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM188.1 323.9c-37.5-37.5-37.5-98.3 0-135.8s98.3-37.5 135.8 0c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6c-50-50-131-50-181 0s-50 131 0 181s131 50 181 0c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0c-37.5 37.5-98.3 37.5-135.8 0z\"]\n};\nvar faStarChristmas = {\n prefix: 'fal',\n iconName: 'star-christmas',\n icon: [512, 512, [], \"f7d4\", \"M216.8 205.4L256 55.1l39.2 150.4c1.4 5.5 5.8 9.9 11.3 11.3L456.9 256 306.6 295.2c-5.5 1.4-9.9 5.8-11.3 11.3L256 456.9 216.8 306.6c-1.4-5.5-5.8-9.9-11.3-11.3L55.1 256l150.4-39.2c5.5-1.4 9.9-5.8 11.3-11.3zM256 .2c-10.8 0-20.3 7.3-23.1 17.8l0 0L188.5 188.5 18 232.9l0 0C7.5 235.7 .2 245.2 .2 256s7.3 20.3 17.8 23.1l0 0 170.5 44.5L232.9 494c2.7 10.5 12.2 17.8 23.1 17.8s20.3-7.3 23.1-17.8l44.5-170.5L494 279.1c10.5-2.7 17.8-12.2 17.8-23.1s-7.3-20.3-17.8-23.1L323.5 188.5 279.1 18l0 0C276.3 7.5 266.8 .2 256 .2zM68.7 68.7c-6.2 6.2-6.2 16.4 0 22.6l64 64c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-64-64c-6.2-6.2-16.4-6.2-22.6 0zm374.6 0c-6.2-6.2-16.4-6.2-22.6 0l-64 64c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l64-64c6.2-6.2 6.2-16.4 0-22.6zm-288 310.6c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-64 64c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l64-64zm201.4-22.6c-6.2 6.2-6.2 16.4 0 22.6l64 64c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-64-64c-6.2-6.2-16.4-6.2-22.6 0z\"]\n};\nvar faChartBullet = {\n prefix: 'fal',\n iconName: 'chart-bullet',\n icon: [512, 512, [], \"e0e1\", \"M272 32c8.8 0 16 7.2 16 16V64H464c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H288v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V224H48c-26.5 0-48-21.5-48-48V112C0 85.5 21.5 64 48 64H256V48c0-8.8 7.2-16 16-16zM160 96v96h96V96H160zm128 0v96H464c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H288zM128 96H48c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h80V96zM368 256c8.8 0 16 7.2 16 16v16h80c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H384v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V448H48c-26.5 0-48-21.5-48-48V336c0-26.5 21.5-48 48-48H352V272c0-8.8 7.2-16 16-16zM224 416H352V320H224v96zm160-96v96h80c8.8 0 16-7.2 16-16V336c0-8.8-7.2-16-16-16H384zm-192 0H48c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16H192V320z\"]\n};\nvar faMotorcycle = {\n prefix: 'fal',\n iconName: 'motorcycle',\n icon: [640, 512, [127949], \"f21c\", \"M411.8 96H480V64H453.4L411.8 96zM488 128H412.2L467 232.1c14-5.3 29.2-8.1 45-8.1c70.7 0 128 57.3 128 128s-57.3 128-128 128s-128-57.3-128-128c0-43.4 21.6-81.8 54.7-104.9l-15-28.5C380.5 247.2 352 296.3 352 352v16c0 8.8-7.2 16-16 16H304c-8.8 0-16-7.2-16-16v-8c0-92.8-75.2-168-168-168H48c-8.8 0-16-7.2-16-16s7.2-16 16-16h72c41.4 0 79.9 12.6 111.8 34.1l127.4-98L342.3 64H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h70.3c11.9 0 22.8 6.6 28.3 17.1L385 76.3 436.1 37c4.2-3.2 9.3-5 14.6-5H488c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24zM257.5 214.7c36.7 34.7 60.2 83.3 62.4 137.3h.2c0-68 35.4-127.8 88.7-161.9l-34.4-65.3L257.5 214.7zM497.8 359.5l-44.1-83.8c-23 17.5-37.8 45.2-37.8 76.3c0 53 43 96 96 96s96-43 96-96s-43-96-96-96c-10.5 0-20.5 1.7-29.9 4.8l44.1 83.8c4.1 7.8 1.1 17.5-6.7 21.6s-17.5 1.1-21.6-6.7zM128 256c-53 0-96 43-96 96s43 96 96 96c47.6 0 87.1-34.6 94.7-80h-67c-5.5 9.6-15.9 16-27.7 16c-17.7 0-32-14.3-32-32s14.3-32 32-32c11.8 0 22.2 6.4 27.7 16h67c-7.6-45.4-47.1-80-94.7-80zM0 352a128 128 0 1 1 256 0A128 128 0 1 1 0 352z\"]\n};\nvar faTreeChristmas = {\n prefix: 'fal',\n iconName: 'tree-christmas',\n icon: [448, 512, [127876], \"f7db\", \"M212.3 75c-1.6 4.3-5 7.7-9.4 9.4L171.8 96 203 107.7c4.3 1.6 7.7 5 9.4 9.4L224 148.2 235.7 117c1.6-4.3 5-7.7 9.4-9.4L276.2 96 245 84.3c-4.3-1.6-7.7-5-9.4-9.4L224 43.8 212.3 75zM224 0c10.7 0 20.2 6.6 24 16.6l15.1 40.3L303.4 72c10 3.7 16.6 13.3 16.6 24s-6.6 20.2-16.6 24l-40.3 15.1L248 175.4c-3.7 10-13.3 16.6-24 16.6s-20.2-6.6-24-16.6l-15.1-40.3L144.6 120c-10-3.7-16.6-13.3-16.6-24s6.6-20.2 16.6-24l40.3-15.1L200 16.6C203.8 6.6 213.3 0 224 0zM27.9 307.9l107-157.4 25.1 9.4 2.5 6.8L58.4 320h49.8c5.8 0 11.2 3.2 14 8.3s2.6 11.4-.6 16.3L35 480H413L326.4 344.6c-3.2-4.9-3.4-11.2-.6-16.3s8.2-8.3 14-8.3h48.8L285.3 167.1l2.7-7.2 24.8-9.3L419.4 308.3c2.8 4.2 4.5 9 4.8 14c1 16.1-11.8 29.7-28 29.7H369.1l74.4 116.3c2.9 4.6 4.5 9.9 4.5 15.3c0 15.7-12.7 28.4-28.4 28.4H28.4C12.7 512 0 499.3 0 483.6c0-5.4 1.6-10.7 4.5-15.3L78.9 352H51.3C35.7 352 23 339.4 23 323.8c0-5.7 1.7-11.2 4.9-15.9zM160 288a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM288 392a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faTireFlat = {\n prefix: 'fal',\n iconName: 'tire-flat',\n icon: [512, 512, [], \"f632\", \"M32 460.2c0 10.9 8.9 19.8 19.8 19.8H132 380h80.2c10.9 0 19.8-8.9 19.8-19.8c0-3.1-.7-6.1-2.1-8.8L460.2 416c-5.6-11.1-5.5-23.9-.6-34.7c13-28.4 20.3-60 20.3-93.3C480 164.3 379.7 64 256 64S32 164.3 32 288c0 33.4 7.3 65 20.3 93.3c5 10.8 5 23.6-.6 34.7L34.1 451.4 5.8 437.3l28.3 14.1c-1.4 2.7-2.1 5.8-2.1 8.8zM512 288c0 38.1-8.3 74.2-23.2 106.7c-1 2.2-1 4.8 .1 7l17.7 35.3c3.6 7.2 5.5 15.1 5.5 23.2c0 28.6-23.2 51.8-51.8 51.8H380 132 51.8C23.2 512 0 488.8 0 460.2c0-8 1.9-16 5.5-23.2l17.7-35.3c1.1-2.2 1.1-4.8 .1-7C8.3 362.2 0 326.1 0 288C0 146.6 114.6 32 256 32s256 114.6 256 256zm-128 0c0-36.8-15.5-69.9-40.3-93.3l-38.2 52.6c9.1 11 14.5 25.2 14.5 40.6c0 1.4 0 2.7-.1 4l61.8 20.1c1.5-7.8 2.3-15.9 2.3-24.2zm-74.1 34.4c-8.6 13.5-22.1 23.5-38 27.6l0 65c44.3-5.5 81.5-33.6 99.8-72.4l-61.9-20.1zm-70 27.5c-15.8-4.1-29.3-14.1-37.9-27.5l-61.9 20.1c18.3 38.8 55.5 66.9 99.8 72.4l0-65zM128 288c0 8.3 .8 16.3 2.3 24.2L192.1 292c-.1-1.3-.1-2.7-.1-4c0-15.4 5.5-29.6 14.5-40.6l-10.1-13.9-28.1-38.7C143.5 218.1 128 251.2 128 288zm128-64c8.3 0 16.3 1.6 23.6 4.5l38.2-52.6C299.5 165.8 278.4 160 256 160s-43.5 5.8-61.8 15.9l28.1 38.8 10 13.8c7.3-2.9 15.3-4.5 23.6-4.5zM96 288a160 160 0 1 1 320 0A160 160 0 1 1 96 288zm192 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faSunglasses = {\n prefix: 'fal',\n iconName: 'sunglasses',\n icon: [576, 512, [128374], \"f892\", \"M86.3 87.6C89.9 73.7 102.4 64 116.8 64c4.9 0 9.7 1.1 14.1 3.3l22 11c7.9 4 17.5 .7 21.5-7.2s.7-17.5-7.2-21.5l-22-11c-8.8-4.4-18.5-6.7-28.4-6.7c-29 0-54.2 19.6-61.5 47.6L4.6 276.3C1.6 287.9 0 299.8 0 311.8l0 .2v.2V352v16c0 61.9 50.1 112 112 112h44.3c59.4 0 108.5-46.4 111.8-105.8l3.4-54.2h32.9l3.4 54.2C311.1 433.6 360.2 480 419.7 480H464c61.9 0 112-50.1 112-112V352.5l0-.5V312.2c0-12.1-1.5-24.2-4.6-36L520.7 79.6c-7.2-28-32.5-47.6-61.5-47.6c-9.9 0-19.6 2.3-28.4 6.7l-22 11c-7.9 4-11.1 13.6-7.2 21.5s13.6 11.1 21.5 7.2l22-11c4.4-2.2 9.2-3.3 14.1-3.3c14.4 0 26.9 9.7 30.5 23.6l48.2 186.8c-31-12-65-18.4-97.6-18.4c-40.1 0-82.2 9.6-118.5 27.3c-2.6 1.3-4.9 2.9-7 4.7H261.1c-2.1-1.8-4.4-3.4-7-4.7C217.9 265.6 175.8 256 135.7 256c-32.6 0-66.6 6.3-97.6 18.4L86.3 87.6zM32 312.2l0-.2c31.4-15.6 68.6-24 103.7-24c35.3 0 72.5 8.5 104.3 24c0 0 0 0 0 .1l0 0-3.8 60.2 0 0 0 .2c-2.4 42.4-37.4 75.6-79.9 75.6H112c-7.7 0-15.1-1.1-22.1-3.1l9.2-4.6 12-6 24-12 48-24c7.9-4 11.1-13.6 7.2-21.5s-13.6-11.1-21.5-7.2l-48 24-24 12-12 6-12 6-12 6c-1.4 .7-2.6 1.6-3.7 2.5c-8.1-7.7-14.6-17-19-27.5c.3-.1 .7-.3 1-.5l96-48c7.9-4 11.1-13.6 7.2-21.5s-13.6-11.1-21.5-7.2L32 366.1V352 312.2zM544 368c0 44.2-35.8 80-80 80H419.7c-8.5 0-16.7-1.3-24.3-3.8l91.8-45.9c7.9-4 11.1-13.6 7.2-21.5s-13.6-11.1-21.5-7.2l-96 48-12 6c-.6 .3-1.1 .6-1.7 1c-7.7-7.7-13.9-17-18-27.4l93.9-47c7.9-4 11.1-13.6 7.2-21.5s-13.6-11.1-21.5-7.2l-85.6 42.8L336 312l0 0c0 0 0 0 0-.1c31.8-15.5 69-24 104.3-24c35.1 0 72.2 8.4 103.7 24v56z\"]\n};\nvar faBadge = {\n prefix: 'fal',\n iconName: 'badge',\n icon: [512, 512, [], \"f335\", \"M256 32c-28.3 0-53 15.9-65.4 39.4c-3.6 6.8-11.5 10.1-18.8 7.8c-25.4-7.8-54.1-1.6-74.1 18.4s-26.2 48.7-18.4 74.1c2.3 7.3-1 15.2-7.8 18.8C47.9 203 32 227.7 32 256s15.9 53 39.4 65.4c6.8 3.6 10.1 11.5 7.8 18.8c-7.8 25.4-1.6 54.1 18.4 74.1s48.7 26.2 74.1 18.4c7.3-2.3 15.2 1 18.8 7.8C203 464.1 227.7 480 256 480s53-15.9 65.4-39.4c3.6-6.8 11.5-10.1 18.8-7.8c25.4 7.8 54.1 1.6 74.1-18.4s26.2-48.7 18.4-74.1c-2.3-7.3 1-15.2 7.8-18.8C464.1 309 480 284.3 480 256s-15.9-53-39.4-65.4c-6.8-3.6-10.1-11.5-7.8-18.8c7.8-25.4 1.6-54.1-18.4-74.1s-48.7-26.2-74.1-18.4c-7.3 2.3-15.2-1-18.8-7.8C309 47.9 284.3 32 256 32zM168.9 45.6C188 18.1 219.9 0 256 0s68 18.1 87.1 45.6c33-6 68.3 3.8 93.9 29.4s35.3 60.9 29.4 93.9C493.9 188 512 219.9 512 256s-18.1 68-45.6 87.1c6 33-3.8 68.3-29.4 93.9s-60.9 35.3-93.9 29.4C324 493.9 292.1 512 256 512s-68-18.1-87.1-45.6c-33 6-68.3-3.8-93.9-29.4s-35.3-60.9-29.4-93.9C18.1 324 0 292.1 0 256s18.1-68 45.6-87.1c-6-33 3.8-68.3 29.4-93.9s60.9-35.3 93.9-29.4z\"]\n};\nvar faMessagePen = {\n prefix: 'fal',\n iconName: 'message-pen',\n icon: [512, 512, [\"comment-alt-edit\", \"message-edit\"], \"f4a4\", \"M192 416c0-17.7-14.3-32-32-32H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H448c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H309.3c-6.9 0-13.7 2.2-19.2 6.4L192 464V416zM64 0C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h64 32v32 48c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L309.3 416H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM316.3 147.7c4.9 4.9 4.9 12.9 0 17.8l-8.1 8.1-17.8-17.8 8.1-8.1c4.9-4.9 12.9-4.9 17.8 0zM207.1 239.1l60.7-60.7 17.8 17.8L224.8 257c-2.1 2.1-4.6 3.5-7.4 4.2L198 266l4.9-19.5c.7-2.8 2.2-5.4 4.2-7.4zM275.8 125l-91.4 91.5c-6.1 6.2-10.5 13.9-12.6 22.3l-11.3 45.3c-1.4 5.5 .2 11.2 4.2 15.2s9.7 5.6 15.2 4.2l45.3-11.3c8.4-2.1 16.2-6.5 22.3-12.6l91.4-91.5c17.4-17.4 17.4-45.6 0-63c-17.4-17.4-45.7-17.4-63.1 0z\"]\n};\nvar faCommentAltEdit = faMessagePen;\nvar faMessageEdit = faMessagePen;\nvar faBellConcierge = {\n prefix: 'fal',\n iconName: 'bell-concierge',\n icon: [512, 512, [128718, \"concierge-bell\"], \"f562\", \"M208 64c-8.8 0-16 7.2-16 16s7.2 16 16 16h32v48.6C123.8 152.8 32 249.7 32 368v16H64V368c0-106 86-192 192-192s192 86 192 192v16h32V368c0-118.3-91.8-215.2-208-223.4V96h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H256 208zM16 416c-8.8 0-16 7.2-16 16s7.2 16 16 16H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H16z\"]\n};\nvar faConciergeBell = faBellConcierge;\nvar faPenRuler = {\n prefix: 'fal',\n iconName: 'pen-ruler',\n icon: [512, 512, [\"pencil-ruler\"], \"f5ae\", \"M429.8 39.6c-9.4-9.4-24.6-9.4-33.9 0L341 94.4 417.6 171l54.8-54.8c9.4-9.4 9.4-24.6 0-33.9L429.8 39.6zM83.1 352.4c-7.6 7.6-13.1 16.9-16.1 27.2L39.6 472.4l92.8-27.3c10.3-3 19.6-8.6 27.2-16.1L395 193.6 318.4 117 83.1 352.4zM373.2 17c21.9-21.9 57.3-21.9 79.2 0L495 59.6c21.9 21.9 21.9 57.3 0 79.2L182.3 451.6c-11.4 11.4-25.4 19.7-40.8 24.2l-121 35.6c-5.6 1.7-11.7 .1-15.8-4s-5.7-10.2-4-15.8l35.6-121c4.5-15.4 12.9-29.4 24.2-40.8L373.2 17zM82.7 27.3c25-25 65.5-25 90.5 0l70.9 70.9-22.6 22.6L189.7 89l-34.3 34.3c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L167 66.3 150.6 49.9c-12.5-12.5-32.8-12.5-45.3 0L49.9 105.4c-12.5 12.5-12.5 32.8 0 45.3l70.9 70.9L98.2 244.1 27.3 173.3c-25-25-25-65.5 0-90.5L82.7 27.3zm256 457.4l-70.9-70.9 22.6-22.6 70.9 70.9c12.5 12.5 32.8 12.5 45.3 0l55.4-55.4c12.5-12.5 12.5-32.8 0-45.3L445.7 345l-34.3 34.3c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L423 322.3l-31.8-31.8 22.6-22.6 70.9 70.9c25 25 25 65.5 0 90.5l-55.4 55.4c-25 25-65.5 25-90.5 0z\"]\n};\nvar faPencilRuler = faPenRuler;\nvar faFileMp3 = {\n prefix: 'fal',\n iconName: 'file-mp3',\n icon: [512, 512, [], \"e648\", \"M32 448c0 17.7 14.3 32 32 32v32c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H220.1c12.7 0 24.9 5.1 33.9 14.1L369.9 129.9c9 9 14.1 21.2 14.1 33.9V288H352V192H240c-26.5 0-48-21.5-48-48V32H64C46.3 32 32 46.3 32 64V448zM351.5 160c-.7-2.8-2.1-5.4-4.2-7.4L231.4 36.7c-2.1-2.1-4.6-3.5-7.4-4.2V144c0 8.8 7.2 16 16 16H351.5zM139.7 352.6c6.9-1.9 14.3 1 18 7.2L192 416.9l34.3-57.1c3.7-6.2 11.1-9.1 18-7.2s11.7 8.2 11.7 15.4V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V425.8l-18.3 30.5c-2.9 4.8-8.1 7.8-13.7 7.8s-10.8-3-13.7-7.8L160 425.8V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V368c0-7.2 4.8-13.5 11.7-15.4zM288 368c0-8.8 7.2-16 16-16h32c30.9 0 56 25.1 56 56s-25.1 56-56 56H320v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V448 368zm32 64h16c13.3 0 24-10.7 24-24s-10.7-24-24-24H320v48zm144 80H432c-8.8 0-16-7.2-16-16s7.2-16 16-16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H440c-8.8 0-16-7.2-16-16c0-.6 0-1.1 .1-1.6c.8-8.1 7.6-14.4 15.9-14.4h24c8.8 0 16-7.2 16-16s-7.2-16-16-16H432c-8.8 0-16-7.2-16-16s7.2-16 16-16h32c26.5 0 48 21.5 48 48c0 12.3-4.6 23.5-12.2 32c7.6 8.5 12.2 19.7 12.2 32c0 26.5-21.5 48-48 48z\"]\n};\nvar faArrowProgress = {\n prefix: 'fal',\n iconName: 'arrow-progress',\n icon: [512, 512, [], \"e5df\", \"M281.6 3.2c-7.1-5.3-17.1-3.9-22.4 3.2s-3.9 17.1 3.2 22.4L288 48H112C50.1 48 0 98.1 0 160s50.1 112 112 112H400c44.2 0 80 35.8 80 80c0 39.5-28.7 72.3-66.3 78.8c-7.5-27-32.3-46.8-61.7-46.8c-35.3 0-64 28.7-64 64s28.7 64 64 64c30.1 0 55.4-20.8 62.2-48.9C469.4 456.1 512 409 512 352c0-61.9-50.1-112-112-112H112c-44.2 0-80-35.8-80-80s35.8-80 80-80H288L262.4 99.2c-7.1 5.3-8.5 15.3-3.2 22.4s15.3 8.5 22.4 3.2l64-48c4-3 6.4-7.8 6.4-12.8s-2.4-9.8-6.4-12.8l-64-48zM351.9 480a32 32 0 1 1 .1-64 32 32 0 1 1 -.1 64zM448 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 96A64 64 0 1 0 448 0a64 64 0 1 0 0 128zM126 432c-7.1-27.6-32.2-48-62-48c-35.3 0-64 28.7-64 64s28.7 64 64 64c29.8 0 54.9-20.4 62-48h66l-25.6 19.2c-7.1 5.3-8.5 15.3-3.2 22.4s15.3 8.5 22.4 3.2l64-48c4-3 6.4-7.8 6.4-12.8s-2.4-9.8-6.4-12.8l-64-48c-7.1-5.3-17.1-3.9-22.4 3.2s-3.9 17.1 3.2 22.4L192 432H126zM32 448a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faChessRookPiece = {\n prefix: 'fal',\n iconName: 'chess-rook-piece',\n icon: [320, 512, [\"chess-rook-alt\"], \"f448\", \"M16 112c0-8.8 7.2-16 16-16H288c8.8 0 16 7.2 16 16V224c0 3.7-1.3 7.4-3.7 10.2l-35.9 43.1 4.4 74.6H236.7L232 272.9c-.2-4.1 1.1-8.1 3.7-11.2L272 218.2V128H224v24c0 8.8-7.2 16-16 16s-16-7.2-16-16V128H128v24c0 8.8-7.2 16-16 16s-16-7.2-16-16V128H48v90.2l36.3 43.6c2.6 3.1 3.9 7.1 3.7 11.2L83.3 352H51.3l4.4-74.6L19.7 234.2c-2.4-2.9-3.7-6.5-3.7-10.2V112zm144 96c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V224c0-8.8 7.2-16 16-16zM33.1 468.7c-.7 1.2-1.1 2.5-1.1 3.9c0 4.1 3.3 7.4 7.4 7.4H280.6c4.1 0 7.4-3.3 7.4-7.4c0-1.4-.4-2.7-1.1-3.9L254.2 416 65.8 416 33.1 468.7zM254.2 384c11.1 0 21.4 5.7 27.2 15.1l32.7 52.7c3.9 6.2 5.9 13.4 5.9 20.8c0 21.8-17.7 39.4-39.4 39.4H39.4C17.7 512 0 494.3 0 472.6c0-7.3 2.1-14.5 5.9-20.8l32.7-52.7c5.8-9.4 16.1-15.1 27.2-15.1H254.2z\"]\n};\nvar faChessRookAlt = faChessRookPiece;\nvar faSquareRoot = {\n prefix: 'fal',\n iconName: 'square-root',\n icon: [576, 512, [8730], \"f697\", \"M352.1 64c-7.1 0-13.4 4.7-15.4 11.6L223.4 468.4c-1.8 6.3-7.2 10.8-13.7 11.5s-12.7-2.6-15.8-8.4L82.9 264.4c-2.8-5.2-8.2-8.4-14.1-8.4H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H68.8c17.7 0 34 9.7 42.3 25.3l92.4 172.4L306 66.7C311.9 46.1 330.7 32 352.1 32H560c8.8 0 16 7.2 16 16s-7.2 16-16 16H352.1z\"]\n};\nvar faAlbumCollectionCirclePlus = {\n prefix: 'fal',\n iconName: 'album-collection-circle-plus',\n icon: [640, 512, [], \"e48e\", \"M32 16c0 8.8 7.2 16 16 16H464c8.8 0 16-7.2 16-16s-7.2-16-16-16H48C39.2 0 32 7.2 32 16zM16 80c0 8.8 7.2 16 16 16H480c8.8 0 16-7.2 16-16s-7.2-16-16-16H32c-8.8 0-16 7.2-16 16zm43.8 48C26.9 128 1.1 156.3 4 189.1l24.7 272C31.4 489.9 55.6 512 84.5 512H394.8c-12.9-9.1-24.5-19.9-34.6-32H84.5c-12.4 0-22.8-9.5-23.9-21.8l-24.7-272C34.6 172.1 45.7 160 59.8 160H452.2c14.1 0 25.2 12.1 23.9 26.2l-.6 7c6.7-.8 13.6-1.2 20.5-1.2c3.9 0 7.8 .1 11.7 .4l.3-3.3c3-32.8-22.8-61.1-55.8-61.1H59.8zM256 192c-88.4 0-160 57.3-160 128s71.6 128 160 128c27.6 0 53.6-5.6 76.2-15.4c-3.9-9.9-6.9-20.2-9-30.8C304.4 410.6 281.7 416 256 416c-77.7 0-128-49.3-128-96s50.3-96 128-96c43.3 0 78 15.3 100.3 36.9c6.5-8.5 13.8-16.4 21.8-23.6C348.8 209.6 305 192 256 192zm0 152c13.3 0 24-9 24-20s-10.7-20-24-20s-24 9-24 20s10.7 20 24 20zm128 24a112 112 0 1 1 224 0 112 112 0 1 1 -224 0zm256 0a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zM512 304c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H432c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v48c0 8.8 7.2 16 16 16s16-7.2 16-16V384h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H512V304z\"]\n};\nvar faPeopleArrows = {\n prefix: 'fal',\n iconName: 'people-arrows',\n icon: [640, 512, [\"people-arrows-left-right\"], \"e068\", \"M128 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0-96a64 64 0 1 1 0 128A64 64 0 1 1 128 0zM105.6 192c-25 0-45.8 19.1-47.8 44l-4.1 49.3C52.1 304 66.8 320 85.6 320h45.2c2.3 6.6 6.1 12.7 11.3 17.9L156.1 352H96V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V348.3c-26.5-9.5-44.7-35.8-42.2-65.6l4.1-49.3C29.3 191.9 64 160 105.6 160h44.8c28.3 0 53.4 14.8 67.7 37.3c-4.3 2.2-8.4 5.1-12 8.8l-12.6 12.6c-7.9-15.9-24.3-26.7-43-26.7H105.6zM160 496V355.9l32 32V496c0 8.8-7.2 16-16 16s-16-7.2-16-16zm288 0V387.9l32-32V496c0 8.8-7.2 16-16 16s-16-7.2-16-16zm96-144H483.9l14.1-14.1c5.2-5.2 9-11.4 11.3-17.9h45.2c18.7 0 33.4-16 31.9-34.7L582.2 236c-2.1-24.9-22.9-44-47.8-44H489.6c-18.7 0-35.1 10.8-43 26.7l-12.6-12.6c-3.6-3.6-7.7-6.5-12-8.8c14.2-22.5 39.3-37.3 67.7-37.3h44.8c41.6 0 76.3 31.9 79.7 73.4l4.1 49.3c2.5 29.8-15.7 56.1-42.2 65.6V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V352zM512 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0-96a64 64 0 1 1 0 128A64 64 0 1 1 512 0zM251.3 251.3L214.6 288H425.4l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l64 64c6.2 6.2 6.2 16.4 0 22.6l-64 64c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L425.4 320H214.6l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-64-64c-6.2-6.2-6.2-16.4 0-22.6l64-64c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faPeopleArrowsLeftRight = faPeopleArrows;\nvar faSignPost = {\n prefix: 'fal',\n iconName: 'sign-post',\n icon: [512, 512, [], \"e624\", \"M240 16c0-8.8 7.2-16 16-16s16 7.2 16 16V64H417c9.5 0 18.5 4.2 24.6 11.5l61.9 74.2c4.9 5.9 4.9 14.6 0 20.5l-61.9 74.2c-6.1 7.3-15.1 11.5-24.6 11.5H272V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V256H64c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32H240V16zM470.3 160L417 96 64 96V224H417l53.3-64z\"]\n};\nvar faFaceAngryHorns = {\n prefix: 'fal',\n iconName: 'face-angry-horns',\n icon: [640, 512, [], \"e368\", \"M320 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480c141.4 0 256-114.6 256-256c0-24.6-3.5-48.4-9.9-70.9c44.3-59.4 67.4-135 73.6-166c1.3-6.3-1.4-12.8-6.8-16.4s-12.4-3.6-17.8 0c-19.3 12.9-48.5 24.2-78.4 33.1c-23.3 7-46 12.2-63 15.5C430.9 19.1 377.7 0 320 0S209.1 19.1 166.2 51.3c-17-3.3-39.7-8.6-63-15.5C73.4 26.9 44.2 15.5 24.9 2.7C19.5-.9 12.5-.9 7.1 2.7S-1 12.8 .3 19.1c6.2 31 29.3 106.6 73.6 166C67.5 207.6 64 231.4 64 256c0 141.4 114.6 256 256 256zM552.4 148.6c-12.2-26.4-28.8-50.4-48.8-71c13.1-3 27.6-6.8 42.3-11.2c17.7-5.3 36.2-11.7 53.2-19.1c-9.2 28.9-24.6 66.9-46.6 101.3zM94.1 66.4c14.7 4.4 29.2 8.1 42.3 11.2c-20 20.6-36.6 44.6-48.8 71C65.5 114.3 50.2 76.2 40.9 47.3c17 7.4 35.5 13.8 53.2 19.1zM402.7 411.9c6.6-5.9 7.1-16 1.2-22.6C387.8 371.4 359.7 352 320 352s-67.8 19.4-83.9 37.3c-5.9 6.6-5.4 16.7 1.2 22.6s16.7 5.4 22.6-1.2c11.7-13 31.6-26.7 60.1-26.7s48.4 13.7 60.1 26.7c5.9 6.6 16 7.1 22.6 1.2zM240.4 296c13.3 0 24-10.7 24-24c0-2.6-.4-5.1-1.2-7.4l19.7 6.6c8.4 2.8 17.4-1.7 20.2-10.1s-1.7-17.4-10.1-20.2l-96-32c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2l39.6 13.2c-6.2 4.3-10.2 11.5-10.2 19.6c0 13.3 10.7 24 24 24zm184-24c0-8.2-4.1-15.5-10.4-19.8l39.1-13c8.4-2.8 12.9-11.9 10.1-20.2s-11.9-12.9-20.2-10.1l-96 32c-8.4 2.8-12.9 11.9-10.1 20.2s11.9 12.9 20.2 10.1l20.6-6.9c-.8 2.4-1.3 5-1.3 7.7c0 13.3 10.7 24 24 24s24-10.7 24-24z\"]\n};\nvar faMarsAndVenusBurst = {\n prefix: 'fal',\n iconName: 'mars-and-venus-burst',\n icon: [640, 512, [], \"e523\", \"M528 0c-8.8 0-16 7.2-16 16s7.2 16 16 16h57.4l-75.6 75.6C481.1 80.6 442.5 64 400 64c-88.4 0-160 71.6-160 160c0 83 63.1 151.2 144 159.2V416H344c-8.8 0-16 7.2-16 16s7.2 16 16 16h40v48c0 8.8 7.2 16 16 16s16-7.2 16-16V448h40c8.8 0 16-7.2 16-16s-7.2-16-16-16H416V383.2c80.9-8 144-76.2 144-159.2c0-34.3-10.8-66.1-29.2-92.2L608 54.6V104c0 8.8 7.2 16 16 16s16-7.2 16-16V16c0-8.8-7.2-16-16-16H528zM272 224a128 128 0 1 1 256 0 128 128 0 1 1 -256 0zM176 8c-6.3 0-11.9 3.6-14.5 9.3L129.4 87.2 54.7 68.7c-6.1-1.5-12.5 .7-16.3 5.6s-4.6 11.6-1.8 17.2l34.6 68.6L10.3 206.9c-5 3.8-7.2 10.2-5.8 16.2s6.2 10.8 12.3 12.1L92 251l-1.4 76.8c-.1 6.2 3.4 12 9.1 14.7s12.3 1.9 17.1-2.1l59.2-49 59.2 49c4.1 3.4 9.5 4.5 14.5 3.1c-13.9-17.5-24.9-37.4-32-59.1l-31.5-26.1c-5.9-4.9-14.5-4.9-20.4 0l-42.6 35.2 1-55.3c.1-7.7-5.2-14.4-12.7-15.9L57.4 211.1l43.8-33.7c6.1-4.7 8-13 4.5-19.9L80.9 108.1l53.7 13.3c7.5 1.8 15.2-1.9 18.4-8.9L176 62.3l23.1 50.2c3.2 7 10.9 10.7 18.4 8.9l24.2-6c11.2-16.3 24.9-30.8 40.5-43L222.6 87.2 190.5 17.3C187.9 11.6 182.3 8 176 8z\"]\n};\nvar faTombstone = {\n prefix: 'fal',\n iconName: 'tombstone',\n icon: [448, 512, [], \"f720\", \"M384 448V192c0-88.4-71.6-160-160-160S64 103.6 64 192V448H32V192C32 86 118 0 224 0S416 86 416 192V448H384zM0 496c0-8.8 7.2-16 16-16H432c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16-7.2-16-16zM240 144v64h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H240V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V240H144c-8.8 0-16-7.2-16-16s7.2-16 16-16h64V144c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faSquareCaretRight = {\n prefix: 'fal',\n iconName: 'square-caret-right',\n icon: [448, 512, [\"caret-square-right\"], \"f152\", \"M416 96c0-17.7-14.3-32-32-32L64 64C46.3 64 32 78.3 32 96l0 320c0 17.7 14.3 32 32 32l320 0c17.7 0 32-14.3 32-32l0-320zM384 32c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l320 0zM320 256c0 9.6-4 18.7-11 25.2L206.2 376.7c-5.1 4.7-11.8 7.3-18.7 7.3c-15.2 0-27.5-12.3-27.5-27.5l0-201c0-15.2 12.3-27.5 27.5-27.5c6.9 0 13.6 2.6 18.7 7.3L309 230.8c7 6.5 11 15.6 11 25.2zm-32.7-1.7L192 165.8l0 180.3 95.3-88.4c.5-.4 .7-1.1 .7-1.7s-.3-1.3-.7-1.7z\"]\n};\nvar faCaretSquareRight = faSquareCaretRight;\nvar faScissors = {\n prefix: 'fal',\n iconName: 'scissors',\n icon: [512, 512, [9984, 9986, 9988, \"cut\"], \"f0c4\", \"M508.2 442.4c5.7-6.7 4.9-16.8-1.8-22.6l-152-129.3c-6.7-5.7-16.8-4.9-22.6 1.8s-4.9 16.8 1.8 22.6l152 129.3c6.7 5.7 16.8 4.9 22.6-1.8zM287 235.1l-78.5-66.1c9.9-16.7 15.5-36.2 15.5-56.9C224 50.1 173.9 0 112 0S0 50.1 0 112s50.1 112 112 112c29.5 0 56.4-11.4 76.4-30.1L262.2 256l-73.8 62.1c-20-18.7-46.9-30.1-76.4-30.1C50.1 288 0 338.1 0 400s50.1 112 112 112s112-50.1 112-112c0-20.8-5.7-40.3-15.5-56.9L506.3 92.2c6.8-5.7 7.6-15.8 1.9-22.5s-15.8-7.6-22.5-1.9L287 235.1zM112 192a80 80 0 1 1 0-160 80 80 0 1 1 0 160zm0 128a80 80 0 1 1 0 160 80 80 0 1 1 0-160z\"]\n};\nvar faCut = faScissors;\nvar faListMusic = {\n prefix: 'fal',\n iconName: 'list-music',\n icon: [512, 512, [], \"f8c9\", \"M489.1 0C501.8 0 512 10.2 512 22.9V136c0 6.9-4.5 13.1-11.1 15.2L384 188.9V432c0 44.2-50.1 80-112 80s-112-35.8-112-80s50.1-80 112-80c31.3 0 59.7 9.2 80 24V56c0-6.9 4.4-13 10.9-15.2L481.9 1.2c2.3-.8 4.8-1.2 7.2-1.2zM332.6 401.5C318.3 391.3 297 384 272 384s-46.3 7.3-60.6 17.5C197.1 411.7 192 422.9 192 432s5.1 20.3 19.4 30.5C225.7 472.7 247 480 272 480s46.3-7.3 60.6-17.5C346.9 452.3 352 441.1 352 432s-5.1-20.3-19.4-30.5zM384 155.3l96-30.9V35.5l-96 32v87.8zM16 64H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H16C7.2 96 0 88.8 0 80s7.2-16 16-16zm0 128H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 128H144c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faSunPlantWilt = {\n prefix: 'fal',\n iconName: 'sun-plant-wilt',\n icon: [640, 512, [], \"e57a\", \"M160.5 0c-5.9 0-11.3 3.2-14.1 8.4l-27.5 51L63.4 42.7c-5.6-1.7-11.7-.1-15.9 4s-5.7 10.3-4 15.9l16.6 55.4-51 27.5c-5.2 2.8-8.4 8.2-8.4 14.1s3.2 11.3 8.4 14.1l51 27.5L43.5 256.7c-1.7 5.6-.2 11.7 4 15.9s10.3 5.7 15.9 4L118.9 260l27.5 51c2.8 5.2 8.2 8.4 14.1 8.4s11.3-3.2 14.1-8.4l27.5-51 55.6 16.6c5.6 1.7 11.7 .1 15.9-4s5.7-10.3 4-15.9l-16.6-55.4 51-27.5c5.2-2.8 8.4-8.2 8.4-14.1s-3.2-11.3-8.4-14.1l-51-27.5 16.6-55.4c1.7-5.6 .2-11.7-4-15.9s-10.3-5.7-15.9-4L202.1 59.4l-27.5-51C171.8 3.2 166.4 0 160.5 0zm0 49.7L180.1 86c3.6 6.7 11.4 9.9 18.7 7.7l39.6-11.8-11.9 39.5c-2.2 7.3 1.1 15.1 7.7 18.7l36.3 19.6-36.3 19.6c-6.7 3.6-9.9 11.4-7.7 18.7l11.9 39.5-39.6-11.8c-7.3-2.2-15.1 1.1-18.7 7.7l-19.6 36.3-19.6-36.3c-3.6-6.7-11.4-9.9-18.7-7.7L82.6 237.4l11.9-39.5c2.2-7.3-1.1-15.1-7.7-18.7L50.4 159.7l36.3-19.6c6.7-3.6 9.9-11.4 7.7-18.7L82.6 81.9l39.6 11.8c7.3 2.2 15.1-1.1 18.7-7.7l19.6-36.3zm32.6 111.2a32 32 0 1 0 -63.9 0 32 32 0 1 0 63.9 0zm303.7 .1c0-17.6 14.3-32 32-32s32 14.3 32 32v49.5c-11.4 2.5-21.7 7.9-29.9 16.2c-11.9 12.1-18 28.9-18 48c0 14.4 7.5 30.9 16.5 45.3c9.4 15.1 22.3 30.7 36.5 44.1c6.2 5.8 15.8 5.8 22 0c14.2-13.4 27.1-29.1 36.5-44.2c9-14.4 16.5-30.9 16.5-45.2c0-19.1-6.1-35.9-18-48c-8.2-8.3-18.5-13.7-29.9-16.2V160.9c0-35.3-28.6-64-64-64s-64 28.6-64 64v43.9c-11.4-7.6-25.2-12.1-39.9-12.1c-39.7 0-71.9 32.2-71.9 71.9v9.6c-11.4 2.5-21.7 7.9-29.9 16.2c-11.9 12.1-18 28.9-18 48c0 14.4 7.5 30.9 16.5 45.3c9.5 15.1 22.3 30.7 36.5 44.1c6.2 5.8 15.8 5.8 22 0c14.2-13.4 27.1-29.1 36.5-44.2c9-14.4 16.5-30.9 16.5-45.2c0-19.1-6.1-35.9-18-48c-8.2-8.3-18.5-13.7-29.9-16.2v-9.6c0-22.1 17.9-39.9 39.9-39.9s39.9 17.9 39.9 39.9v15.9V480.1H17.3c-8.8 0-16 7.2-16 16s7.2 16 16 16H480.8 624.7c8.8 0 16-7.2 16-16s-7.2-16-16-16H496.8V280.6 264.7 160.9zM368.9 304.6c10.6 0 18.2 3.4 23.2 8.4c5 5 8.8 13.2 8.8 25.5c0 4.9-3.3 14.9-11.6 28.3c-5.5 8.8-12.5 18-20.3 26.7c-7.9-8.7-14.9-17.8-20.3-26.6c-8.3-13.3-11.6-23.3-11.6-28.3c0-12.3 3.8-20.5 8.8-25.5c5-5 12.6-8.4 23.2-8.4zM597 302.9c-5.5 8.8-12.5 18-20.3 26.7c-7.9-8.7-14.9-17.8-20.3-26.6c-8.3-13.3-11.6-23.3-11.6-28.3c0-12.3 3.8-20.5 8.8-25.5c5-5 12.6-8.4 23.2-8.4s18.2 3.4 23.2 8.4c5 5 8.8 13.2 8.8 25.5c0 4.9-3.3 14.9-11.6 28.3z\"]\n};\nvar faToiletsPortable = {\n prefix: 'fal',\n iconName: 'toilets-portable',\n icon: [576, 512, [], \"e584\", \"M64 32H192c17.7 0 32 14.3 32 32V96H32V64c0-17.7 14.3-32 32-32zM32 448V128H224v80H200c-22.1 0-40 17.9-40 40v48c0 22.1 17.9 40 40 40h24V448H32zM256 208V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V496c0 8.8 7.2 16 16 16s16-7.2 16-16V480H224v16c0 8.8 7.2 16 16 16s16-7.2 16-16V336 304 240 208zm-32 32v64H200c-4.4 0-8-3.6-8-8V248c0-4.4 3.6-8 8-8h24zM384 32H512c17.7 0 32 14.3 32 32V96H352V64c0-17.7 14.3-32 32-32zM352 448V128H544v80H520c-22.1 0-40 17.9-40 40v48c0 22.1 17.9 40 40 40h24V448H352zM576 208V64c0-35.3-28.7-64-64-64H384c-35.3 0-64 28.7-64 64V496c0 8.8 7.2 16 16 16s16-7.2 16-16V480H544v16c0 8.8 7.2 16 16 16s16-7.2 16-16V336 304 240 208zm-32 32v64H520c-4.4 0-8-3.6-8-8V248c0-4.4 3.6-8 8-8h24z\"]\n};\nvar faHockeyPuck = {\n prefix: 'fal',\n iconName: 'hockey-puck',\n icon: [512, 512, [], \"f453\", \"M32 184c0 9 4.1 18.9 14.3 29.3c10.2 10.5 25.8 20.7 46.3 29.6c41 17.8 98.7 29.1 163.3 29.1s122.4-11.4 163.3-29.1c20.5-8.9 36.1-19.1 46.3-29.6C475.9 202.9 480 193 480 184s-4.1-18.9-14.3-29.3c-10.2-10.5-25.8-20.7-46.3-29.6C378.4 107.4 320.6 96 256 96s-122.4 11.4-163.3 29.1c-20.5 8.9-36.1 19.1-46.3 29.6C36.1 165.1 32 175 32 184zM0 184c0-19.7 9.3-37.2 23.4-51.7C37.5 117.9 57 105.7 79.9 95.8C125.8 75.9 188.1 64 256 64s130.2 11.9 176.1 31.8c22.9 9.9 42.5 22.2 56.5 36.6c14.1 14.5 23.4 32 23.4 51.7V328c0 19.7-9.3 37.2-23.4 51.7c-14.1 14.4-33.6 26.6-56.5 36.6C386.2 436.1 323.9 448 256 448s-130.2-11.9-176.1-31.8c-22.9-9.9-42.5-22.2-56.5-36.6C9.3 365.2 0 347.7 0 328V184zm480 59.6c-13 11-29.4 20.6-47.9 28.6C386.2 292.1 323.9 304 256 304s-130.2-11.9-176.1-31.8c-18.6-8-34.9-17.6-47.9-28.6V328c0 9 4.1 18.9 14.3 29.3c10.2 10.5 25.8 20.7 46.3 29.6c41 17.8 98.7 29.1 163.3 29.1s122.4-11.4 163.3-29.1c20.5-8.9 36.1-19.1 46.3-29.6C475.9 346.9 480 337 480 328V243.6z\"]\n};\nvar faMustache = {\n prefix: 'fal',\n iconName: 'mustache',\n icon: [640, 512, [], \"e5bc\", \"M235 112c-31.7 0-62.2 12.6-84.6 35.1c-31.6 31.6-81.9 34.4-116.8 6.5l-7.5-6c-5.1-4.1-12-4.5-17.5-1.6c-1.4 .7-2.7 1.7-3.8 2.8C1.8 151.6 0 155.6 0 160v44C0 312.2 87.8 400 196 400c42.4 0 83.7-13.8 117.6-39.2L320 356l6.4 4.8C360.3 386.2 401.6 400 444 400c108.2 0 196-87.8 196-196V160c0-4.4-1.8-8.4-4.6-11.3c-1.1-1.2-2.4-2.1-3.8-2.8c-5.5-2.9-12.4-2.5-17.5 1.6l-7.5 6c-34.9 27.9-85.2 25.1-116.8-6.5C467.2 124.6 436.8 112 405 112h-3.3c-25.2 0-49.8 7.5-70.8 21.4l-11 7.3-11-7.3c-21-14-45.6-21.4-70.8-21.4H235zm373 78.7V204c0 90.6-73.4 164-164 164c-35.5 0-70-11.5-98.4-32.8l-16-12c-5.7-4.3-13.5-4.3-19.2 0l-16 12C266 356.5 231.5 368 196 368c-90.6 0-164-73.4-164-164V190.7c45.7 24.4 103.1 16.8 140.9-21c16.4-16.4 38.8-25.7 62-25.7h3.3c18.9 0 37.3 5.6 53 16.1l19.9 13.3c5.4 3.6 12.4 3.6 17.8 0l19.9-13.3c15.7-10.5 34.1-16.1 53-16.1H405c23.3 0 45.6 9.2 62 25.7c37.8 37.8 95.3 45.4 140.9 21z\"]\n};\nvar faHyphen = {\n prefix: 'fal',\n iconName: 'hyphen',\n icon: [320, 512, [], \"2d\", \"M0 256c0-8.8 7.2-16 16-16H304c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16-7.2-16-16z\"]\n};\nvar faTable = {\n prefix: 'fal',\n iconName: 'table',\n icon: [512, 512, [], \"f0ce\", \"M64 64C46.3 64 32 78.3 32 96l0 64 448 0V96c0-17.7-14.3-32-32-32L64 64zM32 192l0 112 208 0 0-112L32 192zm240 0l0 112H480l0-112-208 0zM240 336L32 336l0 80c0 17.7 14.3 32 32 32l176 0V336zm32 112H448c17.7 0 32-14.3 32-32V336H272V448zM0 96C0 60.7 28.7 32 64 32l384 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96z\"]\n};\nvar faUserChef = {\n prefix: 'fal',\n iconName: 'user-chef',\n icon: [448, 512, [], \"e3d2\", \"M96 64c0 13.9 8.9 25.8 21.3 30.2c6.4 2.3 10.7 8.3 10.7 15.1V144H320V109.3c0-6.8 4.3-12.8 10.7-15.1C343.1 89.8 352 77.9 352 64c0-17.7-14.3-32-32-32s-32 14.3-32 32c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-17.7-14.3-32-32-32s-32 14.3-32 32c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-17.7-14.3-32-32-32s-32 14.3-32 32zM128 0c19.1 0 36.3 8.4 48 21.7C187.7 8.4 204.9 0 224 0s36.3 8.4 48 21.7C283.7 8.4 300.9 0 320 0c35.3 0 64 28.7 64 64c0 23.7-12.9 44.4-32 55.4V160v16c0 70.7-57.3 128-128 128s-128-57.3-128-128V160 119.4C76.9 108.4 64 87.7 64 64C64 28.7 92.7 0 128 0zm96 272c53 0 96-43 96-96H128c0 53 43 96 96 96zM112 372.6c0 7.1-4.7 13.3-11.4 15.3C60.9 399.8 32 436.5 32 480h96V436.5c0-18.7 10.9-35.7 27.9-43.6l33.4-15.4L112 341.4v31.2zM160 480H416c0-43.5-28.9-80.2-68.6-92c-6.8-2-11.4-8.3-11.4-15.3V345L169.3 421.9c-5.7 2.6-9.3 8.3-9.3 14.5V480zM337.3 309.1l-1.4-3c3-1.4 6.2-2.1 9.5-2.1c12.5 0 22.5 10.1 22.5 22.5v34.8c46.9 19 80 65 80 118.7c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32c0-53.7 33.1-99.7 80-118.7V326.5c0-12.5 10.1-22.5 22.5-22.5c3.3 0 6.5 .7 9.5 2.1L224 358.3l111.9-52.2 1.4 3zM240 416a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faMessageImage = {\n prefix: 'fal',\n iconName: 'message-image',\n icon: [512, 512, [\"comment-alt-image\"], \"e1e0\", \"M192 416c0-17.7-14.3-32-32-32H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H448c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H309.3c-6.9 0-13.7 2.2-19.2 6.4L192 464V416zM64 0C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h64 32v32 48c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L309.3 416H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zm88 128a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm135.9 32.1L380.3 288H131.5l44.6-63.8 19 25.4c3 4 7.8 6.4 12.8 6.4s9.8-2.4 12.8-6.4l67.1-89.5zm-25.5-19.4L208 213.3l-6.5-8.7c-6-8-15.4-12.7-25.3-12.7c-10.3 0-20 5-26 13.5l-49.1 70.2c-3.3 4.7-5.1 10.4-5.1 16.2c0 15.6 12.6 28.2 28.2 28.2H387.9c15.5 0 28.1-12.6 28.1-28.1c0-5.9-1.9-11.7-5.3-16.4l-97-134.3c-6-8.3-15.6-13.2-25.8-13.2c-10 0-19.4 4.7-25.5 12.7z\"]\n};\nvar faCommentAltImage = faMessageImage;\nvar faUsersMedical = {\n prefix: 'fal',\n iconName: 'users-medical',\n icon: [640, 512, [], \"f830\", \"M192 80A48 48 0 1 0 96 80a48 48 0 1 0 96 0zM64 80a80 80 0 1 1 160 0A80 80 0 1 1 64 80zM320 288a64 64 0 1 0 0-128 64 64 0 1 0 0 128zm0-160a96 96 0 1 1 0 192 96 96 0 1 1 0-192zM261.3 384c-54.2 0-98.4 42.5-101.2 96H448c0 11.7 3.1 22.6 8.6 32H154.7c-14.7 0-26.7-11.9-26.7-26.7C128 411.7 187.7 352 261.3 352H378.7c4.6 0 9.1 .2 13.5 .7c-5.2 9.3-8.2 19.9-8.2 31.3v.1c-1.8-.1-3.5-.1-5.3-.1H261.3zM512 128a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM512 0a80 80 0 1 1 0 160A80 80 0 1 1 512 0zm16 224H448c0-11-1.4-21.8-4-32h84c61.9 0 112 50.1 112 112c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-44.2-35.8-80-80-80zm-336 0H112c-44.2 0-80 35.8-80 80c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-61.9 50.1-112 112-112h84c-2.6 10.2-4 21-4 32zm320 64h32c17.7 0 32 14.3 32 32v32h32c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32H576v32c0 17.7-14.3 32-32 32H512c-17.7 0-32-14.3-32-32V448H448c-17.7 0-32-14.3-32-32V384c0-17.7 14.3-32 32-32h32V320c0-17.7 14.3-32 32-32zm0 80c0 8.8-7.2 16-16 16H448v32h48c8.8 0 16 7.2 16 16v48h32V432c0-8.8 7.2-16 16-16h48V384H560c-8.8 0-16-7.2-16-16V320H512v48z\"]\n};\nvar faSensorTriangleExclamation = {\n prefix: 'fal',\n iconName: 'sensor-triangle-exclamation',\n icon: [640, 512, [\"sensor-alert\"], \"e029\", \"M64 64H384c17.7 0 32 14.3 32 32v39.4c9.8-4.8 20.7-7.4 32-7.4V96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H225c-.6-4-1-8.1-1-12.3c0-6.7 .9-13.3 2.6-19.7H64c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32zm64 80c0-8.8-7.2-16-16-16s-16 7.2-16 16V272c0 8.8 7.2 16 16 16s16-7.2 16-16V144zm64 0c0-8.8-7.2-16-16-16s-16 7.2-16 16V272c0 8.8 7.2 16 16 16s16-7.2 16-16V144zm291.8 36.9C476.5 168 462.8 160 448 160s-28.5 8-35.8 20.9l-150.4 265c-3.8 6.7-5.8 14.2-5.8 21.9c0 24.5 19.8 44.3 44.3 44.3H595.7c24.5 0 44.3-19.8 44.3-44.3c0-7.7-2-15.2-5.8-21.9l-150.4-265zM440 196.7c1.6-2.9 4.7-4.7 8-4.7s6.4 1.8 8 4.7l150.4 265c1 1.9 1.6 3.9 1.6 6.1c0 6.8-5.5 12.3-12.3 12.3H300.3c-6.8 0-12.3-5.5-12.3-12.3c0-2.1 .6-4.2 1.6-6.1L440 196.7zM464 304c0-8.8-7.2-16-16-16s-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V304zM448 448a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faSensorAlert = faSensorTriangleExclamation;\nvar faMagnifyingGlassArrowRight = {\n prefix: 'fal',\n iconName: 'magnifying-glass-arrow-right',\n icon: [512, 512, [], \"e521\", \"M208 32a176 176 0 1 1 0 352 176 176 0 1 1 0-352zm0 384c51.7 0 99-18.8 135.3-50L484.7 507.3c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L366 343.3c31.2-36.4 50-83.7 50-135.3C416 93.1 322.9 0 208 0S0 93.1 0 208S93.1 416 208 416zm27.3-299.3c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L265.4 192H112c-8.8 0-16 7.2-16 16s7.2 16 16 16H265.4l-52.7 52.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l80-80c6.2-6.2 6.2-16.4 0-22.6l-80-80z\"]\n};\nvar faTachographDigital = {\n prefix: 'fal',\n iconName: 'tachograph-digital',\n icon: [640, 512, [\"digital-tachograph\"], \"f566\", \"M64 96c-17.7 0-32 14.3-32 32V384c0 17.7 14.3 32 32 32H576c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32H64zM0 128C0 92.7 28.7 64 64 64H576c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128zm96 32v64H320V160H96zm-32 0c0-17.7 14.3-32 32-32H320c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V160zm0 208c0-8.8 7.2-16 16-16H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16zm320 0c0-8.8 7.2-16 16-16H560c8.8 0 16 7.2 16 16s-7.2 16-16 16H400c-8.8 0-16-7.2-16-16zM80 288a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm80-16a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm80-16a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faDigitalTachograph = faTachographDigital;\nvar faFaceMask = {\n prefix: 'fal',\n iconName: 'face-mask',\n icon: [576, 512, [], \"e37f\", \"M444.8 416C404.4 455.6 349 480 288 480s-116.4-24.4-156.8-64h18.2c9 18.9 28.3 32 50.6 32H376c22.3 0 41.6-13.1 50.6-32h18.2zm27.1-32H432V312c0-3.8-.4-7.5-1.1-11l.6 1.2L512 259.2c-.7 46.4-15.4 89.3-40.1 124.8zm37.9-159.9l-92.9 49.6C406.6 262.8 392.1 256 376 256H200c-16.1 0-30.6 6.8-40.8 17.7L66.2 224.1C81.7 115.5 175.1 32 288 32s206.3 83.5 221.8 192.1zm29.9-15.5C517.4 89.9 413.2 0 288 0S58.6 89.9 36.4 208.6c-7.1-2-14.9 1.1-18.5 7.9c-4.2 7.8-1.2 17.5 6.6 21.6l7.9 4.2c-.2 4.5-.4 9.1-.4 13.7c0 141.4 114.6 256 256 256s256-114.6 256-256c0-4.6-.1-9.1-.4-13.7l7.9-4.2c7.8-4.2 10.7-13.8 6.6-21.6c-3.6-6.8-11.4-9.9-18.5-7.9zM64 259.2l80.4 42.9 .6-1.2c-.7 3.6-1.1 7.3-1.1 11v72H104.1C79.4 348.5 64.7 305.6 64 259.2zM376 288c13.3 0 24 10.7 24 24v80c0 13.3-10.7 24-24 24H200c-13.3 0-24-10.7-24-24V312c0-13.3 10.7-24 24-24H376zM200 328c0 8.8 7.2 16 16 16H360c8.8 0 16-7.2 16-16s-7.2-16-16-16H216c-8.8 0-16 7.2-16 16zm0 48c0 8.8 7.2 16 16 16H360c8.8 0 16-7.2 16-16s-7.2-16-16-16H216c-8.8 0-16 7.2-16 16zm40-200c8.8 0 16-7.2 16-16s-7.2-16-16-16c-55.4 0-93.6 23-107.3 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0C162.9 195.7 193 176 240 176zm180.7 27.3c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6C429.6 167 391.4 144 336 144c-8.8 0-16 7.2-16 16s7.2 16 16 16c47 0 77.1 19.7 84.7 27.3z\"]\n};\nvar faPickleball = {\n prefix: 'fal',\n iconName: 'pickleball',\n icon: [576, 512, [], \"e435\", \"M363.6 50.7c-25-25-65.6-25-90.6 0L141 182.3 283.5 324.3c-4.5 11.3-7.8 23.2-9.7 35.5l-155.5-155-3.2 3.2c-13.8 13.7-17.9 34.4-10.4 52.3l24.9 59.8c10 23.9 4.5 51.5-13.9 69.8l-63 62.8c-6.3 6.2-6.3 16.3 0 22.6c6.3 6.2 16.4 6.2 22.7 0l63.3-63c18.3-18.2 45.7-23.7 69.6-13.9l58.5 24c3.4 1.4 6.9 2.4 10.5 3c3 11.4 7.3 22.2 12.6 32.4c-11.8 .7-23.9-1.2-35.3-5.8l-58.5-24c-12-4.9-25.7-2.2-34.8 7L98.1 498c-18.8 18.7-49.2 18.7-68 0s-18.8-49.1 0-67.8l63-62.8c9.2-9.2 11.9-22.9 6.9-34.9L75.1 272.7c-12.5-29.9-5.6-64.3 17.3-87.2L250.3 28.1c37.5-37.4 98.4-37.4 135.9 0L499.8 141.3c29.4 29.3 35.8 72.9 19.1 108.4c-8.9-5.8-18.5-10.7-28.5-14.7c10.4-23.5 6-51.9-13.3-71.1L363.6 50.7zm68.4 429.4a96 96 0 1 0 0-192 96 96 0 1 0 0 192zm0-224a128 128 0 1 1 0 256 128 128 0 1 1 0-256zm-64 128a16 16 0 1 1 0-32 16 16 0 1 1 0 32zm64 64a16 16 0 1 1 -32 0 16 16 0 1 1 32 0zm0-48a16 16 0 1 1 0-32 16 16 0 1 1 0 32zm80 0a16 16 0 1 1 -32 0 16 16 0 1 1 32 0zm-64-64a16 16 0 1 1 0-32 16 16 0 1 1 0 32z\"]\n};\nvar faStarSharpHalf = {\n prefix: 'fal',\n iconName: 'star-sharp-half',\n icon: [576, 512, [], \"e28c\", \"M272 93.9L239.2 196.9C237.1 203.5 231 208 224 208H75.3l126 91c5.5 4 7.9 11.1 5.9 17.6L163.5 460.6 272 376.2V93.9zm-8.3-79.5C266.5 5.8 274.4 0 283.4 0C294.8 0 304 9.2 304 20.6V384c0 4.9-2.3 9.6-6.2 12.6l-142.7 111c-3.6 2.8-8.1 4.4-12.7 4.4c-13.9 0-23.9-13.4-19.8-26.8l50.8-167L43 224.1c-6.9-5-11-13-11-21.6C32 187.9 43.9 176 58.6 176H212.3L263.7 14.4z\"]\n};\nvar faUsersSlash = {\n prefix: 'fal',\n iconName: 'users-slash',\n icon: [640, 512, [], \"e073\", \"M191.5 73l30.7 24.2c1.2-5.5 1.9-11.3 1.9-17.2c0-44.2-35.8-80-80-80c-12.5 0-24.3 2.9-34.9 8l30.7 24.2c1.4-.1 2.8-.2 4.2-.2c24.1 0 44.1 17.8 47.5 41zM135.6 192H112C50.1 192 0 242.1 0 304c0 8.8 7.2 16 16 16s16-7.2 16-16c0-44.2 35.8-80 80-80h64.2l-40.5-32zM413 247.9c2-7.6 3-15.6 3-23.9c0-53-43-96-96-96c-16.2 0-31.4 4-44.8 11.1l29 22.9c5.1-1.3 10.4-2 15.8-2c35.3 0 64 28.7 64 64l0 1 29 22.9zM338.3 352H320 261.3C187.7 352 128 411.7 128 485.3c0 14.7 11.9 26.7 26.7 26.7H485.3c13.5 0 24.7-10 26.4-23.1l-34.5-27.3c1.4 5.9 2.3 12.1 2.6 18.3H160.1c2.8-53.5 47-96 101.2-96H378.7l.2 0-40.5-32zM464 80a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm128 0A80 80 0 1 0 432 80a80 80 0 1 0 160 0zM448 224h80c44.2 0 80 35.8 80 80c0 8.8 7.2 16 16 16s16-7.2 16-16c0-61.9-50.1-112-112-112H444c2.6 10.2 4 21 4 32zM25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4z\"]\n};\nvar faClover = {\n prefix: 'fal',\n iconName: 'clover',\n icon: [448, 512, [], \"e139\", \"M171.3 64c-17.1 0-31 13.9-31 31v3.3c0 7.9 2 15.7 5.8 22.6L190 200.3c3.4 6.2 2.4 14-2.7 19.1s-12.8 6.1-19.1 2.7L88.9 178.1c-6.9-3.8-14.7-5.8-22.6-5.8H63c-17.1 0-31 13.9-31 31c0 8.2 3.3 16.1 9.1 21.9l19.5 19.5c3 3 4.7 7.1 4.7 11.3s-1.7 8.3-4.7 11.3L41.1 286.8c-5.8 5.8-9.1 13.7-9.1 21.9c0 17.1 13.9 31 31 31h3.3c7.9 0 15.7-2 22.6-5.8L168.3 290c6.2-3.4 14-2.4 19.1 2.7s6.1 12.8 2.7 19.1l-43.9 79.4c-3.8 6.9-5.8 14.7-5.8 22.6V417c0 17.1 13.9 31 31 31c8.2 0 16.1-3.3 21.9-9.1l19.5-19.5c3-3 7.1-4.7 11.3-4.7s8.3 1.7 11.3 4.7l19.5 19.5c5.8 5.8 13.7 9.1 21.9 9.1c17.1 0 31-13.9 31-31v-3.3c0-7.9-2-15.7-5.8-22.6L258 311.7c-3.4-6.2-2.4-14 2.7-19.1s12.8-6.1 19.1-2.7l79.4 43.9c6.9 3.8 14.7 5.8 22.6 5.8H385c17.1 0 31-13.9 31-31c0-8.2-3.3-16.1-9.1-21.9l-19.5-19.5c-3-3-4.7-7.1-4.7-11.3s1.7-8.3 4.7-11.3l19.5-19.5c5.8-5.8 9.1-13.7 9.1-21.9c0-17.1-13.9-31-31-31h-3.1c-8 0-15.8 2-22.8 5.9L281 222c-6.2 3.5-14 2.4-19-2.6s-6.2-12.7-2.9-19L302 120.9c3.7-6.9 5.7-14.6 5.7-22.4V95c0-17.1-13.9-31-31-31c-8.2 0-16.1 3.3-21.9 9.1L235.3 92.5c-3 3-7.1 4.7-11.3 4.7s-8.3-1.7-11.3-4.7L193.2 73.1c-5.8-5.8-13.7-9.1-21.9-9.1zm0-32c16.7 0 32.7 6.6 44.5 18.5l8.2 8.2 8.2-8.2C244 38.6 260 32 276.7 32c34.8 0 63 28.2 63 63v3.5c0 13.1-3.3 26-9.5 37.6l-16.7 31 30-16.8c11.7-6.6 25-10 38.4-10H385c34.8 0 63 28.2 63 63c0 16.7-6.6 32.7-18.5 44.5l-8.2 8.2 8.2 8.2C441.4 276 448 292 448 308.7c0 34.8-28.2 63-63 63h-3.3c-13.3 0-26.5-3.4-38.1-9.8l-30.8-17 17 30.8c6.5 11.7 9.8 24.8 9.8 38.1V417c0 34.8-28.2 63-63 63c-16.7 0-32.7-6.6-44.5-18.5l-8.2-8.2-8.2 8.2C204 473.4 188 480 171.3 480c-34.8 0-63-28.2-63-63v-3.3c0-13.3 3.4-26.5 9.8-38.1l17-30.8-30.8 17c-11.7 6.5-24.8 9.8-38.1 9.8H63c-34.8 0-63-28.2-63-63C0 292 6.6 276 18.5 264.2l8.2-8.2-8.2-8.2C6.6 236 0 220 0 203.3c0-34.8 28.2-63 63-63h3.3c13.3 0 26.5 3.4 38.1 9.8l30.8 17-17-30.8c-6.5-11.7-9.8-24.8-9.8-38.1V95c0-34.8 28.2-63 63-63z\"]\n};\nvar faMeat = {\n prefix: 'fal',\n iconName: 'meat',\n icon: [512, 512, [127830], \"f814\", \"M288.9 223.1c30 30 65.3 51.2 99.4 60.2c12.2 3.2 25.2 5 38 4.7l-17.3 17.3c-30 30-70.7 46.8-113.1 46.8H208c-26.5 0-48-21.5-48-48V216c0-42.4 16.9-83.1 46.9-113.1l17.2-17.2c-.3 12.8 1.5 25.8 4.7 38c9 34.1 30.2 69.4 60.2 99.4zm175.8 17.7c-31.2 31.2-99.7 13.1-153.2-40.3s-71.5-122-40.3-153.2c9.9-9.9 23.5-14.8 39.2-15.2c8.9 .2 18.1 1.6 27.1 3.9c28.9 7.6 59.6 25.9 86.1 52.3s44.7 57.2 52.3 86.1c2.3 8.9 3.7 17.9 3.9 26.8c-.4 15.9-5.3 29.6-15.3 39.6zM347.6 4.8c-12-3.2-24.8-5-37.4-4.7c-25.7-.3-52.7 6.9-74 28.2l-52 52c-36 36-56.2 84.8-56.2 135.8v72 16 2.7c0 4.2-1.7 8.3-4.7 11.3l-2 2-.1 0c-.1 0-.5 .1-1.2 .1c-1.5-.1-3.5-.7-5.2-2C102.9 309.3 88.1 304 72 304c-39.8 0-72 32.2-72 72c0 37.2 28.2 67.8 64.4 71.6C68.2 483.8 98.8 512 136 512c39.8 0 72-32.2 72-72c0-16.1-5.3-30.9-14.2-42.9c-1.2-1.7-1.9-3.7-2-5.2c0-.7 .1-1.1 .1-1.2l0-.1 2-2c3-3 7.1-4.7 11.3-4.7H208h16 72c50.9 0 99.7-20.2 135.7-56.2l52.1-52.1c21.4-21.4 28.6-48.6 28.1-74.5c.2-12.5-1.6-25-4.7-36.9c-9-34.1-30.2-69.4-60.2-99.4s-65.3-51.2-99.4-60.2zM165.9 372c-10.6 14.6-5.7 33.5 2.2 44.1c4.9 6.7 7.9 14.9 7.9 23.8c0 22.1-17.9 40-40 40s-40-17.9-40-40c0-13.1-10.9-24-24-24c-22.1 0-40-17.9-40-40s17.9-40 40-40c9 0 17.2 2.9 23.8 7.9c10.7 7.9 29.5 12.8 44.1 2.2c6.5 10.5 15.4 19.4 25.9 25.9zm186-211.9c15.3 15.3 34.9 20.4 43.8 11.5s3.8-28.5-11.5-43.8s-34.9-20.4-43.8-11.5s-3.8 28.5 11.5 43.8z\"]\n};\nvar faReply = {\n prefix: 'fal',\n iconName: 'reply',\n icon: [512, 512, [61714, \"mail-reply\"], \"f3e5\", \"M216 160c-13.3 0-24-10.7-24-24v-8V112 64L32 208 192 352l0-48V288v-8c0-13.3 10.7-24 24-24h8 96c70.7 0 128 57.3 128 128c0 8.3-.7 16.1-2 23.2c18.2-23.4 34-57.1 34-103.2c0-79.5-64.5-144-144-144H224h-8zm8 144v16 32c0 12.6-7.4 24.1-19 29.2s-25 3-34.4-5.4l-160-144C3.9 225.7 0 217.1 0 208s3.9-17.7 10.6-23.8l160-144c9.4-8.5 22.9-10.6 34.4-5.4s19 16.6 19 29.2V96v16 16h32 80c97.2 0 176 78.8 176 176c0 113.3-81.5 163.9-100.2 174.1c-2.5 1.4-5.3 1.9-8.1 1.9c-10.9 0-19.7-8.9-19.7-19.7c0-7.5 4.3-14.4 9.8-19.5c9.4-8.8 22.2-26.4 22.2-56.7c0-53-43-96-96-96H256 224v16z\"]\n};\nvar faMailReply = faReply;\nvar faStarAndCrescent = {\n prefix: 'fal',\n iconName: 'star-and-crescent',\n icon: [512, 512, [9770], \"f699\", \"M32 256c0 118.4 91.9 215.4 208.3 223.5C151.1 444.4 88 357.6 88 256S151.1 67.6 240.3 32.5C123.9 40.6 32 137.6 32 256zM349.6 17.7c7.4 2.9 11.5 10.7 9.8 18.4s-8.8 13-16.7 12.4c-4.8-.3-9.7-.5-14.6-.5c-114.9 0-208 93.1-208 208s93.1 208 208 208c4.9 0 9.8-.2 14.6-.5c7.9-.5 15 4.7 16.7 12.4s-2.4 15.5-9.8 18.4C320.6 505.7 289 512 256 512C114.6 512 0 397.4 0 256S114.6 0 256 0c33 0 64.6 6.3 93.6 17.7zm16.6 138.5l.3-.5 3.4-6.9 5.5-11.2c3.5-7.1 13.7-7.1 17.2 0l5.5 11.2 3.4 6.9 .3 .5 22.2 45.1c1.4 2.8 4.1 4.8 7.2 5.3l49.7 7.2 .6 .1 7.7 1.1 12.4 1.8c7.9 1.1 11 10.8 5.3 16.4l-9 8.7-5.5 5.4-.4 .4-36 35.1c-2.3 2.2-3.3 5.4-2.8 8.5l8.5 49.5 .1 .6 1.3 7.6 2.1 12.3c1.3 7.8-6.9 13.8-13.9 10.1l-11.1-5.8-6.8-3.6-.5-.3-44.5-23.4c-2.8-1.5-6.1-1.5-8.9 0L335 361.7l-.5 .3-6.8 3.6-11.1 5.8c-7 3.7-15.3-2.3-13.9-10.1l2.1-12.3 1.3-7.6 .1-.6 8.5-49.5c.5-3.1-.5-6.3-2.8-8.5l-36-35.1-.4-.4-5.5-5.4-9-8.7c-5.7-5.6-2.6-15.2 5.3-16.4l12.4-1.8 7.7-1.1 .6-.1 49.7-7.2c3.1-.5 5.8-2.4 7.2-5.3l22.2-45.1zm6.5 59.2c-6.1 12.3-17.8 20.8-31.3 22.8l-25.5 3.7 18.4 18c9.8 9.6 14.3 23.3 12 36.8L341.9 322l22.8-12c12.1-6.4 26.6-6.4 38.7 0l22.8 12-4.4-25.4c-2.3-13.5 2.2-27.3 12-36.8l18.4-18-25.5-3.7c-13.5-2-25.3-10.5-31.3-22.8L384 192.3l-11.4 23.1z\"]\n};\nvar faEmptySet = {\n prefix: 'fal',\n iconName: 'empty-set',\n icon: [512, 512, [8709, 216], \"f656\", \"M491.3 43.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-66 66C363.4 52.6 312.1 32 256 32C132.3 32 32 132.3 32 256c0 56.1 20.6 107.4 54.7 146.7l-66 66c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l66-66C148.6 459.4 199.9 480 256 480c123.7 0 224-100.3 224-224c0-56.1-20.6-107.4-54.7-146.7l66-66zM380 109.4L109.4 380C81.1 346.5 64 303.3 64 256C64 150 150 64 256 64c47.3 0 90.5 17.1 124 45.4zM132 402.6L402.6 132c28.3 33.5 45.4 76.7 45.4 124c0 106-86 192-192 192c-47.3 0-90.5-17.1-124-45.4z\"]\n};\nvar faHouseFire = {\n prefix: 'fal',\n iconName: 'house-fire',\n icon: [640, 512, [], \"e50c\", \"M298.6 4c-6-5.3-15.1-5.3-21.2 0L5.4 244c-6.6 5.8-7.3 16-1.4 22.6s16 7.3 22.6 1.4L64 235V432c0 44.2 35.8 80 80 80H374.3c-14.2-9.5-27.1-20.9-38.3-33.8V480H240V320h51.6c2.4-10.6 5.9-21.4 10.3-32H240c-17.7 0-32 14.3-32 32V480H144c-26.5 0-48-21.5-48-48V206.7L288 37.3 408.4 143.6c1.4-1.2 2.7-2.5 4.1-3.7c7.7-6.9 17.2-10.8 26.9-11.7L298.6 4zM447.1 193.1l47.4 49.8c3.1 3.2 7.4 5 11.9 5s8.7-2 11.7-5.4l21-23.7c16.6 15.9 33.7 37.3 46.7 60.7c13.7 24.6 22.2 50 22.2 72.6c0 33.5-12.7 63.9-33.6 86.6c1-5.2 1.6-10.7 1.6-16.2c0-57.4-63.8-110.5-87.4-128.2c-5.2-3.9-12.1-3.9-17.3 0C447.8 312.1 384 365.2 384 422.6c0 5.7 .6 11.2 1.6 16.6c-21-22.8-33.6-53.3-33.6-87c0-28.4 12.4-58.2 31.4-86.7c18.4-27.5 42-52.6 63.7-72.3zM480 480c-2.4 0-4.7-.1-7-.2c-33.7-3.2-57-29.4-57-57.3c0-17.4 10.1-37.7 27.4-58.5c12.1-14.5 25.8-27 36.6-35.8c10.7 8.8 24.5 21.3 36.6 35.8c17.3 20.7 27.4 41.1 27.4 58.5c0 27.8-23.2 54-56.9 57.3c-2.4 .1-4.7 .2-7.1 .2zM320 352.2c0 85.6 65.7 155 150.9 159.6c3 .3 6 .4 9.1 .4c3.1 0 6.2-.1 9.2-.4C573.6 507 640 437.7 640 352.2c0-30-11-60.9-26.2-88.1c-15.2-27.4-35.3-52.3-55-70.6c-11.2-10.4-28.5-10.4-39.7-.1c-.4 .4-.8 .7-1.1 1.2l-12.3 13.8-37.9-39.9c-.3-.3-.5-.5-.8-.8c-11.1-10.1-28.1-10.1-39.3-.1c-23.4 21.1-50 48.9-70.9 80.2C336 278.8 320 314.8 320 352.2z\"]\n};\nvar faSquareMinus = {\n prefix: 'fal',\n iconName: 'square-minus',\n icon: [448, 512, [61767, \"minus-square\"], \"f146\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM128 240H320c8.8 0 16 7.2 16 16s-7.2 16-16 16H128c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faMinusSquare = faSquareMinus;\nvar faHelicopter = {\n prefix: 'fal',\n iconName: 'helicopter',\n icon: [640, 512, [128641], \"f533\", \"M160 0c-8.8 0-16 7.2-16 16s7.2 16 16 16H352v96H144L110.4 83.2C101.3 71.1 87.1 64 72 64H44.8c-21 0-36.3 19.9-30.9 40.2l22.7 85.1c3.7 14 13.6 25.6 26.9 31.5l124.6 55.4c1.8 .8 3.4 1.9 4.8 3.3l90.4 90.4c9 9 21.3 14.1 34 14.1h.5 .5 .5 .5 .4 .4 .4 .4 .5 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4c30.9 0 56-25.1 56-56V272c0-79.5-64.5-144-144-144H384V32H576c8.8 0 16-7.2 16-16s-7.2-16-16-16H160zM72 96c5 0 9.8 2.4 12.8 6.4l38.4 51.2c3 4 7.8 6.4 12.8 6.4H352V352h-.1-.4-.4-.4-.4-.4-.4H349h-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4H341h-.4-.4-.4-.4-.4-.4H338h-.4-.4-.4-.4-.4-.4H335h-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4H328h-.4-.4-.4-.4-.4-.4-.4-.4H324h-.4-.4-.4-.4-.4-.4-.5-.4H320h-.4-.4-.5-.5-.5-.5c-4.3 0-8.3-1.7-11.3-4.7l-90.4-90.4c-4.2-4.2-9.1-7.5-14.4-9.9L76.5 191.6c-4.4-2-7.7-5.8-9-10.5L44.8 96H72zM384.4 352H384V160h48c61.9 0 112 50.1 112 112v56c0 13.2-10.8 24-24 24h-.4-.4-.4-.4-.4-.4H517h-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4H512h-.4-.4-.4-.4H510h-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4H505h-.4-.4-.4-.4H503h-.4-.4-.4-.4H501h-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4H489h-.4-.4-.4-.4H487h-.4-.4-.4-.4H485h-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4H478h-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4H473h-.4-.4-.4-.4H471h-.4-.4-.4-.4-.4-.4-.4H468h-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4H463h-.4-.4-.4-.4-.4-.4-.4H460h-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4H455h-.4-.4-.4-.4-.4-.4-.4H452h-.4-.4-.4-.4-.4-.4-.4H449h-.4-.4-.4-.4-.4-.4-.4H446h-.4-.4-.4-.4-.4-.4-.4H443h-.4-.4-.4-.4-.4-.4-.4H440h-.4-.4-.4-.4-.4-.4-.4H437h-.4-.4-.4-.4-.4-.4-.4H434h-.4-.4-.4-.4-.4-.4-.4H431h-.4-.4-.4-.4-.4-.4-.4H428h-.4-.4-.4-.4-.4-.4-.4H425h-.4-.4-.4-.4-.4-.4-.4H422h-.4-.4-.4-.4-.4-.4-.4H419h-.4-.4-.4-.4-.4-.4-.4H416h-.4-.4-.4-.4-.4-.4-.4H413h-.4-.4-.4-.4-.4-.4-.4H410h-.4-.4-.4-.4-.4-.4-.4H407h-.4-.4-.4-.4-.4-.4-.4H404h-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4H399h-.4-.4-.4-.4-.4-.4-.4H396h-.4-.4-.4-.4H394h-.4-.4-.4-.4-.4-.4-.4H391h-.4-.4-.4-.4H389h-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4zM635.3 475.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-8.6 8.6c-12 12-28.3 18.7-45.3 18.7H240c-8.8 0-16 7.2-16 16s7.2 16 16 16H558.9c25.5 0 49.9-10.1 67.9-28.1l8.6-8.6z\"]\n};\nvar faBird = {\n prefix: 'fal',\n iconName: 'bird',\n icon: [512, 512, [], \"e469\", \"M32 192H192c35.3 0 64-28.7 64-64V104c0-39.8 32.2-72 72-72s72 32.2 72 72v96c0 101.6-82.4 184-184 184S32 301.6 32 200v-8zM0 188.4V200C0 306.2 76.7 394.6 177.8 412.6l48.1 90.9c4.1 7.8 13.8 10.8 21.6 6.7s10.8-13.8 6.7-21.6L215.8 416l.2 0c19.3 0 37.9-2.5 55.7-7.3l50.2 94.7c4.1 7.8 13.8 10.8 21.6 6.7s10.8-13.8 6.7-21.6l-47.9-90.4C378.6 364.8 432 288.6 432 200V185.1l72.2-43.3c4.8-2.9 7.8-8.1 7.8-13.7s-2.9-10.8-7.8-13.7L425.2 66.8C410.2 27.8 372.3 0 328 0C270.6 0 224 46.6 224 104v24c0 17.7-14.3 32-32 32H28.4C12.7 160 0 172.7 0 188.4zM464.9 128L432 147.7V108.3L464.9 128zM328 144a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faCompass = {\n prefix: 'fal',\n iconName: 'compass',\n icon: [512, 512, [129517], \"f14e\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm92.6-389.1L202.1 171.8c-14.3 4.8-25.6 16-30.4 30.4L122.9 348.6c-8.3 25 15.5 48.8 40.5 40.5l146.5-48.8c14.3-4.8 25.6-16 30.4-30.4l48.8-146.5c8.3-25-15.5-48.8-40.5-40.5zm10.1 30.4L309.9 299.8c-1.6 4.8-5.3 8.5-10.1 10.1L153.3 358.7l48.8-146.5c1.6-4.8 5.3-8.5 10.1-10.1l146.5-48.8zM256 280a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faSquareCaretDown = {\n prefix: 'fal',\n iconName: 'square-caret-down',\n icon: [448, 512, [\"caret-square-down\"], \"f150\", \"M64 448c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32H384c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H64zM0 416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416zm224-64c9.6 0 18.7-4 25.2-11l95.5-102.8c4.7-5.1 7.3-11.8 7.3-18.7c0-15.2-12.3-27.5-27.5-27.5h-201C108.3 192 96 204.3 96 219.5c0 6.9 2.6 13.6 7.3 18.7L198.8 341c6.5 7 15.6 11 25.2 11zm-1.7-32.7L133.8 224H314.2l-88.4 95.3c-.4 .5-1.1 .7-1.7 .7s-1.3-.3-1.7-.7z\"]\n};\nvar faCaretSquareDown = faSquareCaretDown;\nvar faHeartHalfStroke = {\n prefix: 'fal',\n iconName: 'heart-half-stroke',\n icon: [512, 512, [\"heart-half-alt\"], \"e1ac\", \"M272 126.1l7.9-8.9 4.2-4.7c26-29.2 65.3-42.8 103.8-35.8c53.3 9.7 92 56.1 92 110.3v3.5c0 32.3-13.4 63.1-37 85.1L272 434.7V126.1zM256.3 448c-.1 0-.2 0-.3 0s-.2 0-.3 0h.5zM240 434.7L69.1 275.5C45.4 253.5 32 222.7 32 190.4v-3.5c0-54.2 38.7-100.6 92-110.3c38.5-7 77.8 6.6 103.8 35.8l4.2 4.7 7.9 8.9V434.7zM393.7 45.1c-40.9-7.4-82.6 3.2-114.7 28.4c-1.8 1.4-3.6 2.9-5.4 4.5c-4.7 4.1-9.1 8.4-13.3 13.1L256 95.9l-4.2-4.7c-5.8-6.5-12-12.4-18.7-17.6C201 48.4 159.3 37.7 118.3 45.1C49.8 57.6 0 117.3 0 186.9v3.5c0 36 13.1 70.6 36.6 97.5c3.4 3.8 6.9 7.5 10.7 11l184 171.3c6.7 6.3 15.6 9.7 24.8 9.7c8 0 15.8-2.7 22.1-7.5c.9-.7 1.8-1.4 2.6-2.2L464.8 299c3.8-3.5 7.3-7.2 10.7-11C498.9 261 512 226.4 512 190.4v-3.5c0-69.6-49.8-129.3-118.3-141.8z\"]\n};\nvar faHeartHalfAlt = faHeartHalfStroke;\nvar faFileCircleQuestion = {\n prefix: 'fal',\n iconName: 'file-circle-question',\n icon: [576, 512, [], \"e4ef\", \"M64 480H296.2c9.8 11.8 21 22.3 33.5 31.3c-3.2 .5-6.4 .7-9.7 .7H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H220.1c12.7 0 24.9 5.1 33.9 14.1L369.9 129.9c9 9 14.1 21.2 14.1 33.9v34.7c-11.2 3.2-21.9 7.4-32 12.6V192H240c-26.5 0-48-21.5-48-48V32H64C46.3 32 32 46.3 32 64V448c0 17.7 14.3 32 32 32zM351.5 160c-.7-2.8-2.1-5.4-4.2-7.4L231.4 36.7c-2.1-2.1-4.6-3.5-7.4-4.2V144c0 8.8 7.2 16 16 16H351.5zM544 368a112 112 0 1 0 -224 0 112 112 0 1 0 224 0zm-256 0a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144 48a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm-64-86.4c0-23 18.6-41.6 41.6-41.6h40.5c25.4 0 45.9 20.6 45.9 45.9c0 17.1-9.5 32.7-24.5 40.6l-23.7 12.5c-1.4 7.4-7.9 12.9-15.7 12.9c-8.8 0-16-7.2-16-16v-6.8c0-5.9 3.3-11.4 8.6-14.2l32-16.8c4.6-2.4 7.4-7.2 7.4-12.3c0-7.7-6.2-13.9-13.9-13.9H409.6c-5.3 0-9.6 4.3-9.6 9.6V336c0 8.8-7.2 16-16 16s-16-7.2-16-16v-6.4z\"]\n};\nvar faTruckUtensils = {\n prefix: 'fal',\n iconName: 'truck-utensils',\n icon: [640, 512, [], \"e628\", \"M64 32C46.3 32 32 46.3 32 64V352c0 17.7 14.3 32 32 32h5.5c13.2-37.3 48.7-64 90.5-64s77.4 26.7 90.5 64H384V64c0-17.7-14.3-32-32-32H64zm0 384c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H352c35.3 0 64 28.7 64 64V96h65.3c14 0 27.3 6.1 36.4 16.8l78.7 91.8c7.5 8.7 11.6 19.8 11.6 31.2V384h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H576c0 53-43 96-96 96s-96-43-96-96H256c0 53-43 96-96 96s-96-43-96-96zM570.9 224l-77.5-90.4c-3-3.5-7.5-5.6-12.1-5.6H416v96H570.9zM416 256v88.4c17-15.2 39.4-24.4 64-24.4c41.8 0 77.4 26.7 90.5 64H576V256H416zM224 416A64 64 0 1 0 96 416a64 64 0 1 0 128 0zm256 64a64 64 0 1 0 0-128 64 64 0 1 0 0 128zM288 224V128 97.3c-18.4 4.7-32 21.4-32 41.3V224h32zm0 80V256H256c-17.7 0-32-14.3-32-32V138.7C224 97.4 257.4 64 298.7 64c11.8 0 21.3 9.6 21.3 21.3V128v96 32 48c0 8.8-7.2 16-16 16s-16-7.2-16-16zM160 206.1V272c0 8.8-7.2 16-16 16s-16-7.2-16-16V206.1c-31.6-7.6-54.4-37.2-52-71.1l4-56.1C80.7 70 88.3 63.4 97.1 64s15.4 8.3 14.8 17.1l-4 56.1C106.5 158.2 123 176 144 176s37.5-17.8 36.1-38.7l-4-56.1c-.6-8.8 6-16.5 14.8-17.1s16.5 6 17.1 14.8l4 56.1c2.4 33.9-20.4 63.5-52 71.1zM160 80v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V80c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faLaptopCode = {\n prefix: 'fal',\n iconName: 'laptop-code',\n icon: [640, 512, [], \"f5fc\", \"M128 64H512c17.7 0 32 14.3 32 32V352h32V96c0-35.3-28.7-64-64-64H128C92.7 32 64 60.7 64 96V352H96V96c0-17.7 14.3-32 32-32zM33.9 416H606.1c-5.5 18.5-22.6 32-42.9 32H76.8c-20.3 0-37.4-13.5-42.9-32zM19.2 384C8.6 384 0 392.6 0 403.2C0 445.6 34.4 480 76.8 480H563.2c42.4 0 76.8-34.4 76.8-76.8c0-10.6-8.6-19.2-19.2-19.2H19.2zM283.3 171.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-64 64c-6.2 6.2-6.2 16.4 0 22.6l64 64c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L230.6 224l52.7-52.7zm96-22.6c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L409.4 224l-52.7 52.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l64-64c6.2-6.2 6.2-16.4 0-22.6l-64-64z\"]\n};\nvar faJoystick = {\n prefix: 'fal',\n iconName: 'joystick',\n icon: [448, 512, [128377], \"f8c5\", \"M304 112a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zm32 0c0 56.4-41.7 103.1-96 110.9V320H208V222.9c-54.3-7.8-96-54.4-96-110.9C112 50.1 162.1 0 224 0s112 50.1 112 112zM64 304c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16zM416 416c0-17.7-14.3-32-32-32H64c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V416zM64 352H384c35.3 0 64 28.7 64 64v32c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V416c0-35.3 28.7-64 64-64zM208 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faGrillFire = {\n prefix: 'fal',\n iconName: 'grill-fire',\n icon: [576, 512, [], \"e5a4\", \"M408 64L40 64c-4.4 0-8 3.6-8 8l0 24c0 106 86 192 192 192c4.7 0 9.4-.2 14-.5c-4.4 10.8-8 21.7-10.5 32.5c-1.2 0-2.4 0-3.6 0c-19.9 0-39.2-2.6-57.6-7.5l-26.1 57.3c4.3 4.2 8.1 8.9 11.1 14.1l75.5 0c1.9 11 4.8 21.7 8.5 32L160 416c0 35.3-28.7 64-64 64s-64-28.7-64-64s28.7-64 64-64c5.7 0 11.1 .7 16.4 2.1l23.7-52C56 267.9 0 188.5 0 96L0 72C0 49.9 17.9 32 40 32l368 0c22.1 0 40 17.9 40 40l0 24c0 24.1-3.8 47.3-10.9 69.1c-8.5-8.6-17.2-17-26.2-25.1c0 0 0 0 0 0c3.3-14.1 5.1-28.8 5.1-44l0-24c0-4.4-3.6-8-8-8zM96 384a32 32 0 1 0 0 64 32 32 0 1 0 0-64zM383.1 193.1c-21.7 19.8-45.3 44.8-63.7 72.3c-19 28.5-31.4 58.3-31.4 86.7c0 33.7 12.7 64.2 33.6 87c-1.1-5.4-1.6-10.9-1.6-16.6c0-57.4 63.8-110.5 87.4-128.2c5.2-3.9 12.1-3.9 17.3 0c23.6 17.7 87.4 70.8 87.4 128.2c0 5.5-.5 10.9-1.6 16.2C531.3 416 544 385.7 544 352.2c0-22.6-8.5-48-22.2-72.6c-13-23.4-30.1-44.9-46.7-60.7l-21 23.7c-3 3.3-7.2 5.3-11.7 5.4s-8.8-1.7-11.9-5l-47.4-49.8zM416 480c2.4 0 4.8-.1 7.1-.2c33.7-3.3 56.9-29.4 56.9-57.3c0-17.4-10.1-37.7-27.4-58.5c-12.1-14.5-25.8-27-36.6-35.8c-10.7 8.8-24.5 21.3-36.6 35.8c-17.3 20.7-27.4 41.1-27.4 58.5c0 27.9 23.3 54 57 57.3c2.3 .1 4.7 .2 7 .2zM256 352.2c0-37.3 16-73.4 36.8-104.5c20.9-31.3 47.5-59 70.9-80.2c11.1-10.1 28.2-10 39.3 .1c.3 .3 .6 .5 .8 .8l37.9 39.9L454 194.5c.4-.4 .7-.8 1.1-1.2c11.2-10.3 28.5-10.3 39.7 .1c19.7 18.3 39.8 43.2 55 70.6C565 291.2 576 322.2 576 352.2c0 85.6-66.4 154.9-150.8 159.6c-3 .3-6.1 .4-9.2 .4c-3.1 0-6.1-.1-9.1-.4c-85.2-4.6-150.9-74-150.9-159.6z\"]\n};\nvar faRectangleVerticalHistory = {\n prefix: 'fal',\n iconName: 'rectangle-vertical-history',\n icon: [576, 512, [], \"e237\", \"M256 32c-17.7 0-32 14.3-32 32V448c0 17.7 14.3 32 32 32H512c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H256zM192 64c0-35.3 28.7-64 64-64H512c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H256c-35.3 0-64-28.7-64-64V64zM96 64c0-8.8 7.2-16 16-16s16 7.2 16 16V448c0 8.8-7.2 16-16 16s-16-7.2-16-16V64zM0 112c0-8.8 7.2-16 16-16s16 7.2 16 16V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V112z\"]\n};\nvar faSwatchbook = {\n prefix: 'fal',\n iconName: 'swatchbook',\n icon: [512, 512, [], \"f5c3\", \"M0 416c0 53 43 96 96 96H456c30.9 0 56-25.1 56-56V376c0-30.9-25.1-56-56-56H331.7L419 232.7c21.9-21.9 21.9-57.3 0-79.2L362.4 97c-21.9-21.9-57.3-21.9-79.2 0L192 188.2V56c0-30.9-25.1-56-56-56H56C25.1 0 0 25.1 0 56V416zm456 64H171.7l128-128H456c13.3 0 24 10.7 24 24v80c0 13.3-10.7 24-24 24zM396.4 210.1L192 414.5v-181L305.9 119.6c9.4-9.4 24.6-9.4 33.9 0l56.6 56.6c9.4 9.4 9.4 24.6 0 33.9zM96 480c-35.3 0-64-28.7-64-64l0-128H160V416c0 35.3-28.7 64-64 64zM32 256V160H160v96H32zm0-128V56c0-13.3 10.7-24 24-24l80 0c13.3 0 24 10.7 24 24v72H32zM96 440a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faPrescriptionBottle = {\n prefix: 'fal',\n iconName: 'prescription-bottle',\n icon: [384, 512, [], \"f485\", \"M336 32c8.8 0 16 7.2 16 16V80c0 8.8-7.2 16-16 16H48c-8.8 0-16-7.2-16-16V48c0-8.8 7.2-16 16-16H336zM48 0C21.5 0 0 21.5 0 48V80c0 26.5 21.5 48 48 48H336c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H48zM32 160V448c0 35.3 28.7 64 64 64H288c35.3 0 64-28.7 64-64V160H320V448c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V416h80c8.8 0 16-7.2 16-16s-7.2-16-16-16H64V320h80c8.8 0 16-7.2 16-16s-7.2-16-16-16H64V224h80c8.8 0 16-7.2 16-16s-7.2-16-16-16H64V160H32z\"]\n};\nvar faBars = {\n prefix: 'fal',\n iconName: 'bars',\n icon: [448, 512, [\"navicon\"], \"f0c9\", \"M0 80c0-8.8 7.2-16 16-16H432c8.8 0 16 7.2 16 16s-7.2 16-16 16H16C7.2 96 0 88.8 0 80zM0 240c0-8.8 7.2-16 16-16H432c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16-7.2-16-16zM448 400c0 8.8-7.2 16-16 16H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H432c8.8 0 16 7.2 16 16z\"]\n};\nvar faNavicon = faBars;\nvar faKeyboardLeft = {\n prefix: 'fal',\n iconName: 'keyboard-left',\n icon: [640, 512, [], \"e1c3\", \"M576 96c17.7 0 32 14.3 32 32V384c0 17.7-14.3 32-32 32H224c-17.7 0-32-14.3-32-32V128c0-17.7 14.3-32 32-32H576zM224 64c-35.3 0-64 28.7-64 64V384c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H224zm8 88v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V152c0-8.8-7.2-16-16-16H248c-8.8 0-16 7.2-16 16zm16 80c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V248c0-8.8-7.2-16-16-16H248zM232 344v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V344c0-8.8-7.2-16-16-16H248c-8.8 0-16 7.2-16 16zM344 136c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V152c0-8.8-7.2-16-16-16H344zM328 248v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V248c0-8.8-7.2-16-16-16H344c-8.8 0-16 7.2-16 16zM440 136c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V152c0-8.8-7.2-16-16-16H440zM424 248v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V248c0-8.8-7.2-16-16-16H440c-8.8 0-16 7.2-16 16zM536 136c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V152c0-8.8-7.2-16-16-16H536zM520 248v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V248c0-8.8-7.2-16-16-16H536c-8.8 0-16 7.2-16 16zm16 80c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V344c0-8.8-7.2-16-16-16H536zM320 352c0 8.8 7.2 16 16 16H464c8.8 0 16-7.2 16-16s-7.2-16-16-16H336c-8.8 0-16 7.2-16 16zM107.3 187.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-80 80c-6.2 6.2-6.2 16.4 0 22.6l80 80c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L38.6 256l68.7-68.7z\"]\n};\nvar faPeopleGroup = {\n prefix: 'fal',\n iconName: 'people-group',\n icon: [640, 512, [], \"e533\", \"M128 64a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0 80a56 56 0 1 0 0-112 56 56 0 1 0 0 112zM0 280c0 43.3 26.4 80.4 64 96v48c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24V384c0-8.8-7.2-16-16-16s-16 7.2-16 16v32H96V208.4c2.6-.3 5.3-.4 8-.4h48c9.3 0 18.1 1.7 26.2 4.9c8.2 3.2 17.5-.9 20.7-9.1s-.9-17.5-9.1-20.7c-11.7-4.6-24.5-7.1-37.8-7.1H104C46.6 176 0 222.6 0 280zm64 59.9C44.7 327 32 304.9 32 280c0-25 12.7-47 32-59.9V339.9zM512 64a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0 80a56 56 0 1 0 0-112 56 56 0 1 0 0 112zM640 280c0-57.4-46.6-104-104-104H488c-13.3 0-26.1 2.5-37.8 7.1c-8.2 3.2-12.3 12.5-9.1 20.7s12.5 12.3 20.7 9.1c8.1-3.2 16.9-4.9 26.2-4.9h48c2.7 0 5.4 .1 8 .4V416H480V384c0-8.8-7.2-16-16-16s-16 7.2-16 16v40c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24V376c37.6-15.7 64-52.7 64-96zm-64 59.9V220.1C595.3 233 608 255 608 280c0 24.9-12.7 47-32 59.9zM288 96a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm96 0A64 64 0 1 0 256 96a64 64 0 1 0 128 0zm-80 96c-57.4 0-104 46.6-104 104c0 40.1 22.7 74.9 56 92.3V456c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24V388.3c33.3-17.3 56-52.1 56-92.3c0-57.4-46.6-104-104-104H304zm-48 50.3V349.7c-14.7-13.2-24-32.4-24-53.7c0-21.3 9.3-40.5 24-53.7zM288 448V225.8c5.1-1.2 10.5-1.8 16-1.8h32c5.5 0 10.9 .6 16 1.8V448H288zm96-98.3V242.3c14.7 13.2 24 32.3 24 53.7c0 21.3-9.3 40.5-24 53.7z\"]\n};\nvar faHourglassEnd = {\n prefix: 'fal',\n iconName: 'hourglass-end',\n icon: [384, 512, [8987, \"hourglass-3\"], \"f253\", \"M0 16C0 7.2 7.2 0 16 0H48 336h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H352V73.6c0 49.4-22.8 96-61.8 126.3L218.1 256l72.2 56.1c39 30.3 61.8 76.9 61.8 126.3V480h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H336 48 16c-8.8 0-16-7.2-16-16s7.2-16 16-16H32V438.4c0-49.4 22.8-96 61.8-126.3L165.9 256 93.8 199.9C54.8 169.6 32 122.9 32 73.6V32H16C7.2 32 0 24.8 0 16zM64 32V73.6c0 39.5 18.2 76.8 49.4 101L192 235.7l78.6-61.1c31.2-24.3 49.4-61.5 49.4-101V32H64zm49.4 305.4c-5.7 4.5-11 9.3-15.8 14.6H286.4c-4.8-5.3-10.1-10.2-15.8-14.6L192 276.3l-78.6 61.1zM76.1 384C68.2 400.8 64 419.4 64 438.4V480H320V438.4c0-19.1-4.2-37.6-12.1-54.4H76.1z\"]\n};\nvar faHourglass3 = faHourglassEnd;\nvar faHeartCrack = {\n prefix: 'fal',\n iconName: 'heart-crack',\n icon: [512, 512, [128148, \"heart-broken\"], \"f7a9\", \"M272 126.1l7.9-8.9 4.2-4.7c26-29.2 65.3-42.8 103.8-35.8c53.3 9.7 92 56.1 92 110.3v3.5c0 32.3-13.4 63.1-37 85.1L259 446.8c-.8 .7-1.9 1.2-3 1.2s-2.2-.4-3-1.2L69.1 275.5C45.4 253.5 32 222.7 32 190.4v-3.5c0-54.2 38.7-100.6 92-110.3c38.5-7 77.8 6.6 103.8 35.8l4.2 4.7 7.9 8.9V144c0 4.2 1.7 8.3 4.7 11.3l34.2 34.2-79.8 53.2c-3.7 2.5-6.2 6.4-6.9 10.9s.5 8.9 3.3 12.4l64 80c5.5 6.9 15.6 8 22.5 2.5s8-15.6 2.5-22.5l-53.1-66.4 81.5-54.3c4-2.7 6.6-7 7-11.7s-1.2-9.5-4.6-12.9L272 137.4V126.1zM393.7 45.1c-40.9-7.4-82.6 3.2-114.7 28.4c-1.8 1.4-3.6 2.9-5.4 4.5c-4.7 4.1-9.1 8.4-13.3 13.1L256 95.9l-4.2-4.7c-5.8-6.5-12-12.4-18.7-17.6C201 48.4 159.3 37.7 118.3 45.1C49.8 57.6 0 117.3 0 186.9v3.5c0 36 13.1 70.6 36.6 97.5c3.4 3.8 6.9 7.5 10.7 11l184 171.3c6.7 6.3 15.6 9.7 24.8 9.7c8 0 15.8-2.7 22.1-7.5c.9-.7 1.8-1.4 2.6-2.2L464.8 299c3.8-3.5 7.3-7.2 10.7-11C498.9 261 512 226.4 512 190.4v-3.5c0-69.6-49.8-129.3-118.3-141.8z\"]\n};\nvar faHeartBroken = faHeartCrack;\nvar faFaceBeamHandOverMouth = {\n prefix: 'fal',\n iconName: 'face-beam-hand-over-mouth',\n icon: [512, 512, [129325], \"e47c\", \"M32 256C32 132.3 132.3 32 256 32s224 100.3 224 224c0 57.4-21.6 109.7-57 149.3c-5.9 6.6-5.3 16.7 1.3 22.6s16.7 5.3 22.6-1.3C487.3 381.4 512 321.6 512 256C512 114.6 397.4 0 256 0S0 114.6 0 256c0 57.6 19.1 110.8 51.2 153.6c5.3 7.1 15.3 8.5 22.4 3.2s8.5-15.3 3.2-22.4C48.7 353 32 306.5 32 256zm111.5-76.1c2.1-8.6 6.7-18.2 12.9-25.4c6.2-7.1 12.8-10.5 19.5-10.5s13.4 3.4 19.5 10.5c6.2 7.2 10.8 16.8 12.9 25.4c2.1 8.6 10.8 13.8 19.4 11.6s13.8-10.8 11.6-19.4c-3.2-12.7-9.8-27.1-19.9-38.6C209.6 121.9 194.8 112 176 112s-33.6 9.9-43.7 21.5c-10 11.5-16.7 25.9-19.9 38.6c-2.1 8.6 3.1 17.3 11.6 19.4s17.3-3.1 19.4-11.6zm172.9-25.4c6.2-7.1 12.8-10.5 19.5-10.5s13.4 3.4 19.5 10.5c6.2 7.2 10.8 16.8 12.9 25.4c2.1 8.6 10.8 13.8 19.4 11.6s13.8-10.8 11.6-19.4c-3.2-12.7-9.8-27.1-19.9-38.6C369.6 121.9 354.8 112 336 112s-33.6 9.9-43.7 21.5c-10 11.5-16.7 25.9-19.9 38.6c-2.1 8.6 3.1 17.3 11.6 19.4s17.3-3.1 19.4-11.6c2.1-8.6 6.7-18.2 12.9-25.4zM265.3 301.3L248 318.6l0 0c-2.6 2.6-2.6 6.8 0 9.4s6.8 2.6 9.4 0l0 0 17.3-17.3 34-34 16-16c3.1-3.1 7.2-4.7 11.3-4.7s8.2 1.6 11.3 4.7s4.7 7.2 4.7 11.3s-1.6 8.2-4.7 11.3l0 0-16 16-34 34L280 350.6c-2.6 2.6-2.6 6.8 0 9.4s6.8 2.6 9.4 0l0 0 17.3-17.3 34-34 0 0 0 0c6.2-6.2 16.4-6.2 22.6 0c.7 .7 1.3 1.4 1.8 2.1c4.4 6.2 3.8 14.9-1.8 20.5l0 0-5.1 5.1-26.9 26.9-2 2L312 382.6c-2.6 2.6-2.6 6.8 0 9.4s6.8 2.6 9.4 0l17.3-17.3 2-2c6.2-6.2 16.4-6.2 22.6 0c.7 .7 1.3 1.4 1.8 2.1c4.4 6.2 3.8 14.9-1.8 20.5L344 414.6l-37.5 37.5C288.7 470 264.4 480 239.2 480c-52.6 0-95.2-42.6-95.2-95.2V352 298.4c0-11 9-20 20-20c9.1 0 16.8 6.1 19.2 14.5c.2 .8 .4 1.7 .6 2.5c.1 1 .2 2 .2 3v11.7 8c0 7.1 8.6 10.7 13.7 5.7l5.7-5.7 10.4-10.4 2.3-2.3 9.4-9.4 0 0 51.3-51.3c5.6-5.6 14.3-6.2 20.5-1.8c.7 .5 1.4 1.1 2.1 1.8c6.2 6.2 6.2 16.4 0 22.6l0 0-34 34zm-11.3-79.2L207 269.1c-9.4-13.7-25.1-22.7-43-22.7c-28.7 0-52 23.3-52 52V352v32.8C112 455.1 168.9 512 239.2 512c33.7 0 66.1-13.4 89.9-37.3l56.8-56.8c18.1-18.1 18.7-47.1 1.8-65.9c16.9-18.8 16.3-47.8-1.8-65.9c-1-1-2.1-2-3.2-3c3.7-15.7-.5-32.8-12.8-45s-29.4-16.5-45-12.8c-.9-1.1-1.9-2.2-3-3.2c-18.7-18.7-49.1-18.7-67.9 0z\"]\n};\nvar faDropletPercent = {\n prefix: 'fal',\n iconName: 'droplet-percent',\n icon: [384, 512, [\"humidity\"], \"f750\", \"M192 480c-88.4 0-160-71.6-160-160c0-16.2 6.1-39.2 18.3-67.5c11.9-27.6 28.5-57.5 46.6-86.8c35.9-58 76.4-110.9 94.5-133.7h1.3c18.1 22.9 58.6 75.7 94.5 133.7c18.1 29.2 34.6 59.1 46.6 86.8C345.9 280.8 352 303.8 352 320c0 88.4-71.6 160-160 160zM0 320C0 426 86 512 192 512s192-86 192-192c0-91.2-130.2-262.3-166.6-308.3C211.4 4.2 202.5 0 192.9 0h-1.8c-9.6 0-18.5 4.2-24.5 11.7C130.2 57.7 0 228.8 0 320zm267.3-52.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-128 128c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l128-128zM160 264a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm88 136a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faHumidity = faDropletPercent;\nvar faSquareUpRight = {\n prefix: 'fal',\n iconName: 'square-up-right',\n icon: [448, 512, [8599, \"external-link-square-alt\"], \"f360\", \"M384 64c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32H384zm64 32c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96zM304 184V297.4c0 3.7-3 6.6-6.6 6.6c-1.8 0-3.4-.7-4.7-1.9l-25.4-25.4c-6.2-6.2-16.4-6.2-22.6 0l-59.1 59.1c-3.6 3.6-9 4.9-13.9 3.3c-2-.7-3.8-1.8-5.3-3.3l-22.1-22.1c-1.5-1.5-2.6-3.3-3.3-5.3c-1.6-4.9-.4-10.3 3.3-13.9l59.1-59.1c6.2-6.2 6.2-16.4 0-22.6l-25.4-25.4c-1.2-1.2-1.9-2.9-1.9-4.7c0-3.7 3-6.6 6.6-6.6H296c4.4 0 8 3.6 8 8zm-8-40H182.6c-21.3 0-38.6 17.3-38.6 38.6c0 10.2 4.1 20.1 11.3 27.3L169.4 224l-47.7 47.7c-12.2 12.2-16.5 30.3-11 46.7c2.2 6.7 6 12.8 11 17.8l22.1 22.1c5 5 11.1 8.8 17.8 11c16.4 5.5 34.5 1.2 46.7-11L256 310.6l14.1 14.1c7.2 7.2 17.1 11.3 27.3 11.3c21.3 0 38.6-17.3 38.6-38.6V184c0-22.1-17.9-40-40-40z\"]\n};\nvar faExternalLinkSquareAlt = faSquareUpRight;\nvar faFaceKissBeam = {\n prefix: 'fal',\n iconName: 'face-kiss-beam',\n icon: [512, 512, [128537, \"kiss-beam\"], \"f597\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm276.7 48.5c-10.8-5.3-25.3-9.2-38.6-11c-7.4-1-12.6-7.9-11.6-15.4s7.9-12.6 15.4-11.6c15.2 2.1 32.7 6.6 46.8 13.6c7 3.4 13.9 7.8 19.2 13.4c5.4 5.6 9.8 13.2 9.8 22.5s-4.4 16.9-9.8 22.5c-5.3 5.5-12.2 9.9-19.2 13.4l-.2 .1 .2 .1c7 3.4 13.9 7.8 19.2 13.4c5.4 5.6 9.8 13.2 9.8 22.5s-4.4 16.9-9.8 22.5c-5.3 5.5-12.2 9.9-19.2 13.4c-14.1 6.9-31.6 11.4-46.8 13.6c-7.4 1-14.3-4.1-15.4-11.6s4.1-14.3 11.6-15.4c13.3-1.9 27.8-5.8 38.6-11c5.4-2.7 9.2-5.3 11.5-7.7c2.7-2.9 2.7-4.7 0-7.6c-2.3-2.4-6.1-5.1-11.5-7.7c-10.7-5.3-25.1-9.1-38.3-11c-6.7-.8-12-6.7-12-13.5c0-6.8 5.3-12.7 12-13.5c13.2-1.9 27.6-5.8 38.3-11c5.4-2.7 9.2-5.3 11.5-7.7c2.7-2.9 2.7-4.7 0-7.6c-2.3-2.4-6.1-5.1-11.5-7.7zm-120.2-110c-6.2 7.2-10.8 16.8-12.9 25.4c-2.1 8.6-10.8 13.8-19.4 11.6s-13.8-10.8-11.6-19.4c3.2-12.7 9.8-27.1 19.9-38.6C142.4 161.9 157.2 152 176 152s33.6 9.9 43.7 21.5c10 11.5 16.7 25.9 19.9 38.6c2.1 8.6-3.1 17.3-11.6 19.4s-17.3-3.1-19.4-11.6c-2.1-8.6-6.7-18.2-12.9-25.4c-6.2-7.1-12.8-10.5-19.5-10.5s-13.4 3.4-19.5 10.5zm147.1 25.4c-2.1 8.6-10.8 13.8-19.4 11.6s-13.8-10.8-11.6-19.4c3.2-12.7 9.8-27.1 19.9-38.6C302.4 161.9 317.2 152 336 152s33.6 9.9 43.7 21.5c10 11.5 16.7 25.9 19.9 38.6c2.1 8.6-3.1 17.3-11.6 19.4s-17.3-3.1-19.4-11.6c-2.1-8.6-6.7-18.2-12.9-25.4c-6.2-7.1-12.8-10.5-19.5-10.5s-13.4 3.4-19.5 10.5c-6.2 7.2-10.8 16.8-12.9 25.4z\"]\n};\nvar faKissBeam = faFaceKissBeam;\nvar faCorn = {\n prefix: 'fal',\n iconName: 'corn',\n icon: [512, 512, [127805], \"f6c7\", \"M448 0c-14.6 0-28.1 4.9-38.8 13.1C401.4 9.8 392.9 8 384 8c-20.3 0-38.5 9.5-50.2 24.3c-1.9-.2-3.9-.3-5.8-.3c-20.3 0-38.5 9.5-50.2 24.3c-1.9-.2-3.9-.3-5.8-.3c-21.9 0-41.2 11-52.7 27.7c7.7 10.3 14.7 21 21 32c0-.2 .1-.4 .1-.6C242.7 99.8 256 88 272 88c3.1 0 6.1 .4 8.9 1.3c7.3 2.1 15.1-1.2 18.6-8C304.9 71 315.7 64 328 64c3.1 0 6.1 .4 8.9 1.3c7.3 2.1 15.1-1.2 18.6-8C360.9 47 371.7 40 384 40c6.9 0 13.2 2.1 18.4 5.8c6.7 4.7 16 3.6 21.3-2.7C429.6 36.3 438.3 32 448 32c17.7 0 32 14.3 32 32c0 9.7-4.3 18.4-11.2 24.3c-6.2 5.4-7.4 14.6-2.6 21.3c3.7 5.2 5.8 11.5 5.8 18.4c0 12.3-7 23.1-17.3 28.4c-6.8 3.5-10.1 11.3-8 18.6c.8 2.8 1.3 5.8 1.3 8.9c0 12.3-7 23.1-17.3 28.4c-6.8 3.5-10.1 11.3-8 18.6c.8 2.8 1.3 5.8 1.3 8.9c0 10.9-5.4 20.5-13.7 26.3c8.7 6.3 17.1 13.4 24.9 21C448 275.6 456 258.7 456 240c0-2-.1-3.9-.3-5.8C470.5 222.5 480 204.3 480 184c0-2-.1-3.9-.3-5.8C494.5 166.5 504 148.3 504 128c0-8.9-1.8-17.4-5.1-25.2C507.1 92.1 512 78.6 512 64c0-35.3-28.7-64-64-64zM163.3 68.7c-3.9-3.9-9.6-5.5-15-4.3s-9.7 5.3-11.5 10.5l-22 65.9c-.7 2-1.7 3.9-3.1 5.5l-76.1 87C12.7 259.5 0 293.2 0 328.1V342c0 36.2 13.6 71.1 38.2 97.7l24 26C89.5 495.2 127.9 512 168 512H179c38.2 0 74.8-15.2 101.8-42.2l69.5-69.5c1.7-1.7 3.6-2.9 5.8-3.7L437.5 367c5.1-1.9 9-6.2 10.2-11.6s-.4-10.9-4.3-14.8l-29.1-29.1C378.6 276 330.3 256 280 256c-10.8 0-21.6 .9-32.1 2.7c-1.9-69.5-30.3-135.7-79.6-185l-5-5zM216 266v1.1c-26.2 9.4-50.2 24.5-70.2 44.5l-94 94C39 387 32 364.8 32 342V328.1c0-27.1 9.8-53.3 27.7-73.8l76.1-87c4.2-4.8 7.4-10.4 9.4-16.4l13.5-40.5C195.6 153.7 216 208.8 216 266zM85.7 444l-13-14.1 95.7-95.7C198 304.6 238.1 288 280 288s82 16.6 111.6 46.2l11.3 11.3-57.7 21c-6.6 2.4-12.6 6.2-17.5 11.2l-69.5 69.5c-21 21-49.5 32.8-79.2 32.8H168c-31.3 0-61.1-13.1-82.3-36z\"]\n};\nvar faRollerCoaster = {\n prefix: 'fal',\n iconName: 'roller-coaster',\n icon: [640, 512, [], \"e324\", \"M144 64c-5.4 0-10.8 .4-16 1.1V464c0 8.8-7.2 16-16 16s-16-7.2-16-16V74.8C58.2 92.8 32 131.3 32 176V464c0 8.8-7.2 16-16 16s-16-7.2-16-16V176C0 96.5 64.5 32 144 32h6.6c46.2 0 89.7 22.2 116.7 59.7L392.7 265.4c24.8 34.3 64.5 54.6 106.8 54.6H512c53 0 96-43 96-96v-5c0-40.9-26.9-75.4-64-86.9V272c-6.7 5-15 8-24 8h-8V128.1c-22.5 .8-44.4 6.8-64 17.5V263.2c-9.2-6.3-17.3-14.2-23.9-23.4L416 228.5V169l-21.4 19L373.4 164l26.4-23.5C432.1 111.9 473.8 96 517 96c67.9 0 123 55.1 123 123v5V464c0 8.8-7.2 16-16 16s-16-7.2-16-16V308.7c-23.5 26.6-57.8 43.3-96 43.3V464c0 8.8-7.2 16-16 16s-16-7.2-16-16V350.8c-22.8-2.7-44.6-10.2-64-21.7V464c0 8.8-7.2 16-16 16s-16-7.2-16-16V304.3c-6.2-6.2-12-12.9-17.2-20.2L320 219.3V464c0 8.8-7.2 16-16 16s-16-7.2-16-16V175l-46.7-64.6c-5.1-7-10.9-13.4-17.3-19V464c0 8.8-7.2 16-16 16s-16-7.2-16-16V72c-13-5.2-27.1-8-41.4-8H144z\"]\n};\nvar faPhotoFilmMusic = {\n prefix: 'fal',\n iconName: 'photo-film-music',\n icon: [640, 512, [], \"e228\", \"M544 32H224c-17.7 0-32 14.3-32 32V233.4L265.4 160c12.5-12.5 32.8-12.5 45.3 0L352 201.4 457.4 96c12.5-12.5 32.8-12.5 45.3 0l53.8 53.8-33.9 11.3L480 118.6 363.3 235.3 278.6 320H384v32H240h0H224c-35.3 0-64-28.7-64-64V272v0V64c0-35.3 28.7-64 64-64H544c35.3 0 64 28.7 64 64v72c-6.7 0-13.5 1.1-20.2 3.3L576 143.2V64c0-17.7-14.3-32-32-32zM233.4 320l96-96L288 182.6l-96 96V288c0 17.7 14.3 32 32 32h9.4zM232 96a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM112 96h16v32 80V336v48 32H308.6c-8.3 8.8-15 19.6-18.3 32H128 112 96 64c-35.3 0-64-28.7-64-64V160c0-35.3 28.7-64 64-64H96h16zM32 192H96V128H64c-17.7 0-32 14.3-32 32v32zm0 160v32c0 17.7 14.3 32 32 32H96V352H32zm64-32V224H32v96H96zM640 198.2V248 392c0 1.1-.1 2.2-.3 3.2c.2 1.6 .3 3.2 .3 4.8c0 26.5-28.7 48-64 48s-64-21.5-64-48s28.7-48 64-48c11.7 0 22.6 2.3 32 6.4V270.2L448 323.5V464c0 26.5-28.7 48-64 48s-64-21.5-64-48s28.7-48 64-48c11.7 0 22.6 2.3 32 6.4V312 251.5c0-13.8 8.8-26 21.9-30.4l160-53.3c20.7-6.9 42.1 8.5 42.1 30.4zm-32 38.3V198.2L448 251.5v38.3l160-53.3zm-5.9 171.9c5.5-4.1 5.9-7.4 5.9-8.3s-.4-4.2-5.9-8.3c-5.5-4.1-14.6-7.7-26.1-7.7s-20.5 3.5-26.1 7.7c-5.5 4.1-5.9 7.4-5.9 8.3s.4 4.2 5.9 8.3c5.5 4.1 14.6 7.7 26.1 7.7s20.5-3.5 26.1-7.7zm-192 64c5.5-4.1 5.9-7.4 5.9-8.3s-.4-4.2-5.9-8.3c-5.5-4.1-14.6-7.7-26.1-7.7s-20.5 3.5-26.1 7.7c-5.5 4.1-5.9 7.4-5.9 8.3s.4 4.2 5.9 8.3c5.5 4.1 14.6 7.7 26.1 7.7s20.5-3.5 26.1-7.7z\"]\n};\nvar faRadar = {\n prefix: 'fal',\n iconName: 'radar',\n icon: [512, 512, [], \"e024\", \"M32 256C32 132.3 132.3 32 256 32c56.1 0 107.4 20.6 146.7 54.7l-34.1 34.1C338.1 95.3 298.8 80 256 80c-72.2 0-134.2 43.5-161.3 105.6c-3.5 8.1 .2 17.5 8.3 21.1s17.5-.2 21.1-8.3c22.2-50.9 73-86.4 132-86.4c34 0 65.2 11.8 89.9 31.5l-34.3 34.3C295.9 166.6 276.7 160 256 160c-53 0-96 43-96 96s43 96 96 96s96-43 96-96c0-8.8-7.2-16-16-16s-16 7.2-16 16c0 35.3-28.7 64-64 64s-64-28.7-64-64s28.7-64 64-64c11.9 0 23 3.2 32.5 8.9l-43.8 43.8c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l224-224c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L425.4 64C380.2 24.2 320.9 0 256 0C114.6 0 0 114.6 0 256S114.6 512 256 512s256-114.6 256-256c0-8.8-7.2-16-16-16s-16 7.2-16 16c0 123.7-100.3 224-224 224S32 379.7 32 256zm384-16c-8.8 0-16 7.2-16 16c0 59-35.5 109.8-86.4 132c-8.1 3.5-11.8 13-8.3 21.1s13 11.8 21.1 8.3C388.5 390.2 432 328.2 432 256c0-8.8-7.2-16-16-16zM102.9 305.3c-8.1 3.5-11.8 13-8.3 21.1c17.7 40.6 50.3 73.2 90.9 90.9c8.1 3.5 17.5-.2 21.1-8.3s-.2-17.5-8.3-21.1c-33.2-14.5-59.9-41.2-74.4-74.4c-3.5-8.1-13-11.8-21.1-8.3zM120 256a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM256 440a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faSickle = {\n prefix: 'fal',\n iconName: 'sickle',\n icon: [512, 512, [], \"f822\", \"M320 0C214 0 128 86 128 192c0 71 38.5 132.9 95.7 166.1c6.3 3.6 14.2 2.6 19.4-2.5l36-36c5.3-5.3 6.2-13.5 2.2-19.9C270.3 282.5 264 262 264 240c0-61.9 50.1-112 112-112c48.1 0 89.1 30.3 105 72.9c2.7 7.2 10.1 11.5 17.7 10.2s13.2-7.8 13.3-15.5c0-1.2 0-2.4 0-3.6C512 86 426 0 320 0zM160 192c0-88.4 71.6-160 160-160c65.7 0 122.1 39.6 146.8 96.2C442 108.1 410.4 96 376 96c-79.5 0-144 64.5-144 144c0 23.6 5.7 45.9 15.8 65.6l-18.3 18.3C187.5 295.1 160 246.7 160 192zM115.3 300.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l4.7 4.7L13.2 412.2C4.7 420.6 0 432.1 0 444s4.7 23.4 13.2 31.8l23 23C44.6 507.3 56.1 512 68 512s23.4-4.7 31.8-13.2L184 414.6l4.7 4.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-16-16-64-64-16-16zM35.8 434.8L120 350.6 161.4 392 77.2 476.2c-2.4 2.4-5.7 3.8-9.2 3.8s-6.7-1.4-9.2-3.8l-23-23c-2.4-2.4-3.8-5.7-3.8-9.2s1.4-6.7 3.8-9.2z\"]\n};\nvar faFilm = {\n prefix: 'fal',\n iconName: 'film',\n icon: [512, 512, [127902], \"f008\", \"M128 448V352 272H384v80 96H128zM384 240H128V160 64H384v96 80zM96 448H64c-17.7 0-32-14.3-32-32V368H96v80zM32 272H96v64H32V272zm64-96v64H32V176H96zM96 64v80H32V96c0-17.7 14.3-32 32-32H96zM416 336V272h64v64H416zm0 112V368h64v48c0 17.7-14.3 32-32 32H416zm0-272h64v64H416V176zm64-80v48H416V64h32c17.7 0 32 14.3 32 32zM448 32H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64z\"]\n};\nvar faCoconut = {\n prefix: 'fal',\n iconName: 'coconut',\n icon: [512, 512, [], \"e2f6\", \"M272.5 40c45.4-14 79.7-8.9 98.6 9.9s23.9 53.2 9.9 98.6C367.2 193 336 244 290 290s-97 77.2-141.6 91c-45.4 14-79.7 8.9-98.6-9.9S26 317.9 40 272.5c13.8-44.6 45-95.6 91-141.6s97-77.2 141.6-91zM393.7 27.3C362.4-4.1 312.8-5.9 263.1 9.4c-50.5 15.6-105.8 50-154.8 98.9S25 212.6 9.4 263.1C-5.9 312.8-4.1 362.4 27.2 393.7l42.4 42.4C118.2 484.7 184.1 512 252.9 512C396 512 512 396 512 252.9c0-68.7-27.3-134.6-75.9-183.2L393.7 27.3zM421 100.1c37.9 41.7 59 96.1 59 152.8c0 4.1-.1 8.2-.3 12.2l-20.4-20.4c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l37.4 37.4c-8.5 36.5-25.9 69.7-49.7 97.1l-45.1-45.1c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l45.1 45.1c-27.4 23.8-60.5 41.1-97.1 49.7l-37.4-37.4c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L265 479.7c-4 .2-8.1 .3-12.2 .3c-56.6 0-111-21.1-152.8-59c18.5 .1 38.1-3.3 57.8-9.4c50.5-15.6 105.8-50 154.8-98.9s83.4-104.3 98.9-154.8c6.1-19.7 9.4-39.3 9.4-57.8zm-102.7 3.2c3.5 3.5 9.6 17-1.7 48.8c-10.4 29.4-32.9 64.9-66.2 98.2s-68.9 55.9-98.2 66.2c-31.8 11.2-45.4 5.1-48.8 1.7s-9.6-17 1.7-48.8c10.4-29.4 32.9-64.9 66.2-98.2s68.9-55.9 98.2-66.2c31.8-11.2 45.4-5.1 48.8-1.7zm22.6-22.6c-34.4-34.4-120.5-4-192.3 67.9s-102.2 158-67.9 192.3s120.5 4 192.3-67.9s102.2-158 67.9-192.3z\"]\n};\nvar faRulerHorizontal = {\n prefix: 'fal',\n iconName: 'ruler-horizontal',\n icon: [640, 512, [], \"f547\", \"M32 320c0 17.7 14.3 32 32 32l512 0c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32l-48 0v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V160H432v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V160H336v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V160H240v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V160H144v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V160l-48 0c-17.7 0-32 14.3-32 32l0 128zm32 64c-35.3 0-64-28.7-64-64V192c0-35.3 28.7-64 64-64H576c35.3 0 64 28.7 64 64V320c0 35.3-28.7 64-64 64L64 384z\"]\n};\nvar faShieldCross = {\n prefix: 'fal',\n iconName: 'shield-cross',\n icon: [512, 512, [9960], \"f712\", \"M243.5 37.3c8-3.4 17-3.4 25 0l176.7 75c11.3 4.8 18.9 15.5 18.8 27.6c-.5 94-39.4 259.8-195.5 334.5c-7.9 3.8-17.2 3.8-25.1 0C87.3 399.6 48.5 233.8 48 139.8c-.1-12.1 7.5-22.8 18.8-27.6l176.7-75zM281 7.8c-16-6.8-34-6.8-50 0L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.7 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2L281 7.8zM272 112c0-8.8-7.2-16-16-16s-16 7.2-16 16v64H112c-8.8 0-16 7.2-16 16s7.2 16 16 16H240V400c0 8.8 7.2 16 16 16s16-7.2 16-16V208H400c8.8 0 16-7.2 16-16s-7.2-16-16-16H272V112z\"]\n};\nvar faCassetteTape = {\n prefix: 'fal',\n iconName: 'cassette-tape',\n icon: [576, 512, [128429], \"f8ab\", \"M512 64c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H478.1l-23.4-64.4c-6.9-19-24.9-31.6-45.1-31.6H166.4c-20.2 0-38.2 12.6-45.1 31.6L97.9 448H64c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32H512zM444.1 448H131.9l19.4-53.5c2.3-6.3 8.3-10.5 15-10.5H409.6c6.7 0 12.7 4.2 15 10.5L444.1 448zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm96 160a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm55.4 64c5.4-9.4 8.6-20.3 8.6-32s-3.1-22.6-8.6-32H360.6c-5.4 9.4-8.6 20.3-8.6 32s3.1 22.6 8.6 32H215.4zM160 288H416c35.3 0 64-28.7 64-64s-28.7-64-64-64H160c-35.3 0-64 28.7-64 64s28.7 64 64 64zm256-96a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faSquareTerminal = {\n prefix: 'fal',\n iconName: 'square-terminal',\n icon: [448, 512, [], \"e32a\", \"M384 64c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM83.9 149.6c-5.8 6.7-5 16.8 1.7 22.6L183.4 256 85.6 339.9c-6.7 5.8-7.5 15.8-1.7 22.6s15.9 7.5 22.6 1.7l112-96c3.5-3 5.6-7.5 5.6-12.1s-2-9.1-5.6-12.1l-112-96c-6.7-5.8-16.8-5-22.6 1.7zM208 352c-8.8 0-16 7.2-16 16s7.2 16 16 16H368c8.8 0 16-7.2 16-16s-7.2-16-16-16H208z\"]\n};\nvar faPeopleRobbery = {\n prefix: 'fal',\n iconName: 'people-robbery',\n icon: [576, 512, [], \"e536\", \"M400 144c54.3 0 101.9-36.2 116.4-88.5l12.2-43.8c2.4-8.5 11.2-13.5 19.7-11.1s13.5 11.2 11.1 19.7L547.3 64.1c-12.3 44.3-43.4 79.5-83.2 97.9V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V352H368V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V162c-39.8-18.4-70.9-53.6-83.3-97.9L240.6 20.3c-2.4-8.5 2.6-17.3 11.1-19.7s17.3 2.6 19.7 11.1l12.2 43.8C298.1 107.8 345.7 144 400 144zm32 28.6c-10.4 2.2-21.1 3.4-32 3.4s-21.6-1.2-32-3.4V320h64V172.6zM85.3 144c21.8 0 42.4 10.3 55.5 27.7L192 240h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H184c-5 0-9.8-2.4-12.8-6.4l-56-74.7c-7.1-9.4-18.1-14.9-29.9-14.9C64.7 176 48 192.7 48 213.3L48 320h64V280c0-8.8 7.2-16 16-16s16 7.2 16 16V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V352H48l0 144c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-282.7C16 175 47 144 85.3 144zM80 80a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM80 0a56 56 0 1 1 0 112A56 56 0 1 1 80 0zM424 56a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-80 0a56 56 0 1 1 112 0A56 56 0 1 1 344 56z\"]\n};\nvar faLightbulb = {\n prefix: 'fal',\n iconName: 'lightbulb',\n icon: [384, 512, [128161], \"f0eb\", \"M310.3 258.1C326.5 234.8 336 206.6 336 176c0-79.5-64.5-144-144-144S48 96.5 48 176c0 30.6 9.5 58.8 25.7 82.1c4.1 5.9 8.8 12.3 13.6 19l0 0c12.7 17.5 27.1 37.2 38 57.1c8.9 16.2 13.7 33.3 16.2 49.9H109c-2.2-12-5.9-23.7-11.8-34.5c-9.9-18-22.2-34.9-34.5-51.8l0 0 0 0 0 0c-5.2-7.1-10.4-14.2-15.4-21.4C27.6 247.9 16 213.3 16 176C16 78.8 94.8 0 192 0s176 78.8 176 176c0 37.3-11.6 71.9-31.4 100.3c-5 7.2-10.2 14.3-15.4 21.4l0 0 0 0c-12.3 16.8-24.6 33.7-34.5 51.8c-5.9 10.8-9.6 22.5-11.8 34.5H242.5c2.5-16.6 7.3-33.7 16.2-49.9c10.9-20 25.3-39.7 38-57.1c4.9-6.7 9.5-13 13.6-19zM192 96c-44.2 0-80 35.8-80 80c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-61.9 50.1-112 112-112c8.8 0 16 7.2 16 16s-7.2 16-16 16zM146.7 448c6.6 18.6 24.4 32 45.3 32s38.7-13.4 45.3-32H146.7zM112 432v-5.3c0-5.9 4.8-10.7 10.7-10.7H261.3c5.9 0 10.7 4.8 10.7 10.7V432c0 44.2-35.8 80-80 80s-80-35.8-80-80z\"]\n};\nvar faCaretLeft = {\n prefix: 'fal',\n iconName: 'caret-left',\n icon: [256, 512, [], \"f0d9\", \"M34.2 261.6c-1.3-1.4-2.2-3.5-2.2-5.6s.8-4.2 2.2-5.6L147.7 130.2c1.3-1.4 3.2-2.2 5.2-2.2c3.9 0 7.1 3.2 7.1 7.1l0 241.7c0 3.9-3.2 7.1-7.1 7.1c-2 0-3.8-.8-5.2-2.2L34.2 261.6zm-23.3 22L124.4 403.7c7.4 7.8 17.7 12.3 28.4 12.3c21.6 0 39.1-17.5 39.1-39.1l0-241.7c0-21.6-17.5-39.1-39.1-39.1c-10.8 0-21.1 4.4-28.4 12.3L10.9 228.4C3.9 235.9 0 245.8 0 256s3.9 20.1 10.9 27.6z\"]\n};\nvar faCommentMiddle = {\n prefix: 'fal',\n iconName: 'comment-middle',\n icon: [512, 512, [], \"e149\", \"M216.9 394.3L256 472.4l39.1-78.1c4.3-8.6 12.3-14.8 21.7-16.9C415.4 355.5 480 284.4 480 208c0-91.3-93.8-176-224-176S32 116.7 32 208c0 76.4 64.6 147.5 163.3 169.4c9.4 2.1 17.4 8.3 21.7 16.9zm44.5 89s0 0 0 0l-5.5 2.7 5.5-2.7 0 0zm62.2-74.7l-44.5 89c-4.4 8.8-13.3 14.3-23.2 14.3s-18.8-5.5-23.2-14.3l-44.5-89C79.8 384.5 0 303.8 0 208C0 93.1 114.6 0 256 0S512 93.1 512 208c0 95.8-79.8 176.5-188.3 200.7z\"]\n};\nvar faTrashCanList = {\n prefix: 'fal',\n iconName: 'trash-can-list',\n icon: [640, 512, [], \"e2ab\", \"M169.7 32h76.5c5.5 0 10.6 2.8 13.6 7.5L275.1 64H140.9l15.3-24.5c2.9-4.7 8.1-7.5 13.6-7.5zM312.9 64L287 22.6C278.2 8.5 262.8 0 246.3 0H169.7C153.2 0 137.8 8.5 129 22.6L103.1 64H64 32 16C7.2 64 0 71.2 0 80s7.2 16 16 16H32V432c0 44.2 35.8 80 80 80H304c44.2 0 80-35.8 80-80V96h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H384 352 312.9zM352 96V432c0 26.5-21.5 48-48 48H112c-26.5 0-48-21.5-48-48V96H352zM160 160c-8.8 0-16 7.2-16 16V400c0 8.8 7.2 16 16 16s16-7.2 16-16V176c0-8.8-7.2-16-16-16zm96 0c-8.8 0-16 7.2-16 16V400c0 8.8 7.2 16 16 16s16-7.2 16-16V176c0-8.8-7.2-16-16-16zm208-32c-8.8 0-16 7.2-16 16s7.2 16 16 16H624c8.8 0 16-7.2 16-16s-7.2-16-16-16H464zm0 128c-8.8 0-16 7.2-16 16s7.2 16 16 16H592c8.8 0 16-7.2 16-16s-7.2-16-16-16H464zM448 400c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H464c-8.8 0-16 7.2-16 16z\"]\n};\nvar faBlock = {\n prefix: 'fal',\n iconName: 'block',\n icon: [448, 512, [], \"e46a\", \"M384 64c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm48 88a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm248 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM112 392a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm248 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faCircleExclamation = {\n prefix: 'fal',\n iconName: 'circle-exclamation',\n icon: [512, 512, [\"exclamation-circle\"], \"f06a\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-384c-8.8 0-16 7.2-16 16V272c0 8.8 7.2 16 16 16s16-7.2 16-16V144c0-8.8-7.2-16-16-16zm24 224a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faExclamationCircle = faCircleExclamation;\nvar faSchoolCircleXmark = {\n prefix: 'fal',\n iconName: 'school-circle-xmark',\n icon: [640, 512, [], \"e56d\", \"M311.1 2.7c5.4-3.6 12.4-3.6 17.8 0L468.8 96H576c35.3 0 64 28.7 64 64V266.8c-9.1-12.9-19.9-24.5-32-34.6V160c0-17.7-14.3-32-32-32H464c-3.2 0-6.2-.9-8.9-2.7L320 35.2 184.9 125.3c-2.6 1.8-5.7 2.7-8.9 2.7H64c-17.7 0-32 14.3-32 32V448c0 17.7 14.3 32 32 32H256V384c0-35.3 28.7-64 64-64c2.2 0 4.4 .1 6.5 .3c-2.9 10.2-4.8 20.8-5.8 31.7l-.7 0c-17.7 0-32 14.3-32 32v96h32 32 8.2c10 12.1 21.7 22.9 34.6 32H384 352 288 256 64c-35.3 0-64-28.7-64-64V160c0-35.3 28.7-64 64-64H171.2l140-93.3zM416 192c0 7-.7 13.8-2.2 20.3c-31.3 16.5-57 42.2-73.5 73.5c-6.5 1.4-13.3 2.2-20.3 2.2c-53 0-96-43-96-96s43-96 96-96s96 43 96 96zM128 160h32c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32V192c0-17.7 14.3-32 32-32zm0 32v64h32V192H128zM96 352c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32V352zm64 0H128v64h32V352zm160-96a64 64 0 1 0 0-128 64 64 0 1 0 0 128zm16-96v16h8c8.8 0 16 7.2 16 16s-7.2 16-16 16H320c-8.8 0-16-7.2-16-16V160c0-8.8 7.2-16 16-16s16 7.2 16 16zM608 368a112 112 0 1 0 -224 0 112 112 0 1 0 224 0zm-256 0a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm166.6 0l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L496 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L473.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L496 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L518.6 368z\"]\n};\nvar faArrowRightFromBracket = {\n prefix: 'fal',\n iconName: 'arrow-right-from-bracket',\n icon: [512, 512, [\"sign-out\"], \"f08b\", \"M507.3 267.3c6.2-6.2 6.2-16.4 0-22.6l-128-128c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L457.4 240 176 240c-8.8 0-16 7.2-16 16s7.2 16 16 16l281.4 0L356.7 372.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l128-128zM176 64c8.8 0 16-7.2 16-16s-7.2-16-16-16L80 32C35.8 32 0 67.8 0 112L0 400c0 44.2 35.8 80 80 80l96 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-96 0c-26.5 0-48-21.5-48-48l0-288c0-26.5 21.5-48 48-48l96 0z\"]\n};\nvar faSignOut = faArrowRightFromBracket;\nvar faFaceFrownSlight = {\n prefix: 'fal',\n iconName: 'face-frown-slight',\n icon: [512, 512, [], \"e376\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM347.9 394.5C330 373.8 299.4 352 256 352s-74 21.8-91.9 42.5c-5.8 6.7-15.9 7.4-22.6 1.6s-7.4-15.9-1.6-22.6c22.2-25.7 61-53.5 116.1-53.5s93.8 27.9 116.1 53.5c5.8 6.7 5.1 16.8-1.6 22.6s-16.8 5.1-22.6-1.6zM152.4 208a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm184-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faCircleChevronDown = {\n prefix: 'fal',\n iconName: 'circle-chevron-down',\n icon: [512, 512, [\"chevron-circle-down\"], \"f13a\", \"M256 480a224 224 0 1 1 0-448 224 224 0 1 1 0 448zM256 0a256 256 0 1 0 0 512A256 256 0 1 0 256 0zM132.7 235.3l112 112c6.2 6.2 16.4 6.2 22.6 0l112-112c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L256 313.4 155.3 212.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6z\"]\n};\nvar faChevronCircleDown = faCircleChevronDown;\nvar faSidebarFlip = {\n prefix: 'fal',\n iconName: 'sidebar-flip',\n icon: [512, 512, [], \"e24f\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H288V64H64zm384 0H320V448H448c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm0-32c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H448zM432 96c8.8 0 16 7.2 16 16s-7.2 16-16 16H368c-8.8 0-16-7.2-16-16s7.2-16 16-16h64zm16 80c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16s7.2-16 16-16h64c8.8 0 16 7.2 16 16zm-16 48c8.8 0 16 7.2 16 16s-7.2 16-16 16H368c-8.8 0-16-7.2-16-16s7.2-16 16-16h64z\"]\n};\nvar faUnlockKeyhole = {\n prefix: 'fal',\n iconName: 'unlock-keyhole',\n icon: [448, 512, [\"unlock-alt\"], \"f13e\", \"M224 32c-53 0-96 43-96 96v64H368c44.2 0 80 35.8 80 80V432c0 44.2-35.8 80-80 80H80c-44.2 0-80-35.8-80-80V272c0-44.2 35.8-80 80-80H96V128C96 57.3 153.3 0 224 0c58 0 107 38.6 122.7 91.4c2.5 8.5-2.3 17.4-10.8 19.9s-17.4-2.3-19.9-10.8C304.2 60.9 267.5 32 224 32zM80 224c-26.5 0-48 21.5-48 48V432c0 26.5 21.5 48 48 48H368c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48H80zM264 368H184c-8.8 0-16-7.2-16-16s7.2-16 16-16h80c8.8 0 16 7.2 16 16s-7.2 16-16 16z\"]\n};\nvar faUnlockAlt = faUnlockKeyhole;\nvar faTemperatureList = {\n prefix: 'fal',\n iconName: 'temperature-list',\n icon: [512, 512, [], \"e299\", \"M80 96c0-35.3 28.7-64 64-64s64 28.7 64 64V252.7c0 14.9 7 27.7 16 36.9c19.8 20.2 32 47.9 32 78.4c0 61.9-50.1 112-112 112S32 429.9 32 368c0-30.5 12.2-58.2 32-78.4c9-9.2 16-22 16-36.9V96zM144 0C91 0 48 43 48 96V252.7c0 4.6-2.2 9.8-6.8 14.5C15.7 293.1 0 328.8 0 368c0 79.5 64.5 144 144 144s144-64.5 144-144c0-39.3-15.7-74.9-41.2-100.8c-4.6-4.7-6.8-9.9-6.8-14.5V96c0-53-43-96-96-96zM112 368a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm96 0c0-29.8-20.4-54.9-48-62V144c0-8.8-7.2-16-16-16s-16 7.2-16 16V306c-27.6 7.1-48 32.2-48 62c0 35.3 28.7 64 64 64s64-28.7 64-64zM320 48c0 8.8 7.2 16 16 16H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H336c-8.8 0-16 7.2-16 16zm0 128c0 8.8 7.2 16 16 16H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H336c-8.8 0-16 7.2-16 16zm32 128c0 8.8 7.2 16 16 16H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H368c-8.8 0-16 7.2-16 16z\"]\n};\nvar faCloudShowersHeavy = {\n prefix: 'fal',\n iconName: 'cloud-showers-heavy',\n icon: [512, 512, [], \"f740\", \"M96 112c0-44.2 35.8-80 80-80c32.2 0 59.9 19 72.6 46.4c2.2 4.8 6.6 8.1 11.8 9s10.4-.8 14.1-4.5c11.6-11.7 27.7-19 45.5-19c35.3 0 64 28.7 64 64l0 .3c0 4.5 1.9 8.8 5.2 11.8s7.8 4.5 12.2 4.1c2.2-.2 4.3-.3 6.6-.3c39.8 0 72 32.2 72 72s-32.2 72-72 72H104c-39.8 0-72-32.2-72-72c0-33.5 22.9-61.7 53.9-69.7c8.2-2.1 13.3-10.3 11.7-18.6c-1-5.1-1.5-10.3-1.5-15.7zM512 216c0-55.2-43-100.3-97.3-103.8C407.2 66.7 367.6 32 320 32c-19.3 0-37.3 5.7-52.4 15.5C247.3 18.8 213.9 0 176 0C114.1 0 64 50.1 64 112c0 2.6 .1 5.3 .3 7.9C26.6 135.5 0 172.6 0 216c0 57.4 46.6 104 104 104H408c57.4 0 104-46.6 104-104zM94.3 375.2c4-7.9 .7-17.5-7.2-21.5s-17.5-.7-21.5 7.2l-64 128c-4 7.9-.7 17.5 7.2 21.5s17.5 .7 21.5-7.2l64-128zm120 0c4-7.9 .7-17.5-7.2-21.5s-17.5-.7-21.5 7.2l-64 128c-4 7.9-.7 17.5 7.2 21.5s17.5 .7 21.5-7.2l64-128zm112 0c4-7.9 .7-17.5-7.2-21.5s-17.5-.7-21.5 7.2l-64 128c-4 7.9-.7 17.5 7.2 21.5s17.5 .7 21.5-7.2l64-128zm120 0c4-7.9 .7-17.5-7.2-21.5s-17.5-.7-21.5 7.2l-64 128c-4 7.9-.7 17.5 7.2 21.5s17.5 .7 21.5-7.2l64-128z\"]\n};\nvar faHeadphonesSimple = {\n prefix: 'fal',\n iconName: 'headphones-simple',\n icon: [512, 512, [\"headphones-alt\"], \"f58f\", \"M32 288C32 164.3 132.3 64 256 64s224 100.3 224 224V400c0 8.8 7.2 16 16 16s16-7.2 16-16V288C512 146.6 397.4 32 256 32S0 146.6 0 288V400c0 8.8 7.2 16 16 16s16-7.2 16-16V288zm128 0V448H144c-26.5 0-48-21.5-48-48V336c0-26.5 21.5-48 48-48h16zm-16-32c-44.2 0-80 35.8-80 80v64c0 44.2 35.8 80 80 80h16c17.7 0 32-14.3 32-32V288c0-17.7-14.3-32-32-32H144zm208 32h16c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H352V288zm16-32H352c-17.7 0-32 14.3-32 32V448c0 17.7 14.3 32 32 32h16c44.2 0 80-35.8 80-80V336c0-44.2-35.8-80-80-80z\"]\n};\nvar faHeadphonesAlt = faHeadphonesSimple;\nvar faSitemap = {\n prefix: 'fal',\n iconName: 'sitemap',\n icon: [576, 512, [], \"f0e8\", \"M320 64c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H304 272 256c-8.8 0-16-7.2-16-16V80c0-8.8 7.2-16 16-16h64zM256 192h16v48H112c-26.5 0-48 21.5-48 48v32H48c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48V368c0-26.5-21.5-48-48-48H96V288c0-8.8 7.2-16 16-16H272v48H256c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48V368c0-26.5-21.5-48-48-48H304V272H464c8.8 0 16 7.2 16 16v32H464c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48V368c0-26.5-21.5-48-48-48H512V288c0-26.5-21.5-48-48-48H304V192h16c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H256c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48zM48 352h64c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H48c-8.8 0-16-7.2-16-16V368c0-8.8 7.2-16 16-16zm208 0h64c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H256c-8.8 0-16-7.2-16-16V368c0-8.8 7.2-16 16-16zm208 0h64c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H464c-8.8 0-16-7.2-16-16V368c0-8.8 7.2-16 16-16z\"]\n};\nvar faPipeSection = {\n prefix: 'fal',\n iconName: 'pipe-section',\n icon: [640, 512, [], \"e438\", \"M32 112c0-8.8-7.2-16-16-16s-16 7.2-16 16v32V368v32c0 8.8 7.2 16 16 16s16-7.2 16-16V384H608v16c0 8.8 7.2 16 16 16s16-7.2 16-16V368 144 112c0-8.8-7.2-16-16-16s-16 7.2-16 16v16H256 32V112zM608 352H32V160H256 608V352z\"]\n};\nvar faSpaceStationMoonConstruction = {\n prefix: 'fal',\n iconName: 'space-station-moon-construction',\n icon: [512, 512, [\"space-station-moon-alt\"], \"e034\", \"M32 256C32 132.3 132.3 32 256 32c61 0 116.3 24.4 156.7 64H368c-8.8 0-16 7.2-16 16s7.2 16 16 16h80c6.1 0 11.6-3.4 14.3-8.9s2.1-11.9-1.5-16.8C414.1 40.2 339.8 0 256 0C114.6 0 0 114.6 0 256S114.6 512 256 512c91.2 0 171.3-47.7 216.6-119.5c3.1-4.9 3.3-11.2 .5-16.3s-8.2-8.3-14-8.3H416c-8.8 0-16 7.2-16 16s7.2 16 16 16h11.6c-41.1 48.9-102.7 80-171.6 80c-95.1 0-176.3-59.2-208.8-142.8c39.2 13.6 104 32.3 208.8 32.3c119.5 0 187-24.3 223.8-37.6c5-1.8 9.4-3.4 13.3-4.7c1.7-.6 3.2-1.4 4.6-2.4l1.7-1.3c3-2.3 5.1-5.5 5.9-9.1c4.4-18.7 6.7-38.3 6.7-58.3c0-5.7-.2-11.4-.6-17.1c-.6-8.4-7.5-14.9-16-14.9H432c-8.8 0-16 7.2-16 16s7.2 16 16 16h48c0 14.8-1.4 29.3-4.2 43.3c-2.1 .7-4.2 1.5-6.5 2.3C433 314.7 369.9 337.4 256 337.4s-177-22.7-213.3-35.8c-2.3-.8-4.4-1.6-6.5-2.3c-2.7-14-4.2-28.5-4.2-43.3zm104-96a56 56 0 1 1 112 0 56 56 0 1 1 -112 0zm144 0a88 88 0 1 0 -176 0 88 88 0 1 0 176 0zm-64 0a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm152 0c-8.8 0-16 7.2-16 16s7.2 16 16 16h80c8.8 0 16-7.2 16-16s-7.2-16-16-16H368z\"]\n};\nvar faSpaceStationMoonAlt = faSpaceStationMoonConstruction;\nvar faCircleDollarToSlot = {\n prefix: 'fal',\n iconName: 'circle-dollar-to-slot',\n icon: [512, 512, [\"donate\"], \"f4b9\", \"M256 32a176 176 0 1 1 0 352 176 176 0 1 1 0-352zm0 384A208 208 0 1 0 256 0a208 208 0 1 0 0 416zM64 352H56c-30.9 0-56 25.1-56 56v48c0 30.9 25.1 56 56 56H456c30.9 0 56-25.1 56-56V408c0-30.9-25.1-56-56-56h-8c-8.6 11.5-18.3 22.2-28.8 32H456c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H56c-13.3 0-24-10.7-24-24V408c0-13.3 10.7-24 24-24H92.8c-10.5-9.8-20.2-20.5-28.8-32zM272 104c0-8.8-7.2-16-16-16s-16 7.2-16 16v17.3c-8.3 1.5-16.7 4.3-24.1 8.7c-13 7.7-23.9 21.1-23.8 40.5c.1 18.4 10.8 30.1 22.7 37.3c10.5 6.3 23.8 10.4 34.8 13.7l0 0 0 0 1.6 .5c12.5 3.8 22.2 6.9 29 11.2c5.9 3.7 7.7 7 7.7 11.6c.1 6.6-2.7 10.8-7.8 14c-5.8 3.6-14.5 5.6-23.7 5.3c-11.8-.4-22.7-4.1-36.3-8.7l0 0 0 0 0 0c-2.3-.8-4.7-1.6-7.1-2.4c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2c2 .7 4.1 1.4 6.2 2.1l0 0c9.2 3.2 19.7 6.8 30.9 8.9V312c0 8.8 7.2 16 16 16s16-7.2 16-16V294.9c8.7-1.4 17.4-4.3 25.1-9.1c13.3-8.3 23.2-22.2 22.9-41.6c-.2-18.5-10.6-30.6-22.7-38.2c-11-6.9-25-11.2-36.3-14.6l0 0 0 0-.5-.1c-12.6-3.8-22.3-6.8-29.2-10.9c-6-3.6-7.2-6.4-7.3-10.1c0-5.4 2.4-9.4 8.1-12.8c6.2-3.7 15.1-5.7 23.6-5.5c10.1 .2 21 2.3 32.1 5.3c8.5 2.3 17.3-2.8 19.6-11.3s-2.8-17.3-11.3-19.6c-7.5-2-15.6-3.9-24.1-5.1V104z\"]\n};\nvar faDonate = faCircleDollarToSlot;\nvar faMemory = {\n prefix: 'fal',\n iconName: 'memory',\n icon: [576, 512, [], \"f538\", \"M32 128c0-17.7 14.3-32 32-32H512c17.7 0 32 14.3 32 32c-19.4 14.6-32 37.8-32 64s12.6 49.5 32 64v32H32l0-32c19.4-14.6 32-37.8 32-64s-12.6-49.5-32-64zM0 248.6V304 416c0 17.7 14.3 32 32 32H544c17.7 0 32-14.3 32-32V304 248.6c0-6.8-4.4-12.6-10.1-16.3C552.7 223.7 544 208.9 544 192s8.7-31.7 21.9-40.3c5.7-3.7 10.1-9.5 10.1-16.3V128c0-35.3-28.7-64-64-64H64C28.7 64 0 92.7 0 128v7.4c0 6.8 4.4 12.6 10.1 16.3C23.3 160.3 32 175.1 32 192s-8.7 31.7-21.9 40.3C4.4 236 0 241.8 0 248.6zM544 416H480V400c0-8.8-7.2-16-16-16s-16 7.2-16 16v16H392V400c0-8.8-7.2-16-16-16s-16 7.2-16 16v16H304V400c0-8.8-7.2-16-16-16s-16 7.2-16 16v16H216V400c0-8.8-7.2-16-16-16s-16 7.2-16 16v16H128V400c0-8.8-7.2-16-16-16s-16 7.2-16 16v16H32l0-96H544v96zM176 144c0-8.8-7.2-16-16-16s-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V144zm128 0c0-8.8-7.2-16-16-16s-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V144zm128 0c0-8.8-7.2-16-16-16s-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V144z\"]\n};\nvar faFaceSleeping = {\n prefix: 'fal',\n iconName: 'face-sleeping',\n icon: [512, 512, [], \"e38d\", \"M32 256C32 132.3 132.3 32 256 32c33.1 0 64.5 7.2 92.7 20c8 3.7 17.5 .1 21.2-7.9s.1-17.5-7.9-21.2C329.6 8.2 293.8 0 256 0C114.6 0 0 114.6 0 256S114.6 512 256 512s256-114.6 256-256c0-37.8-8.2-73.6-22.9-105.9c-3.7-8-13.1-11.6-21.2-7.9s-11.6 13.1-7.9 21.2c12.8 28.2 20 59.6 20 92.7c0 123.7-100.3 224-224 224S32 379.7 32 256zM232 384a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm80 0a56 56 0 1 0 -112 0 56 56 0 1 0 112 0zm8-256h25.4l-36.7 36.7c-4.6 4.6-5.9 11.5-3.5 17.4s8.3 9.9 14.8 9.9h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H358.6l36.7-36.7c4.6-4.6 5.9-11.5 3.5-17.4s-8.3-9.9-14.8-9.9H320c-8.8 0-16 7.2-16 16s7.2 16 16 16zM416 16c0 8.8 7.2 16 16 16h25.4L420.7 68.7c-4.6 4.6-5.9 11.5-3.5 17.4s8.3 9.9 14.8 9.9h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H470.6l36.7-36.7c4.6-4.6 5.9-11.5 3.5-17.4S502.5 0 496 0H432c-8.8 0-16 7.2-16 16zM387.2 238.4c-17.6 23.5-52.8 23.5-70.4 0c-5.3-7.1-15.3-8.5-22.4-3.2s-8.5 15.3-3.2 22.4c30.4 40.5 91.2 40.5 121.6 0c5.3-7.1 3.9-17.1-3.2-22.4s-17.1-3.9-22.4 3.2zm-262.4 0c-5.3-7.1-15.3-8.5-22.4-3.2s-8.5 15.3-3.2 22.4c30.4 40.5 91.2 40.5 121.6 0c5.3-7.1 3.9-17.1-3.2-22.4s-17.1-3.9-22.4 3.2c-17.6 23.5-52.8 23.5-70.4 0z\"]\n};\nvar faRoadSpikes = {\n prefix: 'fal',\n iconName: 'road-spikes',\n icon: [640, 512, [], \"e568\", \"M93.3 108L160 208l32 48V198.3 116.8c0-15.8 20.5-22 29.3-8.9L288 208l32 48V198.3 116.8c0-15.8 20.5-22 29.3-8.9L416 208l32 48V198.3 116.8c0-15.8 20.5-22 29.3-8.9L606.8 302.2c14.2 21.3-1.1 49.7-26.6 49.7H512 480h-6.5H448 384 352h-6.5H320 256 224h-6.5H192 96 64V320 116.8c0-15.8 20.5-22 29.3-8.9zM512 320h68.2L480 169.7V256v64h32zm-90.6-46.2L352 169.7V256v64h32 64 4.2l-30.8-46.2zm-128 0L224 169.7V256v64h32 64 4.2l-30.8-46.2zm-128 0L96 169.7V320h96 4.2l-30.8-46.2zM16 416H624c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faFireBurner = {\n prefix: 'fal',\n iconName: 'fire-burner',\n icon: [640, 512, [], \"e4f1\", \"M287.1 33.1c-21.7 19.8-45.3 44.8-63.7 72.3c-19 28.5-31.4 58.3-31.4 86.7c0 33.7 12.7 64.2 33.6 87c-1.1-5.4-1.6-10.9-1.6-16.6c0-57.4 63.8-110.5 87.4-128.2c5.2-3.9 12.1-3.9 17.3 0c23.6 17.7 87.4 70.8 87.4 128.2c0 5.5-.5 10.9-1.6 16.2C435.3 256 448 225.7 448 192.2c0-22.6-8.5-48-22.2-72.6c-13-23.4-30.1-44.9-46.7-60.7l-21 23.7c-3 3.3-7.2 5.3-11.7 5.4s-8.8-1.7-11.9-5L287.1 33.1zM320 320c2.4 0 4.8-.1 7.1-.2c33.7-3.3 56.9-29.4 56.9-57.3c0-17.4-10.1-37.7-27.4-58.5c-12.1-14.5-25.8-27-36.6-35.8c-10.8 8.8-24.5 21.3-36.6 35.8c-17.3 20.7-27.4 41.1-27.4 58.5c0 27.9 23.3 54 57 57.3c2.3 .1 4.7 .2 7 .2zM160 192.2c0-37.3 16-73.4 36.8-104.5c20.9-31.3 47.5-59 70.9-80.2c11.1-10.1 28.2-10 39.3 .1c.3 .3 .6 .5 .8 .8l37.9 39.9L358 34.5c.4-.4 .7-.8 1.1-1.2c11.2-10.3 28.5-10.3 39.7 .1c19.7 18.3 39.8 43.2 55 70.6C469 131.2 480 162.2 480 192.2c0 85.6-66.4 154.9-150.8 159.6c-3 .3-6.1 .4-9.2 .4c-3.1 0-6.1-.1-9.1-.4c-85.2-4.6-150.9-74-150.9-159.6zM32 272c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H64v96H576V288H528c-8.8 0-16-7.2-16-16s7.2-16 16-16h64c8.8 0 16 7.2 16 16V386.7c18.6 6.6 32 24.4 32 45.3v32c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V432c0-20.9 13.4-38.7 32-45.3V272zm0 160v32c0 8.8 7.2 16 16 16H592c8.8 0 16-7.2 16-16V432c0-8.8-7.2-16-16-16H48c-8.8 0-16 7.2-16 16zm160-8a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm104 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm152-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faSquirrel = {\n prefix: 'fal',\n iconName: 'squirrel',\n icon: [512, 512, [], \"f71a\", \"M144 32C82.1 32 32 82.1 32 144s50.1 112 112 112c15.7 0 30.2 8.5 37.7 22.3c9.6 17.3 5.2 37-4.3 50.5c-11 15.6-17.4 34.6-17.4 55.2c0 53 43 96 96 96H368c35.3 0 64-28.7 64-64s-28.7-64-64-64c-6.7 0-13.2 1-19.2 2.9c-8.4 2.6-17.4-2-20.1-10.5s2-17.4 10.5-20.1c9.1-2.9 18.8-4.4 28.8-4.4c11.2 0 22 1.9 32 5.5V240c0-8.8 7.2-16 16-16h11.5c21.2 0 40.6-12 50.1-31l2-4.1-.3-3.4C476 152.9 448.5 128 415.6 128H400c-8.8 0-16-7.2-16-16V80c0-8.8 7.2-16 16-16s16 7.2 16 16V96c49.1 .2 90.2 37.5 95.1 86.4l.8 8c.3 3-.3 6-1.6 8.7l-4.1 8.2c-14.2 28.5-42.7 46.9-74.2 48.5v88.6c19.6 17.6 32 43.1 32 71.6c0 24.6-9.2 47-24.4 64H480c8.8 0 16 7.2 16 16s-7.2 16-16 16H368 256c-70.7 0-128-57.3-128-128c0-27.4 8.6-52.8 23.2-73.6c4.5-6.3 4.6-12.8 2.4-16.7c-1.9-3.5-5.7-5.7-9.7-5.7C64.5 288 0 223.5 0 144S64.5 0 144 0s144 64.5 144 144v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-61.9-50.1-112-112-112zM352 80v76.2c0 39-7.1 66.6-21.2 91.9c-11.9 21.2-28.6 40.5-48.2 63l0 0 0 0c-2.8 3.2-5.7 6.5-8.6 9.9l-11.2 13C248.5 350.4 240 376.6 240 400c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-29.6 10.4-63.7 30.6-87l11.2-13c3-3.5 5.9-6.8 8.7-10c19.9-22.9 34.3-39.4 44.4-57.5c11-19.7 17.1-41.6 17.1-76.2V80c0-8.8 7.2-16 16-16s16 7.2 16 16zm64 64a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faArrowUpToLine = {\n prefix: 'fal',\n iconName: 'arrow-up-to-line',\n icon: [384, 512, [\"arrow-to-top\"], \"f341\", \"M16 32C7.2 32 0 39.2 0 48s7.2 16 16 16l352 0c8.8 0 16-7.2 16-16s-7.2-16-16-16L16 32zM203.3 132.7c-6.2-6.2-16.4-6.2-22.6 0l-128 128c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L176 182.6 176 288l0 176c0 8.8 7.2 16 16 16s16-7.2 16-16l0-176 0-105.4L308.7 283.3c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-128-128z\"]\n};\nvar faArrowToTop = faArrowUpToLine;\nvar faFlag = {\n prefix: 'fal',\n iconName: 'flag',\n icon: [448, 512, [127988, 61725], \"f024\", \"M32 16C32 7.2 24.8 0 16 0S0 7.2 0 16V64 367v33 96c0 8.8 7.2 16 16 16s16-7.2 16-16V392l96.3-24.1c41.1-10.3 84.6-5.5 122.5 13.4c44.2 22.1 95.5 24.8 141.7 7.4l34.7-13c12.5-4.7 20.8-16.6 20.8-30V66.1c0-23-24.2-38-44.8-27.7l-9.6 4.8c-46.3 23.2-100.8 23.2-147.1 0c-35.1-17.6-75.4-22-113.5-12.5L32 56V16zm0 73L140.7 61.8c30.7-7.7 63.1-4.1 91.4 10c55.3 27.7 120.4 27.7 175.8 0l8.1-4.1v278l-34.7 13c-37.9 14.2-80 12-116.2-6.1c-44.7-22.4-96-28-144.5-15.9L32 359V89z\"]\n};\nvar faFaceCowboyHat = {\n prefix: 'fal',\n iconName: 'face-cowboy-hat',\n icon: [512, 512, [], \"e36e\", \"M168.1 118.9c5.7-17.2 13-35.7 21.4-51.9c6.9-13.2 13.7-23.2 19.8-29.4c3.5-3.5 5.7-4.9 6.7-5.4c.8 .4 2.2 1.3 4.2 3c20.3 17.8 51.2 17.8 71.5 0c2-1.8 3.4-2.6 4.2-3c1 .5 3.2 1.8 6.7 5.4c6.1 6.2 12.9 16.2 19.8 29.4c8.4 16.2 15.7 34.8 21.4 51.9c-27.7 5.9-57.2 9.1-87.9 9.1s-60.2-3.2-87.9-9.1zM296 0c-8.9 0-17.4 4.2-25.4 11.2c-8.2 7.2-21.1 7.2-29.3 0C233.4 4.2 224.9 0 216 0c-34.2 0-63 62.1-79 110.9C106.5 101.7 78.9 89 55.2 73.6l-.3-.2c-1-.6-2-1.3-2.9-1.9c-2.3-1.6-4.6-3.2-6.9-4.8C42.6 65 39.7 64 36.7 64C27.7 64 21 72.3 23.8 80.7c1.1 3.5 2.4 7 3.8 10.4c.4 1 .8 2 1.3 3l.2 .4C61.5 169.9 150.8 224 256 224s194.5-54.1 227-129.4l.2-.4c.4-1 .9-2 1.3-3c1.4-3.4 2.7-6.9 3.8-10.4C491 72.3 484.3 64 475.3 64c-3 0-6 1-8.4 2.8c-2.3 1.6-4.6 3.2-6.9 4.8c-1 .6-1.9 1.3-2.9 1.9l-.3 .2C433.1 89 405.5 101.7 375 110.9C359 62.1 330.2 0 296 0zM256 192c-69.9 0-129-26.2-166.1-64.1C138.7 148.5 195.7 160 256 160s117.3-11.5 166.1-32.1C385 165.8 325.9 192 256 192zM75.8 200C58.1 230.6 48 266.1 48 304c0 114.9 93.1 208 208 208s208-93.1 208-208c0-37.9-10.1-73.4-27.8-104c-8.6 6.2-17.6 12-27 17.2C423.7 242.9 432 272.5 432 304c0 97.2-78.8 176-176 176s-176-78.8-176-176c0-31.5 8.3-61.1 22.8-86.7c-9.4-5.3-18.5-11-27-17.2zM192 304a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm152-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM256 386.1c25.9 0 51-2.6 74.9-7.4c-19.5 23.7-46.5 37.4-74.9 37.4s-55.4-13.7-74.9-37.4c23.9 4.8 49 7.4 74.9 7.4zm124.5-29.6c4.8-12.1-7.8-22.5-20.2-18.5c-31.7 10.3-67.1 16.1-104.4 16.1s-72.7-5.8-104.4-16.1c-12.3-4-24.9 6.4-20.2 18.5c21.3 54 69 91.6 124.5 91.6s103.3-37.6 124.5-91.6z\"]\n};\nvar faHanukiah = {\n prefix: 'fal',\n iconName: 'hanukiah',\n icon: [640, 512, [128334], \"f6e6\", \"M336 16V48c0 8.8-7.2 16-16 16s-16-7.2-16-16V16c0-8.8 7.2-16 16-16s16 7.2 16 16zM64 80v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V80c0-8.8 7.2-16 16-16s16 7.2 16 16zm64 0v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V80c0-8.8 7.2-16 16-16s16 7.2 16 16zm64 0v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V80c0-8.8 7.2-16 16-16s16 7.2 16 16zm64 0v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V80c0-8.8 7.2-16 16-16s16 7.2 16 16zm160 0v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V80c0-8.8 7.2-16 16-16s16 7.2 16 16zm64 0v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V80c0-8.8 7.2-16 16-16s16 7.2 16 16zm64 0v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V80c0-8.8 7.2-16 16-16s16 7.2 16 16zm64 0v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V80c0-8.8 7.2-16 16-16s16 7.2 16 16zM320 96c8.8 0 16 7.2 16 16V352h48V176c0-8.8 7.2-16 16-16s16 7.2 16 16V352h32V176c0-8.8 7.2-16 16-16s16 7.2 16 16V352h32V176c0-8.8 7.2-16 16-16s16 7.2 16 16V349.3c18.6-6.6 32-24.4 32-45.3V176c0-8.8 7.2-16 16-16s16 7.2 16 16V304c0 44.2-35.8 80-80 80H336v96H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H320 144c-8.8 0-16-7.2-16-16s7.2-16 16-16H304V384H112c-44.2 0-80-35.8-80-80V176c0-8.8 7.2-16 16-16s16 7.2 16 16V304c0 20.9 13.4 38.7 32 45.3V176c0-8.8 7.2-16 16-16s16 7.2 16 16V352h32V176c0-8.8 7.2-16 16-16s16 7.2 16 16V352h32V176c0-8.8 7.2-16 16-16s16 7.2 16 16V352h48V112c0-8.8 7.2-16 16-16z\"]\n};\nvar faChartScatter3d = {\n prefix: 'fal',\n iconName: 'chart-scatter-3d',\n icon: [512, 512, [], \"e0e8\", \"M272 48c0-8.8-7.2-16-16-16s-16 7.2-16 16V280.6L37.7 451.8c-6.7 5.7-7.6 15.8-1.9 22.6s15.8 7.6 22.5 1.9L256 309 453.7 476.2c6.7 5.7 16.8 4.9 22.6-1.9s4.9-16.8-1.9-22.6L272 280.6V48zM384 88a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm24 168a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm72-72a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM152 160a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM32 88a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM56 256A24 24 0 1 0 8 256a24 24 0 1 0 48 0zM256 472a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faDisplayChartUp = {\n prefix: 'fal',\n iconName: 'display-chart-up',\n icon: [576, 512, [], \"e5e3\", \"M512 32c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H344.3c-.2 0-.4 0-.6 0H232.3c-.2 0-.4 0-.6 0H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H512zM64 416H213.1l-10.7 64H144c-8.8 0-16 7.2-16 16s7.2 16 16 16h72H360h72c8.8 0 16-7.2 16-16s-7.2-16-16-16H373.6l-10.7-64H512c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64zm170.9 64l10.7-64h84.9l10.7 64H234.9zM368 96c-8.8 0-16 7.2-16 16s7.2 16 16 16h57.4L304 249.4l-68.7-68.7c-6.2-6.2-16.4-6.2-22.6 0l-112 112c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L224 214.6l68.7 68.7c3 3 7.1 4.7 11.3 4.7s8.3-1.7 11.3-4.7L448 150.6V208c0 8.8 7.2 16 16 16s16-7.2 16-16V112c0-8.8-7.2-16-16-16H368z\"]\n};\nvar faSquareCode = {\n prefix: 'fal',\n iconName: 'square-code',\n icon: [448, 512, [], \"e267\", \"M384 64c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM261.4 172c-6.6 5.9-7.2 16-1.3 22.6L314.6 256 260 317.4c-5.9 6.6-5.3 16.7 1.3 22.6s16.7 5.3 22.6-1.3l64-72c5.4-6.1 5.4-15.2 0-21.3l-64-72c-5.9-6.6-16-7.2-22.6-1.3zM188 194.6c5.9-6.6 5.3-16.7-1.3-22.6s-16.7-5.3-22.6 1.3l-64 72c-5.4 6.1-5.4 15.2 0 21.3l64 72c5.9 6.6 16 7.2 22.6 1.3s7.2-16 1.3-22.6L133.4 256 188 194.6z\"]\n};\nvar faFeather = {\n prefix: 'fal',\n iconName: 'feather',\n icon: [512, 512, [129718], \"f52d\", \"M325.6 163.8L96 393.4 96 330c0-59.4 23.6-116.4 65.6-158.4L265.4 67.9c23-23 54.1-35.9 86.6-35.9s63.7 12.9 86.6 35.9l5.5 5.5c23 23 35.9 54.1 35.9 86.6c0 22.8-6.3 44.9-18 64H310.6l37.6-37.6c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0zm-47 92.2H434.7l-64 64H214.6l64-64zm60.1 96c-41.8 41-98.1 64-156.8 64H118.6l64-64H338.7zM64 330v95.3L4.7 484.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L86.6 448H182c67.9 0 133-27 181-75L466.7 269.3c29-29 45.3-68.3 45.3-109.3s-16.3-80.3-45.3-109.3l-5.5-5.5C432.3 16.3 393 0 352 0s-80.3 16.3-109.3 45.3L139 149C91 197 64 262.1 64 330z\"]\n};\nvar faVolumeLow = {\n prefix: 'fal',\n iconName: 'volume-low',\n icon: [448, 512, [128264, \"volume-down\"], \"f027\", \"M151.6 188L288 66.7V445.3L151.6 324c-2.9-2.6-6.7-4-10.6-4H56c-13.3 0-24-10.7-24-24V216c0-13.3 10.7-24 24-24h85c3.9 0 7.7-1.4 10.6-4zM290.2 32c-7.3 0-14.3 2.7-19.8 7.5L134.9 160H56c-30.9 0-56 25.1-56 56v80c0 30.9 25.1 56 56 56h78.9L270.4 472.5l10.6-12-10.6 12c5.5 4.8 12.5 7.5 19.8 7.5c16.5 0 29.8-13.3 29.8-29.8V61.8C320 45.3 306.7 32 290.2 32zM409.6 179.2c-7.1-5.3-17.1-3.9-22.4 3.2s-3.9 17.1 3.2 22.4C406 216.5 416 235.1 416 256s-10 39.5-25.6 51.2c-7.1 5.3-8.5 15.3-3.2 22.4s15.3 8.5 22.4 3.2C432.9 315.3 448 287.4 448 256s-15.1-59.3-38.4-76.8z\"]\n};\nvar faVolumeDown = faVolumeLow;\nvar faXmarkToSlot = {\n prefix: 'fal',\n iconName: 'xmark-to-slot',\n icon: [576, 512, [\"times-to-slot\", \"vote-nay\"], \"f771\", \"M144 64c-8.8 0-16 7.2-16 16V384H448V80c0-8.8-7.2-16-16-16H144zM480 80V384h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H480 448 128 96 80c-8.8 0-16-7.2-16-16s7.2-16 16-16H96V80c0-26.5 21.5-48 48-48H432c26.5 0 48 21.5 48 48zM48 320H64v32H48c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16H528c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16H512V320h16c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V368c0-26.5 21.5-48 48-48zM212.7 148.7c6.2-6.2 16.4-6.2 22.6 0L288 201.4l52.7-52.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L310.6 224l52.7 52.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L288 246.6l-52.7 52.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L265.4 224l-52.7-52.7c-6.2-6.2-6.2-16.4 0-22.6z\"]\n};\nvar faTimesToSlot = faXmarkToSlot;\nvar faVoteNay = faXmarkToSlot;\nvar faBoxTaped = {\n prefix: 'fal',\n iconName: 'box-taped',\n icon: [448, 512, [\"box-alt\"], \"f49a\", \"M264 32H184 105.6C80.3 32 57.4 46.9 47.1 70L5.5 163.6c-3.6 8.2-5.5 17-5.5 26V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V189.6c0-9-1.9-17.8-5.5-26L400.9 70c-10.3-23.1-33.2-38-58.5-38H264zm24 128L270 64h72.4c12.6 0 24.1 7.4 29.2 19l34.2 77H304 288zm-32.6 0H192.6l18-96h26.9l18 96zm.6 32v64H192V192h64zm-96 0v64c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V192h16H416V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V192H144h16zm0-32H144L42.1 160 76.3 83c5.1-11.6 16.6-19 29.2-19H178l-18 96z\"]\n};\nvar faBoxAlt = faBoxTaped;\nvar faCommentSlash = {\n prefix: 'fal',\n iconName: 'comment-slash',\n icon: [640, 512, [], \"f4b3\", \"M25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4zm377.6 400C378.1 411.5 350 416 320 416c-32 0-63-5.9-93.5-16.2c-9.9-3.3-20.7-1.8-29.2 4.2c-15.4 10.7-31.4 20-48.4 27.4l6.4 14.7-6.4-14.7c-10.5 4.6-21.5 8.6-32.7 11.5c.5-.9 1.1-1.8 1.6-2.6c14.3-23.8 22.6-49.3 25.7-76.3c1-9.2-2.1-17.7-7.4-23.9c-24.5-29.4-40-62.9-40-100c0-22.9 5.9-45.3 16.7-66.1L87 153.6C72.2 179.9 64 209.2 64 240c0 46.6 19.6 87.1 47.4 120.5c0 .1 .1 .1 .1 .2c-2.6 22.6-9.5 43.5-21.3 63.1c-6.5 10.8-13.5 20.8-21.7 29c-4.5 4.6-5.9 11.5-3.4 17.4s8.3 9.8 14.8 9.8c28.7 0 57.6-8.9 81.6-19.3c19.2-8.4 37.1-18.7 53.9-30.5c.2-.1 .5-.2 .7-.1C249.5 441.3 284 448 320 448c40.6 0 78.9-7.7 113-21.3l-29.4-23.2zM320 32c-51.1 0-98.6 12.1-138.6 33.1L209.2 87C241.3 72.5 278.8 64 320 64c130.2 0 224 84.6 224 176c0 31-10.8 61.2-30.1 87.5l25.3 20C562.6 316.1 576 279.3 576 240C576 125.2 461.5 32 320 32z\"]\n};\nvar faSwords = {\n prefix: 'fal',\n iconName: 'swords',\n icon: [512, 512, [9876], \"f71d\", \"M130.7 278.6l-15.4 15.4-12.7-12.7c-12.5-12.5-32.8-12.5-45.3 0l-16 16c-9.4 9.4-12 23.5-6.6 35.6l23.1 51.9L9.4 433.4c-12.5 12.5-12.5 32.8 0 45.3l24 24c12.5 12.5 32.8 12.5 45.3 0l48.5-48.5L179 477.2c12.1 5.4 26.3 2.7 35.6-6.6l16-16c12.5-12.5 12.5-32.8 0-45.3l-12.7-12.7 15.4-15.4-22.6-22.6-15.4 15.4-57.4-57.4 15.4-15.4-22.6-22.6zm227.9-67.9l22.6 22.6L491.1 123.5c7.9-7.9 12.8-18.4 13.9-29.6l7-76.5c.4-4.7-1.3-9.4-4.6-12.8s-8-5.1-12.8-4.6L418.1 7c-11.2 1-21.7 5.9-29.6 13.9L278.6 130.7l22.6 22.6L411.1 43.5c2.6-2.6 6.1-4.3 9.9-4.6l57.3-5.2L473.1 91c-.3 3.7-2 7.2-4.6 9.9L358.6 210.7zM64 320l16-16L208 432l-16 16-62-27.5c-6-2.7-13.1-1.4-17.8 3.3L56 480 32 456l56.2-56.2c4.7-4.7 6-11.8 3.3-17.8L64 320zM38.9 91L33.7 33.7 91 38.9c3.7 .3 7.2 2 9.9 4.6L354.7 297.4l22.6-22.6L123.5 20.9C115.6 12.9 105.1 8 93.9 7L17.4 .1C12.7-.4 8 1.3 4.7 4.7S-.4 12.7 .1 17.4L7 93.9c1 11.2 5.9 21.7 13.9 29.6L274.7 377.4l22.6-22.6L43.5 100.9c-2.6-2.6-4.3-6.1-4.6-9.9zM409.4 281.4l-128 128c-12.5 12.5-12.5 32.8 0 45.3l16 16c9.4 9.4 23.5 12 35.6 6.6l51.9-23.1 48.5 48.5c12.5 12.5 32.8 12.5 45.3 0l24-24c12.5-12.5 12.5-32.8 0-45.3l-48.5-48.5L477.2 333c5.4-12.1 2.7-26.3-6.6-35.6l-16-16c-12.5-12.5-32.8-12.5-45.3 0zM432 304l16 16-27.5 62c-2.7 6.1-1.4 13.1 3.3 17.8L480 456l-24 24-56.2-56.2c-4.7-4.7-11.8-6-17.8-3.3L320 448l-16-16L432 304z\"]\n};\nvar faCloudSunRain = {\n prefix: 'fal',\n iconName: 'cloud-sun-rain',\n icon: [640, 512, [127782], \"f743\", \"M303.8 13.4c-.9-5.4-4.5-10-9.6-12.1s-10.9-1.5-15.4 1.6L208 52.5 137.2 2.9c-4.5-3.2-10.3-3.8-15.4-1.6s-8.7 6.7-9.6 12.1L98.1 98.1 13.4 112.2c-5.4 .9-10 4.5-12.1 9.6s-1.5 10.9 1.6 15.4L52.5 208 2.9 278.8c-3.2 4.5-3.8 10.3-1.6 15.4s6.7 8.7 12.1 9.6l84.7 14.1 14.1 84.7c.9 5.4 4.5 10 9.6 12.1s10.9 1.5 15.4-1.6l56-39.2c-7.2-7.9-13.4-16.7-18.4-26.2l-35.2 24.6-11.8-71c-1.1-6.7-6.4-12-13.2-13.2l-71-11.8 41.4-59.2c3.9-5.5 3.9-12.8 0-18.4L43.7 139.6l71-11.8c6.7-1.1 12-6.4 13.2-13.2l11.8-71 59.2 41.4c5.5 3.9 12.8 3.9 18.4 0l59.2-41.4 8.5 51c8.8-7.5 18.7-13.9 29.3-18.8L303.8 13.4zM208 120c-48.6 0-88 39.4-88 88c0 31 16 58.2 40.1 73.9c.6-12.5 2.9-24.5 6.8-35.7c-9.3-10-15-23.4-15-38.1c0-30.9 25.1-56 56-56c13.2 0 25.4 4.6 35 12.3c2.4-11 6.3-21.4 11.3-31.1C240.8 124.8 225 120 208 120zm87.3 297.7c-7.9-4-17.5-.7-21.5 7.2l-32 64c-4 7.9-.7 17.5 7.2 21.5s17.5 .7 21.5-7.2l32-64c4-7.9 .7-17.5-7.2-21.5zm96 0c-7.9-4-17.5-.7-21.5 7.2l-32 64c-4 7.9-.7 17.5 7.2 21.5s17.5 .7 21.5-7.2l32-64c3.9-7.9 .7-17.5-7.2-21.5zm96 0c-7.9-4-17.5-.7-21.5 7.2l-32 64c-4 7.9-.7 17.5 7.2 21.5s17.5 .7 21.5-7.2l32-64c4-7.9 .7-17.5-7.2-21.5zm96 0c-7.9-4-17.5-.7-21.5 7.2l-32 64c-4 7.9-.7 17.5 7.2 21.5s17.5 .7 21.5-7.2l32-64c4-7.9 .7-17.5-7.2-21.5zM304 192c0-35.3 28.7-64 64-64c29.1 0 53.7 19.4 61.4 46c1.7 5.8 6.5 10.2 12.5 11.3s12-1.3 15.7-6.1c8.8-11.7 22.7-19.2 38.4-19.2c26.5 0 48 21.5 48 48c0 8.8-2.3 16.9-6.4 24c-2.9 5-2.9 11.1 0 16s8.1 8 13.9 8l8.3 0 0 0 .2 0c26.5 0 48 21.5 48 48s-21.5 48-48 48c-.6 0-1.2 0-1.8 0l-.3 0-.2 0H290.9c-.2 0-.4 0-.6 0c-.8 0-1.6 0-2.3 0c-35.3 0-64-28.7-64-64s28.7-64 64-64c.4 0 .8 0 1.3 0c4.9 .1 9.5-2 12.6-5.8s4.4-8.7 3.4-13.4c-.8-4.1-1.3-8.4-1.3-12.8zm64-96c-53 0-96 43-96 96l0 1.3c-45.4 7.6-80 47.1-80 94.7c0 53 43 96 96 96c1.1 0 2.1 0 3.2-.1H557.3c.9 0 1.8 0 2.7 0c44.2 0 80-35.8 80-80c0-39.3-28.4-72.1-65.8-78.7c1.2-5.6 1.9-11.3 1.9-17.2c0-44.2-35.8-80-80-80c-17 0-32.8 5.3-45.8 14.4C433.4 114.6 402.9 96 368 96z\"]\n};\nvar faAlbum = {\n prefix: 'fal',\n iconName: 'album',\n icon: [448, 512, [128189], \"f89f\", \"M384 64c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm160 96a128 128 0 1 1 0 256 128 128 0 1 1 0-256zm0 288a160 160 0 1 0 0-320 160 160 0 1 0 0 320zm0-136a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faCircleN = {\n prefix: 'fal',\n iconName: 'circle-n',\n icon: [512, 512, [], \"e118\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM189 134.7c-4-5.7-11.3-8.1-17.9-5.9S160 137 160 144V368c0 8.8 7.2 16 16 16s16-7.2 16-16V193.9L323 377.3c4 5.7 11.3 8.1 17.9 5.9s11.1-8.3 11.1-15.2V144c0-8.8-7.2-16-16-16s-16 7.2-16 16V318.1L189 134.7z\"]\n};\nvar faCompress = {\n prefix: 'fal',\n iconName: 'compress',\n icon: [448, 512, [], \"f066\", \"M160 48c0-8.8-7.2-16-16-16s-16 7.2-16 16V160H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H144c8.8 0 16-7.2 16-16V48zM16 320c-8.8 0-16 7.2-16 16s7.2 16 16 16H128V464c0 8.8 7.2 16 16 16s16-7.2 16-16V336c0-8.8-7.2-16-16-16H16zM320 48c0-8.8-7.2-16-16-16s-16 7.2-16 16V176c0 8.8 7.2 16 16 16H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H320V48zM304 320c-8.8 0-16 7.2-16 16V464c0 8.8 7.2 16 16 16s16-7.2 16-16V352H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H304z\"]\n};\nvar faWheatAwn = {\n prefix: 'fal',\n iconName: 'wheat-awn',\n icon: [512, 512, [\"wheat-alt\"], \"e2cd\", \"M491 43.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L341.6 147.5c1-16.8-1.2-33.7-6.7-49.8l54.3-54.4c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L319.8 67.5c-4.5-6.5-9.6-12.8-15.4-18.6L281.8 26.4c-6.2-6.2-16.4-6.2-22.6 0L225.2 60.3c-17.4 17.4-26.7 39.8-28 62.6l-6-6c-6.2-6.2-16.4-6.2-22.6 0l-33.9 33.9c-17.4 17.4-26.7 39.8-28 62.6l-6-6c-6.2-6.2-16.4-6.2-22.6 0L44.3 241.3c-37.5 37.5-37.5 98.3 0 135.8L78.2 411l0 0L4.7 484.5c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l73.5-73.5 0 0 33.9 33.9c37.5 37.5 98.3 37.5 135.8 0l33.9-33.9c6.2-6.2 6.2-16.4 0-22.6l-6-6c22.8-1.3 45.2-10.6 62.5-28l33.9-33.9c6.2-6.2 6.2-16.4 0-22.6l-6-6c22.8-1.3 45.2-10.6 62.6-28l33.9-33.9c6.2-6.2 6.2-16.4 0-22.6l-22.6-22.6c-5.8-5.8-12-10.9-18.6-15.4L491 145.1c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L414 176.9c-16.1-5.5-33-7.8-49.8-6.7L491 43.3zM191.6 297.5l-.3 .3-33.9-33.9c-25-25-25-65.5 0-90.5L180 150.8l11.3 11.3c37.4 37.4 37.5 97.9 .4 135.4zM247.9 82.9l22.6-22.6 11.3 11.3c37.5 37.5 37.5 98.2 0 135.7l-33.9-33.9c-25-25-25-65.5 0-90.5zM89.5 241.3l11.3 11.3c37.5 37.5 37.5 98.2 0 135.7L66.9 354.4c-25-25-25-65.5 0-90.5l22.6-22.6zm181 181l-22.6 22.6c-25 25-65.5 25-90.5 0L123.5 411c37.5-37.5 98.2-37.5 135.7 0l11.3 11.3zm90.5-90.5l-22.6 22.6c-25 25-65.5 25-90.5 0l-33.9-33.9c37.5-37.5 98.2-37.5 135.7 0l11.3 11.3zm90.5-90.5l-22.6 22.6c-25 25-65.5 25-90.5 0L304.4 230c37.5-37.5 98.2-37.5 135.7 0l11.3 11.3z\"]\n};\nvar faWheatAlt = faWheatAwn;\nvar faAnkh = {\n prefix: 'fal',\n iconName: 'ankh',\n icon: [320, 512, [9765], \"f644\", \"M64 128c0 48.2 25.8 88.6 55 118.7c14.4 14.8 28.8 26.4 39.7 34.2l1.3 .9 1.3-.9c10.9-7.8 25.3-19.3 39.7-34.2c29.2-30.1 55-70.5 55-118.7c0-53-43-96-96-96s-96 43-96 96zm52.1 160C79.1 255.9 32 200.8 32 128C32 57.3 89.3 0 160 0s128 57.3 128 128c0 72.8-47.1 127.9-84.1 160H304c8.8 0 16 7.2 16 16s-7.2 16-16 16H176V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V320H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H116.1z\"]\n};\nvar faHandsHoldingChild = {\n prefix: 'fal',\n iconName: 'hands-holding-child',\n icon: [640, 512, [], \"e4fa\", \"M336 48a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-64 0a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm48 96c-2.9 0-5.7 .2-8.5 .7L307.8 208h24.4l-3.7-63.3c-2.8-.4-5.6-.7-8.5-.7zM304 272.9c-.5 8.8-8.1 15.6-16.9 15s-15.6-8.1-15-16.9l6.4-108.3L251.3 190c-6.2 6.3-16.4 6.3-22.6 0s-6.3-16.4 0-22.6l29.6-29.7C274.6 121.2 296.8 112 320 112s45.4 9.2 61.7 25.6l29.6 29.7c6.2 6.3 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-27.1-27.2L368 271.1c.5 8.8-6.2 16.4-15 16.9s-16.4-6.2-16.9-15L334.1 240H305.9L304 272.9zM64 64c35.3 0 64 28.7 64 64V252.3c0 4.6 .4 9.1 1.3 13.5c2.1-3.2 4.6-6.3 7.4-9.1c21.7-21.7 56.9-21.7 78.6 0L306.6 348c5.1 5.1 9.6 10.6 13.4 16.6c3.8-5.9 8.3-11.5 13.4-16.6l91.3-91.3c21.7-21.7 56.9-21.7 78.6 0c2.8 2.8 5.3 5.9 7.4 9.1c.9-4.4 1.3-8.9 1.3-13.5V128c0-35.3 28.7-64 64-64s64 28.7 64 64V344.2c0 29.7-11.8 58.2-32.8 79.2l-83.9 83.9c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l83.9-83.9c15-15 23.4-35.4 23.4-56.6V128c0-17.7-14.3-32-32-32s-32 14.3-32 32V252.3c0 27.1-10.8 53.1-29.9 72.2l-10.8 10.8-44 44-16 16c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l16-16 0 0 44-44 0 0c9.2-9.2 9.2-24.2 0-33.4s-24.2-9.2-33.4 0L356 370.6c-12.8 12.8-20 30.2-20 48.3V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V418.9c0-18.1-7.2-35.5-20-48.3l-91.3-91.3c-9.2-9.2-24.2-9.2-33.4 0s-9.2 24.2 0 33.4l44 44 16 16c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-16-16 0 0-44-44 0 0-10.7-10.8C106.8 305.4 96 279.4 96 252.3V128c0-17.7-14.3-32-32-32s-32 14.3-32 32V344.2c0 21.2 8.4 41.6 23.4 56.6l83.9 83.9c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L32.8 423.4C11.8 402.4 0 373.9 0 344.2V128C0 92.7 28.7 64 64 64z\"]\n};\nvar faAsterisk = {\n prefix: 'fal',\n iconName: 'asterisk',\n icon: [384, 512, [10033, 61545], \"2a\", \"M192 32c8.8 0 16 7.2 16 16V226.9l151.4-96.4c7.5-4.7 17.3-2.5 22.1 4.9s2.5 17.3-4.9 22.1L221.8 256l154.8 98.5c7.5 4.7 9.7 14.6 4.9 22.1s-14.6 9.7-22.1 4.9L208 285.1V464c0 8.8-7.2 16-16 16s-16-7.2-16-16V285.1L24.6 381.5c-7.5 4.7-17.3 2.5-22.1-4.9s-2.5-17.3 4.9-22.1L162.2 256 7.4 157.5c-7.5-4.7-9.7-14.6-4.9-22.1s14.6-9.7 22.1-4.9L176 226.9V48c0-8.8 7.2-16 16-16z\"]\n};\nvar faKeySkeletonLeftRight = {\n prefix: 'fal',\n iconName: 'key-skeleton-left-right',\n icon: [640, 512, [], \"e3b4\", \"M608 128a96 96 0 1 0 -192 0 96 96 0 1 0 192 0zm32 0c0 70.7-57.3 128-128 128s-128-57.3-128-128v0H288v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V128H192l0 64c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-80c0-8.8 7.2-16 16-16l212 0C402.2 40.8 452.4 0 512 0c70.7 0 128 57.3 128 128zM32 384a96 96 0 1 0 192 0A96 96 0 1 0 32 384zM0 384c0-70.7 57.3-128 128-128s128 57.3 128 128v0h96V320c0-8.8 7.2-16 16-16s16 7.2 16 16v64h64l0-64c0-8.8 7.2-16 16-16s16 7.2 16 16l0 80c0 8.8-7.2 16-16 16H252c-14.2 55.2-64.3 96-124 96C57.3 512 0 454.7 0 384z\"]\n};\nvar faCommentLines = {\n prefix: 'fal',\n iconName: 'comment-lines',\n icon: [512, 512, [], \"f4b0\", \"M32 240c0-91.4 93.8-176 224-176s224 84.6 224 176s-93.8 176-224 176c-32 0-63-5.9-93.5-16.2c-9.9-3.3-20.7-1.8-29.2 4.2c-15.4 10.7-31.4 20-48.4 27.4L91.2 446l-6.4-14.7c-10.5 4.6-21.5 8.6-32.7 11.5c.5-.9 1.1-1.8 1.6-2.6C68 416.5 76.3 391 79.4 363.9c1-9.2-2.1-17.7-7.4-23.9c-24.5-29.4-40-62.9-40-100zM256 32C114.5 32 0 125.2 0 240c0 46.6 19.6 87.1 47.4 120.5c0 .1 .1 .1 .1 .2c-2.6 22.6-9.5 43.5-21.3 63.1c-6.5 10.8-13.5 20.8-21.7 29c-4.5 4.6-5.9 11.5-3.4 17.4s8.3 9.8 14.8 9.8c28.7 0 57.6-8.9 81.6-19.3c19.2-8.4 37.1-18.7 53.9-30.5c.2-.1 .5-.2 .7-.1C185.5 441.3 220 448 256 448c141.5 0 256-93.2 256-208S397.5 32 256 32zM144 176c-8.8 0-16 7.2-16 16s7.2 16 16 16H368c8.8 0 16-7.2 16-16s-7.2-16-16-16H144zm0 96c-8.8 0-16 7.2-16 16s7.2 16 16 16H272c8.8 0 16-7.2 16-16s-7.2-16-16-16H144z\"]\n};\nvar faLuchadorMask = {\n prefix: 'fal',\n iconName: 'luchador-mask',\n icon: [448, 512, [\"luchador\", \"mask-luchador\"], \"f455\", \"M288 480H160C89.3 480 32 422.7 32 352V224C32 118 118 32 224 32s192 86 192 192V352c0 70.7-57.3 128-128 128zM224 0C100.3 0 0 100.3 0 224V352c0 88.4 71.6 160 160 160H288c88.4 0 160-71.6 160-160V224C448 100.3 347.7 0 224 0zM160 352h35.3 57.4H288c17.7 0 32 14.3 32 32s-14.3 32-32 32H160c-17.7 0-32-14.3-32-32s14.3-32 32-32zm-6.4-31.7C121.2 323.5 96 350.8 96 384c0 35.3 28.7 64 64 64H288c35.3 0 64-28.7 64-64c0-33.2-25.2-60.5-57.6-63.7c1-3.7 1.6-7.6 1.6-11.6c0-7.3-1.8-14.4-5.3-20.7H304c44.2 0 80-35.8 80-80c0-26.5-21.5-48-48-48H304c-44.2 0-80 35.8-80 80c0-44.2-35.8-80-80-80H112c-26.5 0-48 21.5-48 48c0 44.2 35.8 80 80 80h13.3c-3.4 6.3-5.3 13.4-5.3 20.7c0 4 .6 7.9 1.6 11.6zm41.7-.3c-6.2 0-11.3-5.1-11.3-11.3c0-3 1.2-5.9 3.3-8l8-8 4.2-4.2 .4-.4 10.3-10.3c3.6-3.6 8.5-5.7 13.7-5.7s10 2 13.7 5.7L248 288l.4 .4 4.2 4.2 8 8c2.1 2.1 3.3 5 3.3 8c0 6.2-5.1 11.3-11.3 11.3H241.4h-6-.6H213.3h-.6-6H195.3zM96 208c0-8.8 7.2-16 16-16h32c26.5 0 48 21.5 48 48c0 8.8-7.2 16-16 16H144c-26.5 0-48-21.5-48-48zm240-16c8.8 0 16 7.2 16 16c0 26.5-21.5 48-48 48H272c-8.8 0-16-7.2-16-16c0-26.5 21.5-48 48-48h32z\"]\n};\nvar faLuchador = faLuchadorMask;\nvar faMaskLuchador = faLuchadorMask;\nvar faSquareCheck = {\n prefix: 'fal',\n iconName: 'square-check',\n icon: [448, 512, [9745, 9989, 61510, \"check-square\"], \"f14a\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM331.3 203.3l-128 128c-6.2 6.2-16.4 6.2-22.6 0l-64-64c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L192 297.4 308.7 180.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faCheckSquare = faSquareCheck;\nvar faShredder = {\n prefix: 'fal',\n iconName: 'shredder',\n icon: [512, 512, [], \"f68a\", \"M96 64V192H416V90.5c0-8.5-3.4-16.6-9.4-22.6L380.1 41.4c-6-6-14.1-9.4-22.6-9.4H128c-17.7 0-32 14.3-32 32zM64 192V64C64 28.7 92.7 0 128 0H357.5c17 0 33.3 6.7 45.3 18.7l26.5 26.5c12 12 18.7 28.3 18.7 45.3V192c35.3 0 64 28.7 64 64v96c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V256c0-35.3 28.7-64 64-64zm0 32c-17.7 0-32 14.3-32 32v96H480V256c0-17.7-14.3-32-32-32H64zm344 48a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM96 496V416h32v80c0 8.8-7.2 16-16 16s-16-7.2-16-16zm96 0V416h32v80c0 8.8-7.2 16-16 16s-16-7.2-16-16zm96 0V416h32v80c0 8.8-7.2 16-16 16s-16-7.2-16-16zm96 0V416h32v80c0 8.8-7.2 16-16 16s-16-7.2-16-16z\"]\n};\nvar faBookOpenCover = {\n prefix: 'fal',\n iconName: 'book-open-cover',\n icon: [640, 512, [\"book-open-alt\"], \"e0c0\", \"M544 373.8V33.5L336 62.1V415.4l208-41.6zM304 415.4V62.1L96 33.5V373.8l208 41.6zM539.6 1.8C558.9-.8 576 14.1 576 33.5V373.8c0 15.3-10.8 28.4-25.7 31.4L332.6 448.7c-8.3 1.7-16.8 1.7-25.1 0L89.7 405.1c-15-3-25.7-16.1-25.7-31.4V33.5C64 14.1 81.1-.8 100.4 1.8L320 32 539.6 1.8zM0 65.5c0-17.9 14.6-32 32-32l0 32L32 160l0 258.6 281.7 56.3c4.1 .8 8.4 .8 12.6 0L608 418.6V160 65.5v-32c17.4 0 32 14.1 32 32V418.6c0 15.3-10.8 28.4-25.7 31.4L332.6 506.3c-8.3 1.7-16.8 1.7-25.1 0L25.7 449.9C10.8 447 0 433.8 0 418.6V65.5z\"]\n};\nvar faBookOpenAlt = faBookOpenCover;\nvar faSandwich = {\n prefix: 'fal',\n iconName: 'sandwich',\n icon: [512, 512, [129386], \"f81f\", \"M480 96v64H32V96H480zM32 64C14.3 64 0 78.3 0 96v64c0 17.7 14.3 32 32 32H480c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H32zM0 352v64c0 17.7 14.3 32 32 32H480c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32H392c-2.2 0-4.5 .5-6.5 1.4L320 350.5l-65.5-29.1c-2-.9-4.3-1.4-6.5-1.4H32c-17.7 0-32 14.3-32 32zm244.6 0l68.9 30.6c4.1 1.8 8.9 1.8 13 0L395.4 352H480v64H32V352H244.6zM16 288c10.5 0 20.9-2.6 30.5-5.8c8.5-2.9 17.2-6.6 25.6-10.1l0 0 3.2-1.3C94.6 262.6 111.7 256 128 256c20.4 0 36.7 6.7 56.6 14.8c19.5 8 42.2 17.2 71.4 17.2s51.8-9.2 71.4-17.2c19.9-8.1 36.2-14.8 56.6-14.8c16.3 0 33.4 6.6 52.8 14.7l3.2 1.3c8.3 3.5 17.1 7.2 25.6 10.1c9.6 3.2 20 5.8 30.5 5.8c8.8 0 16-7.2 16-16s-7.2-16-16-16c-5.5 0-12.1-1.4-20.3-4.2c-7.3-2.5-14.9-5.7-23.4-9.3l-3.2-1.3C430.6 233.4 407.7 224 384 224c-26.8 0-48.2 8.8-67 16.5l-1.8 .7c-19.6 8-37 14.8-59.3 14.8s-39.7-6.8-59.3-14.8l-1.8-.7c-18.8-7.7-40.2-16.5-67-16.5c-23.7 0-46.6 9.4-65.2 17.3l-3.2 1.3c-8.5 3.6-16.1 6.8-23.4 9.3C28.1 254.6 21.5 256 16 256c-8.8 0-16 7.2-16 16s7.2 16 16 16z\"]\n};\nvar faPesetaSign = {\n prefix: 'fal',\n iconName: 'peseta-sign',\n icon: [384, 512, [], \"e221\", \"M72.7 32C50.2 32 32 50.2 32 72.7V160H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H32V304 464c0 8.8 7.2 16 16 16s16-7.2 16-16V320H208c74.1 0 135.2-56 143.1-128H368c8.8 0 16-7.2 16-16s-7.2-16-16-16H351.1c-8-72-69-128-143.1-128H72.7zM318.9 160H64V72.7c0-4.8 3.9-8.7 8.7-8.7H208c56.4 0 103.1 41.7 110.9 96zM64 192H318.9c-7.8 54.3-54.4 96-110.9 96H64V192z\"]\n};\nvar faSquareParkingSlash = {\n prefix: 'fal',\n iconName: 'square-parking-slash',\n icon: [640, 512, [\"parking-slash\"], \"f617\", \"M25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4zM497.4 477.6L459.9 448H160c-17.7 0-32-14.3-32-32V186L96 160.7V416c0 35.3 28.7 64 64 64H480c6 0 11.9-.8 17.4-2.4zM142.6 34.4L180.1 64H480c17.7 0 32 14.3 32 32V326l32 25.3V96c0-35.3-28.7-64-64-64H160c-6 0-11.9 .8-17.4 2.4zm97.4 240V304v64c0 8.8 7.2 16 16 16s16-7.2 16-16V352 320 299.6l-32-25.3zm197.7-7c6.6-13 10.3-27.8 10.3-43.4c0-53-43-96-96-96H264c-.9 0-1.8 0-2.7 .1L301.7 160H352c35.3 0 64 28.7 64 64c0 8.1-1.5 15.8-4.2 22.9l25.9 20.4z\"]\n};\nvar faParkingSlash = faSquareParkingSlash;\nvar faTrainTunnel = {\n prefix: 'fal',\n iconName: 'train-tunnel',\n icon: [512, 512, [], \"e454\", \"M32 256C32 132.3 132.3 32 256 32s224 100.3 224 224V496c0 8.8 7.2 16 16 16s16-7.2 16-16V256C512 114.6 397.4 0 256 0S0 114.6 0 256V496c0 8.8 7.2 16 16 16s16-7.2 16-16V256zm336-48v48H144V208c0-26.5 21.5-48 48-48H320c26.5 0 48 21.5 48 48zM144 368V288H368v80c0 26.5-21.5 48-48 48h0H192h0c-26.5 0-48-21.5-48-48zm16 73.4l-43.3 43.3c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L198.6 448H313.4l59.3 59.3c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L352 441.4c28.3-12.3 48-40.5 48-73.4V208c0-44.2-35.8-80-80-80H192c-44.2 0-80 35.8-80 80V368c0 32.8 19.8 61 48 73.4zM280 352a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faHeading = {\n prefix: 'fal',\n iconName: 'heading',\n icon: [448, 512, [\"header\"], \"f1dc\", \"M0 48c0-8.8 7.2-16 16-16H80h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H96V224H352V64H304c-8.8 0-16-7.2-16-16s7.2-16 16-16h64 64c8.8 0 16 7.2 16 16s-7.2 16-16 16H384V240 448h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H304c-8.8 0-16-7.2-16-16s7.2-16 16-16h48V256H96V448h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H64V240 64H16C7.2 64 0 56.8 0 48z\"]\n};\nvar faHeader = faHeading;\nvar faGhost = {\n prefix: 'fal',\n iconName: 'ghost',\n icon: [384, 512, [128123], \"f6e2\", \"M242.7 506c3.3 3.8 8.2 6 13.3 6s9.9-2.2 13.3-6l29.3-33.4c11.6-13.3 32.1-14 44.5-1.5l2.3 2.3c4.2 4.2 10 6.6 16 6.6c12.5 0 22.6-10.1 22.6-22.6V192C384 86 298 0 192 0S0 86 0 192V457.4C0 469.9 10.1 480 22.6 480c6 0 11.8-2.4 16-6.6l2.3-2.3c12.5-12.5 32.9-11.8 44.5 1.5L114.7 506c3.3 3.8 8.2 6 13.3 6s9.9-2.2 13.3-6l26.6-30.5c12.7-14.6 35.4-14.6 48.2 0L242.7 506zM32 438.1V192c0-88.4 71.6-160 160-160s160 71.6 160 160V438.1c-25.1-14-57.6-9.3-77.6 13.4L256 472.5l-15.8-18.1c-25.5-29.1-70.8-29.1-96.3 0L128 472.5l-18.4-21.1C89.6 428.7 57.1 424 32 438.1zM152 192a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm104 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faFaceAnguished = {\n prefix: 'fal',\n iconName: 'face-anguished',\n icon: [512, 512, [], \"e369\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm251.8 48h8.4c50.7 0 91.8 41.1 91.8 91.8c0 11.2-9 20.2-20.2 20.2H180.2c-11.2 0-20.2-9-20.2-20.2c0-50.7 41.1-91.8 91.8-91.8zm8.4 32h-8.4c-29 0-53.2 20.6-58.6 48H318.8c-5.5-27.4-29.6-48-58.6-48zM152.4 224a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm184-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM192 128c-4.4 0-8.8 .3-13 .9c-21.2 2.8-40.6 12.4-56.1 26.8c-6.5 6-16.6 5.7-22.6-.8s-5.7-16.6 .8-22.6c20.1-18.7 45.5-31.5 73.7-35.2c5.6-.7 11.4-1.1 17.2-1.1c8.8 0 16 7.2 16 16s-7.2 16-16 16zm141 .9c-4.3-.6-8.6-.9-13-.9c-8.8 0-16-7.2-16-16s7.2-16 16-16c5.8 0 11.6 .4 17.2 1.1c28.2 3.7 53.7 16.4 73.7 35.2c6.5 6 6.8 16.2 .8 22.6s-16.2 6.8-22.6 .8c-15.5-14.5-34.8-24-56.1-26.8z\"]\n};\nvar faHockeySticks = {\n prefix: 'fal',\n iconName: 'hockey-sticks',\n icon: [640, 512, [], \"f454\", \"M301.4 288H266.5L129.8 23.3c-4.1-7.9-1-17.5 6.9-21.6s17.5-1 21.6 6.9L302 286.9l-.6 1.1zm75 64L393 320H584c30.9 0 56 25.1 56 56v80c0 30.9-25.1 56-56 56H421.2c-23.9 0-45.9-13.4-56.9-34.6l-26.4-51 18-34.9 36.8 71.2c5.5 10.6 16.5 17.3 28.4 17.3H512V352H376.4zM544 352V480h40c13.3 0 24-10.7 24-24V376c0-13.3-10.7-24-24-24H544zM503.3 1.8c7.8 4.1 10.9 13.7 6.9 21.6l-234.6 454c-11 21.3-32.9 34.6-56.9 34.6H56c-30.9 0-56-25.1-56-56V376c0-30.9 25.1-56 56-56H320.9L481.8 8.7c4.1-7.9 13.7-10.9 21.6-6.9zM304.4 352H128V480h90.8c12 0 22.9-6.7 28.4-17.3L304.4 352zM56 352c-13.3 0-24 10.7-24 24v80c0 13.3 10.7 24 24 24H96V352H56z\"]\n};\nvar faAbacus = {\n prefix: 'fal',\n iconName: 'abacus',\n icon: [576, 512, [129518], \"f640\", \"M512 64c17.7 0 32 14.3 32 32v96H448V160h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H448V64h64zm-96 64H400c-8.8 0-16 7.2-16 16s7.2 16 16 16h16v32H288V160h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H288V64H416v64zm-160 0H240c-8.8 0-16 7.2-16 16s7.2 16 16 16h16v32H160V160h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H160V64h96v64zm-128 0H112c-8.8 0-16 7.2-16 16s7.2 16 16 16h16v32H32V96c0-17.7 14.3-32 32-32h64v64zM32 416V224h96v64H112c-8.8 0-16 7.2-16 16s7.2 16 16 16h16v32H112c-8.8 0-16 7.2-16 16s7.2 16 16 16h16v64H64c-17.7 0-32-14.3-32-32zm128-32h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H160V320h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H160V224h96v64H240c-8.8 0-16 7.2-16 16s7.2 16 16 16h16v32H240c-8.8 0-16 7.2-16 16s7.2 16 16 16h16v64H160V384zm128-64h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H288V224H416V352H400c-8.8 0-16 7.2-16 16s7.2 16 16 16h16v64H288V384h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H288V320zm160 64h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H448V224h96V416c0 17.7-14.3 32-32 32H448V384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64z\"]\n};\nvar faFilmSimple = {\n prefix: 'fal',\n iconName: 'film-simple',\n icon: [512, 512, [\"film-alt\"], \"f3a0\", \"M128 352v96H384V352 256 160 64H128v96 96 96zM96 368H32v48c0 17.7 14.3 32 32 32H96V368zm0-32V272H32v64H96zm0-96V176H32v64H96zm0-96V64H64C46.3 64 32 78.3 32 96v48H96zM416 272v64h64V272H416zm0 96v80h32c17.7 0 32-14.3 32-32V368H416zm0-128h64V176H416v64zm0-96h64V96c0-17.7-14.3-32-32-32H416v80zM64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32z\"]\n};\nvar faFilmAlt = faFilmSimple;\nvar faList = {\n prefix: 'fal',\n iconName: 'list',\n icon: [512, 512, [\"list-squares\"], \"f03a\", \"M48 112V80H80v32H48zM16 72v48c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24V72c0-13.3-10.7-24-24-24H40C26.7 48 16 58.7 16 72zm160 8c-8.8 0-16 7.2-16 16s7.2 16 16 16H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H176zm0 160c-8.8 0-16 7.2-16 16s7.2 16 16 16H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H176zm0 160c-8.8 0-16 7.2-16 16s7.2 16 16 16H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H176zM48 240H80v32H48V240zm-8-32c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24V232c0-13.3-10.7-24-24-24H40zm8 224V400H80v32H48zM16 392v48c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24V392c0-13.3-10.7-24-24-24H40c-13.3 0-24 10.7-24 24z\"]\n};\nvar faListSquares = faList;\nvar faTreePalm = {\n prefix: 'fal',\n iconName: 'tree-palm',\n icon: [576, 512, [127796], \"f82b\", \"M115.7 128c.7-.7 1.4-1.5 2.2-2.2c20.7-20.7 42.4-35.1 64.1-44.5c8.1-3.5 17.5 .2 21 8.3s-.2 17.5-8.3 21c-17.7 7.7-36.1 19.7-54.1 37.8c-3.6 3.6-6.9 7.1-10 10.7l-1.3 1.5c-51.1 60.1-42 123.1-21.3 156.1L244 180.7c3.2-3.2 7.5-4.9 12-4.7l0 0H432V144c0-8.8 7.2-16 16-16s16 7.2 16 16v32h78.1C532.8 135.5 490 80 400 80c-31.6 0-57.2 6.8-77.4 17.2c-7.2 3.7-16 1.4-20.6-5.3C281.2 60.9 241 32 176 32C86 32 43.2 87.5 33.9 128h81.7zM544 208H448 341.1c8 23.6 15.1 49.1 21 75.4c14.3 64.4 21.4 135.3 15.4 200.1C375.9 500 361.9 512 345.9 512H245.8c-21.7 0-36.7-21-30.8-41.3c27.4-94.3 34-166.1 30.8-216.1c-.6-10-1.7-19.1-3-27.4L129.1 340.8c-11.8 11.8-34.2 13.9-46-3.3C56.3 297.9 44.6 227.5 89.6 160H32c-16.7 0-34-14.3-30.1-34.9C12.3 70.1 67.6 0 176 0c68.6 0 116.2 28.1 144.4 63c22.6-9.4 49.1-15 79.6-15c108.4 0 163.7 70.1 174.1 125.1C578 193.7 560.7 208 544 208zm-272.3 0c2.8 13 4.9 27.8 5.9 44.5c3.5 54.5-3.8 130-32 227.1c0 .1 0 .1 0 .1l0 .1c0 0 0 .1 .1 .2l0 0h99.9c5.5-60.6-1.1-127.9-14.8-189.7c-6.5-29.4-14.6-57.2-23.7-82.3H271.7z\"]\n};\nvar faSquarePhoneFlip = {\n prefix: 'fal',\n iconName: 'square-phone-flip',\n icon: [448, 512, [\"phone-square-alt\"], \"f87b\", \"M384 64c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32H384zm64 32c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96zM276.8 144.1l56 12c1.8 .4 3.2 2 3.2 3.9c0 114.9-93.1 208-208 208c-1.9 0-3.5-1.3-3.9-3.2l-12-56c-.4-1.9 .6-3.8 2.3-4.5l56-24c1.6-.7 3.5-.2 4.7 1.1l16.6 20.3c5 6.1 13.6 7.6 20.4 3.7c25.4-14.7 46.6-35.9 61.4-61.4c3.9-6.8 2.4-15.4-3.7-20.4l-20.3-16.6c-1.4-1.1-1.8-3-1.1-4.7l24-56c.8-1.8 2.6-2.7 4.5-2.3zm-33.9-10.3l-24 56c-6.3 14.7-2.1 31.9 10.3 42l9.2 7.5c-8.6 11.9-19.1 22.4-31 31l-7.5-9.2c-10.2-12.4-27.3-16.6-42-10.3l-56 24c-15.8 6.8-24.6 23.8-21 40.6l12 56C96.4 388.1 111 400 128 400c132.5 0 240-107.4 240-240c0-17-11.9-31.6-28.5-35.2l-56-12c-16.8-3.6-33.9 5.2-40.6 21z\"]\n};\nvar faPhoneSquareAlt = faSquarePhoneFlip;\nvar faCartPlus = {\n prefix: 'fal',\n iconName: 'cart-plus',\n icon: [576, 512, [], \"f217\", \"M16 0C7.2 0 0 7.2 0 16s7.2 16 16 16H53.9c7.6 0 14.2 5.3 15.7 12.8l58.9 288c6.1 29.8 32.3 51.2 62.7 51.2H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H191.2c-15.2 0-28.3-10.7-31.4-25.6L152 288H466.5c29.4 0 55-20 62.1-48.5L575.5 51.9c2.1-8.6-3.1-17.3-11.6-19.4s-17.3 3.1-19.4 11.6L497.6 231.8C494 246 481.2 256 466.5 256H145.4L100.9 38.4C96.3 16 76.7 0 53.9 0H16zM168 456a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm80 0a56 56 0 1 0 -112 0 56 56 0 1 0 112 0zm200-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0 80a56 56 0 1 0 0-112 56 56 0 1 0 0 112zM240 128c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16s16-7.2 16-16V144h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H336V64c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H256c-8.8 0-16 7.2-16 16z\"]\n};\nvar faGamepad = {\n prefix: 'fal',\n iconName: 'gamepad',\n icon: [640, 512, [], \"f11b\", \"M192 96C103.6 96 32 167.6 32 256s71.6 160 160 160H448c88.4 0 160-71.6 160-160s-71.6-160-160-160H192zM0 256C0 150 86 64 192 64H448c106 0 192 86 192 192s-86 192-192 192H192C86 448 0 362 0 256zm208-64v48h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H208v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V272H128c-8.8 0-16-7.2-16-16s7.2-16 16-16h48V192c0-8.8 7.2-16 16-16s16 7.2 16 16zM408 304a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm88-120a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faBorderCenterV = {\n prefix: 'fal',\n iconName: 'border-center-v',\n icon: [448, 512, [], \"f89d\", \"M208 464c0 8.8 7.2 16 16 16s16-7.2 16-16l0-416c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 416zM56 448A24 24 0 1 0 8 448a24 24 0 1 0 48 0zm384 0a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM56 352A24 24 0 1 0 8 352a24 24 0 1 0 48 0zm384 0a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM392 160a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zM56 160A24 24 0 1 0 8 160a24 24 0 1 0 48 0zm336 96a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zM56 256A24 24 0 1 0 8 256a24 24 0 1 0 48 0zM392 64a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zM8 64a24 24 0 1 0 48 0A24 24 0 1 0 8 64zM296 256a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zM344 64a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM296 448a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zM152 64a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM104 448a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zm48-192a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faCircleDot = {\n prefix: 'fal',\n iconName: 'circle-dot',\n icon: [512, 512, [128280, \"dot-circle\"], \"f192\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm320 0a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zm-160 0a96 96 0 1 1 192 0 96 96 0 1 1 -192 0z\"]\n};\nvar faDotCircle = faCircleDot;\nvar faClipboardMedical = {\n prefix: 'fal',\n iconName: 'clipboard-medical',\n icon: [384, 512, [], \"e133\", \"M145.5 68c5.3-20.7 24.1-36 46.5-36s41.2 15.3 46.5 36c1.8 7.1 8.2 12 15.5 12h18c8.8 0 16 7.2 16 16v32H192 96V96c0-8.8 7.2-16 16-16h18c7.3 0 13.7-4.9 15.5-12zM192 0c-32.8 0-61 19.8-73.3 48H112C91.1 48 73.3 61.4 66.7 80H64C28.7 80 0 108.7 0 144V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V144c0-35.3-28.7-64-64-64h-2.7c-6.6-18.6-24.4-32-45.3-32h-6.7C253 19.8 224.8 0 192 0zM320 112c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V144c0-17.7 14.3-32 32-32v16c0 17.7 14.3 32 32 32h96 96c17.7 0 32-14.3 32-32V112zM208 80a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM176 208c-17.7 0-32 14.3-32 32v32H112c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32h32v32c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V368h32c17.7 0 32-14.3 32-32V304c0-17.7-14.3-32-32-32H240V240c0-17.7-14.3-32-32-32H176zm0 80V240h32v48c0 8.8 7.2 16 16 16h48v32H224c-8.8 0-16 7.2-16 16v48H176V352c0-8.8-7.2-16-16-16H112V304h48c4.2 0 8.3-1.7 11.3-4.7s4.7-7.1 4.7-11.3z\"]\n};\nvar faFaceDizzy = {\n prefix: 'fal',\n iconName: 'face-dizzy',\n icon: [512, 512, [\"dizzy\"], \"f567\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm208 96a48 48 0 1 0 96 0 48 48 0 1 0 -96 0zm48 80a80 80 0 1 1 0-160 80 80 0 1 1 0 160zM100.7 132.7c6.2-6.2 16.4-6.2 22.6 0L160 169.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L182.6 192l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L160 214.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L137.4 192l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6zm192 0c6.2-6.2 16.4-6.2 22.6 0L352 169.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L374.6 192l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L352 214.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L329.4 192l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6z\"]\n};\nvar faDizzy = faFaceDizzy;\nvar faEgg = {\n prefix: 'fal',\n iconName: 'egg',\n icon: [384, 512, [129370], \"f7fb\", \"M192 464c-85.2 0-160-84.3-160-176c0-50.8 14.7-113.1 43.5-161.7C104.2 77.9 143.4 48 192 48s87.8 29.9 116.5 78.3C337.3 174.9 352 237.2 352 288c0 91.7-74.8 176-160 176zM0 288C0 394 86 496 192 496s192-102 192-208c0-112-64-272-192-272S0 176 0 288zM170.8 134c6.5-6 7-16.1 1-22.6s-16.1-7-22.6-1c-23.9 21.8-41.1 52.7-52.3 84.2C85.7 226.1 80 259.7 80 288c0 8.8 7.2 16 16 16s16-7.2 16-16c0-24.5 5-54.4 15.1-82.8c10.1-28.5 25-54.1 43.7-71.2z\"]\n};\nvar faUpToLine = {\n prefix: 'fal',\n iconName: 'up-to-line',\n icon: [384, 512, [\"arrow-alt-to-top\"], \"f34d\", \"M16 64l352 0c8.8 0 16-7.2 16-16s-7.2-16-16-16L16 32C7.2 32 0 39.2 0 48s7.2 16 16 16zm174.2 96.8c.5-.5 1.1-.8 1.8-.8s1.4 .3 1.8 .8L318.2 292.7c1.2 1.2 1.8 2.9 1.8 4.6c0 3.7-3 6.7-6.7 6.7L256 304c-8.8 0-16 7.2-16 16l0 120c0 4.4-3.6 8-8 8l-80 0c-4.4 0-8-3.6-8-8l0-120c0-8.8-7.2-16-16-16l-57.3 0c-3.7 0-6.7-3-6.7-6.7c0-1.7 .7-3.3 1.8-4.6L190.2 160.8zM192 128c-9.5 0-18.6 3.9-25.1 10.8L42.5 270.8C35.8 278 32 287.5 32 297.3C32 318.7 49.3 336 70.7 336l41.3 0 0 104c0 22.1 17.9 40 40 40l80 0c22.1 0 40-17.9 40-40l0-104 41.3 0c21.4 0 38.7-17.3 38.7-38.7c0-9.9-3.8-19.3-10.5-26.5L217.1 138.8c-6.5-6.9-15.6-10.8-25.1-10.8z\"]\n};\nvar faArrowAltToTop = faUpToLine;\nvar faHouseMedicalCircleXmark = {\n prefix: 'fal',\n iconName: 'house-medical-circle-xmark',\n icon: [640, 512, [], \"e513\", \"M298.6 4c-6-5.3-15.1-5.3-21.2 0L5.4 244c-6.6 5.8-7.3 16-1.4 22.6s16 7.3 22.6 1.4L64 235V432c0 44.2 35.8 80 80 80H394.8c-12.9-9.1-24.5-19.9-34.6-32H144c-26.5 0-48-21.5-48-48V206.7L288 37.3 466.1 194.5c9.7-1.7 19.7-2.5 29.9-2.5c5.6 0 11.1 .3 16.5 .8L298.6 4zM368 240H336V208c0-17.7-14.3-32-32-32H272c-17.7 0-32 14.3-32 32v32H208c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32h32v32c0 17.7 14.3 32 32 32h32c6.7 0 12.9-2 18-5.5c-1.3-8.6-2-17.5-2-26.5c0-22.6 4.3-44.2 12-64H320c-8.8 0-16 7.2-16 16v48H272V320c0-8.8-7.2-16-16-16H208V272h48c4.2 0 8.3-1.7 11.3-4.7s4.7-7.1 4.7-11.3V208h32v48c0 8.8 7.2 16 16 16h28.5c7.5-11.4 16.2-22 26-31.3c-2.1-.4-4.3-.7-6.5-.7zm16 128a112 112 0 1 1 224 0 112 112 0 1 1 -224 0zm256 0a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-121.4 0l36.7-36.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L496 345.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L473.4 368l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L496 390.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L518.6 368z\"]\n};\nvar faWatchFitness = {\n prefix: 'fal',\n iconName: 'watch-fitness',\n icon: [384, 512, [], \"f63e\", \"M96 48V64H288V48c0-8.8-7.2-16-16-16H112c-8.8 0-16 7.2-16 16zM64 65.6V48C64 21.5 85.5 0 112 0H272c26.5 0 48 21.5 48 48V65.6c36.5 7.4 64 39.7 64 78.4V368c0 38.7-27.5 71-64 78.4V464c0 26.5-21.5 48-48 48l-160 0c-26.5 0-48-21.5-48-48l0-17.6C27.5 439 0 406.7 0 368V144c0-38.7 27.5-71 64-78.4zM96 464c0 8.8 7.2 16 16 16l160 0c8.8 0 16-7.2 16-16V448H96v16zM80 96c-26.5 0-48 21.5-48 48V368c0 26.5 21.5 48 48 48H304c26.5 0 48-21.5 48-48V144c0-26.5-21.5-48-48-48H80zm32 125.3c0 7.8 3.1 15.2 8.6 20.7L192 313.4l71.4-71.4c5.5-5.5 8.6-12.9 8.6-20.7c0-16.2-13.1-29.3-29.3-29.3c-7.8 0-15.2 3.1-20.7 8.6l-18.7 18.7c-6.2 6.2-16.4 6.2-22.6 0l-18.7-18.7c-5.5-5.5-12.9-8.6-20.7-8.6c-16.2 0-29.3 13.1-29.3 29.3zM141.3 160c16.2 0 31.8 6.5 43.3 17.9l7.4 7.4 7.4-7.4c11.5-11.5 27.1-17.9 43.3-17.9c33.8 0 61.3 27.4 61.3 61.3c0 16.2-6.5 31.8-17.9 43.3l-82.7 82.7c-6.2 6.2-16.4 6.2-22.6 0L97.9 264.6C86.5 253.1 80 237.5 80 221.3c0-33.8 27.4-61.3 61.3-61.3z\"]\n};\nvar faClockNineThirty = {\n prefix: 'fal',\n iconName: 'clock-nine-thirty',\n icon: [512, 512, [], \"e34d\", \"M32 256a224 224 0 1 1 448 0A224 224 0 1 1 32 256zm480 0A256 256 0 1 0 0 256a256 256 0 1 0 512 0zM272 400V256c0-8.8-7.2-16-16-16H144c-8.8 0-16 7.2-16 16s7.2 16 16 16h96V400c0 8.8 7.2 16 16 16s16-7.2 16-16z\"]\n};\nvar faCampground = {\n prefix: 'fal',\n iconName: 'campground',\n icon: [576, 512, [9978], \"f6bb\", \"M394.3 3.7c6.8 5.7 7.7 15.8 2 22.5L308.9 130.4 532.8 397.2C540 405.8 544 416.7 544 428v36c0 26.5-21.5 48-48 48H288 80c-26.5 0-48-21.5-48-48V428c0-11.3 4-22.2 11.2-30.9L267.1 130.4 179.7 26.3c-5.7-6.8-4.8-16.9 2-22.5s16.9-4.8 22.5 2L288 105.5 371.7 5.7c5.7-6.8 15.8-7.7 22.5-2zM67.7 417.7c-2.4 2.9-3.7 6.5-3.7 10.3v36c0 8.8 7.2 16 16 16h49.9l1.5-1.9 144-184c3-3.9 7.7-6.1 12.6-6.1s9.6 2.3 12.6 6.1l144 184 1.5 1.9H496c8.8 0 16-7.2 16-16V428c0-3.8-1.3-7.4-3.7-10.3L288 155.3 67.7 417.7zM170.6 480H288 405.4L288 330 170.6 480z\"]\n};\nvar faFolderPlus = {\n prefix: 'fal',\n iconName: 'folder-plus',\n icon: [512, 512, [], \"f65e\", \"M32 96c0-17.7 14.3-32 32-32H188.1c8.5 0 16.6 3.4 22.6 9.4l35.9 35.9c12 12 28.3 18.7 45.3 18.7H448c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V96zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H291.9c-8.5 0-16.6-3.4-22.6-9.4L233.4 50.7c-12-12-28.3-18.7-45.3-18.7H64zM240 384c0 8.8 7.2 16 16 16s16-7.2 16-16V304h80c8.8 0 16-7.2 16-16s-7.2-16-16-16H272V192c0-8.8-7.2-16-16-16s-16 7.2-16 16v80H160c-8.8 0-16 7.2-16 16s7.2 16 16 16h80v80z\"]\n};\nvar faJug = {\n prefix: 'fal',\n iconName: 'jug',\n icon: [448, 512, [], \"f8c6\", \"M176 85V32h96V85c0 14.2 4.7 28.1 13.5 39.3L363.8 225c13.1 16.9 20.2 37.6 20.2 58.9V288H64v-4.1c0-21.3 7.1-42.1 20.2-58.9l78.3-100.7C171.3 113.1 176 99.3 176 85zM128 16c0 8.8 7.2 16 16 16V85c0 7.1-2.4 14-6.7 19.6L59 205.3c-17.5 22.5-27 50.1-27 78.6V304v96 48c0 35.3 28.7 64 64 64H352c35.3 0 64-28.7 64-64V400 304 283.9c0-21.8-5.6-43.1-16-61.9c27.6-7.1 48-32.2 48-62c0-35.3-28.7-64-64-64c-23.6 0-44.2 12.8-55.3 31.8l-18-23.1C306.4 99 304 92.1 304 85V32c8.8 0 16-7.2 16-16s-7.2-16-16-16H272 176 144c-8.8 0-16 7.2-16 16zM378.3 191.5l-26.2-33.7c1.1-16.7 15-29.8 31.9-29.8c17.7 0 32 14.3 32 32s-14.3 32-32 32c-2 0-3.9-.2-5.7-.5zM64 384V320H384v64H64zm0 32H384v32c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V416z\"]\n};\nvar faFutbol = {\n prefix: 'fal',\n iconName: 'futbol',\n icon: [512, 512, [9917, \"futbol-ball\", \"soccer-ball\"], \"f1e3\", \"M299.3 475.8c.1-.8 .2-1.7 .4-2.6l21.7-85.8c1.5-5.9 1.4-12.4-2.2-17.3l-3.9-5.3c-6.6-9.1-18.5-12.2-29.8-12.2H226.4c-11.3 0-23.1 3.1-29.8 12.2l-3.9 5.3c-3.6 4.9-3.7 11.4-2.2 17.3l21.7 85.8c.2 .9 .4 1.7 .4 2.6c14 2.7 28.5 4.2 43.3 4.2s29.3-1.4 43.3-4.2zm35.3-10c38.3-14.3 71.6-38.8 96.6-70.2l-72.5-4.8c-1.4-.1-2.8 .3-4 1.2s-2 2.1-2.3 3.4l-17.8 70.5zM451.7 365.1c13.9-24.9 23.2-52.7 26.7-82.3c-.8-.3-1.5-.7-2.3-1.2l-74.9-47.1c-5.1-3.2-11.3-5.1-17.1-3.3l-6.3 2c-10.7 3.5-17.3 13.8-20.8 24.5L338.8 314c-3.5 10.7-4.2 22.9 2.4 32l3.9 5.3c3.6 4.9 9.7 7 15.8 7.4l88.3 5.9c.9 .1 1.7 .2 2.6 .4zm28.1-119c-1.8-41.9-15.1-80.7-36.9-113.6l-27 67.5c-.5 1.3-.6 2.7-.2 4.1l0 .1 0 .1c.5 1.3 1.3 2.4 2.5 3.2l61.5 38.7zM420.2 103.6c-19.7-21.2-43.4-38.6-70-50.9c-.6 .6-1.2 1.3-1.9 1.8l-68 56.6c-4.7 3.9-8.4 9.2-8.4 15.3l0 6.6c0 11.2 7.8 20.7 16.9 27.3l47.9 34.8c9.1 6.6 20.5 11.1 31.2 7.6l6.3-2c5.8-1.9 9.7-7.1 11.9-12.7l32.9-82.1c.3-.8 .7-1.6 1.1-2.3zM315.7 40.1c-19-5.3-39.1-8.1-59.7-8.1s-40.7 2.8-59.7 8.1l55.8 46.5c1.1 .9 2.5 1.4 3.9 1.4s2.8-.5 3.9-1.4l55.8-46.5zm-154 12.7c-26.6 12.3-50.3 29.7-70 50.9c.4 .7 .8 1.5 1.1 2.3L125.8 188c2.3 5.6 6.2 10.8 11.9 12.7l6.3 2c10.7 3.5 22.1-1 31.2-7.6l47.9-34.8c9.1-6.6 16.9-16.1 16.9-27.3l0-6.6c0-6.1-3.7-11.4-8.4-15.3l-68-56.6c-.7-.6-1.3-1.2-1.9-1.8zM69.1 132.5C47.4 165.3 34 204.2 32.2 246.1l61.5-38.7c1.2-.7 2.1-1.9 2.5-3.2l0-.1 0-.1c.4-1.3 .4-2.8-.2-4.1l-27-67.4zM33.6 282.8c3.5 29.6 12.8 57.4 26.7 82.3c.8-.2 1.7-.3 2.6-.4l88.3-5.9c6.1-.4 12.2-2.5 15.8-7.4l3.9-5.3c6.6-9.1 5.9-21.4 2.4-32l-18.3-56.3c-3.5-10.7-10.1-21.1-20.8-24.5l-6.3-2c-5.8-1.9-12 0-17.1 3.3L35.9 281.6c-.7 .5-1.5 .9-2.3 1.2zM80.8 395.6c25 31.4 58.3 55.9 96.6 70.2l-17.8-70.5c-.3-1.4-1.2-2.6-2.3-3.4s-2.6-1.2-4-1.2l-72.5 4.8zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm241.9-69.8L194 221c-8.4 6.1-11.9 16.9-8.7 26.8l18.3 56.3c3.2 9.9 12.4 16.6 22.8 16.6h59.2c10.4 0 19.6-6.7 22.8-16.6l18.3-56.3c3.2-9.9-.3-20.7-8.7-26.8l-47.9-34.8c-8.4-6.1-19.8-6.1-28.2 0z\"]\n};\nvar faFutbolBall = faFutbol;\nvar faSoccerBall = faFutbol;\nvar faSnowBlowing = {\n prefix: 'fal',\n iconName: 'snow-blowing',\n icon: [640, 512, [], \"f761\", \"M192 80c0-8.8-7.2-16-16-16s-16 7.2-16 16v41.4l-20.7-20.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L160 166.6v61.7l-53.4-30.8L90.7 138.3c-2.3-8.5-11.1-13.6-19.6-11.3s-13.6 11.1-11.3 19.6l7.6 28.3L31.6 154.1c-7.7-4.4-17.4-1.8-21.9 5.9s-1.8 17.4 5.9 21.9l35.8 20.7-28.3 7.6c-8.5 2.3-13.6 11.1-11.3 19.6s11.1 13.6 19.6 11.3l59.2-15.9L144 256 90.6 286.8 31.4 271c-8.5-2.3-17.3 2.8-19.6 11.3s2.8 17.3 11.3 19.6l28.3 7.6L15.6 330.1C7.9 334.6 5.3 344.3 9.7 352s14.2 10.3 21.9 5.9l35.8-20.7-7.6 28.3c-2.3 8.5 2.8 17.3 11.3 19.6s17.3-2.8 19.6-11.3l15.9-59.2L160 283.7v61.7l-43.3 43.3c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L160 390.6V432c0 8.8 7.2 16 16 16s16-7.2 16-16V390.6l20.7 20.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L192 345.4V283.7l53.4 30.8 15.9 59.2c2.3 8.5 11.1 13.6 19.6 11.3s13.6-11.1 11.3-19.6l-7.6-28.3 35.8 20.7c7.7 4.4 17.4 1.8 21.9-5.9s1.8-17.4-5.9-21.9l-35.8-20.7 28.3-7.6c8.5-2.3 13.6-11.1 11.3-19.6s-11.1-13.6-19.6-11.3l-59.2 15.9L208 256l53.4-30.8L320.6 241c8.5 2.3 17.3-2.8 19.6-11.3s-2.8-17.3-11.3-19.6l-28.3-7.6 35.8-20.7c7.7-4.4 10.3-14.2 5.9-21.9s-14.2-10.3-21.9-5.9l-35.8 20.7 7.6-28.3c2.3-8.5-2.8-17.3-11.3-19.6s-17.3 2.8-19.6 11.3l-15.9 59.2L192 228.3V166.6l43.3-43.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L192 121.4V80zm288 0c0 8.8 7.2 16 16 16h64c26.5 0 48 21.5 48 48s-21.5 48-48 48H400c-8.8 0-16 7.2-16 16s7.2 16 16 16H560c44.2 0 80-35.8 80-80s-35.8-80-80-80H496c-8.8 0-16 7.2-16 16zm0 352c0 8.8 7.2 16 16 16h64c44.2 0 80-35.8 80-80s-35.8-80-80-80H400c-8.8 0-16 7.2-16 16s7.2 16 16 16H560c26.5 0 48 21.5 48 48s-21.5 48-48 48H496c-8.8 0-16 7.2-16 16z\"]\n};\nvar faPaintbrush = {\n prefix: 'fal',\n iconName: 'paintbrush',\n icon: [576, 512, [128396, \"paint-brush\"], \"f1fc\", \"M295.7 360c-5.4 0-10.6-.5-15.7-1.5l0-.1c-1.3-.3-2.6-.6-3.9-.9l-57.7-57.7c-.3-1.3-.6-2.6-.9-3.9l-.1 0c-1-5.1-1.5-10.3-1.5-15.7c0-25.5 12.2-49.5 32.8-64.5L493.1 38.1c12.7-9.3 30.3-7.9 41.4 3.2s12.5 28.7 3.3 41.4L360.2 327.2c-15 20.6-39 32.8-64.5 32.8zm-42.2 20.1c.3 1.3 .6 2.6 .9 4c1 5.1 1.6 10.4 1.6 15.9c0 44.2-35.8 80-80 80H36.8C58 480 74.3 468.5 84 455.1c9.5-13.1 14.2-30 12.5-46.7c-.3-2.7-.4-5.5-.4-8.3c0-44.2 35.8-80 80-80c5.4 0 10.7 .5 15.9 1.6c1.3 .3 2.7 .6 4 .9l57.7 57.7zm34.2 11.6c2.6 .2 5.3 .3 8 .3c35.7 0 69.3-17.1 90.4-46L563.7 101.6c18.5-25.5 15.8-60.6-6.5-82.9s-57.4-25-82.9-6.5L230 190c-28.9 21-46 54.6-46 90.3c0 2.7 .1 5.4 .3 8c-2.7-.2-5.5-.3-8.3-.3c-61.9 0-112 50.1-112 112c0 3.9 .2 7.8 .6 11.6C66.4 429.1 54.4 448 36.8 448H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H176c61.9 0 112-50.1 112-112c0-2.8-.1-5.5-.3-8.3z\"]\n};\nvar faPaintBrush = faPaintbrush;\nvar faLock = {\n prefix: 'fal',\n iconName: 'lock',\n icon: [448, 512, [128274], \"f023\", \"M128 128v64H320V128c0-53-43-96-96-96s-96 43-96 96zM96 192V128C96 57.3 153.3 0 224 0s128 57.3 128 128v64h16c44.2 0 80 35.8 80 80V432c0 44.2-35.8 80-80 80H80c-44.2 0-80-35.8-80-80V272c0-44.2 35.8-80 80-80H96zM32 272V432c0 26.5 21.5 48 48 48H368c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48H80c-26.5 0-48 21.5-48 48z\"]\n};\nvar faArrowDownFromLine = {\n prefix: 'fal',\n iconName: 'arrow-down-from-line',\n icon: [384, 512, [8615, \"arrow-from-top\"], \"f345\", \"M203.3 475.3c-6.2 6.2-16.4 6.2-22.6 0l-128-128c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L176 425.4 176 320l0-176c0-8.8 7.2-16 16-16s16 7.2 16 16l0 176 0 105.4L308.7 324.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-128 128zM16 64C7.2 64 0 56.8 0 48s7.2-16 16-16l352 0c8.8 0 16 7.2 16 16s-7.2 16-16 16L16 64z\"]\n};\nvar faArrowFromTop = faArrowDownFromLine;\nvar faGasPump = {\n prefix: 'fal',\n iconName: 'gas-pump',\n icon: [512, 512, [9981], \"f52f\", \"M256 32c17.7 0 32 14.3 32 32V192H64V64c0-17.7 14.3-32 32-32H256zm32 192V480H64V224H288zM32 64V480l-16 0c-8.8 0-16 7.2-16 16s7.2 16 16 16H32 64 288h32 16c8.8 0 16-7.2 16-16s-7.2-16-16-16l-16 0V288h16c26.5 0 48 21.5 48 48v48c0 35.3 28.7 64 64 64s64-28.7 64-64V157.1c0-17.9-7.5-35.1-20.8-47.2L410.8 36.2c-6.5-6-16.6-5.5-22.6 1s-5.5 16.6 1 22.6L416 84.4V160c0 35.3 28.7 64 64 64V384c0 17.7-14.3 32-32 32s-32-14.3-32-32V336c0-44.2-35.8-80-80-80H320V64c0-35.3-28.7-64-64-64H96C60.7 0 32 28.7 32 64zM480 192c-17.7 0-32-14.3-32-32V113.7l21.6 19.8c6.6 6.1 10.4 14.6 10.4 23.6V192z\"]\n};\nvar faSignalBarsSlash = {\n prefix: 'fal',\n iconName: 'signal-bars-slash',\n icon: [640, 512, [\"signal-alt-slash\"], \"f694\", \"M448 176c0-26.5-21.5-48-48-48s-48 21.5-48 48v23.7L384 225V176c0-8.8 7.2-16 16-16s16 7.2 16 16v74.2l32 25.3V176zM384 464V388.1l-32-25.3V464c0 26.5 21.5 48 48 48s48-21.5 48-48V438.6l-32-25.3V464c0 8.8-7.2 16-16 16s-16-7.2-16-16zM288 312.3l-66.6-52.6C204.1 267 192 284.1 192 304V464c0 26.5 21.5 48 48 48s48-21.5 48-48V312.3zm256 39V48c0-8.8 7.2-16 16-16s16 7.2 16 16V376.6l32 25.3V48c0-26.5-21.5-48-48-48s-48 21.5-48 48V326l32 25.3zM256 304V464c0 8.8-7.2 16-16 16s-16-7.2-16-16V304c0-8.8 7.2-16 16-16s16 7.2 16 16zM96 432v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V432c0-8.8 7.2-16 16-16s16 7.2 16 16zm-64 0v32c0 26.5 21.5 48 48 48s48-21.5 48-48V432c0-26.5-21.5-48-48-48s-48 21.5-48 48zM25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4z\"]\n};\nvar faSignalAltSlash = faSignalBarsSlash;\nvar faMonkey = {\n prefix: 'fal',\n iconName: 'monkey',\n icon: [576, 512, [128018], \"f6fb\", \"M160 416c0-82.3 44.3-154.2 110.4-193.1c4.7 9.7 10.5 18.7 17.1 27.1C230.4 283.2 192 345.1 192 416v64H416V432c0-44.2-35.8-80-80-80H304c-8.8 0-16-7.2-16-16s7.2-16 16-16h32c31.3 0 59.7 12.9 80 33.6V320 303.1c14.7-1.6 28.7-5.5 41.7-11.2l79.2 84.1c25.1 26.7 39.1 62 39.1 98.7V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V474.8c0-28.5-10.9-56-30.4-76.8L448 328.3V432v48h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H448 416 192 160 144C64.5 512 0 447.5 0 368V103.3C0 46.2 46.2 0 103.3 0c49 0 88.7 39.7 88.7 88.7V96c0 53-43 96-96 96H80c-8.8 0-16-7.2-16-16s7.2-16 16-16H96c35.3 0 64-28.7 64-64V88.7C160 57.4 134.6 32 103.3 32C63.9 32 32 63.9 32 103.3V368c0 61.9 50.1 112 112 112h16V416zM480 160V144 112c0 20.8-13.2 38.4-31.6 45.1c-4.7 1.7-8.4 5.9-8.4 10.9c0 22.1-17.9 40-40 40s-40-17.9-40-40c0-5-3.7-9.2-8.4-10.9C333.2 150.4 320 132.8 320 112v32 16c0 44.2 35.8 80 80 80s80-35.8 80-80zM336 64s0 0 0 0H464s0 0 0 0c-14.6-19.4-37.8-32-64-32s-49.4 12.6-64 32zm64 208c-56.4 0-103.1-41.7-110.9-96H288c-35.3 0-64-28.7-64-64s28.7-64 64-64h20.1C328.3 19 361.9 0 400 0s71.7 19 91.9 48H512c35.3 0 64 28.7 64 64s-28.7 64-64 64h-1.1c-7.8 54.3-54.4 96-110.9 96zM544 112c0-17.7-14.3-32-32-32h-4.6c3 10.1 4.6 20.9 4.6 32v32c17.7 0 32-14.3 32-32zM288 144V112c0-11.1 1.6-21.9 4.6-32H288c-17.7 0-32 14.3-32 32s14.3 32 32 32zm80-16a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm80-16a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faRectanglePro = {\n prefix: 'fal',\n iconName: 'rectangle-pro',\n icon: [640, 512, [\"pro\"], \"e235\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H576c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H576c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm96 64h48c35.3 0 64 28.7 64 64s-28.7 64-64 64H112v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V272 176c0-8.8 7.2-16 16-16zm48 96c17.7 0 32-14.3 32-32s-14.3-32-32-32H112v64h32zm96-80c0-8.8 7.2-16 16-16h48c35.3 0 64 28.7 64 64c0 23.2-12.4 43.6-30.9 54.8l35.7 47.6c5.3 7.1 3.9 17.1-3.2 22.4s-17.1 3.9-22.4-3.2L304 288H272v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V272 176zm32 80h32c17.7 0 32-14.3 32-32s-14.3-32-32-32H272v64zm208-96c44.2 0 80 35.8 80 80v32c0 44.2-35.8 80-80 80s-80-35.8-80-80V240c0-44.2 35.8-80 80-80zm-48 80v32c0 26.5 21.5 48 48 48s48-21.5 48-48V240c0-26.5-21.5-48-48-48s-48 21.5-48 48z\"]\n};\nvar faPro = faRectanglePro;\nvar faHouseNight = {\n prefix: 'fal',\n iconName: 'house-night',\n icon: [640, 512, [], \"e010\", \"M127 1c-4.9-.7-9.9-1-15-1C50.1 0 0 50.1 0 112s50.1 112 112 112c30.6 0 58.4-12.3 78.6-32.2c.7-.6 1.3-1.3 1.9-2c2.9-3 5.7-6.2 8.2-9.5c2.3-3 4.5-6.2 6.5-9.5c3.9-6.2-3.2-13.3-10.4-12c-2.4 .4-4.9 .8-7.5 .9c-1.8 .1-3.6 .2-5.4 .2c-2.2 0-4.3-.1-6.5-.3c-.4 0-.8-.1-1.2-.1C140.2 155.8 112 125.2 112 88c0-20.8 8.8-39.5 22.9-52.7c.3-.3 .6-.5 .9-.8c2.9-2.7 6.1-5.1 9.4-7.2c2.1-1.4 4.3-2.6 6.6-3.7c6.6-3.3 8-13.2 1.1-15.9c-3.6-1.4-7.2-2.6-10.9-3.6c-4-1.1-8.1-2-12.3-2.7c-.9-.1-1.8-.3-2.7-.4zM80 88c0 43.9 27.1 81.4 65.5 96.7C135.3 189.4 124 192 112 192c-44.2 0-80-35.8-80-80c0-38.4 27.1-70.5 63.3-78.2C85.6 49.5 80 68.1 80 88zM410.4 99.9c-6-5.1-14.8-5.1-20.8 0l-224 192c-6.7 5.8-7.5 15.9-1.7 22.6s15.9 7.5 22.6 1.7L224 283.9V448c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V283.9l37.6 32.2c6.7 5.7 16.8 5 22.6-1.7s5-16.8-1.7-22.6l-224-192zM544 256.5V448c0 17.7-14.3 32-32 32H288c-17.7 0-32-14.3-32-32V256.5L400 133.1 544 256.5zM336 304v64c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V304c0-17.7-14.3-32-32-32H368c-17.7 0-32 14.3-32 32zm96 0v64H368V304h64zM256 0c-8.8 0-16 7.2-16 16V48H208c-8.8 0-16 7.2-16 16s7.2 16 16 16h32v32c0 8.8 7.2 16 16 16s16-7.2 16-16V80h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H272V16c0-8.8-7.2-16-16-16zM96 320c-8.8 0-16 7.2-16 16v32H48c-8.8 0-16 7.2-16 16s7.2 16 16 16H80v32c0 8.8 7.2 16 16 16s16-7.2 16-16V400h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H112V336c0-8.8-7.2-16-16-16z\"]\n};\nvar faHotTubPerson = {\n prefix: 'fal',\n iconName: 'hot-tub-person',\n icon: [512, 512, [\"hot-tub\"], \"f593\", \"M240 0c-8.8 0-16 7.2-16 16c0 35.3 17.7 68.3 47.1 87.9l16.1 10.7C307.7 128.4 320 151.4 320 176c0 8.8 7.2 16 16 16s16-7.2 16-16c0-35.3-17.7-68.3-47.1-87.9L288.8 77.3C268.3 63.6 256 40.6 256 16c0-8.8-7.2-16-16-16zM32 336V320 288H272c.5 0 1 0 1.6-.1c1.3 0 2.5 .1 3.8 .1H448c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V336zm170.7-80H32c0-35.3 28.7-64 64-64c13.8 0 27.3 4.5 38.4 12.8L202.7 256zM0 272v48 16V448c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V320c0-35.3-28.7-64-64-64H277.3c-13.8 0-27.3-4.5-38.4-12.8l-85.3-64C137 166.7 116.8 160 96 160c-53 0-96 43-96 96v16zM384 16c0-8.8-7.2-16-16-16s-16 7.2-16 16c0 35.3 17.7 68.3 47.1 87.9l16.1 10.7C435.7 128.4 448 151.4 448 176c0 8.8 7.2 16 16 16s16-7.2 16-16c0-35.3-17.7-68.3-47.1-87.9L416.8 77.3C396.3 63.6 384 40.6 384 16zM112 336c-8.8 0-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16V352c0-8.8-7.2-16-16-16zm96 0c-8.8 0-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16V352c0-8.8-7.2-16-16-16zm96 0c-8.8 0-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16V352c0-8.8-7.2-16-16-16zm96 0c-8.8 0-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16V352c0-8.8-7.2-16-16-16zM32 64a32 32 0 1 1 64 0A32 32 0 1 1 32 64zm96 0A64 64 0 1 0 0 64a64 64 0 1 0 128 0z\"]\n};\nvar faHotTub = faHotTubPerson;\nvar faGlobePointer = {\n prefix: 'fal',\n iconName: 'globe-pointer',\n icon: [512, 512, [], \"e60e\", \"M317.9 422.7C296.4 465.6 272.7 480 256 480c-7.9 0-17.3-3.2-27.3-11l-6.9 18.6c-2.9 7.8-7.7 14.7-13.9 19.9c15.6 3 31.6 4.5 48.1 4.5c141.4 0 256-114.6 256-256S397.4 0 256 0S0 114.6 0 256c0 16.4 1.5 32.5 4.5 48.1c5.3-6.2 12.1-11 19.9-13.9l9.6-3.5c-1.4-10-2.1-20.2-2.1-30.6c0-22.2 3.2-43.7 9.3-64H132c-2.5 19.2-3.9 39.3-4 60l32.2-11.9c.5-16.7 1.9-32.8 4.1-48.1H347.7c2.8 20.2 4.3 41.7 4.3 64s-1.5 43.8-4.3 64H283.6l-11.8 32H342c-5.9 27-14.2 50.9-24.1 70.7zM194.1 89.3C215.6 46.4 239.3 32 256 32s40.4 14.4 61.9 57.3c9.9 19.8 18.2 43.7 24.1 70.7H170c5.9-27 14.2-50.9 24.1-70.7zM384 256c0-22.1-1.4-43.5-4-64h90.8c6 20.3 9.3 41.8 9.3 64s-3.2 43.7-9.3 64H380c2.6-20.5 4-41.9 4-64zm-9.3-96c-9.6-47.6-26.2-88-47.2-116.3c57.8 19.5 105 61.8 130.9 116.3H374.7zM53.6 160c25.9-54.5 73.1-96.9 130.9-116.3c-21 28.3-37.5 68.8-47.2 116.3H53.6zM374.7 352h83.8c-25.9 54.5-73.1 96.9-130.9 116.3c21-28.3 37.6-68.8 47.2-116.3zM271 261.5c2.2-5.9 .7-12.4-3.7-16.8s-11-5.9-16.8-3.7l-215 79.2c-6.2 2.3-10.3 8.1-10.5 14.7s3.8 12.6 9.9 15.1l74 30.5L4.7 484.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L131.5 403.1l30.5 74c2.5 6.1 8.5 10 15.1 9.9s12.4-4.3 14.7-10.5l79.2-215zM143.3 360L85.1 336 229 283 176 426.9l-24-58.2c-1.6-3.9-4.8-7.1-8.7-8.7z\"]\n};\nvar faBlanket = {\n prefix: 'fal',\n iconName: 'blanket',\n icon: [448, 512, [], \"f498\", \"M32 128V312.4C49 297.2 71.4 288 96 288H392c8.6 0 16.7 1.9 24 5.4V128c0-35.3-28.7-64-64-64H96c-35.3 0-64 28.7-64 64zM0 384V128C0 75 43 32 96 32H352c53 0 96 43 96 96V344c0 30.9-25.1 56-56 56H96c-8.8 0-16-7.2-16-16s7.2-16 16-16H392c13.3 0 24-10.7 24-24s-10.7-24-24-24H96c-35.3 0-64 28.7-64 64s28.7 64 64 64H432c8.8 0 16 7.2 16 16s-7.2 16-16 16H96c-53 0-96-43-96-96z\"]\n};\nvar faMapLocation = {\n prefix: 'fal',\n iconName: 'map-location',\n icon: [576, 512, [\"map-marked\"], \"f59f\", \"M376 120c0 7.4-2.7 19-9.4 35c-6.5 15.4-15.7 32.4-26.4 49.7c-17.1 27.8-36.9 54.7-52.2 74.4c-15.3-19.7-35.1-46.6-52.2-74.4c-10.7-17.3-19.9-34.3-26.4-49.7c-6.7-15.9-9.4-27.6-9.4-35c0-48.6 39.4-88 88-88s88 39.4 88 88zm32 0C408 53.7 354.3 0 288 0S168 53.7 168 120c0 54.6 73.1 151.9 105.2 192c7.7 9.6 22 9.6 29.6 0C334.9 271.9 408 174.6 408 120zm-4.6 103.6c.9-.2 1.7-.4 2.5-.8L544 167.6V421.2L416 472.4V304c0-8.8-7.2-16-16-16s-16 7.2-16 16V474.8L192 419.9V304c0-8.8-7.2-16-16-16s-16 7.2-16 16V421.2L32 472.4V218.8l115.5-46.2c-3.9-10-7.2-20.4-9.2-30.8L15.1 191.1C6 194.8 0 203.6 0 213.4V484.2c0 17 17.1 28.6 32.9 22.3l144-57.6 218.7 62.5c3.4 1 7 .8 10.3-.5l155-62c9.1-3.6 15.1-12.5 15.1-22.3V155.8c0-17-17.1-28.6-32.9-22.3L425.2 180.7c-6.1 14.2-13.6 28.8-21.8 42.9z\"]\n};\nvar faMapMarked = faMapLocation;\nvar faHouseFloodWater = {\n prefix: 'fal',\n iconName: 'house-flood-water',\n icon: [576, 512, [], \"e50e\", \"M297.1 2.8c-5.5-3.8-12.7-3.8-18.2 0l-208 144c-7.3 5-9.1 15-4 22.3s15 9.1 22.3 4L112 157.3V258.5c7.3 1.9 14.4 5.1 20.9 9.6c3.6 2.5 7.3 4.8 11.1 6.8V135.2L288 35.5l144 99.7V275c3.8-2.1 7.6-4.4 11.2-6.8c6.5-4.5 13.5-7.8 20.8-9.6V157.3l22.9 15.8c7.3 5 17.2 3.2 22.3-4s3.2-17.2-4-22.3l-208-144zM133.8 346.8c-9.7-6.6-18-14-25.9-21.9c-6.6-6.5-17.2-6.5-23.8 0c-7.9 7.9-16.1 15.2-25.9 21.9c-12.8 8.7-28.1 16.6-44 19.8C6.4 368.1 0 374.4 0 382.2c0 9.8 8 17.9 17.7 16.2c23.1-4 43.6-15 58.5-25.2c7.9-5.4 14.6-10.8 19.8-15.3c5.1 4.5 11.9 9.9 19.8 15.3C134.4 385.9 161.7 400 192 400s57.5-14.1 76.2-26.8c7.9-5.4 14.6-10.8 19.8-15.3c5.1 4.5 11.9 9.9 19.8 15.3C326.4 385.9 353.7 400 384 400s57.5-14.1 76.2-26.8c7.9-5.4 14.6-10.8 19.8-15.3c5.1 4.5 11.9 9.9 19.8 15.3c15 10.2 35.4 21.2 58.5 25.2c9.7 1.7 17.7-6.4 17.7-16.2c0-7.9-6.4-14.1-14.1-15.7c-16-3.1-31.3-11.1-44.1-19.8c-9.8-6.7-18-14-26-21.9c-6.6-6.5-17.2-6.5-23.7 0c-7.9 7.9-16.1 15.2-25.9 21.9C425.6 358 404.9 368 384 368s-41.7-9.9-58.2-21.2c-9.8-6.7-18-14-26-21.9c-6.6-6.5-17.2-6.5-23.7 0c-7.9 7.9-16.1 15.2-25.9 21.9C233.6 358 212.9 368 192 368s-41.7-9.9-58.2-21.2zM192 480c-20.9 0-41.7-9.9-58.2-21.2c-9.7-6.6-18-14-25.9-21.9c-6.6-6.5-17.2-6.5-23.8 0c-7.9 7.9-16.1 15.2-25.9 21.9c-12.8 8.7-28.1 16.6-44 19.8C6.4 480.1 0 486.4 0 494.2c0 9.8 8 17.9 17.7 16.2c23.1-4 43.6-15 58.5-25.2c7.9-5.4 14.6-10.8 19.8-15.3c5.1 4.5 11.9 9.9 19.8 15.3C134.4 497.9 161.7 512 192 512s57.5-14.1 76.2-26.8c7.9-5.4 14.6-10.8 19.8-15.3c5.1 4.5 11.9 9.9 19.8 15.3C326.4 497.9 353.7 512 384 512s57.5-14.1 76.2-26.8c7.9-5.4 14.6-10.8 19.8-15.3c5.1 4.5 11.9 9.9 19.8 15.3c15 10.2 35.4 21.2 58.5 25.2c9.7 1.7 17.7-6.4 17.7-16.2c0-7.9-6.4-14.1-14.1-15.7c-16-3.1-31.3-11.1-44.1-19.8c-9.8-6.7-18-14-26-21.9c-6.6-6.5-17.2-6.5-23.7 0c-7.9 7.9-16.1 15.2-25.9 21.9C425.6 470 404.9 480 384 480s-41.7-9.9-58.2-21.2c-9.8-6.7-18-14-26-21.9c-6.6-6.5-17.2-6.5-23.7 0c-7.9 7.9-16.1 15.2-25.9 21.9C233.6 470 212.9 480 192 480z\"]\n};\nvar faCommentsQuestionCheck = {\n prefix: 'fal',\n iconName: 'comments-question-check',\n icon: [640, 512, [], \"e14f\", \"M32 176c0-74.8 73.7-144 176-144s176 69.2 176 144s-73.7 144-176 144c-15.3 0-30.6-1.9-46.3-5c-3.5-.7-7.1-.2-10.2 1.4c-6.1 3.1-12 6-18 8.7c-28.4 12.9-60.2 23.1-91.5 26c14.9-19 26.8-39.7 37.6-59.9c3.3-6.1 2.3-13.6-2.5-18.6C50 244.2 32 213.1 32 176zM208 0C93.1 0 0 78.9 0 176c0 44.2 19.8 80.1 46 110c-11.7 21-24 40.6-39.5 57.5l0 0-.1 .1c-6.5 7-8.2 17.1-4.4 25.8C5.8 378.3 14.4 384 24 384c43 0 86.5-13.3 122.7-29.7c4.9-2.2 9.6-4.5 14.3-6.8c15.3 2.8 30.9 4.6 47 4.6c114.9 0 208-78.9 208-176S322.9 0 208 0zM447.4 160.5C541.6 167 608 233 608 304c0 37.1-18 68.2-45.1 96.6c-4.8 5-5.8 12.5-2.5 18.6c10.9 20.2 22.7 40.8 37.6 59.9c-31.3-3-63.2-13.2-91.5-26c-6-2.7-11.9-5.6-18-8.7c-3.2-1.6-6.8-2.1-10.2-1.4c-15.6 3.1-30.9 5-46.3 5c-68.2 0-123.6-30.7-153.1-73.3c-11 3-22.3 5.2-33.8 6.8C279 439.8 349.9 480 432 480c16.1 0 31.7-1.8 47-4.6c4.6 2.3 9.4 4.6 14.3 6.8C529.5 498.7 573 512 616 512c9.6 0 18.2-5.7 22-14.5c3.8-8.7 2-18.9-4.4-25.8l-.1-.1 0 0c-15.5-17-27.8-36.5-39.5-57.5c26.2-29.9 46-65.8 46-110c0-94.4-87.8-171.5-198.2-175.8c2.8 10.4 4.7 21.2 5.6 32.3zM539.3 266c-6.2-6.2-16.4-6.2-22.6 0l-74 74-31.4-31.4c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L431.4 374c6.2 6.2 16.4 6.2 22.6 0l85.3-85.3c6.2-6.2 6.2-16.4 0-22.6zM147.9 104.1l-.3 .9c-3 8.3 1.4 17.5 9.7 20.4s17.5-1.4 20.4-9.7l.3-.9c.9-2.7 3.5-4.4 6.3-4.4h41.3c6.5 0 11.7 5.3 11.7 11.7c0 4.2-2.2 8.1-5.9 10.2l-31.4 18c-5 2.9-8 8.1-8 13.9v9.5c0 8.8 7.2 16 16 16s16-7.2 16-16v-.3L247.4 160c13.6-7.8 22-22.3 22-37.9c0-24.2-19.6-43.7-43.7-43.7H184.3c-16.4 0-31 10.3-36.4 25.7zM230.7 236a22.7 22.7 0 1 0 -45.3 0 22.7 22.7 0 1 0 45.3 0z\"]\n};\nvar faTree = {\n prefix: 'fal',\n iconName: 'tree',\n icon: [448, 512, [127794], \"f1bb\", \"M235.3 4.7c-6.2-6.2-16.4-6.2-22.6 0L72 145.4c-5.1 5.1-8 12.1-8 19.3C64 179.8 76.2 192 91.3 192h17.9L38.7 274.3c-4.3 5-6.7 11.4-6.7 18C32 307.6 44.4 320 59.7 320H77.2L6.7 402.3c-4.3 5-6.7 11.4-6.7 18C0 435.6 12.4 448 27.7 448H160h48v48c0 8.8 7.2 16 16 16s16-7.2 16-16V448h48H420.3c15.3 0 27.7-12.4 27.7-27.7c0-6.6-2.4-13-6.7-18L370.8 320h17.5c15.3 0 27.7-12.4 27.7-27.7c0-6.6-2.4-13-6.7-18L338.8 192h17.9c15.1 0 27.3-12.2 27.3-27.3c0-7.2-2.9-14.2-8-19.3L235.3 4.7zM240 416V208c0-8.8-7.2-16-16-16s-16 7.2-16 16V416H160 37.1l87.1-101.6c4.1-4.7 5-11.4 2.4-17.1s-8.3-9.3-14.5-9.3H69.1l87.1-101.6c4.1-4.7 5-11.4 2.4-17.1s-8.3-9.3-14.5-9.3H102.6L224 38.6 345.4 160H304c-6.2 0-11.9 3.6-14.5 9.3s-1.7 12.4 2.4 17.1L378.9 288H336c-6.2 0-11.9 3.6-14.5 9.3s-1.7 12.4 2.4 17.1L410.9 416H288 240z\"]\n};\nvar faArrowsCross = {\n prefix: 'fal',\n iconName: 'arrows-cross',\n icon: [448, 512, [], \"e0a2\", \"M288 32c-8.8 0-16 7.2-16 16s7.2 16 16 16H393.4L4.7 452.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L416 86.6V192c0 8.8 7.2 16 16 16s16-7.2 16-16V48c0-8.8-7.2-16-16-16H288zM27.3 36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L173.1 227.7l22.6-22.6L27.3 36.7zm225 270.2L393.4 448H288c-8.8 0-16 7.2-16 16s7.2 16 16 16H432c8.8 0 16-7.2 16-16V320c0-8.8-7.2-16-16-16s-16 7.2-16 16V425.4L274.9 284.3l-22.6 22.6z\"]\n};\nvar faBackpack = {\n prefix: 'fal',\n iconName: 'backpack',\n icon: [448, 512, [127890], \"f5d4\", \"M192 32h64c8.8 0 16 7.2 16 16V64H176V48c0-8.8 7.2-16 16-16zM144 48V64H128C57.3 64 0 121.3 0 192V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V192c0-70.7-57.3-128-128-128H304V48c0-26.5-21.5-48-48-48H192c-26.5 0-48 21.5-48 48zm16 48H288h32c53 0 96 43 96 96V448c0 17.7-14.3 32-32 32H368V368 320c0-35.3-28.7-64-64-64H144c-35.3 0-64 28.7-64 64v48V480H64c-17.7 0-32-14.3-32-32V192c0-53 43-96 96-96h32zM112 480V384H336v96H112zm32-320c-8.8 0-16 7.2-16 16s7.2 16 16 16H304c8.8 0 16-7.2 16-16s-7.2-16-16-16H144zM336 352H112V320c0-17.7 14.3-32 32-32H304c17.7 0 32 14.3 32 32v32z\"]\n};\nvar faSquareSmall = {\n prefix: 'fal',\n iconName: 'square-small',\n icon: [320, 512, [], \"e27e\", \"M256 128c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32H256zM64 96C28.7 96 0 124.7 0 160V352c0 35.3 28.7 64 64 64H256c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H64z\"]\n};\nvar faFolderArrowUp = {\n prefix: 'fal',\n iconName: 'folder-arrow-up',\n icon: [512, 512, [\"folder-upload\"], \"e054\", \"M32 96c0-17.7 14.3-32 32-32H188.1c8.5 0 16.6 3.4 22.6 9.4l35.9 35.9c12 12 28.3 18.7 45.3 18.7H448c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V96zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H291.9c-8.5 0-16.6-3.4-22.6-9.4L233.4 50.7c-12-12-28.3-18.7-45.3-18.7H64zM272 246.6l52.7 52.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-80-80c-6.2-6.2-16.4-6.2-22.6 0l-80 80c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L240 246.6V368c0 8.8 7.2 16 16 16s16-7.2 16-16V246.6z\"]\n};\nvar faFolderUpload = faFolderArrowUp;\nvar faBridgeLock = {\n prefix: 'fal',\n iconName: 'bridge-lock',\n icon: [640, 512, [], \"e4cc\", \"M48 32h80H256 384 512h80c8.8 0 16 7.2 16 16s-7.2 16-16 16H528v64h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H528 512 384 256 128 48c-8.8 0-16-7.2-16-16s7.2-16 16-16h64V64H48c-8.8 0-16-7.2-16-16s7.2-16 16-16zM320 240c40.6 0 75.4 25.3 89.4 60.9C394 312.6 384 331.2 384 352V336c0-35.3-28.7-64-64-64s-64 28.7-64 64v96c0 26.5-21.5 48-48 48H176c-26.5 0-48-21.5-48-48V336c0-35.3-28.7-64-64-64H48c-8.8 0-16-7.2-16-16s7.2-16 16-16H64c53 0 96 43 96 96v96c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V336c0-53 43-96 96-96zM496 64H400v64h96V64zM368 64H272v64h96V64zM240 64H144v64h96V64zM528 224c-26.5 0-48 21.5-48 48v48h96V272c0-26.5-21.5-48-48-48zm-80 48c0-44.2 35.8-80 80-80s80 35.8 80 80v48c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H448c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32V272zm0 80V480H608V352H448z\"]\n};\nvar faCrosshairsSimple = {\n prefix: 'fal',\n iconName: 'crosshairs-simple',\n icon: [512, 512, [], \"e59f\", \"M479.4 240H384c-8.8 0-16 7.2-16 16s7.2 16 16 16h95.4C471.6 383 383 471.6 272 479.4V384c0-8.8-7.2-16-16-16s-16 7.2-16 16v95.4C129 471.6 40.4 383 32.6 272H128c8.8 0 16-7.2 16-16s-7.2-16-16-16H32.6C40.4 129 129 40.4 240 32.6V128c0 8.8 7.2 16 16 16s16-7.2 16-16V32.6C383 40.4 471.6 129 479.4 240zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256z\"]\n};\nvar faSackDollar = {\n prefix: 'fal',\n iconName: 'sack-dollar',\n icon: [512, 512, [128176], \"f81d\", \"M201.5 144h109l5.3 3.4C370.6 182.5 480 268.3 480 416c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64c0-147.7 109.4-233.5 164.3-268.6l5.3-3.4zm98.4-32H212.1l-6.7-9.8L156.9 32H355.1l-48.4 70.2-6.7 9.8zM152.6 138.5C91.2 183.7 0 273.4 0 416c0 53 43 96 96 96H416c53 0 96-43 96-96c0-142.6-91.2-232.3-152.6-277.5c-9.7-7.1-18.6-13.2-26.4-18.1L351.2 94l38.9-56.4C401 21.7 389.6 0 370.3 0H141.7C122.4 0 111 21.7 121.9 37.6L160.8 94 179 120.4c-7.7 4.9-16.7 11-26.4 18.1zM272 216c0-8.8-7.2-16-16-16s-16 7.2-16 16v17.3c-8.3 1.5-16.7 4.3-24.1 8.7c-13 7.7-23.9 21.1-23.8 40.5c.1 18.4 10.8 30.1 22.7 37.3c10.5 6.3 23.8 10.4 34.8 13.7l0 0 1.6 .5c12.5 3.8 22.2 6.9 29 11.2c5.9 3.7 7.7 7 7.7 11.6c.1 6.6-2.7 10.8-7.8 14c-5.8 3.6-14.5 5.6-23.7 5.3c-11.8-.4-22.7-4.1-36.3-8.7l0 0 0 0 0 0c-2.3-.8-4.7-1.6-7.1-2.4c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2c2 .7 4.1 1.4 6.2 2.1l0 0c9.2 3.2 19.7 6.8 30.9 8.9V424c0 8.8 7.2 16 16 16s16-7.2 16-16V406.9c8.7-1.4 17.4-4.3 25.1-9.1c13.3-8.3 23.2-22.2 22.9-41.6c-.2-18.5-10.6-30.6-22.7-38.2c-11-6.9-25-11.2-36.3-14.6l0 0 0 0-.5-.1c-12.6-3.8-22.3-6.8-29.2-10.9c-6-3.6-7.2-6.4-7.3-10.1c0-5.4 2.4-9.4 8.1-12.8c6.2-3.7 15.1-5.7 23.6-5.5c10.1 .2 21 2.3 32.1 5.3c8.5 2.3 17.3-2.8 19.6-11.3s-2.8-17.3-11.3-19.6c-7.5-2-15.6-3.9-24.1-5.1V216z\"]\n};\nvar faPenToSquare = {\n prefix: 'fal',\n iconName: 'pen-to-square',\n icon: [512, 512, [\"edit\"], \"f044\", \"M454.6 45.3l12.1 12.1c12.5 12.5 12.5 32.8 0 45.3L440 129.4 382.6 72l26.7-26.7c12.5-12.5 32.8-12.5 45.3 0zM189 265.6l171-171L417.4 152l-171 171c-4.2 4.2-9.6 7.2-15.4 8.6l-65.6 15.1L180.5 281c1.3-5.8 4.3-11.2 8.6-15.4zm197.7-243L166.4 243c-8.5 8.5-14.4 19.2-17.1 30.9l-20.9 90.6c-1.2 5.4 .4 11 4.3 14.9s9.5 5.5 14.9 4.3l90.6-20.9c11.7-2.7 22.4-8.6 30.9-17.1L489.4 125.3c25-25 25-65.5 0-90.5L477.3 22.6c-25-25-65.5-25-90.5 0zM80 64C35.8 64 0 99.8 0 144V432c0 44.2 35.8 80 80 80H368c44.2 0 80-35.8 80-80V304c0-8.8-7.2-16-16-16s-16 7.2-16 16V432c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48V144c0-26.5 21.5-48 48-48H208c8.8 0 16-7.2 16-16s-7.2-16-16-16H80z\"]\n};\nvar faEdit = faPenToSquare;\nvar faSquareSliders = {\n prefix: 'fal',\n iconName: 'square-sliders',\n icon: [448, 512, [\"sliders-h-square\"], \"f3f0\", \"M32 416c0 17.7 14.3 32 32 32l320 0c17.7 0 32-14.3 32-32l0-320c0-17.7-14.3-32-32-32L64 64C46.3 64 32 78.3 32 96l0 320zM0 96C0 60.7 28.7 32 64 32l320 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96zm96 80c0-8.8 7.2-16 16-16l48 0 0-24c0-8.8 7.2-16 16-16s16 7.2 16 16l0 40 0 40c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-24-48 0c-8.8 0-16-7.2-16-16zm128 0c0-8.8 7.2-16 16-16l96 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-96 0c-8.8 0-16-7.2-16-16zM96 336c0-8.8 7.2-16 16-16l112 0 0-24c0-8.8 7.2-16 16-16s16 7.2 16 16l0 40 0 40c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-24-112 0c-8.8 0-16-7.2-16-16zm192 0c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16z\"]\n};\nvar faSlidersHSquare = faSquareSliders;\nvar faCarSide = {\n prefix: 'fal',\n iconName: 'car-side',\n icon: [640, 512, [128663], \"f5e4\", \"M171.3 64H224V80v96 16H87.6l39.1-97.8C134.1 75.9 151.7 64 171.3 64zM256 192V176 80 64h97.2c14.6 0 28.4 6.6 37.5 18l88 110H256zm263.9 .2L415.7 62c-15.2-19-38.2-30-62.5-30H171.3c-32.7 0-62.1 19.9-74.3 50.3L52.8 193C22.8 198.3 0 224.5 0 256V368c0 17.7 14.3 32 32 32H65.3c7.6 45.4 47.1 80 94.7 80s87.1-34.6 94.7-80H385.3c7.6 45.4 47.1 80 94.7 80s87.1-34.6 94.7-80H608c17.7 0 32-14.3 32-32V320c0-68-53.1-123.7-120.1-127.8zM542 400c-7.1 27.6-32.2 48-62 48s-54.9-20.4-62-48c-1.3-5.1-2-10.5-2-16s.7-10.9 2-16c7.1-27.6 32.2-48 62-48s54.9 20.4 62 48c1.3 5.1 2 10.5 2 16s-.7 10.9-2 16zM385.3 368H254.7c-7.6-45.4-47.1-80-94.7-80s-87.1 34.6-94.7 80H32V256c0-17.7 14.3-32 32-32H512c53 0 96 43 96 96v48H574.7c-7.6-45.4-47.1-80-94.7-80s-87.1 34.6-94.7 80zM160 448c-29.8 0-54.9-20.4-62-48c-1.3-5.1-2-10.5-2-16s.7-10.9 2-16c7.1-27.6 32.2-48 62-48s54.9 20.4 62 48c1.3 5.1 2 10.5 2 16s-.7 10.9-2 16c-7.1 27.6-32.2 48-62 48z\"]\n};\nvar faMessageMiddleTop = {\n prefix: 'fal',\n iconName: 'message-middle-top',\n icon: [512, 512, [\"comment-middle-top-alt\"], \"e1e2\", \"M343.5 128H448c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32H168.5c9.5 0 18.5-4.2 24.6-11.5L256 41l62.9 75.5C325 123.8 334 128 343.5 128zM268.3 26.3l0 0L256 16l12.3 10.2s0 0 0 0zM168.5 96H64C28.7 96 0 124.7 0 160V448c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H343.5L268.3 5.8C265.3 2.1 260.7 0 256 0s-9.3 2.1-12.3 5.8L168.5 96z\"]\n};\nvar faCommentMiddleTopAlt = faMessageMiddleTop;\nvar faLightbulbOn = {\n prefix: 'fal',\n iconName: 'lightbulb-on',\n icon: [640, 512, [], \"f672\", \"M55.2 1.7c-7.9-4-17.5-.7-21.5 7.2s-.7 17.5 7.2 21.5l64 32c7.9 4 17.5 .7 21.5-7.2s.7-17.5-7.2-21.5l-64-32zm544 28.6c7.9-4 11.1-13.6 7.2-21.5s-13.6-11.1-21.5-7.2l-64 32c-7.9 4-11.1 13.6-7.2 21.5s13.6 11.1 21.5 7.2l64-32zM16 160c-8.8 0-16 7.2-16 16s7.2 16 16 16H80c8.8 0 16-7.2 16-16s-7.2-16-16-16H16zm544 0c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H560zM119.2 318.3c7.9-4 11.1-13.6 7.2-21.5s-13.6-11.1-21.5-7.2l-64 32c-7.9 4-11.1 13.6-7.2 21.5s13.6 11.1 21.5 7.2l64-32zm416-28.6c-7.9-4-17.5-.7-21.5 7.2s-.7 17.5 7.2 21.5l64 32c7.9 4 17.5 .7 21.5-7.2s.7-17.5-7.2-21.5l-64-32zM464 176c0 30.6-9.5 58.8-25.7 82.1c-4.1 5.9-8.7 12.3-13.6 19c-12.7 17.5-27.1 37.2-38 57.1c-8.9 16.2-13.7 33.3-16.2 49.9H403c2.2-12 5.9-23.7 11.8-34.5c9.9-18 22.2-34.9 34.5-51.8l0 0 0 0 0 0c5.2-7.1 10.4-14.2 15.4-21.4c19.8-28.5 31.4-63 31.4-100.3C496 78.8 417.2 0 320 0S144 78.8 144 176c0 37.3 11.6 71.9 31.4 100.3c5 7.2 10.2 14.3 15.4 21.4l0 0 0 0 0 0c12.3 16.8 24.6 33.7 34.5 51.8c5.9 10.8 9.6 22.5 11.8 34.5h32.4c-2.5-16.6-7.3-33.7-16.2-49.9c-10.9-20-25.3-39.7-38-57.1l0 0c-4.9-6.7-9.5-13-13.6-19C185.5 234.8 176 206.6 176 176c0-79.5 64.5-144 144-144s144 64.5 144 144zm-224 0c0-44.2 35.8-80 80-80c8.8 0 16-7.2 16-16s-7.2-16-16-16c-61.9 0-112 50.1-112 112c0 8.8 7.2 16 16 16s16-7.2 16-16zm80 304c-20.9 0-38.7-13.4-45.3-32h90.5c-6.6 18.6-24.4 32-45.3 32zm-80-53.3V432c0 44.2 35.8 80 80 80s80-35.8 80-80v-5.3c0-5.9-4.8-10.7-10.7-10.7H250.7c-5.9 0-10.7 4.8-10.7 10.7z\"]\n};\nvar faKnife = {\n prefix: 'fal',\n iconName: 'knife',\n icon: [512, 512, [\"utensil-knife\"], \"f2e4\", \"M448 9.7C453.8 3.5 461.8 0 470.3 0c12.3 0 24.1 7.6 28.2 20.4c5 15.9 13.6 49.2 13.6 91.6c0 49.1-15.6 86.8-42.9 123.7c-22.7 30.6-54 61.2-91 97.4c-6.5 6.4-13.2 12.9-20 19.6l-9.8 9.8c-13.9 13.9-32.7 21.7-52.3 21.7s-38.4-7.8-52.3-21.7l-42-42L27.7 506.9c-6 6.5-16.2 6.8-22.6 .8s-6.8-16.2-.8-22.6L189.6 286.5 448 9.7zM223.5 297.1l42.8 42.8c7.9 7.9 18.5 12.3 29.7 12.3s21.8-4.4 29.7-12.3l9.9-9.9 .1-.1 0 0c7.1-7 13.9-13.7 20.5-20.1c37.2-36.4 66.3-64.9 87.3-93.2C467.4 184.2 480 153 480 112c0-34.9-6.5-63-10.9-78L223.5 297.1z\"]\n};\nvar faUtensilKnife = faKnife;\nvar faShareNodes = {\n prefix: 'fal',\n iconName: 'share-nodes',\n icon: [448, 512, [\"share-alt\"], \"f1e0\", \"M448 112c0 44.2-35.8 80-80 80c-22.9 0-43.6-9.6-58.1-25l-151 75.5c.8 4.4 1.1 8.9 1.1 13.5s-.4 9.1-1.1 13.5l151 75.5c14.6-15.4 35.2-25 58.1-25c44.2 0 80 35.8 80 80s-35.8 80-80 80s-80-35.8-80-80c0-9.7 1.7-19 4.9-27.7L147.2 299.5c-14.3 22-39 36.5-67.2 36.5c-44.2 0-80-35.8-80-80s35.8-80 80-80c28.2 0 52.9 14.5 67.2 36.5l145.7-72.9c-3.2-8.6-4.9-17.9-4.9-27.7c0-44.2 35.8-80 80-80s80 35.8 80 80zM80 304a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM416 112a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM368 448a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faShareAlt = faShareNodes;\nvar faDisplayChartUpCircleDollar = {\n prefix: 'fal',\n iconName: 'display-chart-up-circle-dollar',\n icon: [640, 512, [], \"e5e6\", \"M64 32H512c17.7 0 32 14.3 32 32V198.6c11.2 3.2 21.9 7.4 32 12.6V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64H213.1l-10.7 64H144c-8.8 0-16 7.2-16 16s7.2 16 16 16h72H360h34.8c-12.9-9.1-24.5-19.9-34.6-32H341.1 288 234.9l10.7-64H288h38.6c-2.9-10.3-4.9-21-5.9-32H232.3c-.2 0-.4 0-.6 0H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32zM480 192.7V112c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16s7.2 16 16 16h57.4L304 249.4l-68.7-68.7c-6.2-6.2-16.4-6.2-22.6 0l-112 112c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L224 214.6l68.7 68.7c3 3 7.1 4.7 11.3 4.7s8.3-1.7 11.3-4.7L448 150.6v48c10.3-2.9 21-4.9 32-5.9zM496 256a112 112 0 1 1 0 224 112 112 0 1 1 0-224zm0 256a144 144 0 1 0 0-288 144 144 0 1 0 0 288zM472.8 335.4c.6-.9 1.8-2.1 4.2-3.4c5.1-2.7 12.5-4.1 18.7-4c8.2 .1 17.1 1.8 26.4 4.1c8.6 2.1 17.3-3.1 19.4-11.7s-3.1-17.3-11.7-19.4c-5.6-1.4-11.6-2.7-17.9-3.7V288c0-8.8-7.2-16-16-16s-16 7.2-16 16v9.5c-6.1 1.2-12.3 3.2-18 6.3c-11.8 6.3-23 18.4-21.8 37.2c1 16 11.7 25.3 21.6 30.7c8.8 4.7 19.7 7.8 28.6 10.3l1.8 .5c10.3 2.9 17.9 5.2 23.2 8.3c4.5 2.7 4.7 4.2 4.7 5.6c.1 2.4-.5 3.7-1 4.5c-.6 1-1.8 2.2-4 3.3c-4.7 2.5-11.8 3.8-18.5 3.6c-9.5-.3-18.5-3.1-29.9-6.8c-1.9-.6-3.8-1.2-5.8-1.8c-8.4-2.6-17.4 2.1-20 10.5s2.1 17.4 10.5 20c1.6 .5 3.3 1 5 1.6l0 0 0 0c7 2.3 15.1 4.8 23.7 6.6v11.4c0 8.8 7.2 16 16 16s16-7.2 16-16V438.7c6.2-1.1 12.5-3.1 18.3-6.2c12.1-6.5 22.3-18.7 21.7-36.9c-.5-16.2-10.3-26.3-20.5-32.3c-9.4-5.6-21.2-8.9-30.5-11.5l-.2 0c-10.4-2.9-18.3-5.2-23.9-8.2c-4.8-2.6-4.8-4-4.8-4.5l0-.1c-.1-1.9 .3-2.9 .8-3.6z\"]\n};\nvar faWaveSine = {\n prefix: 'fal',\n iconName: 'wave-sine',\n icon: [640, 512, [8767], \"f899\", \"M31.4 244.2l0 0 0 0 0-.1 .1-.3 .4-1.3c.3-1.2 .9-3 1.6-5.2c1.5-4.6 3.7-11.2 6.7-19.1c6-15.9 15.2-37 27.6-58C93.2 117 129.1 80 176 80c36.5 0 61.1 19.2 80.8 52.2c20.2 33.9 33.7 79.7 47.9 128.3l.4 1.3c13.7 47 28.2 96.6 50.7 134.4c23.3 39 56.8 67.8 108.2 67.8c65.1 0 109.2-51 135.8-95.9c13.6-23 23.5-45.9 29.9-63c3.2-8.6 5.6-15.7 7.3-20.8c.8-2.5 1.4-4.5 1.8-5.9c.2-.7 .4-1.2 .5-1.6l.1-.5 0-.1 0 0 0 0s0 0-15.4-4.2l15.4 4.2c2.3-8.5-2.7-17.3-11.2-19.6s-17.3 2.7-19.6 11.2l0 0 0 0 0 .1-.1 .3-.4 1.3c-.3 1.2-.9 3-1.6 5.2c-1.5 4.6-3.7 11.2-6.7 19.1c-6 15.9-15.2 37-27.6 58C546.8 395 510.9 432 464 432c-36.5 0-61.1-19.2-80.8-52.2c-20.2-33.9-33.7-79.7-47.9-128.3l-.4-1.3c-13.7-47-28.2-96.6-50.7-134.4C260.9 76.8 227.5 48 176 48C110.9 48 66.8 99 40.2 143.9c-13.6 23-23.5 45.9-29.9 63C7 215.4 4.6 222.5 3 227.6c-.8 2.5-1.4 4.5-1.8 5.9c-.2 .7-.4 1.2-.5 1.6l-.1 .5 0 .1 0 0 0 0s0 0 15.4 4.2L.6 235.8c-2.3 8.5 2.7 17.3 11.2 19.6s17.3-2.7 19.6-11.2z\"]\n};\nvar faHeartCircleMinus = {\n prefix: 'fal',\n iconName: 'heart-circle-minus',\n icon: [576, 512, [], \"e4ff\", \"M244 130.6l-12-13.5-4.2-4.7c-26-29.2-65.3-42.8-103.8-35.8c-53.3 9.7-92 56.1-92 110.3v3.5c0 32.3 13.4 63.1 37.1 85.1L253 446.8c.8 .7 1.9 1.2 3 1.2s2.2-.4 3-1.2l10.9-10.2c4.3 10.2 9.6 20 15.7 29.1l-4.9 4.5c-.8 .8-1.7 1.5-2.6 2.2c-6.3 4.9-14.1 7.5-22.1 7.5c-9.2 0-18-3.5-24.8-9.7L47.2 299c-3.8-3.5-7.3-7.2-10.7-11C13.1 261 0 226.4 0 190.4v-3.5C0 117.3 49.8 57.6 118.3 45.1c40.9-7.4 82.6 3.2 114.7 28.4c6.7 5.3 13 11.1 18.7 17.6l4.2 4.7 4.2-4.7c4.2-4.7 8.6-9.1 13.3-13.1c1.8-1.5 3.6-3 5.4-4.5C311 48.4 352.7 37.7 393.7 45.1C462.2 57.6 512 117.3 512 186.9v3.5c0 6.8-.5 13.5-1.4 20.1c-9.8-4.9-20.2-8.9-30.9-12c.2-2.7 .3-5.4 .3-8.1v-3.5c0-54.2-38.7-100.6-92-110.3c-38.5-7-77.8 6.6-103.8 35.8l-4.2 4.7-12 13.5c-3 3.4-7.4 5.4-12 5.4s-8.9-2-12-5.4zM432 480a112 112 0 1 0 0-224 112 112 0 1 0 0 224zm0-256a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm80 144c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16s7.2-16 16-16H496c8.8 0 16 7.2 16 16z\"]\n};\nvar faCircleW = {\n prefix: 'fal',\n iconName: 'circle-w',\n icon: [512, 512, [], \"e12c\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM135.1 170.8c-2.9-8.4-12-12.8-20.4-9.9s-12.8 12-9.9 20.4l72 208c2.3 6.5 8.4 10.8 15.3 10.8s13-4.6 15.1-11.1L256 236.5l48.8 152.4c2.1 6.6 8.2 11 15.1 11.1s13.1-4.3 15.3-10.8l72-208c2.9-8.4-1.5-17.5-9.9-20.4s-17.5 1.5-20.4 9.9L320.6 333.4 271.2 179.1C269.1 172.5 263 168 256 168s-13.1 4.5-15.2 11.1L191.4 333.4 135.1 170.8z\"]\n};\nvar faCircleCalendar = {\n prefix: 'fal',\n iconName: 'circle-calendar',\n icon: [512, 512, [\"calendar-circle\"], \"e102\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM208 96c8.8 0 16 7.2 16 16v16h64V112c0-8.8 7.2-16 16-16s16 7.2 16 16v16h16c26.5 0 48 21.5 48 48v16 32V336c0 26.5-21.5 48-48 48H176c-26.5 0-48-21.5-48-48V224 192 176c0-26.5 21.5-48 48-48h16V112c0-8.8 7.2-16 16-16zm-48 80v16H352V176c0-8.8-7.2-16-16-16H304 208 176c-8.8 0-16 7.2-16 16zm192 48H160V336c0 8.8 7.2 16 16 16H336c8.8 0 16-7.2 16-16V224z\"]\n};\nvar faCalendarCircle = faCircleCalendar;\nvar faHourglassHalf = {\n prefix: 'fal',\n iconName: 'hourglass-half',\n icon: [384, 512, [\"hourglass-2\"], \"f252\", \"M16 512c-8.8 0-16-7.2-16-16s7.2-16 16-16H32V438.4c0-49.4 22.8-96 61.8-126.3L165.9 256 93.8 199.9C54.8 169.6 32 122.9 32 73.6V32H16C7.2 32 0 24.8 0 16S7.2 0 16 0H48 336h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H352V73.6c0 49.4-22.8 96-61.8 126.3L218.1 256l72.2 56.1c39 30.3 61.8 76.9 61.8 126.3V480h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H336 48 16zm304-32V438.4c0-7.6-.7-15.1-2-22.4H66c-1.3 7.3-2 14.8-2 22.4V480H320zM113.4 337.4C97.3 349.9 84.6 366 76.1 384H307.9c-8.5-18-21.1-34.1-37.3-46.6L192 276.3l-78.6 61.1zM192 235.7l78.6-61.1c5.7-4.5 11-9.3 15.8-14.6H97.6c4.8 5.3 10.1 10.2 15.8 14.6L192 235.7zM307.9 128c7.9-16.8 12.1-35.4 12.1-54.4V32H64V73.6c0 19.1 4.2 37.6 12.1 54.4H307.9z\"]\n};\nvar faHourglass2 = faHourglassHalf;\nvar faMicroscope = {\n prefix: 'fal',\n iconName: 'microscope',\n icon: [512, 512, [128300], \"f610\", \"M192 0c-17.7 0-32 14.3-32 32c-17.7 0-32 14.3-32 32V288c0 17.7 14.3 32 32 32h96c17.7 0 32-14.3 32-32V160c88.4 0 160 71.6 160 160s-71.6 160-160 160H208 16c-8.8 0-16 7.2-16 16s7.2 16 16 16H208h80H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H394.2c51.7-34.4 85.8-93.2 85.8-160c0-106-86-192-192-192V64c0-17.7-14.3-32-32-32c0-17.7-14.3-32-32-32H192zm0 32h32V48c0 8.8 7.2 16 16 16h16V288H160V64h16c8.8 0 16-7.2 16-16V32zM160 368c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H176c-8.8 0-16 7.2-16 16zM96 432c0 8.8 7.2 16 16 16H304c8.8 0 16-7.2 16-16s-7.2-16-16-16H112c-8.8 0-16 7.2-16 16z\"]\n};\nvar faSunset = {\n prefix: 'fal',\n iconName: 'sunset',\n icon: [576, 512, [127751], \"f767\", \"M299.3 219.3c-6.2 6.2-16.4 6.2-22.6 0l-96-96c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L272 169.4V16c0-8.8 7.2-16 16-16s16 7.2 16 16V169.4l68.7-68.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-96 96zm94.2 5.9c5 2.1 8.6 6.6 9.6 11.9L423 345l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L500.9 448H462.1l38.7-56.2-94.5-17.4c-6.5-1.2-11.6-6.3-12.8-12.8l-17.4-94.5-79.1 54.5c-5.5 3.8-12.7 3.8-18.2 0l-79.1-54.5-17.4 94.5c-1.2 6.5-6.3 11.6-12.8 12.8L75.2 391.8 113.9 448H75.1L34.8 389.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L153 345l19.8-107.9c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L288 289.1l90.3-62.3c4.5-3.1 10.2-3.7 15.2-1.6zM412 448H378.5c-13.2-37.3-48.7-64-90.5-64s-77.4 26.7-90.5 64H164c14.2-55.2 64.3-96 124-96s109.8 40.8 124 96zM16 480H560c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faSink = {\n prefix: 'fal',\n iconName: 'sink',\n icon: [512, 512, [], \"e06d\", \"M272 80c0-26.5 21.5-48 48-48s48 21.5 48 48v32c0 8.8 7.2 16 16 16s16-7.2 16-16V80c0-44.2-35.8-80-80-80s-80 35.8-80 80V288H160V272c0-26.5-21.5-48-48-48H48c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16 7.2 16 16v16H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H144 256 368 496c8.8 0 16-7.2 16-16s-7.2-16-16-16H384V272c0-8.8 7.2-16 16-16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H400c-26.5 0-48 21.5-48 48v16H272V80zM32 352v48c0 61.9 50.1 112 112 112H368c61.9 0 112-50.1 112-112V352H448v48c0 44.2-35.8 80-80 80H144c-44.2 0-80-35.8-80-80V352H32z\"]\n};\nvar faCalendarExclamation = {\n prefix: 'fal',\n iconName: 'calendar-exclamation',\n icon: [448, 512, [], \"f334\", \"M112 0c8.8 0 16 7.2 16 16V64H320V16c0-8.8 7.2-16 16-16s16 7.2 16 16V64h32c35.3 0 64 28.7 64 64v32 32V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192 160 128C0 92.7 28.7 64 64 64H96V16c0-8.8 7.2-16 16-16zM416 192H32V448c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V192zM384 96H64c-17.7 0-32 14.3-32 32v32H416V128c0-17.7-14.3-32-32-32zM200 416a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm40-160v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V256c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faTruckContainerEmpty = {\n prefix: 'fal',\n iconName: 'truck-container-empty',\n icon: [640, 512, [], \"e2b5\", \"M448 160c0-17.7 14.3-32 32-32h56c15.1 0 29.3 7.1 38.4 19.2l56 74.7c6.2 8.3 9.6 18.4 9.6 28.8V256v48 56c0 19.4-13.7 35.5-32 39.2l0 .8c0 44.2-35.8 80-80 80s-80-35.8-80-80H288c0 44.2-35.8 80-80 80c-26.2 0-49.4-12.6-64-32c-14.6 19.4-37.8 32-64 32c-44.2 0-80-35.8-80-80s35.8-80 80-80c26.2 0 49.4 12.6 64 32c14.6-19.4 37.8-32 64-32c32.8 0 61 19.7 73.3 48H448V256 240 224 160zm144 64l-43.2-57.6c-3-4-7.8-6.4-12.8-6.4H480v64H592zm16 32H480v80c13.4-10 30-16 48-16c32.8 0 60.9 19.7 73.3 47.9c3.8-.6 6.7-3.9 6.7-7.9V304 256zM528 448a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM256 400a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM80 448a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faHandHeart = {\n prefix: 'fal',\n iconName: 'hand-heart',\n icon: [512, 512, [], \"f4bc\", \"M210.7 38.8C218 16.3 239.1 0 264 0s46 16.3 53.3 38.8c7.9-4.3 17-6.8 26.7-6.8c30.9 0 56 25.1 56 56v13.4c7.3-3.5 15.4-5.4 24-5.4c30.9 0 56 25.1 56 56V336c0 97.2-78.8 176-176 176h-8.5c-65.8 0-128.9-26.1-175.4-72.6L16.4 335.6c-21.9-21.9-21.9-57.3 0-79.2s57.3-21.9 79.2 0L128 288.8V88c0-30.9 25.1-56 56-56c9.7 0 18.8 2.5 26.7 6.8zM208 88c0-13.3-10.7-24-24-24s-24 10.7-24 24V327.4c0 6.5-3.9 12.3-9.9 14.8s-12.9 1.1-17.4-3.5L73 279c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9L142.8 416.7c40.5 40.5 95.4 63.3 152.7 63.3H304c79.5 0 144-64.5 144-144V152c0-13.3-10.7-24-24-24c-13.2 0-24 10.7-24 23.9V240c0 8.8-7.2 16-16 16s-16-7.2-16-16V152.1l0-.1V88c0-13.3-10.7-24-24-24c-13.2 0-24 10.7-24 23.9V240c0 8.8-7.2 16-16 16s-16-7.2-16-16V88.1l0-.1 0-32c0-13.3-10.7-24-24-24s-24 10.7-24 24V79.9l0 .1V240c0 8.8-7.2 16-16 16s-16-7.2-16-16V88.1l0-.1zm13.7 250.8c0 5.8 2.3 11.4 6.5 15.4L288 412.4l59.8-58.1c4.2-4 6.5-9.6 6.5-15.4c0-11.9-9.6-21.5-21.5-21.5h-1.5c-6 0-11.7 2.3-16 6.5l-16.1 15.6c-6.2 6-16.1 6-22.3 0l-16.1-15.6c-4.3-4.2-10.1-6.5-16-6.5h-1.5c-11.9 0-21.5 9.6-21.5 21.5zm21.5-53.5h1.5c14.3 0 28.1 5.6 38.4 15.6l4.9 4.8 4.9-4.8c10.3-10 24-15.6 38.4-15.6h1.5c29.5 0 53.5 23.9 53.5 53.5c0 14.4-5.8 28.3-16.2 38.4l-70.9 69c-6.2 6-16.1 6-22.3 0l-70.9-69c-10.4-10.1-16.2-23.9-16.2-38.4c0-29.5 23.9-53.5 53.5-53.5z\"]\n};\nvar faBagShopping = {\n prefix: 'fal',\n iconName: 'bag-shopping',\n icon: [448, 512, [\"shopping-bag\"], \"f290\", \"M160 96v32H288V96c0-35.3-28.7-64-64-64s-64 28.7-64 64zm-32 64H48c-8.8 0-16 7.2-16 16V416c0 35.3 28.7 64 64 64H352c35.3 0 64-28.7 64-64V176c0-8.8-7.2-16-16-16H320v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V160H160v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V160zm0-32V96c0-53 43-96 96-96s96 43 96 96v32h80c26.5 0 48 21.5 48 48V416c0 53-43 96-96 96H96c-53 0-96-43-96-96V176c0-26.5 21.5-48 48-48h80z\"]\n};\nvar faShoppingBag = faBagShopping;\nvar faArrowDownZA = {\n prefix: 'fal',\n iconName: 'arrow-down-z-a',\n icon: [576, 512, [\"sort-alpha-desc\", \"sort-alpha-down-alt\"], \"f881\", \"M267.3 379.3l-96 96c-6.2 6.2-16.4 6.2-22.6 0l-96-96c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L144 425.4V48c0-8.8 7.2-16 16-16s16 7.2 16 16V425.4l68.7-68.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zM352 32H480c6.2 0 11.8 3.5 14.4 9.1s1.9 12.1-1.9 16.9L385.3 192H480c8.8 0 16 7.2 16 16s-7.2 16-16 16H352c-6.2 0-11.8-3.5-14.4-9.1s-1.9-12.1 1.9-16.9L446.7 64H352c-8.8 0-16-7.2-16-16s7.2-16 16-16zm64 256c6.1 0 11.6 3.4 14.3 8.8l63.9 127.7c.1 .2 .2 .4 .3 .6l15.8 31.7c4 7.9 .7 17.5-7.2 21.5s-17.5 .7-21.5-7.2L470.1 448H361.9l-11.6 23.2c-4 7.9-13.6 11.1-21.5 7.2s-11.1-13.6-7.2-21.5l15.8-31.7c.1-.2 .2-.4 .3-.6l63.9-127.7c2.7-5.4 8.2-8.8 14.3-8.8zM377.9 416h76.2L416 339.8 377.9 416z\"]\n};\nvar faSortAlphaDesc = faArrowDownZA;\nvar faSortAlphaDownAlt = faArrowDownZA;\nvar faMitten = {\n prefix: 'fal',\n iconName: 'mitten',\n icon: [448, 512, [], \"f7b5\", \"M0 144.2C0 64.6 65.1 0 144.6 0C208 0 264.4 41.5 282.8 102.3l24.6 81.3c15.3-15 36-23.6 57.9-23.6h1.8c44.7 0 80.9 36.2 80.9 80.9c0 18.6-6.4 36.6-18.1 51l-61.8 76H328c.6-1.7 1.5-3.3 2.6-4.7L405 271.8c7.1-8.7 11-19.6 11-30.9c0-27-21.9-48.9-48.9-48.9h-1.8c-17.6 0-34 9.1-43.2 24.1l-7 11.4c-3.3 5.4-9.4 8.3-15.7 7.5s-11.4-5.2-13.3-11.2L252.2 111.6C237.9 64.4 194 32 144.6 32C82.6 32 32 82.4 32 144.2c0 9.2 1.1 18.3 3.3 27.2L84.5 368h-33L4.3 179.2C1.4 167.7 0 156 0 144.2zM64 432l0 48H352V432H64zm-32 0c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32v48c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V432z\"]\n};\nvar faReplyClock = {\n prefix: 'fal',\n iconName: 'reply-clock',\n icon: [640, 512, [\"reply-time\"], \"e239\", \"M496 32a112 112 0 1 1 0 224 112 112 0 1 1 0-224zm0 256A144 144 0 1 0 496 0a144 144 0 1 0 0 288zm0-224c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H512V80c0-8.8-7.2-16-16-16zm16 272c0-5.6-.3-11.2-.8-16.6c-5 .4-10.1 .6-15.2 .6c-5.7 0-11.4-.3-17-.8c.6 5.5 1 11.1 1 16.8c0 46.1-15.9 79.7-34 103.2c1.3-7.1 2-14.8 2-23.2c0-70.7-57.3-128-128-128H224h-8c-13.3 0-24 10.7-24 24v8 16l0 48L32 240 192 96v48 16 8c0 13.3 10.7 24 24 24h8H326.6c-2.9-10.3-4.9-21-5.9-32H256 224V144 128 96c0-12.6-7.4-24.1-19-29.2s-25-3-34.4 5.4l-160 144C3.9 222.3 0 230.9 0 240s3.9 17.7 10.6 23.8l160 144c9.4 8.5 22.9 10.6 34.4 5.4s19-16.6 19-29.2V352 336 320h32 64c53 0 96 43 96 96c0 30.4-12.8 47.9-22.2 56.7c-5.5 5.1-9.8 12-9.8 19.5c0 10.9 8.8 19.7 19.7 19.7c2.8 0 5.6-.6 8.1-1.9C430.5 499.9 512 449.3 512 336z\"]\n};\nvar faReplyTime = faReplyClock;\nvar faPersonRays = {\n prefix: 'fal',\n iconName: 'person-rays',\n icon: [512, 512, [], \"e54d\", \"M4.7 4.7c-6.2 6.2-6.2 16.4 0 22.6l96 96c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-96-96c-6.2-6.2-16.4-6.2-22.6 0zm502.6 0c-6.2-6.2-16.4-6.2-22.6 0l-96 96c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l96-96c6.2-6.2 6.2-16.4 0-22.6zM27.3 507.3l96-96c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-96 96c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0zm480 0c6.2-6.2 6.2-16.4 0-22.6l-96-96c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l96 96c6.2 6.2 16.4 6.2 22.6 0zM232 56a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm80 0A56 56 0 1 0 200 56a56 56 0 1 0 112 0zM243.3 160h25.4c6.8 0 13.3 1.4 19.3 4V320H224V164c6-2.6 12.5-4 19.3-4zM224 496V352h64V496c0 8.8 7.2 16 16 16s16-7.2 16-16V202.2l49.9 93.4c4.2 7.8 13.9 10.7 21.7 6.6s10.7-13.9 6.6-21.7L339.3 170.3c-13.9-26-41-42.3-70.6-42.3H243.3c-29.5 0-56.7 16.3-70.6 42.3L113.9 280.5c-4.2 7.8-1.2 17.5 6.6 21.7s17.5 1.2 21.7-6.6L192 202.1V496c0 8.8 7.2 16 16 16s16-7.2 16-16z\"]\n};\nvar faRight = {\n prefix: 'fal',\n iconName: 'right',\n icon: [448, 512, [11157, \"arrow-alt-right\"], \"f356\", \"M416 253.7l0 4.6c0 4.4-1.8 8.6-5 11.6L261.2 412.5c-2.3 2.2-5.4 3.5-8.7 3.5c-6.9 0-12.6-5.6-12.6-12.6l0-83.4c0-8.8-7.2-16-16-16L48 304c-8.8 0-16-7.2-16-16l0-64c0-8.8 7.2-16 16-16l176 0c8.8 0 16-7.2 16-16l0-83.4c0-6.9 5.6-12.6 12.6-12.6c3.2 0 6.3 1.2 8.7 3.5L411 242.1c3.2 3 5 7.2 5 11.6zM252.6 448c11.4 0 22.5-4.4 30.7-12.3L433.1 293c9.5-9.1 14.9-21.6 14.9-34.8l0-4.6c0-13.1-5.4-25.7-14.9-34.8L283.3 76.3C275 68.4 264 64 252.6 64C228 64 208 84 208 108.6l0 67.4L48 176c-26.5 0-48 21.5-48 48l0 64c0 26.5 21.5 48 48 48l160 0 0 67.4c0 24.6 20 44.6 44.6 44.6z\"]\n};\nvar faArrowAltRight = faRight;\nvar faCircleF = {\n prefix: 'fal',\n iconName: 'circle-f',\n icon: [512, 512, [], \"e10e\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM192 128c-17.7 0-32 14.3-32 32v96V368c0 8.8 7.2 16 16 16s16-7.2 16-16V272H304c8.8 0 16-7.2 16-16s-7.2-16-16-16H192V160H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H192z\"]\n};\nvar faUsers = {\n prefix: 'fal',\n iconName: 'users',\n icon: [640, 512, [], \"f0c0\", \"M96 80a48 48 0 1 1 96 0A48 48 0 1 1 96 80zm128 0A80 80 0 1 0 64 80a80 80 0 1 0 160 0zm96 80a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm0 160a96 96 0 1 0 0-192 96 96 0 1 0 0 192zm-58.7 64H378.7c54.2 0 98.4 42.5 101.2 96H160.1c2.8-53.5 47-96 101.2-96zm0-32C187.7 352 128 411.7 128 485.3c0 14.7 11.9 26.7 26.7 26.7H485.3c14.7 0 26.7-11.9 26.7-26.7C512 411.7 452.3 352 378.7 352H261.3zM512 32a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm0 128A80 80 0 1 0 512 0a80 80 0 1 0 0 160zm16 64c44.2 0 80 35.8 80 80c0 8.8 7.2 16 16 16s16-7.2 16-16c0-61.9-50.1-112-112-112H444c2.6 10.2 4 21 4 32h80zm-336 0c0-11 1.4-21.8 4-32H112C50.1 192 0 242.1 0 304c0 8.8 7.2 16 16 16s16-7.2 16-16c0-44.2 35.8-80 80-80h80z\"]\n};\nvar faFacePleading = {\n prefix: 'fal',\n iconName: 'face-pleading',\n icon: [512, 512, [], \"e386\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM280.1 410.7c-4.7-5.3-12.7-10.7-24.1-10.7s-19.4 5.4-24.1 10.7c-5.9 6.6-16 7.1-22.6 1.2s-7.1-16-1.2-22.6c9.2-10.2 25.2-21.3 47.9-21.3s38.7 11.1 47.9 21.3c5.9 6.6 5.4 16.7-1.2 22.6s-16.7 5.4-22.6-1.2zM331.6 96.6c8.5-2.4 17.4 2.5 19.8 11l1.5 5.2c7 24.7 28.1 42.7 53.6 45.9l11.5 1.4c8.8 1.1 15 9.1 13.9 17.9c-1 8.1-7.9 14-15.9 14c10 13.4 16 30 16 48c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-41.5 31.5-75.6 72-79.6c-10-10.8-17.6-24.1-21.9-38.8l-1.5-5.2c-2.4-8.5 2.5-17.4 11-19.8zM191.4 116.4l-1.5 5.2c-4.2 14.8-11.8 28-21.9 38.8c40.4 4 72 38.1 72 79.6c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-18 6-34.6 16-48c-8 0-14.9-5.9-15.9-14c-1.1-8.8 5.1-16.8 13.9-17.9l11.5-1.4c25.5-3.2 46.6-21.3 53.6-45.9l1.5-5.2c2.4-8.5 11.3-13.4 19.8-11s13.4 11.3 11 19.8zM160 288a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm240-48a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm-272 0c17.7 0 32-14.3 32-32c17.7 0 32 14.3 32 32s-14.3 32-32 32s-32-14.3-32-32zm224-32c17.7 0 32 14.3 32 32s-14.3 32-32 32s-32-14.3-32-32c17.7 0 32-14.3 32-32z\"]\n};\nvar faEyeSlash = {\n prefix: 'fal',\n iconName: 'eye-slash',\n icon: [640, 512, [], \"f070\", \"M25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4zM605.5 268.3c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C465.5 68.8 400.8 32 320 32c-51.2 0-96 14.8-133.9 36.8l27.3 21.5C244.6 74.2 280.2 64 320 64c70.4 0 127.7 32 170.8 72c43.1 40 71.9 88 85.2 120c-9.2 22.1-25.9 52-49.5 81.5l25.1 19.8c25.6-32 43.7-64.4 53.9-89zM88.4 154.7c-25.6 32-43.7 64.4-53.9 89c-3.3 7.9-3.3 16.7 0 24.6c14.9 35.7 46.2 87.7 93 131.1C174.5 443.2 239.2 480 320 480c51.2 0 96-14.8 133.9-36.8l-27.3-21.5C395.4 437.8 359.8 448 320 448c-70.4 0-127.7-32-170.8-72C106.1 336 77.3 288 64 256c9.2-22.1 25.9-52 49.5-81.5L88.4 154.7zM320 384c16.7 0 32.7-3.2 47.4-9.1l-30.9-24.4c-5.4 .9-10.9 1.4-16.5 1.4c-51 0-92.8-39.8-95.8-90.1l-30.9-24.4c-.9 6-1.3 12.2-1.3 18.5c0 70.7 57.3 128 128 128zM448 256c0-70.7-57.3-128-128-128c-16.7 0-32.7 3.2-47.4 9.1l30.9 24.4c5.4-.9 10.9-1.4 16.5-1.4c51 0 92.8 39.8 95.8 90.1l30.9 24.4c.9-6 1.3-12.2 1.3-18.5z\"]\n};\nvar faFlaskVial = {\n prefix: 'fal',\n iconName: 'flask-vial',\n icon: [640, 512, [], \"e4f3\", \"M224 32h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H224 192 64 32 16C7.2 0 0 7.2 0 16s7.2 16 16 16H32V352c0 53 43 96 96 96c11.2 0 22-1.9 32-5.5c0-14.2 3-28.3 8.8-41.2C157.7 410.5 143.5 416 128 416c-35.3 0-64-28.7-64-64V192H192V352c0 4-.4 7.8-1 11.6l33-53.7V32zM64 32H192V160H64V32zM304 0c-8.8 0-16 7.2-16 16s7.2 16 16 16h16V219.5L201.8 411.6c-6.4 10.4-9.8 22.3-9.8 34.5c0 36.4 29.5 65.9 65.9 65.9H574.1c36.4 0 65.9-29.5 65.9-65.9c0-12.2-3.4-24.1-9.8-34.5L512 219.5V32h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H304zM480 32V224c0 3 .8 5.9 2.4 8.4L536.3 320H295.7l53.9-87.6c1.6-2.5 2.4-5.4 2.4-8.4V32H480zM229 428.4L276 352H556l47 76.4c3.3 5.3 5 11.5 5 17.8c0 18.7-15.2 33.9-33.9 33.9H257.9c-18.7 0-33.9-15.2-33.9-33.9c0-6.3 1.7-12.4 5-17.8z\"]\n};\nvar faPoliceBox = {\n prefix: 'fal',\n iconName: 'police-box',\n icon: [384, 512, [], \"e021\", \"M208 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V32H96C78.3 32 64 46.3 64 64v.8C45.7 68.5 32 84.6 32 104V480H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H368c8.8 0 16-7.2 16-16s-7.2-16-16-16H352V104c0-19.4-13.7-35.5-32-39.2V64c0-17.7-14.3-32-32-32H208V16zm112 88V480H64V104c0-4.4 3.6-8 8-8h8c8.8 0 16-7.2 16-16V64h96 96V80c0 8.8 7.2 16 16 16h8c4.4 0 8 3.6 8 8zM112 328V280h48v48H112zM88 272v64c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H104c-8.8 0-16 7.2-16 16zm24-120h20v20H112V152zm28 0h20v20H140V152zm0 28h20v20H140V180zm-8 20H112V180h20v20zm-28-72c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V144c0-8.8-7.2-16-16-16H104zm120 72V180h20v20H224zm28 0V180h20v20H252zm0-28V152h20v20H252zm-8-20v20H224V152h20zm-44-8v64c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V144c0-8.8-7.2-16-16-16H216c-8.8 0-16 7.2-16 16z\"]\n};\nvar faCucumber = {\n prefix: 'fal',\n iconName: 'cucumber',\n icon: [512, 512, [129362], \"e401\", \"M195.9 451.9l256-256c37.5-37.5 37.5-98.3 0-135.8s-98.3-37.5-135.8 0l-256 256c-37.5 37.5-37.5 98.3 0 135.8s98.3 37.5 135.8 0zm21.8 23.4c-50 49.2-130.5 48.9-180.2-.8c-50-50-50-131 0-181l95.2-95.2c-7-9.4-6.2-22.7 2.3-31.2s21.9-9.3 31.2-2.3L293.5 37.5c50-50 131-50 181 0c49.7 49.7 50 130.2 .8 180.2c7 9.4 6.2 22.7-2.3 31.3s-21.8 9.3-31.2 2.3L251.3 441.7c7 9.4 6.2 22.7-2.3 31.2s-21.9 9.3-31.3 2.3zM128 308a20 20 0 1 1 40 0 20 20 0 1 1 -40 0zm204-84a20 20 0 1 1 0 40 20 20 0 1 1 0-40zm12-108a20 20 0 1 1 40 0 20 20 0 1 1 -40 0z\"]\n};\nvar faHeadSideBrain = {\n prefix: 'fal',\n iconName: 'head-side-brain',\n icon: [512, 512, [], \"f808\", \"M32 224C32 118 118 32 224 32h16c66.1 0 127.1 40 153.8 96.9c3.2 6.9 6.5 14.2 9.9 21.7l0 0 0 0c6.2 13.9 12.7 28.5 19.8 42c11.1 21.3 24.8 42.3 44 59.4l3.2 2.8c6 5.3 9.5 13 9.5 21.1c0 15.6-12.6 28.2-28.2 28.2H432c-8.8 0-16 7.2-16 16v64c0 17.7-14.3 32-32 32H304c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V448h64c35.3 0 64-28.7 64-64V336h3.8c33.2 0 60.2-26.9 60.2-60.2c0-17.2-7.4-33.6-20.2-45l-3.2-2.8c-15.1-13.5-26.6-30.6-36.9-50.3c-6.7-12.7-12.3-25.5-18.2-38.7l0 0c-3.5-7.8-7-15.7-10.8-23.8C390.8 47.3 318.6 0 240 0H224C100.3 0 0 100.3 0 224c0 52.9 18.4 101.6 49.1 140C58.5 375.6 64 388.6 64 401.4V496c0 8.8 7.2 16 16 16s16-7.2 16-16V401.4c0-22.1-9.5-41.9-21.9-57.4C47.7 311.1 32 269.4 32 224zm171.1-99.8c4.1-7.3 12-12.2 20.9-12.2s16.8 4.9 20.9 12.2c4.3 7.6 13.9 10.4 21.6 6.2c2.8-1.5 6-2.4 9.5-2.4c7 0 13.2 3.6 16.8 9.1c3.4 5.2 9.5 8 15.7 7.1c1.1-.2 2.3-.3 3.5-.3c13.3 0 24 10.7 24 24s-10.7 24-24 24H268.7c-5.4 0-10.4 2.7-13.4 7.2s-3.4 10.2-1.3 15.2c1.3 2.9 2 6.2 2 9.6c0 11.6-8.2 21.3-19.2 23.5c-8.7 1.8-14.3 10.2-12.5 18.9s10.2 14.3 18.9 12.5c25.6-5.2 44.8-27.8 44.8-54.9h24c30.9 0 56-25.1 56-56c0-30.4-24.2-55.2-54.5-56c-9.5-9.9-22.8-16-37.5-16c-4 0-7.8 .4-11.5 1.3C254.3 86.6 239.9 80 224 80s-30.3 6.6-40.5 17.3C179.8 96.4 176 96 172 96c-22.2 0-41.1 13.9-48.6 33.4C98.6 135.1 80 157.4 80 184c0 19.2 9.7 36.1 24.3 46.2c3.1 28 26.8 49.8 55.7 49.8v24c0 8.8 7.2 16 16 16s16-7.2 16-16V260.7c0-5.4-2.7-10.4-7.2-13.4s-10.2-3.4-15.2-1.3c-2.9 1.3-6.2 2-9.6 2c-13.3 0-24-10.7-24-24c0-.7 0-1.3 .1-2c.6-6.8-3.3-13.3-9.6-16c-8.6-3.7-14.5-12.2-14.5-22c0-13.3 10.7-24 24-24l.2 0c8.2 0 15-6.1 15.9-14.2c1.1-10 9.6-17.8 19.9-17.8c3.5 0 6.7 .9 9.5 2.4c7.7 4.2 17.3 1.4 21.6-6.2z\"]\n};\nvar faHand = {\n prefix: 'fal',\n iconName: 'hand',\n icon: [512, 512, [129306, 9995, \"hand-paper\"], \"f256\", \"M264 0c-24.9 0-46 16.3-53.3 38.8c-7.9-4.3-17-6.8-26.7-6.8c-30.9 0-56 25.1-56 56V288.8L95.6 256.4c-21.9-21.9-57.3-21.9-79.2 0s-21.9 57.3 0 79.2L120.2 439.4C166.7 485.9 229.8 512 295.5 512H304c97.2 0 176-78.8 176-176V152c0-30.9-25.1-56-56-56c-8.6 0-16.7 1.9-24 5.4V88c0-30.9-25.1-56-56-56c-9.7 0-18.8 2.5-26.7 6.8C310 16.3 288.9 0 264 0zM184 64c13.3 0 24 10.7 24 24l0 .1V240c0 8.8 7.2 16 16 16s16-7.2 16-16V80l0-.1V56c0-13.3 10.7-24 24-24s24 10.7 24 24l0 32 0 .1V240c0 8.8 7.2 16 16 16s16-7.2 16-16V87.9C320 74.7 330.8 64 344 64c13.3 0 24 10.7 24 24v64c0 0 0 0 0 .1V240c0 8.8 7.2 16 16 16s16-7.2 16-16V151.9c0-13.2 10.8-23.9 24-23.9c13.3 0 24 10.7 24 24V336c0 79.5-64.5 144-144 144h-8.5c-57.3 0-112.2-22.8-152.7-63.3L39 313c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l59.7 59.7c4.6 4.6 11.5 5.9 17.4 3.5s9.9-8.3 9.9-14.8V88c0-13.3 10.7-24 24-24z\"]\n};\nvar faHandPaper = faHand;\nvar faPersonBikingMountain = {\n prefix: 'fal',\n iconName: 'person-biking-mountain',\n icon: [640, 512, [128693, \"biking-mountain\"], \"f84b\", \"M416 56a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-80 0a56 56 0 1 1 112 0A56 56 0 1 1 336 56zM130 272c-3.9 0-7.1 2.7-7.8 6.4c-1.2 5.8-5.5 10.5-11.2 12.2c-6.2 1.8-12.1 4.3-17.7 7.3c-5.2 2.9-11.6 2.6-16.5-.7c-3.1-2.1-7.3-1.7-10.1 1l-8.5 8.5c-2.7 2.7-3.1 7-1 10.1c3.3 5 3.6 11.3 .7 16.5c-3 5.6-5.5 11.5-7.3 17.7c-1.7 5.7-6.4 10-12.2 11.2c-3.6 .7-6.4 4-6.4 7.8v12c0 3.9 2.7 7.1 6.4 7.8c5.8 1.2 10.5 5.5 12.2 11.2c1.8 6.2 4.3 12.1 7.3 17.7c2.9 5.2 2.6 11.6-.7 16.5c-2.1 3.1-1.7 7.3 1 10.1l8.5 8.5c2.7 2.7 7 3.1 10.1 1c5-3.3 11.3-3.6 16.5-.7c5.6 3 11.5 5.5 17.7 7.3c5.7 1.7 10 6.4 11.2 12.2c.7 3.6 4 6.4 7.8 6.4h12c3.9 0 7.1-2.7 7.8-6.4c1.2-5.8 5.5-10.5 11.2-12.2c6.2-1.8 12.1-4.3 17.7-7.3c5.2-2.9 11.6-2.6 16.5 .7c3.1 2.1 7.3 1.7 10.1-1l8.5-8.5c2.7-2.7 3.1-7 1-10.1c-3.3-5-3.6-11.3-.7-16.5c3-5.6 5.5-11.5 7.3-17.7c1.7-5.7 6.4-10 12.2-11.2c3.6-.7 6.4-4 6.4-7.8V370c0-3.9-2.7-7.1-6.4-7.8c-5.8-1.2-10.5-5.5-12.2-11.2c-1.8-6.2-4.3-12.1-7.3-17.7c-2.9-5.2-2.6-11.6 .7-16.5c2.1-3.1 1.7-7.3-1-10.1l-8.5-8.5c-2.7-2.7-7-3.1-10.1-1c-5 3.3-11.3 3.6-16.5 .7c-5.6-3-11.5-5.5-17.7-7.3c-5.7-1.7-10-6.4-11.2-12.2c-.7-3.6-4-6.4-7.8-6.4H130zm-36-9.5c6.5-13.3 20.1-22.5 36-22.5h12c15.8 0 29.5 9.2 36 22.5c2.9 1.1 5.8 2.3 8.6 3.6c14-4.8 30.1-1.7 41.3 9.5l8.5 8.5c11.2 11.2 14.4 27.3 9.5 41.3c1.3 2.8 2.5 5.7 3.6 8.6c13.3 6.5 22.5 20.1 22.5 36v12c0 15.8-9.2 29.5-22.5 36c-1.1 2.9-2.3 5.8-3.6 8.6c4.8 14 1.7 30.1-9.5 41.3l-8.5 8.5c-11.2 11.2-27.3 14.4-41.3 9.5c-2.8 1.3-5.7 2.5-8.6 3.6c-6.5 13.3-20.1 22.5-36 22.5H130c-15.8 0-29.5-9.2-36-22.5c-2.9-1.1-5.8-2.3-8.6-3.6c-14 4.8-30.1 1.7-41.3-9.5l-8.5-8.5c-11.2-11.2-14.4-27.3-9.5-41.3c-1.3-2.8-2.5-5.7-3.6-8.6C9.2 411.5 0 397.8 0 382V370c0-15.8 9.2-29.5 22.5-36c1.1-2.9 2.3-5.8 3.6-8.6c-4.8-14-1.7-30.1 9.5-41.3l8.5-8.5c11.2-11.2 27.3-14.4 41.3-9.5c2.8-1.3 5.7-2.5 8.6-3.6zm42 92a21.5 21.5 0 1 0 0 43 21.5 21.5 0 1 0 0-43zM189.5 376a53.5 53.5 0 1 1 -107 0 53.5 53.5 0 1 1 107 0zM498 272c-3.9 0-7.1 2.7-7.8 6.4c-1.2 5.8-5.5 10.5-11.2 12.2c-6.2 1.8-12.1 4.3-17.7 7.3c-5.2 2.9-11.6 2.6-16.5-.7c-3.1-2.1-7.3-1.7-10.1 1l-8.5 8.5c-2.7 2.7-3.1 7-1 10.1c3.3 5 3.6 11.3 .7 16.5c-3 5.6-5.5 11.5-7.3 17.7c-1.7 5.7-6.4 10-12.2 11.2c-3.6 .7-6.4 4-6.4 7.8v12c0 3.9 2.7 7.1 6.4 7.8c5.8 1.2 10.5 5.5 12.2 11.2c1.8 6.2 4.3 12.1 7.3 17.7c2.9 5.2 2.6 11.6-.7 16.5c-2.1 3.1-1.7 7.3 1 10.1l8.5 8.5c2.7 2.7 7 3.1 10.1 1c5-3.3 11.3-3.6 16.5-.7c5.6 3 11.5 5.5 17.7 7.3c5.7 1.7 10 6.4 11.2 12.2c.7 3.6 4 6.4 7.8 6.4h12c3.9 0 7.1-2.7 7.8-6.4c1.2-5.8 5.5-10.5 11.2-12.2c6.2-1.8 12.1-4.3 17.7-7.3c5.2-2.9 11.6-2.6 16.5 .7c3.1 2.1 7.3 1.7 10.1-1l8.5-8.5c2.7-2.7 3.1-7 1-10.1c-3.3-5-3.6-11.3-.7-16.5c3-5.6 5.5-11.5 7.3-17.7c1.7-5.7 6.4-10 12.2-11.2c3.6-.7 6.4-4 6.4-7.8V370c0-3.9-2.7-7.1-6.4-7.8c-5.8-1.2-10.5-5.5-12.2-11.2c-1.8-6.2-4.3-12.1-7.3-17.7c-2.9-5.2-2.6-11.6 .7-16.5c2.1-3.1 1.7-7.3-1-10.1l-8.5-8.5c-2.7-2.7-7-3.1-10.1-1c-5 3.3-11.3 3.6-16.5 .7c-5.6-3-11.5-5.5-17.7-7.3c-5.7-1.7-10-6.4-11.2-12.2c-.7-3.6-4-6.4-7.8-6.4H498zm-36-9.5c6.5-13.3 20.1-22.5 36-22.5h12c15.8 0 29.5 9.2 36 22.5c2.9 1.1 5.8 2.3 8.6 3.6c14-4.8 30.1-1.7 41.3 9.5l8.5 8.5c11.2 11.2 14.4 27.3 9.5 41.3c1.3 2.8 2.5 5.7 3.6 8.6c13.3 6.5 22.5 20.1 22.5 36v12c0 15.8-9.2 29.5-22.5 36c-1.1 2.9-2.3 5.8-3.6 8.6c4.8 14 1.7 30.1-9.5 41.3l-8.5 8.5c-11.2 11.2-27.3 14.4-41.3 9.5c-2.8 1.3-5.7 2.5-8.6 3.6c-6.5 13.3-20.1 22.5-36 22.5H498c-15.8 0-29.5-9.2-36-22.5c-2.9-1.1-5.8-2.3-8.6-3.6c-14 4.8-30.1 1.7-41.3-9.5l-8.5-8.5c-11.2-11.2-14.4-27.3-9.5-41.3c-1.3-2.8-2.5-5.7-3.6-8.6c-13.3-6.5-22.5-20.1-22.5-36V370c0-15.8 9.2-29.5 22.5-36c1.1-2.9 2.3-5.8 3.6-8.6c-4.8-14-1.7-30.1 9.5-41.3l8.5-8.5c11.2-11.2 27.3-14.4 41.3-9.5c2.8-1.3 5.7-2.5 8.6-3.6zm42 92a21.5 21.5 0 1 0 0 43 21.5 21.5 0 1 0 0-43zM557.5 376a53.5 53.5 0 1 1 -107 0 53.5 53.5 0 1 1 107 0zM330.2 166.7c-6-5.4-15-5.5-21.1-.3L250 217.1c-8 6.8-7.3 19.4 1.3 25.3l93.7 64.4c4.3 3 6.9 7.9 6.9 13.2v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V328.4l-86.8-59.7c-26-17.9-28-55.5-4-76l59.1-50.6c18.3-15.7 45.4-15.4 63.3 .8L406.1 192H480c8.8 0 16 7.2 16 16s-7.2 16-16 16H400c-4 0-7.8-1.5-10.7-4.1l-59.1-53.2zM169.3 166l69.9-63.1-3.7-3.5c-11.8-11-29.9-11.6-42.3-1.3l-49.6 41.2L169.3 166zm104.3-51l-94.4 85.2c-6.4 5.8-16.3 5.4-22.3-.8l-48.3-50.3c-6.4-6.7-5.8-17.5 1.3-23.4l62.8-52.2c24.8-20.6 61.1-19.5 84.7 2.6l16.4 15.4c6.8 6.4 6.7 17.3-.2 23.5z\"]\n};\nvar faBikingMountain = faPersonBikingMountain;\nvar faUtensilsSlash = {\n prefix: 'fal',\n iconName: 'utensils-slash',\n icon: [640, 512, [], \"e464\", \"M151.8 18.6c1.5-8.7-4.4-17-13.2-18.4s-17 4.4-18.4 13.2l-.5 3L148.4 39l3.4-20.3zM197 77.3l3-60.5C200.4 8 193.6 .5 184.8 0S168.5 6.4 168 15.2L166.1 53 197 77.3zm56.4 44.5L248 15.2C247.5 6.4 240-.4 231.2 0s-15.6 8-15.2 16.8L220 95.5l33.4 26.3zM129.3 187L96.1 160.8c-.1 1.5-.1 3-.1 4.5V176c0 44.2 35.8 80 80 80h16V496c0 8.8 7.2 16 16 16s16-7.2 16-16V261.8L176.2 224H176c-22.7 0-41.8-15.8-46.7-37zM320 174.5v-9.2c0-4.4-.4-8.8-1.1-13.2L295.8 13.4c-1.5-8.7-9.7-14.6-18.4-13.2s-14.6 9.7-13.2 18.4l21.5 128.7L320 174.5zM544 351.3V336 320 32c0-17.7-14.3-32-32-32C496 0 384 32 384 176v49l32 25.3V176c0-62.5 23.8-97.8 47-117.8c12-10.4 24.4-17.2 34.5-21.3c7.6-3.1 12.6-4.2 14.3-4.6l.2-.1V320h-7.6L544 351.3zM25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4z\"]\n};\nvar faPrintMagnifyingGlass = {\n prefix: 'fal',\n iconName: 'print-magnifying-glass',\n icon: [640, 512, [\"print-search\"], \"f81a\", \"M160 160V64c0-17.7 14.3-32 32-32H421.5c8.5 0 16.6 3.4 22.6 9.4l26.5 26.5c6 6 9.4 14.1 9.4 22.6V160h32V90.5c0-17-6.7-33.3-18.7-45.3L466.7 18.7C454.7 6.7 438.5 0 421.5 0H192c-35.3 0-64 28.7-64 64v96h32zm-32 64H320c9.1-12.1 19.9-22.9 32-32H128c-35.3 0-64 28.7-64 64V384c0 17.7 14.3 32 32 32h32v64c0 17.7 14.3 32 32 32H480c15.8 0 29-11.5 31.6-26.6L498.2 472c-5.9 1.9-12 3.6-18.2 4.8V480H448 160l0-128H291.2c-2.1-10.3-3.2-21-3.2-32H160c-17.7 0-32 14.3-32 32v32H96V256c0-17.7 14.3-32 32-32zm320 .1a96 96 0 1 1 0 192 96 96 0 1 1 0-192zm0 224c29.6 0 56.8-10 78.5-26.9l86.2 86.2c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-86.2-86.2C566 377 576 349.7 576 320.2c0-70.7-57.3-128-128-128s-128 57.3-128 128s57.3 128 128 128z\"]\n};\nvar faPrintSearch = faPrintMagnifyingGlass;\nvar faTurnRight = {\n prefix: 'fal',\n iconName: 'turn-right',\n icon: [512, 512, [], \"e639\", \"M352 304l0 57.3c0 3.7 3 6.7 6.7 6.7c1.9 0 3.7-.8 5-2.2L476.2 240 363.7 114.2c-1.3-1.4-3.1-2.2-5-2.2c-3.7 0-6.7 3-6.7 6.7l0 57.3c0 17.7-14.3 32-32 32l-176 0C82.1 208 32 258.1 32 320l0 112c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-112c0-26.5 21.5-48 48-48l176 0c17.7 0 32 14.3 32 32zm154.7-78c3.4 3.8 5.3 8.8 5.3 14s-1.9 10.1-5.3 14L387.5 387.1c-7.3 8.2-17.8 12.9-28.8 12.9c-21.4 0-38.7-17.3-38.7-38.7l0-25.3 0-32-32 0-144 0c-8.8 0-16 7.2-16 16l0 112c0 26.5-21.5 48-48 48l-32 0c-26.5 0-48-21.5-48-48L0 320c0-79.5 64.5-144 144-144l144 0 32 0 0-32 0-25.3C320 97.3 337.3 80 358.7 80c11 0 21.5 4.7 28.8 12.9L506.7 226z\"]\n};\nvar faFolderBookmark = {\n prefix: 'fal',\n iconName: 'folder-bookmark',\n icon: [512, 512, [], \"e186\", \"M32 96V416c0 17.7 14.3 32 32 32H448c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32H416V304c0 5.5-2.9 10.7-7.6 13.6s-10.6 3.2-15.6 .7L336 289.9l-56.8 28.4c-5 2.5-10.9 2.2-15.6-.7s-7.6-8.1-7.6-13.6V117c-3.3-2.3-6.5-4.8-9.4-7.7L210.7 73.4c-6-6-14.1-9.4-22.6-9.4H64C46.3 64 32 78.3 32 96zm352 32H291.9c-1.3 0-2.6 0-3.9-.1V278.1l40.8-20.4c4.5-2.3 9.8-2.3 14.3 0L384 278.1V128zm16-32h48c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H188.1c17 0 33.3 6.7 45.3 18.7l35.9 35.9c6 6 14.1 9.4 22.6 9.4H400z\"]\n};\nvar faArrowTurnLeftDown = {\n prefix: 'fal',\n iconName: 'arrow-turn-left-down',\n icon: [384, 512, [], \"e633\", \"M331.3 379.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L208 457.4 208 80c0-26.5 21.5-48 48-48l112 0c8.8 0 16-7.2 16-16s-7.2-16-16-16L256 0c-44.2 0-80 35.8-80 80l0 377.4L75.3 356.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l128 128c6.2 6.2 16.4 6.2 22.6 0l128-128z\"]\n};\nvar faOm = {\n prefix: 'fal',\n iconName: 'om',\n icon: [512, 512, [128329], \"f679\", \"M356.7 4.7c6.2-6.2 16.4-6.2 22.6 0l40 40c6.2 6.2 6.2 16.4 0 22.6l-40 40c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6l40-40zM350.6 56L368 73.4 385.4 56 368 38.6 350.6 56zM144 128c-14.4 0-27.7 4.8-38.4 12.8c-7.1 5.3-17.1 3.9-22.4-3.2s-3.9-17.1 3.2-22.4c16-12.1 36-19.2 57.6-19.2c53 0 96 43 96 96c0 24.6-9.2 47-24.4 64h.2 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2c17 0 33.2-6.7 45.2-18.7l19-19c16.8-16.8 39.6-26.2 63.3-26.2c49.4 0 89.5 40.1 89.5 89.5V392c0 48.6-39.4 88-88 88H408c-48.6 0-88-39.4-88-88v-8c0-8.8 7.2-16 16-16s16 7.2 16 16v8c0 30.9 25.1 56 56 56h16c30.9 0 56-25.1 56-56V281.5c0-31.8-25.8-57.5-57.5-57.5c-15.3 0-29.9 6.1-40.7 16.9l-19 19c-18 18-42.4 28.1-67.8 28.1h-.2-.2-.2-.2-.2-.2-.2H293h-.2-.2-.2H292h-.2-.2-.3H291h-.3-.3-.3H290h-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3H285h-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3H282h-.3-.3-.3H281h-.3-.3-.3-.3-.3-.3H279h-.3-.3-.3-.3-.3-.3H277h-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3H273h-.3-.3-.3-.3-.3-.3H271h-.3-.3-.3-.3-.3-.3-.3-.3-.3H268h-.3-.3-.3-.3-.3-.3-.3-.3-.3H265h-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3H261h-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3H257h-.3-.3H256h-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3H249h-.3-.3H248h-.3-.3H247h-.3-.3H246h-.3-.3H245h-.3-.3H244h-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.1c29.6 23.1 48.7 57.1 48.7 96c0 72.6-66.5 128-144 128S0 456.6 0 384c0-8.8 7.2-16 16-16s16 7.2 16 16c0 51.1 48.1 96 112 96s112-44.9 112-96s-48.1-96-112-96h-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3H129h-.3-.3H128c-8.8 0-16-7.2-16-16s7.2-16 16-16h.3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3c35.3 0 64-28.7 64-64s-28.7-64-64-64zM292.5 94.1c15.9 20 43.4 33.9 75.5 33.9s59.6-13.9 75.5-33.9c5.5-6.9 15.6-8.1 22.5-2.6s8.1 15.6 2.6 22.5C446.1 142.2 409.1 160 368 160s-78.1-17.8-100.5-46.1c-5.5-6.9-4.3-17 2.6-22.5s17-4.3 22.5 2.6z\"]\n};\nvar faPi = {\n prefix: 'fal',\n iconName: 'pi',\n icon: [448, 512, [], \"f67e\", \"M16 64C7.2 64 0 71.2 0 80s7.2 16 16 16H128V251c0 61.8-21 121.7-59.6 169.9l-.9 1.1c-5.5 6.9-4.4 17 2.5 22.5s17 4.4 22.5-2.5l.9-1.1C136.5 387 160 320 160 251V96H320V382.6c0 36.1 29.3 65.4 65.4 65.4c24.8 0 47.4-14 58.5-36.2l2.3-4.7c4-7.9 .7-17.5-7.2-21.5s-17.5-.7-21.5 7.2l-2.3 4.7c-5.7 11.3-17.2 18.5-29.9 18.5C367 416 352 401 352 382.6V96h80c8.8 0 16-7.2 16-16s-7.2-16-16-16H16z\"]\n};\nvar faFlaskRoundPotion = {\n prefix: 'fal',\n iconName: 'flask-round-potion',\n icon: [448, 512, [\"flask-potion\"], \"f6e1\", \"M160 32H288V157.7c0 18.2 10.1 33.7 24.4 42C364.8 230.3 400 287 400 351.9c-55.6-1.3-87.4-15.5-115.7-30.1c-2.9-1.5-5.7-3-8.6-4.5C248.3 302.9 220 288 176 288c-47 0-83.5 12.8-108.4 25.8c-6.6 3.5-12.4 6.9-17.4 10.2c8.5-53 40.6-98.1 85.4-124.2c14.3-8.3 24.4-23.9 24.4-42V32zM397.1 383.8c-6.3 34.7-22.8 65.8-46.3 90.2c-3.1 3.2-8.8 5.9-17 5.9H114.2c-8.2 0-13.9-2.7-17-5.9c-27.6-28.6-45.5-66.5-48.7-108.5c1-.6 1.9-1.4 2.8-2.2l0 0 0 0 .2-.2c.3-.2 .7-.6 1.3-1.2c1.2-1.1 3.2-2.7 5.8-4.7c5.2-4 13.2-9.5 23.8-15C103.5 331.2 135 320 176 320c35.8 0 57.7 11.4 85.1 25.8c2.8 1.4 5.6 2.9 8.5 4.4c30.6 15.8 66.7 31.9 127.5 33.6zM51.3 363.4l0 0 0 0c0 0 0 0 0 0zm0 0l0 0s0 0 0 0zM320 157.7V32h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H304 144 112c-8.8 0-16 7.2-16 16s7.2 16 16 16h16V157.7c0 6-3.3 11.4-8.5 14.4C57.6 208.2 16 275.2 16 352c0 56 22.1 106.9 58.2 144.3C84.5 507 99.3 512 114.2 512H333.8c15 0 29.7-5 40.1-15.7C409.9 458.9 432 408 432 352c0-76.8-41.6-143.8-103.5-179.9c-5.2-3-8.5-8.4-8.5-14.4z\"]\n};\nvar faFlaskPotion = faFlaskRoundPotion;\nvar faFaceShush = {\n prefix: 'fal',\n iconName: 'face-shush',\n icon: [512, 512, [], \"e38c\", \"M32 256C32 132.3 132.3 32 256 32s224 100.3 224 224c0 45.8-13.7 88.4-37.3 123.9c-4.9 7.4-2.9 17.3 4.5 22.2s17.3 2.9 22.2-4.5C496.3 357 512 308.3 512 256C512 114.6 397.4 0 256 0S0 114.6 0 256c0 83.8 40.2 158.1 102.4 204.8c7.1 5.3 17.1 3.9 22.4-3.2s3.9-17.1-3.2-22.4C67.2 394.3 32 329.3 32 256zM200.4 144a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm160 0a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM164.7 228.7c-6.2 6.2-6.2 16.4 0 22.6c10.3 10.3 24.7 20.8 43.3 28v28.4c-32.5 10.2-56 40.5-56 76.3v48c0 44.2 35.8 80 80 80h56 1.5c28.5 0 55.5-12.7 73.7-34.5l25.6-30.7c17-20.4 14.2-50.6-6.1-67.6c-11.6-9.7-26.4-12.9-40.1-10.2c-4.4-23.2-18.8-42.8-38.6-54.2V279.3c18.6-7.2 33.1-17.7 43.3-28c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0c-5.3 5.3-12.2 10.8-20.7 15.4V240c0-26.5-21.5-48-48-48s-48 21.5-48 48v4.1c-8.5-4.7-15.4-10.1-20.7-15.4c-6.2-6.2-16.4-6.2-22.6 0zM256 224c8.8 0 16 7.2 16 16v64H240V240c0-8.8 7.2-16 16-16zM217.2 378l76.7 69.7c7.9-1.1 15.1-5 20.2-11.2l25.6-30.7c5.7-6.8 15.7-7.7 22.5-2s7.7 15.7 2 22.5L338.7 457c-12.2 14.6-30.2 23-49.2 23H288 232c-26.5 0-48-21.5-48-48V384c0-26.5 21.5-48 48-48h32c26.5 0 48 21.5 48 48v8c0 8.8-7.2 16-16 16s-16-7.2-16-16v-8c0-8.8-7.2-16-16-16H232c-6.7 0-12.5 4.1-14.8 10z\"]\n};\nvar faWorm = {\n prefix: 'fal',\n iconName: 'worm',\n icon: [512, 512, [], \"e599\", \"M432 192V164.2l-27.5-3.9-31.1-4.4c-30.7-4.4-53.4-30.6-53.4-61.6C320 59.9 347.9 32 382.3 32h40.1C454.2 32 480 57.8 480 89.6V160v48V356c0 68.5-55.5 124-124 124s-124-55.5-124-124V320c0-44.2-35.8-80-80-80c-39.8 0-72 32.2-72 72V456c0 13.3-10.7 24-24 24s-24-10.7-24-24V312c0-66.3 53.7-120 120-120c70.7 0 128 57.3 128 128v36c0 42 34 76 76 76s76-34 76-76V192zM382.3 0C330.2 0 288 42.2 288 94.3c0 46.9 34.5 86.7 80.9 93.3L400 192V356c0 24.3-19.7 44-44 44s-44-19.7-44-44V320c0-88.4-71.6-160-160-160C68.1 160 0 228.1 0 312V456c0 30.9 25.1 56 56 56s56-25.1 56-56V312c0-22.1 17.9-40 40-40c26.5 0 48 21.5 48 48v36c0 86.2 69.8 156 156 156s156-69.8 156-156V208 160 89.6C512 40.1 471.9 0 422.4 0H382.3zM408 112a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faHouseCircleXmark = {\n prefix: 'fal',\n iconName: 'house-circle-xmark',\n icon: [640, 512, [], \"e50b\", \"M277.4 4c6-5.3 15.1-5.3 21.2 0L512.5 192.8c-5.4-.5-10.9-.8-16.5-.8c-10.2 0-20.2 .9-29.9 2.5L288 37.3 96 206.7V432c0 26.5 21.5 48 48 48h64V320c0-17.7 14.3-32 32-32h96c1 0 2.1 .1 3.1 .1c-5.1 10.1-9.3 20.7-12.5 31.9H240V480h16 80 24.2c10 12.1 21.7 22.9 34.6 32H144c-44.2 0-80-35.8-80-80V235L26.6 268C20 273.8 9.8 273.2 4 266.6S-1.2 249.8 5.4 244L277.4 4zM608 368a112 112 0 1 0 -224 0 112 112 0 1 0 224 0zm-256 0a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm166.6 0l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L496 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L473.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L496 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L518.6 368z\"]\n};\nvar faPlug = {\n prefix: 'fal',\n iconName: 'plug',\n icon: [384, 512, [128268], \"f1e6\", \"M128 16c0-8.8-7.2-16-16-16s-16 7.2-16 16v96h32V16zm160 0c0-8.8-7.2-16-16-16s-16 7.2-16 16v96h32V16zM16 144c-8.8 0-16 7.2-16 16s7.2 16 16 16H32v64c0 83 63.1 151.2 144 159.2V496c0 8.8 7.2 16 16 16s16-7.2 16-16V399.2c80.9-8 144-76.2 144-159.2V176h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H352 320 64 32 16zM192 368c-70.7 0-128-57.3-128-128V176H320v64c0 70.7-57.3 128-128 128z\"]\n};\nvar faCalendarCircleExclamation = {\n prefix: 'fal',\n iconName: 'calendar-circle-exclamation',\n icon: [576, 512, [], \"e46e\", \"M128 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V64H64C28.7 64 0 92.7 0 128v32 32V448c0 35.3 28.7 64 64 64H330.8c-12.9-9.1-24.5-19.9-34.6-32H64c-17.7 0-32-14.3-32-32V192H352h64 16 16V160 128c0-35.3-28.7-64-64-64H352V16c0-8.8-7.2-16-16-16s-16 7.2-16 16V64H128V16zM64 96H384c17.7 0 32 14.3 32 32v32H32V128c0-17.7 14.3-32 32-32zM320 368a112 112 0 1 1 224 0 112 112 0 1 1 -224 0zm256 0a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zM432 448a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-160c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V304c0-8.8-7.2-16-16-16z\"]\n};\nvar faSquareI = {\n prefix: 'fal',\n iconName: 'square-i',\n icon: [448, 512, [], \"e272\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm144 32h80 80c8.8 0 16 7.2 16 16s-7.2 16-16 16H240V352h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16s7.2-16 16-16h64V160H144c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faChevronUp = {\n prefix: 'fal',\n iconName: 'chevron-up',\n icon: [512, 512, [], \"f077\", \"M244.7 116.7c6.2-6.2 16.4-6.2 22.6 0l192 192c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L256 150.6 75.3 331.3c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l192-192z\"]\n};\nvar faFaceSaluting = {\n prefix: 'fal',\n iconName: 'face-saluting',\n icon: [640, 512, [129761], \"e484\", \"M368.8 32.6c-10.1-.8-20.1-.8-30-.3c-8.8 .5-16.4-6.2-16.9-15.1s6.2-16.4 15-16.9c11.2-.6 22.7-.6 34.2 .3c141 10.6 246.7 133.4 236.1 274.4s-133.4 246.7-274.4 236.1C221.7 503 132.5 424.8 104.9 323c-2.3-8.5 2.7-17.3 11.3-19.6s17.3 2.7 19.6 11.3C159.9 403.7 238 472.1 335.3 479.4c123.4 9.3 230.9-83.3 240.1-206.6s-83.3-230.9-206.6-240.1zM235 345.2c5.2-7.2 15.2-8.8 22.3-3.6c17.5 12.6 48.9 27 94.6 27s77.2-14.4 94.6-27c7.2-5.2 17.2-3.5 22.3 3.6s3.5 17.2-3.6 22.3c-22.7 16.4-60.7 33-113.4 33s-90.6-16.6-113.4-33c-7.2-5.2-8.8-15.2-3.6-22.3zm37.3-160.6a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm136 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM257.5 89.4l-38 23.9c5.2 3.6 9.8 8.3 13.4 14.1c14 22.5 7.2 52.2-15.2 66.3l-64 40.1 0 0-.1 .1-29 18.2C80.9 279.4 23.2 259.8 5.2 211.5c-13.6-36.4 .2-77.3 33.1-97.9L206.7 7.8c22.4-14.1 52-7.2 66 15.3s7.2 52.2-15.2 66.3zm-17-27.3c7.5-4.7 9.8-14.6 5.1-22s-14.6-9.8-22-5.1L54.7 140.4c-20 12.5-28.4 37.3-20.1 59.4c11 29.3 46 41.2 72.6 24.6l93.3-58.3c7.5-4.7 9.8-14.6 5.1-22s-14.6-9.8-22-5.1L128 173.7V132.4L240.5 62.1z\"]\n};\nvar faGaugeSimpleLow = {\n prefix: 'fal',\n iconName: 'gauge-simple-low',\n icon: [512, 512, [\"tachometer-slow\"], \"f62c\", \"M256 480a224 224 0 1 0 0-448 224 224 0 1 0 0 448zM256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zm0 384a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0 32c-35.3 0-64-28.7-64-64c0-18.6 7.9-35.3 20.5-47L129.9 151.6c-4.2-7.8-1.3-17.5 6.5-21.7s17.5-1.3 21.7 6.5l82.6 153.4c4.9-1.2 10-1.8 15.3-1.8c35.3 0 64 28.7 64 64s-28.7 64-64 64z\"]\n};\nvar faTachometerSlow = faGaugeSimpleLow;\nvar faFacePersevering = {\n prefix: 'fal',\n iconName: 'face-persevering',\n icon: [512, 512, [], \"e385\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM316.1 410.7c-11.7-13-31.6-26.7-60.1-26.7s-48.4 13.7-60.1 26.7c-5.9 6.6-16 7.1-22.6 1.2s-7.1-16-1.2-22.6C188.2 371.4 216.3 352 256 352s67.8 19.4 83.9 37.3c5.9 6.6 5.4 16.7-1.2 22.6s-16.7 5.4-22.6-1.2zM129.3 232.8c4-7.9 13.6-11.1 21.5-7.2l64 32c5.4 2.7 8.8 8.3 8.8 14.3s-3.4 11.6-8.8 14.3l-64 32c-7.9 4-17.5 .7-21.5-7.2s-.7-17.5 7.2-21.5L171.9 272l-35.4-17.7c-7.9-4-11.1-13.6-7.2-21.5zm246.2 21.5L340.2 272l35.4 17.7c7.9 4 11.1 13.6 7.2 21.5s-13.6 11.1-21.5 7.2l-64-32c-5.4-2.7-8.8-8.3-8.8-14.3s3.4-11.6 8.8-14.3l64-32c7.9-4 17.5-.7 21.5 7.2s.7 17.5-7.2 21.5zM211.3 100.7c6.2 6.2 6.2 16.4 0 22.6l-7.4 7.4c-23.6 23.6-53.9 39.2-86.8 44.7l-2.5 .4c-8.7 1.5-17-4.4-18.4-13.2s4.4-17 13.2-18.4l2.5-.4c26.3-4.4 50.6-16.9 69.5-35.7l7.4-7.4c6.2-6.2 16.4-6.2 22.6 0zm89.4 22.6c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l7.4 7.4c18.9 18.9 43.2 31.4 69.5 35.7l2.5 .4c8.7 1.5 14.6 9.7 13.2 18.4s-9.7 14.6-18.4 13.2l-2.5-.4c-32.9-5.5-63.3-21.1-86.8-44.7l-7.4-7.4z\"]\n};\nvar faCircleCamera = {\n prefix: 'fal',\n iconName: 'circle-camera',\n icon: [512, 512, [\"camera-circle\"], \"e103\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM199.2 142.5L191.7 160H184c-30.9 0-56 25.1-56 56v80c0 30.9 25.1 56 56 56H328c30.9 0 56-25.1 56-56V216c0-30.9-25.1-56-56-56h-7.7l-7.5-17.5c-3.8-8.8-12.5-14.5-22.1-14.5H221.3c-9.6 0-18.3 5.7-22.1 14.5zM226.6 160h58.9l9.6 22.3c2.5 5.9 8.3 9.7 14.7 9.7H328c13.3 0 24 10.7 24 24v80c0 13.3-10.7 24-24 24H184c-13.3 0-24-10.7-24-24V216c0-13.3 10.7-24 24-24h18.3c6.4 0 12.2-3.8 14.7-9.7l9.6-22.3zM256 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faCameraCircle = faCircleCamera;\nvar faHandSpock = {\n prefix: 'fal',\n iconName: 'hand-spock',\n icon: [576, 512, [128406], \"f259\", \"M217.4 1.9c29.9-8.1 60.6 9.6 68.7 39.4l41.3 152.7L353.2 68.7c6.2-30.3 35.8-49.8 66.1-43.6s49.8 35.8 43.6 66.1l-2.5 12c12.3-7 27.2-9.3 41.9-5.4c29.9 7.9 47.8 38.5 39.9 68.4L481 398.6c-17.3 65.8-76.2 112-144 113.4c-.3 0-.7 0-1 0h-2.1H318.6c-58.8 0-115.8-20.9-160.6-59L51.7 362.7c-23.6-20-26.4-55.4-6.4-78.9l12 10.2-12-10.2c20-23.6 55.4-26.4 78.9-6.4l31.5 26.8-49-150.8c-9.6-29.4 6.5-61 35.9-70.6c13.3-4.3 27-3.4 39 1.6l-3.7-13.7c-8.1-29.9 9.6-60.6 39.4-68.7zM335.3 480c.2 0 .3 0 .5 0c53.8-.8 100.6-37.4 114.3-89.6l61.1-232.3c3.4-12.8-4.3-25.9-17.1-29.3s-25.9 4.3-29.3 17.1L430.5 276.1c-1.8 7-8.2 11.9-15.5 11.9h-5.8c-4.8 0-9.4-2.2-12.4-5.9s-4.2-8.6-3.3-13.3L431.5 84.8c2.7-13-5.7-25.7-18.7-28.3s-25.7 5.7-28.3 18.7L345.1 266.4c-1.5 7.3-7.8 12.5-15.2 12.8s-14-4.7-15.9-11.8L255.2 49.7c-3.5-12.8-16.6-20.4-29.4-16.9s-20.4 16.6-16.9 29.4l55.6 205.6c1.3 4.8 .3 9.9-2.7 13.9s-7.7 6.3-12.7 6.3h-2.7c-6.9 0-13.1-4.5-15.2-11.1L182.8 128.6c-4.1-12.6-17.6-19.5-30.2-15.4s-19.5 17.6-15.4 30.2l66.5 204.5c2.2 6.8-.4 14.3-6.3 18.2s-13.8 3.5-19.3-1.1l-74.5-63.3c-10.1-8.6-25.2-7.4-33.8 2.7s-7.4 25.2 2.7 33.8l106.2 90.3c39.1 33.2 88.6 51.4 139.9 51.4h15.3 1.4z\"]\n};\nvar faSpiderWeb = {\n prefix: 'fal',\n iconName: 'spider-web',\n icon: [576, 512, [128376], \"f719\", \"M141.6 18.4c2.7-7.3 10.3-11.5 17.9-10.1l73.6 13.8c37 6.9 75 6.9 112 0L418.8 8.3c7.6-1.4 15.2 2.8 17.9 10.1l30.7 81.8c12 32 29.3 61.7 51.1 87.9l48.1 57.7c4.9 5.9 4.9 14.6 0 20.5L518.5 324c-21.8 26.2-39.1 55.9-51.1 87.9l-30.7 81.8c-2.7 7.3-10.3 11.5-17.9 10.1l-73.6-13.8c-37-6.9-75-6.9-112 0l-73.6 13.8c-7.6 1.4-15.2-2.8-17.9-10.1l-30.7-81.8c-12-32-29.3-61.7-51.1-87.9L11.7 266.2c-4.9-5.9-4.9-14.6 0-20.5L59.8 188c21.8-26.2 39.1-55.9 51.1-87.9l30.7-81.8zm17.8 43.7l-18.5 49.2c-13.2 35.3-32.3 68.1-56.5 97.1L58.2 240h70.5l2.6-2.9c25.4-29.1 45.1-62.7 57.9-99.1l5.2-14.7-35-61.2zM187 46l34.2 59.9c44.1 12 90.5 12 134.6 .2L390 46.2l-39 7.3c-40.9 7.7-82.9 7.7-123.8 0L187 46zM418.5 60.9l-35.2 61.7 5.4 15.4c12.8 36.4 32.5 70 57.9 99.1l2.6 2.9h71l-26.2-31.5c-24.1-29-43.2-61.8-56.5-97.1L418.5 60.9zM520.1 272H449l-1.1 1.3c-26.2 30-46.3 64.8-59.1 102.5l-5 14.6 34.7 60.7 18.9-50.5c13.2-35.3 32.3-68.1 56.5-97.1L520.1 272zM390 465.8l-32.2-56.4c-44.2-14.3-91.6-15.5-136.5-3.4L187 466l40.2-7.5c40.9-7.7 82.9-7.7 123.8 0l39 7.3zM159.4 449.9l35-61.2-5.2-14.8c-12.8-36.4-32.5-70-57.9-99.1l-2.4-2.8H58.2l26.2 31.5c24.1 29 43.2 61.8 56.5 97.1l18.5 49.3zM170.2 272c18.6 24.5 33.7 51.5 45 80.1L261 272H170.2zm72.3 96.8c30.9-4.7 62.4-4.1 93.1 1.8l-47.1-82.4-46 80.6zm120.2-15.3c11.1-29.2 26.3-56.6 45-81.6H316.1l46.6 81.6zM407.7 240c-18.8-24.7-34-51.9-45.3-80.9L316.1 240h91.6zm-73.1-96.8c-30.5 4.9-61.6 4.8-92.1-.1l46.1 80.6 46-80.5zM215.2 159.8c-11.3 28.7-26.4 55.7-45.1 80.2H261l-45.8-80.2z\"]\n};\nvar faCircleMicrophone = {\n prefix: 'fal',\n iconName: 'circle-microphone',\n icon: [512, 512, [\"microphone-circle\"], \"e116\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm192-96c0-35.3 28.7-64 64-64s64 28.7 64 64v96c0 35.3-28.7 64-64 64s-64-28.7-64-64V160zm64-32c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32s32-14.3 32-32V160c0-17.7-14.3-32-32-32zM144 224c8.8 0 16 7.2 16 16v16c0 53 43 96 96 96s96-43 96-96V240c0-8.8 7.2-16 16-16s16 7.2 16 16v16c0 65.3-48.9 119.1-112 127v17c0 8.8-7.2 16-16 16s-16-7.2-16-16V383c-63.1-7.9-112-61.7-112-127V240c0-8.8 7.2-16 16-16z\"]\n};\nvar faMicrophoneCircle = faCircleMicrophone;\nvar faBookArrowUp = {\n prefix: 'fal',\n iconName: 'book-arrow-up',\n icon: [448, 512, [], \"e0ba\", \"M64 0C28.7 0 0 28.7 0 64L0 448l0 0c0 35.3 28.7 64 64 64H176V480H64c-17.7 0-32-14.3-32-32s14.3-32 32-32H176V384H64c-11.7 0-22.6 3.1-32 8.6L32 64c0-17.7 14.3-32 32-32H400c8.8 0 16 7.2 16 16V368c0 8.8-7.2 16-16 16H304v32h80v64H304v32H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H416V413.3c18.6-6.6 32-24.4 32-45.3V48c0-26.5-21.5-48-48-48H64zm68.7 228.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L224 182.6 224 496c0 8.8 7.2 16 16 16s16-7.2 16-16l0-313.4 68.7 68.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-96-96c-6.2-6.2-16.4-6.2-22.6 0l-96 96z\"]\n};\nvar faPopsicle = {\n prefix: 'fal',\n iconName: 'popsicle',\n icon: [320, 512, [], \"e43e\", \"M288 160c0-70.7-57.3-128-128-128S32 89.3 32 160V336c0 8.8 7.2 16 16 16h96V192c0-8.8 7.2-16 16-16s16 7.2 16 16V352h96c8.8 0 16-7.2 16-16V160zM144 384H48c-26.5 0-48-21.5-48-48V160C0 71.6 71.6 0 160 0s160 71.6 160 160V336c0 26.5-21.5 48-48 48H176V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V384z\"]\n};\nvar faCommand = {\n prefix: 'fal',\n iconName: 'command',\n icon: [512, 512, [], \"e142\", \"M0 88C0 39.4 39.4 0 88 0s88 39.4 88 88v56H336V88c0-48.6 39.4-88 88-88s88 39.4 88 88s-39.4 88-88 88H368V336h56c48.6 0 88 39.4 88 88s-39.4 88-88 88s-88-39.4-88-88V368H176v56c0 48.6-39.4 88-88 88s-88-39.4-88-88s39.4-88 88-88h56V176H88C39.4 176 0 136.6 0 88zm144 56V88c0-30.9-25.1-56-56-56S32 57.1 32 88s25.1 56 56 56h56zm32 192H336V176H176V336zm-32 32H88c-30.9 0-56 25.1-56 56s25.1 56 56 56s56-25.1 56-56V368zm224 0v56c0 30.9 25.1 56 56 56s56-25.1 56-56s-25.1-56-56-56H368zm0-224h56c30.9 0 56-25.1 56-56s-25.1-56-56-56s-56 25.1-56 56v56z\"]\n};\nvar faBlinds = {\n prefix: 'fal',\n iconName: 'blinds',\n icon: [512, 512, [], \"f8fb\", \"M0 32C0 14.3 14.3 0 32 0H480c17.7 0 32 14.3 32 32V64c0 17.7-14.3 32-32 32H160V258.7c18.6 6.6 32 24.4 32 45.3c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3V96H32C14.3 96 0 81.7 0 64V32zm480 0H32V64H480V32zM96 192v32H20.9C9.3 224 0 214.7 0 203.1c0-2.1 .3-4.1 .9-6.1l21.2-69H55.6L35.9 192H96zm96 32V192H476.1l-19.7-64h33.5l21.2 69c.6 2 .9 4.1 .9 6.1c0 11.5-9.3 20.9-20.9 20.9H192zM65.6 288c-1 5.2-1.6 10.5-1.6 16s.6 10.8 1.6 16H20.9C9.3 320 0 310.7 0 299.1c0-2.1 .3-4.1 .9-6.1l11.4-37H45.8l-9.8 32H65.6zm156.8 32c1-5.2 1.6-10.5 1.6-16s-.6-10.8-1.6-16H476.1l-9.8-32h33.5l11.4 37c.6 2 .9 4.1 .9 6.1c0 11.5-9.3 20.9-20.9 20.9H222.4zM144 384H476.1l-9.8-32h33.5l11.4 37c.6 2 .9 4.1 .9 6.1c0 11.5-9.3 20.9-20.9 20.9H20.9C9.3 416 0 406.7 0 395.1c0-2.1 .3-4.1 .9-6.1l11.4-37H45.8l-9.8 32H144zm322.2 64h33.5l11.4 37c.6 2 .9 4.1 .9 6.1c0 11.5-9.3 20.9-20.9 20.9H20.9C9.3 512 0 502.7 0 491.1c0-2.1 .3-4.1 .9-6.1l11.4-37H45.8l-9.8 32H476.1l-9.8-32zM144 320a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faStopwatch = {\n prefix: 'fal',\n iconName: 'stopwatch',\n icon: [448, 512, [9201], \"f2f2\", \"M128 16c0-8.8 7.2-16 16-16H304c8.8 0 16 7.2 16 16s-7.2 16-16 16H240V96.6c49.4 3.8 94 24.8 127.7 57l37-37c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-38.2 38.2C416 212.6 432 256.4 432 304c0 114.9-93.1 208-208 208S16 418.9 16 304c0-109.5 84.6-199.2 192-207.4V32H144c-8.8 0-16-7.2-16-16zM48 304a176 176 0 1 0 352 0A176 176 0 1 0 48 304zm192-96V320c0 8.8-7.2 16-16 16s-16-7.2-16-16V208c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faSaxophone = {\n prefix: 'fal',\n iconName: 'saxophone',\n icon: [640, 512, [127927], \"f8dc\", \"M521.9 32c-20.8 0-40.8 8.1-55.7 22.6L221.1 292.3c-2.3 2.3-5.4 3.5-8.7 3.5c-6.9 0-12.5-5.6-12.5-12.5v-4.5c0-2.3 .5-4.7 1.4-6.8l49-112.1H272c8.8 0 16-7.2 16-16s-7.2-16-16-16H240 48 16c-8.8 0-16 7.2-16 16s7.2 16 16 16H28.3L3.6 277.2C1.2 288.6 0 300.2 0 311.8v5.6C0 407.2 72.8 480 162.6 480c48.8 0 94.9-21.9 125.8-59.6L522.8 133.9c3-3.7 7.6-5.9 12.4-5.9h77.5c15.1 0 27.3-12.2 27.3-27.3c0-7.2-2.9-14.2-8-19.3L606.1 55.4c-15-15-35.4-23.4-56.6-23.4H521.9zM61 160H215.5l-43.4 99.3c-2.7 6.2-4.1 12.9-4.1 19.6v4.5c0 24.6 19.9 44.5 44.5 44.5c11.6 0 22.7-4.5 31-12.5L488.5 77.5c9-8.7 20.9-13.5 33.4-13.5h27.6c12.7 0 24.9 5.1 33.9 14.1L601.4 96H535.2c-14.4 0-28 6.5-37.2 17.6L263.6 400.1c-24.8 30.3-61.9 47.9-101 47.9C90.5 448 32 389.5 32 317.4v-5.6c0-9.4 1-18.8 2.9-28L61 160zm43 176a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm40-104a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faSquare2 = {\n prefix: 'fal',\n iconName: 'square-2',\n icon: [448, 512, [], \"e257\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm185 78.4L171 187.7c-6.4 6.1-16.6 5.7-22.6-.7s-5.7-16.6 .7-22.6l14.1-13.2c15.8-14.9 36.8-23 58.5-22.7C267.3 129 304 166.3 304 212c0 22.2-8.8 43.4-24.5 59.1L198.6 352H304c8.8 0 16 7.2 16 16s-7.2 16-16 16H160c-6.5 0-12.3-3.9-14.8-9.9s-1.1-12.9 3.5-17.4L256.9 248.5c9.7-9.7 15.1-22.8 15.1-36.5c0-28.2-22.7-51.2-50.9-51.6c-13.4-.2-26.3 4.8-36.1 14z\"]\n};\nvar faFieldHockeyStickBall = {\n prefix: 'fal',\n iconName: 'field-hockey-stick-ball',\n icon: [512, 512, [127953, \"field-hockey\"], \"f44c\", \"M500.3 100.9C520.7 72 513.7 32 484.9 11.7S416-1.8 395.7 27.1L147.6 379.4c-2 2.8-5.1 4.4-8.5 4.4c-5.3 0-10.5-4.7-10.5-11c0-1.6 .4-3.1 .9-4.4l17-38.5c14.3-32.3-.3-70.1-32.7-84.4s-70.1 .3-84.4 32.7l-17 38.5C4.8 334 .7 352.9 .6 371.8C0 448.3 61.9 512 139.4 511.8c44.9-.1 86.9-22 112.8-58.7L500.3 100.9zM474.2 82.4l-54 76.7-51.2-38.4 52.9-75.1C432 31.1 452 27.7 466.4 37.8S484.3 68 474.2 82.4zM401.7 185.3L226.1 434.6c-19.9 28.2-52.2 45-86.7 45.1C79.9 480 32.1 431 32.6 372c.1-14.6 3.2-29.1 9.1-42.5l17-38.5c7.1-16.2 26-23.5 42.2-16.3s23.5 26 16.3 42.2l-17 38.5c-2.4 5.3-3.6 11.2-3.7 17.1c-.2 23.9 19.2 43.3 42.6 43.2c13.8 0 26.7-6.8 34.6-18L350.5 146.9l51.2 38.4zM432 384a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm0 128a80 80 0 1 0 0-160 80 80 0 1 0 0 160z\"]\n};\nvar faFieldHockey = faFieldHockeyStickBall;\nvar faArrowUpSquareTriangle = {\n prefix: 'fal',\n iconName: 'arrow-up-square-triangle',\n icon: [576, 512, [\"sort-shapes-up-alt\"], \"f88b\", \"M171.3 36.7c-6.2-6.2-16.4-6.2-22.6 0l-96 96c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L144 86.6V464c0 8.8 7.2 16 16 16s16-7.2 16-16V86.6l68.7 68.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-96-96zM352 176V80c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16zm64 147.5L490.7 448H341.3L416 323.5zM320 176c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H368c-26.5 0-48 21.5-48 48v96zM307.6 442c-2.3 3.9-3.6 8.4-3.6 12.9c0 13.8 11.2 25.1 25.1 25.1H502.9c13.8 0 25.1-11.2 25.1-25.1c0-4.5-1.2-9-3.6-12.9L440.2 301.7c-5.1-8.5-14.3-13.7-24.2-13.7s-19.1 5.2-24.2 13.7L307.6 442z\"]\n};\nvar faSortShapesUpAlt = faArrowUpSquareTriangle;\nvar faFaceScream = {\n prefix: 'fal',\n iconName: 'face-scream',\n icon: [640, 512, [], \"e38b\", \"M543.2 274.5c.5-6.1 .8-12.3 .8-18.5C544 132.3 443.7 32 320 32S96 132.3 96 256c0 6.2 .3 12.4 .8 18.5c-10.5-2.5-21.4-3.2-32.2-1.9c-.4-5.5-.5-11-.5-16.6C64 114.6 178.6 0 320 0S576 114.6 576 256c0 5.6-.2 11.1-.5 16.6c-10.8-1.3-21.7-.6-32.2 1.9zM407.6 462.2c-2.7 12.2-4.9 24.5-6.4 36.6C375.7 507.4 348.4 512 320 512c-28.4 0-55.6-4.6-81.1-13.1c-1.5-12.2-3.6-24.4-6.4-36.6C259.4 473.7 288.9 480 320 480c31.1 0 60.7-6.3 87.6-17.8zM224.3 164.4c-13.1 5.8-26.4 17.1-36.1 33c-9.7 15.9-13.3 32.2-12.1 45.3c1.2 13 6.9 21.7 14.7 26c8.1 4.4 19.5 4.7 32.7-1.1c13.1-5.8 26.4-17.1 36.1-33c9.7-15.9 13.3-32.2 12.1-45.3c-1.2-13-6.9-21.7-14.7-26c-8.1-4.4-19.5-4.7-32.7 1.1zm-12.9-29.3c19.4-8.6 41.8-10.4 61 .1c19.4 10.6 29.3 30.3 31.2 51.2c1.9 20.8-3.8 43.9-16.6 64.9c-12.8 21-30.9 37-50.5 45.6c-19.4 8.6-41.8 10.4-61-.1c-19.4-10.6-29.3-30.3-31.2-51.2c-1.9-20.8 3.8-43.9 16.6-64.9c12.8-21 30.9-37 50.5-45.6zm204.2 29.3c-13.2-5.8-24.6-5.5-32.7-1.1c-7.9 4.3-13.5 13-14.7 26c-1.2 13.1 2.4 29.4 12.1 45.3c9.7 15.9 23 27.2 36.1 33c13.2 5.8 24.6 5.5 32.7 1.1c7.9-4.3 13.5-13 14.7-26c1.2-13.1-2.4-29.4-12.1-45.3c-9.7-15.9-23-27.2-36.1-33zm12.9-29.3c19.5 8.6 37.7 24.6 50.5 45.6c12.8 21 18.5 44.1 16.6 64.9c-1.9 20.9-11.8 40.6-31.2 51.2c-19.2 10.5-41.5 8.7-61 .1c-19.5-8.6-37.7-24.6-50.5-45.6c-12.8-21-18.5-44.1-16.6-64.9c1.9-20.9 11.8-40.6 31.2-51.2c19.2-10.5 41.5-8.7 61-.1zM352 352c0-17.7-14.3-32-32-32s-32 14.3-32 32v32c0 17.7 14.3 32 32 32s32-14.3 32-32V352zm-96 0c0-35.3 28.7-64 64-64s64 28.7 64 64v32c0 35.3-28.7 64-64 64s-64-28.7-64-64V352zM113.6 317.8l0 0c29.4 24.5 52.9 60.4 69 97.8c13.7 31.8 22.5 65.7 24.8 96.4H175.3c-2.3-26-9.9-55.5-22.1-83.8c-14.8-34.3-35.6-65.4-60-85.8c-9.1-7.5-22.5-8.7-32.9-2l0 0c-8 5.2-12.2 13.7-12.2 22.4c0 5 1.4 10.1 4.4 14.6l0 0C77.7 415.6 95 463.4 97.9 512H65.8c-2.8-41.8-18-83.5-40-116.9c-6.6-9.9-9.8-21.2-9.8-32.3c0-19.2 9.5-38 26.9-49.2l0 0c22.5-14.5 51.3-12 70.8 4.2zm500.6 77.3c-22.1 33.4-37.2 75.1-40 116.9H542.2c2.9-48.6 20.2-96.4 45.4-134.6l0 0c2.8-4.2 4.2-8.8 4.4-13.4c.4-9.1-3.9-18.2-12.2-23.6l0 0c-10.4-6.7-23.9-5.6-32.9 2c-24.4 20.4-45.3 51.5-60.1 85.8C474.7 456.5 467 486 464.7 512H432.6c2.3-30.7 11.1-64.6 24.8-96.4c16.1-37.4 39.6-73.2 69-97.8l0 0c19.5-16.2 48.3-18.8 70.8-4.2l0 0c18.2 11.8 27.7 31.8 26.8 52c-.5 10.2-3.7 20.5-9.7 29.6z\"]\n};\nvar faSquareM = {\n prefix: 'fal',\n iconName: 'square-m',\n icon: [448, 512, [], \"e276\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm125.1 38.8L224 276.1l98.9-141.3c4-5.7 11.3-8.2 17.9-6.1s11.2 8.3 11.2 15.3V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V194.8L237.1 313.2c-3 4.3-7.9 6.8-13.1 6.8s-10.1-2.5-13.1-6.8L128 194.8V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-7 4.5-13.2 11.2-15.3s13.9 .4 17.9 6.1z\"]\n};\nvar faCameraWeb = {\n prefix: 'fal',\n iconName: 'camera-web',\n icon: [448, 512, [\"webcam\"], \"f832\", \"M224 32a192 192 0 1 1 0 384 192 192 0 1 1 0-384zM357.5 403.9C412.4 363 448 297.7 448 224C448 100.3 347.7 0 224 0S0 100.3 0 224c0 73.7 35.6 139 90.5 179.9L37 473.4c-5.6 7.2-6.5 17-2.5 25.2s12.4 13.4 21.5 13.4H392c9.1 0 17.5-5.2 21.5-13.4s3.1-18-2.5-25.2l-53.5-69.5zm-27.1 17.3L375.8 480H72.2l45.3-58.9C149.2 438.3 185.5 448 224 448s74.8-9.7 106.5-26.9zM224 112a112 112 0 1 1 0 224 112 112 0 1 1 0-224zm0 256a144 144 0 1 0 0-288 144 144 0 1 0 0 288z\"]\n};\nvar faWebcam = faCameraWeb;\nvar faCommentArrowDown = {\n prefix: 'fal',\n iconName: 'comment-arrow-down',\n icon: [512, 512, [], \"e143\", \"M32 240c0-91.4 93.8-176 224-176s224 84.6 224 176s-93.8 176-224 176c-32 0-63-5.9-93.5-16.2c-9.9-3.3-20.7-1.8-29.2 4.2c-15.4 10.7-31.4 20-48.4 27.4L91.2 446l-6.4-14.7c-10.5 4.6-21.5 8.6-32.7 11.5c.5-.9 1.1-1.8 1.6-2.6C68 416.5 76.3 391 79.4 363.9c1-9.2-2.1-17.7-7.4-23.9c-24.5-29.4-40-62.9-40-100zM256 32C114.5 32 0 125.2 0 240c0 46.6 19.6 87.1 47.4 120.5c0 .1 .1 .1 .1 .2c-2.6 22.6-9.5 43.5-21.3 63.1c-6.5 10.8-13.5 20.8-21.7 29c-4.5 4.6-5.9 11.5-3.4 17.4s8.3 9.8 14.8 9.8c28.7 0 57.6-8.9 81.6-19.3c19.2-8.4 37.1-18.7 53.9-30.5c.2-.1 .5-.2 .7-.1C185.5 441.3 220 448 256 448c141.5 0 256-93.2 256-208S397.5 32 256 32zm16 112c0-8.8-7.2-16-16-16s-16 7.2-16 16V281.4l-52.7-52.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l80 80c6.2 6.2 16.4 6.2 22.6 0l80-80c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L272 281.4V144z\"]\n};\nvar faLightbulbCfl = {\n prefix: 'fal',\n iconName: 'lightbulb-cfl',\n icon: [320, 512, [], \"e5a6\", \"M176 57.7C176 22 142.5-4.1 107.9 4.5L41.5 21.1C17.1 27.2 0 49.2 0 74.3c0 16 6.8 30.1 17.3 40C6.6 124.4 0 138.7 0 154.3c0 16 6.8 30.1 17.3 40C6.6 204.4 0 218.7 0 234.3c0 35.7 33.5 61.8 68.1 53.2l63.7-15.9 .1 0 64-16 0 0 63.8-15.9c14.4-3.6 28.3 7.3 28.3 22.1c0 10.5-7.1 19.6-17.3 22.1l-82.6 20.7C181 306.3 176 312.7 176 320v32H144V309.5l-32 8V352H96c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32h48v16c0 8.8 7.2 16 16 16s16-7.2 16-16V480h48c17.7 0 32-14.3 32-32V384c0-17.7-14.3-32-32-32H208V332.5l70.5-17.6c24.4-6.1 41.5-28 41.5-53.2c0-16-6.8-30.1-17.3-40c10.8-10.1 17.3-24.4 17.3-40c0-16-6.8-30.1-17.3-40c10.8-10.1 17.3-24.4 17.3-40c0-35.7-33.5-61.8-68.1-53.2L175.1 67.7c.6-3.3 .9-6.6 .9-10zM96 384h95.9l.1 0 .1 0H224v64H96V384zM270.7 203.8L124.1 240.5 60.3 256.4C45.9 260 32 249.1 32 234.3c0-10.5 7.1-19.6 17.3-22.1l18.6-4.6 .2-.1 191.7-47.9c14.3-3.5 28.2 7.4 28.2 22.2c0 10.5-7.1 19.6-17.3 22.1zm-136.2-93L259.7 79.6C274.1 76 288 86.9 288 101.7c0 10.5-7.1 19.6-17.3 22.1l-18.6 4.6-.2 .1L60.2 176.5C45.8 179.9 32 169.1 32 154.3c0-10.5 7.1-19.6 17.3-22.1L68 127.5l.1 0 66.4-16.6 .1 0zm-7.8-31l0 0L60.3 96.4l0 0C45.9 100 32 89.1 32 74.3c0-10.5 7.1-19.6 17.3-22.1l66.4-16.6C130.1 32 144 42.9 144 57.7c0 10.4-7.1 19.6-17.2 22.1z\"]\n};\nvar faWindowFrameOpen = {\n prefix: 'fal',\n iconName: 'window-frame-open',\n icon: [512, 512, [], \"e050\", \"M272 32H416c17.7 0 32 14.3 32 32V256H272V32zM480 288V256 64c0-35.3-28.7-64-64-64H96C60.7 0 32 28.7 32 64V256v32H64 448h32zM240 256H64V64c0-17.7 14.3-32 32-32H240V256zM16 480c-8.8 0-16 7.2-16 16s7.2 16 16 16H48 464h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H480V320H448V480H64V320H32V480H16z\"]\n};\nvar faFaceKiss = {\n prefix: 'fal',\n iconName: 'face-kiss',\n icon: [512, 512, [128535, \"kiss\"], \"f596\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm276.7 40.5c-10.8-5.3-25.3-9.2-38.6-11c-7.4-1-12.6-7.9-11.6-15.4s7.9-12.6 15.4-11.6c15.2 2.1 32.7 6.6 46.8 13.6c7 3.4 13.9 7.8 19.2 13.4c5.4 5.6 9.8 13.2 9.8 22.5s-4.4 16.9-9.8 22.5c-5.3 5.5-12.2 9.9-19.2 13.4l-.2 .1 .2 .1c7 3.4 13.9 7.8 19.2 13.4c5.4 5.6 9.8 13.2 9.8 22.5s-4.4 16.9-9.8 22.5c-5.3 5.5-12.2 9.9-19.2 13.4c-14.1 6.9-31.6 11.4-46.8 13.6c-7.4 1-14.3-4.1-15.4-11.6s4.1-14.3 11.6-15.4c13.3-1.9 27.8-5.8 38.6-11c5.4-2.7 9.2-5.3 11.5-7.7c2.7-2.9 2.7-4.7 0-7.6c-2.3-2.4-6.1-5.1-11.5-7.7c-10.7-5.3-25.1-9.1-38.3-11c-6.7-.8-12-6.7-12-13.5c0-6.8 5.3-12.7 12-13.5c13.2-1.9 27.6-5.8 38.3-11c5.4-2.7 9.2-5.3 11.5-7.7c2.7-2.9 2.7-4.7 0-7.6c-2.3-2.4-6.1-5.1-11.5-7.7zM152.4 208a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm184-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faKiss = faFaceKiss;\nvar faBridgeCircleXmark = {\n prefix: 'fal',\n iconName: 'bridge-circle-xmark',\n icon: [640, 512, [], \"e4cb\", \"M48 32h80H256 384 512h80c8.8 0 16 7.2 16 16s-7.2 16-16 16H528v64h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H512 384 256 128 48c-8.8 0-16-7.2-16-16s7.2-16 16-16h64V64H48c-8.8 0-16-7.2-16-16s7.2-16 16-16zM496 64H400v64h96V64zM368 64H272v64h96V64zM240 64H144v64h96V64zM48 240H64c53 0 96 43 96 96v96c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V336c0-53 43-96 96-96c16.1 0 31.2 4 44.6 10.9c-7.2 8.1-13.7 16.9-19.3 26.2c-7.7-3.3-16.3-5.2-25.2-5.2c-35.3 0-64 28.7-64 64v96c0 26.5-21.5 48-48 48H176c-26.5 0-48-21.5-48-48V336c0-35.3-28.7-64-64-64H48c-8.8 0-16-7.2-16-16s7.2-16 16-16zM608 368a112 112 0 1 0 -224 0 112 112 0 1 0 224 0zm-256 0a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm203.3-36.7L518.6 368l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L496 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L473.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L496 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faPeriod = {\n prefix: 'fal',\n iconName: 'period',\n icon: [192, 512, [], \"2e\", \"M96 384a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 96a64 64 0 1 0 0-128 64 64 0 1 0 0 128z\"]\n};\nvar faFaceGrinTongue = {\n prefix: 'fal',\n iconName: 'face-grin-tongue',\n icon: [512, 512, [128539, \"grin-tongue\"], \"f589\", \"M32 256C32 132.3 132.3 32 256 32s224 100.3 224 224c0 79.8-41.7 149.8-104.5 189.5c-7.5 4.7-9.7 14.6-5 22.1s14.6 9.7 22.1 5C464.3 427.3 512 347.2 512 256C512 114.6 397.4 0 256 0S0 114.6 0 256c0 91.2 47.7 171.3 119.5 216.6c7.5 4.7 17.4 2.5 22.1-5s2.5-17.4-5-22.1C73.7 405.8 32 335.8 32 256zm144.4-24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm184-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM352 416V383.4c20.2-15.7 36.4-36.2 46.9-59.9c5.2-11.7-6.8-22.4-19.1-18.7c-37.3 11.1-79.3 17.4-123.8 17.4s-86.4-6.3-123.8-17.4c-12.3-3.7-24.2 7-19.1 18.7c10.4 23.6 26.6 44.1 46.8 59.8V416c0 53 43 96 96 96s96-43 96-96zm-32 0c0 35.3-28.7 64-64 64s-64-28.7-64-64V378.6c0-14.7 11.9-26.6 26.6-26.6h2c11.3 0 21.1 7.9 23.6 18.9c2.8 12.6 20.8 12.6 23.6 0c2.5-11.1 12.3-18.9 23.6-18.9h2c14.7 0 26.6 11.9 26.6 26.6V416z\"]\n};\nvar faGrinTongue = faFaceGrinTongue;\nvar faUpToDottedLine = {\n prefix: 'fal',\n iconName: 'up-to-dotted-line',\n icon: [448, 512, [], \"e457\", \"M222.2 160.8c.5-.5 1.1-.8 1.8-.8s1.4 .3 1.8 .8L350.2 292.7c1.2 1.2 1.8 2.9 1.8 4.6c0 3.7-3 6.7-6.7 6.7L288 304c-8.8 0-16 7.2-16 16l0 120c0 4.4-3.6 8-8 8l-80 0c-4.4 0-8-3.6-8-8l0-120c0-8.8-7.2-16-16-16l-57.3 0c-3.7 0-6.7-3-6.7-6.7c0-1.7 .7-3.3 1.8-4.6L222.2 160.8zM224 128c-9.5 0-18.6 3.9-25.1 10.8L74.5 270.8C67.8 278 64 287.5 64 297.3c0 21.4 17.3 38.7 38.7 38.7l41.3 0 0 104c0 22.1 17.9 40 40 40l80 0c22.1 0 40-17.9 40-40l0-104 41.3 0c21.4 0 38.7-17.3 38.7-38.7c0-9.9-3.8-19.3-10.5-26.5L249.1 138.8c-6.5-6.9-15.6-10.8-25.1-10.8zM416 36a24 24 0 1 0 0 48 24 24 0 1 0 0-48zM32 36a24 24 0 1 0 0 48 24 24 0 1 0 0-48zM296 60a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zM224 36a24 24 0 1 0 0 48 24 24 0 1 0 0-48zM104 60a24 24 0 1 0 48 0 24 24 0 1 0 -48 0z\"]\n};\nvar faThoughtBubble = {\n prefix: 'fal',\n iconName: 'thought-bubble',\n icon: [512, 512, [], \"e32e\", \"M256 0c-50.7 0-94.4 29.4-115.2 72.1c-1.6-.1-3.2-.1-4.8-.1C60.9 72 0 132.9 0 208s60.9 136 136 136c10.8 0 21.2-1.3 31.3-3.6C187.8 366.9 219.9 384 256 384s68.2-17.1 88.7-43.6c10.1 2.4 20.5 3.6 31.3 3.6c75.1 0 136-60.9 136-136s-60.9-136-136-136c-1.6 0-3.2 0-4.8 .1C350.4 29.4 306.7 0 256 0zM166 94.5C179.6 58 214.8 32 256 32s76.4 26 90 62.5c2.6 7 9.6 11.2 17 10.3c4.3-.5 8.6-.8 13-.8c57.4 0 104 46.6 104 104s-46.6 104-104 104c-11.5 0-22.6-1.9-32.9-5.3c-7.1-2.4-14.8 .5-18.7 6.9C310.3 336.6 284.9 352 256 352s-54.3-15.4-68.4-38.5c-3.9-6.4-11.6-9.2-18.7-6.9c-10.3 3.4-21.4 5.3-32.9 5.3C78.6 312 32 265.4 32 208s46.6-104 104-104c4.4 0 8.8 .3 13 .8c7.4 .9 14.4-3.3 17-10.3zM144 416a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm0 64a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-80 0A32 32 0 1 0 0 480a32 32 0 1 0 64 0z\"]\n};\nvar faSkeletonRibs = {\n prefix: 'fal',\n iconName: 'skeleton-ribs',\n icon: [640, 512, [], \"e5cb\", \"M336 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V64H254.1c-29.3 0-56.6 16-69.7 42.9c-14.9 30.8-36.9 79.1-55.2 132C111 291.5 96 349.8 96 400v11.2c0 38 30.8 68.8 68.8 68.8c9.6 0 19.1-2 27.9-5.9l81.8-36.3c9.5-4.2 19.4-7 29.5-8.5V496c0 8.8 7.2 16 16 16s16-7.2 16-16V429.2c10.1 1.5 20 4.3 29.5 8.5l81.8 36.3c8.8 3.9 18.3 5.9 27.9 5.9c38 0 68.8-30.8 68.8-68.8V400c0-50.2-15-108.5-33.2-161.1c-18.3-52.8-40.3-101.2-55.2-132C442.5 80 415.2 64 385.9 64H336V16zM304 96v82.9L176.2 204.4c13.3-33.2 26.8-62.5 37-83.5c7.4-15.3 23.2-24.9 40.9-24.9H304zM162.8 239.7l.3-.1L304 211.5V284L135.8 333.1c5.7-27.4 14.1-55.9 23.7-83.7c1.1-3.2 2.3-6.5 3.4-9.7zM130 367.9c.8-.1 1.6-.3 2.4-.5l171.5-50V397c-14.5 1.6-28.9 5.5-42.5 11.5l-81.8 36.3c-4.7 2.1-9.8 3.2-14.9 3.2c-20.3 0-36.8-16.5-36.8-36.8V400c0-10.3 .7-21 2-32.1zM336 397V317.3l171.5 50c.8 .2 1.6 .4 2.5 .5c1.3 11.1 2 21.9 2 32.1v11.2c0 20.3-16.5 36.8-36.8 36.8c-5.1 0-10.2-1.1-14.9-3.2l-81.8-36.3c-13.6-6.1-28-9.9-42.5-11.5zm168.2-63.9L336 284V211.5l140.9 28.2 .3 .1c1.1 3.2 2.3 6.4 3.4 9.7c9.6 27.7 18 56.2 23.7 83.7zM463.8 204.4L336 178.9V96h49.9c17.7 0 33.5 9.6 40.9 24.9c10.2 21 23.7 50.3 37 83.5zM0 128V240 496c0 8.8 7.2 16 16 16s16-7.2 16-16V240c0-8.6 4.9-16.6 12.6-20.4l44.5-22.2c23.8-11.9 38.9-36.3 38.9-63V128c0-35.3-28.7-64-64-64S0 92.7 0 128zm32 62.1V128c0-17.7 14.3-32 32-32s32 14.3 32 32v6.4c0 14.5-8.2 27.8-21.2 34.3L32 190.1zM576 64c-35.3 0-64 28.7-64 64v6.4c0 26.7 15.1 51 38.9 63l44.5 22.2c7.7 3.9 12.6 11.8 12.6 20.4V496c0 8.8 7.2 16 16 16s16-7.2 16-16V240 128c0-35.3-28.7-64-64-64zM565.2 168.7c-13-6.5-21.2-19.8-21.2-34.3V128c0-17.7 14.3-32 32-32s32 14.3 32 32v62.1l-42.8-21.4z\"]\n};\nvar faRaygun = {\n prefix: 'fal',\n iconName: 'raygun',\n icon: [576, 512, [], \"e025\", \"M39.3 2.6c4.5-3 10.3-3.4 15.2-1.2L195.4 64H272c18 0 34.6 6 48 16V48c0-8.8 7.2-16 16-16s16 7.2 16 16v96 16h32V80c0-8.8 7.2-16 16-16s16 7.2 16 16v80h32c0-6.1 3.4-11.6 8.8-14.3l96-48c5-2.5 10.9-2.2 15.6 .7s7.6 8.1 7.6 13.6V240c0 5.5-2.9 10.7-7.6 13.6s-10.6 3.2-15.6 .7l-96-48c-5.4-2.7-8.8-8.3-8.8-14.3H416v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V192H352v16 96c0 8.8-7.2 16-16 16s-16-7.2-16-16V272c-12.4 9.3-27.6 15.1-44.2 15.9l0 .1L172.6 494.3c-7.9 15.8-27.1 22.2-42.9 14.3l-80-40c-15.8-7.9-22.2-27.1-14.3-42.9l69-137.9C46.1 283.8 0 235.3 0 176c0-30.5 12.2-58.2 32-78.4V16c0-5.4 2.7-10.5 7.3-13.4zM480 176v6.1l64 32V137.9l-64 32V176zM192.3 96c-.2 0-.5 0-.7 0H112c-44.2 0-80 35.8-80 80s35.8 80 80 80h8.2H256h16c26.5 0 48-21.5 48-48V176 144c0-26.5-21.5-48-48-48H192.3zM64 40.6V74.8C78.5 67.9 94.8 64 112 64h4.6L64 40.6zM140 288L64 440l80 40 96-192H140zM112 160a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm80-16a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faFlute = {\n prefix: 'fal',\n iconName: 'flute',\n icon: [640, 512, [], \"f8b9\", \"M160 320H576c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32H160V320zm-32 0V192H64c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32h64zM64 160h64 16 16H576c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64H160 144 128 64c-35.3 0-64-28.7-64-64V224c0-35.3 28.7-64 64-64zm256 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm72 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm120-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faAcorn = {\n prefix: 'fal',\n iconName: 'acorn',\n icon: [448, 512, [], \"f6ae\", \"M267.3 27.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-3.9 3.9C225.5 23.9 215.1 43.2 210.5 64H96C43 64 0 107 0 160v16c0 17.7 14.3 32 32 32H416c17.7 0 32-14.3 32-32V160c0-53-43-96-96-96H243.6c3.8-12.3 10.6-23.6 19.8-32.8l3.9-3.9zM352 96c35.3 0 64 28.7 64 64v16H32V160c0-35.3 28.7-64 64-64H352zM48.4 240c4.1 78.1 39 189.3 165.5 236.4c6.5 2.4 13.7 2.4 20.2 0C360.6 429.3 395.5 318.1 399.6 240h-32c-4 70.6-35.5 165.2-143.5 206C116 405.2 84.4 310.6 80.5 240h-32z\"]\n};\nvar faVideoArrowUpRight = {\n prefix: 'fal',\n iconName: 'video-arrow-up-right',\n icon: [576, 512, [], \"e2c9\", \"M320 96c17.7 0 32 14.3 32 32V384c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V128c0-17.7 14.3-32 32-32H320zM64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V336.8 175.2 128c0-35.3-28.7-64-64-64H64zM416 354.4l103.4 56.9c5.6 3.1 12 4.7 18.4 4.7c21.1 0 38.2-17.1 38.2-38.2V134.2c0-21.1-17.1-38.2-38.2-38.2c-6.4 0-12.8 1.6-18.4 4.7L416 157.6v36.5l118.8-65.4c.9-.5 1.9-.8 3-.8c3.4 0 6.2 2.8 6.2 6.2V377.8c0 3.4-2.8 6.2-6.2 6.2c-1 0-2.1-.3-3-.8L416 317.9v36.5zM160 160c-8.8 0-16 7.2-16 16s7.2 16 16 16h73.4L100.7 324.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L256 214.6V288c0 8.8 7.2 16 16 16s16-7.2 16-16V176c0-8.8-7.2-16-16-16H160z\"]\n};\nvar faGrateDroplet = {\n prefix: 'fal',\n iconName: 'grate-droplet',\n icon: [576, 512, [], \"e194\", \"M64 64H384c17.7 0 32 14.3 32 32v88.9c7.8-11.1 19.1-19.1 32-22.7V96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H344.2c-6.6-9.9-12-20.6-16.1-32H64c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32zm320 64c0-17.7-14.3-32-32-32H296 224 152 96c-17.7 0-32 14.3-32 32V256 384c0 17.7 14.3 32 32 32h56 72 72 24.9c-.6-5.3-.9-10.6-.9-16c0-5.4 .3-10.7 .9-16H312V272h40v32l32-60V128zM96 128h40V240H96V128zm72 112V128h40V240H168zm72 0V128h40V240H240zm72 0V128h40V240H312zm-32 32V384H240V272h40zm-72 0V384H168V272h40zm-72 0V384H96V272h40zm257.4 90.4L464 230l70.6 132.4c6.2 11.6 9.4 24.5 9.4 37.6c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-13.1 3.2-26.1 9.4-37.6zm-28.2-15.1C356.5 363.5 352 381.6 352 400c0 61.9 50.1 112 112 112s112-50.1 112-112c0-18.4-4.5-36.5-13.2-52.7L487.5 206.1c-4.6-8.7-13.7-14.1-23.5-14.1s-18.9 5.4-23.5 14.1L365.2 347.3z\"]\n};\nvar faSealExclamation = {\n prefix: 'fal',\n iconName: 'seal-exclamation',\n icon: [512, 512, [], \"e242\", \"M86.6 198.6c6-6 9.4-14.1 9.4-22.6l0-64c0-8.8 7.2-16 16-16l64 0c8.5 0 16.6-3.4 22.6-9.4l52.7-52.7c1.2-1.2 2.9-1.9 4.7-1.9s3.4 .7 4.7 1.9l52.7 52.7c6 6 14.1 9.4 22.6 9.4l64 0c8.8 0 16 7.2 16 16l0 64c0 8.5 3.4 16.6 9.4 22.6l52.7 52.7c1.2 1.2 1.9 2.9 1.9 4.7s-.7 3.4-1.9 4.7l-52.7 52.7c-6 6-9.4 14.1-9.4 22.6l0 64c0 8.8-7.2 16-16 16l-64 0c-8.5 0-16.6 3.4-22.6 9.4l-52.7 52.7c-1.2 1.2-2.9 1.9-4.7 1.9s-3.4-.7-4.7-1.9l-52.7-52.7c-6-6-14.1-9.4-22.6-9.4l-64 0c-8.8 0-16-7.2-16-16l0-64c0-8.5-3.4-16.6-9.4-22.6L33.9 260.7c-1.2-1.2-1.9-2.9-1.9-4.7s.7-3.4 1.9-4.7l52.7-52.7zM64 112l0 64L11.3 228.7C4.1 235.9 0 245.8 0 256s4.1 20.1 11.3 27.3L64 336l0 64c0 26.5 21.5 48 48 48l64 0 52.7 52.7c7.2 7.2 17.1 11.3 27.3 11.3s20.1-4.1 27.3-11.3L336 448l64 0c26.5 0 48-21.5 48-48l0-64 52.7-52.7c7.2-7.2 11.3-17.1 11.3-27.3s-4.1-20.1-11.3-27.3L448 176l0-64c0-26.5-21.5-48-48-48l-64 0L283.3 11.3C276.1 4.1 266.2 0 256 0s-20.1 4.1-27.3 11.3L176 64l-64 0c-26.5 0-48 21.5-48 48zm192 16c-8.8 0-16 7.2-16 16l0 128c0 8.8 7.2 16 16 16s16-7.2 16-16l0-128c0-8.8-7.2-16-16-16zm24 224a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faChessBishop = {\n prefix: 'fal',\n iconName: 'chess-bishop',\n icon: [320, 512, [9821], \"f43a\", \"M104 0C95.2 0 88 7.2 88 16s7.2 16 16 16h11.6C103.6 42.9 89.8 56.7 75.9 72.8C39 115.7 0 177.6 0 248.7c0 53.2 37.2 80 64 92.3V352H96V330.4c0-6.7-4.1-12.7-10.4-15C62.5 306.8 32 288.1 32 248.7c0-59.7 33-114.3 68.1-155c17.4-20.2 34.7-36.4 47.8-47.6c4.7-4 8.8-7.3 12.1-10c3.3 2.6 7.4 6 12.1 10c13.1 11.2 30.4 27.5 47.8 47.6c7.2 8.4 14.3 17.3 21.1 26.7l-76.2 76.2c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L258.6 148c17.3 30.4 29.4 64.6 29.4 100.7c0 39.4-30.5 58-53.6 66.7c-6.3 2.3-10.4 8.3-10.4 15V352h32V341.1c26.8-12.3 64-39.1 64-92.3c0-71.2-39-133-75.9-175.9C230.2 56.7 216.4 42.9 204.4 32H216c8.8 0 16-7.2 16-16s-7.2-16-16-16H160 104zM254.2 416l32.7 52.7c.7 1.2 1.1 2.5 1.1 3.9c0 4.1-3.3 7.4-7.4 7.4H39.4c-4.1 0-7.4-3.3-7.4-7.4c0-1.4 .4-2.7 1.1-3.9L65.8 416l188.4 0zm0-32H65.8c-11.1 0-21.4 5.7-27.2 15.1L5.9 451.8C2.1 458 0 465.2 0 472.6C0 494.3 17.7 512 39.4 512H280.6c21.8 0 39.4-17.7 39.4-39.4c0-7.3-2.1-14.5-5.9-20.8l-32.7-52.7c-5.8-9.4-16.1-15.1-27.2-15.1z\"]\n};\nvar faMessageSms = {\n prefix: 'fal',\n iconName: 'message-sms',\n icon: [512, 512, [], \"e1e5\", \"M192 416c0-17.7-14.3-32-32-32H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H448c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H309.3c-6.9 0-13.7 2.2-19.2 6.4L192 464V416zM64 0C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h64 32v32 48c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L309.3 416H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM96 180.8c0 12.3 6.2 23.8 16.4 30.7l29.4 19.6c1.3 .9 2.2 2.4 2.2 4c0 2.7-2.2 4.8-4.8 4.8H112c-8.8 0-16 7.2-16 16s7.2 16 16 16h27.2c20.3 0 36.8-16.5 36.8-36.8c0-12.3-6.2-23.8-16.4-30.7l-29.4-19.6c-1.3-.9-2.2-2.4-2.2-4c0-2.7 2.2-4.8 4.8-4.8H152c8.8 0 16-7.2 16-16s-7.2-16-16-16H132.8C112.5 144 96 160.5 96 180.8zM372.8 144c-20.3 0-36.8 16.5-36.8 36.8c0 12.3 6.2 23.8 16.4 30.7l29.4 19.6c1.3 .9 2.2 2.4 2.2 4c0 2.7-2.2 4.8-4.8 4.8H352c-8.8 0-16 7.2-16 16s7.2 16 16 16h27.2c20.3 0 36.8-16.5 36.8-36.8c0-12.3-6.2-23.8-16.4-30.7l-29.4-19.6c-1.3-.9-2.2-2.4-2.2-4c0-2.7 2.2-4.8 4.8-4.8H392c8.8 0 16-7.2 16-16s-7.2-16-16-16H372.8zm-152 6.4c-4.1-5.5-11.3-7.8-17.9-5.6S192 153.1 192 160v96c0 8.8 7.2 16 16 16s16-7.2 16-16V208l19.2 25.6c3 4 7.8 6.4 12.8 6.4s9.8-2.4 12.8-6.4L288 208v48c0 8.8 7.2 16 16 16s16-7.2 16-16V160c0-6.9-4.4-13-10.9-15.2s-13.7 .1-17.9 5.6L256 197.3l-35.2-46.9z\"]\n};\nvar faCoffeeBeans = {\n prefix: 'fal',\n iconName: 'coffee-beans',\n icon: [512, 512, [], \"e13f\", \"M476.8 258c50-50 39.9-141.2-22.6-203.6S300.5-18.2 250.5 31.8s-39.9 141.2 22.6 203.6S426.8 308 476.8 258zm-22.6-22.6c-33 33-103.4 32.3-158.4-22.6c-40.6-40.6-51.6-89.6-41.3-125.8c3.9 6.2 8 12 12.3 17.1c27.7 32.7 61.1 44.7 90.6 55.2l1 .3c30.1 10.8 56.2 20.4 78.2 46.3c6.4 7.5 12.6 17.8 18.4 28.7l-.7 .7zm6.3-49.7c-27.7-32.7-61.1-44.7-90.6-55.2l-1-.3c-30.1-10.8-56.2-20.4-78.2-46.3c-6.4-7.5-12.6-17.8-18.4-28.7l.7-.7c33-33 103.4-32.3 158.4 22.6c40.6 40.6 51.6 89.6 41.3 125.8c-3.9-6.2-8-12-12.3-17.1zM128 480c-46.7 0-96-50.3-96-128c0-57.4 26.9-99.8 59.8-118.1c-1.6 7.1-2.8 14.2-3.4 20.8c-3.6 42.7 11.6 74.8 25 103.1l.4 .9c13.7 28.9 25.4 54.2 22.5 88c-.8 9.8-3.6 21.5-7.3 33.3l-1 0zm39.6-30.7c3.6-42.7-11.6-74.8-25-103.1l-.4-.9c-13.7-28.9-25.4-54.2-22.5-88c.8-9.8 3.6-21.5 7.3-33.3l1 0c46.7 0 96 50.3 96 128c0 57.4-26.9 99.8-59.8 118.1c1.6-7.1 2.8-14.2 3.4-20.8zM128 512c70.7 0 128-71.6 128-160s-57.3-160-128-160S0 263.6 0 352s57.3 160 128 160z\"]\n};\nvar faHatWitch = {\n prefix: 'fal',\n iconName: 'hat-witch',\n icon: [576, 512, [], \"f6e7\", \"M96 384h34.9l80.9-185c13.8-31.5 37.3-57.7 67.2-74.8L436.8 34.1c2.4-1.4 5.2-2.1 7.9-2.1h1.5c3.8 0 7.5 1.4 10.4 3.9l82.5 70.7c3.1 2.7 4.9 6.5 4.9 10.6c0 2.2-.5 4.3-1.5 6.3L516.7 175l-1.1-4.3C509.4 145.6 486.9 128 461 128c-18.8 0-36.4 9.4-46.9 25.1l-14.3 21.5c-10.3 15.5-15.8 33.6-15.8 52.2c0 13.2 2.8 26.2 8.1 38.2L445 384h35L421.4 252c-3.5-7.9-5.4-16.5-5.4-25.2c0-12.3 3.6-24.3 10.4-34.5l14.3-21.5c4.5-6.8 12.1-10.8 20.2-10.8c11.2 0 20.9 7.6 23.6 18.4l7.1 28.3c2.5 10.2 11.7 17.3 22.2 17.3c8.7 0 16.6-4.9 20.5-12.6l36.8-73.6c3.2-6.4 4.9-13.4 4.9-20.6c0-13.4-5.9-26.2-16.1-34.9L477.5 11.6C468.8 4.1 457.7 0 446.2 0h-1.5c-8.4 0-16.6 2.2-23.8 6.3L263.2 96.5c-35.8 20.5-64.1 51.9-80.6 89.7L96 384zM52.8 448H523.2c-24.5 15.2-61.9 32-107.2 32H160c-45.3 0-82.7-16.8-107.2-32zM22.6 416C10.1 416 0 426.1 0 438.6c0 6 2.4 11.7 6.9 15.6C25.9 470.3 82.6 512 160 512H416c77.4 0 134.1-41.7 153.1-57.8c4.6-3.9 6.9-9.6 6.9-15.6c0-12.5-10.1-22.6-22.6-22.6H22.6zM304 352c8.8 0 16 7.2 16 16v16h32V368c0-26.5-21.5-48-48-48H272c-26.5 0-48 21.5-48 48v16h32V368c0-8.8 7.2-16 16-16h32z\"]\n};\nvar faFaceGrinWink = {\n prefix: 'fal',\n iconName: 'face-grin-wink',\n icon: [512, 512, [\"grin-wink\"], \"f58c\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256 98.1c-31.2 0-61.4-2.9-89.9-8.3c22.6 23.6 54.5 38.3 89.9 38.3s67.3-14.7 89.9-38.3c-28.5 5.4-58.7 8.3-89.9 8.3zm142.8-30.7c-24.1 54.6-79 92.7-142.8 92.7s-118.7-38.1-142.8-92.7c-5.2-11.7 6.8-22.4 19.1-18.7c37.3 11.1 79.3 17.4 123.8 17.4s86.4-6.3 123.8-17.4c12.3-3.7 24.2 7 19.1 18.7zM152.4 208a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm148.4 25.6c-5.3 7.1-15.3 8.5-22.4 3.2s-8.5-15.3-3.2-22.4c30.4-40.5 91.2-40.5 121.6 0c5.3 7.1 3.9 17.1-3.2 22.4s-17.1 3.9-22.4-3.2c-17.6-23.5-52.8-23.5-70.4 0z\"]\n};\nvar faGrinWink = faFaceGrinWink;\nvar faClockThreeThirty = {\n prefix: 'fal',\n iconName: 'clock-three-thirty',\n icon: [512, 512, [], \"e357\", \"M32 256a224 224 0 1 0 448 0A224 224 0 1 0 32 256zm480 0A256 256 0 1 1 0 256a256 256 0 1 1 512 0zM240 400V256c0-8.8 7.2-16 16-16H368c8.8 0 16 7.2 16 16s-7.2 16-16 16H272V400c0 8.8-7.2 16-16 16s-16-7.2-16-16z\"]\n};\nvar faEarDeaf = {\n prefix: 'fal',\n iconName: 'ear-deaf',\n icon: [512, 512, [\"deaf\", \"deafness\", \"hard-of-hearing\"], \"f2a4\", \"M507.3 27.3l-64 64c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l64-64c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zm-320 320l-160 160c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l160-160c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zM240 96C160.5 96 96 160.5 96 240c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-97.2 78.8-176 176-176s176 78.8 176 176c0 51.3-21.9 97.4-56.9 129.6c-4.8 4.4-7.1 9.7-7.1 14.4c0 70.7-57.3 128-128 128H208c-8.8 0-16-7.2-16-16s7.2-16 16-16h16c53 0 96-43 96-96c0-15.4 7.4-28.7 17.5-38c28.6-26.3 46.5-64.1 46.5-106c0-79.5-64.5-144-144-144zm0 64c-44.2 0-80 35.8-80 80c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-61.9 50.1-112 112-112s112 50.1 112 112c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-44.2-35.8-80-80-80z\"]\n};\nvar faDeaf = faEarDeaf;\nvar faDeafness = faEarDeaf;\nvar faHardOfHearing = faEarDeaf;\nvar faAlarmClock = {\n prefix: 'fal',\n iconName: 'alarm-clock',\n icon: [512, 512, [9200], \"f34e\", \"M92.2 0C41.3 0 0 41.3 0 92.2c0 18.2 5.3 35.2 14.4 49.5c4.7 7.5 14.6 9.6 22.1 4.9s9.6-14.6 4.9-22.1c-5.9-9.3-9.4-20.4-9.4-32.3C32 58.9 58.9 32 92.2 32c15.8 0 30.2 6.1 40.9 16.1c6.5 6 16.6 5.6 22.6-.8s5.6-16.6-.8-22.6C138.4 9.3 116.4 0 92.2 0zM357.1 24.6c-6.5 6-6.9 16.1-.8 22.6s16.1 6.9 22.6 .8C389.6 38.1 404 32 419.8 32C453 32 480 58.9 480 92.2c0 11.9-3.4 23-9.4 32.3c-4.7 7.5-2.6 17.3 4.9 22.1s17.3 2.6 22.1-4.9c9.1-14.3 14.4-31.3 14.4-49.5C512 41.3 470.7 0 419.8 0c-24.2 0-46.3 9.3-62.7 24.6zM59.3 507.3l50-50C148.6 491.4 199.9 512 256 512s107.4-20.6 146.7-54.7l50 50c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-50-50C459.4 395.4 480 344.1 480 288C480 164.3 379.7 64 256 64S32 164.3 32 288c0 56.1 20.6 107.4 54.7 146.7l-50 50c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0zM256 96a192 192 0 1 1 0 384 192 192 0 1 1 0-384zm16 80c0-8.8-7.2-16-16-16s-16 7.2-16 16V304c0 5 2.4 9.8 6.4 12.8l64 48c7.1 5.3 17.1 3.9 22.4-3.2s3.9-17.1-3.2-22.4L272 296V176z\"]\n};\nvar faEclipse = {\n prefix: 'fal',\n iconName: 'eclipse',\n icon: [640, 512, [], \"f749\", \"M371.1 13.1c-1-5.3-4.6-9.8-9.6-11.9s-10.7-1.5-15.2 1.6L256 65.1 165.7 2.8c-4.5-3.1-10.2-3.7-15.2-1.6s-8.6 6.6-9.6 11.9L121 121 13.1 140.8c-5.3 1-9.8 4.6-11.9 9.6s-1.5 10.7 1.6 15.2L65.1 256 2.8 346.3c-3.1 4.5-3.7 10.2-1.6 15.2s6.6 8.6 11.9 9.6L121 391l19.8 107.9c1 5.3 4.6 9.8 9.6 11.9s10.7 1.5 15.2-1.6L256 446.9l90.3 62.3c4.5 3.1 10.2 3.7 15.2 1.6s8.6-6.6 9.6-11.9l9.6-52.2c-10.3-4.5-20.2-9.9-29.6-15.9l-7 38-79.1-54.5c-5.5-3.8-12.7-3.8-18.2 0l-79.1 54.5-17.4-94.5c-1.2-6.5-6.3-11.6-12.8-12.8L43.2 344.1l54.5-79.1c3.8-5.5 3.8-12.7 0-18.2L43.2 167.8l94.5-17.4c6.5-1.2 11.6-6.3 12.8-12.8l17.4-94.5 79.1 54.5c5.5 3.8 12.7 3.8 18.2 0l79.1-54.5 7 38.1c9.4-6.1 19.3-11.4 29.6-15.9l-9.6-52.2zM256 128c-70.7 0-128 57.3-128 128s57.3 128 128 128c13.7 0 27-2.2 39.4-6.2c-6.5-9-12.3-18.4-17.3-28.4c-7.1 1.7-14.5 2.6-22.1 2.6c-53 0-96-43-96-96s43-96 96-96c7.6 0 15 .9 22.1 2.6c5-9.9 10.8-19.4 17.3-28.4c-12.4-4-25.7-6.2-39.4-6.2zm64 128a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm320 0a176 176 0 1 0 -352 0 176 176 0 1 0 352 0z\"]\n};\nvar faFaceRelieved = {\n prefix: 'fal',\n iconName: 'face-relieved',\n icon: [512, 512, [], \"e389\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm187.3 92.7c13 13 35.8 27.3 68.7 27.3s55.6-14.3 68.7-27.3c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6C329.4 389.2 298.9 408 256 408s-73.4-18.8-91.3-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0zM387.2 238.4c5.3-7.1 15.3-8.5 22.4-3.2s8.5 15.3 3.2 22.4c-30.4 40.5-91.2 40.5-121.6 0c-5.3-7.1-3.9-17.1 3.2-22.4s17.1-3.9 22.4 3.2c17.6 23.5 52.8 23.5 70.4 0zm-262.4 0c17.6 23.5 52.8 23.5 70.4 0c5.3-7.1 15.3-8.5 22.4-3.2s8.5 15.3 3.2 22.4c-30.4 40.5-91.2 40.5-121.6 0c-5.3-7.1-3.9-17.1 3.2-22.4s17.1-3.9 22.4 3.2zm82.4-131.5c2.8 8.4-1.7 17.4-10.1 20.2l-6.3 2.1c-23.6 7.9-44 23.4-57.8 44.1l-7.6 11.5c-4.9 7.4-14.8 9.3-22.2 4.4s-9.3-14.8-4.4-22.2l7.6-11.5c17.8-26.6 43.9-46.6 74.3-56.7l6.3-2.1c8.4-2.8 17.4 1.7 20.2 10.1zm107.8 20.2c-8.4-2.8-12.9-11.9-10.1-20.2s11.9-12.9 20.2-10.1l6.3 2.1c30.4 10.1 56.5 30.1 74.3 56.7l7.6 11.5c4.9 7.4 2.9 17.3-4.4 22.2s-17.3 2.9-22.2-4.4L379 173.4c-13.8-20.7-34.1-36.3-57.8-44.1l-6.3-2.1z\"]\n};\nvar faRoadCircleCheck = {\n prefix: 'fal',\n iconName: 'road-circle-check',\n icon: [640, 512, [], \"e564\", \"M157.5 74c9.2-25.2 33.2-42 60.1-42H422.4c26.9 0 50.9 16.8 60.1 42l44.1 120.6c-9.9-1.7-20.2-2.7-30.6-2.7c-1.5 0-2.9 0-4.4 .1L452.5 85c-4.6-12.6-16.6-21-30.1-21H336v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V64H217.6c-13.4 0-25.4 8.4-30.1 21L70.6 405c-7.6 20.9 7.8 43 30.1 43H339.2c5.9 11.4 12.9 22.2 21 32H100.6c-44.5 0-75.4-44.2-60.1-86L157.5 74zM336 208v86.6c-3.5 7.6-6.5 15.6-8.9 23.8c-2.1 1.1-4.6 1.7-7.1 1.7c-8.8 0-16-7.2-16-16V208c0-8.8 7.2-16 16-16s16 7.2 16 16zM496 480a112 112 0 1 0 0-224 112 112 0 1 0 0 224zm0-256a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm67.3 100.7c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faDiceFive = {\n prefix: 'fal',\n iconName: 'dice-five',\n icon: [448, 512, [9860], \"f523\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm128 40a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm216 24a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zM224 232a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm72 120a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM128 328a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faOctagonMinus = {\n prefix: 'fal',\n iconName: 'octagon-minus',\n icon: [512, 512, [\"minus-octagon\"], \"f308\", \"M191.5 32.1c-10.6 0-20.8 4.2-28.3 11.7L43.8 163.2c-7.5 7.5-11.7 17.7-11.7 28.3v129c0 10.6 4.2 20.8 11.7 28.3L21.2 371.4C7.7 357.9 .1 339.6 .1 320.5v-129c0-19.1 7.6-37.4 21.1-50.9L140.6 21.2C154.1 7.7 172.4 .1 191.5 .1h129c19.1 0 37.4 7.6 50.9 21.1L490.8 140.6c13.5 13.5 21.1 31.8 21.1 50.9v129c0 19.1-7.6 37.4-21.1 50.9L371.4 490.8c-13.5 13.5-31.8 21.1-50.9 21.1h-129c-19.1 0-37.4-7.6-50.9-21.1L21.2 371.4l22.6-22.6L163.2 468.2c7.5 7.5 17.7 11.7 28.3 11.7h129c10.6 0 20.8-4.2 28.3-11.7L468.2 348.8c7.5-7.5 11.7-17.7 11.7-28.3v-129c0-10.6-4.2-20.8-11.7-28.3L348.8 43.8c-7.5-7.5-17.7-11.7-28.3-11.7h-129zM160 240H352c8.8 0 16 7.2 16 16s-7.2 16-16 16H160c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faMinusOctagon = faOctagonMinus;\nvar faSquareRss = {\n prefix: 'fal',\n iconName: 'square-rss',\n icon: [448, 512, [\"rss-square\"], \"f143\", \"M384 64c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm48 320a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm0 64a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM80 128c-8.8 0-16 7.2-16 16s7.2 16 16 16c132.5 0 240 107.5 240 240c0 8.8 7.2 16 16 16s16-7.2 16-16c0-150.2-121.8-272-272-272zm0 96c-8.8 0-16 7.2-16 16s7.2 16 16 16c79.5 0 144 64.5 144 144c0 8.8 7.2 16 16 16s16-7.2 16-16c0-97.2-78.8-176-176-176z\"]\n};\nvar faRssSquare = faSquareRss;\nvar faFaceZany = {\n prefix: 'fal',\n iconName: 'face-zany',\n icon: [512, 512, [], \"e3a4\", \"M32 256C32 132.3 132.3 32 256 32s224 100.3 224 224c0 79.8-41.7 149.8-104.5 189.5c-7.5 4.7-9.7 14.6-5 22.1s14.6 9.7 22.1 5C464.3 427.3 512 347.2 512 256C512 114.6 397.4 0 256 0S0 114.6 0 256c0 91.2 47.7 171.3 119.5 216.6c7.5 4.7 17.4 2.5 22.1-5s2.5-17.4-5-22.1C73.7 405.8 32 335.8 32 256zm272-64c-26.5 0-48-21.5-48-48c0-3.9 .5-7.7 1.4-11.4C261 143.9 271.5 152 284 152c15.5 0 28-12.5 28-28c0-12.5-8.1-23-19.4-26.6c3.6-.9 7.5-1.4 11.4-1.4c26.5 0 48 21.5 48 48s-21.5 48-48 48zm0 32a80 80 0 1 0 0-160 80 80 0 1 0 0 160zM144 184a40 40 0 1 1 0 80 40 40 0 1 1 0-80zm0 112a72 72 0 1 0 0-144 72 72 0 1 0 0 144zm24-72a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-4.5 166.7c-2.3 6.2-3.5 12.9-3.5 19.9V416c0 53 43 96 96 96s96-43 96-96v-5.4c0-2.3-.1-4.6-.4-6.9c57.3-37.6 82-108 64.4-173.2c-3.7-13.7-19.6-18.7-31.8-11.6L159.8 348.5c-12.3 7.1-15.8 23.4-5.8 33.4c3.1 3.1 6.2 6 9.5 8.8zm175.4-17c-10.8-13.2-27.1-21.6-45.5-21.6h-2c-13.3 0-25.6 4.6-35.4 12.5c-9.7-7.9-22.1-12.5-35.4-12.5h-2c-.3 0-.6 0-.9 0l170.5-98.4c6.9 46-11.6 92.6-49.3 120.1zM291.4 384h2c14.7 0 26.6 11.9 26.6 26.6V416c0 35.3-28.7 64-64 64s-64-28.7-64-64v-5.4c0-14.7 11.9-26.6 26.6-26.6h2c6.7 0 12.8 2.7 17.2 7.2l.2 .3c1.6 1.7 3 3.6 4.1 5.8c.9 1.8 1.6 3.7 2 5.7c2.8 12.6 20.8 12.6 23.6 0c.4-2 1.1-3.9 2-5.7c1.1-2.1 2.5-4.1 4.1-5.8l.2-.3c4.4-4.5 10.6-7.2 17.2-7.2z\"]\n};\nvar faTricycle = {\n prefix: 'fal',\n iconName: 'tricycle',\n icon: [512, 512, [], \"e5c3\", \"M272 32c-8.8 0-16 7.2-16 16s7.2 16 16 16h85.3C372.1 64 384 75.9 384 90.7c0 8.4-4 16.3-10.7 21.3l-42.7 32H303.4c-58.4 0-113.2 24.5-152.1 66.1L117.9 160H128c8.8 0 16-7.2 16-16s-7.2-16-16-16H48c-8.8 0-16 7.2-16 16s7.2 16 16 16H79.4l51 76.5c-2.7 4-5.2 8.1-7.6 12.3l-4.2 7.4c-2.2-.1-4.4-.2-6.6-.2C50.1 256 0 306.1 0 368s50.1 112 112 112s112-50.1 112-112c0-48-30.1-88.9-72.5-104.8C183 209.2 240.8 176 303.4 176h20.1l14.2 56.6C289.9 251.2 256 297.6 256 352c0 70.7 57.3 128 128 128s128-57.3 128-128s-57.3-128-128-128c-5.2 0-10.3 .3-15.3 .9l-14.6-58.5 38.4-28.8c14.8-11.1 23.5-28.5 23.5-46.9C416 58.3 389.7 32 357.3 32H272zm73.5 232l23 91.9c2.1 8.6 10.8 13.8 19.4 11.6s13.8-10.8 11.6-19.4l-23-91.8c2.5-.2 4.9-.3 7.4-.3c53 0 96 43 96 96s-43 96-96 96s-96-43-96-96c0-39.3 23.7-73.1 57.5-88zM112 288a80 80 0 1 1 0 160 80 80 0 1 1 0-160z\"]\n};\nvar faLandMineOn = {\n prefix: 'fal',\n iconName: 'land-mine-on',\n icon: [640, 512, [], \"e51b\", \"M320 0c-8.8 0-16 7.2-16 16V176c0 8.8 7.2 16 16 16s16-7.2 16-16V16c0-8.8-7.2-16-16-16zM192 400h32H416h32 0 32.8c6.3 0 12.1 3.7 14.6 9.5L526.8 480H113.2l31.3-70.5c2.6-5.8 8.3-9.5 14.6-9.5H192h0zm32-32V336c0-8.8 7.2-16 16-16H400c8.8 0 16 7.2 16 16v32H224zm224 0V336c0-26.5-21.5-48-48-48H240c-26.5 0-48 21.5-48 48v32H160h-.8c-19 0-36.2 11.2-43.9 28.5L84 467c-9.4 21.2 6.1 45 29.2 45H526.8c23.2 0 38.6-23.8 29.2-45l-31.3-70.5C517 379.2 499.8 368 480.8 368H480 448h0zM57.6 131.2c-7.1-5.3-17.1-3.9-22.4 3.2s-3.9 17.1 3.2 22.4l128 96c7.1 5.3 17.1 3.9 22.4-3.2s3.9-17.1-3.2-22.4l-128-96zm547.2 3.2c-5.3-7.1-15.3-8.5-22.4-3.2l-128 96c-7.1 5.3-8.5 15.3-3.2 22.4s15.3 8.5 22.4 3.2l128-96c7.1-5.3 8.5-15.3 3.2-22.4z\"]\n};\nvar faSquareArrowUpLeft = {\n prefix: 'fal',\n iconName: 'square-arrow-up-left',\n icon: [448, 512, [], \"e263\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm280 64c8.8 0 16 7.2 16 16s-7.2 16-16 16H182.6L315.3 324.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L160 214.6V320c0 8.8-7.2 16-16 16s-16-7.2-16-16V176c0-8.8 7.2-16 16-16H280z\"]\n};\nvar faICursor = {\n prefix: 'fal',\n iconName: 'i-cursor',\n icon: [256, 512, [], \"f246\", \"M0 14.9C-.6 23.7 6 31.3 14.9 32l8 .6C73.1 36.1 112 77.9 112 128.3V240H64c-8.8 0-16 7.2-16 16s7.2 16 16 16h48V383.7c0 50.4-38.9 92.2-89.2 95.8l-8 .6C6 480.7-.6 488.3 0 497.1S8.3 512.6 17.1 512l8-.6c44.6-3.2 82.5-29 102.9-65.7c20.4 36.7 58.3 62.5 102.9 65.7l8 .6c8.8 .6 16.5-6 17.1-14.8s-6-16.5-14.8-17.1l-8-.6c-50.2-3.6-89.2-45.4-89.2-95.8V272h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H144V128.3c0-50.4 38.9-92.2 89.2-95.8l8-.6c8.8-.6 15.4-8.3 14.8-17.1S247.7-.6 238.9 0l-8 .6c-44.6 3.2-82.5 29-102.9 65.7C107.6 29.6 69.7 3.8 25.1 .6l-8-.6C8.3-.6 .7 6 0 14.9z\"]\n};\nvar faChartMixedUpCircleDollar = {\n prefix: 'fal',\n iconName: 'chart-mixed-up-circle-dollar',\n icon: [576, 512, [], \"e5d9\", \"M416 0c-8.8 0-16 7.2-16 16s7.2 16 16 16h72.2l-153 139.1L201.8 67.4c-5.6-4.4-13.5-4.5-19.2-.3l-176 128c-7.1 5.2-8.7 15.2-3.5 22.4s15.2 8.7 22.4 3.5L191.7 100 326.2 204.6c6.1 4.8 14.8 4.4 20.6-.8L512 53.6V128c0 8.8 7.2 16 16 16s16-7.2 16-16V16c0-8.8-7.2-16-16-16H416zM192 448c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16s16 7.2 16 16V432c0 8.8-7.2 16-16 16zm0-224c-26.5 0-48 21.5-48 48V432c0 26.5 21.5 48 48 48s48-21.5 48-48V272c0-26.5-21.5-48-48-48zM80 432c0 8.8-7.2 16-16 16s-16-7.2-16-16V368c0-8.8 7.2-16 16-16s16 7.2 16 16v64zM64 320c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48s48-21.5 48-48V368c0-26.5-21.5-48-48-48zm256 48a112 112 0 1 1 224 0 112 112 0 1 1 -224 0zm256 0a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zM408.1 339c-.1-1.9 .3-2.9 .8-3.6c.6-.9 1.8-2.1 4.2-3.4c5.1-2.7 12.5-4.1 18.7-4c8.2 .1 17.1 1.8 26.4 4.1c8.6 2.1 17.3-3.1 19.4-11.7s-3.1-17.3-11.7-19.4c-5.6-1.4-11.6-2.7-17.9-3.7V288c0-8.8-7.2-16-16-16s-16 7.2-16 16v9.5c-6.1 1.2-12.3 3.2-18 6.3c-11.8 6.3-23 18.4-21.8 37.2c1 16 11.7 25.3 21.6 30.7c8.8 4.7 19.7 7.8 28.6 10.3l1.8 .5c10.3 2.9 17.9 5.2 23.2 8.3c4.5 2.7 4.7 4.2 4.7 5.6c.1 2.4-.5 3.7-1 4.5c-.6 1-1.8 2.2-4 3.3c-4.7 2.5-11.8 3.8-18.5 3.6c-9.5-.3-18.5-3.1-29.9-6.8c-1.9-.6-3.8-1.2-5.8-1.8c-8.4-2.6-17.4 2.1-20 10.5s2.1 17.4 10.5 20c1.6 .5 3.3 1 5 1.6l0 0 0 0c7 2.3 15.1 4.8 23.7 6.6v11.4c0 8.8 7.2 16 16 16s16-7.2 16-16V438.7c6.2-1.1 12.5-3.1 18.3-6.2c12.1-6.5 22.3-18.7 21.7-36.9c-.5-16.2-10.3-26.3-20.5-32.3c-9.4-5.6-21.2-8.9-30.5-11.5l-.2 0c-10.4-2.9-18.3-5.2-23.9-8.2c-4.8-2.6-4.8-4-4.8-4.5l0-.1z\"]\n};\nvar faSaltShaker = {\n prefix: 'fal',\n iconName: 'salt-shaker',\n icon: [384, 512, [129474], \"e446\", \"M352 453.2c0-1.6-.1-3.2-.4-4.7L305.8 192H78.2L32.4 448.5c-.3 1.6-.4 3.1-.4 4.7C32 468 44 480 58.8 480H325.2c14.8 0 26.8-12 26.8-26.8zM300.1 160l-7.9-44.1C283.5 67.3 241.3 32 192 32s-91.5 35.3-100.2 83.9L83.9 160H300.1zm25.1 352H58.8C26.3 512 0 485.7 0 453.2c0-3.5 .3-6.9 .9-10.3L60.3 110.3C71.7 46.5 127.2 0 192 0s120.3 46.5 131.7 110.3l59.4 332.6c.6 3.4 .9 6.9 .9 10.3c0 32.5-26.3 58.8-58.8 58.8zM176 64a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM144 80a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm80 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM151.9 242l-24 192c-1.1 8.8-9.1 15-17.9 13.9s-15-9.1-13.9-17.9l24-192c1.1-8.8 9.1-15 17.9-13.9s15 9.1 13.9 17.9zm112-4l24 192c1.1 8.8-5.1 16.8-13.9 17.9s-16.8-5.1-17.9-13.9l-24-192c-1.1-8.8 5.1-16.8 13.9-17.9s16.8 5.1 17.9 13.9z\"]\n};\nvar faStamp = {\n prefix: 'fal',\n iconName: 'stamp',\n icon: [512, 512, [], \"f5bf\", \"M310.4 129.8c6.1-9.8 9.6-21.3 9.6-33.8c0-35.3-28.7-64-64-64s-64 28.7-64 64c0 12.5 3.5 24 9.6 33.8c9.5 15.2 22.4 37.9 22.4 65.1c0 51.4-41.7 93.1-93.1 93.1H112c-44.2 0-80 35.8-80 80c0 8.8 7.2 16 16 16H464c8.8 0 16-7.2 16-16c0-44.2-35.8-80-80-80H381.1c-51.4 0-93.1-41.7-93.1-93.1c0-27.1 12.9-49.9 22.4-65.1zm27.2 16.9c-9.2 14.8-17.5 30.8-17.5 48.2c0 33.8 27.4 61.1 61.1 61.1H400c61.9 0 112 50.1 112 112c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48c0-61.9 50.1-112 112-112h18.9c33.8 0 61.1-27.4 61.1-61.1c0-17.4-8.3-33.4-17.5-48.2C165.3 132 160 114.6 160 96c0-53 43-96 96-96s96 43 96 96c0 18.6-5.3 36-14.5 50.7zM64 456v8c0 8.8 7.2 16 16 16H432c8.8 0 16-7.2 16-16v-8c0-8.8 7.2-16 16-16s16 7.2 16 16v8c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48v-8c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faFilePlus = {\n prefix: 'fal',\n iconName: 'file-plus',\n icon: [384, 512, [], \"f319\", \"M320 480H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H192V144c0 26.5 21.5 48 48 48H352V448c0 17.7-14.3 32-32 32zM240 160c-8.8 0-16-7.2-16-16V32.5c2.8 .7 5.4 2.1 7.4 4.2L347.3 152.6c2.1 2.1 3.5 4.6 4.2 7.4H240zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V163.9c0-12.7-5.1-24.9-14.1-33.9L254.1 14.1c-9-9-21.2-14.1-33.9-14.1H64zM176 416c0 8.8 7.2 16 16 16s16-7.2 16-16V352h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H208V256c0-8.8-7.2-16-16-16s-16 7.2-16 16v64H112c-8.8 0-16 7.2-16 16s7.2 16 16 16h64v64z\"]\n};\nvar faDrawSquare = {\n prefix: 'fal',\n iconName: 'draw-square',\n icon: [448, 512, [], \"f5ef\", \"M64 128a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0-96c29.8 0 54.9 20.4 62 48H322c7.1-27.6 32.2-48 62-48c35.3 0 64 28.7 64 64c0 29.8-20.4 54.9-48 62V354c27.6 7.1 48 32.2 48 62c0 35.3-28.7 64-64 64c-29.8 0-54.9-20.4-62-48H126c-7.1 27.6-32.2 48-62 48c-35.3 0-64-28.7-64-64c0-29.8 20.4-54.9 48-62V158C20.4 150.9 0 125.8 0 96C0 60.7 28.7 32 64 32zm62 368H322c5.8-22.5 23.5-40.2 46-46V158c-22.5-5.8-40.2-23.5-46-46H126c-5.8 22.5-23.5 40.2-46 46V354c22.5 5.8 40.2 23.5 46 46zM96 416a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm256 0a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm32-288a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faToiletPaperUnderSlash = {\n prefix: 'fal',\n iconName: 'toilet-paper-under-slash',\n icon: [640, 512, [\"toilet-paper-reverse-slash\"], \"e2a1\", \"M500.4 480H240c-8.8 0-16-7.2-16-16V416H192v48c0 26.5 21.5 48 48 48H528c3.9 0 7.7-.5 11.3-1.3L500.4 480zM544 327.6v23.7l32 25.3V192c0-50.8-11.2-97.5-30.1-132.1C527.4 25.9 499.1 0 464 0H176c-19.3 0-36.5 7.8-51.1 20.4l25.8 20.4c8.5-6 17.1-8.8 25.3-8.8H401.3c-7.2 8.2-13.6 17.7-19.2 27.9C363.2 94.5 352 141.2 352 192c0 2.6 0 5.2 .1 7.8l33.9 26.7c-1.3-11.1-1.9-22.6-1.9-34.5c0-46.5 10.3-87.7 26.2-116.8C426.4 45.5 446.1 32 464 32s37.6 13.5 53.8 43.2C533.7 104.3 544 145.5 544 192s-10.3 87.7-26.2 116.8c-2.9 5.4-6 10.3-9.2 14.6l25.1 19.8c3.7-4.9 7.1-10.2 10.2-15.7zM64 192c0 50.8 11.2 97.5 30.1 132.1c18.6 34 46.8 59.9 81.9 59.9H378.8l-40.5-32H176c-17.9 0-37.6-13.5-53.8-43.2C106.3 279.7 96 238.5 96 192c0-10.3 .5-20.4 1.5-30.1L68.2 138.8c-2.8 17-4.2 34.8-4.2 53.2zm400 48c-6.4 0-11.9-11.3-14.5-27.6c-1-6.2-1.5-13.1-1.5-20.4s.5-14.2 1.5-20.4c2.6-16.3 8.1-27.6 14.5-27.6s11.9 11.3 14.5 27.6c1 6.2 1.5 13.1 1.5 20.4s-.5 14.2-1.5 20.4c-2.6 16.3-8.1 27.6-14.5 27.6zm0 32c16.2 0 26.6-9.9 31.4-16c5.1-6.4 8.2-13.8 10.3-20c4.2-12.7 6.3-28.3 6.3-44.1s-2.1-31.3-6.3-44.1c-2.1-6.2-5.2-13.5-10.3-20c-4.8-6.1-15.1-16-31.4-16s-26.6 9.9-31.4 16c-5.1 6.4-8.2 13.8-10.3 20c-4.2 12.7-6.3 28.3-6.3 44.1s2.1 31.3 6.3 44.1c2.1 6.2 5.2 13.5 10.3 20c4.8 6.1 15.1 16 31.4 16zM25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4z\"]\n};\nvar faToiletPaperReverseSlash = faToiletPaperUnderSlash;\nvar faStairs = {\n prefix: 'fal',\n iconName: 'stairs',\n icon: [576, 512, [], \"e289\", \"M416 48c0-8.8 7.2-16 16-16H560c8.8 0 16 7.2 16 16s-7.2 16-16 16H448V176c0 8.8-7.2 16-16 16H304V336c0 8.8-7.2 16-16 16H160V464c0 8.8-7.2 16-16 16H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H128V336c0-8.8 7.2-16 16-16H272V176c0-8.8 7.2-16 16-16H416V48z\"]\n};\nvar faDroneFront = {\n prefix: 'fal',\n iconName: 'drone-front',\n icon: [640, 512, [\"drone-alt\"], \"f860\", \"M144 96c8.8 0 16 7.2 16 16v16H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H128V112c0-8.8 7.2-16 16-16zm352 0c8.8 0 16 7.2 16 16v16H624c8.8 0 16 7.2 16 16s-7.2 16-16 16H368c-8.8 0-16-7.2-16-16s7.2-16 16-16H480V112c0-8.8 7.2-16 16-16zM128 256V192h32v55.1l12.6 7.9 50.6-33.7C251.9 202.2 285.5 192 320 192s68.1 10.2 96.8 29.3L467.4 255l12.6-7.9V192h32v64c0 5.5-2.8 10.6-7.5 13.6l-58.1 36.3 7.7 9.2c16.8 20.1 26 45.5 26 71.7V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V386.8c0-18.7-6.6-36.8-18.5-51.2L419 323l-42.5 26.6c-2.5 1.6-5.5 2.4-8.5 2.4H272c-3 0-5.9-.8-8.5-2.4L221 323l-10.5 12.6c-12 14.4-18.5 32.5-18.5 51.2V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V386.8c0-26.2 9.2-51.6 26-71.7l7.7-9.2-58.1-36.3c-4.7-2.9-7.5-8.1-7.5-13.6zm309.6 17.6l-38.5-25.7C375.7 232.3 348.1 224 320 224s-55.6 8.3-79.1 23.9l-38.5 25.7L276.6 320h86.8l74.2-46.4z\"]\n};\nvar faDroneAlt = faDroneFront;\nvar faGlassEmpty = {\n prefix: 'fal',\n iconName: 'glass-empty',\n icon: [384, 512, [], \"e191\", \"M40.1 32c-4.7 0-8.4 4-8 8.7l34.6 410C68.1 467.3 81.9 480 98.6 480H285.4c16.6 0 30.5-12.7 31.9-29.3l34.6-410c.4-4.7-3.3-8.7-8-8.7H40.1zM.2 43.4C-1.7 20 16.7 0 40.1 0H343.8c23.4 0 41.8 20 39.9 43.4l-34.6 410c-2.8 33.1-30.5 58.6-63.8 58.6H98.6c-33.3 0-61-25.5-63.8-58.6L.2 43.4z\"]\n};\nvar faDialHigh = {\n prefix: 'fal',\n iconName: 'dial-high',\n icon: [576, 512, [], \"e15c\", \"M288 56a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0 248H415c-7.9 63.1-61.7 112-127 112c-70.7 0-128-57.3-128-128s57.3-128 128-128c65.3 0 119.1 48.9 127 112H288c-8.8 0-16 7.2-16 16s7.2 16 16 16zm160-16a160 160 0 1 0 -320 0 160 160 0 1 0 320 0zm120 0a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM32 312a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM120 96A24 24 0 1 0 72 96a24 24 0 1 0 48 0zm360 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM120 480a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm360 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faUserHelmetSafety = {\n prefix: 'fal',\n iconName: 'user-helmet-safety',\n icon: [448, 512, [128119, \"user-construction\", \"user-hard-hat\"], \"f82c\", \"M176 60.8c-28.7 16.6-48 47.6-48 83.2H320c0-35.5-19.3-66.6-48-83.2V80c0 8.8-7.2 16-16 16s-16-7.2-16-16V32H208V80c0 8.8-7.2 16-16 16s-16-7.2-16-16V60.8zM271.2 25C318.5 43.8 352 90 352 144l16 0c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16s7.2-16 16-16l16 0c0-54 33.5-100.2 80.8-119C180 10.7 192.7 0 208 0h32c15.3 0 28 10.7 31.2 25zM224 320c-65.3 0-119.1-48.9-127-112h32.3c7.6 45.4 47.1 80 94.7 80s87.1-34.6 94.7-80H351c-7.9 63.1-61.7 112-127 112zM415.8 480c-3.3-53.6-47.8-96-102.2-96H134.4C80 384 35.5 426.4 32.2 480H415.8zM0 486.4C0 412.2 60.2 352 134.4 352H224h89.6C387.8 352 448 412.2 448 486.4c0 14.1-11.5 25.6-25.6 25.6H25.6C11.5 512 0 500.5 0 486.4z\"]\n};\nvar faUserConstruction = faUserHelmetSafety;\nvar faUserHardHat = faUserHelmetSafety;\nvar faI = {\n prefix: 'fal',\n iconName: 'i',\n icon: [320, 512, [105], \"49\", \"M16 32C7.2 32 0 39.2 0 48s7.2 16 16 16H144V448H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H304c8.8 0 16-7.2 16-16s-7.2-16-16-16H176V64H304c8.8 0 16-7.2 16-16s-7.2-16-16-16H160 16z\"]\n};\nvar faHryvniaSign = {\n prefix: 'fal',\n iconName: 'hryvnia-sign',\n icon: [384, 512, [8372, \"hryvnia\"], \"f6f2\", \"M99.7 86.1C121.3 71.7 146.7 64 172.6 64H231c40.3 0 73 32.7 73 73c0 21.4-9.3 41.3-25 55H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H220.2L106 281.1c-4.1 2.1-8.1 4.4-11.8 6.9H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H63.6C53.6 336.2 48 355.2 48 375c0 58 47 105 105 105h58.4c32.3 0 63.8-9.5 90.6-27.4l10.9-7.2c7.4-4.9 9.3-14.8 4.4-22.2s-14.8-9.3-22.2-4.4l-10.9 7.2c-21.6 14.4-46.9 22.1-72.9 22.1H153c-40.3 0-73-32.7-73-73c0-21.4 9.3-41.3 25-55H368c8.8 0 16-7.2 16-16s-7.2-16-16-16H163.8L278 230.9c4.1-2.1 8.1-4.4 11.8-6.9H368c8.8 0 16-7.2 16-16s-7.2-16-16-16H320.4c10-16.2 15.6-35.2 15.6-55c0-58-47-105-105-105H172.6c-32.3 0-63.8 9.5-90.6 27.4L71.1 66.7c-7.4 4.9-9.3 14.8-4.4 22.2s14.8 9.3 22.2 4.4l10.9-7.2z\"]\n};\nvar faHryvnia = faHryvniaSign;\nvar faArrowDownLeftAndArrowUpRightToCenter = {\n prefix: 'fal',\n iconName: 'arrow-down-left-and-arrow-up-right-to-center',\n icon: [512, 512, [], \"e092\", \"M507.3 27.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L320 169.4 320 64c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 144c0 8.8 7.2 16 16 16l144 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-105.4 0L507.3 27.3zM4.7 484.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L192 342.6 192 448c0 8.8 7.2 16 16 16s16-7.2 16-16l0-144c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16s7.2 16 16 16H169.4L4.7 484.7z\"]\n};\nvar faPills = {\n prefix: 'fal',\n iconName: 'pills',\n icon: [576, 512, [], \"f484\", \"M112 64c44.2 0 80 35.8 80 80V256H32V144c0-44.2 35.8-80 80-80zM32 368V288H192v80c0 44.2-35.8 80-80 80s-80-35.8-80-80zM0 144V368c0 61.9 50.1 112 112 112s112-50.1 112-112V144c0-61.9-50.1-112-112-112S0 82.1 0 144zM416 448c-70.7 0-128-57.3-128-128c0-29.6 10-56.8 26.9-78.5L494.5 421.1C472.8 438 445.6 448 416 448zM337.5 218.9C359.2 202 386.4 192 416 192c70.7 0 128 57.3 128 128c0 29.6-10 56.8-26.9 78.5L337.5 218.9zM416 480a160 160 0 1 0 0-320 160 160 0 1 0 0 320z\"]\n};\nvar faFaceGrinWide = {\n prefix: 'fal',\n iconName: 'face-grin-wide',\n icon: [512, 512, [128515, \"grin-alt\"], \"f581\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm90-166.2c-22.6 23.6-54.5 38.3-89.9 38.3s-67.3-14.7-89.9-38.3c28.5 5.4 58.7 8.3 89.9 8.3s61.4-2.9 89.9-8.3zm33.8-41.1c-37.3 11.1-79.3 17.4-123.8 17.4s-86.4-6.3-123.8-17.4c-12.3-3.7-24.2 7-19.1 18.7c24.1 54.6 79 92.7 142.8 92.7s118.7-38.1 142.8-92.7c5.2-11.7-6.8-22.4-19.1-18.7zM192 144c0-8.8-7.2-16-16-16s-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V144zm160 0c0-8.8-7.2-16-16-16s-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V144z\"]\n};\nvar faGrinAlt = faFaceGrinWide;\nvar faTooth = {\n prefix: 'fal',\n iconName: 'tooth',\n icon: [448, 512, [129463], \"f5c9\", \"M132 64c14.7 0 29 4.8 40.8 13.6l41.6 31.2 21.3 16c7.1 5.3 17.1 3.9 22.4-3.2s3.9-17.1-3.2-22.4l-5.4-4 16.3-13.9c13-11.1 29.5-17.2 46.6-17.2c39.5 0 71.6 32.1 71.6 71.6v3c0 11.6-2.7 23-7.9 33.4L354 216.3c-6.2 12.3-10.5 25.5-13 39.1L307.4 443.6 279.3 331.2C272.9 305.8 250.1 288 224 288s-48.9 17.8-55.3 43.2L140.6 443.6 107 255.4c-2.4-13.6-6.8-26.7-13-39.1L71.9 172c-5.2-10.4-7.9-21.8-7.9-33.4V132c0-37.6 30.4-68 68-68zm91.3 11.5L192 52c-17.3-13-38.4-20-60-20C76.8 32 32 76.8 32 132v6.6c0 16.6 3.9 32.9 11.3 47.7l22.2 44.3c4.8 9.6 8.2 19.8 10.1 30.4l34.6 193.6c2.6 14.7 15.4 25.4 30.4 25.4c14.1 0 26.5-9.6 29.9-23.4l29.4-117.7c2.8-11.1 12.8-18.9 24.2-18.9s21.5 7.8 24.2 18.9l29.4 117.7c3.4 13.7 15.8 23.4 29.9 23.4c14.9 0 27.7-10.7 30.4-25.4L372.5 261c1.9-10.6 5.3-20.8 10.1-30.4l22.2-44.3c7.4-14.8 11.3-31.1 11.3-47.7v-3C416 78.4 369.6 32 312.4 32c-24.7 0-48.6 8.8-67.4 24.9L223.3 75.5z\"]\n};\nvar faBasketballHoop = {\n prefix: 'fal',\n iconName: 'basketball-hoop',\n icon: [640, 512, [], \"f435\", \"M35.1 201.9C51.5 170.8 135.3 32 320 32s268.5 138.8 284.9 169.9c2.1 4 3.1 8.4 3.1 13V331.2c0 12.6-7.4 24.1-19 29.2l-79.2 35.2-5 37.2L602 389.7c23.1-10.3 38-33.2 38-58.5V214.9c0-8.9-1.8-18.6-6.8-28C615.3 153.1 523.3 0 320 0S24.7 153.1 6.8 187C1.8 196.3 0 206 0 214.9V331.2c0 25.3 14.9 48.2 38 58.5l97.2 43.2-5-37.2L51 360.4c-11.6-5.1-19-16.6-19-29.2V214.9c0-4.6 .9-9 3.1-13zM192 176c0-8.8 7.2-16 16-16H432c8.8 0 16 7.2 16 16v32h32V176c0-26.5-21.5-48-48-48H208c-26.5 0-48 21.5-48 48v32h32V176zm-48 64H128c-8.8 0-16 7.2-16 16s7.2 16 16 16h18l30.1 226.1c.8 6.2 5.2 11.4 11.3 13.2s12.6-.1 16.7-4.8l48.3-55.7 56.3 56.5c3 3 7.1 4.7 11.3 4.7s8.3-1.7 11.3-4.7l56.3-56.5 48.3 55.7c4.1 4.8 10.6 6.7 16.7 4.8s10.4-7 11.3-13.2L494 272h18c8.8 0 16-7.2 16-16s-7.2-16-16-16H496 480.2c-.2 0-.3 0-.5 0H448 400.1c-.1 0-.1 0-.2 0H368.1c0 0-.1 0-.1 0H272.1c0 0-.1 0-.1 0H240.1c-.1 0-.1 0-.2 0H192 160.3c-.2 0-.3 0-.5 0H144zm34.3 32h54.4l1.4 1.7-48.6 53.1L178.3 272zM279 272H361l2.1 2.2-43 49.6-43-49.6L279 272zm128.3 0h54.4l-7.3 54.7-48.6-53.1 1.4-1.7zM320 473.3l-46.6-46.8L320 372.7l46.6 53.8L320 473.3zm-69.3-69.5l-48.1-48.3L255.2 298l43.6 50.3-48.1 55.5zm-21 24.2l-26.5 30.6-8.8-66.1 35.3 35.5zm159.6-24.2l-48.1-55.5L384.8 298l52.6 57.5-48.1 48.3zm21 24.2l35.3-35.5-8.8 66.1-26.5-30.6z\"]\n};\nvar faObjectsAlignBottom = {\n prefix: 'fal',\n iconName: 'objects-align-bottom',\n icon: [512, 512, [], \"e3bb\", \"M16 512c-8.8 0-16-7.2-16-16s7.2-16 16-16l480 0c8.8 0 16 7.2 16 16s-7.2 16-16 16L16 512zM176 352c8.8 0 16-7.2 16-16l0-288c0-8.8-7.2-16-16-16H112c-8.8 0-16 7.2-16 16l0 288c0 8.8 7.2 16 16 16h64zm-64 32c-26.5 0-48-21.5-48-48L64 48C64 21.5 85.5 0 112 0h64c26.5 0 48 21.5 48 48l0 288c0 26.5-21.5 48-48 48H112zm288-32c8.8 0 16-7.2 16-16l0-160c0-8.8-7.2-16-16-16H336c-8.8 0-16 7.2-16 16l0 160c0 8.8 7.2 16 16 16h64zm-64 32c-26.5 0-48-21.5-48-48l0-160c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48l0 160c0 26.5-21.5 48-48 48H336z\"]\n};\nvar faV = {\n prefix: 'fal',\n iconName: 'v',\n icon: [384, 512, [118], \"56\", \"M9.8 33.3c8.1-3.4 17.5 .4 21 8.5L192 422.9 353.3 41.8c3.4-8.1 12.8-11.9 21-8.5s11.9 12.8 8.5 21l-176 416c-2.5 5.9-8.3 9.8-14.7 9.8s-12.2-3.8-14.7-9.8L1.3 54.2c-3.4-8.1 .4-17.5 8.5-21z\"]\n};\nvar faSparkles = {\n prefix: 'fal',\n iconName: 'sparkles',\n icon: [512, 512, [10024], \"f890\", \"M432 32c8.8 0 16 7.2 16 16V96h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H448v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V128H368c-8.8 0-16-7.2-16-16s7.2-16 16-16h48V48c0-8.8 7.2-16 16-16zm0 288c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H448v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V416H368c-8.8 0-16-7.2-16-16s7.2-16 16-16h48V336c0-8.8 7.2-16 16-16zM136.8 216.4L54.2 254.6l82.6 38.1c6.9 3.2 12.4 8.7 15.6 15.6l38.1 82.6 38.1-82.6c3.2-6.9 8.7-12.4 15.6-15.6l82.6-38.1-82.6-38.1c-6.9-3.2-12.4-8.7-15.6-15.6l-38.1-82.6-38.1 82.6c-3.2 6.9-8.7 12.4-15.6 15.6zM123.4 321.8L9.3 269.1C3.6 266.5 0 260.8 0 254.6s3.6-11.9 9.3-14.5l114.1-52.7L176 73.3c2.6-5.7 8.3-9.3 14.5-9.3s11.9 3.6 14.5 9.3l52.7 114.1L371.8 240c5.7 2.6 9.3 8.3 9.3 14.5s-3.6 11.9-9.3 14.5L257.8 321.8 205.1 435.8c-2.6 5.7-8.3 9.3-14.5 9.3s-11.9-3.6-14.5-9.3L123.4 321.8z\"]\n};\nvar faSquid = {\n prefix: 'fal',\n iconName: 'squid',\n icon: [512, 512, [129425], \"e450\", \"M245.6 4.6c3.5-3.4 8.3-5.1 13.2-4.5L391.1 15.8C419.3 9.3 450.4 4.3 484.9 1c15-1.4 27.6 11.2 26.2 26.2c-3.3 34.4-8.4 65.6-14.8 93.7L512.8 254c.6 4.9-1.1 9.8-4.6 13.3s-8.4 5.2-13.3 4.6l-57.9-7.1c-7.3 10.7-14.9 20.4-22.8 29.1c-43.9 48.9-94.7 68.2-136.9 72.9l40.1 40.1c6.1 6.1 15.9 6.3 22.2 .4l66.8-62c18.9-17.6 48.3-17 66.6 1.2l34.2 34.2c6 6 6.3 15.5 .7 21.9l-11 12.5c-30.5 34.8-84.1 36.6-116.8 3.9l-2.9-2.9-15.9 14.7c-18.9 17.6-48.3 17-66.6-1.2l-50.3-50.3-30.1 20.7 38.1 38.1c18.7 18.7 18.7 49.1 0 67.9l-1.4 1.4c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l1.4-1.4c6.2-6.2 6.2-16.4 0-22.6l-42.3-42.3L153.3 442c-5.8 4-9.1 10.5-9 17.5c.2 11.4 9.5 20.5 20.8 20.5h11.7c8.8 0 16 7.2 16 16s-7.2 16-16 16H165.2c-28.9 0-52.4-23.1-52.8-52c-.3-17.7 8.3-34.4 22.9-44.4l29.5-20.3-48.1-48.1L95.9 377.4C86.2 391.6 70.2 400 53 400C24.2 400 .9 376.7 .9 347.9V336c0-8.8 7.2-16 16-16s16 7.2 16 16v11.9c0 11.1 9 20.1 20.1 20.1c6.6 0 12.8-3.3 16.6-8.7l24.1-35L51.3 281.9c-6.2-6.2-16.4-6.2-22.6 0l-1.4 1.4c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l1.4-1.4c18.7-18.7 49.1-18.7 67.9 0l38.1 38.1 20.7-30.1L82.5 217.1c-18.3-18.3-18.8-47.7-1.2-66.6L96 134.6l-2.9-2.9C60.3 99 62.1 45.4 96.9 14.9L109.5 4c6.3-5.5 15.9-5.2 21.8 .7l34.2 34.2c18.3 18.3 18.8 47.7 1.2 66.6l-62 66.8c-5.9 6.3-5.7 16.1 .4 22.2l40.1 40.1c4.7-42.2 24-93 72.9-136.9c8.8-7.9 18.5-15.5 29.2-22.8L241 17.8c-.5-4.9 1.2-9.7 4.6-13.1zm31.9 52c11.7-6.2 24.4-12.1 38-17.6L275 34.3l2.5 22.4zM135.1 320.5l56.4 56.4 45.2-31.1c9.5-6.5 20.2-9.5 30.6-10.3c36.3-2.6 82.7-18 123.2-63.1c39.6-44.1 74.6-117.8 87.7-238.7C357.3 46.9 283.6 81.9 239.5 121.5C194.4 162 179 208.4 176.4 244.7c-.7 10.3-3.8 21.1-10.3 30.6l-31.1 45.2zm320.1-85.7l23.3 2.9-5.2-42c-5.6 14.1-11.7 27.1-18.1 39.1zM117.8 111.2l25.5-27.5c5.9-6.3 5.7-16.1-.4-22.2L119.3 37.9 118 39c-20.9 18.3-22 50.4-2.3 70.1l2.1 2.1zm283 283l2.1 2.1c19.6 19.6 51.8 18.6 70.1-2.3l1.1-1.3-23.6-23.6c-6.1-6.1-15.9-6.3-22.2-.4l-27.5 25.5zM208.9 320a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm-16-48a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faLeafyGreen = {\n prefix: 'fal',\n iconName: 'leafy-green',\n icon: [576, 512, [129388], \"e41d\", \"M233.8 27c-38-36.5-98.4-36-135.8 1.5C92 34.4 87 40.8 83 47.7C70 69.6 50.6 89.9 30.9 105.9c-2.3 1.8-4.4 3.8-6.5 5.9C-1.4 137.6-6.8 176.2 8.5 207.2c5.7 11.7 11 24.1 11 37.1v35.7c0 14.7 5.8 28.8 16.3 39.2l26.3 26.3c10.4 10.4 16.3 24.5 16.3 39.2l0 12.9c0 2.9 .2 5.8 .7 8.7l7.6-7.6c6-6 9.4-14.1 9.4-22.6V336.9c-3.3-5-7-9.6-11.3-13.9L58.3 296.7c-4.4-4.4-6.9-10.4-6.9-16.6V244.4c0-21.1-8.5-39.3-14.3-51.2c-9.4-19.2-6-42.9 9.8-58.7L25.2 112.6 47 134.4c1.3-1.3 2.7-2.5 4-3.6C72.8 113.2 95.1 90.1 110.5 64c2.7-4.6 6.1-8.9 10.1-13c25.4-25.4 66.6-25.4 92.1 0l14.7-14.7L212.6 51.1c1.7 1.7 3.2 3.4 4.6 5.1c2.8-6.9 6.2-13.6 10.1-19.8c2-3.2 4.2-6.4 6.4-9.4zM68.7 507.3c6.2 6.2 16.4 6.2 22.6 0l0 0 40.6-40.6c12-12 28.3-18.7 45.3-18.7h68.4c17 0 33.3-6.7 45.3-18.7l10.5-10.5c12-12 28.3-18.7 45.3-18.7h43c17 0 33.3-6.7 45.3-18.7l29.1-29.1c10.7-10.7 25-16.4 39.3-21.3C540.9 317.9 568 282.1 568 240c0-3.4-.2-6.8-.5-10.1c-3.1-29.1-2.3-61.5 5-89.9c2.3-8.9 3.5-18.3 3.5-28C576 50.1 525.9 0 464 0c-9.7 0-19 1.2-28 3.5c-28.4 7.3-60.8 8.1-89.9 5c-3.3-.3-6.7-.5-10.1-.5c-42.1 0-77.9 27.1-90.8 64.9c-4.9 14.3-10.6 28.6-21.3 39.3l-29.1 29.1c-12 12-18.7 28.3-18.7 45.3v43c0 17-6.7 33.3-18.7 45.3l-10.5 10.5c-12 12-18.7 28.3-18.7 45.3v68.4c0 17-6.7 33.3-18.7 45.3L68.7 484.7c-6.2 6.2-6.2 16.4 0 22.6zM182.6 416L283.3 315.3 342.6 256H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H374.6l68.7-68.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-96 96L288 265.4V208c0-8.8-7.2-16-16-16s-16 7.2-16 16v89.4l-96 96V330.5c0-8.5 3.4-16.6 9.4-22.6l10.5-10.5c18-18 28.1-42.4 28.1-67.9v-43c0-8.5 3.4-16.6 9.4-22.6l29.1-29.1c16.4-16.4 24-37.1 29-51.5C284.1 58 308 40 336 40c2.3 0 4.6 .1 6.8 .4c31.7 3.3 68.1 2.7 101.2-5.8c6.4-1.6 13-2.5 20-2.5c44.2 0 80 35.8 80 80c0 6.9-.9 13.6-2.5 20c-8.5 33.1-9.2 69.5-5.8 101.2c.2 2.2 .4 4.5 .4 6.8c0 28-18 51.9-43.2 60.6c-14.4 4.9-35.2 12.6-51.5 29l-29.1 29.1c-6 6-14.1 9.4-22.6 9.4h-43c-25.5 0-49.9 10.1-67.9 28.1l-10.5 10.5c-6 6-14.1 9.4-22.6 9.4H182.6z\"]\n};\nvar faCircleArrowUpRight = {\n prefix: 'fal',\n iconName: 'circle-arrow-up-right',\n icon: [512, 512, [], \"e0fc\", \"M256 480a224 224 0 1 0 0-448 224 224 0 1 0 0 448zM256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zM200 160H336c8.8 0 16 7.2 16 16V320c0 8.8-7.2 16-16 16s-16-7.2-16-16V214.6L187.3 347.3c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L297.4 192H200c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faCalendars = {\n prefix: 'fal',\n iconName: 'calendars',\n icon: [512, 512, [], \"e0d7\", \"M208 0c8.8 0 16 7.2 16 16V64H384V16c0-8.8 7.2-16 16-16s16 7.2 16 16V64h32c35.3 0 64 28.7 64 64v64V352c0 35.3-28.7 64-64 64H160c-35.3 0-64-28.7-64-64V192 128c0-35.3 28.7-64 64-64h32V16c0-8.8 7.2-16 16-16zM160 96c-17.7 0-32 14.3-32 32v32H480V128c0-17.7-14.3-32-32-32H160zm320 96H128V352c0 17.7 14.3 32 32 32H448c17.7 0 32-14.3 32-32V192zM32 208V384c0 53 43 96 96 96H368c8.8 0 16 7.2 16 16s-7.2 16-16 16H128C57.3 512 0 454.7 0 384V208c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faBangladeshiTakaSign = {\n prefix: 'fal',\n iconName: 'bangladeshi-taka-sign',\n icon: [384, 512, [], \"e2e6\", \"M50 32.1C41.2 31 33.2 37.2 32.1 46S37.2 62.8 46 63.9l7.9 1c24 3 42 23.4 42 47.6V192H48c-8.8 0-16 7.2-16 16s7.2 16 16 16H96V400c0 44.2 35.8 80 80 80h32c97.2 0 176-78.8 176-176V272c0-44.2-35.8-80-80-80H272c-8.8 0-16 7.2-16 16s7.2 16 16 16h32c26.5 0 48 21.5 48 48v32c0 79.5-64.5 144-144 144H176c-26.5 0-48-21.5-48-48V224h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H128V112.5c0-40.3-30-74.4-70.1-79.4l-7.9-1z\"]\n};\nvar faBicycle = {\n prefix: 'fal',\n iconName: 'bicycle',\n icon: [640, 512, [128690], \"f206\", \"M304 32c-8.8 0-16 7.2-16 16s7.2 16 16 16h38.3l50.5 96H223.5l-33.7-56.2c-2.9-4.8-8.1-7.8-13.7-7.8H112c-8.8 0-16 7.2-16 16s7.2 16 16 16h54.9L197 178.2l-26.5 53.1c-13.3-4.7-27.6-7.2-42.5-7.2C57.3 224 0 281.3 0 352s57.3 128 128 128c65.3 0 119.1-48.9 127-112h65c5.9 0 11.2-3.2 14-8.3l83.4-152.9 21.2 40.3C405.6 270.2 384 308.6 384 352c0 70.7 57.3 128 128 128s128-57.3 128-128s-57.3-128-128-128c-15.8 0-31 2.9-45 8.1L368.4 44.8C364.3 36.9 356.1 32 347.2 32H304zM453.8 275.7l44.1 83.8c4.1 7.8 13.8 10.8 21.6 6.7s10.8-13.8 6.7-21.6l-44.1-83.8c9.4-3.1 19.5-4.8 29.9-4.8c53 0 96 43 96 96s-43 96-96 96s-96-43-96-96c0-31.1 14.8-58.8 37.8-76.3zM156 260.2l-40 80.1c-6.4 12.8 2.9 27.8 17.2 27.8h89.5c-7.6 45.4-47.1 80-94.7 80c-53 0-96-43-96-96s43-96 96-96c9.8 0 19.2 1.5 28 4.2zM153.9 336l62.7-125.3L291.7 336H153.9zm88.8-144H389L319.3 319.8 242.7 192z\"]\n};\nvar faHammerWar = {\n prefix: 'fal',\n iconName: 'hammer-war',\n icon: [384, 512, [], \"f6e4\", \"M208 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V53.2L36.7 32.4C17.7 29.5 0 44.7 0 64V256c0 19.3 17.7 34.5 36.7 31.6l150.5-22.6c3.1-.5 6.3-.5 9.5 0l150.5 22.6c19.1 2.9 36.7-12.4 36.7-31.6V64c0-19.3-17.7-34.5-36.7-31.6L208 53.2V16zm0 283.1l-16-2.4-16 2.4V496c0 8.8 7.2 16 16 16s16-7.2 16-16V299.1zM32 255.8V64.2c0 0 .1-.1 .1-.1s.1-.1 .1-.1L182.5 86.6c6.3 .9 12.7 .9 19 0L351.8 64c0 0 .1 .1 .1 .1s.1 .1 .1 .1V255.8c0 0-.1 .1-.1 .1c0 0 0 0-.1 0s0 0-.1 0L201.5 233.4c-6.3-.9-12.7-.9-19 0L32.2 256c0 0-.1-.1-.1-.1s-.1-.1-.1-.1z\"]\n};\nvar faCircleD = {\n prefix: 'fal',\n iconName: 'circle-d',\n icon: [512, 512, [], \"e104\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-160H192V160h64c53 0 96 43 96 96s-43 96-96 96zM190.8 128c-17 0-30.8 13.8-30.8 30.8V353.2c0 17 13.8 30.8 30.8 30.8H256c70.7 0 128-57.3 128-128s-57.3-128-128-128H190.8z\"]\n};\nvar faSpiderBlackWidow = {\n prefix: 'fal',\n iconName: 'spider-black-widow',\n icon: [512, 512, [], \"f718\", \"M151.2 1.7c7.9 4 11.1 13.6 7.2 21.5l-46.1 92.2c-3 6-2 13.2 2.6 18L176 199.3V152c0-32.2 19-59.9 46.3-72.6c7.7-3.6 16.8-.5 20.8 6.9L256 110.3l12.9-23.9c4-7.5 13.2-10.5 20.8-6.9C317 92.1 336 119.8 336 152v47.3l61.2-65.9c4.5-4.9 5.6-12.1 2.6-18L353.7 23.2c-4-7.9-.7-17.5 7.2-21.5s17.5-.7 21.5 7.2L428.4 101c8.9 17.9 5.9 39.5-7.8 54.1l-71.1 76.5 101.6-26.7c5.2-1.4 9.4-5.3 11.1-10.4l18.5-55.6c2.8-8.4 11.9-12.9 20.2-10.1s12.9 11.9 10.1 20.2l-18.5 55.6c-5.1 15.4-17.7 27.1-33.3 31.2L382.9 256l76.5 20.1c15.7 4.1 28.2 15.9 33.3 31.2l18.5 55.6c2.8 8.4-1.7 17.4-10.1 20.2s-17.4-1.7-20.2-10.1l-18.5-55.6c-1.7-5.1-5.9-9-11.1-10.4l-84-22.1L427 368.7c9.4 13.1 11.5 30.1 5.7 45.1l-33.8 87.9c-3.2 8.2-12.4 12.4-20.7 9.2s-12.4-12.4-9.2-20.7l33.8-87.9c1.9-5 1.2-10.7-1.9-15L367.9 341c-2.6 59.5-51.7 107-111.9 107s-109.3-47.5-111.9-107L111 387.3c-3.1 4.4-3.8 10-1.9 15l33.8 87.9c3.2 8.2-.9 17.5-9.2 20.7s-17.5-.9-20.7-9.2L79.2 413.8c-5.8-15.1-3.6-32 5.7-45.1L144.8 285l-84 22.1c-5.2 1.4-9.4 5.3-11.1 10.4L31.2 373.1c-2.8 8.4-11.9 12.9-20.2 10.1S-2 371.3 .8 362.9l18.5-55.6C24.5 292 37 280.2 52.7 276.1L129.1 256 52.7 235.9C37 231.8 24.5 220 19.3 204.6L.8 149.1c-2.8-8.4 1.7-17.4 10.1-20.2s17.4 1.7 20.2 10.1l18.5 55.6c1.7 5.1 5.9 9 11.1 10.4l101.6 26.7L91.4 155.1c-13.6-14.7-16.7-36.2-7.8-54.1L129.7 8.8c4-7.9 13.6-11.1 21.5-7.2zM270.1 151.6c-2.8 5.2-8.2 8.4-14.1 8.4s-11.3-3.2-14.1-8.4l-18.7-34.7c-9.4 8.8-15.2 21.3-15.2 35.1V256v0l0 .4c0 4.6-1.9 8.9-5.3 12C186.3 283 176 304.3 176 328v8c0 44.2 35.8 80 80 80s80-35.8 80-80v-8c0-23.7-10.3-45-26.7-59.6c-3.4-3-5.3-7.4-5.3-12l0-.4v0V152c0-13.8-5.9-26.3-15.2-35.1l-18.7 34.7zM218.4 307.2c-1.6-2.1-2.4-4.6-2.4-7.2c0-6.6 5.4-12 12-12h56c6.6 0 12 5.4 12 12c0 2.6-.8 5.1-2.4 7.2L272 336l21.6 28.8c1.6 2.1 2.4 4.6 2.4 7.2c0 6.6-5.4 12-12 12H228c-6.6 0-12-5.4-12-12c0-2.6 .8-5.1 2.4-7.2L240 336l-21.6-28.8z\"]\n};\nvar faStaffSnake = {\n prefix: 'fal',\n iconName: 'staff-snake',\n icon: [384, 512, [\"rod-asclepius\", \"rod-snake\", \"staff-aesculapius\"], \"e579\", \"M296 48H208V16c0-8.8-7.2-16-16-16s-16 7.2-16 16V48H120 64C28.7 48 0 76.7 0 112s28.7 64 64 64h8c39.8 0 72-32.2 72-72V80h32V192v32 64H128c-17.7 0-32-14.3-32-32s14.3-32 32-32h16V192H128c-35.3 0-64 28.7-64 64s28.7 64 64 64h48v96H112c-8.8 0-16 7.2-16 16s7.2 16 16 16h64v2.7V496c0 8.8 7.2 16 16 16s16-7.2 16-16V450.7 448 416 320h32c26.5 0 48 21.5 48 48s-21.5 48-48 48v32c44.2 0 80-35.8 80-80s-35.8-80-80-80H208V224 192 80h88c30.9 0 56 25.1 56 56s-25.1 56-56 56H240v32h56c48.6 0 88-39.4 88-88s-39.4-88-88-88zM112 80v24c0 22.1-17.9 40-40 40H64c-17.7 0-32-14.3-32-32s14.3-32 32-32h48zM72 120a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faRodAsclepius = faStaffSnake;\nvar faRodSnake = faStaffSnake;\nvar faStaffAesculapius = faStaffSnake;\nvar faPear = {\n prefix: 'fal',\n iconName: 'pear',\n icon: [512, 512, [], \"e20c\", \"M507.3 4.7c6.2 6.2 6.2 16.4 0 22.6L453.1 81.5C470 103.2 480 130.4 480 160c0 30.7-10.8 58.9-28.9 81c-29.9 36.5-61.4 81.8-73.3 127.4c-8.3 32-25 62.3-50.1 87.3c-75 75-196.5 75-271.5 0s-75-196.5 0-271.5c25.1-25.1 55.3-41.8 87.3-50.1c45.7-11.8 90.9-43.4 127.4-73.3c22.1-18 50.3-28.9 81-28.9c29.6 0 56.8 10 78.5 26.9L484.7 4.7c6.2-6.2 16.4-6.2 22.6 0zm-118.6 96l18.9-18.9C391.9 70.6 372.7 64 352 64c-23.1 0-44.2 8.1-60.7 21.6c-37.1 30.3-86.9 65.8-139.7 79.5c-26.6 6.9-51.8 20.8-72.8 41.7c-62.5 62.5-62.5 163.8 0 226.3s163.8 62.5 226.3 0c20.9-20.9 34.8-46.1 41.7-72.8c13.7-52.8 49.2-102.6 79.5-139.7C439.9 204.2 448 183.1 448 160c0-20.7-6.6-39.9-17.7-55.6l-18.9 18.9c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6zM304 336c0 53-43 96-96 96c-8.8 0-16-7.2-16-16s7.2-16 16-16c35.3 0 64-28.7 64-64c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faHeadSideCoughSlash = {\n prefix: 'fal',\n iconName: 'head-side-cough-slash',\n icon: [640, 512, [], \"e062\", \"M224 32h16c66.1 0 127.1 40 153.8 96.9c3.2 6.9 6.5 14.2 9.9 21.7l0 0 0 0 0 0c6.2 13.9 12.7 28.5 19.8 42c11.1 21.3 24.8 42.3 44 59.4l3.2 2.8c6 5.3 9.5 13 9.5 21.1c0 7.4-2.8 14.1-7.4 19.1l25.2 19.9c8.9-10.5 14.3-24.1 14.3-38.9c0-17.2-7.4-33.6-20.2-45l-3.2-2.8c-15.1-13.5-26.6-30.6-36.9-50.3c-6.7-12.7-12.3-25.5-18.2-38.7l0 0 0 0 0 0 0 0 0 0 0 0 0 0c-3.5-7.8-7-15.7-10.8-23.8C390.8 47.3 318.6 0 240 0H224c-34.8 0-67.7 7.9-97.1 22.1l28.5 22.5C176.8 36.4 199.9 32 224 32zM31.3 109.7C11.4 143.1 0 182.2 0 224c0 52.9 18.4 101.6 49.1 140C58.5 375.6 64 388.6 64 401.4V496c0 8.8 7.2 16 16 16s16-7.2 16-16V401.4c0-22.1-9.5-41.9-21.9-57.4C47.7 311.1 32 269.4 32 224c0-34.3 9-66.5 24.7-94.3l-25.4-20zM528.5 339.1l33.7 26.6c8.1-3.8 13.8-12.1 13.8-21.7c0-13.3-10.7-24-24-24c-11.6 0-21.2 8.2-23.5 19.1zm63.6 50.2l32 25.3c9.2-3.3 15.8-12.2 15.8-22.6c0-13.3-10.7-24-24-24c-12.3 0-22.5 9.3-23.9 21.3zM432 426l-23.6-18.7-66.5-5.5c-3.3-.3-5.8-3-5.8-6.4c0-3.2 2.3-5.9 5.5-6.3l37.1-5.3-34.7-27.4-7 1c-18.9 2.7-33 18.9-33 38c0 20 15.3 36.6 35.2 38.2l59.9 5C396.2 448.7 387 456 376 456H304c-8.8 0-16 7.2-16 16v24c0 8.8 7.2 16 16 16s16-7.2 16-16v-8h56c30.9 0 56-25.1 56-56v-6zM640 296a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4z\"]\n};\nvar faFileMov = {\n prefix: 'fal',\n iconName: 'file-mov',\n icon: [512, 512, [], \"e647\", \"M32 448c0 17.7 14.3 32 32 32v32c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H220.1c12.7 0 24.9 5.1 33.9 14.1L369.9 129.9c9 9 14.1 21.2 14.1 33.9V288H352V192H240c-26.5 0-48-21.5-48-48V32H64C46.3 32 32 46.3 32 64V448zM351.5 160c-.7-2.8-2.1-5.4-4.2-7.4L231.4 36.7c-2.1-2.1-4.6-3.5-7.4-4.2V144c0 8.8 7.2 16 16 16H351.5zM157.7 359.8L192 416.9l34.3-57.1c3.7-6.2 11.1-9.1 18-7.2s11.7 8.2 11.7 15.4V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V425.8l-18.3 30.5c-2.9 4.8-8.1 7.8-13.7 7.8s-10.8-3-13.7-7.8L160 425.8V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V368c0-7.2 4.8-13.5 11.7-15.4s14.3 1 18 7.2zM448 368v31.6c0 23 5.5 45.6 16 66c10.5-20.3 16-42.9 16-66V368c0-8.8 7.2-16 16-16s16 7.2 16 16v31.6c0 34.7-10.3 68.7-29.6 97.6l-5.1 7.7c-3 4.5-8 7.1-13.3 7.1s-10.3-2.7-13.3-7.1l-5.1-7.7c-19.3-28.9-29.6-62.9-29.6-97.6V368c0-8.8 7.2-16 16-16s16 7.2 16 16zM288 392c0-22.1 17.9-40 40-40h16c22.1 0 40 17.9 40 40v80c0 22.1-17.9 40-40 40H328c-22.1 0-40-17.9-40-40V392zm40-8c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8V392c0-4.4-3.6-8-8-8H328z\"]\n};\nvar faTriangle = {\n prefix: 'fal',\n iconName: 'triangle',\n icon: [512, 512, [9650], \"f2ec\", \"M235.5 75.8c4.2-7.3 12-11.8 20.5-11.8s16.2 4.5 20.5 11.8l201 344.6c1.6 2.8 2.5 6 2.5 9.3c0 10.2-8.2 18.4-18.4 18.4H50.4C40.2 448 32 439.8 32 429.6c0-3.3 .9-6.4 2.5-9.3l201-344.6zM207.9 59.6L6.9 404.2C2.4 411.9 0 420.7 0 429.6C0 457.4 22.6 480 50.4 480H461.6c27.8 0 50.4-22.6 50.4-50.4c0-8.9-2.4-17.7-6.9-25.4L304.1 59.6C294.1 42.5 275.8 32 256 32s-38.1 10.5-48.1 27.6z\"]\n};\nvar faApartment = {\n prefix: 'fal',\n iconName: 'apartment',\n icon: [576, 512, [], \"e468\", \"M128 128H64c-17.7 0-32 14.3-32 32V448c0 17.7 14.3 32 32 32H192h32V416c0-35.3 28.7-64 64-64s64 28.7 64 64v64h32H512c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32H448c-17.7 0-32-14.3-32-32V64c0-17.7-14.3-32-32-32H192c-17.7 0-32 14.3-32 32V96c0 17.7-14.3 32-32 32zM320 416c0-17.7-14.3-32-32-32s-32 14.3-32 32v64h64V416zm-96 96H192 64c-35.3 0-64-28.7-64-64V160c0-35.3 28.7-64 64-64H96h32V64c0-35.3 28.7-64 64-64H384c35.3 0 64 28.7 64 64v64 32h32 32c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H384 352 336 240 224zm288-88c0 13.3-10.7 24-24 24H440c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v48zm-32-8V384H448v32h32zM136 384H88c-13.3 0-24-10.7-24-24V312c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24zm-8-64H96v32h32V320zm384-24c0 13.3-10.7 24-24 24H440c-13.3 0-24-10.7-24-24V248c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v48zm-32-8V256H448v32h32zM136 256H88c-13.3 0-24-10.7-24-24V184c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24zm-8-64H96v32h32V192zm208 72c0 13.3-10.7 24-24 24H264c-13.3 0-24-10.7-24-24V216c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v48zm-32-8V224H272v32h32zm8-96H264c-13.3 0-24-10.7-24-24V88c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24zm-8-64H272v32h32V96z\"]\n};\nvar faTruckMedical = {\n prefix: 'fal',\n iconName: 'truck-medical',\n icon: [640, 512, [128657, \"ambulance\"], \"f0f9\", \"M352 32c17.7 0 32 14.3 32 32V384H250.5c-13.2-37.3-48.7-64-90.5-64s-77.4 26.7-90.5 64H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H352zM0 352c0 35.3 28.7 64 64 64c0 53 43 96 96 96s96-43 96-96H384c0 53 43 96 96 96s96-43 96-96h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H608V235.8c0-11.5-4.1-22.5-11.6-31.2l-78.7-91.8C508.6 102.1 495.3 96 481.3 96H416V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352zM416 128h65.3c4.7 0 9.1 2 12.1 5.6L570.9 224H416V128zm0 216.4V256H576V384h-5.5c-13.2-37.3-48.7-64-90.5-64c-24.6 0-47 9.2-64 24.4zM160 352a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm256 64a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM192 64c-17.7 0-32 14.3-32 32v32l-32 0c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32h32v32c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V224h32c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32H256V96c0-17.7-14.3-32-32-32H192zm0 32h32v48c0 8.8 7.2 16 16 16h48v32H240c-8.8 0-16 7.2-16 16v48H192V208c0-8.8-7.2-16-16-16H128V160h48c4.2 0 8.3-1.7 11.3-4.7s4.7-7.1 4.7-11.3V96z\"]\n};\nvar faAmbulance = faTruckMedical;\nvar faPepper = {\n prefix: 'fal',\n iconName: 'pepper',\n icon: [512, 512, [129745], \"e432\", \"M195.7 5.8c5.7-6.8 15.7-7.7 22.5-2L208 16C218.2 3.7 218.2 3.7 218.3 3.7l0 0 0 0 .1 .1 .2 .2 .6 .5c.5 .4 1.1 1 1.9 1.7c1.6 1.5 3.7 3.6 6.2 6.3c5 5.5 11.7 13.5 18.3 23.9c10.6 16.8 21.2 40 25 69c19.5-9.3 42.2-12.2 64.7-6.5c10.5 2.6 20.1 6.9 28.7 12.4c21.5-13.8 48.5-19.1 75.3-12.4c51.4 12.9 82.7 65 69.8 116.4l-56 224c-12.9 51.4-65 82.7-116.4 69.8c-10.5-2.6-20.1-6.9-28.7-12.4c-5.7 3.7-11.8 6.7-18.3 9.2c-10.6 4-22 6.1-33.7 6.1c-11.7 0-23.1-2.1-33.7-6.1c-6.5-2.4-12.6-5.5-18.3-9.2c-8.6 5.5-18.3 9.8-28.7 12.4C123.8 522 71.7 490.7 58.9 439.3l-56-224C-10 163.8 21.3 111.7 72.7 98.9c26.8-6.7 53.8-1.4 75.3 12.4c7.5-4.9 15.9-8.7 24.9-11.4c.8-.2 1.5-.4 2.3-.6c.5-.1 1.1-.3 1.6-.4c21.2-5.3 42.6-3.1 61.2 4.9c-3.6-20.9-11.5-37.7-19.5-50.3c-5.4-8.5-10.8-15-14.7-19.3c-2-2.1-3.6-3.7-4.6-4.7c-.5-.5-.9-.9-1.2-1.1l-.2-.2c-6.8-5.7-7.7-15.7-2-22.5zM123.4 134.1c-12.9-6.1-28-8-42.9-4.2c-34.3 8.6-55.1 43.3-46.6 77.6l56 224c8.6 34.3 43.3 55.1 77.6 46.6c10-2.5 18.8-7.2 26.1-13.4c6-5.1 14.8-5.1 20.8 0c5.5 4.7 12 8.6 19.1 11.3l0 0c7.1 2.7 14.7 4.1 22.5 4.1h0c7.8 0 15.4-1.4 22.4-4.1l0 0c7.1-2.7 13.6-6.5 19.1-11.3c6-5.1 14.8-5.1 20.8 0c7.3 6.2 16.1 10.9 26.1 13.4c34.3 8.6 69-12.3 77.6-46.6l56-224c8.6-34.3-12.3-69-46.6-77.6c-20.9-5.2-41.9 .4-57.1 13.4c-6 5.1-14.8 5.1-20.8 0c-7.3-6.2-16.1-10.9-26.1-13.4c-22.4-5.6-44.9 1.3-60.3 16.4c-6.2 6.1-16.2 6.1-22.4 0c-15.4-15.1-38-22-60.3-16.4l0 0c-34.3 8.6-55.1 43.3-46.6 77.6L175.5 358c2.1 8.6-3.1 17.3-11.6 19.4s-17.3-3.1-19.4-11.6L106.9 215.3c-7.3-29.3-.3-58.8 16.5-81.1zM256 512h0l0-16 0 16h0z\"]\n};\nvar faPiano = {\n prefix: 'fal',\n iconName: 'piano',\n icon: [512, 512, [], \"f8d4\", \"M432 384v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V384H368v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V384H240v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V384H176v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V384H112v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V384H32v64c0 17.7 14.3 32 32 32H448c17.7 0 32-14.3 32-32V384H432zm-16-32h64V327.6c0-12.1-6.8-23.2-17.7-28.6l-58.4-29.2c-31.8-15.9-51.9-48.4-51.9-84C352 100.8 283.2 32 198.3 32H192C103.6 32 32 103.6 32 192V352H96h64 64H352h64zm96-24.4V352v16 16 64c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V384 368 352 192C0 86 86 0 192 0h6.3C300.8 0 384 83.2 384 185.7c0 23.5 13.2 44.9 34.2 55.4l58.4 29.2c21.7 10.8 35.4 33 35.4 57.2z\"]\n};\nvar faGunSquirt = {\n prefix: 'fal',\n iconName: 'gun-squirt',\n icon: [576, 512, [], \"e19d\", \"M128 48c0-8.8-7.2-16-16-16s-16 7.2-16 16V64C43 64 0 107 0 160c0 47.3 34.3 86.7 79.4 94.6L33 440.2c-2.4 9.6-.2 19.7 5.8 27.5S54.1 480 64 480H168c14.7 0 27.5-10 31-24.2L225 352h63v16c0 8.8 7.2 16 16 16s16-7.2 16-16V336 304c0-8.8-7.2-16-16-16s-16 7.2-16 16v16H233l16-64H448c35.6 0 66.6-19.3 83.2-48H536c22.1 0 40-17.9 40-40V152c0-22.1-17.9-40-40-40h-4.8C514.6 83.3 483.6 64 448 64H128V48zM112 96H448c26.2 0 48.8 15.8 58.7 38.4c2.5 5.8 8.3 9.6 14.7 9.6H536c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H521.3c-6.4 0-12.1 3.8-14.7 9.6C496.8 208.2 474.2 224 448 224H257 224 96c-35.3 0-64-28.7-64-64s28.7-64 64-64h16zM96 144c-8.8 0-16 7.2-16 16s7.2 16 16 16H448c8.8 0 16-7.2 16-16s-7.2-16-16-16H96zM64 448l48-192H216L168 448H64z\"]\n};\nvar faWheatAwnCircleExclamation = {\n prefix: 'fal',\n iconName: 'wheat-awn-circle-exclamation',\n icon: [640, 512, [], \"e598\", \"M491.2 43.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L341.8 147.5c1-16.8-1.2-33.7-6.7-49.8l54.3-54.4c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L319.9 67.5c-4.5-6.5-9.6-12.8-15.4-18.6L281.9 26.4c-6.2-6.2-16.4-6.2-22.6 0L225.4 60.3c-17.4 17.4-26.7 39.8-28 62.6l-6-6c-6.2-6.2-16.4-6.2-22.6 0l-33.9 33.9c-17.4 17.4-26.7 39.8-28 62.6l-6-6c-6.2-6.2-16.4-6.2-22.6 0L44.4 241.3C7 278.8 7 339.6 44.4 377.1L78.4 411l0 0L4.9 484.5c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L101 433.6l0 0 33.9 33.9c37.5 37.5 98.3 37.5 135.8 0l33.9-33.9c6.2-6.2 6.2-16.4 0-22.6l-6-6c8.3-.5 16.5-2 24.4-4.6c-2-10.5-3-21.4-3-32.4l0-.7c-23.6 10.9-52.5 6.6-72-12.9l-33.9-33.9c31.8-31.8 80.3-36.6 117.1-14.5c4.5-12 10.3-23.4 17.2-33.9c-3.5-2.3-6.9-5-10-8.1L304.6 230c29.8-29.8 74.5-35.9 110.3-18.2c11.6-6.1 24.1-10.9 37-14.2c-2.5-2-5-3.8-7.6-5.6l46.8-46.8c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-54.3 54.4c-16.1-5.5-33-7.8-49.8-6.7L491.2 43.3zM191.8 297.5l-.3 .3-33.9-33.9c-25-25-25-65.5 0-90.5l22.6-22.6 11.3 11.3c37.4 37.4 37.5 97.9 .4 135.4zM248 82.9l22.6-22.6 11.3 11.3c37.5 37.5 37.5 98.2 0 135.7L248 173.4c-25-25-25-65.5 0-90.5zM89.7 241.3l11.3 11.3c37.5 37.5 37.5 98.2 0 135.7L67.1 354.4c-25-25-25-65.5 0-90.5l22.6-22.6zm181 181L248 444.9c-25 25-65.5 25-90.5 0L123.6 411c37.5-37.5 98.2-37.5 135.7 0l11.3 11.3zM384 368a112 112 0 1 1 224 0 112 112 0 1 1 -224 0zm256 0a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zM496 448a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-160c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V304c0-8.8-7.2-16-16-16z\"]\n};\nvar faSnowman = {\n prefix: 'fal',\n iconName: 'snowman',\n icon: [512, 512, [9731, 9924], \"f7d0\", \"M256 0C194.1 0 144 50.1 144 112c0 17.6 4 34.2 11.3 49c-5.7 7.3-10.7 15.2-14.7 23.6L96 169.8V112c0-8.8-7.2-16-16-16s-16 7.2-16 16v47.1L21.1 144.8C12.7 142 3.6 146.6 .8 154.9s1.7 17.4 10.1 20.2L130.4 215c-1.6 8.1-2.4 16.4-2.4 25c0 14 2.2 27.4 6.4 40C110.5 308 96 344.3 96 384c0 41.2 15.6 78.8 41.2 107.2c13.7 15.2 33.2 20.8 51 20.8H323.9c17.8 0 37.3-5.7 51-20.8c25.6-28.4 41.2-66 41.2-107.2c0-39.7-14.5-76-38.4-104c4.1-12.6 6.4-26.1 6.4-40c0-8.5-.8-16.9-2.4-25l119.5-39.8c8.4-2.8 12.9-11.9 10.1-20.2s-11.9-12.9-20.2-10.1L448 159.1V112c0-8.8-7.2-16-16-16s-16 7.2-16 16v57.8l-44.6 14.9c-4.1-8.4-9-16.4-14.7-23.6c7.2-14.8 11.3-31.5 11.3-49C368 50.1 317.9 0 256 0zM176 112c0-44.2 35.8-80 80-80s80 35.8 80 80c0 15.6-4.5 30.2-12.2 42.5c-3.9 6.2-3.1 14.2 1.9 19.5C342 191.2 352 214.4 352 240c0 13.3-2.7 25.9-7.5 37.3c-2.5 5.9-1.2 12.8 3.3 17.4C370.2 317.8 384 349.3 384 384c0 33-12.5 63-32.9 85.7c-5.9 6.6-15.6 10.3-27.2 10.3H188.1c-11.6 0-21.3-3.7-27.2-10.3C140.5 447 128 417 128 384c0-34.7 13.8-66.2 36.3-89.3c4.5-4.6 5.8-11.5 3.3-17.4c-4.8-11.5-7.5-24.1-7.5-37.3c0-25.6 10-48.8 26.3-66c5-5.3 5.8-13.3 1.9-19.5C180.5 142.2 176 127.6 176 112zm96 128a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-16 96a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm16 64a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM224 112a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm80-16a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-64 43.2c0 3.2 .8 6.3 2.3 9l9 16.9c.9 1.7 2.7 2.8 4.7 2.8s3.8-1.1 4.7-2.8l9-16.9c1.5-2.8 2.3-5.9 2.3-9V136c0-8.8-7.2-16-16-16s-16 7.2-16 16v3.2z\"]\n};\nvar faUserAlien = {\n prefix: 'fal',\n iconName: 'user-alien',\n icon: [448, 512, [], \"e04a\", \"M224 32C154.6 32 96 91.1 96 167c0 39.5 21.1 78.5 49.8 112.7c28.3 33.6 60.7 58.7 76 69.6c.1 .1 .8 .5 2.2 .5s2.1-.4 2.2-.5c15.2-10.9 47.7-35.9 76-69.6C330.9 245.5 352 206.5 352 167c0-75.9-58.6-135-128-135zM64 167C64 74.8 135.6 0 224 0s160 74.8 160 167c0 101-106.6 185-139.2 208.3c-6.1 4.3-13.4 6.5-20.8 6.5s-14.7-2.1-20.8-6.5C170.6 352 64 268.1 64 167zm62.1 185.2c12.8 12.5 25.1 23.2 35.8 31.7H134.4C80 384 35.5 426.4 32.2 480H415.8c-3.3-53.6-47.8-96-102.2-96H286.2c10.6-8.6 23-19.3 35.8-31.7C392.3 356.6 448 415 448 486.4c0 14.1-11.5 25.6-25.6 25.6H25.6C11.5 512 0 500.5 0 486.4C0 415 55.7 356.6 126.1 352.3zm23-175.4l48 16c8.4 2.8 12.9 11.9 10.1 20.2s-11.9 12.9-20.2 10.1l-48-16c-8.4-2.8-12.9-11.9-10.1-20.2s11.9-12.9 20.2-10.1zm160 30.4l-48 16c-8.4 2.8-17.4-1.7-20.2-10.1s1.7-17.4 10.1-20.2l48-16c8.4-2.8 17.4 1.7 20.2 10.1s-1.7 17.4-10.1 20.2z\"]\n};\nvar faShieldCheck = {\n prefix: 'fal',\n iconName: 'shield-check',\n icon: [512, 512, [], \"f2f7\", \"M243.5 37.3c8-3.4 17-3.4 25 0l176.7 75c11.3 4.8 18.9 15.5 18.8 27.6c-.5 94-39.4 259.8-195.5 334.5c-7.9 3.8-17.2 3.8-25.1 0C87.3 399.6 48.5 233.8 48 139.8c-.1-12.1 7.5-22.8 18.8-27.6l176.7-75zM281 7.8c-16-6.8-34-6.8-50 0L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.7 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2L281 7.8zm82.3 195.5c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L224 297.4l-52.7-52.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l64 64c6.2 6.2 16.4 6.2 22.6 0l128-128z\"]\n};\nvar faMortarPestle = {\n prefix: 'fal',\n iconName: 'mortar-pestle',\n icon: [512, 512, [], \"f5a7\", \"M478.2 35l0 0c-1.3-1.7-3.2-2.7-5.4-2.9l0 0L476.3 .3 472.8 32l0 0c-2-.2-4 .3-5.6 1.5l-.3 .2 0 0L292.6 160H238.1L448.2 7.9c8.3-6.2 18.4-8.7 28.1-7.6c10.2 1.1 20 6.1 26.9 14.7c2.9 3.6 5.1 7.6 6.6 11.8c2 5.7 2.7 11.7 2.1 17.6c-1 9.7-5.6 19-13.4 25.8L398.1 160H350.1L477 46.3l.3-.3 0 0c1.5-1.3 2.4-3.1 2.7-5.2c.1-1.2 0-2.4-.4-3.5l0 0c-.3-.8-.7-1.6-1.3-2.3zM64 224v32c0 69.4 35.3 122.2 102.6 146.1c9.7 3.5 17.2 11.4 20.1 21.4s.7 20.7-5.8 28.7c-6.6 8.3-11.9 17.7-15.4 27.8H346.5c-3.6-10.1-8.8-19.5-15.4-27.8c-6.4-8.1-8.6-18.8-5.8-28.7s10.3-17.9 20.1-21.4C412.7 378.2 448 325.4 448 256V224H64zM352 480h0c.1 0 .1 0 0 0zm-192 0c-.1 0-.1 0 0 0h0zM512 208c0 8.8-7.2 16-16 16H480v32c0 71.6-32.7 130.1-93.8 163c-9.4 5-19.4 9.5-30.1 13.3c6.8 8.5 12.5 17.8 16.9 27.9c2.9 6.5 5.2 13.2 7 20.2c4.4 17.1-10.4 31.7-28.1 31.7H160c-17.7 0-32.4-14.6-28.1-31.7c1.8-7 4.1-13.7 7-20.2c4.5-10 10.2-19.4 16.9-27.9c-10.7-3.8-20.7-8.2-30.1-13.3C64.7 386.1 32 327.6 32 256V224H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H32 480h16c8.8 0 16 7.2 16 16z\"]\n};\nvar faRoadBarrier = {\n prefix: 'fal',\n iconName: 'road-barrier',\n icon: [640, 512, [], \"e562\", \"M16 32c8.8 0 16 7.2 16 16V80H608l0-32c0-8.8 7.2-16 16-16s16 7.2 16 16l0 32v32V272v32l0 160c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-160H32V464c0 8.8-7.2 16-16 16s-16-7.2-16-16V304 272 112 80 48c0-8.8 7.2-16 16-16zM608 272V112H569.9l-80 160H608zM32 272H70.1l80-160H32V272zM406.1 112H313.9l-80 160h92.2l80-160zm35.8 0l-80 160h92.2l80-160H441.9zm-256 0l-80 160h92.2l80-160H185.9z\"]\n};\nvar faChartCandlestick = {\n prefix: 'fal',\n iconName: 'chart-candlestick',\n icon: [512, 512, [], \"e0e2\", \"M32 48c0-8.8-7.2-16-16-16S0 39.2 0 48V400c0 44.2 35.8 80 80 80H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H80c-26.5 0-48-21.5-48-48V48zm288 0c0-8.8-7.2-16-16-16s-16 7.2-16 16V96c0 .3 0 .5 0 .8c-18.3 3.7-32 19.8-32 39.2v80c0 19.4 13.8 35.5 32 39.2c0 .3 0 .5 0 .8v48c0 8.8 7.2 16 16 16s16-7.2 16-16V256c0-.3 0-.5 0-.8c18.3-3.7 32-19.8 32-39.2V136c0-19.4-13.8-35.5-32-39.2c0-.3 0-.5 0-.8V48zM176 64c-8.8 0-16 7.2-16 16v48c0 .3 0 .5 0 .8c-18.3 3.7-32 19.8-32 39.2V280c0 19.4 13.8 35.5 32 39.2c0 .3 0 .5 0 .8v48c0 8.8 7.2 16 16 16s16-7.2 16-16V320c0-.3 0-.5 0-.8c18.3-3.7 32-19.8 32-39.2V168c0-19.4-13.8-35.5-32-39.2c0-.3 0-.5 0-.8V80c0-8.8-7.2-16-16-16zm144 72v80c0 4.4-3.6 8-8 8H296c-4.4 0-8-3.6-8-8V136c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8zm104 88h16c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H424c-4.4 0-8-3.6-8-8V232c0-4.4 3.6-8 8-8zm-8-32c0 .3 0 .5 0 .8c-18.3 3.7-32 19.8-32 39.2v48c0 19.4 13.8 35.5 32 39.2c0 .3 0 .5 0 .8v48c0 8.8 7.2 16 16 16s16-7.2 16-16V320c0-.3 0-.5 0-.8c18.3-3.7 32-19.8 32-39.2V232c0-19.4-13.8-35.5-32-39.2c0-.3 0-.5 0-.8V144c0-8.8-7.2-16-16-16s-16 7.2-16 16v48zM184 160c4.4 0 8 3.6 8 8V280c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8V168c0-4.4 3.6-8 8-8h16z\"]\n};\nvar faBriefcaseBlank = {\n prefix: 'fal',\n iconName: 'briefcase-blank',\n icon: [512, 512, [], \"e0c8\", \"M160 48V96H352V48c0-8.8-7.2-16-16-16H176c-8.8 0-16 7.2-16 16zM128 96V48c0-26.5 21.5-48 48-48H336c26.5 0 48 21.5 48 48V96h64c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V160c0-35.3 28.7-64 64-64h64zm240 32H144 64c-17.7 0-32 14.3-32 32V416c0 17.7 14.3 32 32 32H448c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32H368z\"]\n};\nvar faSchool = {\n prefix: 'fal',\n iconName: 'school',\n icon: [640, 512, [127979], \"f549\", \"M328.9 2.7c-5.4-3.6-12.4-3.6-17.8 0L171.2 96H64C28.7 96 0 124.7 0 160V448c0 35.3 28.7 64 64 64H256h32 64 32H576c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H468.8L328.9 2.7zM384 384c0-35.3-28.7-64-64-64s-64 28.7-64 64v96H64c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32H176c3.2 0 6.2-.9 8.9-2.7L320 35.2l135.1 90.1c2.6 1.8 5.7 2.7 8.9 2.7H576c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H384V384zm-32 96H288V384c0-17.7 14.3-32 32-32s32 14.3 32 32v96zM96 192v64c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32H128c-17.7 0-32 14.3-32 32zm64 0v64H128V192h32zm320-32c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32H480zm0 32h32v64H480V192zM96 352v64c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32H128c-17.7 0-32 14.3-32 32zm64 0v64H128V352h32zm320-32c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32H480zm0 32h32v64H480V352zM320 128a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm0 160a96 96 0 1 0 0-192 96 96 0 1 0 0 192zm16-128c0-8.8-7.2-16-16-16s-16 7.2-16 16v32c0 8.8 7.2 16 16 16h24c8.8 0 16-7.2 16-16s-7.2-16-16-16h-8V160z\"]\n};\nvar faIgloo = {\n prefix: 'fal',\n iconName: 'igloo',\n icon: [576, 512, [], \"f7ae\", \"M576 320v32 64c0 35.3-28.7 64-64 64H384 192 64c-35.3 0-64-28.7-64-64V320C0 160.9 128.9 32 288 32s288 128.9 288 288zm-32 32H480 448 384v96H512c17.7 0 32-14.3 32-32V352zm0-32c0-46.6-12.5-90.3-34.2-128H480V320h64zM352 192H320 128V320h69.5c13.2-37.3 48.7-64 90.5-64s77.4 26.7 90.5 64H448V192H352zM96 352H32v64c0 17.7 14.3 32 32 32H192V352H128 96zm0-32V192H66.2C44.5 229.7 32 273.4 32 320H96zM487.9 160C453.8 117.5 406.4 86.1 352 72.1V160H487.9zM320 66c-10.5-1.3-21.2-2-32-2c-80.8 0-152.9 37.5-199.9 96H320V66zM288 288c-35.3 0-64 28.7-64 64v96H352V352c0-35.3-28.7-64-64-64z\"]\n};\nvar faBracketRound = {\n prefix: 'fal',\n iconName: 'bracket-round',\n icon: [192, 512, [\"parenthesis\"], \"28\", \"M158.1 40.4c4.2 7.8 1.3 17.5-6.4 21.7C111.5 83.8 32 153.4 32 256s79.5 172.2 119.6 193.9c7.8 4.2 10.7 13.9 6.4 21.7s-13.9 10.7-21.7 6.4C91.2 453.6 0 375.3 0 256S91.2 58.4 136.4 33.9c7.8-4.2 17.5-1.3 21.7 6.4z\"]\n};\nvar faParenthesis = faBracketRound;\nvar faJoint = {\n prefix: 'fal',\n iconName: 'joint',\n icon: [640, 512, [], \"f595\", \"M448 16V43c0 42.4 16.9 83.1 46.9 113.1l21 21c18 18 28.1 42.4 28.1 67.9v27c0 8.8-7.2 16-16 16s-16-7.2-16-16V245c0-17-6.7-33.3-18.7-45.3l-21-21C436.2 142.7 416 93.9 416 43V16c0-8.8 7.2-16 16-16s16 7.2 16 16zM608 272V245c0-42.4-16.9-83.1-46.9-113.1l-21-21C522.1 92.9 512 68.4 512 43V16c0-8.8 7.2-16 16-16s16 7.2 16 16V43c0 17 6.7 33.3 18.7 45.3l21 21c36 36 56.2 84.8 56.2 135.8v27c0 8.8-7.2 16-16 16s-16-7.2-16-16zM116.1 452.3c51.8 14 117 27.7 171.9 27.7h35.2l-71.5-85.8-6.6-7.9c-43.9 4.5-90.2 14.9-129.1 25.3c-22.9 6.2-45.6 12.8-67.8 20.3c22.3 7.4 45 14.2 67.8 20.3zM284.8 384l71.5 85.7 8.5 10.2H483.2l-71.5-85.8L403.2 384H288c-1 0-2.1 0-3.2 0zm160 0l71.5 85.8 8.5 10.2H600c4.4 0 8-3.6 8-8V392c0-4.4-3.6-8-8-8H444.8zM15.8 409.5c30.1-11 61.1-20.3 92-28.6C160.3 366.7 228.8 352 288 352H600c22.1 0 40 17.9 40 40v80c0 22.1-17.9 40-40 40H288c-59.2 0-127.7-14.7-180.2-28.8c-30.8-8.3-62-17.8-92-28.6C6.3 451.1 0 442.1 0 432s6.3-19.1 15.8-22.5z\"]\n};\nvar faHorseSaddle = {\n prefix: 'fal',\n iconName: 'horse-saddle',\n icon: [576, 512, [], \"f8c3\", \"M336 144c0-61.9 50.1-112 112-112h24 8 5.8c24.7 0 45.4 18.8 47.8 43.4l7.7 80.8c1.1 11.9-4.5 23.4-14.7 29.7c-14.4 9-33.4 4.9-42.9-9.2l-6.4-9.6c-3-4.5-8-7.1-13.3-7.1H432c-8.8 0-16 7.2-16 16v52.8c-.3 1.5-.4 3-.3 4.5c.2 2.2 .3 4.4 .3 6.7c0 24-10.4 45.1-26.7 59.6c-3.4 3-5.3 7.4-5.3 11.9V472c0 4.4-3.6 8-8 8H344c-4.4 0-8-3.6-8-8V334.7c0-7.8-5.6-14.5-13.3-15.8c-1.4-.2-2.8-.5-4.3-.8L256 304V254.7c45.4-7.6 80-47.1 80-94.7V144zm-96 80c-35.3 0-64-28.7-64-64h16 40 72c0 35.3-28.7 64-64 64zm-16 30.7v42.1l-21.8-4.9c-5.2-1.2-10.6 .3-14.5 4s-5.7 9-4.8 14.3c.8 4.5 1.1 9.1 1.1 13.7c0 11.3-2.3 22.4-6.7 32.8l-8.1 19c-5 11.7-5.9 24.8-2.5 37l15.9 57.2c1.4 5.1-2.4 10.1-7.7 10.1H141.6c-3.6 0-6.7-2.4-7.7-5.9l-13.5-48.6c-6.3-22.8-4.7-47.1 4.6-68.8l8.1-19c1.9-4.4 2.8-9.1 2.8-13.9c0-4.6-.9-9.3-2.7-13.5L99.9 230.2C97.3 224 96 217.4 96 210.7c0-27.1 21.3-49.2 48-50.6c0 47.5 34.6 87 80 94.6zM192 128H160 146.7c-33.5 0-62.3 19.9-75.3 48.5C31.3 180.8 0 214.7 0 256v48c0 8.8 7.2 16 16 16s16-7.2 16-16V256c0-20.9 13.4-38.7 32-45.3c0 10.9 2.2 21.7 6.4 31.7l33.4 80.1c.2 .4 .2 .8 .2 1.2c0 .4-.1 .9-.3 1.3l-8.1 19c-12.2 28.4-14.3 60.2-6 90l13.5 48.6c4.8 17.3 20.6 29.3 38.5 29.3h33.2c26.5 0 45.6-25.2 38.5-50.7l-15.9-57.2c-1.5-5.3-1.1-10.9 1.1-15.9l8.1-19c5.6-13.1 8.8-27.2 9.2-41.4L304 347.6V472c0 22.1 17.9 40 40 40h32c22.1 0 40-17.9 40-40V318.4c19.6-20 32-47.5 32-78.4c0-1.9-.1-3.9-.1-5.8c.1-.7 .1-1.4 .1-2.2V192h7.4l1.7 2.5c19 28.6 57.4 36.8 86.5 18.6c20.4-12.7 31.8-35.9 29.6-59.9l-7.7-80.8c-1.5-15.5-7.3-29.7-16.3-41.3C555.5 29 560 23 560 16c0-8.8-7.2-16-16-16H485.8 480h-8H448C373.9 0 312.8 56 304.9 128H232 192zM496 96a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faMugMarshmallows = {\n prefix: 'fal',\n iconName: 'mug-marshmallows',\n icon: [512, 512, [], \"f7b7\", \"M357.7 103c6.6 6.6 10.3 15.6 10.3 25H336c0-.9-.3-1.7-1-2.3L277.2 67.8c-2.4-2.4-5.7-3.8-9.2-3.8s-6.7 1.4-9.2 3.8L201 125.7c-.6 .6-1 1.5-1 2.3H168c0-9.4 3.7-18.3 10.3-25l57.9-57.9C244.6 36.7 256.1 32 268 32s23.4 4.7 31.8 13.2L357.7 103zM64 80v48H32V80c0-26.5 21.5-48 48-48H204.1l-32 32H80c-8.8 0-16 7.2-16 16zM32 384c0 35.3 28.7 64 64 64H288c35.3 0 64-28.7 64-64V192H336 128v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V192H32V384zm0-224h80H336h16 48c61.9 0 112 50.1 112 112s-50.1 112-112 112H384c0 53-43 96-96 96H96c-53 0-96-43-96-96V192c0-17.7 14.3-32 32-32zM384 352h16c44.2 0 80-35.8 80-80s-35.8-80-80-80H384V352z\"]\n};\nvar faFilters = {\n prefix: 'fal',\n iconName: 'filters',\n icon: [640, 512, [], \"e17e\", \"M231.1 32C209.5 32 192 49.5 192 71.1c0 9.7 3.6 19.1 10.2 26.3L352 262.2v97.7c0 10.2 4.9 19.9 13.2 25.9L445 443.8c3.8 2.7 8.3 4.2 13 4.2c12.2 0 22-9.9 22-22V262.2L629.8 97.4c6.5-7.2 10.2-16.6 10.2-26.3C640 49.5 622.5 32 600.9 32H231.1zM224 71.1c0-3.9 3.2-7.1 7.1-7.1H600.9c3.9 0 7.1 3.2 7.1 7.1c0 1.8-.7 3.5-1.8 4.8l-154 169.4c-2.7 2.9-4.2 6.8-4.2 10.8V406.4l-64-46.5V256c0-4-1.5-7.8-4.2-10.8L225.8 75.8c-1.2-1.3-1.8-3-1.8-4.8zM164.5 96H39.1C17.5 96 0 113.5 0 135.1c0 9.7 3.6 19.1 10.2 26.3L160 326.2v65.7c0 10.2 4.9 19.9 13.2 25.9L253 475.8c3.8 2.7 8.3 4.2 13 4.2c12.2 0 22-9.9 22-22V326.2L320 291V274.6L305.8 259l-45.7 50.3c-2.7 2.9-4.2 6.8-4.2 10.8V438.4l-64-46.5V320c0-4-1.5-7.8-4.2-10.8L33.8 139.8c-1.2-1.3-1.8-3-1.8-4.8c0-3.9 3.2-7.1 7.1-7.1H186.8l-8.3-9.1c-6.1-6.7-10.8-14.5-14-22.9z\"]\n};\nvar faBellOn = {\n prefix: 'fal',\n iconName: 'bell-on',\n icon: [640, 512, [128365], \"f8fa\", \"M606.3 8.8c4 7.9 .7 17.5-7.2 21.5l-64 32c-7.9 4-17.5 .7-21.5-7.2s-.7-17.5 7.2-21.5l64-32c7.9-4 17.5-.7 21.5 7.2zM304 16c0-8.8 7.2-16 16-16s16 7.2 16 16V32.8c80.9 8 144 76.2 144 159.2v29.1c0 43.7 17.4 85.6 48.3 116.6l2.8 2.8c8.3 8.3 13 19.6 13 31.3c0 24.5-19.8 44.3-44.3 44.3H140.3C115.8 416 96 396.2 96 371.7c0-11.7 4.7-23 13-31.3l2.8-2.8c30.9-30.9 48.3-72.8 48.3-116.6V192c0-83 63.1-151.2 144-159.2V16zm16 48c-70.7 0-128 57.3-128 128v29.1c0 52.2-20.7 102.3-57.7 139.2l-2.8 2.8c-2.3 2.3-3.6 5.4-3.6 8.7c0 6.8 5.5 12.3 12.3 12.3H499.7c6.8 0 12.3-5.5 12.3-12.3c0-3.3-1.3-6.4-3.6-8.7l-2.8-2.8c-36.9-36.9-57.7-87-57.7-139.2V192c0-70.7-57.3-128-128-128zM289.8 458.7c4.4 12.5 16.3 21.3 30.2 21.3s25.8-8.9 30.2-21.3c2.9-8.3 12.1-12.7 20.4-9.8s12.7 12.1 9.8 20.4C371.6 494.2 347.9 512 320 512s-51.6-17.8-60.4-42.7c-2.9-8.3 1.4-17.5 9.8-20.4s17.5 1.4 20.4 9.8zM0 176c0-8.8 7.2-16 16-16H96c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16-7.2-16-16zm544-16h80c8.8 0 16 7.2 16 16s-7.2 16-16 16H544c-8.8 0-16-7.2-16-16s7.2-16 16-16zM40.8 30.3c-7.9-4-11.1-13.6-7.2-21.5s13.6-11.1 21.5-7.2l64 32c7.9 4 11.1 13.6 7.2 21.5s-13.6 11.1-21.5 7.2l-64-32z\"]\n};\nvar faAngleRight = {\n prefix: 'fal',\n iconName: 'angle-right',\n icon: [320, 512, [8250], \"f105\", \"M267.3 244.7c6.2 6.2 6.2 16.4 0 22.6l-160 160c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L233.4 256 84.7 107.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l160 160z\"]\n};\nvar faDialMed = {\n prefix: 'fal',\n iconName: 'dial-med',\n icon: [576, 512, [], \"e15f\", \"M288 56a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm16 232V161c63.1 7.9 112 61.7 112 127c0 70.7-57.3 128-128 128s-128-57.3-128-128c0-65.3 48.9-119.1 112-127V288c0 8.8 7.2 16 16 16s16-7.2 16-16zM288 128a160 160 0 1 0 0 320 160 160 0 1 0 0-320zM568 288a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM32 312a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM120 96A24 24 0 1 0 72 96a24 24 0 1 0 48 0zm360 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM120 480a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm360 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faHorse = {\n prefix: 'fal',\n iconName: 'horse',\n icon: [576, 512, [128014], \"f6f0\", \"M336 144c0 8.8-7.2 16-16 16H232 192 146.7c-28 0-50.7 22.7-50.7 50.7c0 6.7 1.3 13.3 3.9 19.5l33.4 80.1c1.8 4.3 2.7 8.9 2.7 13.5c0 4.8-1 9.5-2.8 13.9l-8.1 19c-9.3 21.7-10.9 46-4.6 68.8l13.5 48.6c1 3.5 4.1 5.9 7.7 5.9h33.2c5.3 0 9.1-5 7.7-10.1l-15.9-57.2c-3.4-12.3-2.5-25.3 2.5-37l8.1-19c4.4-10.4 6.7-21.5 6.7-32.8c0-4.6-.4-9.2-1.1-13.7c-.9-5.3 .9-10.6 4.8-14.3s9.3-5.2 14.5-4L318.4 318c1.4 .3 2.8 .6 4.3 .8c7.7 1.3 13.3 8 13.3 15.8V472c0 4.4 3.6 8 8 8h32c4.4 0 8-3.6 8-8V311.6c0-4.6 1.9-8.9 5.3-11.9C405.6 285.1 416 264 416 240c0-2.3-.1-4.5-.3-6.7c-.1-1.5 0-3.1 .3-4.5V176c0-8.8 7.2-16 16-16h32c5.4 0 10.3 2.7 13.3 7.1l6.4 9.6c9.4 14.2 28.5 18.3 42.9 9.2c10.1-6.3 15.8-17.8 14.7-29.7l-7.7-80.8c-2.3-24.6-23-43.4-47.8-43.4H480h-8H448c-61.9 0-112 50.1-112 112zM549.2 31.1c8.9 11.6 14.8 25.7 16.3 41.3l7.7 80.8c2.3 23.9-9.2 47.1-29.6 59.9c-29.1 18.2-67.4 10-86.5-18.6l-1.7-2.5H448v40c0 .7-.1 1.5-.1 2.2c.1 1.9 .1 3.9 .1 5.8c0 30.9-12.4 58.4-32 78.4V472c0 22.1-17.9 40-40 40H344c-22.1 0-40-17.9-40-40V347.6l-88.1-19.8c-.5 14.3-3.6 28.3-9.2 41.4l-8.1 19c-2.2 5-2.5 10.6-1.1 15.9l15.9 57.2c7.1 25.5-12.1 50.7-38.5 50.7H141.6c-18 0-33.7-12-38.5-29.3L89.6 434.1c-8.3-29.8-6.2-61.5 6-90l8.1-19c.2-.4 .3-.8 .3-1.3c0-.4-.1-.8-.2-1.2L70.4 242.5c-4.2-10.1-6.4-20.8-6.4-31.7c-18.6 6.6-32 24.4-32 45.3v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V256c0-41.3 31.3-75.2 71.4-79.5c13-28.6 41.8-48.5 75.3-48.5H192h40 72.9c8-72 69-128 143.1-128h24 8 5.8H544c8.8 0 16 7.2 16 16c0 7-4.5 13-10.8 15.1zM464 96a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faQ = {\n prefix: 'fal',\n iconName: 'q',\n icon: [448, 512, [113], \"51\", \"M32 256c0 106 86 192 192 192c42.6 0 81.9-13.9 113.8-37.3L227.9 282.4c-5.8-6.7-5-16.8 1.7-22.6s16.8-5 22.6 1.7l109.7 128C395.4 355 416 307.9 416 256c0-106-86-192-192-192S32 150 32 256zM358.7 435c-37.5 28.2-84.1 45-134.7 45C100.3 480 0 379.7 0 256S100.3 32 224 32s224 100.3 224 224c0 61.7-24.9 117.5-65.2 158l61.4 71.6c5.8 6.7 5 16.8-1.7 22.6s-16.8 5-22.6-1.7L358.7 435z\"]\n};\nvar faMonitorWaveform = {\n prefix: 'fal',\n iconName: 'monitor-waveform',\n icon: [576, 512, [\"monitor-heart-rate\"], \"f611\", \"M64 64C46.3 64 32 78.3 32 96V256H176c5.3 0 10.3 2.7 13.3 7.1l30.8 46.2 53-139c2.3-5.9 7.8-10 14.2-10.3s12.3 3.1 15.1 8.8L345.9 256H432c8.8 0 16 7.2 16 16s-7.2 16-16 16H336c-6.1 0-11.6-3.4-14.3-8.8L290 215.7l-51 134c-2.1 5.6-7.2 9.5-13.2 10.2s-11.8-2-15.1-7L167.4 288H32V416c0 17.7 14.3 32 32 32H512c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96z\"]\n};\nvar faMonitorHeartRate = faMonitorWaveform;\nvar faLinkSimple = {\n prefix: 'fal',\n iconName: 'link-simple',\n icon: [576, 512, [], \"e1cd\", \"M0 256C0 167.6 71.6 96 160 96h80c8.8 0 16 7.2 16 16s-7.2 16-16 16H160C89.3 128 32 185.3 32 256s57.3 128 128 128h80c8.8 0 16 7.2 16 16s-7.2 16-16 16H160C71.6 416 0 344.4 0 256zm576 0c0 88.4-71.6 160-160 160H336c-8.8 0-16-7.2-16-16s7.2-16 16-16h80c70.7 0 128-57.3 128-128s-57.3-128-128-128H336c-8.8 0-16-7.2-16-16s7.2-16 16-16h80c88.4 0 160 71.6 160 160zM152 240H424c8.8 0 16 7.2 16 16s-7.2 16-16 16H152c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faWhistle = {\n prefix: 'fal',\n iconName: 'whistle',\n icon: [640, 512, [], \"f460\", \"M93.4 115.3C79.5 128.1 67.6 143 58 159.4c-14.8-2.8-26-15.8-26-31.4c0-17.7 14.3-32 32-32c13.2 0 24.5 7.9 29.4 19.3zM0 128c0 28.4 18.5 52.5 44.1 60.8C36.3 209.7 32 232.4 32 256c0 106 86 192 192 192c64.7 0 121.9-32 156.7-81L529 444.4c4.6 2.4 9.6 3.6 14.8 3.6h2c9 0 17.6-3.8 23.7-10.5l63.3-69.6c4.6-5.1 7.2-11.7 7.2-18.5c0-8.4-3.9-16.4-10.5-21.6l-127-100.4c-5.2-4.1-12.4-4.6-18.2-1.2l-19.3 11.6c-10.3 6.2-23.4 5.5-33-1.7c-9.7-7.3-14-19.8-10.8-31.5l6.5-24c1.7-6.2-.5-12.8-5.5-16.8l-69.8-55.2C322.4 84.8 286.4 70 248.6 65.5c-.6-.1-1.1-.1-1.7-.1c-7.5-.9-15.2-1.4-22.9-1.4c-38.8 0-74.8 11.5-105 31.2C107.8 76.5 87.4 64 64 64C28.7 64 0 92.7 0 128zM354.6 348.5C325.6 389.4 277.9 416 224 416c-88.4 0-160-71.6-160-160s71.6-160 160-160c6.5 0 12.9 .4 19.1 1.1c.8 .1 1.6 .2 2.3 .2c31.7 3.9 61.9 16.5 87.2 36.4l61.5 48.7-3.8 13.8c-6.6 24.4 2.3 50.3 22.5 65.5c20 15 47.2 16.4 68.6 3.5l9.9-5.9L606 349.9 545.8 416l-2 0L395.5 338.6c-14.2-7.4-31.6-3.2-40.9 9.9zM256 256a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm-32-64a64 64 0 1 0 0 128 64 64 0 1 0 0-128z\"]\n};\nvar faG = {\n prefix: 'fal',\n iconName: 'g',\n icon: [448, 512, [103], \"47\", \"M224 64C118 64 32 150 32 256s86 192 192 192c98.5 0 179.8-74.3 190.7-169.9c.2-1.5-.3-2.8-1.4-4c-1.2-1.2-3.1-2.2-5.3-2.2H242.3c-8.8 0-16-7.2-16-16s7.2-16 16-16H408c21.5 0 41.3 17.9 38.5 41.8C433.7 393.4 339 480 224 480C100.3 480 0 379.7 0 256S100.3 32 224 32c57.4 0 109.7 21.6 149.3 57c6.6 5.9 7.1 16 1.3 22.6s-16 7.1-22.6 1.3C318 82.5 273.2 64 224 64z\"]\n};\nvar faWineGlassCrack = {\n prefix: 'fal',\n iconName: 'wine-glass-crack',\n icon: [320, 512, [\"fragile\"], \"f4bb\", \"M149.2 32L61.2 32 46.4 195.6C40.3 262.4 92.9 320 160 320s119.7-57.6 113.6-124.4L258.8 32l-75.1 0 23.2 58.1c3.1 7.7-.3 16.5-7.7 20.3L155 132.4l48.3 48.3c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-64-64c-3.6-3.6-5.3-8.8-4.5-13.9s4-9.4 8.6-11.7l50.8-25.4L149.2 32zM160.3 0h98.4c16.6 0 30.4 12.6 31.9 29.1l14.9 163.6c7.3 80.2-51.4 150-129.5 158.5V480h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H160 80c-8.8 0-16-7.2-16-16s7.2-16 16-16h64V351.1C65.9 342.7 7.2 272.8 14.5 192.7L29.4 29.1C30.9 12.6 44.7 0 61.2 0h98.4c.2 0 .5 0 .7 0z\"]\n};\nvar faFragile = faWineGlassCrack;\nvar faSlotMachine = {\n prefix: 'fal',\n iconName: 'slot-machine',\n icon: [640, 512, [], \"e3ce\", \"M416 416v32c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32V416H416zm23.4 64c5.4-9.4 8.6-20.3 8.6-32V416c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64V64c0-35.3-28.7-64-64-64H128C92.7 0 64 28.7 64 64V96C28.7 96 0 124.7 0 160V352c0 35.3 28.7 64 64 64v32c0 35.3 28.7 64 64 64H384 528c44.2 0 80-35.8 80-80V221.3c18.6-6.6 32-24.4 32-45.3c0-26.5-21.5-48-48-48s-48 21.5-48 48c0 20.9 13.4 38.7 32 45.3V432c0 26.5-21.5 48-48 48H439.4zM576 176a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM416 64V96H96V64c0-17.7 14.3-32 32-32l256 0c17.7 0 32 14.3 32 32zm32 64c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32H448zM112 176c-8.8 0-16 7.2-16 16s7.2 16 16 16h40.9L113 314.4c-3.1 8.3 1.1 17.5 9.4 20.6s17.5-1.1 20.6-9.4l48-128c1.8-4.9 1.2-10.4-1.8-14.7s-7.9-6.9-13.2-6.9H112zm120 0c-8.8 0-16 7.2-16 16s7.2 16 16 16h40.9L233 314.4c-3.1 8.3 1.1 17.5 9.4 20.6s17.5-1.1 20.6-9.4l48-128c1.8-4.9 1.2-10.4-1.8-14.7s-7.9-6.9-13.2-6.9H232zm120 0c-8.8 0-16 7.2-16 16s7.2 16 16 16h40.9L353 314.4c-3.1 8.3 1.1 17.5 9.4 20.6s17.5-1.1 20.6-9.4l48-128c1.8-4.9 1.2-10.4-1.8-14.7s-7.9-6.9-13.2-6.9H352z\"]\n};\nvar faNotesMedical = {\n prefix: 'fal',\n iconName: 'notes-medical',\n icon: [512, 512, [], \"f481\", \"M128 96c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32V293.5c0 8.5-3.4 16.6-9.4 22.6l-58.5 58.5c-6 6-14.1 9.4-22.6 9.4H160c-17.7 0-32-14.3-32-32V96zM96 96V352c0 35.3 28.7 64 64 64H357.5c17 0 33.3-6.7 45.3-18.7l58.5-58.5c12-12 18.7-28.3 18.7-45.3V96c0-35.3-28.7-64-64-64H160c-35.3 0-64 28.7-64 64zM320 496c0-8.8-7.2-16-16-16H128c-53 0-96-43-96-96l0-240c0-8.8-7.2-16-16-16s-16 7.2-16 16V384c0 70.7 57.3 128 128 128H304c8.8 0 16-7.2 16-16zM272 112c-17.7 0-32 14.3-32 32v32H208c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32h32v32c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V272h32c17.7 0 32-14.3 32-32V208c0-17.7-14.3-32-32-32H336V144c0-17.7-14.3-32-32-32H272zm0 32h32v48c0 8.8 7.2 16 16 16h48v32H320c-8.8 0-16 7.2-16 16v48H272V256c0-8.8-7.2-16-16-16H208V208h48c4.2 0 8.3-1.7 11.3-4.7s4.7-7.1 4.7-11.3V144z\"]\n};\nvar faCarWash = {\n prefix: 'fal',\n iconName: 'car-wash',\n icon: [448, 512, [], \"f5e6\", \"M76.3 92.5C74.7 93.9 71 96 64 96c-8.8 0-16-7.2-16-16c0-1.7 1.6-8.3 8.6-19.6c2.3-3.7 4.8-7.5 7.4-11c2.6 3.6 5.2 7.3 7.4 11C78.4 71.7 80 78.3 80 80c0 8.4-2.6 11.4-3.7 12.5zM64 128c26.5 0 48-16 48-48c0-22.2-23-52-37.2-68.2C69 5.1 59 5.1 53.2 11.8C39 28 16 57.8 16 80c0 26.5 21.5 48 48 48zM240 80c0 8.4-2.6 11.4-3.7 12.5C234.7 93.9 231 96 224 96c-8.8 0-16-7.2-16-16c0-1.7 1.6-8.3 8.6-19.6c2.3-3.7 4.8-7.5 7.4-11c2.6 3.6 5.2 7.3 7.4 11C238.4 71.7 240 78.3 240 80zm32 0c0-22.2-23-52-37.2-68.2c-5.8-6.7-15.9-6.7-21.7 0C199 28 176 57.8 176 80c0 26.5 21.5 48 48 48s48-16 48-48zM156.2 208H291.8c14.3 0 26.8 9.5 30.8 23.2L338.8 288c-.9 0-1.9 0-2.8 0H112c-.9 0-1.9 0-2.8 0l16.2-56.8c3.9-13.7 16.5-23.2 30.8-23.2zM94.7 222.4L73 298.1C48.6 311.8 32 338 32 368v48 16 32 32c0 8.8 7.2 16 16 16s16-7.2 16-16V464H384v32c0 8.8 7.2 16 16 16s16-7.2 16-16V464 432 416 368c0-30-16.6-56.2-41-69.9l-21.6-75.7c-7.8-27.5-33-46.4-61.5-46.4H156.2c-28.6 0-53.7 18.9-61.5 46.4zM384 416v16H64V416 368c0-26.5 21.5-48 48-48H336c26.5 0 48 21.5 48 48v48zM112 400a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm248-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM400 80c0 8.4-2.6 11.4-3.7 12.5C394.7 93.9 391 96 384 96c-8.8 0-16-7.2-16-16c0-1.7 1.6-8.3 8.6-19.6c2.3-3.7 4.8-7.5 7.4-11c2.6 3.6 5.2 7.3 7.4 11C398.4 71.7 400 78.3 400 80zm32 0c0-22.2-23-52-37.2-68.2c-5.8-6.7-15.9-6.7-21.7 0C359 28 336 57.8 336 80c0 26.5 21.5 48 48 48s48-16 48-48z\"]\n};\nvar faEscalator = {\n prefix: 'fal',\n iconName: 'escalator',\n icon: [640, 512, [], \"e171\", \"M264 56a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-80 0a56 56 0 1 1 112 0A56 56 0 1 1 184 56zm211.3 91.8C409.9 135 428.6 128 448 128H560c44.2 0 80 35.8 80 80s-35.8 80-80 80H478.1L244.7 492.2C230.1 505 211.4 512 192 512H80c-44.2 0-80-35.8-80-80s35.8-80 80-80h81.9L395.3 147.8zM448 160c-11.6 0-22.9 4.2-31.6 11.9L178.5 380c-2.9 2.6-6.7 4-10.5 4H80c-26.5 0-48 21.5-48 48s21.5 48 48 48H192c11.6 0 22.9-4.2 31.6-11.9L461.5 260c2.9-2.6 6.7-4 10.5-4h88c26.5 0 48-21.5 48-48s-21.5-48-48-48H448zM307.9 181.7l-24.6 21.5C275.6 187.1 259.1 176 240 176c-26.5 0-48 21.5-48 48v59.2l-32 28V224c0-44.2 35.8-80 80-80c28.7 0 53.8 15.1 67.9 37.7z\"]\n};\nvar faCommentImage = {\n prefix: 'fal',\n iconName: 'comment-image',\n icon: [512, 512, [], \"e148\", \"M32 240c0-91.4 93.8-176 224-176s224 84.6 224 176s-93.8 176-224 176c-32 0-63-5.9-93.5-16.2c-9.9-3.3-20.7-1.8-29.2 4.2c-15.4 10.7-31.4 20-48.4 27.4L91.2 446l-6.4-14.7c-10.5 4.6-21.5 8.6-32.7 11.5c.5-.9 1.1-1.8 1.6-2.6C68 416.5 76.3 391 79.4 363.9c1-9.2-2.1-17.7-7.4-23.9c-24.5-29.4-40-62.9-40-100zM256 32C114.5 32 0 125.2 0 240c0 46.6 19.6 87.1 47.4 120.5c0 .1 .1 .1 .1 .2c-2.6 22.6-9.5 43.5-21.3 63.1c-6.5 10.8-13.5 20.8-21.7 29c-4.5 4.6-5.9 11.5-3.4 17.4s8.3 9.8 14.8 9.8c28.7 0 57.6-8.9 81.6-19.3c19.2-8.4 37.1-18.7 53.9-30.5c.2-.1 .5-.2 .7-.1C185.5 441.3 220 448 256 448c141.5 0 256-93.2 256-208S397.5 32 256 32zM184 160a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm104.2 16c.1 0 .2 .1 .3 .1L379.4 288H133.3L175 240.3c.1-.2 .4-.3 .6-.3c.2 0 .5 .1 .6 .3l19 25.3c3 4 7.8 6.4 12.8 6.4s9.8-2.4 12.8-6.4l67.1-89.4c.1-.1 .2-.2 .3-.2zm-25.9-19L208 229.3l-6.2-8.2c-6.2-8.3-15.9-13.1-26.2-13.1c-9.5 0-18.4 4.1-24.7 11.2l-48.1 55c-4.4 5-6.8 11.5-6.8 18.2c0 15.3 12.4 27.6 27.6 27.6H388.2c15.4 0 27.8-12.4 27.8-27.8c0-6.4-2.2-12.6-6.2-17.5L313.3 156c-6.2-7.6-15.4-12-25.1-12c-10.2 0-19.8 4.8-25.9 13z\"]\n};\nvar faTemperatureHalf = {\n prefix: 'fal',\n iconName: 'temperature-half',\n icon: [320, 512, [127777, \"temperature-2\", \"thermometer-2\", \"thermometer-half\"], \"f2c9\", \"M160 32c-35.3 0-64 28.7-64 64V252.7c0 14.9-7 27.7-16 36.9C60.2 309.8 48 337.5 48 368c0 61.9 50.1 112 112 112s112-50.1 112-112c0-30.5-12.2-58.2-32-78.4c-9-9.2-16-22-16-36.9V96c0-35.3-28.7-64-64-64zM64 96c0-53 43-96 96-96s96 43 96 96V252.7c0 4.6 2.2 9.8 6.8 14.5c25.5 26 41.2 61.6 41.2 100.8c0 79.5-64.5 144-144 144S16 447.5 16 368c0-39.3 15.7-74.9 41.2-100.8c4.6-4.7 6.8-9.9 6.8-14.5V96zm96 304a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0 32c-35.3 0-64-28.7-64-64c0-29.8 20.4-54.9 48-62V208c0-8.8 7.2-16 16-16s16 7.2 16 16v98c27.6 7.1 48 32.2 48 62c0 35.3-28.7 64-64 64z\"]\n};\nvar faTemperature2 = faTemperatureHalf;\nvar faThermometer2 = faTemperatureHalf;\nvar faThermometerHalf = faTemperatureHalf;\nvar faDongSign = {\n prefix: 'fal',\n iconName: 'dong-sign',\n icon: [384, 512, [], \"e169\", \"M304 32c-8.8 0-16 7.2-16 16V64H208c-8.8 0-16 7.2-16 16s7.2 16 16 16h80V203.3c-23.5-26.6-57.8-43.3-96-43.3c-70.7 0-128 57.3-128 128s57.3 128 128 128c38.2 0 72.5-16.8 96-43.3V400c0 8.8 7.2 16 16 16s16-7.2 16-16V288 96h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H320V48c0-8.8-7.2-16-16-16zM96 288a96 96 0 1 1 192 0A96 96 0 1 1 96 288zM16 448c-8.8 0-16 7.2-16 16s7.2 16 16 16H368c8.8 0 16-7.2 16-16s-7.2-16-16-16H16z\"]\n};\nvar faDonut = {\n prefix: 'fal',\n iconName: 'donut',\n icon: [512, 512, [127849, \"doughnut\"], \"e406\", \"M32 208c0-29.2 19-60.4 59.9-86C132.4 96.7 190.3 80 256 80c3.1 0 6.2 0 9.3 .1l-20.6 20.6c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l39.8-39.8c44.4 6.1 83.3 20 112.9 38.5C461 147.6 480 178.8 480 208v15c-.6 8.5-3.7 16.5-8.8 23.2c-5.3 6.8-12.4 11.9-20.6 14.5l-.3 .1-.3 .1c-6.6 2.5-12.6 6-17.9 10.5c-.1-3.9-1.7-7.8-4.7-10.8l-32-32c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l32 32c3.6 3.6 8.6 5.1 13.3 4.6c-7.7 9.5-17.5 17.2-28.7 22.3c-12.6 5.9-26.6 8.3-40.4 7.2l-.6 0-.6 0c-15.9-.2-31.7 2.9-46.4 9l0 0-.1 0c-14.2 6.1-29.6 9.1-45 9v0l-.3 0c-15.5 .1-30.8-2.9-45.1-9l-.1 0c-14.7-6.1-30.5-9.2-46.4-9l-.6 0-.6 0c-13.9 1.1-27.8-1.4-40.4-7.2c-12.5-5.8-23.4-14.8-31.5-26.1c-7-10.6-17.2-18.8-29.1-23.2l-.4-.1-.4-.1c-8.2-2.6-15.3-7.7-20.6-14.5c-5.2-6.7-8.2-14.8-8.8-23.2V208zm0 73.4c5.9 4.1 12.3 7.3 19.2 9.6c5.5 2.1 10.2 6 13.4 10.9l.2 .3 .2 .3c11.3 15.9 26.6 28.5 44.2 36.7c17.5 8.1 36.7 11.6 55.9 10.2c11.4 0 22.7 2.2 33.2 6.6c18.2 7.7 37.9 11.6 57.7 11.5c19.8 .2 39.4-3.7 57.6-11.5c10.5-4.4 21.8-6.6 33.2-6.6c19.2 1.5 38.4-2 55.9-10.1c17.7-8.2 32.9-20.8 44.2-36.6l.2-.3 .2-.3c3.2-5 7.9-8.8 13.4-10.9c6.9-2.3 13.3-5.5 19.2-9.6V304c0 29.2-19 60.4-59.9 86c-40.5 25.3-98.4 42-164.1 42s-123.6-16.7-164.1-42C51 364.4 32 333.2 32 304V281.4zM256 48C114.6 48 0 119.6 0 208v96c0 88.4 114.6 160 256 160s256-71.6 256-160V208c0-88.4-114.6-160-256-160zM208 191.9c0 0 0-.1 .1-.3c.1-.3 .4-.9 1.1-1.7c1.5-1.7 4.2-4 8.7-6.2c8.9-4.5 22.4-7.7 38.1-7.7s29.2 3.2 38.1 7.7c4.5 2.2 7.2 4.5 8.7 6.2c.7 .8 1 1.4 1.1 1.7c.1 .2 .1 .3 .1 .3s0 .1 0 .1s0 0 0 .1s0 .1-.1 .3c-.1 .3-.4 .9-1.1 1.7c-1.5 1.7-4.2 4-8.7 6.2c-8.9 4.5-22.4 7.7-38.1 7.7s-29.2-3.2-38.1-7.7c-4.5-2.2-7.2-4.5-8.7-6.2c-.7-.8-1-1.4-1.1-1.7c-.1-.2-.1-.3-.1-.3c0 0 0 0 0-.1s0 0 0 0s0 0 0-.1zm-4.4-36.9C190.3 161.7 176 173.8 176 192s14.3 30.3 27.6 36.9c14.2 7.1 32.8 11.1 52.4 11.1s38.2-3.9 52.4-11.1c13.3-6.6 27.6-18.8 27.6-36.9s-14.3-30.3-27.6-36.9C294.2 147.9 275.6 144 256 144s-38.2 3.9-52.4 11.1zm-32.3-15.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-32 32c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l32-32zm224-6.6c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l32 32c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-32-32zM64 192c-8.8 0-16 7.2-16 16s7.2 16 16 16H96c8.8 0 16-7.2 16-16s-7.2-16-16-16H64zm91.3 52.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l32 32c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-32-32zm176 38.6c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-32 32c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l32-32z\"]\n};\nvar faDoughnut = faDonut;\nvar faCapsules = {\n prefix: 'fal',\n iconName: 'capsules',\n icon: [576, 512, [], \"f46b\", \"M32 240H192V144c0-44.2-35.8-80-80-80s-80 35.8-80 80v96zM0 256V144C0 82.1 50.1 32 112 32s112 50.1 112 112v24.2c3-32.2 19.3-63 47.3-83c50.7-36.2 120.5-23.6 156 28.1L555.7 300.6c35.5 51.7 23.2 123-27.5 159.2s-120.5 23.6-156-28.1L243.8 244.4c-11.5-16.8-18-35.7-19.8-54.8V256 368c0 61.9-50.1 112-112 112S0 429.9 0 368V256zm192 16H32v96c0 44.2 35.8 80 80 80s80-35.8 80-80V272zM398.6 413.6c25.5 37.1 75.1 45.8 111 20.1c36.3-26 45.5-77.6 19.7-115.1l-52.7-76.8-2.2 1.6L344.4 334.6l54.2 79.1zm57.5-196.4l2.5-1.7-57.7-84.2c-25.5-37.1-75.1-45.8-111-20.1c-36.3 26-45.5 77.6-19.7 115.1l56.1 81.8 129.8-90.9z\"]\n};\nvar faPooStorm = {\n prefix: 'fal',\n iconName: 'poo-storm',\n icon: [448, 512, [\"poo-bolt\"], \"f75a\", \"M173.8 6.7c3-4.2 7.9-6.7 13-6.7C257.3 0 326.2 46 335 119.6c28.9 13.3 49 42.5 49 76.4c0 3.5-.2 7-.6 10.4C421.1 220.7 448 257.2 448 300c0 55.2-44.8 100-100 100h-8.9l12.1-11.5c6.7-6.3 11.5-14.2 14.3-22.8C394.6 358 416 331.5 416 300c0-33-23.5-60.5-54.6-66.7c-4.5-.9-8.4-3.7-10.7-7.7s-2.8-8.8-1.3-13.1c1.7-5.2 2.7-10.7 2.7-16.5c0-23.4-15.5-43.2-36.8-49.7c-6.5-2-11-7.9-11.3-14.7c-2-50.8-42.9-88.8-94.2-97.6c.4 1.4 .8 2.7 1.3 4.1c2.3 7.8 5 17.8 5 25.4c0 34.8-17.7 55.5-35.3 66.9c-8.5 5.5-17 8.8-23.2 10.7c-3 .9-5.6 1.6-7.5 2c-1.5 .6-3.2 1-4.9 1.1C117.7 145.6 96 168.3 96 196c0 5.8 .9 11.4 2.7 16.5c1.5 4.4 1 9.1-1.3 13.1s-6.2 6.8-10.7 7.7C55.5 239.5 32 267 32 300c0 32 22.2 58.9 52 66.1c-2.6 6.4-4 13.3-4 20.3c0 4.1 .5 8 1.3 11.9C35 389.5 0 348.8 0 300c0-42.8 26.9-79.3 64.6-93.6c-.4-3.4-.6-6.9-.6-10.4c0-43.7 33.4-79.6 76.1-83.6c.5-.1 1.1-.2 1.6-.3l.2 0c.2 0 .6-.1 1.2-.2c1.1-.2 2.8-.7 5-1.3c4.3-1.3 9.8-3.5 15.3-7c10.4-6.7 20.7-18.2 20.7-40c0-2.2-1.2-7.8-3.7-16.2c-2.3-7.6-5.1-15.6-7.1-21.5l-.1-.2 0 0 0 0c-.6-1.6-1.1-3.1-1.5-4.3c-1.7-4.9-.9-10.3 2.1-14.5zM159.7 376H208c5.5 0 10.5 2.8 13.5 7.4s3.3 10.4 1 15.3l-19.4 41.9L288.3 360H240c-5.5 0-10.5-2.8-13.5-7.4s-3.3-10.4-1-15.3l19.4-41.9L159.7 376zm20.5 130.5c-3.7 3.5-8.7 5.5-13.8 5.5c-14.7 0-24.4-15.2-18.2-28.5L183 408H133.6c-11.9 0-21.6-9.7-21.6-21.6c0-5.9 2.4-11.6 6.7-15.7L267.8 229.5c3.7-3.5 8.7-5.5 13.8-5.5c14.7 0 24.4 15.2 18.2 28.5L265 328h49.4c11.9 0 21.6 9.7 21.6 21.6c0 5.9-2.4 11.6-6.7 15.7L180.2 506.5z\"]\n};\nvar faPooBolt = faPooStorm;\nvar faTally1 = {\n prefix: 'fal',\n iconName: 'tally-1',\n icon: [640, 512, [], \"e294\", \"M128 32c8.8 0 16 7.2 16 16V464c0 8.8-7.2 16-16 16s-16-7.2-16-16V48c0-8.8 7.2-16 16-16z\"]\n};\nvar faFileVector = {\n prefix: 'fal',\n iconName: 'file-vector',\n icon: [384, 512, [], \"e64c\", \"M320 480H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H192V144c0 26.5 21.5 48 48 48H352V448c0 17.7-14.3 32-32 32zM240 160c-8.8 0-16-7.2-16-16V32.5c2.8 .7 5.4 2.1 7.4 4.2L347.3 152.6c2.1 2.1 3.5 4.6 4.2 7.4H240zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V163.9c0-12.7-5.1-24.9-14.1-33.9L254.1 14.1c-9-9-21.2-14.1-33.9-14.1H64zM272 384V288h16c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H256c-8.8 0-16 7.2-16 16v16H144V240c0-8.8-7.2-16-16-16H96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h16v96H96c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V416h96v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V400c0-8.8-7.2-16-16-16H272zm-128 0V288h96v96H144z\"]\n};\nvar faFaceFrownOpen = {\n prefix: 'fal',\n iconName: 'face-frown-open',\n icon: [512, 512, [128550, \"frown-open\"], \"f57a\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm176.4-72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm136 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm22 192.1c-22.4-9.5-47.7-14.8-74.5-14.8c-26.8 0-52 5.3-74.4 14.8c-11.2 4.7-23.8 3.1-32.8-3.6c-9.7-7.2-14.9-20.4-9-33.9c19.2-44.1 64.2-74.7 116.2-74.7c52 0 97 30.6 116.2 74.7c5.9 13.6 .8 26.7-9 33.9c-9 6.6-21.5 8.3-32.8 3.5zm-74.4-80.2c-36.9 0-68.5 20.3-83.9 49.5c25.6-10.4 54-16.1 83.9-16.1c29.9 0 58.4 5.8 84 16.1c-15.4-29.2-47.1-49.5-84-49.5z\"]\n};\nvar faFrownOpen = faFaceFrownOpen;\nvar faSquareDashed = {\n prefix: 'fal',\n iconName: 'square-dashed',\n icon: [448, 512, [], \"e269\", \"M88 32h24c8.8 0 16 7.2 16 16s-7.2 16-16 16H88c-30.9 0-56 25.1-56 56v24c0 8.8-7.2 16-16 16s-16-7.2-16-16V120C0 71.4 39.4 32 88 32zM16 192c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V208c0-8.8 7.2-16 16-16zm416 0c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V208c0-8.8 7.2-16 16-16zm0-32c-8.8 0-16-7.2-16-16V120c0-30.9-25.1-56-56-56H336c-8.8 0-16-7.2-16-16s7.2-16 16-16h24c48.6 0 88 39.4 88 88v24c0 8.8-7.2 16-16 16zm16 208v24c0 48.6-39.4 88-88 88H336c-8.8 0-16-7.2-16-16s7.2-16 16-16h24c30.9 0 56-25.1 56-56V368c0-8.8 7.2-16 16-16s16 7.2 16 16zM32 368v24c0 30.9 25.1 56 56 56h24c8.8 0 16 7.2 16 16s-7.2 16-16 16H88c-48.6 0-88-39.4-88-88V368c0-8.8 7.2-16 16-16s16 7.2 16 16zM176 480c-8.8 0-16-7.2-16-16s7.2-16 16-16h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H176zM160 48c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16z\"]\n};\nvar faBagShoppingPlus = {\n prefix: 'fal',\n iconName: 'bag-shopping-plus',\n icon: [448, 512, [], \"e651\", \"M160 96v32H288V96c0-35.3-28.7-64-64-64s-64 28.7-64 64zm-32 32V96c0-53 43-96 96-96s96 43 96 96v32h80c26.5 0 48 21.5 48 48V416c0 53-43 96-96 96H96c-53 0-96-43-96-96V176c0-26.5 21.5-48 48-48h80zm16 32H48c-8.8 0-16 7.2-16 16V416c0 35.3 28.7 64 64 64H352c35.3 0 64-28.7 64-64V176c0-8.8-7.2-16-16-16H304 144zM128 320c0-8.8 7.2-16 16-16h64V240c0-8.8 7.2-16 16-16s16 7.2 16 16v64h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H240v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V336H144c-8.8 0-16-7.2-16-16z\"]\n};\nvar faSquareJ = {\n prefix: 'fal',\n iconName: 'square-j',\n icon: [448, 512, [], \"e273\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm304 48V288c0 53-43 96-96 96s-96-43-96-96V272c0-8.8 7.2-16 16-16s16 7.2 16 16v16c0 35.3 28.7 64 64 64s64-28.7 64-64V144c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faHandPointUp = {\n prefix: 'fal',\n iconName: 'hand-point-up',\n icon: [384, 512, [9757], \"f0a6\", \"M64 56c0-13.3 10.7-24 24-24s24 10.7 24 24V200v40H80c-5.5 0-10.8 .6-16 1.6V56zm48 216v0h32v0h24c13.2 0 24 10.7 24 24v0c0 13.3-10.7 24-24 24H112c-8.8 0-16 7.2-16 16s7.2 16 16 16h56c15.7 0 29.8-6.4 40-16.8c10.2 10.4 24.3 16.8 40 16.8c13.8 0 26.4-5 36.1-13.2C294.4 351.7 310.2 360 328 360c8.6 0 16.7-1.9 24-5.4C350.6 424.1 293.8 480 224 480H160C89.3 480 32 422.7 32 352V320c0-26.5 21.5-48 48-48h32zm32-32V200c0-13.3 10.7-24 24-24s24 10.7 24 24v31.9c0 0 0 0 0 .1v13.4c-7.3-3.5-15.4-5.4-24-5.4H144zm0-90.6V56c0-30.9-25.1-56-56-56S32 25.1 32 56V256C12.6 270.6 0 293.8 0 320v32c0 88.4 71.6 160 160 160h64c88.4 0 160-71.6 160-160V304 272 248c0-30.9-25.1-56-56-56c-12.1 0-23.3 3.8-32.5 10.4C285.6 186.5 268 176 248 176c-9.7 0-18.8 2.5-26.7 6.8C214 160.3 192.9 144 168 144c-8.6 0-16.7 1.9-24 5.4zM224 272V232c0-13.2 10.8-24 24-24c13.3 0 24 10.7 24 24v16 48c0 13.3-10.7 24-24 24s-24-10.7-24-24v0l0-24zm128 0v32c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8V248c0-13.3 10.7-24 24-24s24 10.7 24 24v24z\"]\n};\nvar faMoneyBill = {\n prefix: 'fal',\n iconName: 'money-bill',\n icon: [576, 512, [], \"f0d6\", \"M480 96c0 35.3 28.7 64 64 64V128c0-17.7-14.3-32-32-32H480zm-32 0H128c0 53-43 96-96 96V320c53 0 96 43 96 96H448c0-53 43-96 96-96V192c-53 0-96-43-96-96zM32 384c0 17.7 14.3 32 32 32H96c0-35.3-28.7-64-64-64v32zm512-32c-35.3 0-64 28.7-64 64h32c17.7 0 32-14.3 32-32V352zM64 96c-17.7 0-32 14.3-32 32v32c35.3 0 64-28.7 64-64H64zM0 128C0 92.7 28.7 64 64 64H512c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128zM352 256a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zm-160 0a96 96 0 1 1 192 0 96 96 0 1 1 -192 0z\"]\n};\nvar faArrowUpBigSmall = {\n prefix: 'fal',\n iconName: 'arrow-up-big-small',\n icon: [576, 512, [\"sort-size-up\"], \"f88e\", \"M148.7 36.7c6.2-6.2 16.4-6.2 22.6 0l96 96c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L176 86.6V464c0 8.8-7.2 16-16 16s-16-7.2-16-16V86.6L75.3 155.3c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l96-96zM352 432c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16v64zm-32 0V368c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H368c-26.5 0-48-21.5-48-48zM352 80V208c0 8.8 7.2 16 16 16H496c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16zm-32 0c0-26.5 21.5-48 48-48H496c26.5 0 48 21.5 48 48V208c0 26.5-21.5 48-48 48H368c-26.5 0-48-21.5-48-48V80z\"]\n};\nvar faSortSizeUp = faArrowUpBigSmall;\nvar faBarcodeRead = {\n prefix: 'fal',\n iconName: 'barcode-read',\n icon: [576, 512, [], \"f464\", \"M48 32c-8.8 0-16 7.2-16 16v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V48C0 21.5 21.5 0 48 0h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H48zm96 96c8.8 0 16 7.2 16 16V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-8.8 7.2-16 16-16zm48 16c0-8.8 7.2-16 16-16s16 7.2 16 16V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V144zm224 0c0-8.8 7.2-16 16-16s16 7.2 16 16V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V144zM272 128c8.8 0 16 7.2 16 16V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-8.8 7.2-16 16-16zm64 16c0-8.8 7.2-16 16-16s16 7.2 16 16V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V144zM544 48c0-8.8-7.2-16-16-16H432c-8.8 0-16-7.2-16-16s7.2-16 16-16h96c26.5 0 48 21.5 48 48v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V48zM48 480h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H48c-26.5 0-48-21.5-48-48V368c0-8.8 7.2-16 16-16s16 7.2 16 16v96c0 8.8 7.2 16 16 16zm496-16V368c0-8.8 7.2-16 16-16s16 7.2 16 16v96c0 26.5-21.5 48-48 48H432c-8.8 0-16-7.2-16-16s7.2-16 16-16h96c8.8 0 16-7.2 16-16z\"]\n};\nvar faBaguette = {\n prefix: 'fal',\n iconName: 'baguette',\n icon: [640, 512, [129366], \"e3d8\", \"M591.9 74.8c-29.4-44.1-89-56-133.1-26.6l-79.2 52.8 47.8 47.8c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L352.4 119l-88 58.7 51 51c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-55.5-55.5-88 58.7 54.2 54.2c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L122 272.6 74.7 304.1c-44.1 29.4-56 89-26.6 133.1s89 56 133.1 26.6l384-256c44.1-29.4 56-89 26.6-133.1zM618.5 57c39.2 58.8 23.3 138.3-35.5 177.5l-384 256C140.2 529.7 60.7 513.8 21.5 455S-1.8 316.7 57 277.5l384-256C499.8-17.7 579.3-1.8 618.5 57z\"]\n};\nvar faBowlSoftServe = {\n prefix: 'fal',\n iconName: 'bowl-soft-serve',\n icon: [512, 512, [], \"e46b\", \"M256 0c-5.9 0-11.3 3.2-14.1 8.5s-2.5 11.5 .8 16.4l10.8 16.3c1.6 2.4 2.5 5.3 2.5 8.2c0 8.1-6.6 14.7-14.7 14.7H164c-37.6 0-68 30.4-68 68c0 10.2 2.3 19.9 6.3 28.6C62.7 165.4 32 199.1 32 240c0 44.2 35.8 80 80 80H400c44.2 0 80-35.8 80-80c0-41.4-31.4-75.4-71.7-79.6c4.9-9.7 7.7-20.8 7.7-32.4C416 57.3 358.7 0 288 0H256zm32 49.3c0-6-1.1-11.8-3.3-17.3H288c53 0 96 43 96 96c0 13.1-6.3 24.7-16 32H280c-8.8 0-16 7.2-16 16s7.2 16 16 16h92.9H384h16c26.5 0 48 21.5 48 48s-21.5 48-48 48H112c-26.5 0-48-21.5-48-48s21.5-48 48-48h16 8.3H168c8.8 0 16-7.2 16-16s-7.2-16-16-16H141.4c-8.2-6.6-13.4-16.7-13.4-28c0-19.9 16.1-36 36-36h77.3C267.1 96 288 75.1 288 49.3zM64 336c0-8.8-7.2-16-16-16s-16 7.2-16 16v8c0 57.4 46.6 104 104 104h46.1l-20.4 40.8c-2.5 5-2.2 10.9 .7 15.6s8.1 7.6 13.6 7.6H336c5.5 0 10.7-2.9 13.6-7.6s3.2-10.6 .7-15.6L329.9 448H376c57.4 0 104-46.6 104-104v-8c0-8.8-7.2-16-16-16s-16 7.2-16 16v8c0 39.8-32.2 72-72 72H304c-5.5 0-10.7 2.9-13.6 7.6s-3.2 10.6-.7 15.6L310.1 480H201.9l20.4-40.8c2.5-5 2.2-10.9-.7-15.6s-8.1-7.6-13.6-7.6H136c-39.8 0-72-32.2-72-72v-8z\"]\n};\nvar faFaceHoldingBackTears = {\n prefix: 'fal',\n iconName: 'face-holding-back-tears',\n icon: [512, 512, [129401], \"e482\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM320.6 116.4c-2.4-8.5 2.5-17.4 11-19.8s17.4 2.5 19.8 11l1.5 5.2c7 24.7 28.1 42.7 53.6 45.9l11.5 1.4c8.8 1.1 15 9.1 13.9 17.9c-1 8.1-7.9 14-15.9 14c10 13.4 16 30 16 48s-6 34.6-16 48v32c0 8.8-7.2 16-16 16s-16-7.2-16-16v-6.7c-9.8 4.3-20.6 6.7-32 6.7c-44.2 0-80-35.8-80-80c0-41.5 31.5-75.6 72-79.6c-10-10.8-17.6-24.1-21.9-38.8l-1.5-5.2zM180.4 96.6c8.5 2.4 13.4 11.3 11 19.8l-1.5 5.2c-4.2 14.8-11.8 28-21.9 38.8c40.4 4 72 38.1 72 79.6v32 16 16c0 8.8-7.2 16-16 16s-16-7.2-16-16c-13.4 10-30 16-48 16c-11.4 0-22.2-2.4-32-6.7V320c0 8.8-7.2 16-16 16s-16-7.2-16-16V288c-10-13.4-16-30-16-48s6-34.6 16-48c-8 0-14.9-5.9-15.9-14c-1.1-8.8 5.1-16.8 13.9-17.9l11.5-1.4c25.5-3.2 46.6-21.3 53.6-45.9l1.5-5.2c2.4-8.5 11.3-13.4 19.8-11zM208 240a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm144 48a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM160 208c17.7 0 32 14.3 32 32s-14.3 32-32 32s-32-14.3-32-32c17.7 0 32-14.3 32-32zm160 32c17.7 0 32-14.3 32-32c17.7 0 32 14.3 32 32s-14.3 32-32 32s-32-14.3-32-32zm1.9 129.5c5.8-6.7 15.9-7.4 22.6-1.6s7.4 15.9 1.6 22.6C328.9 410.3 298.8 432 256 432s-72.9-21.7-90.1-41.5c-5.8-6.7-5.1-16.8 1.6-22.6s16.8-5.1 22.6 1.6C203 384.4 224.9 400 256 400s53-15.6 65.9-30.5z\"]\n};\nvar faSquareUp = {\n prefix: 'fal',\n iconName: 'square-up',\n icon: [448, 512, [11014, \"arrow-alt-square-up\"], \"f353\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm224 16c9.2 0 18 3.5 24.7 9.7l91 84c7.8 7.2 12.3 17.4 12.3 28.1c0 21.1-17.1 38.3-38.3 38.3H288v80c0 26.5-21.5 48-48 48H208c-26.5 0-48-21.5-48-48V272H134.3C113.1 272 96 254.9 96 233.7c0-10.7 4.5-20.9 12.3-28.1l91-84c6.7-6.2 15.6-9.7 24.7-9.7zm-3 33.2l-91 84c-1.3 1.2-2 2.9-2 4.6c0 3.5 2.8 6.3 6.3 6.3H176c8.8 0 16 7.2 16 16v96c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V256c0-8.8 7.2-16 16-16h41.7c3.5 0 6.3-2.8 6.3-6.3c0-1.7-.7-3.4-2-4.6l-91-84c-.8-.8-1.9-1.2-3-1.2s-2.2 .4-3 1.2z\"]\n};\nvar faArrowAltSquareUp = faSquareUp;\nvar faTrainSubwayTunnel = {\n prefix: 'fal',\n iconName: 'train-subway-tunnel',\n icon: [512, 512, [\"subway-tunnel\"], \"e2a3\", \"M32 256C32 132.3 132.3 32 256 32s224 100.3 224 224V496c0 8.8 7.2 16 16 16s16-7.2 16-16V256C512 114.6 397.4 0 256 0S0 114.6 0 256V496c0 8.8 7.2 16 16 16s16-7.2 16-16V256zm336-48v48H272V160h48c26.5 0 48 21.5 48 48zM240 288h32 96v80c0 26.5-21.5 48-48 48H192c-26.5 0-48-21.5-48-48V288h96zm0-128v96H144V208c0-26.5 21.5-48 48-48h48zm-48-32c-44.2 0-80 35.8-80 80V368c0 32.8 19.8 61 48 73.4l-43.3 43.3c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L198.6 448H313.4l59.3 59.3c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L352 441.4c28.3-12.3 48-40.5 48-73.4V208c0-44.2-35.8-80-80-80H192zm8 256a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm136-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faSubwayTunnel = faTrainSubwayTunnel;\nvar faSquareExclamation = {\n prefix: 'fal',\n iconName: 'square-exclamation',\n icon: [448, 512, [\"exclamation-square\"], \"f321\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm224 32c8.8 0 16 7.2 16 16V272c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-8.8 7.2-16 16-16zM200 352a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faExclamationSquare = faSquareExclamation;\nvar faSemicolon = {\n prefix: 'fal',\n iconName: 'semicolon',\n icon: [192, 512, [], \"3b\", \"M64 128a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm96 0A64 64 0 1 0 32 128a64 64 0 1 0 128 0zM128 350.4c0 5.6-1.5 11.1-4.5 15.9L55.4 477.9c-.8 1.3-2.3 2.1-3.8 2.1c-2.8 0-4.9-2.5-4.4-5.2L70.5 343.9C73 330.1 85 320 99 320c16 0 29 13 29 29v1.5zm32 0V349c0-33.7-27.3-61-61-61c-29.5 0-54.8 21.2-60 50.2L15.7 469.1c-4 22.3 13.2 42.9 35.9 42.9c12.7 0 24.5-6.6 31.1-17.4L150.8 383c6-9.8 9.2-21.1 9.2-32.6z\"]\n};\nvar faBookmark = {\n prefix: 'fal',\n iconName: 'bookmark',\n icon: [384, 512, [128278, 61591], \"f02e\", \"M0 48C0 21.5 21.5 0 48 0H336c26.5 0 48 21.5 48 48V489.9c0 12.2-9.9 22.1-22.1 22.1c-4.4 0-8.6-1.3-12.3-3.7L192 403.2 34.4 508.3c-3.6 2.4-7.9 3.7-12.3 3.7C9.9 512 0 502.1 0 489.9V48zM48 32c-8.8 0-16 7.2-16 16V471.4L183.1 370.7c5.4-3.6 12.4-3.6 17.8 0L352 471.4V48c0-8.8-7.2-16-16-16H48z\"]\n};\nvar faFanTable = {\n prefix: 'fal',\n iconName: 'fan-table',\n icon: [448, 512, [], \"e004\", \"M416 224A192 192 0 1 0 32 224a192 192 0 1 0 384 0zm32 0c0 118.3-91.8 215.2-208 223.4V480H368c8.8 0 16 7.2 16 16s-7.2 16-16 16H224 80c-8.8 0-16-7.2-16-16s7.2-16 16-16H208V447.4C91.8 439.2 0 342.3 0 224C0 100.3 100.3 0 224 0S448 100.3 448 224zM224 208a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm-55.4-99.7c-32.8 13.2-48.6 50.5-35.4 83.3c9.3 23 30.4 37.7 53.6 39.8c5.8 .5 10.9 4.2 13.2 9.6s1.5 11.6-2.1 16.2l-47.9 61.4c-2.7 3.5-2.1 8.5 1.4 11.2c27.9 21.8 68.1 16.8 89.8-11c15.3-19.5 17.4-45.2 7.6-66.3c-2.5-5.3-1.8-11.6 1.7-16.3s9.3-7.1 15.1-6.3l77.1 10.8c4.4 .6 8.4-2.4 9-6.8c4.9-35-19.5-67.4-54.5-72.3c-24.6-3.5-47.9 7.5-61.3 26.5c-3.4 4.8-9.1 7.3-14.9 6.7s-10.8-4.5-13-9.9L179 112.7c-1.7-4.1-6.3-6.1-10.4-4.4zm60 41.6c19.9-15.9 46-23.9 73.3-20c52.5 7.4 89.1 55.9 81.7 108.4c-3.1 21.9-23.3 37.1-45.2 34L285.8 265c3.8 25.2-2.3 51.8-19.3 73.5c-32.6 41.8-93 49.2-134.8 16.5c-17.4-13.6-20.5-38.7-6.9-56.1L157.6 257c-23.7-9.3-43.7-27.9-54-53.4c-19.9-49.2 3.9-105.1 53-125c20.5-8.3 43.8 1.6 52.1 22.1L228.6 150z\"]\n};\nvar faAlignJustify = {\n prefix: 'fal',\n iconName: 'align-justify',\n icon: [448, 512, [], \"f039\", \"M16 48C7.2 48 0 55.2 0 64s7.2 16 16 16H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H16zM0 192c0 8.8 7.2 16 16 16H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H16c-8.8 0-16 7.2-16 16zM16 304c-8.8 0-16 7.2-16 16s7.2 16 16 16H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H16zm0 128c-8.8 0-16 7.2-16 16s7.2 16 16 16H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H16z\"]\n};\nvar faBatteryLow = {\n prefix: 'fal',\n iconName: 'battery-low',\n icon: [576, 512, [\"battery-1\"], \"e0b1\", \"M432 128c26.5 0 48 21.5 48 48V336c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48V176c0-26.5 21.5-48 48-48H432zM80 96C35.8 96 0 131.8 0 176V336c0 44.2 35.8 80 80 80H432c44.2 0 80-35.8 80-80V176c0-44.2-35.8-80-80-80H80zM576 208c0-8.8-7.2-16-16-16s-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V208zm-448 0v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V208c0-8.8 7.2-16 16-16s16 7.2 16 16zm-64 0v96c0 26.5 21.5 48 48 48s48-21.5 48-48V208c0-26.5-21.5-48-48-48s-48 21.5-48 48z\"]\n};\nvar faBattery1 = faBatteryLow;\nvar faCreditCardFront = {\n prefix: 'fal',\n iconName: 'credit-card-front',\n icon: [576, 512, [], \"f38a\", \"M512 64c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32H512zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM96 304c0 8.8 7.2 16 16 16H464c8.8 0 16-7.2 16-16s-7.2-16-16-16H112c-8.8 0-16 7.2-16 16zm0 64c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H112c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16s7.2 16 16 16H368c8.8 0 16-7.2 16-16s-7.2-16-16-16H240zM400 144h64c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H400c-4.4 0-8-3.6-8-8V152c0-4.4 3.6-8 8-8zm-40 8v48c0 22.1 17.9 40 40 40h64c22.1 0 40-17.9 40-40V152c0-22.1-17.9-40-40-40H400c-22.1 0-40 17.9-40 40z\"]\n};\nvar faBrainArrowCurvedRight = {\n prefix: 'fal',\n iconName: 'brain-arrow-curved-right',\n icon: [640, 512, [\"mind-share\"], \"f677\", \"M144.2 75.4c-.6 6.7-5.4 12.4-12 14C111.4 94.7 96 113.6 96 136c0 3.1 .3 6.2 .9 9.2c1.5 7.6-2.7 15.2-10 18C68.8 170 56 187.6 56 208c0 5.2 .8 10.3 2.4 15c2 6.1 .2 12.8-4.6 17C40.4 251.7 32 268.9 32 288c0 22.9 12 43 30.2 54.3c6.7 4.2 9.3 12.6 6.3 19.8C65.6 368.8 64 376.2 64 384c0 30.9 25.1 56 56 56c3.3 0 6.5-.3 9.5-.8c7.5-1.3 14.9 2.9 17.6 10c6.9 18 24.4 30.8 44.8 30.8c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48c-25 0-45.5 19.1-47.8 43.4zM256 480c-14.6 19.4-37.8 32-64 32c-29.6 0-55.5-16.1-69.3-40c-.9 0-1.8 0-2.7 0c-48.6 0-88-39.4-88-88c0-7.6 1-15 2.8-22C13.6 344.4 0 317.8 0 288c0-25.1 9.6-48 25.4-65c-.9-4.9-1.4-9.9-1.4-15c0-29.6 16.1-55.5 40-69.3c0-.9 0-1.8 0-2.7c0-33.6 20.7-62.4 50.1-74.2C122.3 26.4 154.1 0 192 0c26.2 0 49.4 12.6 64 32c14.6-19.4 37.8-32 64-32c37.9 0 69.7 26.4 77.9 61.8C427.3 73.6 448 102.4 448 136c0 .9 0 1.8 0 2.7c20.5 11.8 35.2 32.5 39.1 56.7c-15.4 5.6-27.7 17.3-34.2 32.3c0-1.6 .3-3.2 .8-4.7c1.5-4.7 2.4-9.7 2.4-15c0-20.4-12.8-38-30.9-44.9c-7.3-2.8-11.5-10.4-10-18c.6-3 .9-6 .9-9.2c0-22.4-15.4-41.3-36.2-46.5c-6.6-1.7-11.4-7.3-12-14C365.5 51.1 345 32 320 32c-26.5 0-48 21.5-48 48V432c0 25.6 20 46.5 45.2 47.9c5 11.8 10.9 22.1 17 30.8c-4.6 .8-9.4 1.3-14.2 1.3c-26.2 0-49.4-12.6-64-32zM526.7 232L635.3 340.7c3 3 4.7 7.1 4.7 11.3s-1.7 8.3-4.7 11.3L526.6 472c-5.1 5.1-12 8-19.1 8c-15.1 .1-27.5-12.2-27.5-27.3V400H464c-35.3 0-64 28.7-64 64v32c0 6.4-3.8 12.2-9.8 14.7s-12.8 1.2-17.4-3.2C358.2 493.3 336 459.4 336 416c0-61.9 50.1-112 112-112h32V251.4c0-15 12.1-27.2 27.2-27.3c7.3 0 14.3 2.8 19.5 8zM512 320c0 8.8-7.2 16-16 16H448c-44.2 0-80 35.8-80 80c0 8.5 1.2 16.6 3 24c10.7-41.4 48.2-72 93-72h32c8.8 0 16 7.2 16 16v57.4L601.4 352 512 262.6V320z\"]\n};\nvar faMindShare = faBrainArrowCurvedRight;\nvar faUmbrellaBeach = {\n prefix: 'fal',\n iconName: 'umbrella-beach',\n icon: [576, 512, [127958], \"f5ca\", \"M471.6 99.4c46.8 45.1 72.2 109 68.3 174.7l-86.3-31.4c15.2-43.2 21.6-89 18.9-134.8c-.2-2.9-.5-5.7-.9-8.5zM402.8 54.3c21.7 10.1 36.3 31.4 37.7 55.6c2.5 41.4-3.3 82.8-17 121.9l-167.6-61c14.6-38.8 36.9-74.2 65.3-104.3c17.5-18.5 44.1-25.2 68.2-17.3c1.1 .4 2.2 .8 3.3 1.2c3.4 1.2 6.7 2.5 10 3.9zm-3.1-35.4c-109.8-38-228.4 3.2-292.6 94c-11.1 15.7-2.8 36.8 15.3 43.4l92.4 33.6 0 0L245 200.9l167.6 61 30.1 10.9 0 0 89.1 32.4c18.1 6.6 38-4.2 39.6-23.4c9-108.1-52-213.2-155.6-256.9c-2.4-1.1-4.9-2.1-7.4-3l-5.9-2.1c-.9-.3-1.8-.6-2.7-.9zM305.9 37c-2.7 2.3-5.4 4.8-7.9 7.5c-31.5 33.3-56 72.5-72.2 115.4l-89.6-32.6C176.5 73 239.2 40.1 305.9 37zM16 480c-8.8 0-16 7.2-16 16s7.2 16 16 16H560c8.8 0 16-7.2 16-16s-7.2-16-16-16H253.4l77.8-213.7-30.1-10.9L219.4 480H16z\"]\n};\nvar faHelmetUn = {\n prefix: 'fal',\n iconName: 'helmet-un',\n icon: [512, 512, [], \"e503\", \"M240 32c114.9 0 208 93.1 208 208v16H256c-6.9 0-13 4.4-15.2 10.9L212.5 352H77.2c-25 0-45.2-20.2-45.2-45.2V240C32 125.1 125.1 32 240 32zm96 419.4l-93.6-88.1L267.5 288H336V451.4zM368 480V288H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H480V240C480 107.5 372.5 0 240 0S0 107.5 0 240v66.8C0 349.4 34.6 384 77.2 384H217.7L349 507.7c3 2.8 6.9 4.3 11 4.3H464c8.8 0 16-7.2 16-16s-7.2-16-16-16H368zM285.3 103.1c-3.9-5.9-11.2-8.5-17.9-6.4s-11.4 8.3-11.4 15.3v96c0 8.8 7.2 16 16 16s16-7.2 16-16V164.8l34.7 52c3.9 5.9 11.2 8.5 17.9 6.4s11.4-8.3 11.4-15.3V112c0-8.8-7.2-16-16-16s-16 7.2-16 16v43.2l-34.7-52zM160 112c0-8.8-7.2-16-16-16s-16 7.2-16 16v64c0 26.5 21.5 48 48 48s48-21.5 48-48V112c0-8.8-7.2-16-16-16s-16 7.2-16 16v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V112z\"]\n};\nvar faLocationSmile = {\n prefix: 'fal',\n iconName: 'location-smile',\n icon: [384, 512, [\"map-marker-smile\"], \"f60d\", \"M352 192c0-88.4-71.6-160-160-160S32 103.6 32 192c0 15.6 5.4 37 16.6 63.4c10.9 25.9 26.2 54 43.6 82.1c34.1 55.3 74.4 108.2 99.9 140c25.4-31.8 65.8-84.7 99.9-140c17.3-28.1 32.7-56.3 43.6-82.1C346.6 229 352 207.6 352 192zm32 0c0 87.4-117 243-168.3 307.2c-12.3 15.3-35.1 15.3-47.4 0C117 435 0 279.4 0 192C0 86 86 0 192 0S384 86 384 192zM128 136a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm104 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM125.3 247.1C132.1 257.3 156 280 192 280s59.9-22.7 66.7-32.9c4.9-7.4 14.8-9.3 22.2-4.4s9.3 14.8 4.4 22.2c-11 16.5-43.9 47.1-93.3 47.1s-82.3-30.6-93.3-47.1c-4.9-7.4-2.9-17.3 4.4-22.2s17.3-2.9 22.2 4.4z\"]\n};\nvar faMapMarkerSmile = faLocationSmile;\nvar faArrowLeftToLine = {\n prefix: 'fal',\n iconName: 'arrow-left-to-line',\n icon: [448, 512, [8676, \"arrow-to-left\"], \"f33e\", \"M0 432c0 8.8 7.2 16 16 16s16-7.2 16-16L32 80c0-8.8-7.2-16-16-16S0 71.2 0 80L0 432zM100.7 244.7c-6.2 6.2-6.2 16.4 0 22.6l128 128c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L150.6 272 256 272l176 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-176 0-105.4 0L251.3 139.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-128 128z\"]\n};\nvar faArrowToLeft = faArrowLeftToLine;\nvar faBullseye = {\n prefix: 'fal',\n iconName: 'bullseye',\n icon: [512, 512, [], \"f140\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM256 384a128 128 0 1 0 0-256 128 128 0 1 0 0 256zm0-288a160 160 0 1 1 0 320 160 160 0 1 1 0-320zm0 192a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0-96a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]\n};\nvar faSushi = {\n prefix: 'fal',\n iconName: 'sushi',\n icon: [576, 512, [127843, \"nigiri\"], \"e48a\", \"M535.2 288.7L430.5 253.9l59.3-100.4c17.4 20.9 29.7 46.3 34.7 74.7l10.7 60.5zM375.6 96.2c33.9 1.8 65.3 14.3 90.6 34.3L399.4 243.6l-66.2-22c-9.1-3-18.4-5.2-27.8-6.5L375.6 96.2zM268.8 214.1c-13 1.1-25.9 3.9-38.5 8.2L133.2 256 227.7 96H338.6L268.8 214.1zM86.4 272.2L41 287.9l10.5-59.7c12.4-70.1 69.2-122.7 138.4-131L86.4 272.2zM209.1 64C115.9 64 36.2 130.9 20 222.6L9.5 282.4c-4.2 24 18.9 43.8 42 35.8l189.4-65.6c26.6-9.2 55.5-9.4 82.3-.5l202 67.1c23 7.6 45.8-12.1 41.6-35.9L556 222.6C539.8 130.9 460.1 64 366.9 64H209.1zM32 352.9c.5 52.6 43.3 95.1 96 95.1c17.3 0 33.6-4.6 47.6-12.6c2.7-1.6 6.1-1.6 8.8 0c14 8 30.3 12.6 47.6 12.6c18.8 0 36.4-5.4 51.2-14.8c2.9-1.8 6.6-1.8 9.5 0c14.8 9.4 32.4 14.8 51.2 14.8c17.3 0 33.6-4.6 47.6-12.6c2.7-1.6 6.1-1.6 8.8 0c14 8 30.3 12.6 47.6 12.6c52.5 0 95.1-42.1 96-94.4c-8.4 .7-17.1-.2-25.8-3.1l-6.2-2V352c0 35.3-28.7 64-64 64c-11.6 0-22.4-3.1-31.7-8.4c-12.6-7.2-28-7.2-40.6 0c-9.3 5.3-20.1 8.4-31.7 8.4c-12.6 0-24.3-3.6-34.1-9.8c-13.4-8.4-30.4-8.4-43.7 0c-9.9 6.2-21.5 9.8-34.1 9.8c-11.6 0-22.4-3.1-31.7-8.4c-12.6-7.2-28-7.2-40.6 0c-9.3 5.3-20.1 8.4-31.7 8.4c-35.3 0-64-28.7-64-64v-4.3l-5.3 1.8c-9 3.1-18 4.1-26.7 3.4z\"]\n};\nvar faNigiri = faSushi;\nvar faMessageCaptions = {\n prefix: 'fal',\n iconName: 'message-captions',\n icon: [512, 512, [\"comment-alt-captions\"], \"e1de\", \"M192 416c0-17.7-14.3-32-32-32H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H448c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H309.3c-6.9 0-13.7 2.2-19.2 6.4L192 464V416zM64 0C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h64 32v32 48c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L309.3 416H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM80 224c-8.8 0-16 7.2-16 16s7.2 16 16 16H304c8.8 0 16-7.2 16-16s-7.2-16-16-16H80zm288 0c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H368zM80 288c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H80zm160 0c-8.8 0-16 7.2-16 16s7.2 16 16 16H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H240z\"]\n};\nvar faCommentAltCaptions = faMessageCaptions;\nvar faTrashList = {\n prefix: 'fal',\n iconName: 'trash-list',\n icon: [640, 512, [], \"e2b1\", \"M164.2 39.5L148.9 64H267.1L251.8 39.5c-2.9-4.7-8.1-7.5-13.6-7.5H177.7c-5.5 0-10.6 2.8-13.6 7.5zM279 22.6L304.9 64h47.1H384h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H381.7L356.2 452.6C353.9 486.1 326 512 292.4 512H123.6c-33.6 0-61.4-25.9-63.8-59.4L34.3 96H16C7.2 96 0 88.8 0 80s7.2-16 16-16H32 64.1h47.1L137 22.6C145.8 8.5 161.2 0 177.7 0h60.5c16.6 0 31.9 8.5 40.7 22.6zM66.4 96L91.7 450.3C92.9 467 106.8 480 123.6 480H292.4c16.8 0 30.7-13 31.9-29.7L349.6 96H66.4zM464 128H624c8.8 0 16 7.2 16 16s-7.2 16-16 16H464c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 128H592c8.8 0 16 7.2 16 16s-7.2 16-16 16H464c-8.8 0-16-7.2-16-16s7.2-16 16-16zM448 400c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H464c-8.8 0-16-7.2-16-16z\"]\n};\nvar faBacon = {\n prefix: 'fal',\n iconName: 'bacon',\n icon: [576, 512, [129363], \"f7e5\", \"M566.6 105.4c8 8 11.2 19.7 8.3 30.7s-11.3 19.6-22.2 22.7c-51.9 14.8-85.6 34.7-111.1 57.2c-27.5 24.3-48.4 54.6-69 84.7l-.5 .7C327.8 365.9 275.5 442 142.3 508.6c-12.3 6.2-27.2 3.7-36.9-6l-96-96c-7.3-7.3-10.6-17.6-9-27.8s8.1-18.9 17.3-23.5C107 310.7 169.8 247 225.6 165.9c21.8-31.8 44.9-64.9 77.7-93.9c33.4-29.5 75.8-53.6 135.9-70.8c11.2-3.2 23.2-.1 31.4 8.1l96 96zM68.1 420.1l4.8-2.4c122.1-61.1 168.8-129 211.7-191.4l2.3-3.3c21.9-31.9 43.9-63.5 75.1-90.9c29.9-26.4 67.7-48.5 121.2-64.9L448 32c-56 16-94 38-123.5 64S274 152 252 184C193.2 269.6 126.2 336.9 32 384l36.1 36.1zm23.8 23.8L128 480c125.8-62.9 174.5-133.7 217.8-196.8c22.3-32.5 45-65 74.7-91.2C450 166 488 144 544 128L508.9 92.9l-8.5 2.4c-54 15.4-89.8 36.3-117.3 60.6c-27.8 24.5-47.8 52.9-69.9 85.1l-2.2 3.3c-43.3 63.1-93 135.4-219 199.6z\"]\n};\nvar faOption = {\n prefix: 'fal',\n iconName: 'option',\n icon: [640, 512, [], \"e318\", \"M178 107.7c-6.1-7.4-15.2-11.7-24.8-11.7H16C7.2 96 0 88.8 0 80s7.2-16 16-16H153.3c19.2 0 37.4 8.6 49.5 23.5L462 404.3c6.1 7.4 15.2 11.7 24.8 11.7H624c8.8 0 16 7.2 16 16s-7.2 16-16 16H486.7c-19.2 0-37.4-8.6-49.5-23.5L178 107.7zM624 64c8.8 0 16 7.2 16 16s-7.2 16-16 16H432c-8.8 0-16-7.2-16-16s7.2-16 16-16H624z\"]\n};\nvar faRaccoon = {\n prefix: 'fal',\n iconName: 'raccoon',\n icon: [512, 512, [], \"e613\", \"M283.2 57.1L266.6 77.6c24.6-12.4 53.5-4.7 69.4 15.5c15.9-20.2 44.8-27.9 69.4-15.5L388.8 57.1C375.9 41.2 356.5 32 336 32s-39.9 9.2-52.8 25.1zM336 162.6c-2.6 3.4-5.7 6.5-9.1 9.2l-36.7 29.4c2.2 1.3 4.4 2.7 6.5 4.1L312 215.4c.3-13 10.9-23.4 24-23.4s23.7 10.4 24 23.4l15.3-10.2c2.1-1.4 4.3-2.8 6.6-4.1l-36.7-29.4c-3.4-2.7-6.5-5.8-9.1-9.2zm79.1 24.2l34.4-10.3c8.6-2.6 14.5-10.5 14.5-19.5c0-2.8-.6-5.5-1.7-8.1l-69.6-41.8c-14.4-8.6-32.9-.4-36.2 16c-1.8 8.9 1.5 18 8.6 23.7l50 40zm-108.2-40c7.1-5.7 10.4-14.8 8.6-23.7c-3.3-16.4-21.9-24.7-36.2-16l-69.6 41.8c-1.1 2.5-1.7 5.3-1.7 8.1c0 9 5.9 16.9 14.5 19.5l34.4 10.3 50-40zM336 0c16 0 31.5 3.8 45.3 10.9l44.1-9.8c3.2-.7 6.5-1.1 9.7-1.1h1.3c24 0 43.5 19.5 43.5 43.5c0 4.7-.8 9.3-2.2 13.8L463.9 98.8l20.3 25c7.6 9.3 11.7 21 11.7 33c0 23.1-15.2 43.5-37.3 50.2l-35.8 10.7c-10.6 3.2-20.6 7.9-29.8 14l-18.8 12.6C362.9 252 349.6 256 336 256s-26.9-4-38.2-11.6L279 231.9c-9.2-6.1-19.2-10.9-29.8-14l-35.8-10.7c-22.2-6.6-37.3-27-37.3-50.2c0-12 4.1-23.7 11.7-33l20.3-25L194.2 57.3c-1.5-4.4-2.2-9.1-2.2-13.8C192 19.5 211.5 0 235.5 0h1.3c3.3 0 6.5 .4 9.7 1.1l44.1 9.8C304.5 3.8 320 0 336 0zM239.6 32.3c-.9-.2-1.8-.3-2.8-.3h-1.3c-6.4 0-11.5 5.2-11.5 11.5c0 1.2 .2 2.5 .6 3.6L232 69.4 258.4 37l.3-.4-19.1-4.2zm174 4.6L440 69.4l7.4-22.2c.4-1.2 .6-2.4 .6-3.6c0-6.4-5.2-11.5-11.5-11.5h-1.3c-.9 0-1.9 .1-2.8 .3l-19.1 4.2 .3 .4zM128 267.1c14-16.8 30.6-31.4 49.1-43.1c7.9 6.1 17 10.8 27 13.8l9.3 2.8C153.5 268.6 112 329.5 112 400c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-16.5 1.9-32.6 5.6-48H32v48c0 44.2 35.8 80 80 80H320c0-17.7-14.3-32-32-32H240c-8.8 0-16-7.2-16-16s7.2-16 16-16h48c35.3 0 64 28.7 64 64h96c0-17.7-14.3-32-32-32H400c-8.8 0-16-7.2-16-16s7.2-16 16-16h16c35.3 0 64 28.7 64 64v16c0 8.8-7.2 16-16 16H112C50.1 512 0 461.9 0 400V96C0 60.7 28.7 32 64 32s64 28.7 64 64V267.1zm320 27.2c0-17-6.9-33.1-18.9-44.8c1-.3 2-.6 2.9-.9l30.4-9.1c11.3 15.9 17.6 35 17.6 54.9c0 31.4-15.6 60.7-41.5 78.4L427.6 380c-18.8 12.7-43.9 10.3-60-5.7c-21.1-21.1-17.6-56.2 7.2-72.8l16.3-10.8c7.4-4.9 17.3-2.9 22.2 4.4s2.9 17.3-4.4 22.2l-16.3 10.8c-8 5.3-9.1 16.7-2.3 23.5c5.2 5.2 13.3 6 19.4 1.8l10.8-7.3c17.2-11.7 27.5-31.1 27.5-51.9zM95.9 320l.1-.1V256H32v64H95.9zM96 160H32v64H96V160zm0-32V96c0-17.7-14.3-32-32-32S32 78.3 32 96v32H96zM304.4 374.2c-16.1 16.1-41.3 18.5-60.2 5.7L199 349.2c-7.3-5-9.2-14.9-4.3-22.2s14.9-9.2 22.2-4.3l45.3 30.7c6.1 4.2 14.3 3.4 19.6-1.9c6.8-6.8 5.8-18.2-2.3-23.7L244.3 304c-7.3-5-9.2-14.9-4.3-22.2s14.9-9.2 22.2-4.3l35.3 23.9c24.6 16.7 28 51.7 6.9 72.8zM272 128a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm112-16a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faHandPointDown = {\n prefix: 'fal',\n iconName: 'hand-point-down',\n icon: [384, 512, [], \"f0a7\", \"M64 456c0 13.3 10.7 24 24 24s24-10.7 24-24l0-144 0-40-32 0c-5.5 0-10.8-.6-16-1.6L64 456zm48-216l0 0 32 0 0 0 24 0c13.2 0 24-10.7 24-24l0 0c0-13.3-10.7-24-24-24l-56 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l56 0c15.7 0 29.8 6.4 40 16.8c10.2-10.4 24.3-16.8 40-16.8c13.8 0 26.4 5 36.1 13.2C294.4 160.3 310.2 152 328 152c8.6 0 16.7 1.9 24 5.4C350.6 87.9 293.8 32 224 32l-64 0C89.3 32 32 89.3 32 160l0 32c0 26.5 21.5 48 48 48l32 0zm32 32l0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-31.9c0 0 0 0 0-.1l0-13.4c-7.3 3.5-15.4 5.4-24 5.4l-24 0zm0 90.6l0 93.4c0 30.9-25.1 56-56 56s-56-25.1-56-56l0-200C12.6 241.4 0 218.2 0 192l0-32C0 71.6 71.6 0 160 0l64 0c88.4 0 160 71.6 160 160l0 48 0 32 0 24c0 30.9-25.1 56-56 56c-12.1 0-23.3-3.8-32.5-10.4C285.6 325.5 268 336 248 336c-9.7 0-18.8-2.5-26.7-6.8C214 351.7 192.9 368 168 368c-8.6 0-16.7-1.9-24-5.4zM224 240l0 40c0 13.2 10.8 24 24 24c13.3 0 24-10.7 24-24l0-16 0-48c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 0 0 24zm128 0l0-32c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 8 0 48c0 13.3 10.7 24 24 24s24-10.7 24-24l0-24z\"]\n};\nvar faArrowUpFromBracket = {\n prefix: 'fal',\n iconName: 'arrow-up-from-bracket',\n icon: [448, 512, [], \"e09a\", \"M235.3 4.7c-6.2-6.2-16.4-6.2-22.6 0l-128 128c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L208 54.6 208 336c0 8.8 7.2 16 16 16s16-7.2 16-16l0-281.4L340.7 155.3c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-128-128zM32 336c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 96c0 44.2 35.8 80 80 80l288 0c44.2 0 80-35.8 80-80l0-96c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 96c0 26.5-21.5 48-48 48L80 480c-26.5 0-48-21.5-48-48l0-96z\"]\n};\nvar faHeadSideGear = {\n prefix: 'fal',\n iconName: 'head-side-gear',\n icon: [512, 512, [], \"e611\", \"M32 224C32 118 118 32 224 32h16c66.1 0 127.1 40 153.8 96.9c3.2 6.9 6.5 14.2 9.9 21.7l0 0 0 0c6.2 13.9 12.7 28.5 19.8 42c11.1 21.3 24.8 42.3 44 59.4l3.2 2.8c6 5.3 9.5 13 9.5 21.1c0 15.6-12.6 28.2-28.2 28.2H432c-8.8 0-16 7.2-16 16v64c0 17.7-14.3 32-32 32H304c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V448h64c35.3 0 64-28.7 64-64V336h3.8c33.2 0 60.2-26.9 60.2-60.2c0-17.2-7.4-33.6-20.2-45l-3.2-2.8c-15.1-13.5-26.6-30.6-36.9-50.3c-6.7-12.7-12.3-25.5-18.2-38.7l0 0c-3.5-7.8-7-15.7-10.8-23.8C390.8 47.3 318.6 0 240 0H224C100.3 0 0 100.3 0 224c0 52.9 18.4 101.6 49.1 140C58.5 375.6 64 388.6 64 401.4V496c0 8.8 7.2 16 16 16s16-7.2 16-16V401.4c0-22.1-9.5-41.9-21.9-57.4C47.7 311.1 32 269.4 32 224zm144-96v.7c0 1-.8 3.4-4.1 5.3c-3.2 1.8-5.5 1.4-6.5 .8l-.6-.3c-15.3-8.8-34.9-3.6-43.7 11.7l-16 27.7c-8.8 15.3-3.6 34.9 11.7 43.7l.6 .3c.9 .5 2.6 2.4 2.6 6.1s-1.6 5.6-2.6 6.1l-.6 .3c-15.3 8.8-20.5 28.4-11.7 43.7l16 27.7c8.8 15.3 28.4 20.6 43.7 11.7l.6-.3c.9-.5 3.3-1 6.5 .8c3.3 1.9 4.1 4.3 4.1 5.3v.7c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32v-.7c0-1 .8-3.4 4.1-5.3c3.2-1.8 5.5-1.4 6.5-.8l.6 .3c15.3 8.8 34.9 3.6 43.7-11.7l16-27.7c8.8-15.3 3.6-34.9-11.7-43.7l-.6-.3c-.9-.5-2.6-2.4-2.6-6.1s1.6-5.6 2.6-6.1l.6-.3c15.3-8.8 20.6-28.4 11.7-43.7l-16-27.7c-8.8-15.3-28.4-20.5-43.7-11.7l-.6 .3c-.9 .5-3.3 1-6.5-.8c-3.3-1.9-4.1-4.3-4.1-5.3V128c0-17.7-14.3-32-32-32H208c-17.7 0-32 14.3-32 32zm64 0l0 .7c0 15.1 9.4 26.8 20 33c10.7 6.2 25.5 8.3 38.5 .8l.6-.3 16 27.7-.6 .3c-13 7.5-18.5 21.4-18.5 33.8s5.5 26.3 18.5 33.8l.6 .3-16 27.7-.6-.3c-13-7.5-27.8-5.4-38.5 .8c-10.6 6.2-20 17.9-20 33v.7H208v-.7c0-15.1-9.4-26.8-20-33c-10.7-6.2-25.5-8.3-38.5-.8l-.6 .3-16-27.7 .6-.3c13-7.5 18.6-21.4 18.6-33.8s-5.5-26.3-18.6-33.8l-.6-.3 16-27.7 .6 .3c13 7.5 27.8 5.4 38.5-.8c10.6-6.2 20-17.9 20-33V128h32zm8 96a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faTrashPlus = {\n prefix: 'fal',\n iconName: 'trash-plus',\n icon: [448, 512, [], \"e2b2\", \"M164.2 39.5L148.9 64H299.1L283.8 39.5c-2.9-4.7-8.1-7.5-13.6-7.5H177.7c-5.5 0-10.6 2.8-13.6 7.5zM311 22.6L336.9 64h47.1H416h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H413.7L388.2 452.6C385.9 486.1 358 512 324.4 512H123.6c-33.6 0-61.4-25.9-63.8-59.4L34.3 96H16C7.2 96 0 88.8 0 80s7.2-16 16-16H32 64.1h47.1L137 22.6C145.8 8.5 161.2 0 177.7 0h92.5c16.6 0 31.9 8.5 40.7 22.6zM66.4 96L91.7 450.3C92.9 467 106.8 480 123.6 480H324.4c16.8 0 30.7-13 31.9-29.7L381.6 96H66.4zM208 384V304H128c-8.8 0-16-7.2-16-16s7.2-16 16-16h80V192c0-8.8 7.2-16 16-16s16 7.2 16 16v80h80c8.8 0 16 7.2 16 16s-7.2 16-16 16H240v80c0 8.8-7.2 16-16 16s-16-7.2-16-16z\"]\n};\nvar faFileCad = {\n prefix: 'fal',\n iconName: 'file-cad',\n icon: [512, 512, [], \"e672\", \"M64 480l48 0 0 32-48 0c-35.3 0-64-28.7-64-64L0 64C0 28.7 28.7 0 64 0L220.1 0c12.7 0 24.9 5.1 33.9 14.1L369.9 129.9c9 9 14.1 21.2 14.1 33.9L384 304l-32 0 0-112-112 0c-26.5 0-48-21.5-48-48l0-112L64 32C46.3 32 32 46.3 32 64l0 384c0 17.7 14.3 32 32 32zM351.5 160c-.7-2.8-2.1-5.4-4.2-7.4L231.4 36.7c-2.1-2.1-4.6-3.5-7.4-4.2L224 144c0 8.8 7.2 16 16 16l111.5 0zM200 352l16 0c22.1 0 40 17.9 40 40l0 8c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-8c0-4.4-3.6-8-8-8l-16 0c-4.4 0-8 3.6-8 8l0 80c0 4.4 3.6 8 8 8l16 0c4.4 0 8-3.6 8-8l0-8c0-8.8 7.2-16 16-16s16 7.2 16 16l0 8c0 22.1-17.9 40-40 40l-16 0c-22.1 0-40-17.9-40-40l0-80c0-22.1 17.9-40 40-40zm232 0l32 0c26.5 0 48 21.5 48 48l0 64c0 26.5-21.5 48-48 48l-32 0c-8.8 0-16-7.2-16-16l0-128c0-8.8 7.2-16 16-16zm16 32l0 96 16 0c8.8 0 16-7.2 16-16l0-64c0-8.8-7.2-16-16-16l-16 0zm-160 8c0-22.1 17.9-40 40-40l16 0c22.1 0 40 17.9 40 40l0 56 0 48c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-32-32 0 0 32c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-48 0-56zm32 40l32 0 0-40c0-4.4-3.6-8-8-8l-16 0c-4.4 0-8 3.6-8 8l0 40z\"]\n};\nvar faObjectsAlignTop = {\n prefix: 'fal',\n iconName: 'objects-align-top',\n icon: [512, 512, [], \"e3c0\", \"M16 0C7.2 0 0 7.2 0 16s7.2 16 16 16l480 0c8.8 0 16-7.2 16-16s-7.2-16-16-16L16 0zM176 160c8.8 0 16 7.2 16 16l0 288c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16l0-288c0-8.8 7.2-16 16-16h64zm-64-32c-26.5 0-48 21.5-48 48l0 288c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48l0-288c0-26.5-21.5-48-48-48H112zm288 32c8.8 0 16 7.2 16 16l0 160c0 8.8-7.2 16-16 16H336c-8.8 0-16-7.2-16-16l0-160c0-8.8 7.2-16 16-16h64zm-64-32c-26.5 0-48 21.5-48 48l0 160c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48l0-160c0-26.5-21.5-48-48-48H336z\"]\n};\nvar faFolder = {\n prefix: 'fal',\n iconName: 'folder',\n icon: [512, 512, [128193, 128447, 61716, \"folder-blank\"], \"f07b\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H448c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32H291.9c-17 0-33.3-6.7-45.3-18.7L210.7 73.4c-6-6-14.1-9.4-22.6-9.4H64zM0 96C0 60.7 28.7 32 64 32H188.1c17 0 33.3 6.7 45.3 18.7l35.9 35.9c6 6 14.1 9.4 22.6 9.4H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96z\"]\n};\nvar faFolderBlank = faFolder;\nvar faFaceAnxiousSweat = {\n prefix: 'fal',\n iconName: 'face-anxious-sweat',\n icon: [576, 512, [], \"e36a\", \"M288 32C174.4 32 80.6 116.5 66 226.1c-1.2 8.8-9.2 14.9-18 13.7s-14.9-9.2-13.7-18C50.9 96.6 158.2 0 288 0C429.4 0 544 114.6 544 256s-114.6 256-256 256c-57.6 0-110.8-19.1-153.6-51.2c-7.1-5.3-8.5-15.3-3.2-22.4s15.3-8.5 22.4-3.2C191 463.3 237.5 480 288 480c123.7 0 224-100.3 224-224S411.7 32 288 32zM64 317.5c-5.3 7.2-10.8 15.1-15.8 23c-5.4 8.5-9.8 16.4-12.8 23.1c-2.6 5.8-3.2 8.8-3.4 9.5c0 .2 0 .2 0 .1C32 385.5 43.7 400 64 400s32-14.5 32-26.7c0 .1 0 .1 0-.1c-.1-.7-.8-3.7-3.4-9.6c-3-6.7-7.4-14.5-12.8-23.1c-5-7.9-10.5-15.8-15.8-23zm-8.6-41.4c4.3-5.5 12.8-5.5 17.1 0c17.6 21.7 55.5 72.2 55.5 97.2c0 32.5-28.7 58.7-64 58.7s-64-26.2-64-58.7c0-25 38.1-75.5 55.5-97.2zM367.6 248a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm-136 24a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zM211.3 171.3l-7.4 7.4c-23.6 23.6-53.9 39.2-86.8 44.7l-2.5 .4c-8.7 1.5-17-4.4-18.4-13.2s4.4-17 13.2-18.4l2.5-.4c26.3-4.4 50.6-16.9 69.5-35.7l7.4-7.4c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zm153.4-22.6c6.2-6.2 16.4-6.2 22.6 0l7.4 7.4c18.9 18.9 43.2 31.4 69.5 35.7l2.5 .4c8.7 1.5 14.6 9.7 13.2 18.4s-9.7 14.6-18.4 13.2l-2.5-.4c-32.9-5.5-63.3-21.1-86.8-44.7l-7.4-7.4c-6.2-6.2-6.2-16.4 0-22.6zM283.8 304h8.4c50.7 0 91.8 41.1 91.8 91.8c0 11.2-9 20.2-20.2 20.2H212.2c-11.2 0-20.2-9-20.2-20.2c0-50.7 41.1-91.8 91.8-91.8zm67 80c-5.5-27.4-29.6-48-58.6-48h-8.4c-29 0-53.2 20.6-58.6 48H350.8z\"]\n};\nvar faCreditCardBlank = {\n prefix: 'fal',\n iconName: 'credit-card-blank',\n icon: [576, 512, [], \"f389\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H512c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM96 368c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16zm128 0c0-8.8 7.2-16 16-16H368c8.8 0 16 7.2 16 16s-7.2 16-16 16H240c-8.8 0-16-7.2-16-16z\"]\n};\nvar faFileWaveform = {\n prefix: 'fal',\n iconName: 'file-waveform',\n icon: [448, 512, [\"file-medical-alt\"], \"f478\", \"M416 448c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32V384H64v64c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V163.9c0-12.7-5.1-24.9-14.1-33.9L318.1 14.1c-9-9-21.2-14.1-33.9-14.1H128C92.7 0 64 28.7 64 64V288H96V64c0-17.7 14.3-32 32-32H256V144c0 26.5 21.5 48 48 48H416V448zm-.5-288H304c-8.8 0-16-7.2-16-16V32.5c2.8 .7 5.4 2.1 7.4 4.2L411.3 152.6c2.1 2.1 3.5 4.6 4.2 7.4zM270.3 264.8c-2.7-5.4-8.3-8.8-14.3-8.8s-11.6 3.4-14.3 8.8L189.3 369.7l-32.5-43.3c-3-4-7.8-6.4-12.8-6.4H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H136l43.2 57.6c3.3 4.4 8.7 6.8 14.2 6.3s10.4-3.8 12.9-8.8L256 307.8l17.7 35.4c2.7 5.4 8.3 8.8 14.3 8.8h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H297.9l-27.6-55.2z\"]\n};\nvar faFileMedicalAlt = faFileWaveform;\nvar faMicrochipAi = {\n prefix: 'fal',\n iconName: 'microchip-ai',\n icon: [512, 512, [], \"e1ec\", \"M160 0c8.8 0 16 7.2 16 16V64h64V16c0-8.8 7.2-16 16-16s16 7.2 16 16V64h64V16c0-8.8 7.2-16 16-16s16 7.2 16 16V64h16c35.3 0 64 28.7 64 64v16h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H448v64h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H448v64h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H448v16c0 35.3-28.7 64-64 64H368v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V448H272v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V448H176v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V448H128c-35.3 0-64-28.7-64-64V368H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H64V272H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H64V176H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H64V128c0-35.3 28.7-64 64-64h16V16c0-8.8 7.2-16 16-16zM128 96c-17.7 0-32 14.3-32 32V384c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32H128zm94.7 89.6l56 128c3.5 8.1-.1 17.5-8.2 21.1s-17.5-.2-21.1-8.2L239.5 304H176.5l-9.8 22.4c-3.5 8.1-13 11.8-21.1 8.2s-11.8-13-8.2-21.1l56-128c2.5-5.8 8.3-9.6 14.7-9.6s12.1 3.8 14.7 9.6zM208 231.9L190.5 272h35.1L208 231.9zM352 192V320c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faMug = {\n prefix: 'fal',\n iconName: 'mug',\n icon: [576, 512, [], \"f874\", \"M64 96V352c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V96H368 64zm352 0V256h48c44.2 0 80-35.8 80-80s-35.8-80-80-80H416zm0 192v64c0 53-43 96-96 96H128c-53 0-96-43-96-96V96c0-17.7 14.3-32 32-32H368h16 80c61.9 0 112 50.1 112 112s-50.1 112-112 112H416z\"]\n};\nvar faPlaneUpSlash = {\n prefix: 'fal',\n iconName: 'plane-up-slash',\n icon: [640, 512, [], \"e22e\", \"M464 461.4l-32-25.3V440v8 31.4L324.4 448.6c-2.9-.8-5.9-.8-8.8 0L208 479.4V440l57.6-43.2c4-3 6.4-7.8 6.4-12.8l0-66.3c0-5-2.4-9.8-6.4-12.8s-9.2-4-14-2.6L96 346.8V290.6c0-5.7 3.1-11 8.1-13.9l73.1-41.7L150 213.6 88.2 248.9c-15 8.5-24.2 24.5-24.2 41.7v56.2c0 21.3 20.3 36.6 40.8 30.8L240 338.9l0 37.1-51.2 38.4c-8.1 6-12.8 15.5-12.8 25.6v42c0 16.6 13.4 30 30 30c2.8 0 5.6-.4 8.3-1.2l0 0L320 480.6l105.7 30.2 0 0c2.7 .8 5.5 1.2 8.2 1.2c16.6 0 30-13.4 30-30V461.4zm-223.6-360L272 126.4V109.7c0-13.5 6.1-34.1 16.6-51.3c5.2-8.5 10.9-15.4 16.7-20C311 33.7 315.9 32 320 32c9.1 0 20.9 8.2 31.8 26.3C362.1 75.5 368 96.1 368 109.7v61.7c0 5.7 3.1 11 8.1 13.9l159.9 91.4c5 2.8 8.1 8.2 8.1 13.9v50.5l27.6 21.8c2.8-4.7 4.4-10.2 4.4-16.2V290.6c0-17.2-9.2-33.1-24.2-41.7L400 162.1V109.7c0-20.6-8.1-46.8-20.8-67.9C367.1 21.6 346.9 0 320 0c-13.4 0-25.2 5.7-34.8 13.3c-9.5 7.6-17.6 17.7-24 28.4c-11.1 18.3-19 40.6-20.8 59.7zM25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4z\"]\n};\nvar faRadiation = {\n prefix: 'fal',\n iconName: 'radiation',\n icon: [512, 512, [], \"f7b9\", \"M117.4 80L174.6 179c-11.9 12.6-20.9 27.9-26 45L34.3 224c8.3-58.2 39-109.2 83.2-144zm55.4 384.1L230 365c8.4 2 17.1 3 26 3s17.6-1 26-3l57.2 99.1C313.5 474.3 285.4 480 256 480s-57.5-5.7-83.2-15.9zM394.6 80c44.2 34.8 74.9 85.9 83.2 144l-114.4 0c-5.1-17.1-14.1-32.4-26-45L394.6 80zM160 256c8.8 0 15.8-7.2 17.6-15.9c3.5-17.4 12.7-32.8 25.5-44.1c6.6-5.8 9.4-15.5 5-23.2L144 62c-8.8-15.3-28.6-20.7-42.7-10C47.8 92.7 10.7 154 2 224.1C-.2 241.6 14.3 256 32 256l128 0zm48 83.2L144 450.1c-8.8 15.3-3.7 35.1 12.6 41.9c30.6 12.9 64.2 20 99.4 20s68.9-7.1 99.4-20c16.3-6.9 21.4-26.6 12.6-41.9L304 339.2c-4.4-7.7-14.2-10.1-22.6-7.3c-8 2.7-16.5 4.1-25.4 4.1s-17.4-1.4-25.4-4.1c-8.4-2.8-18.2-.4-22.6 7.3zm126.4-99.1c1.7 8.7 8.7 15.9 17.6 15.9l128 0c17.7 0 32.2-14.4 30-31.9C501.3 154 464.2 92.7 410.7 52c-14.1-10.7-33.8-5.3-42.7 10L304 172.9c-4.4 7.6-1.7 17.3 5 23.2c12.8 11.3 22 26.7 25.5 44.1zM240 256a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm64 0a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nvar faPenCircle = {\n prefix: 'fal',\n iconName: 'pen-circle',\n icon: [512, 512, [], \"e20e\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm331.5-92.7c-6.2-6.2-16.4-6.2-22.6 0l-21.4 21.4 40 40 21.4-21.4c6.2-6.2 6.2-16.4 0-22.6l-17.4-17.4zm-149 126.4c-2.1 2.1-3.5 4.6-4.2 7.4l-12.3 49 49-12.3c2.8-.7 5.4-2.2 7.4-4.2l82.3-82.3-40-40-82.3 82.3zm103.8-149c18.7-18.7 49.1-18.7 67.9 0l17.4 17.4c18.7 18.7 18.7 49.1 0 67.9L245.1 352.3c-6.2 6.2-13.9 10.5-22.3 12.6l-74.9 18.7c-5.5 1.4-11.2-.2-15.2-4.2s-5.6-9.7-4.2-15.2l18.7-74.9c2.1-8.4 6.5-16.1 12.6-22.3L286.2 140.7z\"]\n};\nvar faBagSeedling = {\n prefix: 'fal',\n iconName: 'bag-seedling',\n icon: [512, 512, [], \"e5f2\", \"M89 96H423l12.6 50.3c8.2 33 12.4 66.9 12.4 100.9v17.7c0 34-4.2 67.9-12.4 100.9L423 416H89L76.4 365.7C68.2 332.7 64 298.9 64 264.8V247.2c0-34 4.2-67.9 12.4-100.9L89 96zM430.9 64H81.1L64.8 39.5c-.5-.8-.8-1.7-.8-2.7c0-2.7 2.2-4.8 4.8-4.8H443.2c2.7 0 4.8 2.2 4.8 4.8c0 1-.3 1.9-.8 2.7L430.9 64zM81.1 448H430.9l16.3 24.5c.5 .8 .8 1.7 .8 2.7c0 2.7-2.2 4.8-4.8 4.8H68.8c-2.7 0-4.8-2.2-4.8-4.8c0-1 .3-1.9 .8-2.7L81.1 448zM38.2 57.3l20 30L45.4 138.5C36.5 174 32 210.5 32 247.2v17.7c0 36.6 4.5 73.1 13.4 108.7l12.8 51.2-20 30c-4 6.1-6.2 13.2-6.2 20.4C32 495.5 48.5 512 68.8 512H443.2c20.3 0 36.8-16.5 36.8-36.8c0-7.3-2.2-14.4-6.2-20.4l-20-30 12.8-51.2c8.9-35.5 13.4-72 13.4-108.7V247.2c0-36.6-4.5-73.1-13.4-108.7L453.8 87.3l20-30c4-6.1 6.2-13.2 6.2-20.4C480 16.5 463.5 0 443.2 0H68.8C48.5 0 32 16.5 32 36.8c0 7.3 2.2 14.4 6.2 20.4zM272 319c63.1-7.9 112-61.7 112-127v-1.6c0-16.8-13.6-30.4-30.4-30.4h-8.9c-37.2 0-68.9 17.9-88.7 44.5c-19.8-26.6-51.5-44.5-88.7-44.5h-8.9c-16.8 0-30.4 13.6-30.4 30.4V192c0 65.3 48.9 119.1 112 127v33c0 8.8 7.2 16 16 16s16-7.2 16-16V319zm-32-32.3c-45.4-7.6-80-47.1-80-94.7h7.3c33.6 0 61 20.5 72.7 48.4v46.2zm32 0V240.4c11.7-27.9 39.1-48.4 72.7-48.4H352c0 47.6-34.6 87.1-80 94.7z\"]\n};\nvar faChartSimple = {\n prefix: 'fal',\n iconName: 'chart-simple',\n icon: [448, 512, [], \"e473\", \"M240 64c8.8 0 16 7.2 16 16V432c0 8.8-7.2 16-16 16H208c-8.8 0-16-7.2-16-16V80c0-8.8 7.2-16 16-16h32zM208 32c-26.5 0-48 21.5-48 48V432c0 26.5 21.5 48 48 48h32c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H208zM80 256c8.8 0 16 7.2 16 16V432c0 8.8-7.2 16-16 16H48c-8.8 0-16-7.2-16-16V272c0-8.8 7.2-16 16-16H80zM48 224c-26.5 0-48 21.5-48 48V432c0 26.5 21.5 48 48 48H80c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48H48zm320-96h32c8.8 0 16 7.2 16 16V432c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16zm-48 16V432c0 26.5 21.5 48 48 48h32c26.5 0 48-21.5 48-48V144c0-26.5-21.5-48-48-48H368c-26.5 0-48 21.5-48 48z\"]\n};\nvar faCrutches = {\n prefix: 'fal',\n iconName: 'crutches',\n icon: [640, 512, [], \"f7f8\", \"M443.3 4.7l192 192c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-192-192c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0zM290.4 199l34.2-34.2 .1-.1 .1-.1 94-94 22.6 22.6L358.6 176 464 281.4l82.7-82.7 22.6 22.6-94.1 94.1L441 349.6c-11.2 11.2-25.4 18.8-40.9 21.9l-122 24.4c-9.3 1.9-17.8 6.4-24.5 13.1l-98.3 98.3c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L231 386.4c6.7-6.7 11.3-15.2 13.1-24.5l24.4-122c3.1-15.5 10.7-29.7 21.9-40.9zM313 221.6c-6.7 6.7-11.3 15.2-13.1 24.5L276.4 363.6l117.5-23.5c9.3-1.9 17.8-6.4 24.5-13.1l23-23L336 198.6l-23 23zM196.7 4.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L198.6 48l98.7 98.7-22.6 22.6L176 70.6 70.6 176 176 281.4l66.7-66.7c-2.4 6.1-4.2 12.4-5.5 18.9l-8 39.9L198.6 304 219 324.4l-6.2 31.2c-.3 1.4-.8 2.8-1.4 4.1c-4.4-2.9-8.5-6.3-12.3-10.1l-34.3-34.3L48 198.6 27.3 219.3c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l192-192zM384.5 407.2l21.9-4.4c5.1-1 10.1-2.4 15-4.1l85.9 85.9c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L386.4 409c-.6-.6-1.2-1.2-1.9-1.8z\"]\n};\nvar faCircleParking = {\n prefix: 'fal',\n iconName: 'circle-parking',\n icon: [512, 512, [\"parking-circle\"], \"f615\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm208 32h80c35.3 0 64-28.7 64-64s-28.7-64-64-64H208V288zm80 32H208v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V304 152c0-13.3 10.7-24 24-24h88c53 0 96 43 96 96s-43 96-96 96z\"]\n};\nvar faParkingCircle = faCircleParking;\nvar faMarsStroke = {\n prefix: 'fal',\n iconName: 'mars-stroke',\n icon: [512, 512, [9894], \"f229\", \"M368 0c-8.8 0-16 7.2-16 16s7.2 16 16 16h89.4L384 105.4 347.3 68.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L361.4 128l-40.7 40.7C290.1 143.3 250.8 128 208 128c-97.2 0-176 78.8-176 176s78.8 176 176 176s176-78.8 176-176c0-42.8-15.3-82.1-40.7-112.6L384 150.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L406.6 128 480 54.6V144c0 8.8 7.2 16 16 16s16-7.2 16-16V16c0-8.8-7.2-16-16-16H368zM64 304a144 144 0 1 1 288 0A144 144 0 1 1 64 304z\"]\n};\nvar faLeafOak = {\n prefix: 'fal',\n iconName: 'leaf-oak',\n icon: [512, 512, [], \"f6f7\", \"M300 0c-33.3 0-61.7 23.9-67.3 56.7l-1.4 8.2L217.9 54.8c-23.9-18-57.5-15.7-78.7 5.5c-13.4 13.4-19.7 32.3-17 51l6.7 47.1c-21.5-5.4-44.9 1.3-60.2 18.8l-6.6 7.5C42.9 206.6 38.8 238 51.9 264.1L64.3 289c7.8 15.6 11.8 32.7 11.8 50.1v74.1L4.7 484.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L102 432.6h67.6c17.4 0 34.5 4 50.1 11.8l24.9 12.4c26.1 13.1 57.5 9 79.5-10.2l7.5-6.6c17.5-15.3 24.2-38.7 18.8-60.2l47.1 6.7c18.7 2.7 37.6-3.6 51-17c21.2-21.2 23.5-54.8 5.5-78.7l-10.1-13.4 8.2-1.4c32.8-5.7 56.7-34.1 56.7-67.3c0-22.9-11.4-44.2-30.4-56.9L468 145l5.4-24.8c5.2-23.7-2-48.5-19.2-65.6S412.3 30.1 388.6 35.3l-24.8 5.4-6.9-10.3C344.2 11.4 322.9 0 300 0zM134 400.6L315.3 219.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L108.1 381.2l0-42.1c0-22.4-5.2-44.4-15.2-64.4L80.5 249.8c-7.2-14.5-5-31.9 5.7-44.1l6.6-7.5c9.4-10.7 25.3-12.8 37.2-4.9c15.5 10.3 35.9-2.5 33.3-21l-9.4-65.6c-1.3-8.8 1.7-17.6 8-23.9c9.9-9.9 25.6-11 36.8-2.6l23.9 18c14.3 10.8 35 2.6 38.1-15.1l3.6-21.1C267.2 44.7 282.3 32 300 32c12.2 0 23.5 6.1 30.2 16.2l6.9 10.3c7.3 11 20.6 16.3 33.5 13.5l24.8-5.4c13.1-2.9 26.7 1.1 36.1 10.6s13.4 23.1 10.6 36.1l-5.4 24.8c-2.8 12.9 2.5 26.2 13.5 33.5l10.3 6.9c10.1 6.7 16.2 18.1 16.2 30.2c0 17.7-12.7 32.8-30.2 35.8l-21.1 3.6c-17.7 3.1-25.9 23.8-15.1 38.1l18 23.9c8.4 11.2 7.3 26.9-2.6 36.8c-6.3 6.3-15.1 9.2-23.9 8l-65.6-9.4c-18.4-2.6-31.3 17.8-21 33.3c7.9 11.9 5.8 27.8-4.9 37.2l-7.5 6.6c-12.2 10.7-29.6 12.9-44.1 5.7L234 415.8c-20-10-42-15.2-64.4-15.2H134z\"]\n};\nvar faSquareBolt = {\n prefix: 'fal',\n iconName: 'square-bolt',\n icon: [448, 512, [], \"e265\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM159.7 264H208c5.5 0 10.5 2.8 13.5 7.4s3.3 10.4 1 15.3l-19.4 41.9L288.3 248H240c-5.5 0-10.5-2.8-13.5-7.4s-3.3-10.4-1-15.3l19.4-41.9L159.7 264zM281.6 112c14.7 0 24.4 15.2 18.2 28.5L265 216h49.4c11.9 0 21.6 9.7 21.6 21.6c0 5.9-2.4 11.6-6.7 15.7L180.2 394.5c-3.7 3.5-8.7 5.5-13.8 5.5c-14.7 0-24.4-15.2-18.2-28.5L183 296H133.6c-11.9 0-21.6-9.7-21.6-21.6c0-5.9 2.4-11.6 6.7-15.7L267.8 117.5c3.7-3.5 8.7-5.5 13.8-5.5z\"]\n};\nvar faVial = {\n prefix: 'fal',\n iconName: 'vial',\n icon: [512, 512, [129514], \"f492\", \"M292.7 4.7c6.2-6.2 16.4-6.2 22.6 0l32 32 128 128 32 32c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L464 198.6l-84.7 84.7L181.8 480.8c-20 20-47.1 31.2-75.3 31.2C47.7 512 0 464.3 0 405.5c0-28.2 11.2-55.3 31.2-75.3l69.5-69.5L313.4 48 292.7 27.3c-6.2-6.2-6.2-16.4 0-22.6zM336 70.6L150.6 256H361.4l80-80L336 70.6zM329.4 288H118.6L53.8 352.8c-14 14-21.8 32.9-21.8 52.7c0 41.1 33.4 74.5 74.5 74.5c19.8 0 38.7-7.8 52.7-21.8L329.4 288z\"]\n};\nvar faGauge = {\n prefix: 'fal',\n iconName: 'gauge',\n icon: [512, 512, [\"dashboard\", \"gauge-med\", \"tachometer-alt-average\"], \"f624\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-192a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 96c35.3 0 64-28.7 64-64c0-29.8-20.4-54.9-48-62l0-194c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 194c-27.6 7.1-48 32.2-48 62c0 35.3 28.7 64 64 64zM144 168a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm-24 88a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm296 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM392 144a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faDashboard = faGauge;\nvar faGaugeMed = faGauge;\nvar faTachometerAltAverage = faGauge;\nvar faWandMagicSparkles = {\n prefix: 'fal',\n iconName: 'wand-magic-sparkles',\n icon: [576, 512, [\"magic-wand-sparkles\"], \"e2ca\", \"M458.3 34.9c3.1-3.1 8.2-3.1 11.3 0l39.4 39.4c3.1 3.1 3.1 8.2 0 11.3L388.7 206.1l-50.7-50.7L458.3 34.9zM66.9 426.3L315.3 177.9l50.7 50.7L117.7 477.1c-3.1 3.1-8.2 3.1-11.3 0L66.9 437.7c-3.1-3.1-3.1-8.2 0-11.3zM435.7 12.3L44.3 403.7c-15.6 15.6-15.6 40.9 0 56.6l39.4 39.4c15.6 15.6 40.9 15.6 56.6 0L531.7 108.3c15.6-15.6 15.6-40.9 0-56.6L492.3 12.3c-15.6-15.6-40.9-15.6-56.6 0zM128 80c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H48c-8.8 0-16 7.2-16 16s7.2 16 16 16H96v48c0 8.8 7.2 16 16 16s16-7.2 16-16V160h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H128V80zM464 320c-8.8 0-16 7.2-16 16v48H400c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v48c0 8.8 7.2 16 16 16s16-7.2 16-16V416h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H480V336c0-8.8-7.2-16-16-16zM252.2 16c0-6.7-5.4-12.2-12.2-12.2s-12.2 5.4-12.2 12.2V35.8H208c-6.7 0-12.2 5.4-12.2 12.2s5.4 12.2 12.2 12.2h19.8V80c0 6.7 5.4 12.2 12.2 12.2s12.2-5.4 12.2-12.2V60.2H272c6.7 0 12.2-5.4 12.2-12.2s-5.4-12.2-12.2-12.2H252.2V16z\"]\n};\nvar faMagicWandSparkles = faWandMagicSparkles;\nvar faLambda = {\n prefix: 'fal',\n iconName: 'lambda',\n icon: [448, 512, [], \"f66e\", \"M16 32C7.2 32 0 39.2 0 48s7.2 16 16 16H139.5c6.2 0 11.9 3.6 14.5 9.3l7.6 16.5-.3-.1-160 368c-3.5 8.1 .2 17.5 8.3 21.1s17.5-.2 21.1-8.3L179.4 128.3 328.9 452.1c7.8 17 24.9 27.9 43.6 27.9H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H372.5c-6.2 0-11.9-3.6-14.5-9.3L183.1 59.9c-7.8-17-24.9-27.9-43.6-27.9H16z\"]\n};\nvar faE = {\n prefix: 'fal',\n iconName: 'e',\n icon: [320, 512, [101], \"45\", \"M48 32C21.5 32 0 53.5 0 80V256 432c0 26.5 21.5 48 48 48H304c8.8 0 16-7.2 16-16s-7.2-16-16-16H48c-8.8 0-16-7.2-16-16V272H240c8.8 0 16-7.2 16-16s-7.2-16-16-16H32V80c0-8.8 7.2-16 16-16H304c8.8 0 16-7.2 16-16s-7.2-16-16-16H48z\"]\n};\nvar faPizza = {\n prefix: 'fal',\n iconName: 'pizza',\n icon: [576, 512, [127829], \"f817\", \"M344.2 389.5C318.9 406.2 288.6 416 256 416c-88.4 0-160-71.6-160-160s71.6-160 160-160c32.6 0 62.9 9.8 88.2 26.5l-99.6 99.6c-18.7 18.7-18.7 49.1 0 67.9l99.6 99.6zm24.9-20.4L267.3 267.3c-6.2-6.2-6.2-16.4 0-22.6L369.1 142.9l22.6-22.6 33.9-33.9C432 80 432 69.9 425.4 64C380.2 24.2 320.9 0 256 0C114.6 0 0 114.6 0 256S114.6 512 256 512c64.9 0 124.2-24.2 169.4-64c6.6-5.8 6.6-16 .3-22.3l-33.9-33.9-22.6-22.6zm-1.9 43.4l22.9 22.9C352.7 463.4 306.3 480 256 480C132.3 480 32 379.7 32 256S132.3 32 256 32c50.3 0 96.7 16.6 134.2 44.6L367.2 99.5C335.9 77.1 297.5 64 256 64C150 64 64 150 64 256s86 192 192 192c41.5 0 79.9-13.1 111.2-35.5zm132.2-22.4l-22.9-22.9C498.9 335.9 512 297.5 512 256s-13.1-79.9-35.5-111.2l22.9-22.9c28 37.4 44.6 83.8 44.6 134.2s-16.6 96.7-44.6 134.2zM480 256c0 32.6-9.8 62.9-26.5 88.2L365.3 256l88.2-88.2C470.2 193.1 480 223.4 480 256zm32 169.4c39.8-45.1 64-104.4 64-169.4s-24.2-124.2-64-169.4c-5.8-6.6-16-6.6-22.3-.3L331.3 244.7c-6.2 6.2-6.2 16.4 0 22.6L433.1 369.1l22.6 22.6 33.9 33.9c6.2 6.2 16.4 6.3 22.3-.3zM160 280a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm88-120a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM224 376a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faBowlChopsticksNoodles = {\n prefix: 'fal',\n iconName: 'bowl-chopsticks-noodles',\n icon: [512, 512, [], \"e2ea\", \"M160 32c0-8.8-7.2-16-16-16s-16 7.2-16 16V73.3v32.6 46.6 32.1V224v0H96v0V186.7 154.6 112.3 79.7 48c0-8.8-7.2-16-16-16s-16 7.2-16 16V86.1L12.9 96.3C4.2 98-1.4 106.5 .3 115.1s10.2 14.3 18.8 12.6l44.9-9v38L14.9 160c-8.8 .6-15.5 8.2-14.9 17s8.2 15.5 17 14.9L64 188.8V224H50.9C23.3 224 1.4 247.3 3 274.8l.6 10.3c4.9 84.1 55.9 155.1 127.5 189.2c7.6 21.9 28.4 37.6 52.9 37.6H328c24.5 0 45.3-15.7 52.9-37.6c71.6-34.1 122.5-105.1 127.5-189.2l.6-10.3c1.6-27.6-20.3-50.8-47.9-50.8H160v0V182.4 150.4 99.5 66.9 32zm32 28.5V93.1L499.1 31.7c8.7-1.7 14.3-10.2 12.6-18.8S501.5-1.4 492.9 .3L192 60.5zm0 87.7v32.1L497.1 160c8.8-.6 15.5-8.2 14.9-17s-8.2-15.5-17-14.9L192 148.2zM161.3 463.9c-2.8-8.1-8.7-14.7-16.5-18.4c-61.4-29.2-105-90.1-109.3-162.2l-.6-10.3c-.5-9.2 6.8-16.9 16-16.9H461.1c9.2 0 16.5 7.7 16 16.9l-.6 10.3c-4.2 72.1-47.8 133-109.3 162.2c-7.7 3.7-13.7 10.3-16.5 18.4c-3.3 9.4-12.2 16.1-22.7 16.1H184c-10.4 0-19.4-6.7-22.7-16.1z\"]\n};\nvar faH3 = {\n prefix: 'fal',\n iconName: 'h3',\n icon: [640, 512, [], \"f315\", \"M32 80c0-8.8-7.2-16-16-16S0 71.2 0 80V256 432c0 8.8 7.2 16 16 16s16-7.2 16-16V272H288V432c0 8.8 7.2 16 16 16s16-7.2 16-16V256 80c0-8.8-7.2-16-16-16s-16 7.2-16 16V240H32V80zM400 64c-8.8 0-16 7.2-16 16s7.2 16 16 16H560L421 228.4c-4.7 4.5-6.3 11.5-3.8 17.5s8.3 10.1 14.9 10.1h96c44.2 0 80 35.8 80 80s-35.8 80-80 80H455.4c-19.6 0-36.2-14.1-39.5-33.4l-.2-1.2c-1.5-8.7-9.7-14.6-18.4-13.2s-14.6 9.7-13.2 18.4l.2 1.2c5.8 34.7 35.8 60.2 71 60.2H528c61.9 0 112-50.1 112-112s-50.1-112-112-112H472L611 91.6c4.7-4.5 6.3-11.5 3.8-17.5S606.5 64 600 64H400z\"]\n};\nvar faPenClip = {\n prefix: 'fal',\n iconName: 'pen-clip',\n icon: [512, 512, [\"pen-alt\"], \"f305\", \"M385.4 41.9c12.5-12.5 32.8-12.5 45.3 0l39.4 39.4c12.5 12.5 12.5 32.8 0 45.3L421.7 175 337 90.3l48.4-48.4zM291.7 90.3L99.5 282.5c-48 48-80.8 109.2-94.1 175.8l-5 25c-1.6 7.9 .9 16 6.6 21.7s13.8 8.1 21.7 6.6l25-5c66.6-13.3 127.8-46.1 175.8-94.1L492.7 149.3c25-25 25-65.5 0-90.5L453.3 19.3c-25-25-65.5-25-90.5 0L314.3 67.7 301.3 54.6c-25-25-65.5-25-90.5 0L100.7 164.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L233.4 77.3c12.5-12.5 32.8-12.5 45.3 0l13.1 13.1zM314.3 113L399 197.7 206.9 389.8c-43.6 43.6-99 73.2-159.4 85.3l-13.2 2.6 2.6-13.2c12.1-60.4 41.8-115.9 85.3-159.4L314.3 113z\"]\n};\nvar faPenAlt = faPenClip;\nvar faBridgeCircleExclamation = {\n prefix: 'fal',\n iconName: 'bridge-circle-exclamation',\n icon: [640, 512, [], \"e4ca\", \"M48 32h80H256 384 512h80c8.8 0 16 7.2 16 16s-7.2 16-16 16H528v64h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H512 384 256 128 48c-8.8 0-16-7.2-16-16s7.2-16 16-16h64V64H48c-8.8 0-16-7.2-16-16s7.2-16 16-16zM496 64H400v64h96V64zM368 64H272v64h96V64zM240 64H144v64h96V64zM48 240H64c53 0 96 43 96 96v96c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V336c0-53 43-96 96-96c16.1 0 31.2 4 44.6 10.9c-7.2 8.1-13.7 16.9-19.3 26.2c-7.7-3.3-16.3-5.2-25.2-5.2c-35.3 0-64 28.7-64 64v96c0 26.5-21.5 48-48 48H176c-26.5 0-48-21.5-48-48V336c0-35.3-28.7-64-64-64H48c-8.8 0-16-7.2-16-16s7.2-16 16-16zM608 368a112 112 0 1 0 -224 0 112 112 0 1 0 224 0zm-256 0a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144 32a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-112c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V304c0-8.8 7.2-16 16-16z\"]\n};\nvar faBadgePercent = {\n prefix: 'fal',\n iconName: 'badge-percent',\n icon: [512, 512, [], \"f646\", \"M190.6 71.4C203 47.9 227.7 32 256 32s53 15.9 65.4 39.4c3.6 6.8 11.5 10.1 18.8 7.8c25.4-7.8 54.1-1.6 74.1 18.4s26.2 48.7 18.4 74.1c-2.3 7.3 1 15.2 7.8 18.8C464.1 203 480 227.7 480 256s-15.9 53-39.4 65.4c-6.8 3.6-10.1 11.5-7.8 18.8c7.8 25.4 1.6 54.1-18.4 74.1s-48.7 26.2-74.1 18.4c-7.3-2.3-15.2 1-18.8 7.8C309 464.1 284.3 480 256 480s-53-15.9-65.4-39.4c-3.6-6.8-11.5-10.1-18.8-7.8c-25.4 7.8-54.1 1.6-74.1-18.4s-26.2-48.7-18.4-74.1c2.3-7.3-1-15.2-7.8-18.8C47.9 309 32 284.3 32 256s15.9-53 39.4-65.4c6.8-3.6 10.1-11.5 7.8-18.8c-7.8-25.4-1.6-54.1 18.4-74.1s48.7-26.2 74.1-18.4c7.3 2.3 15.2-1 18.8-7.8zM256 0c-36.1 0-68 18.1-87.1 45.6c-33-6-68.3 3.8-93.9 29.4s-35.3 60.9-29.4 93.9C18.1 188 0 219.9 0 256s18.1 68 45.6 87.1c-6 33 3.8 68.3 29.4 93.9s60.9 35.3 93.9 29.4C188 493.9 219.9 512 256 512s68-18.1 87.1-45.6c33 6 68.3-3.8 93.9-29.4s35.3-60.9 29.4-93.9C493.9 324 512 292.1 512 256s-18.1-68-45.6-87.1c6-33-3.8-68.3-29.4-93.9s-60.9-35.3-93.9-29.4C324 18.1 292.1 0 256 0zm91.3 164.7c-6.2-6.2-16.4-6.2-22.6 0l-160 160c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l160-160c6.2-6.2 6.2-16.4 0-22.6zM192 216a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM320 344a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faRotateReverse = {\n prefix: 'fal',\n iconName: 'rotate-reverse',\n icon: [512, 512, [], \"e631\", \"M85.9 301.2c-2-7.6-8.6-13.2-16.5-13.2c-10 0-17.6 8.9-15.2 18.6C76.8 397 158.6 464 256 464c59.8 0 113.7-25.3 151.7-65.7L433.4 424c5.1 5.1 12.1 8 19.3 8c15.1 0 27.3-12.2 27.3-27.3V304c0-8.8-7.2-16-16-16H363.3c-15.1 0-27.3 12.2-27.3 27.3c0 7.2 2.9 14.2 8 19.3l41 41C352.9 410.3 307 432 256 432c-81.6 0-150.2-55.5-170.1-130.8zM127 136.3C159.1 101.7 205 80 256 80c81.6 0 150.2 55.5 170.1 130.8c2 7.6 8.6 13.2 16.5 13.2c10 0 17.6-8.9 15.2-18.6C435.2 115 353.4 48 256 48c-59.8 0-113.7 25.3-151.7 65.7L78.6 88c-5.1-5.1-12.1-8-19.3-8C44.2 80 32 92.2 32 107.3V208c0 8.8 7.2 16 16 16H148.7c15.1 0 27.3-12.2 27.3-27.3c0-7.2-2.9-14.2-8-19.3l-41-41zM64 192V118.6L137.4 192H64zM448 320v73.4L374.6 320H448z\"]\n};\nvar faUser = {\n prefix: 'fal',\n iconName: 'user',\n icon: [448, 512, [128100, 62144], \"f007\", \"M320 128a96 96 0 1 0 -192 0 96 96 0 1 0 192 0zM96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM32 480H416c-1.2-79.7-66.2-144-146.3-144H178.3c-80 0-145 64.3-146.3 144zM0 482.3C0 383.8 79.8 304 178.3 304h91.4C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7H29.7C13.3 512 0 498.7 0 482.3z\"]\n};\nvar faSensor = {\n prefix: 'fal',\n iconName: 'sensor',\n icon: [448, 512, [], \"e028\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm128 48V272c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-8.8 7.2-16 16-16s16 7.2 16 16zm64 0V272c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faComma = {\n prefix: 'fal',\n iconName: 'comma',\n icon: [192, 512, [], \"2c\", \"M136 352.3c0-17.8-14.4-32.3-32.3-32.3c-16.1 0-29.7 11.8-31.9 27.7l-18 125.8c-.5 3.4 2.2 6.5 5.7 6.5c1.9 0 3.7-1 4.8-2.6l66-101.9c3.8-5.8 5.8-12.6 5.8-19.5v-3.7zm32 0v3.7c0 13.1-3.8 25.9-10.9 36.9l-66 101.9C84.2 505.5 72.3 512 59.5 512c-23 0-40.6-20.3-37.3-43l18-125.8c4.5-31.7 31.6-55.2 63.6-55.2c35.5 0 64.3 28.8 64.3 64.3z\"]\n};\nvar faSchoolCircleCheck = {\n prefix: 'fal',\n iconName: 'school-circle-check',\n icon: [640, 512, [], \"e56b\", \"M311.1 2.7c5.4-3.6 12.4-3.6 17.8 0L468.8 96H576c35.3 0 64 28.7 64 64V266.8c-9.1-12.9-19.9-24.5-32-34.6V160c0-17.7-14.3-32-32-32H464c-3.2 0-6.2-.9-8.9-2.7L320 35.2 184.9 125.3c-2.6 1.8-5.7 2.7-8.9 2.7H64c-17.7 0-32 14.3-32 32V448c0 17.7 14.3 32 32 32H256V384c0-35.3 28.7-64 64-64c2.2 0 4.4 .1 6.5 .3c-2.9 10.2-4.8 20.8-5.8 31.7l-.7 0c-17.7 0-32 14.3-32 32v96h32 32 8.2c10 12.1 21.7 22.9 34.6 32H384 352 288 256 64c-35.3 0-64-28.7-64-64V160c0-35.3 28.7-64 64-64H171.2l140-93.3zM416 192c0 7-.7 13.8-2.2 20.3c-31.3 16.5-57 42.2-73.5 73.5c-6.5 1.4-13.3 2.2-20.3 2.2c-53 0-96-43-96-96s43-96 96-96s96 43 96 96zM128 160h32c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32V192c0-17.7 14.3-32 32-32zm0 32v64h32V192H128zM96 352c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32V352zm64 0H128v64h32V352zm160-96a64 64 0 1 0 0-128 64 64 0 1 0 0 128zm16-96v16h8c8.8 0 16 7.2 16 16s-7.2 16-16 16H320c-8.8 0-16-7.2-16-16V160c0-8.8 7.2-16 16-16s16 7.2 16 16zM496 480a112 112 0 1 0 0-224 112 112 0 1 0 0 224zm0-256a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm67.3 100.7c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faToiletPaperUnder = {\n prefix: 'fal',\n iconName: 'toilet-paper-under',\n icon: [512, 512, [\"toilet-paper-reverse\"], \"e2a0\", \"M32 192c0-46.5 10.3-87.7 26.2-116.8C74.4 45.5 94.1 32 112 32H337.3c-7.2 8.2-13.6 17.7-19.2 27.9C299.2 94.5 288 141.2 288 192s11.2 97.5 30.1 132.1c5.6 10.2 12 19.6 19.2 27.9H112c-17.9 0-37.6-13.5-53.8-43.2C42.3 279.7 32 238.5 32 192zM346.2 75.2C362.4 45.5 382.1 32 400 32s37.6 13.5 53.8 43.2C469.7 104.3 480 145.5 480 192s-10.3 87.7-26.2 116.8C437.6 338.5 417.9 352 400 352s-37.6-13.5-53.8-43.2C330.3 279.7 320 238.5 320 192s10.3-87.7 26.2-116.8zM480 327.6V464c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V416H128v48c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V192c0-50.8-11.2-97.5-30.1-132.1C463.4 25.9 435.1 0 400 0H112C76.9 0 48.6 25.9 30.1 59.9C11.2 94.5 0 141.2 0 192s11.2 97.5 30.1 132.1C48.6 358.1 76.9 384 112 384H400c33.9 0 61.4-24.1 80-56.4zM385.5 212.4c-1-6.2-1.5-13.1-1.5-20.4s.5-14.2 1.5-20.4c2.6-16.3 8.1-27.6 14.5-27.6s11.9 11.3 14.5 27.6c1 6.2 1.5 13.1 1.5 20.4s-.5 14.2-1.5 20.4c-2.6 16.3-8.1 27.6-14.5 27.6s-11.9-11.3-14.5-27.6zM431.4 256c5.1-6.4 8.2-13.8 10.3-20c4.2-12.7 6.3-28.3 6.3-44.1s-2.1-31.3-6.3-44.1c-2.1-6.2-5.2-13.5-10.3-20c-4.8-6.1-15.1-16-31.4-16s-26.6 9.9-31.4 16c-5.1 6.4-8.2 13.8-10.3 20c-4.2 12.7-6.3 28.3-6.3 44.1s2.1 31.3 6.3 44.1c2.1 6.2 5.2 13.5 10.3 20c4.8 6.1 15.1 16 31.4 16s26.6-9.9 31.4-16zM96 224a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm64 0a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm80-16a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faToiletPaperReverse = faToiletPaperUnder;\nvar faLightEmergency = {\n prefix: 'fal',\n iconName: 'light-emergency',\n icon: [448, 512, [], \"e41f\", \"M352 320V192c0-70.7-57.3-128-128-128S96 121.3 96 192V320H64V192c0-88.4 71.6-160 160-160s160 71.6 160 160V320H352zM48 384c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16H400c8.8 0 16-7.2 16-16V400c0-8.8-7.2-16-16-16H48zm0-32H400c26.5 0 48 21.5 48 48v32c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V400c0-26.5 21.5-48 48-48zM160 192c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-53 43-96 96-96c8.8 0 16 7.2 16 16s-7.2 16-16 16c-35.3 0-64 28.7-64 64z\"]\n};\nvar faArrowDownToArc = {\n prefix: 'fal',\n iconName: 'arrow-down-to-arc',\n icon: [512, 512, [], \"e4ae\", \"M256 480c123.7 0 224-100.3 224-224c0-8.8 7.2-16 16-16s16 7.2 16 16c0 141.4-114.6 256-256 256S0 397.4 0 256c0-8.8 7.2-16 16-16s16 7.2 16 16c0 123.7 100.3 224 224 224zM396 202.6l-128 144c-3 3.4-7.4 5.4-12 5.4s-8.9-2-12-5.4l-128-144c-5.9-6.6-5.3-16.7 1.3-22.6s16.7-5.3 22.6 1.3L240 293.9 240 16c0-8.8 7.2-16 16-16s16 7.2 16 16l0 277.9L372 181.4c5.9-6.6 16-7.2 22.6-1.3s7.2 16 1.3 22.6z\"]\n};\nvar faDumpster = {\n prefix: 'fal',\n iconName: 'dumpster',\n icon: [576, 512, [], \"f793\", \"M423.4 32H288l0 0 0 0H152.3c-.2 0-.4 0-.6 0H57c-14.7 0-27.5 10-31 24.2L.9 156.6c-.6 2.3-.9 4.6-.9 6.9C0 179.2 12.8 192 28.5 192h5.3H66h61.7 .6L288 192l159.7 0h.6H510h32.2 5.3c15.7 0 28.5-12.8 28.5-28.5c0-2.3-.3-4.7-.9-6.9L550.1 56.2C546.5 42 533.7 32 519 32H424c-.2 0-.4 0-.6 0zM37.5 224l3.8 32H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H45.1L64 448.9V464c0 8.8 7.2 16 16 16s16-7.2 16-16V448H480v16c0 8.8 7.2 16 16 16s16-7.2 16-16V448.9L530.9 288H560c8.8 0 16-7.2 16-16s-7.2-16-16-16H534.7l3.8-32H506.2L483.7 416H92.3L69.8 224H37.5zm490.2-64H461.2L443 64l76 0 24 96H528.2h-.4zM410.4 64l18.2 96H304V64l106.4 0zM272 64v96H147.3l18-96L272 64zM132.7 64l-18 96H48.2h-.4H33L57 64l75.7 0z\"]\n};\nvar faVanShuttle = {\n prefix: 'fal',\n iconName: 'van-shuttle',\n icon: [640, 512, [128656, \"shuttle-van\"], \"f5b6\", \"M32 88V192H160V64H56C42.7 64 32 74.7 32 88zm0 136V328c0 13.3 10.7 24 24 24H69.5c13.2-37.3 48.7-64 90.5-64s77.4 26.7 90.5 64H389.5c13.2-37.3 48.7-64 90.5-64s77.4 26.7 90.5 64H584c13.3 0 24-10.7 24-24V224H368 176 32zm160-32H352V64H192V192zm192 0H588.1L477.6 69.3c-3-3.4-7.4-5.3-11.9-5.3H384V192zM584 384h-8c0 53-43 96-96 96s-96-43-96-96H256c0 53-43 96-96 96s-96-43-96-96H56c-30.9 0-56-25.1-56-56V88C0 57.1 25.1 32 56 32H176 368h97.7c13.6 0 26.6 5.8 35.7 15.9L627.7 188.2c7.9 8.8 12.3 20.3 12.3 32.1V328c0 30.9-25.1 56-56 56zm-40 0a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zM160 448a64 64 0 1 0 0-128 64 64 0 1 0 0 128z\"]\n};\nvar faShuttleVan = faVanShuttle;\nvar faBuildingUser = {\n prefix: 'fal',\n iconName: 'building-user',\n icon: [640, 512, [], \"e4da\", \"M64 32H320c17.7 0 32 14.3 32 32V393.4c9.2-10.2 20-18.9 32-25.6V271.8 64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64h64 32 64 32 64c3.2 0 6.4-.2 9.5-.7c-5.5-9.2-8.9-19.9-9.4-31.3l-.1 0H256V416c0-35.3-28.7-64-64-64s-64 28.7-64 64v64H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32zM224 416v64H160V416c0-17.7 14.3-32 32-32s32 14.3 32 32zM64 120v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V120c0-13.3-10.7-24-24-24H88c-13.3 0-24 10.7-24 24zm32 8h32v32H96V128zM248 96c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V120c0-13.3-10.7-24-24-24H248zm8 64V128h32v32H256zM64 248v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V248c0-13.3-10.7-24-24-24H88c-13.3 0-24 10.7-24 24zm32 8h32v32H96V256zm152-32c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V248c0-13.3-10.7-24-24-24H248zm8 64V256h32v32H256zm192-16a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm128 0a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zM384 477.1c0-33.7 27.4-61.1 61.1-61.1H546.9c33.7 0 61.1 27.4 61.1 61.1c0 1.6-1.3 2.9-2.9 2.9H386.9c-1.6 0-2.9-1.3-2.9-2.9zM445.1 384c-51.4 0-93.1 41.7-93.1 93.1c0 19.3 15.6 34.9 34.9 34.9H605.1c19.3 0 34.9-15.6 34.9-34.9c0-51.4-41.7-93.1-93.1-93.1H496 445.1z\"]\n};\nvar faLightSwitch = {\n prefix: 'fal',\n iconName: 'light-switch',\n icon: [384, 512, [], \"e017\", \"M176 48V32H64C46.3 32 32 46.3 32 64V448c0 17.7 14.3 32 32 32H176V464c0-8.8 7.2-16 16-16s16 7.2 16 16v16H320c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H208V48c0 8.8-7.2 16-16 16s-16-7.2-16-16zM0 64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM128 368c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16V272H128v96zm0-224v96H256V144c0-8.8-7.2-16-16-16H144c-8.8 0-16 7.2-16 16zm-32 0c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48V368c0 26.5-21.5 48-48 48H144c-26.5 0-48-21.5-48-48V144z\"]\n};\nvar faSquareCaretLeft = {\n prefix: 'fal',\n iconName: 'square-caret-left',\n icon: [448, 512, [\"caret-square-left\"], \"f191\", \"M32 416c0 17.7 14.3 32 32 32l320 0c17.7 0 32-14.3 32-32l0-320c0-17.7-14.3-32-32-32L64 64C46.3 64 32 78.3 32 96l0 320zm32 64c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l320 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480zm64-224c0-9.6 4-18.7 11-25.2l102.8-95.5c5.1-4.7 11.8-7.3 18.7-7.3c15.2 0 27.5 12.3 27.5 27.5l0 201c0 15.2-12.3 27.5-27.5 27.5c-6.9 0-13.6-2.6-18.7-7.3L139 281.2c-7-6.5-11-15.6-11-25.2zm32.7 1.7L256 346.2l0-180.3-95.3 88.4c-.5 .4-.7 1.1-.7 1.7s.3 1.3 .7 1.7z\"]\n};\nvar faCaretSquareLeft = faSquareCaretLeft;\nvar faHighlighter = {\n prefix: 'fal',\n iconName: 'highlighter',\n icon: [576, 512, [], \"f591\", \"M176 296.6v-48c0-5.2 2.5-10 6.7-13l27-19.4L343.7 350.4l-19.4 27c-3 4.2-7.8 6.7-13 6.7h-48c-8.5 0-16.6 3.4-22.6 9.4L197 437.1c-3.1 3.1-8.2 3.1-11.3 0l-62.8-62.8c-3.1-3.1-3.1-8.2 0-11.3l43.7-43.7c6-6 9.4-14.1 9.4-22.6zM523.8 99.5L362.6 324 236 197.4 460.5 36.2c3.8-2.7 8.4-4.2 13-4.2c5.9 0 11.6 2.4 15.8 6.5l32.2 32.2c4.2 4.2 6.5 9.9 6.5 15.8c0 4.7-1.5 9.2-4.2 13zM263.4 416h48c15.5 0 30-7.4 39-20L549.8 118.2C556.4 109 560 97.9 560 86.5c0-14.4-5.7-28.2-15.9-38.4L511.9 15.9C501.7 5.7 487.9 0 473.5 0C462.1 0 451 3.6 441.8 10.2L164 209.6c-12.6 9-20 23.5-20 39v48l-43.7 43.7c-11.4 11.4-14.5 27.9-9.3 42l-84 84c-4.5 4.5-7 10.6-7 17V488c0 13.3 10.7 24 24 24H124.7c6.4 0 12.5-2.5 17-7l36-36c14.2 5.2 30.7 2.1 42-9.3L263.4 416zm-111 33l-31 31H38.6L111 407.6 152.4 449z\"]\n};\nvar faWavePulse = {\n prefix: 'fal',\n iconName: 'wave-pulse',\n icon: [640, 512, [\"heart-rate\"], \"f5f8\", \"M319.6 0c7.5-.2 14.1 4.9 15.9 12.1l84 336 37.6-93.9c7.3-18.2 24.9-30.2 44.6-30.2H624c8.8 0 16 7.2 16 16s-7.2 16-16 16H501.7c-6.5 0-12.4 4-14.9 10.1l-56 139.9c-2.6 6.4-9 10.5-15.9 10s-12.8-5.4-14.4-12.1l-78.7-315-82 410.2c-1.5 7.3-7.8 12.7-15.3 12.9s-14.1-4.9-15.9-12.1L150.5 268.1C148.8 261 142.4 256 135 256H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H135c22 0 41.2 15 46.6 36.4l40.7 162.7 82-410.2C305.8 5.5 312.1 .2 319.6 0z\"]\n};\nvar faHeartRate = faWavePulse;\nvar faKey = {\n prefix: 'fal',\n iconName: 'key',\n icon: [512, 512, [128273], \"f084\", \"M192 176c0-79.5 64.5-144 144-144s144 64.5 144 144s-64.5 144-144 144c-11.1 0-22-1.3-32.4-3.6c-5.4-1.2-11 .4-14.9 4.3L257.4 352H208c-8.8 0-16 7.2-16 16v48H144c-8.8 0-16 7.2-16 16v48H32V398.6L194.8 235.8c4.2-4.2 5.7-10.5 3.9-16.2c-4.4-13.8-6.7-28.4-6.7-43.7zM336 0C238.8 0 160 78.8 160 176c0 15.1 1.9 29.8 5.5 43.9L4.7 380.7c-3 3-4.7 7.1-4.7 11.3V496c0 8.8 7.2 16 16 16H144c8.8 0 16-7.2 16-16V448h48c8.8 0 16-7.2 16-16V384h40c4.2 0 8.3-1.7 11.3-4.7l30-30c10 1.8 20.2 2.7 30.7 2.7c97.2 0 176-78.8 176-176S433.2 0 336 0zm32 168a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faArrowLeftToBracket = {\n prefix: 'fal',\n iconName: 'arrow-left-to-bracket',\n icon: [512, 512, [], \"e669\", \"M164.7 267.3c-6.2-6.2-6.2-16.4 0-22.6l128-128c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L214.6 240 496 240c8.8 0 16 7.2 16 16s-7.2 16-16 16l-281.4 0L315.3 372.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-128-128zM176 448c8.8 0 16 7.2 16 16s-7.2 16-16 16l-96 0c-44.2 0-80-35.8-80-80L0 112C0 67.8 35.8 32 80 32l96 0c8.8 0 16 7.2 16 16s-7.2 16-16 16L80 64c-26.5 0-48 21.5-48 48l0 288c0 26.5 21.5 48 48 48l96 0z\"]\n};\nvar faHatSanta = {\n prefix: 'fal',\n iconName: 'hat-santa',\n icon: [640, 512, [], \"f7a7\", \"M357.9 243.4L396.2 320H432l-45.5-90.9c-1.7-3.3-2.5-7-2.5-10.7V216c0-13.3 10.7-24 24-24h4.1c2.6 0 5.1 .4 7.6 1.2l39.5 13.2c1.6-2.1 3.3-4.1 5.2-6c0-14.3 5.5-28.7 16.4-39.6c2.2-2.2 4.6-4.2 7.1-6L434.4 91.6c-32-37.8-79-59.6-128.5-59.6c-68.8 0-130.7 41.9-156.3 105.8L76.8 320h34.5l68.1-170.3C200.1 97.9 250.2 64 305.9 64c40.1 0 78.2 17.7 104 48.3l51.9 61.3-32-10.7c-5.7-1.9-11.7-2.9-17.7-2.9H408c-30.9 0-56 25.1-56 56v2.3c0 8.7 2 17.3 5.9 25zM448 384c17.7 0 32 14.3 32 32s-14.3 32-32 32H64c-17.7 0-32-14.3-32-32s14.3-32 32-32H448zM64 352c-35.3 0-64 28.7-64 64s28.7 64 64 64H448c35.3 0 64-28.7 64-64s-28.7-64-64-64H64zm524.7-83.3a40.6 40.6 0 1 1 -57.4-57.4 40.6 40.6 0 1 1 57.4 57.4zm-82.4-82.4c-7.8 7.8-10 18.9-6.8 28.7C490.3 219.5 484 229 484 240s6.3 20.5 15.5 25.1c-3.2 9.7-1 20.9 6.8 28.7s18.9 10 28.7 6.8C539.5 309.7 549 316 560 316s20.5-6.3 25.1-15.5c9.7 3.2 20.9 1 28.7-6.8s10-18.9 6.8-28.7C629.7 260.5 636 251 636 240s-6.3-20.5-15.5-25.1c3.2-9.7 1-20.9-6.8-28.7s-18.9-10-28.7-6.8C580.5 170.3 571 164 560 164s-20.5 6.3-25.1 15.5c-9.7-3.2-20.9-1-28.7 6.8z\"]\n};\nvar faTamale = {\n prefix: 'fal',\n iconName: 'tamale',\n icon: [320, 512, [129748], \"e451\", \"M296.4 304l23.1 138.7c1.7 10.2-1.7 20.6-9 27.9C274 507 207.7 512 160 512s-114-5-150.6-41.3c-7.3-7.3-10.7-17.7-9-27.9L23.6 304l.4 0H52.8L28.8 447.5c-.2 1 .2 2 .9 2.8c12.8 12.6 32.4 21.3 56.8 26.5c24.2 5.2 50.4 6.4 73.4 6.4s49.2-1.2 73.4-6.4c24.5-5.2 44.1-13.9 56.8-26.5c.7-.8 1.1-1.8 .9-2.8L267.2 304H296l.4 0zM319.6 69.3L296.4 208l-.4 0H267.2L291.2 64.5c.2-1-.2-2-.9-2.8c-12.8-12.6-32.4-21.3-56.8-26.5c-24.2-5.2-50.4-6.4-73.4-6.4s-49.2 1.2-73.4 6.4c-24.5 5.2-44 13.9-56.8 26.5c-.7 .8-1.1 1.8-.9 2.8L52.8 208H24l-.4 0L.4 69.3c-1.7-10.2 1.7-20.6 9-27.9C46 5 112.3 0 160 0s114 5 150.6 41.3c7.3 7.3 10.7 17.7 9 27.9zM8 256c0-8.8 7.2-16 16-16H160 296c8.8 0 16 7.2 16 16s-7.2 16-16 16H192l28.8 38.4c5.3 7.1 3.9 17.1-3.2 22.4s-17.1 3.9-22.4-3.2L160 282.7l-35.2 46.9c-5.3 7.1-15.3 8.5-22.4 3.2s-8.5-15.3-3.2-22.4L128 272H24c-8.8 0-16-7.2-16-16zM160 56c8.8 0 16 7.2 16 16V208H160 144V72c0-8.8 7.2-16 16-16zm9.6 292.8c1.9 2.6 4.1 4.9 6.4 7V440c0 8.8-7.2 16-16 16s-16-7.2-16-16V355.8c2.3-2.1 4.5-4.4 6.4-7L160 336l9.6 12.8zM95.9 78.6L107.7 208H75.6L64.1 81.4c-.8-8.8 5.7-16.6 14.5-17.4s16.6 5.7 17.4 14.5zM83.2 358.4c5.8 4.3 12.2 7.1 18.8 8.6l-6 66.5c-.8 8.8-8.6 15.3-17.4 14.5s-15.3-8.6-14.5-17.4l7.7-84.4c3 4.6 6.8 8.8 11.5 12.2zm153.6 0c4.6-3.5 8.5-7.6 11.5-12.2l7.7 84.4c.8 8.8-5.7 16.6-14.5 17.4s-16.6-5.7-17.4-14.5L218 367c6.6-1.4 13-4.2 18.8-8.6zM212.3 208L224.1 78.6c.8-8.8 8.6-15.3 17.4-14.5s15.3 8.6 14.5 17.4L244.4 208H212.3z\"]\n};\nvar faBoxCheck = {\n prefix: 'fal',\n iconName: 'box-check',\n icon: [448, 512, [], \"f467\", \"M240 64H342.4c12.6 0 24.1 7.4 29.2 19l34.2 77H240V64zm0 128H416V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V192H208h32zm-32-32H42.1L76.3 83c5.1-11.6 16.6-19 29.2-19H208v96zM400.9 70c-10.3-23.1-33.2-38-58.5-38H105.6C80.3 32 57.4 46.9 47.1 70L5.5 163.6c-3.6 8.2-5.5 17-5.5 26V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V189.6c0-9-1.9-17.8-5.5-26L400.9 70zM331.3 251.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L192 345.4l-52.7-52.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l64 64c6.2 6.2 16.4 6.2 22.6 0l128-128z\"]\n};\nvar faBullhorn = {\n prefix: 'fal',\n iconName: 'bullhorn',\n icon: [512, 512, [128226, 128363], \"f0a1\", \"M416 44.2c0-7.2-8.8-10.8-13.8-5.5L378.4 63.9C336.5 108 282.7 138.4 224 151.5V328.5c58.7 13.1 112.5 43.4 154.4 87.6l23.8 25.1c5 5.3 13.8 1.7 13.8-5.5V44.2zM192 323.1V156.9c-5.8 .7-11.6 1.1-17.5 1.5L144.9 160l-.4 0H144 64c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32h80 .4l.4 0 29.7 1.6c5.8 .3 11.7 .8 17.5 1.5zM379 16.7c24.9-26.3 69-8.7 69 27.5V435.8c0 36.2-44.2 53.8-69 27.5l-23.8-25.1c-43.3-45.7-101-74.9-163.1-82.8V456c0 30.9-25.1 56-56 56H120c-30.9 0-56-25.1-56-56V352c-35.3 0-64-28.7-64-64V192c0-35.3 28.7-64 64-64l79.6 0 29.2-1.6c69.4-3.9 134.6-34.1 182.4-84.5L379 16.7zM96 352V456c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24V352.9l-16.4-.9H96zM496 192c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V208c0-8.8 7.2-16 16-16z\"]\n};\nvar faSteak = {\n prefix: 'fal',\n iconName: 'steak',\n icon: [576, 512, [129385], \"f824\", \"M368 32c-31 0-57 9.9-77.4 28.9L268.8 37.4C295.7 12.4 329.7 0 368 0c65 0 117.7 39 150.5 80c33.9 42.4 57.5 99.6 57.5 160c0 83.9-55.1 152.8-113.4 196.2C402.1 481.2 321.7 512 240 512c-36.8 0-86.5-4.4-130-19.3C73.4 480.1 0 444.3 0 360c0-38.6 17.8-68.3 42.5-88.1c19.6-15.8 41.4-26.8 63.3-37.8c27.3-13.8 54.6-27.6 77.7-50.7c13.8-13.8 19.7-27.9 30-52.9c3.2-7.7 6.8-16.5 11.2-26.6c7.7-17.6 20.6-44.7 44.1-66.5l21.8 23.4c-18.4 17.1-29.1 39-36.5 55.9c-4.3 9.8-7.8 18.3-11 26l-1.1 2.6c-9.5 23-17.5 42.4-35.9 60.7c-24.6 24.6-52.8 39.8-77.6 52.4c-2.8 1.4-5.5 2.8-8.2 4.2l0 0 0 0c-22.2 11.2-40.9 20.7-57.8 34.3C44.4 311.4 32 332.3 32 360c0 61.4 53 90.2 88.4 102.4C159.3 475.8 205.2 480 240 480c74 0 147.9-28.1 203.5-69.5C497.9 370 544 309.5 544 240c0-52.2-20.6-102.6-50.5-140C464.1 63.3 419.7 32 368 32zM352 224a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM121.9 297.7c28.3-11.9 65.5-27.6 106.8-69c23.4-23.4 35.6-52.6 47.2-81.3l.1-.2 0 0c2.4-5.9 4.8-11.9 7.3-17.6c7.1-16.3 15.7-32.9 29-45.3c14-13 32-20.3 55.6-20.3c38.6 0 74.7 23.8 100.5 56c26 32.5 43.5 75.9 43.5 120c0 55.2-37.2 107.3-87.6 144.8C373.6 422.6 306.3 448 240 448c-32.9 0-74.9-4.1-109.2-15.9C97.5 420.7 64 399 64 360c0-7.5 1.1-15.6 4.7-23.6c3.7-8.3 9.1-13.9 13.5-17.7c10.2-8.6 24.2-14.6 37.6-20.2l.8-.3 0 0 1.2-.5 0 0zm12.4 29.5l-1.2 .5c-15.2 6.4-24.3 10.5-30.2 15.5C98.6 346.8 96 351 96 360c0 16.7 14.1 31.2 45.2 41.9C170.9 412.1 209 416 240 416c58.6 0 119.4-22.6 165.3-56.8C451.7 324.6 480 280.8 480 240c0-35.9-14.5-72.5-36.5-100c-22.2-27.8-50.1-44-75.5-44c-16.3 0-26.3 4.7-33.9 11.7c-8.2 7.6-14.6 19-21.5 34.7c-2.3 5.3-4.6 11-7.1 17c-11.4 28.1-25.6 63.2-54.3 91.9c-45.8 45.8-87.7 63.5-117 75.8z\"]\n};\nvar faLocationCrosshairsSlash = {\n prefix: 'fal',\n iconName: 'location-crosshairs-slash',\n icon: [640, 512, [\"location-slash\"], \"f603\", \"M395.5 397.1C373 409.2 347.3 416 320 416c-88.4 0-160-71.6-160-160c0-14 1.8-27.7 5.2-40.7l-27-21.3c-5 14.6-8.2 30-9.6 46H80c-8.8 0-16 7.2-16 16s7.2 16 16 16h48.7c7.7 93.3 82.1 167.6 175.3 175.3V496c0 8.8 7.2 16 16 16s16-7.2 16-16V447.3c31.6-2.6 61-12.9 86.4-28.9l-27-21.3zM304 64.7c-31.6 2.6-61 12.9-86.4 28.9l27 21.3C267 102.8 292.7 96 320 96c88.4 0 160 71.6 160 160c0 14-1.8 27.7-5.2 40.7l27 21.3c5-14.6 8.2-30 9.6-46H560c8.8 0 16-7.2 16-16s-7.2-16-16-16H511.3C503.6 146.7 429.3 72.4 336 64.7V16c0-8.8-7.2-16-16-16s-16 7.2-16 16V64.7zM320 352c5.6 0 11.2-.5 16.5-1.4l-55.7-44c-.3-.2-.6-.5-.9-.7l-55.7-44c3 50.3 44.8 90.1 95.8 90.1zM303.5 161.4l55.7 44c.3 .2 .6 .5 .9 .7l55.7 44C412.8 199.8 371 160 320 160c-5.6 0-11.2 .5-16.5 1.4zM25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4z\"]\n};\nvar faLocationSlash = faLocationCrosshairsSlash;\nvar faPersonDolly = {\n prefix: 'fal',\n iconName: 'person-dolly',\n icon: [512, 512, [], \"f4d0\", \"M56 56a24 24 0 1 1 48 0A24 24 0 1 1 56 56zm80 0A56 56 0 1 0 24 56a56 56 0 1 0 112 0zM0 496c0 8.8 7.2 16 16 16s16-7.2 16-16l0-130.5L1.6 341.6c-.5-.4-1.1-.9-1.6-1.3L0 496zM60 176c7 0 13.8 1.5 20 4.2V319.4L39.1 292.2c-4.5-3-7.1-8-7.1-13.3V204c0-15.5 12.5-28 28-28zm52 38.5l37.8 58.8c5.9 9.2 16 14.7 26.9 14.7h51.8L254 393.7c-18 11.3-30 31.4-30 54.3c0 35.3 28.7 64 64 64c33.8 0 61.5-26.2 63.8-59.5l148-37c8.6-2.1 13.8-10.8 11.6-19.4s-10.8-13.8-19.4-11.6L346 421c-10.2-21.9-32.3-37-58-37c-1.1 0-2.3 0-3.4 .1L231.6 164.2c-2.1-8.6-10.7-13.9-19.3-11.8s-13.9 10.7-11.8 19.3L220.8 256h-44l-47.8-74.4C113.9 158.2 87.9 144 60 144c-33.1 0-60 26.9-60 60v74.9c0 16 8 31 21.4 39.9l100.2 66.8 22.7 113.5c1.7 8.7 10.2 14.3 18.8 12.6s14.3-10.2 12.6-18.8L153 379.4c-1.7-8.3-6.6-15.6-13.6-20.3L112 340.8V214.5zM256 448a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM441.2 322.3l-91.5 22.9-22.9-91.5 91.5-22.9 22.9 91.5zm31-7.8L449.4 223c-4.3-17.1-21.7-27.6-38.8-23.3L319 222.6c-17.1 4.3-27.6 21.7-23.3 38.8L318.6 353c4.3 17.1 21.7 27.6 38.8 23.3L449 353.4c17.1-4.3 27.6-21.7 23.3-38.8z\"]\n};\nvar faGlobe = {\n prefix: 'fal',\n iconName: 'globe',\n icon: [512, 512, [127760], \"f0ac\", \"M256 480c16.7 0 40.4-14.4 61.9-57.3c9.9-19.8 18.2-43.7 24.1-70.7H170c5.9 27 14.2 50.9 24.1 70.7C215.6 465.6 239.3 480 256 480zM164.3 320H347.7c2.8-20.2 4.3-41.7 4.3-64s-1.5-43.8-4.3-64H164.3c-2.8 20.2-4.3 41.7-4.3 64s1.5 43.8 4.3 64zM170 160H342c-5.9-27-14.2-50.9-24.1-70.7C296.4 46.4 272.7 32 256 32s-40.4 14.4-61.9 57.3C184.2 109.1 175.9 133 170 160zm210 32c2.6 20.5 4 41.9 4 64s-1.4 43.5-4 64h90.8c6-20.3 9.3-41.8 9.3-64s-3.2-43.7-9.3-64H380zm78.5-32c-25.9-54.5-73.1-96.9-130.9-116.3c21 28.3 37.6 68.8 47.2 116.3h83.8zm-321.1 0c9.6-47.6 26.2-88 47.2-116.3C126.7 63.1 79.4 105.5 53.6 160h83.7zm-96 32c-6 20.3-9.3 41.8-9.3 64s3.2 43.7 9.3 64H132c-2.6-20.5-4-41.9-4-64s1.4-43.5 4-64H41.3zM327.5 468.3c57.8-19.5 105-61.8 130.9-116.3H374.7c-9.6 47.6-26.2 88-47.2 116.3zm-143 0c-21-28.3-37.5-68.8-47.2-116.3H53.6c25.9 54.5 73.1 96.9 130.9 116.3zM256 512A256 256 0 1 1 256 0a256 256 0 1 1 0 512z\"]\n};\nvar faSynagogue = {\n prefix: 'fal',\n iconName: 'synagogue',\n icon: [640, 512, [128333], \"f69b\", \"M309.8 3.7c5.9-4.9 14.6-4.9 20.5 0l121 100.8C469.5 119.7 480 142.2 480 166v78.1l53.3-48c6.1-5.5 15.3-5.5 21.4 0l69.4 62.5c10.1 9.1 15.9 22.1 15.9 35.7V464c0 26.5-21.5 48-48 48H464 384 352 288 256 176 64c-35.3 0-64-28.7-64-64V294.3c0-13.6 5.8-26.6 15.9-35.7l69.4-62.5c6.1-5.5 15.3-5.5 21.4 0l53.3 48V166c0-23.7 10.5-46.3 28.8-61.5L309.8 3.7zM480 480H592c8.8 0 16-7.2 16-16V294.3c0-4.5-1.9-8.9-5.3-11.9L544 229.5l-58.7 52.8c-3.4 3-5.3 7.4-5.3 11.9V480zM448 166c0-14.2-6.3-27.8-17.3-36.9L320 36.8 209.3 129.1C198.3 138.2 192 151.7 192 166V294.3 480h64V384c0-35.3 28.7-64 64-64s64 28.7 64 64v96h64V294.3 166zM352 384c0-17.7-14.3-32-32-32s-32 14.3-32 32v96h64V384zM160 294.3c0-4.5-1.9-8.9-5.3-11.9L96 229.5 37.3 282.4c-3.4 3-5.3 7.4-5.3 11.9V448c0 17.7 14.3 32 32 32h96V294.3zM351.5 138.8l26-.2c17-.2 27.5 18.4 18.6 32.9L383.4 192 396 212.6c8.9 14.5-1.6 33-18.6 32.9l-26-.2-12.9 21.9c-8.3 14.2-28.9 14.2-37.3 0l-12.9-21.9-26 .2c-17 .2-27.5-18.4-18.6-32.9L256.6 192 244 171.4c-8.9-14.5 1.6-33 18.6-32.9l26 .2 12.9-21.9c8.3-14.2 28.9-14.2 37.3 0l12.9 21.9zM308 159.3c-2.5 4.2-7 6.8-11.9 6.7l-23.7-.2 11.7 19.1c2.7 4.4 2.7 9.9 0 14.2l-11.7 19.1 23.7-.2c4.9 0 9.4 2.5 11.9 6.7l12 20.5 12-20.5c2.5-4.2 7-6.8 11.9-6.7l23.7 .2-11.7-19.1c-2.7-4.4-2.7-9.9 0-14.2l11.7-19.1-23.7 .2c-4.9 0-9.4-2.5-11.9-6.7l-12-20.5-12 20.5z\"]\n};\nvar faFileChartColumn = {\n prefix: 'fal',\n iconName: 'file-chart-column',\n icon: [384, 512, [\"file-chart-line\"], \"f659\", \"M320 480H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H192V144c0 26.5 21.5 48 48 48H352V448c0 17.7-14.3 32-32 32zM240 160c-8.8 0-16-7.2-16-16V32.5c2.8 .7 5.4 2.1 7.4 4.2L347.3 152.6c2.1 2.1 3.5 4.6 4.2 7.4H240zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V163.9c0-12.7-5.1-24.9-14.1-33.9L254.1 14.1c-9-9-21.2-14.1-33.9-14.1H64zM208 240c0-8.8-7.2-16-16-16s-16 7.2-16 16V432c0 8.8 7.2 16 16 16s16-7.2 16-16V240zm96 64c0-8.8-7.2-16-16-16s-16 7.2-16 16V432c0 8.8 7.2 16 16 16s16-7.2 16-16V304zM112 368c0-8.8-7.2-16-16-16s-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V368z\"]\n};\nvar faFileChartLine = faFileChartColumn;\nvar faPersonHalfDress = {\n prefix: 'fal',\n iconName: 'person-half-dress',\n icon: [320, 512, [], \"e548\", \"M160.5 80c-.2 0-.3 0-.5 0c-13.3 0-24-10.7-24-24c0-11.6 8.2-21.2 19.1-23.5c.4-.1 .7-.1 1.1-.2c1.2-.2 2.5-.3 3.8-.3c13.3 0 24 10.7 24 24c0 10.7-7 19.8-16.7 22.9c-1.5 .5-3 .8-4.6 1c-.7 .1-1.5 .1-2.2 .1zM173 110.5c24.7-5.8 43-28 43-54.5c0-30.9-25.1-56-56-56c0 0 0 0 0 0c-5.9 0-11.6 .9-16.9 2.6C120.4 9.8 104 31 104 56c0 30.9 25.1 56 56 56c2.9 0 5.8-.2 8.6-.7c1.5-.2 2.9-.5 4.3-.8zM192 320v32h0v64h0v80c0 8.8 7.2 16 16 16c1 0 2-.1 2.9-.3c1.1-.2 2.2-.5 3.3-1c5.7-2.4 9.8-8.1 9.8-14.7V202.2l49.9 93.4c4.2 7.8 13.9 10.7 21.7 6.6s10.7-13.9 6.6-21.7L243.3 170.3c-10.8-20.2-29.6-34.6-51.3-39.9V164l0 0V320h0zm-65.7-56.8c4-7.9 .7-17.5-7.2-21.5s-17.5-.7-21.5 7.2l-64 128c-2.5 5-2.2 10.9 .7 15.6s8.1 7.6 13.6 7.6H96v96c0 8.8 7.2 16 16 16c0 0 0 0 0 0l0 0H112l0 0 0 0 0 0c8.8 0 16-7.2 16-16V400h32V368H112 73.9l52.4-104.8zM160 128h0c-37.3 0-71.7 20.6-89.3 53.5L17.9 280.5c-4.2 7.8-1.2 17.5 6.6 21.7s17.5 1.2 21.7-6.6L99 196.6c12-22.5 35.5-36.6 61-36.6h0V128z\"]\n};\nvar faFolderImage = {\n prefix: 'fal',\n iconName: 'folder-image',\n icon: [512, 512, [], \"e18a\", \"M32 96c0-17.7 14.3-32 32-32H188.1c8.5 0 16.6 3.4 22.6 9.4l35.9 35.9c12 12 28.3 18.7 45.3 18.7H448c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V96zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H291.9c-8.5 0-16.6-3.4-22.6-9.4L233.4 50.7c-12-12-28.3-18.7-45.3-18.7H64zm88 160a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm135.9 32.1L380.3 352H131.5l44.6-63.8 19 25.4c3 4 7.8 6.4 12.8 6.4s9.8-2.4 12.8-6.4l67.1-89.5zm-25.5-19.4L208 277.3l-6.5-8.7c-6-8-15.4-12.7-25.3-12.7c-10.3 0-20 5-26 13.5l-49.1 70.2c-3.3 4.7-5.1 10.4-5.1 16.2c0 15.6 12.6 28.2 28.2 28.2H387.9c15.5 0 28.1-12.6 28.1-28.1c0-5.9-1.9-11.7-5.3-16.4l-97-134.3c-6-8.3-15.6-13.2-25.8-13.2c-10 0-19.4 4.7-25.5 12.7z\"]\n};\nvar faCalendarPen = {\n prefix: 'fal',\n iconName: 'calendar-pen',\n icon: [448, 512, [\"calendar-edit\"], \"f333\", \"M112 0c8.8 0 16 7.2 16 16V64H320V16c0-8.8 7.2-16 16-16s16 7.2 16 16V64h32c35.3 0 64 28.7 64 64v32 32V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192 160 128C0 92.7 28.7 64 64 64H96V16c0-8.8 7.2-16 16-16zM416 192H32V448c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V192zM384 96H64c-17.7 0-32 14.3-32 32v32H416V128c0-17.7-14.3-32-32-32zM295.6 257.9c-6.2-6.2-16.4-6.2-22.6 0l-12.2 12.2 29.1 29.1L302.1 287c6.2-6.2 6.2-16.4 0-22.6l-6.4-6.4zm-28.4 63.9l-29.1-29.1L150 381l-8.6 37.7L179 410l88.2-88.2zm-16.9-86.5c18.7-18.7 49.1-18.7 67.9 0l6.4 6.4c18.7 18.7 18.7 49.1 0 67.9l-123 123c-4.3 4.3-9.6 7.2-15.5 8.6L136 452.7c-17.3 4-32.7-11.5-28.8-28.8l11.5-50.2c1.3-5.9 4.3-11.2 8.6-15.5l123-123z\"]\n};\nvar faCalendarEdit = faCalendarPen;\nvar faRoadBridge = {\n prefix: 'fal',\n iconName: 'road-bridge',\n icon: [640, 512, [], \"e563\", \"M576 32c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H496V416c0-8.8-7.2-16-16-16s-16 7.2-16 16v64H384c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32h80V96c0 8.8 7.2 16 16 16s16-7.2 16-16V32h80zm0-32H384c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64zM480 192c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V208c0-8.8-7.2-16-16-16zM16 96c-8.8 0-16 7.2-16 16s7.2 16 16 16H80v64H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H288V192H240V128h48V96H16zM264 288c-48.6 0-88 39.4-88 88v88c0 8.8-7.2 16-16 16H128c-8.8 0-16-7.2-16-16V376c0-48.6-39.4-88-88-88H16c-8.8 0-16 7.2-16 16s7.2 16 16 16h8c30.9 0 56 25.1 56 56v88c0 26.5 21.5 48 48 48h32c26.5 0 48-21.5 48-48V376c0-30.9 25.1-56 56-56h24V288H264zM208 128v64H112V128h96z\"]\n};\nvar faFaceSmileTear = {\n prefix: 'fal',\n iconName: 'face-smile-tear',\n icon: [512, 512, [], \"e393\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM141.5 323.9c-6.7 5.8-7.4 15.9-1.6 22.6c22.2 25.7 61 53.5 116.1 53.5c8.8 0 16-7.2 16-16s-7.2-16-16-16c-43.4 0-74-21.8-91.9-42.5c-5.8-6.7-15.9-7.4-22.6-1.6zm194.3-1.5c5.1-7.7 10.7-15.1 16.2-22c5.5 6.9 11 14.3 16.2 22c11.4 17.1 15.8 29 15.8 34.9c0 12.2-11.7 26.7-32 26.7s-32-14.5-32-26.7c0-5.9 4.4-17.8 15.8-34.9zm7.7-62.3c-1.6 2-3.3 4.1-5.2 6.3c-18.9 23-50.3 61.2-50.3 90.8c0 32.5 28.7 58.7 64 58.7s64-26.2 64-58.7c0-29.2-30.8-66.9-49.6-90l0 0 0 0c-2.1-2.6-4.1-5-5.8-7.2c-4.3-5.5-12.8-5.5-17.1 0zM200.4 208a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm136 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faMessagePlus = {\n prefix: 'fal',\n iconName: 'message-plus',\n icon: [512, 512, [\"comment-alt-plus\"], \"f4a8\", \"M192 416c0-17.7-14.3-32-32-32H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H448c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H309.3c-6.9 0-13.7 2.2-19.2 6.4L192 464V416zM64 0C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h64 32v32 48c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L309.3 416H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM240 304c0 8.8 7.2 16 16 16s16-7.2 16-16V224h80c8.8 0 16-7.2 16-16s-7.2-16-16-16H272V112c0-8.8-7.2-16-16-16s-16 7.2-16 16v80H160c-8.8 0-16 7.2-16 16s7.2 16 16 16h80v80z\"]\n};\nvar faCommentAltPlus = faMessagePlus;\nvar faLocationArrow = {\n prefix: 'fal',\n iconName: 'location-arrow',\n icon: [448, 512, [], \"f124\", \"M224 224L48 224 400 80 256 432l0-176c0-17.7-14.3-32-32-32zm-32 32h32v32V432c0 15.3 10.8 28.4 25.8 31.4s30-5.1 35.8-19.3l144-352c4.9-11.9 2.1-25.6-7-34.7s-22.8-11.9-34.7-7l-352 144c-14.2 5.8-22.2 20.8-19.3 35.8s16.1 25.8 31.4 25.8H192z\"]\n};\nvar faC = {\n prefix: 'fal',\n iconName: 'c',\n icon: [384, 512, [99], \"43\", \"M356.9 120.3c-74.4-75-194.9-75-269.3 0s-74.4 196.5 0 271.4s194.9 75 269.3 0c6.2-6.3 16.3-6.3 22.5 0s6.2 16.4 0 22.7c-86.8 87.5-227.5 87.5-314.4 0s-86.8-229.4 0-316.9s227.5-87.5 314.4 0c6.2 6.3 6.2 16.4 0 22.7s-16.3 6.3-22.5 0z\"]\n};\nvar faTabletButton = {\n prefix: 'fal',\n iconName: 'tablet-button',\n icon: [448, 512, [], \"f10a\", \"M64 32C46.3 32 32 46.3 32 64V448c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H64zM0 64C0 28.7 28.7 0 64 0H384c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM224 392a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faPersonDressFairy = {\n prefix: 'fal',\n iconName: 'person-dress-fairy',\n icon: [640, 512, [], \"e607\", \"M320 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0-96a64 64 0 1 1 0 128A64 64 0 1 1 320 0zM304.3 192c-14.3 0-26.8 9.5-30.8 23.2L234.4 352H405.6L366.5 215.2C362.6 201.5 350 192 335.7 192H304.3zm0-32h31.5c28.6 0 53.7 18.9 61.5 46.4l39.1 136.8c5.8 20.4-9.5 40.8-30.8 40.8H384V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V384H288V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V384H234.4c-21.3 0-36.6-20.3-30.8-40.8l39.1-136.8c7.8-27.5 33-46.4 61.5-46.4zM32 32c91.1 0 172.4 42.3 225.1 108.4c-9.3 5.3-17.8 12.1-24.9 20.1C185.4 101.7 113.1 64 32 64v48c0 76.5 35.7 144.6 91.5 188.6l12.1 9.5c6.8 5.3 8.1 15 3 22l-9.1 12.4C108.5 373.6 96 409.3 96 448h16c39.2 0 75.4-12.8 104.7-34.5c2.4 .7 4.8 1.2 7.3 1.6v32.1C191.7 468 153.2 480 112 480H96c-17.7 0-32-14.3-32-32c0-45.7 14.7-88 39.7-122.3C40.6 275.9 0 198.7 0 112V64C0 46.3 14.3 32 32 32zM407.7 160.5c-7.1-8.1-15.5-14.9-24.9-20.1C435.6 74.3 516.9 32 608 32c17.7 0 32 14.3 32 32v48c0 86.7-40.6 163.9-103.7 213.7C561.3 360 576 402.3 576 448c0 17.7-14.3 32-32 32H528c-41.2 0-79.7-12-112-32.7V415.2c2.5-.4 5-1 7.3-1.6C452.6 435.2 488.8 448 528 448h16c0-38.7-12.5-74.4-33.6-103.5l-9.1-12.4c-5.1-7-3.7-16.7 3-22l12.1-9.5C572.3 256.6 608 188.5 608 112V64c-81.1 0-153.4 37.7-200.3 96.5z\"]\n};\nvar faRectangleHistoryCircleUser = {\n prefix: 'fal',\n iconName: 'rectangle-history-circle-user',\n icon: [640, 512, [], \"e4a4\", \"M480 192v.7c5.3-.5 10.6-.7 16-.7s10.7 .2 16 .7V192c0-35.3-28.7-64-64-64L64 128c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64l330.8 0c-12.9-9.1-24.5-19.9-34.6-32L64 480c-17.7 0-32-14.3-32-32l0-256c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32zM448 64L64 64c-8.8 0-16 7.2-16 16s7.2 16 16 16l384 0c8.8 0 16-7.2 16-16s-7.2-16-16-16zM400 0H112c-8.8 0-16 7.2-16 16s7.2 16 16 16l288 0c8.8 0 16-7.2 16-16s-7.2-16-16-16zM556 462.6c-17.3 11-37.9 17.4-60 17.4s-42.7-6.4-60-17.4c7.8-9.1 19.4-14.6 31.8-14.6h56.4c12.4 0 23.9 5.5 31.8 14.6zm24.3-20.8c-13.8-16.1-34.2-25.8-56.1-25.8H467.8c-21.8 0-42.2 9.6-56.1 25.8C394.5 422.1 384 396.2 384 368c0-61.9 50.1-112 112-112s112 50.1 112 112c0 28.2-10.5 54.1-27.7 73.8zM640 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zM496 320a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0 80a56 56 0 1 0 0-112 56 56 0 1 0 0 112z\"]\n};\nvar faBuildingLock = {\n prefix: 'fal',\n iconName: 'building-lock',\n icon: [576, 512, [], \"e4d6\", \"M64 32H320c17.7 0 32 14.3 32 32V272c0-30.5 12.2-58.2 32-78.4V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64h64 32 64 32 64c2.8 0 5.6-.2 8.3-.5c-5.3-9.3-8.3-20-8.3-31.5H256V416c0-35.3-28.7-64-64-64s-64 28.7-64 64v64H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32zM224 416v64H160V416c0-17.7 14.3-32 32-32s32 14.3 32 32zM64 120v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V120c0-13.3-10.7-24-24-24H88c-13.3 0-24 10.7-24 24zm32 8h32v32H96V128zM248 96c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V120c0-13.3-10.7-24-24-24H248zm8 64V128h32v32H256zM64 248v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V248c0-13.3-10.7-24-24-24H88c-13.3 0-24 10.7-24 24zm32 8h32v32H96V256zm152-32c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V248c0-13.3-10.7-24-24-24H248zm8 64V256h32v32H256zm208-64c26.5 0 48 21.5 48 48v48H416V272c0-26.5 21.5-48 48-48zm-80 48v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H544c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80zm160 80V480H384V352H544z\"]\n};\nvar faChartLineUp = {\n prefix: 'fal',\n iconName: 'chart-line-up',\n icon: [512, 512, [], \"e0e5\", \"M32 48c0-8.8-7.2-16-16-16S0 39.2 0 48V400c0 44.2 35.8 80 80 80H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H80c-26.5 0-48-21.5-48-48V48zm288 96c0 8.8 7.2 16 16 16h89.4L320 265.4l-84.7-84.7c-6.2-6.2-16.4-6.2-22.6 0l-112 112c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L224 214.6l84.7 84.7c6.2 6.2 16.4 6.2 22.6 0L448 182.6V272c0 8.8 7.2 16 16 16s16-7.2 16-16V144c0-8.8-7.2-16-16-16H336c-8.8 0-16 7.2-16 16z\"]\n};\nvar faMailbox = {\n prefix: 'fal',\n iconName: 'mailbox',\n icon: [576, 512, [128234], \"f813\", \"M32 208V384c0 17.7 14.3 32 32 32H224c17.7 0 32-14.3 32-32V208c0-61.9-50.1-112-112-112S32 146.1 32 208zm256 0V384c0 11.7-3.1 22.6-8.6 32H512c17.7 0 32-14.3 32-32V208c0-61.9-50.1-112-112-112H234.5c32.6 26.4 53.5 66.8 53.5 112zM64 448c-35.3 0-64-28.7-64-64V208C0 128.5 64.5 64 144 64H432c79.5 0 144 64.5 144 144V384c0 35.3-28.7 64-64 64H224 64zm48-256h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm224 0h96 56c13.3 0 24 10.7 24 24v80c0 13.3-10.7 24-24 24H440c-13.3 0-24-10.7-24-24V224H336c-8.8 0-16-7.2-16-16s7.2-16 16-16zm112 96h32V224H448v64z\"]\n};\nvar faSignPosts = {\n prefix: 'fal',\n iconName: 'sign-posts',\n icon: [576, 512, [], \"e625\", \"M48 64c-8.8 0-16 7.2-16 16V368c0 8.8 7.2 16 16 16H528c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16H512 480 96 64 48zM512 32h16c26.5 0 48 21.5 48 48V368c0 26.5-21.5 48-48 48H512l0 80c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-80H96l0 80c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-80H48c-26.5 0-48-21.5-48-48V80C0 53.5 21.5 32 48 32H64l0-16C64 7.2 71.2 0 80 0s16 7.2 16 16l0 16H480l0-16c0-8.8 7.2-16 16-16s16 7.2 16 16l0 16z\"]\n};\nvar faTruckBolt = {\n prefix: 'fal',\n iconName: 'truck-bolt',\n icon: [640, 512, [], \"e3d0\", \"M352 32c17.7 0 32 14.3 32 32V384H250.5c-13.2-37.3-48.7-64-90.5-64s-77.4 26.7-90.5 64H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H352zM0 352c0 35.3 28.7 64 64 64c0 53 43 96 96 96s96-43 96-96H384c0 53 43 96 96 96s96-43 96-96h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H608V235.8c0-11.5-4.1-22.5-11.6-31.2l-78.7-91.8C508.6 102.1 495.3 96 481.3 96H416V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352zM416 128h65.3c4.7 0 9.1 2 12.1 5.6L570.9 224H416V128zm0 216.4V256H576V384h-5.5c-13.2-37.3-48.7-64-90.5-64c-24.6 0-47 9.2-64 24.4zM160 352a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm256 64a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM251.3 91.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-96 96c-4.6 4.6-5.9 11.5-3.5 17.4s8.3 9.9 14.8 9.9h89.4l-68.7 68.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l96-96c4.6-4.6 5.9-11.5 3.5-17.4s-8.3-9.9-14.8-9.9H182.6l68.7-68.7z\"]\n};\nvar faPizzaSlice = {\n prefix: 'fal',\n iconName: 'pizza-slice',\n icon: [512, 512, [], \"f818\", \"M167.5 32.8c-6.1-.4-12.4 3.7-14.4 11.1l-10 37.6C295 96.1 415.9 217 430.5 368.9l37.6-10c7.4-2 11.5-8.3 11.1-14.4C467.7 177.7 334.3 44.3 167.5 32.8zM38.6 473.4l360.5-96.1c-11-140.9-123.5-253.4-264.4-264.4L38.6 473.4zM4.7 507.3c-4-4-5.6-9.9-4.1-15.4L122.2 35.6C127.7 14.9 146.9-.7 169.7 .9C352.5 13.5 498.5 159.5 511.1 342.3c1.6 22.8-14 41.9-34.7 47.5L20.1 511.5c-5.5 1.5-11.4-.1-15.4-4.1zM176 216a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm72 120a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm-104 8a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faMoneyBillWave = {\n prefix: 'fal',\n iconName: 'money-bill-wave',\n icon: [576, 512, [], \"f53a\", \"M32 184c35.3 0 64-28.7 64-64v-.5c-18.5-1.4-37.1-4.4-55.8-9.5c-2.2-.6-4.9-.2-6.9 1.2c-.9 .6-1.2 1.1-1.3 1.2l0 0 0 0 0 0s0 0 0 0l0 .1V184zm0 192v46.3c0 6.8 3.7 10.4 6.2 11.3C57.3 440.8 76.5 445 96 446.8V440c0-35.3-28.7-64-64-64zm0-32c53 0 96 43 96 96v8c44.7-1 91.1-11.7 141.3-24.5c4.3-1.1 8.6-2.2 13-3.3c51.8-13.3 108-27.6 165.7-28.6c.2-52.8 43.1-95.6 96-95.6V168c-53 0-96-43-96-96V64c-44.7 1-91.1 11.7-141.3 24.5c-4.3 1.1-8.6 2.2-13 3.3c-51.8 13.3-108 27.6-165.7 28.6c-.2 52.8-43.1 95.6-96 95.6V344zm503.8 58c2.2 .6 4.9 .2 6.9-1.2c.9-.6 1.2-1.1 1.3-1.2c0 0 0 0 0 0s0 0 0-.1V328c-35.3 0-64 28.7-64 64v.5c18.5 1.4 37.1 4.4 55.8 9.5zM480 72c0 35.3 28.7 64 64 64V89.7c0-6.8-3.7-10.4-6.2-11.3C518.7 71.2 499.5 67 480 65.2V72zM0 422.3V112.5C0 88.6 25.6 72.8 48.7 79.1c79.8 21.8 159.6 1.5 239.3-18.9c87-22.2 174-44.4 261-11.9c16.9 6.3 27 23.2 27 41.3V399.5c0 23.9-25.6 39.7-48.7 33.4c-79.8-21.8-159.6-1.5-239.3 18.9c-87 22.2-174 44.4-261 11.9c-16.9-6.3-27-23.2-27-41.3zM224 256c0 47 31.3 80 64 80s64-33 64-80s-31.3-80-64-80s-64 33-64 80zm64-112c55.6 0 96 53 96 112s-40.4 112-96 112s-96-53-96-112s40.4-112 96-112z\"]\n};\nvar faChartArea = {\n prefix: 'fal',\n iconName: 'chart-area',\n icon: [512, 512, [\"area-chart\"], \"f1fe\", \"M32 48c0-8.8-7.2-16-16-16S0 39.2 0 48V400c0 44.2 35.8 80 80 80H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H80c-26.5 0-48-21.5-48-48V48zM297.4 214.6c6 6 14.1 9.4 22.6 9.4s16.6-3.4 22.6-9.4l39.6-39.6 62 72.3c2.5 2.9 3.9 6.6 3.9 10.4V352H128V243.9c0-4.2 1.7-8.3 4.7-11.3L224 141.3l73.4 73.4zm0-45.3l-50.7-50.7c-12.5-12.5-32.8-12.5-45.3 0l-91.3 91.3c-9 9-14.1 21.2-14.1 33.9V352c0 17.7 14.3 32 32 32H448c17.7 0 32-14.3 32-32V257.8c0-11.5-4.1-22.5-11.6-31.2l-62-72.3c-12.1-14.2-33.7-15-46.9-1.8l-16.9 16.9L320 192l-22.6-22.6z\"]\n};\nvar faAreaChart = faChartArea;\nvar faHouseFlag = {\n prefix: 'fal',\n iconName: 'house-flag',\n icon: [640, 512, [], \"e50d\", \"M464 0c-8.8 0-16 7.2-16 16V32 64v96 32V512h32V192H624c8.8 0 16-7.2 16-16V48c0-8.8-7.2-16-16-16H480V16c0-8.8-7.2-16-16-16zm16 160V64H608v96H480zm-64-24L281.6 35.2c-5.7-4.3-13.5-4.3-19.2 0l-256 192c-7.1 5.3-8.5 15.3-3.2 22.4s15.3 8.5 22.4 3.2L64 224V440c0 39.8 32.2 72 72 72l272 0c2.7 0 5.4-.2 8-.4V479.2c-2.6 .5-5.3 .8-8 .8H344V352c0-17.7-14.3-32-32-32H232c-17.7 0-32 14.3-32 32V480H136c-22.1 0-40-17.9-40-40V200L272 68 416 176V136zM312 352V480l-80 0V352l80 0z\"]\n};\nvar faCircleThreeQuartersStroke = {\n prefix: 'fal',\n iconName: 'circle-three-quarters-stroke',\n icon: [512, 512, [], \"e5d4\", \"M477.7 288H272c-26.5 0-48-21.5-48-48V34.3C115.4 49.8 32 143.2 32 256c0 123.7 100.3 224 224 224c112.8 0 206.2-83.4 221.7-192zm2.3-32C480 132.3 379.7 32 256 32V240c0 8.8 7.2 16 16 16H480zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z\"]\n};\nvar faPersonCircleMinus = {\n prefix: 'fal',\n iconName: 'person-circle-minus',\n icon: [576, 512, [], \"e540\", \"M160 80a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-80a56 56 0 1 1 0 112A56 56 0 1 1 160 0zM128 164V320h64V164c-6-2.6-12.5-4-19.3-4H147.3c-6.8 0-13.3 1.4-19.3 4zm0 188V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V202.1L46.1 295.5c-4.2 7.8-13.9 10.7-21.7 6.6s-10.7-13.9-6.6-21.7L76.7 170.3c13.9-26 41-42.3 70.6-42.3h25.4c29.5 0 56.7 16.3 70.6 42.3l48.7 91.1c-7.5 9.8-14 20.5-19.3 31.8l-48.6-91V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V352H128zM432 480a112 112 0 1 0 0-224 112 112 0 1 0 0 224zm0-256a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm80 144c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16s7.2-16 16-16H496c8.8 0 16 7.2 16 16z\"]\n};\nvar faScalpel = {\n prefix: 'fal',\n iconName: 'scalpel',\n icon: [512, 512, [], \"f61d\", \"M200 288c-6.2 0-11.9-3.6-14.5-9.3s-1.7-12.3 2.3-17.1L387.4 25.1C400.8 9.2 420.6 0 441.4 0c39 0 70.6 31.6 70.6 70.6v4c0 17.6-6.2 34.6-17.6 48.1L369.3 271c-9.1 10.8-22.5 17-36.7 17H200zM411.9 45.7L234.4 256h98.2c4.7 0 9.2-2.1 12.2-5.7L470 102c6.5-7.7 10-17.4 10-27.5v-4C480 49.3 462.7 32 441.4 32c-11.4 0-22.2 5-29.5 13.7zM4.7 484.7L169.4 320h45.3L59.7 474.9c29.2-5 68.3-14.1 106.2-29.7C227.3 419.9 279.2 380.5 287 320h32.2c-8 80.6-76 128-141.1 154.8C108.1 503.6 34 512 16 512c-6.5 0-12.3-3.9-14.8-9.9s-1.1-12.9 3.5-17.4z\"]\n};\nvar faBan = {\n prefix: 'fal',\n iconName: 'ban',\n icon: [512, 512, [128683, \"cancel\"], \"f05e\", \"M402.7 425.3l-316-316C52.6 148.6 32 199.9 32 256c0 123.7 100.3 224 224 224c56.1 0 107.4-20.6 146.7-54.7zm22.6-22.6C459.4 363.4 480 312.1 480 256C480 132.3 379.7 32 256 32c-56.1 0-107.4 20.6-146.7 54.7l316 316zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z\"]\n};\nvar faCancel = faBan;\nvar faBellExclamation = {\n prefix: 'fal',\n iconName: 'bell-exclamation',\n icon: [448, 512, [], \"f848\", \"M208 16c0-8.8 7.2-16 16-16s16 7.2 16 16V32.8c80.9 8 144 76.2 144 159.2v29.1c0 43.7 17.4 85.6 48.3 116.6l2.8 2.8c8.3 8.3 13 19.6 13 31.3c0 24.5-19.8 44.3-44.3 44.3H44.3C19.8 416 0 396.2 0 371.7c0-11.7 4.7-23 13-31.3l2.8-2.8C46.6 306.7 64 264.8 64 221.1V192c0-83 63.1-151.2 144-159.2V16zm16 48C153.3 64 96 121.3 96 192v29.1c0 52.2-20.7 102.3-57.7 139.2L35.6 363c-2.3 2.3-3.6 5.4-3.6 8.7c0 6.8 5.5 12.3 12.3 12.3H403.7c6.8 0 12.3-5.5 12.3-12.3c0-3.3-1.3-6.4-3.6-8.7l-2.8-2.8c-36.9-36.9-57.7-87-57.7-139.2V192c0-70.7-57.3-128-128-128zM193.8 458.7c4.4 12.4 16.3 21.3 30.2 21.3s25.8-8.9 30.2-21.3c2.9-8.3 12.1-12.7 20.4-9.8s12.7 12.1 9.8 20.4C275.6 494.2 251.9 512 224 512s-51.6-17.8-60.4-42.7c-2.9-8.3 1.4-17.5 9.8-20.4s17.5 1.4 20.4 9.8zM200 304a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm40-176V240c0 8.8-7.2 16-16 16s-16-7.2-16-16V128c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faCircleBookmark = {\n prefix: 'fal',\n iconName: 'circle-bookmark',\n icon: [512, 512, [\"bookmark-circle\"], \"e100\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM192 176c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16V334.7l-54-43.2c-5.8-4.7-14.1-4.7-20 0l-54 43.2V176zm16-48c-26.5 0-48 21.5-48 48V368c0 6.2 3.5 11.8 9.1 14.4s12.1 1.9 16.9-1.9l70-56 70 56c4.8 3.8 11.4 4.6 16.9 1.9s9.1-8.3 9.1-14.4V176c0-26.5-21.5-48-48-48H208z\"]\n};\nvar faBookmarkCircle = faCircleBookmark;\nvar faEggFried = {\n prefix: 'fal',\n iconName: 'egg-fried',\n icon: [512, 512, [], \"f7fc\", \"M461.1 182.8c31.6 42.6 22.6 102.7-19.9 134.3c-13.4 9.9-28.4 15.8-43.8 18c-23.8 3.3-49.1 13.4-70.9 26.8c-21.6 13.3-42.8 31.8-55.7 54.1C235.5 477.2 157.2 498.2 96 462.9S13.8 349.2 49.1 288c28.1-48.6 42.7-116.9 47.2-168.4c2-22.3 11.7-44 29.1-60.8c38.2-36.7 99-35.5 135.7 2.7c17.9 18.6 42.8 36.8 68.2 51.6s53.5 27.6 78.5 33.9c20.6 5.3 39.6 17.4 53.3 35.8zM415.8 116c-42.4-10.9-101.2-45.1-131.5-76.7c-49-51-130-52.6-181-3.6C80.1 58 67.1 87 64.5 116.8C60.2 166.1 46.2 229.1 21.4 272C-22.7 348.5 3.5 446.4 80 490.6s174.4 18 218.6-58.6c18.8-32.5 66.1-60 103.3-65.2c20.5-2.9 40.6-10.8 58.4-24c56.8-42.1 68.7-122.3 26.6-179.1c-18.2-24.6-43.5-40.7-71-47.8zM224 336a96 96 0 1 1 0-192 96 96 0 1 1 0 192zM96 240a128 128 0 1 0 256 0A128 128 0 1 0 96 240zm88 0c0-22.1 17.9-40 40-40c8.8 0 16-7.2 16-16s-7.2-16-16-16c-39.8 0-72 32.2-72 72c0 8.8 7.2 16 16 16s16-7.2 16-16z\"]\n};\nvar faFaceWeary = {\n prefix: 'fal',\n iconName: 'face-weary',\n icon: [512, 512, [], \"e3a1\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256 94c24.2 0 48.2 3.4 71.4 10c-3.5-5.1-7.7-10.3-12.6-15.2c-15.5-15.5-36.2-26.8-58.7-26.8s-43.2 11.3-58.7 26.8c-4.9 4.9-9.2 10.1-12.6 15.2c23.2-6.7 47.2-10 71.4-10zm0-64c33.5 0 61.8 16.7 81.3 36.2c9.8 9.8 17.8 20.8 23.4 31.5c5.5 10.4 9.3 21.8 9.3 32.4c0 5.2-2.5 10.1-6.8 13.1s-9.7 3.7-14.6 2l-16.5-5.9C307.7 386.4 282 382 256 382s-51.8 4.5-76.2 13.2L163.3 401c-4.9 1.8-10.3 1-14.6-2s-6.8-7.9-6.8-13.1c0-10.6 3.8-21.9 9.3-32.4c5.6-10.7 13.6-21.6 23.4-31.5c19.5-19.5 47.9-36.2 81.3-36.2zM211.3 164.7c6.2 6.2 6.2 16.4 0 22.6l-7.4 7.4c-23.6 23.6-53.9 39.2-86.8 44.7l-2.5 .4c-8.7 1.5-17-4.4-18.4-13.2s4.4-17 13.2-18.4l2.5-.4c26.3-4.4 50.6-16.9 69.5-35.7l7.4-7.4c6.2-6.2 16.4-6.2 22.6 0zm89.4 22.6c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l7.4 7.4c18.9 18.9 43.2 31.4 69.5 35.7l2.5 .4c8.7 1.5 14.6 9.7 13.2 18.4s-9.7 14.6-18.4 13.2l-2.5-.4c-32.9-5.5-63.3-21.1-86.8-44.7l-7.4-7.4z\"]\n};\nvar faUniformMartialArts = {\n prefix: 'fal',\n iconName: 'uniform-martial-arts',\n icon: [640, 512, [], \"e3d1\", \"M176 0c-.9 0-1.8 .1-2.7 .2C135.2 2.6 100.8 24.3 82.2 58L15.8 178.8C5.5 197.7 0 218.9 0 240.4V368c0 26.5 21.5 48 48 48H80c26.5 0 48-21.5 48-48V288 240.4l32-58.2V288h32V121.2c0-6.7-4.2-12.7-10.4-15s-13.3-.5-17.7 4.5c-1.9 2.2-3.6 4.6-5.1 7.3L100 225c-2.6 4.7-4 10-4 15.4V368c0 8.8-7.2 16-16 16H48c-8.8 0-16-7.2-16-16V240.4c0-16.2 4.1-32.1 11.9-46.3L110.3 73.4C123.8 49 149 33.3 176.7 32.1c.4 0 .7 0 1.1-.1h52.3l72 144-56 112h35.8l52.4-104.8L409.9 32h52.3c.4 0 .7 .1 1.1 .1c27.7 1.3 53 16.9 66.4 41.4l66.4 120.7c7.8 14.2 11.9 30.1 11.9 46.3V368c0 8.8-7.2 16-16 16H560c-8.8 0-16-7.2-16-16V240.4c0-5.4-1.4-10.7-4-15.4L481.2 118c-1.4-2.6-3.1-5.1-5-7.3c-4.4-5.1-11.4-6.9-17.7-4.5s-10.4 8.3-10.4 15V288h32V182.3l32 58.2V288v80c0 26.5 21.5 48 48 48h32c26.5 0 48-21.5 48-48V240.4c0-21.6-5.4-42.8-15.8-61.7L557.8 58c-18.5-33.7-53-55.4-91.1-57.8c-.9-.1-1.8-.2-2.7-.2H400 240 176zm89.9 32H374.1L320 140.2 265.9 32zM448 384v72c0 13.3-10.7 24-24 24H216c-13.3 0-24-10.7-24-24V384H160v72c0 30.9 25.1 56 56 56H424c30.9 0 56-25.1 56-56V384H448zM144 336c0 8.8 7.2 16 16 16H290.1l-47.4 71.1c-4.9 7.4-2.9 17.3 4.4 22.2s17.3 2.9 22.2-4.4l50.7-76 50.7 76c4.9 7.4 14.8 9.3 22.2 4.4s9.3-14.8 4.4-22.2L349.9 352H480c8.8 0 16-7.2 16-16s-7.2-16-16-16H320 160c-8.8 0-16 7.2-16 16z\"]\n};\nvar faCameraRotate = {\n prefix: 'fal',\n iconName: 'camera-rotate',\n icon: [640, 512, [], \"e0d8\", \"M255.1 32c-20.7 0-39 13.2-45.5 32.8L199.1 96H128c-35.3 0-64 28.7-64 64V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H440.9L430.5 64.8C423.9 45.2 405.6 32 384.9 32H255.1zM239.9 74.9c2.2-6.5 8.3-10.9 15.2-10.9H384.9c6.9 0 13 4.4 15.2 10.9l14 42.1c2.2 6.5 8.3 10.9 15.2 10.9H512c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32h82.7c6.9 0 13-4.4 15.2-10.9l14-42.1zM416 272c8.8 0 16-7.2 16-16V192c0-8.8-7.2-16-16-16s-16 7.2-16 16v25.4l-14.1-14.1C368.5 185.8 344.7 176 320 176c-39 0-73.3 19.9-93.3 50.1c-4.9 7.4-2.9 17.3 4.5 22.2s17.3 2.9 22.2-4.5C267.7 222.2 292.2 208 320 208c16.2 0 31.8 6.5 43.3 17.9L377.4 240H352c-8.8 0-16 7.2-16 16s7.2 16 16 16h64zM224 304c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V358.6l14.1 14.1C271.5 390.2 295.3 400 320 400c39 0 73.3-19.9 93.3-50.1c4.9-7.4 2.9-17.3-4.5-22.2s-17.3-2.9-22.2 4.5C372.3 353.8 347.8 368 320 368c-16.2 0-31.8-6.5-43.3-17.9L262.6 336H288c8.8 0 16-7.2 16-16s-7.2-16-16-16H224z\"]\n};\nvar faSunDust = {\n prefix: 'fal',\n iconName: 'sun-dust',\n icon: [512, 512, [], \"f764\", \"M371.1 13.1c-1-5.3-4.6-9.8-9.6-11.9s-10.7-1.5-15.2 1.6L256 65.1 165.7 2.8c-4.5-3.1-10.2-3.7-15.2-1.6s-8.6 6.6-9.6 11.9L121 121 13.1 140.8c-5.3 1-9.8 4.6-11.9 9.6s-1.5 10.7 1.6 15.2L65.1 256 2.8 346.3c-3.1 4.5-3.7 10.2-1.6 15.2s6.6 8.6 11.9 9.6L121 391l0 0 25.1-25.1c-2.2-2.2-5.2-3.8-8.4-4.4L43.2 344.1l54.5-79.1c3.8-5.5 3.8-12.7 0-18.2L43.2 167.8l94.5-17.4c6.5-1.2 11.6-6.3 12.8-12.8l17.4-94.5 79.1 54.5c5.5 3.8 12.7 3.8 18.2 0l79.1-54.5 17.4 94.5c.6 3.3 2.2 6.2 4.4 8.4L391 121l0 0L371.1 13.1zM256 128c-70.7 0-128 57.3-128 128c0 35.3 14.3 67.3 37.5 90.5l22.6-22.6C170.7 306.5 160 282.5 160 256c0-53 43-96 96-96c26.5 0 50.5 10.7 67.9 28.1l22.6-22.6C323.4 142.3 291.3 128 256 128zm248 32a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM400 264a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm104 56a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM400 424a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM160 504a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm160 0a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm184-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM240 424a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM344 320a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faCommentText = {\n prefix: 'fal',\n iconName: 'comment-text',\n icon: [512, 512, [], \"e14d\", \"M32 240c0-91.4 93.8-176 224-176s224 84.6 224 176s-93.8 176-224 176c-32 0-63-5.9-93.5-16.2c-9.9-3.3-20.7-1.8-29.2 4.2c-15.4 10.7-31.4 20-48.4 27.4L91.2 446l-6.4-14.7c-10.5 4.6-21.5 8.6-32.7 11.5c.5-.9 1.1-1.8 1.6-2.6C68 416.5 76.3 391 79.4 363.9c1-9.2-2.1-17.7-7.4-23.9c-24.5-29.4-40-62.9-40-100zM256 32C114.5 32 0 125.2 0 240c0 46.6 19.6 87.1 47.4 120.5c0 .1 .1 .1 .1 .2c-2.6 22.6-9.5 43.5-21.3 63.1c-6.5 10.8-13.5 20.8-21.7 29c-4.5 4.6-5.9 11.5-3.4 17.4s8.3 9.8 14.8 9.8c28.7 0 57.6-8.9 81.6-19.3c19.2-8.4 37.1-18.7 53.9-30.5c.2-.1 .5-.2 .7-.1C185.5 441.3 220 448 256 448c141.5 0 256-93.2 256-208S397.5 32 256 32zM192 160c-8.8 0-16 7.2-16 16s7.2 16 16 16h48V304c0 8.8 7.2 16 16 16s16-7.2 16-16V192h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H256 192z\"]\n};\nvar faSprayCanSparkles = {\n prefix: 'fal',\n iconName: 'spray-can-sparkles',\n icon: [512, 512, [\"air-freshener\"], \"f5d0\", \"M128 32V96H96V32c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32V96H192V32H128zM96 160c-35.3 0-64 28.7-64 64V440c0 22.1 17.9 40 40 40H248c22.1 0 40-17.9 40-40V224c0-35.3-28.7-64-64-64H96zM0 224c0-53 43-96 96-96H224c53 0 96 43 96 96V440c0 39.8-32.2 72-72 72H72c-39.8 0-72-32.2-72-72V224zm208 96a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM80 320a80 80 0 1 1 160 0A80 80 0 1 1 80 320zM336 0c8.8 0 16 7.2 16 16V32h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H352V80c0 8.8-7.2 16-16 16s-16-7.2-16-16V64H304c-8.8 0-16-7.2-16-16s7.2-16 16-16h16V16c0-8.8 7.2-16 16-16zM480 16V32h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H480V80c0 8.8-7.2 16-16 16s-16-7.2-16-16V64H432c-8.8 0-16-7.2-16-16s7.2-16 16-16h16V16c0-8.8 7.2-16 16-16s16 7.2 16 16zm0 192v16h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H480v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V256H432c-8.8 0-16-7.2-16-16s7.2-16 16-16h16V208c0-8.8 7.2-16 16-16s16 7.2 16 16zm-64-96v16h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H416v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V160H368c-8.8 0-16-7.2-16-16s7.2-16 16-16h16V112c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faAirFreshener = faSprayCanSparkles;\nvar faSignalBars = {\n prefix: 'fal',\n iconName: 'signal-bars',\n icon: [640, 512, [\"signal-alt\", \"signal-alt-4\", \"signal-bars-strong\"], \"f690\", \"M576 464V48c0-8.8-7.2-16-16-16s-16 7.2-16 16V464c0 8.8 7.2 16 16 16s16-7.2 16-16zM512 48c0-26.5 21.5-48 48-48s48 21.5 48 48V464c0 26.5-21.5 48-48 48s-48-21.5-48-48V48zM416 176c0-8.8-7.2-16-16-16s-16 7.2-16 16V464c0 8.8 7.2 16 16 16s16-7.2 16-16V176zm-64 0c0-26.5 21.5-48 48-48s48 21.5 48 48V464c0 26.5-21.5 48-48 48s-48-21.5-48-48V176zM256 464V304c0-8.8-7.2-16-16-16s-16 7.2-16 16V464c0 8.8 7.2 16 16 16s16-7.2 16-16zM240 256c26.5 0 48 21.5 48 48V464c0 26.5-21.5 48-48 48s-48-21.5-48-48V304c0-26.5 21.5-48 48-48zM96 432c0-8.8-7.2-16-16-16s-16 7.2-16 16v32c0 8.8 7.2 16 16 16s16-7.2 16-16V432zm-64 0c0-26.5 21.5-48 48-48s48 21.5 48 48v32c0 26.5-21.5 48-48 48s-48-21.5-48-48V432z\"]\n};\nvar faSignalAlt = faSignalBars;\nvar faSignalAlt4 = faSignalBars;\nvar faSignalBarsStrong = faSignalBars;\nvar faDiamondExclamation = {\n prefix: 'fal',\n iconName: 'diamond-exclamation',\n icon: [512, 512, [], \"e405\", \"M261.7 34.3c-3.1-3.1-8.2-3.1-11.3 0l-216 216c-3.1 3.1-3.1 8.2 0 11.3l216 216c3.1 3.1 8.2 3.1 11.3 0l216-216c3.1-3.1 3.1-8.2 0-11.3l-216-216zM227.7 11.7c15.6-15.6 40.9-15.6 56.6 0l216 216c15.6 15.6 15.6 40.9 0 56.6l-216 216c-15.6 15.6-40.9 15.6-56.6 0l-216-216c-15.6-15.6-15.6-40.9 0-56.6l216-216zM256 128c8.8 0 16 7.2 16 16V272c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-8.8 7.2-16 16-16zM232 352a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faStar = {\n prefix: 'fal',\n iconName: 'star',\n icon: [576, 512, [11088, 61446], \"f005\", \"M226.5 168.8L287.9 42.3l61.4 126.5c4.6 9.5 13.6 16.1 24.1 17.7l137.4 20.3-99.8 98.8c-7.4 7.3-10.8 17.8-9 28.1l23.5 139.5L303 407.7c-9.4-5-20.7-5-30.2 0L150.2 473.2l23.5-139.5c1.7-10.3-1.6-20.7-9-28.1L65 206.8l137.4-20.3c10.5-1.5 19.5-8.2 24.1-17.7zM424.9 509.1c8.1 4.3 17.9 3.7 25.3-1.7s11.2-14.5 9.7-23.5L433.6 328.4 544.8 218.2c6.5-6.4 8.7-15.9 5.9-24.5s-10.3-14.9-19.3-16.3L378.1 154.8 309.5 13.5C305.5 5.2 297.1 0 287.9 0s-17.6 5.2-21.6 13.5L197.7 154.8 44.5 177.5c-9 1.3-16.5 7.6-19.3 16.3s-.5 18.1 5.9 24.5L142.2 328.4 116 483.9c-1.5 9 2.2 18.1 9.7 23.5s17.3 6 25.3 1.7l137-73.2 137 73.2z\"]\n};\nvar faDialMin = {\n prefix: 'fal',\n iconName: 'dial-min',\n icon: [576, 512, [], \"e161\", \"M288 56a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM276.7 276.7l-89.8 89.8c-39.1-50.2-35.5-122.9 10.6-169c50-50 131-50 181 0s50 131 0 181c-46.2 46.2-118.8 49.7-169 10.6l89.8-89.8c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0zM174.9 401.1A160 160 0 1 0 401.1 174.9 160 160 0 1 0 174.9 401.1zM568 288a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM32 312a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM120 96A24 24 0 1 0 72 96a24 24 0 1 0 48 0zm360 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM120 480a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm360 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faRepeat = {\n prefix: 'fal',\n iconName: 'repeat',\n icon: [512, 512, [128257], \"f363\", \"M15.2 272C6.4 271.5-.4 264 0 255.2l.4-8C5.1 153.5 82.4 80 176.2 80H320V35.6C320 20.3 332.3 8 347.6 8c6.8 0 13.4 2.5 18.4 7.1l76.7 69c3.4 3 5.3 7.4 5.3 11.9s-1.9 8.9-5.3 11.9l-76.7 69c-5.1 4.6-11.6 7.1-18.4 7.1c-15.2 0-27.6-12.3-27.6-27.6V112H176.2c-76.7 0-140 60.2-143.8 136.8l-.4 8c-.4 8.8-8 15.6-16.8 15.2zM352 146.5L408.1 96 352 45.5l0 100.9zM496.8 240c8.8 .4 15.6 8 15.2 16.8l-.4 8c-4.7 93.7-82 167.2-175.8 167.2L192 432l0 44.4c0 15.2-12.3 27.6-27.6 27.6c-6.8 0-13.4-2.5-18.4-7.1l-76.7-69c-3.4-3-5.3-7.4-5.3-11.9s1.9-8.9 5.3-11.9l76.7-69c5.1-4.6 11.6-7.1 18.4-7.1c15.2 0 27.6 12.3 27.6 27.6l0 44.4 143.8 0c76.7 0 140-60.2 143.8-136.8l.4-8c.4-8.8 8-15.6 16.8-15.2zM160 365.5L103.9 416 160 466.5l0-100.9z\"]\n};\nvar faCross = {\n prefix: 'fal',\n iconName: 'cross',\n icon: [384, 512, [128327, 10013], \"f654\", \"M128 40c0-22.1 17.9-40 40-40h48c22.1 0 40 17.9 40 40v88h88c22.1 0 40 17.9 40 40v48c0 22.1-17.9 40-40 40H256V472c0 22.1-17.9 40-40 40H168c-22.1 0-40-17.9-40-40V256H40c-22.1 0-40-17.9-40-40V168c0-22.1 17.9-40 40-40h88V40zm40-8c-4.4 0-8 3.6-8 8V144c0 8.8-7.2 16-16 16H40c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8H144c8.8 0 16 7.2 16 16V472c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V240c0-8.8 7.2-16 16-16H344c4.4 0 8-3.6 8-8V168c0-4.4-3.6-8-8-8H240c-8.8 0-16-7.2-16-16V40c0-4.4-3.6-8-8-8H168z\"]\n};\nvar faPageCaretDown = {\n prefix: 'fal',\n iconName: 'page-caret-down',\n icon: [384, 512, [\"file-caret-down\"], \"e429\", \"M352 448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H245.5c8.5 0 16.6 3.4 22.6 9.4l74.5 74.5c6 6 9.4 14.1 9.4 22.6V448zM64 512H320c35.3 0 64-28.7 64-64V138.5c0-17-6.7-33.3-18.7-45.3L290.7 18.7C278.7 6.7 262.5 0 245.5 0H64C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64zM180.2 346.8c3 3.3 7.3 5.2 11.8 5.2s8.8-1.9 11.8-5.2l75.7-82.6c14.1-15.4 3.2-40.2-17.7-40.2l-139.6 0c-20.9 0-31.8 24.8-17.7 40.2l75.7 82.6zM140.4 256l103.3 0L192 312.3 140.4 256z\"]\n};\nvar faFileCaretDown = faPageCaretDown;\nvar faBox = {\n prefix: 'fal',\n iconName: 'box',\n icon: [448, 512, [128230], \"f466\", \"M342.4 64H240v96H405.9L371.7 83c-5.1-11.6-16.6-19-29.2-19zM416 192H240 208 32V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V192zM42.1 160H208V64H105.6c-12.6 0-24.1 7.4-29.2 19L42.1 160zM342.4 32c25.3 0 48.2 14.9 58.5 38l41.6 93.6c3.6 8.2 5.5 17 5.5 26V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V189.6c0-9 1.9-17.8 5.5-26L47.1 70c10.3-23.1 33.2-38 58.5-38H342.4z\"]\n};\nvar faVenusMars = {\n prefix: 'fal',\n iconName: 'venus-mars',\n icon: [640, 512, [9892], \"f228\", \"M176 320a144 144 0 1 0 0-288 144 144 0 1 0 0 288zM352 176c0 91.8-70.3 167.2-160 175.3V416h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H192v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V448H96c-8.8 0-16-7.2-16-16s7.2-16 16-16h64V351.3C70.3 343.2 0 267.8 0 176C0 78.8 78.8 0 176 0s176 78.8 176 176zM271.9 360.6c9.7-5.1 19-10.9 27.8-17.4C325.6 368.5 361 384 400 384c79.5 0 144-64.5 144-144s-64.5-144-144-144c-10.5 0-20.7 1.1-30.6 3.3c-4.1-10.2-8.9-20.1-14.5-29.4C369.3 66 384.4 64 400 64c42.8 0 82.1 15.3 112.6 40.7L585.4 32H496c-8.8 0-16-7.2-16-16s7.2-16 16-16H624c8.8 0 16 7.2 16 16V144c0 8.8-7.2 16-16 16s-16-7.2-16-16V54.6l-72.7 72.7C560.7 157.9 576 197.2 576 240c0 97.2-78.8 176-176 176c-50.5 0-96-21.3-128.1-55.4z\"]\n};\nvar faClockSevenThirty = {\n prefix: 'fal',\n iconName: 'clock-seven-thirty',\n icon: [512, 512, [], \"e351\", \"M32 256a224 224 0 1 0 448 0A224 224 0 1 0 32 256zm480 0A256 256 0 1 1 0 256a256 256 0 1 1 512 0zM240 400V308.8l-34.7 52c-4.9 7.4-14.8 9.3-22.2 4.4s-9.3-14.8-4.4-22.2l64-96c3.9-5.9 11.2-8.5 17.9-6.4s11.4 8.3 11.4 15.3V400c0 8.8-7.2 16-16 16s-16-7.2-16-16z\"]\n};\nvar faArrowPointer = {\n prefix: 'fal',\n iconName: 'arrow-pointer',\n icon: [320, 512, [\"mouse-pointer\"], \"f245\", \"M0 426V55.2C0 42.4 10.4 32 23.2 32c5.7 0 11.2 2.1 15.4 5.9l274 243.6c4.7 4.2 7.4 10.2 7.4 16.5c0 12.2-9.9 22.1-22.1 22.1H161.5l61.1 137.5c3.6 8.1 0 17.5-8.1 21.1s-17.5 0-21.1-8.1l-61-137.2L38.6 440.5C34.4 445.3 28.4 448 22 448c-12.2 0-22-9.9-22-22zM32 72V400l86.4-100.8c6.1-7.1 15-11.2 24.3-11.2H272L32 72z\"]\n};\nvar faMousePointer = faArrowPointer;\nvar faClockFourThirty = {\n prefix: 'fal',\n iconName: 'clock-four-thirty',\n icon: [512, 512, [], \"e34b\", \"M32 256a224 224 0 1 1 448 0A224 224 0 1 1 32 256zm480 0A256 256 0 1 0 0 256a256 256 0 1 0 512 0zM272 400V285.9l71.1 47.4c7.4 4.9 17.3 2.9 22.2-4.4s2.9-17.3-4.4-22.2l-96-64c-4.9-3.3-11.2-3.6-16.4-.8s-8.5 8.2-8.5 14.1V400c0 8.8 7.2 16 16 16s16-7.2 16-16z\"]\n};\nvar faSignalBarsGood = {\n prefix: 'fal',\n iconName: 'signal-bars-good',\n icon: [640, 512, [\"signal-alt-3\"], \"f693\", \"M416 464c0 8.8-7.2 16-16 16s-16-7.2-16-16V176c0-8.8 7.2-16 16-16s16 7.2 16 16V464zM400 128c-26.5 0-48 21.5-48 48V464c0 26.5 21.5 48 48 48s48-21.5 48-48V176c0-26.5-21.5-48-48-48zM256 464c0 8.8-7.2 16-16 16s-16-7.2-16-16V304c0-8.8 7.2-16 16-16s16 7.2 16 16V464zM240 256c-26.5 0-48 21.5-48 48V464c0 26.5 21.5 48 48 48s48-21.5 48-48V304c0-26.5-21.5-48-48-48zM96 432v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V432c0-8.8 7.2-16 16-16s16 7.2 16 16zm-64 0v32c0 26.5 21.5 48 48 48s48-21.5 48-48V432c0-26.5-21.5-48-48-48s-48 21.5-48 48z\"]\n};\nvar faSignalAlt3 = faSignalBarsGood;\nvar faCactus = {\n prefix: 'fal',\n iconName: 'cactus',\n icon: [512, 512, [127797], \"f8a7\", \"M320 464c0 8.8-7.2 16-16 16H208c-8.8 0-16-7.2-16-16V320 288 256 224 96c0-35.3 28.7-64 64-64s64 28.7 64 64V352v32 32 32 16zm32-112V96c0-53-43-96-96-96s-96 43-96 96V224H112c-8.8 0-16-7.2-16-16V144c0-26.5-21.5-48-48-48S0 117.5 0 144v64c0 61.9 50.1 112 112 112h48V464c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V448h48c61.9 0 112-50.1 112-112V272c0-26.5-21.5-48-48-48s-48 21.5-48 48v64c0 8.8-7.2 16-16 16H352zm0 32h48c26.5 0 48-21.5 48-48V272c0-8.8 7.2-16 16-16s16 7.2 16 16v64c0 44.2-35.8 80-80 80H352V384zM112 288c-44.2 0-80-35.8-80-80V144c0-8.8 7.2-16 16-16s16 7.2 16 16v64c0 26.5 21.5 48 48 48h48v32H112zM256 144a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm16 240a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faLightbulbGear = {\n prefix: 'fal',\n iconName: 'lightbulb-gear',\n icon: [576, 512, [], \"e5fd\", \"M336 176c0 13.7-1.9 27-5.5 39.5c3.3 1 6.5 2.3 9.5 4v-.9c0-17.8 10.2-35.6 28-43.3C367.6 78.4 289 0 192 0C94.8 0 16 78.8 16 176c0 37.3 11.6 71.9 31.4 100.3c5 7.2 10.2 14.3 15.4 21.4l0 0 0 0 0 0c12.3 16.8 24.6 33.7 34.5 51.8c5.9 10.8 9.6 22.5 11.8 34.5h32.4c-2.5-16.6-7.3-33.7-16.2-49.9c-10.9-20-25.3-39.7-38-57.1l0 0c-4.9-6.7-9.5-13-13.6-19C57.5 234.8 48 206.6 48 176C48 96.5 112.5 32 192 32s144 64.5 144 144zM258.5 443c-5.1-8.8-9.3-17.8-12.8-27h-123c-5.9 0-10.7 4.8-10.7 10.7V432c0 44.2 35.8 80 80 80c35.2 0 65.1-22.8 75.8-54.4c-3.3-4.7-6.4-9.5-9.4-14.6zM192 96c8.8 0 16-7.2 16-16s-7.2-16-16-16C130.1 64 80 114.1 80 176c0 8.8 7.2 16 16 16s16-7.2 16-16c0-44.2 35.8-80 80-80zM146.7 448h90.5c-6.6 18.6-24.4 32-45.3 32s-38.7-13.4-45.3-32zM399.3 239.8H433c3 16.6 13.9 29.5 26.5 36.7c12.9 7.4 30 9.9 45.9 3.6l17.2 30.5c-12.8 11.4-18.5 27.7-18.5 42.4s5.7 31 18.5 42.4L505.3 426c-15.9-6.3-32.9-3.7-45.9 3.6c-12.6 7.2-23.5 20.2-26.5 36.7H399.3c-3.1-16.6-14-29.5-26.6-36.7c-13-7.4-30-9.9-46-3.7l-17.2-30.5c12.8-11.4 18.5-27.7 18.5-42.4s-5.7-31-18.5-42.4l17.2-30.5c15.9 6.3 33 3.7 46-3.7c12.6-7.2 23.6-20.1 26.6-36.7zm43.5-32H389.4c-11.7 0-21.3 9.5-21.3 21.3v1.4c0 7.6-4.6 14.4-11.3 18.2c-6.6 3.7-14.7 4.2-21.2 .3l-1.6-1c-10.7-6.3-24.4-2.6-30.5 8.2L277 303.1c-5.7 10.2-2.3 23.1 7.8 29c7.3 4.3 11.2 12.6 11.2 21s-3.9 16.7-11.2 21c-10 5.9-13.5 18.8-7.8 29L303.5 450c6.1 10.8 19.9 14.5 30.5 8.2l1.6-1c6.5-3.9 14.6-3.4 21.2 .3c6.6 3.8 11.3 10.6 11.3 18.2v1.4c0 11.7 9.5 21.3 21.3 21.3h53.4c11.8 0 21.4-9.6 21.4-21.4v-1.6c0-7.5 4.6-14.2 11.1-18c6.5-3.7 14.5-4.2 21-.3l1.8 1c10.7 6.3 24.4 2.6 30.5-8.2L555 403.1c5.7-10.2 2.3-23-7.8-29c-7.3-4.3-11.2-12.6-11.2-21s3.9-16.7 11.2-21c10-5.9 13.5-18.8 7.8-29l-26.4-46.9c-6.1-10.8-19.9-14.5-30.5-8.2l-1.8 1c-6.5 3.8-14.5 3.4-21-.3c-6.5-3.7-11.1-10.4-11.1-18v-1.6c0-11.8-9.6-21.4-21.4-21.4zM416.1 409.1a56 56 0 1 0 0-112 56 56 0 1 0 0 112zm-24-56a24 24 0 1 1 48.1 0 24 24 0 1 1 -48.1 0z\"]\n};\nvar faMaximize = {\n prefix: 'fal',\n iconName: 'maximize',\n icon: [512, 512, [\"expand-arrows-alt\"], \"f31e\", \"M50.2 196.5l.6 .2c8.2 2 16.8-.4 22.8-6.3l47.1-47.1L233.4 256 120.7 368.7 73.6 321.6c-6-6-14.6-8.4-22.8-6.3l-.6 .2C39.5 318.1 32 327.7 32 338.7V456c0 13.3 10.7 24 24 24l117.3 0c11 0 20.6-7.5 23.3-18.2l.2-.6c2-8.2-.4-16.8-6.3-22.8l-47.1-47.1L256 278.6 368.7 391.3l-47.1 47.1c-6 6-8.4 14.6-6.3 22.8l.2 .6c2.7 10.7 12.3 18.2 23.3 18.2L456 480c13.3 0 24-10.7 24-24l0-117.3c0-11-7.5-20.6-18.2-23.3l-.6-.2c-8.2-2-16.8 .4-22.8 6.3l-47.1 47.1L278.6 256 391.3 143.3l47.1 47.1c6 6 14.6 8.4 22.8 6.3l.6-.2c10.7-2.7 18.2-12.3 18.2-23.3L480 56c0-13.3-10.7-24-24-24H338.7c-11 0-20.6 7.5-23.3 18.2l-.2 .6c-2 8.2 .4 16.8 6.3 22.8l47.1 47.1L256 233.4 143.3 120.7l47.1-47.1c6-6 8.4-14.6 6.3-22.8l-.2-.6C193.9 39.5 184.3 32 173.3 32H56C42.7 32 32 42.7 32 56V173.3c0 11 7.5 20.6 18.2 23.3zM64 154.7L64 64l90.7 0L64 154.7zM154.7 448L64 448l0-90.7L154.7 448zM448 154.7L357.3 64 448 64l0 90.7zM357.3 448L448 357.3l0 90.7-90.7 0z\"]\n};\nvar faExpandArrowsAlt = faMaximize;\nvar faChargingStation = {\n prefix: 'fal',\n iconName: 'charging-station',\n icon: [576, 512, [], \"f5e7\", \"M256 32c17.7 0 32 14.3 32 32V480H64V64c0-17.7 14.3-32 32-32H256zM32 64V480l-16 0c-8.8 0-16 7.2-16 16s7.2 16 16 16H32 64 288h32 16c8.8 0 16-7.2 16-16s-7.2-16-16-16l-16 0V288h16c26.5 0 48 21.5 48 48v48c0 35.3 28.7 64 64 64s64-28.7 64-64V270.4c36.5-7.4 64-39.7 64-78.4V144c0-8.8-7.2-16-16-16H544V80c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H480V80c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H432c-8.8 0-16 7.2-16 16v48c0 38.7 27.5 71 64 78.4V384c0 17.7-14.3 32-32 32s-32-14.3-32-32V336c0-44.2-35.8-80-80-80H320V64c0-35.3-28.7-64-64-64H96C60.7 0 32 28.7 32 64zm432 96h64 16v32c0 26.5-21.5 48-48 48s-48-21.5-48-48V160h16zM204.8 121.6c5.3-7.1 3.9-17.1-3.2-22.4s-17.1-3.9-22.4 3.2l-72 96c-3.6 4.8-4.2 11.3-1.5 16.8s8.3 8.8 14.3 8.8h80l-52.8 70.4c-5.3 7.1-3.9 17.1 3.2 22.4s17.1 3.9 22.4-3.2l72-96c3.6-4.8 4.2-11.3 1.5-16.8s-8.3-8.8-14.3-8.8H152l52.8-70.4z\"]\n};\nvar faShapes = {\n prefix: 'fal',\n iconName: 'shapes',\n icon: [512, 512, [\"triangle-circle-square\"], \"f61f\", \"M411.4 175.5c5.9 9.9 6.1 22.2 .4 32.2s-16.3 16.2-27.8 16.2H192c-11.5 0-22.2-6.2-27.8-16.2s-5.5-22.3 .4-32.2l96-160C266.3 5.9 276.8 0 288 0s21.7 5.9 27.4 15.5l96 160zM288 32L192 192H384L288 32zM472 304H328c-4.4 0-8 3.6-8 8V456c0 4.4 3.6 8 8 8H472c4.4 0 8-3.6 8-8V312c0-4.4-3.6-8-8-8zM328 272H472c22.1 0 40 17.9 40 40V456c0 22.1-17.9 40-40 40H328c-22.1 0-40-17.9-40-40V312c0-22.1 17.9-40 40-40zM224 384A96 96 0 1 0 32 384a96 96 0 1 0 192 0zM0 384a128 128 0 1 1 256 0A128 128 0 1 1 0 384z\"]\n};\nvar faTriangleCircleSquare = faShapes;\nvar faPlaneTail = {\n prefix: 'fal',\n iconName: 'plane-tail',\n icon: [512, 512, [], \"e22c\", \"M47.7 32H94.1c12.5 0 24.4 4.8 33.4 13.5L345 256H264.4c-7 0-13.9 .9-20.6 2.7L85.9 300.8 32 51.4C29.9 41.4 37.5 32 47.7 32zM.7 58.1L55 309l-6.7 1.8C19.8 318.4 0 344.2 0 373.7c0 27.3 17 51.7 42.7 61.1l197.1 72.3c8.8 3.2 18.1 4.9 27.5 4.9H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H267.4c-5.6 0-11.2-1-16.5-2.9L53.7 404.8C40.7 400 32 387.6 32 373.7c0-15 10.1-28.1 24.6-32L252 289.6c4-1.1 8.2-1.6 12.4-1.6H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H390.3l.4-.4-11.5-11.1L149.7 22.5C134.8 8.1 114.9 0 94.1 0H47.7C17.1 0-5.7 28.2 .7 58.1zM208 352c-8.8 0-16 7.2-16 16s7.2 16 16 16H368c8.8 0 16-7.2 16-16s-7.2-16-16-16H208z\"]\n};\nvar faGaugeSimpleMax = {\n prefix: 'fal',\n iconName: 'gauge-simple-max',\n icon: [512, 512, [\"tachometer-fastest\"], \"f62b\", \"M256 480a224 224 0 1 0 0-448 224 224 0 1 0 0 448zM256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zm0 384a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0 32c-35.3 0-64-28.7-64-64s28.7-64 64-64c17.5 0 33.4 7 44.9 18.4l106.9-64.1c7.6-4.5 17.4-2.1 22 5.5s2.1 17.4-5.5 22L317.4 333.8c1.7 5.8 2.6 11.9 2.6 18.2c0 35.3-28.7 64-64 64z\"]\n};\nvar faTachometerFastest = faGaugeSimpleMax;\nvar faCircleU = {\n prefix: 'fal',\n iconName: 'circle-u',\n icon: [512, 512, [], \"e127\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM176 160c0-8.8-7.2-16-16-16s-16 7.2-16 16V288c0 61.9 50.1 112 112 112s112-50.1 112-112V160c0-8.8-7.2-16-16-16s-16 7.2-16 16V288c0 44.2-35.8 80-80 80s-80-35.8-80-80V160z\"]\n};\nvar faShieldSlash = {\n prefix: 'fal',\n iconName: 'shield-slash',\n icon: [640, 512, [], \"e24b\", \"M25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4zM418 414.9c-23.5 22.9-51.8 43.3-85.4 59.4c-7.9 3.8-17.2 3.8-25.1 0C169.2 408.2 122.9 270.7 113.8 174.7L80.1 148.2c2.6 100.7 45.8 274.7 213.5 355c16.7 8 36.1 8 52.8 0c38.6-18.5 70.6-41.9 97-68.2l-25.4-20zM295 7.8L174 59.2l28.6 22.6L307.5 37.3c8-3.4 17-3.4 25 0l176.7 75c11.3 4.8 18.9 15.5 18.8 27.6c-.2 45.8-9.6 108.6-37.1 169.6l25.8 20.4c32.5-68.7 43-139.7 43.3-189.8c.1-26.2-16.3-47.9-38.3-57.2L345 7.8c-16-6.8-34-6.8-50 0z\"]\n};\nvar faSquarePhoneHangup = {\n prefix: 'fal',\n iconName: 'square-phone-hangup',\n icon: [448, 512, [\"phone-square-down\"], \"e27a\", \"M384 64c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32H384zm64 32c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96zM81.1 246.7c78.8-72.9 207-72.9 285.7 0c.8 .7 1 1.4 1.1 1.9s0 1.1-.4 1.8l-21.7 35.2c-1 1.7-4.1 3.2-7.4 1.9l-46.2-17.6c-2.4-.9-2.9-2.6-2.9-3.4l2.8-18.1c1.2-7.8-3.4-15.3-10.9-17.7c-37-11.9-77.4-11.9-114.3 0c-7.5 2.4-12.1 9.9-10.9 17.7l2.8 18.1c0 .9-.5 2.5-2.9 3.4l-46.2 17.6c-3.3 1.2-6.4-.3-7.4-1.9L80.4 250.4c-.4-.7-.5-1.2-.4-1.8s.3-1.2 1.1-1.9zm307.5-23.5c-91-84.3-238.2-84.3-329.2 0c-12.3 11.4-15.1 29.5-6.2 44l21.7 35.2c9.6 15.6 29.4 21.4 46 15l46.2-17.6c14.9-5.7 25.1-20.3 23.3-36.9c0-.2-.1-.5-.1-.7l-.7-4.5c22.5-5.1 46.1-5.1 68.6 0l-.7 4.5c0 .2-.1 .5-.1 .7c-1.8 16.6 8.5 31.3 23.3 36.9L327 317.5c16.6 6.3 36.4 .6 46-15l21.7-35.2c8.9-14.4 6.1-32.6-6.2-44z\"]\n};\nvar faPhoneSquareDown = faSquarePhoneHangup;\nvar faArrowUpLeft = {\n prefix: 'fal',\n iconName: 'arrow-up-left',\n icon: [384, 512, [], \"e09d\", \"M48 96c-8.8 0-16 7.2-16 16V336c0 8.8 7.2 16 16 16s16-7.2 16-16V150.6L324.7 411.3c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L86.6 128H272c8.8 0 16-7.2 16-16s-7.2-16-16-16H48z\"]\n};\nvar faTransporter1 = {\n prefix: 'fal',\n iconName: 'transporter-1',\n icon: [512, 512, [], \"e043\", \"M256 80a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-80a56 56 0 1 1 0 112A56 56 0 1 1 256 0zM464 128c8.8 0 16 7.2 16 16v16h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H480v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V192H432c-8.8 0-16-7.2-16-16s7.2-16 16-16h16V144c0-8.8 7.2-16 16-16zM48 320c8.8 0 16 7.2 16 16v16H80c8.8 0 16 7.2 16 16s-7.2 16-16 16H64v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V384H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H32V336c0-8.8 7.2-16 16-16zm80 176c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-26.5 21.5-48 48-48H368c26.5 0 48 21.5 48 48c0 8.8-7.2 16-16 16s-16-7.2-16-16s-7.2-16-16-16H144c-8.8 0-16 7.2-16 16zM320 193.1V288H288V176.2c-1.6-.2-3.1-.2-4.7-.2H228.7c-1.6 0-3.2 .1-4.7 .2V288H192V193.1c-.5 .6-1 1.3-1.5 1.9l-65.7 86.7c-5.3 7-15.4 8.4-22.4 3.1s-8.4-15.4-3.1-22.4L165 175.7c15.1-19.9 38.7-31.7 63.7-31.7h54.6c25 0 48.6 11.7 63.7 31.7l65.7 86.7c5.3 7 4 17.1-3.1 22.4s-17.1 4-22.4-3.1L321.5 195c-.5-.7-1-1.3-1.5-1.9zM176 320H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faPeanuts = {\n prefix: 'fal',\n iconName: 'peanuts',\n icon: [640, 512, [129372], \"e431\", \"M297.7 160.7c4.7-18.7 3.4-38.9-5.1-57.9L269.9 51.9c-7.5-16.9-27.4-24.5-44.3-17L174.7 57.6c-11.1 4.9-20.7 11.8-28.5 20.1l0 0c-7.8 8.2-14.2 18-18.5 29.3l-.1 .4 0 0c-4.3 11.3-6.1 22.8-5.8 34.1l0 0c.2 6.2 1 12.5 2.5 18.7l.1 .2 .1 .2c4.9 21.3 9.1 50.3-1.8 78.6s-33.4 47-51.3 59.6l-.2 .1-.2 .1c-5.3 3.6-10.1 7.7-14.3 12.2l0 0c-7.8 8.2-14.2 18.1-18.6 29.5c-4.4 11.4-6.2 23-5.9 34.3l0 0c.3 11.3 2.8 22.9 7.7 34l22.7 50.9c7.4 16.6 26.5 24.2 43.2 17.5c4.4 10 10.3 19.2 17.3 27.3l-3.2 1.4c-33.1 14.7-71.8-.2-86.6-33.2L10.5 422.2C3.8 407.2 .4 391.5 0 376c-.4-15.5 2.2-31.3 8-46.6C14 314 22.7 300.5 33.4 289.3c5.8-6.1 12.3-11.7 19.5-16.6c16.7-11.8 32.5-25.8 39.8-44.9s5-40.1 .4-60c-2.1-8.4-3.2-17-3.4-25.4c-.4-15.4 2.1-31.1 7.9-46.4l.2-.5c5.9-15.3 14.5-28.7 25.2-39.9c10.7-11.2 23.6-20.6 38.7-27.3L212.6 5.7c33.1-14.7 71.8 .1 86.6 33.2l22.5 50.6c-2.9 8.4-5.1 17.1-6.7 26c-3.9 19.7-9.2 34.7-17.3 45.3zm-42.3 89.1l-.2 0c-8.2 1.5-16 3.8-23.5 6.9l0 0c-13.7 5.6-26.5 14-37.7 25.2c-11.2 11.2-19.5 24-25.2 37.6l0 0c-5.7 13.6-8.8 28.6-8.8 44.4v68c0 26.5 21.5 48 48 48h68c32.4 0 61.6-13.2 82.7-34.6l0 0c10.8-11 19-23.6 24.5-37l0 0c3.1-7.5 5.4-15.3 6.9-23.5l0-.2 0-.2c5.1-25.9 14.4-58.5 39-83.1s57.2-33.9 83.1-39l.2 0 .2 0c8.2-1.5 16-3.8 23.5-6.9l0 0c13.7-5.6 26.5-14 37.7-25.2c11.2-11.2 19.5-24 25.2-37.6l0 0c5.7-13.6 8.8-28.6 8.8-44.4V80c0-26.5-21.5-48-48-48H492c-32.4 0-61.6 13.2-82.7 34.6l0 0c-10.8 11-19 23.6-24.5 37l0 0c-3.1 7.5-5.4 15.3-6.9 23.5l0 .2-.1 .2c-5.1 25.9-14.4 58.5-39 83.1s-57.2 33.9-83.1 39l-.2 0zm126.1 218C354.7 495.1 317.3 512 276 512H208c-44.2 0-80-35.8-80-80V364c0-20.1 4-39.2 11.2-56.7c7.2-17.5 17.9-33.8 32.1-48c14.2-14.2 30.6-24.9 48.1-32.1c9.5-4 19.6-6.9 30-8.8c24.5-4.8 49.1-12.6 66.7-30.3s25.4-42.2 30.3-66.7c1.9-10.4 4.9-20.5 8.8-30c7.1-17.1 17.5-33.2 31.3-47.2C413.3 16.9 450.7 0 492 0h68c44.2 0 80 35.8 80 80v68c0 20.1-4 39.2-11.2 56.7c-7.2 17.5-17.9 33.8-32.1 48c-14.2 14.2-30.6 24.9-48.1 32.1c-9.5 4-19.6 6.9-30 8.8c-24.5 4.8-49.1 12.6-66.7 30.3s-25.4 42.2-30.3 66.7c-1.9 10.4-4.9 20.5-8.8 30c-7.1 17.1-17.5 33.2-31.3 47.2zM544 108.8a19.2 19.2 0 1 1 0 38.4 19.2 19.2 0 1 1 0-38.4zm-64 64a19.2 19.2 0 1 1 0 38.4 19.2 19.2 0 1 1 0-38.4zm-224 224a19.2 19.2 0 1 1 0 38.4 19.2 19.2 0 1 1 0-38.4zM300.8 416a19.2 19.2 0 1 1 38.4 0 19.2 19.2 0 1 1 -38.4 0zM544 172.8a19.2 19.2 0 1 1 0 38.4 19.2 19.2 0 1 1 0-38.4zM300.8 352a19.2 19.2 0 1 1 38.4 0 19.2 19.2 0 1 1 -38.4 0z\"]\n};\nvar faShuffle = {\n prefix: 'fal',\n iconName: 'shuffle',\n icon: [512, 512, [128256, \"random\"], \"f074\", \"M427.3 36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L457.4 112H400 344c-20.1 0-39.1 9.5-51.2 25.6L244 202.7l20 26.7 54.4-72.5c6-8.1 15.5-12.8 25.6-12.8h56 57.4l-52.7 52.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l80-80c6.2-6.2 6.2-16.4 0-22.6l-80-80zM124.8 361.6c-3 4-7.8 6.4-12.8 6.4H16c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c15.1 0 29.3-7.1 38.4-19.2L204 309.3l-20-26.7-59.2 78.9zM404.7 475.3c6.2 6.2 16.4 6.2 22.6 0l80-80c6.2-6.2 6.2-16.4 0-22.6l-80-80c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L457.4 368H400 344c-10.1 0-19.6-4.7-25.6-12.8l-168-224C141.3 119.1 127.1 112 112 112H16c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c5 0 9.8 2.4 12.8 6.4l168 224C304.9 390.5 323.9 400 344 400h56 57.4l-52.7 52.7c-6.2 6.2-6.2 16.4 0 22.6z\"]\n};\nvar faRandom = faShuffle;\nvar faPersonRunning = {\n prefix: 'fal',\n iconName: 'person-running',\n icon: [448, 512, [127939, \"running\"], \"f70c\", \"M280 80a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-80a56 56 0 1 1 0 112A56 56 0 1 1 280 0zM140.6 116.4c12.7-3.2 26.1-3.2 38.8 0L274 140c16.6 4.2 29.8 16.9 34.5 33.4l20.3 71c2 6.9 8.2 11.6 15.4 11.6H400c8.8 0 16 7.2 16 16s-7.2 16-16 16H344.1c-21.4 0-40.3-14.2-46.2-34.8l-13.6-47.7L247.2 317.1c-.2 .5-.3 .9-.5 1.3l37.5 21.1c13.6 7.6 19.7 23.9 14.5 38.5L255.1 501.3c-2.9 8.3-12.1 12.7-20.4 9.8s-12.7-12.1-9.8-20.4l43.5-123.3-93.3-52.5c-20-11.3-29.3-35.2-22-57l35.4-106.2-16.9-4.2c-7.6-1.9-15.6-1.9-23.3 0l-1.5 .4c-7.4 1.8-14.2 5.4-20 10.4L74.5 204c-6.7 5.8-16.8 5.1-22.6-1.5s-5.1-16.8 1.5-22.6l52.4-45.8c9.6-8.4 21-14.3 33.3-17.4l1.5-.4zm79.1 43.1L183.5 268c-2.4 7.3 .7 15.2 7.3 19l27.5 15.4 44.1-132.3-42.7-10.7zM101.3 384L130 314.1c5.9 10 14.1 18.7 24.1 25.4l-23.3 56.6c-4.9 12-16.6 19.8-29.6 19.8H16c-8.8 0-16-7.2-16-16s7.2-16 16-16h85.3z\"]\n};\nvar faRunning = faPersonRunning;\nvar faMobileRetro = {\n prefix: 'fal',\n iconName: 'mobile-retro',\n icon: [320, 512, [], \"e527\", \"M256 32c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H256zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H256c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM224 160v64H96V160H224zM96 128c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H224c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32H96zM80 352a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm24 56a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm56-56a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm24 56a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm56-56a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm24 56a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM128 64c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H128z\"]\n};\nvar faGripLinesVertical = {\n prefix: 'fal',\n iconName: 'grip-lines-vertical',\n icon: [192, 512, [], \"f7a5\", \"M32 32c-8.8 0-16 7.2-16 16l0 416c0 8.8 7.2 16 16 16s16-7.2 16-16L48 48c0-8.8-7.2-16-16-16zm128 0c-8.8 0-16 7.2-16 16l0 416c0 8.8 7.2 16 16 16s16-7.2 16-16l0-416c0-8.8-7.2-16-16-16z\"]\n};\nvar faBinBottlesRecycle = {\n prefix: 'fal',\n iconName: 'bin-bottles-recycle',\n icon: [640, 512, [], \"e5f6\", \"M384 16c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H400c-8.8 0-16 7.2-16 16zM352 192c0-28.1-12.1-53.4-31.4-71c-17.1-15.5-39.7-25-64.6-25H128c-53 0-96 43-96 96H64c0-35.3 28.7-64 64-64H256c35.3 0 64 28.7 64 64h32zm223.1 0c-1.2-9.7-4.6-18.7-9.6-26.5c6.4-9.5 10.1-21 10.1-33.3c0-23.2-13.4-44.3-34.4-54.2L528 71.8c-11-5.1-23-7.8-35.1-7.8H402.3c-12.1 0-24.1 2.7-35.1 7.8L354.1 78c-7.2 3.4-13.5 8-18.6 13.6c8.4 6.7 16 14.4 22.5 22.9c2.6-3.2 5.9-5.8 9.7-7.6l13.2-6.2c6.7-3.2 14.1-4.8 21.5-4.8h90.6c7.4 0 14.8 1.6 21.5 4.8l13.1 6.2c9.8 4.6 16 14.4 16 25.2c0 5.8-1.7 11.1-4.7 15.5c-7.1 10.6-7.2 24.4-.4 35.1c1.8 2.8 3.2 5.9 4 9.2h32.5zm21.2 32H577.7 62.3 43.7 33.9 16c-8.8 0-16 7.2-16 16s7.2 16 16 16H33.9L55.7 441.3c4.7 40.3 38.9 70.7 79.5 70.7H504.9c40.6 0 74.7-30.4 79.5-70.7L606.1 256H624c8.8 0 16-7.2 16-16s-7.2-16-16-16H606.1h-9.8zM87.5 437.6L66.1 256H573.9L552.5 437.6c-2.8 24.2-23.3 42.4-47.7 42.4H135.1c-24.3 0-44.8-18.2-47.7-42.4zM319.9 320c4.6 0 9 2.3 11.5 6.2l8.5 12.9c4.8 7.3 14.5 9.4 21.8 4.8c7.6-4.8 9.8-14.9 4.9-22.4l-8.5-12.9c-8.5-12.9-22.8-20.6-38.2-20.6c-15.3 0-29.6 7.7-38.1 20.4l-7.6 11.4c-5 7.5-2.8 17.7 4.8 22.4c7.3 4.6 17 2.5 21.8-4.7l7.6-11.4c2.6-3.8 6.9-6.1 11.5-6.1zm-59.4 48.4c-7.3-4.6-17-2.5-21.8 4.7l-7.9 11.9c-4.4 6.7-6.8 14.5-6.8 22.5c0 22.4 18.2 40.6 40.6 40.6h25.2c8.8 0 16-7.2 16-16s-7.2-16-16-16H264.6c-4.7 0-8.6-3.8-8.6-8.6c0-1.7 .5-3.3 1.4-4.7l7.9-11.9c5-7.5 2.8-17.7-4.8-22.4zM337.7 432c0 8.8 7.2 16 16 16h20.9c22.4 0 40.6-18.2 40.6-40.6c0-7.9-2.3-15.7-6.7-22.4l-6.6-10.1c-4.8-7.3-14.5-9.4-21.8-4.8c-7.6 4.8-9.8 14.9-4.9 22.4l6.6 10.1c.9 1.4 1.4 3.1 1.4 4.7c0 4.8-3.9 8.6-8.6 8.6H353.7c-8.8 0-16 7.2-16 16zM160 0c-17.7 0-32 14.3-32 32c-8.8 0-16 7.2-16 16s7.2 16 16 16h16c8.8 0 16-7.2 16-16V32h64V48c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16s-7.2-16-16-16c0-17.7-14.3-32-32-32H160z\"]\n};\nvar faArrowUpFromSquare = {\n prefix: 'fal',\n iconName: 'arrow-up-from-square',\n icon: [512, 512, [], \"e09c\", \"M267.3 4.7c-6.2-6.2-16.4-6.2-22.6 0l-104 104c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L240 54.6V320c0 8.8 7.2 16 16 16s16-7.2 16-16V54.6l76.7 76.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-104-104zM64 32C28.7 32 0 60.7 0 96V448c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H416c-8.8 0-16 7.2-16 16s7.2 16 16 16h32c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32H96c8.8 0 16-7.2 16-16s-7.2-16-16-16H64z\"]\n};\nvar faFileDashedLine = {\n prefix: 'fal',\n iconName: 'file-dashed-line',\n icon: [640, 512, [\"page-break\"], \"f877\", \"M480 448c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V352H128v96c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V352H480v96zm0-256v64h32V163.9c0-12.7-5.1-24.9-14.1-33.9L382.1 14.1c-9-9-21.2-14.1-33.9-14.1H192c-35.3 0-64 28.7-64 64V256h32V64c0-17.7 14.3-32 32-32H320V144c0 26.5 21.5 48 48 48H480zm-.5-32H368c-8.8 0-16-7.2-16-16V32.5c2.8 .7 5.4 2.1 7.4 4.2L475.3 152.6c2.1 2.1 3.5 4.6 4.2 7.4zM48 288c-8.8 0-16 7.2-16 16s7.2 16 16 16H176c8.8 0 16-7.2 16-16s-7.2-16-16-16H48zm224 0c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H272zm192 0c-8.8 0-16 7.2-16 16s7.2 16 16 16H592c8.8 0 16-7.2 16-16s-7.2-16-16-16H464z\"]\n};\nvar faPageBreak = faFileDashedLine;\nvar faBracketCurlyRight = {\n prefix: 'fal',\n iconName: 'bracket-curly-right',\n icon: [256, 512, [], \"7d\", \"M192 112c0-44.2-35.8-80-80-80H48c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c26.5 0 48 21.5 48 48v53.5c0 21.2 8.4 41.6 23.4 56.6L217.4 256l-33.9 33.9c-15 15-23.4 35.4-23.4 56.6V400c0 26.5-21.5 48-48 48H48c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c44.2 0 80-35.8 80-80V346.5c0-12.7 5.1-24.9 14.1-33.9l45.3-45.3c3-3 4.7-7.1 4.7-11.3s-1.7-8.3-4.7-11.3l-45.3-45.3c-9-9-14.1-21.2-14.1-33.9V112z\"]\n};\nvar faSpider = {\n prefix: 'fal',\n iconName: 'spider',\n icon: [512, 512, [128375], \"f717\", \"M158.3 23.2c4-7.9 .7-17.5-7.2-21.5s-17.5-.7-21.5 7.2L83.6 101c-8.9 17.9-5.9 39.5 7.8 54.1l71.1 76.5L60.8 204.9c-5.2-1.4-9.4-5.3-11.1-10.4L31.2 138.9c-2.8-8.4-11.9-12.9-20.2-10.1S-2 140.7 .8 149.1l18.5 55.6C24.5 220 37 231.8 52.7 235.9L129.1 256 52.7 276.1C37 280.2 24.5 292 19.3 307.4L.8 362.9c-2.8 8.4 1.7 17.4 10.1 20.2s17.4-1.7 20.2-10.1l18.5-55.6c1.7-5.1 5.9-9 11.1-10.4l84-22.1L85 368.7c-9.4 13.1-11.5 30.1-5.7 45.1l33.8 87.9c3.2 8.2 12.4 12.4 20.7 9.2s12.4-12.4 9.2-20.7l-33.8-87.9c-1.9-5-1.2-10.7 1.9-15L144.1 341c2.6 59.5 51.7 107 111.9 107s109.3-47.5 111.9-107L401 387.3c3.1 4.4 3.8 10 1.9 15l-33.8 87.9c-3.2 8.2 .9 17.5 9.2 20.7s17.5-.9 20.7-9.2l33.8-87.9c5.8-15.1 3.6-32-5.7-45.1L367.2 285l84 22.1c5.2 1.4 9.4 5.3 11.1 10.4l18.5 55.6c2.8 8.4 11.9 12.9 20.2 10.1s12.9-11.9 10.1-20.2l-18.5-55.6c-5.1-15.4-17.7-27.1-33.3-31.2L382.9 256l76.5-20.1c15.7-4.1 28.2-15.9 33.3-31.2l18.5-55.6c2.8-8.4-1.7-17.4-10.1-20.2s-17.4 1.7-20.2 10.1l-18.5 55.6c-1.7 5.1-5.9 9-11.1 10.4L349.6 231.7l71.1-76.5c13.6-14.7 16.7-36.2 7.8-54.1L382.3 8.8c-4-7.9-13.6-11.1-21.5-7.2s-11.1 13.6-7.2 21.5l46.1 92.2c3 6 2 13.2-2.6 18L336 199.3V152c0-32.2-19-59.9-46.3-72.6c-7.7-3.6-16.8-.5-20.8 6.9L256 110.3 243.1 86.3c-4-7.5-13.2-10.5-20.8-6.9C195 92.1 176 119.8 176 152v47.3l-61.2-65.9c-4.5-4.9-5.6-12.1-2.6-18l46.1-92.2zm130.4 93.8c9.4 8.8 15.2 21.3 15.2 35.1V256v0l0 .4c0 4.6 1.9 8.9 5.3 12C325.7 283 336 304.3 336 328v8c0 44.2-35.8 80-80 80s-80-35.8-80-80v-8c0-23.7 10.3-45 26.7-59.6c3.4-3 5.3-7.4 5.3-12l0-.4v0V152c0-13.8 5.9-26.3 15.2-35.1l18.7 34.7c2.8 5.2 8.2 8.4 14.1 8.4s11.3-3.2 14.1-8.4l18.7-34.7z\"]\n};\nvar faClockThree = {\n prefix: 'fal',\n iconName: 'clock-three',\n icon: [512, 512, [], \"e356\", \"M480 256A224 224 0 1 1 32 256a224 224 0 1 1 448 0zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM240 112V256c0 8.8 7.2 16 16 16H368c8.8 0 16-7.2 16-16s-7.2-16-16-16H272V112c0-8.8-7.2-16-16-16s-16 7.2-16 16z\"]\n};\nvar faHandsBound = {\n prefix: 'fal',\n iconName: 'hands-bound',\n icon: [640, 512, [], \"e4f9\", \"M16.8 48C16.8 21.2 38.7-.4 65.5 0c26 .4 47.2 23.7 47.2 49.7L112 154.7 173.9 228c7.1 8.4 20.1-1.8 13.6-10.7l-28.6-39.2c-13.4-18.5-13.1-44.6 2.5-61.4c25.5-27.4 60.5-15.2 74.4 4l42.3 58.4c16.6 22.1 25.6 49.1 25.6 76.9V352H336V255.9c0-27.7 9-54.7 25.6-76.9l42.3-58.4c13.9-19.2 48.9-31.4 74.4-4c15.6 16.7 15.9 42.9 2.5 61.4l-28.6 39.2c-6.5 9 6.5 19.1 13.6 10.7l61.9-73.4-.7-104.9c0-26 21.2-49.4 47.2-49.7c26.8-.4 48.7 21.2 48.7 48l.8 138.2c0 11-3.7 21.5-10.5 30L506.4 349.9c-.5 .7-1.1 1.4-1.6 2.1H528c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16h22.9c-.5-.7-1-1.4-1.6-2.1L26.5 216.2c-6.7-8.5-10.5-19-10.5-30L16.8 48zM170.2 352H271.9l-.1-96.1c0-20.6-6.7-41.1-19.5-58L210 139.6c-5.4-7.4-15.4-8.7-22.3-3.5c-7.9 5.6-8.4 15.7-3.5 22.2l30.5 42.2c.2 .2 .5 .5 .5 .8c26.1 39.7-33.8 86.7-70.7 42.4L87.4 175.2c-4.8-5.8-7.5-13.1-7.4-20.7l.6-105.9c0-22.4-32-21.7-32-.7L48 186.2c0 3.6 1.2 7.2 3.5 10L158.3 329.9c5 6.2 9 13.9 11.9 22.1zm311.2-22.1L588.3 196.2c2.2-2.7 3.5-6.4 3.5-10l-.7-138.3c0-21-32-21.6-32 .7l.6 105.9c0 7.5-2.6 14.9-7.4 20.7l-57.1 68.5c-36.8 44.4-96.8-2.6-70.7-42.4c0-.2 .2-.5 .5-.8l30.5-42.2c4.9-6.5 4.4-16.6-3.5-22.2c-7-5.2-17-3.9-22.3 3.5l-42.3 58.4c-12.7 16.9-19.5 37.4-19.5 58l-.1 96.1H469.6c2.9-8.2 6.9-15.9 11.9-22.1zM112 416H528c8.8 0 16 7.2 16 16s-7.2 16-16 16H496v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V448H368v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V448H304v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V448H176v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V448H112c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faScalpelLineDashed = {\n prefix: 'fal',\n iconName: 'scalpel-line-dashed',\n icon: [576, 512, [\"scalpel-path\"], \"f61e\", \"M441.4 32c-11.4 0-22.2 5-29.5 13.7L234.4 256h98.2c4.7 0 9.2-2.1 12.2-5.7L470 102c6.5-7.7 10-17.4 10-27.5v-4C480 49.3 462.7 32 441.4 32zm-54-6.9C400.8 9.2 420.6 0 441.4 0c39 0 70.6 31.6 70.6 70.6v4c0 17.6-6.2 34.6-17.6 48.1L369.3 271c-9.1 10.8-22.5 17-36.7 17H200c-6.2 0-11.9-3.6-14.5-9.3s-1.7-12.3 2.3-17.1L387.4 25.1zM169.4 320h45.3L59.7 474.9c29.2-5 68.3-14.1 106.2-29.7C227.3 419.9 279.2 380.5 287 320h32.2c-8 80.6-76 128-141.1 154.8C108.1 503.6 34 512 16 512c-6.5 0-12.3-3.9-14.8-9.9s-1.1-12.9 3.5-17.4L169.4 320zM304 480c8.8 0 16 7.2 16 16s-7.2 16-16 16H240c-8.8 0-16-7.2-16-16s7.2-16 16-16h64zm64 0h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H368c-8.8 0-16-7.2-16-16s7.2-16 16-16zm128 0h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H496c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faScalpelPath = faScalpelLineDashed;\nvar faFileInvoiceDollar = {\n prefix: 'fal',\n iconName: 'file-invoice-dollar',\n icon: [384, 512, [], \"f571\", \"M352 448V192H240c-26.5 0-48-21.5-48-48V32H64C46.3 32 32 46.3 32 64V448c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32zm-.5-288c-.7-2.8-2.1-5.4-4.2-7.4L231.4 36.7c-2.1-2.1-4.6-3.5-7.4-4.2V144c0 8.8 7.2 16 16 16H351.5zM0 64C0 28.7 28.7 0 64 0H220.1c12.7 0 24.9 5.1 33.9 14.1L369.9 129.9c9 9 14.1 21.2 14.1 33.9V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM64 80c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16zm0 64c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16zm144 99.6v13.6c8.3 1.1 16.3 2.7 23.7 4.5c8.6 2 13.9 10.7 11.9 19.3s-10.7 13.9-19.3 11.9c-11.2-2.6-22.2-4.6-32.5-4.8c-8.7-.1-17.9 1.7-24.3 5.1c-6.1 3.2-7.4 6.3-7.4 9.4c0 1.5 .2 3.6 6.6 7c7 3.7 16.8 6.4 29.4 9.8l.5 .1c11.3 3 25.2 6.8 36.1 12.9c11.8 6.6 23.1 17.7 23.4 35.9c.3 18.9-10.6 31.7-23.6 38.9c-7.5 4.1-15.9 6.6-24.4 7.9v13.5c0 8.8-7.2 16-16 16s-16-7.2-16-16V414.4c-10.9-1.9-21.2-5-30.3-7.8l0 0 0 0c-2.1-.7-4.2-1.3-6.2-1.9c-8.5-2.5-13.3-11.4-10.8-19.9s11.4-13.3 19.9-10.8c2.4 .7 4.8 1.4 7.1 2.1c13.6 4.1 24.8 7.5 36.8 7.9c9.4 .3 18.5-1.6 24.4-4.9c5.4-3 7.2-6.2 7.1-10.4c0-2.4-.8-4.9-7-8.4c-6.9-3.9-16.8-6.7-29.2-10l-1.6-.4c-11-3-24.2-6.5-34.6-12.1c-11.5-6.2-23.3-16.9-23.4-35.1c-.1-19 11.9-31.3 24.5-37.9c7.3-3.8 15.4-6.2 23.4-7.5V243.6c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faPipeSmoking = {\n prefix: 'fal',\n iconName: 'pipe-smoking',\n icon: [640, 512, [], \"e3c4\", \"M586.6 32c-35.2 0-68.4 16.6-89.5 44.7L395 212.5c18.2 15.5 22.4 42.4 8.9 62.8L296 439.8C266.5 484.9 216.2 512 162.3 512H160C71.6 512 0 440.4 0 352V280c0-30.9 25.1-56 56-56H200c28.4 0 51.9 21.2 55.5 48.6l49.5-66c14.9-19.9 42.5-25 63.5-12.1l103-137C498.7 21.3 541.3 0 586.6 0H624c8.8 0 16 7.2 16 16s-7.2 16-16 16H586.6zm-256 193.8L252.8 329.6c-4.1 5.5-11.3 7.8-17.9 5.6S224 326.9 224 320V280c0-13.3-10.7-24-24-24H56c-13.3 0-24 10.7-24 24v72c0 70.7 57.3 128 128 128h2.3c43.1 0 83.4-21.7 107-57.8L377.2 257.8c4.8-7.3 2.8-17.2-4.5-22.1l-20.4-13.6c-7.1-4.7-16.6-3.1-21.7 3.7z\"]\n};\nvar faFaceAstonished = {\n prefix: 'fal',\n iconName: 'face-astonished',\n icon: [512, 512, [], \"e36b\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm288 96c0-17.7-14.3-32-32-32s-32 14.3-32 32v32c0 17.7 14.3 32 32 32s32-14.3 32-32V352zm-96 0c0-35.3 28.7-64 64-64s64 28.7 64 64v32c0 35.3-28.7 64-64 64s-64-28.7-64-64V352zM152.4 224a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm184-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM192 128c-4.4 0-8.8 .3-13 .9c-21.2 2.8-40.6 12.4-56.1 26.8c-6.5 6-16.6 5.7-22.6-.8s-5.7-16.6 .8-22.6c20.1-18.7 45.5-31.5 73.7-35.2c5.6-.7 11.4-1.1 17.2-1.1c8.8 0 16 7.2 16 16s-7.2 16-16 16zm141 .9c-4.3-.6-8.6-.9-13-.9c-8.8 0-16-7.2-16-16s7.2-16 16-16c5.8 0 11.6 .4 17.2 1.1c28.2 3.7 53.7 16.4 73.7 35.2c6.5 6 6.8 16.2 .8 22.6s-16.2 6.8-22.6 .8c-15.5-14.5-34.8-24-56.1-26.8z\"]\n};\nvar faWindow = {\n prefix: 'fal',\n iconName: 'window',\n icon: [512, 512, [], \"f40e\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H448c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm96 8a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm72 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm120-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faPlaneCircleExclamation = {\n prefix: 'fal',\n iconName: 'plane-circle-exclamation',\n icon: [640, 512, [], \"e556\", \"M256 0c-13.4 0-25.2 5.7-34.8 13.3c-9.5 7.6-17.6 17.7-24 28.4C184.4 62.7 176 89 176 109.7v52.5L24.2 248.9C9.2 257.4 0 273.3 0 290.6v56.2c0 21.3 20.3 36.6 40.8 30.8L176 338.9l0 37.1-51.2 38.4c-8.1 6-12.8 15.5-12.8 25.6v42c0 16.6 13.4 30 30 30c2.8 0 5.6-.4 8.3-1.2l0 0L256 480.6l105.7 30.2 0 0c2.7 .8 5.5 1.2 8.2 1.2c6.5 0 12.5-2 17.4-5.5c-11.2-8.8-21.3-18.9-30.1-30.2l-96.8-27.7c-2.9-.8-5.9-.8-8.8 0L144 479.4V440l57.6-43.2c4-3 6.4-7.8 6.4-12.8l0-66.3c0-5-2.4-9.8-6.4-12.8s-9.2-4-14-2.6L32 346.8V290.6c0-5.7 3.1-11 8.1-13.9l159.9-91.4c5-2.8 8.1-8.2 8.1-13.9V109.7c0-13.5 6.1-34.1 16.6-51.3c5.2-8.5 10.9-15.4 16.7-20C247 33.7 251.9 32 256 32c9.1 0 20.9 8.2 31.8 26.3C298.1 75.5 304 96.1 304 109.7v61.7c0 5.7 3.1 11 8.1 13.9l76.2 43.5c9.6-7.4 19.9-13.9 30.9-19.2L336 162.1V109.7c0-20.6-8.1-46.8-20.8-67.9C303.1 21.6 282.9 0 256 0zM384 368a112 112 0 1 1 224 0 112 112 0 1 1 -224 0zm256 0a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zM496 448a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-160c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V304c0-8.8-7.2-16-16-16z\"]\n};\nvar faEar = {\n prefix: 'fal',\n iconName: 'ear',\n icon: [384, 512, [128066], \"f5f0\", \"M352 192c0-88.4-71.6-160-160-160S32 103.6 32 192V368c0 61.9 50.1 112 112 112s112-50.1 112-112c0-16.4 8.2-32.2 22.5-41.4C322.8 298.1 352 248.5 352 192zm32 0c0 67.8-35.1 127.4-88.2 161.5c-4.9 3.2-7.8 8.6-7.8 14.5c0 79.5-64.5 144-144 144S0 447.5 0 368V192C0 86 86 0 192 0S384 86 384 192zm-272 0v6.3c0 10.7 5.3 20.7 14.2 26.6l8.9 5.9c15.5 10.4 24.9 27.8 24.9 46.5c0 16.6-7.4 32.3-20.1 42.9l-33.7 28c-6.8 5.7-16.9 4.7-22.5-2s-4.7-16.9 2-22.5l33.7-28c5.4-4.5 8.6-11.2 8.6-18.3c0-8-4-15.4-10.6-19.9l-8.9-5.9C90.7 239.7 80 219.7 80 198.3V192c0-61.9 50.1-112 112-112s112 50.1 112 112v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-44.2-35.8-80-80-80s-80 35.8-80 80z\"]\n};\nvar faFileLock = {\n prefix: 'fal',\n iconName: 'file-lock',\n icon: [576, 512, [], \"e3a6\", \"M384 192H352 320 240c-26.5 0-48-21.5-48-48V32H64C46.3 32 32 46.3 32 64V448c0 17.7 14.3 32 32 32H320c0 11.4 3 22.2 8.3 31.5c-2.7 .3-5.5 .5-8.3 .5H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H220.1c12.7 0 24.9 5.1 33.9 14.1L369.9 129.9c9 9 14.1 21.2 14.1 33.9V192zM240 160H351.5c-.7-2.8-2.1-5.4-4.2-7.4L231.4 36.7c-2.1-2.1-4.6-3.5-7.4-4.2V144c0 8.8 7.2 16 16 16zm224 64c-26.5 0-48 21.5-48 48v48h96V272c0-26.5-21.5-48-48-48zm-80 48c0-44.2 35.8-80 80-80s80 35.8 80 80v48c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H384c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32V272zm0 80V480H544V352H384z\"]\n};\nvar faDiagramVenn = {\n prefix: 'fal',\n iconName: 'diagram-venn',\n icon: [640, 512, [], \"e15a\", \"M224 448C118 448 32 362 32 256S118 64 224 64c21.5 0 42.1 3.5 61.4 10C228.8 114.7 192 181 192 256s36.8 141.3 93.4 182c-19.3 6.5-39.9 10-61.4 10zM415.3 240H224.7c1.4-16.7 4.9-32.8 10.3-48H405.1c5.4 15.2 8.9 31.3 10.3 48zM224.7 272H415.3c-1.4 16.7-4.9 32.8-10.3 48H234.9c-5.4-15.2-8.9-31.3-10.3-48zm25 80H390.3c-16.9 29.1-41.2 53.5-70.3 70.3c-29.1-16.9-53.5-41.2-70.3-70.3zm0-192c16.9-29.1 41.2-53.5 70.3-70.3c29.1 16.9 53.5 41.2 70.3 70.3H249.7zM224 480c34.4 0 66.9-7.7 96-21.6c29.1 13.8 61.6 21.6 96 21.6c123.7 0 224-100.3 224-224S539.7 32 416 32c-34.4 0-66.9 7.7-96 21.6C290.9 39.7 258.4 32 224 32C100.3 32 0 132.3 0 256S100.3 480 224 480zM416 64c106 0 192 86 192 192s-86 192-192 192c-21.5 0-42.1-3.5-61.4-10C411.2 397.3 448 331 448 256s-36.8-141.3-93.4-182c19.3-6.5 39.9-10 61.4-10z\"]\n};\nvar faArrowDownFromBracket = {\n prefix: 'fal',\n iconName: 'arrow-down-from-bracket',\n icon: [448, 512, [], \"e667\", \"M235.3 507.3c-6.2 6.2-16.4 6.2-22.6 0l-128-128c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L208 457.4 208 176c0-8.8 7.2-16 16-16s16 7.2 16 16l0 281.4L340.7 356.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-128 128zM32 176c0 8.8-7.2 16-16 16s-16-7.2-16-16L0 80C0 35.8 35.8 0 80 0L368 0c44.2 0 80 35.8 80 80l0 96c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-96c0-26.5-21.5-48-48-48L80 32C53.5 32 32 53.5 32 80l0 96z\"]\n};\nvar faXRay = {\n prefix: 'fal',\n iconName: 'x-ray',\n icon: [512, 512, [], \"f497\", \"M0 48c0-8.8 7.2-16 16-16H48 464h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H480V448h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H464 48 16c-8.8 0-16-7.2-16-16s7.2-16 16-16H32V64H16C7.2 64 0 56.8 0 48zM64 64V448H448V64H64zM256 96c8.8 0 16 7.2 16 16v32h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H272v32h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H272v53.5l45.1-17.4c7-2.7 14.4-4.1 21.9-4.1h2.2c32.5 0 58.8 26.3 58.8 58.8c0 13.2-4.4 25.9-12.5 36.3l-18.2 23.2c-12.7 16.2-32.2 25.7-52.9 25.7H195.6c-20.6 0-40.1-9.5-52.9-25.7l-18.2-23.2C116.4 356.8 112 344 112 330.8c0-32.5 26.3-58.8 58.8-58.8H173c7.5 0 14.9 1.4 21.9 4.1L240 293.5V240H144c-8.8 0-16-7.2-16-16s7.2-16 16-16h96V176H176c-8.8 0-16-7.2-16-16s7.2-16 16-16h64V112c0-8.8 7.2-16 16-16zM144 330.8c0 6 2 11.8 5.7 16.5l18.2 23.2c6.7 8.5 16.9 13.5 27.7 13.5H316.4c10.8 0 21-5 27.7-13.5l18.2-23.2c3.7-4.7 5.7-10.5 5.7-16.5c0-14.8-12-26.8-26.8-26.8H339c-3.6 0-7.1 .7-10.4 1.9l-55.3 21.3c-11.1 4.3-23.4 4.3-34.5 0l-55.3-21.3c-3.3-1.3-6.9-1.9-10.4-1.9h-2.1C156 304 144 316 144 330.8zM192 352a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm112-16a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faGoalNet = {\n prefix: 'fal',\n iconName: 'goal-net',\n icon: [640, 512, [], \"e3ab\", \"M32 112c0-26.5 21.5-48 48-48H560c26.5 0 48 21.5 48 48V464c0 8.8 7.2 16 16 16s16-7.2 16-16V112c0-44.2-35.8-80-80-80H80C35.8 32 0 67.8 0 112V464c0 8.8 7.2 16 16 16s16-7.2 16-16V112zm144 0c-8.8 0-16 7.2-16 16v64H96c-8.8 0-16 7.2-16 16s7.2 16 16 16h64v64H96c-8.8 0-16 7.2-16 16s7.2 16 16 16h64v64H96c-8.8 0-16 7.2-16 16s7.2 16 16 16h64v48c0 8.8 7.2 16 16 16s16-7.2 16-16V416h64v48c0 8.8 7.2 16 16 16s16-7.2 16-16V416h64v48c0 8.8 7.2 16 16 16s16-7.2 16-16V416h64v48c0 8.8 7.2 16 16 16s16-7.2 16-16V416h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H480V320h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H480V224h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H480V128c0-8.8-7.2-16-16-16s-16 7.2-16 16v64H384V128c0-8.8-7.2-16-16-16s-16 7.2-16 16v64H288V128c0-8.8-7.2-16-16-16s-16 7.2-16 16v64H192V128c0-8.8-7.2-16-16-16zm16 112h64v64H192V224zm96 0h64v64H288V224zm96 0h64v64H384V224zM192 384V320h64v64H192zm96 0V320h64v64H288zm96 0V320h64v64H384z\"]\n};\nvar faCoffinCross = {\n prefix: 'fal',\n iconName: 'coffin-cross',\n icon: [384, 512, [], \"e051\", \"M35.6 136c-2.3 2.6-3.6 6-3.6 9.5c0 1.4 .2 2.7 .6 4L128.1 480l127.9 0 95.5-330.6c.4-1.3 .6-2.6 .6-4c0-3.5-1.3-6.9-3.6-9.5l-91-104-131 0-91 104zM11.5 114.9l91-104C108.5 4 117.3 0 126.5 0h131c9.2 0 18 4 24.1 10.9l91 104c7.4 8.5 11.5 19.3 11.5 30.6c0 4.4-.6 8.7-1.8 12.9L286.7 488.9c-4 13.7-16.5 23.1-30.7 23.1H128.1c-14.3 0-26.8-9.4-30.7-23.1L1.8 158.3C.6 154.1 0 149.8 0 145.4c0-11.2 4.1-22.1 11.5-30.6zM208 112v64h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H208V336c0 8.8-7.2 16-16 16s-16-7.2-16-16V208H112c-8.8 0-16-7.2-16-16s7.2-16 16-16h64V112c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faSpellCheck = {\n prefix: 'fal',\n iconName: 'spell-check',\n icon: [576, 512, [], \"f891\", \"M126.7 9.7C124.2 3.8 118.4 0 112 0s-12.2 3.8-14.7 9.7l-96 224c-3.5 8.1 .3 17.5 8.4 21s17.5-.3 21-8.4L54 192H170l23.3 54.3c3.5 8.1 12.9 11.9 21 8.4s11.9-12.9 8.4-21l-96-224zM156.3 160H67.7L112 56.6 156.3 160zM256 16V128 240c0 8.8 7.2 16 16 16H376c39.8 0 72-32.2 72-72c0-31.1-19.7-57.6-47.3-67.6C410.3 104.1 416 88.7 416 72c0-39.8-32.2-72-72-72H272c-8.8 0-16 7.2-16 16zm88 96H288V32h56c22.1 0 40 17.9 40 40s-17.9 40-40 40zm-56 32h56 32c22.1 0 40 17.9 40 40s-17.9 40-40 40H288V144zM571.3 299.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L352 473.4 251.3 372.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l112 112c6.2 6.2 16.4 6.2 22.6 0l208-208z\"]\n};\nvar faLocationXmark = {\n prefix: 'fal',\n iconName: 'location-xmark',\n icon: [384, 512, [\"map-marker-times\", \"map-marker-xmark\"], \"f60e\", \"M352 192c0-88.4-71.6-160-160-160S32 103.6 32 192c0 15.6 5.4 37 16.6 63.4c10.9 25.9 26.2 54 43.6 82.1c34.1 55.3 74.4 108.2 99.9 140c25.4-31.8 65.8-84.7 99.9-140c17.3-28.1 32.7-56.3 43.6-82.1C346.6 229 352 207.6 352 192zm32 0c0 87.4-117 243-168.3 307.2c-12.3 15.3-35.1 15.3-47.4 0C117 435 0 279.4 0 192C0 86 86 0 192 0S384 86 384 192zM116.7 116.7c6.2-6.2 16.4-6.2 22.6 0L192 169.4l52.7-52.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L214.6 192l52.7 52.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L192 214.6l-52.7 52.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L169.4 192l-52.7-52.7c-6.2-6.2-6.2-16.4 0-22.6z\"]\n};\nvar faMapMarkerTimes = faLocationXmark;\nvar faMapMarkerXmark = faLocationXmark;\nvar faCircleQuarterStroke = {\n prefix: 'fal',\n iconName: 'circle-quarter-stroke',\n icon: [512, 512, [], \"e5d3\", \"M480 256C480 132.3 379.7 32 256 32V208c0 26.5-21.5 48-48 48H32c0 123.7 100.3 224 224 224s224-100.3 224-224zM224 34.3C125.9 48.3 48.3 125.9 34.3 224H208c8.8 0 16-7.2 16-16V34.3zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z\"]\n};\nvar faLasso = {\n prefix: 'fal',\n iconName: 'lasso',\n icon: [576, 512, [], \"f8c8\", \"M576 176c0 97.2-128.9 176-288 176c-22.9 0-45.3-1.6-66.7-4.7c11.9 17.2 18.7 38 18.7 59.7c0 58-47 105-105 105H48c-8.8 0-16-7.2-16-16s7.2-16 16-16h87c40.3 0 73-32.7 73-73c0-27.6-15.6-52.9-40.4-65.3l-34.9-17.4C52.9 293 0 238.3 0 176C0 78.8 128.9 0 288 0S576 78.8 576 176zM288 320c141.4 0 256-64.5 256-144S429.4 32 288 32S32 96.5 32 176s114.6 144 256 144z\"]\n};\nvar faSlash = {\n prefix: 'fal',\n iconName: 'slash',\n icon: [640, 512, [], \"f715\", \"M3.4 6.1C8.9-.8 19-2 25.9 3.4l608 480c6.9 5.5 8.1 15.5 2.6 22.5s-15.5 8.1-22.5 2.6L6.1 28.6C-.8 23.1-2 13 3.4 6.1z\"]\n};\nvar faPersonToPortal = {\n prefix: 'fal',\n iconName: 'person-to-portal',\n icon: [512, 512, [\"portal-enter\"], \"e022\", \"M256 56a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm80 0A56 56 0 1 0 224 56a56 56 0 1 0 112 0zM179.4 116.4c-12.7-3.2-26.1-3.2-38.8 0l-1.5 .4c-12.3 3.1-23.7 9-33.3 17.4L53.5 180c-6.7 5.8-7.3 15.9-1.5 22.6s15.9 7.3 22.6 1.5l52.4-45.8c5.7-5 12.6-8.6 20-10.4l1.5-.4c7.6-1.9 15.6-1.9 23.3 0l16.9 4.2L153.2 257.9c-7.3 21.8 2 45.7 22 57l93.3 52.5L224.9 490.7c-2.9 8.3 1.4 17.5 9.8 20.4s17.5-1.4 20.4-9.8L298.6 378c5.2-14.7-.9-30.9-14.5-38.5l-37.5-21.1c.2-.4 .4-.9 .5-1.3l37.2-111.6L298 253.2c5.9 20.6 24.7 34.8 46.2 34.8H400c8.8 0 16-7.2 16-16s-7.2-16-16-16H344.1c-7.1 0-13.4-4.7-15.4-11.6l-20.3-71c-4.7-16.5-17.9-29.2-34.5-33.4l-94.5-23.6zm83 53.7L218.3 302.4 190.9 287c-6.7-3.8-9.8-11.7-7.3-19l36.2-108.6 42.7 10.7zM130 314.1L101.3 384H16c-8.8 0-16 7.2-16 16s7.2 16 16 16h85.3c13 0 24.7-7.8 29.6-19.8l23.3-56.6c-10-6.7-18.2-15.5-24.1-25.4zM458.5 444.2C445.6 480 433.6 480 432 480h0 0c-1.6 0-13.6 0-26.4-35.8c-9.4-26.3-16.8-66.4-19.9-124.2h-32c7.3 140.7 39.7 192 78.4 192c44.2 0 80-66.6 80-256S476.2 0 432 0c-41.6 0-75.8 59-79.6 224h32c1.8-75.3 10.1-125.3 21.2-156.2C418.4 32 430.4 32 432 32l0 0 0 0c1.6 0 13.6 0 26.4 35.8C471.1 102.9 480 162.5 480 256s-8.9 153.1-21.5 188.2z\"]\n};\nvar faPortalEnter = faPersonToPortal;\nvar faCalendarStar = {\n prefix: 'fal',\n iconName: 'calendar-star',\n icon: [448, 512, [], \"f736\", \"M128 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V64H64C28.7 64 0 92.7 0 128v32 32V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V192 160 128c0-35.3-28.7-64-64-64H352V16c0-8.8-7.2-16-16-16s-16 7.2-16 16V64H128V16zM32 192H416V448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V192zM64 96H384c17.7 0 32 14.3 32 32v32H32V128c0-17.7 14.3-32 32-32zM245.5 231.5c-8.8-17.8-34.2-17.8-43 0l-22 44.6-49.2 7.2c-19.7 2.9-27.5 27.1-13.3 40.9l35.6 34.7-8.4 49c-3.4 19.6 17.2 34.6 34.8 25.3l44-23.2 44 23.2c17.6 9.3 38.2-5.7 34.8-25.3l-8.4-49 35.6-34.7c14.2-13.9 6.4-38.1-13.3-40.9l-49.2-7.2-22-44.6zm-40.1 66.3L224 260.2l18.6 37.6 3.7 7.5 8.3 1.2 41.5 6-30 29.3-6 5.9 1.4 8.3 7.1 41.4-37.1-19.5-7.4-3.9-7.4 3.9-37.1 19.5 7.1-41.4 1.4-8.3-6-5.9-30-29.3 41.5-6 8.3-1.2 3.7-7.5z\"]\n};\nvar faComputerMouse = {\n prefix: 'fal',\n iconName: 'computer-mouse',\n icon: [384, 512, [128433, \"mouse\"], \"f8cc\", \"M192 224H32V352c0 70.7 57.3 128 128 128h64c70.7 0 128-57.3 128-128V224H192zm192-32v16 16V352c0 88.4-71.6 160-160 160H160C71.6 512 0 440.4 0 352V224 208 192 160C0 71.6 71.6 0 160 0h16 16 16 16c88.4 0 160 71.6 160 160v32zM208 32V192H352V160c0-70.7-57.3-128-128-128H208zm-32 0H160C89.3 32 32 89.3 32 160v32H176V32z\"]\n};\nvar faMouse = faComputerMouse;\nvar faArrowRightToBracket = {\n prefix: 'fal',\n iconName: 'arrow-right-to-bracket',\n icon: [512, 512, [\"sign-in\"], \"f090\", \"M347.3 267.3c6.2-6.2 6.2-16.4 0-22.6l-128-128c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L297.4 240 16 240c-8.8 0-16 7.2-16 16s7.2 16 16 16l281.4 0L196.7 372.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l128-128zM336 448c-8.8 0-16 7.2-16 16s7.2 16 16 16l96 0c44.2 0 80-35.8 80-80l0-288c0-44.2-35.8-80-80-80l-96 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l96 0c26.5 0 48 21.5 48 48l0 288c0 26.5-21.5 48-48 48l-96 0z\"]\n};\nvar faSignIn = faArrowRightToBracket;\nvar faPegasus = {\n prefix: 'fal',\n iconName: 'pegasus',\n icon: [576, 512, [], \"f703\", \"M333 153.3c1.1-1.5 1.9-3.3 2.5-5.2c.4-1.4 .6-2.9 .5-4.4C336.1 82 386.2 32 448 32h24 8 5.8c24.7 0 45.4 18.8 47.8 43.4l7.7 80.8c1.1 11.9-4.5 23.4-14.7 29.7c-14.4 9-33.4 4.9-42.9-9.2l-6.4-9.6c-3-4.5-8-7.1-13.3-7.1H432c-8.8 0-16 7.2-16 16v52.8c-.3 1.5-.4 3-.3 4.5c.2 2.2 .3 4.4 .3 6.7c0 24-10.4 45.1-26.7 59.6c-3.4 3-5.3 7.4-5.3 11.9V472c0 4.4-3.6 8-8 8H344c-4.4 0-8-3.6-8-8V334.7c0-7.8-5.6-14.5-13.3-15.8c-1.4-.2-2.8-.5-4.3-.8L202.2 291.9c-5.2-1.2-10.6 .3-14.5 4s-5.7 9-4.8 14.3c.8 4.5 1.1 9.1 1.1 13.7c0 11.3-2.3 22.4-6.7 32.8l-8.1 19c-5 11.7-5.9 24.8-2.5 37l15.9 57.2c1.4 5.1-2.4 10.1-7.7 10.1H141.6c-3.6 0-6.7-2.4-7.7-5.9l-13.5-48.6c-6.3-22.8-4.7-47.1 4.6-68.8l8.1-19c1.9-4.4 2.8-9.1 2.8-13.9c0-4.6-.9-9.3-2.7-13.5L99.9 230.2C97.3 224 96 217.4 96 210.7c0-21.8 13.8-40.5 33.2-47.6c-4.4-9.4-8.4-19.3-11.8-29.8c-20.4 7.7-37 23.3-46 43.1C31.3 180.8 0 214.7 0 256v48c0 8.8 7.2 16 16 16s16-7.2 16-16V256c0-20.9 13.4-38.7 32-45.3c0 10.9 2.2 21.7 6.4 31.7l33.4 80.1c.2 .4 .2 .8 .2 1.2c0 .4-.1 .9-.3 1.3l-8.1 19c-12.2 28.4-14.3 60.2-6 90l13.5 48.6c4.8 17.3 20.6 29.3 38.5 29.3h33.2c26.5 0 45.6-25.2 38.5-50.7l-15.9-57.2c-1.5-5.3-1.1-10.9 1.1-15.9l8.1-19c5.6-13.1 8.8-27.2 9.2-41.4L304 347.6V472c0 22.1 17.9 40 40 40h32c22.1 0 40-17.9 40-40V318.4c19.6-20 32-47.5 32-78.4c0-1.9-.1-3.9-.1-5.8c.1-.7 .1-1.4 .1-2.2V192h7.4l1.7 2.5c19 28.6 57.4 36.8 86.5 18.6c20.4-12.7 31.8-35.9 29.6-59.9l-7.7-80.8c-1.5-15.5-7.3-29.7-16.3-41.3C555.5 29 560 23 560 16c0-8.8-7.2-16-16-16H485.8 480h-8H448C377.4 0 318.7 50.8 306.4 117.8L159.9 34.1c-5-2.8-11-2.8-16 .1s-8 8.1-8 13.8c0 77.2 34.4 132.9 68.3 169c16.9 18 33.9 31.2 46.6 40c6.4 4.4 11.7 7.7 15.5 9.9c1.9 1.1 3.4 2 4.5 2.5c.5 .3 1 .5 1.3 .7l.4 .2 .1 .1 0 0 0 0s0 0 7.2-14.3l-7.2 14.3c7.9 4 17.5 .7 21.5-7.2s.8-17.5-7.1-21.5l0 0 0 0-.2-.1-.9-.5c-.8-.4-2-1.1-3.6-2c-3.2-1.8-7.8-4.7-13.5-8.6c-11.3-7.8-26.4-19.5-41.4-35.5c-25.6-27.2-50.8-66.2-57.8-118.4l142.2 81.2c3 1.7 6.4 2.4 9.6 2c2.3-.2 4.5-1 6.4-2.1s3.6-2.6 5-4.5zM480 112a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faFilesMedical = {\n prefix: 'fal',\n iconName: 'files-medical',\n icon: [448, 512, [], \"f7fd\", \"M384 384c17.7 0 32-14.3 32-32V144.8c0-.3 0-.5 0-.8H336c-17.7 0-32-14.3-32-32V32H160c-17.7 0-32 14.3-32 32V352c0 17.7 14.3 32 32 32H384zm6-272L336 57.5V112h54zM96 64c0-35.3 28.7-64 64-64H304c12.8 0 25.1 5.1 34.1 14.2l96 96.8c8.9 9 13.9 21.1 13.9 33.8V352c0 35.3-28.7 64-64 64H160c-35.3 0-64-28.7-64-64V64zM16 96c8.8 0 16 7.2 16 16V384c0 53 43 96 96 96H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H128C57.3 512 0 454.7 0 384V112c0-8.8 7.2-16 16-16zm245.3 64h21.3c17.7 0 32 14.3 32 32v21.3H336c17.7 0 32 14.3 32 32v21.3c0 17.7-14.3 32-32 32H314.7V320c0 17.7-14.3 32-32 32H261.3c-17.7 0-32-14.3-32-32V298.7H208c-17.7 0-32-14.3-32-32V245.3c0-17.7 14.3-32 32-32h21.3V192c0-17.7 14.3-32 32-32zm0 32v37.3c0 4.2-1.7 8.3-4.7 11.3s-7.1 4.7-11.3 4.7l-37.3 0v21.3h37.3c8.8 0 16 7.2 16 16V320h21.3V282.7c0-8.8 7.2-16 16-16l37.3 0V245.3H298.7c-8.8 0-16-7.2-16-16l0-37.3H261.3z\"]\n};\nvar faCannon = {\n prefix: 'fal',\n iconName: 'cannon',\n icon: [640, 512, [], \"e642\", \"M266.5 422.2c-10.4 6.3-18.8 11.1-24.6 14.1c-55.3 27.5-122.5 5.1-150.1-50.2s-5.3-122.5 49.9-150.2c23.1-11.1 92.7-37.4 172.4-66.3c78.9-28.6 165-58.9 218.6-77.7c15-5.2 31.6 1.4 38.8 15.9l30.7 61.4c7.2 14.5 2.6 31.8-10.6 40.6c-23.5 15.8-54.2 36.3-87.7 58.5c7.4 7.7 13.9 16.3 19.5 25.5c32.9-21.9 62.9-41.9 86-57.4c26.7-17.9 35.7-52.7 21.4-81.5L600.2 93.5c-14.4-28.7-47.7-42.4-78-31.8C414.8 99.3 177.1 183.2 127.6 207.2C77 232.5 47.8 283.5 48 336.5l-12.6 6.3C3.8 358.6-9.1 397 6.8 428.6S61 473 92.6 457.2l12.6-6.3c42.3 31.9 100.6 39.1 151.2 13.8c6.1-3.2 14.8-8.1 25.4-14.5c-6.1-8.7-11.2-18.2-15.3-28.1zM80.7 427.4l-2.4 1.2c-15.8 7.9-35 1.5-42.9-14.3s-1.5-35 14.3-42.9l2.4-1.2c2.5 10.3 6.2 20.4 11.1 30.2s10.8 18.9 17.5 27zM320 368a80 80 0 1 1 160 0 80 80 0 1 1 -160 0zm192 0a112 112 0 1 0 -224 0 112 112 0 1 0 224 0zM400 392a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faNfcLock = {\n prefix: 'fal',\n iconName: 'nfc-lock',\n icon: [576, 512, [], \"e1f8\", \"M384 64H64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H320v32H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64v65.1c-11.3 1.6-22.1 4.9-32 9.6V96c0-17.7-14.3-32-32-32zm0 64v65.6c-19.8 20.2-32 47.9-32 78.4V128H240v82.7c18.6 6.6 32 24.4 32 45.3c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3V128c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32zM96 384H320v32H96c-17.7 0-32-14.3-32-32V128c0-17.7 14.3-32 32-32h48c8.8 0 16 7.2 16 16s-7.2 16-16 16l-48 0V384zM224 240a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm240-16c-26.5 0-48 21.5-48 48v48h96V272c0-26.5-21.5-48-48-48zm-80 48c0-44.2 35.8-80 80-80s80 35.8 80 80v48c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H384c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32V272zm160 80H384V480H544V352z\"]\n};\nvar faPersonSkiLift = {\n prefix: 'fal',\n iconName: 'person-ski-lift',\n icon: [512, 512, [\"ski-lift\"], \"f7c8\", \"M256 0c8.8 0 16 7.2 16 16V210.8c-1.9 .3-3.7 .6-5.6 1.1L240 218.5V16c0-8.8 7.2-16 16-16zM104.8 177.7c7.9-4 17.5-.7 21.5 7.2l42.3 84.5L274.2 243c15.1-3.8 29.8 7.7 29.8 23.3V402.8l150.7-59.7c15.3-6 25.3-20.8 25.3-37.2V304c0-8.8 7.2-16 16-16s16 7.2 16 16v1.9c0 29.5-18 56.1-45.5 66.9l-348.6 138c-8.2 3.3-17.5-.8-20.8-9s.8-17.5 9-20.8L272 415.5v-139l-95.7 23.9c-14.6 3.6-29.7-3.3-36.4-16.7L97.7 199.2c-4-7.9-.7-17.5 7.2-21.5zM9.1 161.6c8-3.8 17.5-.5 21.3 7.5L103.3 321c10 20.9 33.5 31.6 55.9 25.5l36.5-10c8.5-2.3 17.3 2.7 19.6 11.2s-2.7 17.3-11.2 19.6l-36.5 10c-37.3 10.2-76.5-7.7-93.2-42.6L1.6 182.9c-3.8-8-.5-17.5 7.5-21.3zM128 88A24 24 0 1 0 80 88a24 24 0 1 0 48 0zM48 88a56 56 0 1 1 112 0A56 56 0 1 1 48 88z\"]\n};\nvar faSkiLift = faPersonSkiLift;\nvar faSquare6 = {\n prefix: 'fal',\n iconName: 'square-6',\n icon: [448, 512, [], \"e25b\", \"M384 64c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM224 224a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm-96 64c0 53 43 96 96 96s96-43 96-96c0-51.8-41-94-92.3-95.9l39.1-36.3c6.5-6 6.9-16.1 .8-22.6s-16.1-6.9-22.6-.8l-82.7 76.8c-22 20.4-34.4 49-34.4 78.9z\"]\n};\nvar faShopSlash = {\n prefix: 'fal',\n iconName: 'shop-slash',\n icon: [640, 512, [\"store-alt-slash\"], \"e070\", \"M0 185.8C0 206.9 17.1 224 38.2 224H64V464c0 26.5 21.5 48 48 48H336c26.5 0 48-21.5 48-48V388.1L338.3 352H96V224h80.2l-40.5-32H80 38.2c-3.4 0-6.2-2.8-6.2-6.2c0-1 .3-2.1 .8-3l27.4-50.3L34.7 112.3 4.7 167.4C1.6 173.1 0 179.4 0 185.8zM139.6 32h376c5.9 0 11.2 3.2 14 8.3l77.7 142.4c.5 .9 .8 1.9 .8 3c0 3.4-2.8 6.2-6.2 6.2H560 342.2l40.5 32H544V351.3l32 25.3V224h25.8c21.1 0 38.2-17.1 38.2-38.2c0-6.4-1.6-12.7-4.7-18.3L557.6 25C549.2 9.6 533.1 0 515.5 0h-391c-7 0-13.8 1.5-20 4.3l35 27.7zM96 464V384H352v80c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16zM25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4z\"]\n};\nvar faStoreAltSlash = faShopSlash;\nvar faWindTurbine = {\n prefix: 'fal',\n iconName: 'wind-turbine',\n icon: [512, 512, [], \"f89b\", \"M302.1 431.2c18.2 29.6 64 13 58.9-21.4L332.7 217.6 425 46.8c16.5-30.6-20.8-61.9-48-40.3L224.8 127.1 30.7 132.6c-34.8 1-43.2 48.9-10.9 61.7l180.6 71.5L240 330.3V480H144c-8.8 0-16 7.2-16 16s7.2 16 16 16H256 368c8.8 0 16-7.2 16-16s-7.2-16-16-16H272V382.3l30.1 49zM301 222.3l28.4 192.1L227.6 249c-3.6-5.9-9-10.4-15.5-13L31.6 164.5l194.1-5.4c6.9-.2 13.6-2.6 19-6.9L396.9 31.6 304.5 202.4c-3.3 6.1-4.5 13.1-3.5 19.9zM272 208a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faSlidersSimple = {\n prefix: 'fal',\n iconName: 'sliders-simple',\n icon: [512, 512, [], \"e253\", \"M80 320a48 48 0 1 0 0 96 48 48 0 1 0 0-96zm78.4 32L496 352c8.8 0 16 7.2 16 16s-7.2 16-16 16l-337.6 0c-7.4 36.5-39.7 64-78.4 64c-44.2 0-80-35.8-80-80s35.8-80 80-80c38.7 0 71 27.5 78.4 64zM384 144a48 48 0 1 0 96 0 48 48 0 1 0 -96 0zm-30.4-16C361 91.5 393.3 64 432 64c44.2 0 80 35.8 80 80s-35.8 80-80 80c-38.7 0-71-27.5-78.4-64L16 160c-8.8 0-16-7.2-16-16s7.2-16 16-16l337.6 0z\"]\n};\nvar faGridRound = {\n prefix: 'fal',\n iconName: 'grid-round',\n icon: [448, 512, [], \"e5da\", \"M96 96A32 32 0 1 1 32 96a32 32 0 1 1 64 0zM64 32a64 64 0 1 0 0 128A64 64 0 1 0 64 32zM96 256a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM64 192a64 64 0 1 0 0 128 64 64 0 1 0 0-128zm0 192a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM0 416a64 64 0 1 0 128 0A64 64 0 1 0 0 416zM256 96a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM224 32a64 64 0 1 0 0 128 64 64 0 1 0 0-128zm0 192a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm-64 32a64 64 0 1 0 128 0 64 64 0 1 0 -128 0zm96 160a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm-32-64a64 64 0 1 0 0 128 64 64 0 1 0 0-128zM384 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM320 96a64 64 0 1 0 128 0A64 64 0 1 0 320 96zm96 160a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm-32-64a64 64 0 1 0 0 128 64 64 0 1 0 0-128zm0 192a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm-64 32a64 64 0 1 0 128 0 64 64 0 1 0 -128 0z\"]\n};\nvar faBadgeSheriff = {\n prefix: 'fal',\n iconName: 'badge-sheriff',\n icon: [448, 512, [], \"f8a2\", \"M224 0c-35.3 0-64 28.7-64 64c0 14.7 5 28.3 13.4 39.1l-18.9 32.4-35.2 .1c-5.4-9.3-13.3-17.4-23.3-23.1C65.4 94.9 26.3 105.4 8.6 136S1.4 205.8 32 223.4c12.3 7.1 25.9 9.6 39 8.2L84.9 256 71 280.4c-13.1-1.4-26.7 1.1-39 8.2C1.4 306.2-9.1 345.4 8.6 376s56.8 41.1 87.4 23.4l-8-13.9 8 13.9c10-5.8 17.8-13.8 23.3-23.1l35.2 .1 18.9 32.4C165 419.7 160 433.3 160 448c0 35.3 28.7 64 64 64s64-28.7 64-64c0-14.7-5-28.3-13.4-39.1l18.9-32.4 35.2-.1c5.4 9.3 13.3 17.4 23.3 23.1c30.6 17.7 69.8 7.2 87.4-23.4s7.2-69.8-23.4-87.4c-12.3-7.1-25.9-9.6-39-8.2L363.1 256 377 231.6c13.1 1.4 26.7-1.1 39-8.2c30.6-17.7 41.1-56.8 23.4-87.4s-56.8-41.1-87.4-23.4c-10 5.8-17.8 13.8-23.3 23.1l-35.2-.1-18.9-32.4C283 92.3 288 78.7 288 64c0-35.3-28.7-64-64-64zM192 64c0-17.7 14.3-32 32-32s32 14.3 32 32c0 9.9-4.4 18.7-11.5 24.6c-6 5-7.5 13.6-3.6 20.3l24.9 42.8c5.7 9.8 16.2 15.8 27.5 15.9l45.4 .2c6.8 0 12.8-4.2 15.1-10.6c2.5-6.9 7.3-12.9 14.1-16.9c15.3-8.8 34.9-3.6 43.7 11.7s3.6 34.9-11.7 43.7c-8.2 4.8-17.7 5.4-26.1 2.7c-7.2-2.4-15.1 .6-18.9 7.2l-19.7 34.5c-5.6 9.8-5.6 21.9 0 31.8L355 306.4c3.8 6.6 11.7 9.6 18.9 7.2c8.4-2.8 17.8-2.1 26.1 2.7c15.3 8.8 20.5 28.4 11.7 43.7s-28.4 20.6-43.7 11.7c-6.8-3.9-11.6-10-14.1-16.9c-2.3-6.4-8.3-10.6-15.1-10.6l-45.4 .2c-11.3 0-21.8 6.1-27.5 15.9L241 403.1c-3.9 6.7-2.4 15.3 3.6 20.3c7 5.9 11.5 14.7 11.5 24.6c0 17.7-14.3 32-32 32s-32-14.3-32-32c0-9.9 4.4-18.7 11.5-24.6c6-5 7.5-13.6 3.6-20.3l-24.9-42.8c-5.7-9.8-16.2-15.8-27.5-15.9l-45.4-.2c-6.8 0-12.8 4.2-15.1 10.6c-2.5 6.9-7.3 12.9-14.1 16.9c-15.3 8.8-34.9 3.6-43.7-11.7s-3.6-34.9 11.7-43.7c8.2-4.7 17.7-5.4 26.1-2.7c7.2 2.4 15.1-.6 18.9-7.2l19.7-34.5c5.6-9.8 5.6-21.9 0-31.8L93 205.6c-3.8-6.6-11.7-9.6-18.9-7.2c-8.4 2.8-17.8 2.1-26.1-2.7c-15.3-8.8-20.5-28.4-11.7-43.7s28.4-20.5 43.7-11.7c6.8 3.9 11.6 10 14.1 16.9c2.3 6.4 8.3 10.6 15.1 10.6l45.4-.2c11.3 0 21.8-6.1 27.5-15.9l-13.8-8.1 13.8 8.1L207 108.9c3.9-6.7 2.4-15.3-3.6-20.3C196.4 82.7 192 73.9 192 64zm64 192a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm-32-64a64 64 0 1 0 0 128 64 64 0 1 0 0-128z\"]\n};\nvar faServer = {\n prefix: 'fal',\n iconName: 'server',\n icon: [512, 512, [], \"f233\", \"M64 64C46.3 64 32 78.3 32 96v64c0 17.7 14.3 32 32 32H448c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM64 320c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H448c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32H64zM0 352c0-35.3 28.7-64 64-64H448c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V352zm304 32a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm24-280a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm56 280a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm24-280a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faVirusCovidSlash = {\n prefix: 'fal',\n iconName: 'virus-covid-slash',\n icon: [640, 512, [], \"e4a9\", \"M503.3 272H544v24c0 8.8 7.2 16 16 16s16-7.2 16-16V216c0-8.8-7.2-16-16-16s-16 7.2-16 16v24H503.3c-3.3-38.8-18.7-74.1-42.4-102.3l28.8-28.8 0 0 17 17c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L472.7 46.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l17 17 0 0-28.8 28.8C410.1 91.4 374.8 76 336 72.7V32l24 0c8.8 0 16-7.2 16-16s-7.2-16-16-16H280c-8.8 0-16 7.2-16 16s7.2 16 16 16h24V72.7c-29 2.5-56.2 11.7-79.8 26.2l27.2 21.5C272 109.9 295.3 104 320 104c83.9 0 152 68.1 152 152c0 12.1-1.4 23.9-4.1 35.2l27.2 21.5c4.2-13 7-26.6 8.2-40.7zM168 256c0-12.1 1.4-23.9 4.1-35.2l-27.2-21.5c-4.2 13-7 26.6-8.2 40.7H96l0-24c0-8.8-7.2-16-16-16s-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16V272h40.7c3.3 38.8 18.7 74.1 42.4 102.3l-28.8 28.8 0 0-17-17c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l56.6 56.6c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-17-17 0 0 28.8-28.8c28.2 23.7 63.5 39 102.3 42.4V480H280c-8.8 0-16 7.2-16 16s7.2 16 16 16h80c8.8 0 16-7.2 16-16s-7.2-16-16-16H336V439.3c29-2.5 56.2-11.8 79.8-26.2l-27.2-21.5C368 402.1 344.7 408 320 408c-83.9 0-152-68.1-152-152zM25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4z\"]\n};\nvar faIntersection = {\n prefix: 'fal',\n iconName: 'intersection',\n icon: [384, 512, [8898], \"f668\", \"M16 480c8.8 0 16-7.2 16-16V224c0-88.4 71.6-160 160-160s160 71.6 160 160V464c0 8.8 7.2 16 16 16s16-7.2 16-16V224c0-106-86-192-192-192S0 118 0 224V464c0 8.8 7.2 16 16 16z\"]\n};\nvar faShopLock = {\n prefix: 'fal',\n iconName: 'shop-lock',\n icon: [640, 512, [], \"e4a5\", \"M0 185.8c0-6.4 1.6-12.7 4.7-18.3L82.4 25C90.8 9.6 106.9 0 124.5 0h391c17.6 0 33.7 9.6 42.1 25l77.7 142.4c3.1 5.6 4.7 11.9 4.7 18.3c0 12.4-5.9 23.3-14.9 30.3c-5.4-9.3-12.1-17.8-19.8-25.2c1.6-1.1 2.7-3 2.7-5.2c0-1-.3-2.1-.8-3L529.6 40.3c-2.8-5.1-8.2-8.3-14-8.3h-391c-5.9 0-11.2 3.2-14 8.3L32.8 182.8c-.5 .9-.8 1.9-.8 3c0 3.4 2.8 6.2 6.2 6.2H80 449.6c-9.4 9.2-17.1 20-22.8 32H96V352H352V272c0-8.8 7.2-16 16-16s16 7.2 16 16v79.6l0 .4V464.3c-.2 26.4-21.6 47.7-48 47.7H112c-26.5 0-48-21.5-48-48V224H38.2C17.1 224 0 206.9 0 185.8zM96 464c0 8.8 7.2 16 16 16H336c8.8 0 16-7.2 16-16V384H96v80zM528 224c-26.5 0-48 21.5-48 48v48h96V272c0-26.5-21.5-48-48-48zm-80 48c0-44.2 35.8-80 80-80s80 35.8 80 80v48c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H448c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32V272zm0 80V480H608V352H448z\"]\n};\nvar faFamily = {\n prefix: 'fal',\n iconName: 'family',\n icon: [512, 512, [], \"e300\", \"M128 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0-96a64 64 0 1 1 0 128A64 64 0 1 1 128 0zM105.6 192c-25 0-45.8 19.1-47.8 44l-4.1 49.3C52.1 304 66.8 320 85.6 320h59.6c-.7 5.2-1.1 10.6-1.1 16v16H96V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V348.3c-26.5-9.5-44.7-35.8-42.2-65.6l4.1-49.3C29.3 191.9 64 160 105.6 160h44.8c7 0 13.8 .9 20.2 2.6c-1.7 6.9-2.6 14-2.6 21.4c0 3.9 .3 7.8 .8 11.6c-5.7-2.4-11.9-3.6-18.4-3.6H105.6zM416 384H366.4c1-5.2 1.6-10.5 1.6-16V352H469.6L430.5 215.2C426.6 201.5 414 192 399.7 192H368.3c-11.5 0-21.8 6.1-27.5 15.6c2.1-7.5 3.2-15.4 3.2-23.6c0-6.3-.7-12.5-1.9-18.4c8.1-3.6 17-5.6 26.2-5.6h31.4c28.6 0 53.7 18.9 61.5 46.4l39.1 136.8c5.8 20.4-9.5 40.8-30.8 40.8H448V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V384zM384 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0-96a64 64 0 1 1 0 128A64 64 0 1 1 384 0zM256 208a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-80a56 56 0 1 1 0 112 56 56 0 1 1 0-112zm0 160c-26.5 0-48 21.5-48 48v32c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V336c0-26.5-21.5-48-48-48zM208 413.3c-18.6-6.6-32-24.4-32-45.3V336c0-44.2 35.8-80 80-80s80 35.8 80 80v32c0 20.9-13.4 38.7-32 45.3V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V416H240v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V413.3z\"]\n};\nvar faHourglassStart = {\n prefix: 'fal',\n iconName: 'hourglass-start',\n icon: [384, 512, [\"hourglass-1\"], \"f251\", \"M0 496c0 8.8 7.2 16 16 16H48 336h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H352V438.4c0-49.4-22.8-96-61.8-126.3L218.1 256l72.2-56.1c39-30.3 61.8-76.9 61.8-126.3V32h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H336 48 16C7.2 0 0 7.2 0 16s7.2 16 16 16H32V73.6c0 49.4 22.8 96 61.8 126.3L165.9 256 93.8 312.1C54.8 342.4 32 389.1 32 438.4V480H16c-8.8 0-16 7.2-16 16zm64-16V438.4c0-39.5 18.2-76.8 49.4-101L192 276.3l78.6 61.1c31.2 24.2 49.4 61.5 49.4 101V480H64zm49.4-305.4C97.3 162.1 84.6 146 76.1 128H307.9c-8.5 18-21.1 34.1-37.3 46.6L192 235.7l-78.6-61.1zM66 96c-1.3-7.3-2-14.8-2-22.4V32H320V73.6c0 7.6-.7 15.1-2 22.4H66z\"]\n};\nvar faHourglass1 = faHourglassStart;\nvar faUserHairBuns = {\n prefix: 'fal',\n iconName: 'user-hair-buns',\n icon: [448, 512, [], \"e3d3\", \"M314.5 96h-32c-12.7 0-24.9-5.1-33.9-14.1L235.3 68.7c-6.2-6.2-16.4-6.2-22.6 0L199.4 81.9c-9 9-21.2 14.1-33.9 14.1h-32c13.2-37.3 48.7-64 90.5-64s77.4 26.7 90.5 64zm5.5 32v16c0 53-43 96-96 96s-96-43-96-96V128l37.5 0c21.2 0 41.6-8.4 56.6-23.4l1.9-1.9 1.9 1.9c15 15 35.4 23.4 56.6 23.4H320zM224 272c46.7 0 87.5-25 109.9-62.3c8.7 8.8 20.8 14.3 34.1 14.3c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48c-10.6 0-20.4 3.4-28.3 9.2C319.2 29.9 275.1 0 224 0s-95.2 29.9-115.7 73.2C100.4 67.4 90.6 64 80 64c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48c13.4 0 25.4-5.5 34.1-14.3C136.5 247 177.3 272 224 272zm128-96V144 128 112c0-8.8 7.2-16 16-16s16 7.2 16 16v64c0 8.8-7.2 16-16 16s-16-7.2-16-16zM168 336H280c75.1 0 136 60.9 136 136v8H32v-8c0-75.1 60.9-136 136-136zm0-32C75.2 304 0 379.2 0 472v8c0 17.7 14.3 32 32 32H416c17.7 0 32-14.3 32-32v-8c0-92.8-75.2-168-168-168H168zM96 144v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V112c0-8.8 7.2-16 16-16s16 7.2 16 16v16 16z\"]\n};\nvar faBlenderPhone = {\n prefix: 'fal',\n iconName: 'blender-phone',\n icon: [576, 512, [], \"f6b6\", \"M226.8 32L535 32 519 96H368c-8.8 0-16 7.2-16 16s7.2 16 16 16H511l-16 64H368c-8.8 0-16 7.2-16 16s7.2 16 16 16H487L455 352H253.4L226.8 32zM487.1 355.4L566.1 39.8C571.1 19.6 555.8 0 535 0H226.8c-18.7 0-33.4 16-31.9 34.7l26.6 319.5c-35.3 8.3-61.5 40-61.5 77.9v32c0 26.5 21.5 48 48 48H496c26.5 0 48-21.5 48-48V432c0-36.1-24-66.7-56.9-76.6zM240 384H464c26.5 0 48 21.5 48 48v32c0 8.8-7.2 16-16 16H208c-8.8 0-16-7.2-16-16V432c0-26.5 21.5-48 48-48zm136 48a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM120.1 116.7L95 114.2c-15.5-1.5-29.9 8.4-34 23.5c-9.6 35.5-9.6 73 0 108.6c4.1 15.1 18.5 25 34 23.5l25.1-2.5 21.8 53.5L96.3 350C10.6 261.5 10.6 122.5 96.3 34l45.6 29.2-21.8 53.5zm45-76.6L108.4 3.8C99-2.2 86-.9 78.1 6.8C-26 109.1-26 274.9 78.1 377.2c7.9 7.8 20.9 9.1 30.3 3.1l56.7-36.4c9.6-6.1 13.4-17.9 9.2-28.3l-26.9-66.1c-3.9-9.7-13.9-15.6-24.5-14.6l-31.1 3c-8.2-30-8.2-61.8 0-91.8l31 3c10.6 1 20.5-4.9 24.5-14.6l26.9-66.1c4.2-10.4 .4-22.2-9.2-28.3z\"]\n};\nvar faHourglassClock = {\n prefix: 'fal',\n iconName: 'hourglass-clock',\n icon: [576, 512, [], \"e41b\", \"M16 512c-8.8 0-16-7.2-16-16s7.2-16 16-16H32V438.4c0-49.4 22.8-96 61.8-126.3L165.9 256 93.8 199.9C54.8 169.6 32 122.9 32 73.6V32H16C7.2 32 0 24.8 0 16S7.2 0 16 0H48 336h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H352V73.6c0 49.4-22.8 96-61.8 126.3L218.1 256l52.8 41.1c-4.5 10.3-8.1 21.1-10.6 32.3L192 276.3l-78.6 61.1C82.2 361.6 64 398.9 64 438.4V480H296.2c10 12.1 21.7 22.9 34.6 32H48 16zM192 235.7l78.6-61.1c31.2-24.3 49.4-61.5 49.4-101V32H64V73.6c0 39.5 18.2 76.8 49.4 101L192 235.7zM432 480a112 112 0 1 0 0-224 112 112 0 1 0 0 224zm0-256a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm0 64c8.8 0 16 7.2 16 16v48h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H432c-8.8 0-16-7.2-16-16V304c0-8.8 7.2-16 16-16z\"]\n};\nvar faPersonSeatReclined = {\n prefix: 'fal',\n iconName: 'person-seat-reclined',\n icon: [512, 512, [], \"e21f\", \"M160 88a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zm24 56a56 56 0 1 1 0-112 56 56 0 1 1 0 112zM63.8 141.4L98.4 349.2c6.4 38.6 39.8 66.8 78.9 66.8H288c8.8 0 16 7.2 16 16s-7.2 16-16 16H177.3c-54.8 0-101.5-39.6-110.5-93.6L32.2 146.6c-1.5-8.7 4.4-17 13.2-18.4s17 4.4 18.4 13.2zm120.4 98.5l11.1 66.7c1.3 7.7 8 13.4 15.8 13.4h42l-12.9-77.2-.1-.4-1.9-11.6c-2.2-13.2-13.6-22.9-27-22.9c-16.9 0-29.8 15.2-27 31.9zm27-63.9c28.5 0 52.9 20.2 58.3 48H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H274.9l10.7 64h33.2c26.7 0 50.6 16.5 59.9 41.5L410 445l50.2-12.5c8.6-2.1 17.3 3.1 19.4 11.6s-3.1 17.3-11.6 19.4l-64 16c-7.9 2-16-2.3-18.9-9.9l-36.3-96.9c-4.7-12.5-16.6-20.8-30-20.8H272.3c-.2 0-.4 0-.6 0H211.1c-23.5 0-43.5-17-47.3-40.1l-11.1-66.7c-6-36.2 21.9-69.2 58.6-69.2z\"]\n};\nvar faPaperPlaneTop = {\n prefix: 'fal',\n iconName: 'paper-plane-top',\n icon: [512, 512, [\"paper-plane-alt\", \"send\"], \"e20a\", \"M3.4 78.3c-6-12-3.9-26.5 5.3-36.3s23.5-12.7 35.9-7.5l448 192c11.8 5 19.4 16.6 19.4 29.4s-7.6 24.4-19.4 29.4l-448 192c-12.3 5.3-26.7 2.3-35.9-7.5s-11.3-24.3-5.3-36.3L92.2 256 3.4 78.3zM120 272L32 448 442.7 272H120zm322.7-32L32 64l88 176H442.7z\"]\n};\nvar faPaperPlaneAlt = faPaperPlaneTop;\nvar faSend = faPaperPlaneTop;\nvar faMessageArrowUp = {\n prefix: 'fal',\n iconName: 'message-arrow-up',\n icon: [512, 512, [\"comment-alt-arrow-up\"], \"e1dc\", \"M192 416c0-17.7-14.3-32-32-32H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H448c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H309.3c-6.9 0-13.7 2.2-19.2 6.4L192 464V416zM64 0C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h64 32v32 48c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L309.3 416H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM272 304V150.6l52.7 52.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-80-80c-6.2-6.2-16.4-6.2-22.6 0l-80 80c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L240 150.6V304c0 8.8 7.2 16 16 16s16-7.2 16-16z\"]\n};\nvar faCommentAltArrowUp = faMessageArrowUp;\nvar faLightbulbExclamation = {\n prefix: 'fal',\n iconName: 'lightbulb-exclamation',\n icon: [384, 512, [], \"f671\", \"M336 176c0 30.6-9.5 58.8-25.7 82.1c-4.1 5.9-8.8 12.3-13.6 19c-12.7 17.5-27.1 37.2-38 57.1c-8.9 16.2-13.7 33.3-16.2 49.9H275c2.2-12 5.9-23.7 11.8-34.5c9.9-18 22.2-34.9 34.5-51.8l0 0 0 0 0 0c5.2-7.1 10.4-14.2 15.4-21.4c19.8-28.5 31.4-63 31.4-100.3C368 78.8 289.2 0 192 0S16 78.8 16 176c0 37.3 11.6 71.9 31.4 100.3c5 7.2 10.2 14.3 15.4 21.4l0 0 0 0 0 0c12.3 16.8 24.6 33.7 34.5 51.8c5.9 10.8 9.6 22.5 11.8 34.5h32.4c-2.5-16.6-7.3-33.7-16.2-49.9c-10.9-20-25.3-39.7-38-57.1l0 0c-4.9-6.7-9.5-13-13.6-19C57.5 234.8 48 206.6 48 176C48 96.5 112.5 32 192 32s144 64.5 144 144zM146.7 448h90.5c-6.6 18.6-24.4 32-45.3 32s-38.7-13.4-45.3-32zM112 432c0 44.2 35.8 80 80 80s80-35.8 80-80v-5.3c0-5.9-4.8-10.7-10.7-10.7H122.7c-5.9 0-10.7 4.8-10.7 10.7V432zM192 96c-8.8 0-16 7.2-16 16V240c0 8.8 7.2 16 16 16s16-7.2 16-16V112c0-8.8-7.2-16-16-16zm24 224a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faLayerMinus = {\n prefix: 'fal',\n iconName: 'layer-minus',\n icon: [576, 512, [\"layer-group-minus\"], \"f5fe\", \"M408 64H520c8.8 0 16 7.2 16 16s-7.2 16-16 16H408c-8.8 0-16-7.2-16-16s7.2-16 16-16zM266.2 132.7c6.9-3.1 14.3-4.7 21.8-4.7s15 1.6 21.8 4.7l217.4 97.5c10.2 4.6 16.8 14.7 16.8 25.9s-6.6 21.3-16.8 25.9L309.8 379.3c-6.9 3.1-14.3 4.7-21.8 4.7s-15-1.6-21.8-4.7L48.8 281.9C38.6 277.3 32 267.2 32 256s6.6-21.3 16.8-25.9l217.4-97.5zM288 160c-3 0-6 .6-8.8 1.9L69.3 256l210 94.1c2.8 1.2 5.7 1.9 8.8 1.9s6-.6 8.8-1.9l210-94.1-210-94.1c-2.8-1.2-5.7-1.9-8.8-1.9zM48.8 358.1l45.9-20.6 39.1 17.5L69.3 384l210 94.1c2.8 1.2 5.7 1.9 8.8 1.9s6-.6 8.8-1.9l210-94.1-64.5-28.9 39.1-17.5 45.9 20.6c10.2 4.6 16.8 14.7 16.8 25.9s-6.6 21.3-16.8 25.9L309.8 507.3c-6.9 3.1-14.3 4.7-21.8 4.7s-15-1.6-21.8-4.7L48.8 409.9C38.6 405.3 32 395.2 32 384s6.6-21.3 16.8-25.9z\"]\n};\nvar faLayerGroupMinus = faLayerMinus;\nvar faChartPieSimpleCircleCurrency = {\n prefix: 'fal',\n iconName: 'chart-pie-simple-circle-currency',\n icon: [640, 512, [], \"e604\", \"M288 224H394.8c-12.9 9.1-24.5 19.9-34.6 32H272c-8.8 0-16-7.2-16-16V17.7C256 8.1 263.4 0 273.1 0c116 0 212.7 82.7 234.4 192.4c-3.8-.2-7.6-.4-11.5-.4c-7.1 0-14.2 .4-21.1 1.2C455.2 105.6 379.9 39.1 288 32.5V224zm-32 64h83.2c-5.2 10.1-9.4 20.8-12.6 32H224c-17.7 0-32-14.3-32-32V69.6C100.3 91.2 32 173.7 32 272c0 114.9 93.1 208 208 208c37.1 0 71.9-9.7 102-26.7c5.2 9.4 11.3 18.3 18.1 26.5C324.8 500.3 283.8 512 240 512C107.5 512 0 404.6 0 272C0 156.5 81.5 60.1 190.2 37.2c18.1-3.8 33.8 11 33.8 29.5V256v32h32zM496 480a112 112 0 1 0 0-224 112 112 0 1 0 0 224zm0-256a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm25.4 169.4a35.9 35.9 0 1 0 -50.7-50.7 35.9 35.9 0 1 0 50.7 50.7zm10 32.6c-21.6 13.2-49.1 13.2-70.7 0l-9.3 9.3c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l9.3-9.3c-13.2-21.6-13.2-49.1 0-70.7l-9.3-9.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l9.3 9.3c21.6-13.2 49.1-13.2 70.7 0l9.3-9.3c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-9.3 9.3c13.2 21.6 13.2 49.1 0 70.7l9.3 9.3c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-9.3-9.3z\"]\n};\nvar faCircleE = {\n prefix: 'fal',\n iconName: 'circle-e',\n icon: [512, 512, [], \"e109\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM192 128c-17.7 0-32 14.3-32 32v96 96c0 17.7 14.3 32 32 32H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H192V272H304c8.8 0 16-7.2 16-16s-7.2-16-16-16H192V160H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H192z\"]\n};\nvar faBuildingWheat = {\n prefix: 'fal',\n iconName: 'building-wheat',\n icon: [640, 512, [], \"e4db\", \"M320 32c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H256V416c0-35.3-28.7-64-64-64s-64 28.7-64 64v64H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H320zM192 384c17.7 0 32 14.3 32 32v64H160V416c0-17.7 14.3-32 32-32zM64 512h64 32 64 32 64c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64zM88 96c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V120c0-13.3-10.7-24-24-24H88zm8 64V128h32v32H96zm128-40v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V120c0-13.3-10.7-24-24-24H248c-13.3 0-24 10.7-24 24zm32 8h32v32H256V128zM88 224c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V248c0-13.3-10.7-24-24-24H88zm8 64V256h32v32H96zm128-40v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V248c0-13.3-10.7-24-24-24H248c-13.3 0-24 10.7-24 24zm32 8h32v32H256V256zm368-64H608c-33.4 0-62.8 17-80 42.9C510.8 209 481.4 192 448 192H432c-8.8 0-16 7.2-16 16v16c0 24.6 9.2 47 24.4 64H432c-8.8 0-16 7.2-16 16v16c0 24.6 9.2 47 24.4 64H432c-8.8 0-16 7.2-16 16v16c0 53 43 96 96 96h16 16c53 0 96-43 96-96V400c0-8.8-7.2-16-16-16h-8.4c15.2-17 24.4-39.4 24.4-64V304c0-8.8-7.2-16-16-16h-8.4c15.2-17 24.4-39.4 24.4-64V208c0-8.8-7.2-16-16-16zm-80 96c0-35.3 28.7-64 64-64c0 35.3-28.7 64-64 64v0zm-32 0c-35.3 0-64-28.7-64-64c35.3 0 64 28.7 64 64zm16 32h8.4c-3.1 3.4-5.9 7.1-8.4 10.9c-2.6-3.8-5.4-7.5-8.4-10.9H528zm0 106.9c-2.6-3.8-5.4-7.5-8.4-10.9H528h8.4c-3.1 3.4-5.9 7.1-8.4 10.9zM544 384v0c0-35.3 28.7-64 64-64c0 35.3-28.7 64-64 64zm-32 0c-35.3 0-64-28.7-64-64c35.3 0 64 28.7 64 64zm32 96c0-35.3 28.7-64 64-64c0 35.3-28.7 64-64 64v0zm-32 0c-35.3 0-64-28.7-64-64c35.3 0 64 28.7 64 64zM528 32c-8.8 0-16 7.2-16 16V160c0 8.8 7.2 16 16 16s16-7.2 16-16V48c0-8.8-7.2-16-16-16zm64 48c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16s16-7.2 16-16V96c0-8.8-7.2-16-16-16zM448 144c0 8.8 7.2 16 16 16s16-7.2 16-16V96c0-8.8-7.2-16-16-16s-16 7.2-16 16v48z\"]\n};\nvar faGaugeMax = {\n prefix: 'fal',\n iconName: 'gauge-max',\n icon: [512, 512, [\"tachometer-alt-fastest\"], \"f626\", \"M256 480a224 224 0 1 0 0-448 224 224 0 1 0 0 448zM256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zm24 96a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zM224 352a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm-32 0c0-35.3 28.7-64 64-64c17.5 0 33.4 7 44.9 18.4l106.9-64.1c7.6-4.5 17.4-2.1 22 5.5s2.1 17.4-5.5 22L317.4 333.8c1.7 5.8 2.6 11.9 2.6 18.2c0 35.3-28.7 64-64 64s-64-28.7-64-64zM392 144a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zM96 232a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm72-88a24 24 0 1 1 -48 0 24 24 0 1 1 48 0z\"]\n};\nvar faTachometerAltFastest = faGaugeMax;\nvar faPersonBreastfeeding = {\n prefix: 'fal',\n iconName: 'person-breastfeeding',\n icon: [448, 512, [], \"e53a\", \"M176 80a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm128 0A80 80 0 1 0 144 80a80 80 0 1 0 160 0zM103.3 273.9c20.8-31.2 55.7-49.9 93.2-49.9h68.1c30.9 0 60.5 12.8 81.6 35.3l55.5 59.1c14.6 15.6 14.4 39.9-.4 55.2l-76.8 79.2c-6.2 6.3-6 16.5 .3 22.6s16.5 6 22.6-.3l76.8-79.2c26.8-27.6 27.1-71.4 .8-99.4l-55.5-59.1c-27.2-29-65.2-45.4-105-45.4H196.5c-48.1 0-93.1 24.1-119.8 64.1L23 336.7C-1.5 373.4 12.6 423.4 52.7 442l148.6 68.6c8 3.7 17.5 .2 21.2-7.8s.2-17.5-7.8-21.2L66.1 412.9C43.8 402.6 36 374.8 49.6 354.4l53.7-80.5zM192 320c0-8.8-7.2-16-16-16s-16 7.2-16 16v43.4c0 6 1.7 11.9 4.9 17c26.3 42.1 72.4 67.6 122 67.6H288c8.8 0 16-7.2 16-16s-7.2-16-16-16h-1.1c-38.6 0-74.4-19.9-94.9-52.6V320zm80 0a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm0 64a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faApostrophe = {\n prefix: 'fal',\n iconName: 'apostrophe',\n icon: [192, 512, [], \"27\", \"M78.7 320.1c-8.8 .7-15.3 8.5-14.6 17.3s8.5 15.3 17.3 14.6l8-.7c58-4.8 102.7-53.4 102.7-111.6V160 128 96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96v64c0 35.3 28.7 64 64 64h64c11.7 0 22.6-3.1 32-8.6v24.2c0 41.6-31.9 76.3-73.4 79.7l-8 .7zM160 160c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32v32 32z\"]\n};\nvar faFilePng = {\n prefix: 'fal',\n iconName: 'file-png',\n icon: [512, 512, [], \"e666\", \"M64 480l48 0 0 32-48 0c-35.3 0-64-28.7-64-64L0 64C0 28.7 28.7 0 64 0L220.1 0c12.7 0 24.9 5.1 33.9 14.1L369.9 129.9c9 9 14.1 21.2 14.1 33.9L384 304l-32 0 0-112-112 0c-26.5 0-48-21.5-48-48l0-112L64 32C46.3 32 32 46.3 32 64l0 384c0 17.7 14.3 32 32 32zM351.5 160c-.7-2.8-2.1-5.4-4.2-7.4L231.4 36.7c-2.1-2.1-4.6-3.5-7.4-4.2L224 144c0 8.8 7.2 16 16 16l111.5 0zM318.3 360.8L352 428.2l0-60.2c0-8.8 7.2-16 16-16s16 7.2 16 16l0 128c0 7.4-5.1 13.9-12.3 15.6s-14.7-1.8-18-8.4L320 435.8l0 60.2c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-128c0-7.4 5.1-13.9 12.3-15.6s14.7 1.8 18 8.4zM176 352l32 0c30.9 0 56 25.1 56 56s-25.1 56-56 56l-16 0 0 32c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-48 0-80c0-8.8 7.2-16 16-16zm32 80c13.3 0 24-10.7 24-24s-10.7-24-24-24l-16 0 0 48 16 0zm208-40c0-22.1 17.9-40 40-40l16 0c22.1 0 40 17.9 40 40l0 8c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-8c0-4.4-3.6-8-8-8l-16 0c-4.4 0-8 3.6-8 8l0 80c0 4.4 3.6 8 8 8l16 0c4.4 0 8-3.6 8-8l0-8c-8.8 0-16-7.2-16-16s7.2-16 16-16l16 0c8.8 0 16 7.2 16 16l0 24c0 22.1-17.9 40-40 40l-16 0c-22.1 0-40-17.9-40-40l0-80z\"]\n};\nvar faFireHydrant = {\n prefix: 'fal',\n iconName: 'fire-hydrant',\n icon: [384, 512, [], \"e17f\", \"M192 0c8.8 0 16 7.2 16 16V33c57.9 7.2 103.8 53.1 111 111h17c8.8 0 16 7.2 16 16s-7.2 16-16 16H48c-8.8 0-16-7.2-16-16s7.2-16 16-16H65C72.2 86.1 118.1 40.2 176 33V16c0-8.8 7.2-16 16-16zm0 64c-47.6 0-87.1 34.6-94.7 80H286.7c-7.6-45.4-47.1-80-94.7-80zM32 496c0-8.8 7.2-16 16-16H64V400H48c-26.5 0-48-21.5-48-48V288c0-26.5 21.5-48 48-48H64V208H96v48V384v96H288V384 256 208h32v32h16c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H320v80h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H304 80 48c-8.8 0-16-7.2-16-16zM320 368h16c8.8 0 16-7.2 16-16V288c0-8.8-7.2-16-16-16H320v96zM64 368V272H48c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16H64zm160-48a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-96 0a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z\"]\n};\nvar faRightToBracket = {\n prefix: 'fal',\n iconName: 'right-to-bracket',\n icon: [512, 512, [\"sign-in-alt\"], \"f2f6\", \"M319.2 257.8c.5-.5 .8-1.1 .8-1.8s-.3-1.4-.8-1.8L187.3 129.8c-1.2-1.2-2.9-1.8-4.6-1.8c-3.7 0-6.7 3-6.7 6.7l0 57.3c0 8.8-7.2 16-16 16L40 208c-4.4 0-8 3.6-8 8l0 80c0 4.4 3.6 8 8 8l120 0c8.8 0 16 7.2 16 16l0 57.3c0 3.7 3 6.7 6.7 6.7c1.7 0 3.3-.6 4.6-1.8L319.2 257.8zM352 256c0 9.5-3.9 18.6-10.8 25.1L209.2 405.5c-7.2 6.8-16.7 10.5-26.5 10.5c-21.4 0-38.7-17.3-38.7-38.7l0-41.3L40 336c-22.1 0-40-17.9-40-40l0-80c0-22.1 17.9-40 40-40l104 0 0-41.3c0-21.4 17.3-38.7 38.7-38.7c9.9 0 19.3 3.8 26.5 10.5L341.2 230.9c6.9 6.5 10.8 15.6 10.8 25.1zM336 448l96 0c26.5 0 48-21.5 48-48l0-288c0-26.5-21.5-48-48-48l-96 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l96 0c44.2 0 80 35.8 80 80l0 288c0 44.2-35.8 80-80 80l-96 0c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faSignInAlt = faRightToBracket;\nvar faVideoPlus = {\n prefix: 'fal',\n iconName: 'video-plus',\n icon: [576, 512, [], \"f4e1\", \"M320 96c17.7 0 32 14.3 32 32V384c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V128c0-17.7 14.3-32 32-32H320zM64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V336.8 175.2 128c0-35.3-28.7-64-64-64H64zM416 354.4l103.4 56.9c5.6 3.1 12 4.7 18.4 4.7c21.1 0 38.2-17.1 38.2-38.2V134.2c0-21.1-17.1-38.2-38.2-38.2c-6.4 0-12.8 1.6-18.4 4.7L416 157.6v36.5l118.8-65.4c.9-.5 1.9-.8 3-.8c3.4 0 6.2 2.8 6.2 6.2V377.8c0 3.4-2.8 6.2-6.2 6.2c-1 0-2.1-.3-3-.8L416 317.9v36.5zM208 176c0-8.8-7.2-16-16-16s-16 7.2-16 16v64H112c-8.8 0-16 7.2-16 16s7.2 16 16 16h64v64c0 8.8 7.2 16 16 16s16-7.2 16-16V272h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H208V176z\"]\n};\nvar faSquareRight = {\n prefix: 'fal',\n iconName: 'square-right',\n icon: [448, 512, [10145, \"arrow-alt-square-right\"], \"f352\", \"M416 96c0-17.7-14.3-32-32-32L64 64C46.3 64 32 78.3 32 96l0 320c0 17.7 14.3 32 32 32l320 0c17.7 0 32-14.3 32-32l0-320zM384 32c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l320 0zM368 256c0 9.2-3.5 18-9.7 24.7l-84 91c-7.2 7.8-17.4 12.3-28.1 12.3c-21.1 0-38.3-17.1-38.3-38.3l0-25.7-80 0c-26.5 0-48-21.5-48-48l0-32c0-26.5 21.5-48 48-48l80 0 0-25.7c0-21.1 17.1-38.3 38.3-38.3c10.7 0 20.9 4.5 28.1 12.3l84 91c6.2 6.7 9.7 15.6 9.7 24.7zm-33.2-3l-84-91c-1.2-1.3-2.9-2-4.6-2c-3.5 0-6.3 2.8-6.3 6.3l0 41.7c0 8.8-7.2 16-16 16l-96 0c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l96 0c8.8 0 16 7.2 16 16l0 41.7c0 3.5 2.8 6.3 6.3 6.3c1.7 0 3.4-.7 4.6-2l84-91c.8-.8 1.2-1.9 1.2-3s-.4-2.2-1.2-3z\"]\n};\nvar faArrowAltSquareRight = faSquareRight;\nvar faCommentSmile = {\n prefix: 'fal',\n iconName: 'comment-smile',\n icon: [512, 512, [], \"f4b4\", \"M32 240c0-91.4 93.8-176 224-176s224 84.6 224 176s-93.8 176-224 176c-32 0-63-5.9-93.5-16.2c-9.9-3.3-20.7-1.8-29.2 4.2c-15.4 10.7-31.4 20-48.4 27.4L91.2 446l-6.4-14.7c-10.5 4.6-21.5 8.6-32.7 11.5c.5-.9 1.1-1.8 1.6-2.6C68 416.5 76.3 391 79.4 363.9c1-9.2-2.1-17.7-7.4-23.9c-24.5-29.4-40-62.9-40-100zM256 32C114.5 32 0 125.2 0 240c0 46.6 19.6 87.1 47.4 120.5c0 .1 .1 .1 .1 .2c-2.6 22.6-9.5 43.5-21.3 63.1c-6.5 10.8-13.5 20.8-21.7 29c-4.5 4.6-5.9 11.5-3.4 17.4s8.3 9.8 14.8 9.8c28.7 0 57.6-8.9 81.6-19.3c19.2-8.4 37.1-18.7 53.9-30.5c.2-.1 .5-.2 .7-.1C185.5 441.3 220 448 256 448c141.5 0 256-93.2 256-208S397.5 32 256 32zM192 216a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm128 0a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM155.9 284.1c-6.6 5.9-7.1 16-1.3 22.6C179.5 334.5 215.7 352 256 352s76.5-17.5 101.4-45.3c5.9-6.6 5.3-16.7-1.3-22.6s-16.7-5.3-22.6 1.3C314.5 306.6 286.8 320 256 320s-58.5-13.4-77.5-34.7c-5.9-6.6-16-7.1-22.6-1.3z\"]\n};\nvar faVenus = {\n prefix: 'fal',\n iconName: 'venus',\n icon: [384, 512, [9792], \"f221\", \"M48 176a144 144 0 1 1 288 0A144 144 0 1 1 48 176zM208 351.3c89.7-8.1 160-83.5 160-175.3C368 78.8 289.2 0 192 0S16 78.8 16 176c0 91.8 70.3 167.2 160 175.3V416H112c-8.8 0-16 7.2-16 16s7.2 16 16 16h64v48c0 8.8 7.2 16 16 16s16-7.2 16-16V448h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H208V351.3z\"]\n};\nvar faPassport = {\n prefix: 'fal',\n iconName: 'passport',\n icon: [448, 512, [], \"f5ab\", \"M384 32c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H384zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM96 400c0 8.8 7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H112c-8.8 0-16 7.2-16 16zm33.3-192h39.1c1.6 30.4 7.7 53.8 14.6 70.8c-27.9-13.2-48.4-39.4-53.7-70.8zM224 288l-.3 0c-2.4-3.5-5.7-8.9-9.1-16.5c-6-13.6-12.4-34.3-14.2-63.5h47.1c-1.8 29.2-8.1 49.9-14.2 63.5c-3.4 7.6-6.7 13-9.1 16.5l-.3 0zm94.7-80c-5.3 31.4-25.8 57.6-53.7 70.8c6.8-17.1 12.9-40.4 14.6-70.8h39.1zm0-32H279.6c-1.6-30.4-7.7-53.8-14.6-70.8c27.9 13.2 48.4 39.4 53.7 70.8zM224 96l.3 0c2.4 3.5 5.7 8.9 9.1 16.5c6 13.6 12.4 34.3 14.2 63.5H200.5c1.8-29.2 8.1-49.9 14.2-63.5c3.4-7.6 6.7-13 9.1-16.5l.3 0zm-94.7 80c5.3-31.4 25.8-57.6 53.7-70.8c-6.8 17.1-12.9 40.4-14.6 70.8H129.3zM224 320a128 128 0 1 0 0-256 128 128 0 1 0 0 256z\"]\n};\nvar faInboxIn = {\n prefix: 'fal',\n iconName: 'inbox-in',\n icon: [512, 512, [128229, \"inbox-arrow-down\"], \"f310\", \"M272 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V265.4l-84.7-84.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l112 112c6.2 6.2 16.4 6.2 22.6 0l112-112c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L272 265.4V16zM48 352h66.3c6.1 0 11.6 3.4 14.3 8.8L143 389.5c8.1 16.3 24.8 26.5 42.9 26.5H326.1c18.2 0 34.8-10.3 42.9-26.5l-28.6-14.3L369 389.5l14.3-28.6c2.7-5.4 8.3-8.8 14.3-8.8H464c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16H48c-8.8 0-16-7.2-16-16V368c0-8.8 7.2-16 16-16zm306.7-5.5l-14.3 28.6c-2.7 5.4-8.2 8.8-14.3 8.8H185.9c-6.1 0-11.6-3.4-14.3-8.8l-14.3-28.6c-8.1-16.3-24.8-26.5-42.9-26.5H48c-26.5 0-48 21.5-48 48v96c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V368c0-26.5-21.5-48-48-48H397.7c-18.2 0-34.8 10.3-42.9 26.5z\"]\n};\nvar faInboxArrowDown = faInboxIn;\nvar faHeartPulse = {\n prefix: 'fal',\n iconName: 'heart-pulse',\n icon: [512, 512, [\"heartbeat\"], \"f21e\", \"M244 130.6c3 3.4 7.4 5.4 12 5.4s8.9-2 12-5.4l12-13.5 4.2-4.7c26-29.2 65.3-42.8 103.8-35.8c53.3 9.7 92 56.1 92 110.3v3.5c0 23.8-7.3 46.7-20.5 66c-1.1-.2-2.3-.4-3.5-.4H371.8c-6.1 0-11.6-3.4-14.3-8.8l-23.2-46.3c-2.7-5.4-8.2-8.8-14.3-8.8s-11.6 3.4-14.3 8.8l-48.9 97.9L198.6 169.4c-2.6-5.8-8.4-9.5-14.8-9.4s-12.1 4-14.5 9.8l-31.8 76.3c-2.5 6-8.3 9.8-14.8 9.8H56c-1.2 0-2.4 .1-3.5 .4C39.3 237.1 32 214.2 32 190.4v-3.5c0-54.2 38.7-100.6 92-110.3c38.5-7 77.8 6.6 103.8 35.8l4.2 4.7 12 13.5zM429.6 288l0 0h45.8l.1-.1C498.9 261 512 226.4 512 190.4v-3.5c0-69.6-49.8-129.3-118.3-141.8c-40.9-7.4-82.6 3.2-114.7 28.4c-1.8 1.4-3.6 2.9-5.4 4.5c-4.7 4.1-9.1 8.4-13.3 13.1L256 95.9l-4.2-4.7c-5.8-6.5-12-12.4-18.7-17.6C201 48.4 159.3 37.7 118.3 45.1C49.8 57.6 0 117.3 0 186.9v3.5c0 36 13.1 70.6 36.6 97.5l.1 .1H82.4l0 0h40.2c19.4 0 36.9-11.7 44.3-29.5l17.6-42.2 56.8 126.3c2.5 5.6 8.1 9.3 14.3 9.4s11.9-3.3 14.6-8.8L320 243.8l8.8 17.7c8.1 16.3 24.8 26.5 42.9 26.5h57.8zM69.8 320L231.2 470.3c6.7 6.3 15.6 9.7 24.8 9.7c8 0 15.8-2.7 22.1-7.5c.9-.7 1.8-1.4 2.6-2.2L442.2 320h-47L259 446.8c-.8 .7-1.9 1.2-3 1.2s-2.2-.4-3-1.2L116.8 320h-47z\"]\n};\nvar faHeartbeat = faHeartPulse;\nvar faCircle8 = {\n prefix: 'fal',\n iconName: 'circle-8',\n icon: [512, 512, [], \"e0f5\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM268 128c37.6 0 68 30.4 68 68c0 20.2-8.8 38.4-22.9 50.9C331.9 260.7 344 282.9 344 308c0 42-34 76-76 76H244c-42 0-76-34-76-76c0-25.1 12.1-47.3 30.9-61.1c-14-12.5-22.9-30.6-22.9-50.9c0-37.6 30.4-68 68-68h24zM244 232s0 0 0 0h24c19.9 0 36-16.1 36-36s-16.1-36-36-36H244c-19.9 0-36 16.1-36 36s16.1 36 36 36zm24 32H244c-24.3 0-44 19.7-44 44s19.7 44 44 44h24c24.3 0 44-19.7 44-44s-19.7-44-44-44z\"]\n};\nvar faCloudsMoon = {\n prefix: 'fal',\n iconName: 'clouds-moon',\n icon: [640, 512, [], \"f745\", \"M384 160c0-57.7 38-106.5 90.3-122.5c-21.2 25.7-33.9 58.8-33.9 94.8c0 72.3 51.4 132.7 119.7 146.1c-14.9 6.2-31.3 9.6-48.5 9.6c-19.9 0-38.7-4.6-55.5-12.7c2.5 6.8 4.5 13.8 5.8 21.1c14.2 5.5 27.2 13.4 38.5 23.2c3.7 .3 7.4 .4 11.2 .4c43.2 0 82.5-17.3 111.2-45.3c5-4.9 6.3-12.5 3.1-18.7s-10.1-9.7-17-8.5c-6.5 1.1-13.2 1.7-20 1.7c-64.3 0-116.5-52.3-116.5-116.9c0-43.7 23.9-81.8 59.3-101.9c6.1-3.5 9.2-10.5 7.7-17.3S532 1.2 525.1 .6c-4.5-.4-9-.6-13.5-.6C423.4 0 352 71.7 352 160c0 11.5 1.2 22.7 3.5 33.4c12.9 2 25.2 5.9 36.6 11.4c-5.2-14-8-29.1-8-44.8zm-48.1 96c35.3 0 64 28.7 64 64c0 4.4-.4 8.7-1.3 12.8c-1 4.8 .3 9.7 3.4 13.4s7.7 5.8 12.6 5.8c.2 0 .5 0 .7 0c.2 0 .4 0 .6 0c35.3 0 64 28.7 64 64s-28.7 64-64 64c-.8 0-1.6 0-2.3 0c-.1 0-.2 0-.3 0c-.1 0-.2 0-.2 0H146.3l-.2 0-.3 0c-.6 0-1.2 0-1.8 0c-26.5 0-48-21.5-48-48s21.5-48 48-48l.2 0 0 0 8.3 0c5.7 0 11-3 13.9-8s2.9-11.1 0-16c-4.1-7-6.4-15.2-6.4-24c0-26.5 21.5-48 48-48c15.7 0 29.6 7.5 38.4 19.2c3.6 4.8 9.7 7.2 15.7 6.1s10.8-5.4 12.5-11.3c7.8-26.6 32.4-46 61.4-46zm96 64c0-53-43-96-96-96c-34.9 0-65.4 18.6-82.2 46.4c-13-9.1-28.7-14.4-45.8-14.4c-44.2 0-80 35.8-80 80c0 5.9 .6 11.7 1.9 17.2C92.4 359.9 64 392.6 64 432c0 44.2 35.8 80 80 80c.9 0 1.8 0 2.7 0H412.7c1.1 0 2.1 .1 3.2 .1c53 0 96-43 96-96c0-47.6-34.6-87-80-94.7l0-1.3zM320 192.1h0c0-35.3-28.6-64-64-64c-7.4 0-14.6 1.3-21.2 3.6c-11.5-30.1-40.6-51.6-74.8-51.6c-38.9 0-71.3 27.8-78.5 64.6c-3.1-.4-6.3-.6-9.5-.6c-39.8 0-72 32.2-72 72s32.2 72 72 72l0 0h34.8c5.7-12 13.4-22.8 22.8-32H73.5c-.5 0-.9 0-1.4 0c-22.1 0-40-17.9-40-40s17.9-40 40-40c1.8 0 3.6 .1 5.3 .3c16.8 2.2 32.3-9 35.6-25.6c4.3-22.1 23.8-38.7 47.1-38.7c20.4 0 38 12.8 44.9 30.9c6.2 16.2 24.1 24.6 40.5 18.8c3.3-1.1 6.8-1.8 10.6-1.8c17.7 0 32 14.3 32 32c0 .3 0 .6 0 .9c0 2.9-.3 5.8-.7 8.6c10.3-4.2 21.3-7.2 32.7-8.6l0-.9z\"]\n};\nvar faClockTenThirty = {\n prefix: 'fal',\n iconName: 'clock-ten-thirty',\n icon: [512, 512, [], \"e355\", \"M32 256a224 224 0 1 1 448 0A224 224 0 1 1 32 256zm480 0A256 256 0 1 0 0 256a256 256 0 1 0 512 0zM272 400V256c0-5.3-2.7-10.3-7.1-13.3l-96-64c-7.4-4.9-17.3-2.9-22.2 4.4s-2.9 17.3 4.4 22.2L240 264.6V400c0 8.8 7.2 16 16 16s16-7.2 16-16z\"]\n};\nvar faPeopleCarryBox = {\n prefix: 'fal',\n iconName: 'people-carry-box',\n icon: [640, 512, [\"people-carry\"], \"f4ce\", \"M136 80a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-80a56 56 0 1 1 0 112A56 56 0 1 1 136 0zM67.8 343.4l25.9 20.3L30.6 502.6c-3.7 8-13.1 11.6-21.2 7.9s-11.6-13.1-7.9-21.2l66.4-146zM96 193.2v87c0 5 2.3 9.7 6.2 12.7L128 312.7V179.4c-4.5-2.2-9.6-3.4-14.8-3.4c-9.5 0-17.2 7.7-17.2 17.2zm87.8 82.1L160 227.8V337.3l29 22.3c6.1 4.7 10.4 11.5 11.9 19.1l22.8 114.1c1.7 8.7-3.9 17.1-12.6 18.8s-17.1-3.9-18.8-12.6L169.5 385 82.7 318.3c-11.8-9.1-18.7-23.1-18.7-38v-87C64 166 86 144 113.2 144c24.9 0 47.7 14.1 58.9 36.4L212.4 261l11.6 7.7V160c0-17.7 14.3-32 32-32H384c17.7 0 32 14.3 32 32V268.8l11.6-7.7 40.3-80.7c11.1-22.3 33.9-36.4 58.9-36.4c27.2 0 49.2 22 49.2 49.2v87c0 14.9-6.9 29-18.7 38L470.5 385 447.7 499.1c-1.7 8.7-10.2 14.3-18.8 12.6s-14.3-10.2-12.6-18.8l22.8-114.1c1.5-7.6 5.7-14.4 11.9-19.1l29-22.3V227.8l-23.8 47.6c-2.5 5-6.2 9.2-10.9 12.3l-44.5 29.6c-3.7 2.5-8.1 3.2-12.2 2.3c-1.5 .2-3.1 .3-4.7 .3H256c-1.6 0-3.2-.1-4.7-.3c-4.1 .9-8.4 .1-12.2-2.3l-44.5-29.6c-4.6-3.1-8.4-7.3-10.9-12.3zM504 80a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-80a56 56 0 1 1 0 112A56 56 0 1 1 504 0zm68.2 343.4l66.4 146c3.7 8 .1 17.5-7.9 21.2s-17.5 .1-21.2-7.9L546.3 363.7l25.9-20.3zM544 193.2c0-9.5-7.7-17.2-17.2-17.2c-5.2 0-10.3 1.2-14.8 3.4V312.7l25.8-19.8c3.9-3 6.2-7.7 6.2-12.7v-87zM256 160V288H384V160H256z\"]\n};\nvar faPeopleCarry = faPeopleCarryBox;\nvar faFolderUser = {\n prefix: 'fal',\n iconName: 'folder-user',\n icon: [512, 512, [], \"e18e\", \"M32 96c0-17.7 14.3-32 32-32H188.1c8.5 0 16.6 3.4 22.6 9.4l35.9 35.9c12 12 28.3 18.7 45.3 18.7H448c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V96zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H291.9c-8.5 0-16.6-3.4-22.6-9.4L233.4 50.7c-12-12-28.3-18.7-45.3-18.7H64zM256 192a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 96a64 64 0 1 0 0-128 64 64 0 1 0 0 128zm-32 64h64c26.5 0 48 21.5 48 48c0 8.8 7.2 16 16 16s16-7.2 16-16c0-44.2-35.8-80-80-80H224c-44.2 0-80 35.8-80 80c0 8.8 7.2 16 16 16s16-7.2 16-16c0-26.5 21.5-48 48-48z\"]\n};\nvar faTrashCanXmark = {\n prefix: 'fal',\n iconName: 'trash-can-xmark',\n icon: [448, 512, [], \"e2ae\", \"M164.2 39.5L148.9 64H299.1L283.8 39.5c-2.9-4.7-8.1-7.5-13.6-7.5H177.7c-5.5 0-10.6 2.8-13.6 7.5zM311 22.6L336.9 64H384h32 16c8.8 0 16 7.2 16 16s-7.2 16-16 16H416V432c0 44.2-35.8 80-80 80H112c-44.2 0-80-35.8-80-80V96H16C7.2 96 0 88.8 0 80s7.2-16 16-16H32 64h47.1L137 22.6C145.8 8.5 161.2 0 177.7 0h92.5c16.6 0 31.9 8.5 40.7 22.6zM64 96V432c0 26.5 21.5 48 48 48H336c26.5 0 48-21.5 48-48V96H64zm84.7 116.7c6.2-6.2 16.4-6.2 22.6 0L224 265.4l52.7-52.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L246.6 288l52.7 52.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L224 310.6l-52.7 52.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L201.4 288l-52.7-52.7c-6.2-6.2-6.2-16.4 0-22.6z\"]\n};\nvar faTemperatureHigh = {\n prefix: 'fal',\n iconName: 'temperature-high',\n icon: [512, 512, [], \"f769\", \"M416 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 96A64 64 0 1 0 416 0a64 64 0 1 0 0 128zM112 96c0-35.3 28.7-64 64-64s64 28.7 64 64V252.7c0 14.9 7 27.7 16 36.9c19.8 20.2 32 47.9 32 78.4c0 61.9-50.1 112-112 112s-112-50.1-112-112c0-30.5 12.2-58.2 32-78.4c9-9.2 16-22 16-36.9V96zM176 0C123 0 80 43 80 96V252.7c0 4.6-2.2 9.8-6.8 14.5C47.7 293.1 32 328.8 32 368c0 79.5 64.5 144 144 144s144-64.5 144-144c0-39.3-15.7-74.9-41.2-100.8c-4.6-4.7-6.8-9.9-6.8-14.5V96c0-53-43-96-96-96zM144 368a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm96 0c0-29.8-20.4-54.9-48-62V96c0-8.8-7.2-16-16-16s-16 7.2-16 16V306c-27.6 7.1-48 32.2-48 62c0 35.3 28.7 64 64 64s64-28.7 64-64z\"]\n};\nvar faMicrochip = {\n prefix: 'fal',\n iconName: 'microchip',\n icon: [512, 512, [], \"f2db\", \"M176 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V64H128c-35.3 0-64 28.7-64 64v16H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H64v64H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H64v64H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H64v16c0 35.3 28.7 64 64 64h16v48c0 8.8 7.2 16 16 16s16-7.2 16-16V448h64v48c0 8.8 7.2 16 16 16s16-7.2 16-16V448h64v48c0 8.8 7.2 16 16 16s16-7.2 16-16V448h16c35.3 0 64-28.7 64-64V368h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H448V272h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H448V176h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H448V128c0-35.3-28.7-64-64-64H368V16c0-8.8-7.2-16-16-16s-16 7.2-16 16V64H272V16c0-8.8-7.2-16-16-16s-16 7.2-16 16V64H176V16zM416 128V384c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32V128c0-17.7 14.3-32 32-32H384c17.7 0 32 14.3 32 32zm-256 0c-17.7 0-32 14.3-32 32V352c0 17.7 14.3 32 32 32H352c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32H160zm192 32V352H160V160H352z\"]\n};\nvar faLeftLongToLine = {\n prefix: 'fal',\n iconName: 'left-long-to-line',\n icon: [640, 512, [], \"e41e\", \"M0 80L0 432c0 8.8 7.2 16 16 16s16-7.2 16-16L32 80c0-8.8-7.2-16-16-16S0 71.2 0 80zM320 216l272 0c8.8 0 16 7.2 16 16l0 48c0 8.8-7.2 16-16 16l-272 0c-17.7 0-32 14.3-32 32l0 49.3c0 3.7-3 6.7-6.7 6.7c-1.9 0-3.7-.8-5-2.2L163.8 256 276.3 130.2c1.3-1.4 3.1-2.2 5-2.2c3.7 0 6.7 3 6.7 6.7l0 49.3c0 17.7 14.3 32 32 32zM128 256c0 5.2 1.9 10.1 5.3 14L252.5 403.1c7.3 8.2 17.8 12.9 28.8 12.9c21.4 0 38.7-17.3 38.7-38.7l0-17.3 0-32 32 0 240 0c26.5 0 48-21.5 48-48l0-48c0-26.5-21.5-48-48-48l-240 0-32 0 0-32 0-17.3c0-21.4-17.3-38.7-38.7-38.7c-11 0-21.5 4.7-28.8 12.9L133.3 242c-3.4 3.8-5.3 8.8-5.3 14z\"]\n};\nvar faCrown = {\n prefix: 'fal',\n iconName: 'crown',\n icon: [576, 512, [128081], \"f521\", \"M309 106c11.4-7 19-19.7 19-34c0-22.1-17.9-40-40-40s-40 17.9-40 40c0 14.4 7.6 27 19 34L209.7 220.6c-9.1 18.2-32.7 23.4-48.6 10.7L72 160c5-6.7 8-15 8-24c0-22.1-17.9-40-40-40S0 113.9 0 136s17.9 40 40 40l.7 0L86.4 427.4c5.5 30.4 32 52.6 63 52.6H426.6c30.9 0 57.4-22.1 63-52.6L535.3 176c.2 0 .5 0 .7 0c22.1 0 40-17.9 40-40s-17.9-40-40-40s-40 17.9-40 40c0 9 3 17.3 8 24l-89.1 71.3c-15.9 12.7-39.5 7.5-48.6-10.7L309 106zM117.9 421.7L78.8 206.4l62.3 49.9c31.8 25.5 79 15.1 97.2-21.4L288 135.6l49.7 99.4c18.2 36.4 65.4 46.8 97.2 21.4l62.3-49.9L458.1 421.7c-2.8 15.2-16 26.3-31.5 26.3H149.4c-15.5 0-28.7-11.1-31.5-26.3z\"]\n};\nvar faWeightHanging = {\n prefix: 'fal',\n iconName: 'weight-hanging',\n icon: [512, 512, [], \"f5cd\", \"M208 80a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm112 48c10-13.4 16-30 16-48c0-44.2-35.8-80-80-80s-80 35.8-80 80c0 18 6 34.6 16 48H120c-22 0-41.2 15-46.6 36.4l-72 288c-3.6 14.3-.4 29.5 8.7 41.2S33.2 512 48 512H464c14.8 0 28.7-6.8 37.8-18.5s12.3-26.8 8.7-41.2l-72-288C433.2 143 414 128 392 128H320zm-64 32H392c7.3 0 13.7 5 15.5 12.1l72 288c1.2 4.8 .1 9.8-2.9 13.7s-7.7 6.2-12.6 6.2H48c-4.9 0-9.6-2.3-12.6-6.2s-4.1-8.9-2.9-13.7l72-288c1.8-7.1 8.2-12.1 15.5-12.1H256z\"]\n};\nvar faXmarksLines = {\n prefix: 'fal',\n iconName: 'xmarks-lines',\n icon: [640, 512, [], \"e59a\", \"M16 32H624c8.8 0 16 7.2 16 16s-7.2 16-16 16H16C7.2 64 0 56.8 0 48s7.2-16 16-16zm0 416H624c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16-7.2-16-16s7.2-16 16-16zM228.7 164.7c6.2-6.2 16.4-6.2 22.6 0L320 233.4l68.7-68.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L342.6 256l68.7 68.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L320 278.6l-68.7 68.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L297.4 256l-68.7-68.7c-6.2-6.2-6.2-16.4 0-22.6zM118.6 256l68.7 68.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L96 278.6 27.3 347.3c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L73.4 256 4.7 187.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L96 233.4l68.7-68.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L118.6 256zm334.1-91.3c6.2-6.2 16.4-6.2 22.6 0L544 233.4l68.7-68.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L566.6 256l68.7 68.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L544 278.6l-68.7 68.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L521.4 256l-68.7-68.7c-6.2-6.2-6.2-16.4 0-22.6z\"]\n};\nvar faFilePrescription = {\n prefix: 'fal',\n iconName: 'file-prescription',\n icon: [384, 512, [], \"f572\", \"M320 480H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H192V144c0 26.5 21.5 48 48 48H352V448c0 17.7-14.3 32-32 32zM240 160c-8.8 0-16-7.2-16-16V32.5c2.8 .7 5.4 2.1 7.4 4.2L347.3 152.6c2.1 2.1 3.5 4.6 4.2 7.4H240zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V163.9c0-12.7-5.1-24.9-14.1-33.9L254.1 14.1c-9-9-21.2-14.1-33.9-14.1H64zm48 224c-8.8 0-16 7.2-16 16v80 64c0 8.8 7.2 16 16 16s16-7.2 16-16V336h41.4l48 48-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L240 406.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L262.6 384l36.7-36.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L240 361.4l-31.2-31.2C227.3 321.1 240 302 240 280c0-30.9-25.1-56-56-56H112zm72 80h-8H128V256h56c13.3 0 24 10.7 24 24s-10.7 24-24 24z\"]\n};\nvar faTableCellsLock = {\n prefix: 'fal',\n iconName: 'table-cells-lock',\n icon: [640, 512, [], \"e679\", \"M352 64l0 96 128 0 0-64c0-17.7-14.3-32-32-32l-96 0zm-32 0L192 64l0 96 128 0 0-96zM160 64L64 64C46.3 64 32 78.3 32 96l0 64 128 0 0-96zM32 192l0 128 128 0 0-128L32 192zm0 160l0 64c0 17.7 14.3 32 32 32l96 0 0-96L32 352zm160 96l128 0 0-96-128 0 0 96zm160 0l32 0 0 32L64 480c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l384 0c35.3 0 64 28.7 64 64l0 65.1c-24.1 3.5-45.8 14.6-62.4 30.9L352 192l0 128 40.6 0c-5.4 9.4-8.6 20.3-8.6 32l-32 0 0 96zM192 320l128 0 0-128-128 0 0 128zm336-96c-26.5 0-48 21.5-48 48l0 48 96 0 0-48c0-26.5-21.5-48-48-48zm-80 48c0-44.2 35.8-80 80-80s80 35.8 80 80l0 48c17.7 0 32 14.3 32 32l0 128c0 17.7-14.3 32-32 32l-160 0c-17.7 0-32-14.3-32-32l0-128c0-17.7 14.3-32 32-32l0-48zm160 80l-160 0 0 128 160 0 0-128z\"]\n};\nvar faCalendarRange = {\n prefix: 'fal',\n iconName: 'calendar-range',\n icon: [448, 512, [], \"e0d6\", \"M112 0c8.8 0 16 7.2 16 16V64H320V16c0-8.8 7.2-16 16-16s16 7.2 16 16V64h32c35.3 0 64 28.7 64 64v32 32V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192 160 128C0 92.7 28.7 64 64 64H96V16c0-8.8 7.2-16 16-16zM416 192H32V448c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V192zM384 96H64c-17.7 0-32 14.3-32 32v32H416V128c0-17.7-14.3-32-32-32zm0 176c0 8.8-7.2 16-16 16H208c-8.8 0-16-7.2-16-16s7.2-16 16-16H368c8.8 0 16 7.2 16 16zM240 416H80c-8.8 0-16-7.2-16-16s7.2-16 16-16H240c8.8 0 16 7.2 16 16s-7.2 16-16 16zM96 272a16 16 0 1 0 32 0 16 16 0 1 0 -32 0zm16 48a48 48 0 1 1 0-96 48 48 0 1 1 0 96zm224 96a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm48-16a48 48 0 1 1 -96 0 48 48 0 1 1 96 0z\"]\n};\nvar faFlowerDaffodil = {\n prefix: 'fal',\n iconName: 'flower-daffodil',\n icon: [512, 512, [9880], \"f800\", \"M200 0c-48.6 0-88 39.4-88 88c0 21.3 7.6 40.8 20.1 56c-12.6 15.2-20.1 34.7-20.1 56c0 48.6 39.4 88 88 88c14.4 0 28-3.5 40-9.6V396.6C200.8 331.5 129.5 288 48 288H28c-15.5 0-28 12.5-28 28C0 424.2 87.8 512 196 512h44 16 16 44c108.2 0 196-87.8 196-196c0-15.5-12.5-28-28-28H464c-81.5 0-152.8 43.5-192 108.6V278.4c12 6.1 25.6 9.6 40 9.6c48.6 0 88-39.4 88-88c0-21.3-7.6-40.8-20.1-56c12.6-15.2 20.1-34.7 20.1-56c0-48.6-39.4-88-88-88c-21.3 0-40.8 7.6-56 20.1C240.8 7.6 221.3 0 200 0zM144 88c0-30.9 25.1-56 56-56c17.6 0 33.3 8.1 43.6 20.8c3 3.8 7.6 5.9 12.4 5.9s9.4-2.2 12.4-5.9C278.7 40.1 294.4 32 312 32c30.9 0 56 25.1 56 56c0 17.6-8.1 33.3-20.8 43.6c-3.8 3-5.9 7.6-5.9 12.4s2.2 9.4 5.9 12.4c12.7 10.3 20.8 26 20.8 43.6c0 30.9-25.1 56-56 56c-17.6 0-33.3-8.1-43.6-20.8c-3-3.8-7.6-5.9-12.4-5.9s-9.4 2.2-12.4 5.9c-10.3 12.7-26 20.8-43.6 20.8c-30.9 0-56-25.1-56-56c0-17.6 8.1-33.3 20.8-43.6c3.8-3 5.9-7.6 5.9-12.4s-2.2-9.4-5.9-12.4C152.1 121.3 144 105.6 144 88zM32 320H48c95.1 0 174.1 69.2 189.3 160H196c-89.2 0-161.8-71.3-164-160zM480 320c-2.1 88.7-74.7 160-164 160H274.7c15.2-90.8 94.2-160 189.3-160h16zM288 144a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faHandBackPointUp = {\n prefix: 'fal',\n iconName: 'hand-back-point-up',\n icon: [448, 512, [], \"e1a2\", \"M136 0C105.1 0 80 25.1 80 56V256.6c-3.2 2-6.4 4.2-9.5 6.5L48 280c-20.1 15.1-32 38.8-32 64v19.5c0 53 29.1 101.7 75.7 126.8l8.3 4.5c21 11.3 44.4 17.2 68.3 17.2H304c61.9 0 112-50.1 112-112v-8V304c0-35.3-28.7-64-64-64c-2.8 0-5.6 .2-8.3 .5c-11-19.4-31.8-32.5-55.7-32.5c-5.3 0-10.5 .7-15.5 1.9c-10.8-20.2-32-33.9-56.5-33.9c-8.5 0-16.6 1.7-24 4.7V56c0-30.9-25.1-56-56-56zM112 56c0-13.3 10.7-24 24-24s24 10.7 24 24V213.5c0 7.1 4.6 13.3 11.4 15.3s14-.6 18-6.5c5.8-8.7 15.6-14.3 26.7-14.3c15.6 0 28.6 11.2 31.4 25.9c1 5.1 4.4 9.5 9.2 11.6s10.3 1.8 14.8-.9c4.8-2.9 10.5-4.6 16.6-4.6c14.7 0 27.2 10 30.9 23.6c1.2 4.4 4.2 8.1 8.3 10.1s8.8 2.2 13.1 .6c3.6-1.4 7.6-2.2 11.8-2.2c17.7 0 32 14.3 32 32v88 8c0 44.2-35.8 80-80 80H168.3c-18.5 0-36.8-4.6-53.1-13.4l-7.6 14.1 7.6-14.1-8.3-4.5C70.6 442.6 48 404.7 48 363.5V344c0-15.1 7.1-29.3 19.2-38.4L80 296v48c0 8.8 7.2 16 16 16s16-7.2 16-16V265.7 264 56z\"]\n};\nvar faWeightScale = {\n prefix: 'fal',\n iconName: 'weight-scale',\n icon: [512, 512, [\"weight\"], \"f496\", \"M112 176a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm320 0c0-28.8-6.9-56-19.2-80H448c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V128c0-17.7 14.3-32 32-32H99.2C86.9 120 80 147.2 80 176c0 97.2 78.8 176 176 176s176-78.8 176-176zM391.8 64C359.5 24.9 310.7 0 256 0S152.5 24.9 120.2 64H64C28.7 64 0 92.7 0 128V448c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H391.8zM320 224c0-20.6-9.7-39-24.9-50.7l23.6-55c3.5-8.1-.3-17.5-8.4-21s-17.5 .3-21 8.4l-23.6 55c-3.2-.5-6.4-.7-9.7-.7c-35.3 0-64 28.7-64 64s28.7 64 64 64s64-28.7 64-64zm-64-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faWeight = faWeightScale;\nvar faArrowUpToArc = {\n prefix: 'fal',\n iconName: 'arrow-up-to-arc',\n icon: [512, 512, [], \"e617\", \"M256 32c123.7 0 224 100.3 224 224c0 8.8 7.2 16 16 16s16-7.2 16-16C512 114.6 397.4 0 256 0S0 114.6 0 256c0 8.8 7.2 16 16 16s16-7.2 16-16C32 132.3 132.3 32 256 32zM396 309.4l-128-144c-3-3.4-7.4-5.4-12-5.4s-8.9 2-12 5.4l-128 144c-5.9 6.6-5.3 16.7 1.3 22.6s16.7 5.3 22.6-1.3L240 218.1 240 496c0 8.8 7.2 16 16 16s16-7.2 16-16l0-277.9L372 330.6c5.9 6.6 16 7.2 22.6 1.3s7.2-16 1.3-22.6z\"]\n};\nvar faStarExclamation = {\n prefix: 'fal',\n iconName: 'star-exclamation',\n icon: [576, 512, [], \"f2f3\", \"M202.4 186.5L65 206.8l99.8 98.8c7.4 7.3 10.8 17.8 9 28.1L150.2 473.2l122.6-65.5c9.4-5 20.7-5 30.2 0l122.6 65.5L402.1 333.7c-1.7-10.3 1.6-20.7 9-28.1l99.8-98.8L373.4 186.5c-10.5-1.5-19.5-8.2-24.1-17.7L287.9 42.3 226.5 168.8c-4.6 9.5-13.6 16.1-24.1 17.7zM450.2 507.4c-7.4 5.3-17.3 6-25.3 1.7l-137-73.2L151 509.1c-8.1 4.3-17.9 3.7-25.3-1.7s-11.2-14.5-9.7-23.5l26.2-155.6L31.1 218.2c-6.5-6.4-8.7-15.9-5.9-24.5s10.3-14.9 19.3-16.3l153.2-22.6L266.3 13.5C270.4 5.2 278.7 0 287.9 0s17.6 5.2 21.6 13.5l68.6 141.3 153.2 22.6c9 1.3 16.5 7.6 19.3 16.3s.5 18.1-5.9 24.5L433.6 328.4l26.2 155.6c1.5 9-2.2 18.1-9.7 23.5zM288 128c8.8 0 16 7.2 16 16V272c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-8.8 7.2-16 16-16zM264 352a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faBooks = {\n prefix: 'fal',\n iconName: 'books',\n icon: [512, 512, [128218], \"f5db\", \"M128 416v48c0 8.8-7.2 16-16 16H48c-8.8 0-16-7.2-16-16V416h96zm-16 96c12.3 0 23.5-4.6 32-12.2c8.5 7.6 19.7 12.2 32 12.2h64c26.5 0 48-21.5 48-48V416 400 384 193.8l51.4 198.1 4 15.5 18 69.2c6.6 25.5 32 40.6 56.7 33.8l59.6-16.5c24.7-6.8 39.3-33 32.7-58.5l-13.9-53.7-4-15.5-63.9-246-4-15.5-18-69.2C400 9.9 374.6-5.2 349.9 1.6L290.3 18.1c-3.5 1-6.8 2.3-9.9 4C271.9 8.8 257 0 240 0H176c-12.3 0-23.5 4.6-32 12.2C135.5 4.6 124.3 0 112 0H48C21.5 0 0 21.5 0 48V96v16 16V384v16 16 48c0 26.5 21.5 48 48 48h64zM288 64.8V63.5c.3-7.2 5.1-13 10.8-14.6l59.6-16.5c6.6-1.8 14.8 2 17.2 11l14.1 54.2-87.3 24.2L288.6 68.6c-.3-1.3-.5-2.6-.6-3.8zm-32-.6c0 0 0 0 0 0V96H160V48c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16V64.2zM176 480c-8.8 0-16-7.2-16-16V416h96v48c0 8.8-7.2 16-16 16H176zM128 128V384H32V128h96zm0-80V96H32V48c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16zM256 384H160V128h96V384zM397.7 128.7l59.8 230.5-87.3 24.2L310.4 152.8l87.3-24.2zm67.9 261.5l13.8 53.2c2.4 9.4-3.2 17.7-10.3 19.6l-59.6 16.5c-6.6 1.8-14.8-2-17.2-11l-14.1-54.2 87.3-24.2z\"]\n};\nvar faUserGroup = {\n prefix: 'fal',\n iconName: 'user-group',\n icon: [640, 512, [128101, \"user-friends\"], \"f500\", \"M128 128a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zM269.7 336c80 0 145 64.3 146.3 144H32c1.2-79.7 66.2-144 146.3-144h91.4zM224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304H178.3zm431 208c17 0 30.7-13.8 30.7-30.7C640 392.2 567.8 320 478.7 320H417.3c-4.4 0-8.8 .2-13.2 .5c11.3 9.4 21.6 19.9 30.7 31.5h43.9c71 0 128.6 57.2 129.3 128H480c0 .8 0 1.5 0 2.3c0 10.8-2.8 20.9-7.6 29.7H609.3zM432 256c61.9 0 112-50.1 112-112s-50.1-112-112-112c-24.8 0-47.7 8.1-66.3 21.7c5.2 9.8 9.3 20.3 12.4 31.2C392.3 71.9 411.2 64 432 64c44.2 0 80 35.8 80 80s-35.8 80-80 80c-25.2 0-47.6-11.6-62.3-29.8c-4.7 10.3-10.4 19.9-17 28.9C373 243.4 401 256 432 256z\"]\n};\nvar faUserFriends = faUserGroup;\nvar faArrowUpAZ = {\n prefix: 'fal',\n iconName: 'arrow-up-a-z',\n icon: [576, 512, [\"sort-alpha-up\"], \"f15e\", \"M171.3 36.7c-6.2-6.2-16.4-6.2-22.6 0l-96 96c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L144 86.6V464c0 8.8 7.2 16 16 16s16-7.2 16-16V86.6l68.7 68.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-96-96zM352 288c-8.8 0-16 7.2-16 16s7.2 16 16 16h94.7L339.5 454c-3.8 4.8-4.6 11.4-1.9 16.9s8.3 9.1 14.4 9.1H480c8.8 0 16-7.2 16-16s-7.2-16-16-16H385.3L492.5 314c3.8-4.8 4.6-11.4 1.9-16.9s-8.3-9.1-14.4-9.1H352zM416 32c-6.1 0-11.6 3.4-14.3 8.8L337.8 168.6c-.1 .2-.2 .4-.3 .6l-15.8 31.7c-4 7.9-.7 17.5 7.2 21.5s17.5 .7 21.5-7.2L361.9 192H470.1l11.6 23.2c4 7.9 13.6 11.1 21.5 7.2s11.1-13.6 7.2-21.5l-15.8-31.7c-.1-.2-.2-.4-.3-.6L430.3 40.8c-2.7-5.4-8.2-8.8-14.3-8.8zM377.9 160L416 83.8 454.1 160H377.9z\"]\n};\nvar faSortAlphaUp = faArrowUpAZ;\nvar faLayerPlus = {\n prefix: 'fal',\n iconName: 'layer-plus',\n icon: [576, 512, [\"layer-group-plus\"], \"f5ff\", \"M480 24c0-8.8-7.2-16-16-16s-16 7.2-16 16V64H408c-8.8 0-16 7.2-16 16s7.2 16 16 16h40v40c0 8.8 7.2 16 16 16s16-7.2 16-16V96h40c8.8 0 16-7.2 16-16s-7.2-16-16-16H480V24zM288 128c-7.5 0-15 1.6-21.8 4.7L48.8 230.1C38.6 234.7 32 244.8 32 256s6.6 21.3 16.8 25.9l217.4 97.5c6.9 3.1 14.3 4.7 21.8 4.7s15-1.6 21.8-4.7l217.4-97.5c10.2-4.6 16.8-14.7 16.8-25.9s-6.6-21.3-16.8-25.9L309.8 132.7c-6.9-3.1-14.3-4.7-21.8-4.7zm-8.8 33.9c2.8-1.2 5.7-1.9 8.8-1.9s6 .6 8.8 1.9l210 94.1-210 94.1c-2.8 1.2-5.7 1.9-8.8 1.9s-6-.6-8.8-1.9L69.3 256l210-94.1zM94.7 337.5L48.8 358.1C38.6 362.7 32 372.8 32 384s6.6 21.3 16.8 25.9l217.4 97.5c6.9 3.1 14.3 4.7 21.8 4.7s15-1.6 21.8-4.7l217.4-97.5c10.2-4.6 16.8-14.7 16.8-25.9s-6.6-21.3-16.8-25.9l-45.9-20.6-39.1 17.5L506.7 384l-210 94.1c-2.8 1.2-5.7 1.9-8.8 1.9s-6-.6-8.8-1.9L69.3 384l64.5-28.9L94.7 337.5z\"]\n};\nvar faLayerGroupPlus = faLayerPlus;\nvar faPlayPause = {\n prefix: 'fal',\n iconName: 'play-pause',\n icon: [640, 512, [], \"e22f\", \"M448 80c0-8.8-7.2-16-16-16s-16 7.2-16 16V432c0 8.8 7.2 16 16 16s16-7.2 16-16V80zm128 0c0-8.8-7.2-16-16-16s-16 7.2-16 16V432c0 8.8 7.2 16 16 16s16-7.2 16-16V80zM288 256L96 416 96 96 288 256zM116.5 71.4c-9.5-7.9-22.8-9.7-34.1-4.4S64 83.6 64 96V416c0 12.4 7.2 23.7 18.4 29s24.5 3.6 34.1-4.4l192-160c7.3-6.1 11.5-15.1 11.5-24.6s-4.2-18.5-11.5-24.6l-192-160z\"]\n};\nvar faBlockQuestion = {\n prefix: 'fal',\n iconName: 'block-question',\n icon: [448, 512, [], \"e3dd\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm88 0a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm248 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM88 368a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm248 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM136.7 177.8c6.5-24.6 28.7-41.8 54.2-41.8H248c35.5 0 64 29 64 64.3c0 24-13.4 46.2-34.9 57.2L240 276.3V296c0 8.8-7.2 16-16 16s-16-7.2-16-16V266.5c0-6 3.4-11.5 8.7-14.3l45.8-23.4c10.7-5.4 17.5-16.6 17.5-28.7c0-17.8-14.4-32.3-32-32.3H190.9c-10.9 0-20.5 7.4-23.2 17.9l-.2 .7c-2.2 8.5-11 13.7-19.5 11.4s-13.7-11-11.4-19.5l.2-.7zM200 360a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faSnooze = {\n prefix: 'fal',\n iconName: 'snooze',\n icon: [448, 512, [128164, \"zzz\"], \"f880\", \"M176 32c-8.8 0-16-7.2-16-16s7.2-16 16-16H304c6.5 0 12.3 3.9 14.8 9.9s1.1 12.9-3.5 17.4L214.6 128H304c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-6.5 0-12.3-3.9-14.8-9.9s-1.1-12.9 3.5-17.4L265.4 32H176zM0 240c0-8.8 7.2-16 16-16H208c6.1 0 11.6 3.4 14.3 8.8s2.1 11.9-1.5 16.8L48 480H208c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-6.1 0-11.6-3.4-14.3-8.8s-2.1-11.9 1.5-16.8L176 256H16c-8.8 0-16-7.2-16-16zm304-16H432c6.2 0 11.8 3.5 14.4 9.1s1.9 12.1-1.9 16.9L337.3 384H432c8.8 0 16 7.2 16 16s-7.2 16-16 16H304c-6.2 0-11.8-3.5-14.4-9.1s-1.9-12.1 1.9-16.9L398.7 256H304c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faZzz = faSnooze;\nvar faScannerImage = {\n prefix: 'fal',\n iconName: 'scanner-image',\n icon: [576, 512, [], \"f8f3\", \"M55.2 33.7c-7.9-4-17.5-.7-21.5 7.2s-.7 17.5 7.2 21.5L492.2 288H64c-35.3 0-64 28.7-64 64v64c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V392 352v-8.4c0-30.3-17.1-58-44.2-71.6L55.2 33.7zM544 352v40 24c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32H512c17.7 0 32 14.3 32 32zM104 408a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm104-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faTvRetro = {\n prefix: 'fal',\n iconName: 'tv-retro',\n icon: [512, 512, [128250], \"f401\", \"M154.4 3.9c-6.7-5.8-16.8-5-22.6 1.7s-5 16.8 1.7 22.6L212.7 96H80C35.8 96 0 131.8 0 176V432c0 44.2 35.8 80 80 80H432c44.2 0 80-35.8 80-80V176c0-44.2-35.8-80-80-80H299.3l79.2-67.9c6.7-5.8 7.5-15.9 1.7-22.6s-15.8-7.5-22.6-1.7L256 90.9 154.4 3.9zM256 128H432c26.5 0 48 21.5 48 48V432c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48V176c0-26.5 21.5-48 48-48H256s0 0 0 0zm80 64c8.8 0 16 7.2 16 16V400c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V208c0-8.8 7.2-16 16-16H336zM112 160c-26.5 0-48 21.5-48 48V400c0 26.5 21.5 48 48 48H336c26.5 0 48-21.5 48-48V208c0-26.5-21.5-48-48-48H112zm320 72a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm24 40a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faSquareT = {\n prefix: 'fal',\n iconName: 'square-t',\n icon: [448, 512, [], \"e280\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm112 48H224 336c8.8 0 16 7.2 16 16s-7.2 16-16 16H240V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V176H112c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faFarm = {\n prefix: 'fal',\n iconName: 'farm',\n icon: [576, 512, [\"barn-silo\"], \"f864\", \"M48 480c-8.8 0-16-7.2-16-16V192H155.7l17.1-32H32V112c0-44.2 35.8-80 80-80s80 35.8 80 80v12l3-5.7c6.1-11.5 15.6-20.8 27.1-26.7C212.5 39.5 166.9 0 112 0C50.1 0 0 50.1 0 112V464c0 26.5 21.5 48 48 48h96c-7-9.3-12-20.2-14.4-32H48zM380.8 68.1c-8.2-3.6-17.5-3.6-25.7 0l-116.5 51c-6.6 2.9-12 7.9-15.4 14.3L163.8 244.9c-2.5 4.6-3.8 9.8-3.8 15.1V464c0 26.5 21.5 48 48 48H528c26.5 0 48-21.5 48-48V260c0-5.3-1.3-10.4-3.8-15.1L512.7 133.4c-3.4-6.4-8.8-11.4-15.4-14.3l-116.5-51zM368 97.5l116.5 51L544 260V464c0 8.8-7.2 16-16 16H448V416c0-26.5-21.5-48-48-48H336c-26.5 0-48 21.5-48 48v64H208c-8.8 0-16-7.2-16-16V260l59.5-111.6L368 97.5zM416 480H320V416c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16v64zM336 224h64v64H336V224zm0-32c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32H336z\"]\n};\nvar faBarnSilo = faFarm;\nvar faChessKnight = {\n prefix: 'fal',\n iconName: 'chess-knight',\n icon: [448, 512, [9822], \"f441\", \"M96 35.8c0-2.1 1.7-3.8 3.8-3.8H230.6C315.3 32 384 100.7 384 185.4c0 8.8-.8 17.6-2.3 26.3L357.3 352h32.5l23.5-134.9c1.8-10.5 2.7-21.1 2.7-31.8C416 83 333 0 230.6 0H99.8C80 0 64 16 64 35.8c0 13.6 7.7 25.9 19.8 32l1.3 .6c-13.5 14.7-21.1 33.9-21.1 54l-.3 104.4c-.1 23.2 11.1 45 30 58.5l1.9 1.4c4.5 3.2 9.3 5.8 14.3 7.8l-6.9 5c-17.8 13-30.4 31.6-35.8 52.5h33.7c4.4-10.5 11.5-19.7 21-26.6l53.8-39.1 89.9-65.4c7.1-5.2 8.7-15.2 3.5-22.4s-15.2-8.7-22.4-3.5l-89.9 65.4c-12.7 9.2-29.8 9.3-42.6 .2l-1.9-1.4c-10.4-7.5-16.6-19.5-16.6-32.4l.3-104.4c0-12.7 5.1-24.8 14.1-33.8l13.3-13.3c3.6-3.6 5.3-8.8 4.5-13.9s-4-9.4-8.6-11.7L98.1 39.2c-1.3-.6-2.1-1.9-2.1-3.4zM366.2 416l32.7 52.7c.7 1.2 1.1 2.5 1.1 3.9c0 4.1-3.3 7.4-7.4 7.4H55.4c-4.1 0-7.4-3.3-7.4-7.4c0-1.4 .4-2.7 1.1-3.9L81.8 416l284.4 0zM81.8 384c-11.1 0-21.4 5.7-27.2 15.1L21.9 451.8C18.1 458 16 465.2 16 472.6C16 494.3 33.7 512 55.4 512H392.6c21.8 0 39.4-17.7 39.4-39.4c0-7.3-2.1-14.5-5.9-20.8l-32.7-52.7c-5.8-9.4-16.1-15.1-27.2-15.1H81.8zM148 168a20 20 0 1 0 0-40 20 20 0 1 0 0 40z\"]\n};\nvar faBarsSort = {\n prefix: 'fal',\n iconName: 'bars-sort',\n icon: [448, 512, [], \"e0ae\", \"M0 80c0-8.8 7.2-16 16-16H432c8.8 0 16 7.2 16 16s-7.2 16-16 16H16C7.2 96 0 88.8 0 80zM0 240c0-8.8 7.2-16 16-16H304c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16-7.2-16-16zM192 400c0 8.8-7.2 16-16 16H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H176c8.8 0 16 7.2 16 16z\"]\n};\nvar faPalletBoxes = {\n prefix: 'fal',\n iconName: 'pallet-boxes',\n icon: [640, 512, [57863, \"palette-boxes\", \"pallet-alt\"], \"f483\", \"M304 32H112c-8.8 0-16 7.2-16 16V240c0 8.8 7.2 16 16 16H304c8.8 0 16-7.2 16-16V48c0-8.8-7.2-16-16-16zM112 0H304c26.5 0 48 21.5 48 48V240c0 26.5-21.5 48-48 48H112c-26.5 0-48-21.5-48-48V48C64 21.5 85.5 0 112 0zM528 128H432c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16V144c0-8.8-7.2-16-16-16zM432 96h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H432c-26.5 0-48-21.5-48-48V144c0-26.5 21.5-48 48-48zM0 368c0-8.8 7.2-16 16-16H80 320 560h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H576v96h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H560 320 80 16c-8.8 0-16-7.2-16-16s7.2-16 16-16H64V384H16c-8.8 0-16-7.2-16-16zM96 480H304V384H96v96zm240 0H544V384H336v96z\"]\n};\nvar faPaletteBoxes = faPalletBoxes;\nvar faPalletAlt = faPalletBoxes;\nvar faFaceLaughSquint = {\n prefix: 'fal',\n iconName: 'face-laugh-squint',\n icon: [512, 512, [\"laugh-squint\"], \"f59b\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM256 400c52 0 97.1-32.8 115.7-80H140.3c18.6 47.2 63.7 80 115.7 80zM126.5 288H385.5c14.2 0 25.4 12.3 21.8 26c-18.1 68-79 118-151.3 118s-133.2-50-151.3-118c-3.6-13.7 7.6-26 21.8-26zm2.9-135.2c4-7.9 13.6-11.1 21.5-7.2l64 32c5.4 2.7 8.8 8.3 8.8 14.3s-3.4 11.6-8.8 14.3l-64 32c-7.9 4-17.5 .7-21.5-7.2s-.7-17.5 7.2-21.5L171.9 192l-35.4-17.7c-7.9-4-11.1-13.6-7.2-21.5zm246.2 21.5L340.2 192l35.4 17.7c7.9 4 11.1 13.6 7.2 21.5s-13.6 11.1-21.5 7.2l-64-32c-5.4-2.7-8.8-8.3-8.8-14.3s3.4-11.6 8.8-14.3l64-32c7.9-4 17.5-.7 21.5 7.2s.7 17.5-7.2 21.5z\"]\n};\nvar faLaughSquint = faFaceLaughSquint;\nvar faCodeSimple = {\n prefix: 'fal',\n iconName: 'code-simple',\n icon: [576, 512, [], \"e13d\", \"M203.3 91.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-176 176c-6.2 6.2-6.2 16.4 0 22.6l176 176c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L38.6 256 203.3 91.3zm169.4 0L537.4 256 372.7 420.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l176-176c6.2-6.2 6.2-16.4 0-22.6l-176-176c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6z\"]\n};\nvar faBoltSlash = {\n prefix: 'fal',\n iconName: 'bolt-slash',\n icon: [640, 512, [], \"e0b8\", \"M351.4 362.3L236.6 463.6 290 313.9 263.5 293 197.2 478.7c-5.8 16.2 6.2 33.3 23.5 33.3c6.1 0 11.9-2.2 16.5-6.2L376.9 382.4l-25.5-20.2zM216.7 256H170.1L192 236.5l-25.5-20.1-29.8 26.5c-5.5 4.9-8.7 11.9-8.7 19.3c0 14.3 11.6 25.8 25.8 25.8H257.2l-40.5-32zm72.5-105.9L403.3 48.7 350 198.1 376.5 219 442.8 33.3C448.6 17.1 436.6 0 419.4 0c-6.1 0-12 2.2-16.5 6.3L263.7 130l25.5 20.1zM485 224H382.8l40.5 32h48.5l-22.9 20.2 25.5 20.2 28.4-25.1c5.8-5.1 9.1-12.5 9.1-20.3c0-14.9-12.1-27-27-27zM25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4z\"]\n};\nvar faPanelFire = {\n prefix: 'fal',\n iconName: 'panel-fire',\n icon: [640, 512, [], \"e42f\", \"M384 64H64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H314.4c6.6 11.4 14.4 22.2 23.2 32H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64v32.2c-11.1-1-22.6 1.9-32 8.8V96c0-17.7-14.3-32-32-32zM327.2 239.5c-2.3 .4-4.7 .5-7.2 .5H128c-26.5 0-48-21.5-48-48V160c0-26.5 21.5-48 48-48H320c26.5 0 48 21.5 48 48v24.9c-15.5 17.9-29.3 36.3-40.8 54.5zM112 280a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm96 0a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM112 160v32c0 8.8 7.2 16 16 16H320c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16H128c-8.8 0-16 7.2-16 16zm335.1 32.9c-21.7 19.8-45.3 44.8-63.7 72.3c-19 28.5-31.4 58.3-31.4 86.7c0 33.7 12.7 64.2 33.6 87c-1.1-5.4-1.6-10.9-1.6-16.6c0-57.4 63.8-110.5 87.4-128.2c5.2-3.9 12.1-3.9 17.3 0C512.2 311.9 576 365 576 422.4c0 5.5-.5 10.9-1.6 16.2C595.3 415.9 608 385.5 608 352c0-22.6-8.5-48-22.2-72.6c-13-23.4-30.1-44.9-46.7-60.7l-21 23.7c-3 3.3-7.2 5.3-11.7 5.4s-8.8-1.7-11.9-5l-47.4-49.8zM480 479.9c2.4 0 4.8-.1 7.1-.2c33.7-3.3 56.9-29.4 56.9-57.3c0-17.4-10.1-37.7-27.4-58.5c-12.1-14.5-25.8-27-36.6-35.8c-10.7 8.8-24.5 21.3-36.6 35.8C426.1 384.7 416 405 416 422.4c0 27.9 23.3 54 57 57.3c2.3 .1 4.7 .2 7 .2zM320 352c0-37.3 16-73.4 36.8-104.5c20.9-31.3 47.5-59 70.9-80.2c11.1-10.1 28.2-10 39.3 .1c.3 .3 .6 .5 .8 .8l37.9 39.9L518 194.3c.4-.4 .7-.8 1.1-1.2c11.2-10.3 28.5-10.3 39.7 .1c19.7 18.3 39.8 43.2 55 70.6C629 291.1 640 322 640 352c0 85.6-66.4 154.9-150.8 159.6c-3 .3-6.1 .4-9.2 .4c-3.1 0-6.1-.1-9.1-.4C385.7 507 320 437.6 320 352z\"]\n};\nvar faBinaryCircleCheck = {\n prefix: 'fal',\n iconName: 'binary-circle-check',\n icon: [640, 512, [], \"e33c\", \"M320 16c0-5.1-2.5-10-6.6-13s-9.5-3.8-14.4-2.2l-48 16c-8.4 2.8-12.9 11.9-10.1 20.2s11.9 12.9 20.2 10.1l26.9-9V192H240c-8.8 0-16 7.2-16 16s7.2 16 16 16h64 64c8.8 0 16-7.2 16-16s-7.2-16-16-16H320V16zM96 304c0-5.1-2.5-10-6.6-13s-9.5-3.8-14.4-2.2l-48 16c-8.4 2.8-12.9 11.9-10.1 20.2s11.9 12.9 20.2 10.1l26.9-9V480H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H80h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H96V304zM0 80v64c0 44.2 35.8 80 80 80h32c44.2 0 80-35.8 80-80V80c0-44.2-35.8-80-80-80H80C35.8 0 0 35.8 0 80zM80 32h32c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48zM272 288c-44.2 0-80 35.8-80 80v64c0 44.2 35.8 80 80 80h32c24 0 45.6-10.6 60.2-27.3c-7.4-8.3-14-17.3-19.7-27C336 471.1 321.1 480 304 480H272c-26.5 0-48-21.5-48-48V368c0-26.5 21.5-48 48-48h32c7.6 0 14.9 1.8 21.3 5c2.6-10.5 6.2-20.7 10.7-30.3c-9.8-4.3-20.6-6.6-32-6.6H272zm224-32a112 112 0 1 1 0 224 112 112 0 1 1 0-224zm0 256a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm67.3-187.3c-6.2-6.2-16.4-6.2-22.6 0L480 385.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nvar faCommentMinus = {\n prefix: 'fal',\n iconName: 'comment-minus',\n icon: [512, 512, [], \"f4b1\", \"M32 240c0-91.4 93.8-176 224-176s224 84.6 224 176s-93.8 176-224 176c-32 0-63-5.9-93.5-16.2c-9.9-3.3-20.7-1.8-29.2 4.2c-15.4 10.7-31.4 20-48.4 27.4L91.2 446l-6.4-14.7c-10.5 4.6-21.5 8.6-32.7 11.5c.5-.9 1.1-1.8 1.6-2.6C68 416.5 76.3 391 79.4 363.9c1-9.2-2.1-17.7-7.4-23.9c-24.5-29.4-40-62.9-40-100zM256 32C114.5 32 0 125.2 0 240c0 46.6 19.6 87.1 47.4 120.5c0 .1 .1 .1 .1 .2c-2.6 22.6-9.5 43.5-21.3 63.1c-6.5 10.8-13.5 20.8-21.7 29c-4.5 4.6-5.9 11.5-3.4 17.4s8.3 9.8 14.8 9.8c28.7 0 57.6-8.9 81.6-19.3c19.2-8.4 37.1-18.7 53.9-30.5c.2-.1 .5-.2 .7-.1C185.5 441.3 220 448 256 448c141.5 0 256-93.2 256-208S397.5 32 256 32zM160 224c-8.8 0-16 7.2-16 16s7.2 16 16 16H352c8.8 0 16-7.2 16-16s-7.2-16-16-16H160z\"]\n};\nvar faBurrito = {\n prefix: 'fal',\n iconName: 'burrito',\n icon: [512, 512, [127791], \"f7ed\", \"M242 62c8.2-35.5 40-62 78-62c11.4 0 22.2 2.4 32 6.7C361.8 2.4 372.6 0 384 0c34.6 0 64.1 22 75.2 52.8C490 63.9 512 93.4 512 128c0 11.4-2.4 22.2-6.7 32c4.3 9.8 6.7 20.6 6.7 32c0 38-26.5 69.8-62 78L241.9 478.1C220.2 499.8 190.7 512 160 512s-60.2-12.2-81.9-33.9L33.9 433.9C12.2 412.2 0 382.7 0 352s12.2-60.2 33.9-81.9L242 62zm44-15.9C307.5 78.8 320 117.9 320 160c0 11.9-1 23.6-2.9 34.9c11.4-1.9 23-2.9 34.9-2.9c42.1 0 81.2 12.5 113.9 33.9c8.7-8.7 14.1-20.7 14.1-34c0-8.8-2.3-16.9-6.4-24c-2.9-5-2.9-11.1 0-16c4.1-7 6.4-15.2 6.4-24c0-22.8-15.9-41.9-37.2-46.8c-6-1.4-10.6-6-12-12C425.9 47.9 406.8 32 384 32c-8.8 0-16.9 2.3-24 6.4c-5 2.9-11.1 2.9-16 0c-7-4.1-15.2-6.4-24-6.4c-13.3 0-25.3 5.4-33.9 14.1zM56.6 411.3l44.1 44.1C116.4 471.2 137.8 480 160 480s43.6-8.8 59.3-24.6L431.7 243c-23.9-12.2-51-19-79.7-19c-15.2 0-29.9 1.9-43.9 5.5C279.5 310.2 202.5 368 112 368c-28.3 0-55.4-5.7-80-15.9c0 22.2 8.9 43.5 24.6 59.3zm0-118.6c-7.9 7.9-14 17.1-18.2 27.2C60.8 330.2 85.7 336 112 336c79.2 0 146.2-52.3 168.3-124.3c5-16.3 7.7-33.7 7.7-51.7c0-28.7-6.9-55.8-19-79.7L56.6 292.7z\"]\n};\nvar faViolin = {\n prefix: 'fal',\n iconName: 'violin',\n icon: [640, 512, [127931], \"f8ed\", \"M347.3 27.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-320 320c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l320-320zm288 0c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L452.5 164.9c-53.3-45.5-111.2-44.7-152-19C290.6 152 288 164.4 288 176c0 35.3-28.7 64-64 64c-5.2 0-10.2-.6-15.1-1.8c-14.1-3.4-30.2-4-39.8 6.7C143.5 273.3 128 310.8 128 352c0 22.4 4.6 43.7 12.9 63.1l-1.4 .9c-7.2 4.4-11.5 12.2-11.5 20.6c0 6.4 2.6 12.6 7.1 17.1l51.2 51.2c4.5 4.5 10.7 7.1 17.1 7.1c8.4 0 16.2-4.4 20.6-11.5l.9-1.4c19.4 8.3 40.7 12.9 63.1 12.9c41.2 0 78.7-15.5 107-41.1c10.7-9.7 10.1-25.8 6.7-39.8c-1.2-4.8-1.8-9.9-1.8-15.1c0-35.3 28.7-64 64-64c11.6 0 24-2.6 30.1-12.4c25.7-40.9 26.5-98.7-19-152L635.3 27.3zM429.8 187.6L324.7 292.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L452.4 210.2c34.2 41.3 32.2 81.8 16.4 109.4l-.4 .1c-1.2 .2-2.6 .3-4.4 .3c-53 0-96 43-96 96c0 7.7 .9 15.3 2.7 22.6c.6 2.4 1 4.6 1.2 6.5c.2 1.6 .2 2.7 .1 3.6C349.5 468.2 320.1 480 288 480c-16.3 0-31.8-3-46.1-8.6l40.4-65.7c5.8-9.5 4.4-21.7-3.5-29.5l-15.1-15.1c-7.9-7.9-20.1-9.3-29.5-3.5l-65.7 40.4C163 383.8 160 368.3 160 352c0-32.1 11.8-61.5 31.4-83.9c.8-.1 2 0 3.6 .1c1.9 .2 4.1 .6 6.5 1.2c7.3 1.8 14.8 2.7 22.6 2.7c53 0 96-43 96-96c0-1.7 .1-3.2 .3-4.4l.1-.4c27.6-15.8 68.1-17.9 109.4 16.4zM496 72a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm72 120a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM544 24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm72 120a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM245.6 388.2l6.1 6.1-49.8 80.9-37.3-37.3 80.9-49.8z\"]\n};\nvar faObjectsColumn = {\n prefix: 'fal',\n iconName: 'objects-column',\n icon: [448, 512, [], \"e3c1\", \"M48 64c-8.8 0-16 7.2-16 16V240c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16H48zM0 80C0 53.5 21.5 32 48 32h96c26.5 0 48 21.5 48 48V240c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80zM304 256c-8.8 0-16 7.2-16 16V432c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H304zm-48 16c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48V432c0 26.5-21.5 48-48 48H304c-26.5 0-48-21.5-48-48V272zM144 352H48c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16zM48 320h96c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V368c0-26.5 21.5-48 48-48zM304 64c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16H304zM256 80c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H304c-26.5 0-48-21.5-48-48V80z\"]\n};\nvar faSquareChevronDown = {\n prefix: 'fal',\n iconName: 'square-chevron-down',\n icon: [448, 512, [\"chevron-square-down\"], \"f329\", \"M384 448c17.7 0 32-14.3 32-32l0-320c0-17.7-14.3-32-32-32L64 64C46.3 64 32 78.3 32 96l0 320c0 17.7 14.3 32 32 32l320 0zm64-32c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l320 0c35.3 0 64 28.7 64 64l0 320zM212.7 347.3l-112-112c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L224 313.4 324.7 212.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-112 112c-6.2 6.2-16.4 6.2-22.6 0z\"]\n};\nvar faChevronSquareDown = faSquareChevronDown;\nvar faCommentPlus = {\n prefix: 'fal',\n iconName: 'comment-plus',\n icon: [512, 512, [], \"f4b2\", \"M32 240c0-91.4 93.8-176 224-176s224 84.6 224 176s-93.8 176-224 176c-32 0-63-5.9-93.5-16.2c-9.9-3.3-20.7-1.8-29.2 4.2c-15.4 10.7-31.4 20-48.4 27.4L91.2 446l-6.4-14.7c-10.5 4.6-21.5 8.6-32.7 11.5c.5-.9 1.1-1.8 1.6-2.6C68 416.5 76.3 391 79.4 363.9c1-9.2-2.1-17.7-7.4-23.9c-24.5-29.4-40-62.9-40-100zM256 32C114.5 32 0 125.2 0 240c0 46.6 19.6 87.1 47.4 120.5c0 .1 .1 .1 .1 .2c-2.6 22.6-9.5 43.5-21.3 63.1c-6.5 10.8-13.5 20.8-21.7 29c-4.5 4.6-5.9 11.5-3.4 17.4s8.3 9.8 14.8 9.8c28.7 0 57.6-8.9 81.6-19.3c19.2-8.4 37.1-18.7 53.9-30.5c.2-.1 .5-.2 .7-.1C185.5 441.3 220 448 256 448c141.5 0 256-93.2 256-208S397.5 32 256 32zM240 336c0 8.8 7.2 16 16 16s16-7.2 16-16V256h80c8.8 0 16-7.2 16-16s-7.2-16-16-16H272V144c0-8.8-7.2-16-16-16s-16 7.2-16 16v80H160c-8.8 0-16 7.2-16 16s7.2 16 16 16h80v80z\"]\n};\nvar faTriangleInstrument = {\n prefix: 'fal',\n iconName: 'triangle-instrument',\n icon: [576, 512, [\"triangle-music\"], \"f8e2\", \"M304 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V65.4c-24.6 4.4-46.5 19-60.1 40.5L46.5 367.7C37 382.8 32 400.2 32 418c0 51.9 42.1 94 94 94H450c51.9 0 94-42.1 94-94c0-17.8-5-35.2-14.5-50.2L443.8 232.1l-23.2 23.2 81.8 129.5c6.3 9.9 9.6 21.4 9.6 33.1c0 34.3-27.8 62-62 62H126c-34.3 0-62-27.8-62-62c0-11.7 3.3-23.2 9.6-33.1L238.9 123.1C249.5 106.2 268.1 96 288 96s38.5 10.2 49.1 27.1l48.5 76.8-65.1 65.1c-9.5-5.6-20.6-8.9-32.5-8.9c-35.3 0-64 28.7-64 64s28.7 64 64 64s64-28.7 64-64c0-11.9-3.2-23-8.9-32.5l59.9-59.9 23.2-23.2 113-113c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L408.8 176.6 364.1 106C350.5 84.4 328.6 69.9 304 65.4V16zm16 304a32 32 0 1 1 -64 0 32 32 0 1 1 64 0z\"]\n};\nvar faTriangleMusic = faTriangleInstrument;\nvar faWheelchair = {\n prefix: 'fal',\n iconName: 'wheelchair',\n icon: [512, 512, [], \"f193\", \"M176 32a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0 80A56 56 0 1 0 176 0a56 56 0 1 0 0 112zm-32.4 96c-2-8.6-10.5-14-19.1-12.1C53.2 212.1 0 275.8 0 352c0 88.4 71.6 160 160 160c69.7 0 128.9-44.5 150.9-106.7c2.9-8.3-1.4-17.5-9.8-20.4s-17.5 1.4-20.4 9.8C263.1 444.4 215.7 480 160 480C89.3 480 32 422.7 32 352c0-60.9 42.5-111.9 99.5-124.8c8.6-2 14-10.5 12.1-19.1zm56-51.6c-2-8.6-10.5-14-19.1-12.1s-14 10.5-12.1 19.1l34.3 151.1c5 21.9 24.4 37.4 46.8 37.4H358.1l59.6 119.2c1.9 3.8 5.2 6.7 9.3 8s8.4 1 12.2-.9l64-32c7.9-4 11.1-13.6 7.2-21.5s-13.6-11.1-21.5-7.2l-49.7 24.8L386.7 337.7c-5.4-10.8-16.5-17.7-28.6-17.7H249.5c-7.5 0-13.9-5.2-15.6-12.5L215 224H352c8.8 0 16-7.2 16-16s-7.2-16-16-16H207.7l-8.1-35.5z\"]\n};\nvar faUserPilotTie = {\n prefix: 'fal',\n iconName: 'user-pilot-tie',\n icon: [448, 512, [], \"e2c1\", \"M230.9 .8l144 32c11.4 2.5 20.5 11.1 23.8 22.3s.2 23.3-8.1 31.6l-6.2-6.2 6.2 6.2L368 109.3v1.6c0 15.6-7.6 31.8-23.2 40.1c-22.5 12-59.5 25-120.8 25s-98.3-13.1-120.8-25C87.6 142.7 80 126.5 80 110.9v-1.6L57.4 86.6C49.1 78.4 46 66.3 49.3 55.1s12.4-19.8 23.8-22.3l144-32c4.6-1 9.3-1 13.9 0zM80 64l27.3 27.3c3 3 4.7 7.1 4.7 11.3v8.2c0 5.8 2.8 10 6.2 11.8C135.8 132 167.6 144 224 144s88.2-12 105.8-21.3c3.4-1.8 6.2-6 6.2-11.8v-8.2c0-4.2 1.7-8.3 4.7-11.3L368 64 224 32 80 64zm96 304c0-8.8 7.2-16 16-16h32 32c8.8 0 16 7.2 16 16s-7.2 16-16 16h-6.1l18.4 36.9 51.6-68.7C391.2 355.4 448 414.3 448 486.4c0 14.1-11.5 25.6-25.6 25.6H240 208 25.6C11.5 512 0 500.5 0 486.4c0-72.1 56.8-131 128.1-134.3l51.6 68.7L198.1 384H192c-8.8 0-16-7.2-16-16zm48 35.8l-22.9 45.7 2.9 3.8L224 480l0 0 0 0 20-26.7 2.9-3.8L224 403.8zM184 480l-70.4-93.9C69 395.3 35.1 433.4 32.2 480H184zm80 0H415.8c-2.9-46.6-36.8-84.7-81.4-93.9L264 480zM96 192c0-2.9 .1-5.8 .3-8.7c9.1 4.3 19.6 8.5 31.8 12.1c1.8 51.4 44.1 92.6 95.9 92.6s94.1-41.1 95.9-92.6c12.2-3.6 22.7-7.8 31.8-12.1c.2 2.9 .3 5.8 .3 8.7c0 70.7-57.3 128-128 128s-128-57.3-128-128zM183.2 65.7L224 86.1l40.8-20.4c7.9-4 17.5-.7 21.5 7.2s.7 17.5-7.2 21.5l-48 24c-4.5 2.3-9.8 2.3-14.3 0l-48-24c-7.9-4-11.1-13.6-7.2-21.5s13.6-11.1 21.5-7.2z\"]\n};\nvar faPianoKeyboard = {\n prefix: 'fal',\n iconName: 'piano-keyboard',\n icon: [576, 512, [127929], \"f8d5\", \"M448 224v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V224h32zM416 333.3V416H304V333.3c18.6-6.6 32-24.4 32-45.3V224h48v64c0 20.9 13.4 38.7 32 45.3zM448 416V333.3c18.6-6.6 32-24.4 32-45.3V224h64V384c0 17.7-14.3 32-32 32H448zm-16 32h80c35.3 0 64-28.7 64-64V224 208 192 128c0-35.3-28.7-64-64-64H64C28.7 64 0 92.7 0 128v64 16 16V384c0 35.3 28.7 64 64 64h80H288 432zM272 416H160V333.3c18.6-6.6 32-24.4 32-45.3V224h48v64c0 20.9 13.4 38.7 32 45.3V416zm-144 0H64c-17.7 0-32-14.3-32-32V224H96v64c0 20.9 13.4 38.7 32 45.3V416zm16-112c-8.8 0-16-7.2-16-16V224h32v64c0 8.8-7.2 16-16 16zm144 0c-8.8 0-16-7.2-16-16V224h32v64c0 8.8-7.2 16-16 16zM464 192H400 320 256 176 112 32V128c0-17.7 14.3-32 32-32H512c17.7 0 32 14.3 32 32v64H464z\"]\n};\nvar faBedEmpty = {\n prefix: 'fal',\n iconName: 'bed-empty',\n icon: [640, 512, [128719], \"f8f9\", \"M32 48c0-8.8-7.2-16-16-16S0 39.2 0 48V208 336v64 64c0 8.8 7.2 16 16 16s16-7.2 16-16V416H608v48c0 8.8 7.2 16 16 16s16-7.2 16-16V400 336 304c0-61.9-50.1-112-112-112H32V48zM608 320H32V224H528c44.2 0 80 35.8 80 80v16zM32 352H608v32H32V352z\"]\n};\nvar faCircleArrowUp = {\n prefix: 'fal',\n iconName: 'circle-arrow-up',\n icon: [512, 512, [\"arrow-circle-up\"], \"f0aa\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM363.3 228.7l-96-96c-6.2-6.2-16.4-6.2-22.6 0l-96 96c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L240 182.6V368c0 8.8 7.2 16 16 16s16-7.2 16-16V182.6l68.7 68.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6z\"]\n};\nvar faArrowCircleUp = faCircleArrowUp;\nvar faToggleOn = {\n prefix: 'fal',\n iconName: 'toggle-on',\n icon: [576, 512, [], \"f205\", \"M160 128C89.3 128 32 185.3 32 256s57.3 128 128 128H416c70.7 0 128-57.3 128-128s-57.3-128-128-128H160zM0 256C0 167.6 71.6 96 160 96H416c88.4 0 160 71.6 160 160s-71.6 160-160 160H160C71.6 416 0 344.4 0 256zm480 0a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zm-160 0a96 96 0 1 1 192 0 96 96 0 1 1 -192 0z\"]\n};\nvar faRectangleVertical = {\n prefix: 'fal',\n iconName: 'rectangle-vertical',\n icon: [384, 512, [\"rectangle-portrait\"], \"f2fb\", \"M352 448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32L32 64c0-17.7 14.3-32 32-32l256 0c17.7 0 32 14.3 32 32l0 384zM384 64c0-35.3-28.7-64-64-64L64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64l0-384z\"]\n};\nvar faRectanglePortrait = faRectangleVertical;\nvar faPersonWalking = {\n prefix: 'fal',\n iconName: 'person-walking',\n icon: [320, 512, [128694, \"walking\"], \"f554\", \"M200 80a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-80a56 56 0 1 1 0 112A56 56 0 1 1 200 0zM121.5 170.2c-1.3 .6-2.6 1.3-3.9 2l-12.7 6.9c-27.5 15-47.4 40.8-55 71.2l-2.4 9.6c-2.1 8.6-10.8 13.8-19.4 11.6s-13.8-10.8-11.6-19.4l2.4-9.5c9.8-39 35.4-72.2 70.7-91.5l12.7-6.9c19.4-10.6 41.2-16.2 63.4-16.2c36.9 0 69.7 23.6 81.4 58.7l17.1 51.4c3.4 10.1 10 18.8 18.9 24.8l29.7 19.8c7.4 4.9 9.3 14.8 4.4 22.2s-14.8 9.3-22.2 4.4l-29.7-19.8c-14.8-9.9-25.9-24.4-31.5-41.3l-8.8-26.4L187.3 331l43.6 37.8c4.7 4.1 8.1 9.4 9.8 15.4l30.7 107.4c2.4 8.5-2.5 17.4-11 19.8s-17.4-2.5-19.8-11L209.9 393 109.4 305.8C94.9 293.3 89.3 273.4 95 255.2l26.6-85zm36.6-9.9L125.5 264.8c-1.9 6.1 0 12.7 4.8 16.9l30.9 26.8 45-130c-10-11.5-24.7-18.4-40.6-18.4c-2.5 0-5 .1-7.5 .3zM126.3 375.2L95.5 436.8c-1.5 3.1-3.6 5.9-6 8.3L27.3 507.3c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l62.2-62.2 30.8-61.7c4-7.9 13.6-11.1 21.5-7.2s11.1 13.6 7.2 21.5z\"]\n};\nvar faWalking = faPersonWalking;\nvar faL = {\n prefix: 'fal',\n iconName: 'l',\n icon: [320, 512, [108], \"4c\", \"M48 32c8.8 0 16 7.2 16 16V448H304c8.8 0 16 7.2 16 16s-7.2 16-16 16H48c-8.8 0-16-7.2-16-16V48c0-8.8 7.2-16 16-16z\"]\n};\nvar faSignalStream = {\n prefix: 'fal',\n iconName: 'signal-stream',\n icon: [576, 512, [], \"f8dd\", \"M90.3 68.5c6.8 5.7 7.6 15.8 1.9 22.5C54.6 135.6 32 193.1 32 256s22.6 120.4 60.2 165c5.7 6.8 4.8 16.8-1.9 22.5s-16.8 4.8-22.5-1.9C25.5 391.5 0 326.7 0 256S25.5 120.5 67.8 70.4c5.7-6.8 15.8-7.6 22.5-1.9zm395.4 0c6.8-5.7 16.8-4.8 22.5 1.9C550.5 120.5 576 185.3 576 256s-25.5 135.5-67.8 185.6c-5.7 6.8-15.8 7.6-22.5 1.9s-7.6-15.8-1.9-22.5C521.4 376.4 544 318.9 544 256s-22.6-120.4-60.2-165c-5.7-6.8-4.8-16.8 1.9-22.5zM224 256a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zm64 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM164.6 154.2C141.7 181.9 128 217.3 128 256s13.7 74.1 36.6 101.8c5.6 6.8 4.7 16.9-2.1 22.5s-16.9 4.7-22.5-2.1C112.5 345 96 302.4 96 256s16.5-89 43.9-122.2c5.6-6.8 15.7-7.8 22.5-2.1s7.8 15.7 2.1 22.5zm271.5-20.4C463.5 167 480 209.6 480 256s-16.5 89-43.9 122.2c-5.6 6.8-15.7 7.8-22.5 2.1s-7.8-15.7-2.1-22.5C434.3 330.1 448 294.7 448 256s-13.7-74.1-36.6-101.8c-5.6-6.8-4.7-16.9 2.1-22.5s16.9-4.7 22.5 2.1z\"]\n};\nvar faDownToBracket = {\n prefix: 'fal',\n iconName: 'down-to-bracket',\n icon: [448, 512, [], \"e4e7\", \"M222.2 319.2c.5 .5 1.1 .8 1.8 .8s1.4-.3 1.8-.8L350.2 187.3c1.2-1.2 1.8-2.9 1.8-4.6c0-3.7-3-6.7-6.7-6.7L288 176c-8.8 0-16-7.2-16-16l0-120c0-4.4-3.6-8-8-8l-80 0c-4.4 0-8 3.6-8 8l0 120c0 8.8-7.2 16-16 16l-57.3 0c-3.7 0-6.7 3-6.7 6.7c0 1.7 .7 3.3 1.8 4.6L222.2 319.2zM224 352c-9.5 0-18.6-3.9-25.1-10.8L74.5 209.2C67.8 202 64 192.5 64 182.7c0-21.4 17.3-38.7 38.7-38.7l41.3 0 0-104c0-22.1 17.9-40 40-40l80 0c22.1 0 40 17.9 40 40l0 104 41.3 0c21.4 0 38.7 17.3 38.7 38.7c0 9.9-3.8 19.3-10.5 26.5L249.1 341.2c-6.5 6.9-15.6 10.8-25.1 10.8zM32 336l0 96c0 26.5 21.5 48 48 48l288 0c26.5 0 48-21.5 48-48l0-96c0-8.8 7.2-16 16-16s16 7.2 16 16l0 96c0 44.2-35.8 80-80 80L80 512c-44.2 0-80-35.8-80-80l0-96c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faCircleZ = {\n prefix: 'fal',\n iconName: 'circle-z',\n icon: [512, 512, [], \"e130\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM176 128c-8.8 0-16 7.2-16 16s7.2 16 16 16H304.9L163 358.7c-3.5 4.9-3.9 11.3-1.2 16.6s8.2 8.7 14.2 8.7H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H207.1L349 153.3c3.5-4.9 3.9-11.3 1.2-16.6s-8.2-8.7-14.2-8.7H176z\"]\n};\nvar faStars = {\n prefix: 'fal',\n iconName: 'stars',\n icon: [512, 512, [], \"f762\", \"M352 16V80h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H352v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V112H256c-8.8 0-16-7.2-16-16s7.2-16 16-16h64V16c0-8.8 7.2-16 16-16s16 7.2 16 16zM152.8 265.5c-4.7 9.5-13.7 16-24.1 17.5L41.2 295.8l63.4 61.9c7.5 7.3 11 17.9 9.2 28.3l-15 87.3L177 432.1c9.3-4.9 20.5-4.9 29.8 0L285 473.3l-15-87.3c-1.8-10.4 1.7-20.9 9.2-28.3l63.4-61.9-87.5-12.7c-10.4-1.5-19.4-8.1-24.1-17.5l-39.1-79.4-39.1 79.4zm17.6-108.1c8.8-17.9 34.3-17.9 43.1 0l46.3 94 103.5 15.1c19.7 2.9 27.5 27 13.3 40.9l-74.9 73.2 17.7 103.3c3.4 19.6-17.2 34.6-34.8 25.3l-92.6-48.8L99.3 509.2c-17.6 9.3-38.2-5.7-34.8-25.3L82.2 380.6 7.2 307.4C-7 293.5 .9 269.3 20.5 266.5l103.5-15.1 46.3-94zM448 160c8.8 0 16 7.2 16 16v32h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H464v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V240H400c-8.8 0-16-7.2-16-16s7.2-16 16-16h32V176c0-8.8 7.2-16 16-16z\"]\n};\nvar faFire = {\n prefix: 'fal',\n iconName: 'fire',\n icon: [448, 512, [128293], \"f06d\", \"M239.7 109.4c6.1 7.7 15.5 12.1 25.3 12s19.1-4.7 25.1-12.5c8.4-11 16.9-21.7 25.6-31.1c27.8 28.8 52.1 65.5 69.8 101.1c19.6 39.4 30.5 75.7 30.5 97.6C416 388.3 328.8 480 224 480C118 480 32 388.4 32 276.5c0-29.9 14.4-70.8 40.9-115.4c24.7-41.6 59.3-85.3 100.2-124.7c23.5 22.7 45.7 47 66.6 73zm25-20c-6.9-8.6-13.9-17-21-25.2C225.6 43.6 206.7 24 187 5.5c-7.8-7.3-19.9-7.3-27.7-.1c-46.5 43.2-86 92.3-113.9 139.3C17.8 191.2 0 238.1 0 276.5C0 404.1 98.4 512 224 512c124.2 0 224-107.8 224-235.5c0-29.3-13.5-71.1-33.8-111.9c-20.7-41.4-49.9-85-84.5-118c-7.8-7.5-20.1-7.5-28-.1c-5.7 5.4-11.2 11.3-16.5 17.4c-7.3 8.4-14.2 17.2-20.5 25.5zM128 306.8c0-23.7 13-46.3 47.1-89.1c16.8 21.3 46.2 58.7 62.6 79.6c12.5 15.9 36.3 16.3 49.4 1l23.4-27.2c17.8 38.8 9.4 86.6-24.9 110.7C267.1 394 247.7 400 225.7 400c-28.2 0-52.6-9-69.8-24.7c-17-15.5-28-38.4-28-68.5zm72-109.2c-12.7-16.1-37-16.2-49.8-.1C116.8 239.4 96 270.3 96 306.8c0 38.5 14.3 70.2 38.4 92.1c23.9 21.8 56.4 33.1 91.3 33.1c28.5 0 54.1-8 77.7-23.7l0 0 .3-.2c51.2-35.7 59.1-104.2 33.9-154.6c-10.7-21.4-37.3-19.7-49.9-5.1l-24.9 29 0 0c-16.5-21-46-58.5-62.8-79.8z\"]\n};\nvar faBedPulse = {\n prefix: 'fal',\n iconName: 'bed-pulse',\n icon: [640, 512, [\"procedures\"], \"f487\", \"M478.3 8.8L505.9 64H624c8.8 0 16 7.2 16 16s-7.2 16-16 16H496c-6.1 0-11.6-3.4-14.3-8.8L465.6 55 414.9 181.9c-2.3 5.9-7.9 9.8-14.2 10s-12.2-3.2-15-8.8L342.1 96H208c-8.8 0-16-7.2-16-16s7.2-16 16-16H352c6.1 0 11.6 3.4 14.3 8.8L398.4 137 449.1 10.1c2.3-5.9 7.9-9.8 14.2-10s12.2 3.2 15 8.8zM304 160h34.3l16 32H304c-8.8 0-16 7.2-16 16V352H608V272c0-44.2-35.8-80-80-80H445.3l12.8-32H528c61.9 0 112 50.1 112 112v96 64 64c0 8.8-7.2 16-16 16s-16-7.2-16-16V448H32v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V432 368 80c0-8.8 7.2-16 16-16s16 7.2 16 16V352H256V208c0-26.5 21.5-48 48-48zM608 416V384H272 32v32H608zM192 240a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM64 240a80 80 0 1 1 160 0A80 80 0 1 1 64 240z\"]\n};\nvar faProcedures = faBedPulse;\nvar faHouseDay = {\n prefix: 'fal',\n iconName: 'house-day',\n icon: [640, 512, [], \"e00e\", \"M192 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V64c0 8.8 7.2 16 16 16s16-7.2 16-16V16zM16 160c-8.8 0-16 7.2-16 16s7.2 16 16 16H64c8.8 0 16-7.2 16-16s-7.2-16-16-16H16zM276.7 52.7l-32 32c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l32-32c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0zM410.4 99.9c-6-5.1-14.8-5.1-20.8 0l-224 192c-6.7 5.8-7.5 15.9-1.7 22.6s15.9 7.5 22.6 1.7L224 283.9V448c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V283.9l37.6 32.2c6.7 5.7 16.8 5 22.6-1.7s5-16.8-1.7-22.6l-224-192zM544 256.5V448c0 17.7-14.3 32-32 32H288c-17.7 0-32-14.3-32-32V256.5L400 133.1 544 256.5zM336 304v64c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V304c0-17.7-14.3-32-32-32H368c-17.7 0-32 14.3-32 32zm96 0v64H368V304h64zM144 176c0-17.7 14.3-32 32-32c13.9 0 25.8 8.9 30.2 21.3c2.9 8.3 12.1 12.7 20.4 9.8s12.7-12.1 9.8-20.4C227.6 129.8 203.9 112 176 112c-35.3 0-64 28.7-64 64c0 27.9 17.8 51.6 42.7 60.4c8.3 2.9 17.5-1.4 20.4-9.8s-1.4-17.5-9.8-20.4C152.9 201.8 144 189.9 144 176zm-36.7 91.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-32 32c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l32-32zM52.7 52.7c-6.2 6.2-6.2 16.4 0 22.6l32 32c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-32-32c-6.2-6.2-16.4-6.2-22.6 0z\"]\n};\nvar faShuttleSpace = {\n prefix: 'fal',\n iconName: 'shuttle-space',\n icon: [640, 512, [\"space-shuttle\"], \"f197\", \"M245.2 448.1L405.3 352H464c64.7 0 123.5-27.4 164.8-76.3c9.6-11.4 9.6-28 0-39.4C587.5 187.4 528.7 160 464 160H405.3L245.2 63.9C210.4 43 170.6 32 130 32H80C53.5 32 32 53.5 32 80v48c-17.7 0-32 14.3-32 32V352c0 17.7 14.3 32 32 32v48c0 26.5 21.5 48 48 48h50c40.6 0 80.4-11 115.2-31.9zM64 384h48c5.5 0 10.8-.6 16-1.6V448H80c-8.8 0-16-7.2-16-16V384zm164.7 36.6c-21.2 12.7-44.5 21.2-68.7 25V368c5.5-4.2 10.5-9 14.8-14.5c.6-.7 1.2-1.2 1.6-1.4c.2-.1 .3-.1 .3-.1H343.1L228.7 420.6zM64 352H32V272H176c8.8 0 16-7.2 16-16s-7.2-16-16-16H32V160H64h48c15.3 0 28.9 7.1 37.7 18.3c5.8 7.3 15.2 13.7 27 13.7H464c54.9 0 104.4 22.9 139.5 64c-35.1 41.1-84.6 64-139.5 64H176.7c-11.8 0-21.2 6.4-27 13.7C140.9 344.9 127.3 352 112 352H64zm0-224V80c0-8.8 7.2-16 16-16h48v65.6c-5.2-1.1-10.5-1.6-16-1.6H64zm110.8 30.5c-4.3-5.4-9.3-10.3-14.8-14.5V66.4c24.2 3.8 47.6 12.3 68.7 25L343.1 160H176.7c0 0-.2 0-.3-.1c-.4-.2-1-.7-1.6-1.4zM464 224c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16s16-7.2 16-16V240c0-8.8-7.2-16-16-16z\"]\n};\nvar faSpaceShuttle = faShuttleSpace;\nvar faShirtLongSleeve = {\n prefix: 'fal',\n iconName: 'shirt-long-sleeve',\n icon: [640, 512, [], \"e3c7\", \"M110.3 73.4C124.3 47.9 151.2 32 180.4 32H192h4 28.3c4.1 49.3 45.3 88 95.7 88s91.6-38.7 95.7-88H444h4 11.6c29.2 0 56 15.9 70.1 41.4l66.4 120.7c7.8 14.2 11.9 30.1 11.9 46.3V368c0 8.8-7.2 16-16 16H560c-8.8 0-16-7.2-16-16V240.4c0-5.4-1.4-10.7-4-15.4L481.2 118c-1.4-2.6-3.1-5.1-5-7.3c-4.4-5.1-11.4-6.9-17.7-4.5s-10.4 8.3-10.4 15V456c0 13.3-10.7 24-24 24H216c-13.3 0-24-10.7-24-24V121.2c0-6.7-4.2-12.7-10.4-15s-13.3-.5-17.7 4.5c-1.9 2.2-3.6 4.6-5.1 7.3L100 225c-2.6 4.7-4 10-4 15.4V368c0 8.8-7.2 16-16 16H48c-8.8 0-16-7.2-16-16V240.4c0-16.2 4.1-32.1 11.9-46.3L110.3 73.4zM180.4 0c-40.8 0-78.5 22.2-98.1 58L15.8 178.8C5.5 197.7 0 218.9 0 240.4V368c0 26.5 21.5 48 48 48H80c26.5 0 48-21.5 48-48V240.4l32-58.2V456c0 30.9 25.1 56 56 56H424c30.9 0 56-25.1 56-56V182.3l32 58.2V368c0 26.5 21.5 48 48 48h32c26.5 0 48-21.5 48-48V240.4c0-21.6-5.4-42.8-15.8-61.7L557.8 58C538.1 22.2 500.5 0 459.6 0H448h-4H407.6c-1.5 0-2.9 .1-4.2 .4c-1.1-.2-2.2-.4-3.4-.4H240c-1.2 0-2.3 .1-3.4 .4c-1.3-.2-2.8-.4-4.2-.4H196h-4H180.4zm76.1 32h127c-3.9 31.6-30.9 56-63.5 56s-59.6-24.4-63.5-56z\"]\n};\nvar faChartPieSimple = {\n prefix: 'fal',\n iconName: 'chart-pie-simple',\n icon: [512, 512, [\"chart-pie-alt\"], \"f64e\", \"M256 17.7v9.4V240c0 8.8 7.2 16 16 16H494.3c9.6 0 17.7-7.4 17.7-17.1C512 107 405 0 273.1 0C263.4 0 256 8.1 256 17.7zm32 14.8C390.4 39.8 472.2 121.6 479.5 224H288V32.5zM192 288c0 17.7 14.3 32 32 32H442.4C420.8 411.7 338.3 480 240 480C125.1 480 32 386.9 32 272c0-98.3 68.3-180.8 160-202.4V288zM224 66.7c0-18.5-15.7-33.3-33.8-29.5C81.5 60.1 0 156.5 0 272C0 404.5 107.5 512 240 512c115.5 0 211.9-81.5 234.8-190.2c3.8-18.1-11-33.8-29.5-33.8H256 224V256 66.7z\"]\n};\nvar faChartPieAlt = faChartPieSimple;\nvar faFaceLaugh = {\n prefix: 'fal',\n iconName: 'face-laugh',\n icon: [512, 512, [\"laugh\"], \"f599\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM256 400c52 0 97.1-32.8 115.7-80H140.3c18.6 47.2 63.7 80 115.7 80zM126.5 288H385.5c14.2 0 25.4 12.3 21.8 26c-18.1 68-79 118-151.3 118s-133.2-50-151.3-118c-3.6-13.7 7.6-26 21.8-26zm25.9-96a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm184-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faLaugh = faFaceLaugh;\nvar faFolderOpen = {\n prefix: 'fal',\n iconName: 'folder-open',\n icon: [576, 512, [128194, 128449, 61717], \"f07c\", \"M448 160v32h32V160c0-35.3-28.7-64-64-64H298.5c-17 0-33.3-6.7-45.3-18.7L226.7 50.7c-12-12-28.3-18.7-45.3-18.7H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384h80c19.6 0 37.3-11.9 44.6-30.2l64-160c5.9-14.8 4.1-31.5-4.8-44.7S543.9 224 528 224H128c-19.6 0-37.3 11.9-44.6 30.2L32 382.8V96c0-17.7 14.3-32 32-32H181.5c8.5 0 16.6 3.4 22.6 9.4l22.6-22.6L204.1 73.4l26.5 26.5c18 18 42.4 28.1 67.9 28.1H416c17.7 0 32 14.3 32 32zM384 448H64c-5.3 0-10.3-2.6-13.2-7s-3.6-10-1.6-14.9l64-160c2.4-6.1 8.3-10.1 14.9-10.1H528c5.3 0 10.3 2.6 13.2 7s3.6 10 1.6 14.9l-64 160C476.4 444 470.5 448 464 448H384z\"]\n};\nvar faAlbumCollectionCircleUser = {\n prefix: 'fal',\n iconName: 'album-collection-circle-user',\n icon: [640, 512, [], \"e48f\", \"M32 16c0 8.8 7.2 16 16 16H464c8.8 0 16-7.2 16-16s-7.2-16-16-16H48C39.2 0 32 7.2 32 16zM16 80c0 8.8 7.2 16 16 16H480c8.8 0 16-7.2 16-16s-7.2-16-16-16H32c-8.8 0-16 7.2-16 16zm43.8 48C26.9 128 1.1 156.3 4 189.1l24.7 272C31.4 489.9 55.6 512 84.5 512H394.8c-12.9-9.1-24.5-19.9-34.6-32H84.5c-12.4 0-22.8-9.5-23.9-21.8l-24.7-272C34.6 172.1 45.7 160 59.8 160H452.2c14.1 0 25.2 12.1 23.9 26.2l-.6 7c6.7-.8 13.6-1.2 20.5-1.2c3.9 0 7.8 .1 11.7 .4l.3-3.3c3-32.8-22.8-61.1-55.8-61.1H59.8zM256 192c-88.4 0-160 57.3-160 128s71.6 128 160 128c27.6 0 53.6-5.6 76.2-15.4c-3.9-9.9-6.9-20.2-9-30.8C304.4 410.6 281.7 416 256 416c-77.7 0-128-49.3-128-96s50.3-96 128-96c43.3 0 78 15.3 100.3 36.9c6.5-8.5 13.8-16.4 21.8-23.6C348.8 209.6 305 192 256 192zm0 152c13.3 0 24-9 24-20s-10.7-20-24-20s-24 9-24 20s10.7 20 24 20zM556 462.6c-17.3 11-37.9 17.4-60 17.4s-42.7-6.4-60-17.4c7.8-9.1 19.4-14.6 31.8-14.6h56.4c12.4 0 23.9 5.5 31.8 14.6zm24.3-20.8c-13.8-16.1-34.2-25.8-56.1-25.8H467.8c-21.8 0-42.2 9.6-56.1 25.8C394.5 422.1 384 396.2 384 368c0-61.9 50.1-112 112-112s112 50.1 112 112c0 28.2-10.5 54.1-27.7 73.8zM640 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zM496 320a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0 80a56 56 0 1 0 0-112 56 56 0 1 0 0 112z\"]\n};\nvar faCandy = {\n prefix: 'fal',\n iconName: 'candy',\n icon: [640, 512, [127852], \"e3e7\", \"M376.9 405.6C359.2 412.3 340 416 320 416c-4.9 0-9.7-.2-14.4-.6L183.8 171.9c12.8-20.7 30.1-38.2 50.6-51.2L376.9 405.6zm28.6-14.3L263.1 106.4C280.8 99.7 300 96 320 96c4.9 0 9.7 .2 14.4 .6L456.2 340.1c-12.8 20.7-30.1 38.2-50.6 51.2zm-14.2 43.1l0 0c10-4 19.5-8.8 28.6-14.3l0 0c40.9-24.9 71.7-64.7 84.9-111.8l91.9 49c10.5 5.6 23.5 2.7 30.6-6.9c9.1-12.3 3.8-24.5-5.3-35.4c-5.4-6.4-12-12.3-17.9-17.5l0 0c-3.2-2.9-6.3-5.6-8.7-8c2.8-1 5.8-2 9-3c8.3-2.7 17.6-5.7 24.6-10.5c6.5-4.5 11.1-10.7 11.1-19.8s-4.6-15.3-11.1-19.8c-7-4.9-16.2-7.8-24.6-10.5c-3.2-1-6.3-2-9-3c2.4-2.4 5.4-5.1 8.7-8c5.9-5.2 12.6-11.2 17.9-17.5c9.2-10.9 14.4-23.1 5.3-35.4c-7.1-9.6-20.1-12.5-30.6-6.9l-91.9 49C485.2 134.3 427.4 80.7 355.5 67.3l0 0C344 65.1 332.2 64 320.1 64c0 0 0 0-.1 0c-25.2 0-49.2 4.8-71.3 13.7l0 0c-10 4-19.6 8.8-28.6 14.3l0 0c-40.9 24.9-71.7 64.7-84.9 111.8l-91.9-49c-10.5-5.6-23.5-2.7-30.6 6.9c-9.1 12.3-3.8 24.5 5.3 35.4c5.4 6.4 12 12.3 17.9 17.5l0 0c3.2 2.9 6.3 5.6 8.7 8c-2.8 1-5.8 2-9 3l0 0c-8.3 2.7-17.6 5.7-24.6 10.5C4.6 240.7 0 246.9 0 256s4.6 15.3 11.1 19.8c7 4.9 16.2 7.8 24.6 10.5c3.2 1 6.3 2 9 3c-2.4 2.4-5.4 5.1-8.7 8l0 0 0 0 0 0c-5.9 5.2-12.6 11.2-17.9 17.5C8.9 325.8 3.6 338 12.7 350.3c7.1 9.6 20.1 12.5 30.6 6.9l91.9-49c19.6 69.5 77.4 123.1 149.3 136.5l0 0c12.1 2.3 24.6 3.4 37.4 3.3l0 0c24.5-.2 47.9-5.1 69.4-13.7zm-126-27.9C203.9 384.1 160 325.2 160 256c0-16.2 2.4-31.8 6.9-46.5l98.5 196.9zM374.7 105.6C436.1 127.9 480 186.8 480 256c0 16.2-2.4 31.8-6.9 46.5L374.7 105.6zM512 256c0-6.3-.3-12.4-.9-18.5l54.9-29.3c-3.2 6.5-4.2 14-2.6 21.4c2.3 10.8 10 19.8 20.4 23.7c2.8 1.1 5.6 2 8.1 2.8l.1 0-.1 0c-2.4 .8-5.3 1.7-8.1 2.8c-10.4 3.9-18.1 12.8-20.4 23.7c-1.6 7.3-.6 14.8 2.6 21.4l-54.9-29.3c.6-6.1 .9-12.3 .9-18.5zM128.9 237.5c-.6 6.1-.9 12.3-.9 18.5s.3 12.4 .9 18.5L73.9 303.8c3.2-6.5 4.2-14 2.6-21.4c-2.3-10.8-10-19.8-20.4-23.7c-2.8-1.1-5.6-2-8.1-2.8l-.1 0 .1 0c2.4-.8 5.3-1.7 8.1-2.8c10.4-3.9 18.1-12.8 20.4-23.7c1.6-7.3 .6-14.8-2.6-21.4l54.9 29.3z\"]\n};\nvar faBowlHot = {\n prefix: 'fal',\n iconName: 'bowl-hot',\n icon: [512, 512, [\"soup\"], \"f823\", \"M144 0c8.8 0 16 7.2 16 16V32c0 20.1 9.5 39.1 25.6 51.2C209.8 101.3 224 129.8 224 160v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V160c0-20.1-9.5-39.1-25.6-51.2C142.2 90.7 128 62.2 128 32V16c0-8.8 7.2-16 16-16zm.8 445.5c7.7 3.7 13.7 10.3 16.5 18.4c3.3 9.4 12.2 16.1 22.7 16.1H328c10.4 0 19.4-6.7 22.7-16.1c2.8-8.1 8.7-14.7 16.5-18.4c61.4-29.2 105-90.1 109.3-162.2l.6-10.3c.5-9.2-6.8-16.9-16-16.9H50.9c-9.2 0-16.5 7.7-16 16.9l.6 10.3c4.2 72.1 47.8 133 109.3 162.2zM3 274.8C1.4 247.2 23.3 224 50.9 224H461.1c27.6 0 49.5 23.2 47.9 50.8l-.6 10.3c-4.9 84.1-55.9 155.1-127.5 189.2C373.3 496.3 352.5 512 328 512H184c-24.5 0-45.3-15.7-52.9-37.6C59.5 440.3 8.5 369.3 3.6 285.2L3 274.8zM288 16V32c0 20.1 9.5 39.1 25.6 51.2C337.8 101.3 352 129.8 352 160v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V160c0-20.1-9.5-39.1-25.6-51.2C270.2 90.7 256 62.2 256 32V16c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faSoup = faBowlHot;\nvar faFlatbread = {\n prefix: 'fal',\n iconName: 'flatbread',\n icon: [512, 512, [129747], \"e40b\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm363.3-84.7l-192 192c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l192-192c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zm-112-70.6c6.2 6.2 6.2 16.4 0 22.6l-128 128c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l128-128c6.2-6.2 16.4-6.2 22.6 0zm160 182.6l-128 128c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l128-128c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faHeartCirclePlus = {\n prefix: 'fal',\n iconName: 'heart-circle-plus',\n icon: [576, 512, [], \"e500\", \"M244 130.6l-12-13.5-4.2-4.7c-26-29.2-65.3-42.8-103.8-35.8c-53.3 9.7-92 56.1-92 110.3v3.5c0 32.3 13.4 63.1 37.1 85.1L253 446.8c.8 .7 1.9 1.2 3 1.2s2.2-.4 3-1.2l10.9-10.2c4.3 10.2 9.6 20 15.7 29.1l-4.9 4.5c-.8 .8-1.7 1.5-2.6 2.2c-6.3 4.9-14.1 7.5-22.1 7.5c-9.2 0-18-3.5-24.8-9.7L47.2 299c-3.8-3.5-7.3-7.2-10.7-11C13.1 261 0 226.4 0 190.4v-3.5C0 117.3 49.8 57.6 118.3 45.1c40.9-7.4 82.6 3.2 114.7 28.4c6.7 5.3 13 11.1 18.7 17.6l4.2 4.7 4.2-4.7c4.2-4.7 8.6-9.1 13.3-13.1c1.8-1.5 3.6-3 5.4-4.5C311 48.4 352.7 37.7 393.7 45.1C462.2 57.6 512 117.3 512 186.9v3.5c0 6.8-.5 13.5-1.4 20.1c-9.8-4.9-20.2-8.9-30.9-12c.2-2.7 .3-5.4 .3-8.1v-3.5c0-54.2-38.7-100.6-92-110.3c-38.5-7-77.8 6.6-103.8 35.8l-4.2 4.7-12 13.5c-3 3.4-7.4 5.4-12 5.4s-8.9-2-12-5.4zM544 368a112 112 0 1 0 -224 0 112 112 0 1 0 224 0zm-256 0a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm160-64v48h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H448v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V384H368c-8.8 0-16-7.2-16-16s7.2-16 16-16h48V304c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faCodeFork = {\n prefix: 'fal',\n iconName: 'code-fork',\n icon: [448, 512, [], \"e13b\", \"M80 128a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm80-48c0 38.7-27.5 71-64 78.4V192c0 26.5 21.5 48 48 48H304c26.5 0 48-21.5 48-48V158.4c-36.5-7.4-64-39.7-64-78.4c0-44.2 35.8-80 80-80s80 35.8 80 80c0 38.7-27.5 71-64 78.4V192c0 44.2-35.8 80-80 80H240v81.6c36.5 7.4 64 39.7 64 78.4c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-38.7 27.5-71 64-78.4V272H144c-44.2 0-80-35.8-80-80V158.4C27.5 151 0 118.7 0 80C0 35.8 35.8 0 80 0s80 35.8 80 80zm64 304a48 48 0 1 0 0 96 48 48 0 1 0 0-96zM416 80a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nvar faCity = {\n prefix: 'fal',\n iconName: 'city',\n icon: [640, 512, [127961], \"f64f\", \"M96 16V64h64V16c0-8.8 7.2-16 16-16s16 7.2 16 16V64 80 96H176 64c-17.7 0-32 14.3-32 32V448c0 17.7 14.3 32 32 32H197.5c4.2 11.9 10.7 22.8 19 32H64c-35.3 0-64-28.7-64-64V128C0 92.7 28.7 64 64 64V16C64 7.2 71.2 0 80 0s16 7.2 16 16zM512 192c-17.7 0-32-14.3-32-32V64c0-17.7-14.3-32-32-32H288c-17.7 0-32 14.3-32 32V448c0 17.7 14.3 32 32 32h32H448 576c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32H512zm0-128v64 32h32 32c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H448 320 288c-35.3 0-64-28.7-64-64V64c0-35.3 28.7-64 64-64H448c35.3 0 64 28.7 64 64zM320 392V344c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H344c-13.3 0-24-10.7-24-24zm32-8h32V352H352v32zM344 64h48c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H344c-13.3 0-24-10.7-24-24V88c0-13.3 10.7-24 24-24zm8 64h32V96H352v32zM320 264V216c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H344c-13.3 0-24-10.7-24-24zm32-8h32V224H352v32zM504 448c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H504zm8-64v32h32V384H512zm-32-88V248c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H504c-13.3 0-24-10.7-24-24zm32-8h32V256H512v32zM88 352c-13.3 0-24-10.7-24-24V280c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H88zm8-64v32h32V288H96zM64 200V152c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H88c-13.3 0-24-10.7-24-24zm32-8h32V160H96v32z\"]\n};\nvar faSignalBarsWeak = {\n prefix: 'fal',\n iconName: 'signal-bars-weak',\n icon: [640, 512, [\"signal-alt-1\"], \"f691\", \"M96 464c0 8.8-7.2 16-16 16s-16-7.2-16-16V432c0-8.8 7.2-16 16-16s16 7.2 16 16v32zM80 384c-26.5 0-48 21.5-48 48v32c0 26.5 21.5 48 48 48s48-21.5 48-48V432c0-26.5-21.5-48-48-48z\"]\n};\nvar faSignalAlt1 = faSignalBarsWeak;\nvar faMicrophoneLines = {\n prefix: 'fal',\n iconName: 'microphone-lines',\n icon: [384, 512, [127897, \"microphone-alt\"], \"f3c9\", \"M256 160V128H208c-8.8 0-16-7.2-16-16s7.2-16 16-16h48c0-35.3-28.7-64-64-64s-64 28.7-64 64V256c0 35.3 28.7 64 64 64s64-28.7 64-64H208c-8.8 0-16-7.2-16-16s7.2-16 16-16h48V192H208c-8.8 0-16-7.2-16-16s7.2-16 16-16h48zm32 16v64 16c0 53-43 96-96 96s-96-43-96-96V96c0-53 43-96 96-96s96 43 96 96v16 64zM48 192c8.8 0 16 7.2 16 16v48c0 70.7 57.3 128 128 128s128-57.3 128-128V208c0-8.8 7.2-16 16-16s16 7.2 16 16v48c0 83-63.1 151.2-144 159.2V480h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H192 112c-8.8 0-16-7.2-16-16s7.2-16 16-16h64V415.2C95.1 407.2 32 339 32 256V208c0-8.8 7.2-16 16-16z\"]\n};\nvar faMicrophoneAlt = faMicrophoneLines;\nvar faClockTwelve = {\n prefix: 'fal',\n iconName: 'clock-twelve',\n icon: [512, 512, [], \"e358\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM272 112V256c0 8.8-7.2 16-16 16s-16-7.2-16-16V112c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faPepperHot = {\n prefix: 'fal',\n iconName: 'pepper-hot',\n icon: [512, 512, [127798], \"f816\", \"M422.9 133.4l11.2 7.5 9.4 9.6C466.1 173.7 480 205.2 480 240c0 3-.1 5.9-.3 8.8C469.4 233.4 452 224 433.2 224H368V152c0-15.7-6.4-29.8-16.8-40l.8 0c26.3 0 50.6 7.9 70.9 21.4zM512 240c0-43.3-17.2-82.6-45.2-111.4l-.4-.4c1.5-3.3 2.9-6.6 4.2-10c9.4-25.6 10.6-53.8 2.7-80.5c-1.1-3.8-2.4-7.6-3.9-11.3l-6.5-16.3 0 0 0 0c-3.3-8.2-12.6-12.2-20.8-8.9s-12.2 12.6-8.9 20.8l0 0 6.5 16.3c2.5 6.3 4.3 12.7 5.4 19.2c.9 5.1 1.4 10.3 1.4 15.5c.1 11.6-1.8 23.1-5.8 34c-9-6-18.6-11.1-28.7-15.2C393.5 84.1 373.2 80 352 80c-24.3 0-47.3 5.4-67.9 15.1c-19.3 9-10.5 32.9 10.8 32.9l17.1 0c13.3 0 24 10.7 24 24v80c0 13.3 10.7 24 24 24h73.2c9.1 0 17.4 5.1 21.5 13.3l11.7 23.4c8.2 16.4 30.7 17.5 36.8 .1c5.8-16.5 8.9-34.3 8.9-52.8zM261.7 160L172.4 305.7c-18.1 29.6-47.5 50.5-81.4 58.1l-35.4 7.9C23.1 378.9 0 407.7 0 441c0 39.2 31.8 71 71 71h32.1c141.1 0 269.1-68.1 348.9-176.2l-16.2-32.5C362.9 411.3 239.6 480 103.2 480H71c-21.6 0-39-17.5-39-39c0-18.3 12.7-34.1 30.6-38.1L97.9 395c42.3-9.4 79-35.6 101.7-72.6L299.2 160l-37.5 0z\"]\n};\nvar faCitrusSlice = {\n prefix: 'fal',\n iconName: 'citrus-slice',\n icon: [512, 512, [], \"e2f5\", \"M427.3 4.7c-6.2-6.2-16.4-6.2-22.6 0l-400 400c-6.2 6.2-6.2 16.4 0 22.6C58.9 481.5 132.5 512 209.1 512h4C378.2 512 512 378.2 512 213.2v-4c0-76.7-30.5-150.2-84.7-204.5zM278.8 175.8l89.4-89.4c21.5 25.2 36.9 55.9 43.7 89.7H279c-.1-.1-.1-.1-.2-.2zM295.6 208H415.8c.1 2.7 .2 5.3 .2 8c0 49.5-18 94.7-47.7 129.7l-82.5-82.5c10.7-16.5 14-36.5 9.8-55.2zm50.1 160.3C310.7 398 265.5 416 216 416c-2.7 0-5.3-.1-8-.2v-122c18.4 4.6 38.2 1.8 54.9-8.4l82.8 82.8zM176 412c-33.7-6.9-64.4-22.2-89.7-43.7L176 278.6V412zM448 216c0-58.3-21.5-111.6-57-152.3L415.6 39C457 85.8 480 146.3 480 209.1v4C480 360.5 360.5 480 213.2 480h-4C146.3 480 85.8 457 39 415.6L63.7 391c40.8 35.5 94 57 152.3 57c128.1 0 232-103.9 232-232zM256.2 198.5c13.1 15.7 12.2 39.1-2.5 53.8s-38.1 15.6-53.8 2.5l56.3-56.3z\"]\n};\nvar faSheep = {\n prefix: 'fal',\n iconName: 'sheep',\n icon: [640, 512, [128017], \"f711\", \"M544 136c0-39.8-32.2-72-72-72c-36.1 0-66 26.6-71.2 61.2l.1 .1-.1 .1c-.5 3.5-.8 7-.8 10.6v72c0 35.3 28.7 64 64 64h16c35.3 0 64-28.7 64-64V136zM372.5 105.8C385.4 63.1 425.1 32 472 32c44.4 0 82.2 27.8 97.2 66.9l47.7 31.8c7.4 4.9 9.3 14.8 4.4 22.2s-14.8 9.3-22.2 4.4L576 141.9V208c0 53-43 96-96 96H464c-53 0-96-43-96-96V147.2l-15.1 10.1c-7.4 4.9-17.3 2.9-22.2-4.4s-2.9-17.3 4.4-22.2l37.3-24.9zM448 144a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM416 344c9.9 0 18.8-4.5 24.7-11.6c10.1 2.4 20.5 3.6 31.3 3.6c1.1 0 2.2 0 3.4 0c-8.7 21.5-28.8 37.3-52.8 39.7l-25 100C392.2 497 373 512 351 512H336c-26.5 0-48-21.5-48-48V423.4c-9.4 5.4-20.3 8.6-32 8.6s-22.6-3.1-32-8.6V464c0 26.5-21.5 48-48 48H161c-22 0-41.2-15-46.6-36.4l-25-100C57.2 372.4 32 345.1 32 312c0-5.3 .7-10.5 1.9-15.5C13.7 285.7 0 264.5 0 240s13.7-45.7 33.9-56.5c-1.2-5-1.9-10.2-1.9-15.5c0-35.3 28.7-64 64-64c3.3 0 6.6 .3 9.8 .8C112.7 76.8 137.9 56 168 56c15 0 28.9 5.2 39.8 13.9C219.5 56.5 236.8 48 256 48s36.5 8.5 48.2 21.9C315.1 61.2 329 56 344 56c5.7 0 11.2 .7 16.5 2.1c-6.4 9.2-11.7 19.2-15.8 29.9l-.7 0c-7.6 0-14.4 2.6-19.9 6.9c-13.4 10.6-32.8 8.9-44-4c-5.9-6.8-14.5-11-24.1-11s-18.2 4.2-24.1 11c-11.3 12.9-30.6 14.6-44 4C182.4 90.6 175.6 88 168 88c-15 0-27.7 10.4-31.1 24.3c-3.9 16.1-19.6 26.6-36 24c-1.6-.2-3.2-.4-5-.4c-17.7 0-32 14.3-32 32c0 2.7 .3 5.3 .9 7.8c3.5 14.2-3 29-16 36c-10.2 5.4-17 16.1-17 28.3s6.8 22.8 17 28.3c12.9 6.9 19.5 21.7 16 36c-.6 2.5-.9 5.1-.9 7.8c0 17.7 14.3 32 32 32c1.7 0 3.4-.1 5-.4c16.4-2.5 32 7.9 36 24c3.4 14 16.1 24.3 31.1 24.3c7.6 0 14.4-2.6 19.9-6.9c13.4-10.6 32.8-8.9 44 4c5.9 6.8 14.5 11 24.1 11s18.2-4.2 24.1-11c11.3-12.9 30.6-14.6 44-4c5.5 4.3 12.3 6.9 19.9 6.9c15 0 27.7-10.4 31.1-24.3c3.9-16.1 19.6-26.6 36-24c1.6 .2 3.2 .4 5 .4zm-72 80c-8.5 0-16.6-1.7-24-4.7V464c0 8.8 7.2 16 16 16h15c7.3 0 13.7-5 15.5-12.1l13.8-55.2C370 419.8 357.5 424 344 424zM131.7 412.7l13.8 55.2c1.8 7.1 8.2 12.1 15.5 12.1h15c8.8 0 16-7.2 16-16V419.3c-7.4 3-15.5 4.7-24 4.7c-13.5 0-26-4.2-36.3-11.3z\"]\n};\nvar faUnlock = {\n prefix: 'fal',\n iconName: 'unlock',\n icon: [448, 512, [128275], \"f09c\", \"M128 128c0-53 43-96 96-96c43.5 0 80.2 28.9 92 68.6c2.5 8.5 11.4 13.3 19.9 10.8s13.3-11.4 10.8-19.9C331 38.6 282 0 224 0C153.3 0 96 57.3 96 128v64H80c-44.2 0-80 35.8-80 80V432c0 44.2 35.8 80 80 80H368c44.2 0 80-35.8 80-80V272c0-44.2-35.8-80-80-80H128V128zM32 272c0-26.5 21.5-48 48-48H368c26.5 0 48 21.5 48 48V432c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48V272z\"]\n};\nvar faColonSign = {\n prefix: 'fal',\n iconName: 'colon-sign',\n icon: [384, 512, [], \"e140\", \"M255.6 19.6c2-8.6-3.3-17.2-11.9-19.2s-17.2 3.3-19.2 11.9L212.2 64.6C111.6 72.5 32 154.9 32 256c0 70.8 39 132.4 96.9 165.7l-16.5 70.7c-2 8.6 3.3 17.2 11.9 19.2s17.2-3.3 19.2-11.9l14.9-64.1c14.2 5.3 29.1 9 44.6 10.9l-10.7 45.9c-2 8.6 3.3 17.2 11.9 19.2s17.2-3.3 19.2-11.9l12.1-51.8c41.1-1.6 79-15.5 109.8-38.2c7.1-5.2 8.7-15.2 3.4-22.4s-15.2-8.7-22.4-3.4c-23.6 17.3-52.2 28.6-83.3 31.4l69.2-296.5c4.9 2.9 9.6 6 14.1 9.3c7.1 5.2 17.1 3.7 22.4-3.4s3.7-17.1-3.4-22.4c-8-5.9-16.6-11.2-25.5-15.9l15.6-66.8c2-8.6-3.3-17.2-11.9-19.2s-17.2 3.3-19.2 11.9L290.1 73.8c-14.3-4.7-29.4-7.8-45-9.1l10.5-45.1zm-51.1 78l-68 291.2C92.7 360.1 64 311.2 64 256c0-80.3 60.8-147.3 140.5-158.4zM165.9 404.1L237.7 96.3c15.7 .9 30.9 4 45.1 8.9l-72.3 310c-15.6-1.6-30.6-5.4-44.6-11z\"]\n};\nvar faHeadset = {\n prefix: 'fal',\n iconName: 'headset',\n icon: [512, 512, [], \"f590\", \"M32 256C32 132.3 132.3 32 256 32s224 100.3 224 224V400.1c0 26.5-21.5 48-48 48l-82.7-.1c-6.6-18.6-24.4-32-45.3-32H240c-26.5 0-48 21.5-48 48s21.5 48 48 48h64c20.9 0 38.7-13.4 45.3-32l82.7 .1c44.2 0 80.1-35.8 80.1-80V256C512 114.6 397.4 0 256 0S0 114.6 0 256v48c0 8.8 7.2 16 16 16s16-7.2 16-16V256zM320 464c0 8.8-7.2 16-16 16H240c-8.8 0-16-7.2-16-16s7.2-16 16-16h64c8.8 0 16 7.2 16 16M144 224h16V352H144c-26.5 0-48-21.5-48-48V272c0-26.5 21.5-48 48-48zM64 272v32c0 44.2 35.8 80 80 80h16c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32H144c-44.2 0-80 35.8-80 80zm288-48h16c26.5 0 48 21.5 48 48v32c0 26.5-21.5 48-48 48H352V224zm16-32H352c-17.7 0-32 14.3-32 32V352c0 17.7 14.3 32 32 32h16c44.2 0 80-35.8 80-80V272c0-44.2-35.8-80-80-80z\"]\n};\nvar faBadgerHoney = {\n prefix: 'fal',\n iconName: 'badger-honey',\n icon: [640, 512, [129441], \"f6b4\", \"M459.8 96c-21 0-41.8 4.9-60.6 14.3c-23.3 11.6-48.9 17.7-74.9 17.7H128c-5.3 0-10.5 .4-15.6 1.3C117.1 182.4 161.7 224 216 224h2c17.1 0 34-4.2 49.2-12.1l85.6-44.8C391.7 146.7 435 136 479 136H583.9c-.7-.4-1.5-.7-2.2-1l-61.1-26.7C502.2 100.2 482.3 96 462.2 96h-2.4zM32 224c0 43.2 28.5 79.8 67.8 91.8c8.3 2.6 13.1 11.3 10.7 19.7L99.2 374.9c-1.7 5.9-1.6 12.1 .1 18l13.1 43.7c2 6.8 8.3 11.4 15.3 11.4H149c10.7 0 18.4-10.3 15.3-20.6L156 399.7c-3.2-10.8-2.6-22.4 1.9-32.7l16-37.3c2.5-5.9 8.3-9.7 14.7-9.7H306.7c7.8 0 14.5 5.7 15.8 13.4l16.9 101.3c1.3 7.7 8 13.4 15.8 13.4h23.1c9.9 0 17.4-8.9 15.8-18.6L374.2 310.7c-1-5.8 1.3-11.6 5.9-15.2c42.5-33.4 112.3-71.5 187.8-78.4c11.5-1.1 21.7-5.3 28.7-12.4c7.2-7.2 11.3-17.1 11.3-27.3v-2.2c0-2.4-.2-4.8-.6-7.2H511.6c.3 1.3 .4 2.6 .4 4c0 11-9 20-20 20s-20-9-20-20c0-1.3 .1-2.6 .4-3.9c-36.5 1-72.3 10.3-104.8 27.3L282 240.2c-19.8 10.3-41.7 15.8-64 15.8h-2c-68.3 0-124.9-50.4-134.5-116C52 156.4 32 187.9 32 224zM75.7 340.9C58.9 333.3 44 322.3 32 308.7V320c0 8.8-7.2 16-16 16s-16-7.2-16-16V224C0 153.3 57.3 96 128 96H324.2c21 0 41.8-4.9 60.6-14.3C408.1 70.1 433.8 64 459.8 64h2.4c24.5 0 48.8 5.1 71.2 14.9l61.1 26.7C622.1 117.7 640 145 640 175.2v2.2c0 18.7-7.4 36.7-20.7 49.9c-12.1 12.1-27.6 18.7-43.3 21.1V272c0 8.8-7.2 16-16 16s-16-7.2-16-16V252.9c-53.3 10.6-102.6 36.9-136.6 62.1l18.2 109.1c4.9 29.3-17.7 55.9-47.3 55.9H355.1c-23.5 0-43.5-17-47.3-40.1L293.1 352h-94l-11.8 27.6c-1.5 3.4-1.7 7.3-.6 10.9l8.3 27.7c9.2 30.8-13.8 61.8-46 61.8H127.8c-21.2 0-39.9-13.9-46-34.2L68.7 402.1c-3.5-11.7-3.6-24.2-.2-36l7.2-25.2z\"]\n};\nvar faH4 = {\n prefix: 'fal',\n iconName: 'h4',\n icon: [640, 512, [], \"f86a\", \"M447.7 83L411.4 272H608V80c0-8.8 7.2-16 16-16s16 7.2 16 16V432c0 8.8-7.2 16-16 16s-16-7.2-16-16V304H392c-4.8 0-9.3-2.1-12.3-5.8s-4.3-8.5-3.4-13.2l40-208c1.7-8.7 10.1-14.4 18.7-12.7s14.4 10.1 12.7 18.7zM16 64c8.8 0 16 7.2 16 16V240H288V80c0-8.8 7.2-16 16-16s16 7.2 16 16V256 432c0 8.8-7.2 16-16 16s-16-7.2-16-16V272H32V432c0 8.8-7.2 16-16 16s-16-7.2-16-16V256 80c0-8.8 7.2-16 16-16z\"]\n};\nvar faStoreSlash = {\n prefix: 'fal',\n iconName: 'store-slash',\n icon: [640, 512, [], \"e071\", \"M544 272c0-8.8-7.2-16-16-16s-16 7.2-16 16v54l32 25.3V272zM385.1 224c19.8 0 37.8-6.5 52.3-17.3c4.7-3.5 9-7.4 12.9-11.7c3.9 4.3 8.3 8.3 13 11.8c14.5 10.7 32.5 17.2 52.2 17.2c4.1 0 8.1-.3 12.1-.8c55.5-7.4 81.8-72.5 52.1-119.4L522.3 13.1C517.2 5 508.1 0 498.4 0H141.6c-9.7 0-18.8 5-23.9 13.1l-.7 1.1 25.3 19.9 1.3-2.1H496.4l56.2 88.9 0 0c18.7 29.6 .3 66.6-29.2 70.6c-2.6 .3-5.2 .5-7.9 .5c-16.5 0-31.2-7.2-41.5-18.5c-6.1-6.7-14.7-10.5-23.7-10.5s-17.6 3.8-23.7 10.5c-10.2 11.2-24.8 18.4-41.4 18.4c-16.5 0-31.3-7.2-41.4-18.4c-6.1-6.7-14.7-10.5-23.7-10.5c-4 0-7.9 .8-11.6 2.2L382.7 224c.8 0 1.6 0 2.3 0zm-220.9-9.5l-29.7-23.4c-3.3 .6-6.7 .9-10.1 .9c-2.6 0-5.2-.2-7.9-.5c-20.7-2.8-35.9-22.1-36.6-43.5l-29-22.9c-12 43.2 14 91.7 61.3 98.1c4 .5 8.1 .8 12.1 .8c14.4 0 27.9-3.5 39.8-9.5zM378.8 384l-40.5-32H128V272c0-8.8-7.2-16-16-16s-16 7.2-16 16v80 16 16 64c0 35.3 28.7 64 64 64H480c15.9 0 30.4-5.8 41.6-15.3L495.4 476c-4.6 2.5-9.8 4-15.4 4H160c-17.7 0-32-14.3-32-32V384H378.8zM25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4z\"]\n};\nvar faRoadCircleXmark = {\n prefix: 'fal',\n iconName: 'road-circle-xmark',\n icon: [640, 512, [], \"e566\", \"M157.5 74c9.2-25.2 33.2-42 60.1-42H422.4c26.9 0 50.9 16.8 60.1 42l44.1 120.6c-9.9-1.7-20.2-2.7-30.6-2.7c-1.5 0-2.9 0-4.4 .1L452.5 85c-4.6-12.6-16.6-21-30.1-21H336v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V64H217.6c-13.4 0-25.4 8.4-30.1 21L70.6 405c-7.6 20.9 7.8 43 30.1 43H339.2c5.9 11.4 12.9 22.2 21 32H100.6c-44.5 0-75.4-44.2-60.1-86L157.5 74zM336 208v86.6c-3.5 7.6-6.5 15.6-8.9 23.8c-2.1 1.1-4.6 1.7-7.1 1.7c-8.8 0-16-7.2-16-16V208c0-8.8 7.2-16 16-16s16 7.2 16 16zM608 368a112 112 0 1 0 -224 0 112 112 0 1 0 224 0zm-256 0a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm166.6 0l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L496 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L473.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L496 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L518.6 368z\"]\n};\nvar faSignalSlash = {\n prefix: 'fal',\n iconName: 'signal-slash',\n icon: [640, 512, [], \"f695\", \"M592 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V363.9l32 25.3V16zM432 496c0 8.8 7.2 16 16 16s16-7.2 16-16V451.2L432 426v70zm32-384c0-8.8-7.2-16-16-16s-16 7.2-16 16V262.9l32 25.3V112zM304 324.9V496c0 8.8 7.2 16 16 16s16-7.2 16-16V350.2l-32-25.3zM192 288c-8.8 0-16 7.2-16 16V496c0 8.8 7.2 16 16 16s16-7.2 16-16V304c0-8.8-7.2-16-16-16zM64 384c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V400c0-8.8-7.2-16-16-16zM25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4z\"]\n};\nvar faUserMinus = {\n prefix: 'fal',\n iconName: 'user-minus',\n icon: [640, 512, [], \"f503\", \"M224 32a96 96 0 1 1 0 192 96 96 0 1 1 0-192zm0 224A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 80h91.4c80 0 145 64.3 146.3 144H32c1.2-79.7 66.2-144 146.3-144zm0-32C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304H178.3zM432 224c-8.8 0-16 7.2-16 16s7.2 16 16 16H624c8.8 0 16-7.2 16-16s-7.2-16-16-16H432z\"]\n};\nvar faMarsStrokeUp = {\n prefix: 'fal',\n iconName: 'mars-stroke-up',\n icon: [320, 512, [9896, \"mars-stroke-v\"], \"f22a\", \"M171.3 4.7c-6.2-6.2-16.4-6.2-22.6 0l-64 64c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L144 54.6V128H96c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v32.8C63.1 200.8 0 269 0 352c0 88.4 71.6 160 160 160s160-71.6 160-160c0-83-63.1-151.2-144-159.2V160h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H176V54.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-64-64zM160 480a128 128 0 1 1 0-256 128 128 0 1 1 0 256z\"]\n};\nvar faMarsStrokeV = faMarsStrokeUp;\nvar faChampagneGlasses = {\n prefix: 'fal',\n iconName: 'champagne-glasses',\n icon: [640, 512, [129346, \"glass-cheers\"], \"f79f\", \"M98.1 186.2C73.2 233.5 95.7 292 146 310.3s105.1-12 116.5-64.3l10.9-50.1L122 140.8 98.1 186.2zm182.1-21.9l19.2-88.6L179.3 32 137 112.2l143.2 52.1zm-210.4 7L150.9 17.1c7.5-14.2 24.2-20.6 39.3-15.2L310.4 45.7c3.6 1.3 6.8 3.2 9.6 5.6c2.8-2.4 6-4.3 9.6-5.6L449.8 1.9c15-5.5 31.8 1 39.3 15.2l81.2 154.2c31.4 59.7 7.4 132.3-50.6 162.6l42 115.4 56.9-20.7c8.3-3 17.5 1.3 20.5 9.6s-1.3 17.5-9.6 20.5l-71.9 26.2L485.6 511c-8.3 3-17.5-1.3-20.5-9.6s1.3-17.5 9.6-20.5l56.9-20.7-42-115.4c-63.9 14.1-129-26.1-143.3-92L320 131.8l-26.2 121c-14.3 65.9-79.4 106.2-143.3 92l-42 115.4L165.4 481c8.3 3 12.6 12.2 9.6 20.5s-12.2 12.6-20.5 9.6L82.5 484.9 10.5 458.7c-8.3-3-12.6-12.2-9.6-20.5s12.2-12.6 20.5-9.6l56.9 20.7 42-115.4c-58-30.3-82-102.9-50.6-162.6zm472.1 14.9L518 140.8 366.6 195.9 377.5 246c11.3 52.3 66.2 82.5 116.5 64.3s72.8-76.7 47.9-124.1zM359.8 164.3L503 112.2 460.7 32 340.6 75.7l19.2 88.6z\"]\n};\nvar faGlassCheers = faChampagneGlasses;\nvar faTaco = {\n prefix: 'fal',\n iconName: 'taco',\n icon: [512, 512, [127790], \"f826\", \"M257.1 61.2l44.1 34.2 17-22-17 22c10.9 8.5 24.4 12.8 38.2 12.4l55.8-1.7c.8 0 1.6 .5 1.8 1.3l15.6 53.6c3.9 13.3 12.2 24.8 23.6 32.5l46.1 31.4c.7 .5 1 1.4 .7 2.1c-1.4 3.8-3.4 8.3-6.3 14.8c-1.9 4.2-4.1 9.1-6.2 14.2c7.6 8.5 14.6 17.4 21.2 26.7c2.7-10 7.3-20.3 11.5-29.7c2.6-5.8 5.1-11.3 6.8-16.2c4.7-13.1 0-27.8-11.6-35.7l-46.1-31.4c-5.9-4-10.2-9.9-12.2-16.8L424.7 99.3c-3.9-13.4-16.4-22.5-30.4-22.1L338.6 79c-7.1 .2-14.1-2-19.7-6.4L274.8 38.4c-11-8.6-26.5-8.6-37.5 0L193.1 72.6c-5.6 4.4-12.6 6.6-19.7 6.4l-55.8-1.7c-14-.4-26.5 8.6-30.4 22.1L71.7 152.9c-2 6.8-6.3 12.8-12.2 16.8L13.4 201C1.9 208.9-2.9 223.6 1.8 236.7C3.6 241.6 6 247.1 8.7 253c4.2 9.4 8.8 19.6 11.5 29.7c6.5-9.3 13.6-18.2 21.2-26.7c-2.1-5.1-4.3-10-6.2-14.2c-2.9-6.5-4.9-11-6.3-14.8c-.3-.8 0-1.7 .7-2.1l46.1-31.4c11.4-7.8 19.8-19.3 23.6-32.5L115 107.4c.2-.8 1-1.3 1.8-1.3l55.8 1.7c13.8 .4 27.3-4 38.2-12.4l44.1-34.2c.7-.5 1.6-.5 2.2 0zM256 224c123.7 0 224 100.3 224 224H32c0-123.7 100.3-224 224-224zM32 480H480c17.7 0 32-14.3 32-32c0-141.4-114.6-256-256-256S0 306.6 0 448c0 17.7 14.3 32 32 32zm80-96a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm80-80a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faHexagonPlus = {\n prefix: 'fal',\n iconName: 'hexagon-plus',\n icon: [512, 512, [\"plus-hexagon\"], \"f300\", \"M16 288c-11.4-19.8-11.4-44.2 0-64L108.3 64.2c11.4-19.8 32.6-32 55.4-32H348.3c22.9 0 44 12.2 55.4 32L496 224c11.4 19.8 11.4 44.2 0 64L403.7 447.8c-11.4 19.8-32.6 32-55.4 32H163.7c-22.9 0-44-12.2-55.4-32L16 288zm27.7-48c-5.7 9.9-5.7 22.1 0 32L136 431.8c5.7 9.9 16.3 16 27.7 16H348.3c11.4 0 22-6.1 27.7-16L468.3 272c5.7-9.9 5.7-22.1 0-32L376 80.2c-5.7-9.9-16.3-16-27.7-16l-184.6 0c-11.4 0-22 6.1-27.7 16L43.7 240zM240 352V272H160c-8.8 0-16-7.2-16-16s7.2-16 16-16h80V160c0-8.8 7.2-16 16-16s16 7.2 16 16v80h80c8.8 0 16 7.2 16 16s-7.2 16-16 16H272v80c0 8.8-7.2 16-16 16s-16-7.2-16-16z\"]\n};\nvar faPlusHexagon = faHexagonPlus;\nvar faClipboard = {\n prefix: 'fal',\n iconName: 'clipboard',\n icon: [384, 512, [128203], \"f328\", \"M192 32c-22.3 0-41.2 15.3-46.5 36c-1.8 7.1-8.2 12-15.5 12H112c-8.8 0-16 7.2-16 16v32h96 96V96c0-8.8-7.2-16-16-16H254c-7.3 0-13.7-4.9-15.5-12c-5.3-20.7-24.1-36-46.5-36zM118.7 48C131 19.8 159.2 0 192 0s61 19.8 73.3 48H272c20.9 0 38.7 13.4 45.3 32H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V144c0-35.3 28.7-64 64-64h2.7C73.3 61.4 91.1 48 112 48h6.7zM320 128c0 17.7-14.3 32-32 32H192 96c-17.7 0-32-14.3-32-32V112c-17.7 0-32 14.3-32 32V448c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32v16zM192 64a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faHouseCircleExclamation = {\n prefix: 'fal',\n iconName: 'house-circle-exclamation',\n icon: [640, 512, [], \"e50a\", \"M277.4 4c6-5.3 15.1-5.3 21.2 0L512.5 192.8c-5.4-.5-10.9-.8-16.5-.8c-10.2 0-20.2 .9-29.9 2.5L288 37.3 96 206.7V432c0 26.5 21.5 48 48 48h64V320c0-17.7 14.3-32 32-32h96c1 0 2.1 .1 3.1 .1c-5.1 10.1-9.3 20.7-12.5 31.9H240V480h16 80 24.2c10 12.1 21.7 22.9 34.6 32H144c-44.2 0-80-35.8-80-80V235L26.6 268C20 273.8 9.8 273.2 4 266.6S-1.2 249.8 5.4 244L277.4 4zM608 368a112 112 0 1 0 -224 0 112 112 0 1 0 224 0zm-256 0a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144 32a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-112c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V304c0-8.8 7.2-16 16-16z\"]\n};\nvar faFileArrowUp = {\n prefix: 'fal',\n iconName: 'file-arrow-up',\n icon: [384, 512, [\"file-upload\"], \"f574\", \"M320 480H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H192V144c0 26.5 21.5 48 48 48H352V448c0 17.7-14.3 32-32 32zM240 160c-8.8 0-16-7.2-16-16V32.5c2.8 .7 5.4 2.1 7.4 4.2L347.3 152.6c2.1 2.1 3.5 4.6 4.2 7.4H240zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V163.9c0-12.7-5.1-24.9-14.1-33.9L254.1 14.1c-9-9-21.2-14.1-33.9-14.1H64zM208 278.6l52.7 52.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-80-80c-6.2-6.2-16.4-6.2-22.6 0l-80 80c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L176 278.6V400c0 8.8 7.2 16 16 16s16-7.2 16-16V278.6z\"]\n};\nvar faFileUpload = faFileArrowUp;\nvar faWifi = {\n prefix: 'fal',\n iconName: 'wifi',\n icon: [640, 512, [\"wifi-3\", \"wifi-strong\"], \"f1eb\", \"M27.3 184.4C102.4 110 205.8 64 320 64s217.6 46 292.7 120.4c6.3 6.2 16.4 6.2 22.6-.1s6.2-16.4-.1-22.6C554.3 81.5 442.9 32 320 32S85.7 81.5 4.7 161.7c-6.3 6.2-6.3 16.3-.1 22.6s16.3 6.3 22.6 .1zM320 224c70.5 0 134.4 28.5 180.7 74.7c6.3 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6c-52.1-51.9-123.9-84-203.3-84s-151.2 32.1-203.3 84c-6.3 6.2-6.3 16.4 0 22.6s16.4 6.3 22.6 0C185.6 252.5 249.5 224 320 224zm0 160a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 96a64 64 0 1 0 0-128 64 64 0 1 0 0 128z\"]\n};\nvar faWifi3 = faWifi;\nvar faWifiStrong = faWifi;\nvar faMessages = {\n prefix: 'fal',\n iconName: 'messages',\n icon: [640, 512, [\"comments-alt\"], \"f4b6\", \"M202.7 288H352c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H64C46.3 32 32 46.3 32 64V256c0 17.7 14.3 32 32 32H96c17.7 0 32 14.3 32 32v16l55.5-41.6c5.5-4.2 12.3-6.4 19.2-6.4zM352 320H202.7l-81.1 60.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V352 320H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H352c35.3 0 64 28.7 64 64V256c0 35.3-28.7 64-64 64zM320 448c-35.3 0-64-28.7-64-64V352h32v32c0 17.7 14.3 32 32 32H437.3c6.9 0 13.7 2.2 19.2 6.4L512 464V448c0-17.7 14.3-32 32-32h32c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32H448V128H576c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H544v32 16c0 6.1-3.4 11.6-8.8 14.3s-11.9 2.1-16.8-1.5L437.3 448H320z\"]\n};\nvar faCommentsAlt = faMessages;\nvar faBath = {\n prefix: 'fal',\n iconName: 'bath',\n icon: [512, 512, [128705, \"bathtub\"], \"f2cd\", \"M93.3 32C77.1 32 64 45.1 64 61.3V256H448h32 16c8.8 0 16 7.2 16 16s-7.2 16-16 16H480 448 64 32 16c-8.8 0-16-7.2-16-16s7.2-16 16-16H32V61.3C32 27.4 59.4 0 93.3 0c16.2 0 31.8 6.5 43.3 17.9L161.7 43c11.1-7 24.2-11 38.3-11c20.2 0 38.5 8.3 51.6 21.8l1.1-1.1c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-104 104c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l1.1-1.1C136.3 142.5 128 124.2 128 104c0-14.1 4-27.2 11-38.3L113.9 40.6C108.5 35.1 101 32 93.3 32zM32 320H64v48c0 26.2 12.6 49.4 32 64h0v0c13.4 10 30 16 48 16H368c18 0 34.6-6 48-16v0h0c19.4-14.6 32-37.8 32-64V320h32v48c0 30.5-12.2 58.2-32 78.4V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V469.2c-14.5 6.9-30.8 10.8-48 10.8H144c-17.2 0-33.5-3.9-48-10.8V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V446.4C44.2 426.2 32 398.5 32 368V320zM200 64c-22.1 0-40 17.9-40 40c0 11.4 4.8 21.7 12.4 29L229 76.4C221.7 68.8 211.4 64 200 64z\"]\n};\nvar faBathtub = faBath;\nvar faUmbrellaSimple = {\n prefix: 'fal',\n iconName: 'umbrella-simple',\n icon: [512, 512, [\"umbrella-alt\"], \"e2bc\", \"M272 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V32.5C116.7 40.1 17 134.9 2 256.1C-.2 273.6 14.3 288 32 288H480c17.7 0 32.2-14.4 30-31.9C495 134.9 395.3 40.1 272 32.5V16zm0 430.6V320H240V446.6c0 18.5-15 33.4-33.4 33.4c-12.7 0-24.2-7.2-29.9-18.5l-2.3-4.7c-4-7.9-13.6-11.1-21.5-7.2s-11.1 13.6-7.2 21.5l2.3 4.7C159.1 498 181.8 512 206.6 512c36.1 0 65.4-29.3 65.4-65.4zM256 64c112.8 0 206.2 83.5 221.7 192H34.3C49.8 147.5 143.2 64 256 64z\"]\n};\nvar faUmbrellaAlt = faUmbrellaSimple;\nvar faRectangleHistoryCirclePlus = {\n prefix: 'fal',\n iconName: 'rectangle-history-circle-plus',\n icon: [640, 512, [], \"e4a3\", \"M480 192v.7c5.3-.5 10.6-.7 16-.7s10.7 .2 16 .7V192c0-35.3-28.7-64-64-64L64 128c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64l330.8 0c-12.9-9.1-24.5-19.9-34.6-32L64 480c-17.7 0-32-14.3-32-32l0-256c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32zM448 64L64 64c-8.8 0-16 7.2-16 16s7.2 16 16 16l384 0c8.8 0 16-7.2 16-16s-7.2-16-16-16zM400 0H112c-8.8 0-16 7.2-16 16s7.2 16 16 16l288 0c8.8 0 16-7.2 16-16s-7.2-16-16-16zM384 368a112 112 0 1 1 224 0 112 112 0 1 1 -224 0zm256 0a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zM512 304c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H432c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v48c0 8.8 7.2 16 16 16s16-7.2 16-16V384h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H512V304z\"]\n};\nvar faUnderline = {\n prefix: 'fal',\n iconName: 'underline',\n icon: [448, 512, [], \"f0cd\", \"M0 48c0-8.8 7.2-16 16-16H144c8.8 0 16 7.2 16 16s-7.2 16-16 16H96V224c0 70.7 57.3 128 128 128s128-57.3 128-128V64H304c-8.8 0-16-7.2-16-16s7.2-16 16-16H432c8.8 0 16 7.2 16 16s-7.2 16-16 16H384V224c0 88.4-71.6 160-160 160s-160-71.6-160-160V64H16C7.2 64 0 56.8 0 48zM0 464c0-8.8 7.2-16 16-16H432c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16-7.2-16-16z\"]\n};\nvar faPrescriptionBottlePill = {\n prefix: 'fal',\n iconName: 'prescription-bottle-pill',\n icon: [576, 512, [], \"e5c0\", \"M336 32c8.8 0 16 7.2 16 16V80c0 8.8-7.2 16-16 16H48c-8.8 0-16-7.2-16-16V48c0-8.8 7.2-16 16-16H336zM48 0C21.5 0 0 21.5 0 48V80c0 26.5 21.5 48 48 48H336c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H48zM32 160V448c0 35.3 28.7 64 64 64H288c11.6 0 22.4-3.1 31.8-8.4c-8.9-7.3-17-15.5-24.3-24.5c-2.4 .6-4.9 .9-7.5 .9H96c-17.7 0-32-14.3-32-32V416h80c8.8 0 16-7.2 16-16s-7.2-16-16-16H64V320h80c8.8 0 16-7.2 16-16s-7.2-16-16-16H64V224h80c8.8 0 16-7.2 16-16s-7.2-16-16-16H64V160H32zm320 0H320v72.2c9.8-8.1 20.6-15.2 32-21V160zm80 96a112 112 0 1 1 0 224 112 112 0 1 1 0-224zm0 256a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm36.7-84.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-96-96c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l96 96z\"]\n};\nvar faUserPen = {\n prefix: 'fal',\n iconName: 'user-pen',\n icon: [640, 512, [\"user-edit\"], \"f4ff\", \"M320 128a96 96 0 1 0 -192 0 96 96 0 1 0 192 0zM96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM32 480H322.2l-1 3.8c-2.4 9.5-1.8 19.3 1.4 28.2H29.7C13.3 512 0 498.7 0 482.3C0 383.8 79.8 304 178.3 304h91.4c44.2 0 84.6 16.1 115.8 42.7l-22.7 22.7c-25.3-20.9-57.7-33.4-93.1-33.4H178.3c-80 0-145 64.3-146.3 144zM582.8 264c-6.2-6.2-16.4-6.2-22.6 0l-24.8 24.8 40 40L600.2 304c6.2-6.2 6.2-16.4 0-22.6L582.8 264zM406.5 417.7c-2.1 2.1-3.5 4.6-4.2 7.4l-12.3 49 49-12.3c2.8-.7 5.4-2.2 7.4-4.2L552.7 351.4l-40-40L406.5 417.7zM537.5 241.4c18.7-18.7 49.1-18.7 67.9 0l17.4 17.4c18.7 18.7 18.7 49.1 0 67.9L469.1 480.3c-6.2 6.2-13.9 10.5-22.3 12.6l-74.9 18.7c-5.5 1.4-11.2-.2-15.2-4.2s-5.6-9.7-4.2-15.2l18.7-74.9c2.1-8.4 6.5-16.1 12.6-22.3L537.5 241.4z\"]\n};\nvar faUserEdit = faUserPen;\nvar faBinarySlash = {\n prefix: 'fal',\n iconName: 'binary-slash',\n icon: [640, 512, [], \"e33e\", \"M448 16c0-5.1-2.5-10-6.6-13s-9.5-3.8-14.4-2.2l-48 16c-8.4 2.8-12.9 11.9-10.1 20.2s11.9 12.9 20.2 10.1l26.9-9V192H368c-6.3 0-11.8 3.7-14.4 9l29.1 23H432h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H448V16zM320 144V80c0-44.2-35.8-80-80-80H208c-27.2 0-51.2 13.5-65.6 34.2l25.2 19.9C176.1 40.8 191 32 208 32h32c26.5 0 48 21.5 48 48v64c0 1.7-.1 3.4-.3 5l27.6 21.8c3-8.4 4.6-17.4 4.6-26.8zm0 224v64c0 44.2 35.8 80 80 80h32c27.2 0 51.2-13.5 65.6-34.2l-25.2-19.9C463.9 471.2 449 480 432 480H400c-26.5 0-48-21.5-48-48V368c0-1.7 .1-3.4 .3-5l-27.6-21.8c-3 8.4-4.6 17.4-4.6 26.8zm-96-64c0-5.1-2.5-10-6.6-13s-9.5-3.8-14.4-2.2l-48 16c-8.4 2.8-12.9 11.9-10.1 20.2s11.9 12.9 20.2 10.1l26.9-9V480H144c-8.8 0-16 7.2-16 16s7.2 16 16 16h64 64c8.8 0 16-7.2 16-16s-7.2-16-16-16H224V304zM25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4z\"]\n};\nvar faSquareO = {\n prefix: 'fal',\n iconName: 'square-o',\n icon: [448, 512, [], \"e278\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM128 256a96 96 0 1 0 192 0 96 96 0 1 0 -192 0zm96 128a128 128 0 1 1 0-256 128 128 0 1 1 0 256z\"]\n};\nvar faCaduceus = {\n prefix: 'fal',\n iconName: 'caduceus',\n icon: [512, 512, [], \"e681\", \"M256 32a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm15.8 61.3C290.5 86.8 304 69 304 48c0-26.5-21.5-48-48-48s-48 21.5-48 48c0 21 13.5 38.8 32.2 45.3c-.1 .9-.2 1.8-.2 2.7l0 24L181 75.8C170.8 68.1 158.5 64 145.7 64c-15.6 0-30.6 6.2-41.6 17.2L8 177.4c-5.1 5.1-8 12.1-8 19.3C0 211.8 12.2 224 27.3 224l118.8 0c33 0 65.3-9.3 93.3-26.8l.6-.4 0 148.5-39-21.3c-15.4-8.4-25-24.6-25-42.1l0-10c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 10c0 29.3 16 56.2 41.7 70.2l36.9 20.1-20.9 11.4c-25.7 14-41.7 41-41.7 70.2l0 10c0 8.8 7.2 16 16 16s16-7.2 16-16l0-10c0-17.6 9.6-33.7 25-42.1l23-12.5 0 51.4 0 45.3c0 8.8 7.2 16 16 16s16-7.2 16-16l0-45.3 0-51.4 23 12.5c15.4 8.4 25 24.6 25 42.1l0 10c0 8.8 7.2 16 16 16s16-7.2 16-16l0-10c0-29.3-16-56.2-41.7-70.2l-20.9-11.4 36.9-20.1c25.7-14 41.7-41 41.7-70.2l0-10c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 10c0 17.6-9.6 33.7-25 42.1l-39 21.3 0-148.5 .6 .4c28 17.5 60.3 26.8 93.3 26.8l118.8 0c15.1 0 27.3-12.2 27.3-27.3c0-7.2-2.9-14.2-8-19.3L407.9 81.2c-11-11-26-17.2-41.6-17.2c-12.7 0-25.1 4.1-35.3 11.8L272 120l0-24c0-.9-.1-1.8-.2-2.7zm113.4 10.5L473.4 192l-107.5 0c-27 0-53.4-7.6-76.3-21.9l-16.9-10.6 77.6-58.2c4.6-3.5 10.3-5.4 16.1-5.4c7.1 0 13.9 2.8 19 7.9zM145.7 96c5.8 0 11.4 1.9 16.1 5.4l77.6 58.2-16.9 10.6c-22.9 14.3-49.3 21.9-76.3 21.9L38.6 192l88.1-88.1c5-5 11.8-7.9 19-7.9z\"]\n};\nvar faSignature = {\n prefix: 'fal',\n iconName: 'signature',\n icon: [640, 512, [], \"f5b7\", \"M160 128c0-35.3 28.7-64 64-64s64 28.7 64 64v3.4c0 26.2-2.4 52.3-7.2 78L155 243.7c-34.8 9.5-59 41.1-59 77.2v92.6c0 36.7 29.8 66.5 66.5 66.5c24 0 46.2-13 57.9-33.9L247.5 398c20.9-37.1 37.2-76.5 48.5-117.5l7.2-25.7c1.8-6.5 3.5-13 5-19.6l125.5-34.2-48 96c-2.5 5-2.2 10.9 .7 15.6s8.1 7.6 13.6 7.6H560c8.8 0 16-7.2 16-16s-7.2-16-16-16H425.9l52.4-104.8c2.8-5.6 2.1-12.4-1.9-17.3s-10.5-7-16.6-5.3L314.8 200.1c3.4-22.7 5.2-45.7 5.2-68.7V128c0-53-43-96-96-96s-96 43-96 96v48c0 8.8 7.2 16 16 16s16-7.2 16-16V128zm3.4 146.6l109.4-29.8-.4 1.4-7.2 25.7c-10.7 38.5-26 75.6-45.6 110.4l-27.1 48.1c-6.1 10.9-17.6 17.6-30.1 17.6c-19 0-34.5-15.4-34.5-34.5V320.9c0-21.6 14.5-40.6 35.4-46.3zM16 384c-8.8 0-16 7.2-16 16s7.2 16 16 16H48c8.8 0 16-7.2 16-16s-7.2-16-16-16H16zm320 0c-8.8 0-16 7.2-16 16s7.2 16 16 16H624c8.8 0 16-7.2 16-16s-7.2-16-16-16H336z\"]\n};\nvar faStroopwafel = {\n prefix: 'fal',\n iconName: 'stroopwafel',\n icon: [512, 512, [], \"f551\", \"M256 32a224 224 0 1 0 0 448 224 224 0 1 0 0-448zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM142.9 120.2l45.3 45.3 45.3-45.3L210.7 97.6c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L256 97.6 278.6 75c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-22.6 22.6 45.3 45.3 45.3-45.3c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-45.3 45.3 45.3 45.3 22.6-22.6c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L414.4 256 437 278.6c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-22.6-22.6-45.3 45.3 45.3 45.3c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-45.3-45.3-45.3 45.3 22.6 22.6c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L256 414.4 233.4 437c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l22.6-22.6-45.3-45.3-45.3 45.3c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l45.3-45.3-45.3-45.3L97.6 301.3c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L97.6 256 75 233.4c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l22.6 22.6 45.3-45.3-45.3-45.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0zm45.3 90.5L142.9 256l45.3 45.3L233.4 256l-45.3-45.3zm181 45.3l-45.3-45.3L278.6 256l45.3 45.3L369.1 256zm-67.9 67.9L256 278.6l-45.3 45.3L256 369.1l45.3-45.3zM210.7 188.1L256 233.4l45.3-45.3L256 142.9l-45.3 45.3z\"]\n};\nvar faBold = {\n prefix: 'fal',\n iconName: 'bold',\n icon: [384, 512, [], \"f032\", \"M0 48c0-8.8 7.2-16 16-16H48 80 232c66.3 0 120 53.7 120 120c0 38.8-18.4 73.3-46.9 95.2C351.1 264 384 308.1 384 360c0 66.3-53.7 120-120 120H80 48 16c-8.8 0-16-7.2-16-16s7.2-16 16-16H32V256 64H16C7.2 64 0 56.8 0 48zM64 448H80 264c48.6 0 88-39.4 88-88s-39.4-88-88-88H232 64V448zm0-208H232c48.6 0 88-39.4 88-88s-39.4-88-88-88H80 64V240z\"]\n};\nvar faAnchorLock = {\n prefix: 'fal',\n iconName: 'anchor-lock',\n icon: [640, 512, [], \"e4ad\", \"M336 80a48 48 0 1 1 -96 0 48 48 0 1 1 96 0zM288 0c-44.2 0-80 35.8-80 80c0 38.7 27.5 71 64.1 78.4c-.1 .5-.1 1-.1 1.6v32H208c-8.8 0-16 7.2-16 16s7.2 16 16 16h64V480H240c-79.5 0-144-64.5-144-144V310.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-64-64c-6.2-6.2-16.4-6.2-22.6 0l-64 64c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L64 310.6V336c0 97.2 78.8 176 176 176h48 48c18.3 0 36-2.8 52.6-8c-3-7.4-4.6-15.5-4.6-24v-8.2c-15 5.3-31.2 8.2-48 8.2H304V224h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H304V160c0-.5 0-1.1-.1-1.6C340.5 151 368 118.7 368 80c0-44.2-35.8-80-80-80zM528 224c26.5 0 48 21.5 48 48v48H480V272c0-26.5 21.5-48 48-48zm-80 48v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80zm0 80H608V480H448V352z\"]\n};\nvar faBuildingNgo = {\n prefix: 'fal',\n iconName: 'building-ngo',\n icon: [384, 512, [], \"e4d7\", \"M320 32H64c-11.8 0-22.2 6.4-27.7 16H2C9.1 20.4 34.2 0 64 0H320c29.8 0 54.9 20.4 62 48H347.7c-5.5-9.6-15.9-16-27.7-16zM0 240H32V448c0 17.7 14.3 32 32 32h64V416c0-35.3 28.7-64 64-64s64 28.7 64 64v64h64c17.7 0 32-14.3 32-32V240h32V448c0 35.3-28.7 64-64 64H256 224 160 128 64c-35.3 0-64-28.7-64-64V240zM192 384c-17.7 0-32 14.3-32 32v64h64V416c0-17.7-14.3-32-32-32zM168 80h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H184v64h16V160c0-8.8 7.2-16 16-16s16 7.2 16 16v24c0 13.3-10.7 24-24 24H176c-13.3 0-24-10.7-24-24V96c0-8.8 7.2-16 16-16zm136 32c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16s16-7.2 16-16V128c0-8.8-7.2-16-16-16zm-48 16c0-26.5 21.5-48 48-48s48 21.5 48 48v32c0 26.5-21.5 48-48 48s-48-21.5-48-48V128zM61.3 87.1l34.7 52V96c0-8.8 7.2-16 16-16s16 7.2 16 16v96c0 7.1-4.6 13.3-11.4 15.3s-14-.6-17.9-6.4L64 148.8V192c0 8.8-7.2 16-16 16s-16-7.2-16-16V96c0-7.1 4.6-13.3 11.4-15.3s14 .6 17.9 6.4zM208 264c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H232c-13.3 0-24-10.7-24-24V264zm32 8v32h32V272H240zM104 240h48c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H104c-13.3 0-24-10.7-24-24V264c0-13.3 10.7-24 24-24zm8 64h32V272H112v32z\"]\n};\nvar faTransporter3 = {\n prefix: 'fal',\n iconName: 'transporter-3',\n icon: [512, 512, [], \"e045\", \"M480 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V32H432c-8.8 0-16 7.2-16 16s7.2 16 16 16h16V80c0 8.8 7.2 16 16 16s16-7.2 16-16V64h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H480V16zM64 112c0-8.8-7.2-16-16-16s-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H32v16c0 8.8 7.2 16 16 16s16-7.2 16-16V160H80c8.8 0 16-7.2 16-16s-7.2-16-16-16H64V112zM256 32a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0 80A56 56 0 1 0 256 0a56 56 0 1 0 0 112zM144 448c-26.5 0-48 21.5-48 48c0 8.8 7.2 16 16 16s16-7.2 16-16s7.2-16 16-16H368c8.8 0 16 7.2 16 16s7.2 16 16 16s16-7.2 16-16c0-26.5-21.5-48-48-48H144zm16-304c0 8.8 7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H176c-8.8 0-16 7.2-16 16zm-32 64c0 8.8 7.2 16 16 16H368c8.8 0 16-7.2 16-16s-7.2-16-16-16H144c-8.8 0-16 7.2-16 16zM96 272c0 8.8 7.2 16 16 16H400c8.8 0 16-7.1 16-15.9l0-.1 0-.1c0-8.8-7.2-15.9-16-15.9H112c-8.8 0-16 7.2-16 16zm64 64c0 8.8 7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H176c-8.8 0-16 7.2-16 16zm0 64c0 8.8 7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H176c-8.8 0-16 7.2-16 16z\"]\n};\nvar faEngineWarning = {\n prefix: 'fal',\n iconName: 'engine-warning',\n icon: [640, 512, [\"engine-exclamation\"], \"f5f2\", \"M416 80c0 8.8-7.2 16-16 16l-80 0v32h16 60.6c12.6 0 25 3.7 35.5 10.7L483.5 173c17.8 11.9 28.5 31.9 28.5 53.3V384c0 35.3-28.7 64-64 64H254.8c-19.4 0-37.8-8.8-50-24l-32-40H144c-26.5 0-48-21.5-48-48V272H88 32v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V160c0-8.8 7.2-16 16-16s16 7.2 16 16v80H88h8V176c0-26.5 21.5-48 48-48h16H288V96l-80 0c-8.8 0-16-7.2-16-16s7.2-16 16-16H400c8.8 0 16 7.2 16 16zM304 160H160 144c-8.8 0-16 7.2-16 16V336c0 8.8 7.2 16 16 16h28.8c9.7 0 18.9 4.4 25 12l32 40c6.1 7.6 15.3 12 25 12H448c17.7 0 32-14.3 32-32V226.3c0-10.7-5.3-20.7-14.2-26.6l-51.4-34.3c-5.3-3.5-11.4-5.4-17.8-5.4H336 304l0 0 0 0zm304 64H576V416h32V224zm-32-32h32c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H576c-17.7 0-32-14.3-32-32V224c0-17.7 14.3-32 32-32zm-272 0c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V208c0-8.8 7.2-16 16-16zM280 352a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faEngineExclamation = faEngineWarning;\nvar faCircleDownRight = {\n prefix: 'fal',\n iconName: 'circle-down-right',\n icon: [512, 512, [], \"e108\", \"M256 480a224 224 0 1 1 0-448 224 224 0 1 1 0 448zM256 0a256 256 0 1 0 0 512A256 256 0 1 0 256 0zm80 328c0 4.4-3.6 8-8 8H214.6c-3.7 0-6.6-3-6.6-6.6c0-1.8 .7-3.4 1.9-4.7l25.4-25.4c6.2-6.2 6.2-16.4 0-22.6l-59.1-59.1c-3.6-3.6-4.9-9-3.3-13.9c.7-2 1.8-3.8 3.3-5.3l22.1-22.1c1.5-1.5 3.3-2.6 5.3-3.3c4.9-1.6 10.3-.4 13.9 3.3l59.1 59.1c6.2 6.2 16.4 6.2 22.6 0l25.4-25.4c1.2-1.2 2.9-1.9 4.7-1.9c3.7 0 6.6 3 6.6 6.6V328zm-8 40c22.1 0 40-17.9 40-40V214.6c0-21.3-17.3-38.6-38.6-38.6c-10.2 0-20.1 4.1-27.3 11.3L288 201.4l-47.7-47.7c-12.2-12.2-30.3-16.5-46.7-11c-6.7 2.2-12.8 6-17.8 11l-22.1 22.1c-5 5-8.8 11.1-11 17.8c-5.5 16.4-1.2 34.5 11 46.7L201.4 288l-14.1 14.1c-7.2 7.2-11.3 17.1-11.3 27.3c0 21.3 17.3 38.6 38.6 38.6H328z\"]\n};\nvar faSquareK = {\n prefix: 'fal',\n iconName: 'square-k',\n icon: [448, 512, [], \"e274\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm315.1 59.5l-87.3 84.3 89 118.6c5.3 7.1 3.9 17.1-3.2 22.4s-17.1 3.9-22.4-3.2L204.6 262.2 160 305.3V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V298.5 144c0-8.8 7.2-16 16-16s16 7.2 16 16V260.8L292.9 132.5c6.4-6.1 16.5-6 22.6 .4s6 16.5-.4 22.6z\"]\n};\nvar faManatSign = {\n prefix: 'fal',\n iconName: 'manat-sign',\n icon: [384, 512, [], \"e1d5\", \"M192 32c-8.8 0-16 7.2-16 16V96.7C77.4 104.8 0 187.3 0 288V464c0 8.8 7.2 16 16 16s16-7.2 16-16V288c0-83 63.1-151.2 144-159.2V464c0 8.8 7.2 16 16 16s16-7.2 16-16V128.8c80.9 8 144 76.2 144 159.2V464c0 8.8 7.2 16 16 16s16-7.2 16-16V288c0-100.7-77.4-183.2-176-191.3V48c0-8.8-7.2-16-16-16z\"]\n};\nvar faMoneyCheckPen = {\n prefix: 'fal',\n iconName: 'money-check-pen',\n icon: [640, 512, [\"money-check-edit\"], \"f872\", \"M64 96H512c17.7 0 32 14.3 32 32v69.6c10.2-4 21.1-5.9 32-5.6V128c0-35.3-28.7-64-64-64H64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H330.2l8-32H64c-17.7 0-32-14.3-32-32V128c0-17.7 14.3-32 32-32zm48 192c-8.8 0-16 7.2-16 16s7.2 16 16 16H368c8.8 0 16-7.2 16-16s-7.2-16-16-16H112zM96 208c0 8.8 7.2 16 16 16H464c8.8 0 16-7.2 16-16s-7.2-16-16-16H112c-8.8 0-16 7.2-16 16zm486.8 56l17.4 17.4c6.2 6.2 6.2 16.4 0 22.6l-24.8 24.8-40-40L560.2 264c6.2-6.2 16.4-6.2 22.6 0zM406.5 417.7L512.7 311.5l40 40L446.4 457.7c-2.1 2.1-4.6 3.5-7.4 4.2l-49 12.3 12.3-49c.7-2.8 2.2-5.4 4.2-7.4zM537.5 241.4L383.8 395.1c-6.2 6.2-10.5 13.9-12.6 22.3l-18.7 74.9c-1.4 5.5 .2 11.2 4.2 15.2s9.7 5.6 15.2 4.2L446.8 493c8.4-2.1 16.1-6.5 22.3-12.6L622.8 326.6c18.7-18.7 18.7-49.1 0-67.9l-17.4-17.4c-18.7-18.7-49.1-18.7-67.9 0z\"]\n};\nvar faMoneyCheckEdit = faMoneyCheckPen;\nvar faNotEqual = {\n prefix: 'fal',\n iconName: 'not-equal',\n icon: [448, 512, [], \"f53e\", \"M377.1 34.8c7.3 5 9.1 15 4 22.3L321 144h95c8.8 0 16 7.2 16 16s-7.2 16-16 16H298.8L188.1 336H416c8.8 0 16 7.2 16 16s-7.2 16-16 16H165.9L93.2 473.1c-5 7.3-15 9.1-22.3 4s-9.1-15-4-22.3L127 368H32c-8.8 0-16-7.2-16-16s7.2-16 16-16H149.2L259.9 176H32c-8.8 0-16-7.2-16-16s7.2-16 16-16H282.1L354.8 38.9c5-7.3 15-9.1 22.3-4z\"]\n};\nvar faBorderTopLeft = {\n prefix: 'fal',\n iconName: 'border-top-left',\n icon: [448, 512, [\"border-style\"], \"f853\", \"M0 448c0 8.8 7.2 16 16 16s16-7.2 16-16L32 96c0-17.7 14.3-32 32-32l352 0c8.8 0 16-7.2 16-16s-7.2-16-16-16L64 32C28.7 32 0 60.7 0 96L0 448zm128-24a24 24 0 1 0 0 48 24 24 0 1 0 0-48zm192 0a24 24 0 1 0 0 48 24 24 0 1 0 0-48zm-96 48a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm192-48a24 24 0 1 0 0 48 24 24 0 1 0 0-48zm0-144a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0 48a24 24 0 1 0 0 48 24 24 0 1 0 0-48zm0-144a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faBorderStyle = faBorderTopLeft;\nvar faMapLocationDot = {\n prefix: 'fal',\n iconName: 'map-location-dot',\n icon: [576, 512, [\"map-marked-alt\"], \"f5a0\", \"M366.6 155c6.7-15.9 9.4-27.6 9.4-35c0-48.6-39.4-88-88-88s-88 39.4-88 88c0 7.4 2.7 19 9.4 35c6.5 15.4 15.7 32.4 26.4 49.7c17.1 27.8 36.9 54.7 52.2 74.4c15.3-19.7 35.1-46.6 52.2-74.4c10.7-17.3 19.9-34.3 26.4-49.7zM302.8 312c-7.7 9.6-22 9.6-29.6 0C241.1 271.9 168 174.6 168 120C168 53.7 221.7 0 288 0s120 53.7 120 120c0 54.6-73.1 151.9-105.2 192zm103.1-89.1c-.8 .3-1.7 .6-2.5 .8c8.2-14.2 15.7-28.7 21.8-42.9l117.9-47.2c15.8-6.3 32.9 5.3 32.9 22.3V426.6c0 9.8-6 18.6-15.1 22.3l-155 62c-3.3 1.3-6.9 1.5-10.3 .5L176.9 448.9l-144 57.6C17.1 512.8 0 501.2 0 484.2V213.4c0-9.8 6-18.6 15.1-22.3l123.2-49.3c2.1 10.4 5.4 20.8 9.2 30.8L32 218.8V472.4l128-51.2V304c0-8.8 7.2-16 16-16s16 7.2 16 16V419.9l192 54.9V304c0-8.8 7.2-16 16-16s16 7.2 16 16V472.4l128-51.2V167.6L405.9 222.9zM288 88a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faMapMarkedAlt = faMapLocationDot;\nvar faTilde = {\n prefix: 'fal',\n iconName: 'tilde',\n icon: [448, 512, [63135], \"7e\", \"M96.8 160C61.2 160 32 188.8 32 224v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V224c0-53.2 43.9-96 96.8-96c29.4 0 57.6 13.5 75.9 36.7l128 162.8c12.1 15.4 31 24.5 50.7 24.5c35.5 0 64.8-28.8 64.8-64V192c0-8.8 7.2-16 16-16s16 7.2 16 16v96c0 53.2-43.9 96-96.8 96c-29.4 0-57.6-13.5-75.9-36.7l-128-162.9c-12.1-15.4-31-24.5-50.7-24.5z\"]\n};\nvar faJedi = {\n prefix: 'fal',\n iconName: 'jedi',\n icon: [576, 512, [], \"f669\", \"M288 0c8.8 0 16 7.2 16 16V280.9l36.1-24.1c3.2-2.1 7.4-1.7 10.1 1s3.1 6.9 1 10.1l-23.9 35.8 42.2 8.4c3.7 .7 6.4 4 6.4 7.8s-2.7 7.1-6.4 7.8l-42.2 8.4 23.9 35.8c2.1 3.2 1.7 7.4-1 10.1s-6.9 3.1-10.1 1L304 359.1v71.7c54.3-7.8 96-54.4 96-110.9c0-36.2-17.1-68.3-43.8-88.8c-4.2-3.2-6.5-8.3-6.2-13.6s3.2-10.1 7.8-12.8C397.5 181 424 137.6 424 88c0-20.3-4.5-39.6-12.4-56.9c-3-6.5-1.3-14.1 4-18.8s13.2-5.2 19.1-1.4C510 59.3 560 143.8 560 240c0 150.2-121.8 272-272 272S16 390.2 16 240C16 143.8 66 59.3 141.3 10.9c6-3.8 13.8-3.3 19.1 1.4s7 12.3 4 18.8C156.5 48.4 152 67.7 152 88c0 49.6 26.5 93 66.2 116.8c4.5 2.7 7.4 7.5 7.8 12.8s-2 10.4-6.2 13.6C193.1 251.7 176 283.8 176 320c0 56.4 41.7 103.1 96 110.9V359.1l-36.1 24.1c-3.2 2.1-7.4 1.7-10.1-1s-3.1-6.9-1-10.1l23.9-35.8-42.2-8.4c-3.7-.7-6.4-4-6.4-7.8s2.7-7.1 6.4-7.8l42.2-8.4-23.9-35.8c-2.1-3.2-1.7-7.4 1-10.1s6.9-3.1 10.1-1L272 280.9V16c0-8.8 7.2-16 16-16zM64.1 153.5l43.2 43.2c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L53.6 188.2c-2.2 9.9-3.8 20.1-4.7 30.5c.8 .6 1.6 1.2 2.4 2l56 56c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L49.2 263.8C61.1 385.2 163.5 480 288 480s226.9-94.8 238.8-216.2l-35.5 35.5c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l56-56c.7-.7 1.5-1.4 2.4-2c-.9-10.4-2.5-20.5-4.7-30.5l-31.1 31.1c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l43.2-43.2c-12.7-32.8-32.3-62.1-57.2-86.1C455.6 74.1 456 81 456 88c0 53.6-25.1 101.4-64.2 132.1C416.7 246 432 281.2 432 320c0 79.5-64.5 144-144 144s-144-64.5-144-144c0-38.8 15.3-74 40.2-99.9C145.1 189.4 120 141.6 120 88c0-7 .4-13.9 1.3-20.6c-24.8 24-44.5 53.3-57.2 86.1z\"]\n};\nvar faSquarePollVertical = {\n prefix: 'fal',\n iconName: 'square-poll-vertical',\n icon: [448, 512, [\"poll\"], \"f681\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM128 224c8.8 0 16 7.2 16 16V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V240c0-8.8 7.2-16 16-16zm80-80c0-8.8 7.2-16 16-16s16 7.2 16 16V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V144zM320 288c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V304c0-8.8 7.2-16 16-16z\"]\n};\nvar faPoll = faSquarePollVertical;\nvar faArrowDownSquareTriangle = {\n prefix: 'fal',\n iconName: 'arrow-down-square-triangle',\n icon: [576, 512, [\"sort-shapes-down-alt\"], \"f889\", \"M267.3 379.3l-96 96c-6.2 6.2-16.4 6.2-22.6 0l-96-96c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L144 425.4V48c0-8.8 7.2-16 16-16s16 7.2 16 16V425.4l68.7-68.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zM352 176c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16v96zm64 147.5L341.3 448H490.7L416 323.5zM320 176V80c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H368c-26.5 0-48-21.5-48-48zM307.6 442l84.2-140.3c5.1-8.5 14.3-13.7 24.2-13.7s19.1 5.2 24.2 13.7L524.4 442c2.3 3.9 3.6 8.4 3.6 12.9c0 13.8-11.2 25.1-25.1 25.1H329.1c-13.8 0-25.1-11.2-25.1-25.1c0-4.5 1.2-9 3.6-12.9z\"]\n};\nvar faSortShapesDownAlt = faArrowDownSquareTriangle;\nvar faMugHot = {\n prefix: 'fal',\n iconName: 'mug-hot',\n icon: [512, 512, [9749], \"f7b6\", \"M80 0C71.2 0 64 7.2 64 16c0 24.7 9.8 48.5 27.3 65.9l18.7 18.7C121.5 112.2 128 127.8 128 144c0 8.8 7.2 16 16 16s16-7.2 16-16c0-24.7-9.8-48.5-27.3-65.9L113.9 59.3C102.5 47.8 96 32.2 96 16C96 7.2 88.8 0 80 0zM32 224H336h16V416c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V224zm352 0h16c44.2 0 80 35.8 80 80s-35.8 80-80 80H384V224zm0 192h16c61.9 0 112-50.1 112-112s-50.1-112-112-112H352 336 32c-17.7 0-32 14.3-32 32V416c0 53 43 96 96 96H288c53 0 96-43 96-96zM224 16c0-8.8-7.2-16-16-16s-16 7.2-16 16c0 24.7 9.8 48.5 27.3 65.9l18.7 18.7C249.5 112.2 256 127.8 256 144c0 8.8 7.2 16 16 16s16-7.2 16-16c0-24.7-9.8-48.5-27.3-65.9L241.9 59.3C230.5 47.8 224 32.2 224 16z\"]\n};\nvar faDogLeashed = {\n prefix: 'fal',\n iconName: 'dog-leashed',\n icon: [576, 512, [129454], \"f6d4\", \"M67.4 6.1C72.9-.8 82.9-2 89.9 3.4L307 174 331.9 24.8C334.2 10.5 346.6 0 361.2 0c9.3 0 18.1 4.4 23.8 11.9L400 32h44.1c12.7 0 24.9 5.1 33.9 14.1L496 64h32c26.5 0 48 21.5 48 48v16c0 53-43 96-96 96H437.3L432 256V456c0 30.9-25.1 56-56 56H360c-30.9 0-56-25.1-56-56V408.7 375.3c-10.3 3.3-21 5.7-32 7.1c-7.9 1-15.9 1.6-24 1.6s-16.1-.5-24-1.6c-11-1.4-21.7-3.8-32-7.1v33.3V456c0 30.9-25.1 56-56 56H120c-30.9 0-56-25.1-56-56V208c0-.7 0-1.4 .1-2c-.7-.2-1.4-.3-2.1-.5c-27.9-7.2-50.3-29.1-57.6-58.1L.5 131.9c-2.1-8.6 3.1-17.3 11.6-19.4s17.3 3.1 19.4 11.6l3.9 15.5c.3 1.4 .8 2.7 1.2 4.1c2 5.8 5.1 11.1 9 15.6C54.5 169.7 67.6 176 82 176H96h40 24 97.7L70.1 28.6C63.2 23.1 62 13.1 67.4 6.1zM322.9 349.5c8.2 6 13.1 15.6 13.1 25.8V456c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24V261.9l-.1 0L307.6 208c-.3 0-.7 0-1 0H288V346.7c2.1-.6 4.2-1.2 6.3-1.9c9.7-3.1 20.4-1.4 28.6 4.6zM256 351.8V208H160 136 96V456c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24V375.3c0-10.2 4.9-19.8 13.1-25.8s18.9-7.8 28.6-4.6c14.5 4.6 30.1 7.2 46.3 7.2c2.7 0 5.4-.1 8-.2zM405.8 218.7c2.6-15.4 15.9-26.7 31.6-26.7H480c35.3 0 64-28.7 64-64V112c0-8.8-7.2-16-16-16H496c-8.5 0-16.6-3.4-22.6-9.4L455.4 68.7c-3-3-7.1-4.7-11.3-4.7H400c-10.1 0-19.6-4.7-25.6-12.8L362.5 35.4 338.2 181.3c-.4 2.3-1 4.4-1.8 6.5l67.9 39.6 1.4-8.6zM432 96a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faCarBattery = {\n prefix: 'fal',\n iconName: 'car-battery',\n icon: [512, 512, [\"battery-car\"], \"f5df\", \"M64 80c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16zm256 0c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H336c-8.8 0-16-7.2-16-16zM64 160c-17.7 0-32 14.3-32 32V384c0 17.7 14.3 32 32 32H448c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32H64zM0 192c0-35.3 28.7-64 64-64H448c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192zm368 16c8.8 0 16 7.2 16 16v32h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H384v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V288H320c-8.8 0-16-7.2-16-16s7.2-16 16-16h32V224c0-8.8 7.2-16 16-16zM96 256h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H96c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faBatteryCar = faCarBattery;\nvar faFaceDowncastSweat = {\n prefix: 'fal',\n iconName: 'face-downcast-sweat',\n icon: [512, 512, [], \"e371\", \"M79.8 68.6c5.4 8.5 9.8 16.4 12.8 23.1c2.6 5.8 3.2 8.8 3.4 9.6c0 .2 0 .2 0 .1C96 113.5 84.3 128 64 128s-32-14.5-32-26.7c0 .1 0 .1 0-.1c.2-.7 .8-3.7 3.4-9.5c3-6.7 7.4-14.6 12.8-23.1c5-7.9 10.5-15.8 15.8-23c5.3 7.2 10.8 15.1 15.8 23zM72.5 4.1c-4.3-5.5-12.8-5.5-17.1 0C38.1 25.8 0 76.3 0 101.3C0 133.8 28.7 160 64 160s64-26.2 64-58.7c0-25-37.9-75.5-55.5-97.2zM256 32c123.7 0 224 100.3 224 224s-100.3 224-224 224S32 379.7 32 256c0-20.7 2.8-40.7 8.1-59.7c2.4-8.5-2.6-17.3-11.2-19.7s-17.3 2.6-19.7 11.2C3.2 209.5 0 232.4 0 256C0 397.4 114.6 512 256 512s256-114.6 256-256S397.4 0 256 0c-43.1 0-83.8 10.7-119.5 29.5c-7.8 4.1-10.8 13.8-6.7 21.6S143.7 62 151.5 57.8C182.7 41.3 218.2 32 256 32zM96 272c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H112c-8.8 0-16 7.2-16 16zm208-16c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H304zM173.3 411.9c6.6 5.9 16.7 5.4 22.6-1.2c11.7-13 31.6-26.7 60.1-26.7s48.4 13.7 60.1 26.7c5.9 6.6 16 7.1 22.6 1.2s7.1-16 1.2-22.6C323.8 371.4 295.7 352 256 352s-67.8 19.4-83.9 37.3c-5.9 6.6-5.4 16.7 1.2 22.6z\"]\n};\nvar faMailboxFlagUp = {\n prefix: 'fal',\n iconName: 'mailbox-flag-up',\n icon: [576, 512, [], \"e5bb\", \"M352 208V112 56c0-13.3 10.7-24 24-24h80c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24l-72 0v80c0 8.8-7.2 16-16 16s-16-7.2-16-16zM448 96V64l-64 0V96l64 0zM320 64V96H234.5c32.6 26.4 53.5 66.8 53.5 112V384c0 11.7-3.1 22.6-8.6 32H512c17.7 0 32-14.3 32-32V208c0-32.7-14-62-36.3-82.5c2.7-6.6 4.3-13.9 4.3-21.5V88.2c38.6 25.8 64 69.8 64 119.8V384c0 35.3-28.7 64-64 64H224 64c-35.3 0-64-28.7-64-64V208C0 128.5 64.5 64 144 64H320zM224 416c17.7 0 32-14.3 32-32V208c0-61.9-50.1-112-112-112S32 146.1 32 208V384c0 17.7 14.3 32 32 32H224zM96 208c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16z\"]\n};\nvar faMemoCircleInfo = {\n prefix: 'fal',\n iconName: 'memo-circle-info',\n icon: [576, 512, [], \"e49a\", \"M320 32H64C46.3 32 32 46.3 32 64V448c0 17.7 14.3 32 32 32H296.2c9.8 11.8 21 22.3 33.5 31.3c-3.2 .5-6.4 .7-9.7 .7H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V198.6c-11.2 3.2-21.9 7.4-32 12.6V64c0-17.7-14.3-32-32-32zM64 144c0-8.8 7.2-16 16-16H304c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16zm16 80H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 96H208c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16s7.2-16 16-16zm464 48a112 112 0 1 0 -224 0 112 112 0 1 0 224 0zm-256 0a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-32a24 24 0 1 1 0-48 24 24 0 1 1 0 48zm-32 96c0-8.8 7.2-16 16-16V384c-8.8 0-16-7.2-16-16s7.2-16 16-16h16c8.8 0 16 7.2 16 16v48h0c8.8 0 16 7.2 16 16s-7.2 16-16 16H432 416c-8.8 0-16-7.2-16-16z\"]\n};\nvar faGift = {\n prefix: 'fal',\n iconName: 'gift',\n icon: [512, 512, [127873], \"f06b\", \"M365.1 32c-17.6 0-33.9 9-43.2 23.9l-45 72.1H288h80c26.5 0 48-21.5 48-48s-21.5-48-48-48h-2.9zm-130 96l-45-72.1C180.8 41 164.5 32 146.9 32H144c-26.5 0-48 21.5-48 48s21.5 48 48 48h80 11.1zM256 101l38.8-62c15.2-24.2 41.7-39 70.3-39H368c44.2 0 80 35.8 80 80c0 18-6 34.6-16 48h32c26.5 0 48 21.5 48 48v64c0 20.9-13.4 38.7-32 45.3V288 448c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V288v-2.7C13.4 278.7 0 260.9 0 240V176c0-26.5 21.5-48 48-48H80C70 114.6 64 98 64 80C64 35.8 99.8 0 144 0h2.9c28.6 0 55.2 14.7 70.3 39L256 101zM144 160H48c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16H64 240V160H224 144zm128 0v96H448h16c8.8 0 16-7.2 16-16V176c0-8.8-7.2-16-16-16H368 288 272zM240 288H64V448c0 17.7 14.3 32 32 32H240V288zm32 192H416c17.7 0 32-14.3 32-32V288H272V480z\"]\n};\nvar faDiceTwo = {\n prefix: 'fal',\n iconName: 'dice-two',\n icon: [448, 512, [9857], \"f528\", \"M384 64c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm88 128a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM320 376a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faVolume = {\n prefix: 'fal',\n iconName: 'volume',\n icon: [576, 512, [128265, \"volume-medium\"], \"f6a8\", \"M320 66.7L183.6 188c-2.9 2.6-6.7 4-10.6 4H88c-13.3 0-24 10.7-24 24v80c0 13.3 10.7 24 24 24h85c3.9 0 7.7 1.4 10.6 4L320 445.3V66.7zM302.4 39.5c5.5-4.8 12.5-7.5 19.8-7.5C338.7 32 352 45.3 352 61.8V450.2c0 16.5-13.3 29.8-29.8 29.8c-7.3 0-14.3-2.7-19.8-7.5l10.6-12-10.6 12L166.9 352H88c-30.9 0-56-25.1-56-56V216c0-30.9 25.1-56 56-56h78.9L302.4 39.5zM419.2 182.4c5.3-7.1 15.3-8.5 22.4-3.2C464.9 196.7 480 224.6 480 256s-15.1 59.3-38.4 76.8c-7.1 5.3-17.1 3.9-22.4-3.2s-3.9-17.1 3.2-22.4C438 295.5 448 276.9 448 256s-10-39.5-25.6-51.2c-7.1-5.3-8.5-15.3-3.2-22.4zm87-74.5C548.8 143.1 576 196.4 576 256s-27.2 112.9-69.8 148.1c-6.8 5.6-16.9 4.7-22.5-2.1s-4.7-16.9 2.1-22.5C521.4 350.1 544 305.7 544 256s-22.6-94.1-58.2-123.4c-6.8-5.6-7.8-15.7-2.1-22.5s15.7-7.8 22.5-2.1z\"]\n};\nvar faVolumeMedium = faVolume;\nvar faTransporter5 = {\n prefix: 'fal',\n iconName: 'transporter-5',\n icon: [512, 512, [], \"e2a6\", \"M464 0c-8.8 0-16 7.2-16 16V32H432c-8.8 0-16 7.2-16 16s7.2 16 16 16h16V80c0 8.8 7.2 16 16 16s16-7.2 16-16V64h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H480V16c0-8.8-7.2-16-16-16zM48 128c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H32v16c0 8.8 7.2 16 16 16s16-7.2 16-16V192H80c8.8 0 16-7.2 16-16s-7.2-16-16-16H64V144c0-8.8-7.2-16-16-16zM208 16c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H224c-8.8 0-16 7.2-16 16zM160 144c0 8.8 7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H176c-8.8 0-16 7.2-16 16zM96 272c0 8.8 7.2 16 16 16H400c8.8 0 16-7.2 16-16s-7.2-16-16-16H112c-8.8 0-16 7.2-16 16zm64 128c0 8.8 7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H176c-8.8 0-16 7.2-16 16zm-32 96c0-8.8 7.2-16 16-16H368c8.8 0 16 7.2 16 16s7.2 16 16 16s16-7.2 16-16c0-26.5-21.5-48-48-48H144c-26.5 0-48 21.5-48 48c0 8.8 7.2 16 16 16s16-7.2 16-16z\"]\n};\nvar faGaugeCircleBolt = {\n prefix: 'fal',\n iconName: 'gauge-circle-bolt',\n icon: [640, 512, [], \"e496\", \"M256 480c32.2 0 62.8-6.8 90.5-19c5.8 9.3 12.5 18 19.8 26.1C333 503 295.5 512 256 512C114.6 512 0 397.4 0 256S114.6 0 256 0C375.4 0 475.6 81.7 504 192.2c-2.6-.1-5.3-.2-8-.2c-8.4 0-16.7 .6-24.8 1.7C444.3 100.3 358.1 32 256 32C132.3 32 32 132.3 32 256s100.3 224 224 224zm0-96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0 32c-35.3 0-64-28.7-64-64c0-29.8 20.4-54.9 48-62l0-194c0-8.8 7.2-16 16-16s16 7.2 16 16l0 194c27.6 7.1 48 32.2 48 62c0 35.3-28.7 64-64 64zM144 120a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM72 256a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM344 144a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM608 368a112 112 0 1 0 -224 0 112 112 0 1 0 224 0zm-256 0a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm191.9-81c4.3 3.7 5.4 9.9 2.6 14.9L516.4 356H552c5.2 0 9.8 3.3 11.4 8.2s-.1 10.3-4.2 13.4l-96 72c-4.5 3.4-10.8 3.2-15.1-.6s-5.4-9.9-2.6-14.9L475.6 380H440c-5.2 0-9.8-3.3-11.4-8.2s.1-10.3 4.2-13.4l96-72c4.5-3.4 10.8-3.2 15.1 .6z\"]\n};\nvar faCoinFront = {\n prefix: 'fal',\n iconName: 'coin-front',\n icon: [512, 512, [], \"e3fc\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-416a160 160 0 1 1 0 320 160 160 0 1 1 0-320zm0 352a192 192 0 1 0 0-384 192 192 0 1 0 0 384zm16-272c0-8.8-7.2-16-16-16s-16 7.2-16 16V336c0 8.8 7.2 16 16 16s16-7.2 16-16V176z\"]\n};\nvar faFileSlash = {\n prefix: 'fal',\n iconName: 'file-slash',\n icon: [640, 512, [], \"e3a7\", \"M512 163.9c0-12.7-5.1-24.9-14.1-33.9L382.1 14.1c-9-9-21.2-14.1-33.9-14.1H192c-23 0-43.2 12.2-54.5 30.4L163 50.5C168.1 39.6 179.2 32 192 32H320V144c0 26.5 21.5 48 48 48H480V300.8L512 326V163.9zM160 448V211.2L128 186V448c0 35.3 28.7 64 64 64H448c23 0 43.2-12.2 54.5-30.4L477 461.5c-5.1 10.9-16.2 18.5-29 18.5H192c-17.7 0-32-14.3-32-32zM479.5 160H368c-8.8 0-16-7.2-16-16V32.5c2.8 .7 5.4 2.1 7.4 4.2L475.3 152.6c2.1 2.1 3.5 4.6 4.2 7.4zM25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4z\"]\n};\nvar faMessageArrowUpRight = {\n prefix: 'fal',\n iconName: 'message-arrow-up-right',\n icon: [512, 512, [], \"e1dd\", \"M192 416c0-17.7-14.3-32-32-32H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H448c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H309.3c-6.9 0-13.7 2.2-19.2 6.4L192 464V416zM64 0C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h64 32v32 48c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L309.3 416H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM192 128c-8.8 0-16 7.2-16 16s7.2 16 16 16h89.4L172.7 268.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L304 182.6V272c0 8.8 7.2 16 16 16s16-7.2 16-16V144c0-8.8-7.2-16-16-16H192z\"]\n};\nvar faTreasureChest = {\n prefix: 'fal',\n iconName: 'treasure-chest',\n icon: [576, 512, [], \"f723\", \"M128 64V256h64V224c0-35.3 28.7-64 64-64h64c35.3 0 64 28.7 64 64v32h64V64H128zM320 384H256c-35.3 0-64-28.7-64-64V288H128V448H448V288H384v32c0 35.3-28.7 64-64 64zM96 69.5C58.7 82.6 32 118.2 32 160v96H96V69.5zM32 288V432c0 8.8 7.2 16 16 16H96V288H32zM480 448h48c8.8 0 16-7.2 16-16V288H480V448zm64-192V160c0-41.8-26.7-77.4-64-90.5V256h64zM0 160C0 89.3 57.3 32 128 32H448c70.7 0 128 57.3 128 128V432c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V160zm320 32H256c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zm-16 48v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V240c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faChessQueen = {\n prefix: 'fal',\n iconName: 'chess-queen',\n icon: [512, 512, [9819], \"f445\", \"M256 32a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0 80A56 56 0 1 0 256 0a56 56 0 1 0 0 112zm-95.2 0c-14 0-24.5 10-28 21.3c-9 29.4-36.5 50.8-68.8 50.8c-12.1 0-23.4-3-33.4-8.2c-5.6-3-12.6-3.1-18.6 0c-10.1 5.4-13.5 18.2-7.5 28L97.1 352h37.7L49.3 215.1c4.8 .7 9.7 1 14.7 1c44.8 0 82.9-28.3 97.5-67.9C181.4 179.3 216.3 200 256 200s74.6-20.7 94.5-51.8c14.7 39.6 52.8 67.9 97.5 67.9c5 0 9.9-.4 14.7-1L377.1 352h37.7l92.6-148.2c5.9-9.5 2.8-22.1-7-27.6c-6.1-3.5-13.3-3.4-19.1-.3c-10 5.3-21.4 8.2-33.5 8.2c-32.4 0-59.8-21.4-68.8-50.8c-3.5-11.3-13.9-21.3-28-21.3c-11.3 0-20.6 6.6-25.4 15.2C312 151.6 285.9 168 256 168s-56-16.4-69.8-40.8c-4.8-8.6-14.1-15.2-25.4-15.2zm-31 304l252.4 0 32.7 52.7c.7 1.2 1.1 2.5 1.1 3.9c0 4.1-3.3 7.4-7.4 7.4H103.4c-4.1 0-7.4-3.3-7.4-7.4c0-1.4 .4-2.7 1.1-3.9L129.8 416zm252.4-32H129.8c-11.1 0-21.4 5.7-27.2 15.1L69.9 451.8C66.1 458 64 465.2 64 472.6c0 21.8 17.7 39.4 39.4 39.4H408.6c21.8 0 39.4-17.7 39.4-39.4c0-7.3-2.1-14.5-5.9-20.8l-32.7-52.7c-5.8-9.4-16.1-15.1-27.2-15.1z\"]\n};\nvar faPaintbrushFine = {\n prefix: 'fal',\n iconName: 'paintbrush-fine',\n icon: [576, 512, [\"paint-brush-alt\", \"paint-brush-fine\", \"paintbrush-alt\"], \"f5a9\", \"M534.5 41.4c-12.5-12.5-32.8-12.5-45.3 0L324.6 206l45.3 45.3L534.5 86.6c12.5-12.5 12.5-32.8 0-45.3zM302 228.6l-36.6 36.6 0 0L224.6 306l45.3 45.3 4.6-4.6 0 0 36.1-36.1 36.6-36.6L302 228.6zM195.9 322.5c-6.3-1.6-13-2.5-19.9-2.5c-44.2 0-80 35.8-80 80c0 2.8 .1 5.6 .4 8.3c1.7 16.7-3 33.6-12.5 46.7C74.3 468.5 58 480 36.8 480H176c44.2 0 80-35.8 80-80c0-6.9-.9-13.5-2.5-19.9l-57.7-57.7zM557.2 109.3L286.3 380.2c1.1 6.4 1.7 13.1 1.7 19.8c0 61.9-50.1 112-112 112H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h4.8c17.6 0 29.6-18.9 27.8-36.4c-.4-3.8-.6-7.7-.6-11.6c0-61.9 50.1-112 112-112c6.7 0 13.3 .6 19.7 1.7l271-271c25-25 65.5-25 90.5 0s25 65.5 0 90.5z\"]\n};\nvar faPaintBrushAlt = faPaintbrushFine;\nvar faPaintBrushFine = faPaintbrushFine;\nvar faPaintbrushAlt = faPaintbrushFine;\nvar faGlasses = {\n prefix: 'fal',\n iconName: 'glasses',\n icon: [576, 512, [], \"f530\", \"M116.8 64c-14.4 0-26.9 9.7-30.5 23.6L38.1 274.4c31-12 65-18.4 97.6-18.4c40.1 0 82.2 9.6 118.5 27.3c2.6 1.3 4.9 2.9 7 4.7h53.7c2.1-1.8 4.4-3.4 7-4.7c36.2-17.8 78.4-27.3 118.5-27.3c32.6 0 66.6 6.3 97.6 18.4L489.7 87.6C486.1 73.7 473.6 64 459.2 64c-4.9 0-9.7 1.1-14.1 3.3l-22 11c-7.9 4-17.5 .7-21.5-7.2s-.7-17.5 7.2-21.5l22-11c8.8-4.4 18.5-6.7 28.4-6.7c29 0 54.2 19.6 61.5 47.6l50.7 196.6c3 11.8 4.6 23.8 4.6 36V352c0 .2 0 .3 0 .5V368c0 61.9-50.1 112-112 112H419.7c-59.4 0-108.5-46.4-111.8-105.8L304.4 320H271.6l-3.4 54.2C264.9 433.6 215.8 480 156.3 480H112C50.1 480 0 429.9 0 368V352 312.2 312l0-.2c0-12 1.6-23.9 4.6-35.5L55.3 79.6C62.5 51.6 87.8 32 116.8 32c9.9 0 19.6 2.3 28.4 6.7l22 11c7.9 4 11.1 13.6 7.2 21.5s-13.6 11.1-21.5 7.2l-22-11c-4.4-2.2-9.2-3.3-14.1-3.3zM32 312l0 .2V352v16c0 44.2 35.8 80 80 80h44.3c42.5 0 77.5-33.2 79.9-75.6l0-.2 0 0L240 312l0 0c0 0 0 0 0-.1c-31.8-15.5-69-24-104.3-24c-35.1 0-72.2 8.4-103.7 24zm512 0c-31.4-15.6-68.6-24-103.7-24c-35.3 0-72.5 8.5-104.3 24c0 0 0 0 0 .1l0 0 3.8 60.2 0 0 0 .2c2.4 42.4 37.4 75.6 79.9 75.6H464c44.2 0 80-35.8 80-80V312z\"]\n};\nvar faHoodCloak = {\n prefix: 'fal',\n iconName: 'hood-cloak',\n icon: [576, 512, [], \"f6ef\", \"M32 480l.4-.4 .2-.2 0 0 .1-.1C81.7 427 96 348.2 96 288c0-128 44-192 90-224c46-32 94-32 102-32H412.6c-1.2 1-2.7 2.2-4.2 3.5c-4.4 3.6-9.8 8-13.7 11.6c-6.7 6.1-10.5 14.7-10.5 23.8s3.9 17.7 10.6 23.7C438.8 134.2 480 195.8 480 288c0 60.2 14.3 139 63.3 191.3l0 0 .1 .1c.2 .2 .4 .4 .6 .6H416V320c0-70.7-57.3-128-128-128s-128 57.3-128 128V480H32zm160 0V320c0-53 43-96 96-96s96 43 96 96V480H192zm381.6 12.2c4.9-11.9 2.2-25.6-6.8-34.7l0 0-.1-.1C525.8 413.8 512 345 512 288c0-87-33.1-150.3-73.1-194.6c-7.4-8.2-15-15.7-22.7-22.6c3.5-3.2 7.4-6.3 11.3-9.5l0 0c4.5-3.7 9.1-7.4 13.3-11.4c4-3.7 7.7-7.7 10.7-11.9c4.7-6.5 5.9-15 2.9-22.7C450.8 6.1 441.9 0 432 0H288c-9.8 0-66 0-120.3 37.7C111.4 76.9 64 151.8 64 288c0 57.1-13.9 125.9-54.6 169.4l-.2 .2c-9 9.1-11.7 22.8-6.8 34.7c5 12 16.6 19.8 29.6 19.8H544c12.9 0 24.6-7.8 29.6-19.8z\"]\n};\nvar faSquareQuote = {\n prefix: 'fal',\n iconName: 'square-quote',\n icon: [448, 512, [], \"e329\", \"M384 64c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM208 286.4V232 216 200c0-22.1-17.9-40-40-40H136c-22.1 0-40 17.9-40 40v32c0 22.1 17.9 40 40 40h32c2.7 0 5.4-.3 8-.8v15.2c0 15.9-11.7 29.4-27.5 31.7l-14.8 2.1c-8.7 1.3-14.8 9.4-13.6 18.1s9.4 14.8 18.1 13.6l14.8-2.1c31.5-4.5 54.9-31.5 54.9-63.4zM176 232c0 4.4-3.6 8-8 8H136c-4.4 0-8-3.6-8-8V200c0-4.4 3.6-8 8-8h32c4.4 0 8 3.6 8 8v16 16zm176 0V216 200c0-22.1-17.9-40-40-40H280c-22.1 0-40 17.9-40 40v32c0 22.1 17.9 40 40 40h32c2.7 0 5.4-.3 8-.8v15.2c0 15.9-11.7 29.4-27.5 31.7l-14.8 2.1c-8.7 1.3-14.8 9.4-13.6 18.1s9.4 14.8 18.1 13.6l14.8-2.1c31.5-4.5 54.9-31.5 54.9-63.4V232zm-32-16v16c0 4.4-3.6 8-8 8H280c-4.4 0-8-3.6-8-8V200c0-4.4 3.6-8 8-8h32c4.4 0 8 3.6 8 8v16z\"]\n};\nvar faUpLeft = {\n prefix: 'fal',\n iconName: 'up-left',\n icon: [384, 512, [], \"e2bd\", \"M72 128c-4.4 0-8 3.6-8 8V337.4c0 3.7 3 6.6 6.6 6.6c1.8 0 3.4-.7 4.7-1.9l61.4-61.4c6.2-6.2 16.4-6.2 22.6 0L272 393.4c4.2 4.2 10 6.6 16 6.6s11.8-2.4 16-6.6L329.4 368c4.2-4.2 6.6-10 6.6-16s-2.4-11.8-6.6-16L216.7 223.3c-3-3-4.7-7.1-4.7-11.3s1.7-8.3 4.7-11.3l61.4-61.4c1.2-1.2 1.9-2.9 1.9-4.7c0-3.7-3-6.6-6.6-6.6H72zm-40 8c0-22.1 17.9-40 40-40H273.4c21.3 0 38.6 17.3 38.6 38.6c0 10.2-4.1 20.1-11.3 27.3L250.6 212 352 313.4c10.2 10.2 16 24.1 16 38.6s-5.8 28.4-16 38.6L326.6 416c-10.2 10.2-24.1 16-38.6 16s-28.4-5.8-38.6-16L148 314.6 97.9 364.7C90.7 371.9 80.9 376 70.6 376C49.3 376 32 358.7 32 337.4V136z\"]\n};\nvar faBringFront = {\n prefix: 'fal',\n iconName: 'bring-front',\n icon: [640, 512, [], \"f857\", \"M64 32H192c17.7 0 32 14.3 32 32h32c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V192c0 35.3 28.7 64 64 64h64V224H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32zM448 512H576c35.3 0 64-28.7 64-64V320c0-35.3-28.7-64-64-64H512v32h64c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H448c-17.7 0-32-14.3-32-32H384c0 35.3 28.7 64 64 64zM416 128c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H224c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32H416zM224 96c-35.3 0-64 28.7-64 64V352c0 35.3 28.7 64 64 64H416c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H224zm32 96H384V320H256V192zm-32 0V320c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32H256c-17.7 0-32 14.3-32 32z\"]\n};\nvar faChessBoard = {\n prefix: 'fal',\n iconName: 'chess-board',\n icon: [448, 512, [], \"f43c\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm88 0h64 72 72 64c13.3 0 24 10.7 24 24v64 72 72 64c0 13.3-10.7 24-24 24H296 224 152 88c-13.3 0-24-10.7-24-24V328 256 184 120c0-13.3 10.7-24 24-24zm8 72h40V128H96v40zm72 0h40V128H168v40zm72 0h40V128H240v40zm72 0h40V128H312v40zm0 32v40h40V200H312zm0 72v40h40V272H312zm0 72v40h40V344H312zm-32 0H240v40h40V344zm-72 0H168v40h40V344zm-72 0H96v40h40V344zm0-32V272H96v40h40zm0-72V200H96v40h40zm32 0h40V200H168v40zm72 0h40V200H240v40zm0 32v40h40V272H240zm-32 0H168v40h40V272z\"]\n};\nvar faBurgerCheese = {\n prefix: 'fal',\n iconName: 'burger-cheese',\n icon: [512, 512, [127828, \"cheeseburger\"], \"f7f1\", \"M445 221.8C428.9 132.1 350.4 64 256 64S83.1 132.1 67 221.8l0 .1c0 .1 .1 .2 .3 .3c.7 .8 2.4 1.7 4.7 1.7H440c2.4 0 4-1 4.7-1.7c.1-.1 .2-.2 .3-.3l0-.1zM72 256c-22.1 0-40.4-18.1-36.5-39.8C54.3 111.5 145.9 32 256 32s201.7 79.5 220.5 184.2c3.9 21.7-14.4 39.8-36.5 39.8H416 224 72zm358.5 96H448c17.7 0 32 14.3 32 32c0 53-43 96-96 96H128c-53 0-96-43-96-96c0-17.7 14.3-32 32-32H209.5l48 32H64c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64H382.5l48-32zM160 128a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm80-16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm112 16a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM32 288H224c3.2 0 6.2 .9 8.9 2.7L320 348.8l87.1-58.1c2.6-1.8 5.7-2.7 8.9-2.7h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H420.8l-92 61.3c-5.4 3.6-12.4 3.6-17.8 0l-92-61.3H32c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faCheeseburger = faBurgerCheese;\nvar faBuildingCircleCheck = {\n prefix: 'fal',\n iconName: 'building-circle-check',\n icon: [640, 512, [], \"e4d2\", \"M64 32H320c17.7 0 32 14.3 32 32V266.8c9.1-12.9 19.9-24.5 32-34.6V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64h64 32 64 32 64c19.5 0 37-8.7 48.7-22.5c-7.7-8-14.6-16.8-20.6-26.1c-5.4 9.9-16 16.6-28.1 16.6H256V416c0-35.3-28.7-64-64-64s-64 28.7-64 64v64H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32zM224 416v64H160V416c0-17.7 14.3-32 32-32s32 14.3 32 32zM64 120v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V120c0-13.3-10.7-24-24-24H88c-13.3 0-24 10.7-24 24zm32 8h32v32H96V128zM248 96c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V120c0-13.3-10.7-24-24-24H248zm8 64V128h32v32H256zM64 248v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V248c0-13.3-10.7-24-24-24H88c-13.3 0-24 10.7-24 24zm32 8h32v32H96V256zm152-32c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V248c0-13.3-10.7-24-24-24H248zm8 64V256h32v32H256zm240-32a112 112 0 1 1 0 224 112 112 0 1 1 0-224zm0 256a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm67.3-187.3c-6.2-6.2-16.4-6.2-22.6 0L480 385.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nvar faRepeat1 = {\n prefix: 'fal',\n iconName: 'repeat-1',\n icon: [512, 512, [128258], \"f365\", \"M0 255.2C-.4 264 6.4 271.5 15.2 272s16.3-6.4 16.8-15.2l.4-8C36.2 172.2 99.5 112 176.2 112H320v44.4c0 15.2 12.3 27.6 27.6 27.6c6.8 0 13.4-2.5 18.4-7.1l76.7-69c3.4-3 5.3-7.4 5.3-11.9s-1.9-8.9-5.3-11.9L366 15.1C360.9 10.5 354.4 8 347.6 8C332.3 8 320 20.3 320 35.6V80H176.2C82.4 80 5.1 153.5 .4 247.2l-.4 8zM408.1 96L352 146.5l0-100.9L408.1 96zM512 256.8c.4-8.8-6.4-16.3-15.2-16.8s-16.3 6.4-16.8 15.2l-.4 8C475.8 339.8 412.5 400 335.8 400L192 400l0-44.4c0-15.2-12.3-27.6-27.6-27.6c-6.8 0-13.4 2.5-18.4 7.1l-76.7 69c-3.4 3-5.3 7.4-5.3 11.9s1.9 8.9 5.3 11.9l76.7 69c5.1 4.6 11.6 7.1 18.4 7.1c15.2 0 27.6-12.3 27.6-27.6l0-44.4 143.8 0c93.8 0 171.1-73.5 175.8-167.2l.4-8zM103.9 416L160 365.5l0 100.9L103.9 416zM288 208c0-6.1-3.4-11.6-8.8-14.3s-11.9-2.1-16.8 1.5l-32 24c-7.1 5.3-8.5 15.3-3.2 22.4s15.3 8.5 22.4 3.2L256 240v64c0 8.8 7.2 16 16 16s16-7.2 16-16V208z\"]\n};\nvar faArrowDownToLine = {\n prefix: 'fal',\n iconName: 'arrow-down-to-line',\n icon: [384, 512, [\"arrow-to-bottom\"], \"f33d\", \"M16 480c-8.8 0-16-7.2-16-16s7.2-16 16-16l352 0c8.8 0 16 7.2 16 16s-7.2 16-16 16L16 480zM203.3 379.3c-6.2 6.2-16.4 6.2-22.6 0l-128-128c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L176 329.4 176 224l0-176c0-8.8 7.2-16 16-16s16 7.2 16 16l0 176 0 105.4L308.7 228.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-128 128z\"]\n};\nvar faArrowToBottom = faArrowDownToLine;\nvar faGrid5 = {\n prefix: 'fal',\n iconName: 'grid-5',\n icon: [448, 512, [], \"e199\", \"M24 56H40V72H24V56zM16 32C7.2 32 0 39.2 0 48V80c0 8.8 7.2 16 16 16H48c8.8 0 16-7.2 16-16V48c0-8.8-7.2-16-16-16H16zm8 120H40v16H24V152zm-8-24c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16H48c8.8 0 16-7.2 16-16V144c0-8.8-7.2-16-16-16H16zm8 136V248H40v16H24zM0 240v32c0 8.8 7.2 16 16 16H48c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H16c-8.8 0-16 7.2-16 16zM24 344H40v16H24V344zm-8-24c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16H48c8.8 0 16-7.2 16-16V336c0-8.8-7.2-16-16-16H16zm8 136V440H40v16H24zM0 432v32c0 8.8 7.2 16 16 16H48c8.8 0 16-7.2 16-16V432c0-8.8-7.2-16-16-16H16c-8.8 0-16 7.2-16 16zM120 56h16V72H120V56zm-8-24c-8.8 0-16 7.2-16 16V80c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V48c0-8.8-7.2-16-16-16H112zm8 136V152h16v16H120zM96 144v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V144c0-8.8-7.2-16-16-16H112c-8.8 0-16 7.2-16 16zm24 104h16v16H120V248zm-8-24c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H112zm8 136V344h16v16H120zM96 336v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V336c0-8.8-7.2-16-16-16H112c-8.8 0-16 7.2-16 16zm24 104h16v16H120V440zm-8-24c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V432c0-8.8-7.2-16-16-16H112zM216 72V56h16V72H216zM192 48V80c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V48c0-8.8-7.2-16-16-16H208c-8.8 0-16 7.2-16 16zm24 104h16v16H216V152zm-8-24c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V144c0-8.8-7.2-16-16-16H208zm8 136V248h16v16H216zm-24-24v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H208c-8.8 0-16 7.2-16 16zm24 104h16v16H216V344zm-8-24c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V336c0-8.8-7.2-16-16-16H208zm8 136V440h16v16H216zm-24-24v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V432c0-8.8-7.2-16-16-16H208c-8.8 0-16 7.2-16 16zM312 56h16V72H312V56zm-8-24c-8.8 0-16 7.2-16 16V80c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V48c0-8.8-7.2-16-16-16H304zm8 136V152h16v16H312zm-24-24v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V144c0-8.8-7.2-16-16-16H304c-8.8 0-16 7.2-16 16zm24 104h16v16H312V248zm-8-24c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H304zm8 136V344h16v16H312zm-24-24v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V336c0-8.8-7.2-16-16-16H304c-8.8 0-16 7.2-16 16zm24 104h16v16H312V440zm-8-24c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V432c0-8.8-7.2-16-16-16H304zM408 72V56h16V72H408zM384 48V80c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V48c0-8.8-7.2-16-16-16H400c-8.8 0-16 7.2-16 16zm24 104h16v16H408V152zm-8-24c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V144c0-8.8-7.2-16-16-16H400zm8 136V248h16v16H408zm-24-24v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H400c-8.8 0-16 7.2-16 16zm24 104h16v16H408V344zm-8-24c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V336c0-8.8-7.2-16-16-16H400zm8 136V440h16v16H408zm-24-24v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V432c0-8.8-7.2-16-16-16H400c-8.8 0-16 7.2-16 16z\"]\n};\nvar faSwapArrows = {\n prefix: 'fal',\n iconName: 'swap-arrows',\n icon: [640, 512, [], \"e60a\", \"M100.7 20.7c6.2-6.2 16.4-6.2 22.6 0l88 88c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L128 70.6V360c0 48.6 39.4 88 88 88s88-39.4 88-88V152c0-66.3 53.7-120 120-120s120 53.7 120 120V441.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-88 88c-6.2 6.2-16.4 6.2-22.6 0l-88-88c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L512 441.4 512 152c0-48.6-39.4-88-88-88s-88 39.4-88 88V360c0 66.3-53.7 120-120 120s-120-53.7-120-120V70.6L35.3 131.3c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l88-88z\"]\n};\nvar faRightLongToLine = {\n prefix: 'fal',\n iconName: 'right-long-to-line',\n icon: [640, 512, [], \"e444\", \"M640 80l0 352c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-352c0-8.8 7.2-16 16-16s16 7.2 16 16zM320 216L48 216c-8.8 0-16 7.2-16 16l0 48c0 8.8 7.2 16 16 16l272 0c17.7 0 32 14.3 32 32l0 49.3c0 3.7 3 6.7 6.7 6.7c1.9 0 3.7-.8 5-2.2L476.2 256 363.7 130.2c-1.3-1.4-3.1-2.2-5-2.2c-3.7 0-6.7 3-6.7 6.7l0 49.3c0 17.7-14.3 32-32 32zm192 40c0 5.2-1.9 10.1-5.3 14L387.5 403.1c-7.3 8.2-17.8 12.9-28.8 12.9c-21.4 0-38.7-17.3-38.7-38.7l0-17.3 0-32-32 0L48 328c-26.5 0-48-21.5-48-48l0-48c0-26.5 21.5-48 48-48l240 0 32 0 0-32 0-17.3c0-21.4 17.3-38.7 38.7-38.7c11 0 21.5 4.7 28.8 12.9L506.7 242c3.4 3.8 5.3 8.8 5.3 14z\"]\n};\nvar faPersonChalkboard = {\n prefix: 'fal',\n iconName: 'person-chalkboard',\n icon: [640, 512, [], \"e53d\", \"M168 56a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm80 0A56 56 0 1 0 136 56a56 56 0 1 0 112 0zM179.3 160H224V320H160V164c6-2.6 12.5-4 19.3-4zM160 496V352h64V496c0 8.8 7.2 16 16 16s16-7.2 16-16V160H400c8.8 0 16-7.2 16-16s-7.2-16-16-16H352V48c0-8.8 7.2-16 16-16H592c8.8 0 16 7.2 16 16V272c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16V192H320v80c0 26.5 21.5 48 48 48H592c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H368c-26.5 0-48 21.5-48 48v80H243.1 179.3c-29.5 0-56.7 16.3-70.6 42.3L49.9 280.5c-4.2 7.8-1.2 17.5 6.6 21.7s17.5 1.2 21.7-6.6L128 202.2V496c0 8.8 7.2 16 16 16s16-7.2 16-16z\"]\n};\nvar faMarsStrokeRight = {\n prefix: 'fal',\n iconName: 'mars-stroke-right',\n icon: [640, 512, [9897, \"mars-stroke-h\"], \"f22b\", \"M64 256a144 144 0 1 1 288 0A144 144 0 1 1 64 256zm319.3-16C375.2 150.3 299.8 80 208 80C110.8 80 32 158.8 32 256s78.8 176 176 176c91.8 0 167.2-70.3 175.3-160H432v48c0 8.8 7.2 16 16 16s16-7.2 16-16V272h89.4l-52.7 52.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l80-80c6.2-6.2 6.2-16.4 0-22.6l-80-80c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L553.4 240H464V192c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H383.3z\"]\n};\nvar faMarsStrokeH = faMarsStrokeRight;\nvar faHandBackFist = {\n prefix: 'fal',\n iconName: 'hand-back-fist',\n icon: [448, 512, [\"hand-rock\"], \"f255\", \"M96 64c0-35.3 28.7-64 64-64c23.9 0 44.8 13.1 55.7 32.5c2.7-.4 5.5-.5 8.3-.5c23.9 0 44.8 13.1 55.7 32.5c2.7-.4 5.5-.5 8.3-.5c23.9 0 44.8 13.1 55.7 32.5c2.7-.4 5.5-.5 8.3-.5c35.3 0 64 28.7 64 64v80c0 49.6-25.1 93.3-63.2 119.2c-.4 .3-.6 .6-.7 .7c0 .1 0 .1-.1 .1l0 0V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V360.1c0-11.6 6.3-21.5 14.8-27.4C364.5 312.6 384 278.6 384 240V160c0-17.7-14.3-32-32-32c-4.2 0-8.2 .8-11.8 2.2c-4.2 1.7-9 1.5-13.1-.6s-7.1-5.7-8.3-10.1C315.2 106 302.7 96 288 96c-4.2 0-8.2 .8-11.8 2.2c-4.2 1.7-9 1.5-13.1-.6s-7.1-5.7-8.3-10.1C251.2 74 238.7 64 224 64c-4.2 0-8.2 .8-11.8 2.2c-4.2 1.7-9 1.5-13.1-.6s-7.1-5.7-8.3-10.1C187.2 42 174.7 32 160 32c-17.7 0-32 14.3-32 32v48 96c0 8.8-7.2 16-16 16s-16-7.2-16-16V150.6L78.1 168.6c-9 9-14.1 21.2-14.1 33.9V256c0 44.2 29.9 81.5 70.6 92.6c13.5 3.7 25.4 15.8 25.4 32.1V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V380.7l0 0c0 0-.1-.1-.2-.3c-.3-.4-.8-.8-1.6-1C71.9 364.7 32 315 32 256V202.5c0-21.2 8.4-41.6 23.4-56.6L96 105.4V64z\"]\n};\nvar faHandRock = faHandBackFist;\nvar faGridRound5 = {\n prefix: 'fal',\n iconName: 'grid-round-5',\n icon: [448, 512, [], \"e5de\", \"M40 64A8 8 0 1 1 24 64a8 8 0 1 1 16 0zM32 32a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm8 128a8 8 0 1 1 -16 0 8 8 0 1 1 16 0zm-8-32a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm0 120a8 8 0 1 1 0 16 8 8 0 1 1 0-16zM0 256a32 32 0 1 0 64 0A32 32 0 1 0 0 256zm40 96a8 8 0 1 1 -16 0 8 8 0 1 1 16 0zm-8-32a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm0 120a8 8 0 1 1 0 16 8 8 0 1 1 0-16zM0 448a32 32 0 1 0 64 0A32 32 0 1 0 0 448zM136 64a8 8 0 1 1 -16 0 8 8 0 1 1 16 0zm-8-32a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm0 120a8 8 0 1 1 0 16 8 8 0 1 1 0-16zm-32 8a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm40 96a8 8 0 1 1 -16 0 8 8 0 1 1 16 0zm-8-32a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm0 120a8 8 0 1 1 0 16 8 8 0 1 1 0-16zm-32 8a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm40 96a8 8 0 1 1 -16 0 8 8 0 1 1 16 0zm-8-32a32 32 0 1 0 0 64 32 32 0 1 0 0-64zM224 56a8 8 0 1 1 0 16 8 8 0 1 1 0-16zm-32 8a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm40 96a8 8 0 1 1 -16 0 8 8 0 1 1 16 0zm-8-32a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm0 120a8 8 0 1 1 0 16 8 8 0 1 1 0-16zm-32 8a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm40 96a8 8 0 1 1 -16 0 8 8 0 1 1 16 0zm-8-32a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm0 120a8 8 0 1 1 0 16 8 8 0 1 1 0-16zm-32 8a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zM328 64a8 8 0 1 1 -16 0 8 8 0 1 1 16 0zm-8-32a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm0 120a8 8 0 1 1 0 16 8 8 0 1 1 0-16zm-32 8a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm40 96a8 8 0 1 1 -16 0 8 8 0 1 1 16 0zm-8-32a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm0 120a8 8 0 1 1 0 16 8 8 0 1 1 0-16zm-32 8a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm40 96a8 8 0 1 1 -16 0 8 8 0 1 1 16 0zm-8-32a32 32 0 1 0 0 64 32 32 0 1 0 0-64zM416 56a8 8 0 1 1 0 16 8 8 0 1 1 0-16zm-32 8a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm40 96a8 8 0 1 1 -16 0 8 8 0 1 1 16 0zm-8-32a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm0 120a8 8 0 1 1 0 16 8 8 0 1 1 0-16zm-32 8a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm40 96a8 8 0 1 1 -16 0 8 8 0 1 1 16 0zm-8-32a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm0 120a8 8 0 1 1 0 16 8 8 0 1 1 0-16zm-32 8a32 32 0 1 0 64 0 32 32 0 1 0 -64 0z\"]\n};\nvar faTally = {\n prefix: 'fal',\n iconName: 'tally',\n icon: [640, 512, [\"tally-5\"], \"f69c\", \"M128 32c8.8 0 16 7.2 16 16V297.8l96-32V48c0-8.8 7.2-16 16-16s16 7.2 16 16V255.1l96-32V48c0-8.8 7.2-16 16-16s16 7.2 16 16V212.5l96-32V48c0-8.8 7.2-16 16-16s16 7.2 16 16V169.8l74.9-25c8.4-2.8 17.4 1.7 20.2 10.1s-1.7 17.4-10.1 20.2L528 203.5V464c0 8.8-7.2 16-16 16s-16-7.2-16-16V214.2l-96 32V464c0 8.8-7.2 16-16 16s-16-7.2-16-16V256.9l-96 32V464c0 8.8-7.2 16-16 16s-16-7.2-16-16V299.5l-96 32V464c0 8.8-7.2 16-16 16s-16-7.2-16-16V342.2l-74.9 25c-8.4 2.8-17.4-1.7-20.2-10.1s1.7-17.4 10.1-20.2L112 308.5V48c0-8.8 7.2-16 16-16z\"]\n};\nvar faTally5 = faTally;\nvar faSquareCaretUp = {\n prefix: 'fal',\n iconName: 'square-caret-up',\n icon: [448, 512, [\"caret-square-up\"], \"f151\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm224 64c9.6 0 18.7 4 25.2 11l95.5 102.8c4.7 5.1 7.3 11.8 7.3 18.7c0 15.2-12.3 27.5-27.5 27.5h-201C108.3 320 96 307.7 96 292.5c0-6.9 2.6-13.6 7.3-18.7L198.8 171c6.5-7 15.6-11 25.2-11zm-1.7 32.7L133.8 288H314.2l-88.4-95.3c-.4-.5-1.1-.7-1.7-.7s-1.3 .3-1.7 .7z\"]\n};\nvar faCaretSquareUp = faSquareCaretUp;\nvar faCloudShowersWater = {\n prefix: 'fal',\n iconName: 'cloud-showers-water',\n icon: [576, 512, [], \"e4e4\", \"M176.1 99.3C178.6 61.7 209.8 32 248 32c26.4 0 49.4 14.2 62 35.4c2.3 3.8 6 6.5 10.3 7.5s8.9 .1 12.5-2.4c7.7-5.3 17-8.4 27.2-8.4c23 0 42.2 16.1 46.9 37.7c1.6 7.3 8.1 12.6 15.6 12.6h18.6c21.5 0 38.9 17.4 38.9 38.9s-17.4 38.9-38.9 38.9H134.9C113.4 192 96 174.6 96 153.1s17.4-38.9 38.9-38.9h25.3c8.4 0 15.4-6.6 16-15zM248 0c-50 0-91.7 35.3-101.7 82.3H134.9C95.7 82.3 64 114 64 153.1s31.7 70.9 70.9 70.9H441.1c39.1 0 70.9-31.7 70.9-70.9s-31.7-70.9-70.9-70.9h-6.8C422.5 52.8 393.7 32 360 32c-11.1 0-21.7 2.3-31.3 6.4C309.6 15 280.6 0 248 0zM141.3 280.9c4.9-7.4 2.9-17.3-4.4-22.2s-17.3-2.9-22.2 4.4l-64 96c-4.9 7.4-2.9 17.3 4.4 22.2s17.3 2.9 22.2-4.4l64-96zM192 480c-20.9 0-41.7-9.9-58.2-21.2c-9.7-6.6-18-14-25.9-21.9c-6.6-6.5-17.2-6.5-23.8 0c-7.9 7.9-16.1 15.2-25.9 21.9c-12.8 8.7-28.1 16.6-44 19.8C6.4 480.1 0 486.4 0 494.2c0 9.8 8 17.9 17.7 16.2c23.1-4 43.6-15 58.5-25.2c7.9-5.4 14.6-10.8 19.8-15.3c5.1 4.5 11.9 9.9 19.8 15.3C134.4 497.9 161.7 512 192 512s57.5-14.1 76.2-26.8c7.9-5.4 14.6-10.8 19.8-15.3c5.1 4.5 11.9 9.9 19.8 15.3C326.4 497.9 353.7 512 384 512s57.5-14.1 76.2-26.8c7.9-5.4 14.6-10.8 19.8-15.3c5.1 4.5 11.9 9.9 19.8 15.3c15 10.2 35.4 21.2 58.5 25.2c9.7 1.7 17.7-6.4 17.7-16.2c0-7.9-6.4-14.1-14.1-15.7c-16-3.1-31.3-11.1-44.1-19.8c-9.8-6.7-18-14-26-21.9c-6.6-6.5-17.2-6.5-23.7 0c-7.9 7.9-16.1 15.2-25.9 21.9C425.6 470 404.9 480 384 480s-41.7-9.9-58.2-21.2c-9.8-6.7-18-14-26-21.9c-6.6-6.5-17.2-6.5-23.7 0c-7.9 7.9-16.1 15.2-25.9 21.9C233.6 470 212.9 480 192 480zM472.9 258.7c-7.4-4.9-17.3-2.9-22.2 4.4l-64 96c-4.9 7.4-2.9 17.3 4.4 22.2s17.3 2.9 22.2-4.4l64-96c4.9-7.4 2.9-17.3-4.4-22.2zM253.3 280.9c4.9-7.4 2.9-17.3-4.4-22.2s-17.3-2.9-22.2 4.4l-64 96c-4.9 7.4-2.9 17.3 4.4 22.2s17.3 2.9 22.2-4.4l64-96zm107.6-22.2c-7.4-4.9-17.3-2.9-22.2 4.4l-64 96c-4.9 7.4-2.9 17.3 4.4 22.2s17.3 2.9 22.2-4.4l64-96c4.9-7.4 2.9-17.3-4.4-22.2z\"]\n};\nvar faChartBar = {\n prefix: 'fal',\n iconName: 'chart-bar',\n icon: [512, 512, [\"bar-chart\"], \"f080\", \"M16 32c8.8 0 16 7.2 16 16V400c0 26.5 21.5 48 48 48H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-44.2 0-80-35.8-80-80V48c0-8.8 7.2-16 16-16zM128 144c0-8.8 7.2-16 16-16l224 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-224 0c-8.8 0-16-7.2-16-16zm16 80H304c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 96H432c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faBarChart = faChartBar;\nvar faHandsBubbles = {\n prefix: 'fal',\n iconName: 'hands-bubbles',\n icon: [608, 512, [\"hands-wash\"], \"e05e\", \"M432 24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM240 448c0 3.2-.2 6.4-.5 9.5C271.3 491 316.2 512 366.1 512H496c26.5 0 48-21.5 48-48c0-6.2-1.2-12.2-3.4-17.7C561 440.8 576 422.1 576 400c0-6.2-1.2-12.2-3.4-17.7C593 376.8 608 358.1 608 336s-15-40.8-35.4-46.3c2.2-5.5 3.4-11.4 3.4-17.7c0-26.5-21.5-48-48-48H419.8c12.2-13.6 16-33.7 8.1-51.5c-10.8-24.2-39.1-35.1-63.4-24.4l-69.1 30.7C232.5 206.8 192 269.1 192 337.9c0 9.6 .8 19.1 2.3 28.3C221.7 383.1 240 413.4 240 448zM31.9 224.2c-.4 55 25.1 106 67.4 138.8c12.6-6.7 26.9-10.6 42.1-11c-47.7-24.3-77.9-73.6-77.5-127.6l.5-75.7c.1-8.8 7.3-15.9 16.1-15.9s15.9 7.3 15.9 16.1l-.3 46.2c-.1 7.6 5.2 14.1 12.6 15.7s14.9-2.1 18-9L198.1 44.2c3.6-8 13.1-11.6 21.2-8s11.6 13.1 8 21.2l-39.6 87.4c-3.6 8-.1 17.5 8 21.2s17.5 .1 21.2-8l39.6-87.4 13.2-29.1c3.6-8 13.1-11.6 21.2-8s11.6 13.1 8 21.2L285.6 83.8l-39.1 86.4c11.1-7.9 23.1-14.8 35.9-20.5l0 0 .4-.2 10.2-4.4L314.7 97c3.6-8 13.1-11.6 21.2-8s11.6 13.1 8 21.2l-7.2 15.9L377 108.6c2.1-20-8.6-40-27.9-48.7c-5.7-2.6-11.6-4-17.5-4.2C335 34.8 324.2 13.4 304 4.3s-43.3-3.2-56.8 13.1c-4.1-4.2-9-7.8-14.7-10.4C208.3-3.9 179.9 6.8 169 31l-44.6 98.6c-7.4-16.7-24.1-28.5-43.6-28.6c-26.5-.2-48.2 21.2-48.3 47.7l-.5 75.6zm345.6-46.9c8.1-3.6 17.5 0 21.1 8.1s0 17.5-8.1 21.1l-42.2 18.8c-6.9 3.1-10.7 10.6-9.2 17.9s8.1 12.7 15.7 12.7H528c8.8 0 16 7.2 16 16c0 8.8-7.1 16-16 16H432c-8.8 0-16 7.2-16 16s7.2 16 16 16h96l0 0h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H544l0 0H432c-8.8 0-16 7.2-16 16s7.2 16 16 16h96l0 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-16 0 0 0-15.9 0L432 416c-8.8 0-16 7.2-16 16s7.2 16 16 16l64 0 0 0c8.8 0 15.9 7.2 15.9 16c0 8.8-7.2 16-16 16H366.1C287.6 480 224 416.4 224 337.9c0-56.1 33.1-107 84.4-129.8l69.1-30.7zM112 448a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm96 0A64 64 0 1 0 80 448a64 64 0 1 0 128 0zM480 144a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm64 0a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nvar faHandsWash = faHandsBubbles;\nvar faLessThanEqual = {\n prefix: 'fal',\n iconName: 'less-than-equal',\n icon: [448, 512, [], \"f537\", \"M406.1 62.8c8.2-3.3 12.1-12.7 8.8-20.9s-12.7-12.1-20.9-8.8l-352 144c-6 2.5-9.9 8.3-9.9 14.8s3.9 12.3 9.9 14.8l352 144c8.2 3.3 17.5-.6 20.9-8.8s-.6-17.5-8.8-20.9L90.3 192 406.1 62.8zM16 448c-8.8 0-16 7.2-16 16s7.2 16 16 16H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H16z\"]\n};\nvar faTrain = {\n prefix: 'fal',\n iconName: 'train',\n icon: [448, 512, [128646], \"f238\", \"M352 32c35.3 0 64 28.7 64 64V224H32V96c0-35.3 28.7-64 64-64H352zM32 352V256H416v96c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64zM96 0C43 0 0 43 0 96V352c0 46 32.4 84.4 75.6 93.8L36.7 484.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L118.6 448H329.4l59.3 59.3c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-38.9-38.9C415.6 436.4 448 398 448 352V96c0-53-43-96-96-96H96zM224 368a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faUpFromDottedLine = {\n prefix: 'fal',\n iconName: 'up-from-dotted-line',\n icon: [448, 512, [], \"e456\", \"M222.2 64.8c.5-.5 1.1-.8 1.8-.8s1.4 .3 1.8 .8L350.2 196.7c1.2 1.2 1.8 2.9 1.8 4.6c0 3.7-3 6.7-6.7 6.7H288c-8.8 0-16 7.2-16 16V344c0 4.4-3.6 8-8 8H184c-4.4 0-8-3.6-8-8V224c0-8.8-7.2-16-16-16H102.7c-3.7 0-6.7-3-6.7-6.7c0-1.7 .7-3.3 1.8-4.6L222.2 64.8zM224 32c-9.5 0-18.6 3.9-25.1 10.8L74.5 174.8C67.8 182 64 191.5 64 201.3c0 21.4 17.3 38.7 38.7 38.7H144V344c0 22.1 17.9 40 40 40h80c22.1 0 40-17.9 40-40V240h41.3c21.4 0 38.7-17.3 38.7-38.7c0-9.9-3.8-19.3-10.5-26.5L249.1 42.8C242.6 35.9 233.5 32 224 32zM32 472a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm384 0a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM152 448a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm72 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm120-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faEyeLowVision = {\n prefix: 'fal',\n iconName: 'eye-low-vision',\n icon: [640, 512, [\"low-vision\"], \"f2a8\", \"M3.4 6.1C8.9-.8 19-2 25.9 3.4l608 480c6.9 5.5 8.1 15.5 2.6 22.5s-15.5 8.1-22.5 2.6L6.1 28.6C-.8 23.1-2 13 3.4 6.1zM605.5 268.3c-10.3 24.6-28.3 57-53.9 89l-25.1-19.8C550.1 308 566.8 278.1 576 256c-13.3-32-42.1-80-85.2-120C447.7 96 390.4 64 320 64c-39.8 0-75.4 10.2-106.6 26.3L186.1 68.8C224 46.8 268.8 32 320 32c80.8 0 145.5 36.8 192.6 80.6c46.8 43.5 78.1 95.4 93 131.1c3.3 7.9 3.3 16.7 0 24.6zM448 256c0 6.3-.5 12.4-1.3 18.5l-30.9-24.4C412.8 199.8 371 160 320 160c-5.6 0-11.2 .5-16.5 1.4l-30.9-24.4c14.7-5.8 30.6-9.1 47.4-9.1c70.7 0 128 57.3 128 128zM106 163.5l320 256c6.9 5.5 8 15.6 2.5 22.5s-15.6 8-22.5 2.5L86 188.5c-6.9-5.5-8-15.6-2.5-22.5s15.6-8 22.5-2.5zM67.5 238c5.5-6.9 15.6-8 22.5-2.5l250 200c6.9 5.5 8 15.6 2.5 22.5s-15.6 8-22.5 2.5L70 260.5c-6.9-5.5-8-15.6-2.5-22.5zM106 336.3l124 99.2c6.9 5.5 8 15.6 2.5 22.5s-15.6 8-22.5 2.5L86 361.3c-6.9-5.5-8-15.6-2.5-22.5s15.6-8 22.5-2.5z\"]\n};\nvar faLowVision = faEyeLowVision;\nvar faTrafficLightGo = {\n prefix: 'fal',\n iconName: 'traffic-light-go',\n icon: [320, 512, [], \"f638\", \"M64 32C46.3 32 32 46.3 32 64V352c0 70.7 57.3 128 128 128s128-57.3 128-128V64c0-17.7-14.3-32-32-32H64zM0 64C0 28.7 28.7 0 64 0H256c35.3 0 64 28.7 64 64V352c0 88.4-71.6 160-160 160S0 440.4 0 352V64zM160 448a56 56 0 1 1 0-112 56 56 0 1 1 0 112zm0-216a24 24 0 1 0 0 48 24 24 0 1 0 0-48zm0 80a56 56 0 1 1 0-112 56 56 0 1 1 0 112zM136 120a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zm80 0a56 56 0 1 1 -112 0 56 56 0 1 1 112 0z\"]\n};\nvar faFaceExhaling = {\n prefix: 'fal',\n iconName: 'face-exhaling',\n icon: [576, 512, [], \"e480\", \"M256 32C132.3 32 32 132.3 32 256s100.3 224 224 224c40.8 0 78.9-10.9 111.8-29.9c7.7-4.4 17.4-1.8 21.9 5.9s1.8 17.4-5.9 21.9C346.2 499.6 302.5 512 256 512C114.6 512 0 397.4 0 256S114.6 0 256 0C391.7 0 502.7 105.5 511.4 238.9c.6 8.8-6.1 16.4-14.9 17s-16.4-6.1-17-14.9C471.8 124.3 374.7 32 256 32zm.1 376.1a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-80a56 56 0 1 1 0 112 56 56 0 1 1 0-112zm60.8-89.6c17.6 23.5 52.8 23.5 70.4 0c5.3-7.1 15.3-8.5 22.4-3.2s8.5 15.3 3.2 22.4c-30.4 40.5-91.2 40.5-121.6 0c-5.3-7.1-3.9-17.1 3.2-22.4s17.1-3.9 22.4 3.2zm-121.6 0c5.3-7.1 15.3-8.5 22.4-3.2s8.5 15.3 3.2 22.4c-30.4 40.5-91.2 40.5-121.6 0c-5.3-7.1-3.9-17.1 3.2-22.4s17.1-3.9 22.4 3.2c17.6 23.5 52.8 23.5 70.4 0zm299.6 49.6c26.1 0 47.4 19.2 51.3 44.1c17.9 10.3 29.9 29.7 29.9 51.9s-12 41.6-29.9 51.8c-3.9 24.9-25.3 44.2-51.3 44.2c-14.2 0-27-5.7-36.4-15c-2.2 .3-4.4 .4-6.6 .4c-27.3 0-49.4-21.1-51.7-47.7l-60.7-18.4c-6.7-2-11.4-8.3-11.4-15.3s4.6-13.3 11.4-15.3l62-18.8c5.5-22.9 25.9-40.1 50.5-40.1l.7 0c9.4-13.2 24.7-21.8 42.2-21.8zm-18.6 44.9c-3 7.7-11.2 11.8-19.2 9.6c-1.6-.5-3.4-.7-5.2-.7c-10.8 0-19.9 8.9-19.9 20.4c0 7-4.6 13.3-11.4 15.3l-21.4 6.5 22.1 6.7c7.8 2.4 12.6 10.3 11.1 18.4c-.2 1.3-.4 2.6-.4 4c0 11.4 9.1 20.4 19.9 20.4c2.5 0 4.8-.4 6.9-1.3c7.1-2.7 15.1 0 19.2 6.4c3.6 5.7 9.8 9.4 16.8 9.4c10.8 0 19.9-8.9 19.9-20.4c0-.4 0-.9 0-1.3c-.4-7.2 4-13.8 10.8-16.1c10.7-3.6 18.5-14 18.5-26.2s-7.8-22.6-18.5-26.2c-6.8-2.3-11.2-8.9-10.8-16.1c0-.4 0-.9 0-1.3c0-11.4-9.1-20.4-19.9-20.4c-8.3 0-15.6 5.2-18.6 12.9z\"]\n};\nvar faSensorFire = {\n prefix: 'fal',\n iconName: 'sensor-fire',\n icon: [640, 512, [], \"e02a\", \"M64 64H384c17.7 0 32 14.3 32 32v41c9.4-6.9 20.9-9.8 32-8.8V96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H337.6c-8.8-9.8-16.5-20.6-23.2-32H64c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32zm64 80c0-8.8-7.2-16-16-16s-16 7.2-16 16V272c0 8.8 7.2 16 16 16s16-7.2 16-16V144zm64 0c0-8.8-7.2-16-16-16s-16 7.2-16 16V272c0 8.8 7.2 16 16 16s16-7.2 16-16V144zm255.1 48.9l47.4 49.8c3.1 3.2 7.4 5 11.9 5s8.7-2 11.7-5.4l21-23.7c16.6 15.9 33.7 37.3 46.7 60.7C599.5 304 608 329.4 608 352c0 33.5-12.7 63.9-33.6 86.6c1-5.2 1.6-10.7 1.6-16.2c0-57.4-63.8-110.5-87.4-128.2c-5.2-3.9-12.1-3.9-17.3 0C447.8 311.9 384 365 384 422.4c0 5.7 .6 11.2 1.6 16.6c-21-22.8-33.6-53.3-33.6-87c0-28.4 12.4-58.2 31.4-86.7c18.4-27.5 42-52.6 63.7-72.3zM480 479.9c-2.4 0-4.7-.1-7-.2c-33.7-3.2-57-29.4-57-57.3c0-17.4 10.1-37.7 27.4-58.5c12.1-14.5 25.8-27 36.6-35.8c10.7 8.8 24.5 21.3 36.6 35.8C533.9 384.7 544 405 544 422.4c0 27.8-23.2 54-56.9 57.3c-2.4 .1-4.7 .2-7.1 .2zM320 352c0 85.6 65.7 155 150.9 159.6c3 .3 6 .4 9.1 .4c3.1 0 6.2-.1 9.2-.4C573.6 506.9 640 437.6 640 352c0-30-11-60.9-26.2-88.1c-15.2-27.4-35.3-52.3-55-70.6c-11.2-10.4-28.5-10.4-39.7-.1c-.4 .4-.8 .7-1.1 1.2l-12.3 13.8-37.9-39.9c-.3-.3-.5-.5-.8-.8c-11.1-10.1-28.1-10.1-39.3-.1c-23.4 21.1-50 48.9-70.9 80.2C336 278.6 320 314.7 320 352z\"]\n};\nvar faUserUnlock = {\n prefix: 'fal',\n iconName: 'user-unlock',\n icon: [640, 512, [], \"e058\", \"M224 224a96 96 0 1 0 0-192 96 96 0 1 0 0 192zM224 0a128 128 0 1 1 0 256A128 128 0 1 1 224 0zM178.3 336c-80 0-145 64.3-146.3 144H384c0 11.7 3.1 22.6 8.6 32H29.7C13.3 512 0 498.7 0 482.3C0 383.8 79.8 304 178.3 304h91.4c43.6 0 83.6 15.7 114.6 41.7c-.2 2.1-.3 4.2-.3 6.3v39c-26.8-33.5-68-55-114.3-55H178.3zM480 272v48h32 64 32c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H448c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32V272c0-44.2 35.8-80 80-80s80 35.8 80 80H576c0-26.5-21.5-48-48-48s-48 21.5-48 48zM448 480H608V352H448V480z\"]\n};\nvar faHexagonDivide = {\n prefix: 'fal',\n iconName: 'hexagon-divide',\n icon: [512, 512, [], \"e1ad\", \"M16 288c-11.4-19.8-11.4-44.2 0-64L108.3 64.2c11.4-19.8 32.6-32 55.4-32H348.3c22.9 0 44 12.2 55.4 32L496 224c11.4 19.8 11.4 44.2 0 64L403.7 447.8c-11.4 19.8-32.6 32-55.4 32H163.7c-22.9 0-44-12.2-55.4-32L16 288zm27.7-48c-5.7 9.9-5.7 22.1 0 32L136 431.8c5.7 9.9 16.3 16 27.7 16H348.3c11.4 0 22-6.1 27.7-16L468.3 272c5.7-9.9 5.7-22.1 0-32L376 80.2c-5.7-9.9-16.3-16-27.7-16l-184.6 0c-11.4 0-22 6.1-27.7 16L43.7 240zM256 136a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM160 240H352c8.8 0 16 7.2 16 16s-7.2 16-16 16H160c-8.8 0-16-7.2-16-16s7.2-16 16-16zm72 112a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar fa00 = {\n prefix: 'fal',\n iconName: '00',\n icon: [640, 512, [], \"e467\", \"M144 32C64.5 32 0 96.5 0 176V336c0 79.5 64.5 144 144 144s144-64.5 144-144V176c0-79.5-64.5-144-144-144zM32 176C32 114.1 82.1 64 144 64s112 50.1 112 112V336c0 61.9-50.1 112-112 112S32 397.9 32 336V176zM496 32c-79.5 0-144 64.5-144 144V336c0 79.5 64.5 144 144 144s144-64.5 144-144V176c0-79.5-64.5-144-144-144zM384 176c0-61.9 50.1-112 112-112s112 50.1 112 112V336c0 61.9-50.1 112-112 112s-112-50.1-112-112V176z\"]\n};\nvar faCrow = {\n prefix: 'fal',\n iconName: 'crow',\n icon: [640, 512, [], \"f520\", \"M25.7 412.7L63.2 384H272.6l48.6 118.1c3.4 8.2 12.7 12.1 20.9 8.7s12.1-12.7 8.7-20.9L307.2 384H320c16 0 31.4-1.9 46.3-5.6l50.9 123.7c3.4 8.2 12.7 12.1 20.9 8.7s12.1-12.7 8.7-20.9L396.6 368.1C464.5 338.5 512 270.8 512 192V144l128-32c0-44.2-35.8-80-80-80H487.6C470 12.4 444.4 0 416 0c-53 0-96 43-96 96v51L52.4 352l-8.6 6.6L6.3 387.3c-7 5.4-8.3 15.4-3 22.4s15.4 8.3 22.4 3zM506.5 64H560c18 0 33.7 9.9 41.9 24.5L512 111V96c0-11.2-1.9-22-5.5-32zM132.7 330.8l186.7-143C313.6 250 268 302.1 205.9 315.2l-73.2 15.5zM320 352H186.8l25.7-5.5c81.3-17.2 139.5-89 139.5-172.2V162.8l0 0V147 96c0-35.3 28.7-64 64-64s64 28.7 64 64v32 64c0 88.4-71.6 160-160 160zM440 96a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faCassetteBetamax = {\n prefix: 'fal',\n iconName: 'cassette-betamax',\n icon: [576, 512, [\"betamax\"], \"f8a4\", \"M32 160V416c0 17.7 14.3 32 32 32H512c17.7 0 32-14.3 32-32V160H32zm0-32H544V96c0-17.7-14.3-32-32-32H64C46.3 64 32 78.3 32 96v32zM576 96v32 16 16V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V160 144 128 96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64zM240 304a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zM80 304a96 96 0 1 1 192 0A96 96 0 1 1 80 304zm72 0a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm200-48v96h96V256H352zm-32 0c0-17.7 14.3-32 32-32h96c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H352c-17.7 0-32-14.3-32-32V256z\"]\n};\nvar faBetamax = faCassetteBetamax;\nvar faSailboat = {\n prefix: 'fal',\n iconName: 'sailboat',\n icon: [576, 512, [], \"e445\", \"M285.1 6.8c-4-5.7-11.3-8.2-17.9-6.1S256 9 256 16V336c0 8.8 7.2 16 16 16H496c6 0 11.4-3.3 14.2-8.6s2.3-11.7-1.1-16.6l-224-320zM288 320V66.8L465.3 320H288zM212.1 96.5c-7-1.9-14.4 1.2-18 7.5l-128 224c-2.8 5-2.8 11 .1 16s8.1 8 13.8 8H208c8.8 0 16-7.2 16-16V112c0-7.3-4.9-13.6-11.9-15.5zM107.6 320L192 172.2V320H107.6zM42.5 416H533.5c-13.5 38.1-49.6 64-90.5 64H133c-40.9 0-77-25.9-90.5-64zM21.1 384c-10.6 0-18.3 10.1-15.4 20.3l4 14.3C25.3 473.9 75.6 512 133 512H443c57.3 0 107.7-38.1 123.2-93.3l4-14.3c2.9-10.2-4.8-20.3-15.4-20.3H21.1z\"]\n};\nvar faWindowRestore = {\n prefix: 'fal',\n iconName: 'window-restore',\n icon: [512, 512, [], \"f2d2\", \"M432 32H208c-26.5 0-48 21.5-48 48V96H128V80c0-44.2 35.8-80 80-80H432c44.2 0 80 35.8 80 80V304c0 44.2-35.8 80-80 80H416V352h16c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM320 160H64c-17.7 0-32 14.3-32 32v64H352V192c0-17.7-14.3-32-32-32zM32 448c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32V288H32V448zM64 128H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192c0-35.3 28.7-64 64-64z\"]\n};\nvar faNfcMagnifyingGlass = {\n prefix: 'fal',\n iconName: 'nfc-magnifying-glass',\n icon: [640, 512, [], \"e1f9\", \"M384 64H64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H352c16.6 12.5 35.8 21.8 56.6 27.1c-7.6 3.2-15.9 4.9-24.6 4.9H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64v64c-11 0-21.7 1.1-32 3.2V96c0-17.7-14.3-32-32-32zm0 64v45.3c-11.4 5-22.2 11.3-32 18.7V128H240v82.7c18.6 6.6 32 24.4 32 45.3c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3V128c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32zM320 416H96c-17.7 0-32-14.3-32-32V128c0-17.7 14.3-32 32-32h48c8.8 0 16 7.2 16 16s-7.2 16-16 16l-48 0V384H301.3c5 11.4 11.3 22.2 18.7 32zM224 240a16 16 0 1 0 0 32 16 16 0 1 0 0-32zM448 416.2a96 96 0 1 0 0-192 96 96 0 1 0 0 192zm0 32c-70.7 0-128-57.3-128-128s57.3-128 128-128s128 57.3 128 128c0 29.6-10 56.8-26.9 78.5l86.2 86.2c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-86.2-86.2c-21.7 16.9-48.9 26.9-78.5 26.9z\"]\n};\nvar faFileBinary = {\n prefix: 'fal',\n iconName: 'file-binary',\n icon: [384, 512, [], \"e175\", \"M320 480H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H192V144c0 26.5 21.5 48 48 48H352V448c0 17.7-14.3 32-32 32zM240 160c-8.8 0-16-7.2-16-16V32.5c2.8 .7 5.4 2.1 7.4 4.2L347.3 152.6c2.1 2.1 3.5 4.6 4.2 7.4H240zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V163.9c0-12.7-5.1-24.9-14.1-33.9L254.1 14.1c-9-9-21.2-14.1-33.9-14.1H64zm48 256c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48h32c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48H112zM96 304c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V304zm144-48c-8.8 0-16 7.2-16 16s7.2 16 16 16h16v96H240c-8.8 0-16 7.2-16 16s7.2 16 16 16h32 32c8.8 0 16-7.2 16-16s-7.2-16-16-16H288V272c0-8.8-7.2-16-16-16H240z\"]\n};\nvar faCircleV = {\n prefix: 'fal',\n iconName: 'circle-v',\n icon: [512, 512, [], \"e12a\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM158.3 152.8c-4-7.9-13.6-11.1-21.5-7.2s-11.1 13.6-7.2 21.5l112 224c2.7 5.4 8.3 8.8 14.3 8.8s11.6-3.4 14.3-8.8l112-224c4-7.9 .7-17.5-7.2-21.5s-17.5-.7-21.5 7.2L256 348.2 158.3 152.8z\"]\n};\nvar faSquarePlus = {\n prefix: 'fal',\n iconName: 'square-plus',\n icon: [448, 512, [61846, \"plus-square\"], \"f0fe\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM208 352V272H128c-8.8 0-16-7.2-16-16s7.2-16 16-16h80V160c0-8.8 7.2-16 16-16s16 7.2 16 16v80h80c8.8 0 16 7.2 16 16s-7.2 16-16 16H240v80c0 8.8-7.2 16-16 16s-16-7.2-16-16z\"]\n};\nvar faPlusSquare = faSquarePlus;\nvar faBowlScoops = {\n prefix: 'fal',\n iconName: 'bowl-scoops',\n icon: [448, 512, [127813], \"e3df\", \"M335.3 64.7c-5-.5-10.1-.7-15.3-.7c-7.8 0-15.5 .6-23 1.6C279.4 45.1 253.2 32 224 32s-55.4 13.1-73 33.6c-7.5-1.1-15.2-1.6-23-1.6c-5.2 0-10.3 .2-15.3 .7C134.7 26.1 176.3 0 224 0s89.3 26.1 111.3 64.7zM200 118.2c-7.1 8-13.3 16.7-18.7 26C166.1 134 147.7 128 128 128c-53 0-96 43-96 96H0C0 153.3 57.3 96 128 96c26.7 0 51.5 8.2 72 22.2zM448 224H416c0-53-43-96-96-96s-96 43-96 96H192c0-70.7 57.3-128 128-128s128 57.3 128 128zm-2.1 65.9c-8.5 67.9-63.4 119.9-130.5 125.6c-4.1 .3-8.2 .5-12.4 .5H274.2l26.7 32 31.5 37.8c4 4.8 4.8 11.4 2.2 17s-8.3 9.2-14.5 9.2H128c-6.2 0-11.9-3.6-14.5-9.2s-1.8-12.3 2.2-17L147.2 448l26.7-32H145c-4.2 0-8.3-.2-12.4-.5c-67.1-5.7-122-57.7-130.5-125.6L.1 274c-.6-4.6 .8-9.1 3.9-12.6s7.4-5.4 12-5.4H432c4.6 0 9 2 12 5.4s4.5 8 3.9 12.6l-2 15.9zM34.1 288c7.9 55 55.1 96 110.9 96h28.8 32 36.3 32H303c55.8 0 102.9-41 110.9-96H34.1zM198.4 436.5L162.2 480H285.8l-36.3-43.5L224 405.8l-25.6 30.7z\"]\n};\nvar faMistletoe = {\n prefix: 'fal',\n iconName: 'mistletoe',\n icon: [576, 512, [], \"f7b4\", \"M288 0c8.8 0 16 7.2 16 16V89.4l91.3 91.3c.2 .2 .4 .5 .6 .7l5.9 1.1 82.9 15.9C537.7 208.6 576 255 576 309c0 41.4-33.6 75-75 75c-54 0-100.3-38.3-110.5-91.3l-15.9-82.9-1.1-5.9c-.2-.2-.5-.4-.7-.7L304 134.6V277.3l4 5.3 56.8 75.7C377.3 375 384 395.2 384 416c0 53-43 96-96 96s-96-43-96-96c0-20.8 6.7-41 19.2-57.6L268 282.7l4-5.3V134.6l-68.7 68.7c-.2 .2-.5 .4-.7 .7l-1.1 5.9-.4 2.2c-7.9-2.6-16.3-4-25.1-4c-18 0-34.6 5.9-48 16l-30.7 5.9C59.4 237.2 32 270.3 32 309c0 23.8 19.3 43 43 43c14.8 0 28.8-4 40.9-11.2c7.5 8.5 16.8 15.4 27.3 20.2c-19.1 14.5-42.8 23-68.2 23c-41.4 0-75-33.6-75-75c0-54 38.3-100.3 91.3-110.5l82.9-15.9 5.9-1.1c.2-.2 .4-.5 .7-.7L272 89.4V16c0-8.8 7.2-16 16-16zM478.7 229.9l-70.3-13.5 13.5 70.3c7.3 37.9 40.5 65.3 79.1 65.3c23.8 0 43-19.3 43-43c0-38.6-27.4-71.8-65.3-79.1zM236.8 377.6C228.5 388.7 224 402.2 224 416c0 35.3 28.7 64 64 64s64-28.7 64-64c0-13.8-4.5-27.3-12.8-38.4L288 309.3l-51.2 68.3zM368 64a16 16 0 1 0 32 0 16 16 0 1 0 -32 0zm16 48a48 48 0 1 1 0-96 48 48 0 1 1 0 96zM176 272a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm48 16a48 48 0 1 1 -96 0 48 48 0 1 1 96 0z\"]\n};\nvar faCustard = {\n prefix: 'fal',\n iconName: 'custard',\n icon: [576, 512, [127854], \"e403\", \"M49.8 384l66.3-271.2c7-28.6 32.7-48.8 62.2-48.8H397.8c29.5 0 55.2 20.2 62.2 48.8L526.2 384H493.3L452.7 218c-18.1-5.7-37.2-10-52.7-10c-18.7 0-32.3 6.4-49.1 14.4l-.7 .3C333.8 230.6 314.4 240 288 240s-45.8-9.4-62.2-17.2l-.7-.3c-16.7-8-30.4-14.4-49.1-14.4c-15.5 0-34.6 4.4-52.7 10L82.7 384H49.8zM132 182.3c14.7-3.7 30-6.3 44-6.3c26.4 0 45.8 9.4 62.2 17.2l.7 .3c16.7 8 30.4 14.4 49.1 14.4s32.3-6.4 49.1-14.4l.7-.3c16.4-7.9 35.8-17.2 62.2-17.2c14 0 29.3 2.6 44 6.3l-15.1-61.9C425.3 106.1 412.5 96 397.8 96H178.2c-14.7 0-27.6 10.1-31.1 24.4L132 182.3zM0 432c0-8.8 7.2-16 16-16H560c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16-7.2-16-16z\"]\n};\nvar faLacrosseStick = {\n prefix: 'fal',\n iconName: 'lacrosse-stick',\n icon: [512, 512, [], \"e3b5\", \"M344 32v0l.2 0 .2 0c28.8 0 62.8 18.4 90 45.6c27.2 27.2 45.6 61.2 45.6 90.1l0 .1 0 .2 0 .1c0 44.3-28.4 83.6-70.4 97.6l0 0-.8 .3-1.8 .6c-18.7 6.2-42.9 14.3-64 31.5l-42 34.4c-15.4 12.6-34.7 19.5-54.7 19.5c-47.7 0-86.3-38.7-86.3-86.3c0-19.9 6.9-39.2 19.5-54.7l34.4-42c17.3-21.1 25.4-45.4 31.6-64.2l.8-2.4C260.3 60.4 299.7 32 344 32zM457 55C426.8 24.8 385.1 0 344.3 0L344 0C285.9 0 234.3 37.2 215.9 92.3l-.3 .8 0 0c-6.6 19.8-13 39.1-26.5 55.6l-34.4 42c-17.3 21.1-26.7 47.6-26.7 74.9c0 26.9 9 51.7 24.1 71.6L4.7 484.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L174.7 359.9C194.6 375 219.4 384 246.3 384c27.3 0 53.8-9.4 74.9-26.7l42-34.4c16.5-13.5 35.8-19.9 55.6-26.5l.8-.3c55.1-18.4 92.3-70 92.3-128.1l0-.3c0-40.8-24.8-82.5-55-112.7z\"]\n};\nvar faHockeyMask = {\n prefix: 'fal',\n iconName: 'hockey-mask',\n icon: [448, 512, [], \"f6ee\", \"M32 240c0-59.7 14.9-111.7 44.7-148.1C105.8 56.5 152.1 32 224 32s118.2 24.5 147.3 59.9C401.1 128.3 416 180.3 416 240c0 95.4-12.4 153.6-39.3 188.4C351.6 460.9 308 480 224 480s-127.6-19.1-152.7-51.6C44.4 393.6 32 335.4 32 240zM224 0C64 0 0 111 0 240C0 432 48 512 224 512s224-80 224-272C448 111 384 0 224 0zM160 208c0 17.7-14.3 32-32 32s-32-14.3-32-32V192h64v16zm-32 64c35.3 0 64-28.7 64-64V192c0-17.7-14.3-32-32-32H96c-17.7 0-32 14.3-32 32v16c0 35.3 28.7 64 64 64zm192-32c-17.7 0-32-14.3-32-32V192h64v16c0 17.7-14.3 32-32 32zm64-32V192c0-17.7-14.3-32-32-32H288c-17.7 0-32 14.3-32 32v16c0 35.3 28.7 64 64 64s64-28.7 64-64zM176 112a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm64 32a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM208 304a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm0 64a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-16 80a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm64 0a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm0-64a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm0-64a16 16 0 1 0 0-32 16 16 0 1 0 0 32zM288 96a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faSunrise = {\n prefix: 'fal',\n iconName: 'sunrise',\n icon: [576, 512, [127749], \"f766\", \"M276.7 4.7c6.2-6.2 16.4-6.2 22.6 0l96 96c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L304 54.6V208c0 8.8-7.2 16-16 16s-16-7.2-16-16V54.6l-68.7 68.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l96-96zM393.5 225.2c5 2.1 8.6 6.6 9.6 11.9L423 345l107.9 19.8c5.3 1 9.8 4.6 11.9 9.6s1.5 10.7-1.6 15.2L500.9 448H462.1l38.7-56.2-94.5-17.4c-6.5-1.2-11.6-6.3-12.8-12.8l-17.4-94.5-79.1 54.5c-5.5 3.8-12.7 3.8-18.2 0l-79.1-54.5-17.4 94.5c-1.2 6.5-6.3 11.6-12.8 12.8L75.2 391.8 113.9 448H75.1L34.8 389.7c-3.1-4.5-3.7-10.2-1.6-15.2s6.6-8.6 11.9-9.6L153 345l19.8-107.9c1-5.3 4.6-9.8 9.6-11.9s10.7-1.5 15.2 1.6L288 289.1l90.3-62.3c4.5-3.1 10.2-3.7 15.2-1.6zM412 448H378.5c-13.2-37.3-48.7-64-90.5-64s-77.4 26.7-90.5 64H164c14.2-55.2 64.3-96 124-96s109.8 40.8 124 96zM16 480H560c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faSubtitles = {\n prefix: 'fal',\n iconName: 'subtitles',\n icon: [576, 512, [], \"e60f\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H512c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM112 256H304c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm256 0h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H368c-8.8 0-16-7.2-16-16s7.2-16 16-16zM112 352h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm160 0H464c8.8 0 16 7.2 16 16s-7.2 16-16 16H272c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faPanelEws = {\n prefix: 'fal',\n iconName: 'panel-ews',\n icon: [512, 512, [], \"e42e\", \"M64 32C46.3 32 32 46.3 32 64V289.6C68.5 297 96 329.3 96 368v16c0 17.7 14.3 32 32 32s32-14.3 32-32V352H144c-17.7 0-32-14.3-32-32V256c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H192v32c0 35.3-28.7 64-64 64s-64-28.7-64-64V368c0-20.9-13.4-38.7-32-45.3V448c0 17.7 14.3 32 32 32H448c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H64zM0 64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM112 80h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm192 0h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H304c-8.8 0-16-7.2-16-16s7.2-16 16-16zM112 144h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm192 0h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H304c-8.8 0-16-7.2-16-16s7.2-16 16-16zM208 320V256H144v64h32 32zm112-64V416h64V256H320zm-32 0c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H320c-17.7 0-32-14.3-32-32V256z\"]\n};\nvar faToriiGate = {\n prefix: 'fal',\n iconName: 'torii-gate',\n icon: [512, 512, [9961], \"f6a1\", \"M32 112c0 17.7 14.3 32 32 32l176 0h32l176 0c17.7 0 32-14.3 32-32V40.9l-23.5 9.4C433.8 59.3 409.6 64 385.2 64H126.8c-24.4 0-48.6-4.7-71.3-13.7L32 40.9V112zm208 64H96v80l144 0V176zM64 176c-35.3 0-64-28.7-64-64V13.4C0 6 6 0 13.4 0c1.7 0 3.4 .3 5 1l49 19.6C86.3 28.1 106.5 32 126.8 32H385.2c20.4 0 40.5-3.9 59.4-11.4L493.6 1c1.6-.6 3.3-1 5-1C506 0 512 6 512 13.4V112c0 35.3-28.7 64-64 64v80h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H448V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V288l-160 0L96 288V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V288H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H64V176zm352 0H272v80l144 0V176z\"]\n};\nvar faCloudExclamation = {\n prefix: 'fal',\n iconName: 'cloud-exclamation',\n icon: [640, 512, [], \"e491\", \"M389.8 125.2C363.7 88.1 320.7 64 272 64c-77.4 0-140.5 61-143.9 137.5c-.6 13-9 24.4-21.3 28.8C63.2 245.7 32 287.2 32 336c0 61.9 50.1 112 112 112H512c53 0 96-43 96-96c0-36.8-20.7-68.8-51.2-84.9c-13.4-7.1-20-22.5-15.8-37.1c2-6.9 3-14.3 3-22c0-44.2-35.8-80-80-80c-12.3 0-23.9 2.8-34.3 7.7c-14.1 6.7-30.9 2.3-39.9-10.5zM272 32c59.5 0 112.1 29.5 144 74.8C430.5 99.9 446.8 96 464 96c61.9 0 112 50.1 112 112c0 10.7-1.5 21-4.3 30.8C612.3 260.2 640 302.9 640 352c0 70.7-57.3 128-128 128H144C64.5 480 0 415.5 0 336c0-62.8 40.2-116.1 96.2-135.9C100.3 106.6 177.4 32 272 32zm48 128c8.8 0 16 7.2 16 16V304c0 8.8-7.2 16-16 16s-16-7.2-16-16V176c0-8.8 7.2-16 16-16zM296 384a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faMessageLines = {\n prefix: 'fal',\n iconName: 'message-lines',\n icon: [512, 512, [\"comment-alt-lines\"], \"f4a6\", \"M192 416c0-17.7-14.3-32-32-32H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H448c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H309.3c-6.9 0-13.7 2.2-19.2 6.4L192 464V416zM64 0C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h64 32v32 48c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L309.3 416H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zm80 144c-8.8 0-16 7.2-16 16s7.2 16 16 16H368c8.8 0 16-7.2 16-16s-7.2-16-16-16H144zm0 96c-8.8 0-16 7.2-16 16s7.2 16 16 16H272c8.8 0 16-7.2 16-16s-7.2-16-16-16H144z\"]\n};\nvar faCommentAltLines = faMessageLines;\nvar faFrog = {\n prefix: 'fal',\n iconName: 'frog',\n icon: [576, 512, [], \"f52e\", \"M368 64c-26.5 0-48 21.5-48 48c0 .6 0 1.1-.1 1.7c-.8 8-7.6 14.3-15.9 14.3h-3.2C152.3 128 32 248.3 32 396.8V416c0 17.7 14.3 32 32 32H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H304c-4.1 0-8.2-1.6-11.3-4.7c-6.2-6.2-6.2-16.4 0-22.6l8.8-8.8c1.7-1.7 3.2-3.4 4.7-5.3c8.9-11.1 13.8-25 13.8-39.4c0-12.5-3.7-24.2-9.9-34c-11.2-17.5-30.9-29.2-53.3-29.2c-16.8 0-32.8 6.7-44.7 18.5l-40.8 40.8c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l40.8-40.8C207.3 250 231.6 240 256.8 240c20.7 0 39.9 6.6 55.5 17.9c24 17.3 39.7 45.5 39.7 77.3c0 17.4-4.7 34.2-13.5 48.9c25.3 1.3 45.5 22.3 45.5 47.9c0 26.5-21.5 48-48 48H64c-35.3 0-64-28.7-64-64V396.8C0 234.4 128.6 102.1 289.6 96.2C296.9 59.6 329.2 32 368 32c41.4 0 75.4 31.4 79.6 71.7c38.1 7.3 69.1 18.5 90.1 27.6C562.6 142 576 166.7 576 192c0 25.5-13.4 49.1-35.2 62.2L423.7 324.4 519.8 448H560c8.8 0 16 7.2 16 16s-7.2 16-16 16H512c-4.9 0-9.6-2.3-12.6-6.2l-112-144c-2.8-3.6-3.9-8.3-3.1-12.8s3.6-8.4 7.5-10.8l132.6-79.5c12.2-7.3 19.7-20.5 19.7-34.7c0-14.4-7.5-26.4-19-31.4c-21.5-9.3-54.8-21.1-95.7-27.7c-8.2-1.3-14.1-8.7-13.4-17.1c.1-1.3 .2-2.6 .2-3.9c0-26.5-21.5-48-48-48zm0 32a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faBucket = {\n prefix: 'fal',\n iconName: 'bucket',\n icon: [448, 512, [], \"e4cf\", \"M96 144c0 8.8-7.2 16-16 16s-16-7.2-16-16C64 64.5 128.5 0 208 0h32c79.5 0 144 64.5 144 144c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-61.9-50.1-112-112-112H208C146.1 32 96 82.1 96 144zM0 208c0-8.8 7.2-16 16-16h8H56.2 391.8 424h8c8.8 0 16 7.2 16 16s-7.2 16-16 16H420L389.3 470c-3 24-23.4 42-47.6 42H106.4c-24.2 0-44.6-18-47.6-42L28 224H16c-8.8 0-16-7.2-16-16zm60.2 16L90.5 466c1 8 7.8 14 15.9 14H341.6c8.1 0 14.9-6 15.9-14l30.2-242H60.2z\"]\n};\nvar faFloppyDiskPen = {\n prefix: 'fal',\n iconName: 'floppy-disk-pen',\n icon: [576, 512, [], \"e182\", \"M32 96V416c0 17.7 14.3 32 32 32H266.3l-8 32H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H309.5c17 0 33.3 6.7 45.3 18.7l74.5 74.5c12 12 18.7 28.3 18.7 45.3v49.7l-32 32V170.5c0-8.5-3.4-16.6-9.4-22.6L332.1 73.4c-3.4-3.4-7.6-6-12.1-7.6V160c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32l0-96C46.3 64 32 78.3 32 96zM96 64v96H288V64H96zm80 256a48 48 0 1 0 96 0 48 48 0 1 0 -96 0zm48 80a80 80 0 1 1 0-160 80 80 0 1 1 0 160zM518.8 264.1c-6.2-6.2-16.4-6.2-22.6 0L471.3 289l40 40 24.8-24.8c6.2-6.2 6.2-16.4 0-22.6l-17.4-17.4zM342.5 417.8c-2.1 2.1-3.5 4.6-4.2 7.4l-12.3 49L375 462c2.8-.7 5.4-2.2 7.4-4.2L488.7 351.6l-40-40L342.5 417.8zM473.5 241.5c18.7-18.7 49.1-18.7 67.9 0l17.4 17.4c18.7 18.7 18.7 49.1 0 67.9L405.1 480.5c-6.2 6.2-13.9 10.5-22.3 12.6l-74.9 18.7c-5.5 1.4-11.2-.2-15.2-4.2s-5.6-9.7-4.2-15.2l18.7-74.9c2.1-8.4 6.5-16.1 12.6-22.3L473.5 241.5z\"]\n};\nvar faImage = {\n prefix: 'fal',\n iconName: 'image',\n icon: [512, 512, [], \"f03e\", \"M64 64C46.3 64 32 78.3 32 96V329.4l67.7-67.7c15.6-15.6 40.9-15.6 56.6 0L224 329.4 355.7 197.7c15.6-15.6 40.9-15.6 56.6 0L480 265.4V96c0-17.7-14.3-32-32-32H64zM32 374.6V416c0 17.7 14.3 32 32 32h41.4l96-96-67.7-67.7c-3.1-3.1-8.2-3.1-11.3 0L32 374.6zM389.7 220.3c-3.1-3.1-8.2-3.1-11.3 0L150.6 448H448c17.7 0 32-14.3 32-32V310.6l-90.3-90.3zM0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm160 48a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-64 0a48 48 0 1 1 96 0 48 48 0 1 1 -96 0z\"]\n};\nvar faWindowFrame = {\n prefix: 'fal',\n iconName: 'window-frame',\n icon: [512, 512, [129695], \"e04f\", \"M240 288V480H64V288H240zm32 192V288H448V480H272zm208 0V64c0-35.3-28.7-64-64-64H96C60.7 0 32 28.7 32 64V480H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H32 64 448h32 16c8.8 0 16-7.2 16-16s-7.2-16-16-16H480zM448 256H272V32H416c17.7 0 32 14.3 32 32V256zM96 32H240V256H64V64c0-17.7 14.3-32 32-32z\"]\n};\nvar faMicrophone = {\n prefix: 'fal',\n iconName: 'microphone',\n icon: [384, 512, [], \"f130\", \"M256 96V256c0 35.3-28.7 64-64 64s-64-28.7-64-64V96c0-35.3 28.7-64 64-64s64 28.7 64 64zM96 96V256c0 53 43 96 96 96s96-43 96-96V96c0-53-43-96-96-96S96 43 96 96zM64 208c0-8.8-7.2-16-16-16s-16 7.2-16 16v48c0 83 63.1 151.2 144 159.2V480H112c-8.8 0-16 7.2-16 16s7.2 16 16 16h80 80c8.8 0 16-7.2 16-16s-7.2-16-16-16H208V415.2c80.9-8 144-76.2 144-159.2V208c0-8.8-7.2-16-16-16s-16 7.2-16 16v48c0 70.7-57.3 128-128 128s-128-57.3-128-128V208z\"]\n};\nvar faCow = {\n prefix: 'fal',\n iconName: 'cow',\n icon: [640, 512, [128004], \"f6c8\", \"M128 144V408c0 4.4 3.6 8 8 8h32c4.4 0 8-3.6 8-8V352.2v-.5V336c0-53 43-96 96-96s96 43 96 96v15.8 .5V408c0 4.4 3.6 8 8 8h32c4.4 0 8-3.6 8-8V240c0-5.5 2.9-10.7 7.6-13.6s10.6-3.2 15.6-.7l64 32c5.4 2.7 8.8 8.3 8.8 14.3v62.7c0 3 .9 6 2.5 8.6l37.3 58.6c5.6 8.8 15.3 14.1 25.7 14.1c16.8 0 30.5-13.6 30.5-30.5V298c0-3.3-1-6.4-2.8-9.1L594.8 274c-1.9-2.7-2.8-5.9-2.8-9.1V200c0-4.4-3.6-8-8-8c-4 0-7.3 2.9-7.9 6.7c-1.1 6.4-5.9 11.6-12.3 13s-12.9-1.1-16.7-6.5l-51.7-74.7C480.5 108.9 456 96 429.7 96h-30c-1.9 26.9-13.4 52.3-32.5 71.4l-3.1 3.1c-24 24-56.6 37.5-90.5 37.5h-3.2c-33.9 0-66.5-13.5-90.5-37.5l-3.1-3.1c-16.6-16.6-27.4-37.8-31.2-60.5C134.8 115.7 128 129 128 144zm71.4 .8l3.1 3.1c18 18 42.4 28.1 67.9 28.1h3.2c25.5 0 49.9-10.1 67.9-28.1l3.1-3.1c13.2-13.2 21.3-30.4 23.1-48.8H176.4c1.8 18.4 9.9 35.6 23.1 48.8zm8.6 231V408c0 22.1-17.9 40-40 40H136c-22.1 0-40-17.9-40-40V144c0-18 6-34.6 16-48c-26.5 0-48 21.5-48 48v80 16 28.8C64 297.1 41.1 320 12.8 320C5.7 320 0 314.3 0 307.2V288c0-23.7 12.9-44.4 32-55.4V144c0-44.2 35.8-80 80-80h64H429.7c36.8 0 71.2 18 92.1 48.2l38.5 55.6c6.6-4.9 14.9-7.8 23.7-7.8c22.1 0 40 17.9 40 40v59.9l7.5 10.8c5.6 8 8.5 17.6 8.5 27.3v87.5c0 34.5-28 62.5-62.5 62.5c-21.4 0-41.2-10.9-52.7-28.9l-37.3-58.6c-4.9-7.7-7.5-16.6-7.5-25.8V281.9l-32-16V408c0 22.1-17.9 40-40 40H376c-22.1 0-40-17.9-40-40V375.8c-6.6 2-14.6 3.8-24 5.3V392c0 8.8-7.2 16-16 16s-16-7.2-16-16v-8.1c-2.6 .1-5.3 .1-8 .1s-5.4 0-8-.1V392c0 8.8-7.2 16-16 16s-16-7.2-16-16V381.1c-9.4-1.5-17.4-3.3-24-5.3zm0-33.8c2.1 .8 4.7 1.8 7.7 2.7c11.4 3.5 29.8 7.3 56.3 7.3s44.9-3.8 56.3-7.3c3-.9 5.6-1.9 7.7-2.7v-6c0-35.3-28.7-64-64-64s-64 28.7-64 64v6zm344-22a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faFileZip = {\n prefix: 'fal',\n iconName: 'file-zip',\n icon: [512, 512, [], \"e5ee\", \"M64 480h96v32H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H220.1c12.7 0 24.9 5.1 33.9 14.1L369.9 129.9c9 9 14.1 21.2 14.1 33.9V288H352V192H240c-26.5 0-48-21.5-48-48V32H64C46.3 32 32 46.3 32 64V448c0 17.7 14.3 32 32 32zM351.5 160c-.7-2.8-2.1-5.4-4.2-7.4L231.4 36.7c-2.1-2.1-4.6-3.5-7.4-4.2V144c0 8.8 7.2 16 16 16H351.5zM240 352h64c5.5 0 10.7 2.9 13.6 7.6s3.2 10.6 .7 15.6L265.9 480H304c8.8 0 16 7.2 16 16s-7.2 16-16 16H240c-5.5 0-10.7-2.9-13.6-7.6s-3.2-10.6-.7-15.6L278.1 384H240c-8.8 0-16-7.2-16-16s7.2-16 16-16zm144 16V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V368c0-8.8 7.2-16 16-16s16 7.2 16 16zm32 0c0-8.8 7.2-16 16-16h24c30.9 0 56 25.1 56 56s-25.1 56-56 56h-8v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V448 368zm32 64h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8v48z\"]\n};\nvar faSquareRing = {\n prefix: 'fal',\n iconName: 'square-ring',\n icon: [448, 512, [], \"e44f\", \"M384 64c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm160 96a128 128 0 1 1 0 256 128 128 0 1 1 0-256zm0 288a160 160 0 1 0 0-320 160 160 0 1 0 0 320zM160 256a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zm160 0a96 96 0 1 0 -192 0 96 96 0 1 0 192 0z\"]\n};\nvar faDownFromLine = {\n prefix: 'fal',\n iconName: 'down-from-line',\n icon: [384, 512, [\"arrow-alt-from-top\"], \"f349\", \"M190.2 447.2c.5 .5 1.1 .8 1.8 .8s1.4-.3 1.8-.8L318.2 315.3c1.2-1.2 1.8-2.9 1.8-4.6c0-3.7-3-6.7-6.7-6.7L256 304c-8.8 0-16-7.2-16-16l0-120c0-4.4-3.6-8-8-8l-80 0c-4.4 0-8 3.6-8 8l0 120c0 8.8-7.2 16-16 16l-57.3 0c-3.7 0-6.7 3-6.7 6.7c0 1.7 .7 3.3 1.8 4.6L190.2 447.2zM192 480c-9.5 0-18.6-3.9-25.1-10.8L42.5 337.2C35.8 330 32 320.5 32 310.7C32 289.3 49.3 272 70.7 272l41.3 0 0-104c0-22.1 17.9-40 40-40l80 0c22.1 0 40 17.9 40 40l0 104 41.3 0c21.4 0 38.7 17.3 38.7 38.7c0 9.9-3.8 19.4-10.5 26.5L217.1 469.2c-6.5 6.9-15.6 10.8-25.1 10.8zM16 32l352 0c8.8 0 16 7.2 16 16s-7.2 16-16 16L16 64C7.2 64 0 56.8 0 48s7.2-16 16-16z\"]\n};\nvar faArrowAltFromTop = faDownFromLine;\nvar faCaretUp = {\n prefix: 'fal',\n iconName: 'caret-up',\n icon: [320, 512, [], \"f0d8\", \"M154.4 162.2c1.4-1.3 3.5-2.2 5.6-2.2s4.2 .8 5.6 2.2L285.8 275.7c1.4 1.3 2.2 3.2 2.2 5.2c0 3.9-3.2 7.1-7.1 7.1H39.1c-3.9 0-7.1-3.2-7.1-7.1c0-2 .8-3.8 2.2-5.2L154.4 162.2zm-22-23.3L12.3 252.4C4.4 259.8 0 270.1 0 280.9C0 302.5 17.5 320 39.1 320H280.9c21.6 0 39.1-17.5 39.1-39.1c0-10.8-4.4-21.1-12.3-28.4L187.6 138.9c-7.4-7-17.3-10.9-27.6-10.9s-20.1 3.9-27.6 10.9z\"]\n};\nvar faShieldXmark = {\n prefix: 'fal',\n iconName: 'shield-xmark',\n icon: [512, 512, [\"shield-times\"], \"e24c\", \"M243.5 37.3c8-3.4 17-3.4 25 0l176.7 75c11.3 4.8 18.9 15.5 18.8 27.6c-.5 94-39.4 259.8-195.5 334.5c-7.9 3.8-17.2 3.8-25.1 0C87.3 399.6 48.5 233.8 48 139.8c-.1-12.1 7.5-22.8 18.8-27.6l176.7-75zM281 7.8c-16-6.8-34-6.8-50 0L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.7 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2L281 7.8zM180.7 180.7c-6.2 6.2-6.2 16.4 0 22.6L233.4 256l-52.7 52.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L256 278.6l52.7 52.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L278.6 256l52.7-52.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L256 233.4l-52.7-52.7c-6.2-6.2-16.4-6.2-22.6 0z\"]\n};\nvar faShieldTimes = faShieldXmark;\nvar faScrewdriver = {\n prefix: 'fal',\n iconName: 'screwdriver',\n icon: [512, 512, [129691], \"f54a\", \"M447.3 34.6l30.1 30.1L404.1 160H352V107.9l95.3-73.3zM342.7 192c.4 0 .9 0 1.3 0h64c7.5 0 14.5-3.5 19-9.4l80-104c7.4-9.6 6.5-23.1-2.1-31.6L465 7c-8.5-8.5-22-9.4-31.6-2.1l-104 80c-5.9 4.5-9.4 11.6-9.4 19v64c0 .4 0 .9 0 1.3l-78.9 78.9c4.2 3.2 8.3 6.6 12.1 10.5s7.3 7.9 10.5 12.1L342.7 192zM208 304c17.7 17.7 17.7 46.3 0 64L96 480 32 416 144 304c17.7-17.7 46.3-17.7 64 0zm-86.6-22.6l-112 112c-12.5 12.5-12.5 32.8 0 45.3l64 64c12.5 12.5 32.8 12.5 45.3 0l112-112c30.2-30.2 30.2-79.1 0-109.3s-79.1-30.2-109.3 0z\"]\n};\nvar faCircleSortDown = {\n prefix: 'fal',\n iconName: 'circle-sort-down',\n icon: [512, 512, [\"sort-circle-down\"], \"e031\", \"M32 256a224 224 0 1 1 448 0A224 224 0 1 1 32 256zm480 0A256 256 0 1 0 0 256a256 256 0 1 0 512 0zM244.7 411.3c6.2 6.2 16.4 6.2 22.6 0l96-96c4.6-4.6 5.9-11.5 3.5-17.4s-8.3-9.9-14.8-9.9l-192 0c-6.5 0-12.3 3.9-14.8 9.9s-1.1 12.9 3.5 17.4l96 96zM198.6 320l114.7 0L256 377.4 198.6 320zM148.7 196.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L256 134.6l84.7 84.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-96-96c-6.2-6.2-16.4-6.2-22.6 0l-96 96z\"]\n};\nvar faSortCircleDown = faCircleSortDown;\nvar faFolderClosed = {\n prefix: 'fal',\n iconName: 'folder-closed',\n icon: [512, 512, [], \"e185\", \"M32 96c0-17.7 14.3-32 32-32H188.1c8.5 0 16.6 3.4 22.6 9.4l35.9 35.9c12 12 28.3 18.7 45.3 18.7H448c17.7 0 32 14.3 32 32v32H32V96zm0 128H480V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V224zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H291.9c-8.5 0-16.6-3.4-22.6-9.4L233.4 50.7c-12-12-28.3-18.7-45.3-18.7H64z\"]\n};\nvar faHouseTsunami = {\n prefix: 'fal',\n iconName: 'house-tsunami',\n icon: [576, 512, [], \"e515\", \"M32 200c0-92 78.8-168 177.9-168c20.6 0 40.4 3.3 58.7 9.4c8.4 2.8 17.4-1.8 20.2-10.2s-1.8-17.4-10.2-20.2C257.1 3.9 233.9 0 209.9 0C94.8 0 0 88.8 0 200C0 309.1 74 400 191.2 400c.1 0 .2 0 .3 0c.3 0 .6 0 .9 0c.2 0 .4 0 .6 0c29.9-.3 56.7-14.2 75.1-26.8c7.9-5.4 14.6-10.8 19.8-15.3c5.1 4.5 11.9 9.9 19.8 15.3C326.4 385.9 353.7 400 384 400s57.5-14.1 76.2-26.8c7.9-5.4 14.6-10.8 19.8-15.3c5.1 4.5 11.9 9.9 19.8 15.3c15 10.2 35.4 21.2 58.5 25.2c9.7 1.7 17.7-6.4 17.7-16.2c0-7.9-6.4-14.1-14.1-15.7c-16-3.1-31.3-11.1-44.1-19.8c-9.8-6.7-18-14-26-21.9c-6.6-6.5-17.2-6.5-23.7 0c-7.9 7.9-16.1 15.2-25.9 21.9C425.6 358 404.9 368 384 368s-41.7-9.9-58.2-21.2c-9.8-6.7-18-14-26-21.9c-6.6-6.5-17.2-6.5-23.7 0c-7.9 7.9-16.1 15.2-25.9 21.9C233.6 358 212.9 368 192 368v0c-66.4-.3-120-53.9-120-120c0-66.2 53.9-120 120.5-120c18.3 0 35.6 4 51 11.3c8 3.7 17.5 .3 21.3-7.7s.3-17.5-7.7-21.3C237.4 101.1 215.5 96 192.5 96C108.3 96 40 164 40 248c0 3 .1 6.1 .3 9.1C34.8 239.3 32 220.1 32 200zm320-56l96-72L543.5 144l.3 141.2c4.9 2.1 9.9 3.8 14.8 4.9c6.2 1.4 12 3.7 17.2 6.8l-.3-153c0-10-4.7-19.5-12.7-25.5L467.2 46.5c-11.4-8.6-27.1-8.6-38.5 0l-96 72c-8.1 6-12.8 15.5-12.8 25.6V265c1.7 1 3.3 2 4.8 3.1c8.6 5.9 17.8 10.7 27.2 14.2V144zM192 480c-20.9 0-41.7-9.9-58.2-21.2c-9.7-6.6-18-14-25.9-21.9c-6.6-6.5-17.2-6.5-23.8 0c-7.9 7.9-16.1 15.2-25.9 21.9c-12.8 8.7-28.1 16.6-44 19.8C6.4 480.1 0 486.4 0 494.2c0 9.8 8 17.9 17.7 16.2c23.1-4 43.6-15 58.5-25.2c7.9-5.4 14.6-10.8 19.8-15.3c5.1 4.5 11.9 9.9 19.8 15.3C134.4 497.9 161.7 512 192 512s57.5-14.1 76.2-26.8c7.9-5.4 14.6-10.8 19.8-15.3c5.1 4.5 11.9 9.9 19.8 15.3C326.4 497.9 353.7 512 384 512s57.5-14.1 76.2-26.8c7.9-5.4 14.6-10.8 19.8-15.3c5.1 4.5 11.9 9.9 19.8 15.3c15 10.2 35.4 21.2 58.5 25.2c9.7 1.7 17.7-6.4 17.7-16.2c0-7.9-6.4-14.1-14.1-15.7c-16-3.1-31.3-11.1-44.1-19.8c-9.8-6.7-18-14-26-21.9c-6.6-6.5-17.2-6.5-23.7 0c-7.9 7.9-16.1 15.2-25.9 21.9C425.6 470 404.9 480 384 480s-41.7-9.9-58.2-21.2c-9.8-6.7-18-14-26-21.9c-6.6-6.5-17.2-6.5-23.7 0c-7.9 7.9-16.1 15.2-25.9 21.9C233.6 470 212.9 480 192 480z\"]\n};\nvar faSquareNfi = {\n prefix: 'fal',\n iconName: 'square-nfi',\n icon: [448, 512, [], \"e576\", \"M384 64c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM75.7 160.6C68.8 162.5 64 168.8 64 176V336c0 8.8 7.2 16 16 16s16-7.2 16-16V233.8l66.3 110.5c3.7 6.2 11.1 9.1 18 7.2s11.7-8.2 11.7-15.4V176c0-8.8-7.2-16-16-16s-16 7.2-16 16V278.2L93.7 167.8c-3.7-6.2-11.1-9.1-18-7.2zM224 176v64 96c0 8.8 7.2 16 16 16s16-7.2 16-16V256h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H256V192h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H240c-8.8 0-16 7.2-16 16zm160 0c0-8.8-7.2-16-16-16s-16 7.2-16 16V336c0 8.8 7.2 16 16 16s16-7.2 16-16V176z\"]\n};\nvar faForklift = {\n prefix: 'fal',\n iconName: 'forklift',\n icon: [640, 512, [], \"f47a\", \"M160 0c-17.7 0-32 14.3-32 32V160H80c-44.2 0-80 35.8-80 80V384v32c0 53 43 96 96 96s96-43 96-96h64c0 53 43 96 96 96s96-43 96-96c0-28.4-12.4-54-32-71.6V288 259.5c0-4.7-1-9.3-3-13.5L306.8 18.5C301.6 7.2 290.2 0 277.8 0H160zM128 192h19.5l94.8 87.5C248.2 285 256 288 264 288H384v37.5c-10-3.5-20.8-5.5-32-5.5c-41.8 0-77.4 26.7-90.5 64H186.5c-13.2-37.3-48.7-64-90.5-64c-24.6 0-47 9.2-64 24.4V240c0-26.5 21.5-48 48-48h48zm136 64L160 160V32l117.8 0L382.3 256H264zm88 224a64 64 0 1 1 0-128 64 64 0 1 1 0 128zM96 480a64 64 0 1 1 0-128 64 64 0 1 1 0 128zM512 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V432c0 8.8 7.2 16 16 16H624c8.8 0 16-7.2 16-16s-7.2-16-16-16H512V16z\"]\n};\nvar faArrowUpFromGroundWater = {\n prefix: 'fal',\n iconName: 'arrow-up-from-ground-water',\n icon: [576, 512, [], \"e4b5\", \"M288 352c8.8 0 16-7.2 16-16V54.6l68.7 68.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-96-96c-6.2-6.2-16.4-6.2-22.6 0l-96 96c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L272 54.6V336c0 8.8 7.2 16 16 16zM64 192c-35.3 0-64 28.7-64 64V425c5.3-3.1 11.2-5.4 17.5-6.9c4.8-1.1 9.7-2.8 14.5-4.8V256c0-17.7 14.3-32 32-32H192V192H64zM576 425V256c0-35.3-28.7-64-64-64H384v32H512c17.7 0 32 14.3 32 32V413.3c4.8 2.1 9.7 3.7 14.5 4.8c6.3 1.5 12.1 3.8 17.5 6.9zM192 480c-20.9 0-41.7-9.9-58.2-21.2c-9.7-6.6-18-14-25.9-21.9c-6.6-6.5-17.2-6.5-23.8 0c-7.9 7.9-16.1 15.2-25.9 21.9c-12.8 8.7-28.1 16.6-44 19.8C6.4 480.1 0 486.4 0 494.2c0 9.8 8 17.9 17.7 16.2c23.1-4 43.6-15 58.5-25.2c7.9-5.4 14.6-10.8 19.8-15.3c5.1 4.5 11.9 9.9 19.8 15.3C134.4 497.9 161.7 512 192 512s57.5-14.1 76.2-26.8c7.9-5.4 14.6-10.8 19.8-15.3c5.1 4.5 11.9 9.9 19.8 15.3C326.4 497.9 353.7 512 384 512s57.5-14.1 76.2-26.8c7.9-5.4 14.6-10.8 19.8-15.3c5.1 4.5 11.9 9.9 19.8 15.3c15 10.2 35.4 21.2 58.5 25.2c9.7 1.7 17.7-6.4 17.7-16.2c0-7.9-6.4-14.1-14.1-15.7c-16-3.1-31.3-11.1-44.1-19.8c-9.8-6.7-18-14-26-21.9c-6.6-6.5-17.2-6.5-23.7 0c-7.9 7.9-16.1 15.2-25.9 21.9C425.6 470 404.9 480 384 480s-41.7-9.9-58.2-21.2c-9.8-6.7-18-14-26-21.9c-6.6-6.5-17.2-6.5-23.7 0c-7.9 7.9-16.1 15.2-25.9 21.9C233.6 470 212.9 480 192 480z\"]\n};\nvar faBracketSquareRight = {\n prefix: 'fal',\n iconName: 'bracket-square-right',\n icon: [192, 512, [], \"5d\", \"M192 80c0-26.5-21.5-48-48-48H48c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c8.8 0 16 7.2 16 16V432c0 8.8-7.2 16-16 16H48c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c26.5 0 48-21.5 48-48V80z\"]\n};\nvar faMartiniGlass = {\n prefix: 'fal',\n iconName: 'martini-glass',\n icon: [512, 512, [127864, \"glass-martini-alt\"], \"f57b\", \"M32 33c0-.5 .4-1 1-1H479c.5 0 1 .4 1 1c0 .3-.1 .5-.3 .7l-94.4 94.4c-.4 0-.9-.1-1.3-.1H128c-.4 0-.9 0-1.3 .1L32.3 33.7c-.2-.2-.3-.4-.3-.7zM158.6 160H353.4L256 257.4 158.6 160zM9.7 56.3L240 286.6V480H144c-8.8 0-16 7.2-16 16s7.2 16 16 16H256 368c8.8 0 16-7.2 16-16s-7.2-16-16-16H272V286.6L502.3 56.3c6.2-6.2 9.7-14.6 9.7-23.3c0-18.2-14.8-33-33-33H33C14.8 0 0 14.8 0 33c0 8.7 3.5 17.1 9.7 23.3z\"]\n};\nvar faGlassMartiniAlt = faMartiniGlass;\nvar faRotateLeft = {\n prefix: 'fal',\n iconName: 'rotate-left',\n icon: [512, 512, [\"rotate-back\", \"rotate-backward\", \"undo-alt\"], \"f2ea\", \"M94.7 360.2c-3.2-5-8.7-8.2-14.7-8.2c-12.3 0-20.3 12.8-13.7 23.2C106 438.2 176.1 480 256 480c123.7 0 224-100.3 224-224S379.7 32 256 32c-56.1 0-107.4 20.6-146.7 54.7L78.6 56c-5.1-5.1-12.1-8-19.3-8C44.2 48 32 60.2 32 75.3V176c0 8.8 7.2 16 16 16H148.7c15.1 0 27.3-12.2 27.3-27.3c0-7.2-2.9-14.2-8-19.3l-36-36C165.5 81.1 208.7 64 256 64c106 0 192 86 192 192s-86 192-192 192c-67.6 0-127.1-35-161.3-87.8zM64 86.6L137.4 160H64V86.6z\"]\n};\nvar faRotateBack = faRotateLeft;\nvar faRotateBackward = faRotateLeft;\nvar faUndoAlt = faRotateLeft;\nvar faTableColumns = {\n prefix: 'fal',\n iconName: 'table-columns',\n icon: [512, 512, [\"columns\"], \"f0db\", \"M448 64c17.7 0 32 14.3 32 32v64L32 160l0-64c0-17.7 14.3-32 32-32l384 0zM32 416l0-224 208 0 0 256L64 448c-17.7 0-32-14.3-32-32zm240 32l0-256 208 0 0 224c0 17.7-14.3 32-32 32H272zM64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32z\"]\n};\nvar faColumns = faTableColumns;\nvar faSquareA = {\n prefix: 'fal',\n iconName: 'square-a',\n icon: [448, 512, [], \"e25f\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm224 32c6.1 0 11.6 3.4 14.3 8.8l112 224c4 7.9 .7 17.5-7.2 21.5s-17.5 .7-21.5-7.2L294.1 320H153.9l-27.6 55.2c-4 7.9-13.6 11.1-21.5 7.2s-11.1-13.6-7.2-21.5l112-224c2.7-5.4 8.3-8.8 14.3-8.8zm0 51.8L169.9 288H278.1L224 179.8z\"]\n};\nvar faTick = {\n prefix: 'fal',\n iconName: 'tick',\n icon: [192, 512, [], \"e32f\", \"M56.6 256.9C60.9 275.1 77.2 288 96 288s35.1-12.9 39.4-31.1L165.9 129c1.4-6 2.1-12.1 2.1-18.2l0-6.8c0-39.8-32.2-72-72-72s-72 32.2-72 72l0 6.8c0 6.1 .7 12.3 2.1 18.2L56.6 256.9zM56 104c0-22.1 17.9-40 40-40s40 17.9 40 40l0 6.8c0 3.6-.4 7.3-1.3 10.8L104.3 249.5c-.9 3.8-4.3 6.5-8.3 6.5s-7.4-2.7-8.3-6.5L57.3 121.6c-.8-3.5-1.3-7.2-1.3-10.8l0-6.8z\"]\n};\nvar faLemon = {\n prefix: 'fal',\n iconName: 'lemon',\n icon: [448, 512, [127819], \"f094\", \"M368 64c-5.8 0-11.2 1-16.2 2.8c-18.9 6.8-44.1 12.9-70.1 7.1c-60.7-13.5-128.7 11-178.8 61s-74.5 118.1-61 178.8c5.8 26-.3 51.2-7.1 70.1C33 388.8 32 394.2 32 400c0 26.5 21.5 48 48 48c5.8 0 11.2-1 16.2-2.8c18.9-6.8 44.1-12.9 70.1-7.1c60.7 13.5 128.7-11 178.8-61s74.5-118.1 61-178.8c-5.8-26 .3-51.2 7.1-70.1c1.8-5 2.8-10.5 2.8-16.2c0-26.5-21.5-48-48-48zm0-32c44.2 0 80 35.8 80 80c0 9.5-1.7 18.6-4.7 27.1c-6 16.7-9.8 35-5.9 52.4c16.4 73.7-13.7 152.4-69.6 208.3s-134.7 86-208.3 69.6c-17.3-3.9-35.7-.1-52.4 5.9c-8.4 3-17.6 4.7-27.1 4.7c-44.2 0-80-35.8-80-80c0-9.5 1.7-18.6 4.7-27.1c6-16.7 9.8-35 5.9-52.4C-5.8 246.9 24.3 168.2 80.2 112.2s134.7-86 208.3-69.6c17.3 3.9 35.7 .1 52.4-5.9c8.4-3 17.6-4.7 27.1-4.7zM246.7 134.5L228.3 143c-51.8 23.9-93.4 65.5-117.3 117.3l-8.5 18.4c-3.7 8-13.2 11.5-21.2 7.8s-11.5-13.2-7.8-21.2l8.5-18.4c27.1-58.7 74.3-105.9 133-133l18.4-8.5c8-3.7 17.5-.2 21.2 7.8s.2 17.5-7.8 21.2z\"]\n};\nvar faHeadSideMask = {\n prefix: 'fal',\n iconName: 'head-side-mask',\n icon: [576, 512, [], \"e063\", \"M78.7 150.2L276.5 272H288 511.7c-.9-6.6-4.1-12.7-9.2-17.2l-3.2-2.8c-19.2-17.1-32.8-38.1-44-59.4c-7-13.5-13.5-28-19.8-42l0 0 0 0 0 0c-3.4-7.5-6.6-14.9-9.9-21.7C399.1 72 338.1 32 272 32H256C176.1 32 107.6 80.8 78.7 150.2zm-10 31.4C65.6 195.3 64 209.4 64 224c0 45.4 15.7 87.1 42.1 120c12.5 15.5 21.9 35.3 21.9 57.4V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V401.4c0-12.8-5.5-25.7-14.9-37.4C50.4 325.6 32 276.9 32 224C32 100.3 132.3 0 256 0h16c78.6 0 150.8 47.3 182.7 115.3c3.8 8.1 7.3 16 10.8 23.8l0 0 0 0 0 0 0 0 0 0c5.9 13.2 11.6 26 18.2 38.7c10.3 19.6 21.7 36.8 36.9 50.3l3.2 2.8c11.9 10.6 19.1 25.4 20.1 41.2h.1c0 10.6-1.5 21.2-4.4 31.4l-.2 .6L493.3 465.6c-7.8 27.5-33 46.4-61.5 46.4H288c-17.7 0-32-14.3-32-32V304v-7.1L68.7 181.7zM376 176a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM288 480H431.7c14.3 0 26.8-9.5 30.8-23.2l4.8-16.8H368c-8.8 0-16-7.2-16-16s7.2-16 16-16H476.4l9.1-32H368c-8.8 0-16-7.2-16-16s7.2-16 16-16H494.7l11.4-40H288V480z\"]\n};\nvar faHandshake = {\n prefix: 'fal',\n iconName: 'handshake',\n icon: [640, 512, [], \"f2b5\", \"M263.9 64c-33.9 0-66.7 12-92.6 33.7L144 120.7v39.1c2.7-.5 5.3-1.7 7.4-3.5l40.5-34c13.3-11.2 28.9-19 45.5-23.1L272.6 64h-8.7zM112 352.3c8.9 1 17.2 5 23.6 11.4l28.6 28.6 15.4 15.4 .1 .1 24.3 24.3c25.1 25.1 65.4 26.2 91.8 2.6c.8-.7 1.6-1.4 2.3-2.2c26.3 21.3 65.3 18.6 88.4-7.3c6-6.7 10.3-14.4 13-22.5c19.2 4 40-.8 55.7-14.8c11.3-10.1 18.2-23.2 20.6-37H528V368c0 26.5 21.5 48 48 48h16c26.5 0 48-21.5 48-48V160c0-17.7-14.3-32-32-32H560 528v32V318.8H473.1c-3.1-8.7-8.1-17-15.1-24l-85.6-85.6 8.1-7.5c6.5-6 6.9-16.1 .9-22.6s-16.1-6.9-22.6-.9l-76.1 70.2c-13.2 12.2-33.6 12.4-47 .4c-15.4-13.7-15.7-37.5-.8-51.6l79.4-75C332.2 105.4 355.8 96 380.4 96c22.7 0 44.6 8 61.9 22.6l44.8 37.7c2.5 2.1 5.6 3.4 8.8 3.7V121.8L462.9 94.1C439.8 74.6 410.6 64 380.4 64c-32.8 0-64.3 12.5-88.1 35l-79.4 75c-28.6 27-27.9 72.7 1.5 98.8c25.8 22.9 64.7 22.5 90-.8l44.5-41 86.5 86.5c13 13 12.4 34.3-1.4 46.5c-10.9 9.7-26.7 10.6-38.6 3c-5-3.3-11.4-3.4-16.6-.5s-8.3 8.6-8 14.6c.4 8.1-2.3 16.3-8.1 22.9c-12.3 13.9-33.8 14.5-46.9 1.4l-8.1-8.1c-3.6-3.6-8.7-5.3-13.7-4.5s-9.4 3.9-11.8 8.4c-1.9 3.6-4.4 6.9-7.6 9.8c-13.8 12.3-34.8 11.7-47.8-1.3l-39.9-39.8-28.6-28.6c-12.4-12.4-28.9-19.8-46.3-20.9V160 128H80 32c-17.7 0-32 14.3-32 32V368c0 26.5 21.5 48 48 48H64c26.5 0 48-21.5 48-48V352.3zM80 160V368c0 8.8-7.2 16-16 16H48c-8.8 0-16-7.2-16-16V160H80zm528 0V368c0 8.8-7.2 16-16 16H576c-8.8 0-16-7.2-16-16V160h48z\"]\n};\nvar faGem = {\n prefix: 'fal',\n iconName: 'gem',\n icon: [512, 512, [128142], \"f3a5\", \"M128 32c-5.2 0-10.1 2.5-13.1 6.8l-112 160c-4.3 6.2-3.7 14.6 1.4 20.1l240 256c3 3.2 7.2 5.1 11.7 5.1s8.6-1.8 11.7-5.1l240-256c5.2-5.5 5.8-13.9 1.4-20.1l-112-160c-3-4.3-7.9-6.8-13.1-6.8H128zm.9 42.7L222.7 192H46.7L128.9 74.7zM52.9 224H256 459.1L256 440.6 52.9 224zm412.3-32h-176L383.1 74.7 465.3 192zM350.7 64L256 182.4 161.3 64H350.7z\"]\n};\nvar faDolly = {\n prefix: 'fal',\n iconName: 'dolly',\n icon: [576, 512, [\"dolly-box\"], \"f472\", \"M24 0C15.2 0 8 7.2 8 16s7.2 16 16 16H88.9c6.9 0 13 4.4 15.2 10.9L211.6 365.4C190.1 379.8 176 404.2 176 432c0 44.2 35.8 80 80 80c43 0 78-33.9 79.9-76.4L565.5 351c8.3-3.1 12.5-12.3 9.5-20.5s-12.3-12.5-20.5-9.5L330.7 403.4C319.2 373.3 290.1 352 256 352c-5 0-9.9 .5-14.7 1.3L134.5 32.8C127.9 13.2 109.6 0 88.9 0H24zM256 384a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm96.8-201.1c3 8.3 12.2 12.6 20.5 9.6s12.6-12.2 9.6-20.5l-19.2-52.6 60.1-21.9 54.7 150.4L328.2 302.5 273.5 152.2l60.1-21.9 19.2 52.6zM243.4 163.1l54.7 150.4c6 16.6 24.4 25.2 41 19.1l150.4-54.7c16.6-6 25.2-24.4 19.1-41L453.9 86.5c-6-16.6-24.4-25.2-41-19.1L262.5 122.1c-16.6 6-25.2 24.4-19.1 41z\"]\n};\nvar faDollyBox = faDolly;\nvar faSmoking = {\n prefix: 'fal',\n iconName: 'smoking',\n icon: [640, 512, [128684], \"f48d\", \"M464 0c-8.8 0-16 7.2-16 16V43c0 46.7 18.5 91.4 51.5 124.5l21 21c15 15 23.4 35.4 23.4 56.6v27c0 8.8 7.2 16 16 16s16-7.2 16-16V245c0-29.7-11.8-58.2-32.8-79.2l-21-21C495.2 117.8 480 81.2 480 43V16c0-8.8-7.2-16-16-16zM624 288c8.8 0 16-7.2 16-16V245c0-46.7-18.5-91.4-51.5-124.5l-21-21C552.4 84.5 544 64.2 544 43V16c0-8.8-7.2-16-16-16s-16 7.2-16 16V43c0 29.7 11.8 58.2 32.8 79.2l21 21c27 27 42.2 63.6 42.2 101.8v27c0 8.8 7.2 16 16 16zM64 384H192v96H64c-17.7 0-32-14.3-32-32V416c0-17.7 14.3-32 32-32zm160 0H480v96H224V384zM64 512H208 496c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16H208 64c-35.3 0-64 28.7-64 64v32c0 35.3 28.7 64 64 64zM560 352c-8.8 0-16 7.2-16 16V496c0 8.8 7.2 16 16 16s16-7.2 16-16V368c0-8.8-7.2-16-16-16zm64 0c-8.8 0-16 7.2-16 16V496c0 8.8 7.2 16 16 16s16-7.2 16-16V368c0-8.8-7.2-16-16-16z\"]\n};\nvar faMinimize = {\n prefix: 'fal',\n iconName: 'minimize',\n icon: [512, 512, [\"compress-arrows-alt\"], \"f78c\", \"M507.3 27.3l-108 108 47.1 47.1c6 6 8.4 14.6 6.3 22.8l-.2 .6c-2.7 10.7-12.3 18.2-23.3 18.2H312c-13.3 0-24-10.7-24-24V82.7c0-11 7.5-20.6 18.2-23.3l.6-.2c8.2-2 16.8 .4 22.8 6.3l47.1 47.1 108-108c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zM4.7 27.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l108 108 47.1-47.1c6-6 14.6-8.4 22.8-6.3l.6 .2C216.5 62.1 224 71.7 224 82.7V200c0 13.3-10.7 24-24 24H82.7c-11 0-20.6-7.5-23.3-18.2l-.2-.6c-2-8.2 .4-16.8 6.3-22.8l47.1-47.1L4.7 27.3zm502.6 480c-6.2 6.2-16.4 6.2-22.6 0l-108-108-47.1 47.1c-6 6-14.6 8.4-22.8 6.3l-.6-.2c-10.7-2.7-18.2-12.3-18.2-23.3V312c0-13.3 10.7-24 24-24H429.3c11 0 20.6 7.5 23.3 18.2l.2 .6c2 8.2-.4 16.8-6.3 22.8l-47.1 47.1 108 108c6.2 6.2 6.2 16.4 0 22.6zM4.7 484.7l108-108L65.6 329.6c-6-6-8.4-14.6-6.3-22.8l.2-.6C62.1 295.5 71.7 288 82.7 288H200c13.3 0 24 10.7 24 24V429.3c0 11-7.5 20.6-18.2 23.3l-.6 .2c-8.2 2-16.8-.4-22.8-6.3l-47.1-47.1-108 108c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6zM410.7 192L320 101.3V192h90.7zM192 101.3L101.3 192H192V101.3zM410.7 320H320v90.7L410.7 320zM192 410.7V320H101.3L192 410.7z\"]\n};\nvar faCompressArrowsAlt = faMinimize;\nvar faRefrigerator = {\n prefix: 'fal',\n iconName: 'refrigerator',\n icon: [384, 512, [], \"e026\", \"M288 32c35.3 0 64 28.7 64 64v64H288V112c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H32V96c0-35.3 28.7-64 64-64H288zM256 192V368c0 8.8 7.2 16 16 16s16-7.2 16-16V192h64V448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V192H256zM96 0C43 0 0 43 0 96V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V96c0-53-43-96-96-96H96z\"]\n};\nvar faMonument = {\n prefix: 'fal',\n iconName: 'monument',\n icon: [384, 512, [], \"f5a6\", \"M180.7 4.7c6.2-6.2 16.4-6.2 22.6 0l80 80c2.5 2.5 4.2 5.9 4.6 9.4l32 272c1 8.8-5.2 16.7-14 17.8s-16.7-5.2-17.8-14L256.8 103.4 192 38.6l-64.8 64.8L95.9 369.9c-1 8.8-9 15.1-17.8 14s-15.1-9-14-17.8l32-272c.4-3.6 2-6.9 4.6-9.4l80-80zM144 304c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H160c-8.8 0-16-7.2-16-16zM40 416H344c22.1 0 40 17.9 40 40v16c0 22.1-17.9 40-40 40H40c-22.1 0-40-17.9-40-40V456c0-22.1 17.9-40 40-40zm-8 40v16c0 4.4 3.6 8 8 8H344c4.4 0 8-3.6 8-8V456c0-4.4-3.6-8-8-8H40c-4.4 0-8 3.6-8 8z\"]\n};\nvar faOctagonXmark = {\n prefix: 'fal',\n iconName: 'octagon-xmark',\n icon: [512, 512, [\"times-octagon\", \"xmark-octagon\"], \"f2f0\", \"M191.5 32.1c-10.6 0-20.8 4.2-28.3 11.7L43.8 163.2c-7.5 7.5-11.7 17.7-11.7 28.3v129c0 10.6 4.2 20.8 11.7 28.3L21.2 371.4C7.7 357.9 .1 339.6 .1 320.5v-129c0-19.1 7.6-37.4 21.1-50.9L140.6 21.2C154.1 7.7 172.4 .1 191.5 .1h129c19.1 0 37.4 7.6 50.9 21.1L490.8 140.6c13.5 13.5 21.1 31.8 21.1 50.9v129c0 19.1-7.6 37.4-21.1 50.9L371.4 490.8c-13.5 13.5-31.8 21.1-50.9 21.1h-129c-19.1 0-37.4-7.6-50.9-21.1L21.2 371.4l22.6-22.6L163.2 468.2c7.5 7.5 17.7 11.7 28.3 11.7h129c10.6 0 20.8-4.2 28.3-11.7L468.2 348.8c7.5-7.5 11.7-17.7 11.7-28.3v-129c0-10.6-4.2-20.8-11.7-28.3L348.8 43.8c-7.5-7.5-17.7-11.7-28.3-11.7h-129zM180.7 180.7c6.2-6.2 16.4-6.2 22.6 0L256 233.4l52.7-52.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L278.6 256l52.7 52.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L256 278.6l-52.7 52.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L233.4 256l-52.7-52.7c-6.2-6.2-6.2-16.4 0-22.6z\"]\n};\nvar faTimesOctagon = faOctagonXmark;\nvar faXmarkOctagon = faOctagonXmark;\nvar faAlignSlash = {\n prefix: 'fal',\n iconName: 'align-slash',\n icon: [640, 512, [], \"f846\", \"M25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4zM528 336c8.8 0 16-7.2 16-16s-7.2-16-16-16H484.1l40.5 32H528zm0-128c8.8 0 16-7.2 16-16s-7.2-16-16-16H322l40.5 32H528zm-372.1 0l-40.5-32H112c-8.8 0-16 7.2-16 16s7.2 16 16 16h43.9zM528 48H159.8l40.5 32H528c8.8 0 16-7.2 16-16s-7.2-16-16-16zM318 336l-40.5-32H112c-8.8 0-16 7.2-16 16s7.2 16 16 16H318zm121.6 96H112c-8.8 0-16 7.2-16 16s7.2 16 16 16H480.2l-40.5-32z\"]\n};\nvar faSnowplow = {\n prefix: 'fal',\n iconName: 'snowplow',\n icon: [640, 512, [], \"f7d2\", \"M128 32c0-17.7 14.3-32 32-32H298.9c19.2 0 36.6 11.4 44.1 29.1l85.1 198.6c2.6 6 3.9 12.4 3.9 18.9V288h96V240c0-3.7 1.3-7.4 3.7-10.2l80-96c5.7-6.8 15.7-7.7 22.5-2s7.7 15.7 2 22.5L560 245.8V394.2l76.3 91.5c5.7 6.8 4.7 16.9-2 22.5s-16.9 4.7-22.5-2l-80-96c-2.4-2.9-3.7-6.5-3.7-10.2V320H446.4c20.7 20.3 33.6 48.7 33.6 80c0 61.9-50.1 112-112 112H112C50.1 512 0 461.9 0 400c0-44.7 26.2-83.2 64-101.2V168c0-22.1 17.9-40 40-40h24V32zM400 256H208c-5.3 0-10.3-2.7-13.3-7.1L135.4 160H104c-4.4 0-8 3.6-8 8V289.1c5.2-.7 10.6-1.1 16-1.1H368c11.1 0 21.9 1.6 32 4.6V256zM160 139.2L216.6 224H391.7L313.6 41.7c-2.5-5.9-8.3-9.7-14.7-9.7H160V139.2zM368 320H112c-44.2 0-80 35.8-80 80s35.8 80 80 80H368c44.2 0 80-35.8 80-80s-35.8-80-80-80zM120 376a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm56 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm104-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm56 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faAnglesRight = {\n prefix: 'fal',\n iconName: 'angles-right',\n icon: [512, 512, [187, \"angle-double-right\"], \"f101\", \"M459.3 267.3c6.2-6.2 6.2-16.4 0-22.6l-160-160c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L425.4 256 276.7 404.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l160-160zm-352 160l160-160c6.2-6.2 6.2-16.4 0-22.6l-160-160c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L233.4 256 84.7 404.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0z\"]\n};\nvar faAngleDoubleRight = faAnglesRight;\nvar faTruckRampCouch = {\n prefix: 'fal',\n iconName: 'truck-ramp-couch',\n icon: [640, 512, [\"truck-couch\"], \"f4dd\", \"M352 80c0-44.2 35.8-80 80-80H624c8.8 0 16 7.2 16 16s-7.2 16-16 16H432c-26.5 0-48 21.5-48 48V379.1l35.8-9.8 .5-.1C433.6 322.4 476.8 288 528 288c61.9 0 112 50.1 112 112s-50.1 112-112 112c-60.7 0-110.1-48.2-111.9-108.4L20.2 511.4c-8.5 2.3-17.3-2.7-19.6-11.2s2.7-17.3 11.2-19.6l340.6-92.8c-.3-1.2-.4-2.5-.4-3.7V80zM608 400a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zM225.7 128.2c36.4-9.8 73.6 4.8 94.3 33.7v75.5c-3.1-.4-6.3-.3-9.5 .6c-11.1 3-18.3 13.3-17.8 24.3c.8 15.1-9.1 28.6-23.7 32.5L127.6 332.8c-14.6 3.9-29.9-2.9-36.8-16.3c-5-9.9-16.5-15.2-27.6-12.2c-12.8 3.4-20.4 16.6-17 29.4l13.5 50.3c1.1 4.3 5.5 6.8 9.8 5.7l24.8-6.6c1.2-.3 2.4-.6 3.6-.8l180.3-48.3c.7-.2 1.5-.4 2.2-.5L320 322.7v33.1l-2.6 .7-30.9 8.3 0-.1-30.9 8.3L133.5 405.8 102.6 414l-.1-.2-24.8 6.6c-21.3 5.7-43.3-6.9-49-28.3L15.3 341.9c-3.9-14.7-1.6-29.7 5.3-42l-6.4-24C1.7 229 29.5 180.8 76.5 168.2l149.2-40zm8.3 30.9l-149.2 40c-29.9 8-47.6 38.7-39.6 68.6l2.2 8.3c2.4-1 5-1.9 7.6-2.6c26-7 52.6 5.5 64.3 28.5L260.8 264c-1.3-25.8 15.5-49.9 41.4-56.9c.8-.2 1.6-.4 2.4-.6l-2.1-7.8c-8-29.9-38.7-47.6-68.6-39.6z\"]\n};\nvar faTruckCouch = faTruckRampCouch;\nvar faCannabis = {\n prefix: 'fal',\n iconName: 'cannabis',\n icon: [512, 512, [], \"f55f\", \"M269.3 7.1c-3-4.4-8-7.1-13.3-7.1s-10.3 2.7-13.3 7.1c-14.2 21.2-33.8 60-48 104.1c-10.3 31.7-18.1 67.2-18.7 101.4C124.5 176.5 61.4 156.8 27.1 150c-5.2-1-10.7 .6-14.4 4.4s-5.4 9.2-4.4 14.5c7.1 35.4 28.1 101.4 66.7 153.5c-21.4 8.8-40.3 19.5-52.8 26.6l0 0c-2.2 1.2-4.2 2.4-6 3.4c-5.1 2.8-8.2 8.2-8.2 14s3.2 11.2 8.2 14c14.1 7.8 41.4 22.7 72.2 33.1c20.7 7 44.6 12.7 67.8 11.8l-12.7 33c-2.3 6.1-.8 13 4 17.4s11.7 5.6 17.6 2.9l75-34.2V496c0 8.8 7.2 16 16 16s16-7.2 16-16V444.3l75 34.2c5.9 2.7 12.9 1.6 17.6-2.9s6.3-11.3 4-17.4l-12.7-33c23.2 .9 47.1-4.8 67.8-11.8c30.7-10.5 58.1-25.3 72.2-33.1c5.1-2.8 8.2-8.2 8.2-14s-3.2-11.2-8.2-14c-13-7.2-35.1-18.7-60.8-27.3c40-52.5 61.5-120.2 68.7-156.1c1.1-5.2-.6-10.7-4.4-14.5s-9.2-5.4-14.4-4.4c-34.3 6.8-97.4 26.5-148.9 62.6c-.6-34.2-8.4-69.8-18.7-101.4c-14.2-44-33.8-82.9-48-104.1zM272 409.1V336c0-8.8-7.2-16-16-16s-16 7.2-16 16v73.1l-52.5 24 8.8-22.8c2.3-5.8 .9-12.4-3.5-16.9s-10.9-6-16.8-3.9c-20.8 7.4-48.7 3.3-77.2-6.4c-14.9-5-29-11.3-41-17.2c14.3-7.5 31.1-15.5 48.7-21c5.2-1.6 9.2-5.8 10.7-11s.1-10.9-3.5-14.9C79.1 280.5 57 226.4 45.9 187.5c41 11.6 98.7 35.2 137.7 72.3c5 4.8 12.5 5.8 18.6 2.5s9.4-10.1 8.2-16.9c-6.6-37.5 1.2-82.7 14.8-124.5c9.2-28.3 20.6-54.1 30.9-73.5c10.3 19.4 21.7 45.1 30.9 73.5c13.5 41.8 21.4 87 14.8 124.5c-1.2 6.8 2.1 13.6 8.2 16.9s13.6 2.2 18.6-2.5c39-37.1 96.7-60.7 137.7-72.3C454.6 227.7 431.4 284 395 322.7c-3.9 4.2-5.3 10.2-3.6 15.7s6.2 9.7 11.8 10.9c17.9 4 35.2 10.6 49.8 17.2c-11.8 5.7-25.4 11.7-39.7 16.6c-28.5 9.7-56.4 13.8-77.2 6.4c-5.9-2.1-12.5-.6-16.8 3.9s-5.7 11.1-3.5 16.9l8.8 22.8-52.5-24z\"]\n};\nvar faCirclePlay = {\n prefix: 'fal',\n iconName: 'circle-play',\n icon: [512, 512, [61469, \"play-circle\"], \"f144\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm72.7-256L208 329.7V182.3L328.7 256zM212.5 147.5c-7.4-4.5-16.7-4.7-24.3-.5s-12.3 12.3-12.3 20.9V344c0 8.7 4.7 16.7 12.3 20.9s16.8 4.1 24.3-.5l144-88c7.1-4.4 11.5-12.1 11.5-20.5s-4.4-16.1-11.5-20.5l-144-88z\"]\n};\nvar faPlayCircle = faCirclePlay;\nvar faArrowUpRightAndArrowDownLeftFromCenter = {\n prefix: 'fal',\n iconName: 'arrow-up-right-and-arrow-down-left-from-center',\n icon: [512, 512, [], \"e0a0\", \"M292.7 196.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L480 54.6V160c0 8.8 7.2 16 16 16s16-7.2 16-16V16c0-8.8-7.2-16-16-16H352c-8.8 0-16 7.2-16 16s7.2 16 16 16H457.4L292.7 196.7zM219.3 315.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L32 457.4V352c0-8.8-7.2-16-16-16s-16 7.2-16 16V496c0 8.8 7.2 16 16 16H160c8.8 0 16-7.2 16-16s-7.2-16-16-16H54.6L219.3 315.3z\"]\n};\nvar faLocationArrowUp = {\n prefix: 'fal',\n iconName: 'location-arrow-up',\n icon: [448, 512, [], \"e63a\", \"M224 70.3L68 441.7 214.8 338.9c5.5-3.9 12.8-3.9 18.4 0L380 441.7 224 70.3zM198.2 49.2C202.5 38.8 212.7 32 224 32s21.5 6.8 25.8 17.2L413.7 439.3c1.5 3.6 2.3 7.5 2.3 11.4v1.2c0 15.6-12.6 28.2-28.2 28.2c-5.8 0-11.4-1.8-16.2-5.1L224 371.5 76.3 474.9c-4.7 3.3-10.4 5.1-16.2 5.1C44.6 480 32 467.4 32 451.8v-1.2c0-3.9 .8-7.8 2.3-11.4L198.2 49.2z\"]\n};\nvar faTablets = {\n prefix: 'fal',\n iconName: 'tablets',\n icon: [640, 512, [], \"f490\", \"M603.9 261.3c-3.4 4.1-6.9 8.1-10.8 11.9s-7.8 7.4-11.9 10.8c-62.8 51.5-155.7 47.9-214.4-10.8s-62.3-151.6-10.8-214.4c3.4-4.1 6.9-8.1 10.8-11.9s7.8-7.4 11.9-10.8c62.8-51.5 155.7-47.9 214.4 10.8s62.3 151.6 10.8 214.4zM570.5 69.5c-46.2-46.2-118.8-49.7-169-10.6L581.1 238.5c39.1-50.2 35.5-122.8-10.6-169zm-12 191.6L378.9 81.5c-39.1 50.2-35.5 122.8 10.6 169s118.8 49.7 169 10.6zM319.2 336c.5 5.3 .8 10.6 .8 16s-.3 10.7-.8 16c-8 80.9-76.2 144-159.2 144S8.8 448.9 .8 368c-.5-5.3-.8-10.6-.8-16s.3-10.7 .8-16C8.8 255.1 77 192 160 192s151.2 63.1 159.2 144zM160 224C94.7 224 40.9 272.9 33 336H287c-7.9-63.1-61.7-112-127-112zm0 256c65.3 0 119.1-48.9 127-112H33c7.9 63.1 61.7 112 127 112z\"]\n};\nvar fa360Degrees = {\n prefix: 'fal',\n iconName: '360-degrees',\n icon: [640, 512, [], \"e2dc\", \"M608 64a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM16 64C7.2 64 0 71.2 0 80s7.2 16 16 16H127.3L35.4 214.2c-3.8 4.8-4.4 11.4-1.7 16.9s8.3 9 14.4 9H80c44.2 0 80 35.8 80 80v16c0 44.2-35.8 80-80 80H74.5c-12.7 0-24.9-5.1-33.9-14.1L27.3 388.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l13.3 13.3c15 15 35.4 23.4 56.6 23.4H80c61.9 0 112-50.1 112-112V320c0-61.6-49.8-111.6-111.3-112L172.6 89.8c3.8-4.8 4.4-11.4 1.7-16.9s-8.3-9-14.4-9H16zm432 80c0-26.5 21.5-48 48-48s48 21.5 48 48V368c0 26.5-21.5 48-48 48s-48-21.5-48-48V144zM576 368V144c0-44.2-35.8-80-80-80s-80 35.8-80 80V368c0 44.2 35.8 80 80 80s80-35.8 80-80zM256 176c0-44.2 35.8-80 80-80c8.8 0 16-7.2 16-16s-7.2-16-16-16c-61.9 0-112 50.1-112 112V288l0 .2V368c0 44.2 35.8 80 80 80s80-35.8 80-80V272c0-44.2-35.8-80-80-80c-18 0-34.6 6-48 16V176zm48 48c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48s-48-21.5-48-48V272c0-26.5 21.5-48 48-48z\"]\n};\nvar faEthernet = {\n prefix: 'fal',\n iconName: 'ethernet',\n icon: [512, 512, [], \"f796\", \"M128 96c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32v32h32c17.7 0 32 14.3 32 32v32h32c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H400 304 208 112 32c-17.7 0-32-14.3-32-32V224c0-17.7 14.3-32 32-32H64V160c0-17.7 14.3-32 32-32h32V96zm224 0H160v48c0 8.8-7.2 16-16 16H96v48c0 8.8-7.2 16-16 16H32V416H96V336c0-8.8 7.2-16 16-16s16 7.2 16 16v80h64V336c0-8.8 7.2-16 16-16s16 7.2 16 16v80h64V336c0-8.8 7.2-16 16-16s16 7.2 16 16v80h64V336c0-8.8 7.2-16 16-16s16 7.2 16 16v80h64V224H432c-8.8 0-16-7.2-16-16V160H368c-8.8 0-16-7.2-16-16V96z\"]\n};\nvar faEuroSign = {\n prefix: 'fal',\n iconName: 'euro-sign',\n icon: [320, 512, [8364, \"eur\", \"euro\"], \"f153\", \"M34.3 224c-1.5 10.5-2.3 21.1-2.3 32s.8 21.5 2.3 32H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H41.3C68.8 412.5 154.5 480 256 480h49c8.8 0 16-7.2 16-16s-7.2-16-16-16H256c-83.6 0-154.7-53.4-181.1-128H272c8.8 0 16-7.2 16-16s-7.2-16-16-16H66.7c-1.7-10.4-2.7-21.1-2.7-32s.9-21.6 2.7-32H272c8.8 0 16-7.2 16-16s-7.2-16-16-16H74.9C101.3 117.4 172.4 64 256 64h49c8.8 0 16-7.2 16-16s-7.2-16-16-16H256C154.5 32 68.8 99.5 41.3 192H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H34.3z\"]\n};\nvar faEur = faEuroSign;\nvar faEuro = faEuroSign;\nvar faChair = {\n prefix: 'fal',\n iconName: 'chair',\n icon: [448, 512, [129681], \"f6c0\", \"M192 32V224H160V37.5C122.7 50.6 96 86.2 96 128v96H64V128C64 57.3 121.3 0 192 0h64c70.7 0 128 57.3 128 128v96H352V128c0-41.8-26.7-77.4-64-90.5V224H256V32H192zM64 288L32 352l384 0-32-64H64zM35.4 273.7C40.8 262.8 51.9 256 64 256H384c12.1 0 23.2 6.8 28.6 17.7l32 64c5 9.9 4.4 21.7-1.4 31.1s-16.1 15.2-27.2 15.2l0 112c0 8.8-7.2 16-16 16s-16-7.2-16-16V384H64V496c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-112c-11.1 0-21.4-5.7-27.2-15.2s-6.4-21.2-1.4-31.1l32-64z\"]\n};\nvar faCircleCheck = {\n prefix: 'fal',\n iconName: 'circle-check',\n icon: [512, 512, [61533, \"check-circle\"], \"f058\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM363.3 203.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L224 297.4l-52.7-52.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l64 64c6.2 6.2 16.4 6.2 22.6 0l128-128z\"]\n};\nvar faCheckCircle = faCircleCheck;\nvar faSquareDashedCirclePlus = {\n prefix: 'fal',\n iconName: 'square-dashed-circle-plus',\n icon: [576, 512, [], \"e5c2\", \"M112 32c8.8 0 16 7.2 16 16s-7.2 16-16 16H88c-30.9 0-56 25.1-56 56v24c0 8.8-7.2 16-16 16s-16-7.2-16-16V120C0 71.4 39.4 32 88 32h24zM0 304V208c0-8.8 7.2-16 16-16s16 7.2 16 16v96c0 8.8-7.2 16-16 16s-16-7.2-16-16zm16 48c8.8 0 16 7.2 16 16v24c0 30.9 25.1 56 56 56h24c8.8 0 16 7.2 16 16s-7.2 16-16 16H88c-48.6 0-88-39.4-88-88V368c0-8.8 7.2-16 16-16zM433.3 192.6c-9.1 .8-17.3-6.1-17.3-15.3V120c0-30.9-25.1-56-56-56H336c-8.8 0-16-7.2-16-16s7.2-16 16-16h24c48.6 0 88 39.4 88 88v57.4c0 8.1-6.7 14.6-14.7 15.2zM160 464c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16zM272 64H176c-8.8 0-16-7.2-16-16s7.2-16 16-16h96c8.8 0 16 7.2 16 16s-7.2 16-16 16zM544 368a112 112 0 1 0 -224 0 112 112 0 1 0 224 0zm-256 0a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm160-64v48h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H448v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V384H368c-8.8 0-16-7.2-16-16s7.2-16 16-16h48V304c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faHandHoldingCircleDollar = {\n prefix: 'fal',\n iconName: 'hand-holding-circle-dollar',\n icon: [576, 512, [], \"e621\", \"M272 256a112 112 0 1 0 0-224 112 112 0 1 0 0 224zM272 0a144 144 0 1 1 0 288A144 144 0 1 1 272 0zM248.8 111.4c-.4 .7-.9 1.6-.8 3.6l0 .1c0 .4 0 1.9 4.8 4.5c5.6 3 13.5 5.2 23.9 8.2l.2 0c9.3 2.6 21.1 6 30.5 11.5c10.2 6 20 16.1 20.5 32.3c.5 18.2-9.7 30.4-21.7 36.9c-5.8 3.1-12.1 5.1-18.3 6.2v10.8c0 8.8-7.2 16-16 16s-16-7.2-16-16V214.1c-8.6-1.7-16.7-4.3-23.7-6.6l0 0 0 0c-1.7-.6-3.4-1.1-5-1.6c-8.4-2.6-13.1-11.6-10.5-20s11.6-13.1 20-10.5c2 .6 3.9 1.2 5.8 1.8c11.5 3.6 20.4 6.5 29.9 6.8c6.7 .2 13.8-1.1 18.5-3.6c2.2-1.2 3.4-2.4 4-3.3c.5-.8 1.1-2.1 1-4.5c0-1.4-.2-3-4.7-5.6c-5.3-3.1-12.9-5.4-23.2-8.3l-1.8-.5c-8.9-2.5-19.8-5.6-28.6-10.3c-9.9-5.3-20.6-14.7-21.6-30.7c-1.2-18.8 10-30.9 21.8-37.2c5.7-3.1 12-5.1 18-6.3V64c0-8.8 7.2-16 16-16s16 7.2 16 16v9.4c6.3 .9 12.3 2.3 17.9 3.7c8.6 2.1 13.8 10.8 11.7 19.4s-10.8 13.8-19.4 11.7c-9.3-2.3-18.2-4-26.4-4.1c-6.2-.1-13.6 1.3-18.7 4c-2.4 1.3-3.6 2.5-4.2 3.4zM151 317.4c13.1-8.8 28.6-13.4 44.4-13.4H344c30.9 0 56 25.1 56 56c0 8.6-1.9 16.7-5.4 24h5.6l94.7-56.4c8.3-4.9 17.8-7.6 27.5-7.6h1.3c28.9 0 52.3 23.4 52.3 52.3c0 17.7-9 34.2-23.8 43.8L432.6 493.9c-18.2 11.8-39.4 18.1-61 18.1H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H371.5c15.5 0 30.6-4.5 43.6-12.9l119.6-77.8c5.8-3.7 9.2-10.2 9.2-17c0-11.2-9.1-20.3-20.3-20.3h-1.3c-3.9 0-7.7 1.1-11.1 3l-98.5 58.7c-2.5 1.5-5.3 2.3-8.2 2.3H344 320 256c-8.8 0-16-7.2-16-16s7.2-16 16-16h64 24c13.3 0 24-10.7 24-24s-10.7-24-24-24H195.4c-9.5 0-18.7 2.8-26.6 8.1L88.9 397.3c-2.6 1.8-5.7 2.7-8.9 2.7H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H75.2L151 317.4z\"]\n};\nvar faMoneySimpleFromBracket = {\n prefix: 'fal',\n iconName: 'money-simple-from-bracket',\n icon: [640, 512, [], \"e313\", \"M80 32C53.5 32 32 53.5 32 80v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V80C0 35.8 35.8 0 80 0H560c44.2 0 80 35.8 80 80v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V80c0-26.5-21.5-48-48-48H80zM496 96c8.8 0 16 7.2 16 16l0 344c0 30.9-25.1 56-56 56H184c-30.9 0-56-25.1-56-56l0-344c0-8.8 7.2-16 16-16s16 7.2 16 16l0 344c0 13.3 10.7 24 24 24H456c13.3 0 24-10.7 24-24l0-344c0-8.8 7.2-16 16-16zM320 208c-47 0-80 31.3-80 64s33 64 80 64s80-31.3 80-64s-33-64-80-64zm112 64c0 55.6-53 96-112 96s-112-40.4-112-96s53-96 112-96s112 40.4 112 96z\"]\n};\nvar faBat = {\n prefix: 'fal',\n iconName: 'bat',\n icon: [576, 512, [], \"f6b5\", \"M366.3 187.7c8.9 4.5 19.3 4.6 28.3 .4l71.8-34.2c3.1-1.5 6.8-.7 9 1.9C519.7 207.5 544 273.2 544 341.2v7L507.6 330c-22.4-11.2-49.7-3.3-62.6 18.2l-19.3 32.2-22.1-22.1c-20.5-20.5-54.3-18.3-72 4.7L288 419.5l-43.5-56.6c-17.7-23-51.5-25.2-72-4.7l-22.1 22.1-19.3-32.2c-12.9-21.5-40.2-29.5-62.6-18.2L32 348.2v-7c0-68 24.3-133.7 68.6-185.4c2.2-2.6 5.9-3.4 9-1.9l71.8 34.2c9 4.3 19.4 4.1 28.3-.4s15.1-12.9 16.9-22.6L240.3 92l15.3 10.2c9.6 6.4 20.9 9.8 32.4 9.8s22.8-3.4 32.4-9.8L335.7 92l13.7 73.1c1.8 9.8 8.1 18.1 16.9 22.6zM358.2 77l0 0-9.9-14.9L358.2 77s0 0 0 0zm16.6 49.7L362.2 59.5c-1.3-6.7-7.1-11.5-13.9-11.5c-2.8 0-5.5 .8-7.8 2.4L302.7 75.6c-4.3 2.9-9.4 4.4-14.7 4.4s-10.3-1.5-14.7-4.4L235.6 50.4c-2.3-1.5-5-2.4-7.8-2.4c-6.8 0-12.6 4.8-13.9 11.5l-12.6 67.2-6.1 32.5L165.3 145 123.4 125c-16.2-7.7-35.5-3.6-47.1 10C27.1 192.4 0 265.6 0 341.2v37.6c0 9.7 10.2 16 18.9 11.7l63.8-31.9c7.5-3.7 16.6-1.1 20.9 6.1l29.8 49.7c5.4 8.9 17.7 10.4 25 3.1l36.6-36.6c6.8-6.8 18.1-6.1 24 1.6l56.2 73.1c6.4 8.3 19 8.3 25.4 0l56.2-73.1c5.9-7.7 17.2-8.4 24-1.6l36.6 36.6c7.4 7.4 19.7 5.8 25-3.1l29.8-49.7c4.3-7.2 13.4-9.8 20.9-6.1l63.8 31.9c8.7 4.3 18.9-2 18.9-11.7V341.2c0-75.6-27.1-148.8-76.3-206.2c-11.6-13.6-30.9-17.7-47.1-10L410.7 145l-29.9 14.2-6.1-32.5z\"]\n};\nvar faCircleStop = {\n prefix: 'fal',\n iconName: 'circle-stop',\n icon: [512, 512, [62094, \"stop-circle\"], \"f28d\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm160-64c0-17.7 14.3-32 32-32H320c17.7 0 32 14.3 32 32V320c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V192zm32 0V320H320V192H192z\"]\n};\nvar faStopCircle = faCircleStop;\nvar faHeadSideHeadphones = {\n prefix: 'fal',\n iconName: 'head-side-headphones',\n icon: [512, 512, [], \"f8c2\", \"M176 38v62.6c10.1-3 20.9-4.6 32-4.6s21.9 1.6 32 4.6V32H224c-16.6 0-32.7 2.1-48 6zM144 49.4C77.9 79.7 32 146.5 32 224c0 45.4 15.7 87.1 42.1 120C86.5 359.5 96 379.3 96 401.4V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V401.4c0-12.8-5.5-25.7-14.9-37.4C18.4 325.6 0 276.9 0 224C0 100.3 100.3 0 224 0h16c78.6 0 150.8 47.3 182.7 115.3c3.8 8.1 7.3 16 10.8 23.8l0 0 0 0 0 0c5.9 13.2 11.6 26 18.2 38.7c10.3 19.6 21.7 36.8 36.9 50.3l3.2 2.8c12.8 11.4 20.2 27.8 20.2 45c0 33.2-26.9 60.2-60.2 60.2H448v48c0 35.3-28.7 64-64 64H320v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V432c0-8.8 7.2-16 16-16h80c17.7 0 32-14.3 32-32V320c0-8.8 7.2-16 16-16h19.8c15.6 0 28.2-12.6 28.2-28.2c0-8-3.4-15.7-9.5-21.1l-3.2-2.8c-19.2-17.1-32.8-38.1-44-59.4c-7-13.5-13.5-28-19.8-42l0 0 0 0 0 0c-3.4-7.5-6.6-14.9-9.9-21.7C371.5 81.4 325.2 45.6 272 35.1v81c29 20.2 48 53.9 48 91.9c0 61.9-50.1 112-112 112s-112-50.1-112-112c0-38.1 19-71.7 48-91.9V49.4zM288 208a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zm-80 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm0-64a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faPhoneRotary = {\n prefix: 'fal',\n iconName: 'phone-rotary',\n icon: [512, 512, [9742], \"f8d3\", \"M32 142.4V192h72.9L86.6 224H32c-17.7 0-32-14.3-32-32V141.3c0-8.5 3.4-16.6 9.9-22.1C38.2 95.4 125.9 32 256 32s217.8 63.4 246.1 87.2c6.5 5.5 9.9 13.6 9.9 22.1V192c0 17.7-14.3 32-32 32H425.4l-18.3-32H480V142.4C453 120.1 373.2 64 256 64S59 120.1 32 142.4zm0-1.1s0 0 0 0v0zM32 401c0-11.1 2.9-22.1 8.4-31.8l101.1-177c10.5-18.4 29.5-30.4 50.4-32V128c0-8.8 7.2-16 16-16s16 7.2 16 16v32h64V128c0-8.8 7.2-16 16-16s16 7.2 16 16v32.2c21 1.7 39.9 13.6 50.4 32l101.1 177c5.5 9.7 8.4 20.6 8.4 31.8v31c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48V401zM304 192H208 197.1c-11.5 0-22.1 6.2-27.8 16.1L68.2 385.1C65.5 390 64 395.4 64 401v31c0 8.8 7.2 16 16 16H432c8.8 0 16-7.2 16-16V401c0-5.6-1.5-11-4.2-15.9l-101.1-177c-5.7-10-16.3-16.1-27.8-16.1H304zM208 320a48 48 0 1 0 96 0 48 48 0 1 0 -96 0zm48 80a80 80 0 1 1 0-160 80 80 0 1 1 0 160z\"]\n};\nvar faArrowUpToBracket = {\n prefix: 'fal',\n iconName: 'arrow-up-to-bracket',\n icon: [448, 512, [], \"e66a\", \"M363.3 292.7l-128-128c-6.2-6.2-16.4-6.2-22.6 0l-128 128c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L208 214.6 208 496c0 8.8 7.2 16 16 16s16-7.2 16-16l0-281.4L340.7 315.3c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6zM32 176l0-96c0-26.5 21.5-48 48-48l288 0c26.5 0 48 21.5 48 48l0 96c0 8.8 7.2 16 16 16s16-7.2 16-16l0-96c0-44.2-35.8-80-80-80L80 0C35.8 0 0 35.8 0 80l0 96c0 8.8 7.2 16 16 16s16-7.2 16-16z\"]\n};\nvar faCompassDrafting = {\n prefix: 'fal',\n iconName: 'compass-drafting',\n icon: [512, 512, [\"drafting-compass\"], \"f568\", \"M320 96A64 64 0 1 0 192 96a64 64 0 1 0 128 0zm-21.7 86.2c-12.8 6.3-27.1 9.8-42.3 9.8s-29.5-3.5-42.3-9.8L142.2 307.4C176.1 325.6 214.8 336 256 336c88.8 0 166.4-48.2 207.9-120c4.4-7.6 14.2-10.3 21.9-5.8s10.3 14.2 5.8 21.9c-47 81.3-134.9 136-235.6 136c-47 0-91.1-11.9-129.7-32.8L29.9 503.9c-4.4 7.7-14.2 10.3-21.8 6s-10.3-14.2-6-21.8l97-169.8c-32.1-22.7-59-52.1-78.7-86.2c-4.4-7.6-1.8-17.4 5.8-21.9s17.4-1.8 21.9 5.8c16.9 29.2 39.8 54.6 67 74.3l72.5-126.9C170.5 146.1 160 122.3 160 96c0-53 43-96 96-96s96 43 96 96c0 26.3-10.5 50.1-27.6 67.4l48.4 84.7c4.4 7.7 1.7 17.4-6 21.8s-17.4 1.7-21.8-6l-46.7-81.7zM409 375.9c-4.4-7.7-1.7-17.4 6-21.8s17.4-1.7 21.8 6l73.1 128c4.4 7.7 1.7 17.4-6 21.8s-17.4 1.7-21.8-6L409 375.9z\"]\n};\nvar faDraftingCompass = faCompassDrafting;\nvar faPlateWheat = {\n prefix: 'fal',\n iconName: 'plate-wheat',\n icon: [512, 512, [], \"e55a\", \"M224 112v5.3c-18.6-6.6-32-24.4-32-45.3V66.7c18.6 6.6 32 24.4 32 45.3zM160 48V72c0 44.2 35.8 80 80 80c8.8 0 16-7.2 16-16V112c0-44.2-35.8-80-80-80c-8.8 0-16 7.2-16 16zM48 64c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H48zM16 144c-8.8 0-16 7.2-16 16s7.2 16 16 16H144c8.8 0 16-7.2 16-16s-7.2-16-16-16H16zm16 96c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H48c-8.8 0-16 7.2-16 16zM336 117.3c-18.6-6.6-32-24.4-32-45.3V66.7c18.6 6.6 32 24.4 32 45.3v5.3zM288 32c-8.8 0-16 7.2-16 16V72c0 44.2 35.8 80 80 80c8.8 0 16-7.2 16-16V112c0-44.2-35.8-80-80-80zm160 80v5.3c-18.6-6.6-32-24.4-32-45.3V66.7c18.6 6.6 32 24.4 32 45.3zM384 48V72c0 44.2 35.8 80 80 80c8.8 0 16-7.2 16-16V112c0-44.2-35.8-80-80-80c-8.8 0-16 7.2-16 16zM304 253.3V248c0-20.9 13.4-38.7 32-45.3V208c0 20.9-13.4 38.7-32 45.3zM352 168c-44.2 0-80 35.8-80 80v24c0 8.8 7.2 16 16 16c44.2 0 80-35.8 80-80V184c0-8.8-7.2-16-16-16zM192 248c0-20.9 13.4-38.7 32-45.3V208c0 20.9-13.4 38.7-32 45.3V248zm64-64c0-8.8-7.2-16-16-16c-44.2 0-80 35.8-80 80v24c0 8.8 7.2 16 16 16c44.2 0 80-35.8 80-80V184zm160 69.3V248c0-20.9 13.4-38.7 32-45.3V208c0 20.9-13.4 38.7-32 45.3zM464 168c-44.2 0-80 35.8-80 80v24c0 8.8 7.2 16 16 16c44.2 0 80-35.8 80-80V184c0-8.8-7.2-16-16-16zM129.8 441.1c-5.5-9.5-15.5-15.6-26.5-16C64 423.6 32.5 391.5 32 352H480c-.5 39.5-32 71.6-71.3 73.1c-11 .4-21 6.5-26.5 16c-2.4 4.2-6.9 6.9-11.9 6.9H141.7c-5 0-9.5-2.7-11.9-6.9zM31 320c-17.1 0-31 13.9-31 31c0 57.3 45.3 103.9 102.1 106.1c7.9 13.7 22.7 22.9 39.6 22.9H370.3c17 0 31.8-9.2 39.6-22.9C466.7 454.9 512 408.2 512 351c0-17.1-13.9-31-31-31H31z\"]\n};\nvar faCalendarCircleMinus = {\n prefix: 'fal',\n iconName: 'calendar-circle-minus',\n icon: [576, 512, [], \"e46f\", \"M128 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V64H64C28.7 64 0 92.7 0 128v32 32V448c0 35.3 28.7 64 64 64H330.8c-12.9-9.1-24.5-19.9-34.6-32H64c-17.7 0-32-14.3-32-32V192H352h64 16 16V160 128c0-35.3-28.7-64-64-64H352V16c0-8.8-7.2-16-16-16s-16 7.2-16 16V64H128V16zM64 96H384c17.7 0 32 14.3 32 32v32H32V128c0-17.7 14.3-32 32-32zM432 256a112 112 0 1 1 0 224 112 112 0 1 1 0-224zm0 256a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm80-144c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16s7.2 16 16 16H496c8.8 0 16-7.2 16-16z\"]\n};\nvar faChopsticks = {\n prefix: 'fal',\n iconName: 'chopsticks',\n icon: [640, 512, [], \"e3f7\", \"M43.6 464.5L333.7 42.7C339 36.1 346.9 32 355.7 32C371.1 32 384 44.7 384 61c0 6.7-2.2 12.8-5.9 17.7L43.6 464.5zM355.7 0c-19.4 0-36.5 9.2-47.5 23.4l-.3 .4-.3 .4L6.2 462.4c-10 13.4-7.7 32.4 5.5 42.9c13.3 10.6 32.5 8.3 43-4.8L402.6 99.3l.3-.3 .3-.4C411.2 88.2 416 75.1 416 61c0-33.5-26.8-61-60.3-61zM174.6 467.9L560.4 102.7c5-4.2 11.5-6.7 18.6-6.7c16.2 0 29 12.9 29 28.6c0 8.5-3.7 16.1-9.8 21.4L174.6 467.9zM579 64c-15.1 0-29 5.5-39.6 14.5l-.3 .3-.3 .3L138.5 458c-12.7 11.1-14.1 30.4-3 43.3c11 12.8 30.3 14.3 43.2 3.7L618 171.2l.3-.3 .3-.3c13-11.1 21.4-27.6 21.4-46C640 91 612.5 64 579 64z\"]\n};\nvar faCarWrench = {\n prefix: 'fal',\n iconName: 'car-wrench',\n icon: [512, 512, [\"car-mechanic\"], \"f5e3\", \"M88 40c22 0 41 12.6 50.2 31.1l4.4 8.9h9.9 207 9.9l4.4-8.9C383 52.6 402 40 424 40c25.4 0 46.8 16.9 53.7 40H432c-8.8 0-16 7.2-16 16s7.2 16 16 16h45.7c-6.9 23.1-28.3 40-53.7 40c-22 0-41-12.6-50.2-31.1l-4.4-8.9h-9.9-207-9.9l-4.4 8.9C129 139.4 110 152 88 152c-25.4 0-46.8-16.9-53.7-40H80c8.8 0 16-7.2 16-16s-7.2-16-16-16H34.3C41.2 56.9 62.6 40 88 40zM0 96c0 48.6 39.4 88 88 88c30.9 0 58.1-15.9 73.8-40H350.2c15.7 24.1 42.9 40 73.8 40c48.6 0 88-39.4 88-88s-39.4-88-88-88c-30.9 0-58.1 15.9-73.8 40H161.8C146.1 23.9 118.9 8 88 8C39.4 8 0 47.4 0 96zM188.2 208H323.8c14.3 0 26.8 9.5 30.8 23.2L370.8 288c-.9 0-1.9 0-2.8 0H144c-.9 0-1.9 0-2.8 0l16.2-56.8c3.9-13.7 16.5-23.2 30.8-23.2zm-61.5 14.4L105 298.1C80.6 311.8 64 338 64 368v48 16 32 32c0 8.8 7.2 16 16 16s16-7.2 16-16V464H416v32c0 8.8 7.2 16 16 16s16-7.2 16-16V464 432 416 368c0-30-16.6-56.2-41-69.9l-21.6-75.7c-7.8-27.5-33-46.4-61.5-46.4H188.2c-28.6 0-53.7 18.9-61.5 46.4zM416 416v16H96V416 368c0-26.5 21.5-48 48-48H368c26.5 0 48 21.5 48 48v48zM144 400a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm248-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faCarMechanic = faCarWrench;\nvar faIcicles = {\n prefix: 'fal',\n iconName: 'icicles',\n icon: [512, 512, [], \"f7ad\", \"M0 36.6C0 16.4 16.4 0 36.6 0H474.1C495 0 512 17 512 37.9c0 2.4-.2 4.8-.7 7.2L423.7 499c-1.5 7.5-8.1 13-15.8 13s-14.3-5.5-15.7-13.1l-58.5-312-30.2 121c-1.8 7-8.1 12-15.3 12.1s-13.7-4.7-15.6-11.7l-22-79.4L215.7 403.1c-1.5 7.5-8.1 12.9-15.7 12.9s-14.2-5.4-15.7-12.9L148.1 222.2l-28.9 86.8C117 315.6 110.9 320 104 320s-13-4.4-15.2-10.9L1.9 48.2C.6 44.5 0 40.6 0 36.6zM36.6 32c-2.6 0-4.6 2.1-4.6 4.6c0 .5 .1 1 .2 1.5L104 253.4l32.8-98.5c2.3-6.9 8.9-11.4 16.2-10.9s13.3 5.7 14.7 12.8L200 318.4l32.3-161.6c1.5-7.3 7.7-12.6 15.1-12.9s14 4.6 16 11.7l23.8 85.6 33.3-133.2c1.8-7.3 8.5-12.3 16-12.1s13.9 5.7 15.2 13l56.5 301.3L479.9 39c.1-.4 .1-.7 .1-1.1c0-3.3-2.6-5.9-5.9-5.9H36.6z\"]\n};\nvar faPersonShelter = {\n prefix: 'fal',\n iconName: 'person-shelter',\n icon: [512, 512, [], \"e54f\", \"M264.2 2.3c-5.1-3-11.4-3-16.5 0l-240 144C2.9 149.2 0 154.4 0 160V496c0 8.8 7.2 16 16 16s16-7.2 16-16V169.1L256 34.7 480 169.1V496c0 8.8 7.2 16 16 16s16-7.2 16-16V160c0-5.6-2.9-10.8-7.8-13.7l-240-144zM240 168a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm64 0a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm-72 97.5c3.8-1 7.7-1.5 11.8-1.5h24.5c4 0 8 .5 11.8 1.5V368H232V265.5zM232 400h48v96c0 8.8 7.2 16 16 16s16-7.2 16-16V291.5l42.4 68.9c4.6 7.5 14.5 9.9 22 5.2s9.9-14.5 5.2-22l-45.3-73.5C321.8 246.4 296 232 268.2 232H243.8c-27.8 0-53.6 14.4-68.1 38.1l-45.3 73.5c-4.6 7.5-2.3 17.4 5.2 22s17.4 2.3 22-5.2L200 291.5V496c0 8.8 7.2 16 16 16s16-7.2 16-16V400z\"]\n};\nvar faNeuter = {\n prefix: 'fal',\n iconName: 'neuter',\n icon: [384, 512, [9906], \"f22c\", \"M48 176a144 144 0 1 1 288 0A144 144 0 1 1 48 176zM208 351.3c89.7-8.1 160-83.5 160-175.3C368 78.8 289.2 0 192 0S16 78.8 16 176c0 91.8 70.3 167.2 160 175.3V496c0 8.8 7.2 16 16 16s16-7.2 16-16V351.3z\"]\n};\nvar faIdBadge = {\n prefix: 'fal',\n iconName: 'id-badge',\n icon: [384, 512, [], \"f2c1\", \"M64 32C46.3 32 32 46.3 32 64V448c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H64zM0 64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM224 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-96 0a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zm0-144c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16zM112 400c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-44.2 35.8-80 80-80h64c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-26.5-21.5-48-48-48H160c-26.5 0-48 21.5-48 48z\"]\n};\nvar faKazoo = {\n prefix: 'fal',\n iconName: 'kazoo',\n icon: [640, 512, [], \"f8c7\", \"M416 144a112 112 0 1 1 0 224 112 112 0 1 1 0-224zM523.3 352c22.8-25.5 36.7-59.1 36.7-96c0-37.3-14.2-71.2-37.4-96.8c.2 .3 .5 .5 .7 .8H576c17.7 0 32 14.3 32 32V320c0 17.7-14.3 32-32 32H523.3s0 0 0 0zM482 384h94c35.3 0 64-28.7 64-64V192c0-35.3-28.7-64-64-64H482c-19.8-10.2-42.2-16-66-16s-46.3 5.8-66 16H228.4c-2.9 0-5.8 .4-8.6 1.2C196 135.9 77 169.6 23 185.3C9.4 189.3 0 201.8 0 216v80c0 14.2 9.4 26.7 23 30.7c53.9 15.7 173 49.4 196.8 56.1c2.8 .8 5.7 1.2 8.6 1.2H350c19.8 10.2 42.2 16 66 16s46.3-5.8 66-16zM308.7 352H228.4c-24-6.8-142.7-40.3-196.4-56l0-80c53.7-15.7 172.4-49.2 196.4-56h80.2c-22.8 25.5-36.7 59.1-36.7 96s13.9 70.5 36.7 96zm56-147.3c-6.2 6.2-6.2 16.4 0 22.6L393.4 256l-28.7 28.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L416 278.6l28.7 28.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L438.6 256l28.7-28.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L416 233.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0z\"]\n};\nvar faMarker = {\n prefix: 'fal',\n iconName: 'marker',\n icon: [512, 512, [], \"f5a1\", \"M330.3 97L353 74.3l20.7-20.7c23.4-23.4 61.3-23.4 84.7 0s23.4 61.3 0 84.7L293.7 303 209 218.3 330.3 97zm-144 144L271 325.7l-64.2 64.2c-43.6 43.6-99 73.2-159.4 85.3l-13.2 2.6 2.6-13.2c12.1-60.4 41.8-115.9 85.3-159.4L186.3 241zM307.7 74.3L285.1 97 99.5 282.5c-48 48-80.8 109.2-94.1 175.8l-5 25c-1.6 7.9 .9 16 6.6 21.7s13.8 8.1 21.7 6.6l25-5c66.6-13.3 127.8-46.1 175.8-94.1L481 161c35.9-35.9 35.9-94.1 0-129.9S386.9-4.8 351 31L330.3 51.7 317.3 38.6c-25-25-65.5-25-90.5 0l-94 94 0 0c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l94.1-94.1c9.1-9.1 22.3-11.6 33.6-7.4c4.2 1.5 8.2 4 11.6 7.4l13.1 13.1z\"]\n};\nvar faBinBottles = {\n prefix: 'fal',\n iconName: 'bin-bottles',\n icon: [640, 512, [], \"e5f5\", \"M384 16c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H400c-8.8 0-16-7.2-16-16zM352 192H320c0-35.3-28.7-64-64-64H128c-35.3 0-64 28.7-64 64H32c0-53 43-96 96-96H256c24.9 0 47.6 9.5 64.6 25c19.3 17.6 31.4 42.9 31.4 71zm223.1 0H542.6c-.9-3.3-2.2-6.4-4-9.2c-6.9-10.7-6.8-24.5 .4-35.1c3-4.4 4.7-9.7 4.7-15.5c0-10.8-6.2-20.6-16-25.2l-13.1-6.2c-6.7-3.2-14.1-4.8-21.5-4.8H402.3c-7.4 0-14.8 1.6-21.5 4.8L367.6 107c-3.8 1.8-7.1 4.4-9.7 7.6c-6.5-8.5-14.1-16.2-22.5-22.9c5.2-5.6 11.5-10.3 18.6-13.6l13.2-6.2c11-5.1 23-7.8 35.1-7.8h90.6C505 64 517 66.7 528 71.8L541.2 78c21 9.9 34.4 31 34.4 54.2c0 12.3-3.7 23.8-10.1 33.3c5 7.8 8.4 16.9 9.6 26.5zm2.6 32h18.6 9.8H624c8.8 0 16 7.2 16 16s-7.2 16-16 16H606.1L584.3 441.3c-4.7 40.3-38.9 70.7-79.5 70.7H135.1c-40.6 0-74.7-30.4-79.5-70.7L33.9 256H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H33.9h9.8H62.3 577.7zM66.1 256L87.5 437.6c2.8 24.2 23.3 42.4 47.7 42.4H504.9c24.3 0 44.8-18.2 47.7-42.4L573.9 256H66.1zM160 0h64c17.7 0 32 14.3 32 32c8.8 0 16 7.2 16 16s-7.2 16-16 16H240c-8.8 0-16-7.2-16-16V32H160V48c0 8.8-7.2 16-16 16H128c-8.8 0-16-7.2-16-16s7.2-16 16-16c0-17.7 14.3-32 32-32z\"]\n};\nvar faFaceLaughBeam = {\n prefix: 'fal',\n iconName: 'face-laugh-beam',\n icon: [512, 512, [128513, \"laugh-beam\"], \"f59a\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM256 400c52 0 97.1-32.8 115.7-80H140.3c18.6 47.2 63.7 80 115.7 80zM126.5 288H385.5c14.2 0 25.4 12.3 21.8 26c-18.1 68-79 118-151.3 118s-133.2-50-151.3-118c-3.6-13.7 7.6-26 21.8-26zm30-99.5c-6.2 7.2-10.8 16.8-12.9 25.4c-2.1 8.6-10.8 13.8-19.4 11.6s-13.8-10.8-11.6-19.4c3.2-12.7 9.8-27.1 19.9-38.6C142.4 155.9 157.2 146 176 146s33.6 9.9 43.7 21.5c10 11.5 16.7 25.9 19.9 38.6c2.1 8.6-3.1 17.3-11.6 19.4s-17.3-3.1-19.4-11.6c-2.1-8.6-6.7-18.2-12.9-25.4c-6.2-7.1-12.8-10.5-19.5-10.5s-13.4 3.4-19.5 10.5zm147.1 25.4c-2.1 8.6-10.8 13.8-19.4 11.6s-13.8-10.8-11.6-19.4c3.2-12.7 9.8-27.1 19.9-38.6C302.4 155.9 317.2 146 336 146s33.6 9.9 43.7 21.5c10 11.5 16.7 25.9 19.9 38.6c2.1 8.6-3.1 17.3-11.6 19.4s-17.3-3.1-19.4-11.6c-2.1-8.6-6.7-18.2-12.9-25.4c-6.2-7.1-12.8-10.5-19.5-10.5s-13.4 3.4-19.5 10.5c-6.2 7.2-10.8 16.8-12.9 25.4z\"]\n};\nvar faLaughBeam = faFaceLaughBeam;\nvar faSquareArrowDownLeft = {\n prefix: 'fal',\n iconName: 'square-arrow-down-left',\n icon: [448, 512, [], \"e261\", \"M64 448c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32H384c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H64zM0 416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416zm280-64c8.8 0 16-7.2 16-16s-7.2-16-16-16H182.6L315.3 187.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L160 297.4V192c0-8.8-7.2-16-16-16s-16 7.2-16 16V336c0 8.8 7.2 16 16 16H280z\"]\n};\nvar faBatteryBolt = {\n prefix: 'fal',\n iconName: 'battery-bolt',\n icon: [576, 512, [], \"f376\", \"M80 384h66.4c1 12.1 6.2 23.4 14.4 32H80c-44.2 0-80-35.8-80-80V176c0-44.2 35.8-80 80-80H276l-33.8 32H80c-26.5 0-48 21.5-48 48V336c0 26.5 21.5 48 48 48zm156 32l33.8-32H432c26.5 0 48-21.5 48-48V176c0-26.5-21.5-48-48-48H365.6c-1-12.1-6.2-23.4-14.4-32H432c44.2 0 80 35.8 80 80V336c0 44.2-35.8 80-80 80H236zM560 192c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V208c0-8.8 7.2-16 16-16zM191.7 264H240c5.5 0 10.5 2.8 13.5 7.4s3.3 10.4 1 15.3l-19.4 41.9L320.3 248H272c-5.5 0-10.5-2.8-13.5-7.4s-3.3-10.4-1-15.3l19.4-41.9L191.7 264zM313.6 112c14.7 0 24.4 15.2 18.2 28.5L297 216h49.4c11.9 0 21.6 9.7 21.6 21.6c0 5.9-2.4 11.6-6.7 15.7L212.2 394.5c-3.7 3.5-8.7 5.5-13.8 5.5c-14.7 0-24.4-15.2-18.2-28.5L215 296H165.6c-11.9 0-21.6-9.7-21.6-21.6c0-5.9 2.4-11.6 6.7-15.7L299.8 117.5c3.7-3.5 8.7-5.5 13.8-5.5z\"]\n};\nvar faTreeLarge = {\n prefix: 'fal',\n iconName: 'tree-large',\n icon: [448, 512, [], \"f7dd\", \"M224 0c4.8 0 9.3 2.2 12.4 5.9L377.7 178.6c4.1 5 6.3 11.2 6.3 17.6c0 15.3-12.4 27.8-27.8 27.8H337.3l72.6 90.8c4 4.9 6.1 11.1 6.1 17.4c0 15.4-12.5 27.8-27.8 27.8H366.9l76 107.6c3.4 4.7 5.2 10.4 5.2 16.2c0 15.5-12.6 28.1-28.1 28.1H288 160 28.1C12.6 512 0 499.4 0 483.9c0-5.8 1.8-11.5 5.2-16.2L81.1 360H59.8C44.5 360 32 347.5 32 332.2c0-6.3 2.2-12.5 6.1-17.4L110.7 224H91.8C76.4 224 64 211.6 64 196.2c0-6.4 2.2-12.6 6.3-17.6L211.6 5.9c3-3.7 7.6-5.9 12.4-5.9zM160 480H288 412.4L322.9 353.2c-3.4-4.9-3.9-11.3-1.1-16.6s8.2-8.6 14.2-8.6h43.5l-88-110c-3.8-4.8-4.6-11.4-1.9-16.9s8.3-9.1 14.4-9.1h43.3L224 41.3 100.7 192H144c6.2 0 11.8 3.5 14.4 9.1s1.9 12.1-1.9 16.9l-88 110H112c6 0 11.5 3.3 14.2 8.6s2.3 11.7-1.1 16.6L35.6 480H160z\"]\n};\nvar faHelicopterSymbol = {\n prefix: 'fal',\n iconName: 'helicopter-symbol',\n icon: [512, 512, [], \"e502\", \"M469.7 224H502C487.9 110.9 400 20.7 288 3.1V35.6c94.3 17 168.1 93 181.7 188.4zM502 288H469.7C456.1 383.4 382.3 459.4 288 476.4v32.5C400 491.3 487.9 401.1 502 288zM-6 288C8.7 406.5 104.4 499.8 224 510.9V478.7C122.1 467.9 40.7 388.8 26.3 288H-6zm0-64H26.3C40.7 123.2 122.1 44.1 224 33.3V1.1C104.5 12.2 8.8 105.5-6 224zm182-80c0-8.8-7.2-16-16-16s-16 7.2-16 16V368c0 8.8 7.2 16 16 16s16-7.2 16-16V272H336v96c0 8.8 7.2 16 16 16s16-7.2 16-16V144c0-8.8-7.2-16-16-16s-16 7.2-16 16v96H176V144z\"]\n};\nvar faAperture = {\n prefix: 'fal',\n iconName: 'aperture',\n icon: [512, 512, [], \"e2df\", \"M256 480c-6.1 0-12.1-.2-18.1-.7L316 344l13.8-23.9c0 0 .1-.1 .1-.1l18.5-32 67 116.1 3.3 5.8C377.9 453.1 320.1 480 256 480zm73.9-288H464h6.7c6 20.3 9.3 41.8 9.3 64c0 47.3-14.6 91.1-39.7 127.3L362.2 248l-13.7-23.7c0-.1-.1-.2-.1-.3l-18.5-32zm-55.2-32c-.1 0-.2 0-.2 0h-37l67-116.1 3.4-5.8C374.6 53.9 429.7 99.5 458.4 160H302.2 274.7zM256 32c6.1 0 12.1 .2 18.1 .7L196 168l-13.9 24-18.5 32 0 0-67-116.1-3.3-5.8C134.1 58.9 191.9 32 256 32zM32 256c0-47.3 14.6-91.1 39.7-127.3L149.8 264l32.3 56H48 41.3c-6-20.3-9.3-41.8-9.3-64zM204.1 473.9C137.4 458.1 82.3 412.5 53.6 352H209.8h64.7l-67 116.1-3.4 5.8zM256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm46.1-207.9c-5.7 9.8-16.3 15.9-27.7 15.9H237.5c-11.4 0-22-6.1-27.7-16l-18.5-32c-5.7-9.9-5.7-22.1 0-32l18.5-32c5.7-9.9 16.2-15.9 27.5-16h37.3c11.3 .1 21.7 6.1 27.4 15.8l18.7 32.4c5.6 9.8 5.6 21.9 0 31.7c0 0 0 .1-.1 .1l-18.5 32c0 0 0 .1-.1 .1z\"]\n};\nvar faUniversalAccess = {\n prefix: 'fal',\n iconName: 'universal-access',\n icon: [512, 512, [], \"f29a\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM240 144a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm64 0a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM129.7 200.8c-4 7.9-.7 17.5 7.2 21.5l21.1 10.5c16 8 32.8 14 50.1 17.8v67.7l-15.7 78.4c-1.7 8.7 3.9 17.1 12.6 18.8s17.1-3.9 18.8-12.6L237.1 336h37.8l13.4 67.1c1.7 8.7 10.2 14.3 18.8 12.6s14.3-10.2 12.6-18.8L304 318.4V250.7c17.3-3.9 34.1-9.9 50.1-17.8l21.1-10.5c7.9-4 11.1-13.6 7.2-21.5s-13.6-11.1-21.5-7.2l-21.1 10.5c-26 13-54.7 19.8-83.8 19.8s-57.8-6.8-83.8-19.8l-21.1-10.5c-7.9-4-17.5-.7-21.5 7.2zM240 255.4c5.3 .4 10.7 .6 16 .6s10.7-.2 16-.6V304H240V255.4z\"]\n};\nvar faGearComplex = {\n prefix: 'fal',\n iconName: 'gear-complex',\n icon: [512, 512, [], \"e5e9\", \"M215 62.8l4.9-24.3-15.7-3.1 15.7 3.1c.3-1.5 1-2.8 1.9-3.8C232.9 32.9 244.4 32 256 32s23.1 .9 34.2 2.6c1 1.1 1.6 2.4 1.9 3.8L297 62.8c2.9 14.4 13.2 25.2 25.5 30.3l0 0 1.5 .6 0 0c12.3 5.2 27.3 4.8 39.5-3.3l20.6-13.8c1.2-.8 2.6-1.3 4.1-1.3c9.1 6.7 17.7 14 25.6 21.9l.8 .8 0 0c7.9 8 15.3 16.5 21.9 25.6c-.1 1.4-.5 2.8-1.3 4.1l-13.8 20.6c-8.1 12.2-8.5 27.1-3.3 39.5l0 0 .6 1.5 0 0c5.1 12.4 15.9 22.6 30.3 25.5l24.3 4.9c1.5 .3 2.8 1 3.8 1.9c1.7 11.1 2.6 22.4 2.6 34v.4c0 11.6-.9 22.9-2.6 34c-1.1 1-2.4 1.6-3.8 1.9L449.2 297c-14.4 2.9-25.2 13.2-30.3 25.5l0 0-.6 1.5 0 0c-5.2 12.3-4.8 27.3 3.3 39.5l13.8 20.6c.8 1.2 1.3 2.6 1.3 4.1c-13.6 18.5-29.9 34.9-48.4 48.4c-1.4-.1-2.8-.5-4.1-1.3l-20.6-13.8c-12.2-8.1-27.1-8.5-39.5-3.3l0 0-1.5 .6 0 0c-12.4 5.1-22.6 15.9-25.5 30.3l-4.9 24.3c-.3 1.5-1 2.8-1.9 3.8c-11.1 1.7-22.6 2.6-34.2 2.6s-23.1-.9-34.2-2.6c-1-1.1-1.6-2.4-1.9-3.8L215 449.2c-2.9-14.4-13.2-25.2-25.5-30.3l0 0-1.5-.6 0 0c-12.3-5.2-27.3-4.8-39.5 3.3l-20.6 13.8c-1.2 .8-2.6 1.3-4.1 1.3c-18.5-13.6-34.9-29.9-48.4-48.4c.1-1.4 .5-2.8 1.3-4.1l13.8-20.6c8.1-12.2 8.5-27.1 3.3-39.5l0 0-.6-1.5 0 0c-5.1-12.4-15.9-22.6-30.3-25.5l-24.3-4.9c-1.5-.3-2.8-1-3.8-1.9C32.9 279.1 32 267.6 32 256s.9-23.1 2.6-34.2c1.1-1 2.4-1.6 3.8-1.9L62.8 215c14.4-2.9 25.2-13.2 30.3-25.5l0 0 .6-1.5 0 0c5.2-12.3 4.8-27.3-3.3-39.5L76.6 127.7c-.8-1.2-1.3-2.6-1.3-4.1c6.7-9.1 14-17.7 22-25.7l.8-.8 0 0c8-7.9 16.6-15.3 25.7-22c1.4 .1 2.8 .5 4.1 1.3l20.6 13.8c12.2 8.1 27.1 8.5 39.5 3.3l0 0 1.5-.6 0 0c12.4-5.1 22.7-15.9 25.5-30.3zM256 0c-14.8 0-29.3 1.3-43.4 3.7c-2 .3-3.9 1-5.6 2.1c-9.4 5.6-16.3 15.1-18.6 26.4l-4.9 24.3c-.5 2.6-2.6 5.4-6.3 6.9l0 0-.1 0-1.7 .7 0 0-.1 0c-3.7 1.5-7.1 1-9.4-.4L145.5 50c-9.6-6.4-21.2-8.2-31.7-5.6c-1.9 .5-3.8 1.3-5.4 2.5C96.6 55.2 85.6 64.4 75.4 74.5l0 0-.8 .8 0 0C64.4 85.6 55.2 96.6 46.9 108.3c-1.2 1.6-2 3.5-2.5 5.4c-2.6 10.6-.8 22.1 5.6 31.7l13.8 20.6c1.5 2.2 2 5.7 .4 9.4l0 .1-.7 1.7 0 0 0 .1c-1.5 3.7-4.3 5.8-6.9 6.3l-24.3 4.9c-11.4 2.3-20.8 9.2-26.4 18.6c-1 1.7-1.7 3.6-2.1 5.6C1.3 226.7 0 241.2 0 256s1.3 29.3 3.7 43.4c.3 2 1 3.9 2.1 5.6c5.6 9.4 15.1 16.3 26.4 18.6l24.3 4.9c2.6 .5 5.4 2.6 6.9 6.3l0 .1 .7 1.7 0 .1c1.5 3.7 1 7.1-.4 9.4L50 366.5c-6.4 9.6-8.2 21.2-5.6 31.7c.5 1.9 1.3 3.8 2.5 5.4c16.8 23.8 37.6 44.6 61.5 61.5c1.6 1.2 3.5 2 5.4 2.5c10.6 2.6 22.1 .8 31.7-5.6l20.6-13.8c2.2-1.5 5.7-2 9.4-.4l.1 0 1.7 .7 .1 0c3.7 1.5 5.8 4.3 6.3 6.9l4.9 24.3c2.3 11.4 9.2 20.8 18.6 26.4c1.7 1 3.6 1.7 5.6 2.1c14.1 2.4 28.6 3.7 43.4 3.7s29.3-1.3 43.4-3.7c2-.3 3.9-1 5.6-2.1c9.4-5.6 16.3-15.1 18.6-26.4l4.9-24.3c.5-2.6 2.6-5.4 6.3-6.9l.1 0 1.7-.7 .1 0c3.7-1.5 7.1-1 9.4 .4L366.5 462c9.6 6.4 21.2 8.2 31.7 5.6c1.9-.5 3.8-1.3 5.4-2.5c23.8-16.8 44.6-37.6 61.5-61.4c1.2-1.6 2-3.5 2.5-5.4c2.6-10.6 .8-22.1-5.6-31.7l-13.8-20.6c-1.5-2.2-2-5.7-.4-9.4l0-.1 .7-1.7 0-.1c1.5-3.7 4.3-5.8 6.9-6.3l24.3-4.9-3.1-15.7 3.1 15.7c11.4-2.3 20.8-9.2 26.4-18.6c1-1.7 1.7-3.6 2.1-5.6c2.4-14 3.7-28.5 3.7-43.2v0-.4 0c0-14.7-1.3-29.1-3.7-43.2c-.3-2-1-3.9-2.1-5.6c-5.6-9.4-15.1-16.3-26.4-18.6l-24.3-4.9c-2.6-.5-5.4-2.6-6.9-6.3l0-.1-.7-1.7 0-.1c-1.5-3.7-1-7.1 .4-9.4L462 145.5c6.4-9.6 8.2-21.2 5.6-31.7c-.5-1.9-1.3-3.8-2.5-5.4c-8.3-11.7-17.5-22.7-27.6-32.9l0 0-.9-.9 0 0c-10.1-10.1-21.1-19.3-32.9-27.6c-1.6-1.2-3.5-2-5.4-2.5c-10.6-2.6-22.1-.8-31.7 5.6L345.9 63.7c-2.2 1.5-5.7 2-9.4 .4l-.1 0-1.7-.7-.1 0c-3.7-1.5-5.8-4.3-6.3-6.9l-4.9-24.3c-2.3-11.4-9.2-20.8-18.6-26.4c-1.7-1-3.6-1.7-5.6-2.1C285.3 1.3 270.8 0 256 0zM192 256a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zm160 0a96 96 0 1 0 -192 0 96 96 0 1 0 192 0z\"]\n};\nvar faFileMagnifyingGlass = {\n prefix: 'fal',\n iconName: 'file-magnifying-glass',\n icon: [384, 512, [\"file-search\"], \"f865\", \"M240 320a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zm-8.4 78.3C215.9 409.4 196.7 416 176 416c-53 0-96-43-96-96s43-96 96-96s96 43 96 96c0 20.7-6.6 39.9-17.7 55.6l45.1 45.1c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-45.1-45.1zM352 448V192H240c-26.5 0-48-21.5-48-48V32H64C46.3 32 32 46.3 32 64V448c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32zm-.5-288c-.7-2.8-2.1-5.4-4.2-7.4L231.4 36.7c-2.1-2.1-4.6-3.5-7.4-4.2V144c0 8.8 7.2 16 16 16H351.5zM0 64C0 28.7 28.7 0 64 0H220.1c12.7 0 24.9 5.1 33.9 14.1L369.9 129.9c9 9 14.1 21.2 14.1 33.9V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64z\"]\n};\nvar faFileSearch = faFileMagnifyingGlass;\nvar faUpRight = {\n prefix: 'fal',\n iconName: 'up-right',\n icon: [384, 512, [], \"e2be\", \"M312 128c4.4 0 8 3.6 8 8V337.4c0 3.7-3 6.6-6.6 6.6c-1.8 0-3.4-.7-4.7-1.9l-61.4-61.4c-6.2-6.2-16.4-6.2-22.6 0L112 393.4c-4.2 4.2-10 6.6-16 6.6s-11.8-2.4-16-6.6L54.6 368c-4.2-4.2-6.6-10-6.6-16s2.4-11.8 6.6-16L167.3 223.3c3-3 4.7-7.1 4.7-11.3s-1.7-8.3-4.7-11.3l-61.4-61.4c-1.2-1.2-1.9-2.9-1.9-4.7c0-3.7 3-6.6 6.6-6.6H312zm40 8c0-22.1-17.9-40-40-40H110.6C89.3 96 72 113.3 72 134.6c0 10.2 4.1 20.1 11.3 27.3L133.4 212 32 313.4C21.8 323.6 16 337.5 16 352s5.8 28.4 16 38.6L57.4 416c10.2 10.2 24.1 16 38.6 16s28.4-5.8 38.6-16L236 314.6l50.1 50.1c7.2 7.2 17.1 11.3 27.3 11.3c21.3 0 38.6-17.3 38.6-38.6V136z\"]\n};\nvar faCircleChevronUp = {\n prefix: 'fal',\n iconName: 'circle-chevron-up',\n icon: [512, 512, [\"chevron-circle-up\"], \"f139\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM379.3 276.7l-112-112c-6.2-6.2-16.4-6.2-22.6 0l-112 112c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L256 198.6 356.7 299.3c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6z\"]\n};\nvar faChevronCircleUp = faCircleChevronUp;\nvar faUserPolice = {\n prefix: 'fal',\n iconName: 'user-police',\n icon: [448, 512, [], \"e333\", \"M217.1 .8l-144 32C61.7 35.3 52.5 43.8 49.3 55.1s-.2 23.3 8.1 31.6L80 109.3v1.6c0 15.6 7.6 31.8 23.2 40.1c22.5 12 59.5 25 120.8 25s98.3-13.1 120.8-25c15.5-8.2 23.2-24.5 23.2-40.1v-1.6l22.6-22.6-6.2-6.2 6.2 6.2c8.3-8.3 11.4-20.4 8.1-31.6s-12.4-19.8-23.8-22.3l-144-32c-4.6-1-9.3-1-13.9 0zM224 32L368 64 340.7 91.3c-3 3-4.7 7.1-4.7 11.3v8.2c0 5.8-2.8 10-6.2 11.8c-11.9 6.3-30.3 13.8-58.4 18C284.2 121.1 288 98.9 288 83.2c0-6.5-4-12.4-10.1-14.9l-48-19.2c-3.8-1.5-8.1-1.5-11.9 0l-48 19.2C164 70.8 160 76.7 160 83.2c0 15.7 3.8 37.9 16.5 57.5c-28.1-4.2-46.5-11.7-58.4-18c-3.4-1.8-6.2-6-6.2-11.8v-8.2c0-4.2-1.7-8.3-4.7-11.3L80 64 224 32zM96 192c0 70.7 57.3 128 128 128s128-57.3 128-128c0-2.9-.1-5.8-.3-8.7c-9.1 4.3-19.6 8.5-31.8 12.1C318.1 246.9 275.9 288 224 288s-94.1-41.1-95.9-92.6c-12.2-3.6-22.7-7.8-31.8-12.1c-.2 2.9-.3 5.8-.3 8.7zm128-49.7C203.5 131 195.1 111 192.7 93.7L224 81.2l31.3 12.5C252.9 111 244.5 131 224 142.3zM191.4 429.5c18.4 17 46.7 17 65.1 0L305.8 384h7.8c54.4 0 98.9 42.4 102.2 96H336V464h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H336V416c0-8.8-7.2-16-16-16s-16 7.2-16 16v16H288c-8.8 0-16 7.2-16 16s7.2 16 16 16h16v16H32.2c3.3-53.6 47.8-96 102.2-96h7.8l49.3 45.5zM320.3 512H422.4c14.1 0 25.6-11.5 25.6-25.6C448 412.2 387.8 352 313.6 352h-7.8c-8 0-15.8 3-21.7 8.5L234.9 406c-6.1 5.7-15.6 5.7-21.7 0l-49.3-45.5c-5.9-5.5-13.7-8.5-21.7-8.5h-7.8C60.2 352 0 412.2 0 486.4C0 500.5 11.5 512 25.6 512H319.7c.1 0 .2 0 .3 0s.2 0 .3 0z\"]\n};\nvar faLariSign = {\n prefix: 'fal',\n iconName: 'lari-sign',\n icon: [384, 512, [], \"e1c8\", \"M144 32c8.8 0 16 7.2 16 16V98.7c10.4-1.7 21.1-2.7 32-2.7s21.6 .9 32 2.7V48c0-8.8 7.2-16 16-16s16 7.2 16 16v58.9c62.8 22.2 110.7 76.2 124.2 142.7c1.8 8.7-3.8 17.1-12.5 18.9s-17.1-3.8-18.9-12.5c-10.5-51.6-45.7-94.1-92.8-114.7L256 272c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-140.8c-10.3-2.1-21-3.2-32-3.2s-21.7 1.1-32 3.2L160 272c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-130.7C71.5 166 32 222.4 32 288c0 88.4 71.6 160 160 160H368c8.8 0 16 7.2 16 16s-7.2 16-16 16H192 16c-8.8 0-16-7.2-16-16s7.2-16 16-16H85.8C34.1 413.6 0 354.8 0 288c0-83.6 53.4-154.7 128-181.1V48c0-8.8 7.2-16 16-16z\"]\n};\nvar faVolcano = {\n prefix: 'fal',\n iconName: 'volcano',\n icon: [512, 512, [127755], \"f770\", \"M213 58.7c-2.5 5-7.4 8.3-12.9 8.8s-11-2-14.3-6.4c-5.9-7.9-15.2-13-25.8-13c-17.7 0-32 14.3-32 32s14.3 32 32 32c9.7 0 18.3-4.3 24.2-11.1c3.1-3.6 7.7-5.6 12.4-5.5s9.2 2.3 12.2 6l46.7 58.4c.1 .2 .3 .2 .5 .2s.4-.1 .5-.2l46.7-58.4c3-3.7 7.4-5.9 12.2-6s9.3 1.9 12.4 5.5c5.9 6.8 14.5 11.1 24.2 11.1c17.7 0 32-14.3 32-32s-14.3-32-32-32c-10.6 0-19.9 5.1-25.8 13c-3.3 4.5-8.7 6.9-14.3 6.4s-10.5-3.8-12.9-8.8C291.1 42.8 274.8 32 256 32s-35.1 10.8-43 26.7zM256 0c23.9 0 45.3 10.5 60 27.1c10.3-7 22.6-11.1 36-11.1c35.3 0 64 28.7 64 64s-28.7 64-64 64c-12.5 0-24.2-3.6-34.1-9.8l-36.4 45.6c-6.2 7.7-15.6 12.3-25.5 12.3s-19.3-4.5-25.5-12.3l-36.4-45.6c-9.9 6.2-21.5 9.8-34.1 9.8c-35.3 0-64-28.7-64-64s28.7-64 64-64c13.4 0 25.8 4.1 36 11.1C210.7 10.5 232.1 0 256 0zM32 459.8C32 471 41 480 52.2 480H459.8c11.1 0 20.2-9 20.2-20.2c0-4.9-1.8-9.7-5.1-13.4L387 347.5 362 385c-6.3 9.4-16.8 15-28 15c-8.9 0-17.5-3.6-23.8-9.9l-34.5-34.5C263.1 343.1 246 336 228.3 336c-13.2 0-26.1 3.9-37.1 11.2l-17.8 11.9c-8.7 5.8-18.9 8.9-29.3 8.9s-20.6-3.1-29.3-8.9L37.1 446.4c-3.3 3.7-5.1 8.5-5.1 13.4zm303.4-92.6L365 322.8l-40.3-45.3c-12.1-13.7-29.6-21.5-47.8-21.5H235.1c-18.3 0-35.7 7.8-47.8 21.5l-50.8 57.1c2.4 .9 4.9 1.4 7.5 1.4c4.1 0 8.1-1.2 11.6-3.5l17.8-11.9c16.3-10.8 35.4-16.6 54.9-16.6c26.2 0 51.4 10.4 70 29l34.5 34.5c.3 .3 .8 .5 1.2 .5c.6 0 1.1-.3 1.4-.8zm13.3-111l34.7 39.1 0 0 22 24.7 0 0 93.5 105.2c8.5 9.5 13.2 21.9 13.2 34.7c0 28.8-23.4 52.2-52.2 52.2H52.2C23.4 512 0 488.6 0 459.8c0-12.8 4.7-25.1 13.2-34.7l74.6-84 21.5-24.1 54.1-60.8c18.2-20.5 44.3-32.2 71.8-32.2h41.8c27.4 0 53.5 11.7 71.8 32.2z\"]\n};\nvar faTeddyBear = {\n prefix: 'fal',\n iconName: 'teddy-bear',\n icon: [576, 512, [], \"e3cf\", \"M160 64c0 12.5 7.2 23.4 17.8 28.7c6.9 3.4 10.3 11.2 8.3 18.6c-1.3 4.8-2.1 10.4-2.1 16.7c0 51.3 44.7 96 104 96s104-44.7 104-96c0-6.4-.8-11.9-2.1-16.7c-2-7.4 1.5-15.2 8.3-18.6C408.8 87.4 416 76.5 416 64c0-17.7-14.3-32-32-32c-15.1 0-27.8 10.5-31.2 24.7c-2 8.6-10.5 13.9-19.1 12C319 65.3 303 64 288 64s-31 1.3-45.7 4.6c-8.6 1.9-17.1-3.4-19.1-12C219.8 42.5 207.1 32 192 32c-17.7 0-32 14.3-32 32zM192 0c24.8 0 46.4 14.2 57 34.8c13.3-2 26.6-2.8 39-2.8s25.7 .8 39 2.8C337.6 14.2 359.2 0 384 0c35.3 0 64 28.7 64 64c0 20.6-9.8 38.9-24.9 50.6c.6 4.3 .9 8.8 .9 13.4c0 70.7-60.9 128-136 128s-136-57.3-136-128c0-4.6 .3-9.1 .9-13.4C137.8 102.9 128 84.6 128 64c0-35.3 28.7-64 64-64zm96 184c-17.7 0-32-10.7-32-24s14.3-24 32-24s32 10.7 32 24s-14.3 24-32 24zM56 190c27.6-22.1 67.9-17.6 90 10l10.8 13.5c67.3 84.1 195.1 84.1 262.4 0L430 200c22.1-27.6 62.4-32.1 90-10s32.1 62.4 10 90l-10.8 13.5c-27 33.7-59.5 59.8-95.1 78.2V384h26c7.1-27.6 32.2-48 62-48c35.3 0 64 28.7 64 64c0 35.7-15.5 70.2-25.3 88.7c-8.1 15.3-24 23.3-39.9 23.3H464l-.1 0H112.1l-.1 0H65.1c-15.9 0-31.8-8-39.9-23.3C15.5 470.2 0 435.7 0 400c0-35.3 28.7-64 64-64c29.8 0 54.9 20.4 62 48h26V371.7c-35.6-18.4-68.2-44.5-95.1-78.2L46 280c-22.1-27.6-17.6-67.9 10-90zm55.9 290l.1 0h96V464c0-26.5-21.5-48-48-48v0H112c-8.8 0-16-7.2-16-16c0-17.7-14.3-32-32-32s-32 14.3-32 32c0 27.6 12.4 56.4 21.5 73.7c1.9 3.6 6.1 6.3 11.6 6.3h46.8zM184 387.7c4 1.3 7.9 2.8 11.6 4.7C205.7 359.7 236.1 336 272 336h32c35.9 0 66.3 23.7 76.4 56.3c3.7-1.8 7.6-3.4 11.6-4.7V361.8c0-6.2 3.6-11.8 9.2-14.5c34.9-16.5 66.8-41.1 93-73.8L505 260c11-13.8 8.8-33.9-5-45s-33.9-8.8-45 5l-10.8 13.5c-80.1 100.1-232.3 100.1-312.3 0L121 220c-11-13.8-31.2-16-45-5s-16 31.2-5 45l10.8 13.5c26.2 32.7 58.1 57.3 93 73.8c5.6 2.6 9.2 8.3 9.2 14.5v25.9zM224 416c10 13.4 16 30 16 48v16h96V464c0-18 6-34.6 16-48c0-26.5-21.5-48-48-48H272c-26.5 0-48 21.5-48 48zm192 0c-26.5 0-48 21.5-48 48v16h96l.1 0h46.8c5.5 0 9.7-2.7 11.6-6.3c9.2-17.3 21.5-46.1 21.5-73.7c0-17.7-14.3-32-32-32s-32 14.3-32 32c0 8.8-7.2 16-16 16H416v0zM240 96a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm80 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faStocking = {\n prefix: 'fal',\n iconName: 'stocking',\n icon: [384, 512, [], \"f7d5\", \"M96 32H352V80H96V32zM64 32V80c0 17.7 14.3 32 32 32H352c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H96C78.3 0 64 14.3 64 32zm64 206.9V144H96v94.9c0 10.7-5.3 20.7-14.2 26.6L55.7 282.9C20.9 306.1 0 345.1 0 386.9v2.2C0 457 55 512 122.8 512c24.2 0 48-7.2 68.1-20.6L295 422c35.6-23.7 57-63.7 57-106.5V144H320V315.5c0 32.1-16 62.1-42.7 79.9L173.2 464.7c-14.9 9.9-32.4 15.3-50.4 15.3C72.7 480 32 439.3 32 389.2v-2.2c0-31.1 15.6-60.2 41.4-77.4l26.1-17.4c17.8-11.9 28.5-31.9 28.5-53.3z\"]\n};\nvar faPersonWalkingDashedLineArrowRight = {\n prefix: 'fal',\n iconName: 'person-walking-dashed-line-arrow-right',\n icon: [640, 512, [], \"e553\", \"M176 56a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm80 0A56 56 0 1 0 144 56a56 56 0 1 0 112 0zM117.6 172.3c1.3-.7 2.6-1.4 3.9-2L95 255.2c-5.7 18.2 0 38.1 14.4 50.6L209.9 393l30.7 107.4c2.4 8.5 11.3 13.4 19.8 11s13.4-11.3 11-19.8L240.7 384.2c-1.7-6-5.1-11.3-9.8-15.4L187.3 331l37.8-109.2 8.8 26.4c5.6 16.9 16.7 31.4 31.5 41.3l29.7 19.8c7.4 4.9 17.3 2.9 22.2-4.4s2.9-17.3-4.4-22.2l-29.7-19.8c-8.9-5.9-15.5-14.6-18.9-24.8l-17.1-51.4c-11.7-35-44.5-58.7-81.4-58.7c-22.1 0-43.9 5.6-63.4 16.2l-12.7 6.9c-35.3 19.3-61 52.4-70.7 91.5l-2.4 9.5c-2.1 8.6 3.1 17.3 11.6 19.4s17.3-3.1 19.4-11.6l2.4-9.6c7.6-30.4 27.5-56.2 55-71.2l12.7-6.9zm7.9 92.5l32.7-104.5c2.5-.2 5-.3 7.5-.3c15.9 0 30.5 7 40.6 18.4l-45 130-30.9-26.8c-4.8-4.2-6.7-10.8-4.8-16.9zm-6.4 88.9c-7.9-4-17.5-.7-21.5 7.2L66.9 422.5 4.7 484.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l62.2-62.2c2.4-2.4 4.5-5.2 6-8.3l30.8-61.7c4-7.9 .7-17.5-7.2-21.5zM416 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V80c0 8.8 7.2 16 16 16s16-7.2 16-16V16zM538.2 163.7c-6.8-5.7-16.9-4.7-22.5 2s-4.7 16.9 2 22.5L579.8 240H384c-8.8 0-16 7.2-16 16s7.2 16 16 16H579.8l-62.1 51.7c-6.8 5.7-7.7 15.7-2 22.5s15.7 7.7 22.5 2l96-80c3.6-3 5.8-7.5 5.8-12.3s-2.1-9.3-5.8-12.3l-96-80zM400 128c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16s16-7.2 16-16V144c0-8.8-7.2-16-16-16zm16 208c0-8.8-7.2-16-16-16s-16 7.2-16 16v32c0 8.8 7.2 16 16 16s16-7.2 16-16V336zm-16 80c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V432c0-8.8-7.2-16-16-16z\"]\n};\nvar faImageSlash = {\n prefix: 'fal',\n iconName: 'image-slash',\n icon: [640, 512, [], \"e1b7\", \"M25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4zM576 96c0-35.3-28.7-64-64-64H139.6l40.5 32H512c17.7 0 32 14.3 32 32V265.4l-67.7-67.7c-15.6-15.6-40.9-15.6-56.6 0l-31 31 25.3 20 28.4-28.4c3.1-3.1 8.2-3.1 11.3 0L544 310.6v40.7l32 25.3V96zM297.6 319.8l-9.6 9.6-67.7-67.7c-15.6-15.6-40.9-15.6-56.6 0L96 329.4V160.7L64 135.4V416c0 35.3 28.7 64 64 64H500.4l-40.5-32H214.6L322.8 339.8l-25.3-20zM265.4 352l-96 96H128c-17.7 0-32-14.3-32-32V374.6l90.3-90.3c3.1-3.1 8.2-3.1 11.3 0L265.4 352z\"]\n};\nvar faMaskSnorkel = {\n prefix: 'fal',\n iconName: 'mask-snorkel',\n icon: [576, 512, [], \"e3b7\", \"M560 32c8.8 0 16 7.2 16 16V160H544V48c0-8.8 7.2-16 16-16zM448 480c53 0 96-43 96-96V192h32V384c0 70.7-57.3 128-128 128s-128-57.3-128-128V368c0-8.8 7.2-16 16-16s16 7.2 16 16v16c0 53 43 96 96 96zM64 96c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32h79.7c14.3 0 26.8-9.5 30.8-23.2l3.4-11.7c13.3-46.4 79-46.4 92.3 0l3.4 11.7c3.9 13.7 16.5 23.2 30.8 23.2H384c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32H64zM0 128C0 92.7 28.7 64 64 64H384c35.3 0 64 28.7 64 64v96c0 35.3-28.7 64-64 64H304.3c-28.6 0-53.7-18.9-61.5-46.4l-3.4-11.7c-4.4-15.5-26.3-15.5-30.8 0l-3.4 11.7c-7.9 27.5-33 46.4-61.5 46.4H64c-35.3 0-64-28.7-64-64V128z\"]\n};\nvar faSmoke = {\n prefix: 'fal',\n iconName: 'smoke',\n icon: [640, 512, [], \"f760\", \"M160 32c-53 0-96 43-96 96c0 28.1 12 53.3 31.2 70.8c-11.2 3.2-21.9 7.5-32.1 12.8C43.7 189.2 32 160 32 128C32 57.3 89.3 0 160 0c40.1 0 75.9 18.4 99.3 47.3C277.4 37.5 298.1 32 320 32c44.3 0 83.4 22.5 106.4 56.8c-9.1 5.8-17.5 12.4-25.3 19.8C384.1 81.8 354.1 64 320 64c-20.8 0-40 6.6-55.7 17.8c-3.6 2.6-8.1 3.5-12.4 2.7s-8.1-3.5-10.4-7.2C224.5 50 194.3 32 160 32zM144 256C82.1 256 32 306.1 32 368s50.1 112 112 112H464c44.2 0 80-35.8 80-80s-35.8-80-80-80c-11.7 0-22.7 2.5-32.7 7c-4 1.8-8.6 1.9-12.7 .2s-7.3-5-8.8-9.1c-13.7-36.3-48.8-62-89.8-62c-28.9 0-54.8 12.8-72.4 33c-2.9 3.4-7.1 5.4-11.6 5.5s-8.8-1.6-11.9-4.8C203.7 268.9 175.4 256 144 256zM0 368c0-79.5 64.5-144 144-144c34.5 0 66.2 12.1 90.9 32.3C257.5 236.2 287.3 224 320 224c49.1 0 91.8 27.7 113.2 68.3c9.8-2.8 20.1-4.3 30.8-4.3c61.9 0 112 50.1 112 112s-50.1 112-112 112H144C64.5 512 0 447.5 0 368zM608 224c0-53-43-96-96-96c-41.3 0-76.6 26.1-90.1 62.8c-2 5.4-6.7 9.3-12.4 10.3s-11.4-1.2-15-5.7C376.8 173.8 350 160 320 160c-38.7 0-72.1 22.9-87.3 56c-9.2-5.4-18.9-9.9-29-13.6C224 158.5 268.4 128 320 128c31.4 0 60.1 11.3 82.3 30c22.4-37.1 63.1-62 109.7-62c70.7 0 128 57.3 128 128c0 42.2-20.4 79.6-51.9 102.9c-5.5-9.2-11.9-17.8-19.2-25.6C592.6 283.9 608 255.7 608 224z\"]\n};\nvar faSterlingSign = {\n prefix: 'fal',\n iconName: 'sterling-sign',\n icon: [320, 512, [163, \"gbp\", \"pound-sign\"], \"f154\", \"M80 152c0-48.6 39.4-88 88-88h7.1c9.5 0 18.9 1.5 27.8 4.5l80 26.7c8.4 2.8 17.4-1.7 20.2-10.1s-1.7-17.4-10.1-20.2l-80-26.7c-12.2-4.1-25-6.2-37.9-6.2H168C101.7 32 48 85.7 48 152V256H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H47.9C46.3 346.2 31 403.1 3.1 454.3l-1.1 2c-2.7 5-2.6 11 .3 15.8S10.4 480 16 480H304c8.8 0 16-7.2 16-16s-7.2-16-16-16H42.1c23.5-50.1 36.4-104.6 37.8-160H240c8.8 0 16-7.2 16-16s-7.2-16-16-16H80V152z\"]\n};\nvar faGbp = faSterlingSign;\nvar faPoundSign = faSterlingSign;\nvar faBatteryExclamation = {\n prefix: 'fal',\n iconName: 'battery-exclamation',\n icon: [576, 512, [], \"e0b0\", \"M208 96H80C35.8 96 0 131.8 0 176V336c0 44.2 35.8 80 80 80H216.6c-5.4-9.4-8.6-20.3-8.6-32H80c-26.5 0-48-21.5-48-48V176c0-26.5 21.5-48 48-48H208V96zM432 416c44.2 0 80-35.8 80-80V176c0-44.2-35.8-80-80-80H336v32h96c26.5 0 48 21.5 48 48V336c0 26.5-21.5 48-48 48H336c0 11.7-3.1 22.6-8.6 32H432zM576 208c0-8.8-7.2-16-16-16s-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V208zM272 96c-8.8 0-16 7.2-16 16V296c0 8.8 7.2 16 16 16s16-7.2 16-16V112c0-8.8-7.2-16-16-16zm24 280a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faViruses = {\n prefix: 'fal',\n iconName: 'viruses',\n icon: [640, 512, [], \"e076\", \"M78.9 327.8l15.2-15.2c30.2-30.2 81.9-8.8 81.9 33.9V368c0 8.8 7.2 16 16 16s16-7.2 16-16V346.5c0-42.8 51.7-64.2 81.9-33.9l15.2 15.2c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-15.2-15.2c-30.2-30.2-8.8-81.9 33.9-81.9H368c8.8 0 16-7.2 16-16s-7.2-16-16-16H346.5c-42.8 0-64.2-51.7-33.9-81.9l15.2-15.2c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L289.9 71.4C259.7 101.7 208 80.3 208 37.5V16c0-8.8-7.2-16-16-16s-16 7.2-16 16V37.5c0 42.8-51.7 64.2-81.9 33.9L78.9 56.2c-6.2-6.2-16.4-6.3-22.6 0s-6.2 16.4 0 22.6L71.4 94.1c30.2 30.2 8.8 81.9-33.9 81.9H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H37.5c42.8 0 64.2 51.7 33.9 81.9L56.2 305.1c-6.2 6.2-6.3 16.4 0 22.6s16.4 6.2 22.6 0zm7-135.8c22.8-17.4 34.9-46.6 31.1-75c28.5 3.8 57.6-8.3 75-31.1c8.4 11 19.5 19.5 32 24.9c13.4 5.8 28.3 8.1 43 6.1c-3.8 28.5 8.3 57.6 31.1 75c-22.8 17.4-34.9 46.6-31.1 75c-28.5-3.8-57.6 8.3-75 31.1c-17.4-22.8-46.6-34.9-75-31.1c3.8-28.5-8.3-57.6-31.1-75zm82.1 0a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm72 32a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM496 352a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm101.8 95.2C574.5 423.9 591 384 624 384c8.8 0 16-7.2 16-16s-7.2-16-16-16c-33 0-49.5-39.9-26.2-63.2c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0C551.9 289.5 512 273 512 240c0-8.8-7.2-16-16-16s-16 7.2-16 16c0 33-39.9 49.5-63.2 26.2c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6C417.5 312.1 401 352 368 352c-8.8 0-16 7.2-16 16s7.2 16 16 16c33 0 49.5 39.9 26.2 63.2c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0C440.1 446.5 480 463 480 496c0 8.8 7.2 16 16 16s16-7.2 16-16c0-33 39.9-49.5 63.2-26.2c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6zM579.5 368c-17 14.5-26.3 36.8-24.5 59.1c-22.3-1.8-44.6 7.4-59.1 24.5c-14.5-17-36.8-26.3-59.1-24.5c1.8-22.3-7.4-44.6-24.5-59.1c17-14.5 26.3-36.8 24.5-59.1c22.3 1.8 44.6-7.4 59.1-24.5c8.5 10 19.7 17.3 32 21.3c8.7 2.8 17.9 3.9 27.1 3.2c-1.8 22.3 7.4 44.6 24.5 59.1z\"]\n};\nvar faSquarePersonConfined = {\n prefix: 'fal',\n iconName: 'square-person-confined',\n icon: [448, 512, [], \"e577\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm296 96c30.9 0 56 25.1 56 56V360c0 30.9-25.1 56-56 56c-25.1 0-48.8-11.5-64.4-31.3l-53.5-68.2-52.2 91.4c-4.4 7.7-14.2 10.3-21.8 6s-10.3-14.2-6-21.8l64-112c2.6-4.6 7.4-7.6 12.7-8s10.5 1.9 13.8 6.1L240 343.6V248c0-30.9 25.1-56 56-56zm24 168V248c0-13.3-10.7-24-24-24s-24 10.7-24 24V360c0 13.3 10.7 24 24 24s24-10.7 24-24zM232 152a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-80 0a56 56 0 1 1 112 0 56 56 0 1 1 -112 0z\"]\n};\nvar faUserTie = {\n prefix: 'fal',\n iconName: 'user-tie',\n icon: [448, 512, [], \"f508\", \"M224 32a96 96 0 1 1 0 192 96 96 0 1 1 0-192zM96 128a128 128 0 1 0 256 0A128 128 0 1 0 96 128zm96 176c-8.8 0-16 7.2-16 16s7.2 16 16 16h9.8l-21.7 65-32.1-69.5c-2.9-6.3-9.5-10-16.3-8.8C56.8 336.5 0 402.3 0 481.3c0 17 13.8 30.7 30.7 30.7H417.3c17 0 30.7-13.8 30.7-30.7c0-79-56.8-144.7-131.8-158.6c-6.8-1.3-13.4 2.5-16.3 8.8L267.9 401l-21.7-65H256c8.8 0 16-7.2 16-16s-7.2-16-16-16H224 192zm17.5 160.5l-9.7-21.1L224 370.6l24.3 72.8-9.7 21.1c-5.7 12.4-23.3 12.4-29.1 0zm-29.1 13.4c.3 .7 .7 1.4 1 2.1H32c.6-58.1 39.5-107.1 92.7-122.8l55.7 120.7zM416 480H266.6c.3-.7 .7-1.4 1-2.1l55.7-120.7c53.2 15.7 92.1 64.6 92.7 122.8z\"]\n};\nvar faUpToBracket = {\n prefix: 'fal',\n iconName: 'up-to-bracket',\n icon: [448, 512, [], \"e66e\", \"M222.2 192.8c.5-.5 1.1-.8 1.8-.8s1.4 .3 1.8 .8L350.2 324.7c1.2 1.2 1.8 2.9 1.8 4.6c0 3.7-3 6.7-6.7 6.7L288 336c-8.8 0-16 7.2-16 16l0 120c0 4.4-3.6 8-8 8l-80 0c-4.4 0-8-3.6-8-8l0-120c0-8.8-7.2-16-16-16l-57.3 0c-3.7 0-6.7-3-6.7-6.7c0-1.7 .7-3.3 1.8-4.6L222.2 192.8zM224 160c-9.5 0-18.6 3.9-25.1 10.8L74.5 302.8C67.8 310 64 319.5 64 329.3c0 21.4 17.3 38.7 38.7 38.7l41.3 0 0 104c0 22.1 17.9 40 40 40l80 0c22.1 0 40-17.9 40-40l0-104 41.3 0c21.4 0 38.7-17.3 38.7-38.7c0-9.9-3.8-19.3-10.5-26.5L249.1 170.8c-6.5-6.9-15.6-10.8-25.1-10.8zM32 176l0-96c0-26.5 21.5-48 48-48l288 0c26.5 0 48 21.5 48 48l0 96c0 8.8 7.2 16 16 16s16-7.2 16-16l0-96c0-44.2-35.8-80-80-80L80 0C35.8 0 0 35.8 0 80l0 96c0 8.8 7.2 16 16 16s16-7.2 16-16z\"]\n};\nvar faArrowDownLong = {\n prefix: 'fal',\n iconName: 'arrow-down-long',\n icon: [384, 512, [\"long-arrow-down\"], \"f175\", \"M180.7 507.3c6.2 6.2 16.4 6.2 22.6 0l144-144c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L208 457.4 208 16c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 441.4L59.3 340.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l144 144z\"]\n};\nvar faLongArrowDown = faArrowDownLong;\nvar faTentArrowDownToLine = {\n prefix: 'fal',\n iconName: 'tent-arrow-down-to-line',\n icon: [640, 512, [], \"e57e\", \"M243.8 117.2c-5.9-6.5-16.1-7-22.6-1.1L160 171.8 160 16c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 155.8L66.8 116.2c-6.5-5.9-16.7-5.5-22.6 1.1s-5.5 16.7 1.1 22.6l88 80c6.1 5.5 15.4 5.5 21.5 0l88-80c6.5-5.9 7-16.1 1.1-22.6zM0 496c0 8.8 7.2 16 16 16H624c8.8 0 16-7.2 16-16s-7.2-16-16-16H16c-8.8 0-16 7.2-16 16zM393.5 131.1c-5.7-4.2-13.4-4.2-19 0L201 259.3c-10.1 7.5-16.9 18.7-18.9 31.1l-22 139c-1.4 8.7 4.6 16.9 13.3 18.3s16.9-4.6 18.3-13.3l22-139.1c.7-4.1 2.9-7.9 6.3-10.4L368 175.7V287.8c0 .2 0 .3 0 .5V432c0 8.8 7.2 16 16 16s16-7.2 16-16V340.8l66.7 100c4.9 7.4 14.8 9.3 22.2 4.4s9.3-14.8 4.4-22.2L400 283.2V175.7L547.9 285.1c3.4 2.5 5.6 6.2 6.3 10.4l22 139.1c1.4 8.7 9.6 14.7 18.3 13.3s14.7-9.6 13.3-18.3l-22-139c-2-12.4-8.7-23.6-18.9-31.1L393.5 131.1z\"]\n};\nvar faCertificate = {\n prefix: 'fal',\n iconName: 'certificate',\n icon: [512, 512, [], \"f0a3\", \"M170.7 108.3c7.5-4.3 12.9-11.5 15-19.8l12.3-48.6 35 36c6 6.2 14.3 9.7 22.9 9.7s16.9-3.5 22.9-9.7l35-36 12.3 48.6c2.1 8.4 7.5 15.5 15 19.8s16.4 5.4 24.7 3.1l48.3-13.6L400.6 146c-2.3 8.3-1.2 17.2 3.1 24.7s11.5 12.9 19.8 15l48.6 12.3-36 35c-6.2 6-9.7 14.3-9.7 22.9s3.5 16.9 9.7 22.9l36 35-48.6 12.3c-8.4 2.1-15.5 7.5-19.8 15s-5.4 16.4-3.1 24.7l13.6 48.3L366 400.6c-8.3-2.3-17.2-1.2-24.7 3.1s-12.9 11.5-15 19.8l-12.3 48.6-35-36c-6-6.2-14.3-9.7-22.9-9.7s-16.9 3.5-22.9 9.7l-35 36-12.3-48.6c-2.1-8.4-7.5-15.5-15-19.8s-16.4-5.4-24.7-3.1L97.8 414.2 111.4 366c2.3-8.3 1.2-17.2-3.1-24.7s-11.5-12.9-19.8-15L39.8 313.9l36-35c6.2-6 9.7-14.3 9.7-22.9s-3.5-16.9-9.7-22.9l-36-35 48.6-12.3c8.4-2.1 15.5-7.5 19.8-15s5.4-16.4 3.1-24.7L97.8 97.8 146 111.4c8.3 2.3 17.2 1.2 24.7-3.1zM49.6 162.6l-31.5 8c-8.4 2.1-15 8.7-17.3 17.1S1 205 7.3 211l23.3 22.6L53.5 256 30.5 278.3 7.3 301C1 307-1.4 316 .8 324.4s8.9 14.9 17.3 17.1l31.5 8 31 7.9-8.7 30.8-8.8 31.2c-2.4 8.4 0 17.4 6.1 23.5s15.1 8.5 23.5 6.1l31.2-8.8 30.8-8.7 7.9 31 8 31.5c2.1 8.4 8.7 15 17.1 17.3s17.3-.2 23.4-6.4l22.6-23.3L256 458.5l22.3 22.9L301 504.7c6.1 6.2 15 8.7 23.4 6.4s14.9-8.9 17.1-17.3l8-31.5 7.9-31 30.8 8.7 31.2 8.8c8.4 2.4 17.4 0 23.5-6.1s8.5-15.1 6.1-23.5l-8.8-31.2-8.7-30.8 31-7.9 31.5-8c8.4-2.1 15-8.7 17.3-17.1s-.2-17.4-6.4-23.4l-23.3-22.6L458.5 256l22.9-22.3L504.7 211c6.2-6.1 8.7-15 6.4-23.4s-8.9-14.9-17.3-17.1l-31.5-8-31-7.9 8.7-30.8 8.8-31.2c2.4-8.4 0-17.4-6.1-23.5s-15.1-8.5-23.5-6.1l-31.2 8.8-30.8 8.7-7.9-31-8-31.5c-2.1-8.4-8.7-15-17.1-17.3S307 1 301 7.3L278.3 30.5 256 53.5 233.7 30.5 211 7.3C205 1 196-1.4 187.6 .8s-14.9 8.9-17.1 17.3l-8 31.5-7.9 31-30.8-8.7L92.7 63.1c-8.4-2.4-17.4 0-23.5 6.1s-8.5 15.1-6.1 23.5l8.8 31.2 8.7 30.8-31 7.9z\"]\n};\nvar faCrystalBall = {\n prefix: 'fal',\n iconName: 'crystal-ball',\n icon: [448, 512, [], \"e362\", \"M416 224c0 49.2-18.5 94-48.9 128h40.7c25.3-36.3 40.2-80.4 40.2-128C448 100.3 347.7 0 224 0S0 100.3 0 224c0 47.6 14.8 91.7 40.2 128H80.9C50.5 318 32 273.2 32 224C32 118 118 32 224 32s192 86 192 192zM64 384c-5.6 0-10.8 2.9-13.7 7.8l-46.2 77C1.4 473.2 0 478.3 0 483.5C0 499.2 12.8 512 28.5 512H419.5c15.8 0 28.5-12.8 28.5-28.5c0-5.2-1.4-10.2-4.1-14.7l-46.2-77c-2.9-4.8-8.1-7.8-13.7-7.8H64zM34.7 480l38.4-64H374.9l38.4 64H34.7zM288 144c-8.8 0-16 7.2-16 16v48H224c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v48c0 8.8 7.2 16 16 16s16-7.2 16-16V240h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H304V160c0-8.8-7.2-16-16-16zM144 96c-8.8 0-16 7.2-16 16v16H112c-8.8 0-16 7.2-16 16s7.2 16 16 16h16v16c0 8.8 7.2 16 16 16s16-7.2 16-16V160h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H160V112c0-8.8-7.2-16-16-16z\"]\n};\nvar faReplyAll = {\n prefix: 'fal',\n iconName: 'reply-all',\n icon: [576, 512, [\"mail-reply-all\"], \"f122\", \"M202.8 59.8c6.5-5.9 7-16.1 1.1-22.6s-16.1-7-22.6-1.1L24.8 178.4c-17.5 15.9-17.5 43.3 0 59.2L181.2 379.8c6.5 5.9 16.7 5.5 22.6-1.1s5.5-16.7-1.1-22.6L46.3 213.9c-3.5-3.2-3.5-8.7 0-11.8L202.8 59.8zM320 160h80c79.5 0 144 64.5 144 144c0 46.1-15.9 79.7-34 103.2c1.3-7.1 2-14.8 2-23.2c0-70.7-57.3-128-128-128H320l0 0h-8c-13.3 0-24 10.7-24 24v8 16l0 48L128 208 288 64v48 16 8c0 13.3 10.7 24 24 24l8 0zm0 160V304 288h32 32c53 0 96 43 96 96c0 30.4-12.8 47.9-22.2 56.7c-5.5 5.1-9.8 12-9.8 19.5c0 10.9 8.8 19.7 19.7 19.7c2.8 0 5.6-.6 8.1-1.9C494.5 467.9 576 417.3 576 304c0-97.2-78.8-176-176-176H352 320V112 96 64c0-12.6-7.4-24.1-19-29.2s-25-3-34.4 5.4l-160 144C99.9 190.3 96 198.9 96 208s3.9 17.7 10.6 23.8l160 144c9.4 8.5 22.9 10.6 34.4 5.4s19-16.6 19-29.2V320z\"]\n};\nvar faMailReplyAll = faReplyAll;\nvar faSuitcase = {\n prefix: 'fal',\n iconName: 'suitcase',\n icon: [512, 512, [129523], \"f0f2\", \"M160 48V96H352V48c0-8.8-7.2-16-16-16H176c-8.8 0-16 7.2-16 16zM128 96V48c0-26.5 21.5-48 48-48H336c26.5 0 48 21.5 48 48V96h64c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V160c0-35.3 28.7-64 64-64h64zm240 32H144 128V448H384V128H368zM64 128c-17.7 0-32 14.3-32 32V416c0 17.7 14.3 32 32 32H96V128H64zM448 448c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32H416V448h32z\"]\n};\nvar faPersonSkating = {\n prefix: 'fal',\n iconName: 'person-skating',\n icon: [448, 512, [\"skating\"], \"f7c5\", \"M392 80a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-80a56 56 0 1 1 0 112A56 56 0 1 1 392 0zM135.2 478.3l-6.2 3.1c-21.6 10.8-47.6 6.6-64.6-10.5L4.7 411.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l59.6 59.6c7.3 7.3 18.5 9.1 27.7 4.5l6.2-3.1c7.9-4 17.5-.7 21.5 7.2s.7 17.5-7.2 21.5zm280.4-10.4l-.4 1.7c-6.2 24.9-28.6 42.4-54.3 42.4H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h88.8c11 0 20.6-7.5 23.3-18.2l.4-1.7c2.1-8.6 10.8-13.8 19.4-11.6s13.8 10.8 11.6 19.4zM274.7 144H112c-8.8 0-16-7.2-16-16s7.2-16 16-16H316.2c28.6 0 51.8 23.2 51.8 51.8c0 18.2-9.5 35-25.1 44.4l-90.1 54L310.6 320c6 6 9.4 14.1 9.4 22.6V432c0 8.8-7.2 16-16 16s-16-7.2-16-16V342.6l-70.5-70.5c-11.2-11.2-17.5-26.4-17.5-42.3c0-18.8 8.9-36.5 23.9-47.8L274.7 144zm49.9 1.9c-.9 1.1-1.9 2.1-3 2.9l-78.5 58.9c-7 5.2-11.1 13.5-11.1 22.2c0 2.4 .3 4.7 .9 6.9l93.5-56.1c5.9-3.6 9.6-10 9.6-16.9c0-7.9-4.7-14.8-11.4-17.9zM180.8 276.6c3.9 6.6 8.7 12.8 14.2 18.3l6.4 6.4-94.1 94.1c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l96.1-96.1z\"]\n};\nvar faSkating = faPersonSkating;\nvar faStarShooting = {\n prefix: 'fal',\n iconName: 'star-shooting',\n icon: [512, 512, [127776], \"e036\", \"M315.3 27.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-64 64c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l64-64zm192 0c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-160 160c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l160-160zm0 192c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-64 64c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l64-64zM128.7 283.1c10.4-1.5 19.4-8.1 24.1-17.5l39.1-79.4L231 265.5c4.7 9.5 13.7 16 24.1 17.5l87.5 12.7-63.4 61.9c-7.5 7.3-11 17.9-9.2 28.3l15 87.3-78.2-41.2c-9.3-4.9-20.5-4.9-29.8 0L98.8 473.3l15-87.3c1.8-10.4-1.7-20.9-9.2-28.3L41.2 295.8l87.5-12.7zm84.7-125.6c-8.8-17.9-34.3-17.9-43.1 0l-46.3 94L20.5 266.5C.9 269.3-7 293.5 7.2 307.4l74.9 73.2L64.5 483.9c-3.4 19.6 17.2 34.6 34.8 25.3l92.6-48.8 92.6 48.8c17.6 9.3 38.2-5.7 34.8-25.3L301.6 380.6l74.9-73.2c14.2-13.9 6.4-38.1-13.3-40.9L259.7 251.4l-46.3-94z\"]\n};\nvar faBinaryLock = {\n prefix: 'fal',\n iconName: 'binary-lock',\n icon: [640, 512, [], \"e33d\", \"M313.4 3c-4.2-3-9.5-3.8-14.4-2.2l-48 16c-8.4 2.8-12.9 11.9-10.1 20.2s11.9 12.9 20.2 10.1l26.9-9V192H240c-8.8 0-16 7.2-16 16s7.2 16 16 16h64 64c8.8 0 16-7.2 16-16s-7.2-16-16-16H320V16c0-5.1-2.5-10-6.6-13zM89.4 291c-4.2-3-9.5-3.8-14.4-2.2l-48 16c-8.4 2.8-12.9 11.9-10.1 20.2s11.9 12.9 20.2 10.1l26.9-9V480H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H80h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H96V304c0-5.1-2.5-10-6.6-13zM80 0C35.8 0 0 35.8 0 80v64c0 44.2 35.8 80 80 80h32c44.2 0 80-35.8 80-80V80c0-44.2-35.8-80-80-80H80zM32 80c0-26.5 21.5-48 48-48h32c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48V80zM192 368v64c0 44.2 35.8 80 80 80h32c44.2 0 80-35.8 80-80V368c0-44.2-35.8-80-80-80H272c-44.2 0-80 35.8-80 80zm80-48h32c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H272c-26.5 0-48-21.5-48-48V368c0-26.5 21.5-48 48-48zm256-96c26.5 0 48 21.5 48 48v48H480V272c0-26.5 21.5-48 48-48zm-80 48v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80zm0 80H608V480H448V352z\"]\n};\nvar faFilterCircleDollar = {\n prefix: 'fal',\n iconName: 'filter-circle-dollar',\n icon: [576, 512, [\"funnel-dollar\"], \"f662\", \"M0 39.5C0 17.7 17.7 0 39.5 0H472.5C494.3 0 512 17.7 512 39.5c0 9.2-3.2 18.1-9.1 25.2L394.2 196.1c-24.4 5.3-47 15.8-66.4 30.1L478.3 44.3c1.1-1.3 1.7-3 1.7-4.8c0-4.2-3.4-7.5-7.5-7.5H39.5c-4.2 0-7.5 3.4-7.5 7.5c0 1.8 .6 3.4 1.7 4.8L220.3 269.8c2.4 2.9 3.7 6.5 3.7 10.2v88.2l34 26.4c2.7 18.1 8.3 35.3 16.1 51.2c-3.1-1.2-6.1-2.8-8.7-4.9l-61-47.4c-7.8-6.1-12.4-15.4-12.4-25.3V285.8L9.1 64.7C3.2 57.6 0 48.7 0 39.5zM432 480a112 112 0 1 0 0-224 112 112 0 1 0 0 224zm0-256a144 144 0 1 1 0 288 144 144 0 1 1 0-288zM408.8 335.4c-.4 .7-.9 1.6-.8 3.6l0 .1c0 .4 0 1.9 4.8 4.5c5.6 3 13.5 5.2 23.9 8.2l.2 0c9.3 2.6 21.1 6 30.5 11.5c10.2 6 20 16.1 20.5 32.3c.5 18.2-9.7 30.4-21.7 36.9c-5.8 3.1-12.1 5.1-18.3 6.2v10.8c0 8.8-7.2 16-16 16s-16-7.2-16-16V438.1c-8.6-1.7-16.7-4.3-23.7-6.6l0 0 0 0c-1.7-.6-3.4-1.1-5-1.6c-8.4-2.6-13.2-11.6-10.5-20s11.6-13.2 20-10.5c2 .6 3.9 1.2 5.8 1.8c11.4 3.6 20.4 6.5 29.9 6.8c6.7 .2 13.8-1.1 18.5-3.6c2.2-1.2 3.4-2.4 4-3.3c.5-.8 1.1-2.1 1-4.5c0-1.4-.2-3-4.7-5.6c-5.3-3.1-12.9-5.4-23.2-8.3l-1.8-.5c-8.9-2.5-19.8-5.6-28.6-10.3c-9.9-5.3-20.6-14.7-21.6-30.7c-1.2-18.8 10-30.9 21.8-37.2c5.7-3.1 12-5.1 18-6.3V288c0-8.8 7.2-16 16-16s16 7.2 16 16v9.4c6.3 .9 12.3 2.3 17.9 3.7c8.6 2.1 13.8 10.8 11.7 19.4s-10.8 13.8-19.4 11.7c-9.3-2.3-18.2-4-26.4-4.1c-6.2-.1-13.6 1.3-18.7 4c-2.4 1.3-3.6 2.5-4.2 3.4z\"]\n};\nvar faFunnelDollar = faFilterCircleDollar;\nvar faCameraRetro = {\n prefix: 'fal',\n iconName: 'camera-retro',\n icon: [512, 512, [128247], \"f083\", \"M192 112H64c-17.7 0-32 14.3-32 32v80H145.1c22.1-38.3 63.5-64 110.9-64s88.7 25.7 110.9 64H480V96c0-17.7-14.3-32-32-32H277.3c-6.9 0-13.7 2.2-19.2 6.4l-46.9 35.2c-5.5 4.2-12.3 6.4-19.2 6.4zM32 256V416c0 17.7 14.3 32 32 32H448c17.7 0 32-14.3 32-32V256H380c2.6 10.2 4 21 4 32c0 70.7-57.3 128-128 128s-128-57.3-128-128c0-11 1.4-21.8 4-32H32zM0 416V144c0-35.3 28.7-64 64-64H192l46.9-35.2C250 36.5 263.5 32 277.3 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64zM352 288a96 96 0 1 0 -192 0 96 96 0 1 0 192 0zM64 48c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16z\"]\n};\nvar faCircleArrowDown = {\n prefix: 'fal',\n iconName: 'circle-arrow-down',\n icon: [512, 512, [\"arrow-circle-down\"], \"f0ab\", \"M256 32a224 224 0 1 0 0 448 224 224 0 1 0 0-448zm0 480A256 256 0 1 1 256 0a256 256 0 1 1 0 512zM363.3 283.3l-96 96c-6.2 6.2-16.4 6.2-22.6 0l-96-96c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L240 329.4V144c0-8.8 7.2-16 16-16s16 7.2 16 16V329.4l68.7-68.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faArrowCircleDown = faCircleArrowDown;\nvar faCommentPen = {\n prefix: 'fal',\n iconName: 'comment-pen',\n icon: [512, 512, [\"comment-edit\"], \"f4ae\", \"M32 240c0-91.4 93.8-176 224-176s224 84.6 224 176s-93.8 176-224 176c-32 0-63-5.9-93.5-16.2c-9.9-3.3-20.7-1.8-29.2 4.2c-15.4 10.7-31.4 20-48.4 27.4L91.2 446l-6.4-14.7c-10.5 4.6-21.5 8.6-32.7 11.5c.5-.9 1.1-1.8 1.6-2.6C68 416.5 76.3 391 79.4 363.9c1-9.2-2.1-17.7-7.4-23.9c-24.5-29.4-40-62.9-40-100zM256 32C114.5 32 0 125.2 0 240c0 46.6 19.6 87.1 47.4 120.5c0 .1 .1 .1 .1 .2c-2.6 22.6-9.5 43.5-21.3 63.1c-6.5 10.8-13.5 20.8-21.7 29c-4.5 4.6-5.9 11.5-3.4 17.4s8.3 9.8 14.8 9.8c28.7 0 57.6-8.9 81.6-19.3c19.2-8.4 37.1-18.7 53.9-30.5c.2-.1 .5-.2 .7-.1C185.5 441.3 220 448 256 448c141.5 0 256-93.2 256-208S397.5 32 256 32zm60.3 147.7c4.9 4.9 4.9 12.9 0 17.8l-8.1 8.1-17.8-17.8 8.1-8.1c4.9-4.9 12.9-4.9 17.8 0zM207.1 271.1l60.7-60.7 17.8 17.8L224.8 289c-2.1 2.1-4.6 3.5-7.4 4.2L198 298l4.9-19.5c.7-2.8 2.2-5.4 4.2-7.4zM275.8 157l-91.4 91.5c-6.1 6.2-10.5 13.9-12.6 22.3l-11.3 45.3c-1.4 5.5 .2 11.2 4.2 15.2s9.7 5.6 15.2 4.2l45.3-11.3c8.4-2.1 16.2-6.5 22.3-12.6l91.4-91.5c17.4-17.4 17.4-45.6 0-63c-17.4-17.4-45.7-17.4-63.1 0z\"]\n};\nvar faCommentEdit = faCommentPen;\nvar faFileImport = {\n prefix: 'fal',\n iconName: 'file-import',\n icon: [512, 512, [\"arrow-right-to-file\"], \"f56f\", \"M480 448c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V368H128v80c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V163.9c0-12.7-5.1-24.9-14.1-33.9L382.1 14.1c-9-9-21.2-14.1-33.9-14.1H192c-35.3 0-64 28.7-64 64V256h32V64c0-17.7 14.3-32 32-32H320V144c0 26.5 21.5 48 48 48H480V448zm-.5-288H368c-8.8 0-16-7.2-16-16V32.5c2.8 .7 5.4 2.1 7.4 4.2L475.3 152.6c2.1 2.1 3.5 4.6 4.2 7.4zM283.3 212.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L329.4 304H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H329.4l-68.7 68.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l96-96c6.2-6.2 6.2-16.4 0-22.6l-96-96z\"]\n};\nvar faArrowRightToFile = faFileImport;\nvar faBanjo = {\n prefix: 'fal',\n iconName: 'banjo',\n icon: [512, 512, [129685], \"f8a3\", \"M445.7 33c.6-.6 1.5-1 2.3-1s1.7 .3 2.3 1L479 61.7c.6 .6 1 1.5 1 2.3s-.3 1.7-1 2.3l-39 39-42.9 9.5L406.6 72l39-39zM376.4 60.5l-15 67.5-62.4 62.4c-25.2-20.8-56.6-34.4-90.9-37.7V144c0-8.8-7.2-16-16-16s-16 7.2-16 16v8.8c-34.4 3.2-65.8 16.9-90.9 37.7l-6.2-6.2c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l6.2 6.2C41.6 238.2 28 269.6 24.8 304H16c-8.8 0-16 7.2-16 16s7.2 16 16 16h8.8c3.2 34.4 16.9 65.8 37.7 90.9l-6.2 6.2c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l6.2-6.2c25.2 20.8 56.6 34.4 90.9 37.7V496c0 8.8 7.2 16 16 16s16-7.2 16-16v-8.8c34.4-3.2 65.8-16.9 90.9-37.7l6.2 6.2c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-6.2-6.2c20.8-25.2 34.4-56.6 37.7-90.9H368c8.8 0 16-7.2 16-16s-7.2-16-16-16h-8.8c-3.2-34.4-16.9-65.8-37.7-90.9L384 150.6l67.5-15c3-.7 5.7-2.2 7.8-4.3L501.7 89c6.6-6.6 10.3-15.6 10.3-25s-3.7-18.3-10.3-25L473 10.3C466.3 3.7 457.4 0 448 0s-18.3 3.7-25 10.3L380.7 52.7c-2.2 2.2-3.6 4.9-4.3 7.8zM192 184a136 136 0 1 1 0 272 136 136 0 1 1 0-272zM124.7 316.7c-6.2 6.2-6.2 16.4 0 22.6l48 48c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-48-48c-6.2-6.2-16.4-6.2-22.6 0z\"]\n};\nvar faSquareArrowUpRight = {\n prefix: 'fal',\n iconName: 'square-arrow-up-right',\n icon: [448, 512, [\"external-link-square\"], \"f14c\", \"M384 64c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32H384zm64 32c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96zM168 160c-8.8 0-16 7.2-16 16s7.2 16 16 16h97.4L132.7 324.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L288 214.6V320c0 8.8 7.2 16 16 16s16-7.2 16-16V176c0-8.8-7.2-16-16-16H168z\"]\n};\nvar faExternalLinkSquare = faSquareArrowUpRight;\nvar faLightEmergencyOn = {\n prefix: 'fal',\n iconName: 'light-emergency-on',\n icon: [640, 512, [], \"e420\", \"M55.2 33.7c-7.9-4-17.5-.7-21.5 7.2s-.7 17.5 7.2 21.5l64 32c7.9 4 17.5 .7 21.5-7.2s.7-17.5-7.2-21.5l-64-32zm544 28.6c7.9-4 11.1-13.6 7.2-21.5s-13.6-11.1-21.5-7.2l-64 32c-7.9 4-11.1 13.6-7.2 21.5s13.6 11.1 21.5 7.2l64-32zM16 192c-8.8 0-16 7.2-16 16s7.2 16 16 16H80c8.8 0 16-7.2 16-16s-7.2-16-16-16H16zm544 0c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H560zm-112 0V320h32V192c0-88.4-71.6-160-160-160s-160 71.6-160 160V320h32V192c0-70.7 57.3-128 128-128s128 57.3 128 128zM128 400c0-8.8 7.2-16 16-16H496c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H144c-8.8 0-16-7.2-16-16V400zm-32 0v32c0 26.5 21.5 48 48 48H496c26.5 0 48-21.5 48-48V400c0-26.5-21.5-48-48-48H144c-26.5 0-48 21.5-48 48zM320 128c8.8 0 16-7.2 16-16s-7.2-16-16-16c-53 0-96 43-96 96c0 8.8 7.2 16 16 16s16-7.2 16-16c0-35.3 28.7-64 64-64z\"]\n};\nvar faKerning = {\n prefix: 'fal',\n iconName: 'kerning',\n icon: [640, 512, [], \"f86f\", \"M454.3 23.2c4-7.9 .7-17.5-7.2-21.5s-17.5-.7-21.5 7.2l-240 480c-4 7.9-.7 17.5 7.2 21.5s17.5 .7 21.5-7.2l240-480zm-424 81.7c-4-7.9-13.6-11.1-21.5-7.2s-11.1 13.6-7.2 21.5l144 288c2.7 5.4 8.3 8.8 14.3 8.8s11.6-3.4 14.3-8.8l144-288c4-7.9 .7-17.5-7.2-21.5s-17.5-.7-21.5 7.2L160 364.2 30.3 104.8zm320 302.3L385.9 336H574.1l35.6 71.2c4 7.9 13.6 11.1 21.5 7.2s11.1-13.6 7.2-21.5l-144-288c-2.7-5.4-8.2-8.8-14.3-8.8s-11.6 3.4-14.3 8.8l-144 288c-4 7.9-.7 17.5 7.2 21.5s17.5 .7 21.5-7.2zM480 147.8L558.1 304H401.9L480 147.8z\"]\n};\nvar faBoxOpen = {\n prefix: 'fal',\n iconName: 'box-open',\n icon: [640, 512, [], \"f49e\", \"M80.4 49.5L320 77.2 559.6 49.5c14.1-1.6 27.5 6.2 33.1 19.2l32 74.7c9.8 22.9-3.5 49.1-27.8 54.7L437.8 234.8c-18.9 4.4-38.6-3.1-49.9-18.9L320 120.9l-67.9 95.1c-11.3 15.8-30.9 23.2-49.9 18.9L43 198c-24.3-5.6-37.6-31.8-27.8-54.7l32-74.7c5.6-13 19-20.8 33.1-19.2zM76.7 81.3l-32 74.7c-2 4.6 .7 9.8 5.6 10.9l159.2 36.7c6.3 1.5 12.9-1 16.6-6.3l65.1-91.2L76.7 81.3zM544 236.7l32-9.1v151c0 22-15 41.2-36.4 46.6l-208 52c-7.6 1.9-15.6 1.9-23.3 0l-208-52C79 419.7 64 400.5 64 378.5v-151l32 9.1V378.5c0 7.3 5 13.7 12.1 15.5L304 443V208c0-8.8 7.2-16 16-16s16 7.2 16 16V443l195.9-49c7.1-1.8 12.1-8.2 12.1-15.5V236.7zM348.8 106.1l65.1 91.2c3.8 5.3 10.3 7.7 16.6 6.3l159.2-36.7c4.9-1.1 7.5-6.4 5.6-10.9l-32-74.7L348.8 106.1z\"]\n};\nvar faSquareF = {\n prefix: 'fal',\n iconName: 'square-f',\n icon: [448, 512, [], \"e270\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm160 32H304c8.8 0 16 7.2 16 16s-7.2 16-16 16H160v80H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H160v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V256 160c0-17.7 14.3-32 32-32z\"]\n};\nvar faScroll = {\n prefix: 'fal',\n iconName: 'scroll',\n icon: [576, 512, [128220], \"f70e\", \"M32 112c0-26.5 21.5-48 48-48s48 21.5 48 48V400c0 44.2 35.8 80 80 80H504c39.8 0 72-32.2 72-72V352c0-22.1-18-40-40-40h-.6-.6-.6-.6-.5-.6-.5-.5H531h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H524h-.5H523h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H513h-.5H512h-.5H511h-.5H510h-.5H509h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H499h-.5H498h-.5H497h-.5H496h-.5H495h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H485h-.5H484h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H477h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H471h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H466h-.5-.5-.5-.5-.4-.5-.4-.4H462h-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4H454h-.4-.4-.4-.4-.4-.4-.4-.4H450h-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4H443h-.4-.4-.4-.4-.4-.4H440h-.4-.4-.4-.4-.4-.4H437h-.4-.4-.4-.4-.4-.4H434h-.4-.4-.4-.4-.4-.4H431h-.4-.4-.4-.4-.4-.4H428h-.4-.4-.4-.4-.4-.4H425h-.4-.4-.4-.4-.4-.4H422h-.4-.4-.4-.4-.4-.4H419h-.4-.4-.4-.4-.4-.4H416h-.4-.4-.4-.4-.4-.4H413h-.4-.4-.4-.4-.4-.4H410h-.4-.4-.4-.4-.4-.4H407h-.4-.4-.4-.4-.4-.4H404h-.4-.4-.4-.4-.4-.4H401h-.4-.4-.4-.4-.4-.4H398h-.4-.4-.4-.4-.4-.4H395h-.4-.4-.4-.4-.4-.4H392h-.4-.4-.4-.4-.4-.4H389h-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4H382h-.4-.4-.4-.4-.4-.4-.4-.4H378h-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4H370h-.4-.4-.4-.5-.4-.5-.5-.5H366h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H361h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H355h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H348h-.5H347h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H337h-.5H336h-.5H335h-.5H334h-.5H333h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H323h-.5H322h-.5H321h-.5H320h-.5H319h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H309h-.5H308h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H301h-.5-.5-.5-.5-.5-.5-.6-.6H296c-22.1 0-40 17.9-40 40v48c0 26.5-21.5 48-48 48s-48-21.5-48-48V112c0-18-6-34.6-16-48H400c26.5 0 48 21.5 48 48V288h32V112c0-44.2-35.8-80-80-80H80C35.8 32 0 67.8 0 112v72c0 22.1 17.9 40 40 40H96V192H40c-4.4 0-8-3.6-8-8V112zM504 448H272c10-13.4 16-30 16-48V352c0-4.4 3.6-8 8-8h.6 .6 .6 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .4 .5 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .5 .4 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .6 .5 .6 .6 .6 .6c4.4 0 8 3.6 8 8v56c0 22.1-17.9 40-40 40z\"]\n};\nvar faSpa = {\n prefix: 'fal',\n iconName: 'spa',\n icon: [576, 512, [], \"f5bb\", \"M371.3 219.5c9-6.5 18.5-12.6 28.2-18.1c-27.1-93.1-79.8-147.8-97.5-164.1c-3.8-3.5-8.8-5.2-13.9-5.2s-10.1 1.7-13.9 5.2c-17.7 16.4-70.4 71.1-97.5 164.1c9.7 5.5 19.1 11.6 28.2 18.1C225.7 140 267.2 89.6 288 68.3c20.8 21.3 62.3 71.7 83.3 151.2zM192 469.1c24.1 7.1 49.5 10.9 75.9 10.9h40.2c26.4 0 51.8-3.8 75.9-10.9c111-32.7 192-135.4 192-257c0-11.1-9.1-20.1-20.2-20.1c-64.5 0-124.1 21.6-171.8 57.9c-43.6 33.2-77.4 78.7-96 131.2c-18.6-52.6-52.4-98.1-96-131.2C144.2 213.6 84.6 192 20.2 192C9.1 192 0 201 0 212.1c0 121.6 81 224.3 192 257zm0-34.4C103.7 403.8 37.3 322.6 32.3 224.3c61.5 2.9 117.4 28 159.7 67.4c43 40.1 72 94.9 78.6 156.3c-27.3 0-53.8-4.7-78.6-13.3zm192 0c-24.8 8.6-51.2 13.3-78.6 13.3C312 386.6 341 331.7 384 291.7c42.3-39.4 98.2-64.4 159.7-67.4c-5 98.3-71.4 179.5-159.7 210.4z\"]\n};\nvar faArrowLeftFromLine = {\n prefix: 'fal',\n iconName: 'arrow-left-from-line',\n icon: [448, 512, [8612, \"arrow-from-right\"], \"f344\", \"M4.7 244.7c-6.2 6.2-6.2 16.4 0 22.6l128 128c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L54.6 272 160 272l176 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-176 0L54.6 240 155.3 139.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-128 128zM416 432c0 8.8 7.2 16 16 16s16-7.2 16-16l0-352c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 352z\"]\n};\nvar faArrowFromRight = faArrowLeftFromLine;\nvar faStrawberry = {\n prefix: 'fal',\n iconName: 'strawberry',\n icon: [512, 512, [], \"e32b\", \"M495.4 20.4c-11.5 40.2-38.5 68.5-66.7 92.3c34.5 3.5 59.9 20.6 71.2 29.6c8.4 6.7 12.1 16.5 12.1 25.8c0 9.2-3.7 19-11.8 25.7c-9.2 7.6-29 21.9-54.1 27.8c-4-5-8.3-9.9-12.9-14.5l-15-15c1.9 .1 3.8 .1 5.9 .1c23.9 0 45.4-14.5 55.8-23l0-.1c.1-.1 .2-.4 .2-.9c0-.4-.1-.7-.1-.8C469.7 159.1 446.4 144 416 144c-14.7 0-22.9 1.8-26.9 3.2c-1.6 .6-2.6 1-2.9 1.2c-2.4 1.9-5.1 3.1-8 3.5l-18-18c.4-2.9 1.5-5.6 3.5-8c.2-.4 .7-1.3 1.2-2.9c1.3-4 3.2-12.2 3.2-26.9c0-30.4-15.1-53.7-23.2-63.9c-.1 0-.4-.1-.8-.1c-.5 0-.8 .1-.9 .2l-.1 0c-8.5 10.4-23 32-23 55.8c0 2 0 4 .1 5.9l-15-15c-4.6-4.6-9.5-8.9-14.5-12.9c5.9-25.2 20.2-44.9 27.8-54.1C325 3.7 334.8 0 344 0s19.1 3.7 25.8 12.1c10 12.5 29.8 42.4 30.2 82.7c29.8-24.3 54.6-48.1 64.6-83.1c2.4-8.5 11.3-13.4 19.8-11s13.4 11.3 11 19.8zm-206 88L403.6 222.6l6.9 6.9c25 25 37.5 57.8 37.5 90.5c0 96-96 192-272 192C48 512 0 464 0 336C0 160 96.2 64 192.2 64c32.7 .1 65.3 12.6 90.3 37.5l6.9 6.9zM32 336c0 61.3 11.8 94.5 30.6 113.4S114.7 480 176 480c166.1 0 240-88.5 240-160c0-24.6-9.4-49.1-28.1-67.9l-128-128c-18.7-18.7-43.1-28.1-67.7-28.1C120.7 96 32 170 32 336zM189.5 154.5c5.9 5.9 3.2 22.4-8.7 34.3s-28.3 14.6-34.3 8.7s-3.2-22.4 8.7-34.3s28.3-14.6 34.3-8.7zm47.3 98.3c-11.9 11.9-28.3 14.6-34.3 8.7s-3.2-22.4 8.7-34.3s28.3-14.6 34.3-8.7s3.2 22.4-8.7 34.3zm-32 80c-11.9 11.9-28.3 14.6-34.3 8.7s-3.2-22.4 8.7-34.3s28.3-14.6 34.3-8.7s3.2 22.4-8.7 34.3zm-32 80c-11.9 11.9-28.3 14.6-34.3 8.7s-3.2-22.4 8.7-34.3s28.3-14.6 34.3-8.7s3.2 22.4-8.7 34.3zm96.7-66.3c5.9 5.9 3.2 22.4-8.7 34.3s-28.3 14.6-34.3 8.7s-3.2-22.4 8.7-34.3s28.3-14.6 34.3-8.7zm24-80c5.9 5.9 3.2 22.4-8.7 34.3s-28.3 14.6-34.3 8.7s-3.2-22.4 8.7-34.3s28.3-14.6 34.3-8.7zm55.3 90.3c-11.9 11.9-28.3 14.6-34.3 8.7s-3.2-22.4 8.7-34.3s28.3-14.6 34.3-8.7s3.2 22.4-8.7 34.3zm-192-80c-11.9 11.9-28.3 14.6-34.3 8.7s-3.2-22.4 8.7-34.3s28.3-14.6 34.3-8.7s3.2 22.4-8.7 34.3zm-23.3 53.7c5.9 5.9 3.2 22.4-8.7 34.3s-28.3 14.6-34.3 8.7s-3.2-22.4 8.7-34.3s28.3-14.6 34.3-8.7z\"]\n};\nvar faLocationPinLock = {\n prefix: 'fal',\n iconName: 'location-pin-lock',\n icon: [512, 512, [], \"e51f\", \"M192 477.6c16.8-21.1 40.2-51.4 64-85.5v54.8c-15.3 20.6-29.3 38.6-40.3 52.3c-12.3 15.3-35.1 15.3-47.4 0C117 435 0 279.4 0 192C0 86 86 0 192 0c95.7 0 175 70 189.6 161.5c-10.9 1.8-21.3 5.2-30.9 9.9C340.6 92.8 273.4 32 192 32C103.6 32 32 103.6 32 192c0 15.6 5.4 37 16.6 63.4c10.9 25.9 26.2 54 43.6 82.1c34.1 55.3 74.4 108.2 99.9 140zM144 192a48 48 0 1 0 96 0 48 48 0 1 0 -96 0zm48 80a80 80 0 1 1 0-160 80 80 0 1 1 0 160zm208-48c-26.5 0-48 21.5-48 48v48h96V272c0-26.5-21.5-48-48-48zm-80 48c0-44.2 35.8-80 80-80s80 35.8 80 80v48c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H320c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32V272zm0 80V480H480V352H320z\"]\n};\nvar faPause = {\n prefix: 'fal',\n iconName: 'pause',\n icon: [320, 512, [9208], \"f04c\", \"M48 96c-8.8 0-16 7.2-16 16V400c0 8.8 7.2 16 16 16H96c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H48zM0 112C0 85.5 21.5 64 48 64H96c26.5 0 48 21.5 48 48V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112zM224 96c-8.8 0-16 7.2-16 16V400c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V112c0-8.8-7.2-16-16-16H224zm-48 16c0-26.5 21.5-48 48-48h48c26.5 0 48 21.5 48 48V400c0 26.5-21.5 48-48 48H224c-26.5 0-48-21.5-48-48V112z\"]\n};\nvar faClockEightThirty = {\n prefix: 'fal',\n iconName: 'clock-eight-thirty',\n icon: [512, 512, [], \"e346\", \"M32 256a224 224 0 1 0 448 0A224 224 0 1 0 32 256zm480 0A256 256 0 1 1 0 256a256 256 0 1 1 512 0zM240 400V285.9l-71.1 47.4c-7.4 4.9-17.3 2.9-22.2-4.4s-2.9-17.3 4.4-22.2l96-64c4.9-3.3 11.2-3.6 16.4-.8s8.5 8.2 8.5 14.1V400c0 8.8-7.2 16-16 16s-16-7.2-16-16z\"]\n};\nvar faPlaneEngines = {\n prefix: 'fal',\n iconName: 'plane-engines',\n icon: [576, 512, [9992, \"plane-alt\"], \"f3de\", \"M576 256c0-13.4-5.7-25.2-13.3-34.8s-17.7-17.6-28.4-24c-21-12.8-47.3-21.2-68-21.2l-96.9 0-11.1-18.7c15-5.8 25.6-20.3 25.6-37.3V104c0-22.1-17.9-40-40-40H303L274.4 15.7C268.7 6 258.2 0 246.9 0H170.7c-16 0-27.6 15.4-23 30.8l15.2-4.5-15.2 4.5 43 145.2L136 176 97.6 124.8C91.6 116.7 82.1 112 72 112H30c-16.6 0-30 13.4-30 30c0 2.8 .4 5.6 1.2 8.3l21.5 75.1C9.5 229.4 0 241.6 0 256s9.5 26.6 22.6 30.6L1.2 361.7C.4 364.4 0 367.2 0 370c0 16.6 13.4 30 30 30H72c10.1 0 19.6-4.7 25.6-12.8L136 336h54.7l-43 145.2c-4.6 15.4 7 30.8 23 30.8l76.2 0c11.3 0 21.8-6 27.5-15.7L303 448h41c22.1 0 40-17.9 40-40V392c0-17-10.6-31.6-25.6-37.3L369.4 336h96.9c20.6 0 46.8-8.1 67.9-20.8C554.4 303.1 576 282.9 576 256zM341 384h3c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H322l19-32zm3-256h-3L322 96h22c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8zm122.3 80c13.5 0 34.1 6.1 51.3 16.6c8.5 5.2 15.4 10.9 20 16.7c4.6 5.8 6.3 10.7 6.3 14.8c0 9.1-8.2 20.9-26.3 31.8c-17.2 10.3-37.8 16.2-51.4 16.2h-106c-5.7 0-10.9 3-13.8 7.8L246.9 480l-65.5 0 46.1-155.5c1.4-4.8 .5-10.1-2.5-14.1s-7.8-6.4-12.8-6.4L128 304c-5 0-9.8 2.4-12.8 6.4L72 368H32.6L63.4 260.4c.8-2.9 .8-5.9 0-8.8L32.6 144 72 144l43.2 57.6c3 4 7.8 6.4 12.8 6.4l84.1 0c5 0 9.8-2.4 12.8-6.4s4-9.3 2.5-14.1L181.4 32l65.5 0 99.6 168.2c2.9 4.9 8.1 7.8 13.8 7.8l106 0z\"]\n};\nvar faPlaneAlt = faPlaneEngines;\nvar faHillAvalanche = {\n prefix: 'fal',\n iconName: 'hill-avalanche',\n icon: [576, 512, [], \"e507\", \"M191.7 48c-24.3 0-44.5 18.2-47.5 41.8L448 394.2c17.9 17.9 46.6 18.9 65.6 2.2l4.2-3.7c19.4-17 19.6-47.2 .5-64.5c-14.3-12.9-35.4-14.8-51.7-4.5l-3 1.9c-7.5 4.7-17.3 2.4-22-5.1s-2.4-17.4 5.1-22.1l3-1.9c28.4-17.8 65.2-14.6 90.1 7.9c33.3 30.2 32.9 82.7-.8 112.3l-4.2 3.7c-31.7 27.8-79.5 26.2-109.3-3.6L116.5 107.3c-3.3-3.3-4.9-7.8-4.7-12.2c.4-43.8 36-79.2 79.9-79.2c16.9 0 32.6 5.3 45.5 14.3c14.6-9 31.9-14.3 50.3-14.3c53 0 95.9 43 95.9 96c0 4.2-.3 8.3-.8 12.4c29.1 16.5 48.7 47.7 48.7 83.6c0 21.6-7.1 41.6-19.2 57.6c-5.3 7.1-15.3 8.5-22.4 3.2s-8.5-15.3-3.2-22.4c8-10.7 12.8-24 12.8-38.4c0-27.1-16.8-50.3-40.6-59.6c-7.6-3-11.8-11.3-9.6-19.2c1.5-5.4 2.3-11.2 2.3-17.2c0-35.4-28.6-64-63.9-64c-15.5 0-29.7 5.5-40.7 14.7c-6.3 5.3-15.6 4.9-21.5-.9C216.6 53.2 204.8 48 191.7 48zM415.2 64a31.9 31.9 0 1 1 63.9 0 31.9 31.9 0 1 1 -63.9 0zm31.9 96a31.9 31.9 0 1 1 63.9 0 31.9 31.9 0 1 1 -63.9 0zM54.6 96.1L415.3 457.4c20.1 20.2 5.8 54.6-22.6 54.6H64c-35.3 0-64-28.7-64-64V118.7C0 90.2 34.5 75.9 54.6 96.1zM32 448c0 17.7 14.3 32 32 32H392.6L32 118.7V448z\"]\n};\nvar faTemperatureEmpty = {\n prefix: 'fal',\n iconName: 'temperature-empty',\n icon: [320, 512, [\"temperature-0\", \"thermometer-0\", \"thermometer-empty\"], \"f2cb\", \"M96 96c0-35.3 28.7-64 64-64s64 28.7 64 64V252.7c0 14.9 7 27.7 16 36.9c19.8 20.2 32 47.9 32 78.4c0 61.9-50.1 112-112 112S48 429.9 48 368c0-30.5 12.2-58.2 32-78.4c9-9.2 16-22 16-36.9V96zM160 0C107 0 64 43 64 96V252.7c0 4.6-2.2 9.8-6.8 14.5C31.7 293.1 16 328.8 16 368c0 79.5 64.5 144 144 144s144-64.5 144-144c0-39.3-15.7-74.9-41.2-100.8c-4.6-4.7-6.8-9.9-6.8-14.5V96c0-53-43-96-96-96zM128 368a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm96 0A64 64 0 1 0 96 368a64 64 0 1 0 128 0z\"]\n};\nvar faTemperature0 = faTemperatureEmpty;\nvar faThermometer0 = faTemperatureEmpty;\nvar faThermometerEmpty = faTemperatureEmpty;\nvar faBomb = {\n prefix: 'fal',\n iconName: 'bomb',\n icon: [512, 512, [128163], \"f1e2\", \"M464 16V48h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H464v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V80H400c-8.8 0-16-7.2-16-16s7.2-16 16-16h32V16c0-8.8 7.2-16 16-16s16 7.2 16 16zM301.1 130.9c-8.8 8.8-21.8 11.7-33.5 7.5C249.1 131.7 229 128 208 128c-97.2 0-176 78.8-176 176s78.8 176 176 176s176-78.8 176-176c0-21-3.7-41.1-10.4-59.7c-4.2-11.7-1.3-24.7 7.5-33.5L384 208l-80-80-2.9 2.9zm-22.6-22.6l2.9-2.9c12.5-12.5 32.8-12.5 45.3 0l28.7 28.7 17.4-17.4c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-17.4 17.4 28.7 28.7c12.5 12.5 12.5 32.8 0 45.3l-2.9 2.9c7.9 22 12.2 45.7 12.2 70.5c0 114.9-93.1 208-208 208S0 418.9 0 304S93.1 96 208 96c24.7 0 48.5 4.3 70.5 12.3zM200 192c-57.4 0-104 46.6-104 104v8c0 8.8-7.2 16-16 16s-16-7.2-16-16v-8c0-75.1 60.9-136 136-136h8c8.8 0 16 7.2 16 16s-7.2 16-16 16h-8z\"]\n};\nvar faGaugeLow = {\n prefix: 'fal',\n iconName: 'gauge-low',\n icon: [512, 512, [\"tachometer-alt-slow\"], \"f627\", \"M256 480a224 224 0 1 0 0-448 224 224 0 1 0 0 448zM256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zm24 96a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zM224 352a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm-32 0c0-18.6 7.9-35.3 20.5-47L129.9 151.6c-4.2-7.8-1.3-17.5 6.5-21.7s17.5-1.3 21.7 6.5l82.6 153.4c4.9-1.2 10-1.8 15.3-1.8c35.3 0 64 28.7 64 64s-28.7 64-64 64s-64-28.7-64-64zM392 144a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zm24 88a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM120 256a24 24 0 1 1 -48 0 24 24 0 1 1 48 0z\"]\n};\nvar faTachometerAltSlow = faGaugeLow;\nvar faRegistered = {\n prefix: 'fal',\n iconName: 'registered',\n icon: [512, 512, [174], \"f25d\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM160 176v96 96c0 8.8 7.2 16 16 16s16-7.2 16-16V288h71.4l59.3 88.9c4.9 7.4 14.8 9.3 22.2 4.4s9.3-14.8 4.4-22.2l-50.5-75.7c31-11 53.2-40.6 53.2-75.4c0-44.2-35.8-80-80-80H208c-26.5 0-48 21.5-48 48zm32 80V176c0-8.8 7.2-16 16-16h64c26.5 0 48 21.5 48 48s-21.5 48-48 48H192z\"]\n};\nvar faTrashCanPlus = {\n prefix: 'fal',\n iconName: 'trash-can-plus',\n icon: [448, 512, [], \"e2ac\", \"M164.2 39.5L148.9 64H299.1L283.8 39.5c-2.9-4.7-8.1-7.5-13.6-7.5H177.7c-5.5 0-10.6 2.8-13.6 7.5zM311 22.6L336.9 64H384h32 16c8.8 0 16 7.2 16 16s-7.2 16-16 16H416V432c0 44.2-35.8 80-80 80H112c-44.2 0-80-35.8-80-80V96H16C7.2 96 0 88.8 0 80s7.2-16 16-16H32 64h47.1L137 22.6C145.8 8.5 161.2 0 177.7 0h92.5c16.6 0 31.9 8.5 40.7 22.6zM64 96V432c0 26.5 21.5 48 48 48H336c26.5 0 48-21.5 48-48V96H64zM208 384V304H128c-8.8 0-16-7.2-16-16s7.2-16 16-16h80V192c0-8.8 7.2-16 16-16s16 7.2 16 16v80h80c8.8 0 16 7.2 16 16s-7.2 16-16 16H240v80c0 8.8-7.2 16-16 16s-16-7.2-16-16z\"]\n};\nvar faAddressCard = {\n prefix: 'fal',\n iconName: 'address-card',\n icon: [576, 512, [62140, \"contact-card\", \"vcard\"], \"f2bb\", \"M512 64c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32H512zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm96 160a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm96 0a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zM112 368c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48c0 8.8 7.2 16 16 16s16-7.2 16-16c0-44.2-35.8-80-80-80H160c-44.2 0-80 35.8-80 80c0 8.8 7.2 16 16 16s16-7.2 16-16zM352 160c-8.8 0-16 7.2-16 16s7.2 16 16 16H480c8.8 0 16-7.2 16-16s-7.2-16-16-16H352zm0 64c-8.8 0-16 7.2-16 16s7.2 16 16 16H480c8.8 0 16-7.2 16-16s-7.2-16-16-16H352zm0 64c-8.8 0-16 7.2-16 16s7.2 16 16 16H480c8.8 0 16-7.2 16-16s-7.2-16-16-16H352z\"]\n};\nvar faContactCard = faAddressCard;\nvar faVcard = faAddressCard;\nvar faScaleUnbalancedFlip = {\n prefix: 'fal',\n iconName: 'scale-unbalanced-flip',\n icon: [640, 512, [\"balance-scale-right\"], \"f516\", \"M112.2 10.9c-2.8 8.4 1.7 17.4 10.1 20.2L256.5 75.9c4.6 24.4 23.1 43.9 46.9 50.1V480h-192c-8.8 0-16 7.2-16 16s7.2 16 16 16h208c8.8 0 16-7.2 16-16V126c10.3-2.6 19.6-7.8 27.2-14.7l143.8 47.9c8.4 2.8 17.4-1.7 20.2-10.1s-1.7-17.4-10.1-20.2L380.3 83.5c2-6.1 3-12.7 3-19.5c0-35.3-28.7-64-64-64c-28 0-51.8 18-60.5 43L132.4 .8C124-2 115 2.6 112.2 10.9zm87.1 319.3C182.2 343.1 157.1 352 128 352s-54.2-8.9-71.3-21.7C39.6 317.5 32 302.2 32 288H224v-1.6l0 .1V288c0 14.2-7.6 29.5-24.7 42.3zM128 115.3L213.7 256H42.3L128 115.3zM256 288v-1.6c0-14.7-4-29.1-11.7-41.6l-92-151.2C147.2 85.2 137.9 80 128 80s-19.2 5.2-24.3 13.7l-92 151.2C4 257.4 0 271.8 0 286.4V288c0 53 57.3 96 128 96s128-43 128-96zM608 416c0 14.2-7.6 29.5-24.7 42.3C566.2 471.1 541.1 480 512 480s-54.2-8.9-71.3-21.7C423.6 445.5 416 430.2 416 416H608v-1.6l0 .1V416zm-10.3-32H426.3L512 243.3 597.7 384zM512 512c70.7 0 128-43 128-96v-1.6c0-14.7-4-29.1-11.7-41.6l-92-151.2c-5.2-8.5-14.4-13.7-24.3-13.7s-19.2 5.2-24.3 13.7l-92 151.2C388 385.4 384 399.8 384 414.4V416c0 53 57.3 96 128 96zM319.3 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faBalanceScaleRight = faScaleUnbalancedFlip;\nvar faGlobeSnow = {\n prefix: 'fal',\n iconName: 'globe-snow',\n icon: [448, 512, [], \"f7a3\", \"M416 224c0 49.2-18.5 94-48.9 128h40.7c25.3-36.3 40.2-80.4 40.2-128C448 100.3 347.7 0 224 0S0 100.3 0 224c0 47.6 14.8 91.7 40.2 128H80.9C50.5 318 32 273.2 32 224C32 118 118 32 224 32s192 86 192 192zM240 104a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm-27.3 44.7l-64 64c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L208 198.6v34.7l-59.3 59.3c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L208 278.6V352h32V278.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L240 233.4V198.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-64-64c-6.2-6.2-16.4-6.2-22.6 0zM360 176a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM80 264a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM50.3 391.8l-46.2 77C1.4 473.2 0 478.3 0 483.5C0 499.2 12.8 512 28.5 512H419.5c15.8 0 28.5-12.8 28.5-28.5c0-5.2-1.4-10.2-4.1-14.7l-46.2-77c-2.9-4.8-8.1-7.8-13.7-7.8H64c-5.6 0-10.8 2.9-13.7 7.8zM73.1 416H374.9l38.4 64H34.7l38.4-64z\"]\n};\nvar faSubscript = {\n prefix: 'fal',\n iconName: 'subscript',\n icon: [512, 512, [], \"f12c\", \"M16 64C7.2 64 0 71.2 0 80s7.2 16 16 16H55.2L157 256 55.2 416H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H64c5.5 0 10.6-2.8 13.5-7.4L176 285.8l98.5 154.8c2.9 4.6 8 7.4 13.5 7.4h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H296.8L195 256 296.8 96H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H288c-5.5 0-10.6 2.8-13.5 7.4L176 226.2 77.5 71.4C74.6 66.8 69.5 64 64 64H16zM464 336c0-5.1-2.5-10-6.6-13s-9.5-3.8-14.4-2.2l-48 16c-8.4 2.8-12.9 11.9-10.1 20.2s11.9 12.9 20.2 10.1l26.9-9V480H400c-8.8 0-16 7.2-16 16s7.2 16 16 16h48 48c8.8 0 16-7.2 16-16s-7.2-16-16-16H464V336z\"]\n};\nvar faDiamondTurnRight = {\n prefix: 'fal',\n iconName: 'diamond-turn-right',\n icon: [512, 512, [\"directions\"], \"f5eb\", \"M261.7 34.3c-3.1-3.1-8.2-3.1-11.3 0l-216 216c-3.1 3.1-3.1 8.2 0 11.3l216 216c3.1 3.1 8.2 3.1 11.3 0l216-216c3.1-3.1 3.1-8.2 0-11.3l-216-216zM227.7 11.7c15.6-15.6 40.9-15.6 56.6 0l216 216c15.6 15.6 15.6 40.9 0 56.6l-216 216c-15.6 15.6-40.9 15.6-56.6 0l-216-216c-15.6-15.6-15.6-40.9 0-56.6l216-216zm65 137c6.2-6.2 16.4-6.2 22.6 0l64 64c6.2 6.2 6.2 16.4 0 22.6l-64 64c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L329.4 240H232c-13.3 0-24 10.7-24 24v56c0 8.8-7.2 16-16 16s-16-7.2-16-16V264c0-30.9 25.1-56 56-56h97.4l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6z\"]\n};\nvar faDirections = faDiamondTurnRight;\nvar faIntegral = {\n prefix: 'fal',\n iconName: 'integral',\n icon: [320, 512, [], \"f667\", \"M216 32c-22.1 0-40 17.9-40 40V440c0 39.8-32.2 72-72 72s-72-32.2-72-72V416c0-8.8 7.2-16 16-16s16 7.2 16 16v24c0 22.1 17.9 40 40 40s40-17.9 40-40V72c0-39.8 32.2-72 72-72s72 32.2 72 72V96c0 8.8-7.2 16-16 16s-16-7.2-16-16V72c0-22.1-17.9-40-40-40z\"]\n};\nvar faBurst = {\n prefix: 'fal',\n iconName: 'burst',\n icon: [512, 512, [], \"e4dc\", \"M146.5 211.2c3.3-9.6 1.8-20.1-3.9-28.4L54.9 54.9l127.9 87.7c8.3 5.7 18.9 7.2 28.4 3.9s17-10.8 20.1-20.4L256 50l26.9 83c2.7 8.3 8.6 15.1 16.4 18.9s16.8 4.3 25 1.3l54.3-19.8-19.8 54.3c-3 8.2-2.5 17.2 1.3 25s10.6 13.7 18.9 16.4L462 256l-79.6 25.8c-9 2.9-16.2 9.6-19.8 18.4s-3.1 18.6 1.3 27l40.9 77.8L327.1 364c-8.4-4.4-18.2-4.9-27-1.3s-15.5 10.8-18.4 19.8L256 462l-25.8-79.6c-2.9-9-9.6-16.2-18.4-19.8s-18.6-3.1-27 1.3l-77.8 40.9L148 327.1c4.4-8.4 4.9-18.2 1.3-27s-10.8-15.5-19.8-18.4L50 256l76.1-24.7c9.6-3.1 17.2-10.6 20.4-20.1zM173.4 97.3L37.6 4.2C28-2.3 15.2-1.1 7 7s-9.4 21-2.8 30.5L97.3 173.4l18.9 27.5L84.5 211.2l-67.9 22C6.7 236.4 0 245.6 0 256s6.7 19.6 16.6 22.8l72.2 23.4 30.9 10L104.6 341 66.8 412.8c-4.9 9.3-3.2 20.7 4.3 28.1s18.8 9.2 28.1 4.3L171 407.4l28.7-15.1 10 30.9 23.4 72.2c3.2 9.9 12.4 16.6 22.8 16.6s19.6-6.7 22.8-16.6l23.4-72.2 10-30.9L341 407.4l71.9 37.8c9.3 4.9 20.7 3.2 28.1-4.3s9.2-18.8 4.3-28.1L407.4 341l-15.1-28.7 30.9-10 72.2-23.4c9.9-3.2 16.6-12.4 16.6-22.8s-6.7-19.6-16.6-22.8l-76.1-24.6-30.5-9.9 11-30.1 14.7-40.4c3.2-8.8 1-18.6-5.6-25.2s-16.4-8.8-25.2-5.6l-40.4 14.7-30.1 11-9.9-30.5-24.6-76C275.6 6.7 266.4 0 256 0s-19.6 6.7-22.8 16.6l-22 67.9-10.3 31.7L173.4 97.3z\"]\n};\nvar faHouseLaptop = {\n prefix: 'fal',\n iconName: 'house-laptop',\n icon: [640, 512, [\"laptop-house\"], \"e066\", \"M229.6 3.9c6-5.1 14.8-5.1 20.8 0l224 192c6.7 5.8 7.5 15.9 1.7 22.6c-3.1 3.7-7.6 5.6-12.1 5.6h-.2c-3.7 0-7.3-1.3-10.3-3.9L416 187.9V224H384V160.5L240 37.1 96 160.5V352c0 17.7 14.3 32 32 32H272v32H128c-35.3 0-64-28.7-64-64V187.9L26.4 220.1c-6.7 5.8-16.8 5-22.6-1.7s-5-16.8 1.7-22.6l224-192zM352 256H544c26.5 0 48 21.5 48 48V432c0 8.8-7.2 16-16 16s-16-7.2-16-16V304c0-8.8-7.2-16-16-16H352c-8.8 0-16 7.2-16 16V432c0 8.8-7.2 16-16 16s-16-7.2-16-16V304c0-26.5 21.5-48 48-48zM272 480H624c8.8 0 16 7.2 16 16s-7.2 16-16 16H272c-8.8 0-16-7.2-16-16s7.2-16 16-16zM208 176h64c17.7 0 32 14.3 32 32v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V208H208v64h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H208c-17.7 0-32-14.3-32-32V208c0-17.7 14.3-32 32-32z\"]\n};\nvar faLaptopHouse = faHouseLaptop;\nvar faFaceTired = {\n prefix: 'fal',\n iconName: 'face-tired',\n icon: [512, 512, [128555, \"tired\"], \"f5c8\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256 94c24.2 0 48.2 3.4 71.4 10c-3.5-5.1-7.7-10.3-12.6-15.2c-15.5-15.5-36.2-26.8-58.7-26.8s-43.2 11.3-58.7 26.8c-4.9 4.9-9.2 10.1-12.6 15.2c23.2-6.7 47.2-10 71.4-10zm0-64c33.5 0 61.8 16.7 81.3 36.2c9.8 9.8 17.8 20.8 23.4 31.5c5.5 10.4 9.3 21.8 9.3 32.4c0 5.2-2.5 10.1-6.8 13.1s-9.7 3.7-14.6 2l-16.5-5.9C307.7 386.4 282 382 256 382s-51.8 4.5-76.2 13.2L163.3 401c-4.9 1.8-10.3 1-14.6-2s-6.8-7.9-6.8-13.1c0-10.6 3.8-21.9 9.3-32.4c5.6-10.7 13.6-21.6 23.4-31.5c19.5-19.5 47.9-36.2 81.3-36.2zM129.3 168.8c4-7.9 13.6-11.1 21.5-7.2l64 32c5.4 2.7 8.8 8.3 8.8 14.3s-3.4 11.6-8.8 14.3l-64 32c-7.9 4-17.5 .7-21.5-7.2s-.7-17.5 7.2-21.5L171.9 208l-35.4-17.7c-7.9-4-11.1-13.6-7.2-21.5zm246.2 21.5L340.2 208l35.4 17.7c7.9 4 11.1 13.6 7.2 21.5s-13.6 11.1-21.5 7.2l-64-32c-5.4-2.7-8.8-8.3-8.8-14.3s3.4-11.6 8.8-14.3l64-32c7.9-4 17.5-.7 21.5 7.2s.7 17.5-7.2 21.5z\"]\n};\nvar faTired = faFaceTired;\nvar faMoneyBills = {\n prefix: 'fal',\n iconName: 'money-bills',\n icon: [640, 512, [], \"e1f3\", \"M576 64c17.7 0 32 14.3 32 32v32c-35.3 0-64-28.7-64-64h32zM224 64H512c0 53 43 96 96 96v96c-53 0-96 43-96 96H224c0-53-43-96-96-96V160c53 0 96-43 96-96zM128 288c35.3 0 64 28.7 64 64H160c-17.7 0-32-14.3-32-32V288zm416 64c0-35.3 28.7-64 64-64v32c0 17.7-14.3 32-32 32H544zM192 64c0 35.3-28.7 64-64 64V96c0-17.7 14.3-32 32-32h32zM160 32c-35.3 0-64 28.7-64 64V320c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H160zM368 272a64 64 0 1 1 0-128 64 64 0 1 1 0 128zm-96-64a96 96 0 1 0 192 0 96 96 0 1 0 -192 0zM32 112c0-8.8-7.2-16-16-16s-16 7.2-16 16V368c0 61.9 50.1 112 112 112H528c8.8 0 16-7.2 16-16s-7.2-16-16-16H112c-44.2 0-80-35.8-80-80V112z\"]\n};\nvar faBlindsRaised = {\n prefix: 'fal',\n iconName: 'blinds-raised',\n icon: [512, 512, [], \"f8fd\", \"M32 0C14.3 0 0 14.3 0 32V64C0 81.7 14.3 96 32 96h96V418.7c-18.6 6.6-32 24.4-32 45.3c0 26.5 21.5 48 48 48s48-21.5 48-48c0-20.9-13.4-38.7-32-45.3V96H480c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H32zm0 32H480V64H32V32zm96 432a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM35.9 160l9.8-32H12.3L.9 165c-.6 2-.9 4.1-.9 6.1C0 182.7 9.3 192 20.9 192H96V160H35.9zm0 96l9.8-32H12.3L.9 261c-.6 2-.9 4.1-.9 6.1C0 278.7 9.3 288 20.9 288H96V256H35.9zM192 256v32H491.1c11.5 0 20.9-9.3 20.9-20.9c0-2.1-.3-4.1-.9-6.1l-11.4-37H466.2l9.8 32H192zm0-96v32H491.1c11.5 0 20.9-9.3 20.9-20.9c0-2.1-.3-4.1-.9-6.1l-11.4-37H466.2l9.8 32H192z\"]\n};\nvar faSmog = {\n prefix: 'fal',\n iconName: 'smog',\n icon: [640, 512, [], \"f75f\", \"M176 0C96.5 0 32 64.5 32 144s64.5 144 144 144H299.3c22.6 19.9 52.2 32 84.7 32s62.1-12.1 84.7-32H496c61.9 0 112-50.1 112-112s-50.1-112-112-112c-10.7 0-21 1.5-30.8 4.3C443.8 27.7 401.1 0 352 0c-32.7 0-62.5 12.2-85.1 32.3C242.2 12.1 210.5 0 176 0zM64 144C64 82.1 114.1 32 176 32c31.4 0 59.7 12.9 80.1 33.7c3.1 3.2 7.4 4.9 11.9 4.8s8.7-2.1 11.6-5.5c17.6-20.2 43.5-33 72.4-33c41 0 76.1 25.7 89.8 62c1.6 4.1 4.8 7.4 8.8 9.1s8.7 1.6 12.7-.2c10-4.5 21-7 32.7-7c44.2 0 80 35.8 80 80s-35.8 80-80 80H462.4c-4.2 0-8.2 1.6-11.2 4.6c-17.3 17-41 27.4-67.2 27.4s-49.9-10.4-67.2-27.4c-3-2.9-7-4.6-11.2-4.6H176c-61.9 0-112-50.1-112-112zM80 384c-8.8 0-16 7.2-16 16s7.2 16 16 16H208c8.8 0 16-7.2 16-16s-7.2-16-16-16H80zm192 0c-8.8 0-16 7.2-16 16s7.2 16 16 16H624c8.8 0 16-7.2 16-16s-7.2-16-16-16H272zM16 480c-8.8 0-16 7.2-16 16s7.2 16 16 16H368c8.8 0 16-7.2 16-16s-7.2-16-16-16H16zm416 0c-8.8 0-16 7.2-16 16s7.2 16 16 16H560c8.8 0 16-7.2 16-16s-7.2-16-16-16H432z\"]\n};\nvar faUfoBeam = {\n prefix: 'fal',\n iconName: 'ufo-beam',\n icon: [576, 512, [], \"e048\", \"M141.3 166.7l11.3-11.4c-11.3 11.4-11.3 11.4-11.3 11.4l0 0 0 0 .1 .1 .2 .2 .6 .5c.5 .4 1.1 1 1.9 1.6c1.6 1.3 3.8 3 6.7 5.1c5.8 4 14.5 9.1 26.3 14.1C200.7 198.4 236.7 208 288 208s87.3-9.6 110.9-19.6c11.8-5 20.4-10.1 26.3-14.1c2.9-2 5.1-3.7 6.7-5.1c.8-.7 1.4-1.2 1.9-1.6l.6-.5 .2-.2 .1-.1 0 0 0 0s0 0-11.3-11.4l11.3 11.4c2.7-2.7 4.3-6.2 4.7-9.9c.7-8.1 .8-16 .2-23.7c30.2 8 55.1 18.1 73.1 29.4c23.1 14.4 31.2 28.3 31.2 39.1c0 7.9-4.2 17.4-16 27.9c-11.8 10.5-29.7 20.7-53.3 29.5c-47 17.7-113 29-186.7 29s-139.7-11.3-186.7-29c-23.6-8.9-41.5-19-53.3-29.5c-11.8-10.5-16-20-16-27.9c0-10.9 8.2-24.7 31.2-39.1c18-11.3 42.9-21.4 73.1-29.4c-.6 7.7-.5 15.6 .2 23.7c.3 3.7 2 7.3 4.7 9.9zm2.3-68.3c-38.9 8.9-72.5 21.4-97.3 36.9C20.1 151.7 0 173.9 0 201.6c0 20.3 11 37.8 26.7 51.8c15.7 14 37.6 25.9 63.3 35.6c51.4 19.4 121.4 31 198 31s146.5-11.7 198-31c25.7-9.7 47.5-21.6 63.3-35.6c15.7-14 26.7-31.5 26.7-51.8c0-27.7-20.1-49.9-46.3-66.3c-24.8-15.5-58.4-28-97.3-36.9C412.1 39.7 353.1 0 288 0S163.9 39.7 143.5 98.4zM288 32c66.9 0 122 50.8 119.9 115.3l-.8 .6c-4.2 2.9-10.9 6.9-20.7 11.1C366.9 167.2 335.2 176 288 176s-78.9-8.8-98.4-17.1c-9.8-4.2-16.5-8.2-20.7-11.1l-.8-.6C166 82.8 221.1 32 288 32zM103.8 338c-7.7-4.3-17.5-1.5-21.8 6.2L2 488.2C-2.3 496 .5 505.7 8.2 510s17.5 1.5 21.8-6.2l80-144c4.3-7.7 1.5-17.5-6.2-21.8zm368.5 0c-7.7 4.3-10.5 14-6.2 21.8l80 144c4.3 7.7 14 10.5 21.8 6.2s10.5-14 6.2-21.8l-80-144c-4.3-7.7-14-10.5-21.8-6.2zM288 272a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM120 200a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm360 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faCircleCaretUp = {\n prefix: 'fal',\n iconName: 'circle-caret-up',\n icon: [512, 512, [\"caret-circle-up\"], \"f331\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-352c-9.6 0-18.7 4-25.2 11L135.3 273.8c-4.7 5.1-7.3 11.8-7.3 18.7c0 15.2 12.3 27.5 27.5 27.5h201c15.2 0 27.5-12.3 27.5-27.5c0-6.9-2.6-13.6-7.3-18.7L281.2 171c-6.5-7-15.6-11-25.2-11zm-1.7 32.7c.4-.5 1.1-.7 1.7-.7s1.3 .3 1.7 .7L346.2 288H165.8l88.4-95.3z\"]\n};\nvar faCaretCircleUp = faCircleCaretUp;\nvar faUserVneckHairLong = {\n prefix: 'fal',\n iconName: 'user-vneck-hair-long',\n icon: [448, 512, [], \"e463\", \"M320 128c0-5.5-.5-10.8-1.3-16H288.6c-14.9 0-29.1-5.9-39.6-16.4l-6.3-6.3C223.4 113.5 194 128 162.3 128L128 128v16c0 53 43 96 96 96s96-43 96-96V128zM224 0c70.7 0 128 57.3 128 128c0 35.3 16.6 68.4 44.8 89.6l4.3 3.2c9.4 7.1 14.9 18.1 14.9 29.9c0 20.6-16.7 37.3-37.3 37.3H320c-8.8 0-16-7.2-16-16s7.2-16 16-16h58.7c2.9 0 5.3-2.4 5.3-5.3c0-1.7-.8-3.3-2.1-4.3l-4.3-3.2c-15.8-11.9-28.8-26.7-38.4-43.4C318.5 242.6 274.7 272 224 272s-94.5-29.4-115.2-72.2c-9.6 16.7-22.6 31.5-38.4 43.4l-4.3 3.2c-1.3 1-2.1 2.6-2.1 4.3c0 2.9 2.4 5.3 5.3 5.3H128c8.8 0 16 7.2 16 16s-7.2 16-16 16H69.3C48.7 288 32 271.3 32 250.7c0-11.8 5.5-22.8 14.9-29.9l4.3-3.2C79.4 196.4 96 163.3 96 128C96 57.3 153.3 0 224 0zm4.7 52.7c6.2-6.2 16.4-6.2 22.6 0L271.6 73c4.5 4.5 10.6 7 17 7h18.6C290.6 51.3 259.5 32 224 32c-41.8 0-77.4 26.7-90.5 64h28.9c26.7 0 51.2-15 63.2-38.9c.8-1.6 1.8-3.1 3.1-4.5zM185.6 418.1l-48-64C77.9 365.2 32.6 417.3 32 480H416c-.6-62.7-45.9-114.8-105.6-125.8l-48 64c-19.2 25.6-57.6 25.6-76.8 0zM143.7 321c5.3-.6 10.5 1.9 13.7 6.2l53.9 71.8c6.4 8.5 19.2 8.5 25.6 0l53.9-71.8c3.2-4.3 8.4-6.7 13.7-6.2C385.1 329.7 448 398.2 448 481.3c0 17-13.8 30.7-30.7 30.7H30.7C13.8 512 0 498.2 0 481.3C0 398.2 62.9 329.7 143.7 321z\"]\n};\nvar faSquareALock = {\n prefix: 'fal',\n iconName: 'square-a-lock',\n icon: [576, 512, [], \"e44d\", \"M64 64H384c17.7 0 32 14.3 32 32v74.8c9.9-4.7 20.7-8 32-9.6V96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.6 0 96V416c0 35.3 28.7 64 64 64H320V448H64c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32zm174.3 72.8c-2.7-5.4-8.3-8.8-14.3-8.8s-11.6 3.4-14.3 8.8l-112 224c-4 7.9-.7 17.5 7.2 21.5s17.5 .7 21.5-7.2L145.9 336H302.1L320 371.8V352c0-12.2 3.4-23.5 9.3-33.2l-91-181.9zM224 179.8L286.1 304H161.9L224 179.8zM464 224c26.5 0 48 21.5 48 48v48H416V272c0-26.5 21.5-48 48-48zm-80 48v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H544c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80zm0 80H544V480H384V352z\"]\n};\nvar faCrutch = {\n prefix: 'fal',\n iconName: 'crutch',\n icon: [512, 512, [], \"f7f7\", \"M292.7 4.7c-6.2 6.2-6.2 16.4 0 22.6l192 192c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-192-192c-6.2-6.2-16.4-6.2-22.6 0zM196.6 164.8L162.4 199c-11.2 11.2-18.8 25.4-21.9 40.9l-24.4 122c-1.9 9.3-6.4 17.8-13.1 24.5L4.7 484.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L125.6 409c6.7-6.7 15.2-11.3 24.5-13.1l122-24.4c15.5-3.1 29.7-10.7 40.9-21.9l34.3-34.3 94.1-94.1-22.6-22.6L336 281.4 230.6 176l82.7-82.7L290.7 70.6l-94 94c0 0-.1 .1-.1 .1s-.1 .1-.1 .1zM208 198.6L313.4 304l-23 23c-6.7 6.7-15.2 11.3-24.5 13.1L148.4 363.6l23.5-117.5c1.9-9.3 6.4-17.8 13.1-24.5l23-23z\"]\n};\nvar faGasPumpSlash = {\n prefix: 'fal',\n iconName: 'gas-pump-slash',\n icon: [640, 512, [], \"f5f4\", \"M352 362.8V480H128V186L96 160.7V480l-16 0c-8.8 0-16 7.2-16 16s7.2 16 16 16H96h32H352h32 16c8.8 0 16-7.2 16-16s-7.2-16-16-16l-16 0V388.1l-32-25.3zM144.6 36c4.6-2.5 9.8-4 15.4-4H320c17.7 0 32 14.3 32 32V199.7L384 225V64c0-35.3-28.7-64-64-64H160c-15.9 0-30.4 5.8-41.6 15.3L144.6 36zM576 157.1c0-17.9-7.5-35.1-20.8-47.2L474.8 36.2c-6.5-6-16.6-5.5-22.6 1s-5.5 16.6 1 22.6L480 84.4V160c0 35.3 28.7 64 64 64V351.3l32 25.3V157.1zm-64-43.4l21.6 19.8c6.6 6.1 10.4 14.6 10.4 23.6V192c-17.7 0-32-14.3-32-32V113.7zM25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4z\"]\n};\nvar faFontAwesome = {\n prefix: 'fal',\n iconName: 'font-awesome',\n icon: [512, 512, [62501, 62694, \"font-awesome-flag\", \"font-awesome-logo-full\"], \"f2b4\", \"M64 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm55.5 64c5.4-9.4 8.6-20.3 8.6-32C128 28.7 99.3 0 64 0S0 28.7 0 64c0 23.7 12.9 44.4 32 55.4l0 8.6 0 288 0 32 0 64 32 0 0-64 405.6 0c14.6 0 26.4-11.8 26.4-26.4c0-3.7-.8-7.3-2.3-10.7L432 272l61.7-138.9c1.5-3.4 2.3-7 2.3-10.7c0-14.6-11.8-26.4-26.4-26.4L119.4 96zM64 128l397 0L402.8 259c-3.7 8.3-3.7 17.7 0 26L461 416 64 416l0-288z\"]\n};\nvar faFontAwesomeFlag = faFontAwesome;\nvar faFontAwesomeLogoFull = faFontAwesome;\nvar faCloudArrowUp = {\n prefix: 'fal',\n iconName: 'cloud-arrow-up',\n icon: [640, 512, [62338, \"cloud-upload\", \"cloud-upload-alt\"], \"f0ee\", \"M389.8 125.2C363.7 88.1 320.7 64 272 64c-77.4 0-140.5 61-143.9 137.5c-.6 13-9 24.4-21.3 28.8C63.2 245.7 32 287.2 32 336c0 61.9 50.1 112 112 112H512c53 0 96-43 96-96c0-36.8-20.7-68.8-51.2-84.9c-13.4-7.1-20-22.5-15.8-37.1c2-6.9 3-14.3 3-22c0-44.2-35.8-80-80-80c-12.3 0-23.9 2.8-34.3 7.7c-14.1 6.7-30.9 2.3-39.9-10.5zM272 32c59.5 0 112.1 29.5 144 74.8C430.5 99.9 446.8 96 464 96c61.9 0 112 50.1 112 112c0 10.7-1.5 21-4.3 30.8C612.3 260.2 640 302.9 640 352c0 70.7-57.3 128-128 128H144C64.5 480 0 415.5 0 336c0-62.8 40.2-116.1 96.2-135.9C100.3 106.6 177.4 32 272 32zM228.7 244.7l80-80c6.2-6.2 16.4-6.2 22.6 0l80 80c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L336 214.6V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V214.6l-52.7 52.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6z\"]\n};\nvar faCloudUpload = faCloudArrowUp;\nvar faCloudUploadAlt = faCloudArrowUp;\nvar faPalette = {\n prefix: 'fal',\n iconName: 'palette',\n icon: [512, 512, [127912], \"f53f\", \"M480 258.3c-.1 14.1-13.8 29.7-38.1 29.7H344c-44.2 0-80 35.8-80 80c0 5.6 .6 11.2 1.7 16.6c2.9 13.8 8.9 27.3 13.2 37c.8 1.7 1.5 3.3 2.1 4.8c5 11.6 6.9 18.2 6.9 23.5c0 19.2-12.3 29.6-22.7 30c-3.1 .1-6.2 .2-9.3 .2C132.3 480 32 379.7 32 256S132.3 32 256 32s224 100.3 224 224c0 .8 0 1.6 0 2.3zm32 .3c0-.9 0-1.8 0-2.7C512 114.6 397.4 0 256 0S0 114.6 0 256S114.6 512 256 512c3.5 0 7.1-.1 10.6-.2c31.8-1.3 53.4-30.1 53.4-62c0-14.5-6.1-28.3-12.1-42c-4.3-9.8-8.7-19.7-10.8-29.9c-.7-3.2-1-6.5-1-9.9c0-26.5 21.5-48 48-48h97.9c36.5 0 69.7-24.8 70.1-61.3zM152 256a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm8-72a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm120-56a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm72 56a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faTransporter4 = {\n prefix: 'fal',\n iconName: 'transporter-4',\n icon: [512, 512, [], \"e2a5\", \"M208 16c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H224c-8.8 0-16 7.2-16 16zm0 64c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H224c-8.8 0-16 7.2-16 16zm-48 64c0 8.8 7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H176c-8.8 0-16 7.2-16 16zm-32 64c0 8.8 7.2 16 16 16H368c8.8 0 16-7.2 16-16s-7.2-16-16-16H144c-8.8 0-16 7.2-16 16zM96 272c0 8.8 7.2 16 16 16H400c8.8 0 16-7.2 16-16s-7.2-16-16-16H112c-8.8 0-16 7.2-16 16zm64 64c0 8.8 7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H176c-8.8 0-16 7.2-16 16zm0 64c0 8.8 7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H176c-8.8 0-16 7.2-16 16zM464 128c-8.8 0-16 7.2-16 16v16H432c-8.8 0-16 7.2-16 16s7.2 16 16 16h16v16c0 8.8 7.2 16 16 16s16-7.2 16-16V192h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H480V144c0-8.8-7.2-16-16-16zM48 352c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H32v16c0 8.8 7.2 16 16 16s16-7.2 16-16V416H80c8.8 0 16-7.2 16-16s-7.2-16-16-16H64V368c0-8.8-7.2-16-16-16zm80 144c0-8.8 7.2-16 16-16H368c8.8 0 16 7.2 16 16s7.2 16 16 16s16-7.2 16-16c0-26.5-21.5-48-48-48H144c-26.5 0-48 21.5-48 48c0 8.8 7.2 16 16 16s16-7.2 16-16z\"]\n};\nvar faChartMixedUpCircleCurrency = {\n prefix: 'fal',\n iconName: 'chart-mixed-up-circle-currency',\n icon: [576, 512, [], \"e5d8\", \"M416 0c-8.8 0-16 7.2-16 16s7.2 16 16 16h72.2l-153 139.1L201.8 67.4c-5.6-4.4-13.5-4.5-19.2-.3l-176 128c-7.1 5.2-8.7 15.2-3.5 22.4s15.2 8.7 22.4 3.5L191.7 100 326.2 204.6c6.1 4.8 14.8 4.4 20.6-.8L512 53.6V128c0 8.8 7.2 16 16 16s16-7.2 16-16V16c0-8.8-7.2-16-16-16H416zM208 432c0 8.8-7.2 16-16 16s-16-7.2-16-16V272c0-8.8 7.2-16 16-16s16 7.2 16 16V432zM192 224c-26.5 0-48 21.5-48 48V432c0 26.5 21.5 48 48 48s48-21.5 48-48V272c0-26.5-21.5-48-48-48zM80 432c0 8.8-7.2 16-16 16s-16-7.2-16-16V368c0-8.8 7.2-16 16-16s16 7.2 16 16v64zM64 320c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48s48-21.5 48-48V368c0-26.5-21.5-48-48-48zm256 48a112 112 0 1 1 224 0 112 112 0 1 1 -224 0zm256 0a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zM406.6 393.4a35.9 35.9 0 1 1 50.7-50.7 35.9 35.9 0 1 1 -50.7 50.7zm-10 32.6c21.6 13.2 49.1 13.2 70.7 0l9.3 9.3c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-9.3-9.3c13.2-21.6 13.2-49.1 0-70.7l9.3-9.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-9.3 9.3c-21.6-13.2-49.1-13.2-70.7 0l-9.3-9.3c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l9.3 9.3c-13.2 21.6-13.2 49.1 0 70.7l-9.3 9.3c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l9.3-9.3z\"]\n};\nvar faObjectsAlignRight = {\n prefix: 'fal',\n iconName: 'objects-align-right',\n icon: [512, 512, [], \"e3bf\", \"M512 16c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 480c0 8.8 7.2 16 16 16s16-7.2 16-16l0-480zM352 176c0 8.8-7.2 16-16 16L48 192c-8.8 0-16-7.2-16-16l0-64c0-8.8 7.2-16 16-16l288 0c8.8 0 16 7.2 16 16l0 64zm32-64c0-26.5-21.5-48-48-48L48 64C21.5 64 0 85.5 0 112l0 64c0 26.5 21.5 48 48 48l288 0c26.5 0 48-21.5 48-48l0-64zM352 400c0 8.8-7.2 16-16 16l-160 0c-8.8 0-16-7.2-16-16l0-64c0-8.8 7.2-16 16-16l160 0c8.8 0 16 7.2 16 16l0 64zm32-64c0-26.5-21.5-48-48-48l-160 0c-26.5 0-48 21.5-48 48l0 64c0 26.5 21.5 48 48 48l160 0c26.5 0 48-21.5 48-48l0-64z\"]\n};\nvar faArrowsTurnRight = {\n prefix: 'fal',\n iconName: 'arrows-turn-right',\n icon: [448, 512, [], \"e4c0\", \"M292 5.5c5.8-6.7 15.9-7.3 22.6-1.5l128 112c3.5 3 5.5 7.4 5.5 12s-2 9-5.5 12l-128 112c-6.7 5.8-16.8 5.1-22.6-1.5s-5.1-16.8 1.5-22.6l96-84H112c-44.2 0-80 35.8-80 80v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V224c0-61.9 50.1-112 112-112H389.4l-96-84c-6.6-5.8-7.3-15.9-1.5-22.6zm-96 256c5.8-6.6 15.9-7.3 22.6-1.5l128 112c3.5 3 5.5 7.4 5.5 12s-2 9-5.5 12l-128 112c-6.7 5.8-16.8 5.1-22.6-1.5s-5.1-16.8 1.5-22.6l96-84H80c-26.5 0-48 21.5-48 48v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V448c0-44.2 35.8-80 80-80H293.4l-96-84c-6.7-5.8-7.3-15.9-1.5-22.6z\"]\n};\nvar faVest = {\n prefix: 'fal',\n iconName: 'vest',\n icon: [448, 512, [], \"e085\", \"M96 0h18 6.4c20.5 0 36.7 13 46.7 24.7C176 35 192.9 48 224 48s48-13 56.9-23.3C290.9 13 307.1 0 327.6 0H334h18c26.5 0 48 21.5 48 48v80 58.7c0 5.8 1.6 11.5 4.6 16.5l34.3 57.2c6 9.9 9.1 21.3 9.1 32.9V464c0 26.5-21.5 48-48 48H240c-26.5 0-48-21.5-48-48V296.9c0-7.8 1.4-15.6 4.2-22.9L274.6 69.1C261.3 75.6 244.6 80 224 80s-37.3-4.4-50.6-10.9l33.4 87.4-17.1 44.8L128.9 42.3C126.6 36.1 120.6 32 114 32H96c-8.8 0-16 7.2-16 16v80 58.7c0 11.6-3.2 23-9.1 32.9L36.6 276.8c-3 5-4.6 10.7-4.6 16.5V425.4l68.7-68.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-88 88c-.8 .8-1.6 1.4-2.4 2C35.1 475.5 41 480 48 480H161.6c2.4 11.8 7.4 22.7 14.4 32H48c-26.5 0-48-21.5-48-48V293.3c0-11.6 3.2-23 9.1-32.9l34.3-57.2c3-5 4.6-10.7 4.6-16.5V128 48C48 21.5 69.5 0 96 0zM368 48c0-8.8-7.2-16-16-16H334c-6.6 0-12.6 4.1-14.9 10.3l-93 243.1c-1.4 3.6-2.1 7.5-2.1 11.4V464c0 8.8 7.2 16 16 16H400c7 0 12.9-4.5 15.1-10.7c-.9-.6-1.7-1.2-2.4-2l-88-88c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L416 425.4V293.3c0-5.8-1.6-11.5-4.6-16.5l-34.3-57.2c-6-9.9-9.1-21.3-9.1-32.9V128 48z\"]\n};\nvar faPig = {\n prefix: 'fal',\n iconName: 'pig',\n icon: [640, 512, [128022], \"f706\", \"M484.2 32c-4.4 0-8.7 .7-12.9 1.9L416.6 50.8C399.7 56 385.5 66.4 375.5 80H240C162.6 80 98 135 83.2 208H47.4c-8.5 0-15.4-6.9-15.4-15.4c0-7.1 4.8-13.3 11.7-15l8.2-2c8.6-2.1 13.8-10.8 11.6-19.4s-10.8-13.8-19.4-11.6l-8.2 2C14.8 151.8 0 170.8 0 192.6C0 218.8 21.2 240 47.4 240H80v16c0 53.4 29.1 100 72.2 124.8L180 458.8c4.5 12.7 16.6 21.2 30.1 21.2H256c17.7 0 32-14.3 32-32V416h32 48v32c0 17.7 14.3 32 32 32h45.9c13.5 0 25.6-8.5 30.1-21.2L494 408.5c25.9-9 48.8-25.5 65.3-47.7c.3-.4 .6-.6 .8-.7l.1 0 .1 0H600c22.1 0 40-17.9 40-40V240c0-22.1-17.9-40-40-40H581.3c-5.2-3.5-9.9-7.7-14.1-12.3c25-13.7 40.9-40 40.9-68.9C608 97.3 590.7 80 569.3 80H528V75.8C528 51.6 508.4 32 484.2 32zm40.9 80h44.1c3.7 0 6.7 3 6.7 6.7c0 18.6-11 35.3-28 42.7c-9-11.5-19.1-22-30.2-31.2c3.1-5.7 5.6-11.8 7.3-18.2zM480.7 64.5c1.1-.3 2.3-.5 3.5-.5c6.5 0 11.8 5.3 11.8 11.8V90.1c0 12.5-4.5 24.1-12 33.3c-2.8 3.4-4.1 7.8-3.6 12.2s2.9 8.4 6.5 11c17.9 13 33.5 29.3 45.8 48.5c8.2 12.7 18.9 23.5 31.3 31.9c5.4 3.6 11.4 5.1 17.1 5.1H600c4.4 0 8 3.6 8 8v80c0 4.4-3.6 8-8 8H560.2c-11.1 0-20.7 5.7-26.6 13.7c-14 18.8-33.8 32.3-56.3 38.5c-5 1.4-9 5.1-10.8 10L445.9 448H400V400c0-8.8-7.2-16-16-16H320 272c-8.8 0-16 7.2-16 16v48H210.1l-29.9-83.7c-1.4-3.8-4.1-7-7.7-8.8c-36-18.7-60.5-56.2-60.5-99.5V240c0-70.7 57.3-128 128-128H380.5c1.1 0 2.2 0 3.4 0c5.9 .1 11.4-3 14.3-8.2c5.9-10.6 15.7-18.8 27.9-22.5l54.7-16.8zM468 256a20 20 0 1 0 0-40 20 20 0 1 0 0 40z\"]\n};\nvar faInboxFull = {\n prefix: 'fal',\n iconName: 'inbox-full',\n icon: [512, 512, [], \"e1ba\", \"M32 327.9V416c0 17.7 14.3 32 32 32H448c17.7 0 32-14.3 32-32V327.9c0-2.6-.3-5.2-1-7.8l0-.1H377.9l-23.2 46.3c-5.4 10.8-16.5 17.7-28.6 17.7H185.9c-12.1 0-23.2-6.8-28.6-17.7L134.1 320H33l0 .1c-.6 2.5-1 5.1-1 7.8zM421.1 88.2C417.5 74 404.7 64 390 64H122c-14.7 0-27.5 10-31 24.2L41 288h93.1c12.1 0 23.2 6.8 28.6 17.7L185.9 352H326.1l23.2-46.3c5.4-10.8 16.5-17.7 28.6-17.7H471L421.1 88.2zM0 416V327.9c0-5.2 .6-10.4 1.9-15.5l58-231.9C67 52 92.6 32 122 32H390c29.4 0 55 20 62.1 48.5l58 231.9c1.3 5.1 1.9 10.3 1.9 15.5V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64zM176 144H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16s7.2-16 16-16zm-32 80H368c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faCircleEnvelope = {\n prefix: 'fal',\n iconName: 'circle-envelope',\n icon: [512, 512, [\"envelope-circle\"], \"e10c\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm160-96H352c17.7 0 32 14.3 32 32V320c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32V192c0-17.7 14.3-32 32-32zm192 48.5V192H160v16.5l88.5 47.1c2.3 1.2 4.9 1.9 7.5 1.9s5.2-.6 7.5-1.9L352 208.5zm0 36.2l-73.4 39.1c-7 3.7-14.7 5.6-22.6 5.6s-15.6-1.9-22.6-5.6L160 244.8V320H352V244.8z\"]\n};\nvar faEnvelopeCircle = faCircleEnvelope;\nvar faTrianglePersonDigging = {\n prefix: 'fal',\n iconName: 'triangle-person-digging',\n icon: [640, 512, [\"construction\"], \"f85d\", \"M320 32c2.8 0 5.4 1.4 6.8 3.8l264.5 432c1.5 2.5 1.6 5.6 .2 8.1s-4.1 4.1-7 4.1H56c-2.9 0-5.6-1.6-7-4.1s-1.4-5.6 .2-8.1l264-432c1.5-2.4 4-3.8 6.8-3.8zm34.1-12.9C346.8 7.2 333.9 0 320 0s-26.9 7.3-34.1 19.1l-264 432c-7.5 12.3-7.8 27.8-.8 40.4S41.5 512 56 512H584.5c14.5 0 27.8-7.8 34.9-20.4s6.8-28.1-.8-40.4L354.1 19.1zM312 224a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm-37 48c9.9 0 18.6 6.6 21.2 16.2l5.9 21.8-46.5-26.8 1.8-2.4c4.2-5.5 10.7-8.8 17.6-8.8zm66.5 60.7l-14.4-52.9C320.7 256.3 299.3 240 275 240c-17 0-33 8-43.2 21.6l-12.6 16.8c-2.7 3.7-3.8 8.3-2.9 12.8s3.7 8.4 7.7 10.6l155.9 89.9-9.6 16c-3 4.9-3 11.1-.2 16.1s8.2 8.1 13.9 8.1h96c5.8 0 11.1-3.1 13.9-8.1s2.8-11.2-.2-16.1l-48-80c-2.9-4.8-8.1-7.8-13.7-7.8s-10.8 2.9-13.7 7.8l-21.9 36.6-54.8-31.6zm-124.6-12l-7.5 16.8-32 72c-3.6 8.1 0 17.5 8.1 21.1s17.5 0 21.1-8.1l24.5-55.2L272 392.9V416c0 8.8 7.2 16 16 16s16-7.2 16-16V384c0-5.5-2.8-10.6-7.5-13.6l-64-40-15.6-9.8zM451.7 400H412.3L432 367.1 451.7 400z\"]\n};\nvar faConstruction = faTrianglePersonDigging;\nvar faFerry = {\n prefix: 'fal',\n iconName: 'ferry',\n icon: [576, 512, [], \"e4ea\", \"M224 0c-17.7 0-32 14.3-32 32H124c-17.1 0-28.7 17.4-22.2 33.2L114.7 96H112c-26.5 0-48 21.5-48 48V295.1c0 8.7 2.4 17.2 6.8 24.7l43.4 72.4c4.5 7.6 14.4 10 22 5.5s10-14.4 5.5-21.9L108.3 320H467.7l-33.5 55.8c-4.5 7.6-2.1 17.4 5.5 21.9s17.4 2.1 21.9-5.5l43.4-72.4c4.5-7.5 6.8-16 6.8-24.7V144c0-26.5-21.5-48-48-48h-2.7l12.8-30.8c6.6-15.8-5-33.2-22.2-33.2H384c0-17.7-14.3-32-32-32H224zM416 288H160V192H416v96zm32 0V176c0-8.8-7.2-16-16-16H144c-8.8 0-16 7.2-16 16V288H96V144c0-8.8 7.2-16 16-16h16H448h16c8.8 0 16 7.2 16 16V288H448zM426.7 96H149.3L136 64h56 32V32H352V64h32 56L426.7 96zM192 480c-20.9 0-41.7-9.9-58.2-21.2c-9.7-6.6-18-14-25.9-21.9c-6.6-6.5-17.2-6.5-23.8 0c-7.9 7.9-16.1 15.2-25.9 21.9c-12.8 8.7-28.1 16.6-44 19.8C6.4 480.1 0 486.4 0 494.2c0 9.8 8 17.9 17.7 16.2c23.1-4 43.6-15 58.5-25.2c7.9-5.4 14.6-10.8 19.8-15.3c5.1 4.5 11.9 9.9 19.8 15.3C134.4 497.9 161.7 512 192 512s57.5-14.1 76.2-26.8c7.9-5.4 14.6-10.8 19.8-15.3c5.1 4.5 11.9 9.9 19.8 15.3C326.4 497.9 353.7 512 384 512s57.5-14.1 76.2-26.8c7.9-5.4 14.6-10.8 19.8-15.3c5.1 4.5 11.9 9.9 19.8 15.3c15 10.2 35.4 21.2 58.5 25.2c9.7 1.7 17.7-6.4 17.7-16.2c0-7.9-6.4-14.1-14.1-15.7c-16-3.1-31.3-11.1-44.1-19.8c-9.8-6.7-18-14-26-21.9c-6.6-6.5-17.2-6.5-23.7 0c-7.9 7.9-16.1 15.2-25.9 21.9C425.6 470 404.9 480 384 480s-41.7-9.9-58.2-21.2c-9.8-6.7-18-14-26-21.9c-6.6-6.5-17.2-6.5-23.7 0c-7.9 7.9-16.1 15.2-25.9 21.9C233.6 470 212.9 480 192 480z\"]\n};\nvar faBullseyeArrow = {\n prefix: 'fal',\n iconName: 'bullseye-arrow',\n icon: [512, 512, [127919], \"f648\", \"M326.3 9.8C304 3.4 280.4 0 256 0C114.6 0 0 114.6 0 256S114.6 512 256 512s256-114.6 256-256c0-24.4-3.4-48-9.8-70.3l-22.8 25.4c-1.1 1.2-2.1 2.3-3.3 3.4c2.5 13.5 3.8 27.3 3.8 41.5c0 123.7-100.3 224-224 224S32 379.7 32 256S132.3 32 256 32c14.2 0 28.1 1.3 41.5 3.8c1.1-1.1 2.2-2.2 3.4-3.3L326.3 9.8zM274.6 97.1c-6.1-.7-12.3-1.1-18.6-1.1C167.6 96 96 167.6 96 256s71.6 160 160 160s160-71.6 160-160c0-6.3-.4-12.5-1.1-18.6c-2.7-.2-5.4-.5-8.1-.9l-25-4.2c1.4 7.7 2.2 15.6 2.2 23.7c0 70.7-57.3 128-128 128s-128-57.3-128-128s57.3-128 128-128c8.1 0 16 .8 23.7 2.2l-4.2-25c-.5-2.7-.8-5.4-.9-8.1zm66.9 96.1l70.4 11.7c16.3 2.7 32.8-3.1 43.8-15.5L499.6 140c11.7-13.1 5.8-33.9-11-38.9L428.9 83.2 410.9 23.4c-5-16.8-25.8-22.7-38.9-11L322.6 56.3c-12.3 11-18.2 27.5-15.5 43.8l11.7 70.4-74.2 74.2c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l74.2-74.2zm27.8-27.8l51.3-51.3 46.8 14-35.6 40c-3.7 4.1-9.2 6.1-14.6 5.2l-47.9-8zm28.6-73.9l-51.3 51.3-8-47.9c-.9-5.4 1-10.9 5.2-14.6l40-35.6 14 46.8z\"]\n};\nvar faArrowsDownToPeople = {\n prefix: 'fal',\n iconName: 'arrows-down-to-people',\n icon: [640, 512, [], \"e4b9\", \"M128 16c0-8.8 7.2-16 16-16s16 7.2 16 16V145.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-64 64c-6.2 6.2-16.4 6.2-22.6 0l-64-64c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L128 145.4V16zm292.7 92.7c6.2-6.2 16.4-6.2 22.6 0L480 145.4V16c0-8.8 7.2-16 16-16s16 7.2 16 16V145.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-64 64c-6.2 6.2-16.4 6.2-22.6 0l-64-64c-6.2-6.2-6.2-16.4 0-22.6zM336 192a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-64 0a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm24 208h48V289.5c-3.8-1-7.7-1.5-11.8-1.5H307.8c-4 0-8 .5-11.8 1.5V400zm122.4-15.6L376 315.5V400c0 17.7-14.3 32-32 32H296c-17.7 0-32-14.3-32-32V315.5l-42.4 68.9c-.2 .3-.3 .5-.5 .8c1.1 1.6 2.2 3.2 3.3 4.9l45.3 73.5c4.6 7.5 2.3 17.4-5.2 22s-17.4 2.3-22-5.2L200 411.5V480c0 17.7-14.3 32-32 32H120c-17.7 0-32-14.3-32-32V411.5L45.6 480.4c-4.6 7.5-14.5 9.9-22 5.2s-9.9-14.5-5.2-22l45.3-73.5C78.2 366.4 104 352 131.8 352h24.5c14.6 0 28.7 4 40.8 11.2l42.5-69.1C254.2 270.4 280 256 307.8 256h24.5c27.8 0 53.6 14.4 68.1 38.1l42.6 69.1c12.2-7.2 26.2-11.2 40.8-11.2h24.5c27.8 0 53.6 14.4 68.1 38.1l45.3 73.5c4.6 7.5 2.3 17.4-5.2 22s-17.4 2.3-22-5.2L552 411.5V480c0 17.7-14.3 32-32 32H472c-17.7 0-32-14.3-32-32V411.5l-42.4 68.9c-4.6 7.5-14.5 9.9-22 5.2s-9.9-14.5-5.2-22l45.3-73.5c1-1.7 2.1-3.3 3.3-4.9c-.2-.3-.4-.5-.5-.8zM144 304a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm0-64a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM120 385.5V480h48V385.5c-3.8-1-7.7-1.5-11.8-1.5H131.8c-4 0-8 .5-11.8 1.5zM512 288a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-64 0a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm24 192h48V385.5c-3.8-1-7.7-1.5-11.8-1.5H483.8c-4 0-8 .5-11.8 1.5V480z\"]\n};\nvar faSeedling = {\n prefix: 'fal',\n iconName: 'seedling',\n icon: [512, 512, [127793, \"sprout\"], \"f4d8\", \"M480 32c0 95.3-69.4 174.4-160.5 189.4c2.7 10.2 4.7 20.7 6.1 31.4C431.4 234.9 512 142.9 512 32c0-17.7-14.3-32-32-32H448C367 0 296 43 256.6 107.5c7.8 8.3 15.1 17.2 21.8 26.4C310.7 73.3 374.5 32 448 32h32zM64 96c106 0 192 86 192 192H224C118 288 32 202 32 96H64zM32 64C14.3 64 0 78.3 0 96C0 219.7 100.3 320 224 320h32V496c0 8.8 7.2 16 16 16s16-7.2 16-16V320 304 288C288 164.3 187.7 64 64 64H32z\"]\n};\nvar faSprout = faSeedling;\nvar faClockSeven = {\n prefix: 'fal',\n iconName: 'clock-seven',\n icon: [512, 512, [], \"e350\", \"M480 256A224 224 0 1 1 32 256a224 224 0 1 1 448 0zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM240 112V251.2l-61.3 92c-4.9 7.4-2.9 17.3 4.4 22.2s17.3 2.9 22.2-4.4l64-96c1.8-2.6 2.7-5.7 2.7-8.9V112c0-8.8-7.2-16-16-16s-16 7.2-16 16z\"]\n};\nvar faLeftRight = {\n prefix: 'fal',\n iconName: 'left-right',\n icon: [512, 512, [8596, \"arrows-alt-h\"], \"f337\", \"M502.3 231.3c6.2 6.7 9.7 15.6 9.7 24.7s-3.5 18-9.7 24.7l-84 91c-7.2 7.8-17.4 12.3-28.1 12.3c-21.1 0-38.3-17.1-38.3-38.3l0-25.7-192 0 0 25.7c0 21.1-17.1 38.3-38.3 38.3c-10.7 0-20.9-4.5-28.1-12.3l-84-91C3.5 274 0 265.2 0 256s3.5-18 9.7-24.7l84-91c7.2-7.8 17.4-12.3 28.1-12.3c21.1 0 38.3 17.1 38.3 38.3l0 25.7 192 0 0-25.7c0-21.1 17.1-38.3 38.3-38.3c10.7 0 20.9 4.5 28.1 12.3l84 91zM480 256c0-1.1-.4-2.2-1.2-3l-84-91c-1.2-1.3-2.8-2-4.6-2c-3.5 0-6.3 2.8-6.3 6.3l0 41.7c0 8.8-7.2 16-16 16l-224 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0c-8.8 0-16-7.2-16-16l0-41.7c0-3.5-2.8-6.3-6.3-6.3c-1.7 0-3.4 .7-4.6 2l-84 91c-.8 .8-1.2 1.9-1.2 3s.4 2.2 1.2 3l84 91c1.2 1.3 2.9 2 4.6 2c3.5 0 6.3-2.8 6.3-6.3l0-41.7c0-8.8 7.2-16 16-16l0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 224 0c8.8 0 16 7.2 16 16l0 41.7c0 3.5 2.8 6.3 6.3 6.3c1.7 0 3.4-.7 4.6-2l84-91c.8-.8 1.2-1.9 1.2-3z\"]\n};\nvar faArrowsAltH = faLeftRight;\nvar faBoxesPacking = {\n prefix: 'fal',\n iconName: 'boxes-packing',\n icon: [640, 512, [], \"e4c7\", \"M592 32H304c-8.8 0-16 7.2-16 16v80H256V48c0-26.5 21.5-48 48-48H592c26.5 0 48 21.5 48 48V464c0 26.5-21.5 48-48 48H381.3c1.8-5 2.7-10.4 2.7-16V480H592c8.8 0 16-7.2 16-16V48c0-8.8-7.2-16-16-16zM555.3 316.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L496 302.6V432c0 8.8-7.2 16-16 16s-16-7.2-16-16V302.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l64-64c6.2-6.2 16.4-6.2 22.6 0l64 64zM352 192H32l0 64H64 320h32V192zM0 256V192c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32V480c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32l0-192c-17.7 0-32-14.3-32-32zm64 32V480H320V288H64zm80 32h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faCircleArrowLeft = {\n prefix: 'fal',\n iconName: 'circle-arrow-left',\n icon: [512, 512, [\"arrow-circle-left\"], \"f0a8\", \"M32 256a224 224 0 1 1 448 0A224 224 0 1 1 32 256zm480 0A256 256 0 1 0 0 256a256 256 0 1 0 512 0zM228.7 148.7l-96 96c-6.2 6.2-6.2 16.4 0 22.6l96 96c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L182.6 272 368 272c8.8 0 16-7.2 16-16s-7.2-16-16-16l-185.4 0 68.7-68.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0z\"]\n};\nvar faArrowCircleLeft = faCircleArrowLeft;\nvar faFlashlight = {\n prefix: 'fal',\n iconName: 'flashlight',\n icon: [640, 512, [128294], \"f8b8\", \"M401.8 325.4l31.5 21c24 16 50.8 27.1 78.7 32.9V132.7c-28 5.8-54.7 16.9-78.7 32.9l-31.5 21-8.1 5.4H384 48c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16H384h9.7l8.1 5.4zM544 383.6c4.5 .3 9 .4 13.5 .4H592c8.8 0 16-7.2 16-16V144c0-8.8-7.2-16-16-16H557.5c-4.5 0-9 .1-13.5 .4V383.6zM0 304V208c0-26.5 21.5-48 48-48H384l31.5-21c42.1-28 91.5-43 142-43H592c26.5 0 48 21.5 48 48V368c0 26.5-21.5 48-48 48H557.5c-50.5 0-100-15-142-43L384 352H48c-26.5 0-48-21.5-48-48zm224-48c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H240c-8.8 0-16-7.2-16-16z\"]\n};\nvar faFileJpg = {\n prefix: 'fal',\n iconName: 'file-jpg',\n icon: [512, 512, [], \"e646\", \"M64 480H96v32H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H220.1c12.7 0 24.9 5.1 33.9 14.1L369.9 129.9c9 9 14.1 21.2 14.1 33.9V288H352V192H240c-26.5 0-48-21.5-48-48V32H64C46.3 32 32 46.3 32 64V448c0 17.7 14.3 32 32 32zM351.5 160c-.7-2.8-2.1-5.4-4.2-7.4L231.4 36.7c-2.1-2.1-4.6-3.5-7.4-4.2V144c0 8.8 7.2 16 16 16H351.5zM208 512c-26.5 0-48-21.5-48-48V448c0-8.8 7.2-16 16-16s16 7.2 16 16v16c0 8.8 7.2 16 16 16s16-7.2 16-16V368c0-8.8 7.2-16 16-16s16 7.2 16 16v96c0 26.5-21.5 48-48 48zm96-160h32c30.9 0 56 25.1 56 56s-25.1 56-56 56H320v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V448 368c0-8.8 7.2-16 16-16zm32 80c13.3 0 24-10.7 24-24s-10.7-24-24-24H320v48h16zm80-40c0-22.1 17.9-40 40-40h16c22.1 0 40 17.9 40 40v8c0 8.8-7.2 16-16 16s-16-7.2-16-16v-8c0-4.4-3.6-8-8-8H456c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8v-8c-8.8 0-16-7.2-16-16s7.2-16 16-16h16c8.8 0 16 7.2 16 16v24c0 22.1-17.9 40-40 40H456c-22.1 0-40-17.9-40-40V392z\"]\n};\nvar faGroupArrowsRotate = {\n prefix: 'fal',\n iconName: 'group-arrows-rotate',\n icon: [512, 512, [], \"e4f6\", \"M207.3 36.7c2.5 8.5-2.3 17.4-10.8 19.9c-14.2 4.2-27.8 10-40.6 17c2.6 7 4 14.5 4 22.4c0 35.3-28.7 64-64 64c-7.9 0-15.4-1.4-22.4-4c-7 12.8-12.7 26.4-17 40.6c-2.5 8.5-11.4 13.3-19.9 10.8s-13.3-11.4-10.8-19.9c5.2-17.6 12.4-34.3 21.3-50C37.7 126.3 32 111.8 32 96c0-35.3 28.7-64 64-64c15.8 0 30.3 5.7 41.5 15.3c15.6-8.9 32.4-16.1 50-21.3c8.5-2.5 17.4 2.3 19.9 10.8zm97.3 0c2.5-8.5 11.4-13.3 19.9-10.8c17.6 5.2 34.3 12.4 50 21.3C385.7 37.7 400.2 32 416 32c35.3 0 64 28.7 64 64c0 15.8-5.7 30.3-15.3 41.5c8.9 15.6 16.1 32.4 21.3 50c2.5 8.5-2.3 17.4-10.8 19.9s-17.4-2.3-19.9-10.8c-4.2-14.2-10-27.8-17-40.6c-7 2.6-14.5 4-22.4 4c-35.3 0-64-28.7-64-64c0-7.9 1.4-15.4 4-22.4c-12.8-7-26.4-12.7-40.6-17c-8.5-2.5-13.3-11.4-10.8-19.9zm-268 268c8.5-2.5 17.4 2.3 19.9 10.8c4.2 14.2 10 27.8 17 40.6c7-2.6 14.5-4 22.4-4c35.3 0 64 28.7 64 64c0 7.9-1.4 15.4-4 22.4c12.8 7 26.4 12.7 40.6 17c8.5 2.5 13.3 11.4 10.8 19.9s-11.4 13.3-19.9 10.8c-17.6-5.2-34.3-12.4-50-21.3C126.3 474.3 111.8 480 96 480c-35.3 0-64-28.7-64-64c0-15.8 5.7-30.3 15.3-41.5c-8.9-15.6-16.1-32.4-21.3-50c-2.5-8.5 2.3-17.4 10.8-19.9zm438.6 0c8.5 2.5 13.3 11.4 10.8 19.9c-5.2 17.6-12.4 34.3-21.3 50c9.5 11.2 15.3 25.7 15.3 41.5c0 35.3-28.7 64-64 64c-15.8 0-30.3-5.7-41.5-15.3c-15.6 8.9-32.4 16.1-50 21.3c-8.5 2.5-17.4-2.3-19.9-10.8s2.3-17.4 10.8-19.9c14.2-4.2 27.8-10 40.6-17c-2.6-7-4-14.5-4-22.4c0-35.3 28.7-64 64-64c7.9 0 15.4 1.4 22.4 4c7-12.8 12.7-26.4 17-40.6c2.5-8.5 11.4-13.3 19.9-10.8zM96 128a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm32 288a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM416 128a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm32 288a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM144.8 168.8c0-8.8 7.2-16 16-16h45.6c14.6 0 26.4 11.8 26.4 26.4v45.6c0 8.8-7.2 16-16 16s-16-7.2-16-16V211.5c-10 12.4-16 28.1-16 45.3c0 28 15.9 52.2 39.3 64.2c7.9 4 11 13.7 7 21.5s-13.7 11-21.5 7c-33.6-17.2-56.7-52.2-56.7-92.7c0-27.6 10.8-52.8 28.4-71.4c.2-.2 .4-.4 .6-.6h-21c-8.8 0-16-7.2-16-16zm208 192H307.2c-14.6 0-26.4-11.8-26.4-26.4V288.8c0-8.8 7.2-16 16-16s16 7.2 16 16v11.7c10-12.4 16-28.1 16-45.3c0-28-15.9-52.2-39.3-64.2c-7.9-4-11-13.7-7-21.5s13.7-11 21.5-7c33.6 17.2 56.7 52.2 56.7 92.7c0 27.6-10.8 52.8-28.4 71.4c-.8 .8-1.6 1.6-2.5 2.2h22.9c8.8 0 16 7.2 16 16s-7.2 16-16 16z\"]\n};\nvar faBowlFood = {\n prefix: 'fal',\n iconName: 'bowl-food',\n icon: [512, 512, [], \"e4c6\", \"M203.8 98.2C213.9 77.5 233.8 64 256 64s42.1 13.5 52.2 34.2c2 4.1 5.6 7.2 10 8.4s9.1 .6 12.9-1.9C340 99.2 350.2 96 361 96c27.8 0 52.1 21.2 57.8 51c1.5 7.7 8.3 13.2 16.1 13c.4 0 .7 0 1.1 0c23.3 0 44 20.5 44 48c0 8.8 7.2 16 16 16s16-7.2 16-16c0-39.4-27.5-73.5-64.9-79.2C435 91.6 401.5 64 361 64c-11.4 0-22.3 2.2-32.3 6.2C312.2 47.2 286 32 256 32s-56.2 15.2-72.7 38.2c-10-4-20.9-6.2-32.3-6.2c-40.5 0-74 27.6-86.1 64.8C27.5 134.5 0 168.6 0 208c0 8.8 7.2 16 16 16s16-7.2 16-16c0-27.5 20.7-48 44-48c.4 0 .7 0 1.1 0c7.8 .2 14.7-5.3 16.1-13c5.7-29.8 30-51 57.8-51c10.8 0 21 3.2 29.8 8.7c3.8 2.4 8.6 3.1 12.9 1.9s8-4.3 10-8.4zM129.3 425.1c-2.7-9-9.2-16.4-17.8-20.2C65.9 385 33.9 340.3 32.1 288H479.9c-1.8 52.3-33.9 97-79.4 116.9c-8.6 3.8-15.2 11.2-17.8 20.2C378.7 438.4 366.5 448 352 448H160c-14.5 0-26.7-9.6-30.7-22.9zM27.4 256C12.3 256 0 268.3 0 283.4c0 67.4 40.6 125.4 98.6 150.8C106.5 460.7 131 480 160 480H352c29 0 53.5-19.3 61.4-45.7c58.1-25.4 98.6-83.4 98.6-150.8c0-15.1-12.3-27.4-27.4-27.4H27.4z\"]\n};\nvar faSquare9 = {\n prefix: 'fal',\n iconName: 'square-9',\n icon: [448, 512, [], \"e25e\", \"M384 64c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM224 288a64 64 0 1 1 0-128 64 64 0 1 1 0 128zm-3.7 31.9l-39.1 36.3c-6.5 6-6.9 16.1-.8 22.6s16.1 6.9 22.6 .8l82.7-76.8c22-20.4 34.4-49 34.4-78.9c0-53-43-96-96-96s-96 43-96 96c0 51.8 41 94 92.3 95.9z\"]\n};\nvar faCandyCane = {\n prefix: 'fal',\n iconName: 'candy-cane',\n icon: [512, 512, [], \"f786\", \"M348 97.5c4.2-1 8.5-1.5 12.9-1.5c9.4 0 18.2 2.3 25.9 6.5l46.2-46.2C413 41.1 388.1 32 361 32c-11.3 0-22.5 1.6-33.2 4.7L348 97.5zm61.5 27.6c4.1 7.7 6.5 16.6 6.5 25.9v5.6c0 1.7-.1 3.4-.2 5.1l61.6 20.5c1.7-8.3 2.7-16.9 2.7-25.6V151c0-27.1-9.1-52.1-24.3-72.1l-46.2 46.2zm57.3 87.4l-62-20.7c-4.6 6.4-10.4 12-17.3 16.3l-57.8 36.1 60.4 37.7 31.3-19.6c19.7-12.3 35.3-29.7 45.4-49.9zM359.9 300.8l-60.4-37.7-77 48.1 60.4 37.7 77-48.1zm-107.2 67l-60.4-37.7-73 45.6 60.4 37.7 73-45.6zM149.5 432.3L89.1 394.6 47 420.9c-15 9.4-19.5 29.1-10.2 44.1s29.1 19.5 44.1 10.2l68.5-42.8zM298.4 49.8c-.2 .1-.3 .2-.5 .3L271 66.9c-15 9.4-19.5 29.1-10.2 44.1s29.1 19.5 44.1 10.2l14.3-8.9L298.4 49.8zM361 128c-4.3 0-8.6 1.2-12.2 3.5l-26.8 16.8c-30 18.7-69.5 9.6-88.2-20.4s-9.6-69.5 20.4-88.2L280.9 23C304.9 8 332.7 0 361 0c83.4 0 151 67.6 151 151v5.6c0 54-27.8 104.2-73.6 132.8L97.9 502.3c-30 18.7-69.5 9.6-88.2-20.4s-9.6-69.5 20.4-88.2L370.5 180.9c8.4-5.2 13.5-14.4 13.5-24.3V151c0-12.7-10.3-23-23-23z\"]\n};\nvar faArrowDownWideShort = {\n prefix: 'fal',\n iconName: 'arrow-down-wide-short',\n icon: [576, 512, [\"sort-amount-asc\", \"sort-amount-down\"], \"f160\", \"M235.3 379.3l-96 96c-6.2 6.2-16.4 6.2-22.6 0l-96-96c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L112 425.4V48c0-8.8 7.2-16 16-16s16 7.2 16 16V425.4l68.7-68.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zM304 464c-8.8 0-16-7.2-16-16s7.2-16 16-16h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H304zm0-128c-8.8 0-16-7.2-16-16s7.2-16 16-16H432c8.8 0 16 7.2 16 16s-7.2 16-16 16H304zm0-128c-8.8 0-16-7.2-16-16s7.2-16 16-16H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H304zm0-128c-8.8 0-16-7.2-16-16s7.2-16 16-16H560c8.8 0 16 7.2 16 16s-7.2 16-16 16H304z\"]\n};\nvar faSortAmountAsc = faArrowDownWideShort;\nvar faSortAmountDown = faArrowDownWideShort;\nvar faSquareDollar = {\n prefix: 'fal',\n iconName: 'square-dollar',\n icon: [448, 512, [\"dollar-square\", \"usd-square\"], \"f2e9\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm240 24v23c13.5 1 26.6 4.6 39.6 8.3c1.5 .4 3.1 .9 4.6 1.3c8.5 2.4 13.5 11.2 11.2 19.7s-11.2 13.5-19.7 11.2c-2.4-.7-4.8-1.4-7.2-2.1c-7.5-2.2-15.2-4.4-22.9-5.5c-19.1-2.8-36.6-.4-49.3 5.1c-12.9 5.6-18.6 13.1-19.8 19.5c-1.8 9.8 2.1 16.5 10.2 21.7c10.6 6.8 26.5 11.3 45.8 16.8l.3 .1c17.7 5 38.9 11.1 54.3 21.7c19 13 27.8 33.8 23.6 56.5c-4 21.6-18.9 36-37.8 43.6c-9.9 4-21.1 6.3-33.1 6.9l0 24.2c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-25.9c-8.1-1.3-21.8-5.2-32.4-8.4c-6.9-2.1-13.8-4.3-20.7-6.5c-8.4-2.8-12.9-11.8-10.2-20.2s11.8-12.9 20.2-10.2c6.6 2.2 13.2 4.3 19.9 6.3c11.2 3.4 22.7 6.6 28.1 7.4c19.8 2.9 36.5 1.3 48-3.4c11.2-4.5 16.8-11.3 18.3-19.7c1.9-10.5-1.5-18.4-10.2-24.4c-12-8.2-26.8-12.3-40.9-16.2c-2.3-.6-4.7-1.3-6.9-1.9c-17.1-4.8-37-10.5-51.7-19.9c-8.1-5.2-15.7-12.1-20.5-21.7c-4.9-9.8-6.2-20.8-4-32.8c3.8-20.7 20-35.1 38.6-43.1c7.4-3.2 15.6-5.6 24.3-7.1V120c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faDollarSquare = faSquareDollar;\nvar faUsdSquare = faSquareDollar;\nvar faPhoneArrowRight = {\n prefix: 'fal',\n iconName: 'phone-arrow-right',\n icon: [512, 512, [], \"e5be\", \"M411.3 4.7l96 96c6.2 6.2 6.2 16.4 0 22.6l-96 96c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L457.4 128H304c-8.8 0-16-7.2-16-16s7.2-16 16-16H457.4L388.7 27.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0zM329 286.7c11.3-13.8 30.3-18.5 46.7-11.4l112 48c17.6 7.5 27.4 26.5 23.4 45.1l-24 112c-4 18.4-20.3 31.6-39.1 31.6l0 0c-6.1 0-12.2-.1-18.3-.4l-.1 0h0c-4.6-.2-9.1-.4-13.7-.8C183.5 494.5 0 300.7 0 64v0C0 45.1 13.2 28.8 31.6 24.9l112-24c18.7-4 37.6 5.8 45.1 23.4l48 112c7 16.4 2.4 35.4-11.4 46.7l-40.6 33.2c26.7 46 65.1 84.4 111.1 111.1L329 286.7zM448 480c3.8 0 7-2.6 7.8-6.3l24-112c.8-3.7-1.2-7.5-4.7-9l-112-48c-3.3-1.4-7.1-.5-9.3 2.3l-33.2 40.6c-9.9 12.1-27.2 15.3-40.8 7.4c-50.9-29.5-93.3-71.9-122.7-122.7c-7.9-13.6-4.7-30.9 7.4-40.8l40.6-33.2c2.8-2.3 3.7-6.1 2.3-9.3l-48-112c-1.5-3.5-5.3-5.5-9-4.7l-112 24C34.6 57 32 60.2 32 64v0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0c0 229.6 186.1 415.8 415.7 416l.3 0z\"]\n};\nvar faHandHoldingSeedling = {\n prefix: 'fal',\n iconName: 'hand-holding-seedling',\n icon: [576, 512, [], \"f4bf\", \"M125.1 0H144c88.4 0 160 71.6 160 160v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V176H242.9C161.8 176 96 110.2 96 29.1C96 13 109 0 125.1 0zM144 32H128c1.5 62.1 52.4 112 114.9 112H271C263.1 80.9 209.3 32 144 32zM336 176V160c0-5.4-.2-10.7-.7-16C396.8 142.8 446.4 93.4 448 32H432c-45.7 0-85.8 23.9-108.4 59.9c-4.3-11.4-9.7-22.3-16-32.5C336.9 23.2 381.7 0 432 0h18.9C467 0 480 13 480 29.1c0 80.2-64.2 145.3-144 146.9zM151 317.4c13.1-8.8 28.6-13.4 44.4-13.4H344c30.9 0 56 25.1 56 56c0 8.6-1.9 16.7-5.4 24h5.6l94.7-56.4c8.3-4.9 17.8-7.6 27.5-7.6h1.3c28.9 0 52.3 23.4 52.3 52.3c0 17.7-9 34.2-23.8 43.8L432.6 493.9c-18.2 11.8-39.4 18.1-61 18.1H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H371.5c15.5 0 30.6-4.5 43.6-12.9l119.6-77.8c5.8-3.7 9.2-10.2 9.2-17c0-11.2-9.1-20.3-20.3-20.3h-1.3c-3.9 0-7.7 1.1-11.1 3l-98.5 58.7c-2.5 1.5-5.3 2.3-8.2 2.3H344 320 256c-8.8 0-16-7.2-16-16s7.2-16 16-16h64 24c13.3 0 24-10.7 24-24s-10.7-24-24-24H195.4c-9.5 0-18.7 2.8-26.6 8.1L88.9 397.3c-2.6 1.8-5.7 2.7-8.9 2.7H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H75.2L151 317.4z\"]\n};\nvar faMessageCheck = {\n prefix: 'fal',\n iconName: 'message-check',\n icon: [512, 512, [\"comment-alt-check\"], \"f4a2\", \"M192 416c0-17.7-14.3-32-32-32H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H448c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H309.3c-6.9 0-13.7 2.2-19.2 6.4L192 464V416zM64 0C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h64 32v32 48c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L309.3 416H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM363.3 147.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L224 241.4l-52.7-52.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l64 64c6.2 6.2 16.4 6.2 22.6 0l128-128z\"]\n};\nvar faCommentAltCheck = faMessageCheck;\nvar faCloudBolt = {\n prefix: 'fal',\n iconName: 'cloud-bolt',\n icon: [512, 512, [127785, \"thunderstorm\"], \"f76c\", \"M96 112c0-44.2 35.8-80 80-80c32.2 0 59.9 19 72.6 46.4c2.2 4.8 6.6 8.1 11.8 9s10.4-.8 14.1-4.5c11.6-11.7 27.7-19 45.5-19c35.3 0 64 28.7 64 64l0 .3c0 4.5 1.9 8.8 5.2 11.8s7.8 4.5 12.2 4.1c2.2-.2 4.3-.3 6.6-.3c39.8 0 72 32.2 72 72s-32.2 72-72 72H384v23.4c2.6 2.6 5 5.5 7.1 8.6H408c57.4 0 104-46.6 104-104c0-55.2-43-100.3-97.3-103.8C407.2 66.7 367.6 32 320 32c-19.3 0-37.3 5.7-52.4 15.5C247.3 18.8 213.9 0 176 0C114.1 0 64 50.1 64 112c0 2.6 .1 5.3 .3 7.9C26.6 135.5 0 172.6 0 216c0 57.4 46.6 104 104 104h53.8l33.8-32H104c-39.8 0-72-32.2-72-72c0-33.5 22.9-61.7 53.9-69.7c8.2-2.1 13.3-10.3 11.7-18.6c-1-5.1-1.5-10.3-1.5-15.7zm95.7 264l85.1-80.6-19.4 41.9c-2.3 5-1.9 10.7 1 15.3s8 7.4 13.5 7.4h48.3l-85.1 80.6 19.4-41.9c2.3-5 1.9-10.7-1-15.3s-8-7.4-13.5-7.4H191.7zm20.5 130.5L361.3 365.3c4.3-4.1 6.7-9.7 6.7-15.7c0-11.9-9.7-21.6-21.6-21.6H297l34.8-75.5c6.1-13.3-3.6-28.5-18.2-28.5c-5.1 0-10.1 2-13.8 5.5L150.7 370.7c-4.3 4.1-6.7 9.7-6.7 15.7c0 11.9 9.7 21.6 21.6 21.6H215l-34.8 75.5c-6.1 13.3 3.6 28.5 18.2 28.5c5.1 0 10.1-2 13.8-5.5z\"]\n};\nvar faThunderstorm = faCloudBolt;\nvar faChartLineUpDown = {\n prefix: 'fal',\n iconName: 'chart-line-up-down',\n icon: [512, 512, [], \"e5d7\", \"M32 48c0-8.8-7.2-16-16-16S0 39.2 0 48V400c0 44.2 35.8 80 80 80H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H80c-26.5 0-48-21.5-48-48V48zM368 96h57.4L288 233.4l-68.7-68.7c-3-3-7.1-4.7-11.3-4.7s-8.3 1.7-11.3 4.7l-96 96c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L208 198.6l68.7 68.7c6.2 6.2 16.4 6.2 22.6 0L448 118.6V176c0 8.8 7.2 16 16 16s16-7.2 16-16V80c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16s7.2 16 16 16zm0 288h96c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16s-16 7.2-16 16v57.4l-68.7-68.7-22.6 22.6L425.4 352H368c-8.8 0-16 7.2-16 16s7.2 16 16 16z\"]\n};\nvar faTextSlash = {\n prefix: 'fal',\n iconName: 'text-slash',\n icon: [640, 512, [\"remove-format\"], \"f87d\", \"M25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4zM390.4 64l149.1 0-11 44.1c-2.1 8.6 3.1 17.3 11.6 19.4s17.3-3.1 19.4-11.6l11-44.1c5-20.2-10.2-39.8-31-39.8h-383c-4.7 0-9.2 1-13.3 2.9L180.1 64l177.1 0L325.1 178.5 352.3 200 390.4 64zM287.7 312L249.6 448H176c-8.8 0-16 7.2-16 16s7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H282.9l32.1-114.5L287.7 312z\"]\n};\nvar faRemoveFormat = faTextSlash;\nvar faWatch = {\n prefix: 'fal',\n iconName: 'watch',\n icon: [384, 512, [8986], \"f2e1\", \"M128 32H256c17.7 0 32 14.3 32 32V89.7C259.8 73.3 227 64 192 64s-67.8 9.3-96 25.7V64c0-17.7 14.3-32 32-32zM64 112h1C25.1 147.2 0 198.7 0 256s25.1 108.8 65 144H64v48c0 35.3 28.7 64 64 64l128 0c35.3 0 64-28.7 64-64V400h-1c39.9-35.2 65-86.7 65-144s-25.1-108.8-65-144h1V64c0-35.3-28.7-64-64-64H128C92.7 0 64 28.7 64 64v48zM288 422.3V448c0 17.7-14.3 32-32 32l-128 0c-17.7 0-32-14.3-32-32V422.3c28.2 16.3 61 25.7 96 25.7s67.8-9.4 96-25.7zM32 256a160 160 0 1 1 320 0A160 160 0 1 1 32 256zm176-80c0-8.8-7.2-16-16-16s-16 7.2-16 16v80c0 5.3 2.7 10.3 7.1 13.3l48 32c7.4 4.9 17.3 2.9 22.2-4.4s2.9-17.3-4.4-22.2L208 247.4V176z\"]\n};\nvar faCircleDownLeft = {\n prefix: 'fal',\n iconName: 'circle-down-left',\n icon: [512, 512, [], \"e107\", \"M256 32a224 224 0 1 0 0 448 224 224 0 1 0 0-448zm0 480A256 256 0 1 1 256 0a256 256 0 1 1 0 512zM176 328c0 4.4 3.6 8 8 8H297.4c3.7 0 6.6-3 6.6-6.6c0-1.8-.7-3.4-1.9-4.7l-25.4-25.4c-6.2-6.2-6.2-16.4 0-22.6l59.1-59.1c3.6-3.6 4.9-9 3.3-13.9c-.7-2-1.8-3.8-3.3-5.3l-22.1-22.1c-1.5-1.5-3.3-2.6-5.3-3.3c-4.9-1.6-10.3-.4-13.9 3.3l-59.1 59.1c-6.2 6.2-16.4 6.2-22.6 0l-25.4-25.4c-1.2-1.2-2.9-1.9-4.7-1.9c-3.7 0-6.6 3-6.6 6.6V328zm8 40c-22.1 0-40-17.9-40-40V214.6c0-21.3 17.3-38.6 38.6-38.6c10.2 0 20.1 4.1 27.3 11.3L224 201.4l47.7-47.7c12.2-12.2 30.3-16.5 46.7-11c6.7 2.2 12.8 6 17.8 11l22.1 22.1c5 5 8.8 11.1 11 17.8c5.5 16.4 1.2 34.5-11 46.7L310.6 288l14.1 14.1c7.2 7.2 11.3 17.1 11.3 27.3c0 21.3-17.3 38.6-38.6 38.6H184z\"]\n};\nvar faText = {\n prefix: 'fal',\n iconName: 'text',\n icon: [448, 512, [], \"f893\", \"M0 64C0 46.3 14.3 32 32 32H416c17.7 0 32 14.3 32 32v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V64H240l0 384h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16s7.2-16 16-16h64l0-384H32v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V64z\"]\n};\nvar faProjector = {\n prefix: 'fal',\n iconName: 'projector',\n icon: [640, 512, [], \"f8d6\", \"M432 16c0-8.8-7.2-16-16-16s-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V16zM267.3 36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l64 64c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-64-64zm320 22.6c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-64 64c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l64-64zM288 320a128 128 0 1 1 256 0 128 128 0 1 1 -256 0zm288 0c0-36-11.9-69.3-32-96h32c17.7 0 32 14.3 32 32V384c0 17.7-14.3 32-32 32H560 544c20.1-26.7 32-60 32-96zm0 128c35.3 0 64-28.7 64-64V256c0-35.3-28.7-64-64-64H512c-26.7-20.1-60-32-96-32s-69.3 11.9-96 32H64c-35.3 0-64 28.7-64 64V384c0 35.3 28.7 64 64 64l0 48c0 8.8 7.2 16 16 16s16-7.2 16-16V448H320c26.7 20.1 60 32 96 32c37.3 0 71.6-12.7 98.8-34.1c-.9 .7-1.8 1.4-2.8 2.1h32v48c0 8.8 7.2 16 16 16s16-7.2 16-16V448zM80 416H64c-17.7 0-32-14.3-32-32V256c0-17.7 14.3-32 32-32H288c-20.1 26.7-32 60-32 96s11.9 69.3 32 96H80zm16-72a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm120-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faFaceSmileWink = {\n prefix: 'fal',\n iconName: 'face-smile-wink',\n icon: [512, 512, [128521, \"smile-wink\"], \"f4da\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm164.1 69.5C182 346.2 212.6 368 256 368s74-21.8 91.9-42.5c5.8-6.7 15.9-7.4 22.6-1.6s7.4 15.9 1.6 22.6C349.8 372.1 311.1 400 256 400s-93.8-27.9-116.1-53.5c-5.8-6.7-5.1-16.8 1.6-22.6s16.8-5.1 22.6 1.6zM152.4 208a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm148.4 25.6c-5.3 7.1-15.3 8.5-22.4 3.2s-8.5-15.3-3.2-22.4c30.4-40.5 91.2-40.5 121.6 0c5.3 7.1 3.9 17.1-3.2 22.4s-17.1 3.9-22.4-3.2c-17.6-23.5-52.8-23.5-70.4 0z\"]\n};\nvar faSmileWink = faFaceSmileWink;\nvar faTombstoneBlank = {\n prefix: 'fal',\n iconName: 'tombstone-blank',\n icon: [448, 512, [129702, \"tombstone-alt\"], \"f721\", \"M384 192V448h32V192C416 86 330 0 224 0S32 86 32 192V448H64V192c0-88.4 71.6-160 160-160s160 71.6 160 160zM16 480c-8.8 0-16 7.2-16 16s7.2 16 16 16H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H16z\"]\n};\nvar faTombstoneAlt = faTombstoneBlank;\nvar faChessKingPiece = {\n prefix: 'fal',\n iconName: 'chess-king-piece',\n icon: [256, 512, [\"chess-king-alt\"], \"f440\", \"M144 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V32H96c-8.8 0-16 7.2-16 16s7.2 16 16 16h16V96H52.6C41.2 96 32 105.2 32 116.6c0 2.2 .4 4.4 1.1 6.5L66.7 224H56c-8.8 0-16 7.2-16 16s7.2 16 16 16H69.8L56.7 352H89l13.1-96h51.8L167 352h32.3l-13.1-96H200c8.8 0 16-7.2 16-16s-7.2-16-16-16H189.3l33.6-100.8c.7-2.1 1.1-4.3 1.1-6.5c0-11.4-9.2-20.6-20.6-20.6H144V64h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H144V16zm11.6 208H100.4l-32-96H128h59.6l-32 96zm34.6 160H65.8c-11.1 0-21.4 5.7-27.2 15.1L5.9 451.8C2.1 458 0 465.2 0 472.6C0 494.3 17.7 512 39.4 512H216.6c21.8 0 39.4-17.7 39.4-39.4c0-7.3-2.1-14.5-5.9-20.8l-32.7-52.7c-5.8-9.4-16.1-15.1-27.2-15.1zM33.1 468.7L65.8 416l124.4 0 32.7 52.7c.7 1.2 1.1 2.5 1.1 3.9c0 4.1-3.3 7.4-7.4 7.4H39.4c-4.1 0-7.4-3.3-7.4-7.4c0-1.4 .4-2.7 1.1-3.9z\"]\n};\nvar faChessKingAlt = faChessKingPiece;\nvar faCircle6 = {\n prefix: 'fal',\n iconName: 'circle-6',\n icon: [512, 512, [], \"e0f3\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm43.7-378.9c-6-6.5-16.1-6.9-22.6-.8l-82.7 76.8c-22 20.4-34.4 49-34.4 78.9c0 53 43 96 96 96s96-43 96-96c0-51.8-41-94-92.3-95.9l39.1-36.3c6.5-6 6.9-16.1 .8-22.6zM256 224a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]\n};\nvar faWavesSine = {\n prefix: 'fal',\n iconName: 'waves-sine',\n icon: [640, 512, [], \"e65d\", \"M240 121.2c-14.4 24-26.5 53.4-38.1 85.4c-5.2-15.2-10.8-30.6-16.7-45.8c8.3-20.2 17.3-39.2 27.3-56C237.1 63.8 270.7 32 320 32s82.9 31.8 107.4 72.8c24.3 40.5 42.2 93.8 59.4 145l.4 1.2c17.6 52.5 34.6 102.7 56.9 139.9c22.2 37 47.2 57.2 80 57.2c8.8 0 16 7.2 16 16s-7.2 16-16 16c-49.3 0-82.9-31.8-107.4-72.8c-24.3-40.5-42.2-93.8-59.4-145l0 0-.4-1.2c-17.6-52.5-34.6-102.7-56.9-139.9C377.8 84.2 352.8 64 320 64s-57.8 20.2-80 57.2zm-89.3 230c-8.3 20.2-17.3 39.2-27.3 56C98.9 448.2 65.3 480 16 480c-8.8 0-16-7.2-16-16s7.2-16 16-16c32.8 0 57.8-20.2 80-57.2c14.4-24 26.5-53.4 38.1-85.4c5.2 15.2 10.8 30.6 16.7 45.8zM400 390.8c14.4-24 26.5-53.4 38.1-85.4c5.2 15.2 10.8 30.6 16.7 45.8c-8.3 20.2-17.3 39.2-27.3 56C402.9 448.2 369.3 480 320 480s-82.9-31.8-107.4-72.8c-24.3-40.5-42.2-93.8-59.4-145l0 0-.4-1.2C135.2 208.6 118.3 158.4 96 121.2C73.8 84.2 48.8 64 16 64C7.2 64 0 56.8 0 48s7.2-16 16-16c49.3 0 82.9 31.8 107.4 72.8c24.3 40.5 42.2 93.8 59.4 145l.4 1.2c17.6 52.5 34.6 102.7 56.9 139.9c22.2 37 47.2 57.2 80 57.2s57.8-20.2 80-57.2zM544 121.2c-14.4 24-26.5 53.4-38.1 85.4c-5.2-15.2-10.8-30.6-16.7-45.8c8.3-20.2 17.3-39.2 27.3-56C541.1 63.8 574.7 32 624 32c8.8 0 16 7.2 16 16s-7.2 16-16 16c-32.8 0-57.8 20.2-80 57.2z\"]\n};\nvar faLeft = {\n prefix: 'fal',\n iconName: 'left',\n icon: [448, 512, [\"arrow-alt-left\"], \"f355\", \"M32 258.3l0-4.6c0-4.4 1.8-8.6 5-11.6L186.8 99.5c2.3-2.2 5.4-3.5 8.7-3.5c6.9 0 12.6 5.6 12.6 12.6l0 83.4c0 8.8 7.2 16 16 16l176 0c8.8 0 16 7.2 16 16l0 64c0 8.8-7.2 16-16 16l-176 0c-8.8 0-16 7.2-16 16l0 83.4c0 6.9-5.6 12.6-12.6 12.6c-3.2 0-6.3-1.2-8.7-3.5L37 269.9c-3.2-3-5-7.2-5-11.6zM195.4 64C184 64 173 68.4 164.7 76.3L14.9 219C5.4 228 0 240.6 0 253.7l0 4.6C0 271.4 5.4 284 14.9 293L164.7 435.7C173 443.6 184 448 195.4 448c24.6 0 44.6-20 44.6-44.6l0-67.4 160 0c26.5 0 48-21.5 48-48l0-64c0-26.5-21.5-48-48-48l-160 0 0-67.4C240 84 220 64 195.4 64z\"]\n};\nvar faArrowAltLeft = faLeft;\nvar faFileWord = {\n prefix: 'fal',\n iconName: 'file-word',\n icon: [384, 512, [], \"f1c2\", \"M320 480H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H192V144c0 26.5 21.5 48 48 48H352V448c0 17.7-14.3 32-32 32zM240 160c-8.8 0-16-7.2-16-16V32.5c2.8 .7 5.4 2.1 7.4 4.2L347.3 152.6c2.1 2.1 3.5 4.6 4.2 7.4H240zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V163.9c0-12.7-5.1-24.9-14.1-33.9L254.1 14.1c-9-9-21.2-14.1-33.9-14.1H64zm39.2 235.1c-2.7-8.4-11.7-13.1-20.1-10.4s-13.1 11.7-10.4 20.1l56 176c2.2 6.8 8.5 11.3 15.6 11.1s13.2-4.9 15.1-11.8L192 300.8l32.6 119.4c1.9 6.8 8 11.6 15.1 11.8s13.4-4.4 15.6-11.1l56-176c2.7-8.4-2-17.4-10.4-20.1s-17.4 2-20.1 10.4L241.2 359.5 207.4 235.8c-1.9-7-8.2-11.8-15.4-11.8s-13.5 4.8-15.4 11.8L142.8 359.5 103.2 235.1z\"]\n};\nvar faFilePowerpoint = {\n prefix: 'fal',\n iconName: 'file-powerpoint',\n icon: [384, 512, [], \"f1c4\", \"M320 480H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H192V144c0 26.5 21.5 48 48 48H352V448c0 17.7-14.3 32-32 32zM240 160c-8.8 0-16-7.2-16-16V32.5c2.8 .7 5.4 2.1 7.4 4.2L347.3 152.6c2.1 2.1 3.5 4.6 4.2 7.4H240zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V163.9c0-12.7-5.1-24.9-14.1-33.9L254.1 14.1c-9-9-21.2-14.1-33.9-14.1H64zm64 240c-8.8 0-16 7.2-16 16V368v64c0 8.8 7.2 16 16 16s16-7.2 16-16V384h56c39.8 0 72-32.2 72-72s-32.2-72-72-72H128zm72 112H144V272h56c22.1 0 40 17.9 40 40s-17.9 40-40 40z\"]\n};\nvar faSquareDown = {\n prefix: 'fal',\n iconName: 'square-down',\n icon: [448, 512, [11015, \"arrow-alt-square-down\"], \"f350\", \"M384 448c17.7 0 32-14.3 32-32l0-320c0-17.7-14.3-32-32-32L64 64C46.3 64 32 78.3 32 96l0 320c0 17.7 14.3 32 32 32l320 0zm64-32c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l320 0c35.3 0 64 28.7 64 64l0 320zM224 400c-9.2 0-18-3.5-24.7-9.7l-91-84c-7.8-7.2-12.3-17.4-12.3-28.1c0-21.1 17.1-38.3 38.3-38.3l25.7 0 0-80c0-26.5 21.5-48 48-48l32 0c26.5 0 48 21.5 48 48l0 80 25.7 0c21.1 0 38.3 17.1 38.3 38.3c0 10.7-4.5 20.9-12.3 28.1l-91 84c-6.7 6.2-15.6 9.7-24.7 9.7zm3-33.2l91-84c1.3-1.2 2-2.9 2-4.6c0-3.5-2.8-6.3-6.3-6.3L272 272c-8.8 0-16-7.2-16-16l0-96c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16l0 96c0 8.8-7.2 16-16 16l-41.7 0c-3.5 0-6.3 2.8-6.3 6.3c0 1.7 .7 3.4 2 4.6l91 84c.8 .8 1.9 1.2 3 1.2s2.2-.4 3-1.2z\"]\n};\nvar faArrowAltSquareDown = faSquareDown;\nvar faObjectsAlignCenterVertical = {\n prefix: 'fal',\n iconName: 'objects-align-center-vertical',\n icon: [512, 512, [], \"e3bd\", \"M176 64c8.8 0 16 7.2 16 16l0 176 0 176c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16l0-176 0 0 0 0L96 80c0-8.8 7.2-16 16-16l64 0zm48 176l0-160c0-26.5-21.5-48-48-48l-64 0C85.5 32 64 53.5 64 80l0 160H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H64l0 160c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48l0-160 64 0v96c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48V272h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H448l0-96c0-26.5-21.5-48-48-48H336c-26.5 0-48 21.5-48 48l0 96-64 0zm96 16l0-112c0-8.8 7.2-16 16-16l64 0c8.8 0 16 7.2 16 16l0 112V368c0 8.8-7.2 16-16 16H336c-8.8 0-16-7.2-16-16V256z\"]\n};\nvar faArrowsLeftRight = {\n prefix: 'fal',\n iconName: 'arrows-left-right',\n icon: [512, 512, [\"arrows-h\"], \"f07e\", \"M503.3 271.3c6.1-6.1 6.3-15.9 .4-22.2l-96-104c-6-6.5-16.1-6.9-22.6-.9s-6.9 16.1-.9 22.6L455.5 244 50.6 244l68.7-68.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-96 96c-6.2 6.2-6.2 16.4 0 22.6l96 96c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L50.6 276l402.7 0-68.7 68.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l96-96z\"]\n};\nvar faArrowsH = faArrowsLeftRight;\nvar faHouseLock = {\n prefix: 'fal',\n iconName: 'house-lock',\n icon: [640, 512, [], \"e510\", \"M298.6 4c-6-5.3-15.1-5.3-21.2 0L5.4 244c-6.6 5.8-7.3 16-1.4 22.6s16 7.3 22.6 1.4L64 235V432c0 44.2 35.8 80 80 80H392.6c-5.4-9.4-8.6-20.3-8.6-32H368V320c0-17.7-14.3-32-32-32H240c-17.7 0-32 14.3-32 32V480H144c-26.5 0-48-21.5-48-48V206.7L288 37.3 456.4 185.9c8.6-7.1 18.2-13 28.7-17.4L298.6 4zM336 480H240V320h96V480zM528 224c26.5 0 48 21.5 48 48v48H480V272c0-26.5 21.5-48 48-48zm-80 48v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80zm0 80H608V480H448V352z\"]\n};\nvar faCloudArrowDown = {\n prefix: 'fal',\n iconName: 'cloud-arrow-down',\n icon: [640, 512, [62337, \"cloud-download\", \"cloud-download-alt\"], \"f0ed\", \"M389.8 125.2C363.7 88.1 320.7 64 272 64c-77.4 0-140.5 61-143.9 137.5c-.6 13-9 24.4-21.3 28.8C63.2 245.7 32 287.2 32 336c0 61.9 50.1 112 112 112H512c53 0 96-43 96-96c0-36.8-20.7-68.8-51.2-84.9c-13.4-7.1-20-22.5-15.8-37.1c2-6.9 3-14.3 3-22c0-44.2-35.8-80-80-80c-12.3 0-23.9 2.8-34.3 7.7c-14.1 6.7-30.9 2.3-39.9-10.5zM272 32c59.5 0 112.1 29.5 144 74.8C430.5 99.9 446.8 96 464 96c61.9 0 112 50.1 112 112c0 10.7-1.5 21-4.3 30.8C612.3 260.2 640 302.9 640 352c0 70.7-57.3 128-128 128H144C64.5 480 0 415.5 0 336c0-62.8 40.2-116.1 96.2-135.9C100.3 106.6 177.4 32 272 32zM228.7 299.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L304 329.4V176c0-8.8 7.2-16 16-16s16 7.2 16 16V329.4l52.7-52.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-80 80c-6.2 6.2-16.4 6.2-22.6 0l-80-80z\"]\n};\nvar faCloudDownload = faCloudArrowDown;\nvar faCloudDownloadAlt = faCloudArrowDown;\nvar faWreath = {\n prefix: 'fal',\n iconName: 'wreath',\n icon: [448, 512, [], \"f7e2\", \"M334.9 73.3c-16.3 4.8-33.6-3.9-39.3-20C291.2 40.9 279.3 32 265.4 32c-7.9 0-15.1 2.8-20.7 7.6c-11.9 10.1-29.5 10.1-41.4 0c-5.6-4.8-12.8-7.6-20.7-7.6c-13.9 0-25.8 8.9-30.2 21.3c-5.7 16.1-22.9 24.8-39.3 20c-2.9-.8-5.9-1.3-9.1-1.3c-17.7 0-32 14.3-32 32c0 3.2 .5 6.3 1.3 9.1c4.8 16.3-3.9 33.6-20 39.3C40.9 156.8 32 168.7 32 182.6c0 7.9 2.8 15.1 7.6 20.7c10.1 11.9 10.1 29.5 0 41.4c-4.8 5.6-7.6 12.8-7.6 20.7c0 13.9 8.9 25.8 21.3 30.2c16.1 5.7 24.8 22.9 20 39.3c-.8 2.9-1.3 5.9-1.3 9.1c0 17.7 14.3 32 32 32l.5 0c-5.4 8.2-8.5 18.1-8.5 28.7v2.9c-31.6-3.9-56-30.9-56-63.5c0-6.3 .9-12.5 2.6-18.2C17.8 317 0 293.3 0 265.4c0-15.8 5.7-30.2 15.2-41.4C5.7 212.8 0 198.4 0 182.6c0-27.9 17.8-51.6 42.6-60.3C40.9 116.5 40 110.3 40 104c0-35.3 28.7-64 64-64c6.3 0 12.5 .9 18.2 2.6C131 17.8 154.7 0 182.6 0c15.8 0 30.2 5.7 41.4 15.2C235.2 5.7 249.6 0 265.4 0c27.9 0 51.6 17.8 60.3 42.6c5.8-1.7 11.9-2.6 18.2-2.6c35.3 0 64 28.7 64 64c0 6.3-.9 12.5-2.6 18.2c24.8 8.8 42.6 32.5 42.6 60.3c0 15.8-5.7 30.2-15.2 41.4c9.5 11.2 15.2 25.6 15.2 41.4c0 27.9-17.8 51.6-42.6 60.3c1.7 5.8 2.6 11.9 2.6 18.2c0 32.6-24.4 59.6-56 63.5v-2.9c0-10.6-3.1-20.4-8.5-28.7l.5 0c17.7 0 32-14.3 32-32c0-3.2-.5-6.3-1.3-9.1c-4.8-16.3 3.9-33.6 20-39.3c12.5-4.4 21.3-16.3 21.3-30.2c0-7.9-2.8-15.1-7.6-20.7c-10.1-11.9-10.1-29.5 0-41.4c4.8-5.6 7.6-12.8 7.6-20.7c0-13.9-8.9-25.8-21.3-30.2c-16.1-5.7-24.8-22.9-20-39.3c.8-2.9 1.3-5.9 1.3-9.1c0-17.7-14.3-32-32-32c-3.2 0-6.3 .5-9.1 1.3zM235.2 458L288 477.8V418.2L235.2 438c-7.2 2.7-15.2 2.7-22.5 0L160 418.2v59.6L212.8 458c7.2-2.7 15.2-2.7 22.5 0zM128 411.1c0-15 12.1-27.1 27.1-27.1c3.2 0 6.5 .6 9.5 1.7L224 408l59.4-22.3c3-1.1 6.3-1.7 9.5-1.7c15 0 27.1 12.1 27.1 27.1v73.8c0 15-12.1 27.1-27.1 27.1c-3.2 0-6.5-.6-9.5-1.7L224 488l-59.4 22.3c-3 1.1-6.3 1.7-9.5 1.7c-15 0-27.1-12.1-27.1-27.1V411.1zm55.5-227.6c-.3 15.1-6.3 29.6-16.8 40.5c10.4 10.9 16.4 25.4 16.8 40.5c15.1 .3 29.6 6.3 40.5 16.8c10.9-10.4 25.4-16.4 40.5-16.8c.3-15.1 6.3-29.6 16.8-40.5c-10.4-10.9-16.4-25.4-16.8-40.5c-8.1-.2-16-2-23.3-5.2c-6.3-2.8-12.2-6.7-17.2-11.6c-10.9 10.4-25.4 16.4-40.5 16.8zM203 142.4c11.3-12.1 30.6-12.1 41.9 0c5.7 6 13.6 9.4 21.9 9.1c16.6-.6 30.2 13 29.6 29.6c-.3 8.3 3 16.3 9.1 21.9c12.1 11.3 12.1 30.6 0 41.9c-6 5.7-9.4 13.6-9.1 21.9c.6 16.6-13 30.2-29.6 29.6c-8.3-.3-16.3 3-21.9 9.1c-11.3 12.1-30.6 12.1-41.9 0c-5.7-6-13.6-9.4-21.9-9.1c-16.6 .6-30.2-13-29.6-29.6c.3-8.3-3-16.3-9.1-21.9c-12.1-11.3-12.1-30.6 0-41.9c6-5.7 9.4-13.6 9.1-21.9c-.6-16.6 13-30.2 29.6-29.6c8.3 .3 16.3-3 21.9-9.1z\"]\n};\nvar faChildren = {\n prefix: 'fal',\n iconName: 'children',\n icon: [640, 512, [], \"e4e1\", \"M192 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM96 64a64 64 0 1 1 128 0A64 64 0 1 1 96 64zm416 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-96 0a64 64 0 1 1 128 0A64 64 0 1 1 416 64zm64 128c-11.6 0-22.6 3.4-32 9.6V352h64V201.6c-9.4-6.2-20.4-9.6-32-9.6zM448 496c0 8.8-7.2 16-16 16s-16-7.2-16-16V243.3l-42.4 69.1c-4.6 7.5-14.5 9.9-22 5.3s-9.9-14.5-5.3-22L403.2 203c16.4-26.7 45.5-43 76.8-43s60.4 16.3 76.8 43l56.8 92.6c4.6 7.5 2.3 17.4-5.3 22s-17.4 2.3-22-5.3L544 243.3V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V384H448V496zM96 400H72c-5 0-9.7-2.3-12.7-6.3s-4-9.1-2.8-13.9l38-141.2L45.3 312.8c-4.9 7.4-14.8 9.4-22.2 4.5s-9.4-14.8-4.5-22.2L79.8 203c16.8-25.3 44.4-41.1 74.5-42.9c1.4-.1 2.9-.2 4.4-.2H160h1.3c1.5 0 2.9 .1 4.4 .2c30.1 1.8 57.7 17.6 74.5 42.9l61.1 92.1c4.9 7.4 2.9 17.3-4.5 22.2s-17.3 2.9-22.2-4.5l-49.2-74.2 38 141.2c1.3 4.8 .3 9.9-2.8 13.9s-7.7 6.3-12.7 6.3H224v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V400H128v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V400zm60.5-207.9c-10 .9-18.4 7.9-21.1 17.7L92.9 368H227.1L184.5 209.8c-2.6-9.8-11.1-16.8-21.1-17.7c-1.2-.1-2.3-.1-3.5-.1s-2.3 0-3.5 .1z\"]\n};\nvar faMeterDroplet = {\n prefix: 'fal',\n iconName: 'meter-droplet',\n icon: [640, 512, [], \"e1ea\", \"M256 480c49.7 0 95.5-16.2 132.7-43.5c2.8 10.8 6.9 21.1 12 30.7C359.5 495.5 309.7 512 256 512C114.6 512 0 397.4 0 256S114.6 0 256 0C366.8 0 461.2 70.4 496.8 169c-8.5 5.3-15.7 12.9-20.6 22.1l-3.8 7.1C447 102.5 359.7 32 256 32C132.3 32 32 132.3 32 256s100.3 224 224 224zM176 144v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-8.8 7.2-16 16-16s16 7.2 16 16zm96 0v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-8.8 7.2-16 16-16s16 7.2 16 16zm96 0v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-8.8 7.2-16 16-16s16 7.2 16 16zm89.4 218.4c-6.2 11.6-9.4 24.5-9.4 37.6c0 44.2 35.8 80 80 80s80-35.8 80-80c0-13.1-3.2-26.1-9.4-37.6L528 230 457.4 362.4zm-28.2-15.1l75.3-141.2c4.6-8.7 13.7-14.1 23.5-14.1s18.9 5.4 23.5 14.1l75.3 141.2c8.7 16.2 13.2 34.3 13.2 52.7c0 61.9-50.1 112-112 112s-112-50.1-112-112c0-18.4 4.5-36.5 13.2-52.7z\"]\n};\nvar faChalkboard = {\n prefix: 'fal',\n iconName: 'chalkboard',\n icon: [576, 512, [\"blackboard\"], \"f51b\", \"M64 88c0-13.3 10.7-24 24-24H488c13.3 0 24 10.7 24 24V416h32V88c0-30.9-25.1-56-56-56H88C57.1 32 32 57.1 32 88V416H64V88zM224 400v48H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H560c8.8 0 16-7.2 16-16s-7.2-16-16-16H416V400c0-26.5-21.5-48-48-48H272c-26.5 0-48 21.5-48 48zm48-16h96c8.8 0 16 7.2 16 16v40H256V400c0-8.8 7.2-16 16-16z\"]\n};\nvar faBlackboard = faChalkboard;\nvar faUserLargeSlash = {\n prefix: 'fal',\n iconName: 'user-large-slash',\n icon: [640, 512, [\"user-alt-slash\"], \"f4fa\", \"M541 512l-40.5-32H96c.7-70.8 58.3-128 129.3-128h113l-40.5-32H225.3C136.2 320 64 392.2 64 481.3c0 17 13.8 30.7 30.7 30.7H541zM464 144C464 64.5 399.5 0 320 0C265.6 0 218.2 30.2 193.7 74.8l25.6 20.2C237.5 57.7 275.7 32 320 32c61.9 0 112 50.1 112 112c0 34.9-15.9 66-40.9 86.6l25.6 20.2C445.7 224.4 464 186.3 464 144zM25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4z\"]\n};\nvar faUserAltSlash = faUserLargeSlash;\nvar faSignalStrong = {\n prefix: 'fal',\n iconName: 'signal-strong',\n icon: [640, 512, [\"signal-4\"], \"f68f\", \"M464 112c0-8.8-7.2-16-16-16s-16 7.2-16 16V496c0 8.8 7.2 16 16 16s16-7.2 16-16V112zM320 192c-8.8 0-16 7.2-16 16V496c0 8.8 7.2 16 16 16s16-7.2 16-16V208c0-8.8-7.2-16-16-16zM208 304c0-8.8-7.2-16-16-16s-16 7.2-16 16V496c0 8.8 7.2 16 16 16s16-7.2 16-16V304zM80 400c0-8.8-7.2-16-16-16s-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V400z\"]\n};\nvar faSignal4 = faSignalStrong;\nvar faLollipop = {\n prefix: 'fal',\n iconName: 'lollipop',\n icon: [512, 512, [127853, \"lollypop\"], \"e424\", \"M192 352c-27 0-52.4-6.7-74.7-18.5c8.7 1.6 17.6 2.5 26.7 2.5h16c75.1 0 136-60.9 136-136v-8c0-57.4-46.6-104-104-104S88 134.6 88 192c0 35.3 28.7 64 64 64s64-28.7 64-64v-8c0-8.8-7.2-16-16-16s-16 7.2-16 16v8c0 17.7-14.3 32-32 32s-32-14.3-32-32c0-39.8 32.2-72 72-72s72 32.2 72 72v8c0 57.4-46.6 104-104 104H144C82.1 304 32 253.9 32 192c0-88.4 71.6-160 160-160s160 71.6 160 160s-71.6 160-160 160zM0 192C0 298 86 384 192 384c47.3 0 90.5-17.1 124-45.4L484.7 507.3c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L338.6 316c28.3-33.5 45.4-76.7 45.4-124C384 86 298 0 192 0S0 86 0 192z\"]\n};\nvar faLollypop = faLollipop;\nvar faListTree = {\n prefix: 'fal',\n iconName: 'list-tree',\n icon: [512, 512, [], \"e1d2\", \"M32 112H64V80H32v32zM0 72C0 58.7 10.7 48 24 48H72c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H64v96h64v-8c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H152c-13.3 0-24-10.7-24-24v-8H64V384c0 8.8 7.2 16 16 16h48v-8c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H152c-13.3 0-24-10.7-24-24v-8H80c-26.5 0-48-21.5-48-48V256 144H24c-13.3 0-24-10.7-24-24V72zM160 96c0-8.8 7.2-16 16-16H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16zM288 256c0-8.8 7.2-16 16-16H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H304c-8.8 0-16-7.2-16-16zm0 160c0-8.8 7.2-16 16-16H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H304c-8.8 0-16-7.2-16-16zM160 432h32V400H160v32zm0-192v32h32V240H160z\"]\n};\nvar faEnvelopeOpen = {\n prefix: 'fal',\n iconName: 'envelope-open',\n icon: [512, 512, [62135], \"f2b6\", \"M241.6 36.8L45 182.4c-8.1 6-13 15.6-13 25.7v3.2l10.2 8.3L237.8 380.3c5.1 4.2 11.6 6.5 18.2 6.5s13.1-2.3 18.2-6.5L469.8 219.6l10.2-8.3v-3.2c0-10.1-4.8-19.7-13-25.7L270.4 36.8c-4.2-3.1-9.2-4.8-14.4-4.8s-10.3 1.7-14.4 4.8zM32 252.7V448c0 17.7 14.3 32 32 32H448c17.7 0 32-14.3 32-32V252.7L294.5 405.1C283.7 414 270 418.9 256 418.9s-27.7-4.9-38.5-13.8L32 252.7zM222.5 11C232.2 3.9 243.9 0 256 0s23.8 3.9 33.5 11L486.1 156.7c16.3 12.1 25.9 31.1 25.9 51.4V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V208.1c0-20.3 9.6-39.4 25.9-51.4L222.5 11z\"]\n};\nvar faDrawCircle = {\n prefix: 'fal',\n iconName: 'draw-circle',\n icon: [512, 512, [], \"f5ed\", \"M256 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm58.5-6c-10 22.4-32.4 38-58.5 38s-48.6-15.6-58.5-38C147.4 107.6 107.6 147.4 90 197.5c22.4 10 38 32.4 38 58.5s-15.6 48.6-38 58.5c17.7 50.1 57.4 89.9 107.5 107.5c10-22.4 32.4-38 58.5-38s48.6 15.6 58.5 38c50.1-17.7 89.9-57.4 107.5-107.5c-22.4-10-38-32.4-38-58.5s15.6-48.6 38-58.5C404.4 147.4 364.6 107.6 314.5 90zM454.1 192.3c32.5 3.1 57.9 30.4 57.9 63.7s-25.4 60.7-57.9 63.7c-20.5 63.6-70.7 113.9-134.3 134.3C316.7 486.6 289.3 512 256 512s-60.7-25.4-63.7-57.9C128.7 433.6 78.4 383.3 57.9 319.7C25.4 316.7 0 289.3 0 256s25.4-60.7 57.9-63.7C78.4 128.7 128.7 78.4 192.3 57.9C195.3 25.4 222.7 0 256 0s60.7 25.4 63.7 57.9c63.6 20.5 113.9 70.7 134.3 134.3zM256 480a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM96 256a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm352 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faCatSpace = {\n prefix: 'fal',\n iconName: 'cat-space',\n icon: [640, 512, [], \"e001\", \"M448 288c-70.7 0-128-57.3-128-128c0-32.5 12.1-62.1 32-84.7V160c0 53 43 96 96 96s96-43 96-96V75.3c19.9 22.6 32 52.2 32 84.7c0 70.7-57.3 128-128 128zm0-256c25.4 0 49.2 7.4 69.1 20.2L482.4 80H413.6L378.9 52.2C398.8 39.4 422.6 32 448 32zm64 274.7c56.5-24.7 96-81.1 96-146.7C608 71.6 536.4 0 448 0S288 71.6 288 160c0 4.6 .2 9.1 .6 13.6C218.8 192.1 161.5 238.4 128 299.2V176.5c0-40.3-30-74.4-70.1-79.4l-7.9-1C41.2 95 33.2 101.2 32.1 110s5.1 16.8 13.9 17.9l7.9 1c24 3 42 23.4 42 47.6V424v8c0 44.2 35.8 80 80 80h0H304l42.7 0c20.6 0 37.3-16.7 37.3-37.3c0-25.8-16.7-47.7-39.8-55.6L416 379.2V464c0 26.5 21.5 48 48 48s48-21.5 48-48V306.7zm-32 10.1V464c0 8.8-7.2 16-16 16s-16-7.2-16-16V352c0-5.7-3-10.9-7.9-13.8s-10.9-3-15.9-.2L304 404.8V392c0-39.8-32.2-72-72-72h-8c-8.8 0-16 7.2-16 16s7.2 16 16 16h8c22.1 0 40 17.9 40 40v40 0c0 8.8 7.2 16 16 16h37.3c14.7 0 26.7 11.9 26.7 26.7c0 2.9-2.4 5.3-5.3 5.3H304l0 0H176c-26.5 0-48-21.5-48-48v-8c0-103.1 69.2-192 166.5-218.8C314 271.5 375.3 320 448 320c11 0 21.7-1.1 32-3.2zM240 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V48H176c-8.8 0-16 7.2-16 16s7.2 16 16 16h32v32c0 8.8 7.2 16 16 16s16-7.2 16-16V80h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H240V16zM384 97.3l14 11.2c2.8 2.3 6.4 3.5 10 3.5h80c3.6 0 7.2-1.2 10-3.5l14-11.2V160c0 35.3-28.7 64-64 64s-64-28.7-64-64V97.3zM416 168a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm80-16a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faHandshakeSimpleSlash = {\n prefix: 'fal',\n iconName: 'handshake-simple-slash',\n icon: [640, 512, [\"handshake-alt-slash\"], \"e05f\", \"M25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4zM368.5 212.8l11.9-11c6.5-6 6.9-16.1 .9-22.6s-16.1-6.9-22.6-.9l-15.6 14.4 25.4 20.1zm-81.7-64.5l27.5-26C332.2 105.4 355.8 96 380.4 96c22.7 0 44.6 8 61.9 22.6l44.8 37.7c2.9 2.4 6.5 3.8 10.3 3.8H592c8.8 0 16-7.2 16-16s-7.2-16-16-16H503.3L462.9 94.1C439.8 74.6 410.6 64 380.4 64c-32.8 0-64.3 12.5-88.1 35l-30.9 29.2 25.4 20zm-58.7-46.4c3.1-1 6.2-1.9 9.3-2.7L272.6 64h-8.7c-22.5 0-44.6 5.3-64.5 15.3l28.7 22.6zM54.6 128H48c-8.8 0-16 7.2-16 16s7.2 16 16 16H95.1L54.6 128zm139 109.8c.2 .8 .4 1.5 .6 2.2h2.3l-2.8-2.2zM370.4 377.3c1.5 9.3-1.1 19.1-7.8 26.6c-12.3 13.9-33.8 14.5-46.9 1.4l-8.1-8.1c-3.6-3.6-8.7-5.3-13.7-4.5s-9.4 3.9-11.8 8.4c-1.9 3.6-4.4 6.9-7.6 9.8c-13.8 12.3-34.8 11.7-47.8-1.3l-39.9-39.8-28.6-28.6c-13.5-13.5-31.8-21.1-50.9-21.1H48c-8.8 0-16 7.2-16 16s7.2 16 16 16h59.4c10.6 0 20.8 4.2 28.3 11.7l28.6 28.6 15.4 15.4 .1 .1 24.3 24.3c25.1 25.1 65.4 26.2 91.8 2.6c.8-.7 1.6-1.4 2.3-2.2c26.3 21.3 65.3 18.6 88.4-7.3c6.5-7.3 11-15.6 13.6-24.4l-29.7-23.5zm132.5-58.5l40.5 32H592c8.8 0 16-7.2 16-16s-7.2-16-16-16H502.9z\"]\n};\nvar faHandshakeAltSlash = faHandshakeSimpleSlash;\nvar faRabbitRunning = {\n prefix: 'fal',\n iconName: 'rabbit-running',\n icon: [576, 512, [\"rabbit-fast\"], \"f709\", \"M449.3 148.5c14.6 2.1 28.7 6.6 41.8 13.5c-.7-35-15-69-40.8-94.2l-1.4-1.4c-1.9-1.9-4.7-2.7-7.3-2.2l-1.6 .3c-2.3 .4-4.2 1.9-5.3 3.9c-7.5-7.7-15.6-14.7-24.3-21.1c5.8-7.3 14.1-12.4 23.5-14.2l1.6-.3c13-2.5 26.4 1.5 35.8 10.8l1.4 1.4c37.1 36.4 55 87.5 49.4 138.2l23.7 17.7c19 14.2 30.2 36.5 30.2 60.3c0 41.5-33.7 75.2-75.2 75.2H406.6l-32 32H424c26.5 0 48 21.5 48 48s-21.5 48-48 48H306.5c-21.2 0-41.6-8.4-56.6-23.4L237 427.9l-66.4 44.3c-22.1 14.7-51.9 8.7-66.6-13.3s-8.7-51.9 13.3-66.6l50.4-33.6-55-55c-9.8-9.8-17.6-21.2-23.1-33.7c-5.7 1.4-11.6 2.2-17.7 2.2c-39.8 0-72-32.2-72-72s32.2-72 72-72c16.3 0 31.3 5.4 43.3 14.5c20.1-18.9 47.1-30.5 76.9-30.5h9c17.3 0 34.4 3.7 50.2 10.9L319 153.9c-5-10.7-8.8-22.1-11.3-33.9l-7.4-34.4c-3.9-18.4 6.6-36.8 24.4-42.7c7.2-2.4 15-2.5 22.3-.3c50.3 15.1 89 55.3 102.3 105.9zM81 239.3c-.7-4.9-1-9.8-1-14.8c0-20.7 5.6-40 15.3-56.7c-6.6-4.7-14.6-7.5-23.3-7.5c-22.1 0-40 17.9-40 40s17.9 40 40 40c3.1 0 6.1-.4 9-1zM135.1 419c-7.4 4.9-9.3 14.8-4.4 22.2s14.8 9.3 22.2 4.4L214 404.9l-23.1-23.1L135.1 419zM334.8 73.3c-2.4 .8-3.8 3.2-3.2 5.7l7.4 34.4c5.7 26.7 19.7 50.6 39.8 68.5c5.9 5.3 7 14.1 2.7 20.7s-12.8 9.1-20 5.8l-123.3-56c-11.6-5.3-24.2-8-36.9-8h-9c-44.3 0-80.2 35.9-80.2 80.2c0 21.3 8.4 41.7 23.5 56.7L272.6 418.2c9 9 21.2 14.1 33.9 14.1H424c8.8 0 16-7.2 16-16s-7.2-16-16-16H336c-6.5 0-12.3-3.9-14.8-9.9c-.8-1.9-1.2-3.8-1.2-5.8l-2.5-34.7c-2.8-39.5-29.7-73.2-67.5-84.9l-30.7-9.4c-8.4-2.6-13.2-11.6-10.6-20s11.6-13.2 20-10.6l30.7 9.4c50.5 15.5 86.3 60.5 90 113.2l0 .5L388.7 309c3-3 7.1-4.7 11.3-4.7H500.8c23.9 0 43.2-19.3 43.2-43.2c0-13.6-6.4-26.5-17.4-34.6l-37.3-27.9c-15.6-11.7-34.3-18.3-53.6-19.3c-7.1-.3-13.1-5.3-14.8-12.2l-2.1-8.7c-10-40.7-40.8-73.2-81-85.2c-1-.3-2-.3-2.9 0zM480 224.3a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faRabbitFast = faRabbitRunning;\nvar faMemoPad = {\n prefix: 'fal',\n iconName: 'memo-pad',\n icon: [448, 512, [], \"e1da\", \"M32 128V448c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V128H32zm0-32H416V64c0-17.7-14.3-32-32-32H64C46.3 32 32 46.3 32 64V96zM448 64V96v16 16V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128 112 96 64C0 28.7 28.7 0 64 0H384c35.3 0 64 28.7 64 64zM112 192H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 96H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 96H240c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faMattressPillow = {\n prefix: 'fal',\n iconName: 'mattress-pillow',\n icon: [640, 512, [], \"e525\", \"M256 96V416H64c-17.7 0-32-14.3-32-32V128c0-17.7 14.3-32 32-32H256zm32 0H576c17.7 0 32 14.3 32 32V384c0 17.7-14.3 32-32 32H288V96zM64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64zm112 96c8.8 0 16 7.2 16 16V336c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h64zm-64-32c-26.5 0-48 21.5-48 48V336c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48V176c0-26.5-21.5-48-48-48H112z\"]\n};\nvar faAlarmPlus = {\n prefix: 'fal',\n iconName: 'alarm-plus',\n icon: [512, 512, [], \"f844\", \"M92.2 0C41.3 0 0 41.3 0 92.2c0 18.2 5.3 35.2 14.4 49.5c4.7 7.5 14.6 9.6 22.1 4.9s9.6-14.6 4.9-22.1c-5.9-9.3-9.4-20.4-9.4-32.3C32 58.9 58.9 32 92.2 32c15.8 0 30.2 6.1 40.9 16.1c6.5 6 16.6 5.6 22.6-.8s5.6-16.6-.8-22.6C138.4 9.3 116.4 0 92.2 0zM357.1 24.6c-6.5 6-6.9 16.1-.8 22.6s16.1 6.9 22.6 .8C389.6 38.1 404 32 419.8 32C453 32 480 58.9 480 92.2c0 11.9-3.4 23-9.4 32.3c-4.7 7.5-2.6 17.3 4.9 22.1s17.3 2.6 22.1-4.9c9.1-14.3 14.4-31.3 14.4-49.5C512 41.3 470.7 0 419.8 0c-24.2 0-46.3 9.3-62.7 24.6zM59.3 507.3l50-50C148.6 491.4 199.9 512 256 512s107.4-20.6 146.7-54.7l50 50c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-50-50C459.4 395.4 480 344.1 480 288C480 164.3 379.7 64 256 64S32 164.3 32 288c0 56.1 20.6 107.4 54.7 146.7l-50 50c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0zM256 96a192 192 0 1 1 0 384 192 192 0 1 1 0-384zm0 80c-8.8 0-16 7.2-16 16v80H160c-8.8 0-16 7.2-16 16s7.2 16 16 16h80v80c0 8.8 7.2 16 16 16s16-7.2 16-16V304h80c8.8 0 16-7.2 16-16s-7.2-16-16-16H272V192c0-8.8-7.2-16-16-16z\"]\n};\nvar faAlicorn = {\n prefix: 'fal',\n iconName: 'alicorn',\n icon: [640, 512, [], \"f6b0\", \"M335.5 148.1c-.5 1.9-1.3 3.6-2.5 5.2c-1.4 1.9-3.1 3.4-5 4.5s-4.1 1.8-6.4 2.1c-3.2 .3-6.6-.3-9.6-2L169.9 76.6c7 52.2 32.2 91.2 57.8 118.4c15.1 16 30.1 27.8 41.4 35.5c5.6 3.9 10.3 6.7 13.5 8.6c1.6 .9 2.8 1.6 3.6 2l.9 .5 .2 .1 0 0 0 0c7.9 4 11.1 13.6 7.1 21.5s-13.6 11.1-21.5 7.2L280 256c-7.2 14.3-7.2 14.3-7.2 14.3l0 0 0 0-.1-.1-.4-.2c-.3-.2-.7-.4-1.3-.7c-1.1-.6-2.6-1.4-4.5-2.5c-3.8-2.2-9.2-5.5-15.5-9.9c-12.7-8.7-29.6-22-46.6-40C170.4 180.9 136 125.2 136 48c0-5.7 3-11 8-13.8s11-2.9 16-.1l146.4 83.7C318.7 50.8 377.4 0 448 0h24 8 5.8H544c8.8 0 16 7.2 16 16c0 7-4.5 13-10.8 15.1c7.3 9.5 12.5 20.6 15 32.9h66.5c5.1 0 9.3 4.2 9.3 9.3c0 4-2.6 7.6-6.4 8.8l-65.2 21.7 4.7 49.4c2.3 23.9-9.2 47.1-29.6 59.9c-29.1 18.2-67.4 10-86.5-18.6l-1.7-2.5H448v40c0 .7-.1 1.5-.1 2.2c.1 1.9 .1 3.9 .1 5.8c0 30.9-12.4 58.4-32 78.4V472c0 22.1-17.9 40-40 40H344c-22.1 0-40-17.9-40-40V347.6l-88.1-19.8c-.5 14.3-3.6 28.3-9.2 41.4l-8.1 19c-2.2 5-2.5 10.6-1.1 15.9l15.9 57.2c7.1 25.5-12.1 50.7-38.5 50.7H141.6c-18 0-33.7-12-38.5-29.3L89.6 434.1c-8.3-29.8-6.2-61.5 6-90l8.1-19c.2-.4 .3-.8 .3-1.3c0-.4-.1-.8-.2-1.2L70.4 242.5c-4.2-10.1-6.4-20.8-6.4-31.7c-18.6 6.6-32 24.4-32 45.3v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V256c0-41.3 31.3-75.2 71.4-79.5c9-19.8 25.6-35.4 46-43.1c3.4 10.4 7.4 20.4 11.8 29.8C109.8 170.2 96 188.8 96 210.7c0 6.7 1.3 13.3 3.9 19.5l33.4 80.1c1.8 4.3 2.7 8.9 2.7 13.5c0 4.8-1 9.5-2.8 13.9l-8.1 19c-9.3 21.7-10.9 46-4.6 68.8l13.5 48.6c1 3.5 4.1 5.9 7.7 5.9h33.2c5.3 0 9.1-5 7.7-10.1l-15.9-57.2c-3.4-12.3-2.5-25.3 2.5-37l8.1-19c4.4-10.4 6.7-21.5 6.7-32.8c0-4.6-.4-9.2-1.1-13.7c-.9-5.3 .9-10.6 4.8-14.3s9.3-5.2 14.5-4L318.4 318c1.4 .3 2.8 .6 4.3 .8c7.7 1.3 13.3 8 13.3 15.8V472c0 4.4 3.6 8 8 8h32c4.4 0 8-3.6 8-8V311.6c0-4.6 1.9-8.9 5.3-11.9C405.6 285.1 416 264 416 240c0-2.3-.1-4.5-.3-6.7c-.1-1.5 0-3.1 .3-4.5V176c0-8.8 7.2-16 16-16h32c5.4 0 10.3 2.7 13.3 7.1l6.4 9.6c9.4 14.2 28.5 18.3 42.9 9.2c10.1-6.3 15.8-17.8 14.7-29.7l-7.7-80.8c-2.3-24.6-23-43.4-47.8-43.4H480h-8H448c-61.8 0-111.9 50-112 111.7c0 1.5-.1 2.9-.5 4.4zM464 96a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faCommentQuestion = {\n prefix: 'fal',\n iconName: 'comment-question',\n icon: [512, 512, [], \"e14b\", \"M32 240c0-91.4 93.8-176 224-176s224 84.6 224 176s-93.8 176-224 176c-32 0-63-5.9-93.5-16.2c-9.9-3.3-20.7-1.8-29.2 4.2c-15.4 10.7-31.4 20-48.4 27.4L91.2 446l-6.4-14.7c-10.5 4.6-21.5 8.6-32.7 11.5c.5-.9 1.1-1.8 1.6-2.6C68 416.5 76.3 391 79.4 363.9c1-9.2-2.1-17.7-7.4-23.9c-24.5-29.4-40-62.9-40-100zM256 32C114.5 32 0 125.2 0 240c0 46.6 19.6 87.1 47.4 120.5c0 .1 .1 .1 .1 .2c-2.6 22.6-9.5 43.5-21.3 63.1c-6.5 10.8-13.5 20.8-21.7 29c-4.5 4.6-5.9 11.5-3.4 17.4s8.3 9.8 14.8 9.8c28.7 0 57.6-8.9 81.6-19.3c19.2-8.4 37.1-18.7 53.9-30.5c.2-.1 .5-.2 .7-.1C185.5 441.3 220 448 256 448c141.5 0 256-93.2 256-208S397.5 32 256 32zM168.7 153.8l-.2 .7c-2.2 8.5 2.9 17.3 11.4 19.5s17.3-2.9 19.5-11.4l.2-.7c2.8-10.6 12.3-17.9 23.2-17.9H280c17.6 0 32 14.5 32 32.3c0 12.1-6.8 23.2-17.5 28.7l-45.8 23.4c-5.4 2.7-8.7 8.2-8.7 14.3V272c0 8.8 7.2 16 16 16s16-7.2 16-16V252.3l37.1-18.9c21.5-11 34.9-33.2 34.9-57.2c0-35.2-28.5-64.3-64-64.3H222.9c-25.5 0-47.7 17.2-54.2 41.8zM280 336a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faGingerbreadMan = {\n prefix: 'fal',\n iconName: 'gingerbread-man',\n icon: [448, 512, [], \"f79d\", \"M144 112c0-44.2 35.8-80 80-80s80 35.8 80 80c0 20.5-7.7 39.2-20.4 53.3c-4.2 4.7-5.3 11.4-2.7 17.2s8.3 9.5 14.6 9.5H368c26.5 0 48 21.5 48 48s-21.5 48-48 48h-7c-32.4 0-50.3 37.7-29.7 62.8l41.7 50.7c16.8 20.5 13.9 50.7-6.6 67.6s-50.7 13.9-67.6-6.6l-45.3-55c-15.4-18.7-43.9-18.7-59.3 0l-45.3 55c-16.8 20.5-47.1 23.4-67.6 6.6S58.1 422 74.9 401.5l41.7-50.7C137.3 325.7 119.4 288 87 288H80c-26.5 0-48-21.5-48-48s21.5-48 48-48h72.4c6.3 0 12-3.7 14.6-9.5s1.5-12.5-2.7-17.2C151.7 151.2 144 132.5 144 112zM224 0C162.1 0 112 50.1 112 112c0 17.2 3.9 33.4 10.8 48H80c-44.2 0-80 35.8-80 80s35.8 80 80 80h7c5.4 0 8.4 6.3 4.9 10.5L50.2 381.2c-28.1 34.1-23.2 84.5 10.9 112.6l9.1-11.1-9.1 11.1c34.1 28.1 84.5 23.2 112.6-10.9l45.3-55c2.6-3.1 7.3-3.1 9.9 0l45.3 55c28.1 34.1 78.5 39 112.6 10.9s39-78.5 10.9-112.6l-41.7-50.7c-3.4-4.2-.5-10.5 4.9-10.5h7c44.2 0 80-35.8 80-80s-35.8-80-80-80H325.2c6.9-14.6 10.8-30.8 10.8-48C336 50.1 285.9 0 224 0zM192 112a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm32 128a16 16 0 1 0 0-32 16 16 0 1 0 0 32zM272 96a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM224 368a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm16-80a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faGuaraniSign = {\n prefix: 'fal',\n iconName: 'guarani-sign',\n icon: [384, 512, [], \"e19a\", \"M176 0c-8.8 0-16 7.2-16 16V66.7C69.2 81.9 0 160.9 0 256s69.2 174.1 160 189.3V496c0 8.8 7.2 16 16 16s16-7.2 16-16l0-48c106 0 192-86 192-192c0-8.8-7.2-16-16-16H192V96c43.6 0 83.1 17.4 112 45.7c6.3 6.2 16.4 6.1 22.6-.2s6.1-16.4-.2-22.6C291.8 85 244.3 64 192 64l0-48c0-8.8-7.2-16-16-16zM160 99.2V412.8C87 398 32 333.4 32 256s55-142 128-156.8zM192 416V272H351.2c-8 80.9-76.2 144-159.2 144z\"]\n};\nvar faBurgerFries = {\n prefix: 'fal',\n iconName: 'burger-fries',\n icon: [640, 512, [], \"e0cd\", \"M151.6 2.4c4.7-2.9 10.6-3.2 15.6-.7l64 32c5.4 2.7 8.8 8.3 8.8 14.3V266.4c-8.5 2.4-19 4.3-32 5.1V57.9l-32-16V271.5c-13-.9-23.5-2.7-32-5.1V16c0-5.5 2.9-10.7 7.6-13.6zM279.1 233.8c-1 4-2.9 9-7.1 14.1V208.6L299.1 84.5 272 89.9V57.3l44.9-9c5.3-1.1 10.8 .6 14.6 4.5s5.4 9.4 4.2 14.6l-28.4 130c-15.5 8-24.9 23.6-28 36.4zm88.7-55.6c-10.2 4.1-19.5 8.8-28.1 13.7h-7.2l19.8-99.1c1.7-8.7 10.2-14.3 18.8-12.6s14.3 10.2 12.6 18.8l-15.8 79.1zM192 304c27.6 0 48.8-3.7 65.2-9.5c-.9 6.3-1.2 12.4-1.2 18.1c0 5.3 .7 10.3 2.1 15.2c-18.6 5.3-40.4 8.2-66.1 8.2c-49.1 0-84.4-10.7-109.1-28.4C61 291.8 50 272.4 44.7 256H34.9L89.2 480H260c3.7 11.9 9.7 22.7 17.6 32H89.2c-14.8 0-27.6-10.1-31.1-24.5L.6 250.5c-.4-1.7-.6-3.3-.6-5.1C0 233.6 9.6 224 21.4 224H54.3c9.5 0 17.2 8.3 19.5 17.5C79.6 265 102.7 304 192 304zM21.4 192c-.9 0-1.7 0-2.5 .1L.3 99.1C-1.4 90.5 4.2 82 12.9 80.3s17.1 3.9 18.8 12.6L51.5 192H21.4zm98.8 63.6c-10.3-7.4-13.9-15.8-15.4-21.7c-3-12.1-11.4-26.5-25.2-34.9L56.2 58.6c-1.2-6.9 2.3-13.8 8.6-16.9L112 18.1V53.9L89.7 65l31.9 191.5c-.5-.3-1-.7-1.4-1zm210.7 23.9c-5.7 6.2-9.2 14.6-10.4 24.4h287c-1.2-9.8-4.7-18.2-10.4-24.4c-8.3-9-20.6-20.1-37.1-30.1c-.8 8.1-7.6 14.5-15.9 14.5c-8.8 0-16-7.2-16-16c0-4.6 1.9-8.7 5-11.6c-15.7-6.1-33.9-10.5-54.9-11.9c1.2 2.2 1.9 4.8 1.9 7.5c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-2.7 .7-5.3 1.9-7.5c-21 1.4-39.2 5.9-54.9 11.9c3.1 2.9 5 7 5 11.6c0 8.8-7.2 16-16 16c-8.3 0-15.1-6.3-15.9-14.5c-16.6 10-28.8 21.1-37.1 30.1zM464 191.8c82 0 132.6 40 156.5 65.9c14.6 15.7 19.5 36.1 19.5 54.7c0 12.9-10.5 23.4-23.4 23.4H311.4c-12.9 0-23.4-10.5-23.4-23.4c0-18.7 4.9-39.1 19.5-54.7c24-25.8 74.5-65.9 156.5-65.9zm-176 184c0-8.8 7.2-16 16-16H624c8.8 0 16 7.2 16 16s-7.2 16-16 16H304c-8.8 0-16-7.2-16-16zm0 77.3c0-20.6 16.7-37.3 37.3-37.3H602.7c20.6 0 37.3 16.7 37.3 37.3c0 32.4-26.3 58.7-58.7 58.7H346.7c-32.4 0-58.7-26.3-58.7-58.7zm37.3-5.3c-2.9 0-5.3 2.4-5.3 5.3c0 14.7 11.9 26.7 26.7 26.7H581.3c14.7 0 26.7-11.9 26.7-26.7c0-2.9-2.4-5.3-5.3-5.3H325.3z\"]\n};\nvar faMugTea = {\n prefix: 'fal',\n iconName: 'mug-tea',\n icon: [576, 512, [], \"f875\", \"M144 96H64V352c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V272 96H352 176v40.5l36.5 30.4C219.8 173 224 182 224 191.5V256c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32V191.5c0-9.5 4.2-18.5 11.5-24.6L144 136.5V96zm16-32H352h32 80c61.9 0 112 50.1 112 112s-50.1 112-112 112H416v64c0 53-43 96-96 96H128c-53 0-96-43-96-96V96c0-17.7 14.3-32 32-32h96zM464 96H416V256h48c44.2 0 80-35.8 80-80s-35.8-80-80-80zM128 256h64V191.5l-32-26.7-32 26.7 0 64.5z\"]\n};\nvar faBorderTop = {\n prefix: 'fal',\n iconName: 'border-top',\n icon: [448, 512, [], \"f855\", \"M0 48c0-8.8 7.2-16 16-16H432c8.8 0 16 7.2 16 16s-7.2 16-16 16H16C7.2 64 0 56.8 0 48zM56 160A24 24 0 1 1 8 160a24 24 0 1 1 48 0zm336 0a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm-144 0a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zM8 352a24 24 0 1 1 48 0A24 24 0 1 1 8 352zm432 0a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zm-240 0a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM56 256A24 24 0 1 1 8 256a24 24 0 1 1 48 0zm336 0a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm-144 0a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zM8 448a24 24 0 1 1 48 0A24 24 0 1 1 8 448zm432 0a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zm-240 0a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM152 256a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zM104 448a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm240 0a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zM296 256a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faArrowsRotate = {\n prefix: 'fal',\n iconName: 'arrows-rotate',\n icon: [512, 512, [128472, \"refresh\", \"sync\"], \"f021\", \"M69.4 210.6C89.8 126.5 165.6 64 256 64c71.1 0 133.1 38.6 166.3 96H368c-8.8 0-16 7.2-16 16s7.2 16 16 16h80.7H464c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16s-16 7.2-16 16v60.6C408.8 75.5 337.5 32 256 32C149.6 32 60.5 106.2 37.7 205.6C35.5 215.2 43.1 224 53 224c7.9 0 14.6-5.7 16.5-13.4zm373.2 90.9C422.2 385.5 346.4 448 256 448c-71.1 0-133.1-38.6-166.3-96h54.5c8.8 0 16-7.2 16-16s-7.2-16-16-16H63.3 48.2c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V371.8C103.4 436.6 174.7 480 256 480c106.4 0 195.5-74.2 218.3-173.6c2.2-9.6-5.4-18.4-15.3-18.4c-7.9 0-14.6 5.7-16.5 13.4z\"]\n};\nvar faRefresh = faArrowsRotate;\nvar faSync = faArrowsRotate;\nvar faCircleBookOpen = {\n prefix: 'fal',\n iconName: 'circle-book-open',\n icon: [512, 512, [\"book-circle\"], \"e0ff\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm144-69.7v130l.7-.1c12.3-2.1 29.3-4.2 47.3-4.2c18.4 0 35.4 5.9 48 11.8V186.3c-2.4-1-5.3-2.1-8.5-3.2c-10.8-3.7-25-7.2-39.5-7.2s-28.7 3.5-39.5 7.2c-3.2 1.1-6.1 2.2-8.5 3.2zM246 364.5l-.1-.1c-.2-.1-.4-.3-.8-.6c-.7-.5-1.8-1.3-3.3-2.3c-2.9-2-7.2-4.6-12.5-7.3C218.7 348.8 205.3 344 192 344c-15.7 0-30.8 1.9-42 3.8c-5.6 1-10.1 1.9-13.3 2.6c-1.6 .4-2.8 .6-3.6 .8l-.9 .2-.2 0 0 0 0 0c-4.8 1.3-9.9 .2-13.8-2.8s-6.2-7.7-6.2-12.7V176c0-5.9 3.3-11.4 8.5-14.1L128 176c-7.5-14.1-7.5-14.1-7.5-14.1l0 0 0 0 0 0 .1-.1 .4-.2c.3-.2 .7-.4 1.2-.6c1.1-.5 2.5-1.2 4.4-2.1c3.7-1.7 9-3.9 15.5-6c12.7-4.3 30.6-8.8 49.8-8.8s37.1 4.5 49.8 8.8c5.7 1.9 10.6 3.9 14.2 5.5c3.6-1.6 8.5-3.5 14.2-5.5c12.7-4.3 30.6-8.8 49.8-8.8s37.1 4.5 49.8 8.8c6.4 2.2 11.7 4.4 15.5 6c1.9 .8 3.4 1.5 4.4 2.1c.5 .3 .9 .5 1.2 .6l.4 .2 .1 .1 0 0 0 0 0 0s0 0-7.5 14.1l7.5-14.1c5.2 2.8 8.5 8.2 8.5 14.1V336c0 5-2.3 9.6-6.2 12.7s-9 4.1-13.8 2.8l0 0 0 0-.2 0-.9-.2c-.8-.2-2-.5-3.6-.8c-3.1-.7-7.7-1.6-13.3-2.6c-11.2-1.9-26.3-3.8-42-3.8c-13.3 0-26.7 4.8-37.4 10.3c-5.2 2.7-9.5 5.3-12.5 7.3c-1.5 1-2.6 1.8-3.3 2.3c-.4 .3-.6 .5-.8 .6l-.1 .1c-.3 .3-.7 .5-1 .8c-.3 .2-.6 .4-.9 .5c-2.3 1.4-5 2.1-7.6 2.2c-.4 0-.8 0-1.3 0c-2.7-.1-5.3-1-7.7-2.4c-.5-.3-1-.7-1.5-1zm26-40.7c12.6-6 29.6-11.8 48-11.8c18.1 0 35 2.1 47.3 4.2l.7 .1v-130c-2.4-1-5.3-2.1-8.5-3.2c-10.8-3.7-25-7.2-39.5-7.2s-28.7 3.5-39.5 7.2c-3.2 1.1-6.1 2.2-8.5 3.2V323.8z\"]\n};\nvar faBookCircle = faCircleBookOpen;\nvar faArrowsToDottedLine = {\n prefix: 'fal',\n iconName: 'arrows-to-dotted-line',\n icon: [448, 512, [], \"e0a6\", \"M224 192c-4.2 0-8.3-1.7-11.3-4.7l-80-80c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L208 137.4 208 16c0-8.8 7.2-16 16-16s16 7.2 16 16l0 121.4 52.7-52.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-80 80c-3 3-7.1 4.7-11.3 4.7zM56 256A24 24 0 1 1 8 256a24 24 0 1 1 48 0zm384 0a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zM320 280a24 24 0 1 1 0-48 24 24 0 1 1 0 48zm-72-24a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zM128 280a24 24 0 1 1 0-48 24 24 0 1 1 0 48zm107.3 44.7l80 80c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L240 374.6V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V374.6l-52.7 52.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l80-80c3-3 7.1-4.7 11.3-4.7s8.3 1.7 11.3 4.7z\"]\n};\nvar faFireExtinguisher = {\n prefix: 'fal',\n iconName: 'fire-extinguisher',\n icon: [512, 512, [129519], \"f134\", \"M320 96V80 64L480 32l0 96L320 96zM288 64H192V16c0-8.8-7.2-16-16-16s-16 7.2-16 16V64C104.5 64 55.6 92.3 27 135.1c-7.3 11-13.4 22.9-17.8 35.6c-2.9 8.3 1.4 17.5 9.8 20.4s17.5-1.4 20.4-9.8c3.6-10.1 8.4-19.7 14.3-28.4C76.5 118.6 115.6 96 160 96v33.1c-54.3 7.8-96 54.4-96 110.9V448c0 35.3 28.7 64 64 64h96c35.3 0 64-28.7 64-64V240c0-56.4-41.7-103.1-96-110.9V96h96v0c0 15.3 10.8 28.4 25.7 31.4l160 32c9.4 1.9 19.1-.6 26.6-6.6s11.7-15.2 11.7-24.7V32c0-9.6-4.3-18.7-11.7-24.7s-17.2-8.5-26.6-6.6l-160 32c-15 3-25.7 16.1-25.7 31.4zM176 160c44.2 0 80 35.8 80 80V384H96V240c0-44.2 35.8-80 80-80zm80 288c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32V416H256v32z\"]\n};\nvar faMagnifyingGlassArrowsRotate = {\n prefix: 'fal',\n iconName: 'magnifying-glass-arrows-rotate',\n icon: [512, 512, [], \"e65e\", \"M384 43.3V112H315.3L384 43.3zM392 144c13.3 0 24-10.7 24-24V24c0-9.7-5.8-18.5-14.8-22.2S381.9 .2 375 7L337.1 44.9C301.7 16.8 256.8 0 208 0C99 0 9.5 83.9 .7 190.7c-.7 8.8 5.8 16.5 14.6 17.3c.4 0 .8 .1 1.2 .1h.3c8.2-.1 15.1-6.4 15.8-14.7C40.1 103 115.7 32 208 32c39.9 0 76.8 13.3 106.3 35.7L279 103c-6.9 6.9-8.9 17.2-5.2 26.2s12.5 14.8 22.2 14.8h96zM32 372.7V304h68.7L32 372.7zM24 272c-13.3 0-24 10.7-24 24v96c0 9.7 5.8 18.5 14.8 22.2s19.3 1.7 26.2-5.2l96-96c6.9-6.9 8.9-17.2 5.2-26.2s-12.5-14.8-22.2-14.8H24zm342 71.3c27.7-32.3 45.6-73.1 49.3-118c.7-8.8-5.8-16.5-14.6-17.3c-.4 0-.8 0-1.2-.1h-.3c-8.2 .1-15.1 6.4-15.8 14.7C375.9 313 300.3 384 208 384c-39.9 0-76.8-13.3-106.3-35.7L78.9 371.1C114.3 399.2 159.2 416 208 416c51.7 0 99-18.8 135.3-50L484.7 507.3c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L366 343.3z\"]\n};\nvar faGarageOpen = {\n prefix: 'fal',\n iconName: 'garage-open',\n icon: [640, 512, [], \"e00b\", \"M313.8 36c4-1.7 8.4-1.7 12.4 0L588.4 146.4c11.9 5 19.6 16.6 19.6 29.5V496c0 8.8 7.2 16 16 16s16-7.2 16-16V175.9c0-25.8-15.4-49-39.2-59L338.6 6.5c-11.9-5-25.3-5-37.3 0L39.2 116.9C15.4 126.9 0 150.1 0 175.9V496c0 8.8 7.2 16 16 16s16-7.2 16-16V175.9c0-12.9 7.7-24.5 19.6-29.5L313.8 36zM128 192c-17.7 0-32 14.3-32 32V496c0 8.8 7.2 16 16 16s16-7.2 16-16V288H512V496c0 8.8 7.2 16 16 16s16-7.2 16-16V224c0-17.7-14.3-32-32-32H128zm384 64H128V224H512v32zM212.5 320l-10.6 32.8C186.3 362.7 176 380.2 176 400v96c0 8.8 7.2 16 16 16s16-7.2 16-16V480H432v16c0 8.8 7.2 16 16 16s16-7.2 16-16V400c0-19.8-10.3-37.3-25.9-47.2L427.5 320H393.8l7.8 24H238.4l7.8-24H212.5zM432 400v48H208V400c0-13.3 10.7-24 24-24H408c13.3 0 24 10.7 24 24zM248 432a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm160-16a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faShelvesEmpty = {\n prefix: 'fal',\n iconName: 'shelves-empty',\n icon: [640, 512, [], \"e246\", \"M32 16C32 7.2 24.8 0 16 0S0 7.2 0 16V176 432v64c0 8.8 7.2 16 16 16s16-7.2 16-16V448H608v48c0 8.8 7.2 16 16 16s16-7.2 16-16V432 176 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V160H32V16zm0 176H608V416H32V192z\"]\n};\nvar faCruzeiroSign = {\n prefix: 'fal',\n iconName: 'cruzeiro-sign',\n icon: [448, 512, [], \"e152\", \"M64 256C64 150.1 150.6 64 257.7 64c49.6 0 94.9 18.5 129.2 48.9c6.6 5.9 16.7 5.3 22.6-1.3s5.3-16.7-1.3-22.6c-39.9-35.4-92.7-57-150.4-57C133.2 32 32 132.2 32 256s101.2 224 225.7 224c57.7 0 110.5-21.6 150.4-57c6.6-5.9 7.2-16 1.3-22.6s-16-7.2-22.6-1.3C352.6 429.5 307.3 448 257.7 448c-11.5 0-22.7-1-33.7-2.9V320c0-26.5 21.5-48 48-48c15.1 0 29.3 7.1 38.4 19.2l4.8 6.4c5.3 7.1 15.3 8.5 22.4 3.2s8.5-15.3 3.2-22.4L336 272c-15.1-20.1-38.8-32-64-32c-18 0-34.6 6-48 16V240c0-8.8-7.2-16-16-16s-16 7.2-16 16v80V436.7C117.3 410 64 339.1 64 256z\"]\n};\nvar faWatchApple = {\n prefix: 'fal',\n iconName: 'watch-apple',\n icon: [384, 512, [], \"e2cb\", \"M96 48V64H288V48c0-8.8-7.2-16-16-16H112c-8.8 0-16 7.2-16 16zM64 65.6V48C64 21.5 85.5 0 112 0H272c26.5 0 48 21.5 48 48V65.6c36.5 7.4 64 39.7 64 78.4V368c0 38.7-27.5 71-64 78.4V464c0 26.5-21.5 48-48 48l-160 0c-26.5 0-48-21.5-48-48l0-17.6C27.5 439 0 406.7 0 368V144c0-38.7 27.5-71 64-78.4zM96 464c0 8.8 7.2 16 16 16l160 0c8.8 0 16-7.2 16-16V448H96v16zM80 96c-26.5 0-48 21.5-48 48V368c0 26.5 21.5 48 48 48H304c26.5 0 48-21.5 48-48V144c0-26.5-21.5-48-48-48H80zM192 232a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm16 96a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm-56-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm56-120a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm-56-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM96 256a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm168-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faWatchCalculator = {\n prefix: 'fal',\n iconName: 'watch-calculator',\n icon: [384, 512, [], \"f8f0\", \"M96 48V64H288V48c0-8.8-7.2-16-16-16H112c-8.8 0-16 7.2-16 16zM64 65.6V48C64 21.5 85.5 0 112 0H272c26.5 0 48 21.5 48 48V65.6c36.5 7.4 64 39.7 64 78.4V368c0 38.7-27.5 71-64 78.4V464c0 26.5-21.5 48-48 48l-160 0c-26.5 0-48-21.5-48-48l0-17.6C27.5 439 0 406.7 0 368V144c0-38.7 27.5-71 64-78.4zM96 464c0 8.8 7.2 16 16 16l160 0c8.8 0 16-7.2 16-16V448H96v16zM80 96c-26.5 0-48 21.5-48 48V368c0 26.5 21.5 48 48 48H304c26.5 0 48-21.5 48-48V144c0-26.5-21.5-48-48-48H80zm16 96H288V160H96v32zM64 144c0-8.8 7.2-16 16-16H304c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V144zm64 136a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zm64 24a24 24 0 1 1 0-48 24 24 0 1 1 0 48zm112-24a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zM104 384a24 24 0 1 1 0-48 24 24 0 1 1 0 48zm112-24a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zm64 24a24 24 0 1 1 0-48 24 24 0 1 1 0 48z\"]\n};\nvar faListDropdown = {\n prefix: 'fal',\n iconName: 'list-dropdown',\n icon: [512, 512, [], \"e1cf\", \"M64 64C46.3 64 32 78.3 32 96v64H480V96c0-17.7-14.3-32-32-32H64zM32 192V416c0 17.7 14.3 32 32 32H448c17.7 0 32-14.3 32-32V192H32zM0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM128 256H384c8.8 0 16 7.2 16 16s-7.2 16-16 16H128c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 96H384c8.8 0 16 7.2 16 16s-7.2 16-16 16H128c-8.8 0-16-7.2-16-16s7.2-16 16-16zM352.2 90.3L384 109.3l31.8-19.1c7.6-4.5 17.4-2.1 21.9 5.5s2.1 17.4-5.5 22l-40 24c-5.1 3-11.4 3-16.5 0l-40-24c-7.6-4.5-10-14.4-5.5-22s14.4-10 21.9-5.5z\"]\n};\nvar faCabinetFiling = {\n prefix: 'fal',\n iconName: 'cabinet-filing',\n icon: [448, 512, [128452], \"f64b\", \"M416 240H32V64c0-17.7 14.3-32 32-32H384c17.7 0 32 14.3 32 32V240zM0 256v16V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V272 256 240 64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V240v16zM416 448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V272H416V448zM160 96c-17.7 0-32 14.3-32 32v16c0 8.8 7.2 16 16 16s16-7.2 16-16V128H288v16c0 8.8 7.2 16 16 16s16-7.2 16-16V128c0-17.7-14.3-32-32-32H160zm0 256c-17.7 0-32 14.3-32 32v16c0 8.8 7.2 16 16 16s16-7.2 16-16V384H288v16c0 8.8 7.2 16 16 16s16-7.2 16-16V384c0-17.7-14.3-32-32-32H160z\"]\n};\nvar faBurgerSoda = {\n prefix: 'fal',\n iconName: 'burger-soda',\n icon: [640, 512, [], \"f858\", \"M202.4 36.4C207.8 15 227 0 249 0h23c8.8 0 16 7.2 16 16s-7.2 16-16 16H249c-7.3 0-13.7 5-15.5 12.1l-21 83.9H368c8.8 0 16 7.2 16 16s-7.2 16-16 16H288 192.4c-.2 0-.5 0-.7 0H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H179.5l22.9-91.6zM60.3 468l-23-276H69.4L92.2 465.3c.7 8.3 7.6 14.7 15.9 14.7H260c3.7 11.9 9.7 22.7 17.5 32c-.6 0-1.1 0-1.7 0H108.2c-25 0-45.8-19.1-47.8-44zM330.9 279.4c-5.7 6.2-9.2 14.6-10.4 24.4h287c-1.2-9.8-4.7-18.2-10.4-24.4c-8.3-9-20.6-20.1-37.1-30.1c-.8 8.1-7.6 14.5-15.9 14.5c-8.8 0-16-7.2-16-16c0-4.6 1.9-8.7 5-11.6c-15.7-6.1-33.9-10.5-54.9-11.9c1.2 2.2 1.9 4.8 1.9 7.5c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-2.7 .7-5.3 1.9-7.5c-21 1.4-39.2 5.9-54.9 11.9c3.1 2.9 5 7 5 11.6c0 8.8-7.2 16-16 16c-8.3 0-15.1-6.3-15.9-14.5c-16.6 10-28.8 21.1-37.1 30.1zM464 191.8c82 0 132.6 40 156.5 65.9c14.6 15.7 19.5 36.1 19.5 54.7c0 12.9-10.5 23.4-23.4 23.4H311.4c-12.9 0-23.4-10.5-23.4-23.4c0-18.7 4.9-39.1 19.5-54.7c24-25.8 74.5-65.9 156.5-65.9zm-176 184c0-8.8 7.2-16 16-16H624c8.8 0 16 7.2 16 16s-7.2 16-16 16H304c-8.8 0-16-7.2-16-16zm0 77.3c0-20.6 16.7-37.3 37.3-37.3H602.7c20.6 0 37.3 16.7 37.3 37.3c0 32.4-26.3 58.7-58.7 58.7H346.7c-32.4 0-58.7-26.3-58.7-58.7zm37.3-5.3c-2.9 0-5.3 2.4-5.3 5.3c0 14.7 11.9 26.7 26.7 26.7H581.3c14.7 0 26.7-11.9 26.7-26.7c0-2.9-2.4-5.3-5.3-5.3H325.3z\"]\n};\nvar faSquareArrowUp = {\n prefix: 'fal',\n iconName: 'square-arrow-up',\n icon: [448, 512, [\"arrow-square-up\"], \"f33c\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm235.3 36.7l96 96c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L240 182.6V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V182.6l-68.7 68.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l96-96c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faArrowSquareUp = faSquareArrowUp;\nvar faGreaterThanEqual = {\n prefix: 'fal',\n iconName: 'greater-than-equal',\n icon: [448, 512, [], \"f532\", \"M41.9 62.8c-8.2-3.3-12.1-12.7-8.8-20.9s12.7-12.1 20.9-8.8l352 144c6 2.5 9.9 8.3 9.9 14.8s-3.9 12.3-9.9 14.8l-352 144c-8.2 3.3-17.5-.6-20.9-8.8s.6-17.5 8.8-20.9L357.7 192 41.9 62.8zM432 448c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H432z\"]\n};\nvar faPalletBox = {\n prefix: 'fal',\n iconName: 'pallet-box',\n icon: [640, 512, [], \"e208\", \"M464 32c8.8 0 16 7.2 16 16V240c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V48c0-8.8 7.2-16 16-16h64V144c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L320 116l54.4 40.8c4.8 3.6 11.3 4.2 16.8 1.5s8.8-8.3 8.8-14.3V32h64zM272 32h96v80L329.6 83.2c-5.7-4.3-13.5-4.3-19.2 0L272 112V32zM176 0c-26.5 0-48 21.5-48 48V240c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H176zM0 368c0 8.8 7.2 16 16 16H64v96H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H80 320 560h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H576V384h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H560 320 80 16c-8.8 0-16 7.2-16 16zM96 480V384H304v96H96zm240 0V384H544v96H336z\"]\n};\nvar faFaceConfounded = {\n prefix: 'fal',\n iconName: 'face-confounded',\n icon: [512, 512, [], \"e36c\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm216.9 98.7L256 380.8l39.1-26.1c5.4-3.6 12.4-3.6 17.8 0l40.3 26.8 23.7-11.8c7.9-4 17.5-.7 21.5 7.2s.7 17.5-7.2 21.5l-32 16c-5.1 2.6-11.3 2.2-16-1L304 387.2l-39.1 26.1c-5.4 3.6-12.4 3.6-17.8 0L208 387.2l-39.1 26.1c-4.8 3.2-10.9 3.6-16 1l-32-16c-7.9-4-11.1-13.6-7.2-21.5s13.6-11.1 21.5-7.2l23.7 11.8 40.3-26.8c5.4-3.6 12.4-3.6 17.8 0zM129.3 216.8c4-7.9 13.6-11.1 21.5-7.2l64 32c5.4 2.7 8.8 8.3 8.8 14.3s-3.4 11.6-8.8 14.3l-64 32c-7.9 4-17.5 .7-21.5-7.2s-.7-17.5 7.2-21.5L171.9 256l-35.4-17.7c-7.9-4-11.1-13.6-7.2-21.5zm246.2 21.5L340.2 256l35.4 17.7c7.9 4 11.1 13.6 7.2 21.5s-13.6 11.1-21.5 7.2l-64-32c-5.4-2.7-8.8-8.3-8.8-14.3s3.4-11.6 8.8-14.3l64-32c7.9-4 17.5-.7 21.5 7.2s.7 17.5-7.2 21.5z\"]\n};\nvar faShieldHalved = {\n prefix: 'fal',\n iconName: 'shield-halved',\n icon: [512, 512, [\"shield-alt\"], \"f3ed\", \"M240 38.8V472.6C86.8 397.1 48.5 233.2 48 139.8c-.1-12.1 7.5-22.8 18.8-27.6L240 38.8zm32 433.8V38.8l173.2 73.5c11.3 4.8 18.9 15.5 18.8 27.6c-.5 93.3-38.8 257.3-192 332.8zM281 7.8c-16-6.8-34-6.8-50 0L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.7 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2L281 7.8z\"]\n};\nvar faShieldAlt = faShieldHalved;\nvar faTruckPlow = {\n prefix: 'fal',\n iconName: 'truck-plow',\n icon: [640, 512, [], \"f7de\", \"M176 64h94.1c5.6 0 10.7 2.9 13.7 7.7L357.2 192H160V80c0-8.8 7.2-16 16-16zM394.8 192l-5.1-8.3L311 55c-8.7-14.3-24.2-23-41-23H176c-26.5 0-48 21.5-48 48V192H56c-30.9 0-56 25.1-56 56v96c0 19.4 13.7 35.5 32 39.2l0 .8c0 53 43 96 96 96s96-43 96-96h48c0 53 43 96 96 96s96-43 96-96h56.5l75.2 90.2c5.7 6.8 15.7 7.7 22.5 2s7.7-15.7 2-22.5L544 362.2V352 213.8l76.3-91.6c5.7-6.8 4.7-16.9-2-22.5s-16.9-4.7-22.5 2l-80 96c-2.4 2.9-3.7 6.5-3.7 10.2V352H479.2c.5-2.6 .8-5.3 .8-8V248c0-30.9-25.1-56-56-56H394.8zM448 330.9C430.8 305 401.4 288 368 288c-41.8 0-77.4 26.7-90.5 64H218.5c-13.2-37.3-48.7-64-90.5-64c-41.7 0-77.1 26.5-90.4 63.6c-3.2-1-5.6-4.1-5.6-7.6V248c0-13.3 10.7-24 24-24H424c13.3 0 24 10.7 24 24v82.9zM64 384a64 64 0 1 1 128 0A64 64 0 1 1 64 384zm304-64a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]\n};\nvar faBookAtlas = {\n prefix: 'fal',\n iconName: 'book-atlas',\n icon: [448, 512, [\"atlas\"], \"f558\", \"M0 64C0 28.7 28.7 0 64 0H400c26.5 0 48 21.5 48 48V368c0 20.9-13.4 38.7-32 45.3V480h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H64c-35.3 0-64-28.7-64-64l0 0L0 64zM64 416c-17.7 0-32 14.3-32 32s14.3 32 32 32H384V416H64zM32 392.6c9.4-5.4 20.3-8.6 32-8.6H400c8.8 0 16-7.2 16-16V48c0-8.8-7.2-16-16-16H64C46.3 32 32 46.3 32 64l0 328.6zM176.5 224h-31c4.8 26.1 21.1 48.2 43.5 60.8c-6.6-16.9-11-37.8-12.5-60.8zm0-32c1.4-22.9 5.9-43.8 12.5-60.8c-22.4 12.6-38.7 34.7-43.5 60.8h31zM112 208a120 120 0 1 1 240 0 120 120 0 1 1 -240 0zm206.5 16h-31c-1.4 22.9-5.9 43.8-12.5 60.8c22.4-12.6 38.7-34.7 43.5-60.8zM275 131.2c6.6 16.9 11 37.8 12.5 60.8h31c-4.8-26.1-21.1-48.2-43.5-60.8zM255.4 224H208.6c1.6 22.6 6.5 41.8 12.8 55.3c4.7 10.1 8.6 14.2 10.6 15.8c2-1.6 5.9-5.7 10.6-15.8c6.3-13.5 11.2-32.7 12.8-55.3zm-46.9-32h46.9c-1.6-22.6-6.5-41.8-12.8-55.3c-4.7-10.1-8.6-14.2-10.6-15.8c-2 1.6-5.9 5.7-10.6 15.8c-6.3 13.5-11.2 32.7-12.8 55.3z\"]\n};\nvar faAtlas = faBookAtlas;\nvar faVirus = {\n prefix: 'fal',\n iconName: 'virus',\n icon: [512, 512, [], \"e074\", \"M75 75c-12.5 12.5-12.5 32.8 0 45.3l8.2 8.2C118.4 163.7 93.4 224 43.5 224H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H43.5c49.9 0 74.9 60.3 39.6 95.6L75 391.8c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l8.2-8.2c35.3-35.3 95.6-10.3 95.6 39.6V480c0 17.7 14.3 32 32 32s32-14.3 32-32V468.5c0-49.9 60.3-74.9 95.6-39.6l8.2 8.2c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-8.2-8.2c-35.3-35.3-10.3-95.6 39.6-95.6H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H468.5c-49.9 0-74.9-60.3-39.6-95.6l8.2-8.2c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-8.2 8.2C348.3 118.4 288 93.4 288 43.5V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V43.5c0 49.9-60.3 74.9-95.6 39.6L120.2 75C107.7 62.5 87.5 62.5 75 75zm331.2 30.8C350.8 161.2 390.1 256 468.5 256c-78.4 0-117.7 94.8-62.2 150.2l0 0C350.8 350.8 256 390 256 468.4c0-78.4-94.8-117.6-150.2-62.2C161.2 350.8 121.9 256 43.5 256c78.4 0 117.7-94.8 62.2-150.2l0 0C161.2 161.2 256 121.9 256 43.5c0 78.4 94.8 117.7 150.2 62.2zM224 208a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm0 64a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm80 56a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faGridRound2 = {\n prefix: 'fal',\n iconName: 'grid-round-2',\n icon: [512, 512, [], \"e5db\", \"M128 192a64 64 0 1 0 0-128 64 64 0 1 0 0 128zm96-64A96 96 0 1 1 32 128a96 96 0 1 1 192 0zM128 448a64 64 0 1 0 0-128 64 64 0 1 0 0 128zm96-64A96 96 0 1 1 32 384a96 96 0 1 1 192 0zm96-256a64 64 0 1 0 128 0 64 64 0 1 0 -128 0zm64 96a96 96 0 1 1 0-192 96 96 0 1 1 0 192zm0 224a64 64 0 1 0 0-128 64 64 0 1 0 0 128zm96-64a96 96 0 1 1 -192 0 96 96 0 1 1 192 0z\"]\n};\nvar faCommentMiddleTop = {\n prefix: 'fal',\n iconName: 'comment-middle-top',\n icon: [512, 512, [], \"e14a\", \"M216.9 117.7L256 39.6l39.1 78.1c4.3 8.6 12.3 14.8 21.7 16.9C415.4 156.5 480 227.6 480 304c0 91.3-93.8 176-224 176S32 395.3 32 304c0-76.4 64.6-147.5 163.3-169.4c9.4-2.1 17.4-8.3 21.7-16.9zm44.5-89l0 0L256 25.9l5.5 2.7s0 0 0 0zm62.2 74.7l-44.5-89C274.8 5.5 265.8 0 256 0s-18.8 5.5-23.2 14.3l-44.5 89C79.8 127.5 0 208.2 0 304C0 418.9 114.6 512 256 512s256-93.1 256-208c0-95.8-79.8-176.5-188.3-200.7z\"]\n};\nvar faWave = {\n prefix: 'fal',\n iconName: 'wave',\n icon: [576, 512, [], \"e65b\", \"M304 80c-88.4 0-160 71.6-160 160c0 61.9-50.1 112-112 112c-8.8 0-16-7.2-16-16s7.2-16 16-16c44.2 0 80-35.8 80-80c0-106 86-192 192-192c64.9 0 122.4 32.3 157.1 81.6c4.2 5.9 3.8 14-.8 19.5s-12.5 7.3-19.1 4.1c-12.4-5.9-26.4-9.2-41.1-9.2c-53 0-96 43-96 96c0 44.2 35.8 80 80 80v0c20.9 0 41.6-10 58.2-21.2c9.8-6.7 18-14 25.9-21.9c6.6-6.5 17.2-6.5 23.7 0c7.9 7.9 16.2 15.2 26 21.9c12.8 8.7 28.1 16.6 44.1 19.8c7.7 1.5 14.1 7.8 14.1 15.7c0 9.8-8 17.9-17.7 16.2c-23.1-4-43.6-15-58.5-25.2c-7.9-5.4-14.7-10.8-19.8-15.3c-5.1 4.5-11.8 9.9-19.8 15.3C441.5 337.9 414.3 352 384 352v0c-61.9 0-112-50.1-112-112c0-70.7 57.3-128 128-128l0 0c-26.8-20.1-60-32-96-32zM133.8 426.8C150.3 438 171.1 448 192 448s41.6-9.9 58.2-21.2c9.8-6.7 18-14 25.9-21.9c6.6-6.5 17.2-6.5 23.7 0c7.9 7.9 16.2 15.2 26 21.9C342.3 438 363.1 448 384 448s41.6-9.9 58.2-21.2c9.8-6.7 18-14 25.9-21.9c6.6-6.5 17.2-6.6 23.7 0c7.9 7.9 16.2 15.2 26 21.9c12.8 8.7 28.1 16.6 44.1 19.8c7.7 1.5 14.1 7.8 14.1 15.7c0 9.8-8 17.9-17.7 16.2c-23.1-4-43.6-15-58.5-25.2c-7.9-5.4-14.7-10.8-19.8-15.3c-5.1 4.5-11.8 9.9-19.8 15.3C441.5 465.9 414.3 480 384 480s-57.6-14.1-76.2-26.8c-7.9-5.4-14.7-10.8-19.8-15.3c-5.1 4.5-11.8 9.9-19.8 15.3C249.5 465.9 222.3 480 192 480s-57.6-14.1-76.2-26.8c-7.9-5.4-14.6-10.8-19.8-15.3c-5.1 4.5-11.8 9.9-19.8 15.3c-14.9 10.2-35.4 21.2-58.5 25.2C8 480.1 0 472 0 462.2c0-7.9 6.4-14.1 14.1-15.7c15.9-3.1 31.3-11.1 44-19.8c9.8-6.7 18-14 25.9-21.9c6.6-6.5 17.2-6.6 23.8 0c7.9 7.9 16.2 15.2 25.9 21.9z\"]\n};\nvar faEnvelopeCircleCheck = {\n prefix: 'fal',\n iconName: 'envelope-circle-check',\n icon: [640, 512, [], \"e4e8\", \"M64 96H448c17.7 0 32 14.3 32 32v32.7c5.3-.5 10.6-.7 16-.7s10.7 .2 16 .7V128c0-35.3-28.7-64-64-64H64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H360.2c-8.1-9.8-15.2-20.6-21-32H64c-17.7 0-32-14.3-32-32V207.6L208.7 337.1c28.2 20.6 66.5 20.6 94.6 0l17.1-12.5c1-16.2 4.3-31.8 9.4-46.6l-45.4 33.3c-16.9 12.4-39.9 12.4-56.8 0L32 167.9V128c0-17.7 14.3-32 32-32zM496 224a112 112 0 1 1 0 224 112 112 0 1 1 0-224zm0 256a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm67.3-187.3c-6.2-6.2-16.4-6.2-22.6 0L480 353.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nvar faLayerGroup = {\n prefix: 'fal',\n iconName: 'layer-group',\n icon: [576, 512, [], \"f5fd\", \"M266.2 4.7C273 1.6 280.5 0 288 0s15 1.6 21.8 4.7l217.4 97.5c10.2 4.6 16.8 14.7 16.8 25.9s-6.6 21.3-16.8 25.9L309.8 251.3c-6.9 3.1-14.3 4.7-21.8 4.7s-15-1.6-21.8-4.7L48.8 153.9C38.6 149.3 32 139.2 32 128s6.6-21.3 16.8-25.9L266.2 4.7zM288 32c-3 0-6 .6-8.8 1.9L69.3 128l210 94.1c2.8 1.2 5.7 1.9 8.8 1.9s6-.6 8.8-1.9l210-94.1-210-94.1C294 32.6 291 32 288 32zM48.8 358.1l45.9-20.6 39.1 17.5L69.3 384l210 94.1c2.8 1.2 5.7 1.9 8.8 1.9s6-.6 8.8-1.9l210-94.1-64.5-28.9 39.1-17.5 45.9 20.6c10.2 4.6 16.8 14.7 16.8 25.9s-6.6 21.3-16.8 25.9L309.8 507.3c-6.9 3.1-14.3 4.7-21.8 4.7s-15-1.6-21.8-4.7L48.8 409.9C38.6 405.3 32 395.2 32 384s6.6-21.3 16.8-25.9zM94.7 209.5l39.1 17.5L69.3 256l210 94.1c2.8 1.2 5.7 1.9 8.8 1.9s6-.6 8.8-1.9l210-94.1-64.5-28.9 39.1-17.5 45.9 20.6c10.2 4.6 16.8 14.7 16.8 25.9s-6.6 21.3-16.8 25.9L309.8 379.3c-6.9 3.1-14.3 4.7-21.8 4.7s-15-1.6-21.8-4.7L48.8 281.9C38.6 277.3 32 267.2 32 256s6.6-21.3 16.8-25.9l45.9-20.6z\"]\n};\nvar faRestroomSimple = {\n prefix: 'fal',\n iconName: 'restroom-simple',\n icon: [640, 512, [], \"e23a\", \"M96 64a32 32 0 1 1 64 0A32 32 0 1 1 96 64zm96 0A64 64 0 1 0 64 64a64 64 0 1 0 128 0zM57.8 236c2.1-24.9 22.9-44 47.8-44h44.8c25 0 45.8 19.1 47.8 44l4.1 49.3c1.6 18.7-13.2 34.7-31.9 34.7H85.6c-18.7 0-33.4-16-31.9-34.7L57.8 236zm-31.9-2.7l-4.1 49.3c-2.5 29.8 15.7 56.1 42.2 65.6V496c0 8.8 7.2 16 16 16s16-7.2 16-16V352h64V496c0 8.8 7.2 16 16 16s16-7.2 16-16V348.3c26.5-9.5 44.7-35.8 42.2-65.6l-4.1-49.3C226.7 191.9 192 160 150.4 160H105.6c-41.6 0-76.3 31.9-79.7 73.4zM320 0c-8.8 0-16 7.2-16 16V496c0 8.8 7.2 16 16 16s16-7.2 16-16V16c0-8.8-7.2-16-16-16zM512 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 96A64 64 0 1 0 512 0a64 64 0 1 0 0 128zm-15.7 64h31.4c14.3 0 26.8 9.5 30.8 23.2L597.6 352H426.4l39.1-136.8c3.9-13.7 16.5-23.2 30.8-23.2zm0-32c-28.6 0-53.7 18.9-61.5 46.4L395.7 343.2c-5.8 20.4 9.5 40.8 30.8 40.8H448V496c0 8.8 7.2 16 16 16s16-7.2 16-16V384h64V496c0 8.8 7.2 16 16 16s16-7.2 16-16V384h21.6c21.3 0 36.6-20.3 30.8-40.8L589.3 206.4c-7.8-27.5-33-46.4-61.5-46.4H496.3z\"]\n};\nvar faArrowsToDot = {\n prefix: 'fal',\n iconName: 'arrows-to-dot',\n icon: [512, 512, [], \"e4be\", \"M272 16c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 121.4L187.3 84.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l80 80c6.2 6.2 16.4 6.2 22.6 0l80-80c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L272 137.4 272 16zm16 240a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm59.3 171.3c6.2-6.2 6.2-16.4 0-22.6l-80-80c-6.2-6.2-16.4-6.2-22.6 0l-80 80c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L240 374.6V496c0 8.8 7.2 16 16 16s16-7.2 16-16V374.6l52.7 52.7c6.2 6.2 16.4 6.2 22.6 0zM84.7 164.7c-6.2 6.2-6.2 16.4 0 22.6L137.4 240 16 240c-8.8 0-16 7.2-16 16s7.2 16 16 16H137.4L84.7 324.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l80-80c6.2-6.2 6.2-16.4 0-22.6l-80-80c-6.2-6.2-16.4-6.2-22.6 0zm342.6 0c-6.2-6.2-16.4-6.2-22.6 0l-80 80c-6.2 6.2-6.2 16.4 0 22.6l80 80c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L374.6 272H496c8.8 0 16-7.2 16-16s-7.2-16-16-16l-121.4 0 52.7-52.7c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nvar faBorderOuter = {\n prefix: 'fal',\n iconName: 'border-outer',\n icon: [448, 512, [], \"f851\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm224 88a24 24 0 1 1 0-48 24 24 0 1 1 0 48zm-72 72a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zm72 24a24 24 0 1 1 0-48 24 24 0 1 1 0 48zm120-24a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zM224 376a24 24 0 1 1 0-48 24 24 0 1 1 0 48z\"]\n};\nvar faHashtagLock = {\n prefix: 'fal',\n iconName: 'hashtag-lock',\n icon: [576, 512, [], \"e415\", \"M195.6 32.4c8.6 2 14 10.6 12 19.2L186.3 144H313.4l23-99.6c2-8.6 10.6-14 19.2-12s14 10.6 12 19.2L346.3 144H432c8.8 0 16 7.2 16 16c0 .4 0 .8 0 1.1c-15.1 2.2-29.2 7.3-41.7 14.9H338.9L271.6 467.6c-2 8.6-10.6 14-19.2 12s-14-10.6-12-19.2L261.7 368H134.6l-23 99.6c-2 8.6-10.6 14-19.2 12s-14-10.6-12-19.2L101.7 368H16c-8.8 0-16-7.2-16-16s7.2-16 16-16h93.1L146 176H48c-8.8 0-16-7.2-16-16s7.2-16 16-16H153.4l23-99.6c2-8.6 10.6-14 19.2-12zM178.9 176L142 336H269.1L306 176H178.9zM464 224c-26.5 0-48 21.5-48 48v48h96V272c0-26.5-21.5-48-48-48zm-80 48c0-44.2 35.8-80 80-80s80 35.8 80 80v48c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H384c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32V272zm0 80V480H544V352H384z\"]\n};\nvar faClockTwoThirty = {\n prefix: 'fal',\n iconName: 'clock-two-thirty',\n icon: [512, 512, [], \"e35b\", \"M32 256a224 224 0 1 0 448 0A224 224 0 1 0 32 256zm480 0A256 256 0 1 1 0 256a256 256 0 1 1 512 0zM240 400V256c0-5.3 2.7-10.3 7.1-13.3l96-64c7.4-4.9 17.3-2.9 22.2 4.4s2.9 17.3-4.4 22.2L272 264.6V400c0 8.8-7.2 16-16 16s-16-7.2-16-16z\"]\n};\nvar faArchway = {\n prefix: 'fal',\n iconName: 'archway',\n icon: [512, 512, [], \"f557\", \"M0 48c0-8.8 7.2-16 16-16H48 464h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H480V448h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H464 424 368c-8.8 0-16-7.2-16-16V352c0-53-43-96-96-96s-96 43-96 96V464c0 8.8-7.2 16-16 16H88 48 16c-8.8 0-16-7.2-16-16s7.2-16 16-16H32V64H16C7.2 64 0 56.8 0 48zM64 64v64H448V64H64zm0 96V448H88h40V352c0-70.7 57.3-128 128-128s128 57.3 128 128v96h40 24V160H64z\"]\n};\nvar faHeartCircleCheck = {\n prefix: 'fal',\n iconName: 'heart-circle-check',\n icon: [576, 512, [], \"e4fd\", \"M244 130.6l-12-13.5-4.2-4.7c-26-29.2-65.3-42.8-103.8-35.8c-53.3 9.7-92 56.1-92 110.3v3.5c0 32.3 13.4 63.1 37.1 85.1L253 446.8c.8 .7 1.9 1.2 3 1.2s2.2-.4 3-1.2l10.9-10.2c4.3 10.2 9.6 20 15.7 29.1l-4.9 4.5c-.8 .8-1.7 1.5-2.6 2.2c-6.3 4.9-14.1 7.5-22.1 7.5c-9.2 0-18-3.5-24.8-9.7L47.2 299c-3.8-3.5-7.3-7.2-10.7-11C13.1 261 0 226.4 0 190.4v-3.5C0 117.3 49.8 57.6 118.3 45.1c40.9-7.4 82.6 3.2 114.7 28.4c6.7 5.3 13 11.1 18.7 17.6l4.2 4.7 4.2-4.7c4.2-4.7 8.6-9.1 13.3-13.1c1.8-1.5 3.6-3 5.4-4.5C311 48.4 352.7 37.7 393.7 45.1C462.2 57.6 512 117.3 512 186.9v3.5c0 6.8-.5 13.5-1.4 20.1c-9.8-4.9-20.2-8.9-30.9-12c.2-2.7 .3-5.4 .3-8.1v-3.5c0-54.2-38.7-100.6-92-110.3c-38.5-7-77.8 6.6-103.8 35.8l-4.2 4.7-12 13.5c-3 3.4-7.4 5.4-12 5.4s-8.9-2-12-5.4zM432 480a112 112 0 1 0 0-224 112 112 0 1 0 0 224zm0-256a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm67.3 100.7c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L416 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faHouseChimneyCrack = {\n prefix: 'fal',\n iconName: 'house-chimney-crack',\n icon: [576, 512, [\"house-damage\"], \"f6f1\", \"M277.4 4c6-5.3 15.1-5.3 21.2 0L384 79.4V56c0-13.3 10.7-24 24-24h80c13.3 0 24 10.7 24 24V192.3L570.6 244c6.6 5.8 7.3 16 1.4 22.6s-16 7.3-22.6 1.4L512 235V432c0 44.2-35.8 80-80 80H144c-44.2 0-80-35.8-80-80V235L26.6 268C20 273.8 9.8 273.2 4 266.6S-1.2 249.8 5.4 244L277.4 4zM480 164.1V64H416v43.6l64 56.5zM96 206.7V432c0 26.5 21.5 48 48 48H274.1l-47.4-71.1c-4.9-7.4-2.9-17.3 4.4-22.2l79.8-53.2-82.2-82.2c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l96 96c3.4 3.4 5.1 8.1 4.6 12.9s-3.1 9.1-7 11.7l-82.7 55.1L312.6 480H432c26.5 0 48-21.5 48-48V206.7L288 37.3 96 206.7z\"]\n};\nvar faHouseDamage = faHouseChimneyCrack;\nvar faFileZipper = {\n prefix: 'fal',\n iconName: 'file-zipper',\n icon: [384, 512, [\"file-archive\"], \"f1c6\", \"M352 448V192H240c-26.5 0-48-21.5-48-48V32H64C46.3 32 32 46.3 32 64V448c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32zm-.5-288c-.7-2.8-2.1-5.4-4.2-7.4L231.4 36.7c-2.1-2.1-4.6-3.5-7.4-4.2V144c0 8.8 7.2 16 16 16H351.5zM0 64C0 28.7 28.7 0 64 0H220.1c12.7 0 24.9 5.1 33.9 14.1L369.9 129.9c9 9 14.1 21.2 14.1 33.9V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM64 80c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16zm0 64c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16zm0 64c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16zm32 48h32c7.1 0 13.4 4.7 15.4 11.6L158 318.9c1.3 4.6 2 9.3 2 14V336c0 26.5-21.5 48-48 48s-48-21.5-48-48v-3.1c0-4.7 .7-9.5 2-14l14.7-51.3c2-6.9 8.2-11.6 15.4-11.6zm.7 71.7c-.5 1.7-.7 3.5-.7 5.2V336c0 8.8 7.2 16 16 16s16-7.2 16-16v-3.1c0-1.8-.2-3.5-.7-5.2L115.9 288h-7.9L96.7 327.7z\"]\n};\nvar faFileArchive = faFileZipper;\nvar faTicketPerforated = {\n prefix: 'fal',\n iconName: 'ticket-perforated',\n icon: [640, 512, [], \"e63e\", \"M32 128c0-17.7 14.3-32 32-32H576c17.7 0 32 14.3 32 32v49.6c-36.5 7.4-64 39.7-64 78.4s27.5 71 64 78.4V384c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V128zM64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V317.6c0-8-8-13.6-16-13.6c-26.5 0-48-21.5-48-48s21.5-48 48-48c8 0 16-5.6 16-13.6V128c0-35.3-28.7-64-64-64H64zm416 96a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm0 64a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-16 80a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm16 48a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faHeartHalf = {\n prefix: 'fal',\n iconName: 'heart-half',\n icon: [512, 512, [], \"e1ab\", \"M256 451.5v-.3V96L244 84c-32.6-32.6-79-47.5-124.6-39.9C50.5 55.6 0 115.2 0 185.1v5.8c0 41.5 17.2 81.2 47.6 109.5L224 465.1l.3 .2 3.5 3.2 9 8.4c2.1 2 4.9 3.1 7.8 3.1c6.3 0 11.5-5.1 11.5-11.5V456.2v-4.7zm-32-30.2L69.4 277C45.6 254.7 32 223.6 32 190.9v-5.8c0-54.2 39.2-100.5 92.7-109.4c35.3-5.9 71.4 5.6 96.7 31l2.6 2.6v312z\"]\n};\nvar faCommentCheck = {\n prefix: 'fal',\n iconName: 'comment-check',\n icon: [512, 512, [], \"f4ac\", \"M32 240c0-91.4 93.8-176 224-176s224 84.6 224 176s-93.8 176-224 176c-32 0-63-5.9-93.5-16.2c-9.9-3.3-20.7-1.8-29.2 4.2c-15.4 10.7-31.4 20-48.4 27.4L91.2 446l-6.4-14.7c-10.5 4.6-21.5 8.6-32.7 11.5c.5-.9 1.1-1.8 1.6-2.6C68 416.5 76.3 391 79.4 363.9c1-9.2-2.1-17.7-7.4-23.9c-24.5-29.4-40-62.9-40-100zM256 32C114.5 32 0 125.2 0 240c0 46.6 19.6 87.1 47.4 120.5c0 .1 .1 .1 .1 .2c-2.6 22.6-9.5 43.5-21.3 63.1c-6.5 10.8-13.5 20.8-21.7 29c-4.5 4.6-5.9 11.5-3.4 17.4s8.3 9.8 14.8 9.8c28.7 0 57.6-8.9 81.6-19.3c19.2-8.4 37.1-18.7 53.9-30.5c.2-.1 .5-.2 .7-.1C185.5 441.3 220 448 256 448c141.5 0 256-93.2 256-208S397.5 32 256 32zM363.3 187.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L224 281.4l-52.7-52.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l64 64c6.2 6.2 16.4 6.2 22.6 0l128-128z\"]\n};\nvar faSquare = {\n prefix: 'fal',\n iconName: 'square',\n icon: [448, 512, [9632, 9723, 9724, 61590], \"f0c8\", \"M384 64c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64z\"]\n};\nvar faMemo = {\n prefix: 'fal',\n iconName: 'memo',\n icon: [384, 512, [], \"e1d8\", \"M64 32C46.3 32 32 46.3 32 64V448c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H64zM0 64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zm80 64H304c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 96H304c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 96H208c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faMartiniGlassEmpty = {\n prefix: 'fal',\n iconName: 'martini-glass-empty',\n icon: [512, 512, [\"glass-martini\"], \"f000\", \"M33 32c-.5 0-1 .4-1 1c0 .3 .1 .5 .3 .7L256 257.4 479.7 33.7c.2-.2 .3-.4 .3-.7c0-.5-.4-1-1-1H33zM240 286.6L9.7 56.3C3.5 50.1 0 41.7 0 33C0 14.8 14.8 0 33 0H479c18.2 0 33 14.8 33 33c0 8.7-3.5 17.1-9.7 23.3L272 286.6V480h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H256 144c-8.8 0-16-7.2-16-16s7.2-16 16-16h96V286.6z\"]\n};\nvar faGlassMartini = faMartiniGlassEmpty;\nvar faCouch = {\n prefix: 'fal',\n iconName: 'couch',\n icon: [640, 512, [], \"f4b8\", \"M448 64c53 0 96 43 96 96v37.5c10-3.5 20.8-5.5 32-5.5V160c0-70.7-57.3-128-128-128H192C121.3 32 64 89.3 64 160v32c11.2 0 22 1.9 32 5.5V160c0-53 43-96 96-96H448zM96 320v96 16c0 8.8-7.2 16-16 16H48c-8.8 0-16-7.2-16-16V288c0-17.7 14.3-32 32-32s32 14.3 32 32v32zM80 480c20.9 0 38.7-13.4 45.3-32H514.7c6.6 18.6 24.4 32 45.3 32h32c26.5 0 48-21.5 48-48V288c0-35.3-28.7-64-64-64s-64 28.7-64 64H128c0-35.3-28.7-64-64-64s-64 28.7-64 64V432c0 26.5 21.5 48 48 48H80zm48-64V320H512v96H128zm416 16V416 320 288c0-17.7 14.3-32 32-32s32 14.3 32 32V432c0 8.8-7.2 16-16 16H560c-8.8 0-16-7.2-16-16z\"]\n};\nvar faCediSign = {\n prefix: 'fal',\n iconName: 'cedi-sign',\n icon: [384, 512, [], \"e0df\", \"M208 0c8.8 0 16 7.2 16 16V64c1.3 0 2.7 0 4 0c44 0 84.7 14.2 117.5 38.3c7.1 5.2 8.7 15.2 3.4 22.4s-15.2 8.7-22.4 3.4C299.1 108 265 96 228 96c-1.3 0-2.7 0-4 0V416c1.3 0 2.7 0 4 0c37 0 71.1-12 98.5-32.1c7.1-5.2 17.1-3.7 22.4 3.4s3.7 17.1-3.4 22.4C312.7 433.8 272 448 228 448c-1.3 0-2.7 0-4 0v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V444.8C101.2 428.2 32 350.3 32 256s69.2-172.2 160-188.8V16c0-8.8 7.2-16 16-16zM64 256c0 76 54.5 140.1 128 156.1V99.9C118.5 115.9 64 180 64 256z\"]\n};\nvar faItalic = {\n prefix: 'fal',\n iconName: 'italic',\n icon: [384, 512, [], \"f033\", \"M128 48c0-8.8 7.2-16 16-16H368c8.8 0 16 7.2 16 16s-7.2 16-16 16H283L135.3 448H240c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16-7.2-16-16s7.2-16 16-16h85L248.7 64H144c-8.8 0-16-7.2-16-16z\"]\n};\nvar faGlassCitrus = {\n prefix: 'fal',\n iconName: 'glass-citrus',\n icon: [512, 512, [], \"f869\", \"M373.4 255.9C432.7 253.1 480 204 480 144c0-61.9-50.1-112-112-112c-44.7 0-83.2 26.2-101.2 64H232.2C252 40.1 305.3 0 368 0c79.5 0 144 64.5 144 144c0 79-63.6 143.1-142.3 144l3.7-32.1zM40.9 160c-4.8 0-8.5 4.2-7.9 8.9L43 256H309l10-87.1c.5-4.7-3.2-8.9-7.9-8.9H40.9zM65.4 451.7C67.3 467.8 81 480 97.2 480H254.7c16.3 0 29.9-12.2 31.8-28.3L305.3 288H46.6L65.4 451.7zM1.2 172.6C-1.6 148.8 17 128 40.9 128H311c23.9 0 42.5 20.8 39.7 44.6L318.3 455.3c-3.7 32.3-31.1 56.7-63.6 56.7H97.2c-32.5 0-59.9-24.4-63.6-56.7L1.2 172.6z\"]\n};\nvar faCalendarLinesPen = {\n prefix: 'fal',\n iconName: 'calendar-lines-pen',\n icon: [576, 512, [], \"e472\", \"M128 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V64H64C28.7 64 0 92.7 0 128v32 32V448c0 35.3 28.7 64 64 64H258.8c-3.1-8.8-3.7-18.4-1.4-27.8l1.1-4.2H64c-17.7 0-32-14.3-32-32V192H384h32 32V160 128c0-35.3-28.7-64-64-64H352V16c0-8.8-7.2-16-16-16s-16 7.2-16 16V64H128V16zM64 96H384c17.7 0 32 14.3 32 32v32H32V128c0-17.7 14.3-32 32-32zm48 256c-8.8 0-16 7.2-16 16s7.2 16 16 16H240c8.8 0 16-7.2 16-16s-7.2-16-16-16H112zM96 272c0 8.8 7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H112c-8.8 0-16 7.2-16 16zm422.8-8l17.4 17.4c6.2 6.2 6.2 16.4 0 22.6l-24.8 24.8-40-40L496.2 264c6.2-6.2 16.4-6.2 22.6 0zM342.5 417.7L448.7 311.5l40 40L382.4 457.7c-2.1 2.1-4.6 3.5-7.4 4.2l-49 12.3 12.3-49c.7-2.8 2.2-5.4 4.2-7.4zM473.5 241.4L319.8 395.1c-6.2 6.2-10.5 13.9-12.6 22.3l-18.7 74.9c-1.4 5.5 .2 11.2 4.2 15.2s9.7 5.6 15.2 4.2L382.8 493c8.4-2.1 16.1-6.5 22.3-12.6L558.8 326.6c18.7-18.7 18.7-49.1 0-67.9l-17.4-17.4c-18.7-18.7-49.1-18.7-67.9 0z\"]\n};\nvar faTableCellsColumnLock = {\n prefix: 'fal',\n iconName: 'table-cells-column-lock',\n icon: [640, 512, [], \"e678\", \"M352 64l0 96 128 0 0-64c0-17.7-14.3-32-32-32l-96 0zm-32 0L192 64l0 96 128 0 0-96zM160 64L64 64C46.3 64 32 78.3 32 96l0 320c0 17.7 14.3 32 32 32l96 0 0-384zm32 384l128 0 0-96-128 0 0 96zm160 0l32 0 0 32L64 480c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l384 0c35.3 0 64 28.7 64 64l0 65.1c-24.1 3.5-45.8 14.6-62.4 30.9L352 192l0 128 40.6 0c-5.4 9.4-8.6 20.3-8.6 32l-32 0 0 96zM320 320l0-128-128 0 0 128 128 0zm208-96c-26.5 0-48 21.5-48 48l0 48 96 0 0-48c0-26.5-21.5-48-48-48zm-80 48c0-44.2 35.8-80 80-80s80 35.8 80 80l0 48c17.7 0 32 14.3 32 32l0 128c0 17.7-14.3 32-32 32l-160 0c-17.7 0-32-14.3-32-32l0-128c0-17.7 14.3-32 32-32l0-48zm160 80l-160 0 0 128 160 0 0-128z\"]\n};\nvar faChurch = {\n prefix: 'fal',\n iconName: 'church',\n icon: [640, 512, [9962], \"f51d\", \"M336 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V48H264c-8.8 0-16 7.2-16 16s7.2 16 16 16h40v39.4l-115.5 77c-17.8 11.9-28.5 31.9-28.5 53.3V480H64c-17.7 0-32-14.3-32-32V378.1c0-10.9 5.5-21 14.6-26.9L128 298.6V260.5L29.2 324.4C11 336.2 0 356.4 0 378.1V448c0 35.3 28.7 64 64 64H184v0h72 32 64 32 72v0H576c35.3 0 64-28.7 64-64V378.1c0-21.7-11-41.9-29.2-53.7L512 260.5v38.1l81.4 52.7c9.1 5.9 14.6 16 14.6 26.9V448c0 17.7-14.3 32-32 32H480V249.7c0-21.4-10.7-41.4-28.5-53.3L336 119.4V80h40c8.8 0 16-7.2 16-16s-7.2-16-16-16H336V16zM448 480H384V384c0-35.3-28.7-64-64-64s-64 28.7-64 64v96H192V249.7c0-10.7 5.3-20.7 14.2-26.6L320 147.2l113.8 75.8C442.7 229 448 239 448 249.7V480zm-96-96v96H288V384c0-17.7 14.3-32 32-32s32 14.3 32 32z\"]\n};\nvar faPersonSnowmobiling = {\n prefix: 'fal',\n iconName: 'person-snowmobiling',\n icon: [640, 512, [\"snowmobile\"], \"f7d1\", \"M256 56a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-80 0a56 56 0 1 1 112 0A56 56 0 1 1 176 56zM335.8 74.3c7.6-4.5 17.4-2.1 21.9 5.5l43.8 73 156.8 78.4c10.8 5.4 17.7 16.5 17.7 28.6v59.1c0 10.7-5.3 20.7-14.2 26.6l-76.1 50.8 63.1 82c.4 .6 .8 1.2 1.2 1.8h19.5l43.3-43.3c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-48 48c-3 3-7.1 4.7-11.3 4.7H432c-8.8 0-16-7.2-16-16s7.2-16 16-16h77.7l-61.5-80H313.3c4.3 9.8 6.7 20.6 6.7 32c0 44.2-35.8 80-80 80H80c-44.2 0-80-35.8-80-80c0-26.2 12.6-49.4 32-64l39.2-78.3C76.6 278.8 87.7 272 99.8 272H288l36-48H280c-5 0-9.8-2.4-12.8-6.4l-33.4-44.5c-6.2-8.2-15.9-13.1-26.2-13.1c-12.9 0-24.6 7.6-29.9 19.4l-19.1 43.1c-3.6 8.1-13 11.7-21.1 8.1s-11.7-13-8.1-21.1l19.1-43.1c10.4-23.4 33.6-38.4 59.1-38.4c20.4 0 39.5 9.6 51.8 25.9L288 192h60l22.1-29.4L330.3 96.2c-4.5-7.6-2.1-17.4 5.5-22zM470.3 368L544 318.9V259.8L393.6 184.6l-80 106.6c-6 8.1-15.5 12.8-25.6 12.8H99.8L75.7 352.1c1.4-.1 2.8-.1 4.3-.1H240c18 0 34.6 6 48 16H455.8h.3 14.2zM80 384c-26.5 0-48 21.5-48 48s21.5 48 48 48H240c26.5 0 48-21.5 48-48s-21.5-48-48-48H80z\"]\n};\nvar faSnowmobile = faPersonSnowmobiling;\nvar faFaceHushed = {\n prefix: 'fal',\n iconName: 'face-hushed',\n icon: [512, 512, [], \"e37b\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm176.4-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm136 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM179 160.9c-21.2 2.8-40.6 12.4-56.1 26.8c-6.5 6-16.6 5.7-22.6-.8s-5.7-16.6 .8-22.6c20.1-18.7 45.5-31.5 73.7-35.2c5.6-.7 11.4-1.1 17.2-1.1c8.8 0 16 7.2 16 16s-7.2 16-16 16c-4.4 0-8.8 .3-13 .9zm141-.9c-8.8 0-16-7.2-16-16s7.2-16 16-16c5.8 0 11.6 .4 17.2 1.1c28.2 3.7 53.7 16.4 73.7 35.2c6.5 6 6.8 16.2 .8 22.6s-16.2 6.8-22.6 .8c-15.5-14.5-34.8-24-56.1-26.8c-4.3-.6-8.6-.9-13-.9zM288 384a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-96 0a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z\"]\n};\nvar faCommentsDollar = {\n prefix: 'fal',\n iconName: 'comments-dollar',\n icon: [640, 512, [], \"f653\", \"M208 32C105.7 32 32 101.2 32 176c0 37.1 18 68.2 45.1 96.6c4.8 5 5.8 12.5 2.5 18.6c-10.9 20.2-22.7 40.8-37.6 59.9c31.3-3 63.2-13.2 91.5-26c6-2.7 11.9-5.6 18-8.7c3.2-1.6 6.8-2.1 10.2-1.4c15.6 3.1 30.9 5 46.3 5c102.3 0 176-69.2 176-144s-73.7-144-176-144zM0 176C0 78.9 93.1 0 208 0S416 78.9 416 176s-93.1 176-208 176c-16.1 0-31.7-1.8-47-4.6c-4.6 2.3-9.4 4.6-14.3 6.8C110.5 370.7 67 384 24 384c-9.6 0-18.2-5.7-22-14.5c-3.8-8.7-2-18.9 4.4-25.8l.1-.1 0 0C22 326.6 34.3 307.1 46 286C19.8 256.1 0 220.2 0 176zm441.8-47.8C552.2 132.5 640 209.6 640 304c0 44.2-19.8 80.1-46 110c11.7 21 24 40.6 39.5 57.5l0 0 .1 .1c6.5 7 8.2 17.1 4.4 25.8c-3.8 8.8-12.5 14.5-22 14.5c-43 0-86.5-13.3-122.7-29.7c-4.9-2.2-9.6-4.5-14.3-6.8c-15.3 2.8-30.9 4.6-47 4.6c-82.1 0-153-40.2-186.8-98.5c11.5-1.6 22.8-3.9 33.8-6.8C308.4 417.3 363.8 448 432 448c15.3 0 30.6-1.9 46.3-5c3.5-.7 7.1-.2 10.2 1.4c6.1 3.1 12 6 18 8.7c28.4 12.9 60.2 23.1 91.5 26c-14.9-19-26.8-39.7-37.6-59.9c-3.3-6.1-2.3-13.6 2.5-18.6C590 372.2 608 341.1 608 304c0-71-66.4-137-160.6-143.5c-.9-11.1-2.8-21.9-5.6-32.3zM224 83.6V97.4c7.2 1.1 14.1 2.7 20.5 4.4c8.5 2.2 13.7 11 11.4 19.5s-11 13.7-19.5 11.4c-10-2.6-19.7-4.5-28.6-4.7c-7.4-.1-15.1 1.6-20.5 4.7c-4.8 2.8-6.5 5.8-6.4 9.8c0 2.3 .6 4.4 5.7 7.4c6 3.6 14.5 6.2 25.9 9.6l.5 .2 0 0c10.1 3 22.9 6.8 33 13.1c11.2 7 21 18.2 21.2 35.5c.2 18-9.1 30.9-21.5 38.5c-6.7 4.1-14.2 6.7-21.7 8v13.7c0 8.8-7.2 16-16 16s-16-7.2-16-16V254.1c-9.7-1.9-18.8-5-26.7-7.7l0 0 0 0c-1.9-.7-3.8-1.3-5.5-1.9c-8.4-2.8-13-11.8-10.2-20.2s11.8-13 20.2-10.2c2.2 .7 4.4 1.5 6.5 2.2l0 0c12.2 4.1 21.9 7.4 32.3 7.7c8 .3 15.6-1.5 20.5-4.5c4.2-2.6 6.3-5.7 6.2-10.8c0-3.2-1.1-5.6-6.1-8.7c-5.9-3.7-14.5-6.4-25.7-9.8l-1.5-.4 0 0c-9.8-2.9-22-6.6-31.6-12.3c-11-6.6-21.2-17.4-21.3-34.7c-.1-18.1 10.2-30.5 22.3-37.6c6.5-3.8 13.7-6.2 20.8-7.6V83.6c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faTicketsSimple = {\n prefix: 'fal',\n iconName: 'tickets-simple',\n icon: [640, 512, [], \"e659\", \"M128 96c0-17.7 14.3-32 32-32H576c17.7 0 32 14.3 32 32v47.5c-23.7 11.8-40 36.2-40 64.5s16.3 52.8 40 64.5V320c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32V272.5c23.7-11.8 40-36.2 40-64.5s-16.3-52.8-40-64.5V96zm484.7 46.2a.4 .4 0 1 1 -.5-.6 .4 .4 0 1 1 .5 .6zm-.5 132.3s0 0-.1 0l.1 0zm-488.4 0a0 0 0 1 0 0-.1 0 0 0 1 0 0 .1zm0-132.9a0 0 0 1 0 0 .1 0 0 0 1 0 0-.1zM96 96v56c0 8.8 7.4 15.7 15.6 19.1c14.4 6.1 24.4 20.3 24.4 36.9s-10.1 30.8-24.4 36.9C103.4 248.3 96 255.2 96 264v56c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V264c0-8.8-7.4-15.7-15.6-19.1C610.1 238.8 600 224.6 600 208s10.1-30.8 24.4-36.9c8.1-3.4 15.6-10.3 15.6-19.1V96c0-35.3-28.7-64-64-64H160c-35.3 0-64 28.7-64 64zM32 112c0-8.8-7.2-16-16-16s-16 7.2-16 16V368c0 61.9 50.1 112 112 112H528c8.8 0 16-7.2 16-16s-7.2-16-16-16H112c-44.2 0-80-35.8-80-80V112z\"]\n};\nvar faPickaxe = {\n prefix: 'fal',\n iconName: 'pickaxe',\n icon: [512, 512, [], \"e5bf\", \"M474.7 321.8c16.1-78.2-7.8-162.5-65.3-219.8C352.2 45 268.3 21.2 190.5 37.2c61.8 30 118.3 73 164.8 119.5c46.9 46.9 89.3 103.4 119.4 165.1zM138.5 49.6c-13.4-5-13.7-24.5-.5-29.8C237.7-20.6 355.6 3.2 432 79.3C508.6 155.7 532.7 274 492.2 374c-5.4 13.3-24.9 13-29.8-.5C434.7 301.2 387 233.7 332.7 179.3C278.6 125.2 210.8 76.8 138.5 49.6zM10.1 448.5L271.9 167.3c8 6.6 16.1 13.7 24.1 21.1L33.5 470.3c-1 1.1-1.5 2.5-1.5 3.9c0 3.2 2.6 5.7 5.7 5.7c1.5 0 2.8-.6 3.9-1.5L323.6 216c7.4 8 14.5 16.1 21.1 24.1L63.5 501.9c-7 6.5-16.2 10.1-25.7 10.1C16.9 512 0 495.1 0 474.3c0-9.5 3.6-18.7 10.1-25.7zM443.3 20.7l48 48c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-48-48c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0z\"]\n};\nvar faLinkSimpleSlash = {\n prefix: 'fal',\n iconName: 'link-simple-slash',\n icon: [640, 512, [], \"e1ce\", \"M25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4zM608 256c0-88.4-71.6-160-160-160H368c-8.8 0-16 7.2-16 16s7.2 16 16 16h80c70.7 0 128 57.3 128 128c0 35.5-14.4 67.6-37.7 90.8l25.3 19.9C591.1 338 608 299 608 256zM456 272c8.8 0 16-7.2 16-16s-7.2-16-16-16H403l40.5 32H456zM196.4 240H184c-8.8 0-16 7.2-16 16s7.2 16 16 16h53l-40.5-32zm-94.7-74.8L76.5 145.3C48.9 174 32 213 32 256c0 88.4 71.6 160 160 160h80c8.8 0 16-7.2 16-16s-7.2-16-16-16H192c-70.7 0-128-57.3-128-128c0-35.5 14.4-67.6 37.7-90.8z\"]\n};\nvar faDemocrat = {\n prefix: 'fal',\n iconName: 'democrat',\n icon: [640, 512, [], \"f747\", \"M92.9 0C84.3 0 76 4.6 71.6 12.6c-2.4 4.3-6 11.3-9.2 18.7C59.6 37.9 56 47.5 56 56c0 16 6.9 29.6 14.8 40.1L19.5 155.5C6.9 170 0 188.6 0 207.8v5.4C0 254.5 33.5 288 74.7 288c17.5 0 34.4-6.1 47.8-17.3l13.7-11.4L160 330.6V336 464c0 26.5 21.5 48 48 48h48c26.5 0 48-21.5 48-48V416H432v48c0 26.5 21.5 48 48 48h48c26.5 0 48-21.5 48-48V336v-8V208c0-4.9-.4-9.7-1.3-14.4c2.9 2.9 5.5 5.8 8 8.7c9.2 10.9 15.9 21.8 20.2 30.1c2.2 4.1 3.7 7.5 4.7 9.8c.5 1.1 .9 2 1.1 2.6l.2 .6 0 .1 0 0 0 0 0 0 0 0c3 8.3 12.2 12.6 20.5 9.5s12.6-12.2 9.6-20.5L624 240c15-5.5 15-5.5 15-5.5l0 0 0 0 0-.1-.1-.3-.4-1c-.3-.9-.8-2-1.5-3.5c-1.3-2.9-3.2-7.1-5.7-12c-5.1-9.8-13-22.8-24.1-35.9c-22.2-26.2-58.3-53.6-111-53.7c0 0-.1 0-.1 0H277.5c-4.3 0-8.5-1.7-11.5-4.8L225.9 81.9c3.6-7.6 6.1-16.3 6.1-25.9c0-8.5-3.6-18.1-6.4-24.7c-3.1-7.4-6.8-14.4-9.2-18.7C212 4.6 203.7 0 195.1 0c-5.8 0-11.4 2-15.8 5.8L144 35.5 108.7 5.8C104.3 2 98.7 0 92.9 0zm403 160c0 0 0 0 .1 0c.1 0 .1 0 .2 0c26.4 .1 47.8 21.5 47.8 48V320H190.2l-31-93.1c-1.7-5-5.7-8.9-10.8-10.3s-10.6-.3-14.6 3.1l-31.7 26.4c-7.7 6.4-17.4 9.9-27.4 9.9C51.1 256 32 236.9 32 213.3v-5.4c0-11.5 4.1-22.7 11.7-31.4l60.4-69.9c5.5-6.3 5.1-15.9-.8-21.8C94.2 75.6 88 65.5 88 56l0 0s0-.1 0-.3c0-.2 .1-.5 .1-.9c.1-.8 .4-1.7 .7-2.9c.7-2.4 1.7-5.2 3-8.2c1.1-2.5 2.3-5.1 3.4-7.5l37.5 31.5c3.7 3.1 8.5 4.4 13.3 3.5c.6-.1 1.1-.2 1.7-.3c3-.4 5.7-1.7 8-3.6l37-31.1c1.2 2.4 2.3 4.9 3.4 7.5c1.3 3 2.3 5.8 3 8.2c.3 1.2 .6 2.1 .7 2.9c.1 .4 .1 .7 .1 .9c0 .2 0 .3 0 .3l0 0c0 6.1-2.5 12.5-7.2 19.1c-4.4 6.3-3.8 14.9 1.6 20.4l48.7 50c9 9.3 21.4 14.5 34.4 14.5H495.9zM192 464V352H544V464c0 8.8-7.2 16-16 16H480c-8.8 0-16-7.2-16-16V400c0-8.8-7.2-16-16-16H288c-8.8 0-16 7.2-16 16v64c0 8.8-7.2 16-16 16H208c-8.8 0-16-7.2-16-16zm80-256c0-8.8-7.2-16-16-16s-16 7.2-16 16v16H224c-8.8 0-16 7.2-16 16s7.2 16 16 16h16v16c0 8.8 7.2 16 16 16s16-7.2 16-16V256h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H272V208zm112 0c0-8.8-7.2-16-16-16s-16 7.2-16 16v16H336c-8.8 0-16 7.2-16 16s7.2 16 16 16h16v16c0 8.8 7.2 16 16 16s16-7.2 16-16V256h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H384V208zm96-16c-8.8 0-16 7.2-16 16v16H448c-8.8 0-16 7.2-16 16s7.2 16 16 16h16v16c0 8.8 7.2 16 16 16s16-7.2 16-16V256h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H496V208c0-8.8-7.2-16-16-16z\"]\n};\nvar faFaceConfused = {\n prefix: 'fal',\n iconName: 'face-confused',\n icon: [512, 512, [], \"e36d\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM171.1 395.6l-1.1 .9c-6.9 5.5-17 4.4-22.5-2.5s-4.4-17 2.5-22.5l1.1-.9C205 327.5 272 304 341 304h11c8.8 0 16 7.2 16 16s-7.2 16-16 16H341c-61.8 0-121.7 21-169.9 59.6zM152.4 208a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm184-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faPinball = {\n prefix: 'fal',\n iconName: 'pinball',\n icon: [448, 512, [], \"e229\", \"M352 64a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm0 160a96 96 0 1 0 0-192 96 96 0 1 0 0 192zM120 288a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM383.9 448L76.2 348.9l0 0c-8.1-2.6-15.2-6.7-21.3-11.8c-27.1-22.7-30.6-63.2-7.9-90.2s63-30.6 90.1-7.9l0 0L383 447.2l.5 .4 .4 .3 0 .1 0 0zm19.8-25.2l-246-208.3c-40.6-34.1-101.2-28.8-135.2 11.8S-6.3 327.5 34.3 361.6c9.2 7.7 19.9 13.8 32 17.7l307.8 99.1c14.9 4.8 30.7-1.8 37.9-15c7.4-12.8 4.2-30.8-8.4-40.6z\"]\n};\nvar faZ = {\n prefix: 'fal',\n iconName: 'z',\n icon: [384, 512, [122], \"5a\", \"M0 48c0-8.8 7.2-16 16-16H368c6.2 0 11.9 3.6 14.5 9.3s1.7 12.3-2.3 17.1L50.5 448H368c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-6.2 0-11.9-3.6-14.5-9.3s-1.7-12.3 2.3-17.1L333.5 64H16C7.2 64 0 56.8 0 48z\"]\n};\nvar faPersonSkiing = {\n prefix: 'fal',\n iconName: 'person-skiing',\n icon: [512, 512, [9975, \"skiing\"], \"f7c9\", \"M424 80a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-80a56 56 0 1 1 0 112A56 56 0 1 1 424 0zM1.7 280.8c4-7.9 13.6-11.1 21.5-7.1L236.4 380.9 306.4 297l-95-95c-8-8-12.5-17.9-13.7-28.1l59 28.1L329 274.4c11.7 11.7 12.6 30.4 2 43.1l-65.1 78.2 153.2 77c14 7 30.3 7.9 44.9 2.4l26.5-10c8.3-3.1 17.5 1.1 20.6 9.3s-1.1 17.5-9.3 20.6l-26.5 10c-23 8.7-48.6 7.3-70.6-3.7L8.8 302.3c-7.9-4-11.1-13.6-7.1-21.5zM118.9 65.6L137 74.2l8.7-17.3c4-7.9 13.6-11.1 21.5-7.2s11.1 13.6 7.2 21.5L165.9 88l67.5 32.2 66.8-35.2c27.6-14.5 61.6 .8 69 31.1l18.9 77.6 66.5 31.8 .2 .1c4.9 2.3 8 6.8 8.9 11.8c.5 3.1 .1 6.5-1.3 9.6c0 0 0 0 0 0c-3.8 8-13.4 11.3-21.3 7.5l-.2-.1L151.6 116.6l-9.3 18.6c-4 7.9-13.6 11.1-21.5 7.2s-11.1-13.6-7.2-21.5l9-18-17.6-8.4c-8-3.8-11.4-13.3-7.6-21.3s13.3-11.4 21.3-7.6zm150.6 71.7l81.4 38.8-12.8-52.4c-2.5-10.1-13.8-15.2-23-10.4l-45.6 24z\"]\n};\nvar faSkiing = faPersonSkiing;\nvar faDeer = {\n prefix: 'fal',\n iconName: 'deer',\n icon: [512, 512, [129420], \"f78e\", \"M256 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V40c0 30.9 25.1 56 56 56h8 8 23.2l-40 26.7c-7.4 4.9-9.3 14.8-4.4 22.2s14.8 9.3 22.2 4.4l13.8-9.2-10 35.9H120 104 99.2c-50.7 0-92.7 39.4-95.8 90L0 319c-.6 8.8 6.2 16.4 15 17s16.4-6.2 17-15l.6-9.9c.7 .8 1.4 1.5 2.2 2.3l3.9 3.9c6 6 9.4 14.1 9.4 22.6v4.3c0 3.4-.6 6.9-1.6 10.1l-8.5 25.4c-4.4 13.1-4.4 27.3 0 40.5l21.5 64.4C64.8 501 80.1 512 97.3 512h29.4c27.3 0 46.6-26.7 37.9-52.6l-11.6-34.8c-3.6-10.7 .5-22.4 9.8-28.6c15.2-10.1 24.4-26.8 25.3-44.6c21.3 10.9 45 16.6 69 16.6H272V472c0 22.1 17.9 40 40 40h32c22.1 0 40-17.9 40-40V311c0-3.1 .5-6.2 1.4-9.2L403.9 240h52.5c30.7 0 55.6-24.9 55.6-55.6c0-14.7-5.9-28.9-16.3-39.3L440.8 90.2C459.3 81.1 472 62 472 40V16c0-8.8-7.2-16-16-16s-16 7.2-16 16V40c0 13.3-10.7 24-24 24H385.4 346.6c3.5-7.3 5.4-15.4 5.4-24V16c0-8.8-7.2-16-16-16s-16 7.2-16 16V40c0 13.3-10.7 24-24 24h-8-8c-13.3 0-24-10.7-24-24V16zM385.4 96c10.2 0 20 4.1 27.2 11.3l60.4 60.4c4.4 4.4 6.9 10.4 6.9 16.7c0 13-10.6 23.6-23.6 23.6H392c-7.1 0-13.3 4.6-15.3 11.4l-22 73.3c-1.8 6-2.7 12.2-2.7 18.4V472c0 4.4-3.6 8-8 8H312c-4.4 0-8-3.6-8-8V352c0-8.8-7.2-16-16-16H257.2c-23.7 0-46.9-7-66.6-20.2l-13.7-9.2c-5.3-3.5-12.2-3.6-17.6-.1s-8.1 9.8-7.1 16.1l3.7 21.9c1.6 9.7-2.6 19.4-10.8 24.8c-21.4 14.2-30.5 41-22.4 65.3l11.6 34.8c1.7 5.2-2.1 10.5-7.6 10.5H97.3c-3.4 0-6.5-2.2-7.6-5.5L68.2 410.1c-2.2-6.6-2.2-13.7 0-20.2l8.5-25.4c2.2-6.5 3.3-13.4 3.3-20.2v-4.3c0-17-6.7-33.3-18.7-45.3l-3.9-3.9c-6-6-9.4-14.1-9.4-22.6V264c0-30.9 25.1-56 56-56h16H312.9c7.2 0 13.5-4.8 15.4-11.7l20-72.1C353 107.5 368.1 96 385.4 96zM416 144a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faInputPipe = {\n prefix: 'fal',\n iconName: 'input-pipe',\n icon: [640, 512, [], \"e1be\", \"M64 96c-17.7 0-32 14.3-32 32V384c0 17.7 14.3 32 32 32H576c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32H64zM0 128C0 92.7 28.7 64 64 64H576c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128zm128 48V336c0 8.8-7.2 16-16 16s-16-7.2-16-16V176c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faRoadLock = {\n prefix: 'fal',\n iconName: 'road-lock',\n icon: [640, 512, [], \"e567\", \"M217.6 32c-26.9 0-50.9 16.8-60.1 42L40.5 394c-15.3 41.8 15.7 86 60.1 86H384V448H336V400c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H100.6c-22.2 0-37.7-22.1-30.1-43L187.5 85c4.6-12.6 16.6-21 30.1-21H304v48c0 8.8 7.2 16 16 16s16-7.2 16-16V64h86.4c13.4 0 25.4 8.4 30.1 21l30.8 84.3c9.7-4.2 20.1-7.1 31-8.4L482.5 74c-9.2-25.2-33.2-42-60.1-42H217.6zM336 208c0-8.8-7.2-16-16-16s-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V208zm192 16c26.5 0 48 21.5 48 48v48H480V272c0-26.5 21.5-48 48-48zm-80 48v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80zm0 80H608V480H448V352z\"]\n};\nvar faA = {\n prefix: 'fal',\n iconName: 'a',\n icon: [384, 512, [97], \"41\", \"M206.7 41.8c-2.5-5.9-8.3-9.8-14.7-9.8s-12.2 3.8-14.7 9.8l-176 416c-3.4 8.1 .4 17.5 8.5 21s17.5-.4 21-8.5L67.2 384H316.8l36.5 86.2c3.4 8.1 12.8 11.9 21 8.5s11.9-12.8 8.5-21l-176-416zM303.2 352H80.8L192 89.1 303.2 352z\"]\n};\nvar faBookmarkSlash = {\n prefix: 'fal',\n iconName: 'bookmark-slash',\n icon: [640, 512, [], \"e0c2\", \"M512 48c0-26.5-21.5-48-48-48H176c-18.9 0-35.2 10.9-43.1 26.8L160 48.1V48c0-8.8 7.2-16 16-16H464c8.8 0 16 7.2 16 16V300.8L512 326V48zM160 471.4V211.2L128 186V489.9c0 12.2 9.9 22.1 22.1 22.1c4.4 0 8.6-1.3 12.3-3.7L320 403.2 477.6 508.3c3.6 2.4 7.9 3.7 12.3 3.7c12.2 0 22.1-9.9 22.1-22.1v-.7l-32-25.3v7.6L328.9 370.7c-5.4-3.6-12.4-3.6-17.7 0L160 471.4zM25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4z\"]\n};\nvar faTemperatureArrowDown = {\n prefix: 'fal',\n iconName: 'temperature-arrow-down',\n icon: [576, 512, [\"temperature-down\"], \"e03f\", \"M112 96c0-35.3 28.7-64 64-64s64 28.7 64 64V252.7c0 14.9 7 27.7 16 36.9c19.8 20.2 32 47.9 32 78.4c0 61.9-50.1 112-112 112s-112-50.1-112-112c0-30.5 12.2-58.2 32-78.4c9-9.2 16-22 16-36.9V96zM176 0C123 0 80 43 80 96V252.7c0 4.6-2.2 9.8-6.8 14.5C47.7 293.1 32 328.8 32 368c0 79.5 64.5 144 144 144s144-64.5 144-144c0-39.3-15.7-74.9-41.2-100.8c-4.6-4.7-6.8-9.9-6.8-14.5V96c0-53-43-96-96-96zM144 368a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm96 0c0-29.8-20.4-54.9-48-62V272c0-8.8-7.2-16-16-16s-16 7.2-16 16v34c-27.6 7.1-48 32.2-48 62c0 35.3 28.7 64 64 64s64-28.7 64-64zm116.7 43.3l64 64c6.2 6.2 16.4 6.2 22.6 0l64-64c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L448 425.4V48c0-8.8-7.2-16-16-16s-16 7.2-16 16V425.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6z\"]\n};\nvar faTemperatureDown = faTemperatureArrowDown;\nvar faMace = {\n prefix: 'fal',\n iconName: 'mace',\n icon: [512, 512, [], \"f6f8\", \"M278.3 95.8L288 66.6l9.7 29.2c3.3 10 11.4 17.7 21.5 20.6c36.8 10.6 65.8 39.7 76.4 76.4c2.9 10.1 10.6 18.1 20.6 21.5l29.2 9.7-29.2 9.7c-10 3.3-17.7 11.4-20.6 21.5c-10.6 36.8-39.7 65.8-76.4 76.4c-10.1 2.9-18.1 10.6-21.5 20.6L288 381.4l-9.7-29.2c-3.3-10-11.4-17.7-21.5-20.6c-36.8-10.6-65.8-39.7-76.4-76.4c-2.9-10.1-10.6-18.1-20.6-21.5L130.6 224l29.2-9.7c10-3.3 17.7-11.4 20.6-21.5c10.6-36.8 39.7-65.8 76.4-76.4c10.1-2.9 18.1-10.6 21.5-20.6zM149.7 183.9L74.9 208.8C68.4 211 64 217.1 64 224s4.4 13 10.9 15.2l74.7 24.9c5.3 18.4 14.2 35.2 25.8 49.8L4.7 484.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L198.1 336.5c14.6 11.6 31.4 20.5 49.8 25.8l24.9 74.7c2.2 6.5 8.3 10.9 15.2 10.9s13-4.4 15.2-10.9l24.9-74.7c47.3-13.7 84.6-51 98.3-98.3l74.7-24.9c6.5-2.2 10.9-8.3 10.9-15.2s-4.4-13-10.9-15.2l-74.7-24.9c-13.7-47.3-51-84.6-98.3-98.3L303.2 10.9C301 4.4 294.9 0 288 0s-13 4.4-15.2 10.9L247.9 85.7c-47.3 13.7-84.6 51-98.3 98.3zM288 240a16 16 0 1 1 0-32 16 16 0 1 1 0 32zm-48-16a48 48 0 1 0 96 0 48 48 0 1 0 -96 0z\"]\n};\nvar faFeatherPointed = {\n prefix: 'fal',\n iconName: 'feather-pointed',\n icon: [512, 512, [\"feather-alt\"], \"f56b\", \"M102.2 348.1C89.9 302.4 89.8 224.5 160 154.3c40.6-40.6 98.9-69.8 159.1-89.6C379 44.9 438.2 35.3 477.9 32c0 0 .2 0 .4 .1c.3 .1 .6 .3 1 .7s.6 .7 .7 1c.1 .2 .1 .4 .1 .4c-3.3 39.7-12.9 98.9-32.7 158.7c-3.4 10.5-7.2 20.9-11.2 31.1H310.6l37.6-37.6c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L116.1 373.3c-7-8.6-11.6-16.9-13.9-25.2zM116 418.6c11.7 9.9 24.7 18 39.6 22c54.1 14.6 144.7 14 224.8-66.1C471.5 283.5 505 120.5 511.9 36.8c.8-9.9-3-19.6-10-26.6s-16.7-10.8-26.6-10C391.5 7 228.5 40.5 137.4 131.6C57.3 211.7 56.7 302.3 71.3 356.4c4 14.8 12.1 27.8 22 39.6L4.7 484.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L116 418.6zm22.7-22.7L182.6 352H357.7c-70.2 70.2-148.2 70.1-193.8 57.8c-8.3-2.2-16.6-6.9-25.2-13.9zM385 320H214.6l64-64H422.4c-10.8 22.9-23.2 44.6-37.4 64z\"]\n};\nvar faFeatherAlt = faFeatherPointed;\nvar faSausage = {\n prefix: 'fal',\n iconName: 'sausage',\n icon: [512, 512, [], \"f820\", \"M400 0c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H400zM32 400c0-8.8-7.2-16-16-16s-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V400zM480 160c0 176.7-143.3 320-320 320c-35.3 0-64-28.7-64-64s28.7-64 64-64c106 0 192-86 192-192c0-35.3 28.7-64 64-64s64 28.7 64 64zm32 0c0-53-43-96-96-96s-96 43-96 96c0 88.4-71.6 160-160 160c-53 0-96 43-96 96s43 96 96 96c194.4 0 352-157.6 352-352zm-112 0c-8.8 0-16 7.2-16 16c0 114.9-93.1 208-208 208c-8.8 0-16 7.2-16 16s7.2 16 16 16c132.5 0 240-107.5 240-240c0-8.8-7.2-16-16-16z\"]\n};\nvar faTrashCanClock = {\n prefix: 'fal',\n iconName: 'trash-can-clock',\n icon: [576, 512, [], \"e2aa\", \"M164.2 39.5L148.9 64H299.1L283.8 39.5c-2.9-4.7-8.1-7.5-13.6-7.5H177.7c-5.5 0-10.6 2.8-13.6 7.5zM311 22.6L336.9 64H384h32 16c8.8 0 16 7.2 16 16s-7.2 16-16 16H416v96.7c-11 1-21.7 3-32 5.9V96H64V432c0 26.5 21.5 48 48 48H296.2c10 12.1 21.7 22.9 34.6 32H112c-44.2 0-80-35.8-80-80V96H16C7.2 96 0 88.8 0 80s7.2-16 16-16H32 64h47.1L137 22.6C145.8 8.5 161.2 0 177.7 0h92.5c16.6 0 31.9 8.5 40.7 22.6zM336 176v44.5c-11.7 7.6-22.4 16.6-32 26.7V176c0-8.8 7.2-16 16-16s16 7.2 16 16zm-192 0V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V176c0-8.8 7.2-16 16-16s16 7.2 16 16zm96 0V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V176c0-8.8 7.2-16 16-16s16 7.2 16 16zM432 480a112 112 0 1 0 0-224 112 112 0 1 0 0 224zm0-256a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm0 64c8.8 0 16 7.2 16 16v48h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H432c-8.8 0-16-7.2-16-16V304c0-8.8 7.2-16 16-16z\"]\n};\nvar faP = {\n prefix: 'fal',\n iconName: 'p',\n icon: [320, 512, [112], \"50\", \"M48 64H176c61.9 0 112 50.1 112 112s-50.1 112-112 112H32V80c0-8.8 7.2-16 16-16zM32 320H176c79.5 0 144-64.5 144-144s-64.5-144-144-144H48C21.5 32 0 53.5 0 80V304 464c0 8.8 7.2 16 16 16s16-7.2 16-16V320z\"]\n};\nvar faBroomWide = {\n prefix: 'fal',\n iconName: 'broom-wide',\n icon: [512, 512, [], \"e5d1\", \"M507.3 27.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-144 144-18.6-18.6c-20.2-20.2-51.4-24.6-76.3-10.7L16.4 246.9C6.3 252.5 0 263.2 0 274.8c0 8.5 3.4 16.6 9.3 22.6L214.7 502.7c6 6 14.1 9.3 22.6 9.3c11.6 0 22.3-6.3 27.9-16.4L392.6 266.2c13.9-25 9.5-56.1-10.7-76.3l-18.6-18.6 144-144zM299.5 152.8l59.7 59.7c10.1 10.1 12.3 25.7 5.3 38.2l-21.2 38.1L223.2 168.6l38.1-21.2c12.5-6.9 28.1-4.8 38.2 5.3zm-105.4 32L327.2 317.9l-90 162.1L113.9 356.7l41.4-41.4c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L91.3 334.1 32.1 274.8l162.1-90z\"]\n};\nvar faSnowflake = {\n prefix: 'fal',\n iconName: 'snowflake',\n icon: [448, 512, [10052, 10054], \"f2dc\", \"M240 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V89.4L171.3 52.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L208 134.6v93.7l-81.1-46.8-21.7-81c-2.3-8.5-11.1-13.6-19.6-11.3S72 100.2 74.3 108.7l13.4 50.1L24.2 122.1c-7.7-4.4-17.4-1.8-21.9 5.9s-1.8 17.4 5.9 21.9l63.5 36.7L21.6 200C13 202.3 8 211 10.3 219.6s11.1 13.6 19.6 11.3l81-21.7L192 256l-81.1 46.8-81-21.7c-8.5-2.3-17.3 2.8-19.6 11.3S13 309.7 21.6 312l50.1 13.4L8.2 362.1C.5 366.6-2.1 376.3 2.3 384s14.2 10.3 21.9 5.9l63.5-36.7L74.3 403.3c-2.3 8.5 2.8 17.3 11.3 19.6s17.3-2.8 19.6-11.3l21.7-81L208 283.7v93.7l-59.3 59.3c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L208 422.6V496c0 8.8 7.2 16 16 16s16-7.2 16-16V422.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L240 377.4V283.7l81.1 46.8 21.7 81c2.3 8.5 11.1 13.6 19.6 11.3s13.6-11.1 11.3-19.6l-13.4-50.1 63.5 36.7c7.7 4.4 17.4 1.8 21.9-5.9s1.8-17.4-5.9-21.9l-63.5-36.7L426.4 312c8.5-2.3 13.6-11.1 11.3-19.6s-11.1-13.6-19.6-11.3l-81 21.7L256 256l81.1-46.8 81 21.7c8.5 2.3 17.3-2.8 19.6-11.3s-2.8-17.3-11.3-19.6l-50.1-13.4 63.5-36.7c7.7-4.4 10.3-14.2 5.9-21.9s-14.2-10.3-21.9-5.9l-63.5 36.7 13.4-50.1c2.3-8.5-2.8-17.3-11.3-19.6s-17.3 2.8-19.6 11.3l-21.7 81L240 228.3V134.6l59.3-59.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L240 89.4V16z\"]\n};\nvar faStomach = {\n prefix: 'fal',\n iconName: 'stomach',\n icon: [512, 512, [], \"f623\", \"M160 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V80c0 61.9 50.1 112 112 112h20c-2.6 10.2-4 21-4 32v48c0 44.2-35.8 80-80 80H112C57.5 352 12 391 2 442.6c-1.3 6.2-2 12.6-2 19.1V464v32c0 8.8 7.2 16 16 16s16-7.2 16-16V464c0-5.2 .5-10.2 1.4-15.1c3.8-16.7 14.9-31.2 30.6-39c24.8-12.4 56.5-5.7 78.4 15.2C181.3 462.3 246.5 512 320 512c106 0 192-86 192-192V224c0-70.7-57.3-128-128-128c-47.4 0-88.7 25.7-110.9 64H240c-44.2 0-80-35.8-80-80V16zm4.5 386c-7.4-7.1-15.9-13.2-25-18H176c42.8 0 80-24 98.9-59.4c25.6-11.2 43.6-12.6 57.6-10.2c15.3 2.6 27.6 9.7 42.4 18.4l.5 .3c14.1 8.3 30.9 18.1 52.1 20.7c15.2 1.8 31.7-.2 50.4-7.3C465.2 422.2 399.4 480 320 480c-60.3 0-117.5-41.7-155.5-78zM480 310.5c-21.6 11-36.9 12.9-48.7 11.5c-13.9-1.7-25.4-8.1-40.2-16.8l-1.2-.7c-13.9-8.2-30.7-18-52.1-21.6c-15.1-2.5-31.7-1.8-50.7 3.4c.6-4.7 .9-9.4 .9-14.3V224c0-53 43-96 96-96s96 43 96 96v86.5z\"]\n};\nvar faNewspaper = {\n prefix: 'fal',\n iconName: 'newspaper',\n icon: [512, 512, [128240], \"f1ea\", \"M160 64c-17.7 0-32 14.3-32 32V416c0 11.7-3.1 22.6-8.6 32H432c26.5 0 48-21.5 48-48V96c0-17.7-14.3-32-32-32H160zM64 480c-35.3 0-64-28.7-64-64V160c0-35.3 28.7-64 64-64v32c-17.7 0-32 14.3-32 32V416c0 17.7 14.3 32 32 32s32-14.3 32-32V96c0-35.3 28.7-64 64-64H448c35.3 0 64 28.7 64 64V400c0 44.2-35.8 80-80 80H64zM384 112c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H400c-8.8 0-16-7.2-16-16zm0 64c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H400c-8.8 0-16-7.2-16-16zm0 64c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H400c-8.8 0-16-7.2-16-16zM160 304c0-8.8 7.2-16 16-16H432c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16zm0 64c0-8.8 7.2-16 16-16H432c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16zm32-144H320V128H192v96zM160 120c0-13.3 10.7-24 24-24H328c13.3 0 24 10.7 24 24V232c0 13.3-10.7 24-24 24H184c-13.3 0-24-10.7-24-24V120z\"]\n};\nvar faRectangleAd = {\n prefix: 'fal',\n iconName: 'rectangle-ad',\n icon: [576, 512, [\"ad\"], \"f641\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H512c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm214.6 73.4l72 160c3.6 8.1 0 17.5-8 21.2s-17.5 0-21.2-8L247.3 320H152.7l-10.2 22.6c-3.6 8.1-13.1 11.7-21.2 8s-11.7-13.1-8-21.2l72-160c2.6-5.7 8.3-9.4 14.6-9.4s12 3.7 14.6 9.4zM200 215l-32.9 73h65.7L200 215zm176 25a40 40 0 1 0 0 80 40 40 0 1 0 0-80zm40-19.9V176c0-8.8 7.2-16 16-16s16 7.2 16 16V280v56c0 8.8-7.2 16-16 16c-7.6 0-14-5.3-15.6-12.4C404.9 347.4 391 352 376 352c-39.8 0-72-32.2-72-72s32.2-72 72-72c14.8 0 28.6 4.5 40 12.1z\"]\n};\nvar faAd = faRectangleAd;\nvar faGuitarElectric = {\n prefix: 'fal',\n iconName: 'guitar-electric',\n icon: [512, 512, [127928], \"f8be\", \"M391.1 67.8l52.6-35L473.3 55c7.6 5.7 8.3 16.7 1.7 23.4c-6.1 6.1-15.9 6.1-22 0l-9.7-9.7c-6.2-6.2-16.4-6.2-22.6 0L384 105.4V81.1c0-5.3 2.7-10.3 7.1-13.3zM352 136c0 .4 0 .9 .1 1.3l-68.2 68.2c-8-10.2-13.4-20.5-12.1-27.7c1.6-8.9 5.8-16.9 9.9-24.7c8.9-16.7 17.2-32.4-3.3-53.1c-15.9-16.1-41.8-16.1-57.7 0l-29.9 30.2c-9.4 9.5-15 21.1-20.6 32.8l0 0c-5.6 11.6-11.1 23.1-20.3 32.3c-16.5 16.7-38.1 23.8-59.8 30.8c-21.8 7.1-43.7 14.3-60.6 31.4c-39.3 39.7-39.3 104 0 143.7l79.9 80.8c39.4 39.9 103.5 39.9 142.9 0c17-17.2 24-39.3 31-61.3c6.9-21.9 13.8-43.7 30.5-60.5c8.7-8.8 19.5-13.8 30.3-18.8c10.9-5.1 21.8-10.1 30.6-19l21.6-21.8c15.8-15.9 15.8-41.7 0-57.6c-16.5-16.7-29.8-12.3-44-7.7c-7.2 2.4-14.7 4.8-22.9 4.6c-5.5-.2-14-4.9-22.8-11.9L432 102.6c18.7 17 47.5 16.5 65.6-1.6c20.5-20.5 18-54.3-5.1-71.6L461 5.7C456 2 450 0 443.8 0c-5.6 0-11.2 1.7-15.9 4.8L373.4 41.2C360 50.1 352 65.1 352 81.1V136zM238.6 172.1c-3 17.4 4.7 32.7 9.4 40.7c5.7 9.7 13.4 18.9 21 26.7c7.7 7.9 16.4 15.4 25.1 21.2c4.3 2.9 9.1 5.8 14.2 8c4.6 2.1 11.7 4.7 20 4.9c11.4 .3 21.1-2.1 27.9-4.1c2.3-.7 4.9-1.5 6.9-2.2l0 0 0 0 1.8-.6c2.4-.8 4-1.2 5.3-1.5l.3-.1c.5 .4 1.1 .9 1.8 1.7c2.8 2.8 2.8 7.5 0 10.3l-21.6 21.8c-3.8 3.9-9.1 6.7-20.8 12.1l-1.4 .7c-10.1 4.7-25.8 11.9-38.8 25c-22.4 22.7-31.5 51.3-37.9 71.8l-.8 2.4c-7.3 23.1-12.4 37.1-22.7 47.6c-26.3 26.6-68.8 26.6-95.1 0L53.4 377.7c-26.3-26.6-26.3-69.8 0-96.5c10.2-10.4 24-15.5 46.9-23l2.4-.8c20.3-6.6 48.7-15.8 71.1-38.4c13.2-13.3 20.9-29.3 26-40.1l.7-1.5c6-12.4 9.4-18.8 14.1-23.6l29.9-30.2c2.8-2.8 7.2-2.8 9.9 0c1.4 1.4 2.2 2.4 2.7 3.1c-.1 .2-.2 .5-.3 .7c-1 2.6-2.2 4.7-4 8.2l0 0 0 0c-1 1.9-2.2 4.1-3.7 7.1c-3.6 6.9-8.4 17.1-10.5 29.2l0 0zm130.9 92.3a.1 .1 0 1 0 0 .2 .1 .1 0 1 0 0-.2zM257.8 128a.1 .1 0 1 0 -.2 0 .1 .1 0 1 0 .2 0zM148.7 276.7c-6.2 6.2-6.2 16.4 0 22.6l64 64c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-64-64c-6.2-6.2-16.4-6.2-22.6 0zm-48 48c-6.2 6.2-6.2 16.4 0 22.6l64 64c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-64-64c-6.2-6.2-16.4-6.2-22.6 0z\"]\n};\nvar faArrowTurnDownRight = {\n prefix: 'fal',\n iconName: 'arrow-turn-down-right',\n icon: [512, 512, [], \"e3d6\", \"M32 48c0-8.8-7.2-16-16-16S0 39.2 0 48V224c0 44.2 35.8 80 80 80H457.4L356.7 404.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l128-128c6.2-6.2 6.2-16.4 0-22.6l-128-128c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L457.4 272H80c-26.5 0-48-21.5-48-48V48z\"]\n};\nvar faMoonCloud = {\n prefix: 'fal',\n iconName: 'moon-cloud',\n icon: [640, 512, [], \"f754\", \"M446.6 66.8C359 82 291.8 156.8 288.1 248c-9.9-4.1-20.5-6.8-31.6-7.7C264.5 124 361.2 32 479.5 32c6.4 0 12.7 .3 19 .8c7 .6 12.8 5.7 14.3 12.5s-1.6 13.9-7.7 17.3c-53.3 30.2-89.3 87.6-89.3 153.3c0 97.2 78.6 176 175.5 176c10.3 0 20.3-.9 30.1-2.6c6.9-1.2 13.8 2.2 17 8.5s1.9 13.8-3.1 18.7C595 455.8 540 480 479.5 480c-60.9 0-116.1-24.4-156.4-64c7.5-7.8 13.8-16.8 18.6-26.7c34.8 36.2 83.7 58.7 137.8 58.7c34.2 0 66.3-9 94.1-24.7c-106.4-9-189.9-98.4-189.9-207.3c0-58.5 24.1-111.4 62.9-149.2zM144 224c35 0 64.8 22.5 75.6 53.8c8.7-3.7 18.3-5.8 28.4-5.8c39.8 0 72 32.2 72 72s-32.2 72-72 72H64c-35.3 0-64-28.7-64-64s28.7-64 64-64c.5 0 1.1 0 1.6 0c7.4-36.5 39.7-64 78.4-64zm0 32c-26.5 0-48 21.5-48 48c0 .7 0 1.4 0 2.1c.2 5.3-2.2 10.4-6.5 13.5s-9.8 4-14.9 2.2c-3.3-1.2-6.9-1.8-10.7-1.8c-17.7 0-32 14.3-32 32s14.3 32 32 32H248c22.1 0 40-17.9 40-40s-17.9-40-40-40c-11.2 0-21.3 4.6-28.6 12c-4.6 4.7-11.5 6.1-17.5 3.6s-9.9-8.4-9.9-14.9l0-.8c0-26.5-21.5-48-48-48z\"]\n};\nvar faBreadSliceButter = {\n prefix: 'fal',\n iconName: 'bread-slice-butter',\n icon: [512, 512, [], \"e3e1\", \"M96 256V432c0 8.8 7.2 16 16 16H400c8.8 0 16-7.2 16-16V256c0-17.7 14.3-32 32-32s32-14.3 32-32c0-44.3-32.4-76.2-84.6-98.6C344.1 71.4 284.5 64 256 64s-88.1 7.4-139.4 29.4C64.4 115.8 32 147.7 32 192c0 17.7 14.3 32 32 32s32 14.3 32 32zm352 0v32V432c0 26.5-21.5 48-48 48H112c-26.5 0-48-21.5-48-48V288 256c-35.3 0-64-28.7-64-64C0 64 192 32 256 32s256 32 256 160c0 35.3-28.7 64-64 64zM193.9 276.7c-6.2 6.2-6.2 16.4 0 22.6l50.7 50.7c6.2 6.2 16.4 6.2 22.6 0l50.7-50.7c6.2-6.2 6.2-16.4 0-22.6l-50.7-50.7c-6.2-6.2-16.4-6.2-22.6 0l-50.7 50.7zm96-73.4l50.7 50.7c18.7 18.7 18.7 49.1 0 67.9l-50.7 50.7c-18.7 18.7-49.1 18.7-67.9 0l-50.7-50.7c-18.7-18.7-18.7-49.1 0-67.9l50.7-50.7c18.7-18.7 49.1-18.7 67.9 0z\"]\n};\nvar faCircleArrowRight = {\n prefix: 'fal',\n iconName: 'circle-arrow-right',\n icon: [512, 512, [\"arrow-circle-right\"], \"f0a9\", \"M480 256A224 224 0 1 1 32 256a224 224 0 1 1 448 0zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM283.3 363.3l96-96c6.2-6.2 6.2-16.4 0-22.6l-96-96c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L329.4 240 144 240c-8.8 0-16 7.2-16 16s7.2 16 16 16l185.4 0-68.7 68.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0z\"]\n};\nvar faArrowCircleRight = faCircleArrowRight;\nvar faUserGroupCrown = {\n prefix: 'fal',\n iconName: 'user-group-crown',\n icon: [640, 512, [\"users-crown\"], \"f6a5\", \"M224 0c5.2 0 10.3 1.5 14.7 4.4l32.5 21.6c5.4 3.6 12.4 3.6 17.8 0L324 2.7c2.6-1.8 5.7-2.7 8.9-2.7H336c8.8 0 16 7.2 16 16V128v16c0 70.7-57.3 128-128 128s-128-57.3-128-128V128 16c0-8.8 7.2-16 16-16h3.2c3.2 0 6.2 .9 8.9 2.7l35.1 23.4c5.4 3.6 12.4 3.6 17.8 0L209.3 4.4C213.7 1.5 218.8 0 224 0zm96 43.8l-13.4 8.9c-16.1 10.7-37.1 10.7-53.3 0L224 33.1 194.6 52.7c-16.1 10.7-37.1 10.7-53.3 0L128 43.8V112H320V43.8zM224 240c53 0 96-43 96-96H128c0 53 43 96 96 96zM32 472v8H416v-8c0-75.1-60.9-136-136-136H168C92.9 336 32 396.9 32 472zM0 472c0-92.8 75.2-168 168-168H280c92.8 0 168 75.2 168 168v8c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32v-8zM432 256c-27.7 0-53-10.1-72.6-26.7c1.9-2.9 3.6-6 5.3-9c3.6-6.7 6.8-13.7 9.5-21C388.8 214.5 409.3 224 432 224c44.2 0 80-35.8 80-80s-35.8-80-80-80c-18 0-34.6 6-48 16V42.8C398.5 35.9 414.8 32 432 32c61.9 0 112 50.1 112 112s-50.1 112-112 112zM609.3 512H471.4c5.4-9.4 8.6-20.3 8.6-32H608c-.7-70.8-58.3-128-129.3-128H440c-8.8-11.7-18.8-22.4-29.8-31.8c2.4-.1 4.7-.2 7.1-.2h61.4C567.8 320 640 392.2 640 481.3c0 17-13.8 30.7-30.7 30.7z\"]\n};\nvar faUsersCrown = faUserGroupCrown;\nvar faCircleI = {\n prefix: 'fal',\n iconName: 'circle-i',\n icon: [512, 512, [], \"e111\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM176 128c-8.8 0-16 7.2-16 16s7.2 16 16 16h64V352H176c-8.8 0-16 7.2-16 16s7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H272V160h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H256 176z\"]\n};\nvar faToiletPaperCheck = {\n prefix: 'fal',\n iconName: 'toilet-paper-check',\n icon: [640, 512, [], \"e5b2\", \"M16 479c.2-5.3 1.7-10.6 4.5-15.4l0-.1c2.6-4.6 5-9.4 7.3-14.3C63.6 372.8 64 272.2 64 192C64 86 107 0 160 0H464h32c40.7 0 69 32.2 85.2 64.6C598.3 98.8 608 143.9 608 192s-9.7 93.2-26.8 127.4C565 351.8 536.7 384 496 384c-24.1 0-43.8-11.3-59.3-27.2c2.1-14.2 4.1-29.6 5.7-46c14.2 25.6 33 41.2 53.6 41.2c44.2 0 80-71.6 80-160s-35.8-160-80-160s-80 71.6-80 160c0 44.7-2.2 83.7-5.6 117.7c-.3 2.5-.5 4.9-.8 7.4c-9 82.3-25.6 133.1-36.3 158.9c-10 24-33.2 36.1-55.4 36.1H48c-11.5 0-22.2-6.2-27.8-16.2c-2.9-5.2-4.3-11-4.2-16.8zM160 32c-7.9 0-23.6 7.2-39.3 38.5C106 100 96 142.9 96 192c0 42.4-.1 92.6-5.8 142.2c-5.7 49.5-17.3 100.7-41.6 144.8c-.2 .3-.4 .6-.5 .9l0 0H317.9c11.4 0 21.6-6.1 25.9-16.3C357.3 431 384 347.1 384 192c0-48.1 9.7-93.2 26.8-127.4c5.7-11.3 12.8-22.6 21.5-32.6H160zM496 240c6.4 0 11.9-11.3 14.5-27.6c1-6.2 1.5-13.1 1.5-20.4s-.5-14.2-1.5-20.4c-2.6-16.3-8.1-27.6-14.5-27.6s-11.9 11.3-14.5 27.6c-1 6.2-1.5 13.1-1.5 20.4s.5 14.2 1.5 20.4c2.6 16.3 8.1 27.6 14.5 27.6zm0 32c-16.2 0-26.6-9.9-31.4-16c-5.1-6.4-8.2-13.8-10.3-20c-4.2-12.7-6.3-28.3-6.3-44.1s2.1-31.3 6.3-44.1c2.1-6.2 5.2-13.5 10.3-20c4.8-6.1 15.1-16 31.4-16s26.6 9.9 31.4 16c5.1 6.4 8.2 13.8 10.3 20c4.2 12.7 6.3 28.3 6.3 44.1s-2.1 31.3-6.3 44.1c-2.1 6.2-5.2 13.5-10.3 20c-4.8 6.1-15.1 16-31.4 16zM307.3 187.3l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L224 225.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faFilterCircleXmark = {\n prefix: 'fal',\n iconName: 'filter-circle-xmark',\n icon: [576, 512, [], \"e17b\", \"M0 39.5C0 17.7 17.7 0 39.5 0H472.5C494.3 0 512 17.7 512 39.5c0 9.2-3.2 18.1-9.1 25.2L394.2 196.1c-24.4 5.3-47 15.8-66.4 30.1L478.3 44.3c1.1-1.3 1.7-3 1.7-4.8c0-4.2-3.4-7.5-7.5-7.5H39.5c-4.2 0-7.5 3.4-7.5 7.5c0 1.8 .6 3.4 1.7 4.8L220.3 269.8c2.4 2.9 3.7 6.5 3.7 10.2v88.2l34 26.4c2.7 18.1 8.3 35.3 16.1 51.2c-3.1-1.2-6.1-2.8-8.7-4.9l-61-47.4c-7.8-6.1-12.4-15.4-12.4-25.3V285.8L9.1 64.7C3.2 57.6 0 48.7 0 39.5zM544 368a112 112 0 1 0 -224 0 112 112 0 1 0 224 0zm-256 0a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm203.3-36.7L454.6 368l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L432 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L409.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L432 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faLocust = {\n prefix: 'fal',\n iconName: 'locust',\n icon: [576, 512, [], \"e520\", \"M304 32c-8.8 0-16 7.2-16 16s7.2 16 16 16h32c106.5 0 194.3 80 206.5 183.2C525.7 232.7 503.9 224 480 224H429.9L382 136.3c-2.6-4.8-7.5-7.9-13-8.3s-10.7 2.1-14 6.5l-45.3 61.4-40.5-60.8c-2.9-4.3-7.7-7-12.9-7.1s-10.1 2.2-13.2 6.4L176 224H102.1C63.4 224 32 255.4 32 294.1c0 27.5 16 52.4 41 63.8l1.9 .9L3.2 454.4c-5.3 7.1-3.9 17.1 3.2 22.4s17.1 3.9 22.4-3.2l75.9-101.2 51 23.3c4.7 2.2 9.5 4.2 14.4 6l-38.9 52.8c-5.2 7.1-3.7 17.1 3.4 22.4s17.1 3.7 22.4-3.4l45.9-62.3c15.1 3.2 30.5 4.8 46 4.8H281l-22.9 40.1c-4.4 7.7-1.7 17.4 6 21.8s17.4 1.7 21.8-6l32-55.9H454.1l27.6 55.2c4 7.9 13.6 11.1 21.5 7.2s11.1-13.6 7.2-21.5l-20.7-41.3c48.5-4.8 86.3-45.8 86.3-95.5l0-.3V272C576 139.5 468.5 32 336 32H304zM480 256c35.3 0 63.9 28.5 64 63.7v.3l0 .1c-.1 35.3-28.7 63.9-64 63.9H464.3c-.1 0-.3 0-.4 0c-.1 0-.2 0-.3 0H248.8c-27.5 0-54.8-5.9-79.8-17.4l-44.6-20.4L192 256H319.8h.5H480zm-328 0L94.5 332.6l-8.3-3.8C72.7 322.6 64 309.1 64 294.1c0-21.1 17.1-38.1 38.1-38.1H152zm137.2-32H216l39.2-52.3 34.4 51.6-.5 .7zm104.2 0H328.9L366 173.7 393.4 224zM472 344a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faSort = {\n prefix: 'fal',\n iconName: 'sort',\n icon: [320, 512, [\"unsorted\"], \"f0dc\", \"M34.2 179.7L154.4 66.2c1.4-1.3 3.5-2.2 5.6-2.2s4.2 .8 5.6 2.2L285.8 179.7c1.4 1.3 2.2 3.2 2.2 5.2c0 3.9-3.2 7.1-7.1 7.1H39.1c-3.9 0-7.1-3.2-7.1-7.1c0-2 .8-3.8 2.2-5.2zm-22-23.3C4.4 163.8 0 174.1 0 184.9C0 206.5 17.5 224 39.1 224H280.9c21.6 0 39.1-17.5 39.1-39.1c0-10.8-4.4-21.1-12.3-28.4L187.6 42.9C180.1 35.9 170.2 32 160 32s-20.1 3.9-27.6 10.9L12.3 156.4zm22 175.9c-1.4-1.3-2.2-3.2-2.2-5.2c0-3.9 3.2-7.1 7.1-7.1H280.9c3.9 0 7.1 3.2 7.1 7.1c0 2-.8 3.8-2.2 5.2L165.6 445.8c-1.4 1.3-3.5 2.2-5.6 2.2s-4.2-.8-5.6-2.2L34.2 332.3zm-22 23.3L132.4 469.1c7.4 7 17.4 10.9 27.6 10.9s20.1-3.9 27.6-10.9L307.7 355.6c7.8-7.4 12.3-17.7 12.3-28.5c0-21.6-17.5-39.1-39.1-39.1H39.1C17.5 288 0 305.5 0 327.1c0 10.8 4.4 21.1 12.3 28.5z\"]\n};\nvar faUnsorted = faSort;\nvar faListOl = {\n prefix: 'fal',\n iconName: 'list-ol',\n icon: [512, 512, [\"list-1-2\", \"list-numeric\"], \"f0cb\", \"M32 48c0 8.8 7.2 16 16 16H64V192H32c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H96V48c0-8.8-7.2-16-16-16H48c-8.8 0-16 7.2-16 16zM192 96c0 8.8 7.2 16 16 16H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H208c-8.8 0-16 7.2-16 16zm0 160c0 8.8 7.2 16 16 16H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H208c-8.8 0-16 7.2-16 16zm0 160c0 8.8 7.2 16 16 16H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H208c-8.8 0-16 7.2-16 16zM58.7 323.9c11.1-11.1 29.2-10.5 39.6 1.3c9.2 10.5 8.9 26.2-.6 36.3L12.3 453.1c-4.3 4.7-5.5 11.5-3 17.3s8.3 9.6 14.7 9.6H128c8.8 0 16-7.2 16-16s-7.2-16-16-16H60.8l60.3-64.6c20.7-22.2 21.2-56.4 1.3-79.3c-22.5-25.7-62.1-27.1-86.3-2.9L20.7 316.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l15.4-15.4z\"]\n};\nvar faList12 = faListOl;\nvar faListNumeric = faListOl;\nvar faChartWaterfall = {\n prefix: 'fal',\n iconName: 'chart-waterfall',\n icon: [512, 512, [], \"e0eb\", \"M16 32c8.8 0 16 7.2 16 16V400c0 26.5 21.5 48 48 48H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-44.2 0-80-35.8-80-80V48c0-8.8 7.2-16 16-16zM144 224c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V240c0-8.8 7.2-16 16-16zm112-80v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-8.8 7.2-16 16-16s16 7.2 16 16zm80-80c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V80c0-8.8 7.2-16 16-16zM448 80V336c0 8.8-7.2 16-16 16s-16-7.2-16-16V80c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faSparkle = {\n prefix: 'fal',\n iconName: 'sparkle',\n icon: [448, 512, [], \"e5d6\", \"M224 32c6.2 0 11.9 3.6 14.5 9.3l63.2 136.9 136.9 63.2c5.7 2.6 9.3 8.3 9.3 14.5s-3.6 11.9-9.3 14.5L301.8 333.8 238.5 470.7c-2.6 5.7-8.3 9.3-14.5 9.3s-11.9-3.6-14.5-9.3L146.2 333.8 9.3 270.5C3.6 267.9 0 262.2 0 256s3.6-11.9 9.3-14.5l136.9-63.2L209.5 41.3c2.6-5.7 8.3-9.3 14.5-9.3zm0 54.2L172.8 197c-1.6 3.5-4.4 6.2-7.8 7.8L54.2 256 165 307.2c3.5 1.6 6.2 4.4 7.8 7.8L224 425.8 275.2 315c1.6-3.5 4.4-6.2 7.8-7.8L393.8 256 283 204.8c-3.5-1.6-6.2-4.4-7.8-7.8L224 86.2z\"]\n};\nvar faFaceParty = {\n prefix: 'fal',\n iconName: 'face-party',\n icon: [640, 512, [], \"e383\", \"M96 256C96 132.3 196.3 32 320 32c91.8 0 170.8 55.3 205.4 134.4c3.5 8.1 13 11.8 21.1 8.3s11.8-13 8.3-21.1C515.2 63.2 425 0 320 0C263.2 0 210.7 18.5 168.2 49.9L21.1 .8C15.2-1.1 8.7 .5 4.4 4.9S-1.2 16 1.1 21.7L70 200.9c-3.9 17.8-6 36.2-6 55.1c0 141.4 114.6 256 256 256c75.8 0 144-33 190.8-85.3c5.9-6.6 5.3-16.7-1.3-22.6c-3-2.7-6.8-4.1-10.6-4.1h-.1c-4.4 0-8.7 1.8-11.9 5.3c-41 45.9-100.6 74.7-167 74.7C196.3 480 96 379.7 96 256zM139.8 74.1c-22.6 22.4-41.1 49-54.1 78.5L73.9 121.9c.5-.7 1-1.4 1.4-2.1c10.9-19.6 24.1-37.7 39.3-54.1l25.2 8.4zM81.6 54.7c-8 9.4-15.4 19.3-22.2 29.6L43.1 41.9 81.6 54.7zM275.2 233.6c5.3 7.1 15.3 8.5 22.4 3.2s8.5-15.3 3.2-22.4c-30.4-40.5-91.2-40.5-121.6 0c-5.3 7.1-3.9 17.1 3.2 22.4s17.1 3.9 22.4-3.2c17.6-23.5 52.8-23.5 70.4 0zm160 0c5.3 7.1 15.3 8.5 22.4 3.2s8.5-15.3 3.2-22.4c-30.4-40.5-91.2-40.5-121.6 0c-5.3 7.1-3.9 17.1 3.2 22.4s17.1 3.9 22.4-3.2c17.6-23.5 52.8-23.5 70.4 0zm-53.8 69.5c5.5 2.7 9.5 5.5 11.9 8c2.4 2.5 2.7 4.1 2.7 4.9s-.3 2.4-2.7 4.9c-2.4 2.6-6.4 5.3-11.9 8c-10.9 5.4-25.5 9.3-38.8 11.2c-.9 .1-1.8 .3-2.7 .6c-1.7 .6-3.2 1.6-4.4 2.8s-2.2 2.7-2.8 4.4c-.5 1.3-.7 2.7-.7 4.1s.2 2.8 .7 4.1c.6 1.7 1.6 3.2 2.8 4.4s2.7 2.2 4.4 2.8c.9 .3 1.7 .5 2.7 .6c13.3 1.9 27.9 5.8 38.8 11.2c5.5 2.7 9.5 5.5 11.9 8c2.4 2.5 2.7 4.1 2.7 4.9s-.3 2.4-2.7 4.9c-2.4 2.6-6.4 5.3-11.9 8c-11 5.4-25.7 9.3-39.1 11.2c-6.6 .9-11.1 7-10.2 13.6s7 11.1 13.6 10.2c15.1-2.1 32.4-6.6 46.3-13.4c6.9-3.4 13.6-7.7 18.7-13c5.2-5.4 9.3-12.6 9.3-21.4c0-8-3.5-14.8-8-20H592c26.5 0 48-21.5 48-48V256c0-26.5-21.5-48-48-48H560c-26.5 0-48 21.5-48 48s21.5 48 48 48h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H560c-8.8 0-16-7.2-16-16s7.2-16 16-16h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H412c4.5-5.2 8-12 8-20c0-8.8-4.1-16-9.3-21.4c-5.1-5.4-11.8-9.6-18.7-13c-13.9-6.8-31.2-11.3-46.3-13.4c-6.6-.9-12.6 3.6-13.6 10.2s3.7 12.6 10.2 13.6c13.4 1.9 28.1 5.8 39.1 11.2z\"]\n};\nvar faKidneys = {\n prefix: 'fal',\n iconName: 'kidneys',\n icon: [640, 512, [], \"f5fb\", \"M115.7 352c-33.4 0-52.1-14.3-64.3-35.8C37.8 292.5 32 258.9 32 224c0-39 12.1-89.3 35.6-129c23.5-39.6 54.7-63 92.1-63c39.7 0 77.1 22.4 85.8 52.9c6 21.1-2.7 49.4-25.5 75.1c-28.7 32.4-24.6 71.3-22 95.6c.2 1.6 .3 3.2 .5 4.7c4.9 49.1-33.6 91.6-82.7 91.6zm0 32c68.1 0 121.3-58.9 114.6-126.8l-.3-2.8c-.6-6.1-1.2-12.2-1.6-18.3l18.8 9.4c5.4 2.7 8.8 8.3 8.8 14.3V496c0 8.8 7.2 16 16 16s16-7.2 16-16V259.8c0-18.2-10.3-34.8-26.5-42.9L231.8 202c2.4-7.2 6.2-14.1 12-20.7c26.6-30 42.6-69.3 32.4-105.1C262.2 26.9 207.7 0 159.7 0C53.7 0 0 135.2 0 224c0 74.9 24.3 160 115.7 160zM394.2 86.1c.1-.4 .3-.8 .4-1.2C403.2 54.4 440.6 32 480.3 32c37.4 0 68.5 23.4 92.1 63C595.9 134.7 608 185 608 224c0 34.9-5.8 68.5-19.4 92.2c-12.2 21.4-31 35.8-64.3 35.8c-49.1 0-87.6-42.5-82.7-91.6c.1-1.5 .3-3 .5-4.7l0 0 0 0c2.6-24.3 6.7-63.2-22-95.6c-23.7-26.7-32.4-54.2-25.9-73.9zm-30.4-10c-11.8 35.8 5.8 75.2 32.4 105.1c5.8 6.6 9.6 13.5 12 20.7l-29.7 14.8C362.3 225 352 241.6 352 259.8V496c0 8.8 7.2 16 16 16s16-7.2 16-16V259.8c0-6.1 3.4-11.6 8.8-14.3l18.8-9.4c-.3 6-.9 12.1-1.6 18.3l-.3 2.8C403 325.1 456.2 384 524.3 384C615.7 384 640 298.9 640 224C640 135.2 586.3 0 480.3 0c-48 0-102.5 26.9-116.5 76.2z\"]\n};\nvar faWifiExclamation = {\n prefix: 'fal',\n iconName: 'wifi-exclamation',\n icon: [640, 512, [], \"e2cf\", \"M336 48V288c0 8.8-7.2 16-16 16s-16-7.2-16-16V48c0-8.8 7.2-16 16-16s16 7.2 16 16zM4.7 161.7C75.4 91.7 169.4 45 274 34.3c-1.3 4.3-2 8.9-2 13.7V66.7C177 77.7 91.8 120.6 27.3 184.4c-6.3 6.2-16.4 6.2-22.6-.1s-6.2-16.4 .1-22.6zM116.7 276c41.3-41.2 95.2-69.9 155.3-80v32.5c-51.3 9.7-97.2 34.8-132.7 70.2c-6.3 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6zM368 196c60.1 10.1 114 38.8 155.3 80c6.3 6.2 6.3 16.4 0 22.6s-16.4 6.3-22.6 0c-35.5-35.4-81.4-60.5-132.7-70.2V196zm0-148c0-4.7-.7-9.3-2-13.7C470.6 45 564.6 91.7 635.3 161.7c6.3 6.2 6.3 16.3 .1 22.6s-16.3 6.3-22.6 .1C548.2 120.6 463 77.7 368 66.7V48zM320 448a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0-96a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]\n};\nvar faChartNetwork = {\n prefix: 'fal',\n iconName: 'chart-network',\n icon: [640, 512, [], \"f78a\", \"M224 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 96c4.5 0 8.9-.5 13.1-1.3l38.1 83.2c-26.6 17.2-45.4 45.4-50.1 78.1H126c-7.1-27.6-32.2-48-62-48c-35.3 0-64 28.7-64 64s28.7 64 64 64c29.8 0 54.9-20.4 62-48h99.2c7.8 54.3 54.4 96 110.9 96c35 0 66.3-16.1 86.8-41.2l91.8 55.1c-1.7 5.8-2.6 11.9-2.6 18.2c0 35.3 28.7 64 64 64s64-28.7 64-64s-28.7-64-64-64c-17.5 0-33.4 7-44.9 18.4l-91.8-55.1c5.6-13.3 8.7-28 8.7-43.3c0-18.7-4.6-36.3-12.7-51.8l101.8-73.3c10.8 8.2 24.2 13.1 38.8 13.1c35.3 0 64-28.7 64-64s-28.7-64-64-64s-64 28.7-64 64c0 9.1 1.9 17.8 5.4 25.7L416.6 226.2c-20.4-21.1-49-34.2-80.6-34.2c-11 0-21.6 1.6-31.7 4.5l-38.5-84.1C279.4 100.7 288 83.4 288 64c0-35.3-28.7-64-64-64s-64 28.7-64 64s28.7 64 64 64zM576 96a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM544 448a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM64 272a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm272-48a80 80 0 1 1 0 160 80 80 0 1 1 0-160z\"]\n};\nvar faPersonDressBurst = {\n prefix: 'fal',\n iconName: 'person-dress-burst',\n icon: [640, 512, [], \"e544\", \"M456 56a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm80 0A56 56 0 1 0 424 56a56 56 0 1 0 112 0zM446.3 263.2c4-7.9 .7-17.5-7.2-21.5s-17.5-.7-21.5 7.2l-64 128c-2.5 5-2.2 10.9 .7 15.6s8.1 7.6 13.6 7.6h48v96c0 8.8 7.2 16 16 16s16-7.2 16-16V400h64v96c0 8.8 7.2 16 16 16s16-7.2 16-16V400h48c5.5 0 10.7-2.9 13.6-7.6s3.2-10.6 .7-15.6l-64-128c-4-7.9-13.6-11.1-21.5-7.2s-11.1 13.6-7.2 21.5L566.1 368H528 432 393.9l52.4-104.8zM480 160c25.5 0 49 14.1 61 36.6l52.9 98.9c4.2 7.8 13.9 10.7 21.7 6.6s10.7-13.9 6.6-21.7l-52.9-98.9C551.7 148.6 517.3 128 480 128s-71.7 20.6-89.3 53.5l-52.9 98.9c-4.2 7.8-1.2 17.5 6.6 21.7s17.5 1.2 21.7-6.6L419 196.6c12-22.5 35.5-36.6 61-36.6zM190.5 17.3C187.9 11.6 182.3 8 176 8s-11.9 3.6-14.5 9.3L129.4 87.2 54.7 68.7c-6.1-1.5-12.5 .7-16.3 5.6s-4.6 11.6-1.8 17.2l34.6 68.6L10.3 206.9c-5 3.8-7.2 10.2-5.8 16.2s6.2 10.8 12.3 12.1L92 251l-1.4 76.8c-.1 6.2 3.4 12 9.1 14.7s12.3 1.9 17.1-2.1l59.2-49 59.2 49c4.8 4 11.5 4.8 17.1 2.1s9.2-8.5 9.1-14.7L260 251l75.2-15.8c6.1-1.3 10.9-6 12.3-12.1s-.9-12.4-5.8-16.2l-60.9-46.8 34.6-68.6c2.8-5.6 2.1-12.3-1.8-17.2s-10.3-7.1-16.3-5.6L222.6 87.2 190.5 17.3zm-37.6 95.2L176 62.3l23.1 50.2c3.2 7 10.9 10.7 18.4 8.9l53.7-13.3-24.9 49.4c-3.5 6.9-1.6 15.2 4.5 19.9l43.8 33.7-54.1 11.3c-7.5 1.6-12.9 8.3-12.7 15.9l1 55.3-42.6-35.2c-5.9-4.9-14.5-4.9-20.4 0l-42.6 35.2 1-55.3c.1-7.7-5.2-14.4-12.7-15.9L57.4 211.1l43.8-33.7c6.1-4.7 8-13 4.5-19.9L80.9 108.1l53.7 13.3c7.5 1.8 15.2-1.9 18.4-8.9z\"]\n};\nvar faDiceD4 = {\n prefix: 'fal',\n iconName: 'dice-d4',\n icon: [512, 512, [], \"f6d0\", \"M240.1 56.5L35.4 310.6 240.1 465.9V56.5zm32 409.2L476.6 310.6 272.1 56.7V465.8zM256 0c7.3 0 14.1 3.3 18.7 8.9l232 288c4.1 5.1 5.9 11.5 5.1 18s-4.1 12.3-9.3 16.2l-232 176c-8.6 6.5-20.4 6.5-29 0l-232-176c-5.2-3.9-8.5-9.8-9.3-16.2s1.1-12.9 5.1-18l232-288C241.9 3.3 248.7 0 256 0z\"]\n};\nvar faMoneyCheckDollar = {\n prefix: 'fal',\n iconName: 'money-check-dollar',\n icon: [576, 512, [\"money-check-alt\"], \"f53d\", \"M64 96c-17.7 0-32 14.3-32 32V384c0 17.7 14.3 32 32 32H512c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32H64zM0 128C0 92.7 28.7 64 64 64H512c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128zM272 288H464c8.8 0 16 7.2 16 16s-7.2 16-16 16H272c-8.8 0-16-7.2-16-16s7.2-16 16-16zm-16-80c0-8.8 7.2-16 16-16H464c8.8 0 16 7.2 16 16s-7.2 16-16 16H272c-8.8 0-16-7.2-16-16zm-96-56v17.3c8.5 1.2 16.7 3.1 24.1 5.1c8.5 2.3 13.6 11 11.3 19.6s-11 13.6-19.6 11.3c-11.1-3-22-5.2-32.1-5.3c-8.4-.1-17.4 1.8-23.6 5.5c-5.7 3.4-8.1 7.3-8.1 12.8c0 3.7 1.3 6.5 7.3 10.1c6.9 4.1 16.6 7.1 29.2 10.9l.5 .1 0 0 0 0c11.3 3.4 25.3 7.6 36.3 14.6c12.1 7.6 22.4 19.7 22.7 38.2c.3 19.3-9.6 33.3-22.9 41.6c-7.7 4.8-16.4 7.6-25.1 9.1V360c0 8.8-7.2 16-16 16s-16-7.2-16-16V342.2c-11.2-2.1-21.7-5.7-30.9-8.9l0 0c-2.1-.7-4.2-1.4-6.2-2.1c-8.4-2.8-12.9-11.9-10.1-20.2s11.9-12.9 20.2-10.1c2.5 .8 4.8 1.6 7.1 2.4l0 0 0 0 0 0c13.6 4.6 24.6 8.4 36.3 8.7c9.1 .3 17.9-1.7 23.7-5.3c5.1-3.2 7.9-7.3 7.8-14c-.1-4.6-1.8-7.8-7.7-11.6c-6.8-4.3-16.5-7.4-29-11.2l-1.6-.5 0 0 0 0c-11-3.3-24.3-7.3-34.8-13.7c-12-7.2-22.6-18.9-22.7-37.3c-.1-19.4 10.8-32.8 23.8-40.5c7.5-4.4 15.8-7.2 24.1-8.7V152c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faMoneyCheckAlt = faMoneyCheckDollar;\nvar faVectorSquare = {\n prefix: 'fal',\n iconName: 'vector-square',\n icon: [448, 512, [], \"f5cb\", \"M408 64c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8V72c0-4.4 3.6-8 8-8h48zM360 32c-22.1 0-40 17.9-40 40v8H128V72c0-22.1-17.9-40-40-40H40C17.9 32 0 49.9 0 72v48c0 22.1 17.9 40 40 40h8l0 192H40c-22.1 0-40 17.9-40 40v48c0 22.1 17.9 40 40 40H88c22.1 0 40-17.9 40-40v-8H320v8c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V392c0-22.1-17.9-40-40-40h-8V160h8c22.1 0 40-17.9 40-40V72c0-22.1-17.9-40-40-40H360zM80 352l0-192h8c22.1 0 40-17.9 40-40v-8H320v8c0 22.1 17.9 40 40 40h8V352h-8c-22.1 0-40 17.9-40 40v8H128v-8c0-22.1-17.9-40-40-40H80zM40 384H88c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H40c-4.4 0-8-3.6-8-8V392c0-4.4 3.6-8 8-8zm320 0h48c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8V392c0-4.4 3.6-8 8-8zM40 64H88c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H40c-4.4 0-8-3.6-8-8V72c0-4.4 3.6-8 8-8z\"]\n};\nvar faBreadSlice = {\n prefix: 'fal',\n iconName: 'bread-slice',\n icon: [512, 512, [], \"f7ec\", \"M64 224c-17.7 0-32-14.3-32-32c0-44.3 32.4-76.2 84.6-98.6C167.9 71.4 227.5 64 256 64s88.1 7.4 139.4 29.4C447.6 115.8 480 147.7 480 192c0 17.7-14.3 32-32 32s-32 14.3-32 32V432c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V256c0-17.7-14.3-32-32-32zm384 64V256c35.3 0 64-28.7 64-64C512 64 320 32 256 32S0 64 0 192c0 35.3 28.7 64 64 64v32V432c0 26.5 21.5 48 48 48H400c26.5 0 48-21.5 48-48V288z\"]\n};\nvar faLanguage = {\n prefix: 'fal',\n iconName: 'language',\n icon: [640, 512, [], \"f1ab\", \"M304 96V416H64c-17.7 0-32-14.3-32-32V128c0-17.7 14.3-32 32-32H304zm32 0H576c17.7 0 32 14.3 32 32V384c0 17.7-14.3 32-32 32H336V96zm304 32c0-35.3-28.7-64-64-64H64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V128zM174.9 170.1C172.4 164 166.5 160 160 160s-12.4 4-14.9 10.1l-64 160c-3.3 8.2 .7 17.5 8.9 20.8s17.5-.7 20.8-8.9l8.8-21.9h80.7l8.8 21.9c3.3 8.2 12.6 12.2 20.8 8.9s12.2-12.6 8.9-20.8l-64-160zm-14.9 49L187.6 288H132.4L160 219.1zM496 176c0-8.8-7.2-16-16-16s-16 7.2-16 16v16H400c-8.8 0-16 7.2-16 16s7.2 16 16 16h80 41.2l-.2 .6c-8.2 22.6-21.4 42.9-38.2 59.4l-.8-.8-22.6-22.6c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l20.9 20.9c-5 3.2-10.1 6.2-15.5 8.8l-17.3 8.6c-7.9 4-11.1 13.6-7.2 21.5s13.6 11.1 21.5 7.2l17.3-8.6c9.1-4.6 17.8-9.8 26-15.7c5.9 4.4 12.1 8.6 18.4 12.4l18.9 11.3c7.6 4.5 17.4 2.1 21.9-5.5s2.1-17.4-5.5-21.9l-18.9-11.3c-3.4-2-6.7-4.1-9.9-6.4c19.1-19.4 34.1-42.9 43.6-69l4.2-11.6H560c8.8 0 16-7.2 16-16s-7.2-16-16-16H544 496V176z\"]\n};\nvar faWheatAwnSlash = {\n prefix: 'fal',\n iconName: 'wheat-awn-slash',\n icon: [640, 512, [], \"e338\", \"M25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4zm235.7 288l-37 37c1.9-31.2-7.5-62.9-28.2-88.5l-46.7-36.9c-2.8 .7-5.4 2.1-7.6 4.2l-33.9 33.9c-37.5 37.5-37.5 98.3 0 135.8L142.2 411l0 0L68.7 484.5c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l73.5-73.5 0 0 33.9 33.9c37.5 37.5 98.3 37.5 135.8 0l33.9-33.9c6.2-6.2 6.2-16.4 0-22.6l-22.6-22.6c-27-27-63.2-39.4-98.5-37.2L287 311.4l-25.3-20zM289.2 60.3C270.5 79 261.2 103.5 261.1 128l40.4 31.9c-13.9-24.4-10.5-56.1 10.4-76.9l22.6-22.6 11.3 11.3c35.1 35.1 37.3 90.7 6.6 128.4l26.5 20.9c37.6-28.1 91.1-25.1 125.3 9.1l11.3 11.3-22.6 22.6c-10.3 10.3-23.2 16.3-36.6 18.2l30.6 24.2c10.3-4.6 20-11.2 28.5-19.7l33.9-33.9c6.2-6.2 6.2-16.4 0-22.6l-22.6-22.6c-5.8-5.8-12-10.9-18.6-15.4L555 145.1c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L478 176.9c-16.1-5.5-33-7.8-49.8-6.7L555 43.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L405.6 147.5c1-16.8-1.2-33.7-6.7-49.8l54.3-54.4c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L383.8 67.5c-4.5-6.5-9.6-12.8-15.4-18.6L345.8 26.4c-6.2-6.2-16.4-6.2-22.6 0L289.2 60.3zM130.9 263.9l22.6-22.6 11.3 11.3c37.5 37.5 37.5 98.2 0 135.7l-33.9-33.9c-25-25-25-65.5 0-90.5zm181 181c-25 25-65.5 25-90.5 0L187.5 411c37.5-37.5 98.2-37.5 135.7 0l11.3 11.3-22.6 22.6z\"]\n};\nvar faFaceKissWinkHeart = {\n prefix: 'fal',\n iconName: 'face-kiss-wink-heart',\n icon: [512, 512, [128536, \"kiss-wink-heart\"], \"f598\", \"M325.2 469.1C303.4 476.2 280.2 480 256 480C132.3 480 32 379.7 32 256S132.3 32 256 32s224 100.3 224 224c0 25.9-4.4 50.8-12.5 73.9c10.9 1.2 21.2 4.5 30.6 9.5c9-26.2 13.9-54.2 13.9-83.4C512 114.6 397.4 0 256 0S0 114.6 0 256S114.6 512 256 512c28.6 0 56.1-4.7 81.8-13.4c-4.9-6.5-8.7-14.1-10.8-22.6l-1.8-7zM222.1 293.5c13.3 1.9 27.8 5.8 38.6 11c5.4 2.7 9.2 5.3 11.5 7.7c2.7 2.9 2.7 4.7 0 7.6c-2.3 2.4-6.1 5.1-11.5 7.7c-10.7 5.3-25.1 9.1-38.3 11c-6.7 .8-12 6.7-12 13.5c0 6.8 5.3 12.7 12 13.5c13.2 1.9 27.6 5.8 38.3 11c5.4 2.7 9.2 5.3 11.5 7.7c2.7 2.9 2.7 4.7 0 7.6c-2.3 2.4-6.1 5.1-11.5 7.7c-10.8 5.3-25.3 9.2-38.6 11c-7.4 1-12.6 7.9-11.6 15.4s7.9 12.6 15.4 11.6c15.2-2.1 32.7-6.6 46.8-13.6c7-3.4 13.9-7.8 19.2-13.4c5.4-5.6 9.8-13.2 9.8-22.5s-4.4-16.9-9.8-22.5c-5.3-5.5-12.2-9.9-19.2-13.4l-.2-.1 .2-.1c7-3.4 13.9-7.8 19.2-13.4c5.4-5.6 9.8-13.2 9.8-22.5s-4.4-16.9-9.8-22.5c-5.3-5.5-12.2-9.9-19.2-13.4c-14.1-6.9-31.6-11.4-46.8-13.6c-7.4-1-14.3 4.1-15.4 11.6s4.1 14.3 11.6 15.4zM176.4 232a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm194.8 1.6c5.3 7.1 15.3 8.5 22.4 3.2s8.5-15.3 3.2-22.4c-30.4-40.5-91.2-40.5-121.6 0c-5.3 7.1-3.9 17.1 3.2 22.4s17.1 3.9 22.4-3.2c17.6-23.5 52.8-23.5 70.4 0zm70.1 127.5c-7.4-29-36.5-47.3-65.8-39.2c-28.9 8.1-45.1 38.6-37.7 67.4L358 468.1c4.5 17.4 22.3 27.7 39.6 22.9l74.9-21c28.9-8.1 45.1-38.6 37.7-67.4c-7.4-29-36.5-47.3-65.8-39.2l-2.4 .7-.8-3zm-57.1-8.3c10.8-3 22.9 3.5 26.1 16.3l4.8 18.9c1.1 4.2 3.8 7.7 7.5 9.9s8.2 2.7 12.3 1.5l18.1-5.1c10.8-3 22.9 3.5 26.1 16.3c3.3 13-4.2 25.5-15.3 28.6l-74.9 21-20.2-78.8c-3.3-13 4.2-25.5 15.3-28.6z\"]\n};\nvar faKissWinkHeart = faFaceKissWinkHeart;\nvar faDagger = {\n prefix: 'fal',\n iconName: 'dagger',\n icon: [384, 512, [], \"f6cb\", \"M208 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V128H144 112 80 48c-26.5 0-48 21.5-48 48s21.5 48 48 48s48-21.5 48-48V160h16 32 48 48 32 16v16c0 26.5 21.5 48 48 48s48-21.5 48-48s-21.5-48-48-48H304 272 240 208V16zM48 160H64v16c0 8.8-7.2 16-16 16s-16-7.2-16-16s7.2-16 16-16zm272 0h16c8.8 0 16 7.2 16 16s-7.2 16-16 16s-16-7.2-16-16V160zM240 397.9c0 4.9-1.5 9.7-4.3 13.8L192 474.1l-43.7-62.4c-2.8-4-4.3-8.8-4.3-13.8V192H112V397.9c0 11.5 3.5 22.7 10.1 32.1l50.2 71.7c4.5 6.4 11.8 10.2 19.7 10.2s15.2-3.8 19.7-10.2L261.9 430c6.6-9.4 10.1-20.6 10.1-32.1V192H240V397.9z\"]\n};\nvar faPodium = {\n prefix: 'fal',\n iconName: 'podium',\n icon: [448, 512, [], \"f680\", \"M288 32H224c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16zM178.7 64H168c-26.5 0-48 21.5-48 48v48H432c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H88V112c0-44.2 35.8-80 80-80h10.7C185.3 13.4 203.1 0 224 0h64c26.5 0 48 21.5 48 48s-21.5 48-48 48H224c-20.9 0-38.7-13.4-45.3-32zM73.5 455.2L47.3 224H79.5l25.9 227.6c1.8 16.2 15.5 28.4 31.8 28.4H310.9c16.3 0 30-12.2 31.8-28.4L368.5 224h32.2L374.5 455.2c-3.7 32.3-31 56.8-63.6 56.8H137.1c-32.6 0-59.9-24.4-63.6-56.8z\"]\n};\nvar faMemoCircleCheck = {\n prefix: 'fal',\n iconName: 'memo-circle-check',\n icon: [576, 512, [], \"e1d9\", \"M320 32H64C46.3 32 32 46.3 32 64V448c0 17.7 14.3 32 32 32H296.2c9.8 11.8 21 22.3 33.5 31.3c-3.2 .5-6.4 .7-9.7 .7H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V198.6c-11.2 3.2-21.9 7.4-32 12.6V64c0-17.7-14.3-32-32-32zM64 144c0-8.8 7.2-16 16-16H304c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16zm16 80H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 96H208c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16s7.2-16 16-16zM432 480a112 112 0 1 0 0-224 112 112 0 1 0 0 224zm0-256a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm44.7 100.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L416 385.4l60.7-60.7z\"]\n};\nvar faRouteHighway = {\n prefix: 'fal',\n iconName: 'route-highway',\n icon: [448, 512, [], \"f61a\", \"M232.2 2.3c-5.1-3-11.4-3-16.5 0L194.6 15c-31.9 19.2-71.5 20.7-104.8 4c-17.7-8.9-39.2-3.8-51.1 12.1L14.5 63.3c-10.7 14.2-11.9 33.5-3 49C24.9 135.9 32 162.5 32 189.7V203c0 22.4-4.3 44.6-12.6 65.4L8 296.9c-5.3 13.2-8 27.4-8 41.6C0 382.2 25.4 422 65.1 440.3l152.2 70.2c4.3 2 9.2 2 13.4 0l152.2-70.2C422.6 422 448 382.2 448 338.5c0-14.3-2.7-28.4-8-41.6l-11.4-28.5c-8.3-20.8-12.6-43-12.6-65.4V189.7c0-27.1 7.1-53.8 20.6-77.4c8.8-15.5 7.6-34.7-3-49L409.3 31.1C397.4 15.2 375.9 10.2 358.2 19c-33.3 16.7-72.8 15.1-104.8-4L232.2 2.3zM211 42.4l13-7.8 13 7.8c41.3 24.8 92.4 26.8 135.5 5.2c3.9-1.9 8.6-.8 11.2 2.6l24.2 32.3c3 4 3.4 9.5 .9 13.9c-11.3 19.7-18.8 41.3-22.4 63.6H61.6c-3.6-22.3-11.1-43.8-22.4-63.6c-2.5-4.4-2.2-9.8 .9-13.9L64.3 50.3c2.6-3.5 7.3-4.6 11.2-2.6c43.1 21.6 94.2 19.6 135.5-5.2zM64 192H384v11c0 26.5 5 52.7 14.9 77.2l11.4 28.5c3.8 9.5 5.7 19.6 5.7 29.8c0 31.2-18.2 59.6-46.5 72.7L224 478.4 78.5 411.2C50.2 398.1 32 369.8 32 338.5c0-10.2 1.9-20.3 5.7-29.8l11.4-28.5C59 255.7 64 229.5 64 203V192z\"]\n};\nvar faDownToLine = {\n prefix: 'fal',\n iconName: 'down-to-line',\n icon: [384, 512, [\"arrow-alt-to-bottom\"], \"f34a\", \"M16 448l352 0c8.8 0 16 7.2 16 16s-7.2 16-16 16L16 480c-8.8 0-16-7.2-16-16s7.2-16 16-16zm174.2-96.8c.5 .5 1.1 .8 1.8 .8s1.4-.3 1.8-.8L318.2 219.3c1.2-1.2 1.8-2.9 1.8-4.6c0-3.7-3-6.7-6.7-6.7L256 208c-8.8 0-16-7.2-16-16l0-120c0-4.4-3.6-8-8-8l-80 0c-4.4 0-8 3.6-8 8l0 120c0 8.8-7.2 16-16 16l-57.3 0c-3.7 0-6.7 3-6.7 6.7c0 1.7 .7 3.3 1.8 4.6L190.2 351.2zM192 384c-9.5 0-18.6-3.9-25.1-10.8L42.5 241.2C35.8 234 32 224.5 32 214.7C32 193.3 49.3 176 70.7 176l41.3 0 0-104c0-22.1 17.9-40 40-40l80 0c22.1 0 40 17.9 40 40l0 104 41.3 0c21.4 0 38.7 17.3 38.7 38.7c0 9.9-3.8 19.3-10.5 26.5L217.1 373.2c-6.5 6.9-15.6 10.8-25.1 10.8z\"]\n};\nvar faArrowAltToBottom = faDownToLine;\nvar faFilter = {\n prefix: 'fal',\n iconName: 'filter',\n icon: [512, 512, [], \"f0b0\", \"M0 71.5C0 49.7 17.7 32 39.5 32H472.5C494.3 32 512 49.7 512 71.5c0 9.2-3.2 18.1-9.1 25.2L320 317.8V446.1c0 18.7-15.2 33.9-33.9 33.9c-7.5 0-14.8-2.5-20.8-7.1l-61-47.4c-7.8-6.1-12.4-15.4-12.4-25.3V317.8L9.1 96.7C3.2 89.6 0 80.7 0 71.5zM39.5 64c-4.2 0-7.5 3.4-7.5 7.5c0 1.8 .6 3.4 1.7 4.8L220.3 301.8c2.4 2.9 3.7 6.5 3.7 10.2v88.2l61 47.4c.3 .3 .7 .4 1.1 .4c1 0 1.9-.8 1.9-1.9V312c0-3.7 1.3-7.3 3.7-10.2L478.3 76.3c1.1-1.3 1.7-3 1.7-4.8c0-4.2-3.4-7.5-7.5-7.5H39.5z\"]\n};\nvar faSquareG = {\n prefix: 'fal',\n iconName: 'square-g',\n icon: [448, 512, [], \"e271\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM128 256c0 53 43 96 96 96c47.6 0 87.1-34.6 94.7-80H256c-8.8 0-16-7.2-16-16s7.2-16 16-16h80c8.8 0 16 7.2 16 16c0 70.7-57.3 128-128 128s-128-57.3-128-128s57.3-128 128-128c32.8 0 62.7 12.3 85.3 32.6c6.6 5.9 7.1 16 1.3 22.6s-16 7.1-22.6 1.3c-17-15.2-39.4-24.4-64-24.4c-53 0-96 43-96 96z\"]\n};\nvar faCirclePhone = {\n prefix: 'fal',\n iconName: 'circle-phone',\n icon: [512, 512, [\"phone-circle\"], \"e11b\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM203.2 144.1c1.9-.4 3.8 .6 4.5 2.3l24 56c.7 1.6 .2 3.5-1.1 4.7l-20.3 16.6c-6.1 5-7.6 13.6-3.7 20.4c14.7 25.4 35.9 46.6 61.4 61.4c6.8 3.9 15.4 2.4 20.4-3.7l16.6-20.3c1.1-1.4 3-1.8 4.7-1.1l56 24c1.8 .8 2.7 2.6 2.3 4.5l-12 56c-.4 1.8-2 3.2-3.9 3.2c-114.9 0-208-93.1-208-208c0-1.9 1.3-3.5 3.2-3.9l56-12zm33.9-10.3c-6.8-15.8-23.8-24.6-40.6-21l-56 12C123.9 128.4 112 143 112 160c0 132.5 107.4 240 240 240c17 0 31.6-11.9 35.2-28.5l12-56c3.6-16.8-5.2-33.9-21-40.6l-56-24c-14.7-6.3-31.9-2.1-42 10.3l-7.5 9.2c-11.9-8.6-22.4-19.1-31-31l9.2-7.5c12.4-10.2 16.6-27.3 10.3-42l-24-56z\"]\n};\nvar faPhoneCircle = faCirclePhone;\nvar faClipboardPrescription = {\n prefix: 'fal',\n iconName: 'clipboard-prescription',\n icon: [384, 512, [], \"f5e8\", \"M145.5 68c5.3-20.7 24.1-36 46.5-36s41.2 15.3 46.5 36c1.8 7.1 8.2 12 15.5 12h18c8.8 0 16 7.2 16 16v32H192 96V96c0-8.8 7.2-16 16-16h18c7.3 0 13.7-4.9 15.5-12zM192 0c-32.8 0-61 19.8-73.3 48H112C91.1 48 73.3 61.4 66.7 80H64C28.7 80 0 108.7 0 144V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V144c0-35.3-28.7-64-64-64h-2.7c-6.6-18.6-24.4-32-45.3-32h-6.7C253 19.8 224.8 0 192 0zM320 112c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V144c0-17.7 14.3-32 32-32v16c0 17.7 14.3 32 32 32h96 96c17.7 0 32-14.3 32-32V112zM208 80a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM112 208c-8.8 0-16 7.2-16 16v80 64c0 8.8 7.2 16 16 16s16-7.2 16-16V320h41.4l48 48-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L240 390.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L262.6 368l36.7-36.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L240 345.4l-31.2-31.2C227.3 305.1 240 286 240 264c0-30.9-25.1-56-56-56H112zm72 80h-8H128V240h56c13.3 0 24 10.7 24 24s-10.7 24-24 24z\"]\n};\nvar faUserNurseHair = {\n prefix: 'fal',\n iconName: 'user-nurse-hair',\n icon: [448, 512, [], \"e45d\", \"M128 144V76.9l96-42 96 42V144H128zM96 76.9V144v16 16 0c0 70.7 57.3 128 128 128s128-57.3 128-128v0V160 144 76.9c0-12.7-7.5-24.2-19.2-29.3l-96-42c-8.2-3.6-17.5-3.6-25.7 0l-96 42C103.5 52.7 96 64.2 96 76.9zM320 176v0c0 53-43 96-96 96c-35.5 0-66.6-19.3-83.2-48h21.5c35.5 0 68.3-18.3 87-48H320zm-112.8 0c-12.4 10.2-28.2 16-44.8 16h-33c-.9-5.2-1.3-10.5-1.3-16v0h79.2zM121.1 356.3l69 69c18.7 18.7 49.1 18.7 67.9 0l69-69c51.4 16.8 88.5 64.9 89.1 121.6H32c.6-56.8 37.7-104.9 89.1-121.6zm21.7-23.5c-7.5-7.5-18.3-11-28.4-7.9C48.2 344.9 0 406.4 0 479.2c0 17 13.8 30.7 30.7 30.7H417.3c17 0 30.7-13.8 30.7-30.7c0-72.8-48.2-134.3-114.4-154.4c-10.1-3.1-20.9 .4-28.4 7.9l-69.8 69.8c-6.2 6.2-16.4 6.2-22.6 0l-69.8-69.8zM208 56V72H192c-4.4 0-8 3.6-8 8V96c0 4.4 3.6 8 8 8h16v16c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8V104h16c4.4 0 8-3.6 8-8V80c0-4.4-3.6-8-8-8H240V56c0-4.4-3.6-8-8-8H216c-4.4 0-8 3.6-8 8z\"]\n};\nvar faQuestion = {\n prefix: 'fal',\n iconName: 'question',\n icon: [320, 512, [10067, 10068, 61736], \"3f\", \"M144 64c-53 0-96 43-96 96c0 8.8-7.2 16-16 16s-16-7.2-16-16C16 89.3 73.3 32 144 32h32c70.7 0 128 57.3 128 128c0 35.3-16.6 68.4-44.8 89.6l-60.8 45.6C184.3 305.8 176 322.4 176 340v12c0 8.8-7.2 16-16 16s-16-7.2-16-16V340c0-27.7 13-53.8 35.2-70.4L240 224c20.1-15.1 32-38.8 32-64c0-53-43-96-96-96H144zm-8 384a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faFileSignature = {\n prefix: 'fal',\n iconName: 'file-signature',\n icon: [576, 512, [], \"f573\", \"M320 480c17.7 0 32-14.3 32-32V437.6l32-8V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H220.1c12.7 0 24.9 5.1 33.9 14.1L369.9 129.9c9 9 14.1 21.2 14.1 33.9v24.3l-32 32V192H240c-26.5 0-48-21.5-48-48V32H64C46.3 32 32 46.3 32 64V448c0 17.7 14.3 32 32 32H320zM240 160H351.5c-.7-2.8-2.1-5.4-4.2-7.4L231.4 36.7c-2.1-2.1-4.6-3.5-7.4-4.2V144c0 8.8 7.2 16 16 16zM144 349l-9.8 32.8c-6.1 20.3-24.8 34.2-46 34.2H80c-8.8 0-16-7.2-16-16s7.2-16 16-16h8.2c7.1 0 13.3-4.6 15.3-11.4l14.9-49.5c3.4-11.3 13.8-19.1 25.6-19.1s22.2 7.7 25.6 19.1l12.6 42.1c7.1-8.3 17.5-13.1 28.5-13.1c14.2 0 27.2 8 33.5 20.7l5.6 11.3h41.7l15.7-62.6c2.1-8.4 6.5-16.1 12.6-22.3L473.5 145.4c18.7-18.7 49.1-18.7 67.9 0l17.4 17.4c18.7 18.7 18.7 49.1 0 67.9L405.1 384.3c-6.2 6.2-13.9 10.5-22.3 12.6l-74.9 18.7c-2 .5-4.1 .6-6.1 .3H240c-6.1 0-11.6-3.4-14.3-8.8L215.6 387c-.9-1.8-2.8-3-4.9-3c-1.7 0-3.3 .8-4.4 2.2l-17.6 23.4c-3.6 4.8-9.7 7.2-15.6 6.2s-10.8-5.4-12.5-11.2L144 349zM518.8 168c-6.2-6.2-16.4-6.2-22.6 0l-24.8 24.8 40 40L536.2 208c6.2-6.2 6.2-16.4 0-22.6L518.8 168zM342.5 321.7c-2.1 2.1-3.5 4.6-4.2 7.4l-12.3 49 49-12.3c2.8-.7 5.4-2.2 7.4-4.2L488.7 255.4l-40-40L342.5 321.7z\"]\n};\nvar faToggleLargeOn = {\n prefix: 'fal',\n iconName: 'toggle-large-on',\n icon: [576, 512, [], \"e5b1\", \"M416 128a128 128 0 1 0 0 256 128 128 0 1 0 0-256zm0 288H160C71.6 416 0 344.4 0 256S71.6 96 160 96H416c88.4 0 160 71.6 160 160s-71.6 160-160 160zm-96-32c-38.9-29.2-64-75.7-64-128s25.1-98.8 64-128H160C89.3 128 32 185.3 32 256s57.3 128 128 128H320z\"]\n};\nvar faUpDownLeftRight = {\n prefix: 'fal',\n iconName: 'up-down-left-right',\n icon: [512, 512, [\"arrows-alt\"], \"f0b2\", \"M252.9 33.4L196 96H316L259.1 33.4c-.8-.9-1.9-1.4-3.1-1.4s-2.3 .5-3.1 1.4zm29.8-21.5l61.7 67.9c4.8 5.3 7.5 12.2 7.5 19.4c0 15.9-12.9 28.8-28.8 28.8H272V240H384v32H272V384h51.2c15.9 0 28.8 12.9 28.8 28.8c0 7.2-2.7 14.1-7.5 19.4l-61.7 67.9c-6.9 7.5-16.6 11.8-26.8 11.8s-19.9-4.3-26.8-11.8l-61.7-67.9c-4.8-5.3-7.5-12.2-7.5-19.4c0-15.9 12.9-28.8 28.8-28.8H240V272H128l0 51.2c0 15.9-12.9 28.8-28.8 28.8c-7.2 0-14.1-2.7-19.4-7.5L11.8 282.8C4.3 275.9 0 266.2 0 256s4.3-19.9 11.8-26.8l67.9-61.7c5.3-4.8 12.2-7.5 19.4-7.5c15.9 0 28.8 12.9 28.8 28.8V240H240V128l-51.2 0c-15.9 0-28.8-12.9-28.8-28.8c0-7.2 2.7-14.1 7.5-19.4l61.7-67.9C236.1 4.3 245.8 0 256 0s19.9 4.3 26.8 11.8zM316 416H196l56.9 62.6c.8 .9 1.9 1.4 3.1 1.4s2.3-.5 3.1-1.4L316 416zM478.6 259.1c.9-.8 1.4-1.9 1.4-3.1s-.5-2.3-1.4-3.1L416 196V316l62.6-56.9zm-46.4 85.4c-5.3 4.8-12.2 7.5-19.4 7.5c-15.9 0-28.8-12.9-28.8-28.8V188.8c0-15.9 12.9-28.8 28.8-28.8c7.2 0 14.1 2.7 19.4 7.5l67.9 61.7c7.5 6.9 11.8 16.6 11.8 26.8s-4.3 19.9-11.8 26.8l-67.9 61.7zM33.4 252.9c-.9 .8-1.4 1.9-1.4 3.1s.5 2.3 1.4 3.1L96 316 96 196 33.4 252.9z\"]\n};\nvar faArrowsAlt = faUpDownLeftRight;\nvar faDryerHeat = {\n prefix: 'fal',\n iconName: 'dryer-heat',\n icon: [448, 512, [\"dryer-alt\"], \"f862\", \"M64 32C46.3 32 32 46.3 32 64V448c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H64zM0 64C0 28.7 28.7 0 64 0H384c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zm104 8a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm56 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM336 304a112 112 0 1 0 -224 0 112 112 0 1 0 224 0zM80 304a144 144 0 1 1 288 0A144 144 0 1 1 80 304zm115.3-75.3l4.7 4.7c10.2 10.2 16 24.1 16 38.6s-5.8 28.4-16 38.6l-9.4 9.4c-4.2 4.2-6.6 10-6.6 16s2.4 11.8 6.6 16l4.7 4.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-4.7-4.7c-10.2-10.2-16-24.1-16-38.6s5.8-28.4 16-38.6l9.4-9.4c4.2-4.2 6.6-10 6.6-16s-2.4-11.8-6.6-16l-4.7-4.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0zm80 0l4.7 4.7c10.2 10.2 16 24.1 16 38.6s-5.8 28.4-16 38.6l-9.4 9.4c-4.2 4.2-6.6 10-6.6 16s2.4 11.8 6.6 16l4.7 4.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-4.7-4.7c-10.2-10.2-16-24.1-16-38.6s5.8-28.4 16-38.6l9.4-9.4c4.2-4.2 6.6-10 6.6-16s-2.4-11.8-6.6-16l-4.7-4.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0z\"]\n};\nvar faDryerAlt = faDryerHeat;\nvar faHouseChimneyUser = {\n prefix: 'fal',\n iconName: 'house-chimney-user',\n icon: [576, 512, [], \"e065\", \"M298.6 4c-6-5.3-15.1-5.3-21.2 0L5.4 244c-6.6 5.8-7.3 16-1.4 22.6s16 7.3 22.6 1.4L64 235V432c0 44.2 35.8 80 80 80H432c44.2 0 80-35.8 80-80V235l37.4 33c6.6 5.8 16.7 5.2 22.6-1.4s5.2-16.7-1.4-22.6L512 192.3V56c0-13.3-10.7-24-24-24H408c-13.3 0-24 10.7-24 24V79.4L298.6 4zM416 107.6V64h64V164.1l-64-56.5zM96 432V206.7L288 37.3 480 206.7V432c0 26.5-21.5 48-48 48H144c-26.5 0-48-21.5-48-48zM256 224a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm96 0a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zM248 352h80c22.1 0 40 17.9 40 40v8c0 8.8 7.2 16 16 16s16-7.2 16-16v-8c0-39.8-32.2-72-72-72H248c-39.8 0-72 32.2-72 72v8c0 8.8 7.2 16 16 16s16-7.2 16-16v-8c0-22.1 17.9-40 40-40z\"]\n};\nvar faHandHoldingHeart = {\n prefix: 'fal',\n iconName: 'hand-holding-heart',\n icon: [576, 512, [], \"f4be\", \"M163.9 28.9C191.7 .7 235.8-.8 265.3 24.3c5.8 4.9 11 10.4 16.3 15.9c2.1 2.2 4.2 4.5 6.4 6.6c2.1-2.2 4.3-4.4 6.4-6.6c5.2-5.5 10.5-11 16.3-15.9C340.2-.8 384.3 .7 412.1 28.9c29.4 29.8 29.4 78.2 0 108L310.5 240.1c-6.2 6.3-14.3 9.4-22.5 9.4s-16.3-3.1-22.5-9.4L163.9 136.9c-29.4-29.8-29.4-78.2 0-108zm83.6 22.5c-16.8-17.1-44-17.1-60.8 0c-17.1 17.4-17.1 45.7 0 63.1L288 217.3 389.3 114.4c17.1-17.4 17.1-45.7 0-63.1c-16.8-17.1-44-17.1-60.8 0L299.4 80.9c-6.3 6.4-16.5 6.4-22.8 0L247.5 51.4zM151 317.4c13.1-8.8 28.6-13.4 44.4-13.4H344c30.9 0 56 25.1 56 56c0 8.6-1.9 16.7-5.4 24h5.6l94.7-56.4c8.3-4.9 17.8-7.6 27.5-7.6h1.3c28.9 0 52.3 23.4 52.3 52.3c0 17.7-9 34.2-23.8 43.8L432.6 493.9c-18.2 11.8-39.4 18.1-61 18.1H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H371.5c15.5 0 30.6-4.5 43.6-12.9l119.6-77.8c5.8-3.7 9.2-10.2 9.2-17c0-11.2-9.1-20.3-20.3-20.3h-1.3c-3.9 0-7.7 1.1-11.1 3l-98.5 58.7c-2.5 1.5-5.3 2.3-8.2 2.3H344 320 256c-8.8 0-16-7.2-16-16s7.2-16 16-16h64 24c13.3 0 24-10.7 24-24s-10.7-24-24-24H195.4c-9.5 0-18.7 2.8-26.6 8.1L88.9 397.3c-2.6 1.8-5.7 2.7-8.9 2.7H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H75.2L151 317.4z\"]\n};\nvar faArrowUpSmallBig = {\n prefix: 'fal',\n iconName: 'arrow-up-small-big',\n icon: [576, 512, [\"sort-size-up-alt\"], \"f88f\", \"M148.7 36.7c6.2-6.2 16.4-6.2 22.6 0l96 96c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L176 86.6V464c0 8.8-7.2 16-16 16s-16-7.2-16-16V86.6L75.3 155.3c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l96-96zM352 80v64c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16zm-32 0c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H368c-26.5 0-48-21.5-48-48V80zm32 352c0 8.8 7.2 16 16 16H496c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16V432zm-32 0V304c0-26.5 21.5-48 48-48H496c26.5 0 48 21.5 48 48V432c0 26.5-21.5 48-48 48H368c-26.5 0-48-21.5-48-48z\"]\n};\nvar faSortSizeUpAlt = faArrowUpSmallBig;\nvar faTrainTrack = {\n prefix: 'fal',\n iconName: 'train-track',\n icon: [576, 512, [], \"e453\", \"M207.1 53.2c2.9-8.4-1.5-17.5-9.9-20.4s-17.5 1.5-20.4 9.9L158.5 96H112c-8.8 0-16 7.2-16 16s7.2 16 16 16h35.4l-33.2 96H72c-8.8 0-16 7.2-16 16s7.2 16 16 16h31.1L69.8 352H32c-8.8 0-16 7.2-16 16s7.2 16 16 16H58.8L32.9 458.8c-2.9 8.3 1.5 17.5 9.9 20.4s17.5-1.5 20.4-9.9L92.6 384H483.4l29.5 85.2c2.9 8.4 12 12.8 20.4 9.9s12.8-12 9.9-20.4L517.2 384H544c8.8 0 16-7.2 16-16s-7.2-16-16-16H506.2l-33.2-96H504c8.8 0 16-7.2 16-16s-7.2-16-16-16H461.9l-33.2-96H464c8.8 0 16-7.2 16-16s-7.2-16-16-16H417.5L399.1 42.8c-2.9-8.4-12-12.8-20.4-9.9s-12.8 12-9.9 20.4L383.7 96H192.3l14.8-42.8zM181.2 128H394.8L428 224H148l33.2-96zM472.3 352H103.7l33.2-96H439.1l33.2 96z\"]\n};\nvar faPuzzlePiece = {\n prefix: 'fal',\n iconName: 'puzzle-piece',\n icon: [512, 512, [129513], \"f12e\", \"M169.1 17.3C183.8 6.3 203.2 0 224 0s40.2 6.3 54.9 17.3S304 44.6 304 64c0 19.5-10.6 35.9-25.3 46.8c-5.2 3.8-6.7 7.7-6.7 10c0 4 3.2 7.2 7.2 7.2H336c26.5 0 48 21.5 48 48v56.8c0 4 3.2 7.2 7.2 7.2c2.3 0 6.1-1.6 10-6.7c11-14.7 27.4-25.3 46.8-25.3c19.4 0 35.8 10.5 46.7 25.1s17.3 34.1 17.3 54.9s-6.3 40.2-17.3 54.9s-27.3 25.1-46.7 25.1c-19.5 0-35.9-10.6-46.8-25.3c-3.8-5.2-7.7-6.7-10-6.7c-4 0-7.2 3.2-7.2 7.2V464c0 26.5-21.5 48-48 48H279.2c-21.6 0-39.2-17.5-39.2-39.2c0-16.2 9.9-28.4 19.6-35.6c8.6-6.4 12.4-14.1 12.4-21.2c0-7.1-3.8-14.7-12.3-21.1s-21.1-10.9-35.7-10.9s-27.1 4.4-35.7 10.9s-12.3 14.1-12.3 21.1c0 7.1 3.8 14.8 12.4 21.2c9.7 7.2 19.6 19.4 19.6 35.6c0 21.7-17.5 39.2-39.2 39.2H48c-26.5 0-48-21.5-48-48V343.2C0 321.5 17.5 304 39.2 304c16.2 0 28.4 9.9 35.6 19.6C81.2 332.2 88.9 336 96 336c7.1 0 14.7-3.8 21.1-12.3s10.9-21.1 10.9-35.7s-4.4-27.1-10.9-35.7S103.1 240 96 240c-7.1 0-14.8 3.8-21.2 12.4C67.6 262.1 55.4 272 39.2 272C17.5 272 0 254.5 0 232.8V176c0-26.5 21.5-48 48-48H168.8c4 0 7.2-3.2 7.2-7.2c0-2.3-1.6-6.1-6.7-10C154.6 99.9 144 83.5 144 64c0-19.4 10.5-35.8 25.1-46.7zm19.2 25.6C179.8 49.3 176 56.9 176 64c0 7.1 3.8 14.8 12.4 21.2c9.7 7.2 19.6 19.4 19.6 35.6c0 21.6-17.5 39.2-39.2 39.2H48c-8.8 0-16 7.2-16 16v56.8c0 4 3.2 7.2 7.2 7.2c2.3 0 6.1-1.6 10-6.7C60.1 218.6 76.5 208 96 208c19.4 0 35.8 10.5 46.7 25.1s17.3 34.1 17.3 54.9s-6.3 40.2-17.3 54.9S115.4 368 96 368c-19.5 0-35.9-10.6-46.8-25.3c-3.8-5.2-7.7-6.7-10-6.7c-4 0-7.2 3.2-7.2 7.2V464c0 8.8 7.2 16 16 16H168.8c4 0 7.2-3.2 7.2-7.2c0-2.3-1.6-6.1-6.7-10c-14.7-11-25.3-27.4-25.3-46.8c0-19.4 10.5-35.8 25.1-46.7s34.1-17.3 54.9-17.3s40.2 6.3 54.9 17.3s25.1 27.3 25.1 46.7c0 19.5-10.6 35.9-25.3 46.8c-5.2 3.8-6.7 7.7-6.7 10c0 4 3.2 7.2 7.2 7.2H336c8.8 0 16-7.2 16-16V343.2c0-21.7 17.5-39.2 39.2-39.2c16.2 0 28.4 9.9 35.6 19.6c6.4 8.6 14.1 12.4 21.2 12.4c7.1 0 14.7-3.8 21.1-12.3s10.9-21.1 10.9-35.7s-4.4-27.1-10.9-35.7s-14.1-12.3-21.1-12.3c-7.1 0-14.8 3.8-21.2 12.4c-7.2 9.7-19.4 19.6-35.6 19.6c-21.7 0-39.2-17.5-39.2-39.2V176c0-8.8-7.2-16-16-16H279.2c-21.6 0-39.2-17.5-39.2-39.2c0-16.2 9.9-28.4 19.6-35.6C268.2 78.8 272 71.1 272 64c0-7.1-3.8-14.7-12.3-21.1S238.5 32 224 32s-27.1 4.4-35.7 10.9z\"]\n};\nvar faMoneyCheck = {\n prefix: 'fal',\n iconName: 'money-check',\n icon: [576, 512, [], \"f53c\", \"M64 96c-17.7 0-32 14.3-32 32V384c0 17.7 14.3 32 32 32H512c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32H64zM0 128C0 92.7 28.7 64 64 64H512c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128zm112 96H240c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zM96 336c0-8.8 7.2-16 16-16H464c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16zM360 176c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8V184c0-4.4-3.6-8-8-8H360zm-40 8c0-22.1 17.9-40 40-40h80c22.1 0 40 17.9 40 40v48c0 22.1-17.9 40-40 40H360c-22.1 0-40-17.9-40-40V184z\"]\n};\nvar faStarHalfStroke = {\n prefix: 'fal',\n iconName: 'star-half-stroke',\n icon: [576, 512, [\"star-half-alt\"], \"f5c0\", \"M202.4 186.5L65 206.8l99.8 98.8c7.4 7.3 10.8 17.8 9 28.1L150.2 473.2 272 408.1V75.1l-45.5 93.7c-4.6 9.5-13.6 16.1-24.1 17.7zM304 408.2l121.6 65L402.1 333.7c-1.7-10.3 1.6-20.7 9-28.1l99.8-98.8L373.4 186.5c-10.5-1.5-19.5-8.2-24.1-17.7L304 75.4V408.2zm146.2 99.2c-7.4 5.3-17.3 6-25.3 1.7l-137-73.2L151 509.1c-8.1 4.3-17.9 3.7-25.3-1.7s-11.2-14.5-9.7-23.5l26.2-155.6L31.1 218.2c-6.5-6.4-8.7-15.9-5.9-24.5s10.3-14.9 19.3-16.3l153.2-22.6L266.3 13.5C270.4 5.2 278.7 0 287.9 0s17.6 5.2 21.6 13.5l68.6 141.3 153.2 22.6c9 1.3 16.5 7.6 19.3 16.3s.5 18.1-5.9 24.5L433.6 328.4l26.2 155.6c1.5 9-2.2 18.1-9.7 23.5z\"]\n};\nvar faStarHalfAlt = faStarHalfStroke;\nvar faFileExclamation = {\n prefix: 'fal',\n iconName: 'file-exclamation',\n icon: [384, 512, [], \"f31a\", \"M320 480H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H192V144c0 26.5 21.5 48 48 48H352V448c0 17.7-14.3 32-32 32zM240 160c-8.8 0-16-7.2-16-16V32.5c2.8 .7 5.4 2.1 7.4 4.2L347.3 152.6c2.1 2.1 3.5 4.6 4.2 7.4H240zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V163.9c0-12.7-5.1-24.9-14.1-33.9L254.1 14.1c-9-9-21.2-14.1-33.9-14.1H64zM192 224c-8.8 0-16 7.2-16 16V352c0 8.8 7.2 16 16 16s16-7.2 16-16V240c0-8.8-7.2-16-16-16zm24 192a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faCode = {\n prefix: 'fal',\n iconName: 'code',\n icon: [640, 512, [], \"f121\", \"M405.1 .8c-8.4-2.8-17.4 1.7-20.2 10.1l-160 480c-2.8 8.4 1.7 17.4 10.1 20.2s17.4-1.7 20.2-10.1l160-480c2.8-8.4-1.7-17.4-10.1-20.2zM172 117.4c-5.9-6.6-16-7.2-22.6-1.3l-144 128C2 247.1 0 251.4 0 256s2 8.9 5.4 12l144 128c6.6 5.9 16.7 5.3 22.6-1.3s5.3-16.7-1.3-22.6L40.1 256 170.6 140c6.6-5.9 7.2-16 1.3-22.6zm296.1 0c-5.9 6.6-5.3 16.7 1.3 22.6L599.9 256 469.4 372c-6.6 5.9-7.2 16-1.3 22.6s16 7.2 22.6 1.3l144-128c3.4-3 5.4-7.4 5.4-12s-2-8.9-5.4-12l-144-128c-6.6-5.9-16.7-5.3-22.6 1.3z\"]\n};\nvar faWhiskeyGlass = {\n prefix: 'fal',\n iconName: 'whiskey-glass',\n icon: [512, 512, [129347, \"glass-whiskey\"], \"f7a0\", \"M32 64L60 256H452L480 64H32zM64.7 288L82 406.9c3.4 23.6 23.7 41.1 47.5 41.1h253c23.8 0 44.1-17.5 47.5-41.1L447.3 288H64.7zM7.8 43.1C13.9 36 22.7 32 32 32H480c9.3 0 18.1 4 24.2 11.1s8.8 16.4 7.5 25.5l-50 342.9c-5.7 39.3-39.4 68.5-79.2 68.5h-253c-39.7 0-73.4-29.1-79.2-68.5L.3 68.6C-1 59.4 1.7 50.1 7.8 43.1z\"]\n};\nvar faGlassWhiskey = faWhiskeyGlass;\nvar faMoonStars = {\n prefix: 'fal',\n iconName: 'moon-stars',\n icon: [512, 512, [], \"f755\", \"M304 0c8.8 0 16 7.2 16 16V48h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H320v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V80H256c-8.8 0-16-7.2-16-16s7.2-16 16-16h32V16c0-8.8 7.2-16 16-16zM156.6 163.9C85.3 180 32 243.8 32 320.2c0 88.5 71.6 160.2 159.8 160.2c25.7 0 50-6.1 71.5-16.9c-87.6-11.3-155.1-86.4-155.1-177.2c0-47.4 18.4-90.4 48.4-122.4zM0 320.2C0 214.1 85.8 128 191.8 128c5.5 0 10.9 .2 16.3 .7c7 .6 12.8 5.7 14.3 12.5s-1.6 13.9-7.7 17.3c-44.4 25.2-74.4 73-74.4 127.8c0 81 65.5 146.6 146.2 146.6c8.6 0 17-.7 25.1-2.2c6.9-1.2 13.8 2.2 17 8.5s1.9 13.8-3.1 18.7c-34.5 33.6-81.7 54.4-133.6 54.4C85.8 512.4 0 426.3 0 320.2zM432 160v64h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H432v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V256H336c-8.8 0-16-7.2-16-16s7.2-16 16-16h64V160c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faBuildingCircleExclamation = {\n prefix: 'fal',\n iconName: 'building-circle-exclamation',\n icon: [640, 512, [], \"e4d3\", \"M64 32H320c17.7 0 32 14.3 32 32V266.8c9.1-12.9 19.9-24.5 32-34.6V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64h64 32 64 32 64c19.5 0 37-8.7 48.7-22.5c-7.7-8-14.6-16.8-20.6-26.1c-5.4 9.9-16 16.6-28.1 16.6H256V416c0-35.3-28.7-64-64-64s-64 28.7-64 64v64H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32zM224 416v64H160V416c0-17.7 14.3-32 32-32s32 14.3 32 32zM64 120v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V120c0-13.3-10.7-24-24-24H88c-13.3 0-24 10.7-24 24zm32 8h32v32H96V128zM248 96c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V120c0-13.3-10.7-24-24-24H248zm8 64V128h32v32H256zM64 248v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V248c0-13.3-10.7-24-24-24H88c-13.3 0-24 10.7-24 24zm32 8h32v32H96V256zm152-32c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V248c0-13.3-10.7-24-24-24H248zm8 64V256h32v32H256zm128 80a112 112 0 1 1 224 0 112 112 0 1 1 -224 0zm256 0a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zM496 448a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-160c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V304c0-8.8-7.2-16-16-16z\"]\n};\nvar faClothesHanger = {\n prefix: 'fal',\n iconName: 'clothes-hanger',\n icon: [640, 512, [], \"e136\", \"M212.2 85.8C220.4 36.3 263.2 0 313.4 0C370.1 0 416 45.9 416 102.6v8.1c0 36.1-17.6 70-47.2 90.7l-20.7 14.5L612.5 396.8C629.7 408.5 640 428 640 448.9c0 34.9-28.3 63.1-63.1 63.1H63.1C28.3 512 0 483.7 0 448.9c0-20.8 10.3-40.3 27.5-52.1L310.9 202.8l39.5-27.7c21-14.7 33.6-38.8 33.6-64.5v-8.1c0-39-31.6-70.6-70.6-70.6c-34.5 0-64 25-69.7 59l-3.9 23.6c-1.5 8.7-9.7 14.6-18.4 13.2s-14.6-9.7-13.2-18.4l3.9-23.6zM320 235.4L45.6 423.2C37.1 429 32 438.6 32 448.9C32 466.1 45.9 480 63.1 480H576.9c17.2 0 31.1-13.9 31.1-31.1c0-10.3-5.1-19.9-13.6-25.7L320 235.4z\"]\n};\nvar faMobileNotch = {\n prefix: 'fal',\n iconName: 'mobile-notch',\n icon: [384, 512, [\"mobile-iphone\"], \"e1ee\", \"M256 32V48c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32V32H96C78.3 32 64 46.3 64 64V448c0 17.7 14.3 32 32 32H288c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H256zm-32 0H160V48h64V32zM32 64C32 28.7 60.7 0 96 0H288c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V64z\"]\n};\nvar faMobileIphone = faMobileNotch;\nvar faMagnifyingGlassChart = {\n prefix: 'fal',\n iconName: 'magnifying-glass-chart',\n icon: [512, 512, [], \"e522\", \"M208 32a176 176 0 1 1 0 352 176 176 0 1 1 0-352zm0 384c51.7 0 99-18.8 135.3-50L484.7 507.3c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L366 343.3c31.2-36.4 50-83.7 50-135.3C416 93.1 322.9 0 208 0S0 93.1 0 208S93.1 416 208 416zM128 224l0 64c0 8.8 7.2 16 16 16s16-7.2 16-16l0-64c0-8.8-7.2-16-16-16s-16 7.2-16 16zm64-96V288c0 8.8 7.2 16 16 16s16-7.2 16-16V128c0-8.8-7.2-16-16-16s-16 7.2-16 16zm64 64v96c0 8.8 7.2 16 16 16s16-7.2 16-16V192c0-8.8-7.2-16-16-16s-16 7.2-16 16z\"]\n};\nvar faArrowUpRightFromSquare = {\n prefix: 'fal',\n iconName: 'arrow-up-right-from-square',\n icon: [512, 512, [\"external-link\"], \"f08e\", \"M336 0c-8.8 0-16 7.2-16 16s7.2 16 16 16H457.4L212.7 276.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L480 54.6V176c0 8.8 7.2 16 16 16s16-7.2 16-16V16c0-8.8-7.2-16-16-16H336zM64 32C28.7 32 0 60.7 0 96V448c0 35.3 28.7 64 64 64H416c35.3 0 64-28.7 64-64V304c0-8.8-7.2-16-16-16s-16 7.2-16 16V448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32H208c8.8 0 16-7.2 16-16s-7.2-16-16-16H64z\"]\n};\nvar faExternalLink = faArrowUpRightFromSquare;\nvar faCubesStacked = {\n prefix: 'fal',\n iconName: 'cubes-stacked',\n icon: [448, 512, [], \"e4e6\", \"M288 64H224v64h64V64zM224 32h64c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H224c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32zM98.7 234.7l32 55.4 55.4-32-32-55.4-55.4 32zM71 250.7c-8.8-15.3-3.6-34.9 11.7-43.7l55.4-32c15.3-8.8 34.9-3.6 43.7 11.7l32 55.4c8.8 15.3 3.6 34.9-11.7 43.7l-55.4 32c-15.3 8.8-34.9 3.6-43.7-11.7L71 250.7zM352 224H288v64h64V224zm-96 0c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H288c-17.7 0-32-14.3-32-32V224zm96 224h64V384H352v64zm-32-64c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H352c-17.7 0-32-14.3-32-32V384zm-64 0H192v64h64V384zm-64-32h64c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V384c0-17.7 14.3-32 32-32zM32 384v64H96V384H32zM0 384c0-17.7 14.3-32 32-32H96c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V384z\"]\n};\nvar faImagesUser = {\n prefix: 'fal',\n iconName: 'images-user',\n icon: [576, 512, [], \"e1b9\", \"M512 64H160c-17.7 0-32 14.3-32 32V320c0 17.7 14.3 32 32 32h64V336c0-44.2 35.8-80 80-80h32 32c44.2 0 80 35.8 80 80v16h64c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zM448 384H416 256 224 160c-35.3 0-64-28.7-64-64V96c0-35.3 28.7-64 64-64H512c35.3 0 64 28.7 64 64V320c0 35.3-28.7 64-64 64H448zm-32-32V336c0-26.5-21.5-48-48-48H304c-26.5 0-48 21.5-48 48v16H416zM16 96c8.8 0 16 7.2 16 16V352c0 53 43 96 96 96H464c8.8 0 16 7.2 16 16s-7.2 16-16 16H128C57.3 480 0 422.7 0 352V112c0-8.8 7.2-16 16-16zm352 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM336 96a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]\n};\nvar faWonSign = {\n prefix: 'fal',\n iconName: 'won-sign',\n icon: [512, 512, [8361, \"krw\", \"won\"], \"f159\", \"M31.3 43.3c-2.6-8.4-11.6-13.2-20-10.6S-1.9 44.3 .7 52.7L63.3 256H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H73.1l55.6 180.7c2.1 6.8 8.4 11.4 15.6 11.3s13.3-5 15.2-11.8L208 288H304l48.5 180.2c1.9 6.9 8 11.7 15.2 11.8s13.5-4.5 15.6-11.3L438.9 288H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H448.7L511.3 52.7c2.6-8.4-2.1-17.4-10.6-20s-17.4 2.1-20 10.6L415.3 256H328.6L271.5 43.8c-1.9-7-8.2-11.8-15.4-11.8s-13.6 4.9-15.4 11.8L183.4 256H96.7L31.3 43.3zM106.6 288h68.2L143 406.3 106.6 288zm110-32L256 109.5 295.4 256H216.6zm120.6 32h68.2L369 406.3 337.2 288z\"]\n};\nvar faKrw = faWonSign;\nvar faWon = faWonSign;\nvar faImagePolaroidUser = {\n prefix: 'fal',\n iconName: 'image-polaroid-user',\n icon: [448, 512, [], \"e1b6\", \"M336 384H304 144 112 32v32c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V384H336zm-1.6-32H416V96c0-17.7-14.3-32-32-32H64C46.3 64 32 78.3 32 96V352h81.6c7.4-36.5 39.7-64 78.4-64h32 32c38.7 0 71 27.5 78.4 64zm-187.7 0H301.3c-6.6-18.6-24.4-32-45.3-32H192c-20.9 0-38.7 13.4-45.3 32zM448 96V352v16 16 32c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V384 368 352 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64zM256 192a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-32-64a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]\n};\nvar faVirusCovid = {\n prefix: 'fal',\n iconName: 'virus-covid',\n icon: [512, 512, [], \"e4a8\", \"M216 0c-8.8 0-16 7.2-16 16s7.2 16 16 16h24V72.7c-38.8 3.3-74.1 18.7-102.3 42.4L108.9 86.3l0 0 17-17c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L46.7 103.3c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l17-17 0 0 28.8 28.8C91.4 165.9 76 201.2 72.7 240H32l0-24c0-8.8-7.2-16-16-16s-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16l0-24H72.7c3.3 38.8 18.7 74.1 42.4 102.3L86.3 403.1l0 0-17-17c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l56.6 56.6c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-17-17 0 0 28.8-28.8c28.2 23.7 63.5 39 102.3 42.4V480H216c-8.8 0-16 7.2-16 16s7.2 16 16 16h80c8.8 0 16-7.2 16-16s-7.2-16-16-16H272V439.3c38.8-3.3 74.1-18.7 102.3-42.4l28.8 28.8 0 0-17 17c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l56.6-56.6c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-17 17 0 0-28.8-28.8c23.7-28.2 39-63.5 42.4-102.3H480v24c0 8.8 7.2 16 16 16s16-7.2 16-16V216c0-8.8-7.2-16-16-16s-16 7.2-16 16v24H439.3c-3.3-38.8-18.7-74.1-42.4-102.3l28.8-28.8 0 0 17 17c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L408.7 46.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l17 17 0 0-28.8 28.8C346.1 91.4 310.8 76 272 72.7V32l24 0c8.8 0 16-7.2 16-16s-7.2-16-16-16H216zm40 104a152 152 0 1 1 0 304 152 152 0 1 1 0-304zM192 208a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm0 64a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm112 56a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faSquareEllipsis = {\n prefix: 'fal',\n iconName: 'square-ellipsis',\n icon: [448, 512, [], \"e26e\", \"M32 416c0 17.7 14.3 32 32 32l320 0c17.7 0 32-14.3 32-32l0-320c0-17.7-14.3-32-32-32L64 64C46.3 64 32 78.3 32 96l0 320zm32 64c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l320 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480zM200 256a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm-72 24a24 24 0 1 1 0-48 24 24 0 1 1 0 48zm168-24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faPie = {\n prefix: 'fal',\n iconName: 'pie',\n icon: [576, 512, [129383], \"f705\", \"M288 80c-94.5 0-176.3 54.6-215.4 134.1c-4.7 9.5-12.3 17.9-22.5 22.9l-9.3 4.6c-7.9 4-11.1 13.6-7.2 21.5s13.6 11.1 21.5 7.2l39.4-19.7c11.8-5.9 25.5-6.7 37.9-2.2l34.8 12.7c21.2 7.7 44.4 7.7 65.6 0L271.6 247c10.6-3.9 22.2-3.9 32.8 0l38.8 14.1c21.2 7.7 44.4 7.7 65.6 0l34.8-12.7c12.4-4.5 26.1-3.7 37.9 2.2l39.4 19.7c7.9 4 17.5 .7 21.5-7.2s.7-17.5-7.2-21.5l-9.3-4.6c-10.2-5.1-17.8-13.4-22.5-22.9C464.3 134.6 382.5 80 288 80zM43.8 200C88.2 110 180.8 48 288 48s199.8 62 244.2 152c1.9 3.9 4.8 6.8 8.1 8.5l9.3 4.6c23.7 11.9 33.3 40.7 21.5 64.4s-40.7 33.3-64.4 21.5l-39.4-19.7c-3.9-2-8.5-2.2-12.6-.7l-34.8 12.7c-28.3 10.3-59.2 10.3-87.5 0l-38.8-14.1c-3.5-1.3-7.4-1.3-10.9 0l-38.8 14.1c-28.3 10.3-59.2 10.3-87.5 0l-34.8-12.7c-4.1-1.5-8.7-1.2-12.6 .7L69.5 298.9c-23.7 11.9-52.5 2.2-64.4-21.5s-2.2-52.5 21.5-64.4l9.3-4.6c3.2-1.6 6.1-4.5 8.1-8.5zM58.5 335.4c11.4-.9 22-3 31.8-5.8l23.3 69.9c3.3 9.8 12.4 16.4 22.8 16.4l303.3 0c10.3 0 19.5-6.6 22.8-16.4l23.3-69.9c9.8 2.8 20.4 4.8 31.8 5.8l-24.8 74.3c-7.6 22.9-29 38.3-53.1 38.3l-303.3 0c-24.1 0-45.5-15.4-53.1-38.3L58.5 335.4zM206.3 151.2l-16 32c-4 7.9-13.6 11.1-21.5 7.2s-11.1-13.6-7.2-21.5l16-32c4-7.9 13.6-11.1 21.5-7.2s11.1 13.6 7.2 21.5zm192-14.3l16 32c4 7.9 .7 17.5-7.2 21.5s-17.5 .7-21.5-7.2l-16-32c-4-7.9-.7-17.5 7.2-21.5s17.5-.7 21.5 7.2zM304 144l0 32c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faChessKnightPiece = {\n prefix: 'fal',\n iconName: 'chess-knight-piece',\n icon: [320, 512, [\"chess-knight-alt\"], \"f442\", \"M53.3 96l80.4 0C210.1 96 272 157.9 272 234.3c0 12.7-1.7 25.3-5.2 37.5L244.3 352h33.2l20.1-71.5c4.2-15 6.4-30.6 6.4-46.2C304 140.3 227.7 64 133.7 64L45.3 64c-16 0-28.9 12.9-28.9 28.9c0 8.2 3.5 16 9.6 21.5l7.7 6.9c-11.1 14-17.3 31.5-17.3 49.5l-.2 65.1c-.1 26.9 17.6 49.7 42.1 57.3c-6.3 11.7-9.8 25-9.8 38.7L48.2 352h32l.2-19.8h0V332c0-15.6 7.4-30.3 19.9-39.7l76.1-46.7c7.5-4.6 9.9-14.5 5.3-22s-14.5-9.9-22-5.3l-36.5 22.4c-1.2 .4-2.3 .9-3.4 1.5L90.3 260c-4.4 2.6-9.4 4-14.5 4c-15.3-.1-27.7-12.6-27.7-27.9l.2-65.1c0-11.7 4.3-23 12.1-31.7l7.6-8.6c5.8-6.6 5.3-16.6-1.3-22.5L53.3 96zM96 192a16 16 0 1 0 0-32 16 16 0 1 0 0 32zM65.8 416l188.4 0 32.7 52.7c.7 1.2 1.1 2.5 1.1 3.9c0 4.1-3.3 7.4-7.4 7.4H39.4c-4.1 0-7.4-3.3-7.4-7.4c0-1.4 .4-2.7 1.1-3.9L65.8 416zm188.4-32H65.8c-11.1 0-21.4 5.7-27.2 15.1L5.9 451.8C2.1 458 0 465.2 0 472.6C0 494.3 17.7 512 39.4 512H280.6c21.8 0 39.4-17.7 39.4-39.4c0-7.3-2.1-14.5-5.9-20.8l-32.7-52.7c-5.8-9.4-16.1-15.1-27.2-15.1z\"]\n};\nvar faChessKnightAlt = faChessKnightPiece;\nvar faAustralSign = {\n prefix: 'fal',\n iconName: 'austral-sign',\n icon: [448, 512, [], \"e0a9\", \"M238.7 41.8c-2.5-5.9-8.3-9.8-14.7-9.8s-12.2 3.8-14.7 9.8L132.2 224H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H118.6L91.6 320H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H78L33.3 457.8c-3.4 8.1 .4 17.5 8.5 21s17.5-.4 21-8.5l50-118.2H335.2l50 118.2c3.4 8.1 12.8 11.9 21 8.5s11.9-12.8 8.5-21L370 352h62c8.8 0 16-7.2 16-16s-7.2-16-16-16H356.5l-27.1-64H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H315.8L238.7 41.8zM281.1 224H166.9L224 89.1 281.1 224zM153.4 256H294.6l27.1 64H126.3l27.1-64z\"]\n};\nvar faCloudPlus = {\n prefix: 'fal',\n iconName: 'cloud-plus',\n icon: [640, 512, [], \"e35e\", \"M389.8 125.2C363.7 88.1 320.7 64 272 64c-77.4 0-140.5 61-143.9 137.5c-.6 13-9 24.4-21.3 28.8C63.2 245.7 32 287.2 32 336c0 61.9 50.1 112 112 112H512c53 0 96-43 96-96c0-36.8-20.7-68.8-51.2-84.9c-13.4-7.1-20-22.5-15.8-37.1c2-6.9 3-14.3 3-22c0-44.2-35.8-80-80-80c-12.3 0-23.9 2.8-34.3 7.7c-14.1 6.7-30.9 2.3-39.9-10.5zM272 32c59.5 0 112.1 29.5 144 74.8C430.5 99.9 446.8 96 464 96c61.9 0 112 50.1 112 112c0 10.7-1.5 21-4.3 30.8C612.3 260.2 640 302.9 640 352c0 70.7-57.3 128-128 128H144C64.5 480 0 415.5 0 336c0-62.8 40.2-116.1 96.2-135.9C100.3 106.6 177.4 32 272 32zm32 352V304H224c-8.8 0-16-7.2-16-16s7.2-16 16-16h80V192c0-8.8 7.2-16 16-16s16 7.2 16 16v80h80c8.8 0 16 7.2 16 16s-7.2 16-16 16H336v80c0 8.8-7.2 16-16 16s-16-7.2-16-16z\"]\n};\nvar faF = {\n prefix: 'fal',\n iconName: 'f',\n icon: [320, 512, [102], \"46\", \"M48 32C21.5 32 0 53.5 0 80V248 464c0 8.8 7.2 16 16 16s16-7.2 16-16V272H240c8.8 0 16-7.2 16-16s-7.2-16-16-16H32V80c0-8.8 7.2-16 16-16H304c8.8 0 16-7.2 16-16s-7.2-16-16-16H48z\"]\n};\nvar faLeaf = {\n prefix: 'fal',\n iconName: 'leaf',\n icon: [512, 512, [], \"f06c\", \"M132 238.3c23.6-9.3 49.2-14.3 76-14.3h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H208c-28.8 0-56 6.9-80 19.2C129.7 353.2 193.5 416 272 416h0l.8 0c109-.5 207.2-110.5 207.2-259.4c0-23-2.4-45.2-6.9-66.3C447.5 113.7 413.4 128 376 128l-104 0c-67.9 0-124.9 47-140 110.3zM96.7 256.3C104.7 166.4 180.1 96 272 96l104 0c35.2 0 66.6-16.2 87.2-41.7l.6-.8c2.3-2.9 4.4-5.8 6.4-8.9c1.6-2.5 3.2-5.1 4.6-7.8c3.5-6.5 13.6-6.8 16.2 .1c1.3 3.5 2.5 7 3.7 10.6s2.3 7.1 3.4 10.8l.4 1.5c8.8 30.3 13.5 62.8 13.5 96.8C512 317.1 405.1 447.3 273 448l-1 0c-89.4 0-163.2-66.7-174.5-153C57.5 327.3 32 376.7 32 432v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V432c0-73.9 38.6-138.9 96.7-175.7z\"]\n};\nvar faBedBunk = {\n prefix: 'fal',\n iconName: 'bed-bunk',\n icon: [576, 512, [], \"f8f8\", \"M32 16C32 7.2 24.8 0 16 0S0 7.2 0 16V176 431.7 496c0 8.8 7.2 16 16 16s16-7.2 16-16V447.7H240 544V496c0 8.8 7.2 16 16 16s16-7.2 16-16V431.7 272 176 112C576 50.1 525.9 0 464 0H256c-17.7 0-32 14.3-32 32V160H32V16zM224 288V415.7H32V192H240 544v64H256c-17.7 0-32 14.3-32 32zM544 112v48H256V32H464c44.2 0 80 35.8 80 80zM256 288l288 0V415.7H256V288zM128 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 96A64 64 0 1 0 128 0a64 64 0 1 0 0 128zm0 160a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 96a64 64 0 1 0 0-128 64 64 0 1 0 0 128z\"]\n};\nvar faRoad = {\n prefix: 'fal',\n iconName: 'road',\n icon: [576, 512, [128739], \"f018\", \"M185.6 32c-26.9 0-50.9 16.8-60.1 42L8.5 394c-15.3 41.8 15.7 86 60.1 86H507.4c44.5 0 75.4-44.2 60.1-86L450.5 74c-9.2-25.2-33.2-42-60.1-42H185.6zM155.5 85c4.6-12.6 16.6-21 30.1-21H272v48c0 8.8 7.2 16 16 16s16-7.2 16-16V64h86.4c13.4 0 25.4 8.4 30.1 21L537.4 405c7.6 20.9-7.8 43-30.1 43H304V400c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H68.6c-22.2 0-37.7-22.1-30.1-43L155.5 85zM304 208c0-8.8-7.2-16-16-16s-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V208z\"]\n};\nvar faTaxi = {\n prefix: 'fal',\n iconName: 'taxi',\n icon: [512, 512, [128662, \"cab\"], \"f1ba\", \"M192 48V64H320V48c0-8.8-7.2-16-16-16H208c-8.8 0-16 7.2-16 16zM160 64V48c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48V64h.4c35.3 0 66.5 23.2 76.6 57l34.3 114.4 .4 1.3C492.6 253.2 512 284.3 512 320v96 16 16 48c0 8.8-7.2 16-16 16s-16-7.2-16-16V448H32v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V448 432 416 320c0-35.7 19.4-66.8 48.3-83.3l.4-1.3L83 121c10.2-33.8 41.3-57 76.6-57h.4zm-.4 32c-21.2 0-39.9 13.9-46 34.2L85.3 224.6c3.5-.4 7.1-.6 10.7-.6H416c3.6 0 7.2 .2 10.7 .6l-28.3-94.4c-6.1-20.3-24.8-34.2-46-34.2H159.6zM74.7 259.9l-.5-.1C49.6 268.7 32 292.3 32 320v96H480V320c0-27.7-17.6-51.3-42.3-60.2l-.5 .1-.1-.3c-6.6-2.3-13.8-3.6-21.2-3.6H96c-7.4 0-14.5 1.3-21.2 3.6l-.1 .3zM80 328a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm328-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faCab = faTaxi;\nvar faPersonCirclePlus = {\n prefix: 'fal',\n iconName: 'person-circle-plus',\n icon: [576, 512, [], \"e541\", \"M160 80a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-80a56 56 0 1 1 0 112A56 56 0 1 1 160 0zM128 164V320h64V164c-6-2.6-12.5-4-19.3-4H147.3c-6.8 0-13.3 1.4-19.3 4zm0 188V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V202.1L46.1 295.5c-4.2 7.8-13.9 10.7-21.7 6.6s-10.7-13.9-6.6-21.7L76.7 170.3c13.9-26 41-42.3 70.6-42.3h25.4c29.5 0 56.7 16.3 70.6 42.3l48.7 91.1c-7.5 9.8-14 20.5-19.3 31.8l-48.6-91V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V352H128zm416 16a112 112 0 1 0 -224 0 112 112 0 1 0 224 0zm-256 0a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm160-64v48h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H448v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V384H368c-8.8 0-16-7.2-16-16s7.2-16 16-16h48V304c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faChartPie = {\n prefix: 'fal',\n iconName: 'chart-pie',\n icon: [576, 512, [\"pie-chart\"], \"f200\", \"M511.3 208H336V32.7c93.3 7.7 167.6 82.1 175.3 175.3zM320 240H528.5c8.4 0 15.4-6.5 15.5-14.9l0-1.1C544 100.3 443.7 0 320 0l-1.1 0C310.5 0 304 7.1 304 15.5V224c0 8.8 7.2 16 16 16zm-86.6 70.6L375.3 452.6C344.9 470 309.6 480 272 480C157.1 480 64 386.9 64 272c0-98.3 68.3-180.8 160-202.4V288c0 8.5 3.4 16.6 9.4 22.6zM239 34.3C122.1 50.3 32 150.7 32 272c0 132.5 107.5 240 240 240c51.8 0 99.8-16.4 139-44.3c7.7-5.5 8.2-16.5 1.5-23.1L256 288V49.6c0-9.2-7.8-16.6-17-15.4zM489.6 412.3L397.3 320H538.4c-8.3 35-25.4 66.6-48.9 92.3zM573.8 305c1.3-9.2-6.1-17-15.4-17H358.6c-14.3 0-21.4 17.2-11.3 27.3L478.7 446.7c5.8 5.8 15.2 6.3 21.2 .7c39.3-36.7 66.2-86.5 73.9-142.3z\"]\n};\nvar faPieChart = faChartPie;\nvar faBoltLightning = {\n prefix: 'fal',\n iconName: 'bolt-lightning',\n icon: [384, 512, [], \"e0b7\", \"M32 30.9C32 13.8 45.9 0 62.9 0H226.2C242.7 0 256 13.3 256 29.8c0 3.2-.5 6.4-1.5 9.4L214.2 160H355.8c15.6 0 28.2 12.6 28.2 28.2c0 5.7-1.7 11.2-4.9 15.9l-203.2 297c-4.6 6.8-12.3 10.8-20.5 10.8c-16.2 0-28-15.2-24.1-30.9L179.5 288H30.9C13.9 288 0 274.1 0 257.1c0-1.5 .1-2.9 .3-4.4L32 30.9zM64 32c0 1.1-.1 2.2-.3 3.3L32.2 256H200c4.9 0 9.6 2.3 12.6 6.2s4.1 8.9 2.9 13.7L171.9 450.2 348.6 192H192c-5.1 0-10-2.5-13-6.6s-3.8-9.5-2.2-14.4L223.1 32H64z\"]\n};\nvar faClockEight = {\n prefix: 'fal',\n iconName: 'clock-eight',\n icon: [512, 512, [], \"e345\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM272 112V256c0 5.3-2.7 10.3-7.1 13.3l-96 64c-7.4 4.9-17.3 2.9-22.2-4.4s-2.9-17.3 4.4-22.2L240 247.4V112c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faSackXmark = {\n prefix: 'fal',\n iconName: 'sack-xmark',\n icon: [512, 512, [], \"e56a\", \"M310.5 144h-109l-5.3 3.4C141.4 182.5 32 268.3 32 416c0 35.3 28.7 64 64 64H416c35.3 0 64-28.7 64-64c0-147.7-109.4-233.5-164.3-268.6l-5.3-3.4zm-3.8-41.8L355.1 32H156.9l48.4 70.2 6.7 9.8h87.8l6.7-9.8zM0 416C0 273.4 91.2 183.7 152.6 138.5c9.7-7.1 18.6-13.2 26.4-18.1L160.8 94 121.9 37.6C111 21.7 122.4 0 141.7 0H370.3c19.3 0 30.7 21.7 19.8 37.6L351.2 94 333 120.4c7.7 4.9 16.7 11 26.4 18.1C420.8 183.7 512 273.4 512 416c0 53-43 96-96 96H96c-53 0-96-43-96-96zM256 297.4l52.7-52.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L278.6 320l52.7 52.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L256 342.6l-52.7 52.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L233.4 320l-52.7-52.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L256 297.4z\"]\n};\nvar faFileXls = {\n prefix: 'fal',\n iconName: 'file-xls',\n icon: [512, 512, [], \"e64d\", \"M64 480h64v32H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H220.1c12.7 0 24.9 5.1 33.9 14.1L369.9 129.9c9 9 14.1 21.2 14.1 33.9V288H352V192H240c-26.5 0-48-21.5-48-48V32H64C46.3 32 32 46.3 32 64V448c0 17.7 14.3 32 32 32zM351.5 160c-.7-2.8-2.1-5.4-4.2-7.4L231.4 36.7c-2.1-2.1-4.6-3.5-7.4-4.2V144c0 8.8 7.2 16 16 16H351.5zM224 368c0 7.3 2.2 14.4 6.2 20.4l9.8 14.7 9.8-14.7c4-6.1 6.2-13.2 6.2-20.4c0-8.8 7.2-16 16-16s16 7.2 16 16c0 13.6-4 26.9-11.6 38.2L259.2 432l17.2 25.8C284 469.1 288 482.4 288 496c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-7.3-2.2-14.4-6.2-20.4L240 460.8l-9.8 14.7c-4 6.1-6.2 13.2-6.2 20.4c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-13.6 4-26.9 11.6-38.2L220.8 432l-17.2-25.8C196 394.9 192 381.6 192 368c0-8.8 7.2-16 16-16s16 7.2 16 16zm96 128V368c0-8.8 7.2-16 16-16s16 7.2 16 16V480h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H336c-8.8 0-16-7.2-16-16zm88-98.3c0-25.2 20.4-45.7 45.7-45.7H480c8.8 0 16 7.2 16 16s-7.2 16-16 16H453.7c-7.5 0-13.7 6.1-13.7 13.7c0 5.2 2.9 9.9 7.6 12.2l31.2 15.6c15.5 7.7 25.2 23.5 25.2 40.8c0 25.2-20.4 45.7-45.7 45.7H432c-8.8 0-16-7.2-16-16s7.2-16 16-16h26.3c7.5 0 13.7-6.1 13.7-13.7c0-5.2-2.9-9.9-7.6-12.2l-31.2-15.6C417.8 430.8 408 415 408 397.7z\"]\n};\nvar faFileExcel = {\n prefix: 'fal',\n iconName: 'file-excel',\n icon: [384, 512, [], \"f1c3\", \"M320 480H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H192V144c0 26.5 21.5 48 48 48H352V448c0 17.7-14.3 32-32 32zM240 160c-8.8 0-16-7.2-16-16V32.5c2.8 .7 5.4 2.1 7.4 4.2L347.3 152.6c2.1 2.1 3.5 4.6 4.2 7.4H240zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V163.9c0-12.7-5.1-24.9-14.1-33.9L254.1 14.1c-9-9-21.2-14.1-33.9-14.1H64zm85.1 246.8c-5.1-7.2-15-9-22.3-3.9s-9 15-3.9 22.3L172.5 336l-49.6 70.8c-5.1 7.2-3.3 17.2 3.9 22.3s17.2 3.3 22.3-3.9L192 363.9l42.9 61.3c5.1 7.2 15 9 22.3 3.9s9-15 3.9-22.3L211.5 336l49.6-70.8c5.1-7.2 3.3-17.2-3.9-22.3s-17.2-3.3-22.3 3.9L192 308.1l-42.9-61.3z\"]\n};\nvar faFileContract = {\n prefix: 'fal',\n iconName: 'file-contract',\n icon: [384, 512, [], \"f56c\", \"M320 480H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H192V144c0 26.5 21.5 48 48 48H352V448c0 17.7-14.3 32-32 32zM240 160c-8.8 0-16-7.2-16-16V32.5c2.8 .7 5.4 2.1 7.4 4.2L347.3 152.6c2.1 2.1 3.5 4.6 4.2 7.4H240zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V163.9c0-12.7-5.1-24.9-14.1-33.9L254.1 14.1c-9-9-21.2-14.1-33.9-14.1H64zM80 64c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H80zm0 64c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H80zm54.2 253.8L144 349l16.7 55.6c1.7 5.8 6.6 10.1 12.5 11.2s12-1.3 15.6-6.2l17.6-23.4c1-1.4 2.7-2.2 4.4-2.2c2.1 0 4 1.2 4.9 3l10.1 20.1c2.7 5.4 8.3 8.8 14.3 8.8h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H249.9l-5.6-11.3C237.9 360 224.9 352 210.7 352c-11 0-21.4 4.8-28.5 13.1l-12.6-42.1C166.2 311.7 155.8 304 144 304s-22.2 7.7-25.6 19.1l-14.9 49.5c-2 6.8-8.3 11.4-15.3 11.4H80c-8.8 0-16 7.2-16 16s7.2 16 16 16h8.2c21.2 0 39.9-13.9 46-34.2z\"]\n};\nvar faFishFins = {\n prefix: 'fal',\n iconName: 'fish-fins',\n icon: [576, 512, [], \"e4f2\", \"M247.8 148c13.4-6.2 20.8-20.8 17.9-35.3L256 64l77.6 58.2c4.9 3.7 10.8 5.9 16.9 6.3c47.2 3.4 88 23.2 120.3 47.5c35.5 26.7 60.8 58.7 73.2 80c-12.4 21.3-37.6 53.3-73.2 80c-32.3 24.2-73.1 44.1-120.3 47.5c-6.1 .4-12 2.6-16.9 6.3L256 448l9.7-48.6c2.9-14.5-4.5-29.1-17.9-35.3c-17.1-7.9-32.7-17.6-46.6-28c-13.8-10.4-26.1-21.6-36.8-32.8c-10.2-10.7-26.5-13-39.3-5.5L32 352l45.8-80.1c5.6-9.8 5.6-21.9 0-31.8L32 160l93.1 54.3c12.8 7.5 29 5.2 39.3-5.5c10.7-11.2 23-22.4 36.8-32.8c13.9-10.5 29.6-20.2 46.6-28zM9.5 137.3C-.8 147.5-3 163.3 4.2 175.9L50 256 4.2 336.1c-7.2 12.6-5 28.4 5.3 38.6s26.1 12.2 38.6 4.9l93.1-54.3c11.8 12.3 25.4 24.8 40.7 36.3c15.5 11.6 33 22.5 52.4 31.5l-9.7 48.6c-2.6 13 3.1 26.3 14.3 33.3s25.6 6.5 36.3-1.5l77.6-58.2c54.9-4 101.5-27 137.2-53.8c39.2-29.4 67.2-64.7 81.6-89.5c5.8-9.9 5.8-22.2 0-32.1c-14.4-24.8-42.5-60.1-81.6-89.5c-35.8-26.8-82.3-49.8-137.2-53.8L275.2 38.4c-10.6-8-25-8.5-36.3-1.5S222 57.3 224.6 70.3l9.7 48.6c-19.4 9-36.9 19.9-52.4 31.5c-15.3 11.5-29 23.9-40.7 36.3L48.1 132.4c-12.5-7.3-28.4-5.3-38.6 4.9zM416 280a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faCircleQ = {\n prefix: 'fal',\n iconName: 'circle-q',\n icon: [512, 512, [], \"e11e\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM160 256c0-53 43-96 96-96s96 43 96 96c0 20.7-6.6 39.9-17.7 55.6l-50.9-50.9c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l50.9 50.9C295.9 345.4 276.7 352 256 352c-53 0-96-43-96-96zm224 0c0-70.7-57.3-128-128-128s-128 57.3-128 128s57.3 128 128 128c29.6 0 56.8-10 78.5-26.9l22.2 22.2c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-22.2-22.2C374 312.8 384 285.6 384 256z\"]\n};\nvar faBuildingFlag = {\n prefix: 'fal',\n iconName: 'building-flag',\n icon: [640, 512, [], \"e4d5\", \"M64 32C46.3 32 32 46.3 32 64V448c0 17.7 14.3 32 32 32h64V416c0-35.3 28.7-64 64-64s64 28.7 64 64v64h64c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H64zM224 416c0-17.7-14.3-32-32-32s-32 14.3-32 32v64h64V416zm-96 96H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H256 224 160 128zM64 120c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H88c-13.3 0-24-10.7-24-24V120zm32 8v32h32V128H96zM248 96h48c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H248c-13.3 0-24-10.7-24-24V120c0-13.3 10.7-24 24-24zm8 64h32V128H256v32zM64 248c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H88c-13.3 0-24-10.7-24-24V248zm32 8v32h32V256H96zm152-32h48c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H248c-13.3 0-24-10.7-24-24V248c0-13.3 10.7-24 24-24zm8 64h32V256H256v32zM432 0c8.8 0 16 7.2 16 16V32H608c17.7 0 32 14.3 32 32V192c0 17.7-14.3 32-32 32H448V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V224 192 64 32 16c0-8.8 7.2-16 16-16zm16 192H608V64H448V192z\"]\n};\nvar faFaceGrinBeam = {\n prefix: 'fal',\n iconName: 'face-grin-beam',\n icon: [512, 512, [128516, \"grin-beam\"], \"f582\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256 98.1c-31.2 0-61.4-2.9-89.9-8.3c22.6 23.6 54.5 38.3 89.9 38.3s67.3-14.7 89.9-38.3c-28.5 5.4-58.7 8.3-89.9 8.3zm142.8-30.7c-24.1 54.6-79 92.7-142.8 92.7s-118.7-38.1-142.8-92.7c-5.2-11.7 6.8-22.4 19.1-18.7c37.3 11.1 79.3 17.4 123.8 17.4s86.4-6.3 123.8-17.4c12.3-3.7 24.2 7 19.1 18.7zm-242.4-135c-6.2 7.2-10.8 16.8-12.9 25.4c-2.1 8.6-10.8 13.8-19.4 11.6s-13.8-10.8-11.6-19.4c3.2-12.7 9.8-27.1 19.9-38.6C142.4 155.9 157.2 146 176 146s33.6 9.9 43.7 21.5c10 11.5 16.7 25.9 19.9 38.6c2.1 8.6-3.1 17.3-11.6 19.4s-17.3-3.1-19.4-11.6c-2.1-8.6-6.7-18.2-12.9-25.4c-6.2-7.1-12.8-10.5-19.5-10.5s-13.4 3.4-19.5 10.5zm147.1 25.4c-2.1 8.6-10.8 13.8-19.4 11.6s-13.8-10.8-11.6-19.4c3.2-12.7 9.8-27.1 19.9-38.6C302.4 155.9 317.2 146 336 146s33.6 9.9 43.7 21.5c10 11.5 16.7 25.9 19.9 38.6c2.1 8.6-3.1 17.3-11.6 19.4s-17.3-3.1-19.4-11.6c-2.1-8.6-6.7-18.2-12.9-25.4c-6.2-7.1-12.8-10.5-19.5-10.5s-13.4 3.4-19.5 10.5c-6.2 7.2-10.8 16.8-12.9 25.4z\"]\n};\nvar faGrinBeam = faFaceGrinBeam;\nvar faObjectUngroup = {\n prefix: 'fal',\n iconName: 'object-ungroup',\n icon: [640, 512, [], \"f248\", \"M0 64c0 29.8 20.4 54.9 48 62V226c-27.6 7.1-48 32.2-48 62c0 35.3 28.7 64 64 64c29.8 0 54.9-20.4 62-48H322c7.1 27.6 32.2 48 62 48c35.3 0 64-28.7 64-64c0-29.8-20.4-54.9-48-62V126c27.6-7.1 48-32.2 48-62c0-35.3-28.7-64-64-64c-29.8 0-54.9 20.4-62 48H126C118.9 20.4 93.8 0 64 0C28.7 0 0 28.7 0 64zM322 80c5.8 22.5 23.5 40.2 46 46V226c-22.5 5.8-40.2 23.5-46 46H126c-5.8-22.5-23.5-40.2-46-46V126c22.5-5.8 40.2-23.5 46-46H322zM480 208H464v32h16 34c5.8 22.5 23.5 40.2 46 46V386c-22.5 5.8-40.2 23.5-46 46H318c-5.8-22.5-23.5-40.2-46-46V352 336H240v16 34c-27.6 7.1-48 32.2-48 62c0 35.3 28.7 64 64 64c29.8 0 54.9-20.4 62-48H514c7.1 27.6 32.2 48 62 48c35.3 0 64-28.7 64-64c0-29.8-20.4-54.9-48-62V286c27.6-7.1 48-32.2 48-62c0-35.3-28.7-64-64-64c-29.8 0-54.9 20.4-62 48H480zm96 48a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM544 448a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM256 480a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm96-192a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM64 320a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM352 64a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM64 96a32 32 0 1 1 0-64 32 32 0 1 1 0 64z\"]\n};\nvar faFaceDisguise = {\n prefix: 'fal',\n iconName: 'face-disguise',\n icon: [512, 512, [], \"e370\", \"M480 256c0 123.7-100.3 224-224 224S32 379.7 32 256c0-16.5 1.8-32.5 5.2-48H72c0 50.1 38.4 91.2 87.3 95.6c-9.6 7.9-15.3 19.7-15.3 32.4c0 15.9 9 30.4 23.1 37.5L147.5 398c-5.5 6.9-4.4 17 2.5 22.5s17 4.4 22.5-2.5l23.9-29.9 7.3 3.6-10.5 26.3c-3.3 8.2 .7 17.5 8.9 20.8s17.5-.7 20.8-8.9l10-24.9c2.4 .7 4.8 1.3 7.2 1.8V432c0 8.8 7.2 16 16 16s16-7.2 16-16V406.8c2.4-.5 4.8-1.1 7.2-1.8l10 24.9c3.3 8.2 12.6 12.2 20.8 8.9s12.2-12.6 8.9-20.8l-10.5-26.3 7.3-3.6L339.5 418c5.5 6.9 15.6 8 22.5 2.5s8-15.6 2.5-22.5l-19.6-24.5C359 366.4 368 351.9 368 336c0-12.7-5.7-24.5-15.3-32.4c49-4.4 87.3-45.5 87.3-95.6h34.8c3.4 15.5 5.2 31.5 5.2 48zM218 229.5l-21.4 35.7c-1.1 .6-1.9 1-2.6 1.3c-7.9 3.5-16.8 5.5-26.1 5.5c-35.3 0-64-28.7-64-64s28.7-64 64-64s64 28.7 64 64c0 2.5-.1 4.9-.4 7.3c-5.4 3.6-10.1 8.4-13.5 14.1zm75.9 0c-3.5-5.8-8.1-10.6-13.5-14.1c-.3-2.4-.4-4.9-.4-7.3c0-35.3 28.7-64 64-64s64 28.7 64 64s-28.7 64-64 64c-9.3 0-18.1-2-26.1-5.5c-.6-.3-1.5-.7-2.6-1.3L294 229.5zM465.3 176H434.5c-5.3-14.9-14.1-28-25.4-38.5l5.2-10.3c4-7.9 .7-17.5-7.2-21.5s-17.5-.7-21.5 7.2l-3.5 7c-4.6-2-9.3-3.6-14.2-4.9V96c0-8.8-7.2-16-16-16s-16 7.2-16 16v16.3c-4.4 .4-8.7 1-13 2l-4.7-9.5c-4-7.9-13.6-11.1-21.5-7.2s-11.1 13.6-7.2 21.5l3.6 7.3c-16.4 10.2-29.5 25.3-37.3 43.1c-7.8-17.9-20.9-32.9-37.3-43.1l3.6-7.3c4-7.9 .7-17.5-7.2-21.5s-17.5-.7-21.5 7.2l-4.7 9.5c-4.2-.9-8.6-1.6-13-2V96c0-8.8-7.2-16-16-16s-16 7.2-16 16v19c-4.9 1.3-9.6 2.9-14.2 4.9l-3.5-7c-4-7.9-13.6-11.1-21.5-7.2s-11.1 13.6-7.2 21.5l5.2 10.3C91.5 148 82.7 161.1 77.5 176H46.7C78.9 91.8 160.5 32 256 32s177.1 59.8 209.3 144zm34.1 .4C465.9 74 369.6 0 256 0S46.1 74 12.6 176.4C5.4 177.9 0 184.3 0 192c0 4.7 2 9 5.3 11.9C1.8 220.7 0 238.1 0 256C0 397.4 114.6 512 256 512s256-114.6 256-256c0-17.9-1.8-35.3-5.3-52.1c3.3-2.9 5.3-7.2 5.3-11.9c0-7.7-5.4-14.1-12.6-15.6zM256 240c4.3 0 8.3 2.3 10.5 6l39.8 66.3 2.4 4 4.2 2.1 17.7 8.8c3.4 1.7 5.5 5.1 5.5 8.8s-2.1 7.2-5.5 8.8l-53.1 26.5c-13.5 6.8-29.4 6.8-42.9 0l-53.1-26.5c-3.4-1.7-5.5-5.1-5.5-8.8s2.1-7.2 5.5-8.8l17.7-8.8 4.2-2.1 2.4-4L245.5 246c2.2-3.7 6.2-6 10.5-6zm-64-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm152 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faCircleArrowDownRight = {\n prefix: 'fal',\n iconName: 'circle-arrow-down-right',\n icon: [512, 512, [], \"e0fa\", \"M256 480a224 224 0 1 1 0-448 224 224 0 1 1 0 448zM256 0a256 256 0 1 0 0 512A256 256 0 1 0 256 0zM200 352H336c8.8 0 16-7.2 16-16V192c0-8.8-7.2-16-16-16s-16 7.2-16 16V297.4L187.3 164.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L297.4 320H200c-8.8 0-16 7.2-16 16s7.2 16 16 16z\"]\n};\nvar faAlien8bit = {\n prefix: 'fal',\n iconName: 'alien-8bit',\n icon: [576, 512, [128126, \"alien-monster\"], \"f8f6\", \"M128 32c-17.7 0-32 14.3-32 32V96c0 17.7 14.3 32 32 32h32v32H96V144c0-17.7-14.3-32-32-32H32c-17.7 0-32 14.3-32 32V288c0 17.7 14.3 32 32 32H64v32c0 17.7 14.3 32 32 32h32v64c0 17.7 14.3 32 32 32h80c17.7 0 32-14.3 32-32V416c0-17.7-14.3-32-32-32h96c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32h80c17.7 0 32-14.3 32-32V384h32c17.7 0 32-14.3 32-32V320h32c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32H512c-17.7 0-32 14.3-32 32v16H416V128h32c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H416c-17.7 0-32 14.3-32 32H352c-17.7 0-32 14.3-32 32v32H256V96c0-17.7-14.3-32-32-32H192c0-17.7-14.3-32-32-32H128zM480 192v48c0 8.8 7.2 16 16 16s16-7.2 16-16V176 144h32V288H496c-8.8 0-16 7.2-16 16v48H432 368 208 144 96V304c0-8.8-7.2-16-16-16H32V144H64v32 64c0 8.8 7.2 16 16 16s16-7.2 16-16V192h80c8.8 0 16-7.2 16-16V112 96h32v48c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16V96h32v16 64c0 8.8 7.2 16 16 16h80zM128 96V64h32V80 96H128zm320 0H416V80 64h32V96zM160 448V384h32v16c0 8.8 7.2 16 16 16h32v32H160zm224-48V384h32v64H336V416h32c8.8 0 16-7.2 16-16zM224 240c0-8.8-7.2-16-16-16s-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V240zm160 0c0-8.8-7.2-16-16-16s-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V240z\"]\n};\nvar faAlienMonster = faAlien8bit;\nvar faHandPointRibbon = {\n prefix: 'fal',\n iconName: 'hand-point-ribbon',\n icon: [448, 512, [], \"e1a6\", \"M128 56c0-13.3 10.7-24 24-24s24 10.7 24 24v8H128V56zM96 64H32c-6.2 0-11.8 3.5-14.4 9.1s-1.9 12.1 1.9 16.9l24 30-24 30c-3.8 4.8-4.6 11.4-1.9 16.9s8.3 9.1 14.4 9.1H96v80c-19.4 14.6-32 37.8-32 64v32c0 88.4 71.6 160 160 160h64c88.4 0 160-71.6 160-160V304 272 248c0-30.9-25.1-56-56-56c-12.1 0-23.3 3.8-32.5 10.4C349.6 186.5 332 176 312 176c-9.7 0-18.8 2.5-26.7 6.8C278 160.3 256.9 144 232 144c-8.6 0-16.7 1.9-24 5.4V80 56c0-30.9-25.1-56-56-56S96 25.1 96 56v8zm80 32v48H65.3l11.2-14c4.7-5.8 4.7-14.1 0-20L65.3 96H176zm0 80v24 40H144c-5.5 0-10.8 .6-16 1.6V176h48zm0 96v0h32v0h24c13.2 0 24 10.7 24 24v0c0 13.3-10.7 24-24 24H176c-8.8 0-16 7.2-16 16s7.2 16 16 16h56c15.7 0 29.8-6.4 40-16.8c10.2 10.4 24.3 16.8 40 16.8c13.8 0 26.4-5 36.1-13.2C358.4 351.7 374.2 360 392 360c8.6 0 16.7-1.9 24-5.4C414.6 424.1 357.8 480 288 480H224c-70.7 0-128-57.3-128-128V320c0-26.5 21.5-48 48-48h32zm32-32V200c0-13.3 10.7-24 24-24s24 10.7 24 24v31.9l0 .1v13.4c-7.3-3.5-15.4-5.4-24-5.4H208zm80 32V232c0-13.2 10.8-24 24-24c13.3 0 24 10.7 24 24v16 48c0 13.3-10.7 24-24 24s-24-10.7-24-24v0l0-24zm128 0v32c0 13.3-10.7 24-24 24s-24-10.7-24-24v-8V248c0-13.3 10.7-24 24-24s24 10.7 24 24v24z\"]\n};\nvar faPoop = {\n prefix: 'fal',\n iconName: 'poop',\n icon: [512, 512, [], \"f619\", \"M209.2 9.9c2.5-6 8.3-9.9 14.8-9.9h8c71.6 0 131 52.2 142.1 120.7C403.6 134.9 424 165 424 200c0 7.2-.9 14.3-2.5 21.1C455.6 233.2 480 265.7 480 304c0 16-4.3 31-11.7 43.9C494.4 363.2 512 391.5 512 424c0 48.6-39.4 88-88 88H88c-48.6 0-88-39.4-88-88c0-32.5 17.6-60.8 43.7-76.1C36.3 335 32 320 32 304c0-38.3 24.4-70.8 58.5-82.9C88.9 214.3 88 207.2 88 200c0-48.6 39.4-88 88-88h.9 17.8c20.6 0 37.3-16.7 37.3-37.3V65.8c0-12.3-4.9-24-13.5-32.7l-5.8-5.8c-4.6-4.6-5.9-11.5-3.5-17.4zM257.7 35c4.1 9.6 6.3 20.1 6.3 30.8v8.9c0 38.3-31 69.3-69.3 69.3H176.9 176c-30.9 0-56 25.1-56 56c0 9.1 2.2 17.7 6 25.2c2.4 4.7 2.3 10.2-.2 14.8s-7.1 7.7-12.3 8.3C85.7 251.6 64 275.3 64 304c0 15.3 6.2 29.2 16.2 39.4c4 4 5.5 9.9 4.1 15.4s-5.7 9.8-11.2 11.3c-23.7 6.5-41 28.3-41 54c0 30.9 25.1 56 56 56H424c30.9 0 56-25.1 56-56c0-25.7-17.4-47.4-41-54c-5.5-1.5-9.7-5.8-11.2-11.3s.1-11.3 4.1-15.4c10-10.1 16.2-24 16.2-39.4c0-28.7-21.7-52.4-49.5-55.6c-5.2-.6-9.8-3.7-12.3-8.3s-2.6-10.1-.2-14.8c3.8-7.6 6-16.1 6-25.2c0-24.5-15.8-45.4-37.8-53c-5.9-2-10.1-7.4-10.7-13.6C339 85.1 303.8 45.8 257.7 35z\"]\n};\nvar faObjectExclude = {\n prefix: 'fal',\n iconName: 'object-exclude',\n icon: [512, 512, [], \"e49c\", \"M64 32H288c17.7 0 32 14.3 32 32v64h32V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V288c0 35.3 28.7 64 64 64h64V320H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32zm96 352v64c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V224c0-35.3-28.7-64-64-64H384v32h64c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H224c-17.7 0-32-14.3-32-32V384H160zm128-32c35.3 0 64-28.7 64-64H320c0 17.7-14.3 32-32 32H256v32h32zm64-160V160H320 288v32h32v64h32V192zM224 352l0-32H192V256H160v64 32h32 32zM160 224h32c0-17.7 14.3-32 32-32h32V160H224c-35.3 0-64 28.7-64 64z\"]\n};\nvar faTelescope = {\n prefix: 'fal',\n iconName: 'telescope',\n icon: [576, 512, [128301], \"e03e\", \"M447.1 35.7l96 166.3-89.2 51.5-96-166.3 89.2-51.5zM344 127.2l65.8 114-37.9 20.5C357.8 239.1 332.7 224 304 224c-44.2 0-80 35.8-80 80c0 12 2.7 23.5 7.4 33.7l-97 52.5c0 0 0 0-.1 0c0 0 0 0 0 0s0 0 0 0c0 0-.1 0-.1 0s-.1 0-.1-.1c0 0 0 0 0 0l-.1-.1L79.5 295.6c0-.1 0-.1 0-.1s0 0 0 0c0 0 0-.1 0-.1s0-.1 .1-.1c0 0 0 0 0 0l.1-.1L344 127.2zm81.7 141.5l.5 .8c8.8 15.3 28.4 20.5 43.7 11.7l89.2-51.5c15.3-8.8 20.5-28.4 11.7-43.7l-96-166.3C466 4.4 446.4-.8 431.1 8L341.9 59.5c-14.1 8.2-19.7 25.5-13.5 40.1L62.6 268.4c-14.5 9.2-19.1 28.2-10.6 43l54.5 94.5c8.7 15 27.7 20.4 42.9 12.1l97-52.4L193.3 489.7c-3.5 8.1 .3 17.5 8.4 21s17.5-.3 21-8.4l52.9-123.5c8.8 3.3 18.4 5.2 28.4 5.2s19.6-1.8 28.4-5.2l52.9 123.5c3.5 8.1 12.9 11.9 21 8.4s11.9-12.9 8.4-21l-55-128.3c15-14.5 24.3-34.9 24.3-57.4c0-4.2-.3-8.3-.9-12.3l42.6-23.1zM304 256a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM29.9 352.1c-4.4-7.7-14.2-10.3-21.8-6s-10.3 14.2-6 21.8l32 56c4.4 7.7 14.2 10.3 21.8 6s10.3-14.2 6-21.8l-32-56z\"]\n};\nvar faLocationPin = {\n prefix: 'fal',\n iconName: 'location-pin',\n icon: [384, 512, [\"map-marker\"], \"f041\", \"M335.4 255.4c-10.9 25.9-26.2 54-43.6 82.1c-34.1 55.3-74.4 108.2-99.9 140c-25.4-31.8-65.8-84.7-99.9-140c-17.3-28.1-32.7-56.3-43.6-82.1C37.4 229 32 207.6 32 192c0-88.4 71.6-160 160-160s160 71.6 160 160c0 15.6-5.4 37-16.6 63.4zM215.7 499.2C267 435 384 279.4 384 192C384 86 298 0 192 0S0 86 0 192c0 87.4 117 243 168.3 307.2c12.3 15.3 35.1 15.3 47.4 0z\"]\n};\nvar faMapMarker = faLocationPin;\nvar faSquareList = {\n prefix: 'fal',\n iconName: 'square-list',\n icon: [448, 512, [], \"e489\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm104 64a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm88 0c0-8.8 7.2-16 16-16H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H208c-8.8 0-16-7.2-16-16zm0 96c0-8.8 7.2-16 16-16H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H208c-8.8 0-16-7.2-16-16zm0 96c0-8.8 7.2-16 16-16H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H208c-8.8 0-16-7.2-16-16zm-64-72a24 24 0 1 1 0-48 24 24 0 1 1 0 48zm-24 72a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faKaaba = {\n prefix: 'fal',\n iconName: 'kaaba',\n icon: [576, 512, [128331], \"f66b\", \"M544 112v0L288 192 32 112 288 32l256 80zM22.5 81.5C9.1 85.6 0 98 0 112V400c0 14 9.1 26.4 22.5 30.5l256 80c6.2 1.9 12.9 1.9 19.1 0l256-80C566.9 426.4 576 414 576 400V112c0-14-9.1-26.4-22.5-30.5l-256-80c-6.2-1.9-12.9-1.9-19.1 0l-256 80zM544 191.2L292.8 269.7c-3.1 1-6.4 1-9.5 0L32 191.2V145.5l246.5 77c6.2 1.9 12.9 1.9 19.1 0l246.5-77v45.7zm0 33.5v30.5l-20.8 6.5c-8.4 2.6-13.1 11.6-10.5 20s11.6 13.1 20 10.5l11.2-3.5V400L288 480 32 400V288.8l11.2 3.5c8.4 2.6 17.4-2.1 20-10.5s-2.1-17.4-10.5-20L32 255.2V224.8l241.7 75.5c9.3 2.9 19.3 2.9 28.6 0L544 224.8zm-427.2 57c-8.4-2.6-17.4 2.1-20 10.5s2.1 17.4 10.5 20l64 20c8.4 2.6 17.4-2.1 20-10.5s-2.1-17.4-10.5-20l-64-20zm352 30.5c8.4-2.6 13.1-11.6 10.5-20s-11.6-13.1-20-10.5l-64 20c-8.4 2.6-13.1 11.6-10.5 20s11.6 13.1 20 10.5l64-20zm-224 9.5c-8.4-2.6-17.4 2.1-20 10.5s2.1 17.4 10.5 20l38.5 12c9.3 2.9 19.3 2.9 28.6 0l38.5-12c8.4-2.6 13.1-11.6 10.5-20s-11.6-13.1-20-10.5l-38.5 12c-3.1 1-6.4 1-9.5 0l-38.5-12z\"]\n};\nvar faToiletPaper = {\n prefix: 'fal',\n iconName: 'toilet-paper',\n icon: [640, 512, [129531], \"f71e\", \"M16 479c.2-5.3 1.7-10.6 4.5-15.4l0-.1c2.6-4.6 5-9.4 7.3-14.3C63.6 372.8 64 272.2 64 192C64 86 107 0 160 0H464h32c40.7 0 69 32.2 85.2 64.6C598.3 98.8 608 143.9 608 192s-9.7 93.2-26.8 127.4C565 351.8 536.7 384 496 384c-24.1 0-43.8-11.3-59.3-27.2c2.1-14.2 4.1-29.6 5.7-46c14.2 25.6 33 41.2 53.6 41.2c44.2 0 80-71.6 80-160s-35.8-160-80-160s-80 71.6-80 160c0 44.7-2.2 83.7-5.6 117.7c-.3 2.5-.5 4.9-.8 7.4c-9 82.3-25.6 133.1-36.3 158.9c-10 24-33.2 36.1-55.4 36.1H48c-11.5 0-22.2-6.2-27.8-16.2c-2.9-5.2-4.3-11-4.2-16.8zM160 32c-7.9 0-23.6 7.2-39.3 38.5C106 100 96 142.9 96 192c0 42.4-.1 92.6-5.8 142.2c-5.7 49.5-17.3 100.7-41.6 144.8c-.2 .3-.4 .6-.5 .9l0 0H317.9c11.4 0 21.6-6.1 25.9-16.3C357.3 431 384 347.1 384 192c0-48.1 9.7-93.2 26.8-127.4c5.7-11.3 12.8-22.6 21.5-32.6H160zM496 240c6.4 0 11.9-11.3 14.5-27.6c1-6.2 1.5-13.1 1.5-20.4s-.5-14.2-1.5-20.4c-2.6-16.3-8.1-27.6-14.5-27.6s-11.9 11.3-14.5 27.6c-1 6.2-1.5 13.1-1.5 20.4s.5 14.2 1.5 20.4c2.6 16.3 8.1 27.6 14.5 27.6zm0 32c-16.2 0-26.6-9.9-31.4-16c-5.1-6.4-8.2-13.8-10.3-20c-4.2-12.7-6.3-28.3-6.3-44.1s2.1-31.3 6.3-44.1c2.1-6.2 5.2-13.5 10.3-20c4.8-6.1 15.1-16 31.4-16s26.6 9.9 31.4 16c5.1 6.4 8.2 13.8 10.3 20c4.2 12.7 6.3 28.3 6.3 44.1s-2.1 31.3-6.3 44.1c-2.1 6.2-5.2 13.5-10.3 20c-4.8 6.1-15.1 16-31.4 16zM128 208a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm64 0a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm80-16a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm48 16a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faHelmetSafety = {\n prefix: 'fal',\n iconName: 'helmet-safety',\n icon: [576, 512, [\"hard-hat\", \"hat-hard\"], \"f807\", \"M240 80V272c0 8.8-7.2 16-16 16s-16-7.2-16-16V80c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48V272c0 8.8-7.2 16-16 16s-16-7.2-16-16V80c0-8.8-7.2-16-16-16H256c-8.8 0-16 7.2-16 16zm-64-1.3v34.7C109.9 143.7 64 210.5 64 288v32H32V288c0-95.5 59.8-177.1 144-209.3zm224 34.7V78.7c83.5 31.9 143 112.4 144 206.9l0 2.4 0 32H512l0-34.3c-.9-76.5-46.5-142.3-112-172.3zM537.3 384H38.7c-3.7 0-6.7 3-6.7 6.7c0 .4 0 .7 .1 1C58.5 408.5 136.6 448 288 448s229.5-39.5 255.9-56.3c0-.2 .1-.6 .1-1c0-3.7-3-6.7-6.7-6.7zM38.7 352H537.3c21.4 0 38.7 17.3 38.7 38.7c0 11-4.7 21.4-13.9 27.3C531.3 437.9 447.1 480 288 480s-243.3-42.1-274.1-61.9C4.7 412.1 0 401.7 0 390.7C0 369.3 17.3 352 38.7 352z\"]\n};\nvar faHardHat = faHelmetSafety;\nvar faHatHard = faHelmetSafety;\nvar faCommentCode = {\n prefix: 'fal',\n iconName: 'comment-code',\n icon: [512, 512, [], \"e147\", \"M32 240c0-91.4 93.8-176 224-176s224 84.6 224 176s-93.8 176-224 176c-32 0-63-5.9-93.5-16.2c-9.9-3.3-20.7-1.8-29.2 4.2c-15.4 10.7-31.4 20-48.4 27.4L91.2 446l-6.4-14.7c-10.5 4.6-21.5 8.6-32.7 11.5c.5-.9 1.1-1.8 1.6-2.6C68 416.5 76.3 391 79.4 363.9c1-9.2-2.1-17.7-7.4-23.9c-24.5-29.4-40-62.9-40-100zM256 32C114.5 32 0 125.2 0 240c0 46.6 19.6 87.1 47.4 120.5c0 .1 .1 .1 .1 .2c-2.6 22.6-9.5 43.5-21.3 63.1c-6.5 10.8-13.5 20.8-21.7 29c-4.5 4.6-5.9 11.5-3.4 17.4s8.3 9.8 14.8 9.8c28.7 0 57.6-8.9 81.6-19.3c19.2-8.4 37.1-18.7 53.9-30.5c.2-.1 .5-.2 .7-.1C185.5 441.3 220 448 256 448c141.5 0 256-93.2 256-208S397.5 32 256 32zM219.3 187.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-64 64c-6.2 6.2-6.2 16.4 0 22.6l64 64c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L166.6 240l52.7-52.7zm96-22.6c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L345.4 240l-52.7 52.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l64-64c6.2-6.2 6.2-16.4 0-22.6l-64-64z\"]\n};\nvar faSimCards = {\n prefix: 'fal',\n iconName: 'sim-cards',\n icon: [448, 512, [], \"e251\", \"M112 368c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V154.5c0-8.5-3.4-16.6-9.4-22.6L316.1 41.4c-6-6-14.1-9.4-22.6-9.4H144c-17.7 0-32 14.3-32 32V368zM80 64c0-35.3 28.7-64 64-64H293.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3V368c0 35.3-28.7 64-64 64H144c-35.3 0-64-28.7-64-64V64zM16 96c8.8 0 16 7.2 16 16V384c0 53 43 96 96 96H368c8.8 0 16 7.2 16 16s-7.2 16-16 16H128C57.3 512 0 454.7 0 384V112c0-8.8 7.2-16 16-16zm160 96v16h48V176H192c-8.8 0-16 7.2-16 16zm120 16h56V192c0-8.8-7.2-16-16-16H296 256v32h40zm0 32H240 176v32h56 40 80V240H296zm-8 64v32h48c8.8 0 16-7.2 16-16V304H288zm-56 0H176v16c0 8.8 7.2 16 16 16h40 24V304H232zM192 144h48 56 40c26.5 0 48 21.5 48 48v32 64 32c0 26.5-21.5 48-48 48H272 232 192c-26.5 0-48-21.5-48-48V288 224 192c0-26.5 21.5-48 48-48z\"]\n};\nvar faStarship = {\n prefix: 'fal',\n iconName: 'starship',\n icon: [640, 512, [], \"e039\", \"M0 112C0 85.5 21.5 64 48 64H208c26.5 0 48 21.5 48 48s-21.5 48-48 48H161.2l47.6 34.6 60.1-8.2C296.8 114.8 366.5 64 448 64c106 0 192 86 192 192s-86 192-192 192c-81.5 0-151.2-50.8-179-122.4l-60.1-8.2L161.2 352H208c26.5 0 48 21.5 48 48s-21.5 48-48 48H48c-26.5 0-48-21.5-48-48s21.5-48 48-48h58.8L163 311.1l-21.5-2.9C115.5 304.6 96 282.3 96 256s19.5-48.6 45.5-52.2l21.5-2.9L106.8 160H48c-26.5 0-48-21.5-48-48zM48 96c-8.8 0-16 7.2-16 16s7.2 16 16 16H208c8.8 0 16-7.2 16-16s-7.2-16-16-16H48zm97.9 139.5C135.6 236.9 128 245.7 128 256s7.6 19.1 17.9 20.5l113.5 15.5c-2.2-11.6-3.4-23.7-3.4-35.9s1.2-24.3 3.4-35.9L145.9 235.5zM32 400c0 8.8 7.2 16 16 16H208c8.8 0 16-7.2 16-16s-7.2-16-16-16H48c-8.8 0-16 7.2-16 16zm416 16a160 160 0 1 0 0-320 160 160 0 1 0 0 320zm32-160a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-96 0a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z\"]\n};\nvar faEject = {\n prefix: 'fal',\n iconName: 'eject',\n icon: [448, 512, [9167], \"f052\", \"M224 96c-4.5 0-8.8 1.9-11.8 5.2l-176 192c-4.3 4.7-5.4 11.4-2.9 17.3s8.3 9.6 14.6 9.6H400c6.3 0 12.1-3.7 14.6-9.6s1.4-12.6-2.9-17.3l-176-192c-3-3.3-7.3-5.2-11.8-5.2zm0-32c13.5 0 26.3 5.6 35.4 15.6l176 192c12.9 14 16.2 34.3 8.6 51.8S419 352 400 352H48c-19 0-36.3-11.2-43.9-28.7s-4.3-37.7 8.6-51.8l176-192C197.7 69.6 210.5 64 224 64zM16 416H432c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faCircleRight = {\n prefix: 'fal',\n iconName: 'circle-right',\n icon: [512, 512, [61838, \"arrow-alt-circle-right\"], \"f35a\", \"M480 256A224 224 0 1 1 32 256a224 224 0 1 1 448 0zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zm400 0c0-9.2-3.5-18-9.7-24.7l-84-91c-7.2-7.8-17.4-12.3-28.1-12.3c-21.1 0-38.3 17.1-38.3 38.3l0 25.7-80 0c-26.5 0-48 21.5-48 48l0 32c0 26.5 21.5 48 48 48l80 0 0 25.7c0 21.1 17.1 38.3 38.3 38.3c10.7 0 20.9-4.5 28.1-12.3l84-91c6.2-6.7 9.7-15.6 9.7-24.7zm-33.2-3c.8 .8 1.2 1.9 1.2 3s-.4 2.2-1.2 3l-84 91c-1.2 1.3-2.9 2-4.6 2c-3.5 0-6.3-2.8-6.3-6.3l0-41.7c0-8.8-7.2-16-16-16l-96 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16l96 0c8.8 0 16-7.2 16-16l0-41.7c0-3.5 2.8-6.3 6.3-6.3c1.7 0 3.4 .7 4.6 2l84 91z\"]\n};\nvar faArrowAltCircleRight = faCircleRight;\nvar faPlaneCircleCheck = {\n prefix: 'fal',\n iconName: 'plane-circle-check',\n icon: [640, 512, [], \"e555\", \"M256 0c-13.4 0-25.2 5.7-34.8 13.3c-9.5 7.6-17.6 17.7-24 28.4C184.4 62.7 176 89 176 109.7v52.5L24.2 248.9C9.2 257.4 0 273.3 0 290.6v56.2c0 21.3 20.3 36.6 40.8 30.8L176 338.9l0 37.1-51.2 38.4c-8.1 6-12.8 15.5-12.8 25.6v42c0 16.6 13.4 30 30 30c2.8 0 5.6-.4 8.3-1.2l0 0L256 480.6l105.7 30.2 0 0c2.7 .8 5.5 1.2 8.2 1.2c6.5 0 12.5-2 17.4-5.5c-11.2-8.8-21.3-18.9-30.1-30.2l-96.8-27.7c-2.9-.8-5.9-.8-8.8 0L144 479.4V440l57.6-43.2c4-3 6.4-7.8 6.4-12.8l0-66.3c0-5-2.4-9.8-6.4-12.8s-9.2-4-14-2.6L32 346.8V290.6c0-5.7 3.1-11 8.1-13.9l159.9-91.4c5-2.8 8.1-8.2 8.1-13.9V109.7c0-13.5 6.1-34.1 16.6-51.3c5.2-8.5 10.9-15.4 16.7-20C247 33.7 251.9 32 256 32c9.1 0 20.9 8.2 31.8 26.3C298.1 75.5 304 96.1 304 109.7v61.7c0 5.7 3.1 11 8.1 13.9l76.2 43.5c9.6-7.4 19.9-13.9 30.9-19.2L336 162.1V109.7c0-20.6-8.1-46.8-20.8-67.9C303.1 21.6 282.9 0 256 0zM496 256a112 112 0 1 1 0 224 112 112 0 1 1 0-224zm0 256a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm67.3-187.3c-6.2-6.2-16.4-6.2-22.6 0L480 385.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nvar faSeal = {\n prefix: 'fal',\n iconName: 'seal',\n icon: [512, 512, [], \"e241\", \"M199.1 86.6c-6 6-14.1 9.4-22.6 9.4H112c-8.8 0-16 7.2-16 16v64.5c0 8.5-3.4 16.6-9.4 22.6L41 244.7c-6.2 6.2-6.2 16.4 0 22.6L18.4 289.9c-18.7-18.7-18.7-49.1 0-67.9L64 176.5V112c0-26.5 21.5-48 48-48h64.5l45.6-45.6c18.7-18.7 49.1-18.7 67.9 0L335.5 64H400c26.5 0 48 21.5 48 48v64.5l45.6 45.6c18.7 18.7 18.7 49.1 0 67.9L448 335.5V400c0 26.5-21.5 48-48 48H335.5l-45.6 45.6c-18.7 18.7-49.1 18.7-67.9 0L176.5 448H112c-26.5 0-48-21.5-48-48V335.5L18.4 289.9 41 267.3l45.6 45.6c6 6 9.4 14.1 9.4 22.6V400c0 8.8 7.2 16 16 16h64.5c8.5 0 16.6 3.4 22.6 9.4L244.7 471c6.2 6.2 16.4 6.2 22.6 0l45.6-45.6c6-6 14.1-9.4 22.6-9.4H400c8.8 0 16-7.2 16-16V335.5c0-8.5 3.4-16.6 9.4-22.6L471 267.3c6.2-6.2 6.2-16.4 0-22.6l-45.6-45.6c-6-6-9.4-14.1-9.4-22.6V112c0-8.8-7.2-16-16-16H335.5c-8.5 0-16.6-3.4-22.6-9.4L267.3 41c-6.2-6.2-16.4-6.2-22.6 0L199.1 86.6z\"]\n};\nvar faUserCowboy = {\n prefix: 'fal',\n iconName: 'user-cowboy',\n icon: [448, 512, [], \"f8ea\", \"M166.4 41.7l-33.3 77.7c25.3 5.2 55.5 8.6 90.9 8.6s65.6-3.4 90.9-8.6L281.6 41.7c-2.5-5.8-8.4-9.7-14.9-9.7c-3.5 0-6.9 1.1-9.7 3.2l-4.3 3.2c-17.1 12.8-40.5 12.8-57.6 0l-4.3-3.2c-2.7-2.1-6.2-3.2-9.7-3.2c-6.5 0-12.4 3.9-14.9 9.7zm-64.7 69.7L137 29.1C144.6 11.4 162.1 0 181.3 0c10.3 0 20.5 3.3 28.9 9.6l4.3 3.2c5.7 4.3 13.5 4.3 19.2 0l4.3-3.2C246.2 3.3 256.4 0 266.7 0c19.1 0 36.7 11.4 44.3 29.1l35.3 82.3c6.4-2 12.3-4.1 17.9-6.3c32.4-12.7 49.4-27.2 55-34.7c4.7-6.3 13.3-8.2 20.2-4.6s10.2 11.8 7.8 19.2c-9.3 27.9-35 62.4-72.5 89.9C336.7 202.6 285.4 224 224 224s-112.7-21.4-150.6-49.1C35.8 147.5 10.1 113 .8 85.1c-2.5-7.4 .8-15.6 7.8-19.2s15.5-1.7 20.2 4.6c5.6 7.5 22.7 22 55 34.7c5.5 2.2 11.5 4.3 17.9 6.3zm-9.5 37.7c33.2 24.3 78 42.9 131.8 42.9s98.5-18.6 131.8-42.9c5.5-4 10.7-8.2 15.5-12.4C335.6 149.9 287.1 160 224 160s-111.6-10.1-147.3-23.4c4.8 4.2 10 8.4 15.5 12.4zM100.7 416c-32.3 0-59.5 24-63.5 56.1l-1 7.9H411.8l-1-7.9c-4-32-31.2-56.1-63.5-56.1H100.7zm0-32H347.3c48.4 0 89.3 36.1 95.3 84.1l1 7.9c2.4 19.1-12.5 36-31.8 36H36.2C17 512 2.1 495.1 4.5 476l1-7.9c6-48 46.8-84.1 95.3-84.1zM224 352c-70 0-126.9-56.2-128-126c10.5 5.2 21.6 10 33.3 14.1C137 285.4 176.5 320 224 320s87-34.6 94.7-79.9c11.7-4.1 22.8-8.8 33.3-14.1c-1.1 69.8-58 126-128 126z\"]\n};\nvar faHexagonVerticalNft = {\n prefix: 'fal',\n iconName: 'hexagon-vertical-nft',\n icon: [448, 512, [], \"e505\", \"M255.8 496.6c-19.8 11.4-44.2 11.4-64 0L32 404.3C12.2 392.9 0 371.7 0 348.9V164.3c0-22.9 12.2-44 32-55.4L191.8 16.6c19.8-11.4 44.2-11.4 64 0l159.8 92.3c19.8 11.4 32 32.6 32 55.4V348.9c0 22.9-12.2 44-32 55.4L255.8 496.6zm-48-27.7c9.9 5.7 22.1 5.7 32 0l159.8-92.3c9.9-5.7 16-16.3 16-27.7V164.3c0-11.4-6.1-22-16-27.7L239.8 44.3c-9.9-5.7-22.1-5.7-32 0L48 136.6c-9.9 5.7-16 16.3-16 27.7l0 184.6c0 11.4 6.1 22 16 27.7l159.8 92.3zM94.7 170.6l33.1 82.9V176.6c0-8.8 7.2-16 16-16s16 7.2 16 16v160c0 7.7-5.4 14.3-13 15.7s-15-2.6-17.9-9.8L95.8 259.7v76.9c0 8.8-7.2 16-16 16s-16-7.2-16-16v-160c0-7.7 5.4-14.3 13-15.7s15 2.6 17.9 9.8zm97.1 5.9c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16s-7.2 16-16 16h-32v48h32c8.8 0 16 7.2 16 16s-7.2 16-16 16h-32v64c0 8.8-7.2 16-16 16s-16-7.2-16-16v-80-80zm112-16h64c8.8 0 16 7.2 16 16s-7.2 16-16 16h-16v144c0 8.8-7.2 16-16 16s-16-7.2-16-16v-144h-16c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faFaceRollingEyes = {\n prefix: 'fal',\n iconName: 'face-rolling-eyes',\n icon: [512, 512, [128580, \"meh-rolling-eyes\"], \"f5a5\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM192 368H320c8.8 0 16 7.2 16 16s-7.2 16-16 16H192c-8.8 0-16-7.2-16-16s7.2-16 16-16zm-32-96c26.5 0 48-21.5 48-48c0-14.3-6.3-27.2-16.2-36c.2 1.3 .2 2.6 .2 4c0 17.7-14.3 32-32 32s-32-14.3-32-32c0-1.4 .1-2.7 .2-4c-10 8.8-16.2 21.7-16.2 36c0 26.5 21.5 48 48 48zm0-128a80 80 0 1 1 0 160 80 80 0 1 1 0-160zm240 80c0-14.3-6.3-27.2-16.2-36c.2 1.3 .2 2.6 .2 4c0 17.7-14.3 32-32 32s-32-14.3-32-32c0-1.4 .1-2.7 .2-4c-10 8.8-16.2 21.7-16.2 36c0 26.5 21.5 48 48 48s48-21.5 48-48zm-128 0a80 80 0 1 1 160 0 80 80 0 1 1 -160 0z\"]\n};\nvar faMehRollingEyes = faFaceRollingEyes;\nvar faBreadLoaf = {\n prefix: 'fal',\n iconName: 'bread-loaf',\n icon: [640, 512, [127838], \"f7eb\", \"M64 224c-17.7 0-32-14.3-32-32c0-45.8 30.4-77.3 77.4-98.9C156.4 71.4 211.6 64 240 64s83.6 7.4 130.6 29.1c47 21.7 77.4 53.1 77.4 98.9c0 17.7-14.3 32-32 32s-32 14.3-32 32V432c0 8.8-7.2 16-16 16H320 112c-8.8 0-16-7.2-16-16V256c0-17.7-14.3-32-32-32zm352 32H544V432c0 8.8-7.2 16-16 16H413.3c1.8-5 2.7-10.4 2.7-16V288 256zm155.3-31.7c-1.1-.2-2.2-.3-3.3-.3H471.4c5.4-9.4 8.6-20.3 8.6-32c0-64-44-104-96-128h16c28.4 0 83.6 7.4 130.6 29.1c47 21.7 77.4 53.1 77.4 98.9c0 17.7-14.3 32-32 32c-1.6 0-3.2 .1-4.7 .3zM112 480H320h48H528c26.5 0 48-21.5 48-48V288 256c35.3 0 64-28.7 64-64C640 64 464 32 400 32H272 240C176 32 0 64 0 192c0 35.3 28.7 64 64 64v32V432c0 26.5 21.5 48 48 48z\"]\n};\nvar faRingsWedding = {\n prefix: 'fal',\n iconName: 'rings-wedding',\n icon: [512, 512, [], \"f81b\", \"M137.9 32l-8 16 24 48H176h22.1l24-48-8-16H137.9zM254.3 55.2l-24.6 49.2C300.6 127.1 352 193.5 352 272c0 64.4-34.5 120.7-86.1 151.3c-8.6-6.9-16.1-15-22.4-24.1C289 375 320 327.1 320 272c0-27.5-7.7-53.3-21.1-75.2C237.3 213.2 192 269.3 192 336c0 27.5 7.7 53.3 21.1 75.2c6 9.8 13.2 18.8 21.3 26.9c0 0 0 0 0 0C260.5 464 296.4 480 336 480c79.5 0 144-64.5 144-144c0-67.9-47-124.9-110.3-140c-4.9-12.4-10.9-24.2-17.9-35.3C441.6 168.7 512 244.1 512 336c0 97.2-78.8 176-176 176c-55.3 0-104.7-25.5-137-65.5c-7.5 1-15.2 1.5-23 1.5C78.8 448 0 369.2 0 272c0-78.5 51.4-144.9 122.3-167.7L97.7 55.2c-2.3-4.5-2.3-9.8 0-14.3l16-32C116.4 3.4 121.9 0 128 0h96c6.1 0 11.6 3.4 14.3 8.8l16 32c2.3 4.5 2.3 9.8 0 14.3zM179.2 416c-12.3-24-19.2-51.2-19.2-80c0-76.7 49.1-142 117.6-166.1C251.5 144 215.6 128 176 128C96.5 128 32 192.5 32 272s64.5 144 144 144c1.1 0 2.1 0 3.2 0z\"]\n};\nvar faObjectGroup = {\n prefix: 'fal',\n iconName: 'object-group',\n icon: [576, 512, [], \"f247\", \"M64 125.3C45.4 118.7 32 100.9 32 80c0-26.5 21.5-48 48-48c20.9 0 38.7 13.4 45.3 32H450.7c6.6-18.6 24.4-32 45.3-32c26.5 0 48 21.5 48 48c0 20.9-13.4 38.7-32 45.3V386.7c18.6 6.6 32 24.4 32 45.3c0 26.5-21.5 48-48 48c-20.9 0-38.7-13.4-45.3-32H125.3c-6.6 18.6-24.4 32-45.3 32c-26.5 0-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3V125.3zM125.3 96c-4.8 13.6-15.6 24.4-29.3 29.3V386.7c13.6 4.8 24.4 15.6 29.3 29.3H450.7c4.8-13.6 15.6-24.4 29.3-29.3V125.3c-13.6-4.8-24.4-15.6-29.3-29.3H125.3zM496 416a16 16 0 1 0 0 32 16 16 0 1 0 0-32zM96 432a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM496 64a16 16 0 1 0 0 32 16 16 0 1 0 0-32zM96 80A16 16 0 1 0 64 80a16 16 0 1 0 32 0zm80 48h96c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H176c-26.5 0-48-21.5-48-48V176c0-26.5 21.5-48 48-48zm-16 48v64c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16V176c0-8.8-7.2-16-16-16H176c-8.8 0-16 7.2-16 16zm192 64c0-8.8 7.2-16 16-16h32c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H304c-26.5 0-48-21.5-48-48c0-8.8 7.2-16 16-16s16 7.2 16 16s7.2 16 16 16h96c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H368c-8.8 0-16-7.2-16-16z\"]\n};\nvar faFrenchFries = {\n prefix: 'fal',\n iconName: 'french-fries',\n icon: [384, 512, [127839], \"f803\", \"M151.6 2.4c4.7-2.9 10.6-3.2 15.6-.7l64 32c5.4 2.7 8.8 8.3 8.8 14.3V266.4c-8.5 2.4-19 4.3-32 5.1V57.9l-32-16V271.5c-13-.9-23.5-2.7-32-5.1V16c0-5.5 2.9-10.7 7.6-13.6zM279.1 233.8c-1 4-2.9 9-7.1 14.1V208.6L299.1 84.5 272 89.9V57.3l44.9-9c5.3-1.1 10.8 .6 14.6 4.5s5.4 9.4 4.2 14.6l-28.4 130c-15.5 8-24.9 23.6-28 36.4zM362.6 192H332.5l19.8-99.1c1.7-8.7 10.2-14.3 18.8-12.6s14.3 10.2 12.6 18.8l-18.6 92.9c-.8 0-1.7-.1-2.5-.1zM21.4 192c-.9 0-1.7 0-2.5 .1L.3 99.1C-1.4 90.5 4.2 82 12.9 80.3s17.1 3.9 18.8 12.6L51.5 192H21.4zm98.8 63.6c-10.3-7.4-13.9-15.8-15.4-21.7c-3-12.1-11.4-26.5-25.2-34.9L56.2 58.6c-1.2-6.9 2.3-13.8 8.6-16.9L112 18.1V53.9L89.7 65l31.9 191.5c-.5-.3-1-.7-1.4-1zM89.2 480H294.8l54.3-224h-9.8c-5.3 16.4-16.3 35.8-38.2 51.6C276.4 325.3 241.1 336 192 336s-84.4-10.7-109.1-28.4C61 291.8 50 272.4 44.7 256H34.9L89.2 480zm-31.1 7.5L.6 250.5c-.4-1.7-.6-3.3-.6-5.1C0 233.6 9.6 224 21.4 224H54.3c9.5 0 17.2 8.3 19.5 17.5C79.6 265 102.7 304 192 304s112.4-39 118.2-62.5c2.3-9.2 10-17.5 19.5-17.5h32.9c11.8 0 21.4 9.6 21.4 21.4c0 1.7-.2 3.4-.6 5.1l-57.5 237c-3.5 14.4-16.3 24.5-31.1 24.5H89.2c-14.8 0-27.6-10.1-31.1-24.5z\"]\n};\nvar faChartLine = {\n prefix: 'fal',\n iconName: 'chart-line',\n icon: [512, 512, [\"line-chart\"], \"f201\", \"M32 48c0-8.8-7.2-16-16-16S0 39.2 0 48V400c0 44.2 35.8 80 80 80H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H80c-26.5 0-48-21.5-48-48V48zM475.3 155.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L320 265.4l-84.7-84.7c-6.2-6.2-16.4-6.2-22.6 0l-112 112c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L224 214.6l84.7 84.7c6.2 6.2 16.4 6.2 22.6 0l144-144z\"]\n};\nvar faLineChart = faChartLine;\nvar faCalendarArrowDown = {\n prefix: 'fal',\n iconName: 'calendar-arrow-down',\n icon: [448, 512, [\"calendar-download\"], \"e0d0\", \"M128 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V64H64C28.7 64 0 92.7 0 128v32 32V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V192 160 128c0-35.3-28.7-64-64-64H352V16c0-8.8-7.2-16-16-16s-16 7.2-16 16V64H128V16zM32 192H416V448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V192zM64 96H384c17.7 0 32 14.3 32 32v32H32V128c0-17.7 14.3-32 32-32zM240 256c0-8.8-7.2-16-16-16s-16 7.2-16 16V377.4l-52.7-52.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l80 80c6.2 6.2 16.4 6.2 22.6 0l80-80c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L240 377.4V256z\"]\n};\nvar faCalendarDownload = faCalendarArrowDown;\nvar faSendBack = {\n prefix: 'fal',\n iconName: 'send-back',\n icon: [640, 512, [], \"f87e\", \"M192 32c17.7 0 32 14.3 32 32V192c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H192zM64 0C28.7 0 0 28.7 0 64V192c0 35.3 28.7 64 64 64H192c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM576 288c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H448c-17.7 0-32-14.3-32-32V320c0-17.7 14.3-32 32-32H576zM448 256c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V320c0-35.3-28.7-64-64-64H448zM160 288v64c0 35.3 28.7 64 64 64H352V384H224c-17.7 0-32-14.3-32-32V288H160zM416 96H288v32H416c17.7 0 32 14.3 32 32v64h32V160c0-35.3-28.7-64-64-64zM152 96c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H104c-4.4 0-8-3.6-8-8V104c0-4.4 3.6-8 8-8h48zM104 64c-22.1 0-40 17.9-40 40v48c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V104c0-22.1-17.9-40-40-40H104zM488 352h48c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H488c-4.4 0-8-3.6-8-8V360c0-4.4 3.6-8 8-8zm-40 8v48c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V360c0-22.1-17.9-40-40-40H488c-22.1 0-40 17.9-40 40z\"]\n};\nvar faMaskVentilator = {\n prefix: 'fal',\n iconName: 'mask-ventilator',\n icon: [640, 512, [], \"e524\", \"M160 300.8c0 44.6 21.7 85.6 56.9 112.9c-5.7-13.6-8.9-28.6-8.9-44.3c0-30.2 11.8-69.3 30.3-100.8c9.3-15.9 20.8-30.7 34.2-41.7c13.4-11 29.5-18.8 47.5-18.8c18 0 34 7.9 47.3 18.8s24.8 25.8 34.2 41.7C420 300 432 339.1 432 369.3c0 15.6-3.1 30.4-8.8 43.9C458.1 386 480 345.4 480 300.8c0-42-19.2-103.3-51.6-154.3C395 93.9 355.3 64 320 64c-35.8 0-75.5 30-108.7 82.4C179 197.4 160 258.8 160 300.8zm80 68.5c0 26.6 12.5 50.1 32 64.9v40.2c-51.6-12.3-94.5-43.9-119.7-86L83.5 370.3C34.3 357.4 0 312.9 0 262V176c0-26.5 21.5-48 48-48H185.1C219.8 73.8 267.4 32 320 32c52.1 0 99.7 41.8 134.5 96H592c26.5 0 48 21.5 48 48v86c0 50.9-34.3 95.4-83.5 108.3l-69 18.2C462.1 430.6 419 462 368 474.3V434c19.3-14.7 32-38 32-64.7c0-23.3-9.8-56.8-26.1-84.6c-8.1-13.7-17.3-25.3-26.9-33.2s-18.7-11.5-27-11.5c-8.4 0-17.6 3.6-27.2 11.5c-9.6 7.9-18.8 19.4-26.9 33.2C249.7 312.4 240 346 240 369.3zm264.4-18.4l43.9-11.6c35.1-9.2 59.6-41 59.6-77.4V176c0-8.8-7.2-16-16-16H472.9C497.4 207.8 512 260.3 512 300.8c0 17.4-2.7 34.3-7.6 50.1zM166.8 160H48c-8.8 0-16 7.2-16 16v86c0 36.3 24.5 68.1 59.6 77.4l43.9 11.6c-4.9-15.9-7.5-32.7-7.5-50.1c0-40.5 14.4-93 38.8-140.8zM304 320c0-8.8 7.2-16 16-16s16 7.2 16 16V512H304V320z\"]\n};\nvar faTickets = {\n prefix: 'fal',\n iconName: 'tickets',\n icon: [640, 512, [], \"e658\", \"M160 64c-17.7 0-32 14.3-32 32v47.5c23.7 11.8 40 36.2 40 64.5s-16.3 52.8-40 64.5V320c0 17.7 14.3 32 32 32H576c17.7 0 32-14.3 32-32V272.5c-23.7-11.8-40-36.2-40-64.5s16.3-52.8 40-64.5V96c0-17.7-14.3-32-32-32H160zm452.2 77.5l0 0-.1 0c.1 0 .1 0 .1 0zm0 132.9l-.1 0c.1 0 .1 0 .1 0zm-488.4 0a0 0 0 1 0 0-.1 0 0 0 1 0 0 .1zm0-132.9a0 0 0 1 0 0 .1 0 0 0 1 0 0-.1zM160 32H576c35.3 0 64 28.7 64 64v56c0 8.8-7.4 15.7-15.6 19.1C610.1 177.2 600 191.4 600 208s10.1 30.8 24.4 36.9c8.1 3.4 15.6 10.3 15.6 19.1v56c0 35.3-28.7 64-64 64H160c-35.3 0-64-28.7-64-64V264c0-8.8 7.4-15.7 15.6-19.1c14.4-6.1 24.4-20.3 24.4-36.9s-10.1-30.8-24.4-36.9C103.4 167.7 96 160.8 96 152V96c0-35.3 28.7-64 64-64zM16 96c8.8 0 16 7.2 16 16V368c0 44.2 35.8 80 80 80H528c8.8 0 16 7.2 16 16s-7.2 16-16 16H112C50.1 480 0 429.9 0 368V112c0-8.8 7.2-16 16-16zm240 64v96H480V160H256zm-32 0c0-17.7 14.3-32 32-32H480c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H256c-17.7 0-32-14.3-32-32V160z\"]\n};\nvar faSignatureLock = {\n prefix: 'fal',\n iconName: 'signature-lock',\n icon: [640, 512, [], \"e3ca\", \"M64 128c0-35.3 28.7-64 64-64s64 28.7 64 64v3.4c0 26.2-2.4 52.3-7.2 78L59 243.7c-34.8 9.5-59 41.1-59 77.2v92.6C0 450.2 29.8 480 66.5 480c24 0 46.2-13 57.9-33.9L151.5 398c20.9-37.1 37.2-76.5 48.5-117.5l7.2-25.7c1.8-6.5 3.5-13 5-19.6l125.5-34.2-48 96c-2.5 5-2.2 10.9 .7 15.6s8.1 7.6 13.6 7.6h88.6c5.6-9.7 13.7-17.8 23.4-23.4V288H329.9l52.4-104.8c2.8-5.6 2.1-12.4-1.9-17.3s-10.5-7-16.6-5.3L218.8 200.1c3.4-22.7 5.2-45.7 5.2-68.7V128c0-53-43-96-96-96s-96 43-96 96v48c0 8.8 7.2 16 16 16s16-7.2 16-16V128zM240 384c-8.8 0-16 7.2-16 16s7.2 16 16 16H384V384H240zM67.4 274.6l109.4-29.8-.4 1.4-7.2 25.7c-10.7 38.5-26 75.6-45.6 110.4L96.5 430.4C90.4 441.3 78.9 448 66.5 448c-19 0-34.5-15.4-34.5-34.5V320.9c0-21.6 14.5-40.6 35.4-46.3zM528 224c26.5 0 48 21.5 48 48v48H480V272c0-26.5 21.5-48 48-48zm-80 48v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80zm160 80V480H448V352H608z\"]\n};\nvar faArrowRight = {\n prefix: 'fal',\n iconName: 'arrow-right',\n icon: [448, 512, [8594], \"f061\", \"M443.3 267.3c6.2-6.2 6.2-16.4 0-22.6l-176-176c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L393.4 240 16 240c-8.8 0-16 7.2-16 16s7.2 16 16 16l377.4 0L244.7 420.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l176-176z\"]\n};\nvar faSignsPost = {\n prefix: 'fal',\n iconName: 'signs-post',\n icon: [512, 512, [\"map-signs\"], \"f277\", \"M240 16c0-8.8 7.2-16 16-16s16 7.2 16 16V32H440.3c4.9 0 9.5 2.2 12.5 6L504 102c4.7 5.8 4.7 14.1 0 20l-51.2 64c-3 3.8-7.6 6-12.5 6H272v32H448c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H272V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V384H71.7c-4.9 0-9.5-2.2-12.5-6L8 314c-4.7-5.8-4.7-14.1 0-20l51.2-64c3-3.8 7.6-6 12.5-6H240V192H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H240V16zM432.6 64H64v96H432.6L471 112 432.6 64zM79.4 256L41 304l38.4 48H448V256H79.4z\"]\n};\nvar faMapSigns = faSignsPost;\nvar faOctagonPlus = {\n prefix: 'fal',\n iconName: 'octagon-plus',\n icon: [512, 512, [\"plus-octagon\"], \"f301\", \"M191.5 32.1c-10.6 0-20.8 4.2-28.3 11.7L43.8 163.2c-7.5 7.5-11.7 17.7-11.7 28.3v129c0 10.6 4.2 20.8 11.7 28.3L21.2 371.4C7.7 357.9 .1 339.6 .1 320.5v-129c0-19.1 7.6-37.4 21.1-50.9L140.6 21.2C154.1 7.7 172.4 .1 191.5 .1h129c19.1 0 37.4 7.6 50.9 21.1L490.8 140.6c13.5 13.5 21.1 31.8 21.1 50.9v129c0 19.1-7.6 37.4-21.1 50.9L371.4 490.8c-13.5 13.5-31.8 21.1-50.9 21.1h-129c-19.1 0-37.4-7.6-50.9-21.1L21.2 371.4l22.6-22.6L163.2 468.2c7.5 7.5 17.7 11.7 28.3 11.7h129c10.6 0 20.8-4.2 28.3-11.7L468.2 348.8c7.5-7.5 11.7-17.7 11.7-28.3v-129c0-10.6-4.2-20.8-11.7-28.3L348.8 43.8c-7.5-7.5-17.7-11.7-28.3-11.7h-129zM240 352V272H160c-8.8 0-16-7.2-16-16s7.2-16 16-16h80V160c0-8.8 7.2-16 16-16s16 7.2 16 16v80h80c8.8 0 16 7.2 16 16s-7.2 16-16 16H272v80c0 8.8-7.2 16-16 16s-16-7.2-16-16z\"]\n};\nvar faPlusOctagon = faOctagonPlus;\nvar faCashRegister = {\n prefix: 'fal',\n iconName: 'cash-register',\n icon: [512, 512, [], \"f788\", \"M272 32c8.8 0 16 7.2 16 16V80c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V48c0-8.8 7.2-16 16-16H272zM80 0C53.5 0 32 21.5 32 48V80c0 26.5 21.5 48 48 48h80v32H87.5c-31.8 0-58.9 23.4-63.4 54.9L.6 379.5c-.4 3-.6 6-.6 9V448c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V388.5c0-3-.2-6.1-.6-9L487.8 214.9c-4.5-31.5-31.5-54.9-63.4-54.9H192V128h80c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H80zM32 448V416H480v32c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32zM456.2 219.5L479.7 384H32.3L55.8 219.5C58.1 203.7 71.6 192 87.5 192h337c15.9 0 29.4 11.7 31.7 27.5zM112 232a24 24 0 1 0 0 48 24 24 0 1 0 0-48zm72 24a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zm-24 56a24 24 0 1 0 0 48 24 24 0 1 0 0-48zm120-56a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zm-24 56a24 24 0 1 0 0 48 24 24 0 1 0 0-48zm120-56a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zm-24 56a24 24 0 1 0 0 48 24 24 0 1 0 0-48z\"]\n};\nvar faPersonCircleQuestion = {\n prefix: 'fal',\n iconName: 'person-circle-question',\n icon: [576, 512, [], \"e542\", \"M160 80a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-80a56 56 0 1 1 0 112A56 56 0 1 1 160 0zM128 164V320h64V164c-6-2.6-12.5-4-19.3-4H147.3c-6.8 0-13.3 1.4-19.3 4zm0 188V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V202.1L46.1 295.5c-4.2 7.8-13.9 10.7-21.7 6.6s-10.7-13.9-6.6-21.7L76.7 170.3c13.9-26 41-42.3 70.6-42.3h25.4c29.5 0 56.7 16.3 70.6 42.3l48.7 91.1c-7.5 9.8-14 20.5-19.3 31.8l-48.6-91V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V352H128zm416 16a112 112 0 1 0 -224 0 112 112 0 1 0 224 0zm-256 0a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144 48a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm-64-86.4c0-23 18.6-41.6 41.6-41.6h40.5c25.4 0 45.9 20.6 45.9 45.9c0 17.1-9.5 32.7-24.5 40.6l-23.7 12.5c-1.4 7.4-7.9 12.9-15.7 12.9c-8.8 0-16-7.2-16-16v-6.8c0-5.9 3.3-11.4 8.6-14.2l32-16.8c4.6-2.4 7.4-7.2 7.4-12.3c0-7.7-6.2-13.9-13.9-13.9H409.6c-5.3 0-9.6 4.3-9.6 9.6V336c0 8.8-7.2 16-16 16s-16-7.2-16-16v-6.4z\"]\n};\nvar faMelonSlice = {\n prefix: 'fal',\n iconName: 'melon-slice',\n icon: [512, 512, [], \"e311\", \"M427.3 4.7c-6.2-6.2-16.4-6.2-22.6 0L322.6 86.8c-3.6 3.6-5.2 8.6-4.5 13.6c1.3 9 2 18.2 2 27.6c0 106-86 192-192 192c-9.4 0-18.6-.7-27.6-2c-5-.7-10 1-13.6 4.5L4.7 404.7c-6.2 6.2-6.2 16.4 0 22.6C58.9 481.5 132.5 512 209.1 512h4C378.2 512 512 378.2 512 213.2v-4c0-76.7-30.5-150.2-84.7-204.5zM391 63.7L415.6 39C457 85.8 480 146.3 480 209.1v4C480 360.5 360.5 480 213.2 480h-4C146.3 480 85.8 457 39 415.6L63.7 391c40.8 35.5 94 57 152.3 57c128.1 0 232-103.9 232-232c0-58.3-21.5-111.6-57-152.3zM368.3 86.3C398 121.3 416 166.5 416 216c0 110.5-89.5 200-200 200c-49.5 0-94.7-18-129.7-47.7l17.6-17.6c7.9 .8 16 1.3 24.1 1.3c123.7 0 224-100.3 224-224c0-8.1-.4-16.2-1.3-24.1l17.6-17.6z\"]\n};\nvar faSpaceStationMoon = {\n prefix: 'fal',\n iconName: 'space-station-moon',\n icon: [512, 512, [], \"e033\", \"M32 256C32 132.3 132.3 32 256 32s224 100.3 224 224c0 14.8-1.4 29.3-4.2 43.3c-2.1 .7-4.2 1.5-6.5 2.3C433 314.7 369.9 337.4 256 337.4s-177-22.7-213.3-35.8l0 0c-2.3-.8-4.4-1.6-6.5-2.3c-2.7-14-4.2-28.5-4.2-43.3zM256 369.4c104.8 0 169.6-18.7 208.8-32.3C432.3 420.8 351.1 480 256 480s-176.3-59.2-208.8-142.8c39.2 13.6 104 32.3 208.8 32.3zM256 0a256 256 0 1 0 0 512A256 256 0 1 0 256 0zM136 160a56 56 0 1 1 112 0 56 56 0 1 1 -112 0zm144 0a88 88 0 1 0 -176 0 88 88 0 1 0 176 0zm-88 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faMessageSmile = {\n prefix: 'fal',\n iconName: 'message-smile',\n icon: [512, 512, [\"comment-alt-smile\"], \"f4aa\", \"M192 416c0-17.7-14.3-32-32-32H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H448c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H309.3c-6.9 0-13.7 2.2-19.2 6.4L192 464V416zM64 0C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h64 32v32 48c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L309.3 416H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM192 184a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm128 0a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM155.9 252.1c-6.6 5.9-7.1 16-1.3 22.6C179.5 302.5 215.7 320 256 320s76.5-17.5 101.4-45.3c5.9-6.6 5.3-16.7-1.3-22.6s-16.7-5.3-22.6 1.3C314.5 274.6 286.8 288 256 288s-58.5-13.4-77.5-34.7c-5.9-6.6-16-7.1-22.6-1.3z\"]\n};\nvar faCommentAltSmile = faMessageSmile;\nvar faCupStraw = {\n prefix: 'fal',\n iconName: 'cup-straw',\n icon: [384, 512, [129380], \"e363\", \"M249 0c-22 0-41.2 15-46.6 36.4L179.5 128H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H191.7c.2 0 .5 0 .7 0H368c8.8 0 16-7.2 16-16s-7.2-16-16-16H212.5l21-83.9C235.2 37 241.6 32 249 32h23c8.8 0 16-7.2 16-16s-7.2-16-16-16H249zM37.3 192l23 276c2.1 24.9 22.9 44 47.8 44H275.8c25 0 45.8-19.1 47.8-44l23-276H314.6L291.8 465.3c-.7 8.3-7.6 14.7-15.9 14.7H108.2c-8.3 0-15.3-6.4-15.9-14.7L69.4 192H37.3z\"]\n};\nvar faLeftFromLine = {\n prefix: 'fal',\n iconName: 'left-from-line',\n icon: [448, 512, [\"arrow-alt-from-right\"], \"f348\", \"M32.8 257.8c-.5-.5-.8-1.1-.8-1.8s.3-1.4 .8-1.8L164.7 129.8c1.2-1.2 2.9-1.8 4.6-1.8c3.7 0 6.7 3 6.7 6.7l0 57.3c0 8.8 7.2 16 16 16l120 0c4.4 0 8 3.6 8 8l0 80c0 4.4-3.6 8-8 8l-120 0c-8.8 0-16 7.2-16 16l0 57.3c0 3.7-3 6.7-6.7 6.7c-1.7 0-3.3-.6-4.6-1.8L32.8 257.8zM0 256c0 9.5 3.9 18.6 10.8 25.1L142.8 405.5c7.2 6.8 16.7 10.5 26.5 10.5c21.4 0 38.7-17.3 38.7-38.7l0-41.3 104 0c22.1 0 40-17.9 40-40l0-80c0-22.1-17.9-40-40-40l-104 0 0-41.3c0-21.4-17.3-38.7-38.7-38.7c-9.9 0-19.3 3.8-26.5 10.5L10.8 230.9C3.9 237.4 0 246.5 0 256zM448 432l0-352c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 352c0 8.8 7.2 16 16 16s16-7.2 16-16z\"]\n};\nvar faArrowAltFromRight = faLeftFromLine;\nvar faH = {\n prefix: 'fal',\n iconName: 'h',\n icon: [384, 512, [104], \"48\", \"M352 256l0 208c0 8.8 7.2 16 16 16s16-7.2 16-16l0-240V48c0-8.8-7.2-16-16-16s-16 7.2-16 16V224L32 224 32 48c0-8.8-7.2-16-16-16S0 39.2 0 48V464c0 8.8 7.2 16 16 16s16-7.2 16-16l0-208 320 0z\"]\n};\nvar faBasketShoppingSimple = {\n prefix: 'fal',\n iconName: 'basket-shopping-simple',\n icon: [576, 512, [\"shopping-basket-alt\"], \"e0af\", \"M322.2 24.1c-4.5-7.6-1.9-17.4 5.8-21.9s17.4-1.9 21.9 5.8L457.2 192H511h33 16c8.8 0 16 7.2 16 16s-7.2 16-16 16H536L476.1 463.5C469 492 443.4 512 414 512H162c-29.4 0-55-20-62.1-48.5L40 224H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H32 65h53.8L226.2 7.9c4.5-7.6 14.2-10.2 21.9-5.8s10.2 14.2 5.8 21.9L155.9 192H420.1l-98-167.9zM503 224H73l57.9 231.8c3.6 14.2 16.4 24.2 31 24.2H414c14.7 0 27.5-10 31-24.2L503 224zM144 296a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm264-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faShoppingBasketAlt = faBasketShoppingSimple;\nvar faHandsHoldingHeart = {\n prefix: 'fal',\n iconName: 'hands-holding-heart',\n icon: [640, 512, [\"hands-heart\"], \"f4c3\", \"M195.9 28.9C223.7 .7 267.8-.8 297.3 24.3c5.8 4.9 11 10.4 16.3 15.9c2.1 2.2 4.2 4.5 6.4 6.6c2.1-2.2 4.3-4.4 6.4-6.6c5.2-5.5 10.5-11 16.3-15.9C372.2-.8 416.3 .7 444.1 28.9c29.4 29.8 29.4 78.2 0 108L342.5 240.1c-6.2 6.3-14.3 9.4-22.5 9.4s-16.3-3.1-22.5-9.4L195.9 136.9c-29.4-29.8-29.4-78.2 0-108zm83.6 22.5c-16.8-17.1-44-17.1-60.8 0c-17.1 17.4-17.1 45.7 0 63.1L320 217.3 421.3 114.4c17.1-17.4 17.1-45.7 0-63.1c-16.8-17.1-44-17.1-60.8 0L331.4 80.9c-6.3 6.4-16.5 6.4-22.8 0L279.5 51.4zM64 64c35.3 0 64 28.7 64 64V252.3c0 4.6 .4 9.1 1.3 13.5c2.1-3.2 4.6-6.3 7.4-9.1c21.7-21.7 56.9-21.7 78.6 0L306.6 348c5.1 5.1 9.6 10.6 13.4 16.6c3.8-5.9 8.3-11.5 13.4-16.6l91.3-91.3c21.7-21.7 56.9-21.7 78.6 0c2.8 2.8 5.3 5.9 7.4 9.1c.9-4.4 1.3-8.9 1.3-13.5V128c0-35.3 28.7-64 64-64s64 28.7 64 64V344.2c0 29.7-11.8 58.2-32.8 79.2l-83.9 83.9c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l83.9-83.9c15-15 23.4-35.4 23.4-56.6V128c0-17.7-14.3-32-32-32s-32 14.3-32 32V252.3c0 27.1-10.8 53.1-29.9 72.2l-10.8 10.8-44 44-16 16c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l16-16 0 0 44-44 0 0c9.2-9.2 9.2-24.2 0-33.4s-24.2-9.2-33.4 0L356 370.6c-12.8 12.8-20 30.2-20 48.3V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V418.9c0-18.1-7.2-35.5-20-48.3l-91.3-91.3c-9.2-9.2-24.2-9.2-33.4 0s-9.2 24.2 0 33.4l44 44 16 16c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-16-16 0 0-44-44 0 0-10.7-10.8C106.8 305.4 96 279.4 96 252.3V128c0-17.7-14.3-32-32-32s-32 14.3-32 32V344.2c0 21.2 8.4 41.6 23.4 56.6l83.9 83.9c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L32.8 423.4C11.8 402.4 0 373.9 0 344.2V128C0 92.7 28.7 64 64 64z\"]\n};\nvar faHandsHeart = faHandsHoldingHeart;\nvar faClockNine = {\n prefix: 'fal',\n iconName: 'clock-nine',\n icon: [512, 512, [], \"e34c\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM272 112V256c0 8.8-7.2 16-16 16H144c-8.8 0-16-7.2-16-16s7.2-16 16-16h96V112c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faHammerBrush = {\n prefix: 'fal',\n iconName: 'hammer-brush',\n icon: [640, 512, [], \"e620\", \"M144 0C64.5 0 0 64.5 0 144v24c0 5.2 2.6 10.2 6.9 13.2s9.8 3.7 14.7 1.8l51.9-19.5c7.9 10.1 18.2 17.9 29.9 22.8L97.5 448c-.8 35.1 27.4 64 62.5 64s63.3-28.9 62.5-64l-5.9-258.9c16.3-4.7 30.7-14.9 40.4-29.1H320v16c0 8.8 7.2 16 16 16s16-7.2 16-16V16c0-8.8-7.2-16-16-16s-16 7.2-16 16V32H257.1C243.4 12.1 220.8 0 196.2 0H144zM320 64v64H248c-6.1 0-11.6 3.4-14.3 8.8C226.6 151 212.1 160 196.2 160H131.8c-15.9 0-30.4-9-37.5-23.2c-3.7-7.3-12.3-10.7-19.9-7.8L32 144.9V144C32 82.1 82.1 32 144 32h52.2c15.9 0 30.4 9 37.5 23.2c2.7 5.4 8.3 8.8 14.3 8.8h72zM184.7 192l5.8 256.7c.4 17.1-13.4 31.3-30.6 31.3s-30.9-14.1-30.6-31.3L135.3 192h49.4zM528 220.3l11.5 9.6 57 47.5c3.5 2.9 6.3 6.6 8.3 10.6H387.2c2-4 4.8-7.7 8.3-10.6l57-47.5 11.5-9.6v-15V64c0-17.7 14.3-32 32-32s32 14.3 32 32V205.3v15zM384 320H608V464c0 8.8-7.2 16-16 16H480V416c0-8.8-7.2-16-16-16s-16 7.2-16 16v64H400c-8.8 0-16-7.2-16-16V320zM560 205.3V64c0-35.3-28.7-64-64-64s-64 28.7-64 64V205.3l-57 47.5C360.4 265 352 283 352 302V464c0 26.5 21.5 48 48 48H592c26.5 0 48-21.5 48-48V302c0-19-8.4-37-23-49.2l-57-47.5zM512 80a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faTarp = {\n prefix: 'fal',\n iconName: 'tarp',\n icon: [576, 512, [], \"e57b\", \"M32 384l0-256c0-17.7 14.3-32 32-32l448 0c17.7 0 32 14.3 32 32V256H432c-26.5 0-48 21.5-48 48l0 112L64 416c-17.7 0-32-14.3-32-32zm391.4 27.3c-2.1 2.1-4.6 3.5-7.4 4.2L416 304c0-8.8 7.2-16 16-16H543.5c-.7 2.8-2.1 5.4-4.2 7.4L423.4 411.3zM576 128c0-35.3-28.7-64-64-64H64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64l348.1 0c12.7 0 24.9-5.1 33.9-14.1L561.9 318.1c9-9 14.1-21.2 14.1-33.9V128zM96 184a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faFaceSleepy = {\n prefix: 'fal',\n iconName: 'face-sleepy',\n icon: [512, 512, [], \"e38e\", \"M256 32C132.3 32 32 132.3 32 256s100.3 224 224 224c31.9 0 62.2-6.7 89.6-18.6c8.1-3.5 17.5 .2 21.1 8.3s-.2 17.5-8.3 21.1C327 504.4 292.4 512 256 512C114.6 512 0 397.4 0 256S114.6 0 256 0S512 114.6 512 256c0 23.6-3.2 46.5-9.2 68.3c-2.4 8.5-11.2 13.5-19.7 11.2s-13.5-11.2-11.2-19.7c5.2-19 8.1-39 8.1-59.7C480 132.3 379.7 32 256 32zm64.3 285c1.4-7.5 8-13 15.7-13c27.8 0 70.8 13.3 106.7 36.6C478.5 363.7 512 399.9 512 448c0 35.3-28.7 64-64 64s-64-28.7-64-64c0-16.2-.1-39.4-7.2-61.5c-6.9-21.5-20.2-41.1-46.7-51.7c-7.1-2.8-11.2-10.3-9.8-17.9zm76 34.8c4.7 8.1 8.3 16.5 11 25c8.8 27.2 8.8 54.9 8.8 70.8v.5c0 17.7 14.3 32 32 32s32-14.3 32-32c0-31.9-22.5-59.7-54.7-80.6c-9.4-6.1-19.3-11.3-29.1-15.7zm-87.3 78c-16.2-6.1-34-9.4-52.9-9.4c-18.8 0-36.7 3.4-52.9 9.4c-11.2 4.2-23.6 2.3-32.4-4.5c-4.5-3.5-8.4-8.6-10-15.1c-1.6-6.7-.5-13.5 2.7-19.5C180.9 358 215.9 336 256 336c40.1 0 75.2 22.1 92.5 54.7c3.2 6 4.3 12.8 2.7 19.5c-1.6 6.5-5.5 11.6-10 15.1c-8.8 6.8-21.2 8.7-32.4 4.5zM256 368c-24.9 0-46.7 12.1-59.6 30.2c18.5-6.4 38.6-9.8 59.6-9.8c21 0 41.1 3.5 59.6 9.9C302.7 380 280.9 368 256 368zM387.2 238.4c5.3-7.1 15.3-8.5 22.4-3.2s8.5 15.3 3.2 22.4c-30.4 40.5-91.2 40.5-121.6 0c-5.3-7.1-3.9-17.1 3.2-22.4s17.1-3.9 22.4 3.2c17.6 23.5 52.8 23.5 70.4 0zm-262.4 0c17.6 23.5 52.8 23.5 70.4 0c5.3-7.1 15.3-8.5 22.4-3.2s8.5 15.3 3.2 22.4c-30.4 40.5-91.2 40.5-121.6 0c-5.3-7.1-3.9-17.1 3.2-22.4s17.1-3.9 22.4 3.2z\"]\n};\nvar faHandHorns = {\n prefix: 'fal',\n iconName: 'hand-horns',\n icon: [384, 512, [], \"e1a9\", \"M88 32c13.3 0 24 10.7 24 24V200v40H80c-5.5 0-10.8 .6-16 1.6V56c0-13.3 10.7-24 24-24zm56 117.4V56c0-30.9-25.1-56-56-56S32 25.1 32 56V256C12.6 270.6 0 293.8 0 320v32c0 88.4 71.6 160 160 160h64c88.4 0 160-71.6 160-160V240 120c0-30.9-25.1-56-56-56s-56 25.1-56 56v61.4c-7.3-3.5-15.4-5.4-24-5.4c-9.7 0-18.8 2.5-26.7 6.8C214 160.3 192.9 144 168 144c-8.6 0-16.7 1.9-24 5.4zm0 50.6c0-13.3 10.7-24 24-24s24 10.7 24 24v31.9c0 0 0 0 0 .1v13.4c-7.3-3.5-15.4-5.4-24-5.4H144V200zm80 72V232c0-13.2 10.8-24 24-24c13.3 0 24 10.7 24 24v8 56c0 13.3-10.7 24-24 24s-24-10.7-24-24v0l0-24zm-112 0v0h32v0h24c13.2 0 24 10.7 24 24v0c0 13.3-10.7 24-24 24H112c-8.8 0-16 7.2-16 16s7.2 16 16 16h56c15.7 0 29.8-6.4 40-16.8c10.2 10.4 24.3 16.8 40 16.8c30.9 0 56-25.1 56-56V240v-8V120c0-13.3 10.7-24 24-24s24 10.7 24 24V240 352c0 70.7-57.3 128-128 128H160C89.3 480 32 422.7 32 352V320c0-26.5 21.5-48 48-48h32z\"]\n};\nvar faScrewdriverWrench = {\n prefix: 'fal',\n iconName: 'screwdriver-wrench',\n icon: [512, 512, [\"tools\"], \"f7d9\", \"M64.7 34.6L160 107.9V160H107.9L34.6 64.7 64.7 34.6zM192 169.3c0-.4 0-.9 0-1.3V104c0-7.5-3.5-14.5-9.4-19L78.6 5C69.1-2.4 55.6-1.5 47 7L7 47c-8.5 8.5-9.4 22-2.1 31.6l80 104c4.5 5.9 11.6 9.4 19 9.4h64c.4 0 .9 0 1.3 0L271.2 293.9c-19.5 30-16.2 70.5 10.1 96.8l112 112c12.5 12.5 32.8 12.5 45.3 0l64-64c12.5-12.5 12.5-32.8 0-45.3l-112-112c-26.3-26.3-66.8-29.7-96.8-10.1L192 169.3zM304 304c17.7-17.7 46.3-17.7 64 0L480 416l-64 64L304 368c-17.7-17.7-17.7-46.3 0-64zM104 424a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM23.2 376.8C8.3 391.7 0 411.8 0 432.8C0 476.5 35.5 512 79.2 512c21 0 41.1-8.3 56-23.2L238.5 385.5c-5.7-11.2-9.3-23.1-10.9-35.3L112.1 465.7c-8.7 8.7-20.6 13.6-32.9 13.6c-25.7 0-46.6-20.8-46.6-46.6c0-12.3 4.9-24.2 13.6-32.9L189.1 257l-23.1-23.1L23.2 376.8zM479.4 160c0 44.8-23.1 84.1-58 106.8l23.5 23.5c40.7-29 67.2-76.6 67.2-130.3c0-24.8-5.7-48.3-15.7-69.3c-4.4-9.2-16.5-10.5-23.7-3.3l-67.9 67.9c-3 3-7.1 4.7-11.3 4.7H368c-8.8 0-16-7.2-16-16V118.6c0-4.2 1.7-8.3 4.7-11.3l67.9-67.9c7.2-7.2 5.9-19.3-3.3-23.7C400.3 5.7 376.8 0 352 0C296.1 0 246.9 28.6 218.3 72.1l26 20C266.8 56.3 306.7 32.6 352 32.6c10.3 0 20.2 1.2 29.7 3.5L333.6 84.2c-9.1 9.1-14.2 21.5-14.2 34.4V144c0 26.9 21.8 48.6 48.6 48.6h25.4c12.9 0 25.3-5.1 34.4-14.2l48.1-48.1c2.3 9.5 3.5 19.5 3.5 29.7z\"]\n};\nvar faTools = faScrewdriverWrench;\nvar faArrowsToEye = {\n prefix: 'fal',\n iconName: 'arrows-to-eye',\n icon: [640, 512, [], \"e4bf\", \"M43.3 20.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L105.4 128H48c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c8.8 0 16-7.2 16-16V48c0-8.8-7.2-16-16-16s-16 7.2-16 16v57.4L43.3 20.7zm553.4 0L512 105.4V48c0-8.8-7.2-16-16-16s-16 7.2-16 16v96c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H534.6l84.7-84.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0zM320 368c-77.3 0-132.6-65-156.7-112c24.1-47 79.4-112 156.7-112s132.6 65 156.7 112C452.6 303 397.3 368 320 368zm0-256c-97.3 0-161.4 81.6-186.5 131.9c-3.8 7.6-3.8 16.5 0 24.2C158.6 318.4 222.7 400 320 400s161.4-81.6 186.5-131.9c3.8-7.6 3.8-16.5 0-24.2C481.4 193.6 417.3 112 320 112zM596.7 491.3c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L534.6 384H592c8.8 0 16-7.2 16-16s-7.2-16-16-16H496c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V406.6l84.7 84.7zm-576-22.6c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L128 406.6V464c0 8.8 7.2 16 16 16s16-7.2 16-16V368c0-8.8-7.2-16-16-16H48c-8.8 0-16 7.2-16 16s7.2 16 16 16h57.4L20.7 468.7zM272 256a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm128 0a80 80 0 1 0 -160 0 80 80 0 1 0 160 0z\"]\n};\nvar faCircleThreeQuarters = {\n prefix: 'fal',\n iconName: 'circle-three-quarters',\n icon: [512, 512, [], \"e125\", \"M256 288c-17.7 0-32-14.3-32-32V34.3C115.5 49.8 32 143.2 32 256c0 123.7 100.3 224 224 224c112.8 0 206.2-83.5 221.7-192H256zM224.1 2C241.6-.2 256 14.3 256 32V224v32h32H480c17.7 0 32.2 14.4 30 31.9C494.3 414.2 386.6 512 256 512C114.6 512 0 397.4 0 256C0 125.4 97.8 17.7 224.1 2z\"]\n};\nvar faTrophyStar = {\n prefix: 'fal',\n iconName: 'trophy-star',\n icon: [576, 512, [\"trophy-alt\"], \"f2eb\", \"M400 32H176c-9 0-15.4 7.3-15.1 15c6.2 163.9 44.9 239.2 76.1 273.5c15.5 17.1 29.9 24.8 39.3 28.3c4.8 1.8 8.5 2.6 10.6 3c.5 .1 .9 .1 1.2 .2c.3 0 .7-.1 1.2-.2c2.1-.3 5.8-1.1 10.6-3c9.4-3.5 23.8-11.3 39.3-28.3c31.2-34.2 69.8-109.6 76.1-273.5c.3-7.8-6.2-15-15.1-15zM176 0H400c26.5 0 48.1 21.8 47.1 48.2c-.2 5.3-.4 10.6-.7 15.8H528c26 0 49.3 21.6 46.2 49.7c-10.1 94-61.9 158.2-118.1 199.9c-55.9 41.4-117.1 61.3-149.3 66.9l-.1-.3c-.9 .3-1.8 .6-2.7 .8V480h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H288 176c-8.8 0-16-7.2-16-16s7.2-16 16-16h96V381.1c-.9-.3-1.8-.5-2.7-.8l-.1 .3c-32.2-5.7-93.4-25.5-149.3-66.9C63.7 272 11.9 207.7 1.8 113.7C-1.3 85.6 22 64 48 64h81.6c-.3-5.2-.5-10.4-.7-15.8C127.9 21.8 149.5 0 176 0zM377.8 323.2c19.2-9.1 39.6-20.7 59.2-35.3c51.1-37.9 96.4-94.8 105.4-177.6c.8-7-5.1-14.3-14.4-14.3H444.2c-9.8 116.5-37.2 185.9-66.4 227.2zM131.8 96H48c-9.3 0-15.2 7.3-14.4 14.3C42.5 193.2 87.9 250.1 139 287.9c19.6 14.6 40 26.2 59.2 35.3C169 281.9 141.5 212.5 131.8 96zm177.8-.5L322.1 121l28.2 4.1c19.7 2.9 27.5 27.1 13.3 40.9l-20.4 19.9 4.8 28.1c3.4 19.6-17.2 34.6-34.8 25.3L288 226.1l-25.2 13.3c-17.6 9.3-38.2-5.7-34.8-25.3l4.8-28.1-20.4-19.9c-14.2-13.9-6.4-38.1 13.3-40.9l28.2-4.1 12.6-25.6c8.8-17.8 34.2-17.8 43 0zm-28.8 43.5c-3.5 7.1-10.3 12-18.1 13.1l-16.3 2.4L258.1 166c5.7 5.5 8.2 13.5 6.9 21.2l-2.8 16.3 14.6-7.7c7-3.7 15.3-3.7 22.3 0l14.6 7.7L311 187.2c-1.3-7.8 1.2-15.7 6.9-21.2l11.8-11.5-16.3-2.4c-7.8-1.1-14.6-6-18.1-13.1L288 124.2l-7.3 14.8z\"]\n};\nvar faTrophyAlt = faTrophyStar;\nvar faPlugCircleBolt = {\n prefix: 'fal',\n iconName: 'plug-circle-bolt',\n icon: [576, 512, [], \"e55b\", \"M128 16c0-8.8-7.2-16-16-16s-16 7.2-16 16v96h32V16zm160 0c0-8.8-7.2-16-16-16s-16 7.2-16 16v96h32V16zM16 144c-8.8 0-16 7.2-16 16s7.2 16 16 16H32v64c0 83 63.1 151.2 144 159.2V496c0 8.8 7.2 16 16 16s16-7.2 16-16V399.2c17.3-1.7 33.7-6.2 48.9-12.9c-.6-6-.9-12.1-.9-18.3c0-6 .3-11.8 .9-17.6c-19 11.2-41.2 17.6-64.9 17.6c-70.7 0-128-57.3-128-128V176H320v56.2c9.8-8.1 20.6-15.2 32-21V176h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H352 320 64 32 16zM320 368a112 112 0 1 1 224 0 112 112 0 1 1 -224 0zm256 0a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-96.1-81c-4.3-3.7-10.6-4-15.1-.6l-96 72c-4.1 3.1-5.8 8.5-4.2 13.4s6.2 8.2 11.4 8.2h35.6l-30.1 54.2c-2.8 5-1.7 11.1 2.6 14.9s10.6 4 15.1 .6l96-72c4.1-3.1 5.8-8.5 4.2-13.4s-6.2-8.2-11.4-8.2H452.4l30.1-54.2c2.8-5 1.7-11.1-2.6-14.9z\"]\n};\nvar faFaceThermometer = {\n prefix: 'fal',\n iconName: 'face-thermometer',\n icon: [576, 512, [], \"e39a\", \"M288 32C164.3 32 64 132.3 64 256s100.3 224 224 224c95.3 0 176.7-59.5 209.1-143.4c3.2-8.2 12.4-12.4 20.7-9.2s12.4 12.4 9.2 20.7C490 444 396.9 512 288 512C146.6 512 32 397.4 32 256S146.6 0 288 0c83.8 0 158.1 40.2 204.8 102.4c5.3 7.1 3.9 17.1-3.2 22.4s-17.1 3.9-22.4-3.2C426.3 67.2 361.3 32 288 32zM402.5 396.1c-6.7 5.8-16.8 5.1-22.6-1.6C362 373.8 331.4 352 288 352s-74 21.8-91.9 42.5c-5.8 6.7-15.9 7.4-22.6 1.6s-7.4-15.9-1.6-22.6c22.2-25.7 61-53.5 116.1-53.5c13.5 0 26 1.7 37.5 4.6L477 179.4c19.6-18.8 50.6-18.4 69.8 .7c19.8 19.8 19.4 52.1-.9 71.4L408 382.9c.3 4.8-1.5 9.8-5.5 13.2zm-43.9-58.9c11.3 5.9 21.1 13 29.6 20.3l8.4-8-5.1-5.1c-4.7-4.7-4.7-12.3 0-17s12.3-4.7 17 0L414 333l15.4-14.7-5.8-5.8c-4.7-4.7-4.7-12.3 0-17s12.3-4.7 17 0l6.3 6.3 15.4-14.7-6.6-6.6c-4.7-4.7-4.7-12.3 0-17s12.3-4.7 17 0l7 7 15.4-14.7-7.4-7.4c-4.7-4.7-4.7-12.3 0-17s12.3-4.7 17 0l7.8 7.8 11.5-11c7.3-6.9 7.4-18.5 .3-25.6c-6.9-6.9-18-7-25-.3L358.5 337.2zM208.4 184a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm136 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faGridRound4 = {\n prefix: 'fal',\n iconName: 'grid-round-4',\n icon: [448, 512, [], \"e5dd\", \"M44.8 56a20.8 20.8 0 1 1 0 41.6 20.8 20.8 0 1 1 0-41.6zM0 76.8a44.8 44.8 0 1 0 89.6 0A44.8 44.8 0 1 0 0 76.8zm44.8 98.7a20.8 20.8 0 1 1 0 41.6 20.8 20.8 0 1 1 0-41.6zM0 196.3a44.8 44.8 0 1 0 89.6 0A44.8 44.8 0 1 0 0 196.3zM65.6 315.7a20.8 20.8 0 1 1 -41.6 0 20.8 20.8 0 1 1 41.6 0zM44.8 270.9a44.8 44.8 0 1 0 0 89.6 44.8 44.8 0 1 0 0-89.6zm0 143.5a20.8 20.8 0 1 1 0 41.6 20.8 20.8 0 1 1 0-41.6zM0 435.2a44.8 44.8 0 1 0 89.6 0A44.8 44.8 0 1 0 0 435.2zM185.1 76.8a20.8 20.8 0 1 1 -41.6 0 20.8 20.8 0 1 1 41.6 0zM164.3 32a44.8 44.8 0 1 0 0 89.6 44.8 44.8 0 1 0 0-89.6zm0 143.5a20.8 20.8 0 1 1 0 41.6 20.8 20.8 0 1 1 0-41.6zm-44.8 20.8a44.8 44.8 0 1 0 89.6 0 44.8 44.8 0 1 0 -89.6 0zm65.6 119.5a20.8 20.8 0 1 1 -41.6 0 20.8 20.8 0 1 1 41.6 0zm-20.8-44.8a44.8 44.8 0 1 0 0 89.6 44.8 44.8 0 1 0 0-89.6zm0 143.5a20.8 20.8 0 1 1 0 41.6 20.8 20.8 0 1 1 0-41.6zm-44.8 20.8a44.8 44.8 0 1 0 89.6 0 44.8 44.8 0 1 0 -89.6 0zM304.5 76.8a20.8 20.8 0 1 1 -41.6 0 20.8 20.8 0 1 1 41.6 0zM283.7 32a44.8 44.8 0 1 0 0 89.6 44.8 44.8 0 1 0 0-89.6zm0 143.5a20.8 20.8 0 1 1 0 41.6 20.8 20.8 0 1 1 0-41.6zm-44.8 20.8a44.8 44.8 0 1 0 89.6 0 44.8 44.8 0 1 0 -89.6 0zm65.6 119.5a20.8 20.8 0 1 1 -41.6 0 20.8 20.8 0 1 1 41.6 0zm-20.8-44.8a44.8 44.8 0 1 0 0 89.6 44.8 44.8 0 1 0 0-89.6zm0 143.5a20.8 20.8 0 1 1 0 41.6 20.8 20.8 0 1 1 0-41.6zm-44.8 20.8a44.8 44.8 0 1 0 89.6 0 44.8 44.8 0 1 0 -89.6 0zM424 76.8a20.8 20.8 0 1 1 -41.6 0 20.8 20.8 0 1 1 41.6 0zM403.2 32a44.8 44.8 0 1 0 0 89.6 44.8 44.8 0 1 0 0-89.6zm0 143.5a20.8 20.8 0 1 1 0 41.6 20.8 20.8 0 1 1 0-41.6zm-44.8 20.8a44.8 44.8 0 1 0 89.6 0 44.8 44.8 0 1 0 -89.6 0zM424 315.7a20.8 20.8 0 1 1 -41.6 0 20.8 20.8 0 1 1 41.6 0zm-20.8-44.8a44.8 44.8 0 1 0 0 89.6 44.8 44.8 0 1 0 0-89.6zm0 143.5a20.8 20.8 0 1 1 0 41.6 20.8 20.8 0 1 1 0-41.6zm-44.8 20.8a44.8 44.8 0 1 0 89.6 0 44.8 44.8 0 1 0 -89.6 0z\"]\n};\nvar faSignPostsWrench = {\n prefix: 'fal',\n iconName: 'sign-posts-wrench',\n icon: [640, 512, [], \"e626\", \"M64 64H48c-8.8 0-16 7.2-16 16V368c0 8.8 7.2 16 16 16H332c4.4 11.3 9.9 22 16.5 32H96l0 80c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-80H48c-26.5 0-48-21.5-48-48V80C0 53.5 21.5 32 48 32H64l0-16C64 7.2 71.2 0 80 0s16 7.2 16 16l0 16H480l0-16c0-8.8 7.2-16 16-16s16 7.2 16 16l0 16h16c26.5 0 48 21.5 48 48v83.2c-10.1-5.2-20.8-9.4-32-12.6V80c0-8.8-7.2-16-16-16H512 480 96 64zM464 201.3V288c0 17.7 14.3 32 32 32s32-14.3 32-32V201.3c0-5.3 2.6-10.3 7.1-13.3s10-3.6 14.9-1.6c52.7 21.4 90 73.1 90 133.5c0 42.7-18.6 81-48 107.3V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V419.9c0-4.9 2.2-9.4 6-12.5c25.6-20.6 42-52.1 42-87.4c0-38-19-71.7-48-91.9V288c0 35.3-28.7 64-64 64s-64-28.7-64-64V228.1c-29 20.2-48 53.9-48 91.9c0 35.4 16.4 66.9 42 87.4c3.8 3 6 7.6 6 12.5V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V427.3C370.6 401 352 362.7 352 320c0-60.5 37.3-112.2 90-133.5c4.9-2 10.5-1.4 14.9 1.6s7.1 7.9 7.1 13.3z\"]\n};\nvar faShirtRunning = {\n prefix: 'fal',\n iconName: 'shirt-running',\n icon: [384, 512, [], \"e3c8\", \"M80 0c8.8 0 16 7.2 16 16V64c0 53 43 96 96 96s96-43 96-96V16c0-8.8 7.2-16 16-16s16 7.2 16 16c0 134.3 29.3 192.6 45.6 214.6c8.9 12 18.4 28.6 18.4 47.6V456c0 30.9-25.1 56-56 56H56c-30.9 0-56-25.1-56-56V278.2c0-19 9.5-35.7 18.4-47.6C34.7 208.6 64 150.3 64 16C64 7.2 71.2 0 80 0zM44.1 249.6c-7.6 10.2-12.1 20-12.1 28.6V396.3L310.6 195l1.4-1c-5.5-15.9-10.5-34.9-14.6-57.5C274.4 170 235.8 192 192 192s-82.4-22-105.5-55.5c-10.7 59.8-28.4 94.1-42.4 113.1zM32 435.7V456c0 13.3 10.7 24 24 24H328c13.3 0 24-10.7 24-24V278.2c0-8.6-4.6-18.4-12.1-28.6c-4.8-6.5-10-14.7-15.2-25.2L41.4 429 32 435.7z\"]\n};\nvar faBookCircleArrowUp = {\n prefix: 'fal',\n iconName: 'book-circle-arrow-up',\n icon: [640, 512, [], \"e0bd\", \"M64 0C28.7 0 0 28.7 0 64L0 448l0 0c0 35.3 28.7 64 64 64H394.8c-12.9-9.1-24.5-19.9-34.6-32H64c-17.7 0-32-14.3-32-32s14.3-32 32-32H326.6c-2.9-10.3-4.9-21-5.9-32H64c-11.7 0-22.6 3.1-32 8.6L32 64c0-17.7 14.3-32 32-32H400c8.8 0 16 7.2 16 16V211.2c10.1-5.2 20.8-9.4 32-12.6V48c0-26.5-21.5-48-48-48H64zM384 368a112 112 0 1 1 224 0 112 112 0 1 1 -224 0zm256 0a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-211.3 3.3c6.2 6.2 16.4 6.2 22.6 0L480 342.6V432c0 8.8 7.2 16 16 16s16-7.2 16-16V342.6l28.7 28.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-56-56c-6.2-6.2-16.4-6.2-22.6 0l-56 56c-6.2 6.2-6.2 16.4 0 22.6z\"]\n};\nvar faFaceNauseated = {\n prefix: 'fal',\n iconName: 'face-nauseated',\n icon: [512, 512, [], \"e381\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM203.3 100.7c6.2 6.2 6.2 16.4 0 22.6l-7.4 7.4c-23.6 23.6-53.9 39.2-86.8 44.7l-2.5 .4c-8.7 1.5-17-4.4-18.4-13.2s4.4-17 13.2-18.4l2.5-.4c26.3-4.4 50.6-16.9 69.5-35.7l7.4-7.4c6.2-6.2 16.4-6.2 22.6 0zM175.6 184a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm160 0a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm-26.9-60.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l7.4 7.4c18.9 18.9 43.2 31.4 69.5 35.7l2.5 .4c8.7 1.5 14.6 9.7 13.2 18.4s-9.7 14.6-18.4 13.2l-2.5-.4c-32.9-5.5-63.3-21.1-86.8-44.7l-7.4-7.4zM146.2 272.6c4.4-7.6 14.2-10.3 21.9-5.8c19.5 11.3 33.8 30.5 38.4 53.3h99.2c4.6-22.8 18.9-42 38.4-53.3c7.7-4.4 17.4-1.8 21.9 5.8s1.8 17.4-5.8 21.9c-14.4 8.3-24 23.8-24 41.6s9.6 33.3 24 41.6c7.6 4.4 10.3 14.2 5.8 21.9s-14.2 10.3-21.9 5.8c-19.5-11.3-33.8-30.5-38.4-53.3H206.4c-4.6 22.8-18.9 42-38.4 53.3c-7.6 4.4-17.4 1.8-21.9-5.8s-1.8-17.4 5.8-21.9c14.4-8.3 24-23.8 24-41.6s-9.6-33.3-24-41.6c-7.6-4.4-10.3-14.2-5.8-21.9z\"]\n};\nvar faHeart = {\n prefix: 'fal',\n iconName: 'heart',\n icon: [512, 512, [128153, 128154, 128155, 128156, 128420, 129293, 129294, 129505, 9829, 10084, 61578], \"f004\", \"M244 130.6l-12-13.5-4.2-4.7c-26-29.2-65.3-42.8-103.8-35.8c-53.3 9.7-92 56.1-92 110.3v3.5c0 32.3 13.4 63.1 37.1 85.1L253 446.8c.8 .7 1.9 1.2 3 1.2s2.2-.4 3-1.2L443 275.5c23.6-22 37-52.8 37-85.1v-3.5c0-54.2-38.7-100.6-92-110.3c-38.5-7-77.8 6.6-103.8 35.8l-4.2 4.7-12 13.5c-3 3.4-7.4 5.4-12 5.4s-8.9-2-12-5.4zm34.9-57.1C311 48.4 352.7 37.7 393.7 45.1C462.2 57.6 512 117.3 512 186.9v3.5c0 36-13.1 70.6-36.6 97.5c-3.4 3.8-6.9 7.5-10.7 11l-184 171.3c-.8 .8-1.7 1.5-2.6 2.2c-6.3 4.9-14.1 7.5-22.1 7.5c-9.2 0-18-3.5-24.8-9.7L47.2 299c-3.8-3.5-7.3-7.2-10.7-11C13.1 261 0 226.4 0 190.4v-3.5C0 117.3 49.8 57.6 118.3 45.1c40.9-7.4 82.6 3.2 114.7 28.4c6.7 5.3 13 11.1 18.7 17.6l4.2 4.7 4.2-4.7c4.2-4.7 8.6-9.1 13.3-13.1c1.8-1.5 3.6-3 5.4-4.5z\"]\n};\nvar faFileChartPie = {\n prefix: 'fal',\n iconName: 'file-chart-pie',\n icon: [384, 512, [], \"f65a\", \"M320 480H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H192V144c0 26.5 21.5 48 48 48H352V448c0 17.7-14.3 32-32 32zM240 160c-8.8 0-16-7.2-16-16V32.5c2.8 .7 5.4 2.1 7.4 4.2L347.3 152.6c2.1 2.1 3.5 4.6 4.2 7.4H240zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V163.9c0-12.7-5.1-24.9-14.1-33.9L254.1 14.1c-9-9-21.2-14.1-33.9-14.1H64zM176 224v96c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16c0-61.9-50.1-112-112-112c-8.8 0-16 7.2-16 16zm32 17.6c31.3 6.4 56 31.1 62.4 62.4H208V241.6zm-56-21C105.7 234.4 72 277.3 72 328c0 61.9 50.1 112 112 112c50.7 0 93.6-33.7 107.4-80h-34c-12.3 28.3-40.5 48-73.3 48c-44.2 0-80-35.8-80-80c0-32.8 19.7-61 48-73.3v-34z\"]\n};\nvar faMarsAndVenus = {\n prefix: 'fal',\n iconName: 'mars-and-venus',\n icon: [512, 512, [9893], \"f224\", \"M352 16c0 8.8 7.2 16 16 16h73.4l-75.6 75.6C337.1 80.6 298.5 64 256 64C167.6 64 96 135.6 96 224c0 83 63.1 151.2 144 159.2V416H208c-8.8 0-16 7.2-16 16s7.2 16 16 16h32v48c0 8.8 7.2 16 16 16s16-7.2 16-16V448h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H272V383.2c80.9-8 144-76.2 144-159.2c0-34.3-10.8-66.1-29.2-92.2L464 54.6V128c0 8.8 7.2 16 16 16s16-7.2 16-16V16c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16zM256 96a128 128 0 1 1 0 256 128 128 0 1 1 0-256z\"]\n};\nvar faHouseUser = {\n prefix: 'fal',\n iconName: 'house-user',\n icon: [576, 512, [\"home-user\"], \"e1b0\", \"M277.4 4c6-5.3 15.1-5.3 21.2 0l272 240c6.6 5.8 7.3 16 1.4 22.6s-16 7.3-22.6 1.4L512 235V432c0 44.2-35.8 80-80 80H144c-44.2 0-80-35.8-80-80V235L26.6 268C20 273.8 9.8 273.2 4 266.6S-1.2 249.8 5.4 244L277.4 4zM96 206.7V432c0 26.5 21.5 48 48 48H432c26.5 0 48-21.5 48-48V206.7L288 37.3 96 206.7zM288 256a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0-96a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM208 392v8c0 8.8-7.2 16-16 16s-16-7.2-16-16v-8c0-39.8 32.2-72 72-72h80c39.8 0 72 32.2 72 72v8c0 8.8-7.2 16-16 16s-16-7.2-16-16v-8c0-22.1-17.9-40-40-40H248c-22.1 0-40 17.9-40 40z\"]\n};\nvar faHomeUser = faHouseUser;\nvar faCircleArrowDownLeft = {\n prefix: 'fal',\n iconName: 'circle-arrow-down-left',\n icon: [512, 512, [], \"e0f9\", \"M256 32a224 224 0 1 0 0 448 224 224 0 1 0 0-448zm0 480A256 256 0 1 1 256 0a256 256 0 1 1 0 512zm56-160H176c-8.8 0-16-7.2-16-16V192c0-8.8 7.2-16 16-16s16 7.2 16 16V297.4L324.7 164.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L214.6 320H312c8.8 0 16 7.2 16 16s-7.2 16-16 16z\"]\n};\nvar faDumpsterFire = {\n prefix: 'fal',\n iconName: 'dumpster-fire',\n icon: [640, 512, [], \"f794\", \"M423.4 32H288l0 0 0 0H152.3c-.2 0-.4 0-.6 0H57c-14.7 0-27.5 10-31 24.2L.9 156.6c-.6 2.3-.9 4.6-.9 6.9C0 179.2 12.8 192 28.5 192h5.3H66h61.7 .6L288 192h49.5c7.5-10.7 15.7-21.4 24.5-32H304V64l106.4 0 7.5 39.6c9.4-6.1 20.5-8.6 31.2-7.3L443 64l76 0 15.4 61.5c11.4-2.8 23.7-1.2 34.2 4.7l-18.5-74C546.5 42 533.7 32 519 32H424c-.2 0-.4 0-.6 0zM337.6 448c-8.8-9.8-16.5-20.6-23.2-32H92.3L69.8 224H37.5l3.8 32H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H45.1L64 448.9V464c0 8.8 7.2 16 16 16s16-7.2 16-16V448H337.6zM272 64v96H147.3l18-96L272 64zM132.7 64l-18 96H48.2h-.4H33L57 64l75.7 0zm314.4 97.1l47.4 49.8c3.1 3.2 7.4 5 11.9 5s8.7-2 11.7-5.4l21-23.7c16.6 15.9 33.7 37.3 46.7 60.7c13.7 24.6 22.2 50 22.2 72.6c0 33.5-12.7 63.9-33.6 86.6c1-5.2 1.6-10.7 1.6-16.2c0-57.4-63.8-110.5-87.4-128.2c-5.2-3.9-12.1-3.9-17.3 0C447.8 280.1 384 333.2 384 390.6c0 5.7 .6 11.2 1.6 16.6c-21-22.8-33.6-53.3-33.6-87c0-28.4 12.4-58.2 31.4-86.7c18.4-27.5 42-52.6 63.7-72.3zM480 448c-2.4 0-4.7-.1-7-.2c-33.7-3.2-57-29.4-57-57.3c0-17.4 10.1-37.7 27.4-58.5c12.1-14.5 25.8-27 36.6-35.8c10.7 8.8 24.5 21.3 36.6 35.8c17.3 20.7 27.4 41.1 27.4 58.5c0 27.8-23.2 54-56.9 57.3c-2.4 .1-4.7 .2-7.1 .2zM320 320.2c0 85.6 65.7 155 150.9 159.6c3 .3 6 .4 9.1 .4c3.1 0 6.2-.1 9.2-.4C573.6 475 640 405.7 640 320.2c0-30-11-60.9-26.2-88.1c-15.2-27.4-35.3-52.3-55-70.6c-11.2-10.4-28.5-10.4-39.7-.1c-.4 .4-.8 .7-1.1 1.2l-12.3 13.8-37.9-39.9c-.3-.3-.5-.5-.8-.8c-11.1-10.1-28.1-10.1-39.3-.1c-23.4 21.1-50 48.9-70.9 80.2C336 246.8 320 282.8 320 320.2z\"]\n};\nvar faHexagonMinus = {\n prefix: 'fal',\n iconName: 'hexagon-minus',\n icon: [512, 512, [\"minus-hexagon\"], \"f307\", \"M16 288c-11.4-19.8-11.4-44.2 0-64L108.3 64.2c11.4-19.8 32.6-32 55.4-32H348.3c22.9 0 44 12.2 55.4 32L496 224c11.4 19.8 11.4 44.2 0 64L403.7 447.8c-11.4 19.8-32.6 32-55.4 32H163.7c-22.9 0-44-12.2-55.4-32L16 288zm27.7-48c-5.7 9.9-5.7 22.1 0 32L136 431.8c5.7 9.9 16.3 16 27.7 16H348.3c11.4 0 22-6.1 27.7-16L468.3 272c5.7-9.9 5.7-22.1 0-32L376 80.2c-5.7-9.9-16.3-16-27.7-16l-184.6 0c-11.4 0-22 6.1-27.7 16L43.7 240zM160 240H352c8.8 0 16 7.2 16 16s-7.2 16-16 16H160c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faMinusHexagon = faHexagonMinus;\nvar faLeftToLine = {\n prefix: 'fal',\n iconName: 'left-to-line',\n icon: [448, 512, [\"arrow-alt-to-left\"], \"f34b\", \"M32 432L32 80c0-8.8-7.2-16-16-16S0 71.2 0 80L0 432c0 8.8 7.2 16 16 16s16-7.2 16-16zm96.8-174.2c-.5-.5-.8-1.1-.8-1.8s.3-1.4 .8-1.8L260.7 129.8c1.2-1.2 2.9-1.8 4.6-1.8c3.7 0 6.7 3 6.7 6.7l0 57.3c0 8.8 7.2 16 16 16l120 0c4.4 0 8 3.6 8 8l0 80c0 4.4-3.6 8-8 8l-120 0c-8.8 0-16 7.2-16 16l0 57.3c0 3.7-3 6.7-6.7 6.7c-1.7 0-3.3-.6-4.6-1.8L128.8 257.8zM96 256c0 9.5 3.9 18.6 10.8 25.1L238.8 405.5c7.2 6.8 16.7 10.5 26.5 10.5c21.4 0 38.7-17.3 38.7-38.7l0-41.3 104 0c22.1 0 40-17.9 40-40l0-80c0-22.1-17.9-40-40-40l-104 0 0-41.3c0-21.4-17.3-38.7-38.7-38.7c-9.9 0-19.3 3.8-26.5 10.5L106.8 230.9C99.9 237.4 96 246.5 96 256z\"]\n};\nvar faArrowAltToLeft = faLeftToLine;\nvar faHouseCrack = {\n prefix: 'fal',\n iconName: 'house-crack',\n icon: [576, 512, [], \"e3b1\", \"M298.6 4c-6-5.3-15.1-5.3-21.2 0L5.4 244c-6.6 5.8-7.3 16-1.4 22.6s16 7.3 22.6 1.4L64 235V432c0 44.2 35.8 80 80 80H432c44.2 0 80-35.8 80-80V235l37.4 33c6.6 5.8 16.7 5.2 22.6-1.4s5.2-16.7-1.4-22.6L298.6 4zM96 432V206.7L288 37.3 480 206.7V432c0 26.5-21.5 48-48 48H312.6l-50.4-75.6 82.7-55.1c4-2.7 6.6-7 7-11.7s-1.2-9.5-4.6-12.9l-96-96c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l82.2 82.2-79.8 53.2c-7.4 4.9-9.3 14.8-4.4 22.2L274.1 480H144c-26.5 0-48-21.5-48-48z\"]\n};\nvar faPawSimple = {\n prefix: 'fal',\n iconName: 'paw-simple',\n icon: [448, 512, [\"paw-alt\"], \"f701\", \"M152 64a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0 80a56 56 0 1 0 0-112 56 56 0 1 0 0 112zm31.2 73.2c7.7-15.5 23.5-25.2 40.8-25.2s33.1 9.8 40.8 25.2l33.8 67.5c8.3 16.5 23.1 25.9 36.8 30c28.1 8.4 48.6 34.4 48.6 65.2c0 37.6-30.4 68-68 68c-14.4 0-27.7-4.5-38.7-12.1c-16-11.1-36.5-14.7-53.3-14.7s-37.3 3.6-53.3 14.7c-11 7.6-24.3 12.1-38.7 12.1c-37.6 0-68-30.4-68-68c0-30.8 20.4-56.8 48.6-65.2c13.7-4.1 28.6-13.5 36.8-30l33.8-67.5zm-62.4 53.2c-3.4 6.9-10 11.5-17.3 13.7C62.1 296.4 32 334.7 32 380c0 55.2 44.8 100 100 100c21.2 0 40.8-6.6 56.9-17.8c17.4-12 52.8-12 70.1 0C275.2 473.4 294.8 480 316 480c55.2 0 100-44.8 100-100c0-45.3-30.1-83.6-71.4-95.9c-7.4-2.2-13.9-6.8-17.3-13.7l-33.8-67.5c-13.2-26.3-40-42.9-69.5-42.9s-56.3 16.6-69.5 42.9l-33.8 67.5zM272 88a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm80 0A56 56 0 1 0 240 88a56 56 0 1 0 112 0zm40 88a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0 80a56 56 0 1 0 0-112 56 56 0 1 0 0 112zM32 200a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm80 0A56 56 0 1 0 0 200a56 56 0 1 0 112 0z\"]\n};\nvar faPawAlt = faPawSimple;\nvar faArrowLeftLongToLine = {\n prefix: 'fal',\n iconName: 'arrow-left-long-to-line',\n icon: [640, 512, [], \"e3d4\", \"M0 80V432c0 8.8 7.2 16 16 16s16-7.2 16-16V80c0-8.8-7.2-16-16-16S0 71.2 0 80zM132.7 244.7c-6.2 6.2-6.2 16.4 0 22.6l144 144c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L182.6 272 624 272c8.8 0 16-7.2 16-16s-7.2-16-16-16l-441.4 0L299.3 123.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-144 144z\"]\n};\nvar faBracketsRound = {\n prefix: 'fal',\n iconName: 'brackets-round',\n icon: [512, 512, [\"parentheses\"], \"e0c5\", \"M151.6 62.1C111.5 83.8 32 153.4 32 256s79.5 172.2 119.6 193.9c7.8 4.2 10.7 13.9 6.4 21.7s-13.9 10.7-21.7 6.4C91.2 453.6 0 375.3 0 256S91.2 58.4 136.4 33.9c7.8-4.2 17.5-1.3 21.7 6.4s1.3 17.5-6.4 21.7zm208.8 0c-7.8-4.2-10.7-13.9-6.4-21.7s13.9-10.7 21.7-6.4C420.8 58.4 512 136.7 512 256s-91.2 197.6-136.4 222.1c-7.8 4.2-17.5 1.3-21.7-6.4s-1.3-17.5 6.4-21.7C400.5 428.2 480 358.6 480 256s-79.5-172.2-119.6-193.9z\"]\n};\nvar faParentheses = faBracketsRound;\nvar faMartiniGlassCitrus = {\n prefix: 'fal',\n iconName: 'martini-glass-citrus',\n icon: [576, 512, [\"cocktail\"], \"f561\", \"M432 256c-21.7 0-42-6.2-59.2-16.9l-23.1 23.1C373 278.5 401.4 288 432 288c79.5 0 144-64.5 144-144S511.5 0 432 0C369.3 0 316 40.1 296.2 96h34.6c18-37.8 56.5-64 101.2-64c61.9 0 112 50.1 112 112s-50.1 112-112 112zM16 128c-6.5 0-12.3 3.9-14.8 9.9s-1.1 12.9 3.5 17.4L192 342.6V480H112c-8.8 0-16 7.2-16 16s7.2 16 16 16h96 96c8.8 0 16-7.2 16-16s-7.2-16-16-16H224V342.6L411.3 155.3c4.6-4.6 5.9-11.5 3.5-17.4s-8.3-9.9-14.8-9.9H16zm345.4 32L208 313.4 54.6 160H361.4z\"]\n};\nvar faCocktail = faMartiniGlassCitrus;\nvar faUserShakespeare = {\n prefix: 'fal',\n iconName: 'user-shakespeare',\n icon: [448, 512, [], \"e2c2\", \"M304 160V112c0-44.2-35.8-80-80-80s-80 35.8-80 80v48c0 40.1 29.5 73.3 68 79.1V224c0-6.6 5.4-12 12-12s12 5.4 12 12v15.1c38.5-5.8 68-39 68-79.1zM114.1 90.5C124.1 38.9 169.5 0 224 0s99.9 38.9 109.9 90.5c11 8.8 18.1 22.3 18.1 37.5v9.5c0 9.5 2.8 18.7 8.1 26.6l16.7 25.1c4.7 7.1 7.2 15.4 7.2 23.8c0 23.7-19.2 43-43 43H281.7c-16.9 10.2-36.6 16-57.7 16s-40.9-5.8-57.7-16H107c-23.7 0-43-19.2-43-43c0-8.5 2.5-16.8 7.2-23.8l16.7-25.1c5.3-7.9 8.1-17.1 8.1-26.6V128c0-15.2 7.1-28.7 18.1-37.5zm219.7 91.9c-3.1 15.2-9.3 29.3-17.8 41.7H341c6.1 0 11-4.9 11-11c0-2.2-.6-4.3-1.8-6.1l-16.4-24.6zM132.1 224c-8.6-12.3-14.8-26.4-17.8-41.7L97.8 206.9c-1.2 1.8-1.8 3.9-1.8 6.1c0 6.1 4.9 11 11 11h25.1zM176 128a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm64 0a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm-7.5 39.5c2 2 6 5.3 10.7 8.1c4.9 2.9 9.4 4.4 12.8 4.4c6.6 0 12 5.4 12 12s-5.4 12-12 12c-9.5 0-18.3-3.8-24.8-7.6c-2.5-1.5-4.9-3.1-7.1-4.6C211.6 201 199 204 192 204c-6.6 0-12-5.4-12-12s5.4-12 12-12c2.1 0 12.9-1.9 23.5-12.5c4.7-4.7 12.3-4.7 17 0zM0 481.3c0-69.5 44-128.8 105.7-151.4c13.6-24.9 40-41.8 70.3-41.8h48 48c30.4 0 56.8 16.9 70.3 41.8C404 352.5 448 411.8 448 481.3c0 17-13.8 30.7-30.7 30.7H30.7C13.8 512 0 498.2 0 481.3zM176 320c-26.5 0-48 21.5-48 48v3.6c1.6-.8 3.3-1.5 5.1-2.3c17.6-7.6 42.5-15 74.9-16.9V320H176zm64 32.5c32.5 1.9 57.3 9.3 74.9 16.9c1.8 .8 3.5 1.5 5.1 2.3V368c0-26.5-21.5-48-48-48H240v32.5zM224 384c-35.8 0-61.6 7.5-78.2 14.7c-8.3 3.6-14.4 7.1-18.2 9.7c-1.9 1.3-3.3 2.3-4.1 2.9c-.4 .3-.7 .5-.8 .7l-.1 .1c-4.7 4.1-11.4 5.2-17.1 2.6C99.7 412 96 406.3 96 400V369.7C58.1 391.9 32.5 432.9 32 480l176 0c0-8.8 7.2-16 16-16s16 7.2 16 16l176 0c-.5-47.1-26-88.1-64-110.3V400c0 6.3-3.7 12-9.5 14.6c-5.7 2.6-12.4 1.5-17.1-2.6l0 0 0 0-.1-.1-.3-.2-.6-.4c-.8-.6-2.2-1.6-4.1-2.9c-3.8-2.5-9.9-6.1-18.2-9.7C285.6 391.5 259.8 384 224 384zm-16 32a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faArrowRightToArc = {\n prefix: 'fal',\n iconName: 'arrow-right-to-arc',\n icon: [512, 512, [], \"e4b2\", \"M480 256C480 132.3 379.7 32 256 32c-8.8 0-16-7.2-16-16s7.2-16 16-16C397.4 0 512 114.6 512 256s-114.6 256-256 256c-8.8 0-16-7.2-16-16s7.2-16 16-16c123.7 0 224-100.3 224-224zM202.6 116l144 128c3.4 3 5.4 7.4 5.4 12s-2 8.9-5.4 12l-144 128c-6.6 5.9-16.7 5.3-22.6-1.3s-5.3-16.7 1.3-22.6L293.9 272H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H293.9L181.4 140c-6.6-5.9-7.2-16-1.3-22.6s16-7.2 22.6-1.3z\"]\n};\nvar faFaceSurprise = {\n prefix: 'fal',\n iconName: 'face-surprise',\n icon: [512, 512, [128558, \"surprise\"], \"f5c2\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm176.4-72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm136 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM208 352a48 48 0 1 0 96 0 48 48 0 1 0 -96 0zm48 80a80 80 0 1 1 0-160 80 80 0 1 1 0 160z\"]\n};\nvar faSurprise = faFaceSurprise;\nvar faBottleWater = {\n prefix: 'fal',\n iconName: 'bottle-water',\n icon: [320, 512, [], \"e4c5\", \"M128 80l64 0 0-48-64 0 0 48zM96 83.4L96 80l0-56c0-13.3 10.7-24 24-24l80 0c13.3 0 24 10.7 24 24l0 56 0 3.4c7.6 2.1 14.9 5 21.8 8.9l6.2 3.4c27.1 15.1 44 43.7 44 74.8c0 15.9-4.3 30.8-11.9 43.5c7.5 12.2 11.9 26.6 11.9 42c0 18-6 34.6-16 48c10 13.4 16 30 16 48c0 14.6-3.9 28.2-10.7 40c6.8 11.8 10.7 25.4 10.7 40c0 44.2-35.8 80-80 80l-112 0c-44.2 0-80-35.8-80-80c0-14.6 3.9-28.2 10.7-40C27.9 380.2 24 366.6 24 352c0-18 6-34.6 16-48c-10-13.4-16-30-16-48c0-15.4 4.4-29.8 11.9-42C28.3 201.3 24 186.4 24 170.5c0-31.1 16.8-59.7 44-74.8l6.2-3.4c6.9-3.8 14.3-6.8 21.8-8.9zM121.6 112c-11.1 0-22.1 2.8-31.8 8.3l-6.2 3.4C66.5 133.1 56 151 56 170.5c0 10 2.7 19.3 7.4 27.2c6.1 10.2 5.9 23-.3 33.1C58.6 238.1 56 246.7 56 256c0 10.8 3.6 20.8 9.6 28.8c8.6 11.4 8.6 27.1 0 38.4c-6 8-9.6 17.9-9.6 28.8c0 8.8 2.3 17 6.4 24c5.7 9.9 5.7 22.1 0 32c-4.1 7-6.4 15.2-6.4 24c0 26.5 21.5 48 48 48l112 0c26.5 0 48-21.5 48-48c0-8.8-2.3-17-6.4-24c-5.7-9.9-5.7-22.1 0-32c4.1-7 6.4-15.2 6.4-24c0-10.8-3.6-20.8-9.6-28.8c-8.6-11.4-8.6-27.1 0-38.4c6-8 9.6-17.9 9.6-28.8c0-9.3-2.6-17.9-7.1-25.2c-6.3-10.1-6.4-22.9-.3-33.1c4.7-8 7.4-17.2 7.4-27.2c0-19.4-10.5-37.3-27.5-46.8l-6.2-3.4c-9.7-5.4-20.7-8.3-31.8-8.3l-6.4 0-64 0-6.4 0zM112 224l96 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-96 0c-8.8 0-16-7.2-16-16s7.2-16 16-16zM96 368c0-8.8 7.2-16 16-16l96 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-96 0c-8.8 0-16-7.2-16-16z\"]\n};\nvar faCirclePause = {\n prefix: 'fal',\n iconName: 'circle-pause',\n icon: [512, 512, [62092, \"pause-circle\"], \"f28b\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm224-80V336c0 8.8-7.2 16-16 16s-16-7.2-16-16V176c0-8.8 7.2-16 16-16s16 7.2 16 16zm96 0V336c0 8.8-7.2 16-16 16s-16-7.2-16-16V176c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faPauseCircle = faCirclePause;\nvar faGaugeCirclePlus = {\n prefix: 'fal',\n iconName: 'gauge-circle-plus',\n icon: [640, 512, [], \"e498\", \"M256 480c32.2 0 62.8-6.8 90.5-19c5.8 9.3 12.5 18 19.8 26.1C333 503 295.5 512 256 512C114.6 512 0 397.4 0 256S114.6 0 256 0C375.4 0 475.6 81.7 504 192.2c-2.6-.1-5.3-.2-8-.2c-8.4 0-16.7 .6-24.8 1.7C444.3 100.3 358.1 32 256 32C132.3 32 32 132.3 32 256s100.3 224 224 224zm0-96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0 32c-35.3 0-64-28.7-64-64c0-29.8 20.4-54.9 48-62l0-194c0-8.8 7.2-16 16-16s16 7.2 16 16l0 194c27.6 7.1 48 32.2 48 62c0 35.3-28.7 64-64 64zM144 120a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM72 256a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM344 144a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM608 368a112 112 0 1 0 -224 0 112 112 0 1 0 224 0zm-256 0a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm160-64v48h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H512v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V384H432c-8.8 0-16-7.2-16-16s7.2-16 16-16h48V304c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faFolders = {\n prefix: 'fal',\n iconName: 'folders',\n icon: [576, 512, [], \"f660\", \"M512 352H160c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32H277.5c8.5 0 16.6 3.4 22.6 9.4l26.5 26.5c18 18 42.4 28.1 67.9 28.1H512c17.7 0 32 14.3 32 32V320c0 17.7-14.3 32-32 32zM349.3 77.3L322.7 50.7c-12-12-28.3-18.7-45.3-18.7H160c-35.3 0-64 28.7-64 64V320c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H394.5c-17 0-33.3-6.7-45.3-18.7zM32 112c0-8.8-7.2-16-16-16s-16 7.2-16 16V352c0 70.7 57.3 128 128 128H464c8.8 0 16-7.2 16-16s-7.2-16-16-16H128c-53 0-96-43-96-96V112z\"]\n};\nvar faAngel = {\n prefix: 'fal',\n iconName: 'angel',\n icon: [576, 512, [], \"f779\", \"M384 64.2c0 .1-.1 .3-.2 .6c-.3 .6-.9 1.8-2.3 3.5c-1.4 1.7-3.4 3.6-6.2 5.6c6.7 8.3 12.2 17.6 16.3 27.7C407 91 416 78 416 64c0-35.3-57.3-64-128-64S160 28.7 160 64c0 14 9 27 24.3 37.5c4.1-10 9.6-19.3 16.3-27.7c-2.7-2-4.8-4-6.2-5.6c-1.4-1.7-2-2.8-2.3-3.5c-.1-.3-.2-.5-.2-.6s0-.1 0-.2s0-.1 0-.2s.1-.3 .2-.6c.3-.6 .9-1.8 2.3-3.5c2.9-3.5 8.4-7.9 17.3-12.4C229.6 38.4 256.5 32 288 32s58.4 6.4 76.2 15.4c8.9 4.5 14.4 8.9 17.3 12.4c1.4 1.7 2 2.8 2.3 3.5c.1 .3 .2 .5 .2 .6s0 .1 0 .2s0 .1 0 .2zM288 96a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm0 128a80 80 0 1 0 0-160 80 80 0 1 0 0 160zM45.3 480C38 480 32 474 32 466.7c0-2.1 .5-4.1 1.4-5.9l39.8-79.7c4.4-8.9 6.8-18.7 6.8-28.6v-.9c0-9.9-2.3-19.7-6.8-28.6L54.9 286.2c-4.5-9-6.9-19.1-6.9-29.3c0-35.8 29-64.9 64.2-64.9c17 0 33.3 6.8 45.4 18.8l67 67c-12 9.3-22.1 21.4-29.1 35.5L112 480H45.3zM253.8 261.8l-73.6-73.6c-18-18-42.5-28.2-68-28.2C59.1 160 16 203.8 16 256.9c0 15.1 3.5 30.1 10.2 43.6l18.4 36.7c2.2 4.4 3.4 9.3 3.4 14.3v.9c0 5-1.2 9.9-3.4 14.3L4.8 446.4C1.6 452.7 0 459.7 0 466.7c0 25 20.3 45.3 45.3 45.3H96h35.8H444.2 480h50.7c25 0 45.3-20.3 45.3-45.3c0-7-1.6-14-4.8-20.3l-39.8-79.7c-2.2-4.4-3.4-9.3-3.4-14.3v-.9c0-5 1.2-9.9 3.4-14.3l18.4-36.7C556.5 287 560 272 560 256.9c0-53.1-43.1-96.9-96.2-96.9c-25.5 0-50 10.1-68 28.2l-73.6 73.6C311.4 258 299.8 256 288 256s-23.4 2-34.2 5.8zm97.7 15.9l67-67c12-12 28.4-18.8 45.4-18.8c35.1 0 64.2 29.1 64.2 64.9c0 10.2-2.4 20.3-6.9 29.3l-18.4 36.7c-4.4 8.9-6.8 18.7-6.8 28.6v.9c0 9.9 2.3 19.7 6.8 28.6l39.8 79.7c.9 1.8 1.4 3.9 1.4 5.9c0 7.3-6 13.3-13.3 13.3H464L380.6 313.2c-7.1-14.1-17.1-26.2-29.1-35.5zm.5 49.8L428.2 480H147.8L224 327.6c12.1-24.2 36.9-39.6 64-39.6s51.9 15.3 64 39.6z\"]\n};\nvar faValueAbsolute = {\n prefix: 'fal',\n iconName: 'value-absolute',\n icon: [512, 512, [], \"f6a6\", \"M16 32C7.2 32 0 39.2 0 48V464c0 8.8 7.2 16 16 16s16-7.2 16-16V48c0-8.8-7.2-16-16-16zM171.3 148.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L233.4 256l-84.7 84.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L256 278.6l84.7 84.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L278.6 256l84.7-84.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L256 233.4l-84.7-84.7zM512 48c0-8.8-7.2-16-16-16s-16 7.2-16 16V464c0 8.8 7.2 16 16 16s16-7.2 16-16V48z\"]\n};\nvar faRabbit = {\n prefix: 'fal',\n iconName: 'rabbit',\n icon: [512, 512, [128007], \"f708\", \"M324.1 20.8c6.5 9.4 12.1 19.2 16.9 29.5c3.5-4.4 7.2-8.6 11.2-12.6l3.1-3.1c1.7-1.7 4-2.6 6.4-2.6c4.5 0 8.3 3.3 8.9 7.7l.7 4.9c3.3 22.7 1.2 45.6-5.6 66.8c-12.9-4.8-26.7-7.4-40.7-7.5c-6.3-33.2-22.5-64.4-47.4-89l-3.1-3.1L263.3 23.3l11.3-11.4C266.9 4.3 256.5 0 245.7 0C225.3 0 208 15 205.1 35.2l-.7 4.9c-7.6 53 8.6 106.2 43.6 145.9v37.6c-62.8 17.5-113.6 63.7-137.4 123.6C99.5 340.1 86.2 336 72 336c-39.8 0-72 32.2-72 72s32.2 72 72 72c12.4 0 24.1-3.1 34.3-8.7c13.7 24.2 39.6 40.5 69.3 40.7l.3 0 .1 0H304c26.5 0 48-21.5 48-48c0-25.9-20.5-47-46.2-48l21-22.2 55.9 94.6c13.5 22.8 42.9 30.4 65.7 16.9s30.4-42.9 16.9-65.7L380.5 296h7.3c42.1 0 76.3-34.1 76.3-76.3c0-22.9-10.3-44.6-28.1-59.1L399 130.5c-1.5-1.2-3.1-2.5-4.7-3.6c9.8-27.4 13-57.1 8.7-86.8l-.7-4.9C399.4 15 382.1 0 361.7 0c-10.8 0-21.2 4.3-28.9 11.9L329.7 15c-1.9 1.9-3.8 3.9-5.6 5.8zM96.4 439.7C89.6 444.9 81.2 448 72 448c-22.1 0-40-17.9-40-40s17.9-40 40-40c11.2 0 21.4 4.6 28.6 12.1c-3 14.2-4.6 28.9-4.6 43.9v8c0 2.6 .1 5.2 .4 7.7zm140.4-400c.6-4.4 4.4-7.7 8.9-7.7c2.4 0 4.7 .9 6.3 2.6l3.1 3.1c23.4 23.2 37.3 53.5 40.3 85.2c.4 4.6 2.8 8.7 6.5 11.4s8.4 3.7 12.9 2.7c3.1-.7 6.3-1 9.6-1c19.8 0 39 6.8 54.3 19.3l36.9 30.1c10.3 8.4 16.3 21 16.3 34.3c0 24.4-19.8 44.3-44.3 44.3H352.4c-5.7 0-11 3.1-13.9 8.1s-2.8 11.1 .1 16.1l99.1 167.7c4.5 7.6 2 17.4-5.6 21.9s-17.4 2-21.9-5.6L343.6 359.3c-2.6-4.3-7-7.2-12-7.8s-10 1.2-13.4 4.9L257 421c-4.4 4.6-5.6 11.5-3.1 17.3s8.3 9.7 14.7 9.7H304c8.8 0 16 7.2 16 16s-7.2 16-16 16H176h0l-.2 0c-26.4-.1-47.8-21.6-47.8-48v-8c0-84.6 59.7-155.3 139.3-172.2c7.4-1.6 12.7-8.1 12.7-15.7V180.4l0-.4c0-4.1-1.5-8.1-4.4-11.2c-31.3-33.1-46-78.8-39.5-124.2l.7-4.9zM352 208a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faToiletPaperSlash = {\n prefix: 'fal',\n iconName: 'toilet-paper-slash',\n icon: [640, 512, [], \"e072\", \"M581.2 319.4C598.3 285.2 608 240.1 608 192s-9.7-93.2-26.8-127.4C565 32.2 536.7 0 496 0H464 160c-14.1 0-27.5 6.1-39.5 17l25.7 20.3c5.6-4 10.4-5.3 13.8-5.3H432.3c-8.6 9.9-15.8 21.2-21.5 32.6C393.7 98.8 384 143.9 384 192c0 11.3-.1 22.1-.4 32.7l31.2 24.6c.8-18 1.2-37 1.2-57.3c0-88.4 35.8-160 80-160s80 71.6 80 160c0 65.6-19.7 122-48 146.7l25.4 20c11.5-11.3 20.8-25.3 27.8-39.3zM368.6 375.9c-8.3 43.2-18.1 71.7-24.8 87.8c-4.3 10.3-14.5 16.3-25.9 16.3H48l0 0c.2-.3 .4-.6 .5-.9c24.4-44.1 35.9-95.4 41.6-144.8C95.9 284.6 96 234.4 96 192c0-10.4 .4-20.5 1.3-30.3L67.8 138.4c-2.5 17-3.8 35-3.8 53.6c0 80.2-.4 180.8-36.2 257.3c-2.3 4.9-4.7 9.6-7.3 14.3l0 .1c-2.8 4.7-4.3 10-4.5 15.4c-.2 5.8 1.2 11.6 4.2 16.8C25.8 505.8 36.5 512 48 512H317.9c22.3 0 45.4-12.1 55.4-36.1c6.6-15.9 15.5-41.4 23.4-77.9l-28.1-22.2zM481.5 212.4c-1-6.2-1.5-13.1-1.5-20.4s.5-14.2 1.5-20.4c2.6-16.3 8.1-27.6 14.5-27.6s11.9 11.3 14.5 27.6c1 6.2 1.5 13.1 1.5 20.4s-.5 14.2-1.5 20.4c-2.6 16.3-8.1 27.6-14.5 27.6s-11.9-11.3-14.5-27.6zM527.4 256c5.1-6.4 8.2-13.8 10.3-20c4.2-12.7 6.3-28.3 6.3-44.1s-2.1-31.3-6.3-44.1c-2.1-6.2-5.2-13.5-10.3-20c-4.8-6.1-15.1-16-31.4-16s-26.6 9.9-31.4 16c-5.1 6.4-8.2 13.8-10.3 20c-4.2 12.7-6.3 28.3-6.3 44.1s2.1 31.3 6.3 44.1c2.1 6.2 5.2 13.5 10.3 20c4.8 6.1 15.1 16 31.4 16s26.6-9.9 31.4-16zM25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4z\"]\n};\nvar faCircleEuro = {\n prefix: 'fal',\n iconName: 'circle-euro',\n icon: [512, 512, [], \"e5ce\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm128 16h24.2c-.7-5-1-10.1-1-15.2c0-5.7 .4-11.3 1.2-16.8H128c-8.8 0-16-7.2-16-16s7.2-16 16-16h34.2c18.2-37.9 56.9-64 101.7-64H305c8.8 0 16 7.2 16 16s-7.2 16-16 16H263.9c-26.3 0-49.6 12.6-64.4 32H288c8.8 0 16 7.2 16 16s-7.2 16-16 16H184.9c-1.1 5.4-1.7 11-1.7 16.8c0 5.2 .5 10.3 1.4 15.2H288c8.8 0 16 7.2 16 16s-7.2 16-16 16H198.4c14.7 20.3 38.5 33.5 65.5 33.5H305c8.8 0 16 7.2 16 16s-7.2 16-16 16H263.9c-45.4 0-84.5-26.8-102.4-65.5H128c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faAppleWhole = {\n prefix: 'fal',\n iconName: 'apple-whole',\n icon: [448, 512, [127822, 127823, \"apple-alt\"], \"f5d1\", \"M228.6 96H224V91.4C224 58.6 250.6 32 283.4 32H288v4.6C288 69.4 261.4 96 228.6 96zm-18.3 32h18.3c50.5 0 91.4-40.9 91.4-91.4V18.3C320 8.2 311.8 0 301.7 0H283.4C232.9 0 192 40.9 192 91.4v18.3c0 10.1 8.2 18.3 18.3 18.3zM32 288c0-33.8 8-67.7 22.8-92c14.2-23.5 33-36 57.2-36c21 0 48.7 8.4 71.1 17.1c26.2 10.2 55.6 10.2 81.9 0C287.3 168.4 315 160 336 160c24.3 0 43 12.5 57.2 36C408 220.3 416 254.2 416 288c0 57.5-18 106.6-43.6 140.8C346.4 463.5 315 480 288 480c-13.2 0-32-2.7-45.3-5c-12.3-2.2-25-2.2-37.3 0c-13.3 2.3-32.1 5-45.3 5c-27 0-58.4-16.5-84.4-51.2C50 394.6 32 345.5 32 288zM160 512c16.2 0 37.4-3.2 50.8-5.5c8.7-1.5 17.6-1.5 26.3 0c13.5 2.4 34.6 5.5 50.8 5.5c80 0 160-96 160-224c0-76.3-35.7-160-112-160c-27.3 0-59.7 10.3-82.7 19.3c-18.8 7.3-39.9 7.3-58.7 0C171.7 138.3 139.3 128 112 128C35.7 128 0 211.7 0 288C0 416 80 512 160 512z\"]\n};\nvar faAppleAlt = faAppleWhole;\nvar faKitchenSet = {\n prefix: 'fal',\n iconName: 'kitchen-set',\n icon: [576, 512, [], \"e51a\", \"M144 256a112 112 0 1 0 0-224 112 112 0 1 0 0 224zm143.1-96c-8 72-69 128-143.1 128C64.5 288 0 223.5 0 144S64.5 0 144 0c74.1 0 135.2 56 143.1 128h67.6c6.6-18.6 24.4-32 45.3-32h96c26.5 0 48 21.5 48 48s-21.5 48-48 48H400c-20.9 0-38.7-13.4-45.3-32H287.1zM272 320h16 32V288c0-17.7 14.3-32 32-32h96c17.7 0 32 14.3 32 32v32h32 16c8.8 0 16 7.2 16 16s-7.2 16-16 16H512V464c0 26.5-21.5 48-48 48H336c-26.5 0-48-21.5-48-48V352H272c-8.8 0-16-7.2-16-16s7.2-16 16-16zm80 0h96V288H352v32zm-32 32V464c0 8.8 7.2 16 16 16H464c8.8 0 16-7.2 16-16V352H320zM496 128H400c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16zM192 144a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM64 144a80 80 0 1 1 160 0A80 80 0 1 1 64 144zM0 496c0-8.8 7.2-16 16-16H208c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16-7.2-16-16zM160 352v32h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H160zm0-32h16c26.5 0 48 21.5 48 48s-21.5 48-48 48H160c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V336c0-8.8 7.2-16 16-16h80 16 16zm-32 64V352H64v64h64V384z\"]\n};\nvar faDiamondHalf = {\n prefix: 'fal',\n iconName: 'diamond-half',\n icon: [512, 512, [], \"e5b7\", \"M227.7 11.7C235.5 3.9 245.8 0 256 0V32 480v32c-10.2 0-20.5-3.9-28.3-11.7l-216-216c-15.6-15.6-15.6-40.9 0-56.6l216-216zM224 451.3V60.7L34.3 250.3c-3.1 3.1-3.1 8.2 0 11.3L224 451.3z\"]\n};\nvar faLockKeyhole = {\n prefix: 'fal',\n iconName: 'lock-keyhole',\n icon: [448, 512, [\"lock-alt\"], \"f30d\", \"M224 32c53 0 96 43 96 96v64H128V128c0-53 43-96 96-96zM96 128v64H80c-44.2 0-80 35.8-80 80V432c0 44.2 35.8 80 80 80H368c44.2 0 80-35.8 80-80V272c0-44.2-35.8-80-80-80H352V128C352 57.3 294.7 0 224 0S96 57.3 96 128zM80 224H368c26.5 0 48 21.5 48 48V432c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48V272c0-26.5 21.5-48 48-48zm160 88c0-8.8-7.2-16-16-16s-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16V312z\"]\n};\nvar faLockAlt = faLockKeyhole;\nvar faR = {\n prefix: 'fal',\n iconName: 'r',\n icon: [320, 512, [114], \"52\", \"M48 32C21.5 32 0 53.5 0 80V272 464c0 8.8 7.2 16 16 16s16-7.2 16-16V288H167.4L290.7 472.9c4.9 7.4 14.8 9.3 22.2 4.4s9.3-14.8 4.4-22.2L205.4 287.3C269.8 280.6 320 226.2 320 160c0-70.7-57.3-128-128-128H48zM176 256H32V80c0-8.8 7.2-16 16-16H192c53 0 96 43 96 96s-43 96-96 96H176z\"]\n};\nvar faTemperatureQuarter = {\n prefix: 'fal',\n iconName: 'temperature-quarter',\n icon: [320, 512, [\"temperature-1\", \"thermometer-1\", \"thermometer-quarter\"], \"f2ca\", \"M160 32c-35.3 0-64 28.7-64 64V252.7c0 14.9-7 27.7-16 36.9C60.2 309.8 48 337.5 48 368c0 61.9 50.1 112 112 112s112-50.1 112-112c0-30.5-12.2-58.2-32-78.4c-9-9.2-16-22-16-36.9V96c0-35.3-28.7-64-64-64zM64 96c0-53 43-96 96-96s96 43 96 96V252.7c0 4.6 2.2 9.8 6.8 14.5c25.5 26 41.2 61.6 41.2 100.8c0 79.5-64.5 144-144 144S16 447.5 16 368c0-39.3 15.7-74.9 41.2-100.8c4.6-4.7 6.8-9.9 6.8-14.5V96zm96 304a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0 32c-35.3 0-64-28.7-64-64c0-29.8 20.4-54.9 48-62V272c0-8.8 7.2-16 16-16s16 7.2 16 16v34c27.6 7.1 48 32.2 48 62c0 35.3-28.7 64-64 64z\"]\n};\nvar faTemperature1 = faTemperatureQuarter;\nvar faThermometer1 = faTemperatureQuarter;\nvar faThermometerQuarter = faTemperatureQuarter;\nvar faSquareInfo = {\n prefix: 'fal',\n iconName: 'square-info',\n icon: [448, 512, [8505, \"info-square\"], \"f30f\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm200 64a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm-16 64h40c8.8 0 16 7.2 16 16V352h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16s7.2-16 16-16h32V256H184c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faInfoSquare = faSquareInfo;\nvar faWifiSlash = {\n prefix: 'fal',\n iconName: 'wifi-slash',\n icon: [640, 512, [], \"f6ac\", \"M3.4 6.1C8.9-.8 19-2 25.9 3.4l608 480c6.9 5.5 8.1 15.5 2.6 22.5s-15.5 8.1-22.5 2.6L6.1 28.6C-.8 23.1-2 13 3.4 6.1zm394.7 230l-54.7-43.2c70 5.6 133 36.3 179.9 83.1c6.3 6.2 6.3 16.4 0 22.6s-16.4 6.3-22.6 0c-28.4-28.3-63.5-50-102.6-62.5zM208.5 249.5c-25.8 12.5-49.1 29.2-69.2 49.2c-6.3 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6c19-18.9 40.6-35.2 64.2-48.3l27.6 21.8zM201.7 81.1L171.5 57.2C218 40.9 267.9 32 320 32c122.9 0 234.3 49.5 315.3 129.7c6.3 6.2 6.3 16.3 .1 22.6s-16.3 6.3-22.6 .1C537.6 110 434.2 64 320 64c-41.1 0-80.8 6-118.3 17.1zM48.8 123.4l26 20.5C57.9 156.2 42 169.8 27.3 184.4c-6.3 6.2-16.4 6.2-22.6-.1s-6.2-16.4 .1-22.6c13.8-13.7 28.5-26.5 44-38.3zM268.1 453.5a64 64 0 1 1 103.7-75 64 64 0 1 1 -103.7 75zM352 416a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faToiletPaperXmark = {\n prefix: 'fal',\n iconName: 'toilet-paper-xmark',\n icon: [512, 512, [], \"e5b3\", \"M32 192c0-46.5 10.3-87.7 26.2-116.8C74.4 45.5 94.1 32 112 32H337.3c-7.2 8.2-13.6 17.7-19.2 27.9C299.2 94.5 288 141.2 288 192s11.2 97.5 30.1 132.1c5.6 10.2 12 19.6 19.2 27.9H112c-17.9 0-37.6-13.5-53.8-43.2C42.3 279.7 32 238.5 32 192zM346.2 75.2C362.4 45.5 382.1 32 400 32s37.6 13.5 53.8 43.2C469.7 104.3 480 145.5 480 192s-10.3 87.7-26.2 116.8C437.6 338.5 417.9 352 400 352s-37.6-13.5-53.8-43.2C330.3 279.7 320 238.5 320 192s10.3-87.7 26.2-116.8zM480 327.6V464c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V416H128v48c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V192c0-50.8-11.2-97.5-30.1-132.1C463.4 25.9 435.1 0 400 0H112C76.9 0 48.6 25.9 30.1 59.9C11.2 94.5 0 141.2 0 192s11.2 97.5 30.1 132.1C48.6 358.1 76.9 384 112 384H400c33.9 0 61.4-24.1 80-56.4zM385.5 212.4c-1-6.2-1.5-13.1-1.5-20.4s.5-14.2 1.5-20.4c2.6-16.3 8.1-27.6 14.5-27.6s11.9 11.3 14.5 27.6c1 6.2 1.5 13.1 1.5 20.4s-.5 14.2-1.5 20.4c-2.6 16.3-8.1 27.6-14.5 27.6s-11.9-11.3-14.5-27.6zM431.4 256c5.1-6.4 8.2-13.8 10.3-20c4.2-12.7 6.3-28.3 6.3-44.1s-2.1-31.3-6.3-44.1c-2.1-6.2-5.2-13.5-10.3-20c-4.8-6.1-15.1-16-31.4-16s-26.6 9.9-31.4 16c-5.1 6.4-8.2 13.8-10.3 20c-4.2 12.7-6.3 28.3-6.3 44.1s2.1 31.3 6.3 44.1c2.1 6.2 5.2 13.5 10.3 20c4.8 6.1 15.1 16 31.4 16s26.6-9.9 31.4-16zM227.3 132.7c-6.2-6.2-16.4-6.2-22.6 0L168 169.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L145.4 192l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L168 214.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L190.6 192l36.7-36.7c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nvar faHandsHoldingDollar = {\n prefix: 'fal',\n iconName: 'hands-holding-dollar',\n icon: [640, 512, [\"hands-usd\"], \"f4c5\", \"M320 0c8.8 0 16 7.2 16 16V32.8c11 1.2 21.6 3.7 31.2 6.3c8.5 2.3 13.5 11.1 11.2 19.7s-11.1 13.5-19.6 11.2c-12.1-3.3-24-5.8-35-5.9c-9.2-.1-19.1 2.1-26.1 6.3c-6.4 3.9-9.6 8.8-9.6 15.8c0 5.1 2 8.7 8.7 12.8c7.6 4.7 18.3 8.1 31.9 12.3l.4 .1c12.3 3.8 27.3 8.5 39.1 16.1c12.9 8.3 23.6 21.3 23.8 40.9c.3 20.6-9.9 35.6-24 44.5c-9.7 6.2-20.9 9.5-32 10.6V240c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-18.6c-11-2.4-21.3-6-30.4-9.3c-2.3-.8-4.6-1.6-6.7-2.4c-8.4-2.9-12.8-12-10-20.3s12-12.8 20.3-10c2.6 .9 5.2 1.8 7.7 2.7l0 0 0 0 0 0c14.7 5.1 26.8 9.3 39.7 9.8c10 .3 19.7-1.9 26.2-6.1c5.8-3.7 9.3-8.9 9.2-17.1c-.1-6.1-2.6-10.2-9.2-14.4c-7.6-4.9-18.2-8.4-31.7-12.6l-1.7-.5c-11.9-3.7-26.3-8.1-37.5-15.1c-12.8-7.9-23.7-20.4-23.8-39.9c-.1-20.6 11.1-34.9 25-43.3c7.1-4.3 15-7.2 22.9-8.9V16c0-8.8 7.2-16 16-16zM64 64c35.3 0 64 28.7 64 64V252.3c0 4.6 .4 9.1 1.3 13.5c2.1-3.2 4.6-6.3 7.4-9.1c21.7-21.7 56.9-21.7 78.6 0L306.6 348c5.1 5.1 9.6 10.6 13.4 16.6c3.8-5.9 8.3-11.5 13.4-16.6l91.3-91.3c21.7-21.7 56.9-21.7 78.6 0c2.8 2.8 5.3 5.9 7.4 9.1c.9-4.4 1.3-8.9 1.3-13.5V128c0-35.3 28.7-64 64-64s64 28.7 64 64V344.2c0 29.7-11.8 58.2-32.8 79.2l-83.9 83.9c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l83.9-83.9c15-15 23.4-35.4 23.4-56.6V128c0-17.7-14.3-32-32-32s-32 14.3-32 32V252.3c0 27.1-10.8 53.1-29.9 72.2l-10.8 10.8-44 44-16 16c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l16-16 0 0 44-44 0 0c9.2-9.2 9.2-24.2 0-33.4s-24.2-9.2-33.4 0L356 370.6c-12.8 12.8-20 30.2-20 48.3V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V418.9c0-18.1-7.2-35.5-20-48.3l-91.3-91.3c-9.2-9.2-24.2-9.2-33.4 0s-9.2 24.2 0 33.4l44 44 16 16c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-16-16 0 0-44-44 0 0-10.7-10.8C106.8 305.4 96 279.4 96 252.3V128c0-17.7-14.3-32-32-32s-32 14.3-32 32V344.2c0 21.2 8.4 41.6 23.4 56.6l83.9 83.9c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L32.8 423.4C11.8 402.4 0 373.9 0 344.2V128C0 92.7 28.7 64 64 64z\"]\n};\nvar faHandsUsd = faHandsHoldingDollar;\nvar faCube = {\n prefix: 'fal',\n iconName: 'cube',\n icon: [512, 512, [], \"f1b2\", \"M261.5 35.1c-3.6-1.3-7.5-1.3-11 0L44.1 110.7 256 194l211.9-83.2L261.5 35.1zM32 385.7c0 6.7 4.2 12.7 10.5 15L240 473.1V222L32 140.3V385.7zm240 87.4l197.5-72.4c6.3-2.3 10.5-8.3 10.5-15V140.3L272 222v251zM239.5 5c10.7-3.9 22.4-3.9 33 0l208 76.3c18.9 6.9 31.5 24.9 31.5 45.1V385.7c0 20.1-12.6 38.1-31.5 45.1L272.5 507c-10.7 3.9-22.4 3.9-33 0l-208-76.3C12.6 423.8 0 405.8 0 385.7V126.4c0-20.1 12.6-38.1 31.5-45.1L239.5 5z\"]\n};\nvar faArrowDownTriangleSquare = {\n prefix: 'fal',\n iconName: 'arrow-down-triangle-square',\n icon: [576, 512, [\"sort-shapes-down\"], \"f888\", \"M267.3 379.3l-96 96c-6.2 6.2-16.4 6.2-22.6 0l-96-96c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L144 425.4V48c0-8.8 7.2-16 16-16s16 7.2 16 16V425.4l68.7-68.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zM352 432c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16V336c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16v96zM416 67.5L341.3 192H490.7L416 67.5zM307.6 186L391.8 45.7C396.9 37.2 406.1 32 416 32s19.1 5.2 24.2 13.7L524.4 186c2.3 3.9 3.6 8.4 3.6 12.9c0 13.8-11.2 25.1-25.1 25.1H329.1c-13.8 0-25.1-11.2-25.1-25.1c0-4.5 1.2-9 3.6-12.9zM320 432V336c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H368c-26.5 0-48-21.5-48-48z\"]\n};\nvar faSortShapesDown = faArrowDownTriangleSquare;\nvar faBitcoinSign = {\n prefix: 'fal',\n iconName: 'bitcoin-sign',\n icon: [320, 512, [], \"e0b4\", \"M64 16C64 7.2 71.2 0 80 0s16 7.2 16 16V64h64V16c0-8.8 7.2-16 16-16s16 7.2 16 16V64.3c53.7 4.1 96 49 96 103.7c0 31.3-13.9 59.4-35.8 78.5C291.8 261.2 320 299.3 320 344c0 57.4-46.6 104-104 104H192v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V448H96v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V448H41.7C18.7 448 0 429.3 0 406.3V272 240 101.6C0 80.8 16.8 64 37.6 64H64V16zM176 416h40c39.8 0 72-32.2 72-72s-32.2-72-72-72H184 32V406.3c0 5.4 4.4 9.7 9.7 9.7H80h96zm0-320H80 37.6c-3.1 0-5.6 2.5-5.6 5.6V240H184c39.8 0 72-32.2 72-72s-32.2-72-72-72h-8z\"]\n};\nvar faShutters = {\n prefix: 'fal',\n iconName: 'shutters',\n icon: [512, 512, [], \"e449\", \"M32 32C14.3 32 0 46.3 0 64V96c0 17.7 14.3 32 32 32H480c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H32zm0 32H480V96H32V64zM.9 453c-.6 2-.9 4.1-.9 6.1C0 470.7 9.3 480 20.9 480H491.1c11.5 0 20.9-9.3 20.9-20.9c0-2.1-.3-4.1-.9-6.1l-21.2-69H456.4l19.7 64H35.9l19.7-64H22.2L.9 453zM22.2 256L.9 325c-.6 2-.9 4.1-.9 6.1C0 342.7 9.3 352 20.9 352H491.1c11.5 0 20.9-9.3 20.9-20.9c0-2.1-.3-4.1-.9-6.1l-21.2-69H456.4l19.7 64H35.9l19.7-64H22.2zm453.9-64H35.9l9.8-32H12.3L.9 197c-.6 2-.9 4.1-.9 6.1C0 214.7 9.3 224 20.9 224H491.1c11.5 0 20.9-9.3 20.9-20.9c0-2.1-.3-4.1-.9-6.1l-11.4-37H466.2l9.8 32z\"]\n};\nvar faShieldDog = {\n prefix: 'fal',\n iconName: 'shield-dog',\n icon: [512, 512, [], \"e573\", \"M243.5 37.3c8-3.4 17-3.4 25 0l176.7 75c11.3 4.8 18.9 15.5 18.8 27.6c-.5 94-39.4 259.8-195.5 334.5c-7.9 3.8-17.2 3.8-25.1 0C87.3 399.6 48.5 233.8 48 139.8c-.1-12.1 7.5-22.8 18.8-27.6l176.7-75zM281 7.8c-16-6.8-34-6.8-50 0L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.7 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2L281 7.8zM200 128H178.7c-32.4 0-58.7 26.3-58.7 58.7V216c0 22.6 13.4 42.1 32.7 50.9l-15 29.9c-4 7.9-.7 17.5 7.2 21.5s17.5 .7 21.5-7.2L186.4 271c26-4.9 45.6-27.7 45.6-55V160h60.2c6.1 0 11.6 3.4 14.3 8.8l7.2 14.3c2.7 5.4 8.2 8.8 14.3 8.8h56v16c0 35.3-28.7 64-64 64H272c-8.8 0-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16V304h32c53 0 96-43 96-96V192c0-17.7-14.3-32-32-32H337.9l-2.7-5.5C327 138.3 310.4 128 292.2 128H232 216 200zM175.7 240c-13.1-.1-23.7-10.8-23.7-24V186.7c0-10.9 6.6-20.3 16-24.4c3.3-1.4 6.9-2.2 10.7-2.2H200v32 24c0 13.2-10.6 23.9-23.7 24l-.5 0zM272 208a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faSolarPanel = {\n prefix: 'fal',\n iconName: 'solar-panel',\n icon: [640, 512, [], \"f5ba\", \"M221.2 0h16.1H402.7h16.1H533.5c26.9 0 50 19.1 55 45.6L613.2 176l3 16L639 312.6c1 5.1 1 10.2 1 15.4c0 30.9-25.1 56-56 56H436 419.9 336v96h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H208c-8.8 0-16-7.2-16-16s7.2-16 16-16h96V384H220.1 204 56c-30.9 0-56-25.1-56-56c0-5.2 0-10.3 1-15.4L23.8 192l3-16L51.5 45.6C56.5 19.1 79.6 0 106.5 0H221.2zM304 352h32 81.2L404.7 208H235.3L222.8 352H304zM250.5 32L238.1 176H401.9L389.5 32H250.5zM436.8 208l12.5 144H584c13.3 0 24-10.7 24-24c0-5.6-.1-7.8-.4-9.5L586.7 208H436.8zM434 176H580.6L557.1 51.5C554.9 40.2 545 32 533.5 32H421.6L434 176zM203.2 208H53.3L32.4 318.5c-.3 1.7-.4 3.9-.4 9.5c0 13.3 10.7 24 24 24H190.7l12.5-144zm2.8-32L218.4 32H106.5C95 32 85.1 40.2 82.9 51.5L59.4 176H206z\"]\n};\nvar faLockOpen = {\n prefix: 'fal',\n iconName: 'lock-open',\n icon: [576, 512, [], \"f3c1\", \"M352 128c0-53 43-96 96-96s96 43 96 96v80c0 8.8 7.2 16 16 16s16-7.2 16-16V128C576 57.3 518.7 0 448 0S320 57.3 320 128v64H80c-44.2 0-80 35.8-80 80V432c0 44.2 35.8 80 80 80H368c44.2 0 80-35.8 80-80V272c0-44.2-35.8-80-80-80H352V128zm-16 96h32c26.5 0 48 21.5 48 48V432c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48V272c0-26.5 21.5-48 48-48H336z\"]\n};\nvar faTableTree = {\n prefix: 'fal',\n iconName: 'table-tree',\n icon: [512, 512, [], \"e293\", \"M64 64C46.3 64 32 78.3 32 96v64h80H480V96c0-17.7-14.3-32-32-32H64zm64 128v48c0 8.8 7.2 16 16 16h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-5.6 0-11-1-16-2.7V336c0 8.8 7.2 16 16 16h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-26.5 0-48-21.5-48-48V240 192H32V416c0 17.7 14.3 32 32 32H448c17.7 0 32-14.3 32-32V192H128zM0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM224 272c0-8.8 7.2-16 16-16H400c8.8 0 16 7.2 16 16s-7.2 16-16 16H240c-8.8 0-16-7.2-16-16zm80 80h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H304c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faHouseChimneyHeart = {\n prefix: 'fal',\n iconName: 'house-chimney-heart',\n icon: [576, 512, [], \"e1b2\", \"M277.4 4c6-5.3 15.1-5.3 21.2 0L384 79.4V56c0-13.3 10.7-24 24-24h80c13.3 0 24 10.7 24 24V192.3L570.6 244c6.6 5.8 7.3 16 1.4 22.6s-16 7.3-22.6 1.4L512 235V432c0 44.2-35.8 80-80 80H144c-44.2 0-80-35.8-80-80V235L26.6 268C20 273.8 9.8 273.2 4 266.6S-1.2 249.8 5.4 244L277.4 4zM480 164.1V64H416v43.6l64 56.5zM96 206.7V432c0 26.5 21.5 48 48 48H432c26.5 0 48-21.5 48-48V206.7L288 37.3 96 206.7zM237.3 256c-16.2 0-29.3 13.1-29.3 29.3c0 7.8 3.1 15.2 8.6 20.7L288 377.4l71.4-71.4c5.5-5.5 8.6-12.9 8.6-20.7c0-16.2-13.1-29.3-29.3-29.3c-7.8 0-15.2 3.1-20.7 8.6l-18.7 18.7c-6.2 6.2-16.4 6.2-22.6 0l-18.7-18.7c-5.5-5.5-12.9-8.6-20.7-8.6zM176 285.3c0-33.8 27.4-61.3 61.3-61.3c16.2 0 31.8 6.5 43.3 17.9l7.4 7.4 7.4-7.4c11.5-11.5 27.1-17.9 43.3-17.9c33.8 0 61.3 27.4 61.3 61.3c0 16.2-6.5 31.8-17.9 43.3l-82.7 82.7c-6.2 6.2-16.4 6.2-22.6 0l-82.7-82.7c-11.5-11.5-17.9-27.1-17.9-43.3z\"]\n};\nvar faTally3 = {\n prefix: 'fal',\n iconName: 'tally-3',\n icon: [640, 512, [], \"e296\", \"M128 32c8.8 0 16 7.2 16 16V464c0 8.8-7.2 16-16 16s-16-7.2-16-16V48c0-8.8 7.2-16 16-16zm128 0c8.8 0 16 7.2 16 16V464c0 8.8-7.2 16-16 16s-16-7.2-16-16V48c0-8.8 7.2-16 16-16zM400 48V464c0 8.8-7.2 16-16 16s-16-7.2-16-16V48c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faElevator = {\n prefix: 'fal',\n iconName: 'elevator',\n icon: [512, 512, [], \"e16d\", \"M155.3 4.7l64 64c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L144 38.6 91.3 91.3c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l64-64c6.2-6.2 16.4-6.2 22.6 0zm160 0L368 57.4 420.7 4.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-64 64c-6.2 6.2-16.4 6.2-22.6 0l-64-64c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0zM64 160c-17.7 0-32 14.3-32 32V448c0 17.7 14.3 32 32 32H448c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32H64zM0 192c0-35.3 28.7-64 64-64H448c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192zm184 72a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-80 0a56 56 0 1 1 112 0 56 56 0 1 1 -112 0zm248 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-80a56 56 0 1 1 0 112 56 56 0 1 1 0-112zM144 384c-17.7 0-32 14.3-32 32v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V416c0-35.3 28.7-64 64-64h32c35.3 0 64 28.7 64 64v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V416c0-17.7-14.3-32-32-32H144zm160 32v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V416c0-35.3 28.7-64 64-64h32c35.3 0 64 28.7 64 64v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V416c0-17.7-14.3-32-32-32H336c-17.7 0-32 14.3-32 32z\"]\n};\nvar faMoneyBillTransfer = {\n prefix: 'fal',\n iconName: 'money-bill-transfer',\n icon: [640, 512, [], \"e528\", \"M548.7 27.3L585.4 64l-45.3 0H524.6L384 64l-.3 0H96c-35.3 0-64 28.7-64 64V348.1l14.1-14.1L64 316.1V192c53 0 96-43 96-96H524.3h15.8l45.3 0-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l64-64c3-3 4.7-7.1 4.7-11.3s-1.7-8.3-4.7-11.3l-64-64c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6zM128 96c0 35.3-28.7 64-64 64V128c0-17.7 14.3-32 32-32h32zM54.6 448l45.3 0 0 0H544c35.3 0 64-28.7 64-64V163.9l-14.1 14.1L576 195.9V320h0c-53 0-96 43-96 96H256.4l-.4 0L54.6 416l36.7-36.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-64 64c-3 3-4.7 7.1-4.7 11.3s1.7 8.3 4.7 11.3l64 64c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L54.6 448zM576 352h0v32c0 17.7-14.3 32-32 32H512c0-35.3 28.7-64 64-64zM256 256a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zm160 0a96 96 0 1 0 -192 0 96 96 0 1 0 192 0z\"]\n};\nvar faMoneyBillTrendUp = {\n prefix: 'fal',\n iconName: 'money-bill-trend-up',\n icon: [512, 512, [], \"e529\", \"M352 16c0 8.8 7.2 16 16 16h57.4L287.2 170.2 186.4 83.9c-6-5.1-14.8-5.1-20.8 0l-112 96c-6.7 5.8-7.5 15.9-1.7 22.6s15.9 7.5 22.6 1.7L176 117.1l101.6 87.1c6.3 5.4 15.8 5.1 21.7-.8L448 54.6V112c0 8.8 7.2 16 16 16s16-7.2 16-16V16c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16zM480 304v32c-26.5 0-48-21.5-48-48h32c8.8 0 16 7.2 16 16zM112 288H400c0 44.2 35.8 80 80 80v32c-44.2 0-80 35.8-80 80H112c0-44.2-35.8-80-80-80V368c44.2 0 80-35.8 80-80zM432 480c0-26.5 21.5-48 48-48v32c0 8.8-7.2 16-16 16H432zM32 432c26.5 0 48 21.5 48 48H48c-8.8 0-16-7.2-16-16V432zM80 288c0 26.5-21.5 48-48 48V304c0-8.8 7.2-16 16-16H80zM48 256c-26.5 0-48 21.5-48 48V464c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48H48zM224 384a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm96 0a64 64 0 1 0 -128 0 64 64 0 1 0 128 0z\"]\n};\nvar faHouseFloodWaterCircleArrowRight = {\n prefix: 'fal',\n iconName: 'house-flood-water-circle-arrow-right',\n icon: [640, 512, [], \"e50f\", \"M310.4 86.4c-3.6-10.3-8.1-20.2-13.4-29.6l78-54c5.5-3.8 12.7-3.8 18.2 0l208 144c7.3 5 9.1 15 4 22.3s-15 9.1-22.3 4L560 157.3V276.6c-2.4-1.6-4.6-3.3-6.8-5.1c-7.5-6.3-16.2-10.7-25.2-13V135.2L384 35.5l-73.6 51zM224 368c20.9 0 41.6-9.9 58.2-21.2c9.8-6.7 18-14 25.9-21.9c6.6-6.5 17.2-6.5 23.7 0c7.9 7.9 16.2 15.2 26 21.9C374.3 358 395.1 368 416 368s41.6-9.9 58.2-21.2c9.8-6.7 18-14 25.9-21.9c6.6-6.5 17.2-6.5 23.7 0c7.9 7.9 16.2 15.2 26 21.9c12.8 8.7 28.1 16.6 44.1 19.8c7.7 1.5 14.1 7.8 14.1 15.7c0 9.8-8 17.9-17.7 16.2c-23.1-4-43.6-15-58.5-25.2c-7.9-5.4-14.7-10.8-19.8-15.3c-5.1 4.5-11.8 9.9-19.8 15.3C473.5 385.9 446.3 400 416 400s-57.6-14.1-76.2-26.8c-7.9-5.4-14.6-10.8-19.8-15.3c-5.1 4.5-11.8 9.9-19.8 15.3C281.5 385.9 254.3 400 224 400s-57.6-14.1-76.2-26.8c-7.9-5.4-14.6-10.8-19.8-15.3c-5.1 4.5-11.8 9.9-19.8 15.3c-14.9 10.2-35.4 21.2-58.5 25.2C40 400.1 32 392 32 382.2c0-7.9 6.4-14.1 14.1-15.7c15.9-3.1 31.3-11.1 44-19.8c9.8-6.7 18-14 25.9-21.9c6.6-6.5 17.2-6.6 23.8 0c7.9 7.9 16.2 15.2 25.9 21.9C182.3 358 203.1 368 224 368zm-58.2 90.8C182.3 470 203.1 480 224 480s41.6-9.9 58.2-21.2c9.8-6.7 18-14 25.9-21.9c6.6-6.5 17.2-6.5 23.7 0c7.9 7.9 16.2 15.2 26 21.9C374.3 470 395.1 480 416 480s41.6-9.9 58.2-21.2c9.8-6.7 18-14 25.9-21.9c6.6-6.5 17.2-6.6 23.7 0c7.9 7.9 16.2 15.2 26 21.9c12.8 8.7 28.1 16.6 44.1 19.8c7.7 1.5 14.1 7.8 14.1 15.7c0 9.8-8 17.9-17.7 16.2c-23.1-4-43.6-15-58.5-25.2c-7.9-5.4-14.7-10.8-19.8-15.3c-5.1 4.5-11.8 9.9-19.8 15.3C473.5 497.9 446.3 512 416 512s-57.6-14.1-76.2-26.8c-7.9-5.4-14.6-10.8-19.8-15.3c-5.1 4.5-11.8 9.9-19.8 15.3C281.5 497.9 254.3 512 224 512s-57.6-14.1-76.2-26.8c-7.9-5.4-14.6-10.8-19.8-15.3c-5.1 4.5-11.8 9.9-19.8 15.3c-14.9 10.2-35.4 21.2-58.5 25.2C40 512.1 32 504 32 494.2c0-7.9 6.4-14.1 14.1-15.7c15.9-3.1 31.3-11.1 44-19.8c9.8-6.7 18-14 25.9-21.9c6.6-6.5 17.2-6.6 23.8 0c7.9 7.9 16.2 15.2 25.9 21.9zM144 256a112 112 0 1 0 0-224 112 112 0 1 0 0 224zM144 0a144 144 0 1 1 0 288A144 144 0 1 1 144 0zm-3.3 76.7c6.2-6.2 16.4-6.2 22.6 0l56 56c6.2 6.2 6.2 16.4 0 22.6l-56 56c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L169.4 160H80c-8.8 0-16-7.2-16-16s7.2-16 16-16h89.4L140.7 99.3c-6.2-6.2-6.2-16.4 0-22.6z\"]\n};\nvar faSquarePollHorizontal = {\n prefix: 'fal',\n iconName: 'square-poll-horizontal',\n icon: [448, 512, [\"poll-h\"], \"f682\", \"M416 96c0-17.7-14.3-32-32-32L64 64C46.3 64 32 78.3 32 96l0 320c0 17.7 14.3 32 32 32l320 0c17.7 0 32-14.3 32-32l0-320zM384 32c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l320 0zM256 160c0 8.8-7.2 16-16 16l-128 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l128 0c8.8 0 16 7.2 16 16zm80 80c8.8 0 16 7.2 16 16s-7.2 16-16 16l-224 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l224 0zM192 352c0 8.8-7.2 16-16 16l-64 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l64 0c8.8 0 16 7.2 16 16z\"]\n};\nvar faPollH = faSquarePollHorizontal;\nvar faCircle = {\n prefix: 'fal',\n iconName: 'circle',\n icon: [512, 512, [128308, 128309, 128992, 128993, 128994, 128995, 128996, 9679, 9898, 9899, 11044, 61708, 61915], \"f111\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512z\"]\n};\nvar faLeftToBracket = {\n prefix: 'fal',\n iconName: 'left-to-bracket',\n icon: [512, 512, [], \"e66d\", \"M192.8 257.8c-.5-.5-.8-1.1-.8-1.8s.3-1.4 .8-1.8L324.7 129.8c1.2-1.2 2.9-1.8 4.6-1.8c3.7 0 6.7 3 6.7 6.7l0 57.3c0 8.8 7.2 16 16 16l120 0c4.4 0 8 3.6 8 8l0 80c0 4.4-3.6 8-8 8l-120 0c-8.8 0-16 7.2-16 16l0 57.3c0 3.7-3 6.7-6.7 6.7c-1.7 0-3.3-.6-4.6-1.8L192.8 257.8zM160 256c0 9.5 3.9 18.6 10.8 25.1L302.8 405.5c7.2 6.8 16.7 10.5 26.5 10.5c21.4 0 38.7-17.3 38.7-38.7l0-41.3 104 0c22.1 0 40-17.9 40-40l0-80c0-22.1-17.9-40-40-40l-104 0 0-41.3c0-21.4-17.3-38.7-38.7-38.7c-9.9 0-19.3 3.8-26.5 10.5L170.8 230.9c-6.9 6.5-10.8 15.6-10.8 25.1zm16 192l-96 0c-26.5 0-48-21.5-48-48l0-288c0-26.5 21.5-48 48-48l96 0c8.8 0 16-7.2 16-16s-7.2-16-16-16L80 32C35.8 32 0 67.8 0 112L0 400c0 44.2 35.8 80 80 80l96 0c8.8 0 16-7.2 16-16s-7.2-16-16-16z\"]\n};\nvar faCartCircleExclamation = {\n prefix: 'fal',\n iconName: 'cart-circle-exclamation',\n icon: [640, 512, [], \"e3f2\", \"M16 0C7.2 0 0 7.2 0 16s7.2 16 16 16H53.9c7.6 0 14.2 5.3 15.7 12.8l58.9 288c6.1 29.8 32.3 51.2 62.7 51.2H320.7c-.5-5.3-.7-10.6-.7-16s.2-10.7 .7-16H191.2c-15.2 0-28.3-10.7-31.4-25.6L152 288H339.2c5.9-11.4 12.9-22.2 21-32H145.4L106.1 64H539.5L507.4 192.4c10.9 .7 21.5 2.4 31.7 5L570.6 71.8c5-20.2-10.2-39.8-31-39.8H99.1C92.5 13 74.4 0 53.9 0H16zM168 456a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm80 0a56 56 0 1 0 -112 0 56 56 0 1 0 112 0zm136-88a112 112 0 1 1 224 0 112 112 0 1 1 -224 0zm256 0a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zM496 448a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-160c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V304c0-8.8-7.2-16-16-16z\"]\n};\nvar faSword = {\n prefix: 'fal',\n iconName: 'sword',\n icon: [512, 512, [128481], \"f71c\", \"M507.3 4.7C503.7 1 498.5-.6 493.4 .2L417.6 12.8c-16.4 2.7-31.6 10.6-43.4 22.3L174.6 234.7l22.6 22.6L396.8 57.8c7.1-7.1 16.2-11.8 26.1-13.4l53.7-8.9-8.9 53.7c-1.6 9.9-6.3 19-13.4 26L254.6 314.7l22.6 22.6L476.8 137.8c11.8-11.8 19.6-27 22.3-43.4l12.6-75.8c.8-5.1-.8-10.3-4.5-13.9zm-392 216c-6.2-6.2-16.4-6.2-22.6 0l-32 32c-5.3 5.3-6.2 13.6-2.2 19.9l49.1 77.2L74.7 382.6l-31.6-6.3c-5.2-1-10.7 .6-14.5 4.4l-24 24c-6.2 6.2-6.2 16.4 0 22.6l80 80c6.2 6.2 16.4 6.2 22.6 0l24-24c3.8-3.8 5.4-9.2 4.4-14.5l-6.3-31.6 32.9-32.9 77.2 49.1c6.3 4 14.6 3.1 19.9-2.2l32-32c6.2-6.2 6.2-16.4 0-22.6l-176-176zm26.2 122.7L92.4 266.2 104 254.6 257.4 408l-11.6 11.6-77.2-49.1c-6.3-4-14.6-3.1-19.9 2.2l-48 48c-3.8 3.8-5.4 9.2-4.4 14.5l6.3 31.6L96 473.4 38.6 416l6.6-6.6 31.6 6.3c5.2 1 10.7-.6 14.5-4.4l48-48c5.3-5.3 6.2-13.6 2.2-19.9z\"]\n};\nvar faBackwardFast = {\n prefix: 'fal',\n iconName: 'backward-fast',\n icon: [512, 512, [9198, \"fast-backward\"], \"f049\", \"M16 64c8.8 0 16 7.2 16 16V215.8L210.6 70.2c5-4 11.2-6.2 17.6-6.2C243.6 64 256 76.4 256 91.8V241.9L466.6 70.2c5-4 11.2-6.2 17.6-6.2C499.6 64 512 76.4 512 91.8V420.2c0 15.4-12.4 27.8-27.8 27.8c-6.4 0-12.6-2.2-17.6-6.2L256 270.1V420.2c0 15.4-12.4 27.8-27.8 27.8c-6.4 0-12.6-2.2-17.6-6.2L32 296.2V432c0 8.8-7.2 16-16 16s-16-7.2-16-16V270.1 241.9 80c0-8.8 7.2-16 16-16zM33.3 256L224 411.4V100.6L33.3 256zM480 100.6L289.3 256 480 411.4V100.6z\"]\n};\nvar faFastBackward = faBackwardFast;\nvar faRecycle = {\n prefix: 'fal',\n iconName: 'recycle',\n icon: [512, 512, [9842, 9850, 9851], \"f1b8\", \"M193.7 35C206.9 13.3 230.5 0 256 0s49.1 13.3 62.3 35l77.8 127.8 11.1-54c1.8-8.7 10.2-14.2 18.9-12.4s14.2 10.2 12.4 18.9l-19.4 94.4c-.9 4.5-3.7 8.3-7.7 10.6s-8.7 2.8-13 1.3L307 191.2c-8.4-2.8-12.9-11.8-10.1-20.2s11.8-12.9 20.2-10.1l50.5 16.8L291 51.7C283.5 39.4 270.3 32 256 32s-27.5 7.4-35 19.7l-31.1 51.2c-4.6 7.5-14.4 9.9-21.9 5.4c-7.6-4.6-10-14.5-5.4-22L193.7 35zM435.2 257.8c7.5-4.5 17.3-2.1 21.9 5.4l46 75.6c5.8 9.5 8.8 20.3 8.9 31.4c.3 34.1-27.3 61.9-61.4 61.9l-184.5 0 40.5 36c6.6 5.9 7.2 16 1.3 22.6s-16 7.2-22.6 1.3l-72-64c-3.4-3-5.4-7.4-5.4-12s2-8.9 5.4-12l72-64c6.6-5.9 16.7-5.3 22.6 1.3s5.3 16.7-1.3 22.6L266.1 400l184.6 0c16.3 0 29.5-13.3 29.4-29.6c0-5.3-1.5-10.5-4.3-15l-46-75.6c-4.6-7.6-2.2-17.5 5.4-22zm-300-.2l-10-48.4L36.3 355.3c-2.8 4.5-4.2 9.7-4.3 15C31.9 386.7 45.1 400 61.4 400l82.7 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-82.7 0C27.3 432-.3 404.2 0 370.1c.1-11.1 3.2-21.9 8.9-31.4l92.4-151.9L45 205.5c-8.4 2.8-17.4-1.8-20.2-10.1S26.6 178 35 175.2l91.4-30.4c4.3-1.4 9.1-1 13 1.3s6.7 6.2 7.7 10.6l19.4 94.4c1.8 8.7-3.8 17.1-12.4 18.9s-17.1-3.8-18.9-12.4z\"]\n};\nvar faUserAstronaut = {\n prefix: 'fal',\n iconName: 'user-astronaut',\n icon: [448, 512, [], \"f4fb\", \"M368 176A144 144 0 1 0 80 176a144 144 0 1 0 288 0zM48 176a176 176 0 1 1 352 0A176 176 0 1 1 48 176zM16 112c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V128c0-8.8 7.2-16 16-16zm432 16v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V128c0-8.8 7.2-16 16-16s16 7.2 16 16zM0 482.3c0-64.2 33.9-120.4 84.7-151.8c8.6 7.8 17.9 14.8 27.7 21.1C65.4 375.4 32.9 423.8 32 480H96V448c0-26.5 21.5-48 48-48H304c26.5 0 48 21.5 48 48v32h64c-.9-56.2-33.4-104.6-80.5-128.4c9.8-6.3 19.1-13.3 27.7-21.1c50.8 31.4 84.7 87.6 84.7 151.8c0 16.4-13.3 29.7-29.7 29.7H29.7C13.3 512 0 498.7 0 482.3zM288 480h32V448c0-8.8-7.2-16-16-16H144c-8.8 0-16 7.2-16 16v32h32V464c0-8.8 7.2-16 16-16s16 7.2 16 16v16h64V464c0-8.8 7.2-16 16-16s16 7.2 16 16v16zM205.3 162.7l21.2 6c3.3 .9 5.5 3.9 5.5 7.3s-2.2 6.4-5.5 7.3l-21.2 6-6 21.2c-.9 3.3-3.9 5.5-7.3 5.5s-6.4-2.2-7.3-5.5l-6-21.2-21.2-6c-3.3-.9-5.5-3.9-5.5-7.3s2.2-6.4 5.5-7.3l21.2-6 6-21.2c.9-3.3 3.9-5.5 7.3-5.5s6.4 2.2 7.3 5.5l6 21.2zM160 128c-17.7 0-32 14.3-32 32v16c0 44.2 35.8 80 80 80h32c44.2 0 80-35.8 80-80V160c0-17.7-14.3-32-32-32H160zM96 160c0-35.3 28.7-64 64-64H288c35.3 0 64 28.7 64 64v16c0 61.9-50.1 112-112 112H208c-61.9 0-112-50.1-112-112V160z\"]\n};\nvar faInterrobang = {\n prefix: 'fal',\n iconName: 'interrobang',\n icon: [320, 512, [8253], \"e5ba\", \"M48 160c0-53 43-96 96-96h32c53 0 96 43 96 96c0 25.2-11.9 48.9-32 64l-60.8 45.6c-1.1 .8-2.2 1.7-3.2 2.5V160c0-8.8-7.2-16-16-16s-16 7.2-16 16V340v4 8c0 8.8 7.2 16 16 16s16-7.2 16-16v-8-4c0-17.6 8.3-34.2 22.4-44.8l60.8-45.6C287.4 228.4 304 195.3 304 160c0-70.7-57.3-128-128-128H144C73.3 32 16 89.3 16 160c0 8.8 7.2 16 16 16s16-7.2 16-16zM160 472a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faPlaneSlash = {\n prefix: 'fal',\n iconName: 'plane-slash',\n icon: [640, 512, [], \"e069\", \"M347.6 359.4L283.3 471.9c-2.8 5-8.2 8.1-13.9 8.1l-56.2 0 44.5-155.6c1.4-4.8 .4-10-2.6-14s-7.8-6.4-12.8-6.4H160c-5 0-9.8 2.4-12.8 6.4L104 368H64.6L95.4 260.4c.8-2.9 .8-5.9 0-8.8L64.6 144H74.8L43 118.8c-6.7 5.5-11 13.9-11 23.2c0 2.8 .4 5.6 1.2 8.3L63.4 256 33.2 361.7c-.8 2.7-1.2 5.5-1.2 8.2c0 16.6 13.4 30 30 30h42c10.1 0 19.6-4.7 25.6-12.8L168 336h53.1L182.4 471.2c-5.8 20.4 9.5 40.8 30.8 40.8l56.2 0c17.2 0 33.1-9.2 41.7-24.2L373 379.4l-25.4-20.1zM182.4 40.8l9.2 32.4 43 33.9L213.2 32l56.2 0c5.7 0 11 3.1 13.9 8.1l13.9-7.9-13.9 7.9 91.4 159.9c2.9 5 8.2 8.1 13.9 8.1l109.7 0c13.5 0 34.1 6.1 51.3 16.6c8.5 5.2 15.4 10.9 20 16.7c4.6 5.8 6.3 10.7 6.3 14.8c0 9.1-8.2 20.9-26.3 31.8c-17.2 10.3-37.8 16.2-51.4 16.2H484.1l37.1 29.3c15.2-3.4 31.2-9.7 45.1-18C586.4 303.1 608 282.9 608 256c0-13.4-5.7-25.2-13.3-34.8s-17.7-17.6-28.4-24c-21-12.8-47.3-21.2-68-21.2l-100.5 0L311.1 24.2C302.6 9.2 286.7 0 269.4 0H213.2C192 0 176.6 20.3 182.4 40.8zM25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4z\"]\n};\nvar faCircleDashed = {\n prefix: 'fal',\n iconName: 'circle-dashed',\n icon: [512, 512, [], \"e105\", \"M18.8 232c8.2 0 15.1-6.2 16.5-14.3C41 184.4 54.1 153.6 72.8 127c4.7-6.7 4.3-16-1.5-21.8C64.6 98.5 53.5 99 48 106.7c-22.5 31.4-38.2 68-44.6 107.7C1.8 223.8 9.3 232 18.8 232zM127 72.8c26.5-18.7 57.3-31.8 90.6-37.6C225.8 33.9 232 27 232 18.8c0-9.5-8.2-17-17.5-15.4C174.7 9.8 138.1 25.5 106.7 48c-7.7 5.5-8.2 16.6-1.5 23.3c5.8 5.8 15.1 6.3 21.8 1.5zM280 493.2c0 9.5 8.2 17 17.5 15.4c39.7-6.5 76.4-22.1 107.7-44.6c7.7-5.5 8.2-16.6 1.5-23.3c-5.8-5.8-15.1-6.3-21.8-1.5c-26.5 18.7-57.3 31.8-90.6 37.6c-8.1 1.4-14.3 8.2-14.3 16.5zM439.2 385c-4.7 6.7-4.3 16 1.5 21.8c6.7 6.7 17.8 6.2 23.3-1.5c22.5-31.4 38.2-68 44.6-107.7c1.5-9.4-5.9-17.5-15.4-17.5c-8.2 0-15.1 6.2-16.5 14.3c-5.7 33.3-18.8 64.1-37.6 90.6zM105.2 440.7c-6.7 6.7-6.2 17.8 1.5 23.3c31.4 22.5 68 38.2 107.7 44.6c9.4 1.5 17.5-5.9 17.5-15.4c0-8.2-6.2-15.1-14.3-16.5c-33.3-5.7-64.1-18.8-90.6-37.6c-6.7-4.7-16-4.3-21.8 1.5zM48 405.3c5.5 7.7 16.6 8.2 23.3 1.5c5.8-5.8 6.3-15.1 1.5-21.8C54.1 358.4 41 327.6 35.3 294.3C33.9 286.2 27 280 18.8 280c-9.5 0-17 8.2-15.4 17.5C9.8 337.3 25.5 373.9 48 405.3zm358.8-334c6.7-6.7 6.2-17.8-1.5-23.3c-31.4-22.5-68-38.2-107.7-44.6C288.2 1.8 280 9.3 280 18.8c0 8.2 6.2 15.1 14.3 16.5C327.6 41 358.4 54.1 385 72.8c6.7 4.7 16 4.3 21.8-1.5zM439.2 127c18.7 26.5 31.8 57.3 37.6 90.6c1.4 8.1 8.2 14.3 16.5 14.3c9.5 0 17-8.2 15.4-17.5c-6.5-39.7-22.1-76.4-44.6-107.7c-5.5-7.7-16.6-8.2-23.3-1.5c-5.8 5.8-6.3 15.1-1.5 21.8z\"]\n};\nvar faTrademark = {\n prefix: 'fal',\n iconName: 'trademark',\n icon: [640, 512, [8482], \"f25c\", \"M0 112c0 8.8 7.2 16 16 16H240c8.8 0 16-7.2 16-16s-7.2-16-16-16H16c-8.8 0-16 7.2-16 16zM112 400c0 8.8 7.2 16 16 16s16-7.2 16-16V128H112V400zM316.3 101.8c-4.3-5.2-11.4-7.1-17.7-4.8s-10.6 8.3-10.6 15V400c0 8.8 7.2 16 16 16s16-7.2 16-16V156.2L451.7 314.2c3 3.6 7.5 5.8 12.3 5.8s9.3-2.1 12.3-5.8L608 156.2V400c0 8.8 7.2 16 16 16s16-7.2 16-16V112c0-6.7-4.2-12.8-10.6-15s-13.4-.4-17.7 4.8L464 279 316.3 101.8z\"]\n};\nvar faBasketball = {\n prefix: 'fal',\n iconName: 'basketball',\n icon: [512, 512, [127936, \"basketball-ball\"], \"f434\", \"M290.7 477.3c-1.8-9.5-2.7-19.3-2.7-29.3c0-38.4 13.5-73.7 36.1-101.3l78.6 78.6c-31 26.9-69.5 45.4-112 52zm-32 2.7c-.9 0-1.8 0-2.7 0c-56.1 0-107.4-20.6-146.7-54.7L256 278.6 301.4 324C273.1 357.5 256 400.7 256 448c0 10.9 .9 21.6 2.7 32zM324 301.4L278.6 256 425.3 109.3C459.4 148.6 480 199.9 480 256c0 .9 0 1.8 0 2.7c-10.4-1.7-21.1-2.7-32-2.7c-47.3 0-90.5 17.1-124 45.4zm22.7 22.7C374.3 301.5 409.6 288 448 288c10 0 19.8 .9 29.3 2.7c-6.6 42.5-25.1 81-52 112l-78.6-78.6zM256 233.4L210.6 188C238.9 154.5 256 111.3 256 64c0-10.9-.9-21.6-2.7-32c.9 0 1.8 0 2.7 0c56.1 0 107.4 20.6 146.7 54.7L256 233.4zm-68.1-68.1L109.3 86.7c31-26.9 69.5-45.4 112-52C223.1 44.2 224 54 224 64c0 38.4-13.5 73.7-36.1 101.3zm-22.6 22.6C137.7 210.5 102.4 224 64 224c-10 0-19.8-.9-29.3-2.7c6.6-42.5 25.1-81 52-112l78.6 78.6zM32 253.3c10.4 1.7 21.1 2.7 32 2.7c47.3 0 90.5-17.1 124-45.4L233.4 256 86.7 402.7C52.6 363.4 32 312.1 32 256c0-.9 0-1.8 0-2.7zM256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512z\"]\n};\nvar faBasketballBall = faBasketball;\nvar faForkKnife = {\n prefix: 'fal',\n iconName: 'fork-knife',\n icon: [576, 512, [\"utensils-alt\"], \"f2e6\", \"M64 9.7L273.7 234.4 251.1 257 42.9 34C38.5 49 32 77.1 32 112c0 41 12.6 72.2 36.6 104.6c21 28.3 50.1 56.9 87.3 93.2l0 0 0 0c6.6 6.4 13.4 13.1 20.5 20.1l0 0 .1 .1 .8 .8-22.6 22.6-.8-.8c-6.8-6.7-13.5-13.3-20-19.6l0 0 0 0c-37-36.2-68.3-66.8-91-97.4C15.6 198.8 0 161.1 0 112C0 69.6 8.6 36.2 13.6 20.4C17.6 7.6 29.4 0 41.7 0C50.2 0 58.2 3.5 64 9.7zM484.3 506.9L316.6 327.3l22.6-22.6L507.7 485.1c6 6.5 5.7 16.6-.8 22.6s-16.6 5.7-22.6-.8zM468.9 6.5c5.2 7.1 3.7 17.1-3.4 22.4L351.1 112.7c-3.1 2.3-6.1 4.8-8.8 7.6l-1.6 1.6C327.5 135.2 320 153.2 320 172s7.5 36.8 20.8 50.1l13.1 13.1C367.2 248.5 385.2 256 404 256s36.8-7.5 50.1-20.8l1.6-1.6c2.7-2.7 5.3-5.7 7.6-8.8l83.8-114.3c5.2-7.1 15.2-8.7 22.4-3.4s8.7 15.2 3.4 22.4L489.1 243.8c-3.3 4.4-6.9 8.6-10.7 12.5l-1.6 1.6C457.5 277.2 431.3 288 404 288c-25 0-49.1-9.1-67.8-25.5L91.3 507.3c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L313.5 239.8C297.1 221.1 288 197 288 172c0-27.3 10.8-53.5 30.1-72.8l1.6-1.6c3.9-3.9 8.1-7.5 12.5-10.7L446.5 3.1c7.1-5.2 17.1-3.7 22.4 3.4zM508 37.5c5.8 6.7 5.1 16.8-1.5 22.6l-128 112c-6.7 5.8-16.8 5.1-22.6-1.5s-5.1-16.8 1.5-22.6l128-112c6.6-5.8 16.8-5.1 22.6 1.5zM538.5 68c6.6 5.8 7.3 15.9 1.5 22.6l-112 128c-5.8 6.7-15.9 7.3-22.6 1.5s-7.3-15.9-1.5-22.6l112-128c5.8-6.7 15.9-7.3 22.6-1.5z\"]\n};\nvar faUtensilsAlt = faForkKnife;\nvar faSatelliteDish = {\n prefix: 'fal',\n iconName: 'satellite-dish',\n icon: [512, 512, [128225], \"f7c0\", \"M208 0c-8.8 0-16 7.2-16 16s7.2 16 16 16c150.2 0 272 121.8 272 272c0 8.8 7.2 16 16 16s16-7.2 16-16C512 136.1 375.9 0 208 0zm0 96c-8.8 0-16 7.2-16 16s7.2 16 16 16c97.2 0 176 78.8 176 176c0 8.8 7.2 16 16 16s16-7.2 16-16c0-114.9-93.1-208-208-208zM32 304c0-24.5 5-47.7 13.9-68.8L276.8 466.1C255.7 475 232.5 480 208 480c-97.2 0-176-78.8-176-176zm33.5-94.5c-14-14-37.3-12.1-45.7 5.8C7.1 242.2 0 272.3 0 304C0 418.9 93.1 512 208 512c31.7 0 61.8-7.1 88.7-19.8c17.9-8.4 19.8-31.8 5.8-45.7L195.3 339.3l24-24c6.3 3 13.3 4.7 20.7 4.7c26.5 0 48-21.5 48-48s-21.5-48-48-48s-48 21.5-48 48c0 7.4 1.7 14.4 4.7 20.7l-24 24L65.5 209.5zM224 272a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faBadgeCheck = {\n prefix: 'fal',\n iconName: 'badge-check',\n icon: [512, 512, [], \"f336\", \"M190.6 71.4C203 47.9 227.7 32 256 32s53 15.9 65.4 39.4c3.6 6.8 11.5 10.1 18.8 7.8c25.4-7.8 54.1-1.6 74.1 18.4s26.2 48.7 18.4 74.1c-2.3 7.3 1 15.2 7.8 18.8C464.1 203 480 227.7 480 256s-15.9 53-39.4 65.4c-6.8 3.6-10.1 11.5-7.8 18.8c7.8 25.4 1.6 54.1-18.4 74.1s-48.7 26.2-74.1 18.4c-7.3-2.3-15.2 1-18.8 7.8C309 464.1 284.3 480 256 480s-53-15.9-65.4-39.4c-3.6-6.8-11.5-10.1-18.8-7.8c-25.4 7.8-54.1 1.6-74.1-18.4s-26.2-48.7-18.4-74.1c2.3-7.3-1-15.2-7.8-18.8C47.9 309 32 284.3 32 256s15.9-53 39.4-65.4c6.8-3.6 10.1-11.5 7.8-18.8c-7.8-25.4-1.6-54.1 18.4-74.1s48.7-26.2 74.1-18.4c7.3 2.3 15.2-1 18.8-7.8zM256 0c-36.1 0-68 18.1-87.1 45.6c-33-6-68.3 3.8-93.9 29.4s-35.3 60.9-29.4 93.9C18.1 188 0 219.9 0 256s18.1 68 45.6 87.1c-6 33 3.8 68.3 29.4 93.9s60.9 35.3 93.9 29.4C188 493.9 219.9 512 256 512s68-18.1 87.1-45.6c33 6 68.3-3.8 93.9-29.4s35.3-60.9 29.4-93.9C493.9 324 512 292.1 512 256s-18.1-68-45.6-87.1c6-33-3.8-68.3-29.4-93.9s-60.9-35.3-93.9-29.4C324 18.1 292.1 0 256 0zM363.3 203.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L224 297.4l-52.7-52.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l64 64c6.2 6.2 16.4 6.2 22.6 0l128-128z\"]\n};\nvar faCircleUp = {\n prefix: 'fal',\n iconName: 'circle-up',\n icon: [512, 512, [61467, \"arrow-alt-circle-up\"], \"f35b\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-400c-9.2 0-18 3.5-24.7 9.7l-91 84c-7.8 7.2-12.3 17.4-12.3 28.1c0 21.1 17.1 38.3 38.3 38.3H192v80c0 26.5 21.5 48 48 48h32c26.5 0 48-21.5 48-48V272h25.7c21.1 0 38.3-17.1 38.3-38.3c0-10.7-4.5-20.9-12.3-28.1l-91-84c-6.7-6.2-15.6-9.7-24.7-9.7zm-3 33.2c.8-.8 1.9-1.2 3-1.2s2.2 .4 3 1.2l91 84c1.3 1.2 2 2.9 2 4.6c0 3.5-2.8 6.3-6.3 6.3H304c-8.8 0-16 7.2-16 16v96c0 8.8-7.2 16-16 16H240c-8.8 0-16-7.2-16-16V256c0-8.8-7.2-16-16-16H166.3c-3.5 0-6.3-2.8-6.3-6.3c0-1.7 .7-3.4 2-4.6l91-84z\"]\n};\nvar faArrowAltCircleUp = faCircleUp;\nvar faSlider = {\n prefix: 'fal',\n iconName: 'slider',\n icon: [512, 512, [], \"e252\", \"M352 128c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H320c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32h32zM320 96c-35.3 0-64 28.7-64 64V352c0 35.3 28.7 64 64 64h32c35.3 0 64-28.7 64-64V272h80c8.8 0 16-7.2 16-16s-7.2-16-16-16H416V160c0-35.3-28.7-64-64-64H320zM0 256c0 8.8 7.2 16 16 16H224V240H16c-8.8 0-16 7.2-16 16z\"]\n};\nvar faMobileScreenButton = {\n prefix: 'fal',\n iconName: 'mobile-screen-button',\n icon: [384, 512, [\"mobile-alt\"], \"f3cd\", \"M288 32c17.7 0 32 14.3 32 32V320H64V64c0-17.7 14.3-32 32-32H288zm32 320v96c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V352H320zM96 0C60.7 0 32 28.7 32 64V448c0 35.3 28.7 64 64 64H288c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H96zM216 416a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faMobileAlt = faMobileScreenButton;\nvar faClockOneThirty = {\n prefix: 'fal',\n iconName: 'clock-one-thirty',\n icon: [512, 512, [], \"e34f\", \"M32 256a224 224 0 1 1 448 0A224 224 0 1 1 32 256zm480 0A256 256 0 1 0 0 256a256 256 0 1 0 512 0zM272 400V260.8l61.3-92c4.9-7.4 2.9-17.3-4.4-22.2s-17.3-2.9-22.2 4.4l-64 96c-1.8 2.6-2.7 5.7-2.7 8.9V400c0 8.8 7.2 16 16 16s16-7.2 16-16z\"]\n};\nvar faInboxOut = {\n prefix: 'fal',\n iconName: 'inbox-out',\n icon: [512, 512, [128228, \"inbox-arrow-up\"], \"f311\", \"M272 54.6l84.7 84.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-112-112c-6.2-6.2-16.4-6.2-22.6 0l-112 112c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L240 54.6V304c0 8.8 7.2 16 16 16s16-7.2 16-16V54.6zM48 352h66.3c6.1 0 11.6 3.4 14.3 8.8L143 389.5c8.1 16.3 24.8 26.5 42.9 26.5H326.1c18.2 0 34.8-10.3 42.9-26.5l-28.6-14.3L369 389.5l14.3-28.6c2.7-5.4 8.3-8.8 14.3-8.8H464c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16H48c-8.8 0-16-7.2-16-16V368c0-8.8 7.2-16 16-16zm306.7-5.5l-14.3 28.6c-2.7 5.4-8.2 8.8-14.3 8.8H185.9c-6.1 0-11.6-3.4-14.3-8.8l-14.3-28.6c-8.1-16.3-24.8-26.5-42.9-26.5H48c-26.5 0-48 21.5-48 48v96c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V368c0-26.5-21.5-48-48-48H397.7c-18.2 0-34.8 10.3-42.9 26.5z\"]\n};\nvar faInboxArrowUp = faInboxOut;\nvar faCloudSlash = {\n prefix: 'fal',\n iconName: 'cloud-slash',\n icon: [640, 512, [], \"e137\", \"M25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4zM640 352c0-49.1-27.7-91.8-68.3-113.2c2.8-9.8 4.3-20.1 4.3-30.8c0-61.9-50.1-112-112-112c-17.2 0-33.5 3.9-48 10.8C384.1 61.5 331.5 32 272 32c-35.5 0-68.6 10.5-96.2 28.6l26.8 21.2C223.2 70.5 246.8 64 272 64c48.7 0 91.7 24.1 117.8 61.2c9 12.7 25.8 17.2 39.9 10.5c10.3-4.9 21.9-7.7 34.3-7.7c44.2 0 80 35.8 80 80c0 7.7-1.1 15-3 22c-4.1 14.5 2.5 30 15.8 37.1C587.3 283.2 608 315.2 608 352c0 15.1-3.5 29.4-9.7 42.2l25.6 20.2C634.1 395.9 640 374.6 640 352zM101.3 164.9c-2.9 11.3-4.6 23.1-5.1 35.2C40.2 219.9 0 273.2 0 336c0 79.5 64.5 144 144 144H500.4l-40.5-32H144C82.1 448 32 397.9 32 336c0-48.8 31.2-90.3 74.8-105.7c12.3-4.3 20.8-15.7 21.3-28.8c.2-4.9 .7-9.7 1.4-14.4l-28.2-22.2z\"]\n};\nvar faVolumeHigh = {\n prefix: 'fal',\n iconName: 'volume-high',\n icon: [640, 512, [128266, \"volume-up\"], \"f028\", \"M151.6 188L288 66.7V445.3L151.6 324c-2.9-2.6-6.7-4-10.6-4H56c-13.3 0-24-10.7-24-24V216c0-13.3 10.7-24 24-24h85c3.9 0 7.7-1.4 10.6-4zM290.2 32c-7.3 0-14.3 2.7-19.8 7.5L134.9 160H56c-30.9 0-56 25.1-56 56v80c0 30.9 25.1 56 56 56h78.9L270.4 472.5l10.6-12-10.6 12c5.5 4.8 12.5 7.5 19.8 7.5c16.5 0 29.8-13.3 29.8-29.8V61.8C320 45.3 306.7 32 290.2 32zM409.6 179.2c-7.1-5.3-17.1-3.9-22.4 3.2s-3.9 17.1 3.2 22.4C406 216.5 416 235.1 416 256s-10 39.5-25.6 51.2c-7.1 5.3-8.5 15.3-3.2 22.4s15.3 8.5 22.4 3.2C432.9 315.3 448 287.4 448 256s-15.1-59.3-38.4-76.8zm42-69.2c-5.6 6.8-4.7 16.9 2.1 22.5C489.4 161.9 512 206.3 512 256s-22.6 94.1-58.2 123.4c-6.8 5.6-7.8 15.7-2.1 22.5s15.7 7.8 22.5 2.1C516.8 368.9 544 315.6 544 256s-27.2-112.9-69.8-148.1c-6.8-5.6-16.9-4.7-22.5 2.1zm86.7-73.6c-6.7-5.7-16.8-4.9-22.6 1.8s-4.9 16.8 1.8 22.6c55.3 47 90.4 117 90.4 195.2s-35.1 148.2-90.4 195.2c-6.7 5.7-7.6 15.8-1.8 22.6s15.8 7.6 22.6 1.8C600.5 422.8 640 344 640 256s-39.5-166.8-101.6-219.6z\"]\n};\nvar faVolumeUp = faVolumeHigh;\nvar faUsersRays = {\n prefix: 'fal',\n iconName: 'users-rays',\n icon: [640, 512, [], \"e593\", \"M4.7 4.7c-6.2 6.2-6.2 16.4 0 22.6l64 64c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-64-64c-6.2-6.2-16.4-6.2-22.6 0zm630.6 0c-6.2-6.2-16.4-6.2-22.6 0l-64 64c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l64-64c6.2-6.2 6.2-16.4 0-22.6zM27.3 507.3l64-64c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-64 64c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0zm608 0c6.2-6.2 6.2-16.4 0-22.6l-64-64c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l64 64c6.2 6.2 16.4 6.2 22.6 0zM288 192a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm96 0a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zM360 320c19.4 0 35.5 13.7 39.2 32H240.8c3.7-18.3 19.8-32 39.2-32h80zm-80-32c-39.8 0-72 32.2-72 72c0 13.3 10.7 24 24 24H408c13.3 0 24-10.7 24-24c0-39.8-32.2-72-72-72H320 280zM159.8 176a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm64 0a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM128 312c0-13.3 10.7-24 24-24h56c8.8 0 16-7.2 16-16s-7.2-16-16-16H152c-30.9 0-56 25.1-56 56v8c0 8.8 7.2 16 16 16s16-7.2 16-16v-8zM464.2 160a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm0 64a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM488 288c13.3 0 24 10.7 24 24v8c0 8.8 7.2 16 16 16s16-7.2 16-16v-8c0-30.9-25.1-56-56-56H432c-8.8 0-16 7.2-16 16s7.2 16 16 16h56z\"]\n};\nvar faWallet = {\n prefix: 'fal',\n iconName: 'wallet',\n icon: [512, 512, [], \"f555\", \"M80 32C35.8 32 0 67.8 0 112V400c0 44.2 35.8 80 80 80H432c44.2 0 80-35.8 80-80V176c0-44.2-35.8-80-80-80H112c-8.8 0-16 7.2-16 16s7.2 16 16 16H432c26.5 0 48 21.5 48 48V400c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48H464c8.8 0 16-7.2 16-16s-7.2-16-16-16H80zM384 312a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faOctagonCheck = {\n prefix: 'fal',\n iconName: 'octagon-check',\n icon: [512, 512, [], \"e426\", \"M191.5 32.1c-10.6 0-20.8 4.2-28.3 11.7L43.8 163.2c-7.5 7.5-11.7 17.7-11.7 28.3v129c0 10.6 4.2 20.8 11.7 28.3L21.2 371.4C7.7 357.9 .1 339.6 .1 320.5v-129c0-19.1 7.6-37.4 21.1-50.9L140.6 21.2C154.1 7.7 172.4 .1 191.5 .1h129c19.1 0 37.4 7.6 50.9 21.1L490.8 140.6c13.5 13.5 21.1 31.8 21.1 50.9v129c0 19.1-7.6 37.4-21.1 50.9L371.4 490.8c-13.5 13.5-31.8 21.1-50.9 21.1h-129c-19.1 0-37.4-7.6-50.9-21.1L21.2 371.4l22.6-22.6L163.2 468.2c7.5 7.5 17.7 11.7 28.3 11.7h129c10.6 0 20.8-4.2 28.3-11.7L468.2 348.8c7.5-7.5 11.7-17.7 11.7-28.3v-129c0-10.6-4.2-20.8-11.7-28.3L348.8 43.8c-7.5-7.5-17.7-11.7-28.3-11.7h-129zM363.3 203.3l-128 128c-6.2 6.2-16.4 6.2-22.6 0l-64-64c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L224 297.4 340.7 180.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faFlatbreadStuffed = {\n prefix: 'fal',\n iconName: 'flatbread-stuffed',\n icon: [576, 512, [129369], \"e40c\", \"M256.8 32l59.9 32.9c11.7 6.4 25.1 9 38.4 7.5l51.5-6.1 17.9-17.9c4.6-4.6 10-8.3 15.8-11.1c-6.1-3.9-13.4-5.7-21-4.8l-67.9 8.1c-6.6 .8-13.3-.5-19.2-3.7L272.2 4c-12.8-7-28.7-4.5-38.7 6.1L186.6 59.9c-4.6 4.9-10.5 8.2-17.1 9.5L102.4 82.7c-14.3 2.8-24.9 15-25.7 29.6l-3.8 68.3c-.4 6.7-2.8 13-7 18.2L23.1 252.1c-9.1 11.4-9.4 27.5-.7 39.2l40.9 54.8c4 5.3 6.2 11.8 6.4 18.5l.9 41.2c2.6-4.9 5.9-9.4 9.9-13.3L101.8 371l-.2-7.1c-.3-13.3-4.7-26.3-12.7-37L48 272.1l42.8-53.3c8.4-10.4 13.3-23.2 14-36.5l3.8-68.3 67.1-13.3c13.1-2.6 25-9.2 34.2-19L256.8 32zM426.7 136.7l36.6-36.6c29.7 39.8 48.8 87 48.8 139.9c0 132.5-107.5 240-240 240c-52.9 0-100.1-19.1-139.9-48.8l79.6-79.6 86-86 86-86 43-43zm56.1-63.6c-4.3-5.4-10.6-8.6-17.4-9s-13.5 2.2-18.3 7l-43 43-43 43-86 86-86 86-86 86c-4.8 4.8-7.4 11.5-7 18.3s3.7 13.2 9 17.4C150.8 487.1 207.3 512 272 512c150.2 0 272-121.8 272-272c0-64.7-24.9-121.2-61.2-166.9zM272 416a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm80-16a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-48-48a16 16 0 1 0 0-32 16 16 0 1 0 0 32zM232 144c-66.3 0-120 53.7-120 120c0 27.2 9.1 52.3 24.3 72.5l22.9-22.9C149.6 299.4 144 282.4 144 264c0-48.6 39.4-88 88-88c18.4 0 35.4 5.6 49.5 15.3l22.9-22.9C284.3 153.1 259.2 144 232 144z\"]\n};\nvar faClipboardCheck = {\n prefix: 'fal',\n iconName: 'clipboard-check',\n icon: [384, 512, [], \"f46c\", \"M145.5 68c5.3-20.7 24.1-36 46.5-36s41.2 15.3 46.5 36c1.8 7.1 8.2 12 15.5 12h18c8.8 0 16 7.2 16 16v32H192 96V96c0-8.8 7.2-16 16-16h18c7.3 0 13.7-4.9 15.5-12zM192 0c-32.8 0-61 19.8-73.3 48H112C91.1 48 73.3 61.4 66.7 80H64C28.7 80 0 108.7 0 144V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V144c0-35.3-28.7-64-64-64h-2.7c-6.6-18.6-24.4-32-45.3-32h-6.7C253 19.8 224.8 0 192 0zM320 112c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V144c0-17.7 14.3-32 32-32v16c0 17.7 14.3 32 32 32h96 96c17.7 0 32-14.3 32-32V112zM208 80a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm91.3 171.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L160 345.4l-52.7-52.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l64 64c6.2 6.2 16.4 6.2 22.6 0l128-128z\"]\n};\nvar faCartCirclePlus = {\n prefix: 'fal',\n iconName: 'cart-circle-plus',\n icon: [640, 512, [], \"e3f3\", \"M16 0C7.2 0 0 7.2 0 16s7.2 16 16 16H53.9c7.6 0 14.2 5.3 15.7 12.8l58.9 288c6.1 29.8 32.3 51.2 62.7 51.2H320.7c-.5-5.3-.7-10.6-.7-16s.2-10.7 .7-16H191.2c-15.2 0-28.3-10.7-31.4-25.6L152 288H339.2c5.9-11.4 12.9-22.2 21-32H145.4L106.1 64H539.5L507.4 192.4c10.9 .7 21.5 2.4 31.7 5L570.6 71.8c5-20.2-10.2-39.8-31-39.8H99.1C92.5 13 74.4 0 53.9 0H16zM168 456a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm80 0a56 56 0 1 0 -112 0 56 56 0 1 0 112 0zm136-88a112 112 0 1 1 224 0 112 112 0 1 1 -224 0zm256 0a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zM512 304c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H432c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v48c0 8.8 7.2 16 16 16s16-7.2 16-16V384h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H512V304z\"]\n};\nvar faTruckClock = {\n prefix: 'fal',\n iconName: 'truck-clock',\n icon: [640, 512, [\"shipping-timed\"], \"f48c\", \"M64 32C46.3 32 32 46.3 32 64V352c0 17.7 14.3 32 32 32h5.5c13.2-37.3 48.7-64 90.5-64s77.4 26.7 90.5 64H384V64c0-17.7-14.3-32-32-32H64zm0 384c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H352c35.3 0 64 28.7 64 64V96h65.3c14 0 27.3 6.1 36.4 16.8l78.7 91.8c7.5 8.7 11.6 19.8 11.6 31.2V384h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H576c0 53-43 96-96 96s-96-43-96-96H256c0 53-43 96-96 96s-96-43-96-96zM416 128v96H570.9l-77.5-90.4c-3-3.5-7.5-5.6-12.1-5.6H416zm0 128v88.4c17-15.2 39.4-24.4 64-24.4c41.8 0 77.4 26.7 90.5 64H576V256H416zM224 416A64 64 0 1 0 96 416a64 64 0 1 0 128 0zm256 64a64 64 0 1 0 0-128 64 64 0 1 0 0 128zM208 256a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm0-192a112 112 0 1 1 0 224 112 112 0 1 1 0-224zm16 64v32h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H208c-8.8 0-16-7.2-16-16V128c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faShippingTimed = faTruckClock;\nvar faPool8Ball = {\n prefix: 'fal',\n iconName: 'pool-8-ball',\n icon: [512, 512, [], \"e3c5\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm368-64a112 112 0 1 0 -224 0 112 112 0 1 0 224 0zm-256 0a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-32a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm37.3 14.2C304.8 184.5 312 199.4 312 216c0 30.9-25.1 56-56 56s-56-25.1-56-56c0-16.6 7.2-31.5 18.7-41.8C212 166 208 155.5 208 144c0-26.5 21.5-48 48-48s48 21.5 48 48c0 11.5-4 22-10.7 30.2zM256 192a24 24 0 1 0 0 48 24 24 0 1 0 0-48z\"]\n};\nvar faFileAudio = {\n prefix: 'fal',\n iconName: 'file-audio',\n icon: [384, 512, [], \"f1c7\", \"M320 480H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H192V144c0 26.5 21.5 48 48 48H352V448c0 17.7-14.3 32-32 32zM240 160c-8.8 0-16-7.2-16-16V32.5c2.8 .7 5.4 2.1 7.4 4.2L347.3 152.6c2.1 2.1 3.5 4.6 4.2 7.4H240zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V163.9c0-12.7-5.1-24.9-14.1-33.9L254.1 14.1c-9-9-21.2-14.1-33.9-14.1H64zM258 226.3c-7.6-4.6-17.4-2.1-22 5.4s-2.1 17.4 5.4 22C269.4 270.5 288 301.1 288 336s-18.6 65.5-46.5 82.3c-7.6 4.6-10 14.4-5.4 22s14.4 10 22 5.4c37.1-22.4 62-63.1 62-109.7s-24.9-87.3-62-109.7zm-18.3 67c-5.9-6.6-16-7.1-22.6-1.3s-7.1 16-1.3 22.6c5.1 5.7 8.1 13.1 8.1 21.3s-3.1 15.7-8.1 21.3c-5.9 6.6-5.3 16.7 1.3 22.6s16.7 5.3 22.6-1.3C249.8 367.4 256 352.4 256 336s-6.2-31.4-16.3-42.7zm-56.9-43.8c-5.6-2.6-12.3-1.8-17 2.2L122.2 288H80c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h42.2l43.6 36.3c4.8 4 11.4 4.8 17 2.2s9.2-8.3 9.2-14.5V264c0-6.2-3.6-11.9-9.2-14.5zM160 298.2v75.7l-21.8-18.1c-2.9-2.4-6.5-3.7-10.2-3.7H96V320h32c3.7 0 7.4-1.3 10.2-3.7L160 298.2z\"]\n};\nvar faTurnDownLeft = {\n prefix: 'fal',\n iconName: 'turn-down-left',\n icon: [512, 512, [], \"e331\", \"M160 208l0-57.3c0-3.7-3-6.7-6.7-6.7c-1.9 0-3.7 .8-5 2.2L35.8 272 148.3 397.8c1.3 1.4 3.1 2.2 5 2.2c3.7 0 6.7-3 6.7-6.7l0-57.3c0-17.7 14.3-32 32-32l176 0c61.9 0 112-50.1 112-112l0-112c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16l0 112c0 26.5-21.5 48-48 48l-176 0c-17.7 0-32-14.3-32-32zM5.3 286C1.9 282.1 0 277.2 0 272s1.9-10.1 5.3-14L124.5 124.9c7.3-8.2 17.8-12.9 28.8-12.9c21.4 0 38.7 17.3 38.7 38.7l0 25.3 0 32 32 0 144 0c8.8 0 16-7.2 16-16l0-112c0-26.5 21.5-48 48-48l32 0c26.5 0 48 21.5 48 48l0 112c0 79.5-64.5 144-144 144l-144 0-32 0 0 32 0 25.3c0 21.4-17.3 38.7-38.7 38.7c-11 0-21.5-4.7-28.8-12.9L5.3 286z\"]\n};\nvar faLockHashtag = {\n prefix: 'fal',\n iconName: 'lock-hashtag',\n icon: [448, 512, [], \"e423\", \"M128 128v64H320V128c0-53-43-96-96-96s-96 43-96 96zM96 192V128C96 57.3 153.3 0 224 0s128 57.3 128 128v64h16c44.2 0 80 35.8 80 80V432c0 44.2-35.8 80-80 80H80c-44.2 0-80-35.8-80-80V272c0-44.2 35.8-80 80-80H96zM32 272V432c0 26.5 21.5 48 48 48H368c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48H80c-26.5 0-48 21.5-48 48zm144-32c8.8 0 16 7.2 16 16v32h64V256c0-8.8 7.2-16 16-16s16 7.2 16 16v32h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H288v64h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H288v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V416H192v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V416H128c-8.8 0-16-7.2-16-16s7.2-16 16-16h32V320H128c-8.8 0-16-7.2-16-16s7.2-16 16-16h32V256c0-8.8 7.2-16 16-16zm16 144h64V320H192v64z\"]\n};\nvar faChartRadar = {\n prefix: 'fal',\n iconName: 'chart-radar',\n icon: [512, 512, [], \"e0e7\", \"M16 288c-11.4-19.8-11.4-44.2 0-64L108.3 64.2c11.4-19.8 32.6-32 55.4-32H348.3c22.9 0 44 12.2 55.4 32L496 224c11.4 19.8 11.4 44.2 0 64L403.7 447.8c-11.4 19.8-32.6 32-55.4 32H163.7c-22.9 0-44-12.2-55.4-32L16 288zm27.7-48c-5.7 9.9-5.7 22.1 0 32L136 431.8c5.7 9.9 16.3 16 27.7 16H348.3c11.4 0 22-6.1 27.7-16L468.3 272c5.7-9.9 5.7-22.1 0-32L376 80.2c-5.7-9.9-16.3-16-27.7-16l-184.6 0c-11.4 0-22 6.1-27.7 16L43.7 240zM312 160c0 17.8-8.3 33.6-21.2 43.9l24.1 60.3c1.7-.2 3.4-.2 5.1-.2c30.9 0 56 25.1 56 56s-25.1 56-56 56c-29.2 0-53.2-22.3-55.8-50.8l-54.7-10.9c-9.4 17.7-28 29.8-49.5 29.8c-30.9 0-56-25.1-56-56s25.1-56 56-56c6.8 0 13.4 1.2 19.4 3.5L211 193.3c-6.9-9.3-11-20.8-11-33.3c0-30.9 25.1-56 56-56s56 25.1 56 56zM270.5 293.8c3.6-6.9 8.7-12.9 14.7-17.7l-24.1-60.3c-1.7 .2-3.4 .2-5.1 .2c-6.8 0-13.4-1.2-19.4-3.5L205 254.7c5.9 8 9.8 17.7 10.8 28.2l54.7 10.9zM256 184a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm88 136a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-184-8a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faStaff = {\n prefix: 'fal',\n iconName: 'staff',\n icon: [512, 512, [], \"f71b\", \"M284.2 44.2l-7.2 14.3c-11.9 23.7-2.2 52.5 21.5 64.4s52.5 2.2 64.4-21.5c1.7-3.4 5.1-5.5 8.8-5.5H400c8.8 0 16 7.2 16 16v47.7c0 7.1-4.7 13.4-11.6 15.4L234.8 223.6c-13.1 3.7-25 10.7-34.6 20.4l-39.4 39.4c-3 3-7.1 4.7-11.3 4.7H112c-8.8 0-16 7.2-16 16v37.5c0 4.2-1.7 8.3-4.7 11.3L14.1 430.1c-18.7 18.7-18.7 49.1 0 67.9s49.1 18.7 67.9 0L262.2 317.7c1.9-1.9 4.3-3.3 6.9-4.1l85.5-24.4c4.1-1.2 8.5-.7 12.3 1.5l32.8 18.5c7.7 4.3 17.5 1.6 21.8-6.1l19-33.6c2.1-3.7 5.5-6.4 9.5-7.5l3.9-1.1c34.3-9.8 58-41.2 58-76.9V80c0-44.2-35.8-80-80-80H355.8c-30.3 0-58 17.1-71.6 44.2zM355.8 32H432c26.5 0 48 21.5 48 48V183.9c0 21.4-14.2 40.3-34.8 46.2l-3.9 1.1c-12.1 3.5-22.4 11.6-28.6 22.6l-11.1 19.7-18.9-10.7c-11.2-6.3-24.4-7.9-36.8-4.4l-85.5 24.4c-7.8 2.2-15 6.4-20.8 12.2L59.3 475.3c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l77.3-77.3c9-9 14.1-21.2 14.1-33.9V320h21.5c12.7 0 24.9-5.1 33.9-14.1l39.4-39.4c5.8-5.8 12.9-10 20.8-12.2l169.6-48.5c20.6-5.9 34.8-24.7 34.8-46.2V112c0-26.5-21.5-48-48-48H371.8c-15.9 0-30.4 9-37.5 23.2c-4 7.9-13.6 11.1-21.5 7.2s-11.1-13.6-7.2-21.5l7.2-14.3C321 42.3 337.6 32 355.8 32z\"]\n};\nvar faBurger = {\n prefix: 'fal',\n iconName: 'burger',\n icon: [512, 512, [\"hamburger\"], \"f805\", \"M256 64c94.4 0 172.9 68.1 189 157.8l0 .1c0 .1-.1 .2-.3 .3c-.7 .8-2.4 1.7-4.7 1.7H72c-2.4 0-4-1-4.7-1.7c-.1-.1-.2-.2-.3-.3l0-.1C83.1 132.1 161.6 64 256 64zM440 256c22.1 0 40.4-18.1 36.5-39.8C457.7 111.5 366.1 32 256 32S54.3 111.5 35.5 216.2C31.6 237.9 49.9 256 72 256H440zM128 448c-35.3 0-64-28.7-64-64H448c0 35.3-28.7 64-64 64H128zM32 384c0 53 43 96 96 96H384c53 0 96-43 96-96c0-17.7-14.3-32-32-32H64c-17.7 0-32 14.3-32 32zM16 304c0 8.8 7.2 16 16 16H480c8.8 0 16-7.2 16-16s-7.2-16-16-16H32c-8.8 0-16 7.2-16 16zM160 160a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm112-48a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm80 48a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faHamburger = faBurger;\nvar faUtilityPole = {\n prefix: 'fal',\n iconName: 'utility-pole',\n icon: [512, 512, [], \"e2c3\", \"M208 32c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32V96h80V48c0-8.8 7.2-16 16-16s16 7.2 16 16V96h15.8c.1 0 .2 0 .3 0H480V48c0-8.8 7.2-16 16-16s16 7.2 16 16V96c0 17.7-14.3 32-32 32H437.5L304 231.8V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V224.2c0-.1 0-.2 0-.3V128H240v95.9c0 .1 0 .2 0 .3V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V231.8L74.5 128H32C14.3 128 0 113.7 0 96V48c0-8.8 7.2-16 16-16s16 7.2 16 16V96H79.9c.1 0 .2 0 .3 0H96V48c0-8.8 7.2-16 16-16s16 7.2 16 16V96h80V32zm-81.4 96L208 191.3V128H126.6zM304 191.3L385.4 128H304v63.3zM272 32l-32 0V96h32V32z\"]\n};\nvar faTransporter6 = {\n prefix: 'fal',\n iconName: 'transporter-6',\n icon: [512, 512, [], \"e2a7\", \"M48 0C39.2 0 32 7.2 32 16V32H16C7.2 32 0 39.2 0 48s7.2 16 16 16H32V80c0 8.8 7.2 16 16 16s16-7.2 16-16V64H80c8.8 0 16-7.2 16-16s-7.2-16-16-16H64V16C64 7.2 56.8 0 48 0zM464 352c-8.8 0-16 7.2-16 16v16H432c-8.8 0-16 7.2-16 16s7.2 16 16 16h16v16c0 8.8 7.2 16 16 16s16-7.2 16-16V416h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H480V368c0-8.8-7.2-16-16-16zM208 16c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H224c-8.8 0-16 7.2-16 16zM96 272c0 8.8 7.2 16 16 16H400c8.8 0 16-7.2 16-16s-7.2-16-16-16H112c-8.8 0-16 7.2-16 16zm32 224c0-8.8 7.2-16 16-16H368c8.8 0 16 7.2 16 16s7.2 16 16 16s16-7.2 16-16c0-26.5-21.5-48-48-48H144c-26.5 0-48 21.5-48 48c0 8.8 7.2 16 16 16s16-7.2 16-16z\"]\n};\nvar faArrowTurnLeft = {\n prefix: 'fal',\n iconName: 'arrow-turn-left',\n icon: [512, 512, [], \"e632\", \"M132.7 363.3c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L54.6 240H432c26.5 0 48 21.5 48 48V464c0 8.8 7.2 16 16 16s16-7.2 16-16V288c0-44.2-35.8-80-80-80H54.6L155.3 107.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-128 128c-6.2 6.2-6.2 16.4 0 22.6l128 128z\"]\n};\nvar faWrench = {\n prefix: 'fal',\n iconName: 'wrench',\n icon: [512, 512, [128295], \"f0ad\", \"M480 160c0-10.7-1.3-21.1-3.8-31l-48.9 48.9c-9 9-21.2 14.1-33.9 14.1H368c-26.5 0-48-21.5-48-48V118.6c0-12.7 5.1-24.9 14.1-33.9L383 35.8c-9.9-2.5-20.3-3.8-31-3.8c-70.7 0-128 57.3-128 128c0 9.2 1 18.1 2.8 26.7c3.2 15.2-.6 32.4-13.1 44.9L45.8 399.4C37 408.3 32 420.3 32 432.8C32 458.9 53.1 480 79.2 480c12.5 0 24.5-5 33.4-13.8L280.5 298.3c12.4-12.4 29.7-16.3 44.9-13.1c8.6 1.8 17.5 2.8 26.7 2.8c70.7 0 128-57.3 128-128zm32 0c0 88.4-71.6 160-160 160c-11.4 0-22.6-1.2-33.3-3.5c-5.6-1.2-11.5 .3-15.6 4.4L135.2 488.8c-14.9 14.9-35 23.2-56 23.2C35.5 512 0 476.5 0 432.8c0-21 8.3-41.1 23.2-56L191.1 208.9c4.1-4.1 5.6-10 4.4-15.6c-2.3-10.7-3.5-21.9-3.5-33.3C192 71.6 263.6 0 352 0c24.8 0 48.3 5.7 69.3 15.7c9.2 4.4 10.5 16.5 3.3 23.7l-67.9 67.9c-3 3-4.7 7.1-4.7 11.3V144c0 8.8 7.2 16 16 16h25.4c4.2 0 8.3-1.7 11.3-4.7l67.9-67.9c7.2-7.2 19.3-5.9 23.7 3.3c10.1 21 15.7 44.5 15.7 69.3zM88 408a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faBugs = {\n prefix: 'fal',\n iconName: 'bugs',\n icon: [576, 512, [], \"e4d0\", \"M156.7 102.8l34-80.6c3.4-8.1-.4-17.5-8.5-21s-17.5 .4-21 8.5L128 88.6 94.7 9.8c-3.4-8.1-12.8-12-21-8.5s-12 12.8-8.5 21l34 80.6c-13.8 7-24.8 18.8-30.6 33.2H37.1l-5.4-27.1C30 100.2 21.5 94.6 12.9 96.3S-1.4 106.5 .3 115.1l8 40C9.8 162.6 16.4 168 24 168H64v49.8l-45.1 15c-5.7 1.9-9.9 6.9-10.8 12.9l-8 56c-1.2 8.7 4.8 16.9 13.6 18.1s16.9-4.8 18.1-13.6l6.6-46.2 30.9-10.3C79.3 272.3 101.8 288 128 288s48.7-15.7 58.6-38.3l30.9 10.3 6.6 46.2c1.2 8.7 9.4 14.8 18.1 13.6s14.8-9.4 13.6-18.1l-8-56c-.9-6-5-11-10.8-12.9l-45.1-15V168h40c7.6 0 14.2-5.4 15.7-12.9l8-40c1.7-8.7-3.9-17.1-12.6-18.8s-17.1 3.9-18.8 12.6L218.9 136H187.3c-5.8-14.4-16.8-26.2-30.6-33.2zM160 224c0 17.7-14.3 32-32 32s-32-14.3-32-32V160c0-17.7 14.3-32 32-32s32 14.3 32 32v64zm332.3 55.4l69.7-52.8c7-5.3 8.4-15.4 3.1-22.4s-15.4-8.4-22.4-3.1l-68.2 51.6 10.6-84.9c1.1-8.8-5.1-16.8-13.9-17.9s-16.8 5.1-17.9 13.9l-10.8 86.8c-15.4-.9-30.8 3.9-43.1 13.4l-27.3-15.8 8.9-26.2c2.8-8.4-1.7-17.5-10-20.3s-17.5 1.7-20.3 10l-13.1 38.6c-2.4 7.2 .6 15.2 7.2 19l34.6 20-24.9 43.1L308 323.1c-5.9-1.2-12.1 1-15.8 5.8l-34.9 44.5c-5.5 7-4.2 17 2.7 22.5s17 4.2 22.5-2.7l28.8-36.7 32 6.5c-2.7 24.5 8.9 49.4 31.6 62.4s50 10.7 69.9-3.8L466.4 446 449 489.3c-3.3 8.2 .7 17.5 8.9 20.8s17.5-.7 20.8-8.9l21.1-52.5c2.3-5.6 1.1-12-2.9-16.6l-31.5-35.5 24.9-43.1 34.6 20c6.6 3.8 15 2.4 20-3.3l26.9-30.6c5.8-6.6 5.2-16.7-1.5-22.6s-16.7-5.2-22.6 1.5l-18.3 20.8-27.3-15.8c2.2-15.4-1.4-31.1-9.9-44.1zM434.6 386c-8.8 15.3-28.4 20.5-43.7 11.7s-20.6-28.4-11.7-43.7l32-55.4c8.8-15.3 28.4-20.5 43.7-11.7s20.5 28.4 11.7 43.7l-32 55.4z\"]\n};\nvar faVectorPolygon = {\n prefix: 'fal',\n iconName: 'vector-polygon',\n icon: [448, 512, [], \"e2c7\", \"M408 64c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8V72c0-4.4 3.6-8 8-8h48zM360 32c-22.1 0-40 17.9-40 40v8H128V72c0-22.1-17.9-40-40-40H40C17.9 32 0 49.9 0 72v48c0 22.1 17.9 40 40 40h8l0 192H40c-22.1 0-40 17.9-40 40v48c0 22.1 17.9 40 40 40H88c22.1 0 40-17.9 40-40v-8H320v8c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V392c0-22.1-17.9-40-40-40H364.3l-25.4-42.3c8.1-7.3 13.2-17.9 13.2-29.7V232c0-11.8-5.1-22.3-13.2-29.7L364.3 160H408c22.1 0 40-17.9 40-40V72c0-22.1-17.9-40-40-40H360zM307.7 320l25.4 42.3c-8.1 7.3-13.2 17.9-13.2 29.7v8H128v-8c0-22.1-17.9-40-40-40H80l0-192h8c22.1 0 40-17.9 40-40v-8H320v8c0 11.8 5.1 22.3 13.2 29.7L307.7 192H264c-22.1 0-40 17.9-40 40v48c0 22.1 17.9 40 40 40h43.7zM40 384H88c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H40c-4.4 0-8-3.6-8-8V392c0-4.4 3.6-8 8-8zm320 0h48c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8V392c0-4.4 3.6-8 8-8zM264 224h48c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H264c-4.4 0-8-3.6-8-8V232c0-4.4 3.6-8 8-8zM88 64c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H40c-4.4 0-8-3.6-8-8V72c0-4.4 3.6-8 8-8H88z\"]\n};\nvar faDiagramNested = {\n prefix: 'fal',\n iconName: 'diagram-nested',\n icon: [448, 512, [], \"e157\", \"M144 64c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16H112 80 48c-8.8 0-16-7.2-16-16V80c0-8.8 7.2-16 16-16h96zM112 224h32c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H48C21.5 32 0 53.5 0 80v96c0 26.5 21.5 48 48 48H80v96c0 44.2 35.8 80 80 80h96v32c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V336c0-26.5-21.5-48-48-48H304c-26.5 0-48 21.5-48 48v32H160c-26.5 0-48-21.5-48-48V224zM288 368V336c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16H304c-8.8 0-16-7.2-16-16V400 368z\"]\n};\nvar faRupeeSign = {\n prefix: 'fal',\n iconName: 'rupee-sign',\n icon: [448, 512, [8360, \"rupee\"], \"f156\", \"M0 80C0 53.5 21.5 32 48 32h64c79.5 0 144 64.5 144 144c0 65.6-43.9 121-103.9 138.3l54.8 144c3.1 8.3-1 17.5-9.3 20.6s-17.5-1-20.6-9.3L119.9 319.8c-2.6 .1-5.3 .2-7.9 .2H32V464c0 8.8-7.2 16-16 16s-16-7.2-16-16V304 80zM32 288h80c61.9 0 112-50.1 112-112s-50.1-112-112-112H48c-8.8 0-16 7.2-16 16V288zm264.8-27.6c-1.5 9.7-.4 16.5 1.8 21.6c2.2 5.1 5.9 9.7 11.5 14c12.1 9.2 29.9 15.2 51.4 22.6l.1 0c20 6.8 43.6 14.8 60.7 28.8c8.9 7.3 16.6 16.6 21.2 28.4c4.6 11.9 5.7 25.3 3.4 40.3c-3.9 25.5-19 44-40.2 54.2c-20.6 9.9-46.3 11.8-72.8 7.2l-.1 0c-9-1.6-20.6-5.5-31-9.3c-7-2.5-14.2-5.3-20.2-7.6l0 0c-3-1.2-5.8-2.2-8.1-3.1c-8.3-3.1-12.5-12.3-9.4-20.6s12.3-12.5 20.6-9.4c2.7 1 5.7 2.2 8.8 3.4l0 0c5.8 2.2 12.3 4.7 19.1 7.2c10.5 3.8 19.8 6.8 25.9 7.9c22 3.9 40.4 1.7 53.3-4.5c12.3-5.9 20.2-15.7 22.5-30.3c1.6-10.6 .6-18.2-1.6-23.9c-2.2-5.7-6-10.7-11.6-15.2c-11.8-9.7-29.5-16-50.8-23.3l-2.8-1c-19.2-6.5-41.4-14-57.7-26.5c-9-6.8-16.8-15.6-21.6-27c-4.8-11.5-6.1-24.4-3.9-38.9c3.7-23.9 19-42 39.7-52.6c20.5-10.4 46.3-13.6 73.3-8.8c7.7 1.4 31 6.4 39.4 8.9c8.5 2.5 13.3 11.4 10.7 19.9s-11.4 13.3-19.9 10.7c-6.7-2-28.7-6.8-35.8-8.1c-21.4-3.8-40-.9-53.2 5.8c-13 6.6-20.7 16.8-22.6 28.9z\"]\n};\nvar faRupee = faRupeeSign;\nvar faFileImage = {\n prefix: 'fal',\n iconName: 'file-image',\n icon: [384, 512, [128443], \"f1c5\", \"M352 448V192H240c-26.5 0-48-21.5-48-48V32H64C46.3 32 32 46.3 32 64V448c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32zm-.5-288c-.7-2.8-2.1-5.4-4.2-7.4L231.4 36.7c-2.1-2.1-4.6-3.5-7.4-4.2V144c0 8.8 7.2 16 16 16H351.5zM0 64C0 28.7 28.7 0 64 0H220.1c12.7 0 24.9 5.1 33.9 14.1L369.9 129.9c9 9 14.1 21.2 14.1 33.9V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM72 256a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM181.3 368.9c-2.9 4.3-7.7 7-12.9 7.1s-10.1-2.2-13.2-6.4l-14.4-19.3L99 416H285.1L219.7 311.3l-38.4 57.6zM219.9 272c8 0 15.5 4.1 19.8 11l76 121.5c2.8 4.5 4.3 9.7 4.3 15.1c0 15.7-12.7 28.4-28.4 28.4H92.4C76.7 448 64 435.3 64 419.6c0-5.4 1.5-10.7 4.4-15.2l51.8-81.4c4.3-6.8 11.9-10.9 19.9-10.9c7.4 0 14.4 3.5 18.9 9.4l8.1 10.9 33.3-49.9c4.3-6.5 11.6-10.4 19.4-10.4z\"]\n};\nvar faCircleQuestion = {\n prefix: 'fal',\n iconName: 'circle-question',\n icon: [512, 512, [62108, \"question-circle\"], \"f059\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm168.7-86.2c6.5-24.6 28.7-41.8 54.2-41.8H280c35.5 0 64 29 64 64.3c0 24-13.4 46.2-34.9 57.2L272 268.3V288c0 8.8-7.2 16-16 16s-16-7.2-16-16V258.5c0-6 3.4-11.5 8.7-14.3l45.8-23.4c10.7-5.4 17.5-16.6 17.5-28.7c0-17.8-14.4-32.3-32-32.3H222.9c-10.9 0-20.5 7.4-23.2 17.9l-.2 .7c-2.2 8.5-11 13.7-19.5 11.4s-13.7-11-11.4-19.5l.2-.7zM232 352a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faQuestionCircle = faCircleQuestion;\nvar faTicketsPerforated = {\n prefix: 'fal',\n iconName: 'tickets-perforated',\n icon: [640, 512, [], \"e63f\", \"M160 64H576c17.7 0 32 14.3 32 32v47.5c-23.7 11.8-40 36.2-40 64.5s16.3 52.8 40 64.5V320c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32zm452.2 77.5s0 0-.1 0l.1 0 0 0zm0 132.9s0 0-.1 0l.1 0zM96 96V320c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V264c0-8.8-7.4-15.7-15.6-19.1C610.1 238.8 600 224.6 600 208s10.1-30.8 24.4-36.9c8.1-3.4 15.6-10.3 15.6-19.1V96c0-35.3-28.7-64-64-64H160c-35.3 0-64 28.7-64 64zm400 32a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm0 64a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm16 48a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-16 80a16 16 0 1 0 0-32 16 16 0 1 0 0 32zM32 112c0-8.8-7.2-16-16-16s-16 7.2-16 16V368c0 61.9 50.1 112 112 112H528c8.8 0 16-7.2 16-16s-7.2-16-16-16H112c-44.2 0-80-35.8-80-80V112z\"]\n};\nvar faImageUser = {\n prefix: 'fal',\n iconName: 'image-user',\n icon: [512, 512, [], \"e1b8\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H448c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm288 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-96 0a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM299.4 320H212.6c-18.6 0-34 14-36.3 32H335.7c-2.2-18-17.6-32-36.3-32zm-86.9-32H256h43.4c37.9 0 68.6 30.7 68.6 68.6c0 15.1-12.3 27.4-27.4 27.4H171.4c-15.1 0-27.4-12.3-27.4-27.4c0-37.9 30.7-68.6 68.6-68.6z\"]\n};\nvar faBuoy = {\n prefix: 'fal',\n iconName: 'buoy',\n icon: [576, 512, [], \"e5b5\", \"M192 0c-8.8 0-16 7.2-16 16s7.2 16 16 16h12.3L147 304H96c-17.7 0-32 14.3-32 32v16c0 13.3 1.8 26.1 5.2 38.3c10-4.6 20.9-6.5 31.7-5.7C97.7 374.3 96 363.4 96 352l0-16H480v16c0 11.4-1.7 22.3-4.8 32.6c10.8-.8 21.7 1.1 31.7 5.7c3.4-12.2 5.2-25.1 5.2-38.3V336c0-17.7-14.3-32-32-32H429L371.7 32H384c8.8 0 16-7.2 16-16s-7.2-16-16-16H192zM339 32l9.8 46.4-60.8 76-60.8-76L237 32H339zM218.7 119l48.8 61L183.8 284.6 218.7 119zM288 205.6L366.7 304H209.3L288 205.6zm104.2 79L308.5 180l48.8-61 34.9 165.7zM192 480c-20.9 0-41.7-9.9-58.2-21.2c-9.7-6.6-18-14-25.9-21.9c-6.6-6.5-17.2-6.5-23.8 0c-7.9 7.9-16.1 15.2-25.9 21.9c-12.8 8.7-28.1 16.6-44 19.8C6.4 480.1 0 486.4 0 494.2c0 9.8 8 17.9 17.7 16.2c23.1-4 43.6-15 58.5-25.2c7.9-5.4 14.6-10.8 19.8-15.3c5.1 4.5 11.9 9.9 19.8 15.3C134.4 497.9 161.7 512 192 512s57.5-14.1 76.2-26.8c7.9-5.4 14.6-10.8 19.8-15.3c5.1 4.5 11.9 9.9 19.8 15.3C326.4 497.9 353.7 512 384 512s57.5-14.1 76.2-26.8c7.9-5.4 14.6-10.8 19.8-15.3c5.1 4.5 11.9 9.9 19.8 15.3c15 10.2 35.4 21.2 58.5 25.2c9.7 1.7 17.7-6.4 17.7-16.2c0-7.9-6.4-14.1-14.1-15.7c-16-3.1-31.3-11.1-44.1-19.8c-9.8-6.7-18-14-26-21.9c-6.6-6.5-17.2-6.5-23.7 0c-7.9 7.9-16.1 15.2-25.9 21.9C425.6 470 404.9 480 384 480s-41.7-9.9-58.2-21.2c-9.8-6.7-18-14-26-21.9c-6.6-6.5-17.2-6.5-23.7 0c-7.9 7.9-16.1 15.2-25.9 21.9C233.6 470 212.9 480 192 480z\"]\n};\nvar faPlaneDeparture = {\n prefix: 'fal',\n iconName: 'plane-departure',\n icon: [640, 512, [128747], \"f5b0\", \"M158.7 105.4c11.5-5.2 24.5-5.7 36.4-1.4L375 170c4.2 1.5 8.8 1.3 12.8-.8l88-45c15.8-8.1 33.3-12.3 51-12.3h61c12.7 0 21.1 13.1 15.8 24.6c-15.4 33.4-41.7 60.5-74.6 77L255.6 350.3c-2.2 1.1-4.7 1.7-7.2 1.7H109.3c-4.2 0-8.3-1.7-11.3-4.7L34.1 283.5l23.7-13.6c4.4-2.5 9.8-2.8 14.4-.7l57.2 25.4c4.4 2 9.5 1.8 13.8-.4l115-58.8c5.1-2.6 8.5-7.8 8.7-13.6s-2.6-11.2-7.5-14.3L121.9 122.2l-6.6-14.6 6.6 14.6 36.9-16.8zM206.1 74c-19.7-7.2-41.5-6.4-60.6 2.3L108.6 93.1c-23.3 10.6-25.4 42.8-3.6 56.3l113.5 70.5-83 42.4L85.3 240l-6.1 13.7L85.3 240c-14-6.2-30-5.4-43.3 2.2L18.2 255.7c-18.3 10.5-21.7 35.5-6.8 50.4l63.8 63.8c9 9 21.2 14.1 33.9 14.1H248.4c7.5 0 14.8-1.7 21.5-5.1L543.3 242.2c39.4-19.7 70.9-52.2 89.3-92.2c15.1-32.7-8.8-70-44.8-70h-61c-22.8 0-45.2 5.4-65.5 15.8l-81.8 41.8L206.1 74zM16 480c-8.8 0-16 7.2-16 16s7.2 16 16 16H624c8.8 0 16-7.2 16-16s-7.2-16-16-16H16z\"]\n};\nvar faHandshakeSlash = {\n prefix: 'fal',\n iconName: 'handshake-slash',\n icon: [640, 512, [], \"e060\", \"M25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4zM640 368V160c0-17.7-14.3-32-32-32H560 528v32V338.7l32 25.3V160h48V368c0 8.8-7.2 16-16 16h-6.6L617 409c13.8-8.4 23-23.6 23-41zM403.3 403.3L371 377.8c-.2 1.1-.2 2.2-.2 3.3c.4 8.1-2.3 16.3-8.1 22.9c-12.3 13.9-33.8 14.5-46.9 1.4l-8.1-8.1c-3.6-3.6-8.7-5.3-13.7-4.5s-9.4 3.9-11.8 8.4c-1.9 3.6-4.4 6.9-7.6 9.8c-13.8 12.3-34.8 11.7-47.8-1.3l-39.9-39.8-28.6-28.6c-12.4-12.4-28.9-19.8-46.3-20.9V173.3L54.6 128H32c-17.7 0-32 14.3-32 32V368c0 26.5 21.5 48 48 48H64c26.5 0 48-21.5 48-48V352.3c8.9 1 17.2 5 23.6 11.4l28.6 28.6 15.4 15.4 .1 .1 24.3 24.3c25.1 25.1 65.4 26.2 91.8 2.6c.8-.7 1.6-1.4 2.3-2.2c26.3 21.3 65.3 18.6 88.4-7.3c6-6.7 10.3-14.4 13-22.5c1.2 .3 2.5 .5 3.8 .7zM196.4 240l-2.8-2.2c.2 .8 .4 1.5 .6 2.2h2.3zM292.3 99l-30.9 29.2 25.4 20 27.5-26C332.2 105.4 355.8 96 380.4 96c22.7 0 44.6 8 61.9 22.6l44.8 37.7c2.5 2.1 5.6 3.4 8.8 3.7V121.8L462.9 94.1C439.8 74.6 410.6 64 380.4 64c-32.8 0-64.3 12.5-88.1 35zm-54.9 .2L272.6 64h-8.7c-22.5 0-44.6 5.3-64.5 15.3l28.7 22.6c3.1-1 6.2-1.9 9.3-2.7zm121.4 79.1l-15.6 14.4L366.3 211l18-14.6c2.4-5.6 1.5-12.4-2.9-17.2c-6-6.5-16.1-6.9-22.6-.9zM80 160V368c0 8.8-7.2 16-16 16H48c-8.8 0-16-7.2-16-16V160H80z\"]\n};\nvar faBookBookmark = {\n prefix: 'fal',\n iconName: 'book-bookmark',\n icon: [448, 512, [], \"e0bb\", \"M0 64C0 28.7 28.7 0 64 0H176 336h64c26.5 0 48 21.5 48 48V368c0 20.9-13.4 38.7-32 45.3V480h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H64c-35.3 0-64-28.7-64-64l0 0L0 64zM320 32H192V206.7l54-43.2c5.8-4.7 14.1-4.7 20 0l54 43.2V32zM160 32H64C46.3 32 32 46.3 32 64l0 328.6c9.4-5.4 20.3-8.6 32-8.6H400c8.8 0 16-7.2 16-16V48c0-8.8-7.2-16-16-16H352V240c0 6.2-3.5 11.8-9.1 14.4s-12.1 1.9-16.9-1.9l-70-56-70 56c-4.8 3.8-11.4 4.6-16.9 1.9s-9.1-8.3-9.1-14.4V32zM64 416c-17.7 0-32 14.3-32 32s14.3 32 32 32H384V416H64z\"]\n};\nvar faBorderCenterH = {\n prefix: 'fal',\n iconName: 'border-center-h',\n icon: [448, 512, [], \"f89c\", \"M16 240c-8.8 0-16 7.2-16 16s7.2 16 16 16l416 0c8.8 0 16-7.2 16-16s-7.2-16-16-16L16 240zM32 88a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0 384a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM128 88a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0 384a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm192-48a24 24 0 1 0 0 48 24 24 0 1 0 0-48zm0-336a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM224 424a24 24 0 1 0 0 48 24 24 0 1 0 0-48zm0-336a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM416 424a24 24 0 1 0 0 48 24 24 0 1 0 0-48zm0-384a24 24 0 1 0 0 48 24 24 0 1 0 0-48zM224 328a24 24 0 1 0 0 48 24 24 0 1 0 0-48zm192 48a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM32 328a24 24 0 1 0 0 48 24 24 0 1 0 0-48zM416 184a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM32 136a24 24 0 1 0 0 48 24 24 0 1 0 0-48zm192 48a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faCanFood = {\n prefix: 'fal',\n iconName: 'can-food',\n icon: [384, 512, [129387], \"e3e6\", \"M336 432V285.6c-12.8 6.5-27.7 11.9-43.7 16.2c-6.5 1.7-13.3 3.3-20.4 4.7c-1.3 43-36.6 77.6-80 77.6s-78.7-34.5-80-77.6c-7-1.4-13.8-3-20.4-4.7c-16-4.3-30.8-9.7-43.7-16.2V432c0 3 1.5 7.5 7.6 13.3c6.1 5.8 15.9 11.8 29.2 17.1C111.4 473.1 149.3 480 192 480s80.6-6.9 107.2-17.6c13.4-5.3 23.1-11.3 29.2-17.1c6.1-5.8 7.6-10.3 7.6-13.3zm0-183.7V127.6c-7.4 4.7-15.9 8.9-24.9 12.5C279.8 152.6 237.7 160 192 160s-87.8-7.4-119.1-19.9c-9.1-3.6-17.5-7.8-24.9-12.5V248.3c11.7 8.5 29.3 16.4 51.9 22.5c5.6 1.5 11.4 2.9 17.5 4.1C129.1 245.1 158.1 224 192 224s62.9 21.1 74.5 50.9c6.1-1.2 11.9-2.6 17.5-4.1c22.7-6.1 40.3-14 51.9-22.5zM48 80c0 3 1.5 7.5 7.6 13.3c6.1 5.8 15.9 11.8 29.2 17.1C111.4 121.1 149.3 128 192 128s80.6-6.9 107.2-17.6c13.4-5.3 23.1-11.3 29.2-17.1C334.5 87.5 336 83 336 80s-1.5-7.5-7.6-13.3c-6.1-5.8-15.9-11.8-29.2-17.1C272.6 38.9 234.7 32 192 32s-80.6 6.9-107.2 17.6C71.4 54.9 61.7 60.9 55.6 66.7C49.5 72.5 48 77 48 80zm320 0V432v8c0 39.8-78.8 72-176 72s-176-32.2-176-72v-8V80 72C16 32.2 94.8 0 192 0s176 32.2 176 72v8zM192 352a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faTypewriter = {\n prefix: 'fal',\n iconName: 'typewriter',\n icon: [512, 512, [], \"f8e7\", \"M128 32c-17.7 0-32 14.3-32 32v96H64V64C64 28.7 92.7 0 128 0H356.1c17 0 33.3 6.7 45.3 18.7l27.9 27.9c12 12 18.7 28.3 18.7 45.3V160H416V91.9c0-8.5-3.4-16.6-9.4-22.6L378.7 41.4c-6-6-14.1-9.4-22.6-9.4H128zM32 224v64H64 448h32V224H365.3L352 237.3c-12 12-28.3 18.7-45.3 18.7H205.3c-17 0-33.3-6.7-45.3-18.7l22.6-22.6c6 6 14.1 9.4 22.6 9.4H306.7c8.5 0 16.6-3.4 22.6-9.4l13.3-13.3c6-6 14.1-9.4 22.6-9.4H480c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32V448c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V320c-17.7 0-32-14.3-32-32V224c0-17.7 14.3-32 32-32H146.7c8.5 0 16.6 3.4 22.6 9.4l13.3 13.3L160 237.3 146.7 224 32 224zm32 96V448c0 17.7 14.3 32 32 32H416c17.7 0 32-14.3 32-32V320H64zm96 96H352c8.8 0 16 7.2 16 16s-7.2 16-16 16H160c-8.8 0-16-7.2-16-16s7.2-16 16-16zm-16-48a16 16 0 1 1 -32 0 16 16 0 1 1 32 0zm48 16a16 16 0 1 1 0-32 16 16 0 1 1 0 32zm80-16a16 16 0 1 1 -32 0 16 16 0 1 1 32 0zm48 16a16 16 0 1 1 0-32 16 16 0 1 1 0 32zm80-16a16 16 0 1 1 -32 0 16 16 0 1 1 32 0z\"]\n};\nvar faArrowRightFromArc = {\n prefix: 'fal',\n iconName: 'arrow-right-from-arc',\n icon: [512, 512, [], \"e4b1\", \"M32 256C32 132.3 132.3 32 256 32c8.8 0 16-7.2 16-16s-7.2-16-16-16C114.6 0 0 114.6 0 256S114.6 512 256 512c8.8 0 16-7.2 16-16s-7.2-16-16-16C132.3 480 32 379.7 32 256zM362.6 116c-6.6-5.9-16.7-5.3-22.6 1.3s-5.3 16.7 1.3 22.6L453.9 240H176c-8.8 0-16 7.2-16 16s7.2 16 16 16H453.9L341.4 372c-6.6 5.9-7.2 16-1.3 22.6s16 7.2 22.6 1.3l144-128c3.4-3 5.4-7.4 5.4-12s-2-8.9-5.4-12l-144-128z\"]\n};\nvar faCircleK = {\n prefix: 'fal',\n iconName: 'circle-k',\n icon: [512, 512, [], \"e113\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm91.1-356.5c6.4-6.1 6.5-16.3 .4-22.6s-16.3-6.5-22.6-.4L192 260.8V144c0-8.8-7.2-16-16-16s-16 7.2-16 16V298.5 368c0 8.8 7.2 16 16 16s16-7.2 16-16V305.3l44.6-43.1 86.6 115.4c5.3 7.1 15.3 8.5 22.4 3.2s8.5-15.3 3.2-22.4l-89-118.6 87.3-84.3z\"]\n};\nvar faFaceHandOverMouth = {\n prefix: 'fal',\n iconName: 'face-hand-over-mouth',\n icon: [512, 512, [129762], \"e378\", \"M32 256C32 132.3 132.3 32 256 32s224 100.3 224 224c0 57.4-21.6 109.7-57 149.3c-5.9 6.6-5.3 16.7 1.3 22.6s16.7 5.3 22.6-1.3C487.3 381.4 512 321.6 512 256C512 114.6 397.4 0 256 0S0 114.6 0 256c0 57.6 19.1 110.8 51.2 153.6c5.3 7.1 15.3 8.5 22.4 3.2s8.5-15.3 3.2-22.4C48.7 353 32 306.5 32 256zm144.4-56a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm184-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-95 125.3L248 318.6l0 0c-2.6 2.6-2.6 6.8 0 9.4s6.8 2.6 9.4 0l0 0 17.3-17.3 34-34 16-16c3.1-3.1 7.2-4.7 11.3-4.7s8.2 1.6 11.3 4.7s4.7 7.2 4.7 11.3s-1.6 8.2-4.7 11.3l0 0-16 16-34 34L280 350.6c-2.6 2.6-2.6 6.8 0 9.4s6.8 2.6 9.4 0l0 0 17.3-17.3 34-34 0 0 0 0c6.2-6.2 16.4-6.2 22.6 0c.7 .7 1.3 1.4 1.8 2.1c4.4 6.2 3.8 14.9-1.8 20.5l0 0-5.1 5.1-26.9 26.9-2 2L312 382.6c-2.6 2.6-2.6 6.8 0 9.4s6.8 2.6 9.4 0l17.3-17.3 2-2c6.2-6.2 16.4-6.2 22.6 0c.7 .7 1.3 1.4 1.8 2.1c4.4 6.2 3.8 14.9-1.8 20.5L344 414.6l-37.5 37.5C288.7 470 264.4 480 239.2 480c-52.6 0-95.2-42.6-95.2-95.2V352 298.4c0-11 9-20 20-20c9.1 0 16.8 6.1 19.2 14.5c.2 .8 .4 1.7 .6 2.5c.1 1 .2 2 .2 3v11.7 8c0 7.1 8.6 10.7 13.7 5.7l5.7-5.7 10.4-10.4 2.3-2.3 9.4-9.4 0 0 51.3-51.3c5.6-5.6 14.3-6.2 20.5-1.8c.7 .5 1.4 1.1 2.1 1.8c6.2 6.2 6.2 16.4 0 22.6l0 0-34 34zm-11.3-79.2L207 269.1c-9.4-13.7-25.1-22.7-43-22.7c-28.7 0-52 23.3-52 52V352v32.8C112 455.1 168.9 512 239.2 512c33.7 0 66.1-13.4 89.9-37.3l56.8-56.8c18.1-18.1 18.7-47.1 1.8-65.9c16.9-18.8 16.3-47.8-1.8-65.9c-1-1-2.1-2-3.2-3c3.7-15.7-.5-32.8-12.8-45s-29.4-16.5-45-12.8c-.9-1.1-1.9-2.2-3-3.2c-18.7-18.7-49.1-18.7-67.9 0z\"]\n};\nvar faPopcorn = {\n prefix: 'fal',\n iconName: 'popcorn',\n icon: [448, 512, [127871], \"f819\", \"M178.9 22.9c-8-4.4-17.1-6.9-26.9-6.9c-25.5 0-47 17-53.8 40.3C70 59.2 48 83 48 112c0 4.4 .5 8.6 1.5 12.7C34.5 131.3 23 144.2 18.3 160H54.1c4.4-4.9 10.8-8 17.9-8c6.1 0 11.6-3.4 14.3-8.9s2.1-11.9-1.5-16.8c-3-4-4.8-9-4.8-14.4c0-13.3 10.7-24 24-24c1.7 0 3.3 .2 4.8 .5c4.7 1 9.6-.3 13.4-3.3s5.9-7.7 5.8-12.5l0-.7C128 58.7 138.8 48 152 48c8.1 0 15.2 4 19.6 10.1c3.7 5.3 10.2 7.8 16.5 6.4s11.1-6.4 12.3-12.8C202.4 40.5 212.2 32 224 32s21.6 8.5 23.6 19.7c1.1 6.3 6 11.4 12.3 12.8s12.8-1.1 16.5-6.4C280.8 52 287.9 48 296 48c13.2 0 24 10.7 24 23.9l0 .7c0 4.8 2.1 9.4 5.8 12.5s8.6 4.3 13.4 3.3c1.5-.3 3.2-.5 4.8-.5c13.3 0 24 10.7 24 24c0 3.5-.7 6.8-2.1 9.7c-2.1 4.7-1.8 10 .7 14.5s7 7.4 12.1 8c9.2 1 16.9 7.4 19.9 15.8h32.8c-2.7-19-14.9-34.9-31.7-42.7c.2-1.7 .2-3.5 .2-5.3c0-29-22-52.8-50.2-55.7C343 33 321.5 16 296 16c-9.7 0-18.9 2.5-26.9 6.9C258.9 9 242.5 0 224 0s-34.9 9-45.1 22.9zM33.2 224H98.1l30 210.3c1.2 8.7 9.4 14.8 18.1 13.6s14.8-9.4 13.6-18.1L130.4 224H208V432c0 8.8 7.2 16 16 16s16-7.2 16-16V224h77.6L288.2 429.7c-1.2 8.7 4.8 16.9 13.6 18.1s16.9-4.8 18.1-13.6l30-210.3h64.9L346.9 468.3c-1.9 6.9-8.2 11.7-15.4 11.7h-215c-7.2 0-13.5-4.8-15.4-11.7L33.2 224zM224 192H112.3h-.5H28.2C12.6 192 0 204.6 0 220.2c0 2.5 .3 5.1 1 7.5L70.2 476.8C76 497.6 94.9 512 116.5 512h215c21.6 0 40.5-14.4 46.2-35.2L447 227.7c.7-2.5 1-5 1-7.5c0-15.6-12.6-28.2-28.2-28.2H336.2h-.5H224z\"]\n};\nvar faHouseWater = {\n prefix: 'fal',\n iconName: 'house-water',\n icon: [576, 512, [\"house-flood\"], \"f74f\", \"M298.6 4c-6-5.3-15.1-5.3-21.2 0L5.4 244c-6.6 5.8-7.3 16-1.4 22.6s16 7.3 22.6 1.4L64 235V393c9.9-5.7 20.9-8.6 32-8.6V206.7L288 37.3 480 206.7V384.5c11.1 0 22.1 2.9 32 8.6V235l37.4 33c6.6 5.8 16.7 5.2 22.6-1.4s5.2-16.7-1.4-22.6L298.6 4zM208 208v96c0 17.7 14.3 32 32 32h96c17.7 0 32-14.3 32-32V208c0-17.7-14.3-32-32-32H240c-17.7 0-32 14.3-32 32zm128 0v96H240V208h96zM192 480c-20.9 0-41.7-9.9-58.2-21.2c-9.7-6.6-18-14-25.9-21.9c-6.6-6.5-17.2-6.5-23.8 0c-7.9 7.9-16.1 15.2-25.9 21.9c-12.8 8.7-28.1 16.6-44 19.8C6.4 480.1 0 486.4 0 494.2c0 9.8 8 17.9 17.7 16.2c23.1-4 43.6-15 58.5-25.2c7.9-5.4 14.6-10.8 19.8-15.3c5.1 4.5 11.9 9.9 19.8 15.3C134.4 497.9 161.7 512 192 512s57.5-14.1 76.2-26.8c7.9-5.4 14.6-10.8 19.8-15.3c5.1 4.5 11.9 9.9 19.8 15.3C326.4 497.9 353.7 512 384 512s57.5-14.1 76.2-26.8c7.9-5.4 14.6-10.8 19.8-15.3c5.1 4.5 11.9 9.9 19.8 15.3c15 10.2 35.4 21.2 58.5 25.2c9.7 1.7 17.7-6.4 17.7-16.2c0-7.9-6.4-14.1-14.1-15.7c-16-3.1-31.3-11.1-44.1-19.8c-9.8-6.7-18-14-26-21.9c-6.6-6.5-17.2-6.5-23.7 0c-7.9 7.9-16.1 15.2-25.9 21.9C425.6 470 404.9 480 384 480s-41.7-9.9-58.2-21.2c-9.8-6.7-18-14-26-21.9c-6.6-6.5-17.2-6.5-23.7 0c-7.9 7.9-16.1 15.2-25.9 21.9C233.6 470 212.9 480 192 480z\"]\n};\nvar faHouseFlood = faHouseWater;\nvar faObjectSubtract = {\n prefix: 'fal',\n iconName: 'object-subtract',\n icon: [512, 512, [], \"e49e\", \"M64 32l32 0V0H64C28.7 0 0 28.7 0 64V96H32l0-32c0-17.7 14.3-32 32-32zm160 0V0H128V32l96 0zM32 128H0v96H32l0-96zm0 128H0v32c0 35.3 28.7 64 64 64H96V320H64c-17.7 0-32-14.3-32-32l0-32zm96 96h32l32 0h32V320H192 160 128v32zm32 32l0 64c0 35.3 28.7 64 64 64l224 0c35.3 0 64-28.7 64-64V224c0-35.3-28.7-64-64-64l-64 0v32l64 0c17.7 0 32 14.3 32 32l0 224c0 17.7-14.3 32-32 32l-224 0c-17.7 0-32-14.3-32-32l0-64H160zM352 192l0-32V128H320v32 32 32h32V192zm0-128c0-35.3-28.7-64-64-64H256V32l32 0c17.7 0 32 14.3 32 32V96h32V64zM256 320v32h32c35.3 0 64-28.7 64-64V256H320v32c0 17.7-14.3 32-32 32H256z\"]\n};\nvar faCodeBranch = {\n prefix: 'fal',\n iconName: 'code-branch',\n icon: [448, 512, [], \"f126\", \"M80 128a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm80-48c0 38.7-27.5 71-64 78.4V273.6c20.3-20.7 48.7-33.6 80-33.6h96c44.2 0 80-35.8 80-80v-1.6c-36.5-7.4-64-39.7-64-78.4c0-44.2 35.8-80 80-80s80 35.8 80 80c0 38.7-27.5 71-64 78.4V160c0 61.9-50.1 112-112 112H176c-44.2 0-80 35.8-80 80v1.6c36.5 7.4 64 39.7 64 78.4c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-38.7 27.5-71 64-78.4V352 158.4C27.5 151 0 118.7 0 80C0 35.8 35.8 0 80 0s80 35.8 80 80zm208 48a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM80 480a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faWarehouseFull = {\n prefix: 'fal',\n iconName: 'warehouse-full',\n icon: [640, 512, [\"warehouse-alt\"], \"f495\", \"M326.2 36c-4-1.7-8.4-1.7-12.4 0L51.6 146.4C39.7 151.4 32 163 32 175.9V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V175.9c0-25.8 15.4-49 39.2-59L301.4 6.5c11.9-5 25.3-5 37.3 0L600.8 116.9c23.7 10 39.2 33.2 39.2 59V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V175.9c0-12.9-7.7-24.5-19.6-29.5L326.2 36zM96 224c0-17.7 14.3-32 32-32H512c17.7 0 32 14.3 32 32V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V224H128V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V224zM352 400v80h80c8.8 0 16-7.2 16-16V416c0-8.8-7.2-16-16-16H352zm-32 80V400H192v64c0 8.8 7.2 16 16 16H320zm0-176c0-8.8-7.2-16-16-16H208c-8.8 0-16 7.2-16 16v64H320V304zm112 64c26.5 0 48 21.5 48 48v48c0 26.5-21.5 48-48 48H208c-26.5 0-48-21.5-48-48V304c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v32 32h32 48z\"]\n};\nvar faWarehouseAlt = faWarehouseFull;\nvar faHatCowboy = {\n prefix: 'fal',\n iconName: 'hat-cowboy',\n icon: [640, 512, [], \"f8c0\", \"M249.7 64c4.3 .2 6.7 1.1 8.2 1.8c2.1 1 4.3 2.6 8.5 6.3c.6 .5 1.2 1.1 1.9 1.7l0 0C276.7 81.3 293 96 320 96s43.3-14.7 51.7-22.2l0 0c.7-.6 1.3-1.2 1.9-1.7c4.2-3.7 6.4-5.2 8.5-6.3c1.5-.7 3.9-1.6 8.2-1.8c.5 .4 1.2 1 2.3 1.9c3.9 3.7 8.8 10.5 14.4 21c11.1 21 21.4 50.4 30.2 81.7c8.7 30.9 15.5 62 20.2 85.5c.8 4 1.5 7.9 2.2 11.4c10.8-3.7 21-7.6 30.3-11.7C476.4 184.2 441.4 32 392 32c-21.3 0-31.6 9.1-41.2 17.6C342.3 57 334.4 64 320 64s-22.3-7-30.8-14.4C279.6 41.1 269.3 32 248 32c-49.3 0-84.4 152.2-97.9 221.9c9.4 4.1 19.5 8 30.3 11.7c.7-3.5 1.4-7.3 2.2-11.3c4.7-23.5 11.5-54.6 20.2-85.5C211.6 137.4 221.9 108 233 87c5.6-10.5 10.6-17.3 14.4-21c1-1 1.8-1.6 2.3-1.9zm139.9-.5a.1 .1 0 1 0 0 .2 .1 .1 0 1 0 0-.2zm-139.3 .1a.1 .1 0 1 0 .3 .1 .1 .1 0 1 0 -.3-.1zm-239 156c-9.5 5.9-13.5 17.9-9.9 28.5c13.5 37.7 38.4 72.3 66.1 100.6C116.4 398.9 196.4 448 320 448s203.7-49.1 252.6-99.2c27.7-28.3 52.6-62.9 66.1-100.6c3.6-10.6-.4-22.6-9.9-28.5c-9.5-5.9-21.7-4.5-29.6 3.3c-20.4 19.4-45.3 34.8-70.1 47.7C481.8 295.2 411.6 320 320.1 320s-161.8-24.8-209-49.3C86.3 257.8 61.3 242.4 40.9 223c-7.9-7.9-20.2-9.2-29.6-3.3zm533.1 80.6c14.9-7.7 30.5-16.6 45.5-27.1c-11.3 18.7-25.4 36.4-41.1 52.4c-43.3 44.4-115.1 89.2-228.8 89.2c-113.7 0-185.4-44.8-228.7-89.2c-15.6-16-29.8-33.7-41.1-52.4c15 10.4 30.6 19.3 45.5 27.1c51.1 26.6 126.7 53 224.4 53c97.7 0 173.2-26.5 224.3-53z\"]\n};\nvar faBridge = {\n prefix: 'fal',\n iconName: 'bridge',\n icon: [576, 512, [], \"e4c8\", \"M16 32C7.2 32 0 39.2 0 48s7.2 16 16 16H80v64H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H96 224 352 480h80c8.8 0 16-7.2 16-16s-7.2-16-16-16H496V64h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H480 352 224 96 16zM464 64v64H368V64h96zM336 64v64H240V64h96zM208 64v64H112V64h96zM16 240c-8.8 0-16 7.2-16 16s7.2 16 16 16H32c35.3 0 64 28.7 64 64v96c0 26.5 21.5 48 48 48h32c26.5 0 48-21.5 48-48V336c0-35.3 28.7-64 64-64s64 28.7 64 64v96c0 26.5 21.5 48 48 48h32c26.5 0 48-21.5 48-48V336c0-35.3 28.7-64 64-64h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H544c-53 0-96 43-96 96v96c0 8.8-7.2 16-16 16H400c-8.8 0-16-7.2-16-16V336c0-53-43-96-96-96s-96 43-96 96v96c0 8.8-7.2 16-16 16H144c-8.8 0-16-7.2-16-16V336c0-53-43-96-96-96H16z\"]\n};\nvar faPhoneFlip = {\n prefix: 'fal',\n iconName: 'phone-flip',\n icon: [512, 512, [128381, \"phone-alt\"], \"f879\", \"M136.2 275.2c16.4-7 35.4-2.4 46.7 11.4l33.2 40.6c46-26.7 84.4-65.1 111.1-111.1L286.7 183c-13.8-11.3-18.5-30.3-11.4-46.7l48-112C330.8 6.7 349.7-3.1 368.4 .9l112 24C498.8 28.8 512 45.1 512 64v0c0 236.7-183.5 430.5-416 446.9c-4.5 .3-9.1 .6-13.7 .8c0 0 0 0 0 0c0 0-.1 0-.1 0c-6.1 .2-12.1 .4-18.3 .4l0 0c-18.9 0-35.2-13.2-39.1-31.6l-24-112c-4-18.7 5.8-37.6 23.4-45.1l112-48zM64.3 480C293.9 479.8 480 293.7 480 64v0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0c0-3.8-2.6-7-6.3-7.8l-112-24c-3.7-.8-7.5 1.2-9 4.7l-48 112c-1.4 3.3-.5 7.1 2.3 9.3l40.6 33.2c12.1 9.9 15.3 27.2 7.4 40.8c-29.5 50.9-71.9 93.3-122.7 122.7c-13.6 7.9-30.9 4.7-40.8-7.4l-33.2-40.6c-2.3-2.8-6.1-3.7-9.3-2.3l-112 48c-3.5 1.5-5.5 5.3-4.7 9l24 112c.8 3.7 4 6.3 7.8 6.3c.1 0 .2 0 .3 0z\"]\n};\nvar faPhoneAlt = faPhoneFlip;\nvar faArrowDownFromDottedLine = {\n prefix: 'fal',\n iconName: 'arrow-down-from-dotted-line',\n icon: [448, 512, [], \"e090\", \"M235.3 475.3c-6.2 6.2-16.4 6.2-22.6 0l-128-128c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L208 425.4V320 176c0-8.8 7.2-16 16-16s16 7.2 16 16V320 425.4L340.7 324.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-128 128zM32 88a24 24 0 1 1 0-48 24 24 0 1 1 0 48zm384 0a24 24 0 1 1 0-48 24 24 0 1 1 0 48zM104 64a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM224 88a24 24 0 1 1 0-48 24 24 0 1 1 0 48zm72-24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faFileDoc = {\n prefix: 'fal',\n iconName: 'file-doc',\n icon: [512, 512, [], \"e5ed\", \"M64 480H96v32H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H220.1c12.7 0 24.9 5.1 33.9 14.1L369.9 129.9c9 9 14.1 21.2 14.1 33.9V288H352V192H240c-26.5 0-48-21.5-48-48V32H64C46.3 32 32 46.3 32 64V448c0 17.7 14.3 32 32 32zM351.5 160c-.7-2.8-2.1-5.4-4.2-7.4L231.4 36.7c-2.1-2.1-4.6-3.5-7.4-4.2V144c0 8.8 7.2 16 16 16H351.5zM176 352h32c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H176c-8.8 0-16-7.2-16-16V368c0-8.8 7.2-16 16-16zm16 128h16c8.8 0 16-7.2 16-16V400c0-8.8-7.2-16-16-16H192v96zM456 352h16c22.1 0 40 17.9 40 40v8c0 8.8-7.2 16-16 16s-16-7.2-16-16v-8c0-4.4-3.6-8-8-8H456c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8v-8c0-8.8 7.2-16 16-16s16 7.2 16 16v8c0 22.1-17.9 40-40 40H456c-22.1 0-40-17.9-40-40V392c0-22.1 17.9-40 40-40zM288 392c0-22.1 17.9-40 40-40h16c22.1 0 40 17.9 40 40v80c0 22.1-17.9 40-40 40H328c-22.1 0-40-17.9-40-40V392zm40-8c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8V392c0-4.4-3.6-8-8-8H328z\"]\n};\nvar faSquareQuarters = {\n prefix: 'fal',\n iconName: 'square-quarters',\n icon: [448, 512, [], \"e44e\", \"M55.7 65.1L224 233.4 392.3 65.1c-2.6-.7-5.4-1.1-8.3-1.1H64c-2.9 0-5.6 .4-8.3 1.1zM33.1 87.7C32.4 90.4 32 93.1 32 96V416c0 2.9 .4 5.6 1.1 8.3L201.4 256 33.1 87.7zM55.7 446.9c2.6 .7 5.4 1.1 8.3 1.1H384c2.9 0 5.6-.4 8.3-1.1L224 278.6 55.7 446.9zm359.2-22.6c.7-2.6 1.1-5.4 1.1-8.3V96c0-2.9-.4-5.6-1.1-8.3L246.6 256 414.9 424.3zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96z\"]\n};\nvar faTruckFront = {\n prefix: 'fal',\n iconName: 'truck-front',\n icon: [512, 512, [], \"e2b7\", \"M80 32C53.5 32 32 53.5 32 80V248.4c10.8-9.7 23.9-17 38.3-21l31.3-88.8c9-25.6 33.2-42.7 60.4-42.7H350c27.1 0 51.3 17.1 60.4 42.7l31.3 88.8c14.4 4 27.4 11.3 38.3 21V80c0-26.5-21.5-48-48-48H80zM32 320v48c0 26.5 21.5 48 48 48H432c26.5 0 48-21.5 48-48V320c0-35.3-28.7-64-64-64H96c-35.3 0-64 28.7-64 64zM0 320V80C0 35.8 35.8 0 80 0H432c44.2 0 80 35.8 80 80V320v48c0 26.2-12.6 49.4-32 64v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V446.4c-5.2 1-10.5 1.6-16 1.6H80c-5.5 0-10.8-.6-16-1.6V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V432C12.6 417.4 0 394.2 0 368V320zm105.4-96H406.6l-26.3-74.7C375.7 136.6 363.6 128 350 128H162c-13.6 0-25.7 8.6-30.2 21.3L105.4 224zM80 328a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm328-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faCat = {\n prefix: 'fal',\n iconName: 'cat',\n icon: [576, 512, [128008], \"f6be\", \"M352 33V144c0 44.2 35.8 80 80 80s80-35.8 80-80V33c0-.5-.4-1-1-1c-.3 0-.5 .1-.7 .3L472 70.6c-6 6-14.1 9.4-22.6 9.4H414.6c-8.5 0-16.6-3.4-22.6-9.4L353.7 32.3c-.2-.2-.4-.3-.7-.3c-.5 0-1 .4-1 1zm1-33c8.7 0 17.1 3.5 23.3 9.7L414.6 48h34.7L487.7 9.7C493.9 3.5 502.3 0 511 0c18.2 0 33 14.8 33 33V144c0 61.9-50.1 112-112 112s-112-50.1-112-112V33c0-18.2 14.8-33 33-33zM128 299.2c33.8-61.5 92.1-108.2 162.9-126.2c2.2 10.6 5.5 20.9 9.9 30.5C200.2 228.2 128 318.7 128 424v8c0 26.5 21.5 48 48 48H304l0 0h42.6c2.9 0 5.3-2.4 5.3-5.3c0-14.7-11.9-26.7-26.7-26.7H288c-8.8 0-16-7.2-16-16v0V392c0-22.1-17.9-40-40-40h-8c-8.8 0-16-7.2-16-16s7.2-16 16-16h8c39.8 0 72 32.2 72 72v4.4L421.4 292c3-2.6 6.7-4 10.5-4l.1 0 .1 0c2.2 0 4.4 .5 6.4 1.4c5.7 2.6 9.4 8.3 9.4 14.6V464c0 8.8 7.2 16 16 16s16-7.2 16-16V279.8c11.4-4 22.1-9.4 32-16.1V464c0 26.5-21.5 48-48 48s-48-21.5-48-48V339.6l-86.1 76.5c30.3 2.3 54.1 27.6 54.1 58.5c0 20.6-16.7 37.3-37.3 37.3L304 512H176l-.1 0c-44.1-.1-79.9-35.9-79.9-80v-8V176.5c0-24.2-18-44.6-42-47.6l-7.9-1c-8.8-1.1-15-9.1-13.9-17.9s9.1-15 17.9-13.9l7.9 1c40 5 70.1 39 70.1 79.4V299.2zM384 128a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm80-16a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faTrashXmark = {\n prefix: 'fal',\n iconName: 'trash-xmark',\n icon: [448, 512, [], \"e2b4\", \"M164.2 39.5L148.9 64H299.1L283.8 39.5c-2.9-4.7-8.1-7.5-13.6-7.5H177.7c-5.5 0-10.6 2.8-13.6 7.5zM311 22.6L336.9 64h47.1H416h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H413.7L388.2 452.6C385.9 486.1 358 512 324.4 512H123.6c-33.6 0-61.4-25.9-63.8-59.4L34.3 96H16C7.2 96 0 88.8 0 80s7.2-16 16-16H32 64.1h47.1L137 22.6C145.8 8.5 161.2 0 177.7 0h92.5c16.6 0 31.9 8.5 40.7 22.6zM66.4 96L91.7 450.3C92.9 467 106.8 480 123.6 480H324.4c16.8 0 30.7-13 31.9-29.7L381.6 96H66.4zm82.3 116.7c6.2-6.2 16.4-6.2 22.6 0L224 265.4l52.7-52.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L246.6 288l52.7 52.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L224 310.6l-52.7 52.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L201.4 288l-52.7-52.7c-6.2-6.2-6.2-16.4 0-22.6z\"]\n};\nvar faCircleCaretLeft = {\n prefix: 'fal',\n iconName: 'circle-caret-left',\n icon: [512, 512, [\"caret-circle-left\"], \"f32e\", \"M32 256a224 224 0 1 1 448 0A224 224 0 1 1 32 256zm480 0A256 256 0 1 0 0 256a256 256 0 1 0 512 0zm-352 0c0 9.6 4 18.7 11 25.2l102.8 95.5c5.1 4.7 11.8 7.3 18.7 7.3c15.2 0 27.5-12.3 27.5-27.5l0-201c0-15.2-12.3-27.5-27.5-27.5c-6.9 0-13.6 2.6-18.7 7.3L171 230.8c-7 6.5-11 15.6-11 25.2zm32.7 1.7c-.5-.4-.7-1.1-.7-1.7s.3-1.3 .7-1.7L288 165.8l0 180.3-95.3-88.4z\"]\n};\nvar faCaretCircleLeft = faCircleCaretLeft;\nvar faFiles = {\n prefix: 'fal',\n iconName: 'files',\n icon: [448, 512, [], \"e178\", \"M160 384c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H304v80c0 17.7 14.3 32 32 32h80c0 .3 0 .5 0 .8V352c0 17.7-14.3 32-32 32H160zM336 57.5L390 112H336V57.5zM160 0C124.7 0 96 28.7 96 64V352c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V144.8c0-12.7-5-24.8-13.9-33.8l-96-96.8C329.1 5.1 316.8 0 304 0H160zM32 112c0-8.8-7.2-16-16-16s-16 7.2-16 16V384c0 70.7 57.3 128 128 128H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H128c-53 0-96-43-96-96V112z\"]\n};\nvar faAnchorCircleExclamation = {\n prefix: 'fal',\n iconName: 'anchor-circle-exclamation',\n icon: [640, 512, [], \"e4ab\", \"M336 80a48 48 0 1 1 -96 0 48 48 0 1 1 96 0zM288 0c-44.2 0-80 35.8-80 80c0 38.7 27.5 71 64.1 78.4c-.1 .5-.1 1-.1 1.6v32H208c-8.8 0-16 7.2-16 16s7.2 16 16 16h64V480H240c-79.5 0-144-64.5-144-144V310.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-64-64c-6.2-6.2-16.4-6.2-22.6 0l-64 64c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L64 310.6V336c0 97.2 78.8 176 176 176h48 48c17.2 0 33.8-2.5 49.5-7c-9.8-7.9-18.8-16.9-26.7-26.7c-7.4 1.2-15 1.8-22.8 1.8H304V224h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H304V160c0-.5 0-1.1-.1-1.6C340.5 151 368 118.7 368 80c0-44.2-35.8-80-80-80zm96 368a112 112 0 1 1 224 0 112 112 0 1 1 -224 0zm256 0a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zM496 448a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-160c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V304c0-8.8-7.2-16-16-16z\"]\n};\nvar faFaceClouds = {\n prefix: 'fal',\n iconName: 'face-clouds',\n icon: [640, 512, [], \"e47d\", \"M99.8 54.9C97.2 60.4 91.6 64 85.4 64H64C46.3 64 32 78.3 32 96s14.3 32 32 32H216c22.1 0 40-17.9 40-40s-17.9-40-40-40c-8.7 0-16.6 2.7-23.2 7.4c-3.6 2.6-8.1 3.5-12.4 2.7s-8.1-3.5-10.4-7.2C162.9 39.5 150.3 32 136 32c-15.9 0-29.7 9.3-36.2 22.9zM136 0c20.3 0 38.6 8.4 51.6 21.8c8.7-3.7 18.3-5.8 28.4-5.8c39.8 0 72 32.2 72 72s-32.2 72-72 72H64C28.7 160 0 131.3 0 96S28.7 32 64 32H76.1C89 12.7 111 0 136 0zM288.3 1.9C298.7 .7 309.3 0 320 0C461.4 0 576 114.6 576 256c0 7.3-.3 14.5-.9 21.7c-9.4-6-20-10.2-31.3-12.2c.1-3.1 .2-6.3 .2-9.4C544 132.3 443.7 32 320 32c-3.6 0-7.1 .1-10.7 .2C304 21 296.9 10.8 288.3 1.9zM96 256c0 90.7 54 168.9 131.6 204.1c4 15.5 11.2 29.7 20.9 41.8C141.9 470.9 64 372.6 64 256c0-22.1 2.8-43.5 8.1-64h33.2c-6 20.3-9.3 41.8-9.3 64zm120.4-48a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm184-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM416 304c-35.3 0-64 28.7-64 64c0 8.8-7.2 16-16 16c-26.5 0-48 21.5-48 48s21.5 48 48 48H560c26.5 0 48-21.5 48-48c0-24.7-18.6-45-42.5-47.7c-4.4-.5-8.4-2.8-11-6.3s-3.7-8-2.9-12.4c.3-1.8 .5-3.7 .5-5.6c0-17.7-14.3-32-32-32c-9.2 0-17.6 3.9-23.4 10.2c-3.4 3.7-8.4 5.5-13.4 5s-9.5-3.4-12-7.8C459.9 316.6 439.4 304 416 304zm-94.9 49.4c7-46.1 46.8-81.4 94.9-81.4c28.7 0 54.5 12.6 72 32.5c9.4-5.4 20.3-8.5 32-8.5c33.9 0 61.6 26.3 63.9 59.6C616.4 365.8 640 396.1 640 432c0 44.2-35.8 80-80 80H336c-44.2 0-80-35.8-80-80c0-39.1 28-71.6 65.1-78.6z\"]\n};\nvar faUserCrown = {\n prefix: 'fal',\n iconName: 'user-crown',\n icon: [448, 512, [], \"f6a4\", \"M238.7 4.4C234.3 1.5 229.2 0 224 0s-10.3 1.5-14.7 4.4L176.9 26.1c-5.4 3.6-12.4 3.6-17.8 0L124 2.7C121.4 .9 118.3 0 115.2 0H112c-8.8 0-16 7.2-16 16V128v16c0 70.7 57.3 128 128 128s128-57.3 128-128V128 16c0-8.8-7.2-16-16-16h-3.2c-3.2 0-6.2 .9-8.9 2.7L288.9 26.1c-5.4 3.6-12.4 3.6-17.8 0L238.7 4.4zM320 112H128V43.8l13.4 8.9c16.1 10.7 37.1 10.7 53.3 0L224 33.1l29.4 19.6c16.1 10.7 37.1 10.7 53.3 0L320 43.8V112zM128 144H320c0 53-43 96-96 96s-96-43-96-96zm40 192H280c75.1 0 136 60.9 136 136v8H32v-8c0-75.1 60.9-136 136-136zm0-32C75.2 304 0 379.2 0 472v8c0 17.7 14.3 32 32 32H416c17.7 0 32-14.3 32-32v-8c0-92.8-75.2-168-168-168H168z\"]\n};\nvar faBasketShoppingPlus = {\n prefix: 'fal',\n iconName: 'basket-shopping-plus',\n icon: [576, 512, [], \"e653\", \"M322.2 24.1c-4.5-7.6-1.9-17.4 5.8-21.9s17.4-1.9 21.9 5.8L457.2 192H511h33 16c8.8 0 16 7.2 16 16s-7.2 16-16 16H536L476.1 463.5C469 492 443.4 512 414 512H162c-29.4 0-55-20-62.1-48.5L40 224H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H32 65h53.8L226.2 7.9c4.5-7.6 14.2-10.2 21.9-5.8s10.2 14.2 5.8 21.9L155.9 192H420.1l-98-167.9zM503 224H73l57.9 231.8c3.6 14.2 16.4 24.2 31 24.2H414c14.7 0 27.5-10 31-24.2L503 224zM192 352c0-8.8 7.2-16 16-16h64V272c0-8.8 7.2-16 16-16s16 7.2 16 16v64h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H304v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V368H208c-8.8 0-16-7.2-16-16z\"]\n};\nvar faTruckField = {\n prefix: 'fal',\n iconName: 'truck-field',\n icon: [640, 512, [], \"e58d\", \"M320 64c17.7 0 32 14.3 32 32v96 32V352H250.5c-13.2-37.3-48.7-64-90.5-64s-77.4 26.7-90.5 64H64V288 128 96c0-17.7 14.3-32 32-32H320zM32 128c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32v64H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H32 64c0 53 43 96 96 96s96-43 96-96h96 32c0 53 43 96 96 96s96-43 96-96h32 16c8.8 0 16-7.2 16-16s-7.2-16-16-16H608V256c0-35.3-28.7-64-64-64H521.6l-42.4-78.8C470.8 97.7 454.5 88 436.9 88H383.5c-3.9-31.6-30.9-56-63.5-56H96C60.7 32 32 60.7 32 96v32zm352 64V120h52.9c5.9 0 11.3 3.2 14.1 8.4L485.2 192H384zm5.5 160H384V224H511.7c.2 0 .4 0 .6 0H544c17.7 0 32 14.3 32 32v96h-5.5c-13.2-37.3-48.7-64-90.5-64s-77.4 26.7-90.5 64zM96 384a64 64 0 1 1 128 0A64 64 0 1 1 96 384zm384-64a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]\n};\nvar faRoute = {\n prefix: 'fal',\n iconName: 'route',\n icon: [512, 512, [], \"f4d7\", \"M452.1 164.2c-11.7 18.7-25 36.5-36.1 50.4c-11.1-13.9-24.4-31.7-36.1-50.4C362.1 135.7 352 111.2 352 96c0-35.3 28.7-64 64-64s64 28.7 64 64c0 15.2-10.1 39.7-27.9 68.2zM427.4 251C452.9 221.1 512 146.2 512 96c0-53-43-96-96-96s-96 43-96 96c0 38.7 35 91.9 62.7 128H336c-44.2 0-80 35.8-80 80s35.8 80 80 80h96c26.5 0 48 21.5 48 48s-21.5 48-48 48H166c-9.4 12.3-18.6 23.2-26.4 32H432c44.2 0 80-35.8 80-80s-35.8-80-80-80H336c-26.5 0-48-21.5-48-48s21.5-48 48-48h76.9c5.1 1.1 10.7-.6 14.5-5zM132.2 417.2C120.5 435 107.1 451.7 96 464.6C84.9 451.7 71.5 435 59.8 417.2C41.9 390.3 32 367 32 352c0-35.3 28.7-64 64-64s64 28.7 64 64c0 15-9.9 38.3-27.8 65.2zm-7.6 63.1C152.9 446.7 192 392.8 192 352c0-53-43-96-96-96s-96 43-96 96c0 50.5 59.8 121 85 148.4c6 6.5 16 6.5 21.9 0c1.6-1.7 3.3-3.6 5.1-5.6c1.8-2 3.8-4.2 5.8-6.6c2.2-2.5 4.4-5.1 6.7-7.9zM440 96a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM96 376a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faCartCircleCheck = {\n prefix: 'fal',\n iconName: 'cart-circle-check',\n icon: [640, 512, [], \"e3f1\", \"M16 0C7.2 0 0 7.2 0 16s7.2 16 16 16H53.9c7.6 0 14.2 5.3 15.7 12.8l58.9 288c6.1 29.8 32.3 51.2 62.7 51.2H320.7c-.5-5.3-.7-10.6-.7-16s.2-10.7 .7-16H191.2c-15.2 0-28.3-10.7-31.4-25.6L152 288H339.2c5.9-11.4 12.9-22.2 21-32H145.4L106.1 64H539.5L507.4 192.4c10.9 .7 21.5 2.4 31.7 5L570.6 71.8c5-20.2-10.2-39.8-31-39.8H99.1C92.5 13 74.4 0 53.9 0H16zM168 456a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm80 0a56 56 0 1 0 -112 0 56 56 0 1 0 112 0zM496 256a112 112 0 1 1 0 224 112 112 0 1 1 0-224zm0 256a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm67.3-187.3c-6.2-6.2-16.4-6.2-22.6 0L480 385.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nvar faClipboardQuestion = {\n prefix: 'fal',\n iconName: 'clipboard-question',\n icon: [384, 512, [], \"e4e3\", \"M145.5 68c5.3-20.7 24.1-36 46.5-36s41.2 15.3 46.5 36c1.8 7.1 8.2 12 15.5 12h18c8.8 0 16 7.2 16 16v32H192 96V96c0-8.8 7.2-16 16-16h18c7.3 0 13.7-4.9 15.5-12zM192 0c-32.8 0-61 19.8-73.3 48H112C91.1 48 73.3 61.4 66.7 80H64C28.7 80 0 108.7 0 144V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V144c0-35.3-28.7-64-64-64h-2.7c-6.6-18.6-24.4-32-45.3-32h-6.7C253 19.8 224.8 0 192 0zM320 112c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V144c0-17.7 14.3-32 32-32v16c0 17.7 14.3 32 32 32h96 96c17.7 0 32-14.3 32-32V112zM208 80a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM104.7 233.8l-.2 .7c-2.2 8.5 2.9 17.3 11.4 19.5s17.3-2.9 19.5-11.4l.2-.7c2.8-10.6 12.3-17.9 23.2-17.9H216c17.6 0 32 14.5 32 32.3c0 12.1-6.8 23.2-17.5 28.7l-45.8 23.4c-5.4 2.7-8.7 8.2-8.7 14.3V352c0 8.8 7.2 16 16 16s16-7.2 16-16V332.3l37.1-18.9c21.5-11 34.9-33.2 34.9-57.2c0-35.2-28.5-64.3-64-64.3H158.9c-25.5 0-47.7 17.2-54.2 41.8zM216 416a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faPanorama = {\n prefix: 'fal',\n iconName: 'panorama',\n icon: [640, 512, [], \"e209\", \"M45.6 64C38.1 64 32 70.1 32 77.6V434.4c0 7.5 6.1 13.6 13.6 13.6c1.6 0 3-.2 4.5-.7c2.5-.8 7.1-2.3 13.6-4.3l3.4-4.6L198.4 263.5c12.8-17.1 38.4-17.1 51.2 0L280 304l78.4-104.5c12.8-17.1 38.4-17.1 51.2 0L588.8 438.4l7.1 9.5c6.8-.8 12.1-6.5 12.1-13.5V77.6c0-7.5-6.1-13.6-13.6-13.6c-1.6 0-3 .2-4.5 .7C573.6 70.2 467.1 104 320 104S66.4 70.2 50.2 64.7c-1.5-.5-3-.7-4.5-.7zM546.1 434.9L384 218.7 292.8 340.3l-53.3 71.1c25.1-2.1 52-3.4 80.5-3.4c98.6 0 179 15.2 226.1 26.9zM196 415.9l64-85.3-36-48L113.3 430.3c22.7-5 50.6-10.2 82.8-14.4zM60.4 477.6c-4.7 1.6-9.7 2.4-14.7 2.4C20.4 480 0 459.6 0 434.4V77.6C0 52.4 20.4 32 45.6 32c5.1 0 10 .8 14.7 2.4C74.6 39.2 177.6 72 320 72s245.4-32.8 259.6-37.6c4.7-1.6 9.7-2.4 14.7-2.4C619.6 32 640 52.4 640 77.6V434.4c0 25.2-20.4 45.6-45.6 45.6c-5 0-10-.8-14.7-2.4C565.4 472.8 462.4 440 320 440s-245.4 32.8-259.6 37.6zM112 184a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faCommentMedical = {\n prefix: 'fal',\n iconName: 'comment-medical',\n icon: [512, 512, [], \"f7f5\", \"M32 240c0-91.4 93.8-176 224-176s224 84.6 224 176s-93.8 176-224 176c-32 0-63-5.9-93.5-16.2c-9.9-3.3-20.7-1.8-29.2 4.2c-15.4 10.7-31.4 20-48.4 27.4L91.2 446l-6.4-14.7c-10.5 4.6-21.5 8.6-32.7 11.5c.5-.9 1.1-1.8 1.6-2.6C68 416.5 76.3 391 79.4 363.9c1-9.2-2.1-17.7-7.4-23.9c-24.5-29.4-40-62.9-40-100zM256 32C114.5 32 0 125.2 0 240c0 46.6 19.6 87.1 47.4 120.5c0 .1 .1 .1 .1 .2c-2.6 22.6-9.5 43.5-21.3 63.1c-6.5 10.8-13.5 20.8-21.7 29c-4.5 4.6-5.9 11.5-3.4 17.4s8.3 9.8 14.8 9.8c28.7 0 57.6-8.9 81.6-19.3c19.2-8.4 37.1-18.7 53.9-30.5c.2-.1 .5-.2 .7-.1C185.5 441.3 220 448 256 448c141.5 0 256-93.2 256-208S397.5 32 256 32zm-16 96c-17.7 0-32 14.3-32 32v32H176c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32h32v32c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V288h32c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32H304V160c0-17.7-14.3-32-32-32H240zm0 80V160h32v48c0 8.8 7.2 16 16 16h48v32H288c-8.8 0-16 7.2-16 16v48H240V272c0-8.8-7.2-16-16-16H176V224h48c4.2 0 8.3-1.7 11.3-4.7s4.7-7.1 4.7-11.3z\"]\n};\nvar faTeethOpen = {\n prefix: 'fal',\n iconName: 'teeth-open',\n icon: [576, 512, [], \"f62f\", \"M96 64H480c35.3 0 64 28.7 64 64v64c0 17.7-14.3 32-32 32V192c0-35.3-28.7-64-64-64c-14 0-27 4.5-37.6 12.2C399.5 114.2 373.9 96 344 96c-22.6 0-42.8 10.4-56 26.7C274.8 106.4 254.6 96 232 96c-29.9 0-55.5 18.2-66.4 44.2C155 132.5 142 128 128 128c-35.3 0-64 28.7-64 64l0 32c-17.7 0-32-14.3-32-32V128c0-35.3 28.7-64 64-64zM416 224V192c0-17.7 14.3-32 32-32s32 14.3 32 32v32H416zm-112 0V168c0-22.1 17.9-40 40-40s40 17.9 40 40v24 32H304zm-72-96c22.1 0 40 17.9 40 40v56H192V192 168c0-22.1 17.9-40 40-40zM176 256H288 400h96 16c35.3 0 64-28.7 64-64V128c0-53-43-96-96-96H96C43 32 0 75 0 128v64c0 35.3 28.7 64 64 64H80h96zm-16-64v32H96V192c0-17.7 14.3-32 32-32s32 14.3 32 32zM480 448H96c-35.3 0-64-28.7-64-64V352c0-17.7 14.3-32 32-32l0 32c0 35.3 28.7 64 64 64c16.8 0 32-6.5 43.5-17c12.8 19.9 35.1 33 60.5 33c22.6 0 42.8-10.4 56-26.7c13.2 16.3 33.4 26.7 56 26.7c25.4 0 47.7-13.2 60.5-33c11.4 10.6 26.7 17 43.5 17c35.3 0 64-28.7 64-64V320c17.7 0 32 14.3 32 32v32c0 35.3-28.7 64-64 64zM272 360c0 22.1-17.9 40-40 40s-40-17.9-40-40v-8V320h80v40zm16-72H176 80 64c-35.3 0-64 28.7-64 64v32c0 53 43 96 96 96H480c53 0 96-43 96-96V352c0-35.3-28.7-64-64-64H496 400 288zm128 32h64v32c0 17.7-14.3 32-32 32s-32-14.3-32-32V320zm-32 32v8c0 22.1-17.9 40-40 40s-40-17.9-40-40V320h80v32zm-224 0c0 17.7-14.3 32-32 32s-32-14.3-32-32V320h64v32z\"]\n};\nvar faUserTieHairLong = {\n prefix: 'fal',\n iconName: 'user-tie-hair-long',\n icon: [448, 512, [], \"e460\", \"M320 128c0-5.5-.5-10.8-1.3-16H288.6c-14.9 0-29.1-5.9-39.6-16.4l-6.3-6.3C223.4 113.5 194 128 162.3 128L128 128v16c0 53 43 96 96 96s96-43 96-96V128zM224 0c70.7 0 128 57.3 128 128c0 35.3 16.6 68.4 44.8 89.6l4.3 3.2c9.4 7.1 14.9 18.1 14.9 29.9c0 20.6-16.7 37.3-37.3 37.3H320c-8.8 0-16-7.2-16-16s7.2-16 16-16h58.7c2.9 0 5.3-2.4 5.3-5.3c0-1.7-.8-3.3-2.1-4.3l-4.3-3.2c-15.8-11.9-28.8-26.7-38.4-43.4C318.5 242.6 274.7 272 224 272s-94.5-29.4-115.2-72.2c-9.6 16.7-22.6 31.5-38.4 43.4l-4.3 3.2c-1.3 1-2.1 2.6-2.1 4.3c0 2.9 2.4 5.3 5.3 5.3H128c8.8 0 16 7.2 16 16s-7.2 16-16 16H69.3C48.7 288 32 271.3 32 250.7c0-11.8 5.5-22.8 14.9-29.9l4.3-3.2C79.4 196.4 96 163.3 96 128C96 57.3 153.3 0 224 0zm4.7 52.7c6.2-6.2 16.4-6.2 22.6 0L271.6 73c4.5 4.5 10.6 7 17 7h18.6C290.6 51.3 259.5 32 224 32c-41.8 0-77.4 26.7-90.5 64h28.9c26.7 0 51.2-15 63.2-38.9c.8-1.6 1.8-3.1 3.1-4.5zM180.4 477.9L124.7 357.2C71.5 372.9 32.6 421.9 32 480H181.4c-.3-.7-.7-1.4-1-2.1zM416 480c-.6-58.1-39.5-107.1-92.7-122.8L267.6 477.9c-.3 .7-.7 1.4-1 2.1H416zM131.8 322.7c6.8-1.3 13.4 2.5 16.3 8.8L180.1 401l21.7-65H192c-8.8 0-16-7.2-16-16s7.2-16 16-16h32 32c8.8 0 16 7.2 16 16s-7.2 16-16 16h-9.8l21.7 65 32.1-69.5c2.9-6.3 9.5-10 16.3-8.8c75 13.8 131.8 79.6 131.8 158.6c0 17-13.8 30.7-30.7 30.7H30.7C13.8 512 0 498.2 0 481.3c0-79 56.8-144.7 131.8-158.6zM248.3 443.4L224 370.6l-24.3 72.8 9.7 21.1c5.7 12.4 23.3 12.4 29.1 0l9.7-21.1z\"]\n};\nvar faFileCircleMinus = {\n prefix: 'fal',\n iconName: 'file-circle-minus',\n icon: [576, 512, [], \"e4ed\", \"M64 480H296.2c9.8 11.8 21 22.3 33.5 31.3c-3.2 .5-6.4 .7-9.7 .7H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H220.1c12.7 0 24.9 5.1 33.9 14.1L369.9 129.9c9 9 14.1 21.2 14.1 33.9v34.7c-11.2 3.2-21.9 7.4-32 12.6V192H240c-26.5 0-48-21.5-48-48V32H64C46.3 32 32 46.3 32 64V448c0 17.7 14.3 32 32 32zM351.5 160c-.7-2.8-2.1-5.4-4.2-7.4L231.4 36.7c-2.1-2.1-4.6-3.5-7.4-4.2V144c0 8.8 7.2 16 16 16H351.5zM432 480a112 112 0 1 0 0-224 112 112 0 1 0 0 224zm0-256a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm80 144c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16s7.2-16 16-16H496c8.8 0 16 7.2 16 16z\"]\n};\nvar faHeadSideMedical = {\n prefix: 'fal',\n iconName: 'head-side-medical',\n icon: [512, 512, [], \"f809\", \"M32 224C32 118 118 32 224 32h16c66.1 0 127.1 40 153.8 96.9c3.2 6.9 6.5 14.2 9.9 21.7l0 0 0 0c6.2 13.9 12.7 28.5 19.8 42c11.1 21.3 24.8 42.3 44 59.4l3.2 2.8c6 5.3 9.5 13 9.5 21.1c0 15.6-12.6 28.2-28.2 28.2H432c-8.8 0-16 7.2-16 16v64c0 17.7-14.3 32-32 32H304c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V448h64c35.3 0 64-28.7 64-64V336h3.8c33.2 0 60.2-26.9 60.2-60.2c0-17.2-7.4-33.6-20.2-45l-3.2-2.8c-15.1-13.5-26.6-30.6-36.9-50.3c-6.7-12.7-12.3-25.5-18.2-38.7l0 0c-3.5-7.8-7-15.7-10.8-23.8C390.8 47.3 318.6 0 240 0H224C100.3 0 0 100.3 0 224c0 52.9 18.4 101.6 49.1 140C58.5 375.6 64 388.6 64 401.4V496c0 8.8 7.2 16 16 16s16-7.2 16-16V401.4c0-22.1-9.5-41.9-21.9-57.4C47.7 311.1 32 269.4 32 224zM224 96c-17.7 0-32 14.3-32 32v32H160c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32h32v32c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V256h32c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32H288V128c0-17.7-14.3-32-32-32H224zm0 80V128h32v48c0 8.8 7.2 16 16 16h48v32H272c-8.8 0-16 7.2-16 16v48H224V240c0-8.8-7.2-16-16-16H160V192h48c4.2 0 8.3-1.7 11.3-4.7s4.7-7.1 4.7-11.3z\"]\n};\nvar faArrowTurnRight = {\n prefix: 'fal',\n iconName: 'arrow-turn-right',\n icon: [512, 512, [], \"e635\", \"M379.3 363.3c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L457.4 240H80c-26.5 0-48 21.5-48 48V464c0 8.8-7.2 16-16 16s-16-7.2-16-16V288c0-44.2 35.8-80 80-80H457.4L356.7 107.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l128 128c6.2 6.2 6.2 16.4 0 22.6l-128 128z\"]\n};\nvar faTags = {\n prefix: 'fal',\n iconName: 'tags',\n icon: [512, 512, [], \"f02c\", \"M204.1 32c12.7 0 24.9 5.1 33.9 14.1L410.7 218.7c25 25 25 65.5 0 90.5L277.3 442.7c-25 25-65.5 25-90.5 0L14.1 270.1c-9-9-14.1-21.2-14.1-33.9V80C0 53.5 21.5 32 48 32H204.1zM36.7 247.4L209.4 420.1c12.5 12.5 32.8 12.5 45.3 0L388.1 286.6c12.5-12.5 12.5-32.8 0-45.3L215.4 68.7c-3-3-7.1-4.7-11.3-4.7H48c-8.8 0-16 7.2-16 16V236.1c0 4.2 1.7 8.3 4.7 11.3zM308.4 36.9c6.1-6.4 16.2-6.6 22.6-.5l141.3 135c52.8 50.4 52.8 134.7 0 185.1l-124.6 119c-6.4 6.1-16.5 5.9-22.6-.5s-5.9-16.5 .5-22.6l124.6-119c39.6-37.8 39.6-101 0-138.8L308.9 59.6c-6.4-6.1-6.6-16.2-.5-22.6zM104 112a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faWineGlass = {\n prefix: 'fal',\n iconName: 'wine-glass',\n icon: [320, 512, [127863], \"f4e3\", \"M49.6 160H270.4l3.2 35.6C279.7 262.4 227.1 320 160 320S40.3 262.4 46.4 195.6L49.6 160zm2.9-32l8.7-96 197.6 0 8.7 96H52.5zM29.4 29.1L14.5 192.7C7.2 272.8 65.9 342.7 144 351.1V480H80c-8.8 0-16 7.2-16 16s7.2 16 16 16h80 80c8.8 0 16-7.2 16-16s-7.2-16-16-16H176V351.1c78.1-8.5 136.8-78.3 129.5-158.5L290.6 29.1C289.1 12.6 275.3 0 258.8 0H61.2C44.7 0 30.9 12.6 29.4 29.1z\"]\n};\nvar faForwardFast = {\n prefix: 'fal',\n iconName: 'forward-fast',\n icon: [512, 512, [9197, \"fast-forward\"], \"f050\", \"M496 64c-8.8 0-16 7.2-16 16V215.8L301.4 70.2c-5-4-11.2-6.2-17.6-6.2C268.4 64 256 76.4 256 91.8V241.9L45.4 70.2c-5-4-11.2-6.2-17.6-6.2C12.4 64 0 76.4 0 91.8V420.2C0 435.6 12.4 448 27.8 448c6.4 0 12.6-2.2 17.6-6.2L256 270.1V420.2c0 15.4 12.4 27.8 27.8 27.8c6.4 0 12.6-2.2 17.6-6.2L480 296.2V432c0 8.8 7.2 16 16 16s16-7.2 16-16V270.1 241.9 80c0-8.8-7.2-16-16-16zM478.7 256L288 411.4V100.6L478.7 256zM32 100.6L222.7 256 32 411.4V100.6z\"]\n};\nvar faFastForward = faForwardFast;\nvar faFaceMehBlank = {\n prefix: 'fal',\n iconName: 'face-meh-blank',\n icon: [512, 512, [128566, \"meh-blank\"], \"f5a4\", \"M256 32a224 224 0 1 0 0 448 224 224 0 1 0 0-448zM512 256A256 256 0 1 1 0 256a256 256 0 1 1 512 0zM152.4 208a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm184-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faMehBlank = faFaceMehBlank;\nvar faUserRobot = {\n prefix: 'fal',\n iconName: 'user-robot',\n icon: [448, 512, [], \"e04b\", \"M240 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V64H144c-44.2 0-80 35.8-80 80v96c0 44.2 35.8 80 80 80H304c44.2 0 80-35.8 80-80V144c0-44.2-35.8-80-80-80H240V16zM96 144c0-26.5 21.5-48 48-48H304c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48V256c0-8.8-7.2-16-16-16s-16 7.2-16 16v32H240V256c0-8.8-7.2-16-16-16s-16 7.2-16 16v32H176V256c0-8.8-7.2-16-16-16s-16 7.2-16 16v32c-26.5 0-48-21.5-48-48V144zM16 128c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V144c0-8.8-7.2-16-16-16zm432 16c0-8.8-7.2-16-16-16s-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V144zM160 176a16 16 0 1 1 0-32 16 16 0 1 1 0 32zm-48-16a48 48 0 1 0 96 0 48 48 0 1 0 -96 0zm192 0a16 16 0 1 1 -32 0 16 16 0 1 1 32 0zm-16-48a48 48 0 1 0 0 96 48 48 0 1 0 0-96zM96 384H352c35.3 0 64 28.7 64 64v16c0 8.8-7.2 16-16 16H368V448c0-17.7-14.3-32-32-32H288 224 112c-17.7 0-32 14.3-32 32v32H48c-8.8 0-16-7.2-16-16V448c0-35.3 28.7-64 64-64zm112 64v32H176V448h32zm-96 0h32v32H112V448zm112 64h64 48 32 32c26.5 0 48-21.5 48-48V448c0-53-43-96-96-96H96c-53 0-96 43-96 96v16c0 26.5 21.5 48 48 48H80h32 48 64zm16-64h32v32H240V448zm96 0v32H304V448h32z\"]\n};\nvar faSquareParking = {\n prefix: 'fal',\n iconName: 'square-parking',\n icon: [448, 512, [127359, \"parking\"], \"f540\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM176 288h80c35.3 0 64-28.7 64-64s-28.7-64-64-64H176V288zm80 32H176v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V304 152c0-13.3 10.7-24 24-24h88c53 0 96 43 96 96s-43 96-96 96z\"]\n};\nvar faParking = faSquareParking;\nvar faCardDiamond = {\n prefix: 'fal',\n iconName: 'card-diamond',\n icon: [384, 512, [], \"e3ea\", \"M64 32C46.3 32 32 46.3 32 64V448c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H64zM0 64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zm203.3 84.7l96 96c6.2 6.2 6.2 16.4 0 22.6l-96 96c-6.2 6.2-16.4 6.2-22.6 0l-96-96c-6.2-6.2-6.2-16.4 0-22.6l96-96c6.2-6.2 16.4-6.2 22.6 0zM192 329.4L265.4 256 192 182.6 118.6 256 192 329.4z\"]\n};\nvar faFaceZipper = {\n prefix: 'fal',\n iconName: 'face-zipper',\n icon: [512, 512, [], \"e3a5\", \"M32 256C32 132.3 132.3 32 256 32s224 100.3 224 224c0 10.1-.7 20.1-2 29.9c-1.2 8.8 5 16.8 13.7 18s16.8-5 18-13.7c1.5-11.2 2.3-22.6 2.3-34.1C512 114.6 397.4 0 256 0S0 114.6 0 256S114.6 512 256 512c32.4 0 63.5-6 92.1-17.1c8.2-3.2 12.4-12.4 9.2-20.7s-12.4-12.4-20.7-9.2c-25 9.6-52.1 14.9-80.6 14.9C132.3 480 32 379.7 32 256zm192 80c0-8.8-7.2-16-16-16s-16 7.2-16 16v32c0 8.8 7.2 16 16 16s16-7.2 16-16V336zm48-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16s16-7.2 16-16V336c0-8.8-7.2-16-16-16zM160 336c0-8.8-7.2-16-16-16s-16 7.2-16 16v32c0 8.8 7.2 16 16 16s16-7.2 16-16V336zm40.4-128a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm136 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm34.7 84.7l-22.5 22.5c-9.6 9.6-12.1 24.1-6.3 36.3l29.2 61.8c21.7 45.9 82.3 56.4 118.2 20.5s25.4-96.5-20.5-118.2l-61.8-29.2c-12.2-5.8-26.7-3.2-36.3 6.3zm84.4 51.8c25.9 12.2 31.8 46.4 11.6 66.6s-54.4 14.3-66.6-11.6l-29.2-61.8 22.5-22.5 61.8 29.2zm1 40c4.7-4.7 4.7-12.3 0-17s-12.3-4.7-17 0l-16 16c-4.7 4.7-4.7 12.3 0 17s12.3 4.7 17 0l16-16z\"]\n};\nvar faFaceRaisedEyebrow = {\n prefix: 'fal',\n iconName: 'face-raised-eyebrow',\n icon: [512, 512, [], \"e388\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM200.4 240a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm136 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm29.4-118.5l4.9 7.4c4.9 7.4 14.8 9.3 22.2 4.4s9.3-14.8 4.4-22.2l-4.9-7.4c-19.6-29.4-61.2-33.5-86.2-8.5l-29.5 29.5c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l29.5-29.5c10.7-10.7 28.5-8.9 36.9 3.7zM112 160c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H128c-8.8 0-16 7.2-16 16zm64 176c-8.8 0-16 7.2-16 16s7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H176z\"]\n};\nvar faHouseSignal = {\n prefix: 'fal',\n iconName: 'house-signal',\n icon: [576, 512, [], \"e012\", \"M325.6 3.9c6-5.1 14.8-5.1 20.8 0l224 192c6.7 5.8 7.5 15.9 1.7 22.6s-15.8 7.5-22.6 1.7L512 187.9V352c0 35.3-28.7 64-64 64H278.1c-3.1-11-6.9-21.7-11.3-32H448c17.7 0 32-14.3 32-32V160.5L336 37.1 192 160.5V284.3c-10.1-8.3-20.8-15.9-32-22.7V187.9l-37.6 32.2c-6.7 5.8-16.8 5-22.6-1.7s-5-16.8 1.7-22.6l224-192zM304 176h64c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H304c-17.7 0-32-14.3-32-32V208c0-17.7 14.3-32 32-32zm0 32v64h64V208H304zM16 256c132.5 0 240 107.5 240 240c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-114.9-93.1-208-208-208c-8.8 0-16-7.2-16-16s7.2-16 16-16zM32 448a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM0 368c0-8.8 7.2-16 16-16c79.5 0 144 64.5 144 144c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-61.9-50.1-112-112-112c-8.8 0-16-7.2-16-16z\"]\n};\nvar faSquareChevronUp = {\n prefix: 'fal',\n iconName: 'square-chevron-up',\n icon: [448, 512, [\"chevron-square-up\"], \"f32c\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm235.3 68.7l112 112c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L224 198.6 123.3 299.3c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l112-112c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faChevronSquareUp = faSquareChevronUp;\nvar faNfcSymbol = {\n prefix: 'fal',\n iconName: 'nfc-symbol',\n icon: [512, 512, [], \"e531\", \"M367.2 475.6c5.1 4.9 12.9 5.8 19 2.2C462.2 433.9 513.1 349.8 513.1 256s-50.9-177.9-126.8-221.8c-7.6-4.4-17.4-1.8-21.9 5.8s-1.8 17.4 5.8 21.9C436.4 100.1 481.1 173.8 481.1 256c0 78-40.2 148.2-100.8 187.9L203 276.4c-6.4-6.1-16.5-5.8-22.6 .6s-5.8 16.5 .6 22.6l186.2 176zM145.9 36.4c-5.1-4.9-12.9-5.8-19-2.3C50.9 78.1 0 162.2 0 256s50.9 177.9 126.8 221.8c7.6 4.4 17.4 1.8 21.9-5.8s1.8-17.4-5.8-21.9C76.7 411.9 32 338.2 32 256c0-77.9 40.2-148.2 100.8-187.9L309 235.6c6.4 6.1 16.5 5.8 22.6-.6s5.8-16.5-.6-22.6L145.9 36.4z\"]\n};\nvar faBarsProgress = {\n prefix: 'fal',\n iconName: 'bars-progress',\n icon: [512, 512, [\"tasks-alt\"], \"f828\", \"M464 96c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H320V96H464zM48 96H288v96H48c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zm0-32C21.5 64 0 85.5 0 112v64c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48H48zM464 320c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H192V320H464zM48 320H160v96H48c-8.8 0-16-7.2-16-16V336c0-8.8 7.2-16 16-16zm0-32c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V336c0-26.5-21.5-48-48-48H48z\"]\n};\nvar faTasksAlt = faBarsProgress;\nvar faFaucetDrip = {\n prefix: 'fal',\n iconName: 'faucet-drip',\n icon: [512, 512, [128688], \"e006\", \"M240 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V32H80c-8.8 0-16 7.2-16 16s7.2 16 16 16H208v48H189.3c-12.7 0-24.9 5.1-33.9 14.1L121.4 160H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H128c4.2 0 8.3-1.7 11.3-4.7l38.6-38.6c3-3 7.1-4.7 11.3-4.7H224h34.7c4.2 0 8.3 1.7 11.3 4.7l38.6 38.6c3 3 7.1 4.7 11.3 4.7h48c61.9 0 112 50.1 112 112c0 8.8-7.2 16-16 16H432c-8.8 0-16-7.2-16-16c0-26.5-21.5-48-48-48H307.2c-5.7 0-11 3-13.8 8c-13.9 24-39.7 40-69.3 40s-55.5-16.1-69.3-40c-2.9-4.9-8.1-8-13.8-8H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H132.1c20.2 29 53.8 48 91.9 48s71.7-19 91.9-48H368c8.8 0 16 7.2 16 16c0 26.5 21.5 48 48 48h32c26.5 0 48-21.5 48-48c0-79.5-64.5-144-144-144H326.6l-33.9-33.9c-9-9-21.2-14.1-33.9-14.1H240V64H368c8.8 0 16-7.2 16-16s-7.2-16-16-16H240V16zM448 431.6l13.3 21.3c1.8 2.8 2.7 6.1 2.7 9.4V464c0 8.8-7.2 16-16 16s-16-7.2-16-16v-1.7c0-3.3 .9-6.6 2.7-9.4L448 431.6zm-12.2-40.8l-28.2 45.1c-4.9 7.9-7.6 17-7.6 26.4V464c0 26.5 21.5 48 48 48s48-21.5 48-48v-1.7c0-9.3-2.6-18.5-7.6-26.4l-28.2-45.1c-2.6-4.2-7.3-6.8-12.2-6.8s-9.6 2.6-12.2 6.8z\"]\n};\nvar faArrowsToLine = {\n prefix: 'fal',\n iconName: 'arrows-to-line',\n icon: [448, 512, [], \"e0a7\", \"M224 192c-4.2 0-8.3-1.7-11.3-4.7l-80-80c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L208 137.4 208 16c0-8.8 7.2-16 16-16s16 7.2 16 16l0 121.4 52.7-52.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-80 80c-3 3-7.1 4.7-11.3 4.7zM0 256c0-8.8 7.2-16 16-16H432c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16-7.2-16-16zm235.3 68.7l80 80c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L240 374.6V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V374.6l-52.7 52.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l80-80c3-3 7.1-4.7 11.3-4.7s8.3 1.7 11.3 4.7z\"]\n};\nvar faDolphin = {\n prefix: 'fal',\n iconName: 'dolphin',\n icon: [512, 512, [], \"e168\", \"M176 32h49.1c40.5 0 78.7 9.4 112.7 26.2c4 2 8.5 2.2 12.7 .7c32.4-12.1 73.2-24.6 105.2-26.6c-.8 3.3-2.2 7.6-4.2 13c-7.2 18.6-20.2 42.3-31.2 61.1c-3.4 5.8-2.8 13.1 1.5 18.3C458.1 168.8 480 225.2 480 286.9c0 54.4-33.6 100.9-81.2 119.9C409.7 391.3 416 372.4 416 352c0-46.5-33-85.2-76.8-94.1c-4.7-1-9.6 .3-13.3 3.3s-5.9 7.6-5.9 12.4V325c0 6.1-4.9 11-11 11c-2.9 0-5.6-1.1-7.7-3.1l-73.8-72.3c-3-2.9-7-4.6-11.2-4.6H216 176 50.2c-10 0-18.2-8.1-18.2-18.2c0-6.5 3.4-12.4 9-15.7l25.1-14.6c6.9-4.1 9.8-12.6 6.7-20c-5.6-13.4-8.8-28-8.8-43.5C64 82.1 114.1 32 176 32zm280.6-6.3a.1 .1 0 1 0 -.2 .1 .1 .1 0 1 0 .2-.1zM320 416H281.9l-1-2.1C261.9 376 223.1 352 180.7 352H176c-5.5 0-10.7 2.9-13.6 7.6s-3.2 10.6-.7 15.6L190.1 432l-28.4 56.8c-2.5 5-2.2 10.9 .7 15.6s8.1 7.6 13.6 7.6h4.7c42.4 0 81.2-24 100.2-61.9l1-2.1H320h30.9c89 0 161.1-72.1 161.1-161.1c0-65.3-21.8-125.6-58.6-173.8c10-17.5 21-38.4 27.9-56.2c3.9-10.2 7.4-21.4 7.3-30.9c0-4.8-1-11.5-5.6-17.3C477.9 2.3 470.6 0 464 0c-37 0-83.5 13.9-118.3 26.5C309 9.5 268.2 0 225.1 0H176C96.5 0 32 64.5 32 144c0 14.8 2.2 29.1 6.4 42.6l-13.5 7.9C9.5 203.5 0 220 0 237.8C0 265.5 22.5 288 50.2 288H176h33.8l69.1 67.7c8 7.9 18.8 12.3 30.1 12.3c23.7 0 43-19.2 43-43V296.6c19.1 11.1 32 31.8 32 55.4c0 35.3-28.7 64-64 64zM203.6 387.3c20.9 6.2 38.6 20.8 48.7 40.9l1.9 3.8-1.9 3.8c-10 20.1-27.8 34.7-48.7 40.9l18.8-37.5c2.3-4.5 2.3-9.8 0-14.3l-18.8-37.5zM152 176a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faArrowUpRight = {\n prefix: 'fal',\n iconName: 'arrow-up-right',\n icon: [384, 512, [], \"e09f\", \"M336 96c8.8 0 16 7.2 16 16V336c0 8.8-7.2 16-16 16s-16-7.2-16-16V150.6L59.3 411.3c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L297.4 128H112c-8.8 0-16-7.2-16-16s7.2-16 16-16H336z\"]\n};\nvar faCircleR = {\n prefix: 'fal',\n iconName: 'circle-r',\n icon: [512, 512, [], \"e120\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM192 128c-17.7 0-32 14.3-32 32V272v96c0 8.8 7.2 16 16 16s16-7.2 16-16V288h71.4l59.3 88.9c4.9 7.4 14.8 9.3 22.2 4.4s9.3-14.8 4.4-22.2l-50.5-75.7c31-11 53.2-40.6 53.2-75.4c0-44.2-35.8-80-80-80H192zm80 128H192V160h80c26.5 0 48 21.5 48 48s-21.5 48-48 48z\"]\n};\nvar faCartFlatbed = {\n prefix: 'fal',\n iconName: 'cart-flatbed',\n icon: [640, 512, [\"dolly-flatbed\"], \"f474\", \"M0 16C0 7.2 7.2 0 16 0H80c26.5 0 48 21.5 48 48V368c0 8.8 7.2 16 16 16h80H512 624c8.8 0 16 7.2 16 16s-7.2 16-16 16H567.4c5.4 9.4 8.6 20.3 8.6 32c0 35.3-28.7 64-64 64s-64-28.7-64-64c0-11.7 3.1-22.6 8.6-32H279.4c5.4 9.4 8.6 20.3 8.6 32c0 35.3-28.7 64-64 64s-64-28.7-64-64c0-11.7 3.1-22.6 8.6-32H144c-26.5 0-48-21.5-48-48V48c0-8.8-7.2-16-16-16H16C7.2 32 0 24.8 0 16zM512 416a32 32 0 1 0 0 64 32 32 0 1 0 0-64zM192 448a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zM320 64H240c-8.8 0-16 7.2-16 16V272c0 8.8 7.2 16 16 16H560c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16H480V192c0 6.1-3.4 11.6-8.8 14.3s-11.9 2.1-16.8-1.5L400 164l-54.4 40.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.3-8.8-14.3V64zm32 0v96l38.4-28.8c5.7-4.3 13.5-4.3 19.2 0L448 160V64H352zM240 32H560c26.5 0 48 21.5 48 48V272c0 26.5-21.5 48-48 48H240c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48z\"]\n};\nvar faDollyFlatbed = faCartFlatbed;\nvar faBanSmoking = {\n prefix: 'fal',\n iconName: 'ban-smoking',\n icon: [512, 512, [128685, \"smoking-ban\"], \"f54d\", \"M86.7 109.3L201.4 224l32 32 32 32 32 32L402.7 425.3C363.4 459.4 312.1 480 256 480C132.3 480 32 379.7 32 256c0-56.1 20.6-107.4 54.7-146.7zM278.6 256H384v32H310.6l-32-32zm64 64H400c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16H246.6L109.3 86.7C148.6 52.6 199.9 32 256 32c123.7 0 224 100.3 224 224c0 56.1-20.6 107.4-54.7 146.7L342.6 320zM256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM272 96c-8.8 0-16 7.2-16 16c0 26.5 21.5 48 48 48h32c8.8 0 16 7.2 16 16s7.2 16 16 16s16-7.2 16-16c0-26.5-21.5-48-48-48H304c-8.8 0-16-7.2-16-16s-7.2-16-16-16zM220.1 288H128V256h60.1l-32-32H112c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16H252.1l-32-32z\"]\n};\nvar faSmokingBan = faBanSmoking;\nvar faCircleSortUp = {\n prefix: 'fal',\n iconName: 'circle-sort-up',\n icon: [512, 512, [\"sort-circle-up\"], \"e032\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM244.7 100.7c6.2-6.2 16.4-6.2 22.6 0l96 96c4.6 4.6 5.9 11.5 3.5 17.4s-8.3 9.9-14.8 9.9l-192 0c-6.5 0-12.3-3.9-14.8-9.9s-1.1-12.9 3.5-17.4l96-96zM198.6 192l114.7 0L256 134.6 198.6 192zM148.7 315.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L256 377.4l84.7-84.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-96 96c-6.2 6.2-16.4 6.2-22.6 0l-96-96z\"]\n};\nvar faSortCircleUp = faCircleSortUp;\nvar faTerminal = {\n prefix: 'fal',\n iconName: 'terminal',\n icon: [576, 512, [], \"f120\", \"M5.1 59.7c-6.5-6-6.9-16.1-.8-22.6s16.1-6.9 22.6-.8l224 208c3.3 3 5.1 7.3 5.1 11.7s-1.9 8.7-5.1 11.7l-224 208c-6.5 6-16.6 5.6-22.6-.8s-5.6-16.6 .8-22.6L216.5 256 5.1 59.7zM240 448H560c8.8 0 16 7.2 16 16s-7.2 16-16 16H240c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faMobileButton = {\n prefix: 'fal',\n iconName: 'mobile-button',\n icon: [384, 512, [], \"f10b\", \"M96 32C78.3 32 64 46.3 64 64V448c0 17.7 14.3 32 32 32H288c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H96zM32 64C32 28.7 60.7 0 96 0H288c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V64zM192 392a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faHouseMedicalFlag = {\n prefix: 'fal',\n iconName: 'house-medical-flag',\n icon: [640, 512, [], \"e514\", \"M480 16V32H624c8.8 0 16 7.2 16 16V176c0 8.8-7.2 16-16 16H480V512H448V192 160 64 32 16c0-8.8 7.2-16 16-16s16 7.2 16 16zM608 160V64H480v96H608zM281.6 35.2L416 136v40L272 68 96 200V440c0 22.1 17.9 40 40 40l272 0c2.7 0 5.4-.3 8-.8v32.4c-2.6 .3-5.3 .4-8 .4l-272 0c-39.8 0-72-32.2-72-72V224L25.6 252.8c-7.1 5.3-17.1 3.9-22.4-3.2s-3.9-17.1 3.2-22.4l256-192c5.7-4.3 13.5-4.3 19.2 0zM256 176h32c17.7 0 32 14.3 32 32v32h32c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32H320v32c0 17.7-14.3 32-32 32H256c-17.7 0-32-14.3-32-32V336H192c-17.7 0-32-14.3-32-32V272c0-17.7 14.3-32 32-32h32V208c0-17.7 14.3-32 32-32zm0 32v48c0 4.2-1.7 8.3-4.7 11.3s-7.1 4.7-11.3 4.7H192v32h48c8.8 0 16 7.2 16 16v48h32V320c0-8.8 7.2-16 16-16h48V272H304c-8.8 0-16-7.2-16-16V208H256z\"]\n};\nvar faBasketShopping = {\n prefix: 'fal',\n iconName: 'basket-shopping',\n icon: [576, 512, [\"shopping-basket\"], \"f291\", \"M327.9 2.2c-7.6 4.5-10.2 14.2-5.8 21.9l98 167.9H155.9l98-167.9c4.5-7.6 1.9-17.4-5.8-21.9s-17.4-1.9-21.9 5.8L118.8 192H65 32 16c-8.8 0-16 7.2-16 16s7.2 16 16 16H40L99.9 463.5C107 492 132.6 512 162 512H414c29.4 0 55-20 62.1-48.5L536 224h24c8.8 0 16-7.2 16-16s-7.2-16-16-16H544 511 457.2L349.8 7.9c-4.5-7.6-14.2-10.2-21.9-5.8zM73 224H503L445.1 455.8C441.5 470 428.7 480 414 480H162c-14.7 0-27.5-10-31-24.2L73 224zm151 80c0-8.8-7.2-16-16-16s-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V304zm64-16c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V304c0-8.8-7.2-16-16-16zm96 16c0-8.8-7.2-16-16-16s-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V304z\"]\n};\nvar faShoppingBasket = faBasketShopping;\nvar faTape = {\n prefix: 'fal',\n iconName: 'tape',\n icon: [576, 512, [], \"f4db\", \"M224 64a192 192 0 1 1 0 384 192 192 0 1 1 0-384zM339.4 448C404.5 408.8 448 337.5 448 256C448 132.3 347.7 32 224 32S0 132.3 0 256S100.3 480 224 480H560c8.8 0 16-7.2 16-16s-7.2-16-16-16H339.4zM224 192a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm0 160a96 96 0 1 0 0-192 96 96 0 1 0 0 192z\"]\n};\nvar faChestnut = {\n prefix: 'fal',\n iconName: 'chestnut',\n icon: [448, 512, [127792], \"e3f6\", \"M328.7 163.3c-14.2-14.2-29.7-27.3-46.4-41c-2.8-2.3-5.6-4.5-8.4-6.9l0 0c-13.9-11.4-28.5-23.3-42.5-36c-2.5-2.3-5-4.6-7.4-7c-2.4 2.3-4.8 4.7-7.4 7c-14 12.7-28.6 24.6-42.5 36l0 0c-2.8 2.3-5.6 4.6-8.4 6.9c-16.6 13.7-32.2 26.8-46.4 41C72.8 209.8 32 270 32 352H416c0-82-40.8-142.2-87.3-188.7zM37.5 384c13.2 37.3 48.7 64 90.5 64H320c41.8 0 77.4-26.7 90.5-64H37.5zM351.3 140.7C400.8 190.2 448 258 448 352c0 70.7-57.3 128-128 128H128C57.3 480 0 422.7 0 352c0-94 47.2-161.8 96.7-211.3c18.1-18.1 37.7-34.1 57.3-50.2c13.9-11.4 27.8-22.7 41.1-34.8c7.6-6.9 12.7-12.3 15.5-16.6c3-4.5 8-7.1 13.3-7.1s10.3 2.7 13.3 7.1c2.9 4.3 7.9 9.7 15.5 16.6c13.3 12.1 27.2 23.4 41.1 34.8c19.6 16.1 39.3 32.1 57.3 50.2z\"]\n};\nvar faBusSimple = {\n prefix: 'fal',\n iconName: 'bus-simple',\n icon: [448, 512, [\"bus-alt\"], \"f55e\", \"M33.2 90C49.2 70.2 106.1 32 224 32c126.8 0 175.9 38.1 190.7 57.5c.6 .8 1.3 2.5 1.3 5.6V96H32v-.8c0-3.2 .8-4.6 1.2-5.1zM32 128H416V256H32V128zM416 288v96c0 17.7-14.3 32-32 32H303.2 64c-17.7 0-32-14.3-32-32V288H416zM224 0C100.2 0 32.5 40.1 8.3 69.9C1.8 77.9 0 87.4 0 95.2V384c0 23.7 12.9 44.4 32 55.4V496c0 8.8 7.2 16 16 16s16-7.2 16-16l0-48H303.2 384v48c0 8.8 7.2 16 16 16s16-7.2 16-16V439.4c19.1-11.1 32-31.7 32-55.4V95.2c0-7.8-1.8-17-7.8-25C417.2 40 356.6 0 224 0zM96 376a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm280-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faBusAlt = faBusSimple;\nvar faEye = {\n prefix: 'fal',\n iconName: 'eye',\n icon: [576, 512, [128065], \"f06e\", \"M117.2 136C160.3 96 217.6 64 288 64s127.7 32 170.8 72c43.1 40 71.9 88 85.2 120c-13.3 32-42.1 80-85.2 120c-43.1 40-100.4 72-170.8 72s-127.7-32-170.8-72C74.1 336 45.3 288 32 256c13.3-32 42.1-80 85.2-120zM288 32c-80.8 0-145.5 36.8-192.6 80.6C48.6 156 17.3 208 2.5 243.7c-3.3 7.9-3.3 16.7 0 24.6C17.3 304 48.6 356 95.4 399.4C142.5 443.2 207.2 480 288 480s145.5-36.8 192.6-80.6c46.8-43.5 78.1-95.4 93-131.1c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C433.5 68.8 368.8 32 288 32zM192 256a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zm224 0a128 128 0 1 0 -256 0 128 128 0 1 0 256 0z\"]\n};\nvar faFaceSadCry = {\n prefix: 'fal',\n iconName: 'face-sad-cry',\n icon: [512, 512, [128557, \"sad-cry\"], \"f5b3\", \"M384 439.8V272c0-8.8-7.2-16-16-16s-16 7.2-16 16V458.4c-29.1 13.8-61.6 21.6-96 21.6s-66.9-7.7-96-21.6V272c0-8.8-7.2-16-16-16s-16 7.2-16 16V439.8C70 399.4 32 332.1 32 256C32 132.3 132.3 32 256 32s224 100.3 224 224c0 76.1-38 143.4-96 183.8zM256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM195.2 233.6c5.3 7.1 15.3 8.5 22.4 3.2s8.5-15.3 3.2-22.4c-30.4-40.5-91.2-40.5-121.6 0c-5.3 7.1-3.9 17.1 3.2 22.4s17.1 3.9 22.4-3.2c17.6-23.5 52.8-23.5 70.4 0zm121.6 0c17.6-23.5 52.8-23.5 70.4 0c5.3 7.1 15.3 8.5 22.4 3.2s8.5-15.3 3.2-22.4c-30.4-40.5-91.2-40.5-121.6 0c-5.3 7.1-3.9 17.1 3.2 22.4s17.1 3.9 22.4-3.2zM288 352c0 17.7-14.3 32-32 32s-32-14.3-32-32V328c0-17.7 14.3-32 32-32s32 14.3 32 32v24zm-32-88c-35.3 0-64 28.7-64 64v24c0 35.3 28.7 64 64 64s64-28.7 64-64V328c0-35.3-28.7-64-64-64z\"]\n};\nvar faSadCry = faFaceSadCry;\nvar faHeat = {\n prefix: 'fal',\n iconName: 'heat',\n icon: [448, 512, [], \"e00c\", \"M176 32c8.8 0 16 7.2 16 16v96c0 38.1 12.4 75.1 35.2 105.6l19.2 25.6c27 36 41.6 79.8 41.6 124.8v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V400c0-38.1-12.4-75.1-35.2-105.6l-19.2-25.6C174.6 232.8 160 189 160 144V48c0-8.8 7.2-16 16-16zM16 96c8.8 0 16 7.2 16 16v45.9c0 34.7 10.3 68.7 29.6 97.6l31.5 47.3c22.8 34.2 34.9 74.3 34.9 115.4V464c0 8.8-7.2 16-16 16s-16-7.2-16-16V418.1c0-34.7-10.3-68.7-29.6-97.6L34.9 273.2C12.2 239.1 0 198.9 0 157.9V112c0-8.8 7.2-16 16-16zm336 16v45.9c0 34.7 10.3 68.7 29.6 97.6l31.5 47.3c22.8 34.2 34.9 74.3 34.9 115.4V464c0 8.8-7.2 16-16 16s-16-7.2-16-16V418.1c0-34.7-10.3-68.7-29.6-97.6l-31.5-47.3C332.2 239.1 320 198.9 320 157.9V112c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faTicketAirline = {\n prefix: 'fal',\n iconName: 'ticket-airline',\n icon: [640, 512, [\"ticket-perforated-plane\", \"ticket-plane\"], \"e29a\", \"M64 96c-17.7 0-32 14.3-32 32V384c0 17.7 14.3 32 32 32H576c17.7 0 32-14.3 32-32V334.4c-36.5-7.4-64-39.7-64-78.4s27.5-71 64-78.4V128c0-17.7-14.3-32-32-32H64zM0 128C0 92.7 28.7 64 64 64H576c35.3 0 64 28.7 64 64v66.4c0 8-8 13.6-16 13.6c-26.5 0-48 21.5-48 48s21.5 48 48 48c8 0 16 5.6 16 13.6V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128zm464 16a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm0 64a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm-16 80a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm16 48a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM217.8 218.9c1.6 4.9 .8 10.2-2.2 14.4s-7.8 6.6-13 6.6H160c-5 0-9.8-2.4-12.8-6.4L128 208h-3.5l10.1 40.2c1.3 5.1 1.3 10.4 0 15.5L124.5 304H128l19.2-25.6c3-4 7.8-6.4 12.8-6.4h42.7c5.1 0 10 2.5 13 6.6s3.8 9.5 2.2 14.4L198.2 352h20c2.8 0 5.5-1.5 6.9-4l39.7-68.1c2.9-4.9 8.1-7.9 13.8-7.9h40.3c11.8 0 23.1-4.7 31.5-13c1.6-1.6 1.6-4.3 0-5.9c-8.4-8.4-19.7-13-31.5-13H278.7c-5.7 0-11-3-13.8-7.9L225.1 164c-1.4-2.5-4.1-4-6.9-4h-20l19.6 58.9zM187.1 128h31.1c14.2 0 27.4 7.6 34.6 19.8L287.9 208h31.1c20.3 0 39.8 8.1 54.1 22.4c14.1 14.1 14.1 37 0 51.2c-14.4 14.4-33.8 22.4-54.1 22.4H287.9l-35.1 60.2c-7.2 12.3-20.3 19.8-34.6 19.8H187.1c-16.4 0-27.9-16-22.8-31.6L180.5 304H168l-14.4 19.2c-6 8.1-15.5 12.8-25.6 12.8H114.2c-15.6 0-27.1-14.7-23.3-29.8L103.5 256 91 205.8c-3.8-15.1 7.7-29.8 23.3-29.8H128c10.1 0 19.6 4.7 25.6 12.8L168 208h12.5l-16.1-48.4c-5.2-15.5 6.4-31.6 22.8-31.6z\"]\n};\nvar faTicketPerforatedPlane = faTicketAirline;\nvar faTicketPlane = faTicketAirline;\nvar faBootHeeled = {\n prefix: 'fal',\n iconName: 'boot-heeled',\n icon: [512, 512, [], \"e33f\", \"M37 0C16.5 0 0 16.5 0 37c0 3.5 .5 7 1.5 10.3C6.5 65.1 32 158.5 32 232c0 15.4-3.7 37.3-9 60C17.9 314.4 11.6 336.3 7 351.5C2.6 366 0 381.3 0 396.9V432v64c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16V449.5l118.9 52.8c14.3 6.4 29.8 9.7 45.5 9.7H464h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H480V445.7c0-24.2-13.7-46.4-35.4-57.2L300.2 316.2C273.1 302.7 256 275 256 244.7V40c0-22.1-17.9-40-40-40H112 37zM96 32V240c0 8.8 7.2 16 16 16s16-7.2 16-16V32h88c4.4 0 8 3.6 8 8V244.7c0 42.4 24 81.2 61.9 100.2L430.3 417c10.8 5.4 17.7 16.5 17.7 28.6V480H292.4c-11.2 0-22.3-2.3-32.5-6.9L134.5 417.4c-2-.9-4.3-1.4-6.5-1.4H112 32V396.9c0-12.1 2-24.2 5.6-36.1c4.7-15.5 11.3-38.2 16.6-61.6c5.3-23 9.8-47.9 9.8-67.2C64 153.5 37.2 56.2 32.2 38.5c-.2-.6-.2-1.1-.2-1.6c0-2.7 2.2-5 5-5H96zm0 448H32V448H96v32z\"]\n};\nvar faArrowsMinimize = {\n prefix: 'fal',\n iconName: 'arrows-minimize',\n icon: [512, 512, [\"compress-arrows\"], \"e0a5\", \"M36.7 36.7c6.2-6.2 16.4-6.2 22.6 0L192 169.4V64c0-8.8 7.2-16 16-16s16 7.2 16 16V208c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16s7.2-16 16-16H169.4L36.7 59.3c-6.2-6.2-6.2-16.4 0-22.6zm416 0c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L342.6 192H448c8.8 0 16 7.2 16 16s-7.2 16-16 16H304c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16s16 7.2 16 16V169.4L452.7 36.7zM48 304c0-8.8 7.2-16 16-16H208c8.8 0 16 7.2 16 16V448c0 8.8-7.2 16-16 16s-16-7.2-16-16V342.6L59.3 475.3c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L169.4 320H64c-8.8 0-16-7.2-16-16zm240 0c0-8.8 7.2-16 16-16H448c8.8 0 16 7.2 16 16s-7.2 16-16 16H342.6L475.3 452.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L320 342.6V448c0 8.8-7.2 16-16 16s-16-7.2-16-16V304z\"]\n};\nvar faCompressArrows = faArrowsMinimize;\nvar faAudioDescription = {\n prefix: 'fal',\n iconName: 'audio-description',\n icon: [576, 512, [], \"f29e\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H512c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm192 64c6.1 0 11.6 3.4 14.3 8.8l80 160c4 7.9 .7 17.5-7.2 21.5s-17.5 .7-21.5-7.2L238.1 304H145.9l-19.6 39.2c-4 7.9-13.6 11.1-21.5 7.2s-11.1-13.6-7.2-21.5l80-160c2.7-5.4 8.3-8.8 14.3-8.8zm30.1 112L192 211.8 161.9 272h60.2zM304 176c0-8.8 7.2-16 16-16h64c53 0 96 43 96 96s-43 96-96 96H320c-8.8 0-16-7.2-16-16V176zm32 16V320h48c35.3 0 64-28.7 64-64s-28.7-64-64-64H336z\"]\n};\nvar faPersonMilitaryToPerson = {\n prefix: 'fal',\n iconName: 'person-military-to-person',\n icon: [512, 512, [], \"e54c\", \"M176 33.1V46.8H88V44.9l88-11.7zM180.8 .2L76.8 14.1C64.9 15.6 56 25.8 56 37.8V54.8c0 13.3 10.7 24 24 24H184c13.3 0 24-10.7 24-24V24C208 9.5 195.2-1.7 180.8 .2zM352 96.6a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm96 0a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zM320 256.5c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32v31.8H320V256.5zm-32 0v31.8c0 17.7 14.3 32 32 32H448c17.7 0 32-14.3 32-32V256.5c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64zm-171.5-32H160c17.7 0 32 14.3 32 32v13.2l-75.5-45.2zm44.2 63.8H64V256.5c0-8.2 3.1-15.6 8.1-21.3l88.7 53.1zM96 192.5c-35.3 0-64 28.7-64 64v31.8c0 17.7 14.3 32 32 32H192c17.7 0 32-14.3 32-32V256.5c0-35.3-28.7-64-64-64H96zM64 96.6c0 35.3 28.7 63.9 64 63.9s64-28.6 64-63.9H160c0 17.6-14.3 31.9-32 31.9s-32-14.3-32-31.9H64zm82.6 259.6c-6.6-5.9-16.7-5.3-22.6 1.3s-5.3 16.7 1.3 22.6l40.5 35.9H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H165.9l-40.5 35.9c-6.6 5.9-7.2 16-1.3 22.6s16 7.2 22.6 1.3l72-63.9c3.4-3 5.4-7.4 5.4-12s-2-8.9-5.4-12l-72-63.9zm218.8 0l-72 63.9c-3.4 3-5.4 7.4-5.4 12s2 8.9 5.4 12l72 63.9c6.6 5.9 16.7 5.3 22.6-1.3s5.3-16.7-1.3-22.6l-40.5-35.9H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H346.1l40.5-35.9c6.6-5.9 7.2-16 1.3-22.6s-16-7.2-22.6-1.3z\"]\n};\nvar faFileShield = {\n prefix: 'fal',\n iconName: 'file-shield',\n icon: [576, 512, [], \"e4f0\", \"M320 480c1.3 0 2.6-.1 3.9-.2c7.9 8.6 16.6 16.9 26.3 24.7c-9 4.8-19.3 7.6-30.2 7.6H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H220.1c12.7 0 24.9 5.1 33.9 14.1L369.9 129.9c9 9 14.1 21.2 14.1 33.9V207l-32 12.8V192H240c-26.5 0-48-21.5-48-48V32H64C46.3 32 32 46.3 32 64V448c0 17.7 14.3 32 32 32H320zm31.5-320c-.7-2.8-2.1-5.4-4.2-7.4L231.4 36.7c-2.1-2.1-4.6-3.5-7.4-4.2V144c0 8.8 7.2 16 16 16H351.5zM320.1 301.4c1.3 53 22.6 129.5 95.9 170V263l-95.9 38.4zm223.9 0L448 263V471.4c73.4-40.5 94.6-117.1 95.9-170zm-103-75.7l120 48C570 277.4 576 286.2 576 296c0 63.3-25.9 168.8-134.8 214.2c-5.9 2.5-12.6 2.5-18.5 0C313.9 464.8 288 359.3 288 296c0-9.8 6-18.6 15.1-22.3l120-48c5.7-2.3 12.1-2.3 17.8 0z\"]\n};\nvar faHexagon = {\n prefix: 'fal',\n iconName: 'hexagon',\n icon: [512, 512, [11043], \"f312\", \"M16 224c-11.4 19.8-11.4 44.2 0 64l92.3 159.8c11.4 19.8 32.6 32 55.4 32l184.6 0c22.9 0 44-12.2 55.4-32L496 288c11.4-19.8 11.4-44.2 0-64L403.7 64.2c-11.4-19.8-32.6-32-55.4-32l-184.6 0c-22.9 0-44 12.2-55.4 32L16 224zm27.7 48c-5.7-9.9-5.7-22.1 0-32L136 80.2c5.7-9.9 16.3-16 27.7-16l184.6 0c11.4 0 22 6.1 27.7 16L468.3 240c5.7 9.9 5.7 22.1 0 32L376 431.8c-5.7 9.9-16.3 16-27.7 16l-184.6 0c-11.4 0-22-6.1-27.7-16L43.7 272z\"]\n};\nvar faManhole = {\n prefix: 'fal',\n iconName: 'manhole',\n icon: [512, 512, [], \"e1d6\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM201.6 122.6C215.8 135.9 235 144 256 144s40.2-8.1 54.4-21.4C363 144.1 400 195.8 400 256s-37 111.9-89.6 133.4C296.2 376.1 277 368 256 368s-40.2 8.1-54.4 21.4C149 367.9 112 316.2 112 256s37-111.9 89.6-133.4zm-1-33.7C130.5 112.1 80 178.2 80 256s50.5 143.9 120.6 167.1c7.1 2.4 14.6-1.4 19.6-7C229 406.2 241.8 400 256 400s27 6.2 35.8 16.1c5 5.6 12.4 9.4 19.6 7C381.5 399.9 432 333.8 432 256s-50.5-143.9-120.6-167.1c-7.1-2.4-14.6 1.4-19.6 7C283 105.8 270.2 112 256 112s-27-6.2-35.8-16.1c-5-5.6-12.4-9.4-19.6-7zM176 192a16 16 0 1 0 32 0 16 16 0 1 0 -32 0zm0 64a16 16 0 1 0 32 0 16 16 0 1 0 -32 0zm16 48a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm48-112a16 16 0 1 0 32 0 16 16 0 1 0 -32 0zm16 48a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm-16 80a16 16 0 1 0 32 0 16 16 0 1 0 -32 0zm80-144a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm-16 80a16 16 0 1 0 32 0 16 16 0 1 0 -32 0zm16 48a16 16 0 1 0 0 32 16 16 0 1 0 0-32z\"]\n};\nvar faUserSlash = {\n prefix: 'fal',\n iconName: 'user-slash',\n icon: [640, 512, [], \"f506\", \"M448 128C448 57.3 390.7 0 320 0C266.1 0 219.9 33.4 201.1 80.6l26.6 21C239.2 61.4 276.1 32 320 32c53 0 96 43 96 96c0 35.9-19.7 67.2-48.9 83.7l26.6 21C426.6 209.5 448 171.2 448 128zm52.4 352H128c1.2-79.7 66.2-144 146.3-144H318l-40.5-32h-3.2C175.8 304 96 383.8 96 482.3c0 16.4 13.3 29.7 29.7 29.7H514.3c7 0 13.4-2.4 18.5-6.5L500.4 480zM25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4z\"]\n};\nvar faPen = {\n prefix: 'fal',\n iconName: 'pen',\n icon: [512, 512, [128394], \"f304\", \"M395.8 39.6c9.4-9.4 24.6-9.4 33.9 0l42.6 42.6c9.4 9.4 9.4 24.6 0 33.9L417.6 171 341 94.4l54.8-54.8zM318.4 117L395 193.6 159.6 428.9c-7.6 7.6-16.9 13.1-27.2 16.1L39.6 472.4l27.3-92.8c3-10.3 8.6-19.6 16.1-27.2L318.4 117zM452.4 17c-21.9-21.9-57.3-21.9-79.2 0L60.4 329.7c-11.4 11.4-19.7 25.4-24.2 40.8L.7 491.5c-1.7 5.6-.1 11.7 4 15.8s10.2 5.7 15.8 4l121-35.6c15.4-4.5 29.4-12.9 40.8-24.2L495 138.8c21.9-21.9 21.9-57.3 0-79.2L452.4 17z\"]\n};\nvar faTowerObservation = {\n prefix: 'fal',\n iconName: 'tower-observation',\n icon: [512, 512, [], \"e586\", \"M248.8 1.7c4.5-2.3 9.8-2.3 14.3 0l176 88c7.9 4 11.1 13.6 7.2 21.5s-13.6 11.1-21.5 7.2l-8.8-4.4V192c0 26.5-21.5 48-48 48h-7.8l39.6 237.4c.1 .9 .2 1.8 .2 2.6h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16-7.2-16-16s7.2-16 16-16h96c0-.9 .1-1.7 .2-2.6L151.8 240H144c-26.5 0-48-21.5-48-48V113.9l-8.8 4.4c-7.9 4-17.5 .7-21.5-7.2s-.7-17.5 7.2-21.5l176-88zM256 33.9l-128 64V128H384V97.9l-128-64zM128 160v32c0 8.8 7.2 16 16 16H368c8.8 0 16-7.2 16-16V160H128zM359.4 480L256 391.4 152.6 480H359.4zM184 240c0 .9-.1 1.7-.2 2.6l-6.5 39.1L256 349.2l78.7-67.5-6.5-39.1c-.1-.9-.2-1.8-.2-2.6H184zm-12.9 78.6L151 439.2l80.4-68.9-60.3-51.7zm109.5 51.7L361 439.2 340.9 318.6l-60.3 51.7z\"]\n};\nvar faFloppyDisks = {\n prefix: 'fal',\n iconName: 'floppy-disks',\n icon: [512, 512, [], \"e183\", \"M128 352c0 17.7 14.3 32 32 32H448c17.7 0 32-14.3 32-32V138.5c0-8.5-3.4-16.6-9.4-22.6L396.1 41.4c-3.4-3.4-7.6-6-12.1-7.6V112c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V32c-17.7 0-32 14.3-32 32V352zM352 32H192v80H352V32zM192 0H373.5c17 0 33.3 6.7 45.3 18.7l74.5 74.5c12 12 18.7 28.3 18.7 45.3V352c0 35.3-28.7 64-64 64H160c-35.3 0-64-28.7-64-64V64c0-35.3 28.7-64 64-64h32zM32 112V368c0 61.9 50.1 112 112 112H400c8.8 0 16 7.2 16 16s-7.2 16-16 16H144C64.5 512 0 447.5 0 368V112c0-8.8 7.2-16 16-16s16 7.2 16 16zM296 304a40 40 0 1 0 0-80 40 40 0 1 0 0 80zm0-112a72 72 0 1 1 0 144 72 72 0 1 1 0-144z\"]\n};\nvar faToiletPaperBlankUnder = {\n prefix: 'fal',\n iconName: 'toilet-paper-blank-under',\n icon: [512, 512, [\"toilet-paper-reverse-alt\"], \"e29f\", \"M58.2 75.2C42.3 104.3 32 145.5 32 192s10.3 87.7 26.2 116.8C74.4 338.5 94.1 352 112 352H337.3c-7.2-8.2-13.6-17.7-19.2-27.9C299.2 289.5 288 242.8 288 192s11.2-97.5 30.1-132.1c5.6-10.2 12-19.6 19.2-27.9H112C94.1 32 74.4 45.5 58.2 75.2zM400 32c-17.9 0-37.6 13.5-53.8 43.2C330.3 104.3 320 145.5 320 192s10.3 87.7 26.2 116.8C362.4 338.5 382.1 352 400 352s37.6-13.5 53.8-43.2C469.7 279.7 480 238.5 480 192s-10.3-87.7-26.2-116.8C437.6 45.5 417.9 32 400 32zm80 432V327.6c-18.6 32.3-46.1 56.4-80 56.4H112c-35.1 0-63.4-25.9-81.9-59.9C11.2 289.5 0 242.8 0 192S11.2 94.5 30.1 59.9C48.6 25.9 76.9 0 112 0H400c35.1 0 63.4 25.9 81.9 59.9C500.8 94.5 512 141.2 512 192V464c0 26.5-21.5 48-48 48H176c-26.5 0-48-21.5-48-48V416h32v48c0 8.8 7.2 16 16 16H464c8.8 0 16-7.2 16-16zM400 240c6.4 0 11.9-11.3 14.5-27.6c1-6.2 1.5-13.1 1.5-20.4s-.5-14.2-1.5-20.4c-2.6-16.3-8.1-27.6-14.5-27.6s-11.9 11.3-14.5 27.6c-1 6.2-1.5 13.1-1.5 20.4s.5 14.2 1.5 20.4c2.6 16.3 8.1 27.6 14.5 27.6zm0 32c-16.2 0-26.6-9.9-31.4-16c-5.1-6.4-8.2-13.8-10.3-20c-4.2-12.7-6.3-28.3-6.3-44.1s2.1-31.3 6.3-44.1c2.1-6.2 5.2-13.5 10.3-20c4.8-6.1 15.1-16 31.4-16s26.6 9.9 31.4 16c5.1 6.4 8.2 13.8 10.3 20c4.2 12.7 6.3 28.3 6.3 44.1s-2.1 31.3-6.3 44.1c-2.1 6.2-5.2 13.5-10.3 20c-4.8 6.1-15.1 16-31.4 16z\"]\n};\nvar faToiletPaperReverseAlt = faToiletPaperBlankUnder;\nvar faFileCode = {\n prefix: 'fal',\n iconName: 'file-code',\n icon: [384, 512, [], \"f1c9\", \"M320 480H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H192V144c0 26.5 21.5 48 48 48H352V448c0 17.7-14.3 32-32 32zM240 160c-8.8 0-16-7.2-16-16V32.5c2.8 .7 5.4 2.1 7.4 4.2L347.3 152.6c2.1 2.1 3.5 4.6 4.2 7.4H240zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V163.9c0-12.7-5.1-24.9-14.1-33.9L254.1 14.1c-9-9-21.2-14.1-33.9-14.1H64zm91.3 299.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-48 48c-6.2 6.2-6.2 16.4 0 22.6l48 48c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L118.6 336l36.7-36.7zm144 25.4l-48-48c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L265.4 336l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l48-48c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nvar faSignal = {\n prefix: 'fal',\n iconName: 'signal',\n icon: [640, 512, [128246, \"signal-5\", \"signal-perfect\"], \"f012\", \"M592 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V496c0 8.8 7.2 16 16 16s16-7.2 16-16V16zM448 96c-8.8 0-16 7.2-16 16V496c0 8.8 7.2 16 16 16s16-7.2 16-16V112c0-8.8-7.2-16-16-16zM336 208c0-8.8-7.2-16-16-16s-16 7.2-16 16V496c0 8.8 7.2 16 16 16s16-7.2 16-16V208zM192 288c-8.8 0-16 7.2-16 16V496c0 8.8 7.2 16 16 16s16-7.2 16-16V304c0-8.8-7.2-16-16-16zM64 384c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V400c0-8.8-7.2-16-16-16z\"]\n};\nvar faSignal5 = faSignal;\nvar faSignalPerfect = faSignal;\nvar faPump = {\n prefix: 'fal',\n iconName: 'pump',\n icon: [640, 512, [], \"e442\", \"M76.9 0c-8.8 0-16 7.2-16 16s7.2 16 16 16H96V208H32V192c0-8.8-7.2-16-16-16s-16 7.2-16 16v32V384v32c0 8.8 7.2 16 16 16s16-7.2 16-16V400H320V368H32V240h80c8.8 0 16-7.2 16-16V32H256V224c0 8.8 7.2 16 16 16h48V208H288V32h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H272 112 76.9zM449.6 133.4c5.3-3.5 11.4-5.4 17.8-5.4H576c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H467.4c-6.3 0-12.5-1.9-17.8-5.4l-51.4-34.3c-8.9-5.9-14.2-15.9-14.2-26.6V194.3c0-10.7 5.3-20.7 14.2-26.6l51.4-34.3zM431.9 501.3c10.5 7 22.9 10.7 35.5 10.7H576c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H467.4c-12.6 0-25 3.7-35.5 10.7L380.5 141c-17.8 11.9-28.5 31.9-28.5 53.3V413.7c0 21.4 10.7 41.4 28.5 53.3l51.4 34.3zM448 224c0 8.8 7.2 16 16 16h80c8.8 0 16-7.2 16-16s-7.2-16-16-16H464c-8.8 0-16 7.2-16 16zm0 80c0 8.8 7.2 16 16 16h80c8.8 0 16-7.2 16-16s-7.2-16-16-16H464c-8.8 0-16 7.2-16 16zm0 80c0 8.8 7.2 16 16 16h80c8.8 0 16-7.2 16-16s-7.2-16-16-16H464c-8.8 0-16 7.2-16 16z\"]\n};\nvar faBus = {\n prefix: 'fal',\n iconName: 'bus',\n icon: [576, 512, [128653], \"f207\", \"M288 32C170.1 32 113.2 70.2 97.2 90c-.4 .5-1.2 1.9-1.2 5.1V128H480V95.2c0-3.1-.8-4.9-1.3-5.6C463.9 70.1 414.8 32 288 32zM96 256H272V160H96v96zm208 0H480V160H304v96zM96 384c0 17.7 14.3 32 32 32H367.2 448c17.7 0 32-14.3 32-32V288H96v96zM72.3 69.9C96.5 40.1 164.2 0 288 0C420.6 0 481.2 40 504.2 70.2c6 7.9 7.8 17.2 7.8 25V384c0 23.7-12.9 44.4-32 55.4V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V448H367.2 128l0 48c0 8.8-7.2 16-16 16s-16-7.2-16-16V439.4C76.9 428.4 64 407.7 64 384V95.2c0-7.7 1.8-17.2 8.3-25.3zM136 352a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm280-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM240 64h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H240c-8.8 0-16-7.2-16-16s7.2-16 16-16zM32 144v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-8.8 7.2-16 16-16s16 7.2 16 16zm544 0v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faHeartCircleXmark = {\n prefix: 'fal',\n iconName: 'heart-circle-xmark',\n icon: [576, 512, [], \"e501\", \"M244 130.6l-12-13.5-4.2-4.7c-26-29.2-65.3-42.8-103.8-35.8c-53.3 9.7-92 56.1-92 110.3v3.5c0 32.3 13.4 63.1 37.1 85.1L253 446.8c.8 .7 1.9 1.2 3 1.2s2.2-.4 3-1.2l10.9-10.2c4.3 10.2 9.6 20 15.7 29.1l-4.9 4.5c-.8 .8-1.7 1.5-2.6 2.2c-6.3 4.9-14.1 7.5-22.1 7.5c-9.2 0-18-3.5-24.8-9.7L47.2 299c-3.8-3.5-7.3-7.2-10.7-11C13.1 261 0 226.4 0 190.4v-3.5C0 117.3 49.8 57.6 118.3 45.1c40.9-7.4 82.6 3.2 114.7 28.4c6.7 5.3 13 11.1 18.7 17.6l4.2 4.7 4.2-4.7c4.2-4.7 8.6-9.1 13.3-13.1c1.8-1.5 3.6-3 5.4-4.5C311 48.4 352.7 37.7 393.7 45.1C462.2 57.6 512 117.3 512 186.9v3.5c0 6.8-.5 13.5-1.4 20.1c-9.8-4.9-20.2-8.9-30.9-12c.2-2.7 .3-5.4 .3-8.1v-3.5c0-54.2-38.7-100.6-92-110.3c-38.5-7-77.8 6.6-103.8 35.8l-4.2 4.7-12 13.5c-3 3.4-7.4 5.4-12 5.4s-8.9-2-12-5.4zM544 368a112 112 0 1 0 -224 0 112 112 0 1 0 224 0zm-256 0a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm203.3-36.7L454.6 368l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L432 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L409.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L432 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faArrowUpLeftFromCircle = {\n prefix: 'fal',\n iconName: 'arrow-up-left-from-circle',\n icon: [512, 512, [], \"e09e\", \"M176 0H16C7.2 0 0 7.2 0 16V176c0 8.8 7.2 16 16 16s16-7.2 16-16V54.6L300.7 323.3c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L54.6 32H176c8.8 0 16-7.2 16-16s-7.2-16-16-16zM288 64c-8.8 0-16 7.2-16 16s7.2 16 16 16c106 0 192 86 192 192s-86 192-192 192S96 394 96 288c0-8.8-7.2-16-16-16s-16 7.2-16 16c0 123.7 100.3 224 224 224s224-100.3 224-224S411.7 64 288 64z\"]\n};\nvar faHouseChimney = {\n prefix: 'fal',\n iconName: 'house-chimney',\n icon: [576, 512, [63499, \"home-lg\"], \"e3af\", \"M277.4 4c6-5.3 15.1-5.3 21.2 0L384 79.4V56c0-13.3 10.7-24 24-24h80c13.3 0 24 10.7 24 24V192.3L570.6 244c6.6 5.8 7.3 16 1.4 22.6s-16 7.3-22.6 1.4L512 235V432c0 44.2-35.8 80-80 80H144c-44.2 0-80-35.8-80-80V235L26.6 268C20 273.8 9.8 273.2 4 266.6S-1.2 249.8 5.4 244L277.4 4zM480 164.1V64H416v43.6l64 56.5zM96 206.7V432c0 26.5 21.5 48 48 48h64V320c0-17.7 14.3-32 32-32h96c17.7 0 32 14.3 32 32V480h64c26.5 0 48-21.5 48-48V206.7L288 37.3 96 206.7zM336 320H240V480h96V320z\"]\n};\nvar faHomeLg = faHouseChimney;\nvar faWindowMaximize = {\n prefix: 'fal',\n iconName: 'window-maximize',\n icon: [512, 512, [128470], \"f2d0\", \"M64 64C46.3 64 32 78.3 32 96v96H480V96c0-17.7-14.3-32-32-32H64zM32 224V416c0 17.7 14.3 32 32 32H448c17.7 0 32-14.3 32-32V224H32zM0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96z\"]\n};\nvar faDryer = {\n prefix: 'fal',\n iconName: 'dryer',\n icon: [448, 512, [], \"f861\", \"M384 32c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H384zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zm64 96A24 24 0 1 0 80 96a24 24 0 1 0 48 0zm56 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm40 296c-56.4 0-103.1-41.7-110.9-96H176c8.8 0 16-7.2 16-16s-7.2-16-16-16H113.1c7.8-54.3 54.4-96 110.9-96c61.9 0 112 50.1 112 112s-50.1 112-112 112zM80 304a144 144 0 1 0 288 0A144 144 0 1 0 80 304z\"]\n};\nvar faFaceFrown = {\n prefix: 'fal',\n iconName: 'face-frown',\n icon: [512, 512, [9785, \"frown\"], \"f119\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM159.3 388.7c-2.6 8.4-11.6 13.2-20 10.5s-13.2-11.6-10.5-20C145.2 326.1 196.3 288 256 288s110.8 38.1 127.3 91.3c2.6 8.4-2.1 17.4-10.5 20s-17.4-2.1-20-10.5C340.5 349.4 302.1 320 256 320s-84.5 29.4-96.7 68.7zM152.4 208a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm184-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faFrown = faFaceFrown;\nvar faChessBishopPiece = {\n prefix: 'fal',\n iconName: 'chess-bishop-piece',\n icon: [256, 512, [\"chess-bishop-alt\"], \"f43b\", \"M96 32h32 32c8.8 0 16 7.2 16 16c0 6-3.3 11.2-8.1 13.9c4 4.2 8.2 8.8 12.4 13.8C201.4 101.1 224 138.7 224 184c0 16.6-4.4 30.1-10.8 40.9C219.5 227 224 233 224 240c0 8.8-7.2 16-16 16H196.1l9.6 96H173.5l-9.6-96H92.1l-9.6 96H50.3l9.6-96H48c-8.8 0-16-7.2-16-16c0-7 4.5-13 10.8-15.1C36.4 214.1 32 200.6 32 184c0-45.3 22.6-82.9 43.7-108.2c4.2-5 8.4-9.7 12.4-13.8C83.3 59.2 80 54 80 48c0-8.8 7.2-16 16-16zm75.5 192c10.2-7.5 20.5-19.8 20.5-40c0-18.9-5.2-36.6-13-52.4l-31.7 31.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l37-37c-2-2.6-3.9-5.1-5.9-7.5C146.4 85.1 137 76.2 130 70.1c-.7-.6-1.4-1.2-2-1.7c-.6 .5-1.3 1.1-2 1.7c-7 6.1-16.4 15-25.7 26.2C81.4 118.9 64 149.3 64 184c0 20.2 10.3 32.5 20.5 40h87.1zm45.9 175.1l32.7 52.7c3.9 6.2 5.9 13.4 5.9 20.8c0 21.8-17.7 39.4-39.4 39.4H39.4C17.7 512 0 494.3 0 472.6c0-7.3 2.1-14.5 5.9-20.8l32.7-52.7c5.8-9.4 16.1-15.1 27.2-15.1H190.2c11.1 0 21.4 5.7 27.2 15.1zM65.8 416L33.1 468.7c-.7 1.2-1.1 2.5-1.1 3.9c0 4.1 3.3 7.4 7.4 7.4H216.6c4.1 0 7.4-3.3 7.4-7.4c0-1.4-.4-2.7-1.1-3.9L190.2 416 65.8 416z\"]\n};\nvar faChessBishopAlt = faChessBishopPiece;\nvar faShirtTankTop = {\n prefix: 'fal',\n iconName: 'shirt-tank-top',\n icon: [384, 512, [], \"e3c9\", \"M96 16C96 7.2 88.8 0 80 0S64 7.2 64 16c0 134.3-29.3 192.6-45.6 214.6C9.5 242.5 0 259.2 0 278.2V456c0 30.9 25.1 56 56 56H328c30.9 0 56-25.1 56-56V278.2c0-19-9.5-35.7-18.4-47.6C349.3 208.6 320 150.3 320 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V64c0 53-43 96-96 96s-96-43-96-96V16zM86.5 136.5C109.6 170 148.2 192 192 192s82.4-22 105.5-55.5c10.7 59.8 28.4 94.1 42.4 113.1c7.6 10.2 12.1 20 12.1 28.6V456c0 13.3-10.7 24-24 24H56c-13.3 0-24-10.7-24-24V278.2c0-8.6 4.6-18.4 12.1-28.6c14-19 31.7-53.3 42.4-113.1z\"]\n};\nvar faDiploma = {\n prefix: 'fal',\n iconName: 'diploma',\n icon: [640, 512, [\"scroll-ribbon\"], \"f5ea\", \"M253.2 80.8C245 70.2 232.4 64 219 64h-3c-22.1 0-40 17.9-40 40s17.9 40 40 40h40 45.8L253.2 80.8zm-97 63.2c-7.7-11.4-12.1-25.2-12.1-40c0-39.8 32.2-72 72-72h3c23.3 0 45.3 10.8 59.5 29.3L320 115.2l41.5-53.9C375.7 42.8 397.7 32 421 32h3c39.8 0 72 32.2 72 72c0 14.8-4.5 28.6-12.1 40H544c65.1 .3 96 71.5 96 128c0 56.9-24.1 119.2-81 140.7c-10.5 4-22.5 4.2-33.4 1.8L400 386.6V464c0 5.5-2.9 10.7-7.6 13.6s-10.6 3.2-15.6 .7L320 449.9l-56.8 28.4c-5 2.5-10.9 2.2-15.6-.7s-7.6-8.1-7.6-13.6V386.6L114.4 414.5l-6.9-31.2L240 353.8V176H216 96.1c-18.9 .1-33.9 9.9-45.5 28.1C38.5 223.1 32 248.8 32 272c0 50.8 21.4 96.1 60.3 110.8c3.5 1.3 9.1 1.8 15.1 .5l6.9 31.2c-10.9 2.4-22.9 2.2-33.4-1.8C24.1 391.2 0 328.9 0 272c0-56.5 30.9-127.7 96-128h60.1zM400 176V353.8l132.6 29.5c6 1.3 11.6 .9 15.1-.5c38.9-14.7 60.3-60 60.3-110.8c0-23.2-6.5-48.9-18.6-67.9c-11.6-18.2-26.6-28-45.5-28.1H424 400zm24-32c22.1 0 40-17.9 40-40s-17.9-40-40-40h-3c-13.4 0-26 6.2-34.1 16.8L338.2 144H384h40zm-88 32H304 272V438.1l40.8-20.4c4.5-2.3 9.8-2.3 14.3 0L368 438.1V176H336z\"]\n};\nvar faScrollRibbon = faDiploma;\nvar faScreencast = {\n prefix: 'fal',\n iconName: 'screencast',\n icon: [576, 512, [], \"e23e\", \"M512 64H64C46.3 64 32 78.3 32 96v96.1c-2.7-.1-5.3-.1-8-.1H0V96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H288V456c0-2.7 0-5.3-.1-8H512c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zM16 224c132.5 0 240 107.5 240 240c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-114.9-93.1-208-208-208c-8.8 0-16-7.2-16-16s7.2-16 16-16zM32 416a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM0 336c0-8.8 7.2-16 16-16c79.5 0 144 64.5 144 144c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-61.9-50.1-112-112-112c-8.8 0-16-7.2-16-16z\"]\n};\nvar faWalker = {\n prefix: 'fal',\n iconName: 'walker',\n icon: [448, 512, [], \"f831\", \"M178.8 32H320c26.5 0 48 21.5 48 48V192H103.4L132 69.1C137.1 47.4 156.5 32 178.8 32zM368 224V386c-27.6 7.1-48 32.2-48 62c0 35.3 28.7 64 64 64s64-28.7 64-64c0-29.8-20.4-54.9-48-62V80c0-44.2-35.8-80-80-80H178.8c-37.2 0-69.5 25.6-77.9 61.8L.4 492.4c-2 8.6 3.3 17.2 11.9 19.2s17.2-3.3 19.2-11.9L96 223.6v.4H368zm48 224a32 32 0 1 1 -64 0 32 32 0 1 1 64 0z\"]\n};\nvar faPrescription = {\n prefix: 'fal',\n iconName: 'prescription',\n icon: [448, 512, [], \"f5b1\", \"M31.1 0C13.9 0 0 13.9 0 31.1V208v96c0 8.8 7.2 16 16 16s16-7.2 16-16V224H137.4l128 128L132.7 484.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L288 374.6 420.7 507.3c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L310.6 352 443.3 219.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L288 329.4 182.4 223.8C241.3 220.5 288 171.7 288 112C288 50.1 237.9 0 176 0H31.1zM144 192s0 0 0 0H32V32H176c44.2 0 80 35.8 80 80s-35.8 80-80 80H144z\"]\n};\nvar faShop = {\n prefix: 'fal',\n iconName: 'shop',\n icon: [640, 512, [\"store-alt\"], \"f54f\", \"M0 185.8c0-6.4 1.6-12.7 4.7-18.3L82.4 25C90.8 9.6 106.9 0 124.5 0h391c17.6 0 33.7 9.6 42.1 25l77.7 142.4c3.1 5.6 4.7 11.9 4.7 18.3c0 21.1-17.1 38.2-38.2 38.2H576V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V224H96V352H352V272 256h32v16V464c0 26.5-21.5 48-48 48H112c-26.5 0-48-21.5-48-48V224H38.2C17.1 224 0 206.9 0 185.8zM80 192H560h41.8c3.4 0 6.2-2.8 6.2-6.2c0-1-.3-2.1-.8-3L529.6 40.3c-2.8-5.1-8.2-8.3-14-8.3h-391c-5.9 0-11.2 3.2-14 8.3L32.8 182.8c-.5 .9-.8 1.9-.8 3c0 3.4 2.8 6.2 6.2 6.2H80zM96 464c0 8.8 7.2 16 16 16H336c8.8 0 16-7.2 16-16V384H96v80z\"]\n};\nvar faStoreAlt = faShop;\nvar faFloppyDisk = {\n prefix: 'fal',\n iconName: 'floppy-disk',\n icon: [448, 512, [128190, 128426, \"save\"], \"f0c7\", \"M32 96c0-17.7 14.3-32 32-32l0 96c0 17.7 14.3 32 32 32H288c17.7 0 32-14.3 32-32V65.8c4.5 1.6 8.7 4.2 12.1 7.6l74.5 74.5c6 6 9.4 14.1 9.4 22.6V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V96zM96 64H288v96H96V64zM0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V170.5c0-17-6.7-33.3-18.7-45.3L354.7 50.7c-12-12-28.3-18.7-45.3-18.7H64C28.7 32 0 60.7 0 96zM272 320a48 48 0 1 1 -96 0 48 48 0 1 1 96 0zm-48-80a80 80 0 1 0 0 160 80 80 0 1 0 0-160z\"]\n};\nvar faSave = faFloppyDisk;\nvar faVihara = {\n prefix: 'fal',\n iconName: 'vihara',\n icon: [640, 512, [], \"f6a7\", \"M309.8 3.7l-26.3 21c-33.9 27.1-72.3 48-113.5 61.8l-31 10.3c-8.4 2.8-12.9 11.9-10.1 20.2s11.9 12.9 20.2 10.1l10.9-3.6v47.2c-28.9 33.7-67.6 57.6-110.7 68.4l-4.8 1.2c-1.3 .3-2.5 .7-3.6 1.3c-2.1 1.1-4 2.6-5.4 4.4s-2.5 4-3 6.3c-.4 1.8-.5 3.6-.3 5.5s.8 3.6 1.6 5.2c1.1 2.1 2.6 4 4.4 5.4s4 2.5 6.3 3c1.2 .3 2.5 .4 3.9 .4H96v61.6c-14.7 31.3-38.9 57.3-69.2 74.1L8.5 417.9c-.6 .3-1.2 .7-1.7 1.1c-1.9 1.3-3.5 3-4.6 5s-1.9 4.1-2.1 6.4c-.2 1.9-.1 3.8 .4 5.7s1.3 3.6 2.4 5.2c1.3 1.9 3 3.5 5 4.6s4.1 1.9 6.4 2.1c.7 .1 1.3 .1 2 .1H64v48c0 8.8 7.2 16 16 16s16-7.2 16-16V448H224v48c0 8.8 7.2 16 16 16s16-7.2 16-16V448h64 64v48c0 8.8 7.2 16 16 16s16-7.2 16-16V448H544v48c0 8.8 7.2 16 16 16s16-7.2 16-16V448h47.7c.7 0 1.4 0 2-.1c2.3-.2 4.5-1 6.4-2.1s3.6-2.7 5-4.6c1.1-1.6 1.9-3.3 2.4-5.2s.6-3.8 .4-5.7c-.2-2.3-1-4.5-2.1-6.4s-2.7-3.6-4.6-5c-.6-.4-1.1-.7-1.7-1.1l-18.3-10.2c-30.3-16.8-54.5-42.8-69.2-74.1V272h47.7c1.3 0 2.6-.1 3.9-.4c2.3-.5 4.5-1.6 6.3-3s3.4-3.3 4.4-5.4c.8-1.6 1.4-3.4 1.6-5.2s.1-3.7-.3-5.5c-.5-2.3-1.6-4.5-3-6.3s-3.3-3.4-5.4-4.4c-1.1-.6-2.4-1-3.6-1.3l-4.8-1.2c-43.2-10.8-81.8-34.7-110.7-68.4V123.5l10.9 3.6c8.4 2.8 17.4-1.7 20.2-10.1s-1.7-17.4-10.1-20.2L470 86.5c-41.2-13.7-79.6-34.6-113.5-61.8l-26.3-21c-1.1-.9-2.2-1.6-3.4-2.2C324.7 .5 322.3 0 320 0s-4.7 .5-6.8 1.5c-1.2 .6-2.4 1.3-3.4 2.2zM128 352H320 512h5.4c12.5 24.8 30 46.6 51.3 64H320 71.3c21.3-17.4 38.8-39.2 51.3-64H128zm0-32V272H320 512v48H320 128zm64-160V112.7c40.3-14.9 77.9-36.1 111.5-62.9L320 36.5l16.5 13.2c33.6 26.8 71.2 48.1 111.5 62.9V160H320 192zm128 80H128.1c20.8-13 39.7-29.2 55.9-48H320 456c16.2 18.8 35.1 35 55.9 48H320z\"]\n};\nvar faFaceKissClosedEyes = {\n prefix: 'fal',\n iconName: 'face-kiss-closed-eyes',\n icon: [512, 512, [], \"e37d\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm276.7 48.5c-10.8-5.3-25.3-9.2-38.6-11c-7.4-1-12.6-7.9-11.6-15.4s7.9-12.6 15.4-11.6c15.2 2.1 32.7 6.6 46.8 13.6c7 3.4 13.9 7.8 19.2 13.4c5.4 5.6 9.8 13.2 9.8 22.5s-4.4 16.9-9.8 22.5c-5.3 5.5-12.2 9.9-19.2 13.4l-.2 .1 .2 .1c7 3.4 13.9 7.8 19.2 13.4c5.4 5.6 9.8 13.2 9.8 22.5s-4.4 16.9-9.8 22.5c-5.3 5.5-12.2 9.9-19.2 13.4c-14.1 6.9-31.6 11.4-46.8 13.6c-7.4 1-14.3-4.1-15.4-11.6s4.1-14.3 11.6-15.4c13.3-1.9 27.8-5.8 38.6-11c5.4-2.7 9.2-5.3 11.5-7.7c2.7-2.9 2.7-4.7 0-7.6c-2.3-2.4-6.1-5.1-11.5-7.7c-10.7-5.3-25.1-9.1-38.3-11c-6.7-.8-12-6.7-12-13.5c0-6.8 5.3-12.7 12-13.5c13.2-1.9 27.6-5.8 38.3-11c5.4-2.7 9.2-5.3 11.5-7.7c2.7-2.9 2.7-4.7 0-7.6c-2.3-2.4-6.1-5.1-11.5-7.7zm-65.5-70.9c-17.6-23.5-52.8-23.5-70.4 0c-5.3 7.1-15.3 8.5-22.4 3.2s-8.5-15.3-3.2-22.4c30.4-40.5 91.2-40.5 121.6 0c5.3 7.1 3.9 17.1-3.2 22.4s-17.1 3.9-22.4-3.2zm89.6 0c-5.3 7.1-15.3 8.5-22.4 3.2s-8.5-15.3-3.2-22.4c30.4-40.5 91.2-40.5 121.6 0c5.3 7.1 3.9 17.1-3.2 22.4s-17.1 3.9-22.4-3.2c-17.6-23.5-52.8-23.5-70.4 0z\"]\n};\nvar faScaleUnbalanced = {\n prefix: 'fal',\n iconName: 'scale-unbalanced',\n icon: [640, 512, [\"balance-scale-left\"], \"f515\", \"M527.8 10.9c2.8 8.4-1.7 17.4-10.1 20.2L383.5 75.9c-4.6 24.4-23.1 43.9-46.9 50.1V480h192c8.8 0 16 7.2 16 16s-7.2 16-16 16h-208c-8.8 0-16-7.2-16-16V126c-10.3-2.6-19.6-7.8-27.2-14.7L133.7 159.2c-8.4 2.8-17.4-1.7-20.2-10.1s1.7-17.4 10.1-20.2L259.7 83.5c-2-6.1-3-12.7-3-19.5c0-35.3 28.7-64 64-64c28 0 51.8 18 60.5 43L507.6 .8C516-2 525 2.6 527.8 10.9zM440.7 330.3C457.8 343.1 482.9 352 512 352s54.2-8.9 71.3-21.7C600.4 317.5 608 302.2 608 288H416v-1.6l0 .1V288c0 14.2 7.6 29.5 24.7 42.3zm71.3-215L426.3 256H597.7L512 115.3zM384 288v-1.6c0-14.7 4-29.1 11.7-41.6l92-151.2C492.8 85.2 502.1 80 512 80s19.2 5.2 24.3 13.7l92 151.2c7.6 12.5 11.7 26.9 11.7 41.6V288c0 53-57.3 96-128 96s-128-43-128-96zM32 416c0 14.2 7.6 29.5 24.7 42.3C73.8 471.1 98.9 480 128 480s54.2-8.9 71.3-21.7C216.4 445.5 224 430.2 224 416H32v-1.6l0 .1V416zm10.3-32H213.7L128 243.3 42.3 384zM128 512C57.3 512 0 469 0 416v-1.6c0-14.7 4-29.1 11.7-41.6l92-151.2c5.2-8.5 14.4-13.7 24.3-13.7s19.2 5.2 24.3 13.7l92 151.2c7.6 12.5 11.7 26.9 11.7 41.6V416c0 53-57.3 96-128 96zM320.7 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faBalanceScaleLeft = faScaleUnbalanced;\nvar faFileUser = {\n prefix: 'fal',\n iconName: 'file-user',\n icon: [384, 512, [], \"f65c\", \"M320 480H304V464c0-44.2-35.8-80-80-80H160c-44.2 0-80 35.8-80 80v16H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H192V144c0 26.5 21.5 48 48 48H352V448c0 17.7-14.3 32-32 32zm-48-16v16H112V464c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48zM240 160c-8.8 0-16-7.2-16-16V32.5c2.8 .7 5.4 2.1 7.4 4.2L347.3 152.6c2.1 2.1 3.5 4.6 4.2 7.4H240zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V163.9c0-12.7-5.1-24.9-14.1-33.9L254.1 14.1c-9-9-21.2-14.1-33.9-14.1H64zM192 256a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 96a64 64 0 1 0 0-128 64 64 0 1 0 0 128z\"]\n};\nvar faUserPoliceTie = {\n prefix: 'fal',\n iconName: 'user-police-tie',\n icon: [448, 512, [], \"e334\", \"M230.9 .8l144 32c11.4 2.5 20.5 11.1 23.8 22.3s.2 23.3-8.1 31.6l-6.2-6.2 6.2 6.2L368 109.3v1.6c0 15.6-7.6 31.8-23.2 40.1c-22.5 12-59.5 25-120.8 25s-98.3-13.1-120.8-25C87.6 142.7 80 126.5 80 110.9v-1.6L57.4 86.6C49.1 78.4 46 66.3 49.3 55.1s12.4-19.8 23.8-22.3l144-32c4.6-1 9.3-1 13.9 0zM80 64l27.3 27.3c3 3 4.7 7.1 4.7 11.3v8.2c0 5.8 2.8 10 6.2 11.8c11.9 6.3 30.3 13.8 58.4 18C163.8 121.1 160 98.9 160 83.2c0-6.5 4-12.4 10.1-14.9l48-19.2c3.8-1.5 8.1-1.5 11.9 0l48 19.2C284 70.8 288 76.7 288 83.2c0 15.7-3.8 37.9-16.5 57.5c28.1-4.2 46.5-11.7 58.4-18c3.4-1.8 6.2-6 6.2-11.8v-8.2c0-4.2 1.7-8.3 4.7-11.3L368 64 224 32 80 64zm96 304c0-8.8 7.2-16 16-16h32 32c8.8 0 16 7.2 16 16s-7.2 16-16 16h-6.1l18.4 36.9 51.6-68.7C391.2 355.4 448 414.3 448 486.4c0 14.1-11.5 25.6-25.6 25.6H240 208 25.6C11.5 512 0 500.5 0 486.4c0-72.1 56.8-131 128.1-134.3l51.6 68.7L198.1 384H192c-8.8 0-16-7.2-16-16zm48 35.8l-22.9 45.7 2.9 3.8L224 480l0 0 0 0 20-26.7 2.9-3.8L224 403.8zM184 480l-70.4-93.9C69 395.3 35.1 433.4 32.2 480H184zm80 0H415.8c-2.9-46.5-36.8-84.7-81.4-93.9L264 480zM96 192c0-2.9 .1-5.8 .3-8.7c9.1 4.3 19.6 8.5 31.8 12.1c1.8 51.4 44.1 92.6 95.9 92.6s94.1-41.1 95.9-92.6c12.2-3.6 22.7-7.8 31.8-12.1c.2 2.9 .3 5.8 .3 8.7c0 70.7-57.3 128-128 128s-128-57.3-128-128zm128-49.7c20.5-11.3 28.9-31.3 31.3-48.5L224 81.2 192.7 93.7c2.3 17.3 10.8 37.3 31.3 48.5z\"]\n};\nvar faFaceTongueMoney = {\n prefix: 'fal',\n iconName: 'face-tongue-money',\n icon: [512, 512, [], \"e39d\", \"M32 256C32 132.3 132.3 32 256 32s224 100.3 224 224c0 79.8-41.7 149.8-104.5 189.5c-7.5 4.7-9.7 14.6-5 22.1s14.6 9.7 22.1 5C464.3 427.3 512 347.2 512 256C512 114.6 397.4 0 256 0S0 114.6 0 256c0 91.2 47.7 171.3 119.5 216.6c7.5 4.7 17.4 2.5 22.1-5s2.5-17.4-5-22.1C73.7 405.8 32 335.8 32 256zm96 32c-17.1 0-33.2 14.3-31 33.7c4.8 43.9 27.4 82.4 60.3 108.2l4.3 3.4C169.7 478 208.9 512 256 512s86.3-34 94.5-78.7l4.3-3.4c32.9-25.8 55.4-64.3 60.3-108.2c2.1-19.4-13.9-33.7-31-33.7H352 320 192 160 128zm160 32h32v32 64c0 35.3-28.7 64-64 64s-64-28.7-64-64V352 320h32 64zm-159 0h31v68.7c-16.6-18.8-27.8-42.5-31-68.7zm254 0c-3.3 26.1-14.4 49.9-31 68.7V320h31zM192 104c0-8.8-7.2-16-16-16s-16 7.2-16 16v9.3c-5.7 1.2-11.6 3.3-17 7.1c-7.5 5.4-12.6 13.5-14.4 23.6c-1.3 7.3-.7 14.5 2.2 21.2c2.9 6.6 7.6 11.3 12.4 14.6c8.4 5.8 19.3 9 27.2 11.2l1.1 .3c9.6 2.7 15.4 4.6 18.8 7c2.6 1.8 2.2 6.4-.6 8l0 0c-1.2 .7-3.8 1.6-8.8 1.5c-10.1-.2-22.5-3.9-32-7.1c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2c5.1 1.7 12.6 4.2 21.1 6V248c0 8.8 7.2 16 16 16s16-7.2 16-16v-8.9c4.8-.9 9.8-2.5 14.4-5.2c9.1-5.5 15-14.4 17-25.9c1.3-7.3 .7-14.5-2.2-21.2c-2.9-6.6-7.6-11.3-12.4-14.6c-7.1-5-15.5-7.2-23.9-9.4c-8.2-2.2-16.4-4.3-23.3-9.1c-2.4-1.7-2.4-5.3 .2-7.2c1-.7 3.1-1.7 7.1-2.1c8.2-.9 18.7 1 27 3.2c8.5 2.3 17.3-2.8 19.6-11.3s-2.8-17.3-11.3-19.6c-3.4-.9-7.5-1.9-12.1-2.7V104zM336 88c-8.8 0-16 7.2-16 16v9.3c-5.7 1.2-11.6 3.3-17 7.1c-7.5 5.4-12.6 13.5-14.4 23.6c-1.3 7.3-.7 14.5 2.2 21.2c2.9 6.6 7.6 11.3 12.4 14.6c8.4 5.8 19.4 9 27.2 11.2l1.1 .3c9.5 2.7 15.4 4.6 18.8 7c2.6 1.8 2.2 6.4-.6 8l0 0c-1.2 .7-3.8 1.6-8.8 1.5c-10.1-.2-22.5-3.9-32-7.1c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2c5.1 1.7 12.6 4.2 21.1 6V248c0 8.8 7.2 16 16 16s16-7.2 16-16v-8.9c4.8-.9 9.8-2.5 14.4-5.2c9.1-5.5 15-14.4 17-25.9c1.3-7.3 .7-14.5-2.2-21.2c-2.9-6.6-7.6-11.3-12.4-14.6c-7.1-5-15.5-7.2-23.9-9.4c-8.2-2.2-16.4-4.3-23.3-9.1c-2.4-1.7-2.4-5.3 .2-7.2c1-.7 3.1-1.7 7.1-2.1c8.2-.9 18.7 1 27 3.2c8.5 2.3 17.3-2.8 19.6-11.3s-2.8-17.3-11.3-19.6c-3.4-.9-7.5-1.9-12.1-2.7V104c0-8.8-7.2-16-16-16zM267.2 347.6c0-6.4-5.4-11.6-12-11.6s-12 5.2-12 11.6v6.8c-4.3 .8-8.7 2.4-12.7 5.2c-5.6 4-9.5 9.8-10.8 17.2c-.9 5.3-.5 10.6 1.7 15.4c2.2 4.8 5.7 8.2 9.3 10.6c6.3 4.2 14.5 6.5 20.4 8.1l.8 .2c7.2 2 11.5 3.3 14.1 5.1c1.9 1.3 1.6 4.6-.4 5.8l0 0c-.9 .5-2.8 1.1-6.6 1.1c-7.6-.1-16.9-2.9-24-5.2c-6.3-2-13.1 1.3-15.2 7.4s1.3 12.7 7.6 14.7c3.8 1.2 9.5 3 15.8 4.4v7.8c0 6.4 5.4 11.6 12 11.6s12-5.2 12-11.6v-6.5c3.6-.6 7.3-1.8 10.8-3.8c6.8-4 11.2-10.5 12.7-18.9c.9-5.3 .5-10.6-1.7-15.4c-2.2-4.8-5.7-8.2-9.3-10.6c-5.4-3.6-11.7-5.2-17.9-6.8c-6.2-1.6-12.3-3.2-17.5-6.6c-1.8-1.2-1.8-3.9 .2-5.2c.7-.5 2.3-1.2 5.3-1.5c6.1-.6 14 .7 20.2 2.3c6.4 1.7 13-2 14.7-8.3s-2.1-12.6-8.5-14.2c-2.5-.7-5.7-1.4-9.1-2v-7.2z\"]\n};\nvar faTennisBall = {\n prefix: 'fal',\n iconName: 'tennis-ball',\n icon: [512, 512, [127934], \"f45e\", \"M256.6 480c-4.5-58.4 15.6-118.4 60.3-163.1s104.6-64.8 163.1-60.3c0-.2 0-.4 0-.6C480 132.3 379.7 32 256 32c-.2 0-.4 0-.6 0c4.5 58.4-15.6 118.4-60.3 163.1S90.4 259.9 32 255.4c0 .2 0 .4 0 .6c0 123.7 100.3 224 224 224c.2 0 .4 0 .6 0zm31.9-2.3c97.7-14.2 174.9-91.4 189.1-189.1c-49.5-3.8-100.3 13.2-138.1 51s-54.8 88.6-51 138.1zM223.5 34.3C125.8 48.6 48.6 125.8 34.3 223.5c49.5 3.8 100.3-13.2 138.1-51s54.8-88.6 51-138.1zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z\"]\n};\nvar faSquareL = {\n prefix: 'fal',\n iconName: 'square-l',\n icon: [448, 512, [], \"e275\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm160 48V352H304c8.8 0 16 7.2 16 16s-7.2 16-16 16H160c-17.7 0-32-14.3-32-32V144c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faSortUp = {\n prefix: 'fal',\n iconName: 'sort-up',\n icon: [320, 512, [\"sort-asc\"], \"f0de\", \"M154.4 66.2c1.4-1.3 3.5-2.2 5.6-2.2s4.2 .8 5.6 2.2L285.8 179.7c1.4 1.3 2.2 3.2 2.2 5.2c0 3.9-3.2 7.1-7.1 7.1H39.1c-3.9 0-7.1-3.2-7.1-7.1c0-2 .8-3.8 2.2-5.2L154.4 66.2zm-22-23.3L12.3 156.4C4.4 163.8 0 174.1 0 184.9C0 206.5 17.5 224 39.1 224H280.9c21.6 0 39.1-17.5 39.1-39.1c0-10.8-4.4-21.1-12.3-28.5L187.6 42.9C180.1 35.9 170.2 32 160 32s-20.1 3.9-27.6 10.9z\"]\n};\nvar faSortAsc = faSortUp;\nvar faCalendarArrowUp = {\n prefix: 'fal',\n iconName: 'calendar-arrow-up',\n icon: [448, 512, [\"calendar-upload\"], \"e0d1\", \"M128 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V64H64C28.7 64 0 92.7 0 128v32 32V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V192 160 128c0-35.3-28.7-64-64-64H352V16c0-8.8-7.2-16-16-16s-16 7.2-16 16V64H128V16zM32 192H416V448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V192zM64 96H384c17.7 0 32 14.3 32 32v32H32V128c0-17.7 14.3-32 32-32zM208 416c0 8.8 7.2 16 16 16s16-7.2 16-16l0-121.4 52.7 52.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-80-80c-6.2-6.2-16.4-6.2-22.6 0l-80 80c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L208 294.6 208 416z\"]\n};\nvar faCalendarUpload = faCalendarArrowUp;\nvar faCommentDots = {\n prefix: 'fal',\n iconName: 'comment-dots',\n icon: [512, 512, [128172, 62075, \"commenting\"], \"f4ad\", \"M32 240c0-91.4 93.8-176 224-176s224 84.6 224 176s-93.8 176-224 176c-32 0-63-5.9-93.5-16.2c-9.9-3.3-20.7-1.8-29.2 4.2c-15.4 10.7-31.4 20-48.4 27.4L91.2 446l-6.4-14.7c-10.5 4.6-21.5 8.6-32.7 11.5c.5-.9 1.1-1.8 1.6-2.6C68 416.5 76.3 391 79.4 363.9c1-9.2-2.1-17.7-7.4-23.9c-24.5-29.4-40-62.9-40-100zM256 32C114.5 32 0 125.2 0 240c0 46.6 19.6 87.1 47.4 120.5c0 .1 .1 .1 .1 .2c-2.6 22.6-9.5 43.5-21.3 63.1c-6.5 10.8-13.5 20.8-21.7 29c-4.5 4.6-5.9 11.5-3.4 17.4s8.3 9.8 14.8 9.8c28.7 0 57.6-8.9 81.6-19.3c19.2-8.4 37.1-18.7 53.9-30.5c.2-.1 .5-.2 .7-.1C185.5 441.3 220 448 256 448c141.5 0 256-93.2 256-208S397.5 32 256 32zM128 264a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm128 0a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm152-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faCommenting = faCommentDots;\nvar faPlantWilt = {\n prefix: 'fal',\n iconName: 'plant-wilt',\n icon: [512, 512, [], \"e5aa\", \"M288 96c0-35.3 28.7-64 64-64s64 28.7 64 64v33.1c-38.4 5.7-64 32.2-64 73.9c0 27.9 25.3 74.8 66 111.6c3.8 3.5 8.9 5.3 14 5.3s10.2-1.8 14-5.3c40.7-36.8 66-83.7 66-111.6c0-41.7-25.6-68.3-64-73.9V96c0-53-43-96-96-96s-96 43-96 96v65.6c-20.3-20.7-48.7-33.6-80-33.6c-61.9 0-112 50.1-112 112v17.1c-38.4 5.7-64 32.2-64 73.9C0 359 25.3 405.9 66 442.7c3.8 3.5 8.9 5.3 14 5.3s10.2-1.8 14-5.3c40.7-36.8 66-83.7 66-111.6c0-41.7-25.6-68.3-64-73.9V240c0-44.2 35.8-80 80-80s80 35.8 80 80v40V496c0 8.8 7.2 16 16 16s16-7.2 16-16V280 240 96zm128 65.7V192c0 8.8 7.2 16 16 16s16-7.2 16-16V161.7c8.9 2 15.5 5.6 20.1 9.8c6.6 6 11.9 15.8 11.9 31.6c0 5.8-3.3 18.8-13.5 36.5c-8.3 14.5-20.1 30-34.5 44.3c-14.4-14.3-26.2-29.9-34.5-44.3c-10.2-17.7-13.5-30.7-13.5-36.5c0-15.8 5.3-25.6 11.9-31.6c4.6-4.2 11.2-7.8 20.1-9.8zM43.9 299.5c4.6-4.2 11.2-7.8 20.1-9.8v30.6c0 8.8 7.2 16 16 16s16-7.2 16-16V289.7c8.9 2 15.5 5.6 20.1 9.8c6.6 6 11.9 15.8 11.9 31.6c0 5.8-3.3 18.8-13.5 36.5c-8.3 14.5-20.1 30-34.5 44.3C65.6 397.6 53.8 382 45.5 367.6C35.3 349.8 32 336.9 32 331.1c0-15.8 5.3-25.6 11.9-31.6z\"]\n};\nvar faScarf = {\n prefix: 'fal',\n iconName: 'scarf',\n icon: [512, 512, [129507], \"f7c1\", \"M221.4 32h69.1c17.3 0 33.3 9.4 41.8 24.5l41.5 73.8c6.6 11.8 10.1 25.1 10.1 38.6c0 20.9-8.3 40.9-23 55.6l-9 9L246.6 128H304c8.8 0 16-7.2 16-16s-7.2-16-16-16H227.3c-21.4 0-32.1 25.9-17 41L340.7 267.3 385.4 312 312 385.4l-161-161c-14.8-14.7-23-34.8-23-55.6c0-13.5 3.5-26.8 10.1-38.6l41.5-73.8C188.1 41.4 204.1 32 221.4 32zM374.6 256l9-9c20.8-20.8 32.4-48.9 32.4-78.2c0-19-4.9-37.7-14.2-54.2L360.3 40.8C346.1 15.6 319.5 0 290.6 0H221.4c-28.9 0-55.6 15.6-69.7 40.8l-41.5 73.8C100.9 131.1 96 149.8 96 168.8c0 29.3 11.7 57.5 32.4 78.2L300.7 419.3l8 8 0 0 3.3 3.3 76.7 76.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L334.6 408 360 382.6l76.7 76.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L382.6 360 408 334.6l76.7 76.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L430.6 312l-3.3-3.3 0 0-8-8L374.6 256zM233.4 397.3l-22.6-22.6L100.7 484.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L233.4 397.3zm-48-48l-22.6-22.6L52.7 436.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L185.4 349.3zm-48-48l-22.6-22.6L4.7 388.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L137.4 301.3z\"]\n};\nvar faAlbumCirclePlus = {\n prefix: 'fal',\n iconName: 'album-circle-plus',\n icon: [576, 512, [], \"e48c\", \"M384 64H64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H275.2c5.9 11.4 12.9 22.2 21 32H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64v96.7c-5.3-.5-10.6-.7-16-.7s-10.7 .2-16 .7V96c0-17.7-14.3-32-32-32zM224 96c69.3 0 128.3 44 150.5 105.6c-10.2 3.5-20 8-29.3 13.2C328.1 164.3 280.3 128 224 128c-70.7 0-128 57.3-128 128s57.3 128 128 128c11.2 0 22-1.4 32.4-4.1c.7 10.9 2.4 21.5 5 31.7c-12 2.9-24.5 4.4-37.4 4.4c-88.4 0-160-71.6-160-160s71.6-160 160-160zm0 136a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM544 368a112 112 0 1 0 -224 0 112 112 0 1 0 224 0zm-256 0a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm160-64v48h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H448v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V384H368c-8.8 0-16-7.2-16-16s7.2-16 16-16h48V304c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faUserNurseHairLong = {\n prefix: 'fal',\n iconName: 'user-nurse-hair-long',\n icon: [448, 512, [], \"e45e\", \"M128 144V76.9l96-42 96 42V144H128zM96 76.9V144v16c0 35.3-16.6 68.4-44.8 89.6l-4.3 3.2C37.5 259.9 32 270.9 32 282.7C32 303.3 48.7 320 69.3 320H128c8.8 0 16-7.2 16-16s-7.2-16-16-16H69.3c-2.9 0-5.3-2.4-5.3-5.3c0-1.7 .8-3.3 2.1-4.3l4.3-3.2c15.8-11.9 28.8-26.7 38.4-43.3C129.5 274.6 173.3 304 224 304s94.5-29.4 115.2-72.2c9.6 16.7 22.6 31.5 38.4 43.3l4.3 3.2c1.3 1 2.1 2.6 2.1 4.3c0 2.9-2.4 5.3-5.3 5.3H320c-8.8 0-16 7.2-16 16s7.2 16 16 16h58.7c20.6 0 37.3-16.7 37.3-37.3c0-11.8-5.5-22.8-14.9-29.9l-4.3-3.2C368.6 228.4 352 195.3 352 160V144 76.9c0-12.7-7.5-24.2-19.2-29.3l-96-42c-8.2-3.6-17.5-3.6-25.7 0l-96 42C103.5 52.7 96 64.2 96 76.9zM320 176v0c0 53-43 96-96 96c-35.5 0-66.6-19.3-83.2-48h21.5c35.5 0 68.3-18.3 87-48H320zm-112.8 0c-12.4 10.2-28.2 16-44.8 16h-33c-.9-5.2-1.3-10.5-1.3-16v0h79.2zM130.8 382l59.3 59.3c18.7 18.7 49.1 18.7 67.9 0L317.2 382c52.8 1.8 95.4 43.5 98.6 95.9H32.2c3.2-52.4 45.9-94.1 98.6-95.9zm20-25.3c-4.3-4.3-10.2-6.8-16.4-6.8C60.2 349.9 0 410.1 0 484.3c0 14.1 11.5 25.6 25.6 25.6H422.4c14.1 0 25.6-11.5 25.6-25.6c0-74.2-60.2-134.4-134.4-134.4c-6.1 0-12 2.4-16.4 6.8l-61.9 61.9c-6.2 6.2-16.4 6.2-22.6 0l-61.9-61.9zM208 56V72H192c-4.4 0-8 3.6-8 8V96c0 4.4 3.6 8 8 8h16v16c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8V104h16c4.4 0 8-3.6 8-8V80c0-4.4-3.6-8-8-8H240V56c0-4.4-3.6-8-8-8H216c-4.4 0-8 3.6-8 8z\"]\n};\nvar faDiamond = {\n prefix: 'fal',\n iconName: 'diamond',\n icon: [512, 512, [9830], \"f219\", \"M250.3 34.3c3.1-3.1 8.2-3.1 11.3 0l216 216c3.1 3.1 3.1 8.2 0 11.3l-216 216c-3.1 3.1-8.2 3.1-11.3 0l-216-216c-3.1-3.1-3.1-8.2 0-11.3l216-216zm33.9-22.6c-15.6-15.6-40.9-15.6-56.6 0l-216 216c-15.6 15.6-15.6 40.9 0 56.6l216 216c15.6 15.6 40.9 15.6 56.6 0l216-216c15.6-15.6 15.6-40.9 0-56.6l-216-216z\"]\n};\nvar faSquareLeft = {\n prefix: 'fal',\n iconName: 'square-left',\n icon: [448, 512, [11013, \"arrow-alt-square-left\"], \"f351\", \"M32 416c0 17.7 14.3 32 32 32l320 0c17.7 0 32-14.3 32-32l0-320c0-17.7-14.3-32-32-32L64 64C46.3 64 32 78.3 32 96l0 320zm32 64c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l320 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480zM80 256c0-9.2 3.5-18 9.7-24.7l84-91c7.2-7.8 17.4-12.3 28.1-12.3c21.1 0 38.3 17.1 38.3 38.3l0 25.7 80 0c26.5 0 48 21.5 48 48l0 32c0 26.5-21.5 48-48 48l-80 0 0 25.7c0 21.1-17.1 38.3-38.3 38.3c-10.7 0-20.9-4.5-28.1-12.3l-84-91C83.5 274 80 265.2 80 256zm33.2 3l84 91c1.2 1.3 2.9 2 4.6 2c3.5 0 6.3-2.8 6.3-6.3l0-41.7c0-8.8 7.2-16 16-16l96 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-96 0c-8.8 0-16-7.2-16-16l0-41.7c0-3.5-2.8-6.3-6.3-6.3c-1.7 0-3.4 .7-4.6 2l-84 91c-.8 .8-1.2 1.9-1.2 3s.4 2.2 1.2 3z\"]\n};\nvar faArrowAltSquareLeft = faSquareLeft;\nvar faFaceGrinSquint = {\n prefix: 'fal',\n iconName: 'face-grin-squint',\n icon: [512, 512, [128518, \"grin-squint\"], \"f585\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256 98.1c-31.2 0-61.4-2.9-89.9-8.3c22.6 23.6 54.5 38.3 89.9 38.3s67.3-14.7 89.9-38.3c-28.5 5.4-58.7 8.3-89.9 8.3zm142.8-30.7c-24.1 54.6-79 92.7-142.8 92.7s-118.7-38.1-142.8-92.7c-5.2-11.7 6.8-22.4 19.1-18.7c37.3 11.1 79.3 17.4 123.8 17.4s86.4-6.3 123.8-17.4c12.3-3.7 24.2 7 19.1 18.7zM129.3 168.8c4-7.9 13.6-11.1 21.5-7.2l64 32c5.4 2.7 8.8 8.3 8.8 14.3s-3.4 11.6-8.8 14.3l-64 32c-7.9 4-17.5 .7-21.5-7.2s-.7-17.5 7.2-21.5L171.9 208l-35.4-17.7c-7.9-4-11.1-13.6-7.2-21.5zm246.2 21.5L340.2 208l35.4 17.7c7.9 4 11.1 13.6 7.2 21.5s-13.6 11.1-21.5 7.2l-64-32c-5.4-2.7-8.8-8.3-8.8-14.3s3.4-11.6 8.8-14.3l64-32c7.9-4 17.5-.7 21.5 7.2s.7 17.5-7.2 21.5z\"]\n};\nvar faGrinSquint = faFaceGrinSquint;\nvar faCircleEllipsisVertical = {\n prefix: 'fal',\n iconName: 'circle-ellipsis-vertical',\n icon: [512, 512, [], \"e10b\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm-24-72a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm24 168a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faHandHoldingDollar = {\n prefix: 'fal',\n iconName: 'hand-holding-dollar',\n icon: [576, 512, [\"hand-holding-usd\"], \"f4c0\", \"M304 24V41.3c8.5 1.2 16.7 3.1 24.1 5.1c8.5 2.3 13.6 11 11.3 19.6s-11 13.6-19.6 11.3c-11.1-3-22-5.2-32.1-5.3c-8.4-.1-17.3 1.8-23.6 5.5c-5.7 3.4-8.1 7.3-8.1 12.8c0 3.7 1.3 6.5 7.3 10.1c6.9 4.1 16.6 7.1 29.2 10.9l.5 .1 0 0c11.3 3.4 25.3 7.6 36.3 14.6c12.1 7.6 22.4 19.7 22.7 38.2c.3 19.3-9.6 33.3-22.9 41.6c-7.7 4.8-16.4 7.6-25.1 9.1V232c0 8.8-7.2 16-16 16s-16-7.2-16-16V214.2c-11.2-2.1-21.7-5.7-30.9-8.9c-2.1-.7-4.2-1.4-6.2-2.1c-8.4-2.8-12.9-11.9-10.1-20.2s11.9-12.9 20.2-10.1c2.5 .8 4.8 1.6 7.1 2.4l0 0 0 0c13.6 4.6 24.6 8.4 36.3 8.7c9.1 .3 17.9-1.7 23.7-5.3c5.1-3.2 7.9-7.3 7.8-14c-.1-4.6-1.8-7.8-7.7-11.6c-6.8-4.3-16.5-7.4-29-11.2l-1.6-.5 0 0c-11-3.3-24.3-7.3-34.8-13.7c-12-7.2-22.6-18.9-22.7-37.3C224 71.1 234.9 57.7 247.9 50c7.5-4.4 15.8-7.2 24.1-8.7V24c0-8.8 7.2-16 16-16s16 7.2 16 16zM151 317.4c13.1-8.8 28.6-13.4 44.4-13.4H344c30.9 0 56 25.1 56 56c0 8.6-1.9 16.7-5.4 24h5.6l94.7-56.4c8.3-4.9 17.8-7.6 27.5-7.6h1.3c28.9 0 52.3 23.4 52.3 52.3c0 17.7-9 34.2-23.8 43.8L432.6 493.9c-18.2 11.8-39.4 18.1-61 18.1H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H371.5c15.5 0 30.6-4.5 43.6-12.9l119.6-77.8c5.8-3.7 9.2-10.2 9.2-17c0-11.2-9.1-20.3-20.3-20.3h-1.3c-3.9 0-7.7 1.1-11.1 3l-98.5 58.7c-2.5 1.5-5.3 2.3-8.2 2.3H344 320 256c-8.8 0-16-7.2-16-16s7.2-16 16-16h64 24c13.3 0 24-10.7 24-24s-10.7-24-24-24H195.4c-9.5 0-18.7 2.8-26.6 8.1L88.9 397.3c-2.6 1.8-5.7 2.7-8.9 2.7H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H75.2L151 317.4z\"]\n};\nvar faHandHoldingUsd = faHandHoldingDollar;\nvar faGridDividers = {\n prefix: 'fal',\n iconName: 'grid-dividers',\n icon: [512, 512, [], \"e3ad\", \"M0 16C0 7.2 7.2 0 16 0H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H16C7.2 32 0 24.8 0 16zM64 128v64h64V128H64zm-32 0c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V128zM64 416v64h64V416H64zm-32 0c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V416zM288 128H224v64h64V128zM224 96h64c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H224c-17.7 0-32-14.3-32-32V128c0-17.7 14.3-32 32-32zm0 320v64h64V416H224zm-32 0c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H224c-17.7 0-32-14.3-32-32V416zM448 128H384v64h64V128zM384 96h64c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H384c-17.7 0-32-14.3-32-32V128c0-17.7 14.3-32 32-32zm0 320v64h64V416H384zm-32 0c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H384c-17.7 0-32-14.3-32-32V416zM16 288H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faBacterium = {\n prefix: 'fal',\n iconName: 'bacterium',\n icon: [512, 512, [], \"e05a\", \"M415.4 20.4c2.4-8.5-2.5-17.4-11-19.8s-17.4 2.5-19.8 11l-6 20.9c-11.7-1.1-23.8-.4-35.8 2.4c-13.7 3.2-26.9 6.8-39.5 10.8l-8.6-20c-3.5-8.1-12.9-11.9-21-8.4s-11.9 12.9-8.4 21l7.8 18.2c-27.3 10.9-51.7 23.8-73.5 38L189.3 79.1c-4.9-7.4-14.8-9.3-22.2-4.4s-9.3 14.8-4.4 22.2l10.8 16.2c-24.5 19-45 39.8-62.1 61.1L98 163.5c-6.9-5.5-17-4.4-22.5 2.5s-4.4 17 2.5 22.5L92.4 200c-3.7 5.5-7.1 10.9-10.4 16.4c-10.4 17.4-19.8 36-27.5 55.4l-16.5-6.6c-8.2-3.3-17.5 .7-20.8 8.9s.7 17.5 8.9 20.8L43.9 302c-5.5 18.4-9.4 37.2-11.4 55.9c-.9 9.7-.5 19.3 1 28.5l-21.9 6.2C3.1 395-1.8 403.9 .6 412.4s11.3 13.4 19.8 11l22.8-6.5c10.9 22.5 29.2 40.9 51.9 51.9l-6.5 22.8c-2.4 8.5 2.5 17.4 11 19.8s17.4-2.5 19.8-11l6.3-21.9c2.7 .4 5.4 .8 8.2 1c26.6 2.4 51.9-4.7 72.5-18.5l14.3 14.3c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-13.1-13.1c13.6-16.4 22.7-36.8 25.2-59.4c1.1-7.5 3.2-15 5.9-22.2l20.5 8.8c8.1 3.5 17.5-.3 21-8.4s-.3-17.5-8.4-21l-18.8-8.1c10.8-17.2 28.2-37.7 58.4-54.3l2.7 9.4c2.4 8.5 11.3 13.4 19.8 11s13.4-11.3 11-19.8l-3.9-13.8c9.1-3.3 19-6.2 29.7-8.7c17.6-4.1 33.3-12.1 46.4-22.9l13.1 13.1c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L461 206.4c15.4-23 22.3-51.7 17.5-80.7l21.9-6.3c8.5-2.4 13.4-11.3 11-19.8s-11.3-13.4-19.8-11l-22.8 6.5c-12.3-25.4-33.6-44.8-59-55.1l5.6-19.7zm-74.9 216c-.3 .1-.6 .1-.9 .2c-1.7 .5-3.2 1.2-4.6 2.2c-47.2 21.1-73.2 51-88.4 76.4c-10.1 16.9-19.5 37.7-22.9 60.1c-.1 .5-.1 .9-.2 1.4c-4.7 43.3-43.2 74.9-86.8 71c-43.9-4-76.3-42.8-72.4-86.7C69 317.1 86 271.9 109.4 232.8C149.4 166.1 222.8 95.4 350 66c43.1-9.9 86 16.9 95.9 60s-16.9 86-60 95.9c-16.9 3.9-32 8.8-45.5 14.4zM264 208a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM176 320a16 16 0 1 1 -32 0 16 16 0 1 1 32 0zm-16-48a48 48 0 1 0 0 96 48 48 0 1 0 0-96z\"]\n};\nvar faHandPointer = {\n prefix: 'fal',\n iconName: 'hand-pointer',\n icon: [448, 512, [], \"f25a\", \"M128 56c0-13.3 10.7-24 24-24s24 10.7 24 24V188.2c0 6.3 3.7 12 9.5 14.6s12.5 1.5 17.2-2.7c5.7-5.1 13.1-8.1 21.3-8.1c16.8 0 30.7 13 31.9 29.5c.5 6.1 4.3 11.4 10 13.7s12.1 1.1 16.7-3c5.7-5.1 13.2-8.2 21.4-8.2c16.8 0 30.7 13 31.9 29.5c.5 6.1 4.3 11.4 10 13.7s12.1 1.1 16.7-3c5.7-5.1 13.2-8.2 21.4-8.2c17.7 0 32 14.3 32 32v32 16 64c0 44.2-35.8 80-80 80H272 256 205.7c-36.1 0-70.3-16.3-93.1-44.3L37.4 343.1c-8.4-10.3-6.8-25.4 3.5-33.8s25.4-6.8 33.8 3.5l25 30.7c4.3 5.3 11.4 7.3 17.8 5s10.6-8.3 10.6-15.1V56zM152 0C121.1 0 96 25.1 96 56V288.8c-20-20.5-52.7-22.7-75.3-4.3C-3.3 304-7 339.3 12.5 363.3l75.2 92.5c28.9 35.5 72.2 56.2 118 56.2H256h16 64c61.9 0 112-50.1 112-112V336 320 288c0-35.3-28.7-64-64-64c-7.9 0-15.4 1.4-22.4 4c-10.4-21.3-32.3-36-57.6-36c-7.9 0-15.4 1.4-22.4 4c-10.4-21.3-32.3-36-57.6-36c-5.5 0-10.9 .7-16 2V56c0-30.9-25.1-56-56-56zm72 320c0-8.8-7.2-16-16-16s-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V320zm64 0c0-8.8-7.2-16-16-16s-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V320zm64 0c0-8.8-7.2-16-16-16s-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V320z\"]\n};\nvar faDrumSteelpan = {\n prefix: 'fal',\n iconName: 'drum-steelpan',\n icon: [576, 512, [], \"f56a\", \"M544 160c0-19.9-16.1-43.9-64.8-64.5C454.6 85.1 424.5 77 390.3 71.6c-21.4 61.1-16.2 121.3 21.2 173c25.5-5.2 48.4-11.9 67.7-20.1C527.9 203.9 544 179.9 544 160zM348.3 174.5C333.1 182.9 311.5 192 288 192s-45.1-9.1-60.3-17.5c-4.2 26.2-13.5 51.7-28.6 75.9c27.5 3.7 57.4 5.6 88.8 5.6s61.3-2 88.8-5.6c-15-24.2-24.4-49.7-28.6-75.9zm-2.6-36.1c.4-23.5 4.5-47.4 12.2-71C335.8 65.2 312.4 64 288 64s-47.8 1.2-69.9 3.4c7.7 23.6 11.8 47.5 12.2 71c3.3 2.3 7.4 5 12.2 7.6C255.6 153.5 272 160 288 160s32.4-6.5 45.5-13.9c4.7-2.7 8.9-5.3 12.2-7.7zM96.8 224.5c19.3 8.2 42.2 14.9 67.7 20.1c37.5-51.8 42.6-112 21.2-173C151.5 77 121.4 85.1 96.8 95.5C48.1 116.1 32 140.1 32 160s16.1 43.9 64.8 64.5zM576 160V344c0 47.6-38.6 81.6-89.5 102.9C434.7 468.6 364.4 480 288 480s-146.7-11.4-198.5-33.1C38.6 425.6 0 391.6 0 344V160C0 80 128.9 32 288 32s288 48 288 128zm-32 62.8C496.1 264.4 399.5 288 288 288s-208.1-23.6-256-65.2V344c0 27.4 22.3 53.4 69.9 73.4C148.5 436.9 214.2 448 288 448s139.5-11.1 186.2-30.6c47.6-19.9 69.8-46 69.8-73.4V222.8z\"]\n};\nvar faHandScissors = {\n prefix: 'fal',\n iconName: 'hand-scissors',\n icon: [544, 512, [], \"f257\", \"M4.2 284.4c-2.4-33 22.4-61.8 55.5-64.2l72.8-5.3-76.3-21c-32-8.8-50.7-41.8-41.9-73.8s41.8-50.7 73.8-41.9l177.4 48.8c1.8-2.9 3.8-5.7 5.8-8.4L288 96c15.1-20.1 38.8-32 64-32l19.5 0c53 0 101.7 29.1 126.8 75.7l4.5 8.3c11.3 21 17.2 44.4 17.2 68.3L520 336c0 70.7-57.3 128-128 128l-40 0-40 0-8 0c-35.3 0-64-28.7-64-64c0-2.8 .2-5.6 .5-8.3c-19.4-11-32.5-31.8-32.5-55.7c0-2.2 .1-4.3 .3-6.4L68.4 339.8c-33 2.4-61.8-22.4-64.2-55.5zM62 252.1c-15.4 1.1-27 14.5-25.9 30s14.5 27 30 25.9L229.3 296c5.9-.4 11.6 2.4 14.7 7.5s3.3 11.4 .3 16.5c-2.7 4.7-4.3 10.2-4.3 16c0 14.7 10 27.2 23.6 30.9c4.4 1.2 8.1 4.2 10.1 8.3s2.2 8.8 .6 13.1c-1.4 3.6-2.2 7.6-2.2 11.8c0 17.7 14.3 32 32 32l8 0 40 0 40 0c53 0 96-43 96-96l0-119.7c0-18.5-4.6-36.8-13.4-53.1l14.1-7.6-14.1 7.6-4.5-8.3C450.6 118.6 412.7 96 371.5 96L352 96c-15.1 0-29.3 7.1-38.4 19.2L297 137.4l51.6 15.3c8.5 2.5 13.3 11.4 10.8 19.9s-11.4 13.3-19.9 10.8L206.6 144 79.4 109c-14.9-4.1-30.3 4.7-34.4 19.6s4.7 30.3 19.6 34.4l165.8 45.6c7.5 2.1 12.4 9.2 11.7 17s-7 13.8-14.8 14.4L62 252.1z\"]\n};\nvar faHandsPraying = {\n prefix: 'fal',\n iconName: 'hands-praying',\n icon: [640, 512, [\"praying-hands\"], \"f684\", \"M283.4 32c-6.8 0-13.2 3.4-17.1 9L179.5 168.4C166.8 187 160 209 160 231.5v50.3c0 20-12.4 37.9-31.1 44.9L21.6 367c-8.3 3.1-17.5-1.1-20.6-9.4s1.1-17.5 9.4-20.6l107.2-40.2c6.2-2.3 10.4-8.3 10.4-15V231.5c0-28.9 8.7-57.2 25-81.1L239.9 23C249.7 8.6 266 0 283.4 0c14.2 0 27.2 5.7 36.6 14.8C329.5 5.7 342.4 0 356.6 0c17.4 0 33.7 8.6 43.5 23L487 150.4c16.3 23.9 25 52.2 25 81.1v50.3c0 6.7 4.1 12.6 10.4 15L629.6 337c8.3 3.1 12.5 12.3 9.4 20.6s-12.3 12.5-20.6 9.4L511.1 326.8c-18.7-7-31.1-24.9-31.1-44.9V231.5c0-22.5-6.8-44.5-19.5-63.1L373.7 41c-3.8-5.6-10.2-9-17.1-9C345.2 32 336 41.2 336 52.6V59c0 5.3 1.6 10.5 4.5 15l51.3 76.9c15.8 23.7 24.2 51.4 24.2 79.9V232v72c0 8.8-7.2 16-16 16s-16-7.2-16-16V232c0-13.3-10.7-24-24-24s-24 10.7-24 24v74.2c0 48.9 31.7 92.1 78.3 106.8l214.5 67.8c8.4 2.7 13.1 11.6 10.4 20.1s-11.6 13.1-20.1 10.4L404.6 443.5c-37.5-11.8-67.4-38-84.6-71.3c-17.2 33.3-47.2 59.5-84.6 71.3L20.8 511.3c-8.4 2.7-17.4-2-20.1-10.4s2-17.4 10.4-20.1L225.7 413c46.6-14.7 78.3-57.9 78.3-106.8V232c0-13.3-10.7-24-24-24s-24 10.7-24 24v72c0 8.8-7.2 16-16 16s-16-7.2-16-16V232v-1.2c0-28.4 8.4-56.2 24.2-79.9L299.5 74c3-4.4 4.5-9.6 4.5-15V52.6c0-11.4-9.2-20.6-20.6-20.6zM320 100.8l-45.2 67.8c-1.8 2.7-3.5 5.5-5 8.3c3.3-.6 6.7-.9 10.2-.9c15.7 0 29.8 6.4 40 16.8c10.2-10.4 24.3-16.8 40-16.8c3.5 0 6.9 .3 10.2 .9c-1.6-2.8-3.2-5.6-5-8.3L320 100.8z\"]\n};\nvar faPrayingHands = faHandsPraying;\nvar faFacePensive = {\n prefix: 'fal',\n iconName: 'face-pensive',\n icon: [512, 512, [], \"e384\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM208 384h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H208c-8.8 0-16-7.2-16-16s7.2-16 16-16zM387.2 270.4c5.3-7.1 15.3-8.5 22.4-3.2s8.5 15.3 3.2 22.4c-30.4 40.5-91.2 40.5-121.6 0c-5.3-7.1-3.9-17.1 3.2-22.4s17.1-3.9 22.4 3.2c17.6 23.5 52.8 23.5 70.4 0zm-262.4 0c17.6 23.5 52.8 23.5 70.4 0c5.3-7.1 15.3-8.5 22.4-3.2s8.5 15.3 3.2 22.4c-30.4 40.5-91.2 40.5-121.6 0c-5.3-7.1-3.9-17.1 3.2-22.4s17.1-3.9 22.4 3.2zM81.7 215.2c-4-7.9-.7-17.5 7.2-21.5l22.9-11.4c14.5-7.2 27.2-17.6 37.4-30.2l14.4-18c5.5-6.9 15.6-8 22.5-2.5s8 15.6 2.5 22.5l-14.4 18c-13 16.3-29.4 29.5-48 38.8l-22.9 11.4c-7.9 4-17.5 .7-21.5-7.2zm341.5-21.5c7.9 4 11.1 13.6 7.2 21.5s-13.6 11.1-21.5 7.2L386 210.9c-18.6-9.3-35-22.6-48.1-38.8l-14.4-18c-5.5-6.9-4.4-17 2.5-22.5s17-4.4 22.5 2.5l14.4 18c10.1 12.7 22.9 23 37.4 30.2l22.9 11.4z\"]\n};\nvar faUserMusic = {\n prefix: 'fal',\n iconName: 'user-music',\n icon: [640, 512, [], \"f8eb\", \"M320 128a96 96 0 1 0 -192 0 96 96 0 1 0 192 0zM96 128a128 128 0 1 1 256 0A128 128 0 1 1 96 128zM32 480H289.4c2.5 12.2 8.2 23 16.1 32H29.7C13.3 512 0 498.7 0 482.3C0 383.8 79.8 304 178.3 304h91.4c43.5 0 83.3 15.6 114.3 41.4v40.2c-1.5 0-2.9 0-4.4 .1C352.8 355.3 313.5 336 269.7 336H178.3c-80 0-145 64.3-146.3 144zM597.9 167.8c20.7-6.9 42.1 8.5 42.1 30.4V248 392c0 1.1-.1 2.2-.3 3.2c.2 1.6 .3 3.2 .3 4.8c0 26.5-28.7 48-64 48s-64-21.5-64-48s28.7-48 64-48c11.7 0 22.6 2.3 32 6.4V270.2L448 323.5V464c0 26.5-28.7 48-64 48s-64-21.5-64-48s28.7-48 64-48c11.7 0 22.6 2.3 32 6.4V312 251.5c0-13.8 8.8-26 21.9-30.4l160-53.3zM448 289.8l160-53.3V198.2L448 251.5v38.3zM608 400c0-.9-.4-4.2-5.9-8.3c-5.5-4.1-14.6-7.7-26.1-7.7s-20.5 3.5-26.1 7.7c-5.5 4.1-5.9 7.4-5.9 8.3s.4 4.2 5.9 8.3c5.5 4.1 14.6 7.7 26.1 7.7s20.5-3.5 26.1-7.7c5.5-4.1 5.9-7.4 5.9-8.3zM416 464c0-.9-.4-4.2-5.9-8.3c-5.5-4.1-14.6-7.7-26.1-7.7s-20.5 3.5-26.1 7.7c-5.5 4.1-5.9 7.4-5.9 8.3s.4 4.2 5.9 8.3c5.5 4.1 14.6 7.7 26.1 7.7s20.5-3.5 26.1-7.7c5.5-4.1 5.9-7.4 5.9-8.3z\"]\n};\nvar faArrowRotateRight = {\n prefix: 'fal',\n iconName: 'arrow-rotate-right',\n icon: [512, 512, [8635, \"arrow-right-rotate\", \"arrow-rotate-forward\", \"redo\"], \"f01e\", \"M464 192c8.8 0 16-7.2 16-16V48c0-8.8-7.2-16-16-16s-16 7.2-16 16v92.6C408.8 75.5 337.5 32 256 32C132.3 32 32 132.3 32 256s100.3 224 224 224c79.9 0 150-41.8 189.7-104.8c6.6-10.4-1.4-23.2-13.7-23.2c-6 0-11.4 3.2-14.7 8.2C383.1 413 323.6 448 256 448C150 448 64 362 64 256S150 64 256 64c71.1 0 133.1 38.6 166.3 96H336c-8.8 0-16 7.2-16 16s7.2 16 16 16H464z\"]\n};\nvar faArrowRightRotate = faArrowRotateRight;\nvar faArrowRotateForward = faArrowRotateRight;\nvar faRedo = faArrowRotateRight;\nvar faMessagesDollar = {\n prefix: 'fal',\n iconName: 'messages-dollar',\n icon: [640, 512, [\"comments-alt-dollar\"], \"f652\", \"M183.5 294.4L128 336V320c0-17.7-14.3-32-32-32H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32V256c0 17.7-14.3 32-32 32H202.7c-6.9 0-13.7 2.2-19.2 6.4zM202.7 320H352c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V256c0 35.3 28.7 64 64 64H96v32 16c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L202.7 320zM256 384c0 35.3 28.7 64 64 64H437.3l81.1 60.8c4.8 3.6 11.3 4.2 16.8 1.5s8.8-8.2 8.8-14.3V480 448h32c35.3 0 64-28.7 64-64V192c0-35.3-28.7-64-64-64H448v32H576c17.7 0 32 14.3 32 32V384c0 17.7-14.3 32-32 32H544c-17.7 0-32 14.3-32 32v16l-55.5-41.6c-5.5-4.2-12.3-6.4-19.2-6.4H320c-17.7 0-32-14.3-32-32V352H256v32zM224 79.1c0-8.8-7.2-16-16-16s-16 7.2-16 16V89.6c-6 1.3-12.1 3.4-17.6 6.6c-11.1 6.4-20.9 17.8-20.8 34.7c.1 16.2 9.8 26.2 19.9 32.2c8.8 5.1 19.7 8.4 28.4 10.9l1.4 .4c10.1 3 17.4 5.3 22.5 8.4c4.2 2.5 4.5 4.1 4.5 5.9c0 3.5-1.2 5.7-4.6 7.7c-4 2.4-10.4 3.9-17.3 3.7c-9-.3-17.3-3-28.2-6.6l0 0 0 0c-1.8-.6-3.8-1.2-5.8-1.9c-8.4-2.7-17.4 1.9-20.2 10.3s1.9 17.4 10.3 20.2c1.6 .5 3.2 1 4.9 1.6l0 0 0 0c6.6 2.2 14.3 4.8 22.5 6.5v10.9c0 8.8 7.2 16 16 16s16-7.2 16-16V230.6c6.4-1.3 12.7-3.5 18.4-7c11.4-6.9 20.2-18.8 20-35.5c-.2-16.2-9.6-26.5-19.8-32.8c-9.2-5.6-20.7-9-29.6-11.6l-.5-.2c-10.2-3-17.6-5.2-22.7-8.2c-4.1-2.4-4.1-3.6-4.1-4.6l0-.1c0-2.5 .9-4.5 4.8-6.8c4.4-2.5 11-4 17.4-3.9c7.7 .1 16.2 1.8 25 4c8.6 2.2 17.3-2.9 19.5-11.5s-2.9-17.3-11.5-19.5c-5.2-1.3-10.9-2.7-16.8-3.6V79.1z\"]\n};\nvar faCommentsAltDollar = faMessagesDollar;\nvar faSensorOn = {\n prefix: 'fal',\n iconName: 'sensor-on',\n icon: [640, 512, [], \"e02b\", \"M384 64c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm48 96c-8.8 0-16 7.2-16 16V272c0 8.8 7.2 16 16 16s16-7.2 16-16V144c0-8.8-7.2-16-16-16zm64 0c-8.8 0-16 7.2-16 16V272c0 8.8 7.2 16 16 16s16-7.2 16-16V144c0-8.8-7.2-16-16-16zM600.2 93.7c7.6-4.5 10-14.4 5.5-22s-14.4-10-21.9-5.5l-80 48c-7.6 4.5-10 14.4-5.5 22s14.4 10 21.9 5.5l80-48zM528 240c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H528zm-7.8 130.3c-7.6-4.5-17.4-2.1-21.9 5.5s-2.1 17.4 5.5 21.9l80 48c7.6 4.5 17.4 2.1 21.9-5.5s2.1-17.4-5.5-21.9l-80-48z\"]\n};\nvar faBalloon = {\n prefix: 'fal',\n iconName: 'balloon',\n icon: [384, 512, [], \"e2e3\", \"M205.6 405.8l0 0 0 0 0 0L192 415.3l-13.6-9.5 0 0 0 0 0 0 0 0-.2-.2-1.1-.8c-1-.7-2.6-1.9-4.6-3.4c-4-3-9.9-7.6-17-13.5c-14.2-11.8-33.1-28.8-51.8-49.4C65 295.9 32 243.6 32 192c0-88.4 71.6-160 160-160s160 71.6 160 160c0 51.6-33 103.9-71.7 146.5c-18.8 20.6-37.6 37.6-51.8 49.4c-7.1 5.9-12.9 10.5-17 13.5c-2 1.5-3.6 2.7-4.6 3.4l-1.1 .8-.2 .2 0 0zM192 439.6l3.4 6.8L212.2 480H171.8l16.8-33.7 3.4-6.8zM0 192C0 320 160 432 160 432l-30.6 61.3c-.9 1.8-1.4 3.8-1.4 5.8c0 7.1 5.8 12.9 12.9 12.9H243.1c7.1 0 12.9-5.8 12.9-12.9c0-2-.5-4-1.4-5.8L224 432s160-112 160-240C384 86 298 0 192 0S0 86 0 192zm112-16c0-35.3 28.7-64 64-64c8.8 0 16-7.2 16-16s-7.2-16-16-16c-53 0-96 43-96 96c0 8.8 7.2 16 16 16s16-7.2 16-16z\"]\n};\nvar faWebAwesome = {\n prefix: 'fal',\n iconName: 'web-awesome',\n icon: [640, 512, [], \"e682\", \"M340.2 52a20 20 0 1 0 -40 0 20 20 0 1 0 40 0zm-42 47.1c-17.7-8.3-30-26.3-30-47.1c0-28.7 23.3-52 52-52s52 23.3 52 52c0 20.9-12.4 39-30.2 47.2L448 192l104.4-20.9c-5.3-7.7-8.4-17.1-8.4-27.1c0-26.5 21.5-48 48-48s48 21.5 48 48c0 26-20.6 47.1-46.4 48l-1.8 3.9L481 442.3c-10.3 23-33.2 37.7-58.4 37.7l-205.2 0c-25.2 0-48-14.8-58.4-37.7L48.1 195.9 46.4 192C20.6 191.1 0 170 0 144c0-26.5 21.5-48 48-48s48 21.5 48 48c0 10.1-3.1 19.4-8.4 27.1L192 192 298.1 99.1zM48.2 192l-.2 0-.1 0 .1 0 .2 0zm406.1 31.4c-9.8 2-19.9-.7-27.3-7.3L320 122.5 213.1 216.1c-7.5 6.6-17.6 9.2-27.3 7.3l-99-19.8L188.2 429.1c5.2 11.5 16.6 18.9 29.2 18.9l205.2 0c12.6 0 24-7.4 29.2-18.9L553.3 203.6l-99 19.8zM592 160a16 16 0 1 0 0-32 16 16 0 1 0 0 32zM64 144a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faBiohazard = {\n prefix: 'fal',\n iconName: 'biohazard',\n icon: [576, 512, [9763], \"f780\", \"M147.2 6.4c3-4 7.8-6.4 12.8-6.4h.9c4.6 0 8.9 1.9 11.9 5.3s4.5 7.9 4 12.4c-3.5 30.8 4.4 62.5 22.7 86.3c18 23.3 47 40 88.5 40s70.4-16.6 88.5-40c18.4-23.7 26.2-55.5 22.7-86.3c-.5-4.5 .9-9.1 4-12.4s7.4-5.3 11.9-5.3h.9c5 0 9.8 2.4 12.8 6.4C450.9 35.8 464 72.4 464 112c0 18.6-2.9 36.5-8.2 53.3c15.5 3.9 30.6 10 45.1 18.3c34.3 19.8 59.4 49.4 73.9 83.3c2 4.6 1.7 9.9-.9 14.3l-.5 .8c-2.3 3.9-6.1 6.7-10.6 7.7s-9.1-.1-12.8-2.8c-24.9-18.4-56.3-27.5-86.1-23.4c-29.2 4-58.1 20.7-78.8 56.6s-20.8 69.3-9.6 96.6c11.4 27.8 35 50.4 63.3 62.8c4.2 1.8 7.4 5.3 8.8 9.7s.9 9.1-1.3 13l-.5 .8c-2.5 4.4-6.9 7.3-11.9 7.9c-36.5 4.4-74.8-2.5-109.1-22.3c-13.8-8-26.1-17.5-36.9-28.3c-10.7 10.8-23.1 20.4-36.9 28.3c-34.3 19.8-72.5 26.8-109.1 22.3c-5-.6-9.4-3.5-11.9-7.9l-.5-.8c-2.3-3.9-2.8-8.7-1.3-13s4.6-7.8 8.8-9.7c28.4-12.4 51.9-35 63.3-62.8c11.2-27.3 11.1-60.7-9.6-96.6s-49.6-52.7-78.8-56.6c-29.8-4-61.1 5.1-86.1 23.4c-3.7 2.7-8.3 3.7-12.8 2.8s-8.3-3.7-10.6-7.7l-.5-.8c-2.5-4.4-2.8-9.6-.9-14.3c14.4-33.8 39.6-63.5 73.9-83.3c14.5-8.3 29.6-14.4 45.1-18.3c-5.3-16.8-8.2-34.7-8.2-53.3c0-39.6 13.1-76.2 35.2-105.6zm2.2 66.5C145.9 85.3 144 98.4 144 112c0 21 4.5 40.9 12.5 58.8c2.1 4.6 1.8 9.9-.6 14.3s-6.9 7.4-11.9 8.1c-18.1 2.4-36.1 8.3-52.9 18.1C79.4 218.1 69 226.3 60 235.5c18.2-4.9 37.4-6.4 56.3-3.8c39.4 5.3 76.8 28.2 102.3 72.3s26.6 87.9 11.5 124.7c-7.3 17.7-18.1 33.5-31.5 46.9c12.5-3.2 24.8-8.1 36.5-14.9c16-9.2 29.5-21 40.4-34.6c3-3.8 7.6-6 12.5-6s9.4 2.2 12.5 6c10.9 13.5 24.4 25.4 40.4 34.6c11.7 6.8 24 11.7 36.5 14.9c-13.3-13.3-24.2-29.2-31.5-46.9c-15.1-36.8-14-80.6 11.5-124.7s62.9-67 102.3-72.3c19-2.6 38.1-1.1 56.3 3.8c-9-9.2-19.4-17.4-31.2-24.2c-16.8-9.7-34.8-15.6-52.9-18.1c-5-.7-9.4-3.7-11.9-8.1s-2.7-9.7-.6-14.3c8-17.9 12.5-37.9 12.5-58.9c0-13.6-1.9-26.7-5.4-39.1c-4.9 18.2-13.1 35.5-24.9 50.7C377.5 155.1 339 176 288 176s-89.5-20.9-113.8-52.4c-11.7-15.1-20-32.5-24.9-50.7zm5.1 358.6c-40.1-33.6-67.4-82.1-73.3-136.9c9-1.8 18.1-2.2 26.7-1.1c1.8 .2 3.7 .6 5.5 1c5.6 43.9 27.3 82.7 59 110.3l-.1 .3c-3.9 9.6-10.1 18.6-17.9 26.4zM288 96c-15.9 0-31.3 2.1-45.9 6.1c-7.6-4.6-13.7-10.4-18.5-16.6c-2.2-2.9-4.2-6-6.1-9.2C239.5 68.3 263.3 64 288 64s48.5 4.3 70.5 12.2c-1.8 3.2-3.8 6.3-6.1 9.2c-4.8 6.2-10.9 12-18.5 16.6c-14.6-3.9-30-6.1-45.9-6.1zM462.6 294.5c1.8-.4 3.7-.7 5.5-1c8.6-1.2 17.7-.8 26.7 1.1c-5.9 54.9-33.2 103.3-73.3 136.9c-7.8-7.8-13.9-16.8-17.9-26.4l-.1-.3c31.7-27.6 53.5-66.4 59.1-110.3zM288 248a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faChessQueenPiece = {\n prefix: 'fal',\n iconName: 'chess-queen-piece',\n icon: [256, 512, [\"chess-queen-alt\"], \"f446\", \"M104 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm67.8 41.4c6.5 1.2 11.6 6.2 12.8 12.7C187.4 92.9 200.4 104 216 104c5.6 0 10.7-1.4 15.3-3.9c6.1-3.3 13.7-2.3 18.8 2.5s6.3 12.4 3.2 18.7L201.9 224H208c8.8 0 16 7.2 16 16s-7.2 16-16 16H192.7l4.4 96h-32l-4.4-96H95.3l-4.4 96h-32l4.4-96H48c-8.8 0-16-7.2-16-16s7.2-16 16-16h6.1L2.8 121.3C-.3 115.1 1 107.5 6 102.7s12.6-5.9 18.8-2.5c4.5 2.5 9.7 3.9 15.3 3.9c15.6 0 28.6-11.1 31.4-25.9c1.3-6.5 6.3-11.5 12.8-12.7s13 1.7 16.5 7.3C106.4 81.9 116.5 88 128 88s21.6-6.1 27.3-15.2c3.5-5.6 10-8.5 16.5-7.3zM89.9 224h76.2l44.1-88.3c-19.2-1.7-35.9-11.9-46.4-26.7c-10.2 6.9-22.5 11-35.8 11s-25.6-4-35.8-11c-10.6 14.8-27.3 25-46.4 26.7L89.9 224zM190.2 384c11.1 0 21.4 5.7 27.2 15.1l32.7 52.7c3.9 6.2 5.9 13.4 5.9 20.8c0 21.8-17.7 39.4-39.4 39.4H39.4C17.7 512 0 494.3 0 472.6c0-7.3 2.1-14.5 5.9-20.8l32.7-52.7c5.8-9.4 16.1-15.1 27.2-15.1H190.2zM65.8 416L33.1 468.7c-.7 1.2-1.1 2.5-1.1 3.9c0 4.1 3.3 7.4 7.4 7.4H216.6c4.1 0 7.4-3.3 7.4-7.4c0-1.4-.4-2.7-1.1-3.9L190.2 416 65.8 416z\"]\n};\nvar faChessQueenAlt = faChessQueenPiece;\nvar faLocationCrosshairs = {\n prefix: 'fal',\n iconName: 'location-crosshairs',\n icon: [512, 512, [\"location\"], \"f601\", \"M256 0c8.8 0 16 7.2 16 16V64.7c93.3 7.7 167.6 82.1 175.3 175.3H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H447.3c-7.7 93.3-82.1 167.6-175.3 175.3V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V447.3C146.7 439.6 72.4 365.3 64.7 272H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H64.7C72.4 146.7 146.7 72.4 240 64.7V16c0-8.8 7.2-16 16-16zM96 256a160 160 0 1 0 320 0A160 160 0 1 0 96 256zm224 0a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zm-160 0a96 96 0 1 1 192 0 96 96 0 1 1 -192 0z\"]\n};\nvar faLocation = faLocationCrosshairs;\nvar faMarsDouble = {\n prefix: 'fal',\n iconName: 'mars-double',\n icon: [640, 512, [9891], \"f227\", \"M304 48c0-8.8 7.2-16 16-16H432c8.8 0 16 7.2 16 16V160c0 8.8-7.2 16-16 16s-16-7.2-16-16V86.6L311.3 191.4C336.7 221.9 352 261.2 352 304c0 97.2-78.8 176-176 176S0 401.2 0 304s78.8-176 176-176c42.8 0 82.1 15.3 112.6 40.7L393.4 64H320c-8.8 0-16-7.2-16-16zM176 448a144 144 0 1 0 0-288 144 144 0 1 0 0 288zM469.4 190.1c4.5-5.6 7.8-12.3 9.5-19.6L585.4 64H512c-8.8 0-16-7.2-16-16s7.2-16 16-16H624c8.8 0 16 7.2 16 16V160c0 8.8-7.2 16-16 16s-16-7.2-16-16V86.6l-100 100c22.6 30.6 36 68.4 36 109.4c0 101.6-82.4 184-184 184c-20.7 0-40.5-3.4-59.1-9.7c10.1-7.6 19.5-16.2 28.1-25.5c10 2.1 20.3 3.2 30.9 3.2c83.9 0 152-68.1 152-152c0-38.3-14.1-73.3-37.5-100l-5.1-5.9z\"]\n};\nvar faLeftFromBracket = {\n prefix: 'fal',\n iconName: 'left-from-bracket',\n icon: [512, 512, [], \"e66c\", \"M32.8 257.8c-.5-.5-.8-1.1-.8-1.8s.3-1.4 .8-1.8L164.7 129.8c1.2-1.2 2.9-1.8 4.6-1.8c3.7 0 6.7 3 6.7 6.7l0 57.3c0 8.8 7.2 16 16 16l120 0c4.4 0 8 3.6 8 8l0 80c0 4.4-3.6 8-8 8l-120 0c-8.8 0-16 7.2-16 16l0 57.3c0 3.7-3 6.7-6.7 6.7c-1.7 0-3.3-.6-4.6-1.8L32.8 257.8zM0 256c0 9.5 3.9 18.6 10.8 25.1L142.8 405.5c7.2 6.8 16.7 10.5 26.5 10.5c21.4 0 38.7-17.3 38.7-38.7l0-41.3 104 0c22.1 0 40-17.9 40-40l0-80c0-22.1-17.9-40-40-40l-104 0 0-41.3c0-21.4-17.3-38.7-38.7-38.7c-9.9 0-19.3 3.8-26.5 10.5L10.8 230.9C3.9 237.4 0 246.5 0 256zM336 448c-8.8 0-16 7.2-16 16s7.2 16 16 16l96 0c44.2 0 80-35.8 80-80l0-288c0-44.2-35.8-80-80-80l-96 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l96 0c26.5 0 48 21.5 48 48l0 288c0 26.5-21.5 48-48 48l-96 0z\"]\n};\nvar faHousePersonLeave = {\n prefix: 'fal',\n iconName: 'house-person-leave',\n icon: [640, 512, [\"house-leave\", \"house-person-depart\"], \"e00f\", \"M250.4 3.9c-6-5.1-14.8-5.1-20.8 0l-224 192c-6.7 5.8-7.5 15.9-1.7 22.6s15.9 7.5 22.6 1.7L64 187.9V352c0 35.3 28.7 64 64 64H336.8L354 398.8l7.4-14.8H352 320 128c-17.7 0-32-14.3-32-32V160.5L240 37.1 358.2 138.4c8.3-7.2 17.2-13.6 26.7-19.2L250.4 3.9zM192 192h64v64H192V192zm-8-32c-13.3 0-24 10.7-24 24v80c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24V184c0-13.3-10.7-24-24-24H184zM496 56a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm80 0A56 56 0 1 0 464 56a56 56 0 1 0 112 0zM437.6 172.3c1.3-.7 2.6-1.4 3.9-2l-26.6 85c-5.7 18.2 0 38.1 14.4 50.6L529.9 393l30.7 107.4c2.4 8.5 11.3 13.4 19.8 11s13.4-11.3 11-19.8L560.7 384.2c-1.7-6-5.1-11.3-9.8-15.4L507.3 331l37.8-109.2 8.8 26.4c5.6 16.9 16.7 31.4 31.5 41.3l29.7 19.8c7.4 4.9 17.3 2.9 22.2-4.4s2.9-17.3-4.4-22.2l-29.7-19.8c-8.9-5.9-15.5-14.6-18.9-24.8l-17.1-51.4c-11.7-35-44.5-58.7-81.4-58.7c-22.1 0-43.9 5.6-63.4 16.2l-12.7 6.9c-35.3 19.3-61 52.4-70.7 91.5l-2.4 9.5c-2.1 8.6 3.1 17.3 11.6 19.4s17.3-3.1 19.4-11.6l2.4-9.6c7.6-30.4 27.5-56.2 55-71.2l12.7-6.9zm7.9 92.5l32.7-104.5c2.5-.2 5-.3 7.5-.3c15.9 0 30.5 7 40.6 18.4l-45 130-30.9-26.8c-4.8-4.2-6.7-10.8-4.8-16.9zm-6.4 88.9c-7.9-4-17.5-.7-21.5 7.2l-30.8 61.7-62.2 62.2c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l62.2-62.2c2.4-2.4 4.5-5.2 6-8.3l30.8-61.7c4-7.9 .7-17.5-7.2-21.5z\"]\n};\nvar faHouseLeave = faHousePersonLeave;\nvar faHousePersonDepart = faHousePersonLeave;\nvar faRulerTriangle = {\n prefix: 'fal',\n iconName: 'ruler-triangle',\n icon: [512, 512, [128208], \"f61c\", \"M32 45.3V448c0 17.7 14.3 32 32 32H466.7c7.3 0 13.3-5.9 13.3-13.3c0-3.5-1.4-6.9-3.9-9.4l-39.4-39.4-25.4 25.4c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l25.4-25.4-57.4-57.4-25.4 25.4c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l25.4-25.4-57.4-57.4-25.4 25.4c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l25.4-25.4-57.4-57.4-25.4 25.4c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l25.4-25.4L116.7 97.9 91.3 123.3c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L94.1 75.3 54.6 35.9c-2.5-2.5-5.9-3.9-9.4-3.9C37.9 32 32 37.9 32 45.3zm45.3-32L498.7 434.7c8.5 8.5 13.3 20 13.3 32c0 25-20.3 45.3-45.3 45.3H64c-35.3 0-64-28.7-64-64V45.3C0 20.3 20.3 0 45.3 0c12 0 23.5 4.8 32 13.3zm44.6 228c6-2.5 12.9-1.1 17.4 3.5l128 128c4.6 4.6 5.9 11.5 3.5 17.4s-8.3 9.9-14.8 9.9H128c-8.8 0-16-7.2-16-16V256c0-6.5 3.9-12.3 9.9-14.8zM144 294.6V368h73.4L144 294.6z\"]\n};\nvar faCardClub = {\n prefix: 'fal',\n iconName: 'card-club',\n icon: [384, 512, [], \"e3e9\", \"M320 32c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H320zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM208 331.9c7.5 2.7 15.6 4.1 24 4.1c39.8 0 72-32.2 72-72c0-28.3-16.3-52.7-40-64.5c-.3-39.5-32.4-71.5-72-71.5s-71.7 32-72 71.5C96.3 211.3 80 235.7 80 264c0 39.8 32.2 72 72 72c8.4 0 16.5-1.4 24-4.1V352H160c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H208V331.9zM152 200c0-22.1 17.9-40 40-40s40 17.9 40 40c0 2.5-.2 4.9-.6 7.2c-1.5 8.1 3.5 16 11.4 18.3c16.9 4.7 29.2 20.2 29.2 38.5c0 22.1-17.9 40-40 40c-11.2 0-21.3-4.6-28.6-12c-3-3.1-7.1-4.8-11.4-4.8s-8.4 1.7-11.4 4.8c-7.3 7.4-17.4 12-28.6 12c-22.1 0-40-17.9-40-40c0-18.3 12.3-33.8 29.2-38.5c8-2.2 12.9-10.1 11.4-18.3c-.4-2.3-.6-4.7-.6-7.2z\"]\n};\nvar faChildDress = {\n prefix: 'fal',\n iconName: 'child-dress',\n icon: [320, 512, [], \"e59c\", \"M160 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0-96a64 64 0 1 1 0 128A64 64 0 1 1 160 0zM96 400H72c-5 0-9.7-2.3-12.7-6.3s-4-9.1-2.8-13.9L98 225.8 28.6 313.9c-5.5 6.9-15.5 8.1-22.5 2.7S-2 301 3.4 294.1l74.3-94.2c18.8-23.9 47.1-38.3 77.3-39.8c1.2-.1 2.5-.1 3.7-.1H160h1.3c1.2 0 2.5 0 3.7 .1c30.2 1.5 58.4 15.9 77.3 39.8l74.3 94.2c5.5 6.9 4.3 17-2.7 22.5s-17 4.3-22.5-2.7L222 225.8l41.5 154c1.3 4.8 .3 9.9-2.8 13.9s-7.7 6.3-12.7 6.3H224v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V400H128v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V400zm60.8-207.9c-10.1 .8-18.7 7.8-21.4 17.7L92.9 368H227.1L184.5 209.8c-2.7-9.9-11.3-16.9-21.4-17.7c-1.1 0-2.1-.1-3.2-.1s-2.1 0-3.2 .1z\"]\n};\nvar faUsersBetweenLines = {\n prefix: 'fal',\n iconName: 'users-between-lines',\n icon: [640, 512, [], \"e591\", \"M0 16C0 7.2 7.2 0 16 0H624c8.8 0 16 7.2 16 16s-7.2 16-16 16H16C7.2 32 0 24.8 0 16zM0 496c0-8.8 7.2-16 16-16H624c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16-7.2-16-16zM147.2 192a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0-96a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm352 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0-96a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM369.6 320h-96c-35.3 0-64 28.7-64 64h224c0-35.3-28.7-64-64-64zm-192 64c0-53 43-96 96-96h96c53 0 96 43 96 96c0 17.7-14.3 32-32 32h-224c-17.7 0-32-14.3-32-32zm144-160a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm0-128a80 80 0 1 1 0 160 80 80 0 1 1 0-160zM64 320v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V320c0-35.3 28.7-64 64-64h88c8.8 0 16 7.2 16 16s-7.2 16-16 16H96c-17.7 0-32 14.3-32 32zm480-32H456c-8.8 0-16-7.2-16-16s7.2-16 16-16h88c35.3 0 64 28.7 64 64v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V320c0-17.7-14.3-32-32-32z\"]\n};\nvar faLungsVirus = {\n prefix: 'fal',\n iconName: 'lungs-virus',\n icon: [640, 512, [], \"e067\", \"M320 0c8.8 0 16 7.2 16 16V146.7c-5-1.8-10.4-2.7-16-2.7s-11 1-16 2.7V16c0-8.8 7.2-16 16-16zm96 181.8c-11-1.3-22.4 1.3-32 7.7V165.3C384 127 415 96 453.3 96c21.7 0 42.8 10.2 55.8 28.8c15.4 22.1 44.3 65.4 71 116.9c26.5 50.9 52.4 112.5 59.6 170.3c.2 1.3 .2 2.6 .2 4v7c0 49.1-39.8 89-89 89c-7.3 0-14.5-.9-21.6-2.7l-72.7-18.2c-20.9-5.2-38.7-17.1-51.5-32.9c12.2 1.4 24.9-2 35-10c7 5.5 15.2 9.7 24.2 11.9l72.7 18.2c4.5 1.1 9.2 1.7 13.8 1.7c31.5 0 57-25.5 57-57v-7c-6.5-52.2-30.3-109.7-56.3-159.5s-53.9-91.9-68.9-113.3c-6.7-9.6-17.7-15.1-29.5-15.1c-20.6 0-37.3 16.7-37.3 37.3v16.5zM234.8 458.2c-12.8 15.9-30.6 27.7-51.5 32.9l-72.7 18.2c-7.1 1.8-14.3 2.7-21.6 2.7c-49.1 0-89-39.8-89-89v-7c0-1.3 .1-2.7 .2-4c7.2-57.9 33.1-119.4 59.6-170.3c26.8-51.5 55.6-94.8 71-116.9c13-18.6 34-28.8 55.8-28.8C225 96 256 127 256 165.3v24.1c-9.6-6.4-21-8.9-32-7.7V165.3c0-20.6-16.7-37.3-37.3-37.3c-11.8 0-22.8 5.5-29.5 15.1c-14.9 21.4-43 63.5-68.9 113.3S38.5 363.8 32 416v7c0 31.5 25.5 57 57 57c4.7 0 9.3-.6 13.8-1.7l72.7-18.2c9.1-2.3 17.3-6.4 24.2-11.9c10.2 8 22.8 11.4 35 10zm187-59c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0C375.9 398.5 336 415 336 448c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-33-39.9-49.5-63.2-26.2c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6C241.5 375.9 225 336 192 336c-8.8 0-16-7.2-16-16s7.2-16 16-16c33 0 49.5-39.9 26.2-63.2c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0C264.1 241.5 304 225 304 192c0-8.8 7.2-16 16-16s16 7.2 16 16c0 33 39.9 49.5 63.2 26.2c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6C398.5 264.1 415 304 448 304c8.8 0 16 7.2 16 16s-7.2 16-16 16c-33 0-49.5 39.9-26.2 63.2zM403.5 320c-17-14.5-26.3-36.8-24.5-59.1c-12.1 1-24.2-1.3-35.1-6.3c-9.1-4.2-17.4-10.4-24-18.1c-14.5 17-36.8 26.3-59.1 24.5c1.8 22.3-7.4 44.6-24.5 59.1c17 14.5 26.3 36.8 24.5 59.1c22.3-1.8 44.6 7.4 59.1 24.5c14.5-17 36.8-26.3 59.1-24.5c-1.8-22.3 7.4-44.6 24.5-59.1zM304 280a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm16 72a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faSpinnerThird = {\n prefix: 'fal',\n iconName: 'spinner-third',\n icon: [512, 512, [], \"f3f4\", \"M463.9 376c7.6 4.4 17.5 1.8 21.4-6.1c17.1-34.3 26.7-73 26.7-113.9C512 120 405.9 8.8 272 .5c-8.8-.5-16 6.7-16 15.5s7.2 15.9 16 16.6C388.2 40.8 480 137.7 480 256c0 35.1-8.1 68.3-22.5 97.9c-3.9 8-1.3 17.7 6.4 22.1z\"]\n};\nvar faFaceGrinTears = {\n prefix: 'fal',\n iconName: 'face-grin-tears',\n icon: [640, 512, [128514, \"grin-tears\"], \"f588\", \"M110.9 175.4C143.3 91.5 224.7 32 320 32s176.7 59.5 209.1 143.4c3.2 8.2 12.4 12.4 20.7 9.2s12.4-12.4 9.2-20.7C522 68 428.9 0 320 0S118 68 81.1 163.9c-3.2 8.2 .9 17.5 9.2 20.7s17.5-.9 20.7-9.2zm19.5 200c-4.7-7.5-14.6-9.7-22.1-5s-9.7 14.6-5 22.1C148.7 464.3 228.8 512 320 512s171.3-47.7 216.6-119.5c4.7-7.5 2.5-17.4-5-22.1s-17.4-2.5-22.1 5C469.8 438.3 399.8 480 320 480s-149.8-41.7-189.5-104.5zM320 354.1c31.2 0 61.4-2.9 89.9-8.3c-22.6 23.6-54.5 38.3-89.9 38.3s-67.3-14.7-89.9-38.3c28.5 5.4 58.7 8.3 89.9 8.3zm142.8-30.7c5.2-11.7-6.8-22.4-19.1-18.7c-37.3 11.1-79.3 17.4-123.8 17.4s-86.4-6.3-123.8-17.4c-12.3-3.7-24.2 7-19.1 18.7c24.1 54.6 79 92.7 142.8 92.7s118.7-38.1 142.8-92.7zm-242.4-129c6.2-7.1 12.8-10.5 19.5-10.5s13.4 3.4 19.5 10.5c6.2 7.2 10.8 16.8 12.9 25.4c2.1 8.6 10.8 13.8 19.4 11.6s13.8-10.8 11.6-19.4c-3.2-12.7-9.8-27.1-19.9-38.6C273.6 161.9 258.8 152 240 152s-33.6 9.9-43.7 21.5c-10 11.5-16.7 25.9-19.9 38.6c-2.1 8.6 3.1 17.3 11.6 19.4s17.3-3.1 19.4-11.6c2.1-8.6 6.7-18.2 12.9-25.4zm147.1 25.4c2.1-8.6 6.7-18.2 12.9-25.4c6.2-7.1 12.8-10.5 19.5-10.5s13.4 3.4 19.5 10.5c6.2 7.2 10.8 16.8 12.9 25.4c2.1 8.6 10.8 13.8 19.4 11.6s13.8-10.8 11.6-19.4c-3.2-12.7-9.8-27.1-19.9-38.6C433.6 161.9 418.8 152 400 152s-33.6 9.9-43.7 21.5c-10 11.5-16.7 25.9-19.9 38.6c-2.1 8.6 3.1 17.3 11.6 19.4s17.3-3.1 19.4-11.6zm180.1 39.7c7.5 1.2 15.4 2.7 23 4.4c9.2 2.1 17.3 4.4 23.5 6.8c5 1.9 7.3 3.3 8 3.7c.1 .1 .2 .1 .2 .1s0 0 0 0c7.2 7.3 9.2 23.4-3.6 36.2c-12.8 12.8-28.8 10.8-36.2 3.6c0 0 0 0 0 0s0-.1-.1-.2c-.4-.6-1.8-2.9-3.7-7.9c-2.4-6.3-4.7-14.4-6.7-23.6c-1.7-7.6-3.2-15.5-4.4-23.1zm-35.5-24.2c2.9 26 11.1 84.8 27.7 101.4c21.6 21.6 58.1 19.9 81.5-3.5s25.1-60 3.5-81.5c-16.6-16.6-75.3-24.9-101.4-27.7c-6.5-.8-12.1 4.9-11.3 11.3zM88 282.6c-2.1 9.2-4.3 17.3-6.7 23.6c-1.9 5-3.3 7.3-3.7 7.9c-.1 .1-.1 .2-.1 .2s0 0 0 0c-7.3 7.2-23.4 9.1-36.2-3.6s-10.8-28.8-3.6-36.2c0 0 0 0 0 0s0 0 0 0s.1 0 .2-.1c.6-.4 2.9-1.8 8-3.7c6.3-2.4 14.4-4.7 23.5-6.8c7.6-1.7 15.5-3.2 23-4.4c-1.2 7.5-2.7 15.4-4.4 23.1zm12.2 54.2c16.6-16.6 24.8-75.4 27.7-101.4c.8-6.5-4.9-12.1-11.3-11.3c-26.1 2.8-84.8 11.1-101.4 27.7c-21.6 21.6-19.9 58.1 3.5 81.5s60 25.1 81.5 3.5z\"]\n};\nvar faGrinTears = faFaceGrinTears;\nvar faPhone = {\n prefix: 'fal',\n iconName: 'phone',\n icon: [512, 512, [128222, 128379], \"f095\", \"M375.8 275.2c-16.4-7-35.4-2.4-46.7 11.4l-33.2 40.6c-46-26.7-84.4-65.1-111.1-111.1L225.3 183c13.8-11.3 18.5-30.3 11.4-46.7l-48-112C181.2 6.7 162.3-3.1 143.6 .9l-112 24C13.2 28.8 0 45.1 0 64v0C0 300.7 183.5 494.5 416 510.9c4.5 .3 9.1 .6 13.7 .8c0 0 0 0 0 0c0 0 0 0 .1 0c6.1 .2 12.1 .4 18.3 .4l0 0c18.9 0 35.2-13.2 39.1-31.6l24-112c4-18.7-5.8-37.6-23.4-45.1l-112-48zM447.7 480C218.1 479.8 32 293.7 32 64v0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0c0-3.8 2.6-7 6.3-7.8l112-24c3.7-.8 7.5 1.2 9 4.7l48 112c1.4 3.3 .5 7.1-2.3 9.3l-40.6 33.2c-12.1 9.9-15.3 27.2-7.4 40.8c29.5 50.9 71.9 93.3 122.7 122.7c13.6 7.9 30.9 4.7 40.8-7.4l33.2-40.6c2.3-2.8 6.1-3.7 9.3-2.3l112 48c3.5 1.5 5.5 5.3 4.7 9l-24 112c-.8 3.7-4.1 6.3-7.8 6.3c-.1 0-.2 0-.3 0z\"]\n};\nvar faComputerMouseScrollwheel = {\n prefix: 'fal',\n iconName: 'computer-mouse-scrollwheel',\n icon: [384, 512, [\"mouse-alt\"], \"f8cd\", \"M352 352V160c0-70.7-57.3-128-128-128H160C89.3 32 32 89.3 32 160V352c0 70.7 57.3 128 128 128h64c70.7 0 128-57.3 128-128zM0 160C0 71.6 71.6 0 160 0h64c88.4 0 160 71.6 160 160V352c0 88.4-71.6 160-160 160H160C71.6 512 0 440.4 0 352V160zm208-48v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V112c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faMouseAlt = faComputerMouseScrollwheel;\nvar faCalendarXmark = {\n prefix: 'fal',\n iconName: 'calendar-xmark',\n icon: [448, 512, [\"calendar-times\"], \"f273\", \"M128 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V64H64C28.7 64 0 92.7 0 128v32 32V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V192 160 128c0-35.3-28.7-64-64-64H352V16c0-8.8-7.2-16-16-16s-16 7.2-16 16V64H128V16zM32 192H416V448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V192zM64 96H384c17.7 0 32 14.3 32 32v32H32V128c0-17.7 14.3-32 32-32zM299.3 283.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L224 313.4l-52.7-52.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L201.4 336l-52.7 52.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L224 358.6l52.7 52.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L246.6 336l52.7-52.7z\"]\n};\nvar faCalendarTimes = faCalendarXmark;\nvar faChildReaching = {\n prefix: 'fal',\n iconName: 'child-reaching',\n icon: [384, 512, [], \"e59d\", \"M224 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-96 0a64 64 0 1 1 128 0A64 64 0 1 1 128 64zM112 188c-27.8-14.9-51.4-37.4-67.5-65.8L34.1 103.9c-4.4-7.7-1.7-17.5 6-21.8s17.5-1.7 21.8 6l10.4 18.3c24.4 43 70.1 69.6 119.5 69.6c48.9 0 94.1-26 118.7-68.2l11.6-19.9c4.5-7.6 14.2-10.2 21.9-5.8s10.2 14.2 5.8 21.9l-11.6 19.9c-16 27.5-39.1 49.4-66.2 63.9V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V384H144V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V188zm32 13.1V352h96V201c-15.4 4.6-31.6 7-48.1 7c-16.4 0-32.5-2.4-47.9-6.9z\"]\n};\nvar faTableLayout = {\n prefix: 'fal',\n iconName: 'table-layout',\n icon: [512, 512, [], \"e290\", \"M448 64c17.7 0 32 14.3 32 32v64L32 160l0-64c0-17.7 14.3-32 32-32l384 0zM32 416l0-224 128 0 0 256H64c-17.7 0-32-14.3-32-32zm160 32l0-256 288 0 0 224c0 17.7-14.3 32-32 32H192zM64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32z\"]\n};\nvar faNarwhal = {\n prefix: 'fal',\n iconName: 'narwhal',\n icon: [640, 512, [], \"f6fe\", \"M630.6 1.4c8 3.7 11.6 13.1 7.9 21.2L562.2 190.6C609 222.3 640 275.6 640 336c0 97.2-78.8 176-176 176H240c-88.4 0-160-71.6-160-160V328.3 280 264.3L34.1 232.2C12.7 217.2 0 192.8 0 166.7L0 112c0-6 3.3-11.4 8.6-14.2s11.7-2.3 16.6 1.1L96 148.5l70.8-49.6c4.9-3.4 11.3-3.8 16.6-1.1s8.6 8.2 8.6 14.2l0 54.7c0 26.1-12.7 50.6-34.1 65.5L112 264.3V280v48.3c0 13.1 10.6 23.7 23.7 23.7c5.4 0 10.6-1.8 14.8-5.2L323.1 208.7c39.4-31.6 89.1-48.7 139.6-48.7c25.4 0 49.6 5.4 71.5 15L609.4 9.4c3.7-8 13.1-11.6 21.2-7.9zM464 480c79.5 0 144-64.5 144-144c0-79.2-65.5-144-145.4-144c-43.3 0-85.9 14.8-119.6 41.7L170.5 371.8c-9.9 7.9-22.1 12.2-34.8 12.2c-7.3 0-14.2-1.4-20.6-3.9C127.9 437.3 178.9 480 240 480H464zm40-208a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM32 166.7c0 15.7 7.6 30.3 20.5 39.3L96 236.5 139.5 206c12.8-9 20.5-23.7 20.5-39.3l0-23.9-54.8 38.4c-5.5 3.9-12.8 3.9-18.4 0L32 142.7l0 23.9z\"]\n};\nvar faRampLoading = {\n prefix: 'fal',\n iconName: 'ramp-loading',\n icon: [448, 512, [], \"f4d4\", \"M96 32H352c17.7 0 32 14.3 32 32V341.7l32 58.7V64c0-35.3-28.7-64-64-64H96C60.7 0 32 28.7 32 64V400.4l32-58.7V64c0-17.7 14.3-32 32-32zm67.1 256c-17.6 0-33.8 9.6-42.2 25.1L38.7 464.8C27.2 486.1 42.6 512 66.9 512H381.1c24.2 0 39.7-25.9 28.1-47.2L327.1 313.1c-8.4-15.5-24.6-25.1-42.2-25.1H163.1zM149 328.4c2.8-5.2 8.2-8.4 14.1-8.4H284.9c5.9 0 11.3 3.2 14.1 8.4L381.1 480H66.9L149 328.4z\"]\n};\nvar faCalendarCirclePlus = {\n prefix: 'fal',\n iconName: 'calendar-circle-plus',\n icon: [576, 512, [], \"e470\", \"M128 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V64H64C28.7 64 0 92.7 0 128v32 32V448c0 35.3 28.7 64 64 64H330.8c-12.9-9.1-24.5-19.9-34.6-32H64c-17.7 0-32-14.3-32-32V192H352h64 16 16V160 128c0-35.3-28.7-64-64-64H352V16c0-8.8-7.2-16-16-16s-16 7.2-16 16V64H128V16zM64 96H384c17.7 0 32 14.3 32 32v32H32V128c0-17.7 14.3-32 32-32zM320 368a112 112 0 1 1 224 0 112 112 0 1 1 -224 0zm256 0a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zM448 304c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H368c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v48c0 8.8 7.2 16 16 16s16-7.2 16-16V384h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H448V304z\"]\n};\nvar faToothbrush = {\n prefix: 'fal',\n iconName: 'toothbrush',\n icon: [576, 512, [129701], \"f635\", \"M64 192c-17.7 0-32-14.3-32-32s14.3-32 32-32H288c24.8 0 45.1-9.9 57.7-28.9c6.6-10.1 10.1-21.2 11.9-31.6c14.8 3.6 27.9 9.7 37.9 17.8C408.3 95.7 416 109.4 416 128c0 35.3-28.7 64-64 64H64zM0 160c0 35.3 28.7 64 64 64H352c53 0 96-43 96-96c0-58.5-51.6-89.9-104-95.2c-8.8-.9-15.8 6.4-16.4 15.2c-1.5 25.3-8.4 48-39.6 48H64C28.7 96 0 124.7 0 160zM64 272c0-8.8-7.2-16-16-16s-16 7.2-16 16V448H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H48h64 64 64 64 64H560c8.8 0 16-7.2 16-16s-7.2-16-16-16H384V272c0-8.8-7.2-16-16-16s-16 7.2-16 16V448H320V272c0-8.8-7.2-16-16-16s-16 7.2-16 16V448H256V272c0-8.8-7.2-16-16-16s-16 7.2-16 16V448H192V272c0-8.8-7.2-16-16-16s-16 7.2-16 16V448H128V272c0-8.8-7.2-16-16-16s-16 7.2-16 16V448H64V272z\"]\n};\nvar faBorderInner = {\n prefix: 'fal',\n iconName: 'border-inner',\n icon: [448, 512, [], \"f84e\", \"M224 480c-8.8 0-16-7.2-16-16l0-192L16 272c-8.8 0-16-7.2-16-16s7.2-16 16-16l192 0 0-192c0-8.8 7.2-16 16-16s16 7.2 16 16l0 192 192 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-192 0 0 192c0 8.8-7.2 16-16 16zM32 424a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm384 0a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM32 328a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm384 0a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM392 160a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM32 136a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM392 64a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM8 64a24 24 0 1 1 48 0A24 24 0 1 1 8 64zm288 0a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm24 360a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM104 64a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm24 360a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faPawClaws = {\n prefix: 'fal',\n iconName: 'paw-claws',\n icon: [512, 512, [], \"f702\", \"M313.7 8.8c-4 7.9-.7 17.5 7.2 21.5c8.5 4.2 21.6 15.4 31.8 34c-30-3.5-62.2 21.7-75.2 60.5c-14.3 42.9 .3 86.2 32.6 96.8s70.1-15.6 84.4-58.5c4-11.9 5.7-23.9 5.5-35.1h0c0-69.9-37.9-112.8-64.8-126.3c-7.9-4-17.5-.7-21.5 7.2zM307.9 135c5.2-15.5 14.2-26.8 23.3-33.1s16.3-6.6 20.8-5.1c4.4 1.5 9.9 5.8 13.4 16.1c3.5 10.3 4 24.7-1.2 40.2s-14.2 26.8-23.3 33.1s-16.3 6.6-20.8 5.1c-4.4-1.5-9.9-5.8-13.4-16.1c-3.5-10.3-4-24.7 1.2-40.2zM205.4 175.2c-3.5 10.3-9 14.6-13.4 16.1c-4.5 1.5-11.7 1.2-20.8-5.1s-18.2-17.6-23.3-33.1s-4.7-29.9-1.2-40.2c3.5-10.3 9-14.6 13.4-16.1c4.5-1.5 11.7-1.2 20.8 5.1s18.2 17.6 23.3 33.1s4.7 29.9 1.2 40.2zm-3.5 46.5c32.3-10.6 46.9-53.9 32.6-96.8c-13-38.8-45.2-64-75.2-60.5c10.2-18.6 23.3-29.8 31.8-34c7.9-4 11.1-13.6 7.2-21.5s-13.6-11.1-21.5-7.2C149.9 15.2 112 58.1 112 128h0c-.2 11.3 1.5 23.2 5.5 35.1c14.3 42.9 52.1 69.1 84.4 58.5zm-122.1 54c-.9 7.6-3.9 10.4-5.5 11.3c-1.6 .9-5.7 2.2-13-.9s-15.7-9.9-22-20.7s-8-21.4-7-29c.9-7.6 3.9-10.4 5.5-11.3c1.6-.9 5.7-2.2 13 .9s15.7 9.9 22 20.7s8 21.4 7 29zm10.4 39c24.5-14 29.1-51.7 10.2-84.1C85.9 205.6 61.7 191.1 40.2 192c10.4-28.1 28.3-44.4 39-49.7c7.9-4 11.1-13.6 7.2-21.5s-13.6-11.1-21.5-7.2C37.9 127.2 0 170.1 0 240H0c-.1 13.3 3.7 27.8 11.6 41.4c18.9 32.4 54 47.3 78.5 33.3zM256 288c25.7 0 108.2 25.4 156.8 156.3c2.1 5.7 3.2 12.2 3.2 19.4v4.4c0 6.6-5.3 11.9-11.9 11.9c-10.1 0-20.1-1.5-29.7-4.5l-80.2-25.1c-24.9-7.8-51.5-7.8-76.4 0l-80.2 25.1c-9.6 3-19.7 4.5-29.7 4.5c-6.6 0-11.9-5.3-11.9-11.9v-4.4c0-7.1 1.1-13.7 3.2-19.4C147.8 313.4 230.3 288 256 288zm0-32c-41.3 0-134.4 35.9-186.8 177.2c-3.6 9.7-5.2 20.1-5.2 30.5v4.4c0 24.2 19.7 43.9 43.9 43.9c13.3 0 26.6-2 39.3-6l80.2-25.1c18.6-5.8 38.6-5.8 57.3 0L364.8 506c12.7 4 26 6 39.3 6c24.2 0 43.9-19.7 43.9-43.9v-4.4c0-10.4-1.6-20.7-5.2-30.5C390.4 291.9 297.3 256 256 256zm183.3-9.3c6.3-10.8 14.7-17.6 22-20.7s11.4-1.8 13-.9c1.6 .9 4.6 3.7 5.5 11.3c.9 7.7-.8 18.2-7 29s-14.7 17.6-22 20.7s-11.4 1.8-13 .9c-1.6-.9-4.6-3.7-5.5-11.3c-.9-7.7 .8-18.2 7-29zm-27.7-16.1c-18.9 32.4-14.3 70.1 10.2 84.1s59.7-.9 78.5-33.3c7.9-13.6 11.7-28.1 11.6-41.4h0c0-69.9-37.9-112.8-64.8-126.3c-7.9-4-17.5-.7-21.5 7.2s-.7 17.5 7.2 21.5c10.7 5.3 28.6 21.6 39 49.7c-21.5-1-45.7 13.6-60.2 38.5z\"]\n};\nvar faKiwiFruit = {\n prefix: 'fal',\n iconName: 'kiwi-fruit',\n icon: [448, 512, [], \"e30c\", \"M416 176c0-25.2-15.9-52.4-50.9-74.9C330.4 78.8 280.6 64 224 64s-106.4 14.8-141.1 37.1C47.9 123.6 32 150.8 32 176s15.9 52.4 50.9 74.9C117.6 273.2 167.4 288 224 288s106.4-14.8 141.1-37.1c35-22.5 50.9-49.7 50.9-74.9zm32 0v80c0 123.7-100.3 224-224 224S0 379.7 0 256V176C0 96.5 100.3 32 224 32s224 64.5 224 144zm-32 74.2C376.8 292 305.5 320 224 320s-152.8-28-192-69.8V256c0 106 86 192 192 192s192-86 192-192v-5.8zM280 176c0 13.3-25.1 24-56 24s-56-10.7-56-24s25.1-24 56-24s56 10.7 56 24zM240 88v24c0 8.8-7.2 16-16 16s-16-7.2-16-16V88c0-8.8 7.2-16 16-16s16 7.2 16 16zm-84.7 12.7l16 16c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-16-16c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0zm160 0c6.2 6.2 6.2 16.4 0 22.6l-16 16c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l16-16c6.2-6.2 16.4-6.2 22.6 0zM96 160h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H96c-8.8 0-16-7.2-16-16s7.2-16 16-16zm224 0h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H320c-8.8 0-16-7.2-16-16s7.2-16 16-16zM171.3 235.3l-16 16c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l16-16c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zm128-22.6l16 16c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-16-16c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0zM240 240v24c0 8.8-7.2 16-16 16s-16-7.2-16-16V240c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faTrafficLightSlow = {\n prefix: 'fal',\n iconName: 'traffic-light-slow',\n icon: [320, 512, [], \"f639\", \"M64 32C46.3 32 32 46.3 32 64V352c0 70.7 57.3 128 128 128s128-57.3 128-128V64c0-17.7-14.3-32-32-32H64zM0 64C0 28.7 28.7 0 64 0H256c35.3 0 64 28.7 64 64V352c0 88.4-71.6 160-160 160S0 440.4 0 352V64zM136 392a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zm80 0a56 56 0 1 1 -112 0 56 56 0 1 1 112 0zm0-136a56 56 0 1 1 -112 0 56 56 0 1 1 112 0zM136 120a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zm80 0a56 56 0 1 1 -112 0 56 56 0 1 1 112 0z\"]\n};\nvar faRectangleCode = {\n prefix: 'fal',\n iconName: 'rectangle-code',\n icon: [512, 512, [], \"e322\", \"M448 64c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32H448zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM293.4 172c-6.6 5.9-7.2 16-1.3 22.6L346.6 256 292 317.4c-5.9 6.6-5.3 16.7 1.3 22.6s16.7 5.3 22.6-1.3l64-72c5.4-6.1 5.4-15.2 0-21.3l-64-72c-5.9-6.6-16-7.2-22.6-1.3zM220 194.6c5.9-6.6 5.3-16.7-1.3-22.6s-16.7-5.3-22.6 1.3l-64 72c-5.4 6.1-5.4 15.2 0 21.3l64 72c5.9 6.6 16 7.2 22.6 1.3s7.2-16 1.3-22.6L165.4 256 220 194.6z\"]\n};\nvar faHeadSideVirus = {\n prefix: 'fal',\n iconName: 'head-side-virus',\n icon: [512, 512, [], \"e064\", \"M32 224C32 118 118 32 224 32h16c66.1 0 127.1 40 153.8 96.9c3.2 6.9 6.5 14.2 9.9 21.7l0 0 0 0c6.2 13.9 12.7 28.5 19.8 42c11.1 21.3 24.8 42.3 44 59.4l3.2 2.8c6 5.3 9.5 13 9.5 21.1c0 15.6-12.6 28.2-28.2 28.2H432c-8.8 0-16 7.2-16 16v64c0 17.7-14.3 32-32 32H304c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V448h64c35.3 0 64-28.7 64-64V336h3.8c33.2 0 60.2-26.9 60.2-60.2c0-17.2-7.4-33.6-20.2-45l-3.2-2.8c-15.1-13.5-26.6-30.6-36.9-50.3c-6.7-12.7-12.3-25.5-18.2-38.7l0 0c-3.5-7.8-7-15.7-10.8-23.8C390.8 47.3 318.6 0 240 0H224C100.3 0 0 100.3 0 224c0 52.9 18.4 101.6 49.1 140C58.5 375.6 64 388.6 64 401.4V496c0 8.8 7.2 16 16 16s16-7.2 16-16V401.4c0-22.1-9.5-41.9-21.9-57.4C47.7 311.1 32 269.4 32 224zm293.8 63.2C302.5 263.9 319 224 352 224c8.8 0 16-7.2 16-16s-7.2-16-16-16c-33 0-49.5-39.9-26.2-63.2c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0C279.9 129.5 240 113 240 80c0-8.8-7.2-16-16-16s-16 7.2-16 16c0 33-39.9 49.5-63.2 26.2c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6C145.5 152.1 129 192 96 192c-8.8 0-16 7.2-16 16s7.2 16 16 16c33 0 49.5 39.9 26.2 63.2c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0C168.1 286.5 208 303 208 336c0 8.8 7.2 16 16 16s16-7.2 16-16c0-33 39.9-49.5 63.2-26.2c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6zM307.5 208c-17 14.5-26.3 36.8-24.5 59.1c-22.3-1.8-44.6 7.4-59.1 24.5c-14.5-17-36.8-26.3-59.1-24.5c1.8-22.3-7.4-44.6-24.5-59.1c17-14.5 26.3-36.8 24.5-59.1c22.3 1.8 44.6-7.4 59.1-24.5c6.6 7.8 14.8 13.9 24 18.1c10.9 5 23 7.3 35.1 6.3c-1.8 22.3 7.4 44.6 24.5 59.1zM208 216a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm48 24a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faKeyboardBrightness = {\n prefix: 'fal',\n iconName: 'keyboard-brightness',\n icon: [640, 512, [], \"e1c0\", \"M115.3 172.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l88 88c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-88-88zM304 224c0 8.8 7.2 16 16 16s16-7.2 16-16V96c0-8.8-7.2-16-16-16s-16 7.2-16 16V224zm132.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l88-88c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-88 88zM0 400c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H16c-8.8 0-16 7.2-16 16zm208-16c-8.8 0-16 7.2-16 16s7.2 16 16 16H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H208zm320 0c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H528z\"]\n};\nvar faBooksMedical = {\n prefix: 'fal',\n iconName: 'books-medical',\n icon: [576, 512, [], \"f7e8\", \"M192 464c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V416h96v48zm-16 48c12.3 0 23.5-4.6 32-12.2c8.5 7.6 19.7 12.2 32 12.2h64c26.5 0 48-21.5 48-48V416 400 384 193.8l51.4 198.1 4 15.5 18 69.2c6.6 25.5 32 40.6 56.7 33.8l59.6-16.5c24.7-6.8 39.3-33 32.7-58.5l-13.9-53.7-4-15.5-63.9-246-4-15.5-18-69.2C464 9.9 438.6-5.2 413.9 1.6L354.3 18.1c-3.5 1-6.8 2.3-9.9 4C335.9 8.8 321 0 304 0H240c-12.3 0-23.5 4.6-32 12.2C199.5 4.6 188.3 0 176 0H112C85.5 0 64 21.5 64 48V96v16 16H96h80 16v48h32V128h96V384H224V336H192v48H176 96 64v16 16 48c0 26.5 21.5 48 48 48h64zM352 64.8V63.5c.3-7.2 5.1-13 10.8-14.6l59.6-16.5c6.6-1.8 14.8 2 17.2 11l14.1 54.2-87.3 24.2L352.6 68.6c-.3-1.3-.5-2.6-.6-3.8zm-32-.6v0V96H224V48c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16V64.2zM240 480c-8.8 0-16-7.2-16-16V416h96v48c0 8.8-7.2 16-16 16H240zM192 48V96H96V48c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16zm269.7 80.7l59.8 230.5-87.3 24.2L374.4 152.8l87.3-24.2zm67.9 261.5l13.8 53.2c2.4 9.4-3.2 17.7-10.3 19.6l-59.6 16.5c-6.6 1.8-14.8-2-17.2-11l-14.1-54.2 87.3-24.2zM80 160c-17.7 0-32 14.3-32 32v16H32c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32H48v16c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V304h16c17.7 0 32-14.3 32-32V240c0-17.7-14.3-32-32-32H144V192c0-17.7-14.3-32-32-32H80zm0 32h32v32c0 8.8 7.2 16 16 16h32v32H128c-8.8 0-16 7.2-16 16v32H80V288c0-8.8-7.2-16-16-16H32V240H64c4.2 0 8.3-1.7 11.3-4.7s4.7-7.1 4.7-11.3V192z\"]\n};\nvar faLightbulbSlash = {\n prefix: 'fal',\n iconName: 'lightbulb-slash',\n icon: [640, 512, [], \"f673\", \"M438.3 258.1c-3.3 4.7-6.9 9.7-10.7 15l25.2 19.9c4-5.5 8-11 11.8-16.6c19.8-28.5 31.4-63 31.4-100.3C496 78.8 417.2 0 320 0C260.6 0 208 29.4 176.2 74.5l25.2 19.9C227.3 56.7 270.8 32 320 32c79.5 0 144 64.5 144 144c0 30.6-9.5 58.8-25.7 82.1zM226.5 114.3l25.2 19.9C265.8 111.3 291.1 96 320 96c8.8 0 16-7.2 16-16s-7.2-16-16-16c-39 0-73.4 20-93.5 50.3zm-25.4 143l-52.6-41.6c5.1 22.1 14.3 42.5 26.9 60.5c5 7.2 10.2 14.3 15.4 21.4l0 0 0 0 0 0 0 0c12.3 16.8 24.6 33.7 34.5 51.8c5.9 10.8 9.6 22.5 11.8 34.5h32.4c-2.5-16.6-7.3-33.7-16.2-49.9c-10.9-20-25.3-39.7-38-57.1l0 0c-4.9-6.7-9.5-13-13.6-19l-.5-.7zM274.7 448h90.5c-6.6 18.6-24.4 32-45.3 32s-38.7-13.4-45.3-32zM240 432c0 44.2 35.8 80 80 80s80-35.8 80-80v-5.3c0-5.9-4.8-10.7-10.7-10.7H250.7c-5.9 0-10.7 4.8-10.7 10.7V432zM25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4z\"]\n};\nvar faHouseBlank = {\n prefix: 'fal',\n iconName: 'house-blank',\n icon: [576, 512, [\"home-blank\"], \"e487\", \"M277.4 4c6-5.3 15.1-5.3 21.2 0l272 240c6.6 5.8 7.3 16 1.4 22.6s-16 7.3-22.6 1.4L512 235V432c0 44.2-35.8 80-80 80H144c-44.2 0-80-35.8-80-80V235L26.6 268C20 273.8 9.8 273.2 4 266.6S-1.2 249.8 5.4 244L277.4 4zM96 206.7V432c0 26.5 21.5 48 48 48H432c26.5 0 48-21.5 48-48V206.7L288 37.3 96 206.7z\"]\n};\nvar faHomeBlank = faHouseBlank;\nvar faSquare5 = {\n prefix: 'fal',\n iconName: 'square-5',\n icon: [448, 512, [], \"e25a\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm176 32H288c8.8 0 16 7.2 16 16s-7.2 16-16 16H188.5L172 225.9l80.4 8.1c38.4 3.9 67.6 36.2 67.6 74.8c0 41.5-33.7 75.2-75.2 75.2h-44c-27.4 0-53-13.7-68.3-36.4l-1.8-2.7c-4.9-7.3-3-17.3 4.4-22.2s17.3-3 22.2 4.4l1.8 2.7c9.3 13.9 25 22.3 41.8 22.3h44c23.8 0 43.2-19.3 43.2-43.2c0-22.2-16.8-40.7-38.8-42.9l-98.8-10c-4.6-.5-8.8-2.9-11.5-6.7s-3.6-8.6-2.4-13.1l24-96c1.8-7.1 8.2-12.1 15.5-12.1z\"]\n};\nvar faSquareHeart = {\n prefix: 'fal',\n iconName: 'square-heart',\n icon: [448, 512, [128159, \"heart-square\"], \"f4c8\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm99.9 68.9c27.8-28.2 71.9-29.7 101.5-4.6c5.8 4.9 11 10.4 16.3 15.9c2.1 2.2 4.2 4.5 6.4 6.6c2.1-2.2 4.3-4.4 6.4-6.6c5.2-5.5 10.5-11 16.3-15.9c29.6-25.1 73.7-23.6 101.5 4.6c29.4 29.8 29.4 78.2 0 108L246.5 376.1c-6.2 6.3-14.3 9.4-22.5 9.4s-16.3-3.1-22.5-9.4L99.9 272.9c-29.4-29.8-29.4-78.2 0-108zm83.6 22.5c-16.8-17.1-44-17.1-60.8 0c-17.1 17.4-17.1 45.7 0 63.1L224 353.3 325.3 250.4c17.1-17.4 17.1-45.7 0-63.1c-16.8-17.1-44-17.1-60.8 0l-29.1 29.6c-6.3 6.4-16.5 6.4-22.8 0l-29.1-29.6z\"]\n};\nvar faHeartSquare = faSquareHeart;\nvar faPuzzle = {\n prefix: 'fal',\n iconName: 'puzzle',\n icon: [512, 512, [], \"e443\", \"M320 0c-17.7 0-32 14.3-32 32V56c0 17.7 14.3 32 32 32h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H320c-17.7 0-32 14.3-32 32v24c0 17.7 14.3 32 32 32h32c0 26.5 21.5 48 48 48s48-21.5 48-48h32c17.7 0 32-14.3 32-32V64c0-35.3-28.7-64-64-64H320zm0 32H448c17.7 0 32 14.3 32 32V176H432c-8.8 0-16 7.2-16 16v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8-7.2-16-16-16H320V152h16c26.5 0 48-21.5 48-48s-21.5-48-48-48H320V32zM64 64C28.7 64 0 92.7 0 128V288 448c0 35.3 28.7 64 64 64H224 384c35.3 0 64-28.7 64-64V304c0-17.7-14.3-32-32-32H368c-17.7 0-32 14.3-32 32v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V304c0-17.7-14.3-32-32-32H240V96c0-17.7-14.3-32-32-32H64zM208 96V272H176V256c0-26.5-21.5-48-48-48s-48 21.5-48 48v16H32V128c0-17.7 14.3-32 32-32H208zM80 304c17.7 0 32-14.3 32-32V256c0-8.8 7.2-16 16-16s16 7.2 16 16v16c0 17.7 14.3 32 32 32h32v32H192c-26.5 0-48 21.5-48 48s21.5 48 48 48h16v48H64c-17.7 0-32-14.3-32-32V304H80zM240 432c0-17.7-14.3-32-32-32H192c-8.8 0-16-7.2-16-16s7.2-16 16-16h16c17.7 0 32-14.3 32-32V304h32v16c0 26.5 21.5 48 48 48s48-21.5 48-48V304h48V448c0 17.7-14.3 32-32 32H240V432z\"]\n};\nvar faUserGear = {\n prefix: 'fal',\n iconName: 'user-gear',\n icon: [640, 512, [\"user-cog\"], \"f4fe\", \"M128 128a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zm224 0A128 128 0 1 0 96 128a128 128 0 1 0 256 0zM32 480c1.2-79.7 66.2-144 146.3-144h91.4c16.1 0 31.7 2.6 46.2 7.4c-8.4-9.5-13.2-22.4-11.6-36.1c-11.2-2.2-22.7-3.3-34.5-3.3H178.3C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H411.9c-5.1-7.8-7.9-17.1-7.9-26.3v-.9c-16.1 8.9-37.4 8.3-53-4.8H32zm341.5-85.9c12.8-11.4 18.5-27.7 18.5-42.4s-5.7-31-18.5-42.4l17.2-30.5c15.9 6.3 33 3.7 46-3.7c12.6-7.2 23.6-20.1 26.6-36.7H497c3 16.6 13.9 29.5 26.5 36.7c12.9 7.4 30 9.9 45.9 3.6l17.2 30.5C573.7 320.7 568 337 568 351.7s5.7 31 18.5 42.4l-17.2 30.5c-15.9-6.3-32.9-3.7-45.9 3.6c-12.6 7.2-23.5 20.2-26.5 36.7H463.3c-3.1-16.6-14-29.5-26.6-36.7c-13-7.4-30-9.9-46-3.7l-17.2-30.5zm26.1 61.7c6.5-3.9 14.6-3.4 21.2 .3c6.6 3.8 11.3 10.6 11.3 18.2v1.4c0 11.7 9.5 21.3 21.3 21.3h53.4c11.8 0 21.4-9.6 21.4-21.4V474c0-7.5 4.6-14.2 11.1-18c6.5-3.7 14.5-4.2 21-.3l1.8 1c10.7 6.3 24.4 2.6 30.5-8.2L619 401.7c5.7-10.2 2.3-23.1-7.8-29c-7.3-4.3-11.2-12.6-11.2-21s3.9-16.7 11.2-21c10-5.9 13.5-18.8 7.8-29l-26.4-46.9c-6.1-10.8-19.9-14.5-30.5-8.2l-1.8 1c-6.5 3.8-14.5 3.4-21-.3c-6.5-3.7-11.1-10.4-11.1-18v-1.6c0-11.8-9.6-21.4-21.4-21.4H453.4c-11.7 0-21.3 9.5-21.3 21.3V229c0 7.6-4.6 14.4-11.3 18.2c-6.6 3.7-14.7 4.2-21.2 .3l-1.6-1c-10.7-6.3-24.4-2.6-30.5 8.2L341 301.7c-5.7 10.2-2.3 23.1 7.8 29c7.3 4.3 11.2 12.6 11.2 21s-3.9 16.7-11.2 21c-10 5.9-13.5 18.8-7.8 29l26.4 46.9c6.1 10.8 19.9 14.5 30.5 8.2l1.6-1zm80.5-48.1a56 56 0 1 0 0-112 56 56 0 1 0 0 112zm0-80a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faUserCog = faUserGear;\nvar faPipeCircleCheck = {\n prefix: 'fal',\n iconName: 'pipe-circle-check',\n icon: [640, 512, [], \"e436\", \"M16 96c8.8 0 16 7.2 16 16v16H256 448V112c0-8.8 7.2-16 16-16s16 7.2 16 16v32 48.7c-11 1-21.7 3-32 5.9V160H256 32V352H320.7c-.5 5.3-.7 10.6-.7 16s.2 10.7 .7 16H32v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V368 144 112c0-8.8 7.2-16 16-16zM496 480a112 112 0 1 0 0-224 112 112 0 1 0 0 224zm0-256a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm67.3 100.7c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faArrowUp19 = {\n prefix: 'fal',\n iconName: 'arrow-up-1-9',\n icon: [576, 512, [\"sort-numeric-up\"], \"f163\", \"M448 48c0-5.1-2.5-10-6.6-13s-9.5-3.8-14.4-2.2l-48 16c-8.4 2.8-12.9 11.9-10.1 20.2s11.9 12.9 20.2 10.1l26.9-9V192H384c-8.8 0-16 7.2-16 16s7.2 16 16 16h48 48c8.8 0 16-7.2 16-16s-7.2-16-16-16H448V48zM171.3 36.7c-6.2-6.2-16.4-6.2-22.6 0l-96 96c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L144 86.6V464c0 8.8 7.2 16 16 16s16-7.2 16-16V86.6l68.7 68.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-96-96zM428 392a52 52 0 1 1 0-104 52 52 0 1 1 0 104zm-84-52c0 46.4 37.6 84 84 84c.4 0 .9 0 1.3 0l-25.4 29.6c-5.8 6.7-5 16.8 1.7 22.6s16.8 5 22.6-1.7l62.4-72.5C504.4 385.8 512 365.2 512 344h-.1c.1-1.3 .1-2.7 .1-4c0-46.4-37.6-84-84-84s-84 37.6-84 84z\"]\n};\nvar faSortNumericUp = faArrowUp19;\nvar faOctagonExclamation = {\n prefix: 'fal',\n iconName: 'octagon-exclamation',\n icon: [512, 512, [], \"e204\", \"M191.5 32.1c-10.6 0-20.8 4.2-28.3 11.7L43.8 163.2c-7.5 7.5-11.7 17.7-11.7 28.3v129c0 10.6 4.2 20.8 11.7 28.3L21.2 371.4C7.7 357.9 .1 339.6 .1 320.5v-129c0-19.1 7.6-37.4 21.1-50.9L140.6 21.2C154.1 7.7 172.4 .1 191.5 .1h129c19.1 0 37.4 7.6 50.9 21.1L490.8 140.6c13.5 13.5 21.1 31.8 21.1 50.9v129c0 19.1-7.6 37.4-21.1 50.9L371.4 490.8c-13.5 13.5-31.8 21.1-50.9 21.1h-129c-19.1 0-37.4-7.6-50.9-21.1L21.2 371.4l22.6-22.6L163.2 468.2c7.5 7.5 17.7 11.7 28.3 11.7h129c10.6 0 20.8-4.2 28.3-11.7L468.2 348.8c7.5-7.5 11.7-17.7 11.7-28.3v-129c0-10.6-4.2-20.8-11.7-28.3L348.8 43.8c-7.5-7.5-17.7-11.7-28.3-11.7h-129zM256 128c8.8 0 16 7.2 16 16V272c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-8.8 7.2-16 16-16zM232 352a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faDialLow = {\n prefix: 'fal',\n iconName: 'dial-low',\n icon: [576, 512, [], \"e15d\", \"M288 56a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0 360c-65.3 0-119.1-48.9-127-112H288c8.8 0 16-7.2 16-16s-7.2-16-16-16H161c7.9-63.1 61.7-112 127-112c70.7 0 128 57.3 128 128s-57.3 128-128 128zM128 288a160 160 0 1 0 320 0 160 160 0 1 0 -320 0zm440 0a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM32 312a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM120 96A24 24 0 1 0 72 96a24 24 0 1 0 48 0zm360 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM120 480a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm360 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faDoorClosed = {\n prefix: 'fal',\n iconName: 'door-closed',\n icon: [576, 512, [128682], \"f52a\", \"M416 32c17.7 0 32 14.3 32 32V480H128V64c0-17.7 14.3-32 32-32H416zm64 448V64c0-35.3-28.7-64-64-64H160C124.7 0 96 28.7 96 64V480H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H96h32H448h32 80c8.8 0 16-7.2 16-16s-7.2-16-16-16H480zM408 256a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faLaptopMobile = {\n prefix: 'fal',\n iconName: 'laptop-mobile',\n icon: [640, 512, [\"phone-laptop\"], \"f87a\", \"M128 32H448c17.7 0 32 14.3 32 32V96h32V64c0-35.3-28.7-64-64-64H128C92.7 0 64 28.7 64 64V288H19.2C8.6 288 0 296.6 0 307.2C0 349.6 34.4 384 76.8 384H352V352H76.8c-20.3 0-37.4-13.5-42.9-32H64 96 352V288H96V64c0-17.7 14.3-32 32-32zM416 176c0-8.8 7.2-16 16-16H592c8.8 0 16 7.2 16 16V464c0 8.8-7.2 16-16 16H432c-8.8 0-16-7.2-16-16V176zm-32 0V464c0 26.5 21.5 48 48 48H592c26.5 0 48-21.5 48-48V176c0-26.5-21.5-48-48-48H432c-26.5 0-48 21.5-48 48z\"]\n};\nvar faPhoneLaptop = faLaptopMobile;\nvar faConveyorBeltBoxes = {\n prefix: 'fal',\n iconName: 'conveyor-belt-boxes',\n icon: [640, 512, [\"conveyor-belt-alt\"], \"f46f\", \"M304 32c8.8 0 16 7.2 16 16V240c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V48c0-8.8 7.2-16 16-16H304zM112 0C85.5 0 64 21.5 64 48V240c0 26.5 21.5 48 48 48H304c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H112zM528 96c8.8 0 16 7.2 16 16V240c0 8.8-7.2 16-16 16H432c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16h96zM432 64c-26.5 0-48 21.5-48 48V240c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48H432zM608 416c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64s28.7-64 64-64H544c35.3 0 64 28.7 64 64zM96 320c-53 0-96 43-96 96s43 96 96 96H544c53 0 96-43 96-96s-43-96-96-96H96zm56 96a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm168 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm216-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faConveyorBeltAlt = faConveyorBeltBoxes;\nvar faShieldVirus = {\n prefix: 'fal',\n iconName: 'shield-virus',\n icon: [512, 512, [], \"e06c\", \"M243.5 37.3c8-3.4 17-3.4 25 0l176.7 75c11.3 4.8 18.9 15.5 18.8 27.6c-.5 94-39.4 259.8-195.5 334.5c-7.9 3.8-17.2 3.8-25.1 0C87.3 399.6 48.5 233.8 48 139.8c-.1-12.1 7.5-22.8 18.8-27.6l176.7-75zM281 7.8c-16-6.8-34-6.8-50 0L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.7 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2L281 7.8zm76.8 311.4C334.5 295.9 351 256 384 256c8.8 0 16-7.2 16-16s-7.2-16-16-16c-33 0-49.5-39.9-26.2-63.2c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0C311.9 161.5 272 145 272 112c0-8.8-7.2-16-16-16s-16 7.2-16 16c0 33-39.9 49.5-63.2 26.2c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6C177.5 184.1 161 224 128 224c-8.8 0-16 7.2-16 16s7.2 16 16 16c33 0 49.5 39.9 26.2 63.2c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0C200.1 318.5 240 335 240 368c0 8.8 7.2 16 16 16s16-7.2 16-16c0-33 39.9-49.5 63.2-26.2c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6zM339.5 240c-17 14.5-26.3 36.8-24.5 59.1c-22.3-1.8-44.6 7.4-59.1 24.5c-14.5-17-36.8-26.3-59.1-24.5c1.8-22.3-7.4-44.6-24.5-59.1c17-14.5 26.3-36.8 24.5-59.1c22.3 1.8 44.6-7.4 59.1-24.5c6.6 7.8 14.8 13.9 24 18.1c10.9 5 23 7.3 35.1 6.3c-1.8 22.3 7.4 44.6 24.5 59.1zM240 248a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm48 24a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faStarfighterTwinIonEngineAdvanced = {\n prefix: 'fal',\n iconName: 'starfighter-twin-ion-engine-advanced',\n icon: [640, 512, [\"starfighter-alt-advanced\"], \"e28e\", \"M132.7 4.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L36.7 145.9c-3 3-4.7 7.1-4.7 11.3v40.4l148.6-20.3C208.1 128.8 260.2 96 320 96s111.9 32.8 139.4 81.4L608 197.7V157.3c0-4.2-1.7-8.3-4.7-11.3L484.7 27.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L625.9 123.3c9 9 14.1 21.2 14.1 33.9V202v14 80 14 44.8c0 12.7-5.1 24.9-14.1 33.9L507.3 507.3c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L603.3 366.1c3-3 4.7-7.1 4.7-11.3V314.3L459.4 334.6C431.9 383.2 379.8 416 320 416s-111.9-32.8-139.4-81.4L32 314.3v40.4c0 4.2 1.7 8.3 4.7 11.3L155.3 484.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L14.1 388.7c-9-9-14.1-21.2-14.1-33.9V310 296 216 202 157.3c0-12.7 5.1-24.9 14.1-33.9L132.7 4.7zm341.1 207c4.1 14.1 6.2 29 6.2 44.3s-2.2 30.3-6.2 44.3L608 282V230L473.8 211.7zM32 282l134.2 18.3c-4.1-14.1-6.2-29-6.2-44.3s2.2-30.3 6.2-44.3L32 230V282zM320 384a128 128 0 1 0 0-256 128 128 0 1 0 0 256zm-16-66c-5.9-1.5-11.4-3.8-16.5-6.8l-24.1 24.1c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l24.1-24.1c-3-5.1-5.3-10.6-6.8-16.5H224c-8.8 0-16-7.2-16-16s7.2-16 16-16h34c1.5-5.9 3.8-11.4 6.8-16.5l-24.1-24.1c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l24.1 24.1c5.1-3 10.6-5.3 16.5-6.8V160c0-8.8 7.2-16 16-16s16 7.2 16 16v34c5.9 1.5 11.4 3.8 16.5 6.8l24.1-24.1c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-24.1 24.1c3 5.1 5.3 10.6 6.8 16.5h34c8.8 0 16 7.2 16 16s-7.2 16-16 16H382c-1.5 5.9-3.8 11.4-6.8 16.5l24.1 24.1c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-24.1-24.1c-5.1 3-10.6 5.3-16.5 6.8v34c0 8.8-7.2 16-16 16s-16-7.2-16-16V318zm16-30a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faStarfighterAltAdvanced = faStarfighterTwinIonEngineAdvanced;\nvar faDiceSix = {\n prefix: 'fal',\n iconName: 'dice-six',\n icon: [448, 512, [9861], \"f526\", \"M384 64c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm88 128a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM128 280a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM296 160a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zm24 120a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm24 72a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM128 376a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faStarfighterTwinIonEngine = {\n prefix: 'fal',\n iconName: 'starfighter-twin-ion-engine',\n icon: [576, 512, [\"starfighter-alt\"], \"e038\", \"M16 32c8.8 0 16 7.2 16 16V197.1l116.4-19.4C175.8 128.9 228.1 96 288 96s112.2 32.9 139.6 81.7L544 197.1V48c0-8.8 7.2-16 16-16s16 7.2 16 16V202.4 216v80 13.6V464c0 8.8-7.2 16-16 16s-16-7.2-16-16V314.9L427.6 334.3C400.2 383.1 347.9 416 288 416s-112.2-32.9-139.6-81.7L32 314.9V464c0 8.8-7.2 16-16 16s-16-7.2-16-16V309.6 296 216 202.4 48c0-8.8 7.2-16 16-16zM448 256c0 15.1-2.1 29.6-6 43.4l102-17V229.6l-102-17c3.9 13.8 6 28.4 6 43.4zM32 282.4l102 17c-3.9-13.8-6-28.4-6-43.4s2.1-29.6 6-43.4l-102 17v52.9zM416 256a128 128 0 1 0 -256 0 128 128 0 1 0 256 0zM226 272H192c-8.8 0-16-7.2-16-16s7.2-16 16-16h34c1.5-5.9 3.8-11.4 6.8-16.5l-24.1-24.1c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l24.1 24.1c5.1-3 10.6-5.3 16.5-6.8V160c0-8.8 7.2-16 16-16s16 7.2 16 16v34c5.9 1.5 11.4 3.8 16.5 6.8l24.1-24.1c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-24.1 24.1c3 5.1 5.3 10.6 6.8 16.5h34c8.8 0 16 7.2 16 16s-7.2 16-16 16H350c-1.5 5.9-3.8 11.4-6.8 16.5l24.1 24.1c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-24.1-24.1c-5.1 3-10.6 5.3-16.5 6.8v34c0 8.8-7.2 16-16 16s-16-7.2-16-16V318c-5.9-1.5-11.4-3.8-16.5-6.8l-24.1 24.1c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l24.1-24.1c-3-5.1-5.3-10.6-6.8-16.5zm62 16a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faStarfighterAlt = faStarfighterTwinIonEngine;\nvar faRocketLaunch = {\n prefix: 'fal',\n iconName: 'rocket-launch',\n icon: [512, 512, [128640], \"e027\", \"M219.3 292.7c-10-10-21.4-18.1-33.8-24.1C215.6 146.3 269 86.7 321.1 58.1c53.5-29.4 111.4-29.4 154.6-21.8c7.6 43.2 7.7 101.1-21.8 154.6C425.3 243 365.7 296.4 243.4 326.5c-6-12.4-14.1-23.9-24.1-33.8zM256 381.3c0-8.2-.8-16.3-2.4-24.3c37.8-9.5 70.4-21.3 98.4-34.7v80.1c0 12.1-6.8 23.2-17.7 28.6L256 470.1l0-88.9zm128 21.1l0-97.4C515.7 225.1 520.5 102.5 506.7 28.1c-2.2-11.6-11.2-20.7-22.8-22.8C409.5-8.5 286.9-3.7 207 128l-97.4 0c-24.2 0-46.4 13.7-57.2 35.4L1.7 264.8c-2.5 5-2.2 10.9 .7 15.6s8.1 7.6 13.6 7.6H130.7c24.7 0 48.5 9.8 65.9 27.3s27.3 41.2 27.3 65.9V496c0 5.5 2.9 10.7 7.6 13.6s10.6 3.2 15.6 .7l101.5-50.7c21.7-10.8 35.4-33 35.4-57.2zm-229-144c-7.9-1.6-16.1-2.4-24.3-2.4H41.9L81 177.7c5.4-10.8 16.5-17.7 28.6-17.7h80.1c-13.5 28-25.2 60.5-34.7 98.4zm-11.2 189c-11 11-29.4 19.4-52.6 24.9c-20.6 4.9-42.1 6.8-59 7.4c.6-17 2.5-38.4 7.4-59c5.5-23.2 13.9-41.6 24.9-52.6c21.9-21.9 57.4-21.9 79.3 0s21.9 57.4 0 79.3zM166.5 470c34.4-34.4 34.4-90.1 0-124.5s-90.1-34.4-124.5 0C7.7 379.7 1 446 .1 483.7c-.4 16 12.2 28.6 28.2 28.2C66 511 132.3 504.3 166.5 470zM392 144a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zM368 88a56 56 0 1 0 0 112 56 56 0 1 0 0-112z\"]\n};\nvar faMosquitoNet = {\n prefix: 'fal',\n iconName: 'mosquito-net',\n icon: [640, 512, [], \"e52c\", \"M161.7 440.8c-4 7.9-.7 17.5 7.2 21.5s17.5 .7 21.5-7.2l32-64c1.1-2.2 1.7-4.7 1.7-7.2l0-41.4 20-20v38c0 24.3 19.7 44 44 44s44-19.7 44-44v-38l30.9 30.9c3-3.7 6.6-6.9 10.6-9.5c-12.9-8.6-21.5-23.3-21.5-40c0-2.1 .1-4.2 .4-6.2L332 277.4V252.7l28.2 24.5c6.1-9.1 15.2-15.9 25.9-19.2l.2-.6-51.8-45.1 86.3 12.9c3.6-.9 7.3-1.3 11.2-1.3c8.9 0 17.2 2.4 24.3 6.6l25.8 3.8c8.2-6.5 18.6-10.5 29.9-10.5c16.7 0 31.4 8.5 40 21.5c2.1-3.1 4.5-6 7.3-8.6c-12.9-16.9-32.2-28.6-54.7-31.4L344.7 181.6l49.6-41.3c5.1-4.2 7-11.1 4.9-17.4L385.3 81.2l29-58.1c4-7.9 .7-17.5-7.2-21.5s-17.5-.7-21.5 7.2l-32 64c-1.9 3.8-2.2 8.2-.9 12.2l12.5 37.6L332 150.5V137.9c0-21.5-15.4-39.4-35.8-43.2v-31c0-4.5-3.7-8.2-8.2-8.2s-8.2 3.7-8.2 8.2v31c-20.4 3.8-35.8 21.7-35.8 43.2v12.6l-33.4-27.8 12.5-37.6c1.3-4 1-8.4-.9-12.2l-32-64c-4-7.9-13.6-11.1-21.5-7.2s-11.1 13.6-7.2 21.5l29 58.1-13.9 41.7c-2.1 6.2-.1 13.1 4.9 17.4l49.6 41.3L71.4 205.5C30.6 210.6 0 245.2 0 286.3c0 72.6 87.8 109 139.2 57.6L244 252.7v24.7l-47.3 47.3c-3 3-4.7 7.1-4.7 11.3l0 44.2-30.3 60.6zm-43.5-121c-.6 .5-1.1 1-1.6 1.5c-31.2 31.2-84.6 9.1-84.6-35c0-25 18.6-46 43.4-49.1l.8-.1 165.4-24.7L118.2 319.8zM528 272c0-8.8-7.2-16-16-16s-16 7.2-16 16v16H448V272c0-8.8-7.2-16-16-16s-16 7.2-16 16v16H400c-8.8 0-16 7.2-16 16s7.2 16 16 16h16v48H400c-8.8 0-16 7.2-16 16s7.2 16 16 16h16v48H400c-8.8 0-16 7.2-16 16s7.2 16 16 16h16v16c0 8.8 7.2 16 16 16s16-7.2 16-16V480h48v16c0 8.8 7.2 16 16 16s16-7.2 16-16V480h48v16c0 8.8 7.2 16 16 16s16-7.2 16-16V480h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H608V400h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H608V320h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H608V272c0-8.8-7.2-16-16-16s-16 7.2-16 16v16H528V272zm0 48h48v48H528V320zm0 80h48v48H528V400zm-80-32V320h48v48H448zm0 80V400h48v48H448zM272 360.6l0-222.7c0-8.8 7.2-16 16-16s16 7.2 16 16l0 222.7c0 8.8-7.2 16-16 16s-16-7.2-16-16z\"]\n};\nvar faVentDamper = {\n prefix: 'fal',\n iconName: 'vent-damper',\n icon: [640, 512, [], \"e465\", \"M512 96H128c-17.7 0-32 14.3-32 32v16V368v16c0 17.7 14.3 32 32 32H512c17.7 0 32-14.3 32-32V368 144 128c0-17.7-14.3-32-32-32zM48 128l16 0c0-35.3 28.7-64 64-64H512c35.3 0 64 28.7 64 64h16c26.5 0 48 21.5 48 48V336c0 26.5-21.5 48-48 48H576c0 35.3-28.7 64-64 64H128c-35.3 0-64-28.7-64-64H48c-26.5 0-48-21.5-48-48V176c0-26.5 21.5-48 48-48zM592 352c8.8 0 16-7.2 16-16V176c0-8.8-7.2-16-16-16H576V352h16zM48 352H64V160H48c-8.8 0-16 7.2-16 16V336c0 8.8 7.2 16 16 16zM176 160H464c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 80H464c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 80H464c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faBridgeWater = {\n prefix: 'fal',\n iconName: 'bridge-water',\n icon: [576, 512, [], \"e4ce\", \"M544 96H32l0 80.1c53.3 1.9 96 45.7 96 99.5V361c-9.9-5.7-21-8.6-32-8.6V275.6C96 238.2 65.8 208 28.4 208C12.7 208 0 195.3 0 179.6V96C0 78.3 14.3 64 32 64H544c17.7 0 32 14.3 32 32v83.6c0 15.7-12.7 28.4-28.4 28.4c-37.3 0-67.6 30.2-67.6 67.6v76.9c-11 0-22.1 2.8-32 8.6V275.6c0-53.8 42.7-97.6 96-99.5V96zM192 384.5h0V272c0-53 43-96 96-96s96 43 96 96V384.5c-10.4 0-21.3-2.2-32-6.1V272c0-35.3-28.7-64-64-64s-64 28.7-64 64V378.4c-10.3 3.8-21.1 6.1-32 6.1zm0 63.5c20.9 0 41.6-9.9 58.2-21.2c9.8-6.7 18-14 25.9-21.9c6.6-6.5 17.2-6.5 23.7 0c7.9 7.9 16.2 15.2 26 21.9C342.3 438 363.1 448 384 448s41.6-9.9 58.2-21.2c9.8-6.7 18-14 25.9-21.9c6.6-6.5 17.2-6.6 23.7 0c7.9 7.9 16.2 15.2 26 21.9c12.8 8.7 28.1 16.6 44.1 19.8c7.7 1.5 14.1 7.8 14.1 15.7c0 9.8-8 17.9-17.7 16.2c-23.1-4-43.6-15-58.5-25.2c-7.9-5.4-14.7-10.8-19.8-15.3c-5.1 4.5-11.8 9.9-19.8 15.3C441.5 465.9 414.3 480 384 480s-57.6-14.1-76.2-26.8c-7.9-5.4-14.7-10.8-19.8-15.3c-5.1 4.5-11.8 9.9-19.8 15.3C249.5 465.9 222.3 480 192 480s-57.6-14.1-76.2-26.8c-7.9-5.4-14.6-10.8-19.8-15.3c-5.1 4.5-11.8 9.9-19.8 15.3c-14.9 10.2-35.4 21.2-58.5 25.2C8 480.1 0 472 0 462.2c0-7.9 6.4-14.1 14.1-15.7c15.9-3.1 31.3-11.1 44-19.8c9.8-6.7 18-14 25.9-21.9c6.6-6.5 17.2-6.6 23.8 0c7.9 7.9 16.2 15.2 25.9 21.9C150.3 438 171.1 448 192 448z\"]\n};\nvar faBanBug = {\n prefix: 'fal',\n iconName: 'ban-bug',\n icon: [512, 512, [\"debug\"], \"f7f9\", \"M256 480C132.3 480 32 379.7 32 256c0-56.1 20.6-107.4 54.7-146.7l316 316C363.4 459.4 312.1 480 256 480zm79.5-167.1c.3-2.9 .5-5.9 .5-8.9v-5.9l46 5.8c8.8 1.1 16.8-5.1 17.9-13.9s-5.1-16.8-13.9-17.9l-50-6.2V244.5l51.9-13c8.6-2.1 13.8-10.8 11.6-19.4s-10.8-13.8-19.4-11.6l-44.1 11V208c0-7.4-1-14.7-2.9-21.5l43.8-29.2c7.4-4.9 9.3-14.8 4.4-22.2s-14.8-9.3-22.2-4.4l-40.8 27.2C303.7 139.7 281.2 128 256 128c-28.6 0-53.7 15-67.8 37.6L109.3 86.7C148.6 52.6 199.9 32 256 32c123.7 0 224 100.3 224 224c0 56.1-20.6 107.4-54.7 146.7l-89.8-89.8zM304 281.4l-92.2-92.2C219.1 172 236.2 160 256 160c26.5 0 48 21.5 48 48v23.7 .5V280v.1 1.3zM256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM176 265.9l-50 6.2c-8.8 1.1-15 9.1-13.9 17.9s9.1 15 17.9 13.9l46-5.8V304c0 7.4 1 14.7 2.9 21.5l-43.8 29.2c-7.4 4.9-9.3 14.8-4.4 22.2s14.8 9.3 22.2 4.4l40.8-27.2C208.3 372.3 230.8 384 256 384c17 0 32.8-5.3 45.8-14.4l-23.2-23.2c-6.7 3.6-14.4 5.6-22.5 5.6c-26.5 0-48-21.5-48-48V280.3c0-.2 0-.4 0-.7v-3.8l-32-32v22z\"]\n};\nvar faDebug = faBanBug;\nvar faPersonBooth = {\n prefix: 'fal',\n iconName: 'person-booth',\n icon: [576, 512, [], \"f756\", \"M80 80a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM80 0a56 56 0 1 1 0 112A56 56 0 1 1 80 0zM32 223.4c0 .2 0 .4 0 .6l0 55.7c.2 5.1 2.7 9.7 6.9 12.6L80 320.6V180.2c-6.2-2.7-13-4.2-20-4.2c-15.5 0-28 12.5-28 28v19.4zm0 103L32 496c0 8.8-7.2 16-16 16s-16-7.2-16-16L0 280.2c0-.3 0-.7 0-1V204c0-33.1 26.9-60 60-60c27.9 0 53.9 14.2 69 37.6L176.7 256H240c8.8 0 16 7.2 16 16s-7.2 16-16 16H176.7c-10.9 0-21-5.5-26.9-14.7L112 214.5V342.6L146.1 366c8.7 6 13.9 15.8 13.9 26.4V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V392.4l-96-66zM256 32c-8.8 0-16 7.2-16 16V224H208V48c0-26.5 21.5-48 48-48h24H528c26.5 0 48 21.5 48 48V384 496c0 8.8-7.2 16-16 16s-16-7.2-16-16V439.4c-9.4 5.4-20.3 8.6-32 8.6c-15.1 0-29.1-5.3-40-14c-10.9 8.8-24.9 14-40 14s-29.1-5.3-40-14c-10.9 8.8-24.9 14-40 14c-35.3 0-64-28.7-64-64v-2.9c0-10.8 2.2-21.6 6.5-31.5L335 255 268.1 32H256zm45.5 0l65.8 219.4c1.1 3.6 .9 7.5-.6 10.9l-42.8 99.9c-2.6 6-3.9 12.4-3.9 18.9V384c0 17.7 14.3 32 32 32c11.1 0 20.9-5.7 26.7-14.3c3-4.5 8-7.1 13.3-7.1s10.4 2.7 13.3 7.1c5.8 8.7 15.6 14.3 26.7 14.3s20.9-5.7 26.7-14.3c3-4.5 8-7.1 13.3-7.1s10.4 2.7 13.3 7.1c5.8 8.7 15.6 14.3 26.7 14.3c17.7 0 32-14.3 32-32V48c0-8.8-7.2-16-16-16H301.5zM240 320V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V320h32z\"]\n};\nvar faTextWidth = {\n prefix: 'fal',\n iconName: 'text-width',\n icon: [448, 512, [], \"f035\", \"M32 32C14.3 32 0 46.3 0 64v64c0 8.8 7.2 16 16 16s16-7.2 16-16V64H208l0 192H160c-8.8 0-16 7.2-16 16s7.2 16 16 16H288c8.8 0 16-7.2 16-16s-7.2-16-16-16H240l0-192H416v64c0 8.8 7.2 16 16 16s16-7.2 16-16V64c0-17.7-14.3-32-32-32H32zM4.7 372.7c-6.2 6.2-6.2 16.4 0 22.6l80 80c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L54.6 400H393.4l-52.7 52.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l80-80c6.2-6.2 6.2-16.4 0-22.6l-80-80c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L393.4 368H54.6l52.7-52.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-80 80z\"]\n};\nvar faGarageCar = {\n prefix: 'fal',\n iconName: 'garage-car',\n icon: [640, 512, [], \"e00a\", \"M326.2 36c-4-1.7-8.4-1.7-12.4 0L51.6 146.4C39.7 151.4 32 163 32 175.9V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V175.9c0-25.8 15.4-49 39.2-59L301.4 6.5c11.9-5 25.3-5 37.3 0L600.8 116.9c23.7 10 39.2 33.2 39.2 59V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V175.9c0-12.9-7.7-24.5-19.6-29.5L326.2 36zM96 224c0-17.7 14.3-32 32-32H512c17.7 0 32 14.3 32 32V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V224H128V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V224zm156.9 75.1L238.4 344H401.6l-14.6-44.9c-2.1-6.6-8.3-11.1-15.2-11.1H268.2c-6.9 0-13.1 4.5-15.2 11.1zm164.6-9.9l20.6 63.6c15.6 9.9 25.9 27.4 25.9 47.2v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V480H208v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V400c0-19.8 10.3-37.3 25.9-47.2l20.6-63.6c6.4-19.8 24.9-33.2 45.7-33.2H371.8c20.8 0 39.2 13.4 45.7 33.2zM208 448H432V400c0-13.3-10.7-24-24-24H232c-13.3 0-24 10.7-24 24v48zm24-32a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm160-16a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faSquareKanban = {\n prefix: 'fal',\n iconName: 'square-kanban',\n icon: [448, 512, [], \"e488\", \"M64 448c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32H384c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H64zM0 416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416zM128 288c8.8 0 16-7.2 16-16V144c0-8.8-7.2-16-16-16s-16 7.2-16 16V272c0 8.8 7.2 16 16 16zm176 48c0 8.8 7.2 16 16 16s16-7.2 16-16V144c0-8.8-7.2-16-16-16s-16 7.2-16 16V336zm-80-80c8.8 0 16-7.2 16-16V144c0-8.8-7.2-16-16-16s-16 7.2-16 16v96c0 8.8 7.2 16 16 16z\"]\n};\nvar faHatWizard = {\n prefix: 'fal',\n iconName: 'hat-wizard',\n icon: [512, 512, [], \"f6e8\", \"M408.6 368L348.2 227c-9.3-21.6-10.3-45.9-2.8-68.2l37.3-112L246.5 124.6c-29.6 16.9-53 42.8-66.8 73.9L104.4 368h-35l81.1-182.5c16.6-37.4 44.7-68.4 80.2-88.7l165-94.3C398.5 .9 401.7 0 405 0c10.5 0 19 8.5 19 19v1.7c0 2.2-.4 4.4-1.1 6.5L375.7 168.9c-5 14.9-4.3 31 1.9 45.4L443.4 368H408.6zM480 456c0-13.3-10.7-24-24-24H56c-13.3 0-24 10.7-24 24s10.7 24 24 24H456c13.3 0 24-10.7 24-24zM56 400H456c30.9 0 56 25.1 56 56s-25.1 56-56 56H56c-30.9 0-56-25.1-56-56s25.1-56 56-56zM288 176v16h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H288v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V224H240c-8.8 0-16-7.2-16-16s7.2-16 16-16h16V176c0-8.8 7.2-16 16-16s16 7.2 16 16zM240 304v32h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H240 208 176c-8.8 0-16-7.2-16-16s7.2-16 16-16h32V304c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faChartKanban = {\n prefix: 'fal',\n iconName: 'chart-kanban',\n icon: [448, 512, [], \"e64f\", \"M368 448c-8.8 0-16-7.2-16-16l0-352c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16l0 352c0 8.8-7.2 16-16 16H368zm-48-16c0 26.5 21.5 48 48 48h32c26.5 0 48-21.5 48-48l0-352c0-26.5-21.5-48-48-48H368c-26.5 0-48 21.5-48 48l0 352zM80 384H48c-8.8 0-16-7.2-16-16L32 80c0-8.8 7.2-16 16-16H80c8.8 0 16 7.2 16 16l0 288c0 8.8-7.2 16-16 16zM48 416H80c26.5 0 48-21.5 48-48l0-288c0-26.5-21.5-48-48-48H48C21.5 32 0 53.5 0 80L0 368c0 26.5 21.5 48 48 48zM240 256H208c-8.8 0-16-7.2-16-16l0-160c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16V240c0 8.8-7.2 16-16 16zm-32 32h32c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H208c-26.5 0-48 21.5-48 48l0 160c0 26.5 21.5 48 48 48z\"]\n};\nvar faPenFancy = {\n prefix: 'fal',\n iconName: 'pen-fancy',\n icon: [512, 512, [128395, 10002], \"f5ac\", \"M392.1 48.7C401.7 38.1 415.3 32 429.6 32C457.4 32 480 54.6 480 82.4c0 14.3-6.1 27.9-16.7 37.5L256.6 306 206 255.4 392.1 48.7zM429.6 0c-23.4 0-45.6 9.9-61.3 27.3L175.1 242 98.9 265.4c-19.8 6.1-35.4 21.3-41.9 40.9L2.9 468.6c-8.3 25 15.5 48.8 40.5 40.5L205.6 455c19.6-6.5 34.9-22.1 40.9-41.9L270 336.9 484.7 143.7c17.4-15.6 27.3-37.9 27.3-61.3C512 36.9 475.1 0 429.6 0zM237.9 332.5L216 403.7c-3 9.9-10.7 17.7-20.5 20.9L67.2 467.4 134.7 400c.4 0 .9 0 1.3 0c13.3 0 24-10.7 24-24s-10.7-24-24-24s-24 10.7-24 24c0 .4 0 .9 0 1.3L44.6 444.8 87.4 316.5c3.3-9.8 11.1-17.4 20.9-20.5l71.2-21.9 58.4 58.4z\"]\n};\nvar faCoffeePot = {\n prefix: 'fal',\n iconName: 'coffee-pot',\n icon: [512, 512, [], \"e002\", \"M80 64c-26.5 0-48 21.5-48 48v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V112C0 67.8 35.8 32 80 32h42.4H128 453.6C468.2 32 480 43.8 480 58.4c0 3.7-.8 7.3-2.3 10.7l-48.4 109c50 34.7 82.7 92.5 82.7 157.9v8c0 55.5-34.6 99.4-55.9 121.2C446.2 475.3 432.3 480 418 480H158c-14.2 0-28.1-4.7-38.1-14.8C98.6 443.4 64 399.5 64 344v-8c0-65.4 32.7-123.2 82.7-157.9L98.3 69.1c-.7-1.6-1.3-3.4-1.7-5.1H80zm365 0H131l49.8 112H395.2L445 64zM416 208H160l0 0c-26.4 19.9-46.5 47.7-56.7 80H472.7c-10.1-32.3-30.2-60.1-56.7-80l0 0zm63.2 112H96.8c-.5 5.3-.8 10.6-.8 16v8c0 42.6 27.2 78.8 46.8 98.8c2.7 2.8 7.7 5.2 15.2 5.2H418c7.5 0 12.5-2.4 15.2-5.2c19.6-20 46.8-56.2 46.8-98.8v-8c0-5.4-.3-10.7-.8-16z\"]\n};\nvar faMouseField = {\n prefix: 'fal',\n iconName: 'mouse-field',\n icon: [512, 512, [], \"e5a8\", \"M379.4 36.6c6.2-3 13.2-4.6 20.6-4.6c26.5 0 48 21.5 48 48c0 9.6-2.8 18.6-7.7 26.1c-12.5-5.5-26-8.9-40.3-9.8V96c0-22.4-7.7-43-20.6-59.4zm88.2 86.2C475.4 110.4 480 95.7 480 80c0-44.2-35.8-80-80-80c-16.9 0-32.7 5.3-45.6 14.3C339.7 5.2 322.5 0 304 0c-53.1 0-96 43.4-96 96.3c0 25.7 10.2 49.8 27.5 67.5C155.8 180.6 96 251.3 96 336c0 18 6 34.6 16 48H64c-35.3 0-64 28.7-64 64s28.7 64 64 64H464c8.8 0 16-7.2 16-16s-7.2-16-16-16H64c-17.7 0-32-14.3-32-32s14.3-32 32-32H176 344h12.1c24.2 0 43.9-19.7 43.9-43.9c0-18.9-12.1-35.7-30-41.6l-12.8-4.3L378.8 272H464c26.5 0 48-21.5 48-48v-8c0-37.6-17.3-71.2-44.4-93.2zM176 384c-26.5 0-48-21.5-48-48c0-79.5 64.5-144 144-144h16c7.7 0 14.4-5.5 15.7-13.1s-2.9-15.1-10.1-17.8l-12.1-4.5c-24.9-9.3-41.5-33.4-41.5-60.2C240 60.9 268.7 32 304 32c35.3 0 64 28.7 64 64v16c0 8.8 7.2 16 16 16h8c48.6 0 88 39.4 88 88v8c0 8.8-7.2 16-16 16H368c-6.5 0-12.4 4-14.9 10.1l-26.4 66-33.7-11.2c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2l76.9 25.6c4.9 1.6 8.1 6.2 8.1 11.3c0 6.6-5.3 11.9-11.9 11.9H344 176zM336 80c0-8.8-7.2-16-16-16s-16 7.2-16 16V96H288c-8.8 0-16 7.2-16 16s7.2 16 16 16h32c8.8 0 16-7.2 16-16V80zm96 108a20 20 0 1 0 -40 0 20 20 0 1 0 40 0z\"]\n};\nvar faPersonDigging = {\n prefix: 'fal',\n iconName: 'person-digging',\n icon: [576, 512, [\"digging\"], \"f85e\", \"M256 32a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm64 32A64 64 0 1 1 192 64a64 64 0 1 1 128 0zM440.1 322.2L373.9 439.8c-2.8 5-8.2 8.2-13.9 8.2H313.9l-16 32H533.4L440.1 322.2zm-26.1-18.9c5.3-9.4 15.2-15.2 26-15.2c10.6 0 20.3 5.6 25.7 14.7L564 468.9c2.6 4.4 4 9.4 4 14.5c0 15.8-12.8 28.6-28.6 28.6H292.9c-16 0-28.9-13-28.9-28.9c0-4.5 1-8.9 3.1-12.9l18.2-36.4c5.4-10.8 16.5-17.7 28.6-17.7h36.8l13.8-24.5L24.3 206c-7.8-4.2-10.6-14-6.4-21.7s14-10.6 21.7-6.4l33.6 18.3 13.1-24c14.9-27.4 44.4-43.6 75.6-41.5l13.9 .9c45.9 3.1 85.3 33.9 99.3 77.8l36.2 113.7-3.4 1.1 72.3 39.4 34-60.4zm-142.3 1.3l-27.2-85.4c-10-31.3-38.1-53.4-70.9-55.6l-13.9-.9c-18.7-1.2-36.4 8.5-45.3 24.9l-13.1 24 170.4 92.9zM57.6 289.3c4.6-2 9.8-1.7 14.1 .7l127.5 70.9c15.2 8.5 24.7 24.5 24.7 42V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V402.8c0-5.8-3.2-11.2-8.2-14L74.5 328.1 31.5 499.9c-2.1 8.6-10.8 13.8-19.4 11.6S-1.7 500.7 .5 492.1l48-192c1.2-4.8 4.6-8.8 9.2-10.8z\"]\n};\nvar faDigging = faPersonDigging;\nvar faShowerDown = {\n prefix: 'fal',\n iconName: 'shower-down',\n icon: [384, 512, [\"shower-alt\"], \"e24d\", \"M192 0c8.8 0 16 7.2 16 16V32.8c80.9 8 144 76.2 144 159.2h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H336 48 16c-8.8 0-16-7.2-16-16s7.2-16 16-16H32C32 109 95.1 40.8 176 32.8V16c0-8.8 7.2-16 16-16zm0 64C121.3 64 64 121.3 64 192H320c0-70.7-57.3-128-128-128zm50.7 388.9c-1.8 2.8-2.7 6.1-2.7 9.4V464c0 8.8 7.2 16 16 16s16-7.2 16-16v-1.7c0-3.3-.9-6.6-2.7-9.4L256 431.6l-13.3 21.3zm-27.1-17l28.2-45.1c2.6-4.2 7.3-6.8 12.2-6.8s9.6 2.6 12.2 6.8l28.2 45.1c4.9 7.9 7.6 17 7.6 26.4V464c0 26.5-21.5 48-48 48s-48-21.5-48-48v-1.7c0-9.3 2.6-18.5 7.6-26.4zM320 303.6l-13.3 21.3c-1.8 2.8-2.7 6.1-2.7 9.4V336c0 8.8 7.2 16 16 16s16-7.2 16-16v-1.7c0-3.3-.9-6.6-2.7-9.4L320 303.6zm-12.2-40.8c2.6-4.2 7.3-6.8 12.2-6.8s9.6 2.6 12.2 6.8l28.2 45.1c4.9 7.9 7.6 17 7.6 26.4V336c0 26.5-21.5 48-48 48s-48-21.5-48-48v-1.7c0-9.3 2.6-18.5 7.6-26.4l28.2-45.1zM114.7 452.9c-1.8 2.8-2.7 6.1-2.7 9.4V464c0 8.8 7.2 16 16 16s16-7.2 16-16v-1.7c0-3.3-.9-6.6-2.7-9.4L128 431.6l-13.3 21.3zm-27.1-17l28.2-45.1c2.6-4.2 7.3-6.8 12.2-6.8s9.6 2.6 12.2 6.8l28.2 45.1c4.9 7.9 7.6 17 7.6 26.4V464c0 26.5-21.5 48-48 48s-48-21.5-48-48v-1.7c0-9.3 2.6-18.5 7.6-26.4zM192 303.6l-13.3 21.3c-1.8 2.8-2.7 6.1-2.7 9.4V336c0 8.8 7.2 16 16 16s16-7.2 16-16v-1.7c0-3.3-.9-6.6-2.7-9.4L192 303.6zm-12.2-40.8c2.6-4.2 7.3-6.8 12.2-6.8s9.6 2.6 12.2 6.8l28.2 45.1c4.9 7.9 7.6 17 7.6 26.4V336c0 26.5-21.5 48-48 48s-48-21.5-48-48v-1.7c0-9.3 2.6-18.5 7.6-26.4l28.2-45.1zM50.7 324.9c-1.8 2.8-2.7 6.1-2.7 9.4V336c0 8.8 7.2 16 16 16s16-7.2 16-16v-1.7c0-3.3-.9-6.6-2.7-9.4L64 303.6 50.7 324.9zm-27.1-17l28.2-45.1C54.4 258.6 59 256 64 256s9.6 2.6 12.2 6.8l28.2 45.1c4.9 7.9 7.6 17 7.6 26.4V336c0 26.5-21.5 48-48 48s-48-21.5-48-48v-1.7c0-9.3 2.6-18.5 7.6-26.4z\"]\n};\nvar faShowerAlt = faShowerDown;\nvar faBoxCircleCheck = {\n prefix: 'fal',\n iconName: 'box-circle-check',\n icon: [576, 512, [], \"e0c4\", \"M240 64H342.4c12.6 0 24.1 7.4 29.2 19l34.2 77H240V64zm0 128H352h64 16 16v-2.4c0-9-1.9-17.8-5.5-26L400.9 70c-10.3-23.1-33.2-38-58.5-38H105.6C80.3 32 57.4 46.9 47.1 70L5.5 163.6c-3.6 8.2-5.5 17-5.5 26V416c0 35.3 28.7 64 64 64H296.2c-8.1-9.8-15.2-20.6-21-32H64c-17.7 0-32-14.3-32-32V192H208h32zm-32-32H42.1L76.3 83c5.1-11.6 16.6-19 29.2-19H208v96zm224 96a112 112 0 1 1 0 224 112 112 0 1 1 0-224zm0 256a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm67.3-187.3c-6.2-6.2-16.4-6.2-22.6 0L416 385.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nvar faBrightness = {\n prefix: 'fal',\n iconName: 'brightness',\n icon: [512, 512, [], \"e0c9\", \"M240 104c0 8.8 7.2 16 16 16s16-7.2 16-16V16c0-8.8-7.2-16-16-16s-16 7.2-16 16v88zm16 88a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm0 160a96 96 0 1 0 0-192 96 96 0 1 0 0 192zm0 160c8.8 0 16-7.2 16-16V416c0-8.8-7.2-16-16-16s-16 7.2-16 16v80c0 8.8 7.2 16 16 16zM0 256c0 8.8 7.2 16 16 16H96c8.8 0 16-7.2 16-16s-7.2-16-16-16H16c-8.8 0-16 7.2-16 16zm408-16c-8.8 0-16 7.2-16 16s7.2 16 16 16h88c8.8 0 16-7.2 16-16s-7.2-16-16-16H408zM75 437c6.2 6.2 16.4 6.2 22.6 0l56.6-56.6c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L75 414.4c-6.2 6.2-6.2 16.4 0 22.6zM352.2 137.2c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L437 97.6c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-62.2 62.2zM75 75c-6.2 6.2-6.2 16.4 0 22.6l56.6 56.6c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L97.6 75c-6.2-6.2-16.4-6.2-22.6 0zM374.8 352.2c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L414.4 437c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-62.2-62.2z\"]\n};\nvar faCarSideBolt = {\n prefix: 'fal',\n iconName: 'car-side-bolt',\n icon: [640, 512, [], \"e344\", \"M126.8 94.2L87.6 192H160v32H64c-17.7 0-32 14.3-32 32V368H65.3c7.6-45.4 47.1-80 94.7-80s87.1 34.6 94.7 80H385.3c7.6-45.4 47.1-80 94.7-80s87.1 34.6 94.7 80H608V320c0-53-43-96-96-96H448V192h30.7l-88-110c-9.1-11.4-22.9-18-37.5-18H171.3c-19.6 0-37.3 11.9-44.6 30.2zM52.8 193L97.1 82.3C109.2 51.9 138.6 32 171.3 32H353.2c24.3 0 47.3 11 62.5 30L519.9 192.2C586.9 196.3 640 252 640 320v48c0 17.7-14.3 32-32 32H574.7c-7.6 45.4-47.1 80-94.7 80s-87.1-34.6-94.7-80H254.7c-7.6 45.4-47.1 80-94.7 80s-87.1-34.6-94.7-80H32c-17.7 0-32-14.3-32-32V256c0-31.5 22.8-57.7 52.8-63zM418 368c-1.3 5.1-2 10.5-2 16s.7 10.9 2 16c7.1 27.6 32.2 48 62 48s54.9-20.4 62-48c1.3-5.1 2-10.5 2-16s-.7-10.9-2-16c-7.1-27.6-32.2-48-62-48s-54.9 20.4-62 48zM96 384c0 5.5 .7 10.9 2 16c7.1 27.6 32.2 48 62 48s54.9-20.4 62-48c1.3-5.1 2-10.5 2-16s-.7-10.9-2-16c-7.1-27.6-32.2-48-62-48s-54.9 20.4-62 48c-1.3 5.1-2 10.5-2 16zM347.3 123.3L278.6 192H368c6.5 0 12.3 3.9 14.8 9.9s1.1 12.9-3.5 17.4l-96 96c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L329.4 224H240c-6.5 0-12.3-3.9-14.8-9.9s-1.1-12.9 3.5-17.4l96-96c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faFileXml = {\n prefix: 'fal',\n iconName: 'file-xml',\n icon: [512, 512, [], \"e654\", \"M64 480H96v32H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H220.1c12.7 0 24.9 5.1 33.9 14.1L369.9 129.9c9 9 14.1 21.2 14.1 33.9V288H352V192H240c-26.5 0-48-21.5-48-48V32H64C46.3 32 32 46.3 32 64V448c0 17.7 14.3 32 32 32zM351.5 160c-.7-2.8-2.1-5.4-4.2-7.4L231.4 36.7c-2.1-2.1-4.6-3.5-7.4-4.2V144c0 8.8 7.2 16 16 16H351.5zM192 368c0 7.3 2.2 14.4 6.2 20.4l9.8 14.7 9.8-14.7c4-6.1 6.2-13.2 6.2-20.4c0-8.8 7.2-16 16-16s16 7.2 16 16c0 13.6-4 26.9-11.6 38.2L227.2 432l17.2 25.8C252 469.1 256 482.4 256 496c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-7.3-2.2-14.4-6.2-20.4L208 460.8l-9.8 14.7c-4 6.1-6.2 13.2-6.2 20.4c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-13.6 4-26.9 11.6-38.2L188.8 432l-17.2-25.8C164 394.9 160 381.6 160 368c0-8.8 7.2-16 16-16s16 7.2 16 16zM448 496V368c0-8.8 7.2-16 16-16s16 7.2 16 16V480h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H464c-8.8 0-16-7.2-16-16zM299.7 352.6c6.9-1.9 14.3 1 18 7.2L352 416.9l34.3-57.1c3.7-6.2 11.1-9.1 18-7.2s11.7 8.2 11.7 15.4V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V425.8l-18.3 30.5c-2.9 4.8-8.1 7.8-13.7 7.8s-10.8-2.9-13.7-7.8L320 425.8V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V368c0-7.2 4.8-13.5 11.7-15.4z\"]\n};\nvar faOrnament = {\n prefix: 'fal',\n iconName: 'ornament',\n icon: [384, 512, [], \"f7b8\", \"M192 32a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm45.3 32c1.8-5 2.7-10.4 2.7-16c0-26.5-21.5-48-48-48s-48 21.5-48 48c0 5.6 1 11 2.7 16H128c-17.7 0-32 14.3-32 32v48 9.7C38.6 186.9 0 248.9 0 320C0 426 86 512 192 512s192-86 192-192c0-71.1-38.6-133.1-96-166.3V144 96c0-17.7-14.3-32-32-32H237.3zm24.6 112c23 11.2 43 27.7 58.2 48H64c15.2-20.3 35.2-36.8 58.2-48H128 256h5.8zM192 96h64v48H128V96h64zM32 320c0-22.8 4.8-44.4 13.3-64H338.7c8.6 19.6 13.3 41.2 13.3 64s-4.7 44.4-13.3 64H45.3C36.8 364.4 32 342.8 32 320zM192 480c-52.3 0-98.8-25.1-128-64H320c-29.2 38.9-75.7 64-128 64z\"]\n};\nvar faPhoneArrowDownLeft = {\n prefix: 'fal',\n iconName: 'phone-arrow-down-left',\n icon: [512, 512, [\"phone-arrow-down\", \"phone-incoming\"], \"e223\", \"M507.3 27.3L342.6 192H432c8.8 0 16 7.2 16 16s-7.2 16-16 16H304c-8.8 0-16-7.2-16-16V80c0-8.8 7.2-16 16-16s16 7.2 16 16v89.4L484.7 4.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zM329 286.7c11.3-13.8 30.3-18.5 46.7-11.4l112 48c17.6 7.5 27.4 26.5 23.4 45.1l-24 112c-4 18.4-20.3 31.6-39.1 31.6l0 0c-6.1 0-12.2-.1-18.3-.4l-.1 0h0c-4.6-.2-9.1-.4-13.7-.8C183.5 494.5 0 300.7 0 64v0C0 45.1 13.2 28.8 31.6 24.9l112-24c18.7-4 37.6 5.8 45.1 23.4l48 112c7 16.4 2.4 35.4-11.4 46.7l-40.6 33.2c26.7 46 65.1 84.4 111.1 111.1L329 286.7zM448 480c3.8 0 7-2.6 7.8-6.3l24-112c.8-3.7-1.2-7.5-4.7-9l-112-48c-3.3-1.4-7.1-.5-9.3 2.3l-33.2 40.6c-9.9 12.1-27.2 15.3-40.8 7.4c-50.9-29.5-93.3-71.9-122.7-122.7c-7.9-13.6-4.7-30.9 7.4-40.8l40.6-33.2c2.8-2.3 3.7-6.1 2.3-9.3l-48-112c-1.5-3.5-5.3-5.5-9-4.7l-112 24C34.6 57 32 60.2 32 64v0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0c0 229.6 186.1 415.8 415.7 416l.3 0z\"]\n};\nvar faPhoneArrowDown = faPhoneArrowDownLeft;\nvar faPhoneIncoming = faPhoneArrowDownLeft;\nvar faCloudWord = {\n prefix: 'fal',\n iconName: 'cloud-word',\n icon: [640, 512, [], \"e138\", \"M429.7 135.7c10.3-4.9 21.9-7.7 34.3-7.7c44.2 0 80 35.8 80 80c0 7.7-1.1 15-3 22c-4.1 14.5 2.5 30 15.8 37.1C587.3 283.2 608 315.2 608 352c0 53-43 96-96 96H144C82.1 448 32 397.9 32 336c0-48.8 31.2-90.3 74.8-105.7c12.3-4.3 20.8-15.7 21.3-28.8C131.5 125 194.6 64 272 64c48.7 0 91.7 24.1 117.8 61.2c9 12.7 25.8 17.2 39.9 10.5zM416 106.8C384.1 61.5 331.5 32 272 32c-94.6 0-171.7 74.6-175.8 168.1C40.2 219.9 0 273.2 0 336c0 79.5 64.5 144 144 144H512c70.7 0 128-57.3 128-128c0-49.1-27.7-91.8-68.3-113.2c2.8-9.8 4.3-20.1 4.3-30.8c0-61.9-50.1-112-112-112c-17.2 0-33.5 3.9-48 10.8zM512 368c0-8.8-7.2-16-16-16H304c-8.8 0-16 7.2-16 16s7.2 16 16 16H496c8.8 0 16-7.2 16-16zM240 352H144c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16zM128 304c0 8.8 7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H144c-8.8 0-16 7.2-16 16zm272-16c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H400z\"]\n};\nvar faHandFingersCrossed = {\n prefix: 'fal',\n iconName: 'hand-fingers-crossed',\n icon: [384, 512, [], \"e1a3\", \"M189.8 4.4c-28.5-12.1-61.3 1.3-73.4 29.8L112 44.6l-4.4-10.5C95.5 5.7 62.7-7.6 34.2 4.4S-7.6 49.3 4.4 77.8L51.2 188.4 28.4 242.2 15.6 272.6C5.8 285.8 0 302.2 0 320v32c0 88.4 71.6 160 160 160h64c88.4 0 160-71.6 160-160V312 248v-8c0-3.2-.9-6.1-2.5-8.6C374.4 208.6 353.2 192 328 192c-12.1 0-23.3 3.8-32.5 10.4C285.6 186.5 268 176 248 176c-30.9 0-56 25.1-56 56v1.7l-19.2-45.4L219.6 77.8c12.1-28.5-1.3-61.3-29.8-73.4zm-34.4 225l4.5 10.6H151l4.5-10.6zM68.6 147.3L33.9 65.4c-5.2-12.2 .5-26.3 12.8-31.5s26.3 .5 31.5 12.8L94.6 85.7 68.6 147.3zM80 240c-5.7 0-11.3 .6-16.6 1.7L145.9 46.6c5.2-12.2 19.2-17.9 31.5-12.8s17.9 19.2 12.8 31.5L116.2 240H80zm168-32c13.3 0 24 10.7 24 24v16 48c0 13.3-10.7 24-24 24s-24-10.7-24-24v0V232c0-13.3 10.7-24 24-24zm32.5 133.6C290.4 357.5 308 368 328 368c8.4 0 16.4-1.9 23.5-5.2C346.1 428.4 291 480 224 480H160C89.3 480 32 422.7 32 352V320c0-26.5 21.5-48 48-48h88c13.2 0 24 10.7 24 24v0c0 13.3-10.7 24-24 24H112c-8.8 0-16 7.2-16 16s7.2 16 16 16h56c15.7 0 29.8-6.4 40-16.8c10.2 10.4 24.3 16.8 40 16.8c12.1 0 23.3-3.8 32.5-10.4zM352 312c0 13.3-10.7 24-24 24s-24-10.7-24-24V296 248c0-13.3 10.7-24 24-24s24 10.7 24 24v64z\"]\n};\nvar faTrash = {\n prefix: 'fal',\n iconName: 'trash',\n icon: [448, 512, [], \"f1f8\", \"M177.7 32h92.5c5.5 0 10.6 2.8 13.6 7.5L299.1 64H148.9l15.3-24.5c2.9-4.7 8.1-7.5 13.6-7.5zM336.9 64L311 22.6C302.2 8.5 286.8 0 270.3 0H177.7C161.2 0 145.8 8.5 137 22.6L111.1 64H64.1 32 16C7.2 64 0 71.2 0 80s7.2 16 16 16H34.3L59.8 452.6C62.1 486.1 90 512 123.6 512H324.4c33.6 0 61.4-25.9 63.8-59.4L413.7 96H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H416 383.9 336.9zm44.8 32L356.3 450.3C355.1 467 341.2 480 324.4 480H123.6c-16.8 0-30.7-13-31.9-29.7L66.4 96H381.6z\"]\n};\nvar faGaugeSimple = {\n prefix: 'fal',\n iconName: 'gauge-simple',\n icon: [512, 512, [\"gauge-simple-med\", \"tachometer-average\"], \"f629\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-192a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 96c35.3 0 64-28.7 64-64c0-29.8-20.4-54.9-48-62l0-194c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 194c-27.6 7.1-48 32.2-48 62c0 35.3 28.7 64 64 64z\"]\n};\nvar faGaugeSimpleMed = faGaugeSimple;\nvar faTachometerAverage = faGaugeSimple;\nvar faArrowDownSmallBig = {\n prefix: 'fal',\n iconName: 'arrow-down-small-big',\n icon: [576, 512, [\"sort-size-down-alt\"], \"f88d\", \"M171.3 475.3l96-96c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L176 425.4V48c0-8.8-7.2-16-16-16s-16 7.2-16 16V425.4L75.3 356.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l96 96c6.2 6.2 16.4 6.2 22.6 0zM352 80c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16V80zm-32 0v64c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H368c-26.5 0-48 21.5-48 48zm32 352V304c0-8.8 7.2-16 16-16H496c8.8 0 16 7.2 16 16V432c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16zm-32 0c0 26.5 21.5 48 48 48H496c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48H368c-26.5 0-48 21.5-48 48V432z\"]\n};\nvar faSortSizeDownAlt = faArrowDownSmallBig;\nvar faBookMedical = {\n prefix: 'fal',\n iconName: 'book-medical',\n icon: [448, 512, [], \"f7e6\", \"M0 64C0 28.7 28.7 0 64 0H400c26.5 0 48 21.5 48 48V368c0 20.9-13.4 38.7-32 45.3V480h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H64c-35.3 0-64-28.7-64-64l0 0L0 64zM64 416c-17.7 0-32 14.3-32 32s14.3 32 32 32H384V416H64zM32 392.6c9.4-5.4 20.3-8.6 32-8.6H400c8.8 0 16-7.2 16-16V48c0-8.8-7.2-16-16-16H64C46.3 32 32 46.3 32 64l0 328.6zM224 96h32c17.7 0 32 14.3 32 32v32h32c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32H288v32c0 17.7-14.3 32-32 32H224c-17.7 0-32-14.3-32-32V256H160c-17.7 0-32-14.3-32-32V192c0-17.7 14.3-32 32-32h32V128c0-17.7 14.3-32 32-32zm0 32v48c0 4.2-1.7 8.3-4.7 11.3s-7.1 4.7-11.3 4.7H160v32h48c8.8 0 16 7.2 16 16v48h32V240c0-8.8 7.2-16 16-16h48V192H272c-8.8 0-16-7.2-16-16V128H224z\"]\n};\nvar faFaceMelting = {\n prefix: 'fal',\n iconName: 'face-melting',\n icon: [640, 512, [129760], \"e483\", \"M544 256c0 21.5-3 42.3-8.7 62c-6.5 22.7-2.1 46.4 9.5 64.6c.6 .9 1.2 1.9 1.9 2.8c-29 6.1-50.7 31.8-50.7 62.6c0 11.7 3.1 22.6 8.6 32H320 101.3c7.3-9.4 12.9-19.6 16.7-28.9c11.5-27.7 16.2-65.6 1.3-95.4c-15-30-23.4-63.8-23.4-99.8C96 132.3 196.3 32 320 32s224 100.3 224 224zM16 512H41.4 320 560c8.8 0 16-7.2 16-16s-7.2-16-16-16c-17.7 0-32-14.3-32-32s14.3-32 32-32h44.1H624c8.8 0 16-7.2 16-16s-7.2-16-16-16H604.1c-27.7 0-45.6-30.6-38-57.2c6.5-22.5 9.9-46.2 9.9-70.8C576 114.6 461.4 0 320 0S64 114.6 64 256c0 41 9.6 79.7 26.7 114c18.4 37-8 110-49.3 110H16c-8.8 0-16 7.2-16 16s7.2 16 16 16zM249.3 212.2a24 24 0 1 0 12.4-46.4 24 24 0 1 0 -12.4 46.4zm183.9 24.4a24 24 0 1 0 -46.4-12.4 24 24 0 1 0 46.4 12.4zm-220 46.7c-3.9-7.9-13.4-11.3-21.4-7.4s-11.3 13.4-7.4 21.4c14.8 30.5 45.1 67.5 98.3 81.7s97.9-2.6 126-21.7c7.3-5 9.2-14.9 4.3-22.2s-14.9-9.2-22.2-4.3c-22.7 15.4-57.9 28.5-99.8 17.2s-65.8-40.2-77.8-64.8z\"]\n};\nvar faPoo = {\n prefix: 'fal',\n iconName: 'poo',\n icon: [512, 512, [128169], \"f2fe\", \"M224 0c-6.5 0-12.3 3.9-14.8 9.9s-1.1 12.9 3.5 17.4l5.8 5.8c8.7 8.7 13.5 20.4 13.5 32.7v8.9c0 20.6-16.7 37.3-37.3 37.3H176.9 176c-48.6 0-88 39.4-88 88c0 7.2 .9 14.3 2.5 21.1C56.4 233.2 32 265.7 32 304c0 16 4.3 31 11.7 43.9C17.6 363.2 0 391.5 0 424c0 48.6 39.4 88 88 88H424c48.6 0 88-39.4 88-88c0-32.5-17.6-60.8-43.7-76.1C475.7 335 480 320 480 304c0-38.3-24.4-70.8-58.5-82.9c1.7-6.8 2.5-13.8 2.5-21.1c0-35-20.4-65.1-49.9-79.3C363 52.2 303.6 0 232 0h-8zm40 65.8c0-10.7-2.2-21.2-6.3-30.8c46.1 10.8 81.3 50.2 85.8 98.4c.6 6.3 4.8 11.6 10.7 13.6c22 7.6 37.8 28.4 37.8 53c0 9.1-2.2 17.7-6 25.2c-2.4 4.7-2.3 10.2 .2 14.8s7.1 7.7 12.3 8.3c27.9 3.2 49.5 26.9 49.5 55.6c0 15.3-6.2 29.2-16.2 39.4c-4 4-5.5 9.9-4.1 15.4s5.7 9.8 11.2 11.3c23.7 6.5 41 28.3 41 54c0 30.9-25.1 56-56 56H88c-30.9 0-56-25.1-56-56c0-25.7 17.4-47.4 41-54c5.5-1.5 9.7-5.8 11.2-11.3s-.1-11.3-4.1-15.4C70.2 333.2 64 319.3 64 304c0-28.7 21.7-52.4 49.5-55.6c5.2-.6 9.8-3.7 12.3-8.3s2.6-10.1 .2-14.8c-3.8-7.6-6-16.1-6-25.2c0-30.9 25.1-56 56-56h.9 17.8C233 144 264 113 264 74.7V65.8zM192 296a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm152-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM172.3 352c-15.6 0-28.3 12.7-28.3 28.3c0 5.5 1.6 11.5 5.6 16.6C159 408.8 194.4 448 256 448s97-39.2 106.4-51.1c4-5.1 5.6-11.1 5.6-16.6c0-15.6-12.7-28.3-28.3-28.3H172.3zM256 416c-38.2 0-63.3-19.8-75.1-32H331.1c-11.8 12.2-36.9 32-75.1 32z\"]\n};\nvar faPenClipSlash = {\n prefix: 'fal',\n iconName: 'pen-clip-slash',\n icon: [640, 512, [\"pen-alt-slash\"], \"e20f\", \"M25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4zM556.7 149.3c25-25 25-65.5 0-90.5L517.3 19.3c-25-25-65.5-25-90.5 0L378.3 67.7 365.3 54.6c-25-25-65.5-25-90.5 0l-47 47 25.3 20 44.3-44.3c12.5-12.5 32.8-12.5 45.3 0l13.1 13.1L293 153.1l25.3 20L378.3 113 463 197.7l-50.1 50.1 25.3 20L556.7 149.3zM321.8 338.9l-50.9 50.9c-43.6 43.6-99 73.2-159.4 85.3l-13.2 2.6 2.6-13.2c12.1-60.4 41.8-115.9 85.3-159.4l40.9-40.9-25.3-20-38.3 38.3c-48 48-80.8 109.2-94.1 175.8l-5 25c-1.6 7.9 .9 16 6.6 21.7s13.8 8.1 21.7 6.6l25-5c66.6-13.3 127.8-46.1 175.8-94.1L347 358.9l-25.3-20zm127.6-297c12.5-12.5 32.8-12.5 45.3 0l39.4 39.4c12.5 12.5 12.5 32.8 0 45.3L485.7 175 401 90.3l48.4-48.4z\"]\n};\nvar faPenAltSlash = faPenClipSlash;\nvar faQuoteRight = {\n prefix: 'fal',\n iconName: 'quote-right',\n icon: [448, 512, [8221, \"quote-right-alt\"], \"f10e\", \"M448 304c0 61.9-50.1 112-112 112H304c-8.8 0-16-7.2-16-16s7.2-16 16-16h32c44.2 0 80-35.8 80-80V279.4c-9.4 5.4-20.3 8.6-32 8.6H320c-35.3 0-64-28.7-64-64V160c0-35.3 28.7-64 64-64h64c35.3 0 64 28.7 64 64v32 32 80zM416 192V160c0-17.7-14.3-32-32-32H320c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V192zM192 304c0 61.9-50.1 112-112 112H48c-8.8 0-16-7.2-16-16s7.2-16 16-16H80c44.2 0 80-35.8 80-80V279.4c-9.4 5.4-20.3 8.6-32 8.6H64c-35.3 0-64-28.7-64-64V160c0-35.3 28.7-64 64-64h64c35.3 0 64 28.7 64 64v32 32 80zM160 192V160c0-17.7-14.3-32-32-32H64c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V192z\"]\n};\nvar faQuoteRightAlt = faQuoteRight;\nvar faScrollOld = {\n prefix: 'fal',\n iconName: 'scroll-old',\n icon: [576, 512, [], \"f70f\", \"M80 64c-26.5 0-48 21.5-48 48v72c0 4.4 3.6 8 8 8H96v32H40c-22.1 0-40-17.9-40-40V112C0 67.8 35.8 32 80 32H400c44.2 0 80 35.8 80 80V288H448V256H400c-8.8 0-16-7.2-16-16s7.2-16 16-16h48V160H400c-8.8 0-16-7.2-16-16s7.2-16 16-16h48V112c0-26.5-21.5-48-48-48H144c10 13.4 16 30 16 48V224h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H160V400c0 26.5 21.5 48 48 48s48-21.5 48-48V352c0-22.1 18-40 40-40h.6 .6 .6 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .4 .5 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .5 .4 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .6 .5 .6 .6 .6 .6c22.1 0 40 17.9 40 40v56c0 39.8-32.2 72-72 72H208c-44.2 0-80-35.8-80-80V240 112c0-26.5-21.5-48-48-48zM272 448H504c22.1 0 40-17.9 40-40V352c0-4.4-3.6-8-8-8h-.6-.6-.6-.6-.5-.6-.5-.5H531h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H524h-.5H523h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H513h-.5H512h-.5H511h-.5H510h-.5H509h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H499h-.5H498h-.5H497h-.5H496h-.5H495h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H485h-.5H484h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H477h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H471h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H466h-.5-.5-.5-.5-.4-.5-.4-.4H462h-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4H454h-.4-.4-.4-.4-.4-.4-.4-.4H450h-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4H443h-.4-.4-.4-.4-.4-.4H440h-.4-.4-.4-.4-.4-.4H437h-.4-.4-.4-.4-.4-.4H434h-.4-.4-.4-.4-.4-.4H431h-.4-.4-.4-.4-.4-.4H428h-.4-.4-.4-.4-.4-.4H425h-.4-.4-.4-.4-.4-.4H422h-.4-.4-.4-.4-.4-.4H419h-.4-.4-.4-.4-.4-.4H416h-.4-.4-.4-.4-.4-.4H413h-.4-.4-.4-.4-.4-.4H410h-.4-.4-.4-.4-.4-.4H407h-.4-.4-.4-.4-.4-.4H404h-.4-.4-.4-.4-.4-.4H401h-.4-.4H400v40c0 8.8-7.2 16-16 16s-16-7.2-16-16V344h-.2-.5-.5-.5H366h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H361h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H355h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H348h-.5H347h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H337h-.5H336h-.5H335h-.5H334h-.5H333h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H323h-.5H322h-.5H321h-.5H320h-.5H319h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H309h-.5H308h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H301h-.5-.5-.5-.5-.5-.5-.6-.6H296c-4.4 0-8 3.6-8 8v48c0 18-6 34.6-16 48z\"]\n};\nvar faGuitars = {\n prefix: 'fal',\n iconName: 'guitars',\n icon: [512, 512, [], \"f8bf\", \"M80 32V83.2c0 6.3 1.9 12.5 5.4 17.8L112 140.8v36C57.7 183 16 219.7 16 264c0 14 4.2 27.3 11.6 39.1c8.2 13 7.5 32-2.9 43.4C9.2 363.7 0 385 0 408c0 57.4 57.3 104 128 104c29.3 0 56.3-8 77.8-21.4c-5.4-9.4-9.3-19.7-11.6-30.6c-16.3 12-38.8 20.1-66.2 20.1c-59.5 0-96-38.1-96-72c0-14.1 5.6-27.9 16.5-40c20.9-23.2 21.3-58 6.2-82c-4.5-7.1-6.7-14.5-6.7-22c0-21.6 22.4-49.2 64-54.9v65.7c-18.6 6.6-32 24.4-32 45.3c0 26.5 21.5 48 48 48s48-21.5 48-48c0-20.9-13.4-38.7-32-45.3V209.1c41.6 5.7 64 33.4 64 54.9c0 7.5-2.2 14.9-6.7 22c-15.1 23.9-14.7 58.8 6.2 82c.4 .5 .9 1 1.3 1.5c1.9-4.6 3.9-8.9 5.7-13l.3-.7c3.7-8.4 6.9-15.6 9.5-22c-3-10.1-1.5-21.8 4.1-30.7c1.1-1.7 2.1-3.5 3.1-5.3c-.9-4.9-2.7-10.7-5.7-19.2l-.5-1.4c-3.7-10.7-9.3-26.7-9.3-44.6v-23c-17.4-17.3-42.9-29.4-72-32.7v-36l26.6-39.9c3.5-5.3 5.4-11.4 5.4-17.8V32c0-17.7-14.3-32-32-32H112C94.3 0 80 14.3 80 32zm64 288a16 16 0 1 1 -32 0 16 16 0 1 1 32 0zM128 107.2l-16-24V32h32V83.2l-16 24zM344.9 50.8C347.3 39.8 357 32 368.2 32H372c10.9 0 20 9 20 20.2c0 10.9-8.9 19.8-19.6 19.8C361.2 72 352 81.2 352 92.4v57l-17.4-19.9c-3.3-3.8-4.7-8.9-3.6-13.9l13.9-64.8zm-34.4 99.8L352 198v42h-8c-43.3 0-57.3-29.2-61.8-48.2c-2.1-8.6-9.3-15.8-18.2-15.8s-16 7.2-16 16v40.6c0 12.4 4 24 8 35.5c4 11.6 8 23.3 8 35.9c0 20-9.3 40.9-19 62.5c-10.3 23.2-21 47.1-21 71.7c0 40.8 33 73.8 73.8 73.8H438.2c40.8 0 73.8-33 73.8-73.8c0-24.5-10.7-48.5-21-71.7c-9.6-21.6-19-42.5-19-62.5c0-12 4-22.9 8.1-33.8l0 0c4-10.7 7.9-21.4 7.9-33V208c0-8.8-7.2-16-16-16s-16.2 7.3-19.5 15.5c-5.7 14-20.8 32.5-60.5 32.5h-8V192 102.7c23-5.3 40-26.1 40-50.5C424 23.6 400.8 0 372 0h-3.8c-26.3 0-49.1 18.4-54.6 44.1L299.7 109c-3.2 14.8 .8 30.3 10.8 41.7zm54.3 121.1c1 .2 2.1 .3 3.2 .3s2.2-.1 3.2-.3H392c24.2 0 44-5.6 59.5-15.6c-.4 1.1-.8 2.2-1.2 3.3l-.4 1.2c-3.8 10.1-9.5 25.6-9.5 43.4c0 27 12 53.8 20.9 73.6l1.8 4.1c10.5 23.5 17.3 40.6 17.3 56.5c0 23.3-18.9 42.1-42.1 42.1H297.8c-23.3 0-42.1-18.9-42.1-42.1c0-15.9 6.8-33 17.3-56.5l1.8-4.1c8.9-19.9 20.9-46.6 20.9-73.6c0-18-5.5-34-9.3-44.8l-.4-1.3c-.7-1.9-1.3-3.7-1.8-5.3c15.1 11.9 35 19.2 59.9 19.2h20.8zM320 352c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H336c-8.8 0-16 7.2-16 16zm0 64c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H336c-8.8 0-16 7.2-16 16z\"]\n};\nvar faPhoneXmark = {\n prefix: 'fal',\n iconName: 'phone-xmark',\n icon: [640, 512, [], \"e227\", \"M420.7 4.7c6.2-6.2 16.4-6.2 22.6 0L496 57.4 548.7 4.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L518.6 80l52.7 52.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L496 102.6l-52.7 52.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L473.4 80 420.7 27.3c-6.2-6.2-6.2-16.4 0-22.6zM393 286.7c11.3-13.8 30.3-18.5 46.7-11.4l112 48c17.6 7.5 27.4 26.5 23.4 45.1l-24 112c-4 18.4-20.3 31.6-39.1 31.6l0 0c-6.1 0-12.2-.1-18.3-.4l-.1 0h0c-4.6-.2-9.1-.4-13.7-.8C247.5 494.5 64 300.7 64 64v0c0-18.9 13.2-35.2 31.6-39.1l112-24c18.7-4 37.6 5.8 45.1 23.4l48 112c7 16.4 2.4 35.4-11.4 46.7l-40.6 33.2c26.7 46 65.1 84.4 111.1 111.1L393 286.7zM512 480c3.8 0 7-2.6 7.8-6.3l24-112c.8-3.7-1.2-7.5-4.7-9l-112-48c-3.3-1.4-7.1-.5-9.3 2.3l-33.2 40.6c-9.9 12.1-27.2 15.3-40.8 7.4c-50.9-29.5-93.3-71.9-122.7-122.7c-7.9-13.6-4.7-30.9 7.4-40.8l40.6-33.2c2.8-2.3 3.7-6.1 2.3-9.3l-48-112c-1.5-3.5-5.3-5.5-9-4.7l-112 24C98.6 57 96 60.2 96 64v0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0c0 229.6 186.1 415.8 415.7 416l.3 0z\"]\n};\nvar faHose = {\n prefix: 'fal',\n iconName: 'hose',\n icon: [448, 512, [], \"e419\", \"M288 112c0 8.8 7.2 16 16 16s16-7.2 16-16v-1.9l96.1-12c1 7.8 7.7 13.9 15.9 13.9c8.8 0 16-7.2 16-16V94.1 80 48 33.9 32c0-8.8-7.2-16-16-16c-8.1 0-14.8 6.1-15.9 13.9L320 17.9V16c0-8.8-7.2-16-16-16s-16 7.2-16 16V64v48zm32-61.9l96 12v3.8l-96 12V64 50.1zM48 448H400c8.8 0 16 7.2 16 16s-7.2 16-16 16H48c-8.8 0-16-7.2-16-16s7.2-16 16-16zM12.2 432C4.6 440.5 0 451.7 0 464c0 26.5 21.5 48 48 48H400c26.5 0 48-21.5 48-48c0-12.3-4.6-23.5-12.2-32c7.6-8.5 12.2-19.7 12.2-32s-4.6-23.5-12.2-32c7.6-8.5 12.2-19.7 12.2-32s-4.6-23.5-12.2-32c7.6-8.5 12.2-19.7 12.2-32c0-26.5-21.5-48-48-48H152c-30.9 0-56-25.1-56-56s25.1-56 56-56H256V80H152c-48.6 0-88 39.4-88 88s39.4 88 88 88H400c8.8 0 16 7.2 16 16s-7.2 16-16 16H152C85.7 288 32 234.3 32 168S85.7 48 152 48H256V16H152C68.1 16 0 84.1 0 168c0 48.8 23 92.2 58.7 120H48c-26.5 0-48 21.5-48 48c0 12.3 4.6 23.5 12.2 32C4.6 376.5 0 387.7 0 400s4.6 23.5 12.2 32zM152 320H400c8.8 0 16 7.2 16 16s-7.2 16-16 16H48c-8.8 0-16-7.2-16-16s7.2-16 16-16H152zM48 384H400c8.8 0 16 7.2 16 16s-7.2 16-16 16H48c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faClockSix = {\n prefix: 'fal',\n iconName: 'clock-six',\n icon: [512, 512, [], \"e352\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM272 112V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V112c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faShirt = {\n prefix: 'fal',\n iconName: 'shirt',\n icon: [640, 512, [128085, \"t-shirt\", \"tshirt\"], \"f553\", \"M211.4 0c-27.7 0-54.5 9.6-76 27.1L56.3 91.9 12.9 127.4c-13.7 11.2-15.7 31.4-4.5 45l70.9 86.7c11.2 13.7 31.4 15.7 45 4.5L160 234.4V456c0 30.9 25.1 56 56 56H424c30.9 0 56-25.1 56-56V234.4l35.6 29.1c13.7 11.2 33.8 9.2 45-4.5l70.9-86.7c11.2-13.7 9.2-33.8-4.5-45l-10.1 12.4 10.1-12.4L583.7 91.9 504.6 27.1C483.1 9.6 456.3 0 428.6 0h-6.3c-1.3 0-2.5 .1-3.7 .2c-.8-.1-1.7-.2-2.6-.2H224c-.9 0-1.7 .1-2.6 .2c-1.2-.1-2.4-.2-3.7-.2h-6.3zm40.7 32H387.9C378 60 351.3 80 320 80s-58-20-67.9-48zM155.7 51.9C171.4 39 191.1 32 211.4 32h6.3l0 0c0 0 .2 .1 .4 .3c.5 .4 1 1.2 1.3 2.2C231.1 79.1 271.7 112 320 112s88.9-32.9 100.6-77.5c.3-1 .8-1.8 1.3-2.2c.2-.2 .4-.2 .4-.3l0 0h6.3c20.3 0 40 7 55.7 19.9l79.2 64.8 43.3 35.5-70.9 86.7-43.3-35.5-18.4-15.1c-4.8-3.9-11.4-4.7-17-2.1s-9.1 8.3-9.1 14.5V456c0 13.3-10.7 24-24 24H216c-13.3 0-24-10.7-24-24V200.7c0-6.2-3.6-11.8-9.1-14.5s-12.2-1.8-17 2.1l-18.4 15.1-43.3 35.5L33.2 152.1l43.3-35.5 79.2-64.8z\"]\n};\nvar faTShirt = faShirt;\nvar faTshirt = faShirt;\nvar faBillboard = {\n prefix: 'fal',\n iconName: 'billboard',\n icon: [640, 512, [], \"e5cd\", \"M432 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V32H240V16c0-8.8-7.2-16-16-16s-16 7.2-16 16V32H80C53.5 32 32 53.5 32 80V352H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H32 64 304V488c0 8.8 7.2 16 16 16s16-7.2 16-16V384H576h32 16c8.8 0 16-7.2 16-16s-7.2-16-16-16H608V80c0-26.5-21.5-48-48-48H432V16zM320 352H64V80c0-8.8 7.2-16 16-16H208v64H192c-8.8 0-16 7.2-16 16s7.2 16 16 16h32 32c8.8 0 16-7.2 16-16s-7.2-16-16-16H240V64H400v64H384c-8.8 0-16 7.2-16 16s7.2 16 16 16h32 32c8.8 0 16-7.2 16-16s-7.2-16-16-16H432V64H560c8.8 0 16 7.2 16 16V352H320z\"]\n};\nvar faSquareR = {\n prefix: 'fal',\n iconName: 'square-r',\n icon: [448, 512, [], \"e27c\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm160 32h80c44.2 0 80 35.8 80 80c0 34.8-22.2 64.4-53.2 75.4l50.5 75.7c4.9 7.4 2.9 17.3-4.4 22.2s-17.3 2.9-22.2-4.4L231.4 288H160v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V272 160c0-17.7 14.3-32 32-32zm80 128c26.5 0 48-21.5 48-48s-21.5-48-48-48H160v96h80z\"]\n};\nvar faCubes = {\n prefix: 'fal',\n iconName: 'cubes',\n icon: [576, 512, [], \"f1b3\", \"M293.4 32.8c-3.5-1.2-7.3-1.2-10.8 0l-104 37.1c-2.3 .8-4.4 2.2-6.1 3.9L288 118 403.4 73.8c-1.7-1.7-3.7-3-6.1-3.9l-104-37.1zM168 212.8l.1 0L272 249.9V146.2L168 106.3V212.8zm136 37.1l103.9-37.1 .1 0V106.3L304 146.2V249.9zM440 85V212.8l.1 0 104 37.1c19.1 6.8 31.9 24.9 31.9 45.2V421.4c0 19.4-11.7 36.9-29.6 44.4l-104 43c-11.8 4.9-25 4.9-36.7 0L288 460.1 170.4 508.8c-11.8 4.9-25 4.9-36.7 0l-104-43C11.7 458.3 0 440.8 0 421.4V295.2c0-20.3 12.8-38.4 31.9-45.2l104-37.1 .1 0V85c0-20.3 12.8-38.4 31.9-45.2l104-37.1c10.4-3.7 21.8-3.7 32.3 0l104 37.1C427.2 46.6 440 64.7 440 85zM272 308.2L160 348.6V478.4l112-46.3V308.2zM41.9 436.2L128 471.8V348.1L32 308.9V421.4c0 6.5 3.9 12.3 9.9 14.8zM416 478.4V348.6L304 308.2V432.1l112 46.3zm32-6.6l86.1-35.6c6-2.5 9.9-8.3 9.9-14.8V308.9l-96 39.2V471.8zM157.4 243c-3.5-1.2-7.3-1.2-10.8 0L44.6 279.4l99.8 40.8 114.1-41.1L157.4 243zm261.2 0L317.5 279.1l114.1 41.1 99.8-40.8L429.4 243c-3.5-1.2-7.3-1.2-10.8 0z\"]\n};\nvar faEnvelopeOpenDollar = {\n prefix: 'fal',\n iconName: 'envelope-open-dollar',\n icon: [512, 512, [], \"f657\", \"M392 32H120c-13.3 0-24 10.7-24 24V222.5L77.5 207.2c-4.2-3.4-8.7-6.3-13.5-8.6V56C64 25.1 89.1 0 120 0H392c30.9 0 56 25.1 56 56V198.6c-4.8 2.3-9.3 5.2-13.4 8.6L416 222.5V56c0-13.3-10.7-24-24-24zM35 256c-1.6 0-3 1.3-3 3V448c0 17.7 14.3 32 32 32H448c17.7 0 32-14.3 32-32V259c0-1.6-1.3-3-3-3c-.7 0-1.3 .2-1.9 .7L294.5 405.1C283.7 414 270 418.9 256 418.9s-27.7-4.9-38.5-13.8L36.8 256.7c-.5-.4-1.2-.7-1.9-.7zM0 259c0-19.3 15.6-35 35-35c8.1 0 15.9 2.8 22.2 7.9L237.8 380.3c5.1 4.2 11.6 6.5 18.2 6.5s13.1-2.3 18.2-6.5L454.9 231.9c6.3-5.1 14.1-7.9 22.2-7.9c19.3 0 35 15.6 35 35V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V259zM272 88v17.3c8.5 1.2 16.7 3.1 24.1 5.1c8.5 2.3 13.6 11 11.3 19.6s-11 13.6-19.6 11.3c-11.1-3-22-5.2-32.1-5.3c-8.4-.1-17.4 1.8-23.6 5.5c-5.7 3.4-8.1 7.3-8.1 12.8c0 3.7 1.3 6.5 7.3 10.1c6.9 4.1 16.6 7.1 29.2 10.9l.5 .1 0 0 0 0c11.3 3.4 25.3 7.6 36.3 14.6c12.1 7.6 22.4 19.7 22.7 38.2c.3 19.3-9.6 33.3-22.9 41.6c-7.7 4.8-16.4 7.6-25.1 9.1V296c0 8.8-7.2 16-16 16s-16-7.2-16-16V278.2c-11.2-2.1-21.7-5.7-30.9-8.9l0 0c-2.1-.7-4.2-1.4-6.2-2.1c-8.4-2.8-12.9-11.9-10.1-20.2s11.9-12.9 20.2-10.1c2.5 .8 4.8 1.6 7.1 2.4l0 0 0 0 0 0c13.6 4.6 24.6 8.4 36.3 8.7c9.1 .3 17.9-1.7 23.7-5.3c5.1-3.2 7.9-7.3 7.8-14c-.1-4.6-1.8-7.8-7.7-11.6c-6.8-4.3-16.5-7.4-29-11.2l-1.6-.5 0 0 0 0c-11-3.3-24.3-7.3-34.8-13.7c-12-7.2-22.6-18.9-22.7-37.3c-.1-19.4 10.8-32.8 23.8-40.5c7.5-4.4 15.8-7.2 24.1-8.7V88c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faDivide = {\n prefix: 'fal',\n iconName: 'divide',\n icon: [448, 512, [10135, 247], \"f529\", \"M224 96a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 96a64 64 0 1 0 0-128 64 64 0 1 0 0 128zm0 160a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 96a64 64 0 1 0 0-128 64 64 0 1 0 0 128zM416 272c8.8 0 16-7.2 16-16s-7.2-16-16-16H32c-8.8 0-16 7.2-16 16s7.2 16 16 16H416z\"]\n};\nvar faSunCloud = {\n prefix: 'fal',\n iconName: 'sun-cloud',\n icon: [640, 512, [127780], \"f763\", \"M371.1 13.1c-1-5.3-4.6-9.8-9.6-11.9s-10.7-1.5-15.2 1.6L256 65.1 165.7 2.8c-4.5-3.1-10.2-3.7-15.2-1.6s-8.6 6.6-9.6 11.9L121 121 13.1 140.8c-5.3 1-9.8 4.6-11.9 9.6s-1.5 10.7 1.6 15.2L65.1 256 2.8 346.3c-3.1 4.5-3.7 10.2-1.6 15.2s6.6 8.6 11.9 9.6L121 391l19.8 107.9c1 5.3 4.6 9.8 9.6 11.9s10.7 1.5 15.2-1.6L256 446.9l90.3 62.3c4.5 3.1 10.2 3.7 15.2 1.6s8.6-6.6 9.6-11.9l9.4-50.9c-11-.4-21.6-2.6-31.3-6.5l-5 27.3-79.1-54.5c-5.5-3.8-12.7-3.8-18.2 0l-79.1 54.5-17.4-94.5c-1.2-6.5-6.3-11.6-12.8-12.8L43.2 344.1l54.5-79.1c3.8-5.5 3.8-12.7 0-18.2L43.2 167.8l94.5-17.4c6.5-1.2 11.6-6.3 12.8-12.8l17.4-94.5 79.1 54.5c5.5 3.8 12.7 3.8 18.2 0l79.1-54.5 17.4 94.5c1.2 6.5 6.3 11.6 12.8 12.8l94.5 17.4-17.1 24.8c4.1-.4 8.2-.7 12.3-.7c8.6 0 17 1 25.1 2.8l20.1-29.2c3.1-4.5 3.7-10.2 1.6-15.2s-6.6-8.6-11.9-9.6L391 121 371.1 13.1zM256 128c-70.7 0-128 57.3-128 128s57.3 128 128 128c12.4 0 24.5-1.8 35.8-5.1c-2.5-8.5-3.8-17.6-3.8-26.9c0-1.9 .1-3.7 .2-5.5C278.1 350 267.3 352 256 352c-53 0-96-43-96-96s43-96 96-96s96 43 96 96c0 1.9-.1 3.7-.2 5.5c3.2-1.1 6.4-2.1 9.7-2.9c4.9-11 11.5-21.1 19.5-29.9C368.6 171.1 317.3 128 256 128zm208 96c-38.7 0-71 27.5-78.4 64c-.5 0-1.1 0-1.6 0c-35.3 0-64 28.7-64 64s28.7 64 64 64H568c39.8 0 72-32.2 72-72s-32.2-72-72-72c-10.1 0-19.7 2.1-28.4 5.8C528.8 246.5 499 224 464 224zm0 32c26.5 0 48 21.5 48 48l0 .8c0 6.5 3.9 12.4 9.9 14.9s13 1.1 17.5-3.6c7.3-7.4 17.4-12 28.6-12c22.1 0 40 17.9 40 40s-17.9 40-40 40H384c-17.7 0-32-14.3-32-32s14.3-32 32-32c3.8 0 7.4 .6 10.7 1.8c5 1.8 10.6 1 14.9-2.2s6.7-8.2 6.5-13.5c0-.7 0-1.4 0-2.1c0-26.5 21.5-48 48-48z\"]\n};\nvar faLampFloor = {\n prefix: 'fal',\n iconName: 'lamp-floor',\n icon: [640, 512, [], \"e015\", \"M224 32L160 192H480L416 32 224 32zM194.3 20.1C199.1 8 210.9 0 224 0H416c13.1 0 24.9 8 29.7 20.1l64 160c3.9 9.9 2.7 21-3.2 29.8s-15.9 14.1-26.5 14.1H160c-10.6 0-20.5-5.3-26.5-14.1s-7.2-20-3.2-29.8l64-160zM208 480h96V256h32V480h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H320 208c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faSquare7 = {\n prefix: 'fal',\n iconName: 'square-7',\n icon: [448, 512, [], \"e25c\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm144 32H304c5.7 0 11 3 13.8 8s2.9 11 .1 16l-128 224c-4.4 7.7-14.2 10.3-21.8 6s-10.3-14.2-6-21.8L276.4 160H144c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faTengeSign = {\n prefix: 'fal',\n iconName: 'tenge-sign',\n icon: [384, 512, [8376, \"tenge\"], \"f7d7\", \"M0 48c0-8.8 7.2-16 16-16H368c8.8 0 16 7.2 16 16s-7.2 16-16 16H16C7.2 64 0 56.8 0 48zM0 176c0-8.8 7.2-16 16-16H192 368c8.8 0 16 7.2 16 16s-7.2 16-16 16H208V464c0 8.8-7.2 16-16 16s-16-7.2-16-16V192H16c-8.8 0-16-7.2-16-16z\"]\n};\nvar faTenge = faTengeSign;\nvar faHeadphones = {\n prefix: 'fal',\n iconName: 'headphones',\n icon: [512, 512, [127911], \"f025\", \"M32.6 271.6C41 155.5 137.8 64 256 64s215 91.5 223.4 207.6C466.1 261.8 449.7 256 432 256c-26.5 0-48 21.5-48 48V432c0 26.5 21.5 48 48 48c44.2 0 80-35.8 80-80V368 336 288C512 146.6 397.4 32 256 32S0 146.6 0 288v48 32 32c0 44.2 35.8 80 80 80c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48c-17.7 0-34.1 5.8-47.4 15.6zM32 336c0-26.5 21.5-48 48-48c8.8 0 16 7.2 16 16V432c0 8.8-7.2 16-16 16c-26.5 0-48-21.5-48-48V368 336zm448 0v32 32c0 26.5-21.5 48-48 48c-8.8 0-16-7.2-16-16V304c0-8.8 7.2-16 16-16c26.5 0 48 21.5 48 48z\"]\n};\nvar faHandsHolding = {\n prefix: 'fal',\n iconName: 'hands-holding',\n icon: [640, 512, [], \"f4c2\", \"M128 128c0-35.3-28.7-64-64-64S0 92.7 0 128V344.2c0 29.7 11.8 58.2 32.8 79.2l83.9 83.9c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L55.4 400.8c-15-15-23.4-35.4-23.4-56.6V128c0-17.7 14.3-32 32-32s32 14.3 32 32V252.3c0 27.1 10.8 53.1 29.9 72.2l10.7 10.8s0 0 0 0l44 44s0 0 0 0l16 16c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-16-16-44-44c-9.2-9.2-9.2-24.2 0-33.4s24.2-9.2 33.4 0L284 370.6c12.8 12.8 20 30.2 20 48.3V496c0 8.8 7.2 16 16 16s16-7.2 16-16V418.9c0-18.1 7.2-35.5 20-48.3l91.3-91.3c9.2-9.2 24.2-9.2 33.4 0s9.2 24.2 0 33.4l0 0-44 44 0 0-16 16c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l16-16 44-44 10.8-10.8c19.2-19.2 29.9-45.1 29.9-72.2V128c0-17.7 14.3-32 32-32s32 14.3 32 32V344.2c0 21.2-8.4 41.6-23.4 56.6l-83.9 83.9c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l83.9-83.9c21-21 32.8-49.5 32.8-79.2V128c0-35.3-28.7-64-64-64s-64 28.7-64 64V252.3c0 4.6-.4 9.1-1.3 13.5c-2.1-3.2-4.6-6.3-7.4-9.1c-21.7-21.7-56.9-21.7-78.6 0L333.4 348c-5.1 5.1-9.6 10.6-13.4 16.6c-3.8-5.9-8.3-11.5-13.4-16.6l-91.3-91.3c-21.7-21.7-56.9-21.7-78.6 0c-2.8 2.8-5.3 5.9-7.4 9.1c-.9-4.4-1.3-8.9-1.3-13.5V128z\"]\n};\nvar faCampfire = {\n prefix: 'fal',\n iconName: 'campfire',\n icon: [512, 512, [], \"f6ba\", \"M226.4 30.2l42.5 45.2c2.8 3 6.7 4.6 10.8 4.6s8-1.9 10.7-4.9l18.8-21.4c14.9 14.4 30.2 33.8 41.9 55.1c12.3 22.3 20 45.5 20 66c0 28.8-10.2 55.1-27.2 75.3c.5-3.7 .8-7.4 .8-11.3c0-52.2-58-100.4-79.4-116.5c-4.7-3.5-11-3.5-15.7 0c-21.5 16.1-79.4 64.4-79.4 116.5c0 5.4 .6 10.7 1.6 15.8c-19.2-20.7-30.9-48.7-30.9-79.8c0-25.9 11.1-53 28.3-78.9c16.5-24.9 37.7-47.7 57.2-65.6zM256 290.9c-1.2 0-2.4 0-3.6-.1c-31.4-2.4-53.1-26.5-53.1-52.2c0-15.8 9.2-34.3 24.9-53.2c11-13.2 23.5-24.5 33.3-32.6c9.8 8 22.2 19.3 33.3 32.6c15.7 18.9 24.9 37.4 24.9 53.2c0 24.6-20 47.8-49.3 51.8c-3.4 .3-6.9 .5-10.4 .5zM111.9 174.7c0 78.7 60.7 142.6 139.2 145.2c2.1 .1 4.3 .2 6.4 .2c4 0 7.8-.2 11.7-.7c73.8-6.6 131-68.7 131-144.7c0-27.2-9.9-55.3-23.6-80.1C362.9 69.7 344.8 47 327.1 30.4c-10.1-9.5-25.9-9.5-36-.1c-.4 .3-.7 .7-1 1.1L279.1 43.8l-34-36.1c-.2-.3-.5-.5-.7-.7c-10.1-9.2-25.6-9.3-35.7-.1c-21.1 19.2-45 44.4-63.8 72.9c-18.7 28.3-33.1 61-33.1 94.9zM21.9 289.1c-8.2-3.3-17.5 .7-20.8 8.9s.7 17.5 8.9 20.8L212.9 400 10.1 481.1c-8.2 3.3-12.2 12.6-8.9 20.8s12.6 12.2 20.8 8.9L256 417.2l234.1 93.6c8.2 3.3 17.5-.7 20.8-8.9s-.7-17.5-8.9-20.8L299.1 400l202.9-81.1c8.2-3.3 12.2-12.6 8.9-20.8s-12.6-12.2-20.8-8.9L256 382.8 21.9 289.1z\"]\n};\nvar faCircleAmpersand = {\n prefix: 'fal',\n iconName: 'circle-ampersand',\n icon: [512, 512, [], \"e0f8\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM208 184c0-13.3 10.7-24 24-24h16.8c12.8 0 23.2 10.4 23.2 23.2c0 10.2-5 19.8-13.5 25.6l-21.8 15-22.1-23.3c-4.3-4.5-6.6-10.4-6.6-16.6zm68.7 51.2c17.1-11.8 27.3-31.2 27.3-52c0-30.5-24.7-55.2-55.2-55.2H232c-30.9 0-56 25.1-56 56c0 14.4 5.5 28.2 15.4 38.6l18.6 19.5-38.7 26.6C154.2 280.5 144 300 144 320.8c0 34.9 28.3 63.2 63.2 63.2h36c23.3 0 45.1-11.2 58.6-30.2l6.3-8.8 32.4 34c6.1 6.4 16.2 6.6 22.6 .6s6.6-16.2 .6-22.6L327 318.5l38-53.2c5.1-7.2 3.5-17.2-3.7-22.3s-17.2-3.5-22.3 3.7l-34.5 48.2-45.4-47.7 17.5-12.1zm-87.1 59.9l42.9-29.5 53.2 55.8-9.8 13.8c-7.5 10.5-19.6 16.8-32.5 16.8h-36C190 352 176 338 176 320.8c0-10.3 5.1-19.9 13.5-25.7z\"]\n};\nvar faSnowflakes = {\n prefix: 'fal',\n iconName: 'snowflakes',\n icon: [640, 512, [], \"f7cf\", \"M507.3 4.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L513.4 56 484.7 84.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L536 78.6l28.7 28.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L558.6 56l28.7-28.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L536 33.4 507.3 4.7zM240 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V89.4L171.3 52.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L208 134.6v93.7l-81.1-46.8-21.7-81c-2.3-8.5-11.1-13.6-19.6-11.3S72 100.2 74.3 108.7l13.4 50.1L24.1 122.1c-7.7-4.4-17.4-1.8-21.9 5.9s-1.8 17.4 5.9 21.9l63.5 36.7L21.6 200C13 202.3 8 211 10.3 219.6s11.1 13.6 19.6 11.3l81-21.7L192 256l-81.1 46.8-81-21.7c-8.5-2.3-17.3 2.8-19.6 11.3S13 309.7 21.6 312l50.1 13.4L8.1 362.1C.5 366.6-2.1 376.3 2.3 384s14.2 10.3 21.9 5.9l63.5-36.7L74.3 403.3c-2.3 8.5 2.8 17.3 11.3 19.6s17.3-2.8 19.6-11.3l21.7-81L208 283.7v93.7l-59.3 59.3c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L208 422.6V496c0 8.8 7.2 16 16 16s16-7.2 16-16V422.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L240 377.4V283.7l81.1 46.8 21.7 81c2.3 8.5 11.1 13.6 19.6 11.3s13.6-11.1 11.3-19.6l-13.4-50.1 63.5 36.7c7.7 4.4 17.4 1.8 21.9-5.9s1.8-17.4-5.9-21.9l-63.5-36.7L426.4 312c8.5-2.3 13.6-11.1 11.3-19.6s-11.1-13.6-19.6-11.3l-81 21.7L256 256l81.1-46.8 81 21.7c8.5 2.3 17.3-2.8 19.6-11.3s-2.8-17.3-11.3-19.6l-50.1-13.4 63.5-36.7c7.7-4.4 10.3-14.2 5.9-21.9s-14.2-10.3-21.9-5.9l-63.5 36.7 13.4-50.1c2.3-8.5-2.8-17.3-11.3-19.6s-17.3 2.8-19.6 11.3l-21.7 81L240 228.3V134.6l59.3-59.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L240 89.4V16zM532.7 212.7c-6.2 6.2-6.2 16.4 0 22.6L561.4 264l-28.7 28.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L584 286.6l28.7 28.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L606.6 264l28.7-28.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L584 241.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0z\"]\n};\nvar faHandsClapping = {\n prefix: 'fal',\n iconName: 'hands-clapping',\n icon: [512, 512, [], \"e1a8\", \"M336 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V80c0 8.8 7.2 16 16 16s16-7.2 16-16V16zM215.1 18.7c-7.4 4.9-9.3 14.8-4.4 22.2l32 48c4.9 7.4 14.8 9.3 22.2 4.4s9.3-14.8 4.4-22.2l-32-48c-4.9-7.4-14.8-9.3-22.2-4.4zm209.8 0c-7.4-4.9-17.3-2.9-22.2 4.4l-32 48c-4.9 7.4-2.9 17.3 4.4 22.2s17.3 2.9 22.2-4.4l32-48c4.9-7.4 2.9-17.3-4.4-22.2zM153.9 152c4.8 0 9.3 1.9 12.7 5.3L292.7 283.3c2.9 2.9 6.9 4.7 11.3 4.7c8.8 0 16-7.2 16-16V208c0-8.8 7.2-16 16-16s16 7.2 16 16V337.6C352 416.2 288.2 480 209.6 480c-37.8 0-74-15-100.7-41.7L75.3 404.7l-16-16 0 0-22-22c-3.4-3.4-5.3-7.9-5.3-12.7C32 344 40 336 49.9 336c4.8 0 9.3 1.9 12.7 5.2l0 0 38.1 38.1c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L85.3 318.6l0 0-48-48c-3.4-3.4-5.3-7.9-5.3-12.7C32 248 40 240 49.9 240c4.8 0 9.3 1.9 12.7 5.3l86.1 86.1c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L85.3 222.6l0 0-24-24c-3.4-3.4-5.3-7.9-5.3-12.7C56 176 64 168 73.9 168c4.8 0 9.3 1.9 12.7 5.3l32 32 0 0 78.1 78.1c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-78.1-78.1 0 0c-3.4-3.4-5.2-7.9-5.2-12.7c0-9.9 8-17.9 17.9-17.9zM31.1 211.7C12.9 219.1 0 237 0 257.9c0 13.2 5.3 25.9 14.6 35.3l15 15C12.2 316.1 0 333.6 0 353.9c0 13.2 5.3 25.9 14.6 35.3l22 22 0 0 16 16 0 0 33.6 33.6C119 493.6 163.4 512 209.6 512C305.9 512 384 433.9 384 337.6V208c0-26.5-21.5-48-48-48s-48 21.5-48 48v25.4l-98.7-98.7c-9.4-9.4-22.1-14.6-35.3-14.6c-20.4 0-37.9 12.2-45.7 29.7C99 140.9 86.7 136 73.9 136C46.4 136 24 158.4 24 185.9c0 9.1 2.5 18 7.1 25.7zM360.8 478.1c-11.7 12.6-25 23.7-39.5 33.1c5.4 .5 10.9 .8 16.4 .8C433.9 512 512 433.9 512 337.6V208c0-26.5-21.5-48-48-48s-48 21.5-48 48v25.4 45.3l4.7 4.7c2.9 2.9 6.9 4.7 11.3 4.7c8.8 0 16-7.2 16-16V208c0-8.8 7.2-16 16-16s16 7.2 16 16V337.6c0 70.7-51.6 129.4-119.2 140.5z\"]\n};\nvar faRepublican = {\n prefix: 'fal',\n iconName: 'republican',\n icon: [640, 512, [], \"f75e\", \"M0 176C0 96.5 64.5 32 144 32H368c79.5 0 144 64.5 144 144v96 64 32c0 8.8 7.2 16 16 16s16-7.2 16-16V304c0-26.5 21.5-48 48-48s48 21.5 48 48v64c0 61.9-50.1 112-112 112c-32.2 0-61.2-13.6-81.7-35.4C440.8 465 422.1 480 400 480H336c-26.5 0-48-21.5-48-48V384H160v48c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V272 176zM480 288H32V432c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V368c0-8.8 7.2-16 16-16H304c8.8 0 16 7.2 16 16v64c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V368c0-8.8 7.2-16 16-16s16 7.2 16 16c0 44.2 35.8 80 80 80s80-35.8 80-80V304c0-8.8-7.2-16-16-16s-16 7.2-16 16v64c0 26.5-21.5 48-48 48s-48-21.5-48-48V336 288zm0-32V176c0-61.9-50.1-112-112-112H144C82.1 64 32 114.1 32 176v80H480zM160 144v16h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H160v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V192H112c-8.8 0-16-7.2-16-16s7.2-16 16-16h16V144c0-8.8 7.2-16 16-16s16 7.2 16 16zm96-16c8.8 0 16 7.2 16 16v16h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H272v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V192H224c-8.8 0-16-7.2-16-16s7.2-16 16-16h16V144c0-8.8 7.2-16 16-16zm128 16v16h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H384v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V192H336c-8.8 0-16-7.2-16-16s7.2-16 16-16h16V144c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faLeafMaple = {\n prefix: 'fal',\n iconName: 'leaf-maple',\n icon: [512, 512, [127809], \"f6f6\", \"M336.9 7.4C334 2.9 329.1 .1 323.7 0s-10.4 2.4-13.5 6.8L248.6 94.5 248 60.6c-.1-4.9-2.4-9.5-6.3-12.4s-8.9-4-13.7-2.8L179.3 57.9 140.9 13.1c-2.9-3.4-7.1-5.4-11.5-5.6s-8.8 1.5-11.9 4.6L70.1 59 18 52.5c-5.3-.7-10.5 1.3-14 5.3S-.8 67.3 .5 72.4L42.9 234.8 5.7 266.2c-4.1 3.4-6.2 8.7-5.6 14s3.8 10 8.5 12.4L132 357.4 4.7 484.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L154.6 380l64.7 123.4c2.5 4.7 7.1 7.9 12.4 8.5s10.5-1.5 14-5.6l31.4-37.2 162.4 42.4c5.1 1.3 10.6 0 14.6-3.5s6-8.7 5.3-14l-5.6-44.4c-.6-4.9 1.1-9.8 4.5-13.2l41.4-41.9c3.1-3.2 4.8-7.5 4.6-11.9s-2.2-8.6-5.6-11.5l-44.8-38.4L466.6 284c1.2-4.7 .2-9.8-2.8-13.7s-7.5-6.2-12.4-6.3l-33.9-.6 87.7-61.6c4.7-3.3 7.3-8.9 6.7-14.7s-4.2-10.7-9.5-13.1l-41.1-18.1c-7.6-3.3-11.3-11.9-8.7-19.7L481.2 51c1.9-5.6 .5-11.9-3.6-16.2s-10.3-6-16-4.3L379.9 53.9c-6.8 1.9-14.1-.8-17.9-6.8L336.9 7.4zM178.3 356.3L316.2 218.4c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L155.7 333.7 44.5 275.3l19-16.1c9.4-8 13.4-20.6 10.3-32.5L37.4 87.2l36.4 4.6c4.9 .6 9.8-1.1 13.2-4.5L127.8 47l33.7 39.3c4 4.6 10.2 6.6 16.1 5.1l38.7-9.9 1.2 62.6c.1 6.9 4.7 13 11.3 15s13.8-.4 17.8-6.1l76-108.1L335 64.2c11.4 18 33.3 26.3 53.7 20.5l52.5-15-18.9 56.2c-7.9 23.5 3.4 49.2 26.1 59.2l15.2 6.7L359.1 265.4c-5.7 4-8.1 11.2-6.1 17.8s8.1 11.2 15 11.3l62.6 1.2-9.9 38.7c-1.5 5.9 .5 12.2 5.1 16.1L465 384.2l-29.3 29.6c-10.4 10.5-15.4 25.1-13.5 39.7l2.6 21L285.3 438.2c-11.9-3.1-24.6 .9-32.5 10.3l-16.1 19L178.3 356.3z\"]\n};\nvar faArrowLeft = {\n prefix: 'fal',\n iconName: 'arrow-left',\n icon: [448, 512, [8592], \"f060\", \"M4.7 244.7c-6.2 6.2-6.2 16.4 0 22.6l176 176c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L54.6 272 432 272c8.8 0 16-7.2 16-16s-7.2-16-16-16L54.6 240 203.3 91.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-176 176z\"]\n};\nvar faPersonCircleXmark = {\n prefix: 'fal',\n iconName: 'person-circle-xmark',\n icon: [576, 512, [], \"e543\", \"M160 80a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-80a56 56 0 1 1 0 112A56 56 0 1 1 160 0zM128 164V320h64V164c-6-2.6-12.5-4-19.3-4H147.3c-6.8 0-13.3 1.4-19.3 4zm0 188V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V202.1L46.1 295.5c-4.2 7.8-13.9 10.7-21.7 6.6s-10.7-13.9-6.6-21.7L76.7 170.3c13.9-26 41-42.3 70.6-42.3h25.4c29.5 0 56.7 16.3 70.6 42.3l48.7 91.1c-7.5 9.8-14 20.5-19.3 31.8l-48.6-91V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V352H128zm416 16a112 112 0 1 0 -224 0 112 112 0 1 0 224 0zm-256 0a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm166.6 0l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L432 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L409.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L432 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L454.6 368z\"]\n};\nvar faRuler = {\n prefix: 'fal',\n iconName: 'ruler',\n icon: [512, 512, [128207], \"f545\", \"M51.9 390.6c-12.5-12.5-12.5-32.8 0-45.3l39.4-39.4 41.4 41.4c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-41.4-41.4 41.4-41.4 41.4 41.4c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-41.4-41.4 41.4-41.4 41.4 41.4c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-41.4-41.4 41.4-41.4 41.4 41.4c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L305.9 91.3l39.4-39.4c12.5-12.5 32.8-12.5 45.3 0l69.5 69.5c12.5 12.5 12.5 32.8 0 45.3L166.6 460.1c-12.5 12.5-32.8 12.5-45.3 0L51.9 390.6zm46.9 92.1c25 25 65.5 25 90.5 0L482.7 189.3c25-25 25-65.5 0-90.5L413.3 29.3c-25-25-65.5-25-90.5 0L29.3 322.7c-25 25-25 65.5 0 90.5l69.5 69.5z\"]\n};\nvar faArrowLeftFromBracket = {\n prefix: 'fal',\n iconName: 'arrow-left-from-bracket',\n icon: [512, 512, [], \"e668\", \"M4.7 267.3c-6.2-6.2-6.2-16.4 0-22.6l128-128c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L54.6 240 336 240c8.8 0 16 7.2 16 16s-7.2 16-16 16L54.6 272 155.3 372.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-128-128zM336 64c-8.8 0-16-7.2-16-16s7.2-16 16-16l96 0c44.2 0 80 35.8 80 80l0 288c0 44.2-35.8 80-80 80l-96 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l96 0c26.5 0 48-21.5 48-48l0-288c0-26.5-21.5-48-48-48l-96 0z\"]\n};\nvar faCupStrawSwoosh = {\n prefix: 'fal',\n iconName: 'cup-straw-swoosh',\n icon: [384, 512, [], \"e364\", \"M202.4 36.4C207.8 15 227 0 249 0h23c8.8 0 16 7.2 16 16s-7.2 16-16 16H249c-7.3 0-13.7 5-15.5 12.1l-21 83.9H368c8.8 0 16 7.2 16 16s-7.2 16-16 16H192.4c-.2 0-.5 0-.7 0H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H179.5l22.9-91.6zM60.3 468l-23-276H69.4L83.9 365.1c29-3.7 48.3-10.6 62.3-18.6c17.1-9.8 27.6-22 39.1-36.1l2-2.5c10.8-13.4 23.2-28.6 42.5-41c19.3-12.3 44.4-21.2 80.6-24.9l4.2-50h32.1l-23 276c-2.1 24.9-22.9 44-47.8 44H108.2c-25 0-45.8-19.1-47.8-44zM307.7 274.5c-29 3.6-47.5 10.9-60.7 19.4c-14.8 9.5-24.2 21.1-35.5 35l-1.4 1.7c-11.8 14.5-25.4 30.7-48 43.7C143.4 385 119.4 392.9 86.5 397l5.7 68.3c.7 8.3 7.6 14.7 15.9 14.7H275.8c8.3 0 15.3-6.4 15.9-14.7l15.9-190.9z\"]\n};\nvar faTemperatureSun = {\n prefix: 'fal',\n iconName: 'temperature-sun',\n icon: [640, 512, [\"temperature-hot\"], \"f76a\", \"M336 101.1l-18.1-3L303.8 13.4c-.9-5.4-4.5-10-9.6-12.1s-10.9-1.5-15.4 1.6L208 52.5 137.2 2.9c-4.5-3.2-10.3-3.8-15.4-1.6s-8.7 6.7-9.6 12.1L98.1 98.1 13.4 112.2c-5.4 .9-10 4.5-12.1 9.6s-1.5 10.9 1.6 15.4L52.5 208 2.9 278.8c-3.2 4.5-3.8 10.3-1.6 15.4s6.7 8.7 12.1 9.6l84.7 14.1 14.1 84.7c.9 5.4 4.5 10 9.6 12.1s10.9 1.5 15.4-1.6L208 363.5l69 48.3c-3.2-13.7-4.9-27.9-5-42.6l-54.8-38.4c-5.5-3.9-12.8-3.9-18.4 0l-59.2 41.4-11.8-71c-1.1-6.7-6.4-12-13.2-13.2l-71-11.8 41.4-59.2c3.9-5.5 3.9-12.8 0-18.4L43.7 139.6l71-11.8c6.7-1.1 12-6.4 13.2-13.2l11.8-71 59.2 41.4c5.5 3.9 12.8 3.9 18.4 0l59.2-41.4 11.8 71c1.1 6.7 6.4 12 13.2 13.2l34.6 5.8V101.1zM208 264a56 56 0 1 1 0-112 56 56 0 1 1 0 112zm-88-56a88 88 0 1 0 176 0 88 88 0 1 0 -176 0zM400 96c0-35.3 28.7-64 64-64s64 28.7 64 64V252.7c0 14.9 7 27.7 16 36.9c19.8 20.2 32 47.9 32 78.4c0 61.9-50.1 112-112 112s-112-50.1-112-112c0-30.5 12.2-58.2 32-78.4c9-9.2 16-22 16-36.9V96zM464 0c-53 0-96 43-96 96V252.7c0 4.6-2.2 9.8-6.8 14.5C335.7 293.1 320 328.8 320 368c0 79.5 64.5 144 144 144s144-64.5 144-144c0-39.3-15.7-74.9-41.2-100.8c-4.6-4.7-6.8-9.9-6.8-14.5V96c0-53-43-96-96-96zM432 368a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm96 0c0-29.8-20.4-54.9-48-62V96c0-8.8-7.2-16-16-16s-16 7.2-16 16V306c-27.6 7.1-48 32.2-48 62c0 35.3 28.7 64 64 64s64-28.7 64-64z\"]\n};\nvar faTemperatureHot = faTemperatureSun;\nvar faAlignLeft = {\n prefix: 'fal',\n iconName: 'align-left',\n icon: [448, 512, [], \"f036\", \"M16 48C7.2 48 0 55.2 0 64s7.2 16 16 16H272c8.8 0 16-7.2 16-16s-7.2-16-16-16H16zm0 128c-8.8 0-16 7.2-16 16s7.2 16 16 16H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H16zM0 320c0 8.8 7.2 16 16 16H272c8.8 0 16-7.2 16-16s-7.2-16-16-16H16c-8.8 0-16 7.2-16 16zM16 432c-8.8 0-16 7.2-16 16s7.2 16 16 16H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H16z\"]\n};\nvar faDiceD6 = {\n prefix: 'fal',\n iconName: 'dice-d6',\n icon: [448, 512, [], \"f6d1\", \"M220.1 35.6L47.9 136.2l176 101.2L400 133l-172-97.5 11.6-20.4L228.1 35.5c-2.5-1.4-5.5-1.4-8 .1zM32 164V366.6c0 2.9 1.6 5.6 4.1 7L208 469.9V265.3L32 164zM240 469.9l171.9-96.3c2.5-1.4 4.1-4.1 4.1-7V160.8L240 265.1V469.9zM203.9 7.9c12.3-7.2 27.5-7.3 39.9-.3L427.7 112c12.5 7.1 20.3 20.4 20.3 34.8V366.6c0 14.5-7.8 27.8-20.5 34.9l-184 103c-12.1 6.8-26.9 6.8-39.1 0l-184-103C7.8 394.4 0 381.1 0 366.6V150.1c0-14.2 7.5-27.4 19.8-34.5L203.9 7.9z\"]\n};\nvar faRestroom = {\n prefix: 'fal',\n iconName: 'restroom',\n icon: [640, 512, [], \"f7bd\", \"M144 80a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-80a56 56 0 1 1 0 112A56 56 0 1 1 144 0zM112 164V320h64V164c-6-2.6-12.5-4-19.3-4H131.3c-6.8 0-13.3 1.4-19.3 4zm0 188V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V202.1L30.1 295.5c-4.2 7.8-13.9 10.7-21.7 6.6s-10.7-13.9-6.6-21.7L60.7 170.3c13.9-26 41-42.3 70.6-42.3h25.4c29.5 0 56.7 16.3 70.6 42.3l58.8 110.2c4.2 7.8 1.2 17.5-6.6 21.7s-17.5 1.2-21.7-6.6L208 202.2V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V352H112zM496 80a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-80a56 56 0 1 1 0 112A56 56 0 1 1 496 0zM455.2 241.7c7.9 4 11.1 13.6 7.2 21.5L409.9 368H448h96 38.1L529.7 263.2c-4-7.9-.7-17.5 7.2-21.5s17.5-.7 21.5 7.2l64 128c2.5 5 2.2 10.9-.7 15.6s-8.1 7.6-13.6 7.6H560v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V400H464v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V400H384c-5.5 0-10.7-2.9-13.6-7.6s-3.2-10.6-.7-15.6l64-128c4-7.9 13.6-11.1 21.5-7.2zM435 196.6l-52.9 98.9c-4.2 7.8-13.9 10.7-21.7 6.6s-10.7-13.9-6.6-21.7l52.9-98.9C424.3 148.6 458.7 128 496 128s71.7 20.6 89.3 53.5l52.9 98.9c4.2 7.8 1.2 17.5-6.6 21.7s-17.5 1.2-21.7-6.6L557 196.6c-12-22.5-35.5-36.6-61-36.6s-49 14.1-61 36.6zM336 16V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V16c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faHighDefinition = {\n prefix: 'fal',\n iconName: 'high-definition',\n icon: [576, 512, [\"rectangle-hd\"], \"e1ae\", \"M512 64c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32H512zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM320 176V336c0 8.8 7.2 16 16 16h48c53 0 96-43 96-96s-43-96-96-96H336c-8.8 0-16 7.2-16 16zm64 16c35.3 0 64 28.7 64 64s-28.7 64-64 64H352V192h32zM144 176c0-8.8-7.2-16-16-16s-16 7.2-16 16v80 80c0 8.8 7.2 16 16 16s16-7.2 16-16V272h96v64c0 8.8 7.2 16 16 16s16-7.2 16-16V256 176c0-8.8-7.2-16-16-16s-16 7.2-16 16v64H144V176z\"]\n};\nvar faRectangleHd = faHighDefinition;\nvar faJ = {\n prefix: 'fal',\n iconName: 'j',\n icon: [320, 512, [106], \"4a\", \"M304 32c8.8 0 16 7.2 16 16V320c0 88.4-71.6 160-160 160S0 408.4 0 320V272c0-8.8 7.2-16 16-16s16 7.2 16 16v48c0 70.7 57.3 128 128 128s128-57.3 128-128V48c0-8.8 7.2-16 16-16z\"]\n};\nvar faGalaxy = {\n prefix: 'fal',\n iconName: 'galaxy',\n icon: [512, 512, [], \"e008\", \"M144 184c0-83.9 68.1-152 152-152h12.8C272 59.2 246.6 98.6 236.7 142.5c-1.4 6 .9 12.3 5.8 16.1s11.5 4.5 17.1 1.7C280.1 149.9 303.3 144 328 144c83.9 0 152 68.1 152 152v12.8c-27.2-36.9-66.6-62.2-110.5-72.1c-6-1.4-12.3 .9-16.2 5.8s-4.5 11.5-1.7 17.1C362.1 280.1 368 303.3 368 328c0 83.9-68.1 152-152 152H203.2c36.9-27.2 62.2-66.6 72.1-110.5c1.4-6-.9-12.3-5.8-16.2s-11.5-4.5-17.1-1.7C231.9 362.1 208.7 368 184 368c-83.9 0-152-68.1-152-152V203.2c27.2 36.9 66.6 62.2 110.5 72.1c6 1.4 12.3-.9 16.1-5.8s4.5-11.5 1.7-17.1C149.9 231.9 144 208.7 144 184zM296 0C194.4 0 112 82.4 112 184c0 17.2 2.4 33.9 6.8 49.7C94.5 222.6 73.1 205.4 57 183.2L48.1 171c-5-6.9-13-11-21.5-11C11.9 160 0 171.9 0 186.6V216C0 317.6 82.4 400 184 400c17.2 0 33.9-2.4 49.7-6.8c-11.1 24.3-28.4 45.7-50.6 61.8l9.4 12.9L183.2 455 171 463.9c-6.9 5-11 13-11 21.5c0 14.7 11.9 26.6 26.6 26.6H216c101.6 0 184-82.4 184-184c0-17.2-2.4-33.9-6.8-49.7c24.3 11.1 45.7 28.4 61.8 50.6l8.9 12.2c5 6.9 13 11 21.5 11c14.7 0 26.6-11.9 26.6-26.6V296c0-101.6-82.4-184-184-184c-17.2 0-33.9 2.4-49.7 6.8c11.1-24.3 28.4-45.7 50.6-61.8L341 48.1c6.9-5 11-13 11-21.5C352 11.9 340.1 0 325.4 0H296zM256 320a64 64 0 1 0 0-128 64 64 0 1 0 0 128zm-32-64a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faUsersViewfinder = {\n prefix: 'fal',\n iconName: 'users-viewfinder',\n icon: [640, 512, [], \"e595\", \"M32 32h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H24C10.7 0 0 10.7 0 24V128c0 8.8 7.2 16 16 16s16-7.2 16-16V32zm576 0v96c0 8.8 7.2 16 16 16s16-7.2 16-16V24c0-13.3-10.7-24-24-24H512c-8.8 0-16 7.2-16 16s7.2 16 16 16h96zM128 480H32V384c0-8.8-7.2-16-16-16s-16 7.2-16 16V488c0 13.3 10.7 24 24 24H128c8.8 0 16-7.2 16-16s-7.2-16-16-16zm480 0H512c-8.8 0-16 7.2-16 16s7.2 16 16 16H616c13.3 0 24-10.7 24-24V384c0-8.8-7.2-16-16-16s-16 7.2-16 16v96zM288 192a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm96 0a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zM360 320c19.4 0 35.5 13.7 39.2 32H240.8c3.7-18.3 19.8-32 39.2-32h80zm-80-32c-39.8 0-72 32.2-72 72c0 13.3 10.7 24 24 24H408c13.3 0 24-10.7 24-24c0-39.8-32.2-72-72-72H320 280zM159.8 176a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm64 0a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM128 312c0-13.3 10.7-24 24-24h56c8.8 0 16-7.2 16-16s-7.2-16-16-16H152c-30.9 0-56 25.1-56 56v8c0 8.8 7.2 16 16 16s16-7.2 16-16v-8zM464.2 160a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm0 64a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM488 288c13.3 0 24 10.7 24 24v8c0 8.8 7.2 16 16 16s16-7.2 16-16v-8c0-30.9-25.1-56-56-56H432c-8.8 0-16 7.2-16 16s7.2 16 16 16h56z\"]\n};\nvar faFileVideo = {\n prefix: 'fal',\n iconName: 'file-video',\n icon: [384, 512, [], \"f1c8\", \"M320 480H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H192V144c0 26.5 21.5 48 48 48H352V448c0 17.7-14.3 32-32 32zM240 160c-8.8 0-16-7.2-16-16V32.5c2.8 .7 5.4 2.1 7.4 4.2L347.3 152.6c2.1 2.1 3.5 4.6 4.2 7.4H240zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V163.9c0-12.7-5.1-24.9-14.1-33.9L254.1 14.1c-9-9-21.2-14.1-33.9-14.1H64zM208 288v24 48 24H96V288H208zm32 96v-.4l58.1 23.2c4.9 2 10.5 1.4 14.9-1.6s7-7.9 7-13.2V280c0-5.3-2.6-10.3-7-13.2s-10-3.6-14.9-1.6L240 288.4V288c0-17.7-14.3-32-32-32H96c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32H208c17.7 0 32-14.3 32-32zm48-15.6l-48-19.2V322.8l48-19.2v64.7z\"]\n};\nvar faCherries = {\n prefix: 'fal',\n iconName: 'cherries',\n icon: [640, 512, [], \"e0ec\", \"M288 16l8.2-13.7c-4.7-2.8-10.5-3-15.4-.6s-8.2 7.3-8.7 12.7l0 0 0 0 0 .1 0 .3-.1 1.2c-.1 1.1-.3 2.8-.6 5c-.6 4.4-1.5 10.8-2.8 18.7c-2.7 16-7.1 38.2-13.9 63c-13.8 50.2-37 109.3-74.4 150.5c-.2 .2-.3 .3-.4 .5C163.8 241.9 133.5 224 96 224c0 0-96 0-96 112C0 480 144 512 192 512s192-32 192-176c0-112-96-112-96-112c-21.3 0-40.2 5.8-55.6 12.9c25.7-40.5 42.3-86.8 53-125.7C292.6 85.1 297.2 61.8 300 45l.2-1.2c1 .7 2 1.5 3.1 2.3c14.5 11 33.7 27.1 53 47.8c36.2 39 71 92.5 75.3 156.9c-13.2-9.1-33.5-20.4-58.3-24.9c12.6 11.5 23.6 26.5 31.3 45.5c4.6 2.7 8.7 5.5 12.1 8c18.4 13.7 44.3 13.7 62.7 0c13.5-10 37-23.4 64.4-23.5l.1 0c.3 0 .8 0 1.6 .1c1.6 .1 4.2 .4 7.4 1.1c6.5 1.3 14.9 3.8 23 8.5C590 273.9 608 291.3 608 336c0 68-29.4 101.7-61.9 120.2c-35 20-76.5 23.8-98.1 23.8c-14.6 0-42.6-4-71.1-15.9c-7 9.2-14.8 17.4-23 24.8C390.4 506.3 427.7 512 448 512c48 0 192-16 192-176c0-112-96-112-96-112c-35 0-63.7 15.6-80.3 27.3c-4.1-75.9-44.8-137.1-83.9-179.2c-20.8-22.3-41.5-39.7-57-51.5c-7.8-5.9-14.3-10.4-18.9-13.5c-2.3-1.5-4.1-2.7-5.4-3.5c-.6-.4-1.1-.7-1.5-.9l-.4-.3-.1-.1 0 0 0 0s0 0-8.2 13.7zm-.3 243.2l0 0c.2 0 .7 0 1.5 .1c1.5 .1 4 .4 7.1 1c6.3 1.2 14.3 3.6 22 8.1c13.1 7.6 30.5 24 30.5 67.6c0 57.7-27.7 91.3-61.3 112.1c-35.5 22-76.8 28.7-95.5 28.7s-60-6.8-95.5-28.7C62.9 427.3 35.2 393.7 35.2 336c0-43.6 17.5-60 30.5-67.6c7.7-4.5 15.7-6.9 22-8.1c3.1-.6 5.5-.9 7.1-1c.8-.1 1.3-.1 1.5-.1l0 0c19.6 .1 37.2 7.1 50.9 15.1c6.7 3.9 12 7.9 15.6 10.8c1.8 1.4 3 2.5 3.8 3.2c.4 .3 .6 .6 .7 .7l0 0 0 0 0 0c13.7 13.5 35.8 13.5 49.5 0l0 0 0 0c.1-.1 .3-.3 .7-.7c.8-.7 2-1.8 3.8-3.2c3.5-2.9 8.8-6.8 15.6-10.8c13.6-8 31.3-15.1 50.9-15.1z\"]\n};\nvar faUpRightFromSquare = {\n prefix: 'fal',\n iconName: 'up-right-from-square',\n icon: [512, 512, [\"external-link-alt\"], \"f35d\", \"M320 33c0-18.2 14.8-33 33-33H480c17.7 0 32 14.3 32 32V159c0 18.2-14.8 33-33 33c-8.7 0-17.1-3.5-23.3-9.7L404 130.6 235.3 299.3c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L381.4 108 329.7 56.3C323.5 50.1 320 41.7 320 33zm33-1c-.5 0-1 .4-1 1c0 .3 .1 .5 .3 .7L478.3 159.7c.2 .2 .4 .3 .7 .3c.5 0 1-.4 1-1V32H353zM0 96C0 60.7 28.7 32 64 32H208c8.8 0 16 7.2 16 16s-7.2 16-16 16H64C46.3 64 32 78.3 32 96V448c0 17.7 14.3 32 32 32H416c17.7 0 32-14.3 32-32V304c0-8.8 7.2-16 16-16s16 7.2 16 16V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96z\"]\n};\nvar faExternalLinkAlt = faUpRightFromSquare;\nvar faCircleSort = {\n prefix: 'fal',\n iconName: 'circle-sort',\n icon: [512, 512, [\"sort-circle\"], \"e030\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM244.7 100.7c6.2-6.2 16.4-6.2 22.6 0l96 96c4.6 4.6 5.9 11.5 3.5 17.4s-8.3 9.9-14.8 9.9l-192 0c-6.5 0-12.3-3.9-14.8-9.9s-1.1-12.9 3.5-17.4l96-96zM198.6 192l114.7 0L256 134.6 198.6 192zM148.7 315.3c-4.6-4.6-5.9-11.5-3.5-17.4s8.3-9.9 14.8-9.9l192 0c6.5 0 12.3 3.9 14.8 9.9s1.1 12.9-3.5 17.4l-96 96c-6.2 6.2-16.4 6.2-22.6 0l-96-96zM256 377.4L313.4 320l-114.7 0L256 377.4z\"]\n};\nvar faSortCircle = faCircleSort;\nvar faTableCells = {\n prefix: 'fal',\n iconName: 'table-cells',\n icon: [512, 512, [\"th\"], \"f00a\", \"M352 64v96H480V96c0-17.7-14.3-32-32-32H352zm-32 0H192v96H320V64zM160 64H64C46.3 64 32 78.3 32 96v64H160V64zM32 192V320H160V192H32zm0 160v64c0 17.7 14.3 32 32 32h96V352H32zm160 96H320V352H192v96zm160 0h96c17.7 0 32-14.3 32-32V352H352v96zM480 320V192H352V320H480zM0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM192 320H320V192H192V320z\"]\n};\nvar faTh = faTableCells;\nvar faBagShoppingMinus = {\n prefix: 'fal',\n iconName: 'bag-shopping-minus',\n icon: [448, 512, [], \"e650\", \"M224 32c35.3 0 64 28.7 64 64v32H160V96c0-35.3 28.7-64 64-64zM128 96v32H48c-26.5 0-48 21.5-48 48V416c0 53 43 96 96 96H352c53 0 96-43 96-96V176c0-26.5-21.5-48-48-48H320V96c0-53-43-96-96-96s-96 43-96 96zM48 160h96H304h96c8.8 0 16 7.2 16 16V416c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V176c0-8.8 7.2-16 16-16zm96 144c-8.8 0-16 7.2-16 16s7.2 16 16 16H304c8.8 0 16-7.2 16-16s-7.2-16-16-16H144z\"]\n};\nvar faFilePdf = {\n prefix: 'fal',\n iconName: 'file-pdf',\n icon: [512, 512, [], \"f1c1\", \"M64 480l48 0 0 32-48 0c-35.3 0-64-28.7-64-64L0 64C0 28.7 28.7 0 64 0L220.1 0c12.7 0 24.9 5.1 33.9 14.1L369.9 129.9c9 9 14.1 21.2 14.1 33.9L384 304l-32 0 0-112-112 0c-26.5 0-48-21.5-48-48l0-112L64 32C46.3 32 32 46.3 32 64l0 384c0 17.7 14.3 32 32 32zM351.5 160c-.7-2.8-2.1-5.4-4.2-7.4L231.4 36.7c-2.1-2.1-4.6-3.5-7.4-4.2L224 144c0 8.8 7.2 16 16 16l111.5 0zM176 352l32 0c30.9 0 56 25.1 56 56s-25.1 56-56 56l-16 0 0 32c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-48 0-80c0-8.8 7.2-16 16-16zm32 80c13.3 0 24-10.7 24-24s-10.7-24-24-24l-16 0 0 48 16 0zm96-80l32 0c26.5 0 48 21.5 48 48l0 64c0 26.5-21.5 48-48 48l-32 0c-8.8 0-16-7.2-16-16l0-128c0-8.8 7.2-16 16-16zm32 128c8.8 0 16-7.2 16-16l0-64c0-8.8-7.2-16-16-16l-16 0 0 96 16 0zm80-112c0-8.8 7.2-16 16-16l48 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-32 0 0 32 32 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-32 0 0 48c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-64 0-64z\"]\n};\nvar faSiren = {\n prefix: 'fal',\n iconName: 'siren',\n icon: [448, 512, [], \"e02d\", \"M363.8 320H396L375 152.1C371 120 343.8 96 311.5 96h-175C104.2 96 77 120 73 152.1L52 320H84.2l20.5-164c2-16 15.6-28 31.8-28h175c16.1 0 29.8 12 31.8 28l20.5 164zm-185.6 0l13.8-110c1.1-8.8-5.1-16.8-13.9-17.9s-16.8 5.1-17.9 13.9L145.9 320h32.2zM48 384H400c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H48c-8.8 0-16-7.2-16-16V400c0-8.8 7.2-16 16-16zM0 400v32c0 26.5 21.5 48 48 48H400c26.5 0 48-21.5 48-48V400c0-26.5-21.5-48-48-48H48c-26.5 0-48 21.5-48 48z\"]\n};\nvar faArrowUpToDottedLine = {\n prefix: 'fal',\n iconName: 'arrow-up-to-dotted-line',\n icon: [448, 512, [], \"e0a1\", \"M363.3 292.7l-128-128c-6.2-6.2-16.4-6.2-22.6 0l-128 128c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L208 214.6V320 464c0 8.8 7.2 16 16 16s16-7.2 16-16V320 214.6L340.7 315.3c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6zM32 40a24 24 0 1 0 0 48 24 24 0 1 0 0-48zm384 0a24 24 0 1 0 0 48 24 24 0 1 0 0-48zM152 64a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm72-24a24 24 0 1 0 0 48 24 24 0 1 0 0-48zM344 64a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faImageLandscape = {\n prefix: 'fal',\n iconName: 'image-landscape',\n icon: [576, 512, [\"landscape\"], \"e1b5\", \"M512 96c17.7 0 32 14.3 32 32V384c0 6.1-1.7 11.8-4.6 16.6L377 197.6c-12.8-16-37.2-16-50 0L244.4 300.9l-27.3-37.5c-12.3-17-37.4-17.7-50.6-1.4L45.3 410C37.3 404.2 32 394.7 32 384V128c0-17.7 14.3-32 32-32H512zm-1.3 320H193.3l63-78.8L352 217.6 510.7 416zM160.1 448H512c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64h95.9c.1 0 .2 0 .3 0zm-7.8-32H81.8L191.3 282.2l32.4 44.6L152.3 416zM144 160a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm0 64a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faLandscape = faImageLandscape;\nvar faTankWater = {\n prefix: 'fal',\n iconName: 'tank-water',\n icon: [448, 512, [], \"e452\", \"M269.6 64H384c17.7 0 32 14.3 32 32V352c-20.9 0-41.7-10-58.2-21.2c-7.3-5-13.7-10.3-19.8-15.9c-10.2-9.5-25.9-9.5-36.1 0c-6.1 5.6-12.5 11-19.8 15.9C265.6 342.1 244.9 352 224 352s-41.7-9.9-58.2-21.2c-7.3-5-13.7-10.3-19.8-15.9c-10.2-9.5-25.9-9.5-36.1 0c-6.1 5.6-12.5 11-19.8 15.9C73.6 342.1 52.9 352 32 352V96c0-17.7 14.3-32 32-32H178.4l6.1-10 13.6-22H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H249.9l13.6 22 6.1 10zM32 384c30.3 0 57.5-14.1 76.2-26.8c7.9-5.4 14.6-10.8 19.8-15.3c5.1 4.5 11.9 9.9 19.8 15.3C166.4 369.9 193.7 384 224 384s57.5-14.1 76.2-26.8c7.9-5.4 14.6-10.8 19.8-15.3c5.1 4.5 11.9 9.9 19.8 15.3C358.5 369.9 385.7 384 416 384v32c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V384zM236.4 70.7C233.7 66.5 229 64 224 64s-9.7 2.5-12.4 6.7l-47.2 70.8c-8.1 12.1-12.4 26.3-12.4 40.9V184c0 39.8 32.2 72 72 72s72-32.2 72-72v-1.7c0-14.5-4.3-28.8-12.4-40.9L236.4 70.7zm-12.4 39l33 49.5c4.6 6.8 7 14.9 7 23.1V184c0 22.1-17.9 40-40 40s-40-17.9-40-40v-1.7c0-8.2 2.4-16.3 7-23.1l33-49.5z\"]\n};\nvar faCurlingStone = {\n prefix: 'fal',\n iconName: 'curling-stone',\n icon: [576, 512, [129356, \"curling\"], \"f44a\", \"M192 112c0-26.5 21.5-48 48-48H400c8.8 0 16-7.2 16-16s-7.2-16-16-16H240c-44.2 0-80 35.8-80 80v48c-35.3 0-64 28.7-64 64v1.1C41.7 232.9 0 279.6 0 336v32c0 61.9 50.1 112 112 112H464c61.9 0 112-50.1 112-112V336c0-56.4-41.7-103.1-96-110.9V224c0-35.3-28.7-64-64-64H192V112zM448 224H128c0-17.7 14.3-32 32-32h16H416c17.7 0 32 14.3 32 32zM112 448c-44.2 0-80-35.8-80-80H544c0 44.2-35.8 80-80 80H112zM32 336c0-44.2 35.8-80 80-80H464c44.2 0 80 35.8 80 80H32z\"]\n};\nvar faCurling = faCurlingStone;\nvar faGamepadModern = {\n prefix: 'fal',\n iconName: 'gamepad-modern',\n icon: [640, 512, [127918, 63676, \"gamepad-alt\"], \"e5a2\", \"M216 352H424c14.7 0 27.5 10 31 24.2l3.6 14.3c8.4 33.8 38.8 57.4 73.6 57.4c41.9 0 75.8-33.9 75.8-75.8v-2.8c0-4.5-.4-8.9-1.1-13.3L574.1 165.3c-7-40.7-32.2-71.3-66.5-79.9C464.1 74.5 401.1 64 320 64s-144.1 10.5-187.6 21.4C98 93.9 72.8 124.5 65.9 165.3L33.1 356.1c-.8 4.4-1.1 8.8-1.1 13.3v2.8c0 41.9 33.9 75.8 75.8 75.8c34.8 0 65.1-23.7 73.6-57.4l3.6-14.3c3.6-14.2 16.4-24.2 31-24.2zm211.6 46.3L424 384H216l-3.6 14.3c-12 48-55.1 81.7-104.6 81.7C48.3 480 0 431.7 0 372.2v-2.8c0-6.3 .5-12.5 1.6-18.7L34.3 159.8c8.6-50.2 40.9-93.2 90.3-105.5C170.5 42.9 236.2 32 320 32s149.5 10.9 195.3 22.3c49.4 12.3 81.7 55.3 90.3 105.5l32.7 190.9c1.1 6.2 1.6 12.4 1.6 18.7v2.8C640 431.7 591.7 480 532.2 480c-49.5 0-92.6-33.7-104.6-81.7zM208 160v48h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H208v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V240H128c-8.8 0-16-7.2-16-16s7.2-16 16-16h48V160c0-8.8 7.2-16 16-16s16 7.2 16 16zM408 272a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm88-120a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faGamepadAlt = faGamepadModern;\nvar faMessagesQuestion = {\n prefix: 'fal',\n iconName: 'messages-question',\n icon: [640, 512, [], \"e1e7\", \"M202.7 288H352c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H64C46.3 32 32 46.3 32 64V256c0 17.7 14.3 32 32 32H96c17.7 0 32 14.3 32 32v16l55.5-41.6c5.5-4.2 12.3-6.4 19.2-6.4zM352 320H202.7l-81.1 60.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V352 320H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H352c35.3 0 64 28.7 64 64V256c0 35.3-28.7 64-64 64zM320 448c-35.3 0-64-28.7-64-64V352h32v32c0 17.7 14.3 32 32 32H437.3c6.9 0 13.7 2.2 19.2 6.4L512 464V448c0-17.7 14.3-32 32-32h32c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32H448V128H576c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H544v32 16c0 6.1-3.4 11.6-8.8 14.3s-11.9 2.1-16.8-1.5L437.3 448H320zM184.3 70.3c-16.4 0-31 10.3-36.4 25.7l-.3 .9c-3 8.3 1.4 17.5 9.7 20.4s17.5-1.4 20.4-9.7l.3-.9c.9-2.7 3.5-4.4 6.3-4.4h41.3c6.5 0 11.7 5.3 11.7 11.7c0 4.2-2.2 8.1-5.9 10.2l-31.4 18c-5 2.9-8 8.1-8 13.9v9.5c0 8.8 7.2 16 16 16s16-7.2 16-16v-.3L247.4 152c13.6-7.8 22-22.3 22-37.9c0-24.2-19.6-43.7-43.7-43.7H184.3zM208 250.7a22.7 22.7 0 1 0 0-45.3 22.7 22.7 0 1 0 0 45.3z\"]\n};\nvar faBookBible = {\n prefix: 'fal',\n iconName: 'book-bible',\n icon: [448, 512, [\"bible\"], \"f647\", \"M0 64C0 28.7 28.7 0 64 0H400c26.5 0 48 21.5 48 48V368c0 20.9-13.4 38.7-32 45.3V480h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H64c-35.3 0-64-28.7-64-64l0 0L0 64zM64 416c-17.7 0-32 14.3-32 32s14.3 32 32 32H384V416H64zM32 392.6c9.4-5.4 20.3-8.6 32-8.6H400c8.8 0 16-7.2 16-16V48c0-8.8-7.2-16-16-16H64C46.3 32 32 46.3 32 64l0 328.6zM224 72h32c17.7 0 32 14.3 32 32v32h32c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32H288v80c0 17.7-14.3 32-32 32H224c-17.7 0-32-14.3-32-32V232H160c-17.7 0-32-14.3-32-32V168c0-17.7 14.3-32 32-32h32V104c0-17.7 14.3-32 32-32zm0 32v48c0 8.8-7.2 16-16 16H160v32h48c8.8 0 16 7.2 16 16v96h32V216c0-8.8 7.2-16 16-16h48V168H272c-8.8 0-16-7.2-16-16V104H224z\"]\n};\nvar faBible = faBookBible;\nvar faO = {\n prefix: 'fal',\n iconName: 'o',\n icon: [448, 512, [111], \"4f\", \"M224 64a192 192 0 1 0 0 384 192 192 0 1 0 0-384zM448 256A224 224 0 1 1 0 256a224 224 0 1 1 448 0z\"]\n};\nvar faSuitcaseMedical = {\n prefix: 'fal',\n iconName: 'suitcase-medical',\n icon: [512, 512, [\"medkit\"], \"f0fa\", \"M176 32H336c8.8 0 16 7.2 16 16V96H160V48c0-8.8 7.2-16 16-16zM128 48V96H64C28.7 96 0 124.7 0 160V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H384V48c0-26.5-21.5-48-48-48H176c-26.5 0-48 21.5-48 48zm256 80V448H128V128h16H368h16zM96 128V448H64c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32H96zM416 448V128h32c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H416zM240 176c-17.7 0-32 14.3-32 32v32H176c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32h32v32c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V336h32c17.7 0 32-14.3 32-32V272c0-17.7-14.3-32-32-32H304V208c0-17.7-14.3-32-32-32H240zm0 32h32v48c0 8.8 7.2 16 16 16h48v32H288c-8.8 0-16 7.2-16 16v48H240V320c0-8.8-7.2-16-16-16H176V272h48c4.2 0 8.3-1.7 11.3-4.7s4.7-7.1 4.7-11.3V208z\"]\n};\nvar faMedkit = faSuitcaseMedical;\nvar faBriefcaseArrowRight = {\n prefix: 'fal',\n iconName: 'briefcase-arrow-right',\n icon: [512, 512, [], \"e2f2\", \"M176 32H336c8.8 0 16 7.2 16 16V96H160V48c0-8.8 7.2-16 16-16zM128 48V96H64C28.7 96 0 124.7 0 160V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H384V48c0-26.5-21.5-48-48-48H176c-26.5 0-48 21.5-48 48zm16 80H368h80c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32h80zm155.3 68.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L329.4 272H144c-8.8 0-16 7.2-16 16s7.2 16 16 16H329.4l-52.7 52.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l80-80c6.2-6.2 6.2-16.4 0-22.6l-80-80z\"]\n};\nvar faExpandWide = {\n prefix: 'fal',\n iconName: 'expand-wide',\n icon: [512, 512, [], \"f320\", \"M144 64c8.8 0 16 7.2 16 16s-7.2 16-16 16H32V208c0 8.8-7.2 16-16 16s-16-7.2-16-16V80c0-8.8 7.2-16 16-16H144zM0 304c0-8.8 7.2-16 16-16s16 7.2 16 16V416H144c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16-7.2-16-16V304zM496 64c8.8 0 16 7.2 16 16V208c0 8.8-7.2 16-16 16s-16-7.2-16-16V96H368c-8.8 0-16-7.2-16-16s7.2-16 16-16H496zM480 304c0-8.8 7.2-16 16-16s16 7.2 16 16V432c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16s7.2-16 16-16H480V304z\"]\n};\nvar faClockElevenThirty = {\n prefix: 'fal',\n iconName: 'clock-eleven-thirty',\n icon: [512, 512, [], \"e348\", \"M32 256a224 224 0 1 0 448 0A224 224 0 1 0 32 256zm480 0A256 256 0 1 1 0 256a256 256 0 1 1 512 0zM240 400V260.8l-61.3-92c-4.9-7.4-2.9-17.3 4.4-22.2s17.3-2.9 22.2 4.4l64 96c1.8 2.6 2.7 5.7 2.7 8.9V400c0 8.8-7.2 16-16 16s-16-7.2-16-16z\"]\n};\nvar faRv = {\n prefix: 'fal',\n iconName: 'rv',\n icon: [640, 512, [], \"f7be\", \"M224 24c0-13.3 10.7-24 24-24H360c13.3 0 24 10.7 24 24v8H496c61.9 0 112 50.1 112 112v8c0 22.1-17.9 40-40 40H549.6L628 254.7c7.6 6.1 12 15.3 12 25V384c0 17.7-14.3 32-32 32H574.4c1 5.2 1.6 10.5 1.6 16c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-5.5 .6-10.8 1.6-16H400 254.4c1 5.2 1.6 10.5 1.6 16c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-7.7 1.1-15.2 3.1-22.2L18.7 329.4C6.7 317.4 0 301.1 0 284.1V96C0 60.7 28.7 32 64 32H224V24zM64 64C46.3 64 32 78.3 32 96V284.1c0 8.5 3.4 16.6 9.4 22.6l73.6 73.6C129.6 363 151.5 352 176 352c26.2 0 49.4 12.6 64 32H384V176c0-8.8 7.2-16 16-16H568c4.4 0 8-3.6 8-8v-8c0-44.2-35.8-80-80-80H384 352V32H256V64H224 64zM176 384a48 48 0 1 0 0 96 48 48 0 1 0 0-96zm320 0a48 48 0 1 0 0 96 48 48 0 1 0 0-96zm-64 0c14.6-19.4 37.8-32 64-32s49.4 12.6 64 32h48V288H416v96h16zM416 192v64H578.4l-80-64H416zM128 224H288V160H128v64zM96 152c0-13.3 10.7-24 24-24H296c13.3 0 24 10.7 24 24v80c0 13.3-10.7 24-24 24H120c-13.3 0-24-10.7-24-24V152z\"]\n};\nvar faUserSecret = {\n prefix: 'fal',\n iconName: 'user-secret',\n icon: [448, 512, [128373], \"f21b\", \"M169.1 37.7c-5.8 6.6-12 17.3-18.1 31.9c-6.1 14.5-11.3 31-15.5 47.2c24.4 6.4 54 11.2 88.6 11.2c33.4 0 63.3-5.2 88.3-12.1c-4.2-15.9-9.3-32-15.3-46.3c-6.1-14.6-12.4-25.3-18.1-31.9c-4-4.6-6.3-5.6-7-5.7c-4.8 0-7.3 .6-8.5 1c-1 .3-1.9 .8-3.6 1.8c-.1 .1-.4 .3-.7 .5C255.7 37.9 242.2 48 224 48s-31.7-10.1-35.1-12.7c0 0 0 0 0 0c-.3-.3-.6-.4-.7-.5c-1.6-1.1-2.5-1.5-3.6-1.8c-1.1-.4-3.6-1-8.5-1c-.6 .2-3 1.2-7 5.7zM272 0c34.2 0 57 54.9 70.8 106c.8-.3 1.6-.6 2.4-.9c14.8-5.7 26.5-11.4 34.3-15.7c3.9-2.1 6.9-3.9 8.9-5c1-.6 1.7-1 2.2-1.3l.5-.3c2.6-1.7 5.6-2.7 9-2.7c8.8 0 16 7.2 16 16c0 5.7-3 10.7-7.4 13.5c0 0 0 0 0 0l-.8 .5c-.7 .4-1.6 1-2.8 1.7c-2.4 1.4-5.8 3.5-10.3 5.8c-8.9 4.8-21.7 11.1-37.9 17.3C324.4 147.4 278.4 160 224 160c-58.3 0-104.3-12.5-135.9-25.1c-15.8-6.3-28-12.7-36.3-17.5c-4.2-2.4-7.4-4.5-9.6-6c-1.1-.7-2-1.3-2.6-1.8l-.7-.5-.1-.1c-4-2.9-6.7-7.6-6.7-13c0-8.8 7.2-16 16-16c3.6 0 6.9 1.2 9.6 3.2l.4 .3c.4 .3 1 .7 1.8 1.3c1.7 1.1 4.4 2.8 7.9 4.9c7.2 4.2 18 9.8 32.2 15.5c1.6 .6 3.3 1.3 5 1.9C118.7 55.7 141.5 0 176 0c18 0 25.9 5.4 32.5 9.9c4.7 3.3 8.8 6.1 15.5 6.1s10.8-2.8 15.5-6.1C246.1 5.4 254 0 272 0zm-.3 32s.1 0 .2 0c-.1 0-.2 0-.2 0zm-95.6 0c.1 0 .2 0 .2 0s-.1 0-.2 0zM100 224c-2.6-10.2-4-21-4-32c0-6.7 .5-13.3 1.5-19.7c9.6 3.1 19.9 6.1 31.1 8.8c-.4 3.6-.6 7.2-.6 10.9c0 53 43 96 96 96s96-43 96-96c0-4-.2-7.9-.7-11.7c11.1-2.8 21.5-5.8 31-9c1.1 6.8 1.7 13.7 1.7 20.8c0 11-1.4 21.8-4 32l71.2 0c7.1 0 12.8 5.7 12.8 12.8c0 2.1-.5 4.1-1.5 6l-45.7 86.8C423.6 364.8 448 415.5 448 472l0 8c0 17.7-14.3 32-32 32l-143.6 0c-.2 0-.5 0-.7 0l-95.3 0c-.2 0-.5 0-.7 0L32 512c-17.7 0-32-14.3-32-32l0-8c0-56.5 24.4-107.2 63.2-142.4L17.5 242.8c-1-1.8-1.5-3.9-1.5-6c0-7.1 5.7-12.8 12.8-12.8l71.2 0zm234.8 32c-22.1 38.3-63.5 64-110.9 64s-88.7-25.7-110.9-64l-52.5 0 30.9 58.7c6.8 12.9 4 28.8-6.8 38.6C52.3 382.7 32 424.9 32 472l0 8 122.8 0-26.2-91.6c-2.4-8.5 2.5-17.4 11-19.8s17.4 2.5 19.8 11l20.3 70.9L201.8 384l-9.8 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l32 0 32 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-9.8 0 22.2 66.5 20.3-70.9c2.4-8.5 11.3-13.4 19.8-11s13.4 11.3 11 19.8L293.2 480 416 480l0-8c0-47.1-20.3-89.3-52.7-118.6c-10.8-9.8-13.6-25.7-6.8-38.6L387.4 256l-52.5 0zM244.5 480L224 418.6 203.5 480l40.9 0zM144 184.4c10.1 2 20.8 3.6 32 4.9l0 8.7c0 7 5.7 12.7 12.7 12.7c5.5 0 10.3-3.5 12-8.7l3.5-10.5c6.5 .3 13.1 .5 19.8 .5c6.7 0 13.3-.2 19.8-.5l3.5 10.5c1.7 5.2 6.6 8.7 12 8.7c7 0 12.7-5.7 12.7-12.7l0-9c11.2-1.4 21.8-3.2 32-5.3l0 14.3c0 24.7-20 44.7-44.7 44.7c-14.1 0-27-6.6-35.3-17.3c-8.3 10.7-21.2 17.3-35.3 17.3c-24.7 0-44.7-20-44.7-44.7l0-13.6z\"]\n};\nvar faOtter = {\n prefix: 'fal',\n iconName: 'otter',\n icon: [640, 512, [129446], \"f700\", \"M145.7 211.4l-12.9 6.4c-8.1 4.1-17.1 6.2-26.2 6.2C74.2 224 48 197.8 48 165.4V144c0-44.2 35.8-80 80-80h64c44.2 0 80 35.8 80 80v21.4c0 32.4-26.2 58.6-58.6 58.6c-9.1 0-18.1-2.1-26.2-6.2l-12.9-6.4c-9-4.5-19.6-4.5-28.6 0zM16 144v21.4c0 19.1 5.9 36.8 16 51.4V240v16.6C32 380 132 480 255.4 480H414.9C539.2 480 640 379.2 640 254.9c0-90.7-64-168.8-153-186.6l-19.9-4c-8.3-1.7-16.4 3.4-18.6 11.6s2.4 16.6 10.4 19.3l21.6 7.2c37.9 12.6 63.4 48.1 63.4 88c0 16.4-6 31.4-16 42.9V192c0-8.8-7.2-16-16-16c-44.2 0-80 35.8-80 80v0H359.9l.1 0h8c26.5 0 48-21.5 48-48s-21.5-48-48-48h-8c-20.9 0-40.4 6.2-56.7 16.8c.5-3.7 .7-7.6 .7-11.4V144c0-5.4-.4-10.8-1.1-16H304c8.8 0 16-7.2 16-16s-7.2-16-16-16H293.2c-18-37.8-56.5-64-101.2-64H128C83.3 32 44.8 58.2 26.8 96H16c-8.8 0-16 7.2-16 16s7.2 16 16 16h1.1c-.7 5.2-1.1 10.6-1.1 16zm96 144c-24.6 0-44.9-18.6-47.7-42.5c12.6 6.7 27 10.5 42.3 10.5c14.1 0 27.9-3.3 40.5-9.6L160 240l12.9 6.4c12.6 6.3 26.5 9.6 40.5 9.6c16.7 0 32.3-4.5 45.7-12.3c8.3 25.7 32.4 44.3 60.9 44.3h56.4c-15.2 17-24.4 39.4-24.4 64H269.3c1.8-5 2.7-10.4 2.7-16c0-26.5-21.5-48-48-48H112zm207.8-32c-11.8-.1-22.2-6.6-27.6-16.2c9.9-27.9 36.6-47.8 67.8-47.8h8c8.8 0 16 7.2 16 16s-7.2 16-16 16h-8c-19.4 0-35.5 13.7-39.2 32h-1zM528 333.7V274.5c28.7-17 48-48.3 48-84.1c0-13.3-2.1-26.3-6.1-38.5c23.9 27.9 38.1 64 38.1 103C608 361.5 521.5 448 414.9 448H255.4c-87.6 0-161.4-58.9-184.2-139.2C83.1 315.9 97.1 320 112 320H224c8.8 0 16 7.2 16 16s-7.2 16-16 16H208 160c-8.8 0-16 7.2-16 16s7.2 16 16 16h48 16H368c8.8 0 16-7.2 16-16V352c0-35.3 28.5-63.9 63.7-64h.3v0c8.8 0 16-7.2 16-16V256c0-20.9 13.4-38.7 32-45.3v123c0 16.1-8 31-21.4 39.9l-19.5 13c-7.4 4.9-9.3 14.8-4.4 22.2s14.8 9.3 22.2 4.4l19.5-13c22.3-14.8 35.6-39.8 35.6-66.6zM112 144a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm112 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm-72-16c-13.3 0-24 10.7-24 24v8c0 6.1 3.4 11.6 8.8 14.3l16 8c4.5 2.3 9.8 2.3 14.3 0l16-8c5.4-2.7 8.8-8.3 8.8-14.3v-8c0-13.3-10.7-24-24-24H152z\"]\n};\nvar faDreidel = {\n prefix: 'fal',\n iconName: 'dreidel',\n icon: [448, 512, [], \"f792\", \"M443.3 36.7c6.2 6.2 6.2 16.4 0 22.6L321.9 180.7l73.4 73.4c18.7 18.7 18.7 49.1 0 67.9L256 461.3c-12 12-28.3 18.7-45.3 18.7H64c-35.3 0-64-28.7-64-64V269.3c0-17 6.7-33.3 18.7-45.3L158.1 84.7c18.7-18.7 49.1-18.7 67.9 0l73.4 73.4L420.7 36.7c6.2-6.2 16.4-6.2 22.6 0zm-240 70.6c-6.2-6.2-16.4-6.2-22.6 0l-57.4 57.4 192 192 57.4-57.4c6.2-6.2 6.2-16.4 0-22.6L203.3 107.3zm89.4 272l-192-192L41.4 246.6c-6 6-9.4 14.1-9.4 22.6V416c0 17.7 14.3 32 32 32H210.7c8.5 0 16.6-3.4 22.6-9.4l59.3-59.3z\"]\n};\nvar faPersonDress = {\n prefix: 'fal',\n iconName: 'person-dress',\n icon: [320, 512, [\"female\"], \"f182\", \"M160 80a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-80a56 56 0 1 1 0 112A56 56 0 1 1 160 0zM119.2 241.7c7.9 4 11.1 13.6 7.2 21.5L73.9 368H112h96 38.1L193.7 263.2c-4-7.9-.7-17.5 7.2-21.5s17.5-.7 21.5 7.2l64 128c2.5 5 2.2 10.9-.7 15.6s-8.1 7.6-13.6 7.6H224v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V400H128v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V400H48c-5.5 0-10.7-2.9-13.6-7.6s-3.2-10.6-.7-15.6l64-128c4-7.9 13.6-11.1 21.5-7.2zM99 196.6L46.1 295.5c-4.2 7.8-13.9 10.7-21.7 6.6s-10.7-13.9-6.6-21.7l52.9-98.9C88.3 148.6 122.7 128 160 128s71.7 20.6 89.3 53.5l52.9 98.9c4.2 7.8 1.2 17.5-6.6 21.7s-17.5 1.2-21.7-6.6L221 196.6c-12-22.5-35.5-36.6-61-36.6s-49 14.1-61 36.6z\"]\n};\nvar faFemale = faPersonDress;\nvar faCommentDollar = {\n prefix: 'fal',\n iconName: 'comment-dollar',\n icon: [512, 512, [], \"f651\", \"M32 240c0-91.4 93.8-176 224-176s224 84.6 224 176s-93.8 176-224 176c-32 0-63-5.9-93.5-16.2c-9.9-3.3-20.7-1.8-29.2 4.2c-15.4 10.7-31.4 20-48.4 27.4L91.2 446l-6.4-14.7c-10.5 4.6-21.5 8.6-32.7 11.5c.5-.9 1.1-1.8 1.6-2.6C68 416.5 76.3 391 79.4 363.9c1-9.2-2.1-17.7-7.4-23.9c-24.5-29.4-40-62.9-40-100zM256 32C114.5 32 0 125.2 0 240c0 46.6 19.6 87.1 47.4 120.5c0 .1 .1 .1 .1 .2c-2.6 22.6-9.5 43.5-21.3 63.1c-6.5 10.8-13.5 20.8-21.7 29c-4.5 4.6-5.9 11.5-3.4 17.4s8.3 9.8 14.8 9.8c28.7 0 57.6-8.9 81.6-19.3c19.2-8.4 37.1-18.7 53.9-30.5c.2-.1 .5-.2 .7-.1C185.5 441.3 220 448 256 448c141.5 0 256-93.2 256-208S397.5 32 256 32zm16 104c0-8.8-7.2-16-16-16s-16 7.2-16 16v17.3c-8.3 1.5-16.7 4.3-24.1 8.7c-13 7.7-23.9 21.1-23.8 40.5c.1 18.4 10.8 30.1 22.7 37.3c10.5 6.3 23.8 10.4 34.8 13.7l0 0 0 0 1.6 .5c12.5 3.8 22.2 6.9 29 11.2c5.9 3.7 7.7 7 7.7 11.6c.1 6.6-2.7 10.8-7.8 14c-5.8 3.6-14.5 5.6-23.7 5.3c-11.8-.4-22.7-4.1-36.3-8.7l0 0 0 0 0 0c-2.3-.8-4.7-1.6-7.1-2.4c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2c2 .7 4.1 1.4 6.2 2.1l0 0c9.2 3.2 19.7 6.8 30.9 8.9V344c0 8.8 7.2 16 16 16s16-7.2 16-16V326.9c8.7-1.4 17.4-4.3 25.1-9.1c13.3-8.3 23.2-22.2 22.9-41.6c-.2-18.5-10.6-30.6-22.7-38.2c-11-6.9-25-11.2-36.3-14.6l0 0 0 0-.5-.1c-12.6-3.8-22.3-6.8-29.2-10.9c-6-3.6-7.2-6.4-7.3-10.1c0-5.4 2.4-9.4 8.1-12.8c6.2-3.7 15.1-5.7 23.6-5.5c10.1 .2 21 2.3 32.1 5.3c8.5 2.3 17.3-2.8 19.6-11.3s-2.8-17.3-11.3-19.6c-7.5-2-15.6-3.9-24.1-5.1V136z\"]\n};\nvar faBusinessTime = {\n prefix: 'fal',\n iconName: 'business-time',\n icon: [640, 512, [\"briefcase-clock\"], \"f64a\", \"M160 48V96H352V48c0-8.8-7.2-16-16-16H176c-8.8 0-16 7.2-16 16zM128 96V48c0-26.5 21.5-48 48-48H336c26.5 0 48 21.5 48 48V96h64c35.3 0 64 28.7 64 64v32.7c-5.3-.5-10.6-.7-16-.7s-10.7 .2-16 .7V160c0-17.7-14.3-32-32-32H368 144 64c-17.7 0-32 14.3-32 32v96H176h32H352h8.2c-8.1 9.8-15.2 20.6-21 32H208v48H322.9c-1.9 10.4-2.9 21.1-2.9 32H208c-17.7 0-32-14.3-32-32V288H32V416c0 17.7 14.3 32 32 32H339.2c5.9 11.4 12.9 22.2 21 32H64c-35.3 0-64-28.7-64-64V160c0-35.3 28.7-64 64-64h64zM496 480a112 112 0 1 0 0-224 112 112 0 1 0 0 224zm0-256a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm0 64c8.8 0 16 7.2 16 16v48h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H496c-8.8 0-16-7.2-16-16V304c0-8.8 7.2-16 16-16z\"]\n};\nvar faBriefcaseClock = faBusinessTime;\nvar faFlowerTulip = {\n prefix: 'fal',\n iconName: 'flower-tulip',\n icon: [512, 512, [127799], \"f801\", \"M268 5.4C264.9 2 260.6 0 256 0s-8.9 2-12 5.4L189.5 66.7 121.2 18.9c-4.9-3.4-11.3-3.8-16.6-1.1S96 26 96 32V160c0 70.7 57.3 128 128 128h16V396.6C200.8 331.5 129.5 288 48 288H28c-15.5 0-28 12.5-28 28C0 424.2 87.8 512 196 512h44 16 16 44c108.2 0 196-87.8 196-196c0-15.5-12.5-28-28-28H464c-81.5 0-152.8 43.5-192 108.6V288h16c70.7 0 128-57.3 128-128V32c0-6-3.3-11.4-8.6-14.2s-11.7-2.3-16.6 1.1L322.5 66.7 268 5.4zM256 256H224c-53 0-96-43-96-96V62.7l54.8 38.4c6.7 4.7 15.7 3.6 21.1-2.5l52-58.5 52 58.5c5.4 6.1 14.5 7.1 21.1 2.5L384 62.7V160c0 53-43 96-96 96H256zM196 480c-89.2 0-161.8-71.3-164-160H48c95.1 0 174.1 69.2 189.3 160H196zm120 0H274.7c15.2-90.8 94.2-160 189.3-160h16c-2.1 88.7-74.7 160-164 160z\"]\n};\nvar faPeoplePantsSimple = {\n prefix: 'fal',\n iconName: 'people-pants-simple',\n icon: [512, 512, [], \"e21a\", \"M128 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 96A64 64 0 1 0 128 0a64 64 0 1 0 0 128zm-22.4 64h44.8c25 0 45.8 19.1 47.8 44l4.1 49.3c1.6 18.7-13.2 34.7-31.9 34.7H85.6c-18.7 0-33.4-16-31.9-34.7L57.8 236c2.1-24.9 22.9-44 47.8-44zm0-32c-41.6 0-76.3 31.9-79.7 73.4l-4.1 49.3c-2.5 29.8 15.7 56.1 42.2 65.6V496c0 8.8 7.2 16 16 16s16-7.2 16-16V352h64V496c0 8.8 7.2 16 16 16s16-7.2 16-16V348.3c26.5-9.5 44.7-35.8 42.2-65.6l-4.1-49.3C226.7 191.9 192 160 150.4 160H105.6zM384 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 96A64 64 0 1 0 384 0a64 64 0 1 0 0 128zm-22.4 64h44.8c25 0 45.8 19.1 47.8 44l4.1 49.3c1.6 18.7-13.2 34.7-31.9 34.7H341.6c-18.7 0-33.4-16-31.9-34.7l4.1-49.3c2.1-24.9 22.9-44 47.8-44zm0-32c-41.6 0-76.3 31.9-79.7 73.4l-4.1 49.3c-2.5 29.8 15.7 56.1 42.2 65.6V496c0 8.8 7.2 16 16 16s16-7.2 16-16V352h64V496c0 8.8 7.2 16 16 16s16-7.2 16-16V348.3c26.5-9.5 44.7-35.8 42.2-65.6l-4.1-49.3C482.7 191.9 448 160 406.4 160H361.6z\"]\n};\nvar faCloudDrizzle = {\n prefix: 'fal',\n iconName: 'cloud-drizzle',\n icon: [512, 512, [], \"f738\", \"M96 112c0-44.2 35.8-80 80-80c32.2 0 59.9 19 72.6 46.4c2.2 4.8 6.6 8.1 11.8 9s10.4-.8 14.1-4.5c11.6-11.7 27.7-19 45.5-19c35.3 0 64 28.7 64 64l0 .3c0 4.5 1.9 8.8 5.2 11.8s7.8 4.5 12.2 4.1c2.2-.2 4.3-.3 6.6-.3c39.8 0 72 32.2 72 72s-32.2 72-72 72H104c-39.8 0-72-32.2-72-72c0-33.5 22.9-61.7 53.9-69.7c8.2-2.1 13.3-10.3 11.7-18.6c-1-5.1-1.5-10.3-1.5-15.7zM512 216c0-55.2-43-100.3-97.3-103.8C407.2 66.7 367.6 32 320 32c-19.3 0-37.3 5.7-52.4 15.5C247.3 18.8 213.9 0 176 0C114.1 0 64 50.1 64 112c0 2.6 .1 5.3 .3 7.9C26.6 135.5 0 172.6 0 216c0 57.4 46.6 104 104 104H408c57.4 0 104-46.6 104-104zM64 376c0-8.8-7.2-16-16-16s-16 7.2-16 16v40c0 8.8 7.2 16 16 16s16-7.2 16-16V376zm192 0c0-8.8-7.2-16-16-16s-16 7.2-16 16v40c0 8.8 7.2 16 16 16s16-7.2 16-16V376zm192 0c0-8.8-7.2-16-16-16s-16 7.2-16 16v40c0 8.8 7.2 16 16 16s16-7.2 16-16V376zM160 448c0-8.8-7.2-16-16-16s-16 7.2-16 16v48c0 8.8 7.2 16 16 16s16-7.2 16-16V448zm192 0c0-8.8-7.2-16-16-16s-16 7.2-16 16v48c0 8.8 7.2 16 16 16s16-7.2 16-16V448z\"]\n};\nvar faTableCellsLarge = {\n prefix: 'fal',\n iconName: 'table-cells-large',\n icon: [512, 512, [\"th-large\"], \"f009\", \"M272 64V240H480V96c0-17.7-14.3-32-32-32H272zm-32 0H64C46.3 64 32 78.3 32 96V240H240V64zM32 272V416c0 17.7 14.3 32 32 32H240V272H32zM272 448H448c17.7 0 32-14.3 32-32V272H272V448zM0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96z\"]\n};\nvar faThLarge = faTableCellsLarge;\nvar faBookTanakh = {\n prefix: 'fal',\n iconName: 'book-tanakh',\n icon: [448, 512, [\"tanakh\"], \"f827\", \"M384 0c35.3 0 64 28.7 64 64l0 384 0 0c0 35.3-28.7 64-64 64H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H32V413.3C13.4 406.7 0 388.9 0 368V48C0 21.5 21.5 0 48 0H384zM64 416v64H384c17.7 0 32-14.3 32-32s-14.3-32-32-32H64zm320-32c11.7 0 22.6 3.1 32 8.6L416 64c0-17.7-14.3-32-32-32H48c-8.8 0-16 7.2-16 16V368c0 8.8 7.2 16 16 16H384zM146.7 232l-13.9 24h27.7l-13.9-24zm-13.9-24l-27.7-48c-6.2-10.7 1.5-24 13.9-24h55.4l27.7-48c6.2-10.7 21.6-10.7 27.7 0l27.7 48H313c12.3 0 20 13.3 13.9 24l-27.7 48 27.7 48c6.2 10.7-1.5 24-13.9 24H257.6l-27.7 48c-6.2 10.7-21.6 10.7-27.7 0l-27.7-48H119c-12.3 0-20-13.3-13.9-24l27.7-48zm27.7 0l27.7 48h55.4l27.7-48-27.7-48H188.3l-27.7 48zm0-48H132.9l13.9 24 13.9-24zm41.6-24h27.7L216 112l-13.9 24zm69.3 24l13.9 24 13.9-24H271.4zm13.9 72l-13.9 24h27.7l-13.9-24zm-55.4 48H202.1L216 304l13.9-24z\"]\n};\nvar faTanakh = faBookTanakh;\nvar faSolarSystem = {\n prefix: 'fal',\n iconName: 'solar-system',\n icon: [512, 512, [], \"e02f\", \"M32 256c0 123.7 100.3 224 224 224c31.4 0 61.4-6.5 88.5-18.2c4.2 8.8 9.9 17.1 17.3 24.4c.7 .7 1.4 1.4 2.1 2C331.1 503.5 294.5 512 256 512C114.6 512 0 397.4 0 256c0-50.9 14.9-98.4 40.5-138.3C35.1 109.1 32 98.9 32 88c0-30.9 25.1-56 56-56c10.9 0 21.1 3.1 29.7 8.5c3.5 2.2 6.8 4.8 9.7 7.7l0 0 .2 .2L139 64.9c-2.8-6.1-6.6-11.7-11.3-16.4l0 0c4.9 4.9 8.6 10.5 11.3 16.4l0 0c3.2 7 5 14.8 5 23.1c0 30.9-25.1 56-56 56c-8.2 0-16-1.8-23.1-5C44 173.1 32 213.1 32 256zM394.3 471.5l0 0c-3.5-2.2-6.8-4.8-9.9-7.9l-.1-.1c-4.9-4.9-8.6-10.5-11.3-16.4l0 0c-3.2-7-5-14.9-5-23.1c0-30.9 25.1-56 56-56c8.2 0 16 1.8 23.1 5c20.9-34 32.9-74.1 32.9-117C480 132.3 379.7 32 256 32c-31.4 0-61.4 6.5-88.5 18.2c-4.2-8.8-10-17.1-17.3-24.4c-.7-.7-1.4-1.4-2.1-2C180.9 8.5 217.5 0 256 0C397.4 0 512 114.6 512 256c0 50.9-14.9 98.4-40.5 138.3c5.4 8.6 8.5 18.8 8.5 29.7c0 30.9-25.1 56-56 56c-10.9 0-21.1-3.1-29.7-8.5zM112 88A24 24 0 1 0 64 88a24 24 0 1 0 48 0zM365.5 189.7c-4.2 1.5-8.8 2.3-13.5 2.3c-22.1 0-40-17.9-40-40c0-3.6 .5-7.1 1.4-10.4C296.1 132.9 276.6 128 256 128c-70.7 0-128 57.3-128 128s57.3 128 128 128s128-57.3 128-128c0-24.3-6.8-47-18.5-66.3zM389 167.1c17 25.4 27 56 27 88.9c0 88.4-71.6 160-160 160s-160-71.6-160-160s71.6-160 160-160c28.3 0 54.9 7.4 78 20.3c5.4-2.7 11.5-4.3 18-4.3c22.1 0 40 17.9 40 40c0 5.3-1 10.4-3 15.1zM208 256a48 48 0 1 0 96 0 48 48 0 1 0 -96 0zm48 80a80 80 0 1 1 0-160 80 80 0 1 1 0 160zM424 448a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faSealQuestion = {\n prefix: 'fal',\n iconName: 'seal-question',\n icon: [512, 512, [], \"e243\", \"M86.6 198.6c6-6 9.4-14.1 9.4-22.6l0-64c0-8.8 7.2-16 16-16l64 0c8.5 0 16.6-3.4 22.6-9.4l52.7-52.7c1.2-1.2 2.9-1.9 4.7-1.9s3.4 .7 4.7 1.9l52.7 52.7c6 6 14.1 9.4 22.6 9.4l64 0c8.8 0 16 7.2 16 16l0 64c0 8.5 3.4 16.6 9.4 22.6l52.7 52.7c1.2 1.2 1.9 2.9 1.9 4.7s-.7 3.4-1.9 4.7l-52.7 52.7c-6 6-9.4 14.1-9.4 22.6l0 64c0 8.8-7.2 16-16 16l-64 0c-8.5 0-16.6 3.4-22.6 9.4l-52.7 52.7c-1.2 1.2-2.9 1.9-4.7 1.9s-3.4-.7-4.7-1.9l-52.7-52.7c-6-6-14.1-9.4-22.6-9.4l-64 0c-8.8 0-16-7.2-16-16l0-64c0-8.5-3.4-16.6-9.4-22.6L33.9 260.7c-1.2-1.2-1.9-2.9-1.9-4.7s.7-3.4 1.9-4.7l52.7-52.7zM64 112l0 64L11.3 228.7C4.1 235.9 0 245.8 0 256s4.1 20.1 11.3 27.3L64 336l0 64c0 26.5 21.5 48 48 48l64 0 52.7 52.7c7.2 7.2 17.1 11.3 27.3 11.3s20.1-4.1 27.3-11.3L336 448l64 0c26.5 0 48-21.5 48-48l0-64 52.7-52.7c7.2-7.2 11.3-17.1 11.3-27.3s-4.1-20.1-11.3-27.3L448 176l0-64c0-26.5-21.5-48-48-48l-64 0L283.3 11.3C276.1 4.1 266.2 0 256 0s-20.1 4.1-27.3 11.3L176 64l-64 0c-26.5 0-48 21.5-48 48zm104.7 57.8l-.2 .7c-2.2 8.5 2.9 17.3 11.4 19.5s17.3-2.9 19.5-11.4l.2-.7c2.8-10.6 12.3-17.9 23.2-17.9l57.1 0c17.6 0 32 14.5 32 32.3c0 12.1-6.8 23.2-17.5 28.7l-45.8 23.4c-5.4 2.7-8.7 8.2-8.7 14.3l0 29.5c0 8.8 7.2 16 16 16s16-7.2 16-16l0-19.7 37.1-18.9c21.5-11 34.9-33.2 34.9-57.2c0-35.2-28.5-64.3-64-64.3l-57.1 0c-25.5 0-47.7 17.2-54.2 41.8zM280 352a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faPhoneVolume = {\n prefix: 'fal',\n iconName: 'phone-volume',\n icon: [512, 512, [\"volume-control-phone\"], \"f2a0\", \"M272 0C404.5 0 512 107.5 512 240c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-114.9-93.1-208-208-208c-8.8 0-16-7.2-16-16s7.2-16 16-16zm16 192a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm-32-80c0-8.8 7.2-16 16-16c79.5 0 144 64.5 144 144c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-61.9-50.1-112-112-112c-8.8 0-16-7.2-16-16zm73 174.7c11.3-13.8 30.3-18.5 46.7-11.4l112 48c17.6 7.5 27.4 26.5 23.4 45.1l-24 112c-4 18.4-20.3 31.6-39.1 31.6l0 0c-6.1 0-12.2-.1-18.3-.4l-.1 0h0c-4.6-.2-9.1-.4-13.7-.8C183.5 494.5 0 300.7 0 64v0C0 45.1 13.2 28.8 31.6 24.9l112-24c18.7-4 37.6 5.8 45.1 23.4l48 112c7 16.4 2.4 35.4-11.4 46.7l-40.6 33.2c26.7 46 65.1 84.4 111.1 111.1L329 286.7zM448 480c3.8 0 7-2.6 7.8-6.3l24-112c.8-3.7-1.2-7.5-4.7-9l-112-48c-3.3-1.4-7.1-.5-9.3 2.3l-33.2 40.6c-9.9 12.1-27.2 15.3-40.8 7.4c-50.9-29.5-93.3-71.9-122.7-122.7c-7.9-13.6-4.7-30.9 7.4-40.8l40.6-33.2c2.8-2.3 3.7-6.1 2.3-9.3l-48-112c-1.5-3.5-5.3-5.5-9-4.7l-112 24C34.6 57 32 60.2 32 64v0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0c0 229.6 186.1 415.8 415.7 416l.3 0z\"]\n};\nvar faVolumeControlPhone = faPhoneVolume;\nvar faDiscDrive = {\n prefix: 'fal',\n iconName: 'disc-drive',\n icon: [512, 512, [], \"f8b5\", \"M96 64H416c17.7 0 32 14.3 32 32V448H64V96c0-17.7 14.3-32 32-32zM480 448V96c0-35.3-28.7-64-64-64H96C60.7 32 32 60.7 32 96V448H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H48 464h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H480zM256 384a128 128 0 1 1 0-256 128 128 0 1 1 0 256zM96 256a160 160 0 1 0 320 0A160 160 0 1 0 96 256zm160 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faHatCowboySide = {\n prefix: 'fal',\n iconName: 'hat-cowboy-side',\n icon: [640, 512, [], \"f8c1\", \"M416.6 64.2L195.1 107c-7.1 1.4-12.4 7.3-12.9 14.6l-5 70.6c36.3 1.7 71.2 15.2 99.4 38.4L307.5 256H462.7L428.2 72.1c-.9-4.7-5-8.1-9.8-8.1c-.6 0-1.3 .1-1.9 .2zM145 193.7l5.3-74.4c1.5-21.7 17.4-39.6 38.8-43.7L410.5 32.8c2.6-.5 5.3-.8 8-.8c20.2 0 37.5 14.4 41.2 34.2l25 133.5c3.4 1.6 7.2 3.4 11.4 5.5c15.5 7.7 36.2 19.1 57 33.7c20.7 14.5 42.2 32.6 58.5 53.9C628.1 314 640 339.4 640 368c0 44.2-35.8 80-80 80H512.3c-.2 0-.4 0-.6 0H496 464 60.8C27.2 448 0 420.8 0 387.2V361.1c0-85.2 63-155.7 145-167.4zM525.3 416H560c26.5 0 48-21.5 48-48c0-19.4-8.1-38-21.7-55.7c-13.7-17.7-32.2-33.7-51.5-47.1c-14.9-10.5-29.9-19.2-42.7-26L525.3 416zm-34.2-8.8L468.7 288H346.3L491.1 407.2zM32 361.1v26.1C32 403.1 44.9 416 60.8 416H451.4L256.2 255.3c-24.5-20.2-55.3-31.3-87.1-31.3C93.4 224 32 285.4 32 361.1z\"]\n};\nvar faTableRows = {\n prefix: 'fal',\n iconName: 'table-rows',\n icon: [512, 512, [\"rows\"], \"e292\", \"M32 96c0-17.7 14.3-32 32-32l64 0 0 176 0 32 0 176-64 0c-17.7 0-32-14.3-32-32L32 96zM160 272l320 0 0 144c0 17.7-14.3 32-32 32l-288 0 0-176zm320-32l-320 0 0-176 288 0c17.7 0 32 14.3 32 32l0 144zM0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32C28.7 32 0 60.7 0 96L0 416z\"]\n};\nvar faRows = faTableRows;\nvar faLocationExclamation = {\n prefix: 'fal',\n iconName: 'location-exclamation',\n icon: [384, 512, [\"map-marker-exclamation\"], \"f608\", \"M352 192c0-88.4-71.6-160-160-160S32 103.6 32 192c0 15.6 5.4 37 16.6 63.4c10.9 25.9 26.2 54 43.6 82.1c34.1 55.3 74.4 108.2 99.9 140c25.4-31.8 65.8-84.7 99.9-140c17.3-28.1 32.7-56.3 43.6-82.1C346.6 229 352 207.6 352 192zm32 0c0 87.4-117 243-168.3 307.2c-12.3 15.3-35.1 15.3-47.4 0C117 435 0 279.4 0 192C0 86 86 0 192 0S384 86 384 192zM192 96c8.8 0 16 7.2 16 16V240c0 8.8-7.2 16-16 16s-16-7.2-16-16V112c0-8.8 7.2-16 16-16zM168 320a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faMapMarkerExclamation = faLocationExclamation;\nvar faFaceFearful = {\n prefix: 'fal',\n iconName: 'face-fearful',\n icon: [512, 512, [], \"e375\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm251.8 48h8.4c50.7 0 91.8 41.1 91.8 91.8c0 11.2-9 20.2-20.2 20.2H180.2c-11.2 0-20.2-9-20.2-20.2c0-50.7 41.1-91.8 91.8-91.8zm8.4 32h-8.4c-29 0-53.2 20.6-58.6 48H318.8c-5.5-27.4-29.6-48-58.6-48zM136.4 224a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm216-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM176 112c-4.4 0-8.8 .3-13 .9c-21.2 2.8-40.6 12.4-56.1 26.8c-6.5 6-16.6 5.7-22.6-.8s-5.7-16.6 .8-22.6c20.1-18.7 45.5-31.5 73.7-35.2c5.6-.7 11.4-1.1 17.2-1.1c8.8 0 16 7.2 16 16s-7.2 16-16 16zm173 .9c-4.3-.6-8.6-.9-13-.9c-8.8 0-16-7.2-16-16s7.2-16 16-16c5.8 0 11.6 .4 17.2 1.1c28.2 3.7 53.7 16.4 73.7 35.2c6.5 6 6.8 16.2 .8 22.6s-16.2 6.8-22.6 .8c-15.5-14.5-34.8-24-56.1-26.8zM160 176a48 48 0 1 0 0 96 48 48 0 1 0 0-96zm80 48A80 80 0 1 1 80 224a80 80 0 1 1 160 0zm64 0a48 48 0 1 0 96 0 48 48 0 1 0 -96 0zm48 80a80 80 0 1 1 0-160 80 80 0 1 1 0 160z\"]\n};\nvar faClipboardUser = {\n prefix: 'fal',\n iconName: 'clipboard-user',\n icon: [384, 512, [], \"f7f3\", \"M145.5 68c5.3-20.7 24.1-36 46.5-36s41.2 15.3 46.5 36c1.8 7.1 8.2 12 15.5 12h18c8.8 0 16 7.2 16 16v32H192 96V96c0-8.8 7.2-16 16-16h18c7.3 0 13.7-4.9 15.5-12zM192 0c-32.8 0-61 19.8-73.3 48H112C91.1 48 73.3 61.4 66.7 80H64C28.7 80 0 108.7 0 144V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V144c0-35.3-28.7-64-64-64h-2.7c-6.6-18.6-24.4-32-45.3-32h-6.7C253 19.8 224.8 0 192 0zM320 112c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V144c0-17.7 14.3-32 32-32v16c0 17.7 14.3 32 32 32h96 96c17.7 0 32-14.3 32-32V112zM208 80a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM192 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 96a64 64 0 1 0 0-128 64 64 0 1 0 0 128zm-32 64h64c26.5 0 48 21.5 48 48c0 8.8 7.2 16 16 16s16-7.2 16-16c0-44.2-35.8-80-80-80H160c-44.2 0-80 35.8-80 80c0 8.8 7.2 16 16 16s16-7.2 16-16c0-26.5 21.5-48 48-48z\"]\n};\nvar faBusSchool = {\n prefix: 'fal',\n iconName: 'bus-school',\n icon: [512, 512, [], \"f5dd\", \"M256 32c105.1 0 146.3 31.1 158.8 47c.4 .6 1.2 2.1 1.2 5.3V128H96V84.3c0-3.3 .8-4.5 1-4.8C110.9 63.2 158.3 32 256 32zM96 245.5V160H240v80H128c-11.2 0-22 1.9-32 5.5zM272 240V160H416v85.5c-10-3.5-20.8-5.5-32-5.5H272zm176 24.4V84.3c0-7.7-1.8-17.1-8.1-25.1C419.2 32.9 366.9 0 256 0C152.4 0 94.5 33 72.6 58.8C65.8 66.9 64 76.6 64 84.3V264.4C44.4 282 32 307.6 32 336v56c0 22.3 13.1 41.6 32 50.6V496c0 8.8 7.2 16 16 16s16-7.2 16-16V448H416v48c0 8.8 7.2 16 16 16s16-7.2 16-16V442.6c18.9-9 32-28.3 32-50.6V336c0-28.4-12.4-54-32-71.6zM128 376a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm256 0a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM64 336c0-35.3 28.7-64 64-64H384c35.3 0 64 28.7 64 64v56c0 13.3-10.7 24-24 24H88c-13.3 0-24-10.7-24-24V336zM192 80c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H208c-8.8 0-16 7.2-16 16zM32 144c0-8.8-7.2-16-16-16s-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V144zm480 0c0-8.8-7.2-16-16-16s-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V144z\"]\n};\nvar faFilmSlash = {\n prefix: 'fal',\n iconName: 'film-slash',\n icon: [640, 512, [], \"e179\", \"M25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4zM500.4 480L448 438.6V448H192V352 256 240H160 96V176 160.7L64 135.4V416c0 35.3 28.7 64 64 64H500.4zM139.6 32L192 73.4V64H448v96 96 16h32 64v64 15.3l32 25.3V96c0-35.3-28.7-64-64-64H139.6zM160 448H128c-17.7 0-32-14.3-32-32V368h64v80zM96 272h64v64H96V272zm384-96h64v64H480V176zm0-32V64h32c17.7 0 32 14.3 32 32v48H480z\"]\n};\nvar faSquareArrowDownRight = {\n prefix: 'fal',\n iconName: 'square-arrow-down-right',\n icon: [448, 512, [], \"e262\", \"M384 448c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384zm64-32c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416zM168 352c-8.8 0-16-7.2-16-16s7.2-16 16-16h97.4L132.7 187.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L288 297.4V192c0-8.8 7.2-16 16-16s16 7.2 16 16V336c0 8.8-7.2 16-16 16H168z\"]\n};\nvar faBookSparkles = {\n prefix: 'fal',\n iconName: 'book-sparkles',\n icon: [448, 512, [\"book-spells\"], \"f6b8\", \"M64 0C28.7 0 0 28.7 0 64L0 448l0 0c0 35.3 28.7 64 64 64H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H416V413.3c18.6-6.6 32-24.4 32-45.3V48c0-26.5-21.5-48-48-48H64zM384 416v64H64c-17.7 0-32-14.3-32-32s14.3-32 32-32H384zM64 384c-11.7 0-22.6 3.1-32 8.6L32 64c0-17.7 14.3-32 32-32H400c8.8 0 16 7.2 16 16V368c0 8.8-7.2 16-16 16H64zM265.9 170.9l-16.5 38.6-38.6 16.5c-19.4 8.3-19.4 35.8 0 44.1l38.6 16.5 16.5 38.6c8.3 19.4 35.8 19.4 44.1 0l16.5-38.6 38.6-16.5c19.4-8.3 19.4-35.8 0-44.1l-38.6-16.5-16.5-38.6c-8.3-19.4-35.8-19.4-44.1 0zM288 200.6l11.7 27.3c1.6 3.8 4.6 6.8 8.4 8.4L335.4 248l-27.3 11.7c-3.8 1.6-6.8 4.6-8.4 8.4L288 295.4l-11.7-27.3c-1.6-3.8-4.6-6.8-8.4-8.4L240.6 248l27.3-11.7c3.8-1.6 6.8-4.6 8.4-8.4L288 200.6zM153 121.8l7-14 7 14c1.5 3.1 4.1 5.6 7.2 7.2l14 7-14 7c-3.1 1.5-5.6 4.1-7.2 7.2l-7 14-7-14c-1.5-3.1-4.1-5.6-7.2-7.2l-14-7 14-7c3.1-1.5 5.6-4.1 7.2-7.2zm28.5-42.7c-8.8-17.7-34.1-17.7-42.9 0l-11.8 23.6-23.6 11.8c-17.7 8.8-17.7 34.1 0 42.9l23.6 11.8 11.8 23.6c8.8 17.7 34.1 17.7 42.9 0l11.8-23.6 23.6-11.8c17.7-8.8 17.7-34.1 0-42.9l-23.6-11.8L181.5 79.2z\"]\n};\nvar faBookSpells = faBookSparkles;\nvar faWashingMachine = {\n prefix: 'fal',\n iconName: 'washing-machine',\n icon: [448, 512, [\"washer\"], \"f898\", \"M64 32C46.3 32 32 46.3 32 64V448c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H64zM0 64C0 28.7 28.7 0 64 0H384c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zm104 8a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm56 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM325.7 351c-7 .7-14.3 1-21.7 1c-41.8 0-72.9-20.8-95.7-36l-2.1-1.4c-25-16.7-41.3-26.6-62.2-26.6c-9.8 0-20.6 1.6-31.4 4c-.4 3.9-.6 7.9-.6 12c0 61.9 50.1 112 112 112c45.1 0 84-26.6 101.7-65zm9.5-33.4c.5-4.4 .8-8.9 .8-13.5c0-61.9-50.1-112-112-112c-45.3 0-84.4 27-102 65.7c7.4-1.1 14.8-1.7 22-1.7c32 0 56 16 80 32s48 32 80 32c10.9 0 21.4-.9 31.2-2.5zM80 304a144 144 0 1 1 288 0A144 144 0 1 1 80 304z\"]\n};\nvar faWasher = faWashingMachine;\nvar faChild = {\n prefix: 'fal',\n iconName: 'child',\n icon: [320, 512, [], \"f1ae\", \"M128 64a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm96 0A64 64 0 1 0 96 64a64 64 0 1 0 128 0zM73.9 240.2c1.9-3.1 3.9-6 6.1-8.9V496c0 8.8 7.2 16 16 16s16-7.2 16-16V384h96V496c0 8.8 7.2 16 16 16s16-7.2 16-16V231.3c2.2 2.8 4.2 5.8 6.1 8.9l44.3 72.2c4.6 7.5 14.5 9.9 22 5.3s9.9-14.5 5.3-22l-44.3-72.2C249.2 184 206.3 160 160 160s-89.2 24-113.4 63.5L2.4 295.6c-4.6 7.5-2.3 17.4 5.3 22s17.4 2.3 22-5.3l44.3-72.2zM208 352H112V204.1c14.5-7.8 31-12.1 48-12.1s33.5 4.3 48 12.1V352z\"]\n};\nvar faLiraSign = {\n prefix: 'fal',\n iconName: 'lira-sign',\n icon: [320, 512, [8356], \"f195\", \"M80 152c0-48.6 39.4-88 88-88h7.1c9.5 0 18.9 1.5 27.8 4.5l80 26.7c8.4 2.8 17.4-1.7 20.2-10.1s-1.7-17.4-10.1-20.2l-80-26.7c-12.2-4.1-25-6.2-37.9-6.2H168C101.7 32 48 85.7 48 152v72H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H48v22.1c0 14-.8 28-2.4 41.9H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H40.5c-7.3 35.6-19.9 70.1-37.4 102.3l-1.1 2c-2.7 5-2.6 11 .3 15.8S10.4 480 16 480H304c8.8 0 16-7.2 16-16s-7.2-16-16-16H42.1c14.4-30.6 24.8-62.9 31-96H240c8.8 0 16-7.2 16-16s-7.2-16-16-16H77.8c1.5-13.9 2.2-27.9 2.2-41.9V256H240c8.8 0 16-7.2 16-16s-7.2-16-16-16H80V152z\"]\n};\nvar faUserVisor = {\n prefix: 'fal',\n iconName: 'user-visor',\n icon: [448, 512, [], \"e04c\", \"M224 224c41.8 0 77.4-26.7 90.5-64H133.5c13.2 37.3 48.7 64 90.5 64zm0 32c-60.6 0-111.3-42.1-124.6-98.6C88 152.5 80 141.2 80 128V96c0-17.7 14.3-32 32-32h1.1C135.3 25.7 176.6 0 224 0s88.7 25.7 110.9 64H336c17.7 0 32 14.3 32 32v32c0 13.2-8 24.5-19.4 29.4C335.3 213.9 284.6 256 224 256zM152.4 64H295.6C278 44.4 252.4 32 224 32s-54 12.4-71.6 32zm25.8 272c-80 0-145 64.3-146.3 144H416c-1.2-79.7-66.2-144-146.3-144H178.3zM0 482.3C0 383.8 79.8 304 178.3 304h91.4C368.2 304 448 383.8 448 482.3c0 16.4-13.3 29.7-29.7 29.7H29.7C13.3 512 0 498.7 0 482.3zM336 96H112v32H336V96zm-7.1 341.4c-9.5 0-22.5 11.4-31.7 19.5c-2.6 2.2-4.8 4.2-6.6 5.6c-2.8 2-6.8 .1-6.5-3.5c3.9-36.5 15.9-66.5 35.7-89.5c1.5-1.8 4.9-1.9 6.1 .1c18.9 24.6 29 55 30.1 90.2c0 3.9-4.9 5.7-7.3 2.5c-12.2-17.3-17.6-23-19.9-25z\"]\n};\nvar faFilePlusMinus = {\n prefix: 'fal',\n iconName: 'file-plus-minus',\n icon: [384, 512, [], \"e177\", \"M320 480H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H192V144c0 26.5 21.5 48 48 48H352V448c0 17.7-14.3 32-32 32zM240 160c-8.8 0-16-7.2-16-16V32.5c2.8 .7 5.4 2.1 7.4 4.2L347.3 152.6c2.1 2.1 3.5 4.6 4.2 7.4H240zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V163.9c0-12.7-5.1-24.9-14.1-33.9L254.1 14.1c-9-9-21.2-14.1-33.9-14.1H64zM208 240c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H128c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v48c0 8.8 7.2 16 16 16s16-7.2 16-16V320h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H208V240zM128 416c-8.8 0-16 7.2-16 16s7.2 16 16 16H256c8.8 0 16-7.2 16-16s-7.2-16-16-16H128z\"]\n};\nvar faChessClockFlip = {\n prefix: 'fal',\n iconName: 'chess-clock-flip',\n icon: [640, 512, [\"chess-clock-alt\"], \"f43e\", \"M400 32c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v64H64c-35.3 0-64 28.7-64 64V416c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V192c0-35.3-28.7-64-64-64H480V64h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H464 400zM96 80c0 8.8 7.2 16 16 16H240c8.8 0 16-7.2 16-16s-7.2-16-16-16H112c-8.8 0-16 7.2-16 16zm480 80c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V192c0-17.7 14.3-32 32-32H576zM464 224a80 80 0 1 1 0 160 80 80 0 1 1 0-160zm0 192a112 112 0 1 0 0-224 112 112 0 1 0 0 224zM119.4 247.4A80 80 0 1 1 232.6 360.6 80 80 0 1 1 119.4 247.4zM255.2 383.2A112 112 0 1 0 96.8 224.8 112 112 0 1 0 255.2 383.2zM464 240c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16s16-7.2 16-16V256c0-8.8-7.2-16-16-16zM221.3 281.4c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-33.9 33.9c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l33.9-33.9z\"]\n};\nvar faChessClockAlt = faChessClockFlip;\nvar faSatellite = {\n prefix: 'fal',\n iconName: 'satellite',\n icon: [512, 512, [128752], \"f7bf\", \"M224 35.3l62.3 62.3L185.7 198.3 123.3 136 224 35.3zM309 75L241 7c-9.4-9.4-24.6-9.4-33.9 0L95 119c-9.4 9.4-9.4 24.6 0 33.9l47.6 47.6c-45.3-3.8-92 10.2-128.7 42.3c-3.8 3.3-5.9 8-5.9 13v.5c0 4.9 1.9 9.6 5.4 13L116.7 372.7l-16 16c-6.3-3-13.3-4.7-20.7-4.7c-26.5 0-48 21.5-48 48s21.5 48 48 48s48-21.5 48-48c0-7.4-1.7-14.4-4.7-20.7l16-16L242.6 498.6c3.5 3.5 8.1 5.4 13 5.4h.5c5 0 9.8-2.2 13-5.9c32.1-36.7 46.1-83.3 42.3-128.7L359 417c9.4 9.4 24.6 9.4 33.9 0L505 305c9.4-9.4 9.4-24.6 0-33.9l-68-68L463 177c10.9-10.9 17-25.6 17-41s-6.1-30.1-17-41L417 49c-10.9-10.9-25.6-17-41-17s-30.1 6.1-41 17L309 75zM414.3 225.7L476.7 288 376 388.7l-62.3-62.3L414.3 225.7zm26.1-71.3L292 302.8c-7.9-14.9-18.1-28.9-30.7-41.5l-10.6-10.6c-12.5-12.5-26.5-22.8-41.5-30.7L357.7 71.6c4.9-4.9 11.5-7.6 18.3-7.6s13.5 2.7 18.3 7.6l46.1 46.1c4.9 4.9 7.6 11.5 7.6 18.3s-2.7 13.5-7.6 18.3zM238.7 283.9c49 49 54.8 125.7 15.7 181.2L46.8 257.6c55.5-39.1 132.2-33.3 181.2 15.7l10.6 10.6zM80 416a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faTruckFire = {\n prefix: 'fal',\n iconName: 'truck-fire',\n icon: [640, 512, [], \"e65a\", \"M16 0C7.2 0 0 7.2 0 16s7.2 16 16 16H64V96H48C21.5 96 0 117.5 0 144V368c0 26.5 21.5 48 48 48H64c0 53 43 96 96 96s96-43 96-96H384c0 53 43 96 96 96s96-43 96-96h16c26.5 0 48-21.5 48-48V144c0-26.5-21.5-48-48-48H544c0-17.7-14.3-32-32-32s-32 14.3-32 32H384V32H624c8.8 0 16-7.2 16-16s-7.2-16-16-16H16zM352 32V96H288V32h64zm0 96h32V256H32V144c0-8.8 7.2-16 16-16H64 96 352zm64 0h64 64 48c8.8 0 16 7.2 16 16V368c0 8.8-7.2 16-16 16H570.5c-13.2-37.3-48.7-64-90.5-64s-77.4 26.7-90.5 64H250.5c-13.2-37.3-48.7-64-90.5-64s-77.4 26.7-90.5 64H48c-8.8 0-16-7.2-16-16V288H392c13.3 0 24-10.7 24-24V128zM256 32V96H192V32h64zm-96 0V96H96V32h64zM480 192h64v64H480V192zm-8-32c-13.3 0-24 10.7-24 24v80c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24V184c0-13.3-10.7-24-24-24H472zM160 352a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm256 64a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z\"]\n};\nvar faPlaneLock = {\n prefix: 'fal',\n iconName: 'plane-lock',\n icon: [640, 512, [], \"e558\", \"M256 0c-13.4 0-25.2 5.7-34.8 13.3c-9.5 7.6-17.6 17.7-24 28.4C184.4 62.7 176 89 176 109.7v52.5L24.2 248.9C9.2 257.4 0 273.3 0 290.6v56.2c0 21.3 20.3 36.6 40.8 30.8L176 338.9l0 37.1-51.2 38.4c-8.1 6-12.8 15.5-12.8 25.6v42c0 16.6 13.4 30 30 30c2.8 0 5.6-.4 8.3-1.2l0 0L256 480.6l105.7 30.2 0 0c2.1 .6 4.2 1 6.3 1.1V479.4L260.4 448.6c-2.9-.8-5.9-.8-8.8 0L144 479.4V440l57.6-43.2c4-3 6.4-7.8 6.4-12.8l0-66.3c0-5-2.4-9.8-6.4-12.8s-9.2-4-14-2.6L32 346.8V290.6c0-5.7 3.1-11 8.1-13.9l159.9-91.4c5-2.8 8.1-8.2 8.1-13.9V109.7c0-13.5 6.1-34.1 16.6-51.3c5.2-8.5 10.9-15.4 16.7-20C247 33.7 251.9 32 256 32c9.1 0 20.9 8.2 31.8 26.3C298.1 75.5 304 96.1 304 109.7v61.7c0 5.7 3.1 11 8.1 13.9l106.9 61.1c2.5-10.7 6.5-20.8 11.9-30.1L336 162.1V109.7c0-20.6-8.1-46.8-20.8-67.9C303.1 21.6 282.9 0 256 0zm80 376V338.9l48 13.7V352c0-11 2.8-21.4 7.7-30.4l-67.3-19.2c-4.8-1.4-10-.4-14 2.6s-6.4 7.8-6.4 12.8V384c0 5 2.4 9.8 6.4 12.8L368 440V400l-32-24zM528 224c26.5 0 48 21.5 48 48v48H480V272c0-26.5 21.5-48 48-48zm-80 48v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80zm0 80H608V480H448V352z\"]\n};\nvar faSteeringWheel = {\n prefix: 'fal',\n iconName: 'steering-wheel',\n icon: [512, 512, [], \"f622\", \"M240 384v95.4C134.4 472 49.1 391.4 34.3 288H140.4c2.2 4.2 5.1 8.1 8.6 11.6l73.1 73.1c5.2 5.2 11.4 9 17.9 11.3zm32 0c6.6-2.3 12.7-6.1 17.9-11.3L363 299.6c3.5-3.5 6.3-7.4 8.6-11.6H477.7C462.9 391.4 377.6 472 272 479.4V384zM376.1 256c-.8-4-2.2-8-4.1-11.8l-12.8-25.7C351 202.3 334.4 192 316.2 192H195.8c-18.2 0-34.8 10.3-42.9 26.5L140 244.2c-1.9 3.8-3.3 7.8-4.1 11.8H32C32 132.3 132.3 32 256 32s224 100.3 224 224H376.1zM256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM181.5 232.8c2.7-5.4 8.3-8.8 14.3-8.8H316.2c6.1 0 11.6 3.4 14.3 8.8l12.8 25.7c3.1 6.2 1.9 13.6-3 18.5l-73.1 73.1c-6.2 6.2-16.4 6.2-22.6 0L171.6 277c-4.9-4.9-6.1-12.3-3-18.5l12.8-25.7z\"]\n};\nvar faTag = {\n prefix: 'fal',\n iconName: 'tag',\n icon: [448, 512, [127991], \"f02b\", \"M32 229.5V80c0-8.8 7.2-16 16-16H197.5c8.5 0 16.6 3.4 22.6 9.4l176 176c12.5 12.5 12.5 32.8 0 45.3L262.6 428.1c-12.5 12.5-32.8 12.5-45.3 0l-176-176L18.7 274.7l22.6-22.6c-6-6-9.4-14.1-9.4-22.6zm-32 0c0 17 6.7 33.3 18.7 45.3l176 176c25 25 65.5 25 90.5 0L418.7 317.3c25-25 25-65.5 0-90.5l-176-176c-12-12-28.3-18.7-45.3-18.7H48C21.5 32 0 53.5 0 80V229.5zM112 168a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faStretcher = {\n prefix: 'fal',\n iconName: 'stretcher',\n icon: [640, 512, [], \"f825\", \"M27.3 68.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L145.9 232.6c15 15 35.4 23.4 56.6 23.4H624c8.8 0 16-7.2 16-16s-7.2-16-16-16H528.2h-.4H208.2h-.4-5.3c-12.7 0-24.9-5.1-33.9-14.1L27.3 68.7zM224 448a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm96 0c0-8.8-1.8-17.3-5-24.9l53-40.6 53 40.6c-3.2 7.7-5 16.1-5 24.9c0 35.3 28.7 64 64 64s64-28.7 64-64s-28.7-64-64-64c-14.9 0-28.6 5.1-39.5 13.6l-46.2-35.3L491.6 288H438.9L368 342.2 297.1 288H244.4l97.2 74.4-46.2 35.3C284.6 389.1 270.9 384 256 384c-35.3 0-64 28.7-64 64s28.7 64 64 64s64-28.7 64-64zm160-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faBookSection = {\n prefix: 'fal',\n iconName: 'book-section',\n icon: [448, 512, [\"book-law\"], \"e0c1\", \"M0 64C0 28.7 28.7 0 64 0H400c26.5 0 48 21.5 48 48V368c0 20.9-13.4 38.7-32 45.3V480h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H64c-35.3 0-64-28.7-64-64l0 0L0 64zM64 416c-17.7 0-32 14.3-32 32s14.3 32 32 32H384V416H64zM32 392.6c9.4-5.4 20.3-8.6 32-8.6H400c8.8 0 16-7.2 16-16V48c0-8.8-7.2-16-16-16H64C46.3 32 32 46.3 32 64l0 328.6zM224.7 254.1c-20.7-5.5-63.7-17-55.7-58.8c2-10.5 7.5-19.2 15.6-25.8c-11.5-8.8-19.4-21.7-15.6-41.7c5.7-29.8 37.9-45 82-38.7c7.8 1.1 16.8 3.3 28.3 6.9c7.9 2.5 12.3 10.9 9.9 18.8c-2.5 7.9-11 12.3-18.8 9.9c-9.9-3.1-17.5-4.9-23.6-5.8c-26.1-3.8-46 2.3-48.4 14.7c-1.7 8.7-.2 15.1 34 24.1l6.8 1.8 0 0c28.2 7.3 70.9 18.3 62.8 60.6c-2 10.5-7.5 19.2-15.6 25.9c11.8 8.9 19.4 21.7 15.6 41.6c-4.8 25.3-28.9 40.2-63.1 40.2c-6 0-12.3-.5-18.9-1.4c-12.1-1.7-24.9-5.8-36.1-9.5l-5.4-1.8c-7.9-2.5-12.2-11-9.7-18.8c2.5-7.9 11-12.3 18.9-9.7l5.5 1.8c10.1 3.3 21.5 7 31 8.3c26.3 3.7 46.1-2.3 48.4-14.7c2.3-11.9-5.4-16.8-40.9-26l-7-1.8zM222 185.9c-8.1 1.1-21.6 4.5-23.6 15.1c-1.7 8.7-.2 15.1 34 24.1c0 0 13.2 3.5 16.6 4.4c8.2-1.1 21.6-4.5 23.6-15c2.3-11.9-5.4-16.8-40.9-26c0 0-8.8-2.3-9.7-2.6z\"]\n};\nvar faBookLaw = faBookSection;\nvar faInboxes = {\n prefix: 'fal',\n iconName: 'inboxes',\n icon: [512, 512, [], \"e1bb\", \"M34.7 192l-1.4 3.4c-.8 2-1.2 4-1.2 6.2V272c0 8.8 7.2 16 16 16H464c8.8 0 16-7.2 16-16V201.6c0-2.1-.4-4.2-1.2-6.2l-1.4-3.4H403.8c-6.1 0-11.6 3.4-14.3 8.8l-14.3 28.6C367 245.7 350.4 256 332.2 256H179.8c-18.2 0-34.8-10.3-42.9-26.5l-14.3-28.6c-2.7-5.4-8.3-8.8-14.3-8.8H34.7zM48 160h60.2c18.2 0 34.8 10.3 42.9 26.5l14.3 28.6c2.7 5.4 8.3 8.8 14.3 8.8H332.2c6.1 0 11.6-3.4 14.3-8.8l14.3-28.6c8.1-16.3 24.8-26.5 42.9-26.5H464L414.8 41.8l29-12.1-29 12.1c-2.5-6-8.3-9.8-14.8-9.8H112c-6.5 0-12.3 3.9-14.8 9.8L48 160zM3.7 183.1l64-153.6C75.1 11.7 92.6 0 112 0H400c19.4 0 36.9 11.7 44.3 29.5l64 153.6c2.4 5.8 3.7 12.1 3.7 18.5V272c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V201.6c0-6.3 1.3-12.6 3.7-18.5zM114.3 384H48c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16H464c8.8 0 16-7.2 16-16V400c0-8.8-7.2-16-16-16H397.7c-6.1 0-11.6 3.4-14.3 8.8L369 421.5l-28.6-14.3 14.3-28.6c8.1-16.3 24.8-26.5 42.9-26.5H464c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V400c0-26.5 21.5-48 48-48h66.3c18.2 0 34.8 10.3 42.9 26.5l14.3 28.6c2.7 5.4 8.3 8.8 14.3 8.8H326.1c6.1 0 11.6-3.4 14.3-8.8L369 421.5c-8.1 16.3-24.8 26.5-42.9 26.5H185.9c-18.2 0-34.8-10.3-42.9-26.5l-14.3-28.6c-2.7-5.4-8.3-8.8-14.3-8.8z\"]\n};\nvar faCoffeeBean = {\n prefix: 'fal',\n iconName: 'coffee-bean',\n icon: [448, 512, [], \"e13e\", \"M388.3 108.6c21.2 27.9 29.6 65.9 23.5 108.9c-7 49.3-33.2 102.9-78.3 148s-98.7 71.3-148 78.3c-40.4 5.8-76.5-1.4-103.8-19.8c.1-.1 .1-.3 .2-.4c16.5-34.5 37.5-72.2 57.4-92.3c29.7-29.9 59.7-44.9 91.8-61l.5-.3 0 0c32-15.9 66.1-32.9 99.7-66.8c22.8-22.9 42.6-61.6 56.9-94.7zM363.6 84.8c-.6 1.4-1.2 2.9-1.8 4.4c-14.5 34.5-33.5 71.8-53.1 91.5c-29.7 29.9-59.7 44.9-91.8 61l-.5 .3c-32 15.9-66.1 32.9-99.7 66.8c-22.2 22.4-43.4 59.9-59.5 92.6c-22.6-28.1-31.8-67.1-25.5-111.4c7-49.3 33.2-102.9 78.3-148s98.7-71.3 148-78.3c41.4-5.9 78.1 1.7 105.7 21.1zM390 64.7C313.6 2.4 181.6 25 87.3 119.3c-98.9 98.9-119 239.2-44.9 313.5c0 0 .1 .1 .1 .1c7.5 7.5 15.8 14.1 24.5 19.7c.4 .3 .8 .5 1.2 .8c77.8 48.6 199.4 23.2 287.8-65.3c99-99 119-239.4 44.8-313.6c-3.5-3.5-7.1-6.8-10.9-9.8z\"]\n};\nvar faCircleYen = {\n prefix: 'fal',\n iconName: 'circle-yen',\n icon: [512, 512, [], \"e5d0\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM165.2 148.2c6.5-5.9 16.7-5.5 22.6 1.1l68.2 75 68.2-75c5.9-6.5 16.1-7 22.6-1.1s7 16.1 1.1 22.6L271 255.2h1v.8h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H272v32h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H272v17c0 8.8-7.2 16-16 16s-16-7.2-16-16V352H192c-8.8 0-16-7.2-16-16s7.2-16 16-16h48V288H192c-8.8 0-16-7.2-16-16s7.2-16 16-16h48v-.8h1l-76.8-84.5c-5.9-6.5-5.5-16.7 1.1-22.6z\"]\n};\nvar faBracketsCurly = {\n prefix: 'fal',\n iconName: 'brackets-curly',\n icon: [576, 512, [], \"f7ea\", \"M144 32c-44.2 0-80 35.8-80 80v53.5c0 12.7-5.1 24.9-14.1 33.9L4.7 244.7c-3 3-4.7 7.1-4.7 11.3s1.7 8.3 4.7 11.3l45.3 45.3c9 9 14.1 21.2 14.1 33.9V400c0 44.2 35.8 80 80 80h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H144c-26.5 0-48-21.5-48-48V346.5c0-21.2-8.4-41.6-23.4-56.6L38.6 256l33.9-33.9c15-15 23.4-35.4 23.4-56.6V112c0-26.5 21.5-48 48-48h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H144zm288 0H368c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c26.5 0 48 21.5 48 48v53.5c0 21.2 8.4 41.6 23.4 56.6L537.4 256l-33.9 33.9c-15 15-23.4 35.4-23.4 56.6V400c0 26.5-21.5 48-48 48H368c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c44.2 0 80-35.8 80-80V346.5c0-12.7 5.1-24.9 14.1-33.9l45.3-45.3c3-3 4.7-7.1 4.7-11.3s-1.7-8.3-4.7-11.3l-45.3-45.3c-9-9-14.1-21.2-14.1-33.9V112c0-44.2-35.8-80-80-80z\"]\n};\nvar faEllipsisStrokeVertical = {\n prefix: 'fal',\n iconName: 'ellipsis-stroke-vertical',\n icon: [192, 512, [\"ellipsis-v-alt\"], \"f39c\", \"M96 64a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm0 96A64 64 0 1 1 96 32a64 64 0 1 1 0 128zm32 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-96 0a64 64 0 1 1 128 0A64 64 0 1 1 32 256zm96 160a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-96 0a64 64 0 1 1 128 0A64 64 0 1 1 32 416z\"]\n};\nvar faEllipsisVAlt = faEllipsisStrokeVertical;\nvar faComment = {\n prefix: 'fal',\n iconName: 'comment',\n icon: [512, 512, [128489, 61669], \"f075\", \"M256 64C125.8 64 32 148.6 32 240c0 37.1 15.5 70.6 40 100c5.2 6.3 8.4 14.8 7.4 23.9c-3.1 27-11.4 52.5-25.7 76.3c-.5 .9-1.1 1.8-1.6 2.6c11.1-2.9 22.2-7 32.7-11.5L91.2 446l-6.4-14.7c17-7.4 33-16.7 48.4-27.4c8.5-5.9 19.4-7.5 29.2-4.2C193 410.1 224 416 256 416c130.2 0 224-84.6 224-176s-93.8-176-224-176zM0 240C0 125.2 114.5 32 256 32s256 93.2 256 208s-114.5 208-256 208c-36 0-70.5-6.7-103.8-17.9c-.2-.1-.5 0-.7 .1c-16.9 11.7-34.7 22.1-53.9 30.5C73.6 471.1 44.7 480 16 480c-6.5 0-12.3-3.9-14.8-9.8s-1.1-12.8 3.4-17.4c8.1-8.2 15.2-18.2 21.7-29c11.7-19.6 18.7-40.6 21.3-63.1c0 0-.1-.1-.1-.2C19.6 327.1 0 286.6 0 240z\"]\n};\nvar faSquare1 = {\n prefix: 'fal',\n iconName: 'square-1',\n icon: [448, 512, [], \"e256\", \"M384 64c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm168 98.2c-4.9-2.9-11-2.9-16-.1l-56 32c-7.7 4.4-10.3 14.2-6 21.8s14.2 10.3 21.8 6L208 171.6V352H160c-8.8 0-16 7.2-16 16s7.2 16 16 16h64 64c8.8 0 16-7.2 16-16s-7.2-16-16-16H240V144c0-5.7-3-11-8-13.8z\"]\n};\nvar faCakeCandles = {\n prefix: 'fal',\n iconName: 'cake-candles',\n icon: [448, 512, [127874, \"birthday-cake\", \"cake\"], \"f1fd\", \"M82.5 70.9c-1.6 2.6-2.5 5.7-2.5 8.8C80 88.8 87.4 96 96 96s16-7.2 16-16.3c0-3.2-.9-6.3-2.5-8.8L96 49.7 82.5 70.9zm-27-17.1L86.2 5.4C88.3 2 92 0 96 0s7.7 2 9.8 5.4l30.7 48.3c4.9 7.7 7.5 16.8 7.5 26c0 26.5-21.5 48.3-48 48.3s-48-21.8-48-48.3c0-9.2 2.6-18.2 7.5-26zM384 256H368v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V256H240v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V256H112v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V256H64c-17.7 0-32 14.3-32 32l0 80c13.3 0 26.1-6 36.3-13.1c2.2-1.5 4.7-3.9 7.4-6.4C81.9 342.7 89 336 96 336s14.1 6.7 20.3 12.5c2.7 2.5 5.2 4.9 7.4 6.4c10.2 7.1 23 13.1 36.3 13.1s26.1-6 36.3-13.1c2.2-1.5 4.7-3.9 7.4-6.4C209.9 342.7 217 336 224 336s14.1 6.7 20.3 12.5c2.7 2.5 5.2 4.9 7.4 6.4c10.2 7.1 23 13.1 36.3 13.1s26.1-6 36.3-13.1c2.2-1.5 4.7-3.9 7.4-6.4c6-5.7 13-12.3 19.8-12.4c7.2-.2 15.1 6.8 21.8 12.5c2.8 2.4 5.3 4.6 7.5 6c10.3 6.7 22.7 12.4 35.2 13.3V288c0-17.7-14.3-32-32-32zM32 400l0 80H416V399.9c-21.1-.9-39.8-10.2-52.6-18.5c-4.1-2.7-7.8-5.4-10.9-7.8c-2.8 2.4-6.1 5-9.8 7.5C329.8 390 310.6 400 288 400s-41.8-10-54.6-18.9c-3.5-2.4-6.7-4.9-9.4-7.2c-2.7 2.3-5.9 4.7-9.4 7.2C201.8 390 182.6 400 160 400s-41.8-10-54.6-18.9c-3.5-2.4-6.7-4.9-9.4-7.2c-2.7 2.3-5.9 4.7-9.4 7.2C73.8 390 54.6 400 32 400zM64 224H80V176c0-8.8 7.2-16 16-16s16 7.2 16 16v48h96V176c0-8.8 7.2-16 16-16s16 7.2 16 16v48h96V176c0-8.8 7.2-16 16-16s16 7.2 16 16v48h16c35.3 0 64 28.7 64 64V480c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V288c0-35.3 28.7-64 64-64zM224 49.7L210.5 70.9c-1.6 2.6-2.5 5.7-2.5 8.8c0 9.1 7.4 16.3 16 16.3s16-7.2 16-16.3c0-3.2-.9-6.3-2.5-8.8L224 49.7zM214.2 5.4C216.3 2 220 0 224 0s7.7 2 9.8 5.4l30.7 48.3c4.9 7.7 7.5 16.8 7.5 26c0 26.5-21.5 48.3-48 48.3s-48-21.8-48-48.3c0-9.2 2.6-18.2 7.5-26L214.2 5.4zM338.5 70.9c-1.6 2.6-2.5 5.7-2.5 8.8c0 9.1 7.4 16.3 16 16.3s16-7.2 16-16.3c0-3.2-.9-6.3-2.5-8.8L352 49.7 338.5 70.9zm-27-17.1L342.2 5.4C344.3 2 348 0 352 0s7.7 2 9.8 5.4l30.7 48.3c4.9 7.7 7.5 16.8 7.5 26c0 26.5-21.5 48.3-48 48.3s-48-21.8-48-48.3c0-9.2 2.6-18.2 7.5-26z\"]\n};\nvar faBirthdayCake = faCakeCandles;\nvar faCake = faCakeCandles;\nvar faHeadSide = {\n prefix: 'fal',\n iconName: 'head-side',\n icon: [512, 512, [], \"f6e9\", \"M32 224C32 118 118 32 224 32h16c66.1 0 127.1 40 153.8 96.9c3.2 6.9 6.5 14.2 9.9 21.7l0 0 0 0c6.2 13.9 12.7 28.5 19.8 42c11.1 21.3 24.8 42.3 44 59.4l3.2 2.8c6 5.3 9.5 13 9.5 21.1c0 15.6-12.6 28.2-28.2 28.2H432c-8.8 0-16 7.2-16 16v64c0 17.7-14.3 32-32 32H304c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V448h64c35.3 0 64-28.7 64-64V336h3.8c33.2 0 60.2-26.9 60.2-60.2c0-17.2-7.4-33.6-20.2-45l-3.2-2.8c-15.1-13.5-26.6-30.6-36.9-50.3c-6.7-12.7-12.3-25.5-18.2-38.7l0 0c-3.5-7.8-7-15.7-10.8-23.8C390.8 47.3 318.6 0 240 0H224C100.3 0 0 100.3 0 224c0 52.9 18.4 101.6 49.1 140C58.5 375.6 64 388.6 64 401.4V496c0 8.8 7.2 16 16 16s16-7.2 16-16V401.4c0-22.1-9.5-41.9-21.9-57.4C47.7 311.1 32 269.4 32 224zm312 0a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faTruckLadder = {\n prefix: 'fal',\n iconName: 'truck-ladder',\n icon: [640, 512, [], \"e657\", \"M16 32H336c8.8 0 16 7.2 16 16s-7.2 16-16 16v96c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16-7.2-16-16s7.2-16 16-16l0-96C7.2 64 0 56.8 0 48s7.2-16 16-16zM304 64H240v96h64V64zm-96 0H144v96h64V64zm-96 0H48v96h64V64zm272 72c0-22.1 17.9-40 40-40h58.7c12.7 0 24.9 5.1 33.9 14.1L625.9 219.3c9 9 14.1 21.2 14.1 33.9V368c0 26.5-21.5 48-48 48H576c0 53-43 96-96 96s-96-43-96-96H256c0 53-43 96-96 96s-96-43-96-96H48c-26.5 0-48-21.5-48-48V272c0-26.5 21.5-48 48-48H384V136zm32 88H585.4l-91.3-91.3c-3-3-7.1-4.7-11.3-4.7H424c-4.4 0-8 3.6-8 8v88zm192 32H48c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16H69.5c13.2-37.3 48.7-64 90.5-64s77.4 26.7 90.5 64H389.5c13.2-37.3 48.7-64 90.5-64s77.4 26.7 90.5 64H592c8.8 0 16-7.2 16-16V256zM224 416A64 64 0 1 0 96 416a64 64 0 1 0 128 0zm256 64a64 64 0 1 0 0-128 64 64 0 1 0 0 128z\"]\n};\nvar faEnvelope = {\n prefix: 'fal',\n iconName: 'envelope',\n icon: [512, 512, [128386, 9993, 61443], \"f0e0\", \"M64 96c-17.7 0-32 14.3-32 32v39.9L227.6 311.3c16.9 12.4 39.9 12.4 56.8 0L480 167.9V128c0-17.7-14.3-32-32-32H64zM32 207.6V384c0 17.7 14.3 32 32 32H448c17.7 0 32-14.3 32-32V207.6L303.3 337.1c-28.2 20.6-66.5 20.6-94.6 0L32 207.6zM0 128C0 92.7 28.7 64 64 64H448c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128z\"]\n};\nvar faDollyEmpty = {\n prefix: 'fal',\n iconName: 'dolly-empty',\n icon: [576, 512, [], \"f473\", \"M8 16C8 7.2 15.2 0 24 0H88.9c20.7 0 39 13.2 45.5 32.8L241.3 353.3c4.8-.9 9.7-1.3 14.7-1.3c34.1 0 63.2 21.3 74.7 51.4L554.5 321c8.3-3.1 17.5 1.2 20.5 9.5s-1.2 17.5-9.5 20.5L335.9 435.6C334 478.1 299 512 256 512c-44.2 0-80-35.8-80-80c0-27.8 14.1-52.2 35.6-66.6L104.1 42.9C101.9 36.4 95.8 32 88.9 32H24C15.2 32 8 24.8 8 16zM304 432a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nvar faFaceTissue = {\n prefix: 'fal',\n iconName: 'face-tissue',\n icon: [512, 512, [], \"e39c\", \"M256 32C132.3 32 32 132.3 32 256c0 8.8-7.2 16-16 16s-16-7.2-16-16C0 114.6 114.6 0 256 0S512 114.6 512 256s-114.6 256-256 256c-8.8 0-16-7.2-16-16s7.2-16 16-16c123.7 0 224-100.3 224-224S379.7 32 256 32zm39.1 306.7c5.4-3.6 12.4-3.6 17.8 0l40.3 26.8 23.7-11.8c7.9-4 17.5-.7 21.5 7.2s.7 17.5-7.2 21.5l-32 16c-5.1 2.6-11.3 2.2-16-1L304 371.2l-39.1 26.1c-7.4 4.9-17.3 2.9-22.2-4.4s-2.9-17.3 4.4-22.2l48-32zM136.5 190.3c-7.9-4-11.1-13.6-7.2-21.5s13.6-11.1 21.5-7.2l64 32c5.4 2.7 8.8 8.3 8.8 14.3s-3.4 11.6-8.8 14.3l-64 32c-7.9 4-17.5 .7-21.5-7.2s-.7-17.5 7.2-21.5L171.9 208l-35.4-17.7zm246.2-21.5c4 7.9 .7 17.5-7.2 21.5L340.2 208l35.4 17.7c7.9 4 11.1 13.6 7.2 21.5s-13.6 11.1-21.5 7.2l-64-32c-5.4-2.7-8.8-8.3-8.8-14.3s3.4-11.6 8.8-14.3l64-32c7.9-4 17.5-.7 21.5 7.2zM223.8 306.6l-32 192c-1.1 6.7-6.3 11.9-13 13.1s-13.4-1.9-16.7-7.8l-26-45.5L51.9 479.5c-5.5 1.4-11.2-.2-15.2-4.2s-5.6-9.7-4.2-15.2l21.1-84.2-45.5-26c-5.9-3.4-9-10-7.8-16.7s6.4-11.9 13.1-13l192-32c5.1-.8 10.3 .8 13.9 4.5s5.3 8.8 4.5 13.9zM79.9 354.1c6.2 3.6 9.3 10.8 7.6 17.8L70 442l70.1-17.5c7-1.7 14.2 1.4 17.8 7.6l9.7 17 20.9-125.6L62.9 344.4l17 9.7z\"]\n};\nvar faAnglesUp = {\n prefix: 'fal',\n iconName: 'angles-up',\n icon: [448, 512, [\"angle-double-up\"], \"f102\", \"M235.3 52.7c-6.2-6.2-16.4-6.2-22.6 0l-160 160c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L224 86.6 372.7 235.3c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-160-160zm160 352l-160-160c-6.2-6.2-16.4-6.2-22.6 0l-160 160c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L224 278.6 372.7 427.3c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6z\"]\n};\nvar faAngleDoubleUp = faAnglesUp;\nvar faBinRecycle = {\n prefix: 'fal',\n iconName: 'bin-recycle',\n icon: [576, 512, [], \"e5f7\", \"M536 64c4.4 0 8 3.6 8 8V88c0 4.4-3.6 8-8 8H511.9 64.1 40c-4.4 0-8-3.6-8-8V72c0-4.4 3.6-8 8-8H536zM0 88c0 20.3 15.1 37 34.6 39.6l0 .4L59.1 421.3c2.8 33.2 30.5 58.7 63.8 58.7H453.1c33.3 0 61-25.5 63.8-58.7L541.3 128l0-.4C560.9 125 576 108.3 576 88V72c0-22.1-17.9-40-40-40H40C17.9 32 0 49.9 0 72V88zM91 418.7L66.8 128H509.2L485 418.7c-1.4 16.6-15.2 29.3-31.9 29.3H122.9c-16.6 0-30.5-12.8-31.9-29.3zM288 192c5 0 9.7 2.4 12.6 6.4l31 42.1c5 6.7 14.3 8.5 21.4 4.1c7.9-4.9 9.9-15.6 4.4-23.1l-31-42.1c-9-12.2-23.2-19.4-38.4-19.4s-29.4 7.2-38.4 19.4l-31 42.1c-5.5 7.5-3.5 18.1 4.4 23.1c7.1 4.4 16.4 2.7 21.4-4.1l31-42.1c3-4 7.6-6.4 12.6-6.4zm-86.1 77.1c-7.1-4.4-16.4-2.7-21.4 4.1L153 310.5c-5.8 7.9-9 17.5-9 27.4c0 25.5 20.6 46.1 46.1 46.1H256c8.8 0 16-7.2 16-16s-7.2-16-16-16H190.1c-7.8 0-14.1-6.3-14.1-14.1c0-3 1-5.9 2.8-8.4l27.6-37.4c5.5-7.5 3.5-18.1-4.4-23.1zM304 368c0 8.8 7.2 16 16 16h65.9c25.5 0 46.1-20.6 46.1-46.1c0-9.8-3.1-19.4-9-27.4l-27.6-37.4c-5-6.7-14.3-8.5-21.4-4.1c-7.9 4.9-9.9 15.6-4.4 23.1l27.6 37.4c1.8 2.4 2.7 5.4 2.7 8.4c0 7.8-6.3 14.1-14.1 14.1H320c-8.8 0-16 7.2-16 16z\"]\n};\nvar faPaperclip = {\n prefix: 'fal',\n iconName: 'paperclip',\n icon: [448, 512, [128206], \"f0c6\", \"M380.7 67.3c-29.1-29.1-76.3-29.1-105.4 0l-192 192c-46.8 46.8-46.8 122.6 0 169.4s122.6 46.8 169.4 0l152-152c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-152 152c-59.3 59.3-155.4 59.3-214.6 0S1.4 296 60.7 236.7l192-192c41.6-41.6 109-41.6 150.6 0s41.6 109 0 150.6L219.5 379.1c-28.2 28.2-74.6 25.6-99.6-5.5c-21.3-26.6-19.2-65 4.9-89.1L276.7 132.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L147.5 307.1c-12.6 12.6-13.7 32.6-2.6 46.5c13 16.2 37.2 17.6 51.9 2.9L380.7 172.7c29.1-29.1 29.1-76.3 0-105.4z\"]\n};\nvar faChartLineDown = {\n prefix: 'fal',\n iconName: 'chart-line-down',\n icon: [512, 512, [128201], \"f64d\", \"M32 48c0-8.8-7.2-16-16-16S0 39.2 0 48V400c0 44.2 35.8 80 80 80H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H80c-26.5 0-48-21.5-48-48V48zM320 336c0 8.8 7.2 16 16 16H464c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16s-16 7.2-16 16v89.4L331.3 180.7c-6.2-6.2-16.4-6.2-22.6 0L224 265.4 123.3 164.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l112 112c6.2 6.2 16.4 6.2 22.6 0L320 214.6 425.4 320H336c-8.8 0-16 7.2-16 16z\"]\n};\nvar faArrowRightToCity = {\n prefix: 'fal',\n iconName: 'arrow-right-to-city',\n icon: [640, 512, [], \"e4b3\", \"M320 48c0-8.8 7.2-16 16-16H464c8.8 0 16 7.2 16 16V208c0 8.8 7.2 16 16 16h64 32c8.8 0 16 7.2 16 16V496c0 8.8 7.2 16 16 16s16-7.2 16-16V240c0-26.5-21.5-48-48-48H576V112c0-8.8-7.2-16-16-16s-16 7.2-16 16v80H512V48c0-26.5-21.5-48-48-48H336c-26.5 0-48 21.5-48 48V496c0 8.8 7.2 16 16 16s16-7.2 16-16V48zm32 48v32c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H384c-17.7 0-32 14.3-32 32zm64 0v32H384V96h32zm96 160c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V288c0-17.7-14.3-32-32-32H512zm0 32h32v32H512V288zM480 416v32c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V416c0-17.7-14.3-32-32-32H512c-17.7 0-32 14.3-32 32zm64 0v32H512V416h32zM384 192c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32H384zm0 32h32v32H384V224zM352 352v32c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32H384c-17.7 0-32 14.3-32 32zm64 0v32H384V352h32zM155.3 148.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L201.4 240H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H201.4l-68.7 68.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l96-96c6.2-6.2 6.2-16.4 0-22.6l-96-96z\"]\n};\nvar faLockA = {\n prefix: 'fal',\n iconName: 'lock-a',\n icon: [448, 512, [], \"e422\", \"M224 32c53 0 96 43 96 96v64H128V128c0-53 43-96 96-96zM96 128v64H80c-44.2 0-80 35.8-80 80V432c0 44.2 35.8 80 80 80H368c44.2 0 80-35.8 80-80V272c0-44.2-35.8-80-80-80H352V128C352 57.3 294.7 0 224 0S96 57.3 96 128zM80 224H368c26.5 0 48 21.5 48 48V432c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48V272c0-26.5 21.5-48 48-48zm49.7 200.8c-4 7.9-.7 17.5 7.2 21.5s17.5 .7 21.5-7.2L177.9 400h92.2l19.6 39.2c4 7.9 13.6 11.1 21.5 7.2s11.1-13.6 7.2-21.5L238.4 265c-.8-1.6-1.8-3-3.1-4.3c-1.4-1.4-3.1-2.6-5-3.4c-2.1-.9-4.2-1.3-6.4-1.3s-4.3 .4-6.4 1.3c-1.8 .8-3.5 1.9-5 3.4c-1.3 1.3-2.3 2.7-3 4.3L129.7 424.8zM193.9 368L224 307.8 254.1 368H193.9z\"]\n};\nvar faRibbon = {\n prefix: 'fal',\n iconName: 'ribbon',\n icon: [448, 512, [127895], \"f4d6\", \"M228 0c-1.3 0-2.6 0-4 0V.1c-13.3 .2-29.2 .7-38.3 1.4s-17 1.7-23.5 2.6c-18.3 2.7-33.3 13.3-43.6 26.7L70.8 92.9c-14.8 19.2-22.8 42.7-22.8 67c0 27.9 10.6 54.8 29.7 75.1L332.3 506.9c5.4 5.8 14.3 6.7 20.9 2.2l80-56c3.8-2.6 6.2-6.8 6.7-11.3s-1-9.1-4.1-12.5L172.4 139.5c-2.8-3-4.3-7-4.3-11.1c0-9.1 7.4-16.5 16.5-16.5H224h16 23.5c9.1 0 16.5 7.4 16.5 16.5c0 4.1-1.5 8-4.3 11.1l-30 33 21.6 23.8 32.1-35.3c8.1-8.9 12.6-20.5 12.6-32.6c0-26.8-21.7-48.5-48.5-48.5H240 224 184.5c-26.8 0-48.5 21.7-48.5 48.5c0 12.1 4.5 23.7 12.6 32.6L399.9 437.3l-53.7 37.6L101.1 213.2c-13.5-14.4-21-33.5-21-53.2c0-17.2 5.7-33.9 16.1-47.5l47.7-62.1c6.3-8.2 14.4-13.3 23-14.6c5.8-.9 12.9-1.7 21.4-2.4c9-.7 26.1-1.3 39.7-1.4c12.1 .1 22.8 .6 31.9 1.4c8.5 .7 15.6 1.6 21.4 2.4c8.6 1.3 16.7 6.4 23 14.6l47.7 62.1c10.5 13.6 16.1 30.3 16.1 47.5c0 19.8-7.5 38.8-21 53.2L314.3 248l21.6 23.8L370.3 235c19.1-20.4 29.7-47.2 29.7-75.1c0-24.2-8-47.8-22.8-67L329.5 30.9c-10.3-13.4-25.3-24-43.6-26.7c-6.5-1-14.3-1.9-23.5-2.6C253.5 .8 243.4 .2 232 .1V0c-1.3 0-2.6 0-4 0zM112.5 319L12.2 429.2c-3.1 3.4-4.6 8-4.1 12.5s3 8.7 6.7 11.3l80 56c6.5 4.6 15.4 3.6 20.9-2.2l86.4-92.2-21.9-23.4-78.3 83.7L48.2 437.3l86.3-94.9L112.5 319z\"]\n};\nvar faLungs = {\n prefix: 'fal',\n iconName: 'lungs',\n icon: [640, 512, [129729], \"f604\", \"M320 0c8.8 0 16 7.2 16 16V180.1c0 21.9 11.2 42.2 29.6 54L384 245.8V165.3C384 127 415 96 453.3 96c21.7 0 42.8 10.2 55.8 28.8c15.4 22.1 44.3 65.4 71 116.9c26.5 50.9 52.4 112.5 59.6 170.3c.2 1.3 .2 2.6 .2 4v7c0 49.1-39.8 89-89 89c-7.3 0-14.5-.9-21.6-2.7l-72.7-18.2C414 480.5 384 442.1 384 398V321.6L416 342v56c0 29.4 20 55 48.5 62.1l72.7 18.2c4.5 1.1 9.2 1.7 13.8 1.7c31.5 0 57-25.5 57-57v-7c-6.5-52.2-30.3-109.7-56.3-159.5s-53.9-91.9-68.9-113.3c-6.7-9.6-17.7-15.1-29.5-15.1c-20.6 0-37.3 16.7-37.3 37.3V266.1l88.6 56.4c7.5 4.7 9.7 14.6 4.9 22.1s-14.6 9.7-22.1 4.9L416 304.1l-32-20.4-35.5-22.6c-11.5-7.3-21.1-16.9-28.5-27.9c-7.3 11-16.9 20.6-28.5 27.9L256 283.7l-32 20.4-71.4 45.4c-7.5 4.7-17.3 2.5-22.1-4.9s-2.5-17.3 4.9-22.1L224 266.1V165.3c0-20.6-16.7-37.3-37.3-37.3c-11.8 0-22.8 5.5-29.5 15.1c-14.9 21.4-43 63.5-68.9 113.3S38.5 363.8 32 416v7c0 31.5 25.5 57 57 57c4.7 0 9.3-.6 13.8-1.7l72.7-18.2C204 453 224 427.4 224 398V342l32-20.4V398c0 44.1-30 82.5-72.7 93.1l-72.7 18.2c-7.1 1.8-14.3 2.7-21.6 2.7c-49.1 0-89-39.8-89-89v-7c0-1.3 .1-2.7 .2-4c7.2-57.9 33.1-119.4 59.6-170.3c26.8-51.5 55.6-94.8 71-116.9c13-18.6 34-28.8 55.8-28.8C225 96 256 127 256 165.3v80.4l18.4-11.7c18.5-11.7 29.6-32.1 29.6-54V16c0-8.8 7.2-16 16-16z\"]\n};\nvar faPersonPinball = {\n prefix: 'fal',\n iconName: 'person-pinball',\n icon: [640, 512, [], \"e21d\", \"M104 56A24 24 0 1 0 56 56a24 24 0 1 0 48 0zM24 56a56 56 0 1 1 112 0A56 56 0 1 1 24 56zm8 168l0 55.7c.2 5.1 2.7 9.7 6.9 12.6L80 320.6V180.2c-6.2-2.7-13-4.2-20-4.2c-15.5 0-28 12.5-28 28v19.4c0 .2 0 .4 0 .6zm96 168.4l-96-66L32 496c0 8.8-7.2 16-16 16s-16-7.2-16-16L0 280.2c0-.3 0-.7 0-1V204c0-33.1 26.9-60 60-60c27.9 0 53.9 14.2 69 37.6L176.7 256h29.7l316.4-60.8L481.6 71.5c-1.1-3.3-1.6-6.7-1.6-10.1V32c0-17.7 14.3-32 32-32h96c17.7 0 32 14.3 32 32V192 400v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V416H224v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V400 288H176.7c-10.9 0-21-5.5-26.9-14.7L112 214.5V342.6L146.1 366c8.7 6 13.9 15.8 13.9 26.4V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V392.4zM608 178.8V32H512V61.4l42.6 127.7L608 178.8zM608 384V211.4L224 285.2V384H608zM288 304a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faArrowUp91 = {\n prefix: 'fal',\n iconName: 'arrow-up-9-1',\n icon: [576, 512, [\"sort-numeric-up-alt\"], \"f887\", \"M428 168a52 52 0 1 1 0-104 52 52 0 1 1 0 104zm-84-52c0 46.4 37.6 84 84 84c.4 0 .9 0 1.3 0l-25.4 29.6c-5.8 6.7-5 16.8 1.7 22.6s16.8 5 22.6-1.7l62.4-72.5C504.4 161.8 512 141.2 512 120h-.1c.1-1.3 .1-2.7 .1-4c0-46.4-37.6-84-84-84s-84 37.6-84 84zM171.3 36.7c-6.2-6.2-16.4-6.2-22.6 0l-96 96c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L144 86.6V464c0 8.8 7.2 16 16 16s16-7.2 16-16V86.6l68.7 68.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-96-96zM448 304c0-5.1-2.5-10-6.6-13s-9.5-3.8-14.4-2.2l-48 16c-8.4 2.8-12.9 11.9-10.1 20.2s11.9 12.9 20.2 10.1l26.9-9V448H384c-8.8 0-16 7.2-16 16s7.2 16 16 16h48 48c8.8 0 16-7.2 16-16s-7.2-16-16-16H448V304z\"]\n};\nvar faSortNumericUpAlt = faArrowUp91;\nvar faAppleCore = {\n prefix: 'fal',\n iconName: 'apple-core',\n icon: [384, 512, [], \"e08f\", \"M196.6 96C229.4 96 256 69.4 256 36.6V32h-4.6C218.6 32 192 58.6 192 91.4V96h4.6zm-18.3 32c-10.1 0-18.3-8.2-18.3-18.3V91.4C160 40.9 200.9 0 251.4 0h18.3C279.8 0 288 8.2 288 18.3V36.6c0 50.5-40.9 91.4-91.4 91.4H178.3zM128 480c13.2 0 32-2.7 45.3-5c12.3-2.2 25-2.2 37.3 0c13.3 2.3 32.1 5 45.3 5c19.7 0 41.8-8.8 62.6-27.3C280 415 256 362.3 256 304c0-55.6 21.8-106.1 57.3-143.4c-3-.4-6.1-.6-9.3-.6c-21 0-48.7 8.4-71.1 17.1c-26.2 10.2-55.6 10.2-81.9 0C128.7 168.4 101 160 80 160c-3.2 0-6.3 .2-9.3 .6C106.2 197.9 128 248.4 128 304c0 58.3-24 111-62.6 148.7C86.2 471.2 108.3 480 128 480zM29.9 462.4c-6.2-6.8-4.4-17.3 2.7-23.1C71.3 407 96 358.4 96 304c0-55.4-25.6-104.7-65.5-137c-8-6.5-9.3-18.7-.7-24.3C43.9 133.4 60.7 128 80 128c27.3 0 59.7 10.3 82.7 19.3c18.8 7.3 39.9 7.3 58.7 0c22.9-8.9 55.4-19.3 82.7-19.3c19.3 0 36.1 5.4 50.3 14.7c8.6 5.6 7.3 17.9-.7 24.3c-40 32.3-65.5 81.7-65.5 137c0 54.4 24.7 103 63.4 135.3c7 5.9 8.8 16.3 2.7 23.1C325.8 493.7 290.9 512 256 512c-16.2 0-37.4-3.2-50.8-5.5c-8.7-1.5-17.6-1.5-26.3 0c-13.5 2.4-34.6 5.5-50.8 5.5c-34.9 0-69.8-18.3-98.1-49.6z\"]\n};\nvar faCircleY = {\n prefix: 'fal',\n iconName: 'circle-y',\n icon: [512, 512, [], \"e12f\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM156 149.5c-5.8-6.7-15.9-7.3-22.6-1.5s-7.3 15.9-1.5 22.6L240 294v90c0 8.8 7.2 16 16 16s16-7.2 16-16V294L380 170.5c5.8-6.7 5.1-16.8-1.5-22.6s-16.8-5.1-22.6 1.5L256 263.7 156 149.5z\"]\n};\nvar faH6 = {\n prefix: 'fal',\n iconName: 'h6',\n icon: [640, 512, [], \"e413\", \"M32 80c0-8.8-7.2-16-16-16S0 71.2 0 80V256 432c0 8.8 7.2 16 16 16s16-7.2 16-16V272H288V432c0 8.8 7.2 16 16 16s16-7.2 16-16V256 80c0-8.8-7.2-16-16-16s-16 7.2-16 16V240H32V80zM505.4 67.1c-7.1-5.2-17.2-3.6-22.4 3.5L383.3 207.8C363 235.7 352 269.4 352 304c0 79.5 64.5 144 144 144s144-64.5 144-144s-64.5-144-144-144c-15 0-29.6 2.3-43.2 6.6l56.1-77.2c5.2-7.1 3.6-17.2-3.5-22.4zM496 192a112 112 0 1 1 0 224 112 112 0 1 1 0-224z\"]\n};\nvar faLitecoinSign = {\n prefix: 'fal',\n iconName: 'litecoin-sign',\n icon: [384, 512, [], \"e1d3\", \"M96 48c0-8.8-7.2-16-16-16s-16 7.2-16 16V227.5l-51.9 13C3.5 242.6-1.7 251.3 .5 259.9s10.8 13.8 19.4 11.6l44.1-11V440c0 22.1 17.9 40 40 40H368c8.8 0 16-7.2 16-16s-7.2-16-16-16H104c-4.4 0-8-3.6-8-8V252.5l179.9-45c8.6-2.1 13.8-10.8 11.6-19.4s-10.8-13.8-19.4-11.6L96 219.5V48z\"]\n};\nvar faBottleBaby = {\n prefix: 'fal',\n iconName: 'bottle-baby',\n icon: [512, 512, [], \"e673\", \"M256 0c26.5 0 48 21.5 48 48c18.5 9.2 30.5 27.6 31.9 48c.1 1.3 .1 2.5 .1 3.8l0 8.4c9.8 8.8 16 21.6 16 35.8l0 16 21.8 21.8c27 27 42.2 63.6 42.2 101.8L416 448c0 35.3-28.7 64-64 64l-192 0c-35.3 0-64-28.7-64-64l0-48 0-96 0-20.4c0-38.2 15.2-74.8 42.2-101.8L160 160l0-16c0-14.2 6.2-27 16-35.8l0-8.4c0-1.3 0-2.5 .1-3.8c1.3-20.4 13.4-38.8 31.9-48c0-26.5 21.5-48 48-48zM128 416l0 32c0 17.7 14.3 32 32 32l192 0c17.7 0 32-14.3 32-32l0-164.4c0-29.7-11.8-58.2-32.8-79.2L338.7 192 320 192l-128 0-18.7 0-12.5 12.5c-21 21-32.8 49.5-32.8 79.2l0 4.4 112 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-112 0 0 64 112 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-112 0zM303.7 96c-1.2-8.3-6.4-15.6-14-19.4C278.8 71.2 272 60.1 272 48c0-8.8-7.2-16-16-16s-16 7.2-16 16c0 12.1-6.8 23.2-17.7 28.6c-7.6 3.8-12.8 11.1-14 19.4l95.4 0zM208 128c-8.8 0-16 7.2-16 16l0 16 128 0 0-16c0-8.8-7.2-16-16-16l-96 0z\"]\n};\nvar faCircleSmall = {\n prefix: 'fal',\n iconName: 'circle-small',\n icon: [320, 512, [], \"e122\", \"M288 256A128 128 0 1 0 32 256a128 128 0 1 0 256 0zM0 256a160 160 0 1 1 320 0A160 160 0 1 1 0 256z\"]\n};\nvar faBorderNone = {\n prefix: 'fal',\n iconName: 'border-none',\n icon: [448, 512, [], \"f850\", \"M32 424a24 24 0 1 0 0 48 24 24 0 1 0 0-48zM128 88a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0 384a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-240a24 24 0 1 0 0 48 24 24 0 1 0 0-48zM320 472a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-432a24 24 0 1 0 0 48 24 24 0 1 0 0-48zm0 240a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM224 424a24 24 0 1 0 0 48 24 24 0 1 0 0-48zm0-336a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0 144a24 24 0 1 0 0 48 24 24 0 1 0 0-48zM416 472a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-384a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM32 40a24 24 0 1 0 0 48 24 24 0 1 0 0-48zM416 280a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM32 232a24 24 0 1 0 0 48 24 24 0 1 0 0-48zM224 376a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm192-48a24 24 0 1 0 0 48 24 24 0 1 0 0-48zM32 376a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM416 136a24 24 0 1 0 0 48 24 24 0 1 0 0-48zM32 184a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm192-48a24 24 0 1 0 0 48 24 24 0 1 0 0-48z\"]\n};\nvar faArrowTurnDownLeft = {\n prefix: 'fal',\n iconName: 'arrow-turn-down-left',\n icon: [512, 512, [], \"e2e1\", \"M480 48c0-8.8 7.2-16 16-16s16 7.2 16 16V224c0 44.2-35.8 80-80 80H54.6L155.3 404.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-128-128c-6.2-6.2-6.2-16.4 0-22.6l128-128c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L54.6 272H432c26.5 0 48-21.5 48-48V48z\"]\n};\nvar faCircleWifiCircleWifi = {\n prefix: 'fal',\n iconName: 'circle-wifi-circle-wifi',\n icon: [640, 512, [\"circle-wifi-group\"], \"e67e\", \"M256 32c102.1 0 188.3 68.3 215.2 161.7c8.1-1.1 16.4-1.7 24.8-1.7c2.7 0 5.3 .1 8 .2C475.6 81.7 375.4 0 256 0C114.6 0 0 114.6 0 256S114.6 512 256 512c39.5 0 77-9 110.4-25c-7.4-8-14-16.8-19.8-26.1c-27.7 12.2-58.3 19-90.5 19C132.3 480 32 379.7 32 256S132.3 32 256 32zM411.2 203.6C370.1 166.5 315.7 144 256 144s-114.1 22.6-155.2 59.6c-6.6 5.9-7.1 16-1.2 22.6s16 7.1 22.6 1.2C157.6 195.4 204.5 176 256 176s98.4 19.4 133.8 51.4l.2 .1c8.1-6.1 16.8-11.6 26-16.3c-.8-2.8-2.4-5.5-4.7-7.6zM341.8 273c-22.7-20.5-52.8-33-85.8-33s-63.1 12.5-85.8 33c-6.6 5.9-7.1 16-1.1 22.6s16 7.1 22.6 1.1c17-15.4 39.6-24.8 64.4-24.8s47.3 9.4 64.4 24.8c3.7 3.3 8.4 4.6 12.9 4c3.4-8.2 7.3-16 11.9-23.5c-.8-1.5-1.9-3-3.3-4.2zM256 392a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM496 256a112 112 0 1 1 0 224 112 112 0 1 1 0-224zm0 256a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-184c23.6 0 45 8.9 61.3 23.5c6.6 5.9 16.7 5.4 22.6-1.2s5.4-16.7-1.2-22.6C556.8 308 527.8 296 496 296s-60.8 12-82.7 31.7c-6.6 5.9-7.1 16-1.2 22.6s16 7.1 22.6 1.2C451 336.9 472.4 328 496 328zm20 104a20 20 0 1 0 -40 0 20 20 0 1 0 40 0zm-46.7-37.7c7.1-6.4 16.4-10.3 26.7-10.3s19.6 3.9 26.7 10.3c6.6 5.9 16.7 5.4 22.6-1.1s5.4-16.7-1.1-22.6C531.4 359 514.5 352 496 352s-35.4 7-48.1 18.5c-6.6 5.9-7.1 16-1.1 22.6s16 7.1 22.6 1.1z\"]\n};\nvar faCircleWifiGroup = faCircleWifiCircleWifi;\nvar faCircleNodes = {\n prefix: 'fal',\n iconName: 'circle-nodes',\n icon: [512, 512, [], \"e4e2\", \"M376.2 121.7l0 0c7 4 15.2 6.3 23.8 6.3c2.6 0 5.2-.2 7.6-.6l0 0C430.5 123.7 448 103.9 448 80c0-26.5-21.5-48-48-48s-48 21.5-48 48c0 .7 0 1.3 0 2l0 0c.5 11.4 4.9 21.7 11.9 29.7l0 0c3.5 4 7.6 7.4 12.2 10zm-5.9 32.6c-15.2-6.1-28.2-16.8-37.1-30.3L158.7 193.7c.8 4.6 1.3 9.4 1.3 14.3c0 14.4-3.8 27.9-10.5 39.6l138 120.8c13-9.9 29.2-16 46.7-16.3l36-197.7zm-4.5 203.4C395.2 369.5 416 398.3 416 432c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-14.4 3.8-27.9 10.5-39.6l-138-120.8C115 281.9 98.2 288 80 288c-44.2 0-80-35.8-80-80s35.8-80 80-80c27.9 0 52.5 14.3 66.8 36L321.3 94.3c-.8-4.6-1.3-9.4-1.3-14.3c0-44.2 35.8-80 80-80s80 35.8 80 80c0 43.6-34.9 79.1-78.3 80l-36 197.7zm-246-122.9c.7-1 1.3-2 1.9-3.1c4-7 6.3-15.1 6.3-23.8c0-26.5-21.5-48-48-48s-48 21.5-48 48s21.5 48 48 48c8.5 0 16.6-2.2 23.5-6.2l0 0c6.5-3.7 12.1-8.8 16.3-15zM291.4 414.2c-2.2 5.5-3.4 11.5-3.4 17.8c0 26.5 21.5 48 48 48s48-21.5 48-48s-21.5-48-48-48c-14 0-26.6 6-35.3 15.5c-2.7 2.9-5 6.1-6.9 9.6c-.9 1.6-1.7 3.4-2.4 5.1l0 0z\"]\n};\nvar faParachuteBox = {\n prefix: 'fal',\n iconName: 'parachute-box',\n icon: [512, 512, [], \"f4cd\", \"M256.1 0H256C86.6 0 8.7 114.4 .7 208c-.8 8.8 6.5 16 15.3 16H49.1L165 346.7c-3.2 6.4-5 13.7-5 21.3v96c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V368c0-7.7-1.8-14.9-5-21.3L462.9 224H496c8.8 0 16.1-7.2 15.3-16c-8-93.6-85.8-208-255.2-208zM418.9 224L324.1 324.4c-6.1-2.8-12.9-4.4-20.1-4.4H272V224h95.5 32 19.3zM240 224v96H208c-7.2 0-14 1.6-20.1 4.4L93.1 224h19.3 32H240zm0 128h32 32c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16H208c-8.8 0-16-7.2-16-16V368c0-8.8 7.2-16 16-16h32zM35.2 192C46.4 135.7 86.8 73.5 165.5 46.2c-29.9 35-50 87-53.1 145.8H35.2zM180.5 79.1C202.5 47.4 229.7 32 256 32s53.5 15.4 75.5 47.1c19.6 28.3 33.4 67.8 36 112.9H144.5c2.7-45.1 16.4-84.5 36-112.9zM476.8 192H399.6c-3.1-58.8-23.1-110.8-53.1-145.8C425.2 73.5 465.6 135.7 476.8 192z\"]\n};\nvar faReflectHorizontal = {\n prefix: 'fal',\n iconName: 'reflect-horizontal',\n icon: [512, 512, [], \"e664\", \"M256 0c8.8 0 16 7.2 16 16l0 480c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-480c0-8.8 7.2-16 16-16zM32 384L160 256 32 128l0 256zM0 128c0-12.9 7.8-24.6 19.8-29.6s25.7-2.2 34.9 6.9l128 128c12.5 12.5 12.5 32.8 0 45.3l-128 128c-9.2 9.2-22.9 11.9-34.9 6.9S0 396.9 0 384L0 128zm480 0L352 256 480 384l0-256zm12.2-29.6c12 5 19.8 16.6 19.8 29.6l0 256c0 12.9-7.8 24.6-19.8 29.6s-25.7 2.2-34.9-6.9l-128-128c-12.5-12.5-12.5-32.8 0-45.3l128-128c9.2-9.2 22.9-11.9 34.9-6.9z\"]\n};\nvar faMessageMedical = {\n prefix: 'fal',\n iconName: 'message-medical',\n icon: [512, 512, [\"comment-alt-medical\"], \"f7f4\", \"M192 416c0-17.7-14.3-32-32-32H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H448c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H309.3c-6.9 0-13.7 2.2-19.2 6.4L192 464V416zM64 0C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h64 32v32 48c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L309.3 416H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM240 96c-17.7 0-32 14.3-32 32v32H176c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32h32v32c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V256h32c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32H304V128c0-17.7-14.3-32-32-32H240zm0 32h32v48c0 8.8 7.2 16 16 16h48v32H288c-8.8 0-16 7.2-16 16v48H240V240c0-8.8-7.2-16-16-16H176V192h48c4.2 0 8.3-1.7 11.3-4.7s4.7-7.1 4.7-11.3V128z\"]\n};\nvar faCommentAltMedical = faMessageMedical;\nvar faRugbyBall = {\n prefix: 'fal',\n iconName: 'rugby-ball',\n icon: [512, 512, [], \"e3c6\", \"M336 16h32c70.7 0 128 57.3 128 128v32c0 176.7-143.3 320-320 320H144C73.3 496 16 438.7 16 368V336C16 159.3 159.3 16 336 16zm27.9 32H336c-77.3 0-147.5 30.4-199.2 80c-3 2.9-5.9 5.8-8.8 8.8C78.4 188.5 48 258.7 48 336v31.9c3.5-10.8 8-22.1 13.5-33.6c23.1-48.3 64-104.5 117.2-157.6S288 82.6 336.3 59.5C345.7 55 355 51.2 363.9 48zM143.1 464c.3 0 .6 0 .9 0h32c77.3 0 147.5-30.4 199.2-80c3-2.9 5.9-5.8 8.8-8.8c49.6-51.7 80-121.9 80-199.2V147.2c-3.2 9.2-7.1 18.6-11.7 28.2c-23.1 48.3-64 104.5-117.2 157.6S225.8 427.2 177.5 450.2c-11.8 5.6-23.3 10.3-34.3 13.8zM79.2 432.5c4.6 4.6 13.1 7.9 28.2 6.6c15-1.3 34.1-7.1 56.3-17.7c44.3-21.1 97.5-59.7 148.8-110.9s89.8-104.5 110.9-148.8c10.6-22.2 16.4-41.3 17.7-56.3c1.3-15.1-2-23.6-6.6-28.2s-13.1-7.9-28.2-6.6c-15 1.3-34.1 7.1-56.3 17.7c-44.3 21.1-97.5 59.7-148.8 110.9s-89.8 104.5-110.9 148.8C79.8 370.3 74 389.4 72.7 404.4c-1.3 15.1 2 23.6 6.6 28.2z\"]\n};\nvar faCommentMusic = {\n prefix: 'fal',\n iconName: 'comment-music',\n icon: [512, 512, [], \"f8b0\", \"M32 240c0-91.4 93.8-176 224-176s224 84.6 224 176s-93.8 176-224 176c-32 0-63-5.9-93.5-16.2c-9.9-3.3-20.7-1.8-29.2 4.2c-15.4 10.7-31.4 20-48.4 27.4L91.2 446l-6.4-14.7c-10.5 4.6-21.5 8.6-32.7 11.5c.5-.9 1.1-1.8 1.6-2.6C68 416.5 76.3 391 79.4 363.9c1-9.2-2.1-17.7-7.4-23.9c-24.5-29.4-40-62.9-40-100zM256 32C114.5 32 0 125.2 0 240c0 46.6 19.6 87.1 47.4 120.5c0 .1 .1 .1 .1 .2c-2.6 22.6-9.5 43.5-21.3 63.1c-6.5 10.8-13.5 20.8-21.7 29c-4.5 4.6-5.9 11.5-3.4 17.4s8.3 9.8 14.8 9.8c28.7 0 57.6-8.9 81.6-19.3c19.2-8.4 37.1-18.7 53.9-30.5c.2-.1 .5-.2 .7-.1C185.5 441.3 220 448 256 448c141.5 0 256-93.2 256-208S397.5 32 256 32zm89.1 82.8c-4.3-3-9.8-3.7-14.7-1.8l-128 48c-6.2 2.3-10.4 8.3-10.4 15v90.5c-5-1.6-10.4-2.5-16-2.5c-26.5 0-48 19.7-48 44s21.5 44 48 44s48-19.7 48-44c0-.8 0-1.6-.1-2.5c0-.5 .1-1 .1-1.5V187.1l96-36v83.4c-5-1.6-10.4-2.5-16-2.5c-26.5 0-48 19.7-48 44s21.5 44 48 44s48-19.7 48-44c0-.8 0-1.6-.1-2.5c0-.5 .1-1 .1-1.5V128c0-5.2-2.6-10.2-6.9-13.2zM320 276c0 4.1-4.5 12-16 12s-16-7.9-16-12s4.5-12 16-12s16 7.9 16 12zM192 308c0 4.1-4.5 12-16 12s-16-7.9-16-12s4.5-12 16-12s16 7.9 16 12z\"]\n};\nvar faIndent = {\n prefix: 'fal',\n iconName: 'indent',\n icon: [448, 512, [], \"f03c\", \"M0 64c0-8.8 7.2-16 16-16H432c8.8 0 16 7.2 16 16s-7.2 16-16 16H16C7.2 80 0 72.8 0 64zM192 192c0-8.8 7.2-16 16-16H432c8.8 0 16 7.2 16 16s-7.2 16-16 16H208c-8.8 0-16-7.2-16-16zm16 112H432c8.8 0 16 7.2 16 16s-7.2 16-16 16H208c-8.8 0-16-7.2-16-16s7.2-16 16-16zM0 448c0-8.8 7.2-16 16-16H432c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16-7.2-16-16zM32 211.8v88.4L85.7 256 32 211.8zm89 31.8c7.8 6.4 7.8 18.3 0 24.7L26.2 346.4C15.7 355 0 347.6 0 334.1V177.9c0-13.5 15.7-20.9 26.2-12.4L121 243.6z\"]\n};\nvar faTreeDeciduous = {\n prefix: 'fal',\n iconName: 'tree-deciduous',\n icon: [512, 512, [127795, \"tree-alt\"], \"f400\", \"M177.7 95.6c-.9 4.5-3.8 8.4-7.8 10.6s-8.8 2.7-13.1 1.2c-6.5-2.2-13.5-3.5-20.8-3.5c-35.3 0-64 28.7-64 64c0 13.2 4 25.4 10.8 35.6c2.8 4.1 3.5 9.3 1.9 14s-5.2 8.4-9.9 10C49.9 236.3 32 260.1 32 288c0 35.3 28.7 64 64 64H240V320 256 144c0-8.8 7.2-16 16-16s16 7.2 16 16V256v64 32H416c35.3 0 64-28.7 64-64c0-27.9-17.9-51.7-42.8-60.4c-4.7-1.6-8.3-5.3-9.9-10s-.9-9.9 1.9-14C436 193.4 440 181.2 440 168c0-35.3-28.7-64-64-64c-7.3 0-14.3 1.2-20.8 3.5c-4.3 1.5-9.1 1-13.1-1.2s-6.8-6.1-7.8-10.6C326.8 59.3 294.5 32 256 32s-70.8 27.3-78.3 63.6zM240 384H96c-53 0-96-43-96-96c0-35.3 19.1-66.2 47.5-82.8c-4.8-11.4-7.5-24-7.5-37.2c0-53 43-96 96-96c5.1 0 10.1 .4 14.9 1.2C166.7 30.4 207.8 0 256 0s89.3 30.4 105.1 73.2c4.9-.8 9.9-1.2 14.9-1.2c53 0 96 43 96 96c0 13.2-2.7 25.7-7.5 37.2C492.9 221.8 512 252.7 512 288c0 53-43 96-96 96H272V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V384z\"]\n};\nvar faTreeAlt = faTreeDeciduous;\nvar faPuzzlePieceSimple = {\n prefix: 'fal',\n iconName: 'puzzle-piece-simple',\n icon: [640, 512, [\"puzzle-piece-alt\"], \"e231\", \"M176 96c-8.8 0-16 7.2-16 16v88.8c0 21.6-17.5 39.2-39.2 39.2c-16.2 0-28.4-9.9-35.6-19.6C78.8 211.8 71.1 208 64 208c-7.1 0-14.7 3.8-21.1 12.3S32 241.5 32 256s4.4 27.1 10.9 35.7S56.9 304 64 304c7.1 0 14.8-3.8 21.2-12.4c7.2-9.7 19.4-19.6 35.6-19.6c21.6 0 39.2 17.5 39.2 39.2V400c0 8.8 7.2 16 16 16h93.7C252 403.1 240 383.1 240 360c0-41.7 37.9-72 80-72s80 30.3 80 72c0 23.1-12 43.1-29.7 56H464c8.8 0 16-7.2 16-16V311.2c0-21.6 17.5-39.2 39.2-39.2c16.2 0 28.4 9.9 35.6 19.6c6.4 8.6 14.1 12.4 21.2 12.4c7.1 0 14.7-3.8 21.1-12.3s10.9-21.1 10.9-35.7s-4.4-27.1-10.9-35.7s-14.1-12.3-21.1-12.3c-7.1 0-14.8 3.8-21.2 12.4c-7.2 9.7-19.4 19.6-35.6 19.6c-21.7 0-39.2-17.5-39.2-39.2V112c0-8.8-7.2-16-16-16H370.3C388 108.8 400 128.9 400 152c0 41.7-37.9 72-80 72s-80-30.3-80-72c0-23.1 12-43.2 29.7-56H176zm-48 16c0-26.5 21.5-48 48-48h97.5C290.3 64 304 77.7 304 94.5c0 11.9-6.8 21.3-14.6 26.7c-11.2 7.7-17.4 19-17.4 30.8c0 20.2 19.4 40 48 40s48-19.8 48-40c0-11.8-6.3-23.1-17.4-30.8c-7.8-5.4-14.6-14.8-14.6-26.7C336 77.7 349.7 64 366.6 64H464c26.5 0 48 21.5 48 48v88.8c0 4 3.2 7.2 7.2 7.2c2.3 0 6.1-1.6 10-6.7c11-14.7 27.4-25.3 46.8-25.3c19.4 0 35.8 10.5 46.7 25.1s17.3 34.1 17.3 54.9s-6.3 40.2-17.3 54.9s-27.3 25.1-46.7 25.1c-19.5 0-35.9-10.6-46.8-25.3c-3.8-5.2-7.7-6.7-10-6.7c-4 0-7.2 3.2-7.2 7.2V400c0 26.5-21.5 48-48 48H366.6c-16.9 0-30.6-13.7-30.6-30.6c0-11.9 6.8-21.3 14.6-26.7c11.2-7.7 17.4-19 17.4-30.8c0-20.2-19.4-40-48-40s-48 19.8-48 40c0 11.8 6.3 23.1 17.4 30.8c7.8 5.4 14.6 14.8 14.6 26.7c0 16.9-13.7 30.6-30.5 30.6H176c-26.5 0-48-21.5-48-48V311.2c0-4-3.2-7.2-7.2-7.2c-2.3 0-6.1 1.6-10 6.7C99.9 325.4 83.5 336 64 336c-19.4 0-35.8-10.5-46.7-25.1S0 276.8 0 256s6.3-40.2 17.3-54.9S44.6 176 64 176c19.5 0 35.9 10.6 46.8 25.3c3.8 5.2 7.7 6.7 10 6.7c4 0 7.2-3.2 7.2-7.2V112z\"]\n};\nvar faPuzzlePieceAlt = faPuzzlePieceSimple;\nvar faTruckFieldUn = {\n prefix: 'fal',\n iconName: 'truck-field-un',\n icon: [640, 512, [], \"e58e\", \"M96 64C78.3 64 64 78.3 64 96v32V288v64h5.5c13.2-37.3 48.7-64 90.5-64s77.4 26.7 90.5 64H352V224 192 96c0-17.7-14.3-32-32-32H96zM0 160c0-17.7 14.3-32 32-32V96c0-35.3 28.7-64 64-64H320c32.6 0 59.6 24.4 63.5 56h53.4c17.7 0 33.9 9.7 42.3 25.2L521.6 192H544c35.3 0 64 28.7 64 64v96h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H608 576c0 53-43 96-96 96s-96-43-96-96H352 256c0 53-43 96-96 96s-96-43-96-96H32 16c-8.8 0-16-7.2-16-16s7.2-16 16-16H32V288c-17.7 0-32-14.3-32-32V160zm384-40v72H485.2L451 128.4c-2.8-5.2-8.2-8.4-14.1-8.4H384zm0 232h5.5c13.2-37.3 48.7-64 90.5-64s77.4 26.7 90.5 64H576V256c0-17.7-14.3-32-32-32H512.3c-.2 0-.4 0-.6 0H384V352zM253.3 135.1l34.7 52V144c0-8.8 7.2-16 16-16s16 7.2 16 16v96c0 7.1-4.6 13.3-11.4 15.3s-14-.6-17.9-6.4l-34.7-52V240c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-7.1 4.6-13.3 11.4-15.3s14 .6 17.9 6.4zM128 144v64c0 8.8 7.2 16 16 16s16-7.2 16-16V144c0-8.8 7.2-16 16-16s16 7.2 16 16v64c0 26.5-21.5 48-48 48s-48-21.5-48-48V144c0-8.8 7.2-16 16-16s16 7.2 16 16zm96 240A64 64 0 1 0 96 384a64 64 0 1 0 128 0zm256 64a64 64 0 1 0 0-128 64 64 0 1 0 0 128z\"]\n};\nvar faNfcTrash = {\n prefix: 'fal',\n iconName: 'nfc-trash',\n icon: [640, 512, [], \"e1fd\", \"M64 64H384c17.7 0 32 14.3 32 32V200.2l2.5-7.4c4.8-14.3 15.9-25.2 29.5-30.1V96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H381.6l-2.3-32H64c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32zM384 208V128c0-17.7-14.3-32-32-32H240c-17.7 0-32 14.3-32 32v82.7c-18.6 6.6-32 24.4-32 45.3c0 26.5 21.5 48 48 48s48-21.5 48-48c0-20.9-13.4-38.7-32-45.3V128H352v80h32zM352 384H96V128l48 0c8.8 0 16-7.2 16-16s-7.2-16-16-16H96c-17.7 0-32 14.3-32 32V384c0 17.7 14.3 32 32 32H352c9.7 0 18.4-4.3 24.3-11.1L369.1 304H352v80zM240 256a16 16 0 1 1 -32 0 16 16 0 1 1 32 0zm208.8-53.1L436.5 240H400c-8.8 0-16 7.2-16 16s7.2 16 16 16h48H576h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H587.5l-12.4-37.1C573 196.4 566.9 192 560 192H464c-6.9 0-13 4.4-15.2 10.9zM470.2 240l5.3-16h72.9l5.3 16H470.2zm-69 64.1l12.7 178.2C415.1 499 429 512 445.8 512H578.2c16.8 0 30.7-13 31.9-29.7l12.7-178.2H590.8L578.2 480H445.8L433.2 304.1H401.1z\"]\n};\nvar faHourglass = {\n prefix: 'fal',\n iconName: 'hourglass',\n icon: [384, 512, [9203, 62032, \"hourglass-empty\"], \"f254\", \"M16 0C7.2 0 0 7.2 0 16s7.2 16 16 16H32V73.6c0 49.4 22.8 96 61.8 126.3L165.9 256 93.8 312.1C54.8 342.4 32 389.1 32 438.4V480H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H48 336h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H352V438.4c0-49.4-22.8-96-61.8-126.3L218.1 256l72.2-56.1c39-30.3 61.8-76.9 61.8-126.3V32h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H336 48 16zM320 32V73.6c0 39.5-18.2 76.8-49.4 101L192 235.7l-78.6-61.1C82.2 150.4 64 113.1 64 73.6V32H320zM192 276.3l78.6 61.1c31.2 24.2 49.4 61.5 49.4 101V480H64V438.4c0-39.5 18.2-76.8 49.4-101L192 276.3z\"]\n};\nvar faHourglassEmpty = faHourglass;\nvar faMountain = {\n prefix: 'fal',\n iconName: 'mountain',\n icon: [512, 512, [127956], \"f6fc\", \"M480 424.1c0 13.2-10.7 23.9-23.9 23.9H55.9C42.7 448 32 437.3 32 424.1c0-4.5 1.3-8.9 3.7-12.7L140.2 244.8 195.5 314c3.1 3.9 7.8 6.1 12.7 6s9.6-2.4 12.6-6.4L264 256H378.9l97.5 155.4c2.4 3.8 3.7 8.2 3.7 12.7zM358.8 224H256c-5 0-9.8 2.4-12.8 6.4l-35.6 47.5-49.4-61.8L252.4 66c.8-1.3 2.2-2 3.6-2s2.9 .8 3.6 2l99.1 158zM55.9 480H456.1c30.9 0 55.9-25 55.9-55.9c0-10.5-3-20.8-8.6-29.7L286.8 49c-6.6-10.6-18.3-17-30.8-17s-24.1 6.4-30.8 17L8.6 394.4C3 403.3 0 413.6 0 424.1C0 455 25 480 55.9 480z\"]\n};\nvar faFileXmark = {\n prefix: 'fal',\n iconName: 'file-xmark',\n icon: [384, 512, [\"file-times\"], \"f317\", \"M320 480H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H192V144c0 26.5 21.5 48 48 48H352V448c0 17.7-14.3 32-32 32zM240 160c-8.8 0-16-7.2-16-16V32.5c2.8 .7 5.4 2.1 7.4 4.2L347.3 152.6c2.1 2.1 3.5 4.6 4.2 7.4H240zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V163.9c0-12.7-5.1-24.9-14.1-33.9L254.1 14.1c-9-9-21.2-14.1-33.9-14.1H64zm52.7 260.7c-6.2 6.2-6.2 16.4 0 22.6L169.4 336l-52.7 52.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L192 358.6l52.7 52.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L214.6 336l52.7-52.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L192 313.4l-52.7-52.7c-6.2-6.2-16.4-6.2-22.6 0z\"]\n};\nvar faFileTimes = faFileXmark;\nvar faHouseHeart = {\n prefix: 'fal',\n iconName: 'house-heart',\n icon: [576, 512, [\"home-heart\"], \"f4c9\", \"M298.6 4c-6-5.3-15.1-5.3-21.2 0L5.4 244c-6.6 5.8-7.3 16-1.4 22.6s16 7.3 22.6 1.4L64 235V432c0 44.2 35.8 80 80 80H432c44.2 0 80-35.8 80-80V235l37.4 33c6.6 5.8 16.7 5.2 22.6-1.4s5.2-16.7-1.4-22.6L298.6 4zM96 432V206.7L288 37.3 480 206.7V432c0 26.5-21.5 48-48 48H144c-26.5 0-48-21.5-48-48zM208 285.3c0-16.2 13.1-29.3 29.3-29.3c7.8 0 15.2 3.1 20.7 8.6l18.7 18.7c6.2 6.2 16.4 6.2 22.6 0l18.7-18.7c5.5-5.5 12.9-8.6 20.7-8.6c16.2 0 29.3 13.1 29.3 29.3c0 7.8-3.1 15.2-8.6 20.7L288 377.4l-71.4-71.4c-5.5-5.5-8.6-12.9-8.6-20.7zM237.3 224c-33.8 0-61.3 27.4-61.3 61.3c0 16.2 6.5 31.8 17.9 43.3l82.7 82.7c6.2 6.2 16.4 6.2 22.6 0l82.7-82.7c11.5-11.5 17.9-27.1 17.9-43.3c0-33.8-27.4-61.3-61.3-61.3c-16.2 0-31.8 6.5-43.3 17.9l-7.4 7.4-7.4-7.4c-11.5-11.5-27.1-17.9-43.3-17.9z\"]\n};\nvar faHomeHeart = faHouseHeart;\nvar faHouseChimneyBlank = {\n prefix: 'fal',\n iconName: 'house-chimney-blank',\n icon: [576, 512, [], \"e3b0\", \"M298.6 4c-6-5.3-15.1-5.3-21.2 0L5.4 244c-6.6 5.8-7.3 16-1.4 22.6s16 7.3 22.6 1.4L64 235V432c0 44.2 35.8 80 80 80H432c44.2 0 80-35.8 80-80V235l37.4 33c6.6 5.8 16.7 5.2 22.6-1.4s5.2-16.7-1.4-22.6L512 192.3V56c0-13.3-10.7-24-24-24H408c-13.3 0-24 10.7-24 24V79.4L298.6 4zM416 107.6V64h64V164.1l-64-56.5zM96 432V206.7L288 37.3 480 206.7V432c0 26.5-21.5 48-48 48H144c-26.5 0-48-21.5-48-48z\"]\n};\nvar faMeterBolt = {\n prefix: 'fal',\n iconName: 'meter-bolt',\n icon: [640, 512, [], \"e1e9\", \"M480 256c0 5.7-.2 11.4-.6 17l32.3-30.6C504.6 107.4 392.8 0 256 0C114.6 0 0 114.6 0 256S114.6 512 256 512c69.2 0 132-27.5 178.1-72.1c-12.4-.8-23.7-5.8-32.4-13.7C362.5 459.7 311.6 480 256 480C132.3 480 32 379.7 32 256S132.3 32 256 32s224 100.3 224 224zM176 144c0-8.8-7.2-16-16-16s-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V144zm96 0c0-8.8-7.2-16-16-16s-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V144zm96 0c0-8.8-7.2-16-16-16s-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V144zm95.7 232l85.1-80.6-19.4 41.9c-2.3 5-1.9 10.7 1 15.3s8 7.4 13.5 7.4h48.3l-85.1 80.6 19.4-41.9c2.3-5 1.9-10.7-1-15.3s-8-7.4-13.5-7.4H463.7zM585.6 224c-5.1 0-10.1 2-13.8 5.5L422.7 370.7c-4.3 4.1-6.7 9.7-6.7 15.7c0 11.9 9.7 21.6 21.6 21.6H487l-34.8 75.5c-6.1 13.3 3.6 28.5 18.2 28.5c5.1 0 10.1-2 13.8-5.5L633.3 365.3c4.3-4.1 6.7-9.7 6.7-15.7c0-11.9-9.7-21.6-21.6-21.6H569l34.8-75.5c6.1-13.3-3.6-28.5-18.2-28.5z\"]\n};\nvar faUserDoctor = {\n prefix: 'fal',\n iconName: 'user-doctor',\n icon: [448, 512, [\"user-md\"], \"f0f0\", \"M224 32a96 96 0 1 1 0 192 96 96 0 1 1 0-192zM96 128a128 128 0 1 0 256 0A128 128 0 1 0 96 128zm48 288a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm32-45.3V336l1.2 0h93.6c5.8 0 11.5 .3 17.2 1v33.3c-23.1 6.9-40 28.3-40 53.7v24c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16s-7.2-16-16-16v-8c0-13.3 10.7-24 24-24s24 10.7 24 24v8c-8.8 0-16 7.2-16 16s7.2 16 16 16h16c8.8 0 16-7.2 16-16V424c0-25.4-16.9-46.8-40-53.7V344.5c55.6 20 95.5 73 96 135.5H32c.5-68.2 48.2-125.3 112-140.2v30.9c-18.6 6.6-32 24.4-32 45.3c0 26.5 21.5 48 48 48s48-21.5 48-48c0-20.9-13.4-38.7-32-45.3zm1.2-66.7C79.3 304 0 383.3 0 481.2c0 17 13.8 30.8 30.8 30.8H417.2c17 0 30.8-13.8 30.8-30.8C448 383.3 368.7 304 270.8 304H177.2z\"]\n};\nvar faUserMd = faUserDoctor;\nvar faSlashBack = {\n prefix: 'fal',\n iconName: 'slash-back',\n icon: [320, 512, [], \"5c\", \"M7.8 2.3c-7.6 4.5-10 14.4-5.5 22l288 480c4.5 7.6 14.4 10 22 5.5s10-14.4 5.5-22L29.7 7.8c-4.5-7.6-14.4-10-22-5.5z\"]\n};\nvar faCircleInfo = {\n prefix: 'fal',\n iconName: 'circle-info',\n icon: [512, 512, [\"info-circle\"], \"f05a\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM208 352c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H272V240c0-8.8-7.2-16-16-16H216c-8.8 0-16 7.2-16 16s7.2 16 16 16h24v96H208zm48-168a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faInfoCircle = faCircleInfo;\nvar faFishingRod = {\n prefix: 'fal',\n iconName: 'fishing-rod',\n icon: [448, 512, [], \"e3a8\", \"M280.4 32c-4 0-7.9 .6-11.7 1.8L204.2 53.6C130.4 76.3 80 144.5 80 221.8V288h8c22.1 0 40 17.9 40 40V472c0 22.1-17.9 40-40 40H40c-22.1 0-40-17.9-40-40V328c0-22.1 17.9-40 40-40h8V221.8C48 130.5 107.6 49.9 194.8 23L259.3 3.2C266.1 1.1 273.2 0 280.4 0C319.9 0 352 32.1 352 71.6V136c0 8.8-7.2 16-16 16s-16-7.2-16-16V71.6C320 49.7 302.3 32 280.4 32zm48.5 145.7c4.5-2.3 9.8-2.3 14.3 0c17.9 8.9 43.7 27.1 65.2 53.4C430 257.5 448 292.9 448 336c0 33.5-15.1 80.9-58.2 115.8l23.5 35.3c3.3 4.9 3.6 11.2 .8 16.4s-8.2 8.5-14.1 8.5H272c-5.9 0-11.3-3.2-14.1-8.5s-2.5-11.5 .8-16.4l23.5-35.3C239.1 416.9 224 369.5 224 336c0-43.1 18-78.5 39.6-104.9c21.5-26.3 47.4-44.4 65.2-53.4zM256 336c0 27.3 13.9 70 56.9 98.7c7.4 4.9 9.3 14.8 4.4 22.2L301.9 480h68.2l-15.4-23.1c-4.9-7.4-2.9-17.3 4.4-22.2C402.1 406 416 363.3 416 336c0-33.7-14-62.3-32.4-84.7c-15.6-19-33.8-33-47.6-41.1c-13.8 8.1-32 22.1-47.6 41.1C270 273.7 256 302.3 256 336zM88 320H40c-4.4 0-8 3.6-8 8V472c0 4.4 3.6 8 8 8H88c4.4 0 8-3.6 8-8V328c0-4.4-3.6-8-8-8zm272-32a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faHammerCrash = {\n prefix: 'fal',\n iconName: 'hammer-crash',\n icon: [640, 512, [], \"e414\", \"M283.7 379.4l11.9-48.2c10.4 4.3 21.3 5.6 31.9 4.4l-4.4 17.7 71.3-35.9c6.9-3.5 15.2-1.6 19.9 4.5L463 385.2 479.3 307c1.6-7.5 8.3-12.9 15.9-12.7l79.8 1.4-50.9-61.5c-4.9-5.9-4.9-14.5 0-20.4l50.9-61.5-79.8 1.4c-7.7 .1-14.4-5.2-15.9-12.7L463 62.8l-30.4 39.5c-5.4-6.3-12.1-11.6-20-15.6l-6.1-3 52.3-68c3.8-5 10.2-7.2 16.2-5.8s10.8 6.2 12.1 12.3l20.8 99.3 101.4-1.8c6.2-.1 12 3.4 14.7 9.1s1.9 12.3-2.1 17.1L557.3 224 622 302.1c4 4.8 4.8 11.5 2.1 17.1s-8.5 9.2-14.7 9.1l-101.4-1.8-20.8 99.3c-1.3 6.1-6 10.9-12.1 12.3s-12.4-.9-16.2-5.8L397 351.8l-90.6 45.7c-5.6 2.8-12.3 2.1-17.2-1.8s-7.1-10.3-5.6-16.4zM72 48L32 128 320 272l64-128L192 48 72 48zM43.4 33.7C48.8 22.8 59.9 16 72 16H192c5 0 9.9 1.2 14.3 3.4l192 96c15.8 7.9 22.2 27.1 14.3 42.9l-64 128c-7.9 15.8-27.1 22.2-42.9 14.3l-97.9-48.9 0 0-28.6-14.3 0 0-28.6-14.3 0 0L122 208.8l0 0L17.7 156.6C1.9 148.7-4.5 129.5 3.4 113.7l40-80zM5.1 442.5L107.7 237.4l28.6 14.3L33.7 456.9c-4 7.9-.7 17.5 7.2 21.5s17.5 .7 21.5-7.2L164.9 266l28.6 14.3L90.9 485.5c-11.9 23.7-40.7 33.3-64.4 21.5S-6.8 466.3 5.1 442.5z\"]\n};\nvar faMessageHeart = {\n prefix: 'fal',\n iconName: 'message-heart',\n icon: [512, 512, [], \"e5c9\", \"M192 416c0-17.7-14.3-32-32-32H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H448c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H309.3c-6.9 0-13.7 2.2-19.2 6.4L192 464V416zM64 0C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h64 32v32 48c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L309.3 416H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM176 173.3c0-16.2 13.1-29.3 29.3-29.3c7.8 0 15.2 3.1 20.7 8.6l18.7 18.7c6.2 6.2 16.4 6.2 22.6 0l18.7-18.7c5.5-5.5 12.9-8.6 20.7-8.6c16.2 0 29.3 13.1 29.3 29.3c0 7.8-3.1 15.2-8.6 20.7L256 265.4l-71.4-71.4c-5.5-5.5-8.6-12.9-8.6-20.7zM205.3 112c-33.8 0-61.3 27.4-61.3 61.3c0 16.2 6.5 31.8 17.9 43.3l82.7 82.7c6.2 6.2 16.4 6.2 22.6 0l82.7-82.7c11.5-11.5 17.9-27.1 17.9-43.3c0-33.8-27.4-61.3-61.3-61.3c-16.2 0-31.8 6.5-43.3 17.9l-7.4 7.4-7.4-7.4c-11.5-11.5-27.1-17.9-43.3-17.9z\"]\n};\nvar faCloudMeatball = {\n prefix: 'fal',\n iconName: 'cloud-meatball',\n icon: [512, 512, [], \"f73b\", \"M96 117.6c0-47.6 36.5-84.8 80-84.8c31.7 0 59.6 19.7 72.5 48.9c2.2 4.9 6.6 8.4 11.9 9.3s10.7-.9 14.4-4.8c11.7-12.4 27.7-19.9 45.2-19.9c34.6 0 64 29.7 64 68l0 .3c0 4.5 1.9 8.8 5.2 11.9s7.8 4.5 12.3 4.1c2.1-.2 4.3-.3 6.5-.3c39 0 72 33.5 72 76.4s-33 76.4-72 76.4h0l0 0H388.8c2.5 7.9 3.7 16.1 3.7 24.2c2.4 2.4 4.7 5 6.8 7.8h8.5 0l0 0c58.2 0 104-49.3 104-108.4c0-56.8-42.3-104.5-97.2-108.2c-7.2-47.2-46.3-84.2-94.8-84.2c-19.3 0-37.3 6-52.3 16.1C247.6 20.7 214.2 .8 176 .8c-62.6 0-112 53-112 116.8c0 3 .1 6 .3 9C26.3 142.9 0 181.9 0 226.8c0 59.1 45.8 108.4 104 108.4l0 0h0 8.5c2.1-2.7 4.4-5.3 6.8-7.8c0-8.2 1.2-16.4 3.7-24.2H104.1l0 0h0c-39 0-72-33.5-72-76.4c0-36.1 23.4-65.7 54-74c8.1-2.2 13.1-10.2 11.5-18.4c-1-5.4-1.6-11-1.6-16.8zM32 400a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm64 0A48 48 0 1 0 0 400a48 48 0 1 0 96 0zm352 0a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm64 0a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM240 304c0-8.8 7.2-16 16-16s16 7.2 16 16c0 .5 0 1.1-.1 1.6c-.7 7 3.3 13.6 9.8 16.3s14 .8 18.5-4.6c.3-.4 .7-.8 1.1-1.2c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6c-.4 .4-.8 .7-1.2 1.1c-5.4 4.5-7.3 12-4.6 18.5s9.3 10.5 16.3 9.8c.5-.1 1-.1 1.6-.1c8.8 0 16 7.2 16 16s-7.2 16-16 16c-.5 0-1.1 0-1.6-.1c-7-.7-13.6 3.3-16.3 9.8s-.8 14 4.6 18.5c.4 .3 .8 .7 1.2 1.1c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0c-.4-.4-.7-.8-1.1-1.2c-4.5-5.4-12-7.3-18.5-4.6s-10.5 9.3-9.8 16.3c0 .5 .1 1 .1 1.6c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-.5 0-1.1 .1-1.6c.7-7-3.3-13.6-9.8-16.3s-14-.8-18.5 4.6c-.3 .4-.7 .8-1.1 1.2c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6c.4-.4 .8-.7 1.2-1.1c5.4-4.5 7.3-12 4.6-18.5s-9.3-10.5-16.3-9.8c-.5 0-1 .1-1.6 .1c-8.8 0-16-7.2-16-16s7.2-16 16-16c.5 0 1.1 0 1.6 .1c7 .7 13.6-3.3 16.3-9.8s.8-14-4.6-18.5c-.4-.3-.8-.7-1.2-1.1c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l8.5-8.5-8.5 8.5c.4 .4 .7 .8 1.1 1.2c4.5 5.4 12 7.3 18.5 4.6s10.5-9.3 9.8-16.3c0-.5-.1-1-.1-1.6zm144 80c0-18.4-10.4-34.4-25.5-42.4c5-16.4 1.1-35.1-11.9-48.1s-31.6-17-48.1-11.9c-8.1-15.2-24-25.5-42.4-25.5s-34.4 10.4-42.4 25.5c-16.4-5-35.1-1.1-48.1 11.9s-17 31.6-11.9 48.1c-15.2 8.1-25.5 24-25.5 42.4s10.4 34.4 25.5 42.4c-5 16.4-1.1 35.1 11.9 48.1s31.6 17 48.1 11.9c8.1 15.2 24 25.5 42.4 25.5s34.4-10.4 42.4-25.5c16.4 5 35.1 1.1 48.1-11.9s17-31.6 11.9-48.1c15.2-8.1 25.5-24 25.5-42.4z\"]\n};\nvar faCameraPolaroid = {\n prefix: 'fal',\n iconName: 'camera-polaroid',\n icon: [576, 512, [], \"f8aa\", \"M64 448H512c17.7 0 32-14.3 32-32V371.4c0-6.3-1.9-12.5-5.4-17.8l-1.1-1.6H38.5l-1.1 1.6c-3.5 5.3-5.4 11.4-5.4 17.8V416c0 17.7 14.3 32 32 32zM516.2 320l-28.1-42.2c-5.3-7.9-8.1-17.1-8.1-26.6V96c0-17.7-14.3-32-32-32H128c-17.7 0-32 14.3-32 32V251.2c0 9.5-2.8 18.7-8.1 26.6L59.8 320H516.2zM512 480H64c-35.3 0-64-28.7-64-64V371.4c0-12.6 3.7-25 10.7-35.5L61.3 260c1.8-2.6 2.7-5.7 2.7-8.9V96c0-35.3 28.7-64 64-64H448c35.3 0 64 28.7 64 64V251.2c0 3.2 .9 6.2 2.7 8.9l50.6 75.8c7 10.5 10.7 22.9 10.7 35.5V416c0 35.3-28.7 64-64 64zM416 152a24 24 0 1 1 0-48 24 24 0 1 1 0 48zm-128-8a48 48 0 1 0 0 96 48 48 0 1 0 0-96zm80 48a80 80 0 1 1 -160 0 80 80 0 1 1 160 0zM112 384H464c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faCamera = {\n prefix: 'fal',\n iconName: 'camera',\n icon: [512, 512, [62258, \"camera-alt\"], \"f030\", \"M191.1 32c-20.7 0-39 13.2-45.5 32.8L135.1 96H64C28.7 96 0 124.7 0 160V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H376.9L366.5 64.8C359.9 45.2 341.6 32 320.9 32H191.1zM175.9 74.9c2.2-6.5 8.3-10.9 15.2-10.9H320.9c6.9 0 13 4.4 15.2 10.9l14 42.1c2.2 6.5 8.3 10.9 15.2 10.9H448c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32h82.7c6.9 0 13-4.4 15.2-10.9l14-42.1zM256 400a112 112 0 1 0 0-224 112 112 0 1 0 0 224zM176 288a80 80 0 1 1 160 0 80 80 0 1 1 -160 0z\"]\n};\nvar faCameraAlt = faCamera;\nvar faSquareVirus = {\n prefix: 'fal',\n iconName: 'square-virus',\n icon: [448, 512, [], \"e578\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM200 208a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm24 64a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM86.6 230.9c29.3 0 43.9-35.4 23.2-56.1c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0c20.7 20.7 56.1 6 56.1-23.2c0-13.3 10.7-24 24-24s24 10.7 24 24c0 29.3 35.4 43.9 56.1 23.2c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9c-20.7 20.7-6 56.1 23.2 56.1c13.3 0 24 10.7 24 24s-10.7 24-24 24c-29.3 0-43.9 35.4-23.2 56.1c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0c-20.7-20.7-56.1-6-56.1 23.2c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-29.3-35.4-43.9-56.1-23.2c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9c20.7-20.7 6-56.1-23.2-56.1c-13.3 0-24-10.7-24-24s10.7-24 24-24zm62.6-50.7c8.2 28.6-4.9 60.2-30.9 74.7c26 14.5 39.1 46.1 30.9 74.7c28.6-8.2 60.2 4.9 74.7 30.9c14.5-26 46.1-39.1 74.7-30.9c-8.2-28.6 4.9-60.2 30.9-74.7c-26-14.5-39.1-46.1-30.9-74.7c-16.4 4.7-33.9 2.4-48.5-5.4c-10.8-5.7-20.1-14.5-26.2-25.5c-14.5 26-46.1 39.1-74.7 30.9z\"]\n};\nvar faCartArrowUp = {\n prefix: 'fal',\n iconName: 'cart-arrow-up',\n icon: [576, 512, [], \"e3ee\", \"M0 16C0 7.2 7.2 0 16 0H53.9c22.8 0 42.5 16 47 38.4L145.4 256H466.5c14.7 0 27.5-10 31-24.2L544.5 44.1c2.1-8.6 10.8-13.8 19.4-11.6s13.8 10.8 11.6 19.4L528.6 239.5C521.5 268 495.9 288 466.5 288H152l7.9 38.4c3 14.9 16.1 25.6 31.4 25.6H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H191.2c-30.4 0-56.6-21.4-62.7-51.2L69.6 44.8C68 37.3 61.5 32 53.9 32H16C7.2 32 0 24.8 0 16zM192 480a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-80a56 56 0 1 1 0 112 56 56 0 1 1 0-112zm280 56a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-80 0a56 56 0 1 1 112 0 56 56 0 1 1 -112 0zM304 208V86.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l64-64c6.2-6.2 16.4-6.2 22.6 0l64 64c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L336 86.6V208c0 8.8-7.2 16-16 16s-16-7.2-16-16z\"]\n};\nvar faMeteor = {\n prefix: 'fal',\n iconName: 'meteor',\n icon: [512, 512, [9732], \"f753\", \"M320 32c0-26.4-30.1-41.4-51.2-25.6L81.1 147.2C30 185.5 0 246.1 0 309.8C0 420.9 90 512 201.3 512c64.6 0 125.3-31 163.2-83.4L498.6 242.7c15.3-21.2 .2-50.7-25.9-50.7H446.6L509 50.3c2-4.5 3-9.5 3-14.4C512 16 496 0 476.2 0c-5 0-9.9 1-14.4 3L320 65.4V32zm154.6 .3c.5-.2 1-.3 1.5-.3c2.1 0 3.8 1.7 3.8 3.8c0 .5-.1 1.1-.3 1.5L407.4 201.6c-2.2 4.9-1.7 10.7 1.2 15.2s8 7.3 13.4 7.3h50.6L338.5 409.8C306.7 453.9 255.6 480 201.3 480C107.9 480 32 403.4 32 309.8c0-53.8 25.3-104.8 68.3-137L288 32V89.9c0 5.4 2.7 10.4 7.3 13.4s10.2 3.4 15.2 1.2L474.6 32.3zM296 312a96 96 0 1 1 -192 0 96 96 0 1 1 192 0zM200 184a128 128 0 1 0 0 256 128 128 0 1 0 0-256zM184 304a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm56 48a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faCarOn = {\n prefix: 'fal',\n iconName: 'car-on',\n icon: [512, 512, [], \"e4dd\", \"M272 24c0-8.8-7.2-16-16-16s-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16V24zM188.2 208H323.8c14.3 0 26.8 9.5 30.8 23.2L370.8 288c-.9 0-1.9 0-2.8 0H144c-.9 0-1.9 0-2.8 0l16.2-56.8c3.9-13.7 16.5-23.2 30.8-23.2zm-61.5 14.4L105 298.1C80.6 311.8 64 338 64 368v48 16 32 32c0 8.8 7.2 16 16 16s16-7.2 16-16V464H416v32c0 8.8 7.2 16 16 16s16-7.2 16-16V464 432 416 368c0-30-16.6-56.2-41-69.9l-21.6-75.7c-7.8-27.5-33-46.4-61.5-46.4H188.2c-28.6 0-53.7 18.9-61.5 46.4zM416 416v16H96V416 368c0-26.5 21.5-48 48-48H368c26.5 0 48 21.5 48 48v48zM144 400a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm248-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM44.7 44.7c-6.2 6.2-6.2 16.4 0 22.6l48 48c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-48-48c-6.2-6.2-16.4-6.2-22.6 0zm400 0l-48 48c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l48-48c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0z\"]\n};\nvar faSleigh = {\n prefix: 'fal',\n iconName: 'sleigh',\n icon: [640, 512, [], \"f7cc\", \"M16 32C7.2 32 0 39.2 0 48s7.2 16 16 16H32V256c0 59.6 40.8 109.8 96 124v68H48c-8.8 0-16 7.2-16 16s7.2 16 16 16H568c39.8 0 72-32.2 72-72V384c0-8.8-7.2-16-16-16s-16 7.2-16 16v24c0 22.1-17.9 40-40 40H448V384c70.7 0 128-57.3 128-128V128h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H576 544 488c-22.1 0-40 17.9-40 40v35.8c0 28.8-23.4 52.2-52.2 52.2c-72 0-139-37.1-177.1-98.2l-7.2-11.5C179.6 63.4 124 32.4 64 32l-1 0H56 32 16zM416 448H160V384H416v64zm72-320h56V256c0 53-43 96-96 96H160c-53 0-96-43-96-96V64c48.9 .4 94.3 25.7 120.3 67.2l7.2 11.5C235.5 213.2 312.7 256 395.8 256c46.5 0 84.2-37.7 84.2-84.2V136c0-4.4 3.6-8 8-8z\"]\n};\nvar faArrowDown19 = {\n prefix: 'fal',\n iconName: 'arrow-down-1-9',\n icon: [576, 512, [\"sort-numeric-asc\", \"sort-numeric-down\"], \"f162\", \"M448 48V192h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H432 384c-8.8 0-16-7.2-16-16s7.2-16 16-16h32V70.2l-26.9 9c-8.4 2.8-17.4-1.7-20.2-10.1s1.7-17.4 10.1-20.2l48-16c4.9-1.6 10.2-.8 14.4 2.2s6.6 7.8 6.6 13zM171.3 475.3c-6.2 6.2-16.4 6.2-22.6 0l-96-96c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L144 425.4V48c0-8.8 7.2-16 16-16s16 7.2 16 16V425.4l68.7-68.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-96 96zM428 288a52 52 0 1 0 0 104 52 52 0 1 0 0-104zm-84 52c0-46.4 37.6-84 84-84s84 37.6 84 84c0 1.3 0 2.7-.1 4h.1c0 21.2-7.6 41.8-21.5 57.9l-62.4 72.5c-5.8 6.7-15.9 7.5-22.6 1.7s-7.5-15.9-1.7-22.6L429.3 424c-.4 0-.9 0-1.3 0c-46.4 0-84-37.6-84-84z\"]\n};\nvar faSortNumericAsc = faArrowDown19;\nvar faSortNumericDown = faArrowDown19;\nvar faBuoyMooring = {\n prefix: 'fal',\n iconName: 'buoy-mooring',\n icon: [576, 512, [], \"e5b6\", \"M272 16c0-8.8 7.2-16 16-16s16 7.2 16 16V65.1c46.7 6.7 85.5 42.3 94.6 89.9l45.8 240.3c-.4 .3-.8 .5-1.2 .8c-8.8 6.1-18.5 11.1-28.5 14.6L397.4 320H178.6l-17.3 90.7c-9.9-3.5-19.7-8.5-28.4-14.6c-.4-.3-.8-.6-1.2-.8L177.4 155c9.1-47.6 47.8-83.2 94.6-89.9V16zM208.9 161L184.7 288H391.3L367.1 161C360 123.4 326.5 96 288 96s-72 27.4-79.1 65zM192 480c20.9 0 41.6-9.9 58.2-21.2c9.8-6.7 18-14 25.9-21.9c6.6-6.5 17.2-6.5 23.7 0c7.9 7.9 16.2 15.2 26 21.9C342.3 470 363.1 480 384 480s41.6-9.9 58.2-21.2c9.8-6.7 18-14 25.9-21.9c6.6-6.5 17.2-6.6 23.7 0c7.9 7.9 16.2 15.2 26 21.9c12.8 8.7 28.1 16.6 44.1 19.8c7.7 1.5 14.1 7.8 14.1 15.7c0 9.8-8 17.9-17.7 16.2c-23.1-4-43.6-15-58.5-25.2c-7.9-5.4-14.7-10.8-19.8-15.3c-5.1 4.5-11.8 9.9-19.8 15.3C441.5 497.9 414.3 512 384 512s-57.6-14.1-76.2-26.8c-7.9-5.4-14.7-10.8-19.8-15.3c-5.1 4.5-11.8 9.9-19.8 15.3C249.5 497.9 222.3 512 192 512s-57.6-14.1-76.2-26.8c-7.9-5.4-14.6-10.8-19.8-15.3c-5.1 4.5-11.8 9.9-19.8 15.3c-14.9 10.2-35.4 21.2-58.5 25.2C8 512.1 0 504 0 494.2c0-7.9 6.4-14.1 14.1-15.7c15.9-3.1 31.3-11.1 44-19.8c9.8-6.7 18-14 25.9-21.9c6.6-6.5 17.2-6.6 23.8 0c7.9 7.9 16.2 15.2 25.9 21.9C150.3 470 171.1 480 192 480z\"]\n};\nvar faSquare4 = {\n prefix: 'fal',\n iconName: 'square-4',\n icon: [448, 512, [], \"e259\", \"M384 64c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm133.9 97.1c-8.2-3.3-17.5 .7-20.8 8.9l-64 160c-2 4.9-1.4 10.5 1.6 14.9s7.9 7 13.2 7H256v48c0 8.8 7.2 16 16 16s16-7.2 16-16V320h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H288V208c0-8.8-7.2-16-16-16s-16 7.2-16 16v80H151.6l55.2-138.1c3.3-8.2-.7-17.5-8.9-20.8z\"]\n};\nvar faHandHoldingDroplet = {\n prefix: 'fal',\n iconName: 'hand-holding-droplet',\n icon: [576, 512, [\"hand-holding-water\"], \"f4c1\", \"M235.6 121.1C228 132.1 224 145.1 224 158.3V160c0 35.3 28.7 64 64 64s64-28.7 64-64v-1.7c0-13.3-4-26.3-11.6-37.2L288 44.8l-52.4 76.3zM209.2 103L275.5 6.6C278.3 2.5 283 0 288 0s9.7 2.5 12.5 6.6L366.8 103C378 119.3 384 138.6 384 158.3V160c0 53-43 96-96 96s-96-43-96-96v-1.7c0-19.8 6-39 17.2-55.3zM151 317.4c13.1-8.8 28.6-13.4 44.4-13.4H344c30.9 0 56 25.1 56 56c0 8.6-1.9 16.7-5.4 24h5.6l94.7-56.4c8.3-4.9 17.8-7.6 27.5-7.6h1.3c28.9 0 52.3 23.4 52.3 52.3c0 17.7-9 34.2-23.8 43.8L432.6 493.9c-18.2 11.8-39.4 18.1-61 18.1H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H371.5c15.5 0 30.6-4.5 43.6-12.9l119.6-77.8c5.8-3.7 9.2-10.2 9.2-17c0-11.2-9.1-20.3-20.3-20.3h-1.3c-3.9 0-7.7 1.1-11.1 3l-98.5 58.7c-2.5 1.5-5.3 2.3-8.2 2.3H344 320 256c-8.8 0-16-7.2-16-16s7.2-16 16-16h64 24c13.3 0 24-10.7 24-24s-10.7-24-24-24H195.4c-9.5 0-18.7 2.8-26.6 8.1L88.9 397.3c-2.6 1.8-5.7 2.7-8.9 2.7H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H75.2L151 317.4z\"]\n};\nvar faHandHoldingWater = faHandHoldingDroplet;\nvar faFileEps = {\n prefix: 'fal',\n iconName: 'file-eps',\n icon: [512, 512, [], \"e644\", \"M64 480H96v32H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H220.1c12.7 0 24.9 5.1 33.9 14.1L369.9 129.9c9 9 14.1 21.2 14.1 33.9V288H352V192H240c-26.5 0-48-21.5-48-48V32H64C46.3 32 32 46.3 32 64V448c0 17.7 14.3 32 32 32zM351.5 160c-.7-2.8-2.1-5.4-4.2-7.4L231.4 36.7c-2.1-2.1-4.6-3.5-7.4-4.2V144c0 8.8 7.2 16 16 16H351.5zM160 368c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H192v32h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H192v32h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V432 368zm144-16h32c30.9 0 56 25.1 56 56s-25.1 56-56 56H320v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V448 368c0-8.8 7.2-16 16-16zm32 80c13.3 0 24-10.7 24-24s-10.7-24-24-24H320v48h16zm117.7-80H480c8.8 0 16 7.2 16 16s-7.2 16-16 16H453.7c-7.5 0-13.7 6.1-13.7 13.7c0 5.2 2.9 9.9 7.6 12.2l31.2 15.6c15.5 7.7 25.2 23.5 25.2 40.8c0 25.2-20.4 45.7-45.7 45.7H424c-8.8 0-16-7.2-16-16s7.2-16 16-16h34.3c7.5 0 13.7-6.1 13.7-13.7c0-5.2-2.9-9.9-7.6-12.2l-31.2-15.6C417.8 430.8 408 415 408 397.7c0-25.2 20.4-45.7 45.7-45.7z\"]\n};\nvar faTricycleAdult = {\n prefix: 'fal',\n iconName: 'tricycle-adult',\n icon: [640, 512, [], \"e5c4\", \"M304 64c-8.8 0-16 7.2-16 16s7.2 16 16 16h39c5.3 0 10.3 2.6 13.3 7L440 226.7l-53.2 70.9c-6.8 9-17.4 14.3-28.7 14.3c-2.8 0-5.6-.3-8.3-1L19.7 232.4c-8.6-2-17.2 3.3-19.3 11.9s3.3 17.2 11.9 19.3l31.9 7.6C17.6 288.2 0 318.1 0 352c0 53 43 96 96 96c18 0 34.8-4.9 49.1-13.5c-.4 .2-.8 .5-1.1 .7c14.1 8.2 30.5 12.8 48 12.8c53 0 96-43 96-96c0-8.1-1-16-2.9-23.5l57.3 13.6c5.1 1.2 10.4 1.8 15.7 1.8c21.4 0 41.5-10.1 54.3-27.1l46.6-62.1 18.8 27.8C459.4 300 448 324.7 448 352c0 53 43 96 96 96s96-43 96-96s-43-96-96-96c-14.2 0-27.7 3.1-39.8 8.6L382.8 85.1C373.8 71.9 359 64 343 64H304zM480 352c0-16.2 6.1-31.1 16-42.4L530.8 361c5 7.3 14.9 9.2 22.2 4.3s9.2-14.9 4.3-22.2l-34.7-51.3c6.7-2.4 13.9-3.7 21.5-3.7c35.3 0 64 28.7 64 64s-28.7 64-64 64s-64-28.7-64-64zM247.1 319.5c5.6 9.5 8.9 20.6 8.9 32.5c0 35.3-28.7 64-64 64c-7.5 0-14.7-1.3-21.3-3.6C184 395.9 192 374.9 192 352c0-17.8-4.9-34.5-13.3-48.8l68.5 16.3zM62.9 106.1c-3.3-8.2-12.6-12.2-20.8-8.9s-12.2 12.6-8.9 20.8l23.3 58.3c7.3 18.3 22.6 32.1 41.4 37.7l89.6 26.2c8.5 2.5 17.4-2.4 19.9-10.9s-2.4-17.4-10.9-19.8l-89.6-26.2c-9.4-2.8-17.1-9.7-20.7-18.8L62.9 106.1zM94.4 416C59.8 415.1 32 386.8 32 352c0-35.3 28.7-64 64-64s64 28.7 64 64s-28.7 64-64 64c0 0 0 0 0 0\"]\n};\nvar faWaveform = {\n prefix: 'fal',\n iconName: 'waveform',\n icon: [640, 512, [], \"f8f1\", \"M320 0c8 0 14.8 5.9 15.9 13.9l49.3 369.5L432.2 77.6c1.2-7.9 8-13.6 16-13.6s14.6 6 15.7 13.8l34.6 254 29.8-158.8c1.4-7.3 7.6-12.7 15-13s14.1 4.5 16.1 11.6L588.1 272H624c8.8 0 16 7.2 16 16s-7.2 16-16 16H576c-7.1 0-13.4-4.7-15.4-11.6l-13.4-46.8L511.7 434.9c-1.4 7.7-8.3 13.2-16.1 13s-14.4-6.1-15.5-13.8L447 191.4l-47.2 307c-1.2 7.9-8 13.6-16 13.6s-14.6-6-15.7-13.9L320 137.1 271.9 498.1c-1.1 7.9-7.7 13.8-15.7 13.9s-14.8-5.7-16-13.6L193 191.4 159.9 434.2c-1.1 7.8-7.6 13.6-15.5 13.8s-14.7-5.3-16.1-13L92.8 245.6 79.4 292.4c-2 6.9-8.2 11.6-15.4 11.6H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H51.9L80.6 171.6c2-7.1 8.7-11.9 16.1-11.6s13.6 5.7 15 13l29.8 158.8 34.6-254c1.1-7.9 7.8-13.8 15.7-13.8s14.7 5.7 16 13.6l47.1 305.9L304.1 13.9C305.2 5.9 312 0 320 0z\"]\n};\nvar faWater = {\n prefix: 'fal',\n iconName: 'water',\n icon: [576, 512, [], \"f773\", \"M133.8 106.8C150.3 118 171.1 128 192 128s41.6-9.9 58.2-21.2c9.8-6.7 18-14 25.9-21.9c6.6-6.5 17.2-6.5 23.7 0c7.9 7.9 16.2 15.2 26 21.9C342.3 118 363.1 128 384 128s41.6-9.9 58.2-21.2c9.8-6.7 18-14 25.9-21.9c6.6-6.5 17.2-6.5 23.7 0c7.9 7.9 16.2 15.2 26 21.9c12.8 8.7 28.1 16.6 44.1 19.8c7.7 1.5 14.1 7.8 14.1 15.7c0 9.8-8 17.9-17.7 16.2c-23.1-4-43.6-15-58.5-25.2c-7.9-5.4-14.7-10.8-19.8-15.3c-5.1 4.5-11.8 9.9-19.8 15.3C441.5 145.9 414.3 160 384 160s-57.6-14.1-76.2-26.8c-7.9-5.4-14.7-10.8-19.8-15.3c-5.1 4.5-11.8 9.9-19.8 15.3C249.5 145.9 222.3 160 192 160s-57.6-14.1-76.2-26.8c-7.9-5.4-14.6-10.8-19.8-15.3c-5.1 4.5-11.8 9.9-19.8 15.3c-14.9 10.2-35.4 21.2-58.5 25.2C8 160.1 0 152 0 142.2c0-7.9 6.4-14.1 14.1-15.7c15.9-3.1 31.3-11.1 44-19.8c9.8-6.7 18-14 25.9-21.9c6.6-6.5 17.2-6.6 23.8 0c7.9 7.9 16.2 15.2 25.9 21.9zm0 288C150.3 406 171.1 416 192 416s41.6-9.9 58.2-21.2c9.8-6.7 18-14 25.9-21.9c6.6-6.5 17.2-6.5 23.7 0c7.9 7.9 16.2 15.2 26 21.9C342.3 406 363.1 416 384 416s41.6-9.9 58.2-21.2c9.8-6.7 18-14 25.9-21.9c6.6-6.5 17.2-6.6 23.7 0c7.9 7.9 16.2 15.2 26 21.9c12.8 8.7 28.1 16.6 44.1 19.8c7.7 1.5 14.1 7.8 14.1 15.7c0 9.8-8 17.9-17.7 16.2c-23.1-4-43.6-15-58.5-25.2c-7.9-5.4-14.7-10.8-19.8-15.3c-5.1 4.5-11.8 9.9-19.8 15.3C441.5 433.9 414.3 448 384 448s-57.6-14.1-76.2-26.8c-7.9-5.4-14.7-10.8-19.8-15.3c-5.1 4.5-11.8 9.9-19.8 15.3C249.5 433.9 222.3 448 192 448s-57.6-14.1-76.2-26.8c-7.9-5.4-14.6-10.8-19.8-15.3c-5.1 4.5-11.8 9.9-19.8 15.3c-14.9 10.2-35.4 21.2-58.5 25.2C8 448.1 0 440 0 430.2c0-7.9 6.4-14.1 14.1-15.7c15.9-3.1 31.3-11.1 44-19.8c9.8-6.7 18-14 25.9-21.9c6.6-6.5 17.2-6.6 23.8 0c7.9 7.9 16.2 15.2 25.9 21.9zM192 272c20.9 0 41.6-9.9 58.2-21.2c9.8-6.7 18-14 25.9-21.9c6.6-6.5 17.2-6.5 23.7 0c7.9 7.9 16.2 15.2 26 21.9C342.3 262 363.1 272 384 272s41.6-9.9 58.2-21.2c9.8-6.7 18-14 25.9-21.9c6.6-6.5 17.2-6.5 23.7 0c7.9 7.9 16.2 15.2 26 21.9c12.8 8.7 28.1 16.6 44.1 19.8c7.7 1.5 14.1 7.8 14.1 15.7c0 9.8-8 17.9-17.7 16.2c-23.1-4-43.6-15-58.5-25.2c-7.9-5.4-14.7-10.8-19.8-15.3c-5.1 4.5-11.8 9.9-19.8 15.3C441.5 289.9 414.3 304 384 304s-57.6-14.1-76.2-26.8c-7.9-5.4-14.7-10.8-19.8-15.3c-5.1 4.5-11.8 9.9-19.8 15.3C249.5 289.9 222.3 304 192 304s-57.6-14.1-76.2-26.8c-7.9-5.4-14.6-10.8-19.8-15.3c-5.1 4.5-11.8 9.9-19.8 15.3c-14.9 10.2-35.4 21.2-58.5 25.2C8 304.1 0 296 0 286.2c0-7.9 6.4-14.1 14.1-15.7c15.9-3.1 31.3-11.1 44-19.8c9.8-6.7 18-14 25.9-21.9c6.6-6.5 17.2-6.6 23.8 0c7.9 7.9 16.2 15.2 25.9 21.9C150.3 262 171.1 272 192 272z\"]\n};\nvar faStarSharpHalfStroke = {\n prefix: 'fal',\n iconName: 'star-sharp-half-stroke',\n icon: [576, 512, [\"star-sharp-half-alt\"], \"e28d\", \"M272 93.9V376.2L163.5 460.6l43.8-143.9c2-6.5-.4-13.6-5.9-17.6l-126-91H224c7 0 13.1-4.5 15.2-11.1L272 93.9zm32 282.3V93.9l32.8 102.9c2.1 6.6 8.3 11.1 15.2 11.1H500.7l-126 91c-5.5 4-7.9 11.1-5.9 17.6l43.8 143.9L304 376.2zM288 0c-11.7 0-22.1 7.6-25.7 18.8L212.3 176H58.6C43.9 176 32 187.9 32 202.6c0 8.5 4.1 16.6 11 21.6l130.3 94.1-50.8 167c-4.1 13.3 5.9 26.8 19.8 26.8c4.6 0 9.1-1.5 12.7-4.4L288 404.3 420.9 507.6c3.6 2.8 8.1 4.4 12.7 4.4c13.9 0 23.9-13.4 19.8-26.8l-50.8-167L533 224.1c6.9-5 11-13 11-21.6c0-14.7-11.9-26.6-26.6-26.6H363.7l-50-157.2C310.1 7.6 299.7 0 288 0z\"]\n};\nvar faStarSharpHalfAlt = faStarSharpHalfStroke;\nvar faNfcSignal = {\n prefix: 'fal',\n iconName: 'nfc-signal',\n icon: [512, 512, [], \"e1fb\", \"M384 64H64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H227c-1.6 10.5-2.6 21.2-2.9 32H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V227c-10.9 1.7-21.6 4-32 6.9V96c0-17.7-14.3-32-32-32zm0 64V245.3c-11.1 4.8-21.8 10.2-32 16.4V128H240v82.7c18.6 6.6 32 24.4 32 45.3c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3V128c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32zM233.9 416H96c-17.7 0-32-14.3-32-32V128c0-17.7 14.3-32 32-32h48c8.8 0 16 7.2 16 16s-7.2 16-16 16l-48 0V384H245.3c-4.4 10.3-8.2 21-11.3 32zM224 240a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm272 16c8.8 0 16 7.2 16 16s-7.2 16-16 16c-114.9 0-208 93.1-208 208c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-132.5 107.5-240 240-240zM480 448a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm32-80c0 8.8-7.2 16-16 16c-61.9 0-112 50.1-112 112c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-79.5 64.5-144 144-144c8.8 0 16 7.2 16 16z\"]\n};\nvar faPlaneProp = {\n prefix: 'fal',\n iconName: 'plane-prop',\n icon: [576, 512, [], \"e22b\", \"M270 0c-16 0-29.6 11.9-31.7 27.8L235.6 48H224c-26.5 0-48 21.5-48 48c0 26.1 20.8 47.3 46.8 48l-4.9 37-67.1 9-3.9-27.6C144 142.6 127.1 128 107.2 128H84.8c-19.9 0-36.8 14.6-39.6 34.3l-6.1 42.9C16.3 211.2 0 231.9 0 256s16.3 44.8 39.1 50.8l6.1 42.9C48 369.4 64.9 384 84.8 384h22.4c19.9 0 36.8-14.6 39.6-34.3l3.9-27.6 67.1 9 4.9 37c-26 .6-46.8 21.9-46.8 48c0 26.5 21.5 48 48 48h11.6l2.7 20.2C240.4 500.1 254 512 270 512h36c16 0 29.6-11.9 31.7-27.8l7-52.2H368v32c0 8.8 7.2 16 16 16s16-7.2 16-16V432c8.8 0 16-7.2 16-16s-7.2-16-16-16V368c0-8.8-7.2-16-16-16s-16 7.2-16 16v32H348.9l8.5-64 108.8 0c20.6 0 46.8-8.1 67.9-20.8C554.4 303.1 576 282.9 576 256c0-13.4-5.7-25.2-13.3-34.8s-17.7-17.6-28.4-24c-21-12.8-47.3-21.2-68-21.2H357.5l-8.5-64H368v32c0 8.8 7.2 16 16 16s16-7.2 16-16V112c8.8 0 16-7.2 16-16s-7.2-16-16-16V48c0-8.8-7.2-16-16-16s-16 7.2-16 16V80H344.7l-7-52.2C335.6 11.9 322 0 306 0H270zM224 400h3.1l4.3 32H224c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0-320h7.3l-4.3 32H224c-8.8 0-16-7.2-16-16s7.2-16 16-16zm101.2 96H256c-.7 0-1.4 0-2.1 .1l-3.2 .4L270 32h36l19.2 144zm0 160L306 480H270L250.7 335.4l3.2 .4c.7 .1 1.4 .1 2.1 .1h69.2zM76.9 166.9c.6-3.9 3.9-6.9 7.9-6.9h22.4c4 0 7.4 2.9 7.9 6.9l6.2 43.2c1.2 8.7 9.3 14.8 18 13.6L257.1 208H466.3c13.5 0 34.1 6.1 51.3 16.6c8.5 5.2 15.4 10.9 20 16.7c4.6 5.8 6.3 10.7 6.3 14.8c0 9.1-8.2 20.9-26.3 31.8c-17.2 10.3-37.8 16.2-51.4 16.2l-209.3 0L139.2 288.3c-8.7-1.2-16.7 4.9-18 13.6l-6.2 43.2c-.6 3.9-3.9 6.9-7.9 6.9H84.8c-4 0-7.4-2.9-7.9-6.9l-7.8-54.4c-1-7.1-6.6-12.6-13.7-13.6l-5.6-.7C39.6 275 32 266.3 32 256s7.6-19 17.8-20.4l5.6-.7c7.1-.9 12.7-6.5 13.7-13.6l7.8-54.4z\"]\n};\nvar faCalendarCheck = {\n prefix: 'fal',\n iconName: 'calendar-check',\n icon: [448, 512, [], \"f274\", \"M128 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V64H64C28.7 64 0 92.7 0 128v32 32V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V192 160 128c0-35.3-28.7-64-64-64H352V16c0-8.8-7.2-16-16-16s-16 7.2-16 16V64H128V16zM32 192H416V448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V192zM64 96H384c17.7 0 32 14.3 32 32v32H32V128c0-17.7 14.3-32 32-32zM331.3 283.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L208 361.4l-52.7-52.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l64 64c6.2 6.2 16.4 6.2 22.6 0l112-112z\"]\n};\nvar faClockDesk = {\n prefix: 'fal',\n iconName: 'clock-desk',\n icon: [448, 512, [], \"e134\", \"M32 224a192 192 0 1 1 384 0A192 192 0 1 1 32 224zM416 339.4V448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V339.4C71.2 404.5 142.5 448 224 448s152.8-43.5 192-108.6zM0 224V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V224C448 100.3 347.7 0 224 0S0 100.3 0 224zM224 96c-8.8 0-16 7.2-16 16V224c0 4.2 1.7 8.3 4.7 11.3l48 48c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L240 217.4V112c0-8.8-7.2-16-16-16z\"]\n};\nvar faCalendarClock = {\n prefix: 'fal',\n iconName: 'calendar-clock',\n icon: [576, 512, [\"calendar-time\"], \"e0d2\", \"M112 0c8.8 0 16 7.2 16 16V64H320V16c0-8.8 7.2-16 16-16s16 7.2 16 16V64h32c35.3 0 64 28.7 64 64v32 32 .7c-5.3-.5-10.6-.7-16-.7s-10.7 .2-16 .7V192H32V448c0 17.7 14.3 32 32 32H296.2c10 12.1 21.7 22.9 34.6 32H64c-35.3 0-64-28.7-64-64V192 160 128C0 92.7 28.7 64 64 64H96V16c0-8.8 7.2-16 16-16zM384 96H64c-17.7 0-32 14.3-32 32v32H416V128c0-17.7-14.3-32-32-32zm48 384a112 112 0 1 0 0-224 112 112 0 1 0 0 224zm0-256a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm0 64c8.8 0 16 7.2 16 16v48h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H432c-8.8 0-16-7.2-16-16V304c0-8.8 7.2-16 16-16z\"]\n};\nvar faCalendarTime = faCalendarClock;\nvar faBraille = {\n prefix: 'fal',\n iconName: 'braille',\n icon: [640, 512, [], \"f2a1\", \"M64 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 96A64 64 0 1 0 64 32a64 64 0 1 0 0 128zm160 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 96a64 64 0 1 0 0-128 64 64 0 1 0 0 128zM32 416a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm96 0A64 64 0 1 0 0 416a64 64 0 1 0 128 0zm64 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm96 0a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zM32 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm96 0A64 64 0 1 0 0 256a64 64 0 1 0 128 0zM192 96a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm96 0A64 64 0 1 0 160 96a64 64 0 1 0 128 0zM416 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 96a64 64 0 1 0 0-128 64 64 0 1 0 0 128zM544 96a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm96 0A64 64 0 1 0 512 96a64 64 0 1 0 128 0zM576 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 96a64 64 0 1 0 0-128 64 64 0 1 0 0 128zm-32 96a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm96 0a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zM416 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 96a64 64 0 1 0 0-128 64 64 0 1 0 0 128zm-32 96a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm96 0a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zM240 96a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM64 112a16 16 0 1 0 0-32 16 16 0 1 0 0 32zM80 256a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM416 112a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faPrescriptionBottleMedical = {\n prefix: 'fal',\n iconName: 'prescription-bottle-medical',\n icon: [384, 512, [\"prescription-bottle-alt\"], \"f486\", \"M336 32c8.8 0 16 7.2 16 16V80c0 8.8-7.2 16-16 16H48c-8.8 0-16-7.2-16-16V48c0-8.8 7.2-16 16-16H336zM48 0C21.5 0 0 21.5 0 48V80c0 26.5 21.5 48 48 48H336c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H48zM32 160V448c0 35.3 28.7 64 64 64H288c35.3 0 64-28.7 64-64V160H320V448c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V160H32zm149.3 32c-17.7 0-32 14.3-32 32v21.3H128c-17.7 0-32 14.3-32 32v21.3c0 17.7 14.3 32 32 32h21.3V352c0 17.7 14.3 32 32 32h21.3c17.7 0 32-14.3 32-32V330.7H256c17.7 0 32-14.3 32-32V277.3c0-17.7-14.3-32-32-32H234.7V224c0-17.7-14.3-32-32-32H181.3zm0 32h21.3l0 37.3c0 8.8 7.2 16 16 16H256v21.3l-37.3 0c-8.8 0-16 7.2-16 16V352H181.3V314.7c0-8.8-7.2-16-16-16H128V277.3h37.3c4.2 0 8.3-1.7 11.3-4.7s4.7-7.1 4.7-11.3V224z\"]\n};\nvar faPrescriptionBottleAlt = faPrescriptionBottleMedical;\nvar faPlateUtensils = {\n prefix: 'fal',\n iconName: 'plate-utensils',\n icon: [640, 512, [58713], \"e43b\", \"M16 16C7.2 16 0 23.2 0 32V176c0 26.5 21.5 48 48 48H64V480c0 8.8 7.2 16 16 16s16-7.2 16-16V224h16c26.5 0 48-21.5 48-48V32c0-8.8-7.2-16-16-16s-16 7.2-16 16V176c0 8.8-7.2 16-16 16H96V32c0-8.8-7.2-16-16-16s-16 7.2-16 16V192H48c-8.8 0-16-7.2-16-16V32c0-8.8-7.2-16-16-16zM498 78.9C455.3 39.8 398.4 16 336 16c-54 0-103.9 17.9-144 48v41.9C229.4 70 280.1 48 336 48c58.9 0 112 24.5 149.9 63.8c3.1-12 7.2-22.9 12.1-32.9zm24.5 269.4C488.5 416.9 417.7 464 336 464c-73.8 0-138.6-38.4-175.5-96.4c-8.5 6.5-18.3 11.3-29 14C173.7 450.2 249.5 496 336 496c98.4 0 183-59.2 220-144H544c-7.6 0-14.8-1.3-21.5-3.7zM480 256a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-256 0a112 112 0 1 1 224 0 112 112 0 1 1 -224 0zM608 54.4V288H544V160c0-61.3 39.4-92.2 64-105.6zM640 288V36.9c0-11.5-9.3-20.9-20.9-20.9c-2.1 0-4.1 .3-6.1 1C596.2 23.2 512 59.2 512 160V288c0 17.7 14.3 32 32 32h64V480c0 8.8 7.2 16 16 16s16-7.2 16-16V320 304 288z\"]\n};\nvar faFamilyPants = {\n prefix: 'fal',\n iconName: 'family-pants',\n icon: [512, 512, [], \"e302\", \"M160 64A32 32 0 1 0 96 64a32 32 0 1 0 64 0zM64 64a64 64 0 1 1 128 0A64 64 0 1 1 64 64zM57.8 236l-4.1 49.3C52.1 304 66.8 320 85.6 320h59.6c-.7 5.2-1.1 10.6-1.1 16v16H96V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V348.3c-26.5-9.5-44.7-35.8-42.2-65.6l4.1-49.3C29.3 191.9 64 160 105.6 160h44.8c7 0 13.8 .9 20.2 2.6c-1.7 6.9-2.6 14-2.6 21.4c0 3.9 .3 7.8 .8 11.6c-5.7-2.4-11.9-3.6-18.4-3.6H105.6c-25 0-45.8 19.1-47.8 44zM416 352H368V336c0-5.4-.4-10.8-1.1-16h59.6c18.7 0 33.4-16 31.9-34.7L454.2 236c-2.1-24.9-22.9-44-47.8-44H361.6c-6.5 0-12.7 1.3-18.4 3.6c.5-3.8 .8-7.7 .8-11.6c0-7.4-.9-14.6-2.6-21.4c6.5-1.7 13.3-2.6 20.2-2.6h44.8c41.6 0 76.3 31.9 79.7 73.4l4.1 49.3c2.5 29.8-15.7 56.1-42.2 65.6V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V352zm0-288a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-96 0a64 64 0 1 1 128 0A64 64 0 1 1 320 64zM256 208a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-80a56 56 0 1 1 0 112 56 56 0 1 1 0-112zm0 160c-26.5 0-48 21.5-48 48v32c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V336c0-26.5-21.5-48-48-48zM208 413.3c-18.6-6.6-32-24.4-32-45.3V336c0-44.2 35.8-80 80-80s80 35.8 80 80v32c0 20.9-13.4 38.7-32 45.3V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V416H240v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V413.3z\"]\n};\nvar faHoseReel = {\n prefix: 'fal',\n iconName: 'hose-reel',\n icon: [640, 512, [], \"e41a\", \"M96 256C96 132.3 196.3 32 320 32s224 100.3 224 224v96H512c-8.8 0-16 7.2-16 16s7.2 16 16 16h1.9l12 96.1c-7.8 1-13.9 7.7-13.9 15.9c0 8.8 7.2 16 16 16h1.9H544h32 14.1H592c8.8 0 16-7.2 16-16c0-8.1-6.1-14.8-13.9-15.9l12-96.1H608c8.8 0 16-7.2 16-16s-7.2-16-16-16H576V256C576 114.6 461.4 0 320 0S64 114.6 64 256s114.6 256 256 256c57.6 0 110.8-19 153.6-51.2c7.1-5.3 8.5-15.3 3.2-22.4s-15.3-8.5-22.4-3.2C417 463.3 370.4 480 320 480C196.3 480 96 379.7 96 256zM573.9 384l-12 96h-3.8l-12-96H560h13.9zM464 256a144 144 0 1 1 -288 0 144 144 0 1 1 288 0zM320 80a176 176 0 1 0 0 352 176 176 0 1 0 0-352zm0 240a64 64 0 1 1 0-128 64 64 0 1 1 0 128zm-96-64a96 96 0 1 0 192 0 96 96 0 1 0 -192 0z\"]\n};\nvar faHouseWindow = {\n prefix: 'fal',\n iconName: 'house-window',\n icon: [576, 512, [], \"e3b3\", \"M298.6 4c-6-5.3-15.1-5.3-21.2 0L5.4 244c-6.6 5.8-7.3 16-1.4 22.6s16 7.3 22.6 1.4L64 235V432c0 44.2 35.8 80 80 80H432c44.2 0 80-35.8 80-80V235l37.4 33c6.6 5.8 16.7 5.2 22.6-1.4s5.2-16.7-1.4-22.6L298.6 4zM96 432V206.7L288 37.3 480 206.7V432c0 26.5-21.5 48-48 48H144c-26.5 0-48-21.5-48-48zM240 192c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32h96c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32H240zm0 32h96v96H240V224z\"]\n};\nvar faLandmark = {\n prefix: 'fal',\n iconName: 'landmark',\n icon: [512, 512, [127963], \"f66f\", \"M263.9 2.1C259-.7 253-.7 248.1 2.1L15.8 133.7C6 139.3 0 149.6 0 160.8C0 178 14 192 31.2 192H480.8c17.2 0 31.2-14 31.2-31.2c0-11.2-6-21.6-15.8-27.1L263.9 2.1zM256 34.4L477.7 160H34.3L256 34.4zM64 352c-8.8 0-16 7.2-16 16s7.2 16 16 16H448c8.8 0 16-7.2 16-16s-7.2-16-16-16V224H416V352H336V224H304V352H208V224H176V352H96V224H64V352zM24 432c0 8.8 7.2 16 16 16H472c8.8 0 16-7.2 16-16s-7.2-16-16-16H40c-8.8 0-16 7.2-16 16zM0 496c0 8.8 7.2 16 16 16H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H16c-8.8 0-16 7.2-16 16z\"]\n};\nvar faTruck = {\n prefix: 'fal',\n iconName: 'truck',\n icon: [640, 512, [128666, 9951], \"f0d1\", \"M64 32C46.3 32 32 46.3 32 64V352c0 17.7 14.3 32 32 32h5.5c13.2-37.3 48.7-64 90.5-64s77.4 26.7 90.5 64H384V64c0-17.7-14.3-32-32-32H64zm0 384c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H352c35.3 0 64 28.7 64 64V96h65.3c14 0 27.3 6.1 36.4 16.8l78.7 91.8c7.5 8.7 11.6 19.8 11.6 31.2V384h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H576c0 53-43 96-96 96s-96-43-96-96H256c0 53-43 96-96 96s-96-43-96-96zM416 224H570.9l-77.5-90.4c-3-3.5-7.5-5.6-12.1-5.6H416v96zm0 32v88.4c17-15.2 39.4-24.4 64-24.4c41.8 0 77.4 26.7 90.5 64H576V256H416zM224 416A64 64 0 1 0 96 416a64 64 0 1 0 128 0zm256 64a64 64 0 1 0 0-128 64 64 0 1 0 0 128z\"]\n};\nvar faMusicMagnifyingGlass = {\n prefix: 'fal',\n iconName: 'music-magnifying-glass',\n icon: [640, 512, [], \"e662\", \"M352 383.3c89.7-8.1 160-83.5 160-175.3c0-97.2-78.8-176-176-176c-85.6 0-156.9 61.1-172.7 142l-34.1 11.4C140.5 81.1 228.8 0 336 0C450.9 0 544 93.1 544 208c0 51.7-18.8 99-50 135.3L635.3 484.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L471.3 366c-32.9 28.2-74.7 46.3-120.7 49.5c.9-4.4 1.3-9 1.3-13.8V383.3zM320 198.2c0-21.8-21.4-37.3-42.1-30.4l-160 53.3C104.8 225.5 96 237.8 96 251.5V312 422.4c-9.4-4.1-20.3-6.4-32-6.4c-35.3 0-64 21.5-64 48s28.7 48 64 48s64-21.5 64-48V323.5l160-53.3v88.2c-9.4-4.1-20.3-6.4-32-6.4c-35.3 0-64 21.5-64 48s28.7 48 64 48s64-21.5 64-48c0-1.6-.1-3.2-.3-4.8c.2-1 .3-2.1 .3-3.2V248 198.2zm-32 38.3L128 289.8V251.5l160-53.3v38.3zm-5.9 171.9c-5.5 4.1-14.6 7.7-26.1 7.7s-20.5-3.5-26.1-7.7c-5.5-4.1-5.9-7.4-5.9-8.3s.4-4.2 5.9-8.3c5.5-4.1 14.6-7.7 26.1-7.7s20.5 3.5 26.1 7.7c5.5 4.1 5.9 7.4 5.9 8.3s-.4 4.2-5.9 8.3zm-192 64C84.5 476.5 75.4 480 64 480s-20.5-3.5-26.1-7.7c-5.5-4.1-5.9-7.4-5.9-8.3s.4-4.2 5.9-8.3c5.5-4.1 14.6-7.7 26.1-7.7s20.5 3.5 26.1 7.7c5.5 4.1 5.9 7.4 5.9 8.3s-.4 4.2-5.9 8.3z\"]\n};\nvar faCrosshairs = {\n prefix: 'fal',\n iconName: 'crosshairs',\n icon: [512, 512, [], \"f05b\", \"M256 0c8.8 0 16 7.2 16 16V48.6C374.1 56.4 455.6 137.9 463.4 240H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H463.4C455.6 374.1 374.1 455.6 272 463.4V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V463.4C137.9 455.6 56.4 374.1 48.6 272H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H48.6C56.4 137.9 137.9 56.4 240 48.6V16c0-8.8 7.2-16 16-16zM80.7 272c7.6 84.4 74.8 151.7 159.3 159.3V384c0-8.8 7.2-16 16-16s16 7.2 16 16v47.3c84.4-7.6 151.7-74.8 159.3-159.3H384c-8.8 0-16-7.2-16-16s7.2-16 16-16h47.3C423.7 155.6 356.4 88.3 272 80.7V128c0 8.8-7.2 16-16 16s-16-7.2-16-16V80.7C155.6 88.3 88.3 155.6 80.7 240H128c8.8 0 16 7.2 16 16s-7.2 16-16 16H80.7zM256 232a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faCloudRainbow = {\n prefix: 'fal',\n iconName: 'cloud-rainbow',\n icon: [576, 512, [], \"f73e\", \"M284.8 196.9C337.4 98.8 440.9 32 560 32c8.8 0 16-7.2 16-16s-7.2-16-16-16C427.8 0 313.1 74.5 255.5 183.9c7.2 4.8 13.9 10.1 20.1 16c3-1.1 6.1-2.1 9.3-3zm155.4 78.9c6 1.5 11.8 3.3 17.5 5.5c21.1-34.4 59-57.3 102.4-57.3c8.8 0 16-7.2 16-16s-7.2-16-16-16c-53 0-99.6 27.1-126.8 68.2c2.7 5 5 10.3 7 15.6zm-51.2-63.7C428.4 161 490.4 128 560 128c8.8 0 16-7.2 16-16s-7.2-16-16-16c-82.5 0-155.5 40.2-200.6 102.2c10.5 3.4 20.4 8.1 29.5 13.9zM96 304c0-44.2 35.8-80 80-80c32.2 0 59.9 19 72.6 46.4c2.2 4.8 6.6 8.1 11.8 9s10.4-.8 14.1-4.5c11.6-11.7 27.7-19 45.5-19c35.3 0 64 28.7 64 64l0 .3c0 4.5 1.9 8.8 5.2 11.8s7.8 4.5 12.2 4.1c2.2-.2 4.3-.3 6.6-.3c39.8 0 72 32.2 72 72s-32.2 72-72 72H104c-39.8 0-72-32.2-72-72c0-33.5 22.9-61.7 53.9-69.7c8.2-2.1 13.3-10.3 11.7-18.6c-1-5.1-1.5-10.3-1.5-15.7zM512 408c0-55.2-43-100.3-97.3-103.8C407.2 258.7 367.6 224 320 224c-19.3 0-37.3 5.7-52.4 15.5C247.3 210.8 213.9 192 176 192c-61.9 0-112 50.1-112 112c0 2.6 .1 5.3 .3 7.9C26.6 327.5 0 364.6 0 408c0 57.4 46.6 104 104 104H408c57.4 0 104-46.6 104-104z\"]\n};\nvar faPersonCane = {\n prefix: 'fal',\n iconName: 'person-cane',\n icon: [448, 512, [], \"e53c\", \"M248 56a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-80 0a56 56 0 1 1 112 0A56 56 0 1 1 168 56zM144 164V320h64V161.2c-3.4-.8-6.9-1.2-10.5-1.2H163.3c-6.8 0-13.3 1.4-19.3 4zm-32 38.1L62.1 295.5c-4.2 7.8-13.9 10.7-21.7 6.6s-10.7-13.9-6.6-21.7L92.7 170.3c13.9-26 41-42.3 70.6-42.3h34.2c23.5 0 45.7 10.3 60.9 28.2l89.8 105.5c5.7 6.7 4.9 16.8-1.8 22.6s-16.8 4.9-22.6-1.8L240 183.9V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V352H144V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V202.2zM368 352c-8.8 0-16 7.2-16 16v8c0 8.8-7.2 16-16 16s-16-7.2-16-16v-8c0-26.5 21.5-48 48-48s48 21.5 48 48V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V368c0-8.8-7.2-16-16-16z\"]\n};\nvar faAlien = {\n prefix: 'fal',\n iconName: 'alien',\n icon: [448, 512, [128125], \"f8f5\", \"M224 32C118 32 32 118 32 224c0 56.2 31.2 110.7 72.2 157.4c40.4 46.1 86.7 80.4 108.6 95.4c2.8 1.9 6.6 3.2 11.2 3.2s8.4-1.3 11.2-3.2c21.9-15 68.1-49.3 108.6-95.4C384.8 334.7 416 280.2 416 224c0-106-86-192-192-192zM0 224C0 100.3 100.3 0 224 0S448 100.3 448 224c0 135.3-148.8 247.7-194.7 279.2c-8.6 5.9-18.9 8.8-29.3 8.8s-20.7-2.9-29.3-8.8C148.8 471.7 0 359.3 0 224zm350 16H336c-29.8 0-54.9 20.4-62 48h14c29.8 0 54.9-20.4 62-48zm-14-32h32c8.8 0 16 7.2 16 16c0 53-43 96-96 96H256c-8.8 0-16-7.2-16-16c0-53 43-96 96-96zM112 240H98c7.1 27.6 32.2 48 62 48h14c-7.1-27.6-32.2-48-62-48zm96 64c0 8.8-7.2 16-16 16H160c-53 0-96-43-96-96c0-8.8 7.2-16 16-16h32c53 0 96 43 96 96z\"]\n};\nvar faTent = {\n prefix: 'fal',\n iconName: 'tent',\n icon: [576, 512, [], \"e57d\", \"M278.9 2.8c5.5-3.8 12.7-3.8 18.2 0L517.3 154.7c11.3 7.8 18.7 20 20.4 33.6L571.4 458c3.6 28.6-18.8 54-47.6 54H52.2C23.4 512 1 486.7 4.6 458L38.3 188.2c1.7-13.6 9.1-25.8 20.4-33.6L278.9 2.8zM76.9 181c-3.8 2.6-6.2 6.7-6.8 11.2L36.4 462c-1.2 9.5 6.3 18 15.9 18H272V46.5L76.9 181zM405.4 480L304 288.4V480H405.4zm36.2 0h82.1c9.6 0 17.1-8.4 15.9-18L505.9 192.2c-.6-4.5-3-8.6-6.8-11.2L304 46.5V220L441.6 480z\"]\n};\nvar faLaptopBinary = {\n prefix: 'fal',\n iconName: 'laptop-binary',\n icon: [640, 512, [], \"e5e7\", \"M128 64H512c17.7 0 32 14.3 32 32V352h32V96c0-35.3-28.7-64-64-64H128C92.7 32 64 60.7 64 96V352H96V96c0-17.7 14.3-32 32-32zM33.9 416H606.1c-5.5 18.5-22.6 32-42.9 32H76.8c-20.3 0-37.4-13.5-42.9-32zM19.2 384C8.6 384 0 392.6 0 403.2C0 445.6 34.4 480 76.8 480H563.2c42.4 0 76.8-34.4 76.8-76.8c0-10.6-8.6-19.2-19.2-19.2H19.2zM200 128c-22.1 0-40 17.9-40 40v32c0 22.1 17.9 40 40 40h16c22.1 0 40-17.9 40-40V168c0-22.1-17.9-40-40-40H200zm-8 40c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v32c0 4.4-3.6 8-8 8H200c-4.4 0-8-3.6-8-8V168zm112-40c-8.8 0-16 7.2-16 16s7.2 16 16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V144c0-8.8-7.2-16-16-16H304zm80 40v32c0 22.1 17.9 40 40 40h16c22.1 0 40-17.9 40-40V168c0-22.1-17.9-40-40-40H424c-22.1 0-40 17.9-40 40zm40-8h16c4.4 0 8 3.6 8 8v32c0 4.4-3.6 8-8 8H424c-4.4 0-8-3.6-8-8V168c0-4.4 3.6-8 8-8zM192 272c-8.8 0-16 7.2-16 16s7.2 16 16 16v48h32V288c0-8.8-7.2-16-16-16H192zm256 16c0-8.8-7.2-16-16-16H416c-8.8 0-16 7.2-16 16s7.2 16 16 16v48h32V288zm-80 24c0-22.1-17.9-40-40-40H312c-22.1 0-40 17.9-40 40v40h32V312c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v40h32V312z\"]\n};\nvar faVestPatches = {\n prefix: 'fal',\n iconName: 'vest-patches',\n icon: [448, 512, [], \"e086\", \"M173.4 69.1l33.4 87.4-17.1 44.8L125.3 32.8c-1.7-.5-3.3-.8-4.9-.8H96c-8.8 0-16 7.2-16 16v80 58.7c0 11.6-3.2 23-9.1 32.9L36.6 276.8c-3 5-4.6 10.7-4.6 16.5V464c0 8.8 7.2 16 16 16H161.6c2.4 11.8 7.4 22.7 14.4 32H48c-26.5 0-48-21.5-48-48V293.3c0-11.6 3.2-23 9.1-32.9l34.3-57.2c3-5 4.6-10.7 4.6-16.5V128 48l0-.3C48.2 21.3 69.6 0 96 0h24.4H125c6.3 0 12.3 1.8 17.4 5.1C152.6 10 161 17.6 167.1 24.7C176 35 192.9 48 224 48s48-13 56.9-23.3C287 17.6 295.4 10 305.6 5.1C310.7 1.8 316.7 0 323 0h4.6H352c26.5 0 48 21.5 48 48v80 58.7c0 5.8 1.6 11.5 4.6 16.5l34.3 57.2c6 9.9 9.1 21.3 9.1 32.9V464c0 26.5-21.5 48-48 48H240c-26.5 0-48-21.5-48-48V296.9c0-7.8 1.4-15.6 4.2-22.9L274.6 69.1C261.3 75.6 244.6 80 224 80s-37.3-4.4-50.6-10.9zM322.7 32.8L226.1 285.4c-1.4 3.6-2.1 7.5-2.1 11.4V464c0 8.8 7.2 16 16 16H400c8.8 0 16-7.2 16-16V293.3c0-5.8-1.6-11.5-4.6-16.5l-34.3-57.2c-6-9.9-9.1-21.3-9.1-32.9V128 48c0-7.7-5.5-14.2-12.8-15.7c-1-.2-2.1-.3-3.2-.3H327.6c-1.6 0-3.2 .3-4.9 .8zM112 416a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm0-64a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm-4.7-107.3L120 257.4l12.7-12.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L142.6 280l12.7 12.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L120 302.6l-12.7 12.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L97.4 280 84.7 267.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0zM312 240c19.6 0 35.9 14.1 39.3 32.7c18.6 3.4 32.7 19.7 32.7 39.3c0 22.1-17.9 40-40 40h-8H288c-8.8 0-16-7.2-16-16V288v-8c0-22.1 17.9-40 40-40zm-8 40v8 32h32 8c4.4 0 8-3.6 8-8s-3.6-8-8-8h-8c-8.8 0-16-7.2-16-16v-8c0-4.4-3.6-8-8-8s-8 3.6-8 8z\"]\n};\nvar faPeopleDressSimple = {\n prefix: 'fal',\n iconName: 'people-dress-simple',\n icon: [512, 512, [], \"e218\", \"M128 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 96A64 64 0 1 0 128 0a64 64 0 1 0 0 128zm-15.7 64h31.4c14.3 0 26.8 9.5 30.8 23.2L213.6 352H42.4L81.5 215.2C85.4 201.5 98 192 112.3 192zm0-32c-28.6 0-53.7 18.9-61.5 46.4L11.7 343.2C5.8 363.7 21.2 384 42.4 384H64V496c0 8.8 7.2 16 16 16s16-7.2 16-16V384h64V496c0 8.8 7.2 16 16 16s16-7.2 16-16V384h21.6c21.3 0 36.6-20.3 30.8-40.8L205.3 206.4c-7.9-27.5-33-46.4-61.5-46.4H112.3zM384 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 96A64 64 0 1 0 384 0a64 64 0 1 0 0 128zm-15.7 64h31.4c14.3 0 26.8 9.5 30.8 23.2L469.6 352H298.4l39.1-136.8c3.9-13.7 16.5-23.2 30.8-23.2zm0-32c-28.6 0-53.7 18.9-61.5 46.4L267.7 343.2c-5.8 20.4 9.5 40.8 30.8 40.8H320V496c0 8.8 7.2 16 16 16s16-7.2 16-16V384h64V496c0 8.8 7.2 16 16 16s16-7.2 16-16V384h21.6c21.3 0 36.6-20.3 30.8-40.8L461.3 206.4c-7.8-27.5-33-46.4-61.5-46.4H368.3z\"]\n};\nvar faCheckDouble = {\n prefix: 'fal',\n iconName: 'check-double',\n icon: [448, 512, [], \"f560\", \"M331.3 75.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L160 201.4 91.3 132.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l80 80c6.2 6.2 16.4 6.2 22.6 0l160-160zm112 112c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L160 425.4 27.3 292.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l144 144c6.2 6.2 16.4 6.2 22.6 0l272-272z\"]\n};\nvar faArrowDownAZ = {\n prefix: 'fal',\n iconName: 'arrow-down-a-z',\n icon: [576, 512, [\"sort-alpha-asc\", \"sort-alpha-down\"], \"f15d\", \"M267.3 379.3l-96 96c-6.2 6.2-16.4 6.2-22.6 0l-96-96c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L144 425.4V48c0-8.8 7.2-16 16-16s16 7.2 16 16V425.4l68.7-68.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zm163-338.5l63.9 127.7c.1 .2 .2 .4 .3 .6l15.8 31.7c4 7.9 .7 17.5-7.2 21.5s-17.5 .7-21.5-7.2L470.1 192H361.9l-11.6 23.2c-4 7.9-13.6 11.1-21.5 7.2s-11.1-13.6-7.2-21.5l15.8-31.7c.1-.2 .2-.4 .3-.6L401.7 40.8c2.7-5.4 8.2-8.8 14.3-8.8s11.6 3.4 14.3 8.8zM416 83.8L377.9 160h76.2L416 83.8zM352 288H480c6.2 0 11.8 3.5 14.4 9.1s1.9 12.1-1.9 16.9L385.3 448H480c8.8 0 16 7.2 16 16s-7.2 16-16 16H352c-6.2 0-11.8-3.5-14.4-9.1s-1.9-12.1 1.9-16.9L446.7 320H352c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faSortAlphaAsc = faArrowDownAZ;\nvar faSortAlphaDown = faArrowDownAZ;\nvar faBowlingBallPin = {\n prefix: 'fal',\n iconName: 'bowling-ball-pin',\n icon: [576, 512, [], \"e0c3\", \"M464 32c22.1 0 40 17.9 40 40v4.4c0 6.4-.8 12.8-2.3 19l-9.4 37.4c-2.2 8.9-3.6 18-4.1 27.2H439.8c-.5-9.2-1.9-18.3-4.1-27.2l-9.4-37.4c-1.6-6.2-2.3-12.6-2.3-19V72c0-22.1 17.9-40 40-40zM432.5 219c3-8.8 5-17.8 6.2-27h50.5c1.8 13.4 5.4 26.5 10.8 38.9l30.8 70.4c8.6 19.8 13.1 41.1 13.1 62.7c0 26.2-6.6 51.9-19.1 74.9L502.5 480h-77l-20.9-38.3c-6.6 9.5-13.9 18.4-21.8 26.8l16.9 31c4.2 7.7 12.3 12.5 21.1 12.5h86.5c8.8 0 16.9-4.8 21.1-12.5L553 454.2c15.1-27.7 23-58.7 23-90.2c0-26-5.4-51.7-15.8-75.5l-30.8-70.4c-6.2-14.2-9.4-29.4-9.4-44.9v-5.5c0-9.2 1.1-18.3 3.3-27.2l9.4-37.4c2.2-8.8 3.3-17.7 3.3-26.8V72c0-39.8-32.2-72-72-72s-72 32.2-72 72v4.4c0 9 1.1 18 3.3 26.8l9.4 37.4c2.2 8.9 3.3 18 3.3 27.2v3.5c9.9 14.8 18.1 30.8 24.5 47.7zM208 128a176 176 0 1 1 0 352 176 176 0 1 1 0-352zm0 384a208 208 0 1 0 0-416 208 208 0 1 0 0 416zm-8-224a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm-56-40a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm56-40a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faBellSchoolSlash = {\n prefix: 'fal',\n iconName: 'bell-school-slash',\n icon: [640, 512, [], \"f5d6\", \"M480 208C480 93.1 386.9 0 272 0c-45.8 0-88.1 14.8-122.5 39.9l26.3 20.7C203.4 42.5 236.5 32 272 32c97.2 0 176 78.8 176 176c0 20.8-3.6 40.8-10.3 59.4L464 288.1c10.3-24.7 16-51.7 16-80.1zM96 208c0-14.9 1.8-29.3 5.3-43.1L74.2 143.5C67.6 163.8 64 185.5 64 208c0 59 24.6 112.2 64 150.1V448c0 35.3 28.7 64 64 64H336h16H480c15.9 0 30.4-5.8 41.6-15.3L495.4 476c-4.6 2.5-9.8 4-15.4 4H407.4c5.4-9.4 8.6-20.3 8.6-32V413.3l-32-25.3V448c0 17.7-14.3 32-32 32H336 192c-17.7 0-32-14.3-32-32V383.3C192.3 404 230.8 416 272 416c39.8 0 77-11.2 108.6-30.6L353.5 364c-24.4 12.8-52.1 20-81.5 20c-97.2 0-176-78.8-176-176zm176-80c-3.4 0-6.8 .2-10.1 .6l89.6 70.7C347.2 159.2 313.3 128 272 128zM25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4z\"]\n};\nvar faPlusLarge = {\n prefix: 'fal',\n iconName: 'plus-large',\n icon: [512, 512, [], \"e59e\", \"M272 16c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 224L16 240c-8.8 0-16 7.2-16 16s7.2 16 16 16l224 0 0 224c0 8.8 7.2 16 16 16s16-7.2 16-16l0-224 224 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-224 0 0-224z\"]\n};\nvar faMoneyBillWheat = {\n prefix: 'fal',\n iconName: 'money-bill-wheat',\n icon: [512, 512, [], \"e52a\", \"M224 80v5.3c-18.6-6.6-32-24.4-32-45.3V34.7c18.6 6.6 32 24.4 32 45.3zM160 16V40c0 31.7 18.4 59 45.1 72c-26.7 13-45.1 40.3-45.1 72v24c0 8.8 7.2 16 16 16c44.2 0 80-35.8 80-80v-8V104 80c0-44.2-35.8-80-80-80c-8.8 0-16 7.2-16 16zM48 16c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H48zM16 96c-8.8 0-16 7.2-16 16s7.2 16 16 16H144c8.8 0 16-7.2 16-16s-7.2-16-16-16H16zm16 96c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H48c-8.8 0-16 7.2-16 16zM336 85.3c-18.6-6.6-32-24.4-32-45.3V34.7c18.6 6.6 32 24.4 32 45.3v5.3zM288 0c-8.8 0-16 7.2-16 16V40c0 31.7 18.4 59 45.1 72c-26.7 13-45.1 40.3-45.1 72v24c0 8.8 7.2 16 16 16c44.2 0 80-35.8 80-80v-8V104 80c0-44.2-35.8-80-80-80zM448 80v5.3c-18.6-6.6-32-24.4-32-45.3V34.7c18.6 6.6 32 24.4 32 45.3zM384 16V40c0 31.7 18.4 59 45.1 72c-26.7 13-45.1 40.3-45.1 72v24c0 8.8 7.2 16 16 16c44.2 0 80-35.8 80-80v-8V104 80c0-44.2-35.8-80-80-80c-8.8 0-16 7.2-16 16zM304 189.3V184c0-20.9 13.4-38.7 32-45.3V144c0 20.9-13.4 38.7-32 45.3zM192 184c0-20.9 13.4-38.7 32-45.3V144c0 20.9-13.4 38.7-32 45.3V184zm224 5.3V184c0-20.9 13.4-38.7 32-45.3V144c0 20.9-13.4 38.7-32 45.3zM480 304v32c-26.5 0-48-21.5-48-48h32c8.8 0 16 7.2 16 16zM32 368c44.2 0 80-35.8 80-80H400c0 44.2 35.8 80 80 80v32c-44.2 0-80 35.8-80 80H112c0-44.2-35.8-80-80-80V368zM432 480c0-26.5 21.5-48 48-48v32c0 8.8-7.2 16-16 16H432zM32 432c26.5 0 48 21.5 48 48H48c-8.8 0-16-7.2-16-16V432zM80 288c0 26.5-21.5 48-48 48V304c0-8.8 7.2-16 16-16H80zM48 256c-26.5 0-48 21.5-48 48V464c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48H48zM224 384a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm96 0a64 64 0 1 0 -128 0 64 64 0 1 0 128 0z\"]\n};\nvar faCameraViewfinder = {\n prefix: 'fal',\n iconName: 'camera-viewfinder',\n icon: [512, 512, [\"screenshot\"], \"e0da\", \"M0 48v96c0 8.8 7.2 16 16 16s16-7.2 16-16V48c0-8.8 7.2-16 16-16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H48C21.5 0 0 21.5 0 48zM216.6 96c-16.7 0-31.6 10.3-37.5 26l-2.3 6H152c-30.9 0-56 25.1-56 56V328c0 30.9 25.1 56 56 56H360c30.9 0 56-25.1 56-56V184c0-30.9-25.1-56-56-56H335.1l-2.3-6C327 106.3 312 96 295.4 96H216.6zm-7.5 37.2c1.2-3.1 4.2-5.2 7.5-5.2h78.7c3.3 0 6.3 2.1 7.5 5.2l6.2 16.4c2.3 6.2 8.3 10.4 15 10.4h36c13.3 0 24 10.7 24 24V328c0 13.3-10.7 24-24 24H152c-13.3 0-24-10.7-24-24V184c0-13.3 10.7-24 24-24h36c6.7 0 12.6-4.1 15-10.4l6.2-16.4zM224 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm96 0a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zM464 0H368c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c8.8 0 16 7.2 16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V48c0-26.5-21.5-48-48-48zM0 464c0 26.5 21.5 48 48 48h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H48c-8.8 0-16-7.2-16-16V368c0-8.8-7.2-16-16-16s-16 7.2-16 16v96zm464 48c26.5 0 48-21.5 48-48V368c0-8.8-7.2-16-16-16s-16 7.2-16 16v96c0 8.8-7.2 16-16 16H368c-8.8 0-16 7.2-16 16s7.2 16 16 16h96z\"]\n};\nvar faScreenshot = faCameraViewfinder;\nvar faMessageMusic = {\n prefix: 'fal',\n iconName: 'message-music',\n icon: [512, 512, [\"comment-alt-music\"], \"f8af\", \"M192 416c0-17.7-14.3-32-32-32H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H448c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H309.3c-6.9 0-13.7 2.2-19.2 6.4L192 464V416zM64 0C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h64 32v32 48c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L309.3 416H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM345.1 82.8c-4.3-3-9.8-3.7-14.7-1.8l-128 48c-6.2 2.3-10.4 8.3-10.4 15v90.5c-5-1.6-10.4-2.5-16-2.5c-26.5 0-48 19.7-48 44s21.5 44 48 44s48-19.7 48-44c0-.8 0-1.6-.1-2.5c0-.5 .1-1 .1-1.5V155.1l96-36v83.4c-5-1.6-10.4-2.5-16-2.5c-26.5 0-48 19.7-48 44s21.5 44 48 44s48-19.7 48-44c0-.8 0-1.6-.1-2.5c0-.5 .1-1 .1-1.5V96c0-5.2-2.6-10.2-6.9-13.2zM320 244c0 4.1-4.5 12-16 12s-16-7.9-16-12s4.5-12 16-12s16 7.9 16 12zM192 276c0 4.1-4.5 12-16 12s-16-7.9-16-12s4.5-12 16-12s16 7.9 16 12z\"]\n};\nvar faCommentAltMusic = faMessageMusic;\nvar faCarBuilding = {\n prefix: 'fal',\n iconName: 'car-building',\n icon: [640, 512, [], \"f859\", \"M64 32H288c17.7 0 32 14.3 32 32V165.2c9.4-7.6 20.3-13.4 32-17V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V416c0 35.3 28.7 64 64 64H224V448H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32zM264 192H216c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h41.6c3.7-3.7 7.7-7.1 11.9-10.2l18.3-64.2C286.7 201.5 276.5 192 264 192zM88 64C74.7 64 64 74.7 64 88v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V88c0-13.3-10.7-24-24-24H88zm8 64V96h32v32H96zm96-40v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V88c0-13.3-10.7-24-24-24H216c-13.3 0-24 10.7-24 24zm32 8h32v32H224V96zM88 192c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V216c0-13.3-10.7-24-24-24H88zm8 64V224h32v32H96zm128-32h32v32H224V224zM88 320c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V344c0-13.3-10.7-24-24-24H88zm8 64V352h32v32H96zM380.2 208H515.8c14.3 0 26.8 9.5 30.8 23.2L562.8 288c-.9 0-1.9 0-2.8 0H336c-.9 0-1.9 0-2.8 0l16.2-56.8c3.9-13.7 16.5-23.2 30.8-23.2zm-61.5 14.4L297 298.1c-24.5 13.7-41 39.9-41 69.9v48 16 32 32c0 8.8 7.2 16 16 16s16-7.2 16-16V464H608v32c0 8.8 7.2 16 16 16s16-7.2 16-16V464 432 416 368c0-30-16.6-56.2-41-69.9l-21.6-75.7c-7.8-27.5-33-46.4-61.5-46.4H380.2c-28.6 0-53.7 18.9-61.5 46.4zM608 416v16H288V416 368c0-26.5 21.5-48 48-48H560c26.5 0 48 21.5 48 48v48zM336 400a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm248-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faBorderBottomRight = {\n prefix: 'fal',\n iconName: 'border-bottom-right',\n icon: [448, 512, [\"border-style-alt\"], \"f854\", \"M448 64c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 352c0 17.7-14.3 32-32 32L32 448c-8.8 0-16 7.2-16 16s7.2 16 16 16l352 0c35.3 0 64-28.7 64-64l0-352zM320 88a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM128 88a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm96-48a24 24 0 1 0 0 48 24 24 0 1 0 0-48zM32 88a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0 144a24 24 0 1 0 0 48 24 24 0 1 0 0-48zm0-48a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0 144a24 24 0 1 0 0 48 24 24 0 1 0 0-48z\"]\n};\nvar faBorderStyleAlt = faBorderBottomRight;\nvar faOctagon = {\n prefix: 'fal',\n iconName: 'octagon',\n icon: [512, 512, [128721], \"f306\", \"M161.5 43.7L43.7 161.5C36.2 169 32 179.2 32 189.8V322.2c0 10.6 4.2 20.8 11.7 28.3L161.5 468.3c7.5 7.5 17.7 11.7 28.3 11.7H322.2c10.6 0 20.8-4.2 28.3-11.7L468.3 350.5c7.5-7.5 11.7-17.7 11.7-28.3V189.8c0-10.6-4.2-20.8-11.7-28.3L350.5 43.7C343 36.2 332.8 32 322.2 32H189.8c-10.6 0-20.8 4.2-28.3 11.7zM21.1 138.9L138.9 21.1C152.4 7.6 170.7 0 189.8 0H322.2c19.1 0 37.4 7.6 50.9 21.1L490.9 138.9c13.5 13.5 21.1 31.8 21.1 50.9V322.2c0 19.1-7.6 37.4-21.1 50.9L373.1 490.9c-13.5 13.5-31.8 21.1-50.9 21.1H189.8c-19.1 0-37.4-7.6-50.9-21.1L21.1 373.1C7.6 359.6 0 341.3 0 322.2V189.8c0-19.1 7.6-37.4 21.1-50.9z\"]\n};\nvar faCommentArrowUpRight = {\n prefix: 'fal',\n iconName: 'comment-arrow-up-right',\n icon: [512, 512, [], \"e145\", \"M32 240c0-91.4 93.8-176 224-176s224 84.6 224 176s-93.8 176-224 176c-32 0-63-5.9-93.5-16.2c-9.9-3.3-20.7-1.8-29.2 4.2c-15.4 10.7-31.4 20-48.4 27.4L91.2 446l-6.4-14.7c-10.5 4.6-21.5 8.6-32.7 11.5c.5-.9 1.1-1.8 1.6-2.6C68 416.5 76.3 391 79.4 363.9c1-9.2-2.1-17.7-7.4-23.9c-24.5-29.4-40-62.9-40-100zM256 32C114.5 32 0 125.2 0 240c0 46.6 19.6 87.1 47.4 120.5c0 .1 .1 .1 .1 .2c-2.6 22.6-9.5 43.5-21.3 63.1c-6.5 10.8-13.5 20.8-21.7 29c-4.5 4.6-5.9 11.5-3.4 17.4s8.3 9.8 14.8 9.8c28.7 0 57.6-8.9 81.6-19.3c19.2-8.4 37.1-18.7 53.9-30.5c.2-.1 .5-.2 .7-.1C185.5 441.3 220 448 256 448c141.5 0 256-93.2 256-208S397.5 32 256 32zM192 152c-8.8 0-16 7.2-16 16s7.2 16 16 16h89.4L172.7 292.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L304 206.6V296c0 8.8 7.2 16 16 16s16-7.2 16-16V168c0-8.8-7.2-16-16-16H192z\"]\n};\nvar faOctagonDivide = {\n prefix: 'fal',\n iconName: 'octagon-divide',\n icon: [512, 512, [], \"e203\", \"M191.5 32.1c-10.6 0-20.8 4.2-28.3 11.7L43.8 163.2c-7.5 7.5-11.7 17.7-11.7 28.3v129c0 10.6 4.2 20.8 11.7 28.3L21.2 371.4C7.7 357.9 .1 339.6 .1 320.5v-129c0-19.1 7.6-37.4 21.1-50.9L140.6 21.2C154.1 7.7 172.4 .1 191.5 .1h129c19.1 0 37.4 7.6 50.9 21.1L490.8 140.6c13.5 13.5 21.1 31.8 21.1 50.9v129c0 19.1-7.6 37.4-21.1 50.9L371.4 490.8c-13.5 13.5-31.8 21.1-50.9 21.1h-129c-19.1 0-37.4-7.6-50.9-21.1L21.2 371.4l22.6-22.6L163.2 468.2c7.5 7.5 17.7 11.7 28.3 11.7h129c10.6 0 20.8-4.2 28.3-11.7L468.2 348.8c7.5-7.5 11.7-17.7 11.7-28.3v-129c0-10.6-4.2-20.8-11.7-28.3L348.8 43.8c-7.5-7.5-17.7-11.7-28.3-11.7h-129zM256 136a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM160 240H352c8.8 0 16 7.2 16 16s-7.2 16-16 16H160c-8.8 0-16-7.2-16-16s7.2-16 16-16zm72 112a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faCookie = {\n prefix: 'fal',\n iconName: 'cookie',\n icon: [512, 512, [127850], \"f563\", \"M242.7 48.7c-15.4-2.2-31.1 .6-44.8 7.9l-74 39.5C110.1 103.4 99.1 115 92.2 129L55.5 204.6c-6.8 14.1-9.1 30-6.4 45.4l14.5 82.8c2.7 15.4 10.2 29.6 21.4 40.4l60.3 58.4c11.2 10.9 25.5 17.9 40.9 20l83 11.7c15.4 2.2 31.1-.6 44.8-7.9l74-39.5c13.7-7.3 24.8-18.8 31.7-32.9l36.7-75.5c6.8-14.1 9.1-30 6.4-45.4l-14.6-82.8c-2.7-15.4-10.2-29.6-21.4-40.4L366.6 80.5c-11.2-10.9-25.5-17.9-40.9-20l-83-11.7zM182.8 28.4c19.7-10.5 42.3-14.5 64.4-11.4l83 11.7c22.1 3.1 42.7 13.2 58.7 28.7l60.3 58.4c16.1 15.6 26.8 35.8 30.7 57.9l14.6 82.8c3.9 22.1 .7 44.8-9.1 64.9L448.6 397c-9.8 20.1-25.7 36.6-45.4 47.2l-74 39.5c-19.7 10.5-42.3 14.5-64.4 11.4l-83-11.7c-22.1-3.1-42.7-13.2-58.7-28.7L62.8 396.2C46.8 380.6 36 360.3 32.2 338.3L17.6 255.5c-3.9-22.1-.7-44.8 9.1-64.9L63.4 115c9.8-20.1 25.7-36.6 45.4-47.2l74-39.5zM160 168a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm8 184a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM288 232a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm8-104a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm56 200a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faArrowRotateLeft = {\n prefix: 'fal',\n iconName: 'arrow-rotate-left',\n icon: [512, 512, [8634, \"arrow-left-rotate\", \"arrow-rotate-back\", \"arrow-rotate-backward\", \"undo\"], \"f0e2\", \"M48 192c-8.8 0-16-7.2-16-16V48c0-8.8 7.2-16 16-16s16 7.2 16 16v92.6C103.2 75.5 174.5 32 256 32c123.7 0 224 100.3 224 224s-100.3 224-224 224c-79.9 0-150-41.8-189.7-104.8C59.8 364.8 67.7 352 80 352c6 0 11.4 3.2 14.7 8.2C128.9 413 188.4 448 256 448c106 0 192-86 192-192s-86-192-192-192c-71.1 0-133.1 38.6-166.3 96H176c8.8 0 16 7.2 16 16s-7.2 16-16 16H48z\"]\n};\nvar faArrowLeftRotate = faArrowRotateLeft;\nvar faArrowRotateBack = faArrowRotateLeft;\nvar faArrowRotateBackward = faArrowRotateLeft;\nvar faUndo = faArrowRotateLeft;\nvar faTvMusic = {\n prefix: 'fal',\n iconName: 'tv-music',\n icon: [640, 512, [], \"f8e6\", \"M576 32c17.7 0 32 14.3 32 32V384c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H576zM64 0C28.7 0 0 28.7 0 64V384c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM96 496c0 8.8 7.2 16 16 16H528c8.8 0 16-7.2 16-16s-7.2-16-16-16H112c-8.8 0-16 7.2-16 16zM409.1 98.8c-4.3-3-9.8-3.7-14.7-1.8l-128 48c-6.2 2.3-10.4 8.3-10.4 15v90.5c-5-1.6-10.4-2.5-16-2.5c-26.5 0-48 19.7-48 44s21.5 44 48 44s48-19.7 48-44c0-.8 0-1.6-.1-2.5c0-.5 .1-1 .1-1.5V171.1l96-36v83.4c-5-1.6-10.4-2.5-16-2.5c-26.5 0-48 19.7-48 44s21.5 44 48 44s48-19.7 48-44c0-.8 0-1.6-.1-2.5c0-.5 .1-1 .1-1.5V112c0-5.2-2.6-10.2-6.9-13.2zM384 260c0 4.1-4.5 12-16 12s-16-7.9-16-12s4.5-12 16-12s16 7.9 16 12zM256 292c0 4.1-4.5 12-16 12s-16-7.9-16-12s4.5-12 16-12s16 7.9 16 12z\"]\n};\nvar faHardDrive = {\n prefix: 'fal',\n iconName: 'hard-drive',\n icon: [512, 512, [128436, \"hdd\"], \"f0a0\", \"M64 64C46.3 64 32 78.3 32 96V264.6c9.4-5.4 20.3-8.6 32-8.6H448c11.7 0 22.6 3.1 32 8.6V96c0-17.7-14.3-32-32-32H64zM32 320v96c0 17.7 14.3 32 32 32H448c17.7 0 32-14.3 32-32V320c0-17.7-14.3-32-32-32H64c-17.7 0-32 14.3-32 32zM0 320V96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V320v96c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V320zm320 24a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm72 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faHdd = faHardDrive;\nvar faReel = {\n prefix: 'fal',\n iconName: 'reel',\n icon: [448, 512, [], \"e238\", \"M0 16C0 7.2 7.2 0 16 0H80 368h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H384V96c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V32H16C7.2 32 0 24.8 0 16zM96 32V80H352V32H96zM64 160c0-8.8 7.2-16 16-16H368c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16zm0 64c0-8.8 7.2-16 16-16H432c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16zm0 64c0-8.8 7.2-16 16-16H368c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16zm0 64c0-8.8 7.2-16 16-16H368c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16zM16 512c-8.8 0-16-7.2-16-16s7.2-16 16-16H64V416c0-8.8 7.2-16 16-16H368c8.8 0 16 7.2 16 16v64h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H368 80 16zm80-80v48H352V432H96z\"]\n};\nvar faFaceGrinSquintTears = {\n prefix: 'fal',\n iconName: 'face-grin-squint-tears',\n icon: [512, 512, [129315, \"grin-squint-tears\"], \"f586\", \"M421 91.1c1.3-6.5 2.8-13.3 4.5-19.8c2.3-9.2 4.9-17.3 7.5-23.6c2.3-5.7 4-8.1 4.4-8.7c.1-.1 .1-.2 0-.1c9-9 24.7-9.5 35 .9s9.8 26 .9 35c.1-.1 0 0-.1 0c-.5 .4-3 2-8.7 4.4c-6.4 2.6-14.5 5.1-23.6 7.5c-6.6 1.7-13.3 3.2-19.8 4.5zm-36.9 26c-1 6.4 4.4 11.8 10.8 10.8c25.8-3.5 84-13.6 100.9-30.5c22-22 21.5-57.9-.9-80.3s-58.3-22.8-80.3-.9c-16.9 16.9-26.9 75.2-30.5 100.9zM32 256C32 132.3 132.3 32 256 32c31.4 0 61.2 6.4 88.3 18.1c8.1 3.5 17.5-.3 21-8.4s-.3-17.5-8.4-21C325.9 7.4 291.8 0 256 0C114.6 0 0 114.6 0 256c0 36.4 7.6 71 21.3 102.4c3.5 8.1 13 11.8 21.1 8.3s11.8-13 8.3-21.1C38.7 318.2 32 287.9 32 256zM490.7 153.6c-3.5-8.1-13-11.8-21.1-8.3s-11.8 13-8.3 21.1c12 27.4 18.6 57.7 18.6 89.6c0 123.7-100.3 224-224 224c-32.4 0-63.1-6.9-90.9-19.2c-8.1-3.6-17.5 0-21.1 8.1s0 17.5 8.1 21.1c31.8 14.1 66.9 22 103.9 22c141.4 0 256-114.6 256-256c0-36.4-7.6-71-21.3-102.4zM325.4 325.4c22.1-22 41.4-45.4 57.7-69.5c.7 32.6-11.4 65.6-36.5 90.7s-58 37.2-90.7 36.5c24-16.3 47.4-35.6 69.5-57.7zm79.3-122.7c-4.6-11.9-20.6-11.1-26.7 .2c-18.5 34.3-43.8 68.4-75.2 99.8s-65.5 56.7-99.8 75.2c-11.3 6.1-12.2 22.1-.2 26.7c55.6 21.5 121.4 9.7 166.5-35.5s57-110.9 35.5-166.5zM104.8 284c2.8 8.4 11.9 12.9 20.2 10.1l37.5-12.5L150 319.1c-2.8 8.4 1.7 17.4 10.1 20.2s17.4-1.7 20.2-10.1L203 261.3c1.9-5.7 .4-12.1-3.9-16.4s-10.6-5.8-16.4-3.9l-67.9 22.6c-8.4 2.8-12.9 11.9-10.1 20.2zM294.1 125c2.8-8.4-1.7-17.4-10.1-20.2s-17.4 1.7-20.2 10.1l-22.6 67.9c-1.9 5.7-.4 12.1 3.9 16.4s10.6 5.8 16.4 3.9l67.9-22.6c8.4-2.8 12.9-11.9 10.1-20.2s-11.9-12.9-20.2-10.1l-37.5 12.5L294.1 125zM71.2 425.4c6.6-1.7 13.3-3.2 19.8-4.5c-1.3 6.5-2.8 13.3-4.5 19.8c-2.3 9.2-4.9 17.3-7.5 23.6c-2.3 5.7-4 8.1-4.4 8.7c-.1 .1-.1 .1 0 .1c-9 9-24.7 9.5-35-.9s-9.8-26-.9-35c-.1 .1 0 0 .1 0c.5-.4 3-2 8.7-4.4c6.4-2.6 14.5-5.1 23.6-7.5zm45.9-41.3c-25.8 3.5-84 13.6-100.9 30.5c-22 22-21.5 57.9 .9 80.3s58.3 22.8 80.3 .9c16.9-16.9 26.9-75.2 30.5-100.9c1-6.4-4.4-11.8-10.8-10.8z\"]\n};\nvar faGrinSquintTears = faFaceGrinSquintTears;\nvar faDumbbell = {\n prefix: 'fal',\n iconName: 'dumbbell',\n icon: [640, 512, [], \"f44b\", \"M208 64c8.8 0 16 7.2 16 16V256 432c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V368 144 80c0-8.8 7.2-16 16-16h32zM128 413.3V432c0 26.5 21.5 48 48 48h32c26.5 0 48-21.5 48-48V272H384V432c0 26.5 21.5 48 48 48h32c26.5 0 48-21.5 48-48V413.3c5 1.8 10.4 2.7 16 2.7h32c26.5 0 48-21.5 48-48V272h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H608V144c0-26.5-21.5-48-48-48H528c-5.6 0-11 1-16 2.7V80c0-26.5-21.5-48-48-48H432c-26.5 0-48 21.5-48 48V240H256V80c0-26.5-21.5-48-48-48H176c-26.5 0-48 21.5-48 48V98.7C123 97 117.6 96 112 96H80c-26.5 0-48 21.5-48 48v96H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H32v96c0 26.5 21.5 48 48 48h32c5.6 0 11-1 16-2.7zM512 144c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16V256 368c0 8.8-7.2 16-16 16H528c-8.8 0-16-7.2-16-16V144zM480 368v64c0 8.8-7.2 16-16 16H432c-8.8 0-16-7.2-16-16V256 80c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v64V368zM128 144V368c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V256 144c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16z\"]\n};\nvar faRectangleList = {\n prefix: 'fal',\n iconName: 'rectangle-list',\n icon: [576, 512, [\"list-alt\"], \"f022\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H512c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm104 64a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm88 0c0-8.8 7.2-16 16-16H464c8.8 0 16 7.2 16 16s-7.2 16-16 16H208c-8.8 0-16-7.2-16-16zm0 96c0-8.8 7.2-16 16-16H464c8.8 0 16 7.2 16 16s-7.2 16-16 16H208c-8.8 0-16-7.2-16-16zm0 96c0-8.8 7.2-16 16-16H464c8.8 0 16 7.2 16 16s-7.2 16-16 16H208c-8.8 0-16-7.2-16-16zm-64-72a24 24 0 1 1 0-48 24 24 0 1 1 0 48zm-24 72a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faListAlt = faRectangleList;\nvar faTarpDroplet = {\n prefix: 'fal',\n iconName: 'tarp-droplet',\n icon: [576, 512, [], \"e57c\", \"M328 113.5l0 0s0 0 0 0c0-.1-.1-1.1-.6-3.1c-.6-2.3-1.7-5.3-3.2-8.9c-3.2-7.4-7.9-16-13.7-25.3c-7-11.3-15-22.6-22.4-32.6c-7.4 10-15.4 21.3-22.4 32.6c-5.8 9.3-10.5 17.9-13.7 25.3c-1.6 3.6-2.6 6.6-3.2 8.9c-.5 2-.6 3-.6 3.1c0 0 0 0 0 0l0 0c0 17.7 15.9 35.5 40 35.5s40-17.8 40-35.5zm32 0c0 37.3-32.2 67.5-72 67.5s-72-30.2-72-67.5c0-27.7 39.7-81.3 60.2-107c6.1-7.7 17.5-7.7 23.7 0c20.4 25.7 60.2 79.3 60.2 107zM64 128H193.3c1.9 11.5 5.9 22.3 11.5 32L64 160c-17.7 0-32 14.3-32 32l0 256c0 17.7 14.3 32 32 32l320 0 0-112c0-26.5 21.5-48 48-48H544V192c0-17.7-14.3-32-32-32H371.2c5.6-9.7 9.6-20.5 11.5-32H512c35.3 0 64 28.7 64 64V348.1c0 12.7-5.1 24.9-14.1 33.9L446.1 497.9c-9 9-21.2 14.1-33.9 14.1L64 512c-35.3 0-64-28.7-64-64V192c0-35.3 28.7-64 64-64zM423.4 475.3L539.3 359.4c2.1-2.1 3.5-4.6 4.2-7.4H432c-8.8 0-16 7.2-16 16l0 111.5c2.8-.7 5.4-2.1 7.4-4.2zM96 200a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faAlarmExclamation = {\n prefix: 'fal',\n iconName: 'alarm-exclamation',\n icon: [512, 512, [], \"f843\", \"M92.2 0C41.3 0 0 41.3 0 92.2c0 18.2 5.3 35.2 14.4 49.5c4.7 7.5 14.6 9.6 22.1 4.9s9.6-14.6 4.9-22.1c-5.9-9.3-9.4-20.4-9.4-32.3C32 58.9 58.9 32 92.2 32c15.8 0 30.2 6.1 40.9 16.1c6.5 6 16.6 5.6 22.6-.8s5.6-16.6-.8-22.6C138.4 9.3 116.4 0 92.2 0zM357.1 24.6c-6.5 6-6.9 16.1-.8 22.6s16.1 6.9 22.6 .8C389.6 38.1 404 32 419.8 32C453 32 480 58.9 480 92.2c0 11.9-3.4 23-9.4 32.3c-4.7 7.5-2.6 17.3 4.9 22.1s17.3 2.6 22.1-4.9c9.1-14.3 14.4-31.3 14.4-49.5C512 41.3 470.7 0 419.8 0c-24.2 0-46.3 9.3-62.7 24.6zM59.3 507.3l50-50C148.6 491.4 199.9 512 256 512s107.4-20.6 146.7-54.7l50 50c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-50-50C459.4 395.4 480 344.1 480 288C480 164.3 379.7 64 256 64S32 164.3 32 288c0 56.1 20.6 107.4 54.7 146.7l-50 50c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0zM256 96a192 192 0 1 1 0 384 192 192 0 1 1 0-384zm0 64c-8.8 0-16 7.2-16 16V320c0 8.8 7.2 16 16 16s16-7.2 16-16V176c0-8.8-7.2-16-16-16zm24 224a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faHouseMedicalCircleCheck = {\n prefix: 'fal',\n iconName: 'house-medical-circle-check',\n icon: [640, 512, [], \"e511\", \"M298.6 4c-6-5.3-15.1-5.3-21.2 0L5.4 244c-6.6 5.8-7.3 16-1.4 22.6s16 7.3 22.6 1.4L64 235V432c0 44.2 35.8 80 80 80H394.8c-12.9-9.1-24.5-19.9-34.6-32H144c-26.5 0-48-21.5-48-48V206.7L288 37.3 466.1 194.5c9.7-1.7 19.7-2.5 29.9-2.5c5.6 0 11.1 .3 16.5 .8L298.6 4zM368 240H336V208c0-17.7-14.3-32-32-32H272c-17.7 0-32 14.3-32 32v32H208c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32h32v32c0 17.7 14.3 32 32 32h32c6.7 0 12.9-2 18-5.5c-1.3-8.6-2-17.5-2-26.5c0-22.6 4.3-44.2 12-64H320c-8.8 0-16 7.2-16 16v48H272V320c0-8.8-7.2-16-16-16H208V272h48c4.2 0 8.3-1.7 11.3-4.7s4.7-7.1 4.7-11.3V208h32v48c0 8.8 7.2 16 16 16h28.5c7.5-11.4 16.2-22 26-31.3c-2.1-.4-4.3-.7-6.5-.7zm128 16a112 112 0 1 1 0 224 112 112 0 1 1 0-224zm0 256a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm44.7-187.3L480 385.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0z\"]\n};\nvar faTrafficCone = {\n prefix: 'fal',\n iconName: 'traffic-cone',\n icon: [512, 512, [], \"f636\", \"M248.2 32h15.5c3.3 0 6.2 2 7.4 5l49.2 123H191.6L240.8 37c1.2-3 4.2-5 7.4-5zm84.9 160l51.2 128H127.6l51.2-128H333.2zm64 160l51.2 128H63.6l51.2-128H397.2zM211.1 25.1L29.2 480H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H482.8L300.9 25.1C294.8 10 280.1 0 263.8 0H248.2c-16.4 0-31.1 10-37.1 25.1z\"]\n};\nvar faGrate = {\n prefix: 'fal',\n iconName: 'grate',\n icon: [448, 512, [], \"e193\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm96 0h56 72 72 56c17.7 0 32 14.3 32 32V256 384c0 17.7-14.3 32-32 32H296 224 152 96c-17.7 0-32-14.3-32-32V256 128c0-17.7 14.3-32 32-32zm0 32V240h40V128H96zm72 112h40V128H168V240zm72 0h40V128H240V240zm72 0h40V128H312V240zm0 32V384h40V272H312zm-32 0H240V384h40V272zm-72 0H168V384h40V272zm-72 0H96V384h40V272z\"]\n};\nvar faArrowDownRight = {\n prefix: 'fal',\n iconName: 'arrow-down-right',\n icon: [384, 512, [], \"e093\", \"M336 416c8.8 0 16-7.2 16-16V176c0-8.8-7.2-16-16-16s-16 7.2-16 16V361.4L59.3 100.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L297.4 384H112c-8.8 0-16 7.2-16 16s7.2 16 16 16H336z\"]\n};\nvar faPersonSkiingNordic = {\n prefix: 'fal',\n iconName: 'person-skiing-nordic',\n icon: [576, 512, [\"skiing-nordic\"], \"f7ca\", \"M320 56a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm80 0A56 56 0 1 0 288 56a56 56 0 1 0 112 0zM243.4 116.4c-12.7-3.2-26.1-3.2-38.8 0l-1.5 .4c-12.3 3.1-23.7 9-33.3 17.4L117.5 180c-6.7 5.8-7.3 15.9-1.5 22.6c1.5 1.7 3.3 3.1 5.3 4L64.3 476.7c-.2 1.1-.3 2.2-.3 3.3H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H143.7c.2 0 .4 0 .6 0H303.6c.2 0 .5 0 .7 0H512c35.3 0 64-28.7 64-64V432c0-8.8-7.2-16-16-16s-16 7.2-16 16v16c0 17.7-14.3 32-32 32H432.2l29.5-192H464c8.8 0 16-7.2 16-16s-7.2-16-16-16H448.2h-.5H408.1c-7.1 0-13.4-4.7-15.4-11.6l-20.3-71c-4.7-16.5-17.9-29.2-34.5-33.4l-94.5-23.6zM96.4 480L158 187l32.9-28.8c5.7-5 12.6-8.6 20-10.4l1.5-.4c7.6-1.9 15.6-1.9 23.3 0l16.9 4.2L217.2 257.9c-7.3 21.8 2 45.7 22 57l93.3 52.5L292.7 480H167.2l52.9-139.2c-10.2-6.4-18.6-14.9-24.8-24.7L133 480H96.4zm303.8-2.4c-.1 .8-.2 1.6-.2 2.4H326.6l36-102c5.2-14.7-.9-30.9-14.5-38.5l-37.5-21.1c.2-.4 .4-.9 .5-1.3l37.2-111.6L362 253.2c5.9 20.6 24.7 34.8 46.2 34.8h21.2L400.2 477.6zM326.4 170.1L282.3 302.4 254.9 287c-6.7-3.8-9.8-11.7-7.3-19l36.2-108.6 42.7 10.7z\"]\n};\nvar faSkiingNordic = faPersonSkiingNordic;\nvar faCalendarPlus = {\n prefix: 'fal',\n iconName: 'calendar-plus',\n icon: [448, 512, [], \"f271\", \"M112 0c8.8 0 16 7.2 16 16V64H320V16c0-8.8 7.2-16 16-16s16 7.2 16 16V64h32c35.3 0 64 28.7 64 64v32 32V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192 160 128C0 92.7 28.7 64 64 64H96V16c0-8.8 7.2-16 16-16zM416 192H32V448c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V192zM384 96H64c-17.7 0-32 14.3-32 32v32H416V128c0-17.7-14.3-32-32-32zM320 336c0 8.8-7.2 16-16 16H240v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V352H144c-8.8 0-16-7.2-16-16s7.2-16 16-16h64V256c0-8.8 7.2-16 16-16s16 7.2 16 16v64h64c8.8 0 16 7.2 16 16z\"]\n};\nvar faPersonFromPortal = {\n prefix: 'fal',\n iconName: 'person-from-portal',\n icon: [512, 512, [\"portal-exit\"], \"e023\", \"M128 256c0 37.2-1.4 69-3.9 96h32.1c2.5-27.7 3.8-59.6 3.8-96c0-17-.3-33-.8-48c4 .2 8.1-1.1 11.4-3.9l52.4-45.8c5.7-5 12.6-8.6 20-10.4l1.5-.4c7.6-1.9 15.6-1.9 23.3 0l16.9 4.2L249.2 257.9c-7.3 21.8 2 45.7 22 57l93.3 52.5L320.9 490.7c-2.9 8.3 1.4 17.5 9.8 20.4s17.5-1.4 20.4-9.8L394.6 378c5.2-14.7-.9-30.9-14.5-38.5l-37.5-21.1c.2-.4 .4-.9 .5-1.3l37.2-111.6L394 253.2c5.9 20.6 24.7 34.8 46.2 34.8H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H440.1c-7.1 0-13.4-4.7-15.4-11.6l-20.3-71c-4.7-16.5-17.9-29.2-34.5-33.4l-94.5-23.6c-12.7-3.2-26.1-3.2-38.8 0l-1.5 .4c-12.3 3.1-23.7 9-33.3 17.4l-44.6 39C148.1 46.7 117 0 80 0C35.8 0 0 66.6 0 256S35.8 512 80 512c23.3 0 44.3-18.6 59-64H105c-12.3 32-23.5 32-25 32h0 0c-1.6 0-13.6 0-26.4-35.8C40.9 409.1 32 349.5 32 256s8.9-153.1 21.5-188.2C66.4 32 78.4 32 80 32l0 0 0 0c1.6 0 13.6 0 26.4 35.8C119.1 102.9 128 162.5 128 256zM352 56a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm80 0A56 56 0 1 0 320 56a56 56 0 1 0 112 0zM358.4 170.1L314.3 302.4 286.9 287c-6.7-3.8-9.8-11.7-7.3-19l36.2-108.6 42.7 10.7zM226 314.1L197.3 384H112c-8.8 0-16 7.2-16 16s7.2 16 16 16h85.3c13 0 24.7-7.8 29.6-19.8l23.3-56.6c-10-6.7-18.2-15.5-24.1-25.4z\"]\n};\nvar faPortalExit = faPersonFromPortal;\nvar faPlaneArrival = {\n prefix: 'fal',\n iconName: 'plane-arrival',\n icon: [640, 512, [128748], \"f5af\", \"M253.3 32c5.8 0 11.1 3.1 13.9 8.2L388.5 255.7c2.1 3.7 5.6 6.4 9.7 7.6l91.5 25.4c15.9 4.4 30.7 12.3 43.2 23.2l26.7 23.1c11.5 9.9 6.7 28.7-8.1 32c-27.1 6-55.3 5.1-82-2.5L170.5 279.5c-1.8-.5-3.5-1.3-5-2.4L70.9 208.7c-4.2-3-6.6-7.8-6.6-12.9L64 100l34.2 7.6c5.7 1.3 10.2 5.5 11.9 11l18.6 62c1.6 5.3 5.7 9.3 11 10.8l101.8 28.3c5.6 1.6 11.6 0 15.6-4.1s5.6-10.1 4-15.7L213.2 32l40.1 0zm41.8-7.5C286.6 9.4 270.6 0 253.3 0H213.2C192 0 176.6 20.3 182.4 40.8l40.1 140.4-65.8-18.3-16.1-53.6c-5-16.6-18.6-29.3-35.6-33.1L71 68.7C51 64.3 32 79.5 32 100l.2 95.8c0 15.4 7.4 29.8 19.9 38.8L146.8 303c4.5 3.3 9.6 5.7 15 7.3l4.4-15.4-4.4 15.4 298.8 84.9c31.8 9 65.4 10 97.7 2.9c40.6-8.9 53.6-60.3 22.1-87.5l-26.7-23.1c-16.1-13.9-35.1-24.1-55.6-29.8l-85.1-23.7L295.1 24.5zM16 480c-8.8 0-16 7.2-16 16s7.2 16 16 16H624c8.8 0 16-7.2 16-16s-7.2-16-16-16H16zM176 368a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm72 56a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faCowbellCirclePlus = {\n prefix: 'fal',\n iconName: 'cowbell-circle-plus',\n icon: [576, 512, [\"cowbell-more\"], \"f8b4\", \"M176 32h96c8.8 0 16 7.2 16 16V96H160V48c0-8.8 7.2-16 16-16zM128 48V96H112c-21.4 0-40.3 14.2-46.2 34.8l-64 224c-4.1 14.5-1.2 30.1 7.8 42.1S32.9 416 48 416H262.6c-2.9-10.3-4.9-21-5.9-32H48c-5 0-9.8-2.4-12.8-6.4s-4-9.2-2.6-14l64-224c2-6.9 8.2-11.6 15.4-11.6h32H304h32c7.1 0 13.4 4.7 15.4 11.6l18.2 63.8c9.9-3.7 20.2-6.6 30.8-8.6l-18.3-64C376.3 110.2 357.4 96 336 96H320V48c0-26.5-21.5-48-48-48H176c-26.5 0-48 21.5-48 48zM256 448c0 17.7-14.3 32-32 32s-32-14.3-32-32H160c0 35.3 28.7 64 64 64c29.2 0 53.9-19.6 61.5-46.4c-3.8-5.7-7.2-11.5-10.3-17.6H256zm64-80a112 112 0 1 1 224 0 112 112 0 1 1 -224 0zm256 0a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zM448 304c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H368c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v48c0 8.8 7.2 16 16 16s16-7.2 16-16V384h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H448V304z\"]\n};\nvar faCowbellMore = faCowbellCirclePlus;\nvar faCircleLeft = {\n prefix: 'fal',\n iconName: 'circle-left',\n icon: [512, 512, [61840, \"arrow-alt-circle-left\"], \"f359\", \"M32 256a224 224 0 1 1 448 0A224 224 0 1 1 32 256zm480 0A256 256 0 1 0 0 256a256 256 0 1 0 512 0zm-400 0c0 9.2 3.5 18 9.7 24.7l84 91c7.2 7.8 17.4 12.3 28.1 12.3c21.1 0 38.3-17.1 38.3-38.3l0-25.7 80 0c26.5 0 48-21.5 48-48l0-32c0-26.5-21.5-48-48-48l-80 0 0-25.7c0-21.1-17.1-38.3-38.3-38.3c-10.7 0-20.9 4.5-28.1 12.3l-84 91c-6.2 6.7-9.7 15.6-9.7 24.7zm33.2 3c-.8-.8-1.2-1.9-1.2-3s.4-2.2 1.2-3l84-91c1.2-1.3 2.9-2 4.6-2c3.5 0 6.3 2.8 6.3 6.3l0 41.7c0 8.8 7.2 16 16 16l96 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-96 0c-8.8 0-16 7.2-16 16l0 41.7c0 3.5-2.8 6.3-6.3 6.3c-1.7 0-3.4-.7-4.6-2l-84-91z\"]\n};\nvar faArrowAltCircleLeft = faCircleLeft;\nvar faDistributeSpacingVertical = {\n prefix: 'fal',\n iconName: 'distribute-spacing-vertical',\n icon: [512, 512, [], \"e366\", \"M512 464c0-8.8-7.2-16-16-16L16 448c-8.8 0-16 7.2-16 16s7.2 16 16 16l480 0c8.8 0 16-7.2 16-16zM144 320c-8.8 0-16-7.2-16-16l0-96c0-8.8 7.2-16 16-16l224 0c8.8 0 16 7.2 16 16l0 96c0 8.8-7.2 16-16 16l-224 0zm224 32c26.5 0 48-21.5 48-48l0-96c0-26.5-21.5-48-48-48l-224 0c-26.5 0-48 21.5-48 48l0 96c0 26.5 21.5 48 48 48l224 0zM496 64c8.8 0 16-7.2 16-16s-7.2-16-16-16L16 32C7.2 32 0 39.2 0 48s7.2 16 16 16l480 0z\"]\n};\nvar faSignalBarsFair = {\n prefix: 'fal',\n iconName: 'signal-bars-fair',\n icon: [640, 512, [\"signal-alt-2\"], \"f692\", \"M240 288c-8.8 0-16 7.2-16 16V464c0 8.8 7.2 16 16 16s16-7.2 16-16V304c0-8.8-7.2-16-16-16zm-48 16c0-26.5 21.5-48 48-48s48 21.5 48 48V464c0 26.5-21.5 48-48 48s-48-21.5-48-48V304zM96 432c0-8.8-7.2-16-16-16s-16 7.2-16 16v32c0 8.8 7.2 16 16 16s16-7.2 16-16V432zm-64 0c0-26.5 21.5-48 48-48s48 21.5 48 48v32c0 26.5-21.5 48-48 48s-48-21.5-48-48V432z\"]\n};\nvar faSignalAlt2 = faSignalBarsFair;\nvar faSportsball = {\n prefix: 'fal',\n iconName: 'sportsball',\n icon: [512, 512, [], \"e44b\", \"M436.9 52.4l-94.2 94.3c-23.7-27.4-41-60.6-49.2-97.2c41.2-5.3 88.7-4.8 143.5 2.9zM261.9 55c9.5 43.2 29.8 82.4 58.1 114.4l-64 64L138.4 115.8c22.2-19.9 49.1-36.6 81.6-48.7c13-4.8 27-8.9 41.9-12.2zM116.1 138.8L233.4 256l-64 64c-31.6-27.9-70.2-48.1-112.7-57.7c7.5-32.2 19.3-63.5 36.7-92c6.7-11 14.3-21.6 22.8-31.6zm-65.5 155c36.1 8.4 68.9 25.4 96 48.9L52.2 437.2c-6.9-42.8-8.9-93.2-1.5-143.4zM75 459.6l94.3-94.3c23.7 27.4 41 60.6 49.2 97.2c-41.2 5.3-88.7 4.8-143.5-2.9zm175-2.5c-9.5-43.2-29.8-82.4-58.1-114.4l64-64L373.6 396.2c-22.2 19.9-49.1 36.6-81.6 48.7c-13 4.8-27 8.9-41.9 12.2zm145.8-83.8L278.6 256l64-64c31.6 27.9 70.2 48.1 112.8 57.7c-7.5 32.2-19.3 63.5-36.7 92c-6.7 11-14.3 21.6-22.8 31.6zm65.5-155c-36.1-8.4-68.9-25.5-96-48.9l94.5-94.5c6.9 42.8 8.9 93.2 1.5 143.4zm.2-194.4c-103.9-17.4-187-11-252.6 13.3C142.9 61.6 96.7 103.6 66 153.6C5.8 251.8 6.9 378.3 24.4 463.1c2.7 12.9 13 22.9 26.1 25.1c103.9 17.4 187 11 252.6-13.3c66-24.5 112.2-66.5 142.9-116.5c60.2-98.2 59.1-224.7 41.6-309.5c-2.7-12.9-13-22.9-26.1-25.1z\"]\n};\nvar faGameConsoleHandheldCrank = {\n prefix: 'fal',\n iconName: 'game-console-handheld-crank',\n icon: [576, 512, [], \"e5b9\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V272 96c0-17.7-14.3-32-32-32H64zM448 96V256h32V208 160c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32H512v48c0 8.8-7.2 16-16 16H448V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64zM96 128V256H352V128H96zm-32 0c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32V256c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V128zm448 64h32V160H512v32zM128 336v16h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H128v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V384H80c-8.8 0-16-7.2-16-16s7.2-16 16-16H96V336c0-8.8 7.2-16 16-16s16 7.2 16 16zm96 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm104-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faTrainSubway = {\n prefix: 'fal',\n iconName: 'train-subway',\n icon: [448, 512, [\"subway\"], \"f239\", \"M208 32l0 192H32V96c0-35.3 28.7-64 64-64H208zm32 0H352c35.3 0 64 28.7 64 64V224H240l0-192zM32 352V256H416v96c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64zM96 0C43 0 0 43 0 96V352c0 46 32.4 84.4 75.6 93.8L36.7 484.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L118.6 448H329.4l59.3 59.3c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-38.9-38.9C415.6 436.4 448 398 448 352V96c0-53-43-96-96-96H96zm24 352a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm232-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faSubway = faTrainSubway;\nvar faChartGantt = {\n prefix: 'fal',\n iconName: 'chart-gantt',\n icon: [512, 512, [], \"e0e4\", \"M16 32c8.8 0 16 7.2 16 16V400c0 26.5 21.5 48 48 48H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-44.2 0-80-35.8-80-80V48c0-8.8 7.2-16 16-16zM128 144c0-8.8 7.2-16 16-16l128 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-128 0c-8.8 0-16-7.2-16-16zm80 80H368c8.8 0 16 7.2 16 16s-7.2 16-16 16H208c-8.8 0-16-7.2-16-16s7.2-16 16-16zm160 96h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H368c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faFaceSmileUpsideDown = {\n prefix: 'fal',\n iconName: 'face-smile-upside-down',\n icon: [512, 512, [], \"e395\", \"M32 256a224 224 0 1 1 448 0A224 224 0 1 1 32 256zm480 0A256 256 0 1 0 0 256a256 256 0 1 0 512 0zM164.1 186.5C182 165.8 212.6 144 256 144s74 21.8 91.9 42.5c5.8 6.7 15.9 7.4 22.6 1.6s7.4-15.9 1.6-22.6C349.8 139.9 311.1 112 256 112s-93.8 27.9-116.1 53.5c-5.8 6.7-5.1 16.8 1.6 22.6s16.8 5.1 22.6-1.6zM200.4 304a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm136-24a24 24 0 1 0 0 48 24 24 0 1 0 0-48z\"]\n};\nvar faBallPile = {\n prefix: 'fal',\n iconName: 'ball-pile',\n icon: [576, 512, [], \"f77e\", \"M352 96A64 64 0 1 0 224 96a64 64 0 1 0 128 0zm-35.4 91.7c-9 2.8-18.6 4.3-28.6 4.3s-19.5-1.5-28.6-4.3C277.1 205.1 288 229.3 288 256s-10.9 50.9-28.6 68.3c9-2.8 18.6-4.3 28.6-4.3s19.5 1.5 28.6 4.3C298.9 306.9 288 282.7 288 256s10.9-50.9 28.6-68.3zM384 352c-9.9 0-19.5-1.5-28.6-4.3C373.1 365.1 384 389.3 384 416c0 53-43 96-96 96s-96-43-96-96c0-26.7 10.9-50.9 28.6-68.3c-9 2.8-18.6 4.3-28.6 4.3s-19.5-1.5-28.6-4.3C181.1 365.1 192 389.3 192 416c0 53-43 96-96 96s-96-43-96-96s43-96 96-96c9.9 0 19.5 1.5 28.6 4.3C106.9 306.9 96 282.7 96 256c0-53 43-96 96-96c9.9 0 19.5 1.5 28.6 4.3C202.9 146.9 192 122.7 192 96c0-53 43-96 96-96s96 43 96 96c0 26.7-10.9 50.9-28.6 68.3c9-2.8 18.6-4.3 28.6-4.3c53 0 96 43 96 96c0 26.7-10.9 50.9-28.6 68.3c9-2.8 18.6-4.3 28.6-4.3c53 0 96 43 96 96s-43 96-96 96s-96-43-96-96c0-26.7 10.9-50.9 28.6-68.3c-9 2.8-18.6 4.3-28.6 4.3zM256 256a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zM160 416A64 64 0 1 0 32 416a64 64 0 1 0 128 0zm224-96a64 64 0 1 0 0-128 64 64 0 1 0 0 128zM288 480a64 64 0 1 0 0-128 64 64 0 1 0 0 128zm256-64a64 64 0 1 0 -128 0 64 64 0 1 0 128 0z\"]\n};\nvar faBadgeDollar = {\n prefix: 'fal',\n iconName: 'badge-dollar',\n icon: [512, 512, [], \"f645\", \"M190.6 71.4C203 47.9 227.7 32 256 32s53 15.9 65.4 39.4c3.6 6.8 11.5 10.1 18.8 7.8c25.4-7.8 54.1-1.6 74.1 18.4s26.2 48.7 18.4 74.1c-2.3 7.3 1 15.2 7.8 18.8C464.1 203 480 227.7 480 256s-15.9 53-39.4 65.4c-6.8 3.6-10.1 11.5-7.8 18.8c7.8 25.4 1.6 54.1-18.4 74.1s-48.7 26.2-74.1 18.4c-7.3-2.3-15.2 1-18.8 7.8C309 464.1 284.3 480 256 480s-53-15.9-65.4-39.4c-3.6-6.8-11.5-10.1-18.8-7.8c-25.4 7.8-54.1 1.6-74.1-18.4s-26.2-48.7-18.4-74.1c2.3-7.3-1-15.2-7.8-18.8C47.9 309 32 284.3 32 256s15.9-53 39.4-65.4c6.8-3.6 10.1-11.5 7.8-18.8c-7.8-25.4-1.6-54.1 18.4-74.1s48.7-26.2 74.1-18.4c7.3 2.3 15.2-1 18.8-7.8zM256 0c-36.1 0-68 18.1-87.1 45.6c-33-6-68.3 3.8-93.9 29.4s-35.3 60.9-29.4 93.9C18.1 188 0 219.9 0 256s18.1 68 45.6 87.1c-6 33 3.8 68.3 29.4 93.9s60.9 35.3 93.9 29.4C188 493.9 219.9 512 256 512s68-18.1 87.1-45.6c33 6 68.3-3.8 93.9-29.4s35.3-60.9 29.4-93.9C493.9 324 512 292.1 512 256s-18.1-68-45.6-87.1c6-33-3.8-68.3-29.4-93.9s-60.9-35.3-93.9-29.4C324 18.1 292.1 0 256 0zm16.9 140.4c0-8.8-7.2-16-16-16s-16 7.2-16 16v20.8c-9.5 1.5-19.2 4.6-27.7 9.7c-14.1 8.3-25.7 22.7-25.6 43.4c.1 19.6 11.4 32.1 24.4 39.9c11.5 6.9 26.1 11.3 38.4 15l1.7 .5c13.8 4.2 24.8 7.7 32.7 12.6c6.9 4.3 9.3 8.4 9.4 14.3c.1 8.1-3.4 13.2-9.5 17c-6.8 4.3-16.9 6.5-27.3 6.2c-13.4-.4-25.8-4.7-40.9-9.8l0 0 0 0c-2.5-.9-5.2-1.8-7.9-2.7c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2c2.2 .7 4.6 1.5 6.9 2.4c10.6 3.7 22.7 7.8 35.4 10.1v21.3c0 8.8 7.2 16 16 16s16-7.2 16-16V351c10-1.5 20-4.6 28.7-10.1c14.3-8.9 24.9-23.9 24.6-44.6c-.3-19.8-11.3-32.7-24.4-41c-12-7.6-27.4-12.2-40-16l-.4-.1c-13.9-4.2-25-7.6-32.8-12.3c-6.9-4.2-8.9-7.8-8.9-12.7c0-6.8 3.2-11.8 9.9-15.7c7.3-4.3 17.5-6.5 27.1-6.4c11.4 .2 23.7 2.7 36.1 6c8.5 2.3 17.3-2.8 19.6-11.3s-2.8-17.3-11.3-19.6c-8.7-2.3-18.3-4.5-28.1-5.8V140.4z\"]\n};\nvar faMoneyBillsSimple = {\n prefix: 'fal',\n iconName: 'money-bills-simple',\n icon: [640, 512, [\"money-bills-alt\"], \"e1f4\", \"M576 64c17.7 0 32 14.3 32 32V320c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32H576zM160 32c-35.3 0-64 28.7-64 64V320c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H160zM368 272a64 64 0 1 1 0-128 64 64 0 1 1 0 128zm-96-64a96 96 0 1 0 192 0 96 96 0 1 0 -192 0zM32 112c0-8.8-7.2-16-16-16s-16 7.2-16 16V368c0 61.9 50.1 112 112 112H528c8.8 0 16-7.2 16-16s-7.2-16-16-16H112c-44.2 0-80-35.8-80-80V112z\"]\n};\nvar faMoneyBillsAlt = faMoneyBillsSimple;\nvar faListTimeline = {\n prefix: 'fal',\n iconName: 'list-timeline',\n icon: [512, 512, [], \"e1d1\", \"M213.3 128H416V64L213.3 64l-32 32 32 32zM190.6 41.4c6-6 14.1-9.4 22.6-9.4H416c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H213.3c-8.5 0-16.6-3.4-22.6-9.4l-43.3-43.3c-6.2-6.2-6.2-16.4 0-22.6l43.3-43.3zM64 128a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0 160a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM32 416a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm181.3 32H416V384H213.3l-32 32 32 32zm-22.6-86.6c6-6 14.1-9.4 22.6-9.4H416c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H213.3c-8.5 0-16.6-3.4-22.6-9.4l-43.3-43.3c-6.2-6.2-6.2-16.4 0-22.6l43.3-43.3zM181.3 256l32 32H480V224l-266.7 0-32 32zm-33.9-11.3l43.3-43.3c6-6 14.1-9.4 22.6-9.4H480c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H213.3c-8.5 0-16.6-3.4-22.6-9.4l-43.3-43.3c-6.2-6.2-6.2-16.4 0-22.6z\"]\n};\nvar faIndianRupeeSign = {\n prefix: 'fal',\n iconName: 'indian-rupee-sign',\n icon: [320, 512, [\"indian-rupee\", \"inr\"], \"e1bc\", \"M0 48c0-8.8 7.2-16 16-16h96H304c8.8 0 16 7.2 16 16s-7.2 16-16 16H202.5c28.7 23.2 48.3 57.3 52.6 96H304c8.8 0 16 7.2 16 16s-7.2 16-16 16H255.1c-8 72-69 128-143.1 128H65.9L249.3 451c7.2 5.1 8.9 15.1 3.7 22.3s-15.1 8.9-22.3 3.7L6.7 317C1 313-1.4 305.7 .8 299.1S9 288 16 288h96c56.4 0 103.1-41.7 110.9-96H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H222.9c-7.8-54.3-54.4-96-110.9-96H16C7.2 64 0 56.8 0 48z\"]\n};\nvar faIndianRupee = faIndianRupeeSign;\nvar faInr = faIndianRupeeSign;\nvar faCropSimple = {\n prefix: 'fal',\n iconName: 'crop-simple',\n icon: [512, 512, [\"crop-alt\"], \"f565\", \"M128 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V96H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H96V368c0 26.5 21.5 48 48 48H352V384H144c-8.8 0-16-7.2-16-16V16zM384 496c0 8.8 7.2 16 16 16s16-7.2 16-16V416h80c8.8 0 16-7.2 16-16s-7.2-16-16-16H416l0-240c0-26.5-21.5-48-48-48L160 96v32l208 0c8.8 0 16 7.2 16 16l0 352z\"]\n};\nvar faCropAlt = faCropSimple;\nvar faMoneyBill1 = {\n prefix: 'fal',\n iconName: 'money-bill-1',\n icon: [576, 512, [\"money-bill-alt\"], \"f3d1\", \"M512 96c17.7 0 32 14.3 32 32v32c-35.3 0-64-28.7-64-64h32zM128 96H448c0 53 43 96 96 96V320c-53 0-96 43-96 96H128c0-53-43-96-96-96V192c53 0 96-43 96-96zM32 352c35.3 0 64 28.7 64 64H64c-17.7 0-32-14.3-32-32V352zm448 64c0-35.3 28.7-64 64-64v32c0 17.7-14.3 32-32 32H480zM96 96c0 35.3-28.7 64-64 64V128c0-17.7 14.3-32 32-32H96zM64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64zM256 208c0 8.8 7.2 16 16 16v64h-8c-8.8 0-16 7.2-16 16s7.2 16 16 16h24 24c8.8 0 16-7.2 16-16s-7.2-16-16-16h-8V208c0-8.8-7.2-16-16-16H272c-8.8 0-16 7.2-16 16zm-64 48a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zm224 0a128 128 0 1 0 -256 0 128 128 0 1 0 256 0z\"]\n};\nvar faMoneyBillAlt = faMoneyBill1;\nvar faLeftLong = {\n prefix: 'fal',\n iconName: 'left-long',\n icon: [512, 512, [\"long-arrow-alt-left\"], \"f30a\", \"M160 328l0 49.3c0 3.7-3 6.7-6.7 6.7c-1.9 0-3.7-.8-5-2.2L35.8 256 148.3 130.2c1.3-1.4 3.1-2.2 5-2.2c3.7 0 6.7 3 6.7 6.7l0 49.3c0 17.7 14.3 32 32 32l272 0c8.8 0 16 7.2 16 16l0 48c0 8.8-7.2 16-16 16l-272 0c-17.7 0-32 14.3-32 32zM5.3 242C1.9 245.9 0 250.8 0 256s1.9 10.1 5.3 14L124.5 403.1c7.3 8.2 17.8 12.9 28.8 12.9c21.4 0 38.7-17.3 38.7-38.7l0-17.3 0-32 32 0 240 0c26.5 0 48-21.5 48-48l0-48c0-26.5-21.5-48-48-48l-240 0-32 0 0-32 0-17.3c0-21.4-17.3-38.7-38.7-38.7c-11 0-21.5 4.7-28.8 12.9L5.3 242z\"]\n};\nvar faLongArrowAltLeft = faLeftLong;\nvar faKeyboardDown = {\n prefix: 'fal',\n iconName: 'keyboard-down',\n icon: [576, 512, [], \"e1c2\", \"M64 32C46.3 32 32 46.3 32 64V224c0 17.7 14.3 32 32 32H512c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H64zM0 64C0 28.7 28.7 0 64 0H512c35.3 0 64 28.7 64 64V224c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zm184 8h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H184c-8.8 0-16-7.2-16-16V88c0-8.8 7.2-16 16-16zM72 184c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H88c-8.8 0-16-7.2-16-16V184zM88 72h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H88c-8.8 0-16-7.2-16-16V88c0-8.8 7.2-16 16-16zM264 88c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H280c-8.8 0-16-7.2-16-16V88zM376 72h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H376c-8.8 0-16-7.2-16-16V88c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H472c-8.8 0-16-7.2-16-16V88zm16 80h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H472c-8.8 0-16-7.2-16-16V184c0-8.8 7.2-16 16-16zM160 192c0-8.8 7.2-16 16-16H400c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16zM288 473.4L404.7 356.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-128 128c-6.2 6.2-16.4 6.2-22.6 0l-128-128c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L288 473.4z\"]\n};\nvar faCircleUpRight = {\n prefix: 'fal',\n iconName: 'circle-up-right',\n icon: [512, 512, [], \"e129\", \"M256 480a224 224 0 1 0 0-448 224 224 0 1 0 0 448zM256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zm80 184c0-4.4-3.6-8-8-8H214.6c-3.7 0-6.6 3-6.6 6.6c0 1.8 .7 3.4 1.9 4.7l25.4 25.4c6.2 6.2 6.2 16.4 0 22.6l-59.1 59.1c-3.6 3.6-4.9 9-3.3 13.9c.7 2 1.8 3.8 3.3 5.3l22.1 22.1c1.5 1.5 3.3 2.6 5.3 3.3c4.9 1.6 10.3 .4 13.9-3.3l59.1-59.1c6.2-6.2 16.4-6.2 22.6 0l25.4 25.4c1.2 1.2 2.9 1.9 4.7 1.9c3.7 0 6.6-3 6.6-6.6V184zm-8-40c22.1 0 40 17.9 40 40V297.4c0 21.3-17.3 38.6-38.6 38.6c-10.2 0-20.1-4.1-27.3-11.3L288 310.6l-47.7 47.7c-12.2 12.2-30.3 16.5-46.7 11c-6.7-2.2-12.8-6-17.8-11l-22.1-22.1c-5-5-8.8-11.1-11-17.8c-5.5-16.4-1.2-34.5 11-46.7L201.4 224l-14.1-14.1c-7.2-7.2-11.3-17.1-11.3-27.3c0-21.3 17.3-38.6 38.6-38.6H328z\"]\n};\nvar faCloudBoltMoon = {\n prefix: 'fal',\n iconName: 'cloud-bolt-moon',\n icon: [576, 512, [\"thunderstorm-moon\"], \"f76d\", \"M387.7 101.7c7.9-27.6 28-50.1 54.2-61.6c-12.8 19-20.3 41.8-20.3 66.3c0 53.9 35.9 99.2 85.1 114.2c-8.2 2.2-16.7 3.4-25.6 3.4c-4.2 0-8.3-.3-12.4-.8c4.9 10.2 8.3 21.2 10 32.8c.8 0 1.6 0 2.4 0c34.9 0 66.7-13.8 89.9-36.1c5.1-4.9 6.4-12.5 3.2-18.7s-10.1-9.7-17-8.6c-4.9 .8-10 1.3-15.2 1.3c-49 0-88.4-39.3-88.4-87.4c0-32.6 18-61.1 44.9-76.1c6.1-3.4 9.3-10.5 7.8-17.4s-7.3-12-14.3-12.6c-3.6-.3-7.3-.5-10.9-.5C427.1 0 380.6 33 361.4 79.9c9.8 5.9 18.7 13.3 26.3 21.8zM112 160c0-35.3 28.7-64 64-64c29.1 0 53.7 19.4 61.4 46c1.7 5.8 6.5 10.2 12.5 11.3s12-1.3 15.7-6.1c8.8-11.7 22.7-19.2 38.4-19.2c26.5 0 48 21.5 48 48c0 8.8-2.3 16.9-6.4 24c-2.9 5-2.9 11.1 0 16s8.1 8 13.9 8l8.3 0 0 0 .2 0c26.5 0 48 21.5 48 48s-21.5 48-48 48c-.6 0-1.2 0-1.8 0l-.3 0-.2 0H343c5.7 8.5 9 18.7 9 29.7c0 .8 0 1.5-.1 2.3h13.3c.9 0 1.8 0 2.7 0c44.2 0 80-35.8 80-80c0-39.3-28.4-72.1-65.8-78.7c1.2-5.6 1.9-11.3 1.9-17.2c0-44.2-35.8-80-80-80c-17 0-32.8 5.3-45.8 14.4C241.4 82.6 210.9 64 176 64c-53 0-96 43-96 96l0 1.3C34.6 168.9 0 208.4 0 256c0 46.9 33.6 85.9 78 94.3c.9-1 1.8-1.9 2.7-2.8l29.1-27.6H98.9c-.2 0-.4 0-.6 0c-.8 0-1.6 0-2.3 0c-35.3 0-64-28.7-64-64s28.7-64 64-64c.4 0 .8 0 1.3 0c4.9 .1 9.5-2 12.6-5.8s4.4-8.7 3.4-13.4c-.8-4.1-1.3-8.4-1.3-12.8zm31.7 216l85.1-80.6-19.4 41.9c-2.3 5-1.9 10.7 1 15.3s8 7.4 13.5 7.4h48.3l-85.1 80.6 19.4-41.9c2.3-5 1.9-10.7-1-15.3s-8-7.4-13.5-7.4H143.7zM265.6 224c-5.1 0-10.1 2-13.8 5.5L102.7 370.7c-4.3 4.1-6.7 9.7-6.7 15.7c0 11.9 9.7 21.6 21.6 21.6H167l-34.8 75.5c-6.1 13.3 3.6 28.5 18.2 28.5c5.1 0 10.1-2 13.8-5.5L313.3 365.3c4.3-4.1 6.7-9.7 6.7-15.7c0-11.9-9.7-21.6-21.6-21.6H249l34.8-75.5c6.1-13.3-3.6-28.5-18.2-28.5z\"]\n};\nvar faThunderstormMoon = faCloudBoltMoon;\nvar faTurnLeftUp = {\n prefix: 'fal',\n iconName: 'turn-left-up',\n icon: [384, 512, [], \"e638\", \"M256 160h57.3c3.7 0 6.7-3 6.7-6.7c0-1.9-.8-3.7-2.2-5L192 35.8 66.2 148.3c-1.4 1.3-2.2 3.1-2.2 5c0 3.7 3 6.7 6.7 6.7H128c17.7 0 32 14.3 32 32V368c0 61.9 50.1 112 112 112h64c8.8 0 16-7.2 16-16V432c0-8.8-7.2-16-16-16l-64 0c-26.5 0-48-21.5-48-48V192c0-17.7 14.3-32 32-32zM178 5.3c3.8-3.4 8.8-5.3 14-5.3s10.1 1.9 14 5.3L339.1 124.5c8.2 7.3 12.9 17.8 12.9 28.8c0 21.4-17.3 38.7-38.7 38.7H288 256v32V368c0 8.8 7.2 16 16 16l64 0c26.5 0 48 21.5 48 48v32c0 26.5-21.5 48-48 48H272c-79.5 0-144-64.5-144-144V224 192H96 70.7C49.3 192 32 174.7 32 153.3c0-11 4.7-21.5 12.9-28.8L178 5.3z\"]\n};\nvar faDna = {\n prefix: 'fal',\n iconName: 'dna',\n icon: [448, 512, [129516], \"f471\", \"M400 0c8.8 0 16 7.2 16 16c0 120.2-94.2 188.6-179.7 250.9l-2.8 2.1c-37.8 27.5-73.9 54-102.9 83.1h187c-19.8-19.8-42.8-38.4-67.5-57c3.2-2.3 6.4-4.6 9.7-6.9c5.9-4.2 11.7-8.4 17.6-12.7C349.4 330.4 416 394.9 416 496c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-5.5-.2-10.8-.7-16H64.7c-.4 5.2-.7 10.5-.7 16c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-113.2 83.6-180.5 164.8-240C115.6 196.5 32 129.2 32 16C32 7.2 39.2 0 48 0s16 7.2 16 16c0 5.5 .2 10.8 .7 16H383.3c.4-5.2 .7-10.5 .7-16c0-8.8 7.2-16 16-16zM377.6 64H70.4c6.5 23.4 17.6 44.5 32.2 64H345.5c14.6-19.5 25.7-40.6 32.2-64zm-60.1 96h-187c26.6 26.7 59.1 51.1 93.5 76.2c34.4-25.1 66.9-49.5 93.5-76.2zM70.4 448H377.6c-6.5-23.5-17.6-44.5-32.2-64.1c-.5 0-.9 .1-1.4 .1H104c-.5 0-.9 0-1.4-.1C88 403.5 76.8 424.5 70.4 448z\"]\n};\nvar faVirusSlash = {\n prefix: 'fal',\n iconName: 'virus-slash',\n icon: [640, 512, [], \"e075\", \"M532.5 288H544c17.7 0 32-14.3 32-32s-14.3-32-32-32H532.5c-49.9 0-74.9-60.3-39.6-95.6l8.2-8.2c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-8.2 8.2C412.3 118.4 352 93.4 352 43.5V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V43.5c0 36.4-32.2 59.6-63.3 55.7L259.9 127C293.3 115.8 320 85.2 320 43.5c0 78.4 94.8 117.7 150.2 62.2C414.8 161.2 454.1 256 532.5 256c-29.1 0-52.8 13-68.3 32.3l25.1 19.9c9.9-12 24.8-20.1 43.1-20.1zM107.5 256c29.1 0 52.8-13 68.3-32.3l-25.1-19.9c-9.9 12-24.8 20.1-43.1 20.1H96c-17.7 0-32 14.3-32 32s14.3 32 32 32h11.5c49.9 0 74.9 60.3 39.6 95.6l-8.2 8.2c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l8.2-8.2c35.3-35.3 95.6-10.3 95.6 39.6V480c0 17.7 14.3 32 32 32s32-14.3 32-32V468.5c0-36.4 32.2-59.6 63.3-55.7L380.1 385c-33.4 11.2-60.1 41.8-60.1 83.4c0-78.4-94.8-117.6-150.2-62.2C225.2 350.8 185.9 256 107.5 256zM25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4z\"]\n};\nvar faBracketRoundRight = {\n prefix: 'fal',\n iconName: 'bracket-round-right',\n icon: [192, 512, [], \"29\", \"M33.9 40.4c-4.2 7.8-1.3 17.5 6.4 21.7C80.5 83.8 160 153.4 160 256s-79.5 172.2-119.6 193.9c-7.8 4.2-10.7 13.9-6.4 21.7s13.9 10.7 21.7 6.4C100.8 453.6 192 375.3 192 256S100.8 58.4 55.6 33.9c-7.8-4.2-17.5-1.3-21.7 6.4z\"]\n};\nvar faCircleSterling = {\n prefix: 'fal',\n iconName: 'circle-sterling',\n icon: [512, 512, [], \"e5cf\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM259.6 144c-20.2 0-36.5 16.5-36.4 36.7l.3 43.3H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H223.6c-.9 22.5-7.1 44.4-18 64H328c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-5.9 0-11.4-3.3-14.2-8.5s-2.4-11.6 1-16.5l9.2-13.5c11.7-17 18.4-36.9 19.5-57.5H176c-8.8 0-16-7.2-16-16s7.2-16 16-16h15.5l-.3-43.1c-.3-38 30.4-68.9 68.4-68.9c10.6 0 21.1 2.5 30.6 7.2l20.9 10.5c7.9 4 11.1 13.6 7.2 21.5s-13.6 11.1-21.5 7.2l-20.9-10.5c-5.1-2.5-10.6-3.8-16.3-3.8z\"]\n};\nvar faCircle5 = {\n prefix: 'fal',\n iconName: 'circle-5',\n icon: [512, 512, [], \"e0f2\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM208 128c-7.3 0-13.7 5-15.5 12.1l-24 96c-1.1 4.5-.2 9.3 2.4 13.1s6.9 6.3 11.5 6.7l98.8 10c22.1 2.2 38.8 20.8 38.8 42.9c0 23.8-19.3 43.2-43.2 43.2h-44c-16.8 0-32.4-8.3-41.8-22.3l-1.8-2.7c-4.9-7.3-14.9-9.3-22.2-4.4s-9.3 14.9-4.4 22.2l1.8 2.7c15.3 22.8 40.9 36.4 68.3 36.4h44c41.5 0 75.2-33.7 75.2-75.2c0-38.6-29.2-70.9-67.6-74.8L204 225.9 220.5 160H320c8.8 0 16-7.2 16-16s-7.2-16-16-16H208z\"]\n};\nvar faMinus = {\n prefix: 'fal',\n iconName: 'minus',\n icon: [448, 512, [8211, 8722, 10134, \"subtract\"], \"f068\", \"M432 256c0 8.8-7.2 16-16 16L32 272c-8.8 0-16-7.2-16-16s7.2-16 16-16l384 0c8.8 0 16 7.2 16 16z\"]\n};\nvar faSubtract = faMinus;\nvar faFireFlame = {\n prefix: 'fal',\n iconName: 'fire-flame',\n icon: [384, 512, [\"flame\"], \"f6df\", \"M341.8 265.5C310.2 178.6 258.9 100.2 192 36.4C125.1 100.2 73.8 178.6 42.2 265.5l-.7 1.9c-6.3 17.4-9.5 35.7-9.5 54.1C32 408.7 104.2 480 192 480s160-71.3 160-158.4c0-18.5-3.2-36.8-9.5-54.1l27.2-9.9-27.2 9.9-.7-1.9zm30.1-10.9l.7 1.9c7.6 20.9 11.5 42.9 11.5 65.1C384 426.7 297.2 512 192 512S0 426.7 0 321.6c0-22.2 3.9-44.2 11.5-65.1l.7-1.9C46.2 160.8 102 76.5 174.9 8.5l3.3-3C181.9 2 186.9 0 192 0s10.1 2 13.8 5.5l3.3 3c72.9 68 128.7 152.4 162.7 246.1zM187.4 206v.6c0 16.1 6.3 31.6 17.5 43.3l8.2 8.5c9.9 10.3 15.5 24.1 15.5 38.4c0 30.5-24.7 55.3-55.3 55.3h-2.5c-31.9 0-57.7-25.8-57.7-57.7V272.1c-11 12.2-17.1 28.1-17.1 44.7V320c0 53 43 96 96 96h7.3c49 0 88.7-39.7 88.7-88.7c0-27.9-12.2-54.3-33.4-72.4l-44.6-38.1c-9.7-8.3-16.4-19.6-19-31.9c-2.4 6.8-3.6 13.9-3.6 21.1zm9.9-78c13.5 0 24.4 10.9 24.4 24.4v20.2c0 7.6 3.3 14.9 9.1 19.8l44.6 38.1c28.3 24.2 44.6 59.5 44.6 96.7C320 393.9 265.9 448 199.3 448H192c-70.7 0-128-57.3-128-128v-3.2c0-27.9 11.8-54.6 32.6-73.3l5.3-4.8c4.8-4.3 10.9-6.7 17.4-6.7c14.3 0 25.9 11.6 25.9 25.9v36.4c0 14.2 11.5 25.7 25.7 25.7h2.5c12.8 0 23.3-10.4 23.3-23.3c0-6-2.3-11.8-6.5-16.1l-8.2-8.5c-17-17.6-26.4-41.1-26.4-65.5V206c0-13.9 3-27.6 8.9-40.2l10.9-23.6c4-8.6 12.6-14.1 22.1-14.1z\"]\n};\nvar faFlame = faFireFlame;\nvar faRightToLine = {\n prefix: 'fal',\n iconName: 'right-to-line',\n icon: [448, 512, [\"arrow-alt-to-right\"], \"f34c\", \"M416 80l0 352c0 8.8 7.2 16 16 16s16-7.2 16-16l0-352c0-8.8-7.2-16-16-16s-16 7.2-16 16zM319.2 254.2c.5 .5 .8 1.1 .8 1.8s-.3 1.4-.8 1.8L187.3 382.2c-1.2 1.2-2.9 1.8-4.6 1.8c-3.7 0-6.7-3-6.7-6.7l0-57.3c0-8.8-7.2-16-16-16L40 304c-4.4 0-8-3.6-8-8l0-80c0-4.4 3.6-8 8-8l120 0c8.8 0 16-7.2 16-16l0-57.3c0-3.7 3-6.7 6.7-6.7c1.7 0 3.3 .7 4.6 1.8L319.2 254.2zM352 256c0-9.5-3.9-18.6-10.8-25.1L209.2 106.5C202 99.8 192.5 96 182.7 96c-21.4 0-38.7 17.3-38.7 38.7l0 41.3L40 176c-22.1 0-40 17.9-40 40l0 80c0 22.1 17.9 40 40 40l104 0 0 41.3c0 21.4 17.3 38.7 38.7 38.7c9.9 0 19.3-3.8 26.5-10.5L341.2 281.1c6.9-6.5 10.8-15.6 10.8-25.1z\"]\n};\nvar faArrowAltToRight = faRightToLine;\nvar faGif = {\n prefix: 'fal',\n iconName: 'gif',\n icon: [576, 512, [], \"e190\", \"M512 64c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32H512zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM304 160c-8.8 0-16 7.2-16 16V336c0 8.8 7.2 16 16 16s16-7.2 16-16V176c0-8.8-7.2-16-16-16zm48 16v80 80c0 8.8 7.2 16 16 16s16-7.2 16-16V272h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H384V192h80c8.8 0 16-7.2 16-16s-7.2-16-16-16H368c-8.8 0-16 7.2-16 16zM128 256c0-35.3 28.7-64 64-64c14.4 0 27.7 4.8 38.4 12.8c7.1 5.3 17.1 3.9 22.4-3.2s3.9-17.1-3.2-22.4c-16-12.1-36-19.2-57.6-19.2c-53 0-96 43-96 96s43 96 96 96c21.6 0 41.6-7.1 57.6-19.2c4-3 6.4-7.8 6.4-12.8V256c0-8.8-7.2-16-16-16H192c-8.8 0-16 7.2-16 16s7.2 16 16 16h32v39.4c-9.4 5.4-20.3 8.6-32 8.6c-35.3 0-64-28.7-64-64z\"]\n};\nvar faChess = {\n prefix: 'fal',\n iconName: 'chess',\n icon: [512, 512, [], \"f439\", \"M144 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V32H96c-8.8 0-16 7.2-16 16s7.2 16 16 16h16V96H52.6C41.2 96 32 105.2 32 116.6c0 2.2 .4 4.4 1.1 6.5L66.7 224H56c-8.8 0-16 7.2-16 16s7.2 16 16 16H69.8L56.7 352H89l13.1-96h51.8L167 352h32.3l-13.1-96H200c8.8 0 16-7.2 16-16s-7.2-16-16-16H189.3l33.6-100.8c.7-2.1 1.1-4.3 1.1-6.5c0-11.4-9.2-20.6-20.6-20.6H144V64h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H144V16zm11.6 208H100.4l-32-96H128h59.6l-32 96zm34.6 160H65.8c-11.1 0-21.4 5.7-27.2 15.1L5.9 451.8C2.1 458 0 465.2 0 472.6C0 494.3 17.7 512 39.4 512H216.6c21.8 0 39.4-17.7 39.4-39.4c0-7.3-2.1-14.5-5.9-20.8l-32.7-52.7c-5.8-9.4-16.1-15.1-27.2-15.1zM33.1 468.7L65.8 416l124.4 0 32.7 52.7c.7 1.2 1.1 2.5 1.1 3.9c0 4.1-3.3 7.4-7.4 7.4H39.4c-4.1 0-7.4-3.3-7.4-7.4c0-1.4 .4-2.7 1.1-3.9zM452.5 416L479 467.2c.6 1.2 1 2.6 1 4c0 4.8-3.9 8.8-8.8 8.8H328.8c-4.8 0-8.8-3.9-8.8-8.8c0-1.4 .3-2.8 1-4L347.5 416l105 0zm-105-32c-12 0-22.9 6.7-28.4 17.3l-26.5 51.2c-3 5.8-4.6 12.2-4.6 18.7c0 22.5 18.2 40.8 40.8 40.8H471.2c22.5 0 40.8-18.2 40.8-40.8c0-6.5-1.6-12.9-4.6-18.7l-26.5-51.2c-5.5-10.6-16.5-17.3-28.4-17.3h-105zM304 160c-8.8 0-16 7.2-16 16v80c0 3.7 1.3 7.4 3.7 10.2L328 309.8V336v16h32V336 304c0-3.7-1.3-7.4-3.7-10.2L320 250.2V192h32v16c0 8.8 7.2 16 16 16s16-7.2 16-16V192h32v16c0 8.8 7.2 16 16 16s16-7.2 16-16V192h32v58.2l-36.3 43.5c-2.4 2.9-3.7 6.5-3.7 10.2v32 16h32V336 309.8l36.3-43.5c2.4-2.9 3.7-6.5 3.7-10.2V176c0-8.8-7.2-16-16-16H432 368 304z\"]\n};\nvar faTrashSlash = {\n prefix: 'fal',\n iconName: 'trash-slash',\n icon: [640, 512, [], \"e2b3\", \"M509.7 96H528c8.8 0 16-7.2 16-16s-7.2-16-16-16H512 479.9 432.9L407 22.6C398.2 8.5 382.8 0 366.3 0H273.7C257.2 0 241.8 8.5 233 22.6L207.1 64h-27l40.5 32h257L463.9 288.1l30.4 24L509.7 96zM452.9 442.5l-.6 7.8C451.1 467 437.2 480 420.4 480H219.6c-16.8 0-30.7-13-31.9-29.7L171.2 220.1l-34-26.8 18.5 259.3c2.4 33.5 30.3 59.4 63.8 59.4H420.4c29.1 0 54-19.5 61.6-46.6l-29.1-23zM273.7 32h92.5c5.5 0 10.6 2.8 13.6 7.5L395.1 64H244.9l15.3-24.5c2.9-4.7 8.1-7.5 13.6-7.5zM25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4z\"]\n};\nvar faArrowLeftLong = {\n prefix: 'fal',\n iconName: 'arrow-left-long',\n icon: [512, 512, [\"long-arrow-left\"], \"f177\", \"M4.7 244.7c-6.2 6.2-6.2 16.4 0 22.6l144 144c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L54.6 272 496 272c8.8 0 16-7.2 16-16s-7.2-16-16-16L54.6 240 171.3 123.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-144 144z\"]\n};\nvar faLongArrowLeft = faArrowLeftLong;\nvar faPlugCircleCheck = {\n prefix: 'fal',\n iconName: 'plug-circle-check',\n icon: [576, 512, [], \"e55c\", \"M128 16c0-8.8-7.2-16-16-16s-16 7.2-16 16v96h32V16zm160 0c0-8.8-7.2-16-16-16s-16 7.2-16 16v96h32V16zM16 144c-8.8 0-16 7.2-16 16s7.2 16 16 16H32v64c0 83 63.1 151.2 144 159.2V496c0 8.8 7.2 16 16 16s16-7.2 16-16V399.2c17.3-1.7 33.7-6.2 48.9-12.9c-.6-6-.9-12.1-.9-18.3c0-6 .3-11.8 .9-17.6c-19 11.2-41.2 17.6-64.9 17.6c-70.7 0-128-57.3-128-128V176H320v56.2c9.8-8.1 20.6-15.2 32-21V176h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H352 320 64 32 16zM432 256a112 112 0 1 1 0 224 112 112 0 1 1 0-224zm0 256a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm67.3-187.3c-6.2-6.2-16.4-6.2-22.6 0L416 385.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nvar faFontCase = {\n prefix: 'fal',\n iconName: 'font-case',\n icon: [640, 512, [], \"f866\", \"M190.9 42.3C188.6 36.1 182.6 32 176 32s-12.6 4.1-14.9 10.3l-160 416c-3.2 8.2 .9 17.5 9.2 20.7s17.5-.9 20.7-9.2L76.2 352H275.8l45.3 117.7c3.2 8.2 12.4 12.4 20.7 9.2s12.4-12.4 9.2-20.7l-160-416zM263.5 320H88.5L176 92.6 263.5 320zM624 160c-8.8 0-16 7.2-16 16v34.7C585.4 179.9 549 160 508 160c-68.5 0-124 55.5-124 124v72c0 68.5 55.5 124 124 124c41 0 77.4-19.9 100-50.7V464c0 8.8 7.2 16 16 16s16-7.2 16-16V176c0-8.8-7.2-16-16-16zM416 284c0-50.8 41.2-92 92-92s92 41.2 92 92v72c0 50.8-41.2 92-92 92s-92-41.2-92-92V284z\"]\n};\nvar faStreetView = {\n prefix: 'fal',\n iconName: 'street-view',\n icon: [512, 512, [], \"f21d\", \"M256 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 96A64 64 0 1 0 256 0a64 64 0 1 0 0 128zM192 280l0 0V224c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32v56l0 0c-14.4 2.1-25.6 13.8-27.2 28.3l-8.9 84.5c-.4 4.1-3.9 7.2-8 7.2H236c-4.1 0-7.5-3.1-8-7.2l-8.9-84.5c-1.5-14.5-12.7-26.2-27.2-28.3zm-32-56v56c0 16.1 11.9 29.4 27.3 31.7l8.9 84.5c2.1 20.4 19.3 35.8 39.8 35.8h40c20.5 0 37.6-15.5 39.8-35.8l8.9-84.5c15.5-2.3 27.3-15.6 27.3-31.7V224c0-35.3-28.7-64-64-64H224c-35.3 0-64 28.7-64 64zM126.6 383.7c8.7-1.7 14.4-10.1 12.7-18.7s-10.1-14.4-18.7-12.7c-33.2 6.4-61.8 15.3-82.6 26.2C27.6 384 18.5 390.4 11.8 398C4.9 405.6 0 415.1 0 426.2c0 17.6 12.2 31 25.8 40.3c14.1 9.7 33.5 17.8 56 24.4C127.1 504.1 188.7 512 256 512s128.9-7.9 174.2-21.1c22.5-6.6 41.9-14.7 56-24.4c13.6-9.4 25.8-22.7 25.8-40.3c0-11.1-4.9-20.6-11.8-28.3c-6.7-7.5-15.9-13.9-26.2-19.4c-20.8-11-49.4-19.8-82.6-26.2c-8.7-1.7-17.1 4-18.7 12.7s4 17.1 12.7 18.7c31.6 6.1 56.8 14.2 73.6 23.1c8.4 4.5 14 8.7 17.3 12.5c3.2 3.6 3.6 5.9 3.6 6.9c0 1.6-1.3 6.6-11.9 14c-10.2 7-25.9 13.9-46.8 20C379.6 472.3 321.2 480 256 480s-123.6-7.7-165.2-19.8c-20.9-6.1-36.7-13-46.8-20c-10.7-7.3-11.9-12.3-11.9-14c0-1.1 .4-3.3 3.6-6.9c3.3-3.7 8.9-8 17.3-12.5c16.8-8.9 42-17 73.6-23.1z\"]\n};\nvar faArrowDownLeft = {\n prefix: 'fal',\n iconName: 'arrow-down-left',\n icon: [384, 512, [], \"e091\", \"M48 416c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16s16 7.2 16 16V361.4L324.7 100.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L86.6 384H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H48z\"]\n};\nvar faFrancSign = {\n prefix: 'fal',\n iconName: 'franc-sign',\n icon: [320, 512, [], \"e18f\", \"M104 32C81.9 32 64 49.9 64 72V208 320H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H64V464c0 8.8 7.2 16 16 16s16-7.2 16-16V352H208c8.8 0 16-7.2 16-16s-7.2-16-16-16H96V224H272c8.8 0 16-7.2 16-16s-7.2-16-16-16H96V72c0-4.4 3.6-8 8-8H304c8.8 0 16-7.2 16-16s-7.2-16-16-16H104z\"]\n};\nvar faFlaskRoundPoison = {\n prefix: 'fal',\n iconName: 'flask-round-poison',\n icon: [448, 512, [\"flask-poison\"], \"f6e0\", \"M160 32H288V157.7c0 18.2 10.1 33.7 24.4 42C364.9 230.3 400 287.1 400 352c0 47.4-18.7 90.4-49.2 122.1c-3.1 3.2-8.8 5.9-17 5.9H114.2c-8.2 0-13.9-2.7-17-5.9C66.7 442.4 48 399.4 48 352c0-64.9 35.1-121.7 87.6-152.2c14.3-8.3 24.4-23.9 24.4-42V32zM320 157.7V32h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H304 144 112c-8.8 0-16 7.2-16 16s7.2 16 16 16h16V157.7c0 6-3.3 11.4-8.5 14.4C57.6 208.2 16 275.2 16 352c0 56 22.1 106.9 58.2 144.3C84.5 507 99.3 512 114.2 512H333.8c15 0 29.7-5 40.1-15.7C409.9 458.9 432 408 432 352c0-76.8-41.6-143.8-103.5-179.9c-5.2-3-8.5-8.4-8.5-14.4zM128 312c0-36.4 39.2-72 96-72s96 35.6 96 72c0 20.5-11.7 40.1-32.7 54c-8.7 5.8-15.3 15.8-15.3 27.7V416H176V393.7c0-11.9-6.6-21.9-15.3-27.7c-21-13.9-32.7-33.5-32.7-54zm96-104c-66.9 0-128 43.2-128 104c0 33.6 19.3 62.3 47.1 80.7c.5 .3 .7 .6 .9 .9c.1 .1 .1 .2 .1 .2V416c0 17.7 14.3 32 32 32h96c17.7 0 32-14.3 32-32V393.7c0 0 0-.1 .1-.2c.1-.2 .4-.6 .9-.9C332.7 374.3 352 345.6 352 312c0-60.8-61.1-104-128-104zm64 104a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM184 336a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faFlaskPoison = faFlaskRoundPoison;\nvar faVolumeOff = {\n prefix: 'fal',\n iconName: 'volume-off',\n icon: [320, 512, [], \"f026\", \"M288 66.7L151.6 188c-2.9 2.6-6.7 4-10.6 4H56c-13.3 0-24 10.7-24 24v80c0 13.3 10.7 24 24 24h85c3.9 0 7.7 1.4 10.6 4L288 445.3V66.7zM270.4 39.5c5.5-4.8 12.5-7.5 19.8-7.5C306.7 32 320 45.3 320 61.8V450.2c0 16.5-13.3 29.8-29.8 29.8c-7.3 0-14.3-2.7-19.8-7.5l10.6-12-10.6 12L134.9 352H56c-30.9 0-56-25.1-56-56V216c0-30.9 25.1-56 56-56h78.9L270.4 39.5z\"]\n};\nvar faBookCircleArrowRight = {\n prefix: 'fal',\n iconName: 'book-circle-arrow-right',\n icon: [640, 512, [], \"e0bc\", \"M64 0C28.7 0 0 28.7 0 64L0 448l0 0c0 35.3 28.7 64 64 64H394.8c-12.9-9.1-24.5-19.9-34.6-32H64c-17.7 0-32-14.3-32-32s14.3-32 32-32H326.6c-2.9-10.3-4.9-21-5.9-32H64c-11.7 0-22.6 3.1-32 8.6L32 64c0-17.7 14.3-32 32-32H400c8.8 0 16 7.2 16 16V211.2c10.1-5.2 20.8-9.4 32-12.6V48c0-26.5-21.5-48-48-48H64zM496 256a112 112 0 1 1 0 224 112 112 0 1 1 0-224zm0 256a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm-3.3-211.3c-6.2 6.2-6.2 16.4 0 22.6L521.4 352H432c-8.8 0-16 7.2-16 16s7.2 16 16 16h89.4l-28.7 28.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l56-56c6.2-6.2 6.2-16.4 0-22.6l-56-56c-6.2-6.2-16.4-6.2-22.6 0z\"]\n};\nvar faChartUser = {\n prefix: 'fal',\n iconName: 'chart-user',\n icon: [640, 512, [\"user-chart\"], \"f6a3\", \"M576 32H224c-17.7 0-32 14.3-32 32v36c-10.2-2.6-21-4-32-4V64c0-35.3 28.7-64 64-64H576c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H336.8c-5.3-11.4-11.8-22.2-19.5-32H576c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32zM400 128c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V166.6L395.3 267.3c-6.2 6.2-16.4 6.2-22.6 0l-80-80c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L384 233.4 473.4 144H416c-8.8 0-16-7.2-16-16zM160 288a64 64 0 1 0 0-128 64 64 0 1 0 0 128zm0-160a96 96 0 1 1 0 192 96 96 0 1 1 0-192zM133.3 384c-54.2 0-98.4 42.5-101.2 96H287.9c-2.8-53.5-47-96-101.2-96H133.3zm0-32h53.3C260.3 352 320 411.7 320 485.3c0 14.7-11.9 26.7-26.7 26.7H26.7C11.9 512 0 500.1 0 485.3C0 411.7 59.7 352 133.3 352z\"]\n};\nvar faUserChart = faChartUser;\nvar faHandsAslInterpreting = {\n prefix: 'fal',\n iconName: 'hands-asl-interpreting',\n icon: [640, 512, [\"american-sign-language-interpreting\", \"asl-interpreting\", \"hands-american-sign-language-interpreting\"], \"f2a3\", \"M146.5 3.7C122-6.5 93.9 5.1 83.7 29.5L9.8 206.8C3.3 222.4 0 239.1 0 256c0 70.7 57.3 128 128 128h80c41.5 0 77.7-22.6 97-56c10.7-18.4 7.7-41-5.8-56c13.5-15 16.4-37.6 5.8-56c-5.5-9.5-12.4-18.2-20.4-25.6l31-7.8c25.7-6.4 41.4-32.5 34.9-58.2s-32.5-41.4-58.2-34.9l-16.8 4.2 10-7.8c20.9-16.3 24.6-46.5 8.2-67.4l-12.6 9.9 12.6-9.9c-16.3-20.9-46.5-24.6-67.4-8.2L176 49.7c.7-19.4-10.5-38.1-29.5-46zM263.8 256l-.3 0-.3 0c-5.5-.1-10.7-3-13.6-8c-8.3-14.4-23.9-24-41.6-24c-26.5 0-48 21.5-48 48s21.5 48 48 48c17.7 0 33.3-9.6 41.6-24c2.9-5 8.1-7.9 13.6-8l.3 0 .3 0c2.6 0 5.2 .7 7.7 2.2c7.6 4.4 10.3 14.2 5.8 21.9c-13.8 23.9-39.7 40-69.3 40H128c-53 0-96-43-96-96c0-12.7 2.5-25.2 7.4-36.9L113.2 41.8c3.4-8.2 12.8-12 20.9-8.6s12 12.8 8.6 20.9L127.9 89.9c-2.8 6.7-.7 14.5 5.1 18.9s13.8 4.4 19.6-.1l93.6-73.3c7-5.4 17-4.2 22.5 2.7s4.2 17-2.7 22.5l-69.3 54.2c-5.9 4.7-7.8 12.8-4.5 19.6s10.9 10.3 18.3 8.5l89.8-22.4c8.6-2.1 17.3 3.1 19.4 11.6s-3.1 17.3-11.6 19.4l-66.3 16.6c-6.7 1.7-11.5 7.4-12.1 14.3s3.4 13.3 9.7 16c16 6.8 29.4 18.7 38 33.7c4.4 7.6 1.8 17.4-5.8 21.9c-2.5 1.4-5.1 2.1-7.7 2.2zm-41.9 8c1.7 2.9 3.6 5.6 5.8 8c-2.1 2.4-4.1 5.1-5.8 8c-2.8 4.9-8 8-13.9 8c-8.8 0-16-7.2-16-16s7.2-16 16-16c5.9 0 11.1 3.2 13.9 8zM493.5 508.3c24.5 10.2 52.6-1.4 62.8-25.8l73.8-177.2c6.5-15.6 9.8-32.3 9.8-49.2c0-70.7-57.3-128-128-128H432c-41.5 0-77.7 22.6-97 56c-10.7 18.4-7.7 41 5.8 56c-13.5 15-16.4 37.6-5.8 56c5.5 9.5 12.4 18.2 20.4 25.6l-31 7.8c-25.7 6.4-41.4 32.5-34.9 58.2s32.5 41.4 58.2 34.9l16.8-4.2-10 7.8c-20.9 16.3-24.6 46.5-8.2 67.4s46.5 24.6 67.4 8.2L464 462.3c-.7 19.4 10.6 38.1 29.5 46zM376.2 256l.3 0 .3 0c5.5 .1 10.7 3 13.6 8c8.3 14.4 23.9 24 41.6 24c26.5 0 48-21.5 48-48s-21.5-48-48-48c-17.7 0-33.3 9.6-41.6 24c-2.9 5-8.1 7.9-13.6 8l-.3 0-.3 0c-2.6 0-5.2-.7-7.7-2.2c-7.6-4.4-10.3-14.2-5.8-21.9c13.8-23.9 39.7-40 69.3-40h80c53 0 96 43 96 96c0 12.7-2.5 25.2-7.4 36.9L526.8 470.2c-3.4 8.2-12.8 12-20.9 8.6s-12-12.8-8.6-20.9l14.9-35.8c2.8-6.7 .7-14.5-5.1-18.9s-13.8-4.4-19.6 .1l-93.6 73.3c-7 5.4-17 4.2-22.5-2.7s-4.2-17 2.7-22.5l69.3-54.2c5.9-4.7 7.8-12.8 4.5-19.6s-10.9-10.3-18.3-8.5l-89.8 22.4c-8.6 2.1-17.3-3.1-19.4-11.6s3.1-17.3 11.6-19.4l66.3-16.6c6.7-1.7 11.5-7.4 12.1-14.3s-3.4-13.3-9.7-16c-16-6.8-29.4-18.7-38-33.7c-4.4-7.6-1.8-17.4 5.8-21.9c2.5-1.4 5.1-2.1 7.7-2.2zm41.9-8c-1.7-2.9-3.6-5.6-5.8-8c2.1-2.4 4.1-5.1 5.8-8c2.8-4.9 8-8 13.9-8c8.8 0 16 7.2 16 16s-7.2 16-16 16c-5.9 0-11.1-3.2-13.9-8z\"]\n};\nvar faAmericanSignLanguageInterpreting = faHandsAslInterpreting;\nvar faAslInterpreting = faHandsAslInterpreting;\nvar faHandsAmericanSignLanguageInterpreting = faHandsAslInterpreting;\nvar faPresentationScreen = {\n prefix: 'fal',\n iconName: 'presentation-screen',\n icon: [576, 512, [\"presentation\"], \"f685\", \"M16 0C7.2 0 0 7.2 0 16s7.2 16 16 16H560c8.8 0 16-7.2 16-16s-7.2-16-16-16H16zM32 64V288c0 35.3 28.7 64 64 64H272v41.4l-91.3 91.3c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L288 422.6l84.7 84.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L304 393.4V352H480c35.3 0 64-28.7 64-64V64H512V288c0 17.7-14.3 32-32 32H288 96c-17.7 0-32-14.3-32-32V64H32z\"]\n};\nvar faPresentation = faPresentationScreen;\nvar faCircleBolt = {\n prefix: 'fal',\n iconName: 'circle-bolt',\n icon: [512, 512, [], \"e0fe\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm191.7 8H240c5.5 0 10.5 2.8 13.5 7.4s3.3 10.4 1 15.3l-19.4 41.9L320.3 248H272c-5.5 0-10.5-2.8-13.5-7.4s-3.3-10.4-1-15.3l19.4-41.9L191.7 264zM313.6 112c14.7 0 24.4 15.2 18.2 28.5L297 216h49.4c11.9 0 21.6 9.7 21.6 21.6c0 5.9-2.4 11.6-6.7 15.7L212.2 394.5c-3.7 3.5-8.7 5.5-13.8 5.5c-14.7 0-24.4-15.2-18.2-28.5L215 296H165.6c-11.9 0-21.6-9.7-21.6-21.6c0-5.9 2.4-11.6 6.7-15.7L299.8 117.5c3.7-3.5 8.7-5.5 13.8-5.5z\"]\n};\nvar faFaceSmileHalo = {\n prefix: 'fal',\n iconName: 'face-smile-halo',\n icon: [512, 512, [], \"e38f\", \"M480.3 78.1a.1 .1 0 1 0 -.2 0 .1 .1 0 1 0 .2 0zm-7.4-3.5c3.2 2.4 5 4.2 6.1 5.4c-1.1 1.2-2.9 3-6.1 5.4c-9 6.6-24 13.9-45.4 20.6C385 119.3 324.4 128 256 128s-129-8.7-171.5-22C63.1 99.3 48.1 92 39.1 85.4c-3.2-2.4-5-4.2-6.1-5.4c1.1-1.2 2.9-3 6.1-5.4c9-6.6 24-13.9 45.4-20.6C127 40.7 187.6 32 256 32s129 8.7 171.5 22c21.4 6.7 36.4 14 45.4 20.6zM31.7 78.1a.1 .1 0 1 0 .2 0 .1 .1 0 1 0 -.2 0zm0 3.8a.1 .1 0 1 0 .2 0 .1 .1 0 1 0 -.2 0zm448.5-.1a.2 .2 0 1 0 -.1 .3 .2 .2 0 1 0 .1-.3zM512 80C512 35.8 397.4 0 256 0S0 35.8 0 80s114.6 80 256 80s256-35.8 256-80zM45.6 156.5C26.7 190.7 16 230.1 16 272c0 132.5 107.5 240 240 240s240-107.5 240-240c0-41.9-10.7-81.3-29.6-115.5c-9.5 3.9-19.7 7.6-30.5 11C453.8 198.2 464 233.9 464 272c0 114.9-93.1 208-208 208S48 386.9 48 272c0-38.1 10.2-73.8 28.1-104.5c-10.9-3.4-21.1-7.1-30.5-11zm110.9 94c6.2-7.1 12.8-10.5 19.5-10.5s13.4 3.4 19.5 10.5c6.2 7.2 10.8 16.8 12.9 25.4c2.1 8.6 10.8 13.8 19.4 11.6s13.8-10.8 11.6-19.4c-3.2-12.7-9.8-27.1-19.9-38.6C209.6 217.9 194.8 208 176 208s-33.6 9.9-43.7 21.5c-10 11.5-16.7 25.9-19.9 38.6c-2.1 8.6 3.1 17.3 11.6 19.4s17.3-3.1 19.4-11.6c2.1-8.6 6.7-18.2 12.9-25.4zm-14.9 89.4c-6.7 5.8-7.4 15.9-1.6 22.6c22.2 25.7 61 53.5 116.1 53.5s93.8-27.9 116.1-53.5c5.8-6.7 5.1-16.8-1.6-22.6s-16.8-5.1-22.6 1.6C330 362.2 299.4 384 256 384s-74-21.8-91.9-42.5c-5.8-6.7-15.9-7.4-22.6-1.6zm162-64c2.1-8.6 6.7-18.2 12.9-25.4c6.2-7.1 12.8-10.5 19.5-10.5s13.4 3.4 19.5 10.5c6.2 7.2 10.8 16.8 12.9 25.4c2.1 8.6 10.8 13.8 19.4 11.6s13.8-10.8 11.6-19.4c-3.2-12.7-9.8-27.1-19.9-38.6C369.6 217.9 354.8 208 336 208s-33.6 9.9-43.7 21.5c-10 11.5-16.7 25.9-19.9 38.6c-2.1 8.6 3.1 17.3 11.6 19.4s17.3-3.1 19.4-11.6z\"]\n};\nvar faCartCircleArrowDown = {\n prefix: 'fal',\n iconName: 'cart-circle-arrow-down',\n icon: [640, 512, [], \"e3ef\", \"M16 0C7.2 0 0 7.2 0 16s7.2 16 16 16H53.9c7.6 0 14.2 5.3 15.7 12.8l58.9 288c6.1 29.8 32.3 51.2 62.7 51.2H320.7c-.5-5.3-.7-10.6-.7-16s.2-10.7 .7-16H191.2c-15.2 0-28.3-10.7-31.4-25.6L152 288H339.2c5.9-11.4 12.9-22.2 21-32H145.4L106.1 64H539.5L507.4 192.4c10.9 .7 21.5 2.4 31.7 5L570.6 71.8c5-20.2-10.2-39.8-31-39.8H99.1C92.5 13 74.4 0 53.9 0H16zM168 456a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm80 0a56 56 0 1 0 -112 0 56 56 0 1 0 112 0zm360-88a112 112 0 1 1 -224 0 112 112 0 1 1 224 0zm-256 0a144 144 0 1 0 288 0 144 144 0 1 0 -288 0zm211.3-3.3c-6.2-6.2-16.4-6.2-22.6 0L512 393.4V304c0-8.8-7.2-16-16-16s-16 7.2-16 16v89.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l56 56c6.2 6.2 16.4 6.2 22.6 0l56-56c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nvar faHousePersonReturn = {\n prefix: 'fal',\n iconName: 'house-person-return',\n icon: [640, 512, [\"house-person-arrive\", \"house-return\"], \"e011\", \"M250.4 3.9c-6-5.1-14.8-5.1-20.8 0l-224 192c-6.7 5.8-7.5 15.9-1.7 22.6s15.9 7.5 22.6 1.7L64 187.9V352c0 35.3 28.7 64 64 64H348.6l9.1-32H352 320 128c-17.7 0-32-14.3-32-32V160.5L240 37.1 367.9 146.7c5.8-9.1 12.6-17.4 20.4-24.7L250.4 3.9zM192 192h64v64H192V192zm-8-32c-13.3 0-24 10.7-24 24v80c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24V184c0-13.3-10.7-24-24-24H184zM464 56a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zm-80 0a56 56 0 1 0 112 0A56 56 0 1 0 384 56zM522.4 172.3l12.7 6.9c27.5 15 47.4 40.8 55 71.2l2.4 9.6c2.1 8.6 10.8 13.8 19.4 11.6s13.8-10.8 11.6-19.4l-2.4-9.5c-9.8-39-35.4-72.2-70.7-91.5l-12.7-6.9c-19.4-10.6-41.2-16.2-63.4-16.2c-36.9 0-69.7 23.6-81.4 58.7l-17.1 51.4c-3.4 10.1-10 18.8-18.9 24.8l-29.7 19.8c-7.4 4.9-9.3 14.8-4.4 22.2s14.8 9.3 22.2 4.4l29.7-19.8c14.8-9.9 25.9-24.4 31.5-41.3l8.8-26.4L452.7 331l-43.6 37.8c-4.7 4.1-8.1 9.4-9.8 15.4L368.6 491.6c-2.4 8.5 2.5 17.4 11 19.8s17.4-2.5 19.8-11L430.1 393l100.6-87.2c14.4-12.5 20.1-32.4 14.4-50.6l-26.6-85c1.3 .6 2.6 1.3 3.9 2zm-7.9 92.5c1.9 6.1 0 12.7-4.8 16.9l-30.9 26.8-45-130c10-11.5 24.7-18.4 40.6-18.4c2.5 0 5 .1 7.5 .3l32.7 104.5zm6.4 88.9c-7.9 4-11.1 13.6-7.2 21.5l30.8 61.7c1.5 3.1 3.6 5.9 6 8.3l62.2 62.2c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-62.2-62.2-30.8-61.7c-4-7.9-13.6-11.1-21.5-7.2z\"]\n};\nvar faHousePersonArrive = faHousePersonReturn;\nvar faHouseReturn = faHousePersonReturn;\nvar faMessageXmark = {\n prefix: 'fal',\n iconName: 'message-xmark',\n icon: [512, 512, [\"comment-alt-times\", \"message-times\"], \"f4ab\", \"M192 416c0-17.7-14.3-32-32-32H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H448c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H309.3c-6.9 0-13.7 2.2-19.2 6.4L192 464V416zM64 0C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h64 32v32 48c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L309.3 416H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM180.7 132.7c-6.2 6.2-6.2 16.4 0 22.6L233.4 208l-52.7 52.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L256 230.6l52.7 52.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L278.6 208l52.7-52.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L256 185.4l-52.7-52.7c-6.2-6.2-16.4-6.2-22.6 0z\"]\n};\nvar faCommentAltTimes = faMessageXmark;\nvar faMessageTimes = faMessageXmark;\nvar faFileCertificate = {\n prefix: 'fal',\n iconName: 'file-certificate',\n icon: [512, 512, [\"file-award\"], \"f5f3\", \"M480 448c0 17.7-14.3 32-32 32H224v16c0 5.5-1 10.9-2.7 16H448c35.3 0 64-28.7 64-64V163.9c0-12.7-5.1-24.9-14.1-33.9L382.1 14.1c-9-9-21.2-14.1-33.9-14.1H192c-35.3 0-64 28.7-64 64v71.1l.1-.1c1.5-.7 4-2 6.6-3c8.2-3.4 16.9-4.6 25.3-4V64c0-17.7 14.3-32 32-32H320V144c0 26.5 21.5 48 48 48H480V448zm-.5-288H368c-8.8 0-16-7.2-16-16V32.5c2.8 .7 5.4 2.1 7.4 4.2L475.3 152.6c2.1 2.1 3.5 4.6 4.2 7.4zM249.8 288c0-.8 .2-2.4 3.5-10.4c6.3-15.4 1.6-33.1-11.6-43.2c-6.9-5.3-7.8-6.6-8.2-7.3s-1-2.1-2.2-10.7c-2.2-16.5-15.2-29.4-31.6-31.6c-8.6-1.2-10-1.8-10.7-2.2s-2-1.3-7.3-8.2c-10.2-13.1-27.9-17.9-43.2-11.6c-8 3.3-9.6 3.5-10.4 3.5s-2.4-.2-10.4-3.5c-15.4-6.3-33.1-1.6-43.2 11.6c-5.3 6.9-6.6 7.8-7.3 8.2s-2.1 1-10.7 2.2C39.9 187 27 199.9 24.7 216.4c-1.2 8.6-1.8 10-2.2 10.7s-1.3 2-8.2 7.3C1.2 244.5-3.5 262.2 2.8 277.6c3.3 8 3.5 9.6 3.5 10.4h0c0 .8-.2 2.4-3.5 10.4c-6.3 15.4-1.6 33.1 11.6 43.2c6.9 5.3 7.8 6.6 8.2 7.3s1 2.1 2.2 10.7C27 376.1 39.9 389 56.4 391.3c3.7 .5 6.1 .9 7.6 1.2V496c0 5.9 3.2 11.3 8.5 14.1s11.5 2.5 16.4-.8L128 483.2l39.1 26.1c4.9 3.3 11.2 3.6 16.4 .8s8.5-8.2 8.5-14.1V392.5c1.6-.3 3.9-.7 7.6-1.2c16.5-2.2 29.4-15.2 31.6-31.6c1.2-8.6 1.8-10 2.2-10.7s1.3-2 8.2-7.3c13.1-10.2 17.9-27.9 11.6-43.2c-3.3-8-3.5-9.6-3.5-10.4h0zM96 466.1V415.2c7.1 1.5 14.6 .9 21.6-2c8-3.3 9.6-3.5 10.4-3.5s2.4 .2 10.4 3.5c7 2.9 14.5 3.4 21.6 2v50.9l-23.1-15.4c-5.4-3.6-12.4-3.6-17.8 0L96 466.1zM38.2 288h0c0-8.1-2.9-15.4-5.8-22.5c-.8-2.1-.2-4.4 1.6-5.8c6.1-4.7 12.3-9.6 16.3-16.6s5.2-14.8 6.2-22.4c.3-2.2 2-3.9 4.2-4.2c7.7-1 15.4-2.2 22.4-6.2s11.8-10.2 16.6-16.3c1.4-1.8 3.7-2.4 5.8-1.6c7.1 2.9 14.4 5.8 22.5 5.8s15.4-2.9 22.5-5.8c2.1-.8 4.4-.2 5.8 1.6c4.7 6.1 9.6 12.3 16.6 16.3s14.8 5.2 22.4 6.2c2.2 .3 3.9 2 4.2 4.2c1 7.7 2.2 15.4 6.2 22.4s10.2 11.8 16.3 16.6c1.8 1.4 2.4 3.7 1.6 5.8c-2.9 7.1-5.8 14.4-5.8 22.5h0c0 8.1 2.9 15.4 5.8 22.5c.8 2.1 .2 4.4-1.6 5.8c-6.1 4.7-12.3 9.6-16.3 16.6s-5.2 14.8-6.2 22.4c-.3 2.2-2 3.9-4.2 4.2c-7.7 1-15.4 2.2-22.4 6.2s-11.8 10.2-16.6 16.3c-1.4 1.8-3.7 2.4-5.8 1.6c-7.1-2.9-14.4-5.8-22.5-5.8s-15.4 2.9-22.5 5.8c-2.1 .8-4.4 .2-5.8-1.6c-4.7-6.1-9.6-12.3-16.6-16.3s-14.8-5.2-22.4-6.2c-2.2-.3-3.9-2-4.2-4.2c-1-7.7-2.2-15.4-6.2-22.4s-10.2-11.8-16.3-16.6c-1.8-1.4-2.4-3.7-1.6-5.8c2.9-7.1 5.8-14.4 5.8-22.5z\"]\n};\nvar faFileAward = faFileCertificate;\nvar faUserDoctorHairLong = {\n prefix: 'fal',\n iconName: 'user-doctor-hair-long',\n icon: [448, 512, [], \"e459\", \"M320 144c0 53-43 96-96 96s-96-43-96-96V128l34.3 0c31.7 0 61.1-14.5 80.4-38.7l6.3 6.3c10.5 10.5 24.7 16.4 39.6 16.4h30.1c.9 5.2 1.3 10.5 1.3 16v16zm32-16C352 57.3 294.7 0 224 0S96 57.3 96 128c0 35.3-16.6 68.4-44.8 89.6l-4.3 3.2C37.5 227.9 32 238.9 32 250.7C32 271.3 48.7 288 69.3 288H128c8.8 0 16-7.2 16-16s-7.2-16-16-16H69.3c-2.9 0-5.3-2.4-5.3-5.3c0-1.7 .8-3.3 2.1-4.3l4.3-3.2c15.8-11.9 28.8-26.7 38.4-43.4C129.5 242.6 173.3 272 224 272s94.5-29.4 115.2-72.2c9.6 16.7 22.6 31.5 38.4 43.4l4.3 3.2c1.3 1 2.1 2.6 2.1 4.3c0 2.9-2.4 5.3-5.3 5.3H320c-8.8 0-16 7.2-16 16s7.2 16 16 16h58.7c20.6 0 37.3-16.7 37.3-37.3c0-11.8-5.5-22.8-14.9-29.9l-4.3-3.2C368.6 196.4 352 163.3 352 128zM225.5 57.1C213.5 81 189.1 96 162.3 96H133.5c13.2-37.3 48.7-64 90.5-64c35.5 0 66.6 19.3 83.2 48H288.6c-6.4 0-12.5-2.5-17-7L251.3 52.7c-6.2-6.2-16.4-6.2-22.6 0c-1.3 1.3-2.4 2.8-3.1 4.5zM270.8 336c5.8 0 11.5 .3 17.2 1v33.3c-23.1 6.9-40 28.3-40 53.7v24c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16s-7.2-16-16-16v-8c0-13.3 10.7-24 24-24s24 10.7 24 24v8c-8.8 0-16 7.2-16 16s7.2 16 16 16h16c8.8 0 16-7.2 16-16V424c0-25.4-16.9-46.8-40-53.7V344.5c55.6 20 95.5 73 96 135.5H32c.5-68.2 48.2-125.3 112-140.2v30.9c-18.6 6.6-32 24.4-32 45.3c0 26.5 21.5 48 48 48s48-21.5 48-48c0-20.9-13.4-38.7-32-45.3V336l1.2 0h93.6zM176 416a16 16 0 1 1 -32 0 16 16 0 1 1 32 0zM0 481.2c0 17 13.8 30.8 30.8 30.8H417.2c17 0 30.8-13.8 30.8-30.8C448 383.3 368.7 304 270.8 304H177.2C79.3 304 0 383.3 0 481.2z\"]\n};\nvar faCameraSecurity = {\n prefix: 'fal',\n iconName: 'camera-security',\n icon: [448, 512, [\"camera-home\"], \"f8fe\", \"M384 32c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H324.2 123.8 64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H384zM343.9 416H384c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h40.1L67.6 475.4c-4.6 7.4-4.8 16.7-.5 24.3s12.3 12.3 21 12.3H360c8.7 0 16.7-4.7 21-12.3s4-16.9-.5-24.3L343.9 416zm-202.2 0H306.3l39.4 64H102.3l39.4-64zM224 304a96 96 0 1 1 0-192 96 96 0 1 1 0 192zM96 208a128 128 0 1 0 256 0A128 128 0 1 0 96 208z\"]\n};\nvar faCameraHome = faCameraSecurity;\nvar faGear = {\n prefix: 'fal',\n iconName: 'gear',\n icon: [512, 512, [9881, \"cog\"], \"f013\", \"M223.3 37.8c.4-1.5 1.3-2.8 2.4-3.8c9.9-1.3 20-2 30.3-2s20.4 .7 30.3 2c1.1 1 1.9 2.3 2.4 3.8l13.7 47.7c3.5 12.1 12.2 21.1 22.5 26.1c7.6 3.6 14.8 7.8 21.7 12.5c9.4 6.5 21.7 9.5 33.9 6.5l48.2-12c1.5-.4 3-.3 4.4 .2c5.4 6.9 10.4 14.2 14.9 21.8l4.3 7.4c4.2 7.5 7.9 15.3 11.2 23.3c-.3 1.5-1 2.9-2.1 4L426.8 211c-8.7 9-12.2 21.1-11.3 32.5c.3 4.1 .5 8.3 .5 12.5s-.2 8.4-.5 12.5c-.9 11.4 2.6 23.5 11.3 32.5l34.5 35.7c1.1 1.1 1.8 2.5 2.1 4c-3.3 8-7 15.8-11.2 23.4l-4.2 7.3c-4.6 7.6-9.6 14.8-14.9 21.8c-1.4 .5-2.9 .5-4.4 .2l-48.2-12c-12.2-3-24.4 0-33.9 6.5c-6.9 4.7-14.1 8.9-21.7 12.5c-10.3 4.9-19.1 14-22.5 26.1l-13.7 47.7c-.4 1.5-1.3 2.8-2.4 3.8c-9.9 1.3-20 2-30.3 2s-20.4-.7-30.3-2c-1.1-1-1.9-2.3-2.4-3.8l-13.7-47.7c-3.5-12.1-12.2-21.1-22.5-26.1c-7.6-3.6-14.8-7.8-21.7-12.5c-9.4-6.5-21.7-9.5-33.9-6.5l-48.2 12c-1.5 .4-3 .3-4.4-.2c-5.4-7-10.4-14.2-15-21.8l-4.2-7.3c-4.2-7.5-7.9-15.3-11.2-23.4c.3-1.5 1-2.9 2.1-4L85.2 301c8.7-9 12.2-21.1 11.3-32.5c-.3-4.1-.5-8.3-.5-12.5s.2-8.4 .5-12.5c.9-11.4-2.6-23.5-11.3-32.5L50.7 175.2c-1.1-1.1-1.8-2.5-2.1-4c3.3-8 7-15.8 11.2-23.4l4.2-7.3c4.6-7.6 9.6-14.8 15-21.8c1.4-.5 2.9-.5 4.4-.2l48.2 12c12.2 3 24.4 0 33.9-6.5c6.9-4.7 14.1-8.9 21.7-12.5c10.3-4.9 19.1-14 22.5-26.1l13.7-47.7zM256 0c-13 0-25.9 1-38.4 2.9c-1.7 .3-3.4 .8-5 1.6c-9.5 4.9-16.9 13.6-20 24.5L178.9 76.7c-.6 2.2-2.5 4.5-5.6 6c-9.1 4.3-17.8 9.4-26 15c-2.8 1.9-5.8 2.4-8 1.8l-48.2-12C80.2 84.8 69 86.9 60 92.6c-1.5 .9-2.8 2.1-3.9 3.5C49 105 42.4 114.3 36.5 124.1l-.1 .3L32 132l-.1 .3c-5.4 9.8-10.2 19.9-14.3 30.4c-.6 1.6-1 3.3-1.1 5c-.5 10.8 3.3 21.6 11.2 29.8l34.5 35.7c1.6 1.7 2.7 4.4 2.4 7.8c-.4 5-.6 10-.6 15s.2 10.1 .6 15c.3 3.4-.8 6.2-2.4 7.8L27.7 314.6c-7.9 8.2-11.7 19-11.2 29.8c.1 1.7 .5 3.4 1.1 5c4.1 10.5 8.9 20.6 14.3 30.4l.1 .3 4.4 7.6 .1 .3c5.9 9.8 12.4 19.2 19.6 28.1c1.1 1.4 2.4 2.6 3.9 3.5c9 5.7 20.2 7.8 31.1 5.1l48.2-12c2.2-.6 5.2-.1 8 1.8c8.2 5.7 16.9 10.7 26 15c3.1 1.5 4.9 3.8 5.6 6L192.6 483c3.1 10.8 10.5 19.5 20 24.5c1.6 .8 3.2 1.4 5 1.6C230.1 511 243 512 256 512s25.9-1 38.4-2.9c1.7-.3 3.4-.8 5-1.6c9.5-4.9 16.9-13.6 20-24.5l13.7-47.7c.6-2.2 2.5-4.5 5.6-6c9.1-4.3 17.8-9.4 26-15c2.8-1.9 5.8-2.4 8-1.8l48.2 12c10.9 2.7 22.1 .7 31.1-5.1c1.5-.9 2.8-2.1 3.9-3.5c7.1-8.9 13.6-18.2 19.5-28l.1-.3L480 380l.1-.3c5.4-9.7 10.2-19.9 14.3-30.4c.6-1.6 1-3.3 1.1-5c.5-10.8-3.3-21.6-11.2-29.8l-34.5-35.7c-1.6-1.7-2.7-4.4-2.4-7.8c.4-5 .6-10 .6-15s-.2-10.1-.6-15c-.3-3.4 .8-6.2 2.4-7.8l34.5-35.7c7.9-8.2 11.7-19 11.2-29.8c-.1-1.7-.5-3.4-1.1-5c-4.1-10.5-8.9-20.6-14.3-30.4l-.1-.3-4.4-7.6-.1-.3c-5.9-9.8-12.4-19.2-19.5-28c-1.1-1.4-2.4-2.6-3.9-3.5c-9-5.7-20.2-7.8-31.1-5.1l-48.2 12c-2.2 .6-5.2 .1-8-1.8c-8.2-5.7-16.9-10.7-26-15c-3.1-1.5-4.9-3.8-5.6-6L319.4 29c-3.1-10.8-10.5-19.5-20-24.5c-1.6-.8-3.2-1.4-5-1.6C281.9 1 269 0 256 0zM200 256a56 56 0 1 1 112 0 56 56 0 1 1 -112 0zm144 0a88 88 0 1 0 -176 0 88 88 0 1 0 176 0z\"]\n};\nvar faCog = faGear;\nvar faDropletSlash = {\n prefix: 'fal',\n iconName: 'droplet-slash',\n icon: [640, 512, [\"tint-slash\"], \"f5c7\", \"M320 480c-88.4 0-160-71.6-160-160c0-16.2 6.1-39.2 18.3-67.5c2.8-6.4 5.8-13 9.1-19.7l-25.7-20.3C141.8 252.1 128 290.3 128 320c0 106 86 192 192 192c56.1 0 106.7-24.1 141.8-62.5l-25.2-19.9C407.4 460.6 366 480 320 480zM461.7 252.5c7.6 17.6 12.8 33.1 15.7 46.2L511.9 326c.1-2 .1-4 .1-6c0-91.2-130.2-262.3-166.6-308.3C339.4 4.2 330.5 0 320.9 0h-1.8c-9.6 0-18.5 4.2-24.5 11.7c-13.3 16.8-39 50.2-66.4 90.3l25.2 19.9c27-39.7 52.6-73 66-89.9h1.3c18.1 22.9 58.6 75.7 94.5 133.7c18.1 29.2 34.6 59.1 46.6 86.8zM240 320c0-8.8-7.2-16-16-16s-16 7.2-16 16c0 61.9 50.1 112 112 112c8.8 0 16-7.2 16-16s-7.2-16-16-16c-44.2 0-80-35.8-80-80zM25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4z\"]\n};\nvar faTintSlash = faDropletSlash;\nvar faBookHeart = {\n prefix: 'fal',\n iconName: 'book-heart',\n icon: [448, 512, [], \"f499\", \"M0 64C0 28.7 28.7 0 64 0H400c26.5 0 48 21.5 48 48V368c0 20.9-13.4 38.7-32 45.3V480h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H64c-35.3 0-64-28.7-64-64l0 0L0 64zM64 416c-17.7 0-32 14.3-32 32s14.3 32 32 32H384V416H64zM32 392.6c9.4-5.4 20.3-8.6 32-8.6H400c8.8 0 16-7.2 16-16V48c0-8.8-7.2-16-16-16H64C46.3 32 32 46.3 32 64l0 328.6zM160 173.3c0 7.8 3.1 15.2 8.6 20.7L240 265.4l71.4-71.4c5.5-5.5 8.6-12.9 8.6-20.7c0-16.2-13.1-29.3-29.3-29.3c-7.8 0-15.2 3.1-20.7 8.6l-18.7 18.7c-6.2 6.2-16.4 6.2-22.6 0l-18.7-18.7c-5.5-5.5-12.9-8.6-20.7-8.6c-16.2 0-29.3 13.1-29.3 29.3zM189.3 112c16.2 0 31.8 6.5 43.3 17.9l7.4 7.4 7.4-7.4c11.5-11.5 27.1-17.9 43.3-17.9c33.8 0 61.3 27.4 61.3 61.3c0 16.2-6.5 31.8-17.9 43.3l-82.7 82.7c-6.2 6.2-16.4 6.2-22.6 0l-82.7-82.7c-11.5-11.5-17.9-27.1-17.9-43.3c0-33.8 27.4-61.3 61.3-61.3z\"]\n};\nvar faMosque = {\n prefix: 'fal',\n iconName: 'mosque',\n icon: [640, 512, [128332], \"f678\", \"M400 0c5 0 9.8 2.4 12.8 6.4c34.7 46.3 78.1 74.9 133.5 111.5l0 0 0 0 0 0c5.2 3.4 10.5 7 16 10.6c28.9 19.2 45.7 51.7 45.7 86.1c0 28.6-11.4 54.5-29.8 73.5c34.3 1.2 61.8 29.3 61.8 64v96c0 35.3-28.7 64-64 64H544 512 464 432 368 336 288 256 224c-35.3 0-64-28.7-64-64V352c0-34.6 27.5-62.8 61.8-64c-18.5-19-29.8-44.9-29.8-73.5c0-34.4 16.7-66.9 45.7-86.1c5.4-3.6 10.8-7.1 16-10.6l0 0 0 0C309.1 81.3 352.5 52.7 387.2 6.4c3-4 7.8-6.4 12.8-6.4zm32 480V424c0-10.1-4.7-19.6-12.8-25.6L400 384l-19.2 14.4c-8.1 6-12.8 15.5-12.8 25.6v56h64zm32 0h48V400c0-8.8 7.2-16 16-16s16 7.2 16 16v80h32c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32H502.6 400 297.4 224c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32h32V400c0-8.8 7.2-16 16-16s16 7.2 16 16v80h48V424c0-20.1 9.5-39.1 25.6-51.2L400 344l38.4 28.8C454.5 384.9 464 403.9 464 424v56zM576 214.6c0-24-11.7-46.3-31.4-59.4c-5.6-3.7-11.1-7.3-16.5-10.9l0 0 0 0 0 0 0 0 0 0 0 0c-48.6-32.1-92.1-60.7-128-102.7c-35.9 41.9-79.4 70.6-128 102.7l0 0c-5.5 3.6-11 7.2-16.6 10.9c-19.7 13.1-31.4 35.4-31.4 59.4c0 40.6 32.9 73.4 73.4 73.4H400 502.6c40.6 0 73.4-32.9 73.4-73.4zM70.4 5.2c5.7-4.3 13.5-4.3 19.2 0l16 12C139.8 42.9 160 83.2 160 126v2 32V272c0 8.8-7.2 16-16 16s-16-7.2-16-16V160H32v16V448c0 17.7 14.3 32 32 32h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H64c-35.3 0-64-28.7-64-64V176 126C0 83.2 20.2 42.9 54.4 17.2l16-12zM32 128h96v-2c0-32.7-15.4-63.6-41.6-83.2L80 38l-6.4 4.8C47.4 62.4 32 93.3 32 126v2z\"]\n};\nvar faDuck = {\n prefix: 'fal',\n iconName: 'duck',\n icon: [512, 512, [129414], \"f6d8\", \"M368 259V235.4c0-17.3 7.1-31.9 15.3-42.5L402.7 208l-19.4-15.1C393.8 179.4 400 162.5 400 144c0-44.2-35.8-80-80-80s-80 35.8-80 80c0 26.2 12.6 49.5 32.2 64.2c9.8 7.3 14.5 19.5 12.3 31.5s-11.1 21.7-22.8 25l-165 46.2c-7 2-14.5 1.5-21.2-1.4L32.2 290.9C36.5 378 108.4 448 196 448H312c53 0 96-43 96-96c0-27.5-11.5-52.2-30-69.7c-6.4-6-10-14.4-10-23.2zm32-19v19c24.6 23.3 40 56.3 40 93c0 70.7-57.3 128-128 128H196C87.8 480 0 391 0 282.7C0 268.1 11.9 256 26.6 256c3.6 0 7.2 .7 10.5 2.1L88 280l128.4-36L253 233.8c-9.8-7.3-18.3-16.1-25.2-26.2c-12.5-18.1-19.8-40-19.8-63.6c0-61.9 50.1-112 112-112c54.1 0 99.3 38.4 109.7 89.4c9.6 1.3 19.3 1.3 28.9 .1l24.2-3c15.5-1.9 29.2 10.1 29.2 25.8c0 52.9-42.9 95.7-95.7 95.7H400zm31.6-86.2c-1.7 20-8.8 38.6-19.7 54.2h4.4c32.9 0 59.9-24.9 63.3-56.8l-17 2.1c-10.3 1.3-20.7 1.5-31 .5zM312 152a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm13.2 159.7c-6.2 46.7-41.4 87-90.7 99.3c-40.4 10.1-81.2-.9-109.7-26.2c-6.6-5.9-7.2-16-1.3-22.6s16-7.2 22.6-1.3c20.7 18.3 50.6 26.6 80.7 19.1c36.8-9.2 62.3-39 66.7-72.5c1.2-8.8 9.2-14.9 18-13.7s14.9 9.2 13.7 18z\"]\n};\nvar faMosquito = {\n prefix: 'fal',\n iconName: 'mosquito',\n icon: [640, 512, [], \"e52b\", \"M182.4 3.4c-6.9 5.5-8.2 15.7-2.8 22.7l41.9 55.7L194 136.5c-3.2 6.3-2 14.1 3 19l45.1 45.1L79.3 226.2C34 232.1 0 272.5 0 320.3c0 84.5 97.6 126.9 154.6 67.1L272 280.4v23.9L228 357c-2.5 2.9-3.8 6.7-3.8 10.6v58.3l-44.7 59.5c-5.3 7.1-4.1 17.3 2.8 22.7s16.8 4.2 22.1-2.9l48-63.9c2.1-2.8 3.3-6.3 3.3-9.9V373.5L272 354.1v45.4c0 26.5 21.5 48 48 48s48-21.5 48-48V354.1l16.2 19.4 0 57.9c0 3.6 1.2 7.1 3.3 9.9l48 63.9c5.3 7.1 15.2 8.4 22.1 2.9s8.2-15.7 2.8-22.7l-44.7-59.5V367.5c0-3.9-1.4-7.6-3.8-10.6l-44-52.7V280.4L485.4 387.4C542.4 447.2 640 404.9 640 320.3c0-47.9-34-88.2-79.4-94.2L397.9 200.7 443 155.6c5-5 6.2-12.7 3-19L418.6 81.8l41.9-55.7c5.3-7.1 4.1-17.3-2.8-22.7s-16.8-4.2-22.1 2.9l-48 63.9c-3.7 5-4.3 11.7-1.5 17.3l26.7 53.2L368 185.4v-9.5c0-23.8-17.3-43.5-40-47.3V63.8c0-4.4-3.6-8-8-8s-8 3.6-8 8v64.8c-22.7 3.8-40 23.6-40 47.3v9.5l-44.6-44.7L254 87.5c2.8-5.6 2.2-12.4-1.5-17.3l-48-63.9c-5.3-7.1-15.2-8.4-22.1-2.9zM272 237.1L133.1 363.8c-.5 .5-1.1 1-1.6 1.5C96.6 401.9 32 379.3 32 320.3c0-32.9 23.2-58.7 51.5-62.4c.3 0 .5-.1 .8-.1l185.8-29.1 1.9 1.9 0 6.4zM506.9 363.8L368 237l0-6.4 1.9-1.9 185.8 29.1c.3 0 .5 .1 .8 .1c28.3 3.7 51.5 29.5 51.5 62.4c0 58.9-64.6 81.6-99.5 45c-.5-.5-1-1-1.6-1.5zM304 399.5l0-223.6c0-8.8 7.2-16 16-16s16 7.2 16 16l0 223.6c0 8.8-7.2 16-16 16s-16-7.2-16-16z\"]\n};\nvar faStarOfDavid = {\n prefix: 'fal',\n iconName: 'star-of-david',\n icon: [512, 512, [10017], \"f69a\", \"M418.3 286.6l-50 81.4h90.2c3 0 5.4-2.4 5.4-5.4c0-1-.3-2-.8-2.8l-44.9-73.1zM399.5 256L330.8 144H181.2L112.5 256l68.7 112H330.8l68.7-112zm37.5 0l53.4 87c3.6 5.9 5.5 12.7 5.5 19.6c0 20.7-16.8 37.4-37.4 37.4H348.7l-56.2 91.5C284.8 504.3 270.9 512 256 512s-28.8-7.7-36.6-20.5L163.3 400H53.4C32.8 400 16 383.2 16 362.6c0-6.9 1.9-13.7 5.5-19.6l53.4-87L21.5 169c-3.6-5.9-5.5-12.7-5.5-19.6C16 128.8 32.8 112 53.4 112H163.3l56.2-91.5C227.2 7.7 241.1 0 256 0s28.8 7.7 36.6 20.5L348.7 112H458.6c20.7 0 37.4 16.8 37.4 37.4c0 6.9-1.9 13.7-5.5 19.6l-53.4 87zM368.4 144l50 81.4 44.9-73.1c.5-.9 .8-1.8 .8-2.8c0-3-2.4-5.4-5.4-5.4H368.4zm-57.2-32L265.3 37.2c-2-3.2-5.5-5.2-9.3-5.2s-7.3 2-9.3 5.2L200.8 112H311.2zM143.6 144H53.4c-3 0-5.4 2.4-5.4 5.4c0 1 .3 2 .8 2.8l44.9 73.1 50-81.4zm-50 142.6L48.8 359.7c-.5 .9-.8 1.8-.8 2.8c0 3 2.4 5.4 5.4 5.4h90.2l-50-81.4zM200.8 400l45.9 74.8c2 3.2 5.5 5.2 9.3 5.2s7.3-2 9.3-5.2L311.2 400H200.8z\"]\n};\nvar faFlagSwallowtail = {\n prefix: 'fal',\n iconName: 'flag-swallowtail',\n icon: [448, 512, [\"flag-alt\"], \"f74c\", \"M32 16C32 7.2 24.8 0 16 0S0 7.2 0 16V32 64 320v32V496c0 8.8 7.2 16 16 16s16-7.2 16-16V352H424c13.3 0 24-10.7 24-24c0-5.2-1.7-10.2-4.8-14.4L352 192 443.2 70.4c3.1-4.2 4.8-9.2 4.8-14.4c0-13.3-10.7-24-24-24H32V16zm0 48H408L326.4 172.8c-8.5 11.4-8.5 27 0 38.4L408 320H32V64z\"]\n};\nvar faFlagAlt = faFlagSwallowtail;\nvar faPersonMilitaryRifle = {\n prefix: 'fal',\n iconName: 'person-military-rifle',\n icon: [512, 512, [], \"e54b\", \"M192 64V59.1L320 37.8V64v0H192v0zm160 8V28.3c0-14.8-13.3-26.1-27.9-23.7l-144 24C168.5 30.6 160 40.6 160 52.3V72c0 11.1 7.5 20.4 17.8 23.2c-1.2 5.4-1.8 11-1.8 16.8c0 44.2 35.8 80 80 80s80-35.8 80-80c0-5.8-.6-11.4-1.8-16.8C344.5 92.4 352 83.1 352 72zM210.7 96h90.5c1.8 5 2.7 10.4 2.7 16c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-5.6 1-11 2.7-16zM192 296c0-2.3 .2-4.6 .6-6.7L301.6 480H208c-8.8 0-16-7.2-16-16V296zM320 447.8l-106.9-187c5.6-3 12.1-4.7 18.9-4.7h48c22.1 0 40 17.9 40 40V447.8zM352 464V300.2l98.1 171.7c4.4 7.7 14.2 10.3 21.8 6s10.3-14.2 6-21.8L384 291.7l46.9-81.2c8.8-15.3 3.6-34.9-11.7-43.7l16-27.7 32-55.4 8-13.9c4.4-7.7 1.8-17.4-5.9-21.9l-13.9-8c-7.7-4.4-17.4-1.8-21.9 5.9s-1.8 17.4 5.9 21.9l-16 27.7-16 27.7-16 27.7c-15.3-8.8-34.9-3.6-43.7 11.7L309.9 228c-9.5-2.6-19.5-4-29.6-4H280 232h-.3c-40.2 0-77.3 21.5-97.2 56.4L34.1 456.1c-4.4 7.7-1.7 17.4 6 21.8s17.4 1.7 21.8-6L160 300.2V464c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48zM339.4 240.9l36-62.3 27.7 16-38.9 67.3c-7.3-8.2-15.6-15.3-24.8-21zM288 320a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faCarGarage = {\n prefix: 'fal',\n iconName: 'car-garage',\n icon: [640, 512, [], \"f5e2\", \"M328.5 2.5c-5.2-3.3-11.9-3.3-17.1 0l-304 192c-7.5 4.7-9.7 14.6-5 22.1s14.6 9.7 22.1 5L320 34.9 615.5 221.5c7.5 4.7 17.4 2.5 22.1-5s2.5-17.4-5-22.1l-304-192zM252.2 208H387.8c14.3 0 26.8 9.5 30.8 23.2L434.8 288c-.9 0-1.9 0-2.8 0H208c-.9 0-1.9 0-2.8 0l16.2-56.8c3.9-13.7 16.5-23.2 30.8-23.2zm-61.5 14.4L169 298.1c-24.5 13.7-41 39.9-41 69.9v48 16 32 32c0 8.8 7.2 16 16 16s16-7.2 16-16V464H480v32c0 8.8 7.2 16 16 16s16-7.2 16-16V464 432 416 368c0-30-16.6-56.2-41-69.9l-21.6-75.7c-7.9-27.5-33-46.4-61.5-46.4H252.2c-28.6 0-53.7 18.9-61.5 46.4zM480 416v16H160V416 368c0-26.5 21.5-48 48-48H432c26.5 0 48 21.5 48 48v48zM208 400a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm248-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faCartShopping = {\n prefix: 'fal',\n iconName: 'cart-shopping',\n icon: [576, 512, [128722, \"shopping-cart\"], \"f07a\", \"M16 0C7.2 0 0 7.2 0 16s7.2 16 16 16H53.9c7.6 0 14.2 5.3 15.7 12.8l58.9 288c6.1 29.8 32.3 51.2 62.7 51.2H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H191.2c-15.2 0-28.3-10.7-31.4-25.6L152 288H466.5c29.4 0 55-20 62.1-48.5L570.6 71.8c5-20.2-10.2-39.8-31-39.8H99.1C92.5 13 74.4 0 53.9 0H16zm90.1 64H539.5L497.6 231.8C494 246 481.2 256 466.5 256H145.4L106.1 64zM168 456a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm80 0a56 56 0 1 0 -112 0 56 56 0 1 0 112 0zm200-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0 80a56 56 0 1 0 0-112 56 56 0 1 0 0 112z\"]\n};\nvar faShoppingCart = faCartShopping;\nvar faBookFont = {\n prefix: 'fal',\n iconName: 'book-font',\n icon: [448, 512, [], \"e0bf\", \"M0 64C0 28.7 28.7 0 64 0H400c26.5 0 48 21.5 48 48V368c0 20.9-13.4 38.7-32 45.3V480h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H64c-35.3 0-64-28.7-64-64l0 0L0 64zM64 416c-17.7 0-32 14.3-32 32s14.3 32 32 32H384V416H64zM32 392.6c9.4-5.4 20.3-8.6 32-8.6H400c8.8 0 16-7.2 16-16V48c0-8.8-7.2-16-16-16H64C46.3 32 32 46.3 32 64l0 328.6zM254.3 104.8l63.9 127.7c.1 .2 .2 .4 .3 .6l31.8 63.7c4 7.9 .7 17.5-7.2 21.5s-17.5 .7-21.5-7.2L294.1 256H185.9l-27.6 55.2c-4 7.9-13.6 11.1-21.5 7.2s-11.1-13.6-7.2-21.5l31.8-63.7c.1-.2 .2-.4 .3-.6l63.9-127.7c2.7-5.4 8.3-8.8 14.3-8.8s11.6 3.4 14.3 8.8zM278.1 224L240 147.8 201.9 224h76.2z\"]\n};\nvar faShieldPlus = {\n prefix: 'fal',\n iconName: 'shield-plus',\n icon: [512, 512, [], \"e24a\", \"M243.5 37.3c8-3.4 17-3.4 25 0l176.7 75c11.3 4.8 18.9 15.5 18.8 27.6c-.5 94-39.4 259.8-195.5 334.5c-7.9 3.8-17.2 3.8-25.1 0C87.3 399.6 48.5 233.8 48 139.8c-.1-12.1 7.5-22.8 18.8-27.6l176.7-75zM281 7.8c-16-6.8-34-6.8-50 0L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.7 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2L281 7.8zM240 352c0 8.8 7.2 16 16 16s16-7.2 16-16V272h80c8.8 0 16-7.2 16-16s-7.2-16-16-16H272V160c0-8.8-7.2-16-16-16s-16 7.2-16 16v80H160c-8.8 0-16 7.2-16 16s7.2 16 16 16h80v80z\"]\n};\nvar faVials = {\n prefix: 'fal',\n iconName: 'vials',\n icon: [512, 512, [], \"f493\", \"M16 32C7.2 32 0 39.2 0 48s7.2 16 16 16H32V272 400c0 44.2 35.8 80 80 80s80-35.8 80-80V272 64h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H176 48 16zM64 256V64h96V256H64zm0 32h96V400c0 26.5-21.5 48-48 48s-48-21.5-48-48V288zM304 32c-8.8 0-16 7.2-16 16s7.2 16 16 16h16V272 400c0 44.2 35.8 80 80 80s80-35.8 80-80V272 64h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H464 336 304zm48 224V64h96V256H352zm0 32h96V400c0 26.5-21.5 48-48 48s-48-21.5-48-48V288z\"]\n};\nvar faEyeDropperFull = {\n prefix: 'fal',\n iconName: 'eye-dropper-full',\n icon: [512, 512, [], \"e172\", \"M198.1 172.7l22.6 22.6 95.9 95.9 22.6 22.6 17.4 17.4c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l0 0-17.4-17.4 22.6-22.6 98.3-98.3c39-39 39-102.2 0-141.1s-102.2-39-141.1 0l-98.3 98.3-22.6 22.6-17.4-17.4 0 0 0 0c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l17.4 17.4zm45.3 0L364.2 51.9c26.5-26.5 69.4-26.5 95.9 0s26.5 69.4 0 95.9L339.3 268.6l-95.9-95.9zm-56.1 39.9c-6.2-6.2-16.4-6.2-22.6 0L55.4 321.9c-15 15-23.4 35.4-23.4 56.6v41.2L3.8 469.1C1.3 473.5 0 478.4 0 483.4C0 499.2 12.8 512 28.6 512c5 0 9.9-1.3 14.2-3.8L92.2 480h41.2c21.2 0 41.6-8.4 56.6-23.4L299.3 347.3c6.2-6.2 6.2-16.4 0-22.6l-112-112zM78.1 344.6L176 246.6 265.4 336l-97.9 97.9c-9 9-21.2 14.1-33.9 14.1H88 83.8l-3.7 2.1L37.7 474.3l24.2-42.4 2.1-3.7V424 378.5c0-12.7 5.1-24.9 14.1-33.9z\"]\n};\nvar faDistributeSpacingHorizontal = {\n prefix: 'fal',\n iconName: 'distribute-spacing-horizontal',\n icon: [512, 512, [], \"e365\", \"M464 0c-8.8 0-16 7.2-16 16l0 480c0 8.8 7.2 16 16 16s16-7.2 16-16l0-480c0-8.8-7.2-16-16-16zM320 368c0 8.8-7.2 16-16 16l-96 0c-8.8 0-16-7.2-16-16l0-224c0-8.8 7.2-16 16-16l96 0c8.8 0 16 7.2 16 16l0 224zm32-224c0-26.5-21.5-48-48-48l-96 0c-26.5 0-48 21.5-48 48l0 224c0 26.5 21.5 48 48 48l96 0c26.5 0 48-21.5 48-48l0-224zM64 16C64 7.2 56.8 0 48 0S32 7.2 32 16l0 480c0 8.8 7.2 16 16 16s16-7.2 16-16L64 16z\"]\n};\nvar faTabletRugged = {\n prefix: 'fal',\n iconName: 'tablet-rugged',\n icon: [448, 512, [], \"f48f\", \"M64.5 58.4C67.1 43.4 80.2 32 96 32H352c15.8 0 28.9 11.4 31.5 26.4c.9 5 4.1 9.3 8.6 11.5L416 81.9v60.2l-23.2 11.6c-5.4 2.7-8.8 8.3-8.8 14.3v32c0 6.1 3.4 11.6 8.8 14.3L416 225.9v60.2l-23.2 11.6c-5.4 2.7-8.8 8.3-8.8 14.3v32c0 6.1 3.4 11.6 8.8 14.3L416 369.9v60.2l-23.9 11.9c-4.5 2.3-7.7 6.6-8.6 11.5c-2.6 15-15.8 26.4-31.5 26.4H96c-15.8 0-28.9-11.4-31.5-26.4c-.9-5-4.1-9.3-8.6-11.5L32 430.1V369.9l23.2-11.6c5.4-2.7 8.8-8.2 8.8-14.3V312c0-6.1-3.4-11.6-8.8-14.3L32 286.1V225.9l23.2-11.6c5.4-2.7 8.8-8.3 8.8-14.3V168c0-6.1-3.4-11.6-8.8-14.3L32 142.1V81.9L55.9 69.9c4.5-2.3 7.7-6.5 8.6-11.5zM96 0C67.4 0 43.2 18.7 35 44.6L8.8 57.7C3.4 60.4 0 65.9 0 72v80c0 6.1 3.4 11.6 8.8 14.3L32 177.9v12.2L8.8 201.7C3.4 204.4 0 209.9 0 216v80c0 6.1 3.4 11.6 8.8 14.3L32 321.9v12.2L8.8 345.7C3.4 348.4 0 353.9 0 360v80c0 6.1 3.4 11.6 8.8 14.3L35 467.4C43.2 493.3 67.4 512 96 512H352c28.6 0 52.8-18.7 61-44.6l26.1-13.1c5.4-2.7 8.8-8.2 8.8-14.3V360c0-6.1-3.4-11.6-8.8-14.3L416 334.1V321.9l23.2-11.6c5.4-2.7 8.8-8.3 8.8-14.3V216c0-6.1-3.4-11.6-8.8-14.3L416 190.1V177.9l23.2-11.6c5.4-2.7 8.8-8.3 8.8-14.3V72c0-6.1-3.4-11.6-8.8-14.3L413 44.6C404.8 18.7 380.6 0 352 0H96zm32 96H320V416H128V96zM96 96V416c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H128c-17.7 0-32 14.3-32 32z\"]\n};\nvar faTemperatureSnow = {\n prefix: 'fal',\n iconName: 'temperature-snow',\n icon: [576, 512, [\"temperature-frigid\"], \"f768\", \"M368 96c0-35.3 28.7-64 64-64s64 28.7 64 64V252.7c0 14.9 7 27.7 16 36.9c19.8 20.2 32 47.9 32 78.4c0 61.9-50.1 112-112 112s-112-50.1-112-112c0-30.5 12.2-58.2 32-78.4c9-9.2 16-22 16-36.9V96zM432 0c-53 0-96 43-96 96V252.7c0 4.6-2.2 9.8-6.8 14.5C303.7 293.1 288 328.8 288 368c0 79.5 64.5 144 144 144s144-64.5 144-144c0-39.3-15.7-74.9-41.2-100.8c-4.6-4.7-6.8-9.9-6.8-14.5V96c0-53-43-96-96-96zM400 368a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm96 0c0-29.8-20.4-54.9-48-62V272c0-8.8-7.2-16-16-16s-16 7.2-16 16v34c-27.6 7.1-48 32.2-48 62c0 35.3 28.7 64 64 64s64-28.7 64-64zM284.6 142.8l7.6-28.3c2.3-8.5-2.8-17.3-11.3-19.6s-17.3 2.8-19.6 11.3l-15.9 59.2L192 196.3V134.6l43.3-43.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L192 89.4V48c0-8.8-7.2-16-16-16s-16 7.2-16 16V89.4L139.3 68.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L160 134.6v61.7l-53.4-30.8L90.7 106.3C88.5 97.8 79.7 92.7 71.2 95s-13.6 11.1-11.3 19.6l7.6 28.3L31.6 122.1c-7.7-4.4-17.4-1.8-21.9 5.9s-1.8 17.4 5.9 21.9l35.8 20.7-28.3 7.6c-8.5 2.3-13.6 11.1-11.3 19.6s11.1 13.6 19.6 11.3l59.2-15.9L144 224 90.6 254.8 31.4 239c-8.5-2.3-17.3 2.8-19.6 11.3s2.8 17.3 11.3 19.6l28.3 7.6L15.6 298.1C7.9 302.6 5.3 312.3 9.7 320s14.2 10.3 21.9 5.9l35.8-20.7-7.6 28.3c-2.3 8.5 2.8 17.3 11.3 19.6s17.3-2.8 19.6-11.3l15.9-59.2L160 251.7v61.7l-43.3 43.3c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L160 358.6V400c0 8.8 7.2 16 16 16s16-7.2 16-16V358.6l20.7 20.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L192 313.4V251.7l53.4 30.8 13.8 51.7c6.5-33.3 22.4-63.3 44.8-87v-3.8l-42.6 11.4L208 224l53.4-30.8L304 204.6V171.5l-3.4-.9 3.4-2v-37l-19.4 11.2z\"]\n};\nvar faTemperatureFrigid = faTemperatureSnow;\nvar faMoped = {\n prefix: 'fal',\n iconName: 'moped',\n icon: [640, 512, [], \"e3b9\", \"M336 48c0-8.8 7.2-16 16-16h40.9c20.7 0 39 13.2 45.5 32.8l5.2 15.5L500.3 52c5.2-2.6 11-4 16.9-4C532 48 544 60 544 74.9v74.3c0 14.8-12 26.9-26.9 26.9c-5.9 0-11.6-1.4-16.9-4L469 156.4 494.5 233c5.7-.7 11.6-1 17.5-1c41.5 0 79.1 16.6 106.5 43.5c6.3 6.2 6.4 16.3 .2 22.6s-16.3 6.4-22.6 .2C574.4 277.1 544.7 264 512 264c-56.5 0-104 39.1-116.7 91.8c-1.1 4.6-2 9.3-2.5 14.1c-.9 8.1-7.8 14.1-15.9 14.1H336 288 256c0 53-43 96-96 96s-96-43-96-96H32c-17.7 0-32-14.3-32-32V320c0-70.7 57.3-128 128-128h96c17.7 0 32 14.3 32 32v96c0 17.7 14.3 32 32 32h32 16 16 11.4c.3-1.3 .6-2.5 .9-3.8c12.2-50.8 50-91.6 98.9-108.2l-55-165.1c-2.2-6.5-8.3-10.9-15.2-10.9H352c-8.8 0-16-7.2-16-16zm118.7 65.5c.2 .1 .3 .1 .5 .2L512 142.1V81.9l-56.8 28.4c-.4 .2-.9 .4-1.3 .6l.9 2.6zM112 128H240c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm112 96H128c-53 0-96 43-96 96l0 32H69.5h35.1H215.4h17.1c-5.4-9.4-8.6-20.3-8.6-32V224zM160 448c35.3 0 64-28.7 64-64H96c0 35.3 28.7 64 64 64zm352 0a64 64 0 1 0 0-128 64 64 0 1 0 0 128zm0-160a96 96 0 1 1 0 192 96 96 0 1 1 0-192z\"]\n};\nvar faFaceSmilePlus = {\n prefix: 'fal',\n iconName: 'face-smile-plus',\n icon: [640, 512, [\"smile-plus\"], \"f5b9\", \"M560 16V80h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H560v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V112H464c-8.8 0-16-7.2-16-16s7.2-16 16-16h64V16c0-8.8 7.2-16 16-16s16 7.2 16 16zM416 288A192 192 0 1 0 32 288a192 192 0 1 0 384 0zM0 288a224 224 0 1 1 448 0A224 224 0 1 1 0 288zm144.4-72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm136 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM126.9 330.1c4.5 11.2 15.1 29.1 31.8 44C175.1 388.7 196.8 400 224 400s48.9-11.3 65.3-25.9c16.7-14.9 27.3-32.8 31.8-44c3.3-8.2 12.6-12.2 20.8-8.9s12.2 12.6 8.9 20.8c-6.2 15.4-19.5 37.5-40.2 56C289.8 416.6 260.8 432 224 432s-65.8-15.4-86.7-34.1c-20.7-18.5-34-40.6-40.2-56c-3.3-8.2 .7-17.5 8.9-20.8s17.5 .7 20.8 8.9z\"]\n};\nvar faSmilePlus = faFaceSmilePlus;\nvar faRadioTuner = {\n prefix: 'fal',\n iconName: 'radio-tuner',\n icon: [512, 512, [\"radio-alt\"], \"f8d8\", \"M500.1 31.5c8.5-2.3 13.6-11 11.3-19.6s-11-13.6-19.6-11.3L59.4 115.9c-31.3 8.4-54.1 34.6-58.6 66C.3 185.2 0 188.5 0 192v1.2V240 448c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V192c0-35.3-28.7-64-64-64H138.1l362-96.5zM32 193.2c0-2.2 .1-4.3 .4-6.4C34.9 171.6 48.1 160 64 160H448c17.7 0 32 14.3 32 32v32H32V193.2zM32 448V256H480V448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32zM80 320c-8.8 0-16 7.2-16 16s7.2 16 16 16H208c8.8 0 16-7.2 16-16s-7.2-16-16-16H80zm16 64c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H96zm272 32a48 48 0 1 1 0-96 48 48 0 1 1 0 96zm-80-48a80 80 0 1 0 160 0 80 80 0 1 0 -160 0z\"]\n};\nvar faRadioAlt = faRadioTuner;\nvar faFaceSwear = {\n prefix: 'fal',\n iconName: 'face-swear',\n icon: [640, 512, [], \"e399\", \"M534.7 192C507.2 99.5 421.5 32 320 32S132.8 99.5 105.3 192H72.1C100.5 81.6 200.7 0 320 0S539.5 81.6 567.9 192H534.7zM264.4 176c0 13.3-10.7 24-24 24s-24-10.7-24-24c0-8.1 4-15.3 10.2-19.6l-39.6-13.2c-8.4-2.8-12.9-11.9-10.1-20.2s11.9-12.9 20.2-10.1l96 32c8.4 2.8 12.9 11.9 10.1 20.2s-11.9 12.9-20.2 10.1l-19.7-6.6c.8 2.3 1.2 4.8 1.2 7.4zm136 24c-13.3 0-24-10.7-24-24c0-2.7 .4-5.3 1.3-7.7l-20.6 6.9c-8.4 2.8-17.4-1.7-20.2-10.1s1.7-17.4 10.1-20.2l96-32c8.4-2.8 17.4 1.7 20.2 10.1s-1.7 17.4-10.1 20.2l-39.1 13c6.3 4.3 10.4 11.6 10.4 19.8c0 13.3-10.7 24-24 24zM32 288V448c0 17.7 14.3 32 32 32H576c17.7 0 32-14.3 32-32V288c0-17.7-14.3-32-32-32H64c-17.7 0-32 14.3-32 32zM0 288c0-35.3 28.7-64 64-64H576c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V288zm400 64H384v32h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H384v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V416H320v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V416H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h16V352H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h16V304c0-8.8 7.2-16 16-16s16 7.2 16 16v16h32V304c0-8.8 7.2-16 16-16s16 7.2 16 16v16h16c8.8 0 16 7.2 16 16s-7.2 16-16 16zm-80 0v32h32V352H320zm250.4-52.1c6.7 5.8 7.5 15.9 1.7 22.6l-96 112c-5.8 6.7-15.8 7.5-22.6 1.7s-7.5-15.8-1.7-22.6l96-112c5.8-6.7 15.8-7.5 22.6-1.7zM448 320a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm104 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM208 288c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V304c0-8.8 7.2-16 16-16zM184 424a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM128 304v1.8c4.6 .8 8.7 1.7 12.1 2.6c8.5 2.3 13.6 11 11.3 19.6s-11 13.6-19.6 11.3c-7.9-2.1-18.5-3.9-26.8-2.9c-4.1 .5-6.3 1.4-7.4 2.2c-2.3 1.7-2.2 4.5-.1 5.9c6.9 4.7 14.9 6.9 22.9 9.2c8.6 2.4 17.2 4.8 24.6 10.2c4.7 3.4 9.3 8.2 12.1 14.7c2.9 6.6 3.4 13.8 2.2 21.1c-2 11.5-7.9 20.5-17 25.9c-4.9 3-10.1 4.6-15.3 5.4v.8c0 8.8-7.2 16-16 16s-16-7.2-16-16v-3c-8.1-1.9-15.3-4.2-20.2-5.9c-8.4-2.8-12.9-11.9-10.1-20.2s11.9-12.9 20.2-10.1c9.5 3.2 21.9 6.9 32 7.1c5 .1 7.6-.8 8.8-1.5l0 0c3-1.8 2.9-6.7 .4-8.5c-6.8-5-15.2-7.3-23.6-9.7c-8.1-2.3-16.2-4.5-23.1-9.2c-4.7-3.2-9.4-7.7-12.4-14.1c-3.1-6.5-3.7-13.7-2.5-20.9c1.8-10.2 7-18.1 14.5-23.5c5.3-3.8 11.2-5.9 16.9-7V304c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faWaterArrowDown = {\n prefix: 'fal',\n iconName: 'water-arrow-down',\n icon: [576, 512, [\"water-lower\"], \"f774\", \"M288 0c8.8 0 16 7.2 16 16V185.4l52.7-52.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-80 80c-6.2 6.2-16.4 6.2-22.6 0l-80-80c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L272 185.4V16c0-8.8 7.2-16 16-16zM133.8 458.8C150.3 470 171.1 480 192 480s41.6-9.9 58.2-21.2c9.8-6.7 18-14 25.9-21.9c6.6-6.5 17.2-6.5 23.7 0c7.9 7.9 16.2 15.2 26 21.9C342.3 470 363.1 480 384 480s41.6-9.9 58.2-21.2c9.8-6.7 18-14 25.9-21.9c6.6-6.5 17.2-6.6 23.7 0c7.9 7.9 16.2 15.2 26 21.9c12.8 8.7 28.1 16.6 44.1 19.8c7.7 1.5 14.1 7.8 14.1 15.7c0 9.8-8 17.9-17.7 16.2c-23.1-4-43.6-15-58.5-25.2c-7.9-5.4-14.7-10.8-19.8-15.3c-5.1 4.5-11.8 9.9-19.8 15.3C441.5 497.9 414.3 512 384 512s-57.6-14.1-76.2-26.8c-7.9-5.4-14.7-10.8-19.8-15.3c-5.1 4.5-11.8 9.9-19.8 15.3C249.5 497.9 222.3 512 192 512s-57.6-14.1-76.2-26.8c-7.9-5.4-14.6-10.8-19.8-15.3c-5.1 4.5-11.8 9.9-19.8 15.3c-14.9 10.2-35.4 21.2-58.5 25.2C8 512.1 0 504 0 494.2c0-7.9 6.4-14.1 14.1-15.7c15.9-3.1 31.3-11.1 44-19.8c9.8-6.7 18-14 25.9-21.9c6.6-6.5 17.2-6.6 23.8 0c7.9 7.9 16.2 15.2 25.9 21.9zM192 352c20.9 0 41.6-9.9 58.2-21.2c9.8-6.7 18-14 25.9-21.9c6.6-6.5 17.2-6.5 23.7 0c7.9 7.9 16.2 15.2 26 21.9C342.3 342 363.1 352 384 352s41.6-9.9 58.2-21.2c9.8-6.7 18-14 25.9-21.9c6.6-6.5 17.2-6.5 23.7 0c7.9 7.9 16.2 15.2 26 21.9c12.8 8.7 28.1 16.6 44.1 19.8c7.7 1.5 14.1 7.8 14.1 15.7c0 9.8-8 17.9-17.7 16.2c-23.1-4-43.6-15-58.5-25.2c-7.9-5.4-14.7-10.8-19.8-15.3c-5.1 4.5-11.8 9.9-19.8 15.3C441.5 369.9 414.3 384 384 384s-57.6-14.1-76.2-26.8c-7.9-5.4-14.7-10.8-19.8-15.3c-5.1 4.5-11.8 9.9-19.8 15.3C249.5 369.9 222.3 384 192 384s-57.6-14.1-76.2-26.8c-7.9-5.4-14.6-10.8-19.8-15.3c-5.1 4.5-11.8 9.9-19.8 15.3c-14.9 10.2-35.4 21.2-58.5 25.2C8 384.1 0 376 0 366.2c0-7.9 6.4-14.1 14.1-15.7c15.9-3.1 31.3-11.1 44-19.8c9.8-6.7 18-14 25.9-21.9c6.6-6.5 17.2-6.6 23.8 0c7.9 7.9 16.2 15.2 25.9 21.9C150.3 342 171.1 352 192 352z\"]\n};\nvar faWaterLower = faWaterArrowDown;\nvar faScannerTouchscreen = {\n prefix: 'fal',\n iconName: 'scanner-touchscreen',\n icon: [512, 512, [], \"f48a\", \"M128 16V48c0 8.8 7.2 16 16 16s16-7.2 16-16V16c0-8.8-7.2-16-16-16s-16 7.2-16 16zm192 0V48c0 8.8 7.2 16 16 16s16-7.2 16-16V16c0-8.8-7.2-16-16-16s-16 7.2-16 16zM208 0c-8.8 0-16 7.2-16 16V48c0 8.8 7.2 16 16 16s16-7.2 16-16V16c0-8.8-7.2-16-16-16zM400 16V272c0 8.8 7.2 16 16 16s16-7.2 16-16V16c0-8.8-7.2-16-16-16s-16 7.2-16 16zM496 0c-8.8 0-16 7.2-16 16V272c0 8.8 7.2 16 16 16s16-7.2 16-16V16c0-8.8-7.2-16-16-16zM288 128c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32H288zM64 96C28.7 96 0 124.7 0 160V448c0 35.3 28.7 64 64 64H288c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H64zm40 96H248c4.4 0 8 3.6 8 8V408c0 4.4-3.6 8-8 8H104c-4.4 0-8-3.6-8-8V200c0-4.4 3.6-8 8-8zm-40 8V408c0 22.1 17.9 40 40 40H248c22.1 0 40-17.9 40-40V200c0-22.1-17.9-40-40-40H104c-22.1 0-40 17.9-40 40z\"]\n};\nvar faCircle7 = {\n prefix: 'fal',\n iconName: 'circle-7',\n icon: [512, 512, [], \"e0f4\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM176 128c-8.8 0-16 7.2-16 16s7.2 16 16 16H308.4L194.1 360.1c-4.4 7.7-1.7 17.4 6 21.8s17.4 1.7 21.8-6l128-224c2.8-5 2.8-11-.1-16s-8.1-8-13.8-8H176z\"]\n};\nvar faPlugCirclePlus = {\n prefix: 'fal',\n iconName: 'plug-circle-plus',\n icon: [576, 512, [], \"e55f\", \"M432 256a112 112 0 1 1 0 224 112 112 0 1 1 0-224zm0 256a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-224c-8.8 0-16 7.2-16 16v48H368c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v48c0 8.8 7.2 16 16 16s16-7.2 16-16V384h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H448V304c0-8.8-7.2-16-16-16zM112 0c8.8 0 16 7.2 16 16v96H96V16c0-8.8 7.2-16 16-16zM272 0c8.8 0 16 7.2 16 16v96H256V16c0-8.8 7.2-16 16-16zM0 160c0-8.8 7.2-16 16-16H32 64 320h32 16c8.8 0 16 7.2 16 16s-7.2 16-16 16H352v35.2c-11.4 5.9-22.2 12.9-32 21V176H64v64c0 70.7 57.3 128 128 128c23.7 0 45.8-6.4 64.9-17.6c-.6 5.8-.9 11.7-.9 17.6c0 6.2 .3 12.3 .9 18.3c-15.2 6.8-31.7 11.2-48.9 12.9V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V399.2C95.1 391.2 32 323 32 240V176H16c-8.8 0-16-7.2-16-16z\"]\n};\nvar faPersonSkiJumping = {\n prefix: 'fal',\n iconName: 'person-ski-jumping',\n icon: [512, 512, [\"ski-jump\"], \"f7c7\", \"M432 56a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-80 0a56 56 0 1 1 112 0A56 56 0 1 1 352 56zM112 112c0-8.8 7.2-16 16-16H288h19.2c24.8 0 44.8 20.1 44.8 44.8c0 18.1-10.8 34.3-27.5 41.3L207 231.5c-1.6 2.4-3 4.9-4.2 7.5L142.6 374.5c-3.6 8.1-13 11.7-21.1 8.1s-11.7-13-8.1-21.1l60.2-135.4c2.6-5.9 6-11.5 9.9-16.6c.5-.7 1-1.3 1.5-1.9c.3-.4 .6-.7 .9-1.1L253.2 128H128c-8.8 0-16-7.2-16-16zm183.4 16l-42.5 49.6 59.3-24.9c4.8-2 7.9-6.7 7.9-11.8c0-7.1-5.7-12.8-12.8-12.8H295.4zM496 176c8.8 0 16 7.2 16 16v7.3c0 35.9-20 68.8-51.9 85.3L23.3 510.2c-7.9 4.1-17.5 1-21.6-6.9s-1-17.5 6.9-21.6L445.4 256.1c21.3-11 34.6-32.9 34.6-56.9V192c0-8.8 7.2-16 16-16z\"]\n};\nvar faSkiJump = faPersonSkiJumping;\nvar faPlaceOfWorship = {\n prefix: 'fal',\n iconName: 'place-of-worship',\n icon: [640, 512, [], \"f67f\", \"M320 0c4.2 0 8.3 1.7 11.3 4.7L406.6 80c6 6 9.4 14.1 9.4 22.6v89.3L457 217c14.3 8.7 23 24.2 23 41V480h96c17.7 0 32-14.3 32-32V378.1c0-10.9-5.5-21-14.6-26.9L512 298.6V260.5l98.8 63.9c18.2 11.8 29.2 32 29.2 53.7V448c0 35.3-28.7 64-64 64H416v0H384 352 288 256 224v0H64c-35.3 0-64-28.7-64-64V378.1c0-21.7 11-41.9 29.2-53.7L128 260.5v38.1L46.6 351.2c-9.1 5.9-14.6 16-14.6 26.9V448c0 17.7 14.3 32 32 32h96V257.9c0-16.7 8.7-32.2 23-41l41-25.1V102.6c0-8.5 3.4-16.6 9.4-22.6L308.7 4.7c3-3 7.1-4.7 11.3-4.7zM448 257.9c0-5.6-2.9-10.7-7.7-13.7l-48.7-29.8c-4.8-2.9-7.7-8.1-7.7-13.7l0-98.3-64-64-64 64v98.3c0 5.6-2.9 10.7-7.7 13.7l-48.7 29.8c-4.8 2.9-7.7 8.1-7.7 13.7V480h64V384c0-35.3 28.7-64 64-64s64 28.7 64 64v96h64V257.9zM352 480V384c0-17.7-14.3-32-32-32s-32 14.3-32 32v96h64z\"]\n};\nvar faWaterArrowUp = {\n prefix: 'fal',\n iconName: 'water-arrow-up',\n icon: [576, 512, [\"water-rise\"], \"f775\", \"M288 240c8.8 0 16-7.2 16-16V54.6l52.7 52.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-80-80c-6.2-6.2-16.4-6.2-22.6 0l-80 80c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L272 54.6V224c0 8.8 7.2 16 16 16zM133.8 458.8c-9.7-6.6-18-14-25.9-21.9c-6.6-6.5-17.2-6.5-23.8 0c-7.9 7.9-16.1 15.2-25.9 21.9c-12.8 8.7-28.1 16.6-44 19.8C6.4 480.1 0 486.4 0 494.2c0 9.8 8 17.9 17.7 16.2c23.1-4 43.6-15 58.5-25.2c7.9-5.4 14.6-10.8 19.8-15.3c5.1 4.5 11.9 9.9 19.8 15.3C134.4 497.9 161.7 512 192 512s57.5-14.1 76.2-26.8c7.9-5.4 14.6-10.8 19.8-15.3c5.1 4.5 11.9 9.9 19.8 15.3C326.4 497.9 353.7 512 384 512s57.5-14.1 76.2-26.8c7.9-5.4 14.6-10.8 19.8-15.3c5.1 4.5 11.9 9.9 19.8 15.3c15 10.2 35.4 21.2 58.5 25.2c9.7 1.7 17.7-6.4 17.7-16.2c0-7.9-6.4-14.1-14.1-15.7c-16-3.1-31.3-11.1-44.1-19.8c-9.8-6.7-18-14-26-21.9c-6.6-6.5-17.2-6.5-23.7 0c-7.9 7.9-16.1 15.2-25.9 21.9C425.6 470 404.9 480 384 480s-41.7-9.9-58.2-21.2c-9.8-6.7-18-14-26-21.9c-6.6-6.5-17.2-6.5-23.7 0c-7.9 7.9-16.1 15.2-25.9 21.9C233.6 470 212.9 480 192 480s-41.7-9.9-58.2-21.2zM192 352c-20.9 0-41.7-9.9-58.2-21.2c-9.7-6.6-18-14-25.9-21.9c-6.6-6.5-17.2-6.5-23.8 0c-7.9 7.9-16.1 15.2-25.9 21.9c-12.8 8.7-28.1 16.6-44 19.8C6.4 352.1 0 358.4 0 366.2c0 9.8 8 17.9 17.7 16.2c23.1-4 43.6-15 58.5-25.2c7.9-5.4 14.6-10.8 19.8-15.3c5.1 4.5 11.9 9.9 19.8 15.3C134.4 369.9 161.7 384 192 384s57.5-14.1 76.2-26.8c7.9-5.4 14.6-10.8 19.8-15.3c5.1 4.5 11.9 9.9 19.8 15.3C326.4 369.9 353.7 384 384 384s57.5-14.1 76.2-26.8c7.9-5.4 14.6-10.8 19.8-15.3c5.1 4.5 11.9 9.9 19.8 15.3c15 10.2 35.4 21.2 58.5 25.2c9.7 1.7 17.7-6.4 17.7-16.2c0-7.9-6.4-14.1-14.1-15.7c-16-3.1-31.3-11.1-44.1-19.8c-9.8-6.7-18-14-26-21.9c-6.6-6.5-17.2-6.5-23.7 0c-7.9 7.9-16.1 15.2-25.9 21.9C425.6 342 404.9 352 384 352s-41.7-9.9-58.2-21.2c-9.8-6.7-18-14-26-21.9c-6.6-6.5-17.2-6.5-23.7 0c-7.9 7.9-16.1 15.2-25.9 21.9C233.6 342 212.9 352 192 352z\"]\n};\nvar faWaterRise = faWaterArrowUp;\nvar faWaveformLines = {\n prefix: 'fal',\n iconName: 'waveform-lines',\n icon: [640, 512, [\"waveform-path\"], \"f8f2\", \"M320 0c8.8 0 16 7.2 16 16V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V16c0-8.8 7.2-16 16-16zM512 64c8.8 0 16 7.2 16 16V432c0 8.8-7.2 16-16 16s-16-7.2-16-16V80c0-8.8 7.2-16 16-16zM224 96c8.8 0 16 7.2 16 16V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V112c0-8.8 7.2-16 16-16zm192 32c8.8 0 16 7.2 16 16V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-8.8 7.2-16 16-16zM128 192c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V208c0-8.8 7.2-16 16-16zM32 224c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V240c0-8.8 7.2-16 16-16zm576 0c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V240c0-8.8 7.2-16 16-16z\"]\n};\nvar faWaveformPath = faWaveformLines;\nvar faSplit = {\n prefix: 'fal',\n iconName: 'split',\n icon: [512, 512, [], \"e254\", \"M404.7 36.7c6.2-6.2 16.4-6.2 22.6 0l80 80c6.2 6.2 6.2 16.4 0 22.6l-80 80c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L457.4 144H400 339.9c-8.5 0-16.6 3.4-22.6 9.4L214.6 256 317.3 358.6c6 6 14.1 9.4 22.6 9.4H400h57.4l-52.7-52.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l80 80c6.2 6.2 6.2 16.4 0 22.6l-80 80c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L457.4 400H400 339.9c-17 0-33.3-6.7-45.3-18.7L190.1 276.7c-3-3-7.1-4.7-11.3-4.7H48 16c-8.8 0-16-7.2-16-16s7.2-16 16-16H48 178.7c4.2 0 8.3-1.7 11.3-4.7L294.6 130.7c12-12 28.3-18.7 45.3-18.7H400h57.4L404.7 59.3c-6.2-6.2-6.2-16.4 0-22.6z\"]\n};\nvar faFilmCanister = {\n prefix: 'fal',\n iconName: 'film-canister',\n icon: [576, 512, [\"film-cannister\"], \"f8b7\", \"M112 0c-8.8 0-16 7.2-16 16s7.2 16 16 16H240c8.8 0 16-7.2 16-16s-7.2-16-16-16H112zM16 64C7.2 64 0 71.2 0 80s7.2 16 16 16H32V480H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H48 304h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H320V96h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H304 48 16zM64 480V96H288V480H64zM384 200v16c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8V200c0-4.4-3.6-8-8-8H392c-4.4 0-8 3.6-8 8zm8 152c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8V360c0-4.4-3.6-8-8-8H392zm88-152v16c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8V200c0-4.4-3.6-8-8-8H488c-4.4 0-8 3.6-8 8zM352 160H528c8.8 0 16 7.2 16 16V304c0 8.8-7.2 16-16 16c-26.5 0-48 21.5-48 48v32c0 8.8-7.2 16-16 16H352v32H464c26.5 0 48-21.5 48-48V368c0-8.8 7.2-16 16-16c26.5 0 48-21.5 48-48V176c0-26.5-21.5-48-48-48H352v32z\"]\n};\nvar faFilmCannister = faFilmCanister;\nvar faFolderXmark = {\n prefix: 'fal',\n iconName: 'folder-xmark',\n icon: [512, 512, [\"folder-times\"], \"f65f\", \"M32 96c0-17.7 14.3-32 32-32H188.1c8.5 0 16.6 3.4 22.6 9.4l35.9 35.9c12 12 28.3 18.7 45.3 18.7H448c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V96zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H291.9c-8.5 0-16.6-3.4-22.6-9.4L233.4 50.7c-12-12-28.3-18.7-45.3-18.7H64zM180.7 212.7c-6.2 6.2-6.2 16.4 0 22.6L233.4 288l-52.7 52.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L256 310.6l52.7 52.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L278.6 288l52.7-52.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L256 265.4l-52.7-52.7c-6.2-6.2-16.4-6.2-22.6 0z\"]\n};\nvar faFolderTimes = faFolderXmark;\nvar faToiletPaperBlank = {\n prefix: 'fal',\n iconName: 'toilet-paper-blank',\n icon: [640, 512, [\"toilet-paper-alt\"], \"f71f\", \"M20.5 463.6c-2.8 4.7-4.3 10-4.5 15.4c-.2 5.8 1.2 11.6 4.2 16.8C25.8 505.8 36.5 512 48 512H317.9c22.3 0 45.4-12.1 55.4-36.1c10.7-25.8 27.3-76.6 36.3-158.9c.3-2.4 .5-4.9 .8-7.4c3.4-33.9 5.6-73 5.6-117.7c0-88.4 35.8-160 80-160s80 71.6 80 160s-35.8 160-80 160c-20.6 0-39.4-15.6-53.6-41.2c-1.6 16.4-3.6 31.8-5.7 46C452.2 372.7 471.9 384 496 384c40.7 0 69-32.2 85.2-64.6C598.3 285.2 608 240.1 608 192s-9.7-93.2-26.8-127.4C565 32.2 536.7 0 496 0H464 160C107 0 64 86 64 192c0 80.2-.4 180.8-36.2 257.3c-2.3 4.9-4.7 9.6-7.3 14.3l0 .1zM432.3 32c-8.6 9.9-15.8 21.2-21.5 32.6C393.7 98.8 384 143.9 384 192c0 155.1-26.7 239-40.2 271.7c-4.3 10.3-14.5 16.3-25.9 16.3H48l0 0c.2-.3 .4-.6 .5-.9c24.4-44.1 35.9-95.4 41.6-144.8C95.9 284.6 96 234.4 96 192c0-49.1 10-92 24.7-121.5C136.4 39.2 152.1 32 160 32H432.3zm49.2 180.4c-1-6.2-1.5-13.1-1.5-20.4s.5-14.2 1.5-20.4c2.6-16.3 8.1-27.6 14.5-27.6s11.9 11.3 14.5 27.6c1 6.2 1.5 13.1 1.5 20.4s-.5 14.2-1.5 20.4c-2.6 16.3-8.1 27.6-14.5 27.6s-11.9-11.3-14.5-27.6zM527.4 256c5.1-6.4 8.2-13.8 10.3-20c4.2-12.7 6.3-28.3 6.3-44.1s-2.1-31.3-6.3-44.1c-2.1-6.2-5.2-13.5-10.3-20c-4.8-6.1-15.1-16-31.4-16s-26.6 9.9-31.4 16c-5.1 6.4-8.2 13.8-10.3 20c-4.2 12.7-6.3 28.3-6.3 44.1s2.1 31.3 6.3 44.1c2.1 6.2 5.2 13.5 10.3 20c4.8 6.1 15.1 16 31.4 16s26.6-9.9 31.4-16z\"]\n};\nvar faToiletPaperAlt = faToiletPaperBlank;\nvar faTabletScreen = {\n prefix: 'fal',\n iconName: 'tablet-screen',\n icon: [448, 512, [\"tablet-android-alt\"], \"f3fc\", \"M384 32c17.7 0 32 14.3 32 32V320H32V64c0-17.7 14.3-32 32-32H384zm32 320v96c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V352H416zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM176 416c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H192c-8.8 0-16 7.2-16 16z\"]\n};\nvar faTabletAndroidAlt = faTabletScreen;\nvar faHexagonVerticalNftSlanted = {\n prefix: 'fal',\n iconName: 'hexagon-vertical-nft-slanted',\n icon: [448, 512, [], \"e506\", \"M255.8 496.6c-19.8 11.4-44.2 11.4-64 0L32 404.3C12.2 392.9 0 371.7 0 348.9V164.3c0-22.9 12.2-44 32-55.4L191.8 16.6c19.8-11.4 44.2-11.4 64 0l159.8 92.3c19.8 11.4 32 32.6 32 55.4V348.9c0 22.9-12.2 44-32 55.4L255.8 496.6zm-48-27.7c9.9 5.7 22.1 5.7 32 0l159.8-92.3c9.9-5.7 16-16.3 16-27.7V164.3c0-11.4-6.1-22-16-27.7L239.8 44.3c-9.9-5.7-22.1-5.7-32 0L48 136.6c-9.9 5.7-16 16.3-16 27.7l0 184.6c0 11.4 6.1 22 16 27.7l159.8 92.3zM272 123.5c0 12.3-13.3 20-23.9 13.9l-24.2-13.8v117h32c8.8 0 16 7.2 16 16s-7.2 16-16 16h-32v128c0 8.8-7.2 16-16 16s-16-7.2-16-16v-144V96.3c0-1.6 .2-3.2 .6-4.7c.5-1.9 1.4-3.7 2.6-5.2c1.1-1.5 2.5-2.8 4-3.7c2.5-1.7 5.6-2.6 8.8-2.6l.1 0c.5 0 1 0 1.4 .1c2.5 .2 4.8 1 6.8 2.2l47.8 27.3c5 2.8 8.1 8.2 8.1 13.9zm16 27.4c0-12.3 13.3-20 23.9-13.9l72 41.1c7.7 4.4 10.3 14.2 6 21.8s-14.2 10.3-21.8 6l-16.2-9.3V352.6c0 8.8-7.2 16-16 16s-16-7.2-16-16V178.4l-23.8-13.6c-5-2.8-8.1-8.2-8.1-13.9zM143.8 128.6c8.8 0 16 7.2 16 16v224c0 7.8-5.7 14.5-13.4 15.8s-15.3-3.3-17.7-10.7L95.8 275.2v61.4c0 8.8-7.2 16-16 16s-16-7.2-16-16v-160c0-7.8 5.7-14.5 13.4-15.8s15.3 3.3 17.7 10.7L127.8 270V144.6c0-8.8 7.2-16 16-16z\"]\n};\nvar faFolderMusic = {\n prefix: 'fal',\n iconName: 'folder-music',\n icon: [512, 512, [], \"e18d\", \"M32 96c0-17.7 14.3-32 32-32H188.1c8.5 0 16.6 3.4 22.6 9.4l35.9 35.9c12 12 28.3 18.7 45.3 18.7H448c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V96zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H291.9c-8.5 0-16.6-3.4-22.6-9.4L233.4 50.7c-12-12-28.3-18.7-45.3-18.7H64zM345.1 178.8c-4.3-3-9.8-3.7-14.7-1.8l-128 48c-6.2 2.3-10.4 8.3-10.4 15v90.5c-5-1.6-10.4-2.5-16-2.5c-26.5 0-48 19.7-48 44s21.5 44 48 44s48-19.7 48-44c0-.8 0-1.6-.1-2.5c0-.5 .1-1 .1-1.5V251.1l96-36v83.4c-5-1.6-10.4-2.5-16-2.5c-26.5 0-48 19.7-48 44s21.5 44 48 44s48-19.7 48-44c0-.8 0-1.6-.1-2.5c0-.5 .1-1 .1-1.5V192c0-5.2-2.6-10.2-6.9-13.2zM320 340c0 4.1-4.5 12-16 12s-16-7.9-16-12s4.5-12 16-12s16 7.9 16 12zM192 372c0 4.1-4.5 12-16 12s-16-7.9-16-12s4.5-12 16-12s16 7.9 16 12z\"]\n};\nvar faDisplayMedical = {\n prefix: 'fal',\n iconName: 'display-medical',\n icon: [576, 512, [\"desktop-medical\"], \"e166\", \"M512 32c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H344.3c-.2 0-.4 0-.6 0H232.3c-.2 0-.4 0-.6 0H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H512zM64 416H213.1l-10.7 64H144c-8.8 0-16 7.2-16 16s7.2 16 16 16h72H360h72c8.8 0 16-7.2 16-16s-7.2-16-16-16H373.6l-10.7-64H512c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64zm170.9 64l10.7-64h84.9l10.7 64H234.9zM272 96c-17.7 0-32 14.3-32 32v32H208c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32h32v32c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V256h32c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32H336V128c0-17.7-14.3-32-32-32H272zm0 32h32v48c0 8.8 7.2 16 16 16h48v32H320c-8.8 0-16 7.2-16 16v48H272V240c0-8.8-7.2-16-16-16H208V192h48c4.2 0 8.3-1.7 11.3-4.7s4.7-7.1 4.7-11.3V128z\"]\n};\nvar faDesktopMedical = faDisplayMedical;\nvar faShareAll = {\n prefix: 'fal',\n iconName: 'share-all',\n icon: [576, 512, [], \"f367\", \"M373.2 59.8c-6.5-5.9-7-16.1-1.1-22.6s16.1-7 22.6-1.1L551.2 178.4c17.5 15.9 17.5 43.3 0 59.2L394.8 379.8c-6.5 5.9-16.7 5.5-22.6-1.1s-5.5-16.7 1.1-22.6L529.7 213.9c3.5-3.2 3.5-8.7 0-11.8L373.2 59.8zM256 160H176C96.5 160 32 224.5 32 304c0 46.1 15.9 79.7 34 103.2c-1.3-7.1-2-14.8-2-23.2c0-70.7 57.3-128 128-128h64l0 0h8c13.3 0 24 10.7 24 24v8 16l0 48L448 208 288 64v48 16 8c0 13.3-10.7 24-24 24l-8 0zm0 160V304 288H224 192c-53 0-96 43-96 96c0 30.4 12.8 47.9 22.2 56.7c5.5 5.1 9.8 12 9.8 19.5c0 10.9-8.8 19.7-19.7 19.7c-2.8 0-5.6-.6-8.1-1.9C81.5 467.9 0 417.3 0 304c0-97.2 78.8-176 176-176h48 32V112 96 64c0-12.6 7.4-24.1 19-29.2s25-3 34.4 5.4l160 144c6.7 6.1 10.6 14.7 10.6 23.8s-3.8 17.7-10.6 23.8l-160 144c-9.4 8.5-22.9 10.6-34.4 5.4s-19-16.6-19-29.2V320z\"]\n};\nvar faPeapod = {\n prefix: 'fal',\n iconName: 'peapod',\n icon: [512, 512, [], \"e31c\", \"M416 32C203.9 32 32 203.9 32 416v48c0 8.8 7.2 16 16 16H96c212.1 0 384-171.9 384-384V48c0-8.8-7.2-16-16-16H416zm0-32h48c26.5 0 48 21.5 48 48V96c0 229.8-186.2 416-416 416H48c-26.5 0-48-21.5-48-48V416C0 186.2 186.2 0 416 0zM368 112a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm64 32a64 64 0 1 1 -128 0 64 64 0 1 1 128 0zM224 256a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm32 64a64 64 0 1 1 0-128 64 64 0 1 1 0 128zM112 368a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm32 64a64 64 0 1 1 0-128 64 64 0 1 1 0 128z\"]\n};\nvar faChessClock = {\n prefix: 'fal',\n iconName: 'chess-clock',\n icon: [640, 512, [], \"f43d\", \"M240 32c8.8 0 16 7.2 16 16s-7.2 16-16 16H192v64H576c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192c0-35.3 28.7-64 64-64h96V64H112c-8.8 0-16-7.2-16-16s7.2-16 16-16h64 64zM544 80c0 8.8-7.2 16-16 16H400c-8.8 0-16-7.2-16-16s7.2-16 16-16H528c8.8 0 16 7.2 16 16zM64 160c-17.7 0-32 14.3-32 32V416c0 17.7 14.3 32 32 32H576c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32H64zM176 384a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm0-192a112 112 0 1 1 0 224 112 112 0 1 1 0-224zM520.6 360.6A80 80 0 1 0 407.4 247.4 80 80 0 1 0 520.6 360.6zM384.8 224.8A112 112 0 1 1 543.2 383.2 112 112 0 1 1 384.8 224.8zM176 240c8.8 0 16 7.2 16 16v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V256c0-8.8 7.2-16 16-16zm333.3 41.4l-33.9 33.9c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l33.9-33.9c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faAxe = {\n prefix: 'fal',\n iconName: 'axe',\n icon: [640, 512, [129683], \"f6b2\", \"M502.6 182.6L352 32l-96 96L406.6 278.6c6 6 9.4 14.1 9.4 22.6V384c106 0 192-86 192-192H525.3c-8.5 0-16.6-3.4-22.6-9.4zM473.3 108l52 52H608c17.7 0 32 14.3 32 32c0 123.7-100.3 224-224 224c-17.7 0-32-14.3-32-32V301.3L233.4 150.6c-12.5-12.5-12.5-32.8 0-45.3l96-96c12.5-12.5 32.8-12.5 45.3 0L404 38.7 433.4 9.4c12.5-12.5 32.8-12.5 45.3 0l24 24c12.5 12.5 12.5 32.8 0 45.3L473.3 108zM450.6 85.4L480 56 456 32 426.6 61.4l24 24zM262.7 225.3L32 456l24 24L286.7 249.3l22.6 22.6L78.6 502.6c-12.5 12.5-32.8 12.5-45.3 0l-24-24c-12.5-12.5-12.5-32.8 0-45.3L240.1 202.6l22.6 22.6z\"]\n};\nvar faSquareD = {\n prefix: 'fal',\n iconName: 'square-d',\n icon: [448, 512, [], \"e268\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM160 352h64c53 0 96-43 96-96s-43-96-96-96H160V352zm-1.2-224H224c70.7 0 128 57.3 128 128s-57.3 128-128 128H158.8c-17 0-30.8-13.8-30.8-30.8V158.8c0-17 13.8-30.8 30.8-30.8z\"]\n};\nvar faGripVertical = {\n prefix: 'fal',\n iconName: 'grip-vertical',\n icon: [320, 512, [], \"f58e\", \"M32 440l0-48c0-4.4 3.6-8 8-8l48 0c4.4 0 8 3.6 8 8l0 48c0 4.4-3.6 8-8 8l-48 0c-4.4 0-8-3.6-8-8zm8 40l48 0c22.1 0 40-17.9 40-40l0-48c0-22.1-17.9-40-40-40l-48 0c-22.1 0-40 17.9-40 40l0 48c0 22.1 17.9 40 40 40zm184-40l0-48c0-4.4 3.6-8 8-8l48 0c4.4 0 8 3.6 8 8l0 48c0 4.4-3.6 8-8 8l-48 0c-4.4 0-8-3.6-8-8zm8 40l48 0c22.1 0 40-17.9 40-40l0-48c0-22.1-17.9-40-40-40l-48 0c-22.1 0-40 17.9-40 40l0 48c0 22.1 17.9 40 40 40zM32 232c0-4.4 3.6-8 8-8l48 0c4.4 0 8 3.6 8 8l0 48c0 4.4-3.6 8-8 8l-48 0c-4.4 0-8-3.6-8-8l0-48zM0 280c0 22.1 17.9 40 40 40l48 0c22.1 0 40-17.9 40-40l0-48c0-22.1-17.9-40-40-40l-48 0c-22.1 0-40 17.9-40 40l0 48zm224 0l0-48c0-4.4 3.6-8 8-8l48 0c4.4 0 8 3.6 8 8l0 48c0 4.4-3.6 8-8 8l-48 0c-4.4 0-8-3.6-8-8zm8 40l48 0c22.1 0 40-17.9 40-40l0-48c0-22.1-17.9-40-40-40l-48 0c-22.1 0-40 17.9-40 40l0 48c0 22.1 17.9 40 40 40zM32 72c0-4.4 3.6-8 8-8l48 0c4.4 0 8 3.6 8 8l0 48c0 4.4-3.6 8-8 8l-48 0c-4.4 0-8-3.6-8-8l0-48zM0 120c0 22.1 17.9 40 40 40l48 0c22.1 0 40-17.9 40-40l0-48c0-22.1-17.9-40-40-40L40 32C17.9 32 0 49.9 0 72l0 48zm224 0l0-48c0-4.4 3.6-8 8-8l48 0c4.4 0 8 3.6 8 8l0 48c0 4.4-3.6 8-8 8l-48 0c-4.4 0-8-3.6-8-8zm8 40l48 0c22.1 0 40-17.9 40-40l0-48c0-22.1-17.9-40-40-40l-48 0c-22.1 0-40 17.9-40 40l0 48c0 22.1 17.9 40 40 40z\"]\n};\nvar faMobileSignalOut = {\n prefix: 'fal',\n iconName: 'mobile-signal-out',\n icon: [512, 512, [], \"e1f0\", \"M96 32H224V0H96C60.7 0 32 28.7 32 64V448c0 35.3 28.7 64 64 64H288c35.3 0 64-28.7 64-64V288H320V448c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32zm64 368c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H160zM272 0c-8.8 0-16 7.2-16 16s7.2 16 16 16c114.9 0 208 93.1 208 208c0 8.8 7.2 16 16 16s16-7.2 16-16C512 107.5 404.5 0 272 0zm16 256a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM256 112c0 8.8 7.2 16 16 16c61.9 0 112 50.1 112 112c0 8.8 7.2 16 16 16s16-7.2 16-16c0-79.5-64.5-144-144-144c-8.8 0-16 7.2-16 16z\"]\n};\nvar faArrowTurnUp = {\n prefix: 'fal',\n iconName: 'arrow-turn-up',\n icon: [384, 512, [\"level-up\"], \"f148\", \"M16 480c-8.8 0-16 7.2-16 16s7.2 16 16 16l112 0c44.2 0 80-35.8 80-80l0-377.4L308.7 155.3c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-128-128c-6.2-6.2-16.4-6.2-22.6 0l-128 128c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L176 54.6 176 432c0 26.5-21.5 48-48 48L16 480z\"]\n};\nvar faLevelUp = faArrowTurnUp;\nvar faU = {\n prefix: 'fal',\n iconName: 'u',\n icon: [384, 512, [117], \"55\", \"M16 32c8.8 0 16 7.2 16 16V288c0 88.4 71.6 160 160 160s160-71.6 160-160V48c0-8.8 7.2-16 16-16s16 7.2 16 16V288c0 106-86 192-192 192S0 394 0 288V48c0-8.8 7.2-16 16-16z\"]\n};\nvar faArrowUpFromDottedLine = {\n prefix: 'fal',\n iconName: 'arrow-up-from-dotted-line',\n icon: [448, 512, [], \"e09b\", \"M235.3 36.7c-6.2-6.2-16.4-6.2-22.6 0l-128 128c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L208 86.6V192 336c0 8.8 7.2 16 16 16s16-7.2 16-16V192 86.6L340.7 187.3c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-128-128zM32 472a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm384 0a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM152 448a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm72 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm120-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faSquareRootVariable = {\n prefix: 'fal',\n iconName: 'square-root-variable',\n icon: [576, 512, [\"square-root-alt\"], \"f698\", \"M352.1 64c-7.1 0-13.4 4.7-15.4 11.6L223.4 468.4c-1.8 6.3-7.2 10.8-13.7 11.5s-12.7-2.6-15.8-8.4L82.9 264.4c-2.8-5.2-8.2-8.4-14.1-8.4H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H68.8c17.7 0 34 9.7 42.3 25.3l92.4 172.4L306 66.7C311.9 46.1 330.7 32 352.1 32H560c8.8 0 16 7.2 16 16s-7.2 16-16 16H352.1zm52.6 180.7c6.2-6.2 16.4-6.2 22.6 0L480 297.4l52.7-52.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L502.6 320l52.7 52.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L480 342.6l-52.7 52.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L457.4 320l-52.7-52.7c-6.2-6.2-6.2-16.4 0-22.6z\"]\n};\nvar faSquareRootAlt = faSquareRootVariable;\nvar faLightSwitchOn = {\n prefix: 'fal',\n iconName: 'light-switch-on',\n icon: [384, 512, [], \"e019\", \"M176 48V32H64C46.3 32 32 46.3 32 64V448c0 17.7 14.3 32 32 32H176V464c0-8.8 7.2-16 16-16s16 7.2 16 16v16H320c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H208V48c0 8.8-7.2 16-16 16s-16-7.2-16-16zM0 64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM176 168h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16s7.2-16 16-16zm-48-24v96H256V144c0-8.8-7.2-16-16-16H144c-8.8 0-16 7.2-16 16zm0 224c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16V272H128v96zM96 144c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48V368c0 26.5-21.5 48-48 48H144c-26.5 0-48-21.5-48-48V144z\"]\n};\nvar faArrowDownArrowUp = {\n prefix: 'fal',\n iconName: 'arrow-down-arrow-up',\n icon: [576, 512, [\"sort-alt\"], \"f883\", \"M203.3 475.3c-6.2 6.2-16.4 6.2-22.6 0l-96-96c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L176 425.4V48c0-8.8 7.2-16 16-16s16 7.2 16 16V425.4l68.7-68.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-96 96zm352-342.6c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L464 86.6V464c0 8.8-7.2 16-16 16s-16-7.2-16-16V86.6l-68.7 68.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l96-96c6.2-6.2 16.4-6.2 22.6 0l96 96z\"]\n};\nvar faSortAlt = faArrowDownArrowUp;\nvar faRaindrops = {\n prefix: 'fal',\n iconName: 'raindrops',\n icon: [448, 512, [], \"f75c\", \"M160 85.6l-27.8 53c-2.7 5.2-4.2 11-4.2 16.9V160c0 17.7 14.3 32 32 32s32-14.3 32-32v-4.5c0-5.9-1.4-11.7-4.2-16.9L160 85.6zM148.3 39.1c2.3-4.4 6.8-7.1 11.7-7.1s9.4 2.7 11.7 7.1l44.4 84.6c5.2 9.8 7.8 20.7 7.8 31.8V160c0 35.3-28.7 64-64 64s-64-28.7-64-64v-4.5c0-11.1 2.7-22 7.8-31.8l44.4-84.6zM64 277.6l-27.8 53c-2.7 5.2-4.2 11-4.2 16.9V352c0 17.7 14.3 32 32 32s32-14.3 32-32v-4.5c0-5.9-1.4-11.7-4.2-16.9L64 277.6zM52.3 231.1c2.3-4.4 6.8-7.1 11.7-7.1s9.4 2.7 11.7 7.1l44.4 84.6c5.2 9.8 7.8 20.7 7.8 31.8V352c0 35.3-28.7 64-64 64s-64-28.7-64-64v-4.5c0-11.1 2.7-22 7.8-31.8l44.4-84.6zM239 301.5c-9.8 15.3-15 33.1-15 51.3c0 52.3 43.2 95.2 96 95.2s96-42.9 96-95.2c0-18.2-5.2-36-15-51.3L320 174.9 239 301.5zm-27-17.2l95.6-149.5c2.7-4.2 7.3-6.7 12.3-6.7s9.6 2.5 12.3 6.7l95.6 149.5C441 304.7 448 328.5 448 352.8C448 423 390.3 480 320 480s-128-57-128-127.2c0-24.3 7-48.1 20.1-68.6z\"]\n};\nvar faDash = {\n prefix: 'fal',\n iconName: 'dash',\n icon: [512, 512, [\"minus-large\"], \"e404\", \"M0 256c0-8.8 7.2-16 16-16H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16-7.2-16-16z\"]\n};\nvar faMinusLarge = faDash;\nvar faClock = {\n prefix: 'fal',\n iconName: 'clock',\n icon: [512, 512, [128339, \"clock-four\"], \"f017\", \"M480 256A224 224 0 1 1 32 256a224 224 0 1 1 448 0zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM240 112V256c0 5.3 2.7 10.3 7.1 13.3l96 64c7.4 4.9 17.3 2.9 22.2-4.4s2.9-17.3-4.4-22.2L272 247.4V112c0-8.8-7.2-16-16-16s-16 7.2-16 16z\"]\n};\nvar faClockFour = faClock;\nvar faInputNumeric = {\n prefix: 'fal',\n iconName: 'input-numeric',\n icon: [640, 512, [], \"e1bd\", \"M576 96c17.7 0 32 14.3 32 32V384c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V128c0-17.7 14.3-32 32-32H576zM64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64zM96 176c0 8.8 7.2 16 16 16h16V320H112c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H160V176c0-8.8-7.2-16-16-16H112c-8.8 0-16 7.2-16 16zm168.7 27.4c9.4-11.3 26.2-12.6 37.2-2.9c10.8 9.5 11.9 25.9 2.5 36.7l-76.6 88.3c-4.1 4.7-5.1 11.4-2.5 17.1s8.3 9.4 14.6 9.4h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H275l53.6-61.9c20.9-24.2 18.4-60.7-5.6-81.8c-24.6-21.5-62-18.5-82.9 6.5l-12.4 14.9c-5.7 6.8-4.7 16.9 2 22.5s16.9 4.7 22.5-2l12.4-14.9z\"]\n};\nvar faTruckTow = {\n prefix: 'fal',\n iconName: 'truck-tow',\n icon: [640, 512, [], \"e2b8\", \"M96 64V176c0 26.5-21.5 48-48 48s-48-21.5-48-48V160c0-8.8 7.2-16 16-16s16 7.2 16 16v16c0 8.8 7.2 16 16 16s16-7.2 16-16V32C64 20.2 70.4 9.8 80 4.3C84.7 1.6 90.2 0 96 0h3.8 45.9c9.1 0 17.8 3.9 23.9 10.7L384 252V144c0-26.5 21.5-48 48-48h56.5c19.8 0 38.4 9.1 50.5 24.7l90.8 116.8c6.6 8.4 10.1 18.8 10.1 29.5V368c0 26.5-21.5 48-48 48H576c0 53-43 96-96 96s-96-43-96-96H256c0 53-43 96-96 96s-96-43-96-96H48c-26.5 0-48-21.5-48-48V304c0-26.5 21.5-48 48-48H192L96 64zM250.5 384H389.5c13.2-37.3 48.7-64 90.5-64s77.4 26.7 90.5 64H592c8.8 0 16-7.2 16-16V288H416 384 373.2 208 48c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16H69.5c13.2-37.3 48.7-64 90.5-64s77.4 26.7 90.5 64zM416 416a64 64 0 1 0 128 0 64 64 0 1 0 -128 0zm97.8-275.6c-6.1-7.8-15.4-12.4-25.3-12.4H432c-8.8 0-16 7.2-16 16V256H603.7L513.8 140.4zM145.6 32l-29.9 0 112 224h117L145.6 32zM224 416A64 64 0 1 0 96 416a64 64 0 1 0 128 0z\"]\n};\nvar faBackwardStep = {\n prefix: 'fal',\n iconName: 'backward-step',\n icon: [320, 512, [\"step-backward\"], \"f048\", \"M64 80c0-8.8-7.2-16-16-16s-16 7.2-16 16V241.9v28.2V432c0 8.8 7.2 16 16 16s16-7.2 16-16V296.2L242.6 441.8c5 4 11.2 6.2 17.6 6.2c15.4 0 27.8-12.4 27.8-27.8V91.8C288 76.4 275.6 64 260.2 64c-6.4 0-12.6 2.2-17.6 6.2L64 215.8V80zm192 20.6V411.4L65.3 256 256 100.6z\"]\n};\nvar faStepBackward = faBackwardStep;\nvar faPallet = {\n prefix: 'fal',\n iconName: 'pallet',\n icon: [640, 512, [], \"f482\", \"M16 352c-8.8 0-16 7.2-16 16s7.2 16 16 16H64v96H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H80 320 560h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H576V384h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H560 320 80 16zm80 32H304v96H96V384zm240 0H544v96H336V384z\"]\n};\nvar faCarBolt = {\n prefix: 'fal',\n iconName: 'car-bolt',\n icon: [512, 512, [], \"e341\", \"M113.6 98.2L85.3 192.6c3.5-.4 7.1-.6 10.7-.6h32v32H96c-7.4 0-14.5 1.3-21.2 3.6l-.1 .3-.5-.1C49.6 236.7 32 260.3 32 288v96H480V288c0-27.7-17.6-51.3-42.3-60.2l-.5 .1-.1-.3c-6.6-2.3-13.8-3.6-21.2-3.6H384V192h32c3.6 0 7.2 .2 10.7 .6L398.4 98.2c-6.1-20.3-24.8-34.2-46-34.2H159.6c-21.2 0-39.9 13.9-46 34.2zM48.3 204.7l.4-1.3L83 89c10.2-33.8 41.3-57 76.6-57H352.4c35.3 0 66.5 23.2 76.6 57l34.3 114.4 .4 1.3C492.6 221.2 512 252.3 512 288v96 16 16 48c0 8.8-7.2 16-16 16s-16-7.2-16-16V416H32v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V416 400 384 288c0-35.7 19.4-66.8 48.3-83.3zM104 272a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm280 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM299.3 123.3L230.6 192H320c6.5 0 12.3 3.9 14.8 9.9s1.1 12.9-3.5 17.4l-96 96c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L281.4 224H192c-6.5 0-12.3-3.9-14.8-9.9s-1.1-12.9 3.5-17.4l96-96c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faArrowsMaximize = {\n prefix: 'fal',\n iconName: 'arrows-maximize',\n icon: [512, 512, [\"expand-arrows\"], \"f31d\", \"M336 32c-8.8 0-16 7.2-16 16s7.2 16 16 16h89.4L256 233.4 86.6 64H176c8.8 0 16-7.2 16-16s-7.2-16-16-16H48c-8.8 0-16 7.2-16 16V176c0 8.8 7.2 16 16 16s16-7.2 16-16V86.6L233.4 256 64 425.4V336c0-8.8-7.2-16-16-16s-16 7.2-16 16V464c0 8.8 7.2 16 16 16H176c8.8 0 16-7.2 16-16s-7.2-16-16-16H86.6L256 278.6 425.4 448H336c-8.8 0-16 7.2-16 16s7.2 16 16 16H464c8.8 0 16-7.2 16-16V336c0-8.8-7.2-16-16-16s-16 7.2-16 16v89.4L278.6 256 448 86.6V176c0 8.8 7.2 16 16 16s16-7.2 16-16V48c0-8.8-7.2-16-16-16H336z\"]\n};\nvar faExpandArrows = faArrowsMaximize;\nvar faFaucet = {\n prefix: 'fal',\n iconName: 'faucet',\n icon: [512, 512, [], \"e005\", \"M240 80c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H80c-8.8 0-16 7.2-16 16s7.2 16 16 16H208v48H189.3c-12.7 0-24.9 5.1-33.9 14.1L121.4 256H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H128c4.2 0 8.3-1.7 11.3-4.7l38.6-38.6c3-3 7.1-4.7 11.3-4.7h69.5c4.2 0 8.3 1.7 11.3 4.7l38.6 38.6c3 3 7.1 4.7 11.3 4.7h48c61.9 0 112 50.1 112 112c0 8.8-7.2 16-16 16H432c-8.8 0-16-7.2-16-16c0-26.5-21.5-48-48-48H307.2c-5.7 0-11 3-13.8 8c-13.9 24-39.7 40-69.3 40s-55.5-16.1-69.3-40c-2.9-4.9-8.1-8-13.8-8H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H132.1c20.2 29 53.8 48 91.9 48s71.7-19 91.9-48H368c8.8 0 16 7.2 16 16c0 26.5 21.5 48 48 48h32c26.5 0 48-21.5 48-48c0-79.5-64.5-144-144-144H326.6l-33.9-33.9c-9-9-21.2-14.1-33.9-14.1H240V160H368c8.8 0 16-7.2 16-16s-7.2-16-16-16H240V80z\"]\n};\nvar faCloudSleet = {\n prefix: 'fal',\n iconName: 'cloud-sleet',\n icon: [512, 512, [], \"f741\", \"M96 112c0-44.2 35.8-80 80-80c32.2 0 59.9 19 72.6 46.4c2.2 4.8 6.6 8.1 11.8 9s10.4-.8 14.1-4.5c11.6-11.7 27.7-19 45.5-19c35.3 0 64 28.7 64 64l0 .3c0 4.5 1.9 8.8 5.2 11.8s7.8 4.5 12.2 4.1c2.2-.2 4.3-.3 6.6-.3c39.8 0 72 32.2 72 72s-32.2 72-72 72H104c-39.8 0-72-32.2-72-72c0-33.5 22.9-61.7 53.9-69.7c8.2-2.1 13.3-10.3 11.7-18.6c-1-5.1-1.5-10.3-1.5-15.7zM512 216c0-55.2-43-100.3-97.3-103.8C407.2 66.7 367.6 32 320 32c-19.3 0-37.3 5.7-52.4 15.5C247.3 18.8 213.9 0 176 0C114.1 0 64 50.1 64 112c0 2.6 .1 5.3 .3 7.9C26.6 135.5 0 172.6 0 216c0 57.4 46.6 104 104 104H408c57.4 0 104-46.6 104-104zM94.3 375.2c4-7.9 .7-17.5-7.2-21.5s-17.5-.7-21.5 7.2l-64 128c-4 7.9-.7 17.5 7.2 21.5s17.5 .7 21.5-7.2l64-128zm256 0c4-7.9 .7-17.5-7.2-21.5s-17.5-.7-21.5 7.2l-64 128c-4 7.9-.7 17.5 7.2 21.5s17.5 .7 21.5-7.2l64-128zM192 368c0-8.8-7.2-16-16-16s-16 7.2-16 16v32H128c-8.8 0-16 7.2-16 16s7.2 16 16 16h32v32c0 8.8 7.2 16 16 16s16-7.2 16-16V432h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H192V368zm240-16c-8.8 0-16 7.2-16 16v32l-32 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l32 0v32c0 8.8 7.2 16 16 16s16-7.2 16-16V432l32 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-32 0V368c0-8.8-7.2-16-16-16z\"]\n};\nvar faLampStreet = {\n prefix: 'fal',\n iconName: 'lamp-street',\n icon: [512, 512, [], \"e1c5\", \"M32 168C32 92.9 92.9 32 168 32c72.7 0 132 57 135.8 128.7c-83.1 6.9-151.1 66.7-170.3 145.6C127.3 331.8 148.3 352 171 352H469c22.7 0 43.7-20.2 37.5-45.7c-19.3-79-87.5-138.9-170.7-145.7C332 71.3 258.3 0 168 0C75.2 0 0 75.2 0 168V496c0 8.8 7.2 16 16 16s16-7.2 16-16V168zm288 24c75.2 0 138.4 51.9 155.4 121.9c.3 1.4 0 2.6-1 3.8c-1.1 1.3-3 2.3-5.5 2.3H171c-2.4 0-4.4-1-5.5-2.3c-1-1.1-1.3-2.4-1-3.8C181.6 243.9 244.8 192 320 192zM241.6 384c7.4 36.5 39.7 64 78.4 64s71-27.5 78.4-64H365.3c-6.6 18.6-24.4 32-45.3 32s-38.7-13.4-45.3-32H241.6z\"]\n};\nvar faListRadio = {\n prefix: 'fal',\n iconName: 'list-radio',\n icon: [512, 512, [], \"e1d0\", \"M32 96a32 32 0 1 1 64 0A32 32 0 1 1 32 96zm96 0A64 64 0 1 0 0 96a64 64 0 1 0 128 0zm64 0c0 8.8 7.2 16 16 16H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H208c-8.8 0-16 7.2-16 16zm0 160c0 8.8 7.2 16 16 16H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H208c-8.8 0-16 7.2-16 16zm0 160c0 8.8 7.2 16 16 16H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H208c-8.8 0-16 7.2-16 16zM64 288a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0-96a64 64 0 1 0 0 128 64 64 0 1 0 0-128zM80 96A16 16 0 1 0 48 96a16 16 0 1 0 32 0zM32 416a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm96 0A64 64 0 1 0 0 416a64 64 0 1 0 128 0z\"]\n};\nvar faPenNibSlash = {\n prefix: 'fal',\n iconName: 'pen-nib-slash',\n icon: [640, 512, [], \"e4a1\", \"M25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4zM478.3 232.3l75.1-75.1c25-25 25-65.5 0-90.5L509.3 22.6c-25-25-65.5-25-90.5 0L343.7 97.7l-80.3 21.9 31.2 24.7 52.6-14.4 98.9 98.9-7.9 28.9 27.3 21.5 12.8-46.9zM379 394.3c-.5 .2-1.1 .4-1.7 .5L129.3 469.3 239.5 359.1c9.5 5.6 20.6 8.9 32.5 8.9c18.7 0 35.6-8 47.3-20.8L294 327.2c-5.7 5.4-13.5 8.8-22 8.8c-17.7 0-32-14.3-32-32c0-5.8 1.6-11.3 4.3-16L219.1 268c-7 10.2-11.1 22.6-11.1 36c0 11.9 3.2 23 8.9 32.5L106.7 446.7l64.8-216.1-27-21.3L67.9 464.6c-3.7 12.3-.3 25.7 8.8 34.7s22.4 12.5 34.7 8.8l275.2-82.5c7.2-2.2 14-5.3 20.2-9.3L379 394.3zM441.4 45.3c12.5-12.5 32.8-12.5 45.3 0l44.1 44.1c12.5 12.5 12.5 32.8 0 45.3L464 201.4 374.6 112l66.7-66.7z\"]\n};\nvar faBaseballBatBall = {\n prefix: 'fal',\n iconName: 'baseball-bat-ball',\n icon: [512, 512, [], \"f432\", \"M416 0c-14.5 0-28.4 5.8-38.6 16L226.1 167.2c-9.7 9.7-18.4 20.3-26 31.7L125.2 311.3c-6.4 9.6-13.8 18.6-22 26.8L32 409.4l-4.7-4.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L9.4 432l11.3 11.3 48 48L80 502.6l4.7 4.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-4.7-4.7 71.2-71.2c8.2-8.2 17.2-15.6 26.8-22l112.4-74.9c11.4-7.6 22-16.3 31.7-26L496 134.6c10.2-10.2 16-24.1 16-38.6s-5.8-28.4-16-38.6L454.6 16C444.4 5.8 430.5 0 416 0zM80 457.4L54.6 432l71.2-71.2c.7-.7 1.4-1.4 2.1-2.1L153.4 384c-.7 .7-1.4 1.4-2.1 2.1L80 457.4zm98.1-93.9l-29.6-29.6c1.1-1.6 2.2-3.2 3.3-4.8l74.9-112.4c6.4-9.6 13.8-18.6 22-26.8L400 38.6c4.2-4.2 10-6.6 16-6.6s11.8 2.4 16 6.6L473.4 80c4.2 4.2 6.6 10 6.6 16s-2.4 11.8-6.6 16L322.1 263.2c-8.2 8.2-17.2 15.6-26.8 22L182.9 360.1c-1.6 1.1-3.2 2.2-4.8 3.3zM384 432a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm128 0a80 80 0 1 0 -160 0 80 80 0 1 0 160 0z\"]\n};\nvar faSquareUpLeft = {\n prefix: 'fal',\n iconName: 'square-up-left',\n icon: [448, 512, [], \"e282\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm144 88V297.4c0 3.7 3 6.6 6.6 6.6c1.8 0 3.4-.7 4.7-1.9l25.4-25.4c6.2-6.2 16.4-6.2 22.6 0l59.1 59.1c3.6 3.6 9 4.9 13.9 3.3c2-.7 3.8-1.8 5.3-3.3l22.1-22.1c1.5-1.5 2.6-3.3 3.3-5.3c1.6-4.9 .4-10.3-3.3-13.9l-59.1-59.1c-6.2-6.2-6.2-16.4 0-22.6l25.4-25.4c1.2-1.2 1.9-2.9 1.9-4.7c0-3.7-3-6.6-6.6-6.6H152c-4.4 0-8 3.6-8 8zm8-40H265.4c21.3 0 38.6 17.3 38.6 38.6c0 10.2-4.1 20.1-11.3 27.3L278.6 224l47.7 47.7c12.2 12.2 16.5 30.3 11 46.7c-2.2 6.7-6 12.8-11 17.8l-22.1 22.1c-5 5-11.1 8.8-17.8 11c-16.4 5.5-34.5 1.2-46.7-11L192 310.6l-14.1 14.1c-7.2 7.2-17.1 11.3-27.3 11.3c-21.3 0-38.6-17.3-38.6-38.6V184c0-22.1 17.9-40 40-40z\"]\n};\nvar faOverline = {\n prefix: 'fal',\n iconName: 'overline',\n icon: [448, 512, [], \"f876\", \"M16 32C7.2 32 0 39.2 0 48s7.2 16 16 16H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H16zm208 96c-88.4 0-160 71.6-160 160v32c0 88.4 71.6 160 160 160s160-71.6 160-160V288c0-88.4-71.6-160-160-160zM96 288c0-70.7 57.3-128 128-128s128 57.3 128 128v32c0 70.7-57.3 128-128 128s-128-57.3-128-128V288z\"]\n};\nvar faS = {\n prefix: 'fal',\n iconName: 's',\n icon: [320, 512, [115], \"53\", \"M83.4 75.8c-27.8 11.5-45.1 30.6-49.8 56.6c-3.3 18.2-1.2 31.7 3.6 42.3c4.9 10.7 13.4 19.8 25.5 27.9c25 16.7 61.4 27 101.5 38c.6 .2 1.1 .3 1.7 .5c38 10.5 79.3 21.8 109.1 41.8c15.5 10.4 28.7 23.6 36.8 41.1c8.1 17.5 10.3 37.9 6.1 61.3c-7 39-33.3 65.8-69.1 80.6c-35.3 14.5-80.2 17.7-127.9 10.5l-.1 0c-25-3.9-66.1-17.4-94.4-26.7c-5.7-1.9-10.9-3.6-15.3-5c-8.4-2.7-13-11.7-10.4-20.1s11.7-13 20.1-10.4c5 1.6 10.7 3.5 16.8 5.5c28.5 9.3 65.9 21.6 88 25.1c44 6.6 82.6 3.2 110.9-8.4c27.8-11.5 45.1-30.6 49.8-56.6c3.3-18.2 1.2-31.7-3.6-42.3c-4.9-10.7-13.4-19.8-25.5-27.9c-25-16.7-61.4-27-101.5-38l-1.7-.5c-38-10.5-79.3-21.8-109.1-41.8c-15.5-10.4-28.7-23.6-36.8-41.1C.1 170.5-2.1 150.2 2.1 126.8c7-39 33.3-65.8 69.1-80.6c35.3-14.5 80.2-17.7 127.9-10.5C213.4 37.9 256.9 46 272 49.8c8.6 2.2 13.7 10.9 11.5 19.5S272.6 83 264 80.8c-13.6-3.5-55.9-11.4-69.7-13.5l2.4-15.8-2.4 15.8c-44-6.6-82.7-3.3-111 8.4z\"]\n};\nvar faTimeline = {\n prefix: 'fal',\n iconName: 'timeline',\n icon: [640, 512, [], \"e29c\", \"M144 48a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm16 94c27.6-7.1 48-32.2 48-62c0-35.3-28.7-64-64-64s-64 28.7-64 64c0 29.8 20.4 54.9 48 62V256H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H320v82c-27.6 7.1-48 32.2-48 62c0 35.3 28.7 64 64 64s64-28.7 64-64c0-29.8-20.4-54.9-48-62V288H624c8.8 0 16-7.2 16-16s-7.2-16-16-16H512V142c27.6-7.1 48-32.2 48-62c0-35.3-28.7-64-64-64s-64 28.7-64 64c0 29.8 20.4 54.9 48 62V256H160V142zM336 464a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM496 48a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faKeyboard = {\n prefix: 'fal',\n iconName: 'keyboard',\n icon: [576, 512, [9000], \"f11c\", \"M64 96c-17.7 0-32 14.3-32 32V384c0 17.7 14.3 32 32 32H512c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32H64zM0 128C0 92.7 28.7 64 64 64H512c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128zm88 8h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H88c-8.8 0-16-7.2-16-16V152c0-8.8 7.2-16 16-16zM72 248c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H88c-8.8 0-16-7.2-16-16V248zm16 80h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H88c-8.8 0-16-7.2-16-16V344c0-8.8 7.2-16 16-16zm80-176c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H184c-8.8 0-16-7.2-16-16V152zm16 80h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H184c-8.8 0-16-7.2-16-16V248c0-8.8 7.2-16 16-16zm80-80c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H280c-8.8 0-16-7.2-16-16V152zm16 80h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H280c-8.8 0-16-7.2-16-16V248c0-8.8 7.2-16 16-16zm80-80c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H376c-8.8 0-16-7.2-16-16V152zm16 80h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H376c-8.8 0-16-7.2-16-16V248c0-8.8 7.2-16 16-16zm80-80c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H472c-8.8 0-16-7.2-16-16V152zm16 80h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H472c-8.8 0-16-7.2-16-16V248c0-8.8 7.2-16 16-16zM456 344c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H472c-8.8 0-16-7.2-16-16V344zm-280-8H400c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faArrowsFromDottedLine = {\n prefix: 'fal',\n iconName: 'arrows-from-dotted-line',\n icon: [448, 512, [], \"e0a3\", \"M235.3 4.7c-3-3-7.1-4.7-11.3-4.7s-8.3 1.7-11.3 4.7l-80 80c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L208 54.6V176c0 8.8 7.2 16 16 16s16-7.2 16-16V54.6l52.7 52.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-80-80zM8 256a24 24 0 1 0 48 0A24 24 0 1 0 8 256zm384 0a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zm-72-24a24 24 0 1 0 0 48 24 24 0 1 0 0-48zM200 256a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zm-72-24a24 24 0 1 0 0 48 24 24 0 1 0 0-48zm96 280c4.2 0 8.3-1.7 11.3-4.7l80-80c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L240 457.4 240 336c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 121.4-52.7-52.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l80 80c3 3 7.1 4.7 11.3 4.7z\"]\n};\nvar faUsbDrive = {\n prefix: 'fal',\n iconName: 'usb-drive',\n icon: [640, 512, [], \"f8e9\", \"M64 128c-17.7 0-32 14.3-32 32V352c0 17.7 14.3 32 32 32H416V128H64zM0 160c0-35.3 28.7-64 64-64H416c17.7 0 32 14.3 32 32V384c0 17.7-14.3 32-32 32H64c-35.3 0-64-28.7-64-64V160zM480 384V352H608V160H480V128H608c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H480zm96-176a16 16 0 1 1 -32 0 16 16 0 1 1 32 0zM560 320a16 16 0 1 1 0-32 16 16 0 1 1 0 32z\"]\n};\nvar faBallot = {\n prefix: 'fal',\n iconName: 'ballot',\n icon: [448, 512, [], \"f732\", \"M384 32c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H384zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zm96 128c0 8.8 7.2 16 16 16H352c8.8 0 16-7.2 16-16s-7.2-16-16-16H176c-8.8 0-16 7.2-16 16zm0 128c0 8.8 7.2 16 16 16H352c8.8 0 16-7.2 16-16s-7.2-16-16-16H176c-8.8 0-16 7.2-16 16zm0 128c0 8.8 7.2 16 16 16H352c8.8 0 16-7.2 16-16s-7.2-16-16-16H176c-8.8 0-16 7.2-16 16zM88 104c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V120c0-8.8-7.2-16-16-16H88zM72 248v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V248c0-8.8-7.2-16-16-16H88c-8.8 0-16 7.2-16 16zM88 360c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V376c0-8.8-7.2-16-16-16H88z\"]\n};\nvar faCaretDown = {\n prefix: 'fal',\n iconName: 'caret-down',\n icon: [320, 512, [], \"f0d7\", \"M165.6 349.8c-1.4 1.3-3.5 2.2-5.6 2.2s-4.2-.8-5.6-2.2L34.2 236.3c-1.4-1.3-2.2-3.2-2.2-5.2c0-3.9 3.2-7.1 7.1-7.1l241.7 0c3.9 0 7.1 3.2 7.1 7.1c0 2-.8 3.8-2.2 5.2L165.6 349.8zm22 23.3L307.7 259.6c7.8-7.4 12.3-17.7 12.3-28.4c0-21.6-17.5-39.1-39.1-39.1L39.1 192C17.5 192 0 209.5 0 231.1c0 10.8 4.4 21.1 12.3 28.5L132.4 373.1c7.4 7 17.3 10.9 27.6 10.9s20.1-3.9 27.6-10.9z\"]\n};\nvar faLocationDotSlash = {\n prefix: 'fal',\n iconName: 'location-dot-slash',\n icon: [640, 512, [\"map-marker-alt-slash\"], \"f605\", \"M385.8 389.5c-24.4 35.2-48.5 66.5-65.8 88.1c-25.4-31.8-65.8-84.7-99.9-140c-17.3-28.1-32.7-56.3-43.6-82.1c-6.7-15.9-11.4-30-14-42.2L128.1 186c-.1 2-.1 4-.1 6c0 87.4 117 243 168.3 307.2c12.3 15.3 35.1 15.3 47.4 0c17.3-21.6 42-53.6 67.2-89.8l-25.2-19.9zM320 0C263.8 0 213.3 24.1 178.2 62.5l25.2 19.9C232.6 51.4 274 32 320 32c88.4 0 160 71.6 160 160c0 15.6-5.4 37-16.6 63.4c-3.3 7.7-6.9 15.6-10.9 23.7l25.6 20.2C498.3 259.8 512 221.9 512 192C512 86 426 0 320 0zm80 192c0-44.2-35.8-80-80-80c-20.5 0-39.2 7.7-53.3 20.4l25.8 20.3c7.8-5.5 17.3-8.7 27.6-8.7c26.5 0 48 21.5 48 48c0 6.2-1.2 12.2-3.4 17.7L390.4 230c6.1-11.3 9.6-24.3 9.6-38zM25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4z\"]\n};\nvar faMapMarkerAltSlash = faLocationDotSlash;\nvar faCards = {\n prefix: 'fal',\n iconName: 'cards',\n icon: [640, 512, [], \"e3ed\", \"M202.3 468.3c6.7 11 20.9 14.8 32.1 8.6c0 0 .1 0 .1-.1L427.4 365.5c0 0 .1 0 .1-.1c11.2-6.7 15-21.2 8.4-32.6L269.2 44.1c-6.6-11.5-21.3-15.4-32.8-8.8L44.1 146.4c-11.3 6.5-15.3 20.9-9 32.3c0 .1 .1 .1 .1 .2l167 289.3c0 .1 .1 .1 .1 .2zm-27.5 16.4c-.2-.3-.3-.6-.5-.9L7.6 195.2c-.2-.3-.3-.6-.5-.9c-14.9-26.5-5.7-60.2 20.7-75.5L220.7 7.5c26.6-15.4 60.7-6.3 76.1 20.4l167 289.3c15.3 26.5 6.3 60.3-20 75.8c-.2 .1-.5 .3-.7 .4l-192.3 111c-.2 .1-.5 .3-.7 .4c-26.4 14.9-59.8 6-75.3-20zM360 512c-13.7 0-26.2-4.9-35.9-13l33.2-19.1c.9 .1 1.8 .2 2.7 .2H584c13.3 0 24-10.7 24-24V120c0-13.3-10.7-24-24-24H373L354.7 64.2c1.7-.2 3.5-.2 5.3-.2H584c30.9 0 56 25.1 56 56V456c0 30.9-25.1 56-56 56H360zM469.4 162.8l-.1 .1 0 0c-6.7 5.7-7 16-1.1 22.2l0 0 35.9 37 35.7-37 0 0c5.9-6.1 5.6-16.4-.9-22.2c-5.1-4.2-13.4-4-19.1 1.7l-3.9 4.3c-3 3.3-7.2 5.2-11.7 5.3s-8.7-1.7-11.8-5l-4.3-4.5c-5.9-5.9-14.4-5.8-18.9-1.9zm-21-24.2c16.5-14.3 39.3-13.3 55.6-2.2c16.2-11.1 38.9-11.9 55.6 2.1l.2 .2 0 0c20.5 17.9 21.5 49.4 3 68.6l0 0L520.6 251l-.2 .2 0 0c-8.8 8.8-23.7 9.5-33-.3l-42.3-43.6 0 0c-18.5-19.2-17.6-50.8 3.2-68.7zM252.2 340.4l48.2-27.8c7.7-4.4 17.4-1.8 21.9 5.9s1.8 17.4-5.9 21.9l-48.2 27.8c-7.7 4.4-17.4 1.8-21.9-5.9s-1.8-17.4 5.9-21.9zm-27-40.1l5.9-27.4c.9-4.4 3.6-8.1 7.5-10.4s8.4-2.9 12.7-1.6l27.6 8.1c12.9 3.5 26.2-3.2 29.6-13.2l0-.1c5-14.2-3.4-30-17.5-34l0 0-90.2-25.7-22.6 90.8 0 0c-3.5 14.2 5.8 29.3 20.3 32.3c10.9 1.8 23-5.6 26.7-18.9zm31 7.9c-7.4 27.8-34.3 47.5-63.4 42.5l-.4-.1 0 0c-32.7-6.5-53.3-39.7-45.3-71.5l26.6-106.9c1-4.2 3.8-7.8 7.5-10s8.2-2.7 12.4-1.5L299.9 191l0 0c31.5 9.1 50 43.5 38.8 75.4c-10.1 29.4-42.9 40.6-68.5 33.6l-.3-.1 0 0-11.2-3.3-2.4 10.9c-.1 .2-.1 .5-.2 .7z\"]\n};\nvar faHouseChimneyMedical = {\n prefix: 'fal',\n iconName: 'house-chimney-medical',\n icon: [576, 512, [\"clinic-medical\"], \"f7f2\", \"M277.4 4c6-5.3 15.1-5.3 21.2 0L384 79.4V56c0-13.3 10.7-24 24-24h80c13.3 0 24 10.7 24 24V192.3L570.6 244c6.6 5.8 7.3 16 1.4 22.6s-16 7.3-22.6 1.4L512 235V432c0 44.2-35.8 80-80 80H144c-44.2 0-80-35.8-80-80V235L26.6 268C20 273.8 9.8 273.2 4 266.6S-1.2 249.8 5.4 244L277.4 4zM480 164.1V64H416v43.6l64 56.5zM96 206.7V432c0 26.5 21.5 48 48 48H432c26.5 0 48-21.5 48-48V206.7L288 37.3 96 206.7zM272 176h32c17.7 0 32 14.3 32 32v32h32c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32H336v32c0 17.7-14.3 32-32 32H272c-17.7 0-32-14.3-32-32V336H208c-17.7 0-32-14.3-32-32V272c0-17.7 14.3-32 32-32h32V208c0-17.7 14.3-32 32-32zm0 32v48c0 4.2-1.7 8.3-4.7 11.3s-7.1 4.7-11.3 4.7H208v32h48c8.8 0 16 7.2 16 16v48h32V320c0-8.8 7.2-16 16-16h48V272H320c-8.8 0-16-7.2-16-16V208H272z\"]\n};\nvar faClinicMedical = faHouseChimneyMedical;\nvar faBoxingGlove = {\n prefix: 'fal',\n iconName: 'boxing-glove',\n icon: [448, 512, [129354, \"glove-boxing\"], \"f438\", \"M32 112c0-44.2 35.8-80 80-80H272c44.2 0 80 35.8 80 80v16H336c-38.7 0-71 27.5-78.4 64H144c-26.5 0-48-21.5-48-48v-8c0-8.8-7.2-16-16-16s-16 7.2-16 16v8c0 44.2 35.8 80 80 80H257.6c7.4 36.5 39.7 64 78.4 64c8.8 0 16-7.2 16-16s-7.2-16-16-16c-26.5 0-48-21.5-48-48s21.5-48 48-48h32c26.5 0 48 21.5 48 48v38.9c0 17-6.7 33.3-18.7 45.3L336.4 353c-10.5 10.5-16.4 24.7-16.4 39.6V456c0 13.3-10.7 24-24 24H88c-13.3 0-24-10.7-24-24V351.6c0-4.6-1.9-8.9-5.3-11.9C42.3 325 32 303.7 32 280V112zM112 0C50.1 0 0 50.1 0 112V280c0 30.5 12.2 58.2 32 78.4V456c0 30.9 25.1 56 56 56H296c30.9 0 56-25.1 56-56V392.6c0-6.4 2.5-12.5 7-17l60.9-60.9c18-18 28.1-42.4 28.1-67.9V208c0-38.7-27.5-71-64-78.4V112C384 50.1 333.9 0 272 0H112zm40.9 338.7c-7.4-4.9-17.3-2.9-22.2 4.4s-2.9 17.3 4.4 22.2l28 18.7-28 18.7c-7.4 4.9-9.3 14.8-4.4 22.2s14.8 9.3 22.2 4.4L192 403.2l39.1 26.1c7.4 4.9 17.3 2.9 22.2-4.4s2.9-17.3-4.4-22.2l-28-18.7 28-18.7c7.4-4.9 9.3-14.8 4.4-22.2s-14.8-9.3-22.2-4.4L192 364.8l-39.1-26.1z\"]\n};\nvar faGloveBoxing = faBoxingGlove;\nvar faTemperatureThreeQuarters = {\n prefix: 'fal',\n iconName: 'temperature-three-quarters',\n icon: [320, 512, [\"temperature-3\", \"thermometer-3\", \"thermometer-three-quarters\"], \"f2c8\", \"M160 32c-35.3 0-64 28.7-64 64V252.7c0 14.9-7 27.7-16 36.9C60.2 309.8 48 337.5 48 368c0 61.9 50.1 112 112 112s112-50.1 112-112c0-30.5-12.2-58.2-32-78.4c-9-9.2-16-22-16-36.9V96c0-35.3-28.7-64-64-64zM64 96c0-53 43-96 96-96s96 43 96 96V252.7c0 4.6 2.2 9.8 6.8 14.5c25.5 26 41.2 61.6 41.2 100.8c0 79.5-64.5 144-144 144S16 447.5 16 368c0-39.3 15.7-74.9 41.2-100.8c4.6-4.7 6.8-9.9 6.8-14.5V96zm96 304a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0 32c-35.3 0-64-28.7-64-64c0-29.8 20.4-54.9 48-62V144c0-8.8 7.2-16 16-16s16 7.2 16 16V306c27.6 7.1 48 32.2 48 62c0 35.3-28.7 64-64 64z\"]\n};\nvar faTemperature3 = faTemperatureThreeQuarters;\nvar faThermometer3 = faTemperatureThreeQuarters;\nvar faThermometerThreeQuarters = faTemperatureThreeQuarters;\nvar faBellSchool = {\n prefix: 'fal',\n iconName: 'bell-school',\n icon: [512, 512, [], \"f5d5\", \"M208 384a176 176 0 1 0 0-352 176 176 0 1 0 0 352zm0 32c-41.2 0-79.7-12-112-32.7V448c0 17.7 14.3 32 32 32H272h16c17.7 0 32-14.3 32-32V383.3C287.7 404 249.2 416 208 416zm64 96H128c-35.3 0-64-28.7-64-64V358.1C24.6 320.2 0 267 0 208C0 93.1 93.1 0 208 0S416 93.1 416 208c0 59-24.6 112.2-64 150.1V448c0 11.7-3.1 22.6-8.6 32H416c17.7 0 32-14.3 32-32v-2.7c-18.6-6.6-32-24.4-32-45.3c0-26.5 21.5-48 48-48s48 21.5 48 48c0 20.9-13.4 38.7-32 45.3V448c0 35.3-28.7 64-64 64H288 272zM256 208a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm-128 0a80 80 0 1 1 160 0 80 80 0 1 1 -160 0zM464 416a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faMobileScreen = {\n prefix: 'fal',\n iconName: 'mobile-screen',\n icon: [384, 512, [\"mobile-android-alt\"], \"f3cf\", \"M288 32c17.7 0 32 14.3 32 32V320H64V64c0-17.7 14.3-32 32-32H288zm32 320v96c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V352H320zM96 0C60.7 0 32 28.7 32 64V448c0 35.3 28.7 64 64 64H288c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H96zm48 416c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H160c-8.8 0-16 7.2-16 16z\"]\n};\nvar faMobileAndroidAlt = faMobileScreen;\nvar faPlaneUp = {\n prefix: 'fal',\n iconName: 'plane-up',\n icon: [512, 512, [], \"e22d\", \"M221.2 13.3C230.8 5.7 242.6 0 256 0c26.9 0 47.1 21.6 59.2 41.8C327.9 62.9 336 89.1 336 109.7v52.5l151.8 86.8c15 8.5 24.2 24.5 24.2 41.7v56.2c0 21.3-20.3 36.6-40.8 30.8L336 338.9V376l51.2 38.4c8.1 6 12.8 15.5 12.8 25.6v42c0 16.6-13.4 30-30 30c-2.8 0-5.6-.4-8.2-1.2l0 0L256 480.6 150.3 510.8l0 0c-2.7 .8-5.5 1.2-8.3 1.2c-16.6 0-30-13.4-30-30V440c0-10.1 4.7-19.6 12.8-25.6L176 376l0-37.1L40.8 377.6C20.3 383.4 0 368 0 346.8V290.6c0-17.2 9.2-33.1 24.2-41.7L176 162.1V109.7c0-20.7 8.4-46.9 21.2-67.9c6.5-10.7 14.5-20.8 24-28.4zm3.3 45C214.1 75.6 208 96.2 208 109.7v61.7c0 5.7-3.1 11-8.1 13.9L40.1 276.7c-5 2.8-8.1 8.2-8.1 13.9v56.2l155.6-44.5c4.8-1.4 10-.4 14 2.6s6.4 7.8 6.4 12.8l0 66.3c0 5-2.4 9.8-6.4 12.8L144 440v39.4l107.6-30.7c2.9-.8 5.9-.8 8.8 0L368 479.4V440l-57.6-43.2c-4-3-6.4-7.8-6.4-12.8V317.7c0-5 2.4-9.8 6.4-12.8s9.2-4 14-2.6L480 346.8V290.6c0-5.7-3.1-11-8.1-13.9L312.1 185.3c-5-2.8-8.1-8.2-8.1-13.9V109.7c0-13.6-5.9-34.2-16.2-51.4C276.9 40.2 265.1 32 256 32c-4.1 0-9 1.7-14.8 6.3c-5.8 4.6-11.5 11.5-16.7 20z\"]\n};\nvar faFolderHeart = {\n prefix: 'fal',\n iconName: 'folder-heart',\n icon: [512, 512, [], \"e189\", \"M32 96c0-17.7 14.3-32 32-32H188.1c8.5 0 16.6 3.4 22.6 9.4l35.9 35.9c12 12 28.3 18.7 45.3 18.7H448c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V96zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H291.9c-8.5 0-16.6-3.4-22.6-9.4L233.4 50.7c-12-12-28.3-18.7-45.3-18.7H64zM176 253.3c0-16.2 13.1-29.3 29.3-29.3c7.8 0 15.2 3.1 20.7 8.6l18.7 18.7c6.2 6.2 16.4 6.2 22.6 0l18.7-18.7c5.5-5.5 12.9-8.6 20.7-8.6c16.2 0 29.3 13.1 29.3 29.3c0 7.8-3.1 15.2-8.6 20.7L256 345.4l-71.4-71.4c-5.5-5.5-8.6-12.9-8.6-20.7zM205.3 192c-33.8 0-61.3 27.4-61.3 61.3c0 16.2 6.5 31.8 17.9 43.3l82.7 82.7c6.2 6.2 16.4 6.2 22.6 0l82.7-82.7c11.5-11.5 17.9-27.1 17.9-43.3c0-33.8-27.4-61.3-61.3-61.3c-16.2 0-31.8 6.5-43.3 17.9l-7.4 7.4-7.4-7.4c-11.5-11.5-27.1-17.9-43.3-17.9z\"]\n};\nvar faCircleLocationArrow = {\n prefix: 'fal',\n iconName: 'circle-location-arrow',\n icon: [512, 512, [\"location-circle\"], \"f602\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm127.7 27c-11.7 0-21.9-8.3-24.2-19.8c-2.4-11.4 3.7-23.1 14.5-27.7L338.5 141c9.5-3.9 20.2-1.9 27.3 5.3c7.2 7.1 9.2 17.8 5.2 27.2L276.5 394c-3.9 9.1-12.9 15-22.8 15c-1.6 0-3.3-.1-4.9-.5C237.3 406.2 229 396 229 384.2V315 283H197 127.7zm35.3-32H229c17.7 0 32 14.3 32 32v66l73.5-171.4L163.1 251z\"]\n};\nvar faLocationCircle = faCircleLocationArrow;\nvar faFaceHeadBandage = {\n prefix: 'fal',\n iconName: 'face-head-bandage',\n icon: [576, 512, [], \"e37a\", \"M288 32c2.4 0 4.9 0 7.3 .1c-29.3 9.7-57.6 21.4-84.8 35c-17.1 1.4-34.1 3.2-51 5.4C195.8 47 240.2 32 288 32zm80.1-19.2C342.9 4.5 316 0 288 0C213.6 0 146.6 31.8 99.8 82.4c-12.5 2.5-25 5.2-37.3 8.2c-8.2 2-15.3 7.1-19.7 14.3C26.9 130.6 15 158.9 7.8 189c-2.4 10.2 .3 20.9 7.2 28.7c-2.5 2.8-4.9 5.6-7.3 8.5c-4.7 5.5-7.3 12.4-7.6 19.6C.1 249.2 0 252.6 0 256c0 31.4 5 61.7 14.4 90.1c3.8 11.6 13.9 20 26 21.7s24.1-3.7 30.9-13.8c31.3-46.3 69.9-87.2 114.1-121c-.7 2.2-1.1 4.6-1.1 7.1c0 13.3 10.7 24 24 24s24-10.7 24-24c0-13.1-10.5-23.7-23.5-24c12-8.2 24.4-15.8 37.2-23c13.9-.7 27.9-1 41.9-1c83.4 0 163.9 12.3 239.8 35.1c11 3.3 22.8 .5 31.2-7.4s11.8-19.6 9.2-30.7c-7.2-30.1-19.1-58.4-34.9-84.1c-3.3-5.3-8-9.5-13.5-12.1c-.6-6-2.9-11.9-6.9-16.8c-21.2-26.5-47-49.1-76.2-66.8c-6.1-3.7-13.4-5.2-20.5-4.4c-16.2 2-32.2 4.6-48.1 7.9zM506.3 122.2c7.3 11.9 13.7 24.4 19 37.5c4.8 11.8 8.7 24.1 11.7 36.7c-11.9-3.6-23.9-6.9-36-10c-59.4-15.1-121.2-24-184.8-26c-.3 0-.5 0-.8 0c-9.1-.3-18.3-.4-27.5-.4c-17.1 0-34.1 .5-51 1.5c-48.2 2.8-95.4 9.6-141.2 20c-7 1.6-13.9 3.3-20.9 5c-12.1 3.1-24.1 6.4-36 10c.5-2 1-4 1.5-6c2.8-10.5 6.2-20.8 10.2-30.7c5.4-13.3 11.8-26 19.3-38c23.2-5.6 46.8-10.3 70.7-14.1c0 0 0 0 0 0c.8-.1 1.6-.3 2.5-.4c25-3.9 50.4-6.9 76.1-8.7c0 0 0 0 0 0s0 0 0 0C241.9 96.8 264.9 96 288 96c40 0 79.3 2.5 118 7.4c2.2 .3 4.4 .6 6.6 .9c31.7 4.3 62.9 10.1 93.5 17.5c.1 .2 .2 .3 .3 .5zM177 199.3c-40.6 29.4-77 64.4-108 103.7c-8.5 10.7-16.5 21.7-24.2 33.1c-4.4-13.3-7.7-27.1-9.9-41.3C33 282.1 32 269.2 32 256c0-3 .1-6.1 .2-9.1c5.9-7 12-13.8 18.2-20.5c41-12.2 83.3-21.3 126.6-27.1zM300.6 64.1c38.3-13 78.3-22.2 119.5-27.4c13.7 8.3 26.6 17.9 38.5 28.5c6.1 5.5 11.9 11.2 17.5 17.2C419.3 71.1 360.6 64.9 300.6 64.1zm242.8 209c.6-8.8-6.1-16.4-14.9-17s-16.4 6.1-17 14.9C503.8 387.7 406.7 480 288 480c-73.3 0-138.3-35.2-179.2-89.6c-5.3-7.1-15.3-8.5-22.4-3.2s-8.5 15.3-3.2 22.4C129.9 471.8 204.2 512 288 512c135.7 0 246.7-105.5 255.4-238.9zM373.2 397.5c6.5 5.9 16.7 5.5 22.6-1.1s5.5-16.7-1.1-22.6C373.2 354.3 340.2 336 296 336c-16.4 0-31.4 2.5-44.8 6.8c-8.4 2.7-13.1 11.6-10.5 20.1s11.6 13.1 20.1 10.5c10.4-3.3 22.1-5.3 35.2-5.3c34.8 0 60.4 14.2 77.2 29.5zM392.4 240a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faSushiRoll = {\n prefix: 'fal',\n iconName: 'sushi-roll',\n icon: [448, 512, [\"maki-roll\", \"makizushi\"], \"e48b\", \"M448 136c0-22.4-12.2-39.9-25.9-52C408.5 71.9 390.5 62.4 371 55.1C331.8 40.4 279.8 32 224 32s-107.8 8.4-147 23.1C57.5 62.4 39.5 71.9 25.9 84C12.2 96.1 0 113.6 0 136V352c0 45.2 35.8 77.4 73.9 96.5C114 468.5 167.1 480 224 480s110-11.5 150.1-31.5C412.2 429.4 448 397.2 448 352V136zm-32 0c0 14.8-11.9 28.6-32.3 40c-89.2-.1-143.5-58.9-143.7-111.8c98.6 3 176 34 176 71.8zM32 136c0-37.7 77.4-68.7 176-71.8c0 12.5 2.1 24.9 6 36.7c-17.9 4.6-39.3 11.9-60.8 22.7c-26.7 13.4-54.4 32.6-75.2 59.1C49.3 170.2 32 153.9 32 136zm78.4 58.1c16.1-17.5 36.3-31.3 57.2-41.8c22-11 43.8-18 60.5-21.8c19.3 30.3 51.4 55 92 67.8C291.8 204.5 259 208 224 208c-42.5 0-81.8-5.2-113.6-13.9zM32 193c12.7 9.7 28.3 17.6 45 23.8c39.2 14.7 91.2 23.1 147 23.1s107.8-8.4 147-23.1c16.7-6.3 32.3-14.1 45-23.8V352c0 53-86 96-192 96s-192-43-192-96V193z\"]\n};\nvar faMakiRoll = faSushiRoll;\nvar faMakizushi = faSushiRoll;\nvar faCarBump = {\n prefix: 'fal',\n iconName: 'car-bump',\n icon: [640, 512, [], \"f5e0\", \"M131.7 88.2L304.3 41.9c20.5-5.5 42.1 3.1 53.3 21.1l48.2 78c-4.6 .5-9.3 1.4-14 2.7L106.9 220c-4.7 1.2-9.1 2.8-13.4 4.7l2.7-91.6c.6-21.2 15.1-39.5 35.6-44.9zM60.9 243.3l-.1 4.8C39.5 271.5 30.2 304.8 39 337.6l22 82.1L65.3 436l0 0 15.8 58.8c2.2 8.1 10.5 12.9 18.6 10.8s12.9-10.5 10.8-18.6L98.7 442.8l1.5-.4L508.7 332.9l1.5-.4L522 376.6c2.2 8.1 10.5 12.9 18.6 10.8s12.9-10.5 10.8-18.6l-11.8-44.1 0 0-8.3-30.9-22-82.1c-8.8-32.8-33.5-57-63.6-66.6l-2.5-4L384.8 46.2C366.2 16.2 330.1 1.9 296 11L123.4 57.2c-34.1 9.1-58.2 39.6-59.3 74.9L60.9 243.3zm54.3 7.6L400 174.6c34.1-9.1 69.2 11.1 78.4 45.3l22 82.1L91.9 411.5l-22-82.1c-9.1-34.1 11.1-69.2 45.3-78.4zm42.2 58a22.8 22.8 0 1 0 -44.1 11.8 22.8 22.8 0 1 0 44.1-11.8zM420.4 262a22.8 22.8 0 1 0 -11.8-44.1A22.8 22.8 0 1 0 420.4 262zm43.4 236.2c4.1-28.4 28.5-50.3 58.1-50.3s54 21.8 58.1 50.3c1.3 8.7 9.4 14.8 18.1 13.6s14.8-9.4 13.6-18.1c-6.3-44-44.1-77.7-89.8-77.7s-83.5 33.8-89.7 77.7c-1.3 8.7 4.8 16.9 13.6 18.1s16.9-4.8 18.1-13.6z\"]\n};\nvar faPiggyBank = {\n prefix: 'fal',\n iconName: 'piggy-bank',\n icon: [576, 512, [], \"f4d3\", \"M272 32c34.8 0 64.5 22.2 75.5 53.3c2.9 8.3 12.1 12.7 20.4 9.8s12.7-12.1 9.8-20.4C362.3 31.2 320.8 0 272 0C216.5 0 170.4 40.4 161.5 93.4c-1.5 8.7 4.4 17 13.1 18.4s17-4.4 18.4-13.1C199.5 60.8 232.4 32 272 32zM55.2 190.3c7.9-4 11.1-13.6 7.2-21.5s-13.6-11.1-21.5-7.2L36.2 164C14 175.1 0 197.8 0 222.6c0 35.7 28.5 64.7 64 65.4c0 0 0 0 0 0c0 52.4 25.2 98.8 64 128v48c0 26.5 21.5 48 48 48h32c26.5 0 48-21.5 48-48V448h64v16c0 26.5 21.5 48 48 48h32c26.5 0 48-21.5 48-48V434.7c25.5-11.1 47.5-28.7 64-50.7h32c17.7 0 32-14.3 32-32V256c0-17.7-14.3-32-32-32H530.7c-10.7-24.6-27.4-45.9-48.3-62.2l7.2-25C495.4 116.3 480 96 458.8 96H456c-30.5 0-58.2 12.2-78.4 32H224c-77.4 0-142 55-156.8 128H65.4C47 256 32 241 32 222.6c0-12.7 7.2-24.2 18.5-29.9l4.7-2.3zM424 288a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM396.4 154.7C411 138.3 432.3 128 456 128h2.8l-10.2 35.8c-1.9 6.7 .7 13.8 6.5 17.7c22.8 15.2 40.4 37.6 49.7 63.8c2.3 6.4 8.3 10.7 15.1 10.7H544v96H503.8c-5.3 0-10.3 2.7-13.3 7.1c-15.2 22.8-37.6 40.4-63.8 49.6C420.3 411 416 417 416 423.8V464c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16V432c0-8.8-7.2-16-16-16H240c-8.8 0-16 7.2-16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V407.8c0-5.3-2.7-10.3-7.1-13.3C118.6 371.5 96 332.4 96 288c0-70.7 57.3-128 128-128H384h0l.4 0c4.6 0 8.9-1.9 11.9-5.3z\"]\n};\nvar faRacquet = {\n prefix: 'fal',\n iconName: 'racquet',\n icon: [512, 512, [], \"f45a\", \"M349 32c35.5 0 69 12.2 93.9 37.1S480 127.5 480 163c0 45.1-19.6 93.4-57.6 131.4c-68.1 68.1-168.9 76.9-225.3 20.5C172.2 290 160 256.5 160 221c0-45.1 19.6-93.4 57.6-131.4S303.9 32 349 32zm0-32c-54.2 0-110.5 23.4-154 66.9s-67 99.8-66.9 154c0 28.2 6.4 56 19.7 80.7c7.8 14.4 7.2 32.8-4.4 44.4l-12 12-4.7-4.7c-12.5-12.5-32.8-12.5-45.3 0l-72 72c-12.5 12.5-12.5 32.8 0 45.3l32 32c12.5 12.5 32.8 12.5 45.3 0l72-72c12.5-12.5 12.5-32.8 0-45.3l-4.7-4.7 11.9-11.9c11.6-11.6 30-12.2 44.4-4.3c72.5 39.4 169.9 17.5 234.7-47.4c43.6-43.6 67-99.8 66.9-154c0-42.8-14.8-84.9-46.5-116.6S391.8 0 349 0zM104 376l32 32L64 480 32 448l72-72z\"]\n};\nvar faCarMirrors = {\n prefix: 'fal',\n iconName: 'car-mirrors',\n icon: [576, 512, [], \"e343\", \"M191.6 64c-21.2 0-39.9 13.9-46 34.2l-28.3 94.4c3.5-.4 7.1-.6 10.7-.6H448c3.6 0 7.2 .2 10.7 .6L430.4 98.2c-6.1-20.3-24.8-34.2-46-34.2H191.6zM106.7 227.9l-.5-.1C81.6 236.7 64 260.3 64 288v96H512V288c0-27.7-17.6-51.3-42.3-60.2l-.5 .1-.1-.3c-6.6-2.3-13.8-3.6-21.2-3.6H128c-7.4 0-14.5 1.3-21.2 3.6l-.1 .3zM56.4 224H32c-8.8 0-16-7.2-16-16s7.2-16 16-16H84.1L115 89c10.2-33.8 41.3-57 76.6-57H384.4c35.3 0 66.5 23.2 76.6 57l30.9 103H544c8.8 0 16 7.2 16 16s-7.2 16-16 16H519.6c15.2 17 24.4 39.4 24.4 64v96 16 16 48c0 8.8-7.2 16-16 16s-16-7.2-16-16V416H64v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V416 400 384 288c0-24.6 9.2-47 24.4-64zM112 296a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm328-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faIndustryWindows = {\n prefix: 'fal',\n iconName: 'industry-windows',\n icon: [576, 512, [127981, \"industry-alt\"], \"f3b3\", \"M64 80c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16V229.3c0 5.9 3.2 11.3 8.5 14.1s11.5 2.5 16.4-.8l138.7-92.5c5.3-3.5 12.4 .3 12.4 6.7v81.9c0 6 3.4 11.5 8.7 14.2s11.8 2.3 16.6-1.3l138-99.3c5.3-3.8 12.7 0 12.7 6.5V304v16 96c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V352 304 80zM80 32C53.5 32 32 53.5 32 80V304v48 64c0 35.3 28.7 64 64 64H480c35.3 0 64-28.7 64-64V320 304 158.9c0-32.6-36.9-51.5-63.4-32.5L368 207.5V156.8c0-31.9-35.6-51-62.2-33.3L192 199.4V80c0-26.5-21.5-48-48-48H80zm56 272c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V328c0-13.3-10.7-24-24-24H136zm104 24v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V328c0-13.3-10.7-24-24-24H264c-13.3 0-24 10.7-24 24zm32 40V336h32v32H272zm120-64c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V328c0-13.3-10.7-24-24-24H392zm40 64H400V336h32v32zm-288 0V336h32v32H144z\"]\n};\nvar faIndustryAlt = faIndustryWindows;\nvar faBoltAuto = {\n prefix: 'fal',\n iconName: 'bolt-auto',\n icon: [576, 512, [], \"e0b6\", \"M291.4 0c-6.1 0-12 2.2-16.5 6.3L8.7 242.9C3.2 247.8 0 254.8 0 262.2C0 276.4 11.6 288 25.8 288H137.3L69.2 478.7C63.4 494.9 75.4 512 92.6 512c6.1 0 11.9-2.2 16.5-6.2L374.9 271.3c5.8-5.1 9.1-12.5 9.1-20.3c0-14.9-12.1-27-27-27H246.7L314.8 33.3C320.6 17.1 308.6 0 291.4 0zM42.1 256L275.3 48.7l-66.4 186c-1.8 4.9-1 10.3 2 14.6s7.9 6.8 13.1 6.8H343.8L108.6 463.6l66.5-186.2c1.8-4.9 1-10.3-2-14.6s-7.9-6.8-13.1-6.8H42.1zM464 288c-6.1 0-11.6 3.4-14.3 8.8l-96 192c-4 7.9-.7 17.5 7.2 21.5s17.5 .7 21.5-7.2L401.9 464H526.1l19.6 39.2c4 7.9 13.6 11.1 21.5 7.2s11.1-13.6 7.2-21.5l-96-192c-2.7-5.4-8.2-8.8-14.3-8.8zm0 51.8L510.1 432H417.9L464 339.8z\"]\n};\nvar faBatteryHalf = {\n prefix: 'fal',\n iconName: 'battery-half',\n icon: [576, 512, [\"battery-3\"], \"f242\", \"M432 128c26.5 0 48 21.5 48 48V336c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48V176c0-26.5 21.5-48 48-48H432zM80 96C35.8 96 0 131.8 0 176V336c0 44.2 35.8 80 80 80H432c44.2 0 80-35.8 80-80V176c0-44.2-35.8-80-80-80H80zM576 208c0-8.8-7.2-16-16-16s-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V208zM112 192H240c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V208c0-8.8 7.2-16 16-16zm0-32c-26.5 0-48 21.5-48 48v96c0 26.5 21.5 48 48 48H240c26.5 0 48-21.5 48-48V208c0-26.5-21.5-48-48-48H112z\"]\n};\nvar faBattery3 = faBatteryHalf;\nvar faFluxCapacitor = {\n prefix: 'fal',\n iconName: 'flux-capacitor',\n icon: [448, 512, [], \"f8ba\", \"M384 64c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM292.7 255.2c3.7 .5 7.5 .8 11.3 .8c44.2 0 80-35.8 80-80s-35.8-80-80-80s-80 35.8-80 80c0-44.2-35.8-80-80-80s-80 35.8-80 80s35.8 80 80 80c3.8 0 7.6-.3 11.3-.8l-45.3-45.3c-18.7-18.7-18.7-49.1 0-67.9s49.1-18.7 67.9 0L224 188.1l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0s18.7 49.1 0 67.9l-45.3 45.3zM173.8 273.7C155.6 288.4 144 310.8 144 336c0 44.2 35.8 80 80 80s80-35.8 80-80c0-25.2-11.6-47.6-29.8-62.3l-2.2 2.2V336c0 26.5-21.5 48-48 48s-48-21.5-48-48V275.9l-2.2-2.2zm-18.5-109c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L208 262.6V336c0 8.8 7.2 16 16 16s16-7.2 16-16V262.6l75.3-75.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L224 233.4l-68.7-68.7z\"]\n};\nvar faMountainCity = {\n prefix: 'fal',\n iconName: 'mountain-city',\n icon: [640, 512, [], \"e52e\", \"M320 48c0-8.8 7.2-16 16-16H464c8.8 0 16 7.2 16 16V208c0 8.8 7.2 16 16 16h64 32c8.8 0 16 7.2 16 16V496c0 8.8 7.2 16 16 16s16-7.2 16-16V240c0-26.5-21.5-48-48-48H576V112c0-8.8-7.2-16-16-16s-16 7.2-16 16v80H512V48c0-26.5-21.5-48-48-48H336c-26.5 0-48 21.5-48 48v92.1l32 53V48zM226 161.2L302.5 288H223c-5 0-9.8 2.4-12.8 6.4l-34.7 46.2-33-47.7L222 161.2c.5-.9 1.3-1.2 2-1.2s1.5 .3 2 1.2zM32.5 475.4l92-152.4 37.4 54.1c2.9 4.2 7.7 6.8 12.9 6.9s10-2.3 13.1-6.4L231 320h90.8l93.8 155.4c.6 1 .6 2.2 .1 3.3c-.5 1-1.4 1.3-2.1 1.3H34.5c-.7 0-1.5-.4-2.1-1.3c-.6-1-.5-2.3 .1-3.3zM253.4 144.7C247.1 134.3 236 128 224 128s-23.1 6.3-29.4 16.7L5.1 458.9c-6.5 10.8-6.7 24.3-.7 35.3S22 512 34.5 512H413.5c12.5 0 24-6.8 30.1-17.8s5.8-24.5-.7-35.3L253.4 144.7zM352 96v32c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H384c-17.7 0-32 14.3-32 32zm64 0v32H384V96h32zm-32 96c-8.8 0-16 7.2-16 16s7.2 16 16 16h32v32c0 8.8 7.2 16 16 16s16-7.2 16-16V224c0-17.7-14.3-32-32-32H384zm96 96v32c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V288c0-17.7-14.3-32-32-32H512c-17.7 0-32 14.3-32 32zm64 0v32H512V288h32zm-32 96c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V416c0-17.7-14.3-32-32-32H512zm0 32h32v32H512V416z\"]\n};\nvar faCoins = {\n prefix: 'fal',\n iconName: 'coins',\n icon: [512, 512, [], \"f51e\", \"M160 80c0 2.4 1.3 6.8 8.3 12.8c1.4 1.2 2.9 2.4 4.6 3.6c-15.4 .6-30.4 1.9-44.9 3.9V80c0-15.3 8.6-27.7 19.4-37c10.9-9.4 25.7-17.1 42.7-23.2C224.1 7.3 270 0 320 0s95.9 7.3 129.9 19.7c16.9 6.2 31.8 13.9 42.7 23.2C503.4 52.3 512 64.7 512 80l0 104 0 0 0 113.9c0 15.4-8.2 28.2-19.1 38s-25.7 17.9-42.7 24.4c-10.4 3.9-21.8 7.4-34.1 10.3v-33c8.2-2.2 15.8-4.6 22.8-7.2c14.9-5.7 25.8-12 32.7-18.2s8.5-11.1 8.5-14.2V231.7c-8.7 5.6-18.8 10.5-29.9 14.7c-10.4 3.9-21.8 7.4-34.1 10.3v-33c8.2-2.2 15.8-4.6 22.8-7.2c14.9-5.7 25.8-12 32.7-18.2s8.5-11.1 8.5-14.2V126.1c-8.8 5.4-19 10.1-30.1 14.1c-17.3 6.3-37.6 11.3-60 14.6c-1.9-1.9-3.8-3.8-5.7-5.5c-10.1-9.1-21.7-16.4-33.8-22.5c34.8-2.3 65.4-8.4 88.5-16.8c14.9-5.4 25.8-11.5 32.8-17.4c7-6 8.3-10.4 8.3-12.8s-1.3-6.8-8.3-12.8c-6.9-5.9-17.8-12-32.8-17.4C409.3 39 367.2 32 320 32s-89.3 7-119 17.8c-14.9 5.4-25.8 11.5-32.8 17.4c-7 6-8.3 10.4-8.3 12.8zM32 208c0 2.4 1.3 6.8 8.3 12.8c6.9 5.9 17.8 12 32.8 17.4C102.7 249 144.8 256 192 256s89.3-7 119-17.8c14.9-5.4 25.8-11.5 32.8-17.4c7-6 8.3-10.4 8.3-12.8s-1.3-6.8-8.3-12.8c-6.9-5.9-17.8-12-32.8-17.4C281.3 167 239.2 160 192 160s-89.3 7-119 17.8c-14.9 5.4-25.8 11.5-32.8 17.4c-7 6-8.3 10.4-8.3 12.8zM0 208c0-15.3 8.6-27.7 19.4-37c10.9-9.4 25.7-17.1 42.7-23.2C96.1 135.3 142 128 192 128s95.9 7.3 129.9 19.7c16.9 6.2 31.8 13.9 42.7 23.2c10.9 9.3 19.4 21.8 19.4 37l0 104 0 0 0 113.9c0 15.4-8.2 28.2-19.1 38s-25.7 17.9-42.7 24.4C288.1 501.3 242 509 192 509s-96.1-7.7-130.1-20.7c-17-6.5-31.8-14.6-42.7-24.4S0 441.3 0 425.9V312 208zm352 46.1c-8.8 5.4-19 10.1-30.1 14.1C287.9 280.7 242 288 192 288s-95.9-7.3-129.9-19.7c-11.1-4-21.3-8.7-30.1-14.1V312c0 3.1 1.6 8 8.5 14.2s17.8 12.6 32.7 18.2C102.9 355.7 144.8 363 192 363s89.1-7.3 118.8-18.6c14.9-5.7 25.8-12 32.7-18.2s8.5-11.1 8.5-14.2V254.1zM32 425.9c0 3.1 1.6 8 8.5 14.2s17.8 12.6 32.7 18.2C102.9 469.6 144.8 477 192 477s89.1-7.3 118.8-18.6c14.9-5.7 25.8-12 32.7-18.2s8.5-11.1 8.5-14.2V359.7c-8.7 5.6-18.8 10.5-29.9 14.7C288.1 387.4 242 395 192 395s-96.1-7.7-130.1-20.7c-11-4.2-21.1-9.1-29.9-14.7v66.2z\"]\n};\nvar faHoneyPot = {\n prefix: 'fal',\n iconName: 'honey-pot',\n icon: [448, 512, [127855], \"e418\", \"M128 64h32v80c0 8.8 7.2 16 16 16s16-7.2 16-16V64h32H368c8.8 0 16 7.2 16 16s-7.2 16-16 16H320 224v32h96c53 0 96 43 96 96H32c0-53 43-96 96-96V96H80c-8.8 0-16-7.2-16-16s7.2-16 16-16h48zM447.8 237.2c.2-4.3 .2-8.7 .2-13.2c0-42.9-21.1-80.8-53.4-104c12.9-8.6 21.4-23.3 21.4-40c0-26.5-21.5-48-48-48H176 80C53.5 32 32 53.5 32 80c0 16.7 8.5 31.4 21.4 40C21.1 143.2 0 181.1 0 224c0 4.5 .1 8.9 .2 13.2C.1 238.1 0 239 0 240c0 1.5 .2 2.9 .6 4.3c7.2 126.3 80.7 199 112.7 224.9c9.3 7.5 21.1 10.9 33.1 10.9H301.6c12 0 23.7-3.3 33.1-10.9c32-25.9 105.5-98.6 112.7-224.9c.4-1.4 .6-2.8 .6-4.3c0-1-.1-1.9-.2-2.8zM414.4 256c-2.4 23.5-7.3 44.9-13.9 64c-.2 0-.3 0-.5 0H48c-.2 0-.3 0-.5 0C41 300.9 36 279.5 33.6 256H414.4zm-27.1 96c-23.4 47.9-55.2 78.1-72.7 92.3c-2.5 2-6.7 3.7-12.9 3.7H146.4c-6.3 0-10.5-1.7-12.9-3.7c-17.5-14.1-49.4-44.4-72.7-92.3H387.3z\"]\n};\nvar faOlive = {\n prefix: 'fal',\n iconName: 'olive',\n icon: [448, 512, [], \"e316\", \"M160 448C89.3 448 32 390.7 32 320c0-84.8 39.8-148.3 91.7-191.4C176.5 84.7 239.5 64 280 64c18.4 0 39.8 9.7 59.3 22.6c9.2 6.1 16.9 12.3 22.3 16.9c2.7 2.3 4.8 4.2 6.1 5.4c.7 .6 1.2 1.1 1.5 1.4l.3 .3 .3 .3c.3 .3 .7 .8 1.4 1.5c1.3 1.3 3.1 3.4 5.4 6.1c4.6 5.4 10.8 13.1 16.9 22.3C406.3 160.2 416 181.6 416 200c0 40.5-20.7 103.5-64.6 156.3C308.3 408.2 244.8 448 160 448zM0 320c0 88.4 71.6 160 160 160c192 0 288-181.9 288-280c0-56-56-112-56-112s-56-56-112-56C181.9 32 0 128 0 320zM260.4 132.4c3.6-3.6 11.2-6.2 24.2-3c12.6 3.2 27.6 11.5 41 24.9s21.8 28.4 24.9 41c3.2 13 .6 20.6-3 24.2s-11.2 6.2-24.2 3c-12.6-3.2-27.6-11.5-41-24.9s-21.8-28.4-24.9-41c-3.2-13-.6-20.6 3-24.2zm87.8-.7c-16.9-16.9-36.7-28.6-55.9-33.4c-18.8-4.7-39.9-3.2-54.5 11.4s-16.1 35.8-11.4 54.5c4.8 19.1 16.5 39 33.4 55.9s36.7 28.6 55.9 33.4c18.8 4.7 39.9 3.2 54.5-11.4s16.1-35.8 11.4-54.5c-4.8-19.1-16.5-39-33.4-55.9z\"]\n};\nvar faKhanda = {\n prefix: 'fal',\n iconName: 'khanda',\n icon: [512, 512, [9772], \"f66d\", \"M266.2 3.7c-5.9-4.9-14.6-4.9-20.5 0l-48 40c-5.9 4.9-7.5 13.2-3.8 19.9l0 0 0 0 0 0 .1 .1 .3 .6c.3 .5 .7 1.3 1.2 2.3c1 2 2.6 5 4.4 8.6c.5 .9 .9 1.9 1.4 2.9C167.1 97.4 144 134 144 176s23.1 78.6 57.3 97.8c-.5 1-1 2-1.4 2.9c-1.8 3.7-3.3 6.6-4.4 8.6c-.5 1-.9 1.8-1.2 2.3l-.3 .6-.1 .1 0 0 0 0 0 0c-3.6 6.7-2 15 3.8 19.9L240 343.5v19.1l-34.6-23.8-41.1-28.2c-42.8-29.4-68.4-78-68.4-130c0-31.1 9.2-61.6 26.5-87.5l2.8-4.2c4-6 3.5-14-1.3-19.5s-12.7-7-19.2-3.7L112 80c-7.2-14.3-7.2-14.3-7.2-14.3l0 0 0 0-.1 0-.3 .2-1 .5c-.8 .4-2 1.1-3.5 1.9C97 70 93 72.5 88.1 75.7c-9.7 6.4-22.5 16.1-35.4 29C26.9 130.4 0 170.3 0 224c0 53.1 26.4 100.5 51.2 133.6c12.6 16.7 25.1 30.3 34.5 39.7c4.7 4.7 8.7 8.4 11.5 10.9c1.4 1.3 2.5 2.2 3.3 2.9l.9 .8 .3 .2 .1 .1 0 0 0 0s0 0 10.3-12.3l-10.2 12.3c5.1 4.3 12.4 4.9 18.2 1.6l75.6-43 32.7 22.5-45.8 31.5c-2.1-.6-4.2-.9-6.5-.9c-13.3 0-24 10.7-24 24s10.7 24 24 24c11.9 0 21.8-8.7 23.7-20.1L240 424.1v28.1c-9.6 5.5-16 15.9-16 27.7c0 17.7 14.3 32 32 32s32-14.3 32-32c0-11.8-6.4-22.2-16-27.7V423.4L312.2 451c1.5 11.8 11.6 21 23.8 21c13.3 0 24-10.7 24-24s-10.7-24-24-24c-2 0-3.9 .2-5.7 .7l-45.5-31.3 32.7-22.5 75.6 43c5.8 3.3 13 2.7 18.2-1.6L401.1 400c10.2 12.3 10.2 12.3 10.2 12.3l0 0 0 0 .1-.1 .3-.2 .9-.8c.8-.7 1.9-1.7 3.3-2.9c2.8-2.5 6.7-6.2 11.5-10.9c9.4-9.4 21.9-23 34.5-39.7c24.8-33.1 51.2-80.5 51.2-133.6c0-53.7-26.9-93.6-52.7-119.3c-12.9-12.9-25.8-22.6-35.4-29c-4.8-3.2-8.9-5.7-11.8-7.3c-1.5-.8-2.6-1.5-3.5-1.9l-1-.5-.3-.2-.1 0 0 0 0 0s0 0-7.2 14.3l7.2-14.3c-6.5-3.2-14.3-1.7-19.2 3.7s-5.3 13.4-1.3 19.5l2.8 4.2c17.3 25.9 26.5 56.4 26.5 87.5c0 51.9-25.6 100.6-68.4 130l-41.1 28.2L272 363.3V343.5l42.2-35.2c5.9-4.9 7.5-13.2 3.8-19.9l0 0 0 0-.1-.1-.3-.6c-.3-.5-.7-1.3-1.2-2.3c-1-2-2.6-5-4.4-8.6c-.5-.9-.9-1.9-1.4-2.9C344.9 254.6 368 218 368 176s-23.1-78.6-57.3-97.8c.5-1 1-2 1.4-2.9c1.8-3.7 3.3-6.6 4.4-8.6c.5-1 .9-1.8 1.2-2.3l.3-.6 .1-.1 0 0 0 0 0 0 0 0c3.6-6.7 2-15-3.8-19.9l-48-40zm31.3 103.9c23 14 38.4 39.4 38.4 68.4s-15.4 54.3-38.4 68.4C288.1 221 280 195 280 176s8.1-45 17.6-68.4zM214.4 244.4c-23-14-38.4-39.4-38.4-68.4s15.4-54.3 38.4-68.4C223.9 131 232 157 232 176s-8.1 45-17.6 68.4zM228.6 61.2l-.5-1.1L256 36.8l27.9 23.3-.5 1.1c-3.9 7.8-9 18.8-14.2 31.3c-4.6 11-9.3 23.7-13.2 36.8c-3.9-13.1-8.7-25.8-13.2-36.8C237.6 80 232.5 69 228.6 61.2zm14.2 198.4c4.6-11 9.3-23.7 13.2-36.8c3.9 13.1 8.7 25.8 13.2 36.8c5.2 12.5 10.3 23.5 14.2 31.3l.5 1.1L256 315.2l-27.9-23.3 .5-1.1c3.9-7.8 9-18.8 14.2-31.3zM70.2 132.7c-4.1 15.6-6.2 31.7-6.2 47.9c0 62.5 30.8 121 82.2 156.4l20 13.8-52.1 29.7c-1.7-1.6-3.7-3.5-5.8-5.7c-8.6-8.6-20.1-21-31.5-36.3C53.6 307.5 32 266.9 32 224c0-39 17.9-69.4 38.2-91.3zM481.1 224c0 42.9-21.6 83.5-44.8 114.4c-11.4 15.3-22.9 27.7-31.5 36.3c-2.1 2.1-4.1 4-5.8 5.7l-52.1-29.7 20-13.8c51.5-35.4 82.2-93.9 82.2-156.4c0-16.3-2.1-32.4-6.2-47.9c20.2 21.9 38.2 52.3 38.2 91.3z\"]\n};\nvar faFilterList = {\n prefix: 'fal',\n iconName: 'filter-list',\n icon: [512, 512, [], \"e17c\", \"M27.6 64C12.4 64 0 76.4 0 91.6c0 6.7 2.4 13.2 6.8 18.2L112 230V360c0 10 4.7 19.5 12.7 25.5l76.2 57.5c4.2 3.2 9.4 4.9 14.7 4.9c13.5 0 24.4-10.9 24.4-24.4V230L345.2 109.8c4.4-5 6.8-11.5 6.8-18.2C352 76.4 339.6 64 324.4 64H27.6zM140 213.5L37.3 96H314.7L212 213.5c-2.6 2.9-4 6.7-4 10.5V408.3L144 360V224c0-3.9-1.4-7.6-4-10.5zM336 400c-8.8 0-16 7.2-16 16s7.2 16 16 16H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H336zM320 256c0 8.8 7.2 16 16 16H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H336c-8.8 0-16 7.2-16 16zM400 80c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H400z\"]\n};\nvar faOutlet = {\n prefix: 'fal',\n iconName: 'outlet',\n icon: [448, 512, [], \"e01c\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM96 256c0 49.2 24.6 79.3 39.5 93.1c1.2 1.1 4.3 2.9 10.9 2.9H301.6c6.6 0 9.7-1.8 10.9-2.9C327.4 335.3 352 305.2 352 256s-24.6-79.3-39.5-93.1c-1.2-1.1-4.3-2.9-10.9-2.9H146.4c-6.6 0-9.7 1.8-10.9 2.9C120.6 176.7 96 206.8 96 256zm-32 0c0-61.1 30.8-99.1 49.7-116.6c8.8-8.2 20.7-11.4 32.6-11.4H301.6c12 0 23.9 3.3 32.6 11.4C353.2 156.9 384 194.9 384 256s-30.8 99-49.7 116.6c-8.8 8.2-20.7 11.4-32.6 11.4H146.4c-12 0-23.9-3.3-32.6-11.4C94.8 355 64 317.1 64 256zm112-64c8.8 0 16 7.2 16 16v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V208c0-8.8 7.2-16 16-16zm96 0c8.8 0 16 7.2 16 16v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V208c0-8.8 7.2-16 16-16zm-48 96c13.3 0 24 10.7 24 24v16c0 4.4-3.6 8-8 8H208c-4.4 0-8-3.6-8-8V312c0-13.3 10.7-24 24-24z\"]\n};\nvar faSliders = {\n prefix: 'fal',\n iconName: 'sliders',\n icon: [512, 512, [\"sliders-h\"], \"f1de\", \"M0 416c0 8.8 7.2 16 16 16l65.6 0c7.4 36.5 39.7 64 78.4 64s71-27.5 78.4-64L496 432c8.8 0 16-7.2 16-16s-7.2-16-16-16l-257.6 0c-7.4-36.5-39.7-64-78.4-64s-71 27.5-78.4 64L16 400c-8.8 0-16 7.2-16 16zm112 0a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM304 256a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm48-80c-38.7 0-71 27.5-78.4 64L16 240c-8.8 0-16 7.2-16 16s7.2 16 16 16l257.6 0c7.4 36.5 39.7 64 78.4 64s71-27.5 78.4-64l65.6 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-65.6 0c-7.4-36.5-39.7-64-78.4-64zM192 144a48 48 0 1 1 0-96 48 48 0 1 1 0 96zm78.4-64C263 43.5 230.7 16 192 16s-71 27.5-78.4 64L16 80C7.2 80 0 87.2 0 96s7.2 16 16 16l97.6 0c7.4 36.5 39.7 64 78.4 64s71-27.5 78.4-64L496 112c8.8 0 16-7.2 16-16s-7.2-16-16-16L270.4 80z\"]\n};\nvar faSlidersH = faSliders;\nvar faCauldron = {\n prefix: 'fal',\n iconName: 'cauldron',\n icon: [448, 512, [], \"f6bf\", \"M160 56a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm96 24a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm64 0a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM60.1 244.9C72 223 85.2 204.3 94.9 192H224 353.1c9.7 12.3 22.9 31 34.8 52.9C404.3 275 416 307.1 416 334.4c0 45.1-21.4 80.4-56.1 105.5C324.5 465.5 275.4 480 224 480s-100.5-14.5-135.9-40.1C53.4 414.8 32 379.5 32 334.4c0-27.3 11.7-59.4 28.1-89.5zM55.2 192C30.2 228.1 0 283.9 0 334.4c0 37.4 11.9 69.4 32 95.5V496c0 8.8 7.2 16 16 16s16-7.2 16-16V461.8C106.3 494.6 164.6 512 224 512s117.7-17.4 160-50.2V496c0 8.8 7.2 16 16 16s16-7.2 16-16V429.9c20.1-26.1 32-58.1 32-95.5c0-50.5-30.2-106.3-55.2-142.4H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H368 224 80 16c-8.8 0-16 7.2-16 16s7.2 16 16 16H55.2z\"]\n};\nvar faPeople = {\n prefix: 'fal',\n iconName: 'people',\n icon: [640, 512, [], \"e216\", \"M136 56a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm80 0A56 56 0 1 0 104 56a56 56 0 1 0 112 0zM147.3 160h25.4c6.8 0 13.3 1.4 19.3 4V320H128V164c6-2.6 12.5-4 19.3-4zM128 496V352h64V496c0 8.8 7.2 16 16 16s16-7.2 16-16V202.2l49.9 93.4c4.2 7.8 13.9 10.7 21.7 6.6s10.7-13.9 6.6-21.7L243.3 170.3c-13.9-26-41-42.3-70.6-42.3H147.3c-29.5 0-56.7 16.3-70.6 42.3L17.9 280.5c-4.2 7.8-1.2 17.5 6.6 21.7s17.5 1.2 21.7-6.6L96 202.1V496c0 8.8 7.2 16 16 16s16-7.2 16-16zM456 56a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm80 0A56 56 0 1 0 424 56a56 56 0 1 0 112 0zM446.3 263.2c4-7.9 .7-17.5-7.2-21.5s-17.5-.7-21.5 7.2l-64 128c-2.5 5-2.2 10.9 .7 15.6s8.1 7.6 13.6 7.6h48v96c0 8.8 7.2 16 16 16s16-7.2 16-16V400h64v96c0 8.8 7.2 16 16 16s16-7.2 16-16V400h48c5.5 0 10.7-2.9 13.6-7.6s3.2-10.6 .7-15.6l-64-128c-4-7.9-13.6-11.1-21.5-7.2s-11.1 13.6-7.2 21.5L566.1 368H528 432 393.9l52.4-104.8zM480 160c25.5 0 49 14.1 61 36.6l52.9 98.9c4.2 7.8 13.9 10.7 21.7 6.6s10.7-13.9 6.6-21.7l-52.9-98.9C551.7 148.6 517.3 128 480 128s-71.7 20.6-89.3 53.5l-52.9 98.9c-4.2 7.8-1.2 17.5 6.6 21.7s17.5 1.2 21.7-6.6L419 196.6c12-22.5 35.5-36.6 61-36.6z\"]\n};\nvar faFolderTree = {\n prefix: 'fal',\n iconName: 'folder-tree',\n icon: [576, 512, [], \"f802\", \"M32 16C32 7.2 24.8 0 16 0S0 7.2 0 16v96V368c0 26.5 21.5 48 48 48H256V384H48c-8.8 0-16-7.2-16-16V128H256V96H32V16zM394.7 32l21.7 21.7C423 60.3 432 64 441.3 64H544V192H320V32l74.7 0zM288 32V192c0 17.7 14.3 32 32 32H544c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H441.3c-.8 0-1.7-.3-2.3-.9L417.4 9.4c-6-6-14.1-9.4-22.6-9.4H320c-17.7 0-32 14.3-32 32zm32 288h74.7l21.7 21.7C423 348.3 432 352 441.3 352H544V480H320V320zm-32 0V480c0 17.7 14.3 32 32 32H544c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32H441.3c-.8 0-1.7-.3-2.3-.9l-21.7-21.7c-6-6-14.1-9.4-22.6-9.4H320c-17.7 0-32 14.3-32 32z\"]\n};\nvar faNetworkWired = {\n prefix: 'fal',\n iconName: 'network-wired',\n icon: [640, 512, [], \"f6ff\", \"M400 32c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16H336 304 240c-8.8 0-16-7.2-16-16V48c0-8.8 7.2-16 16-16H400zM336 192h64c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H240c-26.5 0-48 21.5-48 48v96c0 26.5 21.5 48 48 48h64v48H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H144v48H80c-26.5 0-48 21.5-48 48v96c0 26.5 21.5 48 48 48H240c26.5 0 48-21.5 48-48V368c0-26.5-21.5-48-48-48H176V272H464v48H400c-26.5 0-48 21.5-48 48v96c0 26.5 21.5 48 48 48H560c26.5 0 48-21.5 48-48V368c0-26.5-21.5-48-48-48H496V272H624c8.8 0 16-7.2 16-16s-7.2-16-16-16H336V192zM496 352h64c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16H400c-8.8 0-16-7.2-16-16V368c0-8.8 7.2-16 16-16h64 32zm-320 0h64c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V368c0-8.8 7.2-16 16-16h64 32z\"]\n};\nvar faCroissant = {\n prefix: 'fal',\n iconName: 'croissant',\n icon: [512, 512, [129360], \"f7f6\", \"M32 288c0-15.3 1.3-30.2 3.9-44.7l169.6 68.4-124 96.4-11.7 8.3c-.9 .2-1.7 .3-2.3 .2c-.6-.1-.9-.2-1-.3l0 0c-.1 0-.2-.2-.5-.6C44.4 378.1 32 334.6 32 288zM7.4 222.9C2.6 243.8 0 265.6 0 288c0 52.3 14 101.4 38.4 143.7c9.3 16.2 28.9 20.8 45.3 13.7c25.7 27.9 57.4 50 93.2 64.3c3.9 1.5 8 2.3 12.2 2.3h5.4c16.3 0 29.6-13.2 29.6-29.6c0-1.6-.1-3.3-.4-4.9L208 384V350.2l34.1-26.5c18.9 2 38.1-4.5 51.9-18.4L305.3 294c13.9-13.9 20.4-33 18.4-51.9L350.2 208H384l93.6 15.6c1.6 .3 3.2 .4 4.9 .4c16.3 0 29.6-13.2 29.6-29.6V189c0-4.2-.7-8.3-2.3-12.2c-14.3-35.8-36.5-67.5-64.3-93.2c7.1-16.4 2.5-36-13.7-45.3C389.4 14 340.3 0 288 0c-22.4 0-44.2 2.6-65.1 7.4C215.6 2.7 207 0 197.9 0c-5 0-10 .8-14.6 2.5C99.6 33.2 33.2 99.6 2.5 183.3C.8 188 0 193 0 197.9c0 9.1 2.7 17.7 7.4 24.9zm235.9-187C257.8 33.3 272.7 32 288 32c46.6 0 90.1 12.4 127.7 34.1c.4 .2 .5 .4 .6 .5l0 0c.1 .1 .2 .4 .3 1c.1 .6 .1 1.4-.2 2.3l-8.3 11.7-96.4 124L243.3 35.9zM188.6 480c-30-12-56.8-30.4-78.8-53.4L176 375.1V384v2.6l.4 2.6L191.6 480H189c-.1 0-.2 0-.3 0c-.1 0-.1 0-.1 0zM375.1 176l51.4-66.1c23 21.9 41.4 48.7 53.4 78.8c0 .1 0 .2 0 .4v2.5l-90.7-15.1-2.6-.4H384h-8.9zM32.5 194.3C60 119.5 119.5 60 194.3 32.5c.8-.3 2-.5 3.6-.5c5.6 0 10.6 3.4 12.7 8.6l79.1 196.2c4.8 11.9 2 25.5-7.1 34.6l-11.3 11.3c-9.1 9.1-22.7 11.8-34.6 7.1L40.6 210.7c-5.2-2.1-8.6-7.1-8.6-12.7c0-1.6 .3-2.8 .5-3.6z\"]\n};\nvar faMapPin = {\n prefix: 'fal',\n iconName: 'map-pin',\n icon: [320, 512, [128205], \"f276\", \"M160 256a112 112 0 1 0 0-224 112 112 0 1 0 0 224zM304 144c0 74.1-56 135.2-128 143.1V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V287.1c-72-8-128-69-128-143.1C16 64.5 80.5 0 160 0s144 64.5 144 144zm-192 0c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-44.2 35.8-80 80-80c8.8 0 16 7.2 16 16s-7.2 16-16 16c-26.5 0-48 21.5-48 48z\"]\n};\nvar faHamsa = {\n prefix: 'fal',\n iconName: 'hamsa',\n icon: [512, 512, [], \"f665\", \"M256 32c17.7 0 32 14.3 32 32V96 208c0 8.8 7.2 16 16 16s16-7.2 16-16V96c0-17.7 14.3-32 32-32s32 14.3 32 32V272c0 8.8 7.2 16 16 16h50.7c16.2 0 29.3 13.1 29.3 29.3c0 7.8-3.1 15.2-8.6 20.7l-90.2 90.2C348 461.3 303 480 256 480s-92-18.7-125.3-51.9L40.6 337.9C35.1 332.5 32 325 32 317.3C32 301.1 45.1 288 61.3 288H112c8.8 0 16-7.2 16-16V96c0-17.7 14.3-32 32-32s32 14.3 32 32V208c0 8.8 7.2 16 16 16s16-7.2 16-16V96 64c0-17.7 14.3-32 32-32zm0-32c-27.9 0-51.7 17.9-60.4 42.8C185.4 36 173.2 32 160 32c-35.3 0-64 28.7-64 64V256H61.3C27.4 256 0 283.4 0 317.3c0 16.2 6.5 31.8 17.9 43.3l90.2 90.2C147.3 490 200.5 512 256 512s108.7-22 147.9-61.3l90.2-90.2c11.5-11.5 17.9-27.1 17.9-43.3c0-33.8-27.4-61.3-61.3-61.3H416V96c0-35.3-28.7-64-64-64c-13.2 0-25.4 4-35.6 10.8C307.7 17.9 283.9 0 256 0zM176.9 349.3c6.5-6.7 18.7-18.4 33.5-28.2c15.1-10.1 31.1-17 45.6-17s30.5 6.9 45.6 17c14.8 9.9 27 21.5 33.5 28.2c.4 .5 .9 1.3 .9 2.7s-.5 2.3-.9 2.7c-6.5 6.7-18.7 18.4-33.5 28.2c-15.1 10.1-31.1 17-45.6 17s-30.5-6.9-45.6-17c-14.8-9.9-27-21.5-33.5-28.2c-.4-.5-.9-1.3-.9-2.7s.5-2.3 .9-2.7zM256 272c-23.8 0-46.2 11-63.4 22.4c-17.4 11.6-31.4 25.1-38.7 32.7c-6.7 7-9.9 16.1-9.9 25s3.2 18 9.9 25c7.3 7.6 21.3 21 38.7 32.7C209.8 421 232.2 432 256 432s46.2-11 63.4-22.4c17.4-11.6 31.4-25.1 38.7-32.7c6.7-7 9.9-16.1 9.9-25s-3.2-18-9.9-25c-7.3-7.6-21.3-21-38.7-32.7C302.2 283 279.8 272 256 272zm0 104a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faCentSign = {\n prefix: 'fal',\n iconName: 'cent-sign',\n icon: [384, 512, [], \"e3f5\", \"M208 0c8.8 0 16 7.2 16 16V64c1.3 0 2.7 0 4 0c44 0 84.7 14.2 117.5 38.3c7.1 5.2 8.7 15.2 3.4 22.4s-15.2 8.7-22.4 3.4C299.1 108 265 96 228 96C137.1 96 64 168 64 256s73.1 160 164 160c37 0 71.1-12 98.5-32.1c7.1-5.2 17.1-3.7 22.4 3.4s3.7 17.1-3.4 22.4C312.7 433.8 272 448 228 448c-1.3 0-2.7 0-4 0v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V444.8C101.2 428.2 32 350.3 32 256s69.2-172.2 160-188.8V16c0-8.8 7.2-16 16-16z\"]\n};\nvar faSwordsLaser = {\n prefix: 'fal',\n iconName: 'swords-laser',\n icon: [640, 512, [], \"e03d\", \"M393.9 177.2c-4.8 2-8.2 6.1-9.4 10.9L185.1 8.2C179.3 2.9 171.6 0 163.7 0L160 0c-17.7 0-32 14.3-32 32v3.7c0 7.9 2.9 15.6 8.2 21.4L384 331.7v7.1c0 12.7 5.1 24.9 14.1 33.9L524.2 498.8c8.4 8.4 19.9 13.2 31.8 13.2s23.4-4.7 31.8-13.2l39-39c8.4-8.4 13.2-19.9 13.2-31.8s-4.7-23.4-13.2-31.8L411.3 180.7c-4.6-4.6-11.5-5.9-17.4-3.5zM160 35.7l0-3.7h3.7L384 230.8v53.1L160 35.7zM513.4 328l-28.7 28.7L456 385.4l-35.3-35.3c-3-3-4.7-7.1-4.7-11.3V230.6L513.4 328zM536 350.6l68.2 68.2c2.4 2.4 3.8 5.7 3.8 9.2s-1.4 6.7-3.8 9.2l-8.2 8.2L518.6 368 536 350.6zM573.4 468l-8.2 8.2c-2.4 2.4-5.7 3.8-9.2 3.8s-6.7-1.4-9.2-3.8L478.6 408 496 390.6 573.4 468zm-375-228.3l-11-11c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l4.7 4.7-57.9 57.9c-6-3.2-13.7-2.3-18.8 2.8L16 393.4C5.8 403.6 0 417.5 0 432s5.8 28.4 16 38.6L41.4 496c10.2 10.2 24.1 16 38.6 16s28.4-5.8 38.6-16l76.7-76.7c3-3 4.7-7.1 4.7-11.3c0-2.6-.7-5.2-1.9-7.5L256 342.6l4.7 4.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-11-11 26.2-29-21.6-23.9L249.6 291 221 262.4l31.6-28.5-21.4-23.8-32.8 29.6zM480 35.7L382.7 143.5l3 2.7c11.8-3.7 24.4-2.6 35.3 2.7l82.8-91.7c5.3-5.9 8.2-13.5 8.2-21.4V32c0-17.7-14.3-32-32-32h-3.7c-7.9 0-15.6 2.9-21.4 8.2l-111 100.2L367.8 130 476.3 32l3.7 0v3.7zM152 318.6L193.4 360 176 377.4 134.6 336 152 318.6zM174.6 296L192 278.6 233.4 320 216 337.4 174.6 296zM38.6 416L104 350.6 161.4 408 96 473.4c-4.2 4.2-10 6.6-16 6.6s-11.8-2.4-16-6.6L38.6 448c-4.2-4.2-6.6-10-6.6-16s2.4-11.8 6.6-16z\"]\n};\nvar faFlask = {\n prefix: 'fal',\n iconName: 'flask',\n icon: [448, 512, [], \"f0c3\", \"M288 196.8V32H160V196.8c0 17.8-4.9 35.2-14.2 50.3L100.9 320H347.1l-44.8-72.9C292.9 232 288 214.6 288 196.8zM128 32H112c-8.8 0-16-7.2-16-16s7.2-16 16-16h48H288h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H320V196.8c0 11.8 3.3 23.5 9.5 33.5L437.7 406.2c6.7 10.9 10.3 23.5 10.3 36.4c0 38.3-31.1 69.4-69.4 69.4H69.4C31.1 512 0 480.9 0 442.6c0-12.8 3.6-25.4 10.3-36.4L118.5 230.4c6.2-10.1 9.5-21.7 9.5-33.5V32zM37.5 423c-3.6 5.9-5.5 12.7-5.5 19.6C32 463.3 48.7 480 69.4 480H378.6c20.7 0 37.4-16.7 37.4-37.4c0-6.9-1.9-13.7-5.5-19.6l-43.7-71H81.2L37.5 423z\"]\n};\nvar faPersonPregnant = {\n prefix: 'fal',\n iconName: 'person-pregnant',\n icon: [384, 512, [], \"e31e\", \"M192 80a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-80a56 56 0 1 1 0 112A56 56 0 1 1 192 0zm0 352h48 64 16V320c0-31.1-22.3-57.1-51.7-62.8c-12.9-2.5-23-12.6-25.4-25.5l-6.1-32.5c-4.3-22.7-24.1-39.2-47.2-39.2H176c-26.5 0-48 21.5-48 48V352h16 48zm1.9-223.9c36.6 2 67.5 28.7 74.3 65.1l6.1 32.5c44.3 8.6 77.7 47.5 77.7 94.3v32c0 17.7-14.3 32-32 32H304 256V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V384H192 160V496c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-112c-17.7 0-32-14.3-32-32V232.1L62.1 295.5c-4.2 7.8-13.9 10.7-21.7 6.6s-10.7-13.9-6.6-21.7L88.2 178.8c16.7-31.3 49.2-50.8 84.7-50.8H176h13.6H192c.7 0 1.3 0 1.9 .1z\"]\n};\nvar faSquareU = {\n prefix: 'fal',\n iconName: 'square-u',\n icon: [448, 512, [], \"e281\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm144 64V288c0 44.2 35.8 80 80 80s80-35.8 80-80V160c0-8.8 7.2-16 16-16s16 7.2 16 16V288c0 61.9-50.1 112-112 112s-112-50.1-112-112V160c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faWandSparkles = {\n prefix: 'fal',\n iconName: 'wand-sparkles',\n icon: [512, 512, [], \"f72b\", \"M472.8 0c-9.6 0-18.9 3.5-26 9.9L169.9 256H136c-22.1 0-40 17.9-40 40v27.1L17.7 393C6.5 403.1 0 417.5 0 432.6c0 14.1 5.6 27.6 15.6 37.6l26.2 26.2c10 10 23.5 15.6 37.6 15.6c15.1 0 29.5-6.4 39.6-17.6L391.1 192H416c17.7 0 32-14.3 32-32V133.6l55.3-69.1c5.6-7 8.7-15.8 8.7-24.8v-.5C512 17.5 494.5 0 472.8 0zM468 33.8c1.3-1.2 3-1.8 4.8-1.8c4 0 7.2 3.2 7.2 7.2v.5c0 1.7-.6 3.4-1.7 4.8L419.5 118c-2.3 2.8-3.5 6.4-3.5 10v32H384c-4.5 0-8.9 1.9-11.9 5.3L95.2 473c-4 4.5-9.8 7-15.8 7c-5.6 0-11-2.2-15-6.2L38.2 447.6c-4-4-6.2-9.3-6.2-14.9c0-6 2.6-11.7 7.1-15.8l83.6-74.6c3.4-3 5.3-7.4 5.3-11.9V296c0-4.4 3.6-8 8-8h40c3.9 0 7.7-1.4 10.6-4L468 33.8zM256 32c0-8.8-7.2-16-16-16s-16 7.2-16 16V64H192c-8.8 0-16 7.2-16 16s7.2 16 16 16h32v32c0 8.8 7.2 16 16 16s16-7.2 16-16V96h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H256V32zM96 80c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H64v48c0 8.8 7.2 16 16 16s16-7.2 16-16V160h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H96V80zM448 304c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H368c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v48c0 8.8 7.2 16 16 16s16-7.2 16-16V384h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H448V304z\"]\n};\nvar faRouter = {\n prefix: 'fal',\n iconName: 'router',\n icon: [576, 512, [], \"f8da\", \"M352 32c62.9 0 120.4 22.6 165 60.2c6.8 5.7 16.8 4.8 22.5-1.9s4.8-16.8-1.9-22.5C487.5 25.5 422.7 0 352 0S216.5 25.5 166.4 67.8c-6.8 5.7-7.6 15.8-1.9 22.5s15.8 7.6 22.5 1.9C231.6 54.6 289.1 32 352 32zm16 208c0-8.8-7.2-16-16-16s-16 7.2-16 16v80H64c-35.3 0-64 28.7-64 64v64c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V384c0-35.3-28.7-64-64-64H368V240zM64 352H512c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V384c0-17.7 14.3-32 32-32zm40 88a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm104-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm42.2-251.4C277.9 141.7 313.3 128 352 128s74.1 13.7 101.8 36.6c6.8 5.6 16.9 4.7 22.5-2.1s4.7-16.9-2.1-22.5C441 112.5 398.4 96 352 96s-89 16.5-122.2 43.9c-6.8 5.6-7.8 15.7-2.1 22.5s15.7 7.8 22.5 2.1z\"]\n};\nvar faEllipsisVertical = {\n prefix: 'fal',\n iconName: 'ellipsis-vertical',\n icon: [128, 512, [\"ellipsis-v\"], \"f142\", \"M64 384a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm0-160a32 32 0 1 0 0 64 32 32 0 1 0 0-64zM96 96A32 32 0 1 0 32 96a32 32 0 1 0 64 0z\"]\n};\nvar faEllipsisV = faEllipsisVertical;\nvar faSwordLaserAlt = {\n prefix: 'fal',\n iconName: 'sword-laser-alt',\n icon: [512, 512, [], \"e03c\", \"M353.2 224L503.8 57.1c5.3-5.9 8.2-13.5 8.2-21.4V32c0-17.7-14.3-32-32-32h-3.7c-7.9 0-15.6 2.9-21.4 8.2L215.8 224h47.8L476.3 32l3.7 0v3.7L310.1 224h43.1zM139.3 270.1L13.2 396.2C4.7 404.6 0 416.1 0 428s4.7 23.4 13.2 31.8l39 39C60.6 507.3 72.1 512 84 512s23.4-4.7 31.8-13.2L331.3 283.3c4.6-4.6 5.9-11.5 3.5-17.4s-8.3-9.9-14.8-9.9H173.3c-12.7 0-24.9 5.1-33.9 14.1zM281.4 288L184 385.4l-28.7-28.7L126.6 328l35.3-35.3c3-3 7.1-4.7 11.3-4.7H281.4zM144 390.6L161.4 408 93.2 476.2c-2.4 2.4-5.7 3.8-9.2 3.8s-6.7-1.4-9.2-3.8L66.6 468 144 390.6zM121.4 368L44 445.4l-8.2-8.2c-2.4-2.4-3.8-5.7-3.8-9.2s1.4-6.7 3.8-9.2L104 350.6 121.4 368z\"]\n};\nvar faTicket = {\n prefix: 'fal',\n iconName: 'ticket',\n icon: [576, 512, [127903], \"f145\", \"M64 64C28.7 64 0 92.7 0 128v66c0 7.3 4.9 13.7 12 15.5c20.7 5.3 36 24.1 36 46.5s-15.3 41.2-36 46.5C4.9 304.3 0 310.7 0 318v66c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V318c0-7.3-4.9-13.7-12-15.5c-20.7-5.3-36-24.1-36-46.5s15.3-41.2 36-46.5c7.1-1.8 12-8.2 12-15.5V128c0-35.3-28.7-64-64-64H64zM32 128c0-17.7 14.3-32 32-32H512c17.7 0 32 14.3 32 32v54.7c-28.2 12.3-48 40.5-48 73.3s19.8 61 48 73.3V384c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V329.3C60.2 317 80 288.8 80 256s-19.8-61-48-73.3V128zm128 64H416V320H160V192zm-32 0V320c0 17.7 14.3 32 32 32H416c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32H160c-17.7 0-32 14.3-32 32z\"]\n};\nvar faPowerOff = {\n prefix: 'fal',\n iconName: 'power-off',\n icon: [512, 512, [9211], \"f011\", \"M272 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V272c0 8.8 7.2 16 16 16s16-7.2 16-16V16zM164.3 78.2c7.8-4.1 10.9-13.7 6.9-21.6s-13.7-10.9-21.6-6.9C75 88.3 24 166.2 24 256c0 128.1 103.9 232 232 232s232-103.9 232-232c0-89.8-51-167.7-125.6-206.2c-7.8-4.1-17.5-1-21.6 6.9s-1 17.5 6.9 21.6C412.1 111.5 456 178.6 456 256c0 110.5-89.5 200-200 200S56 366.5 56 256c0-77.4 43.9-144.5 108.3-177.8z\"]\n};\nvar faCoin = {\n prefix: 'fal',\n iconName: 'coin',\n icon: [512, 512, [129689], \"f85c\", \"M256 320c66.2 0 124.6-15.2 165.3-38.1C463 258.5 480 231.1 480 208s-17-50.5-58.7-73.9C380.6 111.2 322.2 96 256 96s-124.6 15.2-165.3 38.1C49 157.5 32 184.9 32 208s17 50.5 58.7 73.9C131.4 304.8 189.8 320 256 320zm-80 24.8l0 64.3c20 3.6 41.5 5.8 64 6.6l0-64c-22.2-.8-43.7-3.1-64-6.9zm-32-7.3c-17.2-4.7-33.2-10.5-48-17.1l0 64.7c14.2 6.5 30.3 12.3 48 17l0-64.6zM32 277.8L32 320c0 12.9 8.5 29.9 32 46.8l0-63.6c-12.2-7.8-23-16.3-32-25.5zm240 74l0 64c22.5-.7 44-3 64-6.6l0-64.3c-20.3 3.8-41.8 6.1-64 6.9zm208-74c-9 9.2-19.8 17.7-32 25.5l0 63.6c23.5-16.9 32-34 32-46.8l0-42.2zM368 337.5l0 64.6c17.7-4.7 33.8-10.5 48-17l0-64.7c-14.8 6.7-30.8 12.4-48 17.1zM0 208C0 128.5 114.6 64 256 64s256 64.5 256 144l0 32 0 80c0 70.7-114.6 128-256 128S0 390.7 0 320l0-80 0-32zm256-56c-47.1 0-89.1 7.4-118.7 18.8c-14.8 5.7-25.8 12.2-32.7 18.5C97.7 195.7 96 200.6 96 204s1.7 8.3 8.6 14.7c6.9 6.3 17.8 12.8 32.7 18.5C166.9 248.6 208.9 256 256 256s89.1-7.4 118.7-18.8c14.8-5.7 25.8-12.2 32.7-18.5c6.9-6.3 8.6-11.3 8.6-14.7s-1.7-8.3-8.6-14.7c-6.9-6.3-17.8-12.8-32.7-18.5C345.1 159.4 303.1 152 256 152zm192 52c0 15.4-8.2 28.3-19 38.3c-10.9 9.9-25.7 18.2-42.7 24.7c-34.1 13.2-80.2 21-130.2 21s-96.1-7.8-130.2-21c-17-6.6-31.9-14.8-42.7-24.7c-10.9-9.9-19-22.9-19-38.3s8.2-28.3 19-38.3c10.9-9.9 25.7-18.2 42.7-24.7c34.1-13.2 80.2-21 130.2-21s96.1 7.8 130.2 21c17 6.6 31.9 14.8 42.7 24.7c10.9 9.9 19 22.9 19 38.3z\"]\n};\nvar faLaptopSlash = {\n prefix: 'fal',\n iconName: 'laptop-slash',\n icon: [640, 512, [], \"e1c7\", \"M25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4zM500.3 480l-40.5-32H76.8c-20.3 0-37.4-13.5-42.9-32H419.2l-40.5-32H19.2C8.6 384 0 392.6 0 403.2C0 445.6 34.4 480 76.8 480H500.3zM544 351.5l.7 .5H576V96c0-35.3-28.7-64-64-64H139.4l40.5 32H512c17.7 0 32 14.3 32 32V351.5zM64 135.6V352H96V160.8L64 135.6z\"]\n};\nvar faRightLong = {\n prefix: 'fal',\n iconName: 'right-long',\n icon: [512, 512, [\"long-arrow-alt-right\"], \"f30b\", \"M352 184l0-49.3c0-3.7 3-6.7 6.7-6.7c1.9 0 3.7 .8 5 2.2L476.2 256 363.7 381.8c-1.3 1.4-3.1 2.2-5 2.2c-3.7 0-6.7-3-6.7-6.7l0-49.3c0-17.7-14.3-32-32-32L48 296c-8.8 0-16-7.2-16-16l0-48c0-8.8 7.2-16 16-16l272 0c17.7 0 32-14.3 32-32zm154.7 86c3.4-3.8 5.3-8.8 5.3-14s-1.9-10.1-5.3-14L387.5 108.9c-7.3-8.2-17.8-12.9-28.8-12.9c-21.4 0-38.7 17.3-38.7 38.7l0 17.3 0 32-32 0L48 184c-26.5 0-48 21.5-48 48l0 48c0 26.5 21.5 48 48 48l240 0 32 0 0 32 0 17.3c0 21.4 17.3 38.7 38.7 38.7c11 0 21.5-4.7 28.8-12.9L506.7 270z\"]\n};\nvar faLongArrowAltRight = faRightLong;\nvar faCircleB = {\n prefix: 'fal',\n iconName: 'circle-b',\n icon: [512, 512, [], \"e0fd\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM160 160v96 96c0 17.7 14.3 32 32 32H296c39.8 0 72-32.2 72-72c0-26.6-14.4-49.8-35.9-62.3C344.4 236.8 352 219.3 352 200c0-39.8-32.2-72-72-72H192c-17.7 0-32 14.3-32 32zm160 40c0 22.1-17.9 40-40 40H192V160h88c22.1 0 40 17.9 40 40zM192 352V272h88 16c22.1 0 40 17.9 40 40s-17.9 40-40 40H192z\"]\n};\nvar faPersonDressSimple = {\n prefix: 'fal',\n iconName: 'person-dress-simple',\n icon: [256, 512, [], \"e21c\", \"M160 64A32 32 0 1 0 96 64a32 32 0 1 0 64 0zM64 64a64 64 0 1 1 128 0A64 64 0 1 1 64 64zM81.5 215.2L42.4 352H213.6L174.5 215.2C170.6 201.5 158 192 143.7 192H112.3c-14.3 0-26.8 9.5-30.8 23.2zm-30.8-8.8c7.8-27.5 33-46.4 61.5-46.4h31.4c28.6 0 53.7 18.9 61.5 46.4l39.1 136.8c5.8 20.4-9.5 40.8-30.8 40.8H192V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V384H96V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V384H42.4c-21.3 0-36.6-20.3-30.8-40.8L50.7 206.4z\"]\n};\nvar faPipeCollar = {\n prefix: 'fal',\n iconName: 'pipe-collar',\n icon: [512, 512, [], \"e437\", \"M68.3 166.3c5.9-12.2 3.4-26.8-6.2-36.4l-16-16c-18.7-18.7-18.7-49.1 0-67.9s49.1-18.7 67.9 0l16 16c9.6 9.6 24.2 12.1 36.4 6.2C193.5 55.3 223.8 48 256 48s62.5 7.3 89.7 20.3c12.2 5.9 26.8 3.4 36.4-6.2l16-16c18.7-18.7 49.1-18.7 67.9 0s18.7 49.1 0 67.9l-16 16c-9.6 9.6-12.1 24.2-6.2 36.4c13 27.1 20.3 57.5 20.3 89.7s-7.3 62.5-20.3 89.7c-5.9 12.2-3.4 26.8 6.2 36.4l16 16c18.7 18.7 18.7 49.1 0 67.9s-49.1 18.7-67.9 0l-16-16c-9.6-9.6-24.2-12.1-36.4-6.2c-27.1 13-57.5 20.3-89.7 20.3s-62.5-7.3-89.7-20.3c-12.2-5.9-26.8-3.4-36.4 6.2l-16 16c-18.7 18.7-49.1 18.7-67.9 0s-18.7-49.1 0-67.9l16-16c9.6-9.6 12.1-24.2 6.2-36.4C55.3 318.5 48 288.2 48 256s7.3-62.5 20.3-89.7zM136.6 23.4C105.3-7.8 54.7-7.8 23.4 23.4s-31.2 81.9 0 113.1l16 16C24.4 183.9 16 218.9 16 256s8.4 72.1 23.4 103.5l-16 16c-31.2 31.2-31.2 81.9 0 113.1s81.9 31.2 113.1 0l16-16c31.3 15 66.4 23.4 103.5 23.4s72.1-8.4 103.5-23.4l16 16c31.2 31.2 81.9 31.2 113.1 0s31.2-81.9 0-113.1l-16-16c15-31.3 23.4-66.4 23.4-103.5s-8.4-72.1-23.4-103.5l16-16c31.2-31.2 31.2-81.9 0-113.1s-81.9-31.2-113.1 0l-16 16C328.1 24.4 293.1 16 256 16s-72.1 8.4-103.5 23.4l-16-16zM128 256a128 128 0 1 1 256 0 128 128 0 1 1 -256 0zm288 0A160 160 0 1 0 96 256a160 160 0 1 0 320 0zM96 432a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm336 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32zM448 80a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM80 96a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faLightsHoliday = {\n prefix: 'fal',\n iconName: 'lights-holiday',\n icon: [640, 512, [], \"f7b2\", \"M23.8 66C16 61.7 6.3 64.5 2 72.2S.5 89.7 8.2 94l13.5 7.5C109.7 150.4 208.7 176 309.3 176H320h10.7c100.6 0 199.6-25.6 287.5-74.5L631.8 94c7.7-4.3 10.5-14 6.2-21.8s-14-10.5-21.8-6.2l-13.5 7.5c-83.2 46.2-176.8 70.5-272 70.5H320 309.3c-95.2 0-188.8-24.3-272-70.5L23.8 66zm99.8 156.2C86.7 217 50 238.2 37 274.6C20.9 319.9 46.9 414 69.5 422.1s102.2-48.6 118.3-93.8c13-36.5-2.1-76.1-34-95.3l14.6-41.1c-10.4-2.4-20.8-5.1-31.1-8.1l-13.7 38.4zM304 257.6c-36.5 7.4-64 39.7-64 78.4c0 48 56 128 80 128s80-80 80-128c0-38.7-27.5-71-64-78.4V208c-1.8 0-3.5 0-5.3 0H320 309.3c-1.8 0-3.5 0-5.3 0v49.6zM486.3 233c-31.9 19.2-47 58.9-34 95.3c16.1 45.2 95.7 101.8 118.3 93.8s48.6-102.2 32.5-147.4c-13-36.5-49.7-57.7-86.6-52.4l-13.7-38.4c-10.3 3-20.7 5.6-31.1 8.1L486.3 233zM128.5 256.2c25 8.9 38 36.3 29.1 61.3c-4.9 13.7-22.6 34.4-45.9 52.1c-11 8.4-21.5 14.7-29.6 18.3l-.6 .3-.3-.6c-4-7.9-8.1-19.4-11.4-32.8c-6.9-28.4-7.5-55.7-2.7-69.4c8.9-25 36.3-38 61.3-29.1zM320 288c26.5 0 48 21.5 48 48c0 14.5-9.8 40-25.8 64.5c-7.6 11.6-15.3 21-21.7 27.1l-.5 .5-.5-.5c-6.4-6.1-14.2-15.6-21.7-27.1c-16-24.5-25.8-50-25.8-64.5c0-26.5 21.5-48 48-48zm-6.5 145.2c0 0 .1-.1 .2-.1l-.2 .1c-.1 0-.1 .1-.1 .1l.1 0zm12.8-.1a.4 .4 0 1 0 .8-.5 .4 .4 0 1 0 -.8 .5zM572.9 285.4c4.9 13.7 4.2 41-2.7 69.4c-3.2 13.4-7.4 24.9-11.4 32.8l-.3 .6-.6-.3c-8.1-3.6-18.6-9.9-29.6-18.3c-23.3-17.7-41-38.5-45.9-52.1c-8.9-25 4.2-52.4 29.1-61.3s52.4 4.2 61.3 29.1z\"]\n};\nvar faCitrus = {\n prefix: 'fal',\n iconName: 'citrus',\n icon: [512, 512, [], \"e2f4\", \"M384 96c35.3 0 64-28.7 64-64H384c-35.3 0-64 28.7-64 64h64zm0 32H304c-8.8 0-16-7.2-16-16V96c0-10 1.5-19.7 4.4-28.8c-11.8-2.1-24-3.2-36.4-3.2C141.1 64 48 157.1 48 272s93.1 208 208 208s208-93.1 208-208c0-44.3-13.9-85.5-37.5-119.2c10.3-3.6 20-8.5 28.9-14.5C481 176.5 496 222.5 496 272c0 132.5-107.5 240-240 240S16 404.5 16 272S123.5 32 256 32c17.8 0 35.1 1.9 51.8 5.6C325.3 14.7 353 0 384 0h80c8.8 0 16 7.2 16 16V32c0 53-43 96-96 96z\"]\n};\nvar faFlagUsa = {\n prefix: 'fal',\n iconName: 'flag-usa',\n icon: [448, 512, [], \"f74d\", \"M32 16C32 7.2 24.8 0 16 0S0 7.2 0 16V64 367v33 96c0 8.8 7.2 16 16 16s16-7.2 16-16V392l96.3-24.1c41.1-10.3 84.6-5.5 122.5 13.4c44.2 22.1 95.5 24.8 141.7 7.4l34.7-13c12.5-4.7 20.8-16.6 20.8-30V66.1c0-23-24.2-38-44.8-27.7l-9.6 4.8c-46.3 23.2-100.8 23.2-147.1 0c-35.1-17.6-75.4-22-113.5-12.5L32 56V16zm0 298.6l107.1-23c33.6-7.2 68.6-4.4 100.7 8.1l25.8 10c45.2 17.6 95.1 18.8 141.2 3.5l9.2-3.1v35.6l-34.7 13c-37.9 14.2-80 12-116.2-6.1c-44.7-22.4-96-28-144.5-15.9L32 359V314.6zm0-32.7V242.6l102.2-21.9c36.4-7.8 74.3-3.9 108.4 11.3l13.8 6.2c50.6 22.5 108 23.9 159.6 3.9v34.4l-19.3 6.4c-38.9 13-81.2 11.9-119.4-2.9l-25.8-10c-37.9-14.7-79.2-18-119-9.5L32 281.9zm0-72V89L140.7 61.8c6.4-1.6 12.8-2.7 19.3-3.3V185.1c-10.9 .6-21.7 2-32.5 4.3L32 209.9zm160-24l0-47.8c17.4 2.1 34.4 6.7 50.6 13.9l13.8 6.2c50.6 22.5 108 23.9 159.6 3.9v45.7l-11.3 4.4c-43.7 17-92.4 15.8-135.3-3.2l-13.8-6.2c-20.3-9-41.8-14.7-63.6-16.9zm0-80l0-46.6c13.9 2 27.4 6.2 40.1 12.6c55.3 27.7 120.4 27.7 175.8 0l8.1-4.1v59.9l-11.3 4.4c-43.7 17-92.4 15.8-135.3-3.2l-13.8-6.2c-20.3-9-41.8-14.7-63.6-16.9zM88 120a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm32 0a16 16 0 1 0 0-32 16 16 0 1 0 0 32zM88 168a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm32 0a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faLaptopFile = {\n prefix: 'fal',\n iconName: 'laptop-file',\n icon: [640, 512, [], \"e51d\", \"M448 32H128c-17.7 0-32 14.3-32 32V288H320v32H96 64 33.9c5.5 18.5 22.7 32 42.9 32H320v32H76.8C34.4 384 0 349.6 0 307.2C0 296.6 8.6 288 19.2 288H64V64C64 28.7 92.7 0 128 0H448c35.3 0 64 28.7 64 64V96H480V64c0-17.7-14.3-32-32-32zM384 464c0 8.8 7.2 16 16 16H592c8.8 0 16-7.2 16-16V288H528c-26.5 0-48-21.5-48-48V160H400c-8.8 0-16 7.2-16 16V464zM512 160.5V240c0 8.8 7.2 16 16 16h79.5c-.7-2.8-2.1-5.4-4.2-7.4l-83.9-83.9c-2.1-2.1-4.6-3.5-7.4-4.2zm30.1-18.4l83.9 83.9c9 9 14.1 21.2 14.1 33.9V464c0 26.5-21.5 48-48 48H400c-26.5 0-48-21.5-48-48V176c0-26.5 21.5-48 48-48H508.1c12.7 0 24.9 5.1 33.9 14.1z\"]\n};\nvar faTty = {\n prefix: 'fal',\n iconName: 'tty',\n icon: [512, 512, [\"teletype\"], \"f1e4\", \"M354 164.8v29.8c0 8.1 6.1 14.9 14.1 15.9l78.7 9.4c7.3 .9 14.2-3.3 16.8-10.1L473.9 183c6.4-16.6 2.5-31.1-6.1-38.7C426.2 107.6 352.1 64 256 64s-170.2 43.6-211.9 80.3c-8.6 7.6-12.5 22.1-6.1 38.7l10.3 26.7c2.6 6.8 9.6 11 16.8 10.1l78.7-9.4c8-1 14.1-7.8 14.1-15.9V164.8c0-13 7.9-24.7 20-29.6c50-20.3 106-20.3 156.1 0c12.1 4.9 20 16.6 20 29.6zm-32 29.8V164.8c-42.3-17.2-89.7-17.2-132 0v29.8c0 24.3-18.2 44.8-42.3 47.7L69 251.6c-21.8 2.6-42.5-9.9-50.4-30.3L8.2 194.5c-10.1-26-6.2-55.8 14.8-74.2C68.7 79.9 150 32 256 32s187.3 47.9 233 88.3c20.9 18.4 24.8 48.2 14.8 74.2l-10.3 26.7c-7.9 20.4-28.7 32.9-50.4 30.3l-78.7-9.4c-24.1-2.9-42.3-23.3-42.3-47.7zM72 291.2h32c15.9 0 28.8 12.9 28.8 28.8v32c0 15.9-12.9 28.8-28.8 28.8H72c-15.9 0-28.8-12.9-28.8-28.8V320c0-15.9 12.9-28.8 28.8-28.8zM68.8 320v32c0 1.8 1.4 3.2 3.2 3.2h32c1.8 0 3.2-1.4 3.2-3.2V320c0-1.8-1.4-3.2-3.2-3.2H72c-1.8 0-3.2 1.4-3.2 3.2zM72 403.2h32c15.9 0 28.8 12.9 28.8 28.8v32c0 15.9-12.9 28.8-28.8 28.8H72c-15.9 0-28.8-12.9-28.8-28.8V432c0-15.9 12.9-28.8 28.8-28.8zM68.8 432v32c0 1.8 1.4 3.2 3.2 3.2h32c1.8 0 3.2-1.4 3.2-3.2V432c0-1.8-1.4-3.2-3.2-3.2H72c-1.8 0-3.2 1.4-3.2 3.2zM408 403.2h32c15.9 0 28.8 12.9 28.8 28.8v32c0 15.9-12.9 28.8-28.8 28.8H408c-15.9 0-28.8-12.9-28.8-28.8V432c0-15.9 12.9-28.8 28.8-28.8zM404.8 432v32c0 1.8 1.4 3.2 3.2 3.2h32c1.8 0 3.2-1.4 3.2-3.2V432c0-1.8-1.4-3.2-3.2-3.2H408c-1.8 0-3.2 1.4-3.2 3.2zm-249.6 0c0-15.9 12.9-28.8 28.8-28.8H328c15.9 0 28.8 12.9 28.8 28.8v32c0 15.9-12.9 28.8-28.8 28.8H184c-15.9 0-28.8-12.9-28.8-28.8V432zm28.8-3.2c-1.8 0-3.2 1.4-3.2 3.2v32c0 1.8 1.4 3.2 3.2 3.2H328c1.8 0 3.2-1.4 3.2-3.2V432c0-1.8-1.4-3.2-3.2-3.2H184zM155.2 320c0-15.9 12.9-28.8 28.8-28.8h32c15.9 0 28.8 12.9 28.8 28.8v32c0 15.9-12.9 28.8-28.8 28.8H184c-15.9 0-28.8-12.9-28.8-28.8V320zm28.8-3.2c-1.8 0-3.2 1.4-3.2 3.2v32c0 1.8 1.4 3.2 3.2 3.2h32c1.8 0 3.2-1.4 3.2-3.2V320c0-1.8-1.4-3.2-3.2-3.2H184zm112-25.6h32c15.9 0 28.8 12.9 28.8 28.8v32c0 15.9-12.9 28.8-28.8 28.8H296c-15.9 0-28.8-12.9-28.8-28.8V320c0-15.9 12.9-28.8 28.8-28.8zM292.8 320v32c0 1.8 1.4 3.2 3.2 3.2h32c1.8 0 3.2-1.4 3.2-3.2V320c0-1.8-1.4-3.2-3.2-3.2H296c-1.8 0-3.2 1.4-3.2 3.2zm86.4 0c0-15.9 12.9-28.8 28.8-28.8h32c15.9 0 28.8 12.9 28.8 28.8v32c0 15.9-12.9 28.8-28.8 28.8H408c-15.9 0-28.8-12.9-28.8-28.8V320zm28.8-3.2c-1.8 0-3.2 1.4-3.2 3.2v32c0 1.8 1.4 3.2 3.2 3.2h32c1.8 0 3.2-1.4 3.2-3.2V320c0-1.8-1.4-3.2-3.2-3.2H408z\"]\n};\nvar faTeletype = faTty;\nvar faChartTreeMap = {\n prefix: 'fal',\n iconName: 'chart-tree-map',\n icon: [512, 512, [], \"e0ea\", \"M176 64c8.8 0 16 7.2 16 16V192c0 8.8-7.2 16-16 16H48c-8.8 0-16-7.2-16-16V80c0-8.8 7.2-16 16-16H176zM48 32C21.5 32 0 53.5 0 80V192c0 26.5 21.5 48 48 48H176c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H48zM176 304c8.8 0 16 7.2 16 16V432c0 8.8-7.2 16-16 16H48c-8.8 0-16-7.2-16-16V320c0-8.8 7.2-16 16-16H176zM48 272c-26.5 0-48 21.5-48 48V432c0 26.5 21.5 48 48 48H176c26.5 0 48-21.5 48-48V320c0-26.5-21.5-48-48-48H48zM304 64H464c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H304c-8.8 0-16-7.2-16-16V80c0-8.8 7.2-16 16-16zM256 80v32c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H304c-26.5 0-48 21.5-48 48zM464 224c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H304c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16H464zM304 192c-26.5 0-48 21.5-48 48v32c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V240c0-26.5-21.5-48-48-48H304zm0 192H464c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H304c-8.8 0-16-7.2-16-16V400c0-8.8 7.2-16 16-16zm-48 16v32c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V400c0-26.5-21.5-48-48-48H304c-26.5 0-48 21.5-48 48z\"]\n};\nvar faDiagramNext = {\n prefix: 'fal',\n iconName: 'diagram-next',\n icon: [512, 512, [], \"e476\", \"M480 160c0 17.7-14.3 32-32 32l-176 0H240L64 192c-17.7 0-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32v64zM272 224H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96v64c0 35.3 28.7 64 64 64H240V329.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l64 64c6.2 6.2 16.4 6.2 22.6 0l64-64c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L272 329.4V224zM448 480c35.3 0 64-28.7 64-64V352c0-35.3-28.7-64-64-64H400c-8.8 0-16 7.2-16 16s7.2 16 16 16h48c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32L64 448c-17.7 0-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H64c-35.3 0-64 28.7-64 64v64c0 35.3 28.7 64 64 64l384 0z\"]\n};\nvar faPersonRifle = {\n prefix: 'fal',\n iconName: 'person-rifle',\n icon: [576, 512, [], \"e54e\", \"M260.7 192c28.3 0 55.1 10.7 75.3 29.1V496.2c-.1 8.7-7.2 15.8-16 15.8c-8.8 0-16-7.2-16-16V236.7c-12.7-8.2-27.7-12.7-43.3-12.7H219.3c-15.7 0-30.7 4.6-43.3 12.8V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V275.8L62.3 439.2c-4 7.9-13.6 11.1-21.5 7.2s-11.1-13.6-7.2-21.5l85.5-170.9c19-37.9 57.8-61.9 100.2-61.9h41.3zM288 80a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM160 80a80 80 0 1 1 160 0A80 80 0 1 1 160 80zM480 336v14.2l3.9 17.8h7.1H528c8.8 0 16 7.2 16 16s-7.2 16-16 16h-4.2H491.1l7.1 32 9.1 41.1 4.3 19.5c1.1 4.7-.1 9.7-3.1 13.5s-7.6 6-12.5 6H476.1 416 400c-8.8 0-16-7.2-16-16V480 393.9l-2.7-1.4c-8.1-4.1-13.3-12.4-13.3-21.5v-4.9V225.9v-4.9c0-9.1 5.1-17.4 13.3-21.5l2.7-1.4V160c0-17.7 14.3-32 32-32V96 64 32c-8.8 0-16-7.2-16-16s7.2-16 16-16h16c8.8 0 16 7.2 16 16V32 96v32c17.7 0 32 14.3 32 32v48 47 1 24 8l32-8V256 208c0-8.8 7.2-16 16-16s16 7.2 16 16v72 12.5c0 6.9-4.4 13-10.9 15.2l-.9 .3L480 325.3V336zm-27.3 38.9l-1.5-6.9-2.4-10.8-.4-1.7 0 0c-.3-1.1-.4-2.3-.4-3.5v-1.8V336v-7-3.7V302.3 296v-8V256 208 192 160H416v32 6.1V208c0 6-3.4 11.6-8.8 14.3l0 0-7.2 3.6V366.1l7.2 3.6 0 0c5.4 2.7 8.8 8.2 8.8 14.3v9.9V448v32h27.3H448h28.1l-7.1-32-9.1-41.1-1.5-6.9-5.6-25.1z\"]\n};\nvar faClockFiveThirty = {\n prefix: 'fal',\n iconName: 'clock-five-thirty',\n icon: [512, 512, [], \"e34a\", \"M32 256a224 224 0 1 1 448 0A224 224 0 1 1 32 256zm480 0A256 256 0 1 0 0 256a256 256 0 1 0 512 0zM272 400V308.8l34.7 52c4.9 7.4 14.8 9.3 22.2 4.4s9.3-14.8 4.4-22.2l-64-96c-3.9-5.9-11.2-8.5-17.9-6.4s-11.4 8.3-11.4 15.3V400c0 8.8 7.2 16 16 16s16-7.2 16-16z\"]\n};\nvar faPipeValve = {\n prefix: 'fal',\n iconName: 'pipe-valve',\n icon: [512, 512, [], \"e439\", \"M272 32c0-8.8-7.2-16-16-16s-16 7.2-16 16V80H144c-8.8 0-16 7.2-16 16s7.2 16 16 16h96v80H32V176c0-8.8-7.2-16-16-16s-16 7.2-16 16v32V432v32c0 8.8 7.2 16 16 16s16-7.2 16-16V448H480v16c0 8.8 7.2 16 16 16s16-7.2 16-16V432 208 176c0-8.8-7.2-16-16-16s-16 7.2-16 16v16H272V112h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H272V32zM256 224H480V416H32V224H256z\"]\n};\nvar faArrowUpFromArc = {\n prefix: 'fal',\n iconName: 'arrow-up-from-arc',\n icon: [512, 512, [], \"e4b4\", \"M256 480C132.3 480 32 379.7 32 256c0-8.8-7.2-16-16-16s-16 7.2-16 16C0 397.4 114.6 512 256 512s256-114.6 256-256c0-8.8-7.2-16-16-16s-16 7.2-16 16c0 123.7-100.3 224-224 224zM116 149.4c-5.9 6.6-5.3 16.7 1.3 22.6s16.7 5.3 22.6-1.3L240 58.1 240 336c0 8.8 7.2 16 16 16s16-7.2 16-16l0-277.9L372 170.6c5.9 6.6 16 7.2 22.6 1.3s7.2-16 1.3-22.6L268 5.4C264.9 2 260.6 0 256 0s-8.9 2-12 5.4l-128 144z\"]\n};\nvar faFaceSpiralEyes = {\n prefix: 'fal',\n iconName: 'face-spiral-eyes',\n icon: [512, 512, [], \"e485\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM312.9 374.9l14.8-9.9c14.3-9.6 32.7-10.7 48.1-3l15.4 7.7c7.9 4 11.1 13.6 7.2 21.5s-13.6 11.1-21.5 7.2l-15.4-7.7c-5.1-2.6-11.3-2.2-16 1l-14.8 9.9c-16.1 10.7-37.1 10.7-53.3 0l-12.5-8.3c-5.4-3.6-12.4-3.6-17.8 0l-12.5 8.3c-16.1 10.7-37.1 10.7-53.3 0l-14.8-9.9c-4.8-3.2-10.9-3.6-16-1l-15.4 7.7c-7.9 4-17.5 .7-21.5-7.2s-.7-17.5 7.2-21.5l15.4-7.7c15.4-7.7 33.8-6.6 48.1 3l14.8 9.9c5.4 3.6 12.4 3.6 17.8 0l12.5-8.3c16.1-10.7 37.1-10.7 53.3 0l12.5 8.3c5.4 3.6 12.4 3.6 17.8 0zm-139-263.3c.3 6.6-4.9 12.2-11.5 12.5c-46.9 1.9-82.2 45-78.1 84.3l0 .3 0 .3c2 40.2 40.8 70.7 76.2 66.7l.3 0 .3 0c36.3-2 62.1-35.7 58.4-64.5l0-.3 0-.3c-2.1-29.8-31.3-51-56-47.5l-.3 0-.3 0c-25.7 2.2-42 26.2-38.9 44.5l.1 .4 0 .4c2.1 19.5 21.5 31.3 35.5 28.6l.3-.1 .3 0c15.2-2.1 22-16.3 19.9-24l-.1-.4-.1-.4c-.9-4.3-3.4-7.4-6.5-9.2c-.9-.5-1.8-.9-2.6-1.2c1.7 1.9 2.8 4.2 3 6.9c1 11.1-8.8 15.8-14.1 16.4c-6.6 .8-13.4-2.2-17.6-8.5c-5-6.8-4.4-15.6-1.8-21.8c2.9-7 8.9-13.2 17.8-16c9.2-3.3 19.4-1.3 27.5 3.3c8.3 4.9 15.5 13.4 17.9 24.8c5.8 22.8-11.9 49.5-39.5 53.6c-27.7 5.3-59.8-16.2-63.6-49.2c-5.4-33 21.9-68.7 60.3-72.1c38.2-5.2 79.6 25.8 82.9 69.3c5.4 43.3-31.5 88.2-80.6 91.2c-48.8 5.3-99.6-35.2-102.5-89.1c-5.5-53.8 41.1-108.1 101-110.5c6.6-.3 12.2 4.9 12.5 11.5zM349.6 292c46.9-1.9 82.2-45 78.1-84.3l0-.3 0-.3c-2-40.2-40.8-70.7-76.2-66.7l-.3 0-.3 0c-36.3 2-62.1 35.7-58.4 64.5l0 .3 0 .3c2.1 29.8 31.3 51 56 47.5l.3 0 .3 0c25.7-2.2 42-26.2 38.9-44.5l-.1-.4 0-.4c-2.1-19.5-21.5-31.3-35.5-28.6l-.3 .1-.3 0c-15.2 2.1-21.9 16.3-19.9 24l.1 .4 .1 .4c.9 4.3 3.4 7.4 6.5 9.2c.9 .5 1.8 .9 2.6 1.2c-1.7-1.9-2.8-4.2-3-6.9c-1-11.1 8.8-15.8 14.1-16.4c6.6-.8 13.4 2.2 17.6 8.5c5 6.8 4.4 15.6 1.8 21.8c-2.9 7-8.9 13.2-17.8 16c-9.2 3.3-19.4 1.3-27.5-3.3c-8.3-4.9-15.5-13.4-17.9-24.8c-5.8-22.8 11.9-49.5 39.5-53.6c27.7-5.3 59.8 16.2 63.6 49.2c5.4 33-21.9 68.7-60.3 72.1c-38.2 5.2-79.6-25.8-82.9-69.3c-5.4-43.3 31.5-88.2 80.6-91.2c48.8-5.3 99.6 35.2 102.5 89.1c5.5 53.8-41.1 108.1-101 110.5c-6.6 .3-12.2-4.9-12.5-11.5s4.9-12.2 11.5-12.5z\"]\n};\nvar faCompressWide = {\n prefix: 'fal',\n iconName: 'compress-wide',\n icon: [512, 512, [], \"f326\", \"M128 80c0-8.8 7.2-16 16-16s16 7.2 16 16V208c0 8.8-7.2 16-16 16H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H128V80zm16 208c8.8 0 16 7.2 16 16V432c0 8.8-7.2 16-16 16s-16-7.2-16-16V320H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H144zM352 80c0-8.8 7.2-16 16-16s16 7.2 16 16V192H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H368c-8.8 0-16-7.2-16-16V80zM496 288c8.8 0 16 7.2 16 16s-7.2 16-16 16H384V432c0 8.8-7.2 16-16 16s-16-7.2-16-16V304c0-8.8 7.2-16 16-16H496z\"]\n};\nvar faCirclePhoneHangup = {\n prefix: 'fal',\n iconName: 'circle-phone-hangup',\n icon: [512, 512, [\"phone-circle-down\"], \"e11d\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM112 248.6c.1-.5 .3-1.2 1.1-1.9c78.8-72.9 207-72.9 285.7 0c.8 .7 1 1.4 1.1 1.9s0 1.1-.4 1.8l-21.7 35.2c-1 1.7-4.1 3.2-7.4 1.9l-46.2-17.6c-2.4-.9-2.9-2.6-2.9-3.4l2.8-18.1c1.2-7.8-3.4-15.3-10.9-17.7c-37-11.9-77.4-11.9-114.3 0c-7.5 2.4-12.1 9.9-10.9 17.7l2.8 18.1c0 .9-.5 2.5-2.9 3.4l-46.2 17.6c-3.3 1.2-6.4-.3-7.4-1.9l-21.7-35.2c-.4-.7-.5-1.2-.4-1.8zm308.6-25.4c-91-84.3-238.2-84.3-329.2 0c-12.3 11.4-15.1 29.5-6.2 44l21.7 35.2c9.6 15.6 29.4 21.4 46 15l46.2-17.6c14.9-5.7 25.1-20.3 23.3-36.9c0-.2-.1-.5-.1-.7l-.7-4.5c22.5-5.1 46.1-5.1 68.6 0l-.7 4.5c0 .2-.1 .5-.1 .7c-1.8 16.6 8.5 31.3 23.3 36.9L359 317.5c16.6 6.3 36.4 .6 46-15l21.7-35.2c8.9-14.4 6.1-32.6-6.2-44z\"]\n};\nvar faPhoneCircleDown = faCirclePhoneHangup;\nvar faGearComplexCode = {\n prefix: 'fal',\n iconName: 'gear-complex-code',\n icon: [512, 512, [], \"e5eb\", \"M215 62.8l4.9-24.3-15.7-3.1 15.7 3.1c.3-1.5 1-2.8 1.9-3.8C232.9 32.9 244.4 32 256 32s23.1 .9 34.2 2.6c1 1.1 1.6 2.4 1.9 3.8L297 62.8c2.9 14.4 13.2 25.2 25.5 30.3l0 0 1.5 .6 0 0c12.3 5.2 27.3 4.8 39.5-3.3l20.6-13.8c1.2-.8 2.6-1.3 4.1-1.3c9.1 6.7 17.7 14 25.6 21.9l.8 .8 0 0c7.9 8 15.3 16.5 21.9 25.6c-.1 1.4-.5 2.8-1.3 4.1l-13.8 20.6c-8.1 12.2-8.5 27.1-3.3 39.5l0 0 .6 1.5 0 0c5.1 12.4 15.9 22.6 30.3 25.5l24.3 4.9c1.5 .3 2.8 1 3.8 1.9c1.7 11.1 2.6 22.4 2.6 34v.4c0 11.6-.9 22.9-2.6 34c-1.1 1-2.4 1.6-3.8 1.9L449.2 297c-14.4 2.9-25.2 13.2-30.3 25.5l0 0-.6 1.5 0 0c-5.2 12.3-4.8 27.3 3.3 39.5l13.8 20.6c.8 1.2 1.3 2.6 1.3 4.1c-13.6 18.5-29.9 34.9-48.4 48.4c-1.4-.1-2.8-.5-4.1-1.3l-20.6-13.8c-12.2-8.1-27.1-8.5-39.5-3.3l0 0-1.5 .6 0 0c-12.4 5.1-22.6 15.9-25.5 30.3l-4.9 24.3c-.3 1.5-1 2.8-1.9 3.8c-11.1 1.7-22.6 2.6-34.2 2.6s-23.1-.9-34.2-2.6c-1-1.1-1.6-2.4-1.9-3.8L215 449.2c-2.9-14.4-13.2-25.2-25.5-30.3l0 0-1.5-.6 0 0c-12.3-5.2-27.3-4.8-39.5 3.3l-20.6 13.8c-1.2 .8-2.6 1.3-4.1 1.3c-18.5-13.6-34.9-29.9-48.4-48.4c.1-1.4 .5-2.8 1.3-4.1l13.8-20.6c8.1-12.2 8.5-27.1 3.3-39.5l0 0-.6-1.5 0 0c-5.1-12.4-15.9-22.6-30.3-25.5l-24.3-4.9c-1.5-.3-2.8-1-3.8-1.9C32.9 279.1 32 267.6 32 256s.9-23.1 2.6-34.2c1.1-1 2.4-1.6 3.8-1.9L62.8 215c14.4-2.9 25.2-13.2 30.3-25.5l0 0 .6-1.5 0 0c5.2-12.3 4.8-27.3-3.3-39.5L76.6 127.7c-.8-1.2-1.3-2.6-1.3-4.1c6.7-9.1 14-17.7 22-25.7l.8-.8 0 0c8-7.9 16.6-15.3 25.7-22c1.4 .1 2.8 .5 4.1 1.3l20.6 13.8c12.2 8.1 27.1 8.5 39.5 3.3l0 0 1.5-.6 0 0c12.4-5.1 22.7-15.9 25.5-30.3zM256 0c-14.8 0-29.3 1.3-43.4 3.7c-2 .3-3.9 1-5.6 2.1c-9.4 5.6-16.3 15.1-18.6 26.4l-4.9 24.3c-.5 2.6-2.6 5.4-6.3 6.9l0 0-.1 0-1.7 .7 0 0-.1 0c-3.7 1.5-7.1 1-9.4-.4L145.5 50c-9.6-6.4-21.2-8.2-31.7-5.6c-1.9 .5-3.8 1.3-5.4 2.5C96.6 55.2 85.6 64.4 75.4 74.5l0 0-.8 .8 0 0C64.4 85.6 55.2 96.6 46.9 108.3c-1.2 1.6-2 3.5-2.5 5.4c-2.6 10.6-.8 22.1 5.6 31.7l13.8 20.6c1.5 2.2 2 5.7 .4 9.4l0 .1-.7 1.7 0 0 0 .1c-1.5 3.7-4.3 5.8-6.9 6.3l-24.3 4.9c-11.4 2.3-20.8 9.2-26.4 18.6c-1 1.7-1.7 3.6-2.1 5.6C1.3 226.7 0 241.2 0 256s1.3 29.3 3.7 43.4c.3 2 1 3.9 2.1 5.6c5.6 9.4 15.1 16.3 26.4 18.6l24.3 4.9c2.6 .5 5.4 2.6 6.9 6.3l0 .1 .7 1.7 0 .1c1.5 3.7 1 7.1-.4 9.4L50 366.5c-6.4 9.6-8.2 21.2-5.6 31.7c.5 1.9 1.3 3.8 2.5 5.4c16.8 23.8 37.6 44.6 61.5 61.5c1.6 1.2 3.5 2 5.4 2.5c10.6 2.6 22.1 .8 31.7-5.6l20.6-13.8c2.2-1.5 5.7-2 9.4-.4l.1 0 1.7 .7 .1 0c3.7 1.5 5.8 4.3 6.3 6.9l4.9 24.3c2.3 11.4 9.2 20.8 18.6 26.4c1.7 1 3.6 1.7 5.6 2.1c14.1 2.4 28.6 3.7 43.4 3.7s29.3-1.3 43.4-3.7c2-.3 3.9-1 5.6-2.1c9.4-5.6 16.3-15.1 18.6-26.4l4.9-24.3c.5-2.6 2.6-5.4 6.3-6.9l.1 0 1.7-.7 .1 0c3.7-1.5 7.1-1 9.4 .4L366.5 462c9.6 6.4 21.2 8.2 31.7 5.6c1.9-.5 3.8-1.3 5.4-2.5c23.8-16.8 44.6-37.6 61.5-61.4c1.2-1.6 2-3.5 2.5-5.4c2.6-10.6 .8-22.1-5.6-31.7l-13.8-20.6c-1.5-2.2-2-5.7-.4-9.4l0-.1 .7-1.7 0-.1c1.5-3.7 4.3-5.8 6.9-6.3l24.3-4.9-3.1-15.7 3.1 15.7c11.4-2.3 20.8-9.2 26.4-18.6c1-1.7 1.7-3.6 2.1-5.6c2.4-14 3.7-28.5 3.7-43.2v0-.4 0c0-14.7-1.3-29.1-3.7-43.2c-.3-2-1-3.9-2.1-5.6c-5.6-9.4-15.1-16.3-26.4-18.6l-24.3-4.9c-2.6-.5-5.4-2.6-6.9-6.3l0-.1-.7-1.7 0-.1c-1.5-3.7-1-7.1 .4-9.4L462 145.5c6.4-9.6 8.2-21.2 5.6-31.7c-.5-1.9-1.3-3.8-2.5-5.4c-8.3-11.7-17.5-22.7-27.6-32.9l0 0-.9-.9 0 0c-10.1-10.1-21.1-19.3-32.9-27.6c-1.6-1.2-3.5-2-5.4-2.5c-10.6-2.6-22.1-.8-31.7 5.6L345.9 63.7c-2.2 1.5-5.7 2-9.4 .4l-.1 0-1.7-.7-.1 0c-3.7-1.5-5.8-4.3-6.3-6.9l-4.9-24.3c-2.3-11.4-9.2-20.8-18.6-26.4c-1.7-1-3.6-1.7-5.6-2.1C285.3 1.3 270.8 0 256 0zm31.8 162.6c1.5-8.7-4.4-17-13.2-18.4s-17 4.4-18.4 13.2l-32 192c-1.5 8.7 4.4 17 13.2 18.4s17-4.4 18.4-13.2l32-192zM187.3 227.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-40 40c-6.2 6.2-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L158.6 256l28.7-28.7zm160-22.6c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L353.4 256l-28.7 28.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l40-40c6.2-6.2 6.2-16.4 0-22.6l-40-40z\"]\n};\nvar faHouseMedicalCircleExclamation = {\n prefix: 'fal',\n iconName: 'house-medical-circle-exclamation',\n icon: [640, 512, [], \"e512\", \"M298.6 4c-6-5.3-15.1-5.3-21.2 0L5.4 244c-6.6 5.8-7.3 16-1.4 22.6s16 7.3 22.6 1.4L64 235V432c0 44.2 35.8 80 80 80H394.8c-12.9-9.1-24.5-19.9-34.6-32H144c-26.5 0-48-21.5-48-48V206.7L288 37.3 466.1 194.5c9.7-1.7 19.7-2.5 29.9-2.5c5.6 0 11.1 .3 16.5 .8L298.6 4zM368 240H336V208c0-17.7-14.3-32-32-32H272c-17.7 0-32 14.3-32 32v32H208c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32h32v32c0 17.7 14.3 32 32 32h32c6.7 0 12.9-2 18-5.5c-1.3-8.6-2-17.5-2-26.5c0-22.6 4.3-44.2 12-64H320c-8.8 0-16 7.2-16 16v48H272V320c0-8.8-7.2-16-16-16H208V272h48c4.2 0 8.3-1.7 11.3-4.7s4.7-7.1 4.7-11.3V208h32v48c0 8.8 7.2 16 16 16h28.5c7.5-11.4 16.2-22 26-31.3c-2.1-.4-4.3-.7-6.5-.7zm16 128a112 112 0 1 1 224 0 112 112 0 1 1 -224 0zm256 0a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zM496 448a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-160c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V304c0-8.8-7.2-16-16-16z\"]\n};\nvar faBadminton = {\n prefix: 'fal',\n iconName: 'badminton',\n icon: [576, 512, [], \"e33a\", \"M349 32c35.5 0 69 12.2 93.9 37.1S480 127.5 480 163c0 45.1-19.6 93.4-57.6 131.4c-68.1 68.1-168.9 76.9-225.3 20.5C172.2 290 160 256.5 160 221c0-45.1 19.6-93.4 57.6-131.4S303.9 32 349 32zm0-32c-54.2 0-110.5 23.4-154 66.9s-67 99.8-66.9 154c0 28.2 6.4 56 19.7 80.7c7.8 14.4 7.2 32.8-4.4 44.4l-12 12-4.7-4.7c-12.5-12.5-32.8-12.5-45.3 0l-72 72c-12.5 12.5-12.5 32.8 0 45.3l32 32c12.5 12.5 32.8 12.5 45.3 0l72-72c12.5-12.5 12.5-32.8 0-45.3l-4.7-4.7 11.9-11.9c11.6-11.6 30-12.2 44.4-4.3c72.5 39.4 169.9 17.5 234.7-47.4c43.6-43.6 67-99.8 66.9-154c0-42.8-14.8-84.9-46.5-116.6S391.8 0 349 0zM104 376l32 32L64 480 32 448l72-72zm352.9 88l-8.2 27.4c-2.5 8.5 2.3 17.4 10.7 19.9s17.4-2.3 19.9-10.7l11-36.6H456.9zM496 496c0 8.8 7.2 16 16 16s16-7.2 16-16V464H496v32zm37.7-32l11 36.6c2.5 8.5 11.5 13.3 19.9 10.7s13.3-11.5 10.7-19.9L567.1 464H533.7zM496 400c0-8.8 7.2-16 16-16s16 7.2 16 16v16H496V400zm64 0c0-26.5-21.5-48-48-48s-48 21.5-48 48v16 32h32 32 32V416 400z\"]\n};\nvar faClosedCaptioning = {\n prefix: 'fal',\n iconName: 'closed-captioning',\n icon: [576, 512, [], \"f20a\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H512c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm200 96c-35.3 0-64 28.7-64 64s28.7 64 64 64c17.4 0 33.2-7 44.8-18.3c6.3-6.2 16.4-6.1 22.6 .2s6.1 16.4-.2 22.6c-17.3 17-41 27.4-67.2 27.4c-53 0-96-43-96-96s43-96 96-96c26.2 0 49.9 10.5 67.2 27.4c6.3 6.2 6.4 16.3 .2 22.6s-16.3 6.4-22.6 .2C233.2 199 217.4 192 200 192zm192 0c-35.3 0-64 28.7-64 64s28.7 64 64 64c17.4 0 33.2-7 44.8-18.3c6.3-6.2 16.4-6.1 22.6 .2s6.1 16.4-.2 22.6c-17.3 17-41 27.4-67.2 27.4c-53 0-96-43-96-96s43-96 96-96c26.2 0 49.9 10.5 67.2 27.4c6.3 6.2 6.4 16.3 .2 22.6s-16.3 6.4-22.6 .2C425.2 199 409.4 192 392 192z\"]\n};\nvar faPersonHiking = {\n prefix: 'fal',\n iconName: 'person-hiking',\n icon: [384, 512, [\"hiking\"], \"f6ec\", \"M288 56a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-80 0a56 56 0 1 1 112 0A56 56 0 1 1 208 56zM102.9 128.4c-19 2.5-35 16.1-40.1 35L40.2 246.3l31.9 5.3 30.8-123.2zm-1.5 138.1c-3 12.1-14.9 19.9-27.2 17.9l-47.9-8c-14-2.3-22.9-16.3-19.2-30L31.9 155c9.5-34.8 41.1-59 77.2-59h4.2c15.6 0 27.1 14.7 23.3 29.8L101.4 266.5zM368 160c8.8 0 16 7.2 16 16V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V256H312.8c-10.9 0-21.1-5.6-27-14.8l-20.7-32.5L237.2 333.5l36.6 24.4c8.9 5.9 14.2 15.9 14.2 26.6V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V384.6l-95-63.3c-16.3-10.8-24.3-30.4-20.4-49.6l19.8-96.5c6.1-29.9 35.1-49.3 65-43.7c20.6 3.9 38.7 16.1 50 33.8L312.8 224H352V176c0-8.8 7.2-16 16-16zM123.7 334.8c.5 .4 1.1 .8 1.6 1.1l26.4 17.6L111.4 500.2c-2.3 8.5-11.1 13.5-19.7 11.2s-13.5-11.2-11.2-19.7l43.2-157zm68.1-153.2L172 278.1c-1.3 6.4 1.4 12.9 6.8 16.5l29.8 19.9L240.3 173c-5.8-5.1-13-8.6-20.7-10c-12.8-2.4-25.1 5.9-27.8 18.6z\"]\n};\nvar faHiking = faPersonHiking;\nvar faRightFromLine = {\n prefix: 'fal',\n iconName: 'right-from-line',\n icon: [448, 512, [\"arrow-alt-from-left\"], \"f347\", \"M415.2 254.2c.5 .5 .8 1.1 .8 1.8s-.3 1.4-.8 1.8L283.3 382.2c-1.2 1.2-2.9 1.8-4.6 1.8c-3.7 0-6.7-3-6.7-6.7l0-57.3c0-8.8-7.2-16-16-16l-120 0c-4.4 0-8-3.6-8-8l0-80c0-4.4 3.6-8 8-8l120 0c8.8 0 16-7.2 16-16l0-57.3c0-3.7 3-6.7 6.7-6.7c1.7 0 3.3 .7 4.6 1.8L415.2 254.2zM448 256c0-9.5-3.9-18.6-10.8-25.1L305.2 106.5C298 99.8 288.5 96 278.7 96c-21.4 0-38.7 17.3-38.7 38.7l0 41.3-104 0c-22.1 0-40 17.9-40 40l0 80c0 22.1 17.9 40 40 40l104 0 0 41.3c0 21.4 17.3 38.7 38.7 38.7c9.9 0 19.3-3.8 26.5-10.5L437.2 281.1c6.9-6.5 10.8-15.6 10.8-25.1zM0 80L0 432c0 8.8 7.2 16 16 16s16-7.2 16-16L32 80c0-8.8-7.2-16-16-16S0 71.2 0 80z\"]\n};\nvar faArrowAltFromLeft = faRightFromLine;\nvar faVenusDouble = {\n prefix: 'fal',\n iconName: 'venus-double',\n icon: [640, 512, [9890], \"f226\", \"M192 320a144 144 0 1 0 0-288 144 144 0 1 0 0 288zM368 176c0 91.8-70.3 167.2-160 175.3V416h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H208v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V448H112c-8.8 0-16-7.2-16-16s7.2-16 16-16h64V351.3C86.3 343.2 16 267.8 16 176C16 78.8 94.8 0 192 0s176 78.8 176 176zM344 318c7.3-7.8 14-16.2 20-25c23.6 17 52.6 27 84 27c79.5 0 144-64.5 144-144s-64.5-144-144-144c-31.3 0-60.3 10-84 27c-6-8.9-12.7-17.2-20-25C373.1 12.6 409.1 0 448 0c97.2 0 176 78.8 176 176c0 91.8-70.3 167.2-160 175.3V416h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H464v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V448H368c-8.8 0-16-7.2-16-16s7.2-16 16-16h64V351.3c-32.7-3-62.9-14.9-88-33.3z\"]\n};\nvar faImages = {\n prefix: 'fal',\n iconName: 'images',\n icon: [576, 512, [], \"f302\", \"M160 64H512c17.7 0 32 14.3 32 32V201.4L486.6 144c-12.5-12.5-32.8-12.5-45.3 0L304 281.4 230.6 208c-12.5-12.5-32.8-12.5-45.3 0L128 265.4V96c0-17.7 14.3-32 32-32zM576 96c0-35.3-28.7-64-64-64H160c-35.3 0-64 28.7-64 64V304v16c0 35.3 28.7 64 64 64h80 0H512c35.3 0 64-28.7 64-64V240 240 96zM464 166.6l80 80V320c0 17.7-14.3 32-32 32H278.6l36.7-36.7L464 166.6zM281.4 304l-48 48H160c-17.7 0-32-14.3-32-32v-9.4l80-80L281.4 304zM32 112c0-8.8-7.2-16-16-16s-16 7.2-16 16V352c0 70.7 57.3 128 128 128H464c8.8 0 16-7.2 16-16s-7.2-16-16-16H128c-53 0-96-43-96-96V112zm232 48a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faCalculator = {\n prefix: 'fal',\n iconName: 'calculator',\n icon: [384, 512, [128425], \"f1ec\", \"M352 160V448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V160H352zm0-32H32V64c0-17.7 14.3-32 32-32H320c17.7 0 32 14.3 32 32v64zm32 0V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64v64 16 16V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160 144 128zM72 224a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zm24 72a24 24 0 1 0 0 48 24 24 0 1 0 0-48zm72-72a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zm24 72a24 24 0 1 0 0 48 24 24 0 1 0 0-48zm72-72a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zm24 72a24 24 0 1 0 0 48 24 24 0 1 0 0-48zM264 416a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zM80 400c-8.8 0-16 7.2-16 16s7.2 16 16 16H208c8.8 0 16-7.2 16-16s-7.2-16-16-16H80z\"]\n};\nvar faShuttlecock = {\n prefix: 'fal',\n iconName: 'shuttlecock',\n icon: [512, 512, [], \"f45b\", \"M241.9 0c-12.1 0-23.2 6.8-28.6 17.7L92.2 259.8 73.4 278.6 33.1 318.9C11.9 340.1 0 368.9 0 398.9C0 461.3 50.7 512 113.1 512c30 0 58.8-11.9 80-33.1l40.2-40.2 18.9-18.9 242.1-121c10.8-5.4 17.7-16.5 17.7-28.6V224c0-17.7-14.3-32-32-32H424V120c0-17.7-14.3-32-32-32H320V32c0-17.7-14.3-32-32-32H241.9zm67.2 355.6l-75.7 37.8 0 0-46.1-46.1 77.2-77.2 103-32.5-58.4 118zm47.5-23.7l53.3-107.6 .6-.2H480v46.1L356.5 331.8zM288 101.5l-.2 .6L180.2 155.5 241.9 32 288 32v69.5zm-13.6 43l-32.5 103-77.2 77.2-46.1-46.1 0 0 37.8-75.7 118-58.4zm6.1 87L315.7 120H392v76.3L280.5 231.5zM61.9 335.3L96 301.3 210.7 416l-34.1 34.1L61.9 335.3zm89.7 135c-11.7 6.3-24.9 9.7-38.5 9.7C68.3 480 32 443.7 32 398.9c0-13.6 3.4-26.8 9.7-38.5L151.6 470.3z\"]\n};\nvar faUserHair = {\n prefix: 'fal',\n iconName: 'user-hair',\n icon: [448, 512, [], \"e45a\", \"M320 128c0-5.5-.5-10.8-1.3-16H288.6c-14.9 0-29.1-5.9-39.6-16.4l-6.3-6.3C223.4 113.5 194 128 162.3 128L128 128v16c0 53 43 96 96 96s96-43 96-96V128zM307.2 80C290.6 51.3 259.5 32 224 32c-41.8 0-77.4 26.7-90.5 64h28.9c26.7 0 51.2-15 63.2-38.9c.8-1.6 1.8-3.1 3.1-4.5c6.2-6.2 16.4-6.2 22.6 0L271.6 73c4.5 4.5 10.6 7 17 7h18.6zM96 128C96 57.3 153.3 0 224 0s128 57.3 128 128v16c0 70.7-57.3 128-128 128s-128-57.3-128-128V128zM32 480H416c-1.9-71-60-128-131.5-128H163.6C92.1 352 33.9 409 32 480zM0 483.6C0 393.2 73.2 320 163.6 320H284.4C374.8 320 448 393.2 448 483.6c0 15.7-12.7 28.4-28.4 28.4H28.4C12.7 512 0 499.3 0 483.6z\"]\n};\nvar faEyeEvil = {\n prefix: 'fal',\n iconName: 'eye-evil',\n icon: [640, 512, [], \"f6db\", \"M258.1 126.1c-11.2 3.2-21.8 7.3-31.7 12.1c-8.6 4.1-18.4 4.8-27.4 2l-55.9-17.5L161.7 151c8.3 12.6 8.2 29-.2 41.5c-4.5 6.7-8.3 13.7-11.3 20.8c-4.1 9.7-12 17.2-21.9 20.7L66.5 256l61.8 22.1c9.9 3.5 17.8 11 21.9 20.7c3 7.1 6.8 14.1 11.3 20.8c8.4 12.5 8.5 28.9 .2 41.5l-18.6 28.3L199 371.8c9.1-2.8 18.9-2.1 27.4 2c9.9 4.8 20.5 8.8 31.7 12.1c8.9 2.6 16.5 8.3 21.3 16.1L320 467l40.6-64.9c4.9-7.8 12.5-13.6 21.3-16.1c11.2-3.2 21.8-7.3 31.7-12.1c8.6-4.1 18.4-4.8 27.4-2l55.9 17.5L478.3 361c-8.3-12.6-8.2-29 .2-41.5c4.5-6.7 8.3-13.7 11.3-20.8c4.1-9.7 12-17.2 21.9-20.7L573.5 256l-61.8-22.1c-9.9-3.5-17.8-11-21.9-20.7c-3-7.1-6.8-14.1-11.3-20.8c-8.4-12.5-8.5-28.9-.2-41.5l18.6-28.3L441 140.2c-9.1 2.8-18.9 2.1-27.4-2c-9.9-4.8-20.5-8.8-31.7-12.1c-8.9-2.6-16.5-8.3-21.3-16.1L320 45l-40.6 64.9c-4.9 7.8-12.5 13.6-21.3 16.1zM0 256c0-9.6 6-18.2 15.1-21.4l100.6-35.9c4-9.4 8.9-18.5 14.7-27.1L89.2 108.8c-5.3-8-4.9-18.5 .8-26.1s15.7-10.9 24.9-8l95.3 29.8c11.8-5.7 24.4-10.5 37.5-14.3l47.8-76.5C300.8 5.1 310 0 320 0s19.2 5.1 24.5 13.6l47.8 76.5c13.1 3.8 25.7 8.6 37.5 14.3l95.3-29.8c9.2-2.9 19.1 .3 24.9 8s6.1 18.1 .8 26.1l-41.3 62.7c5.8 8.6 10.7 17.7 14.7 27.1l100.6 35.9c9 3.2 15.1 11.8 15.1 21.4s-6 18.2-15.1 21.4L524.3 313.3c-4 9.4-8.9 18.5-14.7 27.1l41.3 62.7c5.3 8 4.9 18.5-.8 26.1s-15.7 10.9-24.9 8l-95.3-29.8c-11.8 5.7-24.4 10.5-37.5 14.3l-47.8 76.5C339.2 506.9 330 512 320 512s-19.2-5.1-24.5-13.6l-47.8-76.5c-13.1-3.8-25.7-8.6-37.5-14.3l-95.3 29.8c-9.2 2.9-19.1-.3-24.9-8s-6.1-18.1-.8-26.1l41.3-62.7c-5.8-8.6-10.7-17.7-14.7-27.1L15.1 277.4C6 274.2 0 265.6 0 256zm249.2-21.5c-.8 4.3-1.2 8.8-1.2 13.5c0 39.8 32.2 72 72 72s72-32.2 72-72c0-4.6-.4-9.1-1.2-13.5l-.4 .1c-13.6 5.3-27.9 9.2-42.7 11.3c.2 3-.2 6.1-1.4 9.3c-5.5 14.4-13.5 24.4-18.1 29.3c-2.1 2.3-5.1 3.4-8.2 3.4s-6.1-1.1-8.2-3.4c-4.5-4.9-12.6-14.9-18.1-29.3c-1.2-3.2-1.6-6.3-1.4-9.3c-14.8-2.1-29.1-6-42.7-11.3l-.4-.1zM220.1 219c4.9-16.8 25-20.6 41.3-14.1c18.2 7.2 37.9 11.1 58.6 11.1s40.5-3.9 58.6-11.1c16.3-6.4 36.4-2.7 41.3 14.1c2.7 9.2 4.1 18.9 4.1 29c0 57.4-46.6 104-104 104s-104-46.6-104-104c0-10 1.4-19.8 4.1-29z\"]\n};\nvar faPeoplePulling = {\n prefix: 'fal',\n iconName: 'people-pulling',\n icon: [576, 512, [], \"e535\", \"M104 56A24 24 0 1 0 56 56a24 24 0 1 0 48 0zM24 56a56 56 0 1 1 112 0A56 56 0 1 1 24 56zm9.5 113.3c-.9 2-1.5 4.3-1.5 6.7V336c0 8.8-7.2 16-16 16s-16-7.2-16-16V176c0-26.5 21.5-48 48-48h62.6c16.7 0 32.9 5.2 46.5 14.9l121.7 86.8c11.8-33.4 35.5-61.5 66.9-78.6l12.7-6.9c19.4-10.6 41.2-16.2 63.4-16.2c36.9 0 69.7 23.6 81.4 58.7l17.1 51.4c3.4 10.1 10 18.8 18.9 24.8l29.7 19.8c7.4 4.9 9.3 14.8 4.4 22.2s-14.8 9.3-22.2 4.4l-29.7-19.8c-14.8-9.9-25.9-24.4-31.5-41.3l-8.8-26.4L443.3 331l43.6 37.8c4.7 4.1 8.1 9.4 9.8 15.4l30.7 107.4c2.4 8.5-2.5 17.4-11 19.8s-17.4-2.5-19.8-11L465.9 393 365.4 305.8c-14.4-12.5-20.1-32.4-14.4-50.6l26.6-85c-1.3 .6-2.6 1.3-3.9 2l-12.7 6.9c-27.5 15-47.4 40.8-55 71.2l-2.3 9.2c-.2 1-.5 1.9-.9 2.8c-.8 2-2.1 3.7-3.5 5.1c-3.3 3.2-7.8 4.9-12.5 4.5c-1.9-.2-3.8-.6-5.5-1.5c-1-.5-1.9-1-2.7-1.6L148.2 175.9l75.3 316.4c2 8.6-3.3 17.2-11.9 19.3s-17.2-3.3-19.3-11.9L157.3 352H100.9l26.9 141c1.7 8.7-4 17.1-12.7 18.7s-17.1-4-18.7-12.7L33.5 169.3zm79-5.6c-.3-1.2-.4-2.5-.4-3.7c-.5 0-.9 0-1.4 0H64.3L94.8 320h54.9L112.4 163.7zM480 56a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-80 0a56 56 0 1 1 112 0A56 56 0 1 1 400 56zM381.5 264.8c-1.9 6.1 0 12.7 4.8 16.9l30.9 26.8 45-130c-10-11.5-24.7-18.4-40.6-18.4c-2.5 0-5 .1-7.5 .3L381.5 264.8zm-6.4 88.9c7.9 4 11.1 13.6 7.2 21.5l-30.8 61.7c-1.5 3.1-3.6 5.9-6 8.3l-62.2 62.2c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l62.2-62.2 30.8-61.7c4-7.9 13.6-11.1 21.5-7.2z\"]\n};\nvar faN = {\n prefix: 'fal',\n iconName: 'n',\n icon: [384, 512, [110], \"4e\", \"M10.5 33c6.3-2.3 13.4-.4 17.7 4.7L352 420.3V48c0-8.8 7.2-16 16-16s16 7.2 16 16V464c0 6.7-4.2 12.7-10.5 15s-13.4 .4-17.7-4.7L32 91.7V464c0 8.8-7.2 16-16 16s-16-7.2-16-16V48c0-6.7 4.2-12.7 10.5-15z\"]\n};\nvar faSwap = {\n prefix: 'fal',\n iconName: 'swap',\n icon: [640, 512, [], \"e609\", \"M208 126.7c0 18.4-14.9 33.3-33.3 33.3H128V360c0 48.6 39.4 88 88 88s88-39.4 88-88V152c0-66.3 53.7-120 120-120s120 53.7 120 120V352h46.7c18.4 0 33.3 14.9 33.3 33.3c0 8.3-3.1 16.3-8.7 22.4l-75.5 83c-3 3.3-7.3 5.2-11.8 5.2s-8.8-1.9-11.8-5.2l-75.5-83c-5.6-6.1-8.7-14.1-8.7-22.4c0-18.4 14.9-33.3 33.3-33.3H512V152c0-48.6-39.4-88-88-88s-88 39.4-88 88V360c0 66.3-53.7 120-120 120s-120-53.7-120-120V160H49.3C30.9 160 16 145.1 16 126.7c0-8.3 3.1-16.3 8.7-22.4l75.5-83c3-3.3 7.3-5.2 11.8-5.2s8.8 1.9 11.8 5.2l75.5 83c5.6 6.1 8.7 14.1 8.7 22.4zM112 128s0 0 0 0s0 0 0 0h62.7c.7 0 1.3-.6 1.3-1.3c0-.3-.1-.6-.3-.9L112 55.8l-63.7 70c-.2 .2-.3 .6-.3 .9c0 .7 .6 1.3 1.3 1.3H112zM528 384H465.3c-.7 0-1.3 .6-1.3 1.3c0 .3 .1 .6 .3 .9l63.7 70 63.7-70c.2-.2 .3-.6 .3-.9c0-.7-.6-1.3-1.3-1.3H528z\"]\n};\nvar faGarage = {\n prefix: 'fal',\n iconName: 'garage',\n icon: [640, 512, [], \"e009\", \"M326.2 36c-4-1.7-8.4-1.7-12.4 0L51.6 146.4C39.7 151.4 32 163 32 175.9V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V175.9c0-25.8 15.4-49 39.2-59L301.4 6.5c11.9-5 25.3-5 37.3 0L600.8 116.9c23.7 10 39.2 33.2 39.2 59V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V175.9c0-12.9-7.7-24.5-19.6-29.5L326.2 36zM96 224c0-17.7 14.3-32 32-32H512c17.7 0 32 14.3 32 32V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V352H128V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V224zm32 96H512V224H128v96zm144 96h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H272c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faCableCar = {\n prefix: 'fal',\n iconName: 'cable-car',\n icon: [512, 512, [128673, 57551, \"tram\"], \"f7da\", \"M288 48a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm-72 8a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM320 256v96H192V256h48 32 48zm32 0h64c17.7 0 32 14.3 32 32v64H352V256zm96 128v64c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V384H176 336 448zM64 352V288c0-17.7 14.3-32 32-32h64v96H64zM416 224H272V141.1L499.1 95.7c8.7-1.7 14.3-10.2 12.6-18.8s-10.2-14.3-18.8-12.6l-240 48-240 48C4.2 162-1.4 170.5 .3 179.1s10.2 14.3 18.8 12.6L240 147.5V224H96c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H416c35.3 0 64-28.7 64-64V288c0-35.3-28.7-64-64-64z\"]\n};\nvar faTram = faCableCar;\nvar faShovelSnow = {\n prefix: 'fal',\n iconName: 'shovel-snow',\n icon: [512, 512, [], \"f7c3\", \"M419.3 4.7c-6.2-6.2-16.4-6.2-22.6 0L358.9 42.5C344.2 57.1 336 77 336 97.8c0 15.8 4.7 30.5 12.8 42.8L272 217.4l-41.8-41.8c-16.4-16.4-42.3-18.7-61.4-5.5L20.6 273.3C7.7 282.3 0 297 0 312.7v2c0 12.7 5.1 24.9 14.1 33.9L163.3 497.9c9 9 21.2 14.1 33.9 14.1h2c15.7 0 30.4-7.7 39.4-20.6L341.8 343.1c13.3-19.1 11-44.9-5.5-61.4L294.6 240l76.8-76.8c12.3 8.1 27 12.8 42.8 12.8c20.7 0 40.6-8.2 55.3-22.9l37.8-37.8c6.2-6.2 6.2-16.4 0-22.6l-88-88zM381.5 65.1L408 38.6 473.4 104l-26.5 26.5c-8.7 8.7-20.4 13.5-32.7 13.5c-25.5 0-46.2-20.7-46.2-46.2c0-12.3 4.9-24 13.5-32.7zM187.2 196.4c6.4-4.4 15-3.7 20.5 1.8L313.8 304.4c5.5 5.5 6.2 14.1 1.8 20.4L212.4 473.1c-3 4.3-7.9 6.9-13.1 6.9h-2c-4.2 0-8.3-1.7-11.3-4.7L36.7 326.1c-3-3-4.7-7.1-4.7-11.3v-2c0-5.2 2.6-10.1 6.9-13.1L187.2 196.4zm16.2 70.9c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-80 80c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l80-80zm64 64c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-80 80c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l80-80z\"]\n};\nvar faCloudRain = {\n prefix: 'fal',\n iconName: 'cloud-rain',\n icon: [512, 512, [127783, 9926], \"f73d\", \"M96 112c0-44.2 35.8-80 80-80c32.2 0 59.9 19 72.6 46.4c2.2 4.8 6.6 8.1 11.8 9s10.4-.8 14.1-4.5c11.6-11.7 27.7-19 45.5-19c35.3 0 64 28.7 64 64l0 .3c0 4.5 1.9 8.8 5.2 11.8s7.8 4.5 12.2 4.1c2.2-.2 4.3-.3 6.6-.3c39.8 0 72 32.2 72 72s-32.2 72-72 72H104c-39.8 0-72-32.2-72-72c0-33.5 22.9-61.7 53.9-69.7c8.2-2.1 13.3-10.3 11.7-18.6c-1-5.1-1.5-10.3-1.5-15.7zM512 216c0-55.2-43-100.3-97.3-103.8C407.2 66.7 367.6 32 320 32c-19.3 0-37.3 5.7-52.4 15.5C247.3 18.8 213.9 0 176 0C114.1 0 64 50.1 64 112c0 2.6 .1 5.3 .3 7.9C26.6 135.5 0 172.6 0 216c0 57.4 46.6 104 104 104H408c57.4 0 104-46.6 104-104zM82.3 451.9L96 426.7l13.7 25.2c1.5 2.8 2.3 5.9 2.3 9.1v3c0 8.8-7.2 16-16 16s-16-7.2-16-16v-3c0-3.2 .8-6.3 2.3-9.1zM54.2 436.6C50.1 444.1 48 452.5 48 461v3c0 26.5 21.5 48 48 48s48-21.5 48-48v-3c0-8.5-2.1-16.9-6.2-24.3l-23.6-43.5-.4-.8-5.4-9.9L102.8 372c-1.3-2.5-3.9-4-6.8-4s-5.4 1.5-6.8 4l-5.6 10.4-5.4 9.9-.4 .8L54.2 436.6zm188.1 15.3L256 426.7l13.7 25.2c1.5 2.8 2.3 5.9 2.3 9.1v3c0 8.8-7.2 16-16 16s-16-7.2-16-16v-3c0-3.2 .8-6.3 2.3-9.1zm-28.1-15.3c-4.1 7.5-6.2 15.8-6.2 24.3v3c0 26.5 21.5 48 48 48s48-21.5 48-48v-3c0-8.5-2.1-16.9-6.2-24.3l-23.6-43.5-.4-.8-5.4-9.9L262.8 372c-1.3-2.5-3.9-4-6.8-4s-5.4 1.5-6.8 4l-5.6 10.4-5.4 9.9-.4 .8-23.6 43.5zm201.8-10l13.7 25.2c1.5 2.8 2.3 5.9 2.3 9.1v3c0 8.8-7.2 16-16 16s-16-7.2-16-16v-3c0-3.2 .8-6.3 2.3-9.1L416 426.7zm-18.2-33.5l-23.6 43.5c-4.1 7.5-6.2 15.8-6.2 24.3v3c0 26.5 21.5 48 48 48s48-21.5 48-48v-3c0-8.5-2.1-16.9-6.2-24.3l-23.6-43.5-.4-.8-5.4-9.9L422.8 372c-1.3-2.5-3.9-4-6.8-4s-5.4 1.5-6.8 4l-5.6 10.4-5.4 9.9-.4 .8z\"]\n};\nvar faFaceLying = {\n prefix: 'fal',\n iconName: 'face-lying',\n icon: [512, 512, [], \"e37e\", \"M256 32C132.3 32 32 132.3 32 256s100.3 224 224 224c79.8 0 149.8-41.7 189.5-104.5c4.7-7.5 14.6-9.7 22.1-5s9.7 14.6 5 22.1C427.3 464.3 347.2 512 256 512C114.6 512 0 397.4 0 256S114.6 0 256 0C373.8 0 472.9 79.5 502.8 187.7c2.3 8.5-2.6 17.3-11.2 19.7s-17.3-2.6-19.7-11.2C445.8 101.5 359 32 256 32zM152.4 176a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm160 0a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM188.8 393.6c-5.3 7.1-15.3 8.5-22.4 3.2s-8.5-15.3-3.2-22.4C180.7 351.1 208.6 336 240 336c13.6 0 26.6 2.8 38.4 8c8.1 3.5 11.8 13 8.3 21.1s-13 11.8-21.1 8.3c-7.8-3.4-16.5-5.3-25.6-5.3c-20.9 0-39.5 10-51.2 25.6zM288 224H448c35.3 0 64 28.7 64 64s-28.7 64-64 64H352c-8.8 0-16-7.2-16-16s7.2-16 16-16h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H288c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faSprinkler = {\n prefix: 'fal',\n iconName: 'sprinkler',\n icon: [512, 512, [], \"e035\", \"M496 0a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM432 64a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM32 144A16 16 0 1 1 0 144a16 16 0 1 1 32 0zm128 0a16 16 0 1 1 -32 0 16 16 0 1 1 32 0zm192 0a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm144-16a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm-64 64a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM96 208a16 16 0 1 1 -32 0 16 16 0 1 1 32 0zm400 48a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM32 272A16 16 0 1 1 0 272a16 16 0 1 1 32 0zM96 80A16 16 0 1 1 64 80a16 16 0 1 1 32 0zM32 16A16 16 0 1 1 0 16a16 16 0 1 1 32 0zM256 64c8.8 0 16 7.2 16 16V256H392c9.7 0 18.5 5.8 22.2 14.8s1.7 19.3-5.2 26.2l-89 89V472c0 22.1-17.9 40-40 40H232c-22.1 0-40-17.9-40-40V385.9l-89-89c-6.9-6.9-8.9-17.2-5.2-26.2s12.5-14.8 22.2-14.8H240V80c0-8.8 7.2-16 16-16zM139.3 288l75.3 75.3c6 6 9.4 14.1 9.4 22.6V472c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V385.9c0-8.5 3.4-16.6 9.4-22.6L372.7 288H256 139.3z\"]\n};\nvar faBuildingCircleXmark = {\n prefix: 'fal',\n iconName: 'building-circle-xmark',\n icon: [640, 512, [], \"e4d4\", \"M64 32H320c17.7 0 32 14.3 32 32V266.8c9.1-12.9 19.9-24.5 32-34.6V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64h64 32 64 32 64c19.5 0 37-8.7 48.7-22.5c-7.7-8-14.6-16.8-20.6-26.1c-5.4 9.9-16 16.6-28.1 16.6H256V416c0-35.3-28.7-64-64-64s-64 28.7-64 64v64H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32zM224 416v64H160V416c0-17.7 14.3-32 32-32s32 14.3 32 32zM64 120v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V120c0-13.3-10.7-24-24-24H88c-13.3 0-24 10.7-24 24zm32 8h32v32H96V128zM248 96c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V120c0-13.3-10.7-24-24-24H248zm8 64V128h32v32H256zM64 248v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V248c0-13.3-10.7-24-24-24H88c-13.3 0-24 10.7-24 24zm32 8h32v32H96V256zm152-32c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V248c0-13.3-10.7-24-24-24H248zm8 64V256h32v32H256zm128 80a112 112 0 1 1 224 0 112 112 0 1 1 -224 0zm256 0a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-121.4 0l36.7-36.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L496 345.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L473.4 368l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L496 390.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L518.6 368z\"]\n};\nvar faPersonSledding = {\n prefix: 'fal',\n iconName: 'person-sledding',\n icon: [512, 512, [\"sledding\"], \"f7cb\", \"M392 112a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-80a56 56 0 1 1 0 112 56 56 0 1 1 0-112zM1.7 248.8c4-7.9 13.6-11.1 21.5-7.1L419 440.6c14 7 30.3 7.9 44.9 2.4l26.5-10c8.3-3.1 17.5 1.1 20.6 9.3s-1.1 17.5-9.3 20.6l-26.5 10c-23 8.7-48.6 7.3-70.6-3.7L8.8 270.3c-7.9-4-11.1-13.6-7.1-21.5zM160 144H320c6.5 0 12.3 3.9 14.8 9.9s1.1 12.9-3.5 17.4L230.6 272 344 272c13.3 0 24 10.7 24 24v72c0 8.8-7.2 16-16 16s-16-7.2-16-16V304H230.6c-28.5 0-42.8-34.5-22.6-54.6L281.4 176H160c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faSledding = faPersonSledding;\nvar faGameConsoleHandheld = {\n prefix: 'fal',\n iconName: 'game-console-handheld',\n icon: [384, 512, [], \"f8bb\", \"M64 32C46.3 32 32 46.3 32 64V416c0 35.3 28.7 64 64 64H288c35.3 0 64-28.7 64-64V64c0-17.7-14.3-32-32-32H64zM0 64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V416c0 53-43 96-96 96H96c-53 0-96-43-96-96V64zM96 224H288V96H96V224zM64 80c0-8.8 7.2-16 16-16H304c8.8 0 16 7.2 16 16V224c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V80zM208 360a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm88-72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM96 304c0-8.8 7.2-16 16-16s16 7.2 16 16v16h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H128v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V352H80c-8.8 0-16-7.2-16-16s7.2-16 16-16H96V304z\"]\n};\nvar faShip = {\n prefix: 'fal',\n iconName: 'ship',\n icon: [576, 512, [128674], \"f21a\", \"M240 0c-26.5 0-48 21.5-48 48V64H144c-26.5 0-48 21.5-48 48V237.3L62.7 248.1C27.9 259.3 18 303.8 44.6 328.8l88.4 82.9c6.4 6 16.6 5.7 22.6-.7s5.7-16.6-.7-22.6L66.5 305.4c-8.9-8.3-5.6-23.1 6-26.9L272 214V384c0 8.8 7.2 16 16 16s16-7.2 16-16V214l199.5 64.5c11.6 3.8 14.9 18.6 6 26.9l-88.4 82.9c-6.4 6-6.8 16.2-.7 22.6s16.2 6.8 22.6 .7l88.4-82.9c26.7-25 16.7-69.4-18.1-80.7L480 237.3V112c0-26.5-21.5-48-48-48H384V48c0-26.5-21.5-48-48-48H240zM352 64H224V48c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16V64zM192 96h16H368h16 48c8.8 0 16 7.2 16 16V226.9L302.8 180c-9.6-3.1-19.9-3.1-29.6 0L128 226.9V112c0-8.8 7.2-16 16-16h48zM133.8 458.8c-9.7-6.6-18-14-25.9-21.9c-6.6-6.5-17.2-6.5-23.8 0c-7.9 7.9-16.1 15.2-25.9 21.9c-12.8 8.7-28.1 16.6-44 19.8C6.4 480.1 0 486.4 0 494.2c0 9.8 8 17.9 17.7 16.2c23.1-4 43.6-15 58.5-25.2c7.9-5.4 14.6-10.8 19.8-15.3c5.1 4.5 11.9 9.9 19.8 15.3C134.4 497.9 161.7 512 192 512s57.5-14.1 76.2-26.8c7.9-5.4 14.6-10.8 19.8-15.3c5.1 4.5 11.9 9.9 19.8 15.3C326.4 497.9 353.7 512 384 512s57.5-14.1 76.2-26.8c7.9-5.4 14.6-10.8 19.8-15.3c5.1 4.5 11.9 9.9 19.8 15.3c15 10.2 35.4 21.2 58.5 25.2c9.7 1.7 17.7-6.4 17.7-16.2c0-7.9-6.4-14.1-14.1-15.7c-16-3.1-31.3-11.1-44.1-19.8c-9.8-6.7-18-14-26-21.9c-6.6-6.5-17.2-6.5-23.7 0c-7.9 7.9-16.1 15.2-25.9 21.9C425.6 470 404.9 480 384 480s-41.7-9.9-58.2-21.2c-9.8-6.7-18-14-26-21.9c-6.6-6.5-17.2-6.5-23.7 0c-7.9 7.9-16.1 15.2-25.9 21.9C233.6 470 212.9 480 192 480s-41.7-9.9-58.2-21.2z\"]\n};\nvar faClockSixThirty = {\n prefix: 'fal',\n iconName: 'clock-six-thirty',\n icon: [512, 512, [], \"e353\", \"M32 256a224 224 0 1 1 448 0A224 224 0 1 1 32 256zm480 0A256 256 0 1 0 0 256a256 256 0 1 0 512 0zM272 400V256c0-8.8-7.2-16-16-16s-16 7.2-16 16V400c0 8.8 7.2 16 16 16s16-7.2 16-16z\"]\n};\nvar faBatterySlash = {\n prefix: 'fal',\n iconName: 'battery-slash',\n icon: [640, 512, [], \"f377\", \"M25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4zM378.8 384H112c-26.5 0-48-21.5-48-48V176c0-12 4.4-22.9 11.7-31.4L50.5 124.8C39 138.7 32 156.5 32 176V336c0 44.2 35.8 80 80 80H419.4l-40.5-32zM464 96H220.6l40.5 32H464c26.5 0 48 21.5 48 48V326l30.7 24.3c.8-4.6 1.3-9.4 1.3-14.3V176c0-44.2-35.8-80-80-80zm128 96c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V208c0-8.8-7.2-16-16-16z\"]\n};\nvar faTugrikSign = {\n prefix: 'fal',\n iconName: 'tugrik-sign',\n icon: [384, 512, [], \"e2ba\", \"M16 32C7.2 32 0 39.2 0 48s7.2 16 16 16H176V211.5l-115.9 29c-8.6 2.1-13.8 10.8-11.6 19.4s10.8 13.8 19.4 11.6l108.1-27v63l-115.9 29c-8.6 2.1-13.8 10.8-11.6 19.4s10.8 13.8 19.4 11.6l108.1-27V456c0 8.8 7.2 16 16 16s16-7.2 16-16V332.5l115.9-29c8.6-2.1 13.8-10.8 11.6-19.4s-10.8-13.8-19.4-11.6L208 299.5v-63l115.9-29c8.6-2.1 13.8-10.8 11.6-19.4s-10.8-13.8-19.4-11.6L208 203.5V64H368c8.8 0 16-7.2 16-16s-7.2-16-16-16H192 16z\"]\n};\nvar faArrowsDownToLine = {\n prefix: 'fal',\n iconName: 'arrows-down-to-line',\n icon: [576, 512, [], \"e4b8\", \"M560 448L16 448c-8.8 0-16 7.2-16 16s7.2 16 16 16l544 0c8.8 0 16-7.2 16-16s-7.2-16-16-16zm11.3-164.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L464 345.4 464 48c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 297.4-84.7-84.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l112 112c6.2 6.2 16.4 6.2 22.6 0l112-112zm-320-22.6c-6.2-6.2-16.4-6.2-22.6 0L144 345.4 144 48c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 297.4L27.3 260.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l112 112c6.2 6.2 16.4 6.2 22.6 0l112-112c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nvar faDownload = {\n prefix: 'fal',\n iconName: 'download',\n icon: [512, 512, [], \"f019\", \"M272 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V329.4L139.3 228.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l128 128c6.2 6.2 16.4 6.2 22.6 0l128-128c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L272 329.4V16zM140.1 320H64c-35.3 0-64 28.7-64 64v64c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V384c0-35.3-28.7-64-64-64H371.9l-32 32H448c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V384c0-17.7 14.3-32 32-32H172.1l-32-32zM432 416a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faAnglesUpDown = {\n prefix: 'fal',\n iconName: 'angles-up-down',\n icon: [448, 512, [], \"e60d\", \"M234 19.5c-5.8-4.7-14.1-4.7-20 0L54 147.5c-6.9 5.5-8 15.6-2.5 22.5s15.6 8 22.5 2.5l150-120 150 120c6.9 5.5 17 4.4 22.5-2.5s4.4-17-2.5-22.5L234 19.5zm160 345c6.9-5.5 8-15.6 2.5-22.5s-15.6-8-22.5-2.5l-150 120L74 339.5c-6.9-5.5-17-4.4-22.5 2.5s-4.4 17 2.5 22.5l160 128c5.8 4.7 14.1 4.7 20 0l160-128z\"]\n};\nvar faShelves = {\n prefix: 'fal',\n iconName: 'shelves',\n icon: [640, 512, [\"inventory\"], \"f480\", \"M16 0c8.8 0 16 7.2 16 16V160H608V16c0-8.8 7.2-16 16-16s16 7.2 16 16V176 432v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V448H32v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V432 176 16C0 7.2 7.2 0 16 0zM32 416H608V192H32V416zM448 32H384V96h64V32zM384 0h64c17.7 0 32 14.3 32 32V96c0 17.7-14.3 32-32 32H384c-17.7 0-32-14.3-32-32V32c0-17.7 14.3-32 32-32zM128 288v64h64V288H128zm-32 0c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32V288zm192 0v64h64V288H288zm-32 0c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H288c-17.7 0-32-14.3-32-32V288z\"]\n};\nvar faInventory = faShelves;\nvar faCloudSnow = {\n prefix: 'fal',\n iconName: 'cloud-snow',\n icon: [512, 512, [127784], \"f742\", \"M96 112c0-44.2 35.8-80 80-80c32.2 0 59.9 19 72.6 46.4c2.2 4.8 6.6 8.1 11.8 9s10.4-.8 14.1-4.5c11.6-11.7 27.7-19 45.5-19c35.3 0 64 28.7 64 64l0 .3c0 4.5 1.9 8.8 5.2 11.8s7.8 4.5 12.2 4.1c2.2-.2 4.3-.3 6.6-.3c39.8 0 72 32.2 72 72s-32.2 72-72 72H104c-39.8 0-72-32.2-72-72c0-33.5 22.9-61.7 53.9-69.7c8.2-2.1 13.3-10.3 11.7-18.6c-1-5.1-1.5-10.3-1.5-15.7zM512 216c0-55.2-43-100.3-97.3-103.8C407.2 66.7 367.6 32 320 32c-19.3 0-37.3 5.7-52.4 15.5C247.3 18.8 213.9 0 176 0C114.1 0 64 50.1 64 112c0 2.6 .1 5.3 .3 7.9C26.6 135.5 0 172.6 0 216c0 57.4 46.6 104 104 104H408c57.4 0 104-46.6 104-104zM64 352c-8.8 0-16 7.2-16 16v32l-32 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l32 0v32c0 8.8 7.2 16 16 16s16-7.2 16-16V432h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H80V368c0-8.8-7.2-16-16-16zm384 0c-8.8 0-16 7.2-16 16v32l-32 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l32 0v32c0 8.8 7.2 16 16 16s16-7.2 16-16V432h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H464V368c0-8.8-7.2-16-16-16zM272 400c0-8.8-7.2-16-16-16s-16 7.2-16 16v32l-32 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l32 0v32c0 8.8 7.2 16 16 16s16-7.2 16-16V464h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H272V400z\"]\n};\nvar faFaceGrin = {\n prefix: 'fal',\n iconName: 'face-grin',\n icon: [512, 512, [128512, \"grin\"], \"f580\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256 98.1c-31.2 0-61.4-2.9-89.9-8.3c22.6 23.6 54.5 38.3 89.9 38.3s67.3-14.7 89.9-38.3c-28.5 5.4-58.7 8.3-89.9 8.3zm142.8-30.7c-24.1 54.6-79 92.7-142.8 92.7s-118.7-38.1-142.8-92.7c-5.2-11.7 6.8-22.4 19.1-18.7c37.3 11.1 79.3 17.4 123.8 17.4s86.4-6.3 123.8-17.4c12.3-3.7 24.2 7 19.1 18.7zM152.4 208a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm184-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faGrin = faFaceGrin;\nvar faDeleteLeft = {\n prefix: 'fal',\n iconName: 'delete-left',\n icon: [576, 512, [9003, \"backspace\"], \"f55a\", \"M544 128c0-17.7-14.3-32-32-32H205.3c-8.5 0-16.6 3.4-22.6 9.4L32 256 182.6 406.6c6 6 14.1 9.4 22.6 9.4H512c17.7 0 32-14.3 32-32V128zM512 64c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H205.3c-17 0-33.3-6.7-45.3-18.7L9.4 278.6c-6-6-9.4-14.1-9.4-22.6s3.4-16.6 9.4-22.6L160 82.7c12-12 28.3-18.7 45.3-18.7H512zM427.3 180.7c6.2 6.2 6.2 16.4 0 22.6L374.6 256l52.7 52.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L352 278.6l-52.7 52.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L329.4 256l-52.7-52.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L352 233.4l52.7-52.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faBackspace = faDeleteLeft;\nvar faOven = {\n prefix: 'fal',\n iconName: 'oven',\n icon: [448, 512, [], \"e01d\", \"M96 32C60.7 32 32 60.7 32 96v64H416V96c0-35.3-28.7-64-64-64H96zM32 192V448c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V192H32zM0 96C0 43 43 0 96 0H352c53 0 96 43 96 96V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM104 80a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm56 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM264 80a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm56 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM96 256V416H352V256H96zm-32 0c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V256zm64 48c0-8.8 7.2-16 16-16H304c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16z\"]\n};\nvar faCloudBinary = {\n prefix: 'fal',\n iconName: 'cloud-binary',\n icon: [640, 512, [], \"e601\", \"M389.8 125.2C363.7 88.1 320.7 64 272 64c-77.4 0-140.5 61-143.9 137.5c-.6 13-9 24.4-21.3 28.8C63.2 245.7 32 287.2 32 336c0 61.9 50.1 112 112 112H512c53 0 96-43 96-96c0-36.8-20.7-68.8-51.2-84.9c-13.4-7.1-20-22.5-15.8-37.1c2-6.9 3-14.3 3-22c0-44.2-35.8-80-80-80c-12.3 0-23.9 2.8-34.3 7.7c-14.1 6.7-30.9 2.3-39.9-10.5zM272 32c59.5 0 112.1 29.5 144 74.8C430.5 99.9 446.8 96 464 96c61.9 0 112 50.1 112 112c0 10.7-1.5 21-4.3 30.8C612.3 260.2 640 302.9 640 352c0 70.7-57.3 128-128 128H144C64.5 480 0 415.5 0 336c0-62.8 40.2-116.1 96.2-135.9C100.3 106.6 177.4 32 272 32zM176 216c0-22.1 17.9-40 40-40h16c22.1 0 40 17.9 40 40v16c0 22.1-17.9 40-40 40H216c-22.1 0-40-17.9-40-40V216zm40-8c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8V216c0-4.4-3.6-8-8-8H216zm72-16c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V208c-8.8 0-16-7.2-16-16zm120-16h16c22.1 0 40 17.9 40 40v16c0 22.1-17.9 40-40 40H408c-22.1 0-40-17.9-40-40V216c0-22.1 17.9-40 40-40zm-8 40v16c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8V216c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8zM192 320c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V336c-8.8 0-16-7.2-16-16zm80 24c0-22.1 17.9-40 40-40h16c22.1 0 40 17.9 40 40v16c0 22.1-17.9 40-40 40H312c-22.1 0-40-17.9-40-40V344zm40-8c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8V344c0-4.4-3.6-8-8-8H312zm88-32h16c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V336c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faEyeDropper = {\n prefix: 'fal',\n iconName: 'eye-dropper',\n icon: [512, 512, [\"eye-dropper-empty\", \"eyedropper\"], \"f1fb\", \"M198.1 172.7l22.6 22.6 95.9 95.9 22.6 22.6 17.4 17.4c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l0 0-17.4-17.4 22.6-22.6 98.3-98.3c39-39 39-102.2 0-141.1s-102.2-39-141.1 0l-98.3 98.3-22.6 22.6-17.4-17.4 0 0 0 0c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l17.4 17.4zm45.3 0L364.2 51.9c26.5-26.5 69.4-26.5 95.9 0s26.5 69.4 0 95.9L339.3 268.6l-95.9-95.9zm-56.1 62.6c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L55.4 321.9c-15 15-23.4 35.4-23.4 56.6v41.2L3.8 469.1C1.3 473.5 0 478.4 0 483.4C0 499.2 12.8 512 28.6 512c5 0 9.9-1.3 14.2-3.8L92.2 480h41.2c21.2 0 41.6-8.4 56.6-23.4L299.3 347.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L167.4 433.9c-9 9-21.2 14.1-33.9 14.1H88 83.8l-3.7 2.1L37.7 474.3l24.2-42.4 2.1-3.7V424 378.5c0-12.7 5.1-24.9 14.1-33.9L187.3 235.3z\"]\n};\nvar faEyeDropperEmpty = faEyeDropper;\nvar faEyedropper = faEyeDropper;\nvar faCommentCaptions = {\n prefix: 'fal',\n iconName: 'comment-captions',\n icon: [512, 512, [], \"e146\", \"M32 240c0-91.4 93.8-176 224-176s224 84.6 224 176s-93.8 176-224 176c-32 0-63-5.9-93.5-16.2c-9.9-3.3-20.7-1.8-29.2 4.2c-15.4 10.7-31.4 20-48.4 27.4L91.2 446l-6.4-14.7c-10.5 4.6-21.5 8.6-32.7 11.5c.5-.9 1.1-1.8 1.6-2.6C68 416.5 76.3 391 79.4 363.9c1-9.2-2.1-17.7-7.4-23.9c-24.5-29.4-40-62.9-40-100zM256 32C114.5 32 0 125.2 0 240c0 46.6 19.6 87.1 47.4 120.5c0 .1 .1 .1 .1 .2c-2.6 22.6-9.5 43.5-21.3 63.1c-6.5 10.8-13.5 20.8-21.7 29c-4.5 4.6-5.9 11.5-3.4 17.4s8.3 9.8 14.8 9.8c28.7 0 57.6-8.9 81.6-19.3c19.2-8.4 37.1-18.7 53.9-30.5c.2-.1 .5-.2 .7-.1C185.5 441.3 220 448 256 448c141.5 0 256-93.2 256-208S397.5 32 256 32zM80 224c-8.8 0-16 7.2-16 16s7.2 16 16 16H304c8.8 0 16-7.2 16-16s-7.2-16-16-16H80zm288 0c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H368zM112 288c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H112zm128 0c-8.8 0-16 7.2-16 16s7.2 16 16 16H400c8.8 0 16-7.2 16-16s-7.2-16-16-16H240z\"]\n};\nvar faCommentsQuestion = {\n prefix: 'fal',\n iconName: 'comments-question',\n icon: [640, 512, [], \"e14e\", \"M208 32C105.7 32 32 101.2 32 176c0 37.1 18 68.2 45.1 96.6c4.8 5 5.8 12.5 2.5 18.6c-10.9 20.2-22.7 40.8-37.6 59.9c31.3-3 63.2-13.2 91.5-26c6-2.7 11.9-5.6 18-8.7c3.2-1.6 6.8-2.1 10.2-1.4c15.6 3.1 30.9 5 46.3 5c102.3 0 176-69.2 176-144s-73.7-144-176-144zM0 176C0 78.9 93.1 0 208 0S416 78.9 416 176s-93.1 176-208 176c-16.1 0-31.7-1.8-47-4.6c-4.6 2.3-9.4 4.6-14.3 6.8C110.5 370.7 67 384 24 384c-9.6 0-18.2-5.7-22-14.5c-3.8-8.7-2-18.9 4.4-25.8l.1-.1 0 0C22 326.6 34.3 307.1 46 286C19.8 256.1 0 220.2 0 176zm441.8-47.8C552.2 132.5 640 209.6 640 304c0 44.2-19.8 80.1-46 110c11.7 21 24 40.6 39.5 57.5l0 0 .1 .1c6.5 7 8.2 17.1 4.4 25.8c-3.8 8.8-12.5 14.5-22 14.5c-43 0-86.5-13.3-122.7-29.7c-4.9-2.2-9.6-4.5-14.3-6.8c-15.3 2.8-30.9 4.6-47 4.6c-82.1 0-153-40.2-186.8-98.5c11.5-1.6 22.8-3.9 33.8-6.8C308.4 417.3 363.8 448 432 448c15.3 0 30.6-1.9 46.3-5c3.5-.7 7.1-.2 10.2 1.4c6.1 3.1 12 6 18 8.7c28.4 12.9 60.2 23.1 91.5 26c-14.9-19-26.8-39.7-37.6-59.9c-3.3-6.1-2.3-13.6 2.5-18.6C590 372.2 608 341.1 608 304c0-71-66.4-137-160.6-143.5c-.9-11.1-2.8-21.9-5.6-32.3zM147.9 104.1c5.5-15.4 20.1-25.7 36.4-25.7h41.3c24.2 0 43.7 19.6 43.7 43.7c0 15.7-8.4 30.1-22 37.9L224 173.4v.3c0 8.8-7.2 16-16 16s-16-7.2-16-16v-9.5c0-5.7 3.1-11 8-13.9l31.4-18c3.6-2.1 5.9-6 5.9-10.2c0-6.5-5.3-11.7-11.7-11.7H184.3c-2.8 0-5.3 1.8-6.3 4.4l-.3 .9c-3 8.3-12.1 12.7-20.4 9.7s-12.7-12.1-9.7-20.4l.3-.9zM185.3 236a22.7 22.7 0 1 1 45.3 0 22.7 22.7 0 1 1 -45.3 0z\"]\n};\nvar faScribble = {\n prefix: 'fal',\n iconName: 'scribble',\n icon: [512, 512, [], \"e23f\", \"M196.6 19.5C210.2 7 228 0 246.5 0h.9C287.5 0 320 32.5 320 72.6c0 19.2-7.6 37.7-21.3 51.3L75.9 346.7C68.3 354.4 64 364.7 64 375.4c0 22.4 18.2 40.6 40.6 40.6c10.8 0 21.1-4.3 28.7-11.9L388.1 149.3c13.6-13.6 32.1-21.3 51.3-21.3c40.1 0 72.6 32.5 72.6 72.6c0 19.2-7.6 37.7-21.3 51.3L370.5 372.1c-11.8 11.8-18.5 28-18.5 44.8c0 34.8 28.2 63.1 63 63.1c8.7 0 17.3-2 25.1-5.9l48.8-24.4c7.9-4 17.5-.7 21.5 7.2s.7 17.5-7.2 21.5l-48.8 24.4c-12.2 6.1-25.8 9.3-39.4 9.3c-52.5 0-95-42.7-95-95.1c0-25.2 10-49.5 27.9-67.4L468.1 229.3c7.6-7.6 11.9-17.9 11.9-28.7c0-22.4-18.2-40.6-40.6-40.6c-10.8 0-21.1 4.3-28.7 11.9L155.9 426.7c-13.6 13.6-32.1 21.3-51.3 21.3C64.5 448 32 415.5 32 375.4c0-19.2 7.6-37.7 21.3-51.3L276.1 101.3c7.6-7.6 11.9-17.9 11.9-28.7C288 50.2 269.8 32 247.4 32h-.9c-10.4 0-20.5 3.9-28.2 11L26.9 219.8c-6.5 6-16.6 5.6-22.6-.9s-5.6-16.6 .9-22.6L196.6 19.5z\"]\n};\nvar faRotateExclamation = {\n prefix: 'fal',\n iconName: 'rotate-exclamation',\n icon: [512, 512, [], \"e23c\", \"M403.5 133.1C368.3 90.9 315.3 64 256 64C165.2 64 89.1 127 69.1 211.7c-2 8.6-10.6 13.9-19.2 11.9s-13.9-10.6-11.9-19.2C61.3 105.5 150.1 32 256 32c69.2 0 131 31.4 172.1 80.6L464 154.9V96c0-8.8 7.2-16 16-16s16 7.2 16 16v96c0 8.8-7.2 16-16 16H384c-8.8 0-16-7.2-16-16s7.2-16 16-16h55.9l-36.3-42.8 0 0-.1-.1zM272 144V272c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-8.8 7.2-16 16-16s16 7.2 16 16zM256 328a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM32 432c-8.8 0-16-7.2-16-16V320c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H72.1l36.3 42.8 0 0 .1 .1C143.7 421.1 196.7 448 256 448c90.8 0 166.9-63 186.9-147.7c2-8.6 10.7-13.9 19.3-11.9s13.9 10.6 11.9 19.2C450.7 406.5 361.9 480 256 480c-69.2 0-131-31.4-172.1-80.6L48 357.1V416c0 8.8-7.2 16-16 16z\"]\n};\nvar faFileCircleCheck = {\n prefix: 'fal',\n iconName: 'file-circle-check',\n icon: [576, 512, [], \"e5a0\", \"M64 480H296.2c9.8 11.8 21 22.3 33.5 31.3c-3.2 .5-6.4 .7-9.7 .7H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H220.1c12.7 0 24.9 5.1 33.9 14.1L369.9 129.9c9 9 14.1 21.2 14.1 33.9v34.7c-11.2 3.2-21.9 7.4-32 12.6V192H240c-26.5 0-48-21.5-48-48V32H64C46.3 32 32 46.3 32 64V448c0 17.7 14.3 32 32 32zM351.5 160c-.7-2.8-2.1-5.4-4.2-7.4L231.4 36.7c-2.1-2.1-4.6-3.5-7.4-4.2V144c0 8.8 7.2 16 16 16H351.5zM432 480a112 112 0 1 0 0-224 112 112 0 1 0 0 224zm0-256a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm67.3 100.7c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L416 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faGlass = {\n prefix: 'fal',\n iconName: 'glass',\n icon: [384, 512, [129371], \"f804\", \"M32.1 40.7c-.4-4.7 3.3-8.7 8-8.7H343.8c4.7 0 8.4 4 8 8.7L347.1 96H36.8L32.1 40.7zM39.5 128h305L317.2 450.7C315.8 467.3 302 480 285.4 480H98.6c-16.6 0-30.5-12.7-31.9-29.3L39.5 128zM40.1 0C16.7 0-1.7 20 .2 43.4l34.6 410C37.6 486.5 65.3 512 98.6 512H285.4c33.3 0 61-25.5 63.8-58.6l34.6-410C385.6 20 367.2 0 343.8 0H40.1z\"]\n};\nvar faLoader = {\n prefix: 'fal',\n iconName: 'loader',\n icon: [512, 512, [], \"e1d4\", \"M272 16v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V16c0-8.8 7.2-16 16-16s16 7.2 16 16zm0 384v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V400c0-8.8 7.2-16 16-16s16 7.2 16 16zM0 256c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16-7.2-16-16zm400-16h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H400c-8.8 0-16-7.2-16-16s7.2-16 16-16zM437 75c6.2 6.2 6.2 16.4 0 22.6l-67.9 67.9c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L414.4 75c6.2-6.2 16.4-6.2 22.6 0zM165.5 369.1L97.6 437c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l67.9-67.9c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zM75 75c6.2-6.2 16.4-6.2 22.6 0l67.9 67.9c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L75 97.6c-6.2-6.2-6.2-16.4 0-22.6zM369.1 346.5L437 414.4c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-67.9-67.9c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0z\"]\n};\nvar faForward = {\n prefix: 'fal',\n iconName: 'forward',\n icon: [512, 512, [9193], \"f04e\", \"M474.4 256L256 414.1V97.9L474.4 256zM254 64c-16.6 0-30 13.5-30 30V197.4L47.7 69.7C42.5 66 36.4 64 30 64C13.5 64 0 77.5 0 94V418c0 16.6 13.5 30 30 30c6.3 0 12.5-2 17.6-5.7L224 314.6V418c0 16.6 13.5 30 30 30c6.3 0 12.5-2 17.6-5.7L502.1 275.4c6.2-4.5 9.9-11.7 9.9-19.4s-3.7-14.9-9.9-19.4L271.7 69.7C266.5 66 260.4 64 254 64zM224 275.1L32 414.1V97.9l192 139v38.2z\"]\n};\nvar faUserPilot = {\n prefix: 'fal',\n iconName: 'user-pilot',\n icon: [448, 512, [], \"e2c0\", \"M230.9 .8c-4.6-1-9.3-1-13.9 0l-144 32C61.7 35.3 52.5 43.8 49.3 55.1s-.2 23.3 8.1 31.6L80 109.3v1.6c0 15.6 7.6 31.8 23.2 40.1c22.5 12 59.5 25 120.8 25s98.3-13.1 120.8-25c15.5-8.2 23.2-24.5 23.2-40.1v-1.6l22.6-22.6-6.2-6.2 6.2 6.2c8.3-8.3 11.4-20.4 8.1-31.6s-12.4-19.8-23.8-22.3l-144-32zM80 64L224 32 368 64 340.7 91.3c-3 3-4.7 7.1-4.7 11.3v8.2c0 5.8-2.8 10-6.2 11.8C312.2 132 280.4 144 224 144s-88.2-12-105.8-21.3c-3.4-1.8-6.2-6-6.2-11.8v-8.2c0-4.2-1.7-8.3-4.7-11.3L80 64zm41.5 320.8l70.9 62.1c18.1 15.8 45.1 15.8 63.2 0l70.9-62.1c48.4 6.1 86.2 45.9 89.3 95.2H32.2c3-49.3 40.9-89.1 89.3-95.2zm15.7-28.8c-3-2.6-6.8-4.1-10.7-3.8C55.9 356.3 0 414.8 0 486.4C0 500.5 11.5 512 25.6 512H422.4c14.1 0 25.6-11.5 25.6-25.6c0-71.6-55.9-130.1-126.5-134.2c-3.9-.2-7.8 1.2-10.7 3.8l-76.3 66.7c-6 5.3-15 5.3-21.1 0l-76.3-66.7zM304 432c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H320c-8.8 0-16 7.2-16 16zM96 192c0 70.7 57.3 128 128 128s128-57.3 128-128c0-2.9-.1-5.8-.3-8.7c-9.1 4.3-19.6 8.5-31.8 12.1C318.1 246.9 275.9 288 224 288s-94.1-41.1-95.9-92.6c-12.2-3.6-22.7-7.8-31.8-12.1c-.2 2.9-.3 5.8-.3 8.7zM183.2 65.7c-7.9-4-17.5-.7-21.5 7.2s-.7 17.5 7.2 21.5l48 24c4.5 2.3 9.8 2.3 14.3 0l48-24c7.9-4 11.1-13.6 7.2-21.5s-13.6-11.1-21.5-7.2L224 86.1 183.2 65.7z\"]\n};\nvar faMobile = {\n prefix: 'fal',\n iconName: 'mobile',\n icon: [384, 512, [128241, \"mobile-android\", \"mobile-phone\"], \"f3ce\", \"M96 32C78.3 32 64 46.3 64 64V448c0 17.7 14.3 32 32 32H288c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H96zM32 64C32 28.7 60.7 0 96 0H288c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V64zM160 400h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H160c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faMobileAndroid = faMobile;\nvar faMobilePhone = faMobile;\nvar faCodePullRequestClosed = {\n prefix: 'fal',\n iconName: 'code-pull-request-closed',\n icon: [512, 512, [], \"e3f9\", \"M160 80A48 48 0 1 0 64 80a48 48 0 1 0 96 0zm32 0c0 38.7-27.5 71-64 78.4V353.6c36.5 7.4 64 39.7 64 78.4c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-38.7 27.5-71 64-78.4V158.4C59.5 151 32 118.7 32 80C32 35.8 67.8 0 112 0s80 35.8 80 80zM64 432a48 48 0 1 0 96 0 48 48 0 1 0 -96 0zm336 48a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM384 353.6V208c0-8.8 7.2-16 16-16s16 7.2 16 16V353.6c36.5 7.4 64 39.7 64 78.4c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-38.7 27.5-71 64-78.4zM332.7 12.7c6.2-6.2 16.4-6.2 22.6 0L400 57.4l44.7-44.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L422.6 80l44.7 44.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L400 102.6l-44.7 44.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L377.4 80 332.7 35.3c-6.2-6.2-6.2-16.4 0-22.6z\"]\n};\nvar faFaceMeh = {\n prefix: 'fal',\n iconName: 'face-meh',\n icon: [512, 512, [128528, \"meh\"], \"f11a\", \"M480 256A224 224 0 1 1 32 256a224 224 0 1 1 448 0zM256 0a256 256 0 1 0 0 512A256 256 0 1 0 256 0zM176.4 232a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm184-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM176 336c-8.8 0-16 7.2-16 16s7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H176z\"]\n};\nvar faMeh = faFaceMeh;\nvar faAlignCenter = {\n prefix: 'fal',\n iconName: 'align-center',\n icon: [448, 512, [], \"f037\", \"M112 48c-8.8 0-16 7.2-16 16s7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H112zM16 176c-8.8 0-16 7.2-16 16s7.2 16 16 16H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H16zM96 320c0 8.8 7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H112c-8.8 0-16 7.2-16 16zM16 432c-8.8 0-16 7.2-16 16s7.2 16 16 16H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H16z\"]\n};\nvar faBookSkull = {\n prefix: 'fal',\n iconName: 'book-skull',\n icon: [448, 512, [\"book-dead\"], \"f6b7\", \"M0 64C0 28.7 28.7 0 64 0H400c26.5 0 48 21.5 48 48V368c0 20.9-13.4 38.7-32 45.3V480h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H64c-35.3 0-64-28.7-64-64l0 0L0 64zM64 416c-17.7 0-32 14.3-32 32s14.3 32 32 32H384V416H64zM32 392.6c9.4-5.4 20.3-8.6 32-8.6H400c8.8 0 16-7.2 16-16V48c0-8.8-7.2-16-16-16H64C46.3 32 32 46.3 32 64l0 328.6zM240 96c-38.9 0-64 24.6-64 48c0 14.1 8.4 28 24.2 37.5c4.8 2.9 7.8 8.1 7.8 13.7V208h64V195.2c0-5.6 2.9-10.8 7.8-13.7C295.6 172 304 158.1 304 144c0-23.4-25.1-48-64-48zm-96 48c0-47.3 46.5-80 96-80s96 32.7 96 80c0 24.6-13 45.6-32 59.7V216c0 13.3-10.7 24-24 24H200c-13.3 0-24-10.7-24-24V203.7c-19-14.1-32-35.1-32-59.7zm56 0a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm64-16a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM129.2 249.8c3.4-8.2 12.8-12 20.9-8.6L240 278.7l89.8-37.4c8.2-3.4 17.5 .5 20.9 8.6s-.5 17.5-8.6 20.9L281.6 296l60.6 25.2c8.2 3.4 12 12.8 8.6 20.9s-12.8 12-20.9 8.6L240 313.3l-89.8 37.4c-8.2 3.4-17.5-.5-20.9-8.6s.5-17.5 8.6-20.9L198.4 296l-60.6-25.2c-8.2-3.4-12-12.8-8.6-20.9z\"]\n};\nvar faBookDead = faBookSkull;\nvar faIdCard = {\n prefix: 'fal',\n iconName: 'id-card',\n icon: [576, 512, [62147, \"drivers-license\"], \"f2c2\", \"M64 64C46.3 64 32 78.3 32 96l512 0c0-17.7-14.3-32-32-32H64zM0 112V96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64v16V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V112zm544 16H32V416c0 17.7 14.3 32 32 32H512c17.7 0 32-14.3 32-32V128zM192 256a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0-96a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM160 352c-26.5 0-48 21.5-48 48c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-44.2 35.8-80 80-80h64c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-26.5-21.5-48-48-48H160zM336 208c0-8.8 7.2-16 16-16H480c8.8 0 16 7.2 16 16s-7.2 16-16 16H352c-8.8 0-16-7.2-16-16zm0 64c0-8.8 7.2-16 16-16H480c8.8 0 16 7.2 16 16s-7.2 16-16 16H352c-8.8 0-16-7.2-16-16zm0 64c0-8.8 7.2-16 16-16H480c8.8 0 16 7.2 16 16s-7.2 16-16 16H352c-8.8 0-16-7.2-16-16z\"]\n};\nvar faDriversLicense = faIdCard;\nvar faFaceDotted = {\n prefix: 'fal',\n iconName: 'face-dotted',\n icon: [512, 512, [129765], \"e47f\", \"M256 0c-17.1 0-33.8 1.7-49.9 4.9c-8.7 1.7-14.3 10.1-12.6 18.8s10.1 14.3 18.8 12.6C226.4 33.5 241 32 256 32s29.6 1.5 43.7 4.3c8.7 1.7 17.1-3.9 18.8-12.6s-3.9-17.1-12.6-18.8C289.8 1.7 273.1 0 256 0zM398.2 43.1c-7.3-4.9-17.3-2.9-22.2 4.4s-2.9 17.3 4.4 22.2c24.4 16.4 45.5 37.4 61.8 61.8c4.9 7.3 14.9 9.3 22.2 4.4s9.3-14.9 4.4-22.2c-18.7-27.9-42.7-51.9-70.6-70.6zM131.6 69.7c7.3-4.9 9.3-14.9 4.4-22.2s-14.9-9.3-22.2-4.4C85.8 61.8 61.8 85.8 43.1 113.8c-4.9 7.3-2.9 17.3 4.4 22.2s17.3 2.9 22.2-4.4c16.4-24.4 37.4-45.5 61.8-61.8zM36.3 212.3c1.7-8.7-3.9-17.1-12.6-18.8s-17.1 3.9-18.8 12.6C1.7 222.2 0 238.9 0 256s1.7 33.8 4.9 49.9c1.7 8.7 10.1 14.3 18.8 12.6s14.3-10.1 12.6-18.8C33.5 285.6 32 271 32 256s1.5-29.6 4.3-43.7zm470.9-6.2c-1.7-8.7-10.1-14.3-18.8-12.6s-14.3 10.1-12.6 18.8c2.8 14.1 4.3 28.8 4.3 43.7s-1.5 29.6-4.3 43.7c-1.7 8.7 3.9 17.1 12.6 18.8s17.1-3.9 18.8-12.6c3.2-16.2 4.9-32.9 4.9-49.9s-1.7-33.8-4.9-49.9zM69.7 380.4c-4.9-7.3-14.9-9.3-22.2-4.4s-9.3 14.9-4.4 22.2c18.7 27.9 42.7 51.9 70.6 70.6c7.3 4.9 17.3 3 22.2-4.4s2.9-17.3-4.4-22.2c-24.4-16.4-45.5-37.4-61.8-61.8zm399.2 17.8c4.9-7.3 3-17.3-4.4-22.2s-17.3-2.9-22.2 4.4c-16.4 24.4-37.4 45.5-61.8 61.8c-7.3 4.9-9.3 14.9-4.4 22.2s14.9 9.3 22.2 4.4c27.9-18.7 51.9-42.7 70.6-70.6zM212.3 475.7c-8.7-1.7-17.1 3.9-18.8 12.6s3.9 17.1 12.6 18.8c16.2 3.2 32.9 4.9 49.9 4.9s33.8-1.7 49.9-4.9c8.7-1.7 14.3-10.1 12.6-18.8s-10.1-14.3-18.8-12.6C285.6 478.5 271 480 256 480s-29.6-1.5-43.7-4.3zM176.4 232a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm184-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM184 336c-8.8 0-16 7.2-16 16s7.2 16 16 16H328c8.8 0 16-7.2 16-16s-7.2-16-16-16H184z\"]\n};\nvar faFaceWorried = {\n prefix: 'fal',\n iconName: 'face-worried',\n icon: [512, 512, [], \"e3a3\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM308.9 429.8c-16.2-6.1-34-9.4-52.9-9.4c-18.8 0-36.7 3.4-52.9 9.4c-11.2 4.2-23.6 2.3-32.4-4.5c-4.5-3.5-8.4-8.6-10-15.1c-1.6-6.7-.5-13.5 2.7-19.5C180.9 358 215.9 336 256 336c40.1 0 75.2 22.1 92.5 54.7c3.2 6 4.3 12.8 2.7 19.5c-1.6 6.5-5.5 11.6-10 15.1c-8.8 6.8-21.2 8.7-32.4 4.5zM256 368c-24.9 0-46.7 12.1-59.6 30.2c18.5-6.4 38.6-9.8 59.6-9.8c21 0 41.1 3.5 59.6 9.9C302.7 380 280.9 368 256 368zM152.4 272a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm184-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM192 160c-4.4 0-8.8 .3-13 .9c-21.2 2.8-40.6 12.4-56.1 26.8c-6.5 6-16.6 5.7-22.6-.8s-5.7-16.6 .8-22.6c20.1-18.7 45.5-31.5 73.7-35.2c5.6-.7 11.4-1.1 17.2-1.1c8.8 0 16 7.2 16 16s-7.2 16-16 16zm141 .9c-4.3-.6-8.6-.9-13-.9c-8.8 0-16-7.2-16-16s7.2-16 16-16c5.8 0 11.6 .4 17.2 1.1c28.2 3.7 53.7 16.4 73.7 35.2c6.5 6 6.8 16.2 .8 22.6s-16.2 6.8-22.6 .8c-15.5-14.5-34.8-24-56.1-26.8z\"]\n};\nvar faOutdent = {\n prefix: 'fal',\n iconName: 'outdent',\n icon: [448, 512, [\"dedent\"], \"f03b\", \"M0 64c0 8.8 7.2 16 16 16H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H16C7.2 48 0 55.2 0 64zM192 192c0 8.8 7.2 16 16 16H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H208c-8.8 0-16 7.2-16 16zm16 112c-8.8 0-16 7.2-16 16s7.2 16 16 16H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H208zM0 448c0 8.8 7.2 16 16 16H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H16c-8.8 0-16 7.2-16 16zM96 211.8v88.4L42.3 256 96 211.8zM7 243.6C-.8 250-.8 262 7 268.4l94.8 78.1c10.4 8.6 26.2 1.2 26.2-12.4V177.9c0-13.5-15.7-20.9-26.2-12.4L7 243.6z\"]\n};\nvar faDedent = faOutdent;\nvar faCourtSport = {\n prefix: 'fal',\n iconName: 'court-sport',\n icon: [640, 512, [], \"e643\", \"M64 64C46.3 64 32 78.3 32 96v32H64c35.3 0 64 28.7 64 64V320c0 35.3-28.7 64-64 64H32v32c0 17.7 14.3 32 32 32H304V350.7c-45.4-7.6-80-47.1-80-94.7s34.6-87.1 80-94.7V64H64zM336 350.7V448H576c17.7 0 32-14.3 32-32V384H576c-35.3 0-64-28.7-64-64V192c0-35.3 28.7-64 64-64h32V96c0-17.7-14.3-32-32-32H336v97.3c45.4 7.6 80 47.1 80 94.7s-34.6 87.1-80 94.7zM336 194V318c27.6-7.1 48-32.2 48-62s-20.4-54.9-48-62zm-32 0c-27.6 7.1-48 32.2-48 62s20.4 54.9 48 62V194zM32 160V352H64c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32H32zM576 352h32V160H576c-17.7 0-32 14.3-32 32V320c0 17.7 14.3 32 32 32zM0 96C0 60.7 28.7 32 64 32H576c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96z\"]\n};\nvar faHeartCircleExclamation = {\n prefix: 'fal',\n iconName: 'heart-circle-exclamation',\n icon: [576, 512, [], \"e4fe\", \"M244 130.6l-12-13.5-4.2-4.7c-26-29.2-65.3-42.8-103.8-35.8c-53.3 9.7-92 56.1-92 110.3v3.5c0 32.3 13.4 63.1 37.1 85.1L253 446.8c.8 .7 1.9 1.2 3 1.2s2.2-.4 3-1.2l10.9-10.2c4.3 10.2 9.6 20 15.7 29.1l-4.9 4.5c-.8 .8-1.7 1.5-2.6 2.2c-6.3 4.9-14.1 7.5-22.1 7.5c-9.2 0-18-3.5-24.8-9.7L47.2 299c-3.8-3.5-7.3-7.2-10.7-11C13.1 261 0 226.4 0 190.4v-3.5C0 117.3 49.8 57.6 118.3 45.1c40.9-7.4 82.6 3.2 114.7 28.4c6.7 5.3 13 11.1 18.7 17.6l4.2 4.7 4.2-4.7c4.2-4.7 8.6-9.1 13.3-13.1c1.8-1.5 3.6-3 5.4-4.5C311 48.4 352.7 37.7 393.7 45.1C462.2 57.6 512 117.3 512 186.9v3.5c0 6.8-.5 13.5-1.4 20.1c-9.8-4.9-20.2-8.9-30.9-12c.2-2.7 .3-5.4 .3-8.1v-3.5c0-54.2-38.7-100.6-92-110.3c-38.5-7-77.8 6.6-103.8 35.8l-4.2 4.7-12 13.5c-3 3.4-7.4 5.4-12 5.4s-8.9-2-12-5.4zM544 368a112 112 0 1 0 -224 0 112 112 0 1 0 224 0zm-256 0a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144 32a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-112c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V304c0-8.8 7.2-16 16-16z\"]\n};\nvar faHouse = {\n prefix: 'fal',\n iconName: 'house',\n icon: [576, 512, [127968, 63498, 63500, \"home\", \"home-alt\", \"home-lg-alt\"], \"f015\", \"M298.6 4c-6-5.3-15.1-5.3-21.2 0L5.4 244c-6.6 5.8-7.3 16-1.4 22.6s16 7.3 22.6 1.4L64 235V432c0 44.2 35.8 80 80 80H432c44.2 0 80-35.8 80-80V235l37.4 33c6.6 5.8 16.7 5.2 22.6-1.4s5.2-16.7-1.4-22.6L298.6 4zM96 432V206.7L288 37.3 480 206.7V432c0 26.5-21.5 48-48 48H368V320c0-17.7-14.3-32-32-32H240c-17.7 0-32 14.3-32 32V480H144c-26.5 0-48-21.5-48-48zm144 48V320h96V480H240z\"]\n};\nvar faHome = faHouse;\nvar faHomeAlt = faHouse;\nvar faHomeLgAlt = faHouse;\nvar faVectorCircle = {\n prefix: 'fal',\n iconName: 'vector-circle',\n icon: [512, 512, [], \"e2c6\", \"M280 32c4.4 0 8 3.6 8 8l0 10.4V82.9l0 5.1c0 4.4-3.6 8-8 8H232c-4.4 0-8-3.6-8-8V40c0-4.4 3.6-8 8-8h48zm40 26V40c0-22.1-17.9-40-40-40H232c-22.1 0-40 17.9-40 40V58C128.6 78.5 78.5 128.6 58 192H40c-22.1 0-40 17.9-40 40v48c0 22.1 17.9 40 40 40H58c20.5 63.4 70.6 113.5 134 134v18c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V454c63.4-20.5 113.5-70.6 134-134h18c22.1 0 40-17.9 40-40V232c0-22.1-17.9-40-40-40H454C433.5 128.6 383.4 78.5 320 58zm-.2 33.9c45.9 17.9 82.4 54.4 100.3 100.3c-20.2 2-36.1 19-36.1 39.8v48c0 20.8 15.8 37.8 36.1 39.8c-17.9 45.9-54.4 82.4-100.3 100.3c-2-20.2-19-36.1-39.8-36.1H232c-20.8 0-37.8 15.8-39.8 36.1c-45.9-17.9-82.4-54.4-100.3-100.3c20.2-2 36.1-19 36.1-39.8V232c0-20.8-15.8-37.8-36.1-39.8c17.9-45.9 54.4-82.4 100.3-100.3c2 20.2 19 36.1 39.8 36.1h48c20.8 0 37.8-15.8 39.8-36.1zM429.1 224s0 0 0 0h32.5s0 0 0 0H472c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H424c-4.4 0-8-3.6-8-8V232c0-4.4 3.6-8 8-8h5.1zM288 429.1v32.5l0 10.4c0 4.4-3.6 8-8 8H232c-4.4 0-8-3.6-8-8V424c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8l0 5.1zM50.4 224s0 0 0 0H82.9s0 0 0 0H88c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H40c-4.4 0-8-3.6-8-8V232c0-4.4 3.6-8 8-8H50.4z\"]\n};\nvar faCarCircleBolt = {\n prefix: 'fal',\n iconName: 'car-circle-bolt',\n icon: [640, 512, [], \"e342\", \"M113.6 98.2c6.1-20.3 24.8-34.2 46-34.2H352.4c21.2 0 39.9 13.9 46 34.2l28.3 94.4c-3.5-.4-7.1-.6-10.7-.6H96c-3.6 0-7.2 .2-10.7 .6l28.3-94.4zM74.3 227.8l.5 .1 .1-.3c6.6-2.3 13.8-3.6 21.2-3.6H394.8c19.5-13.7 41.9-23.6 66.2-28.5L429 89c-10.2-33.8-41.3-57-76.6-57H159.6C124.3 32 93.1 55.2 83 89L48.7 203.4l-.4 1.3C19.4 221.2 0 252.3 0 288v96 16 16 48c0 8.8 7.2 16 16 16s16-7.2 16-16V416H326.6c-2.9-10.3-4.9-21-5.9-32H32V288c0-27.7 17.6-51.3 42.3-60.2zM104 320a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm280 48a112 112 0 1 1 224 0 112 112 0 1 1 -224 0zm256 0a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-96.1-81c-4.3-3.7-10.6-4-15.1-.6l-96 72c-4.1 3.1-5.8 8.5-4.2 13.4s6.2 8.2 11.4 8.2h35.6l-30.1 54.2c-2.8 5-1.7 11.1 2.6 14.9s10.6 4 15.1 .6l96-72c4.1-3.1 5.8-8.5 4.2-13.4s-6.2-8.2-11.4-8.2H516.4l30.1-54.2c2.8-5 1.7-11.1-2.6-14.9z\"]\n};\nvar faCalendarWeek = {\n prefix: 'fal',\n iconName: 'calendar-week',\n icon: [448, 512, [], \"f784\", \"M128 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V64H64C28.7 64 0 92.7 0 128v32 32V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V192 160 128c0-35.3-28.7-64-64-64H352V16c0-8.8-7.2-16-16-16s-16 7.2-16 16V64H128V16zM32 192H416V448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V192zM64 96H384c17.7 0 32 14.3 32 32v32H32V128c0-17.7 14.3-32 32-32zm40 160H344c4.4 0 8 3.6 8 8v80c0 4.4-3.6 8-8 8H104c-4.4 0-8-3.6-8-8V264c0-4.4 3.6-8 8-8zm-40 8v80c0 22.1 17.9 40 40 40H344c22.1 0 40-17.9 40-40V264c0-22.1-17.9-40-40-40H104c-22.1 0-40 17.9-40 40z\"]\n};\nvar faFlyingDisc = {\n prefix: 'fal',\n iconName: 'flying-disc',\n icon: [448, 512, [], \"e3a9\", \"M401.7 78.3c14.5 14.5 21.3 46 4.4 96.7c-16.2 48.7-52 105.9-104.6 158.5S191.8 421.9 143.1 438.1c-50.8 16.9-82.3 10-96.7-4.4c-12.1-12.1-18.9-36.1-10.9-73.4c3 5.8 7 11.5 12.3 16.8c20 20 45.9 21.8 63.4 19.8c18.1-2 36.3-8.8 52.8-17c33.6-16.6 70.7-44.5 105.1-78.9s62.2-71.5 78.9-105.1c8.2-16.6 14.9-34.7 17-52.8c2-17.5 .2-43.4-19.8-63.4c-5.3-5.3-11-9.3-16.8-12.3c37.2-8 61.3-1.2 73.4 10.9zM105.1 175.5C8.3 282-28.4 404.2 23.7 456.3C79 511.6 213.5 466.8 324.1 356.2S479.6 111 424.3 55.7C372.2 3.6 250 40.3 143.6 137c-6.7 6-13.3 12.3-19.8 18.8c-6.5 6.5-12.8 13.1-18.7 19.7zM128.8 197c5.7-6.2 11.5-12.4 17.6-18.5c6.1-6.1 12.3-12 18.5-17.7c26.8-24.2 54-43.2 78.1-55.2c14.8-7.3 29.2-12.4 42.2-13.9c13-1.5 27 .5 37.2 10.6s12.1 24.2 10.6 37.2c-1.5 13-6.5 27.4-13.9 42.2c-14.7 29.7-40.3 64.1-72.8 96.7s-67 58.1-96.7 72.8c-14.8 7.3-29.2 12.4-42.2 13.9c-13 1.5-27-.5-37.2-10.6s-12.1-24.2-10.6-37.2c1.5-13 6.5-27.4 13.9-42.2c12-24.1 31-51.3 55.2-78.1z\"]\n};\nvar faLaptopMedical = {\n prefix: 'fal',\n iconName: 'laptop-medical',\n icon: [640, 512, [], \"f812\", \"M128 64H512c17.7 0 32 14.3 32 32V352h32V96c0-35.3-28.7-64-64-64H128C92.7 32 64 60.7 64 96V352H96V96c0-17.7 14.3-32 32-32zM33.9 416H606.1c-5.5 18.5-22.6 32-42.9 32H76.8c-20.3 0-37.4-13.5-42.9-32zM19.2 384C8.6 384 0 392.6 0 403.2C0 445.6 34.4 480 76.8 480H563.2c42.4 0 76.8-34.4 76.8-76.8c0-10.6-8.6-19.2-19.2-19.2H19.2zM304 112c-17.7 0-32 14.3-32 32v32H240c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32h32v32c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V272h32c17.7 0 32-14.3 32-32V208c0-17.7-14.3-32-32-32H368V144c0-17.7-14.3-32-32-32H304zm0 32h32v48c0 8.8 7.2 16 16 16h48v32H352c-8.8 0-16 7.2-16 16v48H304V256c0-8.8-7.2-16-16-16H240V208h48c4.2 0 8.3-1.7 11.3-4.7s4.7-7.1 4.7-11.3V144z\"]\n};\nvar faSquareDownRight = {\n prefix: 'fal',\n iconName: 'square-down-right',\n icon: [448, 512, [], \"e26c\", \"M384 448c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384zm64-32c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416zM304 328V214.6c0-3.7-3-6.6-6.6-6.6c-1.8 0-3.4 .7-4.7 1.9l-25.4 25.4c-6.2 6.2-16.4 6.2-22.6 0l-59.1-59.1c-3.6-3.6-9-4.9-13.9-3.3c-2 .7-3.8 1.8-5.3 3.3l-22.1 22.1c-1.5 1.5-2.6 3.3-3.3 5.3c-1.6 4.9-.4 10.3 3.3 13.9l59.1 59.1c6.2 6.2 6.2 16.4 0 22.6l-25.4 25.4c-1.2 1.2-1.9 2.9-1.9 4.7c0 3.7 3 6.6 6.6 6.6H296c4.4 0 8-3.6 8-8zm-8 40H182.6c-21.3 0-38.6-17.3-38.6-38.6c0-10.2 4.1-20.1 11.3-27.3L169.4 288l-47.7-47.7c-12.2-12.2-16.5-30.3-11-46.7c2.2-6.7 6-12.8 11-17.8l22.1-22.1c5-5 11.1-8.8 17.8-11c16.4-5.5 34.5-1.2 46.7 11L256 201.4l14.1-14.1c7.2-7.2 17.1-11.3 27.3-11.3c21.3 0 38.6 17.3 38.6 38.6V328c0 22.1-17.9 40-40 40z\"]\n};\nvar faB = {\n prefix: 'fal',\n iconName: 'b',\n icon: [320, 512, [98], \"42\", \"M48 32C21.5 32 0 53.5 0 80V240 432c0 26.5 21.5 48 48 48H192c70.7 0 128-57.3 128-128c0-52.8-32-98.2-77.7-117.7C270 213.9 288 181 288 144c0-61.9-50.1-112-112-112H48zM192 256c53 0 96 43 96 96s-43 96-96 96H48c-8.8 0-16-7.2-16-16V256H176h16zm-16-32H32V80c0-8.8 7.2-16 16-16H176c44.2 0 80 35.8 80 80s-35.8 80-80 80z\"]\n};\nvar faSeatAirline = {\n prefix: 'fal',\n iconName: 'seat-airline',\n icon: [448, 512, [], \"e244\", \"M32 16C32 7.2 24.8 0 16 0S0 7.2 0 16V142.3c0 14 3.1 27.9 9 40.6l87.3 187C109.4 398 137.7 416 168.8 416H224v64H112c-8.8 0-16 7.2-16 16s7.2 16 16 16H368c8.8 0 16-7.2 16-16s-7.2-16-16-16H256V416H358.2c27 0 51.2-17 60.3-42.5l28.6-80.1c1.8-4.9 1-10.3-2-14.6s-7.9-6.8-13.1-6.8H85.9L63.5 224H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H48.6L38 169.3c-4-8.5-6-17.7-6-27.1V16zM240 384H168.8c-18.6 0-35.6-10.8-43.5-27.7L100.9 304H409.3l-21 58.8c-4.6 12.7-16.6 21.2-30.1 21.2H240z\"]\n};\nvar faMoonOverSun = {\n prefix: 'fal',\n iconName: 'moon-over-sun',\n icon: [512, 512, [\"eclipse-alt\"], \"f74a\", \"M371.1 13.1c-1-5.3-4.6-9.8-9.6-11.9s-10.7-1.5-15.2 1.6L256 65.1 165.7 2.8c-4.5-3.1-10.2-3.7-15.2-1.6s-8.6 6.6-9.6 11.9L121 121 13.1 140.8c-5.3 1-9.8 4.6-11.9 9.6s-1.5 10.7 1.6 15.2L65.1 256 2.8 346.3c-3.1 4.5-3.7 10.2-1.6 15.2s6.6 8.6 11.9 9.6L121 391l19.8 107.9c1 5.3 4.6 9.8 9.6 11.9s10.7 1.5 15.2-1.6L256 446.9l90.3 62.3c4.5 3.1 10.2 3.7 15.2 1.6s8.6-6.6 9.6-11.9L391 391l107.9-19.8c5.3-1 9.8-4.6 11.9-9.6s1.5-10.7-1.6-15.2L446.9 256l62.3-90.3c3.1-4.5 3.7-10.2 1.6-15.2s-6.6-8.6-11.9-9.6L391 121 371.1 13.1zM265.1 97.7l79.1-54.5 17.4 94.5c1.2 6.5 6.3 11.6 12.8 12.8l94.5 17.4-54.5 79.1c-3.8 5.5-3.8 12.7 0 18.2l54.5 79.1-94.5 17.4c-6.5 1.2-11.6 6.3-12.8 12.8l-17.4 94.5-79.1-54.5c-5.5-3.8-12.7-3.8-18.2 0l-79.1 54.5-17.4-94.5c-1.2-6.5-6.3-11.6-12.8-12.8L43.2 344.1l54.5-79.1c3.8-5.5 3.8-12.7 0-18.2L43.2 167.8l94.5-17.4c6.5-1.2 11.6-6.3 12.8-12.8l17.4-94.5 79.1 54.5c5.5 3.8 12.7 3.8 18.2 0zM174.2 256c0-43.2 33.9-78.7 77-81.6c-19.3 15.2-31.7 38.7-31.7 65.1c0 46 37.6 83.2 83.9 83.2l1.2 0c-13.5 9.5-30 15.1-47.8 15.1c-45.7 0-82.6-36.6-82.6-81.8zm82.6-113.8c-63 0-114.6 50.7-114.6 113.8s51.6 113.8 114.6 113.8c31 0 59.1-12.2 79.8-32.1c8.9-8.5 11.1-21.8 5.6-32.8s-17.6-17-29.7-15c-2.9 .5-5.9 .8-9 .8c-28.9 0-51.9-23.2-51.9-51.2c0-18.9 10.5-35.6 26.3-44.5c10.7-6 16.3-18.3 13.7-30.4s-12.8-20.9-25-22c-3.2-.3-6.4-.4-9.7-.4z\"]\n};\nvar faEclipseAlt = faMoonOverSun;\nvar faPipe = {\n prefix: 'fal',\n iconName: 'pipe',\n icon: [64, 512, [], \"7c\", \"M32 0c8.8 0 16 7.2 16 16V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V16C16 7.2 23.2 0 32 0z\"]\n};\nvar faFileMedical = {\n prefix: 'fal',\n iconName: 'file-medical',\n icon: [384, 512, [], \"f477\", \"M320 480H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H192V144c0 26.5 21.5 48 48 48H352V448c0 17.7-14.3 32-32 32zM240 160c-8.8 0-16-7.2-16-16V32.5c2.8 .7 5.4 2.1 7.4 4.2L347.3 152.6c2.1 2.1 3.5 4.6 4.2 7.4H240zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V163.9c0-12.7-5.1-24.9-14.1-33.9L254.1 14.1c-9-9-21.2-14.1-33.9-14.1H64zM176 224c-17.7 0-32 14.3-32 32v32H112c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32h32v32c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V384h32c17.7 0 32-14.3 32-32V320c0-17.7-14.3-32-32-32H240V256c0-17.7-14.3-32-32-32H176zm0 80V256h32v48c0 8.8 7.2 16 16 16h48v32H224c-8.8 0-16 7.2-16 16v48H176V368c0-8.8-7.2-16-16-16H112V320h48c4.2 0 8.3-1.7 11.3-4.7s4.7-7.1 4.7-11.3z\"]\n};\nvar faPotato = {\n prefix: 'fal',\n iconName: 'potato',\n icon: [512, 512, [129364], \"e440\", \"M480 144c0-61.9-50.1-112-112-112c-31 0-59 12.5-79.3 32.9c-29.6 29.7-65.7 56.7-102.4 76.8c-18.8 10.3-34.3 25.8-44.6 44.6C121.6 223 94.6 259.1 64.9 288.7C44.5 309 32 337 32 368c0 61.9 50.1 112 112 112c23.6 0 45.4-7.3 63.4-19.6c30.5-21 65.4-38.4 100.4-50.2c34.4-11.6 62.4-39.6 72.4-77.2c10.7-39.9 34.1-78.9 64.3-107.2C466.4 205.3 480 176.3 480 144zm32 0c0 41.5-17.6 78.9-45.7 105.2c-25.8 24.2-46.1 57.9-55.2 92.1c-12.9 48.3-49 84.3-93.1 99.2c-32.3 10.9-64.4 26.9-92.5 46.2C202.4 502.7 174.3 512 144 512C64.5 512 0 447.5 0 368c0-39.8 16.2-75.9 42.3-102C69.8 238.6 95 205 113.6 170.9c13.2-24.1 33.1-44 57.3-57.3C205 95 238.6 69.8 266 42.3C292.1 16.2 328.2 0 368 0c79.5 0 144 64.5 144 144zM180 264a20 20 0 1 1 0-40 20 20 0 1 1 0 40zM168 396a20 20 0 1 1 -40 0 20 20 0 1 1 40 0zM364 200a20 20 0 1 1 0-40 20 20 0 1 1 0 40z\"]\n};\nvar faDiceOne = {\n prefix: 'fal',\n iconName: 'dice-one',\n icon: [448, 512, [9856], \"f525\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM224 232a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faCircleA = {\n prefix: 'fal',\n iconName: 'circle-a',\n icon: [512, 512, [], \"e0f7\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-400c-6.1 0-11.6 3.4-14.3 8.8l-112 224c-4 7.9-.7 17.5 7.2 21.5s17.5 .7 21.5-7.2L185.9 304H326.1l27.6 55.2c4 7.9 13.6 11.1 21.5 7.2s11.1-13.6 7.2-21.5l-112-224c-2.7-5.4-8.3-8.8-14.3-8.8zm0 51.8L310.1 272H201.9L256 163.8z\"]\n};\nvar faHelmetBattle = {\n prefix: 'fal',\n iconName: 'helmet-battle',\n icon: [576, 512, [], \"f6eb\", \"M84.4 .6c8.5 2.4 13.4 11.3 11 19.8l-53 185.5C39.8 215 46.6 224 56 224c8.8 0 16 7.2 16 16s-7.2 16-16 16c-30.7 0-52.8-29.4-44.4-58.9l53-185.5C67 3.1 75.9-1.8 84.4 .6zM285.4 32c-1.3 0-2.2 .3-2.9 .6c-13.2 6.8-52.7 28.3-88.6 60.1C157.4 125 128 164.8 128 208c0 41.7-8.3 92.9-16.3 133.1c-4 20.2-8.1 37.9-11.1 50.6c-.7 3-1.4 5.8-2 8.2L240 477.7V285.1l-45.9-9.2c-19.8-4-34.1-21.4-34.1-41.6c0-23.4 19-42.4 42.4-42.4H373.6c23.4 0 42.4 19 42.4 42.4c0 20.2-14.3 37.6-34.1 41.6L336 285.1V477.7l141.4-77.8c-.6-2.4-1.3-5.2-2-8.2c-3-12.6-7.1-30.4-11.1-50.6c-8-40.2-16.3-91.5-16.3-133.1c0-43.2-29.4-83-65.9-115.3c-35.9-31.8-75.4-53.3-88.6-60.1c-.7-.4-1.6-.6-2.9-.6h-5.2zm226 371.9c1.9 7.1-1.3 14.6-7.7 18.1L346.3 508.6c-3.9 2.1-8.2 3.3-12.6 3.5c-16.2 .7-29.7-12.3-29.7-28.5V285.1c0-15.3 10.8-28.4 25.7-31.4l45.9-9.2c4.9-1 8.3-5.2 8.3-10.2c0-5.7-4.6-10.4-10.4-10.4H202.4c-5.7 0-10.4 4.6-10.4 10.4c0 4.9 3.5 9.2 8.3 10.2l45.9 9.2c15 3 25.7 16.1 25.7 31.4V483.6c0 16.2-13.5 29.2-29.7 28.5c-4.4-.2-8.7-1.4-12.6-3.5L72.3 422c-6.4-3.5-9.6-11-7.7-18.1l0 0 0 0 0 0 0-.1 .1-.2 .3-1c.2-.9 .6-2.2 1-3.9c.9-3.4 2.1-8.3 3.6-14.5c3-12.3 6.9-29.6 10.9-49.4C88.3 295.1 96 246.3 96 208c0-57.5 38.5-105.4 76.7-139.3c38.8-34.3 81-57.3 95.2-64.6C273.5 1.3 279.5 0 285.4 0h5.2c5.9 0 11.9 1.3 17.5 4.2c14.2 7.3 56.3 30.2 95.2 64.6C441.5 102.6 480 150.5 480 208c0 38.3 7.7 87.1 15.7 126.9c4 19.8 7.9 37.1 10.9 49.4c1.5 6.2 2.7 11.1 3.6 14.5c.4 1.7 .8 3 1 3.9l.3 1 .1 .2 0 .1 0 0 0 0 0 0zm-.1-392.3l53 185.5c8.4 29.5-13.7 58.9-44.4 58.9c-8.8 0-16-7.2-16-16s7.2-16 16-16c9.4 0 16.2-9 13.6-18.1l-53-185.5c-2.4-8.5 2.5-17.4 11-19.8s17.4 2.5 19.8 11z\"]\n};\nvar faButter = {\n prefix: 'fal',\n iconName: 'butter',\n icon: [640, 512, [129480], \"e3e4\", \"M480 96V288H448V96H128c-17.7 0-32 14.3-32 32V288H64V128c0-35.3 28.7-64 64-64H448h16 16 32c35.3 0 64 28.7 64 64V288H544V128c0-17.7-14.3-32-32-32H480zM0 336c0-8.8 7.2-16 16-16H32 64 576h32 16c8.8 0 16 7.2 16 16s-7.2 16-16 16H608v48c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48V352H16c-8.8 0-16-7.2-16-16zm64 16v48c0 8.8 7.2 16 16 16H560c8.8 0 16-7.2 16-16V352H64z\"]\n};\nvar faBlanketFire = {\n prefix: 'fal',\n iconName: 'blanket-fire',\n icon: [640, 512, [], \"e3da\", \"M32 96c0-35.3 28.7-64 64-64H352c35.3 0 64 28.7 64 64v41c9.4-6.9 20.9-9.8 32-8.8V96c0-53-43-96-96-96H96C43 0 0 43 0 96V352c0 53 43 96 96 96H314.4c-5.9-10.1-10.9-20.9-14.9-32H96c-35.3 0-64-28.7-64-64s28.7-64 64-64H301.8c4.4-10.9 9.7-21.6 15.5-32H96c-24.6 0-47 9.2-64 24.4V96zM288 350.1c0-4.6 .3-9.3 .8-14.1H96c-8.8 0-16 7.2-16 16s7.2 16 16 16H288.8c-.5-5.9-.8-11.9-.8-17.9zm159.1-157l47.4 49.8c3.1 3.2 7.4 5 11.9 5s8.7-2 11.7-5.4l21-23.7c16.6 15.9 33.7 37.3 46.7 60.7c13.7 24.6 22.2 50 22.2 72.6c0 33.5-12.7 63.9-33.6 86.6c1-5.2 1.6-10.7 1.6-16.2c0-57.4-63.8-110.5-87.4-128.2c-5.2-3.9-12.1-3.9-17.3 0C447.8 312.1 384 365.2 384 422.6c0 5.7 .6 11.2 1.6 16.6c-21-22.8-33.6-53.3-33.6-87c0-28.4 12.4-58.2 31.4-86.7c18.4-27.5 42-52.6 63.7-72.3zM480 480c-2.4 0-4.7-.1-7-.2c-33.7-3.2-57-29.4-57-57.3c0-17.4 10.1-37.7 27.4-58.5c12.1-14.5 25.8-27 36.6-35.8c10.7 8.8 24.5 21.3 36.6 35.8c17.3 20.7 27.4 41.1 27.4 58.5c0 27.8-23.2 54-56.9 57.3c-2.4 .1-4.7 .2-7.1 .2zM320 352.2c0 85.6 65.7 155 150.9 159.6c3 .3 6 .4 9.1 .4c3.1 0 6.2-.1 9.2-.4C573.6 507 640 437.7 640 352.2c0-30-11-60.9-26.2-88.1c-15.2-27.4-35.3-52.3-55-70.6c-11.2-10.4-28.5-10.4-39.7-.1c-.4 .4-.8 .7-1.1 1.2l-12.3 13.8-37.9-39.9c-.3-.3-.5-.5-.8-.8c-11.1-10.1-28.1-10.1-39.3-.1c-23.4 21.1-50 48.9-70.9 80.2C336 278.8 320 314.8 320 352.2z\"]\n};\nvar faKiwiBird = {\n prefix: 'fal',\n iconName: 'kiwi-bird',\n icon: [576, 512, [], \"f535\", \"M192 384c33.9 0 65.3-10.5 91.2-28.5c33.7-23.4 78.2-51.5 130.4-51.5H464c44.2 0 80-35.8 80-80s-35.8-80-80-80H413.6c-52.2 0-96.7-28.1-130.4-51.5C257.3 74.5 225.9 64 192 64C103.6 64 32 135.6 32 224s71.6 160 160 160zm311.3-55.1L544 402.3V302.4c-11.4 11.6-25.2 20.7-40.7 26.5zM546 471.8l-75.5-136c-2.1 .1-4.3 .2-6.5 .2H413.6c-41.2 0-78.3 22.3-112.1 45.8c-13.9 9.7-29.2 17.5-45.4 23.3V464c0 8.8-7.2 16-16 16s-16-7.2-16-16V413.3c-10.4 1.7-21.1 2.7-32 2.7c-22.4 0-44-3.8-64-10.9V464c0 8.8-7.2 16-16 16s-16-7.2-16-16V390.3C38.6 357.1 0 295.1 0 224C0 118 86 32 192 32c40.7 0 78.4 12.6 109.4 34.2c33.8 23.5 71 45.8 112.1 45.8H464c61.9 0 112 50.1 112 112V464c0 7.3-4.9 13.7-12 15.5s-14.5-1.3-18-7.7zM448 200a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faCastle = {\n prefix: 'fal',\n iconName: 'castle',\n icon: [640, 512, [], \"e0de\", \"M128 40c0-22.1 17.9-40 40-40h24c22.1 0 40 17.9 40 40V64h32V40c0-22.1 17.9-40 40-40h32c22.1 0 40 17.9 40 40V64h32V40c0-22.1 17.9-40 40-40h24c22.1 0 40 17.9 40 40V224h32V200c0-22.1 17.9-40 40-40h16c22.1 0 40 17.9 40 40V432c0 44.2-35.8 80-80 80H80c-44.2 0-80-35.8-80-80V200c0-22.1 17.9-40 40-40H56c22.1 0 40 17.9 40 40v24h32V40zm40-8c-4.4 0-8 3.6-8 8V224H480V40c0-4.4-3.6-8-8-8H448c-4.4 0-8 3.6-8 8V80c0 8.8-7.2 16-16 16H360c-8.8 0-16-7.2-16-16V40c0-4.4-3.6-8-8-8H304c-4.4 0-8 3.6-8 8V80c0 8.8-7.2 16-16 16H216c-8.8 0-16-7.2-16-16V40c0-4.4-3.6-8-8-8H168zM496 256H144 80c-8.8 0-16-7.2-16-16V200c0-4.4-3.6-8-8-8H40c-4.4 0-8 3.6-8 8V432c0 26.5 21.5 48 48 48H224V400c0-53 43-96 96-96s96 43 96 96v80H560c26.5 0 48-21.5 48-48V200c0-4.4-3.6-8-8-8H584c-4.4 0-8 3.6-8 8v40c0 8.8-7.2 16-16 16H496zM384 400c0-35.3-28.7-64-64-64s-64 28.7-64 64v80H384V400z\"]\n};\nvar faGolfClub = {\n prefix: 'fal',\n iconName: 'golf-club',\n icon: [512, 512, [], \"f451\", \"M510.3 23.2c4-7.9 .7-17.5-7.2-21.5s-17.5-.7-21.5 7.2L303.5 365.1l-243-65.7C30 291.2 0 314.2 0 345.8V464c0 26.5 21.5 48 48 48H226.3c24.2 0 46.4-13.7 57.2-35.4l42.7-85.5 184-368zM52.2 330.4l236.8 64-34 68c-5.4 10.8-16.5 17.7-28.6 17.7H48c-8.8 0-16-7.2-16-16V448H80c8.8 0 16-7.2 16-16s-7.2-16-16-16H32V400H80c8.8 0 16-7.2 16-16s-7.2-16-16-16H32V345.8c0-10.5 10-18.2 20.2-15.4z\"]\n};\nvar faArrowRightArrowLeft = {\n prefix: 'fal',\n iconName: 'arrow-right-arrow-left',\n icon: [448, 512, [8644, \"exchange\"], \"f0ec\", \"M443.3 139.3c6.2-6.2 6.2-16.4 0-22.6l-96-96c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L393.4 112 16 112c-8.8 0-16 7.2-16 16s7.2 16 16 16l377.4 0-68.7 68.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l96-96zm-342.6 352c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L54.6 400 432 400c8.8 0 16-7.2 16-16s-7.2-16-16-16L54.6 368l68.7-68.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-96 96c-6.2 6.2-6.2 16.4 0 22.6l96 96z\"]\n};\nvar faExchange = faArrowRightArrowLeft;\nvar faRotateRight = {\n prefix: 'fal',\n iconName: 'rotate-right',\n icon: [512, 512, [\"redo-alt\", \"rotate-forward\"], \"f2f9\", \"M417.3 360.2c3.2-5 8.7-8.2 14.7-8.2c12.3 0 20.3 12.8 13.7 23.2C406 438.2 335.9 480 256 480C132.3 480 32 379.7 32 256S132.3 32 256 32c56.1 0 107.4 20.6 146.7 54.7L433.4 56c5.1-5.1 12.1-8 19.3-8C467.8 48 480 60.2 480 75.3V176c0 8.8-7.2 16-16 16H363.3c-15.1 0-27.3-12.2-27.3-27.3c0-7.2 2.9-14.2 8-19.3l36-36C346.5 81.1 303.3 64 256 64C150 64 64 150 64 256s86 192 192 192c67.6 0 127.1-35 161.3-87.8zM448 86.6L374.6 160H448V86.6z\"]\n};\nvar faRedoAlt = faRotateRight;\nvar faRotateForward = faRotateRight;\nvar faUtensils = {\n prefix: 'fal',\n iconName: 'utensils',\n icon: [448, 512, [127860, 61685, \"cutlery\"], \"f2e7\", \"M42.6 .2c8.7 1.5 14.6 9.7 13.2 18.4L32.7 157.4c-.4 2.6-.7 5.2-.7 7.9V176c0 26.5 21.5 48 48 48h32 32c26.5 0 48-21.5 48-48V165.3c0-2.6-.2-5.3-.7-7.9L168.2 18.6c-1.5-8.7 4.4-17 13.2-18.4s17 4.4 18.4 13.2l23.1 138.8c.7 4.3 1.1 8.7 1.1 13.2V176c0 44.2-35.8 80-80 80H128V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V256H80c-44.2 0-80-35.8-80-80V165.3c0-4.4 .4-8.8 1.1-13.2L24.2 13.4C25.7 4.7 33.9-1.2 42.6 .2zM88.8 0c8.8 .4 15.6 8 15.2 16.8l-8 160c-.4 8.8-8 15.6-16.8 15.2s-15.6-8-15.2-16.8l8-160C72.5 6.4 80-.4 88.8 0zm46.4 0C144-.4 151.5 6.4 152 15.2l8 160c.4 8.8-6.4 16.3-15.2 16.8s-16.3-6.4-16.8-15.2l-8-160C119.6 8 126.4 .5 135.2 0zM320 176V288c0 17.7 14.3 32 32 32h64V32.2l-.2 .1c-1.7 .4-6.7 1.5-14.3 4.6C391.4 41 379 47.8 367 58.2c-23.2 20.1-47 55.3-47 117.8zM416 0c17.7 0 32 14.3 32 32V320v16 16V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V352H352c-35.3 0-64-28.7-64-64V176C288 32 400 0 416 0z\"]\n};\nvar faCutlery = faUtensils;\nvar faArrowUpWideShort = {\n prefix: 'fal',\n iconName: 'arrow-up-wide-short',\n icon: [576, 512, [\"sort-amount-up\"], \"f161\", \"M139.3 36.7c-6.2-6.2-16.4-6.2-22.6 0l-96 96c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L112 86.6V464c0 8.8 7.2 16 16 16s16-7.2 16-16V86.6l68.7 68.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-96-96zM304 464h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H304c-8.8 0-16 7.2-16 16s7.2 16 16 16zm0-128H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H304c-8.8 0-16 7.2-16 16s7.2 16 16 16zm0-128H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H304c-8.8 0-16 7.2-16 16s7.2 16 16 16zm0-128H560c8.8 0 16-7.2 16-16s-7.2-16-16-16H304c-8.8 0-16 7.2-16 16s7.2 16 16 16z\"]\n};\nvar faSortAmountUp = faArrowUpWideShort;\nvar faChartPieSimpleCircleDollar = {\n prefix: 'fal',\n iconName: 'chart-pie-simple-circle-dollar',\n icon: [640, 512, [], \"e605\", \"M288 224H394.8c-12.9 9.1-24.5 19.9-34.6 32H272c-8.8 0-16-7.2-16-16V17.7C256 8.1 263.4 0 273.1 0c116 0 212.7 82.7 234.4 192.4c-3.8-.2-7.6-.4-11.5-.4c-7.1 0-14.2 .4-21.1 1.2C455.2 105.6 379.9 39.1 288 32.5V224zm-32 64h83.2c-5.2 10.1-9.4 20.8-12.6 32H224c-17.7 0-32-14.3-32-32V69.6C100.3 91.2 32 173.7 32 272c0 114.9 93.1 208 208 208c37.1 0 71.9-9.7 102-26.7c5.2 9.4 11.3 18.3 18.1 26.5C324.8 500.3 283.8 512 240 512C107.5 512 0 404.6 0 272C0 156.5 81.5 60.1 190.2 37.2c18.1-3.8 33.8 11 33.8 29.5V256v32h32zM496 480a112 112 0 1 0 0-224 112 112 0 1 0 0 224zm0-256a144 144 0 1 1 0 288 144 144 0 1 1 0-288zM472.8 335.4c-.4 .7-.9 1.6-.8 3.6l0 .1c0 .4 0 1.9 4.8 4.5c5.6 3 13.5 5.2 23.9 8.2l.2 0c9.3 2.6 21.1 6 30.5 11.5c10.2 6 20 16.1 20.5 32.3c.5 18.2-9.7 30.4-21.7 36.9c-5.8 3.1-12.1 5.1-18.3 6.2v10.8c0 8.8-7.2 16-16 16s-16-7.2-16-16V438.1c-8.6-1.7-16.7-4.3-23.7-6.6l0 0 0 0c-1.7-.6-3.4-1.1-5-1.6c-8.4-2.6-13.2-11.6-10.5-20s11.6-13.2 20-10.5c2 .6 3.9 1.2 5.8 1.8c11.4 3.6 20.4 6.5 29.9 6.8c6.7 .2 13.8-1.1 18.5-3.6c2.2-1.2 3.4-2.4 4-3.3c.5-.8 1.1-2.1 1-4.5c0-1.4-.2-3-4.7-5.6c-5.3-3.1-12.9-5.4-23.2-8.3l-1.8-.5c-8.9-2.5-19.8-5.6-28.6-10.3c-9.9-5.3-20.6-14.7-21.6-30.7c-1.2-18.8 10-30.9 21.8-37.2c5.7-3.1 12-5.1 18-6.3V288c0-8.8 7.2-16 16-16s16 7.2 16 16v9.4c6.3 .9 12.3 2.3 17.9 3.7c8.6 2.1 13.8 10.8 11.7 19.4s-10.8 13.8-19.4 11.7c-9.3-2.3-18.2-4-26.4-4.1c-6.2-.1-13.6 1.3-18.7 4c-2.4 1.3-3.6 2.5-4.2 3.4z\"]\n};\nvar faBalloons = {\n prefix: 'fal',\n iconName: 'balloons',\n icon: [640, 512, [], \"e2e4\", \"M172.8 342.4l0 0 0 0 0 0L160 352l-12.8-9.6 0 0 0 0 0 0 0 0-.1-.1-.8-.6c-.8-.6-2-1.6-3.6-2.8c-3.1-2.6-7.8-6.4-13.3-11.4c-11.2-10-26.1-24.5-40.9-42C58 249.1 32 204.5 32 160C32 89.3 89.3 32 160 32s128 57.3 128 128c0 44.5-26 89.1-56.5 125.4c-14.8 17.6-29.7 32-40.9 42c-5.6 5-10.2 8.8-13.3 11.4c-1.6 1.3-2.8 2.2-3.6 2.8l-.8 .6-.1 .1 0 0zm-9.4 39.9L180.2 416H139.8l16.8-33.7 3.4-6.8 3.4 6.8zM192 368s128-96 128-208C320 71.6 248.4 0 160 0S0 71.6 0 160C0 272 128 368 128 368L97.4 429.3c-.9 1.8-1.4 3.8-1.4 5.8c0 7.1 5.8 12.9 12.9 12.9H211.1c7.1 0 12.9-5.8 12.9-12.9c0-2-.5-4-1.4-5.8L192 368zm139.2-84.9C362.3 367.8 448 432 448 432l-30.6 61.3c-.9 1.8-1.4 3.8-1.4 5.8c0 7.1 5.8 12.9 12.9 12.9H531.1c7.1 0 12.9-5.8 12.9-12.9c0-2-.5-4-1.4-5.8L512 432s128-96 128-208c0-88.4-71.6-160-160-160c-46.1 0-87.7 19.5-116.9 50.8c3.2 14.6 4.9 29.7 4.9 45.2c0 .7 0 1.3 0 2c21.8-39.4 63.8-66 112-66c70.7 0 128 57.3 128 128c0 44.5-26 89.1-56.5 125.4c-14.8 17.6-29.7 32-40.9 42c-5.6 5-10.2 8.8-13.3 11.4c-1.6 1.3-2.8 2.2-3.6 2.8l-.8 .6-.1 .1 0 0 0 0 0 0 0 0L480 416l-12.8-9.6 0 0 0 0 0 0 0 0-.1-.1-.8-.6c-.8-.6-2-1.6-3.6-2.8c-3.1-2.6-7.8-6.4-13.3-11.4c-11.2-10-26.1-24.5-40.9-42C381.2 317 357.6 278 352.9 238.3c-6.1 16-13.6 31-21.7 44.7zM480 439.6l3.4 6.8L500.2 480H459.8l16.8-33.7 3.4-6.8zM112 160c0-26.5 21.5-48 48-48c8.8 0 16-7.2 16-16s-7.2-16-16-16c-44.2 0-80 35.8-80 80c0 8.8 7.2 16 16 16s16-7.2 16-16zm320 64c0-26.5 21.5-48 48-48c8.8 0 16-7.2 16-16s-7.2-16-16-16c-44.2 0-80 35.8-80 80c0 8.8 7.2 16 16 16s16-7.2 16-16z\"]\n};\nvar faMillSign = {\n prefix: 'fal',\n iconName: 'mill-sign',\n icon: [384, 512, [], \"e1ed\", \"M287.2 21.1c2.8-8.4-1.7-17.4-10.1-20.2s-17.4 1.7-20.2 10.1L222.7 113.2c-12.3 8.2-22.8 18.9-30.7 31.4C173.6 115.4 141.1 96 104 96c-27.9 0-53.3 11-72 29V112c0-8.8-7.2-16-16-16s-16 7.2-16 16v80H.3c-.2 2.6-.3 5.3-.3 8V432c0 8.8 7.2 16 16 16s16-7.2 16-16V200c0-39.8 32.2-72 72-72s72 32.2 72 72v53.4L96.8 490.9c-2.8 8.4 1.7 17.4 10.1 20.2s17.4-1.7 20.2-10.1L176 354.6V416v16c0 8.8 7.2 16 16 16s16-7.2 16-16V416 258.6l41.2-123.7c9.3-4.4 19.8-6.9 30.8-6.9c39.8 0 72 32.2 72 72V432c0 8.8 7.2 16 16 16s16-7.2 16-16V200c0-57.4-46.6-104-104-104c-6.3 0-12.4 .6-18.3 1.6l25.5-76.6z\"]\n};\nvar faBowlRice = {\n prefix: 'fal',\n iconName: 'bowl-rice',\n icon: [512, 512, [], \"e2eb\", \"M176 80c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H192c-8.8 0-16 7.2-16 16zm16 48c-8.8 0-16 7.2-16 16s7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H192zM48 192c-8.8 0-16 7.2-16 16s7.2 16 16 16H80c8.8 0 16-7.2 16-16s-7.2-16-16-16H48zm81.3 233.1c-2.7-9-9.2-16.4-17.8-20.2C65.9 385 33.9 340.3 32.1 288H479.9c-1.8 52.3-33.9 97-79.4 116.9c-8.6 3.8-15.2 11.2-17.8 20.2C378.7 438.4 366.5 448 352 448H160c-14.5 0-26.7-9.6-30.7-22.9zM27.4 256C12.3 256 0 268.3 0 283.4c0 67.4 40.6 125.4 98.6 150.8C106.5 460.7 131 480 160 480H352c29 0 53.5-19.3 61.4-45.7c58.1-25.4 98.6-83.4 98.6-150.8c0-15.1-12.3-27.4-27.4-27.4H27.4zM224 208c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H240c-8.8 0-16 7.2-16 16zm-96 0c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H144c-8.8 0-16 7.2-16 16zM96 128c-8.8 0-16 7.2-16 16s7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H96zm224 80c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H336c-8.8 0-16 7.2-16 16zm-32-80c-8.8 0-16 7.2-16 16s7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H288zm128 80c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H432c-8.8 0-16 7.2-16 16zm-32-80c-8.8 0-16 7.2-16 16s7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H384zM288 64c-8.8 0-16 7.2-16 16s7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H288z\"]\n};\nvar faTimelineArrow = {\n prefix: 'fal',\n iconName: 'timeline-arrow',\n icon: [640, 512, [], \"e29d\", \"M144 80A32 32 0 1 0 80 80a32 32 0 1 0 64 0zm32 0c0 29.8-20.4 54.9-48 62V256H352V142c-27.6-7.1-48-32.2-48-62c0-35.3 28.7-64 64-64s64 28.7 64 64c0 29.8-20.4 54.9-48 62V256H579.8l-62.1-51.7c-6.8-5.7-7.7-15.7-2-22.5s15.7-7.7 22.5-2l95.9 79.9c.6 .5 1.1 1 1.6 1.5c2.6 2.8 4.2 6.7 4.2 10.8c0 .3 0 .7 0 1c-.2 3.5-1.5 6.7-3.6 9.2c-.6 .8-1.3 1.5-2.1 2.1l-.1 .1-95.9 79.9c-6.8 5.7-16.9 4.7-22.5-2s-4.7-16.9 2-22.5L579.8 288H256v82c27.6 7.1 48 32.2 48 62c0 35.3-28.7 64-64 64s-64-28.7-64-64c0-29.8 20.4-54.9 48-62V288H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H96V142c-27.6-7.1-48-32.2-48-62c0-35.3 28.7-64 64-64s64 28.7 64 64zm32 352a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zM400 80a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faSkull = {\n prefix: 'fal',\n iconName: 'skull',\n icon: [512, 512, [128128], \"f54c\", \"M384 399.6c-.2-10.7 4.9-20.8 13.6-26.9c51.3-36 82.4-89.8 82.4-148.7c0-102.2-96.1-192-224-192S32 121.8 32 224c0 58.8 31.1 112.7 82.4 148.7c8.8 6.1 13.9 16.2 13.6 26.9l0 .4v64c0 8.8 7.2 16 16 16h48V432c0-8.8 7.2-16 16-16s16 7.2 16 16v48h64V432c0-8.8 7.2-16 16-16s16 7.2 16 16v48h48c8.8 0 16-7.2 16-16V400l0-.4zm32-.7c0 .4 0 .7 0 1.1v64c0 26.5-21.5 48-48 48H144c-26.5 0-48-21.5-48-48V400c0-.4 0-.7 0-1.1C37.5 357.8 0 294.7 0 224C0 100.3 114.6 0 256 0S512 100.3 512 224c0 70.7-37.5 133.8-96 174.9zM160 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0-96a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm224 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-96 0a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z\"]\n};\nvar faGameBoardSimple = {\n prefix: 'fal',\n iconName: 'game-board-simple',\n icon: [448, 512, [\"game-board-alt\"], \"f868\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM96 240H208V128H96V240zM240 120V240H360c13.3 0 24 10.7 24 24V392c0 13.3-10.7 24-24 24H232c-13.3 0-24-10.7-24-24V272H88c-13.3 0-24-10.7-24-24V120c0-13.3 10.7-24 24-24H216c13.3 0 24 10.7 24 24zm0 264H352V272H240V384z\"]\n};\nvar faGameBoardAlt = faGameBoardSimple;\nvar faCircleVideo = {\n prefix: 'fal',\n iconName: 'circle-video',\n icon: [512, 512, [\"video-circle\"], \"e12b\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm32-320v32 64 32H160V192H288zm32 9.8V192c0-17.7-14.3-32-32-32H160c-17.7 0-32 14.3-32 32V320c0 17.7 14.3 32 32 32H288c17.7 0 32-14.3 32-32v-9.8l74.9 25c4.9 1.6 10.2 .8 14.4-2.2s6.6-7.8 6.6-13V192c0-5.1-2.5-10-6.6-13s-9.5-3.8-14.4-2.2l-74.9 25zm0 33.7l64-21.3v83.6l-64-21.3V235.5z\"]\n};\nvar faVideoCircle = faCircleVideo;\nvar faChartScatterBubble = {\n prefix: 'fal',\n iconName: 'chart-scatter-bubble',\n icon: [512, 512, [], \"e0e9\", \"M16 32c8.8 0 16 7.2 16 16V400c0 26.5 21.5 48 48 48H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-44.2 0-80-35.8-80-80V48c0-8.8 7.2-16 16-16zM176 323.2a19.2 19.2 0 1 0 0-38.4 19.2 19.2 0 1 0 0 38.4zm0-67.2a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm208 32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-96 0a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zm-48-92.8a19.2 19.2 0 1 0 0-38.4 19.2 19.2 0 1 0 0 38.4zm0-67.2a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm176 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-96 0a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z\"]\n};\nvar faHouseTurret = {\n prefix: 'fal',\n iconName: 'house-turret',\n icon: [640, 512, [], \"e1b4\", \"M288 448V284.2c0-9 3.8-17.5 10.4-23.6l128-117.3c12.2-11.2 31-11.2 43.2 0l128 117.3c6.6 6.1 10.4 14.6 10.4 23.6V448c0 17.7-14.3 32-32 32H320c-17.7 0-32-14.3-32-32zM256 284.2V448c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V284.2c0-17.9-7.5-35.1-20.8-47.2l-128-117.3c-24.5-22.4-62-22.4-86.5 0L276.8 237c-13.2 12.1-20.8 29.2-20.8 47.2zM416 288h64v64H416V288zm-32 0v64c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V288c0-17.7-14.3-32-32-32H416c-17.7 0-32 14.3-32 32zM32 48c0-8.8 7.2-16 16-16H96V96c0 8.8 7.2 16 16 16s16-7.2 16-16V32h96V96c0 8.8 7.2 16 16 16s16-7.2 16-16V32h48c8.8 0 16 7.2 16 16V153.9l32-29.3V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48V203.8c0 11.8 4.3 23.1 12.1 31.9L64 294.1V496c0 8.8 7.2 16 16 16s16-7.2 16-16V288c0-3.9-1.4-7.7-4-10.6L36 214.5c-2.6-2.9-4-6.7-4-10.6V48zM192 224H160V192c0-8.8 7.2-16 16-16s16 7.2 16 16v32zm-16-80c-26.5 0-48 21.5-48 48v48c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V192c0-26.5-21.5-48-48-48z\"]\n};\nvar faBanana = {\n prefix: 'fal',\n iconName: 'banana',\n icon: [576, 512, [], \"e2e5\", \"M336 144c0 41.2-8.7 80.4-24.3 115.9c-8-7.6-17-14.2-26.5-19.5C297.3 210.7 304 178.1 304 144c0-31.4-5.6-61.3-15.9-89c-9.5-25.5 8.6-55 38-55c9.8 0 19.5 3.6 27 10.4C411.4 63.1 448 139.3 448 224c0 11-.6 21.8-1.8 32.5c-11.4 1-22.6 3.6-33.3 7.5c2.1-13.1 3.1-26.4 3.1-40.1c0-75.3-32.5-143-84.3-189.9c-1.5-1.4-3.5-2.1-5.6-2.1c-3.3 0-5.5 1.4-7 3.6c-1.7 2.6-2 5.6-1.1 8.2C329.7 75 336 108.8 336 144zM253.9 296.2c-9.7-5.3-20.7-8.2-32-8.2c-11.6 0-22.9 3-32.9 8.7l-37 21.1c-7.7 4.4-17.4 1.7-21.8-6s-1.7-17.4 6-21.8l37-21.1c14.9-8.5 31.7-13 48.8-13c26.1 0 51.1 10.4 69.6 28.8l48 48 77.8-35.9c12.7-5.9 26.5-8.9 40.5-8.9c34.4 0 66.1 18.2 83.4 47.9l32.7 56c4.5 7.6 1.9 17.4-5.8 21.9s-17.4 1.9-21.9-5.8l-32.7-56c-11.6-19.8-32.8-32.1-55.8-32.1c-9.3 0-18.6 2-27.1 5.9l-1.4 .7C387.8 435 282.9 512 160 512L48 512c-26.5 0-48-21.5-48-48V448c0-26.5 21.5-48 48-48c84.4 0 159.2-40.8 205.9-103.8zm130.6 51.1l-41.7 19.3c-6.1 2.8-13.3 1.5-18-3.2l-46.4-46.4C225.8 386.8 142.2 432 48 432c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16l112 0c96.7 0 180.9-53.6 224.4-132.7z\"]\n};\nvar faHandHoldingSkull = {\n prefix: 'fal',\n iconName: 'hand-holding-skull',\n icon: [576, 512, [], \"e1a4\", \"M176 128c0 33.3 20 63.5 51.9 81c6.4 3.5 9.6 10.9 7.8 17.9L228.5 256h119l-7.3-29.1c-1.8-7.1 1.5-14.4 7.8-17.9C380 191.5 400 161.3 400 128c0-51.1-48.1-96-112-96s-112 44.9-112 96zM288 0c77.5 0 144 55.4 144 128c0 42.6-23.3 79.6-57.9 102.6l9.4 37.5c1.2 4.8 .1 9.8-2.9 13.7s-7.7 6.2-12.6 6.2H208c-4.9 0-9.6-2.3-12.6-6.2s-4.1-8.9-2.9-13.7l9.4-37.5c-34.6-23-57.9-60-57.9-102.6C144 55.4 210.5 0 288 0zM248 112a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm56 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM151 317.4c13.1-8.8 28.6-13.4 44.4-13.4H344c30.9 0 56 25.1 56 56c0 8.6-1.9 16.7-5.4 24h5.6l94.7-56.4c8.3-4.9 17.8-7.6 27.5-7.6h1.3c28.9 0 52.3 23.4 52.3 52.3c0 17.7-9 34.2-23.8 43.8L432.6 493.9c-18.2 11.8-39.4 18.1-61 18.1H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H371.5c15.5 0 30.6-4.5 43.6-12.9l119.6-77.8c5.8-3.7 9.2-10.2 9.2-17c0-11.2-9.1-20.3-20.3-20.3h-1.3c-3.9 0-7.7 1.1-11.1 3l-98.5 58.7c-2.5 1.5-5.3 2.3-8.2 2.3H344 320 256c-8.8 0-16-7.2-16-16s7.2-16 16-16h64 24c13.3 0 24-10.7 24-24s-10.7-24-24-24H195.4c-9.5 0-18.7 2.8-26.6 8.1L88.9 397.3c-2.6 1.8-5.7 2.7-8.9 2.7H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H75.2L151 317.4z\"]\n};\nvar faPeopleDress = {\n prefix: 'fal',\n iconName: 'people-dress',\n icon: [640, 512, [], \"e217\", \"M136 56a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm80 0A56 56 0 1 0 104 56a56 56 0 1 0 112 0zM126.3 263.2c4-7.9 .7-17.5-7.2-21.5s-17.5-.7-21.5 7.2l-64 128c-2.5 5-2.2 10.9 .7 15.6s8.1 7.6 13.6 7.6H96v96c0 8.8 7.2 16 16 16s16-7.2 16-16V400h64v96c0 8.8 7.2 16 16 16s16-7.2 16-16V400h48c5.5 0 10.7-2.9 13.6-7.6s3.2-10.6 .7-15.6l-64-128c-4-7.9-13.6-11.1-21.5-7.2s-11.1 13.6-7.2 21.5L246.1 368H208 112 73.9l52.4-104.8zM160 160c25.5 0 49 14.1 61 36.6l52.9 98.9c4.2 7.8 13.9 10.7 21.7 6.6s10.7-13.9 6.6-21.7l-52.9-98.9C231.7 148.6 197.3 128 160 128s-71.7 20.6-89.3 53.5L17.9 280.5c-4.2 7.8-1.2 17.5 6.6 21.7s17.5 1.2 21.7-6.6L99 196.6c12-22.5 35.5-36.6 61-36.6zM456 56a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm80 0A56 56 0 1 0 424 56a56 56 0 1 0 112 0zM446.3 263.2c4-7.9 .7-17.5-7.2-21.5s-17.5-.7-21.5 7.2l-64 128c-2.5 5-2.2 10.9 .7 15.6s8.1 7.6 13.6 7.6h48v96c0 8.8 7.2 16 16 16s16-7.2 16-16V400h64v96c0 8.8 7.2 16 16 16s16-7.2 16-16V400h48c5.5 0 10.7-2.9 13.6-7.6s3.2-10.6 .7-15.6l-64-128c-4-7.9-13.6-11.1-21.5-7.2s-11.1 13.6-7.2 21.5L566.1 368H528 432 393.9l52.4-104.8zM480 160c25.5 0 49 14.1 61 36.6l52.9 98.9c4.2 7.8 13.9 10.7 21.7 6.6s10.7-13.9 6.6-21.7l-52.9-98.9C551.7 148.6 517.3 128 480 128s-71.7 20.6-89.3 53.5l-52.9 98.9c-4.2 7.8-1.2 17.5 6.6 21.7s17.5 1.2 21.7-6.6L419 196.6c12-22.5 35.5-36.6 61-36.6z\"]\n};\nvar faLoveseat = {\n prefix: 'fal',\n iconName: 'loveseat',\n icon: [512, 512, [\"couch-small\"], \"f4cc\", \"M320 64c53 0 96 43 96 96v37.5c10-3.5 20.8-5.5 32-5.5V160c0-70.7-57.3-128-128-128H192C121.3 32 64 89.3 64 160v32c11.2 0 22 1.9 32 5.5V160c0-53 43-96 96-96H320zM96 320v96 16c0 8.8-7.2 16-16 16H48c-8.8 0-16-7.2-16-16V288c0-17.7 14.3-32 32-32s32 14.3 32 32v32zM80 480c20.9 0 38.7-13.4 45.3-32H386.7c6.6 18.6 24.4 32 45.3 32h32c26.5 0 48-21.5 48-48V288c0-35.3-28.7-64-64-64s-64 28.7-64 64H128c0-35.3-28.7-64-64-64s-64 28.7-64 64V432c0 26.5 21.5 48 48 48H80zm48-64V320H384v96H128zm288 16V416 320 288c0-17.7 14.3-32 32-32s32 14.3 32 32V432c0 8.8-7.2 16-16 16H432c-8.8 0-16-7.2-16-16z\"]\n};\nvar faCouchSmall = faLoveseat;\nvar faTowerBroadcast = {\n prefix: 'fal',\n iconName: 'tower-broadcast',\n icon: [576, 512, [\"broadcast-tower\"], \"f519\", \"M46.7 1.4c-8.1-3.6-17.5-.1-21.2 8C9.1 45.6 0 85.8 0 128s9.1 82.4 25.5 118.6c3.6 8.1 13.1 11.6 21.2 8s11.6-13.1 8-21.2C40.1 201.3 32 165.6 32 128s8.1-73.3 22.6-105.4c3.6-8.1 .1-17.5-8-21.2zm482.7 0c-8.1 3.6-11.6 13.1-8 21.2C535.9 54.7 544 90.4 544 128s-8.1 73.3-22.6 105.4c-3.6 8.1-.1 17.5 8 21.2s17.5 .1 21.2-8C566.9 210.4 576 170.2 576 128s-9.1-82.4-25.5-118.6c-3.6-8.1-13.1-11.6-21.2-8zM256 128a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm48 62c27.6-7.1 48-32.2 48-62c0-35.3-28.7-64-64-64s-64 28.7-64 64c0 29.8 20.4 54.9 48 62V496c0 8.8 7.2 16 16 16s16-7.2 16-16V190zM138.9 69.8c3.2-8.2-.9-17.5-9.1-20.7s-17.5 .9-20.7 9.1C100.6 79.8 96 103.4 96 128s4.6 48.2 13.1 69.8c3.2 8.2 12.5 12.3 20.7 9.1s12.3-12.5 9.1-20.7c-7-18-10.9-37.6-10.9-58.2s3.9-40.2 10.9-58.2zm328-11.6c-3.2-8.2-12.5-12.3-20.7-9.1s-12.3 12.5-9.1 20.7c7 18 10.9 37.6 10.9 58.2s-3.9 40.2-10.9 58.2c-3.2 8.2 .9 17.5 9.1 20.7s17.5-.9 20.7-9.1c8.5-21.7 13.1-45.2 13.1-69.8s-4.6-48.2-13.1-69.8z\"]\n};\nvar faBroadcastTower = faTowerBroadcast;\nvar faTruckPickup = {\n prefix: 'fal',\n iconName: 'truck-pickup',\n icon: [640, 512, [128763], \"f63c\", \"M256 80V192H485.3L389 70.1c-3-3.8-7.7-6.1-12.6-6.1H272c-8.8 0-16 7.2-16 16zM524.6 190.1l1.5 1.9H552c30.9 0 56 25.1 56 56V352h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H608 576 560c0 53-43 96-96 96s-96-43-96-96H272c0 53-43 96-96 96s-96-43-96-96H64 32 16c-8.8 0-16-7.2-16-16s7.2-16 16-16H32V248c0-30.9 25.1-56 56-56H224V80c0-26.5 21.5-48 48-48H376.5c14.7 0 28.6 6.7 37.7 18.3L524.6 190.1zM64 352H85.5c13.2-37.3 48.7-64 90.5-64s77.4 26.7 90.5 64H373.5c13.2-37.3 48.7-64 90.5-64s77.4 26.7 90.5 64H576V248c0-13.3-10.7-24-24-24H88c-13.3 0-24 10.7-24 24V352zm176 32a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zm224 64a64 64 0 1 0 0-128 64 64 0 1 0 0 128z\"]\n};\nvar faBlockQuote = {\n prefix: 'fal',\n iconName: 'block-quote',\n icon: [448, 512, [], \"e0b5\", \"M16 80C7.2 80 0 87.2 0 96s7.2 16 16 16H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H16zM144 240c-8.8 0-16 7.2-16 16s7.2 16 16 16H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H144zM128 416c0 8.8 7.2 16 16 16H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H144c-8.8 0-16 7.2-16 16zM0 432c0 8.8 7.2 16 16 16s16-7.2 16-16l0-192c0-8.8-7.2-16-16-16s-16 7.2-16 16V432z\"]\n};\nvar faUpLong = {\n prefix: 'fal',\n iconName: 'up-long',\n icon: [320, 512, [\"long-arrow-alt-up\"], \"f30c\", \"M88 160H38.7c-3.7 0-6.7-3-6.7-6.7c0-1.9 .8-3.7 2.2-5L160 35.8 285.8 148.3c1.4 1.3 2.2 3.1 2.2 5c0 3.7-3 6.7-6.7 6.7H232c-17.7 0-32 14.3-32 32V464c0 8.8-7.2 16-16 16H136c-8.8 0-16-7.2-16-16V192c0-17.7-14.3-32-32-32zM174 5.3C170.1 1.9 165.2 0 160 0s-10.1 1.9-14 5.3L12.9 124.5C4.7 131.8 0 142.3 0 153.3C0 174.7 17.3 192 38.7 192H56 88v32V464c0 26.5 21.5 48 48 48h48c26.5 0 48-21.5 48-48V224 192h32 17.3c21.4 0 38.7-17.3 38.7-38.7c0-11-4.7-21.5-12.9-28.8L174 5.3z\"]\n};\nvar faLongArrowAltUp = faUpLong;\nvar faStop = {\n prefix: 'fal',\n iconName: 'stop',\n icon: [384, 512, [9209], \"f04d\", \"M320 96c17.7 0 32 14.3 32 32V384c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V128c0-17.7 14.3-32 32-32H320zM64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64z\"]\n};\nvar faCodeMerge = {\n prefix: 'fal',\n iconName: 'code-merge',\n icon: [448, 512, [], \"f387\", \"M80 32a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM96.9 158.2C133 150.5 160 118.4 160 80c0-44.2-35.8-80-80-80S0 35.8 0 80c0 38.7 27.5 71 64 78.4V353.6C27.5 361 0 393.3 0 432c0 44.2 35.8 80 80 80s80-35.8 80-80c0-38.7-27.5-71-64-78.4V234.5c26.4 32.6 66.8 53.5 112 53.5h81.6c7.4 36.5 39.7 64 78.4 64c44.2 0 80-35.8 80-80s-35.8-80-80-80c-38.7 0-71 27.5-78.4 64H208c-57 0-104.1-42.6-111.1-97.8zM416 272a48 48 0 1 1 -96 0 48 48 0 1 1 96 0zM128 432a48 48 0 1 1 -96 0 48 48 0 1 1 96 0z\"]\n};\nvar faMoneyCheckDollarPen = {\n prefix: 'fal',\n iconName: 'money-check-dollar-pen',\n icon: [640, 512, [\"money-check-edit-alt\"], \"f873\", \"M512 96H64c-17.7 0-32 14.3-32 32V384c0 17.7 14.3 32 32 32H338.2l-8 32H64c-35.3 0-64-28.7-64-64V128C0 92.7 28.7 64 64 64H512c35.3 0 64 28.7 64 64v64c-10.9-.3-21.8 1.5-32 5.6V128c0-17.7-14.3-32-32-32zM256 304c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H272c-8.8 0-16-7.2-16-16zm16-112H464c8.8 0 16 7.2 16 16s-7.2 16-16 16H272c-8.8 0-16-7.2-16-16s7.2-16 16-16zM144 136c8.8 0 16 7.2 16 16v17.3c8.5 1.2 16.7 3.1 24.1 5.1c8.5 2.3 13.6 11 11.3 19.6s-11 13.6-19.6 11.3c-11.1-3-22-5.2-32.1-5.3c-8.4-.1-17.4 1.8-23.6 5.5c-5.7 3.4-8.1 7.3-8.1 12.8c0 3.7 1.3 6.5 7.3 10.1c6.9 4.1 16.6 7.1 29.2 10.9l.5 .1 0 0 0 0c11.3 3.4 25.3 7.6 36.3 14.6c12.1 7.6 22.4 19.7 22.7 38.2c.3 19.3-9.6 33.3-22.9 41.6c-7.7 4.8-16.4 7.6-25.1 9.1V360c0 8.8-7.2 16-16 16s-16-7.2-16-16V342.2c-11.2-2.1-21.7-5.7-30.9-8.9l0 0c-2.1-.7-4.2-1.4-6.2-2.1c-8.4-2.8-12.9-11.9-10.1-20.2s11.9-12.9 20.2-10.1c2.5 .8 4.8 1.6 7.1 2.4l0 0 0 0 0 0c13.6 4.6 24.6 8.4 36.3 8.7c9.1 .3 17.9-1.7 23.7-5.3c5.1-3.2 7.9-7.3 7.8-14c-.1-4.6-1.8-7.8-7.7-11.6c-6.8-4.3-16.5-7.4-29-11.2l-1.6-.5 0 0 0 0c-11-3.3-24.3-7.3-34.8-13.7c-12-7.2-22.6-18.9-22.7-37.3c-.1-19.4 10.8-32.8 23.8-40.5c7.5-4.4 15.8-7.2 24.1-8.7V152c0-8.8 7.2-16 16-16zM582.8 264c-6.2-6.2-16.4-6.2-22.6 0l-24.8 24.8 40 40L600.2 304c6.2-6.2 6.2-16.4 0-22.6L582.8 264zM406.5 417.7c-2.1 2.1-3.5 4.6-4.2 7.4l-12.3 49 49-12.3c2.8-.7 5.4-2.2 7.4-4.2L552.7 351.4l-40-40L406.5 417.7zM537.5 241.4c18.7-18.7 49.1-18.7 67.9 0l17.4 17.4c18.7 18.7 18.7 49.1 0 67.9L469.1 480.3c-6.2 6.2-13.9 10.5-22.3 12.6l-74.9 18.7c-5.5 1.4-11.2-.2-15.2-4.2s-5.6-9.7-4.2-15.2l18.7-74.9c2.1-8.4 6.5-16.1 12.6-22.3L537.5 241.4z\"]\n};\nvar faMoneyCheckEditAlt = faMoneyCheckDollarPen;\nvar faUpFromLine = {\n prefix: 'fal',\n iconName: 'up-from-line',\n icon: [384, 512, [\"arrow-alt-from-bottom\"], \"f346\", \"M190.2 64.8c.5-.5 1.1-.8 1.8-.8s1.4 .3 1.8 .8L318.2 196.7c1.2 1.2 1.8 2.9 1.8 4.6c0 3.7-3 6.7-6.7 6.7L256 208c-8.8 0-16 7.2-16 16l0 120c0 4.4-3.6 8-8 8l-80 0c-4.4 0-8-3.6-8-8l0-120c0-8.8-7.2-16-16-16l-57.3 0c-3.7 0-6.7-3-6.7-6.7c0-1.7 .7-3.3 1.8-4.6L190.2 64.8zM192 32c-9.5 0-18.6 3.9-25.1 10.8L42.5 174.8C35.8 182 32 191.5 32 201.3C32 222.7 49.3 240 70.7 240l41.3 0 0 104c0 22.1 17.9 40 40 40l80 0c22.1 0 40-17.9 40-40l0-104 41.3 0c21.4 0 38.7-17.3 38.7-38.7c0-9.9-3.8-19.3-10.5-26.5L217.1 42.8C210.6 35.9 201.5 32 192 32zM16 480l352 0c8.8 0 16-7.2 16-16s-7.2-16-16-16L16 448c-8.8 0-16 7.2-16 16s7.2 16 16 16z\"]\n};\nvar faArrowAltFromBottom = faUpFromLine;\nvar faUpload = {\n prefix: 'fal',\n iconName: 'upload',\n icon: [512, 512, [], \"f093\", \"M272 54.6V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V54.6L139.3 155.3c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l128-128c6.2-6.2 16.4-6.2 22.6 0l128 128c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L272 54.6zM208 352H64c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H448c17.7 0 32-14.3 32-32V384c0-17.7-14.3-32-32-32H304V320H448c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V384c0-35.3 28.7-64 64-64H208v32zm176 64a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faHurricane = {\n prefix: 'fal',\n iconName: 'hurricane',\n icon: [384, 512, [], \"f751\", \"M32 208C32 118.9 98.2 45.3 184 33.6V98.8c0 16.4 12.1 29.1 26.8 32.1C291.3 147 352 218.1 352 303.4c0 89.1-66.2 162.7-152 174.4V412.6c0-16.4-12.1-29.1-26.8-32.1C92.7 364.4 32 293.3 32 208zM216 32.8c0-17.8-15.1-33.6-34.6-31.1C79.1 14.8 0 102.2 0 208C0 308.8 71.7 392.9 166.9 411.9c.5 .1 .8 .3 1 .5c.1 .1 .1 .1 .1 .1c0 0 0 0 0 0v65.9c0 17.8 15.1 33.6 34.6 31.1C304.9 496.6 384 409.3 384 303.4c0-100.8-71.7-184.9-166.9-203.9c-.5-.1-.8-.3-1-.5c-.1-.1-.1-.2-.1-.2V32.8zM240 256a48 48 0 1 1 -96 0 48 48 0 1 1 96 0zm-48-80a80 80 0 1 0 0 160 80 80 0 1 0 0-160z\"]\n};\nvar faGridRound2Plus = {\n prefix: 'fal',\n iconName: 'grid-round-2-plus',\n icon: [512, 512, [], \"e5dc\", \"M64 128a64 64 0 1 0 128 0A64 64 0 1 0 64 128zm64 96a96 96 0 1 1 0-192 96 96 0 1 1 0 192zM64 384a64 64 0 1 0 128 0A64 64 0 1 0 64 384zm64 96a96 96 0 1 1 0-192 96 96 0 1 1 0 192zM384 192a64 64 0 1 0 0-128 64 64 0 1 0 0 128zm96-64a96 96 0 1 1 -192 0 96 96 0 1 1 192 0zM384 272c8.8 0 16 7.2 16 16v80h80c8.8 0 16 7.2 16 16s-7.2 16-16 16H400v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V400H288c-8.8 0-16-7.2-16-16s7.2-16 16-16h80V288c0-8.8 7.2-16 16-16z\"]\n};\nvar faPeoplePants = {\n prefix: 'fal',\n iconName: 'people-pants',\n icon: [640, 512, [], \"e219\", \"M136 56a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm80 0A56 56 0 1 0 104 56a56 56 0 1 0 112 0zM147.3 160h25.4c6.8 0 13.3 1.4 19.3 4V320H128V164c6-2.6 12.5-4 19.3-4zM128 496V352h64V496c0 8.8 7.2 16 16 16s16-7.2 16-16V202.2l49.9 93.4c4.2 7.8 13.9 10.7 21.7 6.6s10.7-13.9 6.6-21.7L243.3 170.3c-13.9-26-41-42.3-70.6-42.3H147.3c-29.5 0-56.7 16.3-70.6 42.3L17.9 280.5c-4.2 7.8-1.2 17.5 6.6 21.7s17.5 1.2 21.7-6.6L96 202.1V496c0 8.8 7.2 16 16 16s16-7.2 16-16zM456 56a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm80 0A56 56 0 1 0 424 56a56 56 0 1 0 112 0zM467.3 160h25.4c6.8 0 13.3 1.4 19.3 4V320H448V164c6-2.6 12.5-4 19.3-4zM448 496V352h64V496c0 8.8 7.2 16 16 16s16-7.2 16-16V202.2l49.9 93.4c4.2 7.8 13.9 10.7 21.7 6.6s10.7-13.9 6.6-21.7L563.3 170.3c-13.9-26-41-42.3-70.6-42.3H467.3c-29.5 0-56.6 16.3-70.6 42.3L337.9 280.5c-4.2 7.8-1.2 17.5 6.6 21.7s17.5 1.2 21.7-6.6L416 202.1V496c0 8.8 7.2 16 16 16s16-7.2 16-16z\"]\n};\nvar faMound = {\n prefix: 'fal',\n iconName: 'mound',\n icon: [576, 512, [], \"e52d\", \"M512.7 384L63.3 384 171.9 195.2C195.8 153.6 240.1 128 288 128s92.2 25.6 116.1 67.2L512.7 384zM288 96c-59.4 0-114.2 31.7-143.9 83.2L35.6 368c-12.3 21.3 3.1 48 27.7 48H512.7c24.6 0 40-26.6 27.7-48L431.9 179.2C402.2 127.7 347.4 96 288 96z\"]\n};\nvar faWindsock = {\n prefix: 'fal',\n iconName: 'windsock',\n icon: [512, 512, [], \"f777\", \"M16 0c8.8 0 16 7.2 16 16V128H96V86.7c0-20.1 18.3-35.2 38-31.4L486 123c15.1 2.9 26 16.1 26 31.4V261.6c0 15.3-10.9 28.5-26 31.4L134 360.7c-19.7 3.8-38-11.3-38-31.4V288H32V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V272 144 16C0 7.2 7.2 0 16 0zM32 160v96H96V160H32zm96-73.3V329.3l96-18.5V105.2L128 86.7zm128 24.6V304.6L384 280V136L256 111.4zm160 30.8V273.9l64-12.3 0-107.1-64-12.3z\"]\n};\nvar faCircleHalf = {\n prefix: 'fal',\n iconName: 'circle-half',\n icon: [512, 512, [], \"e110\", \"M224 34.3C115.5 49.8 32 143.2 32 256s83.5 206.2 192 221.7V34.3zM224.1 2C241.6-.2 256 14.3 256 32V480c0 17.7-14.4 32.2-31.9 30C97.8 494.3 0 386.6 0 256S97.8 17.7 224.1 2z\"]\n};\nvar faBrakeWarning = {\n prefix: 'fal',\n iconName: 'brake-warning',\n icon: [640, 512, [], \"e0c7\", \"M320 64a192 192 0 1 1 0 384 192 192 0 1 1 0-384zm0 416a224 224 0 1 0 0-448 224 224 0 1 0 0 448zm16-336c0-8.8-7.2-16-16-16s-16 7.2-16 16V272c0 8.8 7.2 16 16 16s16-7.2 16-16V144zM320 376a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM77.5 100.6c4.8-7.4 2.6-17.3-4.8-22.1s-17.3-2.6-22.1 4.8C18.5 133.2 0 192.4 0 256s18.5 122.8 50.5 172.7c4.8 7.4 14.7 9.6 22.1 4.8s9.6-14.7 4.8-22.1C48.7 366.6 32 313.3 32 256s16.7-110.6 45.5-155.4zm512-17.3c-4.8-7.4-14.7-9.6-22.1-4.8s-9.6 14.7-4.8 22.1C591.3 145.4 608 198.7 608 256s-16.7 110.6-45.5 155.4c-4.8 7.4-2.6 17.3 4.8 22.1s17.3 2.6 22.1-4.8C621.4 378.8 640 319.6 640 256s-18.6-122.8-50.5-172.7z\"]\n};\nvar faToiletPortable = {\n prefix: 'fal',\n iconName: 'toilet-portable',\n icon: [320, 512, [], \"e583\", \"M32 64V96H288V64c0-17.7-14.3-32-32-32H64C46.3 32 32 46.3 32 64zm0 64V448H288V336H264c-22.1 0-40-17.9-40-40V248c0-22.1 17.9-40 40-40h24V128H32zM320 64V208v32 64 32V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V480H32v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V64C0 28.7 28.7 0 64 0H256c35.3 0 64 28.7 64 64zM264 240c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h24V240H264z\"]\n};\nvar faCompactDisc = {\n prefix: 'fal',\n iconName: 'compact-disc',\n icon: [512, 512, [128191, 128192, 128440], \"f51f\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm320 0a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zm-160 0a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zm72 0a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm-120 0c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-97.2 78.8-176 176-176c8.8 0 16 7.2 16 16s-7.2 16-16 16c-79.5 0-144 64.5-144 144z\"]\n};\nvar faFileArrowDown = {\n prefix: 'fal',\n iconName: 'file-arrow-down',\n icon: [384, 512, [\"file-download\"], \"f56d\", \"M320 480H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H192V144c0 26.5 21.5 48 48 48H352V448c0 17.7-14.3 32-32 32zM240 160c-8.8 0-16-7.2-16-16V32.5c2.8 .7 5.4 2.1 7.4 4.2L347.3 152.6c2.1 2.1 3.5 4.6 4.2 7.4H240zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V163.9c0-12.7-5.1-24.9-14.1-33.9L254.1 14.1c-9-9-21.2-14.1-33.9-14.1H64zM208 240c0-8.8-7.2-16-16-16s-16 7.2-16 16V361.4l-52.7-52.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l80 80c6.2 6.2 16.4 6.2 22.6 0l80-80c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L208 361.4V240z\"]\n};\nvar faFileDownload = faFileArrowDown;\nvar faSaxophoneFire = {\n prefix: 'fal',\n iconName: 'saxophone-fire',\n icon: [640, 512, [\"sax-hot\"], \"f8db\", \"M125.4 60.7c6.2 6.5 14.8 10.1 23.7 9.9s17.4-4.1 23.4-10.8c1.1-1.2 2.1-2.5 3-3.5l0 0 0 0 0 0 0-.1c11.3 11.7 22.6 26.5 31.5 42.4c10.6 19.1 16.9 38.4 16.9 55c0 13.6-2.8 26.6-7.9 38.3h34.1c3.8-12.1 5.8-24.9 5.8-38.3c0-24-8.8-48.7-20.9-70.5c-12.2-21.9-28.2-41.9-44-56.5c-4.5-4.2-10.2-6.2-15.9-6.2c-3.8 0-7.1 .9-10.1 2.5c-5.4 2.8-9.6 7.7-13.7 12.5l0 0c-.9 1.1-1.8 2.1-2.7 3.1L133.4 22.7c-1.6-1.7-3.2-3.5-4.8-5.3c-.7-.7-1.3-1.5-2-2.2C120 7.6 112.6 .3 102.4 0C96.6-.1 90.7 1.9 86.1 6c-18.7 16.9-40 39.1-56.7 64.1C12.8 95 0 123.9 0 153.7c0 13.3 2 26.2 5.7 38.3h34c-5-11.7-7.8-24.6-7.8-38.3c0-20.9 9.2-43.5 24.1-65.8c13.1-19.6 29.8-37.8 45.6-52.7c.4 .4 .8 .9 1.2 1.3l1.3 1.5 0 0c1.7 1.9 4 4.5 6.1 6.7l15.2 15.9zm9.5 46.8c-4.1-3.1-9.7-3.1-13.8 0c-16.4 12.3-56.9 45.9-67.4 84.5H87.6c3.4-7.6 8.8-15.9 16-24.6c7.9-9.5 16.8-17.9 24.4-24.4c7.6 6.5 16.4 14.9 24.4 24.4c7.3 8.7 12.6 17 16 24.6h33.9c-10.5-38.6-51-72.2-67.4-84.5zM521.9 64c-20.8 0-40.8 8.1-55.7 22.6L221.1 324.3c-2.3 2.3-5.4 3.5-8.7 3.5c-6.9 0-12.5-5.6-12.5-12.5v-2.5c0-2.8 .8-5.6 2.3-7.9l30.6-49H240c8.8 0 16-7.2 16-16s-7.2-16-16-16H224 32 16c-8.8 0-16 7.2-16 16c0 7.8 5.5 14.2 12.9 15.7L2.7 311.5C.9 321.5 0 331.7 0 341.9v7.6C0 439.2 72.8 512 162.6 512c48.8 0 94.9-21.9 125.8-59.6L522.8 165.9c3-3.7 7.6-5.9 12.4-5.9h77.5c15.1 0 27.3-12.2 27.3-27.3c0-7.2-2.9-14.2-8-19.3L606.1 87.4c-15-15-35.4-23.4-56.6-23.4H521.9zM45.4 256H195.1l-20 32c-4.7 7.5-7.1 16.1-7.1 24.9v2.5c0 24.6 19.9 44.5 44.5 44.5c11.6 0 22.7-4.5 31-12.5L488.5 109.5c9-8.7 20.9-13.5 33.4-13.5h27.6c12.7 0 24.9 5.1 33.9 14.1L601.4 128H535.2c-14.4 0-28 6.5-37.2 17.6L263.6 432.1c-24.8 30.3-61.9 47.9-101 47.9C90.5 480 32 421.5 32 349.4v-7.6c0-8.3 .7-16.6 2.2-24.7L45.4 256zM144 328a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faSaxHot = faSaxophoneFire;\nvar faCameraWebSlash = {\n prefix: 'fal',\n iconName: 'camera-web-slash',\n icon: [640, 512, [\"webcam-slash\"], \"f833\", \"M544 224C544 100.3 443.7 0 320 0C262.8 0 210.5 21.5 170.9 56.8L196.5 77C229.9 48.9 273 32 320 32c106 0 192 86 192 192c0 30.9-7.3 60.1-20.3 86l25.6 20.2c17-31.6 26.7-67.8 26.7-106.2zM427.4 422.3l7.4 9.7h4.8l-12.3-9.7zm-29.1-23C374.4 410.1 347.9 416 320 416c-106 0-192-86-192-192c0-12.1 1.1-24 3.3-35.5l-27.8-22C98.6 184.9 96 204.1 96 224c0 73.7 35.6 139 90.5 179.9L133 473.4c-5.6 7.2-6.5 17-2.5 25.2s12.4 13.4 21.5 13.4H488c9.1 0 17.5-5.2 21.5-13.4c1.5-3 2.3-6.3 2.4-9.5L500.4 480H416l-247.8 0 45.3-58.9C245.2 438.3 281.5 448 320 448c38.4 0 74.5-9.7 106.1-26.7l-27.8-22zM176 224c0 79.5 64.5 144 144 144c11.6 0 22.8-1.4 33.6-3.9L318 336c-51.4-.9-94.3-36.3-106.5-84.1l-35.5-28 0 .1zm256 0c0 12.1-1.9 23.7-5.4 34.6L453 279.4c7.1-17.1 11-35.8 11-55.4c0-79.5-64.5-144-144-144c-31.7 0-61 10.2-84.7 27.6l26.4 20.8c17-10.4 37-16.4 58.4-16.4c61.9 0 112 50.1 112 112zM25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4z\"]\n};\nvar faWebcamSlash = faCameraWebSlash;\nvar faFolderMedical = {\n prefix: 'fal',\n iconName: 'folder-medical',\n icon: [512, 512, [], \"e18c\", \"M32 96c0-17.7 14.3-32 32-32H188.1c8.5 0 16.6 3.4 22.6 9.4l35.9 35.9c12 12 28.3 18.7 45.3 18.7H448c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V96zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H291.9c-8.5 0-16.6-3.4-22.6-9.4L233.4 50.7c-12-12-28.3-18.7-45.3-18.7H64zM240 176c-17.7 0-32 14.3-32 32v32H176c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32h32v32c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V336h32c17.7 0 32-14.3 32-32V272c0-17.7-14.3-32-32-32H304V208c0-17.7-14.3-32-32-32H240zm0 32h32v48c0 8.8 7.2 16 16 16h48v32H288c-8.8 0-16 7.2-16 16v48H240V320c0-8.8-7.2-16-16-16H176V272h48c4.2 0 8.3-1.7 11.3-4.7s4.7-7.1 4.7-11.3V208z\"]\n};\nvar faFolderGear = {\n prefix: 'fal',\n iconName: 'folder-gear',\n icon: [512, 512, [\"folder-cog\"], \"e187\", \"M32 96c0-17.7 14.3-32 32-32H188.1c8.5 0 16.6 3.4 22.6 9.4l35.9 35.9c12 12 28.3 18.7 45.3 18.7H448c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V96zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H291.9c-8.5 0-16.6-3.4-22.6-9.4L233.4 50.7c-12-12-28.3-18.7-45.3-18.7H64zM208 192v.7c0 1-.8 3.4-4.1 5.3c-3.2 1.8-5.5 1.4-6.5 .8l-.6-.3c-15.3-8.8-34.9-3.6-43.7 11.7l-16 27.7c-8.8 15.3-3.6 34.9 11.7 43.7l.6 .3c.9 .5 2.6 2.4 2.6 6.1s-1.6 5.6-2.6 6.1l-.6 .3c-15.3 8.8-20.5 28.4-11.7 43.7l16 27.7c8.8 15.3 28.4 20.6 43.7 11.7l.6-.3c.9-.5 3.3-1 6.5 .8c3.3 1.9 4.1 4.3 4.1 5.3v.7c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32v-.7c0-1 .8-3.4 4.1-5.3c3.2-1.8 5.5-1.4 6.5-.8l.6 .3c15.3 8.8 34.9 3.6 43.7-11.7l16-27.7c8.8-15.3 3.6-34.9-11.7-43.7l-.6-.3c-.9-.5-2.6-2.4-2.6-6.1s1.6-5.6 2.6-6.1l.6-.3c15.3-8.8 20.6-28.4 11.7-43.7l-16-27.7c-8.8-15.3-28.4-20.5-43.7-11.7l-.6 .3c-.9 .5-3.3 1-6.5-.8c-3.3-1.9-4.1-4.3-4.1-5.3V192c0-17.7-14.3-32-32-32H240c-17.7 0-32 14.3-32 32zm64 0v.7c0 15.1 9.4 26.8 20 33c10.7 6.2 25.5 8.3 38.5 .8l.6-.3 16 27.7-.6 .3c-13 7.5-18.6 21.4-18.6 33.8s5.5 26.3 18.6 33.8l.6 .3-16 27.7-.6-.3c-13-7.5-27.8-5.4-38.5 .8c-10.6 6.2-20 17.9-20 33v.7H240v-.7c0-15.1-9.4-26.8-20-33c-10.7-6.2-25.5-8.3-38.5-.8l-.6 .3-16-27.7 .6-.3c13-7.5 18.6-21.4 18.6-33.8s-5.5-26.3-18.6-33.8l-.6-.3 16-27.7 .6 .3c13 7.5 27.8 5.4 38.5-.8c10.6-6.2 20-17.9 20-33V192h32zm8 96a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faFolderCog = faFolderGear;\nvar faHandWave = {\n prefix: 'fal',\n iconName: 'hand-wave',\n icon: [512, 512, [], \"e1a7\", \"M354.3 95.8c8.7-1.2 14.8-9.4 13.6-18.1l-1.2-8.5c-5-35.2-32.7-62.9-67.9-67.9L290.3 .2c-8.7-1.2-16.9 4.8-18.1 13.6s4.8 16.9 13.6 18.1l8.5 1.2c21.1 3 37.7 19.6 40.7 40.7l1.2 8.5c1.3 8.7 9.4 14.8 18.1 13.6zM13.7 368.2C5 369.4-1.1 377.5 .2 386.3l1.2 8.5c5 35.2 32.7 62.9 67.9 67.9l8.5 1.2c8.7 1.3 16.9-4.8 18.1-13.6s-4.8-16.9-13.6-18.1L73.8 431c-21.1-3-37.7-19.6-40.7-40.7l-1.2-8.5c-1.2-8.7-9.4-14.8-18.1-13.6zM150.4 62.4c-21-10.8-47.5-7.3-65.1 10.3s-21 44.1-10.3 65.1c-8.7 2.6-16.8 7.3-23.7 14.1c-21.9 21.9-21.9 57.3 0 79.2l9.5 9.5c-7.6 2.7-14.8 7.1-20.9 13.2c-21.8 21.8-21.9 57.2-.2 79.1L162.9 457.1c34.8 35.1 82.2 54.9 131.7 54.9C397 512 480 429 480 326.6l0-13.8 0 0 0-.7 0 0L480 152c0-30.9-25.1-56-56-56s-56 25.1-56 56l0 11L243.7 38.7c-21.9-21.9-57.3-21.9-79.2 0c-6.8 6.8-11.5 15-14.1 23.7zM108 95.3c9.4-9.4 24.6-9.4 33.9 0l8.8 8.8 .1 .1L288 241.4c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L187.1 95.3l-.1-.1c-9.3-9.4-9.3-24.5 .1-33.9c9.4-9.4 24.6-9.4 33.9 0L372.7 212.9c4.6 4.6 11.5 5.9 17.4 3.5s9.9-8.3 9.9-14.8l0-49.6c0-13.3 10.7-24 24-24s24 10.7 24 24l0 160 0 0 0 .7 0 0 0 13.9C448 411.3 379.3 480 294.6 480c-40.9 0-80.1-16.4-109-45.4L62.6 310.3c-9.3-9.4-9.3-24.6 .1-34c9.4-9.4 24.7-9.4 34.1 0l36 36 .1 .1 42.1 42.1c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-42.2-42.2L105.6 240l-.1-.1L74 208.4c-9.4-9.4-9.4-24.6 0-33.9c9.3-9.3 24.4-9.4 33.8-.1L231.4 297.9c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-46.5-46.5-.1-.1L108 129.2c-9.4-9.4-9.4-24.6 0-33.9z\"]\n};\nvar faArrowUpArrowDown = {\n prefix: 'fal',\n iconName: 'arrow-up-arrow-down',\n icon: [576, 512, [\"sort-up-down\"], \"e099\", \"M171.3 36.7c-6.2-6.2-16.4-6.2-22.6 0l-96 96c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L144 86.6V464c0 8.8 7.2 16 16 16s16-7.2 16-16V86.6l68.7 68.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-96-96zm352 342.6c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L432 425.4V48c0-8.8-7.2-16-16-16s-16 7.2-16 16V425.4l-68.7-68.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l96 96c6.2 6.2 16.4 6.2 22.6 0l96-96z\"]\n};\nvar faSortUpDown = faArrowUpArrowDown;\nvar faCaravan = {\n prefix: 'fal',\n iconName: 'caravan',\n icon: [640, 512, [], \"f8ff\", \"M416 64c70.7 0 128 57.3 128 128V384H480V168c0-22.1-17.9-40-40-40H360c-22.1 0-40 17.9-40 40V384H282.5c-13.2-37.3-48.7-64-90.5-64s-77.4 26.7-90.5 64H80c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48H416zM80 416H96c0 53 43 96 96 96s96-43 96-96h64 96 96 32l48 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-48 0V192c0-88.4-71.6-160-160-160H80C35.8 32 0 67.8 0 112V336c0 44.2 35.8 80 80 80zM448 224H416c-8.8 0-16 7.2-16 16s7.2 16 16 16h32V384H352V168c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8v56zM128 160H256v64H128V160zm-32 0v64c0 17.7 14.3 32 32 32H256c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32H128c-17.7 0-32 14.3-32 32zm96 192a64 64 0 1 1 0 128 64 64 0 1 1 0-128z\"]\n};\nvar faShieldCat = {\n prefix: 'fal',\n iconName: 'shield-cat',\n icon: [512, 512, [], \"e572\", \"M243.5 37.3c8-3.4 17-3.4 25 0l176.7 75c11.3 4.8 18.9 15.5 18.8 27.6c-.5 94-39.4 259.8-195.5 334.5c-7.9 3.8-17.2 3.8-25.1 0C87.3 399.6 48.5 233.8 48 139.8c-.1-12.1 7.5-22.8 18.8-27.6l176.7-75zM281 7.8c-16-6.8-34-6.8-50 0L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.7 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2L281 7.8zM171.3 132.7c-4.6-4.6-11.5-5.9-17.4-3.5s-9.9 8.3-9.9 14.8V272c0 61.9 50.1 112 112 112s112-50.1 112-112V144c0-6.5-3.9-12.3-9.9-14.8s-12.9-1.1-17.4 3.5L281.4 192H230.6l-59.3-59.3zM176 272V182.6l36.7 36.7c3 3 7.1 4.7 11.3 4.7h64c4.2 0 8.3-1.7 11.3-4.7L336 182.6V272c0 44.2-35.8 80-80 80s-80-35.8-80-80zm56 0a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm64 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faMessageSlash = {\n prefix: 'fal',\n iconName: 'message-slash',\n icon: [640, 512, [\"comment-alt-slash\"], \"f4a9\", \"M378.8 384h-5.5c-6.9 0-13.7 2.2-19.2 6.4L256 464V416c0-17.7-14.3-32-32-32H128c-17.7 0-32-14.3-32-32V160.7L64 135.4V352c0 35.3 28.7 64 64 64h64 32v32 48c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L373.3 416h46l-40.5-32zM128 0c-8.3 0-16.1 1.6-23.4 4.4L139.6 32H512c17.7 0 32 14.3 32 32V351.3l28.3 22.3c2.4-6.8 3.7-14 3.7-21.6V64c0-35.3-28.7-64-64-64H128zM25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4z\"]\n};\nvar faCommentAltSlash = faMessageSlash;\nvar faBolt = {\n prefix: 'fal',\n iconName: 'bolt',\n icon: [448, 512, [9889, \"zap\"], \"f0e7\", \"M306.8 6.3C311.4 2.2 317.3 0 323.4 0c17.2 0 29.2 17.1 23.4 33.3L278.7 224H389c14.9 0 27 12.1 27 27c0 7.8-3.3 15.1-9.1 20.3L141.1 505.8c-4.5 4-10.4 6.2-16.5 6.2c-17.2 0-29.2-17.1-23.5-33.3L169.3 288H57.8C43.6 288 32 276.4 32 262.2c0-7.4 3.2-14.4 8.7-19.3L306.8 6.3zm.5 42.4L74.1 256H192c5.2 0 10.1 2.5 13.1 6.8s3.7 9.7 2 14.6L140.6 463.6 375.8 256H256c-5.2 0-10.1-2.5-13.1-6.8s-3.7-9.7-2-14.6l66.4-186z\"]\n};\nvar faZap = faBolt;\nvar faTrashCanCheck = {\n prefix: 'fal',\n iconName: 'trash-can-check',\n icon: [448, 512, [], \"e2a9\", \"M164.2 39.5L148.9 64H299.1L283.8 39.5c-2.9-4.7-8.1-7.5-13.6-7.5H177.7c-5.5 0-10.6 2.8-13.6 7.5zM311 22.6L336.9 64H384h32 16c8.8 0 16 7.2 16 16s-7.2 16-16 16H416V432c0 44.2-35.8 80-80 80H112c-44.2 0-80-35.8-80-80V96H16C7.2 96 0 88.8 0 80s7.2-16 16-16H32 64h47.1L137 22.6C145.8 8.5 161.2 0 177.7 0h92.5c16.6 0 31.9 8.5 40.7 22.6zM64 96V432c0 26.5 21.5 48 48 48H336c26.5 0 48-21.5 48-48V96H64zM331.3 235.3l-128 128c-6.2 6.2-16.4 6.2-22.6 0l-64-64c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L192 329.4 308.7 212.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faGlassWater = {\n prefix: 'fal',\n iconName: 'glass-water',\n icon: [384, 512, [], \"e4f4\", \"M32.1 40.7c-.4-4.7 3.3-8.7 8-8.7H343.8c4.7 0 8.4 4 8 8.7l-8.2 97.7-38 19c-19.2 9.6-42.3 7.2-59.1-6.3c-31.8-25.5-77.1-25.5-108.9 0c-16.8 13.4-39.9 15.9-59.1 6.3l-38.1-19L32.1 40.7zm11.4 135L64.1 186c30.4 15.2 66.9 11.3 93.4-9.9c20.1-16.1 48.8-16.1 68.9 0c26.5 21.2 63 25.1 93.4 9.9l20.5-10.3-23.2 275C315.8 467.3 302 480 285.4 480H98.6c-16.6 0-30.5-12.7-31.9-29.3L43.5 175.6zM40.1 0C16.7 0-1.7 20 .2 43.4l34.6 410C37.6 486.5 65.3 512 98.6 512H285.4c33.3 0 61-25.5 63.8-58.6l34.6-410C385.6 20 367.2 0 343.8 0H40.1z\"]\n};\nvar faOilWell = {\n prefix: 'fal',\n iconName: 'oil-well',\n icon: [576, 512, [], \"e532\", \"M497.4 69.6c-6.9-25.6-33.2-40.8-58.8-33.9l-15.5 4.1L489.4 287l15.5-4.1c25.6-6.9 40.8-33.2 33.9-58.8L497.4 69.6zM430.4 4.7c42.7-11.4 86.5 13.9 98 56.6l41.4 154.5c11.4 42.7-13.9 86.5-56.6 98l-15.5 4.1c-17.1 4.6-34.6-5.6-39.2-22.6L429.2 185.8 96 272.2V480h36.5L200 277.3l36.9-9.6L208.9 352H335.1L301.5 251l31-8 79 237.1H560c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H64V176c0-8.8 7.2-16 16-16s16 7.2 16 16v63.2L223.8 206l33-99.1C259 100.4 265.1 96 272 96s13 4.4 15.2 10.9L312.5 183l108.4-28.1L392.3 48c-4.6-17.1 5.6-34.6 22.6-39.2l15.5-4.1zM281.5 191.1L272 162.6l-11.3 33.9 20.8-5.4zM377.8 480l-32-96H198.2l-32 96H377.8z\"]\n};\nvar faPersonSimple = {\n prefix: 'fal',\n iconName: 'person-simple',\n icon: [256, 512, [], \"e220\", \"M160 64A32 32 0 1 0 96 64a32 32 0 1 0 64 0zM64 64a64 64 0 1 1 128 0A64 64 0 1 1 64 64zM57.8 236l-4.1 49.3C52.1 304 66.8 320 85.6 320h84.9c18.7 0 33.4-16 31.9-34.7L198.2 236c-2.1-24.9-22.9-44-47.8-44H105.6c-25 0-45.8 19.1-47.8 44zm-31.9-2.7C29.3 191.9 64 160 105.6 160h44.8c41.6 0 76.3 31.9 79.7 73.4l4.1 49.3c2.5 29.8-15.7 56.1-42.2 65.6V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V352H96V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V348.3c-26.5-9.5-44.7-35.8-42.2-65.6l4.1-49.3z\"]\n};\nvar faArrowTurnLeftUp = {\n prefix: 'fal',\n iconName: 'arrow-turn-left-up',\n icon: [384, 512, [], \"e634\", \"M331.3 132.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L208 54.6 208 432c0 26.5 21.5 48 48 48l112 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-112 0c-44.2 0-80-35.8-80-80l0-377.4L75.3 155.3c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l128-128c6.2-6.2 16.4-6.2 22.6 0l128 128z\"]\n};\nvar faVault = {\n prefix: 'fal',\n iconName: 'vault',\n icon: [576, 512, [], \"e2c5\", \"M64 32C46.3 32 32 46.3 32 64V416c0 17.7 14.3 32 32 32H512c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H64zM0 64C0 28.7 28.7 0 64 0H512c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V480H96v16c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-16c-35.3 0-64-28.7-64-64V64zM352 240A128 128 0 1 0 96 240a128 128 0 1 0 256 0zM64 240a160 160 0 1 1 320 0A160 160 0 1 1 64 240zm160 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0-96a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm256 0a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm32 0c0 20.9-13.4 38.7-32 45.3V336c0 8.8-7.2 16-16 16s-16-7.2-16-16V221.3c-18.6-6.6-32-24.4-32-45.3c0-26.5 21.5-48 48-48s48 21.5 48 48z\"]\n};\nvar faMars = {\n prefix: 'fal',\n iconName: 'mars',\n icon: [448, 512, [9794], \"f222\", \"M304 32c-8.8 0-16 7.2-16 16s7.2 16 16 16h89.4L288.6 168.7C258.1 143.3 218.8 128 176 128C78.8 128 0 206.8 0 304s78.8 176 176 176s176-78.8 176-176c0-42.8-15.3-82.1-40.7-112.6L416 86.6V176c0 8.8 7.2 16 16 16s16-7.2 16-16V48c0-8.8-7.2-16-16-16H304zM32 304a144 144 0 1 1 288 0A144 144 0 1 1 32 304z\"]\n};\nvar faToilet = {\n prefix: 'fal',\n iconName: 'toilet',\n icon: [448, 512, [128701], \"f7d8\", \"M0 16C0 7.2 7.2 0 16 0H432c8.8 0 16 7.2 16 16s-7.2 16-16 16H16C7.2 32 0 24.8 0 16zM64 196.8c5-1.6 10.2-3.2 15.4-4.6C121 181.2 174.5 176 224 176s103 5.2 144.6 16.3c5.3 1.4 10.4 2.9 15.4 4.6V64h32V210.6c2.1 1.2 4.2 2.5 6.1 3.8c13.9 9.4 25.9 23 25.9 41.6c0 69.8-35.8 118.1-81 148.5l15.2 51c1.2 4.1 1.8 8.3 1.8 12.5c0 24.3-19.7 43.9-43.9 43.9H107.9C83.7 512 64 492.3 64 468.1c0-4.2 .6-8.5 1.8-12.5l15.2-51C35.8 374.1 0 325.8 0 256c0-18.5 12-32.2 25.9-41.6c1.9-1.3 4-2.6 6.1-3.8V64H64V196.8zM40.3 305.7c11.3 31.6 33.2 55.4 59.7 72.9C139.4 404.7 188.2 416 224 416s84.6-11.3 124.1-37.3c26.5-17.5 48.4-41.3 59.7-72.9c-11.5 5.6-24.9 10.2-39.2 14C327 330.8 273.5 336 224 336s-103-5.2-144.6-16.3c-14.3-3.8-27.6-8.4-39.2-14zM416 256c0-3.1-1.8-8.3-11.8-15c-9.8-6.6-24.7-12.7-43.9-17.8C322.2 213.1 271.7 208 224 208s-98.2 5.1-136.3 15.2c-19.2 5.1-34.1 11.2-43.9 17.8C33.8 247.7 32 252.9 32 256s1.8 8.3 11.8 15c9.8 6.6 24.7 12.7 43.9 17.8C125.8 298.9 176.3 304 224 304s98.2-5.1 136.3-15.2c19.2-5.1 34.1-11.2 43.9-17.8c9.9-6.7 11.8-11.9 11.8-15zM112 64h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zM351.5 464.7l-13.1-43.8C299.6 439.7 257.3 448 224 448s-75.6-8.3-114.4-27.2L96.5 464.7c-.3 1.1-.5 2.3-.5 3.4c0 6.6 5.3 11.9 11.9 11.9H340.1c6.6 0 11.9-5.3 11.9-11.9c0-1.2-.2-2.3-.5-3.4z\"]\n};\nvar faPlaneCircleXmark = {\n prefix: 'fal',\n iconName: 'plane-circle-xmark',\n icon: [640, 512, [], \"e557\", \"M256 0c-13.4 0-25.2 5.7-34.8 13.3c-9.5 7.6-17.6 17.7-24 28.4C184.4 62.7 176 89 176 109.7v52.5L24.2 248.9C9.2 257.4 0 273.3 0 290.6v56.2c0 21.3 20.3 36.6 40.8 30.8L176 338.9l0 37.1-51.2 38.4c-8.1 6-12.8 15.5-12.8 25.6v42c0 16.6 13.4 30 30 30c2.8 0 5.6-.4 8.3-1.2l0 0L256 480.6l105.7 30.2 0 0c2.7 .8 5.5 1.2 8.2 1.2c6.5 0 12.5-2 17.4-5.5c-11.2-8.8-21.3-18.9-30.1-30.2l-96.8-27.7c-2.9-.8-5.9-.8-8.8 0L144 479.4V440l57.6-43.2c4-3 6.4-7.8 6.4-12.8l0-66.3c0-5-2.4-9.8-6.4-12.8s-9.2-4-14-2.6L32 346.8V290.6c0-5.7 3.1-11 8.1-13.9l159.9-91.4c5-2.8 8.1-8.2 8.1-13.9V109.7c0-13.5 6.1-34.1 16.6-51.3c5.2-8.5 10.9-15.4 16.7-20C247 33.7 251.9 32 256 32c9.1 0 20.9 8.2 31.8 26.3C298.1 75.5 304 96.1 304 109.7v61.7c0 5.7 3.1 11 8.1 13.9l76.2 43.5c9.6-7.4 19.9-13.9 30.9-19.2L336 162.1V109.7c0-20.6-8.1-46.8-20.8-67.9C303.1 21.6 282.9 0 256 0zM384 368a112 112 0 1 1 224 0 112 112 0 1 1 -224 0zm256 0a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-84.7-36.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L496 345.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L473.4 368l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L496 390.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L518.6 368l36.7-36.7z\"]\n};\nvar faYenSign = {\n prefix: 'fal',\n iconName: 'yen-sign',\n icon: [320, 512, [165, \"cny\", \"jpy\", \"rmb\", \"yen\"], \"f157\", \"M29 38.7C23.8 31.5 13.8 29.9 6.7 35S-2.1 50.2 3 57.4L123 224H48c-8.8 0-16 7.2-16 16s7.2 16 16 16h96v64H48c-8.8 0-16 7.2-16 16s7.2 16 16 16h96V464c0 8.8 7.2 16 16 16s16-7.2 16-16V352h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H176V256h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H197L317 57.4c5.2-7.2 3.5-17.2-3.6-22.3s-17.2-3.5-22.3 3.6l-131 182L29 38.7z\"]\n};\nvar faCny = faYenSign;\nvar faJpy = faYenSign;\nvar faRmb = faYenSign;\nvar faYen = faYenSign;\nvar faGearCode = {\n prefix: 'fal',\n iconName: 'gear-code',\n icon: [512, 512, [], \"e5e8\", \"M225.7 34c-1.1 1-1.9 2.3-2.4 3.8L209.6 85.5c-3.5 12.1-12.2 21.1-22.5 26.1c-7.6 3.6-14.8 7.8-21.7 12.5c-9.4 6.5-21.7 9.5-33.9 6.5l-48.2-12c-1.5-.4-3-.3-4.4 .2c-5.4 6.9-10.4 14.2-15 21.8l-4.2 7.3c-4.2 7.5-7.9 15.3-11.2 23.4c.3 1.5 1 2.9 2.1 4L85.2 211c8.7 9 12.2 21.1 11.3 32.5c-.3 4.1-.5 8.3-.5 12.5s.2 8.4 .5 12.5c.9 11.4-2.6 23.5-11.3 32.5L50.7 336.8c-1.1 1.1-1.8 2.5-2.1 4c3.3 8 7 15.8 11.2 23.4l4.2 7.3c4.6 7.6 9.6 14.8 15 21.8c1.4 .5 2.9 .5 4.4 .2l48.2-12c12.2-3 24.4 0 33.9 6.5c6.9 4.7 14.1 8.9 21.7 12.5c10.3 4.9 19.1 14 22.5 26.1l13.7 47.7c.4 1.5 1.3 2.8 2.4 3.8c9.9 1.3 20 2 30.3 2s20.4-.7 30.3-2c1.1-1 1.9-2.3 2.4-3.8l13.7-47.7c3.5-12.1 12.2-21.1 22.5-26.1c7.6-3.6 14.8-7.8 21.7-12.5c9.4-6.5 21.7-9.5 33.9-6.5l48.2 12c1.5 .4 3 .3 4.4-.2c5.4-6.9 10.4-14.2 14.9-21.8l4.2-7.3c4.2-7.5 7.9-15.3 11.2-23.4c-.3-1.5-1-2.9-2.1-4L426.8 301c-8.7-9-12.2-21.1-11.3-32.5c.3-4.1 .5-8.3 .5-12.5s-.2-8.4-.5-12.5c-.9-11.4 2.6-23.5 11.3-32.5l34.5-35.7c1.1-1.1 1.8-2.5 2.1-4c-3.3-8-7-15.8-11.2-23.3l-4.3-7.4c-4.6-7.6-9.5-14.8-14.9-21.8c-1.4-.5-2.9-.5-4.4-.2l-48.2 12c-12.2 3-24.4 0-33.9-6.5c-6.9-4.7-14.1-8.9-21.7-12.5c-10.3-4.9-19.1-14-22.5-26.1L288.7 37.8c-.4-1.5-1.3-2.8-2.4-3.8c-9.9-1.3-20-2-30.3-2s-20.4 .7-30.3 2zM217.6 2.9C230.1 1 243 0 256 0s25.9 1 38.4 2.9c1.7 .3 3.4 .8 5 1.6c9.5 4.9 16.9 13.6 20 24.5l13.7 47.7c.6 2.2 2.5 4.5 5.6 6c9.1 4.3 17.8 9.4 26 15c2.8 1.9 5.8 2.4 8 1.8l48.2-12c10.9-2.7 22.1-.7 31.1 5.1c1.5 .9 2.8 2.1 3.9 3.5c7.1 8.9 13.6 18.2 19.5 28l.1 .3L480 132l.1 .3c5.4 9.7 10.2 19.9 14.3 30.4c.6 1.6 1 3.3 1.1 5c.5 10.8-3.3 21.6-11.2 29.8l-34.5 35.7c-1.6 1.7-2.7 4.4-2.4 7.8c.4 5 .6 10 .6 15s-.2 10.1-.6 15c-.3 3.4 .8 6.2 2.4 7.8l34.5 35.7c7.9 8.2 11.7 19 11.2 29.8c-.1 1.7-.5 3.4-1.1 5c-4.1 10.5-8.9 20.6-14.3 30.4l-.1 .3-4.4 7.6-.1 .3c-5.9 9.8-12.4 19.2-19.5 28c-1.1 1.4-2.4 2.6-3.9 3.5c-9 5.7-20.2 7.8-31.1 5.1l-48.2-12c-2.2-.6-5.2-.1-8 1.8c-8.2 5.7-16.9 10.7-26 15c-3.1 1.5-4.9 3.8-5.6 6L319.4 483c-3.1 10.8-10.5 19.5-20 24.5c-1.6 .8-3.2 1.4-5 1.6C281.9 511 269 512 256 512s-25.9-1-38.4-2.9c-1.7-.3-3.4-.8-5-1.6c-9.5-4.9-16.9-13.6-20-24.5l-13.7-47.7c-.6-2.2-2.5-4.5-5.6-6c-9.1-4.3-17.8-9.4-26-15c-2.8-1.9-5.8-2.4-8-1.8l-48.2 12c-10.9 2.7-22.1 .7-31.1-5.1c-1.5-.9-2.8-2.1-3.9-3.5C49 407 42.4 397.6 36.5 387.8l-.1-.3L32 380l-.1-.3c-5.4-9.8-10.2-19.9-14.3-30.4c-.6-1.6-1-3.3-1.1-5c-.5-10.8 3.3-21.6 11.2-29.8l34.5-35.7c1.6-1.7 2.7-4.4 2.4-7.8c-.4-5-.6-10-.6-15s.2-10.1 .6-15c.3-3.4-.8-6.2-2.4-7.8L27.7 197.4c-7.9-8.2-11.7-19-11.2-29.8c.1-1.7 .5-3.4 1.1-5c4.1-10.5 8.9-20.6 14.3-30.4l.1-.3 4.4-7.6 .1-.3C42.4 114.3 49 105 56.1 96.1c1.1-1.4 2.4-2.6 3.9-3.5c9-5.7 20.2-7.8 31.1-5.1l48.2 12c2.2 .6 5.2 .1 8-1.8c8.2-5.7 16.9-10.7 26-15c3.1-1.5 4.9-3.8 5.6-6L192.6 29c3.1-10.8 10.5-19.5 20-24.5c1.6-.8 3.2-1.4 5-1.6zm70.2 159.8l-32 192c-1.5 8.7-9.7 14.6-18.4 13.2s-14.6-9.7-13.2-18.4l32-192c1.5-8.7 9.7-14.6 18.4-13.2s14.6 9.7 13.2 18.4zM187.3 227.3L158.6 256l28.7 28.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6l40-40c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zm160-22.6l40 40c6.2 6.2 6.2 16.4 0 22.6l-40 40c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L353.4 256l-28.7-28.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0z\"]\n};\nvar faNotes = {\n prefix: 'fal',\n iconName: 'notes',\n icon: [512, 512, [], \"e202\", \"M128 96c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32V256H368c-26.5 0-48 21.5-48 48v80H160c-17.7 0-32-14.3-32-32V96zM446.2 288c-1.6 4.5-4.2 8.7-7.6 12.1l-74.5 74.5c-3.4 3.4-7.6 6-12.1 7.6V304c0-8.8 7.2-16 16-16h78.2zM96 96V352c0 35.3 28.7 64 64 64H341.5c17 0 33.3-6.7 45.3-18.7l74.5-74.5c12-12 18.7-28.3 18.7-45.3V96c0-35.3-28.7-64-64-64H160c-35.3 0-64 28.7-64 64zM320 496c0-8.8-7.2-16-16-16H128c-53 0-96-43-96-96l0-240c0-8.8-7.2-16-16-16s-16 7.2-16 16V384c0 70.7 57.3 128 128 128H304c8.8 0 16-7.2 16-16z\"]\n};\nvar faRubleSign = {\n prefix: 'fal',\n iconName: 'ruble-sign',\n icon: [384, 512, [8381, \"rouble\", \"rub\", \"ruble\"], \"f158\", \"M104.7 32C82.2 32 64 50.2 64 72.7V288H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H64v64H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H64v48c0 8.8 7.2 16 16 16s16-7.2 16-16V416H304c8.8 0 16-7.2 16-16s-7.2-16-16-16H96V320H240c79.5 0 144-64.5 144-144s-64.5-144-144-144H104.7zM96 288V72.7c0-4.8 3.9-8.7 8.7-8.7H240c61.9 0 112 50.1 112 112s-50.1 112-112 112H96z\"]\n};\nvar faRouble = faRubleSign;\nvar faRub = faRubleSign;\nvar faRuble = faRubleSign;\nvar faTrashUndo = {\n prefix: 'fal',\n iconName: 'trash-undo',\n icon: [448, 512, [\"trash-arrow-turn-left\"], \"f895\", \"M177.7 32h92.5c5.5 0 10.6 2.8 13.6 7.5L299.1 64H148.9l15.3-24.5c2.9-4.7 8.1-7.5 13.6-7.5zM336.9 64L311 22.6C302.2 8.5 286.8 0 270.3 0H177.7C161.2 0 145.8 8.5 137 22.6L111.1 64H64.1 32 16C7.2 64 0 71.2 0 80s7.2 16 16 16H34.3L59.8 452.6C62.1 486.1 90 512 123.6 512H324.4c33.6 0 61.4-25.9 63.8-59.4L413.7 96H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H416 383.9 336.9zm44.8 32L356.3 450.3C355.1 467 341.2 480 324.4 480H123.6c-16.8 0-30.7-13-31.9-29.7L66.4 96H381.6zM219.9 189.3c-5.9-6.6-16-7.1-22.6-1.2l-80 72c-3.4 3-5.3 7.4-5.3 11.9s1.9 8.9 5.3 11.9l80 72c6.6 5.9 16.7 5.4 22.6-1.2s5.4-16.7-1.2-22.6l-49-44.1H240c26.5 0 48 21.5 48 48v40c0 8.8 7.2 16 16 16s16-7.2 16-16V336c0-44.2-35.8-80-80-80H169.7l49-44.1c6.6-5.9 7.1-16 1.2-22.6z\"]\n};\nvar faTrashArrowTurnLeft = faTrashUndo;\nvar faChampagneGlass = {\n prefix: 'fal',\n iconName: 'champagne-glass',\n icon: [320, 512, [\"glass-champagne\"], \"f79e\", \"M74.5 160h171l7.3 53.6C260.5 269.9 216.8 320 160 320s-100.5-50.1-92.8-106.4L74.5 160zm4.4-32L91.9 32l136.1 0 13.1 96H78.8zM60.2 27.7L35.5 209.3C25.9 279.4 75.8 342.4 144 351V480H80c-8.8 0-16 7.2-16 16s7.2 16 16 16h80 80c8.8 0 16-7.2 16-16s-7.2-16-16-16H176V351c68.2-8.6 118.1-71.6 108.5-141.7L259.8 27.7C257.6 11.8 244.1 0 228.1 0H91.9c-16 0-29.5 11.8-31.7 27.7z\"]\n};\nvar faGlassChampagne = faChampagneGlass;\nvar faObjectsAlignCenterHorizontal = {\n prefix: 'fal',\n iconName: 'objects-align-center-horizontal',\n icon: [512, 512, [], \"e3bc\", \"M448 176c0 8.8-7.2 16-16 16l-176 0L80 192c-8.8 0-16-7.2-16-16l0-64c0-8.8 7.2-16 16-16l176 0 0 0 0 0 176 0c8.8 0 16 7.2 16 16l0 64zM272 224l160 0c26.5 0 48-21.5 48-48l0-64c0-26.5-21.5-48-48-48L272 64l0-48c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 48L80 64c-26.5 0-48 21.5-48 48l0 64c0 26.5 21.5 48 48 48l160 0 0 64-96 0c-26.5 0-48 21.5-48 48l0 64c0 26.5 21.5 48 48 48l96 0 0 48c0 8.8 7.2 16 16 16s16-7.2 16-16l0-48 96 0c26.5 0 48-21.5 48-48l0-64c0-26.5-21.5-48-48-48l-96 0 0-64zm-16 96l112 0c8.8 0 16 7.2 16 16l0 64c0 8.8-7.2 16-16 16l-112 0-112 0c-8.8 0-16-7.2-16-16l0-64c0-8.8 7.2-16 16-16l112 0z\"]\n};\nvar faSun = {\n prefix: 'fal',\n iconName: 'sun',\n icon: [512, 512, [9728], \"f185\", \"M371.1 13.1c-1-5.3-4.6-9.8-9.6-11.9s-10.7-1.5-15.2 1.6L256 65.1 165.7 2.8c-4.5-3.1-10.2-3.7-15.2-1.6s-8.6 6.6-9.6 11.9L121 121 13.1 140.8c-5.3 1-9.8 4.6-11.9 9.6s-1.5 10.7 1.6 15.2L65.1 256 2.8 346.3c-3.1 4.5-3.7 10.2-1.6 15.2s6.6 8.6 11.9 9.6L121 391l19.8 107.9c1 5.3 4.6 9.8 9.6 11.9s10.7 1.5 15.2-1.6L256 446.9l90.3 62.3c4.5 3.1 10.2 3.7 15.2 1.6s8.6-6.6 9.6-11.9L391 391l107.9-19.8c5.3-1 9.8-4.6 11.9-9.6s1.5-10.7-1.6-15.2L446.9 256l62.3-90.3c3.1-4.5 3.7-10.2 1.6-15.2s-6.6-8.6-11.9-9.6L391 121 371.1 13.1zM265.1 97.7l79.1-54.5 17.4 94.5c1.2 6.5 6.3 11.6 12.8 12.8l94.5 17.4-54.5 79.1c-3.8 5.5-3.8 12.7 0 18.2l54.5 79.1-94.5 17.4c-6.5 1.2-11.6 6.3-12.8 12.8l-17.4 94.5-79.1-54.5c-5.5-3.8-12.7-3.8-18.2 0l-79.1 54.5-17.4-94.5c-1.2-6.5-6.3-11.6-12.8-12.8L43.2 344.1l54.5-79.1c3.8-5.5 3.8-12.7 0-18.2L43.2 167.8l94.5-17.4c6.5-1.2 11.6-6.3 12.8-12.8l17.4-94.5 79.1 54.5c5.5 3.8 12.7 3.8 18.2 0zM256 384a128 128 0 1 0 0-256 128 128 0 1 0 0 256zM160 256a96 96 0 1 1 192 0 96 96 0 1 1 -192 0z\"]\n};\nvar faTrashCanSlash = {\n prefix: 'fal',\n iconName: 'trash-can-slash',\n icon: [640, 512, [\"trash-alt-slash\"], \"e2ad\", \"M512 96h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H512 480 432.9L407 22.6C398.2 8.5 382.8 0 366.3 0H273.7C257.2 0 241.8 8.5 233 22.6L207.1 64h-27l40.5 32H480V300.8L512 326V96zM472.4 457.9C463.9 471.2 449 480 432 480H208c-26.5 0-48-21.5-48-48V211.2L128 186V432c0 44.2 35.8 80 80 80H432c27.2 0 51.2-13.5 65.6-34.2l-25.2-19.9zM208 400c0 8.8 7.2 16 16 16s16-7.2 16-16V274.4l-32-25.3V400zm96 0c0 8.8 7.2 16 16 16s16-7.2 16-16V350.2l-32-25.3V400zm96-162.4l32 25.3V176c0-8.8-7.2-16-16-16s-16 7.2-16 16v61.6zM260.2 39.5c2.9-4.7 8.1-7.5 13.6-7.5h92.5c5.5 0 10.6 2.8 13.6 7.5L395.1 64H244.9l15.3-24.5zM25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4z\"]\n};\nvar faTrashAltSlash = faTrashCanSlash;\nvar faScreenUsers = {\n prefix: 'fal',\n iconName: 'screen-users',\n icon: [640, 512, [\"users-class\"], \"f63d\", \"M544 32H96C78.3 32 64 46.3 64 64V229.5c-11.9 4.2-22.8 10.7-32 19V64C32 28.7 60.7 0 96 0H544c35.3 0 64 28.7 64 64V248.4c-9.2-8.3-20.1-14.8-32-19V64c0-17.7-14.3-32-32-32zM96 352a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0-96a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm224 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0-96a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm256 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-96 0a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM32 480v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V480c0-35.3 28.7-64 64-64h64c35.3 0 64 28.7 64 64v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V480c0-17.7-14.3-32-32-32H64c-17.7 0-32 14.3-32 32zm256-32c-17.7 0-32 14.3-32 32v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V480c0-35.3 28.7-64 64-64h64c35.3 0 64 28.7 64 64v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V480c0-17.7-14.3-32-32-32H288zm192 32v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V480c0-35.3 28.7-64 64-64h64c35.3 0 64 28.7 64 64v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V480c0-17.7-14.3-32-32-32H512c-17.7 0-32 14.3-32 32z\"]\n};\nvar faUsersClass = faScreenUsers;\nvar faGuitar = {\n prefix: 'fal',\n iconName: 'guitar',\n icon: [512, 512, [], \"f7a6\", \"M445.7 33c.6-.6 1.5-1 2.3-1s1.7 .3 2.3 1L479 61.7c.6 .6 1 1.5 1 2.3s-.3 1.7-1 2.3l-39 39-42.9 9.5L406.6 72l39-39zM376.4 60.5l-15 67.5-35.5 35.5c-51.7-42.9-120-48-158.3-9.6c-12 12-19.7 26.8-23.4 43.2c-4.1 18.1-20.8 33.5-39.4 34.5C76.9 233 51 243.2 31.4 262.8C-17.4 311.7-8.3 400 51.8 460.2s148.5 69.3 197.4 20.4c19.6-19.6 29.8-45.5 31.2-73.4c.9-18.5 16.4-35.3 34.5-39.4c16.4-3.7 31.2-11.4 43.2-23.4c38.3-38.3 33.3-106.6-9.6-158.3L384 150.6l67.5-15c3-.7 5.7-2.2 7.8-4.3L501.7 89c6.6-6.6 10.3-15.6 10.3-25s-3.7-18.3-10.3-25L473 10.3C466.3 3.7 457.4 0 448 0s-18.3 3.7-25 10.3L380.7 52.7c-2.2 2.2-3.6 4.9-4.3 7.8zM303.1 186.2l-74.4 74.4c-6.3-3-13.3-4.7-20.7-4.7c-26.5 0-48 21.5-48 48s21.5 48 48 48s48-21.5 48-48c0-7.4-1.7-14.4-4.7-20.7l74.4-74.4c34.5 42.9 31.7 91 9.7 113c-7.3 7.3-16.6 12.3-27.6 14.8c-30.7 6.9-57.7 34.7-59.4 69c-1.1 21-8.6 39.1-21.9 52.4c-32.2 32.2-99.9 31.8-152.1-20.4S21.8 317.6 54 285.4c13.3-13.3 31.4-20.9 52.4-21.9c34.3-1.7 62.1-28.7 69-59.4c2.5-11 7.5-20.3 14.8-27.6c22-22 70.1-24.8 113 9.7zM208 288a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faSquareArrowLeft = {\n prefix: 'fal',\n iconName: 'square-arrow-left',\n icon: [448, 512, [\"arrow-square-left\"], \"f33a\", \"M32 416c0 17.7 14.3 32 32 32l320 0c17.7 0 32-14.3 32-32l0-320c0-17.7-14.3-32-32-32L64 64C46.3 64 32 78.3 32 96l0 320zm32 64c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l320 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480zm36.7-235.3l96-96c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L150.6 240 336 240c8.8 0 16 7.2 16 16s-7.2 16-16 16l-185.4 0 68.7 68.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-96-96c-6.2-6.2-6.2-16.4 0-22.6z\"]\n};\nvar faArrowSquareLeft = faSquareArrowLeft;\nvar faSquare8 = {\n prefix: 'fal',\n iconName: 'square-8',\n icon: [448, 512, [], \"e25d\", \"M384 64c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm172 96H212c-37.6 0-68 30.4-68 68c0 20.2 8.8 38.4 22.9 50.9C148.1 260.7 136 282.9 136 308c0 42 34 76 76 76h24c42 0 76-34 76-76c0-25.1-12.1-47.3-30.9-61.1c14-12.5 22.9-30.6 22.9-50.9c0-37.6-30.4-68-68-68zM212 232c-19.9 0-36-16.1-36-36s16.1-36 36-36h24c19.9 0 36 16.1 36 36s-16.1 36-36 36H212s0 0 0 0zm0 32s0 0 0 0h24c24.3 0 44 19.7 44 44s-19.7 44-44 44H212c-24.3 0-44-19.7-44-44s19.7-44 44-44z\"]\n};\nvar faFaceSmileHearts = {\n prefix: 'fal',\n iconName: 'face-smile-hearts',\n icon: [640, 512, [], \"e390\", \"M422.7 21.4C391.3 7.7 356.5 0 320 0C178.6 0 64 114.6 64 256c0 11.1 .7 22 2.1 32.7c10.4 1.4 20.5 4.6 30 9.7c1.2-.6 2.4-1.3 3.6-1.8C97.3 283.4 96 269.9 96 256C96 132.3 196.3 32 320 32c34.4 0 66.9 7.7 96 21.6c.2-10.9 2.4-21.9 6.7-32.1zM534.5 191.3c6.2 20.5 9.5 42.2 9.5 64.7c0 24.2-3.8 47.6-11 69.4c3.8 1.4 7.4 3.1 11 5c7.4-4 15.3-6.8 23.4-8.5c5.6-21 8.6-43.1 8.6-65.9c0-23.6-3.2-46.4-9.1-68c-10.4 3.8-21.5 4.9-32.3 3.3zM428.5 452c-32.1 17.8-69.1 28-108.5 28c-46.7 0-90.1-14.3-126-38.7l-22.9 23c41.9 30 93.3 47.7 148.9 47.7c47.3 0 91.6-12.8 129.6-35.2l-8.3-8.3c-5-5.1-9.3-10.6-12.9-16.5zM275.2 233.6c5.3 7.1 15.3 8.5 22.4 3.2s8.5-15.3 3.2-22.4c-30.4-40.5-91.2-40.5-121.6 0c-5.3 7.1-3.9 17.1 3.2 22.4s17.1 3.9 22.4-3.2c17.6-23.5 52.8-23.5 70.4 0zm-69.7 90.3c-6.7 5.8-7.4 15.9-1.6 22.6c22.2 25.7 61 53.5 116.1 53.5s93.8-27.9 116.1-53.5c5.8-6.7 5.1-16.8-1.6-22.6s-16.8-5.1-22.6 1.6C394 346.2 363.4 368 320 368s-74-21.8-91.9-42.5c-5.8-6.7-15.9-7.4-22.6-1.6zm159.3-90.3c17.6-23.5 52.8-23.5 70.4 0c5.3 7.1 15.3 8.5 22.4 3.2s8.5-15.3 3.2-22.4c-30.4-40.5-91.2-40.5-121.6 0c-5.3 7.1-3.9 17.1 3.2 22.4s17.1 3.9 22.4-3.2zM486.7 38.7c8.9-9 23.3-9 32.2 0l13.7 13.8c6.3 6.3 16.4 6.3 22.7 0l13.7-13.8c8.9-9 23.3-9 32.2 0c9 9 9 23.7 0 32.7l-55.4 55.8c-1 1-2.6 1-3.6 0L486.7 71.4c-9-9-9-23.7 0-32.7zm54.9-22.6c-21.4-21.6-56.2-21.6-77.6 0c-21.4 21.5-21.4 56.3 0 77.8l55.5 55.8c13.5 13.6 35.5 13.6 49 0L624 94c21.4-21.5 21.4-56.3 0-77.8c-21.4-21.6-56.2-21.6-77.6 0L544 18.6l-2.4-2.4zm-448 320c-21.4-21.6-56.2-21.6-77.6 0C-5.3 357.7-5.3 392.5 16 414l55.5 55.8c13.5 13.6 35.5 13.6 49 0L176 414c21.4-21.5 21.4-56.3 0-77.8c-21.4-21.6-56.2-21.6-77.6 0L96 338.6l-2.4-2.4zM38.7 358.7c8.9-9 23.3-9 32.2 0l13.7 13.8c6.3 6.3 16.4 6.3 22.7 0l13.7-13.8c8.9-9 23.3-9 32.2 0c9 9 9 23.7 0 32.7L97.9 447.2c-1 1-2.6 1-3.6 0L38.7 391.4c-9-9-9-23.7 0-32.7zm448 32c8.9-9 23.3-9 32.2 0l13.7 13.8c6.3 6.3 16.4 6.3 22.7 0l13.7-13.8c8.9-9 23.3-9 32.2 0c9 9 9 23.7 0 32.7l-55.4 55.8c-1 1-2.6 1-3.6 0l-55.5-55.8c-9-9-9-23.7 0-32.7zm54.9-22.6c-21.4-21.6-56.2-21.6-77.6 0c-21.4 21.5-21.4 56.3 0 77.8l55.5 55.8c13.5 13.6 35.5 13.6 49 0L624 446c21.4-21.5 21.4-56.3 0-77.8c-21.4-21.6-56.2-21.6-77.6 0l-2.3 2.3-2.4-2.4z\"]\n};\nvar faBracketsSquare = {\n prefix: 'fal',\n iconName: 'brackets-square',\n icon: [448, 512, [\"brackets\"], \"f7e9\", \"M48 32C21.5 32 0 53.5 0 80V432c0 26.5 21.5 48 48 48h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H48c-8.8 0-16-7.2-16-16V80c0-8.8 7.2-16 16-16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H48zm352 0H304c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c8.8 0 16 7.2 16 16V432c0 8.8-7.2 16-16 16H304c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48z\"]\n};\nvar faBrackets = faBracketsSquare;\nvar faLaptopArrowDown = {\n prefix: 'fal',\n iconName: 'laptop-arrow-down',\n icon: [640, 512, [], \"e1c6\", \"M128 32H272V64H128c-17.7 0-32 14.3-32 32V352H64V96c0-35.3 28.7-64 64-64zM512 64H368V32H512c35.3 0 64 28.7 64 64V352H544V96c0-17.7-14.3-32-32-32zM76.8 448H563.2c20.3 0 37.4-13.5 42.9-32H33.9c5.5 18.5 22.7 32 42.9 32zM0 403.2C0 392.6 8.6 384 19.2 384H620.8c10.6 0 19.2 8.6 19.2 19.2c0 42.4-34.4 76.8-76.8 76.8H76.8C34.4 480 0 445.6 0 403.2zM336 48V265.4l52.7-52.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-80 80c-6.2 6.2-16.4 6.2-22.6 0l-80-80c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L304 265.4V48c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faHockeyStickPuck = {\n prefix: 'fal',\n iconName: 'hockey-stick-puck',\n icon: [640, 512, [], \"e3ae\", \"M503.3 1.8c7.8 4.1 10.9 13.7 6.9 21.6l-234.6 454c-11 21.3-32.9 34.6-56.9 34.6H56c-30.9 0-56-25.1-56-56V376c0-30.9 25.1-56 56-56H320.9L481.8 8.7c4.1-7.9 13.7-10.9 21.6-6.9zM304.4 352H128V480h90.8c12 0 22.9-6.7 28.4-17.3L304.4 352zM56 352c-13.3 0-24 10.7-24 24v80c0 13.3 10.7 24 24 24H96V352H56zm376 80c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16H592c8.8 0 16-7.2 16-16V448c0-8.8-7.2-16-16-16H432zm-48 16c0-26.5 21.5-48 48-48H592c26.5 0 48 21.5 48 48v16c0 26.5-21.5 48-48 48H432c-26.5 0-48-21.5-48-48V448z\"]\n};\nvar faHouseTree = {\n prefix: 'fal',\n iconName: 'house-tree',\n icon: [640, 512, [], \"e1b3\", \"M404.1 37.1c6.4-7.1 17.4-7.1 23.8 0L538.5 160H480c-6.2 0-11.8 3.6-14.5 9.1s-1.8 12.2 2.1 17L575.8 318.6c.1 .2 .2 .3 .2 .5c0 .5-.4 .9-.9 .9H496c-6.3 0-12.1 3.7-14.6 9.5s-1.4 12.6 2.8 17.2L606 480H414.4c-2.4 11.8-7.4 22.7-14.4 32H609.6c16.8 0 30.4-13.6 30.4-30.4c0-7.6-2.8-14.9-8-20.5L532.3 352h42.8c18.1 0 32.9-14.7 32.9-32.9c0-7.6-2.6-14.9-7.4-20.8L513.7 192h34.7c15.2 0 27.6-12.3 27.6-27.6c0-6.8-2.5-13.4-7.1-18.4L451.7 15.7c-19.1-21.2-52.3-21.2-71.4 0l-95.4 106 23.6 21.6L404.1 37.1zM32 284.2c0-9 3.8-17.5 10.4-23.6l128-117.3c12.2-11.2 31-11.2 43.2 0l128 117.3c6.6 6.1 10.4 14.6 10.4 23.6V448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V284.2zM0 448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V284.2c0-17.9-7.5-35.1-20.8-47.2l-128-117.3c-24.5-22.4-62-22.4-86.5 0L20.8 237C7.5 249.1 0 266.2 0 284.2V448zM224 288v64H160V288h64zm-64-32c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V288c0-17.7-14.3-32-32-32H160z\"]\n};\nvar faSignalFair = {\n prefix: 'fal',\n iconName: 'signal-fair',\n icon: [640, 512, [\"signal-2\"], \"f68d\", \"M208 304c0-8.8-7.2-16-16-16s-16 7.2-16 16V496c0 8.8 7.2 16 16 16s16-7.2 16-16V304zM80 400c0-8.8-7.2-16-16-16s-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V400z\"]\n};\nvar faSignal2 = faSignalFair;\nvar faFaceLaughWink = {\n prefix: 'fal',\n iconName: 'face-laugh-wink',\n icon: [512, 512, [\"laugh-wink\"], \"f59c\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM256 400c52 0 97.1-32.8 115.7-80H140.3c18.6 47.2 63.7 80 115.7 80zM126.5 288H385.5c14.2 0 25.4 12.3 21.8 26c-18.1 68-79 118-151.3 118s-133.2-50-151.3-118c-3.6-13.7 7.6-26 21.8-26zm25.9-96a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm148.4 25.6c-5.3 7.1-15.3 8.5-22.4 3.2s-8.5-15.3-3.2-22.4c30.4-40.5 91.2-40.5 121.6 0c5.3 7.1 3.9 17.1-3.2 22.4s-17.1 3.9-22.4-3.2c-17.6-23.5-52.8-23.5-70.4 0z\"]\n};\nvar faLaughWink = faFaceLaughWink;\nvar faCircleDollar = {\n prefix: 'fal',\n iconName: 'circle-dollar',\n icon: [512, 512, [\"dollar-circle\", \"usd-circle\"], \"f2e8\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM272 120v23c13.5 1 26.6 4.6 39.6 8.3c1.5 .4 3.1 .9 4.6 1.3c8.5 2.4 13.5 11.2 11.2 19.7s-11.2 13.5-19.7 11.2c-2.4-.7-4.8-1.4-7.2-2.1c-7.5-2.2-15.2-4.4-22.9-5.5c-19.1-2.8-36.6-.4-49.3 5.1c-12.9 5.6-18.6 13.1-19.8 19.5c-1.8 9.8 2.1 16.5 10.2 21.7c10.6 6.8 26.5 11.3 45.8 16.8l.3 .1c17.7 5 38.9 11.1 54.3 21.7c19 13 27.8 33.8 23.6 56.5c-4 21.6-18.9 36-37.8 43.6c-9.9 4-21.1 6.3-33.1 6.9l0 24.2c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-25.9c-8.1-1.3-21.8-5.2-32.4-8.4c-6.9-2.1-13.8-4.3-20.7-6.5c-8.4-2.8-12.9-11.8-10.2-20.2s11.8-12.9 20.2-10.2c6.6 2.2 13.2 4.3 19.9 6.3c11.2 3.4 22.7 6.6 28.1 7.4c19.8 2.9 36.5 1.3 48-3.4c11.2-4.5 16.8-11.3 18.3-19.7c1.9-10.5-1.5-18.4-10.2-24.4c-12-8.2-26.8-12.3-40.9-16.2c-2.3-.6-4.7-1.3-6.9-1.9c-17.1-4.8-37-10.5-51.7-19.9c-8.1-5.2-15.7-12.1-20.5-21.7c-4.9-9.8-6.2-20.8-4-32.8c3.8-20.7 20-35.1 38.6-43.1c7.4-3.2 15.6-5.6 24.3-7.1V120c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faDollarCircle = faCircleDollar;\nvar faUsdCircle = faCircleDollar;\nvar faHorseHead = {\n prefix: 'fal',\n iconName: 'horse-head',\n icon: [640, 512, [], \"f7ab\", \"M404 40.2c13.7-4.8 28 5.4 28 19.9c0 7-3.5 13.6-9.4 17.5l-31.5 21c-5.3 3.5-8 9.8-6.9 16s5.7 11.3 11.9 12.8l7 1.8c32.1 8 59.4 28.9 75.6 57.8l54.4 97.2c13.9 24.9 10.6 55.9-8.4 77.2c-12.7 14.3-30.9 22.5-50.1 22.5H467c-22.2 0-43.2-10.3-56.8-27.8l-26-33.5c-7.4-9.5-21.1-11.2-30.6-3.8c-31.5 24.5-76.6 20.7-103.5-8.7l-30.3-33c-6-6.5-16.1-7-22.6-1s-7 16.1-1 22.6l30.3 33c22.3 24.3 53.2 36.3 84 35.2c.2 .6 .5 1.2 .8 1.7l35.9 66.4c3.1 5.8 4.8 12.3 4.8 18.9c0 14.3-11.6 25.9-25.9 25.9H128c-17.7 0-32-14.3-32-32V318c0-102.2 64.7-193.1 161.2-226.7L404 40.2zM375.4 420l-32-59.3c7.4-2.7 14.7-6.2 21.6-10.6l20 25.8c19.7 25.3 50 40.2 82.1 40.2h7.7c28.3 0 55.2-12.1 74-33.2c28-31.5 33-77.3 12.4-114.1l-54.4-97.2c-16-28.7-40.8-51.1-70.4-64.4l4.1-2.7C455.1 94.5 464 77.9 464 60.2C464 23.6 428-2 393.5 10L246.6 61.1C137.3 99.1 64 202.2 64 318V448c0 35.3 28.7 64 64 64H326.1c32 0 57.9-25.9 57.9-57.9c0-11.9-3-23.7-8.6-34.2zM400 232a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faArrowsRepeat = {\n prefix: 'fal',\n iconName: 'arrows-repeat',\n icon: [512, 512, [\"repeat-alt\"], \"f364\", \"M15.2 272C6.4 271.5-.4 264 0 255.2l.4-8C5.1 153.5 82.4 80 176.2 80H390.6L333.2 27.8c-6.5-5.9-7-16.1-1.1-22.6s16.1-7 22.6-1.1l88 80c3.3 3 5.2 7.3 5.2 11.8s-1.9 8.8-5.2 11.8l-88 80c-6.5 5.9-16.7 5.5-22.6-1.1s-5.5-16.7 1.1-22.6L390.6 112H176.2c-76.7 0-140 60.2-143.8 136.8l-.4 8c-.4 8.8-8 15.6-16.8 15.2zm481.6-32c8.8 .4 15.6 8 15.2 16.8l-.4 8c-4.7 93.7-82 167.2-175.8 167.2H121.4l57.4 52.2c6.5 5.9 7 16.1 1.1 22.6s-16.1 7-22.6 1.1l-88-80c-3.3-3-5.2-7.3-5.2-11.8s1.9-8.8 5.2-11.8l88-80c6.5-5.9 16.7-5.5 22.6 1.1s5.5 16.7-1.1 22.6L121.4 400H335.8c76.7 0 140-60.2 143.8-136.8l.4-8c.4-8.8 8-15.6 16.8-15.2z\"]\n};\nvar faRepeatAlt = faArrowsRepeat;\nvar faBoreHole = {\n prefix: 'fal',\n iconName: 'bore-hole',\n icon: [512, 512, [], \"e4c3\", \"M256 0c-8.8 0-16 7.2-16 16V258c-27.6 7.1-48 32.2-48 62c0 35.3 28.7 64 64 64s64-28.7 64-64c0-29.8-20.4-54.9-48-62V16c0-8.8-7.2-16-16-16zm32 320a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM80 160h48V320c0 70.7 57.3 128 128 128s128-57.3 128-128V160h48c26.5 0 48 21.5 48 48V432c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48V208c0-26.5 21.5-48 48-48zm80 0c0-17.7-14.3-32-32-32H80c-44.2 0-80 35.8-80 80V432c0 44.2 35.8 80 80 80H432c44.2 0 80-35.8 80-80V208c0-44.2-35.8-80-80-80H384c-17.7 0-32 14.3-32 32V320c0 53-43 96-96 96s-96-43-96-96V160z\"]\n};\nvar faIndustry = {\n prefix: 'fal',\n iconName: 'industry',\n icon: [576, 512, [], \"f275\", \"M80 64c-8.8 0-16 7.2-16 16V304v48 64c0 17.7 14.3 32 32 32H480c17.7 0 32-14.3 32-32V320 304 158.9c0-6.5-7.4-10.3-12.7-6.5l-138 99.3c-4.9 3.5-11.3 4-16.6 1.3s-8.7-8.2-8.7-14.2V156.8c0-6.4-7.1-10.2-12.4-6.7L184.9 242.6c-4.9 3.3-11.2 3.6-16.4 .8s-8.5-8.2-8.5-14.1V80c0-8.8-7.2-16-16-16H80zM32 80c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48V199.4l113.8-75.9c26.6-17.7 62.2 1.3 62.2 33.3v50.6l112.6-81.1c26.5-19.1 63.4-.1 63.4 32.5V304v16 96c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V352 304 80z\"]\n};\nvar faImagePolaroid = {\n prefix: 'fal',\n iconName: 'image-polaroid',\n icon: [448, 512, [], \"f8c4\", \"M416 384v32c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V384H416zM105.4 352H32v-9.4l96-96L169.4 288l-60.7 60.7-3.3 3.3zm45.3 0l52.7-52.7L288 214.6l128 128V352H150.6zM416 297.4L310.6 192c-12.5-12.5-32.8-12.5-45.3 0L192 265.4 150.6 224c-12.5-12.5-32.8-12.5-45.3 0L32 297.4V96c0-17.7 14.3-32 32-32H384c17.7 0 32 14.3 32 32V297.4zM448 336V96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V336s0 0 0 0v16 16 16 32c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V384 368 352 336s0 0 0 0zM128 136a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faWaveTriangle = {\n prefix: 'fal',\n iconName: 'wave-triangle',\n icon: [640, 512, [], \"f89a\", \"M176.1 32c5.2 0 10.1 2.6 13 6.9L464.2 436.2 611 230.7c5.1-7.2 15.1-8.9 22.3-3.7s8.9 15.1 3.7 22.3l-160 224c-3 4.2-7.9 6.7-13.1 6.7s-10.1-2.6-13-6.9L175.8 75.8 29 281.3c-5.1 7.2-15.1 8.9-22.3 3.7s-8.9-15.1-3.7-22.3l160-224c3-4.2 7.9-6.7 13.1-6.7z\"]\n};\nvar faTurnLeftDown = {\n prefix: 'fal',\n iconName: 'turn-left-down',\n icon: [384, 512, [], \"e637\", \"M256 352h57.3c3.7 0 6.7 3 6.7 6.7c0 1.9-.8 3.7-2.2 5L192 476.2 66.2 363.7c-1.4-1.3-2.2-3.1-2.2-5c0-3.7 3-6.7 6.7-6.7H128c17.7 0 32-14.3 32-32V144c0-61.9 50.1-112 112-112h64c8.8 0 16 7.2 16 16V80c0 8.8-7.2 16-16 16l-64 0c-26.5 0-48 21.5-48 48V320c0 17.7 14.3 32 32 32zM178 506.7c3.8 3.4 8.8 5.3 14 5.3s10.1-1.9 14-5.3L339.1 387.5c8.2-7.3 12.9-17.8 12.9-28.8c0-21.4-17.3-38.7-38.7-38.7H288 256V288 144c0-8.8 7.2-16 16-16l64 0c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H272C192.5 0 128 64.5 128 144V288v32H96 70.7C49.3 320 32 337.3 32 358.7c0 11 4.7 21.5 12.9 28.8L178 506.7z\"]\n};\nvar faPersonRunningFast = {\n prefix: 'fal',\n iconName: 'person-running-fast',\n icon: [512, 512, [], \"e5ff\", \"M352 56a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm80 0A56 56 0 1 0 320 56a56 56 0 1 0 112 0zM275.4 116.4c-12.7-3.2-26.1-3.2-38.8 0l-1.5 .4c-12.3 3.1-23.7 9-33.3 17.4L149.5 180c-6.7 5.8-7.3 15.9-1.5 22.6s15.9 7.3 22.6 1.5l52.4-45.8c5.7-5 12.6-8.6 20-10.4l1.5-.4c7.6-1.9 15.6-1.9 23.3 0l16.9 4.2L249.2 257.9c-7.3 21.8 2 45.7 22 57l93.3 52.5L320.9 490.7c-2.9 8.3 1.4 17.5 9.8 20.4s17.5-1.4 20.4-9.8L394.6 378c5.2-14.7-.9-30.9-14.5-38.5l-37.5-21.1c.2-.4 .4-.9 .5-1.3l37.2-111.6L394 253.2c5.9 20.6 24.7 34.8 46.2 34.8H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H440.1c-7.1 0-13.4-4.7-15.4-11.6l-20.3-71c-4.7-16.5-17.9-29.2-34.5-33.4l-94.5-23.6zm83 53.7L314.3 302.4 286.9 287c-6.7-3.8-9.8-11.7-7.3-19l36.2-108.6 42.7 10.7zM226 314.1L197.3 384H112c-8.8 0-16 7.2-16 16s7.2 16 16 16h85.3c13 0 24.7-7.8 29.6-19.8l23.3-56.6c-10-6.7-18.2-15.5-24.1-25.4zM16 95.8c-8.8 0-16 7.2-16 16s7.2 16 16 16H144c8.8 0 16-7.2 16-16s-7.2-16-16-16H16zm-16 80c0 8.8 7.2 16 16 16H80c8.8 0 16-7.2 16-16s-7.2-16-16-16H16c-8.8 0-16 7.2-16 16zm16 48c-8.8 0-16 7.2-16 16s7.2 16 16 16H144c8.8 0 16-7.2 16-16s-7.2-16-16-16H16z\"]\n};\nvar faCircleDown = {\n prefix: 'fal',\n iconName: 'circle-down',\n icon: [512, 512, [61466, \"arrow-alt-circle-down\"], \"f358\", \"M256 32a224 224 0 1 0 0 448 224 224 0 1 0 0-448zm0 480A256 256 0 1 1 256 0a256 256 0 1 1 0 512zm0-112c-9.2 0-18-3.5-24.7-9.7l-91-84c-7.8-7.2-12.3-17.4-12.3-28.1c0-21.1 17.1-38.3 38.3-38.3H192V160c0-26.5 21.5-48 48-48h32c26.5 0 48 21.5 48 48v80h25.7c21.1 0 38.3 17.1 38.3 38.3c0 10.7-4.5 20.9-12.3 28.1l-91 84c-6.7 6.2-15.6 9.7-24.7 9.7zm-3-33.2c.8 .8 1.9 1.2 3 1.2s2.2-.4 3-1.2l91-84c1.3-1.2 2-2.9 2-4.6c0-3.5-2.8-6.3-6.3-6.3H304c-8.8 0-16-7.2-16-16V160c0-8.8-7.2-16-16-16H240c-8.8 0-16 7.2-16 16v96c0 8.8-7.2 16-16 16H166.3c-3.5 0-6.3 2.8-6.3 6.3c0 1.7 .7 3.4 2 4.6l91 84z\"]\n};\nvar faArrowAltCircleDown = faCircleDown;\nvar faGrill = {\n prefix: 'fal',\n iconName: 'grill',\n icon: [448, 512, [], \"e5a3\", \"M408 64c4.4 0 8 3.6 8 8V96c0 106-86 192-192 192S32 202 32 96V72c0-4.4 3.6-8 8-8H408zM40 32C17.9 32 0 49.9 0 72V96c0 92.5 56 171.9 136 206.1l-23.7 52c-5.2-1.4-10.7-2.1-16.4-2.1c-35.3 0-64 28.7-64 64s28.7 64 64 64s64-28.7 64-64H328.6l24.8 54.6c3.7 8 13.1 11.6 21.2 7.9s11.6-13.1 7.9-21.2L312 302.1C392 267.9 448 188.5 448 96V72c0-22.1-17.9-40-40-40H40zM140.4 369.9l26.1-57.3c18.4 4.9 37.7 7.5 57.6 7.5s39.2-2.6 57.6-7.5L314.1 384H151.4c-3-5.2-6.8-10-11.1-14.1zM96 448a32 32 0 1 1 0-64 32 32 0 1 1 0 64z\"]\n};\nvar faArrowsTurnToDots = {\n prefix: 'fal',\n iconName: 'arrows-turn-to-dots',\n icon: [512, 512, [], \"e4c1\", \"M260.7 36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L230.6 112 432 112c44.2 0 80 35.8 80 80v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-26.5-21.5-48-48-48l-201.4 0 52.7 52.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-80-80c-6.2-6.2-6.2-16.4 0-22.6l80-80zm-9.4 256l80 80c6.2 6.2 6.2 16.4 0 22.6l-80 80c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L281.4 400 80 400c-26.5 0-48 21.5-48 48v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V448c0-44.2 35.8-80 80-80l201.4 0-52.7-52.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0zM448 416a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0-96a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM32 128a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm96 0A64 64 0 1 1 0 128a64 64 0 1 1 128 0z\"]\n};\nvar faChartMixed = {\n prefix: 'fal',\n iconName: 'chart-mixed',\n icon: [512, 512, [\"analytics\"], \"f643\", \"M507.8 37.2c5.9 6.5 5.5 16.7-1.1 22.6l-176 160c-6.3 5.7-16 5.5-22.1-.5L190.4 101 25.4 220.9c-7.1 5.2-17.2 3.6-22.4-3.5s-3.6-17.2 3.5-22.4l176-128c6.4-4.6 15.2-3.9 20.7 1.6L320.5 185.9 485.2 36.2c6.5-5.9 16.7-5.5 22.6 1.1zM80 432V368c0-8.8-7.2-16-16-16s-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16zM64 320c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48s-48-21.5-48-48V368c0-26.5 21.5-48 48-48zm144-48c0-8.8-7.2-16-16-16s-16 7.2-16 16V432c0 8.8 7.2 16 16 16s16-7.2 16-16V272zm-64 0c0-26.5 21.5-48 48-48s48 21.5 48 48V432c0 26.5-21.5 48-48 48s-48-21.5-48-48V272zM336 432V336c0-8.8-7.2-16-16-16s-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16zM320 288c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48s-48-21.5-48-48V336c0-26.5 21.5-48 48-48zm144-16c0-8.8-7.2-16-16-16s-16 7.2-16 16V432c0 8.8 7.2 16 16 16s16-7.2 16-16V272zm-64 0c0-26.5 21.5-48 48-48s48 21.5 48 48V432c0 26.5-21.5 48-48 48s-48-21.5-48-48V272z\"]\n};\nvar faAnalytics = faChartMixed;\nvar faFlorinSign = {\n prefix: 'fal',\n iconName: 'florin-sign',\n icon: [384, 512, [], \"e184\", \"M322.4 32c-32.1 0-61.2 19.2-73.7 48.8L188.2 224H48c-8.8 0-16 7.2-16 16s7.2 16 16 16H174.6L105.8 418.7C98.3 436.5 80.9 448 61.6 448H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H61.6c32.1 0 61.2-19.2 73.7-48.8L209.4 256H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H222.9L278.2 93.3C285.7 75.5 303.1 64 322.4 64H368c8.8 0 16-7.2 16-16s-7.2-16-16-16H322.4z\"]\n};\nvar faArrowDownShortWide = {\n prefix: 'fal',\n iconName: 'arrow-down-short-wide',\n icon: [576, 512, [\"sort-amount-desc\", \"sort-amount-down-alt\"], \"f884\", \"M235.3 379.3l-96 96c-6.2 6.2-16.4 6.2-22.6 0l-96-96c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L112 425.4V48c0-8.8 7.2-16 16-16s16 7.2 16 16V425.4l68.7-68.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zM304 48h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H304c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 128H432c8.8 0 16 7.2 16 16s-7.2 16-16 16H304c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 128H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H304c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 128H560c8.8 0 16 7.2 16 16s-7.2 16-16 16H304c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faSortAmountDesc = faArrowDownShortWide;\nvar faSortAmountDownAlt = faArrowDownShortWide;\nvar faLessThan = {\n prefix: 'fal',\n iconName: 'less-than',\n icon: [384, 512, [62774], \"3c\", \"M382.3 72.8c4 7.9 .7 17.5-7.2 21.5L51.8 256 375.2 417.7c7.9 4 11.1 13.6 7.2 21.5s-13.6 11.1-21.5 7.2l-352-176C3.4 267.6 0 262.1 0 256s3.4-11.6 8.8-14.3l352-176c7.9-4 17.5-.7 21.5 7.2z\"]\n};\nvar faDisplayCode = {\n prefix: 'fal',\n iconName: 'display-code',\n icon: [576, 512, [\"desktop-code\"], \"e165\", \"M512 32c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H344.3c-.2 0-.4 0-.6 0H232.3c-.2 0-.4 0-.6 0H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H512zM64 416H213.1l-10.7 64H144c-8.8 0-16 7.2-16 16s7.2 16 16 16h72H360h72c8.8 0 16-7.2 16-16s-7.2-16-16-16H373.6l-10.7-64H512c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64zm170.9 64l10.7-64h84.9l10.7 64H234.9zm16.4-324.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-64 64c-6.2 6.2-6.2 16.4 0 22.6l64 64c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L198.6 208l52.7-52.7zm96-22.6c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L377.4 208l-52.7 52.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l64-64c6.2-6.2 6.2-16.4 0-22.6l-64-64z\"]\n};\nvar faDesktopCode = faDisplayCode;\nvar faFaceDrooling = {\n prefix: 'fal',\n iconName: 'face-drooling',\n icon: [512, 512, [], \"e372\", \"M32 256C32 132.3 132.3 32 256 32s224 100.3 224 224c0 57.4-21.6 109.7-57 149.3c-5.9 6.6-5.3 16.7 1.3 22.6s16.7 5.3 22.6-1.3C487.3 381.4 512 321.6 512 256C512 114.6 397.4 0 256 0S0 114.6 0 256S114.6 512 256 512c8.8 0 16-7.2 16-16s-7.2-16-16-16C132.3 480 32 379.7 32 256zM352 370.9V496c0 8.8 7.2 16 16 16s16-7.2 16-16V344.2c4.6-4.7 8.7-9.5 12.5-14.2c5.5-6.9 4.4-17-2.5-22.5s-17-4.4-22.5 2.5c-22.8 28.5-61.3 58-115.5 58s-92.7-29.5-115.5-58c-5.5-6.9-15.6-8-22.5-2.5s-8 15.6-2.5 22.5c26.7 33.4 73.5 70 140.5 70c11.2 0 21.9-1 32-2.9V464c0 8.8 7.2 16 16 16s16-7.2 16-16V387.8c11.7-4.7 22.3-10.4 32-16.9zM158.6 189.6c8.2-7.8 19.1-13.6 33.4-13.6c8.8 0 16-7.2 16-16s-7.2-16-16-16c-24.1 0-42.5 10.2-55.4 22.4c-12.6 12-20.4 26.3-23.8 36.5c-2.8 8.4 1.7 17.4 10.1 20.2s17.4-1.7 20.2-10.1c1.9-5.8 7-15.4 15.4-23.5zm210.2 23.5c2.8 8.4 11.9 12.9 20.2 10.1s12.9-11.9 10.1-20.2c-3.4-10.2-11.1-24.6-23.8-36.5C362.5 154.2 344.1 144 320 144c-8.8 0-16 7.2-16 16s7.2 16 16 16c14.3 0 25.2 5.8 33.4 13.6c8.4 8 13.5 17.7 15.4 23.5z\"]\n};\nvar faOilTemperature = {\n prefix: 'fal',\n iconName: 'oil-temperature',\n icon: [576, 512, [\"oil-temp\"], \"f614\", \"M272 32c0-17.7 14.3-32 32-32h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H304V96h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H304v97.6c36.5 7.4 64 39.7 64 78.4c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-38.7 27.5-71 64-78.4V112 32zm16 320a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM133.8 314.8c13.5 9.2 29.7 17.5 46.6 20.2c3.4 11.9 8.8 23 15.7 32.9c-1.3 .1-2.7 .1-4 .1c-30.3 0-57.6-14.1-76.2-26.8c-7.9-5.4-14.6-10.8-19.8-15.3c-5.1 4.5-11.8 9.9-19.8 15.3c-14.9 10.2-35.4 21.2-58.5 25.2C8 368.1 0 360 0 350.2c0-7.9 6.4-14.1 14.1-15.7c15.9-3.1 31.3-11.1 44-19.8c9.8-6.7 18-14 25.9-21.9c6.6-6.5 17.2-6.6 23.8 0c7.9 7.9 16.2 15.2 25.9 21.9zM384 368c-1.3 0-2.7 0-4-.1c6.9-9.9 12.2-21 15.7-32.9c16.8-2.8 33.1-11.1 46.5-20.2c9.8-6.7 18-14 25.9-21.9c6.6-6.5 17.2-6.5 23.7 0c7.9 7.9 16.2 15.2 26 21.9c12.8 8.7 28.1 16.6 44.1 19.8c7.7 1.5 14.1 7.8 14.1 15.7c0 9.8-8 17.9-17.7 16.2c-23.1-4-43.6-15-58.5-25.2c-7.9-5.4-14.7-10.8-19.8-15.3c-5.1 4.5-11.8 9.9-19.8 15.3C441.5 353.9 414.3 368 384 368zM192 480c20.9 0 41.6-9.9 58.2-21.2c9.8-6.7 18-14 25.9-21.9c6.6-6.5 17.2-6.5 23.7 0c7.9 7.9 16.2 15.2 26 21.9C342.3 470 363.1 480 384 480s41.6-9.9 58.2-21.2c9.8-6.7 18-14 25.9-21.9c6.6-6.5 17.2-6.6 23.7 0c7.9 7.9 16.2 15.2 26 21.9c12.8 8.7 28.1 16.6 44.1 19.8c7.7 1.5 14.1 7.8 14.1 15.7c0 9.8-8 17.9-17.7 16.2c-23.1-4-43.6-15-58.5-25.2c-7.9-5.4-14.7-10.8-19.8-15.3c-5.1 4.5-11.8 9.9-19.8 15.3C441.5 497.9 414.3 512 384 512s-57.6-14.1-76.2-26.8c-7.9-5.4-14.7-10.8-19.8-15.3c-5.1 4.5-11.8 9.9-19.8 15.3C249.5 497.9 222.3 512 192 512s-57.6-14.1-76.2-26.8c-7.9-5.4-14.6-10.8-19.8-15.3c-5.1 4.5-11.8 9.9-19.8 15.3c-14.9 10.2-35.4 21.2-58.5 25.2C8 512.1 0 504 0 494.2c0-7.9 6.4-14.1 14.1-15.7c15.9-3.1 31.3-11.1 44-19.8c9.8-6.7 18-14 25.9-21.9c6.6-6.5 17.2-6.6 23.8 0c7.9 7.9 16.2 15.2 25.9 21.9C150.3 470 171.1 480 192 480z\"]\n};\nvar faOilTemp = faOilTemperature;\nvar faSquareQuestion = {\n prefix: 'fal',\n iconName: 'square-question',\n icon: [448, 512, [\"question-square\"], \"f2fd\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm136.7 73.8c6.5-24.6 28.7-41.8 54.2-41.8H248c35.5 0 64 29 64 64.3c0 24-13.4 46.2-34.9 57.2L240 268.3V288c0 8.8-7.2 16-16 16s-16-7.2-16-16V258.5c0-6 3.4-11.5 8.7-14.3l45.8-23.4c10.7-5.4 17.5-16.6 17.5-28.7c0-17.8-14.4-32.3-32-32.3H190.9c-10.9 0-20.5 7.4-23.2 17.9l-.2 .7c-2.2 8.5-11 13.7-19.5 11.4s-13.7-11-11.4-19.5l.2-.7zM200 352a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faQuestionSquare = faSquareQuestion;\nvar faAirConditioner = {\n prefix: 'fal',\n iconName: 'air-conditioner',\n icon: [576, 512, [], \"f8f4\", \"M64 32C46.3 32 32 46.3 32 64V192c0 17.7 14.3 32 32 32H512c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H64zM0 64C0 28.7 28.7 0 64 0H512c35.3 0 64 28.7 64 64V192c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zm112 64H464c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zM256 288V432c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-29.6 16.1-55.5 40-69.3c7.6-4.4 17.4-1.8 21.9 5.8s1.8 17.4-5.8 21.9c-14.4 8.3-24 23.8-24 41.6c0 26.5 21.5 48 48 48s48-21.5 48-48V288h32zm64 112V288h32V400c0 26.5 21.5 48 48 48s48-21.5 48-48c0-17.7-9.6-33.3-24-41.6c-7.6-4.4-10.3-14.2-5.8-21.9s14.2-10.3 21.9-5.8c23.9 13.8 40 39.7 40 69.3c0 44.2-35.8 80-80 80s-80-35.8-80-80z\"]\n};\nvar faAngleDown = {\n prefix: 'fal',\n iconName: 'angle-down',\n icon: [448, 512, [8964], \"f107\", \"M212.7 363.3c6.2 6.2 16.4 6.2 22.6 0l160-160c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L224 329.4 75.3 180.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l160 160z\"]\n};\nvar faMountains = {\n prefix: 'fal',\n iconName: 'mountains',\n icon: [640, 512, [9968], \"f6fd\", \"M480 424.1c0 13.2-10.7 23.9-23.9 23.9H55.9C42.7 448 32 437.3 32 424.1c0-4.5 1.3-8.9 3.7-12.7L252.4 66c.8-1.3 2.2-2 3.6-2s2.9 .8 3.6 2L476.3 411.4c2.4 3.8 3.7 8.2 3.7 12.7zm-480 0C0 455 25 480 55.9 480H456.1 578.9c33.8 0 61.1-27.4 61.1-61.1c0-11.2-3.1-22.2-8.9-31.8l-132-216.3C495 164.1 487.8 160 480 160s-15 4.1-19.1 10.7l-48.2 79L286.8 49c-6.6-10.6-18.3-17-30.8-17s-24.1 6.4-30.8 17L8.6 394.4C3 403.3 0 413.6 0 424.1zM431.7 280L480 200.9 603.7 403.7c2.8 4.6 4.3 9.8 4.3 15.2c0 16.1-13 29.1-29.1 29.1H506.6c3.4-7.3 5.4-15.4 5.4-23.9c0-10.5-3-20.8-8.6-29.7L431.7 280z\"]\n};\nvar faOmega = {\n prefix: 'fal',\n iconName: 'omega',\n icon: [448, 512, [], \"f67a\", \"M224 64C118 64 32 150 32 256c0 69.5 36.9 130.4 92.3 164.1c9.4 5.7 15.9 16.1 15.9 27.9c0 17.7-14.3 32-32 32H16c-8.8 0-16-7.2-16-16s7.2-16 16-16h92.2l0 0c0 0 0 0 0-.1c-.1-.1-.2-.3-.5-.5C43.1 408.2 0 337.1 0 256C0 132.3 100.3 32 224 32s224 100.3 224 224c0 81.1-43.1 152.1-107.6 191.4c-.3 .2-.4 .3-.5 .5c0 0 0 .1 0 .1l0 0H432c8.8 0 16 7.2 16 16s-7.2 16-16 16H339.8c-17.7 0-32-14.3-32-32c0-11.8 6.5-22.2 15.9-27.9C379.1 386.4 416 325.5 416 256c0-106-86-192-192-192z\"]\n};\nvar faCarTunnel = {\n prefix: 'fal',\n iconName: 'car-tunnel',\n icon: [512, 512, [], \"e4de\", \"M256 32C132.3 32 32 132.3 32 256V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V256C0 114.6 114.6 0 256 0S512 114.6 512 256V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V256C480 132.3 379.7 32 256 32zM174.7 266.7l-19 54.3c4-.7 8.1-1 12.2-1H344c4.2 0 8.3 .4 12.2 1l-19-54.3C335 260.3 329 256 322.2 256H189.8c-6.8 0-12.9 4.3-15.1 10.7zm-61.2 78.2l31-88.7c6.7-19.3 24.9-32.2 45.3-32.2H322.2c20.4 0 38.6 12.9 45.3 32.2l31 88.7C409.4 357.5 416 374 416 392V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V480H128v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V392c0-18 6.6-34.5 17.5-47.1zM128 448H384V392c0-22.1-17.9-40-40-40H168c-22.1 0-40 17.9-40 40v56zm32-48a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm168-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faPersonDollyEmpty = {\n prefix: 'fal',\n iconName: 'person-dolly-empty',\n icon: [512, 512, [], \"f4d1\", \"M80 80a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM80 0a56 56 0 1 1 0 112A56 56 0 1 1 80 0zM0 340.3c.5 .4 1.1 .9 1.6 1.3L32 365.5 32 496c0 8.8-7.2 16-16 16s-16-7.2-16-16L0 340.3zM32 204v74.9c0 5.3 2.7 10.3 7.1 13.3L80 319.4V180.2c-6.2-2.7-13-4.2-20-4.2c-15.5 0-28 12.5-28 28zm117.8 69.3L112 214.5V340.8L139.4 359c7.1 4.7 12 12 13.6 20.3l22.7 113.5c1.7 8.7-3.9 17.1-12.6 18.8s-17.1-3.9-18.8-12.6L121.6 385.6 21.4 318.8C8 309.9 0 294.9 0 278.9V204c0-33.1 26.9-60 60-60c27.9 0 53.9 14.2 69 37.6L176.7 256h44l-20.3-84.2c-2.1-8.6 3.2-17.2 11.8-19.3s17.2 3.2 19.3 11.8l53.1 219.8c1.1-.1 2.2-.1 3.4-.1c25.7 0 47.9 15.1 58 37l146.1-36.5c8.6-2.1 17.3 3.1 19.4 11.6s-3.1 17.3-11.6 19.4l-148 37c-2.3 33.2-30 59.5-63.8 59.5c-35.3 0-64-28.7-64-64c0-22.9 12-42.9 30-54.3L228.5 288H176.7c-10.9 0-21-5.5-26.9-14.7zM288 480a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faPanFood = {\n prefix: 'fal',\n iconName: 'pan-food',\n icon: [640, 512, [129368], \"e42b\", \"M522.4 352c4.5-9.4 8.3-19.3 11.5-29.4c.3-.9 .5-1.7 .8-2.6c6-20.3 9.3-41.8 9.3-64s-3.2-43.7-9.3-64c-3.1-10.6-7-20.8-11.6-30.7l-.6-1.3C486.5 84.3 409.4 32 320 32s-166.5 52.3-202.4 128c-4.9 10.2-9 20.9-12.3 32l0 0c-6 20.3-9.3 41.8-9.3 64s3.2 43.7 9.3 64c3.1 10.6 7 20.8 11.6 30.7l.6 1.3c36 75.7 113.1 128 202.4 128s166.5-52.3 202.4-128zm34.9 0c-38 93.8-130 160-237.4 160s-199.4-66.2-237.4-160H40c-22.1 0-40-17.9-40-40V200c0-22.1 17.9-40 40-40H82.6C120.6 66.2 212.6 0 320 0S519.4 66.2 557.4 160H600c22.1 0 40 17.9 40 40V312c0 22.1-17.9 40-40 40H557.4zm10.5-160c5.3 20.5 8.1 41.9 8.1 64s-2.8 43.5-8.1 64H600c4.4 0 8-3.6 8-8V200c0-4.4-3.6-8-8-8H567.9zM72.1 192H40c-4.4 0-8 3.6-8 8V312c0 4.4 3.6 8 8 8H72.1c-5.3-20.5-8.1-41.9-8.1-64s2.8-43.5 8.1-64zM417.6 336c-21.5 0-42.2-8.6-57.4-23.8c-4.5-4.5-4.5-11.9 0-16.4l95.6-95.6c4.5-4.5 11.9-4.5 16.5 .1C487.4 215.4 496 236 496 257.3v2.4c0 27.4-14.7 52.6-38.4 66.2c-11.5 6.6-24.6 10-37.8 10l-2.1 0zM464 257.3c0-5.8-1.1-11.5-3.1-17l-60.5 60.5c5.5 2 11.3 3.1 17.3 3.1l2.1 0c7.7 0 15.3-2 22-5.8c13.8-7.9 22.3-22.5 22.3-38.4v-2.4zm-260.7-54l-32 32c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l32-32c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zM296 224a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM416 360a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM235.3 299.3c-2.6 2.6-2.6 6.8 0 9.4l6.6 6.6c3 3 7.1 4.7 11.3 4.7H256h32c35.3 0 64 28.7 64 64s-28.7 64-64 64s-64-28.7-64-64V352v-2.7c0-4.2-1.7-8.3-4.7-11.3l-6.6-6.6c-2.6-2.6-6.8-2.6-9.4 0c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l16-16 16-16c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zM320 384c0-17.7-14.3-32-32-32H272c-8.8 0-16 7.2-16 16v16c0 17.7 14.3 32 32 32s32-14.3 32-32zm0-288c-20.9 0-38.7 13.4-45.3 32h90.5c-6.6-18.6-24.4-32-45.3-32zm-80 48c0-44.2 35.8-80 80-80s80 35.8 80 80c0 8.8-7.2 16-16 16H256c-8.8 0-16-7.2-16-16z\"]\n};\nvar faHeadSideCough = {\n prefix: 'fal',\n iconName: 'head-side-cough',\n icon: [640, 512, [], \"e061\", \"M32 224C32 118 118 32 224 32h16c66.1 0 127.1 40 153.8 96.9c3.2 6.9 6.5 14.2 9.9 21.7l0 0 0 0 0 0c6.2 13.9 12.7 28.5 19.8 42c11.1 21.3 24.8 42.3 44 59.4l3.2 2.8c6 5.3 9.5 13 9.5 21.1c0 15.6-12.6 28.2-28.2 28.2H432c-8.8 0-16 7.2-16 16v8 8 10.1l-79 11.3c-18.9 2.7-33 18.9-33 38c0 20 15.3 36.6 35.2 38.2l59.9 5C396.2 448.7 387 456 376 456H304c-8.8 0-16 7.2-16 16v24c0 8.8 7.2 16 16 16s16-7.2 16-16v-8h56c30.9 0 56-25.1 56-56v-8c0-8.3-6.4-15.3-14.7-15.9l-75.5-6.3c-3.3-.3-5.8-3-5.8-6.4c0-3.2 2.3-5.9 5.5-6.3l92.8-13.3c7.9-1.1 13.7-7.9 13.7-15.8V336v0h3.8c33.2 0 60.2-26.9 60.2-60.2c0-17.2-7.4-33.6-20.2-45l-3.2-2.8c-15.1-13.5-26.6-30.6-36.9-50.3c-6.7-12.7-12.3-25.5-18.2-38.7l0 0 0 0 0 0 0 0 0 0 0 0 0 0c-3.5-7.8-7-15.7-10.8-23.8C390.8 47.3 318.6 0 240 0H224C100.3 0 0 100.3 0 224c0 52.9 18.4 101.6 49.1 140C58.5 375.6 64 388.6 64 401.4V496c0 8.8 7.2 16 16 16s16-7.2 16-16V401.4c0-22.1-9.5-41.9-21.9-57.4C47.7 311.1 32 269.4 32 224zm312 0a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM512 392a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm104 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm24 72a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM552 368a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm88-72a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM552 464a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faGripLines = {\n prefix: 'fal',\n iconName: 'grip-lines',\n icon: [448, 512, [], \"f7a4\", \"M448 192c0-8.8-7.2-16-16-16L16 176c-8.8 0-16 7.2-16 16s7.2 16 16 16l416 0c8.8 0 16-7.2 16-16zm0 128c0-8.8-7.2-16-16-16L16 304c-8.8 0-16 7.2-16 16s7.2 16 16 16l416 0c8.8 0 16-7.2 16-16z\"]\n};\nvar faThumbsDown = {\n prefix: 'fal',\n iconName: 'thumbs-down',\n icon: [512, 512, [128078, 61576], \"f165\", \"M288.8 430.3c3.5 12.8 16.7 20.3 29.5 16.8s20.3-16.7 16.8-29.5l-4.5-16.4c-5.5-20.2-13.9-39.3-24.7-56.9c-3.1-4.9-3.2-11.1-.4-16.2s8.2-8.2 14-8.2H448c17.7 0 32-14.3 32-32c0-11.3-5.9-21.3-14.8-27c-7.2-4.6-9.5-13.9-5.3-21.3c2.6-4.6 4.1-10 4.1-15.7c0-12.4-7-23.1-17.3-28.5c-4.2-2.2-7.3-6.1-8.3-10.8s.1-9.5 3-13.2c4.2-5.4 6.7-12.2 6.7-19.5c0-14.2-9.2-26.3-22.1-30.4c-7.8-2.5-12.4-10.6-10.7-18.6c.5-2.2 .7-4.5 .7-6.9c0-17.7-14.3-32-32-32H294.5c-15.8 0-31.2 4.7-44.4 13.4l-38.5 25.7c-9 6-16.6 13.7-22.4 22.6c-4.9 7.4-14.8 9.4-22.2 4.6s-9.4-14.8-4.6-22.2c8.1-12.3 18.7-23.1 31.4-31.6l38.5-25.7c18.4-12.3 40-18.8 62.1-18.8H384c35.3 0 64 28.7 64 64l0 .6c19.1 11.1 32 31.7 32 55.4c0 8.7-1.8 17.1-4.9 24.7C487.9 188.4 496 205.2 496 224c0 6.5-1 12.8-2.8 18.7C504.8 254.3 512 270.3 512 288c0 35.3-28.7 64-64 64H346.4c6.2 13.1 11.3 26.7 15.1 40.9l4.5 16.4c8.1 29.8-9.5 60.6-39.3 68.8s-60.6-9.5-68.8-39.3l-4.5-16.4c-8.9-32.6-29.6-60.8-58.2-79l-3.1-2 8.2-12.9-8.2 12.9c-11.8-7.5-21.7-17.1-29.5-28.2c-5.1-7.2-3.3-17.2 4-22.3s17.2-3.3 22.3 4c5.4 7.7 12.2 14.4 20.4 19.5l3.1 2c35.3 22.4 60.9 57.2 71.9 97.5l4.5 16.4zM32 352H96V128H32V352zM0 352V128c0-17.7 14.3-32 32-32H96c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32z\"]\n};\nvar faUserLock = {\n prefix: 'fal',\n iconName: 'user-lock',\n icon: [640, 512, [], \"f502\", \"M128 128a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zm224 0A128 128 0 1 0 96 128a128 128 0 1 0 256 0zM32 480c1.2-79.7 66.2-144 146.3-144h91.4c46.2 0 87.5 21.5 114.3 55V352c0-2.1 .1-4.2 .3-6.3c-31-26-71-41.7-114.6-41.7H178.3C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H392.6c-5.4-9.4-8.6-20.3-8.6-32H32zM528 224c26.5 0 48 21.5 48 48v48H480V272c0-26.5 21.5-48 48-48zm-80 48v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80zm0 80H608V480H448V352z\"]\n};\nvar faArrowRightLong = {\n prefix: 'fal',\n iconName: 'arrow-right-long',\n icon: [512, 512, [\"long-arrow-right\"], \"f178\", \"M507.3 267.3c6.2-6.2 6.2-16.4 0-22.6l-144-144c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L457.4 240 16 240c-8.8 0-16 7.2-16 16s7.2 16 16 16l441.4 0L340.7 388.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l144-144z\"]\n};\nvar faLongArrowRight = faArrowRightLong;\nvar faTicketsAirline = {\n prefix: 'fal',\n iconName: 'tickets-airline',\n icon: [640, 512, [\"tickets-perforated-plane\", \"tickets-plane\"], \"e29b\", \"M128 96V320c0 17.7 14.3 32 32 32H576c17.7 0 32-14.3 32-32V272.5c-23.7-11.8-40-36.2-40-64.5s16.3-52.8 40-64.5V96c0-17.7-14.3-32-32-32H160c-17.7 0-32 14.3-32 32zm484.1 45.6c.1 0 .1 0 .1 0l0 0-.1 0zm.1 132.9l-.1 0c.1 0 .1 0 .1 0zM160 32H576c35.3 0 64 28.7 64 64v56c0 8.8-7.4 15.7-15.6 19.1C610.1 177.2 600 191.4 600 208s10.1 30.8 24.4 36.9c8.1 3.4 15.6 10.3 15.6 19.1v56c0 35.3-28.7 64-64 64H160c-35.3 0-64-28.7-64-64V96c0-35.3 28.7-64 64-64zm320 80a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm0 64a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm16 48a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm-16 80a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM16 96c8.8 0 16 7.2 16 16V368c0 44.2 35.8 80 80 80H528c8.8 0 16 7.2 16 16s-7.2 16-16 16H112C50.1 480 0 429.9 0 368V112c0-8.8 7.2-16 16-16zm274.3 74.9c1.6 4.9 .8 10.2-2.2 14.4s-7.8 6.6-13 6.6H229.8c-4.2 0-8.3-1.7-11.3-4.7L207.1 176H196l7.3 21.9c2.2 6.6 2.2 13.7 0 20.2L196 240h11.2l11.3-11.3c3-3 7.1-4.7 11.3-4.7h45.3c5.1 0 10 2.5 13 6.6s3.8 9.5 2.2 14.4L276 288h20c2.8 0 5.5-1.5 6.9-4l30.4-52.1c2.9-4.9 8.1-7.9 13.8-7.9h41.6c11.8 0 23.1-4.7 31.5-13c1.6-1.6 1.6-4.3 0-5.9c-8.4-8.4-19.7-13-31.5-13H347.1c-5.7 0-11-3-13.8-7.9L302.9 132c-1.4-2.5-4.1-4-6.9-4H276l14.3 42.9zM264.9 96H296c14.2 0 27.4 7.6 34.6 19.8l-13.8 8.1 13.8-8.1L356.3 160h32.4c20.3 0 39.8 8.1 54.1 22.4c14.1 14.1 14.1 37 0 51.2C428.4 247.9 409 256 388.7 256H356.3l-25.8 44.2C323.4 312.4 310.2 320 296 320H264.9c-16.4 0-27.9-16-22.8-31.6L252.9 256H236.4l-6.6 6.6c-6 6-14.1 9.4-22.6 9.4H184.9c-16.4 0-27.9-16-22.8-31.6L172.9 208l-10.8-32.4c-5.2-15.5 6.4-31.6 22.8-31.6h22.3c8.5 0 16.6 3.4 22.6 9.4l6.6 6.6h16.5l-10.8-32.4C236.9 112 248.5 96 264.9 96z\"]\n};\nvar faTicketsPerforatedPlane = faTicketsAirline;\nvar faTicketsPlane = faTicketsAirline;\nvar faTentDoublePeak = {\n prefix: 'fal',\n iconName: 'tent-double-peak',\n icon: [576, 512, [], \"e627\", \"M12.8 134.4l34.8-26.1c17.3-12.9 32.8-28 46.3-44.9L135 12c5.7-7.1 14.1-11.5 23.2-12s18 2.9 24.4 9.3l18.7 18.7c23 23 54.1 35.9 86.6 35.9s63.7-12.9 86.6-35.9L393.4 9.4c6.4-6.4 15.3-9.8 24.4-9.3s17.5 4.9 23.2 12l41.2 51.4c13.5 16.9 29 31.9 46.3 44.9l34.7 26.1c8.1 6 12.8 15.5 12.8 25.6V480c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V160c0-10.1 4.7-19.6 12.8-25.6zm106-51c-15.2 19-32.7 35.9-52.1 50.5L32 160l0 32H544V160l-34.7-26.1c-19.4-14.6-36.9-31.5-52.1-50.5L416 32 397.3 50.7C368.3 79.7 329 96 288 96s-80.3-16.3-109.3-45.3L160 32 118.8 83.4zM313.9 224l128 256H544V224H313.9zM272 224H32V480l240 0V224zm32 256H406.1L304 275.8V480z\"]\n};\nvar faAnchorCircleXmark = {\n prefix: 'fal',\n iconName: 'anchor-circle-xmark',\n icon: [640, 512, [], \"e4ac\", \"M336 80a48 48 0 1 1 -96 0 48 48 0 1 1 96 0zM288 0c-44.2 0-80 35.8-80 80c0 38.7 27.5 71 64.1 78.4c-.1 .5-.1 1-.1 1.6v32H208c-8.8 0-16 7.2-16 16s7.2 16 16 16h64V480H240c-79.5 0-144-64.5-144-144V310.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-64-64c-6.2-6.2-16.4-6.2-22.6 0l-64 64c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L64 310.6V336c0 97.2 78.8 176 176 176h48 48c17.2 0 33.8-2.5 49.5-7c-9.8-7.9-18.8-16.9-26.7-26.7c-7.4 1.2-15 1.8-22.8 1.8H304V224h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H304V160c0-.5 0-1.1-.1-1.6C340.5 151 368 118.7 368 80c0-44.2-35.8-80-80-80zm96 368a112 112 0 1 1 224 0 112 112 0 1 1 -224 0zm256 0a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-84.7-36.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L496 345.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L473.4 368l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L496 390.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L518.6 368l36.7-36.7z\"]\n};\nvar faEllipsis = {\n prefix: 'fal',\n iconName: 'ellipsis',\n icon: [448, 512, [\"ellipsis-h\"], \"f141\", \"M416 256a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm-160 0a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM64 288a32 32 0 1 1 0-64 32 32 0 1 1 0 64z\"]\n};\nvar faEllipsisH = faEllipsis;\nvar faNfcSlash = {\n prefix: 'fal',\n iconName: 'nfc-slash',\n icon: [640, 512, [], \"e1fc\", \"M25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4zM544 351.3V96c0-35.3-28.7-64-64-64H160c-6 0-11.9 .8-17.4 2.4L180.1 64H192h64H480c17.7 0 32 14.3 32 32V326l32 25.3zm-64-50.5V128c0-17.7-14.3-32-32-32H336c-17.7 0-32 14.3-32 32v33.8l32 25.3V128H448V275.5l32 25.3zM378.8 384H192V236.5l-32-25.3V384c0 17.7 14.3 32 32 32H419.4l-40.5-32zM128 186L96 160.7V416c0 35.3 28.7 64 64 64H480c6 0 11.9-.8 17.4-2.4L459.9 448H160c-17.7 0-32-14.3-32-32V186z\"]\n};\nvar faChessPawn = {\n prefix: 'fal',\n iconName: 'chess-pawn',\n icon: [320, 512, [9823], \"f443\", \"M240 144A80 80 0 1 0 80 144a80 80 0 1 0 160 0zm16 112H235.4L254 352H221.4l-18.6-96H160 117.2L98.6 352H66l18.6-96H64c-8.8 0-16-7.2-16-16s7.2-16 16-16H81.6C60.9 203.7 48 175.3 48 144C48 82.1 98.1 32 160 32s112 50.1 112 112c0 31.3-12.9 59.7-33.6 80H256c8.8 0 16 7.2 16 16s-7.2 16-16 16zM65.8 416L33.1 468.7c-.7 1.2-1.1 2.5-1.1 3.9c0 4.1 3.3 7.4 7.4 7.4H280.6c4.1 0 7.4-3.3 7.4-7.4c0-1.4-.4-2.7-1.1-3.9L254.2 416 65.8 416zm188.4-32c11.1 0 21.4 5.7 27.2 15.1l32.7 52.7c3.9 6.2 5.9 13.4 5.9 20.8c0 21.8-17.7 39.4-39.4 39.4H39.4C17.7 512 0 494.3 0 472.6c0-7.3 2.1-14.5 5.9-20.8l32.7-52.7c5.8-9.4 16.1-15.1 27.2-15.1H254.2z\"]\n};\nvar faKitMedical = {\n prefix: 'fal',\n iconName: 'kit-medical',\n icon: [576, 512, [\"first-aid\"], \"f479\", \"M128 448H448V64H128V448zm-32 0V64H64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H96zM64 32H96h16 16H448h16 16 32c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H480 464 448 128 112 96 64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32zM480 448h32c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H480V448zM272 144h32c17.7 0 32 14.3 32 32v32h32c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32H336v32c0 17.7-14.3 32-32 32H272c-17.7 0-32-14.3-32-32V304H208c-17.7 0-32-14.3-32-32V240c0-17.7 14.3-32 32-32h32V176c0-17.7 14.3-32 32-32zm0 32v48c0 4.2-1.7 8.3-4.7 11.3s-7.1 4.7-11.3 4.7H208v32h48c8.8 0 16 7.2 16 16v48h32V288c0-8.8 7.2-16 16-16h48V240H320c-8.8 0-16-7.2-16-16V176H272z\"]\n};\nvar faFirstAid = faKitMedical;\nvar faGrid2Plus = {\n prefix: 'fal',\n iconName: 'grid-2-plus',\n icon: [512, 512, [], \"e197\", \"M176 64H80c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16zM80 32h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48zm96 288H80c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16V336c0-8.8-7.2-16-16-16zM80 288h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48V336c0-26.5 21.5-48 48-48zM336 64c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16H336zM288 80c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H336c-26.5 0-48-21.5-48-48V80zm96 192c8.8 0 16 7.2 16 16v80h80c8.8 0 16 7.2 16 16s-7.2 16-16 16H400v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V400H288c-8.8 0-16-7.2-16-16s7.2-16 16-16h80V288c0-8.8 7.2-16 16-16z\"]\n};\nvar faBells = {\n prefix: 'fal',\n iconName: 'bells',\n icon: [640, 512, [], \"f77f\", \"M282.6 40.1C214 15.1 138 50.4 112.8 119L98.2 159C84 197.8 57.6 231 23 253.7L14.9 259C4.7 265.7-.8 277.5 .6 289.5s9.4 22.2 20.8 26.3l230.5 83.9 1.1-3.9c2.6-9.1 4.4-18.4 5.4-27.7l-226-82.3 8.2-5.4c40.3-26.5 71.1-65.2 87.7-110.4l14.7-40c18.7-51 74.5-77.7 125.7-60.9c8.4-8.6 17.7-16.3 27.9-23c-4.5-2.2-9.1-4.2-13.9-6zm71.1 48.4c54.8-19.9 115.4 8.3 135.5 63L508 202.6c16.3 44.6 46.4 82.8 85.9 109.2l13.7 9.2 0 0L310.1 429.3l4.6-15.8c13.1-45.6 11.3-94.1-5-138.7l-18.8-51.2c-20.1-54.7 8.1-115.2 62.8-135.2zm165.5 52C493.2 69.2 414.1 32.5 342.8 58.4s-108 104.8-81.9 176.2l18.8 51.2c14 38.2 15.5 79.8 4.3 118.9l-4.6 15.8c-3.3 11.6 .1 24 9 32.2s21.5 10.8 32.8 6.7L618.6 351.1c11.3-4.1 19.4-14.2 20.8-26.2s-4-23.7-14-30.4l-13.7-9.2c-33.8-22.7-59.6-55.4-73.6-93.6l-18.8-51.2zM434.8 437.6c-6.7 5.8-7.4 15.9-1.6 22.6C450.5 480.1 479 488 505 477.8s41.5-35.5 40.5-61.8c-.3-8.8-7.7-15.7-16.6-15.4s-15.7 7.7-15.4 16.6c.5 13.2-7.3 25.8-20.3 30.9s-27.2 1.2-35.9-8.8c-5.8-6.7-15.9-7.4-22.6-1.6zM179.9 406.7c-8.7 10-23 13.9-35.9 8.8s-20.7-17.7-20.3-30.9c.3-8.8-6.6-16.2-15.4-16.6s-16.2 6.6-16.6 15.4c-.9 26.3 14.6 51.6 40.5 61.8s54.5 2.3 71.8-17.6c5.8-6.7 5.1-16.8-1.6-22.6s-16.8-5.1-22.6 1.6z\"]\n};\nvar faPersonThroughWindow = {\n prefix: 'fal',\n iconName: 'person-through-window',\n icon: [640, 512, [], \"e5a9\", \"M48 32c-8.8 0-16 7.2-16 16V400c0 8.8 7.2 16 16 16h80l0-70.4c0-70.6 41.2-134.7 105.3-164.1c52.8-24.2 86.7-77 86.7-135.1L320 32 48 32zM352 46.4c0 63.8-33.6 122.3-87.4 154.7L328.1 288l64.5 0c9.3 0 18.2 4.1 24.3 11.2l91.2 106.4 8.9 10.4H592c8.8 0 16-7.2 16-16V48c0-8.8-7.2-16-16-16L352 32V46.4zM367 416H474.9l-82.3-96-51.3 0-54 40.5 93.5 126c5.3 7.1 3.8 17.1-3.3 22.4s-17.1 3.8-22.4-3.3L312.5 448H48c-26.5 0-48-21.5-48-48V48C0 21.5 21.5 0 48 0H592c26.5 0 48 21.5 48 48V400c0 26.5-21.5 48-48 48H390.5L367 416zm-98.7-81.2l35.1-26.3-67.6-92.4c-13.2 7.4-25.1 16.7-35.2 27.5l67.7 91.2zm-87.8-64.6c-13.2 22.4-20.6 48.3-20.6 75.4l0 70.4H288.7L180.6 270.2zM168 136a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-80 0a56 56 0 1 1 112 0A56 56 0 1 1 88 136z\"]\n};\nvar faToolbox = {\n prefix: 'fal',\n iconName: 'toolbox',\n icon: [512, 512, [129520], \"f552\", \"M176 64l160 0c8.8 0 16 7.2 16 16l0 48-192 0 0-48c0-8.8 7.2-16 16-16zM128 80l0 48-21.5 0c-17 0-33.3 6.7-45.3 18.7L18.7 189.3C6.7 201.3 0 217.5 0 234.5L0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-181.5c0-17-6.7-33.3-18.7-45.3l-42.5-42.5c-12-12-28.3-18.7-45.3-18.7L384 128l0-48c0-26.5-21.5-48-48-48L176 32c-26.5 0-48 21.5-48 48zm16 80l224 0 37.5 0c8.5 0 16.6 3.4 22.6 9.4l42.5 42.5c6 6 9.4 14.1 9.4 22.6l0 85.5-128 0 0-32c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 32-128 0 0-32c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 32L32 320l0-85.5c0-8.5 3.4-16.6 9.4-22.6l42.5-42.5c6-6 14.1-9.4 22.6-9.4l37.5 0zM32 352l128 0 0 32c0 8.8 7.2 16 16 16s16-7.2 16-16l0-32 128 0 0 32c0 8.8 7.2 16 16 16s16-7.2 16-16l0-32 128 0 0 64c0 17.7-14.3 32-32 32L64 448c-17.7 0-32-14.3-32-32l0-64z\"]\n};\nvar faEnvelopeDot = {\n prefix: 'fal',\n iconName: 'envelope-dot',\n icon: [576, 512, [\"envelope-badge\"], \"e16f\", \"M448 80a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm128 0A80 80 0 1 0 416 80a80 80 0 1 0 160 0zM512 384V190.9c-5.2 .7-10.6 1.1-16 1.1c-13.8 0-27-2.5-39.2-7.1L284.4 311.3c-16.9 12.4-39.9 12.4-56.8 0L32 167.9V128c0-17.7 14.3-32 32-32H385.1c-.7-5.2-1.1-10.6-1.1-16s.4-10.8 1.1-16H64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64zM32 207.6L208.7 337.1c28.2 20.6 66.5 20.6 94.6 0L480 207.6V384c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V207.6z\"]\n};\nvar faEnvelopeBadge = faEnvelopeDot;\nvar faMagnifyingGlassWaveform = {\n prefix: 'fal',\n iconName: 'magnifying-glass-waveform',\n icon: [512, 512, [], \"e661\", \"M208 32a176 176 0 1 1 0 352 176 176 0 1 1 0-352zm0 384c51.7 0 99-18.8 135.3-50L484.7 507.3c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L366 343.3c31.2-36.4 50-83.7 50-135.3C416 93.1 322.9 0 208 0S0 93.1 0 208S93.1 416 208 416zM192 112c0-8.8-7.2-16-16-16s-16 7.2-16 16V304c0 8.8 7.2 16 16 16s16-7.2 16-16V112zm-64 32c0-8.8-7.2-16-16-16s-16 7.2-16 16V272c0 8.8 7.2 16 16 16s16-7.2 16-16V144zm128 0c0-8.8-7.2-16-16-16s-16 7.2-16 16V272c0 8.8 7.2 16 16 16s16-7.2 16-16V144zm64 32c0-8.8-7.2-16-16-16s-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V176z\"]\n};\nvar faHandsHoldingCircle = {\n prefix: 'fal',\n iconName: 'hands-holding-circle',\n icon: [640, 512, [], \"e4fb\", \"M416 128a96 96 0 1 0 -192 0 96 96 0 1 0 192 0zm-224 0a128 128 0 1 1 256 0 128 128 0 1 1 -256 0zM64 64c35.3 0 64 28.7 64 64V252.3c0 4.6 .4 9.1 1.3 13.5c2.1-3.2 4.6-6.3 7.4-9.1c21.7-21.7 56.9-21.7 78.6 0L306.6 348c5.1 5.1 9.6 10.6 13.4 16.6c3.8-5.9 8.3-11.5 13.4-16.6l91.3-91.3c21.7-21.7 56.9-21.7 78.6 0c2.8 2.8 5.3 5.9 7.4 9.1c.9-4.4 1.3-8.9 1.3-13.5V128c0-35.3 28.7-64 64-64s64 28.7 64 64V344.2c0 29.7-11.8 58.2-32.8 79.2l-83.9 83.9c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l83.9-83.9c15-15 23.4-35.4 23.4-56.6V128c0-17.7-14.3-32-32-32s-32 14.3-32 32V252.3c0 27.1-10.8 53.1-29.9 72.2l-10.8 10.8-44 44-16 16c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l16-16 0 0 44-44 0 0c9.2-9.2 9.2-24.2 0-33.4s-24.2-9.2-33.4 0L356 370.6c-12.8 12.8-20 30.2-20 48.3V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V418.9c0-18.1-7.2-35.5-20-48.3l-91.3-91.3c-9.2-9.2-24.2-9.2-33.4 0s-9.2 24.2 0 33.4l44 44 16 16c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-16-16 0 0-44-44 0 0-10.7-10.8C106.8 305.4 96 279.4 96 252.3V128c0-17.7-14.3-32-32-32s-32 14.3-32 32V344.2c0 21.2 8.4 41.6 23.4 56.6l83.9 83.9c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L32.8 423.4C11.8 402.4 0 373.9 0 344.2V128C0 92.7 28.7 64 64 64z\"]\n};\nvar faBug = {\n prefix: 'fal',\n iconName: 'bug',\n icon: [512, 512, [], \"f188\", \"M256 32c-35.3 0-64 28.7-64 64H320c0-35.3-28.7-64-64-64zM160 96c0-53 43-96 96-96s96 43 96 96v3.6c0 15.7-12.7 28.4-28.4 28.4H188.4c-15.7 0-28.4-12.7-28.4-28.4V96zM36.7 100.7c6.2-6.2 16.4-6.2 22.6 0L138.6 180c17.2-12.6 38.4-20 61.4-20H312c22.9 0 44.2 7.4 61.4 20l79.3-79.3c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L396 202.6c12.6 17.2 20 38.4 20 61.4v8h80c8.8 0 16 7.2 16 16s-7.2 16-16 16H416v16c0 30.2-8.4 58.4-22.9 82.5l82.2 82.2c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-79-79C344.5 460.1 302.6 480 256 480s-88.5-19.9-117.7-51.6l-79 79c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l82.2-82.2C104.4 378.4 96 350.2 96 320V304H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H96v-8c0-22.9 7.4-44.2 20-61.4L36.7 123.3c-6.2-6.2-6.2-16.4 0-22.6zM128 320c0 65.3 48.9 119.1 112 127V256c0-8.8 7.2-16 16-16s16 7.2 16 16V447c63.1-7.9 112-61.7 112-127V288 264c0-39.8-32.2-72-72-72H200c-39.8 0-72 32.2-72 72v24 32z\"]\n};\nvar faBowlChopsticks = {\n prefix: 'fal',\n iconName: 'bowl-chopsticks',\n icon: [512, 512, [], \"e2e9\", \"M499.1 31.7l-480 96C10.5 129.4 2 123.8 .3 115.1S4.2 98 12.9 96.3l480-96c8.7-1.7 17.1 3.9 18.8 12.6s-3.9 17.1-12.6 18.8zM512 142.9c.6 8.8-6.1 16.4-14.9 17l-480 32c-8.8 .6-16.4-6.1-17-14.9s6.1-16.4 14.9-17l480-32c8.8-.6 16.4 6.1 17 14.9zM144.8 445.5c7.7 3.7 13.7 10.3 16.5 18.4c3.3 9.4 12.2 16.1 22.7 16.1H328c10.4 0 19.4-6.7 22.7-16.1c2.8-8.1 8.7-14.7 16.5-18.4c61.4-29.2 105-90.1 109.3-162.2l.6-10.3c.5-9.2-6.8-16.9-16-16.9H50.9c-9.2 0-16.5 7.7-16 16.9l.6 10.3c4.2 72.1 47.8 133 109.3 162.2zM3 274.8C1.4 247.2 23.3 224 50.9 224H461.1c27.6 0 49.5 23.2 47.9 50.8l-.6 10.3c-4.9 84.1-55.9 155.1-127.5 189.2C373.3 496.3 352.5 512 328 512H184c-24.5 0-45.3-15.7-52.9-37.6C59.5 440.3 8.5 369.3 3.6 285.2L3 274.8z\"]\n};\nvar faCreditCard = {\n prefix: 'fal',\n iconName: 'credit-card',\n icon: [576, 512, [128179, 62083, \"credit-card-alt\"], \"f09d\", \"M64 64C46.3 64 32 78.3 32 96v32H544V96c0-17.7-14.3-32-32-32H64zM32 160v64H544V160H32zm0 96V416c0 17.7 14.3 32 32 32H512c17.7 0 32-14.3 32-32V256H32zM0 96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM96 368c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16zm128 0c0-8.8 7.2-16 16-16H368c8.8 0 16 7.2 16 16s-7.2 16-16 16H240c-8.8 0-16-7.2-16-16z\"]\n};\nvar faCreditCardAlt = faCreditCard;\nvar faCircleS = {\n prefix: 'fal',\n iconName: 'circle-s',\n icon: [512, 512, [], \"e121\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM192.7 190c2-10.7 9.2-19.1 23.1-24.4c14.3-5.5 34.5-7.2 57.9-3.8c7 1 23.4 4.5 31 6.4c8.6 2.2 17.3-3 19.4-11.6s-3-17.3-11.6-19.4c-8.2-2.1-25.7-5.8-34.1-7c-26.9-4-53.1-2.6-74.1 5.6c-21.5 8.3-38.6 24.2-43.1 48.5c-2.5 13.9-1.2 26.6 4 37.7c5.2 11 13.6 19.1 23 25.2c17.5 11.5 41.3 18.1 62 23.8l0 0 1.5 .4c22.6 6.3 41.6 11.7 54.4 20.1c6 4 9.7 8 11.7 12.3c1.9 4.1 3 9.7 1.5 18.2c-2 10.7-9.2 19.1-23.1 24.4c-14.3 5.5-34.5 7.2-57.9 3.8c-14.3-2.2-41.3-10-56.4-14.8c-8.4-2.7-17.4 2-20.1 10.5s2 17.4 10.5 20.1c15 4.7 44.2 13.3 61.2 15.9l0 0 .1 0c26.9 4 53.1 2.6 74.1-5.6c21.5-8.3 38.6-24.2 43.1-48.5c2.5-13.9 1.2-26.6-4-37.7c-5.2-11-13.6-19.1-23-25.2c-17.5-11.5-41.3-18.1-62-23.8l-1.5-.4c-22.6-6.3-41.6-11.7-54.4-20.1c-6-4-9.7-8-11.7-12.3c-1.9-4.1-3-9.7-1.5-18.2z\"]\n};\nvar faBoxBallot = {\n prefix: 'fal',\n iconName: 'box-ballot',\n icon: [576, 512, [128499], \"f735\", \"M160 32V224H416V32H160zm-32 0c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32V224c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32V32zM48 160H96v32H48c-8.8 0-16 7.2-16 16V320H544V208c0-8.8-7.2-16-16-16H480V160h48c26.5 0 48 21.5 48 48V320v16 16V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V352 336 320 208c0-26.5 21.5-48 48-48zM544 352H32V464c0 8.8 7.2 16 16 16H528c8.8 0 16-7.2 16-16V352z\"]\n};\nvar faCar = {\n prefix: 'fal',\n iconName: 'car',\n icon: [512, 512, [128664, \"automobile\"], \"f1b9\", \"M113.6 98.2L85.3 192.6c3.5-.4 7.1-.6 10.7-.6H416c3.6 0 7.2 .2 10.7 .6L398.4 98.2c-6.1-20.3-24.8-34.2-46-34.2H159.6c-21.2 0-39.9 13.9-46 34.2zM74.3 227.8C49.6 236.7 32 260.3 32 288v96H480V288c0-27.7-17.6-51.3-42.3-60.2l-.5 .1-.1-.3c-6.6-2.3-13.8-3.6-21.2-3.6H96c-7.4 0-14.5 1.3-21.2 3.6l-.1 .3-.5-.1zm-26-23.1l.4-1.3L83 89c10.2-33.8 41.3-57 76.6-57H352.4c35.3 0 66.5 23.2 76.6 57l34.3 114.4 .4 1.3C492.6 221.2 512 252.3 512 288v96 16 16 48c0 8.8-7.2 16-16 16s-16-7.2-16-16V416H32v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V416 400 384 288c0-35.7 19.4-66.8 48.3-83.3zM104 272a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm280 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faAutomobile = faCar;\nvar faHandHoldingHand = {\n prefix: 'fal',\n iconName: 'hand-holding-hand',\n icon: [576, 512, [], \"e4f7\", \"M425 226.6c-13.1 8.8-28.6 13.4-44.4 13.4H232c-30.9 0-56-25.1-56-56c0-8.6 1.9-16.7 5.4-24h-5.6L81.1 216.4c-8.3 4.9-17.8 7.6-27.5 7.6H52.3C23.4 224 0 200.6 0 171.7c0-17.7 9-34.2 23.8-43.9L143.4 50.1c18.2-11.8 39.4-18.1 61-18.1H560c8.8 0 16 7.2 16 16s-7.2 16-16 16H204.5c-15.5 0-30.6 4.5-43.6 12.9L41.2 154.7c-5.8 3.7-9.2 10.1-9.2 17c0 11.2 9.1 20.3 20.3 20.3h1.3c3.9 0 7.7-1.1 11.1-3l98.5-58.7c2.5-1.5 5.3-2.3 8.2-2.3H232h24 64c8.8 0 16 7.2 16 16s-7.2 16-16 16H256 232c-13.3 0-24 10.7-24 24s10.7 24 24 24H380.6c9.5 0 18.7-2.8 26.6-8.1l79.9-53.3c2.6-1.8 5.7-2.7 8.9-2.7h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H500.8L425 226.6zM151 285.4c13.1-8.8 28.6-13.4 44.4-13.4H344c30.9 0 56 25.1 56 56c0 8.6-1.9 16.7-5.4 24h5.6l94.7-56.4c8.3-4.9 17.8-7.6 27.5-7.6h1.3c28.9 0 52.3 23.4 52.3 52.3c0 17.7-9 34.2-23.8 43.8L432.6 461.9c-18.2 11.8-39.4 18.1-61 18.1H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H371.5c15.5 0 30.6-4.5 43.6-12.9l119.6-77.8c5.8-3.7 9.2-10.2 9.2-17c0-11.2-9.1-20.3-20.3-20.3h-1.3c-3.9 0-7.7 1.1-11.1 3l-98.5 58.7c-2.5 1.5-5.3 2.3-8.2 2.3H344 320 256c-8.8 0-16-7.2-16-16s7.2-16 16-16h64 24c13.3 0 24-10.7 24-24s-10.7-24-24-24H195.4c-9.5 0-18.7 2.8-26.6 8.1L88.9 365.3c-2.6 1.8-5.7 2.7-8.9 2.7H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H75.2L151 285.4z\"]\n};\nvar faUserTieHair = {\n prefix: 'fal',\n iconName: 'user-tie-hair',\n icon: [448, 512, [], \"e45f\", \"M320 128v16c0 53-43 96-96 96s-96-43-96-96V128l34.3 0c31.7 0 61.1-14.5 80.4-38.7l6.3 6.3c10.5 10.5 24.7 16.4 39.6 16.4h30.1c.9 5.2 1.3 10.5 1.3 16zM228.7 52.7c-1.3 1.3-2.4 2.8-3.1 4.5C213.5 81 189.1 96 162.3 96H133.5c13.2-37.3 48.7-64 90.5-64c35.5 0 66.6 19.3 83.2 48H288.6c-6.4 0-12.5-2.5-17-7L251.3 52.7c-6.2-6.2-16.4-6.2-22.6 0zM96 128v16c0 70.7 57.3 128 128 128s128-57.3 128-128V128C352 57.3 294.7 0 224 0S96 57.3 96 128zm96 176c-8.8 0-16 7.2-16 16s7.2 16 16 16h9.8l-21.7 65-32.1-69.5c-2.9-6.3-9.5-10-16.3-8.8C56.8 336.5 0 402.3 0 481.3c0 17 13.8 30.7 30.7 30.7H417.3c17 0 30.7-13.8 30.7-30.7c0-79-56.8-144.7-131.8-158.6c-6.8-1.3-13.4 2.5-16.3 8.8L267.9 401l-21.7-65H256c8.8 0 16-7.2 16-16s-7.2-16-16-16H224 192zm17.5 160.5l-9.7-21.1L224 370.6l24.3 72.8-9.7 21.1c-5.7 12.4-23.3 12.4-29.1 0zm-29.1 13.4c.3 .7 .7 1.4 1 2.1H32c.6-58.1 39.5-107.1 92.7-122.8l55.7 120.7zM416 480H266.6c.3-.7 .7-1.4 1-2.1l55.7-120.7c53.2 15.7 92.1 64.6 92.7 122.8z\"]\n};\nvar faPodiumStar = {\n prefix: 'fal',\n iconName: 'podium-star',\n icon: [448, 512, [], \"f758\", \"M224 32h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H224c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64h64c26.5 0 48-21.5 48-48s-21.5-48-48-48H224c-20.9 0-38.7 13.4-45.3 32H168c-44.2 0-80 35.8-80 80v48H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H120V112c0-26.5 21.5-48 48-48h10.7c6.6 18.6 24.4 32 45.3 32zM47.3 224L73.5 455.2c3.7 32.3 31 56.8 63.6 56.8H310.9c32.5 0 59.9-24.4 63.6-56.8L400.7 224H368.5L342.7 451.6c-1.8 16.2-15.5 28.4-31.8 28.4H137.1c-16.3 0-30-12.2-31.8-28.4L79.5 224H47.3zm214.2 58.8l-16.2-36.8c-8.2-18.6-34.2-18.6-42.4 0l-16.2 36.8-38.2 4.7c-20.5 2.5-26.6 27.4-13.2 40.4l28.7 27.8L156.2 396c-3.4 18 15.6 35.9 34.4 24.8L224 401.3l33.4 19.6c18.8 11 37.8-6.9 34.4-24.8l-7.6-40.3 28.7-27.8c13.4-13 7.3-37.9-13.2-40.4l-38.2-4.7zm-47.5 17.4l10.1-23 10.1 23c3.2 7.3 10 12.7 18.4 13.8l25.5 3.2-19.4 18.7c-5.8 5.6-8.2 13.8-6.8 21.5l5 26.1L235.6 371c-7.2-4.2-16-4.2-23.2 0l-21.2 12.4 5-26.1c1.5-7.7-1-15.9-6.8-21.5L170 317.1l25.5-3.2c8.3-1 15.2-6.5 18.4-13.8z\"]\n};\nvar faUserHairMullet = {\n prefix: 'fal',\n iconName: 'user-hair-mullet',\n icon: [448, 512, [\"business-front\", \"party-back\", \"trian-balbot\"], \"e45c\", \"M320 144c0 53-43 96-96 96s-96-43-96-96V128c0-5.5 .5-10.8 1.3-16h11.3c32.1 0 62.3-13.7 83.4-37.2c21.1 23.5 51.3 37.2 83.4 37.2h11.3c.9 5.2 1.3 10.5 1.3 16v16zM97.2 110.5c-.8 5.7-1.2 11.6-1.2 17.5v16c0 15.6 2.8 30.6 7.9 44.5c-.7 26.5-7.7 46.3-21.3 66.6c-2.5 3.8-3.3 8.5-2.2 13s4.2 8.2 8.3 10.2l16 8c7.9 4 17.5 .7 21.5-7.2s.7-17.5-7.2-21.5l-.6-.3c4.6-8.7 8.3-17.6 11.1-26.9c5.7 6.3 12.1 12 19 17l-11.8 35.5c-2.8 8.4 1.7 17.4 10.1 20.2s17.4-1.7 20.2-10.1l10-29.9c14.5 5.7 30.3 8.8 46.9 8.8s32.3-3.1 46.9-8.8l10 29.9c2.8 8.4 11.9 12.9 20.2 10.1s12.9-11.9 10.1-20.2l-11.8-35.5c6.9-5 13.2-10.7 19-17c2.8 9.3 6.5 18.2 11.1 26.9l-.6 .3c-7.9 4-11.1 13.6-7.2 21.5s13.6 11.1 21.5 7.2l16-8c4.1-2.1 7.1-5.8 8.3-10.2s.4-9.2-2.2-13c-13.5-20.3-20.6-40.2-21.3-66.6c5.1-13.9 7.9-28.8 7.9-44.5V128c0-5.9-.4-11.8-1.2-17.5c5.4-2.6 9.2-8.1 9.2-14.5c0-8.8-7.2-16-16-16h-1.3c-19-46.9-65-80-118.7-80s-99.7 33.1-118.7 80H104c-8.8 0-16 7.2-16 16c0 6.4 3.8 11.9 9.2 14.5zM140.8 80c16.6-28.7 47.6-48 83.2-48s66.6 19.3 83.2 48c-26.7-.1-51.5-13.4-66.3-35.6l-3.5-5.3c-3-4.5-8-7.1-13.3-7.1s-10.3 2.7-13.3 7.1l-3.5 5.3C192.4 66.6 167.5 79.9 140.8 80zm22.7 272H284.4c71.5 0 129.6 57 131.5 128H32c1.9-71 60-128 131.5-128zm0-32C73.2 320 0 393.2 0 483.6C0 499.3 12.7 512 28.4 512H419.6c15.7 0 28.4-12.7 28.4-28.4C448 393.2 374.8 320 284.4 320H163.6z\"]\n};\nvar faBusinessFront = faUserHairMullet;\nvar faPartyBack = faUserHairMullet;\nvar faTrianBalbot = faUserHairMullet;\nvar faMicrophoneStand = {\n prefix: 'fal',\n iconName: 'microphone-stand',\n icon: [512, 512, [127908], \"f8cb\", \"M449.5 186.9L325.1 62.5l4.7-4.7c34.4-34.4 90.1-34.4 124.4 0s34.4 90.1 0 124.5l-4.7 4.7zm-22.6 22.6l-4.7 4.7c-17.5 17.5-40.6 26.1-63.6 25.8L272 153.4c-.4-23 8.2-46.1 25.8-63.6l4.7-4.7L426.9 209.5zM358.3 272c31.3 .4 62.7-11.3 86.5-35.1l4.7-4.7 11.3-11.3 11.3-11.3 4.7-4.7c46.9-46.9 46.9-122.8 0-169.7S354-11.7 307.1 35.1l-4.7 4.7L291.1 51.1 279.8 62.5l-4.7 4.7C251.3 91 239.6 122.4 240 153.7L15 393.7c-9.6 10.3-15 23.9-15 38c0 14.7 5.8 28.8 16.3 39.3l24.8 24.8C51.5 506.2 65.6 512 80.4 512c14.1 0 27.7-5.4 38-15L256 367.9V496c0 8.8 7.2 16 16 16s16-7.2 16-16V337.9L358.3 272zM96.5 473.6c-4.4 4.1-10.1 6.4-16.1 6.4c-6.2 0-12.2-2.5-16.6-6.9L38.9 448.3c-4.4-4.4-6.9-10.4-6.9-16.6c0-6 2.3-11.7 6.4-16.1L256.4 183 329 255.6 96.5 473.6z\"]\n};\nvar faBookOpenReader = {\n prefix: 'fal',\n iconName: 'book-open-reader',\n icon: [512, 512, [\"book-reader\"], \"f5da\", \"M256 32a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm0 160A96 96 0 1 0 256 0a96 96 0 1 0 0 192zm0 48s-56.8-42.6-224-47.5C14.4 191.9 0 206.3 0 224V432c0 17.7 14.4 31.9 32 32.7c114.9 4.7 186.9 33.7 208.8 43.8c4.8 2.2 9.9 3.5 15.1 3.5s10.4-1.3 15.1-3.5c21.9-10.1 93.9-39.1 208.8-43.8c17.7-.7 32-15 32-32.7V224c0-17.7-14.4-32.1-32-31.5C312.8 197.4 256 240 256 240zm-18.9 25.8L240 268V473.3c-34-13.8-104.4-36.4-206.7-40.6c-.5 0-.9-.2-1.2-.5c-.1-.1-.1-.1-.1-.2l0 0 0 0 0 0 0 0 0 0 0 0V224.5c80.5 2.4 133.2 13.9 164.9 24.1c15.9 5.1 26.7 9.9 33 13.2c3.2 1.6 5.3 2.9 6.4 3.6c.4 .3 .7 .5 .9 .6zM272 268l2.9-2.2c.1-.1 .4-.3 .9-.6c1.1-.7 3.2-1.9 6.4-3.6c6.3-3.3 17-8.1 33-13.2c31.8-10.2 84.5-21.6 164.9-24.1V432v0l0 .1c0 0-.1 .1-.1 .1c-.3 .3-.7 .5-1.2 .5C376.4 436.9 306 459.5 272 473.3V268z\"]\n};\nvar faBookReader = faBookOpenReader;\nvar faFamilyDress = {\n prefix: 'fal',\n iconName: 'family-dress',\n icon: [512, 512, [], \"e301\", \"M128 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 96A64 64 0 1 0 128 0a64 64 0 1 0 0 128zm-15.7 64h31.4c11.5 0 21.8 6.1 27.5 15.6c-2.1-7.5-3.2-15.4-3.2-23.6c0-6.3 .7-12.5 1.9-18.4c-8.1-3.6-16.9-5.6-26.2-5.6H112.3c-28.6 0-53.7 18.9-61.5 46.4L11.7 343.2C5.8 363.7 21.2 384 42.4 384H64V496c0 8.8 7.2 16 16 16s16-7.2 16-16V384h49.6c-1-5.2-1.6-10.5-1.6-16V352H42.4L81.5 215.2C85.4 201.5 98 192 112.3 192zM366.4 384H416V496c0 8.8 7.2 16 16 16s16-7.2 16-16V384h21.6c21.3 0 36.6-20.3 30.8-40.8L461.3 206.4c-7.8-27.5-33-46.4-61.5-46.4H368.3c-9.3 0-18.1 2-26.2 5.6c1.3 5.9 1.9 12.1 1.9 18.4c0 8.2-1.1 16.1-3.2 23.6c5.7-9.5 16-15.6 27.5-15.6h31.4c14.3 0 26.8 9.5 30.8 23.2L469.6 352H368v16c0 5.5-.6 10.8-1.6 16zM384 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 96A64 64 0 1 0 384 0a64 64 0 1 0 0 128zM256 160a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0 80a56 56 0 1 0 0-112 56 56 0 1 0 0 112zm0 48c26.5 0 48 21.5 48 48v32c0 8.8-7.2 16-16 16H224c-8.8 0-16-7.2-16-16V336c0-26.5 21.5-48 48-48zM208 413.3V496c0 8.8 7.2 16 16 16s16-7.2 16-16V416h32v80c0 8.8 7.2 16 16 16s16-7.2 16-16V413.3c18.6-6.6 32-24.4 32-45.3V336c0-44.2-35.8-80-80-80s-80 35.8-80 80v32c0 20.9 13.4 38.7 32 45.3z\"]\n};\nvar faCircleX = {\n prefix: 'fal',\n iconName: 'circle-x',\n icon: [512, 512, [], \"e12e\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM172.1 133.6c-5.8-6.7-15.9-7.5-22.6-1.7s-7.5 15.9-1.7 22.6L234.9 256 147.9 357.6c-5.8 6.7-5 16.8 1.7 22.6s16.8 5 22.6-1.7L256 280.6l83.9 97.8c5.8 6.7 15.8 7.5 22.6 1.7s7.5-15.8 1.7-22.6L277.1 256l87.1-101.6c5.8-6.7 5-16.8-1.7-22.6s-16.8-5-22.6 1.7L256 231.4l-83.9-97.8z\"]\n};\nvar faCabin = {\n prefix: 'fal',\n iconName: 'cabin',\n icon: [512, 512, [], \"e46d\", \"M237.1 10c11.3-8.3 26.6-8.3 37.8 0L352 66.6V56c0-13.3 10.7-24 24-24h80c13.3 0 24 10.7 24 24V160h-.6l13 9.6c12.3 9 19.6 23.3 19.6 38.6c0 21.4-14 39.5-33.3 45.6c.9 3.3 1.3 6.7 1.3 10.2v16c0 9-3 17.3-8 24c5 6.7 8 15 8 24v16c0 9-3 17.3-8 24c5 6.7 8 15 8 24v16c0 9-3 17.3-8 24c5 6.7 8 15 8 24v16c0 22.1-17.9 40-40 40H360c-22.1 0-40-17.9-40-40V456c0-9 3-17.3 8-24c-5-6.7-8-15-8-24V392c0-9 3-17.3 8-24c-5-6.7-8-15-8-24V328c0-9 3-17.3 8-24c-5-6.7-8-15-8-24V264c0-2.7 .3-5.4 .8-8H191.2c.5 2.6 .8 5.3 .8 8v16c0 9-3 17.3-8 24c5 6.7 8 15 8 24v16c0 9-3 17.3-8 24c5 6.7 8 15 8 24v16c0 9-3 17.3-8 24c5 6.7 8 15 8 24v16c0 22.1-17.9 40-40 40H72c-22.1 0-40-17.9-40-40V456c0-9 3-17.3 8-24c-5-6.7-8-15-8-24V392c0-9 3-17.3 8-24c-5-6.7-8-15-8-24V328c0-9 3-17.3 8-24c-5-6.7-8-15-8-24V264c0-3.5 .5-7 1.3-10.2C14 247.6 0 229.5 0 208.1c0-15.2 7.3-29.6 19.6-38.6L237.1 10zM360 416h80c4.4 0 8-3.6 8-8V392c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm80 32H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8V456c0-4.4-3.6-8-8-8zm8-104V328c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8zM360 224h80 24.1c8.8 0 15.9-7.1 15.9-15.9c0-5.1-2.4-9.8-6.5-12.8L256 35.8 38.5 195.4c-4.1 3-6.5 7.7-6.5 12.8c0 8.8 7.1 15.9 15.9 15.9H72h80H360zm0 32c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8V264c0-4.4-3.6-8-8-8H360zM72 416h80c4.4 0 8-3.6 8-8V392c0-4.4-3.6-8-8-8H72c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm80 32H72c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8V456c0-4.4-3.6-8-8-8zm8-104V328c0-4.4-3.6-8-8-8H72c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8zM72 256c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8V264c0-4.4-3.6-8-8-8H72zM448 137V64H384V90L448 137zm-192-9a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm48 16a48 48 0 1 1 -96 0 48 48 0 1 1 96 0z\"]\n};\nvar faMountainSun = {\n prefix: 'fal',\n iconName: 'mountain-sun',\n icon: [640, 512, [], \"e52f\", \"M608 80a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM480 80a80 80 0 1 1 160 0A80 80 0 1 1 480 80zM456.1 480c13.2 0 23.9-10.7 23.9-23.9c0-4.5-1.3-8.9-3.7-12.7L259.6 98c-.8-1.3-2.2-2-3.6-2s-2.9 .8-3.6 2L35.7 443.4c-2.4 3.8-3.7 8.2-3.7 12.7C32 469.3 42.7 480 55.9 480H456.1zM55.9 512C25 512 0 487 0 456.1c0-10.5 3-20.8 8.6-29.7L225.2 81c6.6-10.6 18.3-17 30.8-17s24.1 6.4 30.8 17l126 200.7 48.2-79C465 196.1 472.2 192 480 192s15 4.1 19.1 10.7l132 216.3c5.8 9.6 8.9 20.6 8.9 31.8c0 33.8-27.4 61.1-61.1 61.1H456.1 55.9zm447.5-85.6c5.6 8.9 8.6 19.2 8.6 29.7c0 8.6-1.9 16.7-5.4 23.9h72.2c16.1 0 29.1-13 29.1-29.1c0-5.3-1.5-10.6-4.3-15.2L480 232.9 431.7 312l71.7 114.3z\"]\n};\nvar faChartSimpleHorizontal = {\n prefix: 'fal',\n iconName: 'chart-simple-horizontal',\n icon: [448, 512, [], \"e474\", \"M416 240c0-8.8-7.2-16-16-16L48 224c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l352 0c8.8 0 16-7.2 16-16l0-32zm32 32c0 26.5-21.5 48-48 48L48 320c-26.5 0-48-21.5-48-48l0-32c0-26.5 21.5-48 48-48l352 0c26.5 0 48 21.5 48 48l0 32zM224 400c0-8.8-7.2-16-16-16L48 384c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l160 0c8.8 0 16-7.2 16-16l0-32zm32 32c0 26.5-21.5 48-48 48L48 480c-26.5 0-48-21.5-48-48l0-32c0-26.5 21.5-48 48-48l160 0c26.5 0 48 21.5 48 48l0 32zm96-320l0-32c0-8.8-7.2-16-16-16L48 64c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l288 0c8.8 0 16-7.2 16-16zm-16 48L48 160c-26.5 0-48-21.5-48-48L0 80C0 53.5 21.5 32 48 32l288 0c26.5 0 48 21.5 48 48l0 32c0 26.5-21.5 48-48 48z\"]\n};\nvar faBluetooth = {\n prefix: 'fal',\n iconName: 'bluetooth',\n icon: [384, 512, [], \"f293\", \"M185.4 1.4c5.7-2.6 12.5-1.5 17.2 2.6l144 128c3.6 3.2 5.5 7.7 5.4 12.5s-2.4 9.2-6.2 12.1L218.1 256l127.8 99.4c3.8 2.9 6 7.4 6.2 12.1s-1.8 9.3-5.4 12.5l-144 128c-4.7 4.2-11.4 5.2-17.2 2.6s-9.4-8.3-9.4-14.6V288.7L57.8 380.6c-7 5.4-17 4.2-22.5-2.8s-4.2-17 2.8-22.5L165.9 256 38.2 156.6c-7-5.4-8.2-15.5-2.8-22.5s15.5-8.2 22.5-2.8L176 223.3V16c0-6.3 3.7-12 9.4-14.6zM208 288.7V460.4l103-91.6L208 288.7zm0-65.4l103-80.1L208 51.6V223.3z\"]\n};\nvar faArrowsLeftRightToLine = {\n prefix: 'fal',\n iconName: 'arrows-left-right-to-line',\n icon: [640, 512, [], \"e4ba\", \"M16 64c8.8 0 16 7.2 16 16l0 352c0 8.8-7.2 16-16 16s-16-7.2-16-16V80c0-8.8 7.2-16 16-16zm203.3 84.7c6.2 6.2 6.2 16.4 0 22.6L150.6 240l338.7 0-68.7-68.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l96 96c6.2 6.2 6.2 16.4 0 22.6l-96 96c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L489.4 272l-338.7 0 68.7 68.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-96-96c-6.2-6.2-6.2-16.4 0-22.6l96-96c6.2-6.2 16.4-6.2 22.6 0zM640 80V432c0 8.8-7.2 16-16 16s-16-7.2-16-16V80c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faHandBackPointLeft = {\n prefix: 'fal',\n iconName: 'hand-back-point-left',\n icon: [512, 512, [], \"e19f\", \"M0 168c0-30.9 25.1-56 56-56l200.6 0c2-3.2 4.2-6.4 6.5-9.5L280 80c15.1-20.1 38.8-32 64-32l19.5 0c53 0 101.7 29.1 126.8 75.7l4.5 8.3c11.3 21 17.2 44.4 17.2 68.3L512 336c0 61.9-50.1 112-112 112l-8 0-88 0c-35.3 0-64-28.7-64-64c0-2.8 .2-5.6 .5-8.3c-19.4-11-32.5-31.8-32.5-55.7c0-5.3 .7-10.5 1.9-15.5c-20.2-10.8-33.9-32-33.9-56.5c0-8.5 1.7-16.6 4.7-24L56 224c-30.9 0-56-25.1-56-56zm56-24c-13.3 0-24 10.7-24 24s10.7 24 24 24l157.5 0c7.1 0 13.3 4.6 15.3 11.4s-.6 14-6.5 18c-8.7 5.8-14.3 15.6-14.3 26.7c0 15.6 11.2 28.6 25.9 31.4c5.1 1 9.5 4.4 11.6 9.2s1.8 10.3-.9 14.8c-2.9 4.8-4.6 10.5-4.6 16.6c0 14.7 10 27.2 23.6 30.9c4.4 1.2 8.1 4.2 10.1 8.3s2.2 8.8 .6 13.1c-1.4 3.6-2.2 7.6-2.2 11.8c0 17.7 14.3 32 32 32l88 0 8 0c44.2 0 80-35.8 80-80l0-135.7c0-18.5-4.6-36.8-13.4-53.1l14.1-7.6-14.1 7.6-4.5-8.3C442.6 102.6 404.7 80 363.5 80L344 80c-15.1 0-29.3 7.1-38.4 19.2L296 112l48 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-78.3 0-1.7 0L56 144z\"]\n};\nvar faMessageDots = {\n prefix: 'fal',\n iconName: 'message-dots',\n icon: [512, 512, [\"comment-alt-dots\", \"messaging\"], \"f4a3\", \"M192 416c0-17.7-14.3-32-32-32H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H448c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H309.3c-6.9 0-13.7 2.2-19.2 6.4L192 464V416zM64 0C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h64 32v32 48c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L309.3 416H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zm64 232a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm128 0a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm152-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faCommentAltDots = faMessageDots;\nvar faMessaging = faMessageDots;\nvar faFileHeart = {\n prefix: 'fal',\n iconName: 'file-heart',\n icon: [384, 512, [], \"e176\", \"M320 480H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H192V144c0 26.5 21.5 48 48 48H352V448c0 17.7-14.3 32-32 32zM240 160c-8.8 0-16-7.2-16-16V32.5c2.8 .7 5.4 2.1 7.4 4.2L347.3 152.6c2.1 2.1 3.5 4.6 4.2 7.4H240zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V163.9c0-12.7-5.1-24.9-14.1-33.9L254.1 14.1c-9-9-21.2-14.1-33.9-14.1H64zm61.7 306.8c0-11.9 9.6-21.5 21.5-21.5h1.5c6 0 11.7 2.3 16 6.5l16.1 15.6c6.2 6 16.1 6 22.3 0l16.1-15.6c4.3-4.2 10.1-6.5 16-6.5h1.5c11.9 0 21.5 9.6 21.5 21.5c0 5.8-2.3 11.4-6.5 15.4L192 380.4l-59.8-58.1c-4.2-4-6.5-9.6-6.5-15.4zm21.5-53.5c-29.5 0-53.5 23.9-53.5 53.5c0 14.4 5.8 28.3 16.2 38.4l70.9 69c6.2 6 16.1 6 22.3 0l70.9-69c10.4-10.1 16.2-23.9 16.2-38.4c0-29.5-23.9-53.5-53.5-53.5h-1.5c-14.3 0-28.1 5.6-38.4 15.6l-4.9 4.8-4.9-4.8c-10.3-10-24-15.6-38.4-15.6h-1.5z\"]\n};\nvar faBeerMug = {\n prefix: 'fal',\n iconName: 'beer-mug',\n icon: [512, 512, [\"beer-foam\"], \"e0b3\", \"M208 0c-26.3 0-50.2 10.6-67.6 27.8l0 0 0 0c0 0-.1 .1-.2 .1c-.2 .1-.4 .2-.8 .2c-.7 .1-1.3-.1-1.6-.3C125.7 20.3 111.3 16 96 16C51.8 16 16 51.8 16 96s35.8 80 80 80c15.3 0 29.7-4.3 41.9-11.8c.3-.2 .8-.4 1.6-.3c.3 0 .6 .1 .8 .2c.1 0 .1 .1 .2 .1l0 0 0 0C157.8 181.4 181.7 192 208 192s50.2-10.6 67.6-27.8l0 0 0 0c0 0 0 0 .1 0c0 0 .1 0 .1 0c.2-.1 .4-.2 .8-.2c.7-.1 1.3 .1 1.6 .3c12.2 7.5 26.6 11.8 41.9 11.8c44.2 0 80-35.8 80-80s-35.8-80-80-80c-15.3 0-29.7 4.3-41.9 11.8c-.3 .2-.8 .4-1.6 .3c-.3 0-.6-.1-.8-.2c-.1 0-.1-.1-.2-.1l0 0 0 0C258.2 10.6 234.3 0 208 0zM163 50.5C174.5 39.1 190.4 32 208 32s33.5 7.1 45 18.5c11.3 11.2 29 12.4 41.8 4.5c7.3-4.5 15.9-7.1 25.1-7.1c26.5 0 48 21.5 48 48s-21.5 48-48 48c-9.2 0-17.8-2.6-25.1-7.1c-12.8-7.9-30.5-6.7-41.8 4.5c-11.6 11.5-27.5 18.5-45 18.5s-33.5-7.1-45-18.5c-11.3-11.2-29-12.4-41.8-4.5c-7.3 4.5-15.9 7.1-25.1 7.1c-26.5 0-48-21.5-48-48s21.5-48 48-48c9.2 0 17.8 2.6 25.1 7.1c12.8 7.9 30.5 6.7 41.8-4.5zM32 187.9V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V434.5l80.1-35c29.1-12.7 47.9-41.5 47.9-73.3V272c0-44.2-35.8-80-80-80H384v-4.1c-9.7 6.7-20.4 12-32 15.4V423.7c0 .2 0 .5 0 .7V448c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V203.4c-11.6-3.4-22.3-8.7-32-15.4zM208 224c-8.8 0-16 7.2-16 16V400c0 8.8 7.2 16 16 16s16-7.2 16-16V240c0-8.8-7.2-16-16-16zm224 0c26.5 0 48 21.5 48 48v54.1c0 19.1-11.3 36.3-28.8 44L384 399.5V224h48zM160 240c0-8.8-7.2-16-16-16s-16 7.2-16 16V400c0 8.8 7.2 16 16 16s16-7.2 16-16V240zm128 0c0-8.8-7.2-16-16-16s-16 7.2-16 16V400c0 8.8 7.2 16 16 16s16-7.2 16-16V240z\"]\n};\nvar faBeerFoam = faBeerMug;\nvar faDiceD20 = {\n prefix: 'fal',\n iconName: 'dice-d20',\n icon: [512, 512, [], \"f6cf\", \"M217.5 56.4L77.9 140.2l61.4 44.7L217.5 56.4zM64 169.6V320.3l59.2-107.6L64 169.6zM104.8 388L240 469.1V398.8L104.8 388zM272 469.1L407.2 388 272 398.8v70.3zM448 320.3V169.6l-59.2 43L448 320.3zM434.1 140.2L294.5 56.4l78.2 128.4 61.4-44.7zM243.7 3.4c7.6-4.6 17.1-4.6 24.7 0l200 120c7.2 4.3 11.7 12.1 11.7 20.6V368c0 8.4-4.4 16.2-11.7 20.6l-200 120c-7.6 4.6-17.1 4.6-24.7 0l-200-120C36.4 384.2 32 376.4 32 368V144c0-8.4 4.4-16.2 11.7-20.6l200-120zM225.3 365.5L145 239.4 81.9 354l143.3 11.5zM338.9 224H173.1L256 354.2 338.9 224zM256 54.8L172.5 192H339.5L256 54.8zm30.7 310.7L430.1 354 367 239.4 286.7 365.5z\"]\n};\nvar faDrone = {\n prefix: 'fal',\n iconName: 'drone',\n icon: [512, 512, [], \"f85f\", \"M112 32c39.6 0 72.5 28.8 78.9 66.6c1.5 8.7 9.7 14.6 18.4 13.1s14.6-9.7 13.1-18.4C213.6 40.4 167.5 0 112 0C50.1 0 0 50.1 0 112c0 55.5 40.4 101.6 93.4 110.5c8.7 1.5 17-4.4 18.4-13.1s-4.4-17-13.1-18.4C60.8 184.5 32 151.6 32 112c0-44.2 35.8-80 80-80zm286.7 0c44.2 0 80 35.8 80 80c0 39.6-28.8 72.5-66.6 78.9c-8.7 1.5-14.6 9.7-13.1 18.4s9.7 14.6 18.4 13.1c53-8.9 93.4-54.9 93.4-110.5c0-61.9-50.1-112-112-112C343.2 0 297.1 40.4 288.2 93.4c-1.5 8.7 4.4 17 13.1 18.4s17-4.4 18.4-13.1C326.1 60.8 359 32 398.7 32zM32 398.7c0-39.6 28.8-72.5 66.6-78.9c8.7-1.5 14.6-9.7 13.1-18.4s-9.7-14.6-18.4-13.1C40.4 297.1 0 343.2 0 398.7c0 61.9 50.1 112 112 112c55.5 0 101.6-40.4 110.5-93.4c1.5-8.7-4.4-17-13.1-18.4s-17 4.4-18.4 13.1c-6.3 37.8-39.3 66.6-78.9 66.6c-44.2 0-80-35.8-80-80zm366.7 80c-39.6 0-72.5-28.8-78.9-66.6c-1.5-8.7-9.7-14.6-18.4-13.1s-14.6 9.7-13.1 18.4c8.9 53 54.9 93.4 110.5 93.4c61.9 0 112-50.1 112-112c0-55.5-40.4-101.6-93.4-110.5c-8.7-1.5-17 4.4-18.4 13.1s4.4 17 13.1 18.4c37.8 6.3 66.6 39.3 66.6 78.9c0 44.2-35.8 80-80 80zM112 432c17.7 0 32-14.3 32-32c0-2.9-.4-5.6-1.1-8.3L182.6 352H329.4l39.7 39.7c-.7 2.6-1.1 5.4-1.1 8.3c0 17.7 14.3 32 32 32s32-14.3 32-32s-14.3-32-32-32c-2.9 0-5.6 .4-8.3 1.1L352 329.4V182.6l39.7-39.7c2.6 .7 5.4 1.1 8.3 1.1c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32c0 2.9 .4 5.6 1.1 8.3L329.4 160H182.6l-39.7-39.7c.7-2.6 1.1-5.4 1.1-8.3c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32c2.9 0 5.6-.4 8.3-1.1L160 182.6V329.4l-39.7 39.7c-2.6-.7-5.4-1.1-8.3-1.1c-17.7 0-32 14.3-32 32s14.3 32 32 32zm80-112V192H320V320H192z\"]\n};\nvar faTruckDroplet = {\n prefix: 'fal',\n iconName: 'truck-droplet',\n icon: [640, 512, [], \"e58c\", \"M352 32c17.7 0 32 14.3 32 32V384H250.5c-13.2-37.3-48.7-64-90.5-64s-77.4 26.7-90.5 64H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H352zM0 352c0 35.3 28.7 64 64 64c0 53 43 96 96 96s96-43 96-96H384c0 53 43 96 96 96s96-43 96-96h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H608V235.8c0-11.5-4.1-22.5-11.6-31.2l-78.7-91.8C508.6 102.1 495.3 96 481.3 96H416V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352zM416 128h65.3c4.7 0 9.1 2 12.1 5.6L570.9 224H416V128zm0 216.4V256H576V384h-5.5c-13.2-37.3-48.7-64-90.5-64c-24.6 0-47 9.2-64 24.4zM160 352a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm256 64a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM256 211c0 23.7-20.3 45-48 45s-48-21.3-48-45c0-1.7 .9-7.2 5-17.4c3.9-9.5 9.5-20.4 16.1-32.1c8.5-14.8 18.1-29.7 26.8-42.6c8.7 12.8 18.4 27.8 26.8 42.6c6.7 11.6 12.3 22.6 16.1 32.1c4.1 10.2 5 15.7 5 17.4zm32 0c0-32-45.2-98.9-67.6-130.2c-6.1-8.6-18.6-8.6-24.8 0C173.2 112.1 128 179 128 211c0 42.5 35.8 77 80 77s80-34.5 80-77z\"]\n};\nvar faFileCircleXmark = {\n prefix: 'fal',\n iconName: 'file-circle-xmark',\n icon: [576, 512, [], \"e5a1\", \"M64 480H296.2c9.8 11.8 21 22.3 33.5 31.3c-3.2 .5-6.4 .7-9.7 .7H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H220.1c12.7 0 24.9 5.1 33.9 14.1L369.9 129.9c9 9 14.1 21.2 14.1 33.9v34.7c-11.2 3.2-21.9 7.4-32 12.6V192H240c-26.5 0-48-21.5-48-48V32H64C46.3 32 32 46.3 32 64V448c0 17.7 14.3 32 32 32zM351.5 160c-.7-2.8-2.1-5.4-4.2-7.4L231.4 36.7c-2.1-2.1-4.6-3.5-7.4-4.2V144c0 8.8 7.2 16 16 16H351.5zM544 368a112 112 0 1 0 -224 0 112 112 0 1 0 224 0zm-256 0a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm203.3-36.7L454.6 368l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L432 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L409.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L432 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faTemperatureArrowUp = {\n prefix: 'fal',\n iconName: 'temperature-arrow-up',\n icon: [576, 512, [\"temperature-up\"], \"e040\", \"M112 96c0-35.3 28.7-64 64-64s64 28.7 64 64V252.7c0 14.9 7 27.7 16 36.9c19.8 20.2 32 47.9 32 78.4c0 61.9-50.1 112-112 112s-112-50.1-112-112c0-30.5 12.2-58.2 32-78.4c9-9.2 16-22 16-36.9V96zM176 0C123 0 80 43 80 96V252.7c0 4.6-2.2 9.8-6.8 14.5C47.7 293.1 32 328.8 32 368c0 79.5 64.5 144 144 144s144-64.5 144-144c0-39.3-15.7-74.9-41.2-100.8c-4.6-4.7-6.8-9.9-6.8-14.5V96c0-53-43-96-96-96zM144 368a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm96 0c0-29.8-20.4-54.9-48-62V96c0-8.8-7.2-16-16-16s-16 7.2-16 16V306c-27.6 7.1-48 32.2-48 62c0 35.3 28.7 64 64 64s64-28.7 64-64zM420.7 36.7l-96 96c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L416 86.6V464c0 8.8 7.2 16 16 16s16-7.2 16-16V86.6l68.7 68.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-96-96c-6.2-6.2-16.4-6.2-22.6 0z\"]\n};\nvar faTemperatureUp = faTemperatureArrowUp;\nvar faMedal = {\n prefix: 'fal',\n iconName: 'medal',\n icon: [512, 512, [127941], \"f5a2\", \"M106.4 191.5c7.5-7.8 15.6-14.9 24.2-21.4L38.5 32l103.4 0 61.6 102.7c10.9-2.8 22.2-4.8 33.8-5.9l-68-113.3C163.5 5.9 153.1 0 141.9 0H24.6C11 0 0 11 0 24.6c0 4.8 1.4 9.6 4.1 13.6L106.4 191.5zm168.3-62.7c11.6 1 22.9 3 33.8 5.9L370.1 32l103.4 0L381.5 170.1c8.6 6.5 16.7 13.7 24.2 21.4L507.9 38.2c2.7-4 4.1-8.8 4.1-13.6C512 11 501 0 487.4 0H370.1c-11.2 0-21.7 5.9-27.4 15.5l-68 113.3zM256 192a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm0 320a176 176 0 1 0 0-352 176 176 0 1 0 0 352zm38.8-229.5l-17.3-35.1c-8.8-17.8-34.2-17.8-43 0l-17.3 35.1-38.7 5.6c-19.7 2.9-27.5 27.1-13.3 40.9l28 27.3L186.5 395c-3.4 19.6 17.2 34.6 34.8 25.3L256 402.1l34.6 18.2c17.6 9.3 38.2-5.7 34.8-25.3l-6.6-38.6 28-27.3c14.2-13.9 6.4-38.1-13.3-40.9l-38.7-5.6zM244 300.5l12-24.3 12 24.3c3.5 7.1 10.3 12 18.1 13.1l26.8 3.9-19.4 18.9c-5.7 5.5-8.2 13.5-6.9 21.2l4.6 26.7-24-12.6c-7-3.7-15.3-3.7-22.3 0l-24 12.6 4.6-26.7c1.3-7.8-1.2-15.7-6.9-21.2l-19.4-18.9 26.8-3.9c7.8-1.1 14.6-6 18.1-13.1z\"]\n};\nvar faPersonFairy = {\n prefix: 'fal',\n iconName: 'person-fairy',\n icon: [640, 512, [], \"e608\", \"M320 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0-96a64 64 0 1 1 0 128A64 64 0 1 1 320 0zM297.6 192c-25 0-45.8 19.1-47.8 44l-4.1 49.3C244.1 304 258.8 320 277.6 320h84.9c18.7 0 33.4-16 31.9-34.7L390.2 236c-2.1-24.9-22.9-44-47.8-44H297.6zm0-32h44.8c41.6 0 76.3 31.9 79.7 73.4l4.1 49.3c2.5 29.8-15.7 56.1-42.2 65.6V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V352H288V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V348.3c-26.5-9.5-44.7-35.8-42.2-65.6l4.1-49.3c3.5-41.5 38.1-73.4 79.7-73.4zM32 32c89.4 0 169.4 40.8 222.2 104.7c-10.1 4.2-19.4 9.9-27.7 16.8C179.5 98.7 109.8 64 32 64v48c0 76.5 35.7 144.6 91.5 188.6l12.1 9.5c6.8 5.3 8.1 15 3 22l-9.1 12.4C108.5 373.6 96 409.3 96 448h16c42.5 0 81.6-15.1 112-40.2v39.5C191.7 468 153.2 480 112 480H96c-17.7 0-32-14.3-32-32c0-45.7 14.7-88 39.7-122.3C40.6 275.9 0 198.7 0 112V64C0 46.3 14.3 32 32 32zM413.5 153.5c-8.3-6.9-17.7-12.5-27.7-16.8C438.6 72.8 518.6 32 608 32c17.7 0 32 14.3 32 32v48c0 86.7-40.6 163.9-103.7 213.7C561.3 360 576 402.3 576 448c0 17.7-14.3 32-32 32H528c-41.2 0-79.7-12-112-32.7V407.8c30.4 25.1 69.5 40.2 112 40.2h16c0-38.7-12.5-74.4-33.6-103.5l-9.1-12.4c-5.1-7-3.7-16.7 3-22l12.1-9.5C572.3 256.6 608 188.5 608 112V64c-77.8 0-147.5 34.7-194.5 89.5z\"]\n};\nvar faBed = {\n prefix: 'fal',\n iconName: 'bed',\n icon: [640, 512, [128716], \"f236\", \"M32 48c0-8.8-7.2-16-16-16S0 39.2 0 48V336v64 64c0 8.8 7.2 16 16 16s16-7.2 16-16V416H608v48c0 8.8 7.2 16 16 16s16-7.2 16-16V400 336 240c0-61.9-50.1-112-112-112H304c-26.5 0-48 21.5-48 48V320H32V48zM608 384H32V352H272 608v32zm0-144v80H288V176c0-8.8 7.2-16 16-16H528c44.2 0 80 35.8 80 80zM96 208a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm128 0A80 80 0 1 0 64 208a80 80 0 1 0 160 0z\"]\n};\nvar faBookCopy = {\n prefix: 'fal',\n iconName: 'book-copy',\n icon: [576, 512, [], \"e0be\", \"M224 64c0-17.7 14.3-32 32-32H528c8.8 0 16 7.2 16 16V272c0 8.8-7.2 16-16 16H256c-11.7 0-22.6 3.1-32 8.6V64zm-32 0V352c0 35.3 28.7 64 64 64H528h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H544V317.3c18.6-6.6 32-24.4 32-45.3V48c0-26.5-21.5-48-48-48H256c-35.3 0-64 28.7-64 64zm64 320c-17.7 0-32-14.3-32-32s14.3-32 32-32H512v64H256zm96 96V448H320v32H64c-17.7 0-32-14.3-32-32s14.3-32 32-32H184.4c-8.3-9.2-14.8-20.1-19-32H64c-11.7 0-22.6 3.1-32 8.6V160c0-17.7 14.3-32 32-32h96V96H64C28.7 96 0 124.7 0 160V448c0 35.3 28.7 64 64 64H336h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H352z\"]\n};\nvar faSquareH = {\n prefix: 'fal',\n iconName: 'square-h',\n icon: [448, 512, [\"h-square\"], \"f0fd\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm336 48V256 368c0 8.8-7.2 16-16 16s-16-7.2-16-16V272l-160 0 0 96c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-224c0-8.8 7.2-16 16-16s16 7.2 16 16v96l160 0V144c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faHSquare = faSquareH;\nvar faSquareC = {\n prefix: 'fal',\n iconName: 'square-c',\n icon: [448, 512, [], \"e266\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm156.1 92.1c-37.5 37.5-37.5 98.3 0 135.8s98.3 37.5 135.8 0c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6c-50 50-131 50-181 0s-50-131 0-181s131-50 181 0c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0c-37.5-37.5-98.3-37.5-135.8 0z\"]\n};\nvar faClockTwo = {\n prefix: 'fal',\n iconName: 'clock-two',\n icon: [512, 512, [], \"e35a\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM272 112V226.1l71.1-47.4c7.4-4.9 17.3-2.9 22.2 4.4s2.9 17.3-4.4 22.2l-96 64c-4.9 3.3-11.2 3.6-16.4 .8s-8.5-8.2-8.5-14.1V112c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faSquareEllipsisVertical = {\n prefix: 'fal',\n iconName: 'square-ellipsis-vertical',\n icon: [448, 512, [], \"e26f\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM224 232a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm-24-72a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm24 168a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faCalendarUsers = {\n prefix: 'fal',\n iconName: 'calendar-users',\n icon: [640, 512, [], \"e5e2\", \"M208 0c8.8 0 16 7.2 16 16V64H416V16c0-8.8 7.2-16 16-16s16 7.2 16 16V64h32c35.3 0 64 28.7 64 64v32 32H528 512 128 112 96V160 128c0-35.3 28.7-64 64-64h32V16c0-8.8 7.2-16 16-16zm39.4 512c5.4-9.4 8.6-20.3 8.6-32H384c0 11.7 3.1 22.6 8.6 32H247.4zM480 96H160c-17.7 0-32 14.3-32 32v32H512V128c0-17.7-14.3-32-32-32zm48 256a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm0-128a80 80 0 1 1 0 160 80 80 0 1 1 0-160zM480 448c-17.7 0-32 14.3-32 32H608c0-17.7-14.3-32-32-32H480zm-64 32c0-35.3 28.7-64 64-64h48 48c35.3 0 64 28.7 64 64c0 17.7-14.3 32-32 32H448c-17.7 0-32-14.3-32-32zM160 304a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM32 304a80 80 0 1 1 160 0A80 80 0 1 1 32 304zm0 176H192c0-17.7-14.3-32-32-32H64c-17.7 0-32 14.3-32 32zm32-64h48 48c35.3 0 64 28.7 64 64c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32c0-35.3 28.7-64 64-64z\"]\n};\nvar faPodcast = {\n prefix: 'fal',\n iconName: 'podcast',\n icon: [448, 512, [], \"f2ce\", \"M416 224c0 71.3-38.8 133.5-96.5 166.6c-1.4 11.5-3.2 23.4-5 34.8l-.6 3.8C392.8 394.7 448 315.8 448 224C448 100.3 347.7 0 224 0S0 100.3 0 224c0 91.8 55.2 170.6 134.2 205.3l-.6-3.7c-1.9-11.5-3.7-23.5-5.1-35C70.8 357.5 32 295.3 32 224C32 118 118 32 224 32s192 86 192 192zm-48 0c0-79.5-64.5-144-144-144S80 144.5 80 224c0 42.4 18.3 80.5 47.5 106.9c1.6-7.1 4.3-13.9 8.1-20.3c2.1-3.5 4.5-6.7 7-9.7c-19-20.1-30.6-47.1-30.6-76.9c0-61.9 50.1-112 112-112s112 50.1 112 112c0 29.8-11.6 56.8-30.6 76.9c2.5 2.9 4.9 6.1 7 9.7c3.8 6.3 6.4 13.1 8.1 20.3C349.7 304.5 368 266.4 368 224zM224 192a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 96a64 64 0 1 0 0-128 64 64 0 1 0 0 128zM209.5 478.2c-3.6-13.6-8.6-37.7-12.7-63c-4.3-26.4-7.3-51.3-7.3-65.7c0-4.3 .9-5.8 1.1-6.1c.2-.3 .7-1.2 2.8-2.3c5.2-2.9 15.3-5.1 30.7-5.1s25.5 2.2 30.7 5.1c2.1 1.1 2.6 2 2.8 2.3c.2 .3 1.1 1.8 1.1 6.1c0 14.3-2.9 39.2-7.3 65.6c-4.1 25.2-9.1 49.4-12.8 63.1c-1 .4-2.5 .8-4.9 1.2c-2.7 .4-5.9 .6-9.7 .6s-7-.2-9.7-.6c-2.3-.4-3.9-.8-4.9-1.2zm-30.6 9.5c5.3 19.8 25.5 24.3 45.1 24.3s39.8-4.6 45.1-24.3c8.1-29.9 21.5-103.9 21.5-138.2c0-36.5-32.4-45.5-66.6-45.5s-66.6 9-66.6 45.5c0 34.4 13.4 108.5 21.5 138.2z\"]\n};\nvar faBee = {\n prefix: 'fal',\n iconName: 'bee',\n icon: [576, 512, [], \"e0b2\", \"M219.3 4.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l31.5 31.5C215.6 73 208 91.6 208 112c0 3 .2 6 .5 8.9C185.7 105 157 96 128 96C63 96 0 140.9 0 208c0 61.9 53.6 104.9 112.9 111.2c-.6-5.1-.9-10.2-.9-15.2c0-5.7 .3-11.4 .8-17C66.7 280.9 32 247.6 32 208c0-43.8 42.5-80 96-80c40.8 0 75.2 21.1 89.3 50.5C173.5 203.3 144 250.2 144 304c0 83.8 103.6 179.7 129.9 202.8c3.9 3.4 8.9 5.2 14.1 5.2s10.2-1.8 14.1-5.2C328.4 483.7 432 387.8 432 304c0-53.8-29.5-100.7-73.3-125.5c14-29.5 48.5-50.5 89.3-50.5c53.5 0 96 36.2 96 80c0 39.6-34.7 72.9-80.8 79c.5 5.6 .8 11.3 .8 17c0 5-.3 10.1-.9 15.2C522.4 312.9 576 269.9 576 208c0-67.1-63-112-128-112c-29 0-57.7 9-80.5 24.9c.3-2.9 .5-5.9 .5-8.9c0-20.4-7.6-39-20.2-53.2l31.5-31.5c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L321.9 39.5C311.6 34.7 300.1 32 288 32s-23.6 2.7-33.9 7.5L219.3 4.7zM288 64a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM177.1 288c1.6-11.3 4.9-22.1 9.6-32H389.2c4.7 9.9 8 20.7 9.6 32H177.1zm32.5-64c20.2-19.8 47.9-32 78.4-32s58.2 12.2 78.4 32H209.6zm188.7 96c-2 10.2-5.7 20.9-10.9 32H188.5c-5.2-11.1-8.9-21.8-10.9-32H398.4zm-29 64c-5.4 8.1-11.3 16.3-17.6 24.5c-2 2.6-4 5.1-6 7.5H230.3c-2-2.5-4-5-6-7.5c-6.4-8.1-12.3-16.3-17.6-24.5H369.3zm-52.1 64c-11.4 11.8-21.7 21.6-29.2 28.5c-7.6-6.9-17.9-16.6-29.2-28.5h58.5z\"]\n};\nvar faTemperatureFull = {\n prefix: 'fal',\n iconName: 'temperature-full',\n icon: [320, 512, [\"temperature-4\", \"thermometer-4\", \"thermometer-full\"], \"f2c7\", \"M160 32c-35.3 0-64 28.7-64 64V252.7c0 14.9-7 27.7-16 36.9C60.2 309.8 48 337.5 48 368c0 61.9 50.1 112 112 112s112-50.1 112-112c0-30.5-12.2-58.2-32-78.4c-9-9.2-16-22-16-36.9V96c0-35.3-28.7-64-64-64zM64 96c0-53 43-96 96-96s96 43 96 96V252.7c0 4.6 2.2 9.8 6.8 14.5c25.5 26 41.2 61.6 41.2 100.8c0 79.5-64.5 144-144 144S16 447.5 16 368c0-39.3 15.7-74.9 41.2-100.8c4.6-4.7 6.8-9.9 6.8-14.5V96zm96 304a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0 32c-35.3 0-64-28.7-64-64c0-29.8 20.4-54.9 48-62V96c0-8.8 7.2-16 16-16s16 7.2 16 16V306c27.6 7.1 48 32.2 48 62c0 35.3-28.7 64-64 64z\"]\n};\nvar faTemperature4 = faTemperatureFull;\nvar faThermometer4 = faTemperatureFull;\nvar faThermometerFull = faTemperatureFull;\nvar faBell = {\n prefix: 'fal',\n iconName: 'bell',\n icon: [448, 512, [128276, 61602], \"f0f3\", \"M208 16c0-8.8 7.2-16 16-16s16 7.2 16 16V32.8c80.9 8 144 76.2 144 159.2v29.1c0 43.7 17.4 85.6 48.3 116.6l2.8 2.8c8.3 8.3 13 19.6 13 31.3c0 24.5-19.8 44.3-44.3 44.3H44.3C19.8 416 0 396.2 0 371.7c0-11.7 4.7-23 13-31.3l2.8-2.8C46.6 306.7 64 264.8 64 221.1V192c0-83 63.1-151.2 144-159.2V16zm16 48C153.3 64 96 121.3 96 192v29.1c0 52.2-20.7 102.3-57.7 139.2L35.6 363c-2.3 2.3-3.6 5.4-3.6 8.7c0 6.8 5.5 12.3 12.3 12.3H403.7c6.8 0 12.3-5.5 12.3-12.3c0-3.3-1.3-6.4-3.6-8.7l-2.8-2.8c-36.9-36.9-57.7-87-57.7-139.2V192c0-70.7-57.3-128-128-128zM193.8 458.7c4.4 12.4 16.3 21.3 30.2 21.3s25.8-8.9 30.2-21.3c2.9-8.3 12.1-12.7 20.4-9.8s12.7 12.1 9.8 20.4C275.6 494.2 251.9 512 224 512s-51.6-17.8-60.4-42.7c-2.9-8.3 1.4-17.5 9.8-20.4s17.5 1.4 20.4 9.8z\"]\n};\nvar faCandyBar = {\n prefix: 'fal',\n iconName: 'candy-bar',\n icon: [640, 512, [127851, \"chocolate-bar\"], \"e3e8\", \"M155.5 74.7c2.3-6.4 8.3-10.7 15.1-10.7H320h16 16H576c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H352 336 320 64c-35.3 0-64-28.7-64-64V234.5c0-6.8 4.3-12.8 10.7-15.1C41.8 208.5 64 178.8 64 144c0-8.8 7.2-16 16-16c34.8 0 64.5-22.2 75.5-53.3zM192 96v96H320V96H192zm-32 30.4c-17 17.4-39.7 29.2-65 32.6c-1.6 11.7-4.9 22.8-9.8 33H160V126.4zm-96 96c-9.2 9.4-20 17.1-32 22.8V320H160V224H64v-1.6zM32 352v32c0 17.7 14.3 32 32 32h96V352H32zm160 64H320V352H192v64zm128-96V224H192v96H320zm32 96H576c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32H352V416z\"]\n};\nvar faChocolateBar = faCandyBar;\nvar faXmarkLarge = {\n prefix: 'fal',\n iconName: 'xmark-large',\n icon: [448, 512, [], \"e59b\", \"M420.7 36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L246.6 256 443.3 452.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L224 278.6 27.3 475.3c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L201.4 256 4.7 59.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L224 233.4 420.7 36.7z\"]\n};\nvar faPinata = {\n prefix: 'fal',\n iconName: 'pinata',\n icon: [512, 512, [], \"e3c3\", \"M160 48c0-26.5 21.5-48 48-48s48 21.5 48 48V224H416c53 0 96 43 96 96V464c0 26.5-21.5 48-48 48H432c-26.5 0-48-21.5-48-48V448c0-17.7-14.3-32-32-32H256c-17.7 0-32 14.3-32 32v16c0 26.5-21.5 48-48 48H144c-26.5 0-48-21.5-48-48V225.9L38.9 197.3C15.1 185.4 0 161 0 134.4C0 95.5 31.5 64 70.4 64H160V48zm96 336h96 3.7c10.2 0 20.3 1.9 29.7 5.7l23.1 9.2 36.9-12.3c7.2-2.4 15-2.2 22 .6l12.6 5V342.5c-4.7-.1-9.3-1.2-13.6-3.4l-19.1-9.6-26.7 10.7c-8.5 3.4-18 3-26.2-1.1l-19.1-9.6-26.7 10.7c-8.5 3.4-18 3-26.2-1.1l-19.1-9.6-26.7 10.7c-8.5 3.4-18 3-26.2-1.1l-19.1-9.6-26.7 10.7c-8.5 3.4-18 3-26.2-1.1l-19.1-9.6L128 342v50.3l12.6-5c7-2.8 14.8-3 22-.6L199.5 399l23.1-9.2c9.4-3.8 19.5-5.7 29.7-5.7H256zM128 307.6l19.4-7.8c8.5-3.4 18-3 26.2 1.1l19.1 9.6 26.7-10.7c8.5-3.4 18-3 26.2 1.1l19.1 9.6 26.7-10.7c8.5-3.4 18-3 26.2 1.1l19.1 9.6 26.7-10.7c8.5-3.4 18-3 26.2 1.1l19.1 9.6 26.7-10.7c8.5-3.4 18-3 26.2 1.1l17.6 8.8C474.2 279.3 447.8 256 416 256H240c-3.5 0-6.7-1.1-9.4-3l-19.3 7.7c-7 2.8-14.8 3-22 .6L152.5 249 128 258.8v48.7zM224 48c0-8.8-7.2-16-16-16s-16 7.2-16 16V80c0 8.8-7.2 16-16 16H70.4C49.2 96 32 113.2 32 134.4c0 14.5 8.2 27.8 21.2 34.3l65.9 33c5.4 2.7 8.8 8.3 8.8 14.3v8.4l12.6-5c7-2.8 14.8-3 22-.6L199.5 231l24.5-9.8V48zM128 426.8V464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V448c0-6 .8-11.9 2.4-17.4c-1.7-.3-3.4-.7-5-1.2L152.5 417 128 426.8zm352 0L455.5 417l-36.9 12.3c-1.6 .6-3.3 1-5 1.2c1.6 5.5 2.4 11.4 2.4 17.4v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V426.8zM152 144a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faFilePpt = {\n prefix: 'fal',\n iconName: 'file-ppt',\n icon: [512, 512, [], \"e64a\", \"M64 480H96v32H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H220.1c12.7 0 24.9 5.1 33.9 14.1L369.9 129.9c9 9 14.1 21.2 14.1 33.9V288H352V192H240c-26.5 0-48-21.5-48-48V32H64C46.3 32 32 46.3 32 64V448c0 17.7 14.3 32 32 32zM351.5 160c-.7-2.8-2.1-5.4-4.2-7.4L231.4 36.7c-2.1-2.1-4.6-3.5-7.4-4.2V144c0 8.8 7.2 16 16 16H351.5zM304 352h32c30.9 0 56 25.1 56 56s-25.1 56-56 56H320v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V448 368c0-8.8 7.2-16 16-16zm32 80c13.3 0 24-10.7 24-24s-10.7-24-24-24H320v48h16zM176 352h32c30.9 0 56 25.1 56 56s-25.1 56-56 56H192v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V448 368c0-8.8 7.2-16 16-16zm32 80c13.3 0 24-10.7 24-24s-10.7-24-24-24H192v48h16zm208-64c0-8.8 7.2-16 16-16h32 32c8.8 0 16 7.2 16 16s-7.2 16-16 16H480V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V384H432c-8.8 0-16-7.2-16-16z\"]\n};\nvar faArrowsFromLine = {\n prefix: 'fal',\n iconName: 'arrows-from-line',\n icon: [448, 512, [], \"e0a4\", \"M235.3 4.7c-3-3-7.1-4.7-11.3-4.7s-8.3 1.7-11.3 4.7l-80 80c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L208 54.6V176c0 8.8 7.2 16 16 16s16-7.2 16-16V54.6l52.7 52.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-80-80zM0 256c0 8.8 7.2 16 16 16H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H16c-8.8 0-16 7.2-16 16zM224 512c4.2 0 8.3-1.7 11.3-4.7l80-80c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L240 457.4 240 336c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 121.4-52.7-52.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l80 80c3 3 7.1 4.7 11.3 4.7z\"]\n};\nvar faSuperscript = {\n prefix: 'fal',\n iconName: 'superscript',\n icon: [512, 512, [], \"f12b\", \"M464 16c0-5.1-2.5-10-6.6-13s-9.5-3.8-14.4-2.2l-48 16c-8.4 2.8-12.9 11.9-10.1 20.2s11.9 12.9 20.2 10.1l26.9-9V160H400c-8.8 0-16 7.2-16 16s7.2 16 16 16h48 48c8.8 0 16-7.2 16-16s-7.2-16-16-16H464V16zM16 64C7.2 64 0 71.2 0 80s7.2 16 16 16H55.2L157 256 55.2 416H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H64c5.5 0 10.6-2.8 13.5-7.4L176 285.8l98.5 154.8c2.9 4.6 8 7.4 13.5 7.4h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H296.8L195 256 296.8 96H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H288c-5.5 0-10.6 2.8-13.5 7.4L176 226.2 77.5 71.4C74.6 66.8 69.5 64 64 64H16z\"]\n};\nvar faBowlSpoon = {\n prefix: 'fal',\n iconName: 'bowl-spoon',\n icon: [512, 512, [129379], \"e3e0\", \"M112 160c-49 0-80-33.1-80-64s31-64 80-64s80 33.1 80 64s-31 64-80 64zm0 32c55.5 0 101.6-34.6 110.5-80H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H222.5C213.6 34.6 167.5 0 112 0C50.1 0 0 43 0 96s50.1 96 112 96zm49.3 271.9c-2.8-8.1-8.7-14.7-16.5-18.4c-61.4-29.2-105-90.1-109.3-162.2l-.6-10.3c-.5-9.2 6.8-16.9 16-16.9H461.1c9.2 0 16.5 7.7 16 16.9l-.6 10.3c-4.2 72.1-47.8 133-109.3 162.2c-7.7 3.7-13.7 10.3-16.5 18.4c-3.3 9.4-12.2 16.1-22.7 16.1H184c-10.4 0-19.4-6.7-22.7-16.1zM50.9 224C23.3 224 1.4 247.2 3 274.8l.6 10.3c4.9 84.1 55.9 155.1 127.5 189.2c7.6 21.9 28.4 37.6 52.9 37.6H328c24.5 0 45.3-15.7 52.9-37.6c71.6-34.1 122.5-105.1 127.5-189.2l.6-10.3c1.6-27.6-20.3-50.8-47.9-50.8H50.9z\"]\n};\nvar faHexagonCheck = {\n prefix: 'fal',\n iconName: 'hexagon-check',\n icon: [512, 512, [], \"e416\", \"M16 288c-11.4-19.8-11.4-44.2 0-64L108.3 64.2c11.4-19.8 32.6-32 55.4-32H348.3c22.9 0 44 12.2 55.4 32L496 224c11.4 19.8 11.4 44.2 0 64L403.7 447.8c-11.4 19.8-32.6 32-55.4 32H163.7c-22.9 0-44-12.2-55.4-32L16 288zm27.7-48c-5.7 9.9-5.7 22.1 0 32L136 431.8c5.7 9.9 16.3 16 27.7 16H348.3c11.4 0 22-6.1 27.7-16L468.3 272c5.7-9.9 5.7-22.1 0-32L376 80.2c-5.7-9.9-16.3-16-27.7-16l-184.6 0c-11.4 0-22 6.1-27.7 16L43.7 240zm319.6-36.7l-128 128c-6.2 6.2-16.4 6.2-22.6 0l-64-64c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L224 297.4 340.7 180.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faPlugCircleXmark = {\n prefix: 'fal',\n iconName: 'plug-circle-xmark',\n icon: [576, 512, [], \"e560\", \"M128 16c0-8.8-7.2-16-16-16s-16 7.2-16 16v96h32V16zm160 0c0-8.8-7.2-16-16-16s-16 7.2-16 16v96h32V16zM16 144c-8.8 0-16 7.2-16 16s7.2 16 16 16H32v64c0 83 63.1 151.2 144 159.2V496c0 8.8 7.2 16 16 16s16-7.2 16-16V399.2c17.3-1.7 33.7-6.2 48.9-12.9c-.6-6-.9-12.1-.9-18.3c0-6 .3-11.8 .9-17.6c-19 11.2-41.2 17.6-64.9 17.6c-70.7 0-128-57.3-128-128V176H320v56.2c9.8-8.1 20.6-15.2 32-21V176h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H352 320 64 32 16zM320 368a112 112 0 1 1 224 0 112 112 0 1 1 -224 0zm256 0a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-84.7-36.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L432 345.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L409.4 368l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L432 390.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L454.6 368l36.7-36.7z\"]\n};\nvar faStarOfLife = {\n prefix: 'fal',\n iconName: 'star-of-life',\n icon: [512, 512, [], \"f621\", \"M192 48c0-26.5 21.5-48 48-48h32c26.5 0 48 21.5 48 48v97.1l84.1-48.6c23-13.3 52.3-5.4 65.6 17.6l16 27.7c13.3 23 5.4 52.3-17.6 65.6L384 256l84.1 48.6c23 13.3 30.8 42.6 17.6 65.6l-16 27.7c-13.3 23-42.6 30.8-65.6 17.6L320 366.9V464c0 26.5-21.5 48-48 48H240c-26.5 0-48-21.5-48-48V366.9l-84.1 48.6c-23 13.3-52.3 5.4-65.6-17.6l-16-27.7c-13.3-23-5.4-52.3 17.6-65.6L128 256 43.9 207.4 51.6 194l-7.7 13.4c-23-13.3-30.8-42.6-17.6-65.6l16-27.7c13.3-23 42.6-30.8 65.6-17.6L192 145.1V48zm48-16c-8.8 0-16 7.2-16 16V172.9c0 5.7-3 11-8 13.9s-11 2.9-16 0L91.9 124.3c-7.7-4.4-17.4-1.8-21.9 5.9L54 157.9c-4.4 7.7-1.8 17.4 5.9 21.9L168 242.1c5 2.9 8 8.1 8 13.9s-3 11-8 13.9L59.9 332.3c-7.7 4.4-10.3 14.2-5.9 21.9l16 27.7c4.4 7.7 14.2 10.3 21.9 5.9L200 325.3c5-2.9 11-2.9 16 0s8 8.1 8 13.9V464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V339.1c0-5.7 3-11 8-13.9s11-2.9 16 0l108.1 62.4c7.7 4.4 17.4 1.8 21.9-5.9l16-27.7c4.4-7.7 1.8-17.4-5.9-21.9L344 269.9c-5-2.9-8-8.1-8-13.9s3-11 8-13.9l108.1-62.4c7.7-4.4 10.3-14.2 5.9-21.9l-16-27.7c-4.4-7.7-14.2-10.3-21.9-5.9L312 186.7c-5 2.9-11 2.9-16 0s-8-8.1-8-13.9V48c0-8.8-7.2-16-16-16H240z\"]\n};\nvar faPhoneSlash = {\n prefix: 'fal',\n iconName: 'phone-slash',\n icon: [640, 512, [], \"f3dd\", \"M480 510.9c-95.4-6.7-182.6-43.3-252.2-100.5L253.5 390c70.9 56.3 160.6 89.9 258.1 90l.3 0c3.8 0 7-2.6 7.8-6.3l24-112c.8-3.7-1.2-7.5-4.7-9l-112-48c-3.3-1.4-7.1-.5-9.3 2.3l-33.2 40.6c-9.9 12.1-27.2 15.3-40.8 7.4c-8.7-5-17.1-10.4-25.3-16.2L344.8 318c4.9 3.2 9.9 6.3 15 9.3L393 286.7c11.3-13.8 30.3-18.5 46.7-11.4l112 48c17.6 7.5 27.4 26.5 23.4 45.1l-24 112c-4 18.4-20.2 31.6-39.1 31.6l0 0c-6.1 0-12.2-.1-18.3-.4l-.1 0h0c-4.6-.2-9.1-.4-13.7-.8zM141.2 315.6C92.5 243.9 64 157.3 64 64v0c0-18.9 13.2-35.2 31.6-39.1l112-24c18.7-4 37.6 5.8 45.1 23.4l48 112c7 16.4 2.4 35.4-11.4 46.7l-40.6 33.2c1.9 3.3 3.9 6.6 6 9.8l-25.2 19.9c-2.9-4.5-5.7-9.1-8.4-13.7c-7.9-13.6-4.7-30.9 7.4-40.8l40.6-33.2c2.8-2.3 3.7-6.1 2.3-9.3l-48-112c-1.5-3.5-5.3-5.5-9-4.7l-112 24C98.6 57 96 60.2 96 64v0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0c0 85.8 26 165.5 70.4 231.7l-25.2 19.9zM614.1 3.4c6.9-5.5 17-4.3 22.5 2.6s4.3 17-2.6 22.5l-608 480c-6.9 5.5-17 4.3-22.5-2.6s-4.3-17 2.6-22.5l608-480z\"]\n};\nvar faTrafficLightStop = {\n prefix: 'fal',\n iconName: 'traffic-light-stop',\n icon: [320, 512, [], \"f63a\", \"M64 32C46.3 32 32 46.3 32 64V352c0 70.7 57.3 128 128 128s128-57.3 128-128V64c0-17.7-14.3-32-32-32H64zM0 64C0 28.7 28.7 0 64 0H256c35.3 0 64 28.7 64 64V352c0 88.4-71.6 160-160 160S0 440.4 0 352V64zM136 392a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zm80 0a56 56 0 1 1 -112 0 56 56 0 1 1 112 0zM160 232a24 24 0 1 0 0 48 24 24 0 1 0 0-48zm0 80a56 56 0 1 1 0-112 56 56 0 1 1 0 112zm0-136a56 56 0 1 1 0-112 56 56 0 1 1 0 112z\"]\n};\nvar faPaintRoller = {\n prefix: 'fal',\n iconName: 'paint-roller',\n icon: [512, 512, [], \"f5aa\", \"M352 32c17.7 0 32 14.3 32 32V96c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H352zm64 32c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V96c0 35.3 28.7 64 64 64H352c35.3 0 64-28.7 64-64V64zM240 352c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16H208c-8.8 0-16-7.2-16-16V368c0-8.8 7.2-16 16-16h32zm-32-32c-26.5 0-48 21.5-48 48v96c0 26.5 21.5 48 48 48h32c26.5 0 48-21.5 48-48V368c0-26.5-21.5-48-48-48V288c0-17.7 14.3-32 32-32H448c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64V96c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H272c-35.3 0-64 28.7-64 64v32z\"]\n};\nvar faAccentGrave = {\n prefix: 'fal',\n iconName: 'accent-grave',\n icon: [192, 512, [], \"60\", \"M64 65.3C64 46.9 78.9 32 97.3 32c16.1 0 30 11.6 32.8 27.5l22.5 126.2c.6 3.3-1.9 6.3-5.3 6.3c-1.7 0-3.4-.8-4.4-2.3L70.4 86.9C66.2 81 64 74 64 66.8V65.3zm-32 0v1.5c0 13.8 4.3 27.3 12.2 38.5l72.6 102.9c7 9.9 18.4 15.8 30.5 15.8c23.3 0 40.9-21 36.8-43.9L161.6 53.8C156.1 22.7 129 0 97.3 0C61.2 0 32 29.2 32 65.3z\"]\n};\nvar faHandshakeAngle = {\n prefix: 'fal',\n iconName: 'handshake-angle',\n icon: [640, 512, [\"hands-helping\"], \"f4c4\", \"M507.3 4.7c6.2 6.2 6.2 16.4 0 22.6L452.7 81.9c-9 9-21.2 14.1-33.9 14.1H304c-35.3 0-64 28.7-64 64v96c0 17.7 14.3 32 32 32s32-14.3 32-32V168c0-8.8 7.2-16 16-16s16 7.2 16 16v24H448c35.3 0 64 28.7 64 64c0 24.5-13.7 45.7-33.9 56.5c1.2 5 1.9 10.2 1.9 15.5c0 29.9-20.5 55-48.3 62.1C428.7 422.6 401.3 448 368 448H237.3c-4.2 0-8.3 1.7-11.3 4.7l-54.6 54.6c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l54.6-54.6c9-9 21.2-14.1 33.9-14.1H368c17.7 0 32-14.3 32-32c0-1.8-.2-3.6-.4-5.4c-.8-4.7 .5-9.5 3.6-13.1s7.6-5.6 12.4-5.6l.4 0c17.7 0 32-14.3 32-32c0-6.1-1.7-11.7-4.6-16.6c-2.7-4.5-3.1-10-.9-14.8s6.5-8.2 11.6-9.2c14.8-2.8 25.9-15.8 25.9-31.4c0-17.7-14.3-32-32-32H336v32c0 35.3-28.7 64-64 64s-64-28.7-64-64V160c0-53 43-96 96-96H418.7c4.2 0 8.3-1.7 11.3-4.7L484.7 4.7c6.2-6.2 16.4-6.2 22.6 0zM125.6 190.3c9.2-24.5 27.6-43.5 50.4-53.8v37.1c-9.1 7.1-16.3 16.7-20.5 27.9l-26.1 69.6c-2.4 6.4-6.2 12.2-11 17.1L27.3 379.3c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l91.1-91.1c1.6-1.6 2.9-3.6 3.7-5.7l26.1-69.6zm509.8-57.6c6.2 6.2 6.2 16.4 0 22.6L543.6 247c-1.2-12.5-4.7-24.4-10.2-35l79.3-79.3c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faHandsHelping = faHandshakeAngle;\nvar faCircle0 = {\n prefix: 'fal',\n iconName: 'circle-0',\n icon: [512, 512, [], \"e0ed\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-384c-53 0-96 43-96 96v64c0 53 43 96 96 96s96-43 96-96V224c0-53-43-96-96-96zm-64 96c0-35.3 28.7-64 64-64s64 28.7 64 64v64c0 35.3-28.7 64-64 64s-64-28.7-64-64V224z\"]\n};\nvar faDialMedLow = {\n prefix: 'fal',\n iconName: 'dial-med-low',\n icon: [576, 512, [], \"e160\", \"M288 56a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM197.5 378.5c-46.2-46.2-49.7-118.8-10.6-169l89.8 89.8c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-89.8-89.8c50.2-39.1 122.9-35.5 169 10.6c50 50 50 131 0 181s-131 50-181 0zM174.9 174.9A160 160 0 1 0 401.1 401.1 160 160 0 1 0 174.9 174.9zM568 288a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM32 312a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM120 96A24 24 0 1 0 72 96a24 24 0 1 0 48 0zm360 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM120 480a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm360 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faLocationDot = {\n prefix: 'fal',\n iconName: 'location-dot',\n icon: [384, 512, [\"map-marker-alt\"], \"f3c5\", \"M352 192c0-88.4-71.6-160-160-160S32 103.6 32 192c0 15.6 5.4 37 16.6 63.4c10.9 25.9 26.2 54 43.6 82.1c34.1 55.3 74.4 108.2 99.9 140c25.4-31.8 65.8-84.7 99.9-140c17.3-28.1 32.7-56.3 43.6-82.1C346.6 229 352 207.6 352 192zm32 0c0 87.4-117 243-168.3 307.2c-12.3 15.3-35.1 15.3-47.4 0C117 435 0 279.4 0 192C0 86 86 0 192 0S384 86 384 192zm-240 0a48 48 0 1 0 96 0 48 48 0 1 0 -96 0zm48 80a80 80 0 1 1 0-160 80 80 0 1 1 0 160z\"]\n};\nvar faMapMarkerAlt = faLocationDot;\nvar faCrab = {\n prefix: 'fal',\n iconName: 'crab',\n icon: [512, 512, [129408], \"e3ff\", \"M112 32C73.3 32 41 59.5 33.6 96h97.1c4.2 0 8.3-1.7 11.3-4.7l6.6-6.6c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-6.6 6.6c-9 9-21.2 14.1-33.9 14.1H32v20.1c0 11.5 6.2 22.1 16.1 27.8l78.8 45C145.1 206 167.5 196 192 193V144c0-8.8 7.2-16 16-16s16 7.2 16 16v48h64V144c0-8.8 7.2-16 16-16s16 7.2 16 16v49c24.5 3.1 46.9 13.1 65.1 28l78.8-45c10-5.7 16.1-16.3 16.1-27.8V128H381.3c-12.7 0-24.9-5.1-33.9-14.1l-6.6-6.6c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l6.6 6.6c3 3 7.1 4.7 11.3 4.7h97.1C471 59.5 438.7 32 400 32H384l25.6 19.2c7.1 5.3 8.5 15.3 3.2 22.4s-15.3 8.5-22.4 3.2l-64-48c-5.5-4.1-7.8-11.3-5.6-17.9S329.1 0 336 0h64c61.9 0 112 50.1 112 112v36.1c0 23-12.3 44.2-32.2 55.6l-72.1 41.2c6 8.3 11.1 17.4 15 27.1h37.5l28.6-14.3c7.9-4 17.5-.7 21.5 7.2s.7 17.5-7.2 21.5l-32 16c-2.2 1.1-4.7 1.7-7.2 1.7H431c.7 5.2 1 10.6 1 16v8l22.2 9.2c1.9 .8 3.7 2 5.2 3.5l32 32c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-29.8-29.8-25.7-10.7-31.1 31.1L421.7 401c2.1 .8 4 2 5.6 3.6l32 32c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-29.6-29.6-49.8-19-15.1 15.1L377.3 451c4.2 3 6.7 7.9 6.7 13v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V472.2L318.1 448H193.9L160 472.2V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V464c0-5.2 2.5-10 6.7-13l35.2-25.1-15.1-15.1-49.8 19L75.3 459.3c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l32-32c1.6-1.6 3.5-2.8 5.6-3.6l39.6-15.1L98.8 354.8 73.1 365.6 43.3 395.3c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l32-32c1.5-1.5 3.2-2.6 5.2-3.5L80 328v-8c0-5.4 .3-10.8 1-16H48c-2.5 0-4.9-.6-7.2-1.7l-32-16c-7.9-4-11.1-13.6-7.2-21.5s13.6-11.1 21.5-7.2L51.8 272H89.3c3.9-9.7 9-18.8 15-27.1L32.2 203.7C12.3 192.3 0 171.1 0 148.1V112C0 50.1 50.1 0 112 0h64c6.9 0 13 4.4 15.2 10.9s-.1 13.7-5.6 17.9l-64 48c-7.1 5.3-17.1 3.9-22.4-3.2s-3.9-17.1 3.2-22.4L128 32H112zM304 224H208c-53 0-96 43-96 96v2.7L205.3 416H306.7L400 322.7V320c0-53-43-96-96-96z\"]\n};\nvar faBoxOpenFull = {\n prefix: 'fal',\n iconName: 'box-open-full',\n icon: [640, 512, [\"box-full\"], \"f49c\", \"M256 32c53 0 96 43 96 96c0 8.8 7.2 16 16 16s16-7.2 16-16C384 57.3 326.7 0 256 0S128 57.3 128 128c0 8.8 7.2 16 16 16s16-7.2 16-16c0-53 43-96 96-96zM80.4 161.5c-14.1-1.6-27.5 6.2-33.1 19.2l-32 74.7C5.4 278.2 18.7 304.4 43 310l159.2 36.7c18.9 4.4 38.6-3.1 49.9-18.9L320 232.9l67.9 95.1c11.3 15.8 31 23.2 49.9 18.9L597 310c24.3-5.6 37.6-31.8 27.8-54.7l-32-74.7c-5.6-13-19-20.8-33.1-19.2L320 189.2 80.4 161.5zm-3.7 31.8l214.5 24.8-65.1 91.2c-3.8 5.3-10.3 7.7-16.6 6.3L50.2 278.9c-4.9-1.1-7.5-6.4-5.6-10.9l32-74.7zM544 348.7v61.8c0 7.3-5 13.7-12.1 15.5L336 475V336c0-8.8-7.2-16-16-16s-16 7.2-16 16V475L108.1 426C101 424.3 96 417.9 96 410.5V348.7l-32-9.1v71c0 22 15 41.2 36.4 46.6l208 52c7.6 1.9 15.6 1.9 23.3 0l208-52c21.4-5.3 36.4-24.5 36.4-46.6v-71l-32 9.1zM348.8 218.1l214.5-24.8 32 74.7c2 4.6-.7 9.8-5.6 10.9L430.6 315.6c-6.3 1.5-12.9-1-16.6-6.3l-65.1-91.2zm146.4-181c2.8-8.4-1.7-17.4-10.1-20.2s-17.4 1.7-20.2 10.1l-32 96c-2.8 8.4 1.7 17.4 10.1 20.2s17.4-1.7 20.2-10.1l32-96z\"]\n};\nvar faBoxFull = faBoxOpenFull;\nvar faFile = {\n prefix: 'fal',\n iconName: 'file',\n icon: [384, 512, [128196, 128459, 61462], \"f15b\", \"M352 448V192H240c-26.5 0-48-21.5-48-48V32H64C46.3 32 32 46.3 32 64V448c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32zm-.5-288c-.7-2.8-2.1-5.4-4.2-7.4L231.4 36.7c-2.1-2.1-4.6-3.5-7.4-4.2V144c0 8.8 7.2 16 16 16H351.5zM0 64C0 28.7 28.7 0 64 0H220.1c12.7 0 24.9 5.1 33.9 14.1L369.9 129.9c9 9 14.1 21.2 14.1 33.9V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64z\"]\n};\nvar faGreaterThan = {\n prefix: 'fal',\n iconName: 'greater-than',\n icon: [384, 512, [62769], \"3e\", \"M1.7 72.8c-4 7.9-.7 17.5 7.2 21.5L332.2 256 8.8 417.7c-7.9 4-11.1 13.6-7.2 21.5s13.6 11.1 21.5 7.2l352-176c5.4-2.7 8.8-8.3 8.8-14.3s-3.4-11.6-8.8-14.3l-352-176c-7.9-4-17.5-.7-21.5 7.2z\"]\n};\nvar faQuotes = {\n prefix: 'fal',\n iconName: 'quotes',\n icon: [576, 512, [], \"e234\", \"M0 88C0 39.4 39.4 0 88 0h8c8.8 0 16 7.2 16 16s-7.2 16-16 16H88C57.1 32 32 57.1 32 88V98.7C37 97 42.4 96 48 96H80c26.5 0 48 21.5 48 48v32c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48v-8V144 88zm32 56v24 8c0 8.8 7.2 16 16 16H80c8.8 0 16-7.2 16-16V144c0-8.8-7.2-16-16-16H48c-8.8 0-16 7.2-16 16zM160 88c0-48.6 39.4-88 88-88h8c8.8 0 16 7.2 16 16s-7.2 16-16 16h-8c-30.9 0-56 25.1-56 56V98.7c5-1.8 10.4-2.7 16-2.7h32c26.5 0 48 21.5 48 48v32c0 26.5-21.5 48-48 48H208c-26.5 0-48-21.5-48-48v-8V144 88zm32 80v8c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V144c0-8.8-7.2-16-16-16H208c-8.8 0-16 7.2-16 16v24zM576 424c0 48.6-39.4 88-88 88h-8c-8.8 0-16-7.2-16-16s7.2-16 16-16h8c30.9 0 56-25.1 56-56V413.3c-5 1.8-10.4 2.7-16 2.7H496c-26.5 0-48-21.5-48-48V336c0-26.5 21.5-48 48-48h32c26.5 0 48 21.5 48 48v8 24 56zm-32-56V344v-8c0-8.8-7.2-16-16-16H496c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16zM416 424c0 48.6-39.4 88-88 88h-8c-8.8 0-16-7.2-16-16s7.2-16 16-16h8c30.9 0 56-25.1 56-56V413.3c-5 1.8-10.4 2.7-16 2.7H336c-26.5 0-48-21.5-48-48V336c0-26.5 21.5-48 48-48h32c26.5 0 48 21.5 48 48v8 24 56zm-32-80v-8c0-8.8-7.2-16-16-16H336c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V344z\"]\n};\nvar faPretzel = {\n prefix: 'fal',\n iconName: 'pretzel',\n icon: [512, 512, [129384], \"e441\", \"M149.4 64C84.6 64 32 116.6 32 181.4c0 64.6 28 122.7 72.7 162.8l27.6-39.9C100.1 273.3 80 229.7 80 181.4c0-38.3 31.1-69.4 69.4-69.4H156c42 0 76 34 76 76v3.6c0 16.2-4.9 32-14.2 45.3l-18.2 26.3-33 47.6 0 0-45.6 65.8 0 0L92.3 418.3c-7.5 10.9-4.8 25.8 6.1 33.4s25.8 4.8 33.4-6.1l34.5-49.8c4-5.8 11.3-8.3 18-6.1c20.9 6.7 43.2 10.3 66.4 10.3H256h5.4c15.5 0 30.6-1.6 45.1-4.7l-30.4-44c-4.8 .4-9.7 .6-14.7 .6H256h-5.4c-8.4 0-16.6-.6-24.7-1.8c-5.5-.8-10.2-4.4-12.4-9.4s-1.6-10.9 1.5-15.5l27.8-40.1c3-4.3 7.9-6.9 13.2-6.9s10.2 2.6 13.2 6.9l13 18.8 14.7 21.3 48.9 70.6 34.5 49.8 0 0c7.5 10.9 22.5 13.6 33.4 6.1s13.6-22.5 6.1-33.4l-28.8-41.6c-4.9-7-3.4-16.6 3.4-21.8C446.5 315 480 252.1 480 181.4C480 116.6 427.4 64 362.6 64H356c-34.7 0-66 14.2-88.6 37.2c-3 3.1-7.1 4.8-11.4 4.8s-8.4-1.7-11.4-4.8C222 78.2 190.7 64 156 64h-6.6zM326.1 423.6c-20.6 5.5-42.3 8.4-64.7 8.4H256h-5.4c-22.3 0-44-2.9-64.7-8.4L158 463.9c-17.6 25.4-52.5 31.8-77.9 14.2S48.4 425.6 66 400.1l0 0 20.4-29.5C33.5 324.7 0 257 0 181.4C0 98.9 66.9 32 149.4 32H156c38 0 72.9 13.6 100 36.3C283.1 45.6 318 32 356 32h6.6C445.1 32 512 98.9 512 181.4c0 75.6-33.5 143.3-86.3 189.3L446 400.1c17.6 25.4 11.3 60.3-14.2 77.9s-60.3 11.3-77.9-14.2l0 0-27.9-40.3zM173.3 245l18.2-26.3c5.5-8 8.5-17.4 8.5-27.1V188c0-24.3-19.7-44-44-44h-6.6c-20.7 0-37.4 16.7-37.4 37.4c0 37.3 14.8 71.2 38.8 96.2L173.3 245zM356 144c-24.3 0-44 19.7-44 44v3.6c0 9.7 3 19.1 8.5 27.1l40.7 58.8c24-24.9 38.8-58.8 38.8-96.2c0-20.7-16.7-37.4-37.4-37.4H356zm-76 44c0-42 34-76 76-76h6.6c38.3 0 69.4 31.1 69.4 69.4c0 53.7-24.8 101.5-63.5 132.8c-3.5 2.8-7.9 4-12.3 3.4s-8.3-3.1-10.9-6.7L294.2 237c-9.2-13.3-14.2-29.1-14.2-45.3V188z\"]\n};\nvar faTRex = {\n prefix: 'fal',\n iconName: 't-rex',\n icon: [640, 512, [], \"e629\", \"M439.3 32c-26.8 0-51 16.3-61 41.3l-11.5 28.7c-.8 2-2 3.8-3.5 5.4l-48 48c-3 3-7.1 4.7-11.3 4.7H267.9c-38.4 0-72.6 24.6-84.7 61.1l-14.4 43.1c-7.9 23.8-30.2 39.9-55.3 39.9c-15.5 0-30.3-6.1-41.2-17.1l-3.6-3.6C55.4 270.1 48 252.1 48 233.4V217.8c-10.5 18.1-16 38.6-16 59.5v3.4C32 346.6 85.4 400 151.4 400h40.7c-.1-1.3-.1-2.6-.1-3.9V368c0-8.8 7.2-16 16-16s16 7.2 16 16v28.1c0 8.5 3.4 16.6 9.4 22.6l58.9 58.9c1.5 1.5 3.5 2.3 5.7 2.3H384v-8c0-13.3-10.7-24-24-24h-8c-6.9 0-13-4.4-15.2-10.9l-16-48c-2.2-6.5 .1-13.7 5.6-17.9C342 359.5 352 340.9 352 320c0-35.3-28.7-64-64-64c-8.8 0-16-7.2-16-16s7.2-16 16-16c53 0 96 43 96 96c0 27.2-11.3 51.7-29.4 69.2l9 27C392.8 418 416 442.3 416 472v8c0 17.7-14.3 32-32 32H297.9c-10.6 0-20.8-4.2-28.3-11.7l-58.9-58.9c-2.9-2.9-5.5-6-7.7-9.4H151.4C67.8 432 0 364.2 0 280.6v-3.4c0-27.3 7.4-54 21.4-77.4l6.6-11c14.6-24.3 51.9-14 51.9 14.4v30.2c0 10.2 4.1 20.1 11.3 27.3l3.6 3.6c4.9 4.9 11.6 7.7 18.6 7.7c11.3 0 21.4-7.2 24.9-18l14.4-43.1c16.5-49.5 62.9-82.9 115.1-82.9h29.5l41-41 10.2-25.6C363.4 24.3 399.4 0 439.3 0c10.7 0 21.4 1.8 31.4 5.2C478.5 1.9 487 0 496 0c23.7 0 44.4 12.9 55.4 32H560c44.2 0 80 35.8 80 80v32c0 24.1-17.7 44-40.8 47.5l-13.8 13.8c-12 12-28.3 18.7-45.3 18.7H470.6L429 265.6l26.8 15.3c15 8.5 24.2 24.5 24.2 41.7V336c0 8.8-7.2 16-16 16s-16-7.2-16-16V322.6c0-5.7-3.1-11-8.1-13.9l-26.7-15.3c-3.1-14.7-8.7-28.5-16.4-40.9l55.9-55.9c3-3 7.1-4.7 11.3-4.7h76.1c2.6 0 5.2-.3 7.7-.9c-9.2-1.8-17.8-6.4-24.5-13.1l-13.3-13.3c-3-3-7.1-4.7-11.3-4.7H480c-8.8 0-16-7.2-16-16s7.2-16 16-16h18.7c12.7 0 24.9 5.1 33.9 14.1l13.3 13.3c3 3 7.1 4.7 11.3 4.7H592c8.8 0 16-7.2 16-16V112c0-26.5-21.5-48-48-48H541.3c-6.8 0-12.8-4.3-15.1-10.7C521.8 40.9 509.9 32 496 32c-6 0-11.5 1.6-16.3 4.4c-4.4 2.6-9.8 2.9-14.5 .9c-8.2-3.5-17-5.4-26-5.4zM480 80a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faPersonSwimming = {\n prefix: 'fal',\n iconName: 'person-swimming',\n icon: [576, 512, [127946, \"swimmer\"], \"f5c4\", \"M104 128a40 40 0 1 1 0 80 40 40 0 1 1 0-80zm0 112a72 72 0 1 0 0-144 72 72 0 1 0 0 144zm29.8 122.8c-9.7-6.6-18-14-25.9-21.9c-6.6-6.5-17.2-6.5-23.8 0c-7.9 7.9-16.1 15.2-25.9 21.9c-12.8 8.7-28.1 16.6-44 19.8C6.4 384.1 0 390.4 0 398.2c0 9.8 8 17.9 17.7 16.2c23.1-4 43.6-15 58.5-25.2c7.9-5.4 14.6-10.8 19.8-15.3c5.1 4.5 11.9 9.9 19.8 15.3C134.4 401.9 161.7 416 192 416s57.5-14.1 76.2-26.8c7.9-5.4 14.6-10.8 19.8-15.3c5.1 4.5 11.9 9.9 19.8 15.3C326.4 401.9 353.7 416 384 416s57.5-14.1 76.2-26.8c7.9-5.4 14.6-10.8 19.8-15.3c5.1 4.5 11.9 9.9 19.8 15.3c15 10.2 35.4 21.2 58.5 25.2c9.7 1.7 17.7-6.4 17.7-16.2c0-7.9-6.4-14.1-14.1-15.7c-16-3.1-31.3-11.1-44.1-19.8c-9.8-6.7-18-14-26-21.9c-6.6-6.5-17.2-6.5-23.7 0c-7.9 7.9-16.1 15.2-25.9 21.9C425.6 374 404.9 384 384 384s-41.7-9.9-58.2-21.2c-9.8-6.7-18-14-26-21.9c-6.6-6.5-17.2-6.5-23.7 0c-7.9 7.9-16.1 15.2-25.9 21.9C233.6 374 212.9 384 192 384s-41.7-9.9-58.2-21.2zM258.4 185L412.3 315.5c10.7-3.5 21.4-8.8 30.9-15.4l.2-.2-163-138.3C309.5 140.5 345.3 128 384 128h80c8.8 0 16-7.2 16-16s-7.2-16-16-16H384c-114.9 0-208 93.1-208 208v14.8c5.5 1.1 10.9 1.7 16 1.7c5.4 0 10.7-.5 16-1.6V304c0-46.8 18.3-89.4 48.1-121l2.3 2z\"]\n};\nvar faSwimmer = faPersonSwimming;\nvar faArrowDown = {\n prefix: 'fal',\n iconName: 'arrow-down',\n icon: [384, 512, [8595], \"f063\", \"M180.7 475.3c6.2 6.2 16.4 6.2 22.6 0l176-176c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L208 425.4 208 48c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 377.4L27.3 276.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l176 176z\"]\n};\nvar faUserRobotXmarks = {\n prefix: 'fal',\n iconName: 'user-robot-xmarks',\n icon: [448, 512, [], \"e4a7\", \"M240 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V64H144c-44.2 0-80 35.8-80 80v96c0 44.2 35.8 80 80 80H304c44.2 0 80-35.8 80-80V144c0-44.2-35.8-80-80-80H240V16zM96 144c0-26.5 21.5-48 48-48H304c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48V256c0-8.8-7.2-16-16-16s-16 7.2-16 16v32H240V256c0-8.8-7.2-16-16-16s-16 7.2-16 16v32H176V256c0-8.8-7.2-16-16-16s-16 7.2-16 16v32c-26.5 0-48-21.5-48-48V144zM16 128c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V144c0-8.8-7.2-16-16-16zm432 16c0-8.8-7.2-16-16-16s-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V144zM96 384H352c35.3 0 64 28.7 64 64v16c0 8.8-7.2 16-16 16H368V448c0-17.7-14.3-32-32-32H288 224 160 112c-17.7 0-32 14.3-32 32v32H48c-8.8 0-16-7.2-16-16V448c0-35.3 28.7-64 64-64zm16 64h32v32H112V448zm96 0v32H176V448h32zm16 64h64 48 32 32c26.5 0 48-21.5 48-48V448c0-53-43-96-96-96H96c-53 0-96 43-96 96v16c0 26.5 21.5 48 48 48H80h32 48 64zm16-64h32v32H240V448zm96 0v32H304V448h32zM137.3 118.7c-5.2-5.2-13.5-5.2-18.7 0s-5.2 13.5 0 18.7L141.3 160l-22.7 22.7c-5.2 5.2-5.2 13.5 0 18.7s13.5 5.2 18.7 0L160 178.7l22.7 22.7c5.2 5.2 13.5 5.2 18.7 0s5.2-13.5 0-18.7L178.7 160l22.7-22.7c5.2-5.2 5.2-13.5 0-18.7s-13.5-5.2-18.7 0L160 141.3l-22.7-22.7zm109.3 0c-5.2 5.2-5.2 13.5 0 18.7L269.3 160l-22.7 22.7c-5.2 5.2-5.2 13.5 0 18.7s13.5 5.2 18.7 0L288 178.7l22.7 22.7c5.2 5.2 13.5 5.2 18.7 0s5.2-13.5 0-18.7L306.7 160l22.7-22.7c5.2-5.2 5.2-13.5 0-18.7s-13.5-5.2-18.7 0L288 141.3l-22.7-22.7c-5.2-5.2-13.5-5.2-18.7 0z\"]\n};\nvar faMessageQuote = {\n prefix: 'fal',\n iconName: 'message-quote',\n icon: [512, 512, [\"comment-alt-quote\"], \"e1e4\", \"M192 416c0-17.7-14.3-32-32-32H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H448c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H309.3c-6.9 0-13.7 2.2-19.2 6.4L192 464V416zM64 0C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h64 32v32 48c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L309.3 416H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM208 144v24 24H160V144h48zm-48 80h48c-.9 21.2-15.6 39.4-36.3 44.6l-15.5 3.9c-8.6 2.1-13.8 10.8-11.6 19.4s10.8 13.8 19.4 11.6l15.5-3.9C215 290.7 240 258.7 240 222V192 168 144c0-17.7-14.3-32-32-32H160c-17.7 0-32 14.3-32 32v48c0 17.7 14.3 32 32 32zm144-80h48v24 24H304V144zm48 80c-.9 21.2-15.6 39.4-36.3 44.6l-15.5 3.9c-8.6 2.1-13.8 10.8-11.6 19.4s10.8 13.8 19.4 11.6l15.5-3.9C359 290.7 384 258.7 384 222V192 168 144c0-17.7-14.3-32-32-32H304c-17.7 0-32 14.3-32 32v48c0 17.7 14.3 32 32 32h48z\"]\n};\nvar faCommentAltQuote = faMessageQuote;\nvar faCandyCorn = {\n prefix: 'fal',\n iconName: 'candy-corn',\n icon: [640, 512, [], \"f6bd\", \"M480 0c44.1 0 90.4 4.2 132.6 18.1C629 23.5 640 38.8 640 56c0 20.1-7 52-15.6 84c-9.1 33.8-21.4 73-34.7 110.4c-13.2 37.2-27.9 73.6-41.6 101.3c-13.4 27-32.9 64.3-68.1 64.3s-54.6-37.3-68.1-64.3c-13.8-27.7-28.4-64.1-41.6-101.3C357 213 344.7 173.8 335.6 140C327 108 320 76.1 320 56c0-17.2 11.4-32.6 27.8-38.1C390 4.4 436 0 480 0zM602.6 48.4C564.9 36.1 522.3 32 480 32c-42.1 0-84.4 4.2-122.2 16.3C354.2 49.6 352 53 352 56c0 13.3 4.4 36.2 11.3 63.4c1.2-.2 2.6-.3 4.1-.5c6.2-.8 15.2-1.8 26.2-2.8c22-2 52.6-4.1 86.4-4.1s64.3 2 86.4 4.1c11 1 20 2 26.2 2.8c1.6 .2 2.9 .4 4.1 .5C603.6 92.2 608 69.3 608 56c0-3.4-2.2-6.5-5.4-7.6zM371.8 150.6c8.1 28.2 18.1 59.3 28.7 89.1l1.3 3.7c21.1-1.8 48.4-3.4 78.2-3.4s57.1 1.6 78.2 3.4l1.3-3.7c10.6-29.8 20.6-60.9 28.7-89.1c-5.9-.7-14.4-1.7-24.8-2.6c-21.4-2-50.9-3.9-83.4-3.9s-62.1 2-83.4 3.9c-10.4 1-18.9 1.9-24.8 2.6zm68.8 186.9c6.9 13.8 13.5 26.4 21.5 35.7c7.6 8.8 13.1 10.9 17.9 10.9s10.4-2.1 17.9-10.9c8-9.2 14.6-21.8 21.5-35.7c8.8-17.6 18.1-39.3 27.2-62.9c-19-1.4-41.9-2.5-66.6-2.5s-47.6 1.1-66.6 2.5c9.1 23.6 18.4 45.3 27.2 62.9zM85.1 203.3c31.2-31.2 67-61 106.6-81c15.4-7.7 34-4.7 46.2 7.5c14.2 14.2 31.8 41.8 48.3 70.4c17.5 30.3 36.5 66.8 53.6 102.6c16.9 35.7 32.4 71.8 42.2 101c9.6 28.6 22.2 68.7-2.7 93.6s-65 12.2-93.6 2.7c-29.3-9.8-65.4-25.2-101-42.2c-35.9-17-72.3-36.1-102.6-53.5c-28.7-16.5-56.2-34.2-70.4-48.3c-12.2-12.2-15-31.2-7.3-46.6c20.3-39.4 49.7-75 80.8-106.2zM206 150.9c-35.4 17.9-68.4 45.2-98.3 75.1C78 255.7 51 288.6 32.9 323.9c-1.7 3.4-.8 7.4 1.4 9.5c9.4 9.4 28.8 22.5 52.8 36.8c.7-1 1.6-2.1 2.6-3.3c3.8-4.9 9.5-12 16.5-20.5c14.2-17 34.3-40 58.2-63.9s46.9-44 63.9-58.2c8.5-7.1 15.6-12.7 20.5-16.5c1.2-1 2.3-1.8 3.3-2.6c-14.3-24.1-27.4-43.4-36.8-52.8c-2.4-2.4-6.1-3-9.2-1.5zm-91 235.4c25.7 14.2 54.7 29.1 83.3 42.7l3.5 1.7c13.7-16.2 31.9-36.6 52.9-57.7s41.5-39.2 57.7-52.9l-1.7-3.5c-13.6-28.6-28.5-57.6-42.7-83.3c-4.7 3.7-11.4 9-19.4 15.7c-16.5 13.7-38.7 33.2-61.8 56.2s-42.5 45.3-56.2 61.8c-6.7 8.1-12 14.7-15.7 19.4zm180.8 83.5c14.7 4.9 28.2 9.1 40.4 10c11.6 .9 17-1.6 20.4-5s5.8-8.8 5-20.4c-.9-12.2-5.1-25.7-10-40.4c-6.3-18.6-15.1-40.6-25.3-63.7c-14.4 12.4-31.4 27.8-48.9 45.3s-32.9 34.5-45.3 48.9c23.1 10.2 45.1 19 63.7 25.3z\"]\n};\nvar faFolderMagnifyingGlass = {\n prefix: 'fal',\n iconName: 'folder-magnifying-glass',\n icon: [512, 512, [\"folder-search\"], \"e18b\", \"M32 96c0-17.7 14.3-32 32-32H188.1c8.5 0 16.6 3.4 22.6 9.4l35.9 35.9c12 12 28.3 18.7 45.3 18.7H448c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V96zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H291.9c-8.5 0-16.6-3.4-22.6-9.4L233.4 50.7c-12-12-28.3-18.7-45.3-18.7H64zM240 208a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm0 160c20.7 0 39.9-6.6 55.6-17.7l45.1 45.1c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-45.1-45.1C329.4 311.9 336 292.7 336 272c0-53-43-96-96-96s-96 43-96 96s43 96 96 96z\"]\n};\nvar faFolderSearch = faFolderMagnifyingGlass;\nvar faNotebook = {\n prefix: 'fal',\n iconName: 'notebook',\n icon: [512, 512, [], \"e201\", \"M192 32H128c-17.7 0-32 14.3-32 32v48h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H96v96h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H96v96h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H96v48c0 17.7 14.3 32 32 32h64V32zm32 448H416c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H224V480zm-16 32H128c-35.3 0-64-28.7-64-64V400H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H64V272H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H64V144H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H64V64C64 28.7 92.7 0 128 0h80H416c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H208z\"]\n};\nvar faCircleWifi = {\n prefix: 'fal',\n iconName: 'circle-wifi',\n icon: [512, 512, [], \"e67d\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm122.2-28.7c-6.6 5.9-16.7 5.4-22.6-1.2s-5.4-16.7 1.2-22.6c41.1-37 95.6-59.6 155.2-59.6s114.1 22.6 155.2 59.6c6.6 5.9 7.1 16 1.2 22.6s-16 7.1-22.6 1.2C354.4 195.4 307.5 176 256 176s-98.4 19.4-133.8 51.4zM256 344a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-72c-24.8 0-47.3 9.4-64.4 24.8c-6.6 5.9-16.7 5.4-22.6-1.1s-5.4-16.7 1.1-22.6c22.7-20.5 52.8-33 85.8-33s63.1 12.5 85.8 33c6.6 5.9 7.1 16 1.1 22.6s-16 7.1-22.6 1.1c-17-15.4-39.6-24.8-64.4-24.8z\"]\n};\nvar faDroplet = {\n prefix: 'fal',\n iconName: 'droplet',\n icon: [384, 512, [128167, \"tint\"], \"f043\", \"M192 480c-88.4 0-160-71.6-160-160c0-16.2 6.1-39.2 18.3-67.5c11.9-27.6 28.5-57.5 46.6-86.8c35.9-58 76.4-110.9 94.5-133.7h1.3c18.1 22.9 58.6 75.7 94.5 133.7c18.1 29.2 34.6 59.1 46.6 86.8C345.9 280.8 352 303.8 352 320c0 88.4-71.6 160-160 160zM0 320C0 426 86 512 192 512s192-86 192-192c0-91.2-130.2-262.3-166.6-308.3C211.4 4.2 202.5 0 192.9 0h-1.8c-9.6 0-18.5 4.2-24.5 11.7C130.2 57.7 0 228.8 0 320zm112 0c0-8.8-7.2-16-16-16s-16 7.2-16 16c0 61.9 50.1 112 112 112c8.8 0 16-7.2 16-16s-7.2-16-16-16c-44.2 0-80-35.8-80-80z\"]\n};\nvar faTint = faDroplet;\nvar faBullseyePointer = {\n prefix: 'fal',\n iconName: 'bullseye-pointer',\n icon: [512, 512, [], \"f649\", \"M256 480c123.7 0 224-100.3 224-224S379.7 32 256 32S32 132.3 32 256c0 10.4 .7 20.6 2.1 30.6l-9.6 3.5c-7.8 2.9-14.7 7.7-19.9 13.9C1.5 288.5 0 272.4 0 256C0 114.6 114.6 0 256 0S512 114.6 512 256s-114.6 256-256 256c-16.4 0-32.5-1.5-48.1-4.5c6.2-5.3 11-12.1 13.9-19.9l3.5-9.6c10 1.4 20.2 2.1 30.6 2.1zm-7.7-64.2L260 383.9c68.8-2.1 124-58.6 124-127.9c0-70.7-57.3-128-128-128c-69.3 0-125.8 55.1-127.9 124L96.2 263.7c-.1-2.6-.2-5.1-.2-7.7c0-88.4 71.6-160 160-160s160 71.6 160 160s-71.6 160-160 160c-2.6 0-5.2-.1-7.7-.2zM271 261.5l-79.2 215c-2.3 6.2-8.1 10.3-14.7 10.5s-12.6-3.8-15.1-9.9l-30.5-74L27.3 507.3c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L108.9 380.5 34.9 350c-6.1-2.5-10-8.5-9.9-15.1s4.3-12.4 10.5-14.7l215-79.2c5.9-2.2 12.4-.7 16.8 3.7s5.9 11 3.7 16.8zM143.3 360c3.9 1.6 7.1 4.8 8.7 8.7l24 58.2L229 283 85.1 336l58.2 24z\"]\n};\nvar faEraser = {\n prefix: 'fal',\n iconName: 'eraser',\n icon: [576, 512, [], \"f12d\", \"M353 74.3c-9.4-9.4-24.6-9.4-33.9 0l-111 111L390.6 368l111-111c9.4-9.4 9.4-24.6 0-33.9L353 74.3zM74.3 319c-9.4 9.4-9.4 24.6 0 33.9l88 88c4.5 4.5 10.6 7 17 7H300.7c6.4 0 12.5-2.5 17-7L368 390.6 185.4 208 74.3 319zM296.4 51.7c21.9-21.9 57.3-21.9 79.2 0L524.3 200.4c21.9 21.9 21.9 57.3 0 79.2L355.9 448H528c8.8 0 16 7.2 16 16s-7.2 16-16 16H304v-.1c-1.1 .1-2.2 .1-3.3 .1H179.3c-14.9 0-29.1-5.9-39.6-16.4l-88-88c-21.9-21.9-21.9-57.3 0-79.2L296.4 51.7z\"]\n};\nvar faHexagonImage = {\n prefix: 'fal',\n iconName: 'hexagon-image',\n icon: [512, 512, [], \"e504\", \"M16 288c-11.4-19.8-11.4-44.2 0-64L108.3 64.2c11.4-19.8 32.6-32 55.4-32H348.3c22.9 0 44 12.2 55.4 32L496 224c11.4 19.8 11.4 44.2 0 64L403.7 447.8c-11.4 19.8-32.6 32-55.4 32H163.7c-22.9 0-44-12.2-55.4-32L16 288zm27.7-48c-5.7 9.9-5.7 22.1 0 32l29.6 51.3L116 280.6c15.4-15.4 40.4-15.6 56.1-.5l55.3 53.4 95.4-101.8c15.8-16.9 42.6-16.9 58.4 0l68.3 72.8L468.3 272c5.7-9.9 5.7-22.1 0-32L376 80.2c-5.7-9.9-16.3-16-27.7-16l-184.6 0c-11.4 0-22 6.1-27.7 16L43.7 240zm92 191.3l69.8-74.4-55.6-53.8c-3.1-3-8.1-3-11.2 .1L89.9 352l45.8 79.4zm297.1-97.8l-74.9-79.9c-3.2-3.4-8.5-3.4-11.7 0L164.1 447.8H348.3c11.4 0 22-6.1 27.7-16l56.8-98.3zM208 160a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-64 0a48 48 0 1 1 96 0 48 48 0 1 1 -96 0z\"]\n};\nvar faEarthAmericas = {\n prefix: 'fal',\n iconName: 'earth-americas',\n icon: [512, 512, [127758, \"earth\", \"earth-america\", \"globe-americas\"], \"f57d\", \"M256 480C132.3 480 32 379.7 32 256c0-11.8 .9-23.3 2.7-34.6l3 6.7c9.3 21 27.3 37 49.2 43.9l63 19.7c15.5 4.9 26.1 19.2 26.1 35.5v15c0 17 9.6 32.6 24.8 40.2c4.4 2.2 7.2 6.7 7.2 11.6v22.7c0 26.2 21.2 47.4 47.4 47.4c21.8 0 40.7-14.8 46-35.9l4.4-17.6c2.6-10.2 9.2-19 18.3-24.2l11.6-6.6c19.9-11.4 32.2-32.6 32.2-55.6v-8.3c0-17-6.7-33.3-18.7-45.3l-3.9-3.9c-12-12-28.3-18.7-45.3-18.7H251.3c-5 0-9.9-1.2-14.3-3.4l-45.9-22.9c-2.1-1-3.8-2.7-4.8-4.8l-.7-1.4c-2.3-4.6-.4-10.2 4.2-12.5c2.2-1.1 4.8-1.3 7.1-.5l24.2 8.1c15 5 31.5-.7 40.3-13.8c8.6-12.9 7.7-30-2.2-41.9l-17.9-21.5c-2.5-3-2.5-7.4 .1-10.3l20.1-23.5c13.2-15.4 15.3-37.4 5.2-55.1L259.6 32C337.1 33.2 405 73.8 444.3 134.6l-38.2 15.3c-23.6 9.4-35.7 35.6-27.7 59.7l16.9 50.7c5.2 15.6 18 27.4 33.9 31.4L475 303.2C453.3 404.3 363.5 480 256 480zM48 172.7C77.3 99.7 143.8 45.7 224 34.3l14.9 26.1c3.4 5.9 2.7 13.2-1.7 18.4l-20.1 23.5c-12.7 14.8-12.9 36.6-.4 51.6l17.9 21.5c.9 1.1 1 2.6 .2 3.7c-.8 1.2-2.2 1.7-3.6 1.2L207 172.1c-10.4-3.5-21.7-2.7-31.5 2.2c-20.4 10.2-28.7 35-18.5 55.4l.7 1.4c4.1 8.3 10.9 15 19.2 19.2l45.9 22.9c8.9 4.4 18.7 6.8 28.6 6.8h48.8c8.5 0 16.6 3.4 22.6 9.4l3.9 3.9c6 6 9.4 14.1 9.4 22.6v8.3c0 11.5-6.2 22.1-16.1 27.8l-11.6 6.6c-16.7 9.6-28.8 25.5-33.5 44.2l-4.4 17.6c-1.7 6.9-7.9 11.7-15 11.7c-8.5 0-15.4-6.9-15.4-15.4V393.9c0-17-9.6-32.6-24.8-40.2c-4.4-2.2-7.2-6.7-7.2-11.6v-15c0-30.3-19.7-57-48.6-66.1l-63-19.7c-13.2-4.1-23.9-13.7-29.5-26.3L48 172.7zM480 256c0 5.2-.2 10.3-.5 15.4l-42.6-10.6c-5.3-1.3-9.6-5.3-11.3-10.5l-16.9-50.7c-2.7-8 1.4-16.8 9.2-19.9l41.8-16.7c13 28.3 20.2 59.9 20.2 93.1zM256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512z\"]\n};\nvar faEarth = faEarthAmericas;\nvar faEarthAmerica = faEarthAmericas;\nvar faGlobeAmericas = faEarthAmericas;\nvar faFileSvg = {\n prefix: 'fal',\n iconName: 'file-svg',\n icon: [512, 512, [], \"e64b\", \"M64 480H96v32H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H220.1c12.7 0 24.9 5.1 33.9 14.1L369.9 129.9c9 9 14.1 21.2 14.1 33.9V288H352V192H240c-26.5 0-48-21.5-48-48V32H64C46.3 32 32 46.3 32 64V448c0 17.7 14.3 32 32 32zM351.5 160c-.7-2.8-2.1-5.4-4.2-7.4L231.4 36.7c-2.1-2.1-4.6-3.5-7.4-4.2V144c0 8.8 7.2 16 16 16H351.5zM205.7 352H232c8.8 0 16 7.2 16 16s-7.2 16-16 16H205.7c-7.5 0-13.7 6.1-13.7 13.7c0 5.2 2.9 9.9 7.6 12.2l31.2 15.6c15.5 7.7 25.2 23.5 25.2 40.8c0 25.2-20.4 45.7-45.7 45.7H176c-8.8 0-16-7.2-16-16s7.2-16 16-16h34.3c7.5 0 13.7-6.1 13.7-13.7c0-5.2-2.9-9.9-7.6-12.2l-31.2-15.6C169.8 430.8 160 415 160 397.7c0-25.2 20.4-45.7 45.7-45.7zM456 352h16c22.1 0 40 17.9 40 40v8c0 8.8-7.2 16-16 16s-16-7.2-16-16v-8c0-4.4-3.6-8-8-8H456c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8v-8c-8.8 0-16-7.2-16-16s7.2-16 16-16h16c8.8 0 16 7.2 16 16v24c0 22.1-17.9 40-40 40H456c-22.1 0-40-17.9-40-40V392c0-22.1 17.9-40 40-40zm-152 0c8.8 0 16 7.2 16 16v31.6c0 23 5.5 45.6 16 66c10.5-20.3 16-42.9 16-66V368c0-8.8 7.2-16 16-16s16 7.2 16 16v31.6c0 34.7-10.3 68.7-29.6 97.6l-5.1 7.7c-3 4.5-8 7.1-13.3 7.1s-10.3-2.7-13.3-7.1l-5.1-7.7c-19.3-28.9-29.6-62.9-29.6-97.6V368c0-8.8 7.2-16 16-16z\"]\n};\nvar faCrateApple = {\n prefix: 'fal',\n iconName: 'crate-apple',\n icon: [512, 512, [\"apple-crate\"], \"f6b1\", \"M219.3 27.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-32 32c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l32-32zm192 0c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-32 32c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l32-32zM75 126c6.3-10.4 13.1-14 21-14c9.3 0 23.1 3.9 35.6 8.8c18.2 7.1 38.5 7.1 56.7 0c12.5-4.9 26.4-8.8 35.6-8.8c7.9 0 14.7 3.6 21 14c6.8 11.2 11 28 11 45.5c0 7.1-.5 14-1.5 20.6h32.3c.8-6.7 1.2-13.5 1.2-20.6c0-43.6-20.4-91.4-64-91.4c-15.6 0-34.1 5.9-47.2 11c-10.7 4.2-22.8 4.2-33.5 0C130.1 85.9 111.6 80 96 80c-43.6 0-64 47.8-64 91.4c0 7 .4 13.9 1.2 20.6H65.5c-1-6.6-1.5-13.4-1.5-20.6c0-17.5 4.2-34.2 11-45.5zm403.7 66c.8-6.7 1.2-13.5 1.2-20.6c0-43.6-20.4-91.4-64-91.4c-15.6 0-34.1 5.9-47.2 11c-10.7 4.2-22.8 4.2-33.5 0c-12.4-4.8-29.6-10.3-44.6-11c3.4 4 6.4 8.3 9 12.7c4.5 7.4 8.2 15.3 11.1 23.6c4.3 1.3 8.6 2.8 12.8 4.5c18.2 7.1 38.5 7.1 56.7 0c12.5-4.9 26.4-8.8 35.6-8.8c7.9 0 14.7 3.6 21 14c6.8 11.2 11 28 11 45.5c0 7.1-.5 14-1.5 20.6h32.3zM32 384H480v72c0 13.3-10.7 24-24 24H56c-13.3 0-24-10.7-24-24V384zm0-32V280c0-13.3 10.7-24 24-24H456c13.3 0 24 10.7 24 24v72H32zm480 0V280c0-30.9-25.1-56-56-56H56c-30.9 0-56 25.1-56 56v72 16 16 72c0 30.9 25.1 56 56 56H456c30.9 0 56-25.1 56-56V384 368 352zM96 304a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm336 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32zM96 432a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm336 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faAppleCrate = faCrateApple;\nvar faPersonBurst = {\n prefix: 'fal',\n iconName: 'person-burst',\n icon: [640, 512, [], \"e53b\", \"M456 56a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm80 0A56 56 0 1 0 424 56a56 56 0 1 0 112 0zM467.3 160h25.4c6.8 0 13.3 1.4 19.3 4V320H448V164c6-2.6 12.5-4 19.3-4zM448 496V352h64V496c0 8.8 7.2 16 16 16s16-7.2 16-16V202.2l49.9 93.4c4.2 7.8 13.9 10.7 21.7 6.6s10.7-13.9 6.6-21.7L563.3 170.3c-13.9-26-41-42.3-70.6-42.3H467.3c-29.5 0-56.6 16.3-70.6 42.3L337.9 280.5c-4.2 7.8-1.2 17.5 6.6 21.7s17.5 1.2 21.7-6.6L416 202.1V496c0 8.8 7.2 16 16 16s16-7.2 16-16zM190.5 17.3C187.9 11.6 182.3 8 176 8s-11.9 3.6-14.5 9.3L129.4 87.2 54.7 68.7c-6.1-1.5-12.5 .7-16.3 5.6s-4.6 11.6-1.8 17.2l34.6 68.6L10.3 206.9c-5 3.8-7.2 10.2-5.8 16.2s6.2 10.8 12.3 12.1L92 251l-1.4 76.8c-.1 6.2 3.4 12 9.1 14.7s12.3 1.9 17.1-2.1l59.2-49 59.2 49c4.8 4 11.5 4.8 17.1 2.1s9.2-8.5 9.1-14.7L260 251l75.2-15.8c6.1-1.3 10.9-6 12.3-12.1s-.9-12.4-5.8-16.2l-60.9-46.8 34.6-68.6c2.8-5.6 2.1-12.3-1.8-17.2s-10.3-7.1-16.3-5.6L222.6 87.2 190.5 17.3zm-37.6 95.2L176 62.3l23.1 50.2c3.2 7 10.9 10.7 18.4 8.9l53.7-13.3-24.9 49.4c-3.5 6.9-1.6 15.2 4.5 19.9l43.8 33.7-54.1 11.3c-7.5 1.6-12.9 8.3-12.7 15.9l1 55.3-42.6-35.2c-5.9-4.9-14.5-4.9-20.4 0l-42.6 35.2 1-55.3c.1-7.7-5.2-14.4-12.7-15.9L57.4 211.1l43.8-33.7c6.1-4.7 8-13 4.5-19.9L80.9 108.1l53.7 13.3c7.5 1.8 15.2-1.9 18.4-8.9z\"]\n};\nvar faGameBoard = {\n prefix: 'fal',\n iconName: 'game-board',\n icon: [448, 512, [], \"f867\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm144 16v32h64V112c0-8.8 7.2-16 16-16s16 7.2 16 16v32h64V112c0-8.8 7.2-16 16-16s16 7.2 16 16v32h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H336v64h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H336v64h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H336v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V368H240v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V368H144v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V368H80c-8.8 0-16-7.2-16-16s7.2-16 16-16h32V272H80c-8.8 0-16-7.2-16-16s7.2-16 16-16h32V176H80c-8.8 0-16-7.2-16-16s7.2-16 16-16h32V112c0-8.8 7.2-16 16-16s16 7.2 16 16zm0 128h64V176H144v64zm96 0h64V176H240v64zm0 32v64h64V272H240zm-32 0H144v64h64V272z\"]\n};\nvar faHatChef = {\n prefix: 'fal',\n iconName: 'hat-chef',\n icon: [512, 512, [], \"f86b\", \"M170.9 83.4C187 52.8 219.1 32 256 32s69 20.8 85 51.4c2.5 4.7 7.1 7.9 12.4 8.5s10.5-1.5 13.9-5.5C379.1 72.7 396.5 64 416 64c35.3 0 64 28.7 64 64c0 4-.4 7.8-1 11.6l-.1 .5c-3.5 22.8-14.2 58.4-26.1 93.5c-11.8 34.7-24.3 67.7-31 84.7c-.4 1-1.4 1.8-2.8 1.8H373.8l25.9-141.1c1.6-8.7-4.2-17-12.8-18.6s-17 4.2-18.6 12.8l-26.4 144c-.2 1-.3 1.9-.3 2.9H272V144c0-8.8-7.2-16-16-16s-16 7.2-16 16V320H170.4c0-1-.1-1.9-.3-2.9l-26.4-144c-1.6-8.7-9.9-14.4-18.6-12.8s-14.4 9.9-12.8 18.6L138.2 320H93c-1.4 0-2.4-.8-2.8-1.8c-6.6-17-19.2-50-31-84.7C47.3 198.4 36.6 162.8 33.1 140l-.1-.5c-.7-3.7-1-7.6-1-11.6c0-35.3 28.7-64 64-64c19.5 0 36.9 8.7 48.6 22.4c3.5 4 8.7 6.1 13.9 5.5s9.9-3.8 12.4-8.5zM256 0c-41.9 0-79.1 20.1-102.4 51.2c-16-12-36-19.2-57.6-19.2C43 32 0 75 0 128c0 5.8 .5 11.5 1.5 17.1c4 25.9 15.6 63.8 27.4 98.7c12 35.3 24.7 68.8 31.4 86C65.6 343.4 78.7 352 93 352H419c14.3 0 27.4-8.6 32.6-22.2c6.7-17.2 19.4-50.7 31.4-86c11.8-34.9 23.4-72.8 27.4-98.7c1-5.5 1.5-11.2 1.5-17.1c0-53-43-96-96-96c-21.6 0-41.6 7.2-57.6 19.2C335.1 20.1 297.9 0 256 0zM64 384v64c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V384H416v64c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32V384H64z\"]\n};\nvar faHandBackPointRight = {\n prefix: 'fal',\n iconName: 'hand-back-point-right',\n icon: [512, 512, [], \"e1a1\", \"M512 168c0-30.9-25.1-56-56-56l-200.6 0c-2-3.2-4.2-6.4-6.5-9.5L232 80c-15.1-20.1-38.8-32-64-32l-19.5 0c-53 0-101.7 29.1-126.8 75.7L17.2 132C5.9 153 0 176.4 0 200.3L0 336c0 61.9 50.1 112 112 112l8 0 88 0c35.3 0 64-28.7 64-64c0-2.8-.2-5.6-.5-8.3c19.4-11 32.5-31.8 32.5-55.7c0-5.3-.7-10.5-1.9-15.5c20.2-10.8 33.9-32 33.9-56.5c0-8.5-1.7-16.6-4.7-24L456 224c30.9 0 56-25.1 56-56zm-56-24c13.3 0 24 10.7 24 24s-10.7 24-24 24l-157.5 0c-7.1 0-13.3 4.6-15.3 11.4s.6 14 6.5 18c8.7 5.8 14.3 15.6 14.3 26.7c0 15.6-11.2 28.6-25.9 31.4c-5.1 1-9.5 4.4-11.6 9.2s-1.8 10.3 .9 14.8c2.9 4.8 4.6 10.5 4.6 16.6c0 14.7-10 27.2-23.6 30.9c-4.4 1.2-8.1 4.2-10.1 8.3s-2.2 8.8-.6 13.1c1.4 3.6 2.2 7.6 2.2 11.8c0 17.7-14.3 32-32 32l-88 0-8 0c-44.2 0-80-35.8-80-80l0-135.7c0-18.5 4.6-36.8 13.4-53.1l-14.1-7.6 14.1 7.6 4.5-8.3C69.4 102.6 107.3 80 148.5 80L168 80c15.1 0 29.3 7.1 38.4 19.2L216 112l-48 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l78.3 0 1.7 0 208 0z\"]\n};\nvar faDove = {\n prefix: 'fal',\n iconName: 'dove',\n icon: [512, 512, [128330], \"f4ba\", \"M273 128.8c-.7 5-1 10.1-1 15.2l0 21.6c-5.2-1.6-10.5-3.4-15.9-5.3c-22.5-30-40.1-66.5-45.7-109.4c-9.9 15.5-21.1 37.2-30.5 65c-9.1-8.3-17.2-17.4-24-27.5C171 50.2 188.8 23.8 201.2 9.3c5.2-6 13.4-7.8 21-5.8c10.9 2.9 18 13.1 18.4 24.4c1.3 38.9 13.9 72.5 32.4 100.8zM64.7 42.2C68.8 35.5 76 32 83.2 32c10.7 0 19.3 7.6 21.5 17.2c12.8 56.5 50.9 94.7 94.7 119.9c36.2 20.8 75.4 32.1 104.7 36.8l0-61.9c0-44.2 35.8-80 80-80h99.7C499.3 64 512 76.7 512 92.3c0 5.6-1.7 11-4.7 15.7L480 148.8V288c0 88.4-71.6 160-160 160H248.6l-78.9 60.7c-2.8 2.2-6.2 3.3-9.8 3.3C77.3 512 21.7 466.2 3.2 441.6c-3-4.1-4-9.3-2.5-14.2s5.1-8.7 9.9-10.5l123-44.3C89.2 341.3 32 282.5 32 184C32 108.2 52 62.6 64.7 42.2zM80.9 81.6C72.5 103 64 136.5 64 184c0 103.8 74 156.5 113.7 178.6c5.5 3.1 8.7 9 8.2 15.3s-4.6 11.6-10.5 13.8l-130.7 47c21.4 18.2 59.2 39.8 110 41.2l78.8-60.6c2.8-2.2 6.2-3.3 9.8-3.3H320c70.7 0 128-57.3 128-128V144c0-3.2 .9-6.2 2.7-8.9L476.8 96H384c-26.5 0-48 21.5-48 48l0 80c0 4.5-1.9 8.7-5.2 11.8s-7.7 4.5-12.2 4.2c-33.6-2.8-86.6-15.1-135.3-43c-42.5-24.4-82.7-61.4-102.5-115.3zM360 160a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faSnowflakeDroplets = {\n prefix: 'fal',\n iconName: 'snowflake-droplets',\n icon: [640, 512, [], \"e5c1\", \"M336 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V89.4L267.3 52.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L304 134.6v93.7l-81.1-46.8-21.7-81c-2.3-8.5-11.1-13.6-19.6-11.3s-13.6 11.1-11.3 19.6l13.4 50.1-63.5-36.7c-7.7-4.4-17.4-1.8-21.9 5.9s-1.8 17.4 5.9 21.9l63.5 36.7L117.6 200c-8.5 2.3-13.6 11.1-11.3 19.6s11.1 13.6 19.6 11.3l81-21.7L288 256l-81.1 46.8-81-21.7c-8.5-2.3-17.3 2.8-19.6 11.3S109 309.7 117.6 312l50.1 13.4-45.1 26L137.2 380l46.5-26.8-13.4 50.1c-2.3 8.5 2.8 17.3 11.3 19.6s17.3-2.8 19.6-11.3l21.7-81L304 283.7v93.7l-59.3 59.3c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L304 422.6V496c0 8.8 7.2 16 16 16s16-7.2 16-16V422.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L336 377.4V283.7l81.1 46.8 21.7 81c2.3 8.5 11.1 13.6 19.6 11.3s13.6-11.1 11.3-19.6l-13.4-50.1L502.8 380l14.7-28.5-45.1-26L522.4 312c8.5-2.3 13.6-11.1 11.3-19.6s-11.1-13.6-19.6-11.3l-81 21.7L352 256l81.1-46.8 81 21.7c8.5 2.3 17.3-2.8 19.6-11.3s-2.8-17.3-11.3-19.6l-50.1-13.4 63.5-36.7c7.7-4.4 10.3-14.2 5.9-21.9s-14.2-10.3-21.9-5.9l-63.5 36.7 13.4-50.1c2.3-8.5-2.8-17.3-11.3-19.6s-17.3 2.8-19.6 11.3l-21.7 81L336 228.3V134.6l59.3-59.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L336 89.4V16zM576 377.5l28.4 55.2c2.3 4.5 3.6 9.7 3.6 14.9c0 17.9-14.5 32.3-32 32.3s-32-14.4-32-32.3c0-5.2 1.2-10.4 3.6-14.9L576 377.5zm-18-35l-38.9 75.6c-4.7 9.1-7.1 19.3-7.1 29.5c0 35.3 28.7 64.3 64 64.3s64-29 64-64.3c0-10.2-2.4-20.4-7.1-29.5L594 342.5l-.1-.1-1.9-3.7-6.7-13c-1.8-3.5-5.4-5.7-9.3-5.7s-7.5 2.2-9.3 5.7l-6.7 13-1.9 3.7-.1 .1zM35.6 432.8L64 377.5l28.4 55.2c2.3 4.5 3.6 9.7 3.6 14.9C96 465.6 81.5 480 64 480s-32-14.4-32-32.3c0-5.2 1.2-10.4 3.6-14.9zM7.1 418.1C2.4 427.2 0 437.4 0 447.7C0 483 28.7 512 64 512s64-29 64-64.3c0-10.2-2.4-20.4-7.1-29.5L82 342.5l-.1-.1L80 338.7l-6.7-13c-1.8-3.5-5.4-5.7-9.3-5.7s-7.5 2.2-9.3 5.7l-6.7 13-1.9 3.7-.1 .1L7.1 418.1z\"]\n};\nvar faBatteryEmpty = {\n prefix: 'fal',\n iconName: 'battery-empty',\n icon: [576, 512, [\"battery-0\"], \"f244\", \"M80 128c-26.5 0-48 21.5-48 48V336c0 26.5 21.5 48 48 48H432c26.5 0 48-21.5 48-48V176c0-26.5-21.5-48-48-48H80zM0 176c0-44.2 35.8-80 80-80H432c44.2 0 80 35.8 80 80V336c0 44.2-35.8 80-80 80H80c-44.2 0-80-35.8-80-80V176zm560 16c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V208c0-8.8 7.2-16 16-16z\"]\n};\nvar faBattery0 = faBatteryEmpty;\nvar faGrid4 = {\n prefix: 'fal',\n iconName: 'grid-4',\n icon: [448, 512, [], \"e198\", \"M24 97.6V56H65.6V97.6H24zm0 119.5V175.5H65.6v41.6H24zm0 119.5V294.9H65.6v41.6H24zM24 456V414.4H65.6V456H24zM16 32C7.2 32 0 39.2 0 48v57.6c0 8.8 7.2 16 16 16H73.6c8.8 0 16-7.2 16-16V48c0-8.8-7.2-16-16-16H16zm0 119.5c-8.8 0-16 7.2-16 16v57.6c0 8.8 7.2 16 16 16H73.6c8.8 0 16-7.2 16-16V167.5c0-8.8-7.2-16-16-16H16zM0 286.9v57.6c0 8.8 7.2 16 16 16H73.6c8.8 0 16-7.2 16-16V286.9c0-8.8-7.2-16-16-16H16c-8.8 0-16 7.2-16 16zM16 390.4c-8.8 0-16 7.2-16 16V464c0 8.8 7.2 16 16 16H73.6c8.8 0 16-7.2 16-16V406.4c0-8.8-7.2-16-16-16H16zM143.5 97.6V56h41.6V97.6H143.5zm0 119.5V175.5h41.6v41.6H143.5zm0 119.5V294.9h41.6v41.6H143.5zm0 119.5V414.4h41.6V456H143.5zm-8-424c-8.8 0-16 7.2-16 16v57.6c0 8.8 7.2 16 16 16h57.6c8.8 0 16-7.2 16-16V48c0-8.8-7.2-16-16-16H135.5zm0 119.5c-8.8 0-16 7.2-16 16v57.6c0 8.8 7.2 16 16 16h57.6c8.8 0 16-7.2 16-16V167.5c0-8.8-7.2-16-16-16H135.5zm-16 135.5v57.6c0 8.8 7.2 16 16 16h57.6c8.8 0 16-7.2 16-16V286.9c0-8.8-7.2-16-16-16H135.5c-8.8 0-16 7.2-16 16zm16 103.5c-8.8 0-16 7.2-16 16V464c0 8.8 7.2 16 16 16h57.6c8.8 0 16-7.2 16-16V406.4c0-8.8-7.2-16-16-16H135.5zM262.9 56h41.6V97.6H262.9V56zm0 119.5h41.6v41.6H262.9V175.5zm0 119.5h41.6v41.6H262.9V294.9zm0 119.5h41.6V456H262.9V414.4zM238.9 48v57.6c0 8.8 7.2 16 16 16h57.6c8.8 0 16-7.2 16-16V48c0-8.8-7.2-16-16-16H254.9c-8.8 0-16 7.2-16 16zm0 119.5v57.6c0 8.8 7.2 16 16 16h57.6c8.8 0 16-7.2 16-16V167.5c0-8.8-7.2-16-16-16H254.9c-8.8 0-16 7.2-16 16zm16 103.5c-8.8 0-16 7.2-16 16v57.6c0 8.8 7.2 16 16 16h57.6c8.8 0 16-7.2 16-16V286.9c0-8.8-7.2-16-16-16H254.9zm-16 135.5V464c0 8.8 7.2 16 16 16h57.6c8.8 0 16-7.2 16-16V406.4c0-8.8-7.2-16-16-16H254.9c-8.8 0-16 7.2-16 16zM382.4 97.6V56H424V97.6H382.4zm0 119.5V175.5H424v41.6H382.4zm0 119.5V294.9H424v41.6H382.4zm0 119.5V414.4H424V456H382.4zm-8-424c-8.8 0-16 7.2-16 16v57.6c0 8.8 7.2 16 16 16H432c8.8 0 16-7.2 16-16V48c0-8.8-7.2-16-16-16H374.4zm0 119.5c-8.8 0-16 7.2-16 16v57.6c0 8.8 7.2 16 16 16H432c8.8 0 16-7.2 16-16V167.5c0-8.8-7.2-16-16-16H374.4zm-16 135.5v57.6c0 8.8 7.2 16 16 16H432c8.8 0 16-7.2 16-16V286.9c0-8.8-7.2-16-16-16H374.4c-8.8 0-16 7.2-16 16zm16 103.5c-8.8 0-16 7.2-16 16V464c0 8.8 7.2 16 16 16H432c8.8 0 16-7.2 16-16V406.4c0-8.8-7.2-16-16-16H374.4z\"]\n};\nvar faSocks = {\n prefix: 'fal',\n iconName: 'socks',\n icon: [512, 512, [129510], \"f696\", \"M140.8 465.9C129 475 114.4 480 99.5 480H96c-35.3 0-64-28.7-64-64c0-20.1 9.5-39.1 25.6-51.2l57.6-43.2C143.4 300.4 160 267.3 160 232V128H288V96H160V48c0-8.8 7.2-16 16-16H289.6C292 20.2 297 9.4 303.9 .1c-1-.1-2-.1-3-.1H176c-26.5 0-48 21.5-48 48V232c0 25.2-11.9 48.9-32 64L38.4 339.2C14.2 357.3 0 385.8 0 416c0 53 43 96 96 96h3.5c22 0 43.4-7.3 60.8-20.8l16.1-12.4c-5.4-9.6-9.6-19.9-12.4-30.8H164l-23.2 17.9zM368 0c-26.5 0-48 21.5-48 48V232c0 25.2-11.9 48.9-32 64l-57.6 43.2C206.2 357.3 192 385.8 192 416c0 53 43 96 96 96h3.5c22 0 43.4-7.3 60.8-20.8l116.1-89.7c27.4-21.2 43.5-53.9 43.5-88.6V48c0-26.5-21.5-48-48-48H368zM352 48c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16V96H352V48zm0 80H480V312.9c0 24.8-11.5 48.2-31.1 63.3L332.8 465.9C321 475 306.4 480 291.5 480H288c-35.3 0-64-28.7-64-64c0-20.1 9.5-39.1 25.6-51.2l57.6-43.2C335.4 300.4 352 267.3 352 232V128z\"]\n};\nvar faFaceSunglasses = {\n prefix: 'fal',\n iconName: 'face-sunglasses',\n icon: [512, 512, [], \"e398\", \"M256 480C132.3 480 32 379.7 32 256c0-16.4 1.8-32.5 5.1-47.9l4.4 26.4c5.1 30.9 31.8 53.5 63.1 53.5h78.7c31.3 0 58-22.6 63.1-53.5l8-48c.6-3.5 .9-7.1 .9-10.5h1.3c0 3.5 .3 7 .9 10.5l8 48c5.1 30.9 31.8 53.5 63.1 53.5h78.7c31.3 0 58-22.6 63.1-53.5l4.4-26.4c3.4 15.4 5.1 31.5 5.1 47.9c0 123.7-100.3 224-224 224zm-9.2-336c-11-19-31.5-32-55.4-32H96.7c-4.6 0-9.1 .5-13.4 1.4C124.3 63.7 186.5 32 256 32s131.7 31.7 172.8 81.4c-4.3-.9-8.8-1.4-13.4-1.4H320.7c-24 0-44.5 13-55.4 32H246.8zM256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM141.5 339.9c-6.7 5.8-7.4 15.9-1.6 22.6c22.2 25.7 61 53.5 116.1 53.5s93.8-27.9 116.1-53.5c5.8-6.7 5.1-16.8-1.6-22.6s-16.8-5.1-22.6 1.6C330 362.2 299.4 384 256 384s-74-21.8-91.9-42.5c-5.8-6.7-15.9-7.4-22.6-1.6zM289.1 181.3c-3.3-19.5 11.8-37.3 31.6-37.3h40.7l-36.7 36.7c-4.6 4.6-5.9 11.5-3.5 17.4s8.3 9.9 14.8 9.9h25.4L316 253.4c-9.7-4.2-17.1-13.1-18.9-24.1l-8-48zM358.6 256l52.7-52.7c4.6-4.6 5.9-11.5 3.5-17.4s-8.3-9.9-14.8-9.9H374.6l32-32h8.7c19.8 0 34.8 17.8 31.6 37.3l-8 48C436.3 244.7 423 256 407.3 256H358.6zM96.7 144h40.7l-36.7 36.7c-4.6 4.6-5.9 11.5-3.5 17.4s8.3 9.9 14.8 9.9h25.4L92 253.4c-9.7-4.2-17.1-13.1-18.9-24.1l-8-48C61.8 161.8 76.9 144 96.7 144zm90.7 59.3c4.6-4.6 5.9-11.5 3.5-17.4s-8.3-9.9-14.8-9.9H150.6l32-32h8.7c19.8 0 34.8 17.8 31.6 37.3l-8 48C212.3 244.7 199 256 183.3 256H134.6l52.7-52.7z\"]\n};\nvar faInbox = {\n prefix: 'fal',\n iconName: 'inbox',\n icon: [512, 512, [], \"f01c\", \"M32 416V327.9c0-2.6 .3-5.2 1-7.8l0-.1H134.1l23.2 46.3c5.4 10.8 16.5 17.7 28.6 17.7H326.1c12.1 0 23.2-6.8 28.6-17.7L377.9 320H479l0 .1c.6 2.5 1 5.1 1 7.8V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32zM471 288H377.9c-12.1 0-23.2 6.8-28.6 17.7L326.1 352H185.9l-23.2-46.3c-5.4-10.8-16.5-17.7-28.6-17.7H41L90.9 88.2C94.5 74 107.3 64 122 64H390c14.7 0 27.5 10 31 24.2L471 288zM0 327.9V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V327.9c0-5.2-.6-10.4-1.9-15.5l-58-231.9C445 52 419.4 32 390 32H122C92.6 32 67 52 59.9 80.5L1.9 312.4C.6 317.4 0 322.6 0 327.9z\"]\n};\nvar faSquare0 = {\n prefix: 'fal',\n iconName: 'square-0',\n icon: [448, 512, [], \"e255\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm224 32c53 0 96 43 96 96v64c0 53-43 96-96 96s-96-43-96-96V224c0-53 43-96 96-96zm-64 96v64c0 35.3 28.7 64 64 64s64-28.7 64-64V224c0-35.3-28.7-64-64-64s-64 28.7-64 64z\"]\n};\nvar faSection = {\n prefix: 'fal',\n iconName: 'section',\n icon: [256, 512, [], \"e447\", \"M32.5 84.7c3.6-20.1 16.3-34.6 36.9-43.4c21.2-9.1 50.6-11.9 84.4-6.6c10.7 1.7 43.5 8.1 54 10.9c8.5 2.3 17.3-2.8 19.6-11.3s-2.8-17.3-11.3-19.6c-12-3.2-46-9.8-57.3-11.6C121-2.9 85.1-.3 56.7 11.9C27.8 24.3 6.5 47 .9 79.7c0 .3-.1 .6-.1 .8c-2.2 19 .4 35.7 7.6 50c7.1 14.2 18.1 25 30.7 33.6c4.6 3.1 9.6 6 14.7 8.7c-26.7 12-46.7 33-52.1 63.1c-.1 .3-.1 .6-.1 .9c-2.3 18.3 .4 34.3 7.8 48.1c7.2 13.6 18.3 23.9 30.8 32c23.3 15 54.8 24 83.1 32.1l3.3 .9c30.8 8.8 57.7 16.8 75.9 29.5c8.7 6.1 14.6 12.7 18 20.3c3.3 7.5 4.8 17.2 2.3 30.6c-3.4 18.5-15.7 32.3-36.5 40.8c-21.3 8.7-50.7 11.3-84.4 6.3c-16.9-2.6-45.6-11.9-67.8-19.1l0 0 0 0c-4.8-1.5-9.2-3-13.2-4.3c-8.4-2.7-17.4 2-20.1 10.4s2 17.4 10.4 20.1c3.4 1.1 7.4 2.4 11.8 3.8C44.9 495.5 77.2 506 97 509.1l.1 0c37.5 5.6 73.1 3.2 101.3-8.3c28.6-11.7 50.2-33.2 55.9-64.7c3.4-18.6 1.8-35-4.6-49.4c-6.3-14.3-16.8-25.1-28.9-33.6c-1.7-1.2-3.5-2.4-5.4-3.5c20-13.1 34.4-32.5 38.9-58.7c3.3-19.4 1.8-36.4-4.5-51.3c-6.2-14.8-16.6-26.2-28.8-35.2c-23.6-17.4-56.4-27.3-85.9-36.1l-.5-.1c-30.8-9.3-58.3-17.5-77.6-30.6c-9.4-6.3-16-13.4-20.1-21.4c-4-7.9-6-17.9-4.5-31.5zM178 332.3c-14.1-5.1-28.8-9.3-42.7-13.2l-.5-.1 0 0c-30.7-8.7-58.1-16.6-77.4-29c-9.3-6-15.9-12.6-19.8-20c-3.8-7.2-5.8-16.3-4.3-28.8c3.5-18.3 15.8-32 36.4-40.4c10.1-4.1 22-6.9 35.4-8.1c5.9 1.8 11.8 3.6 17.5 5.3l0 0 3.3 1c30.9 9.3 57.9 17.8 76.1 31.2c8.7 6.4 14.8 13.5 18.3 21.8c3.5 8.2 4.9 18.9 2.5 33.4c-3.8 22.2-19.1 38.5-44.8 46.8z\"]\n};\nvar faSquareThisWayUp = {\n prefix: 'fal',\n iconName: 'square-this-way-up',\n icon: [448, 512, [\"box-up\"], \"f49f\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM112 368H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm32-256c4.6 0 9 2 12 5.5l56 64c5.8 6.7 5.1 16.8-1.5 22.6s-16.8 5.1-22.6-1.5l-28-32V304c0 8.8-7.2 16-16 16s-16-7.2-16-16V170.6l-28 32c-5.8 6.7-15.9 7.3-22.6 1.5s-7.3-15.9-1.5-22.6l56-64c3-3.5 7.4-5.5 12-5.5zm160 0c4.6 0 9 2 12 5.5l56 64c5.8 6.7 5.1 16.8-1.5 22.6s-16.8 5.1-22.6-1.5l-28-32V304c0 8.8-7.2 16-16 16s-16-7.2-16-16V170.6l-28 32c-5.8 6.7-15.9 7.3-22.6 1.5s-7.3-15.9-1.5-22.6l56-64c3-3.5 7.4-5.5 12-5.5z\"]\n};\nvar faBoxUp = faSquareThisWayUp;\nvar faGaugeHigh = {\n prefix: 'fal',\n iconName: 'gauge-high',\n icon: [512, 512, [62461, \"tachometer-alt\", \"tachometer-alt-fast\"], \"f625\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM280 96a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm96 0c0-18.6-7.9-35.3-20.5-47l82.6-153.4c4.2-7.8 1.3-17.5-6.5-21.7s-17.5-1.3-21.7 6.5L271.3 289.8c-4.9-1.2-10-1.8-15.3-1.8c-35.3 0-64 28.7-64 64s28.7 64 64 64s64-28.7 64-64zM168 144a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM96 280a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm344-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faTachometerAlt = faGaugeHigh;\nvar faTachometerAltFast = faGaugeHigh;\nvar faSquareAmpersand = {\n prefix: 'fal',\n iconName: 'square-ampersand',\n icon: [448, 512, [], \"e260\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm176 88c0 6.2 2.4 12.1 6.6 16.6l22.1 23.3 21.8-15C235 203 240 193.5 240 183.2c0-12.8-10.4-23.2-23.2-23.2H200c-13.3 0-24 10.7-24 24zm68.7 51.2l-17.5 12.1 45.4 47.7L307 246.7c5.1-7.2 15.1-8.9 22.3-3.7s8.9 15.1 3.7 22.3l-38 53.2L331.6 357c6.1 6.4 5.8 16.5-.6 22.6s-16.5 5.8-22.6-.6l-32.4-34-6.3 8.8c-13.5 18.9-35.3 30.2-58.6 30.2h-36c-34.9 0-63.2-28.3-63.2-63.2c0-20.8 10.2-40.3 27.4-52.1l38.7-26.6-18.6-19.5C149.5 212.2 144 198.4 144 184c0-30.9 25.1-56 56-56h16.8c30.5 0 55.2 24.7 55.2 55.2c0 20.8-10.2 40.2-27.3 52zm-87.1 59.9c-8.5 5.8-13.5 15.4-13.5 25.7c0 17.2 14 31.2 31.2 31.2h36c12.9 0 25-6.2 32.5-16.8l9.8-13.8-53.2-55.8-42.9 29.5z\"]\n};\nvar faEnvelopeOpenText = {\n prefix: 'fal',\n iconName: 'envelope-open-text',\n icon: [512, 512, [], \"f658\", \"M392 32H120c-13.3 0-24 10.7-24 24V222.5L77.5 207.2c-4.2-3.4-8.7-6.3-13.5-8.6V56C64 25.1 89.1 0 120 0H392c30.9 0 56 25.1 56 56V198.6c-4.8 2.3-9.3 5.2-13.4 8.6L416 222.5V56c0-13.3-10.7-24-24-24zM35 256c-1.6 0-3 1.3-3 3V448c0 17.7 14.3 32 32 32H448c17.7 0 32-14.3 32-32V259c0-1.6-1.3-3-3-3c-.7 0-1.3 .2-1.9 .7L294.5 405.1C283.7 414 270 418.9 256 418.9s-27.7-4.9-38.5-13.8L36.8 256.7c-.5-.4-1.2-.7-1.9-.7zM0 259c0-19.3 15.6-35 35-35c8.1 0 15.9 2.8 22.2 7.9L237.8 380.3c5.1 4.2 11.6 6.5 18.2 6.5s13.1-2.3 18.2-6.5L454.9 231.9c6.3-5.1 14.1-7.9 22.2-7.9c19.3 0 35 15.6 35 35V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V259zM176 128H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 96H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faLampDesk = {\n prefix: 'fal',\n iconName: 'lamp-desk',\n icon: [512, 512, [], \"e014\", \"M381.3 96L480 96 288 288V189.3c0-8.5-3.4-16.6-9.4-22.6l-38.1-38.1C230 118 224 103.6 224 88.6C224 57.3 249.3 32 280.6 32c15 0 29.4 6 40 16.6l38.1 38.1c6 6 14.1 9.4 22.6 9.4zm0-32L343.2 25.9C326.6 9.3 304.1 0 280.6 0C231.7 0 192 39.7 192 88.6c0 21.7 7.9 42.5 22.2 58.6l-97.5 97.5c-4 4-5.6 9.9-4.1 15.4L171.2 480H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H192 368c8.8 0 16-7.2 16-16s-7.2-16-16-16H204.3L145.8 260.8l90.8-90.8L256 189.3V288c0 12.9 7.8 24.6 19.8 29.6s25.7 2.2 34.9-6.9l192-192c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8H381.3zm-2.6 223.9C391 298 406.8 304 424 304c39.8 0 72-32.2 72-72c0-17.2-6-33-16.1-45.4L457 209.5c4.4 6.4 7 14.2 7 22.5c0 22.1-17.9 40-40 40c-8.4 0-16.1-2.6-22.5-7l-22.8 22.8z\"]\n};\nvar faHospital = {\n prefix: 'fal',\n iconName: 'hospital',\n icon: [640, 512, [127973, 62589, \"hospital-alt\", \"hospital-wide\"], \"f0f8\", \"M160 64c0-35.3 28.7-64 64-64H416c35.3 0 64 28.7 64 64V96h96c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H416v0H352 288 224v0H64c-35.3 0-64-28.7-64-64V160c0-35.3 28.7-64 64-64h96V64zM480 336V480h96c17.7 0 32-14.3 32-32V320H528c-8.8 0-16-7.2-16-16s7.2-16 16-16h80V224H528c-8.8 0-16-7.2-16-16s7.2-16 16-16h80V160c0-17.7-14.3-32-32-32H480V336zM160 128H64c-17.7 0-32 14.3-32 32v32h80c8.8 0 16 7.2 16 16s-7.2 16-16 16H32v64h80c8.8 0 16 7.2 16 16s-7.2 16-16 16H32V448c0 17.7 14.3 32 32 32h96V128zM448 336V64c0-17.7-14.3-32-32-32H224c-17.7 0-32 14.3-32 32V480h64V416c0-35.3 28.7-64 64-64s64 28.7 64 64v64h64V336zm-96 80c0-17.7-14.3-32-32-32s-32 14.3-32 32v64h64V416zM304 64h32c13.3 0 24 10.7 24 24v16h16c13.3 0 24 10.7 24 24v32c0 13.3-10.7 24-24 24H360v16c0 13.3-10.7 24-24 24H304c-13.3 0-24-10.7-24-24V184H264c-13.3 0-24-10.7-24-24V128c0-13.3 10.7-24 24-24h16V88c0-13.3 10.7-24 24-24zm8 56c0 8.8-7.2 16-16 16H272v16h24c8.8 0 16 7.2 16 16v24h16V168c0-8.8 7.2-16 16-16h24V136H344c-8.8 0-16-7.2-16-16V96H312v24z\"]\n};\nvar faHospitalAlt = faHospital;\nvar faHospitalWide = faHospital;\nvar faPollPeople = {\n prefix: 'fal',\n iconName: 'poll-people',\n icon: [640, 512, [], \"f759\", \"M80 48a16 16 0 1 1 32 0A16 16 0 1 1 80 48zm64 0A48 48 0 1 0 48 48a48 48 0 1 0 96 0zM592 64c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H512V64h80zM272 64H480v96H272c-8.8 0-16-7.2-16-16V80c0-8.8 7.2-16 16-16zm0-32c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48H592c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H272zM592 352c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H384V352H592zm-320 0h80v96H272c-8.8 0-16-7.2-16-16V368c0-8.8 7.2-16 16-16zm0-32c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48H592c26.5 0 48-21.5 48-48V368c0-26.5-21.5-48-48-48H272zM1.1 486.1L.1 494C-1 502.8 5.2 510.8 14 511.9s16.8-5.1 17.9-13.9l1-7.9c3-24 23.4-42 47.6-42h31c24.2 0 44.6 18 47.6 42l1 7.9c1.1 8.8 9.1 15 17.9 13.9s15-9.1 13.9-17.9l-1-7.9c-5-40-39-70.1-79.4-70.1h-31c-40.3 0-74.4 30-79.4 70.1zm0-288L.1 206C-1 214.8 5.2 222.8 14 223.9s16.8-5.1 17.9-13.9l1-7.9c3-24 23.4-42 47.6-42h31c24.2 0 44.6 18 47.6 42l1 7.9c1.1 8.8 9.1 15 17.9 13.9s15-9.1 13.9-17.9l-1-7.9c-5-40-39-70.1-79.4-70.1h-31c-40.3 0-74.4 30-79.4 70.1zM80 336a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm64 0a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nvar faWhiskeyGlassIce = {\n prefix: 'fal',\n iconName: 'whiskey-glass-ice',\n icon: [512, 512, [\"glass-whiskey-rocks\"], \"f7a1\", \"M480 64L430 406.9c-3.4 23.6-23.7 41.1-47.5 41.1h-253c-23.8 0-44.1-17.5-47.5-41.1L32 64H480zM32 32c-9.3 0-18.1 4-24.2 11.1S-1 59.4 .3 68.6l50 342.9c5.7 39.3 39.4 68.5 79.2 68.5h253c39.7 0 73.4-29.1 79.2-68.5l50-342.9c1.3-9.2-1.4-18.5-7.5-25.5S489.3 32 480 32H32zM255.4 195.3l.6-.6c-5-1.8-10.4-2.7-16-2.7H144c-26.5 0-48 21.5-48 48v96c0 26.5 21.5 48 48 48h73.8l-19-19c-4-4-7.6-8.4-10.6-13H144c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16h82.7l28.7-28.7zm67.9 45.3l56.6 56.6c6.2 6.2 6.2 16.4 0 22.6l-56.6 56.6c-6.2 6.2-16.4 6.2-22.6 0l-56.6-56.6c-6.2-6.2-6.2-16.4 0-22.6l56.6-56.6c6.2-6.2 16.4-6.2 22.6 0zm-45.3-22.6l-56.6 56.6c-18.7 18.7-18.7 49.1 0 67.9L278.1 399c18.7 18.7 49.1 18.7 67.9 0l56.6-56.6c18.7-18.7 18.7-49.1 0-67.9l-56.6-56.6c-18.7-18.7-49.1-18.7-67.9 0z\"]\n};\nvar faGlassWhiskeyRocks = faWhiskeyGlassIce;\nvar faWineBottle = {\n prefix: 'fal',\n iconName: 'wine-bottle',\n icon: [512, 512, [], \"f72f\", \"M404.7 4.7c6.2-6.2 16.4-6.2 22.6 0l80 80c6.2 6.2 6.2 16.4 0 22.6c-4.4 4.4-10.6 5.7-16.1 4l-86.6 86.6c-8 8-10.9 19.6-9.6 30.9c4 36.7-8.1 74.8-36.2 103L197.3 493.3c-25 25-65.5 25-90.5 0l-88-88c-25-25-25-65.5 0-90.5l22.6 22.6c-12.5 12.5-12.5 32.8 0 45.3l88 88c12.5 12.5 32.8 12.5 45.3 0l24.7-24.7L66.1 312.7 41.4 337.4 18.7 314.7 180.2 153.3c28.1-28.1 66.3-40.2 103-36.2c11.3 1.2 22.9-1.6 30.9-9.6l86.6-86.6c-1.7-5.5-.4-11.7 4-16.1zM88.7 290.1L221.9 423.3l89.4-89.4L178.1 200.7 88.7 290.1zm112-112L333.9 311.3l2.2-2.2c21-21 30-49.4 27-76.9c-2-18.3 2.3-40.5 18.8-57l13.3-13.3-45.3-45.3L336.7 130c-16.5 16.5-38.7 20.8-57 18.8c-27.5-3-55.9 6-76.9 27l-2.2 2.2zm172-84l45.3 45.3 49.4-49.4L422.1 44.7 372.7 94.1z\"]\n};\nvar faChessRook = {\n prefix: 'fal',\n iconName: 'chess-rook',\n icon: [448, 512, [9820], \"f447\", \"M64 32C46.3 32 32 46.3 32 64V185.3c0 14 6.1 27.3 16.8 36.4L87.6 255l-5.1 97h32L120 248.8c.3-5-1.8-9.8-5.6-13L69.6 197.4c-3.5-3-5.6-7.5-5.6-12.1V64h80v40c0 8.8 7.2 16 16 16s16-7.2 16-16V64h96v40c0 8.8 7.2 16 16 16s16-7.2 16-16V64h80V185.3c0 4.7-2 9.1-5.6 12.1l-44.8 38.4c-3.8 3.2-5.8 8-5.6 13L333.5 352h32l-5.1-97 38.8-33.3c10.6-9.1 16.8-22.4 16.8-36.4V64c0-17.7-14.3-32-32-32H64zM224 160c-26.5 0-48 21.5-48 48v64c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V208c0-26.5-21.5-48-48-48zm-16 48c0-8.8 7.2-16 16-16s16 7.2 16 16v48H208V208zM97.8 416l252.4 0 32.7 52.7c.7 1.2 1.1 2.5 1.1 3.9c0 4.1-3.3 7.4-7.4 7.4H71.4c-4.1 0-7.4-3.3-7.4-7.4c0-1.4 .4-2.7 1.1-3.9L97.8 416zm252.4-32H97.8c-11.1 0-21.4 5.7-27.2 15.1L37.9 451.8C34.1 458 32 465.2 32 472.6C32 494.3 49.7 512 71.4 512H376.6c21.8 0 39.4-17.7 39.4-39.4c0-7.3-2.1-14.5-5.9-20.8l-32.7-52.7c-5.8-9.4-16.1-15.1-27.2-15.1z\"]\n};\nvar faUserBountyHunter = {\n prefix: 'fal',\n iconName: 'user-bounty-hunter',\n icon: [448, 512, [], \"e2bf\", \"M80 0C71.2 0 64 7.2 64 16V264c0 1 .1 2 .3 3l-.2 3.5c-.8 12 7.5 22.7 19.2 25.1l114.6 22.9c16.2 3.2 36.1 3.2 52.3 0l114.6-22.9c11.8-2.4 20-13.1 19.2-25.1l-8.3-128.2C370.5 62.2 304.1 0 224 0C170.5 0 123.1 27.7 96 70V32c8.8 0 16-7.2 16-16s-7.2-16-16-16H80zm21.1 193.1c7.3 4.5 15.8 10.5 24.4 17.9c18.8 16.4 36.3 39.1 41.2 68.5l-70.2-14 4.7-72.4zm98.5 93.1c-3.3-45.3-28.9-78.1-53.1-99.2c-13-11.4-25.9-19.7-35.6-25.2c-1.1-.6-2.1-1.2-3.1-1.7H208V287.7c-1.3-.2-2.6-.4-3.9-.7l-4.5-.9zm40.4 1.6V160H340.2c-1 .5-2 1.1-3.1 1.7c-9.7 5.5-22.6 13.9-35.6 25.2c-24.2 21.1-49.8 53.9-53.1 99.2l-4.5 .9c-1.3 .3-2.5 .5-3.9 .7zm41.3-8.2c4.9-29.5 22.4-52.1 41.2-68.5c8.5-7.4 17.1-13.4 24.4-17.9l4.7 72.4-70.2 14zM341.6 128H224 106.4C117.6 72.9 166.3 32 224 32s106.4 40.9 117.6 96zM134.4 384H313.6c54.4 0 98.9 42.4 102.2 96H310.6L241 410.3c-9.4-9.4-24.6-9.4-33.9 0L137.4 480H32.2c3.3-53.6 47.8-96 102.2-96zM224 438.6L265.4 480H182.6L224 438.6zM25.6 512H144 304 422.4c14.1 0 25.6-11.5 25.6-25.6C448 412.2 387.8 352 313.6 352H134.4C60.2 352 0 412.2 0 486.4C0 500.5 11.5 512 25.6 512z\"]\n};\nvar faBarsStaggered = {\n prefix: 'fal',\n iconName: 'bars-staggered',\n icon: [512, 512, [\"reorder\", \"stream\"], \"f550\", \"M0 80c0-8.8 7.2-16 16-16H432c8.8 0 16 7.2 16 16s-7.2 16-16 16H16C7.2 96 0 88.8 0 80zM64 240c0-8.8 7.2-16 16-16H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16zM448 400c0 8.8-7.2 16-16 16H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H432c8.8 0 16 7.2 16 16z\"]\n};\nvar faReorder = faBarsStaggered;\nvar faStream = faBarsStaggered;\nvar faDiagramSankey = {\n prefix: 'fal',\n iconName: 'diagram-sankey',\n icon: [576, 512, [], \"e158\", \"M354.1 64c-5.6 0-10.8 2.9-13.7 7.8L263 200.7c-8.7 14.5-24.3 23.3-41.2 23.3H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H221.9c5.6 0 10.8-2.9 13.7-7.8L313 55.3C321.6 40.8 337.3 32 354.1 32H560c8.8 0 16 7.2 16 16s-7.2 16-16 16H354.1zM201.7 320l74.5 120.4c2.9 4.7 8.1 7.6 13.6 7.6H560c8.8 0 16 7.2 16 16s-7.2 16-16 16H289.8c-16.6 0-32.1-8.6-40.8-22.7L164 320H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H180.9l.7-.4 .3 .4H560c8.8 0 16 7.2 16 16s-7.2 16-16 16H201.7z\"]\n};\nvar faCloudHailMixed = {\n prefix: 'fal',\n iconName: 'cloud-hail-mixed',\n icon: [512, 512, [], \"f73a\", \"M96 112c0-44.2 35.8-80 80-80c32.2 0 59.9 19 72.6 46.4c2.2 4.8 6.6 8.1 11.8 9s10.4-.8 14.1-4.5c11.6-11.7 27.7-19 45.5-19c35.3 0 64 28.7 64 64l0 .3c0 4.5 1.9 8.8 5.2 11.8s7.8 4.5 12.2 4.1c2.2-.2 4.3-.3 6.6-.3c39.8 0 72 32.2 72 72s-32.2 72-72 72H104c-39.8 0-72-32.2-72-72c0-33.5 22.9-61.7 53.9-69.7c8.2-2.1 13.3-10.3 11.7-18.6c-1-5.1-1.5-10.3-1.5-15.7zM512 216c0-55.2-43-100.3-97.3-103.8C407.2 66.7 367.6 32 320 32c-19.3 0-37.3 5.7-52.4 15.5C247.3 18.8 213.9 0 176 0C114.1 0 64 50.1 64 112c0 2.6 .1 5.3 .3 7.9C26.6 135.5 0 172.6 0 216c0 57.4 46.6 104 104 104H408c57.4 0 104-46.6 104-104zM24 512a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm216-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm168 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM183.9 370.1c-7.7-4.4-17.4-1.7-21.8 6l-64 112c-4.4 7.7-1.7 17.4 6 21.8s17.4 1.7 21.8-6l64-112c4.4-7.7 1.7-17.4-6-21.8zm192 0c-7.7-4.4-17.4-1.7-21.8 6l-64 112c-4.4 7.7-1.7 17.4 6 21.8s17.4 1.7 21.8-6l64-112c4.4-7.7 1.7-17.4-6-21.8zm-282 21.8c4.4-7.7 1.7-17.4-6-21.8s-17.4-1.7-21.8 6l-18.3 32c-4.4 7.7-1.7 17.4 6 21.8s17.4 1.7 21.8-6l18.3-32zm192 0c4.4-7.7 1.7-17.4-6-21.8s-17.4-1.7-21.8 6l-18.3 32c-4.4 7.7-1.7 17.4 6 21.8s17.4 1.7 21.8-6l18.3-32zm192 0c4.4-7.7 1.7-17.4-6-21.8s-17.4-1.7-21.8 6l-18.3 32c-4.4 7.7-1.7 17.4 6 21.8s17.4 1.7 21.8-6l18.3-32z\"]\n};\nvar faCircleUpLeft = {\n prefix: 'fal',\n iconName: 'circle-up-left',\n icon: [512, 512, [], \"e128\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM176 184c0-4.4 3.6-8 8-8H297.4c3.7 0 6.6 3 6.6 6.6c0 1.8-.7 3.4-1.9 4.7l-25.4 25.4c-6.2 6.2-6.2 16.4 0 22.6l59.1 59.1c3.6 3.6 4.9 9 3.3 13.9c-.7 2-1.8 3.8-3.3 5.3l-22.1 22.1c-1.5 1.5-3.3 2.6-5.3 3.3c-4.9 1.6-10.3 .4-13.9-3.3l-59.1-59.1c-6.2-6.2-16.4-6.2-22.6 0l-25.4 25.4c-1.2 1.2-2.9 1.9-4.7 1.9c-3.7 0-6.6-3-6.6-6.6V184zm8-40c-22.1 0-40 17.9-40 40V297.4c0 21.3 17.3 38.6 38.6 38.6c10.2 0 20.1-4.1 27.3-11.3L224 310.6l47.7 47.7c12.2 12.2 30.3 16.5 46.7 11c6.7-2.2 12.8-6 17.8-11l22.1-22.1c5-5 8.8-11.1 11-17.8c5.5-16.4 1.2-34.5-11-46.7L310.6 224l14.1-14.1c7.2-7.2 11.3-17.1 11.3-27.3c0-21.3-17.3-38.6-38.6-38.6H184z\"]\n};\nvar faDharmachakra = {\n prefix: 'fal',\n iconName: 'dharmachakra',\n icon: [512, 512, [9784], \"f655\", \"M256 0c8.8 0 16 7.2 16 16V48.6c45.4 3.5 86.7 21.5 119.3 49.4L414.4 75c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L414 120.7c27.9 32.6 46 73.9 49.4 119.3H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H463.4c-3.5 45.4-21.5 86.7-49.4 119.3L437 414.4c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L391.3 414c-32.6 27.9-73.9 46-119.3 49.4V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V463.4c-45.4-3.5-86.7-21.5-119.3-49.4L97.6 437c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L98 391.3c-27.9-32.6-46-73.9-49.4-119.3H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H48.6c3.5-45.4 21.5-86.7 49.4-119.3L75 97.6c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L120.7 98c32.6-27.9 73.9-46 119.3-49.4V16c0-8.8 7.2-16 16-16zM120.7 143.4c-22.2 26.7-36.7 60-40 96.6h80.6c2.4-14.4 8.1-27.9 16.4-39.6l-57-57zm79.6 34.4c11.4-8.1 24.9-13.9 39.6-16.4V80.7c-36.6 3.3-69.9 17.8-96.6 40l57 57zM210.5 211c-11.5 11.6-18.4 27.5-18.5 44.5l0 .5 0 .5c0 3.3 .3 6.7 .9 10.1c2.3 13.5 8.6 25.3 17.6 34.4c.1 .1 .2 .2 .3 .3s.2 .2 .2 .3c11.6 11.5 27.5 18.4 44.5 18.5l.5 0 .5 0c3.3 0 6.7-.3 10.1-.9c13.5-2.3 25.3-8.6 34.4-17.6c.1-.1 .2-.2 .3-.3s.2-.2 .2-.2c14-14.1 21.2-34.5 17.6-55.6c-2.3-13.5-8.6-25.3-17.6-34.4c-.1-.1-.2-.2-.3-.3s-.2-.2-.2-.2c-11.6-11.5-27.5-18.4-44.5-18.5l-.5 0-.5 0c-3.3 0-6.7 .3-10.1 .9c-13.5 2.3-25.3 8.6-34.4 17.6c-.1 .1-.2 .2-.3 .3s-.2 .2-.3 .2zM177.7 311.6c-8.1-11.4-13.9-24.9-16.4-39.6H80.7c3.3 36.6 17.8 69.9 40 96.6l57-57zm-34.4 79.6c26.7 22.2 60 36.7 96.6 40V350.7c-14.4-2.4-27.9-8.1-39.6-16.4l-57 57zm168.3-57c-11.4 8.1-24.9 13.9-39.6 16.4v80.6c36.6-3.3 69.9-17.8 96.6-40l-57-57zm79.6 34.4c22.2-26.7 36.7-60 40-96.6H350.7c-2.4 14.4-8.1 27.9-16.4 39.6l57 57zm-57-168.3c8.1 11.4 13.9 24.9 16.4 39.6h80.6c-3.3-36.6-17.8-69.9-40-96.6l-57 57zm34.4-79.6c-26.7-22.2-60-36.7-96.6-40v80.6c14.4 2.4 27.9 8.1 39.6 16.4l57-57z\"]\n};\nvar faObjectsAlignLeft = {\n prefix: 'fal',\n iconName: 'objects-align-left',\n icon: [512, 512, [], \"e3be\", \"M0 16C0 7.2 7.2 0 16 0s16 7.2 16 16l0 480c0 8.8-7.2 16-16 16s-16-7.2-16-16L0 16zM160 176c0 8.8 7.2 16 16 16l288 0c8.8 0 16-7.2 16-16l0-64c0-8.8-7.2-16-16-16L176 96c-8.8 0-16 7.2-16 16l0 64zm-32-64c0-26.5 21.5-48 48-48l288 0c26.5 0 48 21.5 48 48l0 64c0 26.5-21.5 48-48 48l-288 0c-26.5 0-48-21.5-48-48l0-64zm32 288c0 8.8 7.2 16 16 16l160 0c8.8 0 16-7.2 16-16l0-64c0-8.8-7.2-16-16-16l-160 0c-8.8 0-16 7.2-16 16l0 64zm-32-64c0-26.5 21.5-48 48-48l160 0c26.5 0 48 21.5 48 48l0 64c0 26.5-21.5 48-48 48l-160 0c-26.5 0-48-21.5-48-48l0-64z\"]\n};\nvar faOilCanDrip = {\n prefix: 'fal',\n iconName: 'oil-can-drip',\n icon: [640, 512, [], \"e205\", \"M352 80c0 8.8-7.2 16-16 16l-64 0v64h96.9c9.9 0 19.7 2.3 28.6 6.8L448 192l167-35.8c18.1-3.9 30.7 17.6 18.4 31.5L451.1 394.3c-12.1 13.8-29.6 21.7-48 21.7H144c-26.5 0-48-21.5-48-48V340L31.1 315.7C12.4 308.7 0 290.7 0 270.7V208c0-26.5 21.5-48 48-48H96h32H240V96l-64 0c-8.8 0-16-7.2-16-16s7.2-16 16-16H336c8.8 0 16 7.2 16 16zM454.7 223.3c-7.1 1.5-14.5 .6-21-2.7l-50.5-25.2c-4.4-2.2-9.3-3.4-14.3-3.4H128V317.8 352v16c0 8.8 7.2 16 16 16H403.1c9.2 0 17.9-3.9 24-10.8L583.8 195.6 454.7 223.3zM96 192H48c-8.8 0-16 7.2-16 16v62.7c0 6.7 4.1 12.6 10.4 15L96 305.8V192zM608 400l0-.1 0-.2c0-.1 0-.3 0-.6c-.1-.5-.2-1.2-.3-2.1c-.3-1.8-.9-4.2-1.7-7c-1.7-5.7-4.2-12.5-7.4-20c-2-4.7-4.2-9.5-6.5-14.3c-2.3 4.8-4.4 9.6-6.5 14.3c-7.1 16.6-9.5 26.7-9.5 29.9c0 8.8 7.2 16 16 16c7 0 10.7-2.1 12.3-3.5c1.2-1.1 3.7-4 3.7-12.5zm32 0c0 32-21.5 48-48 48s-48-21.5-48-48c0-21 20.6-62.6 34.9-88.8c5.8-10.6 20.5-10.6 26.3 0C619.4 337.4 640 379 640 400z\"]\n};\nvar faFaceSmilingHands = {\n prefix: 'fal',\n iconName: 'face-smiling-hands',\n icon: [640, 512, [], \"e396\", \"M110.9 175.4C143.3 91.5 224.7 32 320 32s176.7 59.5 209.1 143.4c3.2 8.2 12.4 12.4 20.7 9.2s12.4-12.4 9.2-20.7C522 68 428.9 0 320 0S118 68 81.1 163.9c-3.2 8.2 .9 17.5 9.2 20.7s17.5-.9 20.7-9.2zM290.1 478c-8.8-1.2-16.8 5-18 13.7s5 16.8 13.7 18c11.2 1.5 22.6 2.3 34.1 2.3s22.9-.8 34.1-2.3c8.8-1.2 14.9-9.2 13.7-18s-9.2-14.9-18-13.7c-9.8 1.3-19.7 2-29.9 2s-20.1-.7-29.9-2zM384 384.8V352v-2.4V298.4c0-11 9-20 20-20c9.1 0 16.8 6.1 19.2 14.5c.2 .8 .4 1.7 .6 2.5c.1 1 .2 2 .2 3v11.7 8c0 7.1 8.6 10.7 13.7 5.7l5.7-5.7 10.4-10.4 2.3-2.3 9.4-9.4 0 0 51.3-51.3c5.6-5.6 14.3-6.2 20.5-1.8c.7 .5 1.4 1.1 2.1 1.8c6.2 6.2 6.2 16.4 0 22.6l0 0-34 34L488 318.6l0 0c-2.6 2.6-2.6 6.8 0 9.4s6.8 2.6 9.4 0l0 0 17.3-17.3 34-34 16-16c3.1-3.1 7.2-4.7 11.3-4.7s8.2 1.6 11.3 4.7s4.7 7.2 4.7 11.3s-1.6 8.2-4.7 11.3l0 0-16 16-34 34L520 350.6c-2.6 2.6-2.6 6.8 0 9.4s6.8 2.6 9.4 0l0 0 17.3-17.3 34-34 0 0 0 0c6.2-6.2 16.4-6.2 22.6 0c.7 .7 1.3 1.4 1.8 2.1c4.4 6.2 3.8 14.9-1.8 20.5l0 0-5.1 5.1-26.9 26.9-2 2L552 382.6c-2.6 2.6-2.6 6.8 0 9.4s6.8 2.6 9.4 0l17.3-17.3 2-2c6.2-6.2 16.4-6.2 22.6 0c.7 .7 1.3 1.4 1.8 2.1c4.4 6.2 3.8 14.9-1.8 20.5L584 414.6l-37.5 37.5C528.7 470 504.4 480 479.2 480c-52.6 0-95.2-42.6-95.2-95.2zM320 400c11.6 0 22.4-1.2 32.5-3.4C358.5 461.3 412.9 512 479.2 512c33.7 0 66.1-13.4 89.9-37.3l56.8-56.8c18.1-18.1 18.7-47.1 1.8-65.9c16.9-18.8 16.3-47.8-1.8-65.9c-1-1-2.1-2-3.2-3c3.7-15.7-.5-32.8-12.8-45s-29.4-16.5-45-12.8c-.9-1.1-1.9-2.2-3-3.2c-18.7-18.7-49.1-18.7-67.9 0L447 269.1c-9.4-13.7-25.1-22.7-43-22.7c-28.7 0-52 23.3-52 52V352v11.8c-9.8 2.7-20.4 4.2-32 4.2s-22.2-1.5-32-4.2V352 298.4c0-28.7-23.3-52-52-52c-17.9 0-33.6 9-43 22.7l-47.1-47.1c-18.7-18.7-49.1-18.7-67.9 0c-1 1-2 2.1-3 3.2c-15.7-3.7-32.8 .5-45 12.8s-16.5 29.4-12.8 45c-1.1 .9-2.2 1.9-3.2 3C-4.1 304.2-4.7 333.2 12.2 352c-16.9 18.8-16.3 47.8 1.8 65.9l56.8 56.8c23.9 23.9 56.2 37.3 89.9 37.3c66.3 0 120.7-50.7 126.7-115.4c10.1 2.2 21 3.4 32.5 3.4zM220.5 178.5c6.2-7.1 12.8-10.5 19.5-10.5s13.4 3.4 19.5 10.5c6.2 7.2 10.8 16.8 12.9 25.4c2.1 8.6 10.8 13.8 19.4 11.6s13.8-10.8 11.6-19.4c-3.2-12.7-9.8-27.1-19.9-38.6C273.6 145.9 258.8 136 240 136s-33.6 9.9-43.7 21.5c-10 11.5-16.7 25.9-19.9 38.6c-2.1 8.6 3.1 17.3 11.6 19.4s17.3-3.1 19.4-11.6c2.1-8.6 6.7-18.2 12.9-25.4zm147.1 25.4c2.1-8.6 6.7-18.2 12.9-25.4c6.2-7.1 12.8-10.5 19.5-10.5s13.4 3.4 19.5 10.5c6.2 7.2 10.8 16.8 12.9 25.4c2.1 8.6 10.8 13.8 19.4 11.6s13.8-10.8 11.6-19.4c-3.2-12.7-9.8-27.1-19.9-38.6C433.6 145.9 418.8 136 400 136s-33.6 9.9-43.7 21.5c-10 11.5-16.7 25.9-19.9 38.6c-2.1 8.6 3.1 17.3 11.6 19.4s17.3-3.1 19.4-11.6zM100.7 267.3l0 0c-6.2-6.2-6.2-16.4 0-22.6c.7-.7 1.4-1.3 2.1-1.8c6.2-4.4 14.9-3.8 20.5 1.8L174.6 296l0 0 9.4 9.4 2.3 2.3 10.4 10.4 5.7 5.7c5 5 13.7 1.5 13.7-5.7v-8V298.4c0-1 .1-2 .2-3c.1-.9 .3-1.7 .6-2.5c2.4-8.4 10.1-14.5 19.2-14.5c11 0 20 9 20 20v51.2V352v32.8c0 52.6-42.6 95.2-95.2 95.2c-25.2 0-49.5-10-67.3-27.9L56 414.6 36.7 395.3c-5.6-5.6-6.2-14.3-1.8-20.5c.5-.7 1.1-1.4 1.8-2.1c6.2-6.2 16.4-6.2 22.6 0l2 2L78.6 392c2.6 2.6 6.8 2.6 9.4 0s2.6-6.8 0-9.4L70.7 365.3l-2-2L41.8 336.4l-5.1-5.1 0 0c-5.6-5.6-6.2-14.3-1.8-20.5c.5-.7 1.1-1.4 1.8-2.1c6.2-6.2 16.4-6.2 22.6 0l0 0 0 0 34 34L110.6 360l0 0c2.6 2.6 6.8 2.6 9.4 0s2.6-6.8 0-9.4l-17.3-17.3-34-34-16-16 0 0c-3.1-3.1-4.7-7.2-4.7-11.3s1.6-8.2 4.7-11.3s7.2-4.7 11.3-4.7s8.2 1.6 11.3 4.7l16 16 34 34L142.6 328l0 0c2.6 2.6 6.8 2.6 9.4 0s2.6-6.8 0-9.4l0 0-17.3-17.3-34-34z\"]\n};\nvar faBroccoli = {\n prefix: 'fal',\n iconName: 'broccoli',\n icon: [512, 512, [129382], \"e3e2\", \"M256 0c-37.2 0-69.5 21.2-85.4 52.1C162.2 49.4 153.3 48 144 48c-48.6 0-88 39.4-88 88c0 10.7 1.9 20.9 5.4 30.4C25.5 180.3 0 215.2 0 256c0 53 43 96 96 96h8s47.7 54.5 80.2 138.3c5 12.8 17.1 21.7 30.9 21.7h81.9c13.8 0 25.9-8.9 30.9-21.7C360.3 406.5 408 352 408 352h8c53 0 96-43 96-96c0-40.8-25.5-75.7-61.4-89.6c3.5-9.5 5.4-19.7 5.4-30.4c0-48.6-39.4-88-88-88c-9.3 0-18.2 1.4-26.6 4.1C325.5 21.2 293.2 0 256 0zm19.2 352l-2 4.9L256 400l-17.2-43.1-2-4.9h38.4zm-72.9 0l24 59.9C231.1 424 242.9 432 256 432s24.9-8 29.7-20.1l24-59.9 57.7 0c-4.1 5.6-8.9 12.3-13.9 20c-16.9 25.5-38.2 62.1-55.4 106.7c-.2 .6-.6 1-.9 1.2c-.1 .1-.2 .1-.2 .1H215.1c0 0-.1 0-.2-.1c-.3-.2-.6-.6-.9-1.2c-17.3-44.6-38.5-81.2-55.4-106.7c-5.1-7.7-9.8-14.4-13.9-20h57.7zM194.6 77.8C202.5 51.3 227 32 256 32s53.5 19.3 61.4 45.8c1.4 4.7 4.8 8.5 9.3 10.3s9.6 1.5 13.9-.9C348.7 82.6 358 80 368 80c30.9 0 56 25.1 56 56c0 11.8-3.6 22.7-9.8 31.7c-3.1 4.6-3.7 10.4-1.5 15.5s6.9 8.6 12.4 9.4c31 4.4 54.9 31.1 54.9 63.4c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64c0-32.3 23.9-59 54.9-63.4c5.5-.8 10.2-4.3 12.4-9.4s1.7-10.9-1.5-15.5c-6.2-9-9.8-19.9-9.8-31.7c0-30.9 25.1-56 56-56c10 0 19.3 2.6 27.4 7.2c4.2 2.4 9.3 2.7 13.9 .9s8-5.6 9.3-10.3z\"]\n};\nvar faRouteInterstate = {\n prefix: 'fal',\n iconName: 'route-interstate',\n icon: [512, 512, [], \"f61b\", \"M53.7 63.9C113 85.7 195.6 75.8 256 35.6c60.4 40.2 143 50.1 202.3 28.3c3.3 34.5 5.1 66.4 5.1 96.1H256 48.2c.2-29.8 2.2-61.8 5.5-96.1zM48.7 192h414c-2.3 44.8-9.9 84.2-24.8 119.4c-27.8 66-82.2 119.8-182.3 167.1C154.1 435.2 99.9 381.6 72.6 314.8c-14.8-36.1-22-76.7-23.9-122.8zM270 6.4c-8.4-5.9-19.7-5.9-28.1 0C186.2 45.5 107.2 53 57.4 30.9C43.2 24.6 24.6 33 22.8 50.6C11.9 158.8 11.7 250.5 43 326.9c31.7 77.4 94.5 136.7 203.5 182.5c6.2 2.6 13.4 2.5 19.5-.4c106.7-49.8 169.3-109 201.4-185.2c31.8-75.4 32.7-165 21.8-273.2c-1.8-17.6-20.4-26.1-34.6-19.7C404.8 53 325.8 45.5 270 6.4z\"]\n};\nvar faEarMuffs = {\n prefix: 'fal',\n iconName: 'ear-muffs',\n icon: [640, 512, [], \"f795\", \"M320 32c-91.9 0-167.4 70.5-175.3 160.3c-11.7 1-22.7 4.2-32.6 9.2C115.5 89.7 207.3 0 320 0S524.5 89.7 527.9 201.5c-9.9-5.1-20.9-8.3-32.6-9.2C487.4 102.5 411.9 32 320 32zM496 224.6c9 1.3 17.2 4.7 24.3 9.7c5-1.5 10.3-2.2 15.7-2.2c19.9 0 37.5 10.4 47.4 26.1c23.4 6.7 40.6 28.3 40.6 53.9c0 5.1-.7 10.1-2 14.9c11.1 10.2 18 24.9 18 41.1s-6.9 30.9-18 41.1c1.3 4.7 2 9.7 2 14.9c0 25.6-17.2 47.2-40.6 53.9C573.5 493.6 555.9 504 536 504c-5.5 0-10.7-.8-15.7-2.2C511.2 508.2 500 512 488 512c-30.9 0-56-25.1-56-56c0-10.2 2.7-19.8 7.5-28c-4.8-8.2-7.5-17.8-7.5-28c0-11.9 3.7-22.9 10-32c-6.3-9.1-10-20.1-10-32c0-10.2 2.7-19.8 7.5-28c-4.8-8.2-7.5-17.8-7.5-28c0-30.9 25.1-56 56-56c2.7 0 5.4 .2 8 .6zM152 224c30.9 0 56 25.1 56 56c0 10.2-2.7 19.8-7.5 28c4.8 8.2 7.5 17.8 7.5 28c0 11.9-3.7 22.9-10 32c6.3 9.1 10 20.1 10 32c0 10.2-2.7 19.8-7.5 28c4.8 8.2 7.5 17.8 7.5 28c0 30.9-25.1 56-56 56c-12 0-23.2-3.8-32.3-10.2c-5 1.5-10.3 2.2-15.7 2.2c-20 0-37.5-10.4-47.4-26.1C33.2 471.2 16 449.6 16 424c0-5.1 .7-10.1 2-14.9C6.9 398.9 0 384.3 0 368s6.9-30.9 18-41.1c-1.3-4.7-2-9.7-2-14.9c0-25.6 17.2-47.2 40.6-53.9C66.5 242.4 84 232 104 232c5.5 0 10.7 .8 15.7 2.2c7.1-5 15.3-8.4 24.3-9.7c2.6-.4 5.3-.6 8-.6zm20.8 100c-5.7-9.9-5.7-22.1 0-32c2-3.5 3.2-7.6 3.2-12c0-13.3-10.7-24-24-24c-5.2 0-9.9 1.6-13.8 4.4c-8 5.6-18.1 7.3-27.4 4.6c-2.1-.6-4.4-1-6.8-1c-8.5 0-16 4.4-20.3 11.2c-4.2 6.7-10.7 11.5-18.3 13.7C55.3 291.8 48 301.1 48 312c0 2.3 .3 4.4 .9 6.4c3.2 11.5-.4 23.9-9.1 32C34.9 354.8 32 361 32 368s2.9 13.2 7.7 17.6c8.8 8.1 12.3 20.4 9.1 32c-.5 2-.9 4.1-.9 6.4c0 10.9 7.3 20.2 17.4 23.1c7.6 2.2 14.1 7 18.3 13.7C88 467.6 95.5 472 104 472c2.4 0 4.6-.3 6.8-1c9.4-2.7 19.5-1 27.4 4.6c3.9 2.8 8.6 4.4 13.8 4.4c13.3 0 24-10.7 24-24c0-4.4-1.2-8.5-3.2-12c-5.7-9.9-5.7-22.1 0-32c2-3.5 3.2-7.6 3.2-12c0-5.1-1.6-9.8-4.3-13.7c-7.7-11-7.7-25.6 0-36.6c2.7-3.9 4.3-8.6 4.3-13.7c0-4.4-1.2-8.5-3.2-12zM464 280c0 4.4 1.2 8.5 3.2 12c5.7 9.9 5.7 22.1 0 32c-2 3.5-3.2 7.6-3.2 12c0 5.1 1.6 9.8 4.3 13.7c7.7 11 7.7 25.6 0 36.6c-2.7 3.9-4.3 8.6-4.3 13.7c0 4.4 1.2 8.5 3.2 12c5.7 9.9 5.7 22.1 0 32c-2 3.5-3.2 7.6-3.2 12c0 13.3 10.7 24 24 24c5.2 0 9.9-1.6 13.8-4.4c8-5.6 18.1-7.3 27.4-4.6c2.1 .6 4.4 1 6.8 1c8.5 0 16-4.4 20.3-11.2c4.2-6.7 10.7-11.5 18.3-13.7c10.1-2.9 17.4-12.2 17.4-23.1c0-2.3-.3-4.4-.9-6.4c-3.2-11.5 .4-23.9 9.1-32c4.8-4.4 7.7-10.7 7.7-17.6s-2.9-13.2-7.7-17.6c-8.8-8.1-12.3-20.4-9.1-32c.5-2 .9-4.1 .9-6.4c0-10.9-7.3-20.2-17.4-23.1c-7.6-2.2-14.1-7-18.3-13.7C552 268.4 544.5 264 536 264c-2.4 0-4.6 .3-6.8 1c-9.4 2.7-19.5 1-27.4-4.6c-3.9-2.8-8.6-4.4-13.8-4.4c-13.3 0-24 10.7-24 24z\"]\n};\nvar faHotdog = {\n prefix: 'fal',\n iconName: 'hotdog',\n icon: [512, 512, [127789], \"f80f\", \"M458.9 154.9l-304 304c-28.1 28.1-73.7 28.1-101.8 0S25 385.2 53.1 357.1l304-304c28.1-28.1 73.7-28.1 101.8 0s28.1 73.7 0 101.8zm22.6 22.6c40.6-40.6 40.6-106.5 0-147.1s-106.5-40.6-147.1 0l-304 304c-40.6 40.6-40.6 106.5 0 147.1s106.5 40.6 147.1 0l304-304zm-70.2-60.9c-6.2-6.2-16.4-6.2-22.6 0c-7 7-12.5 10.8-17 13.1c-4.5 2.3-8.5 3.4-13.6 4.7l-1.5 .4c-4.7 1.2-10.9 2.7-17.3 5.6c-7.4 3.4-14.8 8.4-22.7 16.3c-16.2 16.2-20.5 30.7-24 42.7l0 .1c-3.1 10.6-5.5 18.8-16 29.2c-5.5 5.5-9.5 7.8-12.4 9.1c-3 1.3-5.8 1.7-10.6 2.4l-.4 .1c-4.6 .6-10.9 1.6-18 4.5c-7.4 3.1-14.8 8.1-22.6 15.9c-16.2 16.2-20.5 30.7-24 42.7l0 .1c-3.1 10.6-5.5 18.8-16 29.2c-5.5 5.5-9.7 8.1-13.3 9.8c-3.6 1.6-6.9 2.5-12 3.7l-1.2 .3c-5.6 1.4-12.6 3.2-20.4 7.3c-7.9 4-16 9.9-25 18.9c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0c7-7 12.5-10.8 17-13.1c4.5-2.3 8.5-3.4 13.6-4.7l1.5-.4 0 0c4.7-1.2 10.9-2.7 17.3-5.6c7.4-3.4 14.8-8.4 22.7-16.3c16.2-16.2 20.5-30.7 24-42.7l0-.1c3.1-10.6 5.5-18.8 16-29.2c5.5-5.5 9.5-7.8 12.4-9.1c3-1.3 5.8-1.7 10.6-2.4l.4-.1c4.6-.6 10.9-1.6 18-4.5c7.4-3.1 14.8-8.1 22.6-15.9c16.2-16.2 20.5-30.7 24-42.7l0-.1c3.1-10.6 5.5-18.8 16-29.2c5.5-5.5 9.7-8.1 13.3-9.8c3.6-1.6 6.9-2.5 12-3.7l1.2-.3c5.6-1.4 12.6-3.2 20.4-7.3c7.9-4 16-9.9 25-18.9c6.2-6.2 6.2-16.4 0-22.6zM264 0c-15.4 0-30.1 6.1-41 17L17 223C6.1 233.9 0 248.6 0 264c0 14.8 5.7 29.1 15.8 39.8l22.6-22.6C34.3 276.4 32 270.3 32 264c0-6.9 2.7-13.5 7.6-18.3L17.2 223.2l22.4 22.4L245.7 39.6c4.9-4.9 11.5-7.6 18.3-7.6c6.3 0 12.4 2.3 17.2 6.5l22.6-22.6C293.1 5.7 278.8 0 264 0zM208.2 496.2c10.7 10.2 25 15.8 39.8 15.8c15.4 0 30.1-6.1 41-17L495 289c10.9-10.9 17-25.6 17-41c0-14.8-5.7-29.1-15.8-39.8l-22.6 22.6c4.2 4.7 6.5 10.8 6.5 17.2c0 6.9-2.7 13.5-7.6 18.3L266.3 472.4c-4.9 4.9-11.5 7.6-18.3 7.6c-6.3 0-12.4-2.3-17.2-6.5l-22.6 22.6z\"]\n};\nvar faTransporterEmpty = {\n prefix: 'fal',\n iconName: 'transporter-empty',\n icon: [512, 512, [], \"e046\", \"M144 480c-8.8 0-16 7.2-16 16s-7.2 16-16 16s-16-7.2-16-16c0-26.5 21.5-48 48-48H368c26.5 0 48 21.5 48 48c0 8.8-7.2 16-16 16s-16-7.2-16-16s-7.2-16-16-16H144z\"]\n};\nvar faPersonWalkingWithCane = {\n prefix: 'fal',\n iconName: 'person-walking-with-cane',\n icon: [512, 512, [\"blind\"], \"f29d\", \"M184 32a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0 80A56 56 0 1 0 184 0a56 56 0 1 0 0 112zm-30.4 32c-31.6 0-60.3 18.6-73.1 47.5l-47.1 106c-3.6 8.1 0 17.5 8.1 21.1s17.5 0 21.1-8.1l47.1-106c2.5-5.6 6-10.6 10.3-14.8v96c0 17 9 32.7 23.7 41.4L256 393.2V496c0 8.8 7.2 16 16 16s16-7.2 16-16V393.2c0-11.3-6-21.8-15.8-27.6l-32.2-19V190.4c2.1 2.1 4 4.5 5.7 7l77 115.5c4.9 7.4 14.8 9.3 22.2 4.4s9.3-14.8 4.4-22.2l-77-115.5c-14.8-22.3-39.8-35.6-66.6-35.6H153.6zM152 285.7V176c.5 0 1.1 0 1.6 0h52.2c.8 0 1.5 0 2.3 .1V327.8l-48.1-28.3c-4.9-2.9-7.9-8.1-7.9-13.8zM96.6 491.8c-2.3 8.5 2.7 17.3 11.2 19.6s17.3-2.7 19.6-11.2l34.2-125.4L133.1 358 96.6 491.8zm354.3 13.3c5 7.3 15 9.1 22.3 4s9.1-15 4-22.3L372.3 335.4c-2.8 3.2-6 6.1-9.7 8.5c-5.7 3.8-11.9 6.2-18.3 7.3L450.8 505.1z\"]\n};\nvar faBlind = faPersonWalkingWithCane;\nvar faAngle90 = {\n prefix: 'fal',\n iconName: 'angle-90',\n icon: [448, 512, [], \"e08d\", \"M32 48c0-8.8-7.2-16-16-16S0 39.2 0 48V464c0 8.8 7.2 16 16 16H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H32V48zm160.8 75c-29.9-13.2-62.2-21.9-96-25.3c-9.1-.9-16.8 6.4-16.8 15.6c0 8.5 6.7 15.5 15.1 16.4c29.3 3.2 57.3 10.7 83.3 22c7.6 3.3 16.6 .8 21-6.3c4.9-8 2-18.5-6.6-22.3zM297.5 247.4c5.1 7.1 14.8 9.3 22.2 4.7c7.6-4.7 10-14.8 4.7-22.1c-20.6-28.8-45.8-54-74.6-74.6c-7.3-5.2-17.4-2.9-22.1 4.7c-4.6 7.4-2.3 17.1 4.7 22.2c24.9 18 46.9 40 64.9 64.9zm30.8 54.1c11.3 26 18.8 54 22 83.3c.9 8.5 7.9 15.1 16.4 15.1c9.2 0 16.5-7.7 15.6-16.8c-3.4-33.9-12.2-66.1-25.3-96c-3.8-8.6-14.3-11.6-22.3-6.6c-7.1 4.4-9.6 13.4-6.3 21z\"]\n};\nvar faRectangleTerminal = {\n prefix: 'fal',\n iconName: 'rectangle-terminal',\n icon: [512, 512, [], \"e236\", \"M448 64c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32H448zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM99.9 149.6c-5.8 6.7-5 16.8 1.7 22.6L199.4 256l-97.8 83.9c-6.7 5.8-7.5 15.8-1.7 22.6s15.9 7.5 22.6 1.7l112-96c3.5-3 5.6-7.5 5.6-12.1s-2-9.1-5.6-12.1l-112-96c-6.7-5.8-16.8-5-22.6 1.7zM224 352c-8.8 0-16 7.2-16 16s7.2 16 16 16H400c8.8 0 16-7.2 16-16s-7.2-16-16-16H224z\"]\n};\nvar faKite = {\n prefix: 'fal',\n iconName: 'kite',\n icon: [640, 512, [129665], \"f6f4\", \"M338.2 50.8L273 344.4 457.4 160 341.1 43.7c-1.3 2.2-2.3 4.5-2.8 7.1zM258.9 407.9l-5.4 1.2-88.2 88.2c-9.4 9.4-22.1 14.6-35.3 14.6C102.4 512 80 489.6 80 462.1V316.3L24.2 349.7c-4.9 3-11.1 3-16.1 .2S0 341.8 0 336V240c0-5.8 3.1-11.1 8.1-13.9s11.2-2.8 16.1 .2L80 259.7V208c0-26.5-21.5-48-48-48H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H32c44.2 0 80 35.8 80 80v51.7l55.8-33.5c4.9-3 11.1-3 16.1-.2s8.1 8.2 8.1 13.9v96c0 5.8-3.1 11.1-8.1 13.9s-11.2 2.8-16.1-.2L112 316.3V462.1c0 9.9 8 17.9 17.9 17.9c4.8 0 9.3-1.9 12.7-5.3l88.2-88.2 1.2-5.4L307 43.9C312.7 18.2 335.4 0 361.7 0H584c30.9 0 56 25.1 56 56V278.3c0 26.2-18.2 49-43.9 54.7L258.9 407.9zM480 182.6L295.6 367l293.6-65.2c2.6-.6 4.9-1.5 7.1-2.8L480 182.6zM608 56c0-.4 0-.9 0-1.3L502.6 160 608 265.4V56zM584 32H374.6L480 137.4 585.3 32c-.4 0-.9 0-1.3 0zM32 268.3v39.5L64.9 288 32 268.3zm128 39.5V268.3L127.1 288 160 307.7z\"]\n};\nvar faDrum = {\n prefix: 'fal',\n iconName: 'drum',\n icon: [512, 512, [129345], \"f569\", \"M509.6 39.5c4.7 7.5 2.4 17.4-5.1 22l-86.3 53.9C475.4 133 512 162.8 512 208V368c0 22.6-13.6 41.6-32.3 56.2c-18.8 14.7-44.9 26.8-75.1 35.9C362.8 472.7 311.3 480 256 480s-106.8-7.3-148.6-19.9c-30.3-9.1-56.3-21.2-75.1-35.9C13.6 409.6 0 390.6 0 368V208C0 128 114.6 96 256 96c42.7 0 82.9 2.9 118.3 9.2L487.5 34.4c7.5-4.7 17.4-2.4 22 5.1zM332 131.6c-23.5-2.4-49-3.6-76-3.6c-69 0-128.5 7.9-169.4 23.8C45.3 167.9 32 187.6 32 208c0 11.2 11.3 31.5 55.7 50.6C129 276.5 188.5 288 256 288s127-11.5 168.3-29.4C468.7 239.5 480 219.2 480 208c0-20.4-13.3-40.1-54.6-56.2c-13.1-5.1-28.2-9.4-44.8-12.8L248.5 221.6c-7.5 4.7-17.4 2.4-22-5.1s-2.4-17.4 5.1-22L332 131.6zM480 263.2c-16.2 12.8-38.1 24-64 32.9l0 126.4c18.3-7 33.2-15 44-23.5c14.8-11.6 20-22.2 20-31V263.2zm-96 42.3c-33.3 8.2-71.4 13.3-112 14.3v128c41.5-1.1 79.7-6.6 112-15.1l0-127.2zM240 319.8c-40.6-1.1-78.7-6.1-112-14.3V432.7c32.3 8.5 70.5 14 112 15.1v-128zM96 296.1c-25.9-8.9-47.8-20.1-64-32.9V368c0 8.8 5.3 19.5 20 31c10.8 8.5 25.6 16.5 44 23.5V296.1z\"]\n};\nvar faScrubber = {\n prefix: 'fal',\n iconName: 'scrubber',\n icon: [512, 512, [], \"f2f8\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm320 0a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zm-160 0a96 96 0 1 1 192 0 96 96 0 1 1 -192 0z\"]\n};\nvar faIceCream = {\n prefix: 'fal',\n iconName: 'ice-cream',\n icon: [448, 512, [127848], \"f810\", \"M224 0C139.7 0 70.6 65.2 64.4 147.9C36.2 157.7 16 184.5 16 216c0 39.8 32.2 72 72 72h45.5 181H360c39.8 0 72-32.2 72-72c0-31.5-20.2-58.3-48.4-68.1C377.4 65.2 308.3 0 224 0zM96 160v0C96 89.3 153.3 32 224 32s128 57.3 128 128l0 .5c0 8 5.8 14.7 13.7 15.9c19.4 2.8 34.3 19.5 34.3 39.6c0 22.1-17.9 40-40 40H314.5h-181H88c-22.1 0-40-17.9-40-40c0-20.1 14.9-36.8 34.3-39.6c7.9-1.1 13.8-7.9 13.7-15.9l0-.5zM200.1 498.1c4.9 8.6 14 13.9 23.9 13.9s19-5.3 23.9-13.9L349.7 320H312.9L224 475.5 135.1 320H98.3L200.1 498.1z\"]\n};\nvar faHeartCircleBolt = {\n prefix: 'fal',\n iconName: 'heart-circle-bolt',\n icon: [576, 512, [], \"e4fc\", \"M244 130.6l-12-13.5-4.2-4.7c-26-29.2-65.3-42.8-103.8-35.8c-53.3 9.7-92 56.1-92 110.3v3.5c0 32.3 13.4 63.1 37.1 85.1L253 446.8c.8 .7 1.9 1.2 3 1.2s2.2-.4 3-1.2l10.9-10.2c4.3 10.2 9.6 20 15.7 29.1l-4.9 4.5c-.8 .8-1.7 1.5-2.6 2.2c-6.3 4.9-14.1 7.5-22.1 7.5c-9.2 0-18-3.5-24.8-9.7L47.2 299c-3.8-3.5-7.3-7.2-10.7-11C13.1 261 0 226.4 0 190.4v-3.5C0 117.3 49.8 57.6 118.3 45.1c40.9-7.4 82.6 3.2 114.7 28.4c6.7 5.3 13 11.1 18.7 17.6l4.2 4.7 4.2-4.7c4.2-4.7 8.6-9.1 13.3-13.1c1.8-1.5 3.6-3 5.4-4.5C311 48.4 352.7 37.7 393.7 45.1C462.2 57.6 512 117.3 512 186.9v3.5c0 6.8-.5 13.5-1.4 20.1c-9.8-4.9-20.2-8.9-30.9-12c.2-2.7 .3-5.4 .3-8.1v-3.5c0-54.2-38.7-100.6-92-110.3c-38.5-7-77.8 6.6-103.8 35.8l-4.2 4.7-12 13.5c-3 3.4-7.4 5.4-12 5.4s-8.9-2-12-5.4zM544 368a112 112 0 1 0 -224 0 112 112 0 1 0 224 0zm-256 0a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm191.9-81c4.3 3.7 5.4 9.9 2.6 14.9L452.4 356H488c5.2 0 9.8 3.3 11.4 8.2s-.1 10.3-4.2 13.4l-96 72c-4.5 3.4-10.8 3.2-15.1-.6s-5.4-9.9-2.6-14.9L411.6 380H376c-5.2 0-9.8-3.3-11.4-8.2s.1-10.3 4.2-13.4l96-72c4.5-3.4 10.8-3.2 15.1 .6z\"]\n};\nvar faFishBones = {\n prefix: 'fal',\n iconName: 'fish-bones',\n icon: [576, 512, [], \"e304\", \"M42.4 141.5l27.3 22.8c6.8 5.7 16.9 4.7 22.5-2s4.7-16.9-2-22.5L44.8 101.8C40.3 98.1 34.6 96 28.7 96c-17.1 0-29.3 16.7-24 33L46 256 4.7 383c-5.3 16.3 6.8 33 24 33c5.9 0 11.6-2.1 16.1-5.8L34.6 397.9l10.2 12.3 45.4-37.9c6.8-5.7 7.7-15.7 2-22.5s-15.7-7.7-22.5-2L42.4 370.5l32-98.5H144v80c0 8.8 7.2 16 16 16s16-7.2 16-16V272h64v80c0 8.8 7.2 16 16 16s16-7.2 16-16V272h64v80c0 8.8 7.2 16 16 16s16-7.2 16-16V272h48V392.9c0 11.3 11.4 19 21.4 13.8c20.1-10.3 38.2-22.9 54-36.3c39.1-33 66.9-72.4 81-99.8c4.7-9.2 4.7-20.1 0-29.3c-14.1-27.4-41.9-66.8-81-99.8c-15.8-13.4-33.9-26-54-36.3c-10.1-5.1-21.4 2.5-21.4 13.8V240H368V160c0-8.8-7.2-16-16-16s-16 7.2-16 16v80H272V160c0-8.8-7.2-16-16-16s-16 7.2-16 16v80H176V160c0-8.8-7.2-16-16-16s-16 7.2-16 16v80H74.5l-32-98.5zM447.7 259.2c.2-1 .3-2.1 .3-3.2s-.1-2.2-.3-3.2V148.1c8.2 5.6 16 11.5 23.4 17.7c35.6 30 60.9 66.1 73.2 90.1c0 .1 0 .2 0 .3c-12.4 24-37.7 60.1-73.2 90.1c-7.3 6.2-15.1 12.1-23.4 17.7V259.2z\"]\n};\nvar faDeerRudolph = {\n prefix: 'fal',\n iconName: 'deer-rudolph',\n icon: [576, 512, [], \"f78f\", \"M240 0c8.8 0 16 7.2 16 16V40c0 13.3 10.7 24 24 24h8 8c13.3 0 24-10.7 24-24V16c0-8.8 7.2-16 16-16s16 7.2 16 16V40c0 8.6-1.9 16.7-5.4 24h38.8H416c13.3 0 24-10.7 24-24V16c0-8.8 7.2-16 16-16s16 7.2 16 16V40c0 22-12.7 41.1-31.2 50.2l35 35C483.1 108 500.2 96 520 96c26.5 0 48 21.5 48 48s-21.5 48-48 48c-2.9 0-5.7-.3-8.4-.7c-3.4 27.5-26.8 48.7-55.2 48.7H403.9l-18.6 61.8c-.9 3-1.4 6.1-1.4 9.2V472c0 22.1-17.9 40-40 40H312c-22.1 0-40-17.9-40-40V368H257.2c-24.1 0-47.7-5.7-69-16.6c-.9 17.8-10.1 34.4-25.3 44.6c-9.3 6.2-13.4 17.9-9.8 28.6l11.6 34.8c8.6 25.9-10.6 52.6-37.9 52.6H97.3c-17.2 0-32.5-11-37.9-27.4L37.9 420.2c-4.4-13.1-4.4-27.3 0-40.5l8.5-25.4c1.1-3.3 1.6-6.7 1.6-10.1v-4.3c0-8.5-3.4-16.6-9.4-22.6l-3.9-3.9c-.7-.7-1.5-1.5-2.2-2.3L32 321c-.6 8.8-8.1 15.5-17 15s-15.5-8.1-15-17l3.3-53c3.2-50.6 45.1-90 95.8-90H104h16H300.7l10-35.9-13.8 9.2c-7.4 4.9-17.3 2.9-22.2-4.4s-2.9-17.3 4.4-22.2l40-26.7H296h-8-8c-30.9 0-56-25.1-56-56V16c0-8.8 7.2-16 16-16zM348.3 124.2l-20 72.1c-1.9 6.9-8.2 11.7-15.4 11.7H120 104c-30.9 0-56 25.1-56 56v4.1c0 8.5 3.4 16.6 9.4 22.6l3.9 3.9c12 12 18.7 28.3 18.7 45.3v4.3c0 6.9-1.1 13.7-3.3 20.2l-8.5 25.4c-2.2 6.6-2.2 13.7 0 20.2l21.5 64.4c1.1 3.3 4.1 5.5 7.6 5.5h29.4c5.5 0 9.3-5.4 7.6-10.5l-11.6-34.8c-8.1-24.3 1.1-51.1 22.4-65.3c8.2-5.4 12.4-15.1 10.8-24.8l-3.7-21.9c-1-6.3 1.7-12.6 7.1-16.1s12.3-3.4 17.6 .1l13.7 9.2C210.3 329 233.5 336 257.2 336H288c8.8 0 16 7.2 16 16V472c0 4.4 3.6 8 8 8h32c4.4 0 8-3.6 8-8V311c0-6.2 .9-12.4 2.7-18.4l22-73.3c2-6.8 8.3-11.4 15.3-11.4h64.4c13 0 23.6-10.6 23.6-23.6c0-6.3-2.5-12.3-6.9-16.7l-60.4-60.4c-7.2-7.2-17-11.3-27.2-11.3c-17.3 0-32.5 11.5-37.1 28.2zM400 128a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm136 16a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faFax = {\n prefix: 'fal',\n iconName: 'fax',\n icon: [512, 512, [128224, 128439], \"f1ac\", \"M160 64c0-17.7 14.3-32 32-32H388.1c8.5 0 16.6 3.4 22.6 9.4l27.9 27.9c6 6 9.4 14.1 9.4 22.6V160h32V91.9c0-17-6.7-33.3-18.7-45.3L433.4 18.7C421.4 6.7 405.1 0 388.1 0H192c-35.3 0-64 28.7-64 64v72.6c-9.4-5.4-20.3-8.6-32-8.6H64c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H96c19.1 0 36.3-8.4 48-21.7c11.7 13.3 28.9 21.7 48 21.7H448c35.3 0 64-28.7 64-64V256c0-35.3-28.7-64-64-64H160V64zm0 160H448c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V224zm-32-32v16V448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V192c0-17.7 14.3-32 32-32H96c17.7 0 32 14.3 32 32zM296 304a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm72 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm24 72a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM272 424a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faParagraph = {\n prefix: 'fal',\n iconName: 'paragraph',\n icon: [448, 512, [182], \"f1dd\", \"M32 192c0-88.4 71.6-160 160-160h64H432c8.8 0 16 7.2 16 16s-7.2 16-16 16H384l0 400c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-400H288V464c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-112H192c-88.4 0-160-71.6-160-160zM256 320V64H192C121.3 64 64 121.3 64 192s57.3 128 128 128h64z\"]\n};\nvar faHeadSideHeart = {\n prefix: 'fal',\n iconName: 'head-side-heart',\n icon: [512, 512, [], \"e1aa\", \"M32 224C32 118 118 32 224 32h16c66.1 0 127.1 40 153.8 96.9c3.2 6.9 6.5 14.2 9.9 21.7l0 0 0 0c6.2 13.9 12.7 28.5 19.8 42c11.1 21.3 24.8 42.3 44 59.4l3.2 2.8c6 5.3 9.5 13 9.5 21.1c0 15.6-12.6 28.2-28.2 28.2H432c-8.8 0-16 7.2-16 16v64c0 17.7-14.3 32-32 32H304c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V448h64c35.3 0 64-28.7 64-64V336h3.8c33.2 0 60.2-26.9 60.2-60.2c0-17.2-7.4-33.6-20.2-45l-3.2-2.8c-15.1-13.5-26.6-30.6-36.9-50.3c-6.7-12.7-12.3-25.5-18.2-38.7l0 0c-3.5-7.8-7-15.7-10.8-23.8C390.8 47.3 318.6 0 240 0H224C100.3 0 0 100.3 0 224c0 52.9 18.4 101.6 49.1 140C58.5 375.6 64 388.6 64 401.4V496c0 8.8 7.2 16 16 16s16-7.2 16-16V401.4c0-22.1-9.5-41.9-21.9-57.4C47.7 311.1 32 269.4 32 224zm112-34.7c0-16.2 13.1-29.3 29.3-29.3c7.8 0 15.2 3.1 20.7 8.6l18.7 18.7c6.2 6.2 16.4 6.2 22.6 0l18.7-18.7c5.5-5.5 12.9-8.6 20.7-8.6c16.2 0 29.3 13.1 29.3 29.3c0 7.8-3.1 15.2-8.6 20.7L224 281.4l-71.4-71.4c-5.5-5.5-8.6-12.9-8.6-20.7zM173.3 128c-33.8 0-61.3 27.4-61.3 61.3c0 16.2 6.5 31.8 17.9 43.3l82.7 82.7c6.2 6.2 16.4 6.2 22.6 0l82.7-82.7c11.5-11.5 17.9-27.1 17.9-43.3c0-33.8-27.4-61.3-61.3-61.3c-16.2 0-31.8 6.5-43.3 17.9l-7.4 7.4-7.4-7.4c-11.5-11.5-27.1-17.9-43.3-17.9z\"]\n};\nvar faSquareE = {\n prefix: 'fal',\n iconName: 'square-e',\n icon: [448, 512, [], \"e26d\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm160 32H304c8.8 0 16 7.2 16 16s-7.2 16-16 16H160v80H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H160v80H304c8.8 0 16 7.2 16 16s-7.2 16-16 16H160c-17.7 0-32-14.3-32-32V256 160c0-17.7 14.3-32 32-32z\"]\n};\nvar faMeterFire = {\n prefix: 'fal',\n iconName: 'meter-fire',\n icon: [640, 512, [], \"e1eb\", \"M256 32c76.2 0 143.5 38 183.9 96.1c12.4-1 25.2 3 35 11.9c5.6 5.1 11.1 10.2 16.6 15.5C452.5 64.1 361.7 0 256 0C114.6 0 0 114.6 0 256S114.6 512 256 512c33.6 0 65.7-6.5 95.1-18.3c-8.5-7.8-16.3-16.3-23.2-25.5C305.3 475.9 281.1 480 256 480C132.3 480 32 379.7 32 256S132.3 32 256 32zM368 144c0-8.8-7.2-16-16-16s-16 7.2-16 16v64c0 4.4 1.8 8.5 4.7 11.4c8.3-11.6 17.4-23.1 27.3-34.4V144zm-192 0c0-8.8-7.2-16-16-16s-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V144zm96 0c0-8.8-7.2-16-16-16s-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V144zm175.1 49.1l47.4 49.8c3.1 3.2 7.4 5 11.9 5s8.7-2 11.7-5.4l21-23.7c16.6 15.9 33.7 37.3 46.7 60.7c13.7 24.6 22.2 50 22.2 72.6c0 33.5-12.7 63.9-33.6 86.6c1-5.2 1.6-10.7 1.6-16.2c0-57.4-63.8-110.5-87.4-128.2c-5.2-3.9-12.1-3.9-17.3 0C447.8 312.1 384 365.2 384 422.6c0 5.7 .6 11.2 1.6 16.6c-21-22.8-33.6-53.3-33.6-87c0-28.4 12.4-58.2 31.4-86.7c18.4-27.5 42-52.6 63.7-72.3zM480 480c-2.4 0-4.7-.1-7-.2c-33.7-3.2-57-29.4-57-57.3c0-17.4 10.1-37.7 27.4-58.5c12.1-14.5 25.8-27 36.6-35.8c10.7 8.8 24.5 21.3 36.6 35.8c17.3 20.7 27.4 41.1 27.4 58.5c0 27.8-23.2 54-56.9 57.3c-2.4 .1-4.7 .2-7.1 .2zM320 352.2c0 85.6 65.7 155 150.9 159.6c3 .3 6 .4 9.1 .4c3.1 0 6.2-.1 9.2-.4C573.6 507 640 437.7 640 352.2c0-30-11-60.9-26.2-88.1c-15.2-27.4-35.3-52.3-55-70.6c-11.2-10.4-28.5-10.4-39.7-.1c-.4 .4-.8 .7-1.1 1.2l-12.3 13.8-37.9-39.9c-.3-.3-.5-.5-.8-.8c-11.1-10.1-28.1-10.1-39.3-.1c-23.4 21.1-50 48.9-70.9 80.2C336 278.8 320 314.8 320 352.2z\"]\n};\nvar faCloudHail = {\n prefix: 'fal',\n iconName: 'cloud-hail',\n icon: [512, 512, [], \"f739\", \"M176 32c-44.2 0-80 35.8-80 80c0 5.4 .5 10.6 1.5 15.7c1.7 8.3-3.5 16.5-11.7 18.6c-31 8-53.9 36.2-53.9 69.7c0 39.8 32.2 72 72 72H408c39.8 0 72-32.2 72-72s-32.2-72-72-72c-2.2 0-4.4 .1-6.6 .3c-4.5 .4-8.9-1.1-12.2-4.1s-5.2-7.3-5.2-11.8l0-.3c0-35.3-28.7-64-64-64c-17.8 0-33.9 7.2-45.5 19c-3.7 3.7-9 5.4-14.1 4.5s-9.6-4.3-11.8-9C235.9 51 208.2 32 176 32zm238.7 80.2C469 115.7 512 160.8 512 216c0 57.4-46.6 104-104 104H104C46.6 320 0 273.4 0 216c0-43.4 26.6-80.5 64.3-96.1c-.2-2.6-.3-5.2-.3-7.9C64 50.1 114.1 0 176 0c37.9 0 71.3 18.8 91.6 47.5C282.7 37.7 300.7 32 320 32c47.6 0 87.2 34.7 94.7 80.2zM96 392a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM56 464a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm168-72a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm-40 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm168-72a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm-40 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faCheckToSlot = {\n prefix: 'fal',\n iconName: 'check-to-slot',\n icon: [576, 512, [\"vote-yea\"], \"f772\", \"M144 64c-8.8 0-16 7.2-16 16V384H448V80c0-8.8-7.2-16-16-16H144zM480 80V384h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H480 448 128 96 80c-8.8 0-16-7.2-16-16s7.2-16 16-16H96V80c0-26.5 21.5-48 48-48H432c26.5 0 48 21.5 48 48zM48 320H64v32H48c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16H528c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16H512V320h16c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V368c0-26.5 21.5-48 48-48zM379.3 174L272.6 280.6c-6.2 6.2-16.4 6.2-22.6 0l-53.3-53.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l42 42 95.4-95.4c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faVoteYea = faCheckToSlot;\nvar faMoneyFromBracket = {\n prefix: 'fal',\n iconName: 'money-from-bracket',\n icon: [640, 512, [], \"e312\", \"M80 32C53.5 32 32 53.5 32 80v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V80C0 35.8 35.8 0 80 0H560c44.2 0 80 35.8 80 80v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V80c0-26.5-21.5-48-48-48H80zM496 96c8.8 0 16 7.2 16 16l0 344c0 30.9-25.1 56-56 56H184c-30.9 0-56-25.1-56-56l0-344c0-8.8 7.2-16 16-16s16 7.2 16 16l0 272c53 0 96 43 96 96H384c0-53 43-96 96-96V112c0-8.8 7.2-16 16-16zM224 480c0-35.3-28.7-64-64-64l0 40c0 13.3 10.7 24 24 24h40zm232 0c13.3 0 24-10.7 24-24l0-40c-35.3 0-64 28.7-64 64h40zM320 208c-47 0-80 31.3-80 64s33 64 80 64s80-31.3 80-64s-33-64-80-64zm112 64c0 55.6-53 96-112 96s-112-40.4-112-96s53-96 112-96s112 40.4 112 96z\"]\n};\nvar faStarHalf = {\n prefix: 'fal',\n iconName: 'star-half',\n icon: [576, 512, [61731], \"f089\", \"M226.5 168.8c-4.6 9.5-13.6 16.1-24.1 17.7L65 206.8l99.8 98.8c7.4 7.3 10.8 17.8 9 28.1L150.2 473.2l129.7-69.3V58.8l-53.4 110zM293.3 .6c10.9 2.5 18.6 12.2 18.6 23.4V408.7c0 8.9-4.9 17-12.7 21.2L151 509.1c-8.1 4.3-17.9 3.7-25.3-1.7s-11.2-14.5-9.7-23.5l26.2-155.6L31.1 218.3c-6.5-6.4-8.7-15.9-5.9-24.5s10.3-14.9 19.3-16.3l153.2-22.6L266.3 13.5c4.9-10.1 16.1-15.4 27-12.9z\"]\n};\nvar faCarBus = {\n prefix: 'fal',\n iconName: 'car-bus',\n icon: [640, 512, [], \"f85a\", \"M45.8 70.1C38.8 75.7 34.7 84.5 33 96H192 351c-1.7-11.5-5.9-20.3-12.9-25.9C316.2 52.8 271 32 192 32S67.8 52.8 45.8 70.1zM32 128v96H176V128H32zm0 128v96c0 17.7 14.3 32 32 32H224v32H64l0 48c0 8.8-7.2 16-16 16s-16-7.2-16-16V407.4C12.9 396.4 0 375.7 0 352V110.2C0 88.9 4.5 62.1 26 45C54.8 22.2 107.5 0 192 0s137.2 22.2 166 45c21.5 17 26 43.9 26 65.2V144h-3.8c-9.8 0-19.2 1.5-28.2 4.2V128H208v96h76.9l-9.1 32H192 32zm72 32a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm276.2-80c-14.3 0-26.8 9.5-30.8 23.2L333.2 288c.9 0 1.9 0 2.8 0H560c.9 0 1.9 0 2.8 0l-16.2-56.8c-3.9-13.7-16.5-23.2-30.8-23.2H380.2zm-61.5 14.4c7.8-27.5 33-46.4 61.5-46.4H515.8c28.6 0 53.7 18.9 61.5 46.4L599 298.1c24.5 13.7 41 39.9 41 69.9v48 16 32 32c0 8.8-7.2 16-16 16s-16-7.2-16-16V464H288v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V464 432 416 368c0-30 16.6-56.2 41-69.9l21.6-75.7zM608 416V368c0-26.5-21.5-48-48-48H336c-26.5 0-48 21.5-48 48v48 16H608V416zM336 352a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm200 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faSpeaker = {\n prefix: 'fal',\n iconName: 'speaker',\n icon: [384, 512, [], \"f8df\", \"M64 32C46.3 32 32 46.3 32 64V448c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H64zM0 64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM272 336a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zM80 336a112 112 0 1 1 224 0A112 112 0 1 1 80 336zm88 0a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm56-208a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-96 0a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z\"]\n};\nvar faTimer = {\n prefix: 'fal',\n iconName: 'timer',\n icon: [512, 512, [], \"e29e\", \"M256 0c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V32.6C388.2 40.8 480 137.7 480 256c0 123.7-100.3 224-224 224S32 379.7 32 256c0-61.9 25.1-117.8 65.6-158.4c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0C28.7 121.3 0 185.3 0 256C0 397.4 114.6 512 256 512s256-114.6 256-256S397.4 0 256 0zM171.3 148.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l96 96c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-96-96z\"]\n};\nvar faBoxesStacked = {\n prefix: 'fal',\n iconName: 'boxes-stacked',\n icon: [576, 512, [62625, \"boxes\", \"boxes-alt\"], \"f468\", \"M384 32c17.7 0 32 14.3 32 32V192h32V64c0-35.3-28.7-64-64-64H320 256 192c-35.3 0-64 28.7-64 64V192h32V64c0-17.7 14.3-32 32-32h32V88c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V32h32zM256 32h64V88c0 4.4-3.6 8-8 8H264c-4.4 0-8-3.6-8-8V32zm71.6 480H512c35.3 0 64-28.7 64-64V288c0-35.3-28.7-64-64-64H448 384 327.6c8.3 9.2 14.8 20.1 19 32H352v31.9 .1 24c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V256h32c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H346.5c-4.2 11.9-10.7 22.8-19 32zM384 256h64v56c0 4.4-3.6 8-8 8H392c-4.4 0-8-3.6-8-8V256zm-128 0c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V288c0-17.7 14.3-32 32-32H96v56c0 22.1 17.9 40 40 40h48c22.1 0 40-17.9 40-40V256h32zM128 312V256h64v56c0 4.4-3.6 8-8 8H136c-4.4 0-8-3.6-8-8zm128-88H224 192 128 96 64c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H256c35.3 0 64-28.7 64-64V288c0-35.3-28.7-64-64-64z\"]\n};\nvar faBoxes = faBoxesStacked;\nvar faBoxesAlt = faBoxesStacked;\nvar faLandmarkMagnifyingGlass = {\n prefix: 'fal',\n iconName: 'landmark-magnifying-glass',\n icon: [640, 512, [], \"e622\", \"M448 288c-11 0-21.7-1.1-32-3.2V352H336V242.3c-5.8-5.7-11.1-11.8-16-18.3H304V352H208V224H176V352H96V224H64V352c-8.8 0-16 7.2-16 16s7.2 16 16 16H448c8.8 0 16-7.2 16-16s-7.2-16-16-16V288zM263.9 2.1C259-.7 253-.7 248.1 2.1L15.8 133.7C6 139.3 0 149.6 0 160.8C0 178 14 192 31.2 192H301.3c-4.4-10.2-7.9-20.9-10.1-32H34.3L256 34.4l46.7 26.5c4.5-9.8 10-19 16.3-27.6L263.9 2.1zM24 432c0 8.8 7.2 16 16 16H472c8.8 0 16-7.2 16-16s-7.2-16-16-16H40c-8.8 0-16 7.2-16 16zM0 496c0 8.8 7.2 16 16 16H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H16c-8.8 0-16 7.2-16 16zM448 32.1a96 96 0 1 1 0 192 96 96 0 1 1 0-192zm0 224c29.6 0 56.8-10 78.5-26.9l86.2 86.2c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-86.2-86.2C566 185 576 157.7 576 128.2c0-70.7-57.3-128-128-128s-128 57.3-128 128s57.3 128 128 128z\"]\n};\nvar faGrillHot = {\n prefix: 'fal',\n iconName: 'grill-hot',\n icon: [448, 512, [], \"e5a5\", \"M112 0c-8.8 0-16 7.2-16 16v4c0 17.6 8.3 34.2 22.4 44.8l32 24c6 4.5 9.6 11.6 9.6 19.2v4c0 8.8 7.2 16 16 16s16-7.2 16-16v-4c0-17.6-8.3-34.2-22.4-44.8l-32-24c-6-4.5-9.6-11.6-9.6-19.2V16c0-8.8-7.2-16-16-16zM256 352H192c-88.4 0-160-71.6-160-160H416c0 88.4-71.6 160-160 160zM32 160c-17.7 0-32 14.3-32 32c0 80.5 49.5 149.4 119.7 177.9l-7.4 16.2c-5.2-1.4-10.7-2.1-16.4-2.1c-35.3 0-64 28.7-64 64s28.7 64 64 64c29.8 0 54.9-20.4 62-48H335.9l17.6 38.6c3.7 8 13.1 11.6 21.2 7.9s11.6-13.1 7.9-21.2L328.3 369.9C398.5 341.4 448 272.5 448 192c0-17.7-14.3-32-32-32H32zM140.4 401.9l10.2-22.4c13.4 2.9 27.2 4.5 41.5 4.5h64c14.2 0 28.1-1.5 41.5-4.5L321.3 432H158c-3-11.7-9.2-22-17.6-30.1zM64 448a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM224 16c0-8.8-7.2-16-16-16s-16 7.2-16 16v4c0 17.6 8.3 34.2 22.4 44.8l32 24c6 4.5 9.6 11.6 9.6 19.2v4c0 8.8 7.2 16 16 16s16-7.2 16-16v-4c0-17.6-8.3-34.2-22.4-44.8l-32-24c-6-4.5-9.6-11.6-9.6-19.2V16z\"]\n};\nvar faBallotCheck = {\n prefix: 'fal',\n iconName: 'ballot-check',\n icon: [448, 512, [], \"f733\", \"M384 32c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H384zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zm96 128c0 8.8 7.2 16 16 16H352c8.8 0 16-7.2 16-16s-7.2-16-16-16H176c-8.8 0-16 7.2-16 16zm32 128c0 8.8 7.2 16 16 16H352c8.8 0 16-7.2 16-16s-7.2-16-16-16H208c-8.8 0-16 7.2-16 16zM160 384c0 8.8 7.2 16 16 16H352c8.8 0 16-7.2 16-16s-7.2-16-16-16H176c-8.8 0-16 7.2-16 16zM88 104c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V120c0-8.8-7.2-16-16-16H88zM72 376v16c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16V376c0-8.8-7.2-16-16-16H88c-8.8 0-16 7.2-16 16zm91.3-132.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L104 257.4 91.3 244.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l24 24c6.2 6.2 16.4 6.2 22.6 0l48-48z\"]\n};\nvar faLink = {\n prefix: 'fal',\n iconName: 'link',\n icon: [640, 512, [128279, \"chain\"], \"f0c1\", \"M591.5 256c50-50 50-131 0-181s-131-50-181 0L387.9 97.6c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l22.6-22.6c37.5-37.5 98.3-37.5 135.8 0s37.5 98.3 0 135.8L444.3 357.9c-37.4 37.4-98.1 37.4-135.6 0c-35.6-35.6-37.6-92.6-4.7-130.6l5.3-6.1c5.8-6.7 5.1-16.8-1.6-22.6s-16.8-5.1-22.6 1.6l-5.3 6.1c-43.9 50.7-41.2 126.7 6.2 174.1c49.9 49.9 130.9 49.9 180.8 0L591.5 256zM48.5 256c-50 50-50 131 0 181s131 50 181 0l22.6-22.6c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-22.6 22.6c-37.5 37.5-98.3 37.5-135.8 0s-37.5-98.3 0-135.8L195.7 154.1c37.4-37.4 98.1-37.4 135.6 0c35.6 35.6 37.6 92.6 4.7 130.6l-5.3 6.1c-5.8 6.7-5.1 16.8 1.6 22.6s16.8 5.1 22.6-1.6l5.3-6.1c43.9-50.7 41.2-126.7-6.2-174.1C303.9 81.5 223 81.5 173 131.4L48.5 256z\"]\n};\nvar faChain = faLink;\nvar faEarListen = {\n prefix: 'fal',\n iconName: 'ear-listen',\n icon: [512, 512, [\"assistive-listening-systems\"], \"f2a2\", \"M350 8.2c-4.3 7.7-1.5 17.5 6.2 21.8C430.1 71 480 149.7 480 240c0 8.8 7.2 16 16 16s16-7.2 16-16C512 137.6 455.4 48.4 371.8 2C364.1-2.3 354.3 .5 350 8.2zM96 240c0-79.5 64.5-144 144-144s144 64.5 144 144c0 41.9-17.9 79.7-46.5 106c-10.1 9.2-17.5 22.6-17.5 38c0 53-43 96-96 96H208c-8.8 0-16 7.2-16 16s7.2 16 16 16h16c70.7 0 128-57.3 128-128c0-4.8 2.4-10 7.1-14.4C394.1 337.4 416 291.3 416 240c0-97.2-78.8-176-176-176S64 142.8 64 240c0 8.8 7.2 16 16 16s16-7.2 16-16zm64 136a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM32 504a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM52.7 372.7c-6.2 6.2-6.2 16.4 0 22.6l64 64c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-64-64c-6.2-6.2-16.4-6.2-22.6 0zM160 240c0-44.2 35.8-80 80-80s80 35.8 80 80c0 8.8 7.2 16 16 16s16-7.2 16-16c0-61.9-50.1-112-112-112s-112 50.1-112 112c0 8.8 7.2 16 16 16s16-7.2 16-16z\"]\n};\nvar faAssistiveListeningSystems = faEarListen;\nvar faFileMinus = {\n prefix: 'fal',\n iconName: 'file-minus',\n icon: [384, 512, [], \"f318\", \"M320 480H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H192V144c0 26.5 21.5 48 48 48H352V448c0 17.7-14.3 32-32 32zM240 160c-8.8 0-16-7.2-16-16V32.5c2.8 .7 5.4 2.1 7.4 4.2L347.3 152.6c2.1 2.1 3.5 4.6 4.2 7.4H240zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V163.9c0-12.7-5.1-24.9-14.1-33.9L254.1 14.1c-9-9-21.2-14.1-33.9-14.1H64zM96 320c-8.8 0-16 7.2-16 16s7.2 16 16 16H288c8.8 0 16-7.2 16-16s-7.2-16-16-16H96z\"]\n};\nvar faTreeCity = {\n prefix: 'fal',\n iconName: 'tree-city',\n icon: [640, 512, [], \"e587\", \"M336 32c-8.8 0-16 7.2-16 16V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V48c0-26.5 21.5-48 48-48H464c26.5 0 48 21.5 48 48V192h32V112c0-8.8 7.2-16 16-16s16 7.2 16 16v80h16c26.5 0 48 21.5 48 48V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V240c0-8.8-7.2-16-16-16H560 496c-8.8 0-16-7.2-16-16V48c0-8.8-7.2-16-16-16H336zm48 32h32c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32H384c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32zm0 32v32h32V96H384zm96 192c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32H512c-17.7 0-32-14.3-32-32V288zm64 0H512v32h32V288zm-32 96h32c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32H512c-17.7 0-32-14.3-32-32V416c0-17.7 14.3-32 32-32zm0 32v32h32V416H512zM352 224c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32H384c-17.7 0-32-14.3-32-32V224zm64 0H384v32h32V224zm-32 96h32c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32H384c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32zm0 32v32h32V352H384zM128 224c8.8 0 16 7.2 16 16v48h32c26.5 0 48-21.5 48-48c0-16-7.8-30.2-19.9-38.9l-8-5.8c-4.9-3.5-7.4-9.5-6.4-15.5l.4-2.6c1.1-6.7 1.9-11.9 1.9-17.2c0-35.3-28.7-64-64-64s-64 28.7-64 64c0 5.3 .8 10.5 1.9 17.2l.4 2.6c.9 6-1.5 11.9-6.4 15.5l-8 5.8C39.8 209.8 32 224 32 240c0 26.5 21.5 48 48 48h32V240c0-8.8 7.2-16 16-16zm-16 96H80c-44.2 0-80-35.8-80-80c0-26.7 13.1-50.3 33.2-64.9l0 0c-.7-4.7-1.2-9.9-1.2-15.1c0-53 43-96 96-96s96 43 96 96c0 5.2-.5 10.4-1.2 15.1l0 0C242.9 189.7 256 213.3 256 240c0 44.2-35.8 80-80 80H144V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V320z\"]\n};\nvar faPlay = {\n prefix: 'fal',\n iconName: 'play',\n icon: [384, 512, [9654], \"f04b\", \"M56.3 66.3c-4.9-3-11.1-3.1-16.2-.3s-8.2 8.2-8.2 14V432c0 5.8 3.1 11.1 8.2 14s11.2 2.7 16.2-.3l288-176c4.8-2.9 7.7-8.1 7.7-13.7s-2.9-10.7-7.7-13.7l-288-176zM24.5 38.1C39.7 29.6 58.2 30 73 39L361 215c14.3 8.7 23 24.2 23 41s-8.7 32.2-23 41L73 473c-14.8 9.1-33.4 9.4-48.5 .9S0 449.4 0 432V80C0 62.6 9.4 46.6 24.5 38.1z\"]\n};\nvar faFont = {\n prefix: 'fal',\n iconName: 'font',\n icon: [448, 512, [], \"f031\", \"M238.7 41.8c-2.5-5.9-8.3-9.8-14.7-9.8s-12.2 3.8-14.7 9.8L37.4 448H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H96c8.8 0 16-7.2 16-16s-7.2-16-16-16H72.1l40.6-96H335.2l40.6 96H352c-8.8 0-16 7.2-16 16s7.2 16 16 16h80c8.8 0 16-7.2 16-16s-7.2-16-16-16H410.6L238.7 41.8zm83 278.2H126.3L224 89.1 321.7 320z\"]\n};\nvar faCupTogo = {\n prefix: 'fal',\n iconName: 'cup-togo',\n icon: [448, 512, [\"coffee-togo\"], \"f6c5\", \"M87.9 42.9L70.2 96H377.8L360.1 42.9c-2.2-6.5-8.3-10.9-15.2-10.9H103.1c-6.9 0-13 4.4-15.2 10.9zM47.6 128H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H36.5L57.5 32.8C64.1 13.2 82.4 0 103.1 0H344.9c20.7 0 39 13.2 45.5 32.8L411.5 96H432c8.8 0 16 7.2 16 16s-7.2 16-16 16H400.4c-.2 0-.5 0-.7 0H48.4c-.2 0-.5 0-.7 0zm27 325.9L47.4 160H79.5l5.9 64H362.5l5.9-64h32.1L373.4 453.9c-3 32.9-30.7 58.1-63.7 58.1H138.3c-33.1 0-60.7-25.2-63.7-58.1zM359.6 256H88.4l11.9 128H347.7l11.9-128zM344.8 416H103.2l3.2 35c1.5 16.5 15.3 29 31.9 29H309.7c16.5 0 30.3-12.6 31.9-29l3.2-35z\"]\n};\nvar faCoffeeTogo = faCupTogo;\nvar faSquareDownLeft = {\n prefix: 'fal',\n iconName: 'square-down-left',\n icon: [448, 512, [], \"e26b\", \"M64 448c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32H384c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H64zM0 416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416zm144-88V214.6c0-3.7 3-6.6 6.6-6.6c1.8 0 3.4 .7 4.7 1.9l25.4 25.4c6.2 6.2 16.4 6.2 22.6 0l59.1-59.1c3.6-3.6 9-4.9 13.9-3.3c2 .7 3.8 1.8 5.3 3.3l22.1 22.1c1.5 1.5 2.6 3.3 3.3 5.3c1.6 4.9 .4 10.3-3.3 13.9l-59.1 59.1c-6.2 6.2-6.2 16.4 0 22.6l25.4 25.4c1.2 1.2 1.9 2.9 1.9 4.7c0 3.7-3 6.6-6.6 6.6H152c-4.4 0-8-3.6-8-8zm8 40H265.4c21.3 0 38.6-17.3 38.6-38.6c0-10.2-4.1-20.1-11.3-27.3L278.6 288l47.7-47.7c12.2-12.2 16.5-30.3 11-46.7c-2.2-6.7-6-12.8-11-17.8l-22.1-22.1c-5-5-11.1-8.8-17.8-11c-16.4-5.5-34.5-1.2-46.7 11L192 201.4l-14.1-14.1c-7.2-7.2-17.1-11.3-27.3-11.3c-21.3 0-38.6 17.3-38.6 38.6V328c0 22.1 17.9 40 40 40z\"]\n};\nvar faBurgerLettuce = {\n prefix: 'fal',\n iconName: 'burger-lettuce',\n icon: [512, 512, [], \"e3e3\", \"M256 64c94.4 0 172.9 68.1 189 157.8l0 .1c0 .1-.1 .2-.3 .3c-.7 .8-2.4 1.7-4.7 1.7H72c-2.4 0-4-1-4.7-1.7c-.1-.1-.2-.2-.3-.3l0-.1C83.1 132.1 161.6 64 256 64zM35.5 216.2C31.6 237.9 49.9 256 72 256H440c22.1 0 40.4-18.1 36.5-39.8C457.7 111.5 366.1 32 256 32S54.3 111.5 35.5 216.2zM128 448c-35.3 0-64-28.7-64-64H448c0 35.3-28.7 64-64 64H128zM32 384c0 53 43 96 96 96H384c53 0 96-43 96-96c0-17.7-14.3-32-32-32H64c-17.7 0-32 14.3-32 32zM176 144a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm80-16a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm112 16a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM80 334.4c19.6 0 35.2-9.4 47.6-16.8l2.1-1.3c13.5-8.1 24.4-14 38.3-14c13.5 0 22.2 5.5 34.9 13.7c12.7 8.2 28.6 18.3 53.1 18.3c24.4 0 39.5-10.1 51.6-18.1l.4-.3c11.8-7.9 20.7-13.6 36-13.6c15.7 0 26.7 6 39.5 13.9l2.6 1.6c11.7 7.3 26.6 16.5 45.9 16.5c18.5 0 32.7-4.6 42.4-9.5c4.9-2.4 8.6-4.9 11.2-6.9c1.3-1 2.3-1.8 3.1-2.5c.4-.3 .7-.6 .9-.8l.3-.3 .1-.1 0 0 0 0 0 0s0 0-10.2-10.2l10.2 10.2c5.6-5.6 5.6-14.7 0-20.4c-5.6-5.6-14.6-5.6-20.2-.1l-.2 .2c-.2 .2-.7 .6-1.4 1.1c-1.4 1-3.7 2.6-6.8 4.1c-6.2 3.1-16 6.5-29.6 6.5c-10.9 0-19.2-5.1-32.6-13.4l-.8-.5c-13.3-8.2-30.3-18.1-54.5-18.1c-24.4 0-39.5 10.1-51.6 18.1l-.4 .3c-11.8 7.9-20.7 13.6-36 13.6c-15.5 0-25.3-5.9-37.5-13.7l-1.4-.9c-11.9-7.7-26.9-17.4-49.1-17.4c-22.7 0-39.8 10.1-53.1 18c-14.2 8.5-23.6 14-34.9 14c-13.5 0-23.3-3.4-29.6-6.5c-3.1-1.6-5.4-3.1-6.8-4.1c-.7-.5-1.2-.9-1.4-1.1l-.2-.2c-5.6-5.5-14.7-5.4-20.2 .1c-5.6 5.6-5.6 14.7 0 20.4L32 304c-10.2 10.2-10.2 10.2-10.2 10.2l0 0 0 0 0 0 .1 .1 .3 .3c.2 .2 .6 .5 .9 .8c.8 .7 1.8 1.5 3.1 2.5c2.6 2 6.3 4.4 11.2 6.9c9.8 4.9 24 9.5 42.4 9.5z\"]\n};\nvar faTableCellsRowLock = {\n prefix: 'fal',\n iconName: 'table-cells-row-lock',\n icon: [640, 512, [], \"e67a\", \"M64 64C46.3 64 32 78.3 32 96l0 64 448 0 0-64c0-17.7-14.3-32-32-32L64 64zM32 192l0 128 128 0 0-128L32 192zm0 160l0 64c0 17.7 14.3 32 32 32l96 0 0-96L32 352zm160 96l128 0 0-96-128 0 0 96zm160 0l32 0 0 32L64 480c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l384 0c35.3 0 64 28.7 64 64l0 65.1c-24.1 3.5-45.8 14.6-62.4 30.9L352 192l0 128 40.6 0c-5.4 9.4-8.6 20.3-8.6 32l-32 0 0 96zM192 320l128 0 0-128-128 0 0 128zm336-96c-26.5 0-48 21.5-48 48l0 48 96 0 0-48c0-26.5-21.5-48-48-48zm-80 48c0-44.2 35.8-80 80-80s80 35.8 80 80l0 48c17.7 0 32 14.3 32 32l0 128c0 17.7-14.3 32-32 32l-160 0c-17.7 0-32-14.3-32-32l0-128c0-17.7 14.3-32 32-32l0-48zm160 80l-160 0 0 128 160 0 0-128z\"]\n};\nvar faRupiahSign = {\n prefix: 'fal',\n iconName: 'rupiah-sign',\n icon: [512, 512, [], \"e23d\", \"M0 80C0 53.5 21.5 32 48 32h64c79.5 0 144 64.5 144 144c0 65.6-43.9 121-103.9 138.3l54.8 144c3.1 8.3-1 17.5-9.3 20.6s-17.5-1-20.6-9.3L119.9 319.8c-2.6 .1-5.3 .2-7.9 .2H32V464c0 8.8-7.2 16-16 16s-16-7.2-16-16V304 80zM32 288h80c61.9 0 112-50.1 112-112s-50.1-112-112-112H48c-8.8 0-16 7.2-16 16V288zm288-80V352h80c44.2 0 80-35.8 80-80s-35.8-80-80-80H336c-8.8 0-16 7.2-16 16zm16-48h64c61.9 0 112 50.1 112 112s-50.1 112-112 112H320V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V208c0-26.5 21.5-48 48-48z\"]\n};\nvar faMagnifyingGlass = {\n prefix: 'fal',\n iconName: 'magnifying-glass',\n icon: [512, 512, [128269, \"search\"], \"f002\", \"M384 208A176 176 0 1 0 32 208a176 176 0 1 0 352 0zM343.3 366C307 397.2 259.7 416 208 416C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208c0 51.7-18.8 99-50 135.3L507.3 484.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L343.3 366z\"]\n};\nvar faSearch = faMagnifyingGlass;\nvar faTableTennisPaddleBall = {\n prefix: 'fal',\n iconName: 'table-tennis-paddle-ball',\n icon: [512, 512, [127955, \"ping-pong-paddle-ball\", \"table-tennis\"], \"f45d\", \"M423.8 88.2c56.7 56.7 70.5 139.9 41.5 209.6c10 4.2 19.4 9.6 27.9 16.1c35.9-82 20.3-181.2-46.8-248.3c-87.5-87.5-229.3-87.5-316.8 0L69.5 125.7c-24 24-37.5 56.6-37.5 90.5V219c0 33.9 13.5 66.5 37.5 90.5l9.8 9.8c13.1 13.1 12.4 34.6-1.7 46.8L11 423.8C4.3 429.6 .3 438 0 446.9s3.1 17.5 9.4 23.8l32 32c6.3 6.3 14.9 9.7 23.8 9.4s17.2-4.3 23-11l57.7-66.6c12.2-14 33.7-14.8 46.8-1.7l9.8 9.8c24 24 56.6 37.5 90.5 37.5h2.7c3.1 0 6.1-.1 9.2-.3c-5.6-9.8-10-20.4-12.9-31.7c-25.1-.3-49.1-10.3-66.9-28.1l-9.8-9.8c-26.3-26.3-69.3-24.7-93.6 3.3L64 480 32 448l66.6-57.7c28.1-24.3 29.6-67.4 3.3-93.6l-9.8-9.8C74.1 268.9 64 244.4 64 219v-2.7c0-18.2 5.2-35.8 14.6-51L293.2 379.8c3.3-11.1 8-21.6 14-31.3L99.5 140.9l52.7-52.7c75-75 196.5-75 271.5 0zM352 416a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zm160 0a96 96 0 1 0 -192 0 96 96 0 1 0 192 0z\"]\n};\nvar faPingPongPaddleBall = faTableTennisPaddleBall;\nvar faTableTennis = faTableTennisPaddleBall;\nvar faPersonDotsFromLine = {\n prefix: 'fal',\n iconName: 'person-dots-from-line',\n icon: [576, 512, [\"diagnoses\"], \"f470\", \"M344 88A56 56 0 1 0 232 88a56 56 0 1 0 112 0zM200 88a88 88 0 1 1 176 0A88 88 0 1 1 200 88zM80 192a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm96 256V256.6c-21.4 6.5-40.2 14.2-56.3 21.9c-20 9.6-35.5 19.2-45.9 26.3c-5.2 3.6-9.2 6.5-11.7 8.5c-1.3 1-2.2 1.8-2.9 2.3l-.6 .5-.1 .1 0 0 0 0c-6.7 5.8-16.8 5-22.6-1.7s-5-16.8 1.7-22.6L48 304c-10.4-12.1-10.4-12.1-10.4-12.1l0 0 0 0 .1-.1 .3-.2 1-.8c.8-.7 2-1.6 3.5-2.8c3.1-2.4 7.5-5.7 13.3-9.6c11.6-7.9 28.5-18.3 50.1-28.7C149.1 228.8 211.5 208 288 208s138.9 20.8 182.1 41.6c21.6 10.4 38.5 20.8 50.1 28.7c5.8 3.9 10.2 7.3 13.3 9.6c1.5 1.2 2.7 2.1 3.5 2.8l1 .8 .3 .2 .1 .1 0 0 0 0s0 0-10.4 12.1l10.4-12.1c6.7 5.8 7.4 15.9 1.7 22.6s-15.9 7.4-22.5 1.7l0 0 0 0 0 0 0 0-.1-.1-.6-.5c-.6-.5-1.6-1.3-2.9-2.3c-2.6-2-6.5-4.9-11.7-8.5c-10.4-7.1-25.9-16.7-45.9-26.3c-16-7.7-34.9-15.4-56.3-21.9V448H368V248.4c-24.3-5.1-51-8.4-80-8.4s-55.7 3.2-80 8.4V448H176zM0 496c0-8.8 7.2-16 16-16H560c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16-7.2-16-16zM304 336a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM464 192a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faDiagnoses = faPersonDotsFromLine;\nvar faChevronsDown = {\n prefix: 'fal',\n iconName: 'chevrons-down',\n icon: [512, 512, [\"chevron-double-down\"], \"f322\", \"M52.7 75.3l192 192c6.2 6.2 16.4 6.2 22.6 0l192-192c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L256 233.4 75.3 52.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6zm0 192l192 192c6.2 6.2 16.4 6.2 22.6 0l192-192c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L256 425.4 75.3 244.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6z\"]\n};\nvar faChevronDoubleDown = faChevronsDown;\nvar faTrashCanArrowUp = {\n prefix: 'fal',\n iconName: 'trash-can-arrow-up',\n icon: [448, 512, [\"trash-restore-alt\"], \"f82a\", \"M164.2 39.5L148.9 64H299.1L283.8 39.5c-2.9-4.7-8.1-7.5-13.6-7.5H177.7c-5.5 0-10.6 2.8-13.6 7.5zM311 22.6L336.9 64H384h32 16c8.8 0 16 7.2 16 16s-7.2 16-16 16H416V432c0 44.2-35.8 80-80 80H112c-44.2 0-80-35.8-80-80V96H16C7.2 96 0 88.8 0 80s7.2-16 16-16H32 64h47.1L137 22.6C145.8 8.5 161.2 0 177.7 0h92.5c16.6 0 31.9 8.5 40.7 22.6zM64 96V432c0 26.5 21.5 48 48 48H336c26.5 0 48-21.5 48-48V96H64zm160 80c4.2 0 8.3 1.7 11.3 4.7l80 80c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L240 230.6V392c0 8.8-7.2 16-16 16s-16-7.2-16-16V230.6l-52.7 52.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l80-80c3-3 7.1-4.7 11.3-4.7z\"]\n};\nvar faTrashRestoreAlt = faTrashCanArrowUp;\nvar faSignalGood = {\n prefix: 'fal',\n iconName: 'signal-good',\n icon: [640, 512, [\"signal-3\"], \"f68e\", \"M336 208c0-8.8-7.2-16-16-16s-16 7.2-16 16V496c0 8.8 7.2 16 16 16s16-7.2 16-16V208zM192 288c-8.8 0-16 7.2-16 16V496c0 8.8 7.2 16 16 16s16-7.2 16-16V304c0-8.8-7.2-16-16-16zM64 384c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V400c0-8.8-7.2-16-16-16z\"]\n};\nvar faSignal3 = faSignalGood;\nvar faLocationQuestion = {\n prefix: 'fal',\n iconName: 'location-question',\n icon: [384, 512, [\"map-marker-question\"], \"f60b\", \"M352 192c0-88.4-71.6-160-160-160S32 103.6 32 192c0 15.6 5.4 37 16.6 63.4c10.9 25.9 26.2 54 43.6 82.1c34.1 55.3 74.4 108.2 99.9 140c25.4-31.8 65.8-84.7 99.9-140c17.3-28.1 32.7-56.3 43.6-82.1C346.6 229 352 207.6 352 192zm32 0c0 87.4-117 243-168.3 307.2c-12.3 15.3-35.1 15.3-47.4 0C117 435 0 279.4 0 192C0 86 86 0 192 0S384 86 384 192zM104.7 137.8c6.5-24.6 28.7-41.8 54.2-41.8H216c35.5 0 64 29 64 64.3c0 24-13.4 46.2-34.9 57.2L208 236.3V256c0 8.8-7.2 16-16 16s-16-7.2-16-16V226.5c0-6 3.4-11.5 8.7-14.3l45.8-23.4c10.7-5.4 17.5-16.6 17.5-28.7c0-17.8-14.4-32.3-32-32.3H158.9c-10.9 0-20.5 7.4-23.2 17.9l-.2 .7c-2.2 8.5-11 13.7-19.5 11.4s-13.7-11-11.4-19.5l.2-.7zM168 320a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faMapMarkerQuestion = faLocationQuestion;\nvar faFloppyDiskCircleXmark = {\n prefix: 'fal',\n iconName: 'floppy-disk-circle-xmark',\n icon: [576, 512, [\"floppy-disk-times\", \"save-circle-xmark\", \"save-times\"], \"e181\", \"M32 96V416c0 17.7 14.3 32 32 32H275.2c5.9 11.4 12.9 22.2 21 32H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H309.5c17 0 33.3 6.7 45.3 18.7l74.5 74.5c12 12 18.7 28.3 18.7 45.3v22.2c-5.3-.5-10.6-.7-16-.7s-10.7 .2-16 .7V170.5c0-8.5-3.4-16.6-9.4-22.6L332.1 73.4c-3.4-3.4-7.6-6-12.1-7.6V160c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32l0-96C46.3 64 32 78.3 32 96zM224 240c25.1 0 47.4 11.5 62.1 29.5c-6.9 10.2-12.8 21.2-17.4 32.8c-7-17.8-24.4-30.4-44.7-30.4c-26.5 0-48 21.5-48 48s21.5 48 48 48c12.5 0 23.9-4.8 32.4-12.6c-.3 4.2-.4 8.4-.4 12.6c0 8.3 .6 16.5 1.7 24.6C247.5 397.3 236 400 224 400c-44.2 0-80-35.8-80-80s35.8-80 80-80zM96 64v96H288V64H96zM544 368a112 112 0 1 0 -224 0 112 112 0 1 0 224 0zm-256 0a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm166.6 0l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L432 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L409.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L432 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L454.6 368z\"]\n};\nvar faFloppyDiskTimes = faFloppyDiskCircleXmark;\nvar faSaveCircleXmark = faFloppyDiskCircleXmark;\nvar faSaveTimes = faFloppyDiskCircleXmark;\nvar faNairaSign = {\n prefix: 'fal',\n iconName: 'naira-sign',\n icon: [448, 512, [], \"e1f6\", \"M93.2 38.9c-4-5.8-11.2-8.3-17.9-6.2S64 41 64 48V256H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H64V464c0 8.8 7.2 16 16 16s16-7.2 16-16V288H226.7L354.8 473.1c4 5.8 11.2 8.3 17.9 6.2s11.2-8.3 11.2-15.3V288h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H384V48c0-8.8-7.2-16-16-16s-16 7.2-16 16V256H243.5L93.2 38.9zM265.6 288H352V412.8L265.6 288zm-61.1-32H96V99.2L204.5 256z\"]\n};\nvar faPeach = {\n prefix: 'fal',\n iconName: 'peach',\n icon: [512, 512, [], \"e20b\", \"M128 0C101.5 0 80 21.5 80 48c0 17 3.8 33.1 10.6 47.5c9.9-4.1 20.1-7.5 30.7-10.1C115.4 74.3 112 61.5 112 48c0-8.8 7.2-16 16-16h32c37.2 0 68.5 25.4 77.4 59.9c12.1 2.8 25 2.8 37.1 0C283.5 57.4 314.8 32 352 32h32c8.8 0 16 7.2 16 16c0 13.5-3.4 26.3-9.3 37.5c10.6 2.5 20.9 5.9 30.7 10.1C428.2 81.1 432 65 432 48c0-26.5-21.5-48-48-48H352c-40.7 0-76.4 21.8-96 54.3C236.4 21.8 200.7 0 160 0H128zm40 144c69.7 0 127.2 52.4 135.1 120c1 8.8 8.1 16 16.9 16s16.1-7.2 15.2-16c-4-42.8-24.1-80.9-54.1-108.2c6.9-1.2 13.8-2.9 20.5-5.1c13.3-4.4 27.5-6.7 42.4-6.7c75.1 0 136 60.9 136 136c0 51.7-38.2 97-91.1 134c-51.5 36.1-108.6 58.2-128.2 65.3c-1.1 .4-2.6 .7-4.7 .7s-3.5-.3-4.7-.7c-19.6-7-76.7-29.2-128.2-65.3C70.2 377 32 331.7 32 280c0-75.1 60.9-136 136-136zm123.7-23.7c-23 7.5-48.4 7.5-71.4 0c-16.5-5.4-34-8.3-52.3-8.3C75.2 112 0 187.2 0 280C0 416.2 199.3 494.6 240.6 509.4c5 1.8 10.1 2.6 15.4 2.6s10.4-.8 15.4-2.6C312.7 494.6 512 416.2 512 280c0-92.8-75.2-168-168-168c-18.3 0-35.9 2.9-52.3 8.3z\"]\n};\nvar faTaxiBus = {\n prefix: 'fal',\n iconName: 'taxi-bus',\n icon: [640, 512, [], \"e298\", \"M192 32c79 0 124.2 20.8 146.2 38.1c7 5.5 11.1 14.4 12.9 25.9H192 33c1.7-11.5 5.9-20.3 12.9-25.9C67.8 52.8 113 32 192 32zM32 224V128H176v96H32zm0 128V256H192h83.8l9.1-32H208V128H344.6c8.4-14.5 22.3-25.4 38.9-29.8C381.8 79.5 375.6 59 358 45C329.2 22.2 276.5 0 192 0S54.8 22.2 26 45C4.5 62.1 0 88.9 0 110.2V352c0 23.7 12.9 44.4 32 55.4V464c0 8.8 7.2 16 16 16s16-7.2 16-16l0-48H224V384H64c-17.7 0-32-14.3-32-32zm96-40a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM488 160c4.4 0 8 3.6 8 8v8H400v-8c0-4.4 3.6-8 8-8h80zm-120 8v9.2c-23.3 4.5-42.6 21.8-49.3 45.2L297 298.1c-24.5 13.7-41 39.9-41 69.9v48 16 32 32c0 8.8 7.2 16 16 16s16-7.2 16-16V464H608v32c0 8.8 7.2 16 16 16s16-7.2 16-16V464 432 416 368c0-30-16.6-56.2-41-69.9l-21.6-75.7c-6.7-23.5-26-40.7-49.3-45.2V168c0-22.1-17.9-40-40-40H408c-22.1 0-40 17.9-40 40zm16 40H512h3.8c14.3 0 26.8 9.5 30.8 23.2L562.8 288c-.9 0-1.9 0-2.8 0H336c-.9 0-1.9 0-2.8 0l16.2-56.8c3.9-13.7 16.5-23.2 30.8-23.2H384zM608 432H288V416 368c0-26.5 21.5-48 48-48H560c26.5 0 48 21.5 48 48v48 16zM360 376a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm200 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faBracketCurly = {\n prefix: 'fal',\n iconName: 'bracket-curly',\n icon: [256, 512, [\"bracket-curly-left\"], \"7b\", \"M64 112c0-44.2 35.8-80 80-80h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-26.5 0-48 21.5-48 48v53.5c0 21.2-8.4 41.6-23.4 56.6L38.6 256l33.9 33.9c15 15 23.4 35.4 23.4 56.6V400c0 26.5 21.5 48 48 48h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-44.2 0-80-35.8-80-80V346.5c0-12.7-5.1-24.9-14.1-33.9L4.7 267.3c-3-3-4.7-7.1-4.7-11.3s1.7-8.3 4.7-11.3l45.3-45.3c9-9 14.1-21.2 14.1-33.9V112z\"]\n};\nvar faBracketCurlyLeft = faBracketCurly;\nvar faLobster = {\n prefix: 'fal',\n iconName: 'lobster',\n icon: [512, 512, [129438], \"e421\", \"M32 80c0-19.2 11.3-35.8 27.6-43.4L48.3 92.9c-1.7 8.7 3.9 17.1 12.6 18.8s17.1-3.9 18.8-12.6l16-80c.9-4.7-.3-9.6-3.3-13.3S84.8 0 80 0C35.8 0 0 35.8 0 80v48c0 35.3 28.7 64 64 64c6.2 0 12.2-.9 17.9-2.5l26.9 20.1c19.4 14.5 43 22.4 67.2 22.4v24H143.1c-7.5 0-14.8-1.7-21.5-5.1L87.2 233.7c-7.9-4-17.5-.7-21.5 7.2s-.7 17.5 7.2 21.5l34.5 17.2c11.1 5.6 23.4 8.4 35.8 8.4H176v16H122.4c-5.2 0-10.3-.8-15.2-2.5L69.1 288.8c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2l38.1 12.7c8.2 2.7 16.7 4.1 25.3 4.1H176v16h-.9c-12.4 0-24.7 2.9-35.8 8.4l-18.5 9.2c-7.9 4-11.1 13.6-7.2 21.5s13.6 11.1 21.5 7.2l18.5-9.2c6.7-3.3 14-5.1 21.5-5.1h.9v0l18.5 51.7C169.7 444.6 152 468.2 152 496c0 8.8 7.2 16 16 16H344c8.8 0 16-7.2 16-16c0-27.8-17.7-51.4-42.5-60.3L336 384v0h.9c7.4 0 14.8 1.7 21.5 5.1l18.5 9.2c7.9 4 17.5 .7 21.5-7.2s.7-17.5-7.2-21.5l-18.5-9.2c-11.1-5.6-23.4-8.4-35.8-8.4H336V336h53.6c8.6 0 17.1-1.4 25.3-4.1l38.1-12.7c8.4-2.8 12.9-11.9 10.1-20.2s-11.9-12.9-20.2-10.1l-38.1 12.7c-4.9 1.6-10 2.5-15.2 2.5H336V288h32.9c12.4 0 24.7-2.9 35.8-8.4l34.5-17.2c7.9-4 11.1-13.6 7.2-21.5s-13.6-11.1-21.5-7.2l-34.5 17.2c-6.7 3.3-14 5.1-21.5 5.1H336V232c24.2 0 47.8-7.9 67.2-22.4l26.9-20.1c5.7 1.7 11.7 2.5 17.9 2.5c35.3 0 64-28.7 64-64V80c0-44.2-35.8-80-80-80c-4.8 0-9.3 2.1-12.4 5.9s-4.3 8.6-3.3 13.3l16 80c1.7 8.7 10.2 14.3 18.8 12.6s14.3-10.2 12.6-18.8L452.4 36.6C468.7 44.2 480 60.8 480 80v48c0 17.7-14.3 32-32 32s-32-14.3-32-32V80c0-8.8-7.2-16-16-16s-16 7.2-16 16v48c0 16.7 6.4 31.9 16.9 43.3L384 184c-13.8 10.4-30.7 16-48 16c0-25.6-14.7-48.9-32-67.2V80.7c0-15.6 11.3-29 26.7-31.6l7.9-1.3c8.7-1.5 14.6-9.7 13.2-18.4s-9.7-14.6-18.4-13.2l-7.9 1.3C294.6 22.7 272 49.4 272 80.7v25c-3.2-2.2-6.3-4.1-9-5.8c-4.3-2.6-9.7-2.6-14 0c-2.8 1.6-5.8 3.6-9 5.8v-25c0-31.3-22.6-58-53.5-63.1l-7.9-1.3c-8.7-1.5-17 4.4-18.4 13.2s4.4 17 13.2 18.4l7.9 1.3C196.7 51.7 208 65 208 80.7v52.1c-17.3 18.3-32 41.6-32 67.2c-17.3 0-34.2-5.6-48-16l-16.9-12.7C121.6 159.9 128 144.7 128 128V80c0-8.8-7.2-16-16-16s-16 7.2-16 16v48c0 17.7-14.3 32-32 32s-32-14.3-32-32V80zM304 200v32 40 27.6c-1 .2-2.1 .4-3.3 .6c-9.9 1.8-24.9 3.7-44.7 3.7s-34.9-1.9-44.7-3.7c-1.2-.2-2.2-.4-3.3-.6V272 232 200v0c0-12.1 6.5-26.2 19.3-40.9c9-10.4 19.7-19.2 28.7-25.7c9.1 6.4 19.7 15.3 28.7 25.7C297.5 173.8 304 187.9 304 200v0zM208 332.2c11.6 2 27.7 3.8 48 3.8s36.4-1.8 48-3.8v15.4c-1 .2-2.1 .4-3.3 .6c-9.9 1.8-24.9 3.7-44.7 3.7s-34.9-1.9-44.7-3.7c-1.2-.2-2.2-.4-3.3-.6V332.2zM256 384c20 0 35.8-1.7 47.3-3.7l-5.5 15.5c-12.9 2.1-29.3 4.2-41.8 4.2s-28.9-2.1-41.8-4.2l-5.5-15.5c11.5 1.9 27.4 3.7 47.3 3.7zm-30.1 45.8c10 1.2 20.7 2.2 30.1 2.2s20.1-1 30.1-2.2c-2.9 15.2 5.7 30.7 20.7 36.1c7.2 2.6 13.2 7.6 17 14.2H188.3c3.8-6.5 9.7-11.6 17-14.2c15-5.4 23.6-20.8 20.7-36.1z\"]\n};\nvar faCartFlatbedEmpty = {\n prefix: 'fal',\n iconName: 'cart-flatbed-empty',\n icon: [640, 512, [\"dolly-flatbed-empty\"], \"f476\", \"M0 16C0 7.2 7.2 0 16 0H80c26.5 0 48 21.5 48 48V368c0 8.8 7.2 16 16 16h80H512 624c8.8 0 16 7.2 16 16s-7.2 16-16 16H567.4c5.4 9.4 8.6 20.3 8.6 32c0 35.3-28.7 64-64 64s-64-28.7-64-64c0-11.7 3.1-22.6 8.6-32H279.4c5.4 9.4 8.6 20.3 8.6 32c0 35.3-28.7 64-64 64s-64-28.7-64-64c0-11.7 3.1-22.6 8.6-32H144c-26.5 0-48-21.5-48-48V48c0-8.8-7.2-16-16-16H16C7.2 32 0 24.8 0 16zM512 416a32 32 0 1 0 0 64 32 32 0 1 0 0-64zM192 448a32 32 0 1 0 64 0 32 32 0 1 0 -64 0z\"]\n};\nvar faDollyFlatbedEmpty = faCartFlatbedEmpty;\nvar faColon = {\n prefix: 'fal',\n iconName: 'colon',\n icon: [192, 512, [], \"3a\", \"M128 128a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-96 0a64 64 0 1 1 128 0A64 64 0 1 1 32 128zm96 256a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-96 0a64 64 0 1 1 128 0A64 64 0 1 1 32 384z\"]\n};\nvar faCartArrowDown = {\n prefix: 'fal',\n iconName: 'cart-arrow-down',\n icon: [576, 512, [], \"f218\", \"M0 16C0 7.2 7.2 0 16 0H53.9c22.8 0 42.5 16 47 38.4L145.4 256H466.5c14.7 0 27.5-10 31-24.2L544.5 44.1c2.1-8.6 10.8-13.8 19.4-11.6s13.8 10.8 11.6 19.4L528.6 239.5C521.5 268 495.9 288 466.5 288H152l7.9 38.4c3 14.9 16.1 25.6 31.4 25.6H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H191.2c-30.4 0-56.6-21.4-62.7-51.2L69.6 44.8C68 37.3 61.5 32 53.9 32H16C7.2 32 0 24.8 0 16zM192 480a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-80a56 56 0 1 1 0 112 56 56 0 1 1 0-112zm280 56a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-80 0a56 56 0 1 1 112 0 56 56 0 1 1 -112 0zM336 16l0 137.4 36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-64 64c-6.2 6.2-16.4 6.2-22.6 0l-64-64c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L304 153.4 304 16c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faWand = {\n prefix: 'fal',\n iconName: 'wand',\n icon: [512, 512, [], \"f72a\", \"M446.8 9.9C454 3.5 463.2 0 472.8 0C494.5 0 512 17.5 512 39.2v.5c0 9-3.1 17.8-8.7 24.8L448 133.6V160c0 17.7-14.3 32-32 32H391.1L119 494.4C108.9 505.6 94.5 512 79.4 512c-14.1 0-27.7-5.6-37.6-15.6L15.6 470.2C5.6 460.2 0 446.7 0 432.6c0-15.1 6.5-29.5 17.7-39.6L96 323.1V296c0-22.1 17.9-40 40-40h33.9L446.8 9.9zm26 22.1c-1.8 0-3.5 .6-4.8 1.8L186.6 284c-2.9 2.6-6.7 4-10.6 4H136c-4.4 0-8 3.6-8 8v34.3c0 4.6-1.9 8.9-5.3 11.9L39.1 416.9c-4.5 4-7.1 9.7-7.1 15.8c0 5.6 2.2 11 6.2 14.9l26.2 26.2c4 4 9.4 6.2 15 6.2c6 0 11.8-2.6 15.8-7L372.1 165.3c3-3.4 7.4-5.3 11.9-5.3h32V128c0-3.6 1.2-7.2 3.5-10l58.8-73.5c1.1-1.4 1.7-3.1 1.7-4.8v-.5c0-4-3.2-7.2-7.2-7.2z\"]\n};\nvar faWalkieTalkie = {\n prefix: 'fal',\n iconName: 'walkie-talkie',\n icon: [384, 512, [], \"f8ef\", \"M96 16C96 7.2 88.8 0 80 0S64 7.2 64 16V96H56C25.1 96 0 121.1 0 152V302.1c0 10.6 4.2 20.8 11.7 28.3l17.9 17.9c1.5 1.5 2.3 3.5 2.3 5.7V456c0 30.9 25.1 56 56 56H296c30.9 0 56-25.1 56-56V353.9c0-2.1 .8-4.2 2.3-5.7l17.9-17.9c7.5-7.5 11.7-17.7 11.7-28.3V152c0-30.9-25.1-56-56-56H96V16zM80 128H328c13.3 0 24 10.7 24 24V302.1c0 2.1-.8 4.2-2.3 5.7l-17.9 17.9c-7.5 7.5-11.7 17.7-11.7 28.3V456c0 13.3-10.7 24-24 24H88c-13.3 0-24-10.7-24-24V353.9c0-10.6-4.2-20.8-11.7-28.3L34.3 307.7c-1.5-1.5-2.3-3.5-2.3-5.7V152c0-13.3 10.7-24 24-24H80zm96-80c-8.8 0-16 7.2-16 16s7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H176zm96 0c-8.8 0-16 7.2-16 16s7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H272zM96 192c0 8.8 7.2 16 16 16H272c8.8 0 16-7.2 16-16s-7.2-16-16-16H112c-8.8 0-16 7.2-16 16zm0 64c0 8.8 7.2 16 16 16H272c8.8 0 16-7.2 16-16s-7.2-16-16-16H112c-8.8 0-16 7.2-16 16zm0 64c0 8.8 7.2 16 16 16H272c8.8 0 16-7.2 16-16s-7.2-16-16-16H112c-8.8 0-16 7.2-16 16z\"]\n};\nvar faFilePen = {\n prefix: 'fal',\n iconName: 'file-pen',\n icon: [576, 512, [128221, \"file-edit\"], \"f31c\", \"M64 480H258.3l-1 3.8c-2.4 9.5-1.8 19.3 1.4 28.2H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H220.1c12.7 0 24.9 5.1 33.9 14.1L369.9 129.9c9 9 14.1 21.2 14.1 33.9V284.2l-32 32V192H240c-26.5 0-48-21.5-48-48V32H64C46.3 32 32 46.3 32 64V448c0 17.7 14.3 32 32 32zM351.5 160c-.7-2.8-2.1-5.4-4.2-7.4L231.4 36.7c-2.1-2.1-4.6-3.5-7.4-4.2V144c0 8.8 7.2 16 16 16H351.5zm167 104c-6.2-6.2-16.4-6.2-22.6 0l-24.8 24.8 39.9 39.9 24.8-24.8c6.2-6.2 6.2-16.4 0-22.6L518.6 264zM342.4 417.5c-2.1 2.1-3.5 4.6-4.2 7.4L326 473.9l48.9-12.2c2.8-.7 5.4-2.2 7.4-4.2L488.5 351.3l-39.9-39.9L342.4 417.5zM473.3 241.4c18.7-18.7 49.1-18.7 67.9 0l17.3 17.3c18.7 18.7 18.7 49.1 0 67.9L405 480.1c-6.2 6.2-13.9 10.5-22.3 12.6l-74.8 18.7c-5.5 1.4-11.2-.2-15.2-4.2s-5.6-9.7-4.2-15.2l18.7-74.8c2.1-8.4 6.5-16.2 12.6-22.3L473.3 241.4z\"]\n};\nvar faFileEdit = faFilePen;\nvar faReceipt = {\n prefix: 'fal',\n iconName: 'receipt',\n icon: [384, 512, [129534], \"f543\", \"M26.5 4C21.8-.2 15.1-1.2 9.4 1.4S0 9.7 0 16V496c0 6.3 3.7 12 9.4 14.6s12.4 1.6 17.1-2.5l52.7-46.1 45.4 45.4c6.2 6.2 16.4 6.2 22.6 0L192 462.6l44.7 44.7c6.2 6.2 16.4 6.2 22.6 0l45.4-45.4L357.5 508c4.7 4.1 11.4 5.1 17.1 2.5s9.4-8.3 9.4-14.6V16c0-6.3-3.7-12-9.4-14.6S362.2-.2 357.5 4L304.7 50.1 259.3 4.7c-6.2-6.2-16.4-6.2-22.6 0L192 49.4 147.3 4.7c-6.2-6.2-16.4-6.2-22.6 0L79.3 50.1 26.5 4zM32 460.7V51.3L69.5 84c6.3 5.5 15.9 5.2 21.8-.7L136 38.6l44.7 44.7c6.2 6.2 16.4 6.2 22.6 0L248 38.6l44.7 44.7c6 6 15.5 6.3 21.8 .7L352 51.3V460.7L314.5 428c-6.3-5.5-15.9-5.2-21.8 .7L248 473.4l-44.7-44.7c-6.2-6.2-16.4-6.2-22.6 0L136 473.4 91.3 428.7c-6-6-15.5-6.3-21.8-.7L32 460.7zM96 144c-8.8 0-16 7.2-16 16s7.2 16 16 16H288c8.8 0 16-7.2 16-16s-7.2-16-16-16H96zM80 352c0 8.8 7.2 16 16 16H288c8.8 0 16-7.2 16-16s-7.2-16-16-16H96c-8.8 0-16 7.2-16 16zM96 240c-8.8 0-16 7.2-16 16s7.2 16 16 16H288c8.8 0 16-7.2 16-16s-7.2-16-16-16H96z\"]\n};\nvar faTablePicnic = {\n prefix: 'fal',\n iconName: 'table-picnic',\n icon: [512, 512, [], \"e32d\", \"M191.6 64H80c-8.8 0-16 7.2-16 16s7.2 16 16 16h88.2L115.8 224H16c-8.8 0-16 7.2-16 16s7.2 16 16 16l86.7 0h34.6H374.7h34.6l86.7 0c8.8 0 16-7.2 16-16s-7.2-16-16-16H396.2L343.8 96H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H320.4c-.2 0-.5 0-.7 0H192.4c-.2 0-.5 0-.7 0zM309.3 96l52.4 128H150.4L202.7 96H309.3zM89.6 288L33.2 425.9c-3.3 8.2 .6 17.5 8.8 20.9s17.5-.6 20.9-8.8L124.2 288H89.6zm332.8 0H387.8l61.4 150.1c3.3 8.2 12.7 12.1 20.9 8.8s12.1-12.7 8.8-20.9L422.4 288z\"]\n};\nvar faSquarePen = {\n prefix: 'fal',\n iconName: 'square-pen',\n icon: [448, 512, [\"pen-square\", \"pencil-square\"], \"f14b\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm299.5 67.3c-6.2-6.2-16.4-6.2-22.6 0l-21.4 21.4 40 40 21.4-21.4c6.2-6.2 6.2-16.4 0-22.6l-17.4-17.4zm-149 126.4c-2.1 2.1-3.5 4.6-4.2 7.4l-12.3 49 49-12.3c2.8-.7 5.4-2.2 7.4-4.2l82.3-82.3-40-40-82.3 82.3zm103.8-149c18.7-18.7 49.1-18.7 67.9 0l17.4 17.4c18.7 18.7 18.7 49.1 0 67.9L213.1 352.3c-6.2 6.2-13.9 10.5-22.3 12.6l-74.9 18.7c-5.5 1.4-11.2-.2-15.2-4.2s-5.6-9.7-4.2-15.2l18.7-74.9c2.1-8.4 6.5-16.1 12.6-22.3L254.2 140.7z\"]\n};\nvar faPenSquare = faSquarePen;\nvar faPencilSquare = faSquarePen;\nvar faCircleMicrophoneLines = {\n prefix: 'fal',\n iconName: 'circle-microphone-lines',\n icon: [512, 512, [\"microphone-circle-alt\"], \"e117\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-416c-35.3 0-64 28.7-64 64v96c0 35.3 28.7 64 64 64s64-28.7 64-64V240 176 160c0-35.3-28.7-64-64-64zm32 64H272c-8.8 0-16 7.2-16 16s7.2 16 16 16h16v32H272c-8.8 0-16 7.2-16 16s7.2 16 16 16h16c0 17.7-14.3 32-32 32s-32-14.3-32-32V160c0-17.7 14.3-32 32-32s32 14.3 32 32zM160 240c0-8.8-7.2-16-16-16s-16 7.2-16 16v16c0 65.3 48.9 119.1 112 127v17c0 8.8 7.2 16 16 16s16-7.2 16-16V383c63.1-7.9 112-61.7 112-127V240c0-8.8-7.2-16-16-16s-16 7.2-16 16v16c0 53-43 96-96 96s-96-43-96-96V240z\"]\n};\nvar faMicrophoneCircleAlt = faCircleMicrophoneLines;\nvar faDisplaySlash = {\n prefix: 'fal',\n iconName: 'display-slash',\n icon: [640, 512, [\"desktop-slash\"], \"e2fa\", \"M32 110.3V352c0 35.3 28.7 64 64 64H245.1l-10.7 64H176c-8.8 0-16 7.2-16 16s7.2 16 16 16h72H392h72c8.8 0 16-7.2 16-16s-7.2-16-16-16H405.6l-10.7-64h24.3l-40.5-32h-2.4c-.2 0-.4 0-.6 0H264.3c-.2 0-.4 0-.6 0H96c-17.7 0-32-14.3-32-32V135.6L32 110.3zm562.5 281C603 380.5 608 366.8 608 352V64c0-35.3-28.7-64-64-64H96c-1.5 0-3 .1-4.4 .2H99L139.4 32H544c17.7 0 32 14.3 32 32V352c0 7.3-2.5 14.1-6.6 19.5l25.1 19.8zM277.6 416h84.9l10.7 64H266.9l10.7-64zM25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4z\"]\n};\nvar faDesktopSlash = faDisplaySlash;\nvar faSuitcaseRolling = {\n prefix: 'fal',\n iconName: 'suitcase-rolling',\n icon: [384, 512, [], \"f5c1\", \"M128 48v80H256V48c0-8.8-7.2-16-16-16H144c-8.8 0-16 7.2-16 16zM96 128V48c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v80h32c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V480H96v16c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-16c-35.3 0-64-28.7-64-64V192c0-35.3 28.7-64 64-64H96zM80 448H304h16c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32H272 112 64c-17.7 0-32 14.3-32 32V416c0 17.7 14.3 32 32 32H80zM96 256c0-8.8 7.2-16 16-16H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16zm0 96c0-8.8 7.2-16 16-16H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16z\"]\n};\nvar faPersonCircleExclamation = {\n prefix: 'fal',\n iconName: 'person-circle-exclamation',\n icon: [576, 512, [], \"e53f\", \"M160 80a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-80a56 56 0 1 1 0 112A56 56 0 1 1 160 0zM128 164V320h64V164c-6-2.6-12.5-4-19.3-4H147.3c-6.8 0-13.3 1.4-19.3 4zm0 188V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V202.1L46.1 295.5c-4.2 7.8-13.9 10.7-21.7 6.6s-10.7-13.9-6.6-21.7L76.7 170.3c13.9-26 41-42.3 70.6-42.3h25.4c29.5 0 56.7 16.3 70.6 42.3l48.7 91.1c-7.5 9.8-14 20.5-19.3 31.8l-48.6-91V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V352H128zm416 16a112 112 0 1 0 -224 0 112 112 0 1 0 224 0zm-256 0a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144 32a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-112c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V304c0-8.8 7.2-16 16-16z\"]\n};\nvar faTransporter2 = {\n prefix: 'fal',\n iconName: 'transporter-2',\n icon: [512, 512, [], \"e044\", \"M64 16V32H80c8.8 0 16 7.2 16 16s-7.2 16-16 16H64V80c0 8.8-7.2 16-16 16s-16-7.2-16-16V64H16C7.2 64 0 56.8 0 48s7.2-16 16-16H32V16C32 7.2 39.2 0 48 0s16 7.2 16 16zM480 336v16h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H480v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V384H432c-8.8 0-16-7.2-16-16s7.2-16 16-16h16V336c0-8.8 7.2-16 16-16s16 7.2 16 16zM256 80a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-80a56 56 0 1 1 0 112A56 56 0 1 1 256 0zM144 480c-8.8 0-16 7.2-16 16s-7.2 16-16 16s-16-7.2-16-16c0-26.5 21.5-48 48-48H368c26.5 0 48 21.5 48 48c0 8.8-7.2 16-16 16s-16-7.2-16-16s-7.2-16-16-16H144zM383.7 224H343.5l-22-29c-.5-.7-1-1.3-1.5-1.9V224H288V176.2c-1.6-.2-3.1-.2-4.7-.2H228.7c-1.6 0-3.2 .1-4.7 .2V224H192V193.1c-.5 .6-1 1.3-1.5 1.9l-22 29H128.3L165 175.7c15.1-19.9 38.7-31.7 63.7-31.7h54.6c25 0 48.6 11.7 63.7 31.7L383.7 224zM96 272c0-8.8 7.2-16 16-16H400c8.8 0 16 7.1 16 15.9l0 .1 0 .1c0 8.8-7.2 15.9-16 15.9H112c-8.8 0-16-7.2-16-16zm64 64c0-8.8 7.2-16 16-16H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16zm0 64c0-8.8 7.2-16 16-16H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16z\"]\n};\nvar faHandsHoldingDiamond = {\n prefix: 'fal',\n iconName: 'hands-holding-diamond',\n icon: [640, 512, [\"hand-receiving\"], \"f47c\", \"M342.6 9.4l96 96c12.5 12.5 12.5 32.8 0 45.3l-96 96c-12.5 12.5-32.8 12.5-45.3 0l-96-96c-12.5-12.5-12.5-32.8 0-45.3l96-96c12.5-12.5 32.8-12.5 45.3 0zM224 128l96 96 96-96L320 32l-96 96zM64 64c35.3 0 64 28.7 64 64V252.3c0 4.6 .4 9.1 1.3 13.5c2.1-3.2 4.6-6.3 7.4-9.1c21.7-21.7 56.9-21.7 78.6 0L306.6 348c5.1 5.1 9.6 10.6 13.4 16.6c3.8-5.9 8.3-11.5 13.4-16.6l91.3-91.3c21.7-21.7 56.9-21.7 78.6 0c2.8 2.8 5.3 5.9 7.4 9.1c.9-4.4 1.3-8.9 1.3-13.5V128c0-35.3 28.7-64 64-64s64 28.7 64 64V344.2c0 29.7-11.8 58.2-32.8 79.2l-83.9 83.9c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l83.9-83.9c15-15 23.4-35.4 23.4-56.6V128c0-17.7-14.3-32-32-32s-32 14.3-32 32V252.3c0 27.1-10.8 53.1-29.9 72.2l-10.8 10.8-44 44-16 16c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l16-16 0 0 44-44 0 0c9.2-9.2 9.2-24.2 0-33.4s-24.2-9.2-33.4 0L356 370.6c-12.8 12.8-20 30.2-20 48.3V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V418.9c0-18.1-7.2-35.5-20-48.3l-91.3-91.3c-9.2-9.2-24.2-9.2-33.4 0s-9.2 24.2 0 33.4l44 44 16 16c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-16-16 0 0-44-44 0 0-10.7-10.8C106.8 305.4 96 279.4 96 252.3V128c0-17.7-14.3-32-32-32s-32 14.3-32 32V344.2c0 21.2 8.4 41.6 23.4 56.6l83.9 83.9c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L32.8 423.4C11.8 402.4 0 373.9 0 344.2V128C0 92.7 28.7 64 64 64z\"]\n};\nvar faHandReceiving = faHandsHoldingDiamond;\nvar faMoneyBillSimpleWave = {\n prefix: 'fal',\n iconName: 'money-bill-simple-wave',\n icon: [576, 512, [], \"e1f2\", \"M32 422.3c0 6.8 3.7 10.4 6.2 11.3c72.8 27.2 146.7 11.3 231.1-10.2c4.3-1.1 8.6-2.2 13-3.3c77.8-19.9 165.3-42.3 253.5-18.2c2.2 .6 4.9 .2 6.9-1.2c.9-.6 1.2-1.1 1.3-1.2c0 0 0 0 0 0s0 0 0-.1V89.7c0-6.8-3.7-10.4-6.2-11.3C465 51.2 391.1 67.1 306.7 88.5c-4.3 1.1-8.6 2.2-13 3.3C215.9 111.7 128.4 134.1 40.2 110c-2.2-.6-4.9-.2-6.9 1.2c-.9 .6-1.2 1.1-1.3 1.2c0 0 0 0 0 0l0 .1V422.3zm-32 0V112.5C0 88.6 25.6 72.8 48.7 79.1c79.8 21.8 159.6 1.5 239.3-18.9c87-22.2 174-44.4 261-11.9c16.9 6.3 27 23.2 27 41.3V399.5c0 23.9-25.6 39.7-48.7 33.4c-79.8-21.8-159.6-1.5-239.3 18.9c-87 22.2-174 44.4-261 11.9c-16.9-6.3-27-23.2-27-41.3zM224 256c0 47 31.3 80 64 80s64-33 64-80s-31.3-80-64-80s-64 33-64 80zm64-112c55.6 0 96 53 96 112s-40.4 112-96 112s-96-53-96-112s40.4-112 96-112z\"]\n};\nvar faChevronDown = {\n prefix: 'fal',\n iconName: 'chevron-down',\n icon: [512, 512, [], \"f078\", \"M267.3 395.3c-6.2 6.2-16.4 6.2-22.6 0l-192-192c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L256 361.4 436.7 180.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-192 192z\"]\n};\nvar faBatteryFull = {\n prefix: 'fal',\n iconName: 'battery-full',\n icon: [576, 512, [128267, \"battery\", \"battery-5\"], \"f240\", \"M432 128c26.5 0 48 21.5 48 48V336c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48V176c0-26.5 21.5-48 48-48H432zM80 96C35.8 96 0 131.8 0 176V336c0 44.2 35.8 80 80 80H432c44.2 0 80-35.8 80-80V176c0-44.2-35.8-80-80-80H80zM576 208c0-8.8-7.2-16-16-16s-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V208zM112 192H400c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V208c0-8.8 7.2-16 16-16zM64 208v96c0 26.5 21.5 48 48 48H400c26.5 0 48-21.5 48-48V208c0-26.5-21.5-48-48-48H112c-26.5 0-48 21.5-48 48z\"]\n};\nvar faBattery = faBatteryFull;\nvar faBattery5 = faBatteryFull;\nvar faBellPlus = {\n prefix: 'fal',\n iconName: 'bell-plus',\n icon: [448, 512, [], \"f849\", \"M208 16c0-8.8 7.2-16 16-16s16 7.2 16 16V32.8c80.9 8 144 76.2 144 159.2v29.1c0 43.7 17.4 85.6 48.3 116.6l2.8 2.8c8.3 8.3 13 19.6 13 31.3c0 24.5-19.8 44.3-44.3 44.3H44.3C19.8 416 0 396.2 0 371.7c0-11.7 4.7-23 13-31.3l2.8-2.8C46.6 306.7 64 264.8 64 221.1V192c0-83 63.1-151.2 144-159.2V16zm16 48C153.3 64 96 121.3 96 192v29.1c0 52.2-20.7 102.3-57.7 139.2L35.6 363c-2.3 2.3-3.6 5.4-3.6 8.7c0 6.8 5.5 12.3 12.3 12.3H403.7c6.8 0 12.3-5.5 12.3-12.3c0-3.3-1.3-6.4-3.6-8.7l-2.8-2.8c-36.9-36.9-57.7-87-57.7-139.2V192c0-70.7-57.3-128-128-128zM193.8 458.7c4.4 12.4 16.3 21.3 30.2 21.3s25.8-8.9 30.2-21.3c2.9-8.3 12.1-12.7 20.4-9.8s12.7 12.1 9.8 20.4C275.6 494.2 251.9 512 224 512s-51.6-17.8-60.4-42.7c-2.9-8.3 1.4-17.5 9.8-20.4s17.5 1.4 20.4 9.8zM224 160c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H240v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V256H160c-8.8 0-16-7.2-16-16s7.2-16 16-16h48V176c0-8.8 7.2-16 16-16z\"]\n};\nvar faBookArrowRight = {\n prefix: 'fal',\n iconName: 'book-arrow-right',\n icon: [640, 512, [], \"e0b9\", \"M64 0C28.7 0 0 28.7 0 64L0 448l0 0c0 35.3 28.7 64 64 64H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H416V413.3c18.6-6.6 32-24.4 32-45.3V272H416v96c0 8.8-7.2 16-16 16H64c-11.7 0-22.6 3.1-32 8.6L32 64c0-17.7 14.3-32 32-32H400c8.8 0 16 7.2 16 16v96h32V48c0-26.5-21.5-48-48-48H64zM384 416v64H64c-17.7 0-32-14.3-32-32s14.3-32 32-32H384zM539.3 100.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L585.4 192H272c-8.8 0-16 7.2-16 16s7.2 16 16 16H585.4l-68.7 68.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l96-96c6.2-6.2 6.2-16.4 0-22.6l-96-96z\"]\n};\nvar faHospitals = {\n prefix: 'fal',\n iconName: 'hospitals',\n icon: [576, 512, [], \"f80e\", \"M512 32H320c-17.7 0-32 14.3-32 32V80c-9.3-7-20.2-12-32-14.4V64c0-35.3 28.7-64 64-64H512c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H320c-5.1 0-10-.6-14.7-1.7c6.3-8.9 10.9-19.2 13.2-30.3c.5 0 1.1 0 1.6 0H512c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32zM224 128H64c-17.7 0-32 14.3-32 32V352H256V160c0-17.7-14.3-32-32-32zM32 448c0 17.7 14.3 32 32 32H224c17.7 0 32-14.3 32-32V384H32v64zM64 96H224c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V160c0-35.3 28.7-64 64-64zM320 320V288H544v32H320zm0 96V384H544v32H320zM136 176h16c4.4 0 8 3.6 8 8v40h40c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H160v40c0 4.4-3.6 8-8 8H136c-4.4 0-8-3.6-8-8V256H88c-4.4 0-8-3.6-8-8V232c0-4.4 3.6-8 8-8h40V184c0-4.4 3.6-8 8-8zM416 88c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v40h40c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H448v40c0 4.4-3.6 8-8 8H424c-4.4 0-8-3.6-8-8V160H376c-4.4 0-8-3.6-8-8V136c0-4.4 3.6-8 8-8h40V88z\"]\n};\nvar faClub = {\n prefix: 'fal',\n iconName: 'club',\n icon: [512, 512, [9827], \"f327\", \"M358.3 154.9c1.1-6.1 1.7-12.4 1.7-18.9c0-57.4-46.6-104-104-104s-104 46.6-104 104c0 6.5 .6 12.8 1.7 18.9c1.6 8.8-.5 17.9-5.9 25s-13.5 11.7-22.4 12.6C73 197.8 32 242.1 32 296c0 57.4 46.6 104 104 104c39.7 0 74.2-22.2 91.8-55c5.6-10.4 16.4-16.9 28.2-16.9s22.6 6.5 28.2 16.9c17.6 32.8 52.1 55 91.8 55c57.4 0 104-46.6 104-104c0-53.9-41-98.2-93.4-103.5c-8.9-.9-17-5.5-22.4-12.6s-7.5-16.2-5.9-25zm31.5 5.8c7.4 .7 14.7 2.1 21.7 4C469.4 180.3 512 233.1 512 296c0 75.1-60.9 136-136 136c-39.4 0-74.9-16.8-99.7-43.5c-1.5-1.6-2.9-3.2-4.3-4.8V480h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16s7.2-16 16-16h64V383.6c-1.4 1.6-2.8 3.3-4.3 4.8C210.9 415.2 175.4 432 136 432C60.9 432 0 371.1 0 296c0-62.9 42.6-115.8 100.6-131.3c7-1.9 14.3-3.2 21.7-4c-1.3-7.1-2.1-14.5-2.2-22c0-.9 0-1.8 0-2.7C120 60.9 180.9 0 256 0s136 60.9 136 136c0 .9 0 1.8 0 2.7c-.1 7.5-.9 14.8-2.2 22z\"]\n};\nvar faSkullCrossbones = {\n prefix: 'fal',\n iconName: 'skull-crossbones',\n icon: [448, 512, [128369, 9760], \"f714\", \"M300.1 198.4c-7.6 6.1-12.1 15.3-12.1 25V240c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V223.4c0-9.8-4.4-19-12.1-25C125.1 180.2 112 155 112 128c0-49.6 46.5-96 112-96s112 46.4 112 96c0 27-13.1 52.2-35.9 70.4zM320 240V223.4c29.5-23.4 48-57.5 48-95.4C368 57.3 303.5 0 224 0S80 57.3 80 128c0 37.9 18.5 72 48 95.4V240c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48zm126.5 57.3c-3.7-8-13.2-11.5-21.2-7.8L224 382.4 22.7 289.5c-8-3.7-17.5-.2-21.2 7.8s-.2 17.5 7.8 21.2L185.8 400 9.3 481.5c-8 3.7-11.5 13.2-7.8 21.2s13.2 11.5 21.2 7.8L224 417.6l201.3 92.9c8 3.7 17.5 .2 21.2-7.8s.2-17.5-7.8-21.2L262.2 400l176.5-81.5c8-3.7 11.5-13.2 7.8-21.2zM208 136a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm56 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faDropletDegree = {\n prefix: 'fal',\n iconName: 'droplet-degree',\n icon: [512, 512, [\"dewpoint\"], \"f748\", \"M192 480c-88.4 0-160-71.6-160-160c0-16.2 6.1-39.2 18.3-67.5c11.9-27.6 28.5-57.5 46.6-86.8c35.9-58 76.4-110.9 94.5-133.7h1.3c18.1 22.9 58.6 75.7 94.5 133.7c18.1 29.2 34.6 59.1 46.6 86.8C345.9 280.8 352 303.8 352 320c0 88.4-71.6 160-160 160zM0 320C0 426 86 512 192 512s192-86 192-192c0-91.2-130.2-262.3-166.6-308.3C211.4 4.2 202.5 0 192.9 0h-1.8c-9.6 0-18.5 4.2-24.5 11.7C130.2 57.7 0 228.8 0 320zM384 112a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm128 0a80 80 0 1 0 -160 0 80 80 0 1 0 160 0z\"]\n};\nvar faDewpoint = faDropletDegree;\nvar faCodeCompare = {\n prefix: 'fal',\n iconName: 'code-compare',\n icon: [512, 512, [], \"e13a\", \"M322.8 484.2c6.5 5.9 7 16.1 1.1 22.6s-16.1 7-22.6 1.1l-88-80c-3.3-3-5.2-7.3-5.2-11.8s1.9-8.8 5.2-11.8l88-80c6.5-5.9 16.7-5.5 22.6 1.1s5.5 16.7-1.1 22.6L265.4 400H336c44.2 0 80-35.8 80-80V158.4c-36.5-7.4-64-39.7-64-78.4c0-44.2 35.8-80 80-80s80 35.8 80 80c0 38.7-27.5 71-64 78.4V320c0 61.9-50.1 112-112 112H265.4l57.4 52.2zM384 80a48 48 0 1 0 96 0 48 48 0 1 0 -96 0zM189.2 27.8c-6.5-5.9-7-16.1-1.1-22.6s16.1-7 22.6-1.1l88 80c3.3 3 5.2 7.3 5.2 11.8s-1.9 8.8-5.2 11.8l-88 80c-6.5 5.9-16.7 5.5-22.6-1.1s-5.5-16.7 1.1-22.6L246.6 112H176c-44.2 0-80 35.8-80 80V353.6c36.5 7.4 64 39.7 64 78.4c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-38.7 27.5-71 64-78.4V192c0-61.9 50.1-112 112-112h70.6L189.2 27.8zM128 432a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nvar faListUl = {\n prefix: 'fal',\n iconName: 'list-ul',\n icon: [512, 512, [\"list-dots\"], \"f0ca\", \"M64 64a32 32 0 1 0 0 64 32 32 0 1 0 0-64zM176 80c-8.8 0-16 7.2-16 16s7.2 16 16 16H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H176zm0 160c-8.8 0-16 7.2-16 16s7.2 16 16 16H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H176zm0 160c-8.8 0-16 7.2-16 16s7.2 16 16 16H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H176zM96 256a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM64 384a32 32 0 1 0 0 64 32 32 0 1 0 0-64z\"]\n};\nvar faListDots = faListUl;\nvar faHandHoldingMagic = {\n prefix: 'fal',\n iconName: 'hand-holding-magic',\n icon: [576, 512, [], \"f6e5\", \"M160 80c0 26.5 21.5 48 48 48h80c8.8 0 16 7.2 16 16s-7.2 16-16 16H208c-44.2 0-80-35.8-80-80s35.8-80 80-80H328c66.3 0 120 53.7 120 120s-53.7 120-120 120H272v24c0 8.8-7.2 16-16 16s-16-7.2-16-16V237.5c0-16.3 13.2-29.5 29.5-29.5H328c48.6 0 88-39.4 88-88s-39.4-88-88-88H208c-26.5 0-48 21.5-48 48zm-9 237.4c13.1-8.8 28.6-13.4 44.4-13.4H344c30.9 0 56 25.1 56 56c0 8.6-1.9 16.7-5.4 24h5.6l94.7-56.4c8.3-4.9 17.8-7.6 27.5-7.6h1.3c28.9 0 52.3 23.4 52.3 52.3c0 17.7-9 34.2-23.8 43.8L432.6 493.9c-18.2 11.8-39.4 18.1-61 18.1H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H371.5c15.5 0 30.6-4.5 43.6-12.9l119.6-77.8c5.8-3.7 9.2-10.2 9.2-17c0-11.2-9.1-20.3-20.3-20.3h-1.3c-3.9 0-7.7 1.1-11.1 3l-98.5 58.7c-2.5 1.5-5.3 2.3-8.2 2.3H344 320 256c-8.8 0-16-7.2-16-16s7.2-16 16-16h64 24c13.3 0 24-10.7 24-24s-10.7-24-24-24H195.4c-9.5 0-18.7 2.8-26.6 8.1L88.9 397.3c-2.6 1.8-5.7 2.7-8.9 2.7H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H75.2L151 317.4z\"]\n};\nvar faWatermelonSlice = {\n prefix: 'fal',\n iconName: 'watermelon-slice',\n icon: [512, 512, [], \"e337\", \"M404.7 4.7c6.2-6.2 16.4-6.2 22.6 0C481.5 58.9 512 132.5 512 209.1v4C512 378.2 378.2 512 213.2 512h-4c-76.7 0-150.2-30.5-204.5-84.7c-6.2-6.2-6.2-16.4 0-22.6l400-400zm11 34.3L391 63.7c35.5 40.8 57 94 57 152.3c0 128.1-103.9 232-232 232c-58.3 0-111.6-21.5-152.3-57L39 415.6C85.8 457 146.3 480 209.1 480h4C360.5 480 480 360.5 480 213.2v-4c0-62.8-23-123.3-64.4-170.2zM86.3 368.3C121.3 398 166.5 416 216 416c110.5 0 200-89.5 200-200c0-49.5-18-94.7-47.7-129.7L86.3 368.3zm261-203.6l16 16c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-16-16c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0zm-80 80l16 16c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-16-16c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0zm88 8l16 16c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-16-16c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0zm-168 72l16 16c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-16-16c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0zm88 8l16 16c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-16-16c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0z\"]\n};\nvar faCircleEllipsis = {\n prefix: 'fal',\n iconName: 'circle-ellipsis',\n icon: [512, 512, [], \"e10a\", \"M256 480a224 224 0 1 0 0-448 224 224 0 1 0 0 448zM256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zm24 256a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zm72-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM184 256a24 24 0 1 1 -48 0 24 24 0 1 1 48 0z\"]\n};\nvar faSchoolLock = {\n prefix: 'fal',\n iconName: 'school-lock',\n icon: [640, 512, [], \"e56f\", \"M311.1 2.7c5.4-3.6 12.4-3.6 17.8 0L468.8 96H576c35.3 0 64 28.7 64 64V272c0-30.5-12.2-58.2-32-78.4V160c0-17.7-14.3-32-32-32H464c-3.2 0-6.2-.9-8.9-2.7L320 35.2 184.9 125.3c-2.6 1.8-5.7 2.7-8.9 2.7H64c-17.7 0-32 14.3-32 32V448c0 17.7 14.3 32 32 32H256V384c0-35.3 28.7-64 64-64s64 28.7 64 64v96c0 11.7 3.1 22.6 8.6 32H384 352 288 256 64c-35.3 0-64-28.7-64-64V160c0-35.3 28.7-64 64-64H171.2l140-93.3zM352 384c0-17.7-14.3-32-32-32s-32 14.3-32 32v96h64V384zM128 160h32c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32V192c0-17.7 14.3-32 32-32zm0 32v64h32V192H128zM96 352c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32V352zm64 0H128v64h32V352zm160-96a64 64 0 1 0 0-128 64 64 0 1 0 0 128zm0-160a96 96 0 1 1 0 192 96 96 0 1 1 0-192zm16 64v16h8c8.8 0 16 7.2 16 16s-7.2 16-16 16H320c-8.8 0-16-7.2-16-16V160c0-8.8 7.2-16 16-16s16 7.2 16 16zm192 64c-26.5 0-48 21.5-48 48v48h96V272c0-26.5-21.5-48-48-48zm-80 48c0-44.2 35.8-80 80-80s80 35.8 80 80v48c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H448c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32V272zm160 80H448V480H608V352z\"]\n};\nvar faTowerCell = {\n prefix: 'fal',\n iconName: 'tower-cell',\n icon: [576, 512, [], \"e585\", \"M40.9 9.1c-8.2-3.2-17.5 .9-20.7 9.2C7.2 52.2 0 89.2 0 128s7.2 75.8 20.3 109.8c3.2 8.2 12.4 12.4 20.7 9.2s12.4-12.4 9.2-20.7C38.4 196 32 162.8 32 128s6.4-67.9 18.1-98.2c3.2-8.2-.9-17.5-9.2-20.7zm494.1 0c-8.2 3.2-12.4 12.4-9.2 20.7C537.6 60.1 544 93.2 544 128s-6.4 67.9-18.1 98.2c-3.2 8.2 .9 17.5 9.2 20.7s17.5-.9 20.7-9.2c13.1-33.9 20.3-71 20.3-109.8s-7.2-75.8-20.3-109.8c-3.2-8.2-12.4-12.4-20.7-9.2zM288 96a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm47.3 75.1C345.7 159.7 352 144.6 352 128c0-35.3-28.7-64-64-64s-64 28.7-64 64c0 16.6 6.3 31.7 16.7 43.1L97.4 489.4c-3.6 8.1 0 17.5 8 21.2s17.5 0 21.2-8l39-86.6H410.5l39 86.6c3.6 8.1 13.1 11.7 21.2 8s11.7-13.1 8-21.2L335.3 171.1zM396.1 384H179.9l28.8-64H367.3l28.8 64zM308.2 188.8L352.9 288H223.1l44.7-99.2c6.3 2.1 13.1 3.3 20.2 3.3s13.8-1.1 20.2-3.3zM140 70.4c3.5-8.1-.2-17.5-8.3-21.1s-17.5 .2-21.1 8.3C101.2 79.2 96 103 96 128s5.2 48.8 14.7 70.4c3.5 8.1 13 11.8 21.1 8.3s11.8-13 8.3-21.1c-7.7-17.6-12-37.1-12-57.6s4.3-40 12-57.6zM465.3 57.6c-3.5-8.1-13-11.8-21.1-8.3s-11.8 13-8.3 21.1c7.7 17.6 12 37.1 12 57.6s-4.3 40-12 57.6c-3.5 8.1 .2 17.5 8.3 21.1s17.5-.2 21.1-8.3C474.8 176.8 480 153 480 128s-5.2-48.8-14.7-70.4z\"]\n};\nvar faSdCards = {\n prefix: 'fal',\n iconName: 'sd-cards',\n icon: [448, 512, [], \"e240\", \"M416 368c0 17.7-14.3 32-32 32H144c-17.7 0-32-14.3-32-32V154.5c0-8.5 3.4-16.6 9.4-22.6l90.5-90.5c6-6 14.1-9.4 22.6-9.4H384c17.7 0 32 14.3 32 32V368zM448 64c0-35.3-28.7-64-64-64H234.5c-17 0-33.3 6.7-45.3 18.7L98.7 109.3c-12 12-18.7 28.3-18.7 45.3V368c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V64zM240 64c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V80c0-8.8-7.2-16-16-16zm64 0c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V80c0-8.8-7.2-16-16-16zm64 0c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V80c0-8.8-7.2-16-16-16zM32 112c0-8.8-7.2-16-16-16s-16 7.2-16 16V384c0 70.7 57.3 128 128 128H368c8.8 0 16-7.2 16-16s-7.2-16-16-16H128c-53 0-96-43-96-96V112z\"]\n};\nvar faJugBottle = {\n prefix: 'fal',\n iconName: 'jug-bottle',\n icon: [640, 512, [], \"e5fb\", \"M128 64V32h64V64H128zM96 64H80c-8.8 0-16 7.2-16 16s7.2 16 16 16H96h32 64 32 16c8.8 0 16-7.2 16-16s-7.2-16-16-16H224V24c0-13.3-10.7-24-24-24H120C106.7 0 96 10.7 96 24V64zm32 96H256c53 0 96 43 96 96v8h0v9.7V296v80 20.2V408h0v40c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V256c0-53 43-96 96-96zm0-32C57.3 128 0 185.3 0 256V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V256c0-70.7-57.3-128-128-128H128zm128 80c-26.5 0-48 21.5-48 48v96c0 26.5 21.5 48 48 48s48-21.5 48-48V256c0-26.5-21.5-48-48-48zm-16 48c0-8.8 7.2-16 16-16s16 7.2 16 16v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V256zM404 494.6c13.2 10.9 30.1 17.4 48.4 17.4H564c42 0 76-34 76-76c0-19.5-7.4-37.3-19.5-50.8C632.6 372.3 640 355 640 336c0-18.8-7.2-35.9-19-48.8c11.8-13.2 19-30.6 19-49.7c0-28.9-16.7-55.2-42.9-67.5l-4.7-2.2c-11-5.1-23-7.8-35.1-7.8H468.8c-13.5 0-26.9 3-39.1 8.7l-9.6 4.5c-7.4 3.5-14.1 8.1-19.8 13.7c5.7 11.8 9.9 24.4 12.6 37.7c3.7-9.7 11.1-17.8 20.8-22.3l9.6-4.5c8-3.7 16.7-5.7 25.5-5.7h88.5c7.4 0 14.8 1.6 21.5 4.8l4.7 2.2c14.9 7 24.5 22 24.5 38.5c0 10.9-4.1 20.8-10.9 28.4c-11 12.3-10.9 30.9 .3 43.1C604 316.1 608 325.5 608 336c0 10.6-4.1 20.2-10.8 27.3c-11.4 12.1-11.6 30.9-.5 43.3c7 7.8 11.3 18.1 11.3 29.4c0 24.3-19.7 44-44 44H452.4c-15.5 0-29.3-8-37.1-20.4c-1.5 12.5-5.5 24.3-11.3 34.9zM480 104c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v24h32V104c0-22.1-17.9-40-40-40H488c-22.1 0-40 17.9-40 40v24h32V104z\"]\n};\nvar faDownLong = {\n prefix: 'fal',\n iconName: 'down-long',\n icon: [320, 512, [\"long-arrow-alt-down\"], \"f309\", \"M88 352H38.7c-3.7 0-6.7 3-6.7 6.7c0 1.9 .8 3.7 2.2 5L160 476.2 285.8 363.7c1.4-1.3 2.2-3.1 2.2-5c0-3.7-3-6.7-6.7-6.7H232c-17.7 0-32-14.3-32-32V48c0-8.8-7.2-16-16-16H136c-8.8 0-16 7.2-16 16V320c0 17.7-14.3 32-32 32zm86 154.7c-3.8 3.4-8.8 5.3-14 5.3s-10.1-1.9-14-5.3L12.9 387.5C4.7 380.2 0 369.7 0 358.7C0 337.3 17.3 320 38.7 320H56 88V288 48c0-26.5 21.5-48 48-48h48c26.5 0 48 21.5 48 48V288v32h32 17.3c21.4 0 38.7 17.3 38.7 38.7c0 11-4.7 21.5-12.9 28.8L174 506.7z\"]\n};\nvar faLongArrowAltDown = faDownLong;\nvar faEnvelopes = {\n prefix: 'fal',\n iconName: 'envelopes',\n icon: [576, 512, [], \"e170\", \"M512 64c17.7 0 32 14.3 32 32v19.6L364.4 247.3c-16.9 12.4-39.9 12.4-56.8 0L128 115.6V96c0-17.7 14.3-32 32-32H512zM128 320V155.3L288.7 273.1c28.2 20.7 66.5 20.7 94.6 0L544 155.3V320c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32zM160 32c-35.3 0-64 28.7-64 64V320c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H160zM32 112c0-8.8-7.2-16-16-16s-16 7.2-16 16V352c0 70.7 57.3 128 128 128H464c8.8 0 16-7.2 16-16s-7.2-16-16-16H128c-53 0-96-43-96-96V112z\"]\n};\nvar faPhoneOffice = {\n prefix: 'fal',\n iconName: 'phone-office',\n icon: [576, 512, [], \"f67d\", \"M176 32c17.7 0 32 14.3 32 32V368c0 17.7-14.3 32-32 32H144c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32h32zM144 0C120.3 0 99.6 12.9 88.6 32H64C28.7 32 0 60.7 0 96V448c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H480 320 231.4C220.4 12.9 199.7 0 176 0H144zM288 64v64c0 17.7 14.3 32 32 32H480c17.7 0 32-14.3 32-32V64c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32l16 0V368c0 35.3 28.7 64 64 64h32c35.3 0 64-28.7 64-64V64h48zm192 0v64H320V64H480zM352 240a16 16 0 1 1 -32 0 16 16 0 1 1 32 0zm-16-48a48 48 0 1 0 0 96 48 48 0 1 0 0-96zm0 160a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm-48 16a48 48 0 1 0 96 0 48 48 0 1 0 -96 0zM480 240a16 16 0 1 1 -32 0 16 16 0 1 1 32 0zm-16-48a48 48 0 1 0 0 96 48 48 0 1 0 0-96zm0 160a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm-48 16a48 48 0 1 0 96 0 48 48 0 1 0 -96 0z\"]\n};\nvar faRankingStar = {\n prefix: 'fal',\n iconName: 'ranking-star',\n icon: [640, 512, [], \"e561\", \"M300.5 77.2l-3.7 7.5-8.3 1.2L245 92.2 276.6 123l6 5.9-1.4 8.3-7.4 43.3 39-20.6 7.4-3.9 7.5 3.9 38.7 20.3-7.4-43.3-1.4-8.3 6.1-5.9 31.4-30.3-43.4-6.3-8.3-1.2-3.7-7.5L320 37.8 300.5 77.2zm-5-62c10.3-20.6 39.4-19.9 49.1 .1l19.9 40.2 44 6.3 .2 0 0 0c22.1 3.4 31.5 30.6 15.3 46.9l-.2 .2 0 0-31.9 30.8 7.5 43.7 0 .3 0 0c3.4 22-19.5 39.1-39.8 28.9l-.3-.1 0 0L320.2 192l-39.5 20.9-.3 .2 0 0c-20.3 10.2-43.2-6.9-39.8-28.9l0-.3 0 0 7.5-43.8-31.9-31.1-.2-.2 0 0c-16.2-16.2-6.7-43.5 15.3-46.9l.2 0 0 0 44-6.3 19.9-40.2 0 0zM192 368v96c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V368c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48zm224 64v32c0 26.5-21.5 48-48 48H272c-26.5 0-48-21.5-48-48V368 304c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48V432zM256 304V464c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16H272c-8.8 0-16 7.2-16 16zM32 368v96c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16H48c-8.8 0-16 7.2-16 16zm448 64v32c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16V432c0-8.8-7.2-16-16-16H496c-8.8 0-16 7.2-16 16zm16-48h96c26.5 0 48 21.5 48 48v32c0 26.5-21.5 48-48 48H496c-26.5 0-48-21.5-48-48V432c0-26.5 21.5-48 48-48z\"]\n};\nvar faChessKing = {\n prefix: 'fal',\n iconName: 'chess-king',\n icon: [448, 512, [9818], \"f43f\", \"M240 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V48H168c-8.8 0-16 7.2-16 16s7.2 16 16 16h40v48H59.6C26.7 128 0 154.7 0 187.6c0 8.2 1.7 16.3 4.9 23.8L66.1 352H101L34.3 198.6c-1.5-3.5-2.3-7.2-2.3-11C32 172.4 44.4 160 59.6 160H224 388.4c15.2 0 27.6 12.4 27.6 27.6c0 3.8-.8 7.5-2.3 11L347 352h34.9l61.1-140.6c3.3-7.5 4.9-15.6 4.9-23.8c0-32.9-26.7-59.6-59.6-59.6H240V80h40c8.8 0 16-7.2 16-16s-7.2-16-16-16H240V16zM382.9 468.7c.7 1.2 1.1 2.5 1.1 3.9c0 4.1-3.3 7.4-7.4 7.4H71.4c-4.1 0-7.4-3.3-7.4-7.4c0-1.4 .4-2.7 1.1-3.9L97.8 416l252.4 0 32.7 52.7zM97.8 384c-11.1 0-21.4 5.7-27.2 15.1L37.9 451.8C34.1 458 32 465.2 32 472.6C32 494.3 49.7 512 71.4 512H376.6c21.8 0 39.4-17.7 39.4-39.4c0-7.3-2.1-14.5-5.9-20.8l-32.7-52.7c-5.8-9.4-16.1-15.1-27.2-15.1H97.8z\"]\n};\nvar faNfcPen = {\n prefix: 'fal',\n iconName: 'nfc-pen',\n icon: [576, 512, [], \"e1fa\", \"M384 64H64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H266.3l-8 32H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V220.2l-32 32V96c0-17.7-14.3-32-32-32zm0 64V284.2l-32 32V128H240v82.7c18.6 6.6 32 24.4 32 45.3c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3V128c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32zM276.2 408.3l-1.9 7.7H96c-17.7 0-32-14.3-32-32V128c0-17.7 14.3-32 32-32h48c8.8 0 16 7.2 16 16s-7.2 16-16 16l-48 0V384H286.7c-4.8 7.4-8.4 15.6-10.5 24.3zM224 240a16 16 0 1 0 0 32 16 16 0 1 0 0-32zm294.8 24c-6.2-6.2-16.4-6.2-22.6 0l-24.8 24.8 40 40L536.2 304c6.2-6.2 6.2-16.4 0-22.6L518.8 264zM342.5 417.7c-2.1 2.1-3.5 4.6-4.2 7.4l-12.3 49 49-12.3c2.8-.7 5.4-2.2 7.4-4.2L488.7 351.4l-40-40L342.5 417.7zM473.5 241.4c18.7-18.7 49.1-18.7 67.9 0l17.4 17.4c18.7 18.7 18.7 49.1 0 67.9L405.1 480.3c-6.2 6.2-13.9 10.5-22.3 12.6l-74.9 18.7c-5.5 1.4-11.2-.2-15.2-4.2s-5.6-9.7-4.2-15.2l18.7-74.9c2.1-8.4 6.5-16.1 12.6-22.3L473.5 241.4z\"]\n};\nvar faPersonHarassing = {\n prefix: 'fal',\n iconName: 'person-harassing',\n icon: [576, 512, [], \"e549\", \"M216 56a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-80 0a56 56 0 1 1 112 0A56 56 0 1 1 136 56zM112 320h64V161.2c-3.4-.8-6.9-1.2-10.5-1.2H131.3c-6.8 0-13.3 1.4-19.3 4V320zm179.8-37.6L208 183.9V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V352H112V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V202.2L30.1 295.5c-4.2 7.8-13.9 10.7-21.7 6.6s-10.7-13.9-6.6-21.7L60.7 170.3c13.9-26 41-42.3 70.6-42.3h34.2c23.5 0 45.7 10.3 60.9 28.2l89.8 105.5c5.7 6.7 4.9 16.8-1.8 22.6s-16.8 4.9-22.6-1.8zM304 32h56c8.8 0 16 7.2 16 16s-7.2 16-16 16H304c-8.8 0-16-7.2-16-16s7.2-16 16-16zM432 272a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-80a56 56 0 1 1 0 112 56 56 0 1 1 0-112zm88 96c30.9 0 56 25.1 56 56V456c0 30.9-25.1 56-56 56c-25.1 0-48.8-11.5-64.4-31.3l-53.5-68.2-52.2 91.4c-4.4 7.7-14.2 10.3-21.8 6s-10.3-14.2-6-21.8l64-112c2.6-4.6 7.4-7.6 12.7-8s10.5 1.9 13.8 6.1L464 439.6V344c0-30.9 25.1-56 56-56zm0 192c13.3 0 24-10.7 24-24V344c0-13.3-10.7-24-24-24s-24 10.7-24 24V456c0 13.3 10.7 24 24 24zM265.7 104.8c4-7.9 13.6-11.1 21.5-7.2l48 24c7.9 4 11.1 13.6 7.2 21.5s-13.6 11.1-21.5 7.2l-48-24c-7.9-4-11.1-13.6-7.2-21.5z\"]\n};\nvar faMagnifyingGlassPlay = {\n prefix: 'fal',\n iconName: 'magnifying-glass-play',\n icon: [512, 512, [], \"e660\", \"M208 32a176 176 0 1 1 0 352 176 176 0 1 1 0-352zm0 384c51.7 0 99-18.8 135.3-50L484.7 507.3c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L366 343.3c31.2-36.4 50-83.7 50-135.3C416 93.1 322.9 0 208 0S0 93.1 0 208S93.1 416 208 416zm40.1-208l-62.4 36.2V171.8L248.1 208zm47.9 0c0-5.7-3-11-8-13.8l-110.2-64c-4.9-2.9-11.1-2.9-16 0s-8 8.1-8 13.9V272c0 5.7 3.1 11 8 13.9s11.1 2.8 16 0l110.2-64c4.9-2.9 8-8.1 8-13.8z\"]\n};\nvar faHatWinter = {\n prefix: 'fal',\n iconName: 'hat-winter',\n icon: [512, 512, [], \"f7a8\", \"M256 32c7.2 11.3 20.8 16.9 33.9 14l0 0 0 0C287 59.2 292.6 72.8 304 80l0 0 0 0c-11.3 7.2-16.9 20.8-14 33.9l0 0 0 0c-13.1-2.9-26.7 2.7-33.9 14l0 0 0 0c-7.2-11.3-20.8-16.9-33.9-14l0 0 0 0c2.9-13.1-2.7-26.7-14-33.9l0 0 0 0c11.3-7.2 16.9-20.8 14-33.9l0 0 0 0c13.1 2.9 26.7-2.7 33.9-14l0 0 0 0zm56.5-8.6c-8-8-19.3-10.9-29.6-8.6C277.3 5.9 267.3 0 256 0s-21.3 5.9-27 14.8c-10.3-2.3-21.5 .6-29.6 8.6s-10.9 19.3-8.6 29.6C181.9 58.7 176 68.7 176 80s5.9 21.3 14.8 27c-2.3 10.3 .6 21.5 8.6 29.6s19.3 10.9 29.6 8.6c5.7 8.9 15.7 14.8 27 14.8s21.3-5.9 27-14.8c10.3 2.3 21.5-.6 29.6-8.6s10.9-19.3 8.6-29.6c8.9-5.7 14.8-15.7 14.8-27s-5.9-21.3-14.8-27c2.3-10.3-.6-21.5-8.6-29.6zM32 456c0-13.3 10.7-24 24-24H456c13.3 0 24 10.7 24 24s-10.7 24-24 24H56c-13.3 0-24-10.7-24-24zM0 456c0 30.9 25.1 56 56 56H456c30.9 0 56-25.1 56-56s-25.1-56-56-56H56c-30.9 0-56 25.1-56 56zM162.5 134.6C64.3 188.2 39.4 321.8 33.6 368H65.9c.8-5.8 1.9-12.8 3.3-20.6c.5-2.9 1.1-5.9 1.8-9l8.2-4.1L127.8 310c4.8-2.4 10.4-2.2 15.1 .4l26.3 15c13.9 8 30.9 8.4 45.3 1.3l34.4-17.2c4.5-2.3 9.8-2.3 14.3 0l34.4 17.2c14.4 7.2 31.3 6.7 45.3-1.3l26.3-15c4.6-2.7 10.3-2.8 15.1-.4l48.7 24.3 8.2 4.1c.6 3.1 1.2 6.1 1.8 9c1.5 7.9 2.5 14.8 3.3 20.6h32.3c-5.8-46.2-30.7-179.8-128.8-233.4c-2.5 9-7.3 17.5-14.4 24.6c-.9 .9-1.8 1.8-2.8 2.6c40.1 21.1 66.4 58.5 84.3 99.1c5.4 12.2 9.9 24.5 13.6 36.4l-31.9-15.9c-14.4-7.2-31.3-6.7-45.3 1.3l-26.3 15c-4.6 2.7-10.3 2.8-15.1 .4l-34.4-17.2c-13.5-6.8-29.4-6.8-42.9 0L200.2 298c-4.8 2.4-10.4 2.2-15.1-.4l-26.3-15c-13.9-8-30.9-8.4-45.3-1.3L81.6 297.3c3.7-11.9 8.2-24.2 13.6-36.4c17.9-40.6 44.3-78 84.3-99.1c-1-.8-1.9-1.7-2.8-2.6c-7.1-7.1-11.9-15.6-14.4-24.6z\"]\n};\nvar faBrazilianRealSign = {\n prefix: 'fal',\n iconName: 'brazilian-real-sign',\n icon: [512, 512, [], \"e46c\", \"M400 0c8.8 0 16 7.2 16 16V64.5c16.8 1.4 33.3 5.4 48.9 11.9L478.2 82c8.2 3.4 12 12.8 8.6 20.9s-12.8 12-20.9 8.6l-13.3-5.6C436.9 99.4 420 96 403 96H387.3c-37.2 0-67.3 30.1-67.3 67.3c0 28.6 18.1 54.1 45.1 63.6l80.3 28c39.9 13.9 66.6 51.5 66.6 93.8c0 53.7-42.7 97.5-96 99.3V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V447.5c-22.1-1.8-43.5-8.6-62.6-20l-25.6-15.3c-7.6-4.5-10-14.4-5.5-21.9s14.4-10.1 21.9-5.5l25.6 15.3c17.4 10.4 37.3 15.9 57.5 15.9h17.3c37.2 0 67.3-30.1 67.3-67.3c0-28.6-18.1-54.1-45.1-63.6l-80.3-28c-39.9-13.9-66.6-51.5-66.6-93.8c0-53.7 42.7-97.5 96-99.3V16c0-8.8 7.2-16 16-16zM0 80C0 53.5 21.5 32 48 32h64c79.5 0 144 64.5 144 144c0 65.6-43.9 121-103.9 138.3l54.8 144c3.1 8.3-1 17.5-9.3 20.6s-17.5-1-20.6-9.3L119.9 319.8c-2.6 .1-5.3 .2-7.9 .2H32V464c0 8.8-7.2 16-16 16s-16-7.2-16-16V304 80zM32 288h80c61.9 0 112-50.1 112-112s-50.1-112-112-112H48c-8.8 0-16 7.2-16 16V288z\"]\n};\nvar faLandmarkDome = {\n prefix: 'fal',\n iconName: 'landmark-dome',\n icon: [512, 512, [\"landmark-alt\"], \"f752\", \"M256 0c8.8 0 16 7.2 16 16V32.7c87.9 7.2 159 73.7 173.3 159.3H464c8.8 0 16 7.2 16 16s-7.2 16-16 16H448 416 96 64 48c-8.8 0-16-7.2-16-16s7.2-16 16-16H66.7C81 106.3 152.1 39.9 240 32.7V16c0-8.8 7.2-16 16-16zM99.2 192H412.8C398 119 333.4 64 256 64s-142 55-156.8 128zM64 352V256H96v96h80V256h32v96h96V256h32v96h80V256h32v96c8.8 0 16 7.2 16 16s-7.2 16-16 16H64c-8.8 0-16-7.2-16-16s7.2-16 16-16zM24 432c0-8.8 7.2-16 16-16H472c8.8 0 16 7.2 16 16s-7.2 16-16 16H40c-8.8 0-16-7.2-16-16zM0 496c0-8.8 7.2-16 16-16H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16-7.2-16-16z\"]\n};\nvar faLandmarkAlt = faLandmarkDome;\nvar faBoneBreak = {\n prefix: 'fal',\n iconName: 'bone-break',\n icon: [640, 512, [], \"f5d8\", \"M320 0c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V16c0-8.8-7.2-16-16-16zM164.7 68.7c-6.2 6.2-6.2 16.4 0 22.6l64 64c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-64-64c-6.2-6.2-16.4-6.2-22.6 0zm310.6 0c-6.2-6.2-16.4-6.2-22.6 0l-64 64c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l64-64c6.2-6.2 6.2-16.4 0-22.6zM270.7 244.3c-2.3-8.5-11.1-13.6-19.6-11.3l-73.4 19.7c-4 1.1-8.1-1.1-9.9-4.9c-17.7-38.1-60.6-59.1-102.6-47.8C18.3 212.6-9.6 260.8 3 307.8C9.7 332.6 26.3 352 47.4 363c4.9 2.6 6.7 9.1 3.7 13.8c-12.8 20.1-17.4 45.3-10.8 70.1c12.6 46.9 60.8 74.8 107.8 62.2c41.9-11.2 68.6-50.9 64.9-92.7c-.4-4.1 2.1-8.1 6.1-9.1l73.4-19.7c8.5-2.3 13.6-11.1 11.3-19.6s-11.1-13.6-19.6-11.3l-73.4 19.7c-20.6 5.5-31.3 24.9-29.7 42.9c2.4 26.6-14.7 51.8-41.3 59c-29.9 8-60.6-9.7-68.6-39.6c-4.2-15.8-1.3-31.8 6.9-44.6c13.1-20.5 5.7-48.1-15.9-59.3c-13.5-7-24-19.4-28.2-35.2c-8-29.9 9.7-60.6 39.6-68.6c26.6-7.1 54 6.2 65.3 30.4c7.6 16.3 26.6 27.8 47.2 22.3l73.4-19.7c8.5-2.3 13.6-11.1 11.3-19.6zM388.9 233c-8.5-2.3-17.3 2.8-19.6 11.3s2.8 17.3 11.3 19.6L454 283.6c20.6 5.5 39.6-5.9 47.2-22.3c11.2-24.2 38.6-37.5 65.3-30.4c29.9 8 47.6 38.7 39.6 68.6c-4.2 15.8-14.7 28.2-28.2 35.2c-21.6 11.2-28.9 38.8-15.9 59.3c8.2 12.8 11.1 28.8 6.9 44.6c-8 29.9-38.7 47.6-68.6 39.6c-26.6-7.1-43.7-32.4-41.3-59c1.6-18-9.1-37.4-29.7-42.9l-73.4-19.7c-8.5-2.3-17.3 2.8-19.6 11.3s2.8 17.3 11.3 19.6l73.4 19.7c4 1.1 6.5 5 6.1 9.1c-3.7 41.8 23 81.5 64.9 92.7c46.9 12.6 95.2-15.3 107.8-62.2c6.6-24.8 2-50-10.8-70.1c-3-4.7-1.2-11.2 3.7-13.8c21.1-11 37.7-30.5 44.4-55.3c12.6-46.9-15.3-95.2-62.2-107.8c-41.9-11.2-84.9 9.8-102.6 47.8c-1.7 3.8-5.9 5.9-9.9 4.9L388.9 233z\"]\n};\nvar faArrowUp = {\n prefix: 'fal',\n iconName: 'arrow-up',\n icon: [384, 512, [8593], \"f062\", \"M203.3 36.7c-6.2-6.2-16.4-6.2-22.6 0l-176 176c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L176 86.6V464c0 8.8 7.2 16 16 16s16-7.2 16-16V86.6L356.7 235.3c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-176-176z\"]\n};\nvar faDownFromDottedLine = {\n prefix: 'fal',\n iconName: 'down-from-dotted-line',\n icon: [448, 512, [], \"e407\", \"M222.2 447.2c.5 .5 1.1 .8 1.8 .8s1.4-.3 1.8-.8L350.2 315.3c1.2-1.2 1.8-2.9 1.8-4.6c0-3.7-3-6.7-6.7-6.7H288c-8.8 0-16-7.2-16-16V168c0-4.4-3.6-8-8-8H184c-4.4 0-8 3.6-8 8V288c0 8.8-7.2 16-16 16H102.7c-3.7 0-6.7 3-6.7 6.7c0 1.7 .7 3.3 1.8 4.6L222.2 447.2zM224 480c-9.5 0-18.6-3.9-25.1-10.8L74.5 337.2C67.8 330 64 320.5 64 310.7c0-21.4 17.3-38.7 38.7-38.7H144V168c0-22.1 17.9-40 40-40h80c22.1 0 40 17.9 40 40V272h41.3c21.4 0 38.7 17.3 38.7 38.7c0 9.9-3.8 19.4-10.5 26.5L249.1 469.2c-6.5 6.9-15.6 10.8-25.1 10.8zM32 88a24 24 0 1 1 0-48 24 24 0 1 1 0 48zm384 0a24 24 0 1 1 0-48 24 24 0 1 1 0 48zM104 64a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM224 88a24 24 0 1 1 0-48 24 24 0 1 1 0 48zm72-24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faTv = {\n prefix: 'fal',\n iconName: 'tv',\n icon: [640, 512, [63717, \"television\", \"tv-alt\"], \"f26c\", \"M64 32C46.3 32 32 46.3 32 64V384c0 17.7 14.3 32 32 32H576c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H64zM0 64C0 28.7 28.7 0 64 0H576c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM112 480H528c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faTelevision = faTv;\nvar faTvAlt = faTv;\nvar faBorderLeft = {\n prefix: 'fal',\n iconName: 'border-left',\n icon: [448, 512, [], \"f84f\", \"M16 480c-8.8 0-16-7.2-16-16L0 48c0-8.8 7.2-16 16-16s16 7.2 16 16l0 416c0 8.8-7.2 16-16 16zm112-56a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-336a24 24 0 1 1 0-48 24 24 0 1 1 0 48zm0 144a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM320 472a24 24 0 1 1 0-48 24 24 0 1 1 0 48zm0-432a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0 240a24 24 0 1 1 0-48 24 24 0 1 1 0 48zM224 424a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-336a24 24 0 1 1 0-48 24 24 0 1 1 0 48zm0 144a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM416 472a24 24 0 1 1 0-48 24 24 0 1 1 0 48zm0-432a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0 240a24 24 0 1 1 0-48 24 24 0 1 1 0 48zM224 328a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm192 48a24 24 0 1 1 0-48 24 24 0 1 1 0 48zm0-240a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM224 184a24 24 0 1 1 0-48 24 24 0 1 1 0 48z\"]\n};\nvar faCircleDivide = {\n prefix: 'fal',\n iconName: 'circle-divide',\n icon: [512, 512, [], \"e106\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-328a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm-96 56c-8.8 0-16 7.2-16 16s7.2 16 16 16H352c8.8 0 16-7.2 16-16s-7.2-16-16-16H160zM280 352a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faShrimp = {\n prefix: 'fal',\n iconName: 'shrimp',\n icon: [512, 512, [129424], \"e448\", \"M0 96C0 60.7 28.7 32 64 32H432c8.8 0 16 7.2 16 16s-7.2 16-16 16H64C46.3 64 32 78.3 32 96s14.3 32 32 32H336c97.2 0 176 78.8 176 176s-78.8 176-176 176H240c-8.8 0-16-7.2-16-16c0-4.4 1.8-8.4 4.7-11.3L265.4 416l-36.7-36.7c-5-5-6.1-12.7-2.7-19s10.5-9.5 17.4-8L348.9 375c3.2 .7 6.4 1 9.7 1c14 0 25.4-11.4 25.4-25.4V348c0-15.5-12.5-28-28-28H240c-91.8 0-167.2-70.3-175.3-160H64C28.7 160 0 131.3 0 96zM336 448V404.9L289.6 395l9.7 9.7c6.2 6.2 6.2 16.4 0 22.6L278.6 448H336zm32-3.6c33-7.5 61.7-26.3 81.7-52.1l-39.8-15.9c-8.1 16.1-23.5 27.8-41.9 30.8v37.2zm98.7-79.8c8.6-18.4 13.3-39 13.3-60.6c0-9.3-.9-18.3-2.5-27.1l-67.4 45c3.3 6.9 5.4 14.4 5.9 22.4l50.8 20.3zm.8-119.5C447 199.6 403.6 166.6 352 160.9V288h4c12 0 23.3 3.6 32.7 9.7l78.8-52.5zM320 160H96.9c8 72 69 128 143.1 128h80V160zM208 192a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faListCheck = {\n prefix: 'fal',\n iconName: 'list-check',\n icon: [512, 512, [\"tasks\"], \"f0ae\", \"M156.3 58.2c5.7-6.8 4.7-16.9-2-22.5s-16.9-4.7-22.5 2L62.9 120.3 27.3 84.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l48 48c3.2 3.2 7.5 4.9 12 4.7s8.7-2.3 11.6-5.7l80-96zm0 160c5.7-6.8 4.7-16.9-2-22.5s-16.9-4.7-22.5 2L62.9 280.3 27.3 244.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l48 48c3.2 3.2 7.5 4.9 12 4.7s8.7-2.3 11.6-5.7l80-96zM192 96c0 8.8 7.2 16 16 16H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H208c-8.8 0-16 7.2-16 16zm0 160c0 8.8 7.2 16 16 16H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H208c-8.8 0-16 7.2-16 16zM160 416c0 8.8 7.2 16 16 16H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H176c-8.8 0-16 7.2-16 16zm-64 0a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faTasks = faListCheck;\nvar faDiagramSubtask = {\n prefix: 'fal',\n iconName: 'diagram-subtask',\n icon: [512, 512, [], \"e479\", \"M448 64c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H144 112 64c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32H448zM144 224H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96v64c0 35.3 28.7 64 64 64h48v96c0 44.2 35.8 80 80 80h32v16c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V352c0-35.3-28.7-64-64-64H288c-35.3 0-64 28.7-64 64v16H192c-26.5 0-48-21.5-48-48V224zm304 96c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H288c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32H448z\"]\n};\nvar faJugDetergent = {\n prefix: 'fal',\n iconName: 'jug-detergent',\n icon: [384, 512, [], \"e519\", \"M128 64V32h64V64H128zM96 64H80c-8.8 0-16 7.2-16 16s7.2 16 16 16H96h32 64 32 16c8.8 0 16-7.2 16-16s-7.2-16-16-16H224V24c0-13.3-10.7-24-24-24H120C106.7 0 96 10.7 96 24V64zm32 96H256c53 0 96 43 96 96V448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V256c0-53 43-96 96-96zm0-32C57.3 128 0 185.3 0 256V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V256c0-70.7-57.3-128-128-128H128zm128 80c-26.5 0-48 21.5-48 48v96c0 26.5 21.5 48 48 48s48-21.5 48-48V256c0-26.5-21.5-48-48-48zm-16 48c0-8.8 7.2-16 16-16s16 7.2 16 16v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V256z\"]\n};\nvar faCircleUser = {\n prefix: 'fal',\n iconName: 'circle-user',\n icon: [512, 512, [62142, \"user-circle\"], \"f2bd\", \"M412.1 416.6C398.1 361.1 347.9 320 288 320H224c-59.9 0-110.1 41.1-124.1 96.6C58 375.9 32 319 32 256C32 132.3 132.3 32 256 32s224 100.3 224 224c0 63-26 119.9-67.9 160.6zm-28.5 23.4C347.5 465.2 303.5 480 256 480s-91.5-14.8-127.7-39.9c4-49.3 45.3-88.1 95.7-88.1h64c50.4 0 91.6 38.8 95.7 88.1zM256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-256a48 48 0 1 1 0-96 48 48 0 1 1 0 96zm-80-48a80 80 0 1 0 160 0 80 80 0 1 0 -160 0z\"]\n};\nvar faUserCircle = faCircleUser;\nvar faSquareY = {\n prefix: 'fal',\n iconName: 'square-y',\n icon: [448, 512, [], \"e287\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm124 53.5L224 263.7 324 149.5c5.8-6.7 15.9-7.3 22.6-1.5s7.3 15.9 1.5 22.6L240 294v90c0 8.8-7.2 16-16 16s-16-7.2-16-16V294L100 170.5c-5.8-6.7-5.1-16.8 1.5-22.6s16.8-5.1 22.6 1.5z\"]\n};\nvar faUserDoctorHair = {\n prefix: 'fal',\n iconName: 'user-doctor-hair',\n icon: [448, 512, [], \"e458\", \"M320 128c0-5.5-.5-10.8-1.3-16H288.6c-14.9 0-29.1-5.9-39.6-16.4l-6.3-6.3C223.4 113.5 194 128 162.3 128L128 128v16c0 53 43 96 96 96s96-43 96-96V128zM228.7 52.7c6.2-6.2 16.4-6.2 22.6 0L271.6 73c4.5 4.5 10.6 7 17 7h18.6C290.6 51.3 259.5 32 224 32c-41.8 0-77.4 26.7-90.5 64h28.9c26.7 0 51.2-15 63.2-38.9c.8-1.6 1.8-3.1 3.1-4.5zM96 128C96 57.3 153.3 0 224 0s128 57.3 128 128v16c0 70.7-57.3 128-128 128s-128-57.3-128-128V128zm80 208v34.7c18.6 6.6 32 24.4 32 45.3c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3V339.8C80.2 354.7 32.6 411.8 32 480H416c-.5-62.4-40.4-115.4-96-135.5v25.8c23.1 6.9 40 28.3 40 53.7v24c0 8.8-7.2 16-16 16H328c-8.8 0-16-7.2-16-16s7.2-16 16-16v-8c0-13.3-10.7-24-24-24s-24 10.7-24 24v8c8.8 0 16 7.2 16 16s-7.2 16-16 16H264c-8.8 0-16-7.2-16-16V424c0-25.4 16.9-46.8 40-53.7V337c-5.6-.7-11.4-1-17.2-1H177.2l-1.2 0zm-32 80a16 16 0 1 0 32 0 16 16 0 1 0 -32 0zM0 481.2C0 383.3 79.3 304 177.2 304h93.6C368.7 304 448 383.3 448 481.2c0 17-13.8 30.8-30.8 30.8H30.8C13.8 512 0 498.2 0 481.2z\"]\n};\nvar faPlanetRinged = {\n prefix: 'fal',\n iconName: 'planet-ringed',\n icon: [512, 512, [129680], \"e020\", \"M480 32c-2.5 0-6.6 .4-12.8 1.9c-15.8 3.9-37.7 13.4-64.7 29.3l-2 1.2c-9.5-7.2-19.5-13.6-29.8-19.2c63.8-40.5 113.9-56.2 133.1-37c22.1 22.1-2.3 85.6-57.6 163.7C457.7 197.6 464 226 464 256c0 114.9-93.1 208-208 208c-30 0-58.4-6.3-84.2-17.7C93.7 501.6 30.3 526 8.1 503.9c-19.2-19.2-3.4-69.3 37-133.1c5.6 10.3 12 20.2 19.2 29.8l-1.2 2c-15.9 27-25.5 48.9-29.3 64.7C32.4 473.5 32 477.5 32 480c2.5 0 6.6-.4 12.8-1.9c15.8-3.9 37.7-13.4 64.7-29.3c9.9-5.9 20.3-12.5 31.1-19.7C84.7 391.7 48 328.2 48 256C48 141.1 141.1 48 256 48c72.2 0 135.7 36.7 173 92.5c7.3-10.8 13.9-21.1 19.7-31.1c15.9-26.9 25.5-48.9 29.3-64.7c1.5-6.3 1.9-10.3 1.9-12.8zM408.9 168.8C378.6 115.8 321.5 80 256 80C158.8 80 80 158.8 80 256c0 65.5 35.8 122.6 88.8 152.9C209 379.1 253 341.1 297.1 297.1s82-88.1 111.9-128.2zM202.3 423.7c16.9 5.4 34.9 8.3 53.7 8.3c97.2 0 176-78.8 176-176c0-18.7-2.9-36.7-8.3-53.7c-29 37.6-64.2 77.6-104 117.3s-79.8 74.9-117.3 104z\"]\n};\nvar faMushroom = {\n prefix: 'fal',\n iconName: 'mushroom',\n icon: [512, 512, [127812], \"e425\", \"M130.8 105c17.5 23.6 45.6 39 77.2 39c46.1 0 84.6-32.5 93.9-75.9c41 8.6 77.3 30.1 104.3 60.2c-2-.2-4.1-.3-6.2-.3c-35.3 0-64 28.7-64 64s28.7 64 64 64c22.4 0 42.1-11.5 53.5-28.9c1.6 10.1 2.5 20.5 2.5 31c0 16.5-13.4 29.9-29.9 29.9H288 224 85.9C69.4 288 56 274.6 56 258.1c0-62.2 29.3-117.6 74.8-153.1zM116.1 75.9C60.3 117.1 24 183.4 24 258.1C24 292.3 51.7 320 85.9 320H191.4 224h64 32.6H426.1c34.2 0 61.9-27.7 61.9-61.9C488 133.2 386.8 32 261.9 32H250.1c-38 0-73.9 9.4-105.3 26c0 0 0 0 0 0c-10 5.3-19.6 11.3-28.6 18c0 0 0 0 0 0zm41.5 11.5c27.5-14.9 59-23.4 92.5-23.4h11.8c2.7 0 5.4 .1 8 .2C262.8 91.7 237.8 112 208 112c-20.5 0-38.7-9.6-50.4-24.6zM326.6 352H294l18 96-112 0 18-96H185.4l-16.9 90.1c-1.8 9.4 .7 19 6.8 26.3s15.1 11.6 24.6 11.6H312c9.5 0 18.5-4.2 24.6-11.6s8.6-17 6.8-26.3L326.6 352zM128 208a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm64 0a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm208-48a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faUserShield = {\n prefix: 'fal',\n iconName: 'user-shield',\n icon: [640, 512, [], \"f505\", \"M128 128a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zm224 0A128 128 0 1 0 96 128a128 128 0 1 0 256 0zM32 480c1.2-79.7 66.2-144 146.3-144h91.4c19.4 0 37.9 3.8 54.9 10.6c-2.2-12.4-3.5-24.3-4.1-35.3c-16.1-4.8-33.1-7.3-50.7-7.3H178.3C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c1.8 0 3.5-.2 5.3-.5c-13.4-9.7-25.1-20.3-35.5-31.5H32zm352-178.6L480 263V471.4c-73.4-40.5-94.6-117.1-95.9-170zm223.9 0c-1.3 53-22.6 129.5-95.9 170V263l95.9 38.4zm-103-75.7c-5.7-2.3-12.1-2.3-17.8 0l-120 48C358 277.4 352 286.2 352 296c0 63.3 25.9 168.8 134.8 214.2c5.9 2.5 12.6 2.5 18.5 0C614.1 464.8 640 359.3 640 296c0-9.8-6-18.6-15.1-22.3l-120-48z\"]\n};\nvar faMegaphone = {\n prefix: 'fal',\n iconName: 'megaphone',\n icon: [576, 512, [128227], \"f675\", \"M560 32c-8.8 0-16 7.2-16 16V59.5L32 187.5V176c0-8.8-7.2-16-16-16s-16 7.2-16 16v19.5V208v96 12.5V336c0 8.8 7.2 16 16 16s16-7.2 16-16V324.5l131.7 32.9c-2.4 8.4-3.7 17.4-3.7 26.6c0 53 43 96 96 96c46.2 0 84.7-32.6 93.9-76L544 452.5V464c0 8.8 7.2 16 16 16s16-7.2 16-16V440 72 48c0-8.8-7.2-16-16-16zM544 419.5L32 291.5v-71l512-128v327zM192 384c0-6.5 1-12.9 2.8-18.8l124 31C313.1 425.7 287.2 448 256 448c-35.3 0-64-28.7-64-64z\"]\n};\nvar faWreathLaurel = {\n prefix: 'fal',\n iconName: 'wreath-laurel',\n icon: [640, 512, [], \"e5d2\", \"M384 32c44.2 0 80 35.8 80 80c-44.2 0-80-35.8-80-80zM494.6 94C486 40.7 439.7 0 384 0H368c-8.8 0-16 7.2-16 16V32c0 61.9 50.1 112 112 112h8.1c25.7 31.5 39.9 71 39.9 112c0 72.8-40.5 136.1-100.2 168.7c9.4 2.3 18.7 5 27.8 8.2l0 0c12.3 4.3 24.3 9.3 36 15.2l4.6 2.3c51.5 9 105.4-14.2 133-62.1L630 359c3.9-6.8 1.6-15.5-5.2-19.4c-11.4-6.6-23.6-11-35.9-13.3c31-23.4 51-60.5 51-102.3V190.2c0-7.9-6.4-14.2-14.2-14.2c-13.2 0-25.9 2.3-37.7 6.4c15.2-35.7 14-77.9-6.9-114.1L564.2 39c-3.9-6.8-12.6-9.1-19.4-5.2c-24.3 14-41.5 35.7-50.2 60.2zM319.8 480l.2 0h19.6c37.3 0 74 8.7 107.3 25.3l9.9 5c7.9 4 17.5 .7 21.5-7.2s.7-17.5-7.2-21.5l-9.9-5C423.4 457.8 381.8 448 339.6 448H320c-106 0-192-86-192-192c0-41 14.2-80.5 39.9-112H176c61.9 0 112-50.1 112-112V16c0-8.8-7.2-16-16-16H256C200.3 0 154 40.7 145.4 94c-8.8-24.5-25.9-46.2-50.2-60.2c-6.8-3.9-15.5-1.6-19.4 5.2L58.9 68.3C38 104.5 36.8 146.7 51.9 182.4c-11.8-4.1-24.5-6.4-37.7-6.4C6.4 176 0 182.4 0 190.2V224c0 41.8 20 78.9 51 102.3c-12.3 2.3-24.4 6.7-35.9 13.3C8.4 343.5 6.1 352.2 10 359l16.9 29.3c29.8 51.7 90.2 74.7 145.1 59.4c6.9-1.9 13.7-4.4 20.3-7.6c10.2 7.1 21 13.4 32.4 18.7c-15.8 4.6-31.1 10.6-45.9 18l-9.9 5c-7.9 4-11.1 13.6-7.2 21.5s13.6 11.1 21.5 7.2l9.9-5c33.3-16.7 70.1-25.3 107.3-25.3h19.3zM176 112c0-21.6 8.5-41.2 22.4-55.5C213 41.4 233.4 32 256 32c0 44.2-35.8 80-80 80zM96 289.8v24.8C58.7 301.4 32 265.8 32 224V209.9c36.6 8.1 64 40.8 64 79.8zm448 24.8V289.8c0-39.1 27.4-71.7 64-79.8V224c0 41.8-26.7 77.4-64 90.5zM142.9 397.3l12.4 21.4c-38.9 7.2-79.8-10.2-100.7-46.4l-7-12.2c35.8-11.3 75.8 3.3 95.3 37.1zM96.7 194.7C71 164.6 65.7 120.5 86.6 84.3l7-12.2c27.7 25.3 35 67.3 15.5 101.1L96.7 194.7zm434.1-21.4c-19.5-33.8-12.1-75.8 15.5-101.1l7 12.2c20.9 36.2 15.5 80.4-10.2 110.4l-12.4-21.4zm-33.8 224c19.5-33.8 59.6-48.4 95.3-37.1l-7 12.2c-20.9 36.2-61.8 53.6-100.7 46.4l12.4-21.4z\"]\n};\nvar faCircleExclamationCheck = {\n prefix: 'fal',\n iconName: 'circle-exclamation-check',\n icon: [640, 512, [], \"e10d\", \"M32 256C32 132.3 132.3 32 256 32c95.3 0 176.7 59.5 209.1 143.4c3.2 8.2 12.4 12.4 20.7 9.2s12.4-12.4 9.2-20.7C458 68 364.9 0 256 0C114.6 0 0 114.6 0 256S114.6 512 256 512c75.8 0 144-33 190.8-85.3c5.9-6.6 5.3-16.7-1.3-22.6s-16.7-5.3-22.6 1.3c-41 45.9-100.6 74.7-167 74.7C132.3 480 32 379.7 32 256zM272 144c0-8.8-7.2-16-16-16s-16 7.2-16 16V272c0 8.8 7.2 16 16 16s16-7.2 16-16V144zM256 376a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM619.3 180.7c-6.2-6.2-16.4-6.2-22.6 0L480 297.4l-52.7-52.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l64 64c6.2 6.2 16.4 6.2 22.6 0l128-128c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nvar faWind = {\n prefix: 'fal',\n iconName: 'wind',\n icon: [512, 512, [], \"f72e\", \"M288 16c0 8.8 7.2 16 16 16h64c26.5 0 48 21.5 48 48s-21.5 48-48 48H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H368c44.2 0 80-35.8 80-80s-35.8-80-80-80H304c-8.8 0-16 7.2-16 16zm64 384c0 8.8 7.2 16 16 16h56c48.6 0 88-39.4 88-88s-39.4-88-88-88H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H424c30.9 0 56 25.1 56 56s-25.1 56-56 56H368c-8.8 0-16 7.2-16 16zM112 512h64c44.2 0 80-35.8 80-80s-35.8-80-80-80H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H176c26.5 0 48 21.5 48 48s-21.5 48-48 48H112c-8.8 0-16 7.2-16 16s7.2 16 16 16z\"]\n};\nvar faBoxDollar = {\n prefix: 'fal',\n iconName: 'box-dollar',\n icon: [448, 512, [\"box-usd\"], \"f4a0\", \"M240 64H342.4c12.6 0 24.1 7.4 29.2 19l34.2 77H240V64zm0 128H416V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V192H208h32zm-32-32H42.1L76.3 83c5.1-11.6 16.6-19 29.2-19H208v96zM400.9 70c-10.3-23.1-33.2-38-58.5-38H105.6C80.3 32 57.4 46.9 47.1 70L5.5 163.6c-3.6 8.2-5.5 17-5.5 26V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V189.6c0-9-1.9-17.8-5.5-26L400.9 70zM240 216c0-8.8-7.2-16-16-16s-16 7.2-16 16v17.3c-8.3 1.5-16.7 4.3-24.1 8.7c-13 7.7-23.9 21.1-23.8 40.5c.1 18.4 10.8 30.1 22.7 37.3c10.5 6.3 23.8 10.4 34.8 13.7l0 0 1.6 .5c12.5 3.8 22.2 6.9 29 11.2c5.9 3.7 7.7 7 7.7 11.6c.1 6.6-2.7 10.8-7.8 14c-5.8 3.6-14.5 5.6-23.7 5.3c-11.8-.4-22.7-4.1-36.3-8.7l0 0 0 0 0 0c-2.3-.8-4.7-1.6-7.1-2.4c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2c2 .7 4.1 1.4 6.2 2.1l0 0c9.2 3.2 19.7 6.8 30.9 8.9V424c0 8.8 7.2 16 16 16s16-7.2 16-16V406.9c8.7-1.4 17.4-4.3 25.1-9.1c13.3-8.3 23.2-22.2 22.9-41.6c-.2-18.5-10.6-30.6-22.7-38.2c-11-6.9-25-11.2-36.3-14.6l0 0 0 0-.5-.1c-12.6-3.8-22.3-6.8-29.2-10.9c-6-3.6-7.2-6.4-7.3-10.1c0-5.4 2.4-9.4 8.1-12.8c6.2-3.7 15.1-5.7 23.6-5.5c10.1 .2 21 2.3 32.1 5.3c8.5 2.3 17.3-2.8 19.6-11.3s-2.8-17.3-11.3-19.6c-7.5-2-15.6-3.9-24.1-5.1V216z\"]\n};\nvar faBoxUsd = faBoxDollar;\nvar faCarBurst = {\n prefix: 'fal',\n iconName: 'car-burst',\n icon: [640, 512, [\"car-crash\"], \"f5e1\", \"M190.5 17.3C187.9 11.6 182.2 8 176 8s-11.9 3.6-14.5 9.3L129.4 87.2 54.7 68.7c-6.1-1.5-12.5 .7-16.3 5.6s-4.6 11.6-1.8 17.2l34.6 68.6L10.3 206.9c-5 3.8-7.2 10.2-5.8 16.2s6.2 10.8 12.3 12.1L92 251l-1.4 76.8c-.1 6.2 3.4 12 9.1 14.7s12.3 1.9 17.1-2.1l25.7-21.3c.3-2.9 .8-5.8 1.6-8.7l11.8-43.9-32.7 27 1-55.3c.1-7.7-5.2-14.4-12.7-15.9L57.4 211.1l43.8-33.7c6.1-4.7 8-13 4.5-19.9L80.9 108.1l53.7 13.3c7.5 1.8 15.2-1.9 18.4-8.9L176 62.3l23.1 50.2c3.2 7 10.9 10.7 18.4 8.9l48.2-11.9 23.2-38.7L222.6 87.2 190.5 17.3zM380.9 86.9l164.4 44c13.8 3.7 23.5 16.1 23.7 30.4l1.3 75.7-264-70.7 38.9-64.9c7.3-12.3 21.9-18.2 35.7-14.5zm-63.2-2l-46.2 77c-32.6 2.9-61.4 25.6-70.3 59L175 318.8c-.3 1.3-.6 2.6-.7 3.8l-.3-.1L159.1 378c-2.7 10 3.2 20.2 13.2 22.9s20.2-3.2 22.9-13.2l9.7-36 360.5 96.6-9.7 36.1c-2.7 10 3.2 20.2 13.2 22.9s20.2-3.2 22.9-13.2l15.4-57.5-.1 0c.2-.6 .4-1.1 .5-1.7l26.2-97.8c8.9-33.4-4.6-67.5-31.4-86.3L601 160.8c-.5-28.6-19.8-53.4-47.4-60.8L389.2 56c-27.6-7.4-56.8 4.4-71.5 28.9zM569 269.8c25.6 6.9 40.8 33.2 33.9 58.8l-24.1 90.1L208 319.3l24.1-90.1c6.9-25.6 33.2-40.8 58.8-33.9l278 74.5zM278.3 294a28 28 0 1 0 14.5-54.1A28 28 0 1 0 278.3 294zm286.6 47.8a28 28 0 1 0 -54.1-14.5 28 28 0 1 0 54.1 14.5z\"]\n};\nvar faCarCrash = faCarBurst;\nvar faY = {\n prefix: 'fal',\n iconName: 'y',\n icon: [384, 512, [121], \"59\", \"M28.9 38.5c-5.2-7.1-15.2-8.7-22.4-3.4S-2.1 50.3 3.1 57.5L176 293.2V464c0 8.8 7.2 16 16 16s16-7.2 16-16V293.2L380.9 57.5c5.2-7.1 3.7-17.1-3.4-22.4s-17.1-3.7-22.4 3.4L192 260.9 28.9 38.5z\"]\n};\nvar faUserHeadset = {\n prefix: 'fal',\n iconName: 'user-headset',\n icon: [448, 512, [], \"f82d\", \"M224 32C135.6 32 64 103.6 64 192v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V192C32 86 118 0 224 0S416 86 416 192v16c0 61.9-50.1 112-112 112H240 224 208c-17.7 0-32-14.3-32-32s14.3-32 32-32h32c17.7 0 32 14.3 32 32h32c44.2 0 80-35.8 80-80V192c0-88.4-71.6-160-160-160zm0 32c70.7 0 128 57.3 128 128c0 13.9-2.2 27.3-6.3 39.8C337.4 246.3 321.8 256 304 256h-8.4c15.2-17 24.4-39.4 24.4-64c0-53-43-96-96-96s-96 43-96 96c0 24.6 9.3 47.1 24.5 64.1c-5.4 9.4-8.5 20.3-8.5 31.9c0 1.4 0 2.7 .1 4C114.8 268.6 96 232.5 96 192c0-70.7 57.3-128 128-128zM208 352h16 16 64 9.6C387.8 352 448 412.2 448 486.4c0 14.1-11.5 25.6-25.6 25.6H25.6C11.5 512 0 500.5 0 486.4C0 412.2 60.2 352 134.4 352H208zm105.6 32H134.4C80 384 35.5 426.4 32.2 480H415.8c-3.3-53.6-47.8-96-102.2-96z\"]\n};\nvar faArrowsRetweet = {\n prefix: 'fal',\n iconName: 'arrows-retweet',\n icon: [640, 512, [\"retweet-alt\"], \"f361\", \"M116.7 68.7c6.2-6.2 16.4-6.2 22.6 0l88 88c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L144 118.6V336c0 26.5 21.5 48 48 48H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H192c-44.2 0-80-35.8-80-80V118.6L51.3 179.3c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l88-88zM528 393.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-88 88c-6.2 6.2-16.4 6.2-22.6 0l-88-88c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L496 393.4V176c0-26.5-21.5-48-48-48H304c-8.8 0-16-7.2-16-16s7.2-16 16-16H448c44.2 0 80 35.8 80 80V393.4z\"]\n};\nvar faRetweetAlt = faArrowsRetweet;\nvar faPersonSnowboarding = {\n prefix: 'fal',\n iconName: 'person-snowboarding',\n icon: [512, 512, [127938, \"snowboarding\"], \"f7ce\", \"M221.3 7.1c-4.9-7.4-14.8-9.3-22.2-4.4s-9.3 14.8-4.4 22.2l40.6 61c7.1 10.6 18 17.9 30.5 20.4l37 7.4-83.3 39.2c-16.8 7.9-27.6 24.8-27.6 43.4l0 83.1-88.9 59.3c-4.2 2.8-6.6 7.2-7.1 11.8l-18.9-7.4c-7.5-3-14.2-7.8-19.4-14L28.3 293.8c-5.7-6.8-15.7-7.7-22.5-2s-7.7 15.7-2 22.5l29.5 35.4C41.8 360 52.9 368 65.5 372.9L406.9 506.5c9.3 3.6 19.2 5.5 29.2 5.5H480c8.8 0 16-7.2 16-16s-7.2-16-16-16H436.1c-6 0-11.9-1.1-17.5-3.3l-92.9-36.4c.4-.6 .7-1.3 1-1.9l41-93.8c11.7-26.8 3.8-58.2-19.3-76.2l-38.8-30.2 96.1-54.1 80 68c6.7 5.7 16.8 4.9 22.6-1.8s4.9-16.8-1.8-22.6l-141-119.9c-3.7-3.1-7.6-6-11.6-8.6c-.8-.6-1.6-1.1-2.4-1.5c-11.2-6.9-23.6-11.7-36.6-14.3l-42.6-8.5c-4.2-.8-7.8-3.3-10.2-6.8l-40.6-61zm60.8 209.8l-46.6-36.2 106.8-50.3c.8 .6 1.5 1.2 2.2 1.8l35 29.8-97.5 54.8zM224 212.3l104.7 81.4c11.6 9 15.5 24.7 9.7 38.1l-41 93.8c-.5 1.1-.8 2.2-1 3.3L125.7 362.1l84-56c8.9-5.9 14.2-15.9 14.2-26.6l0-67.2zM424 32a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0 80A56 56 0 1 0 424 0a56 56 0 1 0 0 112z\"]\n};\nvar faSnowboarding = faPersonSnowboarding;\nvar faSquareChevronRight = {\n prefix: 'fal',\n iconName: 'square-chevron-right',\n icon: [448, 512, [\"chevron-square-right\"], \"f32b\", \"M416 96c0-17.7-14.3-32-32-32L64 64C46.3 64 32 78.3 32 96l0 320c0 17.7 14.3 32 32 32l320 0c17.7 0 32-14.3 32-32l0-320zM384 32c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l320 0zM315.3 267.3l-112 112c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L281.4 256 180.7 155.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l112 112c6.2 6.2 6.2 16.4 0 22.6z\"]\n};\nvar faChevronSquareRight = faSquareChevronRight;\nvar faLacrosseStickBall = {\n prefix: 'fal',\n iconName: 'lacrosse-stick-ball',\n icon: [576, 512, [], \"e3b6\", \"M344 32v0c-44.3 0-83.7 28.4-97.7 70.4l-.8 2.4c-6.2 18.8-14.3 43-31.6 64.2l-34.4 42c-12.6 15.4-19.5 34.7-19.5 54.7c0 47.7 38.7 86.3 86.3 86.3c19.9 0 39.2-6.9 54.7-19.5l42-34.4c21.1-17.3 45.2-25.3 64-31.5l1.8-.6 .8-.3 0 0c42-14 70.4-53.3 70.4-97.6l0-.1 0-.2 0-.1c0-28.8-18.4-62.8-45.6-90.1C407.2 50.4 373.2 32 344.4 32l-.2 0-.2 0zm.3-32C385.1 0 426.8 24.8 457 55s55 71.9 55 112.7l0 .3c0 58.1-37.2 109.7-92.3 128.1l-.8 .3c-19.8 6.6-39.1 13-55.6 26.5l-42 34.4c-21.1 17.3-47.6 26.7-74.9 26.7c-26.9 0-51.7-9-71.6-24.1L27.3 507.3c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L152.1 337.3C137 317.4 128 292.6 128 265.7c0-27.3 9.5-53.8 26.7-74.9l34.4-42c13.5-16.5 19.9-35.8 26.5-55.6l0 0 .3-.8C234.3 37.2 285.9 0 344 0l.3 0zM544 432a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm-128 0a80 80 0 1 1 160 0 80 80 0 1 1 -160 0z\"]\n};\nvar faTruckFast = {\n prefix: 'fal',\n iconName: 'truck-fast',\n icon: [640, 512, [\"shipping-fast\"], \"f48b\", \"M128 32H352c17.7 0 32 14.3 32 32V384H250.5c-13.2-37.3-48.7-64-90.5-64c-24.6 0-47 9.2-64 24.4V288H64v96 32c0 53 43 96 96 96s96-43 96-96H384c0 53 43 96 96 96s96-43 96-96h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H608V235.8c0-11.5-4.1-22.5-11.6-31.2l-78.7-91.8C508.6 102.1 495.3 96 481.3 96H416V64c0-35.3-28.7-64-64-64H128C92.7 0 64 28.7 64 64V96H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H240c8.8 0 16-7.2 16-16s-7.2-16-16-16H96V64c0-17.7 14.3-32 32-32zM570.9 224H416V128h65.3c4.7 0 9.1 2 12.1 5.6L570.9 224zM416 256H576V384h-5.5c-13.2-37.3-48.7-64-90.5-64c-24.6 0-47 9.2-64 24.4V256zM96 416a64 64 0 1 1 128 0A64 64 0 1 1 96 416zm384-64a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM48 160c-8.8 0-16 7.2-16 16s7.2 16 16 16H272c8.8 0 16-7.2 16-16s-7.2-16-16-16H48zM16 224c-8.8 0-16 7.2-16 16s7.2 16 16 16H240c8.8 0 16-7.2 16-16s-7.2-16-16-16H16z\"]\n};\nvar faShippingFast = faTruckFast;\nvar faUserMagnifyingGlass = {\n prefix: 'fal',\n iconName: 'user-magnifying-glass',\n icon: [640, 512, [], \"e5c5\", \"M224 32a96 96 0 1 1 0 192 96 96 0 1 1 0-192zm0 224A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 80h91.4c6.5 0 12.9 .4 19.2 1.2c-.6-5.7-.9-11.4-.9-17.2c0-5.1 .2-10.1 .7-15c-6.2-.7-12.6-1-19-1H178.3C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c16.4 0 29.7-13.3 29.7-29.7c0-.8 0-1.5 0-2.3H416 192 32c1.2-79.7 66.2-144 146.3-144zM448 224.1a96 96 0 1 1 0 192 96 96 0 1 1 0-192zm0 224c29.6 0 56.8-10 78.5-26.9l86.2 86.2c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-86.2-86.2C566 377 576 349.7 576 320.2c0-70.7-57.3-128-128-128s-128 57.3-128 128s57.3 128 128 128z\"]\n};\nvar faStarSharp = {\n prefix: 'fal',\n iconName: 'star-sharp',\n icon: [576, 512, [], \"e28b\", \"M288 43.6L239.2 196.9C237.1 203.5 231 208 224 208H75.3l126 91c5.5 4 7.9 11.1 5.9 17.6L163.5 460.6l114.7-89.2c5.8-4.5 13.9-4.5 19.6 0l114.7 89.2L368.7 316.7c-2-6.5 .4-13.6 5.9-17.6l126-91H352c-7 0-13.1-4.5-15.2-11.1L288 43.6zM262.3 18.8C265.9 7.6 276.3 0 288 0s22.1 7.6 25.7 18.8l50 157.2H517.4c14.7 0 26.6 11.9 26.6 26.6c0 8.5-4.1 16.6-11 21.6L402.6 318.3l50.8 167c4.1 13.3-5.9 26.8-19.8 26.8c-4.6 0-9.1-1.5-12.7-4.4L288 404.3 155.1 507.6c-3.6 2.8-8.1 4.4-12.7 4.4c-13.9 0-23.9-13.4-19.8-26.8l50.8-167L43 224.1c-6.9-5-11-13-11-21.6C32 187.9 43.9 176 58.6 176H212.3l50-157.2z\"]\n};\nvar faCommentHeart = {\n prefix: 'fal',\n iconName: 'comment-heart',\n icon: [512, 512, [], \"e5c8\", \"M32 240c0-91.4 93.8-176 224-176s224 84.6 224 176s-93.8 176-224 176c-32 0-63-5.9-93.5-16.2c-9.9-3.3-20.7-1.8-29.2 4.2c-15.4 10.7-31.4 20-48.4 27.4L91.2 446l-6.4-14.7c-10.5 4.6-21.5 8.6-32.7 11.5c.5-.9 1.1-1.8 1.6-2.6C68 416.5 76.3 391 79.4 363.9c1-9.2-2.1-17.7-7.4-23.9c-24.5-29.4-40-62.9-40-100zM256 32C114.5 32 0 125.2 0 240c0 46.6 19.6 87.1 47.4 120.5c0 .1 .1 .1 .1 .2c-2.6 22.6-9.5 43.5-21.3 63.1c-6.5 10.8-13.5 20.8-21.7 29c-4.5 4.6-5.9 11.5-3.4 17.4s8.3 9.8 14.8 9.8c28.7 0 57.6-8.9 81.6-19.3c19.2-8.4 37.1-18.7 53.9-30.5c.2-.1 .5-.2 .7-.1C185.5 441.3 220 448 256 448c141.5 0 256-93.2 256-208S397.5 32 256 32zM176 221.3c0-16.2 13.1-29.3 29.3-29.3c7.8 0 15.2 3.1 20.7 8.6l18.7 18.7c6.2 6.2 16.4 6.2 22.6 0l18.7-18.7c5.5-5.5 12.9-8.6 20.7-8.6c16.2 0 29.3 13.1 29.3 29.3c0 7.8-3.1 15.2-8.6 20.7L256 313.4l-71.4-71.4c-5.5-5.5-8.6-12.9-8.6-20.7zM205.3 160c-33.8 0-61.3 27.4-61.3 61.3c0 16.2 6.5 31.8 17.9 43.3l82.7 82.7c6.2 6.2 16.4 6.2 22.6 0l82.7-82.7c11.5-11.5 17.9-27.1 17.9-43.3c0-33.8-27.4-61.3-61.3-61.3c-16.2 0-31.8 6.5-43.3 17.9l-7.4 7.4-7.4-7.4c-11.5-11.5-27.1-17.9-43.3-17.9z\"]\n};\nvar faCircle1 = {\n prefix: 'fal',\n iconName: 'circle-1',\n icon: [512, 512, [], \"e0ee\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM264 130.2c4.9 2.9 8 8.1 8 13.8V352h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H256 192c-8.8 0-16-7.2-16-16s7.2-16 16-16h48V171.6l-32.1 18.3c-7.7 4.4-17.4 1.7-21.8-6s-1.7-17.4 6-21.8l56-32c5-2.8 11-2.8 16 .1z\"]\n};\nvar faCircleStar = {\n prefix: 'fal',\n iconName: 'circle-star',\n icon: [512, 512, [\"star-circle\"], \"e123\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm14.3-399.1c-2.7-5.5-8.3-8.9-14.3-8.9s-11.7 3.5-14.3 8.9l-36.2 73.4-81 11.8c-6 .9-11 5.1-12.9 10.9s-.3 12.2 4 16.4l58.6 57.2-13.8 80.7c-1 6 1.4 12.1 6.4 15.6s11.5 4.1 16.8 1.2L256 342.1l72.5 38.1c5.4 2.8 11.9 2.4 16.9-1.2s7.4-9.6 6.4-15.6l-13.8-80.7 58.6-57.2c4.4-4.3 5.9-10.6 4-16.4s-6.9-10-12.9-10.9l-81.1-11.8-36.2-73.4zm-40 95.1L256 156.2l25.6 51.9c2.3 4.7 6.8 8 12 8.8l57.3 8.3-41.5 40.4c-3.8 3.7-5.5 9-4.6 14.2l9.8 57.1-51.2-26.9c-4.7-2.5-10.2-2.5-14.9 0l-51.2 26.9 9.8-57.1c.9-5.2-.8-10.5-4.6-14.2L161 225.1l57.3-8.3c5.2-.8 9.7-4 12-8.8z\"]\n};\nvar faStarCircle = faCircleStar;\nvar faFish = {\n prefix: 'fal',\n iconName: 'fish',\n icon: [576, 512, [128031], \"f578\", \"M162.4 306.8c11.1 13.4 24.1 26.8 38.7 39.2c35.5 30 81.4 54 134.8 54s99.3-24 134.8-54c35.5-30 60.8-66 73.2-90c-12.4-24-37.6-60-73.2-90c-35.5-30-81.4-54-134.8-54s-99.3 24-134.8 54c-14.6 12.4-27.6 25.8-38.7 39.2L145.1 226l-23.4-13.6L32 160l45.8 80.1L86.9 256l-9.1 15.9L32 352l89.7-52.3L145.1 286l17.3 20.8zM4.2 336.1L50 256 4.2 175.9c-7.2-12.6-5-28.4 5.3-38.6s26.1-12.2 38.7-4.9l89.7 52.3c12.2-14.6 26.5-29.4 42.7-43.1C219.7 108.5 272.6 80 336 80s116.3 28.5 155.5 61.5c39.1 33 66.9 72.4 81 99.8c4.7 9.2 4.7 20.1 0 29.3c-14.1 27.4-41.9 66.8-81 99.8C452.3 403.5 399.4 432 336 432s-116.3-28.5-155.5-61.5c-16.2-13.7-30.5-28.5-42.7-43.1L48.1 379.6c-12.5 7.3-28.4 5.3-38.7-4.9S-3 348.7 4.2 336.1zM416 232a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faCloudFog = {\n prefix: 'fal',\n iconName: 'cloud-fog',\n icon: [640, 512, [127787, \"fog\"], \"f74e\", \"M160 112c0-44.2 35.8-80 80-80c32.2 0 59.9 19 72.6 46.4c2.2 4.8 6.6 8.1 11.8 9s10.4-.8 14.1-4.5c11.6-11.7 27.7-19 45.5-19c35.3 0 64 28.7 64 64l0 .3c0 4.5 1.9 8.8 5.2 11.8s7.8 4.5 12.2 4.1c2.2-.2 4.3-.3 6.6-.3c39.8 0 72 32.2 72 72s-32.2 72-72 72H168c-39.8 0-72-32.2-72-72c0-33.5 22.9-61.7 53.9-69.7c8.2-2.1 13.3-10.3 11.7-18.6c-1-5.1-1.5-10.3-1.5-15.7zM576 216c0-55.2-43-100.3-97.3-103.8C471.2 66.7 431.6 32 384 32c-19.3 0-37.3 5.7-52.4 15.5C311.3 18.8 277.9 0 240 0C178.1 0 128 50.1 128 112c0 2.6 .1 5.3 .3 7.9C90.6 135.5 64 172.6 64 216c0 57.4 46.6 104 104 104H472c57.4 0 104-46.6 104-104zM0 400c0 8.8 7.2 16 16 16H560c8.8 0 16-7.2 16-16s-7.2-16-16-16H16c-8.8 0-16 7.2-16 16zm64 96c0 8.8 7.2 16 16 16H208c8.8 0 16-7.2 16-16s-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zm224 0c0 8.8 7.2 16 16 16H624c8.8 0 16-7.2 16-16s-7.2-16-16-16H304c-8.8 0-16 7.2-16 16z\"]\n};\nvar faFog = faCloudFog;\nvar faWaffle = {\n prefix: 'fal',\n iconName: 'waffle',\n icon: [512, 512, [129479], \"e466\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM272 80v64h64V112c0-8.8 7.2-16 16-16s16 7.2 16 16v32h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H368v64h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H368v64h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H368v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V368H272v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V368H176v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V368H112c-8.8 0-16-7.2-16-16s7.2-16 16-16h32V272H80c-8.8 0-16-7.2-16-16s7.2-16 16-16h64V176H112c-8.8 0-16-7.2-16-16s7.2-16 16-16h32V112c0-8.8 7.2-16 16-16s16 7.2 16 16v32l64 0V80c0-8.8 7.2-16 16-16s16 7.2 16 16zm-96 96v64h64V176l-64 0zm0 96v64h64V272H176zm96 0v64h64V272H272zm0-32h64V176H272v64z\"]\n};\nvar faMusicNote = {\n prefix: 'fal',\n iconName: 'music-note',\n icon: [384, 512, [\"music-alt\"], \"f8cf\", \"M384 23.1C384 10.3 373.7 0 360.9 0c-2 0-4 .3-5.9 .8L203.9 40.5c-7 1.8-11.9 8.2-11.9 15.5V376c-20.3-14.8-48.7-24-80-24C50.1 352 0 387.8 0 432s50.1 80 112 80s112-35.8 112-80V189.1l147.9-37.6c7.1-1.8 12.1-8.2 12.1-15.5V23.1zM192 432c0 9.1-5.1 20.3-19.4 30.5C158.3 472.7 137 480 112 480s-46.3-7.3-60.6-17.5C37.1 452.3 32 441.1 32 432s5.1-20.3 19.4-30.5C65.7 391.3 87 384 112 384s46.3 7.3 60.6 17.5C186.9 411.7 192 422.9 192 432zM352 123.6L224 156.1V68.3L352 34.6v88.9z\"]\n};\nvar faMusicAlt = faMusicNote;\nvar faHexagonExclamation = {\n prefix: 'fal',\n iconName: 'hexagon-exclamation',\n icon: [512, 512, [], \"e417\", \"M16 288c-11.4-19.8-11.4-44.2 0-64L108.3 64.2c11.4-19.8 32.6-32 55.4-32H348.3c22.9 0 44 12.2 55.4 32L496 224c11.4 19.8 11.4 44.2 0 64L403.7 447.8c-11.4 19.8-32.6 32-55.4 32H163.7c-22.9 0-44-12.2-55.4-32L16 288zm27.7-48c-5.7 9.9-5.7 22.1 0 32L136 431.8c5.7 9.9 16.3 16 27.7 16H348.3c11.4 0 22-6.1 27.7-16L468.3 272c5.7-9.9 5.7-22.1 0-32L376 80.2c-5.7-9.9-16.3-16-27.7-16l-184.6 0c-11.4 0-22 6.1-27.7 16L43.7 240zM256 128c8.8 0 16 7.2 16 16V272c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-8.8 7.2-16 16-16zM232 352a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faCartShoppingFast = {\n prefix: 'fal',\n iconName: 'cart-shopping-fast',\n icon: [640, 512, [], \"e0dc\", \"M64 16C64 7.2 71.2 0 80 0h37.9c20.6 0 38.6 13 45.3 32H603.5c20.8 0 36.1 19.6 31 39.8L592.6 239.5C585.5 268 559.9 288 530.5 288H216l7.9 38.4c3 14.9 16.1 25.6 31.4 25.6H560c8.8 0 16 7.2 16 16s-7.2 16-16 16H255.2c-30.4 0-56.6-21.4-62.7-51.2l-58.9-288C132 37.3 125.5 32 117.9 32H80c-8.8 0-16-7.2-16-16zM530.5 256c14.7 0 27.5-10 31-24.2L603.5 64H170.1l39.3 192H530.5zM256 480a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-80a56 56 0 1 1 0 112 56 56 0 1 1 0-112zm280 56a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-80 0a56 56 0 1 1 112 0 56 56 0 1 1 -112 0zM16 128h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64H128c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64H144c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faObjectUnion = {\n prefix: 'fal',\n iconName: 'object-union',\n icon: [512, 512, [], \"e49f\", \"M160 320c17.7 0 32 14.3 32 32v96c0 17.7 14.3 32 32 32H448c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32H352c-17.7 0-32-14.3-32-32V64c0-17.7-14.3-32-32-32H64C46.3 32 32 46.3 32 64V288c0 17.7 14.3 32 32 32h96zm-32 32H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H288c35.3 0 64 28.7 64 64v64 32h32 64c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H224c-35.3 0-64-28.7-64-64V384 352H128z\"]\n};\nvar faUserGraduate = {\n prefix: 'fal',\n iconName: 'user-graduate',\n icon: [448, 512, [], \"f501\", \"M228.7 .7c-3.1-.9-6.3-.9-9.4 0l-208 64C4.6 66.8 0 73 0 80s4.6 13.2 11.3 15.3L32 101.7v71.7L.8 266.9C-.8 271.8 0 277.2 3 281.4s7.8 6.6 13 6.6H80c5.1 0 10-2.5 13-6.6s3.8-9.5 2.2-14.4L64 173.4V111.5l155.3 47.8c3.1 .9 6.3 .9 9.4 0l208-64C443.4 93.2 448 87 448 80s-4.6-13.2-11.3-15.3l-208-64zM224 127.3L70.4 80 224 32.7 377.6 80 224 127.3zM188.1 439.8c19.1 21.5 52.7 21.5 71.8 0l71.1-80c49.2 18 84.4 65 85 120.2H32c.5-55.2 35.7-102.3 85-120.2l71.1 80zM109.6 328.4C45.9 350 0 410.3 0 481.3c0 17 13.8 30.7 30.7 30.7H417.3c17 0 30.7-13.8 30.7-30.7c0-71-45.9-131.3-109.6-152.8c-10.9-3.7-22.7 .4-30.3 9L236 418.5c-6.4 7.2-17.6 7.2-23.9 0l-72.1-81.1c-7.6-8.6-19.4-12.7-30.3-9zM48 226.6L57.8 256H38.2L48 226.6zm48-71.8V176c0 70.7 57.3 128 128 128s128-57.3 128-128V154.8l-32 9.8V176c0 53-43 96-96 96s-96-43-96-96V164.7l-32-9.8z\"]\n};\nvar faStarfighter = {\n prefix: 'fal',\n iconName: 'starfighter',\n icon: [640, 512, [], \"e037\", \"M269.6 35.2L240.1 278.1l-.1 1v1V432c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48V280v-1l-.1-1L370.4 35.2C368 15.1 351 0 330.7 0H309.3C289 0 272 15.1 269.6 35.2zM309.3 32h21.5c4 0 7.5 3 7.9 7L368 281V432c0 8.8-7.2 16-16 16H288c-8.8 0-16-7.2-16-16V281L301.3 39c.5-4 3.9-7 7.9-7zM64 96c0-8.8-7.2-16-16-16s-16 7.2-16 16v32H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H32V448c0 8.8 7.2 16 16 16s16-7.2 16-16V428.7l72.1 30c8.6 12.8 23.3 21.3 39.9 21.3h16v16c0 8.8 7.2 16 16 16s16-7.2 16-16V464c0-8.8-7.2-16-16-16H176c-8.8 0-16-7.2-16-16V304c0-8.8 7.2-16 16-16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H176c-26.5 0-48 21.5-48 48v16H64V160H80c8.8 0 16-7.2 16-16s-7.2-16-16-16H64V96zm0 298V352h64v68.7L64 394zM608 96c0-8.8-7.2-16-16-16s-16 7.2-16 16v32H560c-8.8 0-16 7.2-16 16s7.2 16 16 16h16V320H512V304c0-26.5-21.5-48-48-48H432c-8.8 0-16 7.2-16 16s7.2 16 16 16h32c8.8 0 16 7.2 16 16V432c0 8.8-7.2 16-16 16H432c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16s16-7.2 16-16V480h16c16.6 0 31.3-8.4 39.9-21.3l72.1-30V448c0 8.8 7.2 16 16 16s16-7.2 16-16V160h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H608V96zM512 352h64v42l-64 26.7V352zM320 224c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V240c0-8.8-7.2-16-16-16z\"]\n};\nvar faCircleHalfStroke = {\n prefix: 'fal',\n iconName: 'circle-half-stroke',\n icon: [512, 512, [9680, \"adjust\"], \"f042\", \"M240 479.4V32.6C123.8 40.8 32 137.7 32 256s91.8 215.2 208 223.4zM480 256c0-118.3-91.8-215.2-208-223.4V479.4C388.2 471.2 480 374.3 480 256zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z\"]\n};\nvar faAdjust = faCircleHalfStroke;\nvar faArrowRightLongToLine = {\n prefix: 'fal',\n iconName: 'arrow-right-long-to-line',\n icon: [640, 512, [], \"e3d5\", \"M640 80V432c0 8.8-7.2 16-16 16s-16-7.2-16-16V80c0-8.8 7.2-16 16-16s16 7.2 16 16zM507.3 244.7c6.2 6.2 6.2 16.4 0 22.6l-144 144c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L457.4 272 16 272c-8.8 0-16-7.2-16-16s7.2-16 16-16l441.4 0L340.7 123.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l144 144z\"]\n};\nvar faSquareArrowDown = {\n prefix: 'fal',\n iconName: 'square-arrow-down',\n icon: [448, 512, [\"arrow-square-down\"], \"f339\", \"M64 448c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32H384c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H64zM0 416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416zm235.3-36.7l96-96c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L240 329.4V144c0-8.8-7.2-16-16-16s-16 7.2-16 16V329.4l-68.7-68.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l96 96c6.2 6.2 16.4 6.2 22.6 0z\"]\n};\nvar faArrowSquareDown = faSquareArrowDown;\nvar faDiamondHalfStroke = {\n prefix: 'fal',\n iconName: 'diamond-half-stroke',\n icon: [512, 512, [], \"e5b8\", \"M272 44.7V467.3L477.7 261.7c3.1-3.1 3.1-8.2 0-11.3L272 44.7zM240 467.3V44.7L34.3 250.3c-3.1 3.1-3.1 8.2 0 11.3L240 467.3zM227.7 11.7c15.6-15.6 40.9-15.6 56.6 0l216 216c15.6 15.6 15.6 40.9 0 56.6l-216 216c-15.6 15.6-40.9 15.6-56.6 0l-216-216c-15.6-15.6-15.6-40.9 0-56.6l216-216z\"]\n};\nvar faClapperboard = {\n prefix: 'fal',\n iconName: 'clapperboard',\n icon: [512, 512, [], \"e131\", \"M32 192V416c0 17.7 14.3 32 32 32H448c17.7 0 32-14.3 32-32V192H32zm350.6-32H480V96c0-9.2-3.9-17.5-10.1-23.3L382.6 160zm-45.3 0l96-96H326.6l-96 96H337.4zm-56-96H174.6l-96 96H185.4l96-96zm-152 0H64C46.3 64 32 78.3 32 96v64h1.4l96-96zM512 96v64 16 16V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192 176 160 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64z\"]\n};\nvar faSquareChevronLeft = {\n prefix: 'fal',\n iconName: 'square-chevron-left',\n icon: [448, 512, [\"chevron-square-left\"], \"f32a\", \"M32 416c0 17.7 14.3 32 32 32l320 0c17.7 0 32-14.3 32-32l0-320c0-17.7-14.3-32-32-32L64 64C46.3 64 32 78.3 32 96l0 320zm32 64c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l320 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480zm68.7-235.3l112-112c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L166.6 256 267.3 356.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-112-112c-6.2-6.2-6.2-16.4 0-22.6z\"]\n};\nvar faChevronSquareLeft = faSquareChevronLeft;\nvar faPhoneIntercom = {\n prefix: 'fal',\n iconName: 'phone-intercom',\n icon: [512, 512, [], \"e434\", \"M80 64c8.8 0 16 7.2 16 16V432c0 8.8-7.2 16-16 16H48c-8.8 0-16-7.2-16-16V80c0-8.8 7.2-16 16-16H80zM48 32C21.5 32 0 53.5 0 80V432c0 26.5 21.5 48 48 48H80c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H48zM448 64c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H224c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32H448zM224 32c-35.3 0-64 28.7-64 64V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H224zm32 320a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm64 0a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm32-32c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H368c-8.8 0-16 7.2-16 16zm0 64c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H368c-8.8 0-16 7.2-16 16zM256 128H416v96H256V128zm-32 0v96c0 17.7 14.3 32 32 32H416c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32H256c-17.7 0-32 14.3-32 32z\"]\n};\nvar faLinkHorizontal = {\n prefix: 'fal',\n iconName: 'link-horizontal',\n icon: [640, 512, [\"chain-horizontal\"], \"e1cb\", \"M128 64C57.3 64 0 121.3 0 192s57.3 128 128 128h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H128c-53 0-96-43-96-96s43-96 96-96H304.1c52.9 0 95.9 42.9 95.9 95.9c0 50.3-38.9 92-89 95.6l-8.1 .6c-8.8 .6-15.4 8.3-14.8 17.1s8.3 15.4 17.1 14.8l8.1-.6C380.2 314.6 432 258.9 432 191.9C432 121.2 374.8 64 304.1 64H128zM512 448c70.7 0 128-57.3 128-128s-57.3-128-128-128H480c-8.8 0-16 7.2-16 16s7.2 16 16 16h32c53 0 96 43 96 96s-43 96-96 96H335.9c-52.9 0-95.9-42.9-95.9-95.9c0-50.3 38.9-92 89-95.6l8.1-.6c8.8-.6 15.4-8.3 14.8-17.1s-8.3-15.4-17.1-14.8l-8.1 .6C259.8 197.4 208 253.1 208 320.1C208 390.8 265.2 448 335.9 448H512z\"]\n};\nvar faChainHorizontal = faLinkHorizontal;\nvar faMango = {\n prefix: 'fal',\n iconName: 'mango',\n icon: [512, 512, [], \"e30f\", \"M416 112c-24.6 0-47-9.2-64-24.4v42.9 32.5V176c0 8.8-7.2 16-16 16s-16-7.2-16-16V160c-41.3 0-82.7 14.5-114 43.4l-1.2 1.1-1.3 1c-39 29.3-58.5 59.9-78 92l-2.9 4.7c-18.6 30.9-39.6 65.5-79.4 93.2c-4.7 3.4-8 7.8-9.8 12.7c-4.3 11.8 1.8 27.7 19.9 33.3l1.3 .4 1.2 .5 0 0 0 0 0 0 0 0 .1 0 .6 .2c.6 .2 1.6 .6 2.9 1.1c2.7 1 6.8 2.4 12.2 4.2c10.9 3.5 27 8.2 47.6 13C160.3 470.4 218.9 480 288 480c73.4 0 120.4-29.5 149.7-65.2c30.3-37 42.3-81.4 42.3-109.6c0-36.4-15-73.2-45.9-101.8c-14.8-13.7-31.8-24.1-50.1-31.3V140c4 1 8 1.9 12.1 2.5c21.7 8.6 42 21.1 59.7 37.4c37.5 34.6 56.2 80 56.2 125.3C512 375.9 454.5 512 288 512c-144 0-244.1-39.9-244.1-39.9C10.3 461.8-7.9 428.4 3.3 397.4c4.1-11.5 11.8-21.1 21.4-28c34.3-23.8 52.1-53.2 71.2-84.7c20.6-34 42.6-70.4 88.4-104.8C221.7 145.3 270.9 128 320 128V16c0-8.8 7.2-16 16-16h24 60.7C471.1 0 512 40.9 512 91.3c0 11.4-9.3 20.7-20.7 20.7H472 416zm16 208c0 61.9-50.1 112-112 112c-8.8 0-16-7.2-16-16s7.2-16 16-16c44.2 0 80-35.8 80-80c0-8.8 7.2-16 16-16s16 7.2 16 16zM354 32c7.1 27.6 32.2 48 62 48h56 6.9c-5.3-27.3-29.3-48-58.2-48H360h-6z\"]\n};\nvar faMusicNoteSlash = {\n prefix: 'fal',\n iconName: 'music-note-slash',\n icon: [640, 512, [\"music-alt-slash\"], \"f8d0\", \"M352 189.1l147.9-37.6c7.1-1.8 12.1-8.2 12.1-15.5V23.1C512 10.3 501.7 0 488.9 0c-2 0-4 .3-5.9 .8L331.9 40.5c-7 1.8-11.9 8.2-11.9 15.5V174.5l32 25.3V189.1zM320 337.5V376c-20.3-14.8-48.7-24-80-24c-61.9 0-112 35.8-112 80s50.1 80 112 80s112-35.8 112-80V362.8l-32-25.3zm0 94.5c0 9.1-5.1 20.3-19.4 30.5C286.3 472.7 265 480 240 480s-46.3-7.3-60.6-17.5C165.1 452.3 160 441.1 160 432s5.1-20.3 19.4-30.5C193.7 391.3 215 384 240 384s46.3 7.3 60.6 17.5C314.9 411.7 320 422.9 320 432zM480 123.6L352 156.1V68.3L480 34.6v88.9zM25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4z\"]\n};\nvar faMusicAltSlash = faMusicNoteSlash;\nvar faCircleRadiation = {\n prefix: 'fal',\n iconName: 'circle-radiation',\n icon: [512, 512, [9762, \"radiation-alt\"], \"f7ba\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM160.6 148.1c2.4-2.1 5.3-2.8 8.4-2c3.3 .8 6.9 3.2 9.1 7.1l37.2 64.4c7.4-7.8 16.9-13.5 27.7-16l-37.2-64.4c-12.7-22-43.9-32.9-66.4-13c-28.1 24.9-48.2 58.6-56 96.9c-5.9 29.4 19.1 51 44.5 51h74.3c-1.5-5.1-2.3-10.4-2.3-16s.8-10.9 2.3-16H128c-4.5 0-8.4-1.9-10.7-4.4c-2.2-2.3-3.1-5.1-2.5-8.3c6.3-31.3 22.7-58.9 45.8-79.3zm54.7 146.4l-37.2 64.4c-12.7 22-6.6 54.4 21.9 64c17.6 5.9 36.5 9.1 56 9.1s38.4-3.2 56-9.1c28.5-9.6 34.6-42 21.9-64l-37.2-64.4c-7.4 7.8-16.9 13.5-27.7 16l37.2 64.4c2.3 3.9 2.6 8.2 1.6 11.4c-.9 3.1-2.9 5.2-5.9 6.2c-14.4 4.8-29.8 7.4-45.8 7.4s-31.5-2.6-45.8-7.4c-3-1-5-3.2-5.9-6.2c-1-3.3-.7-7.5 1.6-11.4L243 310.5c-10.8-2.6-20.3-8.2-27.7-16zM309.7 272H384c25.4 0 50.5-21.5 44.5-51c-7.7-38.3-27.8-72.1-56-96.9c-22.5-19.9-53.7-9-66.4 13L269 201.5c10.8 2.6 20.3 8.2 27.7 16l37.2-64.4c2.3-3.9 5.8-6.3 9.1-7.1c3.1-.7 6-.1 8.4 2c23.1 20.4 39.5 48 45.8 79.3c.6 3.1-.3 5.9-2.5 8.3c-2.3 2.5-6.2 4.4-10.7 4.4H309.7c1.5 5.1 2.3 10.4 2.3 16s-.8 10.9-2.3 16zM256 280a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faRadiationAlt = faCircleRadiation;\nvar faFaceTongueSweat = {\n prefix: 'fal',\n iconName: 'face-tongue-sweat',\n icon: [576, 512, [], \"e39e\", \"M288 32C174.4 32 80.6 116.5 66 226.1c-1.2 8.8-9.2 14.9-18 13.7s-14.9-9.2-13.7-18C50.9 96.6 158.2 0 288 0C429.4 0 544 114.6 544 256c0 83.8-40.2 158.1-102.4 204.8C398.8 492.9 345.6 512 288 512s-110.8-19.1-153.6-51.2c-7.1-5.3-8.5-15.3-3.2-22.4s15.3-8.5 22.4-3.2c15.6 11.8 32.9 21.5 51.3 28.9c-8.1-13.9-12.8-30.1-12.9-47.3c-10.2-7.2-16-15.7-16-24.7c0-26.5 50.1-48 112-48s112 21.5 112 48c0 9-5.8 17.5-16 24.7c-.1 17.2-4.8 33.4-12.9 47.3c18.4-7.4 35.7-17.1 51.3-28.9C476.8 394.3 512 329.3 512 256C512 132.3 411.7 32 288 32zM64 317.5c-5.3 7.2-10.8 15.1-15.8 23c-5.4 8.5-9.8 16.4-12.8 23.1c-2.6 5.8-3.2 8.8-3.4 9.5c0 .2 0 .2 0 .1C32 385.5 43.7 400 64 400s32-14.5 32-26.7c0 .1 0 .1 0-.1c-.1-.7-.8-3.7-3.4-9.6c-3-6.7-7.4-14.5-12.8-23.1c-5-7.9-10.5-15.8-15.8-23zm-8.6-41.4c4.3-5.5 12.8-5.5 17.1 0c17.6 21.7 55.5 72.2 55.5 97.2c0 32.5-28.7 58.7-64 58.7s-64-26.2-64-58.7c0-25 38.1-75.5 55.5-97.2zM367.6 248a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm-136 24a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zM211.3 171.3l-7.4 7.4c-23.6 23.6-53.9 39.2-86.8 44.7l-2.5 .4c-8.7 1.5-17-4.4-18.4-13.2s4.4-17 13.2-18.4l2.5-.4c26.3-4.4 50.6-16.9 69.5-35.7l7.4-7.4c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zm153.4-22.6c6.2-6.2 16.4-6.2 22.6 0l7.4 7.4c18.9 18.9 43.2 31.4 69.5 35.7l2.5 .4c8.7 1.5 14.6 9.7 13.2 18.4s-9.7 14.6-18.4 13.2l-2.5-.4c-32.9-5.5-63.3-21.1-86.8-44.7l-7.4-7.4c-6.2-6.2-6.2-16.4 0-22.6zM224 417.6c0 34.5 27.9 62.4 62.4 62.4h3.2c34.5 0 62.4-27.9 62.4-62.4V403c0-14.9-12.1-27-27-27h-2.5c-10.9 0-20.4 7.4-23 18c-3 12-20 12-23 0c-2.6-10.6-12.1-18-23-18H251c-14.9 0-27 12.1-27 27v14.6z\"]\n};\nvar faGlobeStand = {\n prefix: 'fal',\n iconName: 'globe-stand',\n icon: [448, 512, [], \"f5f6\", \"M28.7 348.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l10-10C99 394.1 145.1 412.1 192 415.4V480H80c-8.8 0-16 7.2-16 16s7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H224V415.4c51.9-3.7 102.7-25.4 142.4-65c83.7-83.7 87.3-217.1 10.9-305.1l10-10c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L343.8 33.6c-6.2 6.2-6.2 16.4 0 22.6c75 75 75 196.5 0 271.5s-196.5 75-271.5 0c-6.2-6.2-16.4-6.2-22.6 0L28.7 348.7zM80 192a128 128 0 1 1 256 0A128 128 0 1 1 80 192zm288 0A160 160 0 1 0 48 192a160 160 0 1 0 320 0z\"]\n};\nvar faBaseball = {\n prefix: 'fal',\n iconName: 'baseball',\n icon: [512, 512, [129358, 9918, \"baseball-ball\"], \"f433\", \"M256.6 480c-.4-5.3-.6-10.6-.6-16c0-5.8 .2-11.6 .7-17.3c.7-8.8 8.5-15.4 17.3-14.6s15.4 8.5 14.6 17.3c-.4 4.8-.6 9.7-.6 14.7c0 4.6 .2 9.1 .5 13.7c97.7-14.2 174.9-91.5 189.1-189.1c-4.5-.3-9.1-.5-13.7-.5c-4.9 0-9.8 .2-14.7 .6c-8.8 .7-16.5-5.8-17.3-14.6s5.8-16.5 14.6-17.3c5.7-.5 11.5-.7 17.3-.7c5.4 0 10.7 .2 16 .6c0-.2 0-.4 0-.6C480 132.3 379.7 32 256 32c-.2 0-.4 0-.6 0c.4 5.3 .6 10.6 .6 16c0 5.8-.2 11.6-.7 17.3c-.7 8.8-8.5 15.4-17.3 14.6s-15.4-8.5-14.6-17.3c.4-4.8 .6-9.7 .6-14.7c0-4.6-.2-9.1-.5-13.7C125.8 48.6 48.6 125.8 34.3 223.5c4.5 .3 9.1 .5 13.7 .5c4.9 0 9.8-.2 14.7-.6c8.8-.7 16.5 5.8 17.3 14.6s-5.8 16.5-14.6 17.3c-5.7 .5-11.5 .7-17.3 .7c-5.4 0-10.7-.2-16-.6c0 .2 0 .4 0 .6c0 123.7 100.3 224 224 224c.2 0 .4 0 .6 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm121.3-48c38.3-17.6 69.2-48.5 86.7-86.7c3.7-8 13.2-11.6 21.2-7.9s11.6 13.2 7.9 21.2c-20.8 45.2-57.2 81.7-102.5 102.5c-8 3.7-17.5 .2-21.2-7.9s-.2-17.5 7.9-21.2zM390.7 304c-38.3 17.6-69.2 48.5-86.7 86.7c-3.7 8-13.2 11.6-21.2 7.9s-11.6-13.2-7.9-21.2c20.8-45.2 57.2-81.7 102.5-102.5c8-3.7 17.5-.2 21.2 7.9s.2 17.5-7.9 21.2z\"]\n};\nvar faBaseballBall = faBaseball;\nvar faCircleP = {\n prefix: 'fal',\n iconName: 'circle-p',\n icon: [512, 512, [], \"e11a\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM176 128c-8.8 0-16 7.2-16 16V288v80c0 8.8 7.2 16 16 16s16-7.2 16-16V304h72c48.6 0 88-39.4 88-88s-39.4-88-88-88H176zm88 144H192V160h72c30.9 0 56 25.1 56 56s-25.1 56-56 56z\"]\n};\nvar faAwardSimple = {\n prefix: 'fal',\n iconName: 'award-simple',\n icon: [384, 512, [], \"e0ab\", \"M166.5 7.2c15.7-9.5 35.3-9.5 51 0l16.4 10c2.8 1.7 6 2.6 9.3 2.5l19.2-.5c18.3-.4 35.4 9.4 44.2 25.5l9.2 16.8c1.6 2.9 3.9 5.2 6.8 6.8l16.8 9.2c16.1 8.8 25.9 25.8 25.5 44.2l-.5 19.2c-.1 3.3 .8 6.5 2.5 9.3l10 16.4c9.5 15.7 9.5 35.3 0 51l-10 16.4c-1.7 2.8-2.6 6-2.5 9.3l.5 19.2c.4 18.3-9.4 35.4-25.5 44.2l-16.8 9.2c-2.9 1.6-5.2 3.9-6.8 6.8l-9.2 16.8c-8.8 16.1-25.8 25.9-44.2 25.5l-19.2-.5c-3.3-.1-6.5 .8-9.3 2.5l-16.4 10c-15.7 9.5-35.3 9.5-51 0l-16.4-10c-2.8-1.7-6-2.6-9.3-2.5l-19.2 .5c-18.3 .4-35.4-9.4-44.2-25.5l-9.2-16.8c-1.6-2.9-3.9-5.2-6.8-6.8l-16.8-9.2c-16.1-8.8-25.9-25.8-25.5-44.2l.5-19.2c.1-3.3-.8-6.5-2.5-9.3l-10-16.4c-9.5-15.7-9.5-35.3 0-51l10-16.4 13.7 8.3-13.7-8.3c1.7-2.8 2.6-6 2.5-9.3l-.5-19.2c-.4-18.3 9.4-35.4 25.5-44.2l16.8-9.2c2.9-1.6 5.2-3.9 6.8-6.8l9.2-16.8c8.8-16.1 25.8-25.9 44.2-25.5l19.2 .5c3.3 .1 6.5-.8 9.3-2.5l16.4-10zm34.4 27.3c-5.4-3.3-12.3-3.3-17.7 0l-16.4 10c-8 4.9-17.3 7.4-26.7 7.1l-19.2-.5c-6.4-.2-12.3 3.3-15.3 8.9L96.4 76.9c-4.5 8.2-11.3 15-19.5 19.5L60 105.6c-5.6 3.1-9 9-8.9 15.3l.5 19.2c.2 9.4-2.3 18.6-7.1 26.7l-10 16.4c-3.3 5.4-3.3 12.3 0 17.7l10 16.4c4.9 8 7.4 17.3 7.1 26.7l-.5 19.2c-.2 6.4 3.3 12.3 8.9 15.3l16.8 9.2c8.2 4.5 15 11.3 19.5 19.5l9.2 16.8c3.1 5.6 9 9 15.3 8.9l19.2-.5c9.4-.2 18.6 2.3 26.7 7.1l16.4 10c5.4 3.3 12.3 3.3 17.7 0l16.4-10c8-4.9 17.3-7.4 26.7-7.1l19.2 .5c6.4 .2 12.3-3.3 15.3-8.9l9.2-16.8c4.5-8.2 11.3-15 19.5-19.5l16.8-9.2c5.6-3.1 9-9 8.9-15.3l-.5-19.2c-.2-9.4 2.3-18.6 7.1-26.7l10-16.4c3.3-5.4 3.3-12.3 0-17.7l-10-16.4c-4.9-8-7.4-17.3-7.1-26.7l.5-19.2c.2-6.4-3.3-12.3-8.9-15.3l-16.8-9.2c-8.2-4.5-15-11.3-19.5-19.5L278.4 60c-3.1-5.6-9-9-15.3-8.9l-19.2 .5c-9.4 .2-18.6-2.3-26.7-7.1l-16.4-10zM192 136a56 56 0 1 0 0 112 56 56 0 1 0 0-112zm88 56a88 88 0 1 1 -176 0 88 88 0 1 1 176 0zM88 390c9.7 4.3 20.3 6.6 31.3 6.8l-16.6 72 83-35.6c4-1.7 8.6-1.7 12.6 0l83 35.6-16.6-72c10.9-.2 21.5-2.5 31.3-6.8l23.6 102.4c1.4 5.9-.7 12-5.3 15.9s-11 4.8-16.6 2.4L192 465.4 86.3 510.7c-5.5 2.4-11.9 1.4-16.6-2.4s-6.7-10-5.3-15.9L88 390z\"]\n};\nvar faJetFighterUp = {\n prefix: 'fal',\n iconName: 'jet-fighter-up',\n icon: [512, 512, [], \"e518\", \"M270.6 9.5C268.1 3.7 262.3 0 256 0s-12.1 3.7-14.6 9.5L181.5 144.2c-3.6 8.2-5.5 17-5.5 26v40l-.4 .3L32 299.3V272c0-8.8-7.2-16-16-16s-16 7.2-16 16v56 40 32c0 8.8 7.2 16 16 16s16-7.2 16-16V384H176v3.4l-42.2 66.8c-3.8 6-5.8 13-5.8 20.1c0 20.8 16.9 37.7 37.7 37.7H346.3c20.8 0 37.7-16.9 37.7-37.7c0-7.1-2-14.1-5.8-20.1L336 387.4V384H480v16c0 8.8 7.2 16 16 16s16-7.2 16-16V368 328 272c0-8.8-7.2-16-16-16s-16 7.2-16 16v27.3L336.4 210.4l-.4-.3v-40c0-9-1.9-17.8-5.5-26L270.6 9.5zM480 352H336V247.8l144 89.1V352zm-304 0H32V336.9l144-89.1V352zm34.8-194.8L256 55.4l45.2 101.8c1.8 4.1 2.8 8.5 2.8 13V392c0 3 .9 6 2.5 8.5l44.6 70.7c.6 .9 .9 2 .9 3.1c0 3.2-2.6 5.7-5.7 5.7H272V416c0-8.8-7.2-16-16-16s-16 7.2-16 16v64H165.7c-3.2 0-5.7-2.6-5.7-5.7c0-1.1 .3-2.1 .9-3.1l44.6-70.7c1.6-2.6 2.5-5.5 2.5-8.5V170.2c0-4.5 .9-8.9 2.8-13z\"]\n};\nvar faDiagramProject = {\n prefix: 'fal',\n iconName: 'diagram-project',\n icon: [576, 512, [\"project-diagram\"], \"f542\", \"M136 64c13.3 0 24 10.7 24 24v24 32 24c0 13.3-10.7 24-24 24H56c-13.3 0-24-10.7-24-24V88c0-13.3 10.7-24 24-24h80zm56 104V144H384v24c0 30.9 25.1 56 56 56h80c30.9 0 56-25.1 56-56V88c0-30.9-25.1-56-56-56H440c-30.9 0-56 25.1-56 56v24H192V88c0-30.9-25.1-56-56-56H56C25.1 32 0 57.1 0 88v80c0 30.9 25.1 56 56 56h80c8.6 0 16.7-1.9 24-5.4l72.2 96.3c-5.2 8.5-8.2 18.5-8.2 29.1v80c0 30.9 25.1 56 56 56h80c30.9 0 56-25.1 56-56V344c0-30.9-25.1-56-56-56H280c-8.6 0-16.7 1.9-24 5.4l-72.2-96.3c5.2-8.5 8.2-18.5 8.2-29.1zm224 0V144 112 88c0-13.3 10.7-24 24-24h80c13.3 0 24 10.7 24 24v80c0 13.3-10.7 24-24 24H440c-13.3 0-24-10.7-24-24zM360 320c13.3 0 24 10.7 24 24v80c0 13.3-10.7 24-24 24H280c-13.3 0-24-10.7-24-24V344c0-13.3 10.7-24 24-24h80z\"]\n};\nvar faProjectDiagram = faDiagramProject;\nvar faPedestal = {\n prefix: 'fal',\n iconName: 'pedestal',\n icon: [448, 512, [], \"e20d\", \"M352 32H96C78.3 32 64 46.3 64 64V448H32V64C32 28.7 60.7 0 96 0H352c35.3 0 64 28.7 64 64V448H384V64c0-17.7-14.3-32-32-32zM16 480H432c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16-7.2-16-16s7.2-16 16-16zM112 96a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zM320 80a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faChartPyramid = {\n prefix: 'fal',\n iconName: 'chart-pyramid',\n icon: [512, 512, [], \"e0e6\", \"M269.8 87.7c-6.2-10.6-21.5-10.6-27.6 0L181.3 192H330.7L269.8 87.7zM106.7 320H405.3l-56-96H162.7l-56 96zM88 352L46 423.9C39.8 434.6 47.5 448 59.9 448H452.1c12.3 0 20-13.4 13.8-24.1L424 352H88zM214.5 71.6c18.5-31.8 64.4-31.8 82.9 0L493.6 407.8c18.7 32-4.4 72.2-41.5 72.2H59.9c-37 0-60.1-40.2-41.5-72.2L214.5 71.6z\"]\n};\nvar faSidebar = {\n prefix: 'fal',\n iconName: 'sidebar',\n icon: [512, 512, [], \"e24e\", \"M448 64c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H224V64H448zM64 64H192V448H64c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32zm0-32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM80 96c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H80zM64 176c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zm16 48c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H80z\"]\n};\nvar faSnowmanHead = {\n prefix: 'fal',\n iconName: 'snowman-head',\n icon: [448, 512, [\"frosty-head\"], \"f79b\", \"M128 32H320c17.7 0 32 14.3 32 32v96h32V64c0-35.3-28.7-64-64-64H128C92.7 0 64 28.7 64 64v96H96V64c0-17.7 14.3-32 32-32zM352 224h.7c29.3 31.4 47.3 73.6 47.3 120c0 52-22.5 98.8-58.5 131c-3 2.7-8.3 5-15.8 5H122.2c-7.5 0-12.7-2.2-15.8-5C70.5 442.8 48 396 48 344c0-46.4 17.9-88.6 47.3-120H96 352zM16 192c-8.8 0-16 7.2-16 16s7.2 16 16 16H54.1C30.1 257.9 16 299.3 16 344c0 61.5 26.7 116.8 69.1 154.8c10.1 9.1 23.6 13.2 37.1 13.2H325.8c13.6 0 27-4.1 37.1-13.2C405.3 460.8 432 405.5 432 344c0-44.7-14.1-86.1-38.1-120H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H384 352 96 64 16zM144 328a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm184-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM224 320c-26.5 0-48 21.5-48 48v1c0 6.9 1.4 13.6 4.2 19.9l29.2 65.6c2.6 5.8 8.3 9.5 14.6 9.5s12.1-3.7 14.6-9.5l29.2-65.6c2.8-6.3 4.2-13 4.2-19.9v-1c0-26.5-21.5-48-48-48zm-16 48c0-8.8 7.2-16 16-16s16 7.2 16 16v1c0 2.4-.5 4.7-1.5 6.9L224 408.6l-14.5-32.7c-1-2.2-1.5-4.5-1.5-6.9v-1z\"]\n};\nvar faFrostyHead = faSnowmanHead;\nvar faCopy = {\n prefix: 'fal',\n iconName: 'copy',\n icon: [448, 512, [], \"f0c5\", \"M384 352H224c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H332.1c4.2 0 8.3 1.7 11.3 4.7l67.9 67.9c3 3 4.7 7.1 4.7 11.3V320c0 17.7-14.3 32-32 32zM433.9 81.9L366.1 14.1c-9-9-21.2-14.1-33.9-14.1H224c-35.3 0-64 28.7-64 64V320c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V115.9c0-12.7-5.1-24.9-14.1-33.9zM64 128c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H224c35.3 0 64-28.7 64-64V416H256v32c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V192c0-17.7 14.3-32 32-32h64V128H64z\"]\n};\nvar faBurgerGlass = {\n prefix: 'fal',\n iconName: 'burger-glass',\n icon: [640, 512, [], \"e0ce\", \"M32.1 40.7L42.2 160H341.7L351.8 40.7c.4-4.7-3.3-8.7-8-8.7H40.1c-4.7 0-8.4 4-8 8.7zM44.9 192L66.7 450.7C68.1 467.3 81.9 480 98.6 480H260c3.7 11.9 9.7 22.7 17.6 32H98.6c-33.3 0-61-25.5-63.8-58.6L.2 43.4C-1.7 20 16.7 0 40.1 0H343.8c23.4 0 41.8 20 39.9 43.4L372.5 176.5c-12.2 4.7-23.4 10.1-33.5 16l0-.4H44.9zm286.1 87.4c-5.7 6.2-9.2 14.6-10.4 24.4h287c-1.2-9.8-4.7-18.2-10.4-24.4c-8.3-9-20.6-20.1-37.1-30.1c-.8 8.1-7.6 14.5-15.9 14.5c-8.8 0-16-7.2-16-16c0-4.6 1.9-8.7 5-11.6c-15.7-6.1-33.9-10.5-54.9-11.9c1.2 2.2 1.9 4.8 1.9 7.5c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-2.7 .7-5.3 1.9-7.5c-21 1.4-39.2 5.9-54.9 11.9c3.1 2.9 5 7 5 11.6c0 8.8-7.2 16-16 16c-8.3 0-15.1-6.3-15.9-14.5c-16.6 10-28.8 21.1-37.1 30.1zM464 191.8c82 0 132.6 40 156.5 65.9c14.6 15.7 19.5 36.1 19.5 54.7c0 12.9-10.5 23.4-23.4 23.4H311.4c-12.9 0-23.4-10.5-23.4-23.4c0-18.7 4.9-39.1 19.5-54.7c24-25.8 74.5-65.9 156.5-65.9zm-176 184c0-8.8 7.2-16 16-16H624c8.8 0 16 7.2 16 16s-7.2 16-16 16H304c-8.8 0-16-7.2-16-16zm0 77.3c0-20.6 16.7-37.3 37.3-37.3H602.7c20.6 0 37.3 16.7 37.3 37.3c0 32.4-26.3 58.7-58.7 58.7H346.7c-32.4 0-58.7-26.3-58.7-58.7zm37.3-5.3c-2.9 0-5.3 2.4-5.3 5.3c0 14.7 11.9 26.7 26.7 26.7H581.3c14.7 0 26.7-11.9 26.7-26.7c0-2.9-2.4-5.3-5.3-5.3H325.3z\"]\n};\nvar faVolumeXmark = {\n prefix: 'fal',\n iconName: 'volume-xmark',\n icon: [576, 512, [\"volume-mute\", \"volume-times\"], \"f6a9\", \"M151.6 188L288 66.7V445.3L151.6 324c-2.9-2.6-6.7-4-10.6-4H56c-13.3 0-24-10.7-24-24V216c0-13.3 10.7-24 24-24h85c3.9 0 7.7-1.4 10.6-4zM290.2 32c-7.3 0-14.3 2.7-19.8 7.5L134.9 160H56c-30.9 0-56 25.1-56 56v80c0 30.9 25.1 56 56 56h78.9L270.4 472.5l10.6-12-10.6 12c5.5 4.8 12.5 7.5 19.8 7.5c16.5 0 29.8-13.3 29.8-29.8V61.8C320 45.3 306.7 32 290.2 32zM411.3 164.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L457.4 256l-68.7 68.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L480 278.6l68.7 68.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L502.6 256l68.7-68.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L480 233.4l-68.7-68.7z\"]\n};\nvar faVolumeMute = faVolumeXmark;\nvar faVolumeTimes = faVolumeXmark;\nvar faHandSparkles = {\n prefix: 'fal',\n iconName: 'hand-sparkles',\n icon: [640, 512, [], \"e05d\", \"M328 0c-24.9 0-46 16.3-53.3 38.8c-7.9-4.3-17-6.8-26.7-6.8c-30.9 0-56 25.1-56 56V288.8l-32.4-32.4c-21.9-21.9-57.3-21.9-79.2 0s-21.9 57.3 0 79.2L184.2 439.4C230.7 485.9 293.8 512 359.5 512H368c37.3 0 71.8-11.6 100.3-31.3c-9.6-5.5-17.4-13.7-22.3-23.6C423.5 471.6 396.7 480 368 480h-8.5c-57.3 0-112.2-22.8-152.7-63.3L103 313c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l59.7 59.7c4.6 4.6 11.5 5.9 17.4 3.5s9.9-8.3 9.9-14.8V88c0-13.3 10.7-24 24-24s24 10.7 24 24l0 .1V240c0 8.8 7.2 16 16 16s16-7.2 16-16V80l0-.1V56c0-13.3 10.7-24 24-24s24 10.7 24 24l0 32 0 .1V240c0 8.8 7.2 16 16 16s16-7.2 16-16V87.9C384 74.7 394.8 64 408 64c13.3 0 24 10.7 24 24v64l0 .1V240c0 8.8 7.2 16 16 16s16-7.2 16-16V151.9c0-13.2 10.8-23.9 24-23.9c13.3 0 24 10.7 24 24V336c0 1.1 0 2.1 0 3.2c7.1-11.9 18.5-20.9 32-24.9V152c0-30.9-25.1-56-56-56c-8.6 0-16.7 1.9-24 5.4V88c0-30.9-25.1-56-56-56c-9.7 0-18.8 2.5-26.7 6.8C374 16.3 352.9 0 328 0zM96 80c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H64v32c0 8.8 7.2 16 16 16s16-7.2 16-16V160h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H96V80zM336 304c0-8.8-7.2-16-16-16s-16 7.2-16 16v32H272c-8.8 0-16 7.2-16 16s7.2 16 16 16h32v32c0 8.8 7.2 16 16 16s16-7.2 16-16V368h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H336V304zm240 64c0-8.8-7.2-16-16-16s-16 7.2-16 16v48H496c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v48c0 8.8 7.2 16 16 16s16-7.2 16-16V448h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H576V368z\"]\n};\nvar faBarsFilter = {\n prefix: 'fal',\n iconName: 'bars-filter',\n icon: [448, 512, [], \"e0ad\", \"M0 80c0-8.8 7.2-16 16-16H432c8.8 0 16 7.2 16 16s-7.2 16-16 16H16C7.2 96 0 88.8 0 80zM64 240c0-8.8 7.2-16 16-16H368c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16zM288 400c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16s7.2-16 16-16h96c8.8 0 16 7.2 16 16z\"]\n};\nvar faPaintbrushPencil = {\n prefix: 'fal',\n iconName: 'paintbrush-pencil',\n icon: [576, 512, [], \"e206\", \"M534.5 86.6L369.9 251.3 324.6 206 489.3 41.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3zM347.3 273.9l-36.6 36.6-36.1 36.1 0 0-4.6 4.6L224.6 306l40.7-40.7 0 0L302 228.6l45.3 45.3zM176 320c6.9 0 13.5 .9 19.9 2.5l57.7 57.7c1.6 6.3 2.5 13 2.5 19.9c0 44.2-35.8 80-80 80H36.8C58 480 74.3 468.5 84 455.1c9.5-13.1 14.2-30 12.5-46.7c-.3-2.7-.4-5.5-.4-8.3c0-44.2 35.8-80 80-80zm110.3 60.2L557.2 109.3c25-25 25-65.5 0-90.5s-65.5-25-90.5 0l-271 271c-6.4-1.1-13-1.7-19.7-1.7c-61.9 0-112 50.1-112 112c0 3.9 .2 7.8 .6 11.6C66.4 429.1 54.4 448 36.8 448H32c-17.7 0-32 14.3-32 32s14.3 32 32 32H176c61.9 0 112-50.1 112-112c0-6.8-.6-13.4-1.7-19.8zM170.8 17C148.9-4.9 113.5-4.9 91.6 17L49 59.6c-21.9 21.9-21.9 57.3 0 79.2L166.5 256.3c3.1-.2 6.3-.3 9.5-.3c2.7 0 5.3 .1 7.9 .2l13.9-13.9L149 193.6 225.6 117l48.8 48.8L297 143.2 170.8 17zM410.1 301.6l50.8 50.8c7.6 7.6 13.1 16.9 16.1 27.2l27.3 92.8-92.8-27.3c-10.3-3-19.6-8.6-27.2-16.1l-50.8-50.8-13.8 13.8c.1 2.7 .2 5.4 .2 8.1c0 3.2-.1 6.4-.3 9.5l42 42c11.4 11.4 25.4 19.7 40.8 24.2l121 35.6c5.6 1.7 11.7 .1 15.8-4s5.7-10.2 4-15.8l-35.6-121c-4.5-15.4-12.9-29.4-24.2-40.8l-50.8-50.8-22.6 22.6zM114.2 39.6c9.4-9.4 24.6-9.4 33.9 0L203 94.4 126.4 171 71.6 116.2c-9.4-9.4-9.4-24.6 0-33.9l42.6-42.6z\"]\n};\nvar faPartyBell = {\n prefix: 'fal',\n iconName: 'party-bell',\n icon: [512, 512, [], \"e31a\", \"M32 224C32 118 118 32 224 32c30.3 0 59 7 84.5 19.6c7.1 3.5 11.5 11 11.5 19.1c0 6-2.4 11.7-6.6 15.9L86.6 313.4c-4.2 4.2-9.9 6.6-15.9 6.6c-8.1 0-15.6-4.3-19.1-11.5C39 283 32 254.3 32 224zM224 0C100.3 0 0 100.3 0 224c0 35.3 8.2 68.9 22.8 98.7C32.3 341.9 51.7 352 70.7 352c14.5 0 28.3-5.7 38.5-16L336 109.2c10.2-10.2 16-24.1 16-38.5c0-19-10.1-38.4-29.3-47.8C292.9 8.2 259.3 0 224 0zM480 88a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM352 504a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM40 480a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zM364.7 172.7c-6.2 6.2-6.2 16.4 0 22.6l8.3 8.3c23.1 23.1 53.4 37.7 85.9 41.3l27.4 3c8.8 1 16.7-5.4 17.7-14.1s-5.4-16.7-14.1-17.7l-27.4-3c-25.3-2.8-48.8-14.1-66.8-32.1l-8.2-8.3c-6.2-6.2-16.4-6.2-22.6 0zm-169.4 192c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l8.3 8.2c18 18 29.3 41.6 32.1 66.8l3 27.4c1 8.8 8.9 15.1 17.7 14.1s15.1-8.9 14.1-17.7l-3-27.4c-3.6-32.5-18.2-62.8-41.3-85.9l-8.3-8.3zm303 135.5c6.7-5.7 7.6-15.8 1.9-22.6l-8.5-10c-6.2-7.3-9.4-16.6-9.2-26.1c1-38.2-28.5-70.4-66.6-72.6l-30-1.8c-20.9-1.2-37.1-18.8-36.5-39.8c.5-17.4-5.5-34.4-16.7-47.7l-8.5-10c-5.7-6.7-15.8-7.6-22.5-1.9s-7.6 15.8-1.9 22.5l8.5 10c6.2 7.3 9.4 16.6 9.2 26.1c-1 38.2 28.5 70.4 66.6 72.6l30 1.8c20.9 1.2 37.1 18.8 36.5 39.8c-.5 17.4 5.5 34.4 16.7 47.7l8.5 10c5.7 6.7 15.8 7.6 22.6 1.9z\"]\n};\nvar faUserVneckHair = {\n prefix: 'fal',\n iconName: 'user-vneck-hair',\n icon: [448, 512, [], \"e462\", \"M320 128c0-5.5-.5-10.8-1.3-16H288.6c-14.9 0-29.1-5.9-39.6-16.4l-6.3-6.3C223.4 113.5 194 128 162.3 128L128 128v16c0 53 43 96 96 96s96-43 96-96V128zM228.7 52.7c6.2-6.2 16.4-6.2 22.6 0L271.6 73c4.5 4.5 10.6 7 17 7h18.6C290.6 51.3 259.5 32 224 32c-41.8 0-77.4 26.7-90.5 64h28.9c26.7 0 51.2-15 63.2-38.9c.8-1.6 1.8-3.1 3.1-4.5zM96 128C96 57.3 153.3 0 224 0s128 57.3 128 128v16c0 70.7-57.3 128-128 128s-128-57.3-128-128V128zm89.6 290.1l-57.2-76.3C72.6 358.8 32 410.7 32 472l0 8H416v-8c0-61.3-40.6-113.2-96.4-130.2l-57.2 76.3c-19.2 25.6-57.6 25.6-76.8 0zM132.1 307.8c5.8-1.3 11.7 1.2 15.3 5.9l63.9 85.2c6.4 8.5 19.2 8.5 25.6 0l63.9-85.2c3.6-4.7 9.5-7.2 15.3-5.9C391.4 324.3 448 391.5 448 472v8c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32v-8c0-80.5 56.6-147.7 132.1-164.2z\"]\n};\nvar faJackOLantern = {\n prefix: 'fal',\n iconName: 'jack-o-lantern',\n icon: [576, 512, [127875], \"f30e\", \"M272.6 96.7c-13.2 1.1-26.1 3.8-38.3 7.7l41.1-94c2.8-6.3 9-10.4 15.8-10.4h1.2c2.3 0 4.7 .5 6.8 1.4l42.3 18.1c6.4 2.7 10.5 9 10.5 15.9V108c-10.2-4-20.9-7.1-32-9.1V45.1l-20.9-9L272.6 96.7zm-94.7 38c-4 3.2-7.3 6.9-10 10.9c-5.3-1-10.6-1.5-16-1.5c-31.3 0-60.9 17.1-83.3 47.4S32 264.3 32 312s14.3 90.3 36.7 120.6s52 47.4 83.3 47.4c20.7 0 40.6-7.5 58.1-21.2c5.8-4.5 13.9-4.5 19.7 0C247.4 472.5 267.3 480 288 480s40.6-7.5 58.1-21.2c5.8-4.5 13.9-4.5 19.7 0C383.4 472.5 403.3 480 424 480c31.3 0 60.9-17.1 83.3-47.4S544 359.7 544 312s-14.3-90.3-36.7-120.6s-52-47.4-83.3-47.4c-5.4 0-10.8 .5-16 1.5c-2.7-4-6-7.7-10-10.9c-6.2-4.9-12.7-9.5-19.5-13.6c14.3-5.8 29.5-9 45.5-9c43.8 0 82.2 24.1 109 60.4s43 85.7 43 139.6s-16.1 103.3-43 139.6S467.8 512 424 512c-24.7 0-47.8-7.7-68-20.9c-20.2 13.3-43.3 20.9-68 20.9s-47.8-7.7-68-20.9c-20.2 13.3-43.3 20.9-68 20.9c-43.8 0-82.2-24.1-109-60.4S0 365.9 0 312s16.1-103.3 43-139.6S108.2 112 152 112c15.9 0 31.2 3.2 45.5 9c-6.8 4.1-13.3 8.6-19.5 13.6zm40 49.9c-6.9 5.5-17 4.4-22.5-2.5s-4.4-17 2.5-22.5c24.6-19.8 56-31.6 90-31.6s65.4 11.8 90 31.6c6.9 5.5 8 15.6 2.5 22.5s-15.6 8-22.5 2.5c-19.2-15.4-43.5-24.6-70-24.6s-50.8 9.2-70 24.6zm2.5 29.4l32 40c5.5 6.9 4.4 17-2.5 22.5s-17 4.4-22.5-2.5L208 249.6 188.5 274c-5.5 6.9-15.6 8-22.5 2.5s-8-15.6-2.5-22.5l32-40c3-3.8 7.6-6 12.5-6s9.5 2.2 12.5 6zm160 0l32 40c5.5 6.9 4.4 17-2.5 22.5s-17 4.4-22.5-2.5L368 249.6 348.5 274c-5.5 6.9-15.6 8-22.5 2.5s-8-15.6-2.5-22.5l32-40c3-3.8 7.6-6 12.5-6s9.5 2.2 12.5 6zm55.3 76c12.7-7.5 30.1-6.6 41.6 4.9c7.1 7.1 11.3 18.1 8 29.6c-4.3 14.8-16 44-46.1 69.4C409 419.4 361.5 440 288 440s-121-20.6-151.4-46.2c-30.1-25.4-41.9-54.6-46.1-69.4c-3.3-11.5 1-22.5 8-29.6c11.5-11.5 28.9-12.4 41.6-4.9c21.5 12.6 73.9 38 147.8 38s126.4-25.4 147.8-38zm18.1 27.2c-.6-.1-1.3 .1-1.9 .4C427.3 332.1 369.3 360 288 360c-5.4 0-10.8-.1-16-.4V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V356.7c-56.2-7.8-96.5-27.6-116.1-39.1c-.6-.3-1.3-.5-1.9-.4c-.1 0-.2 0-.3 .1c3.5 11.3 12.8 33 35.5 52.2c5.4 4.5 11.6 9 18.8 13.2c.7-8.2 7.6-14.6 15.9-14.6c8.8 0 16 7.2 16 16v12.7c21 6.8 47.3 11.3 80 11.3c17.9 0 33.8-1.3 48-3.6V384c0-8.8 7.2-16 16-16s16 7.2 16 16v12.7c22.2-7.2 38.6-17.1 50.7-27.4c22.8-19.2 32-40.9 35.5-52.2c-.1 0-.1 0-.2 0c0 0-.1 0-.1 0z\"]\n};\nvar faGrip = {\n prefix: 'fal',\n iconName: 'grip',\n icon: [448, 512, [\"grip-horizontal\"], \"f58d\", \"M408 384c4.4 0 8-3.6 8-8l0-48c0-4.4-3.6-8-8-8l-48 0c-4.4 0-8 3.6-8 8l0 48c0 4.4 3.6 8 8 8l48 0zm40-8c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40l48 0c22.1 0 40 17.9 40 40l0 48zM408 192c4.4 0 8-3.6 8-8l0-48c0-4.4-3.6-8-8-8l-48 0c-4.4 0-8 3.6-8 8l0 48c0 4.4 3.6 8 8 8l48 0zm40-8c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40l48 0c22.1 0 40 17.9 40 40l0 48zM200 384l48 0c4.4 0 8-3.6 8-8l0-48c0-4.4-3.6-8-8-8l-48 0c-4.4 0-8 3.6-8 8l0 48c0 4.4 3.6 8 8 8zm48 32l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40zm0-224c4.4 0 8-3.6 8-8l0-48c0-4.4-3.6-8-8-8l-48 0c-4.4 0-8 3.6-8 8l0 48c0 4.4 3.6 8 8 8l48 0zm40-8c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40l48 0c22.1 0 40 17.9 40 40l0 48zM40 384l48 0c4.4 0 8-3.6 8-8l0-48c0-4.4-3.6-8-8-8l-48 0c-4.4 0-8 3.6-8 8l0 48c0 4.4 3.6 8 8 8zm48 32l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40l48 0c22.1 0 40 17.9 40 40l0 48c0 22.1-17.9 40-40 40zm0-224c4.4 0 8-3.6 8-8l0-48c0-4.4-3.6-8-8-8l-48 0c-4.4 0-8 3.6-8 8l0 48c0 4.4 3.6 8 8 8l48 0zm40-8c0 22.1-17.9 40-40 40l-48 0c-22.1 0-40-17.9-40-40l0-48c0-22.1 17.9-40 40-40l48 0c22.1 0 40 17.9 40 40l0 48z\"]\n};\nvar faGripHorizontal = faGrip;\nvar faShareFromSquare = {\n prefix: 'fal',\n iconName: 'share-from-square',\n icon: [576, 512, [61509, \"share-square\"], \"f14d\", \"M400 280V240 224c0-8.8-7.2-16-16-16H368 352 336 289.5c-53.8 0-97.5 43.6-97.5 97.5c0 5.3 .7 10.3 1.9 15C175.5 301.9 160 276 160 240c0-70.7 57.3-128 128-128h48 32 16c8.8 0 16-7.2 16-16V80 40c0-4.4 3.6-8 8-8c2.1 0 4 .8 5.5 2.2l128.8 122c1 1 1.6 2.3 1.6 3.8s-.6 2.8-1.6 3.8l-128.8 122c-1.5 1.4-3.5 2.2-5.5 2.2c-4.5 0-8-3.6-8-8zm-32-40v32 8c0 22.1 18 40 40 40c10.2 0 20.1-3.9 27.5-11L564.4 187c7.4-7 11.6-16.8 11.6-27s-4.2-20-11.6-27L435.6 11c-7.4-7-17.3-11-27.5-11C386 0 368 17.9 368 40v8V80H336 288c-88.4 0-160 71.6-160 160c0 93.4 82.8 134.8 100.6 142.6c2.2 1 4.6 1.4 7.1 1.4c11.2 0 20.3-9.1 20.3-20.3v-.9c0-6.8-3.3-13.1-8.3-17.7c-9.5-8.6-23.7-24.1-23.7-39.7c0-36.1 29.3-65.5 65.5-65.5H336h16 16zM64 32C28.7 32 0 60.7 0 96V448c0 35.3 28.7 64 64 64H416c35.3 0 64-28.7 64-64V400c0-8.8-7.2-16-16-16s-16 7.2-16 16v48c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H64z\"]\n};\nvar faShareSquare = faShareFromSquare;\nvar faKeynote = {\n prefix: 'fal',\n iconName: 'keynote',\n icon: [512, 512, [], \"f66c\", \"M304 32c8.8 0 16 7.2 16 16s-7.2 16-16 16H240c-8.8 0-16-7.2-16-16s7.2-16 16-16h64zM240 0c-20.9 0-38.7 13.4-45.3 32H184c-44.2 0-80 35.8-80 80v48H93.7c-18.2 0-34.8 10.3-42.9 26.5L5.1 277.9c-3.3 6.7-5.1 14-5.1 21.5V304v48c0 17.7 14.3 32 32 32H480c17.7 0 32-14.3 32-32V304v-4.7c0-7.5-1.7-14.8-5.1-21.5l-45.7-91.3c-8.1-16.3-24.8-26.5-42.9-26.5H136V112c0-26.5 21.5-48 48-48h10.7c6.6 18.6 24.4 32 45.3 32h64c26.5 0 48-21.5 48-48s-21.5-48-48-48H240zM32 352V320H480v32H32zm3.8-64l43.6-87.2c2.7-5.4 8.3-8.8 14.3-8.8H418.3c6.1 0 11.6 3.4 14.3 8.8L476.2 288H35.8zM144 480c-8.8 0-16 7.2-16 16s7.2 16 16 16H256 368c8.8 0 16-7.2 16-16s-7.2-16-16-16H272V416H240v64H144z\"]\n};\nvar faChildCombatant = {\n prefix: 'fal',\n iconName: 'child-combatant',\n icon: [576, 512, [\"child-rifle\"], \"e4e0\", \"M144 64a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm96 0A64 64 0 1 0 112 64a64 64 0 1 0 128 0zM480 336V325.3l52.2-17.4 .9-.3c6.5-2.2 10.9-8.3 10.9-15.2V280 208c0-8.8-7.2-16-16-16s-16 7.2-16 16v48 24l-32 8v-8V256v-1V208 160c0-17.7-14.3-32-32-32V96 32 16c0-8.8-7.2-16-16-16H416c-8.8 0-16 7.2-16 16s7.2 16 16 16V64 96v32c-17.7 0-32 14.3-32 32v34.7c-18.6 6.6-32 24.4-32 45.3V352c0 19.9 12.1 36.9 29.3 44.2c.9 .4 1.8 .7 2.7 1V480v16c0 8.8 7.2 16 16 16h16 60.1H496c4.9 0 9.4-2.2 12.5-6s4.2-8.7 3.1-13.5l-4.3-19.5L498.2 432l-7.1-32h32.8H528c8.8 0 16-7.2 16-16s-7.2-16-16-16H491.1h-7.1L480 350.2V336zm-27.3 38.9l5.6 25.1 1.5 6.9 9.1 41.1 7.1 32H448h-4.7H416V448 397.3 384c0-4.2-1.6-8-4.3-10.9c-2.9-3.2-7.1-5.1-11.7-5.1c-6.4 0-12-3.8-14.5-9.3c-.7-1.6-1.2-3.3-1.4-5.1c-.1-.5-.1-1-.1-1.6V240c0-2.4 .5-4.7 1.5-6.7c2.5-5.5 8.1-9.3 14.5-9.3c4.6 0 8.8-2 11.7-5.1c2.6-2.9 4.3-6.7 4.3-10.9V194.7 192 160h32v32 16 48 32 8 6.3 23.1V329v7 14.2V352c0 1.2 .1 2.3 .4 3.5l0 0 .4 1.7 2.4 10.8 1.5 6.9zM144 199.9c7.7-5.1 16.8-7.9 26.3-7.9h11.3c9.5 0 18.6 2.8 26.3 7.9l0 .1V352H144V200l0-.1zM144 384h64V496c0 8.8 7.2 16 16 16s16-7.2 16-16V243.3l42.4 69.1c4.6 7.5 14.5 9.9 22 5.3s9.9-14.5 5.3-22l-59.8-97.5c-14.5-23.7-40.4-38.2-68.2-38.2H170.3c-27.8 0-53.7 14.5-68.2 38.2L42.4 295.6c-4.6 7.5-2.3 17.4 5.3 22s17.4 2.3 22-5.3L112 243.3V496c0 8.8 7.2 16 16 16s16-7.2 16-16V384z\"]\n};\nvar faChildRifle = faChildCombatant;\nvar faGun = {\n prefix: 'fal',\n iconName: 'gun',\n icon: [576, 512, [], \"e19b\", \"M496 32c8.8 0 16 7.2 16 16V64h32c17.7 0 32 14.3 32 32v80c0 17.7-14.3 32-32 32H486.6L464 230.6c-6 6-14.1 9.4-22.6 9.4H395.3l-28.6 80.1c-6.8 19.1-24.9 31.9-45.2 31.9H233L207 455.8C203.5 470 190.7 480 176 480H64c-9.9 0-19.2-4.5-25.2-12.3s-8.2-17.9-5.8-27.5L73.1 279.8c5-20.2-10.2-39.8-31-39.8H32c-17.7 0-32-14.3-32-32V96C0 78.3 14.3 64 32 64H480V48c0-8.8 7.2-16 16-16zM241 320h80.5c6.8 0 12.8-4.3 15.1-10.6L361.3 240H261l-20 80zM32 96l0 112H42 57.2 235h1 14.9H267 441.4L464 185.4c6-6 14.1-9.4 22.6-9.4H544V96H496 32zM228 240H97.5c8 13.7 10.9 30.5 6.7 47.5L64 448l112 0 52-208z\"]\n};\nvar faSquarePhone = {\n prefix: 'fal',\n iconName: 'square-phone',\n icon: [448, 512, [\"phone-square\"], \"f098\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm171.2 48.1l-56 12c-1.8 .4-3.2 2-3.2 3.9c0 114.9 93.1 208 208 208c1.9 0 3.5-1.3 3.9-3.2l12-56c.4-1.9-.6-3.8-2.3-4.5l-56-24c-1.6-.7-3.5-.2-4.7 1.1l-16.6 20.3c-5 6.1-13.6 7.6-20.4 3.7c-25.4-14.7-46.6-35.9-61.4-61.4c-3.9-6.8-2.4-15.4 3.7-20.4l20.3-16.6c1.4-1.1 1.8-3 1.1-4.7l-24-56c-.8-1.8-2.6-2.7-4.5-2.3zm33.9-10.3l24 56c6.3 14.7 2.1 31.9-10.3 42l-9.2 7.5c8.6 11.9 19.1 22.4 31 31l7.5-9.2c10.2-12.4 27.3-16.6 42-10.3l56 24c15.8 6.8 24.6 23.8 21 40.6l-12 56C351.6 388.1 337 400 320 400C187.5 400 80 292.6 80 160c0-17 11.9-31.6 28.5-35.2l56-12c16.8-3.6 33.9 5.2 40.6 21z\"]\n};\nvar faPhoneSquare = faSquarePhone;\nvar faHatBeach = {\n prefix: 'fal',\n iconName: 'hat-beach',\n icon: [640, 512, [], \"e606\", \"M192 224v10.8 3.9c.3 .5 1.1 1.5 2.6 2.9c4.2 4 11.9 9 24.2 13.9C243.1 265.3 278.8 272 320 272c11.5 0 22.6-.5 33.1-1.5c-.7-3.8-1.1-7.7-1.1-11.8c0-12.5 3.8-24.6 10.8-34.7c-.5-.7-1-1.4-1.4-2.2c-13.2 1.4-27.1 2.2-41.4 2.2c-44.2 0-84.2-7.2-113.1-18.7c-4.4-1.8-8.6-3.7-12.5-5.6c-1.5 7.9-2.3 16-2.3 24.4zm160-34.7c0-31.1 23.2-56.8 53.3-60.7C382.6 108.3 352.7 96 320 96c-50.9 0-94.9 29.7-115.5 72.8c3.8 2.2 8.6 4.5 14.2 6.8C243.1 185.3 278.8 192 320 192c11.1 0 21.8-.5 32-1.4c0-.4 0-.9 0-1.3zM320 64c55.7 0 104.7 28.4 133.3 71.5c8.9-4.9 19-7.5 29.4-7.5c33.8 0 61.3 27.4 61.3 61.3c0 12.5-3.8 24.6-10.8 34.7c5.2 7.6 8.7 16.2 10.1 25.3l67 26.8c17.9 7.2 29.7 24.6 29.7 43.9c0 17.7-8.9 34.5-25.1 49.8c-16.2 15.3-39.6 29.1-68.6 40.7C488.4 433.7 408.4 448 320 448s-168.4-14.3-226.3-37.5c-29-11.6-52.4-25.4-68.6-40.7C8.9 354.5 0 337.7 0 320c0-19.3 11.8-36.7 29.7-43.9L160 224c0-88.4 71.6-160 160-160zM482.7 320c-12.5 0-24.6-3.8-34.7-10.8c-10.1 7-22.2 10.8-34.7 10.8c-17.5 0-33.2-7.3-44.4-19c-15.4 2-31.8 3-48.9 3c-44.2 0-84.2-7.2-113.1-18.7c-14.5-5.8-26.2-12.7-34.3-20.3c-2.9-2.8-5.4-5.6-7.3-8.6L41.6 305.8c-5.8 2.3-9.6 7.9-9.6 14.2c0 6.1 2.9 15 15.1 26.6c12.3 11.6 31.8 23.5 58.5 34.2C158.9 402.1 234.7 416 320 416s161.1-13.9 214.4-35.2c26.7-10.7 46.2-22.6 58.5-34.2C605.1 335 608 326.1 608 320c0-6.2-3.8-11.9-9.6-14.2l-59.1-23.6c-9.2 22.2-31.1 37.8-56.6 37.8zM413.3 160c-16.2 0-29.3 13.1-29.3 29.3c0 7.8 3.1 15.2 8.6 20.7l2.7 2.7c6.2 6.2 6.2 16.4 0 22.6l-2.7 2.7c-5.5 5.5-8.6 12.9-8.6 20.7c0 16.2 13.1 29.3 29.3 29.3c7.8 0 15.2-3.1 20.7-8.6l2.7-2.7c6.2-6.2 16.4-6.2 22.6 0l2.7 2.7c5.5 5.5 12.9 8.6 20.7 8.6c16.2 0 29.3-13.1 29.3-29.3c0-7.8-3.1-15.2-8.6-20.7l-2.7-2.7c-6.2-6.2-6.2-16.4 0-22.6l2.7-2.7c5.5-5.5 8.6-12.9 8.6-20.7c0-16.2-13.1-29.3-29.3-29.3c-7.8 0-15.2 3.1-20.7 8.6l-2.7 2.7c-6.2 6.2-16.4 6.2-22.6 0l-2.7-2.7c-5.5-5.5-12.9-8.6-20.7-8.6zM448 208a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faPlus = {\n prefix: 'fal',\n iconName: 'plus',\n icon: [448, 512, [10133, 61543, \"add\"], \"2b\", \"M240 64c0-8.8-7.2-16-16-16s-16 7.2-16 16V240H32c-8.8 0-16 7.2-16 16s7.2 16 16 16H208V448c0 8.8 7.2 16 16 16s16-7.2 16-16V272H416c8.8 0 16-7.2 16-16s-7.2-16-16-16H240V64z\"]\n};\nvar faAdd = faPlus;\nvar faExpand = {\n prefix: 'fal',\n iconName: 'expand',\n icon: [448, 512, [], \"f065\", \"M144 32c8.8 0 16 7.2 16 16s-7.2 16-16 16H32V176c0 8.8-7.2 16-16 16s-16-7.2-16-16V48c0-8.8 7.2-16 16-16H144zM0 336c0-8.8 7.2-16 16-16s16 7.2 16 16V448H144c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16-7.2-16-16V336zM432 32c8.8 0 16 7.2 16 16V176c0 8.8-7.2 16-16 16s-16-7.2-16-16V64H304c-8.8 0-16-7.2-16-16s7.2-16 16-16H432zM416 336c0-8.8 7.2-16 16-16s16 7.2 16 16V464c0 8.8-7.2 16-16 16H304c-8.8 0-16-7.2-16-16s7.2-16 16-16H416V336z\"]\n};\nvar faComputer = {\n prefix: 'fal',\n iconName: 'computer',\n icon: [640, 512, [], \"e4e5\", \"M384 64c17.7 0 32 14.3 32 32V320c0 17.7-14.3 32-32 32H275.5 264 184 172.5 64c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32H384zM64 384h97.8l-21.3 64H80c-8.8 0-16 7.2-16 16s7.2 16 16 16h49.8H152 296h22.2H368c8.8 0 16-7.2 16-16s-7.2-16-16-16H307.5l-21.3-64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V320c0 35.3 28.7 64 64 64zm110.2 64l21.3-64h56.9l21.3 64H174.2zM528 64h64c8.8 0 16 7.2 16 16v48H512V80c0-8.8 7.2-16 16-16zm-16 96h96v32H512V160zm0 272V224h96V432c0 8.8-7.2 16-16 16H528c-8.8 0-16-7.2-16-16zM480 80V432c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H528c-26.5 0-48 21.5-48 48zm80 280a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faFort = {\n prefix: 'fal',\n iconName: 'fort',\n icon: [640, 512, [], \"e486\", \"M32 96H96h32 64v16 48c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V112 96zM0 160c0 23.7 12.9 44.4 32 55.4V224 448c0 35.3 28.7 64 64 64H240h32 96 32H544c35.3 0 64-28.7 64-64V224v-8.6c19.1-11.1 32-31.7 32-55.4V112 96 64 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V32 64H576 544V32 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V32 64H480 448V32 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V64 96v16 48c0 11.7 3.1 22.6 8.6 32H215.4c5.4-9.4 8.6-20.3 8.6-32V112 96 64 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V32 64H160 128V32 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V32 64H64 32V32 16C32 7.2 24.8 0 16 0S0 7.2 0 16V64 96v16 48zM400 480V400c0-44.2-35.8-80-80-80s-80 35.8-80 80v80H192V224H448V480H400zm80-256h96V448c0 17.7-14.3 32-32 32H480V224zM64 448l0-224h96V480H96c-17.7 0-32-14.3-32-32zm304 32H272V400c0-26.5 21.5-48 48-48s48 21.5 48 48v80zM608 160c0 17.7-14.3 32-32 32H480c-17.7 0-32-14.3-32-32V112 96h64 32 64v16 48z\"]\n};\nvar faCloudCheck = {\n prefix: 'fal',\n iconName: 'cloud-check',\n icon: [640, 512, [], \"e35c\", \"M389.8 125.2C363.7 88.1 320.7 64 272 64c-77.4 0-140.5 61-143.9 137.5c-.6 13-9 24.4-21.3 28.8C63.2 245.7 32 287.2 32 336c0 61.9 50.1 112 112 112H512c53 0 96-43 96-96c0-36.8-20.7-68.8-51.2-84.9c-13.4-7.1-20-22.5-15.8-37.1c2-6.9 3-14.3 3-22c0-44.2-35.8-80-80-80c-12.3 0-23.9 2.8-34.3 7.7c-14.1 6.7-30.9 2.3-39.9-10.5zM272 32c59.5 0 112.1 29.5 144 74.8C430.5 99.9 446.8 96 464 96c61.9 0 112 50.1 112 112c0 10.7-1.5 21-4.3 30.8C612.3 260.2 640 302.9 640 352c0 70.7-57.3 128-128 128H144C64.5 480 0 415.5 0 336c0-62.8 40.2-116.1 96.2-135.9C100.3 106.6 177.4 32 272 32zM427.3 235.3l-128 128c-6.2 6.2-16.4 6.2-22.6 0l-64-64c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L288 329.4 404.7 212.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faXmark = {\n prefix: 'fal',\n iconName: 'xmark',\n icon: [384, 512, [128473, 10005, 10006, 10060, 215, \"close\", \"multiply\", \"remove\", \"times\"], \"f00d\", \"M324.5 411.1c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L214.6 256 347.1 123.5c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L192 233.4 59.5 100.9c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L169.4 256 36.9 388.5c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L192 278.6 324.5 411.1z\"]\n};\nvar faClose = faXmark;\nvar faMultiply = faXmark;\nvar faRemove = faXmark;\nvar faTimes = faXmark;\nvar faFaceSmirking = {\n prefix: 'fal',\n iconName: 'face-smirking',\n icon: [512, 512, [], \"e397\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm375.8 82.6l-.2 1.2c-5.8 34.7-35.8 60.2-71 60.2H192c-8.8 0-16-7.2-16-16s7.2-16 16-16H304.6c19.6 0 36.2-14.1 39.5-33.4l.2-1.2c1.5-8.7 9.7-14.6 18.4-13.2s14.6 9.7 13.2 18.4zM112 192h64c17.7 0 32 14.3 32 32s-14.3 32-32 32s-32-14.3-32-32H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm176 16c0-8.8 7.2-16 16-16h64c17.7 0 32 14.3 32 32s-14.3 32-32 32s-32-14.3-32-32H304c-8.8 0-16-7.2-16-16z\"]\n};\nvar faArrowsUpDownLeftRight = {\n prefix: 'fal',\n iconName: 'arrows-up-down-left-right',\n icon: [512, 512, [\"arrows\"], \"f047\", \"M267.3 4.7c-6.2-6.2-16.4-6.2-22.6 0l-72 72c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L240 54.6V240H54.6l44.7-44.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-72 72c-6.2 6.2-6.2 16.4 0 22.6l72 72c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L54.6 272H240V457.4l-44.7-44.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l72 72c6.2 6.2 16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L272 457.4V272H457.4l-44.7 44.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6l-72-72c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L457.4 240H272V54.6l44.7 44.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-72-72z\"]\n};\nvar faArrows = faArrowsUpDownLeftRight;\nvar faChalkboardUser = {\n prefix: 'fal',\n iconName: 'chalkboard-user',\n icon: [640, 512, [\"chalkboard-teacher\"], \"f51c\", \"M576 32H224c-17.7 0-32 14.3-32 32v36c-10.2-2.6-21-4-32-4V64c0-35.3 28.7-64 64-64H576c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H560 400 384 336.8c-5.3-11.4-11.8-22.2-19.5-32H384V336c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v48c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32zM544 384V336c0-8.8-7.2-16-16-16H432c-8.8 0-16 7.2-16 16v48H544zM224 224A64 64 0 1 0 96 224a64 64 0 1 0 128 0zM64 224a96 96 0 1 1 192 0A96 96 0 1 1 64 224zM32.1 480H287.9c-2.8-53.5-47-96-101.2-96H133.3c-54.2 0-98.4 42.5-101.2 96zM0 485.3C0 411.7 59.7 352 133.3 352h53.3C260.3 352 320 411.7 320 485.3c0 14.7-11.9 26.7-26.7 26.7H26.7C11.9 512 0 500.1 0 485.3z\"]\n};\nvar faChalkboardTeacher = faChalkboardUser;\nvar faRhombus = {\n prefix: 'fal',\n iconName: 'rhombus',\n icon: [448, 512, [], \"e23b\", \"M438.5 230.1l-184-216C246.8 5.1 235.7 0 224 0s-22.8 5.1-30.4 14.1l-184 216C-3.2 245-3.2 267 9.6 281.9l184 216c7.6 8.9 18.7 14.1 30.4 14.1s22.8-5.1 30.4-14.1l184-216c12.7-14.9 12.7-36.9 0-51.9zM230.1 34.8l184 216c2.5 3 2.5 7.4 0 10.4l-184 216c-1.5 1.8-3.7 2.8-6.1 2.8s-4.6-1-6.1-2.8l-184-216c-2.5-3-2.5-7.4 0-10.4l184-216c1.5-1.8 3.7-2.8 6.1-2.8s4.6 1 6.1 2.8z\"]\n};\nvar faClawMarks = {\n prefix: 'fal',\n iconName: 'claw-marks',\n icon: [576, 512, [], \"f6c2\", \"M36.7 4.7c6.2-6.2 16.4-6.2 22.6 0L170.9 116.3c13.5 13.5 21.1 31.8 21.1 50.9V192h24.8c19.1 0 37.4 7.6 50.9 21.1l95.2 95.2c13.5 13.5 21.1 31.8 21.1 50.9V384h24.8c19.1 0 37.4 7.6 50.9 21.1l79.6 79.6c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-79.6-79.6c-7.5-7.5-17.7-11.7-28.3-11.7H368c-8.8 0-16-7.2-16-16V359.2c0-10.6-4.2-20.8-11.7-28.3l-95.2-95.2c-7.5-7.5-17.7-11.7-28.3-11.7H176c-8.8 0-16-7.2-16-16V167.2c0-10.6-4.2-20.8-11.7-28.3L36.7 27.3c-6.2-6.2-6.2-16.4 0-22.6zm0 224c6.2-6.2 16.4-6.2 22.6 0l81.9 81.9c12 12 18.7 28.3 18.7 45.3V384h28.1c17 0 33.3 6.7 45.3 18.7l81.9 81.9c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-81.9-81.9c-6-6-14.1-9.4-22.6-9.4H144c-8.8 0-16-7.2-16-16V355.9c0-8.5-3.4-16.6-9.4-22.6L36.7 251.3c-6.2-6.2-6.2-16.4 0-22.6zM283.3 4.7l17.9 17.9c12 12 18.7 28.3 18.7 45.3V96h28.1c17 0 33.3 6.7 45.3 18.7l35.9 35.9c12 12 18.7 28.3 18.7 45.3V224h28.1c17 0 33.3 6.7 45.3 18.7l17.9 17.9c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-17.9-17.9c-6-6-14.1-9.4-22.6-9.4H432c-8.8 0-16-7.2-16-16V195.9c0-8.5-3.4-16.6-9.4-22.6l-35.9-35.9c-6-6-14.1-9.4-22.6-9.4H304c-8.8 0-16-7.2-16-16V67.9c0-8.5-3.4-16.6-9.4-22.6L260.7 27.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0z\"]\n};\nvar faPesoSign = {\n prefix: 'fal',\n iconName: 'peso-sign',\n icon: [384, 512, [], \"e222\", \"M71.4 32C49.6 32 32 49.6 32 71.4V128H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H32v64H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H32v80V464c0 8.8 7.2 16 16 16s16-7.2 16-16V352H192c65.6 0 122-39.5 146.7-96H368c8.8 0 16-7.2 16-16s-7.2-16-16-16H348.8c2.1-10.3 3.2-21 3.2-32s-1.1-21.7-3.2-32H368c8.8 0 16-7.2 16-16s-7.2-16-16-16H338.7C314 71.5 257.6 32 192 32H71.4zm231.5 96H64V71.4c0-4.1 3.3-7.4 7.4-7.4H192c47.4 0 88.7 25.7 110.9 64zM64 160H316c2.6 10.2 4 21 4 32s-1.4 21.8-4 32H64V160zm238.9 96c-22.1 38.3-63.5 64-110.9 64H64V256H302.9z\"]\n};\nvar faFaceSmileTongue = {\n prefix: 'fal',\n iconName: 'face-smile-tongue',\n icon: [512, 512, [], \"e394\", \"M32 256C32 132.3 132.3 32 256 32s224 100.3 224 224c0 8.8 7.2 16 16 16s16-7.2 16-16C512 114.6 397.4 0 256 0S0 114.6 0 256S114.6 512 256 512c36.4 0 71-7.6 102.4-21.3c8.1-3.5 11.8-13 8.3-21.1s-13-11.8-21.1-8.3c-27.4 12-57.7 18.6-89.6 18.6C132.3 480 32 379.7 32 256zm124.5-61.5c6.2-7.1 12.8-10.5 19.5-10.5s13.4 3.4 19.5 10.5c6.2 7.2 10.8 16.8 12.9 25.4c2.1 8.6 10.8 13.8 19.4 11.6s13.8-10.8 11.6-19.4c-3.2-12.7-9.8-27.1-19.9-38.6C209.6 161.9 194.8 152 176 152s-33.6 9.9-43.7 21.5c-10 11.5-16.7 25.9-19.9 38.6c-2.1 8.6 3.1 17.3 11.6 19.4s17.3-3.1 19.4-11.6c2.1-8.6 6.7-18.2 12.9-25.4zm160 0c6.2-7.1 12.8-10.5 19.5-10.5s13.4 3.4 19.5 10.5c6.2 7.2 10.8 16.8 12.9 25.4c2.1 8.6 10.8 13.8 19.4 11.6s13.8-10.8 11.6-19.4c-3.2-12.7-9.8-27.1-19.9-38.6C369.6 161.9 354.8 152 336 152s-33.6 9.9-43.7 21.5c-10 11.5-16.7 25.9-19.9 38.6c-2.1 8.6 3.1 17.3 11.6 19.4s17.3-3.1 19.4-11.6c2.1-8.6 6.7-18.2 12.9-25.4zm-224.6 78c-8.5 2.3-13.6 11.1-11.3 19.6C102 372.3 171.9 432 256 432c31 0 60.1-8.1 85.5-22.4l45.3 29.6c36.8 24 86.2 12.2 108.2-25.8l1.4-2.4c21.4-37.1 9.8-84.4-26.3-107.5l-45.2-28.8c-1.4-1-3-1.7-4.8-2.2c-8.5-2.3-17.3 2.8-19.6 11.3C382.5 351.5 324.1 400 256 400s-126.5-48.5-144.5-116.1c-2.3-8.5-11.1-13.6-19.6-11.3zm278 117.4C394 369.6 413 343 424.8 312.6l28.1 17.9c21.7 13.8 28.6 42.2 15.8 64.5l-1.4 2.4c-12.8 22.2-41.6 29-63 15l-34.4-22.5z\"]\n};\nvar faCartCircleXmark = {\n prefix: 'fal',\n iconName: 'cart-circle-xmark',\n icon: [640, 512, [], \"e3f4\", \"M16 0C7.2 0 0 7.2 0 16s7.2 16 16 16H53.9c7.6 0 14.2 5.3 15.7 12.8l58.9 288c6.1 29.8 32.3 51.2 62.7 51.2H320.7c-.5-5.3-.7-10.6-.7-16s.2-10.7 .7-16H191.2c-15.2 0-28.3-10.7-31.4-25.6L152 288H339.2c5.9-11.4 12.9-22.2 21-32H145.4L106.1 64H539.5L507.4 192.4c10.9 .7 21.5 2.4 31.7 5L570.6 71.8c5-20.2-10.2-39.8-31-39.8H99.1C92.5 13 74.4 0 53.9 0H16zM168 456a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm80 0a56 56 0 1 0 -112 0 56 56 0 1 0 112 0zm136-88a112 112 0 1 1 224 0 112 112 0 1 1 -224 0zm256 0a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-84.7-36.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L496 345.4l-36.7-36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L473.4 368l-36.7 36.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L496 390.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L518.6 368l36.7-36.7z\"]\n};\nvar faBuildingShield = {\n prefix: 'fal',\n iconName: 'building-shield',\n icon: [576, 512, [], \"e4d8\", \"M320 32H64C46.3 32 32 46.3 32 64V448c0 17.7 14.3 32 32 32h64V416c0-35.3 28.7-64 64-64s64 28.7 64 64v64h64c1.3 0 2.6-.1 3.9-.2c7.9 8.6 16.6 16.9 26.3 24.7c-9 4.8-19.3 7.6-30.2 7.6H256 224 160 128 64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V207l-32 12.8V64c0-17.7-14.3-32-32-32zM272 240c-8.8 0-16 7.2-16 16v32 8.2V320h-8c-13.3 0-24-10.7-24-24V248c0-13.3 10.7-24 24-24h48c8.2 0 15.4 4.1 19.7 10.3L301.6 240H272zM192 384c-17.7 0-32 14.3-32 32v64h64V416c0-17.7-14.3-32-32-32zM88 96h48c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H88c-13.3 0-24-10.7-24-24V120c0-13.3 10.7-24 24-24zm8 64h32V128H96v32zm128-40c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H248c-13.3 0-24-10.7-24-24V120zm32 8v32h32V128H256zM88 224h48c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H88c-13.3 0-24-10.7-24-24V248c0-13.3 10.7-24 24-24zm8 64h32V256H96v32zm224.1 13.4c1.3 53 22.6 129.5 95.9 170V263l-95.9 38.4zm223.9 0L448 263V471.4c73.4-40.5 94.6-117.1 95.9-170zm-103-75.7l120 48C570 277.4 576 286.2 576 296c0 63.3-25.9 168.8-134.8 214.2c-5.9 2.5-12.6 2.5-18.5 0C313.9 464.8 288 359.3 288 296c0-9.8 6-18.6 15.1-22.3l120-48c5.7-2.3 12.1-2.3 17.8 0z\"]\n};\nvar faCirclePhoneFlip = {\n prefix: 'fal',\n iconName: 'circle-phone-flip',\n icon: [512, 512, [\"phone-circle-alt\"], \"e11c\", \"M256 480a224 224 0 1 0 0-448 224 224 0 1 0 0 448zM256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zm52.8 144.1c-1.9-.4-3.8 .6-4.5 2.3l-24 56c-.7 1.6-.2 3.5 1.1 4.7l20.3 16.6c6.1 5 7.6 13.6 3.7 20.4c-14.7 25.4-35.9 46.6-61.4 61.4c-6.8 3.9-15.4 2.4-20.4-3.7l-16.6-20.3c-1.1-1.4-3-1.8-4.7-1.1l-56 24c-1.8 .8-2.7 2.6-2.3 4.5l12 56c.4 1.8 2 3.2 3.9 3.2c114.9 0 208-93.1 208-208c0-1.9-1.3-3.5-3.2-3.9l-56-12zm-33.9-10.3c6.8-15.8 23.8-24.6 40.6-21l56 12C388.1 128.4 400 143 400 160c0 132.5-107.4 240-240 240c-17 0-31.6-11.9-35.2-28.5l-12-56c-3.6-16.8 5.2-33.9 21-40.6l56-24c14.7-6.3 31.9-2.1 42 10.3l7.5 9.2c11.9-8.6 22.4-19.1 31-31l-9.2-7.5c-12.4-10.2-16.6-27.3-10.3-42l24-56z\"]\n};\nvar faPhoneCircleAlt = faCirclePhoneFlip;\nvar faBaby = {\n prefix: 'fal',\n iconName: 'baby',\n icon: [448, 512, [], \"f77c\", \"M224 128a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM224 0a80 80 0 1 1 0 160A80 80 0 1 1 224 0zM46.1 146.8c20.5-23.1 55.9-25.2 79.1-4.7l24.2 21.5C169.9 181.9 196.5 192 224 192s54.1-10.1 74.6-28.4l24.2-21.5c23.1-20.5 58.5-18.5 79.1 4.7s18.5 58.5-4.7 79.1L373 247.3c-16.1 14.3-33.9 26-53 35.1v32.3l49.9 56.1c16.9 19 18.9 47.1 4.7 68.3l-32 48c-17.2 25.7-51.9 32.7-77.7 15.5s-32.7-51.9-15.5-77.7l8-12L238.9 392H209.1l-18.6 20.9 8 12c17.2 25.7 10.2 60.5-15.5 77.7s-60.5 10.2-77.7-15.5l-32-48c-14.1-21.2-12.2-49.2 4.7-68.3L128 314.7V288.1c0 0 0 0 0-.1s0 0 0-.1v-5.5c-19.1-9-37-20.8-53-35.1L50.8 225.9c-23.1-20.5-25.2-55.9-4.7-79.1zM160 304v16.8c0 .2 0 .4 0 .6l38.9 38.9c1-.2 2-.3 3-.3H246c1 0 2 .1 3 .3L288 321.4c0-.2 0-.4 0-.6V304H160zm128-32c0-6.5 3.9-12.3 9.9-14.7c19.6-8.1 37.8-19.5 53.9-33.8l24.2-21.5c9.9-8.8 10.8-24 2-33.9s-24-10.8-33.9-2l-24.2 21.5C293.5 211 259.3 224 224 224s-69.5-13-95.9-36.5l-24.2-21.5c-9.9-8.8-25.1-7.9-33.9 2s-7.9 25.1 2 33.9l24.2 21.5c16.1 14.3 34.4 25.7 53.9 33.8c6 2.5 9.8 8.3 9.9 14.7H288zm18.7 75.9l-34 34 16.8 19c4.8 5.4 5.4 13.4 1.4 19.5L276 442.7c-7.4 11-4.4 25.9 6.7 33.3s25.9 4.4 33.3-6.7l32-48c6.1-9.1 5.2-21.1-2-29.3l-39.2-44.1zm-131.4 34l-34-34-39.2 44.1c-7.2 8.2-8.1 20.2-2 29.3l32 48c7.4 11 22.3 14 33.3 6.7s14-22.3 6.7-33.3l-14.9-22.3c-4-6.1-3.5-14.1 1.4-19.5l16.8-19z\"]\n};\nvar faUsersLine = {\n prefix: 'fal',\n iconName: 'users-line',\n icon: [640, 512, [], \"e592\", \"M147.2 160a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0-96a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm352 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0-96a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM369.6 288h-96c-35.3 0-64 28.7-64 64h224c0-35.3-28.7-64-64-64zm-192 64c0-53 43-96 96-96h96c53 0 96 43 96 96c0 17.7-14.3 32-32 32h-224c-17.7 0-32-14.3-32-32zm144-160a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm0-128a80 80 0 1 1 0 160 80 80 0 1 1 0-160zM64 288v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V288c0-35.3 28.7-64 64-64h88c8.8 0 16 7.2 16 16s-7.2 16-16 16H96c-17.7 0-32 14.3-32 32zm480-32H456c-8.8 0-16-7.2-16-16s7.2-16 16-16h88c35.3 0 64 28.7 64 64v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V288c0-17.7-14.3-32-32-32zM16 448H624c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faQuoteLeft = {\n prefix: 'fal',\n iconName: 'quote-left',\n icon: [448, 512, [8220, \"quote-left-alt\"], \"f10d\", \"M0 208C0 146.1 50.1 96 112 96h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-44.2 0-80 35.8-80 80v24.6c9.4-5.4 20.3-8.6 32-8.6h64c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V320 288 208zm32 80v32 32c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V288c0-17.7-14.3-32-32-32H64c-17.7 0-32 14.3-32 32zm352-32H320c-17.7 0-32 14.3-32 32v32 32c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V288c0-17.7-14.3-32-32-32zM256 320V288 208c0-61.9 50.1-112 112-112h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H368c-44.2 0-80 35.8-80 80v24.6c9.4-5.4 20.3-8.6 32-8.6h64c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64H320c-35.3 0-64-28.7-64-64V320z\"]\n};\nvar faQuoteLeftAlt = faQuoteLeft;\nvar faTractor = {\n prefix: 'fal',\n iconName: 'tractor',\n icon: [640, 512, [128668], \"f722\", \"M128 48V159.2c6.9-18.3 24.5-31.2 45-31.2H211c21.7 0 40.3 14.5 46.1 34.7c12.6-7 27.6-7.8 40.7-2.7h.4 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .4L289.9 41.4c-2.6-5.7-8.3-9.4-14.6-9.4H144c-8.8 0-16 7.2-16 16zM96 157.3V48c0-26.5 21.5-48 48-48H275.3c18.9 0 36 11.1 43.8 28.3L378.3 160h.3 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .7 .6 .6 .7 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .2V119.8c0-29.7 11.8-58.2 32.8-79.2l3.9-3.9c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-3.9 3.9c-15 15-23.4 35.4-23.4 56.6V160h.2 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .6 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3c22.2 0 39.9 18 39.9 40v60.5c0 12.2-5.5 23.6-15 31.2L567.1 338c-11.3 9.1-25.4 14-40 14H382.2c-4.4 15.9-16.9 28.5-32.9 33.2c10.2 18.4 7.3 41.8-8.1 57.1l-26.9 26.9c-15.3 15.4-38.7 18.3-57.1 8.1C251.3 497.5 232.7 512 211 512H173c-21.7 0-40.3-14.5-46.1-34.7c-18.4 10.2-41.8 7.3-57.1-8.1L42.8 442.3l11-11-11 11c-15.3-15.4-18.3-38.7-8.1-57.1C14.5 379.3 0 360.7 0 339V301c0-21.7 14.5-40.3 34.7-46.1c-10.2-18.4-7.3-41.8 8.1-57.1l26.9-26.9c7.4-7.4 16.6-11.9 26.3-13.4zM384 320H527.2c7.3 0 14.3-2.5 20-7L605 266.7c1.9-1.5 3-3.8 3-6.2V200c0-4.5-3.6-8-7.9-8h-.3-.3-.3-.3-.3-.3-.3-.3-.3H597h-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3H591h-.3-.3H590h-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4H586h-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4H580h-.4-.4-.4-.4H578h-.4-.4-.4-.4H576h-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4H571h-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4H564h-.4-.5-.5-.5-.5-.5-.5-.5-.5-.5H559h-.5H558h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H548h-.5H547h-.5H546h-.5H545h-.5H544h-.5H543h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H531h-.5-.5-.5-.5-.5-.5-.5-.5-.5-.5H525h-.5-.5-.6-.6-.6-.6-.6-.6-.6-.6H519h-.6-.6-.6-.6-.6-.6H515h-.6-.6-.6-.6-.6-.6H511h-.6-.6-.6-.6-.6-.6H507h-.6-.6-.6-.6-.6-.6-.6-.6-.6-.6-.6-.6-.6-.6-.6-.6-.6-.6-.6-.6-.6-.6-.6-.6-.6-.6-.6-.6-.6-.6-.6-.6-.6-.6H486h-.6-.6-.6-.6-.6-.6-.6-.6-.6-.6-.6-.6-.6-.6-.6H476h-.6-.6-.6-.6-.6-.6-.6H471h-.6-.6-.6-.6-.6-.6-.6-.6-.6-.6-.6-.6-.6H462h-.6-.7H460h-.6-.7-.7-.7-.7-.7-.7-.7-.7-.7-.7-.7-.7-.7-.7-.7-.7-.7-.7-.7-.7-.7-.7-.7-.7-.7-.7-.7-.7-.7-.7-.7-.7-.7-.7-.7-.7-.7-.7-.7-.7H432h-.7-.7H430h-.7-.7-.7-.7-.7-.7-.7-.7-.7-.7-.7-.7H421h-.7-.7H419h-.7-.7-.7-.7-.7-.7-.7-.7-.7H412h-.7-.7-.7-.7-.7-.7-.7-.7-.7H405h-.7-.7-.7-.7-.7-.7H400h-.7-.7-.7-.7-.7-.7-.7-.7-.7-.7-.7-.7-.7-.7-.7-.7-.7-.7-.7-.7-.7-.7-.7-.7-.7-.7-.7H380h-.7-.7-.7-.7-.7-.7H375h-.7-.7-.7-.7-.7-.7-.7-.7-.7-.1c-.2 0-.5 0-.7 0H367h-.7-.7-.7-.7-.7-.7-.7-.7-.7-.7H359h-.7-.7-.7-.7-.7-.7-.7-.7-.7-.7-.7-.7-.7-.7H348h-.7-.7-.7H345h-.7-.7-.7-.7-.7-.7-.7-.7-.7-.7-.7-.7-.6l5.7 5.7c15.4 15.4 18.3 38.7 8.1 57.1c20.2 5.8 34.7 24.4 34.7 46.1v19zM512 480a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0-96a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM157 174.4l-1.3 12.9c-.6 6-4.5 11.1-10.1 13.3c-1.8 .7-3.5 1.4-5.2 2.2c-5.5 2.4-11.9 1.6-16.6-2.3l-10.1-8.2c-6.4-5.2-15.6-4.7-21.4 1.1L65.4 220.3c-5.8 5.8-6.3 15.1-1.1 21.4l8.2 10.1c3.8 4.7 4.7 11.1 2.3 16.6c-.8 1.7-1.5 3.5-2.2 5.2c-2.2 5.6-7.3 9.5-13.3 10.1L46.4 285C38.2 285.9 32 292.7 32 301V339c0 8.2 6.2 15.1 14.4 15.9l12.9 1.3c6 .6 11.1 4.5 13.3 10.1c.7 1.8 1.4 3.5 2.2 5.2c2.4 5.5 1.6 11.9-2.3 16.6l-8.2 10.1c-5.2 6.4-4.7 15.6 1.1 21.4l26.9 26.9c5.8 5.8 15.1 6.3 21.4 1.1l10.1-8.2c4.7-3.8 11.1-4.7 16.6-2.3c1.7 .8 3.5 1.5 5.2 2.2c5.6 2.2 9.5 7.3 10.1 13.3l1.3 12.9c.8 8.2 7.7 14.4 15.9 14.4H211c8.2 0 15.1-6.2 15.9-14.4l1.3-12.9c.6-6 4.5-11.1 10.1-13.3c1.8-.7 3.5-1.4 5.2-2.2c5.5-2.4 11.9-1.6 16.6 2.3l10.1 8.2c6.4 5.2 15.6 4.7 21.4-1.1l26.9-26.9c5.8-5.8 6.3-15.1 1.1-21.4l-8.2-10.1c-3.8-4.7-4.7-11.1-2.3-16.6c.8-1.7 1.5-3.4 2.2-5.2c2.2-5.6 7.3-9.5 13.3-10.1l12.9-1.3c8.2-.8 14.4-7.7 14.4-15.9V301c0-8.2-6.2-15.1-14.4-15.9l-12.9-1.3c-6-.6-11.1-4.5-13.3-10.1c-.7-1.8-1.4-3.5-2.2-5.2c-2.4-5.5-1.6-11.9 2.3-16.6l8.2-10.1c5.2-6.4 4.7-15.6-1.1-21.4l-26.9-26.9c-5.8-5.8-15.1-6.3-21.4-1.1l-10.1 8.2c-4.7 3.8-11.1 4.7-16.6 2.3c-1.7-.8-3.5-1.5-5.2-2.2c-5.6-2.2-9.5-7.3-10.1-13.3L227 174.4c-.8-8.2-7.7-14.4-15.9-14.4H173c-8.2 0-15.1 6.2-15.9 14.4zM137.6 320a54.4 54.4 0 1 0 108.8 0 54.4 54.4 0 1 0 -108.8 0zM192 406.4a86.4 86.4 0 1 1 0-172.8 86.4 86.4 0 1 1 0 172.8z\"]\n};\nvar faDownFromBracket = {\n prefix: 'fal',\n iconName: 'down-from-bracket',\n icon: [448, 512, [], \"e66b\", \"M225.8 479.2c-.5 .5-1.1 .8-1.8 .8s-1.4-.3-1.8-.8L97.8 347.3c-1.2-1.2-1.8-2.9-1.8-4.6c0-3.7 3-6.7 6.7-6.7l57.3 0c8.8 0 16-7.2 16-16l0-120c0-4.4 3.6-8 8-8l80 0c4.4 0 8 3.6 8 8l0 120c0 8.8 7.2 16 16 16l57.3 0c3.7 0 6.7 3 6.7 6.7c0 1.7-.6 3.3-1.8 4.6L225.8 479.2zM224 512c9.5 0 18.6-3.9 25.1-10.8L373.5 369.2c6.8-7.2 10.5-16.7 10.5-26.5c0-21.4-17.3-38.7-38.7-38.7L304 304l0-104c0-22.1-17.9-40-40-40l-80 0c-22.1 0-40 17.9-40 40l0 104-41.3 0C81.3 304 64 321.3 64 342.7c0 9.9 3.8 19.4 10.5 26.5L198.9 501.2c6.5 6.9 15.6 10.8 25.1 10.8zM416 176c0 8.8 7.2 16 16 16s16-7.2 16-16l0-96c0-44.2-35.8-80-80-80L80 0C35.8 0 0 35.8 0 80l0 96c0 8.8 7.2 16 16 16s16-7.2 16-16l0-96c0-26.5 21.5-48 48-48l288 0c26.5 0 48 21.5 48 48l0 96z\"]\n};\nvar faKeySkeleton = {\n prefix: 'fal',\n iconName: 'key-skeleton',\n icon: [448, 512, [128477], \"f6f3\", \"M304 32a112 112 0 1 1 0 224 112 112 0 1 1 0-224zm0 256c79.5 0 144-64.5 144-144S383.5 0 304 0S160 64.5 160 144c0 34 11.8 65.2 31.5 89.9L4.7 420.7c-6.2 6.2-6.2 16.4 0 22.6l64 64c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L38.6 432 80 390.6l52.7 52.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L102.6 368 214.1 256.5C238.8 276.2 270 288 304 288z\"]\n};\nvar faTrashArrowUp = {\n prefix: 'fal',\n iconName: 'trash-arrow-up',\n icon: [448, 512, [\"trash-restore\"], \"f829\", \"M164.2 39.5L148.9 64H299.1L283.8 39.5c-2.9-4.7-8.1-7.5-13.6-7.5H177.7c-5.5 0-10.6 2.8-13.6 7.5zM311 22.6L336.9 64h47.1H416h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H413.7L388.2 452.6C385.9 486.1 358 512 324.4 512H123.6c-33.6 0-61.4-25.9-63.8-59.4L34.3 96H16C7.2 96 0 88.8 0 80s7.2-16 16-16H32 64.1h47.1L137 22.6C145.8 8.5 161.2 0 177.7 0h92.5c16.6 0 31.9 8.5 40.7 22.6zM66.4 96L91.7 450.3C92.9 467 106.8 480 123.6 480H324.4c16.8 0 30.7-13 31.9-29.7L381.6 96H66.4zM224 176c4.2 0 8.3 1.7 11.3 4.7l80 80c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L240 230.6V392c0 8.8-7.2 16-16 16s-16-7.2-16-16V230.6l-52.7 52.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l80-80c3-3 7.1-4.7 11.3-4.7z\"]\n};\nvar faTrashRestore = faTrashArrowUp;\nvar faArrowDownUpLock = {\n prefix: 'fal',\n iconName: 'arrow-down-up-lock',\n icon: [640, 512, [], \"e4b0\", \"M139.3 507.3l96-96c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L144 457.4V272H304h32l80 0c0-11.1 1.6-21.9 4.6-32H336V54.6l68.7 68.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-96-96c-6.2-6.2-16.4-6.2-22.6 0l-96 96c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L304 54.6V240H144 112 16c-8.8 0-16 7.2-16 16s7.2 16 16 16h96V457.4L43.3 388.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l96 96c6.2 6.2 16.4 6.2 22.6 0zM144 200V48c0-8.8-7.2-16-16-16s-16 7.2-16 16V200h32zM336 312H304V464c0 8.8 7.2 16 16 16s16-7.2 16-16V312zm192-88c26.5 0 48 21.5 48 48v48H480V272c0-26.5 21.5-48 48-48zm-80 48v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80zm0 80H608V480H448V352z\"]\n};\nvar faArrowDownToBracket = {\n prefix: 'fal',\n iconName: 'arrow-down-to-bracket',\n icon: [448, 512, [], \"e094\", \"M363.3 219.3l-128 128c-6.2 6.2-16.4 6.2-22.6 0l-128-128c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L208 297.4 208 16c0-8.8 7.2-16 16-16s16 7.2 16 16l0 281.4L340.7 196.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zM32 336l0 96c0 26.5 21.5 48 48 48l288 0c26.5 0 48-21.5 48-48l0-96c0-8.8 7.2-16 16-16s16 7.2 16 16l0 96c0 44.2-35.8 80-80 80L80 512c-44.2 0-80-35.8-80-80l0-96c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faLinesLeaning = {\n prefix: 'fal',\n iconName: 'lines-leaning',\n icon: [384, 512, [], \"e51e\", \"M190.9 53.7c3.2-8.2-.9-17.5-9.2-20.7s-17.5 .9-20.7 9.2l-160 416c-3.2 8.2 .9 17.5 9.2 20.7s17.5-.9 20.7-9.2l160-416zm84.7-21.3c-8.6-2-17.2 3.4-19.2 12l-96 416c-2 8.6 3.4 17.2 12 19.2s17.2-3.4 19.2-12l96-416c2-8.6-3.4-17.2-12-19.2zM368 32c-8.8 0-16 7.2-16 16V464c0 8.8 7.2 16 16 16s16-7.2 16-16V48c0-8.8-7.2-16-16-16z\"]\n};\nvar faSquareQ = {\n prefix: 'fal',\n iconName: 'square-q',\n icon: [448, 512, [], \"e27b\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM128 256c0 53 43 96 96 96c20.7 0 39.9-6.6 55.6-17.7l-50.9-50.9c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l50.9 50.9C313.4 295.9 320 276.7 320 256c0-53-43-96-96-96s-96 43-96 96zm224 0c0 29.6-10 56.8-26.9 78.5l22.2 22.2c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-22.2-22.2C280.8 374 253.6 384 224 384c-70.7 0-128-57.3-128-128s57.3-128 128-128s128 57.3 128 128z\"]\n};\nvar faRulerCombined = {\n prefix: 'fal',\n iconName: 'ruler-combined',\n icon: [512, 512, [], \"f546\", \"M192 192V128l-64 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l64 0 0-32c0-17.7-14.3-32-32-32L64 32C46.3 32 32 46.3 32 64l0 288 0 96c0 1.1 .1 2.2 .2 3.3C33.8 467.4 47.5 480 64 480h96l288 0c17.7 0 32-14.3 32-32l0-96c0-17.7-14.3-32-32-32H416v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V320H320v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V320H224v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V320H128c-8.8 0-16-7.2-16-16s7.2-16 16-16h64V224l-64 0c-8.8 0-16-7.2-16-16s7.2-16 16-16h64zm64 96H448c35.3 0 64 28.7 64 64v96c0 35.3-28.7 64-64 64l-288 0H64C30.9 512 3.6 486.8 .3 454.5c-.2-2.2-.3-4.3-.3-6.5V352 64C0 28.7 28.7 0 64 0h96c35.3 0 64 28.7 64 64l0 192v32h32z\"]\n};\nvar faSymbols = {\n prefix: 'fal',\n iconName: 'symbols',\n icon: [512, 512, [128291, \"icons-alt\"], \"f86e\", \"M16 0H208c8.8 0 16 7.2 16 16s-7.2 16-16 16H16C7.2 32 0 24.8 0 16S7.2 0 16 0zm0 64H208c8.8 0 16 7.2 16 16s-7.2 16-16 16H128V208c0 8.8-7.2 16-16 16s-16-7.2-16-16V96H16C7.2 96 0 88.8 0 80s7.2-16 16-16zM473.7 4.1C493.5 .2 512 15.3 512 35.5V168h-.2c.1 1.3 .2 2.7 .2 4c0 28.7-28.7 52-64 52s-64-23.3-64-52s28.7-52 64-52c11.7 0 22.6 2.5 32 7V35.5L352 61.1V200h-.2c.1 1.3 .2 2.7 .2 4c0 28.7-28.7 52-64 52s-64-23.3-64-52s28.7-52 64-52c11.7 0 22.6 2.5 32 7V61.1c0-15.3 10.8-28.4 25.7-31.4l128-25.6zM480 172c0-3.1-1.5-7.5-6.9-11.9c-5.5-4.5-14.3-8.1-25.1-8.1s-19.5 3.6-25.1 8.1c-5.5 4.4-6.9 8.8-6.9 11.9s1.5 7.5 6.9 11.9c5.5 4.5 14.3 8.1 25.1 8.1s19.5-3.6 25.1-8.1c5.5-4.4 6.9-8.8 6.9-11.9zM320 204c0-3.1-1.5-7.5-6.9-11.9c-5.5-4.5-14.3-8.1-25.1-8.1s-19.5 3.6-25.1 8.1c-5.5 4.4-6.9 8.8-6.9 11.9s1.5 7.5 6.9 11.9c5.5 4.5 14.3 8.1 25.1 8.1s19.5-3.6 25.1-8.1c5.5-4.4 6.9-8.8 6.9-11.9zm16 148a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm0-64a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm171.3 4.7c6.2 6.2 6.2 16.4 0 22.6l-192 192c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l192-192c6.2-6.2 16.4-6.2 22.6 0zM480 464a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-64 0a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM76.4 256h8.6c32.6 0 59.1 26.4 59.1 59.1c0 18.1-8.3 35.2-22.6 46.4l-20.2 15.8 49.8 45.3 47.3-35.5c7.1-5.3 17.1-3.9 22.4 3.2s3.9 17.1-3.2 22.4l-42.4 31.8 43.5 39.6c6.5 5.9 7 16.1 1.1 22.6s-16.1 7-22.6 1.1l-48.1-43.7-46.8 35.1C91.3 507.5 77.8 512 64 512c-35.5 0-64-29.1-64-64.3c0-19.7 9-38.6 24.6-50.8l27.1-21.3L35.8 361C23.2 349.6 16 333.4 16 316.4C16 283 43 256 76.4 256zm25.3 80.4c6.5-5.1 10.3-13 10.3-21.3c0-14.9-12.1-27.1-27.1-27.1H76.4C60.7 288 48 300.7 48 316.4c0 8 3.4 15.6 9.3 21l20 18.2 24.4-19.2zM44.4 422C36.6 428.2 32 437.7 32 447.7C32 465.5 46.5 480 64 480c6.9 0 13.7-2.2 19.2-6.4L125 442.2 75.8 397.4 44.4 422z\"]\n};\nvar faIconsAlt = faSymbols;\nvar faCopyright = {\n prefix: 'fal',\n iconName: 'copyright',\n icon: [512, 512, [169], \"f1f9\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm67.9-188.1c-37.5 37.5-98.3 37.5-135.8 0s-37.5-98.3 0-135.8s98.3-37.5 135.8 0c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6c-50-50-131-50-181 0s-50 131 0 181s131 50 181 0c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0z\"]\n};\nvar faFlaskGear = {\n prefix: 'fal',\n iconName: 'flask-gear',\n icon: [640, 512, [], \"e5f1\", \"M288 196.8V32H160V196.8c0 17.8-4.9 35.2-14.2 50.3L100.9 320H304.6c2.2 13.3 10.3 25 21.2 32H81.2L37.5 423c-3.6 5.9-5.5 12.7-5.5 19.6C32 463.3 48.7 480 69.4 480H351c15.6 13.1 36.9 13.7 53 4.8v.9c0 6.7 1.5 13.5 4.2 19.7c-9 4.3-19 6.6-29.7 6.6H69.4C31.1 512 0 480.9 0 442.6c0-12.8 3.6-25.4 10.3-36.4L118.5 230.4c6.2-10.1 9.5-21.7 9.5-33.5V32H112c-8.8 0-16-7.2-16-16s7.2-16 16-16h48H288h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H320V196.8c0 11.8 3.3 23.5 9.5 33.5L336 241c-4.9 6.4-9.5 13.1-13.6 20.3c-1.9 3.3-3.7 6.6-5.4 10l-14.8-24.1C292.9 232 288 214.6 288 196.8zm175.3 43c-3.1 16.6-14 29.5-26.6 36.7c-13 7.4-30 9.9-46 3.7l-17.2 30.5c12.8 11.4 18.5 27.7 18.5 42.4s-5.7 31-18.5 42.4L390.7 426c15.9-6.3 33-3.7 46 3.7c12.6 7.2 23.6 20.1 26.6 36.7H497c3-16.6 13.9-29.5 26.5-36.7c12.9-7.4 30-9.9 45.9-3.6l17.2-30.5c-12.8-11.4-18.5-27.7-18.5-42.4s5.7-31 18.5-42.4l-17.2-30.5c-15.9 6.3-32.9 3.7-45.9-3.6c-12.6-7.2-23.5-20.2-26.5-36.7H463.3zm43.5-32c11.8 0 21.4 9.6 21.4 21.4v1.6c0 7.5 4.6 14.2 11.1 18c6.5 3.7 14.5 4.2 21 .3l1.8-1c10.7-6.3 24.4-2.6 30.5 8.2L619 303.1c5.7 10.2 2.3 23.1-7.8 29c-7.3 4.3-11.2 12.6-11.2 21s3.9 16.7 11.2 21c10 5.9 13.5 18.8 7.8 29L592.5 450c-6.1 10.8-19.9 14.5-30.5 8.2l-1.8-1c-6.5-3.8-14.5-3.4-21 .3c-6.5 3.7-11.1 10.4-11.1 18V477c0 11.8-9.6 21.4-21.4 21.4H453.4c-11.7 0-21.3-9.5-21.3-21.3v-1.4c0-7.6-4.6-14.4-11.3-18.2c-6.6-3.7-14.7-4.2-21.2-.3l-1.6 1c-10.7 6.3-24.4 2.6-30.5-8.2L341 403.1c-5.7-10.2-2.3-23.1 7.8-29c7.3-4.3 11.2-12.5 11.2-21s-3.9-16.7-11.2-21c-10-5.9-13.5-18.8-7.8-29l26.4-46.9c6.1-10.8 19.9-14.5 30.5-8.2l1.6 1c6.5 3.9 14.6 3.4 21.2-.3c6.6-3.8 11.3-10.6 11.3-18.2v-1.4c0-11.7 9.5-21.3 21.3-21.3h53.4zM424.1 353.1a56 56 0 1 1 112.1 0 56 56 0 1 1 -112.1 0zm56 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faHighlighterLine = {\n prefix: 'fal',\n iconName: 'highlighter-line',\n icon: [576, 512, [], \"e1af\", \"M166.6 319.2L122.9 363c-3.1 3.1-3.1 8.2 0 11.3l62.8 62.8c3.1 3.1 8.2 3.1 11.3 0l43.7-43.7c6-6 14.1-9.4 22.6-9.4h48c5.2 0 10-2.5 13-6.7l19.4-27L209.6 216.3l-27 19.4c-4.2 3-6.7 7.8-6.7 13v48c0 8.5-3.4 16.6-9.4 22.6zm196 4.8L523.8 99.5c2.7-3.8 4.2-8.4 4.2-13c0-5.9-2.4-11.6-6.5-15.8L489.3 38.5c-4.2-4.2-9.9-6.5-15.8-6.5c-4.7 0-9.2 1.5-13 4.2L236 197.4 362.6 324zm-51.3 92h-48l-43.7 43.7c-11.4 11.4-27.9 14.5-42 9.3l-36 36c-4.5 4.5-10.6 7-17 7H24c-13.3 0-24-10.7-24-24v-4.7c0-6.4 2.5-12.5 7-17l84-84c-5.2-14.2-2.1-30.7 9.3-42L144 296.6v-48c0-15.5 7.4-30 20-39L441.8 10.2C451 3.6 462.1 0 473.5 0c14.4 0 28.2 5.7 38.4 15.9l32.2 32.2c10.2 10.2 15.9 24 15.9 38.4c0 11.4-3.6 22.5-10.2 31.7L350.4 396c-9 12.6-23.5 20-39 20zM111 407.6L38.6 480h82.7l31-31L111 407.6zM240 480H560c8.8 0 16 7.2 16 16s-7.2 16-16 16H240c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faBracketSquare = {\n prefix: 'fal',\n iconName: 'bracket-square',\n icon: [192, 512, [\"bracket\", \"bracket-left\"], \"5b\", \"M0 80C0 53.5 21.5 32 48 32h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H48c-8.8 0-16 7.2-16 16V432c0 8.8 7.2 16 16 16h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H48c-26.5 0-48-21.5-48-48V80z\"]\n};\nvar faBracket = faBracketSquare;\nvar faBracketLeft = faBracketSquare;\nvar faIslandTropical = {\n prefix: 'fal',\n iconName: 'island-tropical',\n icon: [512, 512, [127965, \"island-tree-palm\"], \"f811\", \"M150.8 96H66.9C76.3 68.3 109.1 32 176 32c45.5 0 75.1 16.8 92.3 35.9c4.4 4.9 11.2 6.6 17.4 4.3C299.5 67.2 316.2 64 336 64c66.9 0 99.7 36.3 109.1 64H260.8c-4.2 0-8.3 1.7-11.3 4.7L133.9 248.2c-13-26.2-15.4-75 31.8-122.3l.1-.1c11.4-11.4 22.8-19.8 33.9-26c7.7-4.3 10.5-14 6.3-21.7s-14-10.5-21.7-6.3C173 78.1 161.8 86 150.8 96zM176 0C91.6 0 45.8 49.5 34.7 92.2C29.1 113.6 47.7 128 64 128h58.1c-37.5 52.8-32.9 107.4-13.7 140.3c11.2 19.1 34.5 16.2 46.1 4.6l83.1-83.1c-.4 3.9-.9 7.9-1.4 12.1c-5.3 40.7-17 94.1-42.4 150.1H160C89.3 352 32 409.3 32 480c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32c0-65-48.4-118.6-111.1-126.9c19.6-64.1 20.6-123.6 16.1-168.7c-.9-8.7-1.9-16.8-3.1-24.4H448c16.3 0 34.9-14.4 29.3-35.8C466.2 81.5 420.4 32 336 32c-19 0-36.1 2.5-51.4 6.9C260.8 16.5 224.7 0 176 0zM285.4 160c1.4 8.4 2.7 17.6 3.7 27.6c4.4 44 3.2 102.1-17.4 164.4h-43c23-54.6 34-106.1 39.2-145.9c2.3-18 3.5-33.6 4-46.1h13.5zM288 384c53 0 96 43 96 96H64c0-53 43-96 96-96H288z\"]\n};\nvar faIslandTreePalm = faIslandTropical;\nvar faArrowRightFromLine = {\n prefix: 'fal',\n iconName: 'arrow-right-from-line',\n icon: [448, 512, [8614, \"arrow-from-left\"], \"f343\", \"M443.3 267.3c6.2-6.2 6.2-16.4 0-22.6l-128-128c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L393.4 240 288 240l-176 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l176 0 105.4 0L292.7 372.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l128-128zM32 80c0-8.8-7.2-16-16-16S0 71.2 0 80L0 432c0 8.8 7.2 16 16 16s16-7.2 16-16L32 80z\"]\n};\nvar faArrowFromLeft = faArrowRightFromLine;\nvar faH2 = {\n prefix: 'fal',\n iconName: 'h2',\n icon: [640, 512, [], \"f314\", \"M32 80c0-8.8-7.2-16-16-16S0 71.2 0 80V256 432c0 8.8 7.2 16 16 16s16-7.2 16-16V272H288V432c0 8.8 7.2 16 16 16s16-7.2 16-16V256 80c0-8.8-7.2-16-16-16s-16 7.2-16 16V240H32V80zm400.1 41.5c19.2-16.5 43.7-25.5 69-25.5H507c47 0 85 38.1 85 85c0 23.1-9.4 45.2-26.1 61.2l-185 178.2c-4.7 4.5-6.2 11.5-3.7 17.5s8.3 10 14.8 10H624c8.8 0 16-7.2 16-16s-7.2-16-16-16H431.7L588.1 265.3C611.1 243.3 624 212.8 624 181c0-64.6-52.4-117-117-117h-5.8c-33 0-64.8 11.8-89.9 33.2l-21.7 18.6c-6.7 5.8-7.5 15.9-1.7 22.6s15.8 7.5 22.6 1.7l21.7-18.6z\"]\n};\nvar faEquals = {\n prefix: 'fal',\n iconName: 'equals',\n icon: [448, 512, [62764], \"3d\", \"M32 144c-8.8 0-16 7.2-16 16s7.2 16 16 16H416c8.8 0 16-7.2 16-16s-7.2-16-16-16H32zm0 192c-8.8 0-16 7.2-16 16s7.2 16 16 16H416c8.8 0 16-7.2 16-16s-7.2-16-16-16H32z\"]\n};\nvar faCakeSlice = {\n prefix: 'fal',\n iconName: 'cake-slice',\n icon: [512, 512, [127856, \"shortcake\"], \"e3e5\", \"M296 64L52.3 256H480c0-64-28-112-65-144s-83-48-119-48zM0 272c0-9.8 4.5-19.1 12.2-25.1l264-208c5.6-4.4 12.6-6.9 19.8-6.9c44.3 0 97.6 19.2 139.9 55.8C479.2 125.2 512 181.7 512 256v.5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .4 .4 .4 .4 .4 .4 .4 .4 .4 .1 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .1 .1 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .3 .2 .3 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2 .2c0 35.4-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V368 272zm32 80H480v-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3V346v-.3-.3V345v-.3-.3V344v-.3-.3V343v-.3-.3V342v-.3-.3V341v-.3-.3V340v-.3-.3V339v-.3-.3V338v-.3-.3V337v-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.3-.4-.4-.4V330v-.4-.4V329v-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4V325v-.4-.4V324v-.4-.4-.4-.4-.4-.4-.4V321v-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4V312v-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4V307v-.4-.4-.4-.4V305v-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4V297v-.4-.4-.4-.4V295v-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4-.4V290v-.4-.4-.4-.4V288H32l0 64zm0 32l0 32c0 17.7 14.3 32 32 32H448c17.7 0 32-14.3 32-32v-.2-.2-.2-.2-.2V415v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V413v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V411v-.2-.2-.2-.2V410v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V406v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V401v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V398v-.2-.2-.2-.2-.2-.2-.2-.2V396v-.2-.2-.2-.2-.2-.2-.2-.2V394v-.2-.2-.2V393v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V390v-.2-.2-.2V389v-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2-.2V384H32z\"]\n};\nvar faShortcake = faCakeSlice;\nvar faBuildingMagnifyingGlass = {\n prefix: 'fal',\n iconName: 'building-magnifying-glass',\n icon: [603, 512, [], \"e61c\", \"M60.6 30.1H301.5c16.6 0 30.1 13.5 30.1 30.1V180.7c9.3-7 19.4-12.9 30.1-17.6V60.2C361.7 27 334.8 0 301.5 0H60.6C27.3 0 .3 27 .3 60.2V421.6c0 33.3 27 60.2 60.2 60.2h60.2 30.1 60.2 30.1 60.2c27.5 0 50.7-18.5 57.9-43.7c-9.9-4.5-19.2-10.1-27.8-16.5c0 16.6-13.5 30.1-30.1 30.1H241.3V391.5c0-33.3-27-60.2-60.2-60.2s-60.2 27-60.2 60.2v60.2H60.6c-16.6 0-30.1-13.5-30.1-30.1V60.2c0-16.6 13.5-30.1 30.1-30.1zM278.9 210.8H233.7c-12.5 0-22.6 10.1-22.6 22.6v45.2c0 12.5 10.1 22.6 22.6 22.6h37.6c0-30.5 9.1-58.8 24.6-82.5c-4.1-4.8-10.3-7.8-17.1-7.8zM211.1 391.5v60.2H150.9V391.5c0-16.6 13.5-30.1 30.1-30.1s30.1 13.5 30.1 30.1zM60.6 112.9v45.2c0 12.5 10.1 22.6 22.6 22.6h45.2c12.5 0 22.6-10.1 22.6-22.6V112.9c0-12.5-10.1-22.6-22.6-22.6H83.1c-12.5 0-22.6 10.1-22.6 22.6zm30.1 7.5h30.1v30.1H90.7V120.5zM233.7 90.4c-12.5 0-22.6 10.1-22.6 22.6v45.2c0 12.5 10.1 22.6 22.6 22.6h45.2c12.5 0 22.6-10.1 22.6-22.6V112.9c0-12.5-10.1-22.6-22.6-22.6H233.7zm7.5 60.2V120.5h30.1v30.1H241.3zM60.6 233.4v45.2c0 12.5 10.1 22.6 22.6 22.6h45.2c12.5 0 22.6-10.1 22.6-22.6V233.4c0-12.5-10.1-22.6-22.6-22.6H83.1c-12.5 0-22.6 10.1-22.6 22.6zm30.1 7.5h30.1v30.1H90.7V240.9zm150.6 30.1V240.9h30.1v30.1H241.3zM422 211a90.4 90.4 0 1 1 0 180.7A90.4 90.4 0 1 1 422 211zm0 210.8c27.8 0 53.5-9.4 73.9-25.3L577 477.6c5.9 5.9 15.4 5.9 21.3 0s5.9-15.4 0-21.3l-81.1-81.1c15.9-20.4 25.3-46 25.3-73.9c0-66.5-53.9-120.5-120.5-120.5s-120.5 53.9-120.5 120.5s53.9 120.5 120.5 120.5z\"]\n};\nvar faPeanut = {\n prefix: 'fal',\n iconName: 'peanut',\n icon: [512, 512, [], \"e430\", \"M127.1 249.9l.2 0 .2 0c25.9-5.1 58.5-14.4 83.1-39s33.9-57.2 39-83.1l0-.2 0-.2c1.5-8.2 3.8-16 6.9-23.5l0 0c5.5-13.4 13.7-26 24.5-37l0 0C302.4 45.2 331.6 32 364 32h68c26.5 0 48 21.5 48 48v68c0 15.8-3.1 30.8-8.8 44.4l0 0c-5.6 13.6-14 26.4-25.2 37.6c-11.2 11.2-24 19.6-37.7 25.2l0 0c-7.5 3.1-15.3 5.4-23.5 6.9l-.2 0-.2 0c-25.9 5.1-58.5 14.4-83.1 39s-33.9 57.2-39 83.1l0 .2 0 .2c-1.5 8.2-3.8 16-6.9 23.5l0 0c-5.5 13.4-13.7 26-24.5 37l0 0C209.6 466.8 180.4 480 148 480H80c-26.5 0-48-21.5-48-48V364c0-15.8 3.1-30.8 8.8-44.4l0 0c5.6-13.6 14-26.4 25.2-37.6c11.2-11.2 24-19.6 37.7-25.2l0 0c7.5-3.1 15.3-5.4 23.5-6.9zM148 512c41.3 0 78.7-16.9 105.5-44.2c13.8-14 24.2-30.1 31.3-47.2c4-9.5 6.9-19.6 8.8-30c4.8-24.5 12.6-49.1 30.3-66.7s42.2-25.4 66.7-30.3c10.4-1.9 20.5-4.9 30-8.8c17.5-7.2 33.9-17.9 48.1-32.1c14.2-14.2 24.9-30.5 32.1-48C508 187.2 512 168.1 512 148V80c0-44.2-35.8-80-80-80H364c-41.3 0-78.7 16.9-105.5 44.2c-13.8 14-24.2 30.1-31.3 47.2c-4 9.5-6.9 19.6-8.8 30c-4.8 24.5-12.6 49.1-30.3 66.7s-42.2 25.4-66.7 30.3c-10.4 1.9-20.5 4.9-30 8.8c-17.5 7.2-33.9 17.9-48.1 32.1c-14.2 14.2-24.9 30.5-32.1 48C4 324.8 0 343.9 0 364v68c0 44.2 35.8 80 80 80h68zM435.2 128a19.2 19.2 0 1 0 -38.4 0 19.2 19.2 0 1 0 38.4 0zm-64 64a19.2 19.2 0 1 0 -38.4 0 19.2 19.2 0 1 0 38.4 0zm-224 224a19.2 19.2 0 1 0 -38.4 0 19.2 19.2 0 1 0 38.4 0zM192 435.2a19.2 19.2 0 1 0 0-38.4 19.2 19.2 0 1 0 0 38.4zM435.2 192a19.2 19.2 0 1 0 -38.4 0 19.2 19.2 0 1 0 38.4 0zM192 371.2a19.2 19.2 0 1 0 0-38.4 19.2 19.2 0 1 0 0 38.4z\"]\n};\nvar faWrenchSimple = {\n prefix: 'fal',\n iconName: 'wrench-simple',\n icon: [384, 512, [], \"e2d1\", \"M137 2.8c4.4 3 7 7.9 7 13.2V168l48 36 48-36V16c0-5.3 2.6-10.2 7-13.2s9.9-3.6 14.8-1.7C332.9 28.9 384 94.1 384 176c0 71.1-38.6 133.1-96 166.3V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V332.8c0-6 3.4-11.5 8.7-14.2C316.6 292.1 352 238.2 352 176c0-58.9-31.9-107.7-80-134.8V176c0 5-2.4 9.8-6.4 12.8l-64 48c-5.7 4.3-13.5 4.3-19.2 0l-64-48c-4-3-6.4-7.8-6.4-12.8V41.2C63.9 68.3 32 117.1 32 176c0 62.2 35.4 116.1 87.3 142.6c5.4 2.7 8.7 8.2 8.7 14.2V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V342.3C38.6 309.1 0 247.1 0 176C0 94.1 51.1 28.9 122.2 1.1C127.1-.8 132.7-.2 137 2.8z\"]\n};\nvar faBlender = {\n prefix: 'fal',\n iconName: 'blender',\n icon: [512, 512, [], \"f517\", \"M0 72C0 32.2 32.2 0 72 0h56 24 8.1H471c20.8 0 36.1 19.6 31 39.8L423.1 355.4C456 365.3 480 395.9 480 432v32c0 26.5-21.5 48-48 48H144c-26.5 0-48-21.5-48-48V432c0-37.8 26.2-69.5 61.5-77.9L148 240H72c-39.8 0-72-32.2-72-72V72zM128 432v32c0 8.8 7.2 16 16 16H432c8.8 0 16-7.2 16-16V432c0-26.5-21.5-48-48-48H176c-26.5 0-48 21.5-48 48zM423 224H304c-8.8 0-16-7.2-16-16s7.2-16 16-16H431l16-64H304c-8.8 0-16-7.2-16-16s7.2-16 16-16H455l16-64H162.8l26.7 320H391l32-128zM72 32C49.9 32 32 49.9 32 72v96c0 22.1 17.9 40 40 40h73.3L130.7 32H72zM288 408a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faTeeth = {\n prefix: 'fal',\n iconName: 'teeth',\n icon: [576, 512, [], \"f62e\", \"M96 64c-35.3 0-64 28.7-64 64V384c0 35.3 28.7 64 64 64H480c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H96zM0 128C0 75 43 32 96 32H480c53 0 96 43 96 96V384c0 53-43 96-96 96H96c-53 0-96-43-96-96V128zm160 96c0-17.7-14.3-32-32-32s-32 14.3-32 32v32h64V224zM96 288v32c0 17.7 14.3 32 32 32s32-14.3 32-32V288H96zm75.5 79c-11.4 10.6-26.7 17-43.5 17c-35.3 0-64-28.7-64-64V272 224c0-35.3 28.7-64 64-64c14 0 27 4.5 37.6 12.2c10.9-26 36.5-44.2 66.4-44.2c22.6 0 42.8 10.4 56 26.7c13.2-16.3 33.4-26.7 56-26.7c29.9 0 55.5 18.2 66.4 44.2C421 164.5 434 160 448 160c35.3 0 64 28.7 64 64v48 48c0 35.3-28.7 64-64 64c-16.8 0-32-6.5-43.5-17c-12.8 19.9-35.1 33-60.5 33c-22.6 0-42.8-10.4-56-26.7c-13.2 16.3-33.4 26.7-56 26.7c-25.4 0-47.7-13.2-60.5-33zM232 160c-22.1 0-40 17.9-40 40v24 32h80V200c0-22.1-17.9-40-40-40zM192 320v8c0 22.1 17.9 40 40 40s40-17.9 40-40V288H192v32zm224-64h64V224c0-17.7-14.3-32-32-32s-32 14.3-32 32v32zm0 64c0 17.7 14.3 32 32 32s32-14.3 32-32V288H416v32zm-72 48c22.1 0 40-17.9 40-40v-8V288H304v40c0 22.1 17.9 40 40 40zm40-112V224 200c0-22.1-17.9-40-40-40s-40 17.9-40 40v56h80z\"]\n};\nvar faTally2 = {\n prefix: 'fal',\n iconName: 'tally-2',\n icon: [640, 512, [], \"e295\", \"M144 48c0-8.8-7.2-16-16-16s-16 7.2-16 16V464c0 8.8 7.2 16 16 16s16-7.2 16-16V48zm128 0c0-8.8-7.2-16-16-16s-16 7.2-16 16V464c0 8.8 7.2 16 16 16s16-7.2 16-16V48z\"]\n};\nvar faShekelSign = {\n prefix: 'fal',\n iconName: 'shekel-sign',\n icon: [448, 512, [8362, \"ils\", \"shekel\", \"sheqel\", \"sheqel-sign\"], \"f20b\", \"M80 32C53.5 32 32 53.5 32 80V464c0 8.8 7.2 16 16 16s16-7.2 16-16V80c0-8.8 7.2-16 16-16H192c44.2 0 80 35.8 80 80V336c0 8.8 7.2 16 16 16s16-7.2 16-16V144c0-61.9-50.1-112-112-112H80zM304 480c61.9 0 112-50.1 112-112V48c0-8.8-7.2-16-16-16s-16 7.2-16 16V368c0 44.2-35.8 80-80 80H192c-8.8 0-16-7.2-16-16V176c0-8.8-7.2-16-16-16s-16 7.2-16 16V432c0 26.5 21.5 48 48 48H304z\"]\n};\nvar faIls = faShekelSign;\nvar faShekel = faShekelSign;\nvar faSheqel = faShekelSign;\nvar faSheqelSign = faShekelSign;\nvar faCars = {\n prefix: 'fal',\n iconName: 'cars',\n icon: [640, 512, [], \"f85b\", \"M124.2 32H259.8c14.3 0 26.8 9.5 30.8 23.2L306.8 112c-.9 0-1.9 0-2.8 0H80c-.9 0-1.9 0-2.8 0L93.4 55.2C97.4 41.5 109.9 32 124.2 32zM62.7 46.4L41 122.1C16.6 135.8 0 162 0 192v48 16 32 32c0 8.8 7.2 16 16 16s16-7.2 16-16V288H257.6c3.7-3.7 7.7-7.1 11.9-10.2l6.2-21.8H32V240 192c0-26.5 21.5-48 48-48H304c11.8 0 22.6 4.3 31 11.3c10.3-5.5 21.6-9.2 33.6-10.6c-6.8-9.2-15.5-17-25.6-22.6L321.3 46.4C313.5 18.9 288.4 0 259.8 0H124.2C95.6 0 70.5 18.9 62.7 46.4zM80 224a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm300.2-16H515.8c14.3 0 26.8 9.5 30.8 23.2L562.8 288c-.9 0-1.9 0-2.8 0H336c-.9 0-1.9 0-2.8 0l16.2-56.8c3.9-13.7 16.5-23.2 30.8-23.2zm-61.5 14.4L297 298.1c-24.5 13.7-41 39.9-41 69.9v48 16 32 32c0 8.8 7.2 16 16 16s16-7.2 16-16V464H608v32c0 8.8 7.2 16 16 16s16-7.2 16-16V464 432 416 368c0-30-16.6-56.2-41-69.9l-21.6-75.7c-7.8-27.5-33-46.4-61.5-46.4H380.2c-28.6 0-53.7 18.9-61.5 46.4zM608 416v16H288V416 368c0-26.5 21.5-48 48-48H560c26.5 0 48 21.5 48 48v48zM336 400a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm248-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faAxeBattle = {\n prefix: 'fal',\n iconName: 'axe-battle',\n icon: [512, 512, [], \"f6b3\", \"M73.6 52.1C47.4 93.7 32 144.4 32 192c0 48.6 16.1 100.9 43.5 142.9c7.2-15 16.3-28.9 26.1-41c22.1-27.2 56.1-54.2 106.4-65v32.9c-38.6 9.9-64.4 31.2-81.6 52.3c-13.6 16.8-25 36.8-30.9 57.8c-1.5 5.8-6.1 10.4-11.9 11.7s-12-.7-15.8-5.3C25.5 327.7 0 257.4 0 192C0 126.4 25.6 56.5 67.7 5.7C71.8 .9 78.4-1.1 84.5 .7c6.1 1.8 10.5 7 11.3 13.3c2.9 20.2 12.8 40.3 24.9 56.4c15.9 21.3 42.5 43.5 87.2 52.9v32.6c-56.2-10.1-91.3-37.7-112.8-66.3C87 78.7 79.4 66 73.6 52.1zM304 261.8V228.9c50.3 10.8 84.4 37.8 106.5 65c9.9 12.1 18.9 26 26.1 41c20.8-32.1 35.2-70.2 40.8-108.2l-12.1-12.1c-12.5-12.5-12.5-32.8 0-45.3l12.1-12.1c-5.4-36.8-19.2-73.7-39-105.2C432.7 66 425 78.7 416.9 89.6c-21.5 28.6-56.7 56.2-112.9 66.3V123.3c44.8-9.4 71.3-31.7 87.3-52.9c12.1-16.1 22-36.2 24.9-56.4c.8-6.3 5.3-11.5 11.3-13.3c6.1-1.8 12.7 .2 16.8 5.1c37.2 44.9 61.5 104.6 66.7 163.2l-.4 .4L488 192l22.6 22.6 .4 .4c-5.2 58.5-29.4 118.6-66.7 163.2c-3.9 4.6-10 6.6-15.8 5.3s-10.5-5.9-11.9-11.7c-5.9-21-17.3-41-30.9-57.8c-17.2-21.1-43-42.4-81.7-52.3zM272 48V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V48c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faUserHairLong = {\n prefix: 'fal',\n iconName: 'user-hair-long',\n icon: [448, 512, [], \"e45b\", \"M320 128c0-5.5-.5-10.8-1.3-16H288.6c-14.9 0-29.1-5.9-39.6-16.4l-6.3-6.3C223.4 113.5 194 128 162.3 128L128 128v16c0 53 43 96 96 96s96-43 96-96V128zM224 0c70.7 0 128 57.3 128 128c0 35.3 16.6 68.4 44.8 89.6l4.3 3.2c9.4 7.1 14.9 18.1 14.9 29.9c0 20.6-16.7 37.3-37.3 37.3H320c-8.8 0-16-7.2-16-16s7.2-16 16-16h58.7c2.9 0 5.3-2.4 5.3-5.3c0-1.7-.8-3.3-2.1-4.3l-4.3-3.2c-15.8-11.9-28.8-26.7-38.4-43.4C318.5 242.6 274.7 272 224 272s-94.5-29.4-115.2-72.2c-9.6 16.7-22.6 31.5-38.4 43.4l-4.3 3.2c-1.3 1-2.1 2.6-2.1 4.3c0 2.9 2.4 5.3 5.3 5.3H128c8.8 0 16 7.2 16 16s-7.2 16-16 16H69.3C48.7 288 32 271.3 32 250.7c0-11.8 5.5-22.8 14.9-29.9l4.3-3.2C79.4 196.4 96 163.3 96 128C96 57.3 153.3 0 224 0zm4.7 52.7c6.2-6.2 16.4-6.2 22.6 0L271.6 73c4.5 4.5 10.6 7 17 7h18.6C290.6 51.3 259.5 32 224 32c-41.8 0-77.4 26.7-90.5 64h28.9c26.7 0 51.2-15 63.2-38.9c.8-1.6 1.8-3.1 3.1-4.5zM32 480H416c-1.9-71-60-128-131.5-128H163.6C92.1 352 33.9 409 32 480zM0 483.6C0 393.2 73.2 320 163.6 320H284.4C374.8 320 448 393.2 448 483.6c0 15.7-12.7 28.4-28.4 28.4H28.4C12.7 512 0 499.3 0 483.6z\"]\n};\nvar faMap = {\n prefix: 'fal',\n iconName: 'map',\n icon: [576, 512, [128506, 62072], \"f279\", \"M170.1 33.1c3.3-1.3 6.9-1.5 10.3-.5L399.1 95.1l144-57.6c15.8-6.3 32.9 5.3 32.9 22.3V394.6c0 9.8-6 18.6-15.1 22.3l-155 62c-3.3 1.3-6.9 1.5-10.3 .5L176.9 416.9l-144 57.6C17.1 480.8 0 469.2 0 452.2V117.4c0-9.8 6-18.6 15.1-22.3l155-62zM32 122.8V440.4l128-51.2V71.6L32 122.8zm352 320V124.1L192 69.2V387.9l192 54.9zm32-2.4l128-51.2V71.6L416 122.8V440.4z\"]\n};\nvar faArrowLeftFromArc = {\n prefix: 'fal',\n iconName: 'arrow-left-from-arc',\n icon: [512, 512, [], \"e615\", \"M480 256C480 132.3 379.7 32 256 32c-8.8 0-16-7.2-16-16s7.2-16 16-16C397.4 0 512 114.6 512 256s-114.6 256-256 256c-8.8 0-16-7.2-16-16s7.2-16 16-16c123.7 0 224-100.3 224-224zM149.4 116c6.6-5.9 16.7-5.3 22.6 1.3s5.3 16.7-1.3 22.6L58.1 240H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H58.1L170.6 372c6.6 5.9 7.2 16 1.3 22.6s-16 7.2-22.6 1.3L5.4 268C2 264.9 0 260.6 0 256s2-8.9 5.4-12l144-128z\"]\n};\nvar faFileCircleInfo = {\n prefix: 'fal',\n iconName: 'file-circle-info',\n icon: [576, 512, [58604], \"e493\", \"M64 480H296.2c9.8 11.8 21 22.3 33.5 31.3c-3.2 .5-6.4 .7-9.7 .7H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H220.1c12.7 0 24.9 5.1 33.9 14.1L369.9 129.9c9 9 14.1 21.2 14.1 33.9v34.7c-11.2 3.2-21.9 7.4-32 12.6V192H240c-26.5 0-48-21.5-48-48V32H64C46.3 32 32 46.3 32 64V448c0 17.7 14.3 32 32 32zM351.5 160c-.7-2.8-2.1-5.4-4.2-7.4L231.4 36.7c-2.1-2.1-4.6-3.5-7.4-4.2V144c0 8.8 7.2 16 16 16H351.5zM544 368a112 112 0 1 0 -224 0 112 112 0 1 0 224 0zm-256 0a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-32a24 24 0 1 1 0-48 24 24 0 1 1 0 48zm-32 96c0-8.8 7.2-16 16-16V384c-8.8 0-16-7.2-16-16s7.2-16 16-16h16c8.8 0 16 7.2 16 16v48h0c8.8 0 16 7.2 16 16s-7.2 16-16 16H432 416c-8.8 0-16-7.2-16-16z\"]\n};\nvar faFaceDisappointed = {\n prefix: 'fal',\n iconName: 'face-disappointed',\n icon: [512, 512, [], \"e36f\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM316.1 410.7c-11.7-13-31.6-26.7-60.1-26.7s-48.4 13.7-60.1 26.7c-5.9 6.6-16 7.1-22.6 1.2s-7.1-16-1.2-22.6C188.2 371.4 216.3 352 256 352s67.8 19.4 83.9 37.3c5.9 6.6 5.4 16.7-1.2 22.6s-16.7 5.4-22.6-1.2zM211.3 267.3l-7.4 7.4c-23.6 23.6-53.9 39.2-86.8 44.7l-2.5 .4c-8.7 1.5-17-4.4-18.4-13.2s4.4-17 13.2-18.4l2.5-.4c26.3-4.4 50.6-16.9 69.5-35.7l7.4-7.4c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zm89.4 0c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l7.4 7.4c18.9 18.9 43.2 31.4 69.5 35.7l2.5 .4c8.7 1.5 14.6 9.7 13.2 18.4s-9.7 14.6-18.4 13.2l-2.5-.4c-32.9-5.5-63.3-21.1-86.8-44.7l-7.4-7.4z\"]\n};\nvar faLassoSparkles = {\n prefix: 'fal',\n iconName: 'lasso-sparkles',\n icon: [576, 512, [], \"e1c9\", \"M336 0c8.8 0 16 7.2 16 16V64h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H352v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V96H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h48V16c0-8.8 7.2-16 16-16zM0 176C0 85.4 112 10.8 256 1.1v32C129.7 42 32 102.6 32 176c0 47.1 40.2 88.9 102.4 115.2l0 0c5.5 2.3 11.2 4.5 17 6.6l0 0C190.9 311.9 237.8 320 288 320c141.4 0 256-64.5 256-144c0-45.5-37.5-86-96-112.4V29.6C525.2 61.2 576 115 576 176c0 97.2-128.9 176-288 176c-22.9 0-45.3-1.6-66.7-4.7c11.9 17.2 18.7 38 18.7 59.7c0 58-47 105-105 105H48c-8.8 0-16-7.2-16-16s7.2-16 16-16h87c40.3 0 73-32.7 73-73c0-27.6-15.6-52.9-40.4-65.3l-34.9-17.4C52.9 293 0 238.3 0 176zM512 368v48h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H512v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V448H432c-8.8 0-16-7.2-16-16s7.2-16 16-16h48V368c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faClockEleven = {\n prefix: 'fal',\n iconName: 'clock-eleven',\n icon: [512, 512, [], \"e347\", \"M480 256A224 224 0 1 1 32 256a224 224 0 1 1 448 0zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM240 112v91.2l-34.7-52c-4.9-7.4-14.8-9.3-22.2-4.4s-9.3 14.8-4.4 22.2l64 96c3.9 5.9 11.2 8.5 17.9 6.4s11.4-8.3 11.4-15.3V112c0-8.8-7.2-16-16-16s-16 7.2-16 16z\"]\n};\nvar faRocket = {\n prefix: 'fal',\n iconName: 'rocket',\n icon: [512, 512, [], \"f135\", \"M188.9 372l-50.4-50.4c18.6-42.7 61.7-137.7 95.1-187C304.6 30.1 409 24.6 475.7 36.3c11.7 66.7 6.2 171.1-98.4 242c-49.4 33.5-145.5 75.6-188.4 93.7zm-79.9-62.8c-5.2 11.9-2.5 25.7 6.7 34.9l50.7 50.7c9.1 9.1 22.7 11.9 34.5 6.9c6.5-2.7 14.3-6 23-9.8L224 496c0 5.5 2.9 10.7 7.6 13.6s10.6 3.2 15.6 .7l101.5-50.7c21.7-10.8 35.4-33 35.4-57.2V312.1c4-2.5 7.7-4.9 11.3-7.3C516.1 222.9 520.1 100.9 506.7 28.1c-2.1-11.6-11.2-20.6-22.8-22.8C411.1-8.1 289.1-4.1 207.2 116.7c-2.4 3.6-4.9 7.3-7.3 11.3l-90.2 0c-24.2 0-46.4 13.7-57.2 35.4L1.7 264.8c-2.5 5-2.2 10.9 .7 15.6s8.1 7.6 13.6 7.6H118.5c-3.6 8-6.8 15.2-9.4 21.2zM256 470.1l0-92.5c30.3-13.7 65.4-30.3 96-47v71.7c0 12.1-6.8 23.2-17.7 28.6L256 470.1zM109.7 160h71.5c-16.9 30.7-34 65.8-48.1 96H41.9L81 177.7c5.4-10.8 16.5-17.7 28.6-17.7zM392 144a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zM368 88a56 56 0 1 0 0 112 56 56 0 1 0 0-112z\"]\n};\nvar faSirenOn = {\n prefix: 'fal',\n iconName: 'siren-on',\n icon: [640, 512, [], \"e02e\", \"M55.2 33.7l64 32c7.9 4 11.1 13.6 7.2 21.5s-13.6 11.1-21.5 7.2l-64-32c-7.9-4-11.1-13.6-7.2-21.5s13.6-11.1 21.5-7.2zm544 28.6l-64 32c-7.9 4-17.5 .7-21.5-7.2s-.7-17.5 7.2-21.5l64-32c7.9-4 17.5-.7 21.5 7.2s.7 17.5-7.2 21.5zM16 192H80c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16-7.2-16-16s7.2-16 16-16zm544 0h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H560c-8.8 0-16-7.2-16-16s7.2-16 16-16zM492 320H459.8L439.3 156c-2-16-15.6-28-31.8-28h-175c-16.1 0-29.8 12-31.8 28L180.2 320H148l21-167.9c4-32 31.2-56.1 63.5-56.1h175c32.3 0 59.5 24 63.5 56.1L492 320zm-250.1 0l14.2-114c1.1-8.8 9.1-15 17.9-13.9s15 9.1 13.9 17.9L274.1 320H241.9zM496 384H144c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16H496c8.8 0 16-7.2 16-16V400c0-8.8-7.2-16-16-16zM144 352H496c26.5 0 48 21.5 48 48v32c0 26.5-21.5 48-48 48H144c-26.5 0-48-21.5-48-48V400c0-26.5 21.5-48 48-48z\"]\n};\nvar faClockTen = {\n prefix: 'fal',\n iconName: 'clock-ten',\n icon: [512, 512, [], \"e354\", \"M480 256A224 224 0 1 1 32 256a224 224 0 1 1 448 0zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM240 112V226.1l-71.1-47.4c-7.4-4.9-17.3-2.9-22.2 4.4s-2.9 17.3 4.4 22.2l96 64c4.9 3.3 11.2 3.6 16.4 .8s8.5-8.2 8.5-14.1V112c0-8.8-7.2-16-16-16s-16 7.2-16 16z\"]\n};\nvar faCandleHolder = {\n prefix: 'fal',\n iconName: 'candle-holder',\n icon: [448, 512, [128367], \"f6bc\", \"M112 112c0 26.5 21.5 48 48 48s48-21.5 48-48c0-8.8-6.5-24-20.5-43.1C178.4 56.4 168 45.1 160 36.8c-8 8.3-18.4 19.6-27.5 32.1C118.5 88 112 103.2 112 112zm48 80c-44.2 0-80-35.8-80-80c0-39.6 49.1-90.1 66.2-106.6C149.9 1.9 154.8 0 160 0s10.1 1.9 13.8 5.4C190.9 21.9 240 72.4 240 112c0 44.2-35.8 80-80 80zM0 496c0-8.8 7.2-16 16-16H64V272c0-26.5 21.5-48 48-48h32 64c26.5 0 48 21.5 48 48V480h72.6c-5.4-9.4-8.6-20.3-8.6-32c0-35.3 28.7-64 64-64s64 28.7 64 64s-28.7 64-64 64H256 224 96 64 16c-8.8 0-16-7.2-16-16zM128 256H112c-8.8 0-16 7.2-16 16V480H224V272c0-8.8-7.2-16-16-16H160v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V256zM384 480a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faVideoArrowDownLeft = {\n prefix: 'fal',\n iconName: 'video-arrow-down-left',\n icon: [576, 512, [], \"e2c8\", \"M320 96c17.7 0 32 14.3 32 32V384c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V128c0-17.7 14.3-32 32-32H320zM64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V336.8 175.2 128c0-35.3-28.7-64-64-64H64zM416 354.4l103.4 56.9c5.6 3.1 12 4.7 18.4 4.7c21.1 0 38.2-17.1 38.2-38.2V134.2c0-21.1-17.1-38.2-38.2-38.2c-6.4 0-12.8 1.6-18.4 4.7L416 157.6v36.5l118.8-65.4c.9-.5 1.9-.8 3-.8c3.4 0 6.2 2.8 6.2 6.2V377.8c0 3.4-2.8 6.2-6.2 6.2c-1 0-2.1-.3-3-.8L416 317.9v36.5zM224 352c8.8 0 16-7.2 16-16s-7.2-16-16-16H150.6L283.3 187.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L128 297.4V224c0-8.8-7.2-16-16-16s-16 7.2-16 16V336c0 8.8 7.2 16 16 16H224z\"]\n};\nvar faPhotoFilm = {\n prefix: 'fal',\n iconName: 'photo-film',\n icon: [640, 512, [\"photo-video\"], \"f87c\", \"M576 32H256c-17.7 0-32 14.3-32 32V233.4L297.4 160c12.5-12.5 32.8-12.5 45.3 0L384 201.4 489.4 96c12.5-12.5 32.8-12.5 45.3 0L608 169.4V64c0-17.7-14.3-32-32-32zm64 176c0 0 0 0 0 .1v80c0 35.3-28.7 64-64 64H272c0 0 0 0 0 0H256c-35.3 0-64-28.7-64-64V272s0 0 0 0V64c0-35.3 28.7-64 64-64H576c35.3 0 64 28.7 64 64V208zm-32 6.7l-96-96L395.3 235.3 310.6 320H576c17.7 0 32-14.3 32-32V214.6zM265.4 320l96-96L320 182.6l-96 96V288c0 17.7 14.3 32 32 32h9.4zM296 80a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM128 160h32v32H128v80V400v80H384V384h32v96h32c17.7 0 32-14.3 32-32V384h32v64c0 35.3-28.7 64-64 64H416 400 384 128 112 96 64c-35.3 0-64-28.7-64-64V224c0-35.3 28.7-64 64-64H96h16 16zM32 256H96V192H64c-17.7 0-32 14.3-32 32v32zm0 160v32c0 17.7 14.3 32 32 32H96V416H32zm64-32V288H32v96H96z\"]\n};\nvar faPhotoVideo = faPhotoFilm;\nvar faFloppyDiskCircleArrowRight = {\n prefix: 'fal',\n iconName: 'floppy-disk-circle-arrow-right',\n icon: [576, 512, [\"save-circle-arrow-right\"], \"e180\", \"M32 96V416c0 17.7 14.3 32 32 32H275.2c5.9 11.4 12.9 22.2 21 32H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H309.5c17 0 33.3 6.7 45.3 18.7l74.5 74.5c12 12 18.7 28.3 18.7 45.3v22.2c-5.3-.5-10.6-.7-16-.7s-10.7 .2-16 .7V170.5c0-8.5-3.4-16.6-9.4-22.6L332.1 73.4c-3.4-3.4-7.6-6-12.1-7.6V160c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32l0-96C46.3 64 32 78.3 32 96zM224 240c25.1 0 47.4 11.5 62.1 29.5c-6.9 10.2-12.8 21.2-17.4 32.8c-7-17.8-24.4-30.4-44.7-30.4c-26.5 0-48 21.5-48 48s21.5 48 48 48c12.5 0 23.9-4.8 32.4-12.6c-.3 4.2-.4 8.4-.4 12.6c0 8.3 .6 16.5 1.7 24.6C247.5 397.3 236 400 224 400c-44.2 0-80-35.8-80-80s35.8-80 80-80zM96 64v96H288V64H96zM432 480a112 112 0 1 0 0-224 112 112 0 1 0 0 224zm0-256a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm-3.3 76.7c6.2-6.2 16.4-6.2 22.6 0l56 56c6.2 6.2 6.2 16.4 0 22.6l-56 56c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L457.4 384H368c-8.8 0-16-7.2-16-16s7.2-16 16-16h89.4l-28.7-28.7c-6.2-6.2-6.2-16.4 0-22.6z\"]\n};\nvar faSaveCircleArrowRight = faFloppyDiskCircleArrowRight;\nvar faFolderMinus = {\n prefix: 'fal',\n iconName: 'folder-minus',\n icon: [512, 512, [], \"f65d\", \"M32 96c0-17.7 14.3-32 32-32H188.1c8.5 0 16.6 3.4 22.6 9.4l35.9 35.9c12 12 28.3 18.7 45.3 18.7H448c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V96zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H291.9c-8.5 0-16.6-3.4-22.6-9.4L233.4 50.7c-12-12-28.3-18.7-45.3-18.7H64zm96 224c-8.8 0-16 7.2-16 16s7.2 16 16 16H352c8.8 0 16-7.2 16-16s-7.2-16-16-16H160z\"]\n};\nvar faPlanetMoon = {\n prefix: 'fal',\n iconName: 'planet-moon',\n icon: [576, 512, [], \"e01f\", \"M512 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 96A64 64 0 1 0 512 0a64 64 0 1 0 0 128zM224 480C118 480 32 394 32 288c0-8.1 .5-16.1 1.5-24H92.1c8.5 0 16.6 3.4 22.6 9.4L152 310.6v31.5c0 17 9.6 32.6 24.8 40.2c4.4 2.2 7.2 6.7 7.2 11.6v15.3C184 435 205 456 230.8 456c16.2 0 31.3-8.4 39.9-22.3l45.5-73.9c7.8-12.6 11.9-27.1 11.9-41.9V296c0-26.5-21.5-48-48-48H218.5c-5.2 0-10-3-12.4-7.7c-2.2-4.4-1.9-9.7 .9-13.9L249.3 163c9.8-14.7 14.4-32.1 13.3-49.7l-.9-13.6C349.6 117.2 416 194.8 416 288c0 106-86 192-192 192zM40.3 232C64.3 153.3 137.4 96 224 96c1.8 0 3.5 0 5.3 .1l1.3 19.3c.7 10.5-2.1 21-8 29.8l-42.3 63.5c-9.1 13.7-10.2 31.2-2.9 45.9c7.8 15.5 23.6 25.3 41 25.3H280c8.8 0 16 7.2 16 16v21.9c0 8.9-2.5 17.6-7.1 25.2L243.4 417c-2.7 4.4-7.5 7-12.6 7c-8.2 0-14.8-6.6-14.8-14.8V393.9c0-17-9.6-32.6-24.8-40.2c-4.4-2.2-7.2-6.7-7.2-11.6V304v-6.6l-4.7-4.7-41.9-41.9c-12-12-28.3-18.7-45.3-18.7H40.3zM227.2 64c-1.1 0-2.1 0-3.2 0C100.3 64 0 164.3 0 288S100.3 512 224 512s224-100.3 224-224c0-111.7-81.7-204.2-188.6-221.2l0 0c-10.5-1.7-21.3-2.6-32.3-2.8l0 0z\"]\n};\nvar faFaceEyesXmarks = {\n prefix: 'fal',\n iconName: 'face-eyes-xmarks',\n icon: [512, 512, [], \"e374\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm251.8 48h8.4c50.7 0 91.8 41.1 91.8 91.8c0 11.2-9 20.2-20.2 20.2H180.2c-11.2 0-20.2-9-20.2-20.2c0-50.7 41.1-91.8 91.8-91.8zm8.4 32h-8.4c-29 0-53.2 20.6-58.6 48H318.8c-5.5-27.4-29.6-48-58.6-48zM100.7 132.7c6.2-6.2 16.4-6.2 22.6 0L160 169.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L182.6 192l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L160 214.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L137.4 192l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6zm192 0c6.2-6.2 16.4-6.2 22.6 0L352 169.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L374.6 192l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L352 214.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L329.4 192l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6z\"]\n};\nvar faChartScatter = {\n prefix: 'fal',\n iconName: 'chart-scatter',\n icon: [512, 512, [], \"f7ee\", \"M32 48c0-8.8-7.2-16-16-16S0 39.2 0 48V400c0 44.2 35.8 80 80 80H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H80c-26.5 0-48-21.5-48-48V48zM192 184a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm120 72a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm72 88a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm56-216a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM160 344a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faCircleGf = {\n prefix: 'fal',\n iconName: 'circle-gf',\n icon: [512, 512, [], \"e67f\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM192 128c35.3 0 64 28.7 64 64l0 8c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-8c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 128c0 17.7 14.3 32 32 32s32-14.3 32-32l0-32-16 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 48c0 35.3-28.7 64-64 64s-64-28.7-64-64l0-128c0-35.3 28.7-64 64-64zm96 16c0-8.8 7.2-16 16-16l64 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-48 0 0 96 32 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-32 0 0 80c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-224z\"]\n};\nvar faDisplayArrowDown = {\n prefix: 'fal',\n iconName: 'display-arrow-down',\n icon: [576, 512, [], \"e164\", \"M64 0H240V32H64C46.3 32 32 46.3 32 64V352c0 17.7 14.3 32 32 32H231.7c.2 0 .4 0 .6 0H343.7c.2 0 .4 0 .6 0H512c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H336V0H512c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H362.9l10.7 64H432c8.8 0 16 7.2 16 16s-7.2 16-16 16H360 216 144c-8.8 0-16-7.2-16-16s7.2-16 16-16h58.4l10.7-64H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0zM245.6 416l-10.7 64H341.1l-10.7-64H245.6zM304 16V233.4l52.7-52.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-80 80c-6.2 6.2-16.4 6.2-22.6 0l-80-80c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L272 233.4V16c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faStore = {\n prefix: 'fal',\n iconName: 'store',\n icon: [576, 512, [], \"f54e\", \"M520.6 120.9l0 0c18.7 29.6 .3 66.6-29.2 70.6c-2.6 .3-5.2 .5-7.9 .5c-16.5 0-31.2-7.2-41.5-18.5c-6.1-6.7-14.7-10.5-23.7-10.5s-17.6 3.8-23.7 10.5c-10.2 11.2-24.8 18.4-41.4 18.4c-16.5 0-31.3-7.2-41.4-18.4c-6.1-6.7-14.7-10.5-23.7-10.5s-17.7 3.8-23.7 10.5C254 184.8 239.3 192 222.7 192c-16.5 0-31.3-7.2-41.4-18.4c-6.1-6.7-14.7-10.5-23.7-10.5s-17.7 3.8-23.7 10.5C123.6 184.8 109 192 92.4 192c-2.6 0-5.2-.2-7.9-.5c-29.3-4-47.7-41-29.1-70.6l0 0L111.6 32H464.4l56.2 88.9zM483.4 224c4.1 0 8.1-.3 12.1-.8c55.5-7.4 81.8-72.5 52.1-119.4L490.3 13.1C485.2 5 476.1 0 466.4 0H109.6C99.9 0 90.8 5 85.7 13.1L28.3 103.8c-29.6 46.8-3.4 111.9 51.9 119.4c4 .5 8.1 .8 12.1 .8c19.6 0 37.5-6.4 52-17c4.8-3.5 9.2-7.6 13.2-11.9c4 4.4 8.4 8.4 13.2 11.9c14.5 10.6 32.4 17 52 17c19.6 0 37.5-6.4 52-17c4.8-3.5 9.2-7.6 13.2-12c4 4.4 8.4 8.4 13.2 11.9c14.5 10.6 32.4 17 52 17c19.8 0 37.8-6.5 52.3-17.3c4.7-3.5 9-7.4 12.9-11.7c3.9 4.3 8.3 8.3 13 11.8c14.5 10.7 32.5 17.2 52.2 17.2zM80 256c-8.8 0-16 7.2-16 16v80 16 16 64c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V384 368 352 272c0-8.8-7.2-16-16-16s-16 7.2-16 16v80H96V272c0-8.8-7.2-16-16-16zM96 384H480v64c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32V384z\"]\n};\nvar faArrowTrendUp = {\n prefix: 'fal',\n iconName: 'arrow-trend-up',\n icon: [576, 512, [], \"e098\", \"M368 112c0-8.8 7.2-16 16-16H560c8.8 0 16 7.2 16 16V288c0 8.8-7.2 16-16 16s-16-7.2-16-16V150.6L331.3 363.3c-6.2 6.2-16.4 6.2-22.6 0L192 246.6 27.3 411.3c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l176-176c6.2-6.2 16.4-6.2 22.6 0L320 329.4 521.4 128H384c-8.8 0-16-7.2-16-16z\"]\n};\nvar faPlugCircleMinus = {\n prefix: 'fal',\n iconName: 'plug-circle-minus',\n icon: [576, 512, [], \"e55e\", \"M128 16c0-8.8-7.2-16-16-16s-16 7.2-16 16v96h32V16zm160 0c0-8.8-7.2-16-16-16s-16 7.2-16 16v96h32V16zM16 144c-8.8 0-16 7.2-16 16s7.2 16 16 16H32v64c0 83 63.1 151.2 144 159.2V496c0 8.8 7.2 16 16 16s16-7.2 16-16V399.2c17.3-1.7 33.7-6.2 48.9-12.9c-.6-6-.9-12.1-.9-18.3c0-6 .3-11.8 .9-17.6c-19 11.2-41.2 17.6-64.9 17.6c-70.7 0-128-57.3-128-128V176H320v56.2c9.8-8.1 20.6-15.2 32-21V176h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H352 320 64 32 16zM432 256a112 112 0 1 1 0 224 112 112 0 1 1 0-224zm0 256a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm80-144c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16s7.2 16 16 16H496c8.8 0 16-7.2 16-16z\"]\n};\nvar faOliveBranch = {\n prefix: 'fal',\n iconName: 'olive-branch',\n icon: [640, 512, [], \"e317\", \"M128 96C89.1 96 59.2 78.1 41.6 64C59.2 49.9 89.1 32 128 32s68.8 17.9 86.4 32C196.8 78.1 166.9 96 128 96zm0-96C59.2 0 14.1 44.2 2.8 56.6C.9 58.6 0 61.2 0 64s.9 5.4 2.8 7.4c8.2 8.9 34 34.5 73.8 48C30.6 147.6 0 198.2 0 256v16c0 8.8 7.2 16 16 16H48c88.4 0 160-71.6 160-160V114.4L330.4 55.6C362.8 40.1 398.3 32 434.3 32H624c8.8 0 16-7.2 16-16s-7.2-16-16-16H434.3c-40.7 0-81 9.2-117.7 26.8L253.6 57c-.1-.2-.3-.3-.4-.4C241.9 44.2 196.8 0 128 0zm47.7 128c.1 0 .2 0 .3 0c0 70.7-57.3 128-128 128H32c0-70.7 57.3-128 128-128h15.7zM412.2 436.6C390.7 465.2 363.4 480 336 480s-54.7-14.8-76.2-43.4S224 366.8 224 320s14.3-87.9 35.8-116.6C281.3 174.8 308.6 160 336 160s54.7 14.8 76.2 43.4C433.7 232.1 448 273.2 448 320s-14.3 87.9-35.8 116.6zM336 512c79.5 0 144-86 144-192s-64.5-192-144-192s-144 86-144 192s64.5 192 144 192zm129.7-40.2c52.9 16.5 105.5 8.4 139.6-27c56.2-58.3 41-168.6-33.9-246.4c-42.9-44.5-96.1-68.7-144.2-70.3c13.6 10.4 25.7 22.9 36.2 36.9c.5 .7 1 1.4 1.5 2c28.3 9 57.7 26.8 83.4 53.5c33.1 34.4 52.4 75.3 57.5 112.6c5.2 37.5-3.9 68.9-23.6 89.3c-19.5 20.2-48.9 29.2-84 24c-5-.7-10.1-1.8-15.2-3.1c-5.2 10-11 19.5-17.4 28.3z\"]\n};\nvar faAngle = {\n prefix: 'fal',\n iconName: 'angle',\n icon: [448, 512, [], \"e08c\", \"M238.3 55.2c4-7.9 .7-17.5-7.2-21.5s-17.5-.7-21.5 7.2l-208 416c-2.5 5-2.2 10.8 .7 15.6s8.1 7.6 13.6 7.6H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H41.9L238.3 55.2zM295 238.9c-16.3-20.5-35-39.1-55.6-55.2c-7.7-6.1-19-3.2-23.4 5.6c-3.5 7.1-1.4 15.6 4.8 20.5c17.8 14.1 34 30.2 48.2 47.9c5.3 6.6 14.7 8.4 21.9 3.9c7.8-4.9 9.9-15.4 4.1-22.7zm14.5 84.9c9.9 22.2 17.3 45.7 21.7 70.3c1.4 8 8.2 14 16.3 14c9.6 0 17.2-8.4 15.5-17.9c-4.9-28.4-13.4-55.5-25-81c-3.9-8.6-14.5-11.4-22.5-6.4c-7 4.4-9.4 13.5-6 21z\"]\n};\nvar faVacuumRobot = {\n prefix: 'fal',\n iconName: 'vacuum-robot',\n icon: [512, 512, [], \"e04e\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM356.7 155.3c-55.6-55.6-145.8-55.6-201.4 0c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6c68.1-68.1 178.5-68.1 246.6 0s68.1 178.5 0 246.6c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6c55.6-55.6 55.6-145.8 0-201.4zm-144 57.4c6.2-6.2 16.4-6.2 22.6 0l64 64c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-64-64c-6.2-6.2-6.2-16.4 0-22.6zm-80 16c6.2-6.2 16.4-6.2 22.6 0l128 128c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-128-128c-6.2-6.2-6.2-16.4 0-22.6zm-16 102.6c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l64 64c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-64-64z\"]\n};\nvar faSignHanging = {\n prefix: 'fal',\n iconName: 'sign-hanging',\n icon: [512, 512, [\"sign\"], \"f4d9\", \"M80 0c8.8 0 16 7.2 16 16V64l400 0c8.8 0 16 7.2 16 16s-7.2 16-16 16L96 96V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V96H16C7.2 96 0 88.8 0 80s7.2-16 16-16l48 0V16C64 7.2 71.2 0 80 0zm80 160l0 192H448V160H160zm-32 0c0-17.7 14.3-32 32-32H448c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32V160z\"]\n};\nvar faSign = faSignHanging;\nvar faSquareDivide = {\n prefix: 'fal',\n iconName: 'square-divide',\n icon: [448, 512, [], \"e26a\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm224 40a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM128 240H320c8.8 0 16 7.2 16 16s-7.2 16-16 16H128c-8.8 0-16-7.2-16-16s7.2-16 16-16zm72 112a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faFolderCheck = {\n prefix: 'fal',\n iconName: 'folder-check',\n icon: [512, 512, [], \"e64e\", \"M32 96c0-17.7 14.3-32 32-32H188.1c8.5 0 16.6 3.4 22.6 9.4l35.9 35.9c12 12 28.3 18.7 45.3 18.7H448c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V96zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H291.9c-8.5 0-16.6-3.4-22.6-9.4L233.4 50.7c-12-12-28.3-18.7-45.3-18.7H64zM363.3 235.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L224 329.4l-52.7-52.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l64 64c6.2 6.2 16.4 6.2 22.6 0l128-128z\"]\n};\nvar faSignalStreamSlash = {\n prefix: 'fal',\n iconName: 'signal-stream-slash',\n icon: [640, 512, [], \"e250\", \"M25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4zM576 256c0-70.7-25.5-135.5-67.8-185.6c-5.7-6.8-15.8-7.6-22.5-1.9s-7.6 15.8-1.9 22.5C521.4 135.6 544 193.1 544 256c0 29.5-5 57.8-14.1 84.1L556.3 361C569 328.5 576 293 576 256zm-96 0c0-46.4-16.5-89-43.9-122.2c-5.6-6.8-15.7-7.8-22.5-2.1s-7.8 15.7-2.1 22.5C434.3 181.9 448 217.3 448 256c0 6.3-.4 12.5-1.1 18.7l28.6 22.6c2.9-13.3 4.4-27.1 4.4-41.3zM139.9 195.3l-26-20.5C102.4 199.5 96 227 96 256c0 46.4 16.5 89 43.9 122.2c5.6 6.8 15.7 7.8 22.5 2.1s7.8-15.7 2.1-22.5C141.7 330.1 128 294.7 128 256c0-21.5 4.2-42 11.9-60.7zm-77.2-61L37.2 114.3C13.5 156.1 0 204.5 0 256c0 70.7 25.5 135.5 67.8 185.6c5.7 6.8 15.8 7.6 22.5 1.9s7.6-15.8 1.9-22.5C54.6 376.4 32 318.9 32 256c0-44 11.1-85.4 30.7-121.6z\"]\n};\nvar faBezierCurve = {\n prefix: 'fal',\n iconName: 'bezier-curve',\n icon: [640, 512, [], \"f55b\", \"M352 64c8.8 0 16 7.2 16 16v21.2V112v22 10c0 8.8-7.2 16-16 16H288c-8.8 0-16-7.2-16-16V134 112 101.2 80c0-8.8 7.2-16 16-16h64zm83.4 64H514c7.1 27.6 32.2 48 62 48c35.3 0 64-28.7 64-64s-28.7-64-64-64c-29.8 0-54.9 20.4-62 48H400V80c0-26.5-21.5-48-48-48H288c-26.5 0-48 21.5-48 48V96H126c-7.1-27.6-32.2-48-62-48C28.7 48 0 76.7 0 112s28.7 64 64 64c29.8 0 54.9-20.4 62-48h78.6C139.5 167.2 96 238.5 96 320l-16 0c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48V368c0-26.5-21.5-48-48-48l-16 0c0-77.5 45.9-144.3 112-174.6c.7 25.9 21.9 46.6 48 46.6h64c26 0 47.2-20.7 48-46.6c66.1 30.3 112 97.1 112 174.6l-16 0c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48V368c0-26.5-21.5-48-48-48l-16 0c0-81.5-43.5-152.8-108.6-192zM544 352l16 0c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H496c-8.8 0-16-7.2-16-16V368c0-8.8 7.2-16 16-16l16 0h32zm-416 0l16 0c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V368c0-8.8 7.2-16 16-16l16 0h32zM32 112a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm512 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"]\n};\nvar faEyeDropperHalf = {\n prefix: 'fal',\n iconName: 'eye-dropper-half',\n icon: [512, 512, [], \"e173\", \"M198.1 172.7l22.6 22.6 95.9 95.9 22.6 22.6 17.4 17.4c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l0 0-17.4-17.4 22.6-22.6 98.3-98.3c39-39 39-102.2 0-141.1s-102.2-39-141.1 0l-98.3 98.3-22.6 22.6-17.4-17.4 0 0 0 0c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l17.4 17.4zm45.3 0L364.2 51.9c26.5-26.5 69.4-26.5 95.9 0s26.5 69.4 0 95.9L339.3 268.6l-95.9-95.9zm-56.1 62.6c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L55.4 321.9c-15 15-23.4 35.4-23.4 56.6v41.2L3.8 469.1C1.3 473.5 0 478.4 0 483.4C0 499.2 12.8 512 28.6 512c5 0 9.9-1.3 14.2-3.8L92.2 480h41.2c21.2 0 41.6-8.4 56.6-23.4L299.3 347.3c4.6-4.6 5.9-11.5 3.5-17.4s-8.3-9.9-14.8-9.9H102.6l84.7-84.7zM64 378.5c0-9.5 2.8-18.7 8-26.5H249.4l-81.9 81.9c-9 9-21.2 14.1-33.9 14.1H88 83.8l-3.7 2.1L37.7 474.3l24.2-42.4 2.1-3.7V424 378.5z\"]\n};\nvar faStoreLock = {\n prefix: 'fal',\n iconName: 'store-lock',\n icon: [640, 512, [], \"e4a6\", \"M520.6 120.9l0 0c8.1 12.7 9.2 26.8 5.6 39.1c.6 0 1.2 0 1.8 0c10.4 0 20.5 1.4 30.1 4.1c4.4-19.8 1.5-41.5-10.4-60.3L490.3 13.1C485.2 5 476.1 0 466.4 0H109.6C99.9 0 90.8 5 85.7 13.1L28.3 103.8c-29.6 46.8-3.4 111.9 51.9 119.4c4 .5 8.1 .8 12.1 .8c19.6 0 37.5-6.4 52-17c4.8-3.5 9.2-7.6 13.2-11.9c4 4.4 8.4 8.4 13.2 11.9c14.5 10.6 32.4 17 52 17c19.6 0 37.5-6.4 52-17c4.8-3.5 9.2-7.6 13.2-12c4 4.4 8.4 8.4 13.2 11.9c14.5 10.6 32.4 17 52 17c19.8 0 37.8-6.5 52.3-17.3c4.7-3.5 9-7.4 12.9-11.7c3.9 4.3 8.3 8.3 13 11.8c1.2 .9 2.5 1.8 3.8 2.7c6.1-9.1 13.5-17.2 22-24.1c-5.7-3.1-10.8-7.1-15.1-11.8c-6.1-6.7-14.7-10.5-23.7-10.5s-17.6 3.8-23.7 10.5c-10.2 11.2-24.8 18.4-41.4 18.4c-16.5 0-31.3-7.2-41.4-18.4c-6.1-6.7-14.7-10.5-23.7-10.5s-17.7 3.8-23.7 10.5C254 184.8 239.3 192 222.7 192c-16.5 0-31.3-7.2-41.4-18.4c-6.1-6.7-14.7-10.5-23.7-10.5s-17.7 3.8-23.7 10.5C123.6 184.8 109 192 92.4 192c-2.6 0-5.2-.2-7.9-.5c-29.3-4-47.7-41-29.1-70.6l0 0L111.6 32H464.4l56.2 88.9zM96 352V272c0-8.8-7.2-16-16-16s-16 7.2-16 16v80 16 16 64c0 35.3 28.7 64 64 64H392.6c-5.4-9.4-8.6-20.3-8.6-32l-256 0c-17.7 0-32-14.3-32-32V384H384V352L96 352zM528 224c26.5 0 48 21.5 48 48v48H480V272c0-26.5 21.5-48 48-48zm-80 48v48c-17.7 0-32 14.3-32 32V480c0 17.7 14.3 32 32 32H608c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32V272c0-44.2-35.8-80-80-80s-80 35.8-80 80zm0 80H608V480H448V352z\"]\n};\nvar faBellSlash = {\n prefix: 'fal',\n iconName: 'bell-slash',\n icon: [640, 512, [128277, 61943], \"f1f6\", \"M378.8 384H140.3c-6.8 0-12.3-5.5-12.3-12.3c0-3.3 1.3-6.4 3.6-8.7l2.8-2.8c33.4-33.4 53.5-77.5 57.1-124.2L160 211.2v9.9c0 43.7-17.4 85.6-48.3 116.6l-2.8 2.8c-8.3 8.3-13 19.6-13 31.3c0 24.5 19.8 44.3 44.3 44.3H419.4l-40.5-32zM304 32.8C264.5 36.7 229.2 55 203.4 82.4l25.2 19.9C251.9 78.7 284.2 64 320 64c70.7 0 128 57.3 128 128v29.1c0 21.4 3.5 42.5 10.2 62.4l75.1 59.3c-.7-.8-1.5-1.7-2.3-2.5l-2.8-2.8C497.4 306.7 480 264.8 480 221.1V192c0-83-63.1-151.2-144-159.2V16c0-8.8-7.2-16-16-16s-16 7.2-16 16V32.8zM289.8 458.7c-2.9-8.3-12.1-12.7-20.4-9.8s-12.7 12.1-9.8 20.4c8.8 24.8 32.5 42.7 60.4 42.7s51.6-17.8 60.4-42.7c2.9-8.3-1.4-17.5-9.8-20.4s-17.5 1.4-20.4 9.8C345.8 471.1 333.9 480 320 480s-25.8-8.9-30.2-21.3zM25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4z\"]\n};\nvar faCloudBoltSun = {\n prefix: 'fal',\n iconName: 'cloud-bolt-sun',\n icon: [640, 512, [\"thunderstorm-sun\"], \"f76e\", \"M303.8 13.4c-.9-5.4-4.5-10-9.6-12.1s-10.9-1.5-15.4 1.6L208 52.5 137.2 2.9c-4.5-3.2-10.3-3.8-15.4-1.6s-8.7 6.7-9.6 12.1L98.1 98.1 13.4 112.2c-5.4 .9-10 4.5-12.1 9.6s-1.5 10.9 1.6 15.4L52.5 208 2.9 278.8c-3.2 4.5-3.8 10.3-1.6 15.4s6.7 8.7 12.1 9.6l84.7 14.1 14.1 84.7c.9 5.4 4.5 10 9.6 12.1s10.9 1.5 15.4-1.6l56-39.2c-7.2-7.9-13.4-16.7-18.4-26.2l-35.2 24.6-11.8-71c-1.1-6.7-6.4-12-13.2-13.2l-71-11.8 41.4-59.2c3.9-5.5 3.9-12.8 0-18.4L43.7 139.6l71-11.8c6.7-1.1 12-6.4 13.2-13.2l11.8-71 59.2 41.4c5.5 3.9 12.8 3.9 18.4 0l59.2-41.4 8.5 51c8.8-7.5 18.7-13.9 29.3-18.8L303.8 13.4zM208 120c-48.6 0-88 39.4-88 88c0 31 16 58.2 40.1 73.9c.6-12.5 2.9-24.5 6.8-35.7c-9.3-10-15-23.4-15-38.1c0-30.9 25.1-56 56-56c13.2 0 25.4 4.6 35 12.3c2.4-11 6.3-21.4 11.3-31.1C240.8 124.8 225 120 208 120zm96 72c0-35.3 28.7-64 64-64c29.1 0 53.7 19.4 61.4 46c1.7 5.8 6.5 10.2 12.5 11.3s12-1.3 15.7-6.1c8.8-11.7 22.7-19.2 38.4-19.2c26.5 0 48 21.5 48 48c0 8.8-2.3 16.9-6.4 24c-2.9 5-2.9 11.1 0 16s8.1 8 13.9 8l8.3 0 0 0 .2 0c26.5 0 48 21.5 48 48s-21.5 48-48 48c-.6 0-1.2 0-1.8 0l-.3 0-.2 0H543.9c-.5 11.8-4.9 23-12.4 32h25.7c.9 0 1.8 0 2.7 0c44.2 0 80-35.8 80-80c0-39.3-28.4-72.1-65.8-78.7c1.2-5.6 1.9-11.3 1.9-17.2c0-44.2-35.8-80-80-80c-17 0-32.8 5.3-45.8 14.4C433.4 114.6 402.9 96 368 96c-53 0-96 43-96 96l0 1.3c-45.4 7.6-80 47.1-80 94.7c0 42 27 77.7 64.6 90.7c1.6-10.9 6.5-21.1 14.1-29.1C243.7 342 224 317.3 224 288c0-35.3 28.7-64 64-64c.4 0 .8 0 1.3 0c4.9 .1 9.5-2 12.6-5.8s4.4-8.7 3.4-13.4c-.8-4.1-1.3-8.4-1.3-12.8zm31.7 184l85.1-80.6-19.4 41.9c-2.3 5-1.9 10.7 1 15.3s8 7.4 13.5 7.4h48.3l-85.1 80.6 19.4-41.9c2.3-5 1.9-10.7-1-15.3s-8-7.4-13.5-7.4H335.7zM457.6 224c-5.1 0-10.1 2-13.8 5.5L294.7 370.7c-4.3 4.1-6.7 9.7-6.7 15.7c0 11.9 9.7 21.6 21.6 21.6H359l-34.9 75.5c-6.1 13.3 3.6 28.5 18.2 28.5c5.1 0 10.1-2 13.8-5.5L505.3 365.3c4.3-4.1 6.7-9.7 6.7-15.7c0-11.9-9.7-21.6-21.6-21.6H441l34.8-75.5c6.1-13.3-3.6-28.5-18.2-28.5z\"]\n};\nvar faThunderstormSun = faCloudBoltSun;\nvar faCameraSlash = {\n prefix: 'fal',\n iconName: 'camera-slash',\n icon: [640, 512, [], \"e0d9\", \"M25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4zM576 376.6V160c0-35.3-28.7-64-64-64H440.9L430.5 64.8C423.9 45.2 405.6 32 384.9 32H255.1c-20.7 0-39 13.2-45.5 32.8l-5.9 17.8 26.7 21.1 9.6-28.7c2.2-6.5 8.3-10.9 15.2-10.9H384.9c6.9 0 13 4.4 15.2 10.9l14 42.1c2.2 6.5 8.3 10.9 15.2 10.9H512c17.7 0 32 14.3 32 32V351.3l32 25.3zM96 160.7L67.7 138.4c-2.4 6.8-3.7 14-3.7 21.6V416c0 35.3 28.7 64 64 64H500.4l-40.5-32H128c-17.7 0-32-14.3-32-32V160.7zM378.4 383.6l-27.6-21.8c-9.5 4-19.9 6.1-30.8 6.1c-44.2 0-80-35.8-80-80c0-4.4 .3-8.6 1-12.8l-27.6-21.8c-3.5 10.9-5.4 22.5-5.4 34.6c0 61.9 50.1 112 112 112c21.4 0 41.4-6 58.4-16.4z\"]\n};\nvar faCommentQuote = {\n prefix: 'fal',\n iconName: 'comment-quote',\n icon: [512, 512, [], \"e14c\", \"M32 240c0-91.4 93.8-176 224-176s224 84.6 224 176s-93.8 176-224 176c-32 0-63-5.9-93.5-16.2c-9.9-3.3-20.7-1.8-29.2 4.2c-15.4 10.7-31.4 20-48.4 27.4L91.2 446l-6.4-14.7c-10.5 4.6-21.5 8.6-32.7 11.5c.5-.9 1.1-1.8 1.6-2.6C68 416.5 76.3 391 79.4 363.9c1-9.2-2.1-17.7-7.4-23.9c-24.5-29.4-40-62.9-40-100zM256 32C114.5 32 0 125.2 0 240c0 46.6 19.6 87.1 47.4 120.5c0 .1 .1 .1 .1 .2c-2.6 22.6-9.5 43.5-21.3 63.1c-6.5 10.8-13.5 20.8-21.7 29c-4.5 4.6-5.9 11.5-3.4 17.4s8.3 9.8 14.8 9.8c28.7 0 57.6-8.9 81.6-19.3c19.2-8.4 37.1-18.7 53.9-30.5c.2-.1 .5-.2 .7-.1C185.5 441.3 220 448 256 448c141.5 0 256-93.2 256-208S397.5 32 256 32zM208 176v24 24H160V176h48zm-48 80h48c-.9 21.2-15.6 39.4-36.3 44.6l-15.5 3.9c-8.6 2.1-13.8 10.8-11.6 19.4s10.8 13.8 19.4 11.6l15.5-3.9C215 322.7 240 290.7 240 254V224 200 176c0-17.7-14.3-32-32-32H160c-17.7 0-32 14.3-32 32v48c0 17.7 14.3 32 32 32zm144-80h48v24 24H304V176zm48 80c-.9 21.2-15.6 39.4-36.3 44.6l-15.5 3.9c-8.6 2.1-13.8 10.8-11.6 19.4s10.8 13.8 19.4 11.6l15.5-3.9C359 322.7 384 290.7 384 254V224 200 176c0-17.7-14.3-32-32-32H304c-17.7 0-32 14.3-32 32v48c0 17.7 14.3 32 32 32h48z\"]\n};\nvar faTablet = {\n prefix: 'fal',\n iconName: 'tablet',\n icon: [448, 512, [\"tablet-android\"], \"f3fb\", \"M64 32C46.3 32 32 46.3 32 64V448c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H64zM0 64C0 28.7 28.7 0 64 0H384c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM192 400h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H192c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faTabletAndroid = faTablet;\nvar faSchoolFlag = {\n prefix: 'fal',\n iconName: 'school-flag',\n icon: [576, 512, [], \"e56e\", \"M304 64h80V32H304V64zM272 16c0-8.8 7.2-16 16-16H400c8.8 0 16 7.2 16 16V80c0 8.8-7.2 16-16 16H315.5l89.6 64H512c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H352 320 256 224 64c-35.3 0-64-28.7-64-64V224c0-35.3 28.7-64 64-64H170.9L272 87.8V64 16zm48 400c0-17.7-14.3-32-32-32s-32 14.3-32 32v64h64V416zm32 64H512c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32H400c-3.3 0-6.6-1-9.3-3L288 115.7 185.3 189c-2.7 1.9-6 3-9.3 3H64c-17.7 0-32 14.3-32 32V448c0 17.7 14.3 32 32 32H224V416c0-35.3 28.7-64 64-64s64 28.7 64 64v64zM256 240a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm32 64a64 64 0 1 1 0-128 64 64 0 1 1 0 128zM64 256c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V256zm64 0H96v32h32V256zm320-32h32c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32H448c-17.7 0-32-14.3-32-32V256c0-17.7 14.3-32 32-32zm0 32v32h32V256H448zM64 384c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V384zm64 0H96v32h32V384zm320-32h32c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32H448c-17.7 0-32-14.3-32-32V384c0-17.7 14.3-32 32-32zm0 32v32h32V384H448z\"]\n};\nvar faMessageCode = {\n prefix: 'fal',\n iconName: 'message-code',\n icon: [512, 512, [], \"e1df\", \"M192 416c0-17.7-14.3-32-32-32H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H448c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H309.3c-6.9 0-13.7 2.2-19.2 6.4L192 464V416zM64 0C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h64 32v32 48c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L309.3 416H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM219.3 155.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-64 64c-6.2 6.2-6.2 16.4 0 22.6l64 64c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L166.6 208l52.7-52.7zm96-22.6c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L345.4 208l-52.7 52.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l64-64c6.2-6.2 6.2-16.4 0-22.6l-64-64z\"]\n};\nvar faGlassHalf = {\n prefix: 'fal',\n iconName: 'glass-half',\n icon: [384, 512, [\"glass-half-empty\", \"glass-half-full\"], \"e192\", \"M32.1 40.7c-.4-4.7 3.3-8.7 8-8.7H343.8c4.7 0 8.4 4 8 8.7L336 228.1V224H48v5.1L32.1 40.7zM50.3 256H333.6L317.2 450.7C315.8 467.3 302 480 285.4 480H98.6c-16.6 0-30.5-12.7-31.9-29.3L50.3 256zM40.1 0C16.7 0-1.7 20 .2 43.4l34.6 410C37.6 486.5 65.3 512 98.6 512H285.4c33.3 0 61-25.5 63.8-58.6l34.6-410C385.6 20 367.2 0 343.8 0H40.1z\"]\n};\nvar faGlassHalfEmpty = faGlassHalf;\nvar faGlassHalfFull = faGlassHalf;\nvar faFill = {\n prefix: 'fal',\n iconName: 'fill',\n icon: [512, 512, [], \"f575\", \"M59.3 4.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l97.4 97.4L30.6 228.1c-37.5 37.5-37.5 98.3 0 135.8L148.1 481.4c37.5 37.5 98.3 37.5 135.8 0L474.3 290.9c28.1-28.1 28.1-73.7 0-101.8L322.9 37.7c-28.1-28.1-73.7-28.1-101.8 0l-64.4 64.4L59.3 4.7zm97.4 142.6l88 88c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-88-88 64.4-64.4c15.6-15.6 40.9-15.6 56.6 0L451.7 211.7c15.6 15.6 15.6 40.9 0 56.6L432 288H35c1.7-13.6 7.8-26.8 18.2-37.3L156.7 147.3zM53.3 341.3C47 335 42.3 327.7 39.2 320H400L261.3 458.7c-25 25-65.5 25-90.5 0L53.3 341.3z\"]\n};\nvar faMessageMinus = {\n prefix: 'fal',\n iconName: 'message-minus',\n icon: [512, 512, [\"comment-alt-minus\"], \"f4a7\", \"M192 416c0-17.7-14.3-32-32-32H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H448c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H309.3c-6.9 0-13.7 2.2-19.2 6.4L192 464V416zM64 0C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h64 32v32 48c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L309.3 416H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zm96 192c-8.8 0-16 7.2-16 16s7.2 16 16 16H352c8.8 0 16-7.2 16-16s-7.2-16-16-16H160z\"]\n};\nvar faCommentAltMinus = faMessageMinus;\nvar faAngleUp = {\n prefix: 'fal',\n iconName: 'angle-up',\n icon: [448, 512, [8963], \"f106\", \"M212.7 148.7c6.2-6.2 16.4-6.2 22.6 0l160 160c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L224 182.6 75.3 331.3c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l160-160z\"]\n};\nvar faDinosaur = {\n prefix: 'fal',\n iconName: 'dinosaur',\n icon: [640, 512, [], \"e5fe\", \"M417.6 19.2C426.7 7.1 440.9 0 456 0h13C563.5 0 640 76.5 640 170.9v50.9c0 76.5-39.4 147.6-104.3 188.2L512 424.9V464c0 26.5-21.5 48-48 48H432c-26.5 0-48-21.5-48-48V453c-3.5 .9-7.5 1.8-11.7 2.6c-14.2 3-32.3 6-52.4 7.5c-.5-11.2-3.4-21.9-8.2-31.5c20.5-1.1 39.4-4.1 54-7.2c9.1-1.9 16.5-3.8 21.6-5.3c2.5-.7 4.5-1.3 5.8-1.7c.6-.2 1.1-.4 1.4-.5l.3-.1 .1 0 0 0c4.9-1.6 10.2-.8 14.4 2.2s6.6 7.8 6.6 13v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V416.3c0-2.8 .6-5.6 2-8s3.4-4.5 5.8-6l31-19.4c55.5-34.7 89.2-95.6 89.2-161V170.9C608 94.2 545.8 32 469.1 32H456c-5.1 0-9.8 2.4-12.8 6.4l-6.8 9.1c-6.7 8.9-15.8 15.9-26.1 20c-11 4.4-18.2 15.1-18.2 26.9v1.8c0 17.5 14.2 31.7 31.7 31.7h74.5c34.1 0 61.8 27.7 61.8 61.8v23c0 32.7-26.5 59.1-59.1 59.1c-27.3 0-53.9-8.5-76.2-24.4l-26-18.6c-33.7-24.1-74-37-115.4-37c-49.6 0-97.3 18.5-133.9 51.9L61.1 324.4C42.6 341.4 32 365.4 32 390.5c0 49.4 40.1 89.5 89.5 89.5h121c7.5 0 13.5-6.1 13.5-13.5c0-6.4-4.4-11.9-10.7-13.2l-97.6-21.1C117.5 425.6 96 398.9 96 368c0-8.8 7.2-16 16-16s16 7.2 16 16c0 15.8 11 29.5 26.5 32.8L252.1 422C273 426.5 288 445 288 466.5c0 25.1-20.4 45.5-45.5 45.5h-121C54.4 512 0 457.6 0 390.5c0-34.1 14.4-66.7 39.6-89.7l88.2-80.5c42.5-38.8 97.9-60.3 155.5-60.3c48.1 0 94.9 15 134 43l26 18.6c16.8 12 36.9 18.4 57.6 18.4c15 0 27.1-12.1 27.1-27.1v-23c0-16.5-13.4-29.8-29.8-29.8H423.7c-35.2 0-63.7-28.5-63.7-63.7V94.5c0-24.9 15.2-47.4 38.3-56.6c4.9-2 9.2-5.3 12.4-9.5l6.8-9.1zM448 80a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faDrumstickBite = {\n prefix: 'fal',\n iconName: 'drumstick-bite',\n icon: [512, 512, [], \"f6d7\", \"M192 272c0 26.5 21.5 48 48 48h88.2c-5.3-15-8.2-31.2-8.2-48c0-79.5 64.5-144 144-144c2.6 0 5.3 .1 7.9 .2C452.2 72.2 398.8 32 336 32c-79.5 0-144 64.5-144 144v96zm-32 0V176C160 78.8 238.8 0 336 0c86.5 0 158.5 62.5 173.2 144.8c2.1 11.8-10.3 20.1-22 17.6c-7.5-1.6-15.3-2.4-23.2-2.4c-61.9 0-112 50.1-112 112c0 19.2 4.8 37.2 13.3 53c5.7 10.5 1.1 24.8-10.8 26c-6.1 .6-12.3 1-18.5 1H240c-3 0-6-.2-8.9-.5L192 390.6l0 0 0 .1c0 .1-.1 .5-.1 1.2c.1 1.5 .7 3.5 2 5.2c8.9 12 14.2 26.9 14.2 42.9c0 39.8-32.2 72-72 72c-37.2 0-67.8-28.2-71.6-64.4C28.2 443.8 0 413.2 0 376c0-39.8 32.2-72 72-72c16.1 0 30.9 5.3 42.9 14.2c1.7 1.2 3.7 1.9 5.2 2c.7 0 1.1-.1 1.2-.1l.1 0 39.1-39.1c-.3-2.9-.5-5.9-.5-8.9zm12.2 42.4L144 342.7c-15 15-36.5 9.9-48.1 1.2C89.2 338.9 81 336 72 336c-22.1 0-40 17.9-40 40s17.9 40 40 40c13.1 0 24 10.9 24 24c0 22.1 17.9 40 40 40s40-17.9 40-40c0-9-2.9-17.2-7.9-23.8c-8.7-11.7-13.7-33.2 1.2-48.1l28.2-28.2c-10.3-6.4-18.9-15.1-25.4-25.4z\"]\n};\nvar faLinkHorizontalSlash = {\n prefix: 'fal',\n iconName: 'link-horizontal-slash',\n icon: [640, 512, [\"chain-horizontal-slash\"], \"e1cc\", \"M25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4zM640 320c0-70.7-57.3-128-128-128H480c-8.8 0-16 7.2-16 16s7.2 16 16 16h32c53 0 96 43 96 96c0 24.2-8.9 46.3-23.7 63.1L609.5 403c19-22.3 30.5-51.3 30.5-83zM459.9 448l-40.5-32H335.9c-52.9 0-95.9-42.9-95.9-95.9c0-13.9 3-27.2 8.4-39.2l-25.7-20.3c-9.4 17.8-14.6 38.1-14.6 59.5C208 390.8 265.2 448 335.9 448H459.9zM400 191.9c0 13.9-3 27.2-8.4 39.2l25.7 20.3c9.4-17.8 14.6-38.1 14.6-59.5C432 121.2 374.8 64 304.1 64H180.1l40.5 32h83.5c52.9 0 95.9 42.9 95.9 95.9zm-344.3-63L30.5 109C11.5 131.4 0 160.3 0 192c0 70.7 57.3 128 128 128h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H128c-53 0-96-43-96-96c0-24.2 8.9-46.3 23.7-63.1z\"]\n};\nvar faChainHorizontalSlash = faLinkHorizontalSlash;\nvar faHollyBerry = {\n prefix: 'fal',\n iconName: 'holly-berry',\n icon: [512, 512, [], \"f7aa\", \"M288 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM256 0a64 64 0 1 0 0 128A64 64 0 1 0 256 0zM128 289.3V268.4l2.3 .8c24 8 49.8 8.7 74.2 2.1l5.9-1.6-1.6 5.9c-6.6 24.4-5.9 50.2 2.1 74.2l1 2.9C164.6 358 128 398.1 128 446.7l0 20.9-2.3-.8c-24-8-49.8-8.7-74.2-2.1l-5.9 1.6 1.6-5.9c6.6-24.4 5.9-50.2-2.1-74.2l-1-2.9C91.4 378 128 337.9 128 289.3zM115.6 497.2l12.8 4.3c15.5 5.2 31.6-6.4 31.6-22.8v-32c0-34.6 28.1-62.7 62.7-62.7c16.4 0 27.9-16 22.8-31.6l-4.3-12.8c-6-18-6.5-37.3-1.5-55.6l5.3-19.4c4.9-17.9-11.6-34.4-29.5-29.5L196 240.4c-18.3 5-37.6 4.4-55.6-1.5l-12.8-4.3c-15.5-5.2-31.6 6.4-31.6 22.8v32C96 323.9 67.9 352 33.3 352c-16.4 0-27.9 16-22.8 31.6l4.3 12.8c6 18 6.5 37.3 1.5 55.6l-5.3 19.4c-4.9 17.9 11.6 34.4 29.5 29.5L60 495.6c18.3-5 37.6-4.5 55.6 1.5zm46-415.6c-28.4 6.5-49.6 32-49.6 62.4c0 35.3 28.7 64 64 64c30.4 0 55.8-21.2 62.4-49.6c-10.9-2-21.2-5.9-30.5-11.3C206.3 163.3 192.6 176 176 176c-17.7 0-32-14.3-32-32c0-16.6 12.7-30.3 28.9-31.9c-5.4-9.3-9.3-19.6-11.3-30.5zm112 76.8c6.5 28.4 32 49.6 62.4 49.6c35.3 0 64-28.7 64-64c0-30.4-21.2-55.8-49.6-62.4c-2 10.9-5.9 21.2-11.3 30.5c16.2 1.5 28.9 15.2 28.9 31.9c0 17.7-14.3 32-32 32c-16.6 0-30.3-12.7-31.9-28.9c-9.3 5.4-19.6 9.3-30.5 11.3zM384 289.3c0 48.6 36.6 88.7 83.8 94.1l-1 2.9c-8 24-8.7 49.8-2.1 74.2l1.6 5.9-5.9-1.6c-24.4-6.6-50.2-5.9-74.2 2.1l-2.3 .8 0-20.9c0-48.6-36.6-88.7-83.8-94.1l1-2.9c8-24 8.7-49.8 2.1-74.2l-1.6-5.9 5.9 1.6c24.4 6.6 50.2 5.9 74.2-2.1l2.3-.8v20.9zm12.4 207.9c18-6 37.3-6.5 55.6-1.5l19.4 5.3c17.9 4.9 34.4-11.6 29.5-29.5L495.7 452c-5-18.3-4.5-37.6 1.5-55.6l4.3-12.8c5.2-15.5-6.4-31.6-22.8-31.6c-34.6 0-62.7-28.1-62.7-62.7v-32c0-16.4-16-27.9-31.6-22.8l-12.8 4.3c-18 6-37.3 6.5-55.6 1.5l-19.4-5.3c-17.9-4.9-34.4 11.6-29.5 29.5l5.3 19.4c5 18.3 4.4 37.6-1.5 55.6l-4.3 12.8c-5.2 15.5 6.4 31.6 22.8 31.6c34.6 0 62.7 28.1 62.7 62.7v32c0 16.4 16 27.9 31.6 22.8l12.8-4.3z\"]\n};\nvar faNose = {\n prefix: 'fal',\n iconName: 'nose',\n icon: [448, 512, [], \"e5bd\", \"M190.2 8.6c-4.1-7.8-13.7-10.9-21.6-6.8s-10.9 13.7-6.8 21.6c74 142.4 171.9 248.6 223.7 299.3c19.1 18.7 30.5 43.7 30.5 69.6c0 48.5-39.3 87.7-87.7 87.7h-34l-2.3-2.6-38.7-43.5c-19.1-21.5-46.5-33.8-75.3-33.8c-27.6 0-49.9 22.3-49.9 49.9V456c0 30.9 25.1 56 56 56H328.3C394.4 512 448 458.4 448 392.3c0-35.3-15.5-68.3-40.1-92.4c-50.5-49.5-145.8-153-217.7-291.2zm39.1 446.5L251.5 480H184c-13.3 0-24-10.7-24-24v-6.1c0-9.9 8-17.9 17.9-17.9c19.7 0 38.4 8.4 51.4 23.1zm-98-151.4c8.6-1.9 14.1-10.4 12.3-19s-10.4-14.1-19-12.3l-22.8 4.9C42.4 290 0 342.4 0 403.2c0 38.2 17 74.5 46.3 98.9l7.4 6.2c6.8 5.7 16.9 4.7 22.5-2s4.7-16.9-2-22.5l-7.4-6.2C44.8 459.1 32 431.9 32 403.2c0-45.6 31.9-85.1 76.5-94.6l22.8-4.9z\"]\n};\nvar faArrowLeftToArc = {\n prefix: 'fal',\n iconName: 'arrow-left-to-arc',\n icon: [512, 512, [], \"e616\", \"M32 256C32 132.3 132.3 32 256 32c8.8 0 16-7.2 16-16s-7.2-16-16-16C114.6 0 0 114.6 0 256S114.6 512 256 512c8.8 0 16-7.2 16-16s-7.2-16-16-16C132.3 480 32 379.7 32 256zM309.4 116l-144 128c-3.4 3-5.4 7.4-5.4 12s2 8.9 5.4 12l144 128c6.6 5.9 16.7 5.3 22.6-1.3s5.3-16.7-1.3-22.6L218.1 272H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H218.1L330.6 140c6.6-5.9 7.2-16 1.3-22.6s-16-7.2-22.6-1.3z\"]\n};\nvar faChevronLeft = {\n prefix: 'fal',\n iconName: 'chevron-left',\n icon: [320, 512, [9001], \"f053\", \"M20.7 267.3c-6.2-6.2-6.2-16.4 0-22.6l192-192c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L54.6 256 235.3 436.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-192-192z\"]\n};\nvar faBacteria = {\n prefix: 'fal',\n iconName: 'bacteria',\n icon: [640, 512, [], \"e059\", \"M310.4 1.3c8.1 3.5 11.8 12.9 8.3 21.1L314 33.1C329.7 41 342.7 53.8 350.9 70l10.7-4.7c8.1-3.5 17.5 .2 21.1 8.3s-.2 17.5-8.3 21.1l-14.7 6.4c1.7 20.2-4 39.8-15.3 55.6l6 3.7c7.5 4.7 9.8 14.5 5.2 22s-14.5 9.8-22 5.2l-13.3-8.2c-7.6 4.7-16.2 8.3-25.4 10.5c-6.8 1.6-13.2 3.4-19.1 5.4l3.8 17.3c1.9 8.6-3.5 17.2-12.1 19.1s-17.2-3.5-19.1-12.1L246 208.8c-19.4 11.6-31.2 25.3-38.8 37.2l7.6 3.6c8 3.8 11.4 13.3 7.6 21.3s-13.3 11.4-21.3 7.6l-7.4-3.5c-1 3.3-1.7 6.7-2.3 10.1c-1.5 14.1-6.5 27.1-14 38.1L187.6 334c6.1 6.4 5.8 16.6-.6 22.6s-16.6 5.8-22.6-.6l-9.6-10.2c-15.3 10.2-34 15.6-53.7 13.9l-6.4 14.7c-3.5 8.1-12.9 11.8-21.1 8.3s-11.8-13-8.3-21.1L70 350.9c-16-8.1-28.9-21.1-36.9-36.9l-10.7 4.7c-8.1 3.5-17.5-.2-21.1-8.3s.2-17.5 8.3-21.1L24.3 283c-.4-4.8-.4-9.6 .1-14.6c1.1-12.1 3.8-24.2 7-35.9c.2-.9 .5-1.7 .7-2.6l-15.2-7.6c-7.9-4-11.1-13.6-7.2-21.5s13.6-11.1 21.5-7.2l11.6 5.8c4.8-11.7 11-24.2 18.8-37.2c1.9-3.2 3.9-6.4 6.1-9.6l-5.1-3.8c-7.1-5.3-8.5-15.3-3.2-22.4s15.3-8.5 22.4-3.2l5 3.7c10.9-13.1 23.5-25.8 38.1-37.8L114.4 72.4c-4.6-7.5-2.3-17.4 5.2-22s17.4-2.3 22 5.2l9 14.7c14.5-9.4 30.6-18 48.3-25.5l-3.6-8.5c-3.5-8.1 .3-17.5 8.4-21s17.5 .3 21 8.4L229 33.8c9-2.8 18.3-5.4 28.1-7.6c8.7-2 17.4-2.6 25.8-1.9l6.4-14.7c3.5-8.1 12.9-11.8 21.1-8.3zM192 144a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm-64 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm31.7 81.6c.1-.5 .1-.9 .2-1.4c2.8-18.2 10.3-34.8 18.2-48c16-26.7 46.7-59.1 109.6-73.6c28-6.5 45.4-34.4 39-62.4s-34.4-45.4-62.4-39c-93.1 21.5-146.4 73-175.4 121.4C74.8 202.3 66.7 224.5 62.2 241c-2.9 10.6-5.1 20.8-6 30.3c-2.6 28.6 18.5 53.8 47.1 56.4c28.3 2.6 53.3-18 56.4-46.1zm161.6 208l4.7-10.7c-15.6-7.9-28.7-20.7-36.9-36.9l-10.7 4.7c-8.1 3.5-17.5-.2-21.1-8.3s.2-17.5 8.3-21.1l14.7-6.4c-1.7-20.2 4-39.8 15.3-55.6l-6-3.7c-7.5-4.6-9.8-14.5-5.2-22s14.5-9.8 22-5.2l13.3 8.2c7.6-4.7 16.2-8.3 25.4-10.5c6.8-1.6 13.2-3.4 19.1-5.4l-3.8-17.3c-1.9-8.6 3.5-17.2 12.1-19.1s17.2 3.5 19.1 12.1l2.4 10.7c19.4-11.6 31.2-25.3 38.8-37.2l-7.6-3.6c-8-3.8-11.4-13.3-7.6-21.3s13.3-11.4 21.3-7.6l7.4 3.5c1-3.3 1.7-6.7 2.3-10.1c1.5-14.1 6.5-27.1 14-38.1L452.4 178c-6.1-6.4-5.8-16.6 .6-22.6s16.6-5.8 22.6 .6l9.6 10.2c15.3-10.2 34-15.6 53.7-13.9l6.4-14.7c3.5-8.1 12.9-11.8 21.1-8.3s11.8 12.9 8.3 21.1L570 161.1c16 8.1 28.9 21.1 36.9 36.9l10.7-4.7c8.1-3.5 17.5 .2 21.1 8.3s-.2 17.5-8.3 21.1l-14.7 6.4c.4 4.8 .4 9.6-.1 14.6c-1.1 12.1-3.8 24.2-7 35.9c-.2 .9-.5 1.7-.7 2.6l15.2 7.6c7.9 4 11.1 13.6 7.2 21.5s-13.6 11.1-21.5 7.2l-11.6-5.8c-4.8 11.7-11 24.2-18.8 37.2c-1.9 3.2-3.9 6.4-6.1 9.6l5.1 3.8c7.1 5.3 8.5 15.3 3.2 22.4s-15.3 8.5-22.4 3.2l-5-3.7c-10.9 13.1-23.5 25.8-38.1 37.8l10.3 16.8c4.6 7.5 2.3 17.4-5.2 22s-17.4 2.3-22-5.2l-9-14.7c-14.5 9.4-30.6 18-48.3 25.5l3.6 8.5c3.5 8.1-.3 17.5-8.4 21s-17.5-.3-21-8.4L411 478.2c-9 2.8-18.3 5.4-28.1 7.6c-8.7 2-17.4 2.6-25.8 1.9l-6.4 14.6c-3.5 8.1-12.9 11.8-21.1 8.3s-11.8-13-8.3-21.1zM416 408a24 24 0 1 1 0-48 24 24 0 1 1 0 48zm64.3-177.6c0 .5-.1 .9-.2 1.4c-2.8 18.2-10.3 34.8-18.2 48c-16 26.7-46.7 59.1-109.6 73.6c-28 6.5-45.4 34.4-39 62.4s34.4 45.4 62.4 39c93.1-21.5 146.4-73 175.4-121.4c14.2-23.6 22.2-45.8 26.7-62.3c2.9-10.6 5.1-20.8 6-30.3c2.6-28.6-18.5-53.8-47.1-56.4c-28.3-2.6-53.3 18-56.4 46.1z\"]\n};\nvar faClouds = {\n prefix: 'fal',\n iconName: 'clouds',\n icon: [640, 512, [], \"f744\", \"M208 32c39.9 0 73 29.2 79 67.4c.9 5.6 4.7 10.3 9.9 12.4s11.2 1.2 15.7-2.3C323.5 101 337.1 96 352 96c35.3 0 64 28.7 64 64c0 14.7-5 28.3-13.3 39.1l.9 .8c12.2-4.5 25.3-7.2 39-7.8c3.6-10 5.5-20.8 5.5-32.1c0-53-43-96-96-96c-14 0-27.2 3-39.2 8.4C296.8 30.1 255.9 0 208 0C151.6 0 104.9 41.7 97.1 96L96 96C43 96 0 139 0 192s43 96 96 96h64.9c1.2-11.1 3.7-21.8 7.3-32H96c-35.3 0-64-28.7-64-64s28.7-64 64-64c4.4 0 8.7 .4 12.8 1.3c4.8 1 9.7-.3 13.4-3.4s5.9-7.7 5.8-12.6c0-.4 0-.9 0-1.3c0-44.2 35.8-80 80-80zm16 272c0-44.2 35.8-80 80-80c32.2 0 59.9 19 72.6 46.4c2.2 4.8 6.6 8.1 11.8 9s10.4-.8 14.1-4.5c11.6-11.7 27.7-19 45.5-19c35.3 0 64 28.7 64 64l0 .3c0 4.5 1.9 8.8 5.2 11.8s7.8 4.5 12.2 4.1c2.2-.2 4.3-.3 6.6-.3c39.8 0 72 32.2 72 72s-32.2 72-72 72H232c-39.8 0-72-32.2-72-72c0-33.5 22.9-61.7 53.9-69.7c8.2-2.1 13.3-10.3 11.7-18.6c-1-5.1-1.5-10.3-1.5-15.7zM640 408c0-55.2-43-100.3-97.3-103.8C535.2 258.7 495.6 224 448 224c-19.3 0-37.3 5.7-52.4 15.5C375.3 210.8 341.9 192 304 192c-61.9 0-112 50.1-112 112c0 2.6 .1 5.3 .3 7.9C154.6 327.5 128 364.6 128 408c0 57.4 46.6 104 104 104H536c57.4 0 104-46.6 104-104z\"]\n};\nvar faMoneyBillSimple = {\n prefix: 'fal',\n iconName: 'money-bill-simple',\n icon: [576, 512, [], \"e1f1\", \"M64 96c-17.7 0-32 14.3-32 32V384c0 17.7 14.3 32 32 32H512c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32H64zM0 128C0 92.7 28.7 64 64 64H512c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128zM352 256a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zm-160 0a96 96 0 1 1 192 0 96 96 0 1 1 -192 0z\"]\n};\nvar faHandLizard = {\n prefix: 'fal',\n iconName: 'hand-lizard',\n icon: [512, 512, [], \"f258\", \"M0 120C0 89.1 25.1 64 56 64H286.6c36.2 0 70.1 17.5 91.1 46.9L491.1 269.7c13.6 19 20.9 41.8 20.9 65.1V432c0 8.8-7.2 16-16 16s-16-7.2-16-16V334.8c0-16.7-5.2-32.9-14.9-46.5L351.7 129.5c-15-21-39.3-33.5-65.1-33.5H56c-13.3 0-24 10.7-24 24s10.7 24 24 24H256c35.3 0 64 28.7 64 64s-28.7 64-64 64H120c-13.3 0-24 10.7-24 24s10.7 24 24 24H272c3.2 0 6.2 .9 8.9 2.7l96 64c4.4 3 7.1 8 7.1 13.3v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V408.6L267.2 352H120c-30.9 0-56-25.1-56-56s25.1-56 56-56H256c17.7 0 32-14.3 32-32s-14.3-32-32-32H56c-30.9 0-56-25.1-56-56z\"]\n};\nvar faTablePivot = {\n prefix: 'fal',\n iconName: 'table-pivot',\n icon: [512, 512, [], \"e291\", \"M160 64v96H480V96c0-17.7-14.3-32-32-32H160zm0 128V448H448c17.7 0 32-14.3 32-32V192H160zM128 64H64C46.3 64 32 78.3 32 96v64h96V64zM32 416c0 17.7 14.3 32 32 32h64V192H32V416zM0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM446.8 278.1c-2.5 6-8.3 9.9-14.8 9.9H416v48c0 26.5-21.5 48-48 48H320v16c0 6.5-3.9 12.3-9.9 14.8s-12.9 1.1-17.4-3.5l-32-32c-6.2-6.2-6.2-16.4 0-22.6l32-32c4.6-4.6 11.5-5.9 17.4-3.5s9.9 8.3 9.9 14.8v16h48c8.8 0 16-7.2 16-16V288H368c-6.5 0-12.3-3.9-14.8-9.9s-1.1-12.9 3.5-17.4l32-32c6.2-6.2 16.4-6.2 22.6 0l32 32c4.6 4.6 5.9 11.5 3.5 17.4z\"]\n};\nvar faFilterSlash = {\n prefix: 'fal',\n iconName: 'filter-slash',\n icon: [640, 512, [], \"e17d\", \"M25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4zm541 93.3c5.9-7.1 9.1-16 9.1-25.2C576 49.7 558.3 32 536.5 32H139.6l40.5 32H536.5c4.2 0 7.5 3.4 7.5 7.5c0 1.8-.6 3.4-1.7 4.8l-137 165.5 25.1 19.8L566.9 96.7zM352 362.8v83.3c0 1-.8 1.9-1.9 1.9c-.4 0-.8-.1-1.1-.4l-61-47.4V312.3L256 287V400.2c0 9.9 4.6 19.2 12.4 25.3l61 47.4c5.9 4.6 13.3 7.1 20.8 7.1c18.7 0 33.9-15.2 33.9-33.9V388.1l-32-25.3z\"]\n};\nvar faTrashCanUndo = {\n prefix: 'fal',\n iconName: 'trash-can-undo',\n icon: [448, 512, [\"trash-can-arrow-turn-left\", \"trash-undo-alt\"], \"f896\", \"M164.2 39.5L148.9 64H299.1L283.8 39.5c-2.9-4.7-8.1-7.5-13.6-7.5H177.7c-5.5 0-10.6 2.8-13.6 7.5zM311 22.6L336.9 64H384h32 16c8.8 0 16 7.2 16 16s-7.2 16-16 16H416V432c0 44.2-35.8 80-80 80H112c-44.2 0-80-35.8-80-80V96H16C7.2 96 0 88.8 0 80s7.2-16 16-16H32 64h47.1L137 22.6C145.8 8.5 161.2 0 177.7 0h92.5c16.6 0 31.9 8.5 40.7 22.6zM64 96V432c0 26.5 21.5 48 48 48H336c26.5 0 48-21.5 48-48V96H64zm155.9 93.3c5.9 6.6 5.4 16.7-1.2 22.6l-49 44.1H240c44.2 0 80 35.8 80 80v40c0 8.8-7.2 16-16 16s-16-7.2-16-16V336c0-26.5-21.5-48-48-48H169.7l49 44.1c6.6 5.9 7.1 16 1.2 22.6s-16 7.1-22.6 1.2l-80-72c-3.4-3-5.3-7.4-5.3-11.9s1.9-8.9 5.3-11.9l80-72c6.6-5.9 16.7-5.4 22.6 1.2z\"]\n};\nvar faTrashCanArrowTurnLeft = faTrashCanUndo;\nvar faTrashUndoAlt = faTrashCanUndo;\nvar faNotdef = {\n prefix: 'fal',\n iconName: 'notdef',\n icon: [384, 512, [], \"e1fe\", \"M32 452.5L172.3 256 32 59.5V452.5zM51.7 480H332.3L192 283.5 51.7 480zm160-224L352 452.5V59.5L211.7 256zM332.3 32H51.7L192 228.5 332.3 32zM0 48C0 21.5 21.5 0 48 0H336c26.5 0 48 21.5 48 48V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V48z\"]\n};\nvar faDisease = {\n prefix: 'fal',\n iconName: 'disease',\n icon: [512, 512, [], \"f7fa\", \"M64.1 280.3c0-15.6-6.2-30.5-17.2-41.5L17.7 209.6C6.4 198.3 .1 183 .1 167.1c0-37.2 33.4-65.5 70.1-59.4l59.6 9.9c37.9 6.3 76-10.2 97.3-42.1l9.4-14.1C248.7 43 269.2 32 291.3 32c30.9 0 57.6 21.4 64.3 51.5l7.1 31.5c8.1 36.2 37.1 64 73.6 70.7l28 5.1c27.7 5.1 47.8 29.2 47.8 57.3c0 24.1-14.8 45.6-37.2 54.3L438 316.7c-32.5 12.6-53.9 43.9-53.9 78.8l0 25.2c0 32.7-26.5 59.3-59.3 59.3c-13.5 0-26.5-4.6-37-13l-30.9-24.7c-21.3-17-47.7-26.3-75-26.3h-10c-7.9 0-15.8 .9-23.6 2.6L86.1 432.4c-36 8-70.1-19.4-70.1-56.2c0-15.5 6.2-30.3 17.3-41.2l13.1-12.8c11.3-11 17.7-26.2 17.7-42zM253.6 93.2c-28.3 42.4-78.9 64.3-129.2 56l-59.6-9.9c-17.2-2.9-32.8 10.4-32.8 27.8c0 7.5 3 14.6 8.3 19.9l29.2 29.2c17 17 26.6 40.1 26.6 64.1c0 24.4-9.8 47.8-27.3 64.8L55.7 357.9c-4.9 4.8-7.7 11.4-7.7 18.3c0 16.4 15.1 28.5 31.1 25l62.3-13.8c10-2.2 20.3-3.4 30.5-3.4h10c34.5 0 68 11.7 94.9 33.3L307.8 442c4.8 3.9 10.8 6 17 6c15.1 0 27.3-12.2 27.3-27.3l0-25.2c0-48.1 29.5-91.2 74.3-108.6l36.9-14.3c10.1-3.9 16.8-13.7 16.8-24.5c0-12.7-9.1-23.6-21.6-25.9l-28-5.1c-49.1-9-88.1-46.4-99-95.2l-7.1-31.5C320.9 75 307.2 64 291.3 64c-11.3 0-21.9 5.7-28.2 15.1l-9.4 14.1zM304 192a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM136 224a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm152 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faPersonToDoor = {\n prefix: 'fal',\n iconName: 'person-to-door',\n icon: [576, 512, [58704], \"e433\", \"M256 56a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm80 0A56 56 0 1 0 224 56a56 56 0 1 0 112 0zM179.4 116.4c-12.7-3.2-26.1-3.2-38.8 0l-1.5 .4c-12.3 3.1-23.7 9-33.3 17.4L53.5 180c-6.7 5.8-7.3 15.9-1.5 22.6s15.9 7.3 22.6 1.5l52.4-45.8c5.7-5 12.6-8.6 20-10.4l1.5-.4c7.6-1.9 15.6-1.9 23.3 0l16.9 4.2L153.2 257.9c-7.3 21.8 2 45.7 22 57l93.3 52.5L224.9 490.7c-2.9 8.3 1.4 17.5 9.8 20.4s17.5-1.4 20.4-9.8L298.6 378c5.2-14.7-.9-30.9-14.5-38.5l-37.5-21.1c.2-.4 .4-.9 .5-1.3l37.2-111.6L298 253.2c5.9 20.6 24.7 34.8 46.2 34.8H400c8.8 0 16-7.2 16-16s-7.2-16-16-16H344.1c-7.1 0-13.4-4.7-15.4-11.6l-20.3-71c-4.7-16.5-17.9-29.2-34.5-33.4l-94.5-23.6zm83 53.7L218.3 302.4 190.9 287c-6.7-3.8-9.8-11.7-7.3-19l36.2-108.6 42.7 10.7zM130 314.1L101.3 384H16c-8.8 0-16 7.2-16 16s7.2 16 16 16h85.3c13 0 24.7-7.8 29.6-19.8l23.3-56.6c-10-6.7-18.2-15.5-24.1-25.4zM528 32c8.8 0 16 7.2 16 16V464c0 8.8-7.2 16-16 16H432c-8.8 0-16-7.2-16-16V317.3c-5 1.8-10.4 2.7-16 2.7H384V464c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H432c-26.5 0-48 21.5-48 48V224h16c5.6 0 11 1 16 2.7V48c0-8.8 7.2-16 16-16h96z\"]\n};\nvar faTurntable = {\n prefix: 'fal',\n iconName: 'turntable',\n icon: [576, 512, [], \"f8e4\", \"M512 64c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32H512zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM224 384a128 128 0 1 1 0-256 128 128 0 1 1 0 256zM64 256a160 160 0 1 0 320 0A160 160 0 1 0 64 256zm160 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm256 17.4V112c0-8.8-7.2-16-16-16s-16 7.2-16 16V288.5c-16 1.4-30.9 10.8-38.6 26.2l-16 32c-11.8 23.6-2.2 52.2 21.3 64s52.2 2.2 64-21.3l16-32c10.6-21.2 3.9-46.5-14.6-59.9zM452.3 320c2.3 0 4.6 .6 6.8 1.7c7.9 4 11.1 13.6 7.2 21.5l-16 32c-4 7.9-13.6 11.1-21.5 7.2s-11.1-13.6-7.2-21.5l16-32c2.7-5.5 8.2-8.7 14-8.8h.7z\"]\n};\nvar faBriefcaseMedical = {\n prefix: 'fal',\n iconName: 'briefcase-medical',\n icon: [512, 512, [], \"f469\", \"M176 32H336c8.8 0 16 7.2 16 16V96H160V48c0-8.8 7.2-16 16-16zM128 48V96H64C28.7 96 0 124.7 0 160V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H384V48c0-26.5-21.5-48-48-48H176c-26.5 0-48 21.5-48 48zm16 80H368h80c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32h80zm96 48c-17.7 0-32 14.3-32 32v32H176c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32h32v32c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V336h32c17.7 0 32-14.3 32-32V272c0-17.7-14.3-32-32-32H304V208c0-17.7-14.3-32-32-32H240zm0 32h32v48c0 8.8 7.2 16 16 16h48v32H288c-8.8 0-16 7.2-16 16v48H240V320c0-8.8-7.2-16-16-16H176V272h48c4.2 0 8.3-1.7 11.3-4.7s4.7-7.1 4.7-11.3V208z\"]\n};\nvar faGenderless = {\n prefix: 'fal',\n iconName: 'genderless',\n icon: [384, 512, [], \"f22d\", \"M192 112a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm0 320a176 176 0 1 0 0-352 176 176 0 1 0 0 352z\"]\n};\nvar faChevronRight = {\n prefix: 'fal',\n iconName: 'chevron-right',\n icon: [320, 512, [9002], \"f054\", \"M299.3 244.7c6.2 6.2 6.2 16.4 0 22.6l-192 192c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L265.4 256 84.7 75.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l192 192z\"]\n};\nvar faSignalWeak = {\n prefix: 'fal',\n iconName: 'signal-weak',\n icon: [640, 512, [\"signal-1\"], \"f68c\", \"M64 384c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V400c0-8.8 7.2-16 16-16z\"]\n};\nvar faSignal1 = faSignalWeak;\nvar faClockFive = {\n prefix: 'fal',\n iconName: 'clock-five',\n icon: [512, 512, [], \"e349\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM272 112V251.2l61.3 92c4.9 7.4 2.9 17.3-4.4 22.2s-17.3 2.9-22.2-4.4l-64-96c-1.8-2.6-2.7-5.7-2.7-8.9V112c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faRetweet = {\n prefix: 'fal',\n iconName: 'retweet',\n icon: [576, 512, [], \"f079\", \"M96 103.9L146.5 160 45.5 160 96 103.9zm88 60.5c0-6.8-2.5-13.4-7.1-18.4l-69-76.7c-3-3.4-7.4-5.3-11.9-5.3s-8.9 1.9-11.9 5.3L15.1 146C10.5 151.1 8 157.6 8 164.4C8 179.7 20.3 192 35.6 192H80V336c0 44.2 35.8 80 80 80H304c8.8 0 16-7.2 16-16s-7.2-16-16-16H160c-26.5 0-48-21.5-48-48V192h44.4c15.2 0 27.6-12.3 27.6-27.6zM480 408.1L429.5 352l100.9 0L480 408.1zm-88-60.5c0 6.8 2.5 13.4 7.1 18.4l69 76.7c3 3.4 7.4 5.3 11.9 5.3s8.9-1.9 11.9-5.3l69-76.7c4.6-5.1 7.1-11.6 7.1-18.4c0-15.2-12.3-27.6-27.6-27.6H496V176c0-44.2-35.8-80-80-80H272c-8.8 0-16 7.2-16 16s7.2 16 16 16H416c26.5 0 48 21.5 48 48V320H419.6c-15.2 0-27.6 12.3-27.6 27.6z\"]\n};\nvar faCarRear = {\n prefix: 'fal',\n iconName: 'car-rear',\n icon: [512, 512, [\"car-alt\"], \"f5de\", \"M159.6 64H352.4c21.2 0 39.9 13.9 46 34.2l28.3 94.4c-3.5-.4-7.1-.6-10.7-.6H96c-3.6 0-7.2 .2-10.7 .6l28.3-94.4c6.1-20.3 24.8-34.2 46-34.2zM74.7 227.9l.1-.3c6.6-2.3 13.8-3.6 21.2-3.6H416c7.4 0 14.5 1.3 21.2 3.6l.1 .3 .5-.1c24.6 8.9 42.3 32.5 42.3 60.2H432c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v32c0 17.7-14.3 32-32 32H352V352c0-17.7-14.3-32-32-32H192c-17.7 0-32 14.3-32 32v32H64c-17.7 0-32-14.3-32-32V320H80c8.8 0 16-7.2 16-16s-7.2-16-16-16H32c0-27.7 17.6-51.3 42.3-60.2l.5 .1zM320 384H192V352H320v32zM48.7 203.4l-.4 1.3C19.4 221.2 0 252.3 0 288v64c0 23.7 12.9 44.4 32 55.4V464c0 8.8 7.2 16 16 16s16-7.2 16-16V416H448v48c0 8.8 7.2 16 16 16s16-7.2 16-16V407.4c19.1-11.1 32-31.7 32-55.4V288c0-35.7-19.4-66.8-48.3-83.3l-.4-1.3L429 89c-10.2-33.8-41.3-57-76.6-57H159.6C124.3 32 93.1 55.2 83 89L48.7 203.4z\"]\n};\nvar faCarAlt = faCarRear;\nvar faPumpSoap = {\n prefix: 'fal',\n iconName: 'pump-soap',\n icon: [448, 512, [], \"e06b\", \"M128 48c0-26.5 21.5-48 48-48h32c26.5 0 48 21.5 48 48h76.1c17 0 33.3 6.7 45.3 18.7l33.9 33.9c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L354.7 89.4c-6-6-14.1-9.4-22.6-9.4H256v48H224V48c0-8.8-7.2-16-16-16H176c-8.8 0-16 7.2-16 16v80H128V48zM85.6 221.3l-18.7 224C65.3 464 80.1 480 98.8 480H285.2c18.7 0 33.4-16 31.9-34.7l-18.7-224c-1.4-16.6-15.2-29.3-31.9-29.3H117.4c-16.6 0-30.5 12.8-31.9 29.3zm-31.9-2.7c2.8-33.2 30.5-58.7 63.8-58.7H266.6c33.3 0 61 25.5 63.8 58.7l18.7 224c3.1 37.3-26.3 69.3-63.8 69.3H98.8c-37.4 0-66.9-32-63.8-69.3l18.7-224zM156.2 345.1c-2.7 5.3-4.2 11.2-4.2 17.2c0 20.8 16.9 37.7 37.7 37.7h4.7c20.8 0 37.7-16.9 37.7-37.7c0-6-1.4-11.9-4.2-17.2L192 275.4l-35.8 69.7zM192 240c10.9 0 20.9 6.1 25.9 15.8l38.4 74.7c5.1 9.9 7.7 20.8 7.7 31.9c0 38.5-31.2 69.7-69.7 69.7h-4.7c-38.5 0-69.7-31.2-69.7-69.7c0-11.1 2.6-22 7.7-31.9l38.4-74.7c5-9.7 15-15.8 25.9-15.8z\"]\n};\nvar faComputerClassic = {\n prefix: 'fal',\n iconName: 'computer-classic',\n icon: [448, 512, [], \"f8b1\", \"M384 32c17.7 0 32 14.3 32 32V368c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H384zM64 0C28.7 0 0 28.7 0 64V368c0 23.7 12.9 44.4 32 55.4V480c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V423.4c19.1-11.1 32-31.7 32-55.4V64c0-35.3-28.7-64-64-64H64zm0 432H384v48H64l0-48zM352 96V224H96V96H352zM96 64C78.3 64 64 78.3 64 96V224c0 17.7 14.3 32 32 32H352c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H96zM224 336c0 8.8 7.2 16 16 16H368c8.8 0 16-7.2 16-16s-7.2-16-16-16H240c-8.8 0-16 7.2-16 16zM96 360a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faFrame = {\n prefix: 'fal',\n iconName: 'frame',\n icon: [448, 512, [], \"e495\", \"M448 112c0-8.8-7.2-16-16-16l-48 0 0-48c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 48L96 96l0-48c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 48L16 96c-8.8 0-16 7.2-16 16s7.2 16 16 16l48 0 0 256-48 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l48 0 0 48c0 8.8 7.2 16 16 16s16-7.2 16-16l0-48 256 0 0 48c0 8.8 7.2 16 16 16s16-7.2 16-16l0-48 48 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-48 0 0-256 48 0c8.8 0 16-7.2 16-16zM96 384l0-256 256 0 0 256L96 384z\"]\n};\nvar faVideoSlash = {\n prefix: 'fal',\n iconName: 'video-slash',\n icon: [640, 512, [], \"f4e2\", \"M25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4zM416 175.2V128c0-35.3-28.7-64-64-64H180.1l40.5 32H352c17.7 0 32 14.3 32 32v97l32 25.3v-75zM64 384V135.4L34.1 111.8C32.7 117 32 122.4 32 128V384c0 35.3 28.7 64 64 64H352c26.4 0 49-16 58.8-38.8l-27.1-21.4C381.8 403.7 368.4 416 352 416H96c-17.7 0-32-14.3-32-32zM576 134.2V376.6l26.5 20.9c3.5-5.8 5.5-12.5 5.5-19.7V134.2c0-21.1-17.1-38.2-38.2-38.2c-6.4 0-12.8 1.6-18.4 4.7L448 157.6v36.5l118.8-65.4c.9-.5 1.9-.8 3-.8c3.4 0 6.2 2.8 6.2 6.2z\"]\n};\nvar faBatteryQuarter = {\n prefix: 'fal',\n iconName: 'battery-quarter',\n icon: [576, 512, [\"battery-2\"], \"f243\", \"M432 128c26.5 0 48 21.5 48 48V336c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48V176c0-26.5 21.5-48 48-48H432zM80 96C35.8 96 0 131.8 0 176V336c0 44.2 35.8 80 80 80H432c44.2 0 80-35.8 80-80V176c0-44.2-35.8-80-80-80H80zM576 208c0-8.8-7.2-16-16-16s-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V208zM112 192h32c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V208c0-8.8 7.2-16 16-16zM64 208v96c0 26.5 21.5 48 48 48h32c26.5 0 48-21.5 48-48V208c0-26.5-21.5-48-48-48H112c-26.5 0-48 21.5-48 48z\"]\n};\nvar faBattery2 = faBatteryQuarter;\nvar faEllipsisStroke = {\n prefix: 'fal',\n iconName: 'ellipsis-stroke',\n icon: [512, 512, [\"ellipsis-h-alt\"], \"f39b\", \"M416 288a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0-96a64 64 0 1 0 0 128 64 64 0 1 0 0-128zM256 288a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0-96a64 64 0 1 0 0 128 64 64 0 1 0 0-128zM128 256a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm-96 0a64 64 0 1 0 128 0A64 64 0 1 0 32 256z\"]\n};\nvar faEllipsisHAlt = faEllipsisStroke;\nvar faRadio = {\n prefix: 'fal',\n iconName: 'radio',\n icon: [512, 512, [128251], \"f8d7\", \"M500.1 31.5c8.5-2.3 13.6-11 11.3-19.6s-11-13.6-19.6-11.3L59.4 115.9c-31.3 8.4-54.1 34.6-58.6 66C.3 185.2 0 188.5 0 192v1.2V240 448c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V192c0-35.3-28.7-64-64-64H138.1l362-96.5zM32 193.2c0-2.2 .1-4.3 .4-6.4C34.9 171.6 48.1 160 64 160H448c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V240 193.2zM96 240c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H96zM80 304c-8.8 0-16 7.2-16 16s7.2 16 16 16H208c8.8 0 16-7.2 16-16s-7.2-16-16-16H80zm16 64c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H96zm256 16a64 64 0 1 1 0-128 64 64 0 1 1 0 128zm-96-64a96 96 0 1 0 192 0 96 96 0 1 0 -192 0z\"]\n};\nvar faBabyCarriage = {\n prefix: 'fal',\n iconName: 'baby-carriage',\n icon: [512, 512, [\"carriage-baby\"], \"f77d\", \"M.7 224c-.2-2.9-.4-5.7-.5-8.6C0 212.9 0 210.5 0 208V192H.1C2.7 117.9 41.3 52.9 99 14.1c13.3-8.9 30.8-4.3 39.9 8.8L256 192h8v0H416V144c0-26.5 21.5-48 48-48h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H464c-8.8 0-16 7.2-16 16v48 16 8h-.2c-.1 2.7-.3 5.3-.5 8c-1.8 22.2-7.5 44-16.8 64.5c-11.5 25.4-28.2 48.3-49.2 67.5c-20.9 19.2-45.6 34.2-72.6 44.5S253 416 224 416s-57.9-5.2-84.8-15.5s-51.6-25.3-72.6-44.5C45.7 336.9 28.9 314 17.5 288.5C8.2 268 2.5 246.2 .7 224zm216.4-32L113.7 42.8C66.3 76.2 34.7 130.4 32.2 192H217.1zM32.8 224c1.8 17.6 6.4 34.9 13.8 51.4c9.6 21.4 23.8 40.8 41.6 57.1s39 29.3 62.3 38.2s48.3 13.4 73.5 13.4s50.2-4.6 73.5-13.4s44.5-21.8 62.3-38.2s32-35.7 41.6-57.1c7.4-16.4 12.1-33.7 13.8-51.4H256c-.1 0-.1 0-.2 0H32.8zM80 480a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm0-64a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm304 48a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-64 0a48 48 0 1 1 96 0 48 48 0 1 1 -96 0z\"]\n};\nvar faCarriageBaby = faBabyCarriage;\nvar faFaceExpressionless = {\n prefix: 'fal',\n iconName: 'face-expressionless',\n icon: [512, 512, [], \"e373\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm160 80H352c8.8 0 16 7.2 16 16s-7.2 16-16 16H160c-8.8 0-16-7.2-16-16s7.2-16 16-16zM128 208c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16zm176-16h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H304c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faDownToDottedLine = {\n prefix: 'fal',\n iconName: 'down-to-dotted-line',\n icon: [448, 512, [], \"e408\", \"M222.2 351.2c.5 .5 1.1 .8 1.8 .8s1.4-.3 1.8-.8L350.2 219.3c1.2-1.2 1.8-2.9 1.8-4.6c0-3.7-3-6.7-6.7-6.7L288 208c-8.8 0-16-7.2-16-16l0-120c0-4.4-3.6-8-8-8l-80 0c-4.4 0-8 3.6-8 8l0 120c0 8.8-7.2 16-16 16l-57.3 0c-3.7 0-6.7 3-6.7 6.7c0 1.7 .7 3.3 1.8 4.6L222.2 351.2zM224 384c-9.5 0-18.6-3.9-25.1-10.8L74.5 241.2C67.8 234 64 224.5 64 214.7c0-21.4 17.3-38.7 38.7-38.7l41.3 0 0-104c0-22.1 17.9-40 40-40l80 0c22.1 0 40 17.9 40 40l0 104 41.3 0c21.4 0 38.7 17.3 38.7 38.7c0 9.9-3.8 19.3-10.5 26.5L249.1 373.2c-6.5 6.9-15.6 10.8-25.1 10.8zm192 44a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM32 428a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm312 24a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zM224 428a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm-72 24a24 24 0 1 1 -48 0 24 24 0 1 1 48 0z\"]\n};\nvar faCloudMusic = {\n prefix: 'fal',\n iconName: 'cloud-music',\n icon: [640, 512, [], \"f8ae\", \"M389.8 125.2C363.7 88.1 320.7 64 272 64c-77.4 0-140.5 61-143.9 137.5c-.6 13-9 24.4-21.3 28.8C63.2 245.7 32 287.2 32 336c0 61.9 50.1 112 112 112H512c53 0 96-43 96-96c0-36.8-20.7-68.8-51.2-84.9c-13.4-7.1-20-22.5-15.8-37.1c2-6.9 3-14.3 3-22c0-44.2-35.8-80-80-80c-12.3 0-23.9 2.8-34.3 7.7c-14.1 6.7-30.9 2.3-39.9-10.5zM272 32c59.5 0 112.1 29.5 144 74.8C430.5 99.9 446.8 96 464 96c61.9 0 112 50.1 112 112c0 10.7-1.5 21-4.3 30.8C612.3 260.2 640 302.9 640 352c0 70.7-57.3 128-128 128H144C64.5 480 0 415.5 0 336c0-62.8 40.2-116.1 96.2-135.9C100.3 106.6 177.4 32 272 32zM409.1 186.8c4.3 3 6.9 7.9 6.9 13.2V328c0 .5 0 1-.1 1.5c0 .8 .1 1.6 .1 2.5c0 24.3-21.5 44-48 44s-48-19.7-48-44s21.5-44 48-44c5.6 0 11 .9 16 2.5V223.1l-96 36V360c0 .5 0 1-.1 1.5c0 .8 .1 1.6 .1 2.5c0 24.3-21.5 44-48 44s-48-19.7-48-44s21.5-44 48-44c5.6 0 11 .9 16 2.5V248c0-6.7 4.1-12.6 10.4-15l128-48c4.9-1.8 10.4-1.2 14.7 1.8zM384 332c0-4.1-4.5-12-16-12s-16 7.9-16 12s4.5 12 16 12s16-7.9 16-12zM256 364c0-4.1-4.5-12-16-12s-16 7.9-16 12s4.5 12 16 12s16-7.9 16-12z\"]\n};\nvar faTrafficLight = {\n prefix: 'fal',\n iconName: 'traffic-light',\n icon: [320, 512, [128678], \"f637\", \"M64 32C46.3 32 32 46.3 32 64V352c0 70.7 57.3 128 128 128s128-57.3 128-128V64c0-17.7-14.3-32-32-32H64zM0 64C0 28.7 28.7 0 64 0H256c35.3 0 64 28.7 64 64V352c0 88.4-71.6 160-160 160S0 440.4 0 352V64zM136 392a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zm80 0a56 56 0 1 1 -112 0 56 56 0 1 1 112 0zM160 232a24 24 0 1 0 0 48 24 24 0 1 0 0-48zm0 80a56 56 0 1 1 0-112 56 56 0 1 1 0 112zM136 120a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zm80 0a56 56 0 1 1 -112 0 56 56 0 1 1 112 0z\"]\n};\nvar faCloudMinus = {\n prefix: 'fal',\n iconName: 'cloud-minus',\n icon: [640, 512, [], \"e35d\", \"M389.8 125.2C363.7 88.1 320.7 64 272 64c-77.4 0-140.5 61-143.9 137.5c-.6 13-9 24.4-21.3 28.8C63.2 245.7 32 287.2 32 336c0 61.9 50.1 112 112 112H512c53 0 96-43 96-96c0-36.8-20.7-68.8-51.2-84.9c-13.4-7.1-20-22.5-15.8-37.1c2-6.9 3-14.3 3-22c0-44.2-35.8-80-80-80c-12.3 0-23.9 2.8-34.3 7.7c-14.1 6.7-30.9 2.3-39.9-10.5zM272 32c59.5 0 112.1 29.5 144 74.8C430.5 99.9 446.8 96 464 96c61.9 0 112 50.1 112 112c0 10.7-1.5 21-4.3 30.8C612.3 260.2 640 302.9 640 352c0 70.7-57.3 128-128 128H144C64.5 480 0 415.5 0 336c0-62.8 40.2-116.1 96.2-135.9C100.3 106.6 177.4 32 272 32zM224 272H416c8.8 0 16 7.2 16 16s-7.2 16-16 16H224c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faThermometer = {\n prefix: 'fal',\n iconName: 'thermometer',\n icon: [512, 512, [], \"f491\", \"M352.8 53.8L310.6 96l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L288 118.6 246.6 160l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L224 182.6 182.6 224l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L160 246.6l-22.6 22.6c-6 6-9.4 14.1-9.4 22.6V384h92.1c8.5 0 16.6-3.4 22.6-9.4L458.2 159.2c14-14 21.8-32.9 21.8-52.7C480 65.4 446.6 32 405.5 32c-19.8 0-38.7 7.8-52.7 21.8zM276.7 84.7l53.5-53.5c20-20 47.1-31.2 75.3-31.2C464.3 0 512 47.7 512 106.5c0 28.2-11.2 55.3-31.2 75.3L265.4 397.3c-12 12-28.3 18.7-45.3 18.7H118.6L27.3 507.3c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L96 393.4V291.9c0-17 6.7-33.3 18.7-45.3l33.9-33.9 64-64 64-64s0 0 0 0s0 0 0 0z\"]\n};\nvar faShieldMinus = {\n prefix: 'fal',\n iconName: 'shield-minus',\n icon: [512, 512, [], \"e249\", \"M243.5 37.3c8-3.4 17-3.4 25 0l176.7 75c11.3 4.8 18.9 15.5 18.8 27.6c-.5 94-39.4 259.8-195.5 334.5c-7.9 3.8-17.2 3.8-25.1 0C87.3 399.6 48.5 233.8 48 139.8c-.1-12.1 7.5-22.8 18.8-27.6l176.7-75zM281 7.8c-16-6.8-34-6.8-50 0L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.7 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2L281 7.8zM160 240c-8.8 0-16 7.2-16 16s7.2 16 16 16H352c8.8 0 16-7.2 16-16s-7.2-16-16-16H160z\"]\n};\nvar faVrCardboard = {\n prefix: 'fal',\n iconName: 'vr-cardboard',\n icon: [640, 512, [], \"f729\", \"M576 96H64c-17.7 0-32 14.3-32 32V384c0 17.7 14.3 32 32 32H200.4c12.1 0 23.2-6.8 28.6-17.7L268.2 320c9.8-19.6 29.9-32 51.8-32s42 12.4 51.8 32l-21.5 10.7L371.8 320l39.2 78.3c5.4 10.8 16.5 17.7 28.6 17.7H576c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32zM64 64H576c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H439.6c-24.2 0-46.4-13.7-57.2-35.4l-39.2-78.3c-4.4-8.8-13.4-14.3-23.2-14.3s-18.8 5.5-23.2 14.3l-39.2 78.3c-10.8 21.7-33 35.4-57.2 35.4H64c-35.3 0-64-28.7-64-64V128C0 92.7 28.7 64 64 64zM176 288a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm0-128a80 80 0 1 1 0 160 80 80 0 1 1 0-160zm336 80a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm-128 0a80 80 0 1 1 160 0 80 80 0 1 1 -160 0z\"]\n};\nvar faCarTilt = {\n prefix: 'fal',\n iconName: 'car-tilt',\n icon: [640, 512, [], \"f5e5\", \"M131.7 88.2L304.3 41.9c20.5-5.5 42.1 3.1 53.3 21.1l48.2 78c-4.6 .5-9.3 1.4-14 2.7L106.9 220c-4.7 1.2-9.1 2.8-13.4 4.7l2.7-91.6c.6-21.2 15.1-39.5 35.6-44.9zM60.9 243.3l-.1 4.8C39.5 271.5 30.2 304.8 39 337.6l22 82.1L65.3 436l0 0 11.8 44L16 480c-8.8 0-16 7.2-16 16s7.2 16 16 16l608 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-515.4 0-10-37.2 1.5-.4L508.7 332.9l1.5-.4L522 376.6c2.2 8.1 10.5 12.9 18.6 10.8s12.9-10.5 10.8-18.6l-11.8-44.1-8.3-30.9-22-82.1c-8.8-32.8-33.5-57-63.6-66.6l-2.5-4L384.8 46.2C366.2 16.2 330.1 1.9 296 11L123.4 57.2c-34.1 9.1-58.2 39.6-59.3 74.9L60.9 243.3zm54.3 7.6L400 174.6c34.1-9.1 69.2 11.1 78.4 45.3l22 82.1L91.9 411.5l-22-82.1c-9.1-34.1 11.1-69.2 45.3-78.4zm42.2 58a22.8 22.8 0 1 0 -44.1 11.8 22.8 22.8 0 1 0 44.1-11.8zM420.4 262a22.8 22.8 0 1 0 -11.8-44.1A22.8 22.8 0 1 0 420.4 262z\"]\n};\nvar faGaugeCircleMinus = {\n prefix: 'fal',\n iconName: 'gauge-circle-minus',\n icon: [640, 512, [], \"e497\", \"M256 480c32.2 0 62.8-6.8 90.5-19c5.8 9.3 12.5 18 19.8 26.1C333 503 295.5 512 256 512C114.6 512 0 397.4 0 256S114.6 0 256 0C375.4 0 475.6 81.7 504 192.2c-2.6-.1-5.3-.2-8-.2c-8.4 0-16.7 .6-24.8 1.7C444.3 100.3 358.1 32 256 32C132.3 32 32 132.3 32 256s100.3 224 224 224zm0-96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0 32c-35.3 0-64-28.7-64-64c0-29.8 20.4-54.9 48-62l0-194c0-8.8 7.2-16 16-16s16 7.2 16 16l0 194c27.6 7.1 48 32.2 48 62c0 35.3-28.7 64-64 64zM144 120a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM72 256a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM344 144a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM496 480a112 112 0 1 0 0-224 112 112 0 1 0 0 224zm0-256a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm80 144c0 8.8-7.2 16-16 16l-128 0c-8.8 0-16-7.2-16-16s7.2-16 16-16H560c8.8 0 16 7.2 16 16z\"]\n};\nvar faBrightnessLow = {\n prefix: 'fal',\n iconName: 'brightness-low',\n icon: [512, 512, [], \"e0ca\", \"M280 80a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM256 192a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm0 160a96 96 0 1 0 0-192 96 96 0 1 0 0 192zm0 104a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM432 280a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM56 256a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zm96-128a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM408 384a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm0-256a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM104 384a24 24 0 1 0 48 0 24 24 0 1 0 -48 0z\"]\n};\nvar faHandMiddleFinger = {\n prefix: 'fal',\n iconName: 'hand-middle-finger',\n icon: [448, 512, [128405], \"f806\", \"M224 56c0-13.3 10.7-24 24-24s24 10.7 24 24V226.7c0 5.2 2.5 10.1 6.8 13.1s9.7 3.8 14.6 2c3.3-1.2 6.9-1.8 10.7-1.8c14.7 0 27.2 10 30.9 23.6c1.2 4.4 4.2 8.1 8.3 10.1s8.8 2.2 13.1 .6c3.6-1.4 7.6-2.2 11.8-2.2c17.7 0 32 14.3 32 32v88 8c0 44.2-35.8 80-80 80H184.3c-18.5 0-36.8-4.6-53.1-13.4l-7.6 14.1 7.6-14.1-8.3-4.5C86.6 442.6 64 404.7 64 363.5V344c0-15.1 7.1-29.3 19.2-38.4l22.5-16.9c2-1.5 4.1-3 6.3-4.4V344c0 8.8 7.2 16 16 16s16-7.2 16-16V264c0-.9-.1-1.9-.2-2.8c.2-.9 .2-1.8 .2-2.8V256c0-17.7 14.3-32 32-32c8.2 0 15.7 3.1 21.3 8.1c4.7 4.2 11.4 5.3 17.2 2.7s9.5-8.3 9.5-14.6V56zM248 0c-30.9 0-56 25.1-56 56V194c-5.1-1.3-10.5-2-16-2c-32.5 0-59.3 24.2-63.4 55.6c-9.1 4.2-17.8 9.4-26 15.5L64 280c-20.1 15.1-32 38.8-32 64v19.5c0 53 29.1 101.7 75.7 126.8l8.3 4.5c21 11.3 44.4 17.2 68.3 17.2H320c61.9 0 112-50.1 112-112v-8V304c0-35.3-28.7-64-64-64c-2.8 0-5.6 .2-8.3 .5c-11-19.4-31.8-32.5-55.7-32.5V56c0-30.9-25.1-56-56-56z\"]\n};\nvar faPercent = {\n prefix: 'fal',\n iconName: 'percent',\n icon: [384, 512, [62101, 62785, \"percentage\"], \"25\", \"M64 96a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 96A64 64 0 1 0 64 64a64 64 0 1 0 0 128zM320 352a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 96a64 64 0 1 0 0-128 64 64 0 1 0 0 128zM379.3 91.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-352 352c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l352-352z\"]\n};\nvar faPercentage = faPercent;\nvar faTruckMoving = {\n prefix: 'fal',\n iconName: 'truck-moving',\n icon: [640, 512, [], \"f4df\", \"M72 64c-22.1 0-40 17.9-40 40V304v32c13.4-10 30-16 48-16c26.2 0 49.4 12.6 64 32c14.6-19.4 37.8-32 64-32c32.8 0 61 19.7 73.3 48H448V256 224 104c0-22.1-17.9-40-40-40H72zM480 336c13.4-10 30-16 48-16c32.8 0 60.9 19.7 73.3 47.9c3.8-.6 6.7-3.9 6.7-7.9V304 256H480v80zm0-176v64H592l-43.2-57.6c-3-4-7.8-6.4-12.8-6.4H480zm160 90.7V256v48 56c0 19.4-13.7 35.5-32 39.2l0 .8c0 44.2-35.8 80-80 80s-80-35.8-80-80H288c0 44.2-35.8 80-80 80c-26.2 0-49.4-12.6-64-32c-14.6 19.4-37.8 32-64 32c-44.2 0-80-35.8-80-80V368 304 104C0 64.2 32.2 32 72 32H408c39.8 0 72 32.2 72 72v24h56c15.1 0 29.3 7.1 38.4 19.2l56 74.7c6.2 8.3 9.6 18.4 9.6 28.8zM528 448a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM256 400a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM80 448a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faGlassWaterDroplet = {\n prefix: 'fal',\n iconName: 'glass-water-droplet',\n icon: [384, 512, [], \"e4f5\", \"M32.1 40.7c-.4-4.7 3.3-8.7 8-8.7H343.8c4.7 0 8.4 4 8 8.7L329.5 305.4l-23.9 12c-19.2 9.6-42.3 7.2-59.1-6.3c-31.8-25.5-77.1-25.5-108.9 0c-16.8 13.4-39.9 15.9-59.1 6.3l-24-12L32.1 40.7zm25.4 302l6.6 3.3c30.4 15.2 66.9 11.3 93.4-9.9c20.1-16.1 48.8-16.1 68.9 0c26.5 21.2 63 25.1 93.4 9.9l6.5-3.2-9.1 108C315.8 467.3 302 480 285.4 480H98.6c-16.6 0-30.5-12.7-31.9-29.3l-9.1-108zM40.1 0C16.7 0-1.7 20 .2 43.4l34.6 410C37.6 486.5 65.3 512 98.6 512H285.4c33.3 0 61-25.5 63.8-58.6l34.6-410C385.6 20 367.2 0 343.8 0H40.1zM192 216c-19.6 0-32-14.5-32-28c0 .1 0 .1 0-.1l0 0c.1-.6 .6-3.3 2.9-8.8c2.6-6.1 6.5-13.4 11.4-21.3c5.4-8.8 11.6-17.8 17.6-26c6 8.2 12.1 17.1 17.6 26c4.9 8 8.8 15.2 11.4 21.3c2.3 5.5 2.8 8.2 2.9 8.8l0 0c0 .1 0 .2 0 .1c0 13.5-12.4 28-32 28zm0 32c35.3 0 64-26.9 64-60c0-24-33.7-70.1-52.2-93.5c-6.1-7.7-17.5-7.7-23.6 0C161.7 117.9 128 164 128 188c0 33.1 28.7 60 64 60z\"]\n};\nvar faConveyorBelt = {\n prefix: 'fal',\n iconName: 'conveyor-belt',\n icon: [640, 512, [], \"f46e\", \"M464 32c8.8 0 16 7.2 16 16V240c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V48c0-8.8 7.2-16 16-16h64V144c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L320 116l54.4 40.8c4.8 3.6 11.3 4.2 16.8 1.5s8.8-8.3 8.8-14.3V32h64zM272 32h96v80L329.6 83.2c-5.7-4.3-13.5-4.3-19.2 0L272 112V32zM176 0c-26.5 0-48 21.5-48 48V240c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H176zM608 416c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64s28.7-64 64-64H544c35.3 0 64 28.7 64 64zM96 320c-53 0-96 43-96 96s43 96 96 96H544c53 0 96-43 96-96s-43-96-96-96H96zm56 96a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm168 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm216-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faLocationCheck = {\n prefix: 'fal',\n iconName: 'location-check',\n icon: [384, 512, [\"map-marker-check\"], \"f606\", \"M352 192c0-88.4-71.6-160-160-160S32 103.6 32 192c0 15.6 5.4 37 16.6 63.4c10.9 25.9 26.2 54 43.6 82.1c34.1 55.3 74.4 108.2 99.9 140c25.4-31.8 65.8-84.7 99.9-140c17.3-28.1 32.7-56.3 43.6-82.1C346.6 229 352 207.6 352 192zm32 0c0 87.4-117 243-168.3 307.2c-12.3 15.3-35.1 15.3-47.4 0C117 435 0 279.4 0 192C0 86 86 0 192 0S384 86 384 192zM283.3 150L176.6 256.6c-6.2 6.2-16.4 6.2-22.6 0l-53.3-53.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l42 42 95.4-95.4c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faMapMarkerCheck = faLocationCheck;\nvar faCoinVertical = {\n prefix: 'fal',\n iconName: 'coin-vertical',\n icon: [384, 512, [], \"e3fd\", \"M256 256c0-66.2-15.2-124.6-38.1-165.3C194.5 49 167.1 32 144 32s-50.5 17-73.9 58.7C47.2 131.4 32 189.8 32 256s15.2 124.6 38.1 165.3C93.5 463 120.9 480 144 480s50.5-17 73.9-58.7C240.8 380.6 256 322.2 256 256zm24.8 80h64.3c3.6-20 5.8-41.5 6.6-64h-64c-.8 22.2-3.1 43.7-6.9 64zm-7.3 32c-4.7 17.2-10.5 33.2-17.1 48h64.7c6.5-14.2 12.3-30.3 17-48H273.5zM213.8 480H256c12.8 0 29.9-8.5 46.8-32H239.2c-7.8 12.2-16.3 23-25.5 32zm74-240h64c-.7-22.5-3-44-6.6-64H280.8c3.8 20.3 6.1 41.8 6.9 64zm-74-208c9.2 9 17.7 19.8 25.5 32h63.6c-16.9-23.5-34-32-46.8-32H213.8zm59.8 112h64.6c-4.7-17.7-10.5-33.8-17-48H256.4c6.7 14.8 12.4 30.8 17.1 48zM144 512C64.5 512 0 397.4 0 256S64.5 0 144 0h32 80c70.7 0 128 114.6 128 256s-57.3 256-128 256H176 144zM88 256c0 47.1 7.4 89.1 18.8 118.7c5.7 14.8 12.2 25.8 18.5 32.7c6.3 6.9 11.3 8.6 14.7 8.6s8.3-1.7 14.7-8.6c6.3-6.9 12.8-17.8 18.5-32.7C184.6 345.1 192 303.1 192 256s-7.4-89.1-18.8-118.7c-5.7-14.8-12.2-25.8-18.5-32.7C148.3 97.7 143.4 96 140 96s-8.3 1.7-14.7 8.6c-6.3 6.9-12.8 17.8-18.5 32.7C95.4 166.9 88 208.9 88 256zM140 64c15.4 0 28.3 8.2 38.3 19c9.9 10.9 18.2 25.7 24.7 42.7c13.2 34.1 21 80.2 21 130.2s-7.8 96.1-21 130.2c-6.6 17-14.8 31.9-24.7 42.7c-9.9 10.9-22.9 19-38.3 19s-28.3-8.2-38.3-19c-9.9-10.9-18.2-25.7-24.7-42.7C63.8 352.1 56 306.1 56 256s7.8-96.1 21-130.2c6.6-17 14.8-31.9 24.7-42.7c9.9-10.9 22.9-19 38.3-19z\"]\n};\nvar faDisplay = {\n prefix: 'fal',\n iconName: 'display',\n icon: [576, 512, [], \"e163\", \"M64 32C46.3 32 32 46.3 32 64V352c0 17.7 14.3 32 32 32H231.7c.2 0 .4 0 .6 0H343.7c.2 0 .4 0 .6 0H512c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H64zM213.1 416H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H512c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H362.9l10.7 64H432c8.8 0 16 7.2 16 16s-7.2 16-16 16H360 216 144c-8.8 0-16-7.2-16-16s7.2-16 16-16h58.4l10.7-64zm32.4 0l-10.7 64H341.1l-10.7-64H245.6z\"]\n};\nvar faPersonSign = {\n prefix: 'fal',\n iconName: 'person-sign',\n icon: [512, 512, [], \"f757\", \"M421.5 1c8.3 3.1 12.5 12.3 9.5 20.5l-7.3 19.8 70.3 25.6c12.5 4.5 18.9 18.3 14.3 30.8L470.1 202.9c-4.5 12.5-18.3 18.9-30.8 14.3l-70.9-25.8L319 325.5c-3.1 8.3-12.3 12.5-20.5 9.5s-12.5-12.3-9.5-20.5l20.5-55.8-33.9-11.3c-18.9-6.3-35.8-17.5-48.9-32.5L208 193.4V331.6l41.2 68.6c4.5 7.5 6.8 16 6.8 24.7V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V424.9c0-2.9-.8-5.7-2.3-8.2L182.9 352H112V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V336 211.8L30.3 311.2c-4 7.9-13.6 11.1-21.5 7.2s-11.1-13.6-7.2-21.5L56 188.2C69.6 161.1 97.3 144 127.6 144H171c23.1 0 45 10 60.2 27.3l19.7 22.5c9.4 10.7 21.4 18.7 34.9 23.2l34.8 11.6 17.7-48.2-64.4-23.4c-12.5-4.5-18.9-18.3-14.3-30.8L297.9 21.1c4.5-12.5 18.3-18.9 30.8-14.3l65 23.7L401 10.5C404 2.2 413.2-2.1 421.5 1zM112 178.6V320h64V176.3c-1.7-.2-3.3-.3-5-.3H127.6c-5.4 0-10.6 .9-15.6 2.6zM144 80a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-80a56 56 0 1 1 0 112A56 56 0 1 1 144 0zM325.2 39.5l-32.8 90.2 150.4 54.7 32.8-90.2L325.2 39.5z\"]\n};\nvar faFaceSmile = {\n prefix: 'fal',\n iconName: 'face-smile',\n icon: [512, 512, [128578, \"smile\"], \"f118\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm164.1 69.5C182 346.2 212.6 368 256 368s74-21.8 91.9-42.5c5.8-6.7 15.9-7.4 22.6-1.6s7.4 15.9 1.6 22.6C349.8 372.1 311.1 400 256 400s-93.8-27.9-116.1-53.5c-5.8-6.7-5.1-16.8 1.6-22.6s16.8-5.1 22.6 1.6zM152.4 208a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm184-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faSmile = faFaceSmile;\nvar faPhoneHangup = {\n prefix: 'fal',\n iconName: 'phone-hangup',\n icon: [640, 512, [], \"e225\", \"M320 128C185.6 128 85.9 196.7 38.8 245c-7.2 7.4-8.9 19.3-3.5 30.5l38.3 78.6c3.3 6.7 10.7 10.3 18 8.6l88-20.5c7.2-1.7 12.4-8.1 12.4-15.6V240c0-7.1 4.7-13.4 11.6-15.4l32.9-9.4c54.6-15.6 112.4-15.6 167 0l32.9 9.4c6.9 2 11.6 8.2 11.6 15.4v86.6c0 7.4 5.1 13.9 12.4 15.6l88 20.5c7.3 1.7 14.7-1.9 18-8.6l38.3-78.6c5.5-11.2 3.7-23.2-3.5-30.5C554.1 196.7 454.4 128 320 128zM15.9 222.6C67.2 170.1 174.6 96 320 96s252.8 74.1 304.1 126.6c18.1 18.5 19.8 45.6 9.3 66.9l-38.3 78.6c-9.8 20.1-32.2 30.8-54 25.7l-88-20.5c-21.7-5.1-37.1-24.4-37.1-46.8V252.1L394.7 246c-48.8-14-100.6-14-149.4 0L224 252.1v74.5c0 22.3-15.4 41.7-37.1 46.8l-88 20.5c-21.8 5.1-44.2-5.6-54-25.7L6.5 289.5c-10.4-21.3-8.7-48.4 9.3-66.9z\"]\n};\nvar faSignatureSlash = {\n prefix: 'fal',\n iconName: 'signature-slash',\n icon: [640, 512, [], \"e3cb\", \"M25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4zM378.8 384H336c-8.8 0-16 7.2-16 16s7.2 16 16 16h83.4l-40.5-32zm85-96l40.5 32H560c8.8 0 16-7.2 16-16s-7.2-16-16-16H463.8zm162 127.9c8-.9 14.2-7.7 14.2-15.9c0-8.8-7.2-16-16-16H585.4l40.4 31.9zM478.3 183.2c2.8-5.6 2.1-12.4-1.9-17.3s-10.5-7-16.6-5.3l-117 31.9L374 217.1l59.7-16.3L411 246.3l25.7 20.3 41.7-83.4zM320 131.4V128c0-53-43-96-96-96c-22.2 0-42.6 7.5-58.9 20.2l26.3 20.7c9.6-5.7 20.7-8.9 32.6-8.9c35.3 0 64 28.7 64 64v3.4c0 5.8-.1 11.7-.4 17.5L318.1 173c1.3-13.8 1.9-27.7 1.9-41.6zM155 243.7c-34.8 9.5-59 41.1-59 77.2v92.6c0 36.7 29.8 66.5 66.5 66.5c24 0 46.2-13 57.9-33.9L247.5 398c15.6-27.7 28.7-56.8 39-86.9L259.8 290c-10.2 32-23.7 63-40.2 92.3l-27.1 48.1c-6.1 10.9-17.6 17.6-30.1 17.6c-19 0-34.5-15.4-34.5-34.5V320.9c0-21.6 14.5-40.6 35.4-46.3L220.5 259l-31.2-24.7L155 243.7zM16 384c-8.8 0-16 7.2-16 16s7.2 16 16 16H48c8.8 0 16-7.2 16-16s-7.2-16-16-16H16z\"]\n};\nvar faThumbtack = {\n prefix: 'fal',\n iconName: 'thumbtack',\n icon: [384, 512, [128204, 128392, \"thumb-tack\"], \"f08d\", \"M119.9 34.5L107.8 191.4c-.7 9.7-5.9 18.6-13.9 24c-27 18.3-47.3 46.2-55.6 79.6L32 320l144 0V224c0-8.8 7.2-16 16-16s16 7.2 16 16v96l144 0-6.2-25c-8.3-33.4-28.6-61.3-55.6-79.6c-8.1-5.5-13.2-14.3-13.9-24L264.1 34.5c-.1-.8-.1-1.6-.1-2.5H120c0 .8 0 1.6-.1 2.5zM176 352H32c-9.9 0-19.2-4.5-25.2-12.3S-1.4 321.8 1 312.2l6.2-25c10.3-41.3 35.4-75.7 68.7-98.3L85.5 64 88 32H64c-2.9 0-5.6-.8-7.9-2.1C51.2 27.1 48 21.9 48 16C48 7.2 55.2 0 64 0H88 296h24c8.8 0 16 7.2 16 16c0 5.9-3.2 11.1-8.1 13.9c-2.3 1.3-5 2.1-7.9 2.1H296l2.5 32 9.6 124.9c33.3 22.6 58.4 57.1 68.7 98.3l6.2 25c2.4 9.6 .2 19.7-5.8 27.5s-15.4 12.3-25.2 12.3H208V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V352z\"]\n};\nvar faThumbTack = faThumbtack;\nvar faWheatSlash = {\n prefix: 'fal',\n iconName: 'wheat-slash',\n icon: [640, 512, [], \"e339\", \"M25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4zM523.5 278.5l33.9-33.9c6.2-6.2 6.2-16.4 0-22.6l-22.6-22.6c-18-18-40-29.5-63.2-34.6l16.9-.8c45.1-2.3 81.2-38.4 83.5-83.5l2.7-54c.7-14.2-11-25.9-25.2-25.2L495.5 4C450.4 6.3 414.3 42.4 412 87.5l-.9 17.7c-4.9-23.5-16.5-46-34.8-64.2L353.8 18.4c-6.2-6.2-16.4-6.2-22.6 0L297.2 52.3C278.5 71 269.2 95.5 269.1 120l40.4 31.9c-13.9-24.4-10.5-56.1 10.4-76.9l22.6-22.6 11.3 11.3c35.1 35.1 37.3 90.7 6.6 128.4l26.5 20.9c37.6-28.1 91.1-25.1 125.3 9.1l11.3 11.3-22.6 22.6c-10.3 10.3-23.2 16.3-36.5 18.2l30.6 24.2c10.3-4.6 20-11.2 28.5-19.7zM286.9 311.4l-25.3-20-29 29c1.3-20.6-2.4-41.5-11-60.6l-73.7-58.2-31.6 31.6c-37.5 37.5-37.5 98.3 0 135.8L150.2 403 68.7 484.5c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l81.5-81.5 0 0 33.9 33.9c37.5 37.5 98.3 37.5 135.8 0l33.9-33.9c6.2-6.2 6.2-16.4 0-22.6l-22.6-22.6c-27-27-63.2-39.4-98.6-37.2l31.7-31.7zM542.3 33.7L540 78.9c-1.4 28.7-24.4 51.7-53.1 53.1l-45.2 2.3L444 89.1c1.4-28.7 24.4-51.7 53.1-53.1l45.2-2.3zM172.8 380.3l-33.9-33.9c-25-25-25-65.5 0-90.5l22.6-22.6 11.3 11.3c37.2 37.2 37.5 97.4 .8 135l-.8 .8zm147.1 56.5c-25 25-65.5 25-90.5 0L195.5 403c37.5-37.5 98.2-37.5 135.7 0l11.3 11.3-22.6 22.6z\"]\n};\nvar faTrophy = {\n prefix: 'fal',\n iconName: 'trophy',\n icon: [576, 512, [127942], \"f091\", \"M176 32H400c9 0 15.4 7.3 15.1 15c-6.2 163.9-44.9 239.2-76.1 273.5c-15.5 17.1-29.9 24.8-39.3 28.3c-4.8 1.8-8.5 2.6-10.6 3c-.5 .1-.9 .1-1.2 .2c-.3 0-.7-.1-1.2-.2c-2.1-.3-5.8-1.1-10.6-3c-9.4-3.5-23.8-11.3-39.3-28.3C205.8 286.2 167.1 210.9 160.9 47c-.3-7.8 6.2-15 15.1-15zM400 0H176c-26.5 0-48.1 21.8-47.1 48.2c.2 5.3 .4 10.6 .7 15.8H48C22 64-1.3 85.6 1.8 113.7c10.1 94 61.9 158.2 118.1 199.9c55.9 41.4 117.1 61.3 149.3 66.9l.1-.3c.9 .3 1.8 .6 2.7 .8V480H176c-8.8 0-16 7.2-16 16s7.2 16 16 16H288 400c8.8 0 16-7.2 16-16s-7.2-16-16-16H304V381.1c.9-.3 1.8-.5 2.7-.8l.1 .3c32.2-5.7 93.4-25.5 149.3-66.9c56.2-41.7 108-105.9 118.1-199.9C577.3 85.6 554 64 528 64H446.4c.3-5.2 .5-10.4 .7-15.8C448.1 21.8 426.5 0 400 0zm44.2 96H528c9.3 0 15.2 7.3 14.4 14.3c-8.9 82.9-54.3 139.8-105.4 177.6c-19.6 14.6-40 26.2-59.2 35.3C407 281.9 434.5 212.5 444.2 96zm-246 227.2c-19.2-9.1-39.6-20.7-59.2-35.3C87.9 250.1 42.5 193.2 33.6 110.3C32.8 103.3 38.7 96 48 96h83.8c9.8 116.5 37.2 185.9 66.4 227.2z\"]\n};\nvar faCloudsSun = {\n prefix: 'fal',\n iconName: 'clouds-sun',\n icon: [640, 512, [], \"f746\", \"M303.8 13.4c-.9-5.4-4.5-10-9.6-12.1s-10.9-1.5-15.4 1.6L208 52.5 137.2 2.9c-4.5-3.2-10.3-3.8-15.4-1.6s-8.7 6.7-9.6 12.1L98.1 98.1 13.4 112.2c-5.4 .9-10 4.5-12.1 9.6s-1.5 10.9 1.6 15.4L52.5 208 2.9 278.8c-3.2 4.5-3.8 10.3-1.6 15.4s6.7 8.7 12.1 9.6l84.7 14.1 14.1 84.7c.9 5.4 4.5 10 9.6 12.1s10.9 1.5 15.4-1.6l24.4-17c3.2-20.2 11-38.9 22.5-54.8l-44.4 31.1-11.8-71c-1.1-6.7-6.4-12-13.2-13.2l-71-11.8 41.4-59.2c3.9-5.5 3.9-12.8 0-18.4L43.7 139.6l71-11.8c6.7-1.1 12-6.4 13.2-13.2l11.8-71 59.2 41.4c5.5 3.9 12.8 3.9 18.4 0l59.2-41.4 11.8 71c1.1 6.7 6.4 12 13.2 13.2l10.4 1.7c9.9-11.5 22.5-20.6 36.8-26.3l-30.7-5.1L303.8 13.4zM291.6 217.2c-2.1-7.9-3.3-16.3-3.3-24.9c0-5.7 .5-11.3 1.5-16.7C276.9 143 245.2 120 208 120c-48.6 0-88 39.4-88 88s39.4 88 88 88c12.8 0 24.9-2.7 35.9-7.6c7.3-28.9 24.5-53.9 47.7-71.1zM264 208a56 56 0 1 1 -112 0 56 56 0 1 1 112 0zm309.9 47.6c8.2 8 15.2 17.2 20.7 27.4c26.6-10.6 45.4-36.5 45.4-66.9c0-39.8-32.2-72-72-72c-3.2 0-6.4 .2-9.5 .6C551.4 107.9 519 80.1 480 80.1c-34.2 0-63.3 21.4-74.8 51.6c-6.6-2.3-13.8-3.6-21.2-3.6c-35.3 0-64 28.6-64 64c0 3 .2 6 .6 8.9c9.9-3.9 20.4-6.7 31.4-8l0-.5 0-.4c0-17.7 14.3-32 32-32c3.8 0 7.3 .6 10.6 1.8c16.4 5.7 34.3-2.6 40.5-18.8c6.9-18.1 24.4-30.9 44.9-30.9c23.3 0 42.8 16.7 47.1 38.7c3.2 16.6 18.8 27.8 35.6 25.6c1.7-.2 3.5-.3 5.3-.3c22.1 0 40 17.9 40 40c0 20.1-14.8 36.7-34.1 39.5zM304 320c0-35.3 28.7-64 64-64c29.1 0 53.7 19.4 61.4 46c1.7 5.8 6.5 10.2 12.5 11.3s12-1.3 15.7-6.1c8.8-11.7 22.7-19.2 38.4-19.2c26.5 0 48 21.5 48 48c0 8.8-2.3 16.9-6.4 24c-2.9 5-2.9 11.1 0 16s8.1 8 13.9 8l8.3 0 0 0 .2 0c26.5 0 48 21.5 48 48s-21.5 48-48 48c-.6 0-1.2 0-1.8 0l-.3 0-.2 0H290.9c-.2 0-.4 0-.6 0c-.8 0-1.6 0-2.3 0c-35.3 0-64-28.7-64-64s28.7-64 64-64c.4 0 .8 0 1.3 0c4.9 .1 9.5-2 12.6-5.8s4.4-8.7 3.4-13.4c-.8-4.1-1.3-8.4-1.3-12.8zm64-96c-53 0-96 43-96 96l0 1.3c-45.4 7.6-80 47.1-80 94.7c0 53 43 96 96 96c1.1 0 2.1 0 3.2-.1H557.3c.9 0 1.8 0 2.7 0c44.2 0 80-35.8 80-80c0-39.4-28.4-72.1-65.8-78.7c1.2-5.6 1.9-11.3 1.9-17.2c0-44.2-35.8-80-80-80c-17 0-32.8 5.3-45.8 14.4C433.4 242.6 402.9 224 368 224z\"]\n};\nvar faPersonPraying = {\n prefix: 'fal',\n iconName: 'person-praying',\n icon: [448, 512, [128720, \"pray\"], \"f683\", \"M256 64a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm96 0A64 64 0 1 0 224 64a64 64 0 1 0 128 0zM200.5 176h.9c12.4 0 23.7 7.2 29 18.5l3.1 6.7c-.1 .2-.2 .5-.3 .7L157.1 384.6l-26.7-16.8c-13.1-8.2-18.4-24.6-12.7-39l53.1-132.7c4.9-12.1 16.6-20.1 29.7-20.1zm112 306.5l-128-80.6 67.3-161.5 12.4 26.5c9.2 19.7 34.9 24.7 50.8 9.9l95.9-89.1c6.5-6 6.9-16.1 .8-22.6s-16.1-6.9-22.6-.8l-95.9 89.1-33.8-72.4c-10.5-22.5-33.1-36.9-58-36.9h-.9c-26.2 0-49.7 15.9-59.4 40.2L88 316.9c-11.5 28.7-.8 61.5 25.3 77.9L248.6 480H48c-8.8 0-16 7.2-16 16s7.2 16 16 16H304c7.1 0 13.4-4.7 15.4-11.6s-.8-14.2-6.8-18z\"]\n};\nvar faPray = faPersonPraying;\nvar faHammer = {\n prefix: 'fal',\n iconName: 'hammer',\n icon: [576, 512, [128296], \"f6e3\", \"M398.5 206.8c8.6-.1 16.8 3.3 22.9 9.4L472 266.7 514.7 224l-48.3-48.3c-6.5-6.5-9.9-15.4-9.3-24.5c1-17-5.2-34.2-18.5-46.7L394 62.4C373.2 42.9 345.8 32 317.2 32H299.2c-15.7 0-31.2 3.3-45.5 9.7l-17.6 7.8 51.2 27.9C297.6 83 304 93.8 304 105.5v12.1c0 12.6 5 24.7 13.9 33.7l38.1 38.1c11.7 11.7 27.1 17.5 42.4 17.4zm138.8-5.4l3.3 3.3 8-8c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-112 112c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l16-16-3.3-3.3-50.6-50.6c-23.6 .2-47.3-8.7-65.4-26.7l-38.1-38.1C280.4 159 272 138.8 272 117.6V105.5L192.3 62c-5.3-2.9-8.6-8.6-8.3-14.7s3.9-11.5 9.5-14l47.2-21C259.1 4.2 279 0 299.2 0h18.1c36.7 0 72 14 98.7 39.1l44.6 42c20.5 19.3 30.1 45.9 28.5 72l48.3 48.3zM27.4 377.1L260.9 182.6c3.5 4.9 7.5 9.6 11.8 14l9.7 9.7L47.9 401.7c-10.1 8.4-15.9 20.9-15.9 34C32 460.2 51.8 480 76.3 480c13.1 0 25.6-5.8 34-15.9L305.7 229.6l5.1 5.1c6 6 12.4 11.2 19.2 15.7L134.9 484.6c-14.5 17.4-36 27.4-58.6 27.4C34.1 512 0 477.8 0 435.7c0-22.6 10.1-44.1 27.4-58.6z\"]\n};\nvar faFaceVomit = {\n prefix: 'fal',\n iconName: 'face-vomit',\n icon: [576, 512, [], \"e3a0\", \"M288 32C164.3 32 64 132.3 64 256c0 57.4 21.6 109.7 57 149.3c5.9 6.6 5.3 16.7-1.3 22.6s-16.7 5.3-22.6-1.3C56.7 381.4 32 321.6 32 256C32 114.6 146.6 0 288 0S544 114.6 544 256c0 65.6-24.7 125.4-65.2 170.7c-5.9 6.6-16 7.1-22.6 1.3s-7.1-16-1.3-22.6c35.5-39.6 57-91.9 57-149.3C512 132.3 411.7 32 288 32zM161.3 168.8c4-7.9 13.6-11.1 21.5-7.2l64 32c5.4 2.7 8.8 8.3 8.8 14.3s-3.4 11.6-8.8 14.3l-64 32c-7.9 4-17.5 .7-21.5-7.2s-.7-17.5 7.2-21.5L203.9 208l-35.4-17.7c-7.9-4-11.1-13.6-7.2-21.5zm246.2 21.5L372.2 208l35.4 17.7c7.9 4 11.1 13.6 7.2 21.5s-13.6 11.1-21.5 7.2l-64-32c-5.4-2.7-8.8-8.3-8.8-14.3s3.4-11.6 8.8-14.3l64-32c7.9-4 17.5-.7 21.5 7.2s.7 17.5-7.2 21.5zM16 488a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm520-56a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM288 368a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm-16 48a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm92.5-47.6c8.6-1.9 17.2 3.5 19.1 12.1l6.1 27.4c5.2 23.5 20.8 43.4 42.3 54.2l39.1 19.6c6.6 3.3 10.1 10.8 8.4 18s-8.2 12.3-15.6 12.3H112c-7.4 0-13.9-5.1-15.6-12.3s1.8-14.7 8.4-18L144 462.1c21.5-10.8 37.1-30.7 42.3-54.2l6.1-27.4c1.9-8.6 10.5-14.1 19.1-12.1s14.1 10.5 12.1 19.1l-6.1 27.4c-5.8 26.2-20.8 49.2-41.9 65.1H400.4c-21.1-15.9-36.1-38.9-41.9-65.1l-6.1-27.4c-1.9-8.6 3.5-17.2 12.1-19.1zm-189.1 4c-2.4 8.5-11.3 13.4-19.8 11s-13.4-11.3-11-19.8c5.6-19.8 24.1-38.7 48-52.1C217.3 297.6 250 288 288 288s70.7 9.6 95.4 23.5c24 13.5 42.4 32.3 48 52.1c2.4 8.5-2.5 17.3-11 19.8s-17.3-2.5-19.8-11c-2.4-8.3-12.6-21.5-32.9-33C348 328.3 320.7 320 288 320s-60 8.3-79.7 19.4c-20.4 11.5-30.6 24.7-32.9 33z\"]\n};\nvar faSpeakers = {\n prefix: 'fal',\n iconName: 'speakers',\n icon: [640, 512, [], \"f8e0\", \"M256 256.8v63.6C248.5 284 215.3 256 176 256c-44.2 0-80 35.8-80 80s35.8 80 80 80c39.3 0 72.5-28 80-64.4v63.6c-20.7 20.3-49.1 32.8-80 32.8c-61.9 0-112-50.1-112-112s50.1-112 112-112c30.9 0 59.3 12.5 80 32.8zM261.5 480c4.2 11.9 10.7 22.8 19 32H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H280.4c-8.3 9.2-14.8 20.1-19 32H64C46.3 32 32 46.3 32 64V448c0 17.7 14.3 32 32 32H261.5zM176 160a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0-96a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM152 336a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM352 32c-17.7 0-32 14.3-32 32V448c0 17.7 14.3 32 32 32H576c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H352zM288 64c0-35.3 28.7-64 64-64H576c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H352c-35.3 0-64-28.7-64-64V64zm176 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0-96a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm0 352a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm0-192a112 112 0 1 1 0 224 112 112 0 1 1 0-224zM440 336a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faTtyAnswer = {\n prefix: 'fal',\n iconName: 'tty-answer',\n icon: [640, 512, [\"teletype-answer\"], \"e2b9\", \"M329 286.7c11.3-13.8 30.3-18.5 46.7-11.4l112 48c17.6 7.5 27.4 26.5 23.4 45.1l-24 112c-4 18.4-20.3 31.6-39.1 31.6l0 0c-6.1 0-12.2-.1-18.3-.4l-.1 0h0c-4.6-.2-9.1-.4-13.7-.8C183.5 494.5 0 300.7 0 64v0C0 45.1 13.2 28.8 31.6 24.9l112-24c18.7-4 37.6 5.8 45.1 23.4l48 112c7 16.4 2.4 35.4-11.4 46.7l-40.6 33.2c26.7 46 65.1 84.4 111.1 111.1L329 286.7zM448 480c3.8 0 7-2.6 7.8-6.3l24-112c.8-3.7-1.2-7.5-4.7-9l-112-48c-3.3-1.4-7.1-.5-9.3 2.3l-33.2 40.6c-9.9 12.1-27.2 15.3-40.8 7.4c-50.9-29.5-93.3-71.9-122.7-122.7c-7.9-13.6-4.7-30.9 7.4-40.8l40.6-33.2c2.8-2.3 3.7-6.1 2.3-9.3l-48-112c-1.5-3.5-5.3-5.5-9-4.7l-112 24C34.6 57 32 60.2 32 64v0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0c0 229.6 186.1 415.8 415.7 416l.3 0zM312 64h16c8.8 0 16 7.2 16 16V96c0 8.8-7.2 16-16 16H312c-8.8 0-16-7.2-16-16V80c0-8.8 7.2-16 16-16zm0 96h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H312c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16zm80-80c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16V96c0 8.8-7.2 16-16 16H408c-8.8 0-16-7.2-16-16V80zM504 64h16c8.8 0 16 7.2 16 16V96c0 8.8-7.2 16-16 16H504c-8.8 0-16-7.2-16-16V80c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16V96c0 8.8-7.2 16-16 16H600c-8.8 0-16-7.2-16-16V80zm16 80h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H600c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16zm-200 0H528c8.8 0 16 7.2 16 16s-7.2 16-16 16H400c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faTeletypeAnswer = faTtyAnswer;\nvar faMugTeaSaucer = {\n prefix: 'fal',\n iconName: 'mug-tea-saucer',\n icon: [640, 512, [], \"e1f5\", \"M240 64H416h16 16V224v32 32c0 35.3-28.7 64-64 64H192c-35.3 0-64-28.7-64-64V64h80v40.5l-36.5 30.4C164.2 141 160 150 160 159.5V224c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V159.5c0-9.5-4.2-18.5-11.5-24.6L240 104.5V64zM224 32H128c-17.7 0-32 14.3-32 32V288c0 53 43 96 96 96H384c53 0 96-43 96-96V256h48c61.9 0 112-50.1 112-112s-50.1-112-112-112H448 432 416 224zM480 224V64h48c44.2 0 80 35.8 80 80s-35.8 80-80 80H480zM0 464c0 8.8 7.2 16 16 16H560c8.8 0 16-7.2 16-16s-7.2-16-16-16H16c-8.8 0-16 7.2-16 16zM192 224V159.5l32-26.7 32 26.7V224H192z\"]\n};\nvar faDiagramLeanCanvas = {\n prefix: 'fal',\n iconName: 'diagram-lean-canvas',\n icon: [640, 512, [], \"e156\", \"M512 64V320h96V96c0-17.7-14.3-32-32-32H512zm-32 0H384V192h96V64zM352 64H288V320h64V64zm-96 0H160V192h96V64zM128 64H64C46.3 64 32 78.3 32 96V320h96V64zM32 352v64c0 17.7 14.3 32 32 32H304V352H32zm304 96H576c17.7 0 32-14.3 32-32V352H336v96zM0 96C0 60.7 28.7 32 64 32H576c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zM256 320V224H160v96h96zm224-96H384v96h96V224z\"]\n};\nvar faAlt = {\n prefix: 'fal',\n iconName: 'alt',\n icon: [640, 512, [], \"e08a\", \"M462 107.7c6.1-7.4 15.2-11.7 24.8-11.7H624c8.8 0 16-7.2 16-16s-7.2-16-16-16H486.7c-19.2 0-37.4 8.6-49.5 23.5L178 404.3c-6.1 7.4-15.2 11.7-24.8 11.7H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H153.3c19.2 0 37.4-8.6 49.5-23.5L462 107.7zM432 416c-8.8 0-16 7.2-16 16s7.2 16 16 16H624c8.8 0 16-7.2 16-16s-7.2-16-16-16H432z\"]\n};\nvar faDial = {\n prefix: 'fal',\n iconName: 'dial',\n icon: [576, 512, [\"dial-med-high\"], \"e15b\", \"M288 56a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm11.3 243.3l89.8-89.8c39.1 50.2 35.5 122.9-10.6 169c-50 50-131 50-181 0s-50-131 0-181c46.2-46.2 118.8-49.7 169-10.6l-89.8 89.8c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0zM401.1 174.9A160 160 0 1 0 174.9 401.1 160 160 0 1 0 401.1 174.9zM568 288a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM32 312a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM120 96A24 24 0 1 0 72 96a24 24 0 1 0 48 0zm360 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM120 480a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm360 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faDialMedHigh = faDial;\nvar faHandPeace = {\n prefix: 'fal',\n iconName: 'hand-peace',\n icon: [512, 512, [9996], \"f25b\", \"M253.4 .3c-30.8-3-58.2 19.6-61.1 50.3L177.9 199 123.8 66.8c-11.7-28.6-44.4-42.3-73-30.6s-42.3 44.4-30.6 73L84.5 266.5C71.8 280.7 64 299.4 64 320v32c0 88.4 71.6 160 160 160h64c88.4 0 160-71.6 160-160V312.1l0-.1V248l0-.1V240c0-3.2-.9-6.1-2.5-8.6C438.4 208.6 417.2 192 392 192c-12.1 0-23.3 3.8-32.5 10.4C349.6 186.5 332 176 312 176c-6.9 0-13.6 1.3-19.7 3.6L303.7 61.4c3-30.8-19.6-58.2-50.3-61.1zM111.1 247L49.8 97.1c-5-12.3 .9-26.3 13.1-31.3s26.3 .9 31.3 13.1L160.1 240H144c-11.7 0-22.8 2.5-32.9 7zM232 240H206.1l18-186.3c1.3-13.2 13-22.9 26.2-21.6s22.9 13 21.6 26.2l-18 186.1c-6.7-2.9-14.1-4.4-21.9-4.4zm80-32c13.3 0 24 10.7 24 24l0 16 0 48c0 13.3-10.7 24-24 24s-24-10.7-24-24v0V232c0-13.3 10.7-24 24-24zm32.5 133.6C354.4 357.5 372 368 392 368c8.4 0 16.4-1.9 23.5-5.2C410.1 428.5 355 480 288 480H224c-70.7 0-128-57.3-128-128V320c0-26.5 21.5-48 48-48h88c13.2 0 24 10.7 24 24l0 0c0 13.3-10.7 24-24 24H176c-8.8 0-16 7.2-16 16s7.2 16 16 16h56c15.7 0 29.8-6.4 40-16.8c10.2 10.4 24.3 16.8 40 16.8c12.1 0 23.3-3.8 32.5-10.4zM416 312c0 13.2-10.8 24-24 24c-13.3 0-24-10.7-24-24l0-16 0-48c0-13.3 10.7-24 24-24c13.2 0 24 10.7 24 24l0 0v64l0 0z\"]\n};\nvar faCircleTrash = {\n prefix: 'fal',\n iconName: 'circle-trash',\n icon: [512, 512, [\"trash-circle\"], \"e126\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM160 144h32.1 9.3l11.3-11.3c3-3 7.1-4.7 11.3-4.7h64c4.2 0 8.3 1.7 11.3 4.7L310.6 144h9.3H352c8.8 0 16 7.2 16 16s-7.2 16-16 16h-2.1L338 354.1c-1.1 16.8-15.1 29.9-31.9 29.9H205.9c-16.8 0-30.8-13.1-31.9-29.9L162.1 176H160c-8.8 0-16-7.2-16-16s7.2-16 16-16zm157.8 32H194.2l11.7 176H306.1l11.7-176z\"]\n};\nvar faTrashCircle = faCircleTrash;\nvar faRotate = {\n prefix: 'fal',\n iconName: 'rotate',\n icon: [512, 512, [128260, \"sync-alt\"], \"f2f1\", \"M426.1 301.2C406.2 376.5 337.6 432 256 432c-51 0-96.9-21.7-129-56.3l41-41c5.1-5.1 8-12.1 8-19.3c0-15.1-12.2-27.3-27.3-27.3H48c-8.8 0-16 7.2-16 16V404.7C32 419.8 44.2 432 59.3 432c7.2 0 14.2-2.9 19.3-8l25.7-25.7C142.3 438.7 196.2 464 256 464c97.4 0 179.2-67 201.8-157.4c2.4-9.7-5.2-18.6-15.2-18.6c-7.8 0-14.5 5.6-16.5 13.2zM385 136.3l-41 41c-5.1 5.1-8 12.1-8 19.3c0 15.1 12.2 27.3 27.3 27.3H464c8.8 0 16-7.2 16-16V107.3C480 92.2 467.8 80 452.7 80c-7.2 0-14.2 2.9-19.3 8l-25.7 25.7C369.7 73.3 315.8 48 256 48C158.6 48 76.8 115 54.2 205.4c-2.4 9.7 5.2 18.6 15.2 18.6c7.8 0 14.5-5.6 16.5-13.2C105.8 135.5 174.4 80 256 80c51 0 96.9 21.7 129.1 56.3zM448 192H374.6L448 118.6V192zM64 320h73.4L64 393.4V320z\"]\n};\nvar faSyncAlt = faRotate;\nvar faCircleQuarters = {\n prefix: 'fal',\n iconName: 'circle-quarters',\n icon: [512, 512, [], \"e3f8\", \"M402.7 425.3L256 278.6 109.3 425.3C148.6 459.4 199.9 480 256 480s107.4-20.6 146.7-54.7zm22.6-22.6C459.4 363.4 480 312.1 480 256s-20.6-107.4-54.7-146.7L278.6 256 425.3 402.7zm-22.6-316C363.4 52.6 312.1 32 256 32s-107.4 20.6-146.7 54.7L256 233.4 402.7 86.7zm-316 22.6C52.6 148.6 32 199.9 32 256s20.6 107.4 54.7 146.7L233.4 256 86.7 109.3zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256z\"]\n};\nvar faSpinner = {\n prefix: 'fal',\n iconName: 'spinner',\n icon: [512, 512, [], \"f110\", \"M256 64a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm0-64a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm0 480a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm0-64a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM64 256a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM0 256a48 48 0 1 1 96 0A48 48 0 1 1 0 256zm464 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm0-64a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM120.2 391.8A16 16 0 1 0 97.6 414.4a16 16 0 1 0 22.6-22.6zM75 437a48 48 0 1 1 67.9-67.9A48 48 0 1 1 75 437zM97.6 120.2a16 16 0 1 0 22.6-22.6A16 16 0 1 0 97.6 120.2zM142.9 75A48 48 0 1 1 75 142.9 48 48 0 1 1 142.9 75zM414.4 414.4a16 16 0 1 0 -22.6-22.6 16 16 0 1 0 22.6 22.6zm-45.3-45.3A48 48 0 1 1 437 437a48 48 0 1 1 -67.9-67.9z\"]\n};\nvar faTowerControl = {\n prefix: 'fal',\n iconName: 'tower-control',\n icon: [448, 512, [], \"e2a2\", \"M160 16c0-8.8 7.2-16 16-16h48 48c8.8 0 16 7.2 16 16s-7.2 16-16 16H240V64h48c17.7 0 32 14.3 32 32v32h80.9c26.2 0 45.3 24.8 38.7 50.1L402.6 320.2c7.6 1.2 13.4 7.8 13.4 15.8c0 8.8-7.2 16-16 16H352V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V352l-192 0V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V352H48c-8.8 0-16-7.2-16-16c0-8 5.8-14.6 13.4-15.8L8.4 178.1C1.8 152.8 20.9 128 47.1 128H128V96c0-17.7 14.3-32 32-32h48V32H176c-8.8 0-16-7.2-16-16zM128 160.2c0-.1 0-.1 0-.2H47.1c-5.2 0-9.1 5-7.7 10L78.5 320H128V160.2zM160 320H288V160.2c0-.1 0-.1 0-.2H160V320zM320 160V320l49.6 0 39.1-150c1.3-5.1-2.5-10-7.7-10H320zm-32-32V96H160v32H288z\"]\n};\nvar faArrowUpTriangleSquare = {\n prefix: 'fal',\n iconName: 'arrow-up-triangle-square',\n icon: [576, 512, [\"sort-shapes-up\"], \"f88a\", \"M171.3 36.7c-6.2-6.2-16.4-6.2-22.6 0l-96 96c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L144 86.6V464c0 8.8 7.2 16 16 16s16-7.2 16-16V86.6l68.7 68.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-96-96zM352 432V336c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16zM416 67.5L490.7 192H341.3L416 67.5zM307.6 186c-2.3 3.9-3.6 8.4-3.6 12.9c0 13.8 11.2 25.1 25.1 25.1H502.9c13.8 0 25.1-11.2 25.1-25.1c0-4.5-1.2-9-3.6-12.9L440.2 45.7C435.1 37.2 425.9 32 416 32s-19.1 5.2-24.2 13.7L307.6 186zM320 432c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V336c0-26.5-21.5-48-48-48H368c-26.5 0-48 21.5-48 48v96z\"]\n};\nvar faSortShapesUp = faArrowUpTriangleSquare;\nvar faWhale = {\n prefix: 'fal',\n iconName: 'whale',\n icon: [640, 512, [128011], \"f72c\", \"M164.9 .8c5.7 1.8 9.9 6.7 10.9 12.6l14.1 84.7 84.7 14.1c5.9 1 10.8 5.2 12.6 10.9s.3 12-3.9 16.2L242.6 180c-18.3 18.3-44.2 26.6-69.7 22.3L111 192 70.8 250.4c-9.2 13.3-10.4 30.6-3.1 45c7.5 15.1 22.9 24.6 39.7 24.6h3.2c11.3 0 22.2-3.8 31-10.9L270.9 205.7C333.8 155.4 411.8 128 492.3 128C573.9 128 640 194.1 640 275.7V384c0 53-43 96-96 96H162.4C72.7 480 0 407.3 0 317.6c0-39.5 15.7-77.3 43.6-105.2l46.5-46.5 3.4-3.4-7.9-47.4C81.4 89.6 89.7 63.7 108 45.4L148.7 4.7c4.2-4.2 10.5-5.8 16.2-3.9zM149.3 49.3L130.6 68c-11 11-16 26.5-13.4 41.8l8.7 52.2 52.2 8.7c15.3 2.5 30.9-2.4 41.8-13.4l18.7-18.7-65.3-10.9c-6.7-1.1-12-6.4-13.2-13.2L149.3 49.3zM368 296a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm-334.1 .5c-1.3 6.9-1.9 14-1.9 21.2C32 389.6 90.4 448 162.4 448H544c35.3 0 64-28.7 64-64V275.7C608 211.8 556.2 160 492.3 160c-73.2 0-144.2 24.9-201.4 70.7L161.6 334.1c-14.5 11.6-32.4 17.9-50.9 17.9h-3.2c-28.9 0-55.4-16.4-68.4-42.2c-2.2-4.3-3.9-8.8-5.2-13.3z\"]\n};\nvar faRobot = {\n prefix: 'fal',\n iconName: 'robot',\n icon: [640, 512, [129302], \"f544\", \"M320 0c8.8 0 16 7.2 16 16V96H448c53 0 96 43 96 96V416c0 53-43 96-96 96H192c-53 0-96-43-96-96V192c0-53 43-96 96-96H304V16c0-8.8 7.2-16 16-16zM192 128c-35.3 0-64 28.7-64 64V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V192c0-35.3-28.7-64-64-64H320 192zm16 256h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H208c-8.8 0-16-7.2-16-16s7.2-16 16-16zm96 0h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H304c-8.8 0-16-7.2-16-16s7.2-16 16-16zm96 0h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H400c-8.8 0-16-7.2-16-16s7.2-16 16-16zM224 224a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm64 32a64 64 0 1 1 -128 0 64 64 0 1 1 128 0zm96 0a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm32 64a64 64 0 1 1 0-128 64 64 0 1 1 0 128zM48 224H64v32H48c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16H64v32H48c-26.5 0-48-21.5-48-48V272c0-26.5 21.5-48 48-48zM592 384c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16H576V224h16c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H576V384h16z\"]\n};\nvar faPeace = {\n prefix: 'fal',\n iconName: 'peace',\n icon: [512, 512, [9774], \"f67c\", \"M240 479.4V289.8L93.2 409.9c37.4 39.6 89.1 65.5 146.8 69.6zM72.9 385.1L240 248.4V32.6C123.8 40.8 32 137.7 32 256c0 48.1 15.1 92.6 40.9 129.1zM256 512A256 256 0 1 1 256 0a256 256 0 1 1 0 512zm16-32.6c57.7-4.1 109.4-30 146.8-69.6L272 289.8V479.4zm167.1-94.3c25.8-36.5 40.9-81 40.9-129.1c0-118.3-91.8-215.2-208-223.4V248.4L439.1 385.1z\"]\n};\nvar faPartyHorn = {\n prefix: 'fal',\n iconName: 'party-horn',\n icon: [512, 512, [], \"e31b\", \"M40 32a24 24 0 1 1 48 0A24 24 0 1 1 40 32zM456 160a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm24 264a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM172.7 147.3c-6.2-6.2-6.2-16.4 0-22.6l8.3-8.3c18-18 29.3-41.6 32.1-66.8l3-27.4c1-8.8 8.9-15.1 17.7-14.1s15.1 8.9 14.1 17.7l-3 27.4c-3.6 32.5-18.2 62.8-41.3 85.9l-8.3 8.3c-6.2 6.2-16.4 6.2-22.6 0zm192 169.4l8.3-8.3c23.1-23.1 53.4-37.7 85.9-41.3l27.4-3c8.8-1 16.7 5.4 17.7 14.1s-5.4 16.7-14.1 17.7l-27.4 3c-25.3 2.8-48.8 14.1-66.8 32.1l-8.2 8.2c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6zm135.5-303c5.7 6.7 4.9 16.8-1.9 22.5l-10 8.5C475 55.9 458.1 61.9 440.7 61.4c-21-.6-38.6 15.6-39.8 36.5l-1.8 30c-2.2 38.2-34.4 67.7-72.6 66.6c-9.5-.3-18.8 3-26.1 9.2l-10 8.5c-6.7 5.7-16.8 4.9-22.5-1.9s-4.9-16.8 1.9-22.5l10-8.5c13.3-11.2 30.3-17.2 47.7-16.7c21 .6 38.6-15.6 39.8-36.5l1.8-30c2.2-38.2 34.4-67.7 72.6-66.6c9.5 .3 18.8-3 26.1-9.2l10-8.5c6.7-5.7 16.8-4.9 22.6 1.9zM32.1 479.6c0 0 .1 .1 .1 .1s.1 .1 .1 .1l76.2-28.6L60.7 403.4 32.1 479.6zm169.6-63.2L95.6 310.3 73 370.7c.8 .6 1.6 1.2 2.3 1.9l64 64c.7 .7 1.4 1.5 2 2.4l60.5-22.7zM234.7 404l53.3-20c0-.1 0-.1 .1-.2s0-.1 0-.2L128.3 224c-.1 0-.1 0-.2 0s-.1 0-.2 .1l-20 53.3L234.7 404zM98.1 212.6c8-21.4 36.4-27.6 52.6-11.4L310.9 361.3c16.2 16.2 10 44.6-11.4 52.6L43.3 510C18 519.4-7.4 494 2 468.8L98.1 212.6z\"]\n};\nvar faGears = {\n prefix: 'fal',\n iconName: 'gears',\n icon: [640, 512, [\"cogs\"], \"f085\", \"M146.2 40.7l-6.9 25.1c-1.4 5.2-5.4 9.4-10.6 11c-14.6 4.6-27.9 12.4-39 22.5c-4 3.7-9.6 5.1-14.9 3.7L49.7 96.4c-2.2 3.1-4.3 6.3-6.3 9.6l-2.4 4.2c-1.8 3.3-3.5 6.6-5 10l18.3 18.5c3.8 3.9 5.4 9.4 4.2 14.7C56.8 160.7 56 168.2 56 176s.8 15.3 2.4 22.5c1.2 5.3-.4 10.8-4.2 14.7L35.9 231.8c1.5 3.4 3.2 6.7 5 10l2.5 4.3c2 3.3 4.1 6.5 6.3 9.6L74.9 249c5.3-1.4 10.9 0 14.9 3.7c11.1 10.2 24.3 17.9 39 22.5c5.2 1.6 9.2 5.8 10.6 11l6.9 25.1c4.5 .5 9.1 .7 13.8 .7s9.2-.2 13.8-.7l6.9-25.1c1.4-5.2 5.4-9.4 10.6-11c14.6-4.6 27.9-12.4 39-22.5c4-3.7 9.6-5.1 14.9-3.7l25.2 6.6c2.2-3 4.2-6.1 6.1-9.3l2.8-4.8c1.7-3.2 3.4-6.4 4.8-9.7l-18.3-18.5c-3.8-3.9-5.4-9.4-4.2-14.7c1.6-7.2 2.4-14.8 2.4-22.6s-.8-15.3-2.4-22.6c-1.2-5.3 .4-10.8 4.2-14.7l18.3-18.5c-1.5-3.3-3.1-6.5-4.8-9.7l-2.8-4.8c-1.9-3.2-4-6.3-6.1-9.3L245.1 103c-5.3 1.4-10.9 0-14.9-3.7c-11.1-10.2-24.3-17.9-39-22.5c-5.2-1.6-9.2-5.8-10.6-11l-6.9-25.1c-4.5-.5-9.1-.7-13.8-.7s-9.2 .2-13.8 .7zM130.8 10.5C140.3 8.9 150.1 8 160 8s19.7 .9 29.1 2.5c6.1 1.1 11 5.6 12.7 11.5l7.5 27.2c13.1 5.1 25.1 12.1 35.9 20.7l27.3-7.1c6-1.6 12.3 .5 16.3 5.2c5.6 6.7 10.7 13.8 15.2 21.3l.2 .3 0 0 2.9 5.1 .2 .3 0 0c4.1 7.5 7.7 15.4 10.7 23.6c2.1 5.8 .7 12.3-3.6 16.7l-19.8 20.1c1 6.8 1.6 13.7 1.6 20.7s-.5 13.9-1.6 20.7l19.8 20.1c4.3 4.4 5.8 10.9 3.6 16.7c-3 8.2-6.6 16-10.7 23.6l-.2 .3 0 0-3 5.1-.2 .3 0 0c-4.5 7.5-9.6 14.6-15.2 21.3c-4 4.7-10.3 6.8-16.3 5.2l-27.3-7.1c-10.7 8.6-22.8 15.6-35.8 20.7L201.8 330c-1.6 6-6.6 10.5-12.7 11.5c-9.5 1.7-19.2 2.5-29.1 2.5s-19.7-.9-29.2-2.5c-6.1-1.1-11-5.6-12.7-11.5l-7.5-27.2c-13.1-5.1-25.1-12.1-35.8-20.7l-27.3 7.1c-6 1.6-12.3-.5-16.3-5.2c-5.7-6.8-10.9-14-15.4-21.6l-.1-.2 0 0-2.6-4.5-.1-.2 0 0c-4.2-7.6-7.9-15.6-10.9-23.9c-2.1-5.8-.7-12.3 3.6-16.7l19.8-20.1C24.5 189.9 24 183 24 176s.5-13.9 1.6-20.7L5.7 135.2c-4.3-4.4-5.8-10.9-3.6-16.7c3-8.3 6.7-16.3 10.9-23.9l.1-.2 0 0 2.6-4.5 .1-.2 0 0C20.4 82 25.6 74.8 31.3 68c4-4.7 10.3-6.8 16.3-5.2l27.3 7.1c10.7-8.6 22.8-15.6 35.8-20.7L118.2 22c1.6-6 6.6-10.5 12.7-11.5zM104 176a56 56 0 1 1 112 0 56 56 0 1 1 -112 0zm56 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM328.7 365.8l25.1 6.9c5.2 1.4 9.4 5.4 11 10.6c4.6 14.6 12.4 27.9 22.5 39c3.7 4 5.1 9.6 3.7 14.9l-6.6 25.2c3.1 2.2 6.3 4.3 9.6 6.3l4.2 2.4c3.3 1.8 6.6 3.5 10 5l18.5-18.3c3.9-3.8 9.4-5.4 14.7-4.2c7.2 1.6 14.8 2.4 22.5 2.4s15.3-.8 22.5-2.4c5.3-1.2 10.8 .4 14.7 4.2l18.5 18.3c3.4-1.5 6.7-3.2 10-5l4.3-2.5c3.3-2 6.5-4.1 9.6-6.3L537 437.1c-1.4-5.3 0-10.9 3.7-14.9c10.2-11.1 17.9-24.3 22.5-39c1.6-5.2 5.8-9.2 11-10.6l25.1-6.9c.5-4.5 .7-9.1 .7-13.8s-.2-9.2-.7-13.8l-25.1-6.9c-5.2-1.4-9.4-5.4-11-10.6c-4.6-14.7-12.4-27.9-22.5-39c-3.7-4-5.1-9.6-3.7-14.9l6.6-25.2c-3-2.2-6.1-4.2-9.3-6.1l-4.8-2.8c-3.2-1.7-6.4-3.4-9.7-4.8l-18.5 18.3c-3.9 3.8-9.4 5.4-14.7 4.2c-7.2-1.6-14.8-2.4-22.6-2.4s-15.3 .8-22.6 2.4c-5.3 1.2-10.8-.4-14.7-4.2l-18.5-18.3c-3.3 1.5-6.5 3.1-9.7 4.8l-4.8 2.8c-3.2 1.9-6.3 4-9.3 6.1l6.6 25.2c1.4 5.3 0 10.9-3.7 14.9c-10.2 11.1-17.9 24.3-22.5 39c-1.6 5.2-5.8 9.2-11 10.6l-25.1 6.9c-.5 4.5-.7 9.1-.7 13.8s.2 9.2 .7 13.8zm-30.2 15.4c-1.7-9.5-2.5-19.2-2.5-29.2s.9-19.7 2.5-29.1c1.1-6.1 5.6-11 11.5-12.7l27.2-7.5c5.1-13.1 12.1-25.1 20.7-35.9l-7.1-27.3c-1.6-6 .5-12.3 5.2-16.3c6.7-5.6 13.8-10.7 21.3-15.2l.3-.2 0 0 5.1-2.9 .3-.2 0 0c7.5-4.1 15.4-7.7 23.6-10.7c5.8-2.1 12.3-.7 16.7 3.6l20.1 19.8c6.8-1 13.7-1.6 20.7-1.6s13.9 .5 20.7 1.6l20.1-19.8c4.4-4.3 10.9-5.8 16.7-3.6c8.2 3 16 6.6 23.6 10.7l.3 .2 0 0 5.1 3 .3 .2 0 0c7.5 4.5 14.6 9.6 21.3 15.2c4.7 4 6.7 10.3 5.2 16.3l-7.1 27.3c8.6 10.7 15.6 22.8 20.7 35.8l27.2 7.5c6 1.6 10.5 6.6 11.5 12.7c1.7 9.5 2.5 19.2 2.5 29.1s-.9 19.7-2.5 29.2c-1.1 6.1-5.6 11-11.5 12.7l-27.2 7.5c-5.1 13.1-12.1 25.1-20.7 35.8l7.1 27.3c1.6 6-.5 12.3-5.2 16.3c-6.8 5.7-14 10.9-21.6 15.4l-.2 .1 0 0-4.5 2.6-.2 .1 0 0c-7.6 4.2-15.6 7.9-23.9 10.9c-5.8 2.1-12.3 .7-16.7-3.6l-20.1-19.8c-6.8 1-13.7 1.6-20.7 1.6s-13.9-.5-20.7-1.6l-20.1 19.8c-4.4 4.3-10.9 5.8-16.7 3.6c-8.3-3-16.3-6.7-23.9-10.9l-.2-.1 0 0-4.5-2.6-.2-.1 0 0c-7.6-4.6-14.9-9.8-21.6-15.4c-4.7-4-6.8-10.3-5.2-16.3l7.1-27.3c-8.6-10.7-15.6-22.8-20.7-35.8L310 393.8c-6-1.6-10.5-6.6-11.5-12.7zM464 408a56 56 0 1 1 0-112 56 56 0 1 1 0 112zm24-56a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faCogs = faGears;\nvar faSunBright = {\n prefix: 'fal',\n iconName: 'sun-bright',\n icon: [512, 512, [\"sun-alt\"], \"e28f\", \"M256 0c8.8 0 16 7.2 16 16V96c0 8.8-7.2 16-16 16s-16-7.2-16-16V16c0-8.8 7.2-16 16-16zM0 256c0-8.8 7.2-16 16-16H96c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16-7.2-16-16zm400 0c0-8.8 7.2-16 16-16h80c8.8 0 16 7.2 16 16s-7.2 16-16 16H416c-8.8 0-16-7.2-16-16zM256 400c8.8 0 16 7.2 16 16v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V416c0-8.8 7.2-16 16-16zM75 75c6.2-6.2 16.4-6.2 22.6 0l56.6 56.6c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L75 97.6c-6.2-6.2-6.2-16.4 0-22.6zm0 362c-6.2-6.2-6.2-16.4 0-22.6l56.6-56.6c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L97.6 437c-6.2 6.2-16.4 6.2-22.6 0zM357.8 154.2c-6.2-6.2-6.2-16.4 0-22.6L414.4 75c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-56.6 56.6c-6.2 6.2-16.4 6.2-22.6 0zm0 203.6c6.2-6.2 16.4-6.2 22.6 0L437 414.4c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-56.6-56.6c-6.2-6.2-6.2-16.4 0-22.6zM336 256a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zm-192 0a112 112 0 1 1 224 0 112 112 0 1 1 -224 0z\"]\n};\nvar faSunAlt = faSunBright;\nvar faWarehouse = {\n prefix: 'fal',\n iconName: 'warehouse',\n icon: [640, 512, [], \"f494\", \"M326.2 36c-4-1.7-8.4-1.7-12.4 0L51.6 146.4C39.7 151.4 32 163 32 175.9V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V175.9c0-25.8 15.4-49 39.2-59L301.4 6.5c11.9-5 25.3-5 37.3 0L600.8 116.9c23.7 10 39.2 33.2 39.2 59V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V175.9c0-12.9-7.7-24.5-19.6-29.5L326.2 36zM96 224c0-17.7 14.3-32 32-32H512c17.7 0 32 14.3 32 32V496c0 8.8-7.2 16-16 16c-.1 0-.2 0-.2 0H112.2c-.1 0-.2 0-.2 0c-8.8 0-16-7.2-16-16V224zm32 256H512V416H128v64zM512 320H128v64H512V320zM128 288H512V224H128v64z\"]\n};\nvar faConveyorBeltArm = {\n prefix: 'fal',\n iconName: 'conveyor-belt-arm',\n icon: [640, 512, [], \"e5f8\", \"M128 16c0 8.8 7.2 16 16 16h77.1l-5.5 32.7C193.1 68.7 176 88.3 176 112c0 26.5 21.5 48 48 48c18.6 0 34.8-10.6 42.8-26.2L448 158v50c0 8.8 7.2 16 16 16s16-7.2 16-16V144c0-8-5.9-14.8-13.9-15.9L271 102.1c-2.9-13.8-11.8-25.5-23.8-32.1l6.3-38H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H144c-8.8 0-16 7.2-16 16zm72 96a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM448 288h32v32H448V288zm-32-8v40H352V280c0-13.3-10.7-24-24-24H280c-13.3 0-24 10.7-24 24v40H192V280c0-13.3-10.7-24-24-24H120c-13.3 0-24 10.7-24 24l0 40c-53 0-96 43-96 96s43 96 96 96H544c53 0 96-43 96-96s-43-96-96-96H512V280c0-13.3-10.7-24-24-24H440c-13.3 0-24 10.7-24 24zM96 352h24 48H280h48H440h48 56c35.3 0 64 28.7 64 64s-28.7 64-64 64H96c-35.3 0-64-28.7-64-64s28.7-64 64-64zm64-64v32H128V288h32zm128 32V288h32v32H288zM128 440a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm216-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm168 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faLockKeyholeOpen = {\n prefix: 'fal',\n iconName: 'lock-keyhole-open',\n icon: [576, 512, [\"lock-open-alt\"], \"f3c2\", \"M448 32c-53 0-96 43-96 96v64h16c44.2 0 80 35.8 80 80V432c0 44.2-35.8 80-80 80H80c-44.2 0-80-35.8-80-80V272c0-44.2 35.8-80 80-80H320V128C320 57.3 377.3 0 448 0s128 57.3 128 128v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V128c0-53-43-96-96-96zM80 224c-26.5 0-48 21.5-48 48V432c0 26.5 21.5 48 48 48H368c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48H336 80zM264 368H184c-8.8 0-16-7.2-16-16s7.2-16 16-16h80c8.8 0 16 7.2 16 16s-7.2 16-16 16z\"]\n};\nvar faLockOpenAlt = faLockKeyholeOpen;\nvar faSquareFragile = {\n prefix: 'fal',\n iconName: 'square-fragile',\n icon: [448, 512, [\"box-fragile\", \"square-wine-glass-crack\"], \"f49b\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm144 32v80c0 44.2 35.8 80 80 80s80-35.8 80-80V128H230.6l20.7 20.7c3.4 3.4 5.1 8.1 4.6 12.9s-3.1 9.1-7 11.7l-30.2 20.1 31.5 26.3c6.8 5.7 7.7 15.7 2 22.5s-15.7 7.7-22.5 2l-48-40c-3.9-3.2-6-8.1-5.7-13.1s2.9-9.7 7.1-12.5l31.8-21.2L185.4 128H144zm-1.1-32H305.1c17.1 0 30.9 13.8 30.9 30.9V208c0 56.4-41.7 103.1-96 110.9V384h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16s7.2-16 16-16h32V318.9c-54.3-7.8-96-54.4-96-110.9V126.9c0-17.1 13.8-30.9 30.9-30.9z\"]\n};\nvar faBoxFragile = faSquareFragile;\nvar faSquareWineGlassCrack = faSquareFragile;\nvar faArrowUpRightDots = {\n prefix: 'fal',\n iconName: 'arrow-up-right-dots',\n icon: [576, 512, [], \"e4b7\", \"M144 0c-8.8 0-16 7.2-16 16s7.2 16 16 16H265.4L4.7 292.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L288 54.6V176c0 8.8 7.2 16 16 16s16-7.2 16-16V16c0-8.8-7.2-16-16-16H144zM528 64a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm0 64a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM400 192a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm0 64a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-16 80a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm64 0a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM400 448a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm0 64a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm128-64a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm0 64a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM256 336a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm64 0a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM272 448a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm0 64a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM128 464a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm64 0a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM528 320a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm0 64a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM512 208a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm64 0a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z\"]\n};\nvar faSquareN = {\n prefix: 'fal',\n iconName: 'square-n',\n icon: [448, 512, [], \"e277\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm157 38.7L288 318.1V144c0-8.8 7.2-16 16-16s16 7.2 16 16V368c0 7-4.5 13.1-11.1 15.2s-13.9-.3-17.9-5.9L160 193.9V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-7 4.5-13.1 11.1-15.2s13.9 .3 17.9 5.9z\"]\n};\nvar faSplotch = {\n prefix: 'fal',\n iconName: 'splotch',\n icon: [512, 512, [], \"f5bc\", \"M189.1 416.1L86.4 425.5C65.8 427.3 48 411.1 48 390.4c0-7.6 2.5-15 7-21.1l18.8-25c14.5-19.4 22.1-43.1 21.6-67.3c-.5-20.2-6.6-39.8-17.6-56.6L37.3 158.5c-3.4-5.2-5.3-11.4-5.3-17.6c0-20.1 18.2-35.2 37.9-31.6l42.8 7.8c47 8.5 94.9-8.8 125.4-45.5l22.3-26.8c6.7-8 16.6-12.7 27.1-12.7c15.2 0 28.7 9.7 33.5 24.1l15 45.1c14.2 42.6 46.9 76.5 88.9 92.3l32.3 12.1c13.7 5.1 22.7 18.2 22.7 32.8c0 11-5.2 21.4-14 28L404 313c-33.4 25-51 65.8-46.4 107.3l2.5 22.7c2.2 19.8-13.3 37.1-33.2 37.1c-7.6 0-14.9-2.6-20.9-7.3L269 443c-21.8-17.5-49-27-77-27c-1 0-1.9 0-2.9 .1zM51 237.8c7.8 11.9 12.1 25.7 12.4 39.8c.4 17-4.9 33.7-15.2 47.4l-18.8 25C20.7 361.7 16 375.9 16 390.4c0 39.5 33.9 70.5 73.3 66.9L192 448c20.7 0 40.8 7 57 20l37.1 29.7c11.6 9.3 26 14.3 40.8 14.3c39 0 69.3-33.9 65-72.6l-2.5-22.7c-3.4-30.2 9.5-59.9 33.8-78.1l62-46.5c16.9-12.7 26.8-32.5 26.8-53.6c0-28-17.3-53-43.5-62.8l-32.3-12.1c-33-12.4-58.7-39-69.8-72.4L351.3 46c-9.2-27.5-34.9-46-63.8-46c-20 0-38.9 8.9-51.7 24.2L213.5 51C190.3 78.8 154 92 118.4 85.5L75.6 77.7C36.2 70.6 0 100.8 0 140.9c0 12.5 3.6 24.7 10.5 35.1L51 237.8z\"]\n};\nvar faFaceGrinHearts = {\n prefix: 'fal',\n iconName: 'face-grin-hearts',\n icon: [512, 512, [128525, \"grin-hearts\"], \"f584\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256 98.1c-31.2 0-61.4-2.9-89.9-8.3c22.6 23.6 54.5 38.3 89.9 38.3s67.3-14.7 89.9-38.3c-28.5 5.4-58.7 8.3-89.9 8.3zm142.8-30.7c-24.1 54.6-79 92.7-142.8 92.7s-118.7-38.1-142.8-92.7c-5.2-11.7 6.8-22.4 19.1-18.7c37.3 11.1 79.3 17.4 123.8 17.4s86.4-6.3 123.8-17.4c12.3-3.7 24.2 7 19.1 18.7zM195.1 144.6c-9.3-2.5-18.8 3-21.3 12.3l-4.3 16.1c-2.3 8.5-11.1 13.6-19.6 11.3l-16.1-4.3c-9.3-2.5-18.8 3-21.3 12.3s3 18.8 12.3 21.3L190 230.9l17.4-65c2.5-9.3-3-18.8-12.3-21.3zm-52.2 4c7.1-26.3 34.1-42 60.4-34.9s42 34.1 34.9 60.4l-17.4 65c-4.6 17.1-22.1 27.2-39.2 22.6l-65.1-17.4c-26.3-7.1-42-34.1-34.9-60.4s34.1-42 60.4-34.9l.7 .2 .2-.6zm226.1 0l.2 .6 .7-.2c26.3-7.1 53.4 8.6 60.4 34.9s-8.6 53.4-34.9 60.4l-65.1 17.4c-17.1 4.6-34.6-5.6-39.2-22.6l-17.4-65c-7.1-26.3 8.6-53.4 34.9-60.4s53.4 8.6 60.4 34.9zm-52.2-4c-9.3 2.5-14.8 12-12.3 21.3l17.4 65 65.1-17.4c9.3-2.5 14.8-12 12.3-21.3s-12-14.8-21.3-12.3L362 184.2c-8.5 2.3-17.3-2.8-19.6-11.3l-4.3-16.1c-2.5-9.3-12-14.8-21.3-12.3z\"]\n};\nvar faGrinHearts = faFaceGrinHearts;\nvar faMeter = {\n prefix: 'fal',\n iconName: 'meter',\n icon: [512, 512, [], \"e1e8\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM176 144v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-8.8 7.2-16 16-16s16 7.2 16 16zm96 0v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-8.8 7.2-16 16-16s16 7.2 16 16zm96 0v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faMandolin = {\n prefix: 'fal',\n iconName: 'mandolin',\n icon: [512, 512, [], \"f6f9\", \"M459.3 4.7C454.3-.4 446.5-1.5 440.2 2l-72 40c-4 2.2-6.8 6-7.8 10.4l-23 99.5-38.6 38.6C227.4 187.1 0 187.6 0 336c0 97.2 78.8 176 176 176c148.4 0 148.9-227.4 145.4-298.8l38.6-38.6 99.5-23c4.4-1 8.2-3.9 10.4-7.8l40-72c3.5-6.2 2.4-14-2.7-19.1l-48-48zm-191.7 217l-43.1 43.1c-9.5-5.6-20.6-8.9-32.5-8.9c-35.3 0-64 28.7-64 64s28.7 64 64 64s64-28.7 64-64c0-11.9-3.2-23-8.9-32.5l43.1-43.1c.2 28.6-1.4 65.6-7.8 102.1c-6.6 37.9-18 72.4-35.6 96.7C230.3 466.1 208.4 480 176 480C96.5 480 32 415.5 32 336c0-32.4 13.9-54.3 36.8-70.8c24.3-17.6 58.8-29 96.7-35.6c36.5-6.4 73.5-7.9 102.1-7.8zM445.5 122l-72.1 16.6L390 66.5l55.2-30.7 30.9 30.9L445.5 122zM192 288a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faDiceFour = {\n prefix: 'fal',\n iconName: 'dice-four',\n icon: [448, 512, [9859], \"f524\", \"M384 64c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm88 128a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm168 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm24 168a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM128 376a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faSimCard = {\n prefix: 'fal',\n iconName: 'sim-card',\n icon: [384, 512, [], \"f7c4\", \"M32 64V448c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32V154.5c0-8.5-3.4-16.6-9.4-22.6L252.1 41.4c-6-6-14.1-9.4-22.6-9.4H64C46.3 32 32 46.3 32 64zM0 448V64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64zM64 280V240c0-26.5 21.5-48 48-48h48 16 16 40 40c26.5 0 48 21.5 48 48v40 80 40c0 26.5-21.5 48-48 48H224 208 192 112c-26.5 0-48-21.5-48-48V360 280zM96 400c0 8.8 7.2 16 16 16h80V376H152 96v24zm176 16c8.8 0 16-7.2 16-16V376H224v40h48zm-64-72h80V296H232 176 96v48h56 56zm80-104c0-8.8-7.2-16-16-16H232 192v40h40 56V240zM160 224H112c-8.8 0-16 7.2-16 16v24h64V224z\"]\n};\nvar faTransgender = {\n prefix: 'fal',\n iconName: 'transgender',\n icon: [512, 512, [9895, \"transgender-alt\"], \"f225\", \"M144 32c8.8 0 16-7.2 16-16s-7.2-16-16-16H32C23.2 0 16 7.2 16 16V128c0 8.8 7.2 16 16 16s16-7.2 16-16V54.6L89.4 96l-4.7 4.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l4.7-4.7 13.2 13.2C106.8 157.9 96 189.7 96 224c0 83 63.1 151.2 144 159.2V416H208c-8.8 0-16 7.2-16 16s7.2 16 16 16h32v48c0 8.8 7.2 16 16 16s16-7.2 16-16V448h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H272V383.2c80.9-8 144-76.2 144-159.2c0-34.3-10.8-66.1-29.2-92.2L464 54.6V128c0 8.8 7.2 16 16 16s16-7.2 16-16V16c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16s7.2 16 16 16h73.4l-75.6 75.6C337.1 80.6 298.5 64 256 64s-81.1 16.6-109.8 43.6L134.6 96l4.7-4.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L112 73.4 70.6 32H144zM256 96a128 128 0 1 1 0 256 128 128 0 1 1 0-256z\"]\n};\nvar faTransgenderAlt = faTransgender;\nvar faMercury = {\n prefix: 'fal',\n iconName: 'mercury',\n icon: [384, 512, [9791], \"f223\", \"M89.2 4.8C83-1.5 72.8-1.6 66.5 4.6s-6.4 16.3-.2 22.6C81.2 42.4 98.9 55 118.6 64C58 91.8 16 153 16 224c0 91.8 70.3 167.2 160 175.3V432H128c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v32c0 8.8 7.2 16 16 16s16-7.2 16-16V464h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H208V399.3c89.7-8.1 160-83.5 160-175.3c0-71-42-132.2-102.6-160c19.6-9 37.3-21.6 52.3-36.8c6.2-6.3 6.1-16.4-.2-22.6s-16.4-6.1-22.6 .2C268.7 31.5 232.3 48 192 48S115.3 31.5 89.2 4.8zM192 80a144 144 0 1 1 0 288 144 144 0 1 1 0-288z\"]\n};\nvar faUpFromBracket = {\n prefix: 'fal',\n iconName: 'up-from-bracket',\n icon: [448, 512, [], \"e590\", \"M222.2 32.8c.5-.5 1.1-.8 1.8-.8s1.4 .3 1.8 .8L350.2 164.7c1.2 1.2 1.8 2.9 1.8 4.6c0 3.7-3 6.7-6.7 6.7L288 176c-8.8 0-16 7.2-16 16l0 120c0 4.4-3.6 8-8 8l-80 0c-4.4 0-8-3.6-8-8l0-120c0-8.8-7.2-16-16-16l-57.3 0c-3.7 0-6.7-3-6.7-6.7c0-1.7 .7-3.3 1.8-4.6L222.2 32.8zM224 0c-9.5 0-18.6 3.9-25.1 10.8L74.5 142.8C67.8 150 64 159.5 64 169.3c0 21.4 17.3 38.7 38.7 38.7l41.3 0 0 104c0 22.1 17.9 40 40 40l80 0c22.1 0 40-17.9 40-40l0-104 41.3 0c21.4 0 38.7-17.3 38.7-38.7c0-9.9-3.8-19.3-10.5-26.5L249.1 10.8C242.6 3.9 233.5 0 224 0zM32 336c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 96c0 44.2 35.8 80 80 80l288 0c44.2 0 80-35.8 80-80l0-96c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 96c0 26.5-21.5 48-48 48L80 480c-26.5 0-48-21.5-48-48l0-96z\"]\n};\nvar faKnifeKitchen = {\n prefix: 'fal',\n iconName: 'knife-kitchen',\n icon: [576, 512, [128298], \"f6f5\", \"M485.7 33l-175 175 76.2 76.2 45-25c5.1-2.8 8.2-8.2 8.2-14V213.3c0-12.7 5.1-24.9 14.1-33.9l89-89c.6-.6 1-1.5 1-2.3s-.3-1.7-1-2.3L490.3 33c-.6-.6-1.5-1-2.3-1s-1.7 .3-2.3 1zM488 0c9.4 0 18.3 3.7 25 10.3L565.7 63c6.6 6.6 10.3 15.6 10.3 25s-3.7 18.3-10.3 25l-89 89c-3 3-4.7 7.1-4.7 11.3v31.9c0 17.4-9.4 33.5-24.7 42l-45 25c-12.5 6.9-28.1 4.8-38.2-5.3L288 230.6c-12.5-12.5-12.5-32.8 0-45.3l175-175C469.7 3.7 478.6 0 488 0zM4.7 468.7L242.7 230.6l22.6 22.6L46.6 472c21.7 5.1 43.9 8 65.4 8c99.8 0 165.6-39.9 232.5-102.4l-9-9c-12.5-12.5-12.5-32.7 0-45.2l33 33c11.5 12.6 11.3 32.2-1.3 43.9C296.6 466.3 223.2 512 112 512c-33.9 0-68.6-6.3-100.8-16.8C0 491.5-3.7 477.1 4.7 468.7zM416 144a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm64-64a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faBorderRight = {\n prefix: 'fal',\n iconName: 'border-right',\n icon: [448, 512, [], \"f852\", \"M432 32c8.8 0 16 7.2 16 16l0 416c0 8.8-7.2 16-16 16s-16-7.2-16-16l0-416c0-8.8 7.2-16 16-16zM320 88a24 24 0 1 1 0-48 24 24 0 1 1 0 48zm0 336a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-144a24 24 0 1 1 0-48 24 24 0 1 1 0 48zM128 40a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0 432a24 24 0 1 1 0-48 24 24 0 1 1 0 48zm0-240a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM224 88a24 24 0 1 1 0-48 24 24 0 1 1 0 48zm0 336a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-144a24 24 0 1 1 0-48 24 24 0 1 1 0 48zM32 40a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0 432a24 24 0 1 1 0-48 24 24 0 1 1 0 48zm0-240a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm192-48a24 24 0 1 1 0-48 24 24 0 1 1 0 48zM32 136a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0 240a24 24 0 1 1 0-48 24 24 0 1 1 0 48zm192-48a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faArrowTurnDown = {\n prefix: 'fal',\n iconName: 'arrow-turn-down',\n icon: [384, 512, [\"level-down\"], \"f149\", \"M16 32C7.2 32 0 24.8 0 16S7.2 0 16 0L128 0c44.2 0 80 35.8 80 80l0 377.4L308.7 356.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-128 128c-6.2 6.2-16.4 6.2-22.6 0l-128-128c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L176 457.4 176 80c0-26.5-21.5-48-48-48L16 32z\"]\n};\nvar faLevelDown = faArrowTurnDown;\nvar faSpade = {\n prefix: 'fal',\n iconName: 'spade',\n icon: [512, 512, [9824], \"f2f4\", \"M449.2 231.8c43.3 44.9 41 119.4-6.8 161.2c-41.5 34.7-104.2 29.3-143.7-10.6l-18.5-20.5c-6-6.6-14.4-10.4-23.3-10.5s-17.4 3.5-23.6 9.9l-19.8 20.8C173.6 422.6 110 427.4 70.7 393.2l-.2-.2 0 0c-48.7-41.8-51.1-116.3-7.8-161.2l0 0L256.4 32.1c.1 0 .2 .1 .3 .2L449.2 231.8l0 0zm23-22.2L279.4 9.7c-13-13-34-13-45.9 0L39.7 209.5c-55.9 57.9-52.9 153.8 10 207.8c53.1 46.3 134.4 38.2 184.6-10.8c.7-.7 1.5-1.5 2.2-2.2l3.5-3.7V480H176c-8.8 0-16 7.2-16 16s7.2 16 16 16H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H272V400.6l3.4 3.8c.9 .9 1.8 1.8 2.7 2.7c50.2 48.6 130.1 56.4 185.1 10.3c61.9-53.9 64.9-149.8 9-207.8z\"]\n};\nvar faCardSpade = {\n prefix: 'fal',\n iconName: 'card-spade',\n icon: [384, 512, [], \"e3ec\", \"M64 32C46.3 32 32 46.3 32 64V448c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H64zM0 64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zm180.7 68.2c6.2-6.2 16.4-6.2 22.6 0l33.9 33.9L297 225.9c25 25 25 65.5 0 90.5c-24.5 24.5-63.9 25-89 1.5V352h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H160c-8.8 0-16-7.2-16-16s7.2-16 16-16h16V317.8c-25.1 23.5-64.5 23-89-1.5c-25-25-25-65.5 0-90.5l59.7-59.7 33.9-33.9zM192 166.1l-22.6 22.6-59.7 59.7c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l25.8-25.8c3-3 7.1-4.7 11.3-4.7s8.3 1.7 11.3 4.7l25.8 25.8c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-59.7-59.7L192 166.1z\"]\n};\nvar faLineColumns = {\n prefix: 'fal',\n iconName: 'line-columns',\n icon: [512, 512, [], \"f870\", \"M16 48C7.2 48 0 55.2 0 64s7.2 16 16 16H208c8.8 0 16-7.2 16-16s-7.2-16-16-16H16zm0 128c-8.8 0-16 7.2-16 16s7.2 16 16 16H208c8.8 0 16-7.2 16-16s-7.2-16-16-16H16zM0 320c0 8.8 7.2 16 16 16H208c8.8 0 16-7.2 16-16s-7.2-16-16-16H16c-8.8 0-16 7.2-16 16zM16 432c-8.8 0-16 7.2-16 16s7.2 16 16 16H208c8.8 0 16-7.2 16-16s-7.2-16-16-16H16zM288 192c0 8.8 7.2 16 16 16H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H304c-8.8 0-16 7.2-16 16zM304 48c-8.8 0-16 7.2-16 16s7.2 16 16 16H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H304zM288 320c0 8.8 7.2 16 16 16H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H304c-8.8 0-16 7.2-16 16zm16 112c-8.8 0-16 7.2-16 16s7.2 16 16 16H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H304z\"]\n};\nvar faAnt = {\n prefix: 'fal',\n iconName: 'ant',\n icon: [640, 512, [], \"e680\", \"M513.9 36.7c3-3 7.1-4.7 11.3-4.7L592 32c8.8 0 16-7.2 16-16s-7.2-16-16-16L525.3 0c-12.7 0-24.9 5.1-33.9 14.1L456.2 49.2C406.2 56.8 368 99.9 368 152c0 14.3 2.9 27.9 8.1 40.3c-2.7-.2-5.4-.3-8.1-.3c-27.4 0-52.2 11.5-69.7 30c-16.5-54.4-67.1-94-126.9-94l-6.1 0C74 128 0 202 0 293.3C0 343.4 40.6 384 90.7 384l34.9 0L66.1 488.1c-4.4 7.7-1.7 17.4 6 21.8s17.4 1.7 21.8-6L162.4 384l29.6 0c4.8 0 9.5-.3 14.1-.9l-60 104.9c-4.4 7.7-1.7 17.4 6 21.8s17.4 1.7 21.8-6l78.7-137.7c12.6-8.1 23.4-18.6 31.8-30.9c4.6 8.1 10.3 15.5 17 21.9l-11.2 18.6-.2 .3s0 0 0 0l-64 112c-4.4 7.7-1.7 17.4 6 21.8s17.4 1.7 21.8-6l63.9-111.9 10.1-16.8c12.2 5.6 25.8 8.7 40.1 8.7c12.3 0 24-2.3 34.9-6.5L443.4 418c4.6 4.6 8.2 10.1 10.6 16.1l27.1 67.8c3.3 8.2 12.6 12.2 20.8 8.9s12.2-12.6 8.9-20.8l-27.1-67.8c-4-10.1-10-19.2-17.7-26.9l-35-35c6.8-5.9 12.7-12.7 17.6-20.3l85.1 60.8c8.3 5.9 14.4 14.3 17.6 23.9l25.4 76.3c2.8 8.4 11.9 12.9 20.2 10.1s12.9-11.9 10.1-20.2l-25.4-76.3c-5.3-16-15.6-30-29.4-39.8L461.5 310c1.7-7.1 2.5-14.4 2.5-22c0-11.6-2-22.6-5.8-32.9c4.5 .6 9.1 .9 13.8 .9l61.3 0c41.2 0 74.7-33.4 74.7-74.7c0-64.9-46.4-119-107.8-130.9l13.8-13.8zM400 152c0-39.8 32.2-72 72-72l2.7 0c56 0 101.3 45.4 101.3 101.3c0 23.6-19.1 42.7-42.7 42.7L472 224c-39.8 0-72-32.2-72-72zm32 136a64 64 0 1 1 -128 0 64 64 0 1 1 128 0zM165.3 160l6.1 0C227 160 272 205 272 260.6l0 11.4c0 44.2-35.8 80-80 80L90.7 352C58.3 352 32 325.7 32 293.3C32 219.7 91.7 160 165.3 160zM496 164a20 20 0 1 0 0-40 20 20 0 1 0 0 40z\"]\n};\nvar faArrowRightToLine = {\n prefix: 'fal',\n iconName: 'arrow-right-to-line',\n icon: [448, 512, [8677, \"arrow-to-right\"], \"f340\", \"M448 80c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 352c0 8.8 7.2 16 16 16s16-7.2 16-16l0-352zM347.3 267.3c6.2-6.2 6.2-16.4 0-22.6l-128-128c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L297.4 240 192 240 16 240c-8.8 0-16 7.2-16 16s7.2 16 16 16l176 0 105.4 0L196.7 372.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l128-128z\"]\n};\nvar faArrowToRight = faArrowRightToLine;\nvar faPersonFallingBurst = {\n prefix: 'fal',\n iconName: 'person-falling-burst',\n icon: [640, 512, [], \"e547\", \"M240 0c8.8 0 16 7.2 16 16l0 10.8c0 55.4-29.2 105.8-75.2 133.7l67.3 102.6 59.4-5.9c13.2-1.3 25.9 5.7 31.8 17.5l43.1 86.1c4 7.9 .7 17.5-7.2 21.5s-17.5 .7-21.5-7.2L310.6 289l-64.4 6.4-57.5 44.7 96.6 147.1c4.9 7.4 2.8 17.3-4.6 22.2s-17.3 2.8-22.2-4.6L79.8 232.6C69.6 250.7 64 271.5 64 293.2L64 368c0 8.8-7.2 16-16 16s-16-7.2-16-16V293.2c0-67.3 43.1-127.1 106.9-148.4c3.2-1.1 6.2-2.2 9.3-3.5c.2-.1 .4-.3 .6-.4c1.6-1.1 3.4-1.8 5.2-2.2c42.4-20.6 70-63.8 70-111.9L224 16c0-8.8 7.2-16 16-16zM171.1 313.3l47.4-36.9L151.6 174.3c-.8 .3-1.7 .6-2.5 .9c-18.9 6.3-35.5 16.8-48.9 30.4c.4 .5 .9 1.1 1.3 1.7l69.7 106.1zM56 112a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-80a56 56 0 1 1 0 112A56 56 0 1 1 56 32zM464 291.5l-57 47.2-27.6-55.2L380 251l-21.4-4.5c-13.2-15-32.9-23.2-53.3-21.5l-11.8 1c-.4-.9-.7-1.9-1-2.9c-1.4-6.1 .9-12.4 5.8-16.2l60.9-46.8L324.6 91.4c-2.8-5.6-2.1-12.3 1.8-17.2s10.3-7.1 16.3-5.6l74.6 18.4 32.1-69.8C452.1 11.6 457.8 8 464 8s11.9 3.6 14.5 9.3l32.1 69.8 74.6-18.4c6.1-1.5 12.5 .7 16.3 5.6s4.6 11.6 1.8 17.2l-34.6 68.6 60.9 46.8c5 3.8 7.2 10.2 5.8 16.2s-6.2 10.8-12.3 12.1L548 251l1.4 76.8c.1 6.2-3.4 12-9.1 14.7s-12.3 1.9-17.1-2.1l-59.2-49zm0-229.2l-23.1 50.2c-3.2 7-10.9 10.7-18.4 8.9l-53.7-13.3 24.9 49.4c3.5 6.9 1.6 15.2-4.5 19.9l-43.8 33.7 54.1 11.3c7.5 1.6 12.9 8.3 12.7 15.9l-1 55.3 42.6-35.2c5.9-4.9 14.5-4.9 20.4 0l42.6 35.2-1-55.3c-.1-7.7 5.2-14.4 12.7-15.9l54.1-11.3-43.8-33.7c-6.1-4.7-8-13-4.5-19.9l24.9-49.4-53.7 13.3c-7.5 1.8-15.2-1.9-18.4-8.9L464 62.3z\"]\n};\nvar faFlagPennant = {\n prefix: 'fal',\n iconName: 'flag-pennant',\n icon: [448, 512, [128681, \"pennant\"], \"f456\", \"M32 16C32 7.2 24.8 0 16 0S0 7.2 0 16V32 64 320v32V496c0 8.8 7.2 16 16 16s16-7.2 16-16V350.9L432.9 213.2c9.1-3.1 15.1-11.6 15.1-21.2s-6.1-18.1-15.1-21.2L32 33.1V16zm0 50.9L396.1 192 32 317.1V66.9z\"]\n};\nvar faPennant = faFlagPennant;\nvar faConveyorBeltEmpty = {\n prefix: 'fal',\n iconName: 'conveyor-belt-empty',\n icon: [640, 512, [], \"e150\", \"M96 352c-35.3 0-64 28.7-64 64s28.7 64 64 64H544c35.3 0 64-28.7 64-64s-28.7-64-64-64H96zM0 416c0-53 43-96 96-96H544c53 0 96 43 96 96s-43 96-96 96H96c-53 0-96-43-96-96zm128-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm168 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm216-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faUserGroupSimple = {\n prefix: 'fal',\n iconName: 'user-group-simple',\n icon: [640, 512, [], \"e603\", \"M88 136a72 72 0 1 1 144 0A72 72 0 1 1 88 136zm176 0A104 104 0 1 0 56 136a104 104 0 1 0 208 0zm144 0a72 72 0 1 1 144 0 72 72 0 1 1 -144 0zm176 0a104 104 0 1 0 -208 0 104 104 0 1 0 208 0zM208 320c53 0 96 43 96 96v16c0 8.8-7.2 16-16 16H48c-8.8 0-16-7.2-16-16V416c0-53 43-96 96-96h80zm-80-32C57.3 288 0 345.3 0 416v16c0 26.5 21.5 48 48 48H288c26.5 0 48-21.5 48-48V416c0-32.4-12-61.9-31.8-84.4C280.7 304.9 246.3 288 208 288H128zM432 480h80c70.7 0 128-57.3 128-128V336c0-26.5-21.5-48-48-48H352c-12.7 0-24.2 4.9-32.8 13c7.7 7.4 14.7 15.7 20.8 24.5c2.9-3.4 7.2-5.5 12.1-5.5H592c8.8 0 16 7.2 16 16v16c0 53-43 96-96 96H432c-24.6 0-47-9.2-64-24.4V432c0 9.8-1.8 19.2-5 27.8c19.9 12.8 43.6 20.2 69 20.2z\"]\n};\nvar faAward = {\n prefix: 'fal',\n iconName: 'award',\n icon: [384, 512, [], \"f559\", \"M166.5 7.2c15.7-9.5 35.3-9.5 51 0l16.4 10c2.8 1.7 6 2.6 9.3 2.5l19.2-.5c18.3-.4 35.4 9.4 44.2 25.5l9.2 16.8c1.6 2.9 3.9 5.2 6.8 6.8l16.8 9.2c16.1 8.8 25.9 25.8 25.5 44.2l-.5 19.2c-.1 3.3 .8 6.5 2.5 9.3l10 16.4c9.5 15.7 9.5 35.3 0 51l-10 16.4c-1.7 2.8-2.6 6-2.5 9.3l.5 19.2c.4 18.3-9.4 35.4-25.5 44.2l-16.8 9.2c-2.9 1.6-5.2 3.9-6.8 6.8l-9.2 16.8c-8.8 16.1-25.8 25.9-44.2 25.5l-19.2-.5c-3.3-.1-6.5 .8-9.3 2.5l-16.4 10c-15.7 9.5-35.3 9.5-51 0l-16.4-10c-2.8-1.7-6-2.6-9.3-2.5l-19.2 .5c-18.3 .4-35.4-9.4-44.2-25.5l-9.2-16.8c-1.6-2.9-3.9-5.2-6.8-6.8l-16.8-9.2c-16.1-8.8-25.9-25.8-25.5-44.2l.5-19.2c.1-3.3-.8-6.5-2.5-9.3l-10-16.4c-9.5-15.7-9.5-35.3 0-51l10-16.4 13.7 8.3-13.7-8.3c1.7-2.8 2.6-6 2.5-9.3l-.5-19.2c-.4-18.3 9.4-35.4 25.5-44.2l16.8-9.2c2.9-1.6 5.2-3.9 6.8-6.8l9.2-16.8c8.8-16.1 25.8-25.9 44.2-25.5l19.2 .5c3.3 .1 6.5-.8 9.3-2.5l16.4-10zm34.4 27.3c-5.4-3.3-12.3-3.3-17.7 0l-16.4 10c-8 4.9-17.3 7.4-26.7 7.1l-19.2-.5c-6.4-.2-12.3 3.3-15.3 8.9L96.4 76.9c-4.5 8.2-11.3 15-19.5 19.5L60 105.6c-5.6 3.1-9 9-8.9 15.3l.5 19.2c.2 9.4-2.3 18.6-7.1 26.7l-10 16.4c-3.3 5.4-3.3 12.3 0 17.7l10 16.4c4.9 8 7.4 17.3 7.1 26.7l-.5 19.2c-.2 6.4 3.3 12.3 8.9 15.3l16.8 9.2c8.2 4.5 15 11.3 19.5 19.5l9.2 16.8c3.1 5.6 9 9 15.3 8.9l19.2-.5c9.4-.2 18.6 2.3 26.7 7.1l16.4 10c5.4 3.3 12.3 3.3 17.7 0l16.4-10c8-4.9 17.3-7.4 26.7-7.1l19.2 .5c6.4 .2 12.3-3.3 15.3-8.9l9.2-16.8c4.5-8.2 11.3-15 19.5-19.5l16.8-9.2c5.6-3.1 9-9 8.9-15.3l-.5-19.2c-.2-9.4 2.3-18.6 7.1-26.7l10-16.4c3.3-5.4 3.3-12.3 0-17.7l-10-16.4c-4.9-8-7.4-17.3-7.1-26.7l.5-19.2c.2-6.4-3.3-12.3-8.9-15.3l-16.8-9.2c-8.2-4.5-15-11.3-19.5-19.5L278.4 60c-3.1-5.6-9-9-15.3-8.9l-19.2 .5c-9.4 .2-18.6-2.3-26.7-7.1l-16.4-10zM192 136a56 56 0 1 0 0 112 56 56 0 1 0 0-112zm88 56a88 88 0 1 1 -176 0 88 88 0 1 1 176 0zM1.3 441.8l41.2-97.9c1.5 1.8 3.6 4.8 6.9 10.8c4 7.4 9.1 14 15 19.6L41.8 428l38.1-5.7c6.2-.9 12.3 1.8 15.7 7.1L116.9 462l26-61.8c1.8 .9 4.1 2.2 6.9 3.9c7 4.3 14.5 7.4 22.2 9.3l-37.3 88.7c-2.3 5.5-7.4 9.2-13.3 9.7s-11.6-2.2-14.8-7.2L74.4 455.5l-56.1 8.3c-5.7 .8-11.4-1.5-15-6s-4.3-10.7-2.1-16zm248 60.4l-37.3-88.7c7.7-2 15.2-5.1 22.2-9.3c2.8-1.7 5.1-3 6.9-3.9l26 61.8 21.3-32.6c3.4-5.2 9.6-8 15.7-7.1l38.1 5.7-22.6-53.7c5.9-5.6 11-12.2 15-19.6c3.3-6 5.4-9 6.9-10.8l41.2 97.9c2.2 5.3 1.4 11.4-2.1 16s-9.3 6.9-15 6l-56.1-8.3-32.2 49.2c-3.2 5-8.9 7.7-14.8 7.2s-11-4.3-13.3-9.7z\"]\n};\nvar faTicketSimple = {\n prefix: 'fal',\n iconName: 'ticket-simple',\n icon: [576, 512, [\"ticket-alt\"], \"f3ff\", \"M0 128C0 92.7 28.7 64 64 64H512c35.3 0 64 28.7 64 64v66c0 7.3-4.9 13.7-12 15.5c-20.7 5.3-36 24.1-36 46.5s15.3 41.2 36 46.5c7.1 1.8 12 8.2 12 15.5v66c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V318c0-7.3 4.9-13.7 12-15.5c20.7-5.3 36-24.1 36-46.5s-15.3-41.2-36-46.5C4.9 207.7 0 201.3 0 194V128zM64 96c-17.7 0-32 14.3-32 32v54.7C60.2 195 80 223.2 80 256s-19.8 61-48 73.3V384c0 17.7 14.3 32 32 32H512c17.7 0 32-14.3 32-32V329.3c-28.2-12.3-48-40.5-48-73.3s19.8-61 48-73.3V128c0-17.7-14.3-32-32-32H64z\"]\n};\nvar faTicketAlt = faTicketSimple;\nvar faBuilding = {\n prefix: 'fal',\n iconName: 'building',\n icon: [384, 512, [127970, 61687], \"f1ad\", \"M64 32C46.3 32 32 46.3 32 64V448c0 17.7 14.3 32 32 32h64V416c0-35.3 28.7-64 64-64s64 28.7 64 64v64h64c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H64zM224 416c0-17.7-14.3-32-32-32s-32 14.3-32 32v64h64V416zm-96 96H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H256 224 160 128zM64 120c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H88c-13.3 0-24-10.7-24-24V120zm32 8v32h32V128H96zM248 96h48c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H248c-13.3 0-24-10.7-24-24V120c0-13.3 10.7-24 24-24zm8 64h32V128H256v32zM64 248c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H88c-13.3 0-24-10.7-24-24V248zm32 8v32h32V256H96zm152-32h48c13.3 0 24 10.7 24 24v48c0 13.3-10.7 24-24 24H248c-13.3 0-24-10.7-24-24V248c0-13.3 10.7-24 24-24zm8 64h32V256H256v32z\"]\n};\nvar faAnglesLeft = {\n prefix: 'fal',\n iconName: 'angles-left',\n icon: [512, 512, [171, \"angle-double-left\"], \"f100\", \"M52.7 244.7c-6.2 6.2-6.2 16.4 0 22.6l160 160c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L86.6 256 235.3 107.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-160 160zm352-160l-160 160c-6.2 6.2-6.2 16.4 0 22.6l160 160c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L278.6 256 427.3 107.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0z\"]\n};\nvar faAngleDoubleLeft = faAnglesLeft;\nvar faCamcorder = {\n prefix: 'fal',\n iconName: 'camcorder',\n icon: [576, 512, [128249, \"video-handheld\"], \"f8a8\", \"M96 112c0-26.5 21.5-48 48-48H304c8.8 0 16-7.2 16-16s-7.2-16-16-16H144c-44.2 0-80 35.8-80 80v48c-35.3 0-64 28.7-64 64V416c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V399 241 224c0-35.3-28.7-64-64-64H96V112zM80 192H320c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V224c0-17.7 14.3-32 32-32H80zM520.3 460.5c5.1 2.3 10.6 3.5 16.2 3.5c21.8 0 39.5-17.7 39.5-39.5v-209c0-21.8-17.7-39.5-39.5-39.5c-5.6 0-11.1 1.2-16.2 3.5L416 226.4v35.1l117.4-52.8c1-.4 2-.7 3.1-.7c4.2 0 7.5 3.4 7.5 7.5v209c0 4.2-3.4 7.5-7.5 7.5c-1.1 0-2.1-.2-3.1-.7L416 378.5v35.1l104.3 46.9zM64 240c0 8.8 7.2 16 16 16H304c8.8 0 16-7.2 16-16s-7.2-16-16-16H80c-8.8 0-16 7.2-16 16z\"]\n};\nvar faVideoHandheld = faCamcorder;\nvar faPancakes = {\n prefix: 'fal',\n iconName: 'pancakes',\n icon: [512, 512, [129374], \"e42d\", \"M73.8 100c8.5-6.2 21.9-12.5 39.9-18c13.7-4.2 29.6-7.9 47.2-10.7c-.5 2.8-.8 5.7-.8 8.7c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48c0-3-.3-5.9-.8-8.7c17.5 2.9 33.4 6.5 47.2 10.7c18 5.5 31.3 11.8 39.9 18c8.9 6.5 9.8 10.7 9.8 12c0 1.1-.6 4.3-6.6 9.5c-5.9 5.1-15.5 10.5-29 15.7c-26.7 10.2-65.3 18-110.4 21.2c-25.2 1.8-46.1 22.4-46.1 48.7V288c0 8.8-7.2 16-16 16s-16-7.2-16-16V202.3c0-25.1-20.7-43.9-43.1-46.7c-28.5-3.5-52.9 18.5-52.9 47V336c0 8.8-7.2 16-16 16s-16-7.2-16-16V166.1c0-19-11.4-33.8-23.4-43c-7.9-6-8.6-9.9-8.6-11.1c0-1.3 .9-5.5 9.8-12zM199.5 66.5C217.3 64.9 236.3 64 256 64s38.7 .9 56.5 2.5C317 69.3 320 74.3 320 80c0 8.8-7.2 16-16 16H208c-8.8 0-16-7.2-16-16c0-5.7 3-10.7 7.5-13.5zm-95.3-15C84.5 57.5 67.5 65 54.9 74.1C42.8 83 32 95.6 32 112c0 15.6 9.8 27.8 21.1 36.5c7.4 5.7 10.9 12.1 10.9 17.6V336c0 26.5 21.5 48 48 48s48-21.5 48-48V202.5c0-9.5 7.8-16.3 17-15.2c8.9 1.1 15 8.5 15 14.9V288c0 26.5 21.5 48 48 48s48-21.5 48-48V207.1c0-8.5 6.9-16.1 16.4-16.8c47-3.4 88.9-11.6 119.5-23.3c15.2-5.8 28.6-12.9 38.4-21.3C472 137.4 480 126.1 480 112c0-16.4-10.8-29-22.9-37.9c-12.5-9.1-29.6-16.6-49.3-22.7C368.2 39.3 314.6 32 256 32s-112.2 7.3-151.8 19.5zM426.8 210.7c-28.1 9.5-64.7 15.9-106.8 19v32.1c64.8-4.6 119.7-16.7 153.9-37.3c4.6 5.8 6.1 11.2 6.1 15.5c0 10.8-8.9 27.7-53.2 42.7c-28.4 9.6-65.4 16-108 19.1c-2.1 12.1-7 23.3-13.9 32.9c71.3-3.8 132.1-16.1 169-38.3c4.6 5.8 6.1 11.2 6.1 15.5c0 10.8-8.9 27.7-53.2 42.7C385.2 368.8 325.1 376 256 376c-25.8 0-50.3-1-73.1-3c-6.2 11.9-15.3 22-26.3 29.4c30.6 3.8 64.1 5.6 99.4 5.6c92.1 0 172.8-12.4 217.9-39.5c4.6 5.8 6.1 11.2 6.1 15.5c0 10.8-8.9 27.7-53.2 42.7C385.2 440.8 325.1 448 256 448s-129.2-7.2-170.8-21.3C40.9 411.7 32 394.8 32 384c0-4.4 1.4-9.7 6.1-15.5l1.1 .6C34.6 359 32 347.8 32 336V312 240 172.6c-8.9-7.1-18.9-17.3-25.3-30.9C2.3 149.8 0 158.5 0 168c0 13.5 4.7 25.5 13.4 36C4.7 214.5 0 226.5 0 240s4.7 25.5 13.4 36C4.7 286.5 0 298.5 0 312s4.7 25.5 13.4 36C4.7 358.5 0 370.5 0 384c0 66.7 114.6 96 256 96s256-29.3 256-96c0-13.5-4.7-25.5-13.4-36c8.7-10.5 13.4-22.5 13.4-36s-4.7-25.5-13.4-36c8.7-10.5 13.4-22.5 13.4-36s-4.7-25.5-13.4-36c8.7-10.5 13.4-22.5 13.4-36c0-9.5-2.3-18.3-6.7-26.3c-5.8 12.1-14.3 21.6-22.2 28.3c-1.2 1-2.5 2.1-3.7 3.1c-2.7 10.6-14.7 24.8-52.6 37.6z\"]\n};\nvar faAlbumCircleUser = {\n prefix: 'fal',\n iconName: 'album-circle-user',\n icon: [576, 512, [], \"e48d\", \"M384 64H64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H275.2c5.9 11.4 12.9 22.2 21 32H64c-35.3 0-64-28.7-64-64V96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64v96.7c-5.3-.5-10.6-.7-16-.7s-10.7 .2-16 .7V96c0-17.7-14.3-32-32-32zM224 96c69.3 0 128.3 44 150.5 105.6c-10.2 3.5-20 8-29.3 13.2C328.1 164.3 280.3 128 224 128c-70.7 0-128 57.3-128 128s57.3 128 128 128c11.2 0 22-1.4 32.4-4.1c.7 10.9 2.4 21.5 5 31.7c-12 2.9-24.5 4.4-37.4 4.4c-88.4 0-160-71.6-160-160s71.6-160 160-160zm0 136a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM492 462.6c-7.8-9.1-19.4-14.6-31.8-14.6H403.8c-12.4 0-23.9 5.5-31.8 14.6c17.3 11 37.9 17.4 60 17.4s42.7-6.4 60-17.4zm24.3-20.8C533.5 422.1 544 396.2 544 368c0-61.9-50.1-112-112-112s-112 50.1-112 112c0 28.2 10.5 54.1 27.7 73.8c13.8-16.1 34.2-25.8 56.1-25.8h56.4c21.8 0 42.2 9.6 56.1 25.8zM288 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144 0a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-80a56 56 0 1 1 0 112 56 56 0 1 1 0-112z\"]\n};\nvar faSubtitlesSlash = {\n prefix: 'fal',\n iconName: 'subtitles-slash',\n icon: [640, 512, [], \"e610\", \"M25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4zM459.9 448H96c-17.7 0-32-14.3-32-32V135.4L32 110.2V416c0 35.3 28.7 64 64 64H500.4l-40.5-32zM544 32H139.6l40.5 32H544c17.7 0 32 14.3 32 32V376.6l32 25.3V96c0-35.3-28.7-64-64-64zM423.3 256l40.5 32H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H423.3zM144 256c-8.8 0-16 7.2-16 16s7.2 16 16 16H257.2l-40.5-32H144zm160 96c-8.8 0-16 7.2-16 16s7.2 16 16 16h74.8l-40.5-32H304zm-160 0c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H144z\"]\n};\nvar faQrcode = {\n prefix: 'fal',\n iconName: 'qrcode',\n icon: [448, 512, [], \"f029\", \"M144 64H48c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16zM48 32h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80C0 53.5 21.5 32 48 32zm96 288H48c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16V336c0-8.8-7.2-16-16-16zM48 288h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V336c0-26.5 21.5-48 48-48zM304 64c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16H304zM256 80c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H304c-26.5 0-48-21.5-48-48V80zm0 224c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16v68h64V304c0-8.8 7.2-16 16-16s16 7.2 16 16v84c0 8.8-7.2 16-16 16H336c-8.8 0-16-7.2-16-16V320H288V472c0 8.8-7.2 16-16 16s-16-7.2-16-16V304zM88 104h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H88c-8.8 0-16-7.2-16-16V120c0-8.8 7.2-16 16-16zM72 376c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H88c-8.8 0-16-7.2-16-16V376zM344 104h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H344c-8.8 0-16-7.2-16-16V120c0-8.8 7.2-16 16-16zM320 448c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H336c-8.8 0-16-7.2-16-16V448zm96-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16H416c-8.8 0-16-7.2-16-16V448c0-8.8 7.2-16 16-16z\"]\n};\nvar faDiceD10 = {\n prefix: 'fal',\n iconName: 'dice-d10',\n icon: [512, 512, [], \"f6cd\", \"M213.8 84.1L55.6 264.1l92.7-21.8L213.8 84.1zM48.6 298.6L240 463.6V328.6l-83.1-55.4L48.6 298.6zM272 463.6l191.4-165L355.1 273.2 272 328.6V463.6zM456.4 264.1L298.2 84.1l65.4 158.2 92.7 21.8zM256 0c6.9 0 13.5 3 18 8.2l232 264c4.2 4.8 6.4 11.1 5.9 17.5s-3.4 12.3-8.3 16.5l-232 200c-9 7.8-22.3 7.8-31.3 0l-232-200C3.5 302 .5 296 .1 289.7S1.7 277 6 272.2L238 8.2C242.5 3 249.1 0 256 0zm0 300.8L332.2 250 256 65.8 179.8 250 256 300.8z\"]\n};\nvar faFireplace = {\n prefix: 'fal',\n iconName: 'fireplace',\n icon: [640, 512, [], \"f79a\", \"M0 32C0 14.3 14.3 0 32 0H608c17.7 0 32 14.3 32 32V96c0 17.7-14.3 32-32 32V480c0 17.7-14.3 32-32 32H512c-17.7 0-32-14.3-32-32V352c0-88.4-71.6-160-160-160s-160 71.6-160 160V480c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V128C14.3 128 0 113.7 0 96V32zm64 96V480h64V352c0-106 86-192 192-192s192 86 192 192V480h64V128H64zM608 32H32V96H608V32zM296.8 287.5c-14 13.1-28.8 29.2-40.4 46.6c-13.1 19.6-21.2 39.5-21.2 58c0 19.8 6.5 37.8 17.7 52.2c0-1-.1-1.9-.1-2.9c0-40.2 44.6-77.3 61.1-89.7c3.6-2.7 8.5-2.7 12.1 0c16.5 12.4 61.1 49.6 61.1 89.7c0 .9 0 1.8-.1 2.7c11.1-14.3 17.7-32.3 17.7-51.9c0-14.7-5.6-31.7-14.9-48.5c-8-14.3-18.1-27.5-28.3-37.9l-11.4 12.8c-3 3.3-7.2 5.3-11.7 5.4s-8.8-1.7-11.9-5l-29.9-31.5zm-16.6-28.2c9.6-8.7 24.4-8.7 33.9 .1c.3 .3 .6 .5 .8 .8l23 24.1 5.1-5.8c.4-.4 .7-.8 1.1-1.2c9.7-8.9 24.7-8.9 34.3 .1c14.2 13.1 28.5 31 39.4 50.6c10.8 19.5 18.9 41.9 18.9 64c0 64.7-52.1 116.7-116.8 116.7c-65.4 0-116.8-52.1-116.8-116.7c0-27.5 11.8-53.6 26.6-75.8c14.9-22.3 33.8-42.1 50.4-57zM320 472.1c21.6 0 35.2-15.8 35.2-30.7c0-8.8-5.3-20.8-17-34.8c-5.9-7-12.4-13.4-18.2-18.6c-5.9 5.2-12.4 11.5-18.2 18.6c-11.6 13.9-17 26-17 34.8c0 14.9 13.6 30.7 35.2 30.7z\"]\n};\nvar faBrowser = {\n prefix: 'fal',\n iconName: 'browser',\n icon: [512, 512, [128468], \"f37e\", \"M160 64v64H480V96c0-17.7-14.3-32-32-32H160zm-32 0H64C46.3 64 32 78.3 32 96v32h96V64zM32 160V416c0 17.7 14.3 32 32 32H448c17.7 0 32-14.3 32-32V160H144 32zM0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96z\"]\n};\nvar faPenPaintbrush = {\n prefix: 'fal',\n iconName: 'pen-paintbrush',\n icon: [576, 512, [\"pencil-paintbrush\"], \"f618\", \"M320.5 410c4.9 39.5 38.6 70 79.4 70H539.1c-21.2 0-37.5-11.5-47.2-24.9c-9.5-13.1-14.2-30-12.5-46.7c.3-2.7 .4-5.5 .4-8.3c0-40.8-30.5-74.5-70-79.4l26.5-26.5c43.9 15.1 75.5 56.8 75.5 105.9c0 3.9-.2 7.8-.6 11.6c-1.8 17.5 10.2 36.4 27.8 36.4h4.8c17.7 0 32 14.3 32 32s-14.3 32-32 32h-144c-49.1 0-90.8-31.6-105.9-75.5L320.5 410zm-187-186L18.7 109.3c-25-25-25-65.5 0-90.5s65.5-25 90.5 0L224 133.5l-22.6 22.6L86.6 41.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L156.1 201.4 133.5 224zM461.8 39.6c-9.4-9.4-24.6-9.4-33.9 0L373 94.4 449.6 171l54.8-54.8c9.4-9.4 9.4-24.6 0-33.9L461.8 39.6zM115.1 352.4c-7.6 7.6-13.1 16.9-16.1 27.2L71.6 472.4l92.8-27.3c10.3-3 19.6-8.6 27.2-16.1L427 193.6 350.4 117 115.1 352.4zM405.2 17c21.9-21.9 57.3-21.9 79.2 0L527 59.6c21.9 21.9 21.9 57.3 0 79.2L214.3 451.6c-11.4 11.4-25.4 19.7-40.8 24.2l-121 35.6c-5.6 1.7-11.7 .1-15.8-4s-5.7-10.2-4-15.8l35.6-121c4.5-15.4 12.9-29.4 24.2-40.8L405.2 17z\"]\n};\nvar faPencilPaintbrush = faPenPaintbrush;\nvar faFishCooked = {\n prefix: 'fal',\n iconName: 'fish-cooked',\n icon: [576, 512, [], \"f7fe\", \"M143.4 191.2c21.4-23.6 49.6-47.6 80.7-65.6C255.3 107.5 288.4 96 320 96c51.6 0 108.2 26.5 152.4 61.5c22 17.4 40.2 36.4 52.9 54.3c13 18.4 18.7 33.7 18.7 44.2s-5.7 25.8-18.7 44.2c-12.6 17.9-30.9 36.9-52.9 54.3C428.2 389.5 371.6 416 320 416c-31.6 0-64.7-11.5-95.9-29.6c-31.1-18-59.3-42-80.7-65.6c-5.4-5.9-14.3-7-20.9-2.4L37.6 376.8 62.1 266.4c1.5-6.9 1.5-14 0-20.8L37.6 135.2l84.9 58.4c6.6 4.5 15.5 3.5 20.9-2.4zM320 64c-39.1 0-77.8 14.1-111.9 33.9c-29.8 17.2-56.8 39.3-78.7 61.6L43.7 100.6c-4.4-3-9.6-4.6-14.9-4.6C12 96-.5 111.6 3.2 128L30.8 252.5c.5 2.3 .5 4.7 0 6.9L3.2 384c-3.6 16.4 8.8 32 25.6 32c5.3 0 10.5-1.6 14.9-4.6l-9.1-13.2 9.1 13.2 85.6-58.9c21.9 22.4 49 44.4 78.7 61.6C242.2 433.9 280.9 448 320 448c61.4 0 124.8-30.9 172.3-68.5c23.9-18.9 44.4-40.1 59.2-60.9C565.8 298.2 576 276.2 576 256s-10.2-42.2-24.5-62.6c-14.7-20.8-35.2-42-59.2-60.9C444.8 94.9 381.4 64 320 64zm-4.7 107.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-64 64c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l64-64zm112 16c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-160 160c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l160-160zm16 112c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-64 64c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l64-64z\"]\n};\nvar faChairOffice = {\n prefix: 'fal',\n iconName: 'chair-office',\n icon: [448, 512, [], \"f6c1\", \"M288 32c17.7 0 32 14.3 32 32V224h32V64c0-35.3-28.7-64-64-64H160C124.7 0 96 28.7 96 64V224h32V64c0-17.7 14.3-32 32-32H288zM64 144c0-8.8-7.2-16-16-16s-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16V144zm352 0c0-8.8-7.2-16-16-16s-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16V144zM352 288l32 64-160 0H64l32-64H352zM240 384H384c11.1 0 21.4-5.7 27.2-15.2s6.4-21.2 1.4-31.1l-32-64C375.2 262.8 364.1 256 352 256H96c-12.1 0-23.2 6.8-28.6 17.7l-32 64c-5 9.9-4.4 21.7 1.4 31.1S52.9 384 64 384H208v48H192c-35.3 0-64 28.7-64 64c0 8.8 7.2 16 16 16s16-7.2 16-16c0-17.7 14.3-32 32-32h16v32c0 8.8 7.2 16 16 16s16-7.2 16-16V464h16c17.7 0 32 14.3 32 32c0 8.8 7.2 16 16 16s16-7.2 16-16c0-35.3-28.7-64-64-64H240V384z\"]\n};\nvar faMagnifyingGlassMusic = {\n prefix: 'fal',\n iconName: 'magnifying-glass-music',\n icon: [512, 512, [], \"e65f\", \"M208 32a176 176 0 1 1 0 352 176 176 0 1 1 0-352zm0 384c51.7 0 99-18.8 135.3-50L484.7 507.3c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L366 343.3c31.2-36.4 50-83.7 50-135.3C416 93.1 322.9 0 208 0S0 93.1 0 208S93.1 416 208 416zM281.6 99.2c-4-3-9.2-4-14-2.6l-56 16c-6.9 2-11.6 8.2-11.6 15.4v63.6c0 .2 0 .5 0 .7v21.2c-8.4-3.5-17.9-5.5-28-5.5c-33.1 0-60 21.5-60 48s26.9 48 60 48s60-21.5 60-48v0V204.1l44.4-12.7c6.9-2 11.6-8.2 11.6-15.4V112c0-5-2.4-9.8-6.4-12.8zM194.4 247c4.7 3.8 5.6 7.2 5.6 9v0c0 1.8-.8 5.2-5.6 8.9c-4.8 3.8-12.6 7-22.4 7s-17.6-3.2-22.4-7c-4.7-3.8-5.6-7.2-5.6-9s.8-5.2 5.6-9c4.8-3.8 12.6-7 22.4-7s17.6 3.2 22.4 7zM232 170.8V140.1l24-6.9v30.7l-24 6.9z\"]\n};\nvar faNestingDolls = {\n prefix: 'fal',\n iconName: 'nesting-dolls',\n icon: [640, 512, [], \"e3ba\", \"M192 32c53 0 96 43 96 96v80 16h32V208 128C320 57.3 262.7 0 192 0S64 57.3 64 128v80 16H96V208 128c0-53 43-96 96-96zm64.6 448H74.5c-9.2 0-14-3.5-15.9-6.4C46.9 455.7 32 424.8 32 384c0-32.6 13.6-63.3 30-96H312.2c5.4-11.4 12.1-22.2 19.9-32H51.9c-5.9 0-11.3 3.3-14 8.6C20.2 299.6 0 339.6 0 384c0 48.8 17.9 85.7 31.8 107.1C41.1 505.3 57.5 512 74.5 512H261.4c-4.8-10.1-6.4-21.3-4.8-32zM148.2 131.8c17.1-5.3 32.2-15.2 43.8-28.3c11.5 13.1 26.6 23 43.8 28.3c-2.3 5.1-5.6 9.9-9.8 14.2c-18.7 18.7-49.1 18.7-67.9 0c-4.2-4.2-7.5-9-9.8-14.2zm65.1-52.7c-5.6-7.3-14.1-10.2-21.3-10.2s-15.7 2.9-21.3 10.2c-9.2 11.9-22.4 20.4-37.5 23.5c-10.8 2.3-22.6 13.4-18.8 28.7c3.4 13.6 10.4 26.5 21.1 37.2c31.2 31.2 81.9 31.2 113.1 0c10.6-10.6 17.7-23.5 21.1-37.2c3.8-15.4-8-26.5-18.8-28.7c-15.1-3.2-28.3-11.7-37.5-23.5zM464 343.5c11.5 13.1 26.6 23 43.8 28.3c-2.3 5.1-5.6 9.9-9.8 14.2c-18.7 18.7-49.1 18.7-67.9 0c-4.2-4.2-7.5-9-9.8-14.2c17.1-5.3 32.2-15.2 43.8-28.3zm0-34.6c-7.3 0-15.7 2.9-21.3 10.2c-9.2 11.9-22.4 20.4-37.5 23.5c-10.8 2.3-22.6 13.4-18.8 28.7c3.4 13.6 10.4 26.6 21.1 37.2c31.2 31.2 81.9 31.2 113.1 0c10.6-10.6 17.7-23.5 21.1-37.2c3.8-15.4-8-26.5-18.8-28.7c-15.1-3.2-28.3-11.7-37.5-23.5c-5.6-7.3-14.1-10.2-21.3-10.2zM588.7 455.3c3.7 8.1 7.8 16.4 12.7 24.7H326.6c4.9-8.3 9-16.6 12.7-24.7C353.1 425 360 393.3 360 360c0-57.4 46.6-104 104-104s104 46.6 104 104c0 33.3 6.9 65 20.7 95.3zm46.8 18.7c-7-10-12.6-20.9-17.7-32C605.9 415.9 600 388.7 600 360c0-75.1-60.9-136-136-136s-136 60.9-136 136c0 28.7-5.9 55.9-17.8 82.1c-5 11.1-10.7 22-17.7 32l0 0c-5.2 7.3-5.9 16.9-1.8 24.9c4.1 8 12.3 13 21.3 13H616c9 0 17.2-5 21.3-13s3.4-17.6-1.8-24.9z\"]\n};\nvar faClockRotateLeft = {\n prefix: 'fal',\n iconName: 'clock-rotate-left',\n icon: [512, 512, [\"history\"], \"f1da\", \"M32 132V48c0-8.8-7.2-16-16-16S0 39.2 0 48V176c0 8.8 7.2 16 16 16H144c8.8 0 16-7.2 16-16s-7.2-16-16-16H53.6C89.5 84.3 166.7 32 256 32c123.7 0 224 100.3 224 224s-100.3 224-224 224c-73.3 0-138.3-35.2-179.2-89.6c-5.3-7.1-15.3-8.5-22.4-3.2s-8.5 15.3-3.2 22.4C97.9 471.8 172.2 512 256 512c141.4 0 256-114.6 256-256S397.4 0 256 0C159.6 0 75.7 53.3 32 132zm224-4c-8.8 0-16 7.2-16 16V256c0 4.2 1.7 8.3 4.7 11.3l80 80c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L272 249.4V144c0-8.8-7.2-16-16-16z\"]\n};\nvar faHistory = faClockRotateLeft;\nvar faTrumpet = {\n prefix: 'fal',\n iconName: 'trumpet',\n icon: [640, 512, [127930], \"f8e3\", \"M608 96.8V383.2c-10-14.3-33.6-45.3-67.1-73.1C507 282.1 461.3 256 408 256H368h-5.3H288 208 160 32V224H208h80 80 40c53.3 0 99-26.1 132.9-54.1C574.4 142.1 598 111 608 96.8zM352 288V416H304V288h48zm32 128V288h24c42.8 0 81.4 21 112.5 46.8c30.9 25.6 52.8 54.6 61.7 67.4c5.9 8.5 15.6 13.9 26.4 13.9c17.4 0 31.4-14.1 31.4-31.4V95.4C640 78.1 625.9 64 608.6 64c-10.8 0-20.5 5.4-26.4 13.9c-8.9 12.8-30.8 41.8-61.7 67.4C489.4 171 450.8 192 408 192H384V176c0-8.8-7.2-16-16-16s-16 7.2-16 16v16H304V176c0-8.8-7.2-16-16-16s-16 7.2-16 16v16H224V176c0-8.8-7.2-16-16-16s-16 7.2-16 16v16H32c0-8.8-7.2-16-16-16s-16 7.2-16 16v16 64 16c0 8.8 7.2 16 16 16s16-7.2 16-16H88.4C73.2 305 64 327.4 64 352c0 53 43 96 96 96h48 80 80 48c47.4 0 86.7-34.3 94.6-79.4c-3.4-3.1-6.9-6.2-10.5-9.2c-6.7-5.5-13.5-10.6-20.5-15.2c.3 2.6 .5 5.2 .5 7.8c0 35.3-28.7 64-64 64H384zm-112 0H224V288h48V416zm-80 0H160c-35.3 0-64-28.7-64-64s28.7-64 64-64h32V416z\"]\n};\nvar faFaceGrinBeamSweat = {\n prefix: 'fal',\n iconName: 'face-grin-beam-sweat',\n icon: [512, 512, [128517, \"grin-beam-sweat\"], \"f583\", \"M432.2 68.6c-5.4 8.5-9.8 16.4-12.8 23.1c-2.6 5.8-3.2 8.8-3.4 9.6c0 .2 0 .2 0 .1c0 12.2 11.7 26.7 32 26.7s32-14.5 32-26.7c0 .1 0 .1 0-.1c-.2-.7-.8-3.7-3.4-9.5c-3-6.7-7.4-14.6-12.8-23.1c-5-7.9-10.5-15.8-15.8-23c-5.3 7.2-10.8 15.1-15.8 23zm7.3-64.5c4.3-5.5 12.8-5.5 17.1 0C473.9 25.8 512 76.3 512 101.3c0 32.5-28.7 58.7-64 58.7s-64-26.2-64-58.7c0-25 37.9-75.5 55.5-97.2zM256 32C132.3 32 32 132.3 32 256s100.3 224 224 224s224-100.3 224-224c0-20.7-2.8-40.7-8.1-59.7c-2.4-8.5 2.6-17.3 11.2-19.7s17.3 2.6 19.7 11.2c6 21.7 9.2 44.6 9.2 68.3c0 141.4-114.6 256-256 256S0 397.4 0 256S114.6 0 256 0c43.1 0 83.8 10.7 119.5 29.5c7.8 4.1 10.8 13.8 6.7 21.6S368.3 62 360.5 57.8C329.3 41.3 293.8 32 256 32zm90 313.8c-28.5 5.4-58.7 8.3-89.9 8.3s-61.4-2.9-89.9-8.3c22.6 23.6 54.5 38.3 89.9 38.3s67.3-14.7 89.9-38.3zm33.8-41.1c12.3-3.7 24.2 7 19.1 18.7c-24.1 54.6-79 92.7-142.8 92.7s-118.7-38.1-142.8-92.7c-5.2-11.7 6.8-22.4 19.1-18.7c37.3 11.1 79.3 17.4 123.8 17.4s86.4-6.3 123.8-17.4zM143.5 219.9c-2.1 8.6-10.8 13.8-19.4 11.6s-13.8-10.8-11.6-19.4c3.2-12.7 9.8-27.1 19.9-38.6C142.4 161.9 157.2 152 176 152s33.6 9.9 43.7 21.5c10 11.5 16.7 25.9 19.9 38.6c2.1 8.6-3.1 17.3-11.6 19.4s-17.3-3.1-19.4-11.6c-2.1-8.6-6.7-18.2-12.9-25.4c-6.2-7.1-12.8-10.5-19.5-10.5s-13.4 3.4-19.5 10.5c-6.2 7.2-10.8 16.8-12.9 25.4zm172.9-25.4c-6.2 7.2-10.8 16.8-12.9 25.4c-2.1 8.6-10.8 13.8-19.4 11.6s-13.8-10.8-11.6-19.4c3.2-12.7 9.8-27.1 19.9-38.6C302.4 161.9 317.2 152 336 152s33.6 9.9 43.7 21.5c10 11.5 16.7 25.9 19.9 38.6c2.1 8.6-3.1 17.3-11.6 19.4s-17.3-3.1-19.4-11.6c-2.1-8.6-6.7-18.2-12.9-25.4c-6.2-7.1-12.8-10.5-19.5-10.5s-13.4 3.4-19.5 10.5z\"]\n};\nvar faGrinBeamSweat = faFaceGrinBeamSweat;\nvar faFireSmoke = {\n prefix: 'fal',\n iconName: 'fire-smoke',\n icon: [640, 512, [], \"f74b\", \"M287.1 33.1l47.4 49.8c3.1 3.2 7.4 5 11.9 5s8.7-2 11.7-5.4l21-23.7c16.6 15.9 33.7 37.3 46.7 60.7c13.7 24.6 22.2 50 22.2 72.6c0 25.4-7.3 49.1-20 68.9c7.3 5.7 14.2 12 20.6 18.8c2.8-1.9 5.8-3.7 8.7-5.4c14.4-24 22.7-52.2 22.7-82.4c0-30-11-60.9-26.2-88.1c-15.2-27.4-35.3-52.3-55-70.6C387.6 23 370.3 23 359.1 33.3c-.4 .4-.8 .7-1.1 1.2L345.7 48.3 307.8 8.4c-.3-.3-.5-.5-.8-.8c-11.1-10.1-28.1-10.1-39.3-.1c-23.4 21.1-50 48.9-70.9 80.2C176 118.8 160 154.8 160 192.2c0 30.1 8.1 58.2 22.4 82.2c3.1 1.7 6.1 3.6 9 5.5c6.3-6.8 13.1-13 20.4-18.7c-12.6-19.9-19.8-43.5-19.8-69c0-28.4 12.4-58.2 31.4-86.7c18.4-27.5 42-52.6 63.7-72.3zm-23.2 200c4.7-9.4 11.3-19.2 19.5-29.1c12.1-14.5 25.8-27 36.6-35.8c10.7 8.8 24.5 21.3 36.6 35.8c8.2 9.9 14.8 19.6 19.5 29.1c13.9 4.7 27.1 11.1 39.2 18.9c-7-53.2-64.5-101-86.6-117.6c-5.2-3.9-12.1-3.9-17.3 0C289.2 151 231.7 198.8 224.7 252c12.1-7.8 25.3-14.2 39.2-18.9zM213.9 364c15-44.2 56.9-76 106.1-76s91.1 31.8 106.1 76c2.1 6.2 7.7 10.5 14.2 10.8s12.6-3.2 15.4-9.1C468.6 338.7 496.1 320 528 320c44.2 0 80 35.8 80 80s-35.8 80-80 80l-123.3 0-169.3 0L112 480c-44.2 0-80-35.8-80-80s35.8-80 80-80c31.9 0 59.4 18.7 72.3 45.7c2.8 5.9 8.9 9.5 15.4 9.1s12.1-4.7 14.2-10.8zM320 256c-52.6 0-98.6 28.2-123.7 70.3C175.8 302.8 145.6 288 112 288C50.1 288 0 338.1 0 400s50.1 112 112 112l123.3 0 169.3 0L528 512c61.9 0 112-50.1 112-112s-50.1-112-112-112c-33.6 0-63.8 14.8-84.3 38.3C418.6 284.2 372.6 256 320 256z\"]\n};\nvar faPhoneMissed = {\n prefix: 'fal',\n iconName: 'phone-missed',\n icon: [640, 512, [], \"e226\", \"M112 0c-8.8 0-16 7.2-16 16V144c0 8.8 7.2 16 16 16s16-7.2 16-16V54.6l98.7 98.7C251.5 178.1 285 192 320 192s68.5-13.9 93.3-38.6L523.3 43.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L390.6 130.7C371.9 149.5 346.5 160 320 160s-51.9-10.5-70.6-29.3L150.6 32H240c8.8 0 16-7.2 16-16s-7.2-16-16-16H112zM39.1 366.5C86.8 320.1 186.2 255.1 320 255.1s233.2 65 280.9 111.3c7.6 7.4 9.5 19.8 3.7 31.3l-37.4 73.5c-3.3 6.5-10.6 10-17.7 8.4l-88.7-19.8c-7.3-1.6-12.5-8.1-12.5-15.6V362.2c0-7.2-4.8-13.5-11.8-15.4l-36.1-9.9c-52.6-14.4-108.1-14.4-160.7 0l-36.1 9.9c-7 1.9-11.8 8.2-11.8 15.4v82.1c0 7.5-5.2 14-12.5 15.6L90.6 479.7c-7.1 1.6-14.4-1.9-17.7-8.4L35.5 397.8c-5.8-11.5-3.9-23.9 3.7-31.3zM320 223.1C175.8 223.1 68.8 293 16.8 343.5c-19.3 18.7-21 46.8-9.9 68.7l37.4 73.5c9.9 19.5 31.8 29.9 53.2 25.1l88.7-19.8c21.9-4.9 37.5-24.4 37.5-46.9V374.4l24.4-6.7c47.1-12.9 96.7-12.9 143.8 0l24.4 6.7v69.8c0 22.5 15.6 42 37.5 46.9l88.7 19.8c21.4 4.8 43.3-5.6 53.2-25.1l37.4-73.5c11.1-21.9 9.4-50-9.9-68.7c-52-50.5-159-120.4-303.2-120.4z\"]\n};\nvar faFileExport = {\n prefix: 'fal',\n iconName: 'file-export',\n icon: [576, 512, [\"arrow-right-from-file\"], \"f56e\", \"M352 448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H192V144c0 26.5 21.5 48 48 48H352v64h32V163.9c0-12.7-5.1-24.9-14.1-33.9L254.1 14.1c-9-9-21.2-14.1-33.9-14.1H64C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V368H352v80zm-.5-288H240c-8.8 0-16-7.2-16-16V32.5c2.8 .7 5.4 2.1 7.4 4.2L347.3 152.6c2.1 2.1 3.5 4.6 4.2 7.4zm123.8 52.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L521.4 304H208c-8.8 0-16 7.2-16 16s7.2 16 16 16H521.4l-68.7 68.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l96-96c6.2-6.2 6.2-16.4 0-22.6l-96-96z\"]\n};\nvar faArrowRightFromFile = faFileExport;\nvar faShield = {\n prefix: 'fal',\n iconName: 'shield',\n icon: [512, 512, [128737, \"shield-blank\"], \"f132\", \"M268.5 37.3c-8-3.4-17-3.4-25 0l-176.7 75C55.5 117 47.9 127.7 48 139.8c.5 94 39.3 259.8 195.4 334.5c7.9 3.8 17.2 3.8 25.1 0c156.1-74.7 195-240.4 195.5-334.5c.1-12.1-7.5-22.8-18.8-27.6l-176.7-75zM231 7.8c16-6.8 34-6.8 50 0l176.7 75c22 9.3 38.4 31 38.3 57.2c-.5 99.2-41.3 280.7-213.6 363.2c-16.7 8-36.1 8-52.8 0C57.3 420.7 16.5 239.2 16 140c-.1-26.2 16.3-47.9 38.3-57.2L231 7.8z\"]\n};\nvar faShieldBlank = faShield;\nvar faArrowUpShortWide = {\n prefix: 'fal',\n iconName: 'arrow-up-short-wide',\n icon: [576, 512, [\"sort-amount-up-alt\"], \"f885\", \"M139.3 36.7c-6.2-6.2-16.4-6.2-22.6 0l-96 96c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L112 86.6V464c0 8.8 7.2 16 16 16s16-7.2 16-16V86.6l68.7 68.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-96-96zM304 48c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H304zm0 128c-8.8 0-16 7.2-16 16s7.2 16 16 16H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H304zm0 128c-8.8 0-16 7.2-16 16s7.2 16 16 16H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H304zm0 128c-8.8 0-16 7.2-16 16s7.2 16 16 16H560c8.8 0 16-7.2 16-16s-7.2-16-16-16H304z\"]\n};\nvar faSortAmountUpAlt = faArrowUpShortWide;\nvar faArrowsRepeat1 = {\n prefix: 'fal',\n iconName: 'arrows-repeat-1',\n icon: [512, 512, [\"repeat-1-alt\"], \"f366\", \"M0 255.2C-.4 264 6.4 271.5 15.2 272s16.3-6.4 16.8-15.2l.4-8C36.2 172.2 99.5 112 176.2 112H390.6l-57.4 52.2c-6.5 5.9-7 16.1-1.1 22.6s16.1 7 22.6 1.1l88-80c3.3-3 5.2-7.3 5.2-11.8s-1.9-8.8-5.2-11.8l-88-80c-6.5-5.9-16.7-5.5-22.6 1.1s-5.5 16.7 1.1 22.6L390.6 80H176.2C82.4 80 5.1 153.5 .4 247.2l-.4 8zm512 1.6c.4-8.8-6.4-16.3-15.2-16.8s-16.3 6.4-16.8 15.2l-.4 8C475.8 339.8 412.5 400 335.8 400H121.4l57.4-52.2c6.5-5.9 7-16.1 1.1-22.6s-16.1-7-22.6-1.1l-88 80c-3.3 3-5.2 7.3-5.2 11.8s1.9 8.8 5.2 11.8l88 80c6.5 5.9 16.7 5.5 22.6-1.1s5.5-16.7-1.1-22.6L121.4 432H335.8c93.8 0 171.1-73.5 175.8-167.2l.4-8zM288 208c0-6.1-3.4-11.6-8.8-14.3s-11.9-2.1-16.8 1.5l-32 24c-7.1 5.3-8.5 15.3-3.2 22.4s15.3 8.5 22.4 3.2L256 240v64c0 8.8 7.2 16 16 16s16-7.2 16-16V208z\"]\n};\nvar faRepeat1Alt = faArrowsRepeat1;\nvar faGunSlash = {\n prefix: 'fal',\n iconName: 'gun-slash',\n icon: [640, 512, [], \"e19c\", \"M25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4zM473.4 240c8.5 0 16.6-3.4 22.6-9.4L518.6 208H576c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H544V48c0-8.8-7.2-16-16-16s-16 7.2-16 16V64H180.1l40.5 32H528h48v80H518.6c-8.5 0-16.6 3.4-22.6 9.4L473.4 208H362.5L403 240h70.4zM249.5 281.9L208 448 96 448l40.1-160.5c4.3-17 1.3-33.8-6.7-47.5h67l-40.5-32H89.2 74 64l0-72.6L32 110.2V208c0 17.7 14.3 32 32 32H74c20.8 0 36.1 19.6 31 39.8L65 440.2c-2.4 9.6-.2 19.7 5.8 27.5S86.1 480 96 480H208c14.7 0 27.5-10 31-24.2l38-152.1-27.5-21.7z\"]\n};\nvar faAvocado = {\n prefix: 'fal',\n iconName: 'avocado',\n icon: [512, 512, [], \"e0aa\", \"M480 144c0 34.8-15.9 66-40.9 86.6c-22.3 18.4-42.7 44.7-49.1 77.6c-9.4 47.7-31 93.8-57.5 120.3c-68.7 68.7-180.2 68.7-248.9 0s-68.7-180.2 0-248.9c26.5-26.5 72.5-48.1 120.3-57.5c32.9-6.4 59.3-26.8 77.6-49.1C302 47.9 333.2 32 368 32c61.9 0 112 50.1 112 112zM421.3 314.3c4.6-23.5 19.6-43.9 38.1-59.1C491.5 228.9 512 188.8 512 144C512 64.5 447.5 0 368 0c-44.8 0-84.9 20.5-111.3 52.6c-15.2 18.5-35.6 33.5-59.1 38.1c-51.9 10.2-104.5 34-136.7 66.3c-81.2 81.2-81.2 212.9 0 294.2s212.9 81.2 294.2 0c32.3-32.3 56.1-84.9 66.3-136.7zM176.1 240.1c38.2-38.2 88.1-40.4 112.1-16.4s21.8 73.9-16.4 112.1s-88.1 40.4-112.1 16.4s-21.8-73.9 16.4-112.1zm134.8-39c-41.4-41.4-112.1-28.8-157.4 16.4s-57.8 116-16.4 157.4s112.1 28.8 157.4-16.4s57.8-116 16.4-157.4z\"]\n};\nvar faBinary = {\n prefix: 'fal',\n iconName: 'binary',\n icon: [384, 512, [], \"e33b\", \"M320 16c0-5.1-2.5-10-6.6-13s-9.5-3.8-14.4-2.2l-48 16c-8.4 2.8-12.9 11.9-10.1 20.2s11.9 12.9 20.2 10.1l26.9-9V192H240c-8.8 0-16 7.2-16 16s7.2 16 16 16h64 64c8.8 0 16-7.2 16-16s-7.2-16-16-16H320V16zM96 304c0-5.1-2.5-10-6.6-13s-9.5-3.8-14.4-2.2l-48 16c-8.4 2.8-12.9 11.9-10.1 20.2s11.9 12.9 20.2 10.1l26.9-9V480H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H80h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H96V304zM0 80v64c0 44.2 35.8 80 80 80h32c44.2 0 80-35.8 80-80V80c0-44.2-35.8-80-80-80H80C35.8 0 0 35.8 0 80zM80 32h32c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48zM272 288c-44.2 0-80 35.8-80 80v64c0 44.2 35.8 80 80 80h32c44.2 0 80-35.8 80-80V368c0-44.2-35.8-80-80-80H272zm-48 80c0-26.5 21.5-48 48-48h32c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H272c-26.5 0-48-21.5-48-48V368z\"]\n};\nvar faGlassesRound = {\n prefix: 'fal',\n iconName: 'glasses-round',\n icon: [576, 512, [128083, \"glasses-alt\"], \"f5f5\", \"M116.8 64c-14.4 0-26.9 9.7-30.5 23.6L46.6 241.5C70.5 220.6 101.8 208 136 208c55.1 0 102.6 32.8 124 80H316c21.3-47.2 68.8-80 124-80c34.2 0 65.5 12.6 89.4 33.5L489.7 87.6C486.1 73.7 473.6 64 459.2 64c-4.9 0-9.7 1.1-14.1 3.3l-22 11c-7.9 4-17.5 .7-21.5-7.2s-.7-17.5 7.2-21.5l22-11c8.8-4.4 18.5-6.7 28.4-6.7c29 0 54.2 19.6 61.5 47.6l48.7 188.8c4.4 17 6.6 34.4 6.6 52V344c0 75.1-60.9 136-136 136s-136-60.9-136-136c0-8.2 .7-16.2 2.1-24H269.9c1.4 7.8 2.1 15.8 2.1 24c0 75.1-60.9 136-136 136S0 419.1 0 344V320.4c0-17.5 2.2-35 6.6-52L55.3 79.6C62.5 51.6 87.8 32 116.8 32c9.9 0 19.6 2.3 28.4 6.7l22 11c7.9 4 11.1 13.6 7.2 21.5s-13.6 11.1-21.5 7.2l-22-11c-4.4-2.2-9.2-3.3-14.1-3.3zM544 344a104 104 0 1 0 -208 0 104 104 0 1 0 208 0zM136 448a104 104 0 1 0 0-208 104 104 0 1 0 0 208z\"]\n};\nvar faGlassesAlt = faGlassesRound;\nvar faPhonePlus = {\n prefix: 'fal',\n iconName: 'phone-plus',\n icon: [640, 512, [], \"f4d2\", \"M448 208V128H368c-8.8 0-16-7.2-16-16s7.2-16 16-16h80V16c0-8.8 7.2-16 16-16s16 7.2 16 16V96h80c8.8 0 16 7.2 16 16s-7.2 16-16 16H480v80c0 8.8-7.2 16-16 16s-16-7.2-16-16zm-55 78.7c11.3-13.8 30.3-18.5 46.7-11.4l112 48c17.6 7.5 27.4 26.5 23.4 45.1l-24 112c-4 18.4-20.3 31.6-39.1 31.6l0 0c-6.1 0-12.2-.1-18.3-.4l-.1 0h0c-4.6-.2-9.1-.4-13.7-.8C247.5 494.5 64 300.7 64 64v0c0-18.9 13.2-35.2 31.6-39.1l112-24c18.7-4 37.6 5.8 45.1 23.4l48 112c7 16.4 2.4 35.4-11.4 46.7l-40.6 33.2c26.7 46 65.1 84.4 111.1 111.1L393 286.7zM512 480c3.8 0 7-2.6 7.8-6.3l24-112c.8-3.7-1.2-7.5-4.7-9l-112-48c-3.3-1.4-7.1-.5-9.3 2.3l-33.2 40.6c-9.9 12.1-27.2 15.3-40.8 7.4c-50.9-29.5-93.3-71.9-122.7-122.7c-7.9-13.6-4.7-30.9 7.4-40.8l40.6-33.2c2.8-2.3 3.7-6.1 2.3-9.3l-48-112c-1.5-3.5-5.3-5.5-9-4.7l-112 24C98.6 57 96 60.2 96 64v0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0c0 229.6 186.1 415.8 415.7 416l.3 0z\"]\n};\nvar faDitto = {\n prefix: 'fal',\n iconName: 'ditto',\n icon: [320, 512, [], \"22\", \"M96 98.3V96c0-17.7-14.3-32-32-32S32 78.3 32 96v2.3c0 2 .2 3.9 .5 5.9L58 251c.5 2.9 3 5 6 5s5.5-2.1 6-5L95.5 104.2l30.9 5.4-30.9-5.4c.3-1.9 .5-3.9 .5-5.9zm-96 0V96C0 60.7 28.7 32 64 32s64 28.7 64 64v2.3c0 3.8-.3 7.6-1 11.4L101.5 256.5C98.3 274.7 82.5 288 64 288s-34.3-13.3-37.5-31.5L1 109.6c-.7-3.8-1-7.5-1-11.4zm288 0V96c0-17.7-14.3-32-32-32s-32 14.3-32 32v2.3c0 2 .2 3.9 .5 5.9L250 251c.5 2.9 3 5 6 5s5.5-2.1 6-5l25.5-146.8 30.9 5.4-30.9-5.4c.3-1.9 .5-3.9 .5-5.9zm-96 0V96c0-35.3 28.7-64 64-64s64 28.7 64 64v2.3c0 3.8-.3 7.6-1 11.4L293.5 256.5c-3.2 18.2-19 31.5-37.5 31.5s-34.3-13.3-37.5-31.5L193 109.6c-.7-3.8-1-7.5-1-11.4z\"]\n};\nvar faPersonSeat = {\n prefix: 'fal',\n iconName: 'person-seat',\n icon: [384, 512, [], \"e21e\", \"M176 88a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zM152 32a56 56 0 1 0 0 112 56 56 0 1 0 0-112zM32 144c0-8.8-7.2-16-16-16s-16 7.2-16 16V336c0 61.9 50.1 112 112 112h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H112c-44.2 0-80-35.8-80-80V144zm116 64c15.5 0 28 12.5 28 28v4 88H136c-8.8 0-16-7.2-16-16V236c0-15.5 12.5-28 28-28zm58.8 16c-5.6-27.4-29.8-48-58.8-48c-33.1 0-60 26.9-60 60v76c0 26.5 21.5 48 48 48h56 40.6c15.3 0 28.4 10.8 31.4 25.7l16.3 81.4c1.5 7.5 8.1 12.9 15.7 12.9h72c8.8 0 16-7.2 16-16s-7.2-16-16-16H309.1l-13.7-68.6c-6-29.9-32.2-51.4-62.8-51.4H208V256h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H206.8z\"]\n};\nvar faHouseMedical = {\n prefix: 'fal',\n iconName: 'house-medical',\n icon: [576, 512, [], \"e3b2\", \"M298.6 4c-6-5.3-15.1-5.3-21.2 0L5.4 244c-6.6 5.8-7.3 16-1.4 22.6s16 7.3 22.6 1.4L64 235V432c0 44.2 35.8 80 80 80H432c44.2 0 80-35.8 80-80V235l37.4 33c6.6 5.8 16.7 5.2 22.6-1.4s5.2-16.7-1.4-22.6L298.6 4zM96 432V206.7L288 37.3 480 206.7V432c0 26.5-21.5 48-48 48H144c-26.5 0-48-21.5-48-48zM272 176c-17.7 0-32 14.3-32 32v32H208c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32h32v32c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V336h32c17.7 0 32-14.3 32-32V272c0-17.7-14.3-32-32-32H336V208c0-17.7-14.3-32-32-32H272zm0 32h32v48c0 8.8 7.2 16 16 16h48v32H320c-8.8 0-16 7.2-16 16v48H272V320c0-8.8-7.2-16-16-16H208V272h48c4.2 0 8.3-1.7 11.3-4.7s4.7-7.1 4.7-11.3V208z\"]\n};\nvar faGolfBallTee = {\n prefix: 'fal',\n iconName: 'golf-ball-tee',\n icon: [384, 512, [\"golf-ball\"], \"f450\", \"M288 320c38.9-29.2 64-75.7 64-128c0-88.4-71.6-160-160-160S32 103.6 32 192c0 52.3 25.1 98.8 64 128H48.9C18.5 286 0 241.2 0 192C0 86 86 0 192 0S384 86 384 192c0 49.2-18.5 94-48.9 128H288zM80 352H192 304c8.8 0 16 7.2 16 16s-7.2 16-16 16H224c-8.8 0-16 7.2-16 16v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V400c0-8.8-7.2-16-16-16H80c-8.8 0-16-7.2-16-16s7.2-16 16-16zM226.1 248.6c0-4.9 5.1-9.1 8.4-5.4c5.2 5.9 8.4 13.7 8.4 22.1c0 18.5-15 33.5-33.5 33.5c-8.5 0-16.2-3.2-22.1-8.4c-3.7-3.3 .5-8.4 5.4-8.4c18.5 0 33.5-15 33.5-33.5zm-52.3-49.3c18.5 0 33.5-15 33.5-33.5c0-4.9 5.1-9.1 8.4-5.4c5.2 5.9 8.4 13.7 8.4 22.1c0 18.5-15 33.5-33.5 33.5c-8.5 0-16.2-3.2-22.1-8.4c-3.7-3.3 .5-8.4 5.4-8.4zm113.5-17.5c0-4.9 5.1-9.1 8.4-5.4c5.2 5.9 8.4 13.7 8.4 22.1c0 18.5-15 33.5-33.5 33.5c-8.5 0-16.2-3.2-22.1-8.4c-3.7-3.3 .5-8.4 5.4-8.4c18.5 0 33.5-15 33.5-33.5z\"]\n};\nvar faGolfBall = faGolfBallTee;\nvar faCircleChevronLeft = {\n prefix: 'fal',\n iconName: 'circle-chevron-left',\n icon: [512, 512, [\"chevron-circle-left\"], \"f137\", \"M32 256a224 224 0 1 1 448 0A224 224 0 1 1 32 256zm480 0A256 256 0 1 0 0 256a256 256 0 1 0 512 0zM276.7 132.7l-112 112c-6.2 6.2-6.2 16.4 0 22.6l112 112c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L198.6 256 299.3 155.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0z\"]\n};\nvar faChevronCircleLeft = faCircleChevronLeft;\nvar faHouseChimneyWindow = {\n prefix: 'fal',\n iconName: 'house-chimney-window',\n icon: [576, 512, [], \"e00d\", \"M277.4 4c6-5.3 15.1-5.3 21.2 0L384 79.4V56c0-13.3 10.7-24 24-24h80c13.3 0 24 10.7 24 24V192.3L570.6 244c6.6 5.8 7.3 16 1.4 22.6s-16 7.3-22.6 1.4L512 235V432c0 44.2-35.8 80-80 80H144c-44.2 0-80-35.8-80-80V235L26.6 268C20 273.8 9.8 273.2 4 266.6S-1.2 249.8 5.4 244L277.4 4zM480 164.1V64H416v43.6l64 56.5zM96 206.7V432c0 26.5 21.5 48 48 48H432c26.5 0 48-21.5 48-48V206.7L288 37.3 96 206.7zM240 192h96c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H240c-17.7 0-32-14.3-32-32V224c0-17.7 14.3-32 32-32zm0 32v96h96V224H240z\"]\n};\nvar faScythe = {\n prefix: 'fal',\n iconName: 'scythe',\n icon: [640, 512, [], \"f710\", \"M639.7 19.1c1.7-8.7-3.9-17.1-12.6-18.8s-17.1 3.9-18.8 12.6L550.1 304H400c-8.8 0-16 7.2-16 16s7.2 16 16 16H543.7L512.3 492.9c-1.7 8.7 3.9 17.1 12.6 18.8s17.1-3.9 18.8-12.6l96-480zM352 0C121.4 0 20.6 155.8 2.9 186.7c-2 3.5-2.9 7.4-2.9 11.4C0 212.4 11.6 224 25.9 224H533.4l6.4-32H37.2C64.7 149.7 158.7 32 352 32H571.8l5.1-25.4c.5-2.3 1.1-4.5 1.8-6.6H352z\"]\n};\nvar faPenNib = {\n prefix: 'fal',\n iconName: 'pen-nib',\n icon: [512, 512, [10001], \"f5ad\", \"M377.4 45.3L310.6 112 400 201.4l66.7-66.7c12.5-12.5 12.5-32.8 0-45.3L422.6 45.3c-12.5-12.5-32.8-12.5-45.3 0zM279.7 97.7l75.1-75.1c25-25 65.5-25 90.5 0l44.1 44.1c25 25 25 65.5 0 90.5l-75.1 75.1L376.8 370c-7.3 26.6-27.7 47.6-54.2 55.6L47.4 508.1c-12.3 3.7-25.7 .3-34.7-8.8s-12.5-22.4-8.8-34.7L86.5 189.4c7.9-26.4 28.9-46.9 55.6-54.2L279.7 97.7zm3.6 32.2L150.5 166.1c-16 4.4-28.6 16.6-33.3 32.5L42.7 446.7 152.9 336.5c-5.6-9.5-8.9-20.6-8.9-32.5c0-35.3 28.7-64 64-64s64 28.7 64 64s-28.7 64-64 64c-11.9 0-23-3.2-32.5-8.9L65.3 469.3l248.1-74.4c15.9-4.8 28.2-17.4 32.5-33.3l36.2-132.8-98.9-98.9zM208 272a32 32 0 1 0 0 64 32 32 0 1 0 0-64z\"]\n};\nvar faBanParking = {\n prefix: 'fal',\n iconName: 'ban-parking',\n icon: [512, 512, [\"parking-circle-slash\"], \"f616\", \"M256 480C132.3 480 32 379.7 32 256c0-56.1 20.6-107.4 54.7-146.7l316 316C363.4 459.4 312.1 480 256 480zm76-170.6c30.9-16 52-48.2 52-85.4c0-53-43-96-96-96H200c-13.3 0-24 10.7-24 24v1.4L109.3 86.7C148.6 52.6 199.9 32 256 32c123.7 0 224 100.3 224 224c0 56.1-20.6 107.4-54.7 146.7L332 309.4zM307.6 285L208 185.4V160h80c35.3 0 64 28.7 64 64c0 28.5-18.7 52.7-44.4 61zM256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM176 257.9V304v64c0 8.8 7.2 16 16 16s16-7.2 16-16V320h30.1L176 257.9z\"]\n};\nvar faParkingCircleSlash = faBanParking;\nvar faTentArrowTurnLeft = {\n prefix: 'fal',\n iconName: 'tent-arrow-turn-left',\n icon: [576, 512, [], \"e580\", \"M114.8 27.8c6.5-5.9 7-16.1 1.1-22.6s-16.1-7-22.6-1.1l-88 80C1.9 87.2 0 91.5 0 96s1.9 8.8 5.2 11.8l88 80c6.5 5.9 16.7 5.5 22.6-1.1s5.5-16.7-1.1-22.6L57.4 112 464 112c44.2 0 80 35.8 80 80v48c0 8.8 7.2 16 16 16s16-7.2 16-16V192c0-61.9-50.1-112-112-112L57.4 80l57.4-52.2zM297.5 163.1c-5.7-4.2-13.4-4.2-19 0L105.4 291c-10.5 7.8-17.4 19.5-19.1 32.4L68.8 457.8C65.1 486.5 87.5 512 116.4 512H459.6c29 0 51.3-25.5 47.6-54.2L489.6 323.4c-1.7-12.9-8.6-24.6-19.1-32.4l-173-127.9zM272 207.7v112c0 .2 0 .4 0 .5V480H116.4c-9.7 0-17.1-8.5-15.9-18.1l17.5-134.4c.6-4.3 2.9-8.2 6.4-10.8L272 207.7zm32 168.5L368.2 480H304V376.2zm0-60.8V207.7L451.5 316.8c3.5 2.6 5.8 6.5 6.4 10.8l17.5 134.4c1.2 9.6-6.2 18.1-15.9 18.1H405.9l-.3-.4L304 315.4z\"]\n};\nvar faFaceDiagonalMouth = {\n prefix: 'fal',\n iconName: 'face-diagonal-mouth',\n icon: [512, 512, [129764], \"e47e\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm372.4 63.4l-224 64c-8.5 2.4-17.4-2.5-19.8-11s2.5-17.4 11-19.8l224-64c8.5-2.4 17.4 2.5 19.8 11s-2.5 17.4-11 19.8zM152.4 208a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm184-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faDiagramCells = {\n prefix: 'fal',\n iconName: 'diagram-cells',\n icon: [512, 512, [], \"e475\", \"M480 160c0 17.7-14.3 32-32 32L64 192c-17.7 0-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32v64zm-32 64c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96v64c0 35.3 28.7 64 64 64l384 0zm64 192V352c0-35.3-28.7-64-64-64L64 288c-35.3 0-64 28.7-64 64v64c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64zm-64 32L64 448c-17.7 0-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32z\"]\n};\nvar faCricketBatBall = {\n prefix: 'fal',\n iconName: 'cricket-bat-ball',\n icon: [512, 512, [127951, \"cricket\"], \"f449\", \"M507.3 4.7c6.2 6.2 6.2 16.4 0 22.6L354.6 180l34.1 34.1c18.7 18.7 18.7 49.1 0 67.9l-33.3 33.3c0 0 0 0 0 0L172.7 497.9c-9 9-21.2 14.1-33.9 14.1H136C60.9 512 0 451.1 0 376l0-2.7c0-12.7 5.1-24.9 14.1-33.9L196.7 156.7c0 0 0 0 0 0l33.4-33.4c18.7-18.7 49.1-18.7 67.9 0L332 157.4 484.7 4.7c6.2-6.2 16.4-6.2 22.6 0zM192 206.6L36.7 361.9c-3 3-4.7 7.1-4.7 11.3l0 2.7c0 57.4 46.6 104 104 104h2.7c4.2 0 8.3-1.7 11.3-4.7L305.4 320H240c-26.5 0-48-21.5-48-48V206.6zM337.4 288l28.7-28.7c6.2-6.2 6.2-16.4 0-22.6l-90.7-90.7c-6.2-6.2-16.4-6.2-22.6 0L224 174.6V272c0 8.8 7.2 16 16 16h97.4zM480 432a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm-128 0a80 80 0 1 1 160 0 80 80 0 1 1 -160 0z\"]\n};\nvar faCricket = faCricketBatBall;\nvar faTents = {\n prefix: 'fal',\n iconName: 'tents',\n icon: [640, 512, [], \"e582\", \"M425.5 3.1c-5.7-4.2-13.4-4.2-19 0L236 129.1c9.5 1.8 18.7 5.8 26.8 12l5.4 4.1L416 35.9 579.5 156.8c3.5 2.6 5.8 6.5 6.4 10.8l17.5 134.4c1.2 9.6-6.2 18.1-15.9 18.1H456.7l4.8 32h126c29 0 51.3-25.5 47.6-54.2L617.6 163.4c-1.7-12.9-8.6-24.6-19.1-32.4L425.5 3.1zm-192 160c-5.7-4.2-13.4-4.2-19 0L41.4 291c-10.5 7.8-17.4 19.5-19.1 32.4L4.8 457.8C1.1 486.5 23.5 512 52.4 512H395.6c29 0 51.3-25.5 47.6-54.2L425.6 323.4c-1.7-12.9-8.6-24.6-19.1-32.4l-173-127.9zM60.5 316.8L208 207.7V480H52.4c-9.7 0-17.1-8.5-15.9-18.1L54.1 327.6c.6-4.3 2.9-8.2 6.4-10.8zM240 309.9V207.7L387.5 316.8c3.5 2.6 5.8 6.5 6.4 10.8l17.5 134.4c1.2 9.6-6.2 18.1-15.9 18.1H345.4l-.2-.4-104-168c-.4-.6-.7-1.1-1.2-1.6zM240 480V370.5L307.8 480H240z\"]\n};\nvar faWandMagic = {\n prefix: 'fal',\n iconName: 'wand-magic',\n icon: [512, 512, [\"magic\"], \"f0d0\", \"M305.9 155.3l50.7 50.7L477.1 85.7c3.1-3.1 3.1-8.2 0-11.3L437.7 34.9c-3.1-3.1-8.2-3.1-11.3 0L305.9 155.3zm-22.6 22.6L34.9 426.3c-3.1 3.1-3.1 8.2 0 11.3l39.4 39.4c3.1 3.1 8.2 3.1 11.3 0L334.1 228.7l-50.7-50.7zM12.3 403.7L403.7 12.3c15.6-15.6 40.9-15.6 56.6 0l39.4 39.4c15.6 15.6 15.6 40.9 0 56.6L108.3 499.7c-15.6 15.6-40.9 15.6-56.6 0L12.3 460.3c-15.6-15.6-15.6-40.9 0-56.6z\"]\n};\nvar faMagic = faWandMagic;\nvar faDog = {\n prefix: 'fal',\n iconName: 'dog',\n icon: [576, 512, [128021], \"f6d3\", \"M322.9 349.5c8.2 6 13.1 15.6 13.1 25.8V456c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24V261.9l-.1 0L307.6 208c-.3 0-.7 0-1 0H160 136 96V456c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24V375.3c0-10.2 4.9-19.8 13.1-25.8s18.9-7.8 28.6-4.6c14.5 4.6 30.1 7.2 46.3 7.2s31.7-2.5 46.3-7.2c9.7-3.1 20.4-1.4 28.6 4.6zm82.9-130.7c2.6-15.4 15.9-26.7 31.6-26.7H480c35.3 0 64-28.7 64-64V112c0-8.8-7.2-16-16-16H496c-8.5 0-16.6-3.4-22.6-9.4L455.4 68.7c-3-3-7.1-4.7-11.3-4.7H400c-10.1 0-19.6-4.7-25.6-12.8L362.5 35.4 338.2 181.3c-.4 2.3-1 4.4-1.8 6.5l67.9 39.6 1.4-8.6zM45.6 159.3C54.5 169.7 67.6 176 82 176H96h40 24H306.7L331.9 24.8C334.2 10.5 346.6 0 361.2 0c9.3 0 18.1 4.4 23.8 11.9L400 32h44.1c12.7 0 24.9 5.1 33.9 14.1L496 64h32c26.5 0 48 21.5 48 48v16c0 53-43 96-96 96H437.3L432 256V456c0 30.9-25.1 56-56 56H360c-30.9 0-56-25.1-56-56V408.7 375.3c-10.3 3.3-21 5.7-32 7.1c-7.9 1-15.9 1.6-24 1.6s-16.1-.5-24-1.6c-11-1.4-21.7-3.8-32-7.1v33.3V456c0 30.9-25.1 56-56 56H120c-30.9 0-56-25.1-56-56V208c0-.7 0-1.4 .1-2c-.7-.2-1.4-.3-2.1-.5c-27.9-7.2-50.3-29.1-57.6-58.1L.5 131.9c-2.1-8.6 3.1-17.3 11.6-19.4s17.3 3.1 19.4 11.6l3.9 15.5c.3 1.4 .8 2.7 1.2 4.1c2 5.8 5.1 11.1 9 15.6zM432 96a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faPenLine = {\n prefix: 'fal',\n iconName: 'pen-line',\n icon: [576, 512, [], \"e212\", \"M429.8 39.6c-9.4-9.4-24.6-9.4-33.9 0L341 94.4 417.6 171l54.8-54.8c9.4-9.4 9.4-24.6 0-33.9L429.8 39.6zM83.1 352.4c-7.6 7.6-13.1 16.9-16.1 27.2L39.6 472.4l92.8-27.3c10.3-3 19.6-8.6 27.2-16.1L395 193.6 318.4 117 83.1 352.4zM373.2 17c21.9-21.9 57.3-21.9 79.2 0L495 59.6c21.9 21.9 21.9 57.3 0 79.2L182.3 451.6c-11.4 11.4-25.4 19.7-40.8 24.2l-121 35.6c-5.6 1.7-11.7 .1-15.8-4s-5.7-10.2-4-15.8l35.6-121c4.5-15.4 12.9-29.4 24.2-40.8L373.2 17zM240 480H560c8.8 0 16 7.2 16 16s-7.2 16-16 16H240c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faAtomSimple = {\n prefix: 'fal',\n iconName: 'atom-simple',\n icon: [512, 512, [\"atom-alt\"], \"f5d3\", \"M175.1 438.1c-50.8 16.9-82.3 10.1-96.7-4.4s-21.3-46-4.4-96.7c5.4-16.2 12.9-33.3 22.5-50.9c16.8 23.8 36.7 47.4 59.4 70.1s46.3 42.6 70.1 59.4c-17.6 9.6-34.7 17.2-50.9 22.5zM55.7 55.7C16.5 94.9 27.6 173.9 76.8 256C27.6 338.1 16.5 417.1 55.7 456.3s118.2 28.1 200.3-21.1c82.1 49.2 161.1 60.3 200.3 21.1s28.1-118.2-21.1-200.3c49.2-82.1 60.3-161.1 21.1-200.3S338.1 27.6 256 76.8C173.9 27.6 94.9 16.5 55.7 55.7zM178.5 333.5c-25.3-25.3-46.6-51.6-63.8-77.5c17.2-25.9 38.6-52.3 63.8-77.5s51.6-46.6 77.5-63.8c25.9 17.2 52.3 38.6 77.5 63.8s46.6 51.6 63.8 77.5c-17.2 25.9-38.6 52.3-63.8 77.5s-51.6 46.6-77.5 63.8c-25.9-17.2-52.3-38.6-77.5-63.8zM155.8 155.8c-22.7 22.7-42.6 46.3-59.4 70.1c-9.6-17.6-17.2-34.7-22.5-50.9c-16.9-50.8-10-82.3 4.4-96.7s46-21.3 96.7-4.4c16.2 5.4 33.3 12.9 50.9 22.5c-23.8 16.8-47.4 36.7-70.1 59.4zm200.3 0c-22.7-22.7-46.3-42.6-70.1-59.4c17.6-9.6 34.7-17.2 50.9-22.5c50.8-16.9 82.3-10 96.7 4.4s21.3 46 4.4 96.7c-5.4 16.2-12.9 33.3-22.5 50.9c-16.8-23.8-36.7-47.4-59.4-70.1zm0 200.3c22.7-22.7 42.6-46.3 59.4-70.1c9.6 17.6 17.2 34.7 22.5 50.9c16.9 50.8 10.1 82.3-4.4 96.7s-46 21.3-96.7 4.4c-16.2-5.4-33.3-12.9-50.9-22.5c23.8-16.8 47.4-36.7 70.1-59.4zM256 280a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faAtomAlt = faAtomSimple;\nvar faAmpersand = {\n prefix: 'fal',\n iconName: 'ampersand',\n icon: [448, 512, [], \"26\", \"M175.2 64h33.9c34.7 0 62.9 28.2 62.9 62.9c0 20.5-10 39.8-26.8 51.5L181.6 223l-51.1-51.1C118.7 160 112 144 112 127.2C112 92.3 140.3 64 175.2 64zm29.4 181.9l59-41.3c25.4-17.8 40.5-46.8 40.5-77.8C304 74.5 261.5 32 209.1 32H175.2C122.6 32 80 74.6 80 127.2c0 25.2 10 49.5 27.9 67.3L155 241.6 72.9 299C47.3 317 32 346.3 32 377.7V384c0 53 43 96 96 96h80c35.3 0 68.4-16.6 89.6-44.8l21.8-29.1 69.2 69.2c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-72.5-72.5 74-98.6c5.3-7.1 3.9-17.1-3.2-22.4s-17.1-3.9-22.4 3.2l-71.2 95L204.6 245.9zm-26.6 18.6L296.6 383.2 272 416c-15.1 20.1-38.8 32-64 32H128c-35.3 0-64-28.7-64-64v-6.3c0-20.9 10.2-40.5 27.3-52.4l86.6-60.7z\"]\n};\nvar faCarrot = {\n prefix: 'fal',\n iconName: 'carrot',\n icon: [512, 512, [129365], \"f787\", \"M320 88c0-23.9 14.5-45.4 23-55.8l.1 0c.1-.1 .4-.2 .9-.2c.4 0 .7 .1 .8 .1C352.9 42.3 368 65.6 368 96c0 14.7-1.8 22.9-3.2 26.9c-.6 1.6-1 2.6-1.2 2.9c-5.2 6.3-4.8 15.6 1.1 21.4s15.2 6.2 21.4 1.1c.4-.2 1.3-.7 2.9-1.2c4-1.3 12.2-3.2 26.9-3.2c30.4 0 53.7 15.1 63.9 23.2c0 .1 .1 .4 .1 .8c0 .5-.1 .8-.2 .9l0 .1c-10.4 8.5-32 23-55.8 23c-17.7 0-28.7-3.3-37.7-8.6c-9.8-5.7-18.3-14-31-26.7s-21.1-21.2-26.7-31c-5.3-9.1-8.6-20-8.6-37.7zm49.8-75.9C363.1 3.7 353.2 0 344 0s-19 3.7-25.7 11.8C308.7 23.6 288 52.5 288 88c0 19.5 3.3 34.8 9.9 48.2c-14.3-5.3-29.7-8.2-45.8-8.2c-50.9 0-97.2 29.3-119.1 75.2L2.3 477.7C-2 486.9-.2 497.8 7 505s18.1 9.1 27.3 4.7L308.8 379c45.9-21.9 75.2-68.2 75.2-119.1c0-16.1-2.9-31.5-8.2-45.8c13.4 6.6 28.6 9.9 48.2 9.9c35.5 0 64.4-20.7 76.2-30.3C508.3 187 512 177.2 512 168c0-9.2-3.7-19.1-12.1-25.8c-12.7-10.1-43-30.2-83.9-30.2c-6.3 0-11.9 .3-16.8 .8c.5-4.9 .8-10.5 .8-16.8c0-40.9-20.2-71.2-30.2-83.9zM252.1 160c55.2 0 99.9 44.7 99.9 99.9c0 38.5-22.2 73.6-56.9 90.2L174.2 407.6l-34.9-34.9c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l26.9 26.9L40.9 471.1 151.7 238.4l29 29c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-36.6-36.6c18-29.6 50.3-48.1 85.4-48.1z\"]\n};\nvar faArrowUpFromLine = {\n prefix: 'fal',\n iconName: 'arrow-up-from-line',\n icon: [384, 512, [8613, \"arrow-from-bottom\"], \"f342\", \"M203.3 36.7c-6.2-6.2-16.4-6.2-22.6 0l-128 128c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L176 86.6 176 192l0 176c0 8.8 7.2 16 16 16s16-7.2 16-16l0-176 0-105.4L308.7 187.3c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-128-128zM16 448c-8.8 0-16 7.2-16 16s7.2 16 16 16l352 0c8.8 0 16-7.2 16-16s-7.2-16-16-16L16 448z\"]\n};\nvar faArrowFromBottom = faArrowUpFromLine;\nvar faMoon = {\n prefix: 'fal',\n iconName: 'moon',\n icon: [384, 512, [127769, 9214], \"f186\", \"M190.6 66.8c-38.8 37.8-62.9 90.7-62.9 149.2c0 108.9 83.5 198.3 189.9 207.3C289.8 439 257.7 448 223.5 448C117.7 448 32 362.1 32 256c0-94.8 68.5-173.5 158.6-189.2zm66.1-21.5c-1.5-6.9-7.3-11.9-14.3-12.5c-6.3-.5-12.6-.8-19-.8C100 32 0 132.3 0 256S100 480 223.5 480c60.6 0 115.5-24.2 155.8-63.4c5-4.9 6.3-12.5 3.1-18.7s-10.1-9.7-17-8.5c-9.8 1.7-19.8 2.6-30.1 2.6c-96.9 0-175.5-78.8-175.5-176c0-65.8 36-123.1 89.3-153.3c6.1-3.5 9.2-10.5 7.7-17.3z\"]\n};\nvar faPenSlash = {\n prefix: 'fal',\n iconName: 'pen-slash',\n icon: [640, 512, [], \"e213\", \"M25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4zM559 138.8c21.9-21.9 21.9-57.3 0-79.2L516.4 17c-21.9-21.9-57.3-21.9-79.2 0L297.5 156.7l25.3 20L382.4 117 459 193.6l-50.6 50.6 25.3 20L559 138.8zM317.2 335.4l-93.6 93.6c-7.6 7.6-16.9 13.1-27.2 16.1l-92.8 27.3 27.3-92.8c3-10.3 8.6-19.6 16.1-27.2l84.6-84.6-25.3-20-81.9 81.9c-11.4 11.4-19.7 25.4-24.2 40.8l-35.6 121c-1.7 5.6-.1 11.7 4 15.8s10.2 5.7 15.8 4l121-35.6c15.4-4.5 29.4-12.9 40.8-24.2l96.2-96.2-25.3-20zM459.8 39.6c9.4-9.4 24.6-9.4 33.9 0l42.6 42.6c9.4 9.4 9.4 24.6 0 33.9L481.6 171 405 94.4l54.8-54.8z\"]\n};\nvar faWineGlassEmpty = {\n prefix: 'fal',\n iconName: 'wine-glass-empty',\n icon: [320, 512, [\"wine-glass-alt\"], \"f5ce\", \"M46.4 195.6C40.3 262.4 92.9 320 160 320s119.7-57.6 113.6-124.4L258.8 32 61.2 32 46.4 195.6zm-31.9-2.9L29.4 29.1C30.9 12.6 44.7 0 61.2 0H258.8c16.6 0 30.4 12.6 31.9 29.1l14.9 163.6c7.3 80.2-51.4 150-129.5 158.5V480h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H160 80c-8.8 0-16-7.2-16-16s7.2-16 16-16h64V351.1C65.9 342.7 7.2 272.8 14.5 192.7z\"]\n};\nvar faWineGlassAlt = faWineGlassEmpty;\nvar faSquareStar = {\n prefix: 'fal',\n iconName: 'square-star',\n icon: [448, 512, [], \"e27f\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm238.3 16.9l36.2 73.4 81.1 11.8c6 .9 11 5.1 12.9 10.9s.3 12.2-4 16.4l-58.6 57.2 13.8 80.7c1 6-1.4 12.1-6.4 15.6s-11.5 4.1-16.8 1.2L224 342.1l-72.5 38.1c-5.4 2.8-11.9 2.4-16.8-1.2s-7.4-9.6-6.4-15.6l13.8-80.7L83.5 225.4c-4.4-4.3-5.9-10.6-4-16.4s6.9-10 12.9-10.9l81-11.8 36.2-73.4c2.7-5.5 8.3-8.9 14.3-8.9s11.7 3.5 14.3 8.9zm-40 95.1c-2.3 4.7-6.8 8-12 8.8L129 225.1l41.5 40.4c3.8 3.7 5.5 9 4.6 14.2l-9.8 57.1 51.2-26.9c4.7-2.5 10.2-2.5 14.9 0l51.2 26.9-9.8-57.1c-.9-5.2 .8-10.5 4.6-14.2L319 225.1l-57.3-8.3c-5.2-.8-9.7-4-12-8.8L224 156.2l-25.6 51.9z\"]\n};\nvar faCheese = {\n prefix: 'fal',\n iconName: 'cheese',\n icon: [512, 512, [], \"f7ef\", \"M480 244l0 12L32 256c0-9.3 4.6-18 12.4-23.1L295.7 65.3c1.3-.8 2.8-1.3 4.3-1.3c99.4 0 180 80.6 180 180zM32 288l448 0 0 128c0 17.7-14.3 32-32 32L64 448c-17.7 0-32-14.3-32-32l0-128zm480-32l0-12c0-117.1-94.9-212-212-212c-7.8 0-15.5 2.3-22 6.7L26.6 206.2C10 217.3 0 236 0 256L0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-160z\"]\n};\nvar faSendBackward = {\n prefix: 'fal',\n iconName: 'send-backward',\n icon: [512, 512, [], \"f87f\", \"M64 32H288c17.7 0 32 14.3 32 32v64h32V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V288c0 35.3 28.7 64 64 64h64V320H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32zM288 96c0-17.7-14.3-32-32-32H96C78.3 64 64 78.3 64 96V256c0 17.7 14.3 32 32 32h32V256H96V96H256v32h32V96zm-64 96H448c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H224c-17.7 0-32-14.3-32-32V224c0-17.7 14.3-32 32-32zm-64 32V448c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V224c0-35.3-28.7-64-64-64H224c-35.3 0-64 28.7-64 64z\"]\n};\nvar faYinYang = {\n prefix: 'fal',\n iconName: 'yin-yang',\n icon: [512, 512, [9775], \"f6ad\", \"M480 256c0 123.7-100.3 224-224 224c-57.4 0-104-46.6-104-104s46.6-104 104-104c75.1 0 136-60.9 136-136c0-26.5-7.6-51.2-20.6-72C436.5 103.1 480 174.5 480 256zM256 32c57.4 0 104 46.6 104 104s-46.6 104-104 104c-75.1 0-136 60.9-136 136c0 26.5 7.6 51.2 20.6 72C75.5 408.9 32 337.5 32 256C32 132.3 132.3 32 256 32zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm24-136a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM256 160a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faMusic = {\n prefix: 'fal',\n iconName: 'music',\n icon: [512, 512, [127925], \"f001\", \"M512 23c0-12.7-10.3-23-23-23c-2.3 0-4.6 .3-6.8 1l-311 95.7C164.6 98.8 160 105 160 112V232 372.4C143 359.7 120.6 352 96 352c-53 0-96 35.8-96 80s43 80 96 80s96-35.8 96-80V246.3l288-88.6V308.4c-17-12.7-39.4-20.4-64-20.4c-53 0-96 35.8-96 80s43 80 96 80s96-35.8 96-80V136.4c0-.2 0-.5 0-.7V23zM480 368c0 21.3-22.9 48-64 48s-64-26.7-64-48s22.9-48 64-48s64 26.7 64 48zM160 432c0 21.3-22.9 48-64 48s-64-26.7-64-48s22.9-48 64-48s64 26.7 64 48zM480 124.2L192 212.8v-89L480 35.2v89z\"]\n};\nvar faCompassSlash = {\n prefix: 'fal',\n iconName: 'compass-slash',\n icon: [640, 512, [], \"f5e9\", \"M448.8 439.3C412.4 464.9 368 480 320 480C196.3 480 96 379.7 96 256c0-29.3 5.6-57.2 15.8-82.8L85.7 152.6C71.8 184.2 64 219.2 64 256c0 141.4 114.6 256 256 256c58.2 0 111.9-19.4 154.9-52.2l-26.1-20.6zM320 0C261.8 0 208.1 19.4 165.1 52.2l26.1 20.6C227.6 47.1 272 32 320 32c123.7 0 224 100.3 224 224c0 29.3-5.6 57.2-15.8 82.8l26.1 20.6c14-31.6 21.7-66.6 21.7-103.4C576 114.6 461.4 0 320 0zM186.9 348.6c-8.3 25 15.5 48.8 40.5 40.5l111-37-30-23.7-91.1 30.4 27-80.9-26.7-21.1-30.6 91.9zM301.6 159.9l30 23.7 91.1-30.4-27 80.9 26.7 21.1 30.6-91.9c8.3-25-15.5-48.8-40.5-40.5l-111 37zM25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4z\"]\n};\nvar faClockOne = {\n prefix: 'fal',\n iconName: 'clock-one',\n icon: [512, 512, [], \"e34e\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM272 112v91.2l34.7-52c4.9-7.4 14.8-9.3 22.2-4.4s9.3 14.8 4.4 22.2l-64 96c-3.9 5.9-11.2 8.5-17.9 6.4s-11.4-8.3-11.4-15.3V112c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faFileMusic = {\n prefix: 'fal',\n iconName: 'file-music',\n icon: [384, 512, [], \"f8b6\", \"M352 448V192H240c-26.5 0-48-21.5-48-48V32H64C46.3 32 32 46.3 32 64V448c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32zm-.5-288c-.7-2.8-2.1-5.4-4.2-7.4L231.4 36.7c-2.1-2.1-4.6-3.5-7.4-4.2V144c0 8.8 7.2 16 16 16H351.5zM0 64C0 28.7 28.7 0 64 0H220.1c12.7 0 24.9 5.1 33.9 14.1L369.9 129.9c9 9 14.1 21.2 14.1 33.9V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM304 232c0-5.2-2.6-10.2-6.9-13.2s-9.8-3.7-14.7-1.8l-128 48c-6.2 2.3-10.4 8.3-10.4 15v90.5c-5-1.6-10.4-2.5-16-2.5c-26.5 0-48 19.7-48 44s21.5 44 48 44s48-19.7 48-44c0-.8 0-1.6-.1-2.5c0-.5 .1-1 .1-1.5V291.1l96-36v83.4c-5-1.6-10.4-2.5-16-2.5c-26.5 0-48 19.7-48 44s21.5 44 48 44s48-19.7 48-44c0-.8 0-1.6-.1-2.5c0-.5 .1-1 .1-1.5V232zM256 392c-11.5 0-16-7.9-16-12s4.5-12 16-12s16 7.9 16 12s-4.5 12-16 12zM128 424c-11.5 0-16-7.9-16-12s4.5-12 16-12s16 7.9 16 12s-4.5 12-16 12z\"]\n};\nvar faCodeCommit = {\n prefix: 'fal',\n iconName: 'code-commit',\n icon: [640, 512, [], \"f386\", \"M320 352a96 96 0 1 0 0-192 96 96 0 1 0 0 192zm127-80c-7.9 63.1-61.7 112-127 112s-119.1-48.9-127-112H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H193c7.9-63.1 61.7-112 127-112s119.1 48.9 127 112H624c8.8 0 16 7.2 16 16s-7.2 16-16 16H447z\"]\n};\nvar faTemperatureLow = {\n prefix: 'fal',\n iconName: 'temperature-low',\n icon: [512, 512, [], \"f76b\", \"M416 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 96A64 64 0 1 0 416 0a64 64 0 1 0 0 128zM112 96c0-35.3 28.7-64 64-64s64 28.7 64 64V252.7c0 14.9 7 27.7 16 36.9c19.8 20.2 32 47.9 32 78.4c0 61.9-50.1 112-112 112s-112-50.1-112-112c0-30.5 12.2-58.2 32-78.4c9-9.2 16-22 16-36.9V96zM176 0C123 0 80 43 80 96V252.7c0 4.6-2.2 9.8-6.8 14.5C47.7 293.1 32 328.8 32 368c0 79.5 64.5 144 144 144s144-64.5 144-144c0-39.3-15.7-74.9-41.2-100.8c-4.6-4.7-6.8-9.9-6.8-14.5V96c0-53-43-96-96-96zM144 368a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm96 0c0-29.8-20.4-54.9-48-62V272c0-8.8-7.2-16-16-16s-16 7.2-16 16v34c-27.6 7.1-48 32.2-48 62c0 35.3 28.7 64 64 64s64-28.7 64-64z\"]\n};\nvar faPersonBiking = {\n prefix: 'fal',\n iconName: 'person-biking',\n icon: [640, 512, [128692, \"biking\"], \"f84a\", \"M392 32a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0 80A56 56 0 1 0 392 0a56 56 0 1 0 0 112zM224 384A96 96 0 1 1 32 384a96 96 0 1 1 192 0zM128 256a128 128 0 1 0 0 256 128 128 0 1 0 0-256zM608 384a96 96 0 1 1 -192 0 96 96 0 1 1 192 0zM512 256a128 128 0 1 0 0 256 128 128 0 1 0 0-256zM309.1 166.4c6.1-5.2 15.1-5.1 21.1 .3l59.1 53.2c2.9 2.6 6.8 4.1 10.7 4.1h80c8.8 0 16-7.2 16-16s-7.2-16-16-16H406.1l-54.5-49.1c-17.9-16.1-45-16.5-63.3-.8l-59.1 50.6c-23.9 20.5-21.9 58.1 4 76L320 328.4V416c0 8.8 7.2 16 16 16s16-7.2 16-16V320c0-5.3-2.6-10.2-6.9-13.2l-93.7-64.4c-8.7-6-9.3-18.5-1.3-25.3l59.1-50.6z\"]\n};\nvar faBiking = faPersonBiking;\nvar faDisplayChartUpCircleCurrency = {\n prefix: 'fal',\n iconName: 'display-chart-up-circle-currency',\n icon: [640, 512, [], \"e5e5\", \"M64 32H512c17.7 0 32 14.3 32 32V198.6c11.2 3.2 21.9 7.4 32 12.6V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64H213.1l-10.7 64H144c-8.8 0-16 7.2-16 16s7.2 16 16 16h72H360h34.8c-12.9-9.1-24.5-19.9-34.6-32H341.1 288 234.9l10.7-64H288h38.6c-2.9-10.3-4.9-21-5.9-32H232.3c-.2 0-.4 0-.6 0H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32zM480 192.7V112c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16s7.2 16 16 16h57.4L304 249.4l-68.7-68.7c-6.2-6.2-16.4-6.2-22.6 0l-112 112c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L224 214.6l68.7 68.7c3 3 7.1 4.7 11.3 4.7s8.3-1.7 11.3-4.7L448 150.6v48c10.3-2.9 21-4.9 32-5.9zM496 256a112 112 0 1 1 0 224 112 112 0 1 1 0-224zm0 256a144 144 0 1 0 0-288 144 144 0 1 0 0 288zM470.6 342.6a35.9 35.9 0 1 1 50.7 50.7 35.9 35.9 0 1 1 -50.7-50.7zM531.3 426l9.3 9.3c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-9.3-9.3c13.2-21.6 13.2-49.1 0-70.7l9.3-9.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-9.3 9.3c-21.6-13.2-49.1-13.2-70.7 0l-9.3-9.3c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l9.3 9.3c-13.2 21.6-13.2 49.1 0 70.7l-9.3 9.3c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l9.3-9.3c21.6 13.2 49.1 13.2 70.7 0z\"]\n};\nvar faSkeleton = {\n prefix: 'fal',\n iconName: 'skeleton',\n icon: [512, 512, [], \"f620\", \"M256 0c8.8 0 16 7.2 16 16V64H416c8.8 0 16 7.2 16 16s-7.2 16-16 16H272v64H480c8.8 0 16 7.2 16 16s-7.2 16-16 16H272v64H384c8.8 0 16 7.2 16 16s-7.2 16-16 16H272v75.4l86.6-24.7c6.3-1.8 12.8-2.7 19.3-2.7c38.8 0 70.2 31.4 70.2 70.2v5.2c0 18.5-6.8 36.3-19 50.1l-26.9 30.2c-11.5 12.9-28 20.3-45.3 20.3H155.2c-17.3 0-33.8-7.4-45.3-20.3L83 461.4c-12.3-13.8-19-31.6-19-50.1v-5.2c0-38.8 31.4-70.2 70.2-70.2c6.5 0 13 .9 19.3 2.7L240 363.4V288H128c-8.8 0-16-7.2-16-16s7.2-16 16-16H240V192H32c-8.8 0-16-7.2-16-16s7.2-16 16-16H240V96H96c-8.8 0-16-7.2-16-16s7.2-16 16-16H240V16c0-8.8 7.2-16 16-16zM96 406.2v5.2c0 10.6 3.9 20.9 11 28.8l26.9 30.2c5.4 6.1 13.2 9.6 21.4 9.6H356.8c8.2 0 15.9-3.5 21.4-9.6L405 440.2c7.1-7.9 11-18.2 11-28.8v-5.2c0-21.1-17.1-38.2-38.2-38.2c-3.5 0-7.1 .5-10.5 1.5l-93.8 26.8c-11.5 3.3-23.7 3.3-35.2 0l-93.8-26.8c-3.4-1-6.9-1.5-10.5-1.5C113.1 368 96 385.1 96 406.2zM160 432a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm152 0a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faCircleG = {\n prefix: 'fal',\n iconName: 'circle-g',\n icon: [512, 512, [], \"e10f\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM160 256c0-53 43-96 96-96c24.6 0 47 9.2 64 24.4c6.6 5.9 16.7 5.3 22.6-1.3s5.3-16.7-1.3-22.6C318.7 140.3 288.8 128 256 128c-70.7 0-128 57.3-128 128s57.3 128 128 128s128-57.3 128-128c0-8.8-7.2-16-16-16H288c-8.8 0-16 7.2-16 16s7.2 16 16 16h62.7c-7.6 45.4-47.1 80-94.7 80c-53 0-96-43-96-96z\"]\n};\nvar faCircleArrowUpLeft = {\n prefix: 'fal',\n iconName: 'circle-arrow-up-left',\n icon: [512, 512, [], \"e0fb\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm56-352H176c-8.8 0-16 7.2-16 16V320c0 8.8 7.2 16 16 16s16-7.2 16-16V214.6L324.7 347.3c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L214.6 192H312c8.8 0 16-7.2 16-16s-7.2-16-16-16z\"]\n};\nvar faCoinBlank = {\n prefix: 'fal',\n iconName: 'coin-blank',\n icon: [512, 512, [], \"e3fb\", \"M90.7 281.9C49 258.5 32 231.1 32 208s17-50.5 58.7-73.9C131.4 111.2 189.8 96 256 96s124.6 15.2 165.3 38.1C463 157.5 480 184.9 480 208s-17 50.5-58.7 73.9C380.6 304.8 322.2 320 256 320s-124.6-15.2-165.3-38.1zM240 351.7l0 64c-22.5-.7-44-3-64-6.6l0-64.3c20.3 3.8 41.8 6.1 64 6.9zM96 320.4c14.8 6.7 30.8 12.4 48 17.1l0 64.6c-17.7-4.7-33.8-10.5-48-17l0-64.7zM64 303.2l0 63.6c-23.5-16.9-32-34-32-46.8l0-42.2c9 9.2 19.8 17.7 32 25.5zM272 415.7l0-64c22.2-.8 43.7-3.1 64-6.9l0 64.3c-20 3.6-41.5 5.8-64 6.6zM448 303.2c12.2-7.8 23-16.3 32-25.5l0 42.2c0 12.9-8.5 29.9-32 46.8l0-63.6zm-32 17.2l0 64.7c-14.2 6.5-30.3 12.3-48 17l0-64.6c17.2-4.7 33.2-10.5 48-17.1zM256 64C114.6 64 0 128.5 0 208l0 32 0 80c0 70.7 114.6 128 256 128s256-57.3 256-128l0-80 0-32c0-79.5-114.6-144-256-144z\"]\n};\nvar faBroom = {\n prefix: 'fal',\n iconName: 'broom',\n icon: [576, 512, [129529], \"f51a\", \"M571.3 27.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-208 208-45.3-45.3c-4.8-4.8-11.2-7.4-17.9-7.4c-12.4 0-23 9-25 21.2l-9.1 54.7-9.8-1.4c-46.3-6.6-93 9-126 42L97 287c-21.1 21.1-33 49.8-33 79.7c0 1.3 .1 2.5 .4 3.7C66.1 378.2 73 384 81.3 384H96L81.3 398.7l-15 15L6.6 473.4c-4.2 4.2-6.6 10-6.6 16C0 501.9 10.1 512 22.6 512l171.9 0c39.4 0 77.2-15.6 105-43.5c33.1-33.1 48.6-79.7 42-126l-1.4-9.8 54.7-9.1c12.2-2 21.2-12.6 21.2-25c0-6.7-2.7-13.2-7.4-17.9l-45.3-45.3 208-208zM274.7 242.7l7.2-43.5 94.9 94.9-43.5 7.2-58.7-58.7zM229 266.2l24.7 3.5 52.6 52.6 3.5 24.7c5.2 36.3-7 72.9-33 98.9C255 467.7 225.4 480 194.5 480L45.3 480l73.4-73.4c9.2-9.2 11.9-22.9 6.9-34.9c-4.8-11.5-15.8-19.2-28.2-19.7c2.9-16 10.7-30.8 22.3-42.4l10.5-10.5c25.9-25.9 62.6-38.1 98.9-33z\"]\n};\nvar faVacuum = {\n prefix: 'fal',\n iconName: 'vacuum',\n icon: [640, 512, [], \"e04d\", \"M192.4 89.2C203.2 37.2 249 0 302.1 0H528c61.9 0 112 50.1 112 112c0 44.8-26.3 83.5-64.3 101.4C596.1 243.9 608 280.5 608 320V448c0 35.3-28.7 64-64 64H468.7c10.4-9.2 19.2-20 26.2-32H544c17.7 0 32-14.3 32-32V320c0-88.4-71.6-160-160-160c-17.7 0-32 14.3-32 32v96c-11 0-21.8 1.4-32 4V192c0-35.3 28.7-64 64-64c54.6 0 103.9 22.8 138.8 59.4c31-11 53.2-40.6 53.2-75.4c0-44.2-35.8-80-80-80H302.1c-37.9 0-70.6 26.6-78.3 63.7L197 224H164.3L192.4 89.2zM157.7 256h32.7L163.7 384.1C197.3 386 224 413.9 224 448c0 35.3-28.7 64-64 64H24.2C10.8 512 0 501.2 0 487.8c0-5.2 .8-10.4 2.5-15.3l7.6-22.9C23.2 410.4 59.9 384 101.2 384H131l26.7-128zM144.3 416c-.2 0-.4 0-.6 0H101.2c-27.5 0-52 17.6-60.7 43.8L33.7 480H160c17.7 0 32-14.3 32-32s-14.3-32-32-32H144.3zM448 416a64 64 0 1 0 -128 0 64 64 0 1 0 128 0zm-160 0a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zm96-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faShieldHeart = {\n prefix: 'fal',\n iconName: 'shield-heart',\n icon: [512, 512, [], \"e574\", \"M243.5 37.3c8-3.4 17-3.4 25 0l176.7 75c11.3 4.8 18.9 15.5 18.8 27.6c-.5 94-39.4 259.8-195.5 334.5c-7.9 3.8-17.2 3.8-25.1 0C87.3 399.6 48.5 233.8 48 139.8c-.1-12.1 7.5-22.8 18.8-27.6l176.7-75zM281 7.8c-16-6.8-34-6.8-50 0L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.7 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2L281 7.8zM162.3 214.2c0-19.6 15.9-35.5 35.5-35.5c9.5 0 18.7 3.8 25.4 10.7l21.4 21.9c3 3.1 7.1 4.8 11.4 4.8s8.4-1.7 11.4-4.8l21.4-21.9c6.7-6.8 15.8-10.7 25.4-10.7c19.6 0 35.5 15.9 35.5 35.5v1.5c0 9.7-3.8 19-10.6 25.9L256 326.5l-83.1-84.9c-6.8-6.9-10.6-16.2-10.6-25.9v-1.5zm35.5-67.5c-37.3 0-67.5 30.2-67.5 67.5v1.5c0 18.1 7.1 35.4 19.7 48.3l94.6 96.5c3 3.1 7.1 4.8 11.4 4.8s8.4-1.7 11.4-4.8L362 264c12.6-12.9 19.7-30.2 19.7-48.3v-1.5c0-37.3-30.2-67.5-67.5-67.5c-18.1 0-35.5 7.3-48.2 20.3l-10 10.2-10-10.2c-12.7-13-30.1-20.3-48.2-20.3z\"]\n};\nvar faCardHeart = {\n prefix: 'fal',\n iconName: 'card-heart',\n icon: [384, 512, [], \"e3eb\", \"M64 32C46.3 32 32 46.3 32 64V448c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H64zM0 64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM112 221.3c0 7.8 3.1 15.2 8.6 20.7L192 313.4l71.4-71.4c5.5-5.5 8.6-12.9 8.6-20.7c0-16.2-13.1-29.3-29.3-29.3c-7.8 0-15.2 3.1-20.7 8.6l-18.7 18.7c-6.2 6.2-16.4 6.2-22.6 0l-18.7-18.7c-5.5-5.5-12.9-8.6-20.7-8.6c-16.2 0-29.3 13.1-29.3 29.3zM141.3 160c16.2 0 31.8 6.5 43.3 17.9l7.4 7.4 7.4-7.4c11.5-11.5 27.1-17.9 43.3-17.9c33.8 0 61.3 27.4 61.3 61.3c0 16.2-6.5 31.8-17.9 43.3l-82.7 82.7c-6.2 6.2-16.4 6.2-22.6 0L97.9 264.6C86.5 253.1 80 237.5 80 221.3c0-33.8 27.4-61.3 61.3-61.3z\"]\n};\nvar faLightbulbCflOn = {\n prefix: 'fal',\n iconName: 'lightbulb-cfl-on',\n icon: [640, 512, [], \"e5a7\", \"M23.2 1.7l64 32c7.9 4 11.1 13.6 7.2 21.5s-13.6 11.1-21.5 7.2l-64-32C.9 26.4-2.3 16.7 1.7 8.8S15.3-2.3 23.2 1.7zm608 28.6l-64 32c-7.9 4-17.5 .7-21.5-7.2s-.7-17.5 7.2-21.5l64-32c7.9-4 17.5-.7 21.5 7.2s.7 17.5-7.2 21.5zM16 160H80c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16-7.2-16-16s7.2-16 16-16zm544 0h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H560c-8.8 0-16-7.2-16-16s7.2-16 16-16zM87.2 318.3l-64 32c-7.9 4-17.5 .7-21.5-7.2s-.7-17.5 7.2-21.5l64-32c7.9-4 17.5-.7 21.5 7.2s.7 17.5-7.2 21.5zm480-28.6l64 32c7.9 4 11.1 13.6 7.2 21.5s-13.6 11.1-21.5 7.2l-64-32c-7.9-4-11.1-13.6-7.2-21.5s13.6-11.1 21.5-7.2zM267.9 4.5C302.5-4.1 336 22 336 57.7c0 3.4-.3 6.8-.9 10l76.8-19.2C446.5 39.9 480 66 480 101.7c0 15.6-6.6 29.9-17.3 40c10.6 9.9 17.3 24 17.3 40c0 15.6-6.6 29.9-17.3 40c10.6 9.9 17.3 24 17.3 40c0 25.1-17.1 47.1-41.5 53.2L368 332.5V352h16c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H336v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V480H256c-17.7 0-32-14.3-32-32V384c0-17.7 14.3-32 32-32h16V317.5l32-8V352h32V320c0-7.3 5-13.7 12.1-15.5l82.6-20.7c10.2-2.5 17.3-11.7 17.3-22.1c0-14.8-13.9-25.7-28.3-22.1l-63.8 15.9-64 16-.1 0-63.7 15.9C193.5 296.1 160 270 160 234.3c0-15.6 6.6-29.9 17.3-40c-10.6-9.9-17.3-24-17.3-40c0-15.6 6.6-29.9 17.3-40c-10.6-9.9-17.3-24-17.3-40c0-25.1 17.1-47.1 41.5-53.2L267.9 4.5zm84 379.5H256v64H384V384H352.1l-.1 0-.1 0zM284.1 240.5l146.6-36.7c10.2-2.5 17.3-11.7 17.3-22.1c0-14.8-13.8-25.6-28.2-22.2L228.1 207.5l-.2 .1-18.6 4.6c-10.2 2.5-17.3 11.7-17.3 22.1c0 14.8 13.9 25.7 28.3 22.1l63.8-15.9zm10.4-129.6l-66.4 16.6-.1 0-18.8 4.7c-10.2 2.5-17.3 11.7-17.3 22.1c0 14.8 13.8 25.6 28.2 22.2l191.7-47.9 .2-.1 18.6-4.6c10.2-2.5 17.3-11.7 17.3-22.1c0-14.8-13.9-25.7-28.3-22.1L294.6 110.9l-.1 0zM304 57.7c0-14.8-13.9-25.7-28.3-22.1L209.3 52.2C199.1 54.7 192 63.8 192 74.3c0 14.8 13.9 25.7 28.3 22.1l0 0 66.4-16.6 0 0C296.9 77.3 304 68.2 304 57.7z\"]\n};\nvar faMelon = {\n prefix: 'fal',\n iconName: 'melon',\n icon: [512, 512, [], \"e310\", \"M480 256c0-35.8-8.4-69.7-23.4-99.7c-8.4 56.6-47.7 127.6-110.2 190.1S212.9 448.2 156.3 456.6c30 14.9 63.9 23.4 99.7 23.4c123.7 0 224-100.3 224-224zM55.4 355.7c8.4-56.6 47.7-127.6 110.2-190.1S299.1 63.8 355.7 55.4C325.7 40.4 291.8 32 256 32C132.3 32 32 132.3 32 256c0 35.8 8.4 69.7 23.4 99.7zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM414.3 97.7c-11.8-11.8-38.7-18.4-84.2-3.2c-43.5 14.5-94.7 46.5-142 93.8s-79.3 98.5-93.8 142c-15.2 45.5-8.6 72.4 3.2 84.2s38.7 18.4 84.2 3.2c43.5-14.5 94.7-46.5 142-93.8s79.3-98.5 93.8-142c15.2-45.5 8.6-72.4-3.2-84.2z\"]\n};\nvar faGopuram = {\n prefix: 'fal',\n iconName: 'gopuram',\n icon: [512, 512, [], \"f664\", \"M112 0c8.8 0 16 7.2 16 16V32h64V16c0-8.8 7.2-16 16-16s16 7.2 16 16V32h64V16c0-8.8 7.2-16 16-16s16 7.2 16 16V32h64V16c0-8.8 7.2-16 16-16s16 7.2 16 16V32 64 80v48 2.7c18.6 6.6 32 24.4 32 45.3v48c0 .9 0 1.8-.1 2.7c18.7 6.6 32.1 24.4 32.1 45.3v80c0 .9 0 1.8-.1 2.7c18.7 6.6 32.1 24.4 32.1 45.3v64c0 26.5-21.5 48-48 48H320 288 224 192 48c-26.5 0-48-21.5-48-48V400c0-20.9 13.4-38.7 32.1-45.3c-.1-.9-.1-1.8-.1-2.7V272c0-20.9 13.4-38.8 32.1-45.3c-.1-.9-.1-1.8-.1-2.7V176c0-20.9 13.4-38.7 32-45.3V128 80 64 32 16c0-8.8 7.2-16 16-16zM224 480h64c0-17.7-14.3-32-32-32s-32 14.3-32 32zm96 0h64V384H352 304 272 240 208 160 128v96h64c0-35.3 28.7-64 64-64s64 28.7 64 64zM128 80v48H384V80 64H128V80zm-16 80c-8.8 0-16 7.2-16 16l0 48h64V160H128 112zm48 96v96h48V336c0-26.5 21.5-48 48-48s48 21.5 48 48v16h48V256H320 272 240 192 160zm112-48v16h48V160H192v64h48V208c0-8.8 7.2-16 16-16s16 7.2 16 16zm0 144V336c0-8.8-7.2-16-16-16s-16 7.2-16 16v16h32zM416 224V176c0-8.8-7.2-16-16-16H384 352v64h64zm0 32H384v96h64V272c0-8.8-7.2-16-16-16H416zm0 224h48c8.8 0 16-7.2 16-16V400c0-8.8-7.2-16-16-16H448 416v96zM128 256H96 80c-8.8 0-16 7.2-16 16v80h64V256zM96 384H64 48c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16H96V384z\"]\n};\nvar faEarthOceania = {\n prefix: 'fal',\n iconName: 'earth-oceania',\n icon: [512, 512, [\"globe-oceania\"], \"e47b\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm16.7-303.5c-5-1.3-10.3 0-14.3 3.3l-25.2 21.5c-1.9 1.6-4.4 2.2-6.8 1.7l-.3-.1-4-5.3C211.8 216 195.8 208 178.7 208s-33.1 8-43.4 21.7l-5.3 7L94.7 253.5C66 267.1 54.4 302 69.2 330.1l3.3 6.2c12.6 24 40.6 35.5 66.5 27.3l20.4-6.5L205.2 373l27 17.4c9.6 6.2 20.9 9.5 32.3 9.5c18.4 0 35.7-8.4 47-22.9l12.1-15.4c8-10.2 12.4-22.9 12.4-35.9s-4.4-25.6-12.4-35.9l-18-22.9c-3.8-4.9-6.9-10.3-9.2-16.1l-12.8-32.7c-1.9-4.8-6-8.4-11-9.7zm-94 31.5c7 0 13.6 3.3 17.8 8.9l4 5.3c4.7 6.2 11.5 10.6 19.2 12.1l.3 .1c12.1 2.5 24.6-.8 34-8.7l8.1-6.9 4.6 11.8c3.4 8.7 8 16.8 13.8 24.2l17.9 22.9c3.6 4.6 5.6 10.3 5.6 16.1s-2 11.5-5.6 16.1l-12.1 15.4c-5.2 6.7-13.3 10.6-21.8 10.6c-5.3 0-10.5-1.5-15-4.4l-28.7-18.5c-1.1-.7-2.2-1.3-3.5-1.7l-52.7-18.2c-3.3-1.1-6.8-1.2-10.1-.1l-25.4 8.1c-11.1 3.5-23.1-1.4-28.5-11.7l-3.3-6.2c-6.3-12.1-1.4-27 10.9-32.8l35.3-16.8c4.7-2.2 8.7-5.5 11.8-9.7l5.3-7c4.2-5.6 10.8-8.9 17.8-8.9zm103-114.6c-12.4-14.4-32.1-20.2-50.2-14.7l-43.1 12.9c-19.8 5.9-23.3 32.4-5.8 43.3l39.4 24.6c9.4 5.8 20.4 8.3 31.4 6.9l37.9-4.7c19-2.4 27.7-24.9 15.2-39.4l-24.8-28.9zm-41 15.9c6.1-1.8 12.6 .1 16.7 4.9l15.1 17.6-23.2 2.9c-3.6 .5-7.3-.4-10.5-2.3l-24.4-15.2 26.2-7.9zM248 432c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H264c-8.8 0-16 7.2-16 16zM431.2 306.9c-2.8-8.4-11.9-12.9-20.2-10.1s-12.9 11.9-10.1 20.2l8 24c2.8 8.4 11.9 12.9 20.2 10.1s12.9-11.9 10.1-20.2l-8-24zm-19.9 80.4c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-32 32c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l32-32z\"]\n};\nvar faGlobeOceania = faEarthOceania;\nvar faContainerStorage = {\n prefix: 'fal',\n iconName: 'container-storage',\n icon: [640, 512, [], \"f4b7\", \"M16 32C7.2 32 0 39.2 0 48s7.2 16 16 16H32V448H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H48 592h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H608V64h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H592 48 16zM64 448V64H576V448H64zM192 144c0-8.8-7.2-16-16-16s-16 7.2-16 16V368c0 8.8 7.2 16 16 16s16-7.2 16-16V144zm96 0c0-8.8-7.2-16-16-16s-16 7.2-16 16V368c0 8.8 7.2 16 16 16s16-7.2 16-16V144zm96 0c0-8.8-7.2-16-16-16s-16 7.2-16 16V368c0 8.8 7.2 16 16 16s16-7.2 16-16V144zm96 0c0-8.8-7.2-16-16-16s-16 7.2-16 16V368c0 8.8 7.2 16 16 16s16-7.2 16-16V144z\"]\n};\nvar faFacePouting = {\n prefix: 'fal',\n iconName: 'face-pouting',\n icon: [512, 512, [], \"e387\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm85.3-102.7c4.5-3.5 8.4-8.6 10-15.1c1.6-6.7 .5-13.5-2.7-19.5C331.2 342 296.1 320 256 320c-40.1 0-75.1 22-92.5 54.7c-3.2 6-4.3 12.8-2.7 19.5c1.6 6.5 5.4 11.6 10 15.1c8.8 6.8 21.2 8.7 32.4 4.5c16.2-6.1 34-9.4 52.9-9.4c18.9 0 36.7 3.4 52.9 9.4c11.2 4.2 23.6 2.4 32.4-4.5zm-25.7-27.1c-18.5-6.4-38.6-9.9-59.6-9.9c-20.9 0-41 3.5-59.6 9.8C209.4 364 231.1 352 256 352s46.7 12.1 59.6 30.2zM176.4 264c13.3 0 24-10.7 24-24c0-2.6-.4-5.1-1.2-7.4l19.7 6.6c8.4 2.8 17.4-1.7 20.2-10.1s-1.7-17.4-10.1-20.2l-96-32c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2l39.6 13.2c-6.2 4.3-10.2 11.5-10.2 19.6c0 13.3 10.7 24 24 24zm184-24c0-8.2-4.1-15.5-10.4-19.8l39.1-13c8.4-2.8 12.9-11.9 10.1-20.2s-11.9-12.9-20.2-10.1l-96 32c-8.4 2.8-12.9 11.9-10.1 20.2s11.9 12.9 20.2 10.1l20.6-6.9c-.8 2.4-1.3 5-1.3 7.7c0 13.3 10.7 24 24 24s24-10.7 24-24z\"]\n};\nvar faSquareXmark = {\n prefix: 'fal',\n iconName: 'square-xmark',\n icon: [448, 512, [10062, \"times-square\", \"xmark-square\"], \"f2d3\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm148.7 84.7c6.2-6.2 16.4-6.2 22.6 0L224 233.4l52.7-52.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L246.6 256l52.7 52.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L224 278.6l-52.7 52.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L201.4 256l-52.7-52.7c-6.2-6.2-6.2-16.4 0-22.6z\"]\n};\nvar faTimesSquare = faSquareXmark;\nvar faXmarkSquare = faSquareXmark;\nvar faFaceExplode = {\n prefix: 'fal',\n iconName: 'face-explode',\n icon: [512, 512, [\"exploding-head\"], \"e2fe\", \"M296 32c-11.2 0-21.3 4.6-28.6 12c-3 3.1-7.1 4.8-11.4 4.8s-8.4-1.7-11.4-4.8c-7.3-7.4-17.4-12-28.6-12c-22.1 0-40 17.9-40 40v4.2c0 6.3-3.7 12-9.5 14.6s-12.5 1.5-17.2-2.7C143.7 83.1 136.2 80 128 80c-17.7 0-32 14.3-32 32s14.3 32 32 32h32 16 64c8.8 0 16 7.2 16 16s-7.2 16-16 16H221.3c1.8 5 2.7 10.4 2.7 16v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8-7.2-16-16-16H160 128c-35.3 0-64-28.7-64-64s28.7-64 64-64c6.7 0 13.1 1 19.1 2.9C156.2 21.4 183.6 0 216 0c14.8 0 28.6 4.5 40 12.1C267.4 4.5 281.2 0 296 0c32.4 0 59.8 21.4 68.9 50.9c6-1.9 12.5-2.9 19.1-2.9c35.3 0 64 28.7 64 64s-28.7 64-64 64H336c-8.8 0-16 7.2-16 16v16c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-26.5 21.5-48 48-48h48c17.7 0 32-14.3 32-32s-14.3-32-32-32c-8.2 0-15.7 3.1-21.3 8.1c-4.7 4.2-11.4 5.3-17.2 2.7s-9.5-8.3-9.5-14.6V72c0-22.1-17.9-40-40-40zM32 260.3c3.1-.7 6.1-1.8 9-3.4l28.7-16.1c9.7-5.5 21.6-5.5 31.4 0l25.5 14.4c9.7 5.5 21.6 5.5 31.4 0l25.5-14.4c9.7-5.5 21.6-5.5 31.4 0l25.5 14.4c9.7 5.5 21.6 5.5 31.4 0l25.5-14.4c9.7-5.5 21.6-5.5 31.4 0l25.5 14.4c9.7 5.5 21.6 5.5 31.4 0L411 240.8c9.7-5.5 21.6-5.5 31.4 0L471 256.9c2.8 1.6 5.8 2.7 9 3.4c5.7 1.2 11.6 .9 17.2-1l9.5-3.3 5.3-1.8 0 1.8c0 11.1-.7 22-2.1 32.7C493.9 414.7 386.3 512 256 512S18.1 414.7 2.1 288.7C.7 278 0 267.1 0 256l0-1.8L5.3 256l9.5 3.3c5.6 1.9 11.5 2.3 17.2 1zm53.3 8.4L56.7 284.8c-6.8 3.8-14.2 6.3-21.8 7.5C52.3 398.8 144.7 480 256 480s203.7-81.2 221.1-187.7c-7.6-1.2-14.9-3.7-21.8-7.5l-28.7-16.1-25.5 14.4c-19.5 11-43.3 11-62.8 0l-25.5-14.4-25.5 14.4c-19.5 11-43.3 11-62.8 0l-25.5-14.4-25.5 14.4c-19.5 11-43.3 11-62.8 0L85.3 268.7zm91 43.3a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm136 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM256 352c35.3 0 64 28.7 64 64v5.3c0 14.7-11.9 26.7-26.7 26.7H218.7c-14.7 0-26.7-11.9-26.7-26.7V416c0-35.3 28.7-64 64-64zm-32 64h64c0-17.7-14.3-32-32-32s-32 14.3-32 32z\"]\n};\nvar faExplodingHead = faFaceExplode;\nvar faHashtag = {\n prefix: 'fal',\n iconName: 'hashtag',\n icon: [448, 512, [62098], \"23\", \"M207.6 51.6c2-8.6-3.4-17.2-12-19.2s-17.2 3.4-19.2 12l-23 99.6H48c-8.8 0-16 7.2-16 16s7.2 16 16 16h98L109.1 336H16c-8.8 0-16 7.2-16 16s7.2 16 16 16h85.7L80.4 460.4c-2 8.6 3.4 17.2 12 19.2s17.2-3.4 19.2-12l23-99.6H261.7l-21.3 92.4c-2 8.6 3.4 17.2 12 19.2s17.2-3.4 19.2-12l23-99.6H400c8.8 0 16-7.2 16-16s-7.2-16-16-16H302l36.9-160H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H346.3l21.3-92.4c2-8.6-3.4-17.2-12-19.2s-17.2 3.4-19.2 12l-23 99.6H186.3l21.3-92.4zM178.9 176H306L269.1 336H142l36.9-160z\"]\n};\nvar faUpRightAndDownLeftFromCenter = {\n prefix: 'fal',\n iconName: 'up-right-and-down-left-from-center',\n icon: [512, 512, [\"expand-alt\"], \"f424\", \"M321 0c-18.2 0-33 14.8-33 33c0 8.7 3.5 17.1 9.7 23.3L325.4 84l-71.7 71.7c-15.6 15.6-15.6 40.9 0 56.6l46.1 46.1c15.6 15.6 40.9 15.6 56.6 0L428 186.6l27.7 27.7c6.2 6.2 14.6 9.7 23.3 9.7c18.2 0 33-14.8 33-33V32c0-17.7-14.3-32-32-32H321zm-1 33c0-.5 .4-1 1-1H480V191c0 .5-.4 1-1 1c-.3 0-.5-.1-.7-.3l-39-39c-6.2-6.2-16.4-6.2-22.6 0l-83 83c-3.1 3.1-8.2 3.1-11.3 0l-46.1-46.1c-3.1-3.1-3.1-8.2 0-11.3l83-83c3-3 4.7-7.1 4.7-11.3s-1.7-8.3-4.7-11.3l-39-39c-.2-.2-.3-.4-.3-.7zM32 512H191c18.2 0 33-14.8 33-33c0-8.7-3.5-17.1-9.7-23.3L186.6 428l71.7-71.7c15.6-15.6 15.6-40.9 0-56.6l-46.1-46.1c-15.6-15.6-40.9-15.6-56.6 0L84 325.4 56.3 297.7C50.1 291.5 41.7 288 33 288c-18.2 0-33 14.8-33 33V480c0 17.7 14.3 32 32 32zm160-33c0 .5-.4 1-1 1H32V321c0-.5 .4-1 1-1c.3 0 .5 .1 .7 .3l39 39c6.2 6.2 16.4 6.2 22.6 0l83-83c3.1-3.1 8.2-3.1 11.3 0l46.1 46.1c3.1 3.1 3.1 8.2 0 11.3l-83 83c-3 3-4.7 7.1-4.7 11.3s1.7 8.3 4.7 11.3l39 39c.2 .2 .3 .4 .3 .7z\"]\n};\nvar faExpandAlt = faUpRightAndDownLeftFromCenter;\nvar faOilCan = {\n prefix: 'fal',\n iconName: 'oil-can',\n icon: [640, 512, [], \"f613\", \"M336 96c8.8 0 16-7.2 16-16s-7.2-16-16-16H176c-8.8 0-16 7.2-16 16s7.2 16 16 16l64 0v64H128 96 48c-26.5 0-48 21.5-48 48v62.7c0 20 12.4 37.9 31.1 44.9L96 340v28c0 26.5 21.5 48 48 48H403.1c18.4 0 35.8-7.9 48-21.7L633.5 187.7c12.3-13.9-.3-35.4-18.4-31.5L448 192l-50.5-25.2c-8.9-4.4-18.7-6.8-28.6-6.8H272V96l64 0zm97.7 124.6c6.5 3.2 13.9 4.2 21 2.7l129.1-27.7L427.1 373.2c-6.1 6.9-14.8 10.8-24 10.8H144c-8.8 0-16-7.2-16-16V352 317.8 192H368.9c5 0 9.9 1.2 14.3 3.4l50.5 25.2zM96 305.8L42.4 285.7c-6.2-2.3-10.4-8.3-10.4-15V208c0-8.8 7.2-16 16-16H96V305.8z\"]\n};\nvar faT = {\n prefix: 'fal',\n iconName: 't',\n icon: [384, 512, [116], \"54\", \"M16 32C7.2 32 0 39.2 0 48s7.2 16 16 16H176V464c0 8.8 7.2 16 16 16s16-7.2 16-16V64H368c8.8 0 16-7.2 16-16s-7.2-16-16-16H192 16z\"]\n};\nvar faTransformerBolt = {\n prefix: 'fal',\n iconName: 'transformer-bolt',\n icon: [384, 512, [], \"e2a4\", \"M128 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V32H64c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H128V16zm160 0c0-8.8-7.2-16-16-16s-16 7.2-16 16V32H224c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H288V16zM48 112c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H64c-8.8 0-16 7.2-16 16zm160 0c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H224c-8.8 0-16 7.2-16 16zM16 160c-8.8 0-16 7.2-16 16s7.2 16 16 16H32V480H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H48 336h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H352V192h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H336 48 16zM64 480V192H320V480H64zm78.6-144l61.9-61.9-4.4 44.3c-.4 4.5 1 9 4.1 12.3s7.3 5.3 11.9 5.3h25.4l-61.9 61.9 4.4-44.3c.4-4.5-1-9-4.1-12.3s-7.3-5.3-11.9-5.3H142.6zm75.6-112c-5.6 0-11 2.2-15 6.2L102.3 331c-4.1 4.1-6.3 9.6-6.3 15.3c0 12 9.7 21.7 21.7 21.7h32.7l-5.7 56.6c-1.3 12.5 8.6 23.4 21.2 23.4c5.6 0 11-2.2 15-6.2L281.7 341c4.1-4.1 6.3-9.6 6.3-15.3c0-12-9.7-21.7-21.7-21.7H233.7l5.7-56.6c1.3-12.5-8.6-23.4-21.2-23.4z\"]\n};\nvar faHippo = {\n prefix: 'fal',\n iconName: 'hippo',\n icon: [640, 512, [129435], \"f6ed\", \"M427.3 44.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l12.1 12.1c-4.4 3.2-8.4 6.8-12 10.8L382 81.2C353.6 69.8 323.4 64 292.9 64H224C118 64 32 150 32 256v8 0l0 19.1c0 25.4-8.7 50.1-24.5 70L3.5 358C-2 364.9-.9 375 6 380.5s17 4.4 22.5-2.5l3.9-4.9c20.4-25.5 31.6-57.3 31.6-90L64 264v0-8c0-88.4 71.6-160 160-160h68.9c26.5 0 52.7 5 77.2 14.9l18.2 7.3c-2.8 8.1-4.3 16.8-4.3 25.9v5c0 9.5-4.5 18.4-10.8 25.6C360 190.1 352 210.1 352 232c0 45.9 35.1 83.6 80 87.6V336c0 8.8 7.2 16 16 16s16-7.2 16-16V320h88c2.7 0 5.4-.1 8-.4V336c0 8.8 7.2 16 16 16s16-7.2 16-16V310.4c28.5-14.6 48-44.2 48-78.4c0-30.8-15.8-57.8-39.7-73.6c-4.9-3.2-8.3-8.5-8.3-14.4c0-22.4-9.2-42.7-24.1-57.3l11.4-11.4c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L540.2 69.1C531.5 65.8 521.9 64 512 64H464c-5.4 0-10.7 .5-15.8 1.6L427.3 44.7zM448 288h-8c-30.9 0-56-25.1-56-56c0-14 5.1-26.7 13.5-36.5c9.2-10.7 18.5-26.7 18.5-46.5v-5c0-26.5 21.5-48 48-48h48c26.5 0 48 21.5 48 48c0 13.4 5.5 24.7 13.2 33c-25.7 5.1-45.2 27.7-45.2 55c0 8.8 7.2 16 16 16s16-7.2 16-16c0-13.3 10.7-24 24-24s24 10.7 24 24c0 30.9-25.1 56-56 56H448zm-32 83.8V424c0 13.3-10.7 24-24 24H360c-13.3 0-24-10.7-24-24V363.9c0-5.1-2.4-9.9-6.5-12.9s-9.4-3.9-14.3-2.4l-11.3 3.6c-31.2 9.8-64.6 9.8-95.8 0l-11.3-3.6c-4.9-1.5-10.2-.6-14.3 2.4s-6.5 7.8-6.5 12.9V424c0 13.3-10.7 24-24 24H120c-13.3 0-24-10.7-24-24V352c0-8.8-7.2-16-16-16s-16 7.2-16 16v72c0 30.9 25.1 56 56 56h32c30.9 0 56-25.1 56-56V385.4c31.5 8.1 64.5 8.1 96 0V424c0 30.9 25.1 56 56 56h32c30.9 0 56-25.1 56-56V384c-12.3 0-23.5-4.6-32-12.2zM480 144a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-40 32c-8.8 0-16 7.2-16 16s7.2 16 16 16c13.3 0 24 10.7 24 24c0 8.8 7.2 16 16 16s16-7.2 16-16c0-30.9-25.1-56-56-56zm88-16a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faChartColumn = {\n prefix: 'fal',\n iconName: 'chart-column',\n icon: [512, 512, [], \"e0e3\", \"M16 32c8.8 0 16 7.2 16 16V400c0 26.5 21.5 48 48 48H496c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-44.2 0-80-35.8-80-80V48c0-8.8 7.2-16 16-16zM144 256c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16s-16-7.2-16-16V272c0-8.8 7.2-16 16-16zM256 144V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-8.8 7.2-16 16-16s16 7.2 16 16zm80 48c8.8 0 16 7.2 16 16V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V208c0-8.8 7.2-16 16-16zm112-80V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V112c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faCassetteVhs = {\n prefix: 'fal',\n iconName: 'cassette-vhs',\n icon: [576, 512, [128252, \"vhs\"], \"f8ec\", \"M32 160V416c0 17.7 14.3 32 32 32H512c17.7 0 32-14.3 32-32V160H32zm0-32H544V96c0-17.7-14.3-32-32-32H64C46.3 64 32 78.3 32 96v32zM576 96v32 16 16V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V160 144 128 96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64zM136 208h72H368h72c3.5 0 6.9 1.1 9.7 3.3L440 224c9.7-12.7 9.7-12.7 9.7-12.7l0 0 0 0 .1 0 .2 .1 .5 .4c.4 .3 1 .8 1.6 1.3c1.3 1.1 3.2 2.7 5.3 4.8c4.3 4.1 9.9 10.2 15.6 18c11.3 15.5 23 38.8 23 68s-11.8 52.5-23 68c-5.7 7.8-11.3 13.8-15.6 18c-2.1 2.1-4 3.7-5.3 4.8c-.7 .6-1.2 1-1.6 1.3l-.5 .4-.2 .1-.1 0 0 0 0 0s0 0-9.7-12.7l9.7 12.7c-2.8 2.1-6.2 3.3-9.7 3.3H368 208 136c-3.5 0-6.9-1.1-9.7-3.3L136 384c-9.7 12.7-9.7 12.7-9.7 12.7l0 0 0 0-.1 0-.2-.1-.5-.4c-.4-.3-1-.8-1.6-1.3c-1.3-1.1-3.2-2.7-5.3-4.8c-4.3-4.1-9.9-10.2-15.6-18c-11.3-15.5-23-38.8-23-68s11.8-52.5 23-68c5.7-7.8 11.3-13.8 15.6-18c2.1-2.1 4-3.7 5.3-4.8c.7-.6 1.2-1 1.6-1.3l.5-.4 .2-.1 .1 0 0 0 0 0s0 0 9.7 12.7l-9.7-12.7c2.8-2.1 6.2-3.3 9.7-3.3zm4.9 33c-3.2 3.1-7.6 7.8-11.9 13.7c-8.7 12.1-17 28.8-17 49.2s8.2 37.2 17 49.2c4.3 6 8.7 10.6 11.9 13.7c.4 .4 .7 .7 1.1 1H192V336c-17.7 0-32-14.3-32-32s14.3-32 32-32V240H141.9c-.3 .3-.7 .7-1.1 1zM352 368V240H224V368H352zm82.1 0l.6-.5 .5-.5c3.2-3.1 7.6-7.8 11.9-13.7c8.7-12.1 17-28.8 17-49.2s-8.2-37.2-17-49.2c-4.3-6-8.7-10.6-11.9-13.7c-.4-.4-.7-.7-1.1-1H384v32c17.7 0 32 14.3 32 32s-14.3 32-32 32v32h50.1z\"]\n};\nvar faVhs = faCassetteVhs;\nvar faInfinity = {\n prefix: 'fal',\n iconName: 'infinity',\n icon: [640, 512, [8734, 9854], \"f534\", \"M0 233.5C0 157.5 61.5 96 137.5 96c39.3 0 76.7 16.8 102.7 46.1L320 231.9l79.8-89.8C425.9 112.8 463.3 96 502.5 96C578.5 96 640 157.5 640 233.5v45.1C640 354.5 578.5 416 502.5 416c-39.3 0-76.7-16.8-102.7-46.1L320 280.1l-79.8 89.8C214.1 399.2 176.7 416 137.5 416C61.5 416 0 354.5 0 278.5V233.5zM298.6 256l-82.3-92.6c-20-22.5-48.7-35.4-78.8-35.4C79.2 128 32 175.2 32 233.5v45.1C32 336.8 79.2 384 137.5 384c30.1 0 58.8-12.9 78.8-35.4L298.6 256zm42.8 0l82.3 92.6c20 22.5 48.7 35.4 78.8 35.4C560.8 384 608 336.8 608 278.5V233.5C608 175.2 560.8 128 502.5 128c-30.1 0-58.8 12.9-78.8 35.4L341.4 256z\"]\n};\nvar faVialCircleCheck = {\n prefix: 'fal',\n iconName: 'vial-circle-check',\n icon: [512, 512, [], \"e596\", \"M0 48c0-8.8 7.2-16 16-16H32 64 192h32 16c8.8 0 16 7.2 16 16s-7.2 16-16 16H224V266.8c-20.2 28.6-32 63.5-32 101.2V224H64V384c0 35.3 28.7 64 64 64s64-28.7 64-64V368c0 25.2 5.3 49.1 14.8 70.8C189.5 463.7 160.6 480 128 480c-53 0-96-43-96-96V64H16C7.2 64 0 56.8 0 48zM64 64V192H192V64H64zM368 480a112 112 0 1 0 0-224 112 112 0 1 0 0 224zm0-256a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm67.3 100.7c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L352 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faChimney = {\n prefix: 'fal',\n iconName: 'chimney',\n icon: [448, 512, [], \"f78b\", \"M32 64H416v64H400 176 48 32V64zm0 96l0 112V400v64c0 8.8 7.2 16 16 16s16-7.2 16-16V416h96v48c0 8.8 7.2 16 16 16s16-7.2 16-16V416h80H384v48c0 8.8 7.2 16 16 16s16-7.2 16-16V400 272 160c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H32C14.3 32 0 46.3 0 64v64c0 17.7 14.3 32 32 32zm352 0v96H272 192V160H384zm-224 0v96H64V160h96zm16 224H64V288H176h80v96H176zm112 0V288h96v96H288z\"]\n};\nvar faObjectIntersect = {\n prefix: 'fal',\n iconName: 'object-intersect',\n icon: [512, 512, [], \"e49d\", \"M96 32H64C46.3 32 32 46.3 32 64V96H0V64C0 28.7 28.7 0 64 0H96V32zm32 0V0h96V32H128zM0 128H32v96H0V128zM288 32H256V0h32c35.3 0 64 28.7 64 64v64H320V64c0-17.7-14.3-32-32-32zm32 128h32v32 64 32c0 35.3-28.7 64-64 64H224 192 160V320 256 224c0-35.3 28.7-64 64-64h64 32zM160 384h32v64c0 17.7 14.3 32 32 32h32v32H224c-35.3 0-64-28.7-64-64V384zm-32-32H64c-35.3 0-64-28.7-64-64V256H32v32c0 17.7 14.3 32 32 32h64v32zM384 192V160h64c35.3 0 64 28.7 64 64v32H480V224c0-17.7-14.3-32-32-32H384zM288 512V480h96v32H288zm160 0H416V480h32c17.7 0 32-14.3 32-32V416h32v32c0 35.3-28.7 64-64 64zm64-128H480V288h32v96zM224 192c-17.7 0-32 14.3-32 32v96h96c17.7 0 32-14.3 32-32V192H224z\"]\n};\nvar faPersonArrowDownToLine = {\n prefix: 'fal',\n iconName: 'person-arrow-down-to-line',\n icon: [640, 512, [], \"e538\", \"M168 56a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm80 0A56 56 0 1 0 136 56a56 56 0 1 0 112 0zM179.3 160h25.4c6.8 0 13.3 1.4 19.3 4V320H160V164c6-2.6 12.5-4 19.3-4zM160 480V352h64V480H160zm-32 0H16c-8.8 0-16 7.2-16 16s7.2 16 16 16l128 0h96l384 0c8.8 0 16-7.2 16-16s-7.2-16-16-16H256V202.2l49.9 93.4c4.2 7.8 13.9 10.7 21.7 6.6s10.7-13.9 6.6-21.7L275.3 170.3c-13.9-26-41-42.3-70.6-42.3H179.3c-29.5 0-56.7 16.3-70.6 42.3L49.9 280.5c-4.2 7.8-1.2 17.5 6.6 21.7s17.5 1.2 21.7-6.6L128 202.1V480zM480 48l0 313.4-68.7-68.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l96 96c6.2 6.2 16.4 6.2 22.6 0l96-96c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L512 361.4 512 48c0-8.8-7.2-16-16-16s-16 7.2-16 16z\"]\n};\nvar faVoicemail = {\n prefix: 'fal',\n iconName: 'voicemail',\n icon: [640, 512, [], \"f897\", \"M144 352a112 112 0 1 0 0-224 112 112 0 1 0 0 224zM288 240c0 45.2-20.9 85.6-53.5 112h171C372.9 325.6 352 285.2 352 240c0-79.5 64.5-144 144-144s144 64.5 144 144s-64.5 144-144 144H144C64.5 384 0 319.5 0 240S64.5 96 144 96s144 64.5 144 144zM496 352a112 112 0 1 0 0-224 112 112 0 1 0 0 224z\"]\n};\nvar faBlockBrick = {\n prefix: 'fal',\n iconName: 'block-brick',\n icon: [448, 512, [\"wall-brick\"], \"e3db\", \"M136 64v64h72 32 72V64H136zm-32 0H64C46.3 64 32 78.3 32 96v32h72V64zM32 160v80h72 32 72V160H32zm0 192h72V272H32v80zm0 32v32c0 17.7 14.3 32 32 32H208V384H136 104 32zm104-32H312V272H136v80zm208 0h72V272H344v80zm72 32H344 312 240v64H384c17.7 0 32-14.3 32-32V384zm0-224H240v80h72 32 72V160zm0-32V96c0-17.7-14.3-32-32-32H344v64h72zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96z\"]\n};\nvar faWallBrick = faBlockBrick;\nvar faFan = {\n prefix: 'fal',\n iconName: 'fan',\n icon: [512, 512, [], \"f863\", \"M242.5 134.2c-1.1 10.6 3.2 21 11.4 27.8s19.2 9.1 29.4 6.1c16.9-4.9 39.3-8.2 68.8-8.2l.1 0c59.5-.2 108.2 37.9 123.1 92.2l-97.5-9.7c-10.6-1.1-21 3.2-27.8 11.4s-9.1 19.2-6.2 29.4c4.9 16.9 8.2 39.3 8.2 68.8l0 .1c.2 59.5-37.9 108.2-92.2 123.1l9.7-97.5c1.1-10.6-3.2-21-11.4-27.8s-19.2-9.1-29.4-6.1c-16.9 4.9-39.3 8.2-68.8 8.2l-.1 0c-59.5 .2-108.2-37.9-123.1-92.2l97.5 9.7c10.6 1.1 21-3.2 27.8-11.4s9.1-19.2 6.1-29.4c-4.9-16.9-8.2-39.3-8.2-68.8l0-.1c-.2-59.5 37.9-108.2 92.2-123.1l-9.7 97.5zM480.1 252.7s0 0 0 0l0 0zM32 259.3l0 0c0 0 0 0 0 0zM252.7 32l0 0c0 0 0 0 0 0zm21.6 105.5l3.4-33.9 6.8-68.3c1.9-18.8-13.1-35.5-31.6-31.5C179.9 19.2 127.7 82.7 128 160c0 16.6 1 31.5 2.7 44.9c1.6 12.2 3.9 23.1 6.7 32.8l-33.9-3.4-68.3-6.8C16.4 225.6-.3 240.6 3.7 259.1C19.2 332.2 82.8 384.3 160 384c16.6 0 31.5-1 44.9-2.7c12.2-1.6 23.1-3.9 32.8-6.7l-3.4 33.9-6.8 68.3c-1.9 18.8 13.1 35.5 31.6 31.5C332.2 492.8 384.3 429.3 384 352c0-16.6-1-31.5-2.7-44.9c-1.6-12.2-3.9-23.1-6.7-32.8l33.9 3.4 68.3 6.8c18.8 1.9 35.5-13.1 31.5-31.6C492.8 179.8 429.3 127.7 352 128c-16.6 0-31.5 1-44.9 2.7c-12.2 1.6-23.1 3.9-32.8 6.7zM256 280a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faBagsShopping = {\n prefix: 'fal',\n iconName: 'bags-shopping',\n icon: [576, 512, [128717], \"f847\", \"M160 96c0-35.3 28.7-64 64-64s64 28.7 64 64v64H160V96zm-32 64H64c-35.3 0-64 28.7-64 64V416c0 35.3 28.7 64 64 64h96V448H64c-17.7 0-32-14.3-32-32V224c0-17.7 14.3-32 32-32H384c17.7 0 32 14.3 32 32h32c0-35.3-28.7-64-64-64H320V96c0-53-43-96-96-96s-96 43-96 96v64zM512 288c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H256c-17.7 0-32-14.3-32-32V320c0-17.7 14.3-32 32-32H512zM192 320V448c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V320c0-35.3-28.7-64-64-64H256c-35.3 0-64 28.7-64 64zm128 16c0-8.8-7.2-16-16-16s-16 7.2-16 16v16c0 53 43 96 96 96s96-43 96-96V336c0-8.8-7.2-16-16-16s-16 7.2-16 16v16c0 35.3-28.7 64-64 64s-64-28.7-64-64V336z\"]\n};\nvar faParagraphLeft = {\n prefix: 'fal',\n iconName: 'paragraph-left',\n icon: [384, 512, [\"paragraph-rtl\"], \"f878\", \"M320 32h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H224 208 176 144C82.1 0 32 50.1 32 112s50.1 112 112 112h48v80c0 8.8 7.2 16 16 16s16-7.2 16-16l0-80V208 32h64V304c0 8.8 7.2 16 16 16s16-7.2 16-16V32zM192 32V192H144c-44.2 0-80-35.8-80-80s35.8-80 80-80h32 16zM122.2 348.3c6.8-5.7 7.7-15.7 2-22.5s-15.7-7.7-22.5-2l-96 80C2.1 406.7 0 411.3 0 416s2.1 9.3 5.8 12.3l96 80c6.8 5.7 16.9 4.7 22.5-2s4.7-16.9-2-22.5L60.2 432H368c8.8 0 16-7.2 16-16s-7.2-16-16-16H60.2l62.1-51.7z\"]\n};\nvar faParagraphRtl = faParagraphLeft;\nvar faPersonWalkingLuggage = {\n prefix: 'fal',\n iconName: 'person-walking-luggage',\n icon: [576, 512, [], \"e554\", \"M400 56a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm80 0A56 56 0 1 0 368 56a56 56 0 1 0 112 0zM341.6 172.3c1.3-.7 2.6-1.4 3.9-2l-26.6 85c-5.7 18.2 0 38.1 14.4 50.6L433.9 393l30.7 107.4c2.4 8.5 11.3 13.4 19.8 11s13.4-11.3 11-19.8L464.7 384.2c-1.7-6-5.1-11.3-9.8-15.4L411.3 331l37.8-109.2 8.8 26.4c5.6 16.9 16.7 31.4 31.5 41.3l29.7 19.8c7.4 4.9 17.3 2.9 22.2-4.4s2.9-17.3-4.4-22.2l-29.7-19.8c-8.9-5.9-15.5-14.6-18.9-24.8l-17.1-51.4c-11.7-35-44.5-58.7-81.4-58.7c-22.1 0-43.9 5.6-63.4 16.2l-12.7 6.9c-35.3 19.3-61 52.4-70.7 91.5l-2.4 9.5c-2.1 8.6 3.1 17.3 11.6 19.4s17.3-3.1 19.4-11.6l2.4-9.6c7.6-30.4 27.5-56.2 55-71.2l12.7-6.9zm7.9 92.5l32.7-104.5c2.5-.2 5-.3 7.5-.3c15.9 0 30.5 7 40.6 18.4l-45 130-30.9-26.8c-4.8-4.2-6.7-10.8-4.8-16.9zm-6.4 88.9c-7.9-4-17.5-.7-21.5 7.2l-30.8 61.7-62.2 62.2c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l62.2-62.2c2.4-2.4 4.5-5.2 6-8.3l30.8-61.7c4-7.9 .7-17.5-7.2-21.5zm-94.8-63.4c-7.5-4.6-17.4-2.2-22 5.3l-25.2 41.4c-.6-.4-1.1-.7-1.7-1.1L144 304c-15.3-8.8-34.9-3.6-43.7 11.7l-64 110.9c-8.8 15.3-3.6 34.9 11.7 43.7l55.4 32c15.3 8.8 34.9 3.6 43.7-11.7l36.3-62.9 70.2-115.3c4.6-7.5 2.2-17.4-5.3-22zM118 473.7L64 442.6l64-110.9 55.4 32-27.5 47.6-38 62.4z\"]\n};\nvar faCaravanSimple = {\n prefix: 'fal',\n iconName: 'caravan-simple',\n icon: [640, 512, [\"caravan-alt\"], \"e000\", \"M80 64c-26.5 0-48 21.5-48 48V336c0 26.5 21.5 48 48 48h21.5c13.2-37.3 48.7-64 90.5-64s77.4 26.7 90.5 64H544V192c0-70.7-57.3-128-128-128H80zM96 416H80c-44.2 0-80-35.8-80-80V112C0 67.8 35.8 32 80 32H416c88.4 0 160 71.6 160 160V384l48 0c8.8 0 16 7.2 16 16s-7.2 16-16 16l-48 0H544 288c0 53-43 96-96 96s-96-43-96-96zM256 160H128v64H256V160zM128 128H256c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32zm224 32v64h64V160H352zm-32 0c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32H352c-17.7 0-32-14.3-32-32V160zM256 416a64 64 0 1 0 -128 0 64 64 0 1 0 128 0z\"]\n};\nvar faCaravanAlt = faCaravanSimple;\nvar faTurtle = {\n prefix: 'fal',\n iconName: 'turtle',\n icon: [576, 512, [128034], \"f726\", \"M200 64C124.9 64 64 124.9 64 200v40c0 8.8-7.2 16-16 16s-16-7.2-16-16V200c0-92.8 75.2-168 168-168s168 75.2 168 168v40c0 8.8-7.2 16-16 16s-16-7.2-16-16V200c0-75.1-60.9-136-136-136zM400 188.6c0-42.3 34.3-76.6 76.6-76.6c54.9 0 99.4 44.5 99.4 99.4V224c0 35.3-28.7 64-64 64H491.5c-20.3 57.4-74.7 96-135.8 96H352v48c0 26.5-21.5 48-48 48H272c-26.5 0-48-21.5-48-48V384H192v48c0 26.5-21.5 48-48 48H112c-26.5 0-48-21.5-48-48V384H48c-26.5 0-48-21.5-48-48s21.5-48 48-48H360c22.1 0 40-17.9 40-40V188.6zM256 416v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V416 384 352h35.7c48.2 0 91-30.8 106.3-76.6l2.8-8.5c2.2-6.5 8.3-10.9 15.2-10.9h32c17.7 0 32-14.3 32-32V211.4c0-37.2-30.2-67.4-67.4-67.4C452 144 432 164 432 188.6V248c0 39.8-32.2 72-72 72H320 256 160 96 48c-8.8 0-16 7.2-16 16s7.2 16 16 16H96v32 32 16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V416 384 352h96v32 32zM480 192a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faPencilMechanical = {\n prefix: 'fal',\n iconName: 'pencil-mechanical',\n icon: [512, 512, [], \"e5ca\", \"M440 0c-9.4 0-18.3 3.7-25 10.3L376.4 48.9c-2.7-.6-5.6-.9-8.4-.9c-10.2 0-20.1 4.1-27.3 11.3L311.3 88.7 281.9 59.3c-18.7-18.7-49.1-18.7-67.9 0L108.7 164.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L236.7 81.9c6.2-6.2 16.4-6.2 22.6 0l29.4 29.4L80.4 319.7c-5.5 5.5-9.6 12.2-11.9 19.6L32 456l.7 .7-28 28c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l28-28 .7 .7 116.7-36.5c7.4-2.3 14.1-6.4 19.6-11.9L452.7 171.3c7.2-7.2 11.3-17.1 11.3-27.3c0-2.9-.3-5.7-.9-8.4L501.7 97c6.6-6.6 10.3-15.6 10.3-25s-3.7-18.3-10.3-25L465 10.3C458.3 3.7 449.4 0 440 0zm4.7 108.7L403.3 67.3 437.7 33c.6-.6 1.5-1 2.3-1s1.7 .3 2.3 1L479 69.7c.6 .6 1 1.5 1 2.3s-.3 1.7-1 2.3l-34.3 34.3zm-14.6 30.6c1.2 1.2 1.9 2.9 1.9 4.7s-.7 3.4-1.9 4.7L188.7 390.1l-66.7-66.7L363.3 81.9c1.2-1.2 2.9-1.9 4.7-1.9s3.4 .7 4.7 1.9l57.4 57.4zM99 348.8c.2-.8 .5-1.5 .9-2.3l65.5 65.5c-.7 .4-1.5 .7-2.3 .9L69.9 442.1 99 348.8z\"]\n};\nvar faUpDown = {\n prefix: 'fal',\n iconName: 'up-down',\n icon: [256, 512, [8597, 11021, \"arrows-alt-v\"], \"f338\", \"M103.3 9.7C110 3.5 118.8 0 128 0s18 3.5 24.7 9.7l91 84c7.8 7.2 12.3 17.4 12.3 28.1c0 21.1-17.1 38.3-38.3 38.3H192V352h25.7c21.1 0 38.3 17.1 38.3 38.3c0 10.7-4.5 20.9-12.3 28.1l-91 84c-6.7 6.2-15.6 9.7-24.7 9.7s-18-3.5-24.7-9.7l-91-84C4.5 411.1 0 400.9 0 390.3C0 369.1 17.1 352 38.3 352H64V160H38.3C17.1 160 0 142.9 0 121.7c0-10.7 4.5-20.9 12.3-28.1l91-84zM128 32c-1.1 0-2.2 .4-3 1.2l-91 84c-1.3 1.2-2 2.9-2 4.6c0 3.5 2.8 6.3 6.3 6.3H80c8.8 0 16 7.2 16 16V368v0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0c0 8.8-7.2 16-16 16H38.3c-3.5 0-6.3 2.8-6.3 6.3c0 1.7 .7 3.4 2 4.6l91 84c.8 .8 1.9 1.2 3 1.2s2.2-.4 3-1.2l91-84c1.3-1.2 2-2.8 2-4.6c0-3.5-2.8-6.3-6.3-6.3H176c-8.8 0-16-7.2-16-16v0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0V144c0-8.8 7.2-16 16-16h41.7c3.5 0 6.3-2.8 6.3-6.3c0-1.7-.7-3.4-2-4.6l-91-84c-.8-.8-1.9-1.2-3-1.2z\"]\n};\nvar faArrowsAltV = faUpDown;\nvar faCloudMoonRain = {\n prefix: 'fal',\n iconName: 'cloud-moon-rain',\n icon: [576, 512, [], \"f73c\", \"M357.5 109.6c10.8-32.9 36.5-59.3 69.4-71c-17.1 22.5-27.3 50.4-27.3 80.8c0 63.2 44.1 116.1 103.2 130.4c-10.6 3.7-21.9 5.8-33.7 6.2c4.6 9.8 7.9 20.4 9.5 31.5c34-3.1 64.7-17.8 87.8-40.1c5.1-4.9 6.4-12.5 3.2-18.7s-10.1-9.7-17-8.6c-5.8 1-11.7 1.5-17.8 1.5c-57.2 0-103.4-45.9-103.4-102.2c0-38.1 21.1-71.4 52.5-89c6.1-3.4 9.3-10.5 7.8-17.4s-7.3-12-14.3-12.6c-4.1-.3-8.2-.5-12.3-.5C401.2 0 346.7 41.2 327.4 98.5c10.7 2.3 20.7 6.1 30 11.1zM88.6 418.5c-7.5-4.7-17.4-2.4-22 5.1l-40 64c-4.7 7.5-2.4 17.4 5.1 22s17.4 2.4 22-5.1l40-64c4.7-7.5 2.4-17.4-5.1-22zm96 0c-7.5-4.7-17.4-2.4-22 5.1l-40 64c-4.7 7.5-2.4 17.4 5.1 22s17.4 2.4 22-5.1l40-64c4.7-7.5 2.4-17.4-5.1-22zm96 0c-7.5-4.7-17.4-2.4-22 5.1l-40 64c-4.7 7.5-2.4 17.4 5.1 22s17.4 2.4 22-5.1l40-64c4.7-7.5 2.4-17.4-5.1-22zm96 0c-7.5-4.7-17.4-2.4-22 5.1l-40 64c-4.7 7.5-2.4 17.4 5.1 22s17.4 2.4 22-5.1l40-64c4.7-7.5 2.4-17.4-5.1-22zM112 192c0-35.3 28.7-64 64-64c29.1 0 53.7 19.4 61.4 46c1.7 5.8 6.5 10.2 12.5 11.3s12-1.3 15.7-6.1c8.8-11.7 22.7-19.2 38.4-19.2c26.5 0 48 21.5 48 48c0 8.8-2.3 16.9-6.4 24c-2.9 5-2.9 11.1 0 16s8.1 8 13.9 8l8.3 0 0 0 .2 0c26.5 0 48 21.5 48 48s-21.5 48-48 48c-.6 0-1.2 0-1.8 0l-.3 0-.2 0H98.9c-.2 0-.4 0-.6 0c-.8 0-1.6 0-2.3 0c-35.3 0-64-28.7-64-64s28.7-64 64-64c.4 0 .8 0 1.3 0c4.9 .1 9.5-2 12.6-5.8s4.4-8.7 3.4-13.4c-.8-4.1-1.3-8.4-1.3-12.8zm64-96c-53 0-96 43-96 96l0 1.3C34.6 200.9 0 240.4 0 288c0 53 43 96 96 96c1.1 0 2.1 0 3.2-.1H365.3c.9 0 1.8 0 2.7 0c44.2 0 80-35.8 80-80c0-39.3-28.4-72.1-65.8-78.7c1.2-5.6 1.9-11.3 1.9-17.2c0-44.2-35.8-80-80-80c-17 0-32.8 5.3-45.8 14.4C241.4 114.6 210.9 96 176 96z\"]\n};\nvar faBoothCurtain = {\n prefix: 'fal',\n iconName: 'booth-curtain',\n icon: [512, 512, [], \"f734\", \"M0 32V496c0 8.8 7.2 16 16 16s16-7.2 16-16V32l32 0V0H32C14.3 0 0 14.3 0 32zm288 0V384c0 17.7-14.3 32-32 32s-32-14.3-32-32V32h64zM256 448c19.1 0 36.3-8.4 48-21.7c11.7 13.3 28.9 21.7 48 21.7s36.3-8.4 48-21.7c11.7 13.3 28.9 21.7 48 21.7c11.7 0 22.6-3.1 32-8.6V496c0 8.8 7.2 16 16 16s16-7.2 16-16V384 48 32c0-17.7-14.3-32-32-32H208 128C110.3 0 96 14.3 96 32V384c0 35.3 28.7 64 64 64c19.1 0 36.3-8.4 48-21.7c11.7 13.3 28.9 21.7 48 21.7zM480 48V384c0 17.7-14.3 32-32 32s-32-14.3-32-32V32h64V48zM384 32V384c0 17.7-14.3 32-32 32s-32-14.3-32-32V32h64zM192 384c0 17.7-14.3 32-32 32s-32-14.3-32-32V32h64V384z\"]\n};\nvar faCalendar = {\n prefix: 'fal',\n iconName: 'calendar',\n icon: [448, 512, [128197, 128198], \"f133\", \"M112 0c8.8 0 16 7.2 16 16V64H320V16c0-8.8 7.2-16 16-16s16 7.2 16 16V64h32c35.3 0 64 28.7 64 64v32 32V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192 160 128C0 92.7 28.7 64 64 64H96V16c0-8.8 7.2-16 16-16zM416 192H32V448c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V192zM384 96H64c-17.7 0-32 14.3-32 32v32H416V128c0-17.7-14.3-32-32-32z\"]\n};\nvar faBoxHeart = {\n prefix: 'fal',\n iconName: 'box-heart',\n icon: [448, 512, [], \"f49d\", \"M240 64H342.4c12.6 0 24.1 7.4 29.2 19l34.2 77H240V64zm0 128H416V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V192H208h32zm-32-32H42.1L76.3 83c5.1-11.6 16.6-19 29.2-19H208v96zM400.9 70c-10.3-23.1-33.2-38-58.5-38H105.6C80.3 32 57.4 46.9 47.1 70L5.5 163.6c-3.6 8.2-5.5 17-5.5 26V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V189.6c0-9-1.9-17.8-5.5-26L400.9 70zM146.7 264.5c14.3-14.3 37.4-14.3 51.7 0l14.3 14.3c3 3 7.1 4.7 11.3 4.7s8.3-1.7 11.3-4.7l14.3-14.3c14.3-14.3 37.4-14.3 51.7 0s14.3 37.4 0 51.7L224 393.4l-77.3-77.3c-14.3-14.3-14.3-37.4 0-51.7zM221 241.8c-26.8-26.8-70.2-26.8-96.9 0s-26.8 70.2 0 96.9L201.4 416c12.5 12.5 32.8 12.5 45.3 0l77.3-77.3c26.8-26.8 26.8-70.2 0-96.9s-70.2-26.8-96.9 0l-3 3-3-3z\"]\n};\nvar faTrailer = {\n prefix: 'fal',\n iconName: 'trailer',\n icon: [640, 512, [], \"e041\", \"M56 64H456c13.3 0 24 10.7 24 24V352H282.5c-13.2-37.3-48.7-64-90.5-64s-77.4 26.7-90.5 64H56c-13.3 0-24-10.7-24-24V88c0-13.3 10.7-24 24-24zM288 384H616c8.8 0 16-7.2 16-16s-7.2-16-16-16H512V88c0-30.9-25.1-56-56-56H56C25.1 32 0 57.1 0 88V328c0 30.9 25.1 56 56 56H96c0 53 43 96 96 96s96-43 96-96zm-32 0a64 64 0 1 1 -128 0 64 64 0 1 1 128 0zM112 96c-8.8 0-16 7.2-16 16V240c0 8.8 7.2 16 16 16s16-7.2 16-16V112c0-8.8-7.2-16-16-16zm96 0c-8.8 0-16 7.2-16 16V240c0 8.8 7.2 16 16 16s16-7.2 16-16V112c0-8.8-7.2-16-16-16zm96 0c-8.8 0-16 7.2-16 16V272c0 8.8 7.2 16 16 16s16-7.2 16-16V112c0-8.8-7.2-16-16-16zm96 0c-8.8 0-16 7.2-16 16V272c0 8.8 7.2 16 16 16s16-7.2 16-16V112c0-8.8-7.2-16-16-16z\"]\n};\nvar faUserDoctorMessage = {\n prefix: 'fal',\n iconName: 'user-doctor-message',\n icon: [640, 512, [\"user-md-chat\"], \"f82e\", \"M128 128a96 96 0 1 0 192 0 96 96 0 1 0 -192 0zm96 128A128 128 0 1 1 224 0a128 128 0 1 1 0 256zM160 432a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm16-96v34.7c18.6 6.6 32 24.4 32 45.3c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3V339.8C80.2 354.7 32.6 411.8 32 480H416c-.5-62.4-40.4-115.4-96-135.5v25.8c23.1 6.9 40 28.3 40 53.7v24c0 8.8-7.2 16-16 16H328c-8.8 0-16-7.2-16-16s7.2-16 16-16v-8c0-13.3-10.7-24-24-24s-24 10.7-24 24v8c8.8 0 16 7.2 16 16s-7.2 16-16 16H264c-8.8 0-16-7.2-16-16V424c0-25.4 16.9-46.8 40-53.7V337c-5.6-.7-11.4-1-17.2-1H177.2l-1.2 0zM0 481.2C0 383.3 79.3 304 177.2 304h93.6C368.7 304 448 383.3 448 481.2c0 17-13.8 30.8-30.8 30.8H30.8C13.8 512 0 498.2 0 481.2zM544 192h48c8.8 0 16-7.2 16-16V48c0-8.8-7.2-16-16-16H432c-8.8 0-16 7.2-16 16V176c0 8.8 7.2 16 16 16h16c17.7 0 32 14.3 32 32v8l44.8-33.6c5.5-4.2 12.3-6.4 19.2-6.4zm-65.1 80.8l-9.6 7.2-8.5 6.4c-2.4 1.8-5.7 2.1-8.4 .8s-4.4-4.1-4.4-7.2V269.3v-12V256 224H432c-26.5 0-48-21.5-48-48V48c0-26.5 21.5-48 48-48H592c26.5 0 48 21.5 48 48V176c0 26.5-21.5 48-48 48H544l-64 48-1.1 .8z\"]\n};\nvar faUserMdChat = faUserDoctorMessage;\nvar faBahai = {\n prefix: 'fal',\n iconName: 'bahai',\n icon: [576, 512, [\"haykal\"], \"f666\", \"M287.7 0c7.2 0 13.6 4.9 15.5 11.9l32.2 120.7L437.8 60.8c5.9-4.2 13.9-3.8 19.5 .8s7.3 12.5 4.2 19l-53 113.1 124.6 10.7c7.2 .6 13.1 6 14.4 13.2s-2.4 14.2-9 17.3L425 287.7l88.5 88.2c5.1 5.1 6.2 13 2.6 19.3s-11 9.3-18 7.5L377.3 370.2l11 124.4c.6 7.2-3.7 14-10.5 16.4s-14.4 .1-18.6-5.9L287.7 402.7 216.1 505.2c-4.2 5.9-11.8 8.3-18.6 5.9s-11.1-9.2-10.5-16.4l11-124.4L77.3 402.6c-7 1.9-14.4-1.2-18-7.5s-2.6-14.2 2.6-19.3l88.5-88.2L37 235c-6.6-3.1-10.3-10.1-9-17.3s7.2-12.5 14.4-13.2l124.6-10.7L114 80.7c-3.1-6.6-1.4-14.4 4.2-19s13.5-5 19.5-.8L240 132.6 272.2 11.9c1.9-7 8.2-11.9 15.5-11.9zm0 78L265 162.9c-1.3 5-5.1 9.1-10 10.9s-10.4 1.1-14.7-1.9l-72-50.5L205.6 201c2.2 4.7 2 10.3-.6 14.8s-7.3 7.5-12.5 7.9l-87.6 7.5 79.7 37c4.7 2.2 8.1 6.6 9 11.7s-.8 10.4-4.5 14.1l-62.2 62 84.9-22.8c5-1.4 10.4-.2 14.4 3.2s6.1 8.5 5.7 13.7l-7.8 87.5 50.4-72.1c3-4.3 7.9-6.8 13.1-6.8s10.1 2.6 13.1 6.8l50.4 72.1-7.8-87.5c-.5-5.2 1.6-10.3 5.7-13.7s9.4-4.6 14.4-3.2l84.9 22.8-62.2-62c-3.7-3.7-5.4-9-4.5-14.1s4.3-9.5 9-11.7l79.7-37-87.6-7.5c-5.2-.4-9.9-3.4-12.5-7.9s-2.8-10-.6-14.8L407 121.4l-72 50.5c-4.3 3-9.8 3.7-14.7 1.9s-8.6-5.9-10-10.9L287.7 78z\"]\n};\nvar faHaykal = faBahai;\nvar faLighthouse = {\n prefix: 'fal',\n iconName: 'lighthouse',\n icon: [640, 512, [], \"e612\", \"M23.2 1.7C15.3-2.3 5.6 .9 1.7 8.8s-.7 17.5 7.2 21.5l128 64c7.9 4 17.5 .7 21.5-7.2s.7-17.5-7.2-21.5l-128-64zm128 188.6c7.9-4 11.1-13.6 7.2-21.5s-13.6-11.1-21.5-7.2l-128 64c-7.9 4-11.1 13.6-7.2 21.5s13.6 11.1 21.5 7.2l128-64zM312.1 2.1l-112 64c-7.7 4.4-10.3 14.2-6 21.8s14.2 10.3 21.8 6l8.1-4.6V128h32V71l64-36.6L384 71v57h32V89.3l8.1 4.6c7.7 4.4 17.4 1.7 21.8-6s1.7-17.4-6-21.8l-112-64c-4.9-2.8-11-2.8-15.9 0zM250.2 192H389.8l57.6 288H384V416c0-35.3-28.7-64-64-64s-64 28.7-64 64v64H192.6l57.6-288zm-32.6 0l-57 285.2c-.2 .9-.3 1.9-.4 2.8H144c-8.8 0-16 7.2-16 16s7.2 16 16 16h45.1H256h32 64 32 66.9H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H479.9c-.1-.9-.2-1.9-.4-2.8L422.4 192H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H416 224 208c-8.8 0-16 7.2-16 16s7.2 16 16 16h9.6zM352 416v64H288V416c0-17.7 14.3-32 32-32s32 14.3 32 32zM638.3 8.9c-4-7.9-13.6-11.1-21.5-7.2l-128 64c-7.9 4-11.1 13.6-7.2 21.5s13.6 11.1 21.5 7.2l128-64c7.9-4 11.1-13.6 7.2-21.5zm-156.6 160c-4 7.9-.7 17.5 7.2 21.5l128 64c7.9 4 17.5 .7 21.5-7.2s.7-17.5-7.2-21.5l-128-64c-7.9-4-17.5-.7-21.5 7.2z\"]\n};\nvar faAmpGuitar = {\n prefix: 'fal',\n iconName: 'amp-guitar',\n icon: [512, 512, [], \"f8a1\", \"M139.6 51.9C168.3 27.2 210.1 0 256 0s87.7 27.2 116.4 51.9c4.8 4.1 9.3 8.2 13.4 12.1H448c35.3 0 64 28.7 64 64V256v16 16V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V288 272 256 128C0 92.7 28.7 64 64 64h62.2c4.2-4 8.7-8.1 13.4-12.1zm36 12.1H336.4C312.1 46 284 32 256 32s-56.1 14-80.4 32zM480 288H32V448c0 17.7 14.3 32 32 32H448c17.7 0 32-14.3 32-32V288zm0-32V128c0-17.7-14.3-32-32-32H64c-17.7 0-32 14.3-32 32V256H480zM80 336a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm0 96a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm48-64a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm16-32a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm16 80a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm16-32a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm48-64a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM208 432a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm48-64a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm16-32a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm16 80a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm16-32a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm80-16a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm-48-32a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm80-16a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM336 432a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm80-16a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM96 152a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm72 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm152-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm72 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faSdCard = {\n prefix: 'fal',\n iconName: 'sd-card',\n icon: [384, 512, [], \"f7c2\", \"M352 64V448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V154.5c0-8.5 3.4-16.6 9.4-22.6l90.5-90.5c6-6 14.1-9.4 22.6-9.4H320c17.7 0 32 14.3 32 32zm32 384V64c0-35.3-28.7-64-64-64H154.5c-17 0-33.3 6.7-45.3 18.7L18.7 109.3C6.7 121.3 0 137.5 0 154.5V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64zM192 80c0-8.8-7.2-16-16-16s-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V80zm64 0c0-8.8-7.2-16-16-16s-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V80zm64 0c0-8.8-7.2-16-16-16s-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V80z\"]\n};\nvar faVolumeSlash = {\n prefix: 'fal',\n iconName: 'volume-slash',\n icon: [640, 512, [128263], \"f2e2\", \"M25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4zM576 256c0-59.6-27.2-112.9-69.8-148.1c-6.8-5.6-16.9-4.7-22.5 2.1s-4.7 16.9 2.1 22.5C521.4 161.9 544 206.3 544 256c0 28.7-7.5 55.6-20.8 78.9l25.4 20C566 326 576 292.2 576 256zM472 294.4c5.2-11.8 8-24.8 8-38.4c0-31.4-15.1-59.3-38.4-76.8c-7.1-5.3-17.1-3.9-22.4 3.2s-3.9 17.1 3.2 22.4C438 216.5 448 235.1 448 256c0 6.1-.9 12-2.4 17.6L472 294.4zM352 61.8C352 45.3 338.7 32 322.2 32c-7.3 0-14.3 2.7-19.8 7.5l-72.1 64.1 25.5 20.1L320 66.7V174.5l32 25.3V61.8zM88 192h47.6L95.1 160H88c-30.9 0-56 25.1-56 56v80c0 30.9 25.1 56 56 56h78.9L302.4 472.5l10.6-12-10.6 12c5.5 4.8 12.5 7.5 19.8 7.5c16.5 0 29.8-13.3 29.8-29.8V362.8l-32-25.3V445.3L183.6 324c-2.9-2.6-6.7-4-10.6-4H88c-13.3 0-24-10.7-24-24V216c0-13.3 10.7-24 24-24z\"]\n};\nvar faBorderBottom = {\n prefix: 'fal',\n iconName: 'border-bottom',\n icon: [448, 512, [], \"f84d\", \"M448 464c0 8.8-7.2 16-16 16L16 480c-8.8 0-16-7.2-16-16s7.2-16 16-16l416 0c8.8 0 16 7.2 16 16zM392 352a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM56 352A24 24 0 1 1 8 352a24 24 0 1 1 48 0zm144 0a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM440 160a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zM8 160a24 24 0 1 1 48 0A24 24 0 1 1 8 160zm240 0a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zm144 96a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM56 256A24 24 0 1 1 8 256a24 24 0 1 1 48 0zm144 0a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM440 64a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zM8 64a24 24 0 1 1 48 0A24 24 0 1 1 8 64zm240 0a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zm48 192a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM344 64a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zM104 64a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm48 192a24 24 0 1 1 -48 0 24 24 0 1 1 48 0z\"]\n};\nvar faWifiWeak = {\n prefix: 'fal',\n iconName: 'wifi-weak',\n icon: [640, 512, [\"wifi-1\"], \"f6aa\", \"M320 384a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 96a64 64 0 1 0 0-128 64 64 0 1 0 0 128z\"]\n};\nvar faWifi1 = faWifiWeak;\nvar faDragon = {\n prefix: 'fal',\n iconName: 'dragon',\n icon: [640, 512, [128009], \"f6d5\", \"M288.8 10.9C291 4.4 297.1 0 304 0H432h16 35.8c32.7 0 63.8 14.3 85 39.1l56 65.4c9.7 11.4 15.1 25.8 15.1 40.8c0 34.6-28.1 62.7-62.7 62.7H554.5c-21.2 0-41.6-8.4-56.6-23.4l-8.6-8.6H480v12c0 17.6 8.3 34.2 22.4 44.8l90.7 68C622.6 323 640 357.7 640 394.7c0 62-48 112.7-108.9 117c-1 .2-2 .3-3.1 .3h-5.3H440 48.4c-24.7 .2-45.9-18.5-48.2-43.6c-2.4-26.4 17-49.8 43.4-52.2l378.3-35-29-34.9C366.4 314.7 352 274.8 352 233.7V188.3v0l0-.3v0V153.9l-55.2-27.6c-5-2.5-8.3-7.4-8.8-12.9s1.9-10.9 6.3-14.2L341.3 64 294.4 28.8c-5.5-4.1-7.8-11.3-5.6-17.9zM525.9 480c.4-.1 .8-.1 1.3-.1c45-2.3 80.8-39.6 80.8-85.2c0-26.9-12.6-52.2-34.1-68.3l-90.7-68C461 241.8 448 215.7 448 188V160c0-8.8 7.2-16 16-16h32c4.2 0 8.3 1.7 11.3 4.7l13.3 13.3c9 9 21.2 14.1 33.9 14.1h22.8c17 0 30.7-13.8 30.7-30.7c0-7.3-2.6-14.4-7.4-20l-56-65.4C529.4 42.2 507.2 32 483.8 32H448 432 352l25.6 19.2c4 3 6.4 7.8 6.4 12.8s-2.4 9.8-6.4 12.8l-43.3 32.5 40.8 20.4c5.4 2.7 8.8 8.3 8.8 14.3v44 0l0 .3v0 45.4c0 33.7 11.8 66.3 33.4 92.2L459 375.8c3.2 3.9 5 8.8 5 13.9c0 11.2-8.5 20.6-19.7 21.6L46.5 448.1c-8.8 .8-15.3 8.6-14.5 17.4c.8 8.4 7.8 14.6 16.1 14.5l.2 0v0H440h82.7 3.2zM320 199.4v34.2c0 1.4 0 2.8 0 4.3L171.7 139c-6.1-4-14.1-3.5-19.5 1.4L63 219.7l127.6-11.6c6.7-.6 13.1 3 15.9 9.1s1.6 13.3-3.2 18.1L150.6 288H327.2c3 11 6.8 21.7 11.5 32H112c-6.5 0-12.3-3.9-14.8-9.9s-1.1-12.9 3.5-17.4l48.8-48.8-132 12c-6.9 .6-13.4-3.2-16.1-9.6S.2 232.6 5.4 228L130.9 116.5c16.3-14.5 40.4-16.2 58.5-4.1l130.6 87zM495.2 57.7l32 16c7.9 4 11.1 13.6 7.2 21.5s-13.6 11.1-21.5 7.2l-32-16c-7.9-4-11.1-13.6-7.2-21.5s13.6-11.1 21.5-7.2z\"]\n};\nvar faShoePrints = {\n prefix: 'fal',\n iconName: 'shoe-prints',\n icon: [640, 512, [], \"f54b\", \"M319.9 47c31.6-7.9 68.4-15 96.1-15c43.5 0 94.5 11 133.7 30.6c41 20.5 58.3 44.3 58.3 65.4c0 19.6-13.4 35.6-46.2 48.1C529.9 188.2 490.2 192 464 192c-39.2 0-61-12.3-88.1-27.8l-.5-.3c-22.9-13.1-49.1-28.1-87.4-33.7V55.7c8.8-2.6 19.8-5.6 31.9-8.6zM256 160c48 0 76 16 104 32s56 32 104 32c56.4 0 176-16 176-96S512 0 416 0C352.3 0 256 32 256 32v96 32h0zm-64-32c-17.7 0-32-14.3-32-32s14.3-32 32-32h32V32H192c-35.3 0-64 28.7-64 64s28.7 64 64 64h32V128H192zm-.1 337c-12.1-3-23-6-31.9-8.6V381.7c38.2-5.6 64.5-20.6 87.4-33.7l.5-.3C275 332.3 296.8 320 336 320c26.2 0 65.9 3.8 97.8 15.9C466.6 348.4 480 364.4 480 384c0 21.1-17.4 44.9-58.3 65.4C382.5 469 331.5 480 288 480c-27.7 0-64.5-7.2-96.1-15zM128 352h0v32 96s96.3 32 160 32c96 0 224-48 224-128s-119.6-96-176-96c-48 0-76 16-104 32s-56 32-104 32zM64 384H96V352H64c-35.3 0-64 28.7-64 64s28.7 64 64 64H96V448H64c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"]\n};\nvar faCirclePlus = {\n prefix: 'fal',\n iconName: 'circle-plus',\n icon: [512, 512, [\"plus-circle\"], \"f055\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM240 352c0 8.8 7.2 16 16 16s16-7.2 16-16V272h80c8.8 0 16-7.2 16-16s-7.2-16-16-16H272V160c0-8.8-7.2-16-16-16s-16 7.2-16 16v80H160c-8.8 0-16 7.2-16 16s7.2 16 16 16h80v80z\"]\n};\nvar faPlusCircle = faCirclePlus;\nvar faFaceGrinTongueWink = {\n prefix: 'fal',\n iconName: 'face-grin-tongue-wink',\n icon: [512, 512, [128540, \"grin-tongue-wink\"], \"f58b\", \"M256 32C132.3 32 32 132.3 32 256c0 79.8 41.7 149.8 104.5 189.5c7.5 4.7 9.7 14.6 5 22.1s-14.6 9.7-22.1 5C47.7 427.3 0 347.2 0 256C0 114.6 114.6 0 256 0S512 114.6 512 256c0 91.2-47.7 171.3-119.5 216.6c-7.5 4.7-17.4 2.5-22.1-5s-2.5-17.4 5-22.1C438.3 405.8 480 335.8 480 256C480 132.3 379.7 32 256 32zm96 351.4V416c0 53-43 96-96 96s-96-43-96-96V383.3c-20.2-15.7-36.3-36.2-46.8-59.8c-5.2-11.7 6.8-22.4 19.1-18.7c37.3 11.1 79.3 17.4 123.8 17.4s86.4-6.3 123.8-17.4c12.3-3.7 24.2 7 19.1 18.7c-10.4 23.6-26.6 44.2-46.9 59.9zm-32-4.7c0-14.7-11.9-26.6-26.6-26.6h-2c-11.3 0-21.1 7.9-23.6 18.9c-2.8 12.6-20.8 12.6-23.6 0c-2.5-11.1-12.3-18.9-23.6-18.9h-2c-14.7 0-26.6 11.9-26.6 26.6V416c0 35.3 28.7 64 64 64s64-28.7 64-64V378.6zM336 256a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm0-128a80 80 0 1 1 0 160 80 80 0 1 1 0-160zM124.8 233.6c-5.3 7.1-15.3 8.5-22.4 3.2s-8.5-15.3-3.2-22.4c30.4-40.5 91.2-40.5 121.6 0c5.3 7.1 3.9 17.1-3.2 22.4s-17.1 3.9-22.4-3.2c-17.6-23.5-52.8-23.5-70.4 0zM336.4 184a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faGrinTongueWink = faFaceGrinTongueWink;\nvar faHandHolding = {\n prefix: 'fal',\n iconName: 'hand-holding',\n icon: [576, 512, [], \"f4bd\", \"M195.4 304c-15.8 0-31.2 4.7-44.4 13.4L75.2 368H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H80c3.2 0 6.2-.9 8.9-2.7l79.9-53.3c7.9-5.3 17.1-8.1 26.6-8.1H344c13.3 0 24 10.7 24 24s-10.7 24-24 24H320 256c-8.8 0-16 7.2-16 16s7.2 16 16 16h64 24 60.6c2.9 0 5.7-.8 8.2-2.3L511.3 355c3.4-2 7.2-3 11.1-3h1.3c11.2 0 20.3 9.1 20.3 20.3c0 6.9-3.5 13.3-9.2 17L415.1 467.1c-13 8.4-28.1 12.9-43.6 12.9H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H371.5c21.7 0 42.9-6.3 61-18.1l119.6-77.8C567 406.5 576 390 576 372.3c0-28.9-23.4-52.3-52.3-52.3h-1.3c-9.7 0-19.1 2.6-27.5 7.6L400.2 384h-5.6c3.5-7.3 5.4-15.4 5.4-24c0-30.9-25.1-56-56-56H195.4z\"]\n};\nvar faPlugCircleExclamation = {\n prefix: 'fal',\n iconName: 'plug-circle-exclamation',\n icon: [576, 512, [], \"e55d\", \"M128 16c0-8.8-7.2-16-16-16s-16 7.2-16 16v96h32V16zm160 0c0-8.8-7.2-16-16-16s-16 7.2-16 16v96h32V16zM16 144c-8.8 0-16 7.2-16 16s7.2 16 16 16H32v64c0 83 63.1 151.2 144 159.2V496c0 8.8 7.2 16 16 16s16-7.2 16-16V399.2c17.3-1.7 33.7-6.2 48.9-12.9c-.6-6-.9-12.1-.9-18.3c0-6 .3-11.8 .9-17.6c-19 11.2-41.2 17.6-64.9 17.6c-70.7 0-128-57.3-128-128V176H320v56.2c9.8-8.1 20.6-15.2 32-21V176h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H352 320 64 32 16zM320 368a112 112 0 1 1 224 0 112 112 0 1 1 -224 0zm256 0a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zM432 448a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-160c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16s16-7.2 16-16V304c0-8.8-7.2-16-16-16z\"]\n};\nvar faLinkSlash = {\n prefix: 'fal',\n iconName: 'link-slash',\n icon: [640, 512, [\"chain-broken\", \"chain-slash\", \"unlink\"], \"f127\", \"M25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4zM591.5 256c50-50 50-131 0-181s-131-50-181 0L387.9 97.6c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l22.6-22.6c37.5-37.5 98.3-37.5 135.8 0s37.5 98.3 0 135.8L492 310.3l25.3 20L591.5 256zM414.6 412.2l-33.4-26.3c-26.1 1.3-52.5-8.1-72.5-28c-14.2-14.2-23-31.7-26.4-50.1L249 281.5c-2.4 35.7 10.1 72 37.2 99.1c34.8 34.8 84.6 45.3 128.5 31.7zM331.2 154.1c14.2 14.2 23 31.7 26.4 50.1L391 230.5c2.4-35.7-10.1-72-37.2-99.1c-34.8-34.8-84.6-45.3-128.5-31.7l33.4 26.3c26.1-1.3 52.5 8.1 72.5 28zM148 201.7l-25.3-20L48.5 256c-50 50-50 131 0 181s131 50 181 0l22.6-22.6c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-22.6 22.6c-37.5 37.5-98.3 37.5-135.8 0s-37.5-98.3 0-135.8L148 201.7z\"]\n};\nvar faChainBroken = faLinkSlash;\nvar faChainSlash = faLinkSlash;\nvar faUnlink = faLinkSlash;\nvar faClone = {\n prefix: 'fal',\n iconName: 'clone',\n icon: [512, 512, [], \"f24d\", \"M64 480H288c17.7 0 32-14.3 32-32V384h32v64c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V224c0-35.3 28.7-64 64-64h64v32H64c-17.7 0-32 14.3-32 32V448c0 17.7 14.3 32 32 32zM224 320H448c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H224c-17.7 0-32 14.3-32 32V288c0 17.7 14.3 32 32 32zm-64-32V64c0-35.3 28.7-64 64-64H448c35.3 0 64 28.7 64 64V288c0 35.3-28.7 64-64 64H224c-35.3 0-64-28.7-64-64z\"]\n};\nvar faPersonWalkingArrowLoopLeft = {\n prefix: 'fal',\n iconName: 'person-walking-arrow-loop-left',\n icon: [640, 512, [], \"e551\", \"M176 56a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm80 0A56 56 0 1 0 144 56a56 56 0 1 0 112 0zM117.6 172.3c1.3-.7 2.6-1.4 3.9-2L95 255.2c-5.7 18.2 0 38.1 14.4 50.6L209.9 393l30.7 107.4c2.4 8.5 11.3 13.4 19.8 11s13.4-11.3 11-19.8L240.7 384.2c-1.7-6-5.1-11.3-9.8-15.4L187.3 331l37.8-109.2 8.8 26.4c5.6 16.9 16.7 31.4 31.5 41.3l29.7 19.8c7.4 4.9 17.3 2.9 22.2-4.4s2.9-17.3-4.4-22.2l-29.7-19.8c-8.9-5.9-15.5-14.6-18.9-24.8l-17.1-51.4c-11.7-35-44.5-58.7-81.4-58.7c-22.1 0-43.9 5.6-63.4 16.2l-12.7 6.9c-35.3 19.3-61 52.4-70.7 91.5l-2.4 9.5c-2.1 8.6 3.1 17.3 11.6 19.4s17.3-3.1 19.4-11.6l2.4-9.6c7.6-30.4 27.5-56.2 55-71.2l12.7-6.9zm7.9 92.5l32.7-104.5c2.5-.2 5-.3 7.5-.3c15.9 0 30.5 7 40.6 18.4l-45 130-30.9-26.8c-4.8-4.2-6.7-10.8-4.8-16.9zm-6.4 88.9c-7.9-4-17.5-.7-21.5 7.2L66.9 422.5 4.7 484.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l62.2-62.2c2.4-2.4 4.5-5.2 6-8.3l30.8-61.7c4-7.9 .7-17.5-7.2-21.5zm334.6 90.6c6.8 5.7 16.9 4.7 22.5-2s4.7-16.9-2-22.5L412.2 368l75.8 0c83.9 0 152-68.1 152-152s-68.1-152-152-152L336 64c-8.8 0-16 7.2-16 16s7.2 16 16 16l152 0c66.3 0 120 53.7 120 120s-53.7 120-120 120l-75.8 0 62.1-51.7c6.8-5.7 7.7-15.7 2-22.5s-15.7-7.7-22.5-2l-96 80c-3.6 3-5.8 7.5-5.8 12.3s2.1 9.3 5.8 12.3l96 80z\"]\n};\nvar faArrowUpZA = {\n prefix: 'fal',\n iconName: 'arrow-up-z-a',\n icon: [576, 512, [\"sort-alpha-up-alt\"], \"f882\", \"M171.3 36.7c-6.2-6.2-16.4-6.2-22.6 0l-96 96c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L144 86.6V464c0 8.8 7.2 16 16 16s16-7.2 16-16V86.6l68.7 68.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-96-96zM352 32c-8.8 0-16 7.2-16 16s7.2 16 16 16h94.7L339.5 198c-3.8 4.8-4.6 11.4-1.9 16.9s8.3 9.1 14.4 9.1H480c8.8 0 16-7.2 16-16s-7.2-16-16-16H385.3L492.5 58c3.8-4.8 4.6-11.4 1.9-16.9s-8.3-9.1-14.4-9.1H352zm64 256c-6.1 0-11.6 3.4-14.3 8.8L337.8 424.6c-.1 .2-.2 .4-.3 .6l-15.8 31.7c-4 7.9-.7 17.5 7.2 21.5s17.5 .7 21.5-7.2L361.9 448H470.1l11.6 23.2c4 7.9 13.6 11.1 21.5 7.2s11.1-13.6 7.2-21.5l-15.8-31.7c-.1-.2-.2-.4-.3-.6L430.3 296.8c-2.7-5.4-8.2-8.8-14.3-8.8zM377.9 416L416 339.8 454.1 416H377.9z\"]\n};\nvar faSortAlphaUpAlt = faArrowUpZA;\nvar faFireFlameCurved = {\n prefix: 'fal',\n iconName: 'fire-flame-curved',\n icon: [384, 512, [\"fire-alt\"], \"f7e4\", \"M53.9 186.1C19.4 220.6 0 267.4 0 316.2l0 11.5C0 429.5 82.5 512 184.3 512l15.1 0C301.4 512 384 429.4 384 327.4c0-66.1-27.1-129.2-74.9-174.8L230.9 78.2C221.4 69.1 216 56.6 216 43.4l0-22.1C216 9.6 206.4 0 194.7 0c-6.7 0-13 3.2-17.1 8.5l-19.5 26c-14.4 19.3-23.2 42.2-25.2 66.2l-.9 10.8c-.9 11.3-.4 22.5 1.6 33.5c2.8 15.3 8.3 29.9 16.4 43.3c.6 1.1 1.3 2.1 2 3.2c1.6 2.5 3.4 5 5.2 7.5l32 42.7c7 9.3 10.8 20.7 10.8 32.4l0 14c0 22.1-17.9 40-40 40s-40-17.9-40-40l0-87.7 0-12c0-10.8-6.1-20.2-15-25c-4-2.1-8.5-3.3-13.3-3.3c-7.5 0-14.7 3-20 8.3L53.9 186.1zM184.5 52.6c2.1 18.5 10.7 35.8 24.3 48.7L287 175.8c41.5 39.5 65 94.3 65 151.6C352 411.7 283.7 480 199.4 480l-15.1 0C100.2 480 32 411.8 32 327.7l0-11.5c0-40.3 16-79 44.5-107.5L88 197.3 88 288c0 39.8 32.2 72 72 72s72-32.2 72-72l0-14c0-18.6-6-36.7-17.2-51.6l-32-42.7c-14.1-18.8-20.8-42.1-18.9-65.6l.9-10.8c1.5-18 8-35.2 18.9-49.6l.8-1.1zm18.7-24.9s0 0 0 0l-8.5-6.4 8.5 6.4s0 0 0 0z\"]\n};\nvar faFireAlt = faFireFlameCurved;\nvar faTornado = {\n prefix: 'fal',\n iconName: 'tornado',\n icon: [448, 512, [127786], \"f76f\", \"M352 122.6c0 13.9 4.5 27.4 12.8 38.5L418 232c19.4 25.9 30 57.5 30 89.9c0 39.7-15.8 77.8-43.9 105.9l-78.2 78.2c-3.8 3.8-8.9 5.9-14.2 5.9c-12.4 0-21.8-11.1-19.8-23.4l5.9-35.7c4-24 .3-48.7-10.6-70.5c-10-19.9-25.5-36.5-44.6-47.8L126.2 266.2C48 220.2 0 136.3 0 45.6V32C0 14.3 14.3 0 32 0H393.4C405.9 0 416 10.1 416 22.6c0 6-2.4 11.8-6.6 16L370.8 77.2c-12 12-18.8 28.4-18.8 45.4zM32 45.6c0 28.7 5.5 56.6 15.7 82.4H320.2c-.1-1.8-.2-3.6-.2-5.4c0-25.5 10.1-50 28.2-68L370.7 32H32V45.6zM142.4 238.7L200 272.5V272H404.9c-3.4-7.3-7.6-14.2-12.5-20.8l-53.2-70.9c-4.7-6.3-8.6-13.1-11.7-20.3H63.4c19 31.9 45.9 59.2 79 78.7zM253.5 304l5.3 3.1c24.5 14.4 44.3 35.6 57 61c13.8 27.5 18.5 58.6 13.7 89l51.9-51.9c22.1-22.1 34.5-52.1 34.5-83.3c0-6-.5-12-1.4-17.9H253.5z\"]\n};\nvar faFileCirclePlus = {\n prefix: 'fal',\n iconName: 'file-circle-plus',\n icon: [576, 512, [58606], \"e494\", \"M64 480H296.2c9.8 11.8 21 22.3 33.5 31.3c-3.2 .5-6.4 .7-9.7 .7H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H220.1c12.7 0 24.9 5.1 33.9 14.1L369.9 129.9c9 9 14.1 21.2 14.1 33.9v34.7c-11.2 3.2-21.9 7.4-32 12.6V192H240c-26.5 0-48-21.5-48-48V32H64C46.3 32 32 46.3 32 64V448c0 17.7 14.3 32 32 32zM351.5 160c-.7-2.8-2.1-5.4-4.2-7.4L231.4 36.7c-2.1-2.1-4.6-3.5-7.4-4.2V144c0 8.8 7.2 16 16 16H351.5zM544 368a112 112 0 1 0 -224 0 112 112 0 1 0 224 0zm-256 0a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm160-64v48h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H448v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V384H368c-8.8 0-16-7.2-16-16s7.2-16 16-16h48V304c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faDeleteRight = {\n prefix: 'fal',\n iconName: 'delete-right',\n icon: [576, 512, [], \"e154\", \"M32 128c0-17.7 14.3-32 32-32H370.7c8.5 0 16.6 3.4 22.6 9.4L544 256 393.4 406.6c-6 6-14.1 9.4-22.6 9.4H64c-17.7 0-32-14.3-32-32V128zM64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H370.7c17 0 33.3-6.7 45.3-18.7L566.6 278.6c6-6 9.4-14.1 9.4-22.6s-3.4-16.6-9.4-22.6L416 82.7C404 70.7 387.7 64 370.7 64H64zm84.7 116.7c-6.2 6.2-6.2 16.4 0 22.6L201.4 256l-52.7 52.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L224 278.6l52.7 52.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L246.6 256l52.7-52.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L224 233.4l-52.7-52.7c-6.2-6.2-16.4-6.2-22.6 0z\"]\n};\nvar faBookQuran = {\n prefix: 'fal',\n iconName: 'book-quran',\n icon: [448, 512, [\"quran\"], \"f687\", \"M384 0c35.3 0 64 28.7 64 64l0 384 0 0c0 35.3-28.7 64-64 64H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H32V413.3C13.4 406.7 0 388.9 0 368V48C0 21.5 21.5 0 48 0H384zM64 416v64H384c17.7 0 32-14.3 32-32s-14.3-32-32-32H64zm320-32c11.7 0 22.6 3.1 32 8.6L416 64c0-17.7-14.3-32-32-32H48c-8.8 0-16 7.2-16 16V368c0 8.8 7.2 16 16 16H384zM298.1 166.2c2.2-5.3 9.6-5.3 11.8 0l8.9 21.4 23.1 1.9c5.7 .5 8 7.5 3.7 11.2L328 215.8l5.4 22.6c1.3 5.5-4.7 9.9-9.6 6.9L304 233.2l-19.8 12.1c-4.9 3-10.9-1.4-9.6-6.9l5.4-22.6-17.6-15.1c-4.3-3.7-2-10.8 3.7-11.2l23.1-1.9 8.9-21.4zM126.4 208c0 62.7 50.9 113.6 113.6 113.6c11.7 0 23-1.8 33.6-5c-53.3-5.9-98.3-51.6-98.3-108.6s45-102.6 98.3-108.6c-10.6-3.3-21.9-5-33.6-5c-62.7 0-113.6 50.9-113.6 113.6zM240 65.6c28.5 0 55 8.4 77.3 22.8c10.5 6.8 11.8 18.8 8.4 27.2s-12.8 16-25 13.6c-48.6-9.9-96.6 28.8-96.6 78.8s48 88.7 96.6 78.8c12.3-2.5 21.6 5.2 25 13.6s2.1 20.4-8.4 27.2C295 342 268.5 350.4 240 350.4c-78.6 0-142.4-63.8-142.4-142.4s63.8-142.4 142.4-142.4z\"]\n};\nvar faQuran = faBookQuran;\nvar faCircleQuarter = {\n prefix: 'fal',\n iconName: 'circle-quarter',\n icon: [512, 512, [], \"e11f\", \"M224 34.3V224L34.3 224C48.3 125.9 125.9 48.3 224 34.3zM2 224.1C-.2 241.6 14.3 256 32 256l192 0c17.7 0 32-14.3 32-32V32c0-17.7-14.4-32.2-31.9-30C108.2 16.4 16.4 108.2 2 224.1z\"]\n};\nvar faAnchor = {\n prefix: 'fal',\n iconName: 'anchor',\n icon: [576, 512, [9875], \"f13d\", \"M336 80a48 48 0 1 1 -96 0 48 48 0 1 1 96 0zM288 0c-44.2 0-80 35.8-80 80c0 38.7 27.5 71 64.1 78.4c-.1 .5-.1 1-.1 1.6v32H208c-8.8 0-16 7.2-16 16s7.2 16 16 16h64V480H240c-79.5 0-144-64.5-144-144V310.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-64-64c-6.2-6.2-16.4-6.2-22.6 0l-64 64c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L64 310.6V336c0 97.2 78.8 176 176 176h48 48c97.2 0 176-78.8 176-176V310.6l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-64-64c-6.2-6.2-16.4-6.2-22.6 0l-64 64c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L480 310.6V336c0 79.5-64.5 144-144 144H304V224h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H304V160c0-.5 0-1.1-.1-1.6C340.5 151 368 118.7 368 80c0-44.2-35.8-80-80-80z\"]\n};\nvar faBorderAll = {\n prefix: 'fal',\n iconName: 'border-all',\n icon: [448, 512, [], \"f84c\", \"M384 64c17.7 0 32 14.3 32 32V240H240V64H384zm32 208V416c0 17.7-14.3 32-32 32H240V272H416zM208 240H32V96c0-17.7 14.3-32 32-32H208V240zM32 272H208V448H64c-17.7 0-32-14.3-32-32V272zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64z\"]\n};\nvar faFunction = {\n prefix: 'fal',\n iconName: 'function',\n icon: [640, 512, [], \"f661\", \"M80 80c0-44.2 35.8-80 80-80h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H160c-26.5 0-48 21.5-48 48V192h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H112V398.1c0 41.1-31.1 75.5-72 79.6l-22.4 2.2C8.8 480.8 1 474.4 .1 465.6s5.5-16.6 14.3-17.5l22.4-2.2C61.3 443.4 80 422.7 80 398.1V224H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H80V80zm221.5 80.5C272.8 206.1 256 260.9 256 320s16.8 113.9 45.5 159.5c4.7 7.5 2.5 17.4-5 22.1s-17.4 2.5-22.1-5C242.5 445.9 224 385.2 224 320s18.5-125.9 50.5-176.5c4.7-7.5 14.6-9.7 22.1-5s9.7 14.6 5 22.1zm260.9 0c-4.7-7.5-2.5-17.4 5-22.1s17.4-2.5 22.1 5C621.5 194.1 640 254.8 640 320s-18.5 125.9-50.5 176.5c-4.7 7.5-14.6 9.7-22.1 5s-9.7-14.6-5-22.1C591.2 433.9 608 379.1 608 320s-16.8-113.9-45.5-159.5zM379.3 244.7L432 297.4l52.7-52.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L454.6 320l52.7 52.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L432 342.6l-52.7 52.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L409.4 320l-52.7-52.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0z\"]\n};\nvar faFaceAngry = {\n prefix: 'fal',\n iconName: 'face-angry',\n icon: [512, 512, [128544, \"angry\"], \"f556\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm82.7-116.1c6.6-5.9 7.1-16 1.2-22.6C323.8 355.4 295.7 336 256 336s-67.8 19.4-83.9 37.3c-5.9 6.6-5.4 16.7 1.2 22.6s16.7 5.4 22.6-1.2c11.7-13 31.6-26.7 60.1-26.7s48.4 13.7 60.1 26.7c5.9 6.6 16 7.1 22.6 1.2zM176.4 264c13.3 0 24-10.7 24-24c0-2.6-.4-5.1-1.2-7.4l19.7 6.6c8.4 2.8 17.4-1.7 20.2-10.1s-1.7-17.4-10.1-20.2l-96-32c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2l39.6 13.2c-6.2 4.3-10.2 11.5-10.2 19.6c0 13.3 10.7 24 24 24zm184-24c0-8.2-4.1-15.5-10.4-19.8l39.1-13c8.4-2.8 12.9-11.9 10.1-20.2s-11.9-12.9-20.2-10.1l-96 32c-8.4 2.8-12.9 11.9-10.1 20.2s11.9 12.9 20.2 10.1l20.6-6.9c-.8 2.4-1.3 5-1.3 7.7c0 13.3 10.7 24 24 24s24-10.7 24-24z\"]\n};\nvar faAngry = faFaceAngry;\nvar faPeopleSimple = {\n prefix: 'fal',\n iconName: 'people-simple',\n icon: [512, 512, [], \"e21b\", \"M128 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 96A64 64 0 1 0 128 0a64 64 0 1 0 0 128zm-22.4 64h44.8c25 0 45.8 19.1 47.8 44l4.1 49.3c1.6 18.7-13.2 34.7-31.9 34.7H85.6c-18.7 0-33.4-16-31.9-34.7L57.8 236c2.1-24.9 22.9-44 47.8-44zm0-32c-41.6 0-76.3 31.9-79.7 73.4l-4.1 49.3c-2.5 29.8 15.7 56.1 42.2 65.6V496c0 8.8 7.2 16 16 16s16-7.2 16-16V352h64V496c0 8.8 7.2 16 16 16s16-7.2 16-16V348.3c26.5-9.5 44.7-35.8 42.2-65.6l-4.1-49.3C226.7 191.9 192 160 150.4 160H105.6zM384 32a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 96A64 64 0 1 0 384 0a64 64 0 1 0 0 128zm-15.7 64h31.4c14.3 0 26.8 9.5 30.8 23.2L469.6 352H298.4l39.1-136.8c3.9-13.7 16.5-23.2 30.8-23.2zm0-32c-28.6 0-53.7 18.9-61.5 46.4L267.7 343.2c-5.8 20.4 9.5 40.8 30.8 40.8H320V496c0 8.8 7.2 16 16 16s16-7.2 16-16V384h64V496c0 8.8 7.2 16 16 16s16-7.2 16-16V384h21.6c21.3 0 36.6-20.3 30.8-40.8L461.3 206.4c-7.8-27.5-33-46.4-61.5-46.4H368.3z\"]\n};\nvar faCookieBite = {\n prefix: 'fal',\n iconName: 'cookie-bite',\n icon: [512, 512, [], \"f564\", \"M182.8 28.4l-74 39.5C89.1 78.4 73.2 94.9 63.4 115L26.7 190.6c-9.8 20.1-13 42.9-9.1 64.9l14.5 82.8c3.9 22.1 14.6 42.3 30.7 57.9l60.3 58.4c16.1 15.6 36.6 25.6 58.7 28.7l83 11.7c22.1 3.1 44.6-.9 64.4-11.4l74-39.5c19.7-10.5 35.6-27 45.4-47.2l36.7-75.5c9.8-20.1 13-42.9 9.1-64.9c-.9-5.3-5.3-9.3-10.6-10.1c-51.5-8.2-92.8-47.1-104.5-97.4c-1.8-7.6-8-13.4-15.7-14.6c-54.6-8.7-97.7-52-106.2-106.8c-.8-5.4-4.9-9.8-10.3-10.6c-22.1-3.1-44.6 .9-64.4 11.4zm46.3 19.7c15 58.3 62 103.6 121.2 116.4c15.6 54.1 59 96.4 113.7 110.5c0 11.2-2.5 22.3-7.5 32.5L419.8 383c-6.8 14.1-17.9 25.6-31.7 32.9l-74 39.5c-13.7 7.3-29.4 10.1-44.8 7.9l-83-11.7c-15.4-2.2-29.7-9.2-40.9-20L85.1 373.2c-11.2-10.9-18.7-25-21.4-40.4L49.1 250c-2.7-15.4-.5-31.3 6.4-45.4L92.2 129c6.8-14.1 17.9-25.6 31.7-32.9l74-39.5c9.7-5.2 20.4-8.1 31.2-8.6zM184 192a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm8 184a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM312 256a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm40 120a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faArrowTrendDown = {\n prefix: 'fal',\n iconName: 'arrow-trend-down',\n icon: [576, 512, [], \"e097\", \"M368 400c0 8.8 7.2 16 16 16H560c8.8 0 16-7.2 16-16V224c0-8.8-7.2-16-16-16s-16 7.2-16 16V361.4L331.3 148.7c-6.2-6.2-16.4-6.2-22.6 0L192 265.4 27.3 100.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l176 176c6.2 6.2 16.4 6.2 22.6 0L320 182.6 521.4 384H384c-8.8 0-16 7.2-16 16z\"]\n};\nvar faRss = {\n prefix: 'fal',\n iconName: 'rss',\n icon: [448, 512, [\"feed\"], \"f09e\", \"M16 32C7.2 32 0 39.2 0 48s7.2 16 16 16c220.9 0 400 179.1 400 400c0 8.8 7.2 16 16 16s16-7.2 16-16C448 225.4 254.6 32 16 32zm0 144c-8.8 0-16 7.2-16 16s7.2 16 16 16c141.4 0 256 114.6 256 256c0 8.8 7.2 16 16 16s16-7.2 16-16c0-159.1-128.9-288-288-288zM32 416a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm96 0A64 64 0 1 0 0 416a64 64 0 1 0 128 0z\"]\n};\nvar faFeed = faRss;\nvar faFaceMonocle = {\n prefix: 'fal',\n iconName: 'face-monocle',\n icon: [512, 512, [], \"e380\", \"M448 371.4V224c0-8.8-7.2-16-16-16c-.9 0-1.8 .1-2.7 .2c-10.7-46-52-80.2-101.3-80.2c-57.4 0-104 46.6-104 104s46.6 104 104 104c37.1 0 69.6-19.4 88-48.5V393.9c0 5.9 .4 11.8 1.2 17.6C376.5 453.7 319.3 480 256 480C132.3 480 32 379.7 32 256S132.3 32 256 32s224 100.3 224 224c0 42.2-11.7 81.7-32 115.4zm3.9 49.4C489.4 376.3 512 318.8 512 256C512 114.6 397.4 0 256 0S0 114.6 0 256S114.6 512 256 512c65.8 0 125.9-24.8 171.2-65.7c10.2 22.8 27.1 42.5 48.9 56.1l11.4 7.1c7.5 4.7 17.4 2.4 22-5.1s2.4-17.4-5.1-22l-11.4-7.1c-20.2-12.6-34.7-32.2-41.3-54.5zM176.4 184a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm136 56a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM328 160a72 72 0 1 1 0 144 72 72 0 1 1 0-144zM160 352c0 8.8 7.2 16 16 16c14.3 0 37.9 2.9 60.6 11.7c22.8 8.8 42.7 22.7 53.1 43.4c4 7.9 13.6 11.1 21.5 7.2s11.1-13.6 7.2-21.5c-15.3-30.5-43.3-48.6-70.1-59C221.3 339.5 193.7 336 176 336c-8.8 0-16 7.2-16 16zM305.2 105.9c8-6.4 18-9.9 28.2-9.9c8.9 0 17.6 2.6 25.1 7.6l8.6 5.7c7.4 4.9 17.3 2.9 22.2-4.4s2.9-17.3-4.4-22.2L376.3 77c-12.7-8.5-27.6-13-42.8-13c-17.5 0-34.5 6-48.2 16.9L262 99.5c-6.9 5.5-8 15.6-2.5 22.5s15.6 8 22.5 2.5l23.2-18.6z\"]\n};\nvar faDrawPolygon = {\n prefix: 'fal',\n iconName: 'draw-polygon',\n icon: [448, 512, [], \"f5ee\", \"M96 96A32 32 0 1 0 32 96a32 32 0 1 0 64 0zM80 158V354c22.5 5.8 40.2 23.5 46 46H322c2.9-11.1 8.6-21 16.4-28.9l-32.2-53.7c-5.8 1.7-11.9 2.6-18.2 2.6c-35.3 0-64-28.7-64-64s28.7-64 64-64c6.3 0 12.4 .9 18.2 2.6l32.2-53.7c-7.8-7.9-13.5-17.8-16.4-28.9H126c-5.8 22.5-23.5 40.2-46 46zM365.8 354.6c5.8-1.7 11.9-2.6 18.2-2.6c35.3 0 64 28.7 64 64s-28.7 64-64 64c-29.8 0-54.9-20.4-62-48H126c-7.1 27.6-32.2 48-62 48c-35.3 0-64-28.7-64-64c0-29.8 20.4-54.9 48-62V158C20.4 150.9 0 125.8 0 96C0 60.7 28.7 32 64 32c29.8 0 54.9 20.4 62 48H322c7.1-27.6 32.2-48 62-48c35.3 0 64 28.7 64 64s-28.7 64-64 64c-6.3 0-12.4-.9-18.2-2.6l-32.2 53.7C345 222.6 352 238.5 352 256s-7 33.4-18.4 44.9l32.2 53.7zM64 384a32 32 0 1 0 0 64 32 32 0 1 0 0-64zM352 96a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zm32 352a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM288 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faScaleBalanced = {\n prefix: 'fal',\n iconName: 'scale-balanced',\n icon: [640, 512, [9878, \"balance-scale\"], \"f24e\", \"M384 64c0 29.8-20.4 54.9-48 62V480H528c8.8 0 16 7.2 16 16s-7.2 16-16 16H320 112c-8.8 0-16-7.2-16-16s7.2-16 16-16H304V126c-27.6-7.1-48-32.2-48-62H112c-8.8 0-16-7.2-16-16s7.2-16 16-16H264.6C275.6 12.9 296.3 0 320 0s44.4 12.9 55.4 32H512c8.8 0 16 7.2 16 16s-7.2 16-16 16H384zm56.7 298.3C457.8 375.1 482.9 384 512 384s54.2-8.9 71.3-21.7C600.4 349.5 608 334.2 608 320H416v-1.6l0 .1V320c0 14.2 7.6 29.5 24.7 42.3zm71.3-215L426.3 288H597.7L512 147.3zM384 320v-1.6c0-14.7 4-29.1 11.7-41.6l92-151.2c5.2-8.5 14.4-13.7 24.3-13.7s19.2 5.2 24.3 13.7l92 151.2c7.6 12.5 11.7 26.9 11.7 41.6V320c0 53-57.3 96-128 96s-128-43-128-96zM32 320c0 14.2 7.6 29.5 24.7 42.3C73.8 375.1 98.9 384 128 384s54.2-8.9 71.3-21.7C216.4 349.5 224 334.2 224 320H32v-1.6l0 .1V320zm10.3-32H213.7L128 147.3 42.3 288zM128 416C57.3 416 0 373 0 320v-1.6c0-14.7 4-29.1 11.7-41.6l92-151.2c5.2-8.5 14.4-13.7 24.3-13.7s19.2 5.2 24.3 13.7l92 151.2c7.6 12.5 11.7 26.9 11.7 41.6V320c0 53-57.3 96-128 96zM320 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faBalanceScale = faScaleBalanced;\nvar faCalendarLines = {\n prefix: 'fal',\n iconName: 'calendar-lines',\n icon: [448, 512, [\"calendar-note\"], \"e0d5\", \"M112 0c8.8 0 16 7.2 16 16V64H320V16c0-8.8 7.2-16 16-16s16 7.2 16 16V64h32c35.3 0 64 28.7 64 64v32 32V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192 160 128C0 92.7 28.7 64 64 64H96V16c0-8.8 7.2-16 16-16zM416 192H32V448c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V192zM384 96H64c-17.7 0-32 14.3-32 32v32H416V128c0-17.7-14.3-32-32-32zM96 368c0-8.8 7.2-16 16-16H240c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16zm16-112H336c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faCalendarNote = faCalendarLines;\nvar faArrowDownBigSmall = {\n prefix: 'fal',\n iconName: 'arrow-down-big-small',\n icon: [576, 512, [\"sort-size-down\"], \"f88c\", \"M171.3 475.3l96-96c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L176 425.4V48c0-8.8-7.2-16-16-16s-16 7.2-16 16V425.4L75.3 356.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l96 96c6.2 6.2 16.4 6.2 22.6 0zM352 432V368c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16zm-32 0c0 26.5 21.5 48 48 48h64c26.5 0 48-21.5 48-48V368c0-26.5-21.5-48-48-48H368c-26.5 0-48 21.5-48 48v64zM352 80c0-8.8 7.2-16 16-16H496c8.8 0 16 7.2 16 16V208c0 8.8-7.2 16-16 16H368c-8.8 0-16-7.2-16-16V80zm-32 0V208c0 26.5 21.5 48 48 48H496c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H368c-26.5 0-48 21.5-48 48z\"]\n};\nvar faSortSizeDown = faArrowDownBigSmall;\nvar faGaugeSimpleHigh = {\n prefix: 'fal',\n iconName: 'gauge-simple-high',\n icon: [512, 512, [61668, \"tachometer\", \"tachometer-fast\"], \"f62a\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-192a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm0 96c35.3 0 64-28.7 64-64c0-18.6-7.9-35.3-20.5-47l82.6-153.4c4.2-7.8 1.3-17.5-6.5-21.7s-17.5-1.3-21.7 6.5L271.3 289.8c-4.9-1.2-10-1.8-15.3-1.8c-35.3 0-64 28.7-64 64s28.7 64 64 64z\"]\n};\nvar faTachometer = faGaugeSimpleHigh;\nvar faTachometerFast = faGaugeSimpleHigh;\nvar faDoNotEnter = {\n prefix: 'fal',\n iconName: 'do-not-enter',\n icon: [512, 512, [], \"f5ec\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm112-16v32c0 4.4 3.6 8 8 8H392c4.4 0 8-3.6 8-8V240c0-4.4-3.6-8-8-8H120c-4.4 0-8 3.6-8 8zm-32 0c0-22.1 17.9-40 40-40H392c22.1 0 40 17.9 40 40v32c0 22.1-17.9 40-40 40H120c-22.1 0-40-17.9-40-40V240z\"]\n};\nvar faShower = {\n prefix: 'fal',\n iconName: 'shower',\n icon: [512, 512, [128703], \"f2cc\", \"M32 115.9C32 87.2 55.2 64 83.9 64c13.8 0 27 5.5 36.7 15.2l28.1 28.1c.5 .5 1.1 1 1.7 1.5c-33 43.9-29.5 106.5 10.4 146.4l4.7 4.7-16.8 16.8c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l192-192c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-16.8 16.8-4.7-4.7C279.3 56.9 216.7 53.4 172.8 86.4c-.4-.6-.9-1.2-1.5-1.7L143.2 56.6C127.5 40.8 106.1 32 83.9 32C37.6 32 0 69.6 0 115.9V464c0 8.8 7.2 16 16 16s16-7.2 16-16V115.9zm151.4 3.5c31.2-31.2 81.9-31.2 113.1 0l4.7 4.7L188.1 237.3l-4.7-4.7c-31.2-31.2-31.2-81.9 0-113.1zM416 200a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm-88 88a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm-40 40a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm72 56a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm-64 64a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM424 320a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm88-88a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faDiceD8 = {\n prefix: 'fal',\n iconName: 'dice-d8',\n icon: [512, 512, [], \"f6d2\", \"M240 51.3L44.3 247.1l195.7 81V51.3zM72.8 293.5L240 460.7v-98L72.8 293.5zM272 460.7L439.2 293.5 272 362.7v98zM467.8 247.1L272 51.3V328.1l195.8-81zM239 7c9.4-9.4 24.6-9.4 33.9 0L505 239c9.4 9.4 9.4 24.6 0 33.9L273 505c-9.4 9.4-24.6 9.4-33.9 0L7 273c-9.4-9.4-9.4-24.6 0-33.9L239 7z\"]\n};\nvar faDesktop = {\n prefix: 'fal',\n iconName: 'desktop',\n icon: [576, 512, [128421, 61704, \"desktop-alt\"], \"f390\", \"M512 32H64C46.3 32 32 46.3 32 64V256H544V64c0-17.7-14.3-32-32-32zm64 224v32 64c0 35.3-28.7 64-64 64H362.9l10.7 64H432c8.8 0 16 7.2 16 16s-7.2 16-16 16H360 216 144c-8.8 0-16-7.2-16-16s7.2-16 16-16h58.4l10.7-64H64c-35.3 0-64-28.7-64-64V288 256 64C0 28.7 28.7 0 64 0H512c35.3 0 64 28.7 64 64V256zM32 288v64c0 17.7 14.3 32 32 32H231.7c.2 0 .4 0 .6 0H343.7c.2 0 .4 0 .6 0H512c17.7 0 32-14.3 32-32V288H32zM234.9 480H341.1l-10.7-64H245.6l-10.7 64z\"]\n};\nvar faDesktopAlt = faDesktop;\nvar faM = {\n prefix: 'fal',\n iconName: 'm',\n icon: [448, 512, [109], \"4d\", \"M11.3 32.7c6.7-2.1 14 .5 17.9 6.3L224 323.7 418.8 39c4-5.8 11.2-8.3 17.9-6.3S448 41 448 48V464c0 8.8-7.2 16-16 16s-16-7.2-16-16V99.7L237.2 361c-3 4.4-7.9 7-13.2 7s-10.2-2.6-13.2-7L32 99.7V464c0 8.8-7.2 16-16 16s-16-7.2-16-16V48c0-7 4.6-13.2 11.3-15.3z\"]\n};\nvar faSpinnerScale = {\n prefix: 'fal',\n iconName: 'spinner-scale',\n icon: [512, 512, [], \"e62a\", \"M256 44a20 20 0 1 1 0 40 20 20 0 1 1 0-40zM204 64a52 52 0 1 0 104 0A52 52 0 1 0 204 64zm28 384a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zM472 256a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM76 256a12 12 0 1 1 -24 0 12 12 0 1 1 24 0zM64 212a44 44 0 1 0 0 88 44 44 0 1 0 0-88zm344.7-74.8a24 24 0 1 1 -33.9-33.9 24 24 0 1 1 33.9 33.9zm22.6-56.6a56 56 0 1 0 -79.2 79.2 56 56 0 1 0 79.2-79.2zM92.2 391.8a28 28 0 1 0 56 0 28 28 0 1 0 -56 0zM384 408a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM131.5 131.5a16 16 0 1 1 -22.6-22.6 16 16 0 1 1 22.6 22.6zm22.6-45.3A48 48 0 1 0 86.3 154.2a48 48 0 1 0 67.9-67.9z\"]\n};\nvar faGripDotsVertical = {\n prefix: 'fal',\n iconName: 'grip-dots-vertical',\n icon: [256, 512, [], \"e411\", \"M64 96A16 16 0 1 0 32 96a16 16 0 1 0 32 0zM0 96a48 48 0 1 1 96 0A48 48 0 1 1 0 96zM64 256a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM0 256a48 48 0 1 1 96 0A48 48 0 1 1 0 256zM48 432a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm0-64a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM224 96a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-64 0a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm48 176a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm0-64a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm16 208a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm-64 0a48 48 0 1 1 96 0 48 48 0 1 1 -96 0z\"]\n};\nvar faFaceViewfinder = {\n prefix: 'fal',\n iconName: 'face-viewfinder',\n icon: [512, 512, [], \"e2ff\", \"M48 0C21.5 0 0 21.5 0 48v96c0 8.8 7.2 16 16 16s16-7.2 16-16V48c0-8.8 7.2-16 16-16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H48zM464 0H368c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c8.8 0 16 7.2 16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V48c0-26.5-21.5-48-48-48zM0 464c0 26.5 21.5 48 48 48h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H48c-8.8 0-16-7.2-16-16V368c0-8.8-7.2-16-16-16s-16 7.2-16 16v96zm464 48c26.5 0 48-21.5 48-48V368c0-8.8-7.2-16-16-16s-16 7.2-16 16v96c0 8.8-7.2 16-16 16H368c-8.8 0-16 7.2-16 16s7.2 16 16 16h96zM240 216a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm56 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM256 128a128 128 0 1 1 0 256 128 128 0 1 1 0-256zm0 288a160 160 0 1 0 0-320 160 160 0 1 0 0 320zM214.4 280c-4.4-7.6-14.2-10.3-21.9-5.8s-10.3 14.2-5.8 21.9c13.8 23.9 39.7 40 69.3 40s55.5-16.1 69.3-40c4.4-7.6 1.8-17.4-5.8-21.9s-17.4-1.8-21.9 5.8c-8.3 14.4-23.8 24-41.6 24s-33.3-9.6-41.6-24z\"]\n};\nvar faSoftServe = {\n prefix: 'fal',\n iconName: 'soft-serve',\n icon: [384, 512, [127846, \"creemee\"], \"e400\", \"M192 0c-5.9 0-11.3 3.2-14.1 8.5s-2.5 11.5 .8 16.4l10.8 16.3c1.6 2.4 2.5 5.3 2.5 8.2c0 8.1-6.6 14.7-14.7 14.7H116c-37.6 0-68 30.4-68 68c0 11.5 2.8 22.2 7.8 31.7C23.5 174 0 204.2 0 240c0 32.8 19.7 61 48 73.3V352c0 22.2 15.1 41 35.7 46.4L92.6 470c3 24 23.4 42 47.6 42H243.8c24.2 0 44.6-18 47.6-42l8.9-71.6C320.9 393 336 374.2 336 352V313.3c28.3-12.3 48-40.5 48-73.3c0-37.2-25.4-68.5-59.8-77.4c7.5-12.1 11.8-26.3 11.8-41.6C336 54.2 281.8 0 215 0H192zM304 288H80c-26.5 0-48-21.5-48-48s21.5-48 48-48h8.3H112c8.8 0 16-7.2 16-16s-7.2-16-16-16H93.4C85.2 153.4 80 143.3 80 132c0-19.9 16.1-36 36-36h61.3C203.1 96 224 75.1 224 49.3c0-5.9-1.1-11.7-3.2-17.1c46.5 3 83.2 41.6 83.2 88.8c0 16.2-8.2 30.5-20.8 39H240c-8.8 0-16 7.2-16 16s7.2 16 16 16h47.7 .3 16c26.5 0 48 21.5 48 48s-21.5 48-48 48zM80 320H304v32c0 8.8-7.2 16-16 16h-2c-8.1 0-14.9 6-15.9 14l-10.5 84c-1 8-7.8 14-15.9 14H140.2c-8.1 0-14.9-6-15.9-14l-10.5-84c-1-8-7.8-14-15.9-14H96c-8.8 0-16-7.2-16-16V320z\"]\n};\nvar faCreemee = faSoftServe;\nvar faH5 = {\n prefix: 'fal',\n iconName: 'h5',\n icon: [640, 512, [], \"e412\", \"M32 80c0-8.8-7.2-16-16-16S0 71.2 0 80V256 432c0 8.8 7.2 16 16 16s16-7.2 16-16V272H288V432c0 8.8 7.2 16 16 16s16-7.2 16-16V256 80c0-8.8-7.2-16-16-16s-16 7.2-16 16V240H32V80zM432 64c-7.6 0-14.2 5.4-15.7 12.9l-32 160c-.9 4.7 .3 9.6 3.3 13.3s7.6 5.9 12.4 5.9H528c44.2 0 80 35.8 80 80s-35.8 80-80 80H456.4c-17.2 0-32.5-11-37.9-27.4l-3.2-9.7c-2.8-8.4-11.9-12.9-20.2-10.1s-12.9 11.9-10.1 20.2l3.2 9.7c9.8 29.4 37.3 49.2 68.3 49.2H528c61.9 0 112-50.1 112-112s-50.1-112-112-112H419.5L445.1 96H592c8.8 0 16-7.2 16-16s-7.2-16-16-16H432z\"]\n};\nvar faHandBackPointDown = {\n prefix: 'fal',\n iconName: 'hand-back-point-down',\n icon: [448, 512, [], \"e19e\", \"M136 512c-30.9 0-56-25.1-56-56V255.4c-3.2-2-6.4-4.2-9.5-6.5L48 232c-20.1-15.1-32-38.8-32-64V148.5c0-53 29.1-101.7 75.7-126.8l8.3-4.5C121 5.9 144.4 0 168.3 0H304c61.9 0 112 50.1 112 112v8 88c0 35.3-28.7 64-64 64c-2.8 0-5.6-.2-8.3-.5c-11 19.4-31.8 32.5-55.7 32.5c-5.3 0-10.5-.7-15.5-1.9c-10.8 20.2-32 33.9-56.5 33.9c-8.5 0-16.6-1.7-24-4.7V456c0 30.9-25.1 56-56 56zm-24-56c0 13.3 10.7 24 24 24s24-10.7 24-24V298.5c0-7.1 4.6-13.3 11.4-15.3s14 .6 18 6.5c5.8 8.7 15.6 14.3 26.7 14.3c15.6 0 28.6-11.2 31.4-25.9c1-5.1 4.4-9.5 9.2-11.6s10.3-1.8 14.8 .9c4.8 2.9 10.5 4.6 16.6 4.6c14.7 0 27.2-10 30.9-23.6c1.2-4.4 4.2-8.1 8.3-10.1s8.8-2.2 13.1-.6c3.6 1.4 7.6 2.2 11.8 2.2c17.7 0 32-14.3 32-32V120v-8c0-44.2-35.8-80-80-80H168.3c-18.5 0-36.8 4.6-53.1 13.4l-7.6-14.1 7.6 14.1-8.3 4.5C70.6 69.4 48 107.3 48 148.5V168c0 15.1 7.1 29.3 19.2 38.4L80 216V168c0-8.8 7.2-16 16-16s16 7.2 16 16v78.3V248 456z\"]\n};\nvar faTableList = {\n prefix: 'fal',\n iconName: 'table-list',\n icon: [512, 512, [\"th-list\"], \"f00b\", \"M192 64v96H480V96c0-17.7-14.3-32-32-32H192zm-32 0H64C46.3 64 32 78.3 32 96v64H160V64zM32 192V320H160V192H32zm0 160v64c0 17.7 14.3 32 32 32h96V352H32zm160 96H448c17.7 0 32-14.3 32-32V352H192v96zM480 320V192H192V320H480zM0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96z\"]\n};\nvar faThList = faTableList;\nvar faBasketShoppingMinus = {\n prefix: 'fal',\n iconName: 'basket-shopping-minus',\n icon: [576, 512, [], \"e652\", \"M327.9 2.2c-7.6 4.5-10.2 14.2-5.8 21.9l98 167.9H155.9l98-167.9c4.5-7.6 1.9-17.4-5.8-21.9s-17.4-1.9-21.9 5.8L118.8 192H65 32 16c-8.8 0-16 7.2-16 16s7.2 16 16 16H40L99.9 463.5C107 492 132.6 512 162 512H414c29.4 0 55-20 62.1-48.5L536 224h24c8.8 0 16-7.2 16-16s-7.2-16-16-16H544 511 457.2L349.8 7.9c-4.5-7.6-14.2-10.2-21.9-5.8zM73 224H503L445.1 455.8C441.5 470 428.7 480 414 480H162c-14.7 0-27.5-10-31-24.2L73 224zM208 336c-8.8 0-16 7.2-16 16s7.2 16 16 16H368c8.8 0 16-7.2 16-16s-7.2-16-16-16H208z\"]\n};\nvar faCommentSms = {\n prefix: 'fal',\n iconName: 'comment-sms',\n icon: [512, 512, [\"sms\"], \"f7cd\", \"M32 240c0-91.4 93.8-176 224-176s224 84.6 224 176s-93.8 176-224 176c-32 0-63-5.9-93.5-16.2c-9.9-3.3-20.7-1.8-29.2 4.2c-15.4 10.7-31.4 20-48.4 27.4L91.2 446l-6.4-14.7c-10.5 4.6-21.5 8.6-32.7 11.5c.5-.9 1.1-1.8 1.6-2.6C68 416.5 76.3 391 79.4 363.9c1-9.2-2.1-17.7-7.4-23.9c-24.5-29.4-40-62.9-40-100zM256 32C114.5 32 0 125.2 0 240c0 46.6 19.6 87.1 47.4 120.5c0 .1 .1 .1 .1 .2c-2.6 22.6-9.5 43.5-21.3 63.1c-6.5 10.8-13.5 20.8-21.7 29c-4.5 4.6-5.9 11.5-3.4 17.4s8.3 9.8 14.8 9.8c28.7 0 57.6-8.9 81.6-19.3c19.2-8.4 37.1-18.7 53.9-30.5c.2-.1 .5-.2 .7-.1C185.5 441.3 220 448 256 448c141.5 0 256-93.2 256-208S397.5 32 256 32zM96 212.8c0 12.3 6.2 23.8 16.4 30.7l29.4 19.6c1.3 .9 2.2 2.4 2.2 4c0 2.7-2.2 4.8-4.8 4.8H112c-8.8 0-16 7.2-16 16s7.2 16 16 16h27.2c20.3 0 36.8-16.5 36.8-36.8c0-12.3-6.2-23.8-16.4-30.7l-29.4-19.6c-1.3-.9-2.2-2.4-2.2-4c0-2.7 2.2-4.8 4.8-4.8H152c8.8 0 16-7.2 16-16s-7.2-16-16-16H132.8C112.5 176 96 192.5 96 212.8zM372.8 176c-20.3 0-36.8 16.5-36.8 36.8c0 12.3 6.2 23.8 16.4 30.7l29.4 19.6c1.3 .9 2.2 2.4 2.2 4c0 2.7-2.2 4.8-4.8 4.8H352c-8.8 0-16 7.2-16 16s7.2 16 16 16h27.2c20.3 0 36.8-16.5 36.8-36.8c0-12.3-6.2-23.8-16.4-30.7l-29.4-19.6c-1.3-.9-2.2-2.4-2.2-4c0-2.7 2.2-4.8 4.8-4.8H392c8.8 0 16-7.2 16-16s-7.2-16-16-16H372.8zm-152 6.4c-4.1-5.5-11.3-7.8-17.9-5.6S192 185.1 192 192v96c0 8.8 7.2 16 16 16s16-7.2 16-16V240l19.2 25.6c3 4 7.8 6.4 12.8 6.4s9.8-2.4 12.8-6.4L288 240v48c0 8.8 7.2 16 16 16s16-7.2 16-16V192c0-6.9-4.4-13-10.9-15.2s-13.7 .1-17.9 5.6L256 229.3l-35.2-46.9z\"]\n};\nvar faSms = faCommentSms;\nvar faRectangle = {\n prefix: 'fal',\n iconName: 'rectangle',\n icon: [512, 512, [9644, \"rectangle-landscape\"], \"f2fa\", \"M448 96c17.7 0 32 14.3 32 32V384c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V128c0-17.7 14.3-32 32-32H448zM64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64z\"]\n};\nvar faRectangleLandscape = faRectangle;\nvar faClipboardListCheck = {\n prefix: 'fal',\n iconName: 'clipboard-list-check',\n icon: [384, 512, [], \"f737\", \"M145.5 68c5.3-20.7 24.1-36 46.5-36s41.2 15.3 46.5 36c1.8 7.1 8.2 12 15.5 12h18c8.8 0 16 7.2 16 16v32H192 96V96c0-8.8 7.2-16 16-16h18c7.3 0 13.7-4.9 15.5-12zM192 0c-32.8 0-61 19.8-73.3 48H112C91.1 48 73.3 61.4 66.7 80H64C28.7 80 0 108.7 0 144V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V144c0-35.3-28.7-64-64-64h-2.7c-6.6-18.6-24.4-32-45.3-32h-6.7C253 19.8 224.8 0 192 0zM320 112c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V144c0-17.7 14.3-32 32-32v16c0 17.7 14.3 32 32 32h96 96c17.7 0 32-14.3 32-32V112zM208 80a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM171.3 235.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L112 249.4 99.3 236.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l24 24c6.2 6.2 16.4 6.2 22.6 0l48-48zM192 272c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H208c-8.8 0-16 7.2-16 16zm-32 96c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H176c-8.8 0-16 7.2-16 16zm-48 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faTurkey = {\n prefix: 'fal',\n iconName: 'turkey',\n icon: [640, 512, [], \"f725\", \"M496 64c0-17.7 14.3-32 32-32s32 14.3 32 32c0 2.7-.3 5.4-1 7.9c-1.3 5.2-.5 11.1 2.9 16c3.7 5.2 9.4 8 15.2 8.2c17.1 .6 30.9 14.7 30.9 32c0 17.7-14.3 32-32 32c-6 0-12.6-.6-20.3-1.5l-3.9-.5c-6.3-.7-13.2-1.5-19.9-2c-15.9-1-35.4-.4-51.5 11l-41.6 29.3c-18.8 13.2-30.5 32-39.1 50.6c-5.3 11.3-10 24.3-14.4 36.2c-2.5 6.7-4.8 13.1-7.1 18.8c-4.9 12.2-12.9 23.3-23.9 32.2C320 362 269.6 356.7 241.8 322.3S219.3 237.6 253.7 209.8c17.2-13.9 38.3-19.5 58.7-17.4c14.5 1.5 31.2 3.1 47.6 2c16.5-1.2 33.7-5.3 48.9-16l63.6-44.9c12.8-9 18.4-22.7 20.9-34.8C495.9 86.7 496 73.8 496 64zM528 0c-35.3 0-64 28.7-64 64c0 10.1-.2 19.7-1.9 28.1c-1.8 8.3-4.6 12.9-8.1 15.3l-40.3 28.4C370.6 110.5 325.7 96 288 96C176 96 0 224 0 384C0 512 160 512 288 512s288 0 288-128c0-60.3-25-116.1-62.2-162.2l-26.2 18.5C522 282.3 544 332 544 384c0 24.6-7.4 40.5-18.3 52c-11.6 12.3-29.6 22.1-54.5 29.2C420.4 479.7 353.4 480 288 480s-132.4-.3-183.2-14.8c-24.9-7.1-42.9-16.9-54.5-29.2C39.4 424.5 32 408.6 32 384c0-68 37.6-132 91.4-180.2C177.6 155.2 242.3 128 288 128c27.3 0 61.5 9.7 96.1 28c-7.6 3.8-16.4 5.8-26.5 6.5c-13.1 .9-27.2-.3-41.9-1.9c-28.5-3-58.2 4.9-82.2 24.3c-48.1 38.9-55.5 109.4-16.6 157.5s109.4 55.5 157.5 16.6c15.3-12.4 26.5-28 33.4-45.1c3.1-7.7 5.7-14.9 8.3-21.9l0 0c4-10.8 7.7-21.1 12.6-31.6c7.6-16.4 16.3-29.3 28.5-37.9l41.6-29.3c6.7-4.7 16.5-6.2 31-5.2c5.8 .4 11.7 1.1 18 1.8l4.3 .5c7.6 .9 15.9 1.7 23.9 1.7c35.3 0 64-28.7 64-64c0-29.8-20.4-54.9-48-62c0-.7 0-1.3 0-2c0-35.3-28.7-64-64-64z\"]\n};\nvar faBook = {\n prefix: 'fal',\n iconName: 'book',\n icon: [448, 512, [128212], \"f02d\", \"M64 0C28.7 0 0 28.7 0 64L0 448l0 0c0 35.3 28.7 64 64 64H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H416V413.3c18.6-6.6 32-24.4 32-45.3V48c0-26.5-21.5-48-48-48H64zM384 416v64H64c-17.7 0-32-14.3-32-32s14.3-32 32-32H384zM64 384c-11.7 0-22.6 3.1-32 8.6L32 64c0-17.7 14.3-32 32-32H96V384H64zm64 0V32H400c8.8 0 16 7.2 16 16V368c0 8.8-7.2 16-16 16H128zm48-240c0 8.8 7.2 16 16 16H352c8.8 0 16-7.2 16-16s-7.2-16-16-16H192c-8.8 0-16 7.2-16 16zm0 96c0 8.8 7.2 16 16 16H352c8.8 0 16-7.2 16-16s-7.2-16-16-16H192c-8.8 0-16 7.2-16 16z\"]\n};\nvar faUserPlus = {\n prefix: 'fal',\n iconName: 'user-plus',\n icon: [640, 512, [], \"f234\", \"M224 32a96 96 0 1 1 0 192 96 96 0 1 1 0-192zm0 224A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 80h91.4c80 0 145 64.3 146.3 144H32c1.2-79.7 66.2-144 146.3-144zm0-32C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304H178.3zM512 304c0 8.8 7.2 16 16 16s16-7.2 16-16V224h80c8.8 0 16-7.2 16-16s-7.2-16-16-16H544V112c0-8.8-7.2-16-16-16s-16 7.2-16 16v80H432c-8.8 0-16 7.2-16 16s7.2 16 16 16h80v80z\"]\n};\nvar faIceSkate = {\n prefix: 'fal',\n iconName: 'ice-skate',\n icon: [576, 512, [9976], \"f7ac\", \"M320 16c0-8.8-7.2-16-16-16s-16 7.2-16 16v7.4l-4.1 1.1L67.6 82.2C46.6 87.8 32 106.8 32 128.6V336c0 26.5 21.5 48 48 48H464c26.5 0 48-21.5 48-48V306c0-36.7-25-68.7-60.6-77.6L320 195.5V144 16zM75.9 113.1L288 56.6V128H240c-8.8 0-16 7.2-16 16s7.2 16 16 16h48v32H240c-8.8 0-16 7.2-16 16s7.2 16 16 16h62l141.6 35.4C465 264.7 480 283.9 480 306v30c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V128.6c0-7.2 4.9-13.6 11.9-15.5zM128 432V416H96v16 48H16c-8.8 0-16 7.2-16 16s7.2 16 16 16h96H400h96c44.2 0 80-35.8 80-80c0-8.8-7.2-16-16-16s-16 7.2-16 16c0 26.5-21.5 48-48 48H416V432 416H384v16 48H128V432z\"]\n};\nvar faCheck = {\n prefix: 'fal',\n iconName: 'check',\n icon: [448, 512, [10003, 10004], \"f00c\", \"M443.3 100.7c6.2 6.2 6.2 16.4 0 22.6l-272 272c-6.2 6.2-16.4 6.2-22.6 0l-144-144c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L160 361.4 420.7 100.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faBatteryThreeQuarters = {\n prefix: 'fal',\n iconName: 'battery-three-quarters',\n icon: [576, 512, [\"battery-4\"], \"f241\", \"M432 128c26.5 0 48 21.5 48 48V336c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48V176c0-26.5 21.5-48 48-48H432zM80 96C35.8 96 0 131.8 0 176V336c0 44.2 35.8 80 80 80H432c44.2 0 80-35.8 80-80V176c0-44.2-35.8-80-80-80H80zM576 208c0-8.8-7.2-16-16-16s-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V208zM112 192H304c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16H112c-8.8 0-16-7.2-16-16V208c0-8.8 7.2-16 16-16zM64 208v96c0 26.5 21.5 48 48 48H304c26.5 0 48-21.5 48-48V208c0-26.5-21.5-48-48-48H112c-26.5 0-48 21.5-48 48z\"]\n};\nvar faBattery4 = faBatteryThreeQuarters;\nvar faTomato = {\n prefix: 'fal',\n iconName: 'tomato',\n icon: [512, 512, [], \"e330\", \"M235.3 4.7L224 16C235.3 4.7 235.3 4.7 235.3 4.7l0 0 0 0 .1 .1 .2 .2 .4 .5c.4 .4 .8 .9 1.4 1.5c1.1 1.3 2.6 3.1 4.4 5.4c3.5 4.7 8 11.5 12.5 20.4c6 12 11.9 27.8 15.1 47.4c52.9 1.7 102.9 13.6 145.6 35.3c13.2 6.7 20.1 21.6 16.6 36s-16.3 24.5-31.1 24.5h-4.8c6.7 11.5 5.5 26.1-3.1 36.5c-9.1 10.9-24.2 14.5-37.2 8.9L256 178.8l-99.4 42.6c-13 5.6-28.2 1.9-37.2-8.9c-8.7-10.5-9.8-25.2-2.9-36.8l-.2 0c-13.3 2-26.9-4.5-33.4-17.1c-8-15.8-1.7-35 14-43l0 0 .8-.4 0 0c41-20.6 88.6-32.3 139.1-34.6c-2.8-13.8-7.1-24.9-11.3-33.3c-3.5-7-7-12.2-9.5-15.6c-1.2-1.7-2.2-2.8-2.9-3.6c-.3-.4-.5-.6-.6-.7l-.1-.1c-6.2-6.3-6.1-16.3 .1-22.5c6.2-6.2 16.4-6.2 22.6 0zM240 112.3c-47.2 2-90.9 12.7-127.7 31.3l0 0-.8 .4 0 0 0 0c1.2-.3 2.4-.4 3.6-.4l31.3 .2c5.9 0 11.3 3.3 14 8.5s2.4 11.5-.8 16.4L144 192l105.7-45.3c4-1.7 8.6-1.7 12.6 0L368 192l-15.4-23.1c-3.3-4.9-3.6-11.2-.8-16.4s8.2-8.5 14.1-8.5h34.6c-37-18.8-81-29.7-128.5-31.7c-.2 8.7-7.3 15.7-16 15.7s-15.8-7-16-15.7zM73.4 195.4C47.3 223.5 32 259.8 32 304c0 55 23.6 97.8 62.5 127.7C134.1 462.2 190.8 480 256 480s121.9-17.8 161.5-48.3C456.4 401.8 480 359 480 304c0-44.2-15.3-80.5-41.4-108.6c8.7-6.4 15.7-15 20.3-25.1C492.2 204.5 512 249.6 512 304c0 130.9-114.6 208-256 208S0 434.9 0 304c0-54.4 19.8-99.6 53.1-133.7c.4 .9 .8 1.8 1.3 2.7c4.7 9.2 11.2 16.7 18.9 22.4z\"]\n};\nvar faSwordLaser = {\n prefix: 'fal',\n iconName: 'sword-laser',\n icon: [512, 512, [], \"e03b\", \"M503.8 57.1l-210 232.7-22.7-22.7L480 35.7V32l-3.7 0L244.8 240.9l-22.7-22.7L454.9 8.2C460.7 2.9 468.4 0 476.3 0H480c17.7 0 32 14.3 32 32v3.7c0 7.9-2.9 15.6-8.2 21.4zM187.3 228.7l16 16 64 64 0 0 0 0 16 16c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-4.7-4.7-57.9 57.9c1.2 2.3 1.9 4.9 1.9 7.5c0 4.2-1.7 8.3-4.7 11.3L118.6 496c-10.2 10.2-24.1 16-38.6 16s-28.4-5.8-38.6-16L16 470.6C5.8 460.4 0 446.5 0 432s5.8-28.4 16-38.6l76.7-76.7c5.1-5.1 12.8-6 18.8-2.8L169.4 256l-4.7-4.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0zM152 318.6L134.6 336 176 377.4 193.4 360 152 318.6zM174.6 296L216 337.4 233.4 320 192 278.6 174.6 296zM38.6 416c-4.2 4.2-6.6 10-6.6 16s2.4 11.8 6.6 16L64 473.4c4.2 4.2 10 6.6 16 6.6s11.8-2.4 16-6.6L161.4 408 104 350.6 38.6 416z\"]\n};\nvar faHouseCircleCheck = {\n prefix: 'fal',\n iconName: 'house-circle-check',\n icon: [640, 512, [], \"e509\", \"M277.4 4c6-5.3 15.1-5.3 21.2 0L512.5 192.8c-5.4-.5-10.9-.8-16.5-.8c-10.2 0-20.2 .9-29.9 2.5L288 37.3 96 206.7V432c0 26.5 21.5 48 48 48h64V320c0-17.7 14.3-32 32-32h96c1 0 2.1 .1 3.1 .1c-5.1 10.1-9.3 20.7-12.5 31.9H240V480h16 80 24.2c10 12.1 21.7 22.9 34.6 32H144c-44.2 0-80-35.8-80-80V235L26.6 268C20 273.8 9.8 273.2 4 266.6S-1.2 249.8 5.4 244L277.4 4zM496 480a112 112 0 1 0 0-224 112 112 0 1 0 0 224zm0-256a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm67.3 100.7c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L480 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faBuildings = {\n prefix: 'fal',\n iconName: 'buildings',\n icon: [512, 512, [], \"e0cc\", \"M448 32c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H288c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H448zM288 0c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H288zM192 128H64c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H216.4c-8.3-9.2-14.8-20.1-19-32H64c-17.7 0-32-14.3-32-32V192c0-17.7 14.3-32 32-32H192V128zM88 320c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V344c0-13.3-10.7-24-24-24H88zm8 64V352h32v32H96zm224 8c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V344c0-13.3-10.7-24-24-24H344c-13.3 0-24 10.7-24 24v48zm32-8V352h32v32H352zM88 192c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V216c0-13.3-10.7-24-24-24H88zm8 64V224h32v32H96zM320 88v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V88c0-13.3-10.7-24-24-24H344c-13.3 0-24 10.7-24 24zm32 8h32v32H352V96zm-8 192h48c13.3 0 24-10.7 24-24V216c0-13.3-10.7-24-24-24H344c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24zm8-64h32v32H352V224z\"]\n};\nvar faAngleLeft = {\n prefix: 'fal',\n iconName: 'angle-left',\n icon: [320, 512, [8249], \"f104\", \"M52.7 267.3c-6.2-6.2-6.2-16.4 0-22.6l160-160c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L86.6 256 235.3 404.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-160-160z\"]\n};\nvar faCartFlatbedBoxes = {\n prefix: 'fal',\n iconName: 'cart-flatbed-boxes',\n icon: [640, 512, [\"dolly-flatbed-alt\"], \"f475\", \"M16 0C7.2 0 0 7.2 0 16s7.2 16 16 16H80c8.8 0 16 7.2 16 16V368c0 26.5 21.5 48 48 48h24.6c-5.4 9.4-8.6 20.3-8.6 32c0 35.3 28.7 64 64 64s64-28.7 64-64c0-11.7-3.1-22.6-8.6-32H456.6c-5.4 9.4-8.6 20.3-8.6 32c0 35.3 28.7 64 64 64s64-28.7 64-64c0-11.7-3.1-22.6-8.6-32H624c8.8 0 16-7.2 16-16s-7.2-16-16-16H512 224 144c-8.8 0-16-7.2-16-16V48c0-26.5-21.5-48-48-48H16zM544 448a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM224 480a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm0-416H352V288H224l0-224zm-32 0V288c0 17.7 14.3 32 32 32H352c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H224c-17.7 0-32 14.3-32 32zm320 0v64H448V64h64zM448 32c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H448zm0 192H576v64H448V224zm-32 0v64c0 17.7 14.3 32 32 32H576c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32H448c-17.7 0-32 14.3-32 32z\"]\n};\nvar faDollyFlatbedAlt = faCartFlatbedBoxes;\nvar faDiagramSuccessor = {\n prefix: 'fal',\n iconName: 'diagram-successor',\n icon: [512, 512, [], \"e47a\", \"M480 352c0-17.7-14.3-32-32-32L64 320c-17.7 0-32 14.3-32 32l0 64c0 17.7 14.3 32 32 32l384 0c17.7 0 32-14.3 32-32l0-64zm32 64c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64l0-64c0-35.3 28.7-64 64-64l384 0c35.3 0 64 28.7 64 64l0 64zM256 96c0-17.7-14.3-32-32-32l-32 0L64 64C46.3 64 32 78.3 32 96l0 64c0 17.7 14.3 32 32 32l160 0c17.7 0 32-14.3 32-32l0-64zm23.4-32c5.4 9.4 8.6 20.3 8.6 32l0 64c0 35.3-28.7 64-64 64L64 224c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32l128 0 32 0 144 0c35.3 0 64 28.7 64 64l0 89.4 36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-64 64c-6.2 6.2-16.4 6.2-22.6 0l-64-64c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L400 185.4 400 96c0-17.7-14.3-32-32-32l-88.6 0zM96 368l320 0c8.8 0 16 7.2 16 16s-7.2 16-16 16L96 400c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faTruckArrowRight = {\n prefix: 'fal',\n iconName: 'truck-arrow-right',\n icon: [640, 512, [], \"e58b\", \"M352 32c17.7 0 32 14.3 32 32V384H250.5c-13.2-37.3-48.7-64-90.5-64s-77.4 26.7-90.5 64H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H352zM0 352c0 35.3 28.7 64 64 64c0 53 43 96 96 96s96-43 96-96H384c0 53 43 96 96 96s96-43 96-96h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H608V235.8c0-11.5-4.1-22.5-11.6-31.2l-78.7-91.8C508.6 102.1 495.3 96 481.3 96H416V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352zM481.3 128c4.7 0 9.1 2 12.1 5.6L570.9 224H416V128h65.3zM416 344.4V256H576V384h-5.5c-13.2-37.3-48.7-64-90.5-64c-24.6 0-47 9.2-64 24.4zM160 352a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm256 64a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM235.3 84.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L265.4 160H112c-8.8 0-16 7.2-16 16s7.2 16 16 16H265.4l-52.7 52.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l80-80c6.2-6.2 6.2-16.4 0-22.6l-80-80z\"]\n};\nvar faSquareW = {\n prefix: 'fal',\n iconName: 'square-w',\n icon: [448, 512, [], \"e285\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm103.1 58.8l56.3 162.6 49.4-154.2c2.1-6.6 8.3-11.1 15.2-11.1s13.1 4.5 15.2 11.1l49.4 154.2 56.3-162.6c2.9-8.4 12-12.8 20.4-9.9s12.8 12 9.9 20.4l-72 208c-2.3 6.5-8.4 10.8-15.3 10.8s-13-4.6-15.1-11.1L224 220.5 175.2 372.9c-2.1 6.6-8.2 11-15.1 11.1s-13.1-4.3-15.3-10.8l-72-208c-2.9-8.4 1.5-17.5 9.9-20.4s17.5 1.5 20.4 9.9z\"]\n};\nvar faArrowsSplitUpAndLeft = {\n prefix: 'fal',\n iconName: 'arrows-split-up-and-left',\n icon: [512, 512, [], \"e4bc\", \"M235.3 123.3c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l96-96c6.2-6.2 16.4-6.2 22.6 0l96 96c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L336 54.6V384v16c0 44.2 35.8 80 80 80h80c8.8 0 16 7.2 16 16s-7.2 16-16 16H416c-61.9 0-112-50.1-112-112V384c0-44.2-35.8-80-80-80H54.6l68.7 68.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-96-96c-3-3-4.7-7.1-4.7-11.3s1.7-8.3 4.7-11.3l96-96c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L54.6 272H224c31.3 0 59.7 12.9 80 33.6V54.6l-68.7 68.7z\"]\n};\nvar faLamp = {\n prefix: 'fal',\n iconName: 'lamp',\n icon: [448, 512, [], \"f4ca\", \"M112 32L32 224H416L336 32 112 32zM82.5 19.7C87.4 7.8 99.1 0 112 0H336c12.9 0 24.6 7.8 29.5 19.7l80 192c4.1 9.9 3 21.2-2.9 30.1s-15.9 14.2-26.6 14.2H32c-10.7 0-20.7-5.3-26.6-14.2s-7-20.2-2.9-30.1l80-192zM160 312.2V288h32v24.2c0 14.8-6.7 27.8-16.5 36.6c-6.8 6.1-19.3 18.4-29.8 34.1C135 398.9 128 415.8 128 432c0 17.1 5.8 31.8 12.1 42.6c1 1.7 4.8 5.4 14.4 5.4h139c9.7 0 13.5-3.7 14.4-5.4c6.3-10.8 12.1-25.5 12.1-42.6c0-16.2-7-33.1-17.7-49.1c-10.5-15.7-23-28-29.8-34.1c-9.8-8.8-16.5-21.8-16.5-36.6V288h32v24.2c0 4.9 2.2 9.5 5.9 12.8C309.7 339.3 352 382 352 432c0 24.4-8.3 44.6-16.4 58.7c-8.5 14.7-25.2 21.3-42.1 21.3h-139c-17 0-33.6-6.6-42.1-21.3C104.3 476.6 96 456.4 96 432c0-50 42.3-92.7 58.1-107c3.6-3.3 5.9-7.9 5.9-12.8z\"]\n};\nvar faAirplay = {\n prefix: 'fal',\n iconName: 'airplay',\n icon: [576, 512, [], \"e089\", \"M480 64H96c-35.3 0-64 28.7-64 64V320c0 35.3 28.7 64 64 64h37.5l-18.7 18.7c-4 4-7.4 8.5-10.2 13.3H96c-53 0-96-43-96-96V128C0 75 43 32 96 32H480c53 0 96 43 96 96V320c0 53-43 96-96 96h-8.6c-2.8-4.8-6.2-9.2-10.2-13.3L442.5 384H480c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64zM162.2 435.7c-1.4 1.3-2.2 3.2-2.2 5.2c0 3.9 3.2 7.1 7.1 7.1H408.9c3.9 0 7.1-3.2 7.1-7.1c0-2-.8-3.8-2.2-5.2L293.6 322.2c-1.4-1.3-3.5-2.2-5.6-2.2s-4.2 .8-5.6 2.2L162.2 435.7zm-22-23.3L260.4 298.9c7.4-7 17.4-10.9 27.6-10.9s20.1 3.9 27.6 10.9L435.7 412.4c7.8 7.4 12.3 17.7 12.3 28.5c0 21.6-17.5 39.1-39.1 39.1H167.1c-21.6 0-39.1-17.5-39.1-39.1c0-10.8 4.4-21.1 12.3-28.5z\"]\n};\nvar faHandFist = {\n prefix: 'fal',\n iconName: 'hand-fist',\n icon: [448, 512, [9994, \"fist-raised\"], \"f6de\", \"M254.2 233.7c7.7 4 16.5 6.3 25.8 6.3c12.1 0 23.3-3.8 32.5-10.4C322.4 245.5 340 256 360 256c8.6 0 16.7-1.9 24-5.4V256c0 38.6-19.5 72.6-49.2 92.7c-8.6 5.8-14.8 15.7-14.8 27.4V496c0 8.8 7.2 16 16 16s16-7.2 16-16V376.1l0-.1 .1-.1c.1-.2 .3-.5 .7-.7C390.9 349.3 416 305.6 416 256V200v-8V152c0-30.9-25.1-56-56-56c-8.6 0-16.7 1.9-24 5.4V88c0-30.9-25.1-56-56-56c-9.7 0-18.8 2.5-26.7 6.8C246 16.3 224.9 0 200 0s-46 16.3-53.3 38.8c-7.9-4.3-17-6.8-26.7-6.8C89.1 32 64 57.1 64 88V200c0 2.6 .2 5.1 .5 7.6C44.8 222.2 32 245.6 32 272c0 59 39.9 108.7 94.2 123.5c.8 .2 1.3 .6 1.6 1c.1 .2 .2 .3 .2 .3l0 0V496c0 8.8 7.2 16 16 16s16-7.2 16-16V396.7c0-16.3-11.9-28.4-25.4-32.1C93.9 353.5 64 316.2 64 272c0-26.5 21.5-48 48-48h88c13.3 0 24 10.7 24 24s-10.7 24-24 24H144c-8.8 0-16 7.2-16 16s7.2 16 16 16h56c30.9 0 56-25.1 56-56c0-4.9-.6-9.7-1.8-14.3zM224 197.4c-7.3-3.5-15.4-5.4-24-5.4H176V88 56c0-13.3 10.7-24 24-24s24 10.7 24 24V88v96 13.4zM144 192H112c-5.5 0-10.8 .6-16 1.6V88c0-13.3 10.7-24 24-24s24 10.7 24 24V192zm240 0v8c0 13.3-10.7 24-24 24s-24-10.7-24-24V184 152c0-13.3 10.7-24 24-24s24 10.7 24 24v40zM256 88c0-13.3 10.7-24 24-24s24 10.7 24 24v64 32c0 13.3-10.7 24-24 24s-24-10.7-24-24V88z\"]\n};\nvar faFistRaised = faHandFist;\nvar faShieldQuartered = {\n prefix: 'fal',\n iconName: 'shield-quartered',\n icon: [512, 512, [], \"e575\", \"M66.8 112.3C55.5 117 47.9 127.7 48 139.8c.1 20 1.9 43.2 6.3 68.2H240V38.8L66.8 112.3zM61.1 240C82.3 324.6 133.3 420.1 240 472.6V240H61.1zM272 240V472.6c106.7-52.5 157.7-148 179-232.6H272zm185.8-32c4.3-24.9 6.2-48.2 6.3-68.2c.1-12.1-7.5-22.8-18.8-27.6L272 38.8V208H457.8zM231 7.8c16-6.8 34-6.8 50 0l176.7 75c22 9.3 38.4 31 38.3 57.2c-.5 99.2-41.3 280.7-213.6 363.2c-16.7 8-36.1 8-52.8 0C57.3 420.7 16.5 239.2 16 140c-.1-26.2 16.3-47.9 38.3-57.2L231 7.8z\"]\n};\nvar faSlashForward = {\n prefix: 'fal',\n iconName: 'slash-forward',\n icon: [320, 512, [], \"2f\", \"M312.2 2.3c7.6 4.5 10 14.4 5.5 22l-288 480c-4.5 7.6-14.4 10-22 5.5s-10-14.4-5.5-22l288-480c4.5-7.6 14.4-10 22-5.5z\"]\n};\nvar faLocationPen = {\n prefix: 'fal',\n iconName: 'location-pen',\n icon: [384, 512, [\"map-marker-edit\"], \"f607\", \"M352 192c0-88.4-71.6-160-160-160S32 103.6 32 192c0 15.6 5.4 37 16.6 63.4c10.9 25.9 26.2 54 43.6 82.1c34.1 55.3 74.4 108.2 99.9 140c25.4-31.8 65.8-84.7 99.9-140c17.3-28.1 32.7-56.3 43.6-82.1C346.6 229 352 207.6 352 192zm32 0c0 87.4-117 243-168.3 307.2c-12.3 15.3-35.1 15.3-47.4 0C117 435 0 279.4 0 192C0 86 86 0 192 0S384 86 384 192zM252.3 131.7c-4.9-4.9-12.9-4.9-17.8 0l-8.1 8.1 17.8 17.8 8.1-8.1c4.9-4.9 4.9-12.9 0-17.8zM143.1 223.1c-2 2.1-3.5 4.6-4.2 7.4L134 250l19.4-4.9c2.8-.7 5.4-2.2 7.4-4.2l60.7-60.7-17.8-17.8-60.7 60.7zM211.8 109c17.4-17.4 45.7-17.4 63.1 0c17.4 17.4 17.4 45.6 0 63l-91.4 91.5c-6.2 6.2-13.9 10.5-22.3 12.6l-45.3 11.3c-5.5 1.4-11.2-.2-15.2-4.2s-5.6-9.7-4.2-15.2l11.3-45.3c2.1-8.4 6.5-16.1 12.6-22.3L211.8 109z\"]\n};\nvar faMapMarkerEdit = faLocationPen;\nvar faCloudMoon = {\n prefix: 'fal',\n iconName: 'cloud-moon',\n icon: [640, 512, [], \"f6c3\", \"M460.6 35.9c-30 32-48.4 75-48.4 122.4c0 90.8 67.6 165.8 155.1 177.2c-21.5 10.8-45.8 16.9-71.5 16.9c-24.6 0-47.9-5.6-68.7-15.5c17.7 11 32.1 26.8 41.3 45.6c8.9 1.3 18.1 1.9 27.4 1.9c52 0 99.1-20.7 133.6-54.4c5-4.9 6.3-12.5 3.1-18.7s-10.1-9.7-17-8.5c-8.1 1.4-16.5 2.1-25.1 2.1c-80.7 0-146.2-65.6-146.2-146.6c0-54.8 30-102.6 74.4-127.8c6.1-3.5 9.2-10.5 7.7-17.3S519 1.3 512 .7c-5.4-.5-10.8-.7-16.3-.7C389.8 0 304 86.1 304 192.2c0 10.8 .9 21.5 2.6 31.8c11.8 .3 23.2 2.4 33.9 6.1c-2.9-12.2-4.5-24.8-4.5-37.9C336 115.8 389.3 52 460.6 35.9zM112 320c0-35.3 28.7-64 64-64c29.1 0 53.7 19.4 61.4 46c1.7 5.8 6.5 10.2 12.5 11.3s12-1.3 15.7-6.1c8.8-11.7 22.7-19.2 38.4-19.2c26.5 0 48 21.5 48 48c0 8.8-2.3 16.9-6.4 24c-2.9 5-2.9 11.1 0 16s8.1 8 13.9 8l8.3 0 0 0 .2 0c26.5 0 48 21.5 48 48s-21.5 48-48 48c-.6 0-1.2 0-1.8 0l-.3 0-.2 0H98.9c-.2 0-.4 0-.6 0c-.8 0-1.6 0-2.3 0c-35.3 0-64-28.7-64-64s28.7-64 64-64c.4 0 .8 0 1.3 0c4.9 .1 9.5-2 12.6-5.8s4.4-8.7 3.4-13.4c-.8-4.1-1.3-8.4-1.3-12.8zm64-96c-53 0-96 43-96 96l0 1.3C34.6 328.9 0 368.4 0 416c0 53 43 96 96 96c1.1 0 2.1 0 3.2-.1H365.3c.9 0 1.8 0 2.7 0c44.2 0 80-35.8 80-80c0-39.4-28.4-72.1-65.8-78.7c1.2-5.6 1.9-11.3 1.9-17.2c0-44.2-35.8-80-80-80c-17 0-32.8 5.3-45.8 14.4C241.4 242.6 210.9 224 176 224z\"]\n};\nvar faPotFood = {\n prefix: 'fal',\n iconName: 'pot-food',\n icon: [640, 512, [127858], \"e43f\", \"M128 16c0-8.8-7.2-16-16-16s-16 7.2-16 16c0 25.8 4.3 44.4 11.7 59.2c7.2 14.3 16.7 23.9 24.6 31.7l.4 .4c8.1 8.1 14.3 14.4 19 23.8c4.6 9.2 8.3 22.7 8.3 44.8c0 8.8 7.2 16 16 16s16-7.2 16-16c0-25.8-4.3-44.4-11.7-59.2c-7.2-14.3-16.7-23.9-24.6-31.7l-.4-.4c-8.1-8.1-14.3-14.4-19-23.8C131.7 51.6 128 38.2 128 16zm96 0c0-8.8-7.2-16-16-16s-16 7.2-16 16c0 25.8 4.3 44.4 11.7 59.2c7.2 14.3 16.7 23.9 24.6 31.7l0 0 0 0 0 0 .4 .4c8.1 8.1 14.3 14.4 19 23.8c4.6 9.2 8.3 22.7 8.3 44.8c0 8.8 7.2 16 16 16s16-7.2 16-16c0-25.8-4.3-44.4-11.7-59.2c-7.2-14.3-16.7-23.9-24.6-31.7l-.4-.4c-8.1-8.1-14.3-14.4-19-23.8C227.7 51.6 224 38.2 224 16zM32 256c-8.8 0-16 7.2-16 16s7.2 16 16 16H67.8c5.9 82.9 56.5 152.7 127.3 186.4c7.6 21.9 28.4 37.6 52.9 37.6H392c24.5 0 45.3-15.7 52.9-37.6C515.7 440.7 566.3 370.9 572.2 288H608c8.8 0 16-7.2 16-16s-7.2-16-16-16H570.4c-6.6-18.6-24.3-32-45.3-32H114.9c-21 0-38.7 13.4-45.3 32H32zm507.4-64c-13.8-46.3-56.6-80-107.4-80s-93.6 33.7-107.4 80h34c12.3-28.3 40.5-48 73.3-48s61 19.7 73.3 48h34zM225.3 463.9c-2.8-8.1-8.7-14.7-16.5-18.4c-61.4-29.2-105-90.1-109.3-162.2l-.6-10.3c-.5-9.2 6.8-16.9 16-16.9H525.1c9.2 0 16.5 7.7 16 16.9l-.6 10.3c-4.2 72.1-47.8 133-109.3 162.2c-7.7 3.7-13.7 10.3-16.5 18.4c-3.3 9.4-12.2 16.1-22.7 16.1H248c-10.4 0-19.4-6.7-22.7-16.1z\"]\n};\nvar faBriefcase = {\n prefix: 'fal',\n iconName: 'briefcase',\n icon: [512, 512, [128188], \"f0b1\", \"M160 48V96H352V48c0-8.8-7.2-16-16-16H176c-8.8 0-16 7.2-16 16zM128 96V48c0-26.5 21.5-48 48-48H336c26.5 0 48 21.5 48 48V96h64c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V160c0-35.3 28.7-64 64-64h64zm240 32H144 64c-17.7 0-32 14.3-32 32v96H176h32 96 32H480V160c0-17.7-14.3-32-32-32H368zM480 288H336v48c0 17.7-14.3 32-32 32H208c-17.7 0-32-14.3-32-32V288H32V416c0 17.7 14.3 32 32 32H448c17.7 0 32-14.3 32-32V288zm-272 0v48h96V288H208z\"]\n};\nvar faPersonFalling = {\n prefix: 'fal',\n iconName: 'person-falling',\n icon: [512, 512, [], \"e546\", \"M320 16c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 10.8c0 48.1-27.6 91.3-70 111.9c-1.8 .4-3.6 1.1-5.2 2.2c-.2 .1-.4 .3-.6 .4c-3 1.3-6.1 2.4-9.3 3.5C139.1 166.1 96 225.9 96 293.2V368c0 8.8 7.2 16 16 16s16-7.2 16-16l0-74.8c0-21.7 5.6-42.5 15.8-60.6L322.6 504.8c4.9 7.4 14.8 9.4 22.2 4.6s9.4-14.8 4.6-22.2L252.7 340.1l57.5-44.7 67-6.7 74.6 89.5c5.7 6.8 15.7 7.7 22.5 2s7.7-15.7 2-22.5l-74.6-89.5c-6.8-8.2-17.2-12.4-27.8-11.4l-61.9 6.2L244.8 160.5c46-27.9 75.2-78.2 75.2-133.7L320 16zM282.5 276.4l-47.4 36.9L165.4 207.2c-.4-.6-.8-1.1-1.3-1.7c13.4-13.5 30-24.1 48.9-30.4c.8-.3 1.7-.6 2.5-.9l66.9 102.1zM96 88a24 24 0 1 1 48 0A24 24 0 1 1 96 88zm80 0A56 56 0 1 0 64 88a56 56 0 1 0 112 0z\"]\n};\nvar faImagePortrait = {\n prefix: 'fal',\n iconName: 'image-portrait',\n icon: [384, 512, [\"portrait\"], \"f3e0\", \"M64 32C46.3 32 32 46.3 32 64V448c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H64zM0 64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zM224 192a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-96 0a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM235.4 320H148.6c-18.6 0-34 14-36.3 32H271.7c-2.2-18-17.6-32-36.3-32zm-86.9-32H192h43.4c37.9 0 68.6 30.7 68.6 68.6c0 15.1-12.3 27.4-27.4 27.4H107.4C92.3 384 80 371.7 80 356.6c0-37.9 30.7-68.6 68.6-68.6z\"]\n};\nvar faPortrait = faImagePortrait;\nvar faUserTag = {\n prefix: 'fal',\n iconName: 'user-tag',\n icon: [640, 512, [], \"f507\", \"M128 128a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zm224 0A128 128 0 1 0 96 128a128 128 0 1 0 256 0zM32 480c1.2-79.7 66.2-144 146.3-144h91.4c17.7 0 34.6 3.1 50.3 8.9l0-.7v-33c-15.9-4.7-32.8-7.2-50.3-7.2H178.3C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c10 0 18.8-4.9 24.2-12.5l-26.8-26.8c.2 2.4 .2 4.8 .3 7.2H32zm513.9 11.3l73.4-73.4c18.7-18.7 18.7-49.1 0-67.9L512 242.7c-12-12-28.3-18.7-45.3-18.7H384c-17.7 0-32 14.3-32 32v82.7c0 17 6.7 33.3 18.7 45.3L478.1 491.3c18.7 18.7 49.1 18.7 67.9 0zM384 256h82.7c8.5 0 16.6 3.4 22.6 9.4L596.7 372.7c6.2 6.2 6.2 16.4 0 22.6l-73.4 73.4c-6.2 6.2-16.4 6.2-22.6 0L393.4 361.4c-6-6-9.4-14.1-9.4-22.6V256zm56 40a16 16 0 1 0 -32 0 16 16 0 1 0 32 0z\"]\n};\nvar faRug = {\n prefix: 'fal',\n iconName: 'rug',\n icon: [640, 512, [], \"e569\", \"M16 64C7.2 64 0 71.2 0 80s7.2 16 16 16H32v64H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H32v48H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H32v48H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H32v64H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H32 48 64 576h16 16 16c8.8 0 16-7.2 16-16s-7.2-16-16-16H608V352h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H608V272h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H608V192h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H608V96h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H608 592 576 64 48 32 16zM64 96h64V416H64V336 256 176 96zm448 0h64v80 80 80 80H512V96zm-32 0V416H160V96H480z\"]\n};\nvar faPrintSlash = {\n prefix: 'fal',\n iconName: 'print-slash',\n icon: [640, 512, [], \"f686\", \"M480 463.9V480H160V352H338.3l-40.5-32H160c-17.7 0-32 14.3-32 32v32H96V256c0-17.7 14.3-32 32-32h48.2l-40.5-32H128c-35.3 0-64 28.7-64 64V384c0 17.7 14.3 32 32 32h32v64c0 17.7 14.3 32 32 32H480c14.8 0 27.3-10.1 30.9-23.7L480 463.9zM137.5 30.4L163 50.5C168.1 39.6 179.2 32 192 32H421.5c8.5 0 16.6 3.4 22.6 9.4l26.5 26.5c6 6 9.4 14.1 9.4 22.6V160h32V90.5c0-17-6.7-33.3-18.7-45.3L466.7 18.7C454.7 6.7 438.5 0 421.5 0H192c-23 0-43.2 12.2-54.5 30.4zM512 192H342.2l40.5 32H512c17.7 0 32 14.3 32 32v95.3l32 25.3V256c0-35.3-28.7-64-64-64zM496 296a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4z\"]\n};\nvar faEarthEurope = {\n prefix: 'fal',\n iconName: 'earth-europe',\n icon: [512, 512, [\"globe-europe\"], \"f7a2\", \"M477.7 288H439.4c-6.2 0-12.3-2.2-17.1-6.2l-15.9-13.2c-4.6-3.8-5.2-10.5-1.5-15.2c14.6-18.3 1.6-45.4-21.8-45.4h-3.7c-6.3 0-11.4-5.1-11.4-11.4v-9.4c0-18.4-22.2-27.6-35.2-14.6l-32.1 32.1c-2.6 2.6-6.8 2.6-9.4 0l-2.8-2.8c-6.3-6.3-14.8-9.8-23.7-9.8c-10.5 0-20.5 5-26.8 13.4l-10.7 14.3c-2 2.7-5.2 4.3-8.5 4.3c-5.9 0-10.7-4.8-10.7-10.7v-1.6c0-3.3 1.3-6.4 3.6-8.7l18.7-18.7c6.2-6.2 9.7-14.7 9.7-23.5c0-4.3 2.4-8.2 6.2-10.1l59.2-29.6c20.2-10.1 26.9-35.6 14.2-54.3c-8.9-13.2-25.1-19.1-40-15.3l4.5-17.8C394.5 47.5 480 141.8 480 256c0 10.9-.8 21.5-2.3 32zm-7 32c-3.3 11-7.4 21.7-12.3 32H438.6c-10.2 0-20.1-4.1-27.3-11.3l-4-4C396.6 326 382.2 320 367.1 320c-5.9 0-11.7-2.1-16.1-6l-26.6-22.8c-14.5-12.4-33-19.3-52.1-19.3H251.4c-15.8 0-31.2 4.7-44.4 13.4l-27.4 18.3c-22.3 14.8-35.6 39.8-35.6 66.6v3.2c0 21.2 8.4 41.6 23.4 56.6l16 16c11.5 11.5 27.1 17.9 43.3 17.9c11.4 0 21.2 6.5 26.1 16C130.6 478.3 32 378.6 32 256C32 133.8 129.9 34.4 251.5 32l-6.9 27.6c-4.9 19.7 15.4 36.2 33.7 27.3l8.1-3.9c2.4-1.2 5.3-.4 6.8 1.8c1.8 2.7 .8 6.3-2 7.8l-59.2 29.6c-14.7 7.3-23.9 22.3-23.9 38.7c0 .3-.1 .6-.4 .9L189 180.4c-8.3 8.3-13 19.6-13 31.3v1.6c0 23.6 19.1 42.7 42.7 42.7c13.4 0 26.1-6.3 34.1-17.1l10.7-14.3c.3-.4 .7-.6 1.2-.6c.4 0 .8 .2 1.1 .4l2.8 2.8c15.1 15.1 39.6 15.1 54.7 0l15.4-15.4c5.8 15.3 20 26.5 36.9 28c-9.5 17.6-5.6 40 10.3 53.3l15.9 13.2c10.5 8.8 23.8 13.6 37.5 13.6h31.3zm-30.9 64c-35.1 50.3-90.2 85.5-153.8 94c-6.8-26.4-30.8-46-59.3-46c-7.8 0-15.2-3.1-20.7-8.6l-16-16c-9-9-14.1-21.2-14.1-33.9v-3.2c0-16.1 8-31 21.4-39.9l27.4-18.3c7.9-5.3 17.1-8.1 26.6-8.1h20.9c11.5 0 22.5 4.1 31.2 11.6l26.6 22.8c10.3 8.8 23.4 13.7 37 13.7c6.6 0 12.9 2.6 17.5 7.3l4 4c13.2 13.2 31.2 20.7 49.9 20.7h1.2zM256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM187.3 100.7c-6.2-6.2-16.4-6.2-22.6 0l-32 32c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l32-32c6.2-6.2 6.2-16.4 0-22.6z\"]\n};\nvar faGlobeEurope = faEarthEurope;\nvar faCartFlatbedSuitcase = {\n prefix: 'fal',\n iconName: 'cart-flatbed-suitcase',\n icon: [640, 512, [\"luggage-cart\"], \"f59d\", \"M0 16C0 7.2 7.2 0 16 0H80c26.5 0 48 21.5 48 48V368c0 8.8 7.2 16 16 16h80H512 624c8.8 0 16 7.2 16 16s-7.2 16-16 16H567.4c5.4 9.4 8.6 20.3 8.6 32c0 35.3-28.7 64-64 64s-64-28.7-64-64c0-11.7 3.1-22.6 8.6-32H279.4c5.4 9.4 8.6 20.3 8.6 32c0 35.3-28.7 64-64 64s-64-28.7-64-64c0-11.7 3.1-22.6 8.6-32H144c-26.5 0-48-21.5-48-48V48c0-8.8-7.2-16-16-16H16C7.2 32 0 24.8 0 16zM512 416a32 32 0 1 0 0 64 32 32 0 1 0 0-64zM192 448a32 32 0 1 0 64 0 32 32 0 1 0 -64 0zM336 32c-8.8 0-16 7.2-16 16V80H448V48c0-8.8-7.2-16-16-16H336zM480 80h32c35.3 0 64 28.7 64 64V256c0 35.3-28.7 64-64 64H256c-35.3 0-64-28.7-64-64V144c0-35.3 28.7-64 64-64h32V48c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48V80zM272 112H256c-17.7 0-32 14.3-32 32V256c0 17.7 14.3 32 32 32h16V112zm32 176H464V112H304V288zm192 0h16c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32H496V288z\"]\n};\nvar faLuggageCart = faCartFlatbedSuitcase;\nvar faHandBackPointRibbon = {\n prefix: 'fal',\n iconName: 'hand-back-point-ribbon',\n icon: [448, 512, [], \"e1a0\", \"M152 0C121.1 0 96 25.1 96 56v8H16C9.8 64 4.2 67.5 1.6 73.1S-.3 85.2 3.5 90l24 30-24 30c-3.8 4.8-4.6 11.4-1.9 16.9S9.8 176 16 176H96v80.6c-3.2 2-6.4 4.2-9.5 6.5L64 280c-20.1 15.1-32 38.8-32 64v19.5c0 53 29.1 101.7 75.7 126.8l8.3 4.5c21 11.3 44.4 17.2 68.3 17.2H320c61.9 0 112-50.1 112-112v-8V304c0-35.3-28.7-64-64-64c-2.8 0-5.6 .2-8.3 .5c-11-19.4-31.8-32.5-55.7-32.5c-5.3 0-10.5 .7-15.5 1.9c-10.8-20.2-32-33.9-56.5-33.9c-8.5 0-16.6 1.7-24 4.7V56c0-30.9-25.1-56-56-56zM128 176h48v37.5c0 7.1 4.6 13.3 11.4 15.3s14-.6 18-6.5c5.8-8.7 15.6-14.3 26.7-14.3c15.6 0 28.6 11.2 31.4 25.9c1 5.1 4.4 9.5 9.2 11.6s10.3 1.8 14.8-.9c4.8-2.9 10.5-4.6 16.6-4.6c14.7 0 27.2 10 30.9 23.6c1.2 4.4 4.2 8.1 8.3 10.1s8.8 2.2 13.1 .6c3.6-1.4 7.6-2.2 11.8-2.2c17.7 0 32 14.3 32 32v88 8c0 44.2-35.8 80-80 80H184.3c-18.5 0-36.8-4.6-53.1-13.4l-8.3-4.5C86.6 442.6 64 404.7 64 363.5V344c0-15.1 7.1-29.3 19.2-38.4L96 296v48c0 8.8 7.2 16 16 16s16-7.2 16-16V265.7 264 176zm48-32H49.3l11.2-14c4.7-5.8 4.7-14.1 0-20L49.3 96H176v48zm0-80H128V56c0-13.3 10.7-24 24-24s24 10.7 24 24v8z\"]\n};\nvar faRectangleXmark = {\n prefix: 'fal',\n iconName: 'rectangle-xmark',\n icon: [512, 512, [62164, \"rectangle-times\", \"times-rectangle\", \"window-close\"], \"f410\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H448c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm180.7 84.7c6.2-6.2 16.4-6.2 22.6 0L256 233.4l52.7-52.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6L278.6 256l52.7 52.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L256 278.6l-52.7 52.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L233.4 256l-52.7-52.7c-6.2-6.2-6.2-16.4 0-22.6z\"]\n};\nvar faRectangleTimes = faRectangleXmark;\nvar faTimesRectangle = faRectangleXmark;\nvar faWindowClose = faRectangleXmark;\nvar faTireRugged = {\n prefix: 'fal',\n iconName: 'tire-rugged',\n icon: [512, 512, [], \"f634\", \"M229.8 32c-8.2 0-15.1 6.3-15.9 14.5l-.3 3.1c-.6 6.6-5.2 12.1-11.6 13.9c-15.5 4.3-30.2 10.5-43.9 18.2c-5.8 3.2-12.9 2.6-18-1.6l-2.4-2c-6.4-5.2-15.7-4.8-21.5 1L79.1 116.1c-5.8 5.8-6.3 15.1-1 21.5l2 2.4c4.2 5.1 4.8 12.3 1.6 18c-7.7 13.7-13.9 28.4-18.2 43.9c-1.8 6.4-7.3 11-13.9 11.6l-3.1 .3c-8.2 .8-14.5 7.7-14.5 15.9v52.4c0 8.2 6.3 15.1 14.5 15.9l3.1 .3c6.6 .6 12.1 5.2 13.9 11.6c4.3 15.5 10.5 30.2 18.2 43.9c3.2 5.8 2.6 12.9-1.6 18l-2 2.4c-5.2 6.4-4.8 15.7 1 21.5l37.1 37.1c5.8 5.8 15.1 6.3 21.5 1l2.4-2c5.1-4.2 12.3-4.8 18-1.6c13.7 7.7 28.4 13.9 43.9 18.2c6.4 1.8 11 7.3 11.6 13.9l.3 3.1c.8 8.2 7.7 14.5 15.9 14.5h52.4c8.2 0 15.1-6.3 15.9-14.5l.3-3.1c.6-6.6 5.2-12.1 11.6-13.9c15.5-4.3 30.2-10.5 43.9-18.2c5.8-3.2 12.9-2.6 18 1.6l2.4 2c6.4 5.2 15.7 4.8 21.5-1l37.1-37.1c5.8-5.8 6.3-15.1 1-21.5l-2-2.4c-4.2-5.1-4.8-12.3-1.6-18c7.7-13.7 13.9-28.4 18.2-43.9c1.8-6.4 7.3-11 13.9-11.6l3.1-.3c8.2-.8 14.5-7.7 14.5-15.9V229.8c0-8.2-6.3-15.1-14.5-15.9l-3.1-.3c-6.6-.6-12.1-5.2-13.9-11.6c-4.3-15.5-10.5-30.2-18.2-43.9c-3.2-5.8-2.6-12.9 1.6-18l2-2.4c5.2-6.4 4.8-15.7-1-21.5L395.8 79.1c-5.8-5.8-15.1-6.3-21.5-1L372 80c-5.1 4.2-12.3 4.8-18 1.6c-13.7-7.7-28.4-13.9-43.9-18.2c-6.4-1.8-11-7.3-11.6-13.9l-.3-3.1c-.8-8.2-7.7-14.5-15.9-14.5H229.8zm-46.4 3.6C188.9 14.9 207.7 0 229.8 0h52.4c22 0 40.9 14.9 46.4 35.6c11 3.6 21.7 8.1 31.9 13.2c18.5-10.7 42.4-8 58 7.6l37.1 37.1c15.6 15.6 18.3 39.4 7.6 58c5.2 10.2 9.6 20.9 13.2 31.9c20.7 5.5 35.6 24.3 35.6 46.4v52.4c0 22-14.9 40.9-35.6 46.4c-3.6 11-8.1 21.7-13.2 31.9c10.7 18.5 8 42.4-7.6 58l-37.1 37.1c-15.6 15.6-39.4 18.3-58 7.6c-10.2 5.2-20.9 9.6-31.9 13.2c-5.5 20.7-24.3 35.6-46.4 35.6H229.8c-22 0-40.9-14.9-46.4-35.6c-11-3.6-21.7-8.1-31.9-13.2c-18.5 10.7-42.4 8-58-7.6L56.4 418.5c-15.6-15.6-18.3-39.5-7.6-58c-5.2-10.2-9.6-20.9-13.2-31.9C14.9 323.1 0 304.3 0 282.2V229.8c0-22 14.9-40.9 35.6-46.4c3.6-11 8.1-21.7 13.2-31.9c-10.7-18.5-8-42.4 7.6-58L93.5 56.4c15.6-15.6 39.5-18.3 58-7.6c10.2-5.2 20.9-9.6 31.9-13.2zM96 256a160 160 0 1 1 320 0A160 160 0 1 1 96 256zM256 384a128 128 0 1 0 0-256 128 128 0 1 0 0 256zm0-224a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm-75.9 96.6a24 24 0 1 1 14.8-45.7 24 24 0 1 1 -14.8 45.7zm167.2-30.2a24 24 0 1 1 -45.7 14.8 24 24 0 1 1 45.7-14.8zm-29.6 73.8a24 24 0 1 1 -38.8 28.2 24 24 0 1 1 38.8-28.2zM199.6 333.7a24 24 0 1 1 28.2-38.8 24 24 0 1 1 -28.2 38.8z\"]\n};\nvar faLightbulbDollar = {\n prefix: 'fal',\n iconName: 'lightbulb-dollar',\n icon: [384, 512, [], \"f670\", \"M336 176c0 30.6-9.5 58.8-25.7 82.1c-4.1 5.9-8.8 12.3-13.6 19c-12.7 17.5-27.1 37.2-38 57.1c-8.9 16.2-13.7 33.3-16.2 49.9H275c2.2-12 5.9-23.7 11.8-34.5c9.9-18 22.2-34.9 34.5-51.8l0 0 0 0 0 0c5.2-7.1 10.4-14.2 15.4-21.4c19.8-28.5 31.4-63 31.4-100.3C368 78.8 289.2 0 192 0S16 78.8 16 176c0 37.3 11.6 71.9 31.4 100.3c5 7.2 10.2 14.3 15.4 21.4l0 0 0 0 0 0c12.3 16.8 24.6 33.7 34.5 51.8c5.9 10.8 9.6 22.5 11.8 34.5h32.4c-2.5-16.6-7.3-33.7-16.2-49.9c-10.9-20-25.3-39.7-38-57.1l0 0c-4.9-6.7-9.5-13-13.6-19C57.5 234.8 48 206.6 48 176C48 96.5 112.5 32 192 32s144 64.5 144 144zM146.7 448h90.5c-6.6 18.6-24.4 32-45.3 32s-38.7-13.4-45.3-32zM112 432c0 44.2 35.8 80 80 80s80-35.8 80-80v-5.3c0-5.9-4.8-10.7-10.7-10.7H122.7c-5.9 0-10.7 4.8-10.7 10.7V432zM208 88c0-8.8-7.2-16-16-16s-16 7.2-16 16v17.3c-8.3 1.5-16.7 4.3-24.1 8.7c-13 7.7-23.9 21.1-23.8 40.5c.1 18.4 10.8 30.1 22.7 37.3c10.5 6.3 23.8 10.4 34.8 13.7l0 0 0 0 1.6 .5c12.5 3.8 22.2 6.9 29 11.2c5.9 3.7 7.7 7 7.7 11.6c.1 6.6-2.7 10.8-7.8 14c-5.8 3.6-14.5 5.6-23.7 5.3c-11.8-.4-22.7-4.1-36.3-8.7l0 0 0 0 0 0c-2.3-.8-4.7-1.6-7.1-2.4c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2c2 .7 4.1 1.4 6.2 2.1l0 0c9.2 3.2 19.7 6.8 30.9 8.9V296c0 8.8 7.2 16 16 16s16-7.2 16-16V278.9c8.7-1.4 17.4-4.3 25.1-9.1c13.3-8.3 23.2-22.2 22.9-41.6c-.2-18.5-10.6-30.6-22.7-38.2c-11-6.9-25-11.2-36.3-14.6l0 0 0 0-.5-.1c-12.6-3.8-22.3-6.8-29.2-10.9c-6-3.6-7.2-6.4-7.3-10.1c0-5.4 2.4-9.4 8.1-12.8c6.2-3.7 15.1-5.7 23.6-5.5c10.1 .2 21 2.3 32.1 5.3c8.5 2.3 17.3-2.8 19.6-11.3s-2.8-17.3-11.3-19.6c-7.5-2-15.6-3.9-24.1-5.1V88z\"]\n};\nvar faCowbell = {\n prefix: 'fal',\n iconName: 'cowbell',\n icon: [448, 512, [], \"f8b3\", \"M176 32h96c8.8 0 16 7.2 16 16V96H160V48c0-8.8 7.2-16 16-16zM128 48V96H112c-21.4 0-40.3 14.2-46.2 34.8l-64 224c-4.1 14.5-1.2 30.1 7.8 42.1S32.9 416 48 416H400c15.1 0 29.3-7.1 38.3-19.1s12-27.6 7.8-42.1l-64-224C376.3 110.2 357.4 96 336 96H320V48c0-26.5-21.5-48-48-48H176c-26.5 0-48 21.5-48 48zm16 80H304h32c7.1 0 13.4 4.7 15.4 11.6l64 224c1.4 4.8 .4 10-2.6 14s-7.8 6.4-12.8 6.4H48c-5 0-9.8-2.4-12.8-6.4s-4-9.2-2.6-14l64-224c2-6.9 8.2-11.6 15.4-11.6h32zm80 384c35.3 0 64-28.7 64-64H256c0 17.7-14.3 32-32 32s-32-14.3-32-32H160c0 35.3 28.7 64 64 64z\"]\n};\nvar faBahtSign = {\n prefix: 'fal',\n iconName: 'baht-sign',\n icon: [320, 512, [], \"e0ac\", \"M144 0c-8.8 0-16 7.2-16 16V64H37.6C16.8 64 0 80.8 0 101.6V240v32V406.3c0 23 18.7 41.7 41.7 41.7H128v48c0 8.8 7.2 16 16 16s16-7.2 16-16V448h56c57.4 0 104-46.6 104-104c0-44.7-28.2-82.8-67.8-97.5C274.1 227.4 288 199.3 288 168c0-57.4-46.6-104-104-104H160V16c0-8.8-7.2-16-16-16zM128 96V240H32V101.6c0-3.1 2.5-5.6 5.6-5.6H128zm32 144V96h24c39.8 0 72 32.2 72 72s-32.2 72-72 72H160zm-32 32V416H41.7c-5.4 0-9.7-4.4-9.7-9.7V272h96zm32 144V272h24 32c39.8 0 72 32.2 72 72s-32.2 72-72 72H160z\"]\n};\nvar faCorner = {\n prefix: 'fal',\n iconName: 'corner',\n icon: [448, 512, [], \"e3fe\", \"M0 176c0-8.8 7.2-16 16-16H400c26.5 0 48 21.5 48 48V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V208c0-8.8-7.2-16-16-16H16c-8.8 0-16-7.2-16-16z\"]\n};\nvar faChevronsRight = {\n prefix: 'fal',\n iconName: 'chevrons-right',\n icon: [512, 512, [\"chevron-double-right\"], \"f324\", \"M75.3 459.3l192-192c6.2-6.2 6.2-16.4 0-22.6l-192-192c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L233.4 256 52.7 436.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0zm192 0l192-192c6.2-6.2 6.2-16.4 0-22.6l-192-192c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L425.4 256 244.7 436.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0z\"]\n};\nvar faChevronDoubleRight = faChevronsRight;\nvar faBookOpen = {\n prefix: 'fal',\n iconName: 'book-open',\n icon: [576, 512, [128214, 128366], \"f518\", \"M156 32c44.6 0 89.7 8.6 132 22.6C330.3 40.6 375.4 32 420 32c55.4 0 107.2 14.6 128.9 21.6C565.7 59 576 74.5 576 91.1V402.5c0 26.9-25.1 44.8-49 40.6c-18.5-3.2-51.3-7.2-99-7.2c-58.9 0-97.8 24.3-111.2 34.1c-7.5 5.5-17.2 9.6-28.2 9.9c-.2 0-.5 0-.7 0c-.1 0-.1 0-.2 0c-.1 0-.2 0-.3 0c-10.2 0-19.6-3.4-27-8.4C245.5 461.5 202 436 148 436c-45.2 0-80.1 4.4-100 7.7c-24 4-48-14.1-48-40.2V91.1C0 74.5 10.3 59 27.1 53.6C48.8 46.6 100.6 32 156 32zM304 440c20.3-13.5 63.1-36 124-36c49.5 0 84.1 4.2 104.4 7.6c2.5 .4 5.7-.3 8.2-2.3c2.2-1.8 3.4-4 3.4-6.8V91.1c0-3.5-2.1-6.1-4.9-7C518.6 77.5 470.5 64 420 64c-38.6 0-78.1 7.1-116 19V440zM272 83c-37.9-12-77.4-19-116-19C105.5 64 57.4 77.5 36.9 84c-2.8 .9-4.9 3.6-4.9 7V403.5c0 2.7 1.1 4.9 3.1 6.5c2.2 1.8 5.1 2.5 7.6 2.1c21.3-3.6 58-8.2 105.3-8.2c56.8 0 102.8 23.7 124 36.9V83z\"]\n};\nvar faBookJournalWhills = {\n prefix: 'fal',\n iconName: 'book-journal-whills',\n icon: [448, 512, [\"journal-whills\"], \"f66a\", \"M64 0C28.7 0 0 28.7 0 64L0 448l0 0c0 35.3 28.7 64 64 64H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H416V413.3c18.6-6.6 32-24.4 32-45.3V48c0-26.5-21.5-48-48-48H64zM384 416v64H64c-17.7 0-32-14.3-32-32s14.3-32 32-32H384zM64 384c-11.7 0-22.6 3.1-32 8.6L32 64c0-17.7 14.3-32 32-32H400c8.8 0 16 7.2 16 16V368c0 8.8-7.2 16-16 16H64zM190.5 86.3c-3.6-4.2-9.7-5.4-14.6-2.8C130.8 106.8 100 153.8 100 208c0 77.3 62.7 140 140 140s140-62.7 140-140c0-54.2-30.8-101.2-75.9-124.5c-4.9-2.5-11-1.4-14.6 2.8s-3.9 10.3-.7 14.8C295.9 111 300 123 300 136c0 17.8-7.7 33.7-20 44.7c-4.9 4.4-5.4 11.9-1 16.9c8.1 9.2 13 21.2 13 34.4c0 23.2-15.2 42.9-36.3 49.6l-.9-23.4 2.2 2.2c3.1 3.1 8.2 3.1 11.3 0s3.1-8.2 0-11.3l-9-9H272c4.4 0 8-3.6 8-8s-3.6-8-8-8H259.3l9-9c3.1-3.1 3.1-8.2 0-11.3s-8.2-3.1-11.3 0l-4.2 4.2L248 87.7c-.2-4.3-3.7-7.7-8-7.7s-7.8 3.4-8 7.7l-4.8 120.2-4.2-4.2c-3.1-3.1-8.2-3.1-11.3 0s-3.1 8.2 0 11.3l9 9H208c-4.4 0-8 3.6-8 8s3.6 8 8 8h12.7l-9 9c-3.1 3.1-3.1 8.2 0 11.3s8.2 3.1 11.3 0l2.2-2.2-.9 23.4c-21-6.7-36.3-26.3-36.3-49.6c0-13.2 4.9-25.2 13-34.4c4.4-4.9 3.9-12.5-1-16.9c-12.3-11-20-27-20-44.7c0-13 4.1-25 11.1-34.8c3.2-4.5 2.9-10.6-.7-14.8zm133.1 41.2c11 11.4 19.7 25.1 25.3 40.3l-18.5 18.5c-3.1 3.1-3.1 8.2 0 11.3s8.2 3.1 11.3 0l12.2-12.2c1.4 7.3 2.2 14.8 2.2 22.5l0 .7-25.7 25.7c-3.1 3.1-3.1 8.2 0 11.3s8.2 3.1 11.3 0L353 234.3C341.1 285.7 295 324 240 324s-101.1-38.3-113-89.7l11.3 11.3c3.1 3.1 8.2 3.1 11.3 0s3.1-8.2 0-11.3L124 208.7l0-.7c0-7.7 .8-15.2 2.2-22.5l12.2 12.2c3.1 3.1 8.2 3.1 11.3 0s3.1-8.2 0-11.3l-18.5-18.5c5.6-15.2 14.3-28.8 25.3-40.3c-.3 2.8-.4 5.6-.4 8.4c0 20.9 7.6 40 20.2 54.7C168.5 202.6 164 216.8 164 232c0 42 34 76 76 76s76-34 76-76c0-15.2-4.5-29.4-12.2-41.3C316.4 176 324 156.9 324 136c0-2.8-.1-5.7-.4-8.4z\"]\n};\nvar faJournalWhills = faBookJournalWhills;\nvar faInhaler = {\n prefix: 'fal',\n iconName: 'inhaler',\n icon: [576, 512, [], \"f5f9\", \"M542.5 93.5L429.5 65.3l-16.7 62.2-25.8-25.8 14-51.8c3.4-12.6 16.3-20.2 29-17l128 32c6.3 1.6 11.6 5.6 14.9 11.2s4.1 12.2 2.4 18.4L533.2 248l-25.8-25.8L542.5 93.5zM380.7 186l-9.3 34.5c-5.6 21-24.6 35.5-46.4 35.5H232c-4.4 0-8 3.6-8 8V440c0 4.4 3.6 8 8 8H456c3.6 0 6.8-2.4 7.7-5.9l37.1-136L380.7 186zM530 290c4.1 4.1 5.6 10 4.1 15.5l-39.5 145C489.8 467.9 474 480 456 480H232c-22.1 0-40-17.9-40-40V264c0-22.1 17.9-40 40-40h93.1c7.2 0 13.6-4.9 15.4-11.8L357 150.9c3.2-11.9 18.1-15.9 26.8-7.2L530 290zM8 256a24 24 0 1 1 48 0A24 24 0 1 1 8 256zm96 48a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM32 328a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm72 72a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM32 424a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faHandcuffs = {\n prefix: 'fal',\n iconName: 'handcuffs',\n icon: [640, 512, [], \"e4f8\", \"M248 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM192 48a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm-32 72c13.3 0 24 10.7 24 24c22.1 0 40 17.9 40 40v21.3c56.5 24.7 96 81.1 96 146.7c0 88.4-71.6 160-160 160S0 440.4 0 352c0-65.6 39.5-122 96-146.7V184c0-22.1 17.9-40 40-40c0-13.3 10.7-24 24-24zm32 75.2V184c0-4.4-3.6-8-8-8H136c-4.4 0-8 3.6-8 8v11.2c10.3-2.1 21-3.2 32-3.2s21.7 1.1 32 3.2zM288 352A128 128 0 1 0 32 352a128 128 0 1 0 256 0zm-64 0A64 64 0 1 0 96 352a64 64 0 1 0 128 0zM64 352a96 96 0 1 1 192 0A96 96 0 1 1 64 352zm416 64a64 64 0 1 0 0-128 64 64 0 1 0 0 128zm0-160a96 96 0 1 1 0 192 96 96 0 1 1 0-192zm-64-72c0-22.1 17.9-40 40-40c0-13.3 10.7-24 24-24s24 10.7 24 24c22.1 0 40 17.9 40 40v21.3c56.5 24.7 96 81.1 96 146.7c0 88.4-71.6 160-160 160c-47.4 0-90-20.6-119.3-53.3c-5.9-6.6-5.3-16.7 1.3-22.6s16.7-5.3 22.6 1.3C408 463.5 442.1 480 480 480c70.7 0 128-57.3 128-128s-57.3-128-128-128c-37.9 0-72 16.5-95.4 42.7c-5.9 6.6-16 7.1-22.6 1.3s-7.1-16-1.3-22.6c15.2-17 34-30.7 55.3-40V184zm32 11.2c10.3-2.1 21-3.2 32-3.2s21.7 1.1 32 3.2V184c0-4.4-3.6-8-8-8H456c-4.4 0-8 3.6-8 8v11.2zM368 0a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm80 48a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faSnake = {\n prefix: 'fal',\n iconName: 'snake',\n icon: [512, 512, [128013], \"f716\", \"M293.9 88H277 180C115.9 88 64 139.9 64 204s51.9 116 116 116H344c30.9 0 56 25.1 56 56s-25.1 56-56 56H256.1h0l-.1 0 0 0-140.8 0c-8.4 0-16.8 1.7-24.6 4.9L44.8 456l45.8 19.1c7.8 3.3 16.2 4.9 24.6 4.9h60.7 0l.1 0 0 0 168 0c57.4 0 104-46.6 104-104s-46.6-104-104-104H180c-37.6 0-68-30.4-68-68s30.4-68 68-68h92 17.1l9.5 14.2c14.1 21.1 37.7 33.8 63.1 33.8h4.5c12.3 0 24.5-2.7 35.6-7.9L455 151.3c15.3-7.1 25-22.5 25-39.3s-9.8-32.2-25-39.3L400.5 47.3C390.2 42.5 379 40 367.7 40c-25.8 0-49.9 12.8-64.2 34l-9.5 14zM176 512l-.1 0H115.2c-12.7 0-25.2-2.5-36.9-7.4L14.8 478.2C5.8 474.4 0 465.7 0 456s5.8-18.4 14.8-22.2l63.5-26.5c11.7-4.9 24.2-7.4 36.9-7.4H256l.1 0H344c13.3 0 24-10.7 24-24s-10.7-24-24-24H180C98.3 352 32 285.7 32 204S98.3 56 180 56h97c20.3-29.9 54.2-48 90.7-48c16 0 31.9 3.5 46.4 10.3l54.4 25.4C495 56.1 512 82.7 512 112s-17 55.9-43.5 68.3l-53.1 24.8c-8.7 4-17.8 7-27.1 8.8c-7.2 1.4-14.6 2.1-22 2.1h-4.5c-6 0-11.9-.5-17.7-1.5c-8-1.3-15.7-3.5-23.1-6.5c-19.7-8-36.8-21.8-48.9-40H180c-19.9 0-36 16.1-36 36s16.1 36 36 36H315.1 344c6 0 11.9 .4 17.7 1.1c1.5 .2 3 .4 4.5 .7c6.8 1.1 13.5 2.8 19.9 4.8C440.6 264.4 480 315.6 480 376c0 75.1-60.9 136-136 136H176zM352 80a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm16 48a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faTriangleExclamation = {\n prefix: 'fal',\n iconName: 'triangle-exclamation',\n icon: [512, 512, [9888, \"exclamation-triangle\", \"warning\"], \"f071\", \"M34.5 420.4c-1.6 2.8-2.5 6-2.5 9.3c0 10.2 8.2 18.4 18.4 18.4H461.6c10.2 0 18.4-8.2 18.4-18.4c0-3.3-.9-6.4-2.5-9.3L276.5 75.8C272.2 68.5 264.4 64 256 64s-16.2 4.5-20.5 11.8L34.5 420.4zM6.9 404.2l201-344.6C217.9 42.5 236.2 32 256 32s38.1 10.5 48.1 27.6l201 344.6c4.5 7.7 6.9 16.5 6.9 25.4c0 27.8-22.6 50.4-50.4 50.4H50.4C22.6 480 0 457.4 0 429.6c0-8.9 2.4-17.7 6.9-25.4zM256 160c8.8 0 16 7.2 16 16V304c0 8.8-7.2 16-16 16s-16-7.2-16-16V176c0-8.8 7.2-16 16-16zM232 384a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faExclamationTriangle = faTriangleExclamation;\nvar faWarning = faTriangleExclamation;\nvar faNoteMedical = {\n prefix: 'fal',\n iconName: 'note-medical',\n icon: [448, 512, [], \"e200\", \"M384 64c17.7 0 32 14.3 32 32V309.5c0 3.6-.6 7.2-1.8 10.5H336c-26.5 0-48 21.5-48 48v78.2c-3.3 1.2-6.9 1.8-10.5 1.8H64c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32H384zm2.7 288L320 418.7V368c0-8.8 7.2-16 16-16h50.7zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H277.5c17 0 33.3-6.7 45.3-18.7L429.3 354.7c12-12 18.7-28.3 18.7-45.3V96c0-35.3-28.7-64-64-64H64zM176 144v32H144c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32h32v32c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V272h32c17.7 0 32-14.3 32-32V208c0-17.7-14.3-32-32-32H272V144c0-17.7-14.3-32-32-32H208c-17.7 0-32 14.3-32 32zm64 0v48c0 8.8 7.2 16 16 16h48v32H256c-8.8 0-16 7.2-16 16v48H208V256c0-8.8-7.2-16-16-16H144V208h48c4.2 0 8.3-1.7 11.3-4.7s4.7-7.1 4.7-11.3V144h32z\"]\n};\nvar faDatabase = {\n prefix: 'fal',\n iconName: 'database',\n icon: [448, 512, [], \"f1c0\", \"M416 416c0 2.4-1 7.4-8.4 14.9c-7.5 7.6-19.9 15.9-37.8 23.6C334.1 469.8 282.6 480 224 480s-110.1-10.2-145.8-25.5c-17.9-7.7-30.3-16-37.8-23.6C33 423.4 32 418.4 32 416V331.5c17.2 8.9 38.1 16.3 61.2 21.9C130.7 362.7 175.8 368 224 368s93.3-5.3 130.8-14.5c23.1-5.7 44-13 61.2-21.9V416zm0-212.5v90.6c-14.5 10.6-37.9 20.6-68.9 28.3C312.5 330.9 270 336 224 336s-88.5-5.1-123.1-13.6c-31-7.6-54.4-17.7-68.9-28.3V203.5c17.2 8.9 38.1 16.3 61.2 21.9C130.7 234.7 175.8 240 224 240s93.3-5.3 130.8-14.5c23.1-5.7 44-13 61.2-21.9zm0-37.4c-14.5 10.6-37.9 20.6-68.9 28.3C312.5 202.9 270 208 224 208s-88.5-5.1-123.1-13.6c-31-7.6-54.4-17.7-68.9-28.3V96c0-2.4 1-7.4 8.4-14.9c7.5-7.6 19.9-15.9 37.8-23.6C113.9 42.2 165.4 32 224 32s110.1 10.2 145.8 25.5c17.9 7.7 30.3 16 37.8 23.6C415 88.6 416 93.6 416 96v70.1zM448 416V96C448 43 347.7 0 224 0S0 43 0 96V416c0 53 100.3 96 224 96s224-43 224-96z\"]\n};\nvar faDownLeft = {\n prefix: 'fal',\n iconName: 'down-left',\n icon: [384, 512, [], \"e16a\", \"M72 384c-4.4 0-8-3.6-8-8V174.6c0-3.7 3-6.6 6.6-6.6c1.8 0 3.4 .7 4.7 1.9l61.4 61.4c6.2 6.2 16.4 6.2 22.6 0L272 118.6c4.2-4.2 10-6.6 16-6.6s11.8 2.4 16 6.6L329.4 144c4.2 4.2 6.6 10 6.6 16s-2.4 11.8-6.6 16L216.7 288.7c-3 3-4.7 7.1-4.7 11.3s1.7 8.3 4.7 11.3l61.4 61.4c1.2 1.2 1.9 2.9 1.9 4.7c0 3.7-3 6.6-6.6 6.6H72zm-40-8c0 22.1 17.9 40 40 40H273.4c21.3 0 38.6-17.3 38.6-38.6c0-10.2-4.1-20.1-11.3-27.3L250.6 300 352 198.6c10.2-10.2 16-24.1 16-38.6s-5.8-28.4-16-38.6L326.6 96C316.4 85.8 302.5 80 288 80s-28.4 5.8-38.6 16L148 197.4 97.9 147.3C90.7 140.1 80.9 136 70.6 136C49.3 136 32 153.3 32 174.6V376z\"]\n};\nvar faShare = {\n prefix: 'fal',\n iconName: 'share',\n icon: [512, 512, [\"mail-forward\"], \"f064\", \"M296 160c13.3 0 24-10.7 24-24v-8V112 64L480 208 320 352l0-48V288v-8c0-13.3-10.7-24-24-24h-8H192c-70.7 0-128 57.3-128 128c0 8.3 .7 16.1 2 23.2C47.9 383.7 32 350.1 32 304c0-79.5 64.5-144 144-144H288h8zm-8 144v16 32c0 12.6 7.4 24.1 19 29.2s25 3 34.4-5.4l160-144c6.7-6.1 10.6-14.7 10.6-23.8s-3.8-17.7-10.6-23.8l-160-144c-9.4-8.5-22.9-10.6-34.4-5.4s-19 16.6-19 29.2V96v16 16H256 176C78.8 128 0 206.8 0 304C0 417.3 81.5 467.9 100.2 478.1c2.5 1.4 5.3 1.9 8.1 1.9c10.9 0 19.7-8.9 19.7-19.7c0-7.5-4.3-14.4-9.8-19.5C108.8 431.9 96 414.4 96 384c0-53 43-96 96-96h64 32v16z\"]\n};\nvar faMailForward = faShare;\nvar faFaceThinking = {\n prefix: 'fal',\n iconName: 'face-thinking',\n icon: [512, 512, [], \"e39b\", \"M32 256C32 132.3 132.3 32 256 32s224 100.3 224 224c0 108.4-76.9 198.8-179.2 219.5c-8.7 1.8-14.3 10.2-12.5 18.9s10.2 14.3 18.9 12.5C424 483.2 512 379.9 512 256C512 114.6 397.4 0 256 0S0 114.6 0 256c0 23.6 3.2 46.5 9.2 68.3c2.4 8.5 11.2 13.5 19.7 11.2s13.5-11.2 11.2-19.7c-5.2-19-8.1-39-8.1-59.7zm165.1 .8c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2l70.5 23.5L160 348.8V320c0-26.5-21.5-48-48-48s-48 21.5-48 48V440c0 39.8 32.2 72 72 72h47.8c29.4 0 55.9-17.9 66.9-45.3l23.9-59.6 47-18.4c20.9-8.2 32.8-29.4 30.1-50.7c-2.3-18.7-15.1-34.7-33.3-40.8L197.1 256.8zM320 342.7c0 .4 0 .9 0 1.3h0c0 6.4-3.9 12.4-10.2 14.9l-53.5 20.9c-4.3 1.7-7.7 5.2-9.2 9.5c-.1 .2-.1 .4-.2 .6l-26 64.9C214.8 470 200.1 480 183.8 480H136c-22.1 0-40-17.9-40-40V320c0-8.8 7.2-16 16-16s16 7.2 16 16v52.2c0 5.3 2.6 10.2 7 13.2s9.9 3.6 14.9 1.7l148.3-58c8.2-3.2 17.5 .8 20.7 9.1c.6 1.5 .9 3 1.1 4.5zM200.4 192a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm136 40a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm-120-87.2l13.2 11.3c6.7 5.8 16.8 5 22.6-1.7s5-16.8-1.7-22.6l-13.2-11.3C206.4 94.1 162.3 90 127.1 110.1l-7.1 4c-7.7 4.4-10.3 14.2-6 21.8s14.2 10.3 21.8 6l7.1-4c23.5-13.4 52.9-10.6 73.4 7z\"]\n};\nvar faTurnDownRight = {\n prefix: 'fal',\n iconName: 'turn-down-right',\n icon: [512, 512, [], \"e455\", \"M352 208l0-57.3c0-3.7 3-6.7 6.7-6.7c1.9 0 3.7 .8 5 2.2L476.2 272 363.7 397.8c-1.3 1.4-3.1 2.2-5 2.2c-3.7 0-6.7-3-6.7-6.7l0-57.3c0-17.7-14.3-32-32-32l-176 0C82.1 304 32 253.9 32 192L32 80c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 112c0 26.5 21.5 48 48 48l176 0c17.7 0 32-14.3 32-32zm154.7 78c3.4-3.8 5.3-8.8 5.3-14s-1.9-10.1-5.3-14L387.5 124.9c-7.3-8.2-17.8-12.9-28.8-12.9c-21.4 0-38.7 17.3-38.7 38.7l0 25.3 0 32-32 0-144 0c-8.8 0-16-7.2-16-16l0-112c0-26.5-21.5-48-48-48L48 32C21.5 32 0 53.5 0 80L0 192c0 79.5 64.5 144 144 144l144 0 32 0 0 32 0 25.3c0 21.4 17.3 38.7 38.7 38.7c11 0 21.5-4.7 28.8-12.9L506.7 286z\"]\n};\nvar faBottleDroplet = {\n prefix: 'fal',\n iconName: 'bottle-droplet',\n icon: [320, 512, [], \"e4c4\", \"M72 16C72 7.2 79.2 0 88 0l8 0V0h32 64 32 8c8.8 0 16 7.2 16 16s-7.2 16-16 16l-8 0V145.1c38.3 22.1 64 63.5 64 110.9V448c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V256c0-47.4 25.7-88.7 64-110.9V32l-8 0c-8.8 0-16-7.2-16-16zM192 32l-64 0V145.1c0 11.4-6.1 22-16 27.7C83.2 189.5 64 220.5 64 256V448c0 17.7 14.3 32 32 32H224c17.7 0 32-14.3 32-32V256c0-35.5-19.2-66.5-48-83.2c-9.9-5.7-16-16.3-16-27.7V32zm0 305c0-5.6-4-17.2-14.6-33.5c-5.4-8.3-11.5-16.5-17.4-23.6c-5.9 7.2-12 15.3-17.4 23.6C132 319.8 128 331.4 128 337c0 16.6 13.8 31 32 31c11.5 0 19.3-3.4 23.8-7.5c4-3.6 8.2-10.3 8.2-23.5zm32 0c0 42-28.7 63-64 63s-64-28.2-64-63c0-31 34.9-73.5 53.2-93.6c5.9-6.5 15.8-6.5 21.6 0C189.1 263.5 224 306 224 337z\"]\n};\nvar faMaskFace = {\n prefix: 'fal',\n iconName: 'mask-face',\n icon: [640, 512, [], \"e1d7\", \"M320 96c20.9 0 41.3 6.2 58.6 17.8l37.1 24.8c21 14 45.7 21.5 71 21.5H504h8v64c0 106-86 192-192 192s-192-86-192-192V160h8 16 1.2c25.3 0 50-7.5 71-21.5l37.1-24.8C278.7 102.2 299.1 96 320 96zM153.2 128H152 136h-8H48c-26.5 0-48 21.5-48 48v85c0 51.4 35 96.2 84.8 108.7l71.3 17.8 14.9 3.7c39.6 35.3 91.8 56.8 149 56.8s109.4-21.5 149-56.8l14.9-3.7 71.3-17.8C605 357.2 640 312.4 640 261V176c0-26.5-21.5-48-48-48H512h-8H486.8c-19 0-37.5-5.6-53.3-16.1L396.4 87.1C373.8 72 347.2 64 320 64s-53.8 8-76.4 23.1l-37.1 24.8c-15.8 10.5-34.3 16.1-53.3 16.1zM48 160H96v64c0 46.3 14 89.3 38.1 125L92.6 338.7C57 329.8 32 297.8 32 261V176c0-8.8 7.2-16 16-16zM547.4 338.7L505.9 349c24.1-35.7 38.1-78.7 38.1-125V160h48c8.8 0 16 7.2 16 16v85c0 36.7-25 68.7-60.6 77.6zM208 192c-8.8 0-16 7.2-16 16s7.2 16 16 16H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H208zm-16 80c0 8.8 7.2 16 16 16H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H208c-8.8 0-16 7.2-16 16zm48 48c-8.8 0-16 7.2-16 16s7.2 16 16 16H400c8.8 0 16-7.2 16-16s-7.2-16-16-16H240z\"]\n};\nvar faHillRockslide = {\n prefix: 'fal',\n iconName: 'hill-rockslide',\n icon: [576, 512, [], \"e508\", \"M238.5 127.7c-5.5-9.7-5.5-21.6 0-31.4l27-48C271.1 38.2 281.8 32 293.4 32h53.3c11.6 0 22.2 6.2 27.9 16.3l27 48c5.5 9.7 5.5 21.6 0 31.4l-27 48c-5.7 10.1-16.3 16.3-27.9 16.3H293.4c-11.6 0-22.2-6.2-27.9-16.3l-27-48zM293.4 64l-27 48 27 48 53.3 0 27-48-27-48-53.3 0zM32 118.6L32 448c0 17.7 14.3 32 32 32H393.4L32 118.6zm-32 0C0 90.1 34.5 75.8 54.6 96L416 457.4c20.2 20.2 5.9 54.6-22.6 54.6H64c-35.3 0-64-28.7-64-64V118.6zM432.3 406.5c-10.1-5.7-16.3-16.3-16.3-27.9V325.4c0-11.6 6.2-22.2 16.3-27.9l48-27c9.7-5.5 21.6-5.5 31.4 0l48 27c10.1 5.7 16.3 16.3 16.3 27.9v53.3c0 11.6-6.2 22.2-16.3 27.9l-48 27c-9.7 5.5-21.6 5.5-31.4 0l-48-27zm63.7-.9l48-27V325.4l-48-27-48 27v53.3l48 27zM128 64a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM352 256a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"]\n};\nvar faScannerKeyboard = {\n prefix: 'fal',\n iconName: 'scanner-keyboard',\n icon: [512, 512, [], \"f489\", \"M128 16V48c0 8.8 7.2 16 16 16s16-7.2 16-16V16c0-8.8-7.2-16-16-16s-16 7.2-16 16zm192 0V48c0 8.8 7.2 16 16 16s16-7.2 16-16V16c0-8.8-7.2-16-16-16s-16 7.2-16 16zM208 0c-8.8 0-16 7.2-16 16V48c0 8.8 7.2 16 16 16s16-7.2 16-16V16c0-8.8-7.2-16-16-16zM400 16V272c0 8.8 7.2 16 16 16s16-7.2 16-16V16c0-8.8-7.2-16-16-16s-16 7.2-16 16zM496 0c-8.8 0-16 7.2-16 16V272c0 8.8 7.2 16 16 16s16-7.2 16-16V16c0-8.8-7.2-16-16-16zM288 128c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32H288zM64 96C28.7 96 0 124.7 0 160V448c0 35.3 28.7 64 64 64H288c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64H64zm40 96H248c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H104c-4.4 0-8-3.6-8-8V200c0-4.4 3.6-8 8-8zm-40 8v48c0 22.1 17.9 40 40 40H248c22.1 0 40-17.9 40-40V200c0-22.1-17.9-40-40-40H104c-22.1 0-40 17.9-40 40zM80 320c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H80zM64 400c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zm144-80c-8.8 0-16 7.2-16 16s7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H208zm-16 80c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H208c-8.8 0-16 7.2-16 16z\"]\n};\nvar faCircleO = {\n prefix: 'fal',\n iconName: 'circle-o',\n icon: [512, 512, [], \"e119\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm96-256a96 96 0 1 1 -192 0 96 96 0 1 1 192 0zM256 128a128 128 0 1 0 0 256 128 128 0 1 0 0-256z\"]\n};\nvar faGridHorizontal = {\n prefix: 'fal',\n iconName: 'grid-horizontal',\n icon: [448, 512, [], \"e307\", \"M40 160c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8H88c4.4 0 8-3.6 8-8V168c0-4.4-3.6-8-8-8H40zM0 168c0-22.1 17.9-40 40-40H88c22.1 0 40 17.9 40 40v48c0 22.1-17.9 40-40 40H40c-22.1 0-40-17.9-40-40V168zM40 320c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8H88c4.4 0 8-3.6 8-8V328c0-4.4-3.6-8-8-8H40zM0 328c0-22.1 17.9-40 40-40H88c22.1 0 40 17.9 40 40v48c0 22.1-17.9 40-40 40H40c-22.1 0-40-17.9-40-40V328zM248 160H200c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V168c0-4.4-3.6-8-8-8zm-48-32h48c22.1 0 40 17.9 40 40v48c0 22.1-17.9 40-40 40H200c-22.1 0-40-17.9-40-40V168c0-22.1 17.9-40 40-40zm0 192c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V328c0-4.4-3.6-8-8-8H200zm-40 8c0-22.1 17.9-40 40-40h48c22.1 0 40 17.9 40 40v48c0 22.1-17.9 40-40 40H200c-22.1 0-40-17.9-40-40V328zM408 160H360c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V168c0-4.4-3.6-8-8-8zm-48-32h48c22.1 0 40 17.9 40 40v48c0 22.1-17.9 40-40 40H360c-22.1 0-40-17.9-40-40V168c0-22.1 17.9-40 40-40zm0 192c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V328c0-4.4-3.6-8-8-8H360zm-40 8c0-22.1 17.9-40 40-40h48c22.1 0 40 17.9 40 40v48c0 22.1-17.9 40-40 40H360c-22.1 0-40-17.9-40-40V328z\"]\n};\nvar faMessageDollar = {\n prefix: 'fal',\n iconName: 'message-dollar',\n icon: [512, 512, [\"comment-alt-dollar\"], \"f650\", \"M192 416c0-17.7-14.3-32-32-32H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H448c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H309.3c-6.9 0-13.7 2.2-19.2 6.4L192 464V416zM64 0C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h64 32v32 48c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L309.3 416H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM272 104c0-8.8-7.2-16-16-16s-16 7.2-16 16v17.3c-8.3 1.5-16.7 4.3-24.1 8.7c-13 7.7-23.9 21.1-23.8 40.5c.1 18.4 10.8 30.1 22.7 37.3c10.5 6.3 23.8 10.4 34.8 13.7l0 0 0 0 1.6 .5c12.5 3.8 22.2 6.9 29 11.2c5.9 3.7 7.7 7 7.7 11.6c.1 6.6-2.7 10.8-7.8 14c-5.8 3.6-14.5 5.6-23.7 5.3c-11.8-.4-22.7-4.1-36.3-8.7l0 0 0 0 0 0c-2.3-.8-4.7-1.6-7.1-2.4c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2c2 .7 4.1 1.4 6.2 2.1l0 0c9.2 3.2 19.7 6.8 30.9 8.9V312c0 8.8 7.2 16 16 16s16-7.2 16-16V294.9c8.7-1.4 17.4-4.3 25.1-9.1c13.3-8.3 23.2-22.2 22.9-41.6c-.2-18.5-10.6-30.6-22.7-38.2c-11-6.9-25-11.2-36.3-14.6l0 0 0 0-.5-.1c-12.6-3.8-22.3-6.8-29.2-10.9c-6-3.6-7.2-6.4-7.3-10.1c0-5.4 2.4-9.4 8.1-12.8c6.2-3.7 15.1-5.7 23.6-5.5c10.1 .2 21 2.3 32.1 5.3c8.5 2.3 17.3-2.8 19.6-11.3s-2.8-17.3-11.3-19.6c-7.5-2-15.6-3.9-24.1-5.1V104z\"]\n};\nvar faCommentAltDollar = faMessageDollar;\nvar faRightLeft = {\n prefix: 'fal',\n iconName: 'right-left',\n icon: [512, 512, [\"exchange-alt\"], \"f362\", \"M352 222.7c0 18.4 14.9 33.3 33.3 33.3c8.4 0 16.4-3.1 22.6-8.8l99-91.4c3.3-3 5.1-7.3 5.1-11.8s-1.9-8.7-5.1-11.8l-99-91.4c-6.1-5.7-14.2-8.8-22.6-8.8C366.9 32 352 46.9 352 65.3V128H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H352v62.7zm33.3 1.3c-.7 0-1.3-.6-1.3-1.3V65.3c0-.7 .6-1.3 1.3-1.3c.3 0 .6 .1 .9 .3L472.4 144l-86.3 79.7c-.2 .2-.5 .3-.9 .3zM126.7 480c18.4 0 33.3-14.9 33.3-33.3V384H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H160V289.3c0-18.4-14.9-33.3-33.3-33.3c-8.4 0-16.4 3.1-22.6 8.8l-99 91.4C1.9 359.3 0 363.5 0 368s1.9 8.7 5.1 11.8l99 91.4c6.1 5.7 14.2 8.8 22.6 8.8zm1.3-33.3c0 .7-.6 1.3-1.3 1.3c-.3 0-.6-.1-.9-.3L39.6 368l86.3-79.7c.2-.2 .5-.3 .9-.3c.7 0 1.3 .6 1.3 1.3V446.7z\"]\n};\nvar faExchangeAlt = faRightLeft;\nvar faColumns3 = {\n prefix: 'fal',\n iconName: 'columns-3',\n icon: [640, 512, [], \"e361\", \"M448 64V448H576c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H448zm-32 0H224V448H416V64zM192 448V64H64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H192zM0 96C0 60.7 28.7 32 64 32H576c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96z\"]\n};\nvar faPaperPlane = {\n prefix: 'fal',\n iconName: 'paper-plane',\n icon: [512, 512, [61913], \"f1d8\", \"M511.6 36.9c1.9-12.1-3.4-24.3-13.5-31.2s-23.3-7.5-34-1.4l-448 256C5.5 266.3-.7 277.8 .1 290s8.4 22.9 19.6 27.6L160 376v93c0 23.8 19.3 43 43 43c13.1 0 25.4-5.9 33.6-16.1l52.8-66 .1 0 114.2 47.6c9.1 3.8 19.4 3.2 28-1.6s14.5-13.3 16-23l64-416zm-253 380.2l-47 58.8c-2.1 2.6-5.3 4.1-8.6 4.1c-6.1 0-11-4.9-11-11V389.3l66.6 27.8zm43.1-16.7l-96.6-40.3L474.1 70.5 416 448 301.8 400.4zM450.5 48.8L173.6 347 32 288 450.5 48.8z\"]\n};\nvar faRoadCircleExclamation = {\n prefix: 'fal',\n iconName: 'road-circle-exclamation',\n icon: [640, 512, [], \"e565\", \"M157.5 74c9.2-25.2 33.2-42 60.1-42H422.4c26.9 0 50.9 16.8 60.1 42l44.1 120.6c-9.9-1.7-20.2-2.7-30.6-2.7c-1.5 0-2.9 0-4.4 .1L452.5 85c-4.6-12.6-16.6-21-30.1-21H336v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V64H217.6c-13.4 0-25.4 8.4-30.1 21L70.6 405c-7.6 20.9 7.8 43 30.1 43H339.2c5.9 11.4 12.9 22.2 21 32H100.6c-44.5 0-75.4-44.2-60.1-86L157.5 74zM336 208v86.6c-3.5 7.6-6.5 15.6-8.9 23.8c-2.1 1.1-4.6 1.7-7.1 1.7c-8.8 0-16-7.2-16-16V208c0-8.8 7.2-16 16-16s16 7.2 16 16zM608 368a112 112 0 1 0 -224 0 112 112 0 1 0 224 0zm-256 0a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144 32a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0-112c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V304c0-8.8 7.2-16 16-16z\"]\n};\nvar faDungeon = {\n prefix: 'fal',\n iconName: 'dungeon',\n icon: [512, 512, [], \"f6d9\", \"M319.3 163.6c6.2 4.2 11.9 9.1 17.1 14.4c6.1 6.3 14 11 22.7 13.5c-1.6 8.9-.8 18 2.2 26.2c3 8.2 5 16.9 6 25.9c1.1 10.4 5.7 20.5 12.9 28.5c-7.6 8.5-12.2 19.7-12.2 32v48c0 12.3 4.6 23.5 12.2 32c-7.6 8.5-12.2 19.7-12.2 32v48c0 26.5 21.5 48 48 48h48c26.5 0 48-21.5 48-48V416c0-12.3-4.6-23.5-12.2-32c7.6-8.5 12.2-19.7 12.2-32V304c0-12.3-4.6-23.5-12.2-32c7.9-8.8 12.6-20.7 11.6-34.2c-2.1-30.4-9.6-59.3-21.4-85.8c-6.1-13.8-17.3-22.4-29.8-25.8c2.1-12.8-1-26.6-10.8-37.9c-17.9-20.6-39-38.3-62.5-52.3c-13-7.7-27.1-8.3-39.3-3.9c-5.7-11.7-16.2-21.1-30.8-24.7C297.2 2.5 276.9 0 256 0s-41.2 2.5-60.7 7.2c-14.6 3.6-25.1 13-30.8 24.7c-12.2-4.4-26.3-3.8-39.3 3.9c-23.6 14-44.7 31.7-62.5 52.3c-9.8 11.3-13 25.1-10.8 37.9c-12.5 3.5-23.7 12.1-29.8 25.8C10.2 178.5 2.8 207.4 .6 237.8c-1 13.5 3.7 25.4 11.6 34.2C4.6 280.5 0 291.7 0 304v48c0 12.3 4.6 23.5 12.2 32C4.6 392.5 0 403.7 0 416v48c0 26.5 21.5 48 48 48H96c26.5 0 48-21.5 48-48V416c0-12.3-4.6-23.5-12.2-32c7.6-8.5 12.2-19.7 12.2-32V304c0-12.3-4.6-23.5-12.2-32c7.2-8 11.7-18.1 12.9-28.5c1-9 3.1-17.7 6-25.9c3-8.2 3.8-17.4 2.2-26.2c8.7-2.4 16.6-7.2 22.7-13.5c5.2-5.3 10.9-10.2 17.1-14.4c7.2-4.9 13.2-11.9 17.1-20c8.5 3 17.6 3.8 26.2 2.2c6.5-1.2 13.2-1.8 20-1.8s13.5 .6 20 1.8c8.6 1.5 17.7 .8 26.2-2.2c3.9 8.1 9.9 15.1 17.1 20zm62-5l0 0c-6.9 4.6-16.2 3.1-22-2.9c-6.7-6.9-14-13.1-21.9-18.5c-6.7-4.6-9.8-13.1-6.8-20.6l.2-.6 0 0 17.9-44.8c3.5-8.7 13.6-12.6 21.6-7.8c20.6 12.3 39.1 27.8 54.8 45.8c6 6.9 4.2 17.4-3.5 22.5l-1 .7 0 0-39.4 26.2zm16.2 27.6l1.5-1 0 0L438.4 159l0 0c7.8-5.2 18.5-2.6 22.3 6c10.3 23.2 16.8 48.5 18.7 75.1c.6 8.8-6.6 16-15.4 16H416c-8.8 0-15.9-7.2-16.9-16c-1.3-11.6-3.9-22.7-7.8-33.3c-2.7-7.5-.5-16.1 6.2-20.5zM416 400h48c8.8 0 16 7.2 16 16v48c0 8.8-7.2 16-16 16H416c-8.8 0-16-7.2-16-16V416c0-8.8 7.2-16 16-16zM193 59.3l0 0-.2-.4c-3.4-8.6 1.1-18.3 10.1-20.5c17-4.1 34.8-6.3 53.1-6.3s36.1 2.2 53.1 6.3c9 2.2 13.5 11.9 10.1 20.5l-.2 .4 0 .1-17.9 44.8 0 0c-3.1 7.6-11.4 11.6-19.4 10.1c-8.3-1.5-16.9-2.3-25.7-2.3s-17.3 .8-25.7 2.3c-8.1 1.5-16.4-2.5-19.4-10.1l0 0L193 59.3zm-51.3 4.1c8-4.8 18.2-.9 21.6 7.8l0 0L181.2 116l0 0 .2 .6c3 7.5-.1 16-6.8 20.6c-7.9 5.4-15.3 11.6-21.9 18.5c-5.8 6-15.1 7.5-22 2.9L91.4 132.3l0 0-1-.7c-7.6-5.1-9.5-15.6-3.5-22.5c15.7-18 34.1-33.5 54.8-45.8zM51.3 165c3.8-8.6 14.5-11.2 22.3-6L113 185.2l0 0 1.5 1c6.6 4.4 8.9 13 6.2 20.5c-3.9 10.6-6.5 21.7-7.8 33.3c-1 8.8-8 16-16.9 16H48c-8.8 0-16.1-7.2-15.4-16c1.9-26.6 8.4-51.9 18.7-75.1zM112 304v48c0 8.8-7.2 16-16 16H48c-8.8 0-16-7.2-16-16V304c0-8.8 7.2-16 16-16H96c8.8 0 16 7.2 16 16zm288 0c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v48c0 8.8-7.2 16-16 16H416c-8.8 0-16-7.2-16-16V304zM32 416c0-8.8 7.2-16 16-16H96c8.8 0 16 7.2 16 16v48c0 8.8-7.2 16-16 16H48c-8.8 0-16-7.2-16-16V416zM272 192c0-8.8-7.2-16-16-16s-16 7.2-16 16V464c0 8.8 7.2 16 16 16s16-7.2 16-16V192zm-64 32c0-8.8-7.2-16-16-16s-16 7.2-16 16V464c0 8.8 7.2 16 16 16s16-7.2 16-16V224zm128 0c0-8.8-7.2-16-16-16s-16 7.2-16 16V464c0 8.8 7.2 16 16 16s16-7.2 16-16V224z\"]\n};\nvar faHandHoldingBox = {\n prefix: 'fal',\n iconName: 'hand-holding-box',\n icon: [576, 512, [], \"f47b\", \"M208 32v96c0 5.5 2.9 10.7 7.6 13.6s10.6 3.2 15.6 .7L288 113.9l56.8 28.4c5 2.5 10.9 2.2 15.6-.7s7.6-8.1 7.6-13.6V32h64c8.8 0 16 7.2 16 16V208c0 8.8-7.2 16-16 16H144c-8.8 0-16-7.2-16-16V48c0-8.8 7.2-16 16-16h64zM224 0H144C117.5 0 96 21.5 96 48V208c0 26.5 21.5 48 48 48H432c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H352 224zm16 32h96v70.1L295.2 81.7c-4.5-2.3-9.8-2.3-14.3 0L240 102.1V32zM195.4 304c-15.8 0-31.2 4.7-44.4 13.4L75.2 368H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H80c3.2 0 6.2-.9 8.9-2.7l79.9-53.3c7.9-5.3 17.1-8.1 26.6-8.1H344c13.3 0 24 10.7 24 24s-10.7 24-24 24H320 256c-8.8 0-16 7.2-16 16s7.2 16 16 16h64 24 60.6c2.9 0 5.7-.8 8.2-2.3L511.3 355c3.4-2 7.2-3 11.1-3h1.3c11.2 0 20.3 9.1 20.3 20.3c0 6.9-3.5 13.3-9.2 17L415.1 467.1c-13 8.4-28.1 12.9-43.6 12.9H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H371.5c21.7 0 42.9-6.3 61-18.1l119.6-77.8C567 406.5 576 390 576 372.3c0-28.9-23.4-52.3-52.3-52.3h-1.3c-9.7 0-19.1 2.6-27.5 7.6L400.2 384h-5.6c3.5-7.3 5.4-15.4 5.4-24c0-30.9-25.1-56-56-56H195.4z\"]\n};\nvar faInputText = {\n prefix: 'fal',\n iconName: 'input-text',\n icon: [640, 512, [], \"e1bf\", \"M64 96c-17.7 0-32 14.3-32 32V384c0 17.7 14.3 32 32 32H576c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32H64zM0 128C0 92.7 28.7 64 64 64H576c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128zm176 32c6.5 0 12.4 4 14.9 10.1l64 160c3.3 8.2-.7 17.5-8.9 20.8s-17.5-.7-20.8-8.9L216.4 320l-.4 0H136l-.4 0-8.8 21.9c-3.3 8.2-12.6 12.2-20.8 8.9s-12.2-12.6-8.9-20.8l64-160c2.4-6.1 8.3-10.1 14.9-10.1zm0 59.1L148.4 288h55.1L176 219.1zM288 176c0-8.8 7.2-16 16-16h56c30.9 0 56 25.1 56 56c0 12.1-3.8 23.3-10.4 32.5C421.5 258.4 432 276 432 296c0 30.9-25.1 56-56 56H304c-8.8 0-16-7.2-16-16V320 256 192 176zm72 96H320v48h56c13.3 0 24-10.7 24-24s-10.7-24-24-24H360zm0-32c13.3 0 24-10.7 24-24s-10.7-24-24-24H320v48h40z\"]\n};\nvar faWindowFlip = {\n prefix: 'fal',\n iconName: 'window-flip',\n icon: [512, 512, [\"window-alt\"], \"f40f\", \"M448 64c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32H448zm64 32c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96zm-96 56a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM296 128a24 24 0 1 0 48 0 24 24 0 1 0 -48 0zm-72 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faWindowAlt = faWindowFlip;\nvar faAlignRight = {\n prefix: 'fal',\n iconName: 'align-right',\n icon: [448, 512, [], \"f038\", \"M432 48c8.8 0 16 7.2 16 16s-7.2 16-16 16H176c-8.8 0-16-7.2-16-16s7.2-16 16-16H432zm0 128c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H432zm16 144c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16s7.2-16 16-16H432c8.8 0 16 7.2 16 16zM432 432c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H432z\"]\n};\nvar faScannerGun = {\n prefix: 'fal',\n iconName: 'scanner-gun',\n icon: [576, 512, [\"scanner\"], \"f488\", \"M112 64c-44.2 0-80 35.8-80 80s35.8 80 80 80H242.9 280h24c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16H112zM80 251.4C33.8 237.6 0 194.7 0 144C0 82.1 50.1 32 112 32H304c26.5 0 48 21.5 48 48V208c0 26.5-21.5 48-48 48H261.2L144.3 454.6c-13.4 22.8-42.9 30.5-65.7 17L25.2 440.2C2.4 426.8-5.2 397.5 8.1 374.7L80 251.4zm34.3 4.6L35.7 390.8c-4.4 7.6-1.9 17.4 5.7 21.9l53.4 31.4c7.6 4.5 17.4 1.9 21.9-5.7L224.1 256H114.4zM432 32H560c8.8 0 16 7.2 16 16s-7.2 16-16 16H432c-8.8 0-16-7.2-16-16s7.2-16 16-16zm-16 80c0-8.8 7.2-16 16-16H560c8.8 0 16 7.2 16 16s-7.2 16-16 16H432c-8.8 0-16-7.2-16-16zm16 80H560c8.8 0 16 7.2 16 16s-7.2 16-16 16H432c-8.8 0-16-7.2-16-16s7.2-16 16-16zm-16 80c0-8.8 7.2-16 16-16H560c8.8 0 16 7.2 16 16s-7.2 16-16 16H432c-8.8 0-16-7.2-16-16zm16 48H560c8.8 0 16 7.2 16 16s-7.2 16-16 16H432c-8.8 0-16-7.2-16-16s7.2-16 16-16zM416 464c0-8.8 7.2-16 16-16H560c8.8 0 16 7.2 16 16s-7.2 16-16 16H432c-8.8 0-16-7.2-16-16z\"]\n};\nvar faScanner = faScannerGun;\nvar faTire = {\n prefix: 'fal',\n iconName: 'tire',\n icon: [512, 512, [], \"f631\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm319.9 4l61.8 20.1c1.5-7.8 2.3-15.9 2.3-24.2c0-36.8-15.5-69.9-40.3-93.3l-38.2 52.6c9.1 11 14.5 25.2 14.5 40.6c0 1.4 0 2.7-.1 4zm-9.9 30.4c-8.6 13.5-22.1 23.5-38 27.6l0 65c44.3-5.5 81.5-33.6 99.8-72.4l-61.9-20.1zM240 383l0-65c-15.8-4.1-29.3-14.1-37.9-27.5l-61.9 20.1c18.3 38.8 55.5 66.9 99.8 72.4zM130.3 280.2L192.1 260c-.1-1.3-.1-2.7-.1-4c0-15.4 5.5-29.6 14.5-40.6l-10.1-13.9-28.1-38.7C143.5 186.1 128 219.2 128 256c0 8.3 .8 16.3 2.3 24.2zm102.1-83.7c7.3-2.9 15.3-4.5 23.6-4.5s16.3 1.6 23.6 4.5l38.2-52.6C299.5 133.8 278.4 128 256 128s-43.5 5.8-61.8 15.9l28.1 38.8 10 13.8zM288 256a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM256 96a160 160 0 1 1 0 320 160 160 0 1 1 0-320z\"]\n};\nvar faEngine = {\n prefix: 'fal',\n iconName: 'engine',\n icon: [640, 512, [], \"e16e\", \"M416 80c0 8.8-7.2 16-16 16l-80 0v32h16 60.6c12.6 0 25 3.7 35.5 10.7L483.5 173c17.8 11.9 28.5 31.9 28.5 53.3V384c0 35.3-28.7 64-64 64H254.8c-19.4 0-37.8-8.8-50-24l-32-40H144c-26.5 0-48-21.5-48-48V272H88 32v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V160c0-8.8 7.2-16 16-16s16 7.2 16 16v80H88h8V176c0-26.5 21.5-48 48-48h16H288V96l-80 0c-8.8 0-16-7.2-16-16s7.2-16 16-16H400c8.8 0 16 7.2 16 16zM304 160H160 144c-8.8 0-16 7.2-16 16V336c0 8.8 7.2 16 16 16h28.8c9.7 0 18.9 4.4 25 12l32 40c6.1 7.6 15.3 12 25 12H448c17.7 0 32-14.3 32-32V226.3c0-10.7-5.3-20.7-14.2-26.6l-51.4-34.3c-5.3-3.5-11.4-5.4-17.8-5.4H336 304l0 0 0 0zM168 256a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm120-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm72 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm216-32V416h32V224H576zm-32 0c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H576c-17.7 0-32-14.3-32-32V224z\"]\n};\nvar faMoneyBill1Wave = {\n prefix: 'fal',\n iconName: 'money-bill-1-wave',\n icon: [576, 512, [\"money-bill-wave-alt\"], \"f53b\", \"M32 112.5l0-.1s0 0 0 0l0 0 0 0 0 0c.1-.1 .4-.6 1.3-1.2c2-1.3 4.7-1.8 6.9-1.2c18.7 5.1 37.3 8.1 55.8 9.5v.5c0 35.3-28.7 64-64 64V112.5zm0 309.9V376c35.3 0 64 28.7 64 64v6.8c-19.5-1.9-38.7-6-57.8-13.2c-2.5-.9-6.2-4.5-6.2-11.3zM128 440c0-53-43-96-96-96V216c52.9 0 95.8-42.8 96-95.6c57.8-1 113.9-15.3 165.7-28.6c4.4-1.1 8.7-2.2 13-3.3C356.9 75.8 403.3 65 448 64v8c0 53 43 96 96 96V296c-52.9 0-95.8 42.8-96 95.6c-57.8 1-113.9 15.3-165.7 28.6c-4.4 1.1-8.7 2.2-13 3.3C219.1 436.2 172.7 447 128 448v-8zm352-47.5V392c0-35.3 28.7-64 64-64v71.5c0 .1 0 .1 0 .1s0 0 0 0c-.1 .1-.4 .6-1.3 1.2c-2 1.3-4.7 1.8-6.9 1.2c-18.6-5.1-37.3-8.1-55.8-9.5zm0-327.3c19.5 1.9 38.7 6 57.8 13.2c2.5 .9 6.2 4.5 6.2 11.3V136c-35.3 0-64-28.7-64-64V65.2zM0 112.5V422.3c0 18 10.1 35 27 41.3c87 32.5 174 10.3 261-11.9c79.8-20.3 159.6-40.7 239.3-18.9c23 6.3 48.7-9.5 48.7-33.4V89.7c0-18-10.1-35-27-41.3C462 15.9 375 38.1 288 60.3C208.2 80.6 128.4 100.9 48.7 79.1C25.6 72.8 0 88.6 0 112.5zM400 256c0-65-44.9-128-112-128s-112 63-112 128s44.9 128 112 128s112-63 112-128zM288 352c-44.2 0-80-43-80-96s35.8-96 80-96s80 43 80 96s-35.8 96-80 96zM272 192c-8.8 0-16 7.2-16 16s7.2 16 16 16v64h-8c-8.8 0-16 7.2-16 16s7.2 16 16 16h24 24c8.8 0 16-7.2 16-16s-7.2-16-16-16h-8V208c0-8.8-7.2-16-16-16H272z\"]\n};\nvar faMoneyBillWaveAlt = faMoneyBill1Wave;\nvar faLifeRing = {\n prefix: 'fal',\n iconName: 'life-ring',\n icon: [512, 512, [], \"f1cd\", \"M402.7 425.3C363.4 459.4 312.1 480 256 480s-107.4-20.6-146.7-54.7l91.1-91C216.1 345.4 235.3 352 256 352s39.9-6.6 55.6-17.7l91.1 91zm22.6-22.6l-91-91.1C345.4 295.9 352 276.7 352 256s-6.6-39.9-17.7-55.6l91-91.1C459.4 148.6 480 199.9 480 256s-20.6 107.4-54.7 146.7zM448 425.4c39.8-45.1 64-104.4 64-169.4s-24.2-124.2-64-169.4l11.3-11.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L425.4 64C380.2 24.2 320.9 0 256 0S131.8 24.2 86.6 64L75.3 52.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L64 86.6C24.2 131.8 0 191.1 0 256s24.2 124.2 64 169.4L52.7 436.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L86.6 448c45.1 39.8 104.4 64 169.4 64s124.2-24.2 169.4-64l11.3 11.3c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L448 425.4zM402.7 86.7l-91.1 91.1C295.9 166.6 276.7 160 256 160s-39.9 6.6-55.6 17.7L109.3 86.7C148.6 52.6 199.9 32 256 32s107.4 20.6 146.7 54.7zM177.7 311.6L86.7 402.7C52.6 363.4 32 312.1 32 256s20.6-107.4 54.7-146.7l91.1 91.1C166.6 216.1 160 235.3 160 256s6.6 39.9 17.7 55.6zM192 256a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z\"]\n};\nvar faHands = {\n prefix: 'fal',\n iconName: 'hands',\n icon: [608, 512, [\"sign-language\", \"signing\"], \"f2a7\", \"M439.9 395.4c11.5-2.6 22.9-6.3 34-11.4c62.7-28.4 102.7-91 102.2-159.8l-.5-75.6c-.2-26.5-21.8-47.8-48.3-47.7c-19.5 .1-36.2 11.9-43.6 28.6L439 31C428.1 6.8 399.7-3.9 375.5 7c-5.7 2.6-10.6 6.1-14.7 10.4C347.3 1.1 324.2-4.8 304 4.3s-31 30.5-27.6 51.3c-5.9 .3-11.8 1.7-17.5 4.2c-19.3 8.8-30 28.7-27.9 48.7l40.4 17.5-7.2-15.9c-3.6-8-.1-17.5 8-21.2s17.5-.1 21.2 8L315.1 145l10.2 4.4 .4 .2 0 0c12.8 5.7 24.8 12.6 35.9 20.5L322.4 83.8 309.2 54.6c-3.6-8-.1-17.5 8-21.2s17.5-.1 21.2 8l13.2 29.1L391.2 158c3.6 8 13.1 11.6 21.2 8s11.6-13.1 8-21.2L380.7 57.4c-3.6-8-.1-17.5 8-21.2s17.5-.1 21.2 8l71.5 157.8c3.1 6.9 10.6 10.6 18 9s12.6-8.2 12.6-15.7l-.3-46.2c-.1-8.8 7.1-16 15.9-16.1s16.1 7.1 16.1 15.9l.5 75.7c.4 56.1-32.3 107.3-83.5 130.4c-4.6 2.1-9.2 3.9-13.9 5.4c-1.3 12-3.6 23.8-6.9 35.1zm-209.4-218l69.1 30.7c51.3 22.8 84.4 73.7 84.4 129.8C384 416.4 320.4 480 241.9 480H112c-8.8 0-16-7.2-16-16c0-8.8 7.1-16 16-16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16l-64.1 0L96 416l0 0-16 0c-8.8 0-16-7.2-16-16s7.2-16 16-16l0 0h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H64l0 0H48c-8.8 0-16-7.2-16-16s7.2-16 16-16H80l0 0h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H80c-8.8 0-16-7.2-16-16c0-8.8 7.2-16 16-16H253.2c7.6 0 14.1-5.3 15.7-12.7s-2.2-14.9-9.2-17.9l-42.2-18.8c-8.1-3.6-11.7-13-8.1-21.1s13-11.7 21.1-8.1zM67.4 446.3C65.2 451.8 64 457.8 64 464c0 26.5 21.5 48 48 48H241.9C338.1 512 416 434.1 416 337.9c0-68.8-40.5-131.1-103.4-159.1l-69.1-30.7c-24.2-10.8-52.6 .1-63.4 24.4c-7.9 17.8-4.1 37.8 8.1 51.5H80c-26.5 0-48 21.5-48 48c0 6.2 1.2 12.2 3.4 17.7C15 295.2 0 313.9 0 336s15 40.8 35.4 46.3C33.2 387.8 32 393.8 32 400c0 22.1 15 40.8 35.4 46.3z\"]\n};\nvar faSignLanguage = faHands;\nvar faSigning = faHands;\nvar faCircleCaretRight = {\n prefix: 'fal',\n iconName: 'circle-caret-right',\n icon: [512, 512, [\"caret-circle-right\"], \"f330\", \"M480 256A224 224 0 1 1 32 256a224 224 0 1 1 448 0zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zm352 0c0-9.6-4-18.7-11-25.2L238.2 135.3c-5.1-4.7-11.8-7.3-18.7-7.3c-15.2 0-27.5 12.3-27.5 27.5l0 201c0 15.2 12.3 27.5 27.5 27.5c6.9 0 13.6-2.6 18.7-7.3L341 281.2c7-6.5 11-15.6 11-25.2zm-32.7-1.7c.5 .4 .7 1.1 .7 1.7s-.3 1.3-.7 1.7L224 346.2l0-180.3 95.3 88.4z\"]\n};\nvar faCaretCircleRight = faCircleCaretRight;\nvar faTurnLeft = {\n prefix: 'fal',\n iconName: 'turn-left',\n icon: [512, 512, [], \"e636\", \"M160 304l0 57.3c0 3.7-3 6.7-6.7 6.7c-1.9 0-3.7-.8-5-2.2L35.8 240 148.3 114.2c1.3-1.4 3.1-2.2 5-2.2c3.7 0 6.7 3 6.7 6.7l0 57.3c0 17.7 14.3 32 32 32l176 0c61.9 0 112 50.1 112 112l0 112c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-112c0-26.5-21.5-48-48-48l-176 0c-17.7 0-32 14.3-32 32zM5.3 226C1.9 229.9 0 234.8 0 240s1.9 10.1 5.3 14L124.5 387.1c7.3 8.2 17.8 12.9 28.8 12.9c21.4 0 38.7-17.3 38.7-38.7l0-25.3 0-32 32 0 144 0c8.8 0 16 7.2 16 16l0 112c0 26.5 21.5 48 48 48l32 0c26.5 0 48-21.5 48-48l0-112c0-79.5-64.5-144-144-144l-144 0-32 0 0-32 0-25.3C192 97.3 174.7 80 153.3 80c-11 0-21.5 4.7-28.8 12.9L5.3 226z\"]\n};\nvar faWheat = {\n prefix: 'fal',\n iconName: 'wheat',\n icon: [512, 512, [], \"f72d\", \"M433.1 36c-28.7 1.4-51.7 24.4-53.1 53.1l-2.3 45.2 45.2-2.3c28.7-1.4 51.7-24.4 53.1-53.1l2.3-45.2L433.1 36zM348 87.5C350.3 42.4 386.4 6.3 431.5 4l54-2.7c14.2-.7 25.9 11 25.2 25.2l-2.7 54c-2.3 45.1-38.3 81.2-83.5 83.5l-16.9 .8c23.1 5 45.2 16.6 63.2 34.6L493.4 222c6.2 6.2 6.2 16.4 0 22.6l-33.9 33.9c-17.4 17.4-39.8 26.7-62.5 28l6 6c6.2 6.2 6.2 16.4 0 22.6L369 369c-17.4 17.4-39.8 26.7-62.5 28l6 6c6.2 6.2 6.2 16.4 0 22.6l-33.9 33.9c-37.5 37.5-98.3 37.5-135.8 0l-33.9-33.9 0 0L27.3 507.1c-6.2 6.2-16.4 6.3-22.6 0s-6.2-16.4 0-22.6L86.2 403 52.3 369.1c-37.5-37.5-37.5-98.3 0-135.8l33.9-33.9c6.2-6.2 16.4-6.2 22.6 0l6 6c1.3-22.8 10.6-45.2 28-62.6l33.9-33.9c6.2-6.2 16.4-6.2 22.6 0l6 6c1.3-22.8 10.6-45.2 28-62.6l33.9-33.9c6.2-6.2 16.4-6.2 22.6 0L312.4 41c18.3 18.3 29.9 40.7 34.8 64.2l.9-17.7zm88.8 168.4l22.6-22.6L448.1 222c-37.5-37.5-98.2-37.5-135.7 0l33.9 33.9c25 25 65.5 25 90.5 0zm-181-90.5l33.9 33.9 1.5-1.5c36-37.6 35.5-97.3-1.5-134.3L278.5 52.3 255.9 74.9c-25 25-25 65.5 0 90.5zm-56.6-11.3L188 142.8l-22.6 22.6c-25 25-25 65.5 0 90.5l33.9 33.9 1.3-1.3c36.2-37.6 35.8-97.4-1.3-134.5zM108.8 380.3l.8-.8c36.7-37.6 36.4-97.7-.8-135L97.5 233.3 74.9 255.9c-25 25-25 65.5 0 90.5l33.9 33.9zm147.1 56.5l22.6-22.6L267.2 403c-37.5-37.5-98.2-37.5-135.7 0l33.9 33.9c25 25 65.5 25 90.5 0zm90.5-90.5l22.6-22.6-11.3-11.3c-37.5-37.5-98.2-37.5-135.7 0l33.9 33.9c25 25 65.5 25 90.5 0z\"]\n};\nvar faFileSpreadsheet = {\n prefix: 'fal',\n iconName: 'file-spreadsheet',\n icon: [384, 512, [], \"f65b\", \"M320 480H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H192V144c0 26.5 21.5 48 48 48H352V448c0 17.7-14.3 32-32 32zM240 160c-8.8 0-16-7.2-16-16V32.5c2.8 .7 5.4 2.1 7.4 4.2L347.3 152.6c2.1 2.1 3.5 4.6 4.2 7.4H240zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V163.9c0-12.7-5.1-24.9-14.1-33.9L254.1 14.1c-9-9-21.2-14.1-33.9-14.1H64zM96 384h80v32H96V384zm0-32V320h80v32H96zm112 64V384h80v32H208zm0-64V320h80v32H208zm112 16V352 320 304 288 256c0-17.7-14.3-32-32-32H192 96c-17.7 0-32 14.3-32 32v32 16 16 32 16 16 32c0 17.7 14.3 32 32 32h80 16 16 80c17.7 0 32-14.3 32-32V384 368zM288 256v32H192 96V256h96 96z\"]\n};\nvar faAudioDescriptionSlash = {\n prefix: 'fal',\n iconName: 'audio-description-slash',\n icon: [640, 512, [], \"e0a8\", \"M25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4zM459.9 448H96c-17.7 0-32-14.3-32-32V135.4L32 110.2V416c0 35.3 28.7 64 64 64H500.4l-40.5-32zM544 32H139.6l40.5 32H544c17.7 0 32 14.3 32 32V376.6l32 25.3V96c0-35.3-28.7-64-64-64zM512 256c0-53-43-96-96-96H352c-8.8 0-16 7.2-16 16v11.1l32 25.3V192h48c35.3 0 64 28.7 64 64c0 13.4-4.1 25.8-11.1 36l25.2 19.9c11.3-15.7 17.9-35 17.9-55.9zM129.7 328.8c-4 7.9-.7 17.5 7.2 21.5s17.5 .7 21.5-7.2L177.9 304h92.2l19.6 39.2c4 7.9 13.6 11.1 21.5 7.2c5.1-2.6 8.3-7.5 8.8-12.8L237 272H193.9l12.2-24.4-25.7-20.3L129.7 328.8z\"]\n};\nvar faBellRing = {\n prefix: 'fal',\n iconName: 'bell-ring',\n icon: [512, 512, [], \"e62c\", \"M240 16c0-8.8 7.2-16 16-16s16 7.2 16 16V32.8c80.9 8 144 76.2 144 159.2v29.1c0 43.7 17.4 85.6 48.3 116.6l2.8 2.8c8.3 8.3 13 19.6 13 31.3c0 24.5-19.8 44.3-44.3 44.3H76.3C51.8 416 32 396.2 32 371.7c0-11.7 4.7-23 13-31.3l2.8-2.8C78.6 306.7 96 264.8 96 221.1V192c0-83 63.1-151.2 144-159.2V16zm16 48c-70.7 0-128 57.3-128 128v29.1c0 52.2-20.7 102.3-57.7 139.2L67.6 363c-2.3 2.3-3.6 5.4-3.6 8.7c0 6.8 5.5 12.3 12.3 12.3H435.7c6.8 0 12.3-5.5 12.3-12.3c0-3.3-1.3-6.4-3.6-8.7l-2.8-2.8c-36.9-36.9-57.7-87-57.7-139.2V192c0-70.7-57.3-128-128-128zM225.8 458.7c4.4 12.4 16.3 21.3 30.2 21.3s25.8-8.9 30.2-21.3c2.9-8.3 12.1-12.7 20.4-9.8s12.7 12.1 9.8 20.4C307.6 494.2 283.9 512 256 512s-51.6-17.8-60.4-42.7c-2.9-8.3 1.4-17.5 9.8-20.4s17.5 1.4 20.4 9.8zM119.4 21.8c5.7 6.8 4.7 16.9-2.1 22.5C74.9 79.5 48 132.6 48 192c0 8.8-7.2 16-16 16s-16-7.2-16-16C16 122.7 47.5 60.8 96.9 19.7c6.8-5.7 16.9-4.7 22.5 2.1zM397.8 44.3c-6.8-5.7-7.7-15.7-2.1-22.5s15.7-7.7 22.5-2.1c49.4 41.1 80.9 103 80.9 172.3c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-59.4-26.9-112.5-69.3-147.7z\"]\n};\nvar faCalendarDay = {\n prefix: 'fal',\n iconName: 'calendar-day',\n icon: [448, 512, [], \"f783\", \"M128 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V64H64C28.7 64 0 92.7 0 128v32 32V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V192 160 128c0-35.3-28.7-64-64-64H352V16c0-8.8-7.2-16-16-16s-16 7.2-16 16V64H128V16zM32 192H416V448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V192zM64 96H384c17.7 0 32 14.3 32 32v32H32V128c0-17.7 14.3-32 32-32zm40 160h80c4.4 0 8 3.6 8 8v80c0 4.4-3.6 8-8 8H104c-4.4 0-8-3.6-8-8V264c0-4.4 3.6-8 8-8zm-40 8v80c0 22.1 17.9 40 40 40h80c22.1 0 40-17.9 40-40V264c0-22.1-17.9-40-40-40H104c-22.1 0-40 17.9-40 40z\"]\n};\nvar faWaterLadder = {\n prefix: 'fal',\n iconName: 'water-ladder',\n icon: [576, 512, [\"ladder-water\", \"swimming-pool\"], \"f5c5\", \"M128 112c0-44.2 35.8-80 80-80s80 35.8 80 80v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V112c0-26.5-21.5-48-48-48s-48 21.5-48 48V224.2H384V112c0-44.2 35.8-80 80-80s80 35.8 80 80v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V112c0-26.5-21.5-48-48-48s-48 21.5-48 48V240.2 378.2c-10.8 4-21.8 6.2-32 6.2h0V256.2H160V378.2c-9.5-3.5-18.8-8.3-27.1-14.1c-1.6-1.1-3.2-2.2-4.9-3.1V240.2 112zm64 336c20.9 0 41.6-9.9 58.2-21.2c9.8-6.7 18-14 25.9-21.9c6.6-6.5 17.2-6.5 23.7 0c7.9 7.9 16.2 15.2 26 21.9C342.3 438 363.1 448 384 448s41.6-9.9 58.2-21.2c9.8-6.7 18-14 25.9-21.9c6.6-6.5 17.2-6.6 23.7 0c7.9 7.9 16.2 15.2 26 21.9c12.8 8.7 28.1 16.6 44.1 19.8c7.7 1.5 14.1 7.8 14.1 15.7c0 9.8-8 17.9-17.7 16.2c-23.1-4-43.6-15-58.5-25.2c-7.9-5.4-14.7-10.8-19.8-15.3c-5.1 4.5-11.8 9.9-19.8 15.3C441.5 465.9 414.3 480 384 480s-57.6-14.1-76.2-26.8c-7.9-5.4-14.7-10.8-19.8-15.3c-5.1 4.5-11.8 9.9-19.8 15.3C249.5 465.9 222.3 480 192 480s-57.6-14.1-76.2-26.8c-7.9-5.4-14.6-10.8-19.8-15.3c-5.1 4.5-11.8 9.9-19.8 15.3c-14.9 10.2-35.4 21.2-58.5 25.2C8 480.1 0 472 0 462.2c0-7.9 6.4-14.1 14.1-15.7c15.9-3.1 31.3-11.1 44-19.8c9.8-6.7 18-14 25.9-21.9c6.6-6.5 17.2-6.6 23.8 0c7.9 7.9 16.2 15.2 25.9 21.9C150.3 438 171.1 448 192 448z\"]\n};\nvar faLadderWater = faWaterLadder;\nvar faSwimmingPool = faWaterLadder;\nvar faArrowsUpDown = {\n prefix: 'fal',\n iconName: 'arrows-up-down',\n icon: [320, 512, [\"arrows-v\"], \"f07d\", \"M171.3 4.7c-6.1-6.1-15.9-6.3-22.2-.4l-104 96c-6.5 6-6.9 16.1-.9 22.6s16.1 6.9 22.6 .9L144 52.5V457.4L75.3 388.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l96 96c6.2 6.2 16.4 6.2 22.6 0l96-96c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L176 457.4V54.6l68.7 68.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-96-96z\"]\n};\nvar faArrowsV = faArrowsUpDown;\nvar faChessPawnPiece = {\n prefix: 'fal',\n iconName: 'chess-pawn-piece',\n icon: [256, 512, [\"chess-pawn-alt\"], \"f444\", \"M176 176a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm16 80h-6.1l10.7 96H164.3l-10.7-96H128 102.3L91.6 352H59.5l10.7-96H64c-8.8 0-16-7.2-16-16s7.2-16 16-16c-10-13.4-16-30-16-48c0-44.2 35.8-80 80-80s80 35.8 80 80c0 18-6 34.6-16 48c8.8 0 16 7.2 16 16s-7.2 16-16 16zm-1.8 128c11.1 0 21.4 5.7 27.2 15.1l32.7 52.7c3.9 6.2 5.9 13.4 5.9 20.8c0 21.8-17.7 39.4-39.4 39.4H39.4C17.7 512 0 494.3 0 472.6c0-7.3 2.1-14.5 5.9-20.8l32.7-52.7c5.8-9.4 16.1-15.1 27.2-15.1H190.2zM33.1 468.7c-.7 1.2-1.1 2.5-1.1 3.9c0 4.1 3.3 7.4 7.4 7.4H216.6c4.1 0 7.4-3.3 7.4-7.4c0-1.4-.4-2.7-1.1-3.9L190.2 416 65.8 416 33.1 468.7z\"]\n};\nvar faChessPawnAlt = faChessPawnPiece;\nvar faFaceGrimace = {\n prefix: 'fal',\n iconName: 'face-grimace',\n icon: [512, 512, [128556, \"grimace\"], \"f57f\", \"M256 32a224 224 0 1 0 0 448 224 224 0 1 0 0-448zM512 256A256 256 0 1 1 0 256a256 256 0 1 1 512 0zM168 320c-13.3 0-24 10.7-24 24s10.7 24 24 24h8V320h-8zm40 48h32V320H208v48zm96 0V320H272v48h32zm32 0h8c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8v48zM168 288H344c30.9 0 56 25.1 56 56s-25.1 56-56 56H168c-30.9 0-56-25.1-56-56s25.1-56 56-56zm-15.6-80a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm184-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faGrimace = faFaceGrimace;\nvar faWheelchairMove = {\n prefix: 'fal',\n iconName: 'wheelchair-move',\n icon: [448, 512, [\"wheelchair-alt\"], \"e2ce\", \"M368 80a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-80a56 56 0 1 1 0 112A56 56 0 1 1 368 0zM199.5 106.9c-11.9-4.9-25.6-2.1-34.7 7l-41.4 41.4c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l41.4-41.4c18.2-18.2 45.6-23.7 69.5-14L313.5 119c31.7 13 40 54.1 15.8 78.4l-49.1 49.1c6.9 7.9 13.1 16.4 18.4 25.6H412.1c20.5 0 35.7 19 31.2 38.9L415.6 435.5c-1.9 8.6-10.5 14.1-19.1 12.1s-14.1-10.5-12.1-19.1L412.1 304H312.7c4.8 15.2 7.3 31.3 7.3 48c0 88.4-71.6 160-160 160S0 440.4 0 352s71.6-160 160-160c5.6 0 11.1 .3 16.5 .8l67.7-67.7-44.7-18.3zm107.2 67.8c8.1-8.1 5.3-21.8-5.3-26.1l-25.1-10.3-62.8 62.8c15.7 5.6 30.3 13.5 43.3 23.4l49.9-49.9zM160 480a128 128 0 1 0 0-256 128 128 0 1 0 0 256z\"]\n};\nvar faWheelchairAlt = faWheelchairMove;\nvar faTurnDown = {\n prefix: 'fal',\n iconName: 'turn-down',\n icon: [384, 512, [10549, \"level-down-alt\"], \"f3be\", \"M128 352H70.7c-3.7 0-6.7 3-6.7 6.7c0 1.9 .8 3.7 2.2 5L192 476.2 317.8 363.7c1.4-1.3 2.2-3.1 2.2-5c0-3.7-3-6.7-6.7-6.7H256c-17.7 0-32-14.3-32-32V144c0-61.9-50.1-112-112-112H48c-8.8 0-16 7.2-16 16V80c0 8.8 7.2 16 16 16l64 0c26.5 0 48 21.5 48 48V320c0 17.7-14.3 32-32 32zm78 154.7c-3.8 3.4-8.8 5.3-14 5.3s-10.1-1.9-14-5.3L44.9 387.5C36.7 380.2 32 369.7 32 358.7C32 337.3 49.3 320 70.7 320H96h32V288 144c0-8.8-7.2-16-16-16l-64 0C21.5 128 0 106.5 0 80V48C0 21.5 21.5 0 48 0h64c79.5 0 144 64.5 144 144V288v32h32 25.3c21.4 0 38.7 17.3 38.7 38.7c0 11-4.7 21.5-12.9 28.8L206 506.7z\"]\n};\nvar faLevelDownAlt = faTurnDown;\nvar faSquareS = {\n prefix: 'fal',\n iconName: 'square-s',\n icon: [448, 512, [], \"e27d\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm160.7 94c-1.5 8.5-.5 14.1 1.5 18.2c2 4.2 5.7 8.3 11.7 12.3c12.8 8.4 31.8 13.9 54.4 20.1l1.5 .4c20.7 5.7 44.5 12.3 62 23.8c9.3 6.1 17.7 14.3 23 25.2c5.3 11.1 6.6 23.8 4 37.7c-4.5 24.3-21.6 40.2-43.1 48.5c-21.1 8.1-47.2 9.5-74.1 5.6l-.1 0 0 0c-17-2.6-46.2-11.2-61.2-15.9c-8.4-2.6-13.1-11.6-10.5-20.1s11.6-13.1 20.1-10.5c15.2 4.8 42.2 12.6 56.4 14.8c23.4 3.4 43.6 1.8 57.9-3.8c13.9-5.4 21.2-13.8 23.1-24.4c1.5-8.5 .5-14.1-1.5-18.2c-2-4.2-5.7-8.3-11.7-12.3c-12.8-8.4-31.8-13.9-54.4-20.1l-1.5-.4 0 0c-20.7-5.7-44.5-12.3-62-23.8c-9.3-6.1-17.7-14.3-23-25.2c-5.3-11.1-6.6-23.8-4-37.7c4.5-24.3 21.6-40.2 43.1-48.5c21.1-8.1 47.2-9.5 74.1-5.6c8.4 1.2 25.9 5 34.1 7c8.6 2.2 13.8 10.8 11.6 19.4s-10.8 13.8-19.4 11.6c-7.6-1.9-24-5.4-31-6.4c-23.4-3.5-43.6-1.8-57.9 3.8c-13.9 5.4-21.2 13.8-23.1 24.4z\"]\n};\nvar faRectangleBarcode = {\n prefix: 'fal',\n iconName: 'rectangle-barcode',\n icon: [576, 512, [\"barcode-alt\"], \"f463\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H512c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H512c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm96 48c0-8.8 7.2-16 16-16s16 7.2 16 16V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V144zm288 0c0-8.8 7.2-16 16-16s16 7.2 16 16V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V144zm80-16c8.8 0 16 7.2 16 16V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-8.8 7.2-16 16-16zM160 144c0-8.8 7.2-16 16-16s16 7.2 16 16V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V144zm80-16c8.8 0 16 7.2 16 16V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-8.8 7.2-16 16-16zm64 16c0-8.8 7.2-16 16-16s16 7.2 16 16V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V144z\"]\n};\nvar faBarcodeAlt = faRectangleBarcode;\nvar faPersonWalkingArrowRight = {\n prefix: 'fal',\n iconName: 'person-walking-arrow-right',\n icon: [640, 512, [], \"e552\", \"M176 56a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm80 0A56 56 0 1 0 144 56a56 56 0 1 0 112 0zM117.6 172.3c1.3-.7 2.6-1.4 3.9-2L95 255.2c-5.7 18.2 0 38.1 14.4 50.6L209.9 393l30.7 107.4c2.4 8.5 11.3 13.4 19.8 11s13.4-11.3 11-19.8L240.7 384.2c-1.7-6-5.1-11.3-9.8-15.4L187.3 331l37.8-109.2 8.8 26.4c5.6 16.9 16.7 31.4 31.5 41.3l29.7 19.8c7.4 4.9 17.3 2.9 22.2-4.4s2.9-17.3-4.4-22.2l-29.7-19.8c-8.9-5.9-15.5-14.6-18.9-24.8l-17.1-51.4c-11.7-35-44.5-58.7-81.4-58.7c-22.1 0-43.9 5.6-63.4 16.2l-12.7 6.9c-35.3 19.3-61 52.4-70.7 91.5l-2.4 9.5c-2.1 8.6 3.1 17.3 11.6 19.4s17.3-3.1 19.4-11.6l2.4-9.6c7.6-30.4 27.5-56.2 55-71.2l12.7-6.9zm7.9 92.5l32.7-104.5c2.5-.2 5-.3 7.5-.3c15.9 0 30.5 7 40.6 18.4l-45 130-30.9-26.8c-4.8-4.2-6.7-10.8-4.8-16.9zm-6.4 88.9c-7.9-4-17.5-.7-21.5 7.2L66.9 422.5 4.7 484.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l62.2-62.2c2.4-2.4 4.5-5.2 6-8.3l30.8-61.7c4-7.9 .7-17.5-7.2-21.5zm419.1-190c-6.8-5.7-16.9-4.7-22.5 2s-4.7 16.9 2 22.5L579.8 240H384c-8.8 0-16 7.2-16 16s7.2 16 16 16H579.8l-62.1 51.7c-6.8 5.7-7.7 15.7-2 22.5s15.7 7.7 22.5 2l96-80c3.6-3 5.8-7.5 5.8-12.3s-2.1-9.3-5.8-12.3l-96-80z\"]\n};\nvar faSquareEnvelope = {\n prefix: 'fal',\n iconName: 'square-envelope',\n icon: [448, 512, [\"envelope-square\"], \"f199\", \"M384 64c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM352 160v29.2L231.3 255.6c-2.2 1.2-4.7 1.9-7.3 1.9s-5.1-.6-7.3-1.9L96 189.2V160H352zm0 65.7V352H96V225.7l105.3 57.9c7 3.8 14.8 5.8 22.7 5.8s15.8-2 22.7-5.8L352 225.7zM96 128c-17.7 0-32 14.3-32 32V352c0 17.7 14.3 32 32 32H352c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32H96z\"]\n};\nvar faEnvelopeSquare = faSquareEnvelope;\nvar faDice = {\n prefix: 'fal',\n iconName: 'dice',\n icon: [640, 512, [127922], \"f522\", \"M252.3 57c-15.6-15.6-40.9-15.6-56.6 0L57 195.7c-15.6 15.6-15.6 40.9 0 56.6L195.7 391c15.6 15.6 40.9 15.6 56.6 0L391 252.3c15.6-15.6 15.6-40.9 0-56.6L252.3 57zM173.1 34.3c28.1-28.1 73.7-28.1 101.8 0L413.7 173.1c28.1 28.1 28.1 73.7 0 101.8L274.9 413.7c-28.1 28.1-73.7 28.1-101.8 0L34.3 274.9c-28.1-28.1-28.1-73.7 0-101.8L173.1 34.3zM320 448V413.8l32-32V448c0 17.7 14.3 32 32 32H576c17.7 0 32-14.3 32-32V256c0-17.7-14.3-32-32-32H466.7c0-10.8-1.7-21.6-5-32H576c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H384c-35.3 0-64-28.7-64-64zM480 328a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM224 144a24 24 0 1 1 0-48 24 24 0 1 1 0 48zM120 200a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm104 0a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm0 152a24 24 0 1 1 0-48 24 24 0 1 1 0 48zM328 200a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faUnicorn = {\n prefix: 'fal',\n iconName: 'unicorn',\n icon: [640, 512, [129412], \"f727\", \"M448 32h24 8 5.8c24.7 0 45.4 18.8 47.8 43.4l7.7 80.8c1.1 11.9-4.5 23.4-14.7 29.7c-14.4 9-33.4 4.9-42.9-9.2l-6.4-9.6c-3-4.5-8-7.1-13.3-7.1H432c-8.8 0-16 7.2-16 16v52.8c-.3 1.5-.4 3-.3 4.5c.2 2.2 .3 4.4 .3 6.7c0 24-10.4 45.1-26.7 59.6c-3.4 3-5.3 7.4-5.3 11.9V472c0 4.4-3.6 8-8 8H344c-4.4 0-8-3.6-8-8V334.7c0-7.8-5.6-14.5-13.3-15.8c-1.4-.2-2.8-.5-4.3-.8L202.2 291.9c-5.2-1.2-10.6 .3-14.5 4s-5.7 9-4.8 14.3c.8 4.5 1.1 9.1 1.1 13.7c0 11.3-2.3 22.4-6.7 32.8l-8.1 19c-5 11.7-5.9 24.8-2.5 37l15.9 57.2c1.4 5.1-2.4 10.1-7.7 10.1H141.6c-3.6 0-6.7-2.4-7.7-5.9l-13.5-48.6c-6.3-22.8-4.7-47.1 4.6-68.8l8.1-19c1.9-4.4 2.8-9.1 2.8-13.9c0-4.6-.9-9.3-2.7-13.5L99.9 230.2C97.3 224 96 217.4 96 210.7c0-28 22.7-50.7 50.7-50.7H192h40 88c8.8 0 16-7.2 16-16c0-61.9 50.1-112 112-112zM564.2 64c-2.5-12.2-7.7-23.4-15-32.9C555.5 29 560 23 560 16c0-8.8-7.2-16-16-16H485.8 480h-8H448C373.9 0 312.8 56 304.9 128H232 192 146.7c-33.5 0-62.3 19.9-75.3 48.5C31.3 180.8 0 214.7 0 256v48c0 8.8 7.2 16 16 16s16-7.2 16-16V256c0-20.9 13.4-38.7 32-45.3c0 10.9 2.2 21.7 6.4 31.7l33.4 80.1c.2 .4 .2 .8 .2 1.2c0 .4-.1 .9-.3 1.3l-8.1 19c-12.2 28.4-14.3 60.2-6 90l13.5 48.6c4.8 17.3 20.6 29.3 38.5 29.3h33.2c26.5 0 45.6-25.2 38.5-50.7l-15.9-57.2c-1.5-5.3-1.1-10.9 1.1-15.9l8.1-19c5.6-13.1 8.8-27.2 9.2-41.4L304 347.6V472c0 22.1 17.9 40 40 40h32c22.1 0 40-17.9 40-40V318.4c19.6-20 32-47.5 32-78.4c0-1.9-.1-3.9-.1-5.8c.1-.7 .1-1.4 .1-2.2V192h7.4l1.7 2.5c19 28.6 57.4 36.8 86.5 18.6c20.4-12.7 31.8-35.9 29.6-59.9l-4.7-49.4 65.2-21.7c3.8-1.3 6.4-4.8 6.4-8.8c0-5.1-4.2-9.3-9.3-9.3H564.2zM480 112a16 16 0 1 0 0-32 16 16 0 1 0 0 32z\"]\n};\nvar faBowlingBall = {\n prefix: 'fal',\n iconName: 'bowling-ball',\n icon: [512, 512, [], \"f436\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm240-72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm-120-8a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM240 88a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faPompebled = {\n prefix: 'fal',\n iconName: 'pompebled',\n icon: [512, 512, [], \"e43d\", \"M257.2 22.7c53.3 36.8 58 117.1 21.4 183.5l-.4 .7-.5 .7c-.6 .9-.4 2 .3 2.5c.2 .2 .4 .2 .4 .2s.2 0 .2 0s.2 0 .3-.1s.3-.2 .4-.5l.4-.6 .4-.5c47.8-58 123.3-82.4 176.4-44.3c64 45.3 72.1 140.1 25.2 209.7l0 0c-83.4 123.2-257.1 185-380.5 96.5l9.3-13-9.3 13c0 0 0 0 0 0C-21.9 382.3-27.4 196.3 56.1 73.1c0 0 0 0 0 0L69.3 82 56.1 73c0 0 0 0 0 0C103.1 2.9 192.9-22.8 257.2 22.7zM238.8 48.8C192.6 16.1 122.2 31.9 82.6 90.9l0 .1C5.7 204.5 15 369.3 120.1 444.4l0 0C224.2 519 378.6 469.5 455.5 356c39.6-58.7 29.4-132.7-17.2-165.7l-.1-.1c-33.4-24-90.3-12.8-132.7 38.3c-10.7 14.7-31 18.3-46 7.5c-14.7-10.6-18.2-30.8-8.5-45.8C283.1 131.4 273.1 72.4 239 49l-.2-.1 0 0z\"]\n};\nvar faBrain = {\n prefix: 'fal',\n iconName: 'brain',\n icon: [512, 512, [129504], \"f5dc\", \"M144.2 75.4c-.6 6.7-5.4 12.4-12 14C111.4 94.7 96 113.6 96 136c0 3.1 .3 6.2 .9 9.2c1.5 7.6-2.7 15.2-10 18C68.8 170 56 187.6 56 208c0 5.2 .8 10.3 2.4 15c2 6.1 .2 12.8-4.6 17C40.4 251.7 32 268.9 32 288c0 22.9 12 43 30.2 54.3c6.7 4.2 9.3 12.6 6.3 19.8C65.6 368.8 64 376.2 64 384c0 30.9 25.1 56 56 56c3.3 0 6.5-.3 9.5-.8c7.5-1.3 14.9 2.9 17.6 10c6.9 18 24.4 30.8 44.8 30.8c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48c-25 0-45.5 19.1-47.8 43.4zM256 480c-14.6 19.4-37.8 32-64 32c-29.6 0-55.5-16.1-69.3-40c-.9 0-1.8 0-2.7 0c-48.6 0-88-39.4-88-88c0-7.6 1-15 2.8-22C13.6 344.4 0 317.8 0 288c0-25.1 9.6-48 25.4-65c-.9-4.9-1.4-9.9-1.4-15c0-29.6 16.1-55.5 40-69.3c0-.9 0-1.8 0-2.7c0-33.6 20.7-62.4 50.1-74.2C122.3 26.4 154.1 0 192 0c26.2 0 49.4 12.6 64 32c14.6-19.4 37.8-32 64-32c37.9 0 69.7 26.4 77.9 61.8C427.3 73.6 448 102.4 448 136c0 .9 0 1.8 0 2.7c23.9 13.8 40 39.7 40 69.3c0 5.1-.5 10.1-1.4 15c15.8 17.1 25.4 40 25.4 65c0 29.8-13.6 56.4-34.8 74c1.8 7.1 2.8 14.4 2.8 22c0 48.6-39.4 88-88 88c-.9 0-1.8 0-2.7 0c-13.8 23.9-39.7 40-69.3 40c-26.2 0-49.4-12.6-64-32zm16-48c0 26.5 21.5 48 48 48c20.4 0 37.9-12.8 44.8-30.8c2.7-7.1 10.1-11.3 17.6-10c3.1 .5 6.3 .8 9.5 .8c30.9 0 56-25.1 56-56c0-7.8-1.6-15.2-4.4-21.8c-3.1-7.2-.4-15.7 6.3-19.8C468 331 480 310.9 480 288c0-19.1-8.4-36.3-21.7-48.1c-4.8-4.2-6.6-10.9-4.6-17c1.5-4.7 2.4-9.7 2.4-15c0-20.4-12.8-38-30.9-44.9c-7.3-2.8-11.5-10.4-10-18c.6-3 .9-6 .9-9.2c0-22.4-15.4-41.3-36.2-46.5c-6.6-1.7-11.4-7.3-12-14C365.5 51.1 345 32 320 32c-26.5 0-48 21.5-48 48V432z\"]\n};\nvar faWatchSmart = {\n prefix: 'fal',\n iconName: 'watch-smart',\n icon: [384, 512, [], \"e2cc\", \"M96 48V64H288V48c0-8.8-7.2-16-16-16H112c-8.8 0-16 7.2-16 16zM64 65.6V48C64 21.5 85.5 0 112 0H272c26.5 0 48 21.5 48 48V65.6c36.5 7.4 64 39.7 64 78.4V368c0 38.7-27.5 71-64 78.4V464c0 26.5-21.5 48-48 48l-160 0c-26.5 0-48-21.5-48-48l0-17.6C27.5 439 0 406.7 0 368V144c0-38.7 27.5-71 64-78.4zM96 464c0 8.8 7.2 16 16 16l160 0c8.8 0 16-7.2 16-16V448H96v16zM80 96c-26.5 0-48 21.5-48 48V368c0 26.5 21.5 48 48 48H304c26.5 0 48-21.5 48-48V144c0-26.5-21.5-48-48-48H80zm128 80v71.4l40.9 27.2c7.4 4.9 9.3 14.8 4.4 22.2s-14.8 9.3-22.2 4.4l-48-32c-4.5-3-7.1-8-7.1-13.3V176c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faBookUser = {\n prefix: 'fal',\n iconName: 'book-user',\n icon: [448, 512, [], \"f7e7\", \"M0 64C0 28.7 28.7 0 64 0H400c26.5 0 48 21.5 48 48V368c0 20.9-13.4 38.7-32 45.3V480h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H64c-35.3 0-64-28.7-64-64l0 0L0 64zM64 416c-17.7 0-32 14.3-32 32s14.3 32 32 32H384V416H64zM32 392.6c9.4-5.4 20.3-8.6 32-8.6H400c8.8 0 16-7.2 16-16V48c0-8.8-7.2-16-16-16H64C46.3 32 32 46.3 32 64l0 328.6zM240 176a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0-96a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM208 272c-26.5 0-48 21.5-48 48c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-44.2 35.8-80 80-80h64c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-26.5-21.5-48-48-48H208z\"]\n};\nvar faSensorCloud = {\n prefix: 'fal',\n iconName: 'sensor-cloud',\n icon: [640, 512, [\"sensor-smoke\"], \"e02c\", \"M64 64H384c17.7 0 32 14.3 32 32V225c11.2 1.4 21.9 4.2 32 8.3V96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H237.8c-5.2-9.9-9.1-20.7-11.4-32H64c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32zm64 80c0-8.8-7.2-16-16-16s-16 7.2-16 16V272c0 8.8 7.2 16 16 16s16-7.2 16-16V144zm64 0c0-8.8-7.2-16-16-16s-16 7.2-16 16V272c0 8.8 7.2 16 16 16s16-7.2 16-16V144zM336 352c0-35.3 28.7-64 64-64c24.4 0 45.7 13.7 56.5 33.9c2.5 4.6 7 7.7 12.1 8.3s10.3-1.3 13.8-5.1C489.8 317 500.3 312 512 312c22.1 0 40 17.9 40 40c0 .4 0 .9 0 1.3c-.2 7.7 5 14.4 12.5 16.1c24.9 5.7 43.6 28 43.6 54.6c0 30.9-25.1 56-56 56H344c-30.9 0-56-25.1-56-56c0-24.4 15.6-45.2 37.4-52.8c6.7-2.4 11-8.8 10.7-15.9c-.1-1.1-.1-2.2-.1-3.3zm64-96c-50.8 0-92.4 39.5-95.8 89.5C275.6 360 256 389.7 256 424c0 48.6 39.4 88 88 88H552c48.6 0 88-39.4 88-88c0-37.6-23.6-69.7-56.7-82.3c-5-34.9-35-61.7-71.3-61.7c-13.9 0-27 4-38 10.8c-17.6-21.3-44.2-34.8-74-34.8z\"]\n};\nvar faSensorSmoke = faSensorCloud;\nvar faClapperboardPlay = {\n prefix: 'fal',\n iconName: 'clapperboard-play',\n icon: [512, 512, [], \"e132\", \"M480 192V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V192H480zm0-32H382.6l87.3-87.3C476.1 78.5 480 86.8 480 96v64zm-249.4 0l96-96H433.4l-96 96H230.6zm-45.3 0H78.6l96-96H281.4l-96 96zM64 64h65.4l-96 96H32V96c0-17.7 14.3-32 32-32zm448 96V96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96v64 16 16V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V192 176 160zM216.1 226.2c-4.9-2.9-11.1-2.9-16.1-.1s-8.1 8.1-8.1 13.9V400c0 5.7 3.1 11 8.1 13.9s11.1 2.8 16.1-.1l136-80c4.9-2.9 7.9-8.1 7.9-13.8s-3-10.9-7.9-13.8l-136-80zM312.4 320L224 372V268l88.4 52z\"]\n};\nvar faBandage = {\n prefix: 'fal',\n iconName: 'bandage',\n icon: [640, 512, [129657, \"band-aid\"], \"f462\", \"M480 128V384h80c26.5 0 48-21.5 48-48V176c0-26.5-21.5-48-48-48H480zm-32 0H192V384H448V128zM160 384V128H80c-26.5 0-48 21.5-48 48V336c0 26.5 21.5 48 48 48h80zm0-288h32H448h32 80c44.2 0 80 35.8 80 80V336c0 44.2-35.8 80-80 80H480 448 192 160 80c-44.2 0-80-35.8-80-80V176c0-44.2 35.8-80 80-80h80zm112 88a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm72 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm-72 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm72 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faBandAid = faBandage;\nvar faCalendarMinus = {\n prefix: 'fal',\n iconName: 'calendar-minus',\n icon: [448, 512, [], \"f272\", \"M128 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V64H64C28.7 64 0 92.7 0 128v32 32V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V192 160 128c0-35.3-28.7-64-64-64H352V16c0-8.8-7.2-16-16-16s-16 7.2-16 16V64H128V16zM32 192H416V448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V192zM64 96H384c17.7 0 32 14.3 32 32v32H32V128c0-17.7 14.3-32 32-32zM304 352c8.8 0 16-7.2 16-16s-7.2-16-16-16H144c-8.8 0-16 7.2-16 16s7.2 16 16 16H304z\"]\n};\nvar faCircleXmark = {\n prefix: 'fal',\n iconName: 'circle-xmark',\n icon: [512, 512, [61532, \"times-circle\", \"xmark-circle\"], \"f057\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM180.7 180.7c-6.2 6.2-6.2 16.4 0 22.6L233.4 256l-52.7 52.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L256 278.6l52.7 52.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L278.6 256l52.7-52.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L256 233.4l-52.7-52.7c-6.2-6.2-16.4-6.2-22.6 0z\"]\n};\nvar faTimesCircle = faCircleXmark;\nvar faXmarkCircle = faCircleXmark;\nvar faCircle4 = {\n prefix: 'fal',\n iconName: 'circle-4',\n icon: [512, 512, [], \"e0f1\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM229.9 129.1c8.2 3.3 12.2 12.6 8.9 20.8L183.6 288H288V208c0-8.8 7.2-16 16-16s16 7.2 16 16v80h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H320v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V320H160c-5.3 0-10.3-2.6-13.2-7s-3.6-10-1.6-14.9l64-160c3.3-8.2 12.6-12.2 20.8-8.9z\"]\n};\nvar faGifts = {\n prefix: 'fal',\n iconName: 'gifts',\n icon: [640, 512, [], \"f79c\", \"M193.1 21.3c3-8.3-1.4-17.5-9.7-20.4s-17.5 1.4-20.4 9.7L144.5 62.8 127.2 10.9C124.4 2.6 115.3-2 106.9 .8S94 12.7 96.8 21.1L113 69.7 65.4 35.1c-7.1-5.2-17.2-3.6-22.4 3.5s-3.6 17.2 3.5 22.4L94.8 96H64C28.7 96 0 124.7 0 160V448c0 35.3 28.7 64 64 64H200.6c-5.4-9.4-8.6-20.3-8.6-32H64c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32H224c13.5 0 25.1 8.4 29.8 20.3c5.7-10 13.1-18.9 21.6-26.4C263.8 106.2 245.1 96 224 96H193.2l48.2-35.1c7.1-5.2 8.7-15.2 3.5-22.4s-15.2-8.7-22.4-3.5L176.3 68.7l16.8-47.4zM361.8 172.6L401.4 224H392 336c-17.7 0-32-14.3-32-32c0-17.6 14.4-32 32.2-32c10 0 19.6 4.7 25.6 12.6zM272 192c0 11.7 3.1 22.6 8.6 32H272c-26.5 0-48 21.5-48 48V464c0 26.5 21.5 48 48 48H592c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48h-8.6c5.4-9.4 8.6-20.3 8.6-32c0-35.4-28.9-64-64.2-64c-19.9 0-38.8 9.2-51 25.1L432 211.4l-44.8-58.3c-12.2-15.8-31.1-25.1-51-25.1c-35.3 0-64.2 28.6-64.2 64zm-16 80c0-8.8 7.2-16 16-16h64 56 24v96H256V272zm0 192V384H416v96H272c-8.8 0-16-7.2-16-16zm352 0c0 8.8-7.2 16-16 16H448V384H608v80zm0-192v80H448V256h24 56 64c8.8 0 16 7.2 16 16zM472 224h-9.4l39.6-51.4c6.1-7.9 15.6-12.6 25.6-12.6c17.7 0 32.2 14.4 32.2 32c0 17.7-14.3 32-32 32H472z\"]\n};\nvar faAlbumCollection = {\n prefix: 'fal',\n iconName: 'album-collection',\n icon: [512, 512, [], \"f8a0\", \"M32 16c0 8.8 7.2 16 16 16H464c8.8 0 16-7.2 16-16s-7.2-16-16-16H48C39.2 0 32 7.2 32 16zM16 80c0 8.8 7.2 16 16 16H480c8.8 0 16-7.2 16-16s-7.2-16-16-16H32c-8.8 0-16 7.2-16 16zm43.8 48C26.9 128 1.1 156.3 4 189.1l24.7 272C31.4 489.9 55.6 512 84.5 512H427.5c29 0 53.1-22.1 55.8-50.9l24.7-272c3-32.8-22.8-61.1-55.8-61.1H59.8zM35.9 186.2C34.6 172.1 45.7 160 59.8 160H452.2c14.1 0 25.2 12.1 23.9 26.2l-24.7 272c-1.1 12.4-11.5 21.8-23.9 21.8H84.5c-12.4 0-22.8-9.5-23.9-21.8l-24.7-272zM256 416c-77.7 0-128-49.3-128-96s50.3-96 128-96s128 49.3 128 96s-50.3 96-128 96zm0 32c88.4 0 160-57.3 160-128s-71.6-128-160-128s-160 57.3-160 128s71.6 128 160 128zm0-104c13.3 0 24-9 24-20s-10.7-20-24-20s-24 9-24 20s10.7 20 24 20z\"]\n};\nvar faHotel = {\n prefix: 'fal',\n iconName: 'hotel',\n icon: [512, 512, [127976], \"f594\", \"M16 0C7.2 0 0 7.2 0 16s7.2 16 16 16H32V480H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H240h32H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H480V32h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H16zM272 432v48H240V432c0-8.8 7.2-16 16-16s16 7.2 16 16zm32 0c0-26.5-21.5-48-48-48s-48 21.5-48 48v48H64V32H448V480H304V432zM320 96v32c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H352c-17.7 0-32 14.3-32 32zm64 0v32H352V96h32zM240 64c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H240zm0 32h32v32H240V96zM208 224v32c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32H240c-17.7 0-32 14.3-32 32zm64 0v32H240V224h32zm80-32c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32H352zm0 32h32v32H352V224zM96 96v32c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H128c-17.7 0-32 14.3-32 32zm64 0v32H128V96h32zm-32 96c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32H128zm0 32h32v32H128V224zm68.4 154.7C211 362.3 232.3 352 256 352s45 10.3 59.6 26.7c5.9 6.6 16 7.1 22.6 1.3s7.1-16 1.3-22.6C319 334.4 289.2 320 256 320s-63 14.4-83.5 37.3c-5.9 6.6-5.3 16.7 1.3 22.6s16.7 5.3 22.6-1.3z\"]\n};\nvar faEarthAsia = {\n prefix: 'fal',\n iconName: 'earth-asia',\n icon: [512, 512, [127759, \"globe-asia\"], \"f57e\", \"M480 256c0-91.8-55.2-170.7-134.2-205.3l-22.3 55.8c-4.8 11.9-15 20.8-27.4 24l-17 4.3c-5.6 1.4-7.9 8-4.5 12.6l16.1 21.5c10.2 13.6 10.7 32.1 1.3 46.2l-10.7 16.1c-10.4 15.6-27.9 24.9-46.6 24.9h-2.3c-5.4 0-9.2 5.2-7.7 10.3l6 19.9c7.4 24.8-11.1 49.8-37 49.8c-16.8 0-32.2-9.5-39.7-24.5l-9.3-18.5c-2.4-4.9-9-5.9-12.8-2.1l-15.4 15.4c-9.5 9.5-23 13.6-36.1 10.9l-42-8.4C62 407 150.5 480 256 480c47.4 0 91.4-14.7 127.6-39.9l-8.5-6.1-10.6 3.9c-27.7 10.3-58.6-2.7-70.6-29.6L288.4 396c-11.9-26.5-1.5-57.7 23.8-71.8L348.4 304l6.1-9.5c9-14 24.4-22.5 41.1-22.5s32.1 8.5 41.1 22.5l1.9 2.9 15.7-4.4c7.5-2.1 15.4-1.9 22.8 .4c2-12.2 3.1-24.7 3.1-37.4zm-11.6 68.4c-1.8-.9-3.8-1-5.6-.5l-15.8 4.4c-13.4 3.8-27.8-1.7-35.3-13.5l-2-3.1c-3.1-4.8-8.4-7.7-14.1-7.7s-11 2.9-14.1 7.7l-6.1 9.5c-2.8 4.4-6.7 8.1-11.4 10.7l-36.2 20.2c-10.9 6.1-15.3 19.4-10.2 30.8l5.5 12.4c5.2 11.5 18.4 17.1 30.3 12.7L372 401c5-1.9 10.6-1.1 15 2l22.4 16.2c27.3-25.6 48.1-58 59.9-94.5l-.9-.4zM315.6 40c-19-5.2-38.9-8-59.6-8C132.3 32 32 132.3 32 256c0 6.4 .3 12.8 .8 19l53.7 10.7c2.6 .5 5.3-.3 7.2-2.2l15.4-15.4c19.3-19.3 51.9-14 64.1 10.4l9.3 18.5c2.1 4.2 6.4 6.8 11 6.8c4.5 0 7.7-4.3 6.4-8.6l-6-19.9c-7.7-25.7 11.5-51.5 38.3-51.5h2.3c8 0 15.5-4 20-10.7l10.7-16.1c1.9-2.8 1.8-6.5-.3-9.2l-16.1-21.5c-17.2-22.9-5.5-55.9 22.3-62.8l17-4.3c2.5-.6 4.5-2.4 5.5-4.8L315.6 40zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm163.9 88.5l32 8c8.6 2.1 13.8 10.8 11.6 19.4s-10.8 13.8-19.4 11.6l-32-8c-8.6-2.1-13.8-10.8-11.6-19.4s10.8-13.8 19.4-11.6zm84.2 3c-8.6-2.1-13.8-10.8-11.6-19.4l8-32c2.1-8.6 10.8-13.8 19.4-11.6s13.8 10.8 11.6 19.4l-8 32c-2.1 8.6-10.8 13.8-19.4 11.6zM366.3 143.2l-16 32c-4 7.9-13.6 11.1-21.5 7.2s-11.1-13.6-7.2-21.5l16-32c4-7.9 13.6-11.1 21.5-7.2s11.1 13.6 7.2 21.5z\"]\n};\nvar faGlobeAsia = faEarthAsia;\nvar faIdCardClip = {\n prefix: 'fal',\n iconName: 'id-card-clip',\n icon: [576, 512, [\"id-card-alt\"], \"f47f\", \"M320 32H256V96h64V32zM256 0h64c17.7 0 32 14.3 32 32V96c0 17.7-14.3 32-32 32H256c-17.7 0-32-14.3-32-32V32c0-17.7 14.3-32 32-32zm64 256a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-96 0a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM208 432c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-44.2 35.8-80 80-80h64c44.2 0 80 35.8 80 80c0 8.8-7.2 16-16 16s-16-7.2-16-16c0-26.5-21.5-48-48-48H256c-26.5 0-48 21.5-48 48zM64 64H192V96H64c-17.7 0-32 14.3-32 32V448c0 17.7 14.3 32 32 32H512c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32H384V64H512c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128C0 92.7 28.7 64 64 64z\"]\n};\nvar faIdCardAlt = faIdCardClip;\nvar faMagnifyingGlassPlus = {\n prefix: 'fal',\n iconName: 'magnifying-glass-plus',\n icon: [512, 512, [\"search-plus\"], \"f00e\", \"M208 32a176 176 0 1 1 0 352 176 176 0 1 1 0-352zm0 384c51.7 0 99-18.8 135.3-50L484.7 507.3c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L366 343.3c31.2-36.4 50-83.7 50-135.3C416 93.1 322.9 0 208 0S0 93.1 0 208S93.1 416 208 416zM192 304c0 8.8 7.2 16 16 16s16-7.2 16-16V224h80c8.8 0 16-7.2 16-16s-7.2-16-16-16H224V112c0-8.8-7.2-16-16-16s-16 7.2-16 16v80H112c-8.8 0-16 7.2-16 16s7.2 16 16 16h80v80z\"]\n};\nvar faSearchPlus = faMagnifyingGlassPlus;\nvar faThumbsUp = {\n prefix: 'fal',\n iconName: 'thumbs-up',\n icon: [512, 512, [128077, 61575], \"f164\", \"M288.8 81.7c3.5-12.8 16.7-20.3 29.5-16.8s20.3 16.7 16.8 29.5l-4.5 16.4c-5.5 20.2-13.9 39.3-24.7 56.9c-3.1 4.9-3.2 11.1-.4 16.2s8.2 8.2 14 8.2H448c17.7 0 32 14.3 32 32c0 11.3-5.9 21.3-14.8 27c-7.2 4.6-9.5 13.9-5.3 21.3c2.6 4.6 4.1 10 4.1 15.7c0 12.4-7 23.1-17.3 28.5c-4.2 2.2-7.3 6.1-8.3 10.8s.1 9.5 3 13.2c4.2 5.4 6.7 12.2 6.7 19.5c0 14.2-9.2 26.3-22.1 30.4c-7.8 2.5-12.4 10.6-10.7 18.6c.5 2.2 .7 4.5 .7 6.9c0 17.7-14.3 32-32 32H294.5c-15.8 0-31.2-4.7-44.4-13.4l-38.5-25.7c-9-6-16.6-13.7-22.4-22.6c-4.9-7.4-14.8-9.4-22.2-4.6s-9.4 14.8-4.6 22.2c8.1 12.3 18.7 23.1 31.4 31.6l38.5 25.7c18.4 12.3 40 18.8 62.1 18.8H384c35.3 0 64-28.7 64-64l0-.6c19.1-11.1 32-31.7 32-55.4c0-8.7-1.8-17.1-4.9-24.7C487.9 323.6 496 306.8 496 288c0-6.5-1-12.8-2.8-18.7C504.8 257.7 512 241.7 512 224c0-35.3-28.7-64-64-64H346.4c6.2-13.1 11.3-26.7 15.1-40.9l4.5-16.4c8.1-29.8-9.5-60.6-39.3-68.8s-60.6 9.5-68.8 39.3l-4.5 16.4c-8.9 32.6-29.6 60.8-58.2 79l-3.1 2c-11.8 7.5-21.7 17.1-29.5 28.2c-5.1 7.2-3.3 17.2 4 22.3s17.2 3.3 22.3-4c5.4-7.7 12.2-14.4 20.4-19.5l3.1-2c35.3-22.4 60.9-57.2 71.9-97.5l4.5-16.4zM32 224H96V448H32V224zM0 224V448c0 17.7 14.3 32 32 32H96c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32H32c-17.7 0-32 14.3-32 32z\"]\n};\nvar faCloudShowers = {\n prefix: 'fal',\n iconName: 'cloud-showers',\n icon: [512, 512, [], \"f73f\", \"M96 112c0-44.2 35.8-80 80-80c32.2 0 59.9 19 72.6 46.4c2.2 4.8 6.6 8.1 11.8 9s10.4-.8 14.1-4.5c11.6-11.7 27.7-19 45.5-19c35.3 0 64 28.7 64 64l0 .3c0 4.5 1.9 8.8 5.2 11.8s7.8 4.5 12.2 4.1c2.2-.2 4.3-.3 6.6-.3c39.8 0 72 32.2 72 72s-32.2 72-72 72H104c-39.8 0-72-32.2-72-72c0-33.5 22.9-61.7 53.9-69.7c8.2-2.1 13.3-10.3 11.7-18.6c-1-5.1-1.5-10.3-1.5-15.7zM512 216c0-55.2-43-100.3-97.3-103.8C407.2 66.7 367.6 32 320 32c-19.3 0-37.3 5.7-52.4 15.5C247.3 18.8 213.9 0 176 0C114.1 0 64 50.1 64 112c0 2.6 .1 5.3 .3 7.9C26.6 135.5 0 172.6 0 216c0 57.4 46.6 104 104 104H408c57.4 0 104-46.6 104-104zM128 384c0-8.8-7.2-16-16-16s-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16V384zm192 0c0-8.8-7.2-16-16-16s-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16V384zm-96 32c0-8.8-7.2-16-16-16s-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16V416zm192 0c0-8.8-7.2-16-16-16s-16 7.2-16 16v80c0 8.8 7.2 16 16 16s16-7.2 16-16V416z\"]\n};\nvar faUserClock = {\n prefix: 'fal',\n iconName: 'user-clock',\n icon: [640, 512, [], \"f4fd\", \"M128 128a96 96 0 1 1 192 0 96 96 0 1 1 -192 0zm224 0A128 128 0 1 0 96 128a128 128 0 1 0 256 0zM32 480c1.2-79.7 66.2-144 146.3-144h91.4c18.2 0 35.6 3.3 51.7 9.4c1.4-10.8 3.8-21.4 7-31.5c-18.4-6.4-38.2-9.9-58.8-9.9H178.3C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H394.8c-12.9-9.1-24.5-19.9-34.6-32H32zM496 256a112 112 0 1 1 0 224 112 112 0 1 1 0-224zm0 256a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm0-224c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H512V304c0-8.8-7.2-16-16-16z\"]\n};\nvar faOnion = {\n prefix: 'fal',\n iconName: 'onion',\n icon: [448, 512, [129477], \"e427\", \"M195.8 0c2.7 0 5.3 .5 7.7 1.5l.1 0c3.2 1.4 6 3.5 8.1 6.3l0 0c.7 .9 1.3 1.9 1.9 3l3.4 6.8c2.9 5.9 11.4 5.9 14.3 0l3.4-6.8c.5-1.1 1.2-2.1 1.9-3l0 0c2.1-2.8 4.9-5 8.1-6.3l.1 0c2.4-1 5-1.5 7.7-1.5c10.9 0 19.6 9 21.3 19.8c2.1 13.6 6.5 25.6 12.4 36.6l.1 0 0 0 0 0 .1 .1 .2 .4 .7 1.4 1.2 2.2c15.3 25.7 39.5 45.4 64.5 65.7C399 163.7 448 203.5 448 288c0 83.4-62.5 139.3-140.4 163.1l-.1 .1-.6 .6-.2 .2-.1 .1 0 0 0 0s0 0-.1-.1c-.1-.1-.2-.2-.3-.4l-.1 0 13.1 39.4c2.8 8.4-1.7 17.4-10.1 20.2s-17.4-1.7-20.2-10.1l-14-42c-11.5 2.1-23.1 3.5-34.8 4.3V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V463.4c-11.7-.8-23.3-2.2-34.8-4.3l-14 42c-2.8 8.4-11.9 12.9-20.2 10.1s-12.9-11.9-10.1-20.2L142 451.5C63.4 428 0 372 0 288c0-84.5 49-124.3 95.3-162C120.5 105.6 144.8 85.8 160 60l1-1.8 .7-1.3 .2-.3 .1-.1 0 0 0 0 .1 0c6-11 10.3-23 12.5-36.6C176.2 9 184.9 0 195.8 0zM119.2 147.9l-4.8 3.9 0 0c-4.5 3.7-8.9 7.3-13.1 10.7C62 195.3 32 227 32 288c0 43.8 21.5 78.3 56.8 103.3c6 4.3 12.5 8.3 19.2 11.9C93.2 378.7 80 345.3 80 304c0-48.4 19.7-108.4 39.2-156.1zm48 277.2c14.6 3.4 29.6 5.5 44.9 6.4c-2.2-4.5-4.5-9.4-6.8-14.9C194.6 391.3 184 355.2 184 312c0-61.9 6.1-128.6 12.1-179.6c3-25.6 6-47.3 8.3-62.6c1.1-7.7 2.1-13.8 2.7-17.9l.2-1.3c-2.3-1-4.4-2.3-6.5-3.7c-3.4 10.4-7.7 19.9-12.9 28.7l-1.2 2.4c-2.1 4.1-5.2 10.1-8.9 17.6c-7.4 15-17.2 35.9-27.1 59.7C130.8 203.4 112 260.8 112 304c0 39.4 14.5 70.3 29.2 91.5c7.3 10.6 14.7 18.7 20.1 24.1c2.4 2.4 4.4 4.2 5.9 5.5zm80.7 5.5c14.7-1.5 29.2-4.2 43.1-8c.8-.8 1.6-1.7 2.6-2.7c5.1-5.6 12-13.8 18.9-24.3c13.8-21 27-49.9 27-83.6c0-44.9-19.7-104.3-40.5-154.1c-10.3-24.6-20.5-46.2-28.2-61.6c-3.8-7.7-7-13.9-9.3-18.1l-1.2-2.2c-5.2-8.9-9.7-18.6-13.1-29.1c-2.3 1.7-4.8 3-7.4 4.1l0 .1-.2 1.2c-.2 1-.4 2.6-.7 4.6c-.6 4.1-1.6 10-2.7 17.6c-2.2 15.1-5.2 36.5-8.2 61.7C221.9 186.6 216 251.9 216 312c0 37.9 9.4 69.8 18.8 92.2c4.7 11.2 9.4 19.9 12.8 25.8l.3 .5zm81.9-282c20.5 49.6 41.7 112.6 41.7 163.4c0 34.3-10.9 63.9-23.6 86.7c3.9-2.4 7.7-4.9 11.4-7.4c35.3-25 56.8-59.5 56.8-103.3c0-61-30-92.7-69.3-125.5c-4.1-3.5-8.5-7-13.1-10.7l-3.9-3.2z\"]\n};\nvar faClockTwelveThirty = {\n prefix: 'fal',\n iconName: 'clock-twelve-thirty',\n icon: [512, 512, [], \"e359\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM272 144V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faArrowDownToDottedLine = {\n prefix: 'fal',\n iconName: 'arrow-down-to-dotted-line',\n icon: [448, 512, [], \"e095\", \"M363.3 219.3l-128 128c-6.2 6.2-16.4 6.2-22.6 0l-128-128c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L208 297.4V192 48c0-8.8 7.2-16 16-16s16 7.2 16 16V192 297.4L340.7 196.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zM32 424a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm384 0a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM104 448a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm120-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm72 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faHandDots = {\n prefix: 'fal',\n iconName: 'hand-dots',\n icon: [512, 512, [\"allergies\"], \"f461\", \"M210.7 38.8C218 16.3 239.1 0 264 0s46 16.3 53.3 38.8c7.9-4.3 17-6.8 26.7-6.8c30.9 0 56 25.1 56 56v13.4c7.3-3.5 15.4-5.4 24-5.4c30.9 0 56 25.1 56 56V336c0 97.2-78.8 176-176 176h-8.5c-65.8 0-128.9-26.1-175.4-72.6L16.4 335.6c-21.9-21.9-21.9-57.3 0-79.2s57.3-21.9 79.2 0L128 288.8V88c0-30.9 25.1-56 56-56c9.7 0 18.8 2.5 26.7 6.8zM208 88c0-13.3-10.7-24-24-24s-24 10.7-24 24V327.4c0 6.5-3.9 12.3-9.9 14.8s-12.9 1.1-17.4-3.5L73 279c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9L142.8 416.7c40.5 40.5 95.4 63.3 152.7 63.3H304c79.5 0 144-64.5 144-144V152c0-13.3-10.7-24-24-24c-13.2 0-24 10.7-24 23.9V240c0 8.8-7.2 16-16 16s-16-7.2-16-16V152.1l0-.1V88c0-13.3-10.7-24-24-24c-13.2 0-24 10.7-24 23.9V240c0 8.8-7.2 16-16 16s-16-7.2-16-16V88.1l0-.1 0-32c0-13.3-10.7-24-24-24s-24 10.7-24 24V79.9l0 .1V240c0 8.8-7.2 16-16 16s-16-7.2-16-16V88.1l0-.1zm32 232a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm48 48a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm80-64a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM320 416a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm-64-16a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm-80-32a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z\"]\n};\nvar faAllergies = faHandDots;\nvar faFileInvoice = {\n prefix: 'fal',\n iconName: 'file-invoice',\n icon: [384, 512, [], \"f570\", \"M320 480H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H192V144c0 26.5 21.5 48 48 48H352V448c0 17.7-14.3 32-32 32zM240 160c-8.8 0-16-7.2-16-16V32.5c2.8 .7 5.4 2.1 7.4 4.2L347.3 152.6c2.1 2.1 3.5 4.6 4.2 7.4H240zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V163.9c0-12.7-5.1-24.9-14.1-33.9L254.1 14.1c-9-9-21.2-14.1-33.9-14.1H64zm0 80c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zm0 64c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zM224 432c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H240c-8.8 0-16 7.2-16 16zm64-96H96V272H288v64zM96 240c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32H288c17.7 0 32-14.3 32-32V272c0-17.7-14.3-32-32-32H96z\"]\n};\nvar faWindowMinimize = {\n prefix: 'fal',\n iconName: 'window-minimize',\n icon: [512, 512, [128469], \"f2d1\", \"M16 448c-8.8 0-16 7.2-16 16s7.2 16 16 16H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H16z\"]\n};\nvar faRectangleWide = {\n prefix: 'fal',\n iconName: 'rectangle-wide',\n icon: [640, 512, [], \"f2fc\", \"M576 96c17.7 0 32 14.3 32 32V384c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V128c0-17.7 14.3-32 32-32H576zM64 64C28.7 64 0 92.7 0 128V384c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64H64z\"]\n};\nvar faCommentArrowUp = {\n prefix: 'fal',\n iconName: 'comment-arrow-up',\n icon: [512, 512, [], \"e144\", \"M32 240c0-91.4 93.8-176 224-176s224 84.6 224 176s-93.8 176-224 176c-32 0-63-5.9-93.5-16.2c-9.9-3.3-20.7-1.8-29.2 4.2c-15.4 10.7-31.4 20-48.4 27.4L91.2 446l-6.4-14.7c-10.5 4.6-21.5 8.6-32.7 11.5c.5-.9 1.1-1.8 1.6-2.6C68 416.5 76.3 391 79.4 363.9c1-9.2-2.1-17.7-7.4-23.9c-24.5-29.4-40-62.9-40-100zM256 32C114.5 32 0 125.2 0 240c0 46.6 19.6 87.1 47.4 120.5c0 .1 .1 .1 .1 .2c-2.6 22.6-9.5 43.5-21.3 63.1c-6.5 10.8-13.5 20.8-21.7 29c-4.5 4.6-5.9 11.5-3.4 17.4s8.3 9.8 14.8 9.8c28.7 0 57.6-8.9 81.6-19.3c19.2-8.4 37.1-18.7 53.9-30.5c.2-.1 .5-.2 .7-.1C185.5 441.3 220 448 256 448c141.5 0 256-93.2 256-208S397.5 32 256 32zm16 150.6l52.7 52.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-80-80c-6.2-6.2-16.4-6.2-22.6 0l-80 80c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L240 182.6V320c0 8.8 7.2 16 16 16s16-7.2 16-16V182.6z\"]\n};\nvar faGarlic = {\n prefix: 'fal',\n iconName: 'garlic',\n icon: [512, 512, [129476], \"e40e\", \"M192 48c0-8.8 7.2-16 16-16h32V70.2c0 51.4 18.4 101.1 51.9 140.2l17.1 19.9c17.5 20.4 27.1 46.5 27.1 73.3C336 365.6 285.8 416 224 416c-61.9 0-112-50.1-112-112v-5.3c0-24.4 7.6-48.3 21.8-68.2L149 209.3c24.6-34.5 39.2-75 42.3-117.1c.4-3.6 .6-7.3 .6-11V75.2 56 48zm-32 0v8V75.2c0 4.7-.2 9.3-.5 14c-2.1 16.4-10.4 31.6-23.5 42L52.7 197.8C19.4 224.5 0 264.8 0 307.5C0 385.1 62.9 448 140.5 448H144v48c0 8.8 7.2 16 16 16s16-7.2 16-16V448h32v48c0 8.8 7.2 16 16 16s16-7.2 16-16V448h32v48c0 8.8 7.2 16 16 16s16-7.2 16-16V448h32v48c0 8.8 7.2 16 16 16s16-7.2 16-16V448h3.5C449.1 448 512 385.1 512 307.5c0-42.7-19.4-83-52.7-109.7L376 131.2c-15.2-12.1-24-30.5-24-50V48c0-26.5-21.5-48-48-48H208c-26.5 0-48 21.5-48 48zM72.7 222.8l61-48.8c-3.3 5.7-6.8 11.3-10.7 16.7l-15.2 21.2C89.7 237.3 80 267.6 80 298.7V304c0 45.1 20.7 85.4 53.2 111.8C76.7 412 32 365 32 307.5c0-33 15-64.1 40.7-84.7zM371.5 416H314.3c32.7-26.5 53.7-67.1 53.7-112.3c0-34.5-12.3-68-34.8-94.2l-17.1-19.9C287.7 156.4 272 114 272 70.2V32h32c8.8 0 16 7.2 16 16V81.2c0 29.2 13.3 56.7 36 75l83.3 66.6C465 243.4 480 274.6 480 307.5C480 367.4 431.4 416 371.5 416z\"]\n};\nvar faMugSaucer = {\n prefix: 'fal',\n iconName: 'mug-saucer',\n icon: [640, 512, [\"coffee\"], \"f0f4\", \"M416 64h16 16V224v32 32c0 35.3-28.7 64-64 64H192c-35.3 0-64-28.7-64-64V64H416zm64 224V256h48c61.9 0 112-50.1 112-112s-50.1-112-112-112H448 432 416 128c-17.7 0-32 14.3-32 32V288c0 53 43 96 96 96H384c53 0 96-43 96-96zm48-64H480V64h48c44.2 0 80 35.8 80 80s-35.8 80-80 80zM16 448c-8.8 0-16 7.2-16 16s7.2 16 16 16H560c8.8 0 16-7.2 16-16s-7.2-16-16-16H16z\"]\n};\nvar faCoffee = faMugSaucer;\nvar faBrush = {\n prefix: 'fal',\n iconName: 'brush',\n icon: [384, 512, [], \"f55d\", \"M256 352c-17.7 0-32 14.3-32 32v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V384c0-17.7-14.3-32-32-32H80c-26.5 0-48-21.5-48-48V288H352v16c0 26.5-21.5 48-48 48H256zm96-96H32V64c0-17.7 14.3-32 32-32H96V144c0 8.8 7.2 16 16 16s16-7.2 16-16V32h64v80c0 8.8 7.2 16 16 16s16-7.2 16-16V32h96c17.7 0 32 14.3 32 32V256zM80 384H96h32v32 32c0 35.3 28.7 64 64 64s64-28.7 64-64V416 384h32 16c44.2 0 80-35.8 80-80V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V304c0 44.2 35.8 80 80 80z\"]\n};\nvar faTreeDecorated = {\n prefix: 'fal',\n iconName: 'tree-decorated',\n icon: [448, 512, [], \"f7dc\", \"M236.4 5.9C233.3 2.2 228.8 0 224 0s-9.3 2.2-12.4 5.9L70.3 178.6c-4.1 5-6.3 11.2-6.3 17.6C64 211.6 76.4 224 91.8 224h18.9L38.1 314.8c-3.9 4.9-6.1 11.1-6.1 17.4C32 347.5 44.5 360 59.8 360H81.1L5.2 467.6C1.8 472.4 0 478 0 483.9C0 499.4 12.6 512 28.1 512H160 288 419.9c15.5 0 28.1-12.6 28.1-28.1c0-5.8-1.8-11.5-5.2-16.2L366.9 360h21.3c15.4 0 27.8-12.5 27.8-27.8c0-6.3-2.2-12.5-6.1-17.4L337.3 224h18.9c15.4 0 27.8-12.4 27.8-27.8c0-6.4-2.2-12.6-6.3-17.6L236.4 5.9zM412.4 480H288 160 35.6l89.5-126.8c3.4-4.9 3.9-11.3 1.1-16.6s-8.2-8.6-14.2-8.6H68.5l88-110c3.8-4.8 4.6-11.4 1.9-16.9s-8.3-9.1-14.4-9.1H100.7L224 41.3 347.3 192H304c-6.2 0-11.8 3.5-14.4 9.1s-1.9 12.1 1.9 16.9l88 110H336c-6 0-11.5 3.3-14.2 8.6s-2.3 11.7 1.1 16.6L412.4 480zM184 312a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm80-152a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm24 280a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faMask = {\n prefix: 'fal',\n iconName: 'mask',\n icon: [576, 512, [], \"f6fa\", \"M80.9 150.2C46 180.3 32 222.2 32 272c0 47.9 16.9 83.2 41.9 106.7C99.2 402.4 135 416 176 416h8.4c12.1 0 23.2-6.8 28.6-17.7L236.2 352l28.6 14.3-23.2 46.3c-10.8 21.7-33 35.4-57.2 35.4H176C80 448 0 384 0 272S64 64 288 64s288 96 288 208s-80 176-176 176h-8.4c-24.2 0-46.4-13.7-57.2-35.4l-23.2-46.3c-4.4-8.8-13.3-14.3-23.2-14.3s-18.8 5.5-23.2 14.3L236.2 352c9.8-19.6 29.9-32 51.8-32s42 12.4 51.8 32l23.2 46.3c5.4 10.8 16.5 17.7 28.6 17.7H400c41 0 76.8-13.6 102.1-37.3c25-23.4 41.9-58.7 41.9-106.7c0-49.8-14-91.7-48.9-121.8C459.3 119.3 396.2 96 288 96s-171.3 23.3-207.1 54.2zM160 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0-96a64 64 0 1 1 0 128 64 64 0 1 1 0-128zm288 64a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm-96 0a64 64 0 1 1 128 0 64 64 0 1 1 -128 0z\"]\n};\nvar faCalendarHeart = {\n prefix: 'fal',\n iconName: 'calendar-heart',\n icon: [448, 512, [], \"e0d3\", \"M128 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V64H64C28.7 64 0 92.7 0 128v32 32V448c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V192 160 128c0-35.3-28.7-64-64-64H352V16c0-8.8-7.2-16-16-16s-16 7.2-16 16V64H128V16zM32 192H416V448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V192zM64 96H384c17.7 0 32 14.3 32 32v32H32V128c0-17.7 14.3-32 32-32zm80 205.3c0-16.2 13.1-29.3 29.3-29.3c7.8 0 15.2 3.1 20.7 8.6l18.7 18.7c6.2 6.2 16.4 6.2 22.6 0l18.7-18.7c5.5-5.5 12.9-8.6 20.7-8.6c16.2 0 29.3 13.1 29.3 29.3c0 7.8-3.1 15.2-8.6 20.7L224 393.4l-71.4-71.4c-5.5-5.5-8.6-12.9-8.6-20.7zM173.3 240c-33.8 0-61.3 27.4-61.3 61.3c0 16.2 6.5 31.8 17.9 43.3l82.7 82.7c6.2 6.2 16.4 6.2 22.6 0l82.7-82.7c11.5-11.5 17.9-27.1 17.9-43.3c0-33.8-27.4-61.3-61.3-61.3c-16.2 0-31.8 6.5-43.3 17.9l-7.4 7.4-7.4-7.4c-11.5-11.5-27.1-17.9-43.3-17.9z\"]\n};\nvar faMagnifyingGlassMinus = {\n prefix: 'fal',\n iconName: 'magnifying-glass-minus',\n icon: [512, 512, [\"search-minus\"], \"f010\", \"M208 32a176 176 0 1 1 0 352 176 176 0 1 1 0-352zm0 384c51.7 0 99-18.8 135.3-50L484.7 507.3c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L366 343.3c31.2-36.4 50-83.7 50-135.3C416 93.1 322.9 0 208 0S0 93.1 0 208S93.1 416 208 416zM112 192c-8.8 0-16 7.2-16 16s7.2 16 16 16H304c8.8 0 16-7.2 16-16s-7.2-16-16-16H112z\"]\n};\nvar faSearchMinus = faMagnifyingGlassMinus;\nvar faFlower = {\n prefix: 'fal',\n iconName: 'flower',\n icon: [448, 512, [127804, 10047], \"f7ff\", \"M448 168c0 33.6-12.2 64.3-32.3 88c20.1 23.7 32.3 54.4 32.3 88c0 75.1-60.9 136-136 136c-33.6 0-64.3-12.2-88-32.3c-23.7 20.1-54.4 32.3-88 32.3C60.9 480 0 419.1 0 344c0-33.6 12.2-64.3 32.3-88C12.2 232.3 0 201.6 0 168C0 92.9 60.9 32 136 32c33.6 0 64.3 12.2 88 32.3C247.7 44.2 278.4 32 312 32c75.1 0 136 60.9 136 136zM203.3 88.7C185.1 73.3 161.7 64 136 64C78.6 64 32 110.6 32 168c0 25.7 9.3 49.1 24.7 67.3c10.1 11.9 10.1 29.5 0 41.4C41.3 294.9 32 318.3 32 344c0 57.4 46.6 104 104 104c25.7 0 49.1-9.3 67.3-24.7c11.9-10.1 29.5-10.1 41.4 0C262.9 438.7 286.3 448 312 448c57.4 0 104-46.6 104-104c0-25.7-9.3-49.1-24.7-67.3c-10.1-11.9-10.1-29.5 0-41.4C406.7 217.1 416 193.7 416 168c0-57.4-46.6-104-104-104c-25.7 0-49.1 9.3-67.3 24.7c-11.9 10.1-29.5 10.1-41.4 0zM272 256a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zm-128 0a80 80 0 1 1 160 0 80 80 0 1 1 -160 0z\"]\n};\nvar faArrowDownFromArc = {\n prefix: 'fal',\n iconName: 'arrow-down-from-arc',\n icon: [512, 512, [], \"e614\", \"M256 160c8.8 0 16 7.2 16 16l0 277.9L372 341.4c5.9-6.6 16-7.2 22.6-1.3s7.2 16 1.3 22.6l-128 144c-3 3.4-7.4 5.4-12 5.4s-8.9-2-12-5.4l-128-144c-5.9-6.6-5.3-16.7 1.3-22.6s16.7-5.3 22.6 1.3L240 453.9 240 176c0-8.8 7.2-16 16-16zM0 256C0 114.6 114.6 0 256 0S512 114.6 512 256c0 8.8-7.2 16-16 16s-16-7.2-16-16C480 132.3 379.7 32 256 32S32 132.3 32 256c0 8.8-7.2 16-16 16s-16-7.2-16-16z\"]\n};\nvar faRightLeftLarge = {\n prefix: 'fal',\n iconName: 'right-left-large',\n icon: [640, 512, [], \"e5e1\", \"M205.2 496c-12.4 0-24.4-4.6-33.7-12.8L49.3 374.6C38.3 364.8 32 350.7 32 336s6.3-28.8 17.3-38.6L171.5 188.8c9.3-8.3 21.3-12.8 33.7-12.8c28 0 50.8 22.7 50.8 50.8V240H400c8.8 0 16 7.2 16 16v29.2c0 10.4 8.4 18.8 18.8 18.8c4.6 0 9-1.7 12.5-4.7L569.4 190.7c4.2-3.7 6.6-9.1 6.6-14.7s-2.4-10.9-6.6-14.7L447.3 52.7c-3.4-3.1-7.9-4.7-12.5-4.7C424.4 48 416 56.4 416 66.8V96c0 8.8-7.2 16-16 16H288c-8.8 0-16-7.2-16-16s7.2-16 16-16h96V66.8c0-28 22.7-50.8 50.8-50.8c12.4 0 24.4 4.6 33.7 12.8L590.7 137.4c11 9.8 17.3 23.8 17.3 38.6s-6.3 28.8-17.3 38.6L468.5 323.2c-9.3 8.3-21.3 12.8-33.7 12.8c-28 0-50.8-22.7-50.8-50.8V272H240c-8.8 0-16-7.2-16-16V226.8c0-10.4-8.4-18.8-18.8-18.8c-4.6 0-9 1.7-12.5 4.7L70.6 321.3c-4.2 3.7-6.6 9.1-6.6 14.7s2.4 10.9 6.6 14.7L192.7 459.3c3.4 3.1 7.9 4.7 12.5 4.7c10.4 0 18.8-8.4 18.8-18.8V416c0-8.8 7.2-16 16-16H352c8.8 0 16 7.2 16 16s-7.2 16-16 16H256v13.2c0 28-22.7 50.8-50.8 50.8z\"]\n};\nvar faRulerVertical = {\n prefix: 'fal',\n iconName: 'ruler-vertical',\n icon: [256, 512, [], \"f548\", \"M192 32c17.7 0 32 14.3 32 32V96H160c-8.8 0-16 7.2-16 16s7.2 16 16 16h64v64H160c-8.8 0-16 7.2-16 16s7.2 16 16 16h64v64H160c-8.8 0-16 7.2-16 16s7.2 16 16 16h64v64H160c-8.8 0-16 7.2-16 16s7.2 16 16 16h64v32c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H192zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H192c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64z\"]\n};\nvar faCirclesOverlap = {\n prefix: 'fal',\n iconName: 'circles-overlap',\n icon: [640, 512, [], \"e600\", \"M232 415.8c-25.2-36.2-40-80.3-40-127.8c0-99.1 64.3-183.1 153.5-212.7C312.4 48.2 270.1 32 224 32C118 32 32 118 32 224s86 192 192 192c2.7 0 5.4-.1 8-.2zm36.4-5C353 390.8 416 314.7 416 224c0-46.7-16.7-89.5-44.4-122.8C287 121.2 224 197.3 224 288c0 46.7 16.7 89.5 44.4 122.8zm-11.6 34.8c-10.7 1.6-21.7 2.4-32.8 2.4C100.3 448 0 347.7 0 224S100.3 0 224 0c62.3 0 118.6 25.4 159.2 66.4C393.9 64.8 404.8 64 416 64c123.7 0 224 100.3 224 224s-100.3 224-224 224c-62.3 0-118.6-25.4-159.2-66.4zM408 96.2c25.2 36.3 40 80.3 40 127.8c0 99.1-64.3 183.1-153.5 212.7C327.6 463.8 369.9 480 416 480c106 0 192-86 192-192s-86-192-192-192c-2.7 0-5.4 .1-8 .2z\"]\n};\nvar faUserLarge = {\n prefix: 'fal',\n iconName: 'user-large',\n icon: [512, 512, [\"user-alt\"], \"f406\", \"M368 144a112 112 0 1 0 -224 0 112 112 0 1 0 224 0zm-256 0a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zM32 480H480c-.7-70.8-58.3-128-129.3-128H161.3C90.3 352 32.7 409.2 32 480zM0 481.3C0 392.2 72.2 320 161.3 320H350.7C439.8 320 512 392.2 512 481.3c0 17-13.8 30.7-30.7 30.7H30.7C13.8 512 0 498.2 0 481.3z\"]\n};\nvar faUserAlt = faUserLarge;\nvar faStarshipFreighter = {\n prefix: 'fal',\n iconName: 'starship-freighter',\n icon: [576, 512, [], \"e03a\", \"M377.1 371.9L315.5 285c2.9-9.2 4.5-18.9 4.5-29c0-53-43-96-96-96s-96 43-96 96s43 96 96 96c.6 0 1.1 0 1.7 0l60.7 85.7C266.8 444.4 245.8 448 224 448C118 448 32 362 32 256S118 64 224 64c104.4 0 189.3 83.3 191.9 187c0 1.6 .1 3.3 .1 5c0 1.7 0 3.5-.1 5.2c-1.1 41.5-15.4 79.8-38.9 110.7zM405.4 400H397l-.6-.9c22.5-27.1 38.7-59.5 46.5-95.1h4.6H544v42.1L405.4 400zM460 413.1l95.6-37.2c12.3-4.8 20.4-16.6 20.4-29.8V304c0-17.7-14.3-32-32-32H479.5 447.4c.4-5.3 .6-10.6 .6-16c0-5.3-.2-10.6-.6-15.8l0-.2h32.1H544c17.7 0 32-14.3 32-32V165.9c0-13.2-8.1-25-20.4-29.8L347.6 55.2C308.2 39.9 266.3 32 224 32C100.3 32 0 132.3 0 256S100.3 480 224 480c28.7 0 57.1-3.6 84.8-10.7l13.5 19.1C332.8 503.2 349.8 512 368 512h56c30.9 0 56-25.1 56-56c0-17.2-7.8-32.6-20-42.9zM447.4 208h-4.6c-8.4-38.6-26.8-73.5-52.3-101.8L544 165.9l0 42.1H447.4zM80 272a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm48-112a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM112 368a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm48-112a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM348.2 469.6L262.3 344.1c15-6.5 28-16.8 37.9-29.6L380.7 432H424c13.3 0 24 10.7 24 24s-10.7 24-24 24H368c-7.9 0-15.3-3.9-19.8-10.4z\"]\n};\nvar faTrainTram = {\n prefix: 'fal',\n iconName: 'train-tram',\n icon: [448, 512, [128650], \"e5b4\", \"M41.3 50c9.1-11.4 22.9-18 37.5-18H208V96H160c-53 0-96 43-96 96V352c0 28.9 12.8 54.8 33 72.4L36.7 484.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l65.8-65.8c10.8 4.2 22.6 6.5 34.9 6.5H288c12.3 0 24-2.3 34.9-6.5l65.8 65.8c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L351 424.4c20.2-17.6 33-43.5 33-72.4V192c0-53-43-96-96-96H240V32H369.2c14.6 0 28.4 6.6 37.5 18l12.8 16c5.5 6.9 15.6 8 22.5 2.5s8-15.6 2.5-22.5L431.7 30C416.5 11 393.5 0 369.2 0H78.8C54.5 0 31.5 11 16.3 30L3.5 46C-2 52.9-.9 63 6 68.5S23 72.9 28.5 66L41.3 50zM160 128h48 32 48c35.3 0 64 28.7 64 64v64H96V192c0-35.3 28.7-64 64-64zM96 288H352v64c0 35.3-28.7 64-64 64H160c-35.3 0-64-28.7-64-64V288zm96 56a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm88 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faBridgeSuspension = {\n prefix: 'fal',\n iconName: 'bridge-suspension',\n icon: [640, 512, [], \"e4cd\", \"M128 0c6.4 0 11.9 3.7 14.5 9.2l6.6 13.2C181.4 87.1 247.6 128 320 128s138.6-40.9 170.9-105.6l6.6-13.2C500.1 3.7 505.6 0 512 0c7.2 0 13.3 4.7 15.3 11.3c14.5 43 58.7 87.5 102.6 104.9c8.2 3.3 12.2 12.6 9 20.8s-12.6 12.2-20.8 9c-33-13.1-66-38.6-90.1-69.1V256h96c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16-7.2-16-16s7.2-16 16-16h96V76.8c-24.1 30.5-57.1 56-90.1 69.1c-8.2 3.3-17.5-.8-20.8-9s.8-17.5 9-20.8C54 98.7 98.2 54.3 112.7 11.3C114.7 4.7 120.8 0 128 0zm16 256h64V129.9c-24.5-14.2-46.3-33.1-64-55.8V256zm96 0h64V159.4c-22.2-1.6-43.7-6.5-64-14.3V256zm96 0h64V145.2c-20.3 7.8-41.8 12.7-64 14.3V256zm96 0h64V74c-17.7 22.7-39.5 41.6-64 55.8V256zM16 320H32c53 0 96 43 96 96v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V448c0-70.7 57.3-128 128-128s128 57.3 128 128v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V416c0-53 43-96 96-96h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H608c-35.3 0-64 28.7-64 64v48c0 26.5-21.5 48-48 48H464c-26.5 0-48-21.5-48-48V448c0-53-43-96-96-96s-96 43-96 96v16c0 26.5-21.5 48-48 48H144c-26.5 0-48-21.5-48-48V416c0-35.3-28.7-64-64-64H16c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faTrashCheck = {\n prefix: 'fal',\n iconName: 'trash-check',\n icon: [448, 512, [], \"e2af\", \"M164.2 39.5L148.9 64H299.1L283.8 39.5c-2.9-4.7-8.1-7.5-13.6-7.5H177.7c-5.5 0-10.6 2.8-13.6 7.5zM311 22.6L336.9 64h47.1H416h16c8.8 0 16 7.2 16 16s-7.2 16-16 16H413.7L388.2 452.6C385.9 486.1 358 512 324.4 512H123.6c-33.6 0-61.4-25.9-63.8-59.4L34.3 96H16C7.2 96 0 88.8 0 80s7.2-16 16-16H32 64.1h47.1L137 22.6C145.8 8.5 161.2 0 177.7 0h92.5c16.6 0 31.9 8.5 40.7 22.6zM66.4 96L91.7 450.3C92.9 467 106.8 480 123.6 480H324.4c16.8 0 30.7-13 31.9-29.7L381.6 96H66.4zM331.3 235.3l-128 128c-6.2 6.2-16.4 6.2-22.6 0l-64-64c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L192 329.4 308.7 212.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z\"]\n};\nvar faUserNurse = {\n prefix: 'fal',\n iconName: 'user-nurse',\n icon: [448, 512, [], \"f82f\", \"M128 128v16H320V128 70.2l-96-36-96 36V128zM96 160V128 70.2c0-13.3 8.3-25.3 20.8-30l96-36c7.2-2.7 15.2-2.7 22.5 0l96 36c12.5 4.7 20.8 16.6 20.8 30V128v32 16c0 70.7-57.3 128-128 128s-128-57.3-128-128V160zm224 16H128c0 53 43 96 96 96s96-43 96-96zM119 359.1C68.7 376.5 32.5 424 32 480H416c-.5-56-36.7-103.5-86.9-120.9L259 433.6c-19 20.1-51 20.1-69.9 0L119 359.1zm22.4-22.9l71 75.5c6.3 6.7 17 6.7 23.3 0l71-75.5c7.6-8.1 18.9-11.9 29.4-8.5C401 348.6 448 409.4 448 481.3c0 17-13.8 30.7-30.7 30.7H30.7C13.8 512 0 498.2 0 481.3c0-71.9 47-132.7 111.9-153.6c10.5-3.4 21.8 .4 29.4 8.5zM216 48h16c4.4 0 8 3.6 8 8V72h16c4.4 0 8 3.6 8 8V96c0 4.4-3.6 8-8 8H240v16c0 4.4-3.6 8-8 8H216c-4.4 0-8-3.6-8-8V104H192c-4.4 0-8-3.6-8-8V80c0-4.4 3.6-8 8-8h16V56c0-4.4 3.6-8 8-8z\"]\n};\nvar faBoombox = {\n prefix: 'fal',\n iconName: 'boombox',\n icon: [640, 512, [128254], \"f8a5\", \"M144 32H496c26.5 0 48 21.5 48 48v80H96V80c0-26.5 21.5-48 48-48zM64 80v80c-35.3 0-64 28.7-64 64V448c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V224c0-35.3-28.7-64-64-64V80c0-44.2-35.8-80-80-80H144C99.8 0 64 35.8 64 80zM80 192H560h16c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V224c0-17.7 14.3-32 32-32H80zM96 336a80 80 0 1 1 160 0A80 80 0 1 1 96 336zm192 0A112 112 0 1 0 64 336a112 112 0 1 0 224 0zm176-80a80 80 0 1 1 0 160 80 80 0 1 1 0-160zm0 192a112 112 0 1 0 0-224 112 112 0 1 0 0 224zM208 96c-8.8 0-16 7.2-16 16s7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H208zm96 0c-8.8 0-16 7.2-16 16s7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H304zm96 0c-8.8 0-16 7.2-16 16s7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H400z\"]\n};\nvar faSyringe = {\n prefix: 'fal',\n iconName: 'syringe',\n icon: [512, 512, [128137], \"f48e\", \"M404.7 4.7c-6.2 6.2-6.2 16.4 0 22.6L433.4 56 384 105.4 315.3 36.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l80 80 80 80c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L406.6 128 456 78.6l28.7 28.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-40-40-40-40c-6.2-6.2-16.4-6.2-22.6 0zm-272 224L82.7 278.6c-12 12-18.7 28.3-18.7 45.3V425.4L4.7 484.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L86.6 448H188.1c17 0 33.3-6.7 45.3-18.7l192-192-22.6-22.6-192 192c-6 6-14.1 9.4-22.6 9.4H96V323.9c0-8.5 3.4-16.6 9.4-22.6L144 262.6l52.7 52.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L166.6 240 208 198.6l52.7 52.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L230.6 176l66.7-66.7L274.7 86.6l-78.1 78.1s0 0 0 0s0 0 0 0l-64 64s0 0 0 0s0 0 0 0z\"]\n};\nvar faCloudSun = {\n prefix: 'fal',\n iconName: 'cloud-sun',\n icon: [640, 512, [9925], \"f6c4\", \"M303.8 13.4c-.9-5.4-4.5-10-9.6-12.1s-10.9-1.5-15.4 1.6L208 52.5 137.2 2.9c-4.5-3.2-10.3-3.8-15.4-1.6s-8.7 6.7-9.6 12.1L98.1 98.1 13.4 112.2c-5.4 .9-10 4.5-12.1 9.6s-1.5 10.9 1.6 15.4L52.5 208 2.9 278.8c-3.2 4.5-3.8 10.3-1.6 15.4s6.7 8.7 12.1 9.6l84.7 14.1 14.1 84.7c.9 5.4 4.5 10 9.6 12.1s10.9 1.5 15.4-1.6l24.4-17c3.2-20.2 11-38.9 22.5-54.8l-44.4 31.1-11.8-71c-1.1-6.7-6.4-12-13.2-13.2l-71-11.8 41.4-59.2c3.9-5.5 3.9-12.8 0-18.4L43.7 139.6l71-11.8c6.7-1.1 12-6.4 13.2-13.2l11.8-71 59.2 41.4c5.5 3.9 12.8 3.9 18.4 0l59.2-41.4 11.8 71c1.1 6.7 6.4 12 13.2 13.2l71 11.8-40.2 57.5c11.4-3.3 23.4-5.1 35.8-5.1c2.2 0 4.5 .1 6.7 .2l38.5-55c3.1-4.5 3.8-10.3 1.6-15.4s-6.7-8.7-12.1-9.6L317.9 98.1 303.8 13.4zm-59.9 275c7.8-30.6 26.5-56.8 51.9-74.1c.1-2.1 .2-4.2 .2-6.3c0-48.6-39.4-88-88-88s-88 39.4-88 88s39.4 88 88 88c12.8 0 24.9-2.7 35.9-7.6zM264 208a56 56 0 1 1 -112 0 56 56 0 1 1 112 0zm40 112c0-35.3 28.7-64 64-64c29.1 0 53.7 19.4 61.4 46c1.7 5.8 6.5 10.2 12.5 11.3s12-1.3 15.7-6.1c8.8-11.7 22.7-19.2 38.4-19.2c26.5 0 48 21.5 48 48c0 8.8-2.3 16.9-6.4 24c-2.9 5-2.9 11.1 0 16s8.1 8 13.9 8l8.3 0 0 0 .2 0c26.5 0 48 21.5 48 48s-21.5 48-48 48c-.6 0-1.2 0-1.8 0l-.3 0-.2 0H290.9c-.2 0-.4 0-.6 0c-.8 0-1.6 0-2.3 0c-35.3 0-64-28.7-64-64s28.7-64 64-64c.4 0 .8 0 1.3 0c4.9 .1 9.5-2 12.6-5.8s4.4-8.7 3.4-13.4c-.8-4.1-1.3-8.4-1.3-12.8zm64-96c-53 0-96 43-96 96l0 1.3c-45.4 7.6-80 47.1-80 94.7c0 53 43 96 96 96c1.1 0 2.1 0 3.2-.1H557.3c.9 0 1.8 0 2.7 0c44.2 0 80-35.8 80-80c0-39.4-28.4-72.1-65.8-78.7c1.2-5.6 1.9-11.3 1.9-17.2c0-44.2-35.8-80-80-80c-17 0-32.8 5.3-45.8 14.4C433.4 242.6 402.9 224 368 224z\"]\n};\nvar faShieldExclamation = {\n prefix: 'fal',\n iconName: 'shield-exclamation',\n icon: [512, 512, [], \"e247\", \"M243.5 37.3c8-3.4 17-3.4 25 0l176.7 75c11.3 4.8 18.9 15.5 18.8 27.6c-.5 94-39.4 259.8-195.5 334.5c-7.9 3.8-17.2 3.8-25.1 0C87.3 399.6 48.5 233.8 48 139.8c-.1-12.1 7.5-22.8 18.8-27.6l176.7-75zM281 7.8c-16-6.8-34-6.8-50 0L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.7 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2L281 7.8zM256 128c-8.8 0-16 7.2-16 16V272c0 8.8 7.2 16 16 16s16-7.2 16-16V144c0-8.8-7.2-16-16-16zm24 224a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faStopwatch20 = {\n prefix: 'fal',\n iconName: 'stopwatch-20',\n icon: [448, 512, [], \"e06f\", \"M144 0c-8.8 0-16 7.2-16 16s7.2 16 16 16h64V96.6C100.6 104.8 16 194.5 16 304c0 114.9 93.1 208 208 208s208-93.1 208-208c0-47.6-16-91.4-42.9-126.5l38.2-38.2c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-37 37c-33.7-32.3-78.3-53.3-127.7-57V32h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H144zm80 480a176 176 0 1 1 0-352 176 176 0 1 1 0 352zm16-240V368c0 26.5 21.5 48 48 48s48-21.5 48-48V240c0-26.5-21.5-48-48-48s-48 21.5-48 48zm48-16c8.8 0 16 7.2 16 16V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V240c0-8.8 7.2-16 16-16zM151.8 235.3c2.3-6.8 8.6-11.3 15.7-11.3c9.1 0 16.5 7.4 16.5 16.5v14.8c0 7.1-2.4 14-6.9 19.6l-32.6 40.7c-15.9 19.9-24.5 44.5-24.5 70V400c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H152c.4-17.6 6.5-34.6 17.5-48.3L202.1 295c9-11.2 13.9-25.2 13.9-39.6V240.5c0-26.8-21.7-48.5-48.5-48.5c-20.9 0-39.4 13.4-46.1 33.2l-.6 1.7c-2.8 8.4 1.7 17.4 10.1 20.2s17.4-1.7 20.2-10.1l.6-1.7z\"]\n};\nvar faSquareFull = {\n prefix: 'fal',\n iconName: 'square-full',\n icon: [512, 512, [128997, 128998, 128999, 129000, 129001, 129002, 129003, 11035, 11036], \"f45c\", \"M480 32V480H32V32H480zM32 0H0V32 480v32H32 480h32V480 32 0H480 32z\"]\n};\nvar faGripDots = {\n prefix: 'fal',\n iconName: 'grip-dots',\n icon: [448, 512, [], \"e410\", \"M384 192a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm0-64a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM224 192a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm0-64a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM48 176a16 16 0 1 0 32 0 16 16 0 1 0 -32 0zm64 0a48 48 0 1 1 -96 0 48 48 0 1 1 96 0zM384 352a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm0-64a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM208 336a16 16 0 1 0 32 0 16 16 0 1 0 -32 0zm64 0a48 48 0 1 1 -96 0 48 48 0 1 1 96 0zM64 352a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm0-64a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faCommentExclamation = {\n prefix: 'fal',\n iconName: 'comment-exclamation',\n icon: [512, 512, [], \"f4af\", \"M32 240c0-91.4 93.8-176 224-176s224 84.6 224 176s-93.8 176-224 176c-32 0-63-5.9-93.5-16.2c-9.9-3.3-20.7-1.8-29.2 4.2c-15.4 10.7-31.4 20-48.4 27.4L91.2 446l-6.4-14.7c-10.5 4.6-21.5 8.6-32.7 11.5c.5-.9 1.1-1.8 1.6-2.6C68 416.5 76.3 391 79.4 363.9c1-9.2-2.1-17.7-7.4-23.9c-24.5-29.4-40-62.9-40-100zM256 32C114.5 32 0 125.2 0 240c0 46.6 19.6 87.1 47.4 120.5c0 .1 .1 .1 .1 .2c-2.6 22.6-9.5 43.5-21.3 63.1c-6.5 10.8-13.5 20.8-21.7 29c-4.5 4.6-5.9 11.5-3.4 17.4s8.3 9.8 14.8 9.8c28.7 0 57.6-8.9 81.6-19.3c19.2-8.4 37.1-18.7 53.9-30.5c.2-.1 .5-.2 .7-.1C185.5 441.3 220 448 256 448c141.5 0 256-93.2 256-208S397.5 32 256 32zm0 80c-8.8 0-16 7.2-16 16V256c0 8.8 7.2 16 16 16s16-7.2 16-16V128c0-8.8-7.2-16-16-16zm24 224a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faPenSwirl = {\n prefix: 'fal',\n iconName: 'pen-swirl',\n icon: [512, 512, [], \"e214\", \"M454.8 45.5c-12.6-12.6-32.9-12.5-45.4 .1L383 72.4l57 57 26.7-26.8c12.5-12.5 12.5-32.8 0-45.2L454.8 45.5zM218.2 239.2c-4.3 4.4-7.3 9.9-8.6 15.9l-12.9 61.7 61.5-12.9c6.1-1.3 11.7-4.3 16.1-8.7L417.4 152 360.5 95.1 218.2 239.2zM386.7 23.1c24.9-25.3 65.7-25.4 90.8-.3l11.9 11.9c25 25 25 65.5 0 90.5L296.9 317.8c-8.8 8.8-20 14.8-32.1 17.4l-85.5 17.9c-5.3 1.1-10.8-.5-14.6-4.3s-5.5-9.3-4.3-14.6l18-85.7c2.5-12 8.5-23.1 17.1-31.8L386.7 23.1zM301.1 52.9C286.5 49.7 271.5 48 256 48C141.1 48 48 141.1 48 256s93.1 208 208 208c8.8 0 16 7.2 16 16s-7.2 16-16 16C123.5 496 16 388.5 16 256S123.5 16 256 16c24.7 0 48.5 3.7 71 10.7L301.1 52.9zM485.5 185.7c6.8 22.2 10.5 45.8 10.5 70.3c0 79.5-64.5 144-144 144c-12.4 0-24.5-1.6-36-4.5c-8.6-2.2-13.7-10.9-11.5-19.5s10.9-13.7 19.5-11.5c8.9 2.3 18.3 3.5 28 3.5c61.9 0 112-50.1 112-112c0-15.1-1.6-29.9-4.7-44.1l26.2-26.2z\"]\n};\nvar faFalafel = {\n prefix: 'fal',\n iconName: 'falafel',\n icon: [576, 512, [129478], \"e40a\", \"M160.4 177.7c-11.7-15.9-11.2-38 1.5-53.4c2.3-2.7 3.1-6.5 2.2-10.1c-5.1-20.1 4.7-41.3 23.7-50c3.1-1.4 5.4-4.3 6.1-7.9C198 35.9 216 21 237 21.6c3.3 .1 6.5-1.4 8.6-4.3C258 .5 280.7-4.9 299.3 4.9c3 1.6 6.5 1.6 9.4 0C327.3-4.9 350 .5 362.4 17.3c2.1 2.9 5.3 4.4 8.6 4.3c21-.6 39 14.3 42.9 34.7c.7 3.6 3.1 6.5 6.1 7.9c19 8.7 28.8 29.9 23.7 50c-.9 3.6 0 7.4 2.2 10.1c13.2 16 13.2 39.3 0 55.3c-2.3 2.7-3.1 6.5-2.2 10.1c.2 1 .5 2 .6 3c-4.2 .6-8.4 1.6-12.5 3c-6.6-2.2-13.4-3.4-20.2-3.7c-1.4-11.7 2-23.6 9.6-32.8c3.5-4.2 3.5-10.4 0-14.5c-8.8-10.7-12-25-8.6-38.4c1.4-5.5-1.4-10.9-6-13c-12.6-5.8-21.6-17.4-24.2-30.9c-1.1-5.5-5.7-9-10.6-8.9c-13.9 .4-27-6.1-35.3-17.3c-3.1-4.3-8.6-5.4-13-3.1c-12.3 6.5-27 6.5-39.3 0c-4.4-2.3-9.9-1.2-13 3.1C263.1 47.5 250 54 236 53.6c-4.9-.1-9.5 3.4-10.6 8.9c-2.6 13.6-11.6 25.2-24.2 30.9c-4.6 2.1-7.4 7.5-6 13c3.4 13.4 .2 27.7-8.6 38.4c-3.5 4.2-3.5 10.4 0 14.5c4.7 5.6 7.8 12.3 9.1 19.3c-11.4-3.1-23.5-3.5-35.3-.9zM240 128a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm27.2 182.2c-.5-3.7-2.8-7.1-6.5-8.8c-12.8-5.7-22-17.2-24.7-30.9c-1.1-5.3-5.8-9.1-11.3-8.9c-14 .4-27.3-6-35.7-17.1c-3.3-4.3-9.2-5.7-14.1-3.2c-12.4 6.4-27.2 6.4-39.6 0c-4.9-2.5-10.8-1.1-14.1 3.2c-8.4 11.2-21.7 17.5-35.7 17.1c-5.5-.2-10.2 3.7-11.3 8.9c-2.7 13.7-12 25.2-24.7 30.9c-5 2.2-7.6 7.7-6.2 12.9c3.5 13.5 .2 27.9-8.8 38.6c-3.5 4.1-3.5 10.1 0 14.3c9 10.7 12.3 25 8.8 38.6c-1.3 5.2 1.3 10.6 6.2 12.9c12.8 5.7 22 17.2 24.7 30.9c1.1 5.3 5.8 9.1 11.3 8.9c14-.4 27.3 6 35.7 17.1c3.3 4.3 9.2 5.7 14.1 3.2c12.4-6.4 27.2-6.4 39.6 0c4.9 2.5 10.8 1.1 14.1-3.2c8.4-11.1 21.7-17.5 35.7-17.1c5.5 .2 10.2-3.7 11.3-8.9c2.7-13.7 12-25.2 24.7-30.9c2.5-1.1 4.4-3 5.5-5.3c-.1 12 2.8 23.7 8.2 34.2l-.7 .3c-3.3 1.5-5.7 4.4-6.4 8c-4.1 20.6-22.5 35.2-43.5 34.6c-3.6-.1-7.1 1.6-9.2 4.4c-12.7 16.8-35.6 22-54.3 12.4c-3.2-1.7-7.1-1.7-10.3 0c-18.7 9.6-41.6 4.4-54.3-12.4c-2.2-2.9-5.6-4.5-9.2-4.4c-21 .6-39.4-14-43.5-34.6c-.7-3.5-3.1-6.5-6.4-8c-19.2-8.6-29.4-29.7-24.2-50.1c.9-3.5 .1-7.1-2.3-9.9c-13.6-16.1-13.6-39.6 0-55.6c2.3-2.7 3.2-6.4 2.3-9.9c-5.3-20.4 5-41.5 24.2-50.1c3.3-1.5 5.7-4.4 6.4-8c4.1-20.6 22.5-35.2 43.5-34.6c3.6 .1 7.1-1.6 9.2-4.4c12.7-16.8 35.6-22 54.3-12.4c3.2 1.7 7.1 1.7 10.3 0c18.7-9.6 41.6-4.4 54.3 12.4c2.2 2.9 5.6 4.5 9.2 4.4c21-.6 39.4 14 43.5 34.6c.7 3.5 3.1 6.5 6.4 8c2.9 1.3 5.6 2.9 8.1 4.7c-7.6 9.7-12.6 21.2-14.6 33.3zM64 368a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm48 48a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm16-48a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm224 0a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm48 48a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm13.1-159c-3.7-2-8.4-1-11.1 2.7c-7.9 10.8-20.6 17-34 16.6c-4.1-.1-8.1 2.8-9 7.6c-2.5 13.1-11.2 24.2-23.3 29.8c-3.9 1.8-6.3 6.4-5.1 11.2c3.3 12.9 .2 26.7-8.3 36.9c-3 3.6-3 8.9 0 12.5c8.5 10.3 11.5 24 8.3 36.9c-1.2 4.7 1.2 9.4 5.1 11.2c12.2 5.6 20.8 16.7 23.3 29.8c.9 4.7 4.9 7.7 9 7.6c13.4-.4 26.1 5.9 34 16.6c2.7 3.6 7.4 4.6 11.1 2.7c11.9-6.3 26-6.3 37.8 0c3.7 2 8.4 1 11.1-2.7c7.9-10.8 20.6-17 34-16.6c4.1 .1 8.1-2.8 9-7.6c2.5-13.1 11.2-24.2 23.3-29.8c3.9-1.8 6.3-6.4 5.1-11.2c-2.5-9.7-1.3-19.9 3-28.8c-25.6-4.9-53-20.9-75.5-43.4c-24.1-24.1-40.5-53.5-44.2-80.3c-1.3-.5-2.5-1.1-3.7-1.7zM428 228.7c1.3 .7 2.6 1 4 1c4.3 0 8.5 1.7 11.5 4.8s4.6 7.3 4.5 11.6c-.5 18.2 11 45.6 35.6 70.2c26.8 26.8 56.4 37.7 74.2 35.3c4.5-.6 9.1 .7 12.6 3.7s5.5 7.3 5.6 11.9c.2 9.7-3 19.5-9.6 27.4c-1.9 2.3-2.7 5.6-1.9 8.7c4.9 19.4-4.5 39.7-22.8 48.1c-2.6 1.2-4.6 3.7-5.2 6.8c-3.8 19.6-21.1 34-41.4 33.4c-2.8-.1-5.5 1.2-7.3 3.7c-12 16.2-33.8 21.4-51.8 12c-2.5-1.3-5.5-1.3-8 0c-17.9 9.4-39.8 4.2-51.8-12c-1.8-2.4-4.6-3.7-7.3-3.7c-20.2 .6-37.5-13.8-41.4-33.4c-.6-3.1-2.6-5.6-5.2-6.8c-18.3-8.4-27.7-28.8-22.8-48.1c.8-3.1 0-6.3-1.9-8.7c-12.8-15.4-12.8-37.9 0-53.3c1.9-2.3 2.7-5.6 1.9-8.7c-4.9-19.4 4.5-39.7 22.8-48.1c2.6-1.2 4.6-3.7 5.2-6.8c3.8-19.6 21.1-34 41.4-33.4c2.8 .1 5.5-1.2 7.3-3.7c12-16.2 33.8-21.4 51.8-12z\"]\n};\nvar faCircle2 = {\n prefix: 'fal',\n iconName: 'circle-2',\n icon: [512, 512, [], \"e0ef\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM217 174.4c9.8-9.2 22.7-14.2 36.1-14c28.2 .4 50.9 23.4 50.9 51.6c0 13.7-5.4 26.8-15.1 36.5L180.7 356.7c-4.6 4.6-5.9 11.5-3.5 17.4s8.3 9.9 14.8 9.9H336c8.8 0 16-7.2 16-16s-7.2-16-16-16H230.6l80.9-80.9c15.7-15.7 24.5-37 24.5-59.1c0-45.7-36.7-83-82.4-83.6c-21.7-.3-42.7 7.8-58.5 22.7L181 164.3c-6.4 6.1-6.7 16.2-.7 22.6s16.2 6.7 22.6 .7L217 174.4z\"]\n};\nvar faMagnet = {\n prefix: 'fal',\n iconName: 'magnet',\n icon: [448, 512, [129522], \"f076\", \"M48 64c-8.8 0-16 7.2-16 16v48h80V80c0-8.8-7.2-16-16-16H48zM32 256c0 106 86 192 192 192s192-86 192-192V160H336v96c0 61.9-50.1 112-112 112s-112-50.1-112-112V160H32v96zM416 128V80c0-8.8-7.2-16-16-16H352c-8.8 0-16 7.2-16 16v48h80zM0 80C0 53.5 21.5 32 48 32H96c26.5 0 48 21.5 48 48V256c0 44.2 35.8 80 80 80s80-35.8 80-80V80c0-26.5 21.5-48 48-48h48c26.5 0 48 21.5 48 48V256c0 123.7-100.3 224-224 224S0 379.7 0 256V80z\"]\n};\nvar faJar = {\n prefix: 'fal',\n iconName: 'jar',\n icon: [320, 512, [], \"e516\", \"M64 0H256c8.8 0 16 7.2 16 16s-7.2 16-16 16H64c-8.8 0-16-7.2-16-16S55.2 0 64 0zm0 96c-17.7 0-32 14.3-32 32v64H288V128c0-17.7-14.3-32-32-32H64zM32 224V352H288V224H32zm0 160v64c0 17.7 14.3 32 32 32H256c17.7 0 32-14.3 32-32V384H32zM0 128C0 92.7 28.7 64 64 64H256c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128z\"]\n};\nvar faGramophone = {\n prefix: 'fal',\n iconName: 'gramophone',\n icon: [384, 512, [], \"f8bd\", \"M132.6 32.1c.2 .1 .4 .4 .5 .7C145 62.6 183.4 144.5 268 208.6c-47.9 .3-112.8 17-193.6 73.9c-1.8 1.3-3.9 1.2-5.4 .2c-1.5-1-2.3-2.9-1.8-4.7L132.3 32c.1 0 .2 0 .3 .1zM36.3 269.8c-4 15 2 30.9 15 39.5c12.8 8.5 29.3 7.9 41.6-.7c112.2-79 186.5-72.7 221.9-61.4c11.9 3.8 20.1 16.1 21.1 33.4c-1.5 21.9-19.7 39.2-42 39.3l-.2 0H176c-8.8 0-16 7.2-16 16s7.2 16 16 16H293.7l.2 0 6.4 0c37.4 0 67.7-30.3 67.7-67.7c0-1.1 0-2.3-.1-3.4c0-1.1 .1-2.1 .1-3.2c0-29.5-17.6-54.9-41.6-68.7C220.9 148.4 175.4 52.4 162.9 21C158 8.8 146.2 0 132.3 0c-14.5 0-27.2 9.8-30.9 23.8l-65.1 246zM304 416c8.8 0 16 7.2 16 16v48H64V432c0-8.8 7.2-16 16-16H304zM80 384c-26.5 0-48 21.5-48 48v48 0H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H368c8.8 0 16-7.2 16-16s-7.2-16-16-16H352v0V432c0-26.5-21.5-48-48-48H80z\"]\n};\nvar faDiceD12 = {\n prefix: 'fal',\n iconName: 'dice-d12',\n icon: [512, 512, [], \"f6ce\", \"M200.3 32c-2.8 0-5.6 .7-8 2.1L128.7 70.9 256 111.2 383.3 70.9 319.7 34.1c-2.4-1.4-5.2-2.1-8-2.1L200.3 32zM92 92.8c-.8 .9-1.6 1.9-2.2 2.9L34.2 192.2c.6 .5 1.2 1 1.7 1.6l95.8 106.4L240 246.1V139.7L92 92.8zM32 237.3l0 74.4c0 2.8 .7 5.6 2.1 8l55.7 96.5c1.4 2.4 3.4 4.5 5.9 5.9l62.7 36.2-44.5-130L32 237.3zM199.7 480c.2 0 .4 0 .6 0H311.7c.7 0 1.4 0 2.1-.1l50.6-151.8L256 273.9 147.7 328.1l52 151.9zM355 457.5l61.2-35.4c2.4-1.4 4.5-3.4 5.9-5.9l55.7-96.5c1.4-2.4 2.1-5.2 2.1-8V237.3l-81.9 90.9L355 457.5zM477.8 192.2L422.1 95.7c-.6-1.1-1.3-2-2.2-2.9L272 139.7V246.1l108.3 54.1 95.8-106.4c.5-.6 1.1-1.1 1.7-1.6zM176.3 6.4c7.3-4.2 15.6-6.4 24-6.4H311.7c8.4 0 16.7 2.2 24 6.4l96.5 55.7c7.3 4.2 13.4 10.3 17.6 17.6l55.7 96.5c4.2 7.3 6.4 15.6 6.4 24V311.7c0 8.4-2.2 16.7-6.4 24l-55.7 96.5c-4.2 7.3-10.3 13.4-17.6 17.6l-96.5 55.7c-7.3 4.2-15.6 6.4-24 6.4H200.3c-8.4 0-16.7-2.2-24-6.4L79.7 449.8c-7.3-4.2-13.4-10.3-17.6-17.6L6.4 335.7c-4.2-7.3-6.4-15.6-6.4-24V200.3c0-8.4 2.2-16.7 6.4-24L62.2 79.7c4.2-7.3 10.3-13.4 17.6-17.6L176.3 6.4z\"]\n};\nvar faNoteSticky = {\n prefix: 'fal',\n iconName: 'note-sticky',\n icon: [448, 512, [62026, \"sticky-note\"], \"f249\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H272V352c0-26.5 21.5-48 48-48h96V96c0-17.7-14.3-32-32-32H64zM304 434.7L402.7 336H320c-8.8 0-16 7.2-16 16v82.7zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V309.5c0 17-6.7 33.3-18.7 45.3L322.7 461.3c-12 12-28.3 18.7-45.3 18.7H64c-35.3 0-64-28.7-64-64V96z\"]\n};\nvar faStickyNote = faNoteSticky;\nvar faDown = {\n prefix: 'fal',\n iconName: 'down',\n icon: [384, 512, [\"arrow-alt-down\"], \"f354\", \"M189.7 448h4.6c4.4 0 8.6-1.8 11.6-5L348.5 293.2c2.2-2.3 3.5-5.4 3.5-8.7c0-6.9-5.6-12.6-12.6-12.6H256c-8.8 0-16-7.2-16-16V80c0-8.8-7.2-16-16-16H160c-8.8 0-16 7.2-16 16V256c0 8.8-7.2 16-16 16H44.6c-6.9 0-12.6 5.6-12.6 12.6c0 3.2 1.2 6.3 3.5 8.7L178.1 443c3 3.2 7.2 5 11.6 5zM384 284.6c0 11.4-4.4 22.5-12.3 30.7L229 465.1c-9.1 9.5-21.6 14.9-34.8 14.9h-4.6c-13.1 0-25.7-5.4-34.8-14.9L12.3 315.3C4.4 307 0 296 0 284.6C0 260 20 240 44.6 240H112V80c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48V240h67.4c24.6 0 44.6 20 44.6 44.6z\"]\n};\nvar faArrowAltDown = faDown;\nvar faHundredPoints = {\n prefix: 'fal',\n iconName: 'hundred-points',\n icon: [512, 512, [128175, \"100\"], \"e41c\", \"M177.4 93.3c5-35.2 35.2-61.3 70.7-61.3c43.5 0 76.9 38.5 70.7 81.5L302.6 226.7c-5 35.2-35.2 61.3-70.7 61.3c-43.5 0-76.9-38.5-70.7-81.5L177.4 93.3zM248.1 64c-19.6 0-36.3 14.4-39 33.9L192.9 211c-3.4 23.8 15 45 39 45c19.6 0 36.3-14.4 39-33.9L287.1 109c3.4-23.8-15-45-39-45zM129.8 35.2c4.6 3.5 6.9 9.2 6 15l-40 256c-1.4 8.8-9.6 14.9-18.3 13.6s-14.7-9.3-13.3-18.1L99.7 74.4 54.3 94.6c-8.1 3.6-17.5 0-21-8.1s.3-17.5 8.4-21.1l72-32c5.4-2.4 11.5-1.7 16.1 1.8zM425.6 32c42.8 0 76.1 37.3 71.2 79.8l-11.2 96.7c-4.2 36.1-34.8 63.4-71.2 63.4c-42.8 0-76.1-37.3-71.2-79.8l11.2-96.7C358.6 59.3 389.2 32 425.6 32zM386.2 99.1L375 195.8c-2.7 23.5 15.7 44.2 39.4 44.2c20.1 0 37.1-15.1 39.4-35.1L465 108.2C467.7 84.6 449.3 64 425.6 64c-20.1 0-37.1 15.1-39.4 35.1zM511.9 333.9c1.2 8.8-5 16.8-13.7 18l-480 64c-8.8 1.2-16.8-5-18-13.7s5-16.8 13.7-18l480-64c8.8-1.2 16.8 5 18 13.7zM466 447.9l-256 32c-8.8 1.1-16.8-5.1-17.9-13.9s5.1-16.8 13.9-17.9l256-32c8.8-1.1 16.8 5.1 17.9 13.9s-5.1 16.8-13.9 17.9z\"]\n};\nvar fa100 = faHundredPoints;\nvar faPaperclipVertical = {\n prefix: 'fal',\n iconName: 'paperclip-vertical',\n icon: [384, 512, [], \"e3c2\", \"M64 96c0-53 43-96 96-96s96 43 96 96V352c0 35.3-28.7 64-64 64s-64-28.7-64-64V144c0-8.8 7.2-16 16-16s16 7.2 16 16V352c0 17.7 14.3 32 32 32s32-14.3 32-32V96c0-35.3-28.7-64-64-64s-64 28.7-64 64V384c0 53 43 96 96 96s96-43 96-96V144c0-8.8 7.2-16 16-16s16 7.2 16 16V384c0 70.7-57.3 128-128 128s-128-57.3-128-128V96z\"]\n};\nvar faWindWarning = {\n prefix: 'fal',\n iconName: 'wind-warning',\n icon: [640, 512, [\"wind-circle-exclamation\"], \"f776\", \"M390.3 352c-33.2 57.4-95.2 96-166.3 96C118 448 32 362 32 256S118 64 224 64s192 86 192 192h32C448 132.3 347.7 32 224 32S0 132.3 0 256S100.3 480 224 480c89.4 0 166.5-52.3 202.4-128H390.3zM224 128c-8.8 0-16 7.2-16 16V272c0 8.8 7.2 16 16 16s16-7.2 16-16V144c0-8.8-7.2-16-16-16zm24 224a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM496 480h48c53 0 96-43 96-96s-43-96-96-96H336c-8.8 0-16 7.2-16 16s7.2 16 16 16H544c35.3 0 64 28.7 64 64s-28.7 64-64 64H496c-8.8 0-16 7.2-16 16s7.2 16 16 16zm48-256c53 0 96-43 96-96s-43-96-96-96H496c-8.8 0-16 7.2-16 16s7.2 16 16 16h48c35.3 0 64 28.7 64 64s-28.7 64-64 64H471.9c2.7 10.4 4.7 21.1 6.1 32h66z\"]\n};\nvar faWindCircleExclamation = faWindWarning;\nvar faLocationPinSlash = {\n prefix: 'fal',\n iconName: 'location-pin-slash',\n icon: [640, 512, [\"map-marker-slash\"], \"f60c\", \"M512 192C512 86 426 0 320 0C263.8 0 213.3 24.1 178.2 62.5l25.2 19.9C232.6 51.4 274 32 320 32c88.4 0 160 71.6 160 160c0 15.6-5.4 37-16.6 63.4c-3.3 7.7-6.9 15.6-10.9 23.7l25.6 20.2C498.3 259.8 512 221.9 512 192zM176.6 255.4c-6.7-15.9-11.4-30-14-42.2L128.1 186c-.1 2-.1 4-.1 6c0 87.4 117 243 168.3 307.2c12.3 15.3 35.1 15.3 47.4 0c17.3-21.6 42-53.6 67.2-89.8l-25.2-19.9c-24.4 35.2-48.5 66.5-65.8 88.1c-25.4-31.8-65.8-84.7-99.9-140c-17.3-28.1-32.7-56.3-43.6-82.1zM25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4z\"]\n};\nvar faMapMarkerSlash = faLocationPinSlash;\nvar faFaceSadSweat = {\n prefix: 'fal',\n iconName: 'face-sad-sweat',\n icon: [576, 512, [], \"e38a\", \"M288 32C174.4 32 80.6 116.5 66 226.1c-1.2 8.8-9.2 14.9-18 13.7s-14.9-9.2-13.7-18C50.9 96.6 158.2 0 288 0C429.4 0 544 114.6 544 256s-114.6 256-256 256c-57.6 0-110.8-19.1-153.6-51.2c-7.1-5.3-8.5-15.3-3.2-22.4s15.3-8.5 22.4-3.2C191 463.3 237.5 480 288 480c123.7 0 224-100.3 224-224S411.7 32 288 32zM64 317.5c-5.3 7.2-10.8 15.1-15.8 23c-5.4 8.5-9.8 16.4-12.8 23.1c-2.6 5.8-3.2 8.8-3.4 9.5c0 .2 0 .2 0 .1C32 385.5 43.7 400 64 400s32-14.5 32-26.7c0 .1 0 .1 0-.1c-.1-.7-.8-3.7-3.4-9.6c-3-6.7-7.4-14.5-12.8-23.1c-5-7.9-10.5-15.8-15.8-23zm-8.6-41.4c4.3-5.5 12.8-5.5 17.1 0c17.6 21.7 55.5 72.2 55.5 97.2c0 32.5-28.7 58.7-64 58.7s-64-26.2-64-58.7c0-25 38.1-75.5 55.5-97.2zM348.1 410.7c-11.7-13-31.6-26.7-60.1-26.7s-48.4 13.7-60.1 26.7c-5.9 6.6-16 7.1-22.6 1.2s-7.1-16-1.2-22.6C220.2 371.4 248.3 352 288 352s67.8 19.4 83.9 37.3c5.9 6.6 5.4 16.7-1.2 22.6s-16.7 5.4-22.6-1.2zM391.6 272a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zm-184-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm3.7-99.3c6.2 6.2 6.2 16.4 0 22.6l-7.4 7.4c-23.6 23.6-53.9 39.2-86.8 44.7l-2.5 .4c-8.7 1.5-17-4.4-18.4-13.2s4.4-17 13.2-18.4l2.5-.4c26.3-4.4 50.6-16.9 69.5-35.7l7.4-7.4c6.2-6.2 16.4-6.2 22.6 0zm153.4 22.6c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l7.4 7.4c18.9 18.9 43.2 31.4 69.5 35.7l2.5 .4c8.7 1.5 14.6 9.7 13.2 18.4s-9.7 14.6-18.4 13.2l-2.5-.4c-32.9-5.5-63.3-21.1-86.8-44.7l-7.4-7.4z\"]\n};\nvar faBugSlash = {\n prefix: 'fal',\n iconName: 'bug-slash',\n icon: [640, 512, [], \"e490\", \"M560 304c8.8 0 16-7.2 16-16s-7.2-16-16-16H480v-8c0-22.9-7.4-44.2-20-61.4l79.3-79.3c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L437.4 180c-17.2-12.6-38.4-20-61.4-20H301.7l40.5 32H376c39.8 0 72 32.2 72 72v11.5L484.1 304H560zM411.4 409.7c-19.7 20.1-46 33.7-75.4 37.4V350.2l-32-25.3V447c-63.1-7.9-112-61.7-112-127V288 264c0-8.5 1.5-16.6 4.2-24.2l-26.1-20.6C163.6 232.8 160 248 160 264v8H80c-8.8 0-16 7.2-16 16s7.2 16 16 16h80v16c0 30.2 8.4 58.4 22.9 82.5l-82.2 82.2c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l79-79C231.5 460.1 273.4 480 320 480c46 0 87.4-19.4 116.6-50.4l-25.2-19.9zM224 98.7L261.2 128H387.6c15.7 0 28.4-12.7 28.4-28.4V96c0-53-43-96-96-96s-96 43-96 96v2.7zM320 32c35.3 0 64 28.7 64 64H256c0-35.3 28.7-64 64-64zM25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4z\"]\n};\nvar faCupcake = {\n prefix: 'fal',\n iconName: 'cupcake',\n icon: [448, 512, [129473], \"e402\", \"M208 0c-5.9 0-11.3 3.2-14.1 8.5s-2.5 11.5 .8 16.4l10.8 16.3c1.6 2.4 2.5 5.3 2.5 8.2c0 8.1-6.6 14.7-14.7 14.7H148c-36.2 0-65.8 28.3-67.9 64H80c-44.2 0-80 35.8-80 80s35.8 80 80 80H368c44.2 0 80-35.8 80-80s-35.8-80-80-80C368 57.3 310.7 0 240 0H208zm32 49.3c0-6-1.1-11.8-3.3-17.3H240c53 0 96 43 96 96c0 4-.6 7.8-1.7 11.4c-1.4 4.8-.5 10.1 2.5 14.1s7.8 6.4 12.8 6.4H368c26.5 0 48 21.5 48 48s-21.5 48-48 48H80c-26.5 0-48-21.5-48-48s21.5-48 48-48H97.4c4.9 0 9.5-2.2 12.5-6.1s4.1-8.8 3-13.6c-.6-2.7-1-5.4-1-8.3c0-19.9 16.1-36 36-36h45.3C219.1 96 240 75.1 240 49.3zM89.7 471.4c3.7 23.4 23.8 40.6 47.4 40.6h46.7 .3 79.7 .3 46.7c23.6 0 43.8-17.2 47.4-40.6L382 320H349.6L326.7 466.5c-1.2 7.8-7.9 13.5-15.8 13.5H281.4l13.3-160H262.6L249.3 480H198.7L185.4 320H153.3l13.3 160H137.1c-7.9 0-14.6-5.7-15.8-13.5L98.4 320H66L89.7 471.4z\"]\n};\nvar faLightSwitchOff = {\n prefix: 'fal',\n iconName: 'light-switch-off',\n icon: [384, 512, [], \"e018\", \"M176 464v16H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H176V48c0 8.8 7.2 16 16 16s16-7.2 16-16V32H320c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H208V464c0-8.8-7.2-16-16-16s-16 7.2-16 16zM0 448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V448zM176 344h32c8.8 0 16-7.2 16-16s-7.2-16-16-16H176c-8.8 0-16 7.2-16 16s7.2 16 16 16zm-48 24V272H256v96c0 8.8-7.2 16-16 16H144c-8.8 0-16-7.2-16-16zm0-224c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16v96H128V144zM96 368c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48V144c0-26.5-21.5-48-48-48H144c-26.5 0-48 21.5-48 48V368z\"]\n};\nvar faToggleLargeOff = {\n prefix: 'fal',\n iconName: 'toggle-large-off',\n icon: [576, 512, [], \"e5b0\", \"M160 384a128 128 0 1 1 0-256 128 128 0 1 1 0 256zm0 32H416c88.4 0 160-71.6 160-160s-71.6-160-160-160H160C71.6 96 0 167.6 0 256s71.6 160 160 160zm96-32c38.9-29.2 64-75.7 64-128s-25.1-98.8-64-128H416c70.7 0 128 57.3 128 128s-57.3 128-128 128H256z\"]\n};\nvar faPenFancySlash = {\n prefix: 'fal',\n iconName: 'pen-fancy-slash',\n icon: [640, 512, [], \"e210\", \"M548.7 143.7c17.4-15.6 27.3-37.9 27.3-61.3C576 36.9 539.1 0 493.6 0c-23.4 0-45.6 9.9-61.3 27.3L308.2 165.2 333.4 185 456.1 48.7C465.7 38.1 479.3 32 493.6 32C521.4 32 544 54.6 544 82.4c0 14.3-6.1 27.9-16.7 37.5L398.1 236.1l25.5 20.1L548.7 143.7zM304.2 325L280 403.7c-3 9.9-10.7 17.7-20.5 20.9L131.2 467.4 198.7 400c.4 0 .9 0 1.3 0c13.3 0 24-10.7 24-24s-10.7-24-24-24s-24 10.7-24 24c0 .4 0 .9 0 1.3l-67.4 67.4 42.8-128.3c3.3-9.8 11.1-17.4 20.9-20.5L240.7 275l-30.5-24.1-47.3 14.6c-19.8 6.1-35.4 21.3-41.9 40.9L66.9 468.6c-8.3 25 15.5 48.8 40.5 40.5L269.6 455c19.6-6.5 34.9-22.1 40.9-41.9l20.6-66.8L304.2 325zM25.9 3.4C19-2 8.9-.8 3.4 6.1S-.8 23.1 6.1 28.6l608 480c6.9 5.5 17 4.3 22.5-2.6s4.3-17-2.6-22.5L25.9 3.4z\"]\n};\nvar faTruckContainer = {\n prefix: 'fal',\n iconName: 'truck-container',\n icon: [640, 512, [], \"f4dc\", \"M64 32H352c35.3 0 64 28.7 64 64V304c0 8.8-7.2 16-16 16s-16-7.2-16-16V96c0-17.7-14.3-32-32-32H64C46.3 64 32 78.3 32 96V304c0 8.8-7.2 16-16 16s-16-7.2-16-16V96C0 60.7 28.7 32 64 32zM448 160c0-17.7 14.3-32 32-32h56c15.1 0 29.3 7.1 38.4 19.2l56 74.7c6.2 8.3 9.6 18.4 9.6 28.8V256v48 56c0 19.4-13.7 35.5-32 39.2l0 .8c0 44.2-35.8 80-80 80s-80-35.8-80-80H288c0 44.2-35.8 80-80 80c-26.2 0-49.4-12.6-64-32c-14.6 19.4-37.8 32-64 32c-44.2 0-80-35.8-80-80s35.8-80 80-80c26.2 0 49.4 12.6 64 32c14.6-19.4 37.8-32 64-32c32.8 0 61 19.7 73.3 48H448V256 240 224 160zm144 64l-43.2-57.6c-3-4-7.8-6.4-12.8-6.4H480v64H592zm16 32H480v80c13.4-10 30-16 48-16c32.8 0 60.9 19.7 73.3 47.9c3.8-.6 6.7-3.9 6.7-7.9V304 256zM112 96c8.8 0 16 7.2 16 16V272c0 8.8-7.2 16-16 16s-16-7.2-16-16V112c0-8.8 7.2-16 16-16zm96 0c8.8 0 16 7.2 16 16V272c0 8.8-7.2 16-16 16s-16-7.2-16-16V112c0-8.8 7.2-16 16-16zm96 0c8.8 0 16 7.2 16 16V272c0 8.8-7.2 16-16 16s-16-7.2-16-16V112c0-8.8 7.2-16 16-16zM528 448a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM256 400a48 48 0 1 0 -96 0 48 48 0 1 0 96 0zM80 448a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faBoot = {\n prefix: 'fal',\n iconName: 'boot',\n icon: [512, 512, [129406], \"f782\", \"M32 32H352V96H32V32zM0 32V96v32H32 352c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H32C14.3 0 0 14.3 0 32zM240 160c-8.8 0-16 7.2-16 16s7.2 16 16 16h80v32H240c-8.8 0-16 7.2-16 16s7.2 16 16 16h90.8c3.4 3 7.4 5.3 12 6.7l91.6 27.5c27.1 8.1 45.6 33 45.6 61.3V384H32V160H0V384v31.7 .3 41.4c0 14.5 5.8 28.4 16 38.6s24.1 16 38.6 16H69.5c17 0 33.3-6.7 45.3-18.7l7.6-7.6c3.1-3.1 8.2-3.1 11.3 0l7.6 7.6c12 12 28.3 18.7 45.3 18.7h11c17 0 33.3-6.7 45.3-18.7l7.6-7.6c3.1-3.1 8.2-3.1 11.3 0l7.6 7.6c12 12 28.3 18.7 45.3 18.7h11c17 0 33.3-6.7 45.3-18.7l7.6-7.6c3.1-3.1 8.2-3.1 11.3 0l7.6 7.6c12 12 28.3 18.7 45.3 18.7h14.9c14.5 0 28.4-5.8 38.6-16s16-24.1 16-38.6V416v-.3V384 351.4c0-42.4-27.8-79.8-68.4-92L352 232V176c0-8.8-7.2-16-16-16H240zM480.3 416v41.4c0 6.1-2.4 11.9-6.7 16.2s-10.1 6.7-16.2 6.7H442.5c-8.6 0-16.8-3.4-22.9-9.5l-7.6-7.6c-15.5-15.5-40.6-15.5-56.1 0l22.4 22.4-22.4-22.4-7.6 7.6c-6.1 6.1-14.3 9.5-22.9 9.5h-11c-8.6 0-16.8-3.4-22.9-9.5l-7.6-7.6c-15.5-15.5-40.6-15.5-56.1 0l-7.6 7.6c-6.1 6.1-14.3 9.5-22.9 9.5h-11c-8.6 0-16.8-3.4-22.9-9.5l-7.6-7.6L134.3 485l21.8-21.8c-15.5-15.5-40.6-15.5-56.1 0l-7.6 7.6c-6.1 6.1-14.3 9.5-22.9 9.5H54.6c-6.1 0-11.9-2.4-16.2-6.7s-6.7-10.1-6.7-16.2V416H32 480h.3z\"]\n};\nvar faArrowUpFromWaterPump = {\n prefix: 'fal',\n iconName: 'arrow-up-from-water-pump',\n icon: [576, 512, [], \"e4b6\", \"M112 32c-8.8 0-16 7.2-16 16V256H256V48c0-8.8-7.2-16-16-16H112zM288 48V256H432V54.6l-68.7 68.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l96-96c6.2-6.2 16.4-6.2 22.6 0l96 96c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L464 54.6V256h48c35.3 0 64 28.7 64 64V425c-5.3-3.1-11.2-5.4-17.5-6.9c-4.8-1.1-9.7-2.8-14.5-4.8V320c0-17.7-14.3-32-32-32H448 288 256 96 64c-17.7 0-32 14.3-32 32v93.3c-4.8 2.1-9.7 3.7-14.5 4.8C11.2 419.6 5.3 421.9 0 425V320c0-35.3 28.7-64 64-64V48C64 21.5 85.5 0 112 0H240c26.5 0 48 21.5 48 48zM192 480c20.9 0 41.6-9.9 58.2-21.2c9.8-6.7 18-14 25.9-21.9c6.6-6.5 17.2-6.5 23.7 0c7.9 7.9 16.2 15.2 26 21.9C342.3 470 363.1 480 384 480s41.6-9.9 58.2-21.2c9.8-6.7 18-14 25.9-21.9c6.6-6.5 17.2-6.6 23.7 0c7.9 7.9 16.2 15.2 26 21.9c12.8 8.7 28.1 16.6 44.1 19.8c7.7 1.5 14.1 7.8 14.1 15.7c0 9.8-8 17.9-17.7 16.2c-23.1-4-43.6-15-58.5-25.2c-7.9-5.4-14.7-10.8-19.8-15.3c-5.1 4.5-11.8 9.9-19.8 15.3C441.5 497.9 414.3 512 384 512s-57.6-14.1-76.2-26.8c-7.9-5.4-14.7-10.8-19.8-15.3c-5.1 4.5-11.8 9.9-19.8 15.3C249.5 497.9 222.3 512 192 512s-57.6-14.1-76.2-26.8c-7.9-5.4-14.6-10.8-19.8-15.3c-5.1 4.5-11.8 9.9-19.8 15.3c-14.9 10.2-35.4 21.2-58.5 25.2C8 512.1 0 504 0 494.2c0-7.9 6.4-14.1 14.1-15.7c15.9-3.1 31.3-11.1 44-19.8c9.8-6.7 18-14 25.9-21.9c6.6-6.5 17.2-6.6 23.8 0c7.9 7.9 16.2 15.2 25.9 21.9C150.3 470 171.1 480 192 480z\"]\n};\nvar faFileCheck = {\n prefix: 'fal',\n iconName: 'file-check',\n icon: [384, 512, [], \"f316\", \"M320 480H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H192V144c0 26.5 21.5 48 48 48H352V448c0 17.7-14.3 32-32 32zM240 160c-8.8 0-16-7.2-16-16V32.5c2.8 .7 5.4 2.1 7.4 4.2L347.3 152.6c2.1 2.1 3.5 4.6 4.2 7.4H240zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V163.9c0-12.7-5.1-24.9-14.1-33.9L254.1 14.1c-9-9-21.2-14.1-33.9-14.1H64zM283.3 294c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0l-95.4 95.4-42-42c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6L154 400.6c6.2 6.2 16.4 6.2 22.6 0L283.3 294z\"]\n};\nvar faBone = {\n prefix: 'fal',\n iconName: 'bone',\n icon: [576, 512, [129460], \"f5d7\", \"M143.2 174.3C138.6 148 115.6 128 88 128c-30.9 0-56 25.1-56 56c0 16.3 7 31 18.2 41.3c17.9 16.4 17.9 45 0 61.4C39 297 32 311.7 32 328c0 30.9 25.1 56 56 56c27.6 0 50.6-20 55.2-46.3C146.3 320 161.7 304 183 304H393c21.3 0 36.7 16 39.8 33.7C437.4 364 460.4 384 488 384c30.9 0 56-25.1 56-56c0-16.3-7-31-18.2-41.3c-17.9-16.4-17.9-45 0-61.4C537 215 544 200.3 544 184c0-30.9-25.1-56-56-56c-27.6 0-50.6 20-55.2 46.3C429.7 192 414.3 208 393 208H183c-21.3 0-36.7-16-39.8-33.7zm31.5-5.5c.7 4.1 4.1 7.3 8.3 7.3H393c4.1 0 7.6-3.2 8.3-7.3C408.5 127.4 444.6 96 488 96c48.6 0 88 39.4 88 88c0 25.7-11 48.8-28.5 64.9c-4.1 3.7-4.1 10.5 0 14.2C565 279.2 576 302.3 576 328c0 48.6-39.4 88-88 88c-43.4 0-79.5-31.4-86.7-72.7c-.7-4.1-4.1-7.3-8.3-7.3H183c-4.1 0-7.6 3.2-8.3 7.3C167.5 384.6 131.4 416 88 416c-48.6 0-88-39.4-88-88c0-25.7 11-48.8 28.5-64.9c4.1-3.7 4.1-10.5 0-14.2C11 232.8 0 209.7 0 184c0-48.6 39.4-88 88-88c43.4 0 79.5 31.4 86.7 72.7z\"]\n};\nvar faCardsBlank = {\n prefix: 'fal',\n iconName: 'cards-blank',\n icon: [640, 512, [], \"e4df\", \"M202.3 468.3c6.7 11 20.9 14.8 32.1 8.6c0 0 .1 0 .1-.1L427.4 365.5c0 0 .1 0 .1-.1c11.2-6.7 15-21.2 8.4-32.6L269.2 44.1c-6.6-11.5-21.3-15.4-32.8-8.8L44.1 146.4c-11.3 6.5-15.3 20.9-9 32.3c0 .1 .1 .1 .1 .2l167 289.3c0 .1 .1 .1 .1 .2zm-27.5 16.4c-.2-.3-.3-.6-.5-.9L7.6 195.2c-.2-.3-.3-.6-.5-.9c-14.9-26.5-5.7-60.2 20.7-75.5L220.7 7.5c26.6-15.4 60.7-6.3 76.1 20.4l167 289.3c15.3 26.5 6.3 60.3-20 75.8c-.2 .1-.5 .3-.7 .4l-192.3 111c-.2 .1-.5 .3-.7 .4c-26.4 14.9-59.8 6-75.3-20zM324.1 499l33.2-19.1c.9 .1 1.8 .2 2.7 .2H584c13.3 0 24-10.7 24-24V120c0-13.3-10.7-24-24-24H373L354.7 64.2c1.7-.2 3.5-.2 5.3-.2H584c30.9 0 56 25.1 56 56V456c0 30.9-25.1 56-56 56H360c-13.7 0-26.2-4.9-35.9-13z\"]\n};\nvar faCircle3 = {\n prefix: 'fal',\n iconName: 'circle-3',\n icon: [512, 512, [], \"e0f0\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM176 128c-8.8 0-16 7.2-16 16s7.2 16 16 16H276.7l-79.2 67.9c-5.1 4.4-6.9 11.5-4.6 17.7s8.4 10.4 15.1 10.4l63.5-.3c26.7-.1 48.4 21.5 48.4 48.2c0 26.6-21.6 48.2-48.2 48.2h-36c-17.5 0-34-8.2-44.5-22.2l-2.5-3.4c-5.3-7.1-15.3-8.5-22.4-3.2s-8.5 15.3-3.2 22.4l2.5 3.4c16.5 22.1 42.5 35 70.1 35h36c44.3 0 80.2-35.9 80.2-80.2c0-44.4-36.1-80.4-80.6-80.2l-19.9 .1 78.9-67.6c5.1-4.4 6.9-11.4 4.6-17.7s-8.3-10.4-15-10.4H176z\"]\n};\nvar faBenchTree = {\n prefix: 'fal',\n iconName: 'bench-tree',\n icon: [640, 512, [], \"e2e7\", \"M575.2 106.1c-1.9 11.9 3.1 23.9 12.9 30.9C600.2 145.8 608 160 608 176c0 26.5-21.5 48-48 48H464c-26.5 0-48-21.5-48-48c0-16 7.8-30.2 19.9-38.9c9.8-7.1 14.7-19 12.9-30.9c-.5-3.3-.8-6.7-.8-10.1c0-35.3 28.7-64 64-64s64 28.7 64 64c0 3.5-.3 6.8-.8 10.1zm31.6 5c.8-4.9 1.2-10 1.2-15.1c0-53-43-96-96-96s-96 43-96 96c0 5.1 .4 10.2 1.2 15.1C397.1 125.7 384 149.3 384 176c0 44.2 35.8 80 80 80h32V496c0 8.8 7.2 16 16 16s16-7.2 16-16V256h32c44.2 0 80-35.8 80-80c0-26.7-13.1-50.3-33.2-64.9zM64 224H320v64H304 80 64V224zm0 96l0 48H48 16c-8.8 0-16 7.2-16 16s7.2 16 16 16H32v96c0 8.8 7.2 16 16 16s16-7.2 16-16V400H80 304h16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V400h16c8.8 0 16-7.2 16-16s-7.2-16-16-16H336 320V320c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32H64c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32zm224 0v48H96V320H288z\"]\n};\nvar faKeyboardBrightnessLow = {\n prefix: 'fal',\n iconName: 'keyboard-brightness-low',\n icon: [640, 512, [], \"e1c1\", \"M320 184a24 24 0 1 0 0-48 24 24 0 1 0 0 48zM208 384c-8.8 0-16 7.2-16 16s7.2 16 16 16H432c8.8 0 16-7.2 16-16s-7.2-16-16-16H208zM184 224a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm296 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm88 136a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM96 408a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faSkiBootSki = {\n prefix: 'fal',\n iconName: 'ski-boot-ski',\n icon: [640, 512, [], \"e3cd\", \"M415.6 19.4c1.9-8.6-3.7-17.1-12.3-19s-17.1 3.7-19 12.3L380.2 32H168c-7.6 0-14.2 5.3-15.7 12.8L88.2 358.4c-6.1 29.8 16.7 57.6 47 57.6H432c26.5 0 48-21.5 48-48V315.8c0-18.2-10.3-34.8-26.5-42.9l-83.2-41.6L415.6 19.4zM279.2 64h94.2l-20.6 96c-.3 0-.5 0-.8 0H304c-8.8 0-16 7.2-16 16s7.2 16 16 16h41.9l-6.9 32H288c-8.8 0-16 7.2-16 16s7.2 16 16 16h60.2l90.9 45.5c5.4 2.7 8.8 8.3 8.8 14.3V368c0 8.8-7.2 16-16 16H135.2c-10.1 0-17.7-9.3-15.7-19.2l25.2-123.3c43.6-20 107.6-67.2 134.4-177.5zm-33 0c-20.3 76-60 115.7-93 136.6L181.1 64h65.1zM640 416c0-8.8-7.2-16-16-16s-16 7.2-16 16c0 35.3-28.7 64-64 64H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H544c53 0 96-43 96-96z\"]\n};\nvar faBrainCircuit = {\n prefix: 'fal',\n iconName: 'brain-circuit',\n icon: [512, 512, [], \"e0c6\", \"M192 32c26.5 0 48 21.5 48 48v48H212.7c-6.2-14.1-20.3-24-36.7-24c-22.1 0-40 17.9-40 40s17.9 40 40 40c16.4 0 30.5-9.9 36.7-24H240V272H192c-24.9 0-45.4 19-47.8 43.2C130 321.3 120 335.5 120 352c0 22.1 17.9 40 40 40s40-17.9 40-40c0-16.2-9.6-30.1-23.4-36.4c1.9-6.7 8.1-11.6 15.4-11.6h48V432c0 26.5-21.5 48-48 48c-20.4 0-37.9-12.8-44.8-30.8c-2.7-7.1-10.1-11.3-17.6-10c-3.1 .5-6.3 .8-9.5 .8c-30.9 0-56-25.1-56-56c0-7.8 1.6-15.2 4.4-21.8c3.1-7.2 .4-15.7-6.3-19.8C44 331 32 310.9 32 288c0-19.1 8.4-36.3 21.7-48.1c4.8-4.2 6.6-10.9 4.6-17c-1.5-4.7-2.4-9.7-2.4-15c0-20.4 12.8-38 30.9-44.9c7.3-2.8 11.5-10.4 10-18c-.6-3-.9-6-.9-9.2c0-22.4 15.4-41.3 36.2-46.5c6.6-1.7 11.4-7.3 12-14C146.5 51.1 167 32 192 32zm80 128h48c8.8 0 16 7.2 16 16v11.3c-14.1 6.2-24 20.3-24 36.7c0 22.1 17.9 40 40 40s40-17.9 40-40c0-16.4-9.9-30.5-24-36.7V176c0-26.5-21.5-48-48-48H272V80c0-26.5 21.5-48 48-48c25 0 45.5 19.1 47.8 43.4c.6 6.7 5.4 12.4 12 14C400.6 94.7 416 113.6 416 136c0 3.1-.3 6.2-.9 9.2c-1.5 7.6 2.7 15.2 10 18C443.2 170 456 187.6 456 208c0 5.2-.8 10.3-2.4 15c-2 6.1-.2 12.8 4.6 17C471.6 251.7 480 268.9 480 288c0 22.9-12 43-30.2 54.3c-6.7 4.2-9.3 12.6-6.3 19.8c2.8 6.7 4.4 14.1 4.4 21.8c0 30.9-25.1 56-56 56c-3.3 0-6.5-.3-9.5-.8c-7.5-1.3-14.9 2.9-17.6 10c-6.9 18-24.4 30.8-44.8 30.8c-26.5 0-48-21.5-48-48V384h59.3c6.2 14.1 20.3 24 36.7 24c22.1 0 40-17.9 40-40s-17.9-40-40-40c-16.4 0-30.5 9.9-36.7 24H272V160zM192 512c26.2 0 49.4-12.6 64-32c14.6 19.4 37.8 32 64 32c29.6 0 55.5-16.1 69.3-40c.9 0 1.8 0 2.7 0c48.6 0 88-39.4 88-88c0-7.6-1-15-2.8-22c21.2-17.6 34.8-44.2 34.8-74c0-25.1-9.6-48-25.4-65c.9-4.9 1.4-9.9 1.4-15c0-29.6-16.1-55.5-40-69.3c0-.9 0-1.8 0-2.7c0-33.6-20.7-62.4-50.1-74.2C389.7 26.4 357.9 0 320 0c-26.2 0-49.4 12.6-64 32C241.4 12.6 218.2 0 192 0c-37.9 0-69.7 26.4-77.9 61.8C84.7 73.6 64 102.4 64 136c0 .9 0 1.8 0 2.7C40.1 152.5 24 178.4 24 208c0 5.1 .5 10.1 1.4 15C9.6 240 0 262.9 0 288c0 29.8 13.6 56.4 34.8 74C33 369 32 376.4 32 384c0 48.6 39.4 88 88 88c.9 0 1.8 0 2.7 0c13.8 23.9 39.7 40 69.3 40zM176 128a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM160 336a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM336 224a16 16 0 1 1 32 0 16 16 0 1 1 -32 0zm32 128a16 16 0 1 1 0 32 16 16 0 1 1 0-32z\"]\n};\nvar faUserInjured = {\n prefix: 'fal',\n iconName: 'user-injured',\n icon: [448, 512, [], \"f728\", \"M320 128c0 53-43 96-96 96s-96-43-96-96c0-5.5 .5-10.8 1.3-16H192 318.7c.9 5.2 1.3 10.5 1.3 16zM307.2 80H237.6l39.8-31.8c12.2 8.2 22.4 19.1 29.8 31.8zM243.8 34L186.4 80H140.8c16.6-28.7 47.6-48 83.2-48c6.8 0 13.4 .7 19.8 2zM352 128A128 128 0 1 0 96 128a128 128 0 1 0 256 0zM32 480c.5-33.7 12.4-64.6 32-89v89H32zm64 0V361.3c12.9-8.8 27.3-15.6 42.7-19.9L226.9 480H96zm224-32c0 17.7-14.3 32-32 32H264.8l-40.7-64H288c17.7 0 32 14.3 32 32zM80 512h80 16H288 418.3c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304H178.3C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H80zm336-32H343.4c5.4-9.4 8.6-20.3 8.6-32c0-35.3-28.7-64-64-64H203.7l-30.5-47.9c1.7-.1 3.4-.1 5.1-.1h91.4c80 0 145 64.3 146.3 144z\"]\n};\nvar faBlockBrickFire = {\n prefix: 'fal',\n iconName: 'block-brick-fire',\n icon: [640, 512, [\"firewall\"], \"e3dc\", \"M168 64v64h72 32 72V64H168zm-32 0H96C78.3 64 64 78.3 64 96v32h72V64zM64 160v80h72 32 72V160H64zm0 192h72V272H64v80zm0 32v32c0 17.7 14.3 32 32 32H240V384H168 136 64zm104-32H288c.1 10.9 1.1 21.6 3 32H272v64h42.4c6.6 11.4 14.4 22.2 23.2 32H96c-35.3 0-64-28.7-64-64V96c0-35.3 28.7-64 64-64H416c35.3 0 64 28.7 64 64v48.6c-1.7-1.5-3.3-3.1-5-4.6c-7.7-7-17.2-10.9-27-11.8V96c0-17.7-14.3-32-32-32H376v64 32H272v80h54.9c-.6 .9-1.1 1.8-1.7 2.7c-5.8 9.5-11.3 19.3-16.2 29.3H168v80zM447.1 193.1c-21.7 19.8-45.3 44.8-63.7 72.3c-19 28.5-31.4 58.3-31.4 86.7c0 33.7 12.7 64.2 33.6 87c-1.1-5.4-1.6-10.9-1.6-16.6c0-57.4 63.8-110.5 87.4-128.2c5.2-3.9 12.1-3.9 17.3 0c23.6 17.7 87.4 70.8 87.4 128.2c0 5.5-.5 10.9-1.6 16.2C595.3 416 608 385.7 608 352.2c0-22.6-8.5-48-22.2-72.6c-13-23.4-30.1-44.9-46.7-60.7l-21 23.7c-3 3.3-7.2 5.3-11.7 5.4s-8.8-1.7-11.9-5l-47.4-49.8zM480 480c2.4 0 4.8-.1 7.1-.2c33.7-3.3 56.9-29.4 56.9-57.3c0-17.4-10.1-37.7-27.4-58.5c-12.1-14.5-25.8-27-36.6-35.8c-10.7 8.8-24.5 21.3-36.6 35.8c-17.3 20.7-27.4 41.1-27.4 58.5c0 27.9 23.3 54 57 57.3c2.3 .1 4.7 .2 7 .2zM320 352.2c0-37.3 16-73.4 36.8-104.5c20.9-31.3 47.5-59 70.9-80.2c11.1-10.1 28.2-10 39.3 .1c.3 .3 .6 .5 .8 .8l37.9 39.9L518 194.5c.4-.4 .7-.8 1.1-1.2c11.2-10.3 28.5-10.3 39.7 .1c19.7 18.3 39.8 43.2 55 70.6C629 291.2 640 322.2 640 352.2c0 85.6-66.4 154.9-150.8 159.6c-3 .3-6.1 .4-9.2 .4c-3.1 0-6.1-.1-9.1-.4c-85.2-4.6-150.9-74-150.9-159.6z\"]\n};\nvar faFirewall = faBlockBrickFire;\nvar faFaceSadTear = {\n prefix: 'fal',\n iconName: 'face-sad-tear',\n icon: [512, 512, [128546, \"sad-tear\"], \"f5b4\", \"M256 480a224 224 0 1 0 0-448 224 224 0 1 0 0 448zM256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zM160 300.4c-5.5 6.9-11 14.3-16.2 22c-11.4 17.1-15.8 29-15.8 34.9c0 12.2 11.7 26.7 32 26.7s32-14.5 32-26.7c0-5.9-4.4-17.8-15.8-34.9c-5.1-7.7-10.7-15.1-16.2-22zm-8.6-40.3c4.3-5.5 12.8-5.5 17.1 0c1.6 2 3.3 4.1 5.2 6.3c18.9 23 50.3 61.2 50.3 90.8c0 32.5-28.7 58.7-64 58.7s-64-26.2-64-58.7c0-29.2 30.8-66.9 49.6-90l0 0 0 0c2.1-2.6 4.1-5 5.8-7.2zM256 320c45 0 85.6 20.5 115.7 53.1c6 6.5 5.6 16.6-.9 22.6s-16.6 5.6-22.6-.9c-25-27.1-57.4-42.9-92.3-42.9c-8.8 0-16-7.2-16-16s7.2-16 16-16zM359.6 208a24 24 0 1 1 -48 0 24 24 0 1 1 48 0zm-184-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faSadTear = faFaceSadTear;\nvar faPlane = {\n prefix: 'fal',\n iconName: 'plane',\n icon: [576, 512, [], \"f072\", \"M562.7 221.2c7.6 9.5 13.3 21.3 13.3 34.8c0 26.9-21.6 47.1-41.8 59.2c-21.1 12.7-47.3 20.8-67.9 20.8H365.9L279.1 487.8c-8.5 15-24.5 24.2-41.7 24.2H181.2c-21.3 0-36.6-20.3-30.8-40.8L189.1 336H136L97.6 387.2C91.6 395.3 82.1 400 72 400H30c-16.6 0-30-13.4-30-30c0-2.8 .4-5.6 1.2-8.2L31.4 256 1.2 150.3C.4 147.6 0 144.8 0 142c0-16.6 13.4-30 30-30H72c10.1 0 19.6 4.7 25.6 12.8L136 176l53.1 0L150.4 40.8C144.6 20.3 160 0 181.2 0l56.2 0c17.2 0 33.1 9.2 41.7 24.2L365.9 176H466.3c20.7 0 46.9 8.4 68 21.2c10.7 6.5 20.8 14.5 28.4 24zm-45 3.3c-17.3-10.5-37.9-16.6-51.3-16.6H356.6c-5.7 0-11-3.1-13.9-8.1L251.3 40.1l13.9-7.9-13.9 7.9c-2.8-5-8.2-8.1-13.9-8.1l-56.2 0 44.5 155.6c1.4 4.8 .4 10-2.6 14s-7.8 6.4-12.8 6.4L128 208c-5 0-9.8-2.4-12.8-6.4L72 144H32.6L63.4 251.6c.8 2.9 .8 5.9 0 8.8L32.6 368H72l43.2-57.6c3-4 7.8-6.4 12.8-6.4h82.3c5 0 9.8 2.4 12.8 6.4s4 9.2 2.6 14L181.2 480h56.2c5.7 0 11-3.1 13.9-8.1l91.4-159.9c2.9-5 8.2-8.1 13.9-8.1H466.3c13.6 0 34.2-5.9 51.4-16.2C535.8 276.9 544 265.1 544 256c0-4.1-1.7-9-6.3-14.8c-4.6-5.8-11.5-11.5-20-16.7z\"]\n};\nvar faTentArrowsDown = {\n prefix: 'fal',\n iconName: 'tent-arrows-down',\n icon: [576, 512, [], \"e581\", \"M203.9 117.3c-5.9-6.6-16-7.1-22.6-1.2l-53.3 48L128 16c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 148.1-53.3-48c-6.6-5.9-16.7-5.4-22.6 1.2s-5.4 16.7 1.2 22.6l80 72c6.1 5.5 15.3 5.5 21.4 0l80-72c6.6-5.9 7.1-16 1.2-22.6zm352 0c-5.9-6.6-16-7.1-22.6-1.2l-53.3 48V16c0-8.8-7.2-16-16-16s-16 7.2-16 16V164.1l-53.3-48c-6.6-5.9-16.7-5.4-22.6 1.2s-5.4 16.7 1.2 22.6l80 72c6.1 5.5 15.3 5.5 21.4 0l80-72c6.6-5.9 7.1-16 1.2-22.6zM297.5 163.1c-5.7-4.2-13.4-4.2-19 0L105.4 291c-10.5 7.8-17.4 19.5-19.1 32.4L68.8 457.8C65.1 486.5 87.5 512 116.4 512H459.6c29 0 51.3-25.5 47.6-54.2L489.6 323.4c-1.7-12.9-8.6-24.6-19.1-32.4l-173-127.9zM124.5 316.8L272 207.7v112 .5V480H116.4c-9.7 0-17.1-8.5-15.9-18.1l17.5-134.4c.6-4.3 2.9-8.2 6.4-10.8zM304 315.4V207.7L451.5 316.8c3.5 2.6 5.8 6.5 6.4 10.8l17.5 134.4c1.2 9.6-6.2 18.1-15.9 18.1H405.9l-.3-.4L304 315.4zM304 480V376.2L368.2 480H304z\"]\n};\nvar faExclamation = {\n prefix: 'fal',\n iconName: 'exclamation',\n icon: [64, 512, [10069, 10071, 61738], \"21\", \"M48 48c0-8.8-7.2-16-16-16s-16 7.2-16 16V352c0 8.8 7.2 16 16 16s16-7.2 16-16V48zM32 472a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faArrowsSpin = {\n prefix: 'fal',\n iconName: 'arrows-spin',\n icon: [512, 512, [], \"e4bb\", \"M257.1 79.5c-11.3 0-22.4 1.1-33.1 3.1V50.2c10.8-1.7 21.9-2.6 33.1-2.6c53.8 0 102.8 20.4 139.7 53.9l27.1-27.1c15.1-15.1 41-4.4 41 17l0 86.1c0 8.8-7.2 16-16 16l-86.1 0c-21.4 0-32.1-25.9-17-41l28.3-28.3c-31.1-27.7-72.1-44.6-117-44.6zM124.2 140.2c-26.8 30.9-43.1 71.2-43.1 115.3c0 11.1 1 21.9 3 32.5H51.7c-1.7-10.6-2.5-21.4-2.5-32.5c0-53 19.8-101.3 52.4-138L74.3 90.3c-15.1-15.1-4.4-41 17-41l86.1 0c8.8 0 16 7.2 16 16v86.1c0 21.4-25.9 32.1-41 17l-28.2-28.2zM433.1 255.5c0-10.8-1-21.3-2.8-31.5h32.4c1.6 10.3 2.4 20.8 2.4 31.5c0 53.8-20.4 102.8-53.9 139.7l28.7 28.7c15.1 15.1 4.4 41-17 41H336.9c-8.8 0-16-7.2-16-16V362.8c0-21.4 25.8-32.1 41-17l26.7 26.7c27.7-31.1 44.6-72.1 44.6-117zM288 428.8v32.4c-10.1 1.5-20.4 2.3-30.9 2.3c-53 0-101.3-19.8-138-52.4L90.3 439.9c-15.1 15.1-41 4.4-41-17l0-86.1c0-8.8 7.2-16 16-16l86.1 0c21.4 0 32.1 25.9 17 41l-26.6 26.6c30.9 26.8 71.2 43.1 115.3 43.1c10.5 0 20.8-.9 30.9-2.7zm115.6 4.1l-50.7-50.7v50.7h50.7zM161.4 132.1V81.4l-50.7 0 50.7 50.7zm-80 271.5l50.7-50.7H81.4l0 50.7zM382.2 161.4l50.7 0V110.6l-50.7 50.7z\"]\n};\nvar faFaceSmileRelaxed = {\n prefix: 'fal',\n iconName: 'face-smile-relaxed',\n icon: [512, 512, [], \"e392\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm164.1 69.5C182 346.2 212.6 368 256 368s74-21.8 91.9-42.5c5.8-6.7 15.9-7.4 22.6-1.6s7.4 15.9 1.6 22.6C349.8 372.1 311.1 400 256 400s-93.8-27.9-116.1-53.5c-5.8-6.7-5.1-16.8 1.6-22.6s16.8-5.1 22.6 1.6zm47.1-91.9c-17.6-23.5-52.8-23.5-70.4 0c-5.3 7.1-15.3 8.5-22.4 3.2s-8.5-15.3-3.2-22.4c30.4-40.5 91.2-40.5 121.6 0c5.3 7.1 3.9 17.1-3.2 22.4s-17.1 3.9-22.4-3.2zm89.6 0c-5.3 7.1-15.3 8.5-22.4 3.2s-8.5-15.3-3.2-22.4c30.4-40.5 91.2-40.5 121.6 0c5.3 7.1 3.9 17.1-3.2 22.4s-17.1 3.9-22.4-3.2c-17.6-23.5-52.8-23.5-70.4 0z\"]\n};\nvar faCommentXmark = {\n prefix: 'fal',\n iconName: 'comment-xmark',\n icon: [512, 512, [\"comment-times\"], \"f4b5\", \"M32 240c0-91.4 93.8-176 224-176s224 84.6 224 176s-93.8 176-224 176c-32 0-63-5.9-93.5-16.2c-9.9-3.3-20.7-1.8-29.2 4.2c-15.4 10.7-31.4 20-48.4 27.4L91.2 446l-6.4-14.7c-10.5 4.6-21.5 8.6-32.7 11.5c.5-.9 1.1-1.8 1.6-2.6C68 416.5 76.3 391 79.4 363.9c1-9.2-2.1-17.7-7.4-23.9c-24.5-29.4-40-62.9-40-100zM256 32C114.5 32 0 125.2 0 240c0 46.6 19.6 87.1 47.4 120.5c0 .1 .1 .1 .1 .2c-2.6 22.6-9.5 43.5-21.3 63.1c-6.5 10.8-13.5 20.8-21.7 29c-4.5 4.6-5.9 11.5-3.4 17.4s8.3 9.8 14.8 9.8c28.7 0 57.6-8.9 81.6-19.3c19.2-8.4 37.1-18.7 53.9-30.5c.2-.1 .5-.2 .7-.1C185.5 441.3 220 448 256 448c141.5 0 256-93.2 256-208S397.5 32 256 32zM180.7 164.7c-6.2 6.2-6.2 16.4 0 22.6L233.4 240l-52.7 52.7c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0L256 262.6l52.7 52.7c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L278.6 240l52.7-52.7c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L256 217.4l-52.7-52.7c-6.2-6.2-16.4-6.2-22.6 0z\"]\n};\nvar faCommentTimes = faCommentXmark;\nvar faPrint = {\n prefix: 'fal',\n iconName: 'print',\n icon: [512, 512, [128424, 128438, 9113], \"f02f\", \"M96 160H64V64C64 28.7 92.7 0 128 0H357.5c17 0 33.3 6.7 45.3 18.7l26.5 26.5c12 12 18.7 28.3 18.7 45.3V160H416V90.5c0-8.5-3.4-16.6-9.4-22.6L380.1 41.4c-6-6-14.1-9.4-22.6-9.4H128c-17.7 0-32 14.3-32 32v96zm352 64H64c-17.7 0-32 14.3-32 32V384H64V352c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32v32h32V256c0-17.7-14.3-32-32-32zm0 192v64c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V416H32c-17.7 0-32-14.3-32-32V256c0-35.3 28.7-64 64-64H448c35.3 0 64 28.7 64 64V384c0 17.7-14.3 32-32 32H448zM96 352l0 128H416V352H96zM432 248a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faTurkishLiraSign = {\n prefix: 'fal',\n iconName: 'turkish-lira-sign',\n icon: [384, 512, [\"try\", \"turkish-lira\"], \"e2bb\", \"M80 32c8.8 0 16 7.2 16 16v77.1L251.6 80.6c8.5-2.4 17.4 2.5 19.8 11s-2.5 17.4-11 19.8L96 158.4v62.7l155.6-44.5c8.5-2.4 17.4 2.5 19.8 11s-2.5 17.4-11 19.8L96 254.4V448h95.2C277 448 347.5 380.4 351 294.7l1-23.3c.4-8.8 7.8-15.7 16.7-15.3s15.7 7.8 15.3 16.7L383 296c-4.3 102.8-88.9 184-191.8 184H80c-8.8 0-16-7.2-16-16V263.5l-27.6 7.9c-8.5 2.4-17.4-2.5-19.8-11s2.5-17.4 11-19.8L64 230.2V167.5l-27.6 7.9c-8.5 2.4-17.4-2.5-19.8-11s2.5-17.4 11-19.8L64 134.2V48c0-8.8 7.2-16 16-16z\"]\n};\nvar faTry = faTurkishLiraSign;\nvar faTurkishLira = faTurkishLiraSign;\nvar faFaceNoseSteam = {\n prefix: 'fal',\n iconName: 'face-nose-steam',\n icon: [512, 512, [], \"e382\", \"M32 256C32 132.3 132.3 32 256 32s224 100.3 224 224c0 10.1-.7 20.1-2 29.9c-1.2 8.8 5 16.8 13.7 18s16.8-5 18-13.7c1.5-11.2 2.3-22.6 2.3-34.1C512 114.6 397.4 0 256 0S0 114.6 0 256c0 11.6 .8 22.9 2.3 34.1c1.2 8.8 9.2 14.9 18 13.7s14.9-9.2 13.7-18c-1.3-9.8-2-19.7-2-29.9zM211.2 475.5c-8.7-1.8-17.1 3.8-18.9 12.5s3.8 17.1 12.5 18.9c16.6 3.4 33.7 5.1 51.2 5.1s34.6-1.8 51.2-5.1c8.7-1.8 14.3-10.2 12.5-18.9s-10.2-14.3-18.9-12.5c-14.5 2.9-29.5 4.5-44.8 4.5s-30.3-1.5-44.8-4.5zm-7.2-163.3c3.8-6.3 2.8-14.4-2.4-19.5s-13.2-6.2-19.5-2.4l-67.1 40.3c-1.1-1.4-2.3-2.8-3.7-4.1c-18.7-18.7-49.1-18.7-67.9 0c-2.7 2.7-5 5.6-6.9 8.8C22.7 334 8.6 338.6-1.9 349.1c-17.9 17.9-18.7 46.4-2.5 65.2c-10.3 23.4-5.8 51.8 13.4 70.9s47.5 23.6 70.9 13.4c18.9 16.2 47.3 15.4 65.2-2.5c10.5-10.5 15.1-24.6 13.9-38.3c3.1-1.9 6.1-4.2 8.8-6.9c18.7-18.7 18.7-49.1 0-67.9c-1.3-1.3-2.7-2.5-4.1-3.7l40.3-67.1zm124.3-21.1c-6.3-3.8-14.4-2.8-19.5 2.4s-6.2 13.3-2.4 19.5l40.3 67.1c-1.4 1.1-2.8 2.4-4.1 3.7c-18.7 18.7-18.7 49.1 0 67.9c2.7 2.7 5.6 5 8.8 6.9c-1.2 13.7 3.4 27.8 13.9 38.3c17.9 17.9 46.4 18.7 65.2 2.5c23.4 10.3 51.8 5.8 70.9-13.4s23.6-47.5 13.4-70.9c16.2-18.9 15.4-47.3-2.5-65.2c-10.5-10.5-24.6-15.1-38.3-13.9c-1.9-3.1-4.2-6.1-6.9-8.8c-18.7-18.7-49.1-18.7-67.9 0c-1.3 1.3-2.5 2.7-3.7 4.1l-67.1-40.3zM116.6 366.8l26.9-16.2-16.2 26.9c-2.6 4.4-3 9.8-1 14.5s6.1 8.2 11.1 9.3c2.8 .7 5.4 2.1 7.6 4.3c6.2 6.2 6.2 16.4 0 22.6c-2.3 2.3-5.2 3.8-8.2 4.4c-4.9 1-9 4.1-11.2 8.5s-2.3 9.6-.1 14.1c2.9 6 1.8 13.3-3.1 18.2c-6.2 6.2-16.4 6.2-22.6 0c-1-1-1.9-2.2-2.6-3.4c-2.3-4-6.2-6.8-10.7-7.7s-9.2 .2-12.9 3c-12.5 9.6-30.6 8.7-42.1-2.8s-12.4-29.5-2.8-42.1c2.8-3.7 3.9-8.4 3-12.9s-3.7-8.4-7.7-10.7c-1.2-.7-2.3-1.5-3.4-2.6c-6.2-6.2-6.2-16.4 0-22.6c4.9-4.9 12.3-6 18.2-3.1c4.5 2.1 9.7 2.1 14.1-.1s7.6-6.4 8.5-11.2c.6-3 2-5.8 4.4-8.2c6.2-6.2 16.4-6.2 22.6 0c2.2 2.2 3.6 4.8 4.3 7.6c1.2 5 4.6 9.1 9.3 11.1s10.1 1.6 14.5-1zm266.2 11.7l-16.2-26.9 26.9 16.2c4.4 2.6 9.8 3 14.5 1s8.2-6.1 9.3-11.1c.7-2.8 2.1-5.4 4.3-7.6c6.2-6.2 16.4-6.2 22.6 0c2.3 2.3 3.8 5.2 4.4 8.2c1 4.9 4.1 9 8.5 11.2s9.6 2.3 14.1 .1c6-2.9 13.3-1.8 18.2 3.1c6.2 6.2 6.2 16.4 0 22.6c-1 1-2.2 1.9-3.4 2.6c-4 2.3-6.8 6.2-7.7 10.7s.2 9.2 3 12.9c9.6 12.5 8.7 30.6-2.8 42.1s-29.5 12.4-42.1 2.8c-3.7-2.8-8.4-3.9-12.9-3s-8.4 3.7-10.7 7.7c-.7 1.2-1.5 2.3-2.6 3.4c-6.2 6.2-16.4 6.2-22.6 0c-4.9-4.9-6-12.3-3.1-18.2c2.1-4.5 2.1-9.7-.1-14.1s-6.4-7.6-11.2-8.5c-3-.6-5.8-2-8.2-4.4c-6.2-6.2-6.2-16.4 0-22.6c2.2-2.2 4.9-3.6 7.6-4.3c5-1.2 9.1-4.6 11.1-9.3s1.6-10.1-1-14.5zM96 240c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H112c-8.8 0-16 7.2-16 16zm192 0c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H304c-8.8 0-16 7.2-16 16zm101.1-96.8c8.4-2.8 12.9-11.9 10.1-20.2s-11.9-12.9-20.2-10.1c-41.3 13.8-74.2 39.9-86.3 51.9c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0c9.3-9.3 38.2-32.3 73.7-44.1zm-266.1 0c35.5 11.8 64.4 34.8 73.7 44.1c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6c-12-12-45-38.1-86.3-51.9c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2z\"]\n};\nvar faCircleWaveformLines = {\n prefix: 'fal',\n iconName: 'circle-waveform-lines',\n icon: [512, 512, [\"waveform-circle\"], \"e12d\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM288 144V368c0 8.8-7.2 16-16 16s-16-7.2-16-16V144c0-8.8 7.2-16 16-16s16 7.2 16 16zM160 176V336c0 8.8-7.2 16-16 16s-16-7.2-16-16V176c0-8.8 7.2-16 16-16s16 7.2 16 16zm192 24V312c0 8.8-7.2 16-16 16s-16-7.2-16-16V200c0-8.8 7.2-16 16-16s16 7.2 16 16zM224 216v80c0 8.8-7.2 16-16 16s-16-7.2-16-16V216c0-8.8 7.2-16 16-16s16 7.2 16 16zm192 24v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V240c0-8.8 7.2-16 16-16s16 7.2 16 16z\"]\n};\nvar faWaveformCircle = faCircleWaveformLines;\nvar faDollarSign = {\n prefix: 'fal',\n iconName: 'dollar-sign',\n icon: [320, 512, [128178, 61781, \"dollar\", \"usd\"], \"24\", \"M176 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V63.5c-6.3 .1-12.6 .3-18.8 .9c-24 2-47.9 7.8-67.4 20.6C37.7 98.1 23.2 118 17.9 146c-3.8 20.3-1.9 38.2 5.7 53.7C31 215 43.1 226.5 57.1 235.4c26.7 17 63.6 26.7 97.2 35.5l1.7 .4c35.7 9.4 67.8 17.9 89.8 31.9c10.6 6.8 17.8 14.2 21.9 22.6c4 8.3 5.8 19 3 33.8c-3.9 20.7-18.4 36.4-42.9 46c-24.9 9.8-59.1 12.6-98 7c-24.4-3.6-61-12.1-91.3-25.2c-8.1-3.5-17.5 .2-21 8.4s.2 17.5 8.4 21c33.6 14.5 73.1 23.5 99.3 27.4l.1 0c6.4 .9 12.7 1.6 18.9 2.1V496c0 8.8 7.2 16 16 16s16-7.2 16-16V447.4c23.2-.7 44.8-4.7 63.4-11.9c32-12.5 56.2-35.7 62.7-69.9c3.8-20.3 1.9-38.2-5.7-53.7c-7.4-15.3-19.6-26.8-33.5-35.6c-26.7-17-63.6-26.7-97.2-35.5l-1.7-.4c-35.7-9.4-67.8-17.9-89.8-31.9c-10.6-6.8-17.8-14.2-21.9-22.6c-4-8.3-5.8-19-3-33.8c3.6-19.3 13.1-31.8 26-40.2c13.4-8.8 31.5-13.7 52.6-15.5c42.3-3.5 91.3 6 124.3 14c8.6 2.1 17.2-3.2 19.3-11.8s-3.2-17.2-11.8-19.3c-21.9-5.3-52.1-11.7-83.8-14.4V16z\"]\n};\nvar faDollar = faDollarSign;\nvar faUsd = faDollarSign;\nvar faFerrisWheel = {\n prefix: 'fal',\n iconName: 'ferris-wheel',\n icon: [512, 512, [], \"e174\", \"M272 48a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM211.8 66.7c-20.4 4.8-39.6 12.9-56.9 23.7c3.3 6.5 5.2 13.9 5.2 21.7c0 7.4-1.7 14.4-4.7 20.7l68.2 68.2c5.1-3 10.6-5.3 16.5-6.8V93.3c-12.7-4.5-23-14.2-28.2-26.6zM272 194c5.9 1.5 11.4 3.8 16.5 6.8l68.2-68.2c-3-6.3-4.7-13.3-4.7-20.7c0-7.8 1.9-15.2 5.2-21.7c-17.3-10.8-36.5-18.8-56.9-23.7C295 79 284.7 88.8 272 93.3V194zm39.1 29.5c3 5.1 5.3 10.6 6.8 16.5H418.7c4.3-12.1 13.3-22 24.9-27.5c-4.5-20.5-12.2-39.8-22.7-57.3c-6.3 3.1-13.4 4.8-20.9 4.8c-7.4 0-14.4-1.7-20.7-4.7l-68.2 68.2zM418.7 272H318c-4.6 17.9-16.7 32.7-32.8 41l81.4 176.3c2.3 5 1.9 10.7-1 15.3s-8 7.4-13.5 7.4H160c-5.5 0-10.5-2.8-13.5-7.4s-3.3-10.4-1-15.3L226.8 313c-16.1-8.2-28.2-23.1-32.8-41H93.3c-4.2 11.8-12.8 21.5-23.9 27c4.9 20.4 13.1 39.5 24 56.8c5.7-2.4 12-3.7 18.6-3.7c26.5 0 48 21.5 48 48s-21.5 48-48 48s-48-21.5-48-48c0-8.1 2-15.7 5.5-22.3c-14.9-22.4-26-47.7-32.1-74.8C16 298 0 278.9 0 256c0-22.5 15.5-41.4 36.3-46.6C42 181.2 53 154.8 68.1 131.5c-2.7-6-4.1-12.6-4.1-19.5c0-26.5 21.5-48 48-48c6.7 0 13 1.4 18.8 3.8c23.6-15.9 50.4-27.5 79.2-33.5C215.9 14.5 234.3 0 256 0s40.1 14.5 46 34.3c28.8 6 55.6 17.6 79.2 33.5C387 65.4 393.3 64 400 64c26.5 0 48 21.5 48 48c0 6.9-1.5 13.6-4.1 19.5c15.2 23.3 26.1 49.7 31.8 77.9c20.9 5.2 36.3 24.1 36.3 46.6c0 22.9-16 42-37.4 46.8c-6.1 27.1-17.1 52.4-32.1 74.8c3.5 6.7 5.5 14.3 5.5 22.3c0 26.5-21.5 48-48 48s-48-21.5-48-48s21.5-48 48-48c6.6 0 12.9 1.3 18.6 3.7c10.9-17.3 19.1-36.4 24-56.8c-11.1-5.5-19.7-15.2-23.9-27zM194 240c1.5-5.9 3.8-11.4 6.8-16.5l-68.2-68.2c-6.3 3-13.3 4.7-20.7 4.7c-7.5 0-14.6-1.7-20.9-4.8C80.6 172.7 72.9 192 68.4 212.5C79.9 218 89 227.9 93.3 240H194zm254 16a16 16 0 1 0 32 0 16 16 0 1 0 -32 0zM64 256a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm64-144a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zm272 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm16 272a16 16 0 1 0 -32 0 16 16 0 1 0 32 0zM112 416a16 16 0 1 0 0-32 16 16 0 1 0 0 32zm144-89.8L185 480H327L256 326.2zm0-38.2a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"]\n};\nvar faComputerSpeaker = {\n prefix: 'fal',\n iconName: 'computer-speaker',\n icon: [640, 512, [], \"f8b2\", \"M64 384c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32H293.5c4.2-11.9 10.7-22.8 19-32H64C28.7 32 0 60.7 0 96V352c0 35.3 28.7 64 64 64H288V384H64zm48 64c-8.8 0-16 7.2-16 16s7.2 16 16 16H312.4c-8.3-9.2-14.8-20.1-19-32H112zM576 64c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H384c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32H576zM384 32c-35.3 0-64 28.7-64 64V416c0 35.3 28.7 64 64 64H576c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H384zm96 352a64 64 0 1 1 0-128 64 64 0 1 1 0 128zm-96-64a96 96 0 1 0 192 0 96 96 0 1 0 -192 0zM496 144a16 16 0 1 1 -32 0 16 16 0 1 1 32 0zM480 96a48 48 0 1 0 0 96 48 48 0 1 0 0-96zm24 224a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z\"]\n};\nvar faSkullCow = {\n prefix: 'fal',\n iconName: 'skull-cow',\n icon: [640, 512, [], \"f8de\", \"M55.6 1.9c6.8 3.7 10 11.8 7.5 19.1L52 54.5c-2.5 7.5-3.4 15.4-2.6 23.2C52.3 106.3 76.3 128 105 128h79.4C202 108.4 227.6 96 256 96H384c28.4 0 54 12.4 71.6 32H535c28.7 0 52.7-21.7 55.6-50.3c.8-7.8-.1-15.8-2.6-23.2L576.8 21.1c-2.5-7.4 .7-15.4 7.5-19.1s15.3-2 20.1 4.1l7.5 9.3c18.2 22.7 28 50.9 28 80V112c0 70.7-57.3 128-128 128H480v48c0 41.8-26.7 77.3-64 90.5l-26.4 87.9c-8.1 27.1-33 45.6-61.3 45.6H311.6c-28.3 0-53.2-18.5-61.3-45.6L224 378.5c-37.3-13.2-64-48.7-64-90.5V240H128C57.3 240 0 182.7 0 112V95.3C0 66.2 9.9 38 28 15.3L35.5 6C40.3 0 48.8-1.8 55.6 1.9zM480 208h32c49.7 0 90.6-37.8 95.5-86.3C591.6 145 564.9 160 535 160H474.5c3.5 10 5.5 20.8 5.5 32v16zM105 160c-29.9 0-56.6-15-72.5-38.3C37.4 170.2 78.3 208 128 208h32V192c0-11.2 1.9-22 5.5-32H105zM234.6 348.4c9.6 3.4 17 11.2 20 21L281 457.2c4.1 13.5 16.5 22.8 30.7 22.8h16.8c14.1 0 26.6-9.3 30.7-22.8l26.4-87.9c2.9-9.8 10.4-17.6 20-21c24.9-8.8 42.6-32.6 42.6-60.4V192c0-35.3-28.7-64-64-64H256c-35.3 0-64 28.7-64 64v96c0 27.8 17.7 51.5 42.6 60.4zM232 256a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zm152-24a24 24 0 1 1 0 48 24 24 0 1 1 0-48z\"]\n};\nvar faX = {\n prefix: 'fal',\n iconName: 'x',\n icon: [384, 512, [120], \"58\", \"M380.2 58.3c5.7-6.7 4.9-16.8-1.9-22.5s-16.8-4.9-22.6 1.9L192 231.2 28.2 37.7c-5.7-6.7-15.8-7.6-22.5-1.9s-7.6 15.8-1.9 22.5L171 256 3.8 453.7c-5.7 6.7-4.9 16.8 1.9 22.6s16.8 4.9 22.5-1.9L192 280.8 355.8 474.3c5.7 6.7 15.8 7.6 22.6 1.9s7.6-15.8 1.9-22.6L213 256 380.2 58.3z\"]\n};\nvar faMagnifyingGlassDollar = {\n prefix: 'fal',\n iconName: 'magnifying-glass-dollar',\n icon: [512, 512, [\"search-dollar\"], \"f688\", \"M208 32a176 176 0 1 1 0 352 176 176 0 1 1 0-352zm0 384c51.7 0 99-18.8 135.3-50L484.7 507.3c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6L366 343.3c31.2-36.4 50-83.7 50-135.3C416 93.1 322.9 0 208 0S0 93.1 0 208S93.1 416 208 416zm16-312c0-8.8-7.2-16-16-16s-16 7.2-16 16v17.3c-8.3 1.5-16.7 4.3-24.1 8.7c-13 7.7-23.9 21.1-23.8 40.5c.1 18.4 10.8 30.1 22.7 37.3c10.5 6.3 23.8 10.4 34.8 13.7l0 0 0 0 1.6 .5c12.5 3.8 22.2 6.9 29 11.2c5.9 3.7 7.7 7 7.7 11.6c.1 6.6-2.7 10.8-7.8 14c-5.8 3.6-14.5 5.6-23.7 5.3c-11.8-.4-22.7-4.1-36.3-8.7l0 0 0 0 0 0c-2.3-.8-4.7-1.6-7.1-2.4c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2c2 .7 4.1 1.4 6.2 2.1l0 0c9.2 3.2 19.7 6.8 30.9 8.9V312c0 8.8 7.2 16 16 16s16-7.2 16-16V294.9c8.7-1.4 17.4-4.3 25.1-9.1c13.3-8.3 23.2-22.2 22.9-41.6c-.2-18.5-10.6-30.6-22.7-38.2c-11-6.9-25-11.2-36.3-14.6l0 0 0 0-.5-.1c-12.6-3.8-22.3-6.8-29.2-10.9c-6-3.6-7.2-6.4-7.3-10.1c0-5.4 2.4-9.4 8.1-12.8c6.2-3.7 15.1-5.7 23.6-5.5c10.1 .2 21 2.3 32.1 5.3c8.5 2.3 17.3-2.8 19.6-11.3s-2.8-17.3-11.3-19.6c-7.5-2-15.6-3.9-24.1-5.1V104z\"]\n};\nvar faSearchDollar = faMagnifyingGlassDollar;\nvar faUsersGear = {\n prefix: 'fal',\n iconName: 'users-gear',\n icon: [640, 512, [\"users-cog\"], \"f509\", \"M144 32a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm0 128A80 80 0 1 0 144 0a80 80 0 1 0 0 160zm112 64a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zm119.2 78.5c12-8.4 21.9-19.5 29-32.5c7.5-13.7 11.8-29.4 11.8-46.1c0-53-43-96-96-96s-96 43-96 96s43 96 96 96c20.6 0 39.6-6.5 55.2-17.5zM360.1 352H261.3C187.7 352 128 411.7 128 485.3c0 14.7 11.9 26.7 26.7 26.7H445.6c-1.1-2-2.1-4-3-6c-19.6 2.1-40.8-4.6-55.4-23.1c-.7-.9-1.5-1.9-2.2-2.8H160.1c2.8-53.5 47-96 101.2-96H372.1l0 0c-6.7-9.1-11.1-20.1-12-32zm278.2-67.4C629.1 232 583.2 192 528 192H444c2.6 10.2 4 21 4 32h65 15c28.7 0 53.9 15.2 68 37.9c15.5 1.4 30.9 8.5 42.3 22.7zM464 80a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm128 0A80 80 0 1 0 432 80a80 80 0 1 0 160 0zM196 192H112C50.1 192 0 242.1 0 304c0 8.8 7.2 16 16 16s16-7.2 16-16c0-44.2 35.8-80 80-80h80c0-11 1.4-21.8 4-32zM501 289.3v-.6c3.9-.5 7.9-.7 12-.7s8.1 .3 12 .7v.6c0 16.5 10.6 29.2 22 35.8c11.5 6.7 27.7 9.4 41.9 1.2l.5-.3c2.1 2.7 4 5.6 5.8 8.5l1.9 3.2c1.6 2.9 3.1 5.9 4.4 9l-.5 .3c-14.3 8.2-20 23.7-20 36.9s5.7 28.7 20 36.9l.5 .3c-1.3 3.1-2.7 6.1-4.3 9l-1.9 3.4c-1.8 2.9-3.7 5.7-5.7 8.4l-.5-.3c-14.2-8.2-30.4-5.5-41.9 1.2c-11.4 6.6-22 19.2-22 35.8v.6c-3.9 .5-7.9 .7-12 .7s-8.1-.3-12-.7v-.6c0-16.5-10.6-29.2-22-35.8c-11.5-6.7-27.7-9.4-41.9-1.2l-.5 .3c-2.1-2.7-4-5.5-5.7-8.4l-1.9-3.3c-1.6-2.9-3.1-5.9-4.4-9l.5-.3c14.3-8.2 20-23.7 20-36.9s-5.7-28.7-20-36.9l-.5-.3c1.3-3.1 2.8-6.1 4.4-9.1l1.8-3.2c1.8-2.9 3.7-5.8 5.8-8.5l.5 .3c14.2 8.2 30.4 5.5 41.9-1.2c11.4-6.6 22-19.2 22-35.8zM513 256c-6.1 0-12.2 .4-18.1 1.3c-16.2 2.3-25.9 16.5-25.9 30.7v1.4c0 2-1.5 5.4-6.1 8.1c-4.5 2.6-8.1 2.2-9.9 1.1l-1.2-.7c-12.2-7.1-29.4-5.8-39.5 7.1c-3.3 4.2-6.3 8.6-9.1 13.2l0 0-.1 .2-2 3.4 0 0-.1 .2c-2.5 4.6-4.8 9.4-6.8 14.3c-6.1 15.2 1.4 30.7 13.6 37.7l1.2 .7c1.8 1 4 4 4 9.2s-2.2 8.2-4 9.2l-1.2 .7c-12.2 7.1-19.7 22.6-13.6 37.7c2 4.9 4.2 9.6 6.7 14.2l0 0 .1 .3 2.1 3.6 0 0 .2 .3c2.7 4.6 5.8 8.9 9 13.1c10.1 12.8 27.3 14.1 39.5 7.1l1.2-.7c1.8-1 5.4-1.5 9.9 1.1c4.6 2.7 6.1 6.1 6.1 8.1v1.4c0 14.1 9.7 28.4 25.9 30.7c5.9 .8 12 1.3 18.1 1.3s12.2-.4 18.1-1.3c16.2-2.3 25.9-16.5 25.9-30.7v-1.4c0-2 1.5-5.4 6.1-8.1c4.5-2.6 8.1-2.2 9.9-1.1l1.2 .7c12.2 7.1 29.4 5.8 39.5-7.1c3.3-4.2 6.3-8.5 9-13.1l0 0 .2-.3 2.1-3.6 0 0 .1-.3c2.5-4.6 4.8-9.3 6.7-14.1c6.1-15.2-1.4-30.7-13.6-37.7l-1.2-.7c-1.8-1-4-4-4-9.2s2.2-8.2 4-9.2l1.2-.7c12.2-7.1 19.7-22.6 13.6-37.7c-2-4.9-4.2-9.7-6.8-14.2l0 0-.1-.2-2-3.5 0 0-.1-.2c-2.8-4.6-5.8-9-9.1-13.2c-10.1-12.8-27.3-14.1-39.5-7.1l-1.2 .7c-1.8 1-5.4 1.5-9.9-1.1c-4.6-2.7-6.1-6.1-6.1-8.1v-1.4c0-14.1-9.7-28.4-25.9-30.7c-5.9-.8-12-1.3-18.1-1.3zm15 128a16 16 0 1 1 -32 0 16 16 0 1 1 32 0zm-16 48a48 48 0 1 0 0-96 48 48 0 1 0 0 96z\"]\n};\nvar faUsersCog = faUsersGear;\nvar faPersonMilitaryPointing = {\n prefix: 'fal',\n iconName: 'person-military-pointing',\n icon: [576, 512, [], \"e54a\", \"M256 59.1V64v0H384v0V37.8L256 59.1zM398.2 95.2c1.2 5.4 1.8 11 1.8 16.8c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-5.8 .6-11.4 1.8-16.8C231.5 92.4 224 83.1 224 72V52.3c0-11.7 8.5-21.7 20.1-23.7l144-24C402.7 2.2 416 13.5 416 28.3V72c0 11.1-7.5 20.4-17.8 23.2zm-33 .8H274.7c-1.8 5-2.7 10.4-2.7 16c0 26.5 21.5 48 48 48s48-21.5 48-48c0-5.6-1-11-2.7-16zM32 240c0-8.8 7.2-16 16-16H240h16 88 .3c40.2 0 77.3 21.5 97.2 56.4L541.9 456.1c4.4 7.7 1.7 17.4-6 21.8s-17.4 1.7-21.8-6L416 300.2V464c0 26.5-21.5 48-48 48H272c-26.5 0-48-21.5-48-48V432.4c0-.2 0-.5 0-.7V256H48c-8.8 0-16-7.2-16-16zM256 464c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16V448H256v16zM384 296c0-4.3-.7-8.5-1.9-12.4L273.8 416H384V296zm-40-40H256V387.2L360.4 259.5c-5-2.3-10.6-3.5-16.4-3.5z\"]\n};\nvar faBuildingColumns = {\n prefix: 'fal',\n iconName: 'building-columns',\n icon: [512, 512, [\"bank\", \"institution\", \"museum\", \"university\"], \"f19c\", \"M263.9 2.1C259-.7 253-.7 248.1 2.1L15.8 133.7C6 139.3 0 149.6 0 160.8C0 178 14 192 31.2 192H256 480.8c17.2 0 31.2-14 31.2-31.2c0-11.2-6-21.6-15.8-27.1L263.9 2.1zM306.6 160c3.5-7.3 5.4-15.4 5.4-24c0-30.9-25.1-56-56-56s-56 25.1-56 56c0 8.6 1.9 16.7 5.4 24H34.3L256 34.4 477.7 160H306.6zM256 112a24 24 0 1 1 0 48 24 24 0 1 1 0-48zM64 352c-8.8 0-16 7.2-16 16s7.2 16 16 16H448c8.8 0 16-7.2 16-16s-7.2-16-16-16V224H416V352H336V224H304V352H208V224H176V352H96V224H64V352zM40 416c-8.8 0-16 7.2-16 16s7.2 16 16 16H472c8.8 0 16-7.2 16-16s-7.2-16-16-16H40zM16 480c-8.8 0-16 7.2-16 16s7.2 16 16 16H496c8.8 0 16-7.2 16-16s-7.2-16-16-16H16z\"]\n};\nvar faBank = faBuildingColumns;\nvar faInstitution = faBuildingColumns;\nvar faMuseum = faBuildingColumns;\nvar faUniversity = faBuildingColumns;\nvar faCircleT = {\n prefix: 'fal',\n iconName: 'circle-t',\n icon: [512, 512, [], \"e124\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM144 144c-8.8 0-16 7.2-16 16s7.2 16 16 16h96V368c0 8.8 7.2 16 16 16s16-7.2 16-16V176h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H256 144z\"]\n};\nvar faSack = {\n prefix: 'fal',\n iconName: 'sack',\n icon: [512, 512, [], \"f81c\", \"M310.5 144h-109l-5.3 3.4C141.4 182.5 32 268.3 32 416c0 35.3 28.7 64 64 64H416c35.3 0 64-28.7 64-64c0-147.7-109.4-233.5-164.3-268.6l-5.3-3.4zm-3.8-41.8L355.1 32H156.9l48.4 70.2 6.7 9.8h87.8l6.7-9.8zM0 416C0 273.4 91.2 183.7 152.6 138.5c9.7-7.1 18.6-13.2 26.4-18.1L160.8 94 121.9 37.6C111 21.7 122.4 0 141.7 0H370.3c19.3 0 30.7 21.7 19.8 37.6L351.2 94 333 120.4c7.7 4.9 16.7 11 26.4 18.1C420.8 183.7 512 273.4 512 416c0 53-43 96-96 96H96c-53 0-96-43-96-96z\"]\n};\nvar faGrid2 = {\n prefix: 'fal',\n iconName: 'grid-2',\n icon: [512, 512, [], \"e196\", \"M80 64c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16H80zM32 80c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48V80zM80 320c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16V336c0-8.8-7.2-16-16-16H80zM32 336c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48V336zM432 64H336c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16zM336 32h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H336c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48zm0 288c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16V336c0-8.8-7.2-16-16-16H336zm-48 16c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H336c-26.5 0-48-21.5-48-48V336z\"]\n};\nvar faCameraCctv = {\n prefix: 'fal',\n iconName: 'camera-cctv',\n icon: [576, 512, [\"cctv\"], \"f8ac\", \"M128 32L32 200 320 320 512 192 128 32zM100.2 16.1c8-14 25.2-19.9 40.1-13.7l384 160c10.9 4.5 18.4 14.7 19.5 26.5s-4.3 23.2-14.1 29.7l-192 128c-8.9 5.9-20.2 7-30.1 2.9l-85.6-35.7L175 437.7c-2.4 6.2-8.3 10.3-15 10.3H32v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V432 368c0-8.8 7.2-16 16-16s16 7.2 16 16v48H149l43.6-114.4-172.9-72c-8.5-3.5-15-10.5-18-19.2s-2-18.2 2.5-26.2l96-168zM396.9 345.6l31.4-20.9 83.3 37.9 27.6-66.3-41-18.2 31.5-21 36.7 16.3c7.9 3.5 11.6 12.8 8.3 20.8l-40 96c-3.3 8-13.5 12-21.4 8.4L396.9 345.6z\"]\n};\nvar faCctv = faCameraCctv;\nvar faUmbrella = {\n prefix: 'fal',\n iconName: 'umbrella',\n icon: [576, 512, [], \"f0e9\", \"M304 16c0-8.8-7.2-16-16-16s-16 7.2-16 16V48.4C132.8 55.6 18.9 156 2.1 285.9c-2 15.6 17.3 24.4 27.8 12.7C43.9 283 71.2 272 96 272c38.7 0 71 27.5 78.4 64.1c1.7 8.7 8.7 15.9 17.6 15.9s15.8-7.2 17.6-15.9C217 299.5 249.3 272 288 272s71 27.5 78.4 64.1c1.7 8.7 8.7 15.9 17.6 15.9s15.8-7.2 17.6-15.9C409 299.5 441.3 272 480 272c24.8 0 52.1 11 66.1 26.7c10.5 11.7 29.8 2.9 27.8-12.7C557.1 156 443.2 55.6 304 48.4V16zm80 278.3c-19.6-32.5-55.2-54.3-96-54.3s-76.4 21.8-96 54.3C172.4 261.8 136.8 240 96 240c-17.6 0-36.7 4.1-53.7 11.8C73.3 153 171 80 288 80s214.7 73 245.7 171.8C516.7 244.1 497.6 240 480 240c-40.8 0-76.4 21.8-96 54.3zM272 306.7V446.6c0 18.5-15 33.4-33.4 33.4c-12.7 0-24.2-7.2-29.9-18.5l-2.3-4.7c-4-7.9-13.6-11.1-21.5-7.2s-11.1 13.6-7.2 21.5l2.3 4.7C191.1 498 213.8 512 238.6 512c36.1 0 65.4-29.3 65.4-65.4V306.7c-5-1.8-10.4-2.7-16-2.7s-11 1-16 2.7z\"]\n};\nvar faTrowel = {\n prefix: 'fal',\n iconName: 'trowel',\n icon: [512, 512, [], \"e589\", \"M491.8 20.2c26.9 26.9 26.9 70.5 0 97.5l-95.4 95.4c-14.6 14.6-38.2 14.6-52.8 0l-11-11-102 102 75.5 75.5c12.6 12.6 7.5 34.1-9.4 39.7L36.2 506.1C17.5 512.4-.4 494.5 5.9 475.8L92.7 215.2c5.6-16.9 27.1-22 39.7-9.4L208 281.4l102-102-11-11c-14.6-14.6-14.6-38.2 0-52.8l95.4-95.4c26.9-26.9 70.5-26.9 97.5 0zM321.6 138.2c-2.1 2.1-2.1 5.5 0 7.5l44.7 44.7c2.1 2.1 5.5 2.1 7.5 0L469.2 95c14.4-14.4 14.4-37.8 0-52.2s-37.8-14.4-52.2 0l-95.4 95.4zM41.3 470.7L274.4 393 119 237.6 41.3 470.7z\"]\n};\nvar faHorizontalRule = {\n prefix: 'fal',\n iconName: 'horizontal-rule',\n icon: [640, 512, [8213], \"f86c\", \"M0 256c0-8.8 7.2-16 16-16H624c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16-7.2-16-16z\"]\n};\nvar faBedFront = {\n prefix: 'fal',\n iconName: 'bed-front',\n icon: [512, 512, [\"bed-alt\"], \"f8f7\", \"M64 96v40.6c9.4-5.4 20.3-8.6 32-8.6H208c19.1 0 36.3 8.4 48 21.7c11.7-13.3 28.9-21.7 48-21.7H416c11.7 0 22.6 3.1 32 8.6V96c0-17.7-14.3-32-32-32H96C78.3 64 64 78.3 64 96zm416 96v48c19.4 14.6 32 37.8 32 64v96 64c0 8.8-7.2 16-16 16s-16-7.2-16-16V416H32v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V400 304c0-26.2 12.6-49.4 32-64V192 96c0-35.3 28.7-64 64-64H416c35.3 0 64 28.7 64 64v96zm-32 33.6V192c0-17.7-14.3-32-32-32H304c-17.7 0-32 14.3-32 32v32H432c5.5 0 10.8 .6 16 1.6zM240 224V192c0-17.7-14.3-32-32-32H96c-17.7 0-32 14.3-32 32v33.6c5.2-1 10.5-1.6 16-1.6H240zm240 80c0-26.5-21.5-48-48-48H80c-26.5 0-48 21.5-48 48v80H480V304z\"]\n};\nvar faBedAlt = faBedFront;\nvar faD = {\n prefix: 'fal',\n iconName: 'd',\n icon: [384, 512, [100], \"44\", \"M48 64c-8.8 0-16 7.2-16 16V432c0 8.8 7.2 16 16 16H160c106 0 192-86 192-192s-86-192-192-192H48zM0 80C0 53.5 21.5 32 48 32H160c123.7 0 224 100.3 224 224s-100.3 224-224 224H48c-26.5 0-48-21.5-48-48V80z\"]\n};\nvar faStapler = {\n prefix: 'fal',\n iconName: 'stapler',\n icon: [640, 512, [], \"e5af\", \"M448 352v32H80c-26.5 0-48 21.5-48 48s21.5 48 48 48H592c26.5 0 48-21.5 48-48V416 384 336 304v-4.7c0-36.4-20.5-69.6-53.1-85.9L260.7 50.4C236.6 38.3 209.9 32 182.9 32C128.2 32 76.7 57.8 43.8 101.6L11.5 144.7C4 154.6 0 166.7 0 179.1c0 26.4 17.9 49.3 43.5 55.7L72 242v78c0 17.7 14.3 32 32 32H448zm-64-32H104V250l280 70zm224 64H480V336c0-14.7-10-27.5-24.2-31L51.3 203.8C39.9 201 32 190.8 32 179.1c0-5.5 1.8-10.9 5.1-15.3l32.3-43.1C96.2 85 138.3 64 182.9 64c22 0 43.8 5.1 63.5 15L572.6 242.1c21.7 10.8 35.4 33 35.4 57.2V304v32 48zM480 416H608v16c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16s7.2-16 16-16H448h32z\"]\n};\nvar faMasksTheater = {\n prefix: 'fal',\n iconName: 'masks-theater',\n icon: [640, 512, [127917, \"theater-masks\"], \"f630\", \"M371.6 28c1.7 1.2 3.2 2.5 4.5 4c-23 .4-42.7 2.7-59.5 6.3c-26.4-6.7-68.1-10.5-131.4-.1C76.9 56.1 41.9 92.8 32.6 105.7l0 .1c-.1 .8-.2 2.4 .3 5L60.8 274.5c5.4 31.5 19.5 58.8 41.8 76.9c20.8 16.8 46.9 35.3 74 48.2c16.9 8.1 32.9 13.4 47.4 15.5c6.8 10.4 14.5 21.4 23 32.5c-58 4.9-123.3-37.8-165-71.7c-29.7-24-46.8-59-53.2-96.2L.8 116.1c-1.7-9.8-1-19.9 4.7-28C20.5 67 63.6 25.9 179.8 6.9S350.5 12.8 371.6 28zM159 286.9c9.4-7.6 22-15.8 37.8-21.8l-1.7 10.2c-1.5 9-2.5 18.2-2.9 27.5c-4.7 2.8-8.9 5.8-12.4 8.7c-5.7 4.7-11.3 9.9-15.7 15.9c-5 7.2-15.1 9.1-22.5 4.2c-7.4-4.9-9.4-14.8-4.4-22.1c5.9-8.6 13.8-16 21.8-22.6zm-3.9-122.6c3.1-8.2 12.5-12.4 20.9-9.3s12.7 12.3 9.5 20.5c-5.9 15.4-19.8 27.5-37.6 30.4s-35-4-45.7-16.7c-5.7-6.8-4.7-16.8 2.2-22.4s17.2-4.6 22.9 2.1c7.8 9.3 23.5 6.7 27.8-4.6zm230 346.3c-60-9.8-110.5-74.6-140.1-122c-20.1-32.2-24.7-70.7-18.3-107.9L254.6 117c1.7-9.8 5.6-19.1 13.8-24.9C289.5 76.8 344 51.8 460.2 70.9S619.5 131 634.5 152.1c5.8 8.1 6.4 18.2 4.7 28L611.3 343.8c-6.4 37.2-23.5 72.2-53.2 96.2c-43.7 35.4-113.1 80.5-173 70.7zm-58.5-69.5c21.7 21.3 43.5 34.7 63.8 38s45.4-2.4 73-15.6c27.1-13 53.2-31.4 74-48.2c22.3-18.1 36.4-45.4 41.8-76.9l27.9-163.7c.4-2.5 .4-4.2 .3-5l0-.1c-9.4-12.9-44.3-49.7-152.6-67.5s-153.6 5.9-166.7 15.1l0 .1c-.4 .7-1 2.2-1.4 4.8L258.7 285.9c-5.4 31.5-1.1 61.9 14 86.1c14.1 22.6 32.6 48.3 53.9 69.2zm24.7-202.5c-5.7 6.8-16 7.7-22.9 2.1s-7.9-15.6-2.2-22.4c10.7-12.7 27.8-19.6 45.7-16.7s31.7 15 37.6 30.4c3.1 8.2-1.1 17.4-9.5 20.5s-17.8-1.1-20.9-9.3c-2-5.2-6.6-9.2-12.5-10.1s-11.6 1.3-15.2 5.6zm147.8 85.7l.6-.2c3.1-1 6.1-2 9.1-3.1c3.7-1.4 7.3-2.9 10.9-4.5c6.2-2.8 13.5 1.6 12.4 8.3c-.7 4.2-1.7 8.3-2.8 12.3c-1 3.5-2.2 7-3.6 10.4l-.3 .7-.4 .9c-19.7 47-70.6 76.1-123.9 67.4s-91.7-52.5-94.8-103.3c0-.5-.1-1.1-.1-1.6c-.2-3.6-.1-7.3 .1-11c.2-4.1 .7-8.3 1.4-12.5c1.1-6.6 9.5-8.5 14.5-3.9c2.8 2.6 5.8 5.2 8.8 7.7c2.5 2 5 4 7.6 5.9l.5 .4c22 15.9 48 27.2 76.8 31.9s57.1 2.4 83.2-5.6zm-20.7 37.4c-21.9 3.4-44.8 3.4-67.8-.4s-44.6-11.1-64.2-21.3c10.9 22.9 32.8 40.4 60.2 44.9s53.9-5 71.8-23.2zm1.2-102c-5.7 6.8-16 7.7-22.9 2.1s-7.9-15.6-2.2-22.4c10.7-12.7 27.8-19.6 45.7-16.7s31.7 15 37.6 30.4c3.1 8.2-1.1 17.4-9.5 20.5s-17.8-1.1-20.9-9.3c-2-5.2-6.6-9.2-12.6-10.1s-11.6 1.3-15.2 5.6z\"]\n};\nvar faTheaterMasks = faMasksTheater;\nvar faFileGif = {\n prefix: 'fal',\n iconName: 'file-gif',\n icon: [512, 512, [], \"e645\", \"M64 480h96v32H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H220.1c12.7 0 24.9 5.1 33.9 14.1L369.9 129.9c9 9 14.1 21.2 14.1 33.9V288H352V192H240c-26.5 0-48-21.5-48-48V32H64C46.3 32 32 46.3 32 64V448c0 17.7 14.3 32 32 32zM351.5 160c-.7-2.8-2.1-5.4-4.2-7.4L231.4 36.7c-2.1-2.1-4.6-3.5-7.4-4.2V144c0 8.8 7.2 16 16 16H351.5zM224 392c0-22.1 17.9-40 40-40h16c22.1 0 40 17.9 40 40v8c0 8.8-7.2 16-16 16s-16-7.2-16-16v-8c0-4.4-3.6-8-8-8H264c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8h16c4.4 0 8-3.6 8-8v-8c-8.8 0-16-7.2-16-16s7.2-16 16-16h16c8.8 0 16 7.2 16 16v24c0 22.1-17.9 40-40 40H264c-22.1 0-40-17.9-40-40V392zm160-24V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V368c0-8.8 7.2-16 16-16s16 7.2 16 16zm48-16h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H448v32h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H448v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V432 368c0-8.8 7.2-16 16-16z\"]\n};\nvar faKipSign = {\n prefix: 'fal',\n iconName: 'kip-sign',\n icon: [384, 512, [], \"e1c4\", \"M80 32c8.8 0 16 7.2 16 16V222.4L325.9 35.6c6.9-5.6 16.9-4.5 22.5 2.3s4.5 16.9-2.3 22.5L125.1 240H368c8.8 0 16 7.2 16 16s-7.2 16-16 16H125.1l221 179.6c6.9 5.6 7.9 15.6 2.3 22.5s-15.7 7.9-22.5 2.3L96 289.6V465c0 8.8-7.2 16-16 16s-16-7.2-16-16V272H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H64V48c0-8.8 7.2-16 16-16z\"]\n};\nvar faFaceWoozy = {\n prefix: 'fal',\n iconName: 'face-woozy',\n icon: [512, 512, [], \"e3a2\", \"M480 256A224 224 0 1 0 32 256a224 224 0 1 0 448 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM205.3 120.9c-28 42-69.6 64.1-88.3 70.3c-8.4 2.8-17.4-1.7-20.2-10.1s1.7-17.4 10.1-20.2c13.4-4.5 48.5-22.9 71.7-57.7c4.9-7.4 14.8-9.3 22.2-4.4s9.3 14.8 4.4 22.2zm6.6 118.6l-64 16c-8.6 2.1-17.3-3.1-19.4-11.6s3.1-17.3 11.6-19.4l64-16c8.6-2.1 17.3 3.1 19.4 11.6s-3.1 17.3-11.6 19.4zM411.3 347.3L372 386.6c-13.7 13.7-32.3 21.4-51.7 21.4c-13.7 0-27.1-3.8-38.7-11.1L267.4 388c-18.2-11.4-40.8-13.4-60.7-5.4c-30.4 12.2-64.8 8.6-92-9.6l-11.5-7.7c-7.4-4.9-9.3-14.8-4.4-22.2s14.8-9.3 22.2-4.4l11.5 7.7c18.5 12.3 41.8 14.7 62.4 6.5c29.4-11.8 62.7-8.8 89.6 8l14.2 8.9c6.5 4.1 14.1 6.2 21.8 6.2c10.9 0 21.3-4.3 29-12l39.3-39.3c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6zM327.7 169.9c-4.5 8.9-7.7 22.4-7.7 38.1s3.2 29.2 7.7 38.1c2.2 4.5 4.5 7.2 6.2 8.7c.8 .7 1.4 1 1.7 1.1c.2 .1 .3 .1 .3 .1s.1 0 .1 0s0 0 0 0s0 0 .1 0c0 0 .1 0 .3-.1c.3-.1 .9-.4 1.7-1.1c1.7-1.5 4-4.2 6.2-8.7c4.5-8.9 7.7-22.4 7.7-38.1s-3.2-29.2-7.7-38.1c-2.2-4.5-4.5-7.2-6.2-8.7c-.8-.7-1.4-1-1.7-1.1c-.2-.1-.3-.1-.3-.1l0 0 0 0s0 0 0 0s0 0 0 0c0 0-.1 0-.3 .1c-.3 .1-.9 .4-1.7 1.1c-1.7 1.5-4 4.2-6.2 8.7zm-28.6-14.3c6.6-13.3 18.8-27.6 36.9-27.6s30.3 14.3 36.9 27.6c7.1 14.2 11.1 32.8 11.1 52.4s-3.9 38.2-11.1 52.4C366.3 273.7 354.2 288 336 288s-30.3-14.3-36.9-27.6C291.9 246.2 288 227.6 288 208s3.9-38.2 11.1-52.4z\"]\n};\nvar faCloudQuestion = {\n prefix: 'fal',\n iconName: 'cloud-question',\n icon: [640, 512, [], \"e492\", \"M389.8 125.2C363.7 88.1 320.7 64 272 64c-77.4 0-140.5 61-143.9 137.5c-.6 13-9 24.4-21.3 28.8C63.2 245.7 32 287.2 32 336c0 61.9 50.1 112 112 112H512c53 0 96-43 96-96c0-36.8-20.7-68.8-51.2-84.9c-13.4-7.1-20-22.5-15.8-37.1c2-6.9 3-14.3 3-22c0-44.2-35.8-80-80-80c-12.3 0-23.9 2.8-34.3 7.7c-14.1 6.7-30.9 2.3-39.9-10.5zM272 32c59.5 0 112.1 29.5 144 74.8C430.5 99.9 446.8 96 464 96c61.9 0 112 50.1 112 112c0 10.7-1.5 21-4.3 30.8C612.3 260.2 640 302.9 640 352c0 70.7-57.3 128-128 128H144C64.5 480 0 415.5 0 336c0-62.8 40.2-116.1 96.2-135.9C100.3 106.6 177.4 32 272 32zM232.7 201.8c6.5-24.6 28.7-41.8 54.2-41.8H344c35.5 0 64 29 64 64.3c0 24-13.4 46.2-34.9 57.2L336 300.3V320c0 8.8-7.2 16-16 16s-16-7.2-16-16V290.5c0-6 3.4-11.5 8.7-14.3l45.8-23.4c10.7-5.4 17.5-16.6 17.5-28.7c0-17.8-14.4-32.3-32-32.3H286.9c-10.9 0-20.5 7.4-23.2 17.9l-.2 .7c-2.2 8.5-11 13.7-19.5 11.4s-13.7-11-11.4-19.5l.2-.7zM296 384a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"]\n};\nvar faPineapple = {\n prefix: 'fal',\n iconName: 'pineapple',\n icon: [512, 512, [], \"e31f\", \"M387.4 2.6c-12 5.2-21.8 13-29.1 22.5c-12.5-12.2-32.5-12-44.9 .3c-17.1 17.1-26.7 38.9-28.8 61.2c11 3.3 21.7 7.9 31.7 13.6C315.1 81.4 321.7 62.3 336 48l14.7 14.7c3.9 3.9 9.6 5.5 15 4.3s9.7-5.2 11.5-10.4C380.8 46 388.5 36.9 400 32l3.6 14.3c1.2 4.8 4.6 8.9 9.2 10.8s9.8 1.7 14.2-.8c9.5-5.4 20.4-8.3 31.5-8.3H464v5.5c0 11.2-2.9 22-8.3 31.5c-2.5 4.3-2.8 9.6-.8 14.2s6 8 10.8 9.2L480 112c-4.9 11.5-14 19.2-24.6 22.8c-5.2 1.8-9.2 6.1-10.4 11.5s.4 11 4.3 15L464 176c-14.3 14.3-33.4 20.9-52.1 19.8c5.7 10 10.2 20.7 13.6 31.7c22.3-2.1 44.1-11.7 61.2-28.8c12.4-12.4 12.5-32.4 .3-44.9c9.4-7.3 17.3-17.1 22.5-29.1c3.7-8.6 3.4-18.4-.7-26.8c-3.6-7.2-9.7-12.7-17.1-15.6c2.9-9.2 4.4-18.9 4.4-28.7V48c0-17.7-14.3-32-32-32h-5.5c-9.8 0-19.5 1.5-28.7 4.4c-2.9-7.4-8.4-13.5-15.6-17.1c-8.4-4.2-18.2-4.4-26.8-.7zM67.9 406.6C44.9 383.7 32 352.5 32 320s12.9-63.7 35.9-86.6l85.5-85.5c23-23 54.1-35.9 86.6-35.9s63.7 12.9 86.6 35.9l37.5 37.5c23 23 35.9 54.1 35.9 86.6s-12.9 63.7-35.9 86.6l-85.5 85.5c-23 23-54.1 35.9-86.6 35.9s-63.7-12.9-86.6-35.9L67.9 406.6zM45.3 429.3l37.5 37.5c29 29 68.3 45.3 109.3 45.3s80.3-16.3 109.3-45.3l85.5-85.5c29-29 45.3-68.3 45.3-109.3s-16.3-80.3-45.3-109.3l-37.5-37.5C320.3 96.3 281 80 240 80s-80.3 16.3-109.3 45.3L45.3 210.7C16.3 239.7 0 279 0 320s16.3 80.3 45.3 109.3zM148.7 212.7c-6.2 6.2-6.2 16.4 0 22.6l32 32c6.2 6.2 16.4 6.2 22.6 0l32-32c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L192 233.4l-20.7-20.7c-6.2-6.2-16.4-6.2-22.6 0zm-64 88c-6.2 6.2-6.2 16.4 0 22.6l32 32c6.2 6.2 16.4 6.2 22.6 0l32-32c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L128 321.4l-20.7-20.7c-6.2-6.2-16.4-6.2-22.6 0zm128 0c-6.2 6.2-6.2 16.4 0 22.6l32 32c6.2 6.2 16.4 6.2 22.6 0l32-32c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L256 321.4l-20.7-20.7c-6.2-6.2-16.4-6.2-22.6 0zm-64 88c-6.2 6.2-6.2 16.4 0 22.6l32 32c6.2 6.2 16.4 6.2 22.6 0l32-32c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.2-22.6 0L192 409.4l-20.7-20.7c-6.2-6.2-16.4-6.2-22.6 0z\"]\n};\nvar faHandPointLeft = {\n prefix: 'fal',\n iconName: 'hand-point-left',\n icon: [512, 512, [], \"f0a5\", \"M56 128c-13.3 0-24 10.7-24 24s10.7 24 24 24l144 0 40 0 0-32c0-5.5 .6-10.8 1.6-16L56 128zm216 48l0 0 0 32 0 0 0 24c0 13.2 10.7 24 24 24l0 0c13.3 0 24-10.7 24-24l0-56c0-8.8 7.2-16 16-16s16 7.2 16 16l0 56c0 15.7-6.4 29.8-16.8 40c10.4 10.2 16.8 24.3 16.8 40c0 13.8-5 26.4-13.2 36.1C351.7 358.4 360 374.2 360 392c0 8.6-1.9 16.7-5.4 24C424.1 414.6 480 357.8 480 288l0-64c0-70.7-57.3-128-128-128l-32 0c-26.5 0-48 21.5-48 48l0 32zm-32 32l-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l31.9 0c0 0 0 0 .1 0l13.4 0c-3.5-7.3-5.4-15.4-5.4-24l0-24zm-90.6 0L56 208c-30.9 0-56-25.1-56-56s25.1-56 56-56l200 0c14.6-19.4 37.8-32 64-32l32 0c88.4 0 160 71.6 160 160l0 64c0 88.4-71.6 160-160 160l-48 0-32 0-24 0c-30.9 0-56-25.1-56-56c0-12.1 3.8-23.3 10.4-32.5C186.5 349.6 176 332 176 312c0-9.7 2.5-18.8 6.8-26.7C160.3 278 144 256.9 144 232c0-8.6 1.9-16.7 5.4-24zM272 288l-40 0c-13.2 0-24 10.8-24 24c0 13.3 10.7 24 24 24l16 0 48 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l0 0-24 0zm0 128l32 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-8 0-48 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l24 0z\"]\n};\nvar faGalleryThumbnails = {\n prefix: 'fal',\n iconName: 'gallery-thumbnails',\n icon: [576, 512, [], \"e3aa\", \"M512 32c17.7 0 32 14.3 32 32V288c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H512zM64 0C28.7 0 0 28.7 0 64V288c0 35.3 28.7 64 64 64H512c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zm0 448v32H32l0-32H64zM32 416c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32H64c17.7 0 32-14.3 32-32V448c0-17.7-14.3-32-32-32H32zm160 32h32v32H192V448zm-32 0v32c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V448c0-17.7-14.3-32-32-32H192c-17.7 0-32 14.3-32 32zm224 0v32H352V448h32zm-32-32c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V448c0-17.7-14.3-32-32-32H352zm160 32h32v32H512V448zm-32 0v32c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V448c0-17.7-14.3-32-32-32H512c-17.7 0-32 14.3-32 32z\"]\n};\nvar faCircleJ = {\n prefix: 'fal',\n iconName: 'circle-j',\n icon: [512, 512, [], \"e112\", \"M256 32a224 224 0 1 1 0 448 224 224 0 1 1 0-448zm0 480A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm80-368c0-8.8-7.2-16-16-16s-16 7.2-16 16V288c0 35.3-28.7 64-64 64s-64-28.7-64-64V272c0-8.8-7.2-16-16-16s-16 7.2-16 16v16c0 53 43 96 96 96s96-43 96-96V144z\"]\n};\nvar faEyes = {\n prefix: 'fal',\n iconName: 'eyes',\n icon: [640, 512, [], \"e367\", \"M304 256c0 55.6-16.9 104.7-42.8 139.2C235.3 429.7 202.1 448 168 448s-67.3-18.3-93.2-52.8c-7-9.3-13.3-19.6-18.8-30.8c7.6 2.4 15.6 3.7 24 3.7c44.2 0 80-35.8 80-80s-35.8-80-80-80c-17.1 0-32.9 5.4-45.9 14.5c5.3-41.7 20.2-78.3 40.7-105.7C100.7 82.3 133.9 64 168 64s67.3 18.3 93.2 52.8C287.1 151.3 304 200.4 304 256zm16-95.5C293.1 84.5 235.2 32 168 32C75.2 32 0 132.3 0 256S75.2 480 168 480c67.2 0 125.1-52.5 152-128.5C346.9 427.5 404.8 480 472 480c92.8 0 168-100.3 168-224s-75.2-224-168-224c-67.2 0-125.1 52.5-152 128.5zm58.8 234.7c-7-9.3-13.3-19.6-18.8-30.8c7.6 2.4 15.6 3.7 24 3.7c44.2 0 80-35.8 80-80s-35.8-80-80-80c-17.1 0-32.9 5.4-45.9 14.5c5.3-41.7 20.2-78.3 40.7-105.7C404.7 82.3 437.9 64 472 64s67.3 18.3 93.2 52.8C591.1 151.3 608 200.4 608 256s-16.9 104.7-42.8 139.2S506.1 448 472 448s-67.3-18.3-93.2-52.8zM32 288a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm352-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\"]\n};\nvar faHandshakeSimple = {\n prefix: 'fal',\n iconName: 'handshake-simple',\n icon: [640, 512, [129309, \"handshake-alt\"], \"f4c6\", \"M263.9 64h8.7L237.4 99.2c-16.6 4.1-32.2 11.9-45.5 23.1l-40.5 34c-2.9 2.4-6.5 3.8-10.3 3.8H48c-8.8 0-16-7.2-16-16s7.2-16 16-16h87.3l36-30.3C197.2 76 230 64 263.9 64zm28.4 35c23.8-22.5 55.3-35 88.1-35c30.2 0 59.4 10.6 82.5 30.1L503.3 128H592c8.8 0 16 7.2 16 16s-7.2 16-16 16H497.5c-3.8 0-7.4-1.3-10.3-3.8l-44.8-37.7C425 104 403.1 96 380.4 96c-24.6 0-48.2 9.4-66.1 26.3l-79.4 75c-14.9 14.1-14.6 38 .8 51.6c13.5 12 33.8 11.8 47-.4l76.1-70.2c6.5-6 16.6-5.6 22.6 .9s5.6 16.6-.9 22.6l-8.1 7.5L458 294.8c7 7 12.1 15.2 15.1 24H592c8.8 0 16 7.2 16 16s-7.2 16-16 16H475.8c-2.3 13.8-9.2 27-20.6 37c-15.7 14-36.5 18.8-55.7 14.8c-2.7 8.1-7 15.8-13 22.5c-23 25.9-62 28.6-88.4 7.3c-.8 .7-1.5 1.5-2.3 2.2c-26.4 23.6-66.7 22.5-91.8-2.6l-24.3-24.3c0 0-.1-.1-.1-.1l-15.4-15.4-28.6-28.6c-7.5-7.5-17.7-11.7-28.3-11.7H48c-8.8 0-16-7.2-16-16s7.2-16 16-16l59.4 0c19.1 0 37.4 7.6 50.9 21.1l28.6 28.6 39.9 39.8c13.1 13.1 34 13.6 47.8 1.3c3.2-2.9 5.8-6.2 7.6-9.8c2.4-4.5 6.7-7.6 11.8-8.4s10.1 .9 13.7 4.5l8.1 8.1c13.1 13.1 34.6 12.5 46.9-1.4c5.8-6.5 8.5-14.7 8.1-22.9c-.3-6 2.8-11.6 8-14.6s11.6-2.8 16.6 .5c11.8 7.6 27.6 6.7 38.6-3c13.7-12.2 14.4-33.5 1.4-46.5L348.9 231l-44.5 41c-25.3 23.4-64.2 23.7-90 .8C185 246.7 184.3 201 212.9 174l79.4-75z\"]\n};\nvar faHandshakeAlt = faHandshakeSimple;\nvar faPageCaretUp = {\n prefix: 'fal',\n iconName: 'page-caret-up',\n icon: [384, 512, [\"file-caret-up\"], \"e42a\", \"M352 448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H245.5c8.5 0 16.6 3.4 22.6 9.4l74.5 74.5c6 6 9.4 14.1 9.4 22.6V448zM64 512H320c35.3 0 64-28.7 64-64V138.5c0-17-6.7-33.3-18.7-45.3L290.7 18.7C278.7 6.7 262.5 0 245.5 0H64C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64zM203.8 197.2c-3-3.3-7.3-5.2-11.8-5.2s-8.8 1.9-11.8 5.2l-75.7 82.6c-14.1 15.4-3.2 40.2 17.7 40.2H261.8c20.9 0 31.8-24.8 17.7-40.2l-75.7-82.6zM192 231.7L243.6 288H140.4L192 231.7z\"]\n};\nvar faFileCaretUp = faPageCaretUp;\nvar faJetFighter = {\n prefix: 'fal',\n iconName: 'jet-fighter',\n icon: [640, 512, [\"fighter-jet\"], \"f0fb\", \"M224 32h23.9L352.6 176H224V32zM384.2 208h106c1.9 0 3.8 .3 5.6 1l107.6 40.3c2.8 1 4.6 3.7 4.6 6.6s-1.8 5.6-4.6 6.6L495.8 303c-1.8 .7-3.7 1-5.6 1h-106-.4H208 160c-4.2 0-8.3 1.7-11.3 4.7l-38.6 38.6c-3 3-7.1 4.7-11.3 4.7H80c-8.8 0-16-7.2-16-16V272h80c8.8 0 16-7.2 16-16s-7.2-16-16-16H64V176c0-8.8 7.2-16 16-16H98.7c4.2 0 8.3 1.7 11.3 4.7l38.6 38.6c3 3 7.1 4.7 11.3 4.7h48H383.8h.4zM32 272v64c0 26.5 21.5 48 48 48H98.7c12.7 0 24.9-5.1 33.9-14.1L166.6 336H192V480c-8.8 0-16 7.2-16 16s7.2 16 16 16h16 47.8 .4H304c8.8 0 16-7.2 16-16s-7.2-16-16-16H287.4L392.1 336h98.1c5.8 0 11.5-1 16.9-3.1l107.6-40.3c15.3-5.7 25.4-20.3 25.4-36.6s-10.1-30.9-25.4-36.6L507.1 179.1c-5.4-2-11.1-3.1-16.9-3.1H392.1L287.4 32H304c8.8 0 16-7.2 16-16s-7.2-16-16-16H256.2h-.4H208 192c-8.8 0-16 7.2-16 16s7.2 16 16 16V176H166.6l-33.9-33.9c-9-9-21.2-14.1-33.9-14.1H80c-26.5 0-48 21.5-48 48v64H16c-8.8 0-16 7.2-16 16s7.2 16 16 16H32zM224 480V336H352.6L247.9 480H224z\"]\n};\nvar faFighterJet = faJetFighter;\nvar faComet = {\n prefix: 'fal',\n iconName: 'comet',\n icon: [512, 512, [], \"e003\", \"M320 32c0-26.4-30.1-41.4-51.2-25.6L81.1 147.2C30 185.5 0 246.1 0 309.8C0 420.9 90 512 201.3 512c64.6 0 125.3-31 163.2-83.4L498.6 242.7c15.3-21.2 .2-50.7-25.9-50.7H446.6L509 50.3c2-4.5 3-9.5 3-14.4C512 16 496 0 476.2 0c-5 0-9.9 1-14.4 3L320 65.4V32zm154.6 .3c.5-.2 1-.3 1.5-.3c2.1 0 3.8 1.7 3.8 3.8c0 .5-.1 1.1-.3 1.5L407.4 201.6c-2.2 4.9-1.7 10.7 1.2 15.2s8 7.3 13.4 7.3h50.6L338.5 409.8C306.7 453.9 255.6 480 201.3 480C107.9 480 32 403.4 32 309.8c0-53.8 25.3-104.8 68.3-137L288 32V89.9c0 5.4 2.7 10.4 7.3 13.4s10.2 3.4 15.2 1.2L474.6 32.3zM169.1 283.7c10.4-1.5 19.4-8.1 24.1-17.5L208 236.2l14.8 30.1c4.7 9.4 13.7 16 24.1 17.5l33.2 4.8-24 23.4c-7.5 7.4-11 17.9-9.2 28.3l5.7 33.1-29.7-15.6c-9.3-4.9-20.5-4.9-29.8 0l-29.7 15.6 5.7-33.1c1.8-10.4-1.7-21-9.2-28.3l-24-23.4 33.2-4.8zm53.3-90.8c-2.7-5.5-8.3-8.9-14.3-8.9s-11.7 3.5-14.3 8.9l-29.2 59.2-65.3 9.5c-6 .9-11 5.1-12.9 10.9s-.3 12.2 4 16.4l47.2 46-11.2 65c-1 6 1.4 12.1 6.4 15.7s11.5 4.1 16.8 1.2L208 386.1l58.4 30.7c5.4 2.8 11.9 2.4 16.9-1.2s7.4-9.6 6.4-15.7l-11.2-65 47.2-46c4.4-4.3 5.9-10.6 4-16.4s-6.9-10-12.9-10.9l-65.3-9.5-29.2-59.2z\"]\n};\nvar faSquareShareNodes = {\n prefix: 'fal',\n iconName: 'square-share-nodes',\n icon: [448, 512, [\"share-alt-square\"], \"f1e1\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm320 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0 32c-18.4 0-35.1-7.8-46.7-20.3l-81.7 44.6c.3 2.5 .5 5.1 .5 7.7s-.2 5.2-.5 7.7l81.7 44.6C284.9 295.8 301.6 288 320 288c35.3 0 64 28.7 64 64s-28.7 64-64 64s-64-28.7-64-64c0-5.4 .7-10.6 1.9-15.6l-78.2-42.7C168.1 309.6 149.2 320 128 320c-35.3 0-64-28.7-64-64s28.7-64 64-64c21.2 0 40.1 10.4 51.7 26.3l78.2-42.7c-1.3-5-1.9-10.2-1.9-15.6c0-35.3 28.7-64 64-64s64 28.7 64 64s-28.7 64-64 64zm0 160a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM160 256a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"]\n};\nvar faShareAltSquare = faSquareShareNodes;\nvar faReflectVertical = {\n prefix: 'fal',\n iconName: 'reflect-vertical',\n icon: [512, 512, [], \"e665\", \"M0 256c0-8.8 7.2-16 16-16l480 0c8.8 0 16 7.2 16 16s-7.2 16-16 16L16 272c-8.8 0-16-7.2-16-16zM384 480L256 352 128 480l256 0zM128 512c-12.9 0-24.6-7.8-29.6-19.8s-2.2-25.7 6.9-34.9l128-128c12.5-12.5 32.8-12.5 45.3 0l128 128c9.2 9.2 11.9 22.9 6.9 34.9s-16.6 19.8-29.6 19.8l-256 0zm0-480L256 160 384 32 128 32zM98.4 19.8C103.4 7.8 115.1 0 128 0L384 0c12.9 0 24.6 7.8 29.6 19.8s2.2 25.7-6.9 34.9l-128 128c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-9.2-9.2-11.9-22.9-6.9-34.9z\"]\n};\nvar faShieldKeyhole = {\n prefix: 'fal',\n iconName: 'shield-keyhole',\n icon: [512, 512, [], \"e248\", \"M243.5 37.3c8-3.4 17-3.4 25 0l176.7 75c11.3 4.8 18.9 15.5 18.8 27.6c-.5 94-39.4 259.8-195.5 334.5c-7.9 3.8-17.2 3.8-25.1 0C87.3 399.6 48.5 233.8 48 139.8c-.1-12.1 7.5-22.8 18.8-27.6l176.7-75zM281 7.8c-16-6.8-34-6.8-50 0L54.3 82.8c-22 9.3-38.4 31-38.3 57.2c.5 99.2 41.3 280.7 213.6 363.2c16.7 8 36.1 8 52.8 0C454.7 420.7 495.5 239.2 496 140c.1-26.2-16.3-47.9-38.3-57.2L281 7.8zM256 184a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm56 24c0-30.9-25.1-56-56-56s-56 25.1-56 56c0 25.4 16.9 46.8 40 53.7V336c0 8.8 7.2 16 16 16s16-7.2 16-16V261.7c23.1-6.9 40-28.3 40-53.7z\"]\n};\nvar faFileMp4 = {\n prefix: 'fal',\n iconName: 'file-mp4',\n icon: [512, 512, [], \"e649\", \"M32 448c0 17.7 14.3 32 32 32v32c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H220.1c12.7 0 24.9 5.1 33.9 14.1L369.9 129.9c9 9 14.1 21.2 14.1 33.9V288H352V192H240c-26.5 0-48-21.5-48-48V32H64C46.3 32 32 46.3 32 64V448zM351.5 160c-.7-2.8-2.1-5.4-4.2-7.4L231.4 36.7c-2.1-2.1-4.6-3.5-7.4-4.2V144c0 8.8 7.2 16 16 16H351.5zM157.7 359.8L192 416.9l34.3-57.1c3.7-6.2 11.1-9.1 18-7.2s11.7 8.2 11.7 15.4V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V425.8l-18.3 30.5c-2.9 4.8-8.1 7.8-13.7 7.8s-10.8-3-13.7-7.8L160 425.8V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V368c0-7.2 4.8-13.5 11.7-15.4s14.3 1 18 7.2zM304 352h32c30.9 0 56 25.1 56 56s-25.1 56-56 56H320v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V448 368c0-8.8 7.2-16 16-16zm32 80c13.3 0 24-10.7 24-24s-10.7-24-24-24H320v48h16zm84.7 11.3c-3-3-4.7-7.1-4.7-11.3V368c0-8.8 7.2-16 16-16s16 7.2 16 16v48h32V368c0-8.8 7.2-16 16-16s16 7.2 16 16v64 64c0 8.8-7.2 16-16 16s-16-7.2-16-16V448H432c-4.2 0-8.3-1.7-11.3-4.7z\"]\n};\nvar faBarcode = {\n prefix: 'fal',\n iconName: 'barcode',\n icon: [512, 512, [], \"f02a\", \"M0 48c0-8.8 7.2-16 16-16s16 7.2 16 16V464c0 8.8-7.2 16-16 16s-16-7.2-16-16V48zm64 0c0-8.8 7.2-16 16-16s16 7.2 16 16V464c0 8.8-7.2 16-16 16s-16-7.2-16-16V48zm80-16c8.8 0 16 7.2 16 16V464c0 8.8-7.2 16-16 16s-16-7.2-16-16V48c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16s16 7.2 16 16V464c0 8.8-7.2 16-16 16s-16-7.2-16-16V48zm80-16c8.8 0 16 7.2 16 16V464c0 8.8-7.2 16-16 16s-16-7.2-16-16V48c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16s16 7.2 16 16V464c0 8.8-7.2 16-16 16s-16-7.2-16-16V48zM496 32c8.8 0 16 7.2 16 16V464c0 8.8-7.2 16-16 16s-16-7.2-16-16V48c0-8.8 7.2-16 16-16z\"]\n};\nvar faBulldozer = {\n prefix: 'fal',\n iconName: 'bulldozer',\n icon: [640, 512, [], \"e655\", \"M80 64h92.2c6.1 0 11.6 3.4 14.3 8.8L246.1 192H64V80c0-8.8 7.2-16 16-16zM32 80V192v16 16 97.6C12.2 341.8 0 369.5 0 400c0 61.9 50.1 112 112 112H368c61.9 0 112-50.1 112-112c0-23.8-7.4-45.9-20.1-64H528v40.8c0 18.7 6.6 36.8 18.5 51.2l65.2 78.2c5.7 6.8 15.7 7.7 22.5 2s7.7-15.7 2-22.5l-65.2-78.2c-7.2-8.6-11.1-19.5-11.1-30.7V263.2c0-11.2 3.9-22.1 11.1-30.7l65.2-78.2c5.7-6.8 4.7-16.9-2-22.5s-16.9-4.7-22.5 2L546.5 212c-12 14.4-18.5 32.5-18.5 51.2V304H448V256c0-35.3-28.7-64-64-64H368V128c0-8.8-7.2-16-16-16s-16 7.2-16 16v64H281.9L215.2 58.5C207 42.3 190.4 32 172.2 32H80C53.5 32 32 53.5 32 80zM64 224H271.7c.2 0 .4 0 .7 0H384c17.7 0 32 14.3 32 32v42.8c-14.5-6.9-30.8-10.8-48-10.8H112c-17.2 0-33.5 3.9-48 10.8V224zm48 96H368c44.2 0 80 35.8 80 80s-35.8 80-80 80H112c-44.2 0-80-35.8-80-80s35.8-80 80-80zm32 80a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zm216 24a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm-56-24a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM200 424a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"]\n};\nvar faPlusMinus = {\n prefix: 'fal',\n iconName: 'plus-minus',\n icon: [384, 512, [], \"e43c\", \"M176 208V352c0 8.8 7.2 16 16 16s16-7.2 16-16V208H352c8.8 0 16-7.2 16-16s-7.2-16-16-16H208V32c0-8.8-7.2-16-16-16s-16 7.2-16 16V176H32c-8.8 0-16 7.2-16 16s7.2 16 16 16H176zM16 464c0 8.8 7.2 16 16 16H352c8.8 0 16-7.2 16-16s-7.2-16-16-16H32c-8.8 0-16 7.2-16 16z\"]\n};\nvar faSquareSlidersVertical = {\n prefix: 'fal',\n iconName: 'square-sliders-vertical',\n icon: [448, 512, [\"sliders-v-square\"], \"f3f2\", \"M384 64c17.7 0 32 14.3 32 32V416c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm80 96c-8.8 0-16 7.2-16 16v48H104c-8.8 0-16 7.2-16 16s7.2 16 16 16h40 40c8.8 0 16-7.2 16-16s-7.2-16-16-16H160V144c0-8.8-7.2-16-16-16zm0 128c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16V272c0-8.8-7.2-16-16-16zM304 128c-8.8 0-16 7.2-16 16V256H264c-8.8 0-16 7.2-16 16s7.2 16 16 16h40 40c8.8 0 16-7.2 16-16s-7.2-16-16-16H320V144c0-8.8-7.2-16-16-16zm0 192c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16s16-7.2 16-16V336c0-8.8-7.2-16-16-16z\"]\n};\nvar faSlidersVSquare = faSquareSlidersVertical;\nvar faVideo = {\n prefix: 'fal',\n iconName: 'video',\n icon: [576, 512, [\"video-camera\"], \"f03d\", \"M64 96c-17.7 0-32 14.3-32 32V384c0 17.7 14.3 32 32 32H320c17.7 0 32-14.3 32-32V128c0-17.7-14.3-32-32-32H64zM0 128C0 92.7 28.7 64 64 64H320c35.3 0 64 28.7 64 64v47.2V336.8 384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128zM519.4 411.3L416 354.4V317.9l118.8 65.4c.9 .5 1.9 .8 3 .8c3.4 0 6.2-2.8 6.2-6.2V134.2c0-3.4-2.8-6.2-6.2-6.2c-1 0-2.1 .3-3 .8L416 194.1V157.6l103.4-56.9c5.6-3.1 12-4.7 18.4-4.7c21.1 0 38.2 17.1 38.2 38.2V377.8c0 21.1-17.1 38.2-38.2 38.2c-6.4 0-12.8-1.6-18.4-4.7z\"]\n};\nvar faVideoCamera = faVideo;\nvar faMessageMiddle = {\n prefix: 'fal',\n iconName: 'message-middle',\n icon: [512, 512, [\"comment-middle-alt\"], \"e1e1\", \"M343.5 384H448c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32H64C46.3 32 32 46.3 32 64V352c0 17.7 14.3 32 32 32H168.5c9.5 0 18.5 4.2 24.6 11.5L256 471l62.9-75.5C325 388.2 334 384 343.5 384zM268.3 485.7s0 0 0 0L256 496l12.3-10.2 0 0zM168.5 416H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H343.5l-75.2 90.2c-3 3.6-7.5 5.8-12.3 5.8s-9.3-2.1-12.3-5.8L168.5 416z\"]\n};\nvar faCommentMiddleAlt = faMessageMiddle;\nvar faGraduationCap = {\n prefix: 'fal',\n iconName: 'graduation-cap',\n icon: [640, 512, [127891, \"mortar-board\"], \"f19d\", \"M307.2 66.2L47.6 160l74 26.7c10.3-6.9 21.5-12.6 33.4-17.1l159.4-59.8c8.3-3.1 17.5 1.1 20.6 9.4s-1.1 17.5-9.4 20.6L166.2 199.6c-1.5 .5-2.9 1.1-4.3 1.7l145.3 52.5c4.1 1.5 8.4 2.2 12.8 2.2s8.7-.8 12.8-2.2L592.4 160 332.8 66.2c-4.1-1.5-8.4-2.2-12.8-2.2s-8.7 .8-12.8 2.2zM296.3 283.9L126.9 222.7C99.4 246 82.1 279.9 80.2 316.9c5.9 13.2 10.2 27.5 13.4 41.5c6.4 27.6 10.7 65.9 2.1 108.7c-.9 4.3-3.4 8-7.1 10.4s-8.2 3.1-12.4 2l-64-16c-5.2-1.3-9.4-5.1-11.2-10.2s-.9-10.7 2.3-14.9c8.6-11.7 16-24.6 22.5-37.6C37.2 377.8 48 348.4 48 320c0-.6 0-1.2 .1-1.8c1.4-41 18-79.1 45.1-107.7L15.8 182.6C6.3 179.1 0 170.1 0 160s6.3-19.1 15.8-22.6L296.3 36.1c7.6-2.7 15.6-4.1 23.7-4.1s16.1 1.4 23.7 4.1L624.2 137.4c9.5 3.4 15.8 12.5 15.8 22.6s-6.3 19.1-15.8 22.6L343.7 283.9c-7.6 2.7-15.6 4.1-23.7 4.1s-16.1-1.4-23.7-4.1zm-122-10L160.4 406.3c.7 .8 1.8 2.1 3.7 3.7c6 5.2 16.5 11.5 31.9 17.5C226.4 439.4 270.3 448 320 448s93.6-8.6 124.1-20.6c15.4-6 25.8-12.3 31.9-17.5c1.9-1.6 3-2.8 3.7-3.7L465.7 273.8l31-11.2L512 408c0 35.3-86 72-192 72s-192-36.7-192-72l15.3-145.4 31 11.2zM480.5 405a.2 .2 0 1 0 -.3-.1 .2 .2 0 1 0 .3 .1zm-321 0a.1 .1 0 1 0 .2 0 .1 .1 0 1 0 -.2 0zM67 444.2c2.5-20.7 1.7-40-.5-56.7c-3.8 10-8 19.3-12.1 27.6c-3.8 7.6-7.9 15.2-12.5 22.8L67 444.2z\"]\n};\nvar faMortarBoard = faGraduationCap;\nvar faHandHoldingMedical = {\n prefix: 'fal',\n iconName: 'hand-holding-medical',\n icon: [576, 512, [], \"e05c\", \"M266.7 0h42.7c17.7 0 32 14.3 32 32V74.7H384c17.7 0 32 14.3 32 32v42.7c0 17.7-14.3 32-32 32H341.3V224c0 17.7-14.3 32-32 32H266.7c-17.7 0-32-14.3-32-32V181.3H192c-17.7 0-32-14.3-32-32V106.7c0-17.7 14.3-32 32-32h42.7V32c0-17.7 14.3-32 32-32zm0 32V90.7c0 8.8-7.2 16-16 16l-58.7 0v42.7h58.7c8.8 0 16 7.2 16 16V224h42.7V165.3c0-8.8 7.2-16 16-16l58.7 0V106.7H325.3c-8.8 0-16-7.2-16-16l0-58.7-42.7 0zM151 317.4c13.1-8.8 28.6-13.4 44.4-13.4H344c30.9 0 56 25.1 56 56c0 8.6-1.9 16.7-5.4 24h5.6l94.7-56.4c8.3-4.9 17.8-7.6 27.5-7.6h1.3c28.9 0 52.3 23.4 52.3 52.3c0 17.7-9 34.2-23.8 43.8L432.6 493.9c-18.2 11.8-39.4 18.1-61 18.1H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H371.5c15.5 0 30.6-4.5 43.6-12.9l119.6-77.8c5.8-3.7 9.2-10.2 9.2-17c0-11.2-9.1-20.3-20.3-20.3h-1.3c-3.9 0-7.7 1.1-11.1 3l-98.5 58.7c-2.5 1.5-5.3 2.3-8.2 2.3H344 320 256c-8.8 0-16-7.2-16-16s7.2-16 16-16h64 24c13.3 0 24-10.7 24-24s-10.7-24-24-24H195.4c-9.5 0-18.7 2.8-26.6 8.1L88.9 397.3c-2.6 1.8-5.7 2.7-8.9 2.7H16c-8.8 0-16-7.2-16-16s7.2-16 16-16H75.2L151 317.4z\"]\n};\nvar faPersonCircleCheck = {\n prefix: 'fal',\n iconName: 'person-circle-check',\n icon: [576, 512, [], \"e53e\", \"M160 80a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0-80a56 56 0 1 1 0 112A56 56 0 1 1 160 0zM128 164V320h64V164c-6-2.6-12.5-4-19.3-4H147.3c-6.8 0-13.3 1.4-19.3 4zm0 188V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V202.1L46.1 295.5c-4.2 7.8-13.9 10.7-21.7 6.6s-10.7-13.9-6.6-21.7L76.7 170.3c13.9-26 41-42.3 70.6-42.3h25.4c29.5 0 56.7 16.3 70.6 42.3l48.7 91.1c-7.5 9.8-14 20.5-19.3 31.8l-48.6-91V496c0 8.8-7.2 16-16 16s-16-7.2-16-16V352H128zM432 480a112 112 0 1 0 0-224 112 112 0 1 0 0 224zm0-256a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm67.3 100.7c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L416 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z\"]\n};\nvar faSquareZ = {\n prefix: 'fal',\n iconName: 'square-z',\n icon: [448, 512, [], \"e288\", \"M64 64C46.3 64 32 78.3 32 96V416c0 17.7 14.3 32 32 32H384c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32H64zM0 96C0 60.7 28.7 32 64 32H384c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm144 32H304c6 0 11.5 3.3 14.2 8.7s2.3 11.7-1.2 16.6L175.1 352H304c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-6 0-11.5-3.4-14.2-8.7s-2.3-11.7 1.2-16.6L272.9 160H144c-8.8 0-16-7.2-16-16s7.2-16 16-16z\"]\n};\nvar faMessageText = {\n prefix: 'fal',\n iconName: 'message-text',\n icon: [512, 512, [\"comment-alt-text\"], \"e1e6\", \"M192 416c0-17.7-14.3-32-32-32H64c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32H448c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H309.3c-6.9 0-13.7 2.2-19.2 6.4L192 464V416zM64 0C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64h64 32v32 48c0 6.1 3.4 11.6 8.8 14.3s11.9 2.1 16.8-1.5L309.3 416H448c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM192 128c-8.8 0-16 7.2-16 16s7.2 16 16 16h48V272c0 8.8 7.2 16 16 16s16-7.2 16-16V160h48c8.8 0 16-7.2 16-16s-7.2-16-16-16H256 192z\"]\n};\nvar faCommentAltText = faMessageText;\nvar faTurnUp = {\n prefix: 'fal',\n iconName: 'turn-up',\n icon: [384, 512, [10548, \"level-up-alt\"], \"f3bf\", \"M128 160H70.7c-3.7 0-6.7-3-6.7-6.7c0-1.9 .8-3.7 2.2-5L192 35.8 317.8 148.3c1.4 1.3 2.2 3.1 2.2 5c0 3.7-3 6.7-6.7 6.7H256c-17.7 0-32 14.3-32 32V368c0 61.9-50.1 112-112 112H48c-8.8 0-16-7.2-16-16V432c0-8.8 7.2-16 16-16l64 0c26.5 0 48-21.5 48-48V192c0-17.7-14.3-32-32-32zM206 5.3C202.1 1.9 197.2 0 192 0s-10.1 1.9-14 5.3L44.9 124.5C36.7 131.8 32 142.3 32 153.3C32 174.7 49.3 192 70.7 192H96h32v32V368c0 8.8-7.2 16-16 16l-64 0c-26.5 0-48 21.5-48 48v32c0 26.5 21.5 48 48 48h64c79.5 0 144-64.5 144-144V224 192h32 25.3c21.4 0 38.7-17.3 38.7-38.7c0-11-4.7-21.5-12.9-28.8L206 5.3z\"]\n};\nvar faLevelUpAlt = faTurnUp;\nvar icons = {\n fa0: fa0,\n fa1: fa1,\n fa2: fa2,\n fa3: fa3,\n fa4: fa4,\n fa5: fa5,\n fa6: fa6,\n fa7: fa7,\n fa8: fa8,\n fa9: fa9,\n faFillDrip: faFillDrip,\n faArrowsToCircle: faArrowsToCircle,\n faCircleChevronRight: faCircleChevronRight,\n faChevronCircleRight: faChevronCircleRight,\n faWagonCovered: faWagonCovered,\n faLineHeight: faLineHeight,\n faBagel: faBagel,\n faTransporter7: faTransporter7,\n faAt: faAt,\n faRectanglesMixed: faRectanglesMixed,\n faPhoneArrowUpRight: faPhoneArrowUpRight,\n faPhoneArrowUp: faPhoneArrowUp,\n faPhoneOutgoing: faPhoneOutgoing,\n faTrashCan: faTrashCan,\n faTrashAlt: faTrashAlt,\n faCircleL: faCircleL,\n faHeadSideGoggles: faHeadSideGoggles,\n faHeadVr: faHeadVr,\n faTextHeight: faTextHeight,\n faUserXmark: faUserXmark,\n faUserTimes: faUserTimes,\n faFaceHandYawn: faFaceHandYawn,\n faGaugeSimpleMin: faGaugeSimpleMin,\n faTachometerSlowest: faTachometerSlowest,\n faStethoscope: faStethoscope,\n faCoffin: faCoffin,\n faMessage: faMessage,\n faCommentAlt: faCommentAlt,\n faSalad: faSalad,\n faBowlSalad: faBowlSalad,\n faInfo: faInfo,\n faRobotAstromech: faRobotAstromech,\n faRingDiamond: faRingDiamond,\n faFonduePot: faFonduePot,\n faTheta: faTheta,\n faFaceHandPeeking: faFaceHandPeeking,\n faSquareUser: faSquareUser,\n faDownLeftAndUpRightToCenter: faDownLeftAndUpRightToCenter,\n faCompressAlt: faCompressAlt,\n faExplosion: faExplosion,\n faFileLines: faFileLines,\n faFileAlt: faFileAlt,\n faFileText: faFileText,\n faWaveSquare: faWaveSquare,\n faRing: faRing,\n faBuildingUn: faBuildingUn,\n faDiceThree: faDiceThree,\n faTirePressureWarning: faTirePressureWarning,\n faWifiFair: faWifiFair,\n faWifi2: faWifi2,\n faCalendarDays: faCalendarDays,\n faCalendarAlt: faCalendarAlt,\n faMp3Player: faMp3Player,\n faAnchorCircleCheck: faAnchorCircleCheck,\n faTally4: faTally4,\n faRectangleHistory: faRectangleHistory,\n faBuildingCircleArrowRight: faBuildingCircleArrowRight,\n faVolleyball: faVolleyball,\n faVolleyballBall: faVolleyballBall,\n faSunHaze: faSunHaze,\n faTextSize: faTextSize,\n faUfo: faUfo,\n faFork: faFork,\n faUtensilFork: faUtensilFork,\n faArrowsUpToLine: faArrowsUpToLine,\n faMobileSignal: faMobileSignal,\n faBarcodeScan: faBarcodeScan,\n faSortDown: faSortDown,\n faSortDesc: faSortDesc,\n faFolderArrowDown: faFolderArrowDown,\n faFolderDownload: faFolderDownload,\n faCircleMinus: faCircleMinus,\n faMinusCircle: faMinusCircle,\n faFaceIcicles: faFaceIcicles,\n faShovel: faShovel,\n faDoorOpen: faDoorOpen,\n faFilms: faFilms,\n faRightFromBracket: faRightFromBracket,\n faSignOutAlt: faSignOutAlt,\n faFaceGlasses: faFaceGlasses,\n faNfc: faNfc,\n faAtom: faAtom,\n faSoap: faSoap,\n faIcons: faIcons,\n faHeartMusicCameraBolt: faHeartMusicCameraBolt,\n faMicrophoneLinesSlash: faMicrophoneLinesSlash,\n faMicrophoneAltSlash: faMicrophoneAltSlash,\n faClosedCaptioningSlash: faClosedCaptioningSlash,\n faCalculatorSimple: faCalculatorSimple,\n faCalculatorAlt: faCalculatorAlt,\n faBridgeCircleCheck: faBridgeCircleCheck,\n faSlidersUp: faSlidersUp,\n faSlidersV: faSlidersV,\n faLocationMinus: faLocationMinus,\n faMapMarkerMinus: faMapMarkerMinus,\n faPumpMedical: faPumpMedical,\n faFingerprint: faFingerprint,\n faSkiBoot: faSkiBoot,\n faStandardDefinition: faStandardDefinition,\n faRectangleSd: faRectangleSd,\n faH1: faH1,\n faHandPointRight: faHandPointRight,\n faMagnifyingGlassLocation: faMagnifyingGlassLocation,\n faSearchLocation: faSearchLocation,\n faMessageBot: faMessageBot,\n faForwardStep: faForwardStep,\n faStepForward: faStepForward,\n faFaceSmileBeam: faFaceSmileBeam,\n faSmileBeam: faSmileBeam,\n faLightCeiling: faLightCeiling,\n faMessageExclamation: faMessageExclamation,\n faCommentAltExclamation: faCommentAltExclamation,\n faBowlScoop: faBowlScoop,\n faBowlShavedIce: faBowlShavedIce,\n faSquareX: faSquareX,\n faBuildingMemo: faBuildingMemo,\n faUtilityPoleDouble: faUtilityPoleDouble,\n faFlagCheckered: faFlagCheckered,\n faChevronsUp: faChevronsUp,\n faChevronDoubleUp: faChevronDoubleUp,\n faFootball: faFootball,\n faFootballBall: faFootballBall,\n faUserVneck: faUserVneck,\n faSchoolCircleExclamation: faSchoolCircleExclamation,\n faCrop: faCrop,\n faAnglesDown: faAnglesDown,\n faAngleDoubleDown: faAngleDoubleDown,\n faUsersRectangle: faUsersRectangle,\n faPeopleRoof: faPeopleRoof,\n faSquareArrowRight: faSquareArrowRight,\n faArrowSquareRight: faArrowSquareRight,\n faLocationPlus: faLocationPlus,\n faMapMarkerPlus: faMapMarkerPlus,\n faLightbulbExclamationOn: faLightbulbExclamationOn,\n faPeopleLine: faPeopleLine,\n faBeerMugEmpty: faBeerMugEmpty,\n faBeer: faBeer,\n faCrateEmpty: faCrateEmpty,\n faDiagramPredecessor: faDiagramPredecessor,\n faTransporter: faTransporter,\n faCalendarCircleUser: faCalendarCircleUser,\n faArrowUpLong: faArrowUpLong,\n faLongArrowUp: faLongArrowUp,\n faPersonCarryBox: faPersonCarryBox,\n faPersonCarry: faPersonCarry,\n faFireFlameSimple: faFireFlameSimple,\n faBurn: faBurn,\n faPerson: faPerson,\n faMale: faMale,\n faLaptop: faLaptop,\n faFileCsv: faFileCsv,\n faMenorah: faMenorah,\n faUnion: faUnion,\n faChevronsLeft: faChevronsLeft,\n faChevronDoubleLeft: faChevronDoubleLeft,\n faCircleHeart: faCircleHeart,\n faHeartCircle: faHeartCircle,\n faTruckPlane: faTruckPlane,\n faRecordVinyl: faRecordVinyl,\n faBringForward: faBringForward,\n faSquareP: faSquareP,\n faFaceGrinStars: faFaceGrinStars,\n faGrinStars: faGrinStars,\n faSigma: faSigma,\n faCameraMovie: faCameraMovie,\n faBong: faBong,\n faClarinet: faClarinet,\n faTruckFlatbed: faTruckFlatbed,\n faSpaghettiMonsterFlying: faSpaghettiMonsterFlying,\n faPastafarianism: faPastafarianism,\n faArrowDownUpAcrossLine: faArrowDownUpAcrossLine,\n faArrowsRotateReverse: faArrowsRotateReverse,\n faLeafHeart: faLeafHeart,\n faHouseBuilding: faHouseBuilding,\n faCheeseSwiss: faCheeseSwiss,\n faSpoon: faSpoon,\n faUtensilSpoon: faUtensilSpoon,\n faJarWheat: faJarWheat,\n faEnvelopesBulk: faEnvelopesBulk,\n faMailBulk: faMailBulk,\n faFileCircleExclamation: faFileCircleExclamation,\n faBowArrow: faBowArrow,\n faCartXmark: faCartXmark,\n faHexagonXmark: faHexagonXmark,\n faTimesHexagon: faTimesHexagon,\n faXmarkHexagon: faXmarkHexagon,\n faCircleH: faCircleH,\n faHospitalSymbol: faHospitalSymbol,\n faMerge: faMerge,\n faPager: faPager,\n faCartMinus: faCartMinus,\n faAddressBook: faAddressBook,\n faContactBook: faContactBook,\n faPanFrying: faPanFrying,\n faGrid: faGrid,\n faGrid3: faGrid3,\n faFootballHelmet: faFootballHelmet,\n faHandLove: faHandLove,\n faTrees: faTrees,\n faStrikethrough: faStrikethrough,\n faPage: faPage,\n faK: faK,\n faDiagramPrevious: faDiagramPrevious,\n faGaugeMin: faGaugeMin,\n faTachometerAltSlowest: faTachometerAltSlowest,\n faFolderGrid: faFolderGrid,\n faEggplant: faEggplant,\n faExcavator: faExcavator,\n faRam: faRam,\n faLandmarkFlag: faLandmarkFlag,\n faLips: faLips,\n faPencil: faPencil,\n faPencilAlt: faPencilAlt,\n faBackward: faBackward,\n faCaretRight: faCaretRight,\n faComments: faComments,\n faPaste: faPaste,\n faFileClipboard: faFileClipboard,\n faDesktopArrowDown: faDesktopArrowDown,\n faCodePullRequest: faCodePullRequest,\n faPumpkin: faPumpkin,\n faClipboardList: faClipboardList,\n faPenField: faPenField,\n faBlueberries: faBlueberries,\n faTruckRampBox: faTruckRampBox,\n faTruckLoading: faTruckLoading,\n faNote: faNote,\n faArrowDownToSquare: faArrowDownToSquare,\n faUserCheck: faUserCheck,\n faCloudXmark: faCloudXmark,\n faVialVirus: faVialVirus,\n faBookBlank: faBookBlank,\n faBookAlt: faBookAlt,\n faGolfFlagHole: faGolfFlagHole,\n faMessageArrowDown: faMessageArrowDown,\n faCommentAltArrowDown: faCommentAltArrowDown,\n faFaceUnamused: faFaceUnamused,\n faSheetPlastic: faSheetPlastic,\n faCircle9: faCircle9,\n faBlog: faBlog,\n faUserNinja: faUserNinja,\n faPencilSlash: faPencilSlash,\n faBowlingPins: faBowlingPins,\n faPersonArrowUpFromLine: faPersonArrowUpFromLine,\n faDownRight: faDownRight,\n faScrollTorah: faScrollTorah,\n faTorah: faTorah,\n faWebhook: faWebhook,\n faBlindsOpen: faBlindsOpen,\n faFence: faFence,\n faUp: faUp,\n faArrowAltUp: faArrowAltUp,\n faBroomBall: faBroomBall,\n faQuidditch: faQuidditch,\n faQuidditchBroomBall: faQuidditchBroomBall,\n faDrumstick: faDrumstick,\n faSquareV: faSquareV,\n faFaceAwesome: faFaceAwesome,\n faGaveDandy: faGaveDandy,\n faDialOff: faDialOff,\n faToggleOff: faToggleOff,\n faFaceSmileHorns: faFaceSmileHorns,\n faBoxArchive: faBoxArchive,\n faArchive: faArchive,\n faGrapes: faGrapes,\n faPersonDrowning: faPersonDrowning,\n faDialMax: faDialMax,\n faCircleM: faCircleM,\n faCalendarImage: faCalendarImage,\n faCircleCaretDown: faCircleCaretDown,\n faCaretCircleDown: faCaretCircleDown,\n faArrowDown91: faArrowDown91,\n faSortNumericDesc: faSortNumericDesc,\n faSortNumericDownAlt: faSortNumericDownAlt,\n faFaceGrinTongueSquint: faFaceGrinTongueSquint,\n faGrinTongueSquint: faGrinTongueSquint,\n faShishKebab: faShishKebab,\n faSprayCan: faSprayCan,\n faAlarmSnooze: faAlarmSnooze,\n faScarecrow: faScarecrow,\n faTruckMonster: faTruckMonster,\n faGiftCard: faGiftCard,\n faW: faW,\n faCodePullRequestDraft: faCodePullRequestDraft,\n faSquareB: faSquareB,\n faElephant: faElephant,\n faEarthAfrica: faEarthAfrica,\n faGlobeAfrica: faGlobeAfrica,\n faRainbow: faRainbow,\n faCircleNotch: faCircleNotch,\n faTabletScreenButton: faTabletScreenButton,\n faTabletAlt: faTabletAlt,\n faPaw: faPaw,\n faMessageQuestion: faMessageQuestion,\n faCloud: faCloud,\n faTrowelBricks: faTrowelBricks,\n faSquare3: faSquare3,\n faFaceFlushed: faFaceFlushed,\n faFlushed: faFlushed,\n faHospitalUser: faHospitalUser,\n faMicrowave: faMicrowave,\n faChfSign: faChfSign,\n faTentArrowLeftRight: faTentArrowLeftRight,\n faCartCircleArrowUp: faCartCircleArrowUp,\n faTrashClock: faTrashClock,\n faReflectBoth: faReflectBoth,\n faGavel: faGavel,\n faLegal: faLegal,\n faSprinklerCeiling: faSprinklerCeiling,\n faBrowsers: faBrowsers,\n faTrillium: faTrillium,\n faMusicSlash: faMusicSlash,\n faTruckRamp: faTruckRamp,\n faBinoculars: faBinoculars,\n faMicrophoneSlash: faMicrophoneSlash,\n faBoxTissue: faBoxTissue,\n faCircleC: faCircleC,\n faStarChristmas: faStarChristmas,\n faChartBullet: faChartBullet,\n faMotorcycle: faMotorcycle,\n faTreeChristmas: faTreeChristmas,\n faTireFlat: faTireFlat,\n faSunglasses: faSunglasses,\n faBadge: faBadge,\n faMessagePen: faMessagePen,\n faCommentAltEdit: faCommentAltEdit,\n faMessageEdit: faMessageEdit,\n faBellConcierge: faBellConcierge,\n faConciergeBell: faConciergeBell,\n faPenRuler: faPenRuler,\n faPencilRuler: faPencilRuler,\n faFileMp3: faFileMp3,\n faArrowProgress: faArrowProgress,\n faChessRookPiece: faChessRookPiece,\n faChessRookAlt: faChessRookAlt,\n faSquareRoot: faSquareRoot,\n faAlbumCollectionCirclePlus: faAlbumCollectionCirclePlus,\n faPeopleArrows: faPeopleArrows,\n faPeopleArrowsLeftRight: faPeopleArrowsLeftRight,\n faSignPost: faSignPost,\n faFaceAngryHorns: faFaceAngryHorns,\n faMarsAndVenusBurst: faMarsAndVenusBurst,\n faTombstone: faTombstone,\n faSquareCaretRight: faSquareCaretRight,\n faCaretSquareRight: faCaretSquareRight,\n faScissors: faScissors,\n faCut: faCut,\n faListMusic: faListMusic,\n faSunPlantWilt: faSunPlantWilt,\n faToiletsPortable: faToiletsPortable,\n faHockeyPuck: faHockeyPuck,\n faMustache: faMustache,\n faHyphen: faHyphen,\n faTable: faTable,\n faUserChef: faUserChef,\n faMessageImage: faMessageImage,\n faCommentAltImage: faCommentAltImage,\n faUsersMedical: faUsersMedical,\n faSensorTriangleExclamation: faSensorTriangleExclamation,\n faSensorAlert: faSensorAlert,\n faMagnifyingGlassArrowRight: faMagnifyingGlassArrowRight,\n faTachographDigital: faTachographDigital,\n faDigitalTachograph: faDigitalTachograph,\n faFaceMask: faFaceMask,\n faPickleball: faPickleball,\n faStarSharpHalf: faStarSharpHalf,\n faUsersSlash: faUsersSlash,\n faClover: faClover,\n faMeat: faMeat,\n faReply: faReply,\n faMailReply: faMailReply,\n faStarAndCrescent: faStarAndCrescent,\n faEmptySet: faEmptySet,\n faHouseFire: faHouseFire,\n faSquareMinus: faSquareMinus,\n faMinusSquare: faMinusSquare,\n faHelicopter: faHelicopter,\n faBird: faBird,\n faCompass: faCompass,\n faSquareCaretDown: faSquareCaretDown,\n faCaretSquareDown: faCaretSquareDown,\n faHeartHalfStroke: faHeartHalfStroke,\n faHeartHalfAlt: faHeartHalfAlt,\n faFileCircleQuestion: faFileCircleQuestion,\n faTruckUtensils: faTruckUtensils,\n faLaptopCode: faLaptopCode,\n faJoystick: faJoystick,\n faGrillFire: faGrillFire,\n faRectangleVerticalHistory: faRectangleVerticalHistory,\n faSwatchbook: faSwatchbook,\n faPrescriptionBottle: faPrescriptionBottle,\n faBars: faBars,\n faNavicon: faNavicon,\n faKeyboardLeft: faKeyboardLeft,\n faPeopleGroup: faPeopleGroup,\n faHourglassEnd: faHourglassEnd,\n faHourglass3: faHourglass3,\n faHeartCrack: faHeartCrack,\n faHeartBroken: faHeartBroken,\n faFaceBeamHandOverMouth: faFaceBeamHandOverMouth,\n faDropletPercent: faDropletPercent,\n faHumidity: faHumidity,\n faSquareUpRight: faSquareUpRight,\n faExternalLinkSquareAlt: faExternalLinkSquareAlt,\n faFaceKissBeam: faFaceKissBeam,\n faKissBeam: faKissBeam,\n faCorn: faCorn,\n faRollerCoaster: faRollerCoaster,\n faPhotoFilmMusic: faPhotoFilmMusic,\n faRadar: faRadar,\n faSickle: faSickle,\n faFilm: faFilm,\n faCoconut: faCoconut,\n faRulerHorizontal: faRulerHorizontal,\n faShieldCross: faShieldCross,\n faCassetteTape: faCassetteTape,\n faSquareTerminal: faSquareTerminal,\n faPeopleRobbery: faPeopleRobbery,\n faLightbulb: faLightbulb,\n faCaretLeft: faCaretLeft,\n faCommentMiddle: faCommentMiddle,\n faTrashCanList: faTrashCanList,\n faBlock: faBlock,\n faCircleExclamation: faCircleExclamation,\n faExclamationCircle: faExclamationCircle,\n faSchoolCircleXmark: faSchoolCircleXmark,\n faArrowRightFromBracket: faArrowRightFromBracket,\n faSignOut: faSignOut,\n faFaceFrownSlight: faFaceFrownSlight,\n faCircleChevronDown: faCircleChevronDown,\n faChevronCircleDown: faChevronCircleDown,\n faSidebarFlip: faSidebarFlip,\n faUnlockKeyhole: faUnlockKeyhole,\n faUnlockAlt: faUnlockAlt,\n faTemperatureList: faTemperatureList,\n faCloudShowersHeavy: faCloudShowersHeavy,\n faHeadphonesSimple: faHeadphonesSimple,\n faHeadphonesAlt: faHeadphonesAlt,\n faSitemap: faSitemap,\n faPipeSection: faPipeSection,\n faSpaceStationMoonConstruction: faSpaceStationMoonConstruction,\n faSpaceStationMoonAlt: faSpaceStationMoonAlt,\n faCircleDollarToSlot: faCircleDollarToSlot,\n faDonate: faDonate,\n faMemory: faMemory,\n faFaceSleeping: faFaceSleeping,\n faRoadSpikes: faRoadSpikes,\n faFireBurner: faFireBurner,\n faSquirrel: faSquirrel,\n faArrowUpToLine: faArrowUpToLine,\n faArrowToTop: faArrowToTop,\n faFlag: faFlag,\n faFaceCowboyHat: faFaceCowboyHat,\n faHanukiah: faHanukiah,\n faChartScatter3d: faChartScatter3d,\n faDisplayChartUp: faDisplayChartUp,\n faSquareCode: faSquareCode,\n faFeather: faFeather,\n faVolumeLow: faVolumeLow,\n faVolumeDown: faVolumeDown,\n faXmarkToSlot: faXmarkToSlot,\n faTimesToSlot: faTimesToSlot,\n faVoteNay: faVoteNay,\n faBoxTaped: faBoxTaped,\n faBoxAlt: faBoxAlt,\n faCommentSlash: faCommentSlash,\n faSwords: faSwords,\n faCloudSunRain: faCloudSunRain,\n faAlbum: faAlbum,\n faCircleN: faCircleN,\n faCompress: faCompress,\n faWheatAwn: faWheatAwn,\n faWheatAlt: faWheatAlt,\n faAnkh: faAnkh,\n faHandsHoldingChild: faHandsHoldingChild,\n faAsterisk: faAsterisk,\n faKeySkeletonLeftRight: faKeySkeletonLeftRight,\n faCommentLines: faCommentLines,\n faLuchadorMask: faLuchadorMask,\n faLuchador: faLuchador,\n faMaskLuchador: faMaskLuchador,\n faSquareCheck: faSquareCheck,\n faCheckSquare: faCheckSquare,\n faShredder: faShredder,\n faBookOpenCover: faBookOpenCover,\n faBookOpenAlt: faBookOpenAlt,\n faSandwich: faSandwich,\n faPesetaSign: faPesetaSign,\n faSquareParkingSlash: faSquareParkingSlash,\n faParkingSlash: faParkingSlash,\n faTrainTunnel: faTrainTunnel,\n faHeading: faHeading,\n faHeader: faHeader,\n faGhost: faGhost,\n faFaceAnguished: faFaceAnguished,\n faHockeySticks: faHockeySticks,\n faAbacus: faAbacus,\n faFilmSimple: faFilmSimple,\n faFilmAlt: faFilmAlt,\n faList: faList,\n faListSquares: faListSquares,\n faTreePalm: faTreePalm,\n faSquarePhoneFlip: faSquarePhoneFlip,\n faPhoneSquareAlt: faPhoneSquareAlt,\n faCartPlus: faCartPlus,\n faGamepad: faGamepad,\n faBorderCenterV: faBorderCenterV,\n faCircleDot: faCircleDot,\n faDotCircle: faDotCircle,\n faClipboardMedical: faClipboardMedical,\n faFaceDizzy: faFaceDizzy,\n faDizzy: faDizzy,\n faEgg: faEgg,\n faUpToLine: faUpToLine,\n faArrowAltToTop: faArrowAltToTop,\n faHouseMedicalCircleXmark: faHouseMedicalCircleXmark,\n faWatchFitness: faWatchFitness,\n faClockNineThirty: faClockNineThirty,\n faCampground: faCampground,\n faFolderPlus: faFolderPlus,\n faJug: faJug,\n faFutbol: faFutbol,\n faFutbolBall: faFutbolBall,\n faSoccerBall: faSoccerBall,\n faSnowBlowing: faSnowBlowing,\n faPaintbrush: faPaintbrush,\n faPaintBrush: faPaintBrush,\n faLock: faLock,\n faArrowDownFromLine: faArrowDownFromLine,\n faArrowFromTop: faArrowFromTop,\n faGasPump: faGasPump,\n faSignalBarsSlash: faSignalBarsSlash,\n faSignalAltSlash: faSignalAltSlash,\n faMonkey: faMonkey,\n faRectanglePro: faRectanglePro,\n faPro: faPro,\n faHouseNight: faHouseNight,\n faHotTubPerson: faHotTubPerson,\n faHotTub: faHotTub,\n faGlobePointer: faGlobePointer,\n faBlanket: faBlanket,\n faMapLocation: faMapLocation,\n faMapMarked: faMapMarked,\n faHouseFloodWater: faHouseFloodWater,\n faCommentsQuestionCheck: faCommentsQuestionCheck,\n faTree: faTree,\n faArrowsCross: faArrowsCross,\n faBackpack: faBackpack,\n faSquareSmall: faSquareSmall,\n faFolderArrowUp: faFolderArrowUp,\n faFolderUpload: faFolderUpload,\n faBridgeLock: faBridgeLock,\n faCrosshairsSimple: faCrosshairsSimple,\n faSackDollar: faSackDollar,\n faPenToSquare: faPenToSquare,\n faEdit: faEdit,\n faSquareSliders: faSquareSliders,\n faSlidersHSquare: faSlidersHSquare,\n faCarSide: faCarSide,\n faMessageMiddleTop: faMessageMiddleTop,\n faCommentMiddleTopAlt: faCommentMiddleTopAlt,\n faLightbulbOn: faLightbulbOn,\n faKnife: faKnife,\n faUtensilKnife: faUtensilKnife,\n faShareNodes: faShareNodes,\n faShareAlt: faShareAlt,\n faDisplayChartUpCircleDollar: faDisplayChartUpCircleDollar,\n faWaveSine: faWaveSine,\n faHeartCircleMinus: faHeartCircleMinus,\n faCircleW: faCircleW,\n faCircleCalendar: faCircleCalendar,\n faCalendarCircle: faCalendarCircle,\n faHourglassHalf: faHourglassHalf,\n faHourglass2: faHourglass2,\n faMicroscope: faMicroscope,\n faSunset: faSunset,\n faSink: faSink,\n faCalendarExclamation: faCalendarExclamation,\n faTruckContainerEmpty: faTruckContainerEmpty,\n faHandHeart: faHandHeart,\n faBagShopping: faBagShopping,\n faShoppingBag: faShoppingBag,\n faArrowDownZA: faArrowDownZA,\n faSortAlphaDesc: faSortAlphaDesc,\n faSortAlphaDownAlt: faSortAlphaDownAlt,\n faMitten: faMitten,\n faReplyClock: faReplyClock,\n faReplyTime: faReplyTime,\n faPersonRays: faPersonRays,\n faRight: faRight,\n faArrowAltRight: faArrowAltRight,\n faCircleF: faCircleF,\n faUsers: faUsers,\n faFacePleading: faFacePleading,\n faEyeSlash: faEyeSlash,\n faFlaskVial: faFlaskVial,\n faPoliceBox: faPoliceBox,\n faCucumber: faCucumber,\n faHeadSideBrain: faHeadSideBrain,\n faHand: faHand,\n faHandPaper: faHandPaper,\n faPersonBikingMountain: faPersonBikingMountain,\n faBikingMountain: faBikingMountain,\n faUtensilsSlash: faUtensilsSlash,\n faPrintMagnifyingGlass: faPrintMagnifyingGlass,\n faPrintSearch: faPrintSearch,\n faTurnRight: faTurnRight,\n faFolderBookmark: faFolderBookmark,\n faArrowTurnLeftDown: faArrowTurnLeftDown,\n faOm: faOm,\n faPi: faPi,\n faFlaskRoundPotion: faFlaskRoundPotion,\n faFlaskPotion: faFlaskPotion,\n faFaceShush: faFaceShush,\n faWorm: faWorm,\n faHouseCircleXmark: faHouseCircleXmark,\n faPlug: faPlug,\n faCalendarCircleExclamation: faCalendarCircleExclamation,\n faSquareI: faSquareI,\n faChevronUp: faChevronUp,\n faFaceSaluting: faFaceSaluting,\n faGaugeSimpleLow: faGaugeSimpleLow,\n faTachometerSlow: faTachometerSlow,\n faFacePersevering: faFacePersevering,\n faCircleCamera: faCircleCamera,\n faCameraCircle: faCameraCircle,\n faHandSpock: faHandSpock,\n faSpiderWeb: faSpiderWeb,\n faCircleMicrophone: faCircleMicrophone,\n faMicrophoneCircle: faMicrophoneCircle,\n faBookArrowUp: faBookArrowUp,\n faPopsicle: faPopsicle,\n faCommand: faCommand,\n faBlinds: faBlinds,\n faStopwatch: faStopwatch,\n faSaxophone: faSaxophone,\n faSquare2: faSquare2,\n faFieldHockeyStickBall: faFieldHockeyStickBall,\n faFieldHockey: faFieldHockey,\n faArrowUpSquareTriangle: faArrowUpSquareTriangle,\n faSortShapesUpAlt: faSortShapesUpAlt,\n faFaceScream: faFaceScream,\n faSquareM: faSquareM,\n faCameraWeb: faCameraWeb,\n faWebcam: faWebcam,\n faCommentArrowDown: faCommentArrowDown,\n faLightbulbCfl: faLightbulbCfl,\n faWindowFrameOpen: faWindowFrameOpen,\n faFaceKiss: faFaceKiss,\n faKiss: faKiss,\n faBridgeCircleXmark: faBridgeCircleXmark,\n faPeriod: faPeriod,\n faFaceGrinTongue: faFaceGrinTongue,\n faGrinTongue: faGrinTongue,\n faUpToDottedLine: faUpToDottedLine,\n faThoughtBubble: faThoughtBubble,\n faSkeletonRibs: faSkeletonRibs,\n faRaygun: faRaygun,\n faFlute: faFlute,\n faAcorn: faAcorn,\n faVideoArrowUpRight: faVideoArrowUpRight,\n faGrateDroplet: faGrateDroplet,\n faSealExclamation: faSealExclamation,\n faChessBishop: faChessBishop,\n faMessageSms: faMessageSms,\n faCoffeeBeans: faCoffeeBeans,\n faHatWitch: faHatWitch,\n faFaceGrinWink: faFaceGrinWink,\n faGrinWink: faGrinWink,\n faClockThreeThirty: faClockThreeThirty,\n faEarDeaf: faEarDeaf,\n faDeaf: faDeaf,\n faDeafness: faDeafness,\n faHardOfHearing: faHardOfHearing,\n faAlarmClock: faAlarmClock,\n faEclipse: faEclipse,\n faFaceRelieved: faFaceRelieved,\n faRoadCircleCheck: faRoadCircleCheck,\n faDiceFive: faDiceFive,\n faOctagonMinus: faOctagonMinus,\n faMinusOctagon: faMinusOctagon,\n faSquareRss: faSquareRss,\n faRssSquare: faRssSquare,\n faFaceZany: faFaceZany,\n faTricycle: faTricycle,\n faLandMineOn: faLandMineOn,\n faSquareArrowUpLeft: faSquareArrowUpLeft,\n faICursor: faICursor,\n faChartMixedUpCircleDollar: faChartMixedUpCircleDollar,\n faSaltShaker: faSaltShaker,\n faStamp: faStamp,\n faFilePlus: faFilePlus,\n faDrawSquare: faDrawSquare,\n faToiletPaperUnderSlash: faToiletPaperUnderSlash,\n faToiletPaperReverseSlash: faToiletPaperReverseSlash,\n faStairs: faStairs,\n faDroneFront: faDroneFront,\n faDroneAlt: faDroneAlt,\n faGlassEmpty: faGlassEmpty,\n faDialHigh: faDialHigh,\n faUserHelmetSafety: faUserHelmetSafety,\n faUserConstruction: faUserConstruction,\n faUserHardHat: faUserHardHat,\n faI: faI,\n faHryvniaSign: faHryvniaSign,\n faHryvnia: faHryvnia,\n faArrowDownLeftAndArrowUpRightToCenter: faArrowDownLeftAndArrowUpRightToCenter,\n faPills: faPills,\n faFaceGrinWide: faFaceGrinWide,\n faGrinAlt: faGrinAlt,\n faTooth: faTooth,\n faBasketballHoop: faBasketballHoop,\n faObjectsAlignBottom: faObjectsAlignBottom,\n faV: faV,\n faSparkles: faSparkles,\n faSquid: faSquid,\n faLeafyGreen: faLeafyGreen,\n faCircleArrowUpRight: faCircleArrowUpRight,\n faCalendars: faCalendars,\n faBangladeshiTakaSign: faBangladeshiTakaSign,\n faBicycle: faBicycle,\n faHammerWar: faHammerWar,\n faCircleD: faCircleD,\n faSpiderBlackWidow: faSpiderBlackWidow,\n faStaffSnake: faStaffSnake,\n faRodAsclepius: faRodAsclepius,\n faRodSnake: faRodSnake,\n faStaffAesculapius: faStaffAesculapius,\n faPear: faPear,\n faHeadSideCoughSlash: faHeadSideCoughSlash,\n faFileMov: faFileMov,\n faTriangle: faTriangle,\n faApartment: faApartment,\n faTruckMedical: faTruckMedical,\n faAmbulance: faAmbulance,\n faPepper: faPepper,\n faPiano: faPiano,\n faGunSquirt: faGunSquirt,\n faWheatAwnCircleExclamation: faWheatAwnCircleExclamation,\n faSnowman: faSnowman,\n faUserAlien: faUserAlien,\n faShieldCheck: faShieldCheck,\n faMortarPestle: faMortarPestle,\n faRoadBarrier: faRoadBarrier,\n faChartCandlestick: faChartCandlestick,\n faBriefcaseBlank: faBriefcaseBlank,\n faSchool: faSchool,\n faIgloo: faIgloo,\n faBracketRound: faBracketRound,\n faParenthesis: faParenthesis,\n faJoint: faJoint,\n faHorseSaddle: faHorseSaddle,\n faMugMarshmallows: faMugMarshmallows,\n faFilters: faFilters,\n faBellOn: faBellOn,\n faAngleRight: faAngleRight,\n faDialMed: faDialMed,\n faHorse: faHorse,\n faQ: faQ,\n faMonitorWaveform: faMonitorWaveform,\n faMonitorHeartRate: faMonitorHeartRate,\n faLinkSimple: faLinkSimple,\n faWhistle: faWhistle,\n faG: faG,\n faWineGlassCrack: faWineGlassCrack,\n faFragile: faFragile,\n faSlotMachine: faSlotMachine,\n faNotesMedical: faNotesMedical,\n faCarWash: faCarWash,\n faEscalator: faEscalator,\n faCommentImage: faCommentImage,\n faTemperatureHalf: faTemperatureHalf,\n faTemperature2: faTemperature2,\n faThermometer2: faThermometer2,\n faThermometerHalf: faThermometerHalf,\n faDongSign: faDongSign,\n faDonut: faDonut,\n faDoughnut: faDoughnut,\n faCapsules: faCapsules,\n faPooStorm: faPooStorm,\n faPooBolt: faPooBolt,\n faTally1: faTally1,\n faFileVector: faFileVector,\n faFaceFrownOpen: faFaceFrownOpen,\n faFrownOpen: faFrownOpen,\n faSquareDashed: faSquareDashed,\n faBagShoppingPlus: faBagShoppingPlus,\n faSquareJ: faSquareJ,\n faHandPointUp: faHandPointUp,\n faMoneyBill: faMoneyBill,\n faArrowUpBigSmall: faArrowUpBigSmall,\n faSortSizeUp: faSortSizeUp,\n faBarcodeRead: faBarcodeRead,\n faBaguette: faBaguette,\n faBowlSoftServe: faBowlSoftServe,\n faFaceHoldingBackTears: faFaceHoldingBackTears,\n faSquareUp: faSquareUp,\n faArrowAltSquareUp: faArrowAltSquareUp,\n faTrainSubwayTunnel: faTrainSubwayTunnel,\n faSubwayTunnel: faSubwayTunnel,\n faSquareExclamation: faSquareExclamation,\n faExclamationSquare: faExclamationSquare,\n faSemicolon: faSemicolon,\n faBookmark: faBookmark,\n faFanTable: faFanTable,\n faAlignJustify: faAlignJustify,\n faBatteryLow: faBatteryLow,\n faBattery1: faBattery1,\n faCreditCardFront: faCreditCardFront,\n faBrainArrowCurvedRight: faBrainArrowCurvedRight,\n faMindShare: faMindShare,\n faUmbrellaBeach: faUmbrellaBeach,\n faHelmetUn: faHelmetUn,\n faLocationSmile: faLocationSmile,\n faMapMarkerSmile: faMapMarkerSmile,\n faArrowLeftToLine: faArrowLeftToLine,\n faArrowToLeft: faArrowToLeft,\n faBullseye: faBullseye,\n faSushi: faSushi,\n faNigiri: faNigiri,\n faMessageCaptions: faMessageCaptions,\n faCommentAltCaptions: faCommentAltCaptions,\n faTrashList: faTrashList,\n faBacon: faBacon,\n faOption: faOption,\n faRaccoon: faRaccoon,\n faHandPointDown: faHandPointDown,\n faArrowUpFromBracket: faArrowUpFromBracket,\n faHeadSideGear: faHeadSideGear,\n faTrashPlus: faTrashPlus,\n faFileCad: faFileCad,\n faObjectsAlignTop: faObjectsAlignTop,\n faFolder: faFolder,\n faFolderBlank: faFolderBlank,\n faFaceAnxiousSweat: faFaceAnxiousSweat,\n faCreditCardBlank: faCreditCardBlank,\n faFileWaveform: faFileWaveform,\n faFileMedicalAlt: faFileMedicalAlt,\n faMicrochipAi: faMicrochipAi,\n faMug: faMug,\n faPlaneUpSlash: faPlaneUpSlash,\n faRadiation: faRadiation,\n faPenCircle: faPenCircle,\n faBagSeedling: faBagSeedling,\n faChartSimple: faChartSimple,\n faCrutches: faCrutches,\n faCircleParking: faCircleParking,\n faParkingCircle: faParkingCircle,\n faMarsStroke: faMarsStroke,\n faLeafOak: faLeafOak,\n faSquareBolt: faSquareBolt,\n faVial: faVial,\n faGauge: faGauge,\n faDashboard: faDashboard,\n faGaugeMed: faGaugeMed,\n faTachometerAltAverage: faTachometerAltAverage,\n faWandMagicSparkles: faWandMagicSparkles,\n faMagicWandSparkles: faMagicWandSparkles,\n faLambda: faLambda,\n faE: faE,\n faPizza: faPizza,\n faBowlChopsticksNoodles: faBowlChopsticksNoodles,\n faH3: faH3,\n faPenClip: faPenClip,\n faPenAlt: faPenAlt,\n faBridgeCircleExclamation: faBridgeCircleExclamation,\n faBadgePercent: faBadgePercent,\n faRotateReverse: faRotateReverse,\n faUser: faUser,\n faSensor: faSensor,\n faComma: faComma,\n faSchoolCircleCheck: faSchoolCircleCheck,\n faToiletPaperUnder: faToiletPaperUnder,\n faToiletPaperReverse: faToiletPaperReverse,\n faLightEmergency: faLightEmergency,\n faArrowDownToArc: faArrowDownToArc,\n faDumpster: faDumpster,\n faVanShuttle: faVanShuttle,\n faShuttleVan: faShuttleVan,\n faBuildingUser: faBuildingUser,\n faLightSwitch: faLightSwitch,\n faSquareCaretLeft: faSquareCaretLeft,\n faCaretSquareLeft: faCaretSquareLeft,\n faHighlighter: faHighlighter,\n faWavePulse: faWavePulse,\n faHeartRate: faHeartRate,\n faKey: faKey,\n faArrowLeftToBracket: faArrowLeftToBracket,\n faHatSanta: faHatSanta,\n faTamale: faTamale,\n faBoxCheck: faBoxCheck,\n faBullhorn: faBullhorn,\n faSteak: faSteak,\n faLocationCrosshairsSlash: faLocationCrosshairsSlash,\n faLocationSlash: faLocationSlash,\n faPersonDolly: faPersonDolly,\n faGlobe: faGlobe,\n faSynagogue: faSynagogue,\n faFileChartColumn: faFileChartColumn,\n faFileChartLine: faFileChartLine,\n faPersonHalfDress: faPersonHalfDress,\n faFolderImage: faFolderImage,\n faCalendarPen: faCalendarPen,\n faCalendarEdit: faCalendarEdit,\n faRoadBridge: faRoadBridge,\n faFaceSmileTear: faFaceSmileTear,\n faMessagePlus: faMessagePlus,\n faCommentAltPlus: faCommentAltPlus,\n faLocationArrow: faLocationArrow,\n faC: faC,\n faTabletButton: faTabletButton,\n faPersonDressFairy: faPersonDressFairy,\n faRectangleHistoryCircleUser: faRectangleHistoryCircleUser,\n faBuildingLock: faBuildingLock,\n faChartLineUp: faChartLineUp,\n faMailbox: faMailbox,\n faSignPosts: faSignPosts,\n faTruckBolt: faTruckBolt,\n faPizzaSlice: faPizzaSlice,\n faMoneyBillWave: faMoneyBillWave,\n faChartArea: faChartArea,\n faAreaChart: faAreaChart,\n faHouseFlag: faHouseFlag,\n faCircleThreeQuartersStroke: faCircleThreeQuartersStroke,\n faPersonCircleMinus: faPersonCircleMinus,\n faScalpel: faScalpel,\n faBan: faBan,\n faCancel: faCancel,\n faBellExclamation: faBellExclamation,\n faCircleBookmark: faCircleBookmark,\n faBookmarkCircle: faBookmarkCircle,\n faEggFried: faEggFried,\n faFaceWeary: faFaceWeary,\n faUniformMartialArts: faUniformMartialArts,\n faCameraRotate: faCameraRotate,\n faSunDust: faSunDust,\n faCommentText: faCommentText,\n faSprayCanSparkles: faSprayCanSparkles,\n faAirFreshener: faAirFreshener,\n faSignalBars: faSignalBars,\n faSignalAlt: faSignalAlt,\n faSignalAlt4: faSignalAlt4,\n faSignalBarsStrong: faSignalBarsStrong,\n faDiamondExclamation: faDiamondExclamation,\n faStar: faStar,\n faDialMin: faDialMin,\n faRepeat: faRepeat,\n faCross: faCross,\n faPageCaretDown: faPageCaretDown,\n faFileCaretDown: faFileCaretDown,\n faBox: faBox,\n faVenusMars: faVenusMars,\n faClockSevenThirty: faClockSevenThirty,\n faArrowPointer: faArrowPointer,\n faMousePointer: faMousePointer,\n faClockFourThirty: faClockFourThirty,\n faSignalBarsGood: faSignalBarsGood,\n faSignalAlt3: faSignalAlt3,\n faCactus: faCactus,\n faLightbulbGear: faLightbulbGear,\n faMaximize: faMaximize,\n faExpandArrowsAlt: faExpandArrowsAlt,\n faChargingStation: faChargingStation,\n faShapes: faShapes,\n faTriangleCircleSquare: faTriangleCircleSquare,\n faPlaneTail: faPlaneTail,\n faGaugeSimpleMax: faGaugeSimpleMax,\n faTachometerFastest: faTachometerFastest,\n faCircleU: faCircleU,\n faShieldSlash: faShieldSlash,\n faSquarePhoneHangup: faSquarePhoneHangup,\n faPhoneSquareDown: faPhoneSquareDown,\n faArrowUpLeft: faArrowUpLeft,\n faTransporter1: faTransporter1,\n faPeanuts: faPeanuts,\n faShuffle: faShuffle,\n faRandom: faRandom,\n faPersonRunning: faPersonRunning,\n faRunning: faRunning,\n faMobileRetro: faMobileRetro,\n faGripLinesVertical: faGripLinesVertical,\n faBinBottlesRecycle: faBinBottlesRecycle,\n faArrowUpFromSquare: faArrowUpFromSquare,\n faFileDashedLine: faFileDashedLine,\n faPageBreak: faPageBreak,\n faBracketCurlyRight: faBracketCurlyRight,\n faSpider: faSpider,\n faClockThree: faClockThree,\n faHandsBound: faHandsBound,\n faScalpelLineDashed: faScalpelLineDashed,\n faScalpelPath: faScalpelPath,\n faFileInvoiceDollar: faFileInvoiceDollar,\n faPipeSmoking: faPipeSmoking,\n faFaceAstonished: faFaceAstonished,\n faWindow: faWindow,\n faPlaneCircleExclamation: faPlaneCircleExclamation,\n faEar: faEar,\n faFileLock: faFileLock,\n faDiagramVenn: faDiagramVenn,\n faArrowDownFromBracket: faArrowDownFromBracket,\n faXRay: faXRay,\n faGoalNet: faGoalNet,\n faCoffinCross: faCoffinCross,\n faSpellCheck: faSpellCheck,\n faLocationXmark: faLocationXmark,\n faMapMarkerTimes: faMapMarkerTimes,\n faMapMarkerXmark: faMapMarkerXmark,\n faCircleQuarterStroke: faCircleQuarterStroke,\n faLasso: faLasso,\n faSlash: faSlash,\n faPersonToPortal: faPersonToPortal,\n faPortalEnter: faPortalEnter,\n faCalendarStar: faCalendarStar,\n faComputerMouse: faComputerMouse,\n faMouse: faMouse,\n faArrowRightToBracket: faArrowRightToBracket,\n faSignIn: faSignIn,\n faPegasus: faPegasus,\n faFilesMedical: faFilesMedical,\n faCannon: faCannon,\n faNfcLock: faNfcLock,\n faPersonSkiLift: faPersonSkiLift,\n faSkiLift: faSkiLift,\n faSquare6: faSquare6,\n faShopSlash: faShopSlash,\n faStoreAltSlash: faStoreAltSlash,\n faWindTurbine: faWindTurbine,\n faSlidersSimple: faSlidersSimple,\n faGridRound: faGridRound,\n faBadgeSheriff: faBadgeSheriff,\n faServer: faServer,\n faVirusCovidSlash: faVirusCovidSlash,\n faIntersection: faIntersection,\n faShopLock: faShopLock,\n faFamily: faFamily,\n faHourglassStart: faHourglassStart,\n faHourglass1: faHourglass1,\n faUserHairBuns: faUserHairBuns,\n faBlenderPhone: faBlenderPhone,\n faHourglassClock: faHourglassClock,\n faPersonSeatReclined: faPersonSeatReclined,\n faPaperPlaneTop: faPaperPlaneTop,\n faPaperPlaneAlt: faPaperPlaneAlt,\n faSend: faSend,\n faMessageArrowUp: faMessageArrowUp,\n faCommentAltArrowUp: faCommentAltArrowUp,\n faLightbulbExclamation: faLightbulbExclamation,\n faLayerMinus: faLayerMinus,\n faLayerGroupMinus: faLayerGroupMinus,\n faChartPieSimpleCircleCurrency: faChartPieSimpleCircleCurrency,\n faCircleE: faCircleE,\n faBuildingWheat: faBuildingWheat,\n faGaugeMax: faGaugeMax,\n faTachometerAltFastest: faTachometerAltFastest,\n faPersonBreastfeeding: faPersonBreastfeeding,\n faApostrophe: faApostrophe,\n faFilePng: faFilePng,\n faFireHydrant: faFireHydrant,\n faRightToBracket: faRightToBracket,\n faSignInAlt: faSignInAlt,\n faVideoPlus: faVideoPlus,\n faSquareRight: faSquareRight,\n faArrowAltSquareRight: faArrowAltSquareRight,\n faCommentSmile: faCommentSmile,\n faVenus: faVenus,\n faPassport: faPassport,\n faInboxIn: faInboxIn,\n faInboxArrowDown: faInboxArrowDown,\n faHeartPulse: faHeartPulse,\n faHeartbeat: faHeartbeat,\n faCircle8: faCircle8,\n faCloudsMoon: faCloudsMoon,\n faClockTenThirty: faClockTenThirty,\n faPeopleCarryBox: faPeopleCarryBox,\n faPeopleCarry: faPeopleCarry,\n faFolderUser: faFolderUser,\n faTrashCanXmark: faTrashCanXmark,\n faTemperatureHigh: faTemperatureHigh,\n faMicrochip: faMicrochip,\n faLeftLongToLine: faLeftLongToLine,\n faCrown: faCrown,\n faWeightHanging: faWeightHanging,\n faXmarksLines: faXmarksLines,\n faFilePrescription: faFilePrescription,\n faTableCellsLock: faTableCellsLock,\n faCalendarRange: faCalendarRange,\n faFlowerDaffodil: faFlowerDaffodil,\n faHandBackPointUp: faHandBackPointUp,\n faWeightScale: faWeightScale,\n faWeight: faWeight,\n faArrowUpToArc: faArrowUpToArc,\n faStarExclamation: faStarExclamation,\n faBooks: faBooks,\n faUserGroup: faUserGroup,\n faUserFriends: faUserFriends,\n faArrowUpAZ: faArrowUpAZ,\n faSortAlphaUp: faSortAlphaUp,\n faLayerPlus: faLayerPlus,\n faLayerGroupPlus: faLayerGroupPlus,\n faPlayPause: faPlayPause,\n faBlockQuestion: faBlockQuestion,\n faSnooze: faSnooze,\n faZzz: faZzz,\n faScannerImage: faScannerImage,\n faTvRetro: faTvRetro,\n faSquareT: faSquareT,\n faFarm: faFarm,\n faBarnSilo: faBarnSilo,\n faChessKnight: faChessKnight,\n faBarsSort: faBarsSort,\n faPalletBoxes: faPalletBoxes,\n faPaletteBoxes: faPaletteBoxes,\n faPalletAlt: faPalletAlt,\n faFaceLaughSquint: faFaceLaughSquint,\n faLaughSquint: faLaughSquint,\n faCodeSimple: faCodeSimple,\n faBoltSlash: faBoltSlash,\n faPanelFire: faPanelFire,\n faBinaryCircleCheck: faBinaryCircleCheck,\n faCommentMinus: faCommentMinus,\n faBurrito: faBurrito,\n faViolin: faViolin,\n faObjectsColumn: faObjectsColumn,\n faSquareChevronDown: faSquareChevronDown,\n faChevronSquareDown: faChevronSquareDown,\n faCommentPlus: faCommentPlus,\n faTriangleInstrument: faTriangleInstrument,\n faTriangleMusic: faTriangleMusic,\n faWheelchair: faWheelchair,\n faUserPilotTie: faUserPilotTie,\n faPianoKeyboard: faPianoKeyboard,\n faBedEmpty: faBedEmpty,\n faCircleArrowUp: faCircleArrowUp,\n faArrowCircleUp: faArrowCircleUp,\n faToggleOn: faToggleOn,\n faRectangleVertical: faRectangleVertical,\n faRectanglePortrait: faRectanglePortrait,\n faPersonWalking: faPersonWalking,\n faWalking: faWalking,\n faL: faL,\n faSignalStream: faSignalStream,\n faDownToBracket: faDownToBracket,\n faCircleZ: faCircleZ,\n faStars: faStars,\n faFire: faFire,\n faBedPulse: faBedPulse,\n faProcedures: faProcedures,\n faHouseDay: faHouseDay,\n faShuttleSpace: faShuttleSpace,\n faSpaceShuttle: faSpaceShuttle,\n faShirtLongSleeve: faShirtLongSleeve,\n faChartPieSimple: faChartPieSimple,\n faChartPieAlt: faChartPieAlt,\n faFaceLaugh: faFaceLaugh,\n faLaugh: faLaugh,\n faFolderOpen: faFolderOpen,\n faAlbumCollectionCircleUser: faAlbumCollectionCircleUser,\n faCandy: faCandy,\n faBowlHot: faBowlHot,\n faSoup: faSoup,\n faFlatbread: faFlatbread,\n faHeartCirclePlus: faHeartCirclePlus,\n faCodeFork: faCodeFork,\n faCity: faCity,\n faSignalBarsWeak: faSignalBarsWeak,\n faSignalAlt1: faSignalAlt1,\n faMicrophoneLines: faMicrophoneLines,\n faMicrophoneAlt: faMicrophoneAlt,\n faClockTwelve: faClockTwelve,\n faPepperHot: faPepperHot,\n faCitrusSlice: faCitrusSlice,\n faSheep: faSheep,\n faUnlock: faUnlock,\n faColonSign: faColonSign,\n faHeadset: faHeadset,\n faBadgerHoney: faBadgerHoney,\n faH4: faH4,\n faStoreSlash: faStoreSlash,\n faRoadCircleXmark: faRoadCircleXmark,\n faSignalSlash: faSignalSlash,\n faUserMinus: faUserMinus,\n faMarsStrokeUp: faMarsStrokeUp,\n faMarsStrokeV: faMarsStrokeV,\n faChampagneGlasses: faChampagneGlasses,\n faGlassCheers: faGlassCheers,\n faTaco: faTaco,\n faHexagonPlus: faHexagonPlus,\n faPlusHexagon: faPlusHexagon,\n faClipboard: faClipboard,\n faHouseCircleExclamation: faHouseCircleExclamation,\n faFileArrowUp: faFileArrowUp,\n faFileUpload: faFileUpload,\n faWifi: faWifi,\n faWifi3: faWifi3,\n faWifiStrong: faWifiStrong,\n faMessages: faMessages,\n faCommentsAlt: faCommentsAlt,\n faBath: faBath,\n faBathtub: faBathtub,\n faUmbrellaSimple: faUmbrellaSimple,\n faUmbrellaAlt: faUmbrellaAlt,\n faRectangleHistoryCirclePlus: faRectangleHistoryCirclePlus,\n faUnderline: faUnderline,\n faPrescriptionBottlePill: faPrescriptionBottlePill,\n faUserPen: faUserPen,\n faUserEdit: faUserEdit,\n faBinarySlash: faBinarySlash,\n faSquareO: faSquareO,\n faCaduceus: faCaduceus,\n faSignature: faSignature,\n faStroopwafel: faStroopwafel,\n faBold: faBold,\n faAnchorLock: faAnchorLock,\n faBuildingNgo: faBuildingNgo,\n faTransporter3: faTransporter3,\n faEngineWarning: faEngineWarning,\n faEngineExclamation: faEngineExclamation,\n faCircleDownRight: faCircleDownRight,\n faSquareK: faSquareK,\n faManatSign: faManatSign,\n faMoneyCheckPen: faMoneyCheckPen,\n faMoneyCheckEdit: faMoneyCheckEdit,\n faNotEqual: faNotEqual,\n faBorderTopLeft: faBorderTopLeft,\n faBorderStyle: faBorderStyle,\n faMapLocationDot: faMapLocationDot,\n faMapMarkedAlt: faMapMarkedAlt,\n faTilde: faTilde,\n faJedi: faJedi,\n faSquarePollVertical: faSquarePollVertical,\n faPoll: faPoll,\n faArrowDownSquareTriangle: faArrowDownSquareTriangle,\n faSortShapesDownAlt: faSortShapesDownAlt,\n faMugHot: faMugHot,\n faDogLeashed: faDogLeashed,\n faCarBattery: faCarBattery,\n faBatteryCar: faBatteryCar,\n faFaceDowncastSweat: faFaceDowncastSweat,\n faMailboxFlagUp: faMailboxFlagUp,\n faMemoCircleInfo: faMemoCircleInfo,\n faGift: faGift,\n faDiceTwo: faDiceTwo,\n faVolume: faVolume,\n faVolumeMedium: faVolumeMedium,\n faTransporter5: faTransporter5,\n faGaugeCircleBolt: faGaugeCircleBolt,\n faCoinFront: faCoinFront,\n faFileSlash: faFileSlash,\n faMessageArrowUpRight: faMessageArrowUpRight,\n faTreasureChest: faTreasureChest,\n faChessQueen: faChessQueen,\n faPaintbrushFine: faPaintbrushFine,\n faPaintBrushAlt: faPaintBrushAlt,\n faPaintBrushFine: faPaintBrushFine,\n faPaintbrushAlt: faPaintbrushAlt,\n faGlasses: faGlasses,\n faHoodCloak: faHoodCloak,\n faSquareQuote: faSquareQuote,\n faUpLeft: faUpLeft,\n faBringFront: faBringFront,\n faChessBoard: faChessBoard,\n faBurgerCheese: faBurgerCheese,\n faCheeseburger: faCheeseburger,\n faBuildingCircleCheck: faBuildingCircleCheck,\n faRepeat1: faRepeat1,\n faArrowDownToLine: faArrowDownToLine,\n faArrowToBottom: faArrowToBottom,\n faGrid5: faGrid5,\n faSwapArrows: faSwapArrows,\n faRightLongToLine: faRightLongToLine,\n faPersonChalkboard: faPersonChalkboard,\n faMarsStrokeRight: faMarsStrokeRight,\n faMarsStrokeH: faMarsStrokeH,\n faHandBackFist: faHandBackFist,\n faHandRock: faHandRock,\n faGridRound5: faGridRound5,\n faTally: faTally,\n faTally5: faTally5,\n faSquareCaretUp: faSquareCaretUp,\n faCaretSquareUp: faCaretSquareUp,\n faCloudShowersWater: faCloudShowersWater,\n faChartBar: faChartBar,\n faBarChart: faBarChart,\n faHandsBubbles: faHandsBubbles,\n faHandsWash: faHandsWash,\n faLessThanEqual: faLessThanEqual,\n faTrain: faTrain,\n faUpFromDottedLine: faUpFromDottedLine,\n faEyeLowVision: faEyeLowVision,\n faLowVision: faLowVision,\n faTrafficLightGo: faTrafficLightGo,\n faFaceExhaling: faFaceExhaling,\n faSensorFire: faSensorFire,\n faUserUnlock: faUserUnlock,\n faHexagonDivide: faHexagonDivide,\n fa00: fa00,\n faCrow: faCrow,\n faCassetteBetamax: faCassetteBetamax,\n faBetamax: faBetamax,\n faSailboat: faSailboat,\n faWindowRestore: faWindowRestore,\n faNfcMagnifyingGlass: faNfcMagnifyingGlass,\n faFileBinary: faFileBinary,\n faCircleV: faCircleV,\n faSquarePlus: faSquarePlus,\n faPlusSquare: faPlusSquare,\n faBowlScoops: faBowlScoops,\n faMistletoe: faMistletoe,\n faCustard: faCustard,\n faLacrosseStick: faLacrosseStick,\n faHockeyMask: faHockeyMask,\n faSunrise: faSunrise,\n faSubtitles: faSubtitles,\n faPanelEws: faPanelEws,\n faToriiGate: faToriiGate,\n faCloudExclamation: faCloudExclamation,\n faMessageLines: faMessageLines,\n faCommentAltLines: faCommentAltLines,\n faFrog: faFrog,\n faBucket: faBucket,\n faFloppyDiskPen: faFloppyDiskPen,\n faImage: faImage,\n faWindowFrame: faWindowFrame,\n faMicrophone: faMicrophone,\n faCow: faCow,\n faFileZip: faFileZip,\n faSquareRing: faSquareRing,\n faDownFromLine: faDownFromLine,\n faArrowAltFromTop: faArrowAltFromTop,\n faCaretUp: faCaretUp,\n faShieldXmark: faShieldXmark,\n faShieldTimes: faShieldTimes,\n faScrewdriver: faScrewdriver,\n faCircleSortDown: faCircleSortDown,\n faSortCircleDown: faSortCircleDown,\n faFolderClosed: faFolderClosed,\n faHouseTsunami: faHouseTsunami,\n faSquareNfi: faSquareNfi,\n faForklift: faForklift,\n faArrowUpFromGroundWater: faArrowUpFromGroundWater,\n faBracketSquareRight: faBracketSquareRight,\n faMartiniGlass: faMartiniGlass,\n faGlassMartiniAlt: faGlassMartiniAlt,\n faRotateLeft: faRotateLeft,\n faRotateBack: faRotateBack,\n faRotateBackward: faRotateBackward,\n faUndoAlt: faUndoAlt,\n faTableColumns: faTableColumns,\n faColumns: faColumns,\n faSquareA: faSquareA,\n faTick: faTick,\n faLemon: faLemon,\n faHeadSideMask: faHeadSideMask,\n faHandshake: faHandshake,\n faGem: faGem,\n faDolly: faDolly,\n faDollyBox: faDollyBox,\n faSmoking: faSmoking,\n faMinimize: faMinimize,\n faCompressArrowsAlt: faCompressArrowsAlt,\n faRefrigerator: faRefrigerator,\n faMonument: faMonument,\n faOctagonXmark: faOctagonXmark,\n faTimesOctagon: faTimesOctagon,\n faXmarkOctagon: faXmarkOctagon,\n faAlignSlash: faAlignSlash,\n faSnowplow: faSnowplow,\n faAnglesRight: faAnglesRight,\n faAngleDoubleRight: faAngleDoubleRight,\n faTruckRampCouch: faTruckRampCouch,\n faTruckCouch: faTruckCouch,\n faCannabis: faCannabis,\n faCirclePlay: faCirclePlay,\n faPlayCircle: faPlayCircle,\n faArrowUpRightAndArrowDownLeftFromCenter: faArrowUpRightAndArrowDownLeftFromCenter,\n faLocationArrowUp: faLocationArrowUp,\n faTablets: faTablets,\n fa360Degrees: fa360Degrees,\n faEthernet: faEthernet,\n faEuroSign: faEuroSign,\n faEur: faEur,\n faEuro: faEuro,\n faChair: faChair,\n faCircleCheck: faCircleCheck,\n faCheckCircle: faCheckCircle,\n faSquareDashedCirclePlus: faSquareDashedCirclePlus,\n faHandHoldingCircleDollar: faHandHoldingCircleDollar,\n faMoneySimpleFromBracket: faMoneySimpleFromBracket,\n faBat: faBat,\n faCircleStop: faCircleStop,\n faStopCircle: faStopCircle,\n faHeadSideHeadphones: faHeadSideHeadphones,\n faPhoneRotary: faPhoneRotary,\n faArrowUpToBracket: faArrowUpToBracket,\n faCompassDrafting: faCompassDrafting,\n faDraftingCompass: faDraftingCompass,\n faPlateWheat: faPlateWheat,\n faCalendarCircleMinus: faCalendarCircleMinus,\n faChopsticks: faChopsticks,\n faCarWrench: faCarWrench,\n faCarMechanic: faCarMechanic,\n faIcicles: faIcicles,\n faPersonShelter: faPersonShelter,\n faNeuter: faNeuter,\n faIdBadge: faIdBadge,\n faKazoo: faKazoo,\n faMarker: faMarker,\n faBinBottles: faBinBottles,\n faFaceLaughBeam: faFaceLaughBeam,\n faLaughBeam: faLaughBeam,\n faSquareArrowDownLeft: faSquareArrowDownLeft,\n faBatteryBolt: faBatteryBolt,\n faTreeLarge: faTreeLarge,\n faHelicopterSymbol: faHelicopterSymbol,\n faAperture: faAperture,\n faUniversalAccess: faUniversalAccess,\n faGearComplex: faGearComplex,\n faFileMagnifyingGlass: faFileMagnifyingGlass,\n faFileSearch: faFileSearch,\n faUpRight: faUpRight,\n faCircleChevronUp: faCircleChevronUp,\n faChevronCircleUp: faChevronCircleUp,\n faUserPolice: faUserPolice,\n faLariSign: faLariSign,\n faVolcano: faVolcano,\n faTeddyBear: faTeddyBear,\n faStocking: faStocking,\n faPersonWalkingDashedLineArrowRight: faPersonWalkingDashedLineArrowRight,\n faImageSlash: faImageSlash,\n faMaskSnorkel: faMaskSnorkel,\n faSmoke: faSmoke,\n faSterlingSign: faSterlingSign,\n faGbp: faGbp,\n faPoundSign: faPoundSign,\n faBatteryExclamation: faBatteryExclamation,\n faViruses: faViruses,\n faSquarePersonConfined: faSquarePersonConfined,\n faUserTie: faUserTie,\n faUpToBracket: faUpToBracket,\n faArrowDownLong: faArrowDownLong,\n faLongArrowDown: faLongArrowDown,\n faTentArrowDownToLine: faTentArrowDownToLine,\n faCertificate: faCertificate,\n faCrystalBall: faCrystalBall,\n faReplyAll: faReplyAll,\n faMailReplyAll: faMailReplyAll,\n faSuitcase: faSuitcase,\n faPersonSkating: faPersonSkating,\n faSkating: faSkating,\n faStarShooting: faStarShooting,\n faBinaryLock: faBinaryLock,\n faFilterCircleDollar: faFilterCircleDollar,\n faFunnelDollar: faFunnelDollar,\n faCameraRetro: faCameraRetro,\n faCircleArrowDown: faCircleArrowDown,\n faArrowCircleDown: faArrowCircleDown,\n faCommentPen: faCommentPen,\n faCommentEdit: faCommentEdit,\n faFileImport: faFileImport,\n faArrowRightToFile: faArrowRightToFile,\n faBanjo: faBanjo,\n faSquareArrowUpRight: faSquareArrowUpRight,\n faExternalLinkSquare: faExternalLinkSquare,\n faLightEmergencyOn: faLightEmergencyOn,\n faKerning: faKerning,\n faBoxOpen: faBoxOpen,\n faSquareF: faSquareF,\n faScroll: faScroll,\n faSpa: faSpa,\n faArrowLeftFromLine: faArrowLeftFromLine,\n faArrowFromRight: faArrowFromRight,\n faStrawberry: faStrawberry,\n faLocationPinLock: faLocationPinLock,\n faPause: faPause,\n faClockEightThirty: faClockEightThirty,\n faPlaneEngines: faPlaneEngines,\n faPlaneAlt: faPlaneAlt,\n faHillAvalanche: faHillAvalanche,\n faTemperatureEmpty: faTemperatureEmpty,\n faTemperature0: faTemperature0,\n faThermometer0: faThermometer0,\n faThermometerEmpty: faThermometerEmpty,\n faBomb: faBomb,\n faGaugeLow: faGaugeLow,\n faTachometerAltSlow: faTachometerAltSlow,\n faRegistered: faRegistered,\n faTrashCanPlus: faTrashCanPlus,\n faAddressCard: faAddressCard,\n faContactCard: faContactCard,\n faVcard: faVcard,\n faScaleUnbalancedFlip: faScaleUnbalancedFlip,\n faBalanceScaleRight: faBalanceScaleRight,\n faGlobeSnow: faGlobeSnow,\n faSubscript: faSubscript,\n faDiamondTurnRight: faDiamondTurnRight,\n faDirections: faDirections,\n faIntegral: faIntegral,\n faBurst: faBurst,\n faHouseLaptop: faHouseLaptop,\n faLaptopHouse: faLaptopHouse,\n faFaceTired: faFaceTired,\n faTired: faTired,\n faMoneyBills: faMoneyBills,\n faBlindsRaised: faBlindsRaised,\n faSmog: faSmog,\n faUfoBeam: faUfoBeam,\n faCircleCaretUp: faCircleCaretUp,\n faCaretCircleUp: faCaretCircleUp,\n faUserVneckHairLong: faUserVneckHairLong,\n faSquareALock: faSquareALock,\n faCrutch: faCrutch,\n faGasPumpSlash: faGasPumpSlash,\n faFontAwesome: faFontAwesome,\n faFontAwesomeFlag: faFontAwesomeFlag,\n faFontAwesomeLogoFull: faFontAwesomeLogoFull,\n faCloudArrowUp: faCloudArrowUp,\n faCloudUpload: faCloudUpload,\n faCloudUploadAlt: faCloudUploadAlt,\n faPalette: faPalette,\n faTransporter4: faTransporter4,\n faChartMixedUpCircleCurrency: faChartMixedUpCircleCurrency,\n faObjectsAlignRight: faObjectsAlignRight,\n faArrowsTurnRight: faArrowsTurnRight,\n faVest: faVest,\n faPig: faPig,\n faInboxFull: faInboxFull,\n faCircleEnvelope: faCircleEnvelope,\n faEnvelopeCircle: faEnvelopeCircle,\n faTrianglePersonDigging: faTrianglePersonDigging,\n faConstruction: faConstruction,\n faFerry: faFerry,\n faBullseyeArrow: faBullseyeArrow,\n faArrowsDownToPeople: faArrowsDownToPeople,\n faSeedling: faSeedling,\n faSprout: faSprout,\n faClockSeven: faClockSeven,\n faLeftRight: faLeftRight,\n faArrowsAltH: faArrowsAltH,\n faBoxesPacking: faBoxesPacking,\n faCircleArrowLeft: faCircleArrowLeft,\n faArrowCircleLeft: faArrowCircleLeft,\n faFlashlight: faFlashlight,\n faFileJpg: faFileJpg,\n faGroupArrowsRotate: faGroupArrowsRotate,\n faBowlFood: faBowlFood,\n faSquare9: faSquare9,\n faCandyCane: faCandyCane,\n faArrowDownWideShort: faArrowDownWideShort,\n faSortAmountAsc: faSortAmountAsc,\n faSortAmountDown: faSortAmountDown,\n faSquareDollar: faSquareDollar,\n faDollarSquare: faDollarSquare,\n faUsdSquare: faUsdSquare,\n faPhoneArrowRight: faPhoneArrowRight,\n faHandHoldingSeedling: faHandHoldingSeedling,\n faMessageCheck: faMessageCheck,\n faCommentAltCheck: faCommentAltCheck,\n faCloudBolt: faCloudBolt,\n faThunderstorm: faThunderstorm,\n faChartLineUpDown: faChartLineUpDown,\n faTextSlash: faTextSlash,\n faRemoveFormat: faRemoveFormat,\n faWatch: faWatch,\n faCircleDownLeft: faCircleDownLeft,\n faText: faText,\n faProjector: faProjector,\n faFaceSmileWink: faFaceSmileWink,\n faSmileWink: faSmileWink,\n faTombstoneBlank: faTombstoneBlank,\n faTombstoneAlt: faTombstoneAlt,\n faChessKingPiece: faChessKingPiece,\n faChessKingAlt: faChessKingAlt,\n faCircle6: faCircle6,\n faWavesSine: faWavesSine,\n faLeft: faLeft,\n faArrowAltLeft: faArrowAltLeft,\n faFileWord: faFileWord,\n faFilePowerpoint: faFilePowerpoint,\n faSquareDown: faSquareDown,\n faArrowAltSquareDown: faArrowAltSquareDown,\n faObjectsAlignCenterVertical: faObjectsAlignCenterVertical,\n faArrowsLeftRight: faArrowsLeftRight,\n faArrowsH: faArrowsH,\n faHouseLock: faHouseLock,\n faCloudArrowDown: faCloudArrowDown,\n faCloudDownload: faCloudDownload,\n faCloudDownloadAlt: faCloudDownloadAlt,\n faWreath: faWreath,\n faChildren: faChildren,\n faMeterDroplet: faMeterDroplet,\n faChalkboard: faChalkboard,\n faBlackboard: faBlackboard,\n faUserLargeSlash: faUserLargeSlash,\n faUserAltSlash: faUserAltSlash,\n faSignalStrong: faSignalStrong,\n faSignal4: faSignal4,\n faLollipop: faLollipop,\n faLollypop: faLollypop,\n faListTree: faListTree,\n faEnvelopeOpen: faEnvelopeOpen,\n faDrawCircle: faDrawCircle,\n faCatSpace: faCatSpace,\n faHandshakeSimpleSlash: faHandshakeSimpleSlash,\n faHandshakeAltSlash: faHandshakeAltSlash,\n faRabbitRunning: faRabbitRunning,\n faRabbitFast: faRabbitFast,\n faMemoPad: faMemoPad,\n faMattressPillow: faMattressPillow,\n faAlarmPlus: faAlarmPlus,\n faAlicorn: faAlicorn,\n faCommentQuestion: faCommentQuestion,\n faGingerbreadMan: faGingerbreadMan,\n faGuaraniSign: faGuaraniSign,\n faBurgerFries: faBurgerFries,\n faMugTea: faMugTea,\n faBorderTop: faBorderTop,\n faArrowsRotate: faArrowsRotate,\n faRefresh: faRefresh,\n faSync: faSync,\n faCircleBookOpen: faCircleBookOpen,\n faBookCircle: faBookCircle,\n faArrowsToDottedLine: faArrowsToDottedLine,\n faFireExtinguisher: faFireExtinguisher,\n faMagnifyingGlassArrowsRotate: faMagnifyingGlassArrowsRotate,\n faGarageOpen: faGarageOpen,\n faShelvesEmpty: faShelvesEmpty,\n faCruzeiroSign: faCruzeiroSign,\n faWatchApple: faWatchApple,\n faWatchCalculator: faWatchCalculator,\n faListDropdown: faListDropdown,\n faCabinetFiling: faCabinetFiling,\n faBurgerSoda: faBurgerSoda,\n faSquareArrowUp: faSquareArrowUp,\n faArrowSquareUp: faArrowSquareUp,\n faGreaterThanEqual: faGreaterThanEqual,\n faPalletBox: faPalletBox,\n faFaceConfounded: faFaceConfounded,\n faShieldHalved: faShieldHalved,\n faShieldAlt: faShieldAlt,\n faTruckPlow: faTruckPlow,\n faBookAtlas: faBookAtlas,\n faAtlas: faAtlas,\n faVirus: faVirus,\n faGridRound2: faGridRound2,\n faCommentMiddleTop: faCommentMiddleTop,\n faWave: faWave,\n faEnvelopeCircleCheck: faEnvelopeCircleCheck,\n faLayerGroup: faLayerGroup,\n faRestroomSimple: faRestroomSimple,\n faArrowsToDot: faArrowsToDot,\n faBorderOuter: faBorderOuter,\n faHashtagLock: faHashtagLock,\n faClockTwoThirty: faClockTwoThirty,\n faArchway: faArchway,\n faHeartCircleCheck: faHeartCircleCheck,\n faHouseChimneyCrack: faHouseChimneyCrack,\n faHouseDamage: faHouseDamage,\n faFileZipper: faFileZipper,\n faFileArchive: faFileArchive,\n faTicketPerforated: faTicketPerforated,\n faHeartHalf: faHeartHalf,\n faCommentCheck: faCommentCheck,\n faSquare: faSquare,\n faMemo: faMemo,\n faMartiniGlassEmpty: faMartiniGlassEmpty,\n faGlassMartini: faGlassMartini,\n faCouch: faCouch,\n faCediSign: faCediSign,\n faItalic: faItalic,\n faGlassCitrus: faGlassCitrus,\n faCalendarLinesPen: faCalendarLinesPen,\n faTableCellsColumnLock: faTableCellsColumnLock,\n faChurch: faChurch,\n faPersonSnowmobiling: faPersonSnowmobiling,\n faSnowmobile: faSnowmobile,\n faFaceHushed: faFaceHushed,\n faCommentsDollar: faCommentsDollar,\n faTicketsSimple: faTicketsSimple,\n faPickaxe: faPickaxe,\n faLinkSimpleSlash: faLinkSimpleSlash,\n faDemocrat: faDemocrat,\n faFaceConfused: faFaceConfused,\n faPinball: faPinball,\n faZ: faZ,\n faPersonSkiing: faPersonSkiing,\n faSkiing: faSkiing,\n faDeer: faDeer,\n faInputPipe: faInputPipe,\n faRoadLock: faRoadLock,\n faA: faA,\n faBookmarkSlash: faBookmarkSlash,\n faTemperatureArrowDown: faTemperatureArrowDown,\n faTemperatureDown: faTemperatureDown,\n faMace: faMace,\n faFeatherPointed: faFeatherPointed,\n faFeatherAlt: faFeatherAlt,\n faSausage: faSausage,\n faTrashCanClock: faTrashCanClock,\n faP: faP,\n faBroomWide: faBroomWide,\n faSnowflake: faSnowflake,\n faStomach: faStomach,\n faNewspaper: faNewspaper,\n faRectangleAd: faRectangleAd,\n faAd: faAd,\n faGuitarElectric: faGuitarElectric,\n faArrowTurnDownRight: faArrowTurnDownRight,\n faMoonCloud: faMoonCloud,\n faBreadSliceButter: faBreadSliceButter,\n faCircleArrowRight: faCircleArrowRight,\n faArrowCircleRight: faArrowCircleRight,\n faUserGroupCrown: faUserGroupCrown,\n faUsersCrown: faUsersCrown,\n faCircleI: faCircleI,\n faToiletPaperCheck: faToiletPaperCheck,\n faFilterCircleXmark: faFilterCircleXmark,\n faLocust: faLocust,\n faSort: faSort,\n faUnsorted: faUnsorted,\n faListOl: faListOl,\n faList12: faList12,\n faListNumeric: faListNumeric,\n faChartWaterfall: faChartWaterfall,\n faSparkle: faSparkle,\n faFaceParty: faFaceParty,\n faKidneys: faKidneys,\n faWifiExclamation: faWifiExclamation,\n faChartNetwork: faChartNetwork,\n faPersonDressBurst: faPersonDressBurst,\n faDiceD4: faDiceD4,\n faMoneyCheckDollar: faMoneyCheckDollar,\n faMoneyCheckAlt: faMoneyCheckAlt,\n faVectorSquare: faVectorSquare,\n faBreadSlice: faBreadSlice,\n faLanguage: faLanguage,\n faWheatAwnSlash: faWheatAwnSlash,\n faFaceKissWinkHeart: faFaceKissWinkHeart,\n faKissWinkHeart: faKissWinkHeart,\n faDagger: faDagger,\n faPodium: faPodium,\n faMemoCircleCheck: faMemoCircleCheck,\n faRouteHighway: faRouteHighway,\n faDownToLine: faDownToLine,\n faArrowAltToBottom: faArrowAltToBottom,\n faFilter: faFilter,\n faSquareG: faSquareG,\n faCirclePhone: faCirclePhone,\n faPhoneCircle: faPhoneCircle,\n faClipboardPrescription: faClipboardPrescription,\n faUserNurseHair: faUserNurseHair,\n faQuestion: faQuestion,\n faFileSignature: faFileSignature,\n faToggleLargeOn: faToggleLargeOn,\n faUpDownLeftRight: faUpDownLeftRight,\n faArrowsAlt: faArrowsAlt,\n faDryerHeat: faDryerHeat,\n faDryerAlt: faDryerAlt,\n faHouseChimneyUser: faHouseChimneyUser,\n faHandHoldingHeart: faHandHoldingHeart,\n faArrowUpSmallBig: faArrowUpSmallBig,\n faSortSizeUpAlt: faSortSizeUpAlt,\n faTrainTrack: faTrainTrack,\n faPuzzlePiece: faPuzzlePiece,\n faMoneyCheck: faMoneyCheck,\n faStarHalfStroke: faStarHalfStroke,\n faStarHalfAlt: faStarHalfAlt,\n faFileExclamation: faFileExclamation,\n faCode: faCode,\n faWhiskeyGlass: faWhiskeyGlass,\n faGlassWhiskey: faGlassWhiskey,\n faMoonStars: faMoonStars,\n faBuildingCircleExclamation: faBuildingCircleExclamation,\n faClothesHanger: faClothesHanger,\n faMobileNotch: faMobileNotch,\n faMobileIphone: faMobileIphone,\n faMagnifyingGlassChart: faMagnifyingGlassChart,\n faArrowUpRightFromSquare: faArrowUpRightFromSquare,\n faExternalLink: faExternalLink,\n faCubesStacked: faCubesStacked,\n faImagesUser: faImagesUser,\n faWonSign: faWonSign,\n faKrw: faKrw,\n faWon: faWon,\n faImagePolaroidUser: faImagePolaroidUser,\n faVirusCovid: faVirusCovid,\n faSquareEllipsis: faSquareEllipsis,\n faPie: faPie,\n faChessKnightPiece: faChessKnightPiece,\n faChessKnightAlt: faChessKnightAlt,\n faAustralSign: faAustralSign,\n faCloudPlus: faCloudPlus,\n faF: faF,\n faLeaf: faLeaf,\n faBedBunk: faBedBunk,\n faRoad: faRoad,\n faTaxi: faTaxi,\n faCab: faCab,\n faPersonCirclePlus: faPersonCirclePlus,\n faChartPie: faChartPie,\n faPieChart: faPieChart,\n faBoltLightning: faBoltLightning,\n faClockEight: faClockEight,\n faSackXmark: faSackXmark,\n faFileXls: faFileXls,\n faFileExcel: faFileExcel,\n faFileContract: faFileContract,\n faFishFins: faFishFins,\n faCircleQ: faCircleQ,\n faBuildingFlag: faBuildingFlag,\n faFaceGrinBeam: faFaceGrinBeam,\n faGrinBeam: faGrinBeam,\n faObjectUngroup: faObjectUngroup,\n faFaceDisguise: faFaceDisguise,\n faCircleArrowDownRight: faCircleArrowDownRight,\n faAlien8bit: faAlien8bit,\n faAlienMonster: faAlienMonster,\n faHandPointRibbon: faHandPointRibbon,\n faPoop: faPoop,\n faObjectExclude: faObjectExclude,\n faTelescope: faTelescope,\n faLocationPin: faLocationPin,\n faMapMarker: faMapMarker,\n faSquareList: faSquareList,\n faKaaba: faKaaba,\n faToiletPaper: faToiletPaper,\n faHelmetSafety: faHelmetSafety,\n faHardHat: faHardHat,\n faHatHard: faHatHard,\n faCommentCode: faCommentCode,\n faSimCards: faSimCards,\n faStarship: faStarship,\n faEject: faEject,\n faCircleRight: faCircleRight,\n faArrowAltCircleRight: faArrowAltCircleRight,\n faPlaneCircleCheck: faPlaneCircleCheck,\n faSeal: faSeal,\n faUserCowboy: faUserCowboy,\n faHexagonVerticalNft: faHexagonVerticalNft,\n faFaceRollingEyes: faFaceRollingEyes,\n faMehRollingEyes: faMehRollingEyes,\n faBreadLoaf: faBreadLoaf,\n faRingsWedding: faRingsWedding,\n faObjectGroup: faObjectGroup,\n faFrenchFries: faFrenchFries,\n faChartLine: faChartLine,\n faLineChart: faLineChart,\n faCalendarArrowDown: faCalendarArrowDown,\n faCalendarDownload: faCalendarDownload,\n faSendBack: faSendBack,\n faMaskVentilator: faMaskVentilator,\n faTickets: faTickets,\n faSignatureLock: faSignatureLock,\n faArrowRight: faArrowRight,\n faSignsPost: faSignsPost,\n faMapSigns: faMapSigns,\n faOctagonPlus: faOctagonPlus,\n faPlusOctagon: faPlusOctagon,\n faCashRegister: faCashRegister,\n faPersonCircleQuestion: faPersonCircleQuestion,\n faMelonSlice: faMelonSlice,\n faSpaceStationMoon: faSpaceStationMoon,\n faMessageSmile: faMessageSmile,\n faCommentAltSmile: faCommentAltSmile,\n faCupStraw: faCupStraw,\n faLeftFromLine: faLeftFromLine,\n faArrowAltFromRight: faArrowAltFromRight,\n faH: faH,\n faBasketShoppingSimple: faBasketShoppingSimple,\n faShoppingBasketAlt: faShoppingBasketAlt,\n faHandsHoldingHeart: faHandsHoldingHeart,\n faHandsHeart: faHandsHeart,\n faClockNine: faClockNine,\n faHammerBrush: faHammerBrush,\n faTarp: faTarp,\n faFaceSleepy: faFaceSleepy,\n faHandHorns: faHandHorns,\n faScrewdriverWrench: faScrewdriverWrench,\n faTools: faTools,\n faArrowsToEye: faArrowsToEye,\n faCircleThreeQuarters: faCircleThreeQuarters,\n faTrophyStar: faTrophyStar,\n faTrophyAlt: faTrophyAlt,\n faPlugCircleBolt: faPlugCircleBolt,\n faFaceThermometer: faFaceThermometer,\n faGridRound4: faGridRound4,\n faSignPostsWrench: faSignPostsWrench,\n faShirtRunning: faShirtRunning,\n faBookCircleArrowUp: faBookCircleArrowUp,\n faFaceNauseated: faFaceNauseated,\n faHeart: faHeart,\n faFileChartPie: faFileChartPie,\n faMarsAndVenus: faMarsAndVenus,\n faHouseUser: faHouseUser,\n faHomeUser: faHomeUser,\n faCircleArrowDownLeft: faCircleArrowDownLeft,\n faDumpsterFire: faDumpsterFire,\n faHexagonMinus: faHexagonMinus,\n faMinusHexagon: faMinusHexagon,\n faLeftToLine: faLeftToLine,\n faArrowAltToLeft: faArrowAltToLeft,\n faHouseCrack: faHouseCrack,\n faPawSimple: faPawSimple,\n faPawAlt: faPawAlt,\n faArrowLeftLongToLine: faArrowLeftLongToLine,\n faBracketsRound: faBracketsRound,\n faParentheses: faParentheses,\n faMartiniGlassCitrus: faMartiniGlassCitrus,\n faCocktail: faCocktail,\n faUserShakespeare: faUserShakespeare,\n faArrowRightToArc: faArrowRightToArc,\n faFaceSurprise: faFaceSurprise,\n faSurprise: faSurprise,\n faBottleWater: faBottleWater,\n faCirclePause: faCirclePause,\n faPauseCircle: faPauseCircle,\n faGaugeCirclePlus: faGaugeCirclePlus,\n faFolders: faFolders,\n faAngel: faAngel,\n faValueAbsolute: faValueAbsolute,\n faRabbit: faRabbit,\n faToiletPaperSlash: faToiletPaperSlash,\n faCircleEuro: faCircleEuro,\n faAppleWhole: faAppleWhole,\n faAppleAlt: faAppleAlt,\n faKitchenSet: faKitchenSet,\n faDiamondHalf: faDiamondHalf,\n faLockKeyhole: faLockKeyhole,\n faLockAlt: faLockAlt,\n faR: faR,\n faTemperatureQuarter: faTemperatureQuarter,\n faTemperature1: faTemperature1,\n faThermometer1: faThermometer1,\n faThermometerQuarter: faThermometerQuarter,\n faSquareInfo: faSquareInfo,\n faInfoSquare: faInfoSquare,\n faWifiSlash: faWifiSlash,\n faToiletPaperXmark: faToiletPaperXmark,\n faHandsHoldingDollar: faHandsHoldingDollar,\n faHandsUsd: faHandsUsd,\n faCube: faCube,\n faArrowDownTriangleSquare: faArrowDownTriangleSquare,\n faSortShapesDown: faSortShapesDown,\n faBitcoinSign: faBitcoinSign,\n faShutters: faShutters,\n faShieldDog: faShieldDog,\n faSolarPanel: faSolarPanel,\n faLockOpen: faLockOpen,\n faTableTree: faTableTree,\n faHouseChimneyHeart: faHouseChimneyHeart,\n faTally3: faTally3,\n faElevator: faElevator,\n faMoneyBillTransfer: faMoneyBillTransfer,\n faMoneyBillTrendUp: faMoneyBillTrendUp,\n faHouseFloodWaterCircleArrowRight: faHouseFloodWaterCircleArrowRight,\n faSquarePollHorizontal: faSquarePollHorizontal,\n faPollH: faPollH,\n faCircle: faCircle,\n faLeftToBracket: faLeftToBracket,\n faCartCircleExclamation: faCartCircleExclamation,\n faSword: faSword,\n faBackwardFast: faBackwardFast,\n faFastBackward: faFastBackward,\n faRecycle: faRecycle,\n faUserAstronaut: faUserAstronaut,\n faInterrobang: faInterrobang,\n faPlaneSlash: faPlaneSlash,\n faCircleDashed: faCircleDashed,\n faTrademark: faTrademark,\n faBasketball: faBasketball,\n faBasketballBall: faBasketballBall,\n faForkKnife: faForkKnife,\n faUtensilsAlt: faUtensilsAlt,\n faSatelliteDish: faSatelliteDish,\n faBadgeCheck: faBadgeCheck,\n faCircleUp: faCircleUp,\n faArrowAltCircleUp: faArrowAltCircleUp,\n faSlider: faSlider,\n faMobileScreenButton: faMobileScreenButton,\n faMobileAlt: faMobileAlt,\n faClockOneThirty: faClockOneThirty,\n faInboxOut: faInboxOut,\n faInboxArrowUp: faInboxArrowUp,\n faCloudSlash: faCloudSlash,\n faVolumeHigh: faVolumeHigh,\n faVolumeUp: faVolumeUp,\n faUsersRays: faUsersRays,\n faWallet: faWallet,\n faOctagonCheck: faOctagonCheck,\n faFlatbreadStuffed: faFlatbreadStuffed,\n faClipboardCheck: faClipboardCheck,\n faCartCirclePlus: faCartCirclePlus,\n faTruckClock: faTruckClock,\n faShippingTimed: faShippingTimed,\n faPool8Ball: faPool8Ball,\n faFileAudio: faFileAudio,\n faTurnDownLeft: faTurnDownLeft,\n faLockHashtag: faLockHashtag,\n faChartRadar: faChartRadar,\n faStaff: faStaff,\n faBurger: faBurger,\n faHamburger: faHamburger,\n faUtilityPole: faUtilityPole,\n faTransporter6: faTransporter6,\n faArrowTurnLeft: faArrowTurnLeft,\n faWrench: faWrench,\n faBugs: faBugs,\n faVectorPolygon: faVectorPolygon,\n faDiagramNested: faDiagramNested,\n faRupeeSign: faRupeeSign,\n faRupee: faRupee,\n faFileImage: faFileImage,\n faCircleQuestion: faCircleQuestion,\n faQuestionCircle: faQuestionCircle,\n faTicketsPerforated: faTicketsPerforated,\n faImageUser: faImageUser,\n faBuoy: faBuoy,\n faPlaneDeparture: faPlaneDeparture,\n faHandshakeSlash: faHandshakeSlash,\n faBookBookmark: faBookBookmark,\n faBorderCenterH: faBorderCenterH,\n faCanFood: faCanFood,\n faTypewriter: faTypewriter,\n faArrowRightFromArc: faArrowRightFromArc,\n faCircleK: faCircleK,\n faFaceHandOverMouth: faFaceHandOverMouth,\n faPopcorn: faPopcorn,\n faHouseWater: faHouseWater,\n faHouseFlood: faHouseFlood,\n faObjectSubtract: faObjectSubtract,\n faCodeBranch: faCodeBranch,\n faWarehouseFull: faWarehouseFull,\n faWarehouseAlt: faWarehouseAlt,\n faHatCowboy: faHatCowboy,\n faBridge: faBridge,\n faPhoneFlip: faPhoneFlip,\n faPhoneAlt: faPhoneAlt,\n faArrowDownFromDottedLine: faArrowDownFromDottedLine,\n faFileDoc: faFileDoc,\n faSquareQuarters: faSquareQuarters,\n faTruckFront: faTruckFront,\n faCat: faCat,\n faTrashXmark: faTrashXmark,\n faCircleCaretLeft: faCircleCaretLeft,\n faCaretCircleLeft: faCaretCircleLeft,\n faFiles: faFiles,\n faAnchorCircleExclamation: faAnchorCircleExclamation,\n faFaceClouds: faFaceClouds,\n faUserCrown: faUserCrown,\n faBasketShoppingPlus: faBasketShoppingPlus,\n faTruckField: faTruckField,\n faRoute: faRoute,\n faCartCircleCheck: faCartCircleCheck,\n faClipboardQuestion: faClipboardQuestion,\n faPanorama: faPanorama,\n faCommentMedical: faCommentMedical,\n faTeethOpen: faTeethOpen,\n faUserTieHairLong: faUserTieHairLong,\n faFileCircleMinus: faFileCircleMinus,\n faHeadSideMedical: faHeadSideMedical,\n faArrowTurnRight: faArrowTurnRight,\n faTags: faTags,\n faWineGlass: faWineGlass,\n faForwardFast: faForwardFast,\n faFastForward: faFastForward,\n faFaceMehBlank: faFaceMehBlank,\n faMehBlank: faMehBlank,\n faUserRobot: faUserRobot,\n faSquareParking: faSquareParking,\n faParking: faParking,\n faCardDiamond: faCardDiamond,\n faFaceZipper: faFaceZipper,\n faFaceRaisedEyebrow: faFaceRaisedEyebrow,\n faHouseSignal: faHouseSignal,\n faSquareChevronUp: faSquareChevronUp,\n faChevronSquareUp: faChevronSquareUp,\n faNfcSymbol: faNfcSymbol,\n faBarsProgress: faBarsProgress,\n faTasksAlt: faTasksAlt,\n faFaucetDrip: faFaucetDrip,\n faArrowsToLine: faArrowsToLine,\n faDolphin: faDolphin,\n faArrowUpRight: faArrowUpRight,\n faCircleR: faCircleR,\n faCartFlatbed: faCartFlatbed,\n faDollyFlatbed: faDollyFlatbed,\n faBanSmoking: faBanSmoking,\n faSmokingBan: faSmokingBan,\n faCircleSortUp: faCircleSortUp,\n faSortCircleUp: faSortCircleUp,\n faTerminal: faTerminal,\n faMobileButton: faMobileButton,\n faHouseMedicalFlag: faHouseMedicalFlag,\n faBasketShopping: faBasketShopping,\n faShoppingBasket: faShoppingBasket,\n faTape: faTape,\n faChestnut: faChestnut,\n faBusSimple: faBusSimple,\n faBusAlt: faBusAlt,\n faEye: faEye,\n faFaceSadCry: faFaceSadCry,\n faSadCry: faSadCry,\n faHeat: faHeat,\n faTicketAirline: faTicketAirline,\n faTicketPerforatedPlane: faTicketPerforatedPlane,\n faTicketPlane: faTicketPlane,\n faBootHeeled: faBootHeeled,\n faArrowsMinimize: faArrowsMinimize,\n faCompressArrows: faCompressArrows,\n faAudioDescription: faAudioDescription,\n faPersonMilitaryToPerson: faPersonMilitaryToPerson,\n faFileShield: faFileShield,\n faHexagon: faHexagon,\n faManhole: faManhole,\n faUserSlash: faUserSlash,\n faPen: faPen,\n faTowerObservation: faTowerObservation,\n faFloppyDisks: faFloppyDisks,\n faToiletPaperBlankUnder: faToiletPaperBlankUnder,\n faToiletPaperReverseAlt: faToiletPaperReverseAlt,\n faFileCode: faFileCode,\n faSignal: faSignal,\n faSignal5: faSignal5,\n faSignalPerfect: faSignalPerfect,\n faPump: faPump,\n faBus: faBus,\n faHeartCircleXmark: faHeartCircleXmark,\n faArrowUpLeftFromCircle: faArrowUpLeftFromCircle,\n faHouseChimney: faHouseChimney,\n faHomeLg: faHomeLg,\n faWindowMaximize: faWindowMaximize,\n faDryer: faDryer,\n faFaceFrown: faFaceFrown,\n faFrown: faFrown,\n faChessBishopPiece: faChessBishopPiece,\n faChessBishopAlt: faChessBishopAlt,\n faShirtTankTop: faShirtTankTop,\n faDiploma: faDiploma,\n faScrollRibbon: faScrollRibbon,\n faScreencast: faScreencast,\n faWalker: faWalker,\n faPrescription: faPrescription,\n faShop: faShop,\n faStoreAlt: faStoreAlt,\n faFloppyDisk: faFloppyDisk,\n faSave: faSave,\n faVihara: faVihara,\n faFaceKissClosedEyes: faFaceKissClosedEyes,\n faScaleUnbalanced: faScaleUnbalanced,\n faBalanceScaleLeft: faBalanceScaleLeft,\n faFileUser: faFileUser,\n faUserPoliceTie: faUserPoliceTie,\n faFaceTongueMoney: faFaceTongueMoney,\n faTennisBall: faTennisBall,\n faSquareL: faSquareL,\n faSortUp: faSortUp,\n faSortAsc: faSortAsc,\n faCalendarArrowUp: faCalendarArrowUp,\n faCalendarUpload: faCalendarUpload,\n faCommentDots: faCommentDots,\n faCommenting: faCommenting,\n faPlantWilt: faPlantWilt,\n faScarf: faScarf,\n faAlbumCirclePlus: faAlbumCirclePlus,\n faUserNurseHairLong: faUserNurseHairLong,\n faDiamond: faDiamond,\n faSquareLeft: faSquareLeft,\n faArrowAltSquareLeft: faArrowAltSquareLeft,\n faFaceGrinSquint: faFaceGrinSquint,\n faGrinSquint: faGrinSquint,\n faCircleEllipsisVertical: faCircleEllipsisVertical,\n faHandHoldingDollar: faHandHoldingDollar,\n faHandHoldingUsd: faHandHoldingUsd,\n faGridDividers: faGridDividers,\n faBacterium: faBacterium,\n faHandPointer: faHandPointer,\n faDrumSteelpan: faDrumSteelpan,\n faHandScissors: faHandScissors,\n faHandsPraying: faHandsPraying,\n faPrayingHands: faPrayingHands,\n faFacePensive: faFacePensive,\n faUserMusic: faUserMusic,\n faArrowRotateRight: faArrowRotateRight,\n faArrowRightRotate: faArrowRightRotate,\n faArrowRotateForward: faArrowRotateForward,\n faRedo: faRedo,\n faMessagesDollar: faMessagesDollar,\n faCommentsAltDollar: faCommentsAltDollar,\n faSensorOn: faSensorOn,\n faBalloon: faBalloon,\n faWebAwesome: faWebAwesome,\n faBiohazard: faBiohazard,\n faChessQueenPiece: faChessQueenPiece,\n faChessQueenAlt: faChessQueenAlt,\n faLocationCrosshairs: faLocationCrosshairs,\n faLocation: faLocation,\n faMarsDouble: faMarsDouble,\n faLeftFromBracket: faLeftFromBracket,\n faHousePersonLeave: faHousePersonLeave,\n faHouseLeave: faHouseLeave,\n faHousePersonDepart: faHousePersonDepart,\n faRulerTriangle: faRulerTriangle,\n faCardClub: faCardClub,\n faChildDress: faChildDress,\n faUsersBetweenLines: faUsersBetweenLines,\n faLungsVirus: faLungsVirus,\n faSpinnerThird: faSpinnerThird,\n faFaceGrinTears: faFaceGrinTears,\n faGrinTears: faGrinTears,\n faPhone: faPhone,\n faComputerMouseScrollwheel: faComputerMouseScrollwheel,\n faMouseAlt: faMouseAlt,\n faCalendarXmark: faCalendarXmark,\n faCalendarTimes: faCalendarTimes,\n faChildReaching: faChildReaching,\n faTableLayout: faTableLayout,\n faNarwhal: faNarwhal,\n faRampLoading: faRampLoading,\n faCalendarCirclePlus: faCalendarCirclePlus,\n faToothbrush: faToothbrush,\n faBorderInner: faBorderInner,\n faPawClaws: faPawClaws,\n faKiwiFruit: faKiwiFruit,\n faTrafficLightSlow: faTrafficLightSlow,\n faRectangleCode: faRectangleCode,\n faHeadSideVirus: faHeadSideVirus,\n faKeyboardBrightness: faKeyboardBrightness,\n faBooksMedical: faBooksMedical,\n faLightbulbSlash: faLightbulbSlash,\n faHouseBlank: faHouseBlank,\n faHomeBlank: faHomeBlank,\n faSquare5: faSquare5,\n faSquareHeart: faSquareHeart,\n faHeartSquare: faHeartSquare,\n faPuzzle: faPuzzle,\n faUserGear: faUserGear,\n faUserCog: faUserCog,\n faPipeCircleCheck: faPipeCircleCheck,\n faArrowUp19: faArrowUp19,\n faSortNumericUp: faSortNumericUp,\n faOctagonExclamation: faOctagonExclamation,\n faDialLow: faDialLow,\n faDoorClosed: faDoorClosed,\n faLaptopMobile: faLaptopMobile,\n faPhoneLaptop: faPhoneLaptop,\n faConveyorBeltBoxes: faConveyorBeltBoxes,\n faConveyorBeltAlt: faConveyorBeltAlt,\n faShieldVirus: faShieldVirus,\n faStarfighterTwinIonEngineAdvanced: faStarfighterTwinIonEngineAdvanced,\n faStarfighterAltAdvanced: faStarfighterAltAdvanced,\n faDiceSix: faDiceSix,\n faStarfighterTwinIonEngine: faStarfighterTwinIonEngine,\n faStarfighterAlt: faStarfighterAlt,\n faRocketLaunch: faRocketLaunch,\n faMosquitoNet: faMosquitoNet,\n faVentDamper: faVentDamper,\n faBridgeWater: faBridgeWater,\n faBanBug: faBanBug,\n faDebug: faDebug,\n faPersonBooth: faPersonBooth,\n faTextWidth: faTextWidth,\n faGarageCar: faGarageCar,\n faSquareKanban: faSquareKanban,\n faHatWizard: faHatWizard,\n faChartKanban: faChartKanban,\n faPenFancy: faPenFancy,\n faCoffeePot: faCoffeePot,\n faMouseField: faMouseField,\n faPersonDigging: faPersonDigging,\n faDigging: faDigging,\n faShowerDown: faShowerDown,\n faShowerAlt: faShowerAlt,\n faBoxCircleCheck: faBoxCircleCheck,\n faBrightness: faBrightness,\n faCarSideBolt: faCarSideBolt,\n faFileXml: faFileXml,\n faOrnament: faOrnament,\n faPhoneArrowDownLeft: faPhoneArrowDownLeft,\n faPhoneArrowDown: faPhoneArrowDown,\n faPhoneIncoming: faPhoneIncoming,\n faCloudWord: faCloudWord,\n faHandFingersCrossed: faHandFingersCrossed,\n faTrash: faTrash,\n faGaugeSimple: faGaugeSimple,\n faGaugeSimpleMed: faGaugeSimpleMed,\n faTachometerAverage: faTachometerAverage,\n faArrowDownSmallBig: faArrowDownSmallBig,\n faSortSizeDownAlt: faSortSizeDownAlt,\n faBookMedical: faBookMedical,\n faFaceMelting: faFaceMelting,\n faPoo: faPoo,\n faPenClipSlash: faPenClipSlash,\n faPenAltSlash: faPenAltSlash,\n faQuoteRight: faQuoteRight,\n faQuoteRightAlt: faQuoteRightAlt,\n faScrollOld: faScrollOld,\n faGuitars: faGuitars,\n faPhoneXmark: faPhoneXmark,\n faHose: faHose,\n faClockSix: faClockSix,\n faShirt: faShirt,\n faTShirt: faTShirt,\n faTshirt: faTshirt,\n faBillboard: faBillboard,\n faSquareR: faSquareR,\n faCubes: faCubes,\n faEnvelopeOpenDollar: faEnvelopeOpenDollar,\n faDivide: faDivide,\n faSunCloud: faSunCloud,\n faLampFloor: faLampFloor,\n faSquare7: faSquare7,\n faTengeSign: faTengeSign,\n faTenge: faTenge,\n faHeadphones: faHeadphones,\n faHandsHolding: faHandsHolding,\n faCampfire: faCampfire,\n faCircleAmpersand: faCircleAmpersand,\n faSnowflakes: faSnowflakes,\n faHandsClapping: faHandsClapping,\n faRepublican: faRepublican,\n faLeafMaple: faLeafMaple,\n faArrowLeft: faArrowLeft,\n faPersonCircleXmark: faPersonCircleXmark,\n faRuler: faRuler,\n faArrowLeftFromBracket: faArrowLeftFromBracket,\n faCupStrawSwoosh: faCupStrawSwoosh,\n faTemperatureSun: faTemperatureSun,\n faTemperatureHot: faTemperatureHot,\n faAlignLeft: faAlignLeft,\n faDiceD6: faDiceD6,\n faRestroom: faRestroom,\n faHighDefinition: faHighDefinition,\n faRectangleHd: faRectangleHd,\n faJ: faJ,\n faGalaxy: faGalaxy,\n faUsersViewfinder: faUsersViewfinder,\n faFileVideo: faFileVideo,\n faCherries: faCherries,\n faUpRightFromSquare: faUpRightFromSquare,\n faExternalLinkAlt: faExternalLinkAlt,\n faCircleSort: faCircleSort,\n faSortCircle: faSortCircle,\n faTableCells: faTableCells,\n faTh: faTh,\n faBagShoppingMinus: faBagShoppingMinus,\n faFilePdf: faFilePdf,\n faSiren: faSiren,\n faArrowUpToDottedLine: faArrowUpToDottedLine,\n faImageLandscape: faImageLandscape,\n faLandscape: faLandscape,\n faTankWater: faTankWater,\n faCurlingStone: faCurlingStone,\n faCurling: faCurling,\n faGamepadModern: faGamepadModern,\n faGamepadAlt: faGamepadAlt,\n faMessagesQuestion: faMessagesQuestion,\n faBookBible: faBookBible,\n faBible: faBible,\n faO: faO,\n faSuitcaseMedical: faSuitcaseMedical,\n faMedkit: faMedkit,\n faBriefcaseArrowRight: faBriefcaseArrowRight,\n faExpandWide: faExpandWide,\n faClockElevenThirty: faClockElevenThirty,\n faRv: faRv,\n faUserSecret: faUserSecret,\n faOtter: faOtter,\n faDreidel: faDreidel,\n faPersonDress: faPersonDress,\n faFemale: faFemale,\n faCommentDollar: faCommentDollar,\n faBusinessTime: faBusinessTime,\n faBriefcaseClock: faBriefcaseClock,\n faFlowerTulip: faFlowerTulip,\n faPeoplePantsSimple: faPeoplePantsSimple,\n faCloudDrizzle: faCloudDrizzle,\n faTableCellsLarge: faTableCellsLarge,\n faThLarge: faThLarge,\n faBookTanakh: faBookTanakh,\n faTanakh: faTanakh,\n faSolarSystem: faSolarSystem,\n faSealQuestion: faSealQuestion,\n faPhoneVolume: faPhoneVolume,\n faVolumeControlPhone: faVolumeControlPhone,\n faDiscDrive: faDiscDrive,\n faHatCowboySide: faHatCowboySide,\n faTableRows: faTableRows,\n faRows: faRows,\n faLocationExclamation: faLocationExclamation,\n faMapMarkerExclamation: faMapMarkerExclamation,\n faFaceFearful: faFaceFearful,\n faClipboardUser: faClipboardUser,\n faBusSchool: faBusSchool,\n faFilmSlash: faFilmSlash,\n faSquareArrowDownRight: faSquareArrowDownRight,\n faBookSparkles: faBookSparkles,\n faBookSpells: faBookSpells,\n faWashingMachine: faWashingMachine,\n faWasher: faWasher,\n faChild: faChild,\n faLiraSign: faLiraSign,\n faUserVisor: faUserVisor,\n faFilePlusMinus: faFilePlusMinus,\n faChessClockFlip: faChessClockFlip,\n faChessClockAlt: faChessClockAlt,\n faSatellite: faSatellite,\n faTruckFire: faTruckFire,\n faPlaneLock: faPlaneLock,\n faSteeringWheel: faSteeringWheel,\n faTag: faTag,\n faStretcher: faStretcher,\n faBookSection: faBookSection,\n faBookLaw: faBookLaw,\n faInboxes: faInboxes,\n faCoffeeBean: faCoffeeBean,\n faCircleYen: faCircleYen,\n faBracketsCurly: faBracketsCurly,\n faEllipsisStrokeVertical: faEllipsisStrokeVertical,\n faEllipsisVAlt: faEllipsisVAlt,\n faComment: faComment,\n faSquare1: faSquare1,\n faCakeCandles: faCakeCandles,\n faBirthdayCake: faBirthdayCake,\n faCake: faCake,\n faHeadSide: faHeadSide,\n faTruckLadder: faTruckLadder,\n faEnvelope: faEnvelope,\n faDollyEmpty: faDollyEmpty,\n faFaceTissue: faFaceTissue,\n faAnglesUp: faAnglesUp,\n faAngleDoubleUp: faAngleDoubleUp,\n faBinRecycle: faBinRecycle,\n faPaperclip: faPaperclip,\n faChartLineDown: faChartLineDown,\n faArrowRightToCity: faArrowRightToCity,\n faLockA: faLockA,\n faRibbon: faRibbon,\n faLungs: faLungs,\n faPersonPinball: faPersonPinball,\n faArrowUp91: faArrowUp91,\n faSortNumericUpAlt: faSortNumericUpAlt,\n faAppleCore: faAppleCore,\n faCircleY: faCircleY,\n faH6: faH6,\n faLitecoinSign: faLitecoinSign,\n faBottleBaby: faBottleBaby,\n faCircleSmall: faCircleSmall,\n faBorderNone: faBorderNone,\n faArrowTurnDownLeft: faArrowTurnDownLeft,\n faCircleWifiCircleWifi: faCircleWifiCircleWifi,\n faCircleWifiGroup: faCircleWifiGroup,\n faCircleNodes: faCircleNodes,\n faParachuteBox: faParachuteBox,\n faReflectHorizontal: faReflectHorizontal,\n faMessageMedical: faMessageMedical,\n faCommentAltMedical: faCommentAltMedical,\n faRugbyBall: faRugbyBall,\n faCommentMusic: faCommentMusic,\n faIndent: faIndent,\n faTreeDeciduous: faTreeDeciduous,\n faTreeAlt: faTreeAlt,\n faPuzzlePieceSimple: faPuzzlePieceSimple,\n faPuzzlePieceAlt: faPuzzlePieceAlt,\n faTruckFieldUn: faTruckFieldUn,\n faNfcTrash: faNfcTrash,\n faHourglass: faHourglass,\n faHourglassEmpty: faHourglassEmpty,\n faMountain: faMountain,\n faFileXmark: faFileXmark,\n faFileTimes: faFileTimes,\n faHouseHeart: faHouseHeart,\n faHomeHeart: faHomeHeart,\n faHouseChimneyBlank: faHouseChimneyBlank,\n faMeterBolt: faMeterBolt,\n faUserDoctor: faUserDoctor,\n faUserMd: faUserMd,\n faSlashBack: faSlashBack,\n faCircleInfo: faCircleInfo,\n faInfoCircle: faInfoCircle,\n faFishingRod: faFishingRod,\n faHammerCrash: faHammerCrash,\n faMessageHeart: faMessageHeart,\n faCloudMeatball: faCloudMeatball,\n faCameraPolaroid: faCameraPolaroid,\n faCamera: faCamera,\n faCameraAlt: faCameraAlt,\n faSquareVirus: faSquareVirus,\n faCartArrowUp: faCartArrowUp,\n faMeteor: faMeteor,\n faCarOn: faCarOn,\n faSleigh: faSleigh,\n faArrowDown19: faArrowDown19,\n faSortNumericAsc: faSortNumericAsc,\n faSortNumericDown: faSortNumericDown,\n faBuoyMooring: faBuoyMooring,\n faSquare4: faSquare4,\n faHandHoldingDroplet: faHandHoldingDroplet,\n faHandHoldingWater: faHandHoldingWater,\n faFileEps: faFileEps,\n faTricycleAdult: faTricycleAdult,\n faWaveform: faWaveform,\n faWater: faWater,\n faStarSharpHalfStroke: faStarSharpHalfStroke,\n faStarSharpHalfAlt: faStarSharpHalfAlt,\n faNfcSignal: faNfcSignal,\n faPlaneProp: faPlaneProp,\n faCalendarCheck: faCalendarCheck,\n faClockDesk: faClockDesk,\n faCalendarClock: faCalendarClock,\n faCalendarTime: faCalendarTime,\n faBraille: faBraille,\n faPrescriptionBottleMedical: faPrescriptionBottleMedical,\n faPrescriptionBottleAlt: faPrescriptionBottleAlt,\n faPlateUtensils: faPlateUtensils,\n faFamilyPants: faFamilyPants,\n faHoseReel: faHoseReel,\n faHouseWindow: faHouseWindow,\n faLandmark: faLandmark,\n faTruck: faTruck,\n faMusicMagnifyingGlass: faMusicMagnifyingGlass,\n faCrosshairs: faCrosshairs,\n faCloudRainbow: faCloudRainbow,\n faPersonCane: faPersonCane,\n faAlien: faAlien,\n faTent: faTent,\n faLaptopBinary: faLaptopBinary,\n faVestPatches: faVestPatches,\n faPeopleDressSimple: faPeopleDressSimple,\n faCheckDouble: faCheckDouble,\n faArrowDownAZ: faArrowDownAZ,\n faSortAlphaAsc: faSortAlphaAsc,\n faSortAlphaDown: faSortAlphaDown,\n faBowlingBallPin: faBowlingBallPin,\n faBellSchoolSlash: faBellSchoolSlash,\n faPlusLarge: faPlusLarge,\n faMoneyBillWheat: faMoneyBillWheat,\n faCameraViewfinder: faCameraViewfinder,\n faScreenshot: faScreenshot,\n faMessageMusic: faMessageMusic,\n faCommentAltMusic: faCommentAltMusic,\n faCarBuilding: faCarBuilding,\n faBorderBottomRight: faBorderBottomRight,\n faBorderStyleAlt: faBorderStyleAlt,\n faOctagon: faOctagon,\n faCommentArrowUpRight: faCommentArrowUpRight,\n faOctagonDivide: faOctagonDivide,\n faCookie: faCookie,\n faArrowRotateLeft: faArrowRotateLeft,\n faArrowLeftRotate: faArrowLeftRotate,\n faArrowRotateBack: faArrowRotateBack,\n faArrowRotateBackward: faArrowRotateBackward,\n faUndo: faUndo,\n faTvMusic: faTvMusic,\n faHardDrive: faHardDrive,\n faHdd: faHdd,\n faReel: faReel,\n faFaceGrinSquintTears: faFaceGrinSquintTears,\n faGrinSquintTears: faGrinSquintTears,\n faDumbbell: faDumbbell,\n faRectangleList: faRectangleList,\n faListAlt: faListAlt,\n faTarpDroplet: faTarpDroplet,\n faAlarmExclamation: faAlarmExclamation,\n faHouseMedicalCircleCheck: faHouseMedicalCircleCheck,\n faTrafficCone: faTrafficCone,\n faGrate: faGrate,\n faArrowDownRight: faArrowDownRight,\n faPersonSkiingNordic: faPersonSkiingNordic,\n faSkiingNordic: faSkiingNordic,\n faCalendarPlus: faCalendarPlus,\n faPersonFromPortal: faPersonFromPortal,\n faPortalExit: faPortalExit,\n faPlaneArrival: faPlaneArrival,\n faCowbellCirclePlus: faCowbellCirclePlus,\n faCowbellMore: faCowbellMore,\n faCircleLeft: faCircleLeft,\n faArrowAltCircleLeft: faArrowAltCircleLeft,\n faDistributeSpacingVertical: faDistributeSpacingVertical,\n faSignalBarsFair: faSignalBarsFair,\n faSignalAlt2: faSignalAlt2,\n faSportsball: faSportsball,\n faGameConsoleHandheldCrank: faGameConsoleHandheldCrank,\n faTrainSubway: faTrainSubway,\n faSubway: faSubway,\n faChartGantt: faChartGantt,\n faFaceSmileUpsideDown: faFaceSmileUpsideDown,\n faBallPile: faBallPile,\n faBadgeDollar: faBadgeDollar,\n faMoneyBillsSimple: faMoneyBillsSimple,\n faMoneyBillsAlt: faMoneyBillsAlt,\n faListTimeline: faListTimeline,\n faIndianRupeeSign: faIndianRupeeSign,\n faIndianRupee: faIndianRupee,\n faInr: faInr,\n faCropSimple: faCropSimple,\n faCropAlt: faCropAlt,\n faMoneyBill1: faMoneyBill1,\n faMoneyBillAlt: faMoneyBillAlt,\n faLeftLong: faLeftLong,\n faLongArrowAltLeft: faLongArrowAltLeft,\n faKeyboardDown: faKeyboardDown,\n faCircleUpRight: faCircleUpRight,\n faCloudBoltMoon: faCloudBoltMoon,\n faThunderstormMoon: faThunderstormMoon,\n faTurnLeftUp: faTurnLeftUp,\n faDna: faDna,\n faVirusSlash: faVirusSlash,\n faBracketRoundRight: faBracketRoundRight,\n faCircleSterling: faCircleSterling,\n faCircle5: faCircle5,\n faMinus: faMinus,\n faSubtract: faSubtract,\n faFireFlame: faFireFlame,\n faFlame: faFlame,\n faRightToLine: faRightToLine,\n faArrowAltToRight: faArrowAltToRight,\n faGif: faGif,\n faChess: faChess,\n faTrashSlash: faTrashSlash,\n faArrowLeftLong: faArrowLeftLong,\n faLongArrowLeft: faLongArrowLeft,\n faPlugCircleCheck: faPlugCircleCheck,\n faFontCase: faFontCase,\n faStreetView: faStreetView,\n faArrowDownLeft: faArrowDownLeft,\n faFrancSign: faFrancSign,\n faFlaskRoundPoison: faFlaskRoundPoison,\n faFlaskPoison: faFlaskPoison,\n faVolumeOff: faVolumeOff,\n faBookCircleArrowRight: faBookCircleArrowRight,\n faChartUser: faChartUser,\n faUserChart: faUserChart,\n faHandsAslInterpreting: faHandsAslInterpreting,\n faAmericanSignLanguageInterpreting: faAmericanSignLanguageInterpreting,\n faAslInterpreting: faAslInterpreting,\n faHandsAmericanSignLanguageInterpreting: faHandsAmericanSignLanguageInterpreting,\n faPresentationScreen: faPresentationScreen,\n faPresentation: faPresentation,\n faCircleBolt: faCircleBolt,\n faFaceSmileHalo: faFaceSmileHalo,\n faCartCircleArrowDown: faCartCircleArrowDown,\n faHousePersonReturn: faHousePersonReturn,\n faHousePersonArrive: faHousePersonArrive,\n faHouseReturn: faHouseReturn,\n faMessageXmark: faMessageXmark,\n faCommentAltTimes: faCommentAltTimes,\n faMessageTimes: faMessageTimes,\n faFileCertificate: faFileCertificate,\n faFileAward: faFileAward,\n faUserDoctorHairLong: faUserDoctorHairLong,\n faCameraSecurity: faCameraSecurity,\n faCameraHome: faCameraHome,\n faGear: faGear,\n faCog: faCog,\n faDropletSlash: faDropletSlash,\n faTintSlash: faTintSlash,\n faBookHeart: faBookHeart,\n faMosque: faMosque,\n faDuck: faDuck,\n faMosquito: faMosquito,\n faStarOfDavid: faStarOfDavid,\n faFlagSwallowtail: faFlagSwallowtail,\n faFlagAlt: faFlagAlt,\n faPersonMilitaryRifle: faPersonMilitaryRifle,\n faCarGarage: faCarGarage,\n faCartShopping: faCartShopping,\n faShoppingCart: faShoppingCart,\n faBookFont: faBookFont,\n faShieldPlus: faShieldPlus,\n faVials: faVials,\n faEyeDropperFull: faEyeDropperFull,\n faDistributeSpacingHorizontal: faDistributeSpacingHorizontal,\n faTabletRugged: faTabletRugged,\n faTemperatureSnow: faTemperatureSnow,\n faTemperatureFrigid: faTemperatureFrigid,\n faMoped: faMoped,\n faFaceSmilePlus: faFaceSmilePlus,\n faSmilePlus: faSmilePlus,\n faRadioTuner: faRadioTuner,\n faRadioAlt: faRadioAlt,\n faFaceSwear: faFaceSwear,\n faWaterArrowDown: faWaterArrowDown,\n faWaterLower: faWaterLower,\n faScannerTouchscreen: faScannerTouchscreen,\n faCircle7: faCircle7,\n faPlugCirclePlus: faPlugCirclePlus,\n faPersonSkiJumping: faPersonSkiJumping,\n faSkiJump: faSkiJump,\n faPlaceOfWorship: faPlaceOfWorship,\n faWaterArrowUp: faWaterArrowUp,\n faWaterRise: faWaterRise,\n faWaveformLines: faWaveformLines,\n faWaveformPath: faWaveformPath,\n faSplit: faSplit,\n faFilmCanister: faFilmCanister,\n faFilmCannister: faFilmCannister,\n faFolderXmark: faFolderXmark,\n faFolderTimes: faFolderTimes,\n faToiletPaperBlank: faToiletPaperBlank,\n faToiletPaperAlt: faToiletPaperAlt,\n faTabletScreen: faTabletScreen,\n faTabletAndroidAlt: faTabletAndroidAlt,\n faHexagonVerticalNftSlanted: faHexagonVerticalNftSlanted,\n faFolderMusic: faFolderMusic,\n faDisplayMedical: faDisplayMedical,\n faDesktopMedical: faDesktopMedical,\n faShareAll: faShareAll,\n faPeapod: faPeapod,\n faChessClock: faChessClock,\n faAxe: faAxe,\n faSquareD: faSquareD,\n faGripVertical: faGripVertical,\n faMobileSignalOut: faMobileSignalOut,\n faArrowTurnUp: faArrowTurnUp,\n faLevelUp: faLevelUp,\n faU: faU,\n faArrowUpFromDottedLine: faArrowUpFromDottedLine,\n faSquareRootVariable: faSquareRootVariable,\n faSquareRootAlt: faSquareRootAlt,\n faLightSwitchOn: faLightSwitchOn,\n faArrowDownArrowUp: faArrowDownArrowUp,\n faSortAlt: faSortAlt,\n faRaindrops: faRaindrops,\n faDash: faDash,\n faMinusLarge: faMinusLarge,\n faClock: faClock,\n faClockFour: faClockFour,\n faInputNumeric: faInputNumeric,\n faTruckTow: faTruckTow,\n faBackwardStep: faBackwardStep,\n faStepBackward: faStepBackward,\n faPallet: faPallet,\n faCarBolt: faCarBolt,\n faArrowsMaximize: faArrowsMaximize,\n faExpandArrows: faExpandArrows,\n faFaucet: faFaucet,\n faCloudSleet: faCloudSleet,\n faLampStreet: faLampStreet,\n faListRadio: faListRadio,\n faPenNibSlash: faPenNibSlash,\n faBaseballBatBall: faBaseballBatBall,\n faSquareUpLeft: faSquareUpLeft,\n faOverline: faOverline,\n faS: faS,\n faTimeline: faTimeline,\n faKeyboard: faKeyboard,\n faArrowsFromDottedLine: faArrowsFromDottedLine,\n faUsbDrive: faUsbDrive,\n faBallot: faBallot,\n faCaretDown: faCaretDown,\n faLocationDotSlash: faLocationDotSlash,\n faMapMarkerAltSlash: faMapMarkerAltSlash,\n faCards: faCards,\n faHouseChimneyMedical: faHouseChimneyMedical,\n faClinicMedical: faClinicMedical,\n faBoxingGlove: faBoxingGlove,\n faGloveBoxing: faGloveBoxing,\n faTemperatureThreeQuarters: faTemperatureThreeQuarters,\n faTemperature3: faTemperature3,\n faThermometer3: faThermometer3,\n faThermometerThreeQuarters: faThermometerThreeQuarters,\n faBellSchool: faBellSchool,\n faMobileScreen: faMobileScreen,\n faMobileAndroidAlt: faMobileAndroidAlt,\n faPlaneUp: faPlaneUp,\n faFolderHeart: faFolderHeart,\n faCircleLocationArrow: faCircleLocationArrow,\n faLocationCircle: faLocationCircle,\n faFaceHeadBandage: faFaceHeadBandage,\n faSushiRoll: faSushiRoll,\n faMakiRoll: faMakiRoll,\n faMakizushi: faMakizushi,\n faCarBump: faCarBump,\n faPiggyBank: faPiggyBank,\n faRacquet: faRacquet,\n faCarMirrors: faCarMirrors,\n faIndustryWindows: faIndustryWindows,\n faIndustryAlt: faIndustryAlt,\n faBoltAuto: faBoltAuto,\n faBatteryHalf: faBatteryHalf,\n faBattery3: faBattery3,\n faFluxCapacitor: faFluxCapacitor,\n faMountainCity: faMountainCity,\n faCoins: faCoins,\n faHoneyPot: faHoneyPot,\n faOlive: faOlive,\n faKhanda: faKhanda,\n faFilterList: faFilterList,\n faOutlet: faOutlet,\n faSliders: faSliders,\n faSlidersH: faSlidersH,\n faCauldron: faCauldron,\n faPeople: faPeople,\n faFolderTree: faFolderTree,\n faNetworkWired: faNetworkWired,\n faCroissant: faCroissant,\n faMapPin: faMapPin,\n faHamsa: faHamsa,\n faCentSign: faCentSign,\n faSwordsLaser: faSwordsLaser,\n faFlask: faFlask,\n faPersonPregnant: faPersonPregnant,\n faSquareU: faSquareU,\n faWandSparkles: faWandSparkles,\n faRouter: faRouter,\n faEllipsisVertical: faEllipsisVertical,\n faEllipsisV: faEllipsisV,\n faSwordLaserAlt: faSwordLaserAlt,\n faTicket: faTicket,\n faPowerOff: faPowerOff,\n faCoin: faCoin,\n faLaptopSlash: faLaptopSlash,\n faRightLong: faRightLong,\n faLongArrowAltRight: faLongArrowAltRight,\n faCircleB: faCircleB,\n faPersonDressSimple: faPersonDressSimple,\n faPipeCollar: faPipeCollar,\n faLightsHoliday: faLightsHoliday,\n faCitrus: faCitrus,\n faFlagUsa: faFlagUsa,\n faLaptopFile: faLaptopFile,\n faTty: faTty,\n faTeletype: faTeletype,\n faChartTreeMap: faChartTreeMap,\n faDiagramNext: faDiagramNext,\n faPersonRifle: faPersonRifle,\n faClockFiveThirty: faClockFiveThirty,\n faPipeValve: faPipeValve,\n faArrowUpFromArc: faArrowUpFromArc,\n faFaceSpiralEyes: faFaceSpiralEyes,\n faCompressWide: faCompressWide,\n faCirclePhoneHangup: faCirclePhoneHangup,\n faPhoneCircleDown: faPhoneCircleDown,\n faGearComplexCode: faGearComplexCode,\n faHouseMedicalCircleExclamation: faHouseMedicalCircleExclamation,\n faBadminton: faBadminton,\n faClosedCaptioning: faClosedCaptioning,\n faPersonHiking: faPersonHiking,\n faHiking: faHiking,\n faRightFromLine: faRightFromLine,\n faArrowAltFromLeft: faArrowAltFromLeft,\n faVenusDouble: faVenusDouble,\n faImages: faImages,\n faCalculator: faCalculator,\n faShuttlecock: faShuttlecock,\n faUserHair: faUserHair,\n faEyeEvil: faEyeEvil,\n faPeoplePulling: faPeoplePulling,\n faN: faN,\n faSwap: faSwap,\n faGarage: faGarage,\n faCableCar: faCableCar,\n faTram: faTram,\n faShovelSnow: faShovelSnow,\n faCloudRain: faCloudRain,\n faFaceLying: faFaceLying,\n faSprinkler: faSprinkler,\n faBuildingCircleXmark: faBuildingCircleXmark,\n faPersonSledding: faPersonSledding,\n faSledding: faSledding,\n faGameConsoleHandheld: faGameConsoleHandheld,\n faShip: faShip,\n faClockSixThirty: faClockSixThirty,\n faBatterySlash: faBatterySlash,\n faTugrikSign: faTugrikSign,\n faArrowsDownToLine: faArrowsDownToLine,\n faDownload: faDownload,\n faAnglesUpDown: faAnglesUpDown,\n faShelves: faShelves,\n faInventory: faInventory,\n faCloudSnow: faCloudSnow,\n faFaceGrin: faFaceGrin,\n faGrin: faGrin,\n faDeleteLeft: faDeleteLeft,\n faBackspace: faBackspace,\n faOven: faOven,\n faCloudBinary: faCloudBinary,\n faEyeDropper: faEyeDropper,\n faEyeDropperEmpty: faEyeDropperEmpty,\n faEyedropper: faEyedropper,\n faCommentCaptions: faCommentCaptions,\n faCommentsQuestion: faCommentsQuestion,\n faScribble: faScribble,\n faRotateExclamation: faRotateExclamation,\n faFileCircleCheck: faFileCircleCheck,\n faGlass: faGlass,\n faLoader: faLoader,\n faForward: faForward,\n faUserPilot: faUserPilot,\n faMobile: faMobile,\n faMobileAndroid: faMobileAndroid,\n faMobilePhone: faMobilePhone,\n faCodePullRequestClosed: faCodePullRequestClosed,\n faFaceMeh: faFaceMeh,\n faMeh: faMeh,\n faAlignCenter: faAlignCenter,\n faBookSkull: faBookSkull,\n faBookDead: faBookDead,\n faIdCard: faIdCard,\n faDriversLicense: faDriversLicense,\n faFaceDotted: faFaceDotted,\n faFaceWorried: faFaceWorried,\n faOutdent: faOutdent,\n faDedent: faDedent,\n faCourtSport: faCourtSport,\n faHeartCircleExclamation: faHeartCircleExclamation,\n faHouse: faHouse,\n faHome: faHome,\n faHomeAlt: faHomeAlt,\n faHomeLgAlt: faHomeLgAlt,\n faVectorCircle: faVectorCircle,\n faCarCircleBolt: faCarCircleBolt,\n faCalendarWeek: faCalendarWeek,\n faFlyingDisc: faFlyingDisc,\n faLaptopMedical: faLaptopMedical,\n faSquareDownRight: faSquareDownRight,\n faB: faB,\n faSeatAirline: faSeatAirline,\n faMoonOverSun: faMoonOverSun,\n faEclipseAlt: faEclipseAlt,\n faPipe: faPipe,\n faFileMedical: faFileMedical,\n faPotato: faPotato,\n faDiceOne: faDiceOne,\n faCircleA: faCircleA,\n faHelmetBattle: faHelmetBattle,\n faButter: faButter,\n faBlanketFire: faBlanketFire,\n faKiwiBird: faKiwiBird,\n faCastle: faCastle,\n faGolfClub: faGolfClub,\n faArrowRightArrowLeft: faArrowRightArrowLeft,\n faExchange: faExchange,\n faRotateRight: faRotateRight,\n faRedoAlt: faRedoAlt,\n faRotateForward: faRotateForward,\n faUtensils: faUtensils,\n faCutlery: faCutlery,\n faArrowUpWideShort: faArrowUpWideShort,\n faSortAmountUp: faSortAmountUp,\n faChartPieSimpleCircleDollar: faChartPieSimpleCircleDollar,\n faBalloons: faBalloons,\n faMillSign: faMillSign,\n faBowlRice: faBowlRice,\n faTimelineArrow: faTimelineArrow,\n faSkull: faSkull,\n faGameBoardSimple: faGameBoardSimple,\n faGameBoardAlt: faGameBoardAlt,\n faCircleVideo: faCircleVideo,\n faVideoCircle: faVideoCircle,\n faChartScatterBubble: faChartScatterBubble,\n faHouseTurret: faHouseTurret,\n faBanana: faBanana,\n faHandHoldingSkull: faHandHoldingSkull,\n faPeopleDress: faPeopleDress,\n faLoveseat: faLoveseat,\n faCouchSmall: faCouchSmall,\n faTowerBroadcast: faTowerBroadcast,\n faBroadcastTower: faBroadcastTower,\n faTruckPickup: faTruckPickup,\n faBlockQuote: faBlockQuote,\n faUpLong: faUpLong,\n faLongArrowAltUp: faLongArrowAltUp,\n faStop: faStop,\n faCodeMerge: faCodeMerge,\n faMoneyCheckDollarPen: faMoneyCheckDollarPen,\n faMoneyCheckEditAlt: faMoneyCheckEditAlt,\n faUpFromLine: faUpFromLine,\n faArrowAltFromBottom: faArrowAltFromBottom,\n faUpload: faUpload,\n faHurricane: faHurricane,\n faGridRound2Plus: faGridRound2Plus,\n faPeoplePants: faPeoplePants,\n faMound: faMound,\n faWindsock: faWindsock,\n faCircleHalf: faCircleHalf,\n faBrakeWarning: faBrakeWarning,\n faToiletPortable: faToiletPortable,\n faCompactDisc: faCompactDisc,\n faFileArrowDown: faFileArrowDown,\n faFileDownload: faFileDownload,\n faSaxophoneFire: faSaxophoneFire,\n faSaxHot: faSaxHot,\n faCameraWebSlash: faCameraWebSlash,\n faWebcamSlash: faWebcamSlash,\n faFolderMedical: faFolderMedical,\n faFolderGear: faFolderGear,\n faFolderCog: faFolderCog,\n faHandWave: faHandWave,\n faArrowUpArrowDown: faArrowUpArrowDown,\n faSortUpDown: faSortUpDown,\n faCaravan: faCaravan,\n faShieldCat: faShieldCat,\n faMessageSlash: faMessageSlash,\n faCommentAltSlash: faCommentAltSlash,\n faBolt: faBolt,\n faZap: faZap,\n faTrashCanCheck: faTrashCanCheck,\n faGlassWater: faGlassWater,\n faOilWell: faOilWell,\n faPersonSimple: faPersonSimple,\n faArrowTurnLeftUp: faArrowTurnLeftUp,\n faVault: faVault,\n faMars: faMars,\n faToilet: faToilet,\n faPlaneCircleXmark: faPlaneCircleXmark,\n faYenSign: faYenSign,\n faCny: faCny,\n faJpy: faJpy,\n faRmb: faRmb,\n faYen: faYen,\n faGearCode: faGearCode,\n faNotes: faNotes,\n faRubleSign: faRubleSign,\n faRouble: faRouble,\n faRub: faRub,\n faRuble: faRuble,\n faTrashUndo: faTrashUndo,\n faTrashArrowTurnLeft: faTrashArrowTurnLeft,\n faChampagneGlass: faChampagneGlass,\n faGlassChampagne: faGlassChampagne,\n faObjectsAlignCenterHorizontal: faObjectsAlignCenterHorizontal,\n faSun: faSun,\n faTrashCanSlash: faTrashCanSlash,\n faTrashAltSlash: faTrashAltSlash,\n faScreenUsers: faScreenUsers,\n faUsersClass: faUsersClass,\n faGuitar: faGuitar,\n faSquareArrowLeft: faSquareArrowLeft,\n faArrowSquareLeft: faArrowSquareLeft,\n faSquare8: faSquare8,\n faFaceSmileHearts: faFaceSmileHearts,\n faBracketsSquare: faBracketsSquare,\n faBrackets: faBrackets,\n faLaptopArrowDown: faLaptopArrowDown,\n faHockeyStickPuck: faHockeyStickPuck,\n faHouseTree: faHouseTree,\n faSignalFair: faSignalFair,\n faSignal2: faSignal2,\n faFaceLaughWink: faFaceLaughWink,\n faLaughWink: faLaughWink,\n faCircleDollar: faCircleDollar,\n faDollarCircle: faDollarCircle,\n faUsdCircle: faUsdCircle,\n faHorseHead: faHorseHead,\n faArrowsRepeat: faArrowsRepeat,\n faRepeatAlt: faRepeatAlt,\n faBoreHole: faBoreHole,\n faIndustry: faIndustry,\n faImagePolaroid: faImagePolaroid,\n faWaveTriangle: faWaveTriangle,\n faTurnLeftDown: faTurnLeftDown,\n faPersonRunningFast: faPersonRunningFast,\n faCircleDown: faCircleDown,\n faArrowAltCircleDown: faArrowAltCircleDown,\n faGrill: faGrill,\n faArrowsTurnToDots: faArrowsTurnToDots,\n faChartMixed: faChartMixed,\n faAnalytics: faAnalytics,\n faFlorinSign: faFlorinSign,\n faArrowDownShortWide: faArrowDownShortWide,\n faSortAmountDesc: faSortAmountDesc,\n faSortAmountDownAlt: faSortAmountDownAlt,\n faLessThan: faLessThan,\n faDisplayCode: faDisplayCode,\n faDesktopCode: faDesktopCode,\n faFaceDrooling: faFaceDrooling,\n faOilTemperature: faOilTemperature,\n faOilTemp: faOilTemp,\n faSquareQuestion: faSquareQuestion,\n faQuestionSquare: faQuestionSquare,\n faAirConditioner: faAirConditioner,\n faAngleDown: faAngleDown,\n faMountains: faMountains,\n faOmega: faOmega,\n faCarTunnel: faCarTunnel,\n faPersonDollyEmpty: faPersonDollyEmpty,\n faPanFood: faPanFood,\n faHeadSideCough: faHeadSideCough,\n faGripLines: faGripLines,\n faThumbsDown: faThumbsDown,\n faUserLock: faUserLock,\n faArrowRightLong: faArrowRightLong,\n faLongArrowRight: faLongArrowRight,\n faTicketsAirline: faTicketsAirline,\n faTicketsPerforatedPlane: faTicketsPerforatedPlane,\n faTicketsPlane: faTicketsPlane,\n faTentDoublePeak: faTentDoublePeak,\n faAnchorCircleXmark: faAnchorCircleXmark,\n faEllipsis: faEllipsis,\n faEllipsisH: faEllipsisH,\n faNfcSlash: faNfcSlash,\n faChessPawn: faChessPawn,\n faKitMedical: faKitMedical,\n faFirstAid: faFirstAid,\n faGrid2Plus: faGrid2Plus,\n faBells: faBells,\n faPersonThroughWindow: faPersonThroughWindow,\n faToolbox: faToolbox,\n faEnvelopeDot: faEnvelopeDot,\n faEnvelopeBadge: faEnvelopeBadge,\n faMagnifyingGlassWaveform: faMagnifyingGlassWaveform,\n faHandsHoldingCircle: faHandsHoldingCircle,\n faBug: faBug,\n faBowlChopsticks: faBowlChopsticks,\n faCreditCard: faCreditCard,\n faCreditCardAlt: faCreditCardAlt,\n faCircleS: faCircleS,\n faBoxBallot: faBoxBallot,\n faCar: faCar,\n faAutomobile: faAutomobile,\n faHandHoldingHand: faHandHoldingHand,\n faUserTieHair: faUserTieHair,\n faPodiumStar: faPodiumStar,\n faUserHairMullet: faUserHairMullet,\n faBusinessFront: faBusinessFront,\n faPartyBack: faPartyBack,\n faTrianBalbot: faTrianBalbot,\n faMicrophoneStand: faMicrophoneStand,\n faBookOpenReader: faBookOpenReader,\n faBookReader: faBookReader,\n faFamilyDress: faFamilyDress,\n faCircleX: faCircleX,\n faCabin: faCabin,\n faMountainSun: faMountainSun,\n faChartSimpleHorizontal: faChartSimpleHorizontal,\n faBluetooth: faBluetooth,\n faArrowsLeftRightToLine: faArrowsLeftRightToLine,\n faHandBackPointLeft: faHandBackPointLeft,\n faMessageDots: faMessageDots,\n faCommentAltDots: faCommentAltDots,\n faMessaging: faMessaging,\n faFileHeart: faFileHeart,\n faBeerMug: faBeerMug,\n faBeerFoam: faBeerFoam,\n faDiceD20: faDiceD20,\n faDrone: faDrone,\n faTruckDroplet: faTruckDroplet,\n faFileCircleXmark: faFileCircleXmark,\n faTemperatureArrowUp: faTemperatureArrowUp,\n faTemperatureUp: faTemperatureUp,\n faMedal: faMedal,\n faPersonFairy: faPersonFairy,\n faBed: faBed,\n faBookCopy: faBookCopy,\n faSquareH: faSquareH,\n faHSquare: faHSquare,\n faSquareC: faSquareC,\n faClockTwo: faClockTwo,\n faSquareEllipsisVertical: faSquareEllipsisVertical,\n faCalendarUsers: faCalendarUsers,\n faPodcast: faPodcast,\n faBee: faBee,\n faTemperatureFull: faTemperatureFull,\n faTemperature4: faTemperature4,\n faThermometer4: faThermometer4,\n faThermometerFull: faThermometerFull,\n faBell: faBell,\n faCandyBar: faCandyBar,\n faChocolateBar: faChocolateBar,\n faXmarkLarge: faXmarkLarge,\n faPinata: faPinata,\n faFilePpt: faFilePpt,\n faArrowsFromLine: faArrowsFromLine,\n faSuperscript: faSuperscript,\n faBowlSpoon: faBowlSpoon,\n faHexagonCheck: faHexagonCheck,\n faPlugCircleXmark: faPlugCircleXmark,\n faStarOfLife: faStarOfLife,\n faPhoneSlash: faPhoneSlash,\n faTrafficLightStop: faTrafficLightStop,\n faPaintRoller: faPaintRoller,\n faAccentGrave: faAccentGrave,\n faHandshakeAngle: faHandshakeAngle,\n faHandsHelping: faHandsHelping,\n faCircle0: faCircle0,\n faDialMedLow: faDialMedLow,\n faLocationDot: faLocationDot,\n faMapMarkerAlt: faMapMarkerAlt,\n faCrab: faCrab,\n faBoxOpenFull: faBoxOpenFull,\n faBoxFull: faBoxFull,\n faFile: faFile,\n faGreaterThan: faGreaterThan,\n faQuotes: faQuotes,\n faPretzel: faPretzel,\n faTRex: faTRex,\n faPersonSwimming: faPersonSwimming,\n faSwimmer: faSwimmer,\n faArrowDown: faArrowDown,\n faUserRobotXmarks: faUserRobotXmarks,\n faMessageQuote: faMessageQuote,\n faCommentAltQuote: faCommentAltQuote,\n faCandyCorn: faCandyCorn,\n faFolderMagnifyingGlass: faFolderMagnifyingGlass,\n faFolderSearch: faFolderSearch,\n faNotebook: faNotebook,\n faCircleWifi: faCircleWifi,\n faDroplet: faDroplet,\n faTint: faTint,\n faBullseyePointer: faBullseyePointer,\n faEraser: faEraser,\n faHexagonImage: faHexagonImage,\n faEarthAmericas: faEarthAmericas,\n faEarth: faEarth,\n faEarthAmerica: faEarthAmerica,\n faGlobeAmericas: faGlobeAmericas,\n faFileSvg: faFileSvg,\n faCrateApple: faCrateApple,\n faAppleCrate: faAppleCrate,\n faPersonBurst: faPersonBurst,\n faGameBoard: faGameBoard,\n faHatChef: faHatChef,\n faHandBackPointRight: faHandBackPointRight,\n faDove: faDove,\n faSnowflakeDroplets: faSnowflakeDroplets,\n faBatteryEmpty: faBatteryEmpty,\n faBattery0: faBattery0,\n faGrid4: faGrid4,\n faSocks: faSocks,\n faFaceSunglasses: faFaceSunglasses,\n faInbox: faInbox,\n faSquare0: faSquare0,\n faSection: faSection,\n faSquareThisWayUp: faSquareThisWayUp,\n faBoxUp: faBoxUp,\n faGaugeHigh: faGaugeHigh,\n faTachometerAlt: faTachometerAlt,\n faTachometerAltFast: faTachometerAltFast,\n faSquareAmpersand: faSquareAmpersand,\n faEnvelopeOpenText: faEnvelopeOpenText,\n faLampDesk: faLampDesk,\n faHospital: faHospital,\n faHospitalAlt: faHospitalAlt,\n faHospitalWide: faHospitalWide,\n faPollPeople: faPollPeople,\n faWhiskeyGlassIce: faWhiskeyGlassIce,\n faGlassWhiskeyRocks: faGlassWhiskeyRocks,\n faWineBottle: faWineBottle,\n faChessRook: faChessRook,\n faUserBountyHunter: faUserBountyHunter,\n faBarsStaggered: faBarsStaggered,\n faReorder: faReorder,\n faStream: faStream,\n faDiagramSankey: faDiagramSankey,\n faCloudHailMixed: faCloudHailMixed,\n faCircleUpLeft: faCircleUpLeft,\n faDharmachakra: faDharmachakra,\n faObjectsAlignLeft: faObjectsAlignLeft,\n faOilCanDrip: faOilCanDrip,\n faFaceSmilingHands: faFaceSmilingHands,\n faBroccoli: faBroccoli,\n faRouteInterstate: faRouteInterstate,\n faEarMuffs: faEarMuffs,\n faHotdog: faHotdog,\n faTransporterEmpty: faTransporterEmpty,\n faPersonWalkingWithCane: faPersonWalkingWithCane,\n faBlind: faBlind,\n faAngle90: faAngle90,\n faRectangleTerminal: faRectangleTerminal,\n faKite: faKite,\n faDrum: faDrum,\n faScrubber: faScrubber,\n faIceCream: faIceCream,\n faHeartCircleBolt: faHeartCircleBolt,\n faFishBones: faFishBones,\n faDeerRudolph: faDeerRudolph,\n faFax: faFax,\n faParagraph: faParagraph,\n faHeadSideHeart: faHeadSideHeart,\n faSquareE: faSquareE,\n faMeterFire: faMeterFire,\n faCloudHail: faCloudHail,\n faCheckToSlot: faCheckToSlot,\n faVoteYea: faVoteYea,\n faMoneyFromBracket: faMoneyFromBracket,\n faStarHalf: faStarHalf,\n faCarBus: faCarBus,\n faSpeaker: faSpeaker,\n faTimer: faTimer,\n faBoxesStacked: faBoxesStacked,\n faBoxes: faBoxes,\n faBoxesAlt: faBoxesAlt,\n faLandmarkMagnifyingGlass: faLandmarkMagnifyingGlass,\n faGrillHot: faGrillHot,\n faBallotCheck: faBallotCheck,\n faLink: faLink,\n faChain: faChain,\n faEarListen: faEarListen,\n faAssistiveListeningSystems: faAssistiveListeningSystems,\n faFileMinus: faFileMinus,\n faTreeCity: faTreeCity,\n faPlay: faPlay,\n faFont: faFont,\n faCupTogo: faCupTogo,\n faCoffeeTogo: faCoffeeTogo,\n faSquareDownLeft: faSquareDownLeft,\n faBurgerLettuce: faBurgerLettuce,\n faTableCellsRowLock: faTableCellsRowLock,\n faRupiahSign: faRupiahSign,\n faMagnifyingGlass: faMagnifyingGlass,\n faSearch: faSearch,\n faTableTennisPaddleBall: faTableTennisPaddleBall,\n faPingPongPaddleBall: faPingPongPaddleBall,\n faTableTennis: faTableTennis,\n faPersonDotsFromLine: faPersonDotsFromLine,\n faDiagnoses: faDiagnoses,\n faChevronsDown: faChevronsDown,\n faChevronDoubleDown: faChevronDoubleDown,\n faTrashCanArrowUp: faTrashCanArrowUp,\n faTrashRestoreAlt: faTrashRestoreAlt,\n faSignalGood: faSignalGood,\n faSignal3: faSignal3,\n faLocationQuestion: faLocationQuestion,\n faMapMarkerQuestion: faMapMarkerQuestion,\n faFloppyDiskCircleXmark: faFloppyDiskCircleXmark,\n faFloppyDiskTimes: faFloppyDiskTimes,\n faSaveCircleXmark: faSaveCircleXmark,\n faSaveTimes: faSaveTimes,\n faNairaSign: faNairaSign,\n faPeach: faPeach,\n faTaxiBus: faTaxiBus,\n faBracketCurly: faBracketCurly,\n faBracketCurlyLeft: faBracketCurlyLeft,\n faLobster: faLobster,\n faCartFlatbedEmpty: faCartFlatbedEmpty,\n faDollyFlatbedEmpty: faDollyFlatbedEmpty,\n faColon: faColon,\n faCartArrowDown: faCartArrowDown,\n faWand: faWand,\n faWalkieTalkie: faWalkieTalkie,\n faFilePen: faFilePen,\n faFileEdit: faFileEdit,\n faReceipt: faReceipt,\n faTablePicnic: faTablePicnic,\n faSquarePen: faSquarePen,\n faPenSquare: faPenSquare,\n faPencilSquare: faPencilSquare,\n faCircleMicrophoneLines: faCircleMicrophoneLines,\n faMicrophoneCircleAlt: faMicrophoneCircleAlt,\n faDisplaySlash: faDisplaySlash,\n faDesktopSlash: faDesktopSlash,\n faSuitcaseRolling: faSuitcaseRolling,\n faPersonCircleExclamation: faPersonCircleExclamation,\n faTransporter2: faTransporter2,\n faHandsHoldingDiamond: faHandsHoldingDiamond,\n faHandReceiving: faHandReceiving,\n faMoneyBillSimpleWave: faMoneyBillSimpleWave,\n faChevronDown: faChevronDown,\n faBatteryFull: faBatteryFull,\n faBattery: faBattery,\n faBattery5: faBattery5,\n faBellPlus: faBellPlus,\n faBookArrowRight: faBookArrowRight,\n faHospitals: faHospitals,\n faClub: faClub,\n faSkullCrossbones: faSkullCrossbones,\n faDropletDegree: faDropletDegree,\n faDewpoint: faDewpoint,\n faCodeCompare: faCodeCompare,\n faListUl: faListUl,\n faListDots: faListDots,\n faHandHoldingMagic: faHandHoldingMagic,\n faWatermelonSlice: faWatermelonSlice,\n faCircleEllipsis: faCircleEllipsis,\n faSchoolLock: faSchoolLock,\n faTowerCell: faTowerCell,\n faSdCards: faSdCards,\n faJugBottle: faJugBottle,\n faDownLong: faDownLong,\n faLongArrowAltDown: faLongArrowAltDown,\n faEnvelopes: faEnvelopes,\n faPhoneOffice: faPhoneOffice,\n faRankingStar: faRankingStar,\n faChessKing: faChessKing,\n faNfcPen: faNfcPen,\n faPersonHarassing: faPersonHarassing,\n faMagnifyingGlassPlay: faMagnifyingGlassPlay,\n faHatWinter: faHatWinter,\n faBrazilianRealSign: faBrazilianRealSign,\n faLandmarkDome: faLandmarkDome,\n faLandmarkAlt: faLandmarkAlt,\n faBoneBreak: faBoneBreak,\n faArrowUp: faArrowUp,\n faDownFromDottedLine: faDownFromDottedLine,\n faTv: faTv,\n faTelevision: faTelevision,\n faTvAlt: faTvAlt,\n faBorderLeft: faBorderLeft,\n faCircleDivide: faCircleDivide,\n faShrimp: faShrimp,\n faListCheck: faListCheck,\n faTasks: faTasks,\n faDiagramSubtask: faDiagramSubtask,\n faJugDetergent: faJugDetergent,\n faCircleUser: faCircleUser,\n faUserCircle: faUserCircle,\n faSquareY: faSquareY,\n faUserDoctorHair: faUserDoctorHair,\n faPlanetRinged: faPlanetRinged,\n faMushroom: faMushroom,\n faUserShield: faUserShield,\n faMegaphone: faMegaphone,\n faWreathLaurel: faWreathLaurel,\n faCircleExclamationCheck: faCircleExclamationCheck,\n faWind: faWind,\n faBoxDollar: faBoxDollar,\n faBoxUsd: faBoxUsd,\n faCarBurst: faCarBurst,\n faCarCrash: faCarCrash,\n faY: faY,\n faUserHeadset: faUserHeadset,\n faArrowsRetweet: faArrowsRetweet,\n faRetweetAlt: faRetweetAlt,\n faPersonSnowboarding: faPersonSnowboarding,\n faSnowboarding: faSnowboarding,\n faSquareChevronRight: faSquareChevronRight,\n faChevronSquareRight: faChevronSquareRight,\n faLacrosseStickBall: faLacrosseStickBall,\n faTruckFast: faTruckFast,\n faShippingFast: faShippingFast,\n faUserMagnifyingGlass: faUserMagnifyingGlass,\n faStarSharp: faStarSharp,\n faCommentHeart: faCommentHeart,\n faCircle1: faCircle1,\n faCircleStar: faCircleStar,\n faStarCircle: faStarCircle,\n faFish: faFish,\n faCloudFog: faCloudFog,\n faFog: faFog,\n faWaffle: faWaffle,\n faMusicNote: faMusicNote,\n faMusicAlt: faMusicAlt,\n faHexagonExclamation: faHexagonExclamation,\n faCartShoppingFast: faCartShoppingFast,\n faObjectUnion: faObjectUnion,\n faUserGraduate: faUserGraduate,\n faStarfighter: faStarfighter,\n faCircleHalfStroke: faCircleHalfStroke,\n faAdjust: faAdjust,\n faArrowRightLongToLine: faArrowRightLongToLine,\n faSquareArrowDown: faSquareArrowDown,\n faArrowSquareDown: faArrowSquareDown,\n faDiamondHalfStroke: faDiamondHalfStroke,\n faClapperboard: faClapperboard,\n faSquareChevronLeft: faSquareChevronLeft,\n faChevronSquareLeft: faChevronSquareLeft,\n faPhoneIntercom: faPhoneIntercom,\n faLinkHorizontal: faLinkHorizontal,\n faChainHorizontal: faChainHorizontal,\n faMango: faMango,\n faMusicNoteSlash: faMusicNoteSlash,\n faMusicAltSlash: faMusicAltSlash,\n faCircleRadiation: faCircleRadiation,\n faRadiationAlt: faRadiationAlt,\n faFaceTongueSweat: faFaceTongueSweat,\n faGlobeStand: faGlobeStand,\n faBaseball: faBaseball,\n faBaseballBall: faBaseballBall,\n faCircleP: faCircleP,\n faAwardSimple: faAwardSimple,\n faJetFighterUp: faJetFighterUp,\n faDiagramProject: faDiagramProject,\n faProjectDiagram: faProjectDiagram,\n faPedestal: faPedestal,\n faChartPyramid: faChartPyramid,\n faSidebar: faSidebar,\n faSnowmanHead: faSnowmanHead,\n faFrostyHead: faFrostyHead,\n faCopy: faCopy,\n faBurgerGlass: faBurgerGlass,\n faVolumeXmark: faVolumeXmark,\n faVolumeMute: faVolumeMute,\n faVolumeTimes: faVolumeTimes,\n faHandSparkles: faHandSparkles,\n faBarsFilter: faBarsFilter,\n faPaintbrushPencil: faPaintbrushPencil,\n faPartyBell: faPartyBell,\n faUserVneckHair: faUserVneckHair,\n faJackOLantern: faJackOLantern,\n faGrip: faGrip,\n faGripHorizontal: faGripHorizontal,\n faShareFromSquare: faShareFromSquare,\n faShareSquare: faShareSquare,\n faKeynote: faKeynote,\n faChildCombatant: faChildCombatant,\n faChildRifle: faChildRifle,\n faGun: faGun,\n faSquarePhone: faSquarePhone,\n faPhoneSquare: faPhoneSquare,\n faHatBeach: faHatBeach,\n faPlus: faPlus,\n faAdd: faAdd,\n faExpand: faExpand,\n faComputer: faComputer,\n faFort: faFort,\n faCloudCheck: faCloudCheck,\n faXmark: faXmark,\n faClose: faClose,\n faMultiply: faMultiply,\n faRemove: faRemove,\n faTimes: faTimes,\n faFaceSmirking: faFaceSmirking,\n faArrowsUpDownLeftRight: faArrowsUpDownLeftRight,\n faArrows: faArrows,\n faChalkboardUser: faChalkboardUser,\n faChalkboardTeacher: faChalkboardTeacher,\n faRhombus: faRhombus,\n faClawMarks: faClawMarks,\n faPesoSign: faPesoSign,\n faFaceSmileTongue: faFaceSmileTongue,\n faCartCircleXmark: faCartCircleXmark,\n faBuildingShield: faBuildingShield,\n faCirclePhoneFlip: faCirclePhoneFlip,\n faPhoneCircleAlt: faPhoneCircleAlt,\n faBaby: faBaby,\n faUsersLine: faUsersLine,\n faQuoteLeft: faQuoteLeft,\n faQuoteLeftAlt: faQuoteLeftAlt,\n faTractor: faTractor,\n faDownFromBracket: faDownFromBracket,\n faKeySkeleton: faKeySkeleton,\n faTrashArrowUp: faTrashArrowUp,\n faTrashRestore: faTrashRestore,\n faArrowDownUpLock: faArrowDownUpLock,\n faArrowDownToBracket: faArrowDownToBracket,\n faLinesLeaning: faLinesLeaning,\n faSquareQ: faSquareQ,\n faRulerCombined: faRulerCombined,\n faSymbols: faSymbols,\n faIconsAlt: faIconsAlt,\n faCopyright: faCopyright,\n faFlaskGear: faFlaskGear,\n faHighlighterLine: faHighlighterLine,\n faBracketSquare: faBracketSquare,\n faBracket: faBracket,\n faBracketLeft: faBracketLeft,\n faIslandTropical: faIslandTropical,\n faIslandTreePalm: faIslandTreePalm,\n faArrowRightFromLine: faArrowRightFromLine,\n faArrowFromLeft: faArrowFromLeft,\n faH2: faH2,\n faEquals: faEquals,\n faCakeSlice: faCakeSlice,\n faShortcake: faShortcake,\n faBuildingMagnifyingGlass: faBuildingMagnifyingGlass,\n faPeanut: faPeanut,\n faWrenchSimple: faWrenchSimple,\n faBlender: faBlender,\n faTeeth: faTeeth,\n faTally2: faTally2,\n faShekelSign: faShekelSign,\n faIls: faIls,\n faShekel: faShekel,\n faSheqel: faSheqel,\n faSheqelSign: faSheqelSign,\n faCars: faCars,\n faAxeBattle: faAxeBattle,\n faUserHairLong: faUserHairLong,\n faMap: faMap,\n faArrowLeftFromArc: faArrowLeftFromArc,\n faFileCircleInfo: faFileCircleInfo,\n faFaceDisappointed: faFaceDisappointed,\n faLassoSparkles: faLassoSparkles,\n faClockEleven: faClockEleven,\n faRocket: faRocket,\n faSirenOn: faSirenOn,\n faClockTen: faClockTen,\n faCandleHolder: faCandleHolder,\n faVideoArrowDownLeft: faVideoArrowDownLeft,\n faPhotoFilm: faPhotoFilm,\n faPhotoVideo: faPhotoVideo,\n faFloppyDiskCircleArrowRight: faFloppyDiskCircleArrowRight,\n faSaveCircleArrowRight: faSaveCircleArrowRight,\n faFolderMinus: faFolderMinus,\n faPlanetMoon: faPlanetMoon,\n faFaceEyesXmarks: faFaceEyesXmarks,\n faChartScatter: faChartScatter,\n faCircleGf: faCircleGf,\n faDisplayArrowDown: faDisplayArrowDown,\n faStore: faStore,\n faArrowTrendUp: faArrowTrendUp,\n faPlugCircleMinus: faPlugCircleMinus,\n faOliveBranch: faOliveBranch,\n faAngle: faAngle,\n faVacuumRobot: faVacuumRobot,\n faSignHanging: faSignHanging,\n faSign: faSign,\n faSquareDivide: faSquareDivide,\n faFolderCheck: faFolderCheck,\n faSignalStreamSlash: faSignalStreamSlash,\n faBezierCurve: faBezierCurve,\n faEyeDropperHalf: faEyeDropperHalf,\n faStoreLock: faStoreLock,\n faBellSlash: faBellSlash,\n faCloudBoltSun: faCloudBoltSun,\n faThunderstormSun: faThunderstormSun,\n faCameraSlash: faCameraSlash,\n faCommentQuote: faCommentQuote,\n faTablet: faTablet,\n faTabletAndroid: faTabletAndroid,\n faSchoolFlag: faSchoolFlag,\n faMessageCode: faMessageCode,\n faGlassHalf: faGlassHalf,\n faGlassHalfEmpty: faGlassHalfEmpty,\n faGlassHalfFull: faGlassHalfFull,\n faFill: faFill,\n faMessageMinus: faMessageMinus,\n faCommentAltMinus: faCommentAltMinus,\n faAngleUp: faAngleUp,\n faDinosaur: faDinosaur,\n faDrumstickBite: faDrumstickBite,\n faLinkHorizontalSlash: faLinkHorizontalSlash,\n faChainHorizontalSlash: faChainHorizontalSlash,\n faHollyBerry: faHollyBerry,\n faNose: faNose,\n faArrowLeftToArc: faArrowLeftToArc,\n faChevronLeft: faChevronLeft,\n faBacteria: faBacteria,\n faClouds: faClouds,\n faMoneyBillSimple: faMoneyBillSimple,\n faHandLizard: faHandLizard,\n faTablePivot: faTablePivot,\n faFilterSlash: faFilterSlash,\n faTrashCanUndo: faTrashCanUndo,\n faTrashCanArrowTurnLeft: faTrashCanArrowTurnLeft,\n faTrashUndoAlt: faTrashUndoAlt,\n faNotdef: faNotdef,\n faDisease: faDisease,\n faPersonToDoor: faPersonToDoor,\n faTurntable: faTurntable,\n faBriefcaseMedical: faBriefcaseMedical,\n faGenderless: faGenderless,\n faChevronRight: faChevronRight,\n faSignalWeak: faSignalWeak,\n faSignal1: faSignal1,\n faClockFive: faClockFive,\n faRetweet: faRetweet,\n faCarRear: faCarRear,\n faCarAlt: faCarAlt,\n faPumpSoap: faPumpSoap,\n faComputerClassic: faComputerClassic,\n faFrame: faFrame,\n faVideoSlash: faVideoSlash,\n faBatteryQuarter: faBatteryQuarter,\n faBattery2: faBattery2,\n faEllipsisStroke: faEllipsisStroke,\n faEllipsisHAlt: faEllipsisHAlt,\n faRadio: faRadio,\n faBabyCarriage: faBabyCarriage,\n faCarriageBaby: faCarriageBaby,\n faFaceExpressionless: faFaceExpressionless,\n faDownToDottedLine: faDownToDottedLine,\n faCloudMusic: faCloudMusic,\n faTrafficLight: faTrafficLight,\n faCloudMinus: faCloudMinus,\n faThermometer: faThermometer,\n faShieldMinus: faShieldMinus,\n faVrCardboard: faVrCardboard,\n faCarTilt: faCarTilt,\n faGaugeCircleMinus: faGaugeCircleMinus,\n faBrightnessLow: faBrightnessLow,\n faHandMiddleFinger: faHandMiddleFinger,\n faPercent: faPercent,\n faPercentage: faPercentage,\n faTruckMoving: faTruckMoving,\n faGlassWaterDroplet: faGlassWaterDroplet,\n faConveyorBelt: faConveyorBelt,\n faLocationCheck: faLocationCheck,\n faMapMarkerCheck: faMapMarkerCheck,\n faCoinVertical: faCoinVertical,\n faDisplay: faDisplay,\n faPersonSign: faPersonSign,\n faFaceSmile: faFaceSmile,\n faSmile: faSmile,\n faPhoneHangup: faPhoneHangup,\n faSignatureSlash: faSignatureSlash,\n faThumbtack: faThumbtack,\n faThumbTack: faThumbTack,\n faWheatSlash: faWheatSlash,\n faTrophy: faTrophy,\n faCloudsSun: faCloudsSun,\n faPersonPraying: faPersonPraying,\n faPray: faPray,\n faHammer: faHammer,\n faFaceVomit: faFaceVomit,\n faSpeakers: faSpeakers,\n faTtyAnswer: faTtyAnswer,\n faTeletypeAnswer: faTeletypeAnswer,\n faMugTeaSaucer: faMugTeaSaucer,\n faDiagramLeanCanvas: faDiagramLeanCanvas,\n faAlt: faAlt,\n faDial: faDial,\n faDialMedHigh: faDialMedHigh,\n faHandPeace: faHandPeace,\n faCircleTrash: faCircleTrash,\n faTrashCircle: faTrashCircle,\n faRotate: faRotate,\n faSyncAlt: faSyncAlt,\n faCircleQuarters: faCircleQuarters,\n faSpinner: faSpinner,\n faTowerControl: faTowerControl,\n faArrowUpTriangleSquare: faArrowUpTriangleSquare,\n faSortShapesUp: faSortShapesUp,\n faWhale: faWhale,\n faRobot: faRobot,\n faPeace: faPeace,\n faPartyHorn: faPartyHorn,\n faGears: faGears,\n faCogs: faCogs,\n faSunBright: faSunBright,\n faSunAlt: faSunAlt,\n faWarehouse: faWarehouse,\n faConveyorBeltArm: faConveyorBeltArm,\n faLockKeyholeOpen: faLockKeyholeOpen,\n faLockOpenAlt: faLockOpenAlt,\n faSquareFragile: faSquareFragile,\n faBoxFragile: faBoxFragile,\n faSquareWineGlassCrack: faSquareWineGlassCrack,\n faArrowUpRightDots: faArrowUpRightDots,\n faSquareN: faSquareN,\n faSplotch: faSplotch,\n faFaceGrinHearts: faFaceGrinHearts,\n faGrinHearts: faGrinHearts,\n faMeter: faMeter,\n faMandolin: faMandolin,\n faDiceFour: faDiceFour,\n faSimCard: faSimCard,\n faTransgender: faTransgender,\n faTransgenderAlt: faTransgenderAlt,\n faMercury: faMercury,\n faUpFromBracket: faUpFromBracket,\n faKnifeKitchen: faKnifeKitchen,\n faBorderRight: faBorderRight,\n faArrowTurnDown: faArrowTurnDown,\n faLevelDown: faLevelDown,\n faSpade: faSpade,\n faCardSpade: faCardSpade,\n faLineColumns: faLineColumns,\n faAnt: faAnt,\n faArrowRightToLine: faArrowRightToLine,\n faArrowToRight: faArrowToRight,\n faPersonFallingBurst: faPersonFallingBurst,\n faFlagPennant: faFlagPennant,\n faPennant: faPennant,\n faConveyorBeltEmpty: faConveyorBeltEmpty,\n faUserGroupSimple: faUserGroupSimple,\n faAward: faAward,\n faTicketSimple: faTicketSimple,\n faTicketAlt: faTicketAlt,\n faBuilding: faBuilding,\n faAnglesLeft: faAnglesLeft,\n faAngleDoubleLeft: faAngleDoubleLeft,\n faCamcorder: faCamcorder,\n faVideoHandheld: faVideoHandheld,\n faPancakes: faPancakes,\n faAlbumCircleUser: faAlbumCircleUser,\n faSubtitlesSlash: faSubtitlesSlash,\n faQrcode: faQrcode,\n faDiceD10: faDiceD10,\n faFireplace: faFireplace,\n faBrowser: faBrowser,\n faPenPaintbrush: faPenPaintbrush,\n faPencilPaintbrush: faPencilPaintbrush,\n faFishCooked: faFishCooked,\n faChairOffice: faChairOffice,\n faMagnifyingGlassMusic: faMagnifyingGlassMusic,\n faNestingDolls: faNestingDolls,\n faClockRotateLeft: faClockRotateLeft,\n faHistory: faHistory,\n faTrumpet: faTrumpet,\n faFaceGrinBeamSweat: faFaceGrinBeamSweat,\n faGrinBeamSweat: faGrinBeamSweat,\n faFireSmoke: faFireSmoke,\n faPhoneMissed: faPhoneMissed,\n faFileExport: faFileExport,\n faArrowRightFromFile: faArrowRightFromFile,\n faShield: faShield,\n faShieldBlank: faShieldBlank,\n faArrowUpShortWide: faArrowUpShortWide,\n faSortAmountUpAlt: faSortAmountUpAlt,\n faArrowsRepeat1: faArrowsRepeat1,\n faRepeat1Alt: faRepeat1Alt,\n faGunSlash: faGunSlash,\n faAvocado: faAvocado,\n faBinary: faBinary,\n faGlassesRound: faGlassesRound,\n faGlassesAlt: faGlassesAlt,\n faPhonePlus: faPhonePlus,\n faDitto: faDitto,\n faPersonSeat: faPersonSeat,\n faHouseMedical: faHouseMedical,\n faGolfBallTee: faGolfBallTee,\n faGolfBall: faGolfBall,\n faCircleChevronLeft: faCircleChevronLeft,\n faChevronCircleLeft: faChevronCircleLeft,\n faHouseChimneyWindow: faHouseChimneyWindow,\n faScythe: faScythe,\n faPenNib: faPenNib,\n faBanParking: faBanParking,\n faParkingCircleSlash: faParkingCircleSlash,\n faTentArrowTurnLeft: faTentArrowTurnLeft,\n faFaceDiagonalMouth: faFaceDiagonalMouth,\n faDiagramCells: faDiagramCells,\n faCricketBatBall: faCricketBatBall,\n faCricket: faCricket,\n faTents: faTents,\n faWandMagic: faWandMagic,\n faMagic: faMagic,\n faDog: faDog,\n faPenLine: faPenLine,\n faAtomSimple: faAtomSimple,\n faAtomAlt: faAtomAlt,\n faAmpersand: faAmpersand,\n faCarrot: faCarrot,\n faArrowUpFromLine: faArrowUpFromLine,\n faArrowFromBottom: faArrowFromBottom,\n faMoon: faMoon,\n faPenSlash: faPenSlash,\n faWineGlassEmpty: faWineGlassEmpty,\n faWineGlassAlt: faWineGlassAlt,\n faSquareStar: faSquareStar,\n faCheese: faCheese,\n faSendBackward: faSendBackward,\n faYinYang: faYinYang,\n faMusic: faMusic,\n faCompassSlash: faCompassSlash,\n faClockOne: faClockOne,\n faFileMusic: faFileMusic,\n faCodeCommit: faCodeCommit,\n faTemperatureLow: faTemperatureLow,\n faPersonBiking: faPersonBiking,\n faBiking: faBiking,\n faDisplayChartUpCircleCurrency: faDisplayChartUpCircleCurrency,\n faSkeleton: faSkeleton,\n faCircleG: faCircleG,\n faCircleArrowUpLeft: faCircleArrowUpLeft,\n faCoinBlank: faCoinBlank,\n faBroom: faBroom,\n faVacuum: faVacuum,\n faShieldHeart: faShieldHeart,\n faCardHeart: faCardHeart,\n faLightbulbCflOn: faLightbulbCflOn,\n faMelon: faMelon,\n faGopuram: faGopuram,\n faEarthOceania: faEarthOceania,\n faGlobeOceania: faGlobeOceania,\n faContainerStorage: faContainerStorage,\n faFacePouting: faFacePouting,\n faSquareXmark: faSquareXmark,\n faTimesSquare: faTimesSquare,\n faXmarkSquare: faXmarkSquare,\n faFaceExplode: faFaceExplode,\n faExplodingHead: faExplodingHead,\n faHashtag: faHashtag,\n faUpRightAndDownLeftFromCenter: faUpRightAndDownLeftFromCenter,\n faExpandAlt: faExpandAlt,\n faOilCan: faOilCan,\n faT: faT,\n faTransformerBolt: faTransformerBolt,\n faHippo: faHippo,\n faChartColumn: faChartColumn,\n faCassetteVhs: faCassetteVhs,\n faVhs: faVhs,\n faInfinity: faInfinity,\n faVialCircleCheck: faVialCircleCheck,\n faChimney: faChimney,\n faObjectIntersect: faObjectIntersect,\n faPersonArrowDownToLine: faPersonArrowDownToLine,\n faVoicemail: faVoicemail,\n faBlockBrick: faBlockBrick,\n faWallBrick: faWallBrick,\n faFan: faFan,\n faBagsShopping: faBagsShopping,\n faParagraphLeft: faParagraphLeft,\n faParagraphRtl: faParagraphRtl,\n faPersonWalkingLuggage: faPersonWalkingLuggage,\n faCaravanSimple: faCaravanSimple,\n faCaravanAlt: faCaravanAlt,\n faTurtle: faTurtle,\n faPencilMechanical: faPencilMechanical,\n faUpDown: faUpDown,\n faArrowsAltV: faArrowsAltV,\n faCloudMoonRain: faCloudMoonRain,\n faBoothCurtain: faBoothCurtain,\n faCalendar: faCalendar,\n faBoxHeart: faBoxHeart,\n faTrailer: faTrailer,\n faUserDoctorMessage: faUserDoctorMessage,\n faUserMdChat: faUserMdChat,\n faBahai: faBahai,\n faHaykal: faHaykal,\n faLighthouse: faLighthouse,\n faAmpGuitar: faAmpGuitar,\n faSdCard: faSdCard,\n faVolumeSlash: faVolumeSlash,\n faBorderBottom: faBorderBottom,\n faWifiWeak: faWifiWeak,\n faWifi1: faWifi1,\n faDragon: faDragon,\n faShoePrints: faShoePrints,\n faCirclePlus: faCirclePlus,\n faPlusCircle: faPlusCircle,\n faFaceGrinTongueWink: faFaceGrinTongueWink,\n faGrinTongueWink: faGrinTongueWink,\n faHandHolding: faHandHolding,\n faPlugCircleExclamation: faPlugCircleExclamation,\n faLinkSlash: faLinkSlash,\n faChainBroken: faChainBroken,\n faChainSlash: faChainSlash,\n faUnlink: faUnlink,\n faClone: faClone,\n faPersonWalkingArrowLoopLeft: faPersonWalkingArrowLoopLeft,\n faArrowUpZA: faArrowUpZA,\n faSortAlphaUpAlt: faSortAlphaUpAlt,\n faFireFlameCurved: faFireFlameCurved,\n faFireAlt: faFireAlt,\n faTornado: faTornado,\n faFileCirclePlus: faFileCirclePlus,\n faDeleteRight: faDeleteRight,\n faBookQuran: faBookQuran,\n faQuran: faQuran,\n faCircleQuarter: faCircleQuarter,\n faAnchor: faAnchor,\n faBorderAll: faBorderAll,\n faFunction: faFunction,\n faFaceAngry: faFaceAngry,\n faAngry: faAngry,\n faPeopleSimple: faPeopleSimple,\n faCookieBite: faCookieBite,\n faArrowTrendDown: faArrowTrendDown,\n faRss: faRss,\n faFeed: faFeed,\n faFaceMonocle: faFaceMonocle,\n faDrawPolygon: faDrawPolygon,\n faScaleBalanced: faScaleBalanced,\n faBalanceScale: faBalanceScale,\n faCalendarLines: faCalendarLines,\n faCalendarNote: faCalendarNote,\n faArrowDownBigSmall: faArrowDownBigSmall,\n faSortSizeDown: faSortSizeDown,\n faGaugeSimpleHigh: faGaugeSimpleHigh,\n faTachometer: faTachometer,\n faTachometerFast: faTachometerFast,\n faDoNotEnter: faDoNotEnter,\n faShower: faShower,\n faDiceD8: faDiceD8,\n faDesktop: faDesktop,\n faDesktopAlt: faDesktopAlt,\n faM: faM,\n faSpinnerScale: faSpinnerScale,\n faGripDotsVertical: faGripDotsVertical,\n faFaceViewfinder: faFaceViewfinder,\n faSoftServe: faSoftServe,\n faCreemee: faCreemee,\n faH5: faH5,\n faHandBackPointDown: faHandBackPointDown,\n faTableList: faTableList,\n faThList: faThList,\n faBasketShoppingMinus: faBasketShoppingMinus,\n faCommentSms: faCommentSms,\n faSms: faSms,\n faRectangle: faRectangle,\n faRectangleLandscape: faRectangleLandscape,\n faClipboardListCheck: faClipboardListCheck,\n faTurkey: faTurkey,\n faBook: faBook,\n faUserPlus: faUserPlus,\n faIceSkate: faIceSkate,\n faCheck: faCheck,\n faBatteryThreeQuarters: faBatteryThreeQuarters,\n faBattery4: faBattery4,\n faTomato: faTomato,\n faSwordLaser: faSwordLaser,\n faHouseCircleCheck: faHouseCircleCheck,\n faBuildings: faBuildings,\n faAngleLeft: faAngleLeft,\n faCartFlatbedBoxes: faCartFlatbedBoxes,\n faDollyFlatbedAlt: faDollyFlatbedAlt,\n faDiagramSuccessor: faDiagramSuccessor,\n faTruckArrowRight: faTruckArrowRight,\n faSquareW: faSquareW,\n faArrowsSplitUpAndLeft: faArrowsSplitUpAndLeft,\n faLamp: faLamp,\n faAirplay: faAirplay,\n faHandFist: faHandFist,\n faFistRaised: faFistRaised,\n faShieldQuartered: faShieldQuartered,\n faSlashForward: faSlashForward,\n faLocationPen: faLocationPen,\n faMapMarkerEdit: faMapMarkerEdit,\n faCloudMoon: faCloudMoon,\n faPotFood: faPotFood,\n faBriefcase: faBriefcase,\n faPersonFalling: faPersonFalling,\n faImagePortrait: faImagePortrait,\n faPortrait: faPortrait,\n faUserTag: faUserTag,\n faRug: faRug,\n faPrintSlash: faPrintSlash,\n faEarthEurope: faEarthEurope,\n faGlobeEurope: faGlobeEurope,\n faCartFlatbedSuitcase: faCartFlatbedSuitcase,\n faLuggageCart: faLuggageCart,\n faHandBackPointRibbon: faHandBackPointRibbon,\n faRectangleXmark: faRectangleXmark,\n faRectangleTimes: faRectangleTimes,\n faTimesRectangle: faTimesRectangle,\n faWindowClose: faWindowClose,\n faTireRugged: faTireRugged,\n faLightbulbDollar: faLightbulbDollar,\n faCowbell: faCowbell,\n faBahtSign: faBahtSign,\n faCorner: faCorner,\n faChevronsRight: faChevronsRight,\n faChevronDoubleRight: faChevronDoubleRight,\n faBookOpen: faBookOpen,\n faBookJournalWhills: faBookJournalWhills,\n faJournalWhills: faJournalWhills,\n faInhaler: faInhaler,\n faHandcuffs: faHandcuffs,\n faSnake: faSnake,\n faTriangleExclamation: faTriangleExclamation,\n faExclamationTriangle: faExclamationTriangle,\n faWarning: faWarning,\n faNoteMedical: faNoteMedical,\n faDatabase: faDatabase,\n faDownLeft: faDownLeft,\n faShare: faShare,\n faMailForward: faMailForward,\n faFaceThinking: faFaceThinking,\n faTurnDownRight: faTurnDownRight,\n faBottleDroplet: faBottleDroplet,\n faMaskFace: faMaskFace,\n faHillRockslide: faHillRockslide,\n faScannerKeyboard: faScannerKeyboard,\n faCircleO: faCircleO,\n faGridHorizontal: faGridHorizontal,\n faMessageDollar: faMessageDollar,\n faCommentAltDollar: faCommentAltDollar,\n faRightLeft: faRightLeft,\n faExchangeAlt: faExchangeAlt,\n faColumns3: faColumns3,\n faPaperPlane: faPaperPlane,\n faRoadCircleExclamation: faRoadCircleExclamation,\n faDungeon: faDungeon,\n faHandHoldingBox: faHandHoldingBox,\n faInputText: faInputText,\n faWindowFlip: faWindowFlip,\n faWindowAlt: faWindowAlt,\n faAlignRight: faAlignRight,\n faScannerGun: faScannerGun,\n faScanner: faScanner,\n faTire: faTire,\n faEngine: faEngine,\n faMoneyBill1Wave: faMoneyBill1Wave,\n faMoneyBillWaveAlt: faMoneyBillWaveAlt,\n faLifeRing: faLifeRing,\n faHands: faHands,\n faSignLanguage: faSignLanguage,\n faSigning: faSigning,\n faCircleCaretRight: faCircleCaretRight,\n faCaretCircleRight: faCaretCircleRight,\n faTurnLeft: faTurnLeft,\n faWheat: faWheat,\n faFileSpreadsheet: faFileSpreadsheet,\n faAudioDescriptionSlash: faAudioDescriptionSlash,\n faBellRing: faBellRing,\n faCalendarDay: faCalendarDay,\n faWaterLadder: faWaterLadder,\n faLadderWater: faLadderWater,\n faSwimmingPool: faSwimmingPool,\n faArrowsUpDown: faArrowsUpDown,\n faArrowsV: faArrowsV,\n faChessPawnPiece: faChessPawnPiece,\n faChessPawnAlt: faChessPawnAlt,\n faFaceGrimace: faFaceGrimace,\n faGrimace: faGrimace,\n faWheelchairMove: faWheelchairMove,\n faWheelchairAlt: faWheelchairAlt,\n faTurnDown: faTurnDown,\n faLevelDownAlt: faLevelDownAlt,\n faSquareS: faSquareS,\n faRectangleBarcode: faRectangleBarcode,\n faBarcodeAlt: faBarcodeAlt,\n faPersonWalkingArrowRight: faPersonWalkingArrowRight,\n faSquareEnvelope: faSquareEnvelope,\n faEnvelopeSquare: faEnvelopeSquare,\n faDice: faDice,\n faUnicorn: faUnicorn,\n faBowlingBall: faBowlingBall,\n faPompebled: faPompebled,\n faBrain: faBrain,\n faWatchSmart: faWatchSmart,\n faBookUser: faBookUser,\n faSensorCloud: faSensorCloud,\n faSensorSmoke: faSensorSmoke,\n faClapperboardPlay: faClapperboardPlay,\n faBandage: faBandage,\n faBandAid: faBandAid,\n faCalendarMinus: faCalendarMinus,\n faCircleXmark: faCircleXmark,\n faTimesCircle: faTimesCircle,\n faXmarkCircle: faXmarkCircle,\n faCircle4: faCircle4,\n faGifts: faGifts,\n faAlbumCollection: faAlbumCollection,\n faHotel: faHotel,\n faEarthAsia: faEarthAsia,\n faGlobeAsia: faGlobeAsia,\n faIdCardClip: faIdCardClip,\n faIdCardAlt: faIdCardAlt,\n faMagnifyingGlassPlus: faMagnifyingGlassPlus,\n faSearchPlus: faSearchPlus,\n faThumbsUp: faThumbsUp,\n faCloudShowers: faCloudShowers,\n faUserClock: faUserClock,\n faOnion: faOnion,\n faClockTwelveThirty: faClockTwelveThirty,\n faArrowDownToDottedLine: faArrowDownToDottedLine,\n faHandDots: faHandDots,\n faAllergies: faAllergies,\n faFileInvoice: faFileInvoice,\n faWindowMinimize: faWindowMinimize,\n faRectangleWide: faRectangleWide,\n faCommentArrowUp: faCommentArrowUp,\n faGarlic: faGarlic,\n faMugSaucer: faMugSaucer,\n faCoffee: faCoffee,\n faBrush: faBrush,\n faTreeDecorated: faTreeDecorated,\n faMask: faMask,\n faCalendarHeart: faCalendarHeart,\n faMagnifyingGlassMinus: faMagnifyingGlassMinus,\n faSearchMinus: faSearchMinus,\n faFlower: faFlower,\n faArrowDownFromArc: faArrowDownFromArc,\n faRightLeftLarge: faRightLeftLarge,\n faRulerVertical: faRulerVertical,\n faCirclesOverlap: faCirclesOverlap,\n faUserLarge: faUserLarge,\n faUserAlt: faUserAlt,\n faStarshipFreighter: faStarshipFreighter,\n faTrainTram: faTrainTram,\n faBridgeSuspension: faBridgeSuspension,\n faTrashCheck: faTrashCheck,\n faUserNurse: faUserNurse,\n faBoombox: faBoombox,\n faSyringe: faSyringe,\n faCloudSun: faCloudSun,\n faShieldExclamation: faShieldExclamation,\n faStopwatch20: faStopwatch20,\n faSquareFull: faSquareFull,\n faGripDots: faGripDots,\n faCommentExclamation: faCommentExclamation,\n faPenSwirl: faPenSwirl,\n faFalafel: faFalafel,\n faCircle2: faCircle2,\n faMagnet: faMagnet,\n faJar: faJar,\n faGramophone: faGramophone,\n faDiceD12: faDiceD12,\n faNoteSticky: faNoteSticky,\n faStickyNote: faStickyNote,\n faDown: faDown,\n faArrowAltDown: faArrowAltDown,\n faHundredPoints: faHundredPoints,\n fa100: fa100,\n faPaperclipVertical: faPaperclipVertical,\n faWindWarning: faWindWarning,\n faWindCircleExclamation: faWindCircleExclamation,\n faLocationPinSlash: faLocationPinSlash,\n faMapMarkerSlash: faMapMarkerSlash,\n faFaceSadSweat: faFaceSadSweat,\n faBugSlash: faBugSlash,\n faCupcake: faCupcake,\n faLightSwitchOff: faLightSwitchOff,\n faToggleLargeOff: faToggleLargeOff,\n faPenFancySlash: faPenFancySlash,\n faTruckContainer: faTruckContainer,\n faBoot: faBoot,\n faArrowUpFromWaterPump: faArrowUpFromWaterPump,\n faFileCheck: faFileCheck,\n faBone: faBone,\n faCardsBlank: faCardsBlank,\n faCircle3: faCircle3,\n faBenchTree: faBenchTree,\n faKeyboardBrightnessLow: faKeyboardBrightnessLow,\n faSkiBootSki: faSkiBootSki,\n faBrainCircuit: faBrainCircuit,\n faUserInjured: faUserInjured,\n faBlockBrickFire: faBlockBrickFire,\n faFirewall: faFirewall,\n faFaceSadTear: faFaceSadTear,\n faSadTear: faSadTear,\n faPlane: faPlane,\n faTentArrowsDown: faTentArrowsDown,\n faExclamation: faExclamation,\n faArrowsSpin: faArrowsSpin,\n faFaceSmileRelaxed: faFaceSmileRelaxed,\n faCommentXmark: faCommentXmark,\n faCommentTimes: faCommentTimes,\n faPrint: faPrint,\n faTurkishLiraSign: faTurkishLiraSign,\n faTry: faTry,\n faTurkishLira: faTurkishLira,\n faFaceNoseSteam: faFaceNoseSteam,\n faCircleWaveformLines: faCircleWaveformLines,\n faWaveformCircle: faWaveformCircle,\n faDollarSign: faDollarSign,\n faDollar: faDollar,\n faUsd: faUsd,\n faFerrisWheel: faFerrisWheel,\n faComputerSpeaker: faComputerSpeaker,\n faSkullCow: faSkullCow,\n faX: faX,\n faMagnifyingGlassDollar: faMagnifyingGlassDollar,\n faSearchDollar: faSearchDollar,\n faUsersGear: faUsersGear,\n faUsersCog: faUsersCog,\n faPersonMilitaryPointing: faPersonMilitaryPointing,\n faBuildingColumns: faBuildingColumns,\n faBank: faBank,\n faInstitution: faInstitution,\n faMuseum: faMuseum,\n faUniversity: faUniversity,\n faCircleT: faCircleT,\n faSack: faSack,\n faGrid2: faGrid2,\n faCameraCctv: faCameraCctv,\n faCctv: faCctv,\n faUmbrella: faUmbrella,\n faTrowel: faTrowel,\n faHorizontalRule: faHorizontalRule,\n faBedFront: faBedFront,\n faBedAlt: faBedAlt,\n faD: faD,\n faStapler: faStapler,\n faMasksTheater: faMasksTheater,\n faTheaterMasks: faTheaterMasks,\n faFileGif: faFileGif,\n faKipSign: faKipSign,\n faFaceWoozy: faFaceWoozy,\n faCloudQuestion: faCloudQuestion,\n faPineapple: faPineapple,\n faHandPointLeft: faHandPointLeft,\n faGalleryThumbnails: faGalleryThumbnails,\n faCircleJ: faCircleJ,\n faEyes: faEyes,\n faHandshakeSimple: faHandshakeSimple,\n faHandshakeAlt: faHandshakeAlt,\n faPageCaretUp: faPageCaretUp,\n faFileCaretUp: faFileCaretUp,\n faJetFighter: faJetFighter,\n faFighterJet: faFighterJet,\n faComet: faComet,\n faSquareShareNodes: faSquareShareNodes,\n faShareAltSquare: faShareAltSquare,\n faReflectVertical: faReflectVertical,\n faShieldKeyhole: faShieldKeyhole,\n faFileMp4: faFileMp4,\n faBarcode: faBarcode,\n faBulldozer: faBulldozer,\n faPlusMinus: faPlusMinus,\n faSquareSlidersVertical: faSquareSlidersVertical,\n faSlidersVSquare: faSlidersVSquare,\n faVideo: faVideo,\n faVideoCamera: faVideoCamera,\n faMessageMiddle: faMessageMiddle,\n faCommentMiddleAlt: faCommentMiddleAlt,\n faGraduationCap: faGraduationCap,\n faMortarBoard: faMortarBoard,\n faHandHoldingMedical: faHandHoldingMedical,\n faPersonCircleCheck: faPersonCircleCheck,\n faSquareZ: faSquareZ,\n faMessageText: faMessageText,\n faCommentAltText: faCommentAltText,\n faTurnUp: faTurnUp,\n faLevelUpAlt: faLevelUpAlt\n};\n\nexport { icons as fal, prefix, fa0, fa1, fa2, fa3, fa4, fa5, fa6, fa7, fa8, fa9, faFillDrip, faArrowsToCircle, faCircleChevronRight, faChevronCircleRight, faWagonCovered, faLineHeight, faBagel, faTransporter7, faAt, faRectanglesMixed, faPhoneArrowUpRight, faPhoneArrowUp, faPhoneOutgoing, faTrashCan, faTrashAlt, faCircleL, faHeadSideGoggles, faHeadVr, faTextHeight, faUserXmark, faUserTimes, faFaceHandYawn, faGaugeSimpleMin, faTachometerSlowest, faStethoscope, faCoffin, faMessage, faCommentAlt, faSalad, faBowlSalad, faInfo, faRobotAstromech, faRingDiamond, faFonduePot, faTheta, faFaceHandPeeking, faSquareUser, faDownLeftAndUpRightToCenter, faCompressAlt, faExplosion, faFileLines, faFileAlt, faFileText, faWaveSquare, faRing, faBuildingUn, faDiceThree, faTirePressureWarning, faWifiFair, faWifi2, faCalendarDays, faCalendarAlt, faMp3Player, faAnchorCircleCheck, faTally4, faRectangleHistory, faBuildingCircleArrowRight, faVolleyball, faVolleyballBall, faSunHaze, faTextSize, faUfo, faFork, faUtensilFork, faArrowsUpToLine, faMobileSignal, faBarcodeScan, faSortDown, faSortDesc, faFolderArrowDown, faFolderDownload, faCircleMinus, faMinusCircle, faFaceIcicles, faShovel, faDoorOpen, faFilms, faRightFromBracket, faSignOutAlt, faFaceGlasses, faNfc, faAtom, faSoap, faIcons, faHeartMusicCameraBolt, faMicrophoneLinesSlash, faMicrophoneAltSlash, faClosedCaptioningSlash, faCalculatorSimple, faCalculatorAlt, faBridgeCircleCheck, faSlidersUp, faSlidersV, faLocationMinus, faMapMarkerMinus, faPumpMedical, faFingerprint, faSkiBoot, faStandardDefinition, faRectangleSd, faH1, faHandPointRight, faMagnifyingGlassLocation, faSearchLocation, faMessageBot, faForwardStep, faStepForward, faFaceSmileBeam, faSmileBeam, faLightCeiling, faMessageExclamation, faCommentAltExclamation, faBowlScoop, faBowlShavedIce, faSquareX, faBuildingMemo, faUtilityPoleDouble, faFlagCheckered, faChevronsUp, faChevronDoubleUp, faFootball, faFootballBall, faUserVneck, faSchoolCircleExclamation, faCrop, faAnglesDown, faAngleDoubleDown, faUsersRectangle, faPeopleRoof, faSquareArrowRight, faArrowSquareRight, faLocationPlus, faMapMarkerPlus, faLightbulbExclamationOn, faPeopleLine, faBeerMugEmpty, faBeer, faCrateEmpty, faDiagramPredecessor, faTransporter, faCalendarCircleUser, faArrowUpLong, faLongArrowUp, faPersonCarryBox, faPersonCarry, faFireFlameSimple, faBurn, faPerson, faMale, faLaptop, faFileCsv, faMenorah, faUnion, faChevronsLeft, faChevronDoubleLeft, faCircleHeart, faHeartCircle, faTruckPlane, faRecordVinyl, faBringForward, faSquareP, faFaceGrinStars, faGrinStars, faSigma, faCameraMovie, faBong, faClarinet, faTruckFlatbed, faSpaghettiMonsterFlying, faPastafarianism, faArrowDownUpAcrossLine, faArrowsRotateReverse, faLeafHeart, faHouseBuilding, faCheeseSwiss, faSpoon, faUtensilSpoon, faJarWheat, faEnvelopesBulk, faMailBulk, faFileCircleExclamation, faBowArrow, faCartXmark, faHexagonXmark, faTimesHexagon, faXmarkHexagon, faCircleH, faHospitalSymbol, faMerge, faPager, faCartMinus, faAddressBook, faContactBook, faPanFrying, faGrid, faGrid3, faFootballHelmet, faHandLove, faTrees, faStrikethrough, faPage, faK, faDiagramPrevious, faGaugeMin, faTachometerAltSlowest, faFolderGrid, faEggplant, faExcavator, faRam, faLandmarkFlag, faLips, faPencil, faPencilAlt, faBackward, faCaretRight, faComments, faPaste, faFileClipboard, faDesktopArrowDown, faCodePullRequest, faPumpkin, faClipboardList, faPenField, faBlueberries, faTruckRampBox, faTruckLoading, faNote, faArrowDownToSquare, faUserCheck, faCloudXmark, faVialVirus, faBookBlank, faBookAlt, faGolfFlagHole, faMessageArrowDown, faCommentAltArrowDown, faFaceUnamused, faSheetPlastic, faCircle9, faBlog, faUserNinja, faPencilSlash, faBowlingPins, faPersonArrowUpFromLine, faDownRight, faScrollTorah, faTorah, faWebhook, faBlindsOpen, faFence, faUp, faArrowAltUp, faBroomBall, faQuidditch, faQuidditchBroomBall, faDrumstick, faSquareV, faFaceAwesome, faGaveDandy, faDialOff, faToggleOff, faFaceSmileHorns, faBoxArchive, faArchive, faGrapes, faPersonDrowning, faDialMax, faCircleM, faCalendarImage, faCircleCaretDown, faCaretCircleDown, faArrowDown91, faSortNumericDesc, faSortNumericDownAlt, faFaceGrinTongueSquint, faGrinTongueSquint, faShishKebab, faSprayCan, faAlarmSnooze, faScarecrow, faTruckMonster, faGiftCard, faW, faCodePullRequestDraft, faSquareB, faElephant, faEarthAfrica, faGlobeAfrica, faRainbow, faCircleNotch, faTabletScreenButton, faTabletAlt, faPaw, faMessageQuestion, faCloud, faTrowelBricks, faSquare3, faFaceFlushed, faFlushed, faHospitalUser, faMicrowave, faChfSign, faTentArrowLeftRight, faCartCircleArrowUp, faTrashClock, faReflectBoth, faGavel, faLegal, faSprinklerCeiling, faBrowsers, faTrillium, faMusicSlash, faTruckRamp, faBinoculars, faMicrophoneSlash, faBoxTissue, faCircleC, faStarChristmas, faChartBullet, faMotorcycle, faTreeChristmas, faTireFlat, faSunglasses, faBadge, faMessagePen, faCommentAltEdit, faMessageEdit, faBellConcierge, faConciergeBell, faPenRuler, faPencilRuler, faFileMp3, faArrowProgress, faChessRookPiece, faChessRookAlt, faSquareRoot, faAlbumCollectionCirclePlus, faPeopleArrows, faPeopleArrowsLeftRight, faSignPost, faFaceAngryHorns, faMarsAndVenusBurst, faTombstone, faSquareCaretRight, faCaretSquareRight, faScissors, faCut, faListMusic, faSunPlantWilt, faToiletsPortable, faHockeyPuck, faMustache, faHyphen, faTable, faUserChef, faMessageImage, faCommentAltImage, faUsersMedical, faSensorTriangleExclamation, faSensorAlert, faMagnifyingGlassArrowRight, faTachographDigital, faDigitalTachograph, faFaceMask, faPickleball, faStarSharpHalf, faUsersSlash, faClover, faMeat, faReply, faMailReply, faStarAndCrescent, faEmptySet, faHouseFire, faSquareMinus, faMinusSquare, faHelicopter, faBird, faCompass, faSquareCaretDown, faCaretSquareDown, faHeartHalfStroke, faHeartHalfAlt, faFileCircleQuestion, faTruckUtensils, faLaptopCode, faJoystick, faGrillFire, faRectangleVerticalHistory, faSwatchbook, faPrescriptionBottle, faBars, faNavicon, faKeyboardLeft, faPeopleGroup, faHourglassEnd, faHourglass3, faHeartCrack, faHeartBroken, faFaceBeamHandOverMouth, faDropletPercent, faHumidity, faSquareUpRight, faExternalLinkSquareAlt, faFaceKissBeam, faKissBeam, faCorn, faRollerCoaster, faPhotoFilmMusic, faRadar, faSickle, faFilm, faCoconut, faRulerHorizontal, faShieldCross, faCassetteTape, faSquareTerminal, faPeopleRobbery, faLightbulb, faCaretLeft, faCommentMiddle, faTrashCanList, faBlock, faCircleExclamation, faExclamationCircle, faSchoolCircleXmark, faArrowRightFromBracket, faSignOut, faFaceFrownSlight, faCircleChevronDown, faChevronCircleDown, faSidebarFlip, faUnlockKeyhole, faUnlockAlt, faTemperatureList, faCloudShowersHeavy, faHeadphonesSimple, faHeadphonesAlt, faSitemap, faPipeSection, faSpaceStationMoonConstruction, faSpaceStationMoonAlt, faCircleDollarToSlot, faDonate, faMemory, faFaceSleeping, faRoadSpikes, faFireBurner, faSquirrel, faArrowUpToLine, faArrowToTop, faFlag, faFaceCowboyHat, faHanukiah, faChartScatter3d, faDisplayChartUp, faSquareCode, faFeather, faVolumeLow, faVolumeDown, faXmarkToSlot, faTimesToSlot, faVoteNay, faBoxTaped, faBoxAlt, faCommentSlash, faSwords, faCloudSunRain, faAlbum, faCircleN, faCompress, faWheatAwn, faWheatAlt, faAnkh, faHandsHoldingChild, faAsterisk, faKeySkeletonLeftRight, faCommentLines, faLuchadorMask, faLuchador, faMaskLuchador, faSquareCheck, faCheckSquare, faShredder, faBookOpenCover, faBookOpenAlt, faSandwich, faPesetaSign, faSquareParkingSlash, faParkingSlash, faTrainTunnel, faHeading, faHeader, faGhost, faFaceAnguished, faHockeySticks, faAbacus, faFilmSimple, faFilmAlt, faList, faListSquares, faTreePalm, faSquarePhoneFlip, faPhoneSquareAlt, faCartPlus, faGamepad, faBorderCenterV, faCircleDot, faDotCircle, faClipboardMedical, faFaceDizzy, faDizzy, faEgg, faUpToLine, faArrowAltToTop, faHouseMedicalCircleXmark, faWatchFitness, faClockNineThirty, faCampground, faFolderPlus, faJug, faFutbol, faFutbolBall, faSoccerBall, faSnowBlowing, faPaintbrush, faPaintBrush, faLock, faArrowDownFromLine, faArrowFromTop, faGasPump, faSignalBarsSlash, faSignalAltSlash, faMonkey, faRectanglePro, faPro, faHouseNight, faHotTubPerson, faHotTub, faGlobePointer, faBlanket, faMapLocation, faMapMarked, faHouseFloodWater, faCommentsQuestionCheck, faTree, faArrowsCross, faBackpack, faSquareSmall, faFolderArrowUp, faFolderUpload, faBridgeLock, faCrosshairsSimple, faSackDollar, faPenToSquare, faEdit, faSquareSliders, faSlidersHSquare, faCarSide, faMessageMiddleTop, faCommentMiddleTopAlt, faLightbulbOn, faKnife, faUtensilKnife, faShareNodes, faShareAlt, faDisplayChartUpCircleDollar, faWaveSine, faHeartCircleMinus, faCircleW, faCircleCalendar, faCalendarCircle, faHourglassHalf, faHourglass2, faMicroscope, faSunset, faSink, faCalendarExclamation, faTruckContainerEmpty, faHandHeart, faBagShopping, faShoppingBag, faArrowDownZA, faSortAlphaDesc, faSortAlphaDownAlt, faMitten, faReplyClock, faReplyTime, faPersonRays, faRight, faArrowAltRight, faCircleF, faUsers, faFacePleading, faEyeSlash, faFlaskVial, faPoliceBox, faCucumber, faHeadSideBrain, faHand, faHandPaper, faPersonBikingMountain, faBikingMountain, faUtensilsSlash, faPrintMagnifyingGlass, faPrintSearch, faTurnRight, faFolderBookmark, faArrowTurnLeftDown, faOm, faPi, faFlaskRoundPotion, faFlaskPotion, faFaceShush, faWorm, faHouseCircleXmark, faPlug, faCalendarCircleExclamation, faSquareI, faChevronUp, faFaceSaluting, faGaugeSimpleLow, faTachometerSlow, faFacePersevering, faCircleCamera, faCameraCircle, faHandSpock, faSpiderWeb, faCircleMicrophone, faMicrophoneCircle, faBookArrowUp, faPopsicle, faCommand, faBlinds, faStopwatch, faSaxophone, faSquare2, faFieldHockeyStickBall, faFieldHockey, faArrowUpSquareTriangle, faSortShapesUpAlt, faFaceScream, faSquareM, faCameraWeb, faWebcam, faCommentArrowDown, faLightbulbCfl, faWindowFrameOpen, faFaceKiss, faKiss, faBridgeCircleXmark, faPeriod, faFaceGrinTongue, faGrinTongue, faUpToDottedLine, faThoughtBubble, faSkeletonRibs, faRaygun, faFlute, faAcorn, faVideoArrowUpRight, faGrateDroplet, faSealExclamation, faChessBishop, faMessageSms, faCoffeeBeans, faHatWitch, faFaceGrinWink, faGrinWink, faClockThreeThirty, faEarDeaf, faDeaf, faDeafness, faHardOfHearing, faAlarmClock, faEclipse, faFaceRelieved, faRoadCircleCheck, faDiceFive, faOctagonMinus, faMinusOctagon, faSquareRss, faRssSquare, faFaceZany, faTricycle, faLandMineOn, faSquareArrowUpLeft, faICursor, faChartMixedUpCircleDollar, faSaltShaker, faStamp, faFilePlus, faDrawSquare, faToiletPaperUnderSlash, faToiletPaperReverseSlash, faStairs, faDroneFront, faDroneAlt, faGlassEmpty, faDialHigh, faUserHelmetSafety, faUserConstruction, faUserHardHat, faI, faHryvniaSign, faHryvnia, faArrowDownLeftAndArrowUpRightToCenter, faPills, faFaceGrinWide, faGrinAlt, faTooth, faBasketballHoop, faObjectsAlignBottom, faV, faSparkles, faSquid, faLeafyGreen, faCircleArrowUpRight, faCalendars, faBangladeshiTakaSign, faBicycle, faHammerWar, faCircleD, faSpiderBlackWidow, faStaffSnake, faRodAsclepius, faRodSnake, faStaffAesculapius, faPear, faHeadSideCoughSlash, faFileMov, faTriangle, faApartment, faTruckMedical, faAmbulance, faPepper, faPiano, faGunSquirt, faWheatAwnCircleExclamation, faSnowman, faUserAlien, faShieldCheck, faMortarPestle, faRoadBarrier, faChartCandlestick, faBriefcaseBlank, faSchool, faIgloo, faBracketRound, faParenthesis, faJoint, faHorseSaddle, faMugMarshmallows, faFilters, faBellOn, faAngleRight, faDialMed, faHorse, faQ, faMonitorWaveform, faMonitorHeartRate, faLinkSimple, faWhistle, faG, faWineGlassCrack, faFragile, faSlotMachine, faNotesMedical, faCarWash, faEscalator, faCommentImage, faTemperatureHalf, faTemperature2, faThermometer2, faThermometerHalf, faDongSign, faDonut, faDoughnut, faCapsules, faPooStorm, faPooBolt, faTally1, faFileVector, faFaceFrownOpen, faFrownOpen, faSquareDashed, faBagShoppingPlus, faSquareJ, faHandPointUp, faMoneyBill, faArrowUpBigSmall, faSortSizeUp, faBarcodeRead, faBaguette, faBowlSoftServe, faFaceHoldingBackTears, faSquareUp, faArrowAltSquareUp, faTrainSubwayTunnel, faSubwayTunnel, faSquareExclamation, faExclamationSquare, faSemicolon, faBookmark, faFanTable, faAlignJustify, faBatteryLow, faBattery1, faCreditCardFront, faBrainArrowCurvedRight, faMindShare, faUmbrellaBeach, faHelmetUn, faLocationSmile, faMapMarkerSmile, faArrowLeftToLine, faArrowToLeft, faBullseye, faSushi, faNigiri, faMessageCaptions, faCommentAltCaptions, faTrashList, faBacon, faOption, faRaccoon, faHandPointDown, faArrowUpFromBracket, faHeadSideGear, faTrashPlus, faFileCad, faObjectsAlignTop, faFolder, faFolderBlank, faFaceAnxiousSweat, faCreditCardBlank, faFileWaveform, faFileMedicalAlt, faMicrochipAi, faMug, faPlaneUpSlash, faRadiation, faPenCircle, faBagSeedling, faChartSimple, faCrutches, faCircleParking, faParkingCircle, faMarsStroke, faLeafOak, faSquareBolt, faVial, faGauge, faDashboard, faGaugeMed, faTachometerAltAverage, faWandMagicSparkles, faMagicWandSparkles, faLambda, faE, faPizza, faBowlChopsticksNoodles, faH3, faPenClip, faPenAlt, faBridgeCircleExclamation, faBadgePercent, faRotateReverse, faUser, faSensor, faComma, faSchoolCircleCheck, faToiletPaperUnder, faToiletPaperReverse, faLightEmergency, faArrowDownToArc, faDumpster, faVanShuttle, faShuttleVan, faBuildingUser, faLightSwitch, faSquareCaretLeft, faCaretSquareLeft, faHighlighter, faWavePulse, faHeartRate, faKey, faArrowLeftToBracket, faHatSanta, faTamale, faBoxCheck, faBullhorn, faSteak, faLocationCrosshairsSlash, faLocationSlash, faPersonDolly, faGlobe, faSynagogue, faFileChartColumn, faFileChartLine, faPersonHalfDress, faFolderImage, faCalendarPen, faCalendarEdit, faRoadBridge, faFaceSmileTear, faMessagePlus, faCommentAltPlus, faLocationArrow, faC, faTabletButton, faPersonDressFairy, faRectangleHistoryCircleUser, faBuildingLock, faChartLineUp, faMailbox, faSignPosts, faTruckBolt, faPizzaSlice, faMoneyBillWave, faChartArea, faAreaChart, faHouseFlag, faCircleThreeQuartersStroke, faPersonCircleMinus, faScalpel, faBan, faCancel, faBellExclamation, faCircleBookmark, faBookmarkCircle, faEggFried, faFaceWeary, faUniformMartialArts, faCameraRotate, faSunDust, faCommentText, faSprayCanSparkles, faAirFreshener, faSignalBars, faSignalAlt, faSignalAlt4, faSignalBarsStrong, faDiamondExclamation, faStar, faDialMin, faRepeat, faCross, faPageCaretDown, faFileCaretDown, faBox, faVenusMars, faClockSevenThirty, faArrowPointer, faMousePointer, faClockFourThirty, faSignalBarsGood, faSignalAlt3, faCactus, faLightbulbGear, faMaximize, faExpandArrowsAlt, faChargingStation, faShapes, faTriangleCircleSquare, faPlaneTail, faGaugeSimpleMax, faTachometerFastest, faCircleU, faShieldSlash, faSquarePhoneHangup, faPhoneSquareDown, faArrowUpLeft, faTransporter1, faPeanuts, faShuffle, faRandom, faPersonRunning, faRunning, faMobileRetro, faGripLinesVertical, faBinBottlesRecycle, faArrowUpFromSquare, faFileDashedLine, faPageBreak, faBracketCurlyRight, faSpider, faClockThree, faHandsBound, faScalpelLineDashed, faScalpelPath, faFileInvoiceDollar, faPipeSmoking, faFaceAstonished, faWindow, faPlaneCircleExclamation, faEar, faFileLock, faDiagramVenn, faArrowDownFromBracket, faXRay, faGoalNet, faCoffinCross, faSpellCheck, faLocationXmark, faMapMarkerTimes, faMapMarkerXmark, faCircleQuarterStroke, faLasso, faSlash, faPersonToPortal, faPortalEnter, faCalendarStar, faComputerMouse, faMouse, faArrowRightToBracket, faSignIn, faPegasus, faFilesMedical, faCannon, faNfcLock, faPersonSkiLift, faSkiLift, faSquare6, faShopSlash, faStoreAltSlash, faWindTurbine, faSlidersSimple, faGridRound, faBadgeSheriff, faServer, faVirusCovidSlash, faIntersection, faShopLock, faFamily, faHourglassStart, faHourglass1, faUserHairBuns, faBlenderPhone, faHourglassClock, faPersonSeatReclined, faPaperPlaneTop, faPaperPlaneAlt, faSend, faMessageArrowUp, faCommentAltArrowUp, faLightbulbExclamation, faLayerMinus, faLayerGroupMinus, faChartPieSimpleCircleCurrency, faCircleE, faBuildingWheat, faGaugeMax, faTachometerAltFastest, faPersonBreastfeeding, faApostrophe, faFilePng, faFireHydrant, faRightToBracket, faSignInAlt, faVideoPlus, faSquareRight, faArrowAltSquareRight, faCommentSmile, faVenus, faPassport, faInboxIn, faInboxArrowDown, faHeartPulse, faHeartbeat, faCircle8, faCloudsMoon, faClockTenThirty, faPeopleCarryBox, faPeopleCarry, faFolderUser, faTrashCanXmark, faTemperatureHigh, faMicrochip, faLeftLongToLine, faCrown, faWeightHanging, faXmarksLines, faFilePrescription, faTableCellsLock, faCalendarRange, faFlowerDaffodil, faHandBackPointUp, faWeightScale, faWeight, faArrowUpToArc, faStarExclamation, faBooks, faUserGroup, faUserFriends, faArrowUpAZ, faSortAlphaUp, faLayerPlus, faLayerGroupPlus, faPlayPause, faBlockQuestion, faSnooze, faZzz, faScannerImage, faTvRetro, faSquareT, faFarm, faBarnSilo, faChessKnight, faBarsSort, faPalletBoxes, faPaletteBoxes, faPalletAlt, faFaceLaughSquint, faLaughSquint, faCodeSimple, faBoltSlash, faPanelFire, faBinaryCircleCheck, faCommentMinus, faBurrito, faViolin, faObjectsColumn, faSquareChevronDown, faChevronSquareDown, faCommentPlus, faTriangleInstrument, faTriangleMusic, faWheelchair, faUserPilotTie, faPianoKeyboard, faBedEmpty, faCircleArrowUp, faArrowCircleUp, faToggleOn, faRectangleVertical, faRectanglePortrait, faPersonWalking, faWalking, faL, faSignalStream, faDownToBracket, faCircleZ, faStars, faFire, faBedPulse, faProcedures, faHouseDay, faShuttleSpace, faSpaceShuttle, faShirtLongSleeve, faChartPieSimple, faChartPieAlt, faFaceLaugh, faLaugh, faFolderOpen, faAlbumCollectionCircleUser, faCandy, faBowlHot, faSoup, faFlatbread, faHeartCirclePlus, faCodeFork, faCity, faSignalBarsWeak, faSignalAlt1, faMicrophoneLines, faMicrophoneAlt, faClockTwelve, faPepperHot, faCitrusSlice, faSheep, faUnlock, faColonSign, faHeadset, faBadgerHoney, faH4, faStoreSlash, faRoadCircleXmark, faSignalSlash, faUserMinus, faMarsStrokeUp, faMarsStrokeV, faChampagneGlasses, faGlassCheers, faTaco, faHexagonPlus, faPlusHexagon, faClipboard, faHouseCircleExclamation, faFileArrowUp, faFileUpload, faWifi, faWifi3, faWifiStrong, faMessages, faCommentsAlt, faBath, faBathtub, faUmbrellaSimple, faUmbrellaAlt, faRectangleHistoryCirclePlus, faUnderline, faPrescriptionBottlePill, faUserPen, faUserEdit, faBinarySlash, faSquareO, faCaduceus, faSignature, faStroopwafel, faBold, faAnchorLock, faBuildingNgo, faTransporter3, faEngineWarning, faEngineExclamation, faCircleDownRight, faSquareK, faManatSign, faMoneyCheckPen, faMoneyCheckEdit, faNotEqual, faBorderTopLeft, faBorderStyle, faMapLocationDot, faMapMarkedAlt, faTilde, faJedi, faSquarePollVertical, faPoll, faArrowDownSquareTriangle, faSortShapesDownAlt, faMugHot, faDogLeashed, faCarBattery, faBatteryCar, faFaceDowncastSweat, faMailboxFlagUp, faMemoCircleInfo, faGift, faDiceTwo, faVolume, faVolumeMedium, faTransporter5, faGaugeCircleBolt, faCoinFront, faFileSlash, faMessageArrowUpRight, faTreasureChest, faChessQueen, faPaintbrushFine, faPaintBrushAlt, faPaintBrushFine, faPaintbrushAlt, faGlasses, faHoodCloak, faSquareQuote, faUpLeft, faBringFront, faChessBoard, faBurgerCheese, faCheeseburger, faBuildingCircleCheck, faRepeat1, faArrowDownToLine, faArrowToBottom, faGrid5, faSwapArrows, faRightLongToLine, faPersonChalkboard, faMarsStrokeRight, faMarsStrokeH, faHandBackFist, faHandRock, faGridRound5, faTally, faTally5, faSquareCaretUp, faCaretSquareUp, faCloudShowersWater, faChartBar, faBarChart, faHandsBubbles, faHandsWash, faLessThanEqual, faTrain, faUpFromDottedLine, faEyeLowVision, faLowVision, faTrafficLightGo, faFaceExhaling, faSensorFire, faUserUnlock, faHexagonDivide, fa00, faCrow, faCassetteBetamax, faBetamax, faSailboat, faWindowRestore, faNfcMagnifyingGlass, faFileBinary, faCircleV, faSquarePlus, faPlusSquare, faBowlScoops, faMistletoe, faCustard, faLacrosseStick, faHockeyMask, faSunrise, faSubtitles, faPanelEws, faToriiGate, faCloudExclamation, faMessageLines, faCommentAltLines, faFrog, faBucket, faFloppyDiskPen, faImage, faWindowFrame, faMicrophone, faCow, faFileZip, faSquareRing, faDownFromLine, faArrowAltFromTop, faCaretUp, faShieldXmark, faShieldTimes, faScrewdriver, faCircleSortDown, faSortCircleDown, faFolderClosed, faHouseTsunami, faSquareNfi, faForklift, faArrowUpFromGroundWater, faBracketSquareRight, faMartiniGlass, faGlassMartiniAlt, faRotateLeft, faRotateBack, faRotateBackward, faUndoAlt, faTableColumns, faColumns, faSquareA, faTick, faLemon, faHeadSideMask, faHandshake, faGem, faDolly, faDollyBox, faSmoking, faMinimize, faCompressArrowsAlt, faRefrigerator, faMonument, faOctagonXmark, faTimesOctagon, faXmarkOctagon, faAlignSlash, faSnowplow, faAnglesRight, faAngleDoubleRight, faTruckRampCouch, faTruckCouch, faCannabis, faCirclePlay, faPlayCircle, faArrowUpRightAndArrowDownLeftFromCenter, faLocationArrowUp, faTablets, fa360Degrees, faEthernet, faEuroSign, faEur, faEuro, faChair, faCircleCheck, faCheckCircle, faSquareDashedCirclePlus, faHandHoldingCircleDollar, faMoneySimpleFromBracket, faBat, faCircleStop, faStopCircle, faHeadSideHeadphones, faPhoneRotary, faArrowUpToBracket, faCompassDrafting, faDraftingCompass, faPlateWheat, faCalendarCircleMinus, faChopsticks, faCarWrench, faCarMechanic, faIcicles, faPersonShelter, faNeuter, faIdBadge, faKazoo, faMarker, faBinBottles, faFaceLaughBeam, faLaughBeam, faSquareArrowDownLeft, faBatteryBolt, faTreeLarge, faHelicopterSymbol, faAperture, faUniversalAccess, faGearComplex, faFileMagnifyingGlass, faFileSearch, faUpRight, faCircleChevronUp, faChevronCircleUp, faUserPolice, faLariSign, faVolcano, faTeddyBear, faStocking, faPersonWalkingDashedLineArrowRight, faImageSlash, faMaskSnorkel, faSmoke, faSterlingSign, faGbp, faPoundSign, faBatteryExclamation, faViruses, faSquarePersonConfined, faUserTie, faUpToBracket, faArrowDownLong, faLongArrowDown, faTentArrowDownToLine, faCertificate, faCrystalBall, faReplyAll, faMailReplyAll, faSuitcase, faPersonSkating, faSkating, faStarShooting, faBinaryLock, faFilterCircleDollar, faFunnelDollar, faCameraRetro, faCircleArrowDown, faArrowCircleDown, faCommentPen, faCommentEdit, faFileImport, faArrowRightToFile, faBanjo, faSquareArrowUpRight, faExternalLinkSquare, faLightEmergencyOn, faKerning, faBoxOpen, faSquareF, faScroll, faSpa, faArrowLeftFromLine, faArrowFromRight, faStrawberry, faLocationPinLock, faPause, faClockEightThirty, faPlaneEngines, faPlaneAlt, faHillAvalanche, faTemperatureEmpty, faTemperature0, faThermometer0, faThermometerEmpty, faBomb, faGaugeLow, faTachometerAltSlow, faRegistered, faTrashCanPlus, faAddressCard, faContactCard, faVcard, faScaleUnbalancedFlip, faBalanceScaleRight, faGlobeSnow, faSubscript, faDiamondTurnRight, faDirections, faIntegral, faBurst, faHouseLaptop, faLaptopHouse, faFaceTired, faTired, faMoneyBills, faBlindsRaised, faSmog, faUfoBeam, faCircleCaretUp, faCaretCircleUp, faUserVneckHairLong, faSquareALock, faCrutch, faGasPumpSlash, faFontAwesome, faFontAwesomeFlag, faFontAwesomeLogoFull, faCloudArrowUp, faCloudUpload, faCloudUploadAlt, faPalette, faTransporter4, faChartMixedUpCircleCurrency, faObjectsAlignRight, faArrowsTurnRight, faVest, faPig, faInboxFull, faCircleEnvelope, faEnvelopeCircle, faTrianglePersonDigging, faConstruction, faFerry, faBullseyeArrow, faArrowsDownToPeople, faSeedling, faSprout, faClockSeven, faLeftRight, faArrowsAltH, faBoxesPacking, faCircleArrowLeft, faArrowCircleLeft, faFlashlight, faFileJpg, faGroupArrowsRotate, faBowlFood, faSquare9, faCandyCane, faArrowDownWideShort, faSortAmountAsc, faSortAmountDown, faSquareDollar, faDollarSquare, faUsdSquare, faPhoneArrowRight, faHandHoldingSeedling, faMessageCheck, faCommentAltCheck, faCloudBolt, faThunderstorm, faChartLineUpDown, faTextSlash, faRemoveFormat, faWatch, faCircleDownLeft, faText, faProjector, faFaceSmileWink, faSmileWink, faTombstoneBlank, faTombstoneAlt, faChessKingPiece, faChessKingAlt, faCircle6, faWavesSine, faLeft, faArrowAltLeft, faFileWord, faFilePowerpoint, faSquareDown, faArrowAltSquareDown, faObjectsAlignCenterVertical, faArrowsLeftRight, faArrowsH, faHouseLock, faCloudArrowDown, faCloudDownload, faCloudDownloadAlt, faWreath, faChildren, faMeterDroplet, faChalkboard, faBlackboard, faUserLargeSlash, faUserAltSlash, faSignalStrong, faSignal4, faLollipop, faLollypop, faListTree, faEnvelopeOpen, faDrawCircle, faCatSpace, faHandshakeSimpleSlash, faHandshakeAltSlash, faRabbitRunning, faRabbitFast, faMemoPad, faMattressPillow, faAlarmPlus, faAlicorn, faCommentQuestion, faGingerbreadMan, faGuaraniSign, faBurgerFries, faMugTea, faBorderTop, faArrowsRotate, faRefresh, faSync, faCircleBookOpen, faBookCircle, faArrowsToDottedLine, faFireExtinguisher, faMagnifyingGlassArrowsRotate, faGarageOpen, faShelvesEmpty, faCruzeiroSign, faWatchApple, faWatchCalculator, faListDropdown, faCabinetFiling, faBurgerSoda, faSquareArrowUp, faArrowSquareUp, faGreaterThanEqual, faPalletBox, faFaceConfounded, faShieldHalved, faShieldAlt, faTruckPlow, faBookAtlas, faAtlas, faVirus, faGridRound2, faCommentMiddleTop, faWave, faEnvelopeCircleCheck, faLayerGroup, faRestroomSimple, faArrowsToDot, faBorderOuter, faHashtagLock, faClockTwoThirty, faArchway, faHeartCircleCheck, faHouseChimneyCrack, faHouseDamage, faFileZipper, faFileArchive, faTicketPerforated, faHeartHalf, faCommentCheck, faSquare, faMemo, faMartiniGlassEmpty, faGlassMartini, faCouch, faCediSign, faItalic, faGlassCitrus, faCalendarLinesPen, faTableCellsColumnLock, faChurch, faPersonSnowmobiling, faSnowmobile, faFaceHushed, faCommentsDollar, faTicketsSimple, faPickaxe, faLinkSimpleSlash, faDemocrat, faFaceConfused, faPinball, faZ, faPersonSkiing, faSkiing, faDeer, faInputPipe, faRoadLock, faA, faBookmarkSlash, faTemperatureArrowDown, faTemperatureDown, faMace, faFeatherPointed, faFeatherAlt, faSausage, faTrashCanClock, faP, faBroomWide, faSnowflake, faStomach, faNewspaper, faRectangleAd, faAd, faGuitarElectric, faArrowTurnDownRight, faMoonCloud, faBreadSliceButter, faCircleArrowRight, faArrowCircleRight, faUserGroupCrown, faUsersCrown, faCircleI, faToiletPaperCheck, faFilterCircleXmark, faLocust, faSort, faUnsorted, faListOl, faList12, faListNumeric, faChartWaterfall, faSparkle, faFaceParty, faKidneys, faWifiExclamation, faChartNetwork, faPersonDressBurst, faDiceD4, faMoneyCheckDollar, faMoneyCheckAlt, faVectorSquare, faBreadSlice, faLanguage, faWheatAwnSlash, faFaceKissWinkHeart, faKissWinkHeart, faDagger, faPodium, faMemoCircleCheck, faRouteHighway, faDownToLine, faArrowAltToBottom, faFilter, faSquareG, faCirclePhone, faPhoneCircle, faClipboardPrescription, faUserNurseHair, faQuestion, faFileSignature, faToggleLargeOn, faUpDownLeftRight, faArrowsAlt, faDryerHeat, faDryerAlt, faHouseChimneyUser, faHandHoldingHeart, faArrowUpSmallBig, faSortSizeUpAlt, faTrainTrack, faPuzzlePiece, faMoneyCheck, faStarHalfStroke, faStarHalfAlt, faFileExclamation, faCode, faWhiskeyGlass, faGlassWhiskey, faMoonStars, faBuildingCircleExclamation, faClothesHanger, faMobileNotch, faMobileIphone, faMagnifyingGlassChart, faArrowUpRightFromSquare, faExternalLink, faCubesStacked, faImagesUser, faWonSign, faKrw, faWon, faImagePolaroidUser, faVirusCovid, faSquareEllipsis, faPie, faChessKnightPiece, faChessKnightAlt, faAustralSign, faCloudPlus, faF, faLeaf, faBedBunk, faRoad, faTaxi, faCab, faPersonCirclePlus, faChartPie, faPieChart, faBoltLightning, faClockEight, faSackXmark, faFileXls, faFileExcel, faFileContract, faFishFins, faCircleQ, faBuildingFlag, faFaceGrinBeam, faGrinBeam, faObjectUngroup, faFaceDisguise, faCircleArrowDownRight, faAlien8bit, faAlienMonster, faHandPointRibbon, faPoop, faObjectExclude, faTelescope, faLocationPin, faMapMarker, faSquareList, faKaaba, faToiletPaper, faHelmetSafety, faHardHat, faHatHard, faCommentCode, faSimCards, faStarship, faEject, faCircleRight, faArrowAltCircleRight, faPlaneCircleCheck, faSeal, faUserCowboy, faHexagonVerticalNft, faFaceRollingEyes, faMehRollingEyes, faBreadLoaf, faRingsWedding, faObjectGroup, faFrenchFries, faChartLine, faLineChart, faCalendarArrowDown, faCalendarDownload, faSendBack, faMaskVentilator, faTickets, faSignatureLock, faArrowRight, faSignsPost, faMapSigns, faOctagonPlus, faPlusOctagon, faCashRegister, faPersonCircleQuestion, faMelonSlice, faSpaceStationMoon, faMessageSmile, faCommentAltSmile, faCupStraw, faLeftFromLine, faArrowAltFromRight, faH, faBasketShoppingSimple, faShoppingBasketAlt, faHandsHoldingHeart, faHandsHeart, faClockNine, faHammerBrush, faTarp, faFaceSleepy, faHandHorns, faScrewdriverWrench, faTools, faArrowsToEye, faCircleThreeQuarters, faTrophyStar, faTrophyAlt, faPlugCircleBolt, faFaceThermometer, faGridRound4, faSignPostsWrench, faShirtRunning, faBookCircleArrowUp, faFaceNauseated, faHeart, faFileChartPie, faMarsAndVenus, faHouseUser, faHomeUser, faCircleArrowDownLeft, faDumpsterFire, faHexagonMinus, faMinusHexagon, faLeftToLine, faArrowAltToLeft, faHouseCrack, faPawSimple, faPawAlt, faArrowLeftLongToLine, faBracketsRound, faParentheses, faMartiniGlassCitrus, faCocktail, faUserShakespeare, faArrowRightToArc, faFaceSurprise, faSurprise, faBottleWater, faCirclePause, faPauseCircle, faGaugeCirclePlus, faFolders, faAngel, faValueAbsolute, faRabbit, faToiletPaperSlash, faCircleEuro, faAppleWhole, faAppleAlt, faKitchenSet, faDiamondHalf, faLockKeyhole, faLockAlt, faR, faTemperatureQuarter, faTemperature1, faThermometer1, faThermometerQuarter, faSquareInfo, faInfoSquare, faWifiSlash, faToiletPaperXmark, faHandsHoldingDollar, faHandsUsd, faCube, faArrowDownTriangleSquare, faSortShapesDown, faBitcoinSign, faShutters, faShieldDog, faSolarPanel, faLockOpen, faTableTree, faHouseChimneyHeart, faTally3, faElevator, faMoneyBillTransfer, faMoneyBillTrendUp, faHouseFloodWaterCircleArrowRight, faSquarePollHorizontal, faPollH, faCircle, faLeftToBracket, faCartCircleExclamation, faSword, faBackwardFast, faFastBackward, faRecycle, faUserAstronaut, faInterrobang, faPlaneSlash, faCircleDashed, faTrademark, faBasketball, faBasketballBall, faForkKnife, faUtensilsAlt, faSatelliteDish, faBadgeCheck, faCircleUp, faArrowAltCircleUp, faSlider, faMobileScreenButton, faMobileAlt, faClockOneThirty, faInboxOut, faInboxArrowUp, faCloudSlash, faVolumeHigh, faVolumeUp, faUsersRays, faWallet, faOctagonCheck, faFlatbreadStuffed, faClipboardCheck, faCartCirclePlus, faTruckClock, faShippingTimed, faPool8Ball, faFileAudio, faTurnDownLeft, faLockHashtag, faChartRadar, faStaff, faBurger, faHamburger, faUtilityPole, faTransporter6, faArrowTurnLeft, faWrench, faBugs, faVectorPolygon, faDiagramNested, faRupeeSign, faRupee, faFileImage, faCircleQuestion, faQuestionCircle, faTicketsPerforated, faImageUser, faBuoy, faPlaneDeparture, faHandshakeSlash, faBookBookmark, faBorderCenterH, faCanFood, faTypewriter, faArrowRightFromArc, faCircleK, faFaceHandOverMouth, faPopcorn, faHouseWater, faHouseFlood, faObjectSubtract, faCodeBranch, faWarehouseFull, faWarehouseAlt, faHatCowboy, faBridge, faPhoneFlip, faPhoneAlt, faArrowDownFromDottedLine, faFileDoc, faSquareQuarters, faTruckFront, faCat, faTrashXmark, faCircleCaretLeft, faCaretCircleLeft, faFiles, faAnchorCircleExclamation, faFaceClouds, faUserCrown, faBasketShoppingPlus, faTruckField, faRoute, faCartCircleCheck, faClipboardQuestion, faPanorama, faCommentMedical, faTeethOpen, faUserTieHairLong, faFileCircleMinus, faHeadSideMedical, faArrowTurnRight, faTags, faWineGlass, faForwardFast, faFastForward, faFaceMehBlank, faMehBlank, faUserRobot, faSquareParking, faParking, faCardDiamond, faFaceZipper, faFaceRaisedEyebrow, faHouseSignal, faSquareChevronUp, faChevronSquareUp, faNfcSymbol, faBarsProgress, faTasksAlt, faFaucetDrip, faArrowsToLine, faDolphin, faArrowUpRight, faCircleR, faCartFlatbed, faDollyFlatbed, faBanSmoking, faSmokingBan, faCircleSortUp, faSortCircleUp, faTerminal, faMobileButton, faHouseMedicalFlag, faBasketShopping, faShoppingBasket, faTape, faChestnut, faBusSimple, faBusAlt, faEye, faFaceSadCry, faSadCry, faHeat, faTicketAirline, faTicketPerforatedPlane, faTicketPlane, faBootHeeled, faArrowsMinimize, faCompressArrows, faAudioDescription, faPersonMilitaryToPerson, faFileShield, faHexagon, faManhole, faUserSlash, faPen, faTowerObservation, faFloppyDisks, faToiletPaperBlankUnder, faToiletPaperReverseAlt, faFileCode, faSignal, faSignal5, faSignalPerfect, faPump, faBus, faHeartCircleXmark, faArrowUpLeftFromCircle, faHouseChimney, faHomeLg, faWindowMaximize, faDryer, faFaceFrown, faFrown, faChessBishopPiece, faChessBishopAlt, faShirtTankTop, faDiploma, faScrollRibbon, faScreencast, faWalker, faPrescription, faShop, faStoreAlt, faFloppyDisk, faSave, faVihara, faFaceKissClosedEyes, faScaleUnbalanced, faBalanceScaleLeft, faFileUser, faUserPoliceTie, faFaceTongueMoney, faTennisBall, faSquareL, faSortUp, faSortAsc, faCalendarArrowUp, faCalendarUpload, faCommentDots, faCommenting, faPlantWilt, faScarf, faAlbumCirclePlus, faUserNurseHairLong, faDiamond, faSquareLeft, faArrowAltSquareLeft, faFaceGrinSquint, faGrinSquint, faCircleEllipsisVertical, faHandHoldingDollar, faHandHoldingUsd, faGridDividers, faBacterium, faHandPointer, faDrumSteelpan, faHandScissors, faHandsPraying, faPrayingHands, faFacePensive, faUserMusic, faArrowRotateRight, faArrowRightRotate, faArrowRotateForward, faRedo, faMessagesDollar, faCommentsAltDollar, faSensorOn, faBalloon, faWebAwesome, faBiohazard, faChessQueenPiece, faChessQueenAlt, faLocationCrosshairs, faLocation, faMarsDouble, faLeftFromBracket, faHousePersonLeave, faHouseLeave, faHousePersonDepart, faRulerTriangle, faCardClub, faChildDress, faUsersBetweenLines, faLungsVirus, faSpinnerThird, faFaceGrinTears, faGrinTears, faPhone, faComputerMouseScrollwheel, faMouseAlt, faCalendarXmark, faCalendarTimes, faChildReaching, faTableLayout, faNarwhal, faRampLoading, faCalendarCirclePlus, faToothbrush, faBorderInner, faPawClaws, faKiwiFruit, faTrafficLightSlow, faRectangleCode, faHeadSideVirus, faKeyboardBrightness, faBooksMedical, faLightbulbSlash, faHouseBlank, faHomeBlank, faSquare5, faSquareHeart, faHeartSquare, faPuzzle, faUserGear, faUserCog, faPipeCircleCheck, faArrowUp19, faSortNumericUp, faOctagonExclamation, faDialLow, faDoorClosed, faLaptopMobile, faPhoneLaptop, faConveyorBeltBoxes, faConveyorBeltAlt, faShieldVirus, faStarfighterTwinIonEngineAdvanced, faStarfighterAltAdvanced, faDiceSix, faStarfighterTwinIonEngine, faStarfighterAlt, faRocketLaunch, faMosquitoNet, faVentDamper, faBridgeWater, faBanBug, faDebug, faPersonBooth, faTextWidth, faGarageCar, faSquareKanban, faHatWizard, faChartKanban, faPenFancy, faCoffeePot, faMouseField, faPersonDigging, faDigging, faShowerDown, faShowerAlt, faBoxCircleCheck, faBrightness, faCarSideBolt, faFileXml, faOrnament, faPhoneArrowDownLeft, faPhoneArrowDown, faPhoneIncoming, faCloudWord, faHandFingersCrossed, faTrash, faGaugeSimple, faGaugeSimpleMed, faTachometerAverage, faArrowDownSmallBig, faSortSizeDownAlt, faBookMedical, faFaceMelting, faPoo, faPenClipSlash, faPenAltSlash, faQuoteRight, faQuoteRightAlt, faScrollOld, faGuitars, faPhoneXmark, faHose, faClockSix, faShirt, faTShirt, faTshirt, faBillboard, faSquareR, faCubes, faEnvelopeOpenDollar, faDivide, faSunCloud, faLampFloor, faSquare7, faTengeSign, faTenge, faHeadphones, faHandsHolding, faCampfire, faCircleAmpersand, faSnowflakes, faHandsClapping, faRepublican, faLeafMaple, faArrowLeft, faPersonCircleXmark, faRuler, faArrowLeftFromBracket, faCupStrawSwoosh, faTemperatureSun, faTemperatureHot, faAlignLeft, faDiceD6, faRestroom, faHighDefinition, faRectangleHd, faJ, faGalaxy, faUsersViewfinder, faFileVideo, faCherries, faUpRightFromSquare, faExternalLinkAlt, faCircleSort, faSortCircle, faTableCells, faTh, faBagShoppingMinus, faFilePdf, faSiren, faArrowUpToDottedLine, faImageLandscape, faLandscape, faTankWater, faCurlingStone, faCurling, faGamepadModern, faGamepadAlt, faMessagesQuestion, faBookBible, faBible, faO, faSuitcaseMedical, faMedkit, faBriefcaseArrowRight, faExpandWide, faClockElevenThirty, faRv, faUserSecret, faOtter, faDreidel, faPersonDress, faFemale, faCommentDollar, faBusinessTime, faBriefcaseClock, faFlowerTulip, faPeoplePantsSimple, faCloudDrizzle, faTableCellsLarge, faThLarge, faBookTanakh, faTanakh, faSolarSystem, faSealQuestion, faPhoneVolume, faVolumeControlPhone, faDiscDrive, faHatCowboySide, faTableRows, faRows, faLocationExclamation, faMapMarkerExclamation, faFaceFearful, faClipboardUser, faBusSchool, faFilmSlash, faSquareArrowDownRight, faBookSparkles, faBookSpells, faWashingMachine, faWasher, faChild, faLiraSign, faUserVisor, faFilePlusMinus, faChessClockFlip, faChessClockAlt, faSatellite, faTruckFire, faPlaneLock, faSteeringWheel, faTag, faStretcher, faBookSection, faBookLaw, faInboxes, faCoffeeBean, faCircleYen, faBracketsCurly, faEllipsisStrokeVertical, faEllipsisVAlt, faComment, faSquare1, faCakeCandles, faBirthdayCake, faCake, faHeadSide, faTruckLadder, faEnvelope, faDollyEmpty, faFaceTissue, faAnglesUp, faAngleDoubleUp, faBinRecycle, faPaperclip, faChartLineDown, faArrowRightToCity, faLockA, faRibbon, faLungs, faPersonPinball, faArrowUp91, faSortNumericUpAlt, faAppleCore, faCircleY, faH6, faLitecoinSign, faBottleBaby, faCircleSmall, faBorderNone, faArrowTurnDownLeft, faCircleWifiCircleWifi, faCircleWifiGroup, faCircleNodes, faParachuteBox, faReflectHorizontal, faMessageMedical, faCommentAltMedical, faRugbyBall, faCommentMusic, faIndent, faTreeDeciduous, faTreeAlt, faPuzzlePieceSimple, faPuzzlePieceAlt, faTruckFieldUn, faNfcTrash, faHourglass, faHourglassEmpty, faMountain, faFileXmark, faFileTimes, faHouseHeart, faHomeHeart, faHouseChimneyBlank, faMeterBolt, faUserDoctor, faUserMd, faSlashBack, faCircleInfo, faInfoCircle, faFishingRod, faHammerCrash, faMessageHeart, faCloudMeatball, faCameraPolaroid, faCamera, faCameraAlt, faSquareVirus, faCartArrowUp, faMeteor, faCarOn, faSleigh, faArrowDown19, faSortNumericAsc, faSortNumericDown, faBuoyMooring, faSquare4, faHandHoldingDroplet, faHandHoldingWater, faFileEps, faTricycleAdult, faWaveform, faWater, faStarSharpHalfStroke, faStarSharpHalfAlt, faNfcSignal, faPlaneProp, faCalendarCheck, faClockDesk, faCalendarClock, faCalendarTime, faBraille, faPrescriptionBottleMedical, faPrescriptionBottleAlt, faPlateUtensils, faFamilyPants, faHoseReel, faHouseWindow, faLandmark, faTruck, faMusicMagnifyingGlass, faCrosshairs, faCloudRainbow, faPersonCane, faAlien, faTent, faLaptopBinary, faVestPatches, faPeopleDressSimple, faCheckDouble, faArrowDownAZ, faSortAlphaAsc, faSortAlphaDown, faBowlingBallPin, faBellSchoolSlash, faPlusLarge, faMoneyBillWheat, faCameraViewfinder, faScreenshot, faMessageMusic, faCommentAltMusic, faCarBuilding, faBorderBottomRight, faBorderStyleAlt, faOctagon, faCommentArrowUpRight, faOctagonDivide, faCookie, faArrowRotateLeft, faArrowLeftRotate, faArrowRotateBack, faArrowRotateBackward, faUndo, faTvMusic, faHardDrive, faHdd, faReel, faFaceGrinSquintTears, faGrinSquintTears, faDumbbell, faRectangleList, faListAlt, faTarpDroplet, faAlarmExclamation, faHouseMedicalCircleCheck, faTrafficCone, faGrate, faArrowDownRight, faPersonSkiingNordic, faSkiingNordic, faCalendarPlus, faPersonFromPortal, faPortalExit, faPlaneArrival, faCowbellCirclePlus, faCowbellMore, faCircleLeft, faArrowAltCircleLeft, faDistributeSpacingVertical, faSignalBarsFair, faSignalAlt2, faSportsball, faGameConsoleHandheldCrank, faTrainSubway, faSubway, faChartGantt, faFaceSmileUpsideDown, faBallPile, faBadgeDollar, faMoneyBillsSimple, faMoneyBillsAlt, faListTimeline, faIndianRupeeSign, faIndianRupee, faInr, faCropSimple, faCropAlt, faMoneyBill1, faMoneyBillAlt, faLeftLong, faLongArrowAltLeft, faKeyboardDown, faCircleUpRight, faCloudBoltMoon, faThunderstormMoon, faTurnLeftUp, faDna, faVirusSlash, faBracketRoundRight, faCircleSterling, faCircle5, faMinus, faSubtract, faFireFlame, faFlame, faRightToLine, faArrowAltToRight, faGif, faChess, faTrashSlash, faArrowLeftLong, faLongArrowLeft, faPlugCircleCheck, faFontCase, faStreetView, faArrowDownLeft, faFrancSign, faFlaskRoundPoison, faFlaskPoison, faVolumeOff, faBookCircleArrowRight, faChartUser, faUserChart, faHandsAslInterpreting, faAmericanSignLanguageInterpreting, faAslInterpreting, faHandsAmericanSignLanguageInterpreting, faPresentationScreen, faPresentation, faCircleBolt, faFaceSmileHalo, faCartCircleArrowDown, faHousePersonReturn, faHousePersonArrive, faHouseReturn, faMessageXmark, faCommentAltTimes, faMessageTimes, faFileCertificate, faFileAward, faUserDoctorHairLong, faCameraSecurity, faCameraHome, faGear, faCog, faDropletSlash, faTintSlash, faBookHeart, faMosque, faDuck, faMosquito, faStarOfDavid, faFlagSwallowtail, faFlagAlt, faPersonMilitaryRifle, faCarGarage, faCartShopping, faShoppingCart, faBookFont, faShieldPlus, faVials, faEyeDropperFull, faDistributeSpacingHorizontal, faTabletRugged, faTemperatureSnow, faTemperatureFrigid, faMoped, faFaceSmilePlus, faSmilePlus, faRadioTuner, faRadioAlt, faFaceSwear, faWaterArrowDown, faWaterLower, faScannerTouchscreen, faCircle7, faPlugCirclePlus, faPersonSkiJumping, faSkiJump, faPlaceOfWorship, faWaterArrowUp, faWaterRise, faWaveformLines, faWaveformPath, faSplit, faFilmCanister, faFilmCannister, faFolderXmark, faFolderTimes, faToiletPaperBlank, faToiletPaperAlt, faTabletScreen, faTabletAndroidAlt, faHexagonVerticalNftSlanted, faFolderMusic, faDisplayMedical, faDesktopMedical, faShareAll, faPeapod, faChessClock, faAxe, faSquareD, faGripVertical, faMobileSignalOut, faArrowTurnUp, faLevelUp, faU, faArrowUpFromDottedLine, faSquareRootVariable, faSquareRootAlt, faLightSwitchOn, faArrowDownArrowUp, faSortAlt, faRaindrops, faDash, faMinusLarge, faClock, faClockFour, faInputNumeric, faTruckTow, faBackwardStep, faStepBackward, faPallet, faCarBolt, faArrowsMaximize, faExpandArrows, faFaucet, faCloudSleet, faLampStreet, faListRadio, faPenNibSlash, faBaseballBatBall, faSquareUpLeft, faOverline, faS, faTimeline, faKeyboard, faArrowsFromDottedLine, faUsbDrive, faBallot, faCaretDown, faLocationDotSlash, faMapMarkerAltSlash, faCards, faHouseChimneyMedical, faClinicMedical, faBoxingGlove, faGloveBoxing, faTemperatureThreeQuarters, faTemperature3, faThermometer3, faThermometerThreeQuarters, faBellSchool, faMobileScreen, faMobileAndroidAlt, faPlaneUp, faFolderHeart, faCircleLocationArrow, faLocationCircle, faFaceHeadBandage, faSushiRoll, faMakiRoll, faMakizushi, faCarBump, faPiggyBank, faRacquet, faCarMirrors, faIndustryWindows, faIndustryAlt, faBoltAuto, faBatteryHalf, faBattery3, faFluxCapacitor, faMountainCity, faCoins, faHoneyPot, faOlive, faKhanda, faFilterList, faOutlet, faSliders, faSlidersH, faCauldron, faPeople, faFolderTree, faNetworkWired, faCroissant, faMapPin, faHamsa, faCentSign, faSwordsLaser, faFlask, faPersonPregnant, faSquareU, faWandSparkles, faRouter, faEllipsisVertical, faEllipsisV, faSwordLaserAlt, faTicket, faPowerOff, faCoin, faLaptopSlash, faRightLong, faLongArrowAltRight, faCircleB, faPersonDressSimple, faPipeCollar, faLightsHoliday, faCitrus, faFlagUsa, faLaptopFile, faTty, faTeletype, faChartTreeMap, faDiagramNext, faPersonRifle, faClockFiveThirty, faPipeValve, faArrowUpFromArc, faFaceSpiralEyes, faCompressWide, faCirclePhoneHangup, faPhoneCircleDown, faGearComplexCode, faHouseMedicalCircleExclamation, faBadminton, faClosedCaptioning, faPersonHiking, faHiking, faRightFromLine, faArrowAltFromLeft, faVenusDouble, faImages, faCalculator, faShuttlecock, faUserHair, faEyeEvil, faPeoplePulling, faN, faSwap, faGarage, faCableCar, faTram, faShovelSnow, faCloudRain, faFaceLying, faSprinkler, faBuildingCircleXmark, faPersonSledding, faSledding, faGameConsoleHandheld, faShip, faClockSixThirty, faBatterySlash, faTugrikSign, faArrowsDownToLine, faDownload, faAnglesUpDown, faShelves, faInventory, faCloudSnow, faFaceGrin, faGrin, faDeleteLeft, faBackspace, faOven, faCloudBinary, faEyeDropper, faEyeDropperEmpty, faEyedropper, faCommentCaptions, faCommentsQuestion, faScribble, faRotateExclamation, faFileCircleCheck, faGlass, faLoader, faForward, faUserPilot, faMobile, faMobileAndroid, faMobilePhone, faCodePullRequestClosed, faFaceMeh, faMeh, faAlignCenter, faBookSkull, faBookDead, faIdCard, faDriversLicense, faFaceDotted, faFaceWorried, faOutdent, faDedent, faCourtSport, faHeartCircleExclamation, faHouse, faHome, faHomeAlt, faHomeLgAlt, faVectorCircle, faCarCircleBolt, faCalendarWeek, faFlyingDisc, faLaptopMedical, faSquareDownRight, faB, faSeatAirline, faMoonOverSun, faEclipseAlt, faPipe, faFileMedical, faPotato, faDiceOne, faCircleA, faHelmetBattle, faButter, faBlanketFire, faKiwiBird, faCastle, faGolfClub, faArrowRightArrowLeft, faExchange, faRotateRight, faRedoAlt, faRotateForward, faUtensils, faCutlery, faArrowUpWideShort, faSortAmountUp, faChartPieSimpleCircleDollar, faBalloons, faMillSign, faBowlRice, faTimelineArrow, faSkull, faGameBoardSimple, faGameBoardAlt, faCircleVideo, faVideoCircle, faChartScatterBubble, faHouseTurret, faBanana, faHandHoldingSkull, faPeopleDress, faLoveseat, faCouchSmall, faTowerBroadcast, faBroadcastTower, faTruckPickup, faBlockQuote, faUpLong, faLongArrowAltUp, faStop, faCodeMerge, faMoneyCheckDollarPen, faMoneyCheckEditAlt, faUpFromLine, faArrowAltFromBottom, faUpload, faHurricane, faGridRound2Plus, faPeoplePants, faMound, faWindsock, faCircleHalf, faBrakeWarning, faToiletPortable, faCompactDisc, faFileArrowDown, faFileDownload, faSaxophoneFire, faSaxHot, faCameraWebSlash, faWebcamSlash, faFolderMedical, faFolderGear, faFolderCog, faHandWave, faArrowUpArrowDown, faSortUpDown, faCaravan, faShieldCat, faMessageSlash, faCommentAltSlash, faBolt, faZap, faTrashCanCheck, faGlassWater, faOilWell, faPersonSimple, faArrowTurnLeftUp, faVault, faMars, faToilet, faPlaneCircleXmark, faYenSign, faCny, faJpy, faRmb, faYen, faGearCode, faNotes, faRubleSign, faRouble, faRub, faRuble, faTrashUndo, faTrashArrowTurnLeft, faChampagneGlass, faGlassChampagne, faObjectsAlignCenterHorizontal, faSun, faTrashCanSlash, faTrashAltSlash, faScreenUsers, faUsersClass, faGuitar, faSquareArrowLeft, faArrowSquareLeft, faSquare8, faFaceSmileHearts, faBracketsSquare, faBrackets, faLaptopArrowDown, faHockeyStickPuck, faHouseTree, faSignalFair, faSignal2, faFaceLaughWink, faLaughWink, faCircleDollar, faDollarCircle, faUsdCircle, faHorseHead, faArrowsRepeat, faRepeatAlt, faBoreHole, faIndustry, faImagePolaroid, faWaveTriangle, faTurnLeftDown, faPersonRunningFast, faCircleDown, faArrowAltCircleDown, faGrill, faArrowsTurnToDots, faChartMixed, faAnalytics, faFlorinSign, faArrowDownShortWide, faSortAmountDesc, faSortAmountDownAlt, faLessThan, faDisplayCode, faDesktopCode, faFaceDrooling, faOilTemperature, faOilTemp, faSquareQuestion, faQuestionSquare, faAirConditioner, faAngleDown, faMountains, faOmega, faCarTunnel, faPersonDollyEmpty, faPanFood, faHeadSideCough, faGripLines, faThumbsDown, faUserLock, faArrowRightLong, faLongArrowRight, faTicketsAirline, faTicketsPerforatedPlane, faTicketsPlane, faTentDoublePeak, faAnchorCircleXmark, faEllipsis, faEllipsisH, faNfcSlash, faChessPawn, faKitMedical, faFirstAid, faGrid2Plus, faBells, faPersonThroughWindow, faToolbox, faEnvelopeDot, faEnvelopeBadge, faMagnifyingGlassWaveform, faHandsHoldingCircle, faBug, faBowlChopsticks, faCreditCard, faCreditCardAlt, faCircleS, faBoxBallot, faCar, faAutomobile, faHandHoldingHand, faUserTieHair, faPodiumStar, faUserHairMullet, faBusinessFront, faPartyBack, faTrianBalbot, faMicrophoneStand, faBookOpenReader, faBookReader, faFamilyDress, faCircleX, faCabin, faMountainSun, faChartSimpleHorizontal, faBluetooth, faArrowsLeftRightToLine, faHandBackPointLeft, faMessageDots, faCommentAltDots, faMessaging, faFileHeart, faBeerMug, faBeerFoam, faDiceD20, faDrone, faTruckDroplet, faFileCircleXmark, faTemperatureArrowUp, faTemperatureUp, faMedal, faPersonFairy, faBed, faBookCopy, faSquareH, faHSquare, faSquareC, faClockTwo, faSquareEllipsisVertical, faCalendarUsers, faPodcast, faBee, faTemperatureFull, faTemperature4, faThermometer4, faThermometerFull, faBell, faCandyBar, faChocolateBar, faXmarkLarge, faPinata, faFilePpt, faArrowsFromLine, faSuperscript, faBowlSpoon, faHexagonCheck, faPlugCircleXmark, faStarOfLife, faPhoneSlash, faTrafficLightStop, faPaintRoller, faAccentGrave, faHandshakeAngle, faHandsHelping, faCircle0, faDialMedLow, faLocationDot, faMapMarkerAlt, faCrab, faBoxOpenFull, faBoxFull, faFile, faGreaterThan, faQuotes, faPretzel, faTRex, faPersonSwimming, faSwimmer, faArrowDown, faUserRobotXmarks, faMessageQuote, faCommentAltQuote, faCandyCorn, faFolderMagnifyingGlass, faFolderSearch, faNotebook, faCircleWifi, faDroplet, faTint, faBullseyePointer, faEraser, faHexagonImage, faEarthAmericas, faEarth, faEarthAmerica, faGlobeAmericas, faFileSvg, faCrateApple, faAppleCrate, faPersonBurst, faGameBoard, faHatChef, faHandBackPointRight, faDove, faSnowflakeDroplets, faBatteryEmpty, faBattery0, faGrid4, faSocks, faFaceSunglasses, faInbox, faSquare0, faSection, faSquareThisWayUp, faBoxUp, faGaugeHigh, faTachometerAlt, faTachometerAltFast, faSquareAmpersand, faEnvelopeOpenText, faLampDesk, faHospital, faHospitalAlt, faHospitalWide, faPollPeople, faWhiskeyGlassIce, faGlassWhiskeyRocks, faWineBottle, faChessRook, faUserBountyHunter, faBarsStaggered, faReorder, faStream, faDiagramSankey, faCloudHailMixed, faCircleUpLeft, faDharmachakra, faObjectsAlignLeft, faOilCanDrip, faFaceSmilingHands, faBroccoli, faRouteInterstate, faEarMuffs, faHotdog, faTransporterEmpty, faPersonWalkingWithCane, faBlind, faAngle90, faRectangleTerminal, faKite, faDrum, faScrubber, faIceCream, faHeartCircleBolt, faFishBones, faDeerRudolph, faFax, faParagraph, faHeadSideHeart, faSquareE, faMeterFire, faCloudHail, faCheckToSlot, faVoteYea, faMoneyFromBracket, faStarHalf, faCarBus, faSpeaker, faTimer, faBoxesStacked, faBoxes, faBoxesAlt, faLandmarkMagnifyingGlass, faGrillHot, faBallotCheck, faLink, faChain, faEarListen, faAssistiveListeningSystems, faFileMinus, faTreeCity, faPlay, faFont, faCupTogo, faCoffeeTogo, faSquareDownLeft, faBurgerLettuce, faTableCellsRowLock, faRupiahSign, faMagnifyingGlass, faSearch, faTableTennisPaddleBall, faPingPongPaddleBall, faTableTennis, faPersonDotsFromLine, faDiagnoses, faChevronsDown, faChevronDoubleDown, faTrashCanArrowUp, faTrashRestoreAlt, faSignalGood, faSignal3, faLocationQuestion, faMapMarkerQuestion, faFloppyDiskCircleXmark, faFloppyDiskTimes, faSaveCircleXmark, faSaveTimes, faNairaSign, faPeach, faTaxiBus, faBracketCurly, faBracketCurlyLeft, faLobster, faCartFlatbedEmpty, faDollyFlatbedEmpty, faColon, faCartArrowDown, faWand, faWalkieTalkie, faFilePen, faFileEdit, faReceipt, faTablePicnic, faSquarePen, faPenSquare, faPencilSquare, faCircleMicrophoneLines, faMicrophoneCircleAlt, faDisplaySlash, faDesktopSlash, faSuitcaseRolling, faPersonCircleExclamation, faTransporter2, faHandsHoldingDiamond, faHandReceiving, faMoneyBillSimpleWave, faChevronDown, faBatteryFull, faBattery, faBattery5, faBellPlus, faBookArrowRight, faHospitals, faClub, faSkullCrossbones, faDropletDegree, faDewpoint, faCodeCompare, faListUl, faListDots, faHandHoldingMagic, faWatermelonSlice, faCircleEllipsis, faSchoolLock, faTowerCell, faSdCards, faJugBottle, faDownLong, faLongArrowAltDown, faEnvelopes, faPhoneOffice, faRankingStar, faChessKing, faNfcPen, faPersonHarassing, faMagnifyingGlassPlay, faHatWinter, faBrazilianRealSign, faLandmarkDome, faLandmarkAlt, faBoneBreak, faArrowUp, faDownFromDottedLine, faTv, faTelevision, faTvAlt, faBorderLeft, faCircleDivide, faShrimp, faListCheck, faTasks, faDiagramSubtask, faJugDetergent, faCircleUser, faUserCircle, faSquareY, faUserDoctorHair, faPlanetRinged, faMushroom, faUserShield, faMegaphone, faWreathLaurel, faCircleExclamationCheck, faWind, faBoxDollar, faBoxUsd, faCarBurst, faCarCrash, faY, faUserHeadset, faArrowsRetweet, faRetweetAlt, faPersonSnowboarding, faSnowboarding, faSquareChevronRight, faChevronSquareRight, faLacrosseStickBall, faTruckFast, faShippingFast, faUserMagnifyingGlass, faStarSharp, faCommentHeart, faCircle1, faCircleStar, faStarCircle, faFish, faCloudFog, faFog, faWaffle, faMusicNote, faMusicAlt, faHexagonExclamation, faCartShoppingFast, faObjectUnion, faUserGraduate, faStarfighter, faCircleHalfStroke, faAdjust, faArrowRightLongToLine, faSquareArrowDown, faArrowSquareDown, faDiamondHalfStroke, faClapperboard, faSquareChevronLeft, faChevronSquareLeft, faPhoneIntercom, faLinkHorizontal, faChainHorizontal, faMango, faMusicNoteSlash, faMusicAltSlash, faCircleRadiation, faRadiationAlt, faFaceTongueSweat, faGlobeStand, faBaseball, faBaseballBall, faCircleP, faAwardSimple, faJetFighterUp, faDiagramProject, faProjectDiagram, faPedestal, faChartPyramid, faSidebar, faSnowmanHead, faFrostyHead, faCopy, faBurgerGlass, faVolumeXmark, faVolumeMute, faVolumeTimes, faHandSparkles, faBarsFilter, faPaintbrushPencil, faPartyBell, faUserVneckHair, faJackOLantern, faGrip, faGripHorizontal, faShareFromSquare, faShareSquare, faKeynote, faChildCombatant, faChildRifle, faGun, faSquarePhone, faPhoneSquare, faHatBeach, faPlus, faAdd, faExpand, faComputer, faFort, faCloudCheck, faXmark, faClose, faMultiply, faRemove, faTimes, faFaceSmirking, faArrowsUpDownLeftRight, faArrows, faChalkboardUser, faChalkboardTeacher, faRhombus, faClawMarks, faPesoSign, faFaceSmileTongue, faCartCircleXmark, faBuildingShield, faCirclePhoneFlip, faPhoneCircleAlt, faBaby, faUsersLine, faQuoteLeft, faQuoteLeftAlt, faTractor, faDownFromBracket, faKeySkeleton, faTrashArrowUp, faTrashRestore, faArrowDownUpLock, faArrowDownToBracket, faLinesLeaning, faSquareQ, faRulerCombined, faSymbols, faIconsAlt, faCopyright, faFlaskGear, faHighlighterLine, faBracketSquare, faBracket, faBracketLeft, faIslandTropical, faIslandTreePalm, faArrowRightFromLine, faArrowFromLeft, faH2, faEquals, faCakeSlice, faShortcake, faBuildingMagnifyingGlass, faPeanut, faWrenchSimple, faBlender, faTeeth, faTally2, faShekelSign, faIls, faShekel, faSheqel, faSheqelSign, faCars, faAxeBattle, faUserHairLong, faMap, faArrowLeftFromArc, faFileCircleInfo, faFaceDisappointed, faLassoSparkles, faClockEleven, faRocket, faSirenOn, faClockTen, faCandleHolder, faVideoArrowDownLeft, faPhotoFilm, faPhotoVideo, faFloppyDiskCircleArrowRight, faSaveCircleArrowRight, faFolderMinus, faPlanetMoon, faFaceEyesXmarks, faChartScatter, faCircleGf, faDisplayArrowDown, faStore, faArrowTrendUp, faPlugCircleMinus, faOliveBranch, faAngle, faVacuumRobot, faSignHanging, faSign, faSquareDivide, faFolderCheck, faSignalStreamSlash, faBezierCurve, faEyeDropperHalf, faStoreLock, faBellSlash, faCloudBoltSun, faThunderstormSun, faCameraSlash, faCommentQuote, faTablet, faTabletAndroid, faSchoolFlag, faMessageCode, faGlassHalf, faGlassHalfEmpty, faGlassHalfFull, faFill, faMessageMinus, faCommentAltMinus, faAngleUp, faDinosaur, faDrumstickBite, faLinkHorizontalSlash, faChainHorizontalSlash, faHollyBerry, faNose, faArrowLeftToArc, faChevronLeft, faBacteria, faClouds, faMoneyBillSimple, faHandLizard, faTablePivot, faFilterSlash, faTrashCanUndo, faTrashCanArrowTurnLeft, faTrashUndoAlt, faNotdef, faDisease, faPersonToDoor, faTurntable, faBriefcaseMedical, faGenderless, faChevronRight, faSignalWeak, faSignal1, faClockFive, faRetweet, faCarRear, faCarAlt, faPumpSoap, faComputerClassic, faFrame, faVideoSlash, faBatteryQuarter, faBattery2, faEllipsisStroke, faEllipsisHAlt, faRadio, faBabyCarriage, faCarriageBaby, faFaceExpressionless, faDownToDottedLine, faCloudMusic, faTrafficLight, faCloudMinus, faThermometer, faShieldMinus, faVrCardboard, faCarTilt, faGaugeCircleMinus, faBrightnessLow, faHandMiddleFinger, faPercent, faPercentage, faTruckMoving, faGlassWaterDroplet, faConveyorBelt, faLocationCheck, faMapMarkerCheck, faCoinVertical, faDisplay, faPersonSign, faFaceSmile, faSmile, faPhoneHangup, faSignatureSlash, faThumbtack, faThumbTack, faWheatSlash, faTrophy, faCloudsSun, faPersonPraying, faPray, faHammer, faFaceVomit, faSpeakers, faTtyAnswer, faTeletypeAnswer, faMugTeaSaucer, faDiagramLeanCanvas, faAlt, faDial, faDialMedHigh, faHandPeace, faCircleTrash, faTrashCircle, faRotate, faSyncAlt, faCircleQuarters, faSpinner, faTowerControl, faArrowUpTriangleSquare, faSortShapesUp, faWhale, faRobot, faPeace, faPartyHorn, faGears, faCogs, faSunBright, faSunAlt, faWarehouse, faConveyorBeltArm, faLockKeyholeOpen, faLockOpenAlt, faSquareFragile, faBoxFragile, faSquareWineGlassCrack, faArrowUpRightDots, faSquareN, faSplotch, faFaceGrinHearts, faGrinHearts, faMeter, faMandolin, faDiceFour, faSimCard, faTransgender, faTransgenderAlt, faMercury, faUpFromBracket, faKnifeKitchen, faBorderRight, faArrowTurnDown, faLevelDown, faSpade, faCardSpade, faLineColumns, faAnt, faArrowRightToLine, faArrowToRight, faPersonFallingBurst, faFlagPennant, faPennant, faConveyorBeltEmpty, faUserGroupSimple, faAward, faTicketSimple, faTicketAlt, faBuilding, faAnglesLeft, faAngleDoubleLeft, faCamcorder, faVideoHandheld, faPancakes, faAlbumCircleUser, faSubtitlesSlash, faQrcode, faDiceD10, faFireplace, faBrowser, faPenPaintbrush, faPencilPaintbrush, faFishCooked, faChairOffice, faMagnifyingGlassMusic, faNestingDolls, faClockRotateLeft, faHistory, faTrumpet, faFaceGrinBeamSweat, faGrinBeamSweat, faFireSmoke, faPhoneMissed, faFileExport, faArrowRightFromFile, faShield, faShieldBlank, faArrowUpShortWide, faSortAmountUpAlt, faArrowsRepeat1, faRepeat1Alt, faGunSlash, faAvocado, faBinary, faGlassesRound, faGlassesAlt, faPhonePlus, faDitto, faPersonSeat, faHouseMedical, faGolfBallTee, faGolfBall, faCircleChevronLeft, faChevronCircleLeft, faHouseChimneyWindow, faScythe, faPenNib, faBanParking, faParkingCircleSlash, faTentArrowTurnLeft, faFaceDiagonalMouth, faDiagramCells, faCricketBatBall, faCricket, faTents, faWandMagic, faMagic, faDog, faPenLine, faAtomSimple, faAtomAlt, faAmpersand, faCarrot, faArrowUpFromLine, faArrowFromBottom, faMoon, faPenSlash, faWineGlassEmpty, faWineGlassAlt, faSquareStar, faCheese, faSendBackward, faYinYang, faMusic, faCompassSlash, faClockOne, faFileMusic, faCodeCommit, faTemperatureLow, faPersonBiking, faBiking, faDisplayChartUpCircleCurrency, faSkeleton, faCircleG, faCircleArrowUpLeft, faCoinBlank, faBroom, faVacuum, faShieldHeart, faCardHeart, faLightbulbCflOn, faMelon, faGopuram, faEarthOceania, faGlobeOceania, faContainerStorage, faFacePouting, faSquareXmark, faTimesSquare, faXmarkSquare, faFaceExplode, faExplodingHead, faHashtag, faUpRightAndDownLeftFromCenter, faExpandAlt, faOilCan, faT, faTransformerBolt, faHippo, faChartColumn, faCassetteVhs, faVhs, faInfinity, faVialCircleCheck, faChimney, faObjectIntersect, faPersonArrowDownToLine, faVoicemail, faBlockBrick, faWallBrick, faFan, faBagsShopping, faParagraphLeft, faParagraphRtl, faPersonWalkingLuggage, faCaravanSimple, faCaravanAlt, faTurtle, faPencilMechanical, faUpDown, faArrowsAltV, faCloudMoonRain, faBoothCurtain, faCalendar, faBoxHeart, faTrailer, faUserDoctorMessage, faUserMdChat, faBahai, faHaykal, faLighthouse, faAmpGuitar, faSdCard, faVolumeSlash, faBorderBottom, faWifiWeak, faWifi1, faDragon, faShoePrints, faCirclePlus, faPlusCircle, faFaceGrinTongueWink, faGrinTongueWink, faHandHolding, faPlugCircleExclamation, faLinkSlash, faChainBroken, faChainSlash, faUnlink, faClone, faPersonWalkingArrowLoopLeft, faArrowUpZA, faSortAlphaUpAlt, faFireFlameCurved, faFireAlt, faTornado, faFileCirclePlus, faDeleteRight, faBookQuran, faQuran, faCircleQuarter, faAnchor, faBorderAll, faFunction, faFaceAngry, faAngry, faPeopleSimple, faCookieBite, faArrowTrendDown, faRss, faFeed, faFaceMonocle, faDrawPolygon, faScaleBalanced, faBalanceScale, faCalendarLines, faCalendarNote, faArrowDownBigSmall, faSortSizeDown, faGaugeSimpleHigh, faTachometer, faTachometerFast, faDoNotEnter, faShower, faDiceD8, faDesktop, faDesktopAlt, faM, faSpinnerScale, faGripDotsVertical, faFaceViewfinder, faSoftServe, faCreemee, faH5, faHandBackPointDown, faTableList, faThList, faBasketShoppingMinus, faCommentSms, faSms, faRectangle, faRectangleLandscape, faClipboardListCheck, faTurkey, faBook, faUserPlus, faIceSkate, faCheck, faBatteryThreeQuarters, faBattery4, faTomato, faSwordLaser, faHouseCircleCheck, faBuildings, faAngleLeft, faCartFlatbedBoxes, faDollyFlatbedAlt, faDiagramSuccessor, faTruckArrowRight, faSquareW, faArrowsSplitUpAndLeft, faLamp, faAirplay, faHandFist, faFistRaised, faShieldQuartered, faSlashForward, faLocationPen, faMapMarkerEdit, faCloudMoon, faPotFood, faBriefcase, faPersonFalling, faImagePortrait, faPortrait, faUserTag, faRug, faPrintSlash, faEarthEurope, faGlobeEurope, faCartFlatbedSuitcase, faLuggageCart, faHandBackPointRibbon, faRectangleXmark, faRectangleTimes, faTimesRectangle, faWindowClose, faTireRugged, faLightbulbDollar, faCowbell, faBahtSign, faCorner, faChevronsRight, faChevronDoubleRight, faBookOpen, faBookJournalWhills, faJournalWhills, faInhaler, faHandcuffs, faSnake, faTriangleExclamation, faExclamationTriangle, faWarning, faNoteMedical, faDatabase, faDownLeft, faShare, faMailForward, faFaceThinking, faTurnDownRight, faBottleDroplet, faMaskFace, faHillRockslide, faScannerKeyboard, faCircleO, faGridHorizontal, faMessageDollar, faCommentAltDollar, faRightLeft, faExchangeAlt, faColumns3, faPaperPlane, faRoadCircleExclamation, faDungeon, faHandHoldingBox, faInputText, faWindowFlip, faWindowAlt, faAlignRight, faScannerGun, faScanner, faTire, faEngine, faMoneyBill1Wave, faMoneyBillWaveAlt, faLifeRing, faHands, faSignLanguage, faSigning, faCircleCaretRight, faCaretCircleRight, faTurnLeft, faWheat, faFileSpreadsheet, faAudioDescriptionSlash, faBellRing, faCalendarDay, faWaterLadder, faLadderWater, faSwimmingPool, faArrowsUpDown, faArrowsV, faChessPawnPiece, faChessPawnAlt, faFaceGrimace, faGrimace, faWheelchairMove, faWheelchairAlt, faTurnDown, faLevelDownAlt, faSquareS, faRectangleBarcode, faBarcodeAlt, faPersonWalkingArrowRight, faSquareEnvelope, faEnvelopeSquare, faDice, faUnicorn, faBowlingBall, faPompebled, faBrain, faWatchSmart, faBookUser, faSensorCloud, faSensorSmoke, faClapperboardPlay, faBandage, faBandAid, faCalendarMinus, faCircleXmark, faTimesCircle, faXmarkCircle, faCircle4, faGifts, faAlbumCollection, faHotel, faEarthAsia, faGlobeAsia, faIdCardClip, faIdCardAlt, faMagnifyingGlassPlus, faSearchPlus, faThumbsUp, faCloudShowers, faUserClock, faOnion, faClockTwelveThirty, faArrowDownToDottedLine, faHandDots, faAllergies, faFileInvoice, faWindowMinimize, faRectangleWide, faCommentArrowUp, faGarlic, faMugSaucer, faCoffee, faBrush, faTreeDecorated, faMask, faCalendarHeart, faMagnifyingGlassMinus, faSearchMinus, faFlower, faArrowDownFromArc, faRightLeftLarge, faRulerVertical, faCirclesOverlap, faUserLarge, faUserAlt, faStarshipFreighter, faTrainTram, faBridgeSuspension, faTrashCheck, faUserNurse, faBoombox, faSyringe, faCloudSun, faShieldExclamation, faStopwatch20, faSquareFull, faGripDots, faCommentExclamation, faPenSwirl, faFalafel, faCircle2, faMagnet, faJar, faGramophone, faDiceD12, faNoteSticky, faStickyNote, faDown, faArrowAltDown, faHundredPoints, fa100, faPaperclipVertical, faWindWarning, faWindCircleExclamation, faLocationPinSlash, faMapMarkerSlash, faFaceSadSweat, faBugSlash, faCupcake, faLightSwitchOff, faToggleLargeOff, faPenFancySlash, faTruckContainer, faBoot, faArrowUpFromWaterPump, faFileCheck, faBone, faCardsBlank, faCircle3, faBenchTree, faKeyboardBrightnessLow, faSkiBootSki, faBrainCircuit, faUserInjured, faBlockBrickFire, faFirewall, faFaceSadTear, faSadTear, faPlane, faTentArrowsDown, faExclamation, faArrowsSpin, faFaceSmileRelaxed, faCommentXmark, faCommentTimes, faPrint, faTurkishLiraSign, faTry, faTurkishLira, faFaceNoseSteam, faCircleWaveformLines, faWaveformCircle, faDollarSign, faDollar, faUsd, faFerrisWheel, faComputerSpeaker, faSkullCow, faX, faMagnifyingGlassDollar, faSearchDollar, faUsersGear, faUsersCog, faPersonMilitaryPointing, faBuildingColumns, faBank, faInstitution, faMuseum, faUniversity, faCircleT, faSack, faGrid2, faCameraCctv, faCctv, faUmbrella, faTrowel, faHorizontalRule, faBedFront, faBedAlt, faD, faStapler, faMasksTheater, faTheaterMasks, faFileGif, faKipSign, faFaceWoozy, faCloudQuestion, faPineapple, faHandPointLeft, faGalleryThumbnails, faCircleJ, faEyes, faHandshakeSimple, faHandshakeAlt, faPageCaretUp, faFileCaretUp, faJetFighter, faFighterJet, faComet, faSquareShareNodes, faShareAltSquare, faReflectVertical, faShieldKeyhole, faFileMp4, faBarcode, faBulldozer, faPlusMinus, faSquareSlidersVertical, faSlidersVSquare, faVideo, faVideoCamera, faMessageMiddle, faCommentMiddleAlt, faGraduationCap, faMortarBoard, faHandHoldingMedical, faPersonCircleCheck, faSquareZ, faMessageText, faCommentAltText, faTurnUp, faLevelUpAlt };\n","import React, { forwardRef } from 'react';\n\nimport { twCascade } from '@mariusmarais/tailwind-cascade';\n// @ts-expect-error TS(7016): Could not find a declaration file for module 'reac... Remove this comment to see the full error message\nimport ReactDatePicker from 'react-datepicker';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faCalendarAlt } from '@fortawesome/pro-light-svg-icons';\n// @ts-expect-error TS(7016): Could not find a declaration file for module 'luxo... Remove this comment to see the full error message\nimport { DateTime } from 'luxon';\n\ntype DatePickerInputProps = {\n onClick?: (...args: any[]) => any;\n date?: any; // TODO: PropTypes.instanceOf(Date)\n displayFormat?: string;\n disabled?: boolean;\n inputClassName?: string;\n error?: string;\n};\n\nconst DatePickerInput = forwardRef(\n ({ onClick, date, displayFormat, inputClassName, disabled, error }, ref) => {\n const displayDate = () => {\n if (!displayFormat && date) {\n return DateTime.fromJSDate(date).toFormat('D');\n }\n\n if (date) {\n return DateTime.fromJSDate(date).toFormat(displayFormat);\n }\n\n return date;\n };\n\n return (\n \n
{displayDate()}
\n
\n \n
\n \n );\n }\n);\n\nDatePickerInput.displayName = 'DatePickerInput';\n\ntype DatePickerProps = {\n date?: any; // TODO: PropTypes.instanceOf(Date)\n minDate?: number;\n onChange?: (...args: any[]) => any;\n disabled?: boolean;\n displayFormat?: string;\n inputClassName?: string;\n error?: string;\n showTimeSelect?: boolean;\n};\n\nconst DatePicker = forwardRef(\n ({ disabled, date, onChange, displayFormat, inputClassName, error, minDate, showTimeSelect }, ref) => (\n \n }\n />\n )\n);\n\nDatePicker.displayName = 'DatePicker';\n\nexport default DatePicker;\n","export default function format(\n {\n alternativeName,\n mainCities,\n rawOffsetInMinutes,\n currentTimeOffsetInMinutes,\n },\n { useCurrentOffset = false } = {},\n) {\n const offsetInHours = useCurrentOffset\n ? getOffsetString(currentTimeOffsetInMinutes)\n : getOffsetString(rawOffsetInMinutes);\n\n return `${offsetInHours.padStart(\n 6,\n \"+\",\n )} ${alternativeName} - ${mainCities.join(\", \")}`;\n}\n\nfunction getOffsetString(offsetInMinutes) {\n const absOffsetInMinutes = Math.abs(offsetInMinutes);\n const [hours, minutes] = [\n Math.floor(absOffsetInMinutes / 60),\n absOffsetInMinutes % 60,\n ].map((v) => {\n return v.toString().padStart(2, \"0\");\n });\n const durationInHoursMinutes = `${hours}:${minutes}`;\n\n return `${offsetInMinutes >= 0 ? \"+\" : \"-\"}${durationInHoursMinutes}`;\n}\n","// Most of the code here is from Luxon\n// Copyright 2019 JS Foundation and other contributors\n\n// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\n// The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nconst ianaRegex =\n /^[A-Za-z_+-]{1,256}(:?\\/[A-Za-z_+-]{1,256}(\\/[A-Za-z_+-]{1,256})?)?$/;\n\nconst typeToPos = {\n year: 0,\n month: 1,\n day: 2,\n hour: 3,\n minute: 4,\n second: 5,\n};\n\nfunction isValidIanaSpecifier(s) {\n return !!(s && s.match(ianaRegex));\n}\n\nfunction hackyOffset(dtf, date) {\n const formatted = dtf.format(date).replace(/\\u200E/g, \"\");\n const parsed = /(\\d+)\\/(\\d+)\\/(\\d+),? (\\d+):(\\d+):(\\d+)/.exec(formatted);\n const [, fMonth, fDay, fYear, fHour, fMinute, fSecond] = parsed;\n return [fYear, fMonth, fDay, fHour, fMinute, fSecond];\n}\n\nfunction partsOffset(dtf, date) {\n const formatted = dtf.formatToParts(date);\n const filled = [];\n for (let i = 0; i < formatted.length; i++) {\n const { type, value } = formatted[i];\n const pos = typeToPos[type];\n\n if (typeof pos !== \"undefined\") {\n filled[pos] = parseInt(value, 10);\n }\n }\n return filled;\n}\n\nfunction makeDTF(zone) {\n return new Intl.DateTimeFormat(\"en-US\", {\n hourCycle: \"h23\",\n timeZone: zone,\n year: \"numeric\",\n month: \"2-digit\",\n day: \"2-digit\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n });\n}\n\n// covert a calendar object to a local timestamp (epoch, but with the offset baked in)\nfunction objToLocalTS(obj) {\n let d = Date.UTC(\n obj.year,\n obj.month - 1,\n obj.day,\n obj.hour,\n obj.minute,\n obj.second,\n obj.millisecond,\n );\n\n // for legacy reasons, years between 0 and 99 are interpreted as 19XX; revert that\n if (obj.year < 100 && obj.year >= 0) {\n d = new Date(d);\n d.setUTCFullYear(d.getUTCFullYear() - 1900);\n }\n return +d;\n}\n\nexport function getZoneOffset(timeZoneName) {\n if (!isValidIanaSpecifier(timeZoneName)) {\n return false;\n }\n\n const date = new Date(Date.now());\n\n let dtf;\n\n try {\n dtf = makeDTF(timeZoneName);\n } catch (_) {\n return false;\n }\n\n const [year, month, day, hour, minute, second] = dtf.formatToParts\n ? partsOffset(dtf, date)\n : hackyOffset(dtf, date);\n\n const asUTC = objToLocalTS({\n year,\n month,\n day,\n hour,\n minute,\n second,\n millisecond: 0,\n });\n\n let asTS = +date;\n const over = asTS % 1000;\n asTS -= over >= 0 ? over : 1000 + over;\n return (asUTC - asTS) / (60 * 1000);\n}\n","import rawTimeZones from \"../raw-time-zones.json\";\n\nimport formatTimeZone from \"./formatTimeZone.js\";\nimport { getZoneOffset } from \"./utils/timeZone.js\";\n\nexport default function getTimeZones(opts) {\n const includeUtc = !!opts && opts.includeUtc;\n return rawTimeZones\n .reduce(\n function (acc, timeZone) {\n const timeZoneName = timeZone.name;\n const currentOffset = getZoneOffset(timeZoneName);\n\n // We build on the latest Node.js version, Node.js embed IANA databases\n // it might happen that the environment that will execute getTimeZones() will not know about some\n // timezones. So we ignore the timezone at runtim\n // See https://github.com/vvo/tzdb/issues/43\n if (currentOffset === false) {\n return acc;\n }\n\n const timeZoneWithCurrentTimeData = {\n ...timeZone,\n currentTimeOffsetInMinutes: currentOffset,\n };\n\n acc.push({\n ...timeZoneWithCurrentTimeData,\n currentTimeFormat: formatTimeZone(timeZoneWithCurrentTimeData, {\n useCurrentOffset: true,\n }),\n });\n\n return acc;\n },\n includeUtc ? [utcTimezone] : [],\n )\n .sort((a, b) => {\n return (\n compareNumbers(a, b) ||\n compareStrings(a.alternativeName, b.alternativeName) ||\n compareStrings(a.mainCities[0], b.mainCities[0])\n );\n });\n}\n\nfunction compareNumbers(x, y) {\n return x.currentTimeOffsetInMinutes - y.currentTimeOffsetInMinutes;\n}\n\nfunction compareStrings(x, y) {\n if (typeof x === \"string\" && typeof y === \"string\") {\n return x.localeCompare(y);\n }\n return 0;\n}\n\nconst utcTimezone = {\n name: \"Etc/UTC\",\n alternativeName: \"Coordinated Universal Time (UTC)\",\n abbreviation: \"UTC\",\n group: [\"Etc/UTC\", \"Etc/UCT\", \"UCT\", \"UTC\", \"Universal\", \"Zulu\"],\n countryName: \"\",\n continentCode: \"\",\n continentName: \"\",\n mainCities: [\"\"],\n rawOffsetInMinutes: 0,\n rawFormat: \"+00:00 Coordinated Universal Time (UTC)\",\n currentTimeOffsetInMinutes: 0,\n currentTimeFormat: \"+00:00 Coordinated Universal Time (UTC)\",\n};\n","// @ts-expect-error TS(7016): Could not find a declaration file for module 'stri... Remove this comment to see the full error message\nimport StringMask from 'string-mask';\nimport { getTimeZones } from '@vvo/tzdb';\nimport { isValidTimeZone } from '../../shared/dateHelpers';\n\nconst getErrorMessage = (errors: any, field: any, label: any) => {\n if (!errors) {\n return '';\n }\n\n const err = errors[field];\n\n if (!err) {\n return '';\n }\n if (err.message) {\n return err.message;\n }\n if (err.type === 'required') {\n return `${label} is required`;\n }\n if (err.type === 'maxLength') {\n return `${label} is too long`;\n }\n if (err.type === 'minLength') {\n return `${label} is too short`;\n }\n\n return '';\n};\n\nconst isValidEmail = (email: any) => {\n const result = { valid: false, error: '' };\n\n try {\n if (!email) {\n result.error = 'Email Address is required';\n\n return result;\n }\n\n // Covers 99.99% of emails in theory... https://emailregex.com/\n // eslint-disable-next-line no-useless-escape\n const expression =\n /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n\n if (email && !expression.test(String(email))) {\n result.error = 'Invalid email format';\n\n return result;\n }\n\n result.valid = true;\n\n return result;\n } catch (error) {\n console.error('Error validating email address: ', error);\n result.error = 'Could not validate email';\n\n return result;\n }\n};\n\nconst timeZones = () => {\n const allTimeZones = getTimeZones();\n\n const tzList = [];\n\n for (const tz of allTimeZones) {\n const { name, rawFormat } = tz;\n\n if (isValidTimeZone(name)) {\n tzList.push({ value: name, label: rawFormat });\n }\n }\n\n return tzList.sort((a, b) => (a.label > b.label ? 1 : -1));\n};\n\nconst maskPhone = (phoneNumber: any) => {\n const formatter = new StringMask('000-000-0000');\n\n return formatter.apply(phoneNumber);\n};\n\nconst isEmptyOrWhiteSpace = (string: any) => string === null || string === undefined || string.match(/^\\s*$/) !== null;\n\nexport { getErrorMessage, isValidEmail, isEmptyOrWhiteSpace, timeZones, maskPhone };\n","import React from 'react';\nimport { twCascade } from '@mariusmarais/tailwind-cascade';\nimport { useController } from 'react-hook-form';\nimport { getErrorMessage } from './utils';\n\nconst createOption = (data: any) => {\n if (React.isValidElement(data)) {\n return data;\n }\n if (data !== null && typeof data === 'object') {\n return (\n \n );\n }\n\n return ;\n};\n\ntype SelectInputProps = {\n label?: string;\n field: string;\n errorMessage?: string;\n formErrors?: any;\n containerClassName?: string;\n inputClassName?: string;\n labelClassName?: string;\n disabled?: boolean;\n defaultValue?: string;\n placeholder?: string;\n options?: (\n | React.ReactElement\n | {\n disabled?: boolean;\n label: string;\n value?: string;\n }\n | string\n )[];\n tooltip?: React.ReactNode;\n control: any;\n rules?: any;\n};\n\nconst SelectInput = ({\n label,\n field,\n formErrors,\n errorMessage,\n containerClassName,\n inputClassName,\n labelClassName,\n disabled,\n defaultValue = '',\n placeholder = '- Select an option -',\n options,\n tooltip,\n control,\n rules,\n}: SelectInputProps) => {\n const {\n field: { ref, onChange, value },\n } = useController({\n name: field,\n control,\n rules,\n defaultValue: defaultValue || '',\n });\n\n const error = errorMessage || getErrorMessage(formErrors, field, label);\n\n return (\n
\n
\n \n {label}\n {rules?.required && *}\n \n\n {tooltip &&
{tooltip}
}\n
\n\n \n \n\n {options && options.map(createOption)}\n \n
{error}
\n
\n );\n};\n\nSelectInput.displayName = 'SelectInput';\n\nexport default SelectInput;\n","import React from 'react';\nimport { twCascade } from '@mariusmarais/tailwind-cascade';\nimport { useController } from 'react-hook-form';\nimport { getErrorMessage } from './utils';\n\ntype Props = {\n label: string | any;\n field: string;\n formErrors?: any;\n errorMessage?: string;\n containerClassName?: string;\n inputClassName?: string;\n labelClassName?: string;\n disabled?: boolean;\n tooltip?: React.ReactNode;\n rows?: string;\n control: any;\n rules?: any;\n defaultValue?: string;\n};\n\nconst TextAreaInput = ({\n label,\n field,\n formErrors,\n errorMessage,\n labelClassName,\n containerClassName,\n inputClassName,\n disabled,\n tooltip,\n // @ts-expect-error TS(2322): Type 'number' is not assignable to type 'string'.\n rows = 2,\n control,\n rules,\n defaultValue,\n}: Props) => {\n const {\n field: { ref, onChange, value },\n } = useController({\n name: field,\n control,\n rules,\n defaultValue: defaultValue || '',\n });\n\n const error = errorMessage || getErrorMessage(formErrors, field, label);\n\n return (\n
\n
\n \n {tooltip &&
{tooltip}
}\n
\n\n \n
{error}
\n
\n );\n};\n\nTextAreaInput.displayName = 'TextAreaInput';\n\nexport default TextAreaInput;\n","import React from 'react';\nimport { twCascade } from '@mariusmarais/tailwind-cascade';\nimport { useController } from 'react-hook-form';\nimport { getErrorMessage } from './utils';\n\ntype Props = {\n label: string;\n field: string;\n formErrors?: any;\n errorMessage?: string;\n onSubmit?: (...args: any[]) => any;\n containerClassName?: string;\n inputClassName?: string;\n labelClassName?: string;\n type?: string;\n disabled?: boolean;\n readOnly?: boolean;\n autoFocus?: boolean;\n purple?: boolean;\n tooltip?: React.ReactNode;\n defaultValue?: string;\n control: any;\n rules?: any;\n};\n\nconst TextInput = ({\n label,\n field,\n formErrors,\n errorMessage,\n onSubmit,\n tooltip,\n containerClassName = '',\n inputClassName = '',\n labelClassName = '',\n type = 'text',\n disabled,\n readOnly,\n autoFocus,\n purple,\n control,\n defaultValue,\n rules,\n}: Props) => {\n const {\n field: { ref, onChange, value },\n } = useController({\n name: field,\n control,\n rules,\n defaultValue: defaultValue || '',\n });\n\n const error = errorMessage || getErrorMessage(formErrors, field, label);\n\n const labelColor = purple ? 'text-gray-200' : 'text-blue-900';\n const textColor = purple ? 'text-gray-200' : 'text-purple-700';\n const backgroundColor = purple ? 'bg-purple-700' : 'text-white';\n const borderColor = purple ? 'border-gray-200' : 'border-b-300';\n const focusBorderColor = purple ? 'focus:border-white' : 'focus:border-purple-700';\n\n const onKeyDown = (e: any) => {\n if (e.key === 'Enter' && onSubmit && !disabled) {\n onSubmit();\n }\n };\n\n return (\n
\n
\n \n {label}\n {rules?.required && *}\n \n {tooltip &&
{tooltip}
}\n
\n null)}\n onKeyDown={onKeyDown}\n className={twCascade(\n 'px-2',\n 'w-full',\n 'leading-tight',\n 'border',\n 'border-solid',\n 'rounded',\n error ? '' : borderColor,\n backgroundColor,\n textColor,\n 'focus:ring-0',\n focusBorderColor,\n error ? 'border-red-700' : '',\n readOnly ? 'bg-gray-100' : '',\n inputClassName\n )}\n style={{\n // @ts-expect-error TS(2322): Type '{ '--ring-color': string; }' is not assignab... Remove this comment to see the full error message\n '--ring-color': purple ? 'white' : 'transparent', // Not supported in this version of tailwind\n }}\n // eslint-disable-next-line\n autoFocus={autoFocus}\n />\n
{error}
\n
\n );\n};\n\nTextInput.displayName = 'TextInput';\n\nexport default TextInput;\n","import React from 'react';\nimport { twCascade } from '@mariusmarais/tailwind-cascade';\nimport { getErrorMessage } from './utils';\n\ntype Props = {\n label: string;\n field: string;\n formErrors?: any;\n errorMessage?: string;\n onChange?: (...args: any[]) => any;\n onSubmit?: (...args: any[]) => any;\n containerClassName?: string;\n inputClassName?: string;\n labelClassName?: string;\n type?: string;\n disabled?: boolean;\n readOnly?: boolean;\n autoFocus?: boolean;\n purple?: boolean;\n tooltip?: React.ReactNode;\n};\n\nconst TextInputNoControl = React.forwardRef(\n (\n {\n label,\n field,\n formErrors,\n errorMessage,\n onChange,\n onSubmit,\n tooltip,\n containerClassName = '',\n inputClassName = '',\n labelClassName = '',\n type = 'text',\n disabled,\n readOnly,\n autoFocus,\n purple,\n },\n ref\n ) => {\n const error = errorMessage || getErrorMessage(formErrors, field, label);\n\n const labelColor = purple ? 'text-gray-200' : 'text-blue-900';\n const textColor = purple ? 'text-gray-200' : 'text-purple-700';\n const backgroundColor = purple ? 'bg-purple-700' : 'text-white';\n const borderColor = purple ? 'border-gray-200' : 'border-b-300';\n const focusBorderColor = purple ? 'focus:border-white' : 'focus:border-purple-700';\n\n const onKeyDown = (e: any) => {\n if (e.key === 'Enter' && onSubmit && !disabled) {\n onSubmit();\n }\n };\n\n return (\n
\n
\n \n {label}\n \n {tooltip &&
{tooltip}
}\n
\n\n null)}\n onKeyDown={onKeyDown}\n className={twCascade(\n 'px-2',\n 'w-full',\n 'leading-tight',\n 'border',\n 'border-solid',\n 'rounded',\n error ? '' : borderColor,\n backgroundColor,\n textColor,\n 'focus:ring-0',\n focusBorderColor,\n error ? 'border-red-700' : '',\n readOnly ? 'bg-gray-100' : '',\n inputClassName\n )}\n style={{\n // @ts-expect-error TS(2322): Type '{ '--ring-color': string; }' is not assignab... Remove this comment to see the full error message\n '--ring-color': purple ? 'white' : 'transparent', // Not supported in this version of tailwind\n }}\n // eslint-disable-next-line\n autoFocus={autoFocus}\n />\n
{error}
\n
\n );\n }\n);\n\nTextInputNoControl.displayName = 'TextInputNoControl';\n\nexport default TextInputNoControl;\n","import { twCascade } from '@mariusmarais/tailwind-cascade';\nimport { Control, DeepMap, FieldError, FieldValues, RegisterOptions, useController } from 'react-hook-form';\nimport Cleave from 'cleave.js/react';\n// eslint-disable-next-line import/no-unresolved\nimport { CleaveOptions } from 'cleave.js/options';\nimport { getErrorMessage } from './utils';\n\nimport 'cleave.js/dist/addons/cleave-phone.us';\n\ninterface Props {\n label: string;\n field: Extract;\n rules?: Omit;\n formErrors?: DeepMap;\n control: Control;\n options: CleaveOptions;\n disabled?: boolean;\n}\n\nfunction MaskInput({ label, field, rules, formErrors, control, options, disabled }: Props) {\n const {\n field: { ref, onChange, ...inputProps },\n } = useController({\n name: field,\n control,\n rules,\n defaultValue: '',\n });\n\n const error = getErrorMessage(formErrors, field, label);\n\n const labelColor = 'text-blue-900';\n const textColor = 'text-purple-700';\n const backgroundColor = 'text-white';\n const focusBorderColor = 'focus:border-purple-700';\n\n // Cleave does not rerender to display error red border. Hence this function\n const getBorderColor = () => {\n if (error) return 'border-red-700';\n\n return 'border-b-300';\n };\n\n return (\n
\n
\n \n {label}\n {rules?.required && *}\n \n
\n (ref.current = e)}\n disabled={disabled}\n onChange={e => onChange(e.target.rawValue)}\n options={options}\n className={twCascade(\n 'px-2',\n 'w-full',\n 'leading-tight',\n 'border',\n 'border-solid',\n 'rounded',\n getBorderColor(),\n backgroundColor,\n textColor,\n 'focus:ring-0',\n focusBorderColor\n )}\n />\n
{error}
\n
\n );\n}\n\nMaskInput.displayName = 'MaskInput';\n\nexport default MaskInput;\n","/*\n\nBased off glamor's StyleSheet, thanks Sunil ❤️\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n// $FlowFixMe\nfunction sheetForTag(tag) {\n if (tag.sheet) {\n // $FlowFixMe\n return tag.sheet;\n } // this weirdness brought to you by firefox\n\n /* istanbul ignore next */\n\n\n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n // $FlowFixMe\n return document.styleSheets[i];\n }\n }\n}\n\nfunction createStyleElement(options) {\n var tag = document.createElement('style');\n tag.setAttribute('data-emotion', options.key);\n\n if (options.nonce !== undefined) {\n tag.setAttribute('nonce', options.nonce);\n }\n\n tag.appendChild(document.createTextNode(''));\n tag.setAttribute('data-s', '');\n return tag;\n}\n\nvar StyleSheet = /*#__PURE__*/function () {\n // Using Node instead of HTMLElement since container may be a ShadowRoot\n function StyleSheet(options) {\n var _this = this;\n\n this._insertTag = function (tag) {\n var before;\n\n if (_this.tags.length === 0) {\n if (_this.insertionPoint) {\n before = _this.insertionPoint.nextSibling;\n } else if (_this.prepend) {\n before = _this.container.firstChild;\n } else {\n before = _this.before;\n }\n } else {\n before = _this.tags[_this.tags.length - 1].nextSibling;\n }\n\n _this.container.insertBefore(tag, before);\n\n _this.tags.push(tag);\n };\n\n this.isSpeedy = options.speedy === undefined ? process.env.NODE_ENV === 'production' : options.speedy;\n this.tags = [];\n this.ctr = 0;\n this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n this.key = options.key;\n this.container = options.container;\n this.prepend = options.prepend;\n this.insertionPoint = options.insertionPoint;\n this.before = null;\n }\n\n var _proto = StyleSheet.prototype;\n\n _proto.hydrate = function hydrate(nodes) {\n nodes.forEach(this._insertTag);\n };\n\n _proto.insert = function insert(rule) {\n // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n // it's 1 in dev because we insert source maps that map a single rule to a location\n // and you can only have one source map per style tag\n if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n this._insertTag(createStyleElement(this));\n }\n\n var tag = this.tags[this.tags.length - 1];\n\n if (process.env.NODE_ENV !== 'production') {\n var isImportRule = rule.charCodeAt(0) === 64 && rule.charCodeAt(1) === 105;\n\n if (isImportRule && this._alreadyInsertedOrderInsensitiveRule) {\n // this would only cause problem in speedy mode\n // but we don't want enabling speedy to affect the observable behavior\n // so we report this error at all times\n console.error(\"You're attempting to insert the following rule:\\n\" + rule + '\\n\\n`@import` rules must be before all other types of rules in a stylesheet but other rules have already been inserted. Please ensure that `@import` rules are before all other rules.');\n }\n this._alreadyInsertedOrderInsensitiveRule = this._alreadyInsertedOrderInsensitiveRule || !isImportRule;\n }\n\n if (this.isSpeedy) {\n var sheet = sheetForTag(tag);\n\n try {\n // this is the ultrafast version, works across browsers\n // the big drawback is that the css won't be editable in devtools\n sheet.insertRule(rule, sheet.cssRules.length);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production' && !/:(-moz-placeholder|-moz-focus-inner|-moz-focusring|-ms-input-placeholder|-moz-read-write|-moz-read-only|-ms-clear|-ms-expand|-ms-reveal){/.test(rule)) {\n console.error(\"There was a problem inserting the following rule: \\\"\" + rule + \"\\\"\", e);\n }\n }\n } else {\n tag.appendChild(document.createTextNode(rule));\n }\n\n this.ctr++;\n };\n\n _proto.flush = function flush() {\n // $FlowFixMe\n this.tags.forEach(function (tag) {\n return tag.parentNode && tag.parentNode.removeChild(tag);\n });\n this.tags = [];\n this.ctr = 0;\n\n if (process.env.NODE_ENV !== 'production') {\n this._alreadyInsertedOrderInsensitiveRule = false;\n }\n };\n\n return StyleSheet;\n}();\n\nexport { StyleSheet };\n","/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @return {number}\n */\nexport function indexof (value, search) {\n\treturn value.indexOf(search)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n","import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: ''}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0), root, {length: -root.length}, props)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n","export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\nexport var LAYER = '@layer'\n","import {IMPORT, LAYER, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen, sizeof} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\tvar length = sizeof(children)\n\n\tfor (var i = 0; i < length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase LAYER: if (element.children.length) break\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: element.value = element.props.join(',')\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, charat, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && charat(characters, length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f') != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset: if (ampersand == -1) characters = replace(characters, /\\f/g, '')\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule === 99 && charat(characters, 3) === 110 ? 100 : atrule) {\n\t\t\t\t\t\t\t\t\t// d l m s\n\t\t\t\t\t\t\t\t\tcase 100: case 108: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @return {object}\n */\nexport function comment (value, root, parent) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @return {object}\n */\nexport function declaration (value, root, parent, length) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length)\n}\n","import { StyleSheet } from '@emotion/sheet';\nimport { dealloc, alloc, next, token, from, peek, delimit, slice, position, RULESET, combine, match, serialize, copy, replace, WEBKIT, MOZ, MS, KEYFRAMES, DECLARATION, hash, charat, strlen, indexof, stringify, COMMENT, rulesheet, middleware, compile } from 'stylis';\nimport '@emotion/weak-memoize';\nimport '@emotion/memoize';\n\nvar identifierWithPointTracking = function identifierWithPointTracking(begin, points, index) {\n var previous = 0;\n var character = 0;\n\n while (true) {\n previous = character;\n character = peek(); // &\\f\n\n if (previous === 38 && character === 12) {\n points[index] = 1;\n }\n\n if (token(character)) {\n break;\n }\n\n next();\n }\n\n return slice(begin, position);\n};\n\nvar toRules = function toRules(parsed, points) {\n // pretend we've started with a comma\n var index = -1;\n var character = 44;\n\n do {\n switch (token(character)) {\n case 0:\n // &\\f\n if (character === 38 && peek() === 12) {\n // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings\n // stylis inserts \\f after & to know when & where it should replace this sequence with the context selector\n // and when it should just concatenate the outer and inner selectors\n // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here\n points[index] = 1;\n }\n\n parsed[index] += identifierWithPointTracking(position - 1, points, index);\n break;\n\n case 2:\n parsed[index] += delimit(character);\n break;\n\n case 4:\n // comma\n if (character === 44) {\n // colon\n parsed[++index] = peek() === 58 ? '&\\f' : '';\n points[index] = parsed[index].length;\n break;\n }\n\n // fallthrough\n\n default:\n parsed[index] += from(character);\n }\n } while (character = next());\n\n return parsed;\n};\n\nvar getRules = function getRules(value, points) {\n return dealloc(toRules(alloc(value), points));\n}; // WeakSet would be more appropriate, but only WeakMap is supported in IE11\n\n\nvar fixedElements = /* #__PURE__ */new WeakMap();\nvar compat = function compat(element) {\n if (element.type !== 'rule' || !element.parent || // positive .length indicates that this rule contains pseudo\n // negative .length indicates that this rule has been already prefixed\n element.length < 1) {\n return;\n }\n\n var value = element.value,\n parent = element.parent;\n var isImplicitRule = element.column === parent.column && element.line === parent.line;\n\n while (parent.type !== 'rule') {\n parent = parent.parent;\n if (!parent) return;\n } // short-circuit for the simplest case\n\n\n if (element.props.length === 1 && value.charCodeAt(0) !== 58\n /* colon */\n && !fixedElements.get(parent)) {\n return;\n } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)\n // then the props has already been manipulated beforehand as they that array is shared between it and its \"rule parent\"\n\n\n if (isImplicitRule) {\n return;\n }\n\n fixedElements.set(element, true);\n var points = [];\n var rules = getRules(value, points);\n var parentRules = parent.props;\n\n for (var i = 0, k = 0; i < rules.length; i++) {\n for (var j = 0; j < parentRules.length; j++, k++) {\n element.props[k] = points[i] ? rules[i].replace(/&\\f/g, parentRules[j]) : parentRules[j] + \" \" + rules[i];\n }\n }\n};\nvar removeLabel = function removeLabel(element) {\n if (element.type === 'decl') {\n var value = element.value;\n\n if ( // charcode for l\n value.charCodeAt(0) === 108 && // charcode for b\n value.charCodeAt(2) === 98) {\n // this ignores label\n element[\"return\"] = '';\n element.value = '';\n }\n }\n};\nvar ignoreFlag = 'emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason';\n\nvar isIgnoringComment = function isIgnoringComment(element) {\n return element.type === 'comm' && element.children.indexOf(ignoreFlag) > -1;\n};\n\nvar createUnsafeSelectorsAlarm = function createUnsafeSelectorsAlarm(cache) {\n return function (element, index, children) {\n if (element.type !== 'rule' || cache.compat) return;\n var unsafePseudoClasses = element.value.match(/(:first|:nth|:nth-last)-child/g);\n\n if (unsafePseudoClasses) {\n var isNested = !!element.parent; // in nested rules comments become children of the \"auto-inserted\" rule and that's always the `element.parent`\n //\n // considering this input:\n // .a {\n // .b /* comm */ {}\n // color: hotpink;\n // }\n // we get output corresponding to this:\n // .a {\n // & {\n // /* comm */\n // color: hotpink;\n // }\n // .b {}\n // }\n\n var commentContainer = isNested ? element.parent.children : // global rule at the root level\n children;\n\n for (var i = commentContainer.length - 1; i >= 0; i--) {\n var node = commentContainer[i];\n\n if (node.line < element.line) {\n break;\n } // it is quite weird but comments are *usually* put at `column: element.column - 1`\n // so we seek *from the end* for the node that is earlier than the rule's `element` and check that\n // this will also match inputs like this:\n // .a {\n // /* comm */\n // .b {}\n // }\n //\n // but that is fine\n //\n // it would be the easiest to change the placement of the comment to be the first child of the rule:\n // .a {\n // .b { /* comm */ }\n // }\n // with such inputs we wouldn't have to search for the comment at all\n // TODO: consider changing this comment placement in the next major version\n\n\n if (node.column < element.column) {\n if (isIgnoringComment(node)) {\n return;\n }\n\n break;\n }\n }\n\n unsafePseudoClasses.forEach(function (unsafePseudoClass) {\n console.error(\"The pseudo class \\\"\" + unsafePseudoClass + \"\\\" is potentially unsafe when doing server-side rendering. Try changing it to \\\"\" + unsafePseudoClass.split('-child')[0] + \"-of-type\\\".\");\n });\n }\n };\n};\n\nvar isImportRule = function isImportRule(element) {\n return element.type.charCodeAt(1) === 105 && element.type.charCodeAt(0) === 64;\n};\n\nvar isPrependedWithRegularRules = function isPrependedWithRegularRules(index, children) {\n for (var i = index - 1; i >= 0; i--) {\n if (!isImportRule(children[i])) {\n return true;\n }\n }\n\n return false;\n}; // use this to remove incorrect elements from further processing\n// so they don't get handed to the `sheet` (or anything else)\n// as that could potentially lead to additional logs which in turn could be overhelming to the user\n\n\nvar nullifyElement = function nullifyElement(element) {\n element.type = '';\n element.value = '';\n element[\"return\"] = '';\n element.children = '';\n element.props = '';\n};\n\nvar incorrectImportAlarm = function incorrectImportAlarm(element, index, children) {\n if (!isImportRule(element)) {\n return;\n }\n\n if (element.parent) {\n console.error(\"`@import` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles.\");\n nullifyElement(element);\n } else if (isPrependedWithRegularRules(index, children)) {\n console.error(\"`@import` rules can't be after other rules. Please put your `@import` rules before your other rules.\");\n nullifyElement(element);\n }\n};\n\n/* eslint-disable no-fallthrough */\n\nfunction prefix(value, length) {\n switch (hash(value, length)) {\n // color-adjust\n case 5103:\n return WEBKIT + 'print-' + value + value;\n // animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\n case 5737:\n case 4201:\n case 3177:\n case 3433:\n case 1641:\n case 4457:\n case 2921: // text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\n case 5572:\n case 6356:\n case 5844:\n case 3191:\n case 6645:\n case 3005: // mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\n case 6391:\n case 5879:\n case 5623:\n case 6135:\n case 4599:\n case 4855: // background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\n case 4215:\n case 6389:\n case 5109:\n case 5365:\n case 5621:\n case 3829:\n return WEBKIT + value + value;\n // appearance, user-select, transform, hyphens, text-size-adjust\n\n case 5349:\n case 4246:\n case 4810:\n case 6968:\n case 2756:\n return WEBKIT + value + MOZ + value + MS + value + value;\n // flex, flex-direction\n\n case 6828:\n case 4268:\n return WEBKIT + value + MS + value + value;\n // order\n\n case 6165:\n return WEBKIT + value + MS + 'flex-' + value + value;\n // align-items\n\n case 5187:\n return WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value;\n // align-self\n\n case 5443:\n return WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/, '') + value;\n // align-content\n\n case 4675:\n return WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/, '') + value;\n // flex-shrink\n\n case 5548:\n return WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value;\n // flex-basis\n\n case 5292:\n return WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value;\n // flex-grow\n\n case 6060:\n return WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value;\n // transition\n\n case 4554:\n return WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value;\n // cursor\n\n case 6187:\n return replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value;\n // background, background-image\n\n case 5495:\n case 3959:\n return replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1');\n // justify-content\n\n case 4968:\n return replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value;\n // (margin|padding)-inline-(start|end)\n\n case 4095:\n case 3583:\n case 4068:\n case 2532:\n return replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value;\n // (min|max)?(width|height|inline-size|block-size)\n\n case 8116:\n case 7059:\n case 5753:\n case 5535:\n case 5445:\n case 5701:\n case 4933:\n case 4677:\n case 5533:\n case 5789:\n case 5021:\n case 4765:\n // stretch, max-content, min-content, fill-available\n if (strlen(value) - 1 - length > 6) switch (charat(value, length + 1)) {\n // (m)ax-content, (m)in-content\n case 109:\n // -\n if (charat(value, length + 4) !== 45) break;\n // (f)ill-available, (f)it-content\n\n case 102:\n return replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value;\n // (s)tretch\n\n case 115:\n return ~indexof(value, 'stretch') ? prefix(replace(value, 'stretch', 'fill-available'), length) + value : value;\n }\n break;\n // position: sticky\n\n case 4949:\n // (s)ticky?\n if (charat(value, length + 1) !== 115) break;\n // display: (flex|inline-flex)\n\n case 6444:\n switch (charat(value, strlen(value) - 3 - (~indexof(value, '!important') && 10))) {\n // stic(k)y\n case 107:\n return replace(value, ':', ':' + WEBKIT) + value;\n // (inline-)?fl(e)x\n\n case 101:\n return replace(value, /(.+:)([^;!]+)(;|!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value;\n }\n\n break;\n // writing-mode\n\n case 5936:\n switch (charat(value, length + 11)) {\n // vertical-l(r)\n case 114:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value;\n // vertical-r(l)\n\n case 108:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value;\n // horizontal(-)tb\n\n case 45:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value;\n }\n\n return WEBKIT + value + MS + value + value;\n }\n\n return value;\n}\n\nvar prefixer = function prefixer(element, index, children, callback) {\n if (element.length > -1) if (!element[\"return\"]) switch (element.type) {\n case DECLARATION:\n element[\"return\"] = prefix(element.value, element.length);\n break;\n\n case KEYFRAMES:\n return serialize([copy(element, {\n value: replace(element.value, '@', '@' + WEBKIT)\n })], callback);\n\n case RULESET:\n if (element.length) return combine(element.props, function (value) {\n switch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n // :read-(only|write)\n case ':read-only':\n case ':read-write':\n return serialize([copy(element, {\n props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]\n })], callback);\n // :placeholder\n\n case '::placeholder':\n return serialize([copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]\n })], callback);\n }\n\n return '';\n });\n }\n};\n\nvar defaultStylisPlugins = [prefixer];\n\nvar createCache = function createCache(options) {\n var key = options.key;\n\n if (process.env.NODE_ENV !== 'production' && !key) {\n throw new Error(\"You have to configure `key` for your cache. Please make sure it's unique (and not equal to 'css') as it's used for linking styles to your cache.\\n\" + \"If multiple caches share the same key they might \\\"fight\\\" for each other's style elements.\");\n }\n\n if (key === 'css') {\n var ssrStyles = document.querySelectorAll(\"style[data-emotion]:not([data-s])\"); // get SSRed styles out of the way of React's hydration\n // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)\n // note this very very intentionally targets all style elements regardless of the key to ensure\n // that creating a cache works inside of render of a React component\n\n Array.prototype.forEach.call(ssrStyles, function (node) {\n // we want to only move elements which have a space in the data-emotion attribute value\n // because that indicates that it is an Emotion 11 server-side rendered style elements\n // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector\n // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes)\n // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles\n // will not result in the Emotion 10 styles being destroyed\n var dataEmotionAttribute = node.getAttribute('data-emotion');\n\n if (dataEmotionAttribute.indexOf(' ') === -1) {\n return;\n }\n document.head.appendChild(node);\n node.setAttribute('data-s', '');\n });\n }\n\n var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe\n if (/[^a-z-]/.test(key)) {\n throw new Error(\"Emotion key must only contain lower case alphabetical characters and - but \\\"\" + key + \"\\\" was passed\");\n }\n }\n\n var inserted = {};\n var container;\n var nodesToHydrate = [];\n\n {\n container = options.container || document.head;\n Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which\n // means that the style elements we're looking at are only Emotion 11 server-rendered style elements\n document.querySelectorAll(\"style[data-emotion^=\\\"\" + key + \" \\\"]\"), function (node) {\n var attrib = node.getAttribute(\"data-emotion\").split(' '); // $FlowFixMe\n\n for (var i = 1; i < attrib.length; i++) {\n inserted[attrib[i]] = true;\n }\n\n nodesToHydrate.push(node);\n });\n }\n\n var _insert;\n\n var omnipresentPlugins = [compat, removeLabel];\n\n if (process.env.NODE_ENV !== 'production') {\n omnipresentPlugins.push(createUnsafeSelectorsAlarm({\n get compat() {\n return cache.compat;\n }\n\n }), incorrectImportAlarm);\n }\n\n {\n var currentSheet;\n var finalizingPlugins = [stringify, process.env.NODE_ENV !== 'production' ? function (element) {\n if (!element.root) {\n if (element[\"return\"]) {\n currentSheet.insert(element[\"return\"]);\n } else if (element.value && element.type !== COMMENT) {\n // insert empty rule in non-production environments\n // so @emotion/jest can grab `key` from the (JS)DOM for caches without any rules inserted yet\n currentSheet.insert(element.value + \"{}\");\n }\n }\n } : rulesheet(function (rule) {\n currentSheet.insert(rule);\n })];\n var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));\n\n var stylis = function stylis(styles) {\n return serialize(compile(styles), serializer);\n };\n\n _insert = function insert(selector, serialized, sheet, shouldCache) {\n currentSheet = sheet;\n\n if (process.env.NODE_ENV !== 'production' && serialized.map !== undefined) {\n currentSheet = {\n insert: function insert(rule) {\n sheet.insert(rule + serialized.map);\n }\n };\n }\n\n stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n\n if (shouldCache) {\n cache.inserted[serialized.name] = true;\n }\n };\n }\n\n var cache = {\n key: key,\n sheet: new StyleSheet({\n key: key,\n container: container,\n nonce: options.nonce,\n speedy: options.speedy,\n prepend: options.prepend,\n insertionPoint: options.insertionPoint\n }),\n nonce: options.nonce,\n inserted: inserted,\n registered: {},\n insert: _insert\n };\n cache.sheet.hydrate(nodesToHydrate);\n return cache;\n};\n\nexport { createCache as default };\n","import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine} from './Utility.js'\nimport {copy, tokenize} from './Tokenizer.js'\nimport {serialize} from './Serializer.js'\nimport {prefix} from './Prefixer.js'\n\n/**\n * @param {function[]} collection\n * @return {function}\n */\nexport function middleware (collection) {\n\tvar length = sizeof(collection)\n\n\treturn function (element, index, children, callback) {\n\t\tvar output = ''\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\toutput += collection[i](element, index, children, callback) || ''\n\n\t\treturn output\n\t}\n}\n\n/**\n * @param {function} callback\n * @return {function}\n */\nexport function rulesheet (callback) {\n\treturn function (element) {\n\t\tif (!element.root)\n\t\t\tif (element = element.return)\n\t\t\t\tcallback(element)\n\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\nexport function prefixer (element, index, children, callback) {\n\tif (element.length > -1)\n\t\tif (!element.return)\n\t\t\tswitch (element.type) {\n\t\t\t\tcase DECLARATION: element.return = prefix(element.value, element.length, children)\n\t\t\t\t\treturn\n\t\t\t\tcase KEYFRAMES:\n\t\t\t\t\treturn serialize([copy(element, {value: replace(element.value, '@', '@' + WEBKIT)})], callback)\n\t\t\t\tcase RULESET:\n\t\t\t\t\tif (element.length)\n\t\t\t\t\t\treturn combine(element.props, function (value) {\n\t\t\t\t\t\t\tswitch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n\t\t\t\t\t\t\t\t// :read-(only|write)\n\t\t\t\t\t\t\t\tcase ':read-only': case ':read-write':\n\t\t\t\t\t\t\t\t\treturn serialize([copy(element, {props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]})], callback)\n\t\t\t\t\t\t\t\t// :placeholder\n\t\t\t\t\t\t\t\tcase '::placeholder':\n\t\t\t\t\t\t\t\t\treturn serialize([\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]})\n\t\t\t\t\t\t\t\t\t], callback)\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn ''\n\t\t\t\t\t\t})\n\t\t\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n */\nexport function namespace (element) {\n\tswitch (element.type) {\n\t\tcase RULESET:\n\t\t\telement.props = element.props.map(function (value) {\n\t\t\t\treturn combine(tokenize(value), function (value, index, children) {\n\t\t\t\t\tswitch (charat(value, 0)) {\n\t\t\t\t\t\t// \\f\n\t\t\t\t\t\tcase 12:\n\t\t\t\t\t\t\treturn substr(value, 1, strlen(value))\n\t\t\t\t\t\t// \\0 ( + > ~\n\t\t\t\t\t\tcase 0: case 40: case 43: case 62: case 126:\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t// :\n\t\t\t\t\t\tcase 58:\n\t\t\t\t\t\t\tif (children[++index] === 'global')\n\t\t\t\t\t\t\t\tchildren[index] = '', children[++index] = '\\f' + substr(children[index], index = 1, -1)\n\t\t\t\t\t\t// \\s\n\t\t\t\t\t\tcase 32:\n\t\t\t\t\t\t\treturn index === 1 ? '' : value\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tswitch (index) {\n\t\t\t\t\t\t\t\tcase 0: element = value\n\t\t\t\t\t\t\t\t\treturn sizeof(children) > 1 ? '' : value\n\t\t\t\t\t\t\t\tcase index = sizeof(children) - 1: case 2:\n\t\t\t\t\t\t\t\t\treturn index === 2 ? value + element + element : value + element\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n","var isBrowser = \"object\" !== 'undefined';\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className] + \";\");\n } else {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar registerStyles = function registerStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false ) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n};\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n registerStyles(cache, serialized, isStringTag);\n var className = cache.key + \"-\" + serialized.name;\n\n if (cache.inserted[serialized.name] === undefined) {\n var current = serialized;\n\n do {\n cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n current = current.next;\n } while (current !== undefined);\n }\n};\n\nexport { getRegisteredStyles, insertStyles, registerStyles };\n","var unitlessKeys = {\n animationIterationCount: 1,\n aspectRatio: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport { unitlessKeys as default };\n","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport { memoize as default };\n","import hashString from '@emotion/hash';\nimport unitless from '@emotion/unitless';\nimport memoize from '@emotion/memoize';\n\nvar ILLEGAL_ESCAPE_SEQUENCE_ERROR = \"You have illegal escape sequence in your template literal, most likely inside content's property value.\\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \\\"content: '\\\\00d7';\\\" should become \\\"content: '\\\\\\\\00d7';\\\".\\nYou can read more about this here:\\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\";\nvar UNDEFINED_AS_OBJECT_KEY_ERROR = \"You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key).\";\nvar hyphenateRegex = /[A-Z]|^ms/g;\nvar animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;\n\nvar isCustomProperty = function isCustomProperty(property) {\n return property.charCodeAt(1) === 45;\n};\n\nvar isProcessableValue = function isProcessableValue(value) {\n return value != null && typeof value !== 'boolean';\n};\n\nvar processStyleName = /* #__PURE__ */memoize(function (styleName) {\n return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();\n});\n\nvar processStyleValue = function processStyleValue(key, value) {\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n if (typeof value === 'string') {\n return value.replace(animationRegex, function (match, p1, p2) {\n cursor = {\n name: p1,\n styles: p2,\n next: cursor\n };\n return p1;\n });\n }\n }\n }\n\n if (unitless[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {\n return value + 'px';\n }\n\n return value;\n};\n\nif (process.env.NODE_ENV !== 'production') {\n var contentValuePattern = /(var|attr|counters?|url|element|(((repeating-)?(linear|radial))|conic)-gradient)\\(|(no-)?(open|close)-quote/;\n var contentValues = ['normal', 'none', 'initial', 'inherit', 'unset'];\n var oldProcessStyleValue = processStyleValue;\n var msPattern = /^-ms-/;\n var hyphenPattern = /-(.)/g;\n var hyphenatedCache = {};\n\n processStyleValue = function processStyleValue(key, value) {\n if (key === 'content') {\n if (typeof value !== 'string' || contentValues.indexOf(value) === -1 && !contentValuePattern.test(value) && (value.charAt(0) !== value.charAt(value.length - 1) || value.charAt(0) !== '\"' && value.charAt(0) !== \"'\")) {\n throw new Error(\"You seem to be using a value for 'content' without quotes, try replacing it with `content: '\\\"\" + value + \"\\\"'`\");\n }\n }\n\n var processed = oldProcessStyleValue(key, value);\n\n if (processed !== '' && !isCustomProperty(key) && key.indexOf('-') !== -1 && hyphenatedCache[key] === undefined) {\n hyphenatedCache[key] = true;\n console.error(\"Using kebab-case for css properties in objects is not supported. Did you mean \" + key.replace(msPattern, 'ms-').replace(hyphenPattern, function (str, _char) {\n return _char.toUpperCase();\n }) + \"?\");\n }\n\n return processed;\n };\n}\n\nvar noComponentSelectorMessage = 'Component selectors can only be used in conjunction with ' + '@emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware ' + 'compiler transform.';\n\nfunction handleInterpolation(mergedProps, registered, interpolation) {\n if (interpolation == null) {\n return '';\n }\n\n if (interpolation.__emotion_styles !== undefined) {\n if (process.env.NODE_ENV !== 'production' && interpolation.toString() === 'NO_COMPONENT_SELECTOR') {\n throw new Error(noComponentSelectorMessage);\n }\n\n return interpolation;\n }\n\n switch (typeof interpolation) {\n case 'boolean':\n {\n return '';\n }\n\n case 'object':\n {\n if (interpolation.anim === 1) {\n cursor = {\n name: interpolation.name,\n styles: interpolation.styles,\n next: cursor\n };\n return interpolation.name;\n }\n\n if (interpolation.styles !== undefined) {\n var next = interpolation.next;\n\n if (next !== undefined) {\n // not the most efficient thing ever but this is a pretty rare case\n // and there will be very few iterations of this generally\n while (next !== undefined) {\n cursor = {\n name: next.name,\n styles: next.styles,\n next: cursor\n };\n next = next.next;\n }\n }\n\n var styles = interpolation.styles + \";\";\n\n if (process.env.NODE_ENV !== 'production' && interpolation.map !== undefined) {\n styles += interpolation.map;\n }\n\n return styles;\n }\n\n return createStringFromObject(mergedProps, registered, interpolation);\n }\n\n case 'function':\n {\n if (mergedProps !== undefined) {\n var previousCursor = cursor;\n var result = interpolation(mergedProps);\n cursor = previousCursor;\n return handleInterpolation(mergedProps, registered, result);\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('Functions that are interpolated in css calls will be stringified.\\n' + 'If you want to have a css call based on props, create a function that returns a css call like this\\n' + 'let dynamicStyle = (props) => css`color: ${props.color}`\\n' + 'It can be called directly with props or interpolated in a styled call like this\\n' + \"let SomeComponent = styled('div')`${dynamicStyle}`\");\n }\n\n break;\n }\n\n case 'string':\n if (process.env.NODE_ENV !== 'production') {\n var matched = [];\n var replaced = interpolation.replace(animationRegex, function (match, p1, p2) {\n var fakeVarName = \"animation\" + matched.length;\n matched.push(\"const \" + fakeVarName + \" = keyframes`\" + p2.replace(/^@keyframes animation-\\w+/, '') + \"`\");\n return \"${\" + fakeVarName + \"}\";\n });\n\n if (matched.length) {\n console.error('`keyframes` output got interpolated into plain string, please wrap it with `css`.\\n\\n' + 'Instead of doing this:\\n\\n' + [].concat(matched, [\"`\" + replaced + \"`\"]).join('\\n') + '\\n\\nYou should wrap it with `css` like this:\\n\\n' + (\"css`\" + replaced + \"`\"));\n }\n }\n\n break;\n } // finalize string values (regular strings and functions interpolated into css calls)\n\n\n if (registered == null) {\n return interpolation;\n }\n\n var cached = registered[interpolation];\n return cached !== undefined ? cached : interpolation;\n}\n\nfunction createStringFromObject(mergedProps, registered, obj) {\n var string = '';\n\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n string += handleInterpolation(mergedProps, registered, obj[i]) + \";\";\n }\n } else {\n for (var _key in obj) {\n var value = obj[_key];\n\n if (typeof value !== 'object') {\n if (registered != null && registered[value] !== undefined) {\n string += _key + \"{\" + registered[value] + \"}\";\n } else if (isProcessableValue(value)) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value) + \";\";\n }\n } else {\n if (_key === 'NO_COMPONENT_SELECTOR' && process.env.NODE_ENV !== 'production') {\n throw new Error(noComponentSelectorMessage);\n }\n\n if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {\n for (var _i = 0; _i < value.length; _i++) {\n if (isProcessableValue(value[_i])) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value[_i]) + \";\";\n }\n }\n } else {\n var interpolated = handleInterpolation(mergedProps, registered, value);\n\n switch (_key) {\n case 'animation':\n case 'animationName':\n {\n string += processStyleName(_key) + \":\" + interpolated + \";\";\n break;\n }\n\n default:\n {\n if (process.env.NODE_ENV !== 'production' && _key === 'undefined') {\n console.error(UNDEFINED_AS_OBJECT_KEY_ERROR);\n }\n\n string += _key + \"{\" + interpolated + \"}\";\n }\n }\n }\n }\n }\n }\n\n return string;\n}\n\nvar labelPattern = /label:\\s*([^\\s;\\n{]+)\\s*(;|$)/g;\nvar sourceMapPattern;\n\nif (process.env.NODE_ENV !== 'production') {\n sourceMapPattern = /\\/\\*#\\ssourceMappingURL=data:application\\/json;\\S+\\s+\\*\\//g;\n} // this is the cursor for keyframes\n// keyframes are stored on the SerializedStyles object as a linked list\n\n\nvar cursor;\nvar serializeStyles = function serializeStyles(args, registered, mergedProps) {\n if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {\n return args[0];\n }\n\n var stringMode = true;\n var styles = '';\n cursor = undefined;\n var strings = args[0];\n\n if (strings == null || strings.raw === undefined) {\n stringMode = false;\n styles += handleInterpolation(mergedProps, registered, strings);\n } else {\n if (process.env.NODE_ENV !== 'production' && strings[0] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[0];\n } // we start at 1 since we've already handled the first arg\n\n\n for (var i = 1; i < args.length; i++) {\n styles += handleInterpolation(mergedProps, registered, args[i]);\n\n if (stringMode) {\n if (process.env.NODE_ENV !== 'production' && strings[i] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[i];\n }\n }\n\n var sourceMap;\n\n if (process.env.NODE_ENV !== 'production') {\n styles = styles.replace(sourceMapPattern, function (match) {\n sourceMap = match;\n return '';\n });\n } // using a global regex with .exec is stateful so lastIndex has to be reset each time\n\n\n labelPattern.lastIndex = 0;\n var identifierName = '';\n var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5\n\n while ((match = labelPattern.exec(styles)) !== null) {\n identifierName += '-' + // $FlowFixMe we know it's not null\n match[1];\n }\n\n var name = hashString(styles) + identifierName;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe SerializedStyles type doesn't have toString property (and we don't want to add it)\n return {\n name: name,\n styles: styles,\n map: sourceMap,\n next: cursor,\n toString: function toString() {\n return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\";\n }\n };\n }\n\n return {\n name: name,\n styles: styles,\n next: cursor\n };\n};\n\nexport { serializeStyles };\n","/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^=\n /* k >>> r: */\n k >>> 24;\n h =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n\n h ^= h >>> 13;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n\nexport { murmur2 as default };\n","import * as React from 'react';\n\nvar syncFallback = function syncFallback(create) {\n return create();\n};\n\nvar useInsertionEffect = React['useInsertion' + 'Effect'] ? React['useInsertion' + 'Effect'] : false;\nvar useInsertionEffectAlwaysWithSyncFallback = useInsertionEffect || syncFallback;\nvar useInsertionEffectWithLayoutFallback = useInsertionEffect || React.useLayoutEffect;\n\nexport { useInsertionEffectAlwaysWithSyncFallback, useInsertionEffectWithLayoutFallback };\n","import * as React from 'react';\nimport { useContext, forwardRef } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar isBrowser = \"object\" !== 'undefined';\nvar hasOwn = {}.hasOwnProperty;\n\nvar EmotionCacheContext = /* #__PURE__ */React.createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n key: 'css'\n}) : null);\n\nif (process.env.NODE_ENV !== 'production') {\n EmotionCacheContext.displayName = 'EmotionCacheContext';\n}\n\nvar CacheProvider = EmotionCacheContext.Provider;\nvar __unsafe_useEmotionCache = function useEmotionCache() {\n return useContext(EmotionCacheContext);\n};\n\nvar withEmotionCache = function withEmotionCache(func) {\n // $FlowFixMe\n return /*#__PURE__*/forwardRef(function (props, ref) {\n // the cache will never be null in the browser\n var cache = useContext(EmotionCacheContext);\n return func(props, cache, ref);\n });\n};\n\nif (!isBrowser) {\n withEmotionCache = function withEmotionCache(func) {\n return function (props) {\n var cache = useContext(EmotionCacheContext);\n\n if (cache === null) {\n // yes, we're potentially creating this on every render\n // it doesn't actually matter though since it's only on the server\n // so there will only every be a single render\n // that could change in the future because of suspense and etc. but for now,\n // this works and i don't want to optimise for a future thing that we aren't sure about\n cache = createCache({\n key: 'css'\n });\n return /*#__PURE__*/React.createElement(EmotionCacheContext.Provider, {\n value: cache\n }, func(props, cache));\n } else {\n return func(props, cache);\n }\n };\n };\n}\n\nvar ThemeContext = /* #__PURE__ */React.createContext({});\n\nif (process.env.NODE_ENV !== 'production') {\n ThemeContext.displayName = 'EmotionThemeContext';\n}\n\nvar useTheme = function useTheme() {\n return React.useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme, theme) {\n if (typeof theme === 'function') {\n var mergedTheme = theme(outerTheme);\n\n if (process.env.NODE_ENV !== 'production' && (mergedTheme == null || typeof mergedTheme !== 'object' || Array.isArray(mergedTheme))) {\n throw new Error('[ThemeProvider] Please return an object from your theme function, i.e. theme={() => ({})}!');\n }\n\n return mergedTheme;\n }\n\n if (process.env.NODE_ENV !== 'production' && (theme == null || typeof theme !== 'object' || Array.isArray(theme))) {\n throw new Error('[ThemeProvider] Please make your theme prop a plain object');\n }\n\n return _extends({}, outerTheme, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n return weakMemoize(function (theme) {\n return getTheme(outerTheme, theme);\n });\n});\nvar ThemeProvider = function ThemeProvider(props) {\n var theme = React.useContext(ThemeContext);\n\n if (props.theme !== theme) {\n theme = createCacheWithTheme(theme)(props.theme);\n }\n\n return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n value: theme\n }, props.children);\n};\nfunction withTheme(Component) {\n var componentName = Component.displayName || Component.name || 'Component';\n\n var render = function render(props, ref) {\n var theme = React.useContext(ThemeContext);\n return /*#__PURE__*/React.createElement(Component, _extends({\n theme: theme,\n ref: ref\n }, props));\n }; // $FlowFixMe\n\n\n var WithTheme = /*#__PURE__*/React.forwardRef(render);\n WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n return hoistNonReactStatics(WithTheme, Component);\n}\n\nvar getLastPart = function getLastPart(functionName) {\n // The match may be something like 'Object.createEmotionProps' or\n // 'Loader.prototype.render'\n var parts = functionName.split('.');\n return parts[parts.length - 1];\n};\n\nvar getFunctionNameFromStackTraceLine = function getFunctionNameFromStackTraceLine(line) {\n // V8\n var match = /^\\s+at\\s+([A-Za-z0-9$.]+)\\s/.exec(line);\n if (match) return getLastPart(match[1]); // Safari / Firefox\n\n match = /^([A-Za-z0-9$.]+)@/.exec(line);\n if (match) return getLastPart(match[1]);\n return undefined;\n};\n\nvar internalReactFunctionNames = /* #__PURE__ */new Set(['renderWithHooks', 'processChild', 'finishClassComponent', 'renderToString']); // These identifiers come from error stacks, so they have to be valid JS\n// identifiers, thus we only need to replace what is a valid character for JS,\n// but not for CSS.\n\nvar sanitizeIdentifier = function sanitizeIdentifier(identifier) {\n return identifier.replace(/\\$/g, '-');\n};\n\nvar getLabelFromStackTrace = function getLabelFromStackTrace(stackTrace) {\n if (!stackTrace) return undefined;\n var lines = stackTrace.split('\\n');\n\n for (var i = 0; i < lines.length; i++) {\n var functionName = getFunctionNameFromStackTraceLine(lines[i]); // The first line of V8 stack traces is just \"Error\"\n\n if (!functionName) continue; // If we reach one of these, we have gone too far and should quit\n\n if (internalReactFunctionNames.has(functionName)) break; // The component name is the first function in the stack that starts with an\n // uppercase letter\n\n if (/^[A-Z]/.test(functionName)) return sanitizeIdentifier(functionName);\n }\n\n return undefined;\n};\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type, props) {\n if (process.env.NODE_ENV !== 'production' && typeof props.css === 'string' && // check if there is a css declaration\n props.css.indexOf(':') !== -1) {\n throw new Error(\"Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/react' like this: css`\" + props.css + \"`\");\n }\n\n var newProps = {};\n\n for (var key in props) {\n if (hasOwn.call(props, key)) {\n newProps[key] = props[key];\n }\n }\n\n newProps[typePropName] = type; // For performance, only call getLabelFromStackTrace in development and when\n // the label hasn't already been computed\n\n if (process.env.NODE_ENV !== 'production' && !!props.css && (typeof props.css !== 'object' || typeof props.css.name !== 'string' || props.css.name.indexOf('-') === -1)) {\n var label = getLabelFromStackTrace(new Error().stack);\n if (label) newProps[labelPropName] = label;\n }\n\n return newProps;\n};\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serialized = _ref.serialized,\n isStringTag = _ref.isStringTag;\n registerStyles(cache, serialized, isStringTag);\n useInsertionEffectAlwaysWithSyncFallback(function () {\n return insertStyles(cache, serialized, isStringTag);\n });\n\n return null;\n};\n\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n // not passing the registered cache to serializeStyles because it would\n // make certain babel optimisations not possible\n\n if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n cssProp = cache.registered[cssProp];\n }\n\n var WrappedComponent = props[typePropName];\n var registeredStyles = [cssProp];\n var className = '';\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(registeredStyles, undefined, React.useContext(ThemeContext));\n\n if (process.env.NODE_ENV !== 'production' && serialized.name.indexOf('-') === -1) {\n var labelFromStack = props[labelPropName];\n\n if (labelFromStack) {\n serialized = serializeStyles([serialized, 'label:' + labelFromStack + ';']);\n }\n }\n\n className += cache.key + \"-\" + serialized.name;\n var newProps = {};\n\n for (var key in props) {\n if (hasOwn.call(props, key) && key !== 'css' && key !== typePropName && (process.env.NODE_ENV === 'production' || key !== labelPropName)) {\n newProps[key] = props[key];\n }\n }\n\n newProps.ref = ref;\n newProps.className = className;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof WrappedComponent === 'string'\n }), /*#__PURE__*/React.createElement(WrappedComponent, newProps));\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Emotion.displayName = 'EmotionCssPropInternal';\n}\n\nvar Emotion$1 = Emotion;\n\nexport { CacheProvider as C, Emotion$1 as E, ThemeContext as T, __unsafe_useEmotionCache as _, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwn as h, isBrowser as i, useTheme as u, withEmotionCache as w };\n","import { h as hasOwn, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext, i as isBrowser$1 } from './emotion-element-43c6fea0.browser.esm.js';\nexport { C as CacheProvider, T as ThemeContext, a as ThemeProvider, _ as __unsafe_useEmotionCache, u as useTheme, w as withEmotionCache, b as withTheme } from './emotion-element-43c6fea0.browser.esm.js';\nimport * as React from 'react';\nimport { insertStyles, registerStyles, getRegisteredStyles } from '@emotion/utils';\nimport { useInsertionEffectWithLayoutFallback, useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\nimport { serializeStyles } from '@emotion/serialize';\nimport '@emotion/cache';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport 'hoist-non-react-statics';\n\nvar pkg = {\n\tname: \"@emotion/react\",\n\tversion: \"11.11.4\",\n\tmain: \"dist/emotion-react.cjs.js\",\n\tmodule: \"dist/emotion-react.esm.js\",\n\tbrowser: {\n\t\t\"./dist/emotion-react.esm.js\": \"./dist/emotion-react.browser.esm.js\"\n\t},\n\texports: {\n\t\t\".\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./dist/emotion-react.worker.esm.js\",\n\t\t\t\tbrowser: \"./dist/emotion-react.browser.esm.js\",\n\t\t\t\t\"default\": \"./dist/emotion-react.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./dist/emotion-react.cjs.mjs\",\n\t\t\t\"default\": \"./dist/emotion-react.cjs.js\"\n\t\t},\n\t\t\"./jsx-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-runtime/dist/emotion-react-jsx-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.js\"\n\t\t},\n\t\t\"./_isolated-hnrs\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.worker.esm.js\",\n\t\t\t\tbrowser: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js\",\n\t\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.mjs\",\n\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.js\"\n\t\t},\n\t\t\"./jsx-dev-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"import\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.mjs\",\n\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.js\"\n\t\t},\n\t\t\"./package.json\": \"./package.json\",\n\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\"./macro\": {\n\t\t\ttypes: {\n\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t},\n\t\t\t\"default\": \"./macro.js\"\n\t\t}\n\t},\n\ttypes: \"types/index.d.ts\",\n\tfiles: [\n\t\t\"src\",\n\t\t\"dist\",\n\t\t\"jsx-runtime\",\n\t\t\"jsx-dev-runtime\",\n\t\t\"_isolated-hnrs\",\n\t\t\"types/*.d.ts\",\n\t\t\"macro.*\"\n\t],\n\tsideEffects: false,\n\tauthor: \"Emotion Contributors\",\n\tlicense: \"MIT\",\n\tscripts: {\n\t\t\"test:typescript\": \"dtslint types\"\n\t},\n\tdependencies: {\n\t\t\"@babel/runtime\": \"^7.18.3\",\n\t\t\"@emotion/babel-plugin\": \"^11.11.0\",\n\t\t\"@emotion/cache\": \"^11.11.0\",\n\t\t\"@emotion/serialize\": \"^1.1.3\",\n\t\t\"@emotion/use-insertion-effect-with-fallbacks\": \"^1.0.1\",\n\t\t\"@emotion/utils\": \"^1.2.1\",\n\t\t\"@emotion/weak-memoize\": \"^0.3.1\",\n\t\t\"hoist-non-react-statics\": \"^3.3.1\"\n\t},\n\tpeerDependencies: {\n\t\treact: \">=16.8.0\"\n\t},\n\tpeerDependenciesMeta: {\n\t\t\"@types/react\": {\n\t\t\toptional: true\n\t\t}\n\t},\n\tdevDependencies: {\n\t\t\"@definitelytyped/dtslint\": \"0.0.112\",\n\t\t\"@emotion/css\": \"11.11.2\",\n\t\t\"@emotion/css-prettifier\": \"1.1.3\",\n\t\t\"@emotion/server\": \"11.11.0\",\n\t\t\"@emotion/styled\": \"11.11.0\",\n\t\t\"html-tag-names\": \"^1.1.2\",\n\t\treact: \"16.14.0\",\n\t\t\"svg-tag-names\": \"^1.1.1\",\n\t\ttypescript: \"^4.5.5\"\n\t},\n\trepository: \"https://github.com/emotion-js/emotion/tree/main/packages/react\",\n\tpublishConfig: {\n\t\taccess: \"public\"\n\t},\n\t\"umd:main\": \"dist/emotion-react.umd.min.js\",\n\tpreconstruct: {\n\t\tentrypoints: [\n\t\t\t\"./index.js\",\n\t\t\t\"./jsx-runtime.js\",\n\t\t\t\"./jsx-dev-runtime.js\",\n\t\t\t\"./_isolated-hnrs.js\"\n\t\t],\n\t\tumdName: \"emotionReact\",\n\t\texports: {\n\t\t\tenvConditions: [\n\t\t\t\t\"browser\",\n\t\t\t\t\"worker\"\n\t\t\t],\n\t\t\textra: {\n\t\t\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\t\t\"./macro\": {\n\t\t\t\t\ttypes: {\n\t\t\t\t\t\t\"import\": \"./macro.d.mts\",\n\t\t\t\t\t\t\"default\": \"./macro.d.ts\"\n\t\t\t\t\t},\n\t\t\t\t\t\"default\": \"./macro.js\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nvar jsx = function jsx(type, props) {\n var args = arguments;\n\n if (props == null || !hasOwn.call(props, 'css')) {\n // $FlowFixMe\n return React.createElement.apply(undefined, args);\n }\n\n var argsLength = args.length;\n var createElementArgArray = new Array(argsLength);\n createElementArgArray[0] = Emotion;\n createElementArgArray[1] = createEmotionProps(type, props);\n\n for (var i = 2; i < argsLength; i++) {\n createElementArgArray[i] = args[i];\n } // $FlowFixMe\n\n\n return React.createElement.apply(null, createElementArgArray);\n};\n\nvar warnedAboutCssPropForGlobal = false; // maintain place over rerenders.\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global = /* #__PURE__ */withEmotionCache(function (props, cache) {\n if (process.env.NODE_ENV !== 'production' && !warnedAboutCssPropForGlobal && ( // check for className as well since the user is\n // probably using the custom createElement which\n // means it will be turned into a className prop\n // $FlowFixMe I don't really want to add it to the type since it shouldn't be used\n props.className || props.css)) {\n console.error(\"It looks like you're using the css prop on Global, did you mean to use the styles prop instead?\");\n warnedAboutCssPropForGlobal = true;\n }\n\n var styles = props.styles;\n var serialized = serializeStyles([styles], undefined, React.useContext(ThemeContext));\n\n if (!isBrowser$1) {\n var _ref;\n\n var serializedNames = serialized.name;\n var serializedStyles = serialized.styles;\n var next = serialized.next;\n\n while (next !== undefined) {\n serializedNames += ' ' + next.name;\n serializedStyles += next.styles;\n next = next.next;\n }\n\n var shouldCache = cache.compat === true;\n var rules = cache.insert(\"\", {\n name: serializedNames,\n styles: serializedStyles\n }, cache.sheet, shouldCache);\n\n if (shouldCache) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(\"style\", (_ref = {}, _ref[\"data-emotion\"] = cache.key + \"-global \" + serializedNames, _ref.dangerouslySetInnerHTML = {\n __html: rules\n }, _ref.nonce = cache.sheet.nonce, _ref));\n } // yes, i know these hooks are used conditionally\n // but it is based on a constant that will never change at runtime\n // it's effectively like having two implementations and switching them out\n // so it's not actually breaking anything\n\n\n var sheetRef = React.useRef();\n useInsertionEffectWithLayoutFallback(function () {\n var key = cache.key + \"-global\"; // use case of https://github.com/emotion-js/emotion/issues/2675\n\n var sheet = new cache.sheet.constructor({\n key: key,\n nonce: cache.sheet.nonce,\n container: cache.sheet.container,\n speedy: cache.sheet.isSpeedy\n });\n var rehydrating = false; // $FlowFixMe\n\n var node = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n if (cache.sheet.tags.length) {\n sheet.before = cache.sheet.tags[0];\n }\n\n if (node !== null) {\n rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other s\n\n node.setAttribute('data-emotion', key);\n sheet.hydrate([node]);\n }\n\n sheetRef.current = [sheet, rehydrating];\n return function () {\n sheet.flush();\n };\n }, [cache]);\n useInsertionEffectWithLayoutFallback(function () {\n var sheetRefCurrent = sheetRef.current;\n var sheet = sheetRefCurrent[0],\n rehydrating = sheetRefCurrent[1];\n\n if (rehydrating) {\n sheetRefCurrent[1] = false;\n return;\n }\n\n if (serialized.next !== undefined) {\n // insert keyframes\n insertStyles(cache, serialized.next, true);\n }\n\n if (sheet.tags.length) {\n // if this doesn't exist then it will be null so the style element will be appended\n var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n sheet.before = element;\n sheet.flush();\n }\n\n cache.insert(\"\", serialized, sheet, false);\n }, [cache, serialized.name]);\n return null;\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Global.displayName = 'EmotionGlobal';\n}\n\nfunction css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return serializeStyles(args);\n}\n\nvar keyframes = function keyframes() {\n var insertable = css.apply(void 0, arguments);\n var name = \"animation-\" + insertable.name; // $FlowFixMe\n\n return {\n name: name,\n styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n anim: 1,\n toString: function toString() {\n return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n }\n };\n};\n\nvar classnames = function classnames(args) {\n var len = args.length;\n var i = 0;\n var cls = '';\n\n for (; i < len; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n if (process.env.NODE_ENV !== 'production' && arg.styles !== undefined && arg.name !== undefined) {\n console.error('You have passed styles created with `css` from `@emotion/react` package to the `cx`.\\n' + '`cx` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the `css` received from component.');\n }\n\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serializedArr = _ref.serializedArr;\n useInsertionEffectAlwaysWithSyncFallback(function () {\n\n for (var i = 0; i < serializedArr.length; i++) {\n insertStyles(cache, serializedArr[i], false);\n }\n });\n\n return null;\n};\n\nvar ClassNames = /* #__PURE__ */withEmotionCache(function (props, cache) {\n var hasRendered = false;\n var serializedArr = [];\n\n var css = function css() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('css can only be used during render');\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n serializedArr.push(serialized); // registration has to happen here as the result of this might get consumed by `cx`\n\n registerStyles(cache, serialized, false);\n return cache.key + \"-\" + serialized.name;\n };\n\n var cx = function cx() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('cx can only be used during render');\n }\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return merge(cache.registered, css, classnames(args));\n };\n\n var content = {\n css: css,\n cx: cx,\n theme: React.useContext(ThemeContext)\n };\n var ele = props.children(content);\n hasRendered = true;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serializedArr: serializedArr\n }), ele);\n});\n\nif (process.env.NODE_ENV !== 'production') {\n ClassNames.displayName = 'EmotionClassNames';\n}\n\nif (process.env.NODE_ENV !== 'production') {\n var isBrowser = \"object\" !== 'undefined'; // #1727, #2905 for some reason Jest and Vitest evaluate modules twice if some consuming module gets mocked\n\n var isTestEnv = typeof jest !== 'undefined' || typeof vi !== 'undefined';\n\n if (isBrowser && !isTestEnv) {\n // globalThis has wide browser support - https://caniuse.com/?search=globalThis, Node.js 12 and later\n var globalContext = // $FlowIgnore\n typeof globalThis !== 'undefined' ? globalThis // eslint-disable-line no-undef\n : isBrowser ? window : global;\n var globalKey = \"__EMOTION_REACT_\" + pkg.version.split('.')[0] + \"__\";\n\n if (globalContext[globalKey]) {\n console.warn('You are loading @emotion/react when it is already loaded. Running ' + 'multiple instances may cause problems. This can happen if multiple ' + 'versions are used, or if multiple builds of the same version are ' + 'used.');\n }\n\n globalContext[globalKey] = true;\n }\n}\n\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };\n","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nfunction _objectWithoutProperties(e, t) {\n if (null == e) return {};\n var o,\n r,\n i = objectWithoutPropertiesLoose(e, t);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r = 0; r < n.length; r++) o = n[r], t.indexOf(o) >= 0 || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n}\nexport { _objectWithoutProperties as default };","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nfunction _toConsumableArray(r) {\n return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();\n}\nexport { _toConsumableArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return arrayLikeToArray(r);\n}\nexport { _arrayWithoutHoles as default };","function _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nexport { _iterableToArray as default };","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableSpread as default };","var safeIsNaN = Number.isNaN ||\n function ponyfill(value) {\n return typeof value === 'number' && value !== value;\n };\nfunction isEqual(first, second) {\n if (first === second) {\n return true;\n }\n if (safeIsNaN(first) && safeIsNaN(second)) {\n return true;\n }\n return false;\n}\nfunction areInputsEqual(newInputs, lastInputs) {\n if (newInputs.length !== lastInputs.length) {\n return false;\n }\n for (var i = 0; i < newInputs.length; i++) {\n if (!isEqual(newInputs[i], lastInputs[i])) {\n return false;\n }\n }\n return true;\n}\n\nfunction memoizeOne(resultFn, isEqual) {\n if (isEqual === void 0) { isEqual = areInputsEqual; }\n var lastThis;\n var lastArgs = [];\n var lastResult;\n var calledOnce = false;\n function memoized() {\n var newArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n newArgs[_i] = arguments[_i];\n }\n if (calledOnce && lastThis === this && isEqual(newArgs, lastArgs)) {\n return lastResult;\n }\n lastResult = resultFn.apply(this, newArgs);\n calledOnce = true;\n lastThis = this;\n lastArgs = newArgs;\n return lastResult;\n }\n return memoized;\n}\n\nexport default memoizeOne;\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport { _ as _createSuper } from './index-4bd03571.esm.js';\nimport React, { Component } from 'react';\n\nvar defaultProps = {\n defaultInputValue: '',\n defaultMenuIsOpen: false,\n defaultValue: null\n};\n\nvar manageState = function manageState(SelectComponent) {\n var _class, _temp;\n\n return _temp = _class = /*#__PURE__*/function (_Component) {\n _inherits(StateManager, _Component);\n\n var _super = _createSuper(StateManager);\n\n function StateManager() {\n var _this;\n\n _classCallCheck(this, StateManager);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n _this.select = void 0;\n _this.state = {\n inputValue: _this.props.inputValue !== undefined ? _this.props.inputValue : _this.props.defaultInputValue,\n menuIsOpen: _this.props.menuIsOpen !== undefined ? _this.props.menuIsOpen : _this.props.defaultMenuIsOpen,\n value: _this.props.value !== undefined ? _this.props.value : _this.props.defaultValue\n };\n\n _this.onChange = function (value, actionMeta) {\n _this.callProp('onChange', value, actionMeta);\n\n _this.setState({\n value: value\n });\n };\n\n _this.onInputChange = function (value, actionMeta) {\n // TODO: for backwards compatibility, we allow the prop to return a new\n // value, but now inputValue is a controllable prop we probably shouldn't\n var newValue = _this.callProp('onInputChange', value, actionMeta);\n\n _this.setState({\n inputValue: newValue !== undefined ? newValue : value\n });\n };\n\n _this.onMenuOpen = function () {\n _this.callProp('onMenuOpen');\n\n _this.setState({\n menuIsOpen: true\n });\n };\n\n _this.onMenuClose = function () {\n _this.callProp('onMenuClose');\n\n _this.setState({\n menuIsOpen: false\n });\n };\n\n return _this;\n }\n\n _createClass(StateManager, [{\n key: \"focus\",\n value: function focus() {\n this.select.focus();\n }\n }, {\n key: \"blur\",\n value: function blur() {\n this.select.blur();\n } // FIXME: untyped flow code, return any\n\n }, {\n key: \"getProp\",\n value: function getProp(key) {\n return this.props[key] !== undefined ? this.props[key] : this.state[key];\n } // FIXME: untyped flow code, return any\n\n }, {\n key: \"callProp\",\n value: function callProp(name) {\n if (typeof this.props[name] === 'function') {\n var _this$props;\n\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n return (_this$props = this.props)[name].apply(_this$props, args);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props2 = this.props;\n _this$props2.defaultInputValue;\n _this$props2.defaultMenuIsOpen;\n _this$props2.defaultValue;\n var props = _objectWithoutProperties(_this$props2, [\"defaultInputValue\", \"defaultMenuIsOpen\", \"defaultValue\"]);\n\n return /*#__PURE__*/React.createElement(SelectComponent, _extends({}, props, {\n ref: function ref(_ref) {\n _this2.select = _ref;\n },\n inputValue: this.getProp('inputValue'),\n menuIsOpen: this.getProp('menuIsOpen'),\n onChange: this.onChange,\n onInputChange: this.onInputChange,\n onMenuClose: this.onMenuClose,\n onMenuOpen: this.onMenuOpen,\n value: this.getProp('value')\n }));\n }\n }]);\n\n return StateManager;\n }(Component), _class.defaultProps = defaultProps, _temp;\n};\n\nexport { manageState as m };\n","import { S as Select } from './Select-dbb12e54.esm.js';\nexport { c as createFilter, d as defaultTheme, m as mergeStyles } from './Select-dbb12e54.esm.js';\nimport { m as manageState } from './stateManager-845a3300.esm.js';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport { _ as _createSuper } from './index-4bd03571.esm.js';\nexport { c as components } from './index-4bd03571.esm.js';\nimport React, { Component } from 'react';\nimport { CacheProvider } from '@emotion/react';\nimport createCache from '@emotion/cache';\nimport memoizeOne from 'memoize-one';\nimport '@babel/runtime/helpers/extends';\nimport '@babel/runtime/helpers/toConsumableArray';\nimport '@babel/runtime/helpers/objectWithoutProperties';\nimport '@babel/runtime/helpers/taggedTemplateLiteral';\nimport '@babel/runtime/helpers/typeof';\nimport 'react-input-autosize';\nimport '@babel/runtime/helpers/defineProperty';\nimport 'react-dom';\n\nvar NonceProvider = /*#__PURE__*/function (_Component) {\n _inherits(NonceProvider, _Component);\n\n var _super = _createSuper(NonceProvider);\n\n function NonceProvider(props) {\n var _this;\n\n _classCallCheck(this, NonceProvider);\n\n _this = _super.call(this, props);\n\n _this.createEmotionCache = function (nonce, key) {\n return createCache({\n nonce: nonce,\n key: key\n });\n };\n\n _this.createEmotionCache = memoizeOne(_this.createEmotionCache);\n return _this;\n }\n\n _createClass(NonceProvider, [{\n key: \"render\",\n value: function render() {\n var emotionCache = this.createEmotionCache(this.props.nonce, this.props.cacheKey);\n return /*#__PURE__*/React.createElement(CacheProvider, {\n value: emotionCache\n }, this.props.children);\n }\n }]);\n\n return NonceProvider;\n}(Component);\n\nvar index = manageState(Select);\n\nexport default index;\nexport { NonceProvider };\n","import React, { forwardRef } from 'react';\n// import PropTypes from 'prop-types';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faCaretDown } from '@fortawesome/pro-solid-svg-icons';\n\n// @ts-expect-error TS(7016): Could not find a declaration file for module 'reac... Remove this comment to see the full error message\nimport ReactSelect, { createFilter, components } from 'react-select';\n\ntype Props = {\n options?: any[]; // TODO: PropTypes.shape(optionsShape)\n placeholder?: string;\n disabled?: boolean;\n isLoading?: boolean;\n isClearable?: boolean;\n isSearchable?: boolean;\n isRtl?: boolean;\n isMulti?: boolean;\n styles?: any;\n size?: string;\n filterOption?: any | ((...args: any[]) => any);\n};\n\n// eslint-disable-next-line react/display-name\nconst Select = forwardRef(\n (\n {\n options,\n placeholder,\n disabled,\n isLoading,\n isClearable,\n isSearchable,\n isRtl,\n isMulti,\n filterOption,\n styles,\n size,\n ...inputProps\n },\n ref\n ) => {\n const b300 = '#E6E6E6';\n const purple700 = '#200D53';\n const optionTextPrimary = 'black';\n const optionBackgroundPrimary = 'white';\n const optionBackgroundSecondary = '#d2d6dc';\n const textSmFontSize = '0.875rem';\n const textSmLineHeight = '1.25rem';\n const smallContainerSize = 25;\n\n const DropdownIndicator = (props: any) =>\n components.DropdownIndicator && (\n \n \n \n );\n\n const customStyles = {\n // @ts-expect-error TS(7006): Parameter 'provided' implicitly has an 'any' type.\n control: (provided, state) => ({\n ...provided,\n borderWidth: '1px',\n boxShadow: 'none',\n borderColor: state.isFocused ? purple700 : b300,\n\n // Overwrites default hover styles\n // default border color\n border: '1px solid lightgray',\n\n height: size === 'small' ? smallContainerSize : null,\n minHeight: size === 'small' ? smallContainerSize : null,\n fontSize: size === 'small' ? textSmFontSize : null,\n lineHeight: textSmLineHeight,\n cursor: 'pointer',\n }),\n input: (provided: any) => ({\n ...provided,\n padding: '0px 0px',\n fontSize: textSmFontSize,\n lineHeight: textSmLineHeight,\n\n 'input:focus': {\n boxShadow: 'none',\n },\n }),\n singleValue: (provided: any) => ({\n ...provided,\n padding: '0px 0px',\n }),\n valueContainer: (provided: any) => ({\n ...provided,\n padding: '0px 6px',\n }),\n // @ts-expect-error TS(7006): Parameter 'provided' implicitly has an 'any' type.\n option: (provided, state) => ({\n ...provided,\n color: optionTextPrimary,\n backgroundColor: state.isSelected || state.isFocused ? optionBackgroundSecondary : optionBackgroundPrimary,\n cursor: 'pointer',\n fontSize: size === 'small' ? textSmFontSize : null,\n }),\n dropdownIndicator: (provided: any, state: any) =>\n disabled\n ? { display: 'none' }\n : {\n ...provided,\n color: purple700,\n '&:hover': state.isFocused ? purple700 : b300,\n },\n indicatorSeparator: (provided: any) =>\n disabled ? null : { ...provided, display: size === 'small' ? 'none' : null },\n clearIndicator: (provided: any) => ({\n ...provided,\n paddingTop: 0,\n paddingBottom: 0,\n }),\n menuPortal: (provided: any) => ({\n ...provided,\n zIndex: 9999,\n }),\n ...styles,\n };\n\n const getFilter = () => {\n if (typeof filterOption === 'object') {\n const { ignoreCase = true, ignoreAccents = true, trim = true, matchFromStart = true } = filterOption || {};\n const filterConfig = {\n ignoreCase,\n ignoreAccents,\n trim,\n matchFrom: matchFromStart ? 'start' : 'any',\n };\n\n return createFilter(filterConfig);\n }\n if (typeof filterOption === 'function') {\n return filterOption;\n }\n\n return filterOption;\n };\n\n return (\n ({\n ...theme,\n borderRadius: 4,\n\n spacing: {\n ...theme.spacing,\n controlHeight: 30,\n baseUnit: 2,\n },\n\n colors: {\n ...theme.colors,\n primary: '#200D53', // Selected dropdown options, highlighter border\n neutral80: '#200D53', // Input Text Value #200D53\n neutral30: '#E6E6E6', // Onhover border\n neutral20: '#E6E6E6', // border, x, separator, and arrow\n },\n })}\n />\n );\n }\n);\n\nexport default Select;\n\n// const optionsShape = {\n// label: PropTypes.string.isRequired,\n// value: PropTypes.oneOfType([PropTypes.string, PropTypes.array]).isRequired,\n// };\n\n// const filterOptionShape = {\n// ignoreCase: PropTypes.bool,\n// ignoreAccents: PropTypes.bool,\n// trim: PropTypes.bool,\n// matchFromStart: PropTypes.bool,\n// };\n","import React from 'react';\n// import PropTypes from 'prop-types';\nimport { twCascade } from '@mariusmarais/tailwind-cascade';\nimport { useController } from 'react-hook-form';\nimport Select from './Select';\nimport { getErrorMessage } from './utils';\n\ntype Props = {\n label: string;\n field: string;\n formErrors?: any;\n errorMessage?: string;\n labelClassName?: string;\n purple?: boolean;\n tooltip?: React.ReactNode;\n control: any;\n options?: any[]; // TODO: PropTypes.shape(optionsShape)\n placeholder?: string;\n defaultValue?: any; // TODO: PropTypes.shape(optionsShape)\n disabled?: boolean;\n isLoading?: boolean;\n isClearable?: boolean;\n isSearchable?: boolean;\n isRtl?: boolean;\n isMulti?: boolean;\n rules?: any;\n filterOption?: any | ((...args: any[]) => any);\n};\n\nconst FormSelect = ({\n label,\n field,\n formErrors,\n options,\n purple,\n errorMessage,\n labelClassName = '',\n tooltip,\n control,\n defaultValue,\n placeholder,\n disabled,\n isLoading,\n isClearable,\n isSearchable,\n isRtl,\n isMulti,\n rules,\n filterOption,\n}: Props) => {\n const {\n field: { ref, ...inputProps },\n } = useController({\n name: field,\n control,\n rules,\n defaultValue: defaultValue || '',\n });\n\n const error = errorMessage || getErrorMessage(formErrors, field, label);\n const labelColor = purple ? 'text-gray-200' : 'text-blue-900';\n const borderColorUnfocus = error ? '#c81e1e' : '#E6E6E6';\n const borderColorFocus = '#200D53'; // purple-700\n\n const customStyles = {\n // @ts-expect-error TS(7006): Parameter 'provided' implicitly has an 'any' type.\n control: (provided, state) => ({\n ...provided,\n borderWidth: '1px',\n boxShadow: 'none',\n borderColor: state.isFocused ? borderColorFocus : borderColorUnfocus,\n\n // Overwrites default hover styles\n '&:hover': state.isFocused ? borderColorFocus : borderColorUnfocus,\n }),\n };\n\n return (\n
\n
\n \n {label}\n {rules?.required && *}\n \n {tooltip &&
{tooltip}
}\n
\n \n
{error}
\n
\n );\n};\n\nexport default FormSelect;\n\n// const optionsShape = {\n// label: PropTypes.string.isRequired,\n// value: PropTypes.string.isRequired,\n// };\n\n// const filterOptionShape = {\n// ignoreCase: PropTypes.bool,\n// ignoreAccents: PropTypes.bool,\n// trim: PropTypes.bool,\n// matchFromStart: PropTypes.bool,\n// };\n","import React from 'react';\nimport { twCascade } from '@mariusmarais/tailwind-cascade';\nimport { useController } from 'react-hook-form';\n\nimport { getErrorMessage } from './utils';\nimport DatePicker from './DatePicker';\n\ntype Props = {\n label?: string;\n showTimeSelect?: boolean;\n field: string;\n formErrors?: any;\n errorMessage?: string;\n onSubmit?: (...args: any[]) => any;\n containerClassName?: string;\n inputClassName?: string;\n labelClassName?: string;\n disabled?: boolean;\n readOnly?: boolean;\n autoFocus?: boolean;\n purple?: boolean;\n tooltip?: React.ReactNode;\n defaultValue?: string;\n control: any;\n rules?: any;\n minDate?: number;\n};\n\nconst FormDatePicker = ({\n label,\n field,\n formErrors,\n errorMessage,\n onSubmit,\n tooltip,\n containerClassName = '',\n inputClassName = '',\n labelClassName = '',\n disabled,\n readOnly,\n autoFocus,\n purple,\n control,\n defaultValue,\n rules,\n minDate,\n showTimeSelect,\n}: Props) => {\n const {\n field: { ref, onChange, value },\n } = useController({\n name: field,\n control,\n rules,\n defaultValue: defaultValue || null,\n });\n const error = errorMessage || getErrorMessage(formErrors, field, label);\n\n const labelColor = purple ? 'text-gray-200' : 'text-blue-900';\n\n const onKeyDown = (e: any) => {\n if (e.key === 'Enter' && onSubmit && !disabled) {\n onSubmit();\n }\n };\n\n return (\n
\n
\n \n {label}\n {rules?.required && *}\n \n {tooltip &&
{tooltip}
}\n
\n (ref.current = e)}\n disabled={disabled}\n readOnly={readOnly}\n error={error}\n onChange={onChange}\n minDate={minDate}\n onKeyDown={onKeyDown}\n showTimeSelect={showTimeSelect}\n inputClassName={inputClassName}\n style={{\n '--ring-color': purple ? 'white' : 'transparent', // Not supported in this version of tailwind\n }}\n // eslint-disable-next-line\n autoFocus={autoFocus}\n />\n
{error}
\n
\n );\n};\n\nFormDatePicker.displayName = 'FormDatePicker';\n\nexport default FormDatePicker;\n","import React from 'react';\nimport { useController } from 'react-hook-form';\nimport { twCascade } from '@mariusmarais/tailwind-cascade';\n\ntype Props = {\n label?: string;\n text?: string;\n purple?: boolean;\n disabled?: boolean;\n field: string;\n onClick?: (...args: any[]) => any;\n defaultValue?: string;\n control: any;\n rules?: any;\n};\n\nconst Checkbox = ({ label, text, purple, disabled = false, field, onClick, control, rules, defaultValue }: Props) => {\n const {\n field: { ref, onChange, value },\n } = useController({\n name: field,\n control,\n rules,\n defaultValue: defaultValue || false,\n });\n const labelColor = purple ? 'text-gray-200' : 'text-blue-900';\n const textColor = purple ? 'text-gray-200' : 'text-purple-700';\n\n return (\n
\n
\n \n
\n \n
\n );\n};\n\nCheckbox.displayName = 'Checkbox';\n\nexport default Checkbox;\n","import React, { forwardRef } from 'react';\n\nimport { twCascade } from '@mariusmarais/tailwind-cascade';\n// @ts-expect-error TS(7016): Could not find a declaration file for module 'reac... Remove this comment to see the full error message\nimport ReactDatePicker from 'react-datepicker';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faClock } from '@fortawesome/pro-light-svg-icons';\n// @ts-expect-error TS(7016): Could not find a declaration file for module 'luxo... Remove this comment to see the full error message\nimport { DateTime } from 'luxon';\n\ntype TimePickerInputProps = {\n onClick?: (...args: any[]) => any;\n date?: any; // TODO: PropTypes.instanceOf(Date)\n disabled?: boolean;\n inputClassName?: string;\n error?: string;\n};\n\nconst TimePickerInput = forwardRef(\n ({ onClick, date, inputClassName, disabled, error }, ref) => {\n const displayTime = () => {\n if (date) {\n return DateTime.fromJSDate(date).toFormat('t');\n }\n\n return date;\n };\n\n return (\n \n
{displayTime()}
\n
\n \n
\n \n );\n }\n);\n\nTimePickerInput.displayName = 'DatePickerInput';\n\ntype TimePickerProps = {\n date?: any; // TODO: PropTypes.instanceOf(Date)\n onChange?: (...args: any[]) => any;\n disabled?: boolean;\n inputClassName?: string;\n error?: string;\n};\n\nconst TimePicker = forwardRef(({ disabled, date, onChange, error, inputClassName }, ref) => (\n \n }\n />\n));\n\nTimePicker.displayName = 'DatePicker';\n\nexport default TimePicker;\n","import React from 'react';\nimport { useController } from 'react-hook-form';\n\nimport { twCascade } from '@mariusmarais/tailwind-cascade';\n\nimport { getErrorMessage } from './utils';\nimport TimePicker from './TimePicker';\n\ntype Props = {\n label?: string;\n field: string;\n formErrors?: any;\n errorMessage?: string;\n onSubmit?: (...args: any[]) => any;\n containerClassName?: string;\n inputClassName?: string;\n labelClassName?: string;\n disabled?: boolean;\n readOnly?: boolean;\n autoFocus?: boolean;\n purple?: boolean;\n tooltip?: React.ReactNode;\n defaultValue?: string;\n control: any;\n rules?: any;\n};\n\nconst FormTimePicker = ({\n label,\n field,\n formErrors,\n errorMessage,\n onSubmit,\n tooltip,\n containerClassName = '',\n inputClassName = '',\n labelClassName = '',\n disabled,\n readOnly,\n autoFocus,\n purple,\n control,\n defaultValue,\n rules,\n}: Props) => {\n const {\n field: { ref, onChange, value },\n } = useController({\n name: field,\n control,\n rules,\n defaultValue: defaultValue || null,\n });\n const error = errorMessage || getErrorMessage(formErrors, field, label);\n const labelColor = purple ? 'text-gray-200' : 'text-blue-900';\n\n const onKeyDown = (e: any) => {\n if (e.key === 'Enter' && onSubmit && !disabled) {\n onSubmit();\n }\n };\n\n return (\n
\n
\n \n {label}\n {rules?.required && *}\n \n {tooltip &&
{tooltip}
}\n
\n (ref.current = e)}\n disabled={disabled}\n readOnly={readOnly}\n error={error}\n onChange={onChange}\n onKeyDown={onKeyDown}\n inputClassName={inputClassName}\n style={{\n '--ring-color': purple ? 'white' : 'transparent', // Not supported in this version of tailwind\n }}\n // eslint-disable-next-line\n autoFocus={autoFocus}\n />\n
{error}
\n
\n );\n};\n\nFormTimePicker.displayName = 'FormDatePicker';\n\nexport default FormTimePicker;\n","import React from 'react';\nimport { useController } from 'react-hook-form';\nimport { twCascade } from '@mariusmarais/tailwind-cascade';\n\nimport { getErrorMessage } from './utils';\n\ntype Props = {\n field: string;\n nameValues: {\n text: string;\n value: string;\n }[];\n control: any;\n rules?: any;\n defaultValue?: string;\n purple?: boolean;\n title?: string;\n errors?: any;\n classNamesText?: string;\n classNamesRadioContainer?: string;\n disabled?: boolean;\n};\n\nconst RadioGroup = ({\n field,\n nameValues,\n control,\n rules,\n defaultValue,\n purple,\n title,\n errors,\n classNamesText,\n classNamesRadioContainer,\n disabled,\n}: Props) => {\n const labelColor = purple ? 'text-gray-200' : 'text-blue-900';\n const textColor = purple ? 'text-gray-200' : 'text-purple-700';\n\n const {\n field: { ref, onChange, value },\n // @ts-expect-error TS(2345): Argument of type '{ name: string; control: any; ru... Remove this comment to see the full error message\n } = useController({ name: field, control, rules, value: defaultValue });\n\n return (\n
\n
\n {title}\n {rules?.required && *}\n
\n
\n {nameValues.map(option => (\n \n onChange(e.target.value)}\n checked={option.value === value}\n disabled={disabled}\n />\n {option.text}\n \n ))}\n
\n \n {getErrorMessage(errors, field, 'This field')}\n
\n \n );\n};\n\nRadioGroup.displayName = 'RadioGroup';\n\nexport default RadioGroup;\n","export default function getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}","import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };","export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;","export default function getUAString() {\n var uaData = navigator.userAgentData;\n\n if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {\n return uaData.brands.map(function (item) {\n return item.brand + \"/\" + item.version;\n }).join(' ');\n }\n\n return navigator.userAgent;\n}","import getUAString from \"../utils/userAgent.js\";\nexport default function isLayoutViewport() {\n return !/^((?!chrome|android).)*safari/i.test(getUAString());\n}","import { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport { round } from \"../utils/math.js\";\nimport getWindow from \"./getWindow.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getBoundingClientRect(element, includeScale, isFixedStrategy) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n\n var clientRect = element.getBoundingClientRect();\n var scaleX = 1;\n var scaleY = 1;\n\n if (includeScale && isHTMLElement(element)) {\n scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n }\n\n var _ref = isElement(element) ? getWindow(element) : window,\n visualViewport = _ref.visualViewport;\n\n var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;\n var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;\n var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;\n var width = clientRect.width / scaleX;\n var height = clientRect.height / scaleY;\n return {\n width: width,\n height: height,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x,\n x: x,\n y: y\n };\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}","export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport { round } from \"../utils/math.js\";\n\nfunction isElementScaled(element) {\n var rect = element.getBoundingClientRect();\n var scaleX = round(rect.width) / element.offsetWidth || 1;\n var scaleY = round(rect.height) / element.offsetHeight || 1;\n return scaleX !== 1 || scaleY !== 1;\n} // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent, true);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}","export default function getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\"; // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nexport default function getLayoutRect(element) {\n var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: width,\n height: height\n };\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport { isShadowRoot } from \"./instanceOf.js\";\nexport default function getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n var _element$ownerDocumen;\n\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement, isShadowRoot } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getUAString from \"../utils/userAgent.js\";\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = /firefox/i.test(getUAString());\n var isIE = /Trident/i.test(getUAString());\n\n if (isIE && isHTMLElement(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = getComputedStyle(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = getParentNode(element);\n\n if (isShadowRoot(currentNode)) {\n currentNode = currentNode.host;\n }\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nexport default function orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}","export default function debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nexport function popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(setOptionsAction) {\n var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n });\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref) {\n var name = _ref.name,\n _ref$options = _ref.options,\n options = _ref$options === void 0 ? {} : _ref$options,\n effect = _ref.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","export default function mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n return placement.split('-')[0];\n}","export default function getVariation(placement) {\n return placement.split('-')[1];\n}","export default function getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n\n default:\n }\n }\n\n return offsets;\n}","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};","import { top, left, right, bottom, end } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport { round } from \"../utils/math.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref, win) {\n var x = _ref.x,\n y = _ref.y;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: round(x * dpr) / dpr || 0,\n y: round(y * dpr) / dpr || 0\n };\n}\n\nexport function mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n variation = _ref2.variation,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive,\n roundOffsets = _ref2.roundOffsets,\n isFixed = _ref2.isFixed;\n var _offsets$x = offsets.x,\n x = _offsets$x === void 0 ? 0 : _offsets$x,\n _offsets$y = offsets.y,\n y = _offsets$y === void 0 ? 0 : _offsets$y;\n\n var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({\n x: x,\n y: y\n }) : {\n x: x,\n y: y\n };\n\n x = _ref3.x;\n y = _ref3.y;\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n var heightProp = 'clientHeight';\n var widthProp = 'clientWidth';\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n\n if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {\n heightProp = 'scrollHeight';\n widthProp = 'scrollWidth';\n }\n } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n offsetParent = offsetParent;\n\n if (placement === top || (placement === left || placement === right) && variation === end) {\n sideY = bottom;\n var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]\n offsetParent[heightProp];\n y -= offsetY - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left || (placement === top || placement === bottom) && variation === end) {\n sideX = right;\n var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]\n offsetParent[widthProp];\n x -= offsetX - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n var _ref4 = roundOffsets === true ? roundOffsetsByDPR({\n x: x,\n y: y\n }, getWindow(popper)) : {\n x: x,\n y: y\n };\n\n x = _ref4.x;\n y = _ref4.y;\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref5) {\n var state = _ref5.state,\n options = _ref5.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n _options$roundOffsets = options.roundOffsets,\n roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n variation: getVariation(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration,\n isFixed: state.options.strategy === 'fixed'\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive,\n roundOffsets: roundOffsets\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n roundOffsets: roundOffsets\n })));\n }\n\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n};","import getNodeName from \"../dom-utils/getNodeName.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function (name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name]; // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe[cannot-write]\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (name) {\n var value = attributes[name];\n\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0'\n },\n arrow: {\n position: 'absolute'\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n state.styles = initialStyles;\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return function () {\n Object.keys(state.elements).forEach(function (name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n var style = styleProperties.reduce(function (style, property) {\n style[property] = '';\n return style;\n }, {}); // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect: effect,\n requires: ['computeStyles']\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};","var hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}","var hash = {\n start: 'end',\n end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}","import { isShadowRoot } from \"./instanceOf.js\";\nexport default function contains(parent, child) {\n var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}","export default function rectToClientRect(rect) {\n return Object.assign({}, rect, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\nimport { max, min } from \"../utils/math.js\";\n\nfunction getInnerBoundingClientRect(element, strategy) {\n var rect = getBoundingClientRect(element, false, strategy === 'fixed');\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent, strategy) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary, strategy) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent, strategy));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getViewportRect(element, strategy) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0;\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n var layoutViewport = isLayoutViewport();\n\n if (layoutViewport || !layoutViewport && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nimport { max } from \"../utils/math.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `` and `` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n var _element$ownerDocumen;\n\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n return Object.assign({}, getFreshSideObject(), paddingObject);\n}","export default function getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}","export default function expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}","import getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$strategy = _options.strategy,\n strategy = _options$strategy === void 0 ? state.strategy : _options$strategy,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);\n var referenceClientRect = getBoundingClientRect(state.elements.reference);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\nexport default function computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements;\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}","import { max as mathMax, min as mathMin } from \"./math.js\";\nexport function within(min, value, max) {\n return mathMax(min, mathMin(value, max));\n}\nexport function withinMaxClamp(min, value, max) {\n var v = within(min, value, max);\n return v > max ? max : v;\n}","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport { within, withinMaxClamp } from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\nimport { min as mathMin, max as mathMax } from \"../utils/math.js\";\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {\n mainAxis: tetherOffsetValue,\n altAxis: tetherOffsetValue\n } : Object.assign({\n mainAxis: 0,\n altAxis: 0\n }, tetherOffsetValue);\n var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis) {\n var _offsetModifierState$;\n\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = offset + overflow[mainSide];\n var max = offset - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;\n var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = offset + maxOffset - offsetModifierValue;\n var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _offsetModifierState$2;\n\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _len = altAxis === 'y' ? 'height' : 'width';\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var isOriginSide = [top, left].indexOf(basePlacement) !== -1;\n\n var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;\n\n var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;\n\n var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;\n\n var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};","export default function getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport { within } from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = toPaddingObject(options.padding, state);\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nimport offset from \"./modifiers/offset.js\";\nimport flip from \"./modifiers/flip.js\";\nimport preventOverflow from \"./modifiers/preventOverflow.js\";\nimport arrow from \"./modifiers/arrow.js\";\nimport hide from \"./modifiers/hide.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow }; // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper as createPopperLite } from \"./popper-lite.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport * from \"./modifiers/index.js\";","export const ROUND_ARROW =\n '';\n\nexport const BOX_CLASS = `__NAMESPACE_PREFIX__-box`;\nexport const CONTENT_CLASS = `__NAMESPACE_PREFIX__-content`;\nexport const BACKDROP_CLASS = `__NAMESPACE_PREFIX__-backdrop`;\nexport const ARROW_CLASS = `__NAMESPACE_PREFIX__-arrow`;\nexport const SVG_ARROW_CLASS = `__NAMESPACE_PREFIX__-svg-arrow`;\n\nexport const TOUCH_OPTIONS = {passive: true, capture: true};\n\nexport const TIPPY_DEFAULT_APPEND_TO = () => document.body;\n","import {BasePlacement, Placement} from './types';\n\nexport function hasOwnProperty(\n obj: Record,\n key: string\n): boolean {\n return {}.hasOwnProperty.call(obj, key);\n}\n\nexport function getValueAtIndexOrReturn(\n value: T | [T | null, T | null],\n index: number,\n defaultValue: T | [T, T]\n): T {\n if (Array.isArray(value)) {\n const v = value[index];\n return v == null\n ? Array.isArray(defaultValue)\n ? defaultValue[index]\n : defaultValue\n : v;\n }\n\n return value;\n}\n\nexport function isType(value: any, type: string): boolean {\n const str = {}.toString.call(value);\n return str.indexOf('[object') === 0 && str.indexOf(`${type}]`) > -1;\n}\n\nexport function invokeWithArgsOrReturn(value: any, args: any[]): any {\n return typeof value === 'function' ? value(...args) : value;\n}\n\nexport function debounce(\n fn: (arg: T) => void,\n ms: number\n): (arg: T) => void {\n // Avoid wrapping in `setTimeout` if ms is 0 anyway\n if (ms === 0) {\n return fn;\n }\n\n let timeout: any;\n\n return (arg): void => {\n clearTimeout(timeout);\n timeout = setTimeout(() => {\n fn(arg);\n }, ms);\n };\n}\n\nexport function removeProperties(obj: T, keys: string[]): Partial {\n const clone = {...obj};\n keys.forEach((key) => {\n delete (clone as any)[key];\n });\n return clone;\n}\n\nexport function splitBySpaces(value: string): string[] {\n return value.split(/\\s+/).filter(Boolean);\n}\n\nexport function normalizeToArray(value: T | T[]): T[] {\n return ([] as T[]).concat(value);\n}\n\nexport function pushIfUnique(arr: T[], value: T): void {\n if (arr.indexOf(value) === -1) {\n arr.push(value);\n }\n}\n\nexport function appendPxIfNumber(value: string | number): string {\n return typeof value === 'number' ? `${value}px` : value;\n}\n\nexport function unique(arr: T[]): T[] {\n return arr.filter((item, index) => arr.indexOf(item) === index);\n}\n\nexport function getNumber(value: string | number): number {\n return typeof value === 'number' ? value : parseFloat(value);\n}\n\nexport function getBasePlacement(placement: Placement): BasePlacement {\n return placement.split('-')[0] as BasePlacement;\n}\n\nexport function arrayFrom(value: ArrayLike): any[] {\n return [].slice.call(value);\n}\n\nexport function removeUndefinedProps(\n obj: Record\n): Partial> {\n return Object.keys(obj).reduce((acc, key) => {\n if (obj[key] !== undefined) {\n (acc as any)[key] = obj[key];\n }\n\n return acc;\n }, {});\n}\n","import {ReferenceElement, Targets} from './types';\nimport {PopperTreeData} from './types-internal';\nimport {arrayFrom, isType, normalizeToArray, getBasePlacement} from './utils';\n\nexport function div(): HTMLDivElement {\n return document.createElement('div');\n}\n\nexport function isElement(value: unknown): value is Element | DocumentFragment {\n return ['Element', 'Fragment'].some((type) => isType(value, type));\n}\n\nexport function isNodeList(value: unknown): value is NodeList {\n return isType(value, 'NodeList');\n}\n\nexport function isMouseEvent(value: unknown): value is MouseEvent {\n return isType(value, 'MouseEvent');\n}\n\nexport function isReferenceElement(value: any): value is ReferenceElement {\n return !!(value && value._tippy && value._tippy.reference === value);\n}\n\nexport function getArrayOfElements(value: Targets): Element[] {\n if (isElement(value)) {\n return [value];\n }\n\n if (isNodeList(value)) {\n return arrayFrom(value);\n }\n\n if (Array.isArray(value)) {\n return value;\n }\n\n return arrayFrom(document.querySelectorAll(value));\n}\n\nexport function setTransitionDuration(\n els: (HTMLDivElement | null)[],\n value: number\n): void {\n els.forEach((el) => {\n if (el) {\n el.style.transitionDuration = `${value}ms`;\n }\n });\n}\n\nexport function setVisibilityState(\n els: (HTMLDivElement | null)[],\n state: 'visible' | 'hidden'\n): void {\n els.forEach((el) => {\n if (el) {\n el.setAttribute('data-state', state);\n }\n });\n}\n\nexport function getOwnerDocument(\n elementOrElements: Element | Element[]\n): Document {\n const [element] = normalizeToArray(elementOrElements);\n\n // Elements created via a